我尝试使用amsthm
和thmtools
来定义一个类似于定理的环境,称为rule
。事实证明这是一个坏主意,因为amsthm
然后尝试定义\rule
和\@rule
。
现在,正确的解决方案显然是调用环境Rule
或其他东西,但我想知道是否有解决方法。
我目前的进展是做类似的事情
\let\oldrule\rule
\let\oldatrule\@rule
\let\rule\undefined
\let\@rule\undefined
\declaretheorem{rule}
\let\newrule\rule
\let\newatrule\@rule
\let\rule\oldrule
\let\@rule\oldatrule
然后做一些类似的事情
\AtBeginEnvironment{rule}{%
\let\rule\newrule
\let\@rule\newatrule}
\AtEndEnvironment{rule}{%
\let\rule\oldrule
\let\@rule\newatrule}
只要您不在\rule
环境中使用线路,这种方法就可以奏效。即使我想这样做,有没有办法让它工作?
我主要出于学术兴趣,并且同意任何实际文件中都不应该做这样的事情。