如何修改exams包的solution.tex模板以仅生成带标记框的考试解答PDF第一页
解决R exams包生成仅含标记方框的解答PDF问题
我来帮你搞定这个问题!你遇到的报错是因为直接删除LaTeX代码破坏了模板的结构,正确的做法是修改模板中输出答案列表的部分,而不是盲目删除。下面是具体步骤:
1. 复制默认solution模板到本地
首先不要直接修改exams包自带的模板,先把它复制到你的工作目录:
file.copy(system.file("templates", "solution.tex", package = "exams"), "my_custom_solution.tex")
2. 修改模板中的关键部分
打开刚复制的my_custom_solution.tex文件,做以下两处修改:
(1)把answerlist环境改成空定义
找到模板中这段定义:
\newenvironment{answerlist}{\renewcommand{\labelenumi}{(\alph{enumi})}\begin{enumerate}}{\end{enumerate}}
替换成空环境(这样即使题目调用了这个环境,也不会生成列表,避免"missing item"报错):
\newenvironment{answerlist}{}{}
(2)注释掉输出答案列表的命令
找到模板中类似下面的代码(通常在\begin{document}之后):
\exinput{solutions}
把它注释掉,不让LaTeX输出答案列表:
% \exinput{solutions}
3. 使用修改后的模板生成PDF
现在用你自定义的模板重新编译,就能只保留带标记方框的第一页了:
exams2pdf( list("boxplots", c("tstat", "ttest", "confint"), c("regression", "anova"), "scatterplot", "relfreq"), template = "my_custom_solution.tex" )
这样修改后,模板只会生成题目页(带标记方框),不会输出后续的答案列表,同时也不会破坏LaTeX的结构导致报错。
内容的提问来源于stack exchange,提问作者mkrasmus
相关产品推荐
相关产品推荐

