是否可以创建一个宏来关闭所有当前打开的环境?或者甚至是所有当前打开的环境的明确子集(其中子集将是标准用户环境)?
用法如下
\begin{document}
\begin{example}
\begin{enumerate}
\item blah
\item blah
\CloseEverything
相当于\CloseEverything
\end{enumerate}
\end{example}
\end{document}
答案1
\documentclass{article}
\newenvironment{example}{\par\hrule\bfseries}{\par\hrule}
\makeatletter
\def\CloseEverything{%
\expandafter\end\expandafter{\@currenvir}\CloseEverything
}
\makeatother
\begin{document}
\begin{example}
\begin{enumerate}
\item blah
\item blah
\CloseEverything