获取Sweave代码块以保持页边距?

时间:2012-01-18 09:12:10

标签: r latex tex sweave

有时我会制作一个R代码块(在Sweave中),它比页面的边距长。一旦发生这种情况,有没有办法强迫它“走到下一行”?

以下是一个简单的例子:

\documentclass[a4paper]{article}

\usepackage{Sweave}

\DefineVerbatimEnvironment{Sinput}{Verbatim} {xleftmargin=2em,
                                              frame=single}
\DefineVerbatimEnvironment{Soutput}{Verbatim}{xleftmargin=2em,
                                              frame=single}
\title{Sweave with boxes}

\begin{document}
\maketitle

<<echo=FALSE>>=
options(width=60)
@

Here is an example of a code chunk followed by an output chunk,
both enclosed in boxes.

<<>>=
print(rnorm(99))
@


<<>>=
print("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
@


\end{document}

1 个答案:

答案 0 :(得分:5)

这是一个困难和极端的情况,因为你在那些a之间没有空格,所以LaTeX可能无法包装这些单词。如果你有空格,knitr将能够生成包含tidy=TRUE, highlight=TRUE的长行的输出(如果你设置keep.source=FALSE,我会认为是Sweave。)