【发布时间】:2013-08-31 12:14:43
【问题描述】:
我正在使用 knitr 1.4.1 并观察到当块(.Rnw 文件)的最后一行是注释时,此注释不会显示为以前的 cmets。
她是一个最小的例子:
\documentclass[a4paper]{article}
\begin{document}
<<chunk, echo=TRUE>>=
## comment before output
x <- sum(1:10) ## sum number from 1 to 10
x
(x <- sum(1:10)) ## sum number from 1 to 10
## comment after output
x
## final comment
@
\end{document}
在 knitr 1.4.1 中,除最后一个之外的所有 cmets 都以斜体显示。从下面我编织上述块时生成的 LaTeX 代码可以看出,最后一条评论缺少 \hlcom{}:
\begin{knitrout}
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
\begin{alltt}
\hlcom{## comment before output}
\hlstd{x} \hlkwb{<-} \hlkwd{sum}\hlstd{(}\hlnum{1}\hlopt{:}\hlnum{10}\hlstd{)} \hlcom{## sum number from 1 to 10}
\hlstd{x}
\end{alltt}
\begin{verbatim}
## [1] 55
\end{verbatim}
\begin{alltt}
\hlstd{(x} \hlkwb{<-} \hlkwd{sum}\hlstd{(}\hlnum{1}\hlopt{:}\hlnum{10}\hlstd{))} \hlcom{## sum number from 1 to 10}
\end{alltt}
\begin{verbatim}
## [1] 55
\end{verbatim}
\begin{alltt}
\hlcom{## comment after output}
\hlstd{x}
\end{alltt}
\begin{verbatim}
## [1] 55
\end{verbatim}
\begin{alltt}
## final comment
\end{alltt}
\end{kframe}
\end{knitrout}
欢迎任何关于我如何使最后一条评论看起来像其他评论的提示。
【问题讨论】:
-
你用什么命令来转换它?我无法通过在您的示例中调用
knit()然后使用pdflatex转换为 pdf 来重现此问题。 -
也可能是您的 PDF 查看器搞砸了。尝试其他 PDF 查看器。
-
从生成的 LaTeX 代码中可以看出(我已经通过插入它来编辑问题),这不是 PDF 问题。最后一条评论缺少产生评论效果的 \hlcom{}。
-
@Marius 显示的代码在文件 example.Rnw 中并使用
knit("example.Rnw")。我不确定这个问题是否发生在旧版本上,但我在升级到 1.4.1 后就观察到了这个问题。你用的是同一个版本的 knitr 吗?