Querverweise auf Gleichungen mit fleqn - fehlerhafte Verweise in der Artikelklasse

Querverweise auf Gleichungen mit fleqn - fehlerhafte Verweise in der Artikelklasse

Ich habe derzeit Probleme mit Querverweisen meiner Gleichungen, wenn ich die fleqn-Umgebung mit dem amsmath- und nccmath-Paket verwende. Ich möchte, dass meine Gleichungen linksbündig ausgerichtet sind, daher verwende ich die fleqn-Umgebung. Mir ist jedoch aufgefallen, dass beim Versuch, die Gleichung zu querverweisen, anscheinend auf die Abschnittsnummer und nicht auf die Gleichung verwiesen wird. Ich bin mir nicht sicher, warum das so ist.

Hier ist ein MWE:

\documentclass[11pt]{article}
\usepackage{amsfonts, amsmath, amssymb, nccmath}

\begin{document}

\section{Intro}

Yup Yup

\section{Booyah} \label{sec: booyah}

Find Equation \ref{Eq:GGS_distribution_function_2} below Equation \ref{Eq:GGS_distribution_function} in section \ref{sec: booyah}.

\begin{fleqn}
\begin{equation}
R_F(d_p) = \left(\frac{d_p}{d_{p,max}}\right)^m 
\label{Eq:GGS_distribution_function}
\end{equation}
\end{fleqn}

\begin{fleqn}
\begin{equation}
R_F(d_p) = 5
\label{Eq:GGS_distribution_function_2}
\end{equation}
\end{fleqn}

\end{document}

Bildbeschreibung hier eingeben

Antwort1

Sie könnten nccmath löschen:

\documentclass[11pt,fleqn]{article}
\usepackage{amsfonts, amsmath, amssymb}

\setlength{\mathindent}{0pt}
\begin{document}

\section{Intro}

Yup Yup

\section{Booyah} \label{sec: booyah}

Find Equation \ref{Eq:GGS_distribution_function_2} below Equation \ref{Eq:GGS_distribution_function} in section \ref{sec: booyah}.


\begin{equation}
R_F(d_p) = \left(\frac{d_p}{d_{p,max}}\right)^m
\label{Eq:GGS_distribution_function}
\end{equation}

\begin{equation}
R_F(d_p) = 5
\label{Eq:GGS_distribution_function_2}
\end{equation}

\end{document}

Bildbeschreibung hier eingeben

Der Grund, warum es kaputt geht, ist eine Änderung in amsmath im Jahr 2021 (https://github.com/latex3/latex2e/issues/652):

\changes{v2.17k}{2021/08/24}{Verschieben Sie den Zähler in die Gleichung und schützen Sie ihn mit einem Mathopen, um eine bessere Kompatibilität mit Hyperref zu erreichen, Problem gh/652} Wie bei Hyperref erzeugt das Inkrementieren des Zählers eine Box zum Anheben des Ankers. Sie sollte sich an einer Stelle befinden, an der sie den Abstand nicht beeinflusst. Derzeit wird der Code von Hyperref verwendet, um dieses Problem zu vermeiden: Wenn fleqn nicht aktiv ist, wird der Zähler in die Gleichung gesetzt und die potenzielle Box durch ein Mathopen geschützt, um Nebenwirkungen bei folgenden unären Symbolen zu vermeiden. Wenn fleqn aktiviert ist, muss es außerhalb sein, um Probleme mit Beschriftungen zu vermeiden. Diese Lösung ist vorübergehend und nicht unbedingt die beste.}

Die Gleichung wird also unterschiedlich definiert, je nachdem, ob die Paketoption fleqn gesetzt wurde oder nicht. Da sie aber nur lokal nccmathgesetzt wird \@fleqntrue, verwendet sie nicht die richtige Definition und bricht daher ab.

verwandte Informationen