EuropeCV 因在 \AtBeginDocument 中加载超链接而无法使用 LaTeX2e 预发布版本

EuropeCV 因在 \AtBeginDocument 中加载超链接而无法使用 LaTeX2e 预发布版本

下面是一个最小示例,可以使用稳定的 TeX Live 2022 成功编译,pdflatex但使用最新版本(我认为预计将在几天后发布)编译失败pdflatex-dev

\documentclass[nologo]{europecv}

\begin{document}

\begin{europecv}{}

\ecvpersonalinfo{}{}

\end{europecv}{}

\end{document}

pdflatex-dev收到以下错误:

! LaTeX hooks Error: Sorting rule for 'begindocument' hook applied too late.
(hooks)              Try setting this rule earlier.

我已向 EuropeCV 报告此事 这里作者友好地建议他们考虑提交 pull request。我也在 LaTeX2e 上报告了此事这里,并得到了一些有用的解释和建议修复。特别是,Ulrike Fischer 给出了以下建议:

是的,不要在 begindocument 中加载 hyperref。使用 \AddToHook{begindocument/before}。或者至少提前加载 nameref。

不幸的是,我甚至对 LaTeX 的了解还不够,无法应用这个看似简单的修复方法。我试图破解尝试欧洲变异株(我本来希望在 tex.se 上提问,以确认我的“修复”是一个合理的修补程序),但无法取得进展。我尝试的第一件事就是将其放在\RequirePackage{nameref}前面\RequirePackage{hyperref},因为据我所知,这似乎是最简单的修复方法。我尝试在钩子内部和钩子之前加载 nameref,但都没有成功。然后我尝试更改\AtBeginDocument\AddToHook{begindocument/before},但也没有成功。如果您想要这些尝试的日志,请告诉我。

请注意,我实际上并不使用 EuropeCV,因此我并不是在寻找适用于 .tex 文档的解决方法。

相关内容