2010-08-10 10 views
8

मैं लाटेक्स में अपनी थीसिस लिख रहा हूं और क्योंकि मेरे स्वाद के लिए चीजें थोड़ी देर लग गईं, मैंने इसे कई फाइलों में विभाजित कर दिया था। आइए उन्हें thesis.tex, intro.tex, mat_n_met.tex, rslts.tex और discsn.tex पर कॉल करें। मैंने intro.tex, mat_n_met.tex, rslts.tex और discsn.texthesis.tex\include{intro} (और इसी तरह ...) के साथ लिंक किया है। मैंने r_crunching.Rnw नामक एक अलग फ़ाइल भी बनाई है (जिसे मैं स्वीवे के माध्यम से चलाता हूं) जिसमें एक ऐसा हिस्सा होता है जो डेटा विश्लेषण और भाग के साथ आर स्क्रिप्ट चलाता है जो \includegraphics (उदाहरण के लिए, rslts.tex) के माध्यम से एम्बेड किए गए ग्राफ के पीडीएफ आउटपुट का उत्पादन करता है। अभी भी पालन कर रहे हैं?मैं एक बहु-फ़ाइल प्रोजेक्ट कैसे स्वीकृत करूं?

अगर मैं एक RNW चलाने (अर्थात मैं rslts.Rnw को rslts.tex का नाम बदला) के बिना आर स्क्रिप्ट के साथ हिस्सा करने के लिए "एक लिंक", आप एक Sweave() त्रुटि कह \Sexpr{} में संदर्भ मौजूद नहीं है मिल जाएगा। क्या कोई तरीका है, सभी फाइलों को एक ही में विलय किए बिना। \Sexpr{} को rslts.Rnw कहने के लिए?

अन्य तरीकों को पूरा करने के तरीके का स्वागत है।

+0

विषय से हटकर पर RStudio दस्तावेज में वर्णन किया गया है, लेकिन बंद का मौका पर इस उपयोगी है: http://staff.acecrc.org.au/~mdsumner/TCallaghan/ कि टेम्पलेट दिखाता है कि शामिल/समावेशी आधारभूत संरचना का उपयोग कैसे करें, और कम से कम एक संस्थान के लिए सभी टुकड़े हैं। मैंने इसे सीधे इस्तेमाल किया, और मैंने अपने आरएनड्यू समकक्षों के साथ chap1.tex इत्यादि को प्रतिस्थापित कर दिया है और पूर्व-लेटेक्स प्रक्रिया में स्वीवे को जोड़ा है। – mdsumner

+0

मैंने यह शीर्षक कहने के लिए शीर्षक संपादित किया कि मैं आपके प्रश्न को कैसे समझता हूं। अगर मैं इसे गलत समझ गया, तो फिर से संपादित करने के लिए स्वतंत्र महसूस करें। (मुझे अभी भी समस्या वास्तव में समझ में नहीं आया और स्वीकार किए गए उत्तर में मदद कैसे मिली।) –

+0

समस्या यह थी कि कम से कम दो फाइलें स्वीवे फाइलें थीं और एक के परिणाम दूसरे से नहीं देख पाए । मुझे लगता है कि मूल शीर्षक सरल और स्पष्ट था, हालांकि अनौपचारिक। रोमन अभी भी सक्रिय है, तो शायद वह कूद जाएगा, लेकिन इस बीच में मैं इसे वापस कैसे शुरू कर दूंगा। Palo, मुझे आशा है कि यह कठोर नहीं है, लेकिन एक सवाल क्यों संपादित करें जिसे आप समझ में नहीं आता? – Aaron

उत्तर

4

एक सेकंड के लिए भूल जाओ कि आप स्वीवे से निपट रहे हैं और बस लेटेक्स समस्या के बारे में सोचें - जिसके लिए \include और \includeonly ऑफर समाधान प्रदान करते हैं। कोशिश करें कि कुछ सरल परीक्षण फाइलों के साथ।

एक बार जब आप इसे समझ लेते हैं, तो मिश्रण को वापस मिश्रण में घुमाएं और यह केवल काम करता है क्योंकि स्वीवे एक 'पूर्व' प्रसंस्करण चरण के बाद होता है, यद्यपि एक बहुत चालाक है।

+4

स्वेव इनपुट भी देखें। – jverzani

1

एक उचित स्पष्ट उत्तर सही मेकअप में प्रासंगिक फ़ाइलों को संसाधित करने के लिए, संभवतः पैकेज कैशवेव का उपयोग करके मेकफ़ाइल का उपयोग करना है।

2

डिर्क और एमजेएम के उत्तर का विस्तार करने के लिए, मैं \include और मेकफ़ाइल का उपयोग करने का सुझाव दूंगा।

मान लें कि आपके पास एक मास्टर फ़ाइल है: master.tex

.SUFFIXES: .tex .pdf .Rnw .R 

MAIN = master 
##List your your .Rnw includes 
RNWINCLUDES = chapter1 chapter2 chapter3 
TEX = $(RNWINCLUDES:=.tex) 
RFILES = $(RNWINCLUDES:=.R) 
RNWFILES = $(INCLUDES:=.Rnw) 

all: $(MAIN).pdf 
    $(MAIN).pdf: $(TEX) $(MAIN).tex 

R: $(RFILES) 

.Rnw.R: 
    R CMD Stangle $< 

.Rnw.tex: 
    R CMD Sweave $< 

.tex.pdf: 
    pdflatex $< 
    bibtex $* 
    pdflatex $< 
    pdflatex $< 

अनिवार्य रूप से, .SUFFIXES एक सेट प्रदान करते हैं: उस फ़ाइल में, आप कुछ .tex और .Rnw फ़ाइलें, यानी

\include chapter1 
\include chapter2 
\include chapter3 
.... 

अब निम्नलिखित Makefile .tex, .R और .pdf फ़ाइलों के निर्माण के लिए कार्य प्रदान शामिल एक फ़ाइल प्रारूप से दूसरे में कनवर्ट करने के नियमों का। उदाहरण के लिए, .Rnw से .R में बदलने के लिए, हम आदेश का उपयोग

`R CMD Stangle $<` 
5

मैं RStudio (http://www.rstudio.com/ide/) का उपयोग करना चाहिये। स्वीवे को उस आईडीई में अच्छी तरह से एकीकृत किया गया है और यह बहु-फ़ाइल दस्तावेज़ों का समर्थन करता है। यहां तक ​​कि बहु-फ़ाइल दस्तावेज़ों के साथ काम करते समय भी Synctex और TeX त्रुटि लॉग नेविगेशन काम करता है।

मास्टर फाइल से आप निर्देश

% !Rnw root = Master.Rnw 

बच्चे फ़ाइल में शामिल करके

\SweaveInput{Child.Rnw} 

का उपयोग कर आप एक बच्चे मास्टर फाइल करने के लिए वापस फ़ाइल लिंक कर सकते हैं बच्चे फ़ाइलों को शामिल कर सकते हैं।इस तरह जब एक बच्चे की फाइल पर काम करना और टाइपसेट करना, RStudio मास्टर फ़ाइल टाइपसेट करना जानता है।

विवरण http://www.rstudio.com/ide/docs/authoring/multiple_rnw_files

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