r - 在独立模式下编织子文档
问题描述
根据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.
推荐阅读
- groovy - CodeNarc 和 Groovy:NoSuchMethodError:org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeStaticMethod
- asp.net-mvc - 带有远程验证的 KendoValidation
- wordpress - 禁用所有周末和特定日子并启用母亲节
- javascript - 如何从后端获取数据
- simulation - simcard 消息收发器模拟器
- node.js - 同一台电脑上不同版本的node
- oop - 组合和聚合是否可以共享一部分?
- python - ModuleNotFoundError:没有名为“build_exe”的模块| 我该如何解决?
- javascript - 有没有办法将包含 chart.js 图形的 Html 页面的一部分转换为 pdf?
- php - 如何使用 PHP 提取多维数组树的一部分