我正在嘗試使用塊對齊方程式的 3 列aligned
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\begin{aligned}
a[i:j] &= \langle\rangle &\text{if } i > j \\
a[i:j] &= \langle a_i, ..., a_j \rangle &\text{if } a = \langle a_0, ..., a_i, ... a_j, ... \rangle \\
a[i:] &= \langle a_i, ... \rangle &\text{if } a = \langle a_o, ..., a_i, ... \rangle
\end{aligned}
\end{equation*}
\end{document}
這導致第二列左對齊,但第一列和第三列右對齊。
答案1
只是稍微擴充一下@vonbrand 的回答…
環境alignat
是環境的延伸align
。它使用&
對齊符號以左右交替的方式對齊區塊。
如果兩個左對齊區塊應該相互跟隨,請使用
&&
而不是&
。您可以透過在連續符號之間插入
\quad
或來在兩個左對齊區塊之間建立額外空間。\qquad
&
環境
alignat
需要一個參數,一個整數。要計算該整數,請取任意行中的最大符號數&
,加 1,然後除以 2&
。加 1 再除以 2 得到 3。
一些附加評論:我將替換所有實例...
以\dots
建立印刷省略號;我將這 3 個:
符號放在花括號中,以避免插入額外的間距。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat}{3} % max. # of '&' symbols in any row: 5. (5+1)/2 = 3
& a[i{:}j] &&= \langle\,\rangle
&\qquad&\text{if $i > j$} \\ % or '\quad', if you prefer
& a[i{:}j] &&= \langle a_i, \dots, a_j \rangle
&&\text{if $a = \langle a_0, \dots, a_i, \dots a_j, \dots \rangle$} \\
& a[i{:}] &&= \langle a_i, \dots \rangle
&&\text{if $a = \langle a_o, \dots, a_i, \dots \rangle$}
\end{alignat}
\end{document}
答案2
使用alignat
,並仔細閱讀文件。它對於如何對齊列內容有非常有趣的想法,您必須小心地選擇要填入的內容。一些實驗(和一些虛擬列,也許僅用於間距)將為您帶來您想要的結果。