Equações de referência cruzada com fleqn - referências defeituosas na classe de artigos

Equações de referência cruzada com fleqn - referências defeituosas na classe de artigos

Atualmente estou tendo problemas com a referência cruzada de minhas equações ao usar o ambiente fleqn com o pacote amsmath e nccmath. Quero que minhas equações sejam alinhadas à esquerda, daí o uso do ambiente fleqn. No entanto, notei que quando tento fazer referência cruzada da equação, parece estar fazendo referência cruzada ao número da seção e não à equação. Não sei por que esse é o caso.

Aqui está um 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}

insira a descrição da imagem aqui

Responder1

você poderia descartar o nccmath:

\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}

insira a descrição da imagem aqui

A razão pela qual ele quebra é uma mudança na matemática em 2021 (https://github.com/latex3/latex2e/issues/652):

\changes{v2.17k}{2021/08/24}{Mova o contador dentro da equação e proteja com um mathopen para melhor compatibilidade com hiperref, problema gh/652} Assim como acontece com hiperref, incrementar o contador cria uma caixa para levantar a âncora deve estar em um local onde não afete o espaçamento. Atualmente o código do hyperref é usado para evitar este problema: Se fleqn não estiver ativo, o contador é definido dentro da equação e a caixa potencial protegida por um mathopen para evitar o lado efeitos nos seguintes símbolos unários. Se o fleqn estiver ativado, ele deverá estar externo para evitar problemas com rótulos. Esta solução é temporária e não necessariamente a melhor.}

Portanto, a equação é definida de forma diferente dependendo se a opção de pacote fleqn foi definida ou não. Mas como nccmathdefinido \@fleqntrueapenas localmente, ele não usa a definição correta e, portanto, quebra.

informação relacionada