当第一行没有等号时对齐

当第一行没有等号时对齐

考虑以下 MWE

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
    &abcde \\
    &= vwxyz
\end{align*}
\end{document}

这产生了

在此处输入图片描述

我想将顶行的开头(“a”)与底行表达式的开头(“v”)对齐。

我尝试移动“=”后的对齐字符,但它弄乱了等号周围的间距:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
    &abcde \\
    =& vwxyz
\end{align*}
\end{document}

在此处输入图片描述

我也尝试使用幻影“=”,但它似乎只考虑等号本身的宽度,而不是它周围的间距:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
    &\phantom{=} abcde \\
    &= vwxyz
\end{align*}
\end{document}

在此处输入图片描述

实现这一目标的正确方法是什么?

答案1

不幸的是,SE 的典型答案是“如何做”,而不是“为什么”。我试图填补这个空白。

LaTeX 对齐环境的工作原理(粗略地说)类似于

\halign{\hfil$\displaystyle{#}$&$\displaystyle{{}#}$\hfil\cr ...data&data... \cr}

这意味着第一列由 设置,$\displaystyle{data}$而第二列由 设置$\displaystyle{{}data}$。这里的 emtpy 组{}创建一个 Ord 类型的空数学原子。这个想法是从 Plain TeX 宏中复制而来的。

如果data第二列是=abc,则结果为{{}=abc}。等号创建一个 Rel 类型的原子。我们在这里看到 Ord Rel Ord Ord Ord。Ord-Rel 对\thickmuskip在它们之间留有空间,而 Rel-Ord 也留有相同的空间,因此我们在等号周围留有空间。

如果data第一列中的 为 ,=则我们有{=},它会在原子核中产生等号的 Ord 原子,且没有间距。但如果 为 ,data={}我们有{={}},即 Rel-Ord ,这会\thickmuskip在 Rel 和 Ord 之间产生间距。

数学原子之间的间距使用 TeXbook 第 170 页给出的表格进行控制。你可以在这个文件在第 3 页。

答案2

我想将顶行的开头(a)与底行表达式的开头(v)对齐。...我尝试将对齐字符移动到 之后=,但它会弄乱等号周围的间距。

只是改变

     &abcde \\
    =& vwxyz

要么

     &abcde \\
  ={}& vwxyz

或者

     &abcde \\
{}={}& vwxyz

完整的 MWE:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
         &abcde \\
    {}={}& vwxyz
\end{align*}
\end{document}

相关内容