重要编辑失败

重要编辑失败

我对校样中的对齐非常挑剔。现在让我感到沮丧的是,有些行我想居中对齐(使用\begin{gather}),而有些行我想在“=”符号处对齐(​​使用\begin{align})。我的想法是,只需在一个校样中在两者之间切换,但这会产生额外的间距(因为关闭一个并打开另一个会产生隐式间距)。

我尝试过添加\vspace[-20pt]或类似的东西,但这是一个相当笨拙的解决方案,我遇到了问题。此外,理想情况下,我可以从对齐到聚集再到对齐,并让第二个对齐与第一个对齐保持一致,显然关闭并重新打开所有内容不允许这样做。

有人能想到更好的方法来在两种对齐结构之间切换吗?也许使用一个框将我的收集嵌套在对齐中或类似的东西中。本质上,我通常喜欢对齐中的大部分证明,但又想要收集中的几个切点。我花了一段时间思考 amsmath 自述文件(和这个网站),但我找不到答案。

提前谢谢了!

下面是一个小示例编码,用于演示我当前方案中存在的问题:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\begin{document}
\begin{proof}
\begin{align*}
10 &= 2+2+2+2+2 \\
&= 3+3+3+1
\end{align*}\begin{gather*}
\intertext{But now it puts this annoying large space above this line...}
5=5
\end{gather*}
\end{proof}
\end{document}

答案1

[注意:下面的改进,实际上不起作用。]

[注意:下面这段代码有一个重要的改进。]

我能找到的最接近的解决方案是

\documentclass[10pt,a4paper]{article}

\usepackage{amsmath,amsthm,mathtools}

\begin{document}
\begin{proof}
  \begin{align*}
    15 &= 5+4+3+2+1 = \sum_{i=1}^5 i \\
    120&=5\cdot4\cdot3\cdot2\cdot1 = 5! \\
    \shortintertext{
      \[ e^{\pi i} + 1 = 0 \]
      \[ x^n + y^n = z^n \]
    } 
    27 &= 3^3 \qedhere
  \end{align*}
\end{proof}
\end{document}

结果是 对齐居中方程

事实上我认为间距非常好。


重要编辑失败

我认为下面的代码更好,甚至可以给出更好的结果。

\documentclass[10pt,a4paper]{article}

\usepackage{amsmath,amsthm,mathtools}

\begin{document}
\begin{proof}
  \begin{align*}
    15 &= 5+4+3+2+1 = \sum_{i=1}^5 i \\
    120&=5\cdot4\cdot3\cdot2\cdot1 = 5! \\
    \begin{gathered}
      e^{\pi i} + 1 = 0 \\
      x^n + y^n = z^n
    \end{gathered} 
    27 &= 3^3 \qedhere
  \end{align*}
\end{proof}
\end{document}

感谢芭芭拉·比顿(请对她自己的回答的评论投票)。

答案2

得到@PeterGrill 的提示,这里有一种将所有部分合并为一个的方法,使用gather*“单”行要居中对齐,并使用子环境aligned来处理多行表达式。

由于您使用了amsthm,因此我还擅自使用\qedhere将“墓碑”定位在显示屏的最后一行。

显示时,一些行对齐,另一些行居中

\documentclass{article}
\usepackage{mathtools}
\usepackage{amsthm}
\begin{document}
\begin{proof}
\begin{gather*}
 \begin{aligned}
10 &= 2+2+2+2+2 \\
   &= 3+3+3+1
\end{aligned}
\shortintertext{No annoying large space above this line...}
  5=5
\qedhere
\end{gather*}
\end{proof}
\end{document}

答案3

按照调整多个对齐环境之间的 vspace您绝不应该使用两个连续的显示数学环境。

单一align环境:

你可以使用单身的 align*环境。我还建议使用\shortintertext表单包裹\mathtools因为这样可以提供更紧密的垂直间距:

在此处输入图片描述

\documentclass{article}
\usepackage{showframe}
\usepackage{mathtools}
\usepackage{amsthm}
\begin{document}
\begin{proof}
\begin{align*}
    10 &= 2+2+2+2+2\\
       &= 3+3+3+1
    \shortintertext{Now this no longer puts an annoying large space above this line...}
    5 &=5 \qedhere
\end{align*}
\end{proof}
\end{document}

使用align范围gather

或者,您也可以使用gather它来将一些方程式和align其他部分居中,但这个点看起来不太好,尤其是中间有短文本片段的时候。

在此处输入图片描述

\documentclass{article}
\usepackage{showframe}
\usepackage{mathtools}
\usepackage{amsthm}
\begin{document}
\begin{proof}
\begin{gather*}
\begin{align*}
10 &= 2+2+2+2+2 &\\
   &= 3+3+3+1
\end{align*}
    \shortintertext{Now this no longer puts an annoying large space above this line...}
5=5 \qedhere
\end{gather*}
\end{proof}
\end{document}

相关内容