数式内のすべての列を左揃えにする

数式内のすべての列を左揃えにする

ブロックを使用して方程式の 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 の回答...

環境は環境alignatの拡張ですalign&配置シンボルを使用して、ブロックを左右交互に配置します。

  • 2 つの左揃えのブロックが連続する場合は、&&ではなく を使用します&

  • 連続する記号の間に\quadまたは を挿入することで、左揃えの 2 つのブロック間に余分なスペースを作成できます。\qquad&

  • 環境alignatには引数として整数が必要です。この整数を計算するには、&任意の行のシンボルの最大数に 1 を加えて 2 で割ります。以下の例では、&シンボルの最大数は 5 です。1 を加えて 2 で割ると 3 になります (最大数が偶数の場合は、続行する前に 1 を加算します)。

追加のコメント:印刷上の省略記号を作成するために、...のすべてのインスタンスを に置き換えます。また、挿入される余分なスペースを回避するために、3 つの記号を中括弧で囲みます。\dots:

ここに画像の説明を入力してください

\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、ドキュメントを注意深く読んでください。列の内容を揃える方法については、かなり面白いアイデアがあります。列を埋める内容を慎重に選択する必要があります。少し実験すると (スペースのみのため、ダミーの列もいくつか)、希望する結果が得られます。

関連情報