如果 \AtEndDocument 未放在 \documentclass{exam} 之前,则使用 \AtEndDocument 会生成一个包含班级考试的新页面。
我制作了一个包,修改了类的一些关键元素,但该包需要在文档末尾写入一些内容才能正常工作。确切地说,它使用了词汇表包中的 \glsaddallunused。
我在该站点上读到过,使用 \RequirePackage 应该在 \documentclass 之前工作,但即使使用 \RequirePackage 来加载我在我的包中使用的包,也会产生一堆错误(包括关于在 \documentclass 之前加载的一些 xkeyval 包):
Package xkeyval Error: xkeyval loaded before \documentclass. ...keyval loaded before \protect\documentclass}
我该如何避免这个问题,在考试文件的最后一页添加内容?
答案1
答案2
感谢@DavidCarlisle 给出的建议,我找到了解决问题的方法:加载 etoolbox 包并使用 \AtEndEnvironment{}{} 函数。
分数维:
\documentclass{exam}
\usepackage{etoolbox}
\AtEndEnvironment{document}{some text or command}
\begin{document}
foo
\end{document}