我在 R 中有一个 bookdown 项目,想切换到 Quarto。在 bookdown 项目中,我有一个 R 脚本_common.R(它包括库以及各种设置和辅助函数)在渲染每一章(单独的 qmd 文件)之前运行。
如何在 Quarto 中实现这样的脚本文件?
我尝试在 _quarto.yml 中设置:
project:
type: book
pre-render: _common.R
Run Code Online (Sandbox Code Playgroud)
但这只会在整本书渲染之前运行一次脚本,而不是在每一章之前运行一次。每个章节似乎都是在自己的环境中呈现的,因此所有设置和脚本_common.R都不可用。
解决方法是包括
```{r echo = FALSE, message=FALSE, warning=FALSE}
source("_common.R")
```
Run Code Online (Sandbox Code Playgroud)
在每个 .Rmd/.qmd 文件的顶部。有更好的解决方案吗?
任何帮助表示赞赏!
我能否就在 RStudio 四开图书模板中将数据从一个四开文件传递到另一个四开文件的最佳实践寻求建议?
默认的书籍模板如下所示(_quarto.yml)
project:
type: book
book:
title: "TestTest"
author: "Jane Doe"
date: "08/06/2022"
chapters:
- index.qmd
- intro.qmd
- summary.qmd
- references.qmd
bibliography: references.bib
format:
html:
theme: cosmo
pdf:
documentclass: scrreprt
editor: visual
Run Code Online (Sandbox Code Playgroud)
我将代码和文本放入文件中,例如index.qmd 和intro.qmd。我的问题是:这些文件似乎是相互独立的。如果我将数据从数据库读入index.qmd,那么intro.qmd 对此一无所知。那么如何最好地将数据从一个传递到另一个呢?我讨厌在数据库中查询每个 qmd 文件中的同一组数据。
任何帮助将非常感激。菲尔,