在knitr和Sweave中使用fig.cap的LaTeX错误

时间:2013-09-23 11:26:05

标签: latex knitr sweave figure

以下代码在knitr运行后在LaTeX中导致“失控参数”错误:

\documentclass{article}

\begin{document}

<<fig.cap="This causes \\texttt{problems.}">>=
plot(1:10,10:1)
@

\end{document}

为什么不明显,所以我希望这可以帮助那些可能遇到这个问题的人。

1 个答案:

答案 0 :(得分:5)

出现问题的原因是,如"Power of Graphics in knitr"

中所述
  

默认短标题是通过在第一个句点截断标题从标题中提取的   或冒号或分号。

因此,编织上述示例生成的.tex文件包含以下内容

\caption[This causes \texttt{problems]{This causes \texttt{problems.}

解决方案是提供一个不会过早截断的短标题,例如,

\documentclass{article}

\begin{document}

<<fig.cap="This causes \\texttt{no problems.}", fig.scap="This causes \\texttt{no problems.}">>=
plot(1:10,10:1)
@

\end{document}

很多,非常感谢谢毅辉大力提高我的工作效率和代码的可重用性!