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

在R/exams2nops()中用零填充初始学生ID,r,r-exams,R,R Exams,当使用考试软件包为NOPS考试生成PDF文件时,我想编辑学生可用的位数(reglength)。我知道这个包裹只能容纳至少7位数字。然而,我们的学生的身份证号码只有5位数字。因此,我想知道是否可以通过PDF操作编辑模板(我尝试了staplr::get_fields()函数,但不起作用)或任何其他方式。。。我只想将0添加到前两位数字(即00xxxxx)。这是一个好主意,我现在已经在考试2.4-0中实现了(撰写本文时的当前开发版本)。如果您现在指定一个reglength

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

这是一个好主意,我现在已经在考试2.4-0中实现了(撰写本文时的当前开发版本)。如果您现在指定一个
reglength<7
,它在内部仍然强制为7,因此该长度在注册CSV文件中是必需的!但是在考试表上,初始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

注意事项:

  • 我还没有测试这些纸张的扫描是否真的足够好,因为在可预见的未来,我在家办公,没有合适的打印机/扫描仪。不过,我没有看到潜在问题的来源
  • 我假设您提到的是
    exams2nops()
    ,而不是
    exams2pdf()
    ,因此相应地修改了您的问题。在
    exams2pdf()
    中,您仍然需要提供模板,并且可以用任何方式编辑模板,在需要的地方添加零

我们手动将XX添加到exams2nops pdf生成的文件中,扫描工作正常。我看不出他们有什么理由不配合你的解决方案。感谢您实施它。

确切地说,您的假设是正确的。太完美了!非常感谢。