You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 00:13:16