[已解决] Environment proof undefined.

时间:2025-01-28 22:56:04

Environment proof undefined.

为什么会有这个问题

一开始使用的是\documentclass[10pt]{ctexart}的话, ctexart可能自动把proof设置成中文了. 觉得很难看, 想改成英文.

加入

\newtheorem{theorem}{Theorem}[section]
\newtheorem{definition}[theorem]{定义}
\newtheorem{lemma}{引理}
\newtheorem{corollary}[theorem]{推论}
\newtheorem{example}[theorem]{例}
\newtheorem{proposition}[theorem]{命题}
% \newtheorem*{proof}{Proof}

之后发现报错:

Environment proof undefined.
\begin{document} ended by \end{proof}.

解决方案

网上查了可能是这样的:

\let\proof\relax\let\endproof\relax
\usepackage{amsthm}

如果这样没用, 可以尝试\let\proof\relax\let\endproof\relax放到下一行…

\usepackage{amsthm}
\let\proof\relax\let\endproof\relax

虽然很无语, 但是亲测可用.

最后

最后还需要把Proof斜体改成和定理一样的字体. 以及去掉编号,
这里注意amsthm包和ntheorem包冲突. 所以这里也会报错, 去掉编号的话肯定要用ntheorem的, 注释掉amsthm就行了.

最后给一个环境吧.

\usepackage{amsmath}

\usepackage{ntheorem}
\let\proof\relax\let\endproof\relax
% \usepackage{amsthm}

\newtheorem{theorem}{Theorem}[section]
\newtheorem{definition}[theorem]{定义}
\newtheorem{lemma}{引理}
\newtheorem{corollary}[theorem]{推论}
\newtheorem{example}[theorem]{例}
\newtheorem{proposition}[theorem]{命题}
\newtheorem*{proof}{Proof}

除了定理和证明, 其他还没来得及修改成英文, 想着用的时候再修改就行.

参考:

/questions/43835/