align
我对(1) 和(2)之间的垂直空间有疑问alignat
。如何将此空间缩小到与 (1) 之前相同的垂直空间?如何完全消除垂直空间?我知道我可以使用 和 全局执行此操作abovedisplayskip
,belowdisplayskip
但它不能简单地在这些环境中工作,而且我不想全局更改任何内容。
以下是 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}
如您所见,align
和之间存在不受欢迎的过大的垂直空间alignat
。
答案1
我不会弄乱它。如果你把as:
两个环境放在一起,它看起来就很好了:
\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}
答案2
当两个单独的显示环境一个接一个地设置,并且没有用文本分隔时,它们之间的间距是\belowdisplayskip
和以下的 总和\abovedisplayskip
。由于两者都有相当大的伸展量,这通常会导致它们之间的垂直空间比预期的大得多。
最好将它们组合成一个gather
环境,使用辅助显示环境(如aligned
和)alignedat
来构建各个部分。例如,
\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}
[6pt]
可以在两部分之间添加一些额外的垂直空间(这里)。
在这种情况下,甚至不需要使用alignedat
——只需简单的数学编码就足够了:
\text{as:\quad} \gamma_{xyz} = \frac{a}{b} \text{\qquad and\qquad}
\gamma_{zhk} = \frac{b}{a}
更好的方法是使用\intertext
以下初始文本来介绍该行:
\intertext{as:}
\gamma_{xyz} = \frac{a}{b} \text{\qquad and\qquad} \gamma_{zhk} = \frac{b}{a}
所有内容都在封闭的范围内gather
。如果\intertext
使用,请不要在各部分之间添加可选空格;\intertext
将处理好这一点。
答案3
我也遇到了同样的问题(也涉及子方程),我用的是这个:
\setlength{\abovedisplayskip}{1pt}
\setlength{\belowdisplayskip}{1pt}
似乎其他一切都运行得不太顺畅。(这并不完美,但我发现这是唯一一个运行得相当好的东西)。您可以根据布局和视图调整 {1pt} 值。只需将其放在 aligns 或 alignats 之间即可。