2012-01-18 3 views
6

Иногда я получаю фрагмент кода R (в Sweave), который длиннее полей страницы. Есть ли способ заставить его «перейти к следующей строке», как только это произойдет?Получение строчек кода 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} 
+0

Я думаю, что 'knitr' должен решить это ... Я не совсем уверен, но попробуйте. Сейчас это на CRAN. – aL3xa

+0

Hi alexa - У меня было такое чувство, и я надеюсь избежать этого в этот момент ... –

+1

В подобных случаях я использую списки пакетов и \ lstset {breaklines = true} –

ответ

5

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

 Смежные вопросы

  • Нет связанных вопросов^_^