如何使用 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 设置为 verbatimstring 类型只能有一个值。对于 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}