skeyval 中存在错误,可使用 firstaid 解决

skeyval 中存在错误,可使用 firstaid 解决

从今天(或昨天)起,我的一个包 [ paresse.sty] 出现了错误。

skeyval我找到了它的起源

~/texlive/2020/texmf-dist/tex/latex/skeyval/skeyval-core.tex:8460: 
Package skeyval Error: Patching '\end' failed! (skeyval)
'\skvAtEndEnvironment' will not work

我感觉它skeyval试图在那里做一些几乎合法的举动,而 LaTeX2e 内核的最新变化对它的预期造成了一些阻碍。

据我理解,我所读到的内容,在我看来,这firstaid.sty可以快速解决问题(直到我重写我的样式文件而不使用skeyval),但我已经束手无策了。

任何能够快速解决问题的帮助都将不胜感激。

答案1

skeyval、caoptions 和该作者的其他软件包修补了许多核心 latex 命令。随着新 latex 和新钩子管理以及由此引起的更改,它们在各个地方都失败了(作者不久前已收到有关此事的通知)。

急救包在这里没有帮助:需要更正以使其再次工作的包和命令的数量太多,找到正确的更正相当复杂,并且无论做什么都可能会破坏其他包的钩子管理。

我建议放弃 skeyval(和其他包)并使用不会对 latex 内部造成太多干扰的 keyval 接口。

附注:请使用 latex-dev 定期测试您的软件包。什么是“latex-dev”?。我们专门为这种情况提供这种格式,以便软件包不会因 latex 更新的副作用而措手不及。我们会尝试追踪直接受更改影响的软件包并通知作者,但实际上不可能检查每个依赖软件包。因此我们需要软件包作者的帮助。

相关内容