下面是一个最小示例,可以使用稳定的 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 文档的解决方法。