将两个 `align` 合并为一个

将两个 `align` 合并为一个

考虑最小代码:

\documentclass{report}
\usepackage{mathtools}
\usepackage{lipsum}
\begin{document}
\lipsum*[2]%
\begin{align*}
m_{1}(x) &=x(x-1)=x^{2}-x, & m_{2}(x)&=x^{2}(x-1)=x^{3}-x^{2},
\end{align*}
\begin{align*}
m_{3}(x) &=x(x-1)^{2}=x^{3}-2x^{2}+x.
\end{align*}%
\lipsum*[3]
\end{document}

生产

在此处输入图片描述

获得相同结果但两条线之间的垂直空间较小但仅使用一个环境的最佳方法是什么?

当然我可以尝试\vspace{negative space}在这两者之间使用align*但我担心这可能会很危险。

答案1

在您的示例中,尽管使用了,但实际上没有任何内容是对齐的&。对齐意味着涉及多条线。

我建议改用gather*

\begin{gather*}
m_{1}(x) =x(x-1)=x^{2}-x, \qquad m_{2}(x)=x^{2}(x-1)=x^{3}-x^{2},\\
m_{3}(x) =x(x-1)^{2}=x^{3}-2x^{2}+x.
\end{gather*}

示例代码的输出

如果您想在两行之间添加更多空格,您可以在双反斜杠后面放置一个可选维度(不要在开括号前留下输入的空格!):

... \\[2pt]

建议:阅读amsmath用户指南(texdoc amsmath)以了解格式化多行显示的选项。有很多,并且可能性多种多样。

答案2

也许我遗漏了什么,但我真的不认为align*环境除了在顶部两个表达式之间提供水平空间之外还能做任何事情。如果是这样的话,那么一个简单的堆栈就可以实现你的目标或减少垂直间隙。请注意,间隙本身被指定为可选的堆叠参数。

\documentclass{report}
\usepackage{mathtools}
\usepackage{lipsum}
\usepackage[usestackEOL]{stackengine}
\stackMath
\begin{document}
\lipsum*[2]%
\begin{equation*}
\stackunder[10pt]{m_{1}(x) =x(x-1)=x^{2}-x,\quad\qquad m_{2}(x)=x^{2}(x-1)=x^{3}-x^{2},}%
  {m_{3}(x) =x(x-1)^{2}=x^{3}-2x^{2}+x.}
\end{equation*}
\lipsum*[3]
\end{document}

在此处输入图片描述

相关内容