将变量从 R 传递到 LaTeX

将变量从 R 传递到 LaTeX

考虑一个变量R,比如

YEAR <- 2000

我有各种文件,它们的名称取决于今年,比如说YEAR 1.pdfYEAR 2.pdf

有没有办法让我将这个变量传递到.rnw包含\includepdfLaTeX 中如下函数的文件中并编译 .pdf?例如,

\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf{YEAR + " 1.pdf"}
\includepdf{YEAR + " 2.pdf"}
\end{document}

其中YEAR是从 中提取的变量R+表示字符串的连接。

答案1

这正是它\Sexpr{...}的目的。只需记住,在 TeX 中,您不需要特殊的操作来进行连接。

作为示例,我创建了两个文件,fig1.pdffig2.pdf。这是我的.rnw文件

\documentclass{article}
\pagestyle{empty}
\begin{document}
<<>>=
number <- 1
@ 
\includegraphics{fig\Sexpr{number}.pdf}
<<>>=
number <- 2
@ 
\includegraphics{fig\Sexpr{number}.pdf}
\end{document}

tex编织后 相应片段\Sexpr{number}代入R表达式结果:

\begin{knitrout}
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
\begin{alltt}
\hlstd{number} \hlkwb{<-} \hlnum{1}
\end{alltt}
\end{kframe}
\end{knitrout}
\includegraphics{fig1.pdf}
\begin{knitrout}
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
\begin{alltt}
\hlstd{number} \hlkwb{<-} \hlnum{2}
\end{alltt}
\end{kframe}
\end{knitrout}
\includegraphics{fig2.pdf}

在此处输入图片描述

最后说明:请不是在文件名中使用空格:TeX 很容易混淆。最好使用YEAR_1.pdf, YEAR_2.pdfetc 而不是YEAR 1.pdf, YEAR 2.pdfetc。

相关内容