在 \mathchoice 内定义宏

在 \mathchoice 内定义宏

当我处于数学模式时,我想了解我是否正在使用displaystyletextstyle并将其保存到宏\mystyle

为此,我使用\mathchoice并定义\mystyle如下:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\def\mycommand#1{\mathchoice%
    {\global\let\mystyle\displaystyle}
    {\global\let\mystyle\textstyle}
    {\global\let\mystyle\textstyle}
    {\global\let\mystyle\textstyle}
    \mystyle#1}
\[\mycommand{\frac12}\]
\end{document}

(当然,我也可以只写\mathchoice{\displaystyle #1}{\textstyle #1}...,但我想保存当前的样式并重复使用)

然而,似乎所有\global\let ...序列都已执行,因此结果是\textstyle \frac12

这是什么问题?我该如何处理?

相关内容