Wenn ich die Unternummerierung von IEEEeqnarray und das Hyperref-Paket verwende, funktionieren Hyperrefs zu den unternummerierten Gleichungen einwandfrei. Wenn ich jedoch versuche, auf die Gruppe der Gleichungen zu verweisen, wird die Bezeichnung nicht gefunden.
Beispieldokument:
\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}
Ich verwende TexLive 2012 und die neueste Version von IEEEtrantools.sty. Es werden Compiler-Fehlermeldungen ausgegeben: pdfTeX-Warnung (Ziel): Name{equation.0.0.3} wurde referenziert, existiert aber nicht und wurde durch einen korrigierten ersetzt.
pdfTeX-Warnung (Ziel): Name{equation.0.0.2} wurde referenziert, existiert aber nicht. Er wurde durch einen festen ersetzt.
pdfTeX-Warnung (Ziel): Name{equation.0.0.1} wurde referenziert, existiert aber nicht. Er wurde durch einen festen ersetzt.
Irgendwelche Ideen, warum das so sein könnte? Mir fallen keine weiteren Permutationen der oben gezeigten Versuche ein. Danke!
Antwort1
Setzen Sie einen endgültigen Marker - \phantomsection
-nachevery \IEEEyesnumber
um das entsprechende Hyperziel zu markieren:
\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
überschreibt die Verwendung von \IEEEyesnumber
in Bezug auf die Beschriftungsanzeige. An diesem Punkt \phantomsection
hat die Platzierung jedoch bereits ein geeignetes (anderes) Hyperziel festgelegt als das, was mit der Untergleichung folgen wird \label
.