要在所有R命令前面显示R>
,我使用options
设置R提示符,并告诉knitr使用opts_chunk
(答案底部的代码)显示提示。
摆脱新线是有点棘手,因为将R代码和R输出生成的TEX文件看起来像这样:
\begin{alltt}
\hlstd{R> }\hlnum{1}\hlopt{+}\hlnum{1}
\end{alltt}
\begin{verbatim}
## [1] 2
\end{verbatim}
所以没有被明确生成的R代码和输出之间的换行符由knitr,但是由于\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