我怎样才能取消定义环境?
取消定义命令的方法如下:
\newcommand\foo
\makeatletter
\let\foo\@undefined
\makeatother
我需要spacing
从setspace
包中取消定义环境。这似乎不起作用:
\usepackage{setspace}
\makeatletter
\let\beginspacing\@undefined
\let\endspacing\@undefined
\makeatother
答案1
该宏\newenvironment{foo}
定义了两个宏
\foo
\endfoo
不是\beginfoo
。
除了 undefine 之外spacing
,您还可以简单地将其设为 noop:
\renewenvironment{spacing}{}{}
这是更好的选择,因为它将跟踪嵌套环境。
答案2
每这个答案, 使用
\let\spacing\@undefined
\let\endspacing\@undefined
取消定义spacing
环境。请注意,这\@undefined
不是一个特殊命令,它本身就是未定义的。