要在所有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