this answer में, @Yihui ने कहा कि knitr
वैश्विक पर्यावरण का उपयोग करता है। यह मुझे भ्रमित कर दिया - मेरा अनुभव यह था कि यह नहीं करता है। मैं वास्तव में कभी भी knit
का उपयोग नहीं करता, हालांकि, मैं आमतौर पर सीधे पीडीएफ में जाता हूं।knit2pdf वैश्विक पर्यावरण का उपयोग कर सकते हैं?
एक छोटे से प्रयोग में, यह है कि knit
वैश्विक वातावरण (या जो भी पर्यावरण आप envir
तर्क का उपयोग उल्लेख करें) का उपयोग करता है लगता है, लेकिन यह है कि knit2pdf
नहीं करता है।
मिनिमल उदाहरण: global_test.Rnw फ़ाइल
\documentclass{article}
\begin{document}
<<>>=
print(x)
@
\end{document}
आर स्क्रिप्ट:
x <- "Hello World"
knit(input="global_test.Rnw")
# Works as expected, could now call tools::texi2pdf to generate pdf.
knit2pdf(input="global_test.Rnw")
# Doesn't
बाद पीडीएफ फाइल कि प्रदर्शित नहीं करेगा उत्पन्न करता है और एक चेतावनी देता है:
running command '"C:\PROGRA~2\MIKTEX~1.9\miktex\bin\texi2dvi.exe" --quiet --pdf
"global.pdf" -I "C:/PROGRA~1/R/R-215~1.3/share/texmf/tex/latex" -I
"C:/PROGRA~1/R/R-215~1.3/share/texmf/bibtex/bst"' had status 1
मैंने knit2pdf
(envir = globalenv()
) को पर्यावरण पारित करने की कोशिश की) उम्मीद है कि यह बी होगा ई ...
पास हो गया, मुझे बस एक अप्रयुक्त तर्क त्रुटि मिल गई।
आम तौर पर, मुझे पता है कि वैश्विक वातावरण को संदर्भित खराब फार्म है, लेकिन वहां knit2pdf
साथ यह करने के लिए, या एक वातावरण स्पष्ट रूप से पारित करने के लिए एक तरीका है, या मैं एक ही करने के लिए बेहतर @Ramnath's answer में के रूप में brew
और sprintf
का उपयोग कर रहा हूँ ऊपर सवाल?
मेरे उपयोग के मामले में, मुझे नहीं लगता कि tools::texi2pdf
उपयोगी है क्योंकि मुझे XeLaTeX के साथ संकलन करने की आवश्यकता है, जो knit2pdf
आसानी से संभालती है।
क्या आपने 'envir' पैरामीटर को 'knit2pdf' में स्पष्ट रूप से सेट करने का प्रयास किया है? – krlmlr
हाँ, मुझे बस एक अप्रयुक्त तर्क त्रुटि मिलती है। – Gregor
क्या आपने वैश्विक वैरिएबल को संदर्भित किए बिना इसे आजमाया है? जब मैं 'knit2pdf()' का उपयोग करने का प्रयास करता हूं, तो मुझे बिल्कुल वही त्रुटि मिलती है, जब आर कोड की एक पंक्ति 'प्रिंट ("हैलो वर्ल्ड") '(यानी जब वैश्विक चर के लिए कोई स्पष्ट संदर्भ नहीं है) ... I एक विंडोज एक्सपी बॉक्स पर, आर-डेवेल का उपयोग करके, और 'knitr_1.1', हुड के नीचे एक मिकटेक्स डिस्ट्रो के साथ। –