Como fazer uma macro simples deste agrupamento?

Como fazer uma macro simples deste agrupamento?

Estou frequentemente usando o seguinte código de grupo para reduzir o espaço vertical entre algumas equações (com a equação, alinhar, reunir e outros ambientes matemáticos) e o texto acima:

\begingroup\abovedisplayskip=0pt
    some equations in there
\endgroup

Mas em vez de digitar esse código de grupo manualmente, como eu poderia criar uma macro simples no preâmbulo para fazer o mesmo? Suponho que a macro deva ser usada da seguinte forma, mas pode ser mais simples?

\eqlift
     some equations in there
\eqdown

Aqui está um código MWE que mostra o problema, que resolvo com o código acima (somente após a compilação):

\documentclass[11pt,letterpaper,twoside]{book}
\usepackage{lmodern}
\usepackage{amsmath}

\begin{document}

Blabla bla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}
Blabla bla blabla bla bla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}
Blabla bla blabla bla blabla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}
Blabla bla blabla bla blabla blabla bla bla blabla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}

\end{document}

E aqui está uma prévia do que ele faz: insira a descrição da imagem aqui

Muitas vezes recebo um espaço vertical muito grande para qualquer classe, qualquer tamanho de fonte ou outra configuração que tentei no passado (veja a equação (3) na imagem de visualização). A única maneira que conheço de resolver isso é inserir o código do grupo que mostrei acima.

Responder1

insira a descrição da imagem aqui

Normalmente o TeX usa \abovedisplayskipuma equação acima, mas se a última linha do parágrafo anterior for curta, então ele usa \abovedisplayshortskippor padrão a maioria das classes para definir um comprimento menor e assim a equação "se encaixa" no espaço deixado pela linha curta acima.

O shortdisplayskip é usado se a última linha terminar 2em à esquerda da equação, para garantir que ainda haja uma lacuna visual.

Acontece que seu caso (3) está muito próximo do corte, o TeX está usando o comprimento maior igual ao usado em (4), mas subjetivamente você deseja que funcione como (1) e (2).

Eu ofereço duas variantes aqui.

As equações 5 a 8 mostram a configuração quando ambos os comprimentos têm o mesmo valor, evitando a descontinuidade à medida que o tex muda de um estilo para outro, mas (8) acaba parecendo bastante apertado.

As equações 9 a 12 são definidas com as configurações padrão como no original, mas o comprimento da última linha do terceiro parágrafo parece (para o TeX) artificialmente mais curto, inserindo um espaço negativo arbitrário. Isso faz com que o TeX insira o mesmo espaço dos dois primeiros parágrafos.

\documentclass[11pt,letterpaper,twoside]{book}
\usepackage{lmodern}
\usepackage{amsmath}

\begin{document}

\section{Original}

Blabla bla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}
Blabla bla blabla bla bla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}
Blabla bla blabla bla blabla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}
Blabla bla blabla bla blabla blabla bla bla blabla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}

\section{use abovedisplayshortskip everywhere}

{
\setlength\abovedisplayskip{\abovedisplayshortskip}


Blabla bla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}
Blabla bla blabla bla bla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}
Blabla bla blabla bla blabla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}
Blabla bla blabla bla blabla blabla bla bla blabla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}

}

\section{abovedisplayshortskip in (3=11)}

Blabla bla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}
Blabla bla blabla bla bla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}
Blabla bla blabla bla blabla :\hspace{-2cm}\mbox{}
\begin{equation}
    y(x) = a \, x^2.
\end{equation}
Blabla bla blabla bla blabla blabla bla bla blabla :
\begin{equation}
    y(x) = a \, x^2.
\end{equation}


\end{document}

informação relacionada