如何使用 R 中的 'exams' 包对具有多个正确字符串答案的问题进行编码?
How to code a question with multiple correct string answers using 'exams' package in R?
我想在 R 的 'exams' 包中创建一个包含多个正确字符串答案的问题。例如,考虑简单的 Excel 相关问题。假设下面的 Excel 公式是一个问题的答案,可以写成一个字符串:“=A2*A3+B2*B3”。然而,这并不是一种独特的公式书写方式,因为在 Excel 中有多种可能的书写相同公式的方式。例如,上式也可以写成“=B2*B3+A2*A3”。在 Latex 格式中,我们将保留空白单元格以使用表达式编写答案:~##ANSWER1##~。我们如何使用 'exams' 包对此进行编码(接受两个答案都是正确的)?我尝试按如下方式编写代码,但它不起作用。
\begin{question}
Write the correct formula.
\begin{tabular}{ |l|l|l|l|}
& A & B & C \
1 & & & \
2 & & & \
3 & & & Enter formula here: \
4 & & & ~##ANSWER1##~ \
5 & & & \
\end{tabular}
\end{question}
\begin{solution}
<<echo=FALSE, results=hide>>=
Answer1 <- c("=A2*A3+B2*B3")
Answer2 <- c("=B2*B3+A2*A3")
soln <- c(Answer1, Answer2)
@
\begin{answerlist}
\item \Sexpr{soln}
\end{answerlist}
\end{solution}
\exname{multiple correct string answers}
\extype{cloze}
\exsolution{\Sexpr{soln}}
\exclozetype{string}
这只有在 exams2moodle()
中才有可能,并且只有 exclozetype
设置为 verbatim
。 string
类型只能有一个值。对于 verbatim
类型,您需要自己将 Moodle 嵌入式答案放在一起。此讨论中链接了一个可行的示例:
该示例是关于完全正确加上部分正确的答案,但一般方法是相同的。
根据 Achim 的建议,我更正了以下代码:
\begin{question}
Write the correct formula.
\begin{tabular}{ |l|l|l|l|}
& A & B & C \
1 & & & \
2 & & & \
3 & & & Enter formula here: \
4 & & & ~##ANSWER1##~ \
5 & & & \
\end{tabular}
\end{question}
\begin{solution}
<<echo=FALSE, results=hide>>=
Answer1 <- c("=A2*A3+B2*B3")
Answer2 <- c("=B2*B3+A2*A3")
soln <- "1:SHORTANSWER:%100%=A2*A3+B2*B3~%100%=B2*B3+A2*A3"
@
\begin{answerlist}
\item \Sexpr{soln}
\end{answerlist}
\end{solution}
\exname{multiple correct string answers}
\extype{cloze}
\exsolution{\Sexpr{soln}}
\exclozetype{verbatim}
我想在 R 的 'exams' 包中创建一个包含多个正确字符串答案的问题。例如,考虑简单的 Excel 相关问题。假设下面的 Excel 公式是一个问题的答案,可以写成一个字符串:“=A2*A3+B2*B3”。然而,这并不是一种独特的公式书写方式,因为在 Excel 中有多种可能的书写相同公式的方式。例如,上式也可以写成“=B2*B3+A2*A3”。在 Latex 格式中,我们将保留空白单元格以使用表达式编写答案:~##ANSWER1##~。我们如何使用 'exams' 包对此进行编码(接受两个答案都是正确的)?我尝试按如下方式编写代码,但它不起作用。
\begin{question}
Write the correct formula.
\begin{tabular}{ |l|l|l|l|}
& A & B & C \
1 & & & \
2 & & & \
3 & & & Enter formula here: \
4 & & & ~##ANSWER1##~ \
5 & & & \
\end{tabular}
\end{question}
\begin{solution}
<<echo=FALSE, results=hide>>=
Answer1 <- c("=A2*A3+B2*B3")
Answer2 <- c("=B2*B3+A2*A3")
soln <- c(Answer1, Answer2)
@
\begin{answerlist}
\item \Sexpr{soln}
\end{answerlist}
\end{solution}
\exname{multiple correct string answers}
\extype{cloze}
\exsolution{\Sexpr{soln}}
\exclozetype{string}
这只有在 exams2moodle()
中才有可能,并且只有 exclozetype
设置为 verbatim
。 string
类型只能有一个值。对于 verbatim
类型,您需要自己将 Moodle 嵌入式答案放在一起。此讨论中链接了一个可行的示例:
该示例是关于完全正确加上部分正确的答案,但一般方法是相同的。
根据 Achim 的建议,我更正了以下代码:
\begin{question}
Write the correct formula.
\begin{tabular}{ |l|l|l|l|}
& A & B & C \
1 & & & \
2 & & & \
3 & & & Enter formula here: \
4 & & & ~##ANSWER1##~ \
5 & & & \
\end{tabular}
\end{question}
\begin{solution}
<<echo=FALSE, results=hide>>=
Answer1 <- c("=A2*A3+B2*B3")
Answer2 <- c("=B2*B3+A2*A3")
soln <- "1:SHORTANSWER:%100%=A2*A3+B2*B3~%100%=B2*B3+A2*A3"
@
\begin{answerlist}
\item \Sexpr{soln}
\end{answerlist}
\end{solution}
\exname{multiple correct string answers}
\extype{cloze}
\exsolution{\Sexpr{soln}}
\exclozetype{verbatim}