べっく日記

偏微分方程式を研究してるセミプロ研究者の日常

かっこいい修論の書き方(数学編)。

修論の提出時期が近づいてきました.研究室の後輩の(書きかけの)修論を見ていると「こうするともっと見栄えが良くなるのになあ」と思う部分が多々あります.後輩一人一人に説明するのは大変だし,一昨日公聴会が(たぶん)無事終わって時間に少し余裕が出てきたので,今回は「どうすればカッコよく修論を執筆できるのか」をブログに簡単にまとめておこうと思います.予め断っておくと,あくまでも数学専攻の学生向けに説明を行うので,他分野,特に工学などの学生には当てはまらない部分が多々あるかもしれません.

LaTeX をインストールする

修論をカッコよく執筆するには Word ではなく LaTeX を使う.Word と LaTeX,どちらでもいいじゃないか,と言われるかもしれないけど,数学専攻ならば LaTeX を使おう.最近になって Word の数式モードでも LaTeX と同じコマンドで入力できるようになったけれども,後に述べるようなマクロの定義ができない(いやできるかもしれないけど私は知らない)ので,結果的には Word よりも LaTeX で入力した方が早い(と私は思う).


LaTeX のインストールは例えば私の過去の記事を参考になるかもしれない.

watanabeckeiich.hatenablog.com


LaTeX はいわゆるマークアップ言語で,ホームページを作成する際に用いる HTML と同様にタイピングを行う.慣れてしまえば難しくない.また,TeX ファイルはエディタを使って編集を行うが,デフォルトの TeXwokrs よりも TeXstudio の方が補完機能が充実しているのでそちらの方をおすすめする.人によっては「Emacs とか Atom を自分好みにカスタマイズするといいよ」とアドバイスをもらうかもしれないけど,今からそんなことをしている時間はない.

ざっくりしたテンプレ

LaTeX で論文を書くには次のようにタイピングすればいい.

\documentclass{jsarticle}

% -----------------------------
% 使いたいパッケージ
% -----------------------------
\usepackage{amssymb,amsmath,amsthm}    % 数式を記述するのに必要
\usepackage[abbrev]{amsrefs}    % bibtex の代わりに amsrefs を使う場合には必要
\usepackage{cite}    % bibtex の代わりに amsrefs を使う場合には必要

%\usepackage[color]{showkeys}
%\definecolor{refkey}{rgb}{1,0,0}
%\definecolor{labelkey}{rgb}{1,0,0}

% ほかにパッケージを書く

% -----------------------------
% 定理のスタイル
% -----------------------------

\newtheorem{theo}{Theorem}[section]
\newtheorem{lemm}[theo]{Lemma}
\newtheorem{corr}[theo]{Corollary}
\newtheorem{prop}[theo]{Proposition}
\renewcommand\thefootnote{*\arabic{footnote}}
\numberwithin{equation}{section}

\theoremstyle{definition}
\newtheorem{defi}[theo]{Definition}
\newtheorem{exam}[theo]{Example}
\newtheorem{rema}[theo]{Remark}
\newtheorem{assu}[theo]{Assumption}

% -----------------------------
% マクロの定義
% -----------------------------

% ここにマクロを定義する

\begin{document}

\title{
% ここにタイトルを書く
}
\author{
% ここに自分の名前を書く
}
\date{
% ここに日付を書く
}

\maketitle

% ここに文章を書きたければ書く

\section{セクションのタイトル}

% ここにも文章を書く

\section*{しゃじ}
先生あざお.

\begin{bibdiv}
\begin{biblist}

% ここに参考文献を書く

\end{biblist}
\end{bibdiv}

\end{document}


通常のプログラミング言語では,コメントアウトに # を使うけど,LaTeX の場合は % を使う.最初に書いた \documentclass{jsarticle} は「こういうフォーマットで文章を書きます」というおまじないである.英語で執筆する場合は "js" をとって \documentclass{article} とする.もしフォントのサイズを 11pt に変えたいということであれば \documentclass[11pt]{jsarticle} とかにする.学科や指導教員から何も指示がなければ気にする必要はない.


参考文献については,bibtex よりも amsref を使う方が楽なのでこちらを推奨する.参考文献のデータは Mathscinet から簡単に入手でき,自分で頑張ってタイピングする必要がなく,何よりタイピングエラーは発生しえない.実際に,引用したい論文の Mathscinet のレビューのページを開き,上にある ▼ Select alternative format をクリックして,AMSRef を選べばほしいデータを得ることができる.ただ,ここで得られた情報はいらないもの(例えば issn)を含んでいるので,適宜コメントアウトする.


ここで,\documentclass{jsarticle} と \begin{document} の間の部分をプリアンブルと呼ぶ.ここの部分にいろいろ書いておくときれいにそして早く執筆できるようになる.詳しくは後述.


原稿を執筆する際は \usepackage[color]{showkeys} を用いると編集が楽になる.この下に書いてある \definecolor はラベルとかに色を付けるコマンドである.ほかの色が良ければ適宜変える.個人的には赤色が一番わかりやすいと思う.当然ながら,原稿の最終版(つまり提出する際)はここの部分はコメントアウトしておく.

マクロをたくさん定義する

限られた時間の中でたくさん執筆するにはマクロをたくさん定義するべきと執筆時間を短縮できる.実際に,私は次のようにマクロを定義して論文を執筆している.

\newcommand{\BC}{\mathbb{C}}
\newcommand{\BL}{\mathbb{L}}
\newcommand{\BN}{\mathbb{N}}
\newcommand{\BR}{\mathbb{R}}

\newcommand{\bb}{\boldsymbol{b}}
\newcommand{\bD}{\boldsymbol{D}}
\newcommand{\be}{\boldsymbol{e}}
\newcommand{\bE}{\boldsymbol{E}}
\newcommand{\bF}{\boldsymbol{F}}
\newcommand{\bI}{\boldsymbol{I}}
\newcommand{\bK}{\boldsymbol{K}}
\newcommand{\bM}{\boldsymbol{M}}
\newcommand{\bmm}{\boldsymbol{m}}
\newcommand{\bN}{\boldsymbol{N}}
\newcommand{\bR}{\boldsymbol{R}}
\newcommand{\bS}{\boldsymbol{S}}
\newcommand{\bT}{\boldsymbol{T}}
\newcommand{\bu}{\boldsymbol{u}}
\newcommand{\bU}{\boldsymbol{U}}
\newcommand{\bv}{\boldsymbol{v}}

\renewcommand{\L}{\mathrm{L}}
\renewcommand{\H}{\mathrm{H}}
\newcommand{\B}{\mathrm{B}}
\newcommand{\W}{\mathrm{W}}
\newcommand{\C}{\mathrm{C}}

\newcommand{\CA}{\mathcal{A}}
\newcommand{\CD}{\mathcal{D}}
\newcommand{\CF}{\mathcal{F}}

\newcommand{\pd}{\partial}
\newcommand{\wt}{\widetilde}
\newcommand{\wh}{\widehat}
\newcommand{\dv}{\mathrm{div}\,}
\newcommand{\supp}{\mathrm{supp}\,}
\newcommand{\dx}{\,\mathrm{d}x}


マクロを定義するコツはなるべく短く定義することである.長くなったとしても 5文字以内には収めたい.

文章を執筆する

文章を執筆するには Word と同様に文章をタイピングすればよい.ただし,数式を用いたい場合は少し工夫しなければいけない.文章中で数式を使いたい場合は次のように数式を $......$ で挟む.

関数 $f$ の微分を $f'$ と書く.


気を付けるべき点は $......$ の前後には半角のスペースを入れることである.入れなかった場合は文章が窮屈に見える.また,よくありがちな間違いとして,文章も $......$ と挟むことが挙げられる.つまり,先程の例でいうと

$関数 f の微分を f' と書く.$

というのは誤りである.


もちろん,出力結果は同じように見えるけど,スペースが微妙にずれていて,こう書いた場合は文が窮屈に見える.これは,$......$ の中ではスペースが無視されることに起因する(つまりスペースを入れても出力には反映されない).


また,よくありがちなミスとして,文章の冒頭を記号から始めてしまう人がいる.先程の例でいうと,

$f$ の微分を $f'$ と書く.

と書く人がいる.これはあまりよろしくないので,文頭はきちんと文字からスタートしなければならない.これは式番号も同様で,

(1.11) より $f = g$ が成り立つので~.

ではなく,

式 (1.11) より $f = g$ が成り立つので~.

としなければならない.このあたりの注意点に関しては私の過去の記事が参考になると思う.

watanabeckeiich.hatenablog.com



文の中で  f (x) \to 0 as  \lvert x \rvert \to \infty と記述する際に, \lim_{\lvert x \rvert \to \infty} f (x) = 0 ではなく, \displaystyle  \lim_{\lvert x \rvert \to \infty} f (x) = 0 のように \displaystyle を使いたがる人がいるけど,文の間隔がバラバラになり,見栄えが悪くなるので使うべきでない.その他の注意点は「数学の常識・非常識—由緒正しい  \TeX 入力法」を参照のこと.

リンク:http://www.math.tohoku.ac.jp/tmj/oda_tex.pdf


さて,数学の場合,文で説明するだけでなく,独立した式を用いて証明を述べることが多い.この場合は amsmathの数式環境を用いる.この使い方は剱持先生の

qiita.com

を参照のこと.


最後にインデントについて説明する.文章を執筆するということは適宜段落を分けることが求められる.LaTeX の場合は空白の行を入れることにより自動的にインデントされる.つまり,段落を変えたい場合は次のように記述する.

段落1
% 空白の行
段落2

しかしなら,これは「空白の行を入れたらインデントされてしまう」ということを意味する.したがって,意図しないインデントが発生する可能性がある.これを排除するためには空白の行を作らない(つまり,\maketitle の後は空白の行を作らない)ことを推奨する.では,どのようにすれば段落を変えられるかというと \par を使えばよい.具体的には,

段落1 \par
段落2

とすればよい.


LaTeXプログラミング言語ではないので,文章を記述する際に改行が果たす役割は大きくない.ゆえに,文章を記述する際に改行を行うのは 1. 段落を変えるとき,2. 数式環境を使うときに限るのが良いと思う.例えば,

むかしむかし~~~.
桃太郎は~~~~~.
鬼が~~~~~~~.\par
段落2

のように,適宜改行するのではなく,

むかしむかし~~~.桃太郎は~~~~~.鬼が~~~~~~~.\par
段落2

のように段落を変えるときだけ改行するのがいいと思う.ちなみに,\\ による強制改行はインデントされないので,段落を変えたいは何があっても使ってはいけない.

表紙だけを Word で作成したい場合

修士論文のような学位論文の場合,学科によっては表紙のフォーマットが決まっていることがたまにある.この場合はフォーマットを LaTex で実現させるよりも Word で作成してしまった方が早い.Word で作成した後はそれを PDF 形式で保存し,それを Tex ファイルに挿入すればよい.このためにはプリアンブルのところに

\usepackage[dvipdfmx]{graphicx}
\usepackage{pdfpages}
\usepackage{afterpage}

を書く.これにより PDF ファイルの挿入が可能になり,挿入したいところで

\includepdf{ファイル名.pdf}

と書けばめでたしめでたしとなる.

参考文献

最後に,文章を書く上で参考になりそうな本をいくつか紹介する.まずは,一般的な文章の書き方を学べる本として

理科系の作文技術 (中公新書 (624))

理科系の作文技術 (中公新書 (624))

が挙げられる.


英語で執筆する場合は

科学英文技法

科学英文技法

が参考になる.今まで英語のライティングに関するいろんな本を読んでみたけど,結局のところこの本が一番役立ったと思う.この本を簡単に(自分用のメモとして)まとめたのが過去の記事になる.

watanabeckeiich.hatenablog.com


個人的な考えとしては,参考文献が10以上あって30ページ以上書いてあれば,(数学の)修士論文としてはまあまあ立派だと思います.先輩の F さんや S さんのように 100 ページ近くも書く必要は(おそらく)ないと思います(というか私は彼らほど書いていない).後輩の皆さん頑張ってください.では.