
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 abovedisplayskip
e 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 align
e 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}
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 \belowdisplayskip
e 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 gather
ambiente, usando ambientes de exibição subsidiários, como aligned
e alignedat
para 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 \intertext
no 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 \intertext
for utilizado, não adicione o espaço opcional entre as partes; \intertext
cuidará 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.