2

我正在使用 knitr 1.4.1 并观察到当块(.Rnw 文件)的最后一行是注释时,此注释不会显示为先前的注释。

她是一个最小的例子:

\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 中,除最后一条之外的所有评论都以斜体显示。从下面我编织上述块时生成的 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}

欢迎任何关于我如何使最后一条评论看起来像其他评论的提示。

4

1 回答 1

2

这原来是highr包中的一个错误,这是由于utils::getParseData()R 3.0.1 中的一个错误造成的。无论如何,我已经在开发版本中修复了它,现在你可以从 RForge 安装。

install.packages('highr', repos='http://www.rforge.net/', type='source')

这将在未来作为更高的 v0.3 进入 CRAN。

于 2013-08-31T20:33:37.207 回答