我见过几个答案那使用双 & 符号,但我不明白它到底起什么作用。
我尝试了这个:
\begin{align*}
\frac{3x + y}{7} &= 9 & \text{given} \\
3x + y &= 63 & \text{multiply by 7} \\
3x &= 63 - y & \text{subtract y} \\
x &= 21 - \frac{y}{3} & \text{divide by 3} \\
\end{align*}
\begin{align*}
\frac{3x + y}{7} &= 9 && \text{given} \\
3x + y &= 63 && \text{multiply by 7} \\
3x &= 63 - y && \text{subtract y} \\
x &= 21 - \frac{y}{3} && \text{divide by 3} \\
\end{align*}
...看起来唯一的区别是右对齐和左对齐。但是当我加上这个:
\begin{align*}
\frac{3x + y}{7} &&= 9 && \text{given} \\
3x + y &&= 63 && \text{multiply by 7} \\
3x &&= 63 - y && \text{subtract y} \\
x &&= 21 - \frac{y}{3} && \text{divide by 3} \\
\end{align*}
从窗户出去。&& 在 LaTeX 中到底起什么作用?为什么一行中只有一个 && 会使最后一列左对齐,而两个 && 会使最后一列右对齐?& 和 && 有何不同?
答案1
答案2
需要说的是(这是其他答案有点遗漏的),&&
不多也不少& <no code here> &
,也就是说,它只是&
连续两个选项卡列对齐点。
它不像美元,$ $
和$$
是一个重要的区别:& &
和的&&
行为方式完全相同。
答案3
&
总体而言,细胞隔膜在表格和类似结构中。TeX 动态计算列宽,尽管可以固定列宽。双精度&
没有特殊含义:单精度&
表示“转到对齐的下一个单元格”,因此&&
表示“下一个单元格为空,转到下一个单元格”。
通用表格应被视为一组按行和列组织的单元格;对齐方式由列逐列确定(但在某些情况下可以被单个单元格覆盖)。
最常见的对齐方式是使用tabular
或array
(区别在于后者必须进入数学模式,并且单元格排版为数学公式)。tabular
必须指定列对齐,输入如下
\begin{tabular}{rcl}
意思是“三列,一列右对齐,一列居中,一列左对齐”。实际上,这会在每列的两侧添加一些空间,因此我们实际上是在指定
<space><right alignment><space><space><center alignment><space><space><left alignment><space>
空间是固定的(\tabcolsep
),但可以通过各种方式进行修改。
适用align
相同的想法,但列数未指定;而是模式
<right alignment><left alignment><dynamic space>
重复多次。<dynamic space>
末尾不添加。因此,输入如下
\begin{align*}
\frac{3x + y}{7} &= 9 && \text{given} \\
3x + y &= 63 && \text{multiply by 7} \\
3x &= 63 - y && \text{subtract y} \\
x &= 21 - \frac{y}{3} && \text{divide by 3} \\
\end{align*}
行中最多有三行&
,按照方案构建对齐
<right alignment><left alignment><dynamic space><right alignment><left alignment>
r
每对中的和列之间没有添加空格l
(但采取了特殊的预防措施以确保=
正确的间距。
空单元格不保留任何空间;对于每一列,最宽的单元格决定保留的空间;因此在该对齐方式中,第三列不占用任何空间,因为其中的所有单元格都是空的。
“动态空间”是根据列的宽度来确定的,以尽可能避免行过满。
在您的第一个例子中,\text{...}
条目最终位于第三列,即右对齐;在上面的例子中,它们则属于第四列,即左对齐。
在第三个例子中,以 开头的单元=
格属于第三列,而\text{...}
位于第五列:对齐方式为(缩写形式)
<right><left><dynspace><right><left><dynspace><right><left>
其中第二、第四和第六列均为空单元格。
答案4
里面align
第一个&
一般在标志前,另一个&
是换栏。
1st column left side &= 1st column right side & 2nd column left side &= 2nd column right side &