amsmath 中的 \if@display 有什么用途?

amsmath 中的 \if@display 有什么用途?

我注意到一个答案其中\pod使用 重新定义\mathchoice,语句\if@display... \else...\fi用于 的前两个选项\mathchoice。我想知道: 是什么@display意思,什么时候需要(或鼓励)使用语句\if@display... \else... \fi

答案1

\if@display是一个单独的标记,而不是\if @display在 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}

基本上,这是 amsmath 中的内部构造,不打算在其他地方使用,但有时可以小心地将其用作通常构造的替代\mathchoice

相关内容