R markdown YAML动态变量

时间:2016-06-13 04:32:48

标签: r yaml r-markdown

在RMarkdown中,我似乎能够创造一些' YAML标头中的动态变量,但不适用于其他变量:

例如,这有效:

---
title: 
  "Some Title, `r format(Sys.time(), '%d %B, %Y')`"
...
---

但这不是。

---
...
pdf_document:
    keep_tex: `r 'true'`
---

但这就是DOES(即不是动态的)。

---
...
pdf_document:
    keep_tex: true
---

那么我怎样才能动态地'将keep_tex指定为true或false,我想要做的是这样的:

---
...
pdf_document:
    keep_tex: `r getOption('mypackage.keep_tex')`
---

1 个答案:

答案 0 :(得分:4)

我不知道是否可以在.Rmd文件的YAML标头中以编程方式设置模板选项。

作为替代方法,如果使用rmarkdown::render呈现文档,则可以指定输出模板(pdf_document),然后以编程方式设置模板选项(例如keep_tex)。 / p>

例如,如果您有一个名为“test.Rmd”的.Rmd文件,请执行以下操作:

---
title: 
  "Some Title, `r format(Sys.time(), '%d %B, %Y')`"
---

...以及一些确定是否保留中间TeX文件的逻辑对象,例如

my_keep <- TRUE

...您可以将输入文件呈现为PDF格式并保留TeX文件,如下所示:

render(input = "test.Rmd",
       output_format = pdf_document(keep_tex = my_keep))