Sexpr 在 sweave 中没有被正确评估?

Sexpr is not evaluated properly in sweave?

我正在尝试使用考试包做一道多项选择题。我创建了一个包含 5 个问题的向量,称为 questions。例如,第一个条目的创建方式如下:

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) 在命令行中的作用?

读入代码时,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 之类的结果来理解您的结果,这只是用 $ 包围值,这也适用于测试。