为什么如果我使用较低的代码(即,如果我在等号后面放置“与”号),等号后的空格会变小?
\begin{align*}
A&=B
\end{align*}
\begin{align*}
A=&B
\end{align*}
答案1
如果二元关系(例如)=
用于中缀位置,则会获得额外的空间[$a=b$]
,但用作前缀或后缀运算符时,它会恢复为数学间距比较[$=a$]
和[$a=$]
。
该align
环境旨在用作并向第二个单元格的开头&=
添加,以便排版为确保您获得间距。{}
&=B
{}=B
\mathrel
如果你需要=&
特殊的对齐方式,并且想要保留空间使用={}&
答案2
虽然问题是关于 AMS 数学环境的,但它是提供与tabstackengine
包的制表功能进行比较/对比的好地方。虽然包默认在文本模式下堆叠制表内容,但调用\stackMath
将处理数学中的参数,然后会出现类似的对齐情况,正如 David 指出的 AMS 环境的情况一样。
该包提供了三种数学填充模式,\TABbinaryRight
其作用就像{}
在每个单元格的末尾添加一个(这是包的默认值,与 AMS 环境相反);\TABbinaryLeft
其作用就像{}
在每个单元格的开头添加一个;其作用就像在每个单元格的末尾添加\TABbinary
一个{}
其作用相当于在每个单元格的开头添加和每个单元格的末尾。
如 MWE 所示,选择将影响运算符和关系周围的间距。因此,一般来说,使用\TABbinaryRight
作为默认设置,人们将使用=&
作为tabstackengine
语法来产生“通常”所需的结果。
\documentclass{article}
\usepackage{tabstackengine}
\stackMath
\begin{document}
\TABbinaryRight\tabbedShortstack{A&=B=&C=&-D} (TABbinaryRight -- default)
\TABbinaryLeft\tabbedShortstack{A&=B=&C=&-D} (TABbinaryLeft)
\TABbinary\tabbedShortstack{A&=B=&C=&-D} (TABbinary)
\end{document}