如何使用 tidy 和knitr 在 R 源代码中换行文本

2024-01-07

我最近正在使用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}

这是一种非常手动的解决方案,但我已经使用过。

您可以使用以下命令构建字符串paste0这给了 tidy 一个分割它的机会。

longstr <- paste0("This string will flow off the right side"," of the page, because tidy doesn't know how to wrap it.")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 tidy 和knitr 在 R 源代码中换行文本 的相关文章

随机推荐