如何在考试中的一组练习之前插入文本?
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.Rmd
、ex2.Rmd
、ex3.Rmd
,其中 ex1.Rmd
创建并描述设置,ex2.Rmd
和ex3.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".
我对 R 和 R/exams 都很陌生。我终于想出了基本的东西,比如用 exams2pdf 和 exams2canvas 编写一个简单的考试,我已经想出了如何安排练习,这样这组 X 练习在考试中随机出现,而其他人则没有。
在我正常的笔试中,有时我有一组练习需要一些介绍性的文字(例如,接下来几个问题所基于的简短案例研究,或者一组针对问题的特定说明跟随)。
如何使用 R/exams 和 Rmd 文件创建这段文本?
我不知道这是否是创建一个特定的 Rmd 文件然后在创建考试时简单地将其添加到列表中的问题(就像一个只显示文本但没有编号的虚拟文件) ), 或者如果我必须对我正在使用的特定 tex 模板做一些事情。
R-forge 上有一个 post 关于在练习之间嵌入纯 LaTeX 文件,似乎 可以达到我的要求,但我正在使用Rmd 文件来创建练习,而不是 Rnw 文件,所以,坦率地说,我就是不明白。
感谢您的帮助。
有两种策略:
1。将相同顺序的练习文件分开
始终使用相同的练习顺序,例如,ex1.Rmd
、ex2.Rmd
、ex3.Rmd
,其中 ex1.Rmd
创建并描述设置,ex2.Rmd
和ex3.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 + 2exams2html()
: 1 + 2exams2nops()
: 1exams2moodle()
: 2exams2openolat()
: 2exams2blackboard()
:-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".