当我处于数学模式时,我想了解我是否正在使用displaystyle
或textstyle
并将其保存到宏\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
。
这是什么问题?我该如何处理?