修补已加星号的环境并将其用作新环境中的嵌套环境

修补已加星号的环境并将其用作新环境中的嵌套环境

对于每个(大多数?)环境,都存在可在命令中使用的\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}

相关内容