我有一个这样的YAML头:
---
output:
pdf_document:
latex_engine: xelatex
includes:
in_header: "preamble.tex"
before_body: "title.tex"
keep_tex: yes
documentclass: report
classoption:
- landscape
---
我通过调用rmarkdown::render()
来编写文档。
我想这样调用render()
:
rmarkdown::render("MyDocument.Rmd", params = list(
person1 = "John Doe, JD",
person2 = "Charlie P. Adams, CPA"
))
它们被传递到Rmd中,然后被进一步下推到title.tex(包含在YAML头文件中),在那里会发生类似这样的情况:
\vspace{15pt}\hspace{15pt}\large [$person1$] \par
\vspace{15pt}\hspace{15pt}\large [$person2$] \par
如何将字符串传递给title.tex,以及如何在title.tex中解析它?
1条答案
按热度按时间mf98qq941#
我想这是不可能的,我问目前的方式。所以我会回答我想出的变通办法:一种方法是将一些字符串存储在title_template.tex中-而不是$person1$ i作为一种更安全的模式使用
person1
。然后我从R中像这样(根据这个要点改编):由于我需要在一个闪亮的应用程序中的事件上执行此操作,因此我将该代码放在observeEvent()中,替换字符串来自ui中的textInput,并且新文件的gsub/write out将在调用rmarkdown::render(fout)之前发生。每次都将确保覆盖该文件。