knitr

2013-08-22 12 views
6

का उपयोग करके परिशिष्ट में कोड दिखाएं मेरे पास एक आरएनडब्ल्यू फ़ाइल (एक बड़ा) है और मैं एक परिशिष्ट में उपयोग किए गए सभी कोड दिखाना चाहता हूं।knitr

यह knitr के कुछ उदाहरण (https://github.com/yihui/knitr-examples/blob/master/073-code-appendix.Rnw, भी एक अच्छा मेगावाट) कि जिस तरह से है इस तरह एक कोड ब्लॉक होने में सुझाव दिया है:

<<Rcode, eval=FALSE, ref.label=all_labels()[-1],echo=TRUE, cache=FALSE>>= 
@ 

यह सब कोड हिस्सा छोड़कर ठीक काम करता है प्रत्येक में विलय अन्य और कोई भी लेबल नहीं है।

दूसरी ओर अगर मैं PURL (myfile.Rnw) यह कोड हिस्सा लेबल और दो पंक्तियों, जो चीजें बहुत आसान को पढ़ने के लिए बनाता द्वारा उन्हें अलग चलाते हैं।

वहाँ स्वचालित रूप से एक रिपोर्ट परिशिष्ट में दूसरा दृष्टिकोण का उपयोग कर कोड लिस्टिंग की कोई तरीका है? मुझे पता है कि मेरी रिपोर्ट के हिस्से के रूप में myfile.R बनाने के लिए purl चलाने के लिए कोड कोड हो सकता है, लेकिन फिर मैं myfile में कोड कैसे दिखा सकता हूं। मेरे परिशिष्ट में?

+0

क्यों नहीं 'फ़ाइल purl' और फिर डाल एक \ अपने RNW PURL उत्पादन एम्बेड करने में शामिल हैं? यानी, पहले purl, फिर purl आउटपुट शामिल हैं? – Thomas

+0

क्या आपका मतलब है कि लेटेक्स '\ include' में कुछ शामिल है {myfile.R} या कुछ और शामिल है। अच्छा अगर teh कोड स्वरूपित किया गया था उदा। वाक्य - विन्यास पर प्रकाश डालना – DavidC

उत्तर

3

यहाँ एक उदाहरण .Rnw फ़ाइल है (जिसे "example.rnw") है:

\documentclass{article} 
\begin{document} 

<<a>>= 
x <- 1:10 
x 
@ 

<<b>>= 
y <- 10:1 
y 
@ 

<<c>>= 
z <- 1:5 
z 
@ 

\clearpage 
\input{example-purl.tex} 
\end{document} 

आप "template.rnw" कहा जाता है अपने काम करने निर्देशिका में एक फ़ाइल है कि बस में शामिल है बनाते हैं:

<<%sCHUNK_LABEL_HERE, eval=FALSE>>= 
@ 

उसके बाद, आप चलाएँ:

stitch(purl("example.rnw",output="example-purl.r"),template="template.rnw") 
knit("example.rnw") 

कि मतलब है? मूल रूप से, आप purl आईएनजी, stitchpurl एड कोड, knit टिंग मूल दस्तावेज़ ing, और फिर जिसके परिणामस्वरूप LaTeX ("example.tex") संकलन कि knit टिंग और purl आईएनजी शामिल कर रहे हैं। सब कुछ अच्छी तरह से स्वरूपित किया जाना चाहिए (और लगातार)।