关于exams2pdf生成的试题解答PDF首页编辑及参数同步问题的技术咨询
关于exams2pdf生成解答PDF的首页问题
1. 首页是否支持编辑?
默认情况下,exams2pdf()生成的PDF是静态文档,首页内容是通过LaTeX模板渲染后嵌入的,没法直接在生成的PDF里轻松编辑(除非用Adobe Acrobat这类专业PDF编辑工具做后期修改,但这属于外部操作,不是工具本身支持的原生编辑功能)。如果想调整首页内容,建议从生成环节的参数或模板入手,比生成后修改更高效。
2. 修改首页的院校、科目、日期信息 & 日期参数不生效的问题
完全可以修改这些信息,不过得注意参数对应和模板的特性:
- 参数对应问题:看你的代码里把
institution设成了"Análise Estatística II"(这看起来是科目名称),其实institution参数是用来设置院校/机构名称的,比如你的ISPA;而title才是用来设置考试科目或名称的,你可以把title调整得更准确,比如"Análise Estatística II: Época Normal - Métodos Tipo I"。 - 日期不生效的原因:因为你用了
template = "solution",这个默认的解答模板没有调用date参数来渲染首页日期。默认的nops模板会读取date参数,但solution模板的首页布局不同,它可能默认用系统日期或者没有设置读取自定义日期的逻辑。
解决办法
给你两个实用方案:
- 方案一:用header参数覆盖内容
如果你想继续用solution模板,可以通过header参数传入自定义LaTeX代码,强制设置日期、调整院校信息:exams2pdf(exercises, n = 1, nsamp = 1, language = "pt-PT", showpoints = TRUE, # 纠正参数:institution设院校,title设科目/考试名 institution = "ISPA", title = "Análise Estatística II: Época Normal - Métodos Tipo I", logo = "/home/ubuntu/Disciplines/AEII/Minitestes/2019-20/Recurso/ISPA_IU.png", dir = "nops_pdf", name = paste0("Ex_AEII_MTI_v",i,"_"), encoding = "UTF-8", blank = 0, nchoice = 5, duplex = TRUE, reglength = 5, replacement = TRUE, schoice = list(eval = ee), template = "solution", # 传入自定义日期的LaTeX代码 header = "\\date{16-01-2021}" ) - 方案二:自定义LaTeX模板
如果你想更灵活控制首页布局,可以复制默认的solution.tex模板(用system.file("tex", "solution.tex", package = "exams")找到路径),修改其中的首页部分,比如把日期部分改成读取date参数的形式,然后在exams2pdf()里用template参数指定你修改后的模板文件路径。
另外,如果你是想生成带解答的标准试卷,也可以试试用template = "nops"并加上solution = TRUE参数,这个模板会更好地适配你设置的date、institution等参数。
内容的提问来源于stack exchange,提问作者Sinval
相关产品推荐
相关产品推荐

