我知道你通常会被告知要将二元运算符对齐到关系符号的右侧,如下所示(使用{align*}
):
\begin{align*}
x={}&a+b+c\\
&+d+e+f
\end{align*}
但是,如果这样做,让 + 与 a 完全齐平,看起来会更好吗(尽管更容易出错)?
\begin{align*}
x={}&a+b+c\\
&{+}\: d+e+f
\end{align*}
(即使用大括号将“+”变成普通符号,并手动添加“+”和“d”之间的中等空格。)
编辑:我正试图完全按照规则 3.3.5b 中所说的那样,“在连词处断开并与第一个动词的右侧对齐”,第 46 页数学类型(1999 年更新版)。
答案1
首先,我想总结并讨论一下变体。
\begin{align*}
x={}&a+b+c\\
&+d+e+f
\end{align*}
TeX 在显示和文本样式中在二元运算符周围添加空格,因此将其+
移动到右侧并破坏对齐。
cmhughes 的变体将+
符号对齐。由于仅水平空间重要,因此示例使用\hphantom
:
\begin{align*}
x={}&a+b+c\\
&\hphantom{a}+d+e+f
\end{align*}
等式右侧第一个二元运算符的对齐方式有点随意。也a
可能是一个巨大的加法,将第二行移到右边距很远的地方。
我同意 MSC 的观点,即取消加号前的空格是有意义的。他删除了加号的二元运算符属性,并手动为以下操作数添加了空格:
\begin{align*}
x={}&a+b+c\\
&{+}\: d+e+f
\end{align*}
也可以反过来实现,即删除二元运算符前面的空格:
\begin{align*}
x={}&a+b+c\\
&\mskip-\medmuskip+ d+e+f
\end{align*}
这也可以作为宏实现:
\newcommand*{\leftbin}{%
\nonscript\mskip-\medmuskip
\mathbin
}
\begin{align*}
x={}&a+b+c\\
&\leftbin+d+e+f
\end{align*}
它也可以用作\leftbin{+}
。空格仅在文本和显示数学样式中添加。因此\nonscript
使用(参见egreg的注释)。
\mathbin
确保下一个数学原子或子公式被视为二元运算符。
答案2
我喜欢
\begin{align*}
x&=a+b+c\\
&\quad+d+e+f
\end{align*}
答案3
这是一个有趣的话题。我总是:
\begin{align*}
x=&\ a+b+c\\
&+ d+e+f
\end{align*}
但我不确定这是否有任何缺点。