AMSmath 方程环境中 \SwapAboveDisplaySkip 的替代品?

AMSmath 方程环境中 \SwapAboveDisplaySkip 的替代品?

我需要使用 amsmath equation环境作为外部环境,其中内部aligned环境用于在=符号处对齐的 2 个方程。我这样做是为了获得这两个方程的共同/单一方程编号。

但是,这样会在上方和下方留下太多空间,并且相对于周围的段落看起来排版太松散。这对我来说尤其糟糕,因为我需要使用双倍行距。

我不想使用 \vspace 命令手动删除空格。这是因为如果我需要更改字体或将文档从 12pt 转换为 11pt 等,我无法确定需要删除多少空格(而且我怀疑这不是一个好的做法)。

我认为包\SwapAboveDisplaySkip中的命令mathtools很有用。但手册明确指出它不适用于 amsmath 方程环境。尽管如此,我还是尝试了一下,正如预期的那样,遇到了如下错误

放错位置 \noalign.....

对于这种情况,有什么可行的解决方法?

答案1

你有,从nccmath\useshortskip。相反\SwapAboveDisplaySkip,它必须放置进入环境:

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

\begin{document}

The discriminant of the cubic equation $\,x^3 + px + q = 0$ is
    \begin{equation}\Delta = 4p^3 + 27 q^2. \end{equation}

The discriminant of the cubic equation $\,x^3 + px + q = 0$ is \useshortskip
    \begin{equation}\Delta = 4p^3 + 27 q^2. \end{equation}

\end{document} 

在此处输入图片描述

答案2

equation据我所知,aligned内部将在适当的时候使用上面的简短显示跳过。如果您确实想要访问\SwapAboveDisplaySkip以手动执行此操作,则可以将外部替换equationgather

示例输出

\documentclass{article}

\usepackage{mathtools}

\begin{document}
Some text before our equations to demonstrate vertical spacing is this
one context:
\begin{equation}
  \label{eq:x}
  \begin{aligned}
    a &= b\\
    c &= d
  \end{aligned}
\end{equation}
Some text before our equations to demonstrate vertical spacing is this
further context:
\begin{gather}
  \label{eq:y}
  \begin{split}
    a &= b\\
    c &= d
  \end{split}
\end{gather}
Some text before our equations to demonstrate vertical spacing is this
further context:
\begin{gather}
  \SwapAboveDisplaySkip
  \label{eq:y}
  \begin{split}
    a &= b\\
    c &= d
  \end{split}
\end{gather}

\end{document}

相关内容