2016-09-08 7 views
5

जब मैं प्रश्न उत्पन्न करने के लिए पैकेज exams का उपयोग कर रहा हूं, तो मैं इसे विशेष वर्णों के साथ भी अंग्रेजी में पूरी तरह से कर सकता हूं। उदाहरण के लिए, एक RNW सवाल है कि मैं परीक्षा पैकेज के साथ संकलन कर सकते हैं:पुर्तगाली उच्चारण के साथ आर पैकेज परीक्षा का उपयोग कैसे करें?

<<echo=FALSE, results=hide>>= 
## DATA GENERATION 
P <- round(runif(n = 1, min = 1000, max = 2000), digits = 2) 
S <- round(runif(n = 1, min = P + 500, max = 3000), digits = 2) 


## QUESTION/ANSWER GENERATION 
i <- round((S - P)/P, digits = 2)*100 
@ 

\begin{question} 
Qual \'e a taxa de juros simples obtida por uma aplica\c{c}\~ao de \textdollar $\Sexpr{P}$ que, ap\'os um ano, produz um montante de \textdollar$\Sexpr{S}$? 

\end{question} 

\begin{solution} 
Os juros s\~ao calculados por: 

\begin{equation} 
S = P(1+i \times n) \Rightarrow S = P + Pin \Rightarrow 
\end{equation} 

\begin{equation} 
Pin = S - P \Rightarrow 
i = \frac{S-P}{Pn} \Rightarrow i = \frac{S-P}{P} 
\end{equation} 

O valor absotulo dos juros \'e $\Sexpr{i}$\%. 
\end{solution} 

%% META-INFORMATION 
%% \extype{num} 
%% \exsolution{\Sexpr{fmt(abs(tstat), 3)}} 
%% \exname{t statistic} 
%% \extol{0.01} 

उदाहरण के लिए, जब मैं ç मैं बस का उपयोग \ ग {c} और इतने पर की जरूरत है। लेकिन, मैं आरएनडब्ल्यू फाइलों के बजाय रमार्कडाउन का उपयोग करने की कोशिश कर रहा हूं। और आरएमडी में एक ही उदाहरण:

--- 
output: pdf_document 
--- 
```{r data generation, echo = FALSE, results = "hide"} 
P <- round(runif(n = 1, min = 1000, max = 2000), digits = 2) 
S <- round(runif(n = 1, min = P + 500, max = 3000), digits = 2) 
i <- round((S - P)/P, digits = 2)*100 
``` 

Question 
======== 
Qual é a taxa de juros simples obtida por uma aplicação de $`r P` 

Solution 
======== 
Os juros são calculados por: 

\begin{equation} 
S = P(1+i \times n) \Rightarrow S = P + Pin \Rightarrow 
\end{equation} 

\begin{equation} 
Pin = S - P \Rightarrow 
i = \frac{S-P}{Pn} \Rightarrow i = \frac{S-P}{P} 
\end{equation} 

O valor absotulo dos juros é `r i`%. 

Meta-information 
================ 
extype: num 
exsolution: `r round(i, digits = 3)` 
exname: Euclidean distance 
extol: 0.01 

मैं लहजे सही ढंग से दिखा RStudio साथ संकलन कर सकते हैं:

compilation with RStudio

लेकिन जब मैं कोशिश:

exams2pdf('file.Rmd', encoding = 'utf8') 

यह काम doen't ।

compilation with function exams()

कोई मुझे इस मुद्दे के साथ मदद कर सकते हैं?

उत्तर

2

@MartinDabbelJuSmelter को उनके उत्तर के लिए धन्यवाद जो अनिवार्य रूप से कैप्चर करता है कि क्या हो रहा है। हालांकि, इसके लिए सरल समाधान हैं। सबसे आसान है:

exams2pdf("file.Rmd", encoding = "UTF-8", template = "plain8") 

जो वांछित आउटपुट की ओर जाता है। अब यह इतना जटिल क्यों है और यह इतना खराब दस्तावेज क्यों है?

exams पैकेज की मॉड्यूलर संरचना के कारण यह जटिल है। विभिन्न बिल्डिंग ब्लॉकों को गठबंधन करने के कई अलग-अलग तरीके हैं जो कि कुछ आसान हैं क्योंकि इसमें दो तर्कों की आवश्यकता है। सबसे पहले, आपको यह घोषणा करना होगा कि file.Rmdencoding यूटीएफ -8 में है। दूसरा, आपको template का उपयोग करना होगा जो यूटीएफ -8 का समर्थन करता है। exams पैकेज जहाजों को यूटीएफ -8 सक्षम के साथ एक सरल plain टेम्पलेट के साथ जहाज।

विभिन्न एन्कोडिंग आदि में अधिक लाटेक्स टेम्पलेट्स नहीं हैं क्योंकि हम उम्मीद करते हैं कि लगभग सभी उपयोगकर्ता अपने स्वयं के कस्टम टेम्पलेट का उपयोग करना चाहेंगे। उदाहरण के लिए, अपने विश्वविद्यालय या उनके पाठ्यक्रम का नाम प्रदर्शित करने या किसी विशेष शैली/फ़ॉन्ट/आदि का उपयोग करने के लिए।

आप केवल एकल विकल्प (schoice) या बहु-विकल्प (mchoice) प्रश्न हैं, तो वहाँ भी exams2nops जो एक मानकीकृत स्वरूप कहां बहुत सरल उपयोग करने के लिए (लेकिन यह भी कम अनुकूलन के साथ) है प्रदान करता है। एक धारणा के लिए देखें:

exams2nops(c("anova.Rmd", "tstat2.Rmd"), 
    language = "pt", encoding = "UTF-8") 

तो आप इस के लिए अपने num सवाल file.Rmd उपयोग नहीं कर सकते। लेकिन अगर आप इसे schoice प्रश्न में बदल देते हैं तो बड़ा फायदा यह होगा कि आपको exams2nops के लिए स्वत: स्कैनिंग और मूल्यांकन प्राप्त होगा।

तो अब एचिलीस एड़ी के लिए: खराब दस्तावेज। मेरी रक्षा में, मुझे यह कहना है कि vignette("exams2", package = "exams") की धारा 2.3 (पहली परीक्षा बनाना) में एन्कोडिंग समस्या पर संक्षेप में चर्चा की गई है और यह देखने के लिए exams_skeleton() के आउटपुट को देखने की अनुशंसा की जाती है कि यह कैसे काम करता है। तो आपके मामले में

exams_skeleton(markup = "markdown", encoding = "UTF-8") 

कुछ उपयोगी उदाहरण प्रदान किए जाने चाहिए।

लेकिन तर्कसंगत रूप से यह खोजना आसान होना चाहिए। exams के लिए एक बेहतर प्रलेखन वेब पेज मेरी इच्छा सूची पर अधिक है - खासकर नवागंतुकों को मार्गदर्शन करने के लिए - लेकिन इस गर्मी में मुझे आवश्यक समय नहीं मिला। उम्मीद है कि अगले साल ...

पुनश्च: आरएमडी फ़ाइल के शुरू में निम्नलिखित लाइनों exams द्वारा पूरी तरह से अनावश्यक और नजरअंदाज कर दिया हैं:

--- 
output: pdf_document 
--- 

उत्पादन जो में प्रत्येक अभ्यास प्रदान की गई है exams2 से निर्धारित होता है xyz फ़ंक्शंस और अभ्यास स्वयं फाइलें नहीं। उदाहरण के लिए:

exams2html("foo.Rmd", encoding = "UTF-8", template = "plain8") 

समारोह (बल्कि RMD फ़ाइल से) के लिए कारण इस बारे में निर्णय लेने से सरल है: उपयोगकर्ता आमतौर पर सवालों का एक बड़ा पूल के निर्माण के लिए और उसके बाद में ही सवाल उपयोग करने के लिए चाहते हो सकता है चाहता हूँ एक पीडीएफ फ़ाइल (लिखित परीक्षा के लिए) या मूडल के लिए या एआरएसनोवा आदि के माध्यम से लाइव वोटिंग के लिए। यदि आपको हर बार इस सवाल के लिए प्रश्न पूल संशोधित करना था (या प्रतियां रखना) जो कि बोझिल होगा।

5

मैंने header और inputs के exams2pdf() के तर्कों के साथ विभिन्न दृष्टिकोणों की कोशिश की लेकिन उनमें से कोई भी मुझे सही आउटपुट नहीं दिया। वाईएएमएल हेडर (header-includes) के माध्यम से लाटेक्स कमांड भी जोड़ना काम नहीं करता है।


अपने आर लाइब्रेरी में जाएं और स्थान जहां पैकेज परीक्षा सहेजा जाता है लगता है: तो मैं इसे "मुश्किल तरीके से" किया था। Tex फ़ोल्डर में नेविगेट के अंदर। वहां आपको विभिन्न टेम्पलेट्स परीक्षा द्वारा उपयोग किए जाएंगे। डिफ़ॉल्ट टेम्पलेट plain.tex की एक प्रति बनाएं और इस डुप्लिकेट plain_pt.tex पर कॉल करें। उस फ़ाइल के अंदर आप

\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[portuguese]{babel} 

प्रीम्बल में जोड़ें। फ़ाइल सहेजें।

पूरा पथ मेरी OSX मशीन पर:

/Library/Frameworks/R.framework/Versions/3.3/Resources/library/exams/tex 

लिनक्स में हो सकता है:

~/R/x86_64-pc-linux-gnu-library/3.3/Resources/library/exams/tex 

अब, जब exams2pdf बुला आप template = 'plain_pt' के साथ अपने नए टेम्पलेट चुन सकते हैं।

यह उचित लाटेक्स कमांड जोड़कर अन्य भाषाओं के लिए भी काम करना चाहिए।

+0

धन्यवाद @MartinDabbelJuSmelter! इसने काम कर दिया। मुझे लगता है कि हमें इसे पैकेज के दस्तावेज़ीकरण में जोड़ना चाहिए। –

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