jucs2e 与 hyperref 冲突

jucs2e 与 hyperref 冲突

J.UCS 的样式文件,jucs2e.sty,与 hyperref 冲突。以下是 MWE:

\documentclass{article}
\usepackage{hyperref}
\usepackage{jucs2e}
\begin{document}
\end{document}

我收到此错误:

! Use of \global doesn't match its definition.
l.15 \global\let
                \hyper@last\relax

显然发生这种情况是因为 jucs2e.sty 重新定义了\global

\def\global\@namedef##1##2{}

有解决办法吗?

(删除上面的定义似乎有效,但我想知道它是否会在将来破坏一些东西。)

答案1

这是样式中非常严重的错误。我相信它本来是要重新定义的,\@namedef但保留了下来。应该修补\global(无论如何都相当可疑的)重新定义。\enddocument

\documentclass{article}
\usepackage{hyperref}
\usepackage{jucs2e}

\usepackage{xpatch}
\xpatchcmd{\enddocument}{\def\global}{\gdef}{}{}

\begin{document}
Hello.
\end{document}

相关内容