LoginSignup
4
4

More than 1 year has passed since last update.

LaTeXの定理・証明環境をつくる

Last updated at Posted at 2021-09-10

数学の論文・レポートを書くときには、「定義」「定理」「証明」を並べて書くスタイルを使います。これをLaTeXで書くときの環境構築についてまとめました。

サンプルコード

困ったらプリアンブルをまるっとコピーしてくれればokです。

プリアンブル

sample.tex
    \usepackage{amsthm}

    \theoremstyle{definition}
    \newtheorem{dfn}{Definition}[section]
    \newtheorem{prop}[dfn]{Proposition}
    \newtheorem{lem}[dfn]{Lemma}
    \newtheorem{thm}[dfn]{Theorem}
    \newtheorem{cor}[dfn]{Corollary}
    \newtheorem{rem}[dfn]{Remark}
    \newtheorem*{rem*}[dfn]{Remark}
    \newtheorem{fact}[dfn]{Fact}
    \renewcommand{\qedsymbol}{$\blacksquare$}

入力例1

\section{二等辺三角形}
\begin{dfn}
二等辺三角形とは、2つの辺の長さが等しい三角形のことである。
\end{dfn}
\begin{prop}
二等辺三角形の2つの底角の大きさは等しい。
\end{prop}

\section{正三角形}
\begin{dfn}
正三角形とは、すべての辺の長さが等しい三角形のことである。
\end{dfn}
\begin{prop}[正三角形と二等辺三角形]
正三角形は二等辺三角形である。
\end{prop}
\begin{rem*}
逆は成り立たない。すなわち、二等辺三角形がすべて正三角形とは限らない。
\end{rem*}
\begin{thm}
\label{angle_eq}
正三角形において、すべての角の大きさは等しい。
\end{thm}
\begin{proof}
正三角形$ABC$は、$AB=AC$の二等辺三角形だから、2つの底角は等しい。すなわち$\angle ABC = \angle ACB$である。
同様にして、$\angle BCA = \angle BAC, \angle CAB = \angle CBA$が成り立つ。
したがって、$\angle ABC = \angle BCA = \angle CAB$が成り立つ。
\end{proof}
\begin{cor}
正三角形の一つの内角の大きさは\ang{60}である。
\end{cor}
\begin{proof}
Theorem \ref{angle_eq}と、三角形の内角の和が\ang{180}であることから従う。
\end{proof}

出力例
image.png

定理環境の構築

まず、amsthmパッケージを入れます。

    \usepackage{amsthm}

プリアンブルに\newtheorem命令を打ち込むと、新しく環境が定義できます。

    \newtheorem{env_name}{Caption}

ここでenv_nameは環境名、Captionは表題として表示される名前です2。環境名を同じにしても、Captionを定義、定理、……とするか、Def. Thm. ……とするかで、表示する名前を変えられます。

環境を使う

実際に使う場合には、

    \begin{env_name}
    本文
    \end{env_name}

とします。

コメントを別に付けたい場合は、

    \begin{env_name}[コメント]
    本文
    \end{env_name}

とすれば、Caption 番号 (コメント) のように出力されます。

定理を参照したい場合には、まず参照したい定理に\labelコマンドでラベルを付けます。

    \begin{env_name}
    \label{hogehoge}
    本文
    \end{env_name}

その後、参照したい部分で\ref{hogehoge}とすれば、定理番号が自動で挿入されます。

証明環境

proof環境は、\newtheoremで定義することなく使えます。

    \begin{proof}
    証明
    \end{proof}

デフォルトでは、表題として斜体の"Proof."が出力されます。これを日本語に変えたい場合には、

    \renewcommand{\proofname}{\textbf{証明}}

とすればよいです。立体3・太字の"証明."が出力されます。

通し番号をつける

通常の場合、通し番号は環境ごとに別々につけられます。

    \newtheorem{dfn}{Definition}
    \newtheorem{prop}{Proposition}
    \newtheorem{thm}{Theorem}
    \newtheorem{cor}{Corollary}

image.png

これを通し番号にするには、各\newtheoremコマンドのenv_nameCaptionの間に、連動させたい環境名を[]でくくって入力します。

    \newtheorem{dfn}{Definition}
    \newtheorem{prop}{Proposition}
    \newtheorem{thm}[dfn]{Theorem}
    \newtheorem{cor}[dfn]{Corollary}

image.png
上の例では、DefinitionとTheorem, Corollaryがひとまとめに通し番号を振られており、Propositionは独立に通し番号がつけられています。

章ごと、ないしは節ごとに通し番号を振りたい場合は、\newtheoremコマンドの後ろに[section]ないし[subsection]をつけます。

    \newtheorem{dfn}{Definition}[section]
    \newtheorem{prop}{Proposition}
    \newtheorem{thm}[dfn]{Theorem}
    \newtheorem{cor}[dfn]{Corollary}

image.png
上の例では、Definitionおよびそれと連動するTheorem, Corollaryには、章番号に連動して通し番号がつけられます。Propositionには章とは独立に通し番号がつきます。

通し番号をつけたくない場合のコマンドは、newtheorem*で別に定義します。

    \newtheorem{env_name}{Caption}
    \newtheorem*{env_name*}{Caption}

と入力すれば、env_name環境では通し番号あり、env_name*では通し番号なしの環境を使えます。

その他のカスタマイズ

amsthmパッケージの定理・証明環境は、多少のカスタマイズが利きます。主要なものを紹介。

定理環境のスタイル

プリアンブルの\newtheoremコマンドの前にtheoremstyleコマンドを打つことで、定理環境のスタイルを変えられます。

\theoremstyle{plain}: 見出しが太字、本文は斜体
\theoremstyle{definition}: 見出しが太字、本文は立体
\theoremstyle{remark}: 見出しが斜体、本文は立体

日本語と英語を使う場合には、英語のみ斜体になるのは目立つのでdefinitionを使うのがいいでしょう。

証明終了の記号

proof環境では、証明の最後に白抜きの四角がつくようになっています。これを黒の四角に変えるには、プリアンブルに

    \renewcommand{\qedsymbol}{$\blacksquare$}

を入力します4
 四角の代わりに"Q.E.D."ないしは"終"など、別のものを使いたい場合には、プリアンブルに

    \renewcommand{\qedsymbol}{Q.E.D.}

とか

    \renewcommand{\qedsymbol}{}

とかを入力すれば、正しく出力されます。

参考文献


  1. コマンド\angle, \angを使うにはsiunitxパッケージが必要です。 

  2. ただし、「定義」環境を作りたいときにenv_name = defとはできません。これは、すでにあるLaTeXコマンド\defと衝突するためです。「定義」環境にはdefinitionないしはdfnをおすすめします。 

  3. 斜めになっていない通常の文字を、「斜体」に対して「立体」と呼びます。 

  4. おれは黒四角のほうがかっこよくて好きだ。 

4
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4