Sexpr在sweave中未正确评估?
我正在尝试用考试包做一道选择题。我创建了一个由5个问题组成的向量,称为问题。例如,第一个条目的创建方式如下:Sexpr在sweave中未正确评估?,r,sweave,R,Sweave,我正在尝试用考试包做一道选择题。我创建了一个由5个问题组成的向量,称为问题。例如,第一个条目的创建方式如下: questions[1]<-"$f(x)=\\Sexpr{a}x^2+1$" 问题是输出包含a,而不是表示a的数值。但是,如果我手动键入 answerlist(questions) 将结果复制到命令行并粘贴到 <<echo=FALSE,results=hide, results=tex>>= answerlist(questions) @
questions[1]<-"$f(x)=\\Sexpr{a}x^2+1$"
问题是输出包含a
,而不是表示a
的数值。但是,如果我手动键入
answerlist(questions)
将结果复制到命令行并粘贴到
<<echo=FALSE,results=hide, results=tex>>=
answerlist(questions)
@
=
答覆名单(问题)
@
然后我得到了想要的结果
我怎么能强迫你呢
<<echo=FALSE,results=hide, results=tex>>=
answerlist(questions)
@
=
答覆名单(问题)
@
要在命令行中准确地输出answerlist(问题)的功能?阅读代码时,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>
函数(…,sep=“.”,markup=c(“latex”,“markdown”))
{
if(match.arg(标记)=“latex”){
写行(c(“\\begin{answerlist}”),粘贴(\\item),
do.call(“粘贴”,列表(…,sep=sep)),“\\end{answerlist}”))
}
否则{
writeLines(c(“应答列表”)、“------------”、粘贴(“*”、do.call(“粘贴”),
列表(…,sep=sep()()))
}
}
从我的测试来看,以下几点没有问题
\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}
\documentclass{exam}
\usepackage{swave}
\新环境{question}{\item\textbf{Problem}\newline}{
\新环境{solution}{\textbf{solution}\newline}{
\开始{document}
=
要求(考试)
a=2;b=2
@
\开始{问题}
在R区块内进行测试时,我得到:\\
=
回答者名单(a、b)
@
\新线
这个结果与我在Sexpr中得到的结果相似:\\
\Sexpr{粘贴(a,b,sep=“.”)
\完{问题}
\结束{document}
只给
这意味着你必须给出更多的细节,我不能重现你的问题。请注意,我曾尝试使用考试包进行测试,试图使用问题等结果来理解您的结果
\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}