PR

【LaTeX】証明環境proofのあれこれ

LaTeX
記事内に広告が含まれています。

\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 コマンドで,証明終わりの記号を出力すればよいです。

関連する記事

参考

  1. amsthm – Typesetting theorems (AMS style)
  2. Move QED symbol to the left, i.e. at the end of the sentence