R markdown YAML 动态变量
R markdown YAML dynamic variables
在 RMarkdown 中,我似乎可以在 YAML header 中创建 'some' 动态变量,但不能为其他人创建:
例如,这个有效:
---
title:
"Some Title, `r format(Sys.time(), '%d %B, %Y')`"
...
---
但事实并非如此。
---
...
pdf_document:
keep_tex: `r 'true'`
---
但这确实如此(即不是动态的)。
---
...
pdf_document:
keep_tex: true
---
那么我如何 'dynamically' 将 keep_tex
分配给 true 或 false,我想做的是这样的:
---
...
pdf_document:
keep_tex: `r getOption('mypackage.keep_tex')`
---
我不知道是否可以在 .Rmd 文件的 YAML header 中以编程方式设置模板选项。
作为替代方案,如果您使用 rmarkdown::render
呈现文档,您可以指定输出模板 (pdf_document
),然后以编程方式设置模板选项(例如 keep_tex
) .
例如,如果您有一个名为 "test.Rmd" 的 .Rmd 文件,如下所示:
---
title:
"Some Title, `r format(Sys.time(), '%d %B, %Y')`"
---
...和一些逻辑 object 决定是否保留中间 TeX 文件,例如
my_keep <- TRUE
...您可以将输入文件渲染为 PDF 格式并保持 TeX 文件如下所示:
render(input = "test.Rmd",
output_format = pdf_document(keep_tex = my_keep))
在 RMarkdown 中,我似乎可以在 YAML header 中创建 'some' 动态变量,但不能为其他人创建:
例如,这个有效:
---
title:
"Some Title, `r format(Sys.time(), '%d %B, %Y')`"
...
---
但事实并非如此。
---
...
pdf_document:
keep_tex: `r 'true'`
---
但这确实如此(即不是动态的)。
---
...
pdf_document:
keep_tex: true
---
那么我如何 'dynamically' 将 keep_tex
分配给 true 或 false,我想做的是这样的:
---
...
pdf_document:
keep_tex: `r getOption('mypackage.keep_tex')`
---
我不知道是否可以在 .Rmd 文件的 YAML header 中以编程方式设置模板选项。
作为替代方案,如果您使用 rmarkdown::render
呈现文档,您可以指定输出模板 (pdf_document
),然后以编程方式设置模板选项(例如 keep_tex
) .
例如,如果您有一个名为 "test.Rmd" 的 .Rmd 文件,如下所示:
---
title:
"Some Title, `r format(Sys.time(), '%d %B, %Y')`"
---
...和一些逻辑 object 决定是否保留中间 TeX 文件,例如
my_keep <- TRUE
...您可以将输入文件渲染为 PDF 格式并保持 TeX 文件如下所示:
render(input = "test.Rmd",
output_format = pdf_document(keep_tex = my_keep))