Espaciado vertical en Mathtools

Espaciado vertical en Mathtools

Cuando uso mathtoolscon la opción showonlyrefsencuentro un espaciado vertical espurio. he encontrado unsimilarPregunta pero el tema era una ecuación larga, que no es mi caso. Considere el MWE

\documentclass{minimal}
\usepackage{mathtools}
\mathtoolsset{showonlyrefs}
\begin{document}
\begin{equation}
\label{eq}
a=b
\end{equation}
This is an equation %\refeq{eq}
\end{document}

Si se descomenta \refeq, se reduce el espacio vertical después de la ecuación. ¿Algunas ideas?

Respuesta1

Hasta que mathtoolsse lance la versión 1.23, aquí hay un parche que soluciona el problema

La etiqueta debe tener siempre un ancho distinto de cero o equationpuede agregar una línea en blanco. Pero la rama de tramitación showonlyrefno cubría todos los casos.

\usepackage{xpatch}

\MHInternalSyntaxOn

\xpatchcmd{\MT_extended_tagform:n}{
  \@ifundefined{MT_r_\df@label}{}
}{%
 \@ifundefined{MT_r_\df@label}{\kern1sp}
}{}{\typeout{patch failed}}

\xpatchcmd{\MT_extended_tagform:n}{
\@ifundefined{MT_r_\df@label}{\global\MH_set_boolean_F:n {manual_tag}}
}{%
\@ifundefined{MT_r_\df@label}{\global\MH_set_boolean_F:n {manual_tag}\kern1sp}
}{}{\typeout{patch failed}}

\MHInternalSyntaxOff

Respuesta2

Esta es probablemente una "característica" del problemático entorno de ecuaciones (consulte varias publicaciones en este sitio). Desaparece en el siguiente ejemplo.

\documentclass{minimal}
\usepackage{mathtools}
\mathtoolsset{showonlyrefs}
\begin{document}
\begin{gather}
\label{eq}
a=b
\end{gather}
This is an equation %\refeq{eq}
\end{document}

Respuesta3

El autonumpaquete parece ser mejor en eso:

\documentclass{article}
\usepackage{amsmath}
\usepackage{autonum}

\usepackage{lipsum} % for mock text

\begin{document}

\lipsum*[2]
\begin{equation}
\label{eq1}
a=b
\end{equation}
This is an equation \eqref{eq1}.
\lipsum*[2]
\begin{equation}
\label{eq2}
a=b
\end{equation}
\lipsum[2]

\end{document}

ingrese la descripción de la imagen aquí

Respuesta4

usar alignen lugar deequation

\begin{align}\label{eq}
    a &= b
\end{align}
This is an equation \refeq{eq}

información relacionada