将YAML参数拉入RMarkdwon文档的LaTeX前导

将YAML参数拉入RMarkdwon文档的LaTeX前导,latex,r-markdown,Latex,R Markdown,我坦率地承认我几乎不知道乳胶,所以这可能是一个非常基本的问题 我的公司使用RMarkdown生成报告。要应用样式,包括标题页,有一个单独的preamble.tex文件来定义它们 但是,preamble.tex文件中的许多值是硬编码的。下面是一个结果示例: 但是,我想做的是将这些“from tex”值作为RMarkdown代码中的参数传入(可能作为YAML值?)。这可能吗?如果是,怎么做 如果有帮助的话,我已经在这里上传了用于运行上述操作的代码(以及它生成的PDF副本):这不是很容易,但您可以通

我坦率地承认我几乎不知道乳胶,所以这可能是一个非常基本的问题

我的公司使用RMarkdown生成报告。要应用样式,包括标题页,有一个单独的
preamble.tex
文件来定义它们

但是,
preamble.tex
文件中的许多值是硬编码的。下面是一个结果示例:

但是,我想做的是将这些“from tex”值作为RMarkdown代码中的参数传入(可能作为YAML值?)。这可能吗?如果是,怎么做


如果有帮助的话,我已经在这里上传了用于运行上述操作的代码(以及它生成的PDF副本):

这不是很容易,但您可以通过修改Pandoc模板来完成

LaTeX输出的默认模板位于
system.file(“rmd/LaTeX”,package=“rmarkdown”)
中。除非您有一个相当旧的Pandoc版本,否则您可能需要名为
default-1.17.0.2.tex的版本。(编号为Pandoc版本。)

如本页所述,您可以修改此模板以包含其他参数

通常,你的

includes:
  in_header: preamble.tex
preamble.tex
文件放在
\begin{document}
之前,因此您可以自己将它的副本放在那里,用
$titlefromtex$
等Pandoc变量替换tex
中的
title>等参数,例如

\fancyhead[L]{\color{clientdark}\small $titlefromtex$ \textbar{ } $periodfromtex$}
将新文件保存在
template.tex
中,然后在YAML中输入具有匹配名称的顶级参数和命名模板的
pdf\u文档
参数,例如

output:
  pdf_document:
    latex_engine: xelatex
    fig_caption: yes
    keep_tex: true
    template: template.tex
  html_document:
    df_print: paged
titlefromtex: The Title
periodfromtex: The Period
versionfromtex: The Version
descriptionfromtex: The Description