在 R/exams exams2nops() 中用零填充初始学生 ID

Fill initial student IDs with zeros in R/exams exams2nops()

当使用 exams 软件包为 NOPS 考试生成 PDF 文件时,我想编辑可供我的学生使用的位数 (reglength)。我知道包裹只允许至少 7 位数字。但是,我们学生的身份证号码只有 5 位数字。因此我想知道是否可以通过 PDF 操作编辑模板(我尝试使用 staplr::get_fields() 函数,但它不起作用)或任何其他方式......我只是想添加 0到前两位数字(即00xxxxx)。

这是一个好主意,我现在已经在考试 2.4-0 中实现了(撰写本文时的当前开发版本)。如果您现在指定 reglength < 7,它在内部仍然强制为 7 - 因此在注册 CSV 文件中需要这个长度!但是在考试中 sheet 初始 ID 固定为“0”并且相应的框已打勾。

例如,以下代码会给您一个警告,但会产生以下输出:

exams2nops(..., reglength = 5)
## Warning message:
## In make_nops_page(n, nchoice = nchoice, reglength = reglength) :
##   'reglength = 5' too small, using 7 instead, but fixing initial IDs to 0

备注:

  • 我还没有测试这些 sheet 的扫描是否真的足够好,因为在可预见的将来我在我的家庭办公室无法访问合适的 printer/scanner。不过,我没有看到潜在问题的来源。
  • 我假设您指的是 exams2nops() 而不是 exams2pdf(),因此相应地修改了您的问题。在 exams2pdf() 中,您可能需要提供您的模板,并可以按照您喜欢的任何方式对其进行编辑,在需要的地方添加零。

我们手动将 XX 添加到 exams2nops pdf 生成的文件中,扫描工作正常。我看不出为什么他们不应该使用您的解决方案。感谢您实施它。