amsmathのalignat環境を使うと、連続する簡略化手順で対応する項に共通の整列列を設定できます。このガイドでは、項が消える手順も含め、Mac上のLaTeX文書でそのレイアウトを作成する方法を説明します。
導出に必要な整列方法を選ぶ
まず、読者が縦方向に何を追えるようにしたいかを決めます。等号、対応する項の先頭、個々の演算子のいずれでしょうか。これらは異なるレイアウト方法です。以下の例では、式を簡略化しながら、二次、一次、定数の各部分を3つの安定した位置に保つことを目指します。
LaTeX Projectは、数式組版について、amsmathパッケージのユーザーズガイドを参照するよう案内しています。そこに記載された環境では、次の方法を選べます。LaTeXコアドキュメント、amsmathユーザーズガイド、第3.3~3.7節。
| 目的のレイアウト | 環境 | 使用する場所 |
|---|---|---|
| 単純な式の連鎖を等号の位置で揃える | alignまたはalign* |
文書本文に直接記述 |
| 対応する複数の項のグループを明示的な間隔で揃える | alignatまたはalignat* |
文書本文に直接記述 |
| 項を揃えた導出全体に1つの式番号を付ける | equation内のalignedat |
外側の数式環境の内側 |
| 1つの式を単一の整列位置で改行する | equation内のsplit |
外側のディスプレイ環境の内側 |
| 対応する項を揃えずに長い式を改行する | multline |
文書本文に直接記述 |
この作業では、まずalignat*を使います。列のペアを使って、グループ間の空きを調整できます。一方、alignは別々の式グループ間に間隔を設けるため、項ごとの導出が必要以上に間延びすることがあります。アスタリスクは式番号を付けない指定です。amsmathユーザーズガイド、第3.6節、LaTeXを学ぶ:数式。
項を揃えた簡略化を完成させる
次の架空の例では、xの同じべきの項をまとめてから、係数を略記します。すべての文字は通常の可換スカラー量を表します。A=a+b、B=c+d、C=e+fを定義します。最後の行は、項をまとめた後の表記の変更です。
この完全な文書をterm-alignment.texとして保存してください。必須パッケージは\begin{document}より前に読み込みます。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Let $A=a+b$, $B=c+d$, and $C=e+f$.
Then
\begin{alignat*}{3}
P(x)&=a x^2+b x^2 &&{}+c x+d x &&{}+e+f\\
&=(a+b)x^2 &&{}+(c+d)x &&{}+e+f\\
&=A x^2 &&{}+B x &&{}+C
\end{alignat*}
\end{document}
レイアウトは3つの縦方向のグループとして読みます。最初のグループには等号と二次の部分が入ります。2つ目は一次の部分の前のプラス記号から始まります。3つ目は定数項の前のプラス記号から始まります。係数をまとめると各グループの幅は変わりますが、選んだ整列位置は各行で共通のままです。
これは、一致する代数項を自動認識する機能ではなく、文書に記載された列の仕組みを使った例です。各式を意図した列に割り当てると、整列環境がその列を配置します。この実装では、右揃えと左揃えのフィールドを交互に使います。amsmathパッケージ、第17節。
編集する前にアンパサンドの役割を理解する
alignat*では、引数{3}によって列のペアを3組宣言します。したがって、すべてのフィールドを指定した行には6つのフィールドと5つの&区切りが必要です。マニュアルの数え方では、行にあるアンパサンドの最大数に1を足し、2で割ります。amsmathユーザーズガイド、第3.6節。
1行目のフィールドの割り当ては次のとおりです。
| フィールド | 内容 | この例での役割 |
|---|---|---|
| 1 | P(x) |
右揃えの左辺 |
| 2 | =a x^2+b x^2 |
左揃えの等号と二次項グループ |
| 3 | 空 | 未使用の右揃えフィールド |
| 4 | {}+c x+d x |
左揃えの一次項グループ |
| 5 | 空 | 未使用の右揃えフィールド |
| 6 | {}+e+f |
左揃えの定数項グループ |
&&の並びによって、フィールド3と5が空になります。後続の行では、先頭の&によってフィールド1が空になり、等号から導出を続けられます。\\コマンドは行を終了します。
{}+にある空のグループは、フィールド境界で二項演算のプラス記号の間隔を指定するための左オペランドになります。文字は何も表示されません。これらの例を応用するときは、この形を保ってください。パッケージの整列プリアンブルでも、左揃えフィールドの先頭に空のグループを使います。amsmathパッケージ、整列プリアンブル。
ソース内の通常の空白はコードを読みやすくしますが、数式モードで横方向の位置を決めるものではありません。整列はフィールドの構造によって決まります。LaTeXを学ぶ:数式。
Macで例をコンパイルする
コンパイルするには、動作するTeXディストリビューションが必要です。TeXShopのインストール文書では、MacTeXとBasicTeXのインストール方法が説明され、アプリケーションが有効なディストリビューションのプログラムを見つけるための共通の場所として/Library/TeX/texbinが示されています。TeXShop:TeX Liveのインストール。
直接コンパイルする場合は、ファイルをデスクトップにプレーンテキストとして保存し、Terminalを開いて次の2つのコマンドを順に実行します。
cd "$HOME/Desktop"
/Library/TeX/texbin/pdflatex -interaction=nonstopmode -halt-on-error term-alignment.tex
生成されたterm-alignment.pdfを開き、3つの項グループを確認します。この手順では、デスクトップが$HOME/Desktopにあり、ファイル名が指定どおりであることを前提としています。コンパイルが停止した場合は、PDFを評価する前に表示されたエラーに対処してください。以前の実行で生成された古いPDFが残っていることがあります。
項が消えても列を保つ
約分するとき、安定したレイアウトが特に役立ちます。一次の係数がc-cだとします。一次の位置を空にしながら、最後の定数項を前の定数項の下に保ちたい場合があります。
次の完全な文書では、全体を通して同じ6フィールドの構造を保ちます。中央の行ではゼロ係数を明示し、最後の行では定数項をその位置に移動させずに一次項を削除しています。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Cancelling the linear coefficient gives
\begin{equation}
\begin{alignedat}{3}
Q(x)&=(a+b)x^2 &&{}+(c-c)x &&{}+d\\
&=(a+b)x^2 &&{}+0x &&{}+d\\
&=(a+b)x^2 && &&{}+d
\end{alignedat}
\end{equation}
\end{document}
最後の行では、二次式の後にある2つの&&の並びを両方とも残します。これらが間にある空のフィールドを保ちます。片方を削除すると、定数項が前のグループに移動し、縦方向の配置が伝える意味が変わります。
この例では、導出全体に1つの番号を付けるための正式な方法も示しています。alignedatをequationの中に入れます。内側の環境は内容に応じた幅を取り、外側に数式環境が必要です。amsmathユーザーズガイド、第3.7節。
読者が約分を追っている間は、空の位置が役立ちます。文書内の別の場所に最終式を単独で示すなら、簡潔な式(a+b)x^2+dを記述します。現在のディスプレイの目的が対応関係を示すことなのか、完成した結果を示すことなのかを判断してください。
間隔と整列の問題を診断する
個々の間隔を調整する前に、構造を確認します。次の手順は、上記2つのレイアウト例を対象にしています。
- パッケージが読み込まれているか確認する。 プリアンブルに
\usepackage{amsmath}を入れます。 - 外側の環境を確認する。 文書本文で
alignat*を直接使います。equationまたは別の適切な数式環境の中ではalignedatを使います。 - 区切りを数える。 各例の行には
{3}のための&文字が5つあります。新たに追加した行がこのパターンに合っているか確認します。 - グループへの割り当てを確認する。 1つの項だけが横にずれる場合は、そのフィールド位置を前の行と比べます。
- 数式の内容を確認する。 符号、係数、指数が変われば、列が揃っていても代数的な変更です。
整列区切りが多すぎると、パッケージエラーExtra & on this lineが発生します。alignのようなディスプレイ環境をequationの中に誤ってネストしても、式の構造に関するエラーが発生します。その場合は、alignedatのような内側の構成要素を使います。amsmathパッケージ、第17節。
ある列が広すぎるように見える場合は、その列で最も長い式を確認します。最初の例では、a x^2+b x^2がA x^2よりも大きな幅を取ります。この余分な幅によって、意図した対応関係が保たれます。圧縮を試す前に、3つのグループすべてに個別の整列位置が必要かどうかを考えてください。
また、どの部分が揃っていないように見えるのかを正確に特定してください。これらの例では、先頭のプラス記号を含め、項グループの先頭を揃えます。各グループ内の係数、変数、指数を個別に揃えるわけではありません。読者が連続する等式を追うだけでよければ、基準点を1つにした、よりシンプルなレイアウトのほうが読みやすい場合があります。
導出を組み直さずに説明を加える
変形に文章での説明が必要なとき、mathtoolsは\shortintertextを提供します。整列位置を保ちながら、整列行の間にテキストを挿入できます。amsmathを読み込むため、プリアンブルを\usepackage{mathtools}に変更します。mathtoolsパッケージ、第2節および第3.5節。
たとえば、ラベル付きの次の断片は、パッケージを変更した後、最初の完全な文書の整列ブロックと置き換えます。
\begin{alignat*}{3}
P(x)&=a x^2+b x^2 &&{}+c x+d x &&{}+e+f\\
\shortintertext{Collect coefficients of matching powers of $x$.}
&=(a+b)x^2 &&{}+(c+d)x &&{}+e+f
\end{alignat*}
読者に注目してほしい操作を説明する文を使います。この例では、共有列によって各グループの位置はすでに示されています。挿入したテキストは、その形が変わる理由を説明しています。
自分の導出では、まず意図する項グループを簡単に図示し、各グループを安定したフィールドに割り当て、約分の間もそのフィールドを保ちます。新しい変形を追加するたびにコンパイルしてください。この手順なら対応関係を意図どおりに保てるうえ、後で編集するときにもソースを理解しやすくなります。
出典
- LaTeX Documentation — LaTeX Project。
- amsmathパッケージのユーザーズガイド — American Mathematical SocietyおよびLaTeX Project。
- The amsmath package — LaTeX Project。
- 数式 — Learn LaTeX。
- TeX Liveのインストール — TeXShop。
- The mathtools package — Morten Høgholm、Lars MadsenおよびLaTeX3 Project。