Unterschiedliche Gleichungen mit demselben Tag verursachen eine falsche Referenz

Nov 22 2020

Ich möchte etwas ganz Ähnliches wie diese Frage erreichen , außer dass ich auch auf diese Gleichungen verweisen möchte. Hier ist ein minimales Beispiel:

\documentclass[12pt]{article}
\usepackage[hidelinks]{hyperref}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathtools}

\begin{document}
\section*{Chapter A}
\begin{equation}\label{star1}\tag{$\star$}
    a^2 + b^2 = c^2
\end{equation}
The main equation of this chapter is the Pythagorean theorem, \eqref{star1}.

\pagebreak

\section*{Chapter B}
\begin{equation}\label{star2}\tag{$\star$}
    i^2 = -1
\end{equation}
The main equation of this chapter is the definition of the imaginary unit, \eqref{star2}.
\end{document}

Das Problem ist, dass \eqref{star2}auf den Pythagoreer hinweist. Ich bekomme auch diese Warnung, von der ich mir ziemlich sicher bin, dass sie relevant ist:destination with the same identifier (name{equation.0.1}) has been already used, duplicate ignored <to be read again>

Danke im Voraus.

Antworten

3 egreg Nov 22 2020 at 22:43

Das Paket hyperrefsollte zuletzt geladen werden: Es müssen nur wenige Pakete danach geladen werden und keines davon in der MWE.

Dies löst das Problem jedoch nicht. Das Problem ist eine Racebedingung: equationDer zugehörige Zähler wird gestuft und dann auf den vorherigen Wert zurückgesetzt, wenn er zuvor \taggescannt wurde \end{equation}, aber es ist zu spät und hyperrefhat bereits einen Anker bereitgestellt.

Das gleiche Tag ist nicht das Problem, obwohl ich vorsichtig sein würde, weil es den Leser wahrscheinlich verwirrt.

Mit equation*löst das Problem.

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathtools}
\usepackage[hidelinks]{hyperref}

\begin{document}

\section*{Chapter A}
\begin{equation*}\label{star1}\tag{$\star$}
    a^2 + b^2 = c^2
\end{equation*}
The main equation of this chapter is the Pythagorean theorem, \eqref{star1}.

\pagebreak

\section*{Chapter B}
\begin{equation*}\label{star2}\tag{$\star$}
    i^2 = -1
\end{equation*}
The main equation of this chapter is the definition of the imaginary unit, \eqref{star2}.
\end{document}