我有一个运行良好的 Rmarkdown 模板,并且对其进行了参数化,这样我就可以从不同的数据源生成同一报告的变体。但是,我想更改每种情况下的报告标题。我怎么做?
这是我迄今为止拥有的 YAML 标头:
---
title: "My Title"
author: "Me, Inc."
date: "August 4, 2015"
output: pdf_document
params:
title: default
---
我尝试过使用params=list(title="ASDF")
在通话中rmarkdown::render
,虽然我的代码可以看到该变量,但它不会更改标题。我也尝试过使用r params$title
在 YAML 中,但这会产生语法错误。
还有什么我应该尝试的吗?谢谢!
尝试使用第二个 YAML 元数据块,并将参数化元数据放入其中。
我得到了以下代码,可以按预期工作(即从参数列表中生成文档标题):
---
output: html_document
params:
set_title: "My Title!"
---
---
title: `r params$set_title`
---
The RMarkdown 文档 http://rmarkdown.rstudio.com/authoring_pandoc_markdown.html#yaml-metadata-block请注意,YAML 元数据块是由 Pandoc 组合的。使用第一个块定义参数集,第二个块将参数用作元数据。 Knit 将执行 R 代码来解释第二个块中的参数。然后 Pandoc 将元数据块合并在一起。
更新(2017):
这可以在单个块中完成,如下所示:
---
output: html_document
params:
set_title: "My Title!"
title: "`r params$set_title`"
---
这是有效的,因为标题位于params
定义。我在内联 R 代码周围加了引号,以防止“扫描仪错误”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)