Para que serve \if@display no amsmath?

Para que serve \if@display no amsmath?

Notei que em parteuma respostaonde \podé redefinido usando \mathchoice, a instrução \if@display... \else... \fié usada para as duas primeiras opções de \mathchoice. Fiquei me perguntando: o que @displaysignifica e quando é necessário (ou encorajado) usar a declaração \if@display... \else... \fi?

Responder1

\if@displayé um token único, não \if @displayé definido e documentado da seguinte forma em amsmath:

%    The straightforward \cs{ifinner} test to see if the current math
%    context is non-display, fails if, for instance, we are typesetting
%    a multiline display within an \cs{halign}, with the pieces going
%    into constructions like
%    \begin{verbatim}
%    $\displaystyle...$
%    \end{verbatim}
%    So we need a better test to find out if we are `in a display'. We
%    therefore create \cs{if@display}.
%
%    \begin{macrocode}
\newif\if@display
\everydisplay\@xp{\the\everydisplay \@displaytrue}
%    \end{macrocode}

Basicamente, esta é uma construção interna do amsmath que não se destina a ser usada em outro lugar, embora às vezes possa ser usada com cuidado como uma alternativa à \mathchoiceconstrução usual.

informação relacionada