[原创] LaTeX 中优雅地使用证明结束符

用 LaTeX 写论文时, 免不了几个的证明或者个别无需证明的推论之类, 按照一般科技论文的规则, 这些都应该是需要证明结束符的.

这里推荐的是 ntheorem 宏包, 证明结束符以 $\square$ 为例, 当然在以数学环境结束时也不会换行显示. 效果如图, 代码如下.

\documentclass{article}

\usepackage{amssymb}
\usepackage[tbtags]{amsmath}
\usepackage[thmmarks,amsmath]{ntheorem} %%放在 amsmath 之后

\qedsymbol{\ensuremath{\square}} %%在如无需证明的推论等定理类环境中使用 \qed 以显示证明结束符, 此处使用 \ensuremath{\square} 而不是 $\square$ 以便在以数学环境结束的证明中也可以正常使用.
{   % 利用分组,格式设置只作用于证明环境  不出现证明结束符查看ntheorem的thmmarks参数加了没
   \theoremstyle{nonumberplain}
   \theoremheaderfont{\bfseries}
   \theorembodyfont{\normalfont}
   \theoremsymbol{\ensuremath{\square}} %%\square 需要 amssymb 的支持
   \newtheorem{proof}{Proof}
}

\newtheorem{corollary}{Corollary}

\begin{document}

\begin{proof}
A proof ending with \verb|\]|.
\[
a^2 + b^2 = c^2.
\]
\end{proof}

\begin{proof}
Another proof ending with \verb|align*| environment.
\begin{align*}
a &= b \\
&= c.
\end{align*}
\end{proof}

\begin{corollary}
This corollary is immediate. \qed %%无需证明的推论结尾时加上 \qed 也可以出现证明结束符, 这个是由 \qedsymbol{\ensuremath{\square}} 定义的
\end{corollary}

\end{document}

其中除了代码注释的几个之外, 在定义证明环境时的
\theoremstyle{nonumberplain}
意思是不要编号, 其余的从字面意思就能知道意思了. 当然了, 为了使样例尽可能简化, 所以只给出了证明, 以及一个无需证明的推论. 如果有何问题, 可以通过微信公众号或邮箱或QQ联系.