O estilo de exibição do ambiente alinhado ao amsmath é por padrão?

O estilo de exibição do ambiente alinhado ao amsmath é por padrão?

O alignedambiente é automaticamente \displaystyle? Este teste parece indicar que é:

\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}

Além disso, amsmath.stycontém o seguinte código:

\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
}

Infelizmente, não sou um hacker de texto, então não posso ter certeza, mas a definição da macro inclui \displaystyle. No entanto, não consegui rastrear essas informações na documentação. A seção 3 (guia do usuário amsmath) lista as equações exibidas, mas alignednão está entre elas.

Existe uma boa maneira de determinar se um determinado ambiente matemático é \displaystyle? Normalmente, eu teria assumido que os padrões matemáticos embutidos são não exibidos, mas o alignedambiente é usado dentro \(\)de ou $$.

Responder1

O código contém a peça

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

Eu apaguei muitas coisas que são irrelevantes; Também introduzi espaços ao redor do E comercial &para maior clareza, embora o espaço antes dele seja realmente importante; e substituí ##por um single #, já que a duplicação decorre das regras usuais do TeX para definições aninhadas. Esqueça o primeiro &por enquanto. \ialigné uma forma inicializada de \halign, a primitiva TeX para alinhamento horizontal (define a distância entre colunas como zero). A primeira coluna tem a especificação

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

que significa "matemática de estilo de exibição alinhada à direita". Usando a notação do arraypacote este seria um especificador de coluna no formato

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

A segunda coluna contém

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

que significa "matemática de estilo de exibição alinhada à esquerda e começa com um \mathordátomo vazio" (importante para o espaçamento correto).

E o primeiro &da fila, que eu primeiro disse para ignorar? Essa é uma construção TeX; citando o TeXBook (p. 241)

Os preâmbulos geralmente têm uma estrutura periódica, e se você colocar um extra &logo antes de um dos modelos, o TeX considerará o preâmbulo como uma sequência infinita que começa novamente no modelo marcado quando for \cralcançado.

Portanto, esta sequência de colunas alinhadas à direita e à esquerda pode ser repetida indefinidamente. Portanto o alignedambiente corresponde basicamente a um tabular com rlrlrlrl...colunas repetidas, tudo em modo matemático displaystyle.

informação relacionada