2012-10-05 28 views
11

मैं \ start {document} कमांड के बाद, \ maketitle कमांड के बाद, LaTeX दस्तावेज़ के शीर्षक में एक Knitr/Sweave इन-लाइन कॉल (\Sexpr{}) का उपयोग करना चाहता हूं। इन-लाइन आर कोड आरटी-फ्रेम में शुरुआती आर स्क्रिप्ट में बनाए गए आर डेटा-फ्रेम से जानकारी के एक या दो टुकड़े निकाल देगा जो मैं लाटेक्स में एम्बेड कर रहा हूं।क्या मैं लेटेक्स दस्तावेज़ के शीर्षक में एक बुनाई इनलाइन अभिव्यक्ति का उपयोग कर सकता हूं?

मेरे पास कुछ नितर भाग हैं जो डेटा.फ्रेम बनाते हैं जिससे मैं उस जानकारी को प्राप्त करता हूं जिसे मैं शीर्षक में रखना चाहता हूं। मैं LaTeX के बीच इन हिस्सा रखने की कोशिश की है \ begin {document} कॉल और \ शीर्षक कोड, इस तरह:

\documentclass 
[LaTex Preamble] 
\begin{document} 
[%% Knitr chunks that initialize an R data-frame] 
\title \Sexpr{--a snippet of R code that extracts an element from the data-frame --} 
\maketitle 
... (rest of the LaTeX document) 

और मैं भी पहले \ LaTeX कोड की प्रस्तावना में Knitr हिस्सा डालने की कोशिश की है {दस्तावेज़} कथन शुरू करें।

लेकिन नाइटर में कोड (प्रारंभिक के अलावा) को अनदेखा करना प्रतीत होता है जो लाटेक्स में \ maketitle कॉल से पहले रखा गया है, इसलिए इन-लाइन स्निपेट्स में लेटेक्स में त्रुटियों की तरह शीर्षक दिखाई देता है और यह आउटपुट को रोकता है।

मुझे लाइटिक्स दस्तावेज़ के शीर्षक में इन-लाइन कोड सहित Knitr दस्तावेज़ में कोई जानकारी नहीं मिल रही है।

कोई विचार?


ठीक है: नीचे दिए गए @ बेन-बोल्कर से संकेत के समाधान का समाधान मिला। बेन आरएनडब्ल्यू फ़ाइल (2-चरणीय नाइट प्रक्रिया में: लेटेक्स -> आरएनडब्ल्यू -> पीडीएफ) में आउटपुट से पहले आर भाग के स्वरूपण का उपयोग करता है। लेकिन मैं LaTeX फ़ाइल को एक ही चरण में पीडीएफ में संकलित कर रहा हूं बिना टीएक्सशॉप (मैक ओएसएक्स पर) से आरएनडब्लू फाइल पर जा रहा हूं। मैंने पाया कि मैं आरएनडब्ल्यू डिलीमीटर (< < >> =) और एक-चरण संकलन का उपयोग करके काम करने के लिए बेन का उदाहरण प्राप्त कर सकता हूं। लेकिन मैं सामान्य लाटेक्स चंक-डिलीमीटर (%% start.rcode और %% end.rcode) और आरएनडब्ल्यू इन-लाइन स्टेटमेंट हुक (\ Sexpr {}) को मिश्रित नहीं कर सका। उत्तरार्द्ध काम नहीं करता था इससे कोई फर्क नहीं पड़ता कि मैं इसके साथ कैसे झुका हुआ था। आखिर में मैंने पाया कि लाटेक्स के लिए सही इन-लाइन हुक \\ rinline {} है।

यह Knitr दस्तावेज़ीकरण में बहुत स्पष्ट नहीं है कि यह लाटेक्स के लिए आवश्यक प्रारूप है और मैंने पाया कि आखिरकार बेन के उदाहरण के लिए धन्यवाद। बेस्ट, पीटर


अद्यतन 2 ... और फिर वहाँ RTFM (या इस मामले में 'धोखा पत्र'): http://cran.r-project.org/web/packages/knitr/vignettes/knitr-refcard.pdf

+0

'\ Sexpr {}' कहीं भी दस्तावेज़ में इस्तेमाल किया जा सकता। यदि यह काम नहीं करता है, तो कम से कम पुनरुत्पादित उदाहरण यहां बहुत मदद कर सकता है। –

+2

आपके द्वारा उत्तर के रूप में मिले समाधान को लिखना बेहतर होगा और प्रश्न को अपरिवर्तित छोड़ दें। – Dason

+0

क्या आप जानते थे कि आप इसे अपने उत्तर में हल कर सकते हैं? – Kev

उत्तर

5

हम्म। निम्न फ़ाइल मेरे लिए काम करता है:

\documentclass{article} 
<<echo=FALSE>>= 
x <- 5 
@ 
\title{The number is \Sexpr{x^2}} 
\begin{document} 
\maketitle 

Some stuff 
\end{document} 
उबंटू 10.04 पर knitr संस्करण 0.8 के साथ

, knit2pdf("knitr_title.Rnw") के माध्यम से ... enter image description here

+0

धन्यवाद, @ बेन-बोल्कर। मैंने इसे अपने लिए हल कर लिया है, लेकिन अधिकतर एक संकेत के कारण आपके समाधान ने मुझे दिया है। ऊपर देखो। –

संबंधित मुद्दे

 संबंधित मुद्दे