从R Markdown生成两个版本的输出

时间:2018-04-24 15:28:25

标签: r r-markdown

我正在使用R Markdown为学生创建练习单。为此,我想同时呈现a)练习单本身和b)直接显示解决方案的练习表。

我目前正在使用一种解决方案,通过执行以下操作,我可以在生成练习表和解决方案表之间切换:

yaml-header包括:

header-includes:
 - \usepackage{comment}
params:
  soln: TRUE

然后我写下这样的解决方案:

`r if(!params$soln) {"\\begin{comment}"}`

Here goes text or code.

`r if(!params$soln) {"\\end{comment}"}`

通过更改soln参数,我可以控制得到的输出。这很好,但我可以想象一种更有效的方法。

有没有人知道如何让R Markdown同时生成两个输出文件,一个用soln: TRUE,另一个用soln: FALSE

1 个答案:

答案 0 :(得分:0)

您可以使用适当的参数调用rmarkdown::render两次:

rmarkdown::render("practice-sheets.Rmd", output_file = "practice.pdf", params = list(soln = TRUE))
rmarkdown::render("practice-sheets.Rmd", output_file = "solution.pdf", params = list(soln = FALSE))