Ao usar mathtools
com a opção showonlyrefs
encontro um espaçamento vertical espúrio. Eu encontrei umsemelhantequestão, mas a questão era uma longa equação, o que não é o meu caso. Considere o 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}
Se alguém descomentar \refeq
, o espaço vertical após a equação será reduzido. Alguma ideia?
Responder1
Até mathtools
o lançamento da versão 1.23, aqui está um patch que corrige o problema
A tag precisa sempre ter largura diferente de zero ou equation
pode adicionar uma linha em branco. Mas o ramo de processamento showonlyref
não cobriu todos os 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
Responder2
Esta é provavelmente uma “característica” do ambiente de equações problemático (veja vários posts neste site). Ele desaparece no exemplo a seguir.
\documentclass{minimal}
\usepackage{mathtools}
\mathtoolsset{showonlyrefs}
\begin{document}
\begin{gather}
\label{eq}
a=b
\end{gather}
This is an equation %\refeq{eq}
\end{document}
Responder3
O autonum
pacote parece ser melhor nisso:
\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}
Responder4
usar align
em vez deequation
\begin{align}\label{eq}
a &= b
\end{align}
This is an equation \refeq{eq}