如何在课堂考试中使用 \AtEndDocument?

如何在课堂考试中使用 \AtEndDocument?

如果 \AtEndDocument 未放在 \documentclass{exam} 之前,则使用 \AtEndDocument 会生成一个包含班级考试的新页面。

我制作了一个包,修改了类的一些关键元素,但该包需要在文档末尾写入一些内容才能正常工作。确切地说,它使用了词汇表包中的 \glsaddallunused。

我在该站点上读到过,使用 \RequirePackage 应该在 \documentclass 之前工作,但即使使用 \RequirePackage 来加载我在我的包中使用的包,也会产生一堆错误(包括关于在 \documentclass 之前加载的一些 xkeyval 包):

Package xkeyval Error: xkeyval loaded before \documentclass. ...keyval loaded before \protect\documentclass}

我该如何避免这个问题,在考试文件的最后一页添加内容?

答案1

在此处输入图片描述

您只需要在类添加分页符之前将文本添加到相同的钩子上

\AtEndDocument{bar}
\documentclass{exam}
\begin{document}
foo
\end{document}

答案2

感谢@DavidCarlisle 给出的建议,我找到了解决问题的方法:加载 etoolbox 包并使用 \AtEndEnvironment{}{} 函数。

分数维:

\documentclass{exam}
\usepackage{etoolbox}
\AtEndEnvironment{document}{some text or command}
\begin{document}
foo
\end{document}

相关内容