Чтобы показать R>
перед всеми командами R, я установил запрос R, используя options
, и сообщите приглашенному, чтобы показать приглашение, используя opts_chunk
(код внизу ответа).
Избавление от новой линии немного сложнее, потому что код R и выход R в сгенерированном файле текс выглядит следующим образом:
\begin{alltt}
\hlstd{R> }\hlnum{1}\hlopt{+}\hlnum{1}
\end{alltt}
\begin{verbatim}
## [1] 2
\end{verbatim}
Таким образом, символ новой строки между R кода и его вывод не генерируется в явном виде но из-за нового пункта, начинающегося между \end{alltt}
и \begin{verbatim}
. Стеновая среда добавляет выше и ниже его текущее значение \topsep
(see here). Поэтому я исправляю среду knitrout
, так что эта переменная локально установлена на 0pt
. Вот новая версия a.Rnw
:
\documentclass{beamer}
% reduce whitespace between R code and R output
\let\oldknitrout\knitrout
\renewenvironment{knitrout}{
\begin{oldknitrout}
\topsep=0pt
}{
\end{oldknitrout}
}
% show R> prompt before R commands
<<r setup, echo=FALSE>>=
options(prompt='R> ')
knitr::opts_chunk$set(prompt=TRUE)
@
\begin{document}
\begin{frame}[fragile]
<<>>=
1+1
@
\end{frame}
\end{document}
и результат выглядит следующим образом:
Я пробовал несколько методов, чтобы уменьшить расстояние между R-вывода: это первый один, который работал ! '' \ Renewenvironment {knitrout} {etc.'' – PatrickT