1

我对 R 和 R/exams 非常陌生。我终于弄清楚了一些基本的东西,比如用exams2pdf和exams2canvas编译一个简单的考试,我已经弄清楚了如何安排练习,这样这组X练习在考试中随机化,而其他练习则没有。

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

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

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

R-forge 上有一篇关于在练习之间嵌入纯 LaTeX 文件的帖子,这似乎符合我的要求,但我使用 Rmd 文件来创建练习,而不是 Rnw 文件,所以,坦率地说,我只是不不明白。

感谢您的任何帮助。

4

1 回答 1

0

有两种策略:

1.按顺序分开练习文件

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

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

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

2. 完形填空练习

代替单独的练习文件,将所有练习组合在一个ex123.Rmd包含三个子项目的“完形填空”练习中。有关两个子项的简单练习,请参阅:http ://www.R-exams.org/templates/lm/

使用哪种策略?

对于exams2pdf()这两种策略都有效,一个人更喜欢将所有练习放在一个文件中还是分开放在单独的文件中,这更像是一个品味问题。但是,对于其他exams2xyz()接口,这些策略中只有一种或不起作用:

  • 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 中,这两种策略都不起作用。它不支持完形填空练习。据我所知,要确保练习“同步”采样并不简单。

于 2020-04-19T22:28:29.230 回答