Espaço vertical entre ambientes de alinhamento e alinhamento

Espaço vertical entre ambientes de alinhamento e alinhamento

Tenho um problema com o espaço vertical entre align(1) e alignat(2). Como posso reduzir este espaço ao mesmo espaço vertical de antes (1)? Como posso apagar completamente o espaço vertical? Eu sei que posso fazer isso globalmente com abovedisplayskipe belowdisplayskip, mas não funciona simplesmente nesses ambientes e não quero mudar nada globalmente.

Aqui está o MWE:

\documentclass[a4paper, 12pt, headsepline]{scrreprt}
\usepackage[onehalfspacing]{setspace}
\usepackage{amsmath, amssymb, mathtools}
\usepackage{mathptmx}
\usepackage[a4paper]{geometry}
\geometry{left=2cm,right=5cm,top=2cm,bottom=2cm}


\begin{document}
Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text
\begin{align}
X_{t+1} &=  \frac{Z_{t+1}+X_{t+1}}{Y_M}  \\
N_{t}  &=  \frac{X_{t+1}+X_{t+1}}{T_{t+1}} \notag 
\end{align} 
% Reduce the vertical space here. Ideally to the same distance as from align to the above text, or whatever there is (eg other environments?)
\begin{alignat}{3}
&\text{as:} \quad & \gamma_{xyz} = \frac{a} {b} \qquad & \text{and}  & \qquad      \gamma_{zhk} = \frac{b}{a} \notag
\end{alignat}
Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text
\end{document}

Como você pode ver, há um espaço vertical indesejado e muito grande entre aligne alignat.

Responder1

Eu não mexeria com isso. Parece ótimo se você colocar as:entre os dois ambientes:

\documentclass{scrreprt}

\usepackage{amsmath}

\begin{document}

\noindent Text before.
\begin{align}
  X_{t+1} &= \frac{Z_{t+1} + X_{t+1}}{Y_{M}}\\
  N_{t}   &= \frac{X_{t+1} + X_{t+1}}{T_{t+1}}\notag
\end{align}
as
\begin{equation*}
  \gamma_{xyz} = \frac{a}{b}
  \qquad \text{and} \qquad
  \gamma_{zhk} = \frac{b}{a}
\end{equation*}
Text after.

\end{document}

saída

Responder2

quando dois ambientes de exibição separados são definidos um após o outro, não separados por texto, o espaçamento entre eles é a soma de \belowdisplayskipe o seguinte \abovedisplayskip. como ambos têm uma grande extensão, isso geralmente resulta em um espaço vertical muito maior entre eles do que o desejado.

é melhor combiná-los em um único gatherambiente, usando ambientes de exibição subsidiários, como alignede alignedatpara estruturar as partes separadas. por exemplo,

\begin{gather}
 \begin{aligned}
  X_{t+1} &=  \frac{Z_{t+1}+X_{t+1}}{Y_M}  \\
  N_{t}  &=  \frac{X_{t+1}+X_{t+1}}{T_{t+1}}
 \end{aligned} \\[6pt]
 \begin{alignedat}{3}
  &\text{as:} \quad & \gamma_{xyz} = \frac{a} {b} \qquad & \text{and}
  & \qquad      \gamma_{zhk} = \frac{b}{a} \notag
 \end{alignedat}
\end{gather}

um pouco de espaço vertical extra entre as duas partes (aqui [6pt]) pode ser adicionado.

neste caso, nem é necessário usar alignedat- apenas uma codificação matemática simples seria suficiente:

\text{as:\quad} \gamma_{xyz} = \frac{a}{b} \text{\qquad and\qquad}
                \gamma_{zhk} = \frac{b}{a}

melhor ainda seria usar \intertextno texto inicial que introduz essa linha:

\intertext{as:}
\gamma_{xyz} = \frac{a}{b} \text{\qquad and\qquad} \gamma_{zhk} = \frac{b}{a}

tudo dentro do anexo gather. se \intertextfor utilizado, não adicione o espaço opcional entre as partes; \intertextcuidará disso.

Responder3

Eu também tive o mesmo problema (com subequações também), usei isto:

\setlength{\abovedisplayskip}{1pt}
\setlength{\belowdisplayskip}{1pt}

Nada mais parecia estar funcionando bem. (isso não é perfeito, mas foi a única coisa que descobri que funcionou muito bem). Você pode ajustar os valores de {1pt} com base no layout e na visualização que possui. Basta colocá-lo entre alinhamentos ou alinhamentos.

informação relacionada