数学の論文・レポートを書くときには、「定義」「定理」「証明」を並べて書くスタイルを使います。これをLaTeXで書くときの環境構築についてまとめました。
#サンプルコード
困ったらプリアンブルをまるっとコピーしてくれればokです。
プリアンブル
\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}
#定理環境の構築
まず、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}
これを通し番号にするには、各\newtheorem
コマンドのenv_name
とCaption
の間に、連動させたい環境名を[]
でくくって入力します。
\newtheorem{dfn}{Definition}
\newtheorem{prop}{Proposition}
\newtheorem{thm}[dfn]{Theorem}
\newtheorem{cor}[dfn]{Corollary}
上の例では、DefinitionとTheorem, Corollaryがひとまとめに通し番号を振られており、Propositionは独立に通し番号がつけられています。
章ごと、ないしは節ごとに通し番号を振りたい場合は、\newtheorem
コマンドの後ろに[section]
ないし[subsection]
をつけます。
\newtheorem{dfn}{Definition}[section]
\newtheorem{prop}{Proposition}
\newtheorem{thm}[dfn]{Theorem}
\newtheorem{cor}[dfn]{Corollary}
上の例では、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}{終}
とかを入力すれば、正しく出力されます。
#参考文献
- https://lecture.ecc.u-tokyo.ac.jp/~cnakamur/LaTeX/Sect-8-9-command-cite.pdf
- 黒木玄『日本語LaTeXを使うときに注意するべきこと』, http://www.math.tohoku.ac.jp/~kuroki/LaTeX/howtolatex.html#amsthm2
- かすみん日記『【LaTeX】定理・証明環境 (amsthm)』, https://geniusium.hatenablog.com/entry/2019/01/29/222203
- htlnse 『日本語LaTeXでamsthmのproof環境をなんとかする』, https://htlsne.hatenablog.com/entry/2016/02/04/153034