减少knitr代码块中命令和输出之间的间距

9
我正在使用knitrLaTeX,但代码块中的命令和输出之间似乎存在很多空格:

enter image description here

这个问题的LaTeX代码如下:
  \begin{knitrout}\scriptsize
  \definecolor{shadecolor}{rgb}{1, 1, 1}\color{fgcolor}\begin{kframe}
  \begin{alltt}
  \hlstd{> }\hlstd{lda_test_pred} \hlkwb{<-} \hlkwd{predict}\hlstd{(lda_fit,} \hlkwc{newdata} \hlstd{= seg_test)}
  \hlstd{> }\hlkwd{library}\hlstd{(pROC)}
  \hlstd{> }
  \hlstd{> }\hlstd{lda_roc} \hlkwb{<-} \hlkwd{roc}\hlstd{(}\hlkwc{response} \hlstd{= seg_test}\hlopt{$}\hlstd{Class,}
  \hlstd{+ }               \hlkwc{predictor} \hlstd{= lda_test_pred}\hlopt{$}\hlstd{posterior[,} \hlstr{"PS"}\hlstd{],}
  \hlstd{+ }               \hlcom{## we need to tell the function that the _first_ level}
  \hlstd{+ }               \hlcom{## is our event of interest}
  \hlstd{+ }               \hlkwc{levels} \hlstd{=} \hlkwd{rev}\hlstd{(}\hlkwd{levels}\hlstd{(seg_test}\hlopt{$}\hlstd{Class)))}
  \hlstd{> }\hlstd{lda_roc}
  \end{alltt}
  \begin{verbatim}

  Call:
  roc.default(response = seg_test$Class, predictor = lda_test_pred$posterior[,     "PS"], levels = rev(levels(seg_test$Class)))

  Data: lda_test_pred$posterior[, "PS"] in 346 controls (seg_test$Class WS) < 664 cases (seg_test$Class PS).
  Area under the curve: 0.874
  \end{verbatim}
  \begin{alltt}
  \hlstd{> }\hlcom{# plot(exRoc print.thres = .5)}
  \end{alltt}
  \end{kframe}
  \end{knitrout}

alltt 结束和 verbatim 开始之间产生了空白。在这个例子中,部分间隙是调用输出之前的空行。

有什么方法可以在不影响段落间任何间距的情况下调节 knitr 中的这种现象吗?


可能会有用:http://tex.stackexchange.com/questions/43331/control-vertical-space-before-and-after-verbatim-environment - Martin Schmelzer
更具体地说,请尝试这些行:\usepackage{etoolbox} \makeatletter \preto{\@verbatim}{\topsep=0pt \partopsep=0pt } \makeatother - Martin Schmelzer
那就是它了,请将其添加为答案,以便我可以投票支持。谢谢。 - topepo
1个回答

8

请按照以下建议操作:

控制 verbatim 环境前后的垂直空间?

并将以下行添加到您的文档中:

\usepackage{etoolbox} 
\makeatletter 
\preto{\@verbatim}{\topsep=0pt \partopsep=0pt } 
\makeatother

如果需要更多细节信息,您可以查看此答案


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接