IEEEeqnarray + Hyperref -> 引用跳转到文档开头

IEEEeqnarray + Hyperref -> 引用跳转到文档开头

这是一个涉及\IEEEeqnarray\IEEEyessubnumber以及\eqref结合 的问题hyperref.sty

\documentclass{article}
\usepackage{amsmath}
\usepackage{IEEEtrantools}
\usepackage{hyperref}
\begin{document}
page1\newpage
\phantomsection\begin{IEEEeqnarray}{rCl}
\IEEEyesnumber\label{eqn} \IEEEyessubnumber*
  a &=&b \label{subeqn}\\
    &=&c
\end{IEEEeqnarray} 
clicking \eqref{subeqn} sends me to the correct position :)\\
clicking \eqref{eqn} sends me to the beginning of the document :(
\end{document}

在此处输入图片描述

问题
单击 (1) 会将我发送到文档的开头,而不是公式 (1)。


相关问题
“IEEEeqnarray 与 hyperref -> 引用跳转到该节的开头”
我认为它不是重复的,因为其中的解决方案,即\phantomsection在 MWE 中添加,没有效果。

附加信息
我使用 Michael Shell 的 IEEEtrantools 2015/08/26 V1.5。


答案1

IEEEeqnaray 使用\stepcounter{equation}而不是\refstecounter{equation},然后直接设置\@currentlabel\@currentHref\IEEEyesnumber只是设置一个标志以供稍后使用。

包含的组\label{eqn}几乎可以插入到任何地方。它是一种\pseudoequation命令。

\documentclass{article}
\usepackage{amsmath}
\usepackage{IEEEtrantools}
\usepackage{hyperref}

\begin{document}
page1\newpage

\begin{IEEEeqnarray}{rCl}
{\addtocounter{equation}{-1}\refstepcounter{equation}\label{eqn}}%
\IEEEyesnumber\IEEEyessubnumber*
  a &=&b \label{subeqn}\\
    &=&c
\end{IEEEeqnarray} 
clicking \eqref{subeqn} sends me to the correct position :)\\
clicking \eqref{eqn} sends me to the beginning of the document :(
\end{document}

相关内容