Получаете фрагменты кода Sweave, чтобы оставаться внутри полей страницы? - PullRequest
6 голосов
/ 18 января 2012

Иногда я получаю фрагмент кода 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 Ответ

5 голосов
/ 18 января 2012

Это сложный и экстремальный случай, потому что у вас нет пробелов среди этих a, поэтому LaTeX не сможет обернуть слова. Если у вас есть пробелы, knitr сможет выдавать выходные данные с длинными строками, обернутыми tidy=TRUE, highlight=TRUE (я думаю, что Sweave будет, если вы установите keep.source=FALSE).

...