Como usar \ AtEndDocument com o exame de classe?
Usar \ AtEndDocument produz uma nova página com o exame da classe, se não for colocada antes de \ documentclass {exame}.
Fiz um pacote que modifica alguns elementos-chave da classe, mas o pacote precisa escrever algo no final do documento para funcionar corretamente. Para ser preciso, ele usa \ glsaddallunused do pacote de glossários.
Eu li neste mesmo site que usar \ RequirePackage deve funcionar antes de \ documentclass, mas mesmo usando \ RequirePackage para carregar os pacotes que uso em meu pacote, ele produz um monte de erros (incluindo alguns pacotes xkeyval carregados antes de \ documentclass) :
Package xkeyval Error: xkeyval loaded before \documentclass. ...keyval loaded before \protect\documentclass}
Como posso contornar isso para adicionar coisas na que deveria ser a última página do meu arquivo de exame?
Respostas
Você só precisa adicionar o texto antes que a classe adicione a quebra de página ao mesmo gancho
\AtEndDocument{bar}
\documentclass{exam}
\begin{document}
foo
\end{document}
Graças ao conselho de @DavidCarlisle, consegui encontrar uma solução para o meu problema: carregar o pacote etoolbox e usar a função \ AtEndEnvironment {} {}.
MWE:
\documentclass{exam}
\usepackage{etoolbox}
\AtEndEnvironment{document}{some text or command}
\begin{document}
foo
\end{document}