对于每个(大多数?)环境,都存在可在命令中使用的\begin{X}...\end{X}
宏。例如,可以这样写\X
\endX
\newenvironment
\newenvironment{Y}{\somemacro\X}{\endX}
如果 X 有带星号的版本,而我想修补 X*,我该如何实现类似的结果。注意,Y 不一定有带星号的版本。
更具体地说,目前我有这个
\makeatletter
\newenvironment{smallequation}{\def\f@size{8}\check@mathfonts\equation}{\endequation}
\newenvironment{footnoteequation}{\def\f@size{7}\check@mathfonts\equation}{\endequation}
\newenvironment{scriptsizeequation}{\def\f@size{6}\check@mathfonts\equation}{\endequation}
\newenvironment{tinyequation}{\def\f@size{5}\check@mathfonts\equation}{\endequation}
\makeatother
这是回答这个问题。但是,现在我想对方程式*环境做同样的事情。
答案1
您可以使用
\csname equation*\endcsname
\csname endequation*\endcsname
例如
\newenvironment{smallequation*}
{\def\f@size{8}\check@mathfonts\csname equation*\endcsname}
{\csname endequation*\endcsname}