考虑一个变量R
,比如
YEAR <- 2000
我有各种文件,它们的名称取决于今年,比如说YEAR 1.pdf
。YEAR 2.pdf
有没有办法让我将这个变量传递到.rnw
包含\includepdf
LaTeX 中如下函数的文件中并编译 .pdf?例如,
\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf{YEAR + " 1.pdf"}
\includepdf{YEAR + " 2.pdf"}
\end{document}
其中YEAR
是从 中提取的变量R
,+
表示字符串的连接。
答案1
这正是它\Sexpr{...}
的目的。只需记住,在 TeX 中,您不需要特殊的操作来进行连接。
作为示例,我创建了两个文件,fig1.pdf
和fig2.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.pdf
etc 而不是YEAR 1.pdf
, YEAR 2.pdf
etc。