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
之类的结果来理解您的结果,这只是用 $ 包围值,这也适用于测试。
我正在尝试使用考试包做一道多项选择题。我创建了一个包含 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
之类的结果来理解您的结果,这只是用 $ 包围值,这也适用于测试。