如何减少两个对齐环境之间的垂直差距?

如何减少两个对齐环境之间的垂直差距?

我有四个公式需要排版,分为两组。前三个是在等号处对齐的。第四个公式需要单独在某些地方对齐,对齐也写在代码中。那么可以做些什么来减少两个环境之间的差距呢?这个问题困扰了我一段时间,因为我的第四个公式很长,处理起来有点麻烦。

\begin{align}   
    \rho =&\left| \left( s'-s \right) \sin \theta -a\cos \theta \right|\\
    z=&\left( s'-s \right) \cos \theta +a\sin \theta\\
    \varphi=&\begin{cases}
    0,\left( s'-s \right) \sin \theta -a\cos \theta \geqslant 0\\
    \pi ,\left( s'-s \right) \sin \theta -a\cos \theta <0\\\end{cases}
\end{align}
\begin{align}
    K\left( \rho,\varphi,z \right) =&\int_{-\infty}^{\infty}{\exp \left( -i k_z z \right) d k_z}\nonumber\\
    &\times \int_0^{\infty}{\left[ \frac{\cos ^2\theta S_1\left( k_z,\lambda \right) +\sin ^2\theta S_4\left( k_z,\lambda ,\varphi  \right)}{B\left( k_z,\lambda \right)}J_0\left( \lambda \rho  \right) \right.}\nonumber\\
    &\left. +\frac{2\sin \theta \cos \theta S_2\left( k_z,\lambda ,\varphi  \right) +\sin ^2\theta S_5\left( k_z,\lambda ,\varphi  \right)}{B\left( k_z,\lambda \right)}J_1\left( \lambda \rho  \right) \right] \lambda d\lambda
\end{align}

两个对齐环境之间存在很大差距

答案1

通常,您不应该连续使用两个显示数学环境,否则,正如您所观察到的,您会得到糟糕的垂直间距。我猜您不想要一个,align因为最后一个公式没有理由与前面的公式对齐。在这种情况下,您可以将两个align环境嵌套在外部gather环境中(这是一般规则的主要例外“不嵌套显示数学环境”)我建议使用基于嵌套的略有不同的版本aligned

\documentclass{article}
\usepackage{geometry} % more generous margins
\usepackage{mathtools,amssymb}
\DeclarePairedDelimiter{\abs}{|}{|}

\begin{document}

\begin{gather}
\begin{align}
  \rho &= \abs{\left( s'-s \right) \sin \theta -a\cos \theta }\\
  z &= (s'-s) \cos \theta + a \sin\theta\\
  \varphi &=
    \begin{cases}
      0,  & (s'-s) \sin\theta -a \cos\theta \geqslant 0\\
     \pi, & (s'-s) \sin\theta -a \cos\theta <0
    \end{cases}
\end{align}\\
\begin{aligned}[b]
  K(\rho,\varphi,z) ={}& \int_{-\infty}^{\infty} \exp( -i k_z z ) d k_z \\
  &
  \begin{aligned}[b]
  \times \int_0^{\infty} \biggl[ & \frac{\cos^2\theta S_1(k_z,\lambda) +\sin^2\theta S_4(k_z,\lambda ,\varphi)}{B( k_z,\lambda)}J_0(\lambda\rho)\\
   &+\frac{2\sin \theta \cos \theta S_2(k_z,\lambda ,\varphi ) +\sin ^2\theta S_5(k_z,\lambda,\varphi )}{B(k_z,\lambda)}J_1(\lambda \rho ) \biggr] \lambda d\lambda
  \end{aligned}
\end{aligned}
\end{gather}

\end{document}

在此处输入图片描述

我个人认为在两个块之间放一句话是合适的,但这只是个人喜好问题。

扩展达莱夫的评论一下:

  • 使用=&会导致间距不一致。如果您需要对齐点位于等号之后,请使用={}&
  • 我删除了所有\left/\right对。它们中的大多数除了造成损害外什么也没做:比较$S_1\left( k_z,\lambda \right)$ vs $S_1( k_z,\lambda)$ 在此处输入图片描述
  • 在行间拆分\left[blabla\right.\left.blabla\right]是冒险的:没有人能保证括号的大小相同。一般情况下,最好手动调整大小,并且一定要跨行拆分。

答案2

mathtools.sty有一个选择\SwapAboveDisplaySkip

\begin{align}   
    \rho =&\left| \left( s'-s \right) \sin \theta -a\cos \theta \right|\\
    z=&\left( s'-s \right) \cos \theta +a\sin \theta\\
    \varphi=&\begin{cases}
    0,\left( s'-s \right) \sin \theta -a\cos \theta \geqslant 0\\
    \pi ,\left( s'-s \right) \sin \theta -a\cos \theta <0\\\end{cases}
\end{align}
\begin{align}
\SwapAboveDisplaySkip
    K\left( \rho,\varphi,z \right) =&\int_{-\infty}^{\infty}{\exp \left( -i k_z z \right) d k_z}\nonumber\\
    &\times \int_0^{\infty}{\left[ \frac{\cos ^2\theta S_1\left( k_z,\lambda \right) +\sin ^2\theta S_4\left( k_z,\lambda ,\varphi  \right)}{B\left( k_z,\lambda \right)}J_0\left( \lambda \rho  \right) \right.}\nonumber\\
    &\left. +\frac{2\sin \theta \cos \theta S_2\left( k_z,\lambda ,\varphi  \right) +\sin ^2\theta S_5\left( k_z,\lambda ,\varphi  \right)}{B\left( k_z,\lambda \right)}J_1\left( \lambda \rho  \right) \right] \lambda d\lambda
\end{align}

答案3

这并不能完全回答问题,但我的建议(正如其他人提到的)是避免使用连续的align环境。从编辑的角度来看,方程式应该作为句子的一部分来阅读,因此我会在第一个 的末尾添加一个逗号align,然后添加一个短语将句子连接到第二个align,最后以句号结尾。

其他细微变化:第一个中用&=代替,第二个中用代替。=&align={}&=&align

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools,amssymb}

\begin{document}
\noindent ..., so if we set
\begin{align}   
    \rho &=\left| \left( s'-s \right) \sin \theta -a\cos \theta \right|\\
    z&=\left( s'-s \right) \cos \theta +a\sin \theta\\
    \varphi&=\begin{cases}
    0,\left( s'-s \right) \sin \theta -a\cos \theta \geqslant 0\\
    \pi ,\left( s'-s \right) \sin \theta -a\cos \theta <0,\\\end{cases}
\end{align}
it then follows that
\begin{align}
    K\left( \rho,\varphi,z \right) ={}&\int_{-\infty}^{\infty}{\exp \left( -i k_z z \right) d k_z}\nonumber\\
    &\times \int_0^{\infty}{\left[ \frac{\cos ^2\theta S_1\left( k_z,\lambda \right) +\sin ^2\theta S_4\left( k_z,\lambda ,\varphi  \right)}{B\left( k_z,\lambda \right)}J_0\left( \lambda \rho  \right) \right.}\nonumber\\
    &\left. +\frac{2\sin \theta \cos \theta S_2\left( k_z,\lambda ,\varphi  \right) +\sin ^2\theta S_5\left( k_z,\lambda ,\varphi  \right)}{B\left( k_z,\lambda \right)}J_1\left( \lambda \rho  \right) \right] \lambda d\lambda.
\end{align}
\end{document}

相关内容