
Noté que en parteuna respuestadonde \pod
se redefine usando \mathchoice
, la declaración \if@display
... \else
... \fi
se usa para las dos primeras opciones de \mathchoice
. Me preguntaba: ¿qué significa @display
y cuándo es necesario (o se recomienda) utilizar la declaración \if@display
... \else
... \fi
?
Respuesta1
\if@display
es un token único, no \if
@display
está definido y documentado de la siguiente manera en 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}
Básicamente, esta es una construcción interna en amsmath que no está destinada a ser utilizada en ningún otro lugar, aunque a veces puede usarse con cuidado como una alternativa a la \mathchoice
construcción habitual.