Я пытаюсь выровнять 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}
В результате 2-й столбец будет выровнен по левому краю, а 1-й и 3-й — по правому краю.
Я бы хотел, чтобы все они были выровнены по левому краю, вот так:
решение1
Просто немного расширяю тему@vonbrand's ответ...
Окружение alignat
является расширением окружения align
. Оно использует &
символ выравнивания для выравнивания блоков попеременно слева и справа.
Если два выровненных по левому краю блока должны следовать друг за другом, используйте
&&
вместо&
.Вы можете создать дополнительное пространство между двумя выровненными по левому краю блоками, вставив
\quad
или\qquad
между последовательными&
символами.Окружение
alignat
требует аргумент, целое число. Чтобы вычислить это целое число, возьмите максимальное количество&
символов в любой строке, добавьте 1 и разделите на 2. В примере ниже максимальное количество&
символов равно 5; добавление 1 и деление на 2 дает 3. (Если максимальное количество — четное число, добавьте 1 перед продолжением.)
Некоторые дополнительные комментарии: я бы заменил все вхождения на ...
, \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
, и внимательно прочитайте документацию. Там есть довольно забавные идеи о том, как выравнивать содержимое столбцов, вам нужно выбрать те, которые нужно заполнить, с некоторой осторожностью. Немного экспериментов (и несколько фиктивных столбцов, возможно, только для интервалов) дадут вам желаемые результаты.