【发布时间】:2013-12-10 09:40:16
【问题描述】:
使用 knitr 将 .Rnw 文档编译为 pdf,out.width 选项无法重置块中输出文本的宽度。
如何将输出文本保持在具有背景颜色的区域中?
【问题讨论】:
使用 knitr 将 .Rnw 文档编译为 pdf,out.width 选项无法重置块中输出文本的宽度。
如何将输出文本保持在具有背景颜色的区域中?
【问题讨论】:
PDF 中的文本输出宽度一直是个令人头疼的问题。确保所有内容都适合a page 并不容易。两种可能的通用解决方案(如果您必须使用 LaTeX/PDF):
在 LaTeX 中使白色边距变小,例如
\usepackage{geometry}
\geometry{verbose,tmargin=3cm,bmargin=3cm,lmargin=3cm,rmargin=3cm}
在 R 中使文本输出更窄,例如
options(width = 60)
请注意,这些解决方案不能保证有效,因为您永远无法确定文本输出的宽度,并且某些输出函数不尊重width 选项。例如,几乎不可能做到这一点:
cat('This is a long long long long long long long long long long long long long long long long long long long long long long long long string. Haha.\n')
有一些 LaTeX 包,例如 listings,可以包装逐字输出,但这也可能导致输出丑陋。例如,如果 R 的自然输出是这样的(假设两条线太宽):
text output wrapped by R
and then wrapped by LaTeX
LaTeX 换行可以变成这样:
text output wrapped
by R
and then wrapped by
LaTeX
对于显示列联表的具体应用,我的建议是转置表 (t(table(...))) 并打印出来。
【讨论】: