并排方程式标签和自定义标签样式的问题

并排方程式标签和自定义标签样式的问题

考虑以下 MWE:

\documentclass{article}
\usepackage{mathtools}
\usepackage{amsmath}

\newtagform{brackets}{[}{]}
\usetagform{brackets}

\AtBeginDocument{\let\latexlabel\label}

\usepackage{hyperref}
\hypersetup{
    colorlinks=true,
    linkcolor=black,
    filecolor=black,      
    urlcolor=black,
}
\urlstyle{same}

\begin{document}

\begin{equation*}
\refstepcounter{equation}\latexlabel{a}
\refstepcounter{equation}\latexlabel{c}
\refstepcounter{equation}\latexlabel{e}
a=b\quad c=d\quad e=f 
\tag{\ref*{a},$,$ \ref*{c},$,$ \ref*{e}}
\end{equation*}

\end{document}

当我编译它时,它没有显示第三个标签并给了我两个错误:

  • paragraph ended before @firstoffive was complete
  • argument of @firstoffive has an extra }

我认为问题出在hyperref包上,因为删除包并\tag*\tag包替换不会给我带来任何错误。此外,在使用时,hyperref我必须在数学环境中手动插入逗号才能显示它们。

这些错误是什么?我怎样才能消除它们并让文件正确编译?

谢谢您抽出时间,我们非常感激。

编辑:

为了更清楚起见,代码错误地编译为:

在此处输入图片描述

这就是我希望它编译的方式,以及如何在不使用hyperref包的情况下正确编译:

在此处输入图片描述

答案1

为了使代码能够正确编译,\AtBeginDocument{\let\latexlabel\label}必须在hyperref包之后加载。这样做,不仅代码可以正确编译,而且数学环境中的逗号也可以且应该被删除。

相关内容