我最近正在使用knitr,虽然大部分方面都进展得相当顺利,但在完成的文档中包含 R 代码时存在一个我尚未解决的格式问题。我经常需要在 R 块中创建相对较长的文本字符串,例如的字幕xtable()
功能。虽然 tidy 通常在包装 R 代码并将其保存在 LaTeX 中的阴影框中方面做得很好,但它不知道如何处理文本字符串,因此它不会包装它们,并且它们会从代码的右侧流出页。
我对能够整齐地完成所有工作的解决方案感到非常满意。不过,我也对可以手动应用于 Rnw 源中的 R 块中的长字符串的解决方案感到满意。我只是不想编辑 KnitR 创建的 tex 文件。
下面是一个最小的工作示例。
\documentclass[12pt, english, oneside]{amsart}
\begin{document}
<<setup, include=FALSE, cache=FALSE, tidy=TRUE>>=
options(tidy=TRUE, width=50)
@
<<>>=
x <- c("This","will","wrap","nicely","because","tidy","knows","how","to","deal","with","it.","So","nice","how","it","stays","in","the","box.")
longstr <- "This string will flow off the right side of the page, because tidy doesn't know how to wrap it."
@
\end{document}