要約
この回では、複数行にわたる数式を amsmath と mathtools の環境で組む方法を学ぶ。別行立て数式をいくつも積み重ねてはならない理由と、等号のまわりのアキが不正確な eqnarray を使ってはならない理由を示す。align と align* を紹介し、揃え位置としての記号 &、行末としての \\、揃えた組を並べる複数の列、そして各行の番号付けを扱う。番号は \notag で消し、\tag で置き換え、\label と \eqref で参照する。gather、multline、split を区別し、内部ブロックの aligned と gathered も扱う。場合分けの定義を cases と dcases で組み、\intertext と \shortintertext で文章を挟み、行列を括弧、点、縦線とともに書き、subequations で式のグループに番号を付け、長い別行立て数式がページをまたいで分割されるようにする。最後に、実際のログファイルで読む典型的なエラーと、避けるべきことを示す。
学習目標
- 等式の連鎖を、積み重ねた別行立て数式や
eqnarrayではなく、一つの揃え環境で組む理由を説明する。 alignで一列または複数列の計算や連立方程式を組み、各&を揃える記号の前に置き、どの行に番号を付けるか、どう参照するかを決める。- 式の構造と付けるべき番号に応じて、
align、gather、multline、split、aligned、gatheredの中から選び、その選択の理由を述べる。 - 場合分けの定義、括弧付きの行列、拡大係数行列を組み、揃えを崩さずに文章を挟む。
- 揃え環境の典型的なエラーを、ログが知らせるものと結果にしか現れないものの両方について診断する。
ばらばらの数式を積み重ねない理由
本文中の数式と別行立て数式の回で見たように、別行立て数式は \[ と \] の間に書き、番号を付けるなら equation 環境に書く。どちらも中央に置かれた一行を組む。しかし、書かれた数学の多くは一行に収まらず、また一つの関係だけでできているわけでもない。計算は等式の連鎖をたどって進み、連立方程式は複数の方程式をまとめ、定義は場合を分ける。いずれの場合も、読者は推論の節目となる記号を上下にそろえて見る必要があり、したがって組版はそれらを揃えなければならない。
まず思いつくのは、別行立て数式を一段階ずつ積み重ねることである。しかし各式はそれぞれ単独で中央に置かれるため、等号は各行の幅しだいの位置に来てしまい、式と式の間には一つの式の内部ではなく、独立した二つの別行立て数式の間のアキが入る。二つめの誘惑は eqnarray 環境である。LaTeX に最初からあり、今も多くの解説書に載っている。揃えはするが、中央の記号を独立した列として組み、関係記号にふさわしいアキより広い表のアキで区切るので、同じ等式がばらばらに見える。次の例は同じ計算を三通りに組んだものである。
一つめでは等号が上下にそろわず、行の間に大きな空白が入る。二つめでは等号が二つのすき間の間に孤立している。三つめだけが、それらを一つの連鎖の関係として組んでいる。この講座で常に読み込む amsmath パッケージは、まさに eqnarray に代わるものとして align とその仲間を用意しており、新しい文書で eqnarray を使うべきではない。
コンテンツを読み込んでいます…