LaTeX ошибка с fig.cap в knitr и Sweave

Следующий код вызывает ошибку "Runaway аргумент" в LaTeX после запуска knitr:

\documentclass{article}

\begin{document}

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

\end{document}

Не понятно почему, поэтому я надеюсь, что это поможет другим, кто может столкнуться с этой проблемой.

1 ответ

Проблема возникает потому, что, как указано в "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}

Большое, большое спасибо Yihui Xie за огромное увеличение моей производительности и многократного использования моего кода!

Другие вопросы по тегам