2012-11-12 114 views
5

我想演示一個R代碼示例片與針織物< < .. >> = LaTeX文檔中的序言。這是我想要的輸出的一個例子:顯示<<..>> =在輸出

snip-of-code

這一定是簡單的 - 但我失去了一些東西。我檢查了文檔並掃描了堆棧溢出 - 但沒有運氣。這裏是MWE:

\documentclass{article} 
    \begin{document} 
    <<mychunk, cache=TRUE, eval=FALSE, dpi=100>>= 
    "hello world" 
    @ 
    \end{document} 

建議?我嘗試在LaTex中縮進代碼幷包裝在verbatim塊中,但只有錯誤。

+0

逐字環境會有幫助嗎? –

+0

@Lustrik - 我嘗試了'\ begin {verbatim} ... \ end {verbatim}',並得到了乳膠編譯錯誤。 –

+0

這將是因爲它仍在編譯內聯knitr代碼,因此嘗試在逐字環境中啓動逐字環境 –

回答

6

我剛剛檢查了knitr手冊。這是包的作者如何解決了這個問題:

<<use-ext-chunk, echo=FALSE, comment=NA>>= 
cat('<<Q1, echo=TRUE, tidy=TRUE>>=','@',sep='\n') 
@ 

其中產生輸出的knitr manual

在這裏的第9頁上,如圖是一個最小的例子:

\documentclass[a4paper]{article} 
\begin{document} 


<<use-ext-chunk, echo=FALSE, comment=NA>>= 
    cat('<<Q1, echo=TRUE, tidy=TRUE>>=','@',sep='\n') 
@ 

\end{document} 

其產生附加輸出。

enter image description here

+0

謝謝!我不知道該去哪裏看看Knitr作者是如何做到的。我相信我會提出一個新的新塊選項,像'display.wrapper = TRUE',這樣原始塊選項也嵌入到輸出中。 –

+0

這是一個很好的建議,Yihui真的很有幫助,併爲新想法開放。所以讓他知道他的想法。 –

+0

@JohnLeonard我非常喜歡這個提議,我自己也很痛苦地在教程中編寫'<<>> ='! –

4

一年前,我在tex.stackexchange.com上有同樣的問題,並得到了一些不錯的迴應:https://tex.stackexchange.com/q/35485/3419。這是爲Sweave,但我認爲它將在knitr工作相同。

我想我最終在逐字環境下使用\Sexpr{"<<>>="}\Sexpr{"@"}。例如:

\documentclass{article} 
\begin{document} 
\begin{verbatim} 
\Sexpr{"<<mychunk, cache=TRUE, eval=FALSE, dpi=100>>="} 
"hello world" 
\Sexpr{"@"} 
\end{verbatim} 
\end{document} 
+0

也與此相關:http://tex.stackexchange.com/q/35830/3419 –

+0

這是一個可行的解決方案 - 但是對於Sweave not Knitr。 Knitr沒有將'\ Sexpr'環境實例化。謝謝! –

+0

@SachaEpskamp我剛發明了一種邪惡的方法,通過包括一個大的,幾乎是白色的頁面來進一步移動其他答案。沒有在這裏的目的,所以我希望你原諒我;-)順便說一句:我要專利該解決方案,所以請不要複製... –

3

只是一個快速跟進:此功能已在knitrdevel version> = 0.8.15)已經落實。請參閱RnwRmd的示例。另一種解決方案是在knitr FAQ

相關問題