R考试:如何更改选择题的标签以区别于完形填空(a,b,...)

时间:2020-04-08 13:28:44

标签: r-exams

我正在尝试使用模板“ exam.tex”,“ solution.tex”使用exams2pdf(...)创建pdf考试集。我想问一些“ cloze”类型的问题,例如单选题和数字题。问题在于,完形填空问题用(a),(b),...逐项列出。相同的标签(a),(b),...也用于单选题的不同可能答案。因此,使用模板问题“ lm.Rmd”和“ switzerland.Rmd”,我可以在问题单中找到它:

From question sheet

首页答卷看起来像这样。

Front page answer sheet

这显然看起来不太好。我试图通过更改“ answerlist”环境定义来修改“ exam.tex”模板,特别是更改

 ...\renewcommand{\labelenumi}{(\alph{enumi})}...

例如

...\renewcommand{\labelenumi}{(\roman{enumi})}...

但是,这似乎对输出没有影响。此外,我尝试修改\ exmchoice定义,将“(a)”更改为例如“(一种)”。这仅影响首页上的标签,而不影响问题单中的标签。 R中的testss2pdf调用看起来是

exams2pdf(c("lm.Rmd", "switzerland.Rmd"), n = 1, name = c("MAT210-exam", "MAT210-solution"),
      encoding = "UTF-8", dir = "output", edir = "../MAT210exercises",
      template = c("../templates/exam.tex", "../templates/solution.tex"))

因此,我希望有人可以指导解决方案的路线,以便在此设置中为完工商品和选择替代品启用不同的标签。 我正在运行R版本3.6.1(2019-07-05)。 Windows 7,MikTex 2.9。

1 个答案:

答案 0 :(得分:1)

可以通过cloze.collapse控制参数来“稍微”控制完形填空格式的行为。而且我认为您正在寻找"enumerate"选项:

exams2pdf(c("lm.Rmd", "switzerland.Rmd"), template = "exam.tex",
  control = list(cloze.collapse = "enumerate"))

这会在标题页的调查表中产生以下格式:

cloze questionnaire

以及练习中的以下格式:

cloze exercise

请注意,如果唯一的目标是PDF输出,则将合并的完形填空问题拆分为单独的练习可能会更容易。如果您在练习中指定专用环境envir=(而不是对每个问题使用新鲜的环境),则仍可以在练习中共享参数/数据。缺点是练习的这种排序仅在生成独立的PDF文件时可用,而不能在Moodle之类的学习管理系统中使用,因为这些练习都是分开进行的。有关这些问题的进一步讨论,请参阅R-Forge上的R / exams论坛:

https://R-Forge.R-project.org/forum/forum.php?thread_id=33878&forum_id=4377&group_id=1337
https://R-Forge.R-project.org/forum/forum.php?thread_id=33912&forum_id=4377&group_id=1337