\LaTeX において,定理の
証明を記述する方法について解説します。
proof 環境
証明の環境としては,amsthm
パッケージの proof
環境が有名です。これを主に解説しましょう。プリアンブルの,amsmath
パッケージの後に \usepackage{amsthm}
とかいてください。
proof 環境の基本的な使い方
proof
環境は,\begin{proof}[<comment>] ... \end{proof}
の形で用います。commentの部分は省略しても構いません。
以下に例を記載しましょう。
\begin{proof}
If \(f\) is non-negative,
\begin{equation}
f(x) = x^2.
\end{equation}
We omit the rest of the proof.
\end{proof}
このように,デフォルトでは,証明のはじめに斜体で \text{ \it Proof.} とかかれ,証明の終わりには \square がつきます。
上で,\begin{proof}[Proof of Theorem 3]
のように,commentを記載すると,以下のように出力されます。
証明のはじめの部分が,コメント部分の内容に置き換わりましたね。書体は斜体のままです。
proof 環境を日本語にカスタマイズして使う
証明のはじめを \text{ \it Proof.} ではなく,日本語で証明. のようにしたい場合は,プリアンブルに
\renewcommand{\proofname}{\textbf{証明}}
とかきます。\textbf
は太字にする命令です。
これで満足するならそれでよいでしょう。ただし,厳密には不十分な部分があります。もともと,これは「文字列」のみを変える命令であり, \text{ \it Proof.} のように,斜体にするという命令まで書き換えていることにはなりません。よって,\textbf{}
を用いたことで,内部では {\itshape \textbf{文字列}.}
みたいな感じになっています(\itshape
は斜体にする命令です)。
後ろのドットが斜体のままなのは,あまり気にならないかもしれませんが, 問題なのは次のようなケースです。
\begin{proof}[\textbf{定理3の証明}]
自明.
\end{proof}
数字が斜体になってしまっています。このように,英語や数字を含むと,そこは斜体になってしまうのです。
これを解決するには,proof
環境を再定義するしかありません。まずは,以下のコードをプリアンブルにコピーしてください。これが,proof
環境のデフォルトです。
\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
\pushQED{\qed}%
\normalfont \topsep6\p@\@plus6\p@\relax
\trivlist
\item\relax
{\itshape
#1\@addpunct{.}}\hspace\labelsep\ignorespaces
}{%
\popQED\endtrivlist\@endpefalse
}
\makeatother
7行目の \itshape
の部分が,斜体にしている部分です。これを削除したり,\bfseries
(太字) にすると,上の問題は回避できるでしょう。
なお,8行目の \@addpunct{.}
の部分をいじれば,証明. のドットの部分も別の記号に変えることができます。
証明終わりの記号の種類を変える
証明環境において,証明終わりの記号は,デフォルトでは \square (\square
) のような記号が使われています。これを例えば黒四角 \blacksquare (\blacksquare
) にしたい場合は,プリアンブルに
\renewcommand{\qedsymbol}{$\blacksquare$}
とかきます。他にも, \renewcommand{\qedsymbol}{Q.E.D.}
などすることが可能です。証明終わりの記号を出力したくない場合は,単に
\renewcommand{\qedsymbol}{}
とします。
証明環境 \begin{proof} ... \end{proof}
以外で証明終わりの記号を用いたい場合は,\qed
というコマンドを用いるとよいです。これを使うと,その行の右端に証明終わりの記号を出力してくれます。
証明終わりの記号の位置を変える
証明環境における証明終わりの記号は,原則,最終行の右端につきます。しかし,最後が \begin{equation} ... \end{equation}
のように,別行立て数式のときは,その一行下につきます。
これが気になる場合は,\qedhere
というコマンドで,どこに証明終わりの記号を出力するかを明示的に指定できます。たとえば,\begin{equation} ... \qedhere \end{equation}
みたいな感じで用います。
エラーが出る場合は \qedhere
ではなく,\mbox{\qedhere}
とかいてみてください。
また,右端ではなく,証明終わりの直後につけたいと思うかもしれません。そんなときはプリアンブルに
\renewcommand{\qed}{\unskip\nobreak\quad\qedsymbol}
とかきます。すると,以下のように出力されます。
proof 環境以外を使う方法
\begin{proof} ... \end{proof}
以外で証明を書く方法を紹介します。この節についても amsmath, amsthm
パッケージは読み込んでいるものとします。
定理環境を用いる
amsthm
による定理環境を用いてもよいでしょう。たとえば,以下のようにします。
%英語の場合
\theoremstyle{remark}
\newtheorem*{Proof}{Proof}
%日本語の場合
%\theoremstyle{definition}
%\newtheorem*{Proof}{証明}
こうすれば,\begin{Proof} ... \end{Proof}
という証明環境が作れます。ただし,証明終わりの記号は出力されませんから,\qed
コマンドなどで,自分で挿入する必要があります。
そもそも環境を用いない
とてつもなく長い証明などでは,証明自体を一つのセクションにし,環境を用いずに書くのが良いでしょう。最後に \qed
コマンドで,証明終わりの記号を出力すればよいです。