我希望能够在文档中全局显示和隐藏校样,并能够使用宏来打开和关闭校样环境。这是我当前的 MWE:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\newif\ifshowproof
\newcommand{\bp}{\ifshowproof\begin{proof}}
\newcommand{\ep}{\end{proof}}
\showprooffalse
\begin{document}
Goodbye.
\bp
Hello.
\ep\fi
Test.
\end{document}
正如这里所探讨的:newcommand 不能与 \fi 一起使用,我无法简单地添加\fi
到 的定义中\ep
,但是,我想有一个“catch-all”宏,也就是说,理想情况下是可以作为 执行的宏\end{proof}\fi
。有没有简单的方法可以做到这一点?
答案1
我只需使用\NewEnviron
来定义一个Proof
可以执行您想要的操作的环境:
代码:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{environ}
\newif\ifshowproof
\showprooffalse
\NewEnviron{Proof}{%
\ifshowproof%
\begin{proof}%
\BODY
\end{proof}%
\fi%
}%
\begin{document}
Goodbye.
\begin{Proof}
Hello.
\end{Proof}
Test.
\showprooftrue
Goodbye.
\begin{Proof}
Hello.
\end{Proof}
Test.
\end{document}