我正在尝试使用考试包进行多项选择题测试。我创建了一个名为问题的5个问题的向量。例如,第一个条目创建如下:
questions[1]<-"$f(x)=\\Sexpr{a}x^2+1$"
先前已对a
进行了采样。
现在我要输出pdf文件。 TeX部分现在写着:
\begin{question}
*Question Statement Here*
<<echo=FALSE,results=hide, results=tex>>=
answerlist(questions)
@
\end{question}
问题是输出包含a
而不是代表a
的数值。但是,如果我手动输入
answerlist(questions)
进入命令行并复制粘贴结果代替
<<echo=FALSE,results=hide, results=tex>>=
answerlist(questions)
@
然后我得到了理想的结果。
我该怎么强迫
<<echo=FALSE,results=hide, results=tex>>=
answerlist(questions)
@
准确输出 answerlist(questions)在命令行中的作用?
答案 0 :(得分:1)
在阅读代码时,answerlist只是粘贴值
function (..., sep = ". ", markup = c("latex", "markdown"))
{
if (match.arg(markup) == "latex") {
writeLines(c("\\begin{answerlist}", paste(" \\item",
do.call("paste", list(..., sep = sep))), "\\end{answerlist}"))
}
else {
writeLines(c("Answerlist", "----------", paste("*", do.call("paste",
list(..., sep = sep)))))
}
}
<environment: namespace:exams>
根据我的测试,以下
没有任何问题\documentclass{exam}
\usepackage{Sweave}
\newenvironment{question}{\item \textbf{Problem}\newline}{}
\newenvironment{solution}{\textbf{Solution}\newline}{}
\begin{document}
<<init, echo=FALSE,results=hide, results=tex>>=
require(exams)
a=2;b=2
@
\begin{question}
When testing inside the R chunk I get :\\
<<test, echo=FALSE,results=hide, results=tex>>=
answerlist(a,b)
@
\newline
And this result is similar to what I get in Sexpr :\\
\Sexpr{paste(a,b,sep=". ")}
\end{question}
\end{document}
刚刚给出
所以这意味着您必须提供更多详细信息,我无法重现您的问题。请注意,我已经尝试使用考试包来测试,尝试使用questions <- matrix_to_mchoice(c(2,2))$questions
之类的结果来理解您的结果,而这只是围绕$的值,这也适用于测试。