Jade Dungeon

LaTeX证明排版

证明题排版

有同学有这样的需求,他想使用amsthm提供的proof环境, 不过他需要有些地方显示「解」, 有些地方显示「证明」。有这么几种解决方案。

方法一

\begin{proof}之后加一个方括号参数,如:

\documentclass{article}
\usepackage{ctex}
\usepackage{amsmath}
\usepackage{amsthm} % 根据 amsthm 的手册, amsthm 的加载要在 amsmath 之后

% 本文中的导言区的开头都是这四个

\begin{document}

\begin{proof}[解]
\end{proof}

\begin{proof}[证明]
\end{proof}

\end{document}

实际上,当你不加方括号的时候,proof 环境会读取\proofname作为名字。 调用了 ctex 之后,\proofname默认是「证明」。

\begin{proof}
\end{proof}

效果等价于:

\begin{proof}[\proofname]
\end{proof}

所以我们只要修改\proofname就能全修改掉了。

\renewcommand{\proofname}{解}

方法二:

可以在导言区存两个命令:

\newcommand{\zhengming}{\renewcommand{\proofname}{证明}}
\newcommand{\jie}{\renewcommand{\proofname}{解}}

那用的话,就直接调用就行

\jie
\begin{proof} % 解
\end{proof}
\begin{proof} % 解
\end{proof}
\begin{proof} % 解
\end{proof}

\zhengming
\begin{proof} % 证明
\end{proof}
\begin{proof} % 证明
\end{proof}

\jie
\begin{proof} % 解
\end{proof}
\begin{proof} % 解
\end{proof}

方法三:

利用第一个方法,我们可以新定义一个环境。可以定义环境jiezhengming

在导言区加入:

\newenvironment{jie}{\begin{proof}[解]}{\end{proof}}
\newenvironment{zhengming}{\begin{proof}[证明]}{\end{proof}}

使用的时候就

\begin{jie}
\end{jie}

\begin{zhengming}
\end{zhengming}

即可。

现在的宏包

不想这么麻烦,是有现成的宏包的。在 amsthm 之后可以调用thmtools宏包, 让用户可以修改「定理」、「证明」环境的格式。具体使用方法可以查阅 thmtools 宏包手册。

\documentclass{article}
\usepackage{ctex}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{thmtools}

再说几句题外话,proof 环境内可以使用\qedhere把证毕符号移动到该位置 (但是不支持$\(...\)$环境和eqnarray等环境)。

还可以修改\qedsymbol的值来修改证毕符号。更多细节请参考 amsthm 的文档。