2013-08-31 46 views
2

我正在使用knitr 1.4.1,並觀察到當塊(.Rnw文件)的最後一行是註釋時,此註釋不會像以前那樣顯示註釋。knitr 1.4.1在塊中結束註釋無法正確顯示

她是一個小例子:

\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} 

對我怎麼能做出評論一下最後因爲其他的任何暗示將歡迎。

+0

你用什麼命令將其轉換?我無法通過在您的示例中調用'knit()'來重現此操作,然後使用'pdflatex'將其轉換爲pdf。 – Marius

+0

它也可能是你的PDF閱讀器搞亂了。嘗試另一個PDF查看器。 –

+0

正如您從生成的LaTeX代碼(我已經通過插入編輯該問題)中看到的那樣,它不是PDF問題。最後一條評論缺少產生評論效果的\ hlcom {}。 – Gilbert

回答

2

原來是highr包中的一個bug,這是由於R 3.0.1中的utils::getParseData()的一個bug造成的。無論如何,我有fixed it在開發版本,現在你可以從RForge安裝。

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

這將在未來的CRAN中以最高的v0.3。

+0

非常感謝儀輝。此更新正常工作。 – Gilbert