IEEEeqnarray のサブ番号付けと hyperref パッケージを使用すると、サブ番号付けされた方程式へのハイパー参照は正常に機能しますが、方程式のグループを参照しようとすると、ラベルが見つかりません。
サンプルドキュメント:
\documentclass[12pt]{report}
\usepackage{IEEEtrantools}
\usepackage{hyperref}
\begin{document}
When I create an IEEEeqnarray with subequation numbering and try to point back to the group of equations, the hyperrefs are broken.
\newpage
\begin{IEEEeqnarray}{rCl}\label{eqn:FirstParentLabel}
f(x) &=& 5x \IEEEyesnumber\IEEEyessubnumber\label{eqn:FirstSubeqnLabel}
\end{IEEEeqnarray}
\begin{IEEEeqnarray}{rCl}\IEEEyesnumber\label{eqn:SecondParentLabel}
g(x) &=& \pi \IEEEyesnumber\IEEEyessubnumber\label{eqn:SecondSubeqnLabel}
\end{IEEEeqnarray}
\begin{IEEEeqnarray}{rCl}
h(x) &=& 42 \IEEEyesnumber\label{eqn:ThirdParentLabel}\IEEEyessubnumber\label{eqn:ThirdSubeqnLabel}
\end{IEEEeqnarray}
\begin{IEEEeqnarray}{rCl}
k(x) &=& C \label{eqn:FourthLabel}
\end{IEEEeqnarray}
\newpage
References to subequations work: \ref{eqn:FirstSubeqnLabel},\ref{eqn:SecondSubeqnLabel}, and \ref{eqn:ThirdSubeqnLabel}. But references to groups of equations do not work: \ref{eqn:FirstParentLabel}, \ref{eqn:SecondParentLabel}, and \ref{eqn:ThirdParentLabel}. If I don't use subnumbering everything works fine: \ref{eqn:FourthLabel}.
\end{document}
私は TexLive 2012 と最新バージョンの IEEEtrantools.sty を使用しています。コンパイラ エラー メッセージが出力されます: pdfTeX 警告 (dest): name{equation.0.0.3} が参照されていますが、存在しません。固定のものに置き換えられました
pdfTeX 警告 (dest): name{equation.0.0.2} が参照されていますが、存在しません。固定のものに置き換えられました
pdfTeX 警告 (dest): name{equation.0.0.1} が参照されていますが、存在しません。固定のものに置き換えられました
なぜそうなるのか、何か考えはありますか? 上記の試みについては、これ以上の組み合わせは思いつきません。 ありがとうございます!
答え1
決定的なマーカーを配置する - \phantomsection
-後\IEEEyesnumber
適切なハイパーターゲットをマークするために、次の操作を実行します。
\begin{IEEEeqnarray}{rCl}\IEEEyesnumber\phantomsection\label{eqn:FirstParentLabel}
f(x) &=& 5x \IEEEyessubnumber\label{eqn:FirstSubeqnLabel}
\end{IEEEeqnarray}
\begin{IEEEeqnarray}{rCl}\IEEEyesnumber\phantomsection\label{eqn:SecondParentLabel}
g(x) &=& \pi \IEEEyessubnumber\label{eqn:SecondSubeqnLabel}
\end{IEEEeqnarray}
\begin{IEEEeqnarray}{rCl}\IEEEyesnumber\phantomsection\label{eqn:ThirdParentLabel}
h(x) &=& 42 \IEEEyessubnumber\label{eqn:ThirdSubeqnLabel}
\end{IEEEeqnarray}
\begin{IEEEeqnarray}{rCl}
k(x) &=& C \label{eqn:FourthLabel}
\end{IEEEeqnarray}
\IEEEyessubnumber
\IEEEyesnumber
は、ラベル表示に関して の使用をオーバーライドします。ただし、この時点では、\phantomsection
配置によって、サブ方程式 に続くものよりも適切な (異なる) ハイパーターゲットがすでに確立されています\label
。