在 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 生成的文件中,扫描工作正常。我看不出为什么他们不应该使用您的解决方案。感谢您实施它。
当使用 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 生成的文件中,扫描工作正常。我看不出为什么他们不应该使用您的解决方案。感谢您实施它。