如何在考试中的一组练习之前插入文本?

How do I insert text before a group of exercises in an exam?

我对 R 和 R/exams 都很陌生。我终于想出了基本的东西,比如用 exams2pdf 和 exams2canvas 编写一个简单的考试,我已经想出了如何安排练习,这样这组 X 练习在考试中随机出现,而其他人则没有。

在我正常的笔试中,有时我有一组练习需要一些介绍性的文字(例如,接下来几个问题所基于的简短案例研究,或者一组针对问题的特定说明跟随)。

如何使用 R/exams 和 Rmd 文件创建这段文本?

我不知道这是否是创建一个特定的 Rmd 文件然后在创建考试时简单地将其添加到列表中的问题(就像一个只显示文本但没有编号的虚拟文件) ), 或者如果我必须对我正在使用的特定 tex 模板做一些事情。

R-forge 上有一个 post 关于在练习之间嵌入纯 LaTeX 文件,似乎 可以达到我的要求,但我正在使用Rmd 文件来创建练习,而不是 Rnw 文件,所以,坦率地说,我就是不明白。

感谢您的帮助。

有两种策略:

1。将相同顺序的练习文件分开

始终使用相同的练习顺序,例如,ex1.Rmdex2.Rmdex3.Rmd,其中 ex1.Rmd 创建并描述设置,ex2.Rmdex3.Rmd 简单地重复使用 ex1.Rmd 内部创建的变量。在 exams2xyz() 界面中,您必须确保所有练习都在同一环境中处理,例如全局环境:

exams2pdf(c("ex1.Rmd", "ex2.Rmd", "ex3.Rmd"), envir = .GlobalEnv)

对于 .Rnw 练习,这不是必需的,因为它们总是在全局环境中处理。

2。完形填空练习

不是单独的练习文件,而是将所有练习合并到一个 "cloze" 练习 ex123.Rmd 中,该练习结合了三个子项目。有关包含两个子项的简单练习,请参阅:http://www.R-exams.org/templates/lm/

使用哪种策略?

对于 exams2pdf() 这两种策略都有效,更喜欢将所有练习放在一个文件中还是分成多个单独的文件,这更取决于个人喜好。但是,对于其他 exams2xyz() 接口,这些策略中只有一个或 none 有效:

  • exams2pdf(): 1 + 2
  • exams2html(): 1 + 2
  • exams2nops(): 1
  • exams2moodle(): 2
  • exams2openolat(): 2
  • exams2blackboard():-
  • exams2canvas():-

基本上,策略 1 只保证适用于为单独考试生成单独文件的界面,如 exams2pdf()exams2nops() 等。但是,对于为学习管理创建练习池的界面exams2moodle()exams2canvas() 等系统。通常不能保证为所有三个练习绘制相同的随机复制。 (因此,如果每个练习有两个随机重复,A 和 B,参与者可能不会得到 A/A/A 或 B/B/B,但 A/B/A。)

因此,如果ex1/2/3是您想要自动打印和扫描的多项选择题,那么您可以将exams2nops()与策略1结合使用。但是,策略2不起作用,因为无法在 exams2nops().

中自动扫描完形填空练习

相比之下,如果您想使用 Moodle,那么 exams2moodle() 可以与策略 2 结合使用。相反,策略 1 将不起作用(见上文)。

由于您对 Canvas 导出感兴趣:在 Canvas 中,这两种策略均无效。它不支持完形填空练习。据我所知,要确保对练习进行抽样并不简单 "in sync".