在独立模式下编织子文档
Knit child documents in standalone mode
根据 https://yihui.org/knitr/demo/child/ 可以通过在块中使用 set_parent() 来编织子文档。
我试过了:
knitr::set_parent("<PATH TO MAIN FILE>")
但这似乎不起作用。编织子项不会考虑父项的 YAML 部分中的信息。我在这里做错了什么?
这是一个函数,您可以使用它来将任意 Rmd 文件的 YAML frontmatter 输入到另一个 Rmd 文件中:
input_yaml = function(file) {
lines = xfun::read_utf8(file)
meta = rmarkdown:::partition_yaml_front_matter(lines)$front_matter
knitr::asis_output(paste(meta, collapse = '\n'))
}
如果你不喜欢:::
,你也可以使用:
input_yaml = function(file) {
meta = rmarkdown::yaml_front_matter(file)
meta = c('---', yaml::as.yaml(meta), '---')
knitr::asis_output(paste(meta, collapse = '\n'))
}
那么在子文档中,你可以这样做:
```{r, echo=FALSE}
input_yaml('parent.Rmd')
```
This is a child document without YAML.
根据 https://yihui.org/knitr/demo/child/ 可以通过在块中使用 set_parent() 来编织子文档。
我试过了:
knitr::set_parent("<PATH TO MAIN FILE>")
但这似乎不起作用。编织子项不会考虑父项的 YAML 部分中的信息。我在这里做错了什么?
这是一个函数,您可以使用它来将任意 Rmd 文件的 YAML frontmatter 输入到另一个 Rmd 文件中:
input_yaml = function(file) {
lines = xfun::read_utf8(file)
meta = rmarkdown:::partition_yaml_front_matter(lines)$front_matter
knitr::asis_output(paste(meta, collapse = '\n'))
}
如果你不喜欢:::
,你也可以使用:
input_yaml = function(file) {
meta = rmarkdown::yaml_front_matter(file)
meta = c('---', yaml::as.yaml(meta), '---')
knitr::asis_output(paste(meta, collapse = '\n'))
}
那么在子文档中,你可以这样做:
```{r, echo=FALSE}
input_yaml('parent.Rmd')
```
This is a child document without YAML.