amsmath はデフォルトで環境表示スタイルに揃えられていますか?

amsmath はデフォルトで環境表示スタイルに揃えられていますか?

aligned環境は自動的にですか\displaystyle? このテストでは次のようになっているようです:

\documentclass{article}
\usepackage{amsmath}

\begin{document}
  \(\begin{aligned}
    \int_{0}^{\pi}f(x)dx &= \frac{1}{\pi} \\
  \end{aligned}\)

  \(\int_{0}^{\pi}f(x)dx = \frac{1}{\pi} \)
\end{document}

さらに、amsmath.sty次のコードが含まれています。

\newcommand{\start@aligned}[2]{%
    \RIfM@\else
        \nonmatherr@{\begin{\@currenvir}}%
    \fi
    \savecolumn@ % Assumption: called inside a group
    \alignedspace@left
    \if #1t\vtop \else \if#1b \vbox \else \vcenter \fi \fi \bgroup
        \maxfields@#2\relax
        \ifnum\maxfields@>\m@ne
            \multiply\maxfields@\tw@
            \let\math@cr@@@\math@cr@@@alignedat
            \alignsep@\z@skip
        \else
            \let\math@cr@@@\math@cr@@@aligned
            \alignsep@\minalignsep
        \fi
        \Let@ \chardef\dspbrk@context\@ne
        \default@tag
        \spread@equation % no-op if already called
        \global\column@\z@
        \ialign\bgroup
           &\column@plus
            \hfil
            \strut@
            $\m@th\displaystyle{##}$%
            \tabskip\z@skip
           &\column@plus
            $\m@th\displaystyle{{}##}$%
            \hfil
            \tabskip\alignsep@
            \crcr
}

残念ながら、私はあまりTexハッカーではないので確信はありませんが、マクロ定義には が含まれています\displaystyle。ただし、この情報をドキュメントで追跡することはできませんでした。セクション3(amsmathユーザーガイド)には、表示される方程式がリストされていますが、alignedその中には は含まれていません。

特定の数式環境が であるかどうかを判断する良い方法はありますか\displaystyle? 通常、インライン数式はデフォルトで非表示になっていると思いますが、環境はまたはaligned内で使用されます。\(\)$$

答え1

コードにはピースが含まれている

\ialign\bgroup % spaces before and after & included for clarity
       & \hfil$\m@th\displaystyle{#}$ & $\m@th\displaystyle{{}#}$\hfil \crcr
%        \____________  ____________/   \_____________  _____________/
%                     \/                               \/
%         first column specification       second column specification

要点と関係のない多くの部分を削除しました。また、わかりやすくするためにアンパサンドの前後にスペースを入れましたが、実際にはアンパサンドの前のスペースが重要です。また、を 1 つに&置き換えました。これは、ネストされた定義の通常の TeX 規則に由来するためです。最初の部分はとりあえず忘れてください。 は、水平方向の配置のための TeX プリミティブ (列間の距離を 0 に設定する)の初期化された形式です。最初の列には、次の仕様があります。###&\ialign\halign

\hfil $\m@th\displaystyle{#}$

これは「右揃え、表示スタイルは数式」を意味します。arrayパッケージの表記法を使用すると、これは次の形式の列指定子になります。

>{$\m@th\displaystyle\bgroup}r<{\egroup$}

2列目には

$\m@th\displaystyle{{}#}$\hfil

これは、「左揃え、表示スタイルは数式、空の\mathordアトムで始まる」ことを意味します (正しい間隔のために重要)。

最初に無視するように指示した行の最初の部分はどうでしょうか&? これは TeX の構造です。TeXBook (p. 241) から引用します。

&プリアンブルは周期的な構造を持つことが多く、テンプレートの 1 つの直前に を追加すると、TeX はプリアンブル\crを、 に到達したときにマークされたテンプレートから再び始まる無限シーケンスであると見なします。

したがって、この右揃え、左揃えの列のシーケンスは、無限に繰り返すことができます。したがって、環境は基本的に、すべて表示スタイル数式モードでのaligned繰り返し列を含む表形式に対応します。rlrlrlrl...

関連情報