为什么要对齐字符并删除水平空格?

为什么要对齐字符并删除水平空格?

这是我长期以来一直疑惑和烦恼但又找不到答案的事情。

假设我有一系列方程:

\begin{align*}
    a &= b \\
      &= c
\end{align*}

看起来像

a现在假设和中的项b太长,无法将它们放在一行中。因此,我想在之后换行a,在下一行继续使用等号,并将abc对齐 - 因此我尝试:

\begin{align*}
      &a \\
    = &b \\
    = &c
\end{align*}

但是,这会产生输出

这样等号和项之间的水平间距就太小了。在我看来,这是因为我尝试将对齐字符 & 放在等号的右侧而不是左侧,因为它像这样工作正常:

\begin{align*}
    &= a \\
    &= b \\
    &= c
\end{align*}

生产

我唯一的想法是,去掉第一行中的等号,只需添加一个幻影:

\begin{align*}
    &\hphantom{=} a \\
    &= b \\
    &= c
\end{align*}

但首先它根本不起作用(为什么??):

其次,如果我开始使用不同大小的不同字符(<、\Leftrightarrow 等),我需要在各处放置不同的幻影,这非常麻烦。另外,我想避免任何手动间距的方式,例如\;\,,因为我不知道哪种方式是正确的,而且这似乎是一种肮脏的解决方法,而不是最佳解决方案。

这里的根本问题是什么?我该如何解决?如果能得到任何帮助,我将不胜感激,在此先行致谢。

答案1

&这与你在示例中看到的使用内联数学没有直接关系

在此处输入图片描述

\documentclass{article}

\begin{document}

1 $a=b$

2 {$a=$}{$b$}

3 {$a={}$}{$b$}

4 {$a$}{${}=b$}

\end{document}

在 AMS 对齐中,奇数列设置为\hfil$\displaystyle#$右对齐 displaystyle math。偶数列设置为$\displaystyle{}#$\hfil左对齐,但带有前导{},以便在保持间距的同时&=对齐。=\mathrel

因此,要在运算符后对齐,您需要添加{},并使用={}&

相关内容