latex - 名称中包含变量的includegraphic

latex - 名称中包含变量的includegraphic

我对 latex 并不专业,而且我正在研究一些已经比较成熟的东西。我有一个批次,使用 latex/sweave 模板生成多个 pdf。我试图插入一个名称中带有变量的图形,但我把它删掉了。我希望有人能帮我清理一下。

我正在尝试的代码...

\newpage
\subsec{graphic page}
\rptpage{ \showtitle{} }
graphicsrc <- sprintf('name\_with\_underscores\_%02d.pdf', objectnum)

\includegraphics[width=\paperwidth]{graphicsrc}
@

objectnum 是一个传递的变量。

如果我使用如下的硬编码运行脚本,那么一切都会正常工作:

\newpage
\subsec{graphic page}
\rptpage{ \showtitle{} }
\includegraphics[width=\paperwidth]{name_with_underscores_01.pdf}
@

问题是,我无法硬编码这些来单独运行它们。我真的希望有人能帮助我调试我遇到的语法问题!!

答案1

这有sweave标签,但你展示的不是一个完整的 LaTeX 文档,并且带有明确分隔的 R 代码,而是一大堆 LaTeX 和 R 命令的大杂烩,包括(可能)R 代码的结尾(@行),但没有任何 R 代码块的开头(<>>>=行),所以很难猜测你到底在做什么,但它似乎不必要地复杂:

姆韦

\documentclass{article}
\usepackage{graphicx}
\begin{document}

<<objectnum,echo=F>>=
# Advanced method to set the variable:
graphicsrc <- 'example-image'
@

% Advanced method to use the variable as   filename of an image
<<echo=F,out.width="2cm",fig.cap="Example figure taking the variable name in R",fig.align='center'>>=
include_graphics(graphicsrc)
@

% Less advanced method 
\begin{figure}[h]\centering
\includegraphics[width=2cm]{\Sexpr{graphicsrc}}
\caption{The same variable used in \LaTeX\ code}
\end{figure}

\end{document}

顺便说一句,正如您在示例中看到的,您不需要声明图像的扩展名,除非是为了消除歧义(例如,当您有foo.png并且foo.pdf 但您必须使用“foo.pdf”而不是“foo.png”)。

另一方面,不认为使用 是[h]一种好的做法。它只在这个例子中很方便。

相关内容