如何在同一个练习中插入多个单选题

how to insert more one single-choice questions in the same exercise

我想在我的class中使用R包'exams',通过扫描自动修正。出于这个原因,我决定只考虑单选题。

我想在同一个练习中插入多个单选题。显然,这只能使用 \extype{cloze} 来完成。这是正确的吗?我发现 "question" 只允许唯一的 begin/end 对,"answerlist" 也是如此。 所以,我创建了一个 Rnw 文件,其内容是:

\begin{question}

Choose between:
\begin{aswerlist}
\item a
\item b
\item c
\item d 
\item e 
\item f
\item a1
\item b1
\item c1
\item d1
\item e1 
\item f1
\end{answerlist}
\end{question}

\begin{solution}
The right answers are:
<<echo=FALSE, results=tex>>=
soluz1 = c(1,rep(0,5)) 
soluz2 = c(1,rep(0,5))
soluz=c(soluz1,soluz2)
answerlist(ifelse(soluz, "True", "False"))
@

\end{solution}

%% \exname{prova}
%% \extype{cloze}
%% \exsolution{\Sexpr{mchoice2string(soluz1)}|mchoice2string(soluz2)}}
%% \exclozetype{schoice|schoice}
%% \exshuffle{5}

但我收到一条错误消息:

Error in extract_environment(question, "answerlist", value = FALSE, markup = markup) : no unique begin/end pair for‘answerlist’found

任何帮助都会很棒!

原则上问题格式是正确的,但有两个小问题:

  1. 在第三行中,代码显示 \begin{aswerlist} 而不是 \begin{answerlist}。注意缺少的 n!这就是触发有关 begin/end 对答案列表不匹配的错误消息的原因。
  2. \exsolution{}中的mchoice2string(soluz2)缺少\Sexpr{}所以代码在R中求值

进一步评论:

  • 在像 Moodle 这样的学习管理系统中,这样的完形填空练习很容易管理。那么使用组合 cloze 而不是单独的 schoice 问题可能会更有吸引力。
  • 但是,某些学习管理系统(如 Canvas 或 Blackboard)不支持 cloze 问题。此外,在通过 NOPS 系统进行的笔试中,schoice 易于使用,但不支持 cloze

因此我会仔细考虑哪种实施策略更适合您。

最后一个调试提示:运行 xweave("myexercise.Rnw") 生成一个 .tex 文件,可能有助于检查潜在问题。