R/exams NOPS 生成 Times New Roman 格式的文档,然后在扫描过程中失败

R/exams NOPS generates documents in Times New Roman, which then fail during scanning

我在最近的一些考试中一直在使用 r/exams,并且一切正常。然而,这个学期,r/exams 似乎用 Times New Roman 而不是 Helvetica 生成考试,这在扫描过程中混淆了字符识别。

即使是最小的例子,也会产生这种行为:

library("exams")
myexam <- list("cholesky.Rnw")
set.seed(403)
ex1 <- exams2nops(myexam, n = 1,
              dir = "nops_pdf", name = "demo", date = "2015-07-29",
              points = c(1), showpoints = TRUE)

有谁知道哪里出了问题?如何查看中间步骤?我没有收到任何错误消息。

谢谢!

从 R/exams 版本 2.3-2(撰写本文时的当前 CRAN 版本)开始,强制要求扫描的数字始终使用 Helvetica (\fontfamily{phv}),即使如果为文档的其余部分切换字体。

然而,在普通的 TinyTeX 安装中,即在 运行 之后 tinytex::install_tinytex() 尚未安装 Helvetica 字体。仅设置 \fontfamily{phv} 不足以让 TinyTeX 意识到需要安装额外的包 (psnfss)。因此,我修改了 R-Forge 上 exams 的开发版本以明确包含 \usepackage{helvet}。这将触发 psnfss 在 TinyTeX 中的自动安装。安装 2.3-5 版应该可以解决问题:install.packages("exams", repos = "http://R-Forge.R-project.org")。这也将在接下来的几天内发布给 CRAN。

此外,为了将来参考,我查看了 exams2nops() 的源代码以检查我们使用的包。部分由于历史原因,有很多。可能这些也可以简化。

  • 基本工具:graphicx、color、amsmath、amssymb、latexsym。
  • 为了与 Sweave 兼容:verbatim,url,fancyvrb,ae。
  • 布局等:multicol、a4wide、pdfpages、chngpage。
  • 字体:helvetsfmath
  • 为了与 pandoc 从 Markdown 生成的 LaTeX 兼容:booktabs、longtable、eurosym、textcomp。