学位論文のためのTeXサンプル


この記事を読むとできるようになること
(見た目だけは)整った学位論文を書ける!

いわゆる理工系の大学を卒業するには,多くの場合「学位論文」を提出する必要があります(提出後に迫り来る発表のディフェンス…).

卒論などを書くツールとしては,Microsoft Word や TeX などがありますが,
多くの人はTeXを用いて執筆すると思います.

学位論文にはある程度のお作法があり,

  • 表紙
  • 概要 (abstract)
  • 目次 (contents)
  • 本文(目的,手法,結果,議論など)
  • 謝辞 (acknowledgement)
  • 参考文献 (reference)

は最低限含めなければいけません.

もちろん,指定のフォーマットがあればそれを使用してください.
指定フォーマットがない場合,一から自分でTeXファイルを組むのは面倒ですし,
体裁面で苦労して研究時間を削ってしまうのはもったいないです.

ということで,私が使っている学位論文用TeXの中身をここに置きます.
時間があれば,より詳しく追記しようと思います.

  • 環境
    • macOS mojave 10.14.6
    • TeXShop 4.44

tex ファイルを分割して書いてみよう

まず,学位論文は普通のレポートに比べるととても長くなります.
なので,全てを1つの.tex ファイルに書くと
修正するときに該当箇所を探すだけで非常に疲れます
(TeXShop ならば「タグ」を使えば,望みのセクションにすぐ飛べますが).
また,画像をたくさん貼り付けることになるので,いっぺんにコンパイルすると時間がかかって
(論文提出前の精神状態においては特に)ストレスになり得ます.
ですので,例えば「章 (chapter)ごとに別の.tex ファイルに書いて,それらを統合する」
やり方がオススメです.

ここまで書いておいてなんですが,私はchapterごとに分けて書いているだけで,
個別コンパイルできるようになっていません(ファイルをまたぐ参照に失敗しています).

以下に紹介するのは,texファイルを分割するだけで,個別コンパイルには対応していない方法です.

マスターファイル

まず,設定などを書くマスターファイルが必要です.
pdfを出力したい時は,これをコンパイルすればOKです.
必要なパッケージなどをプリアンブルに記入し,¥input{}で本文を書いた.texファイルを読み込みます.
それぞれのコマンドについて詳細な説明は省くので,各自でググってください.
英文用になっていますので,必要に応じて和文用にしてください.

master.tex
%学位論文くらいの長さなら,`book` が良いでしょう
¥documentclass[12pt,report,a4paper,oneside,english]{book}
¥pagestyle{plain}
¥usepackage{参考文献を出力するのに必要なコマンド集をinputする .sty ファイル}%*1
¥usepackage{times}
¥usepackage{natbib}
¥setcounter{tocdepth}{3}
¥bibliographystyle{参考文献のスタイルを書いた.bst ファイル}%*2
% 自分好みに章名や図表の表記を変える
¥renewcommand{¥appendixname}{Appendix}
¥renewcommand{¥figurename}{Fig.}
¥renewcommand{¥tablename}{Table~}
¥renewcommand{¥bibname}{References}
% 数式などの参照を便利にするコマンドを自分で定義すると楽
¥newcommand{¥pref}[1]{(¥ref{#1})}
¥newcommand{¥Secref}[1]{Section~¥ref{#1}}
¥newcommand{¥Eqref}[1]{Eq.~(¥ref{#1})}
¥newcommand{¥Eqpref}[1]{(Eq.~¥ref{#1})}
¥newcommand{¥Figref}[1]{Fig.~¥ref{#1}}
¥newcommand{¥Tabref}[1]{Table~¥ref{#1}}
% ハイパーリンク機能(地味に便利です)
¥usepackage[dvipdfmx]{hyperref}
¥usepackage{pxjahyper}
¥hypersetup{
setpagesize=false,
 colorlinks=true,
 linkcolor=blue,
 citecolor=blue,
 filecolor=blue,
 urlcolor=blue,
}
¥usepackage{ascmac,amsmath,amssymb,mathtools,siunitx}
¥usepackage{bm}
¥usepackage[version=3]{mhchem}
¥usepackage[dvipdfmx]{graphicx}
¥usepackage{array,float,textcomp,ulem}
¥usepackage{fancybox,multicol,longtable,tabularx,url}
¥usepackage[hang,small,bf]{caption}
¥usepackage[subrefformat=parens]{subcaption}
¥captionsetup{compatibility=false}
¥makeatletter
¥makeatother

% よく使う記号類の,自分好みの定義
¥def¥degree{^{¥circ}}
¥def¥Vec#1{¥mbox{¥boldmath $#1$}}
¥def¥p{¥partial }
¥def¥d{{¥rm d}}
% 和のシグマは普通に書くと小さくてカッコ悪いので,¥displaystyle を使うとよい
¥newcommand{¥dsum}{¥displaystyle¥sum}

¥begin{document}
%%%%%% 表紙の設定 %%%%%(この辺はお好みで変えてください)
¥begin{titlepage}
¥begin{center}
¥vspace*{30truept}
{¥LARGE Master's Thesis}¥¥
¥vspace{40truept}
{¥huge¥bf タイトル}¥¥
¥vspace*{60truept}
{¥Large 学籍番号}¥¥
¥vspace{10truept}
{¥LARGE 名前}¥¥
¥vspace{20truept}
{¥Large 所属}¥¥
¥vspace{30truept}
{¥Large 指導教員}¥¥
¥vspace{40truept}
{¥Large 提出日}
¥end{center}
¥end{titlepage}
%%%%%%%%%%%%%%%%%%%%%%

%%%%% ここから本文 %%%%%
¥mainmatter
¥input{1_abstract.tex}
¥clearpage
% 目次を出力
¥tableofcontents
¥clearpage
¥input{2_introduction.tex}
¥clearpage
¥input{3_method.tex}
¥clearpage
¥input{4_result.tex}
¥clearpage
¥input{5_discussion}
¥clearpage
¥input{6_summary.tex}
¥clearpage
¥input{7_acknowledgement.tex}
¥clearpage
%%%%% 付録 %%%%%
¥appendix
¥setcounter{equation}{0}
¥def¥theequation{A.¥arabic{section}.¥arabic{equation}}
¥setcounter{figure}{0}
¥def¥thefigure{A.¥arabic{section}.¥arabic{figure}}
¥input{8_appendix}
¥clearpage
%%%%% 参考文献 %%%%%
¥backmatter
¥bibliography{.bib のパス}%*3
¥end{document}

*1¥usepackage{参考文献を出力するのに必要なコマンド集をinputする .sty ファイル}
*2¥bibliographystyle{参考文献のスタイルを書いた.bst ファイル}
*3¥bibliography{.bib のパス}

については,最後の「参考文献のファイル」で述べます.

本文のファイル

master.tex の\mainmatter 以下で,本文を書いた.tex ファイルを読み込んでいます.
例えば,論文概要を次のように書きます.

1_abstract.tex
¥chapter*{Abstract}

研究背景

先行研究の問題点

・・・

(最初の行の*は,章番号をつけないようにするためのものです)
これで,master.texに¥input{1_abstract.tex}と書いてコンパイルすると,
1_abstract.texの中身が出力されます.

いちいちmaster.tex を開いてコンパイルするのがめんどくさい場合は,
各.tex ファイルの先頭に %!TEX root = master.tex(のパス) と書くと,
子ファイルをタイプセットすることでmaster.tex がタイプセットされます.

他の章も同様に.texファイルに内容を書きます.

参考文献のファイル

BibTeXの使い方

参考文献の入れ方を紹介します.

論文を1つ1つ手打ちするのでもいいですが,それだとめんどくさすぎるので,便利なツールを使いましょう.
Bibdeskを使うと,HPから引っ張ってきた論文情報をまとめて学位論文に出力できます.

天文系の論文を例に紹介します.
ADSで論文を検索すると,左に''Export Citation''というタブが出てきます.
これをクリックすると,BibTeX用の情報が出てくるので,これをまるっとコピー.

Bibdesk上で 貼り付け(Command + V) すると,論文情報が追加されます.

Cite Key はTeXで論文を引用するときに使うキーワードになるので,自分でわかるように適当に編集すると良いです.

この.bibファイルを,適当なディレクトリに保存します.
そのディレクトリを,マスターファイルの*3¥bibliography{.bib のパス}に書きます.
パスを書くときに,拡張子.bib は書く必要がないです.

本文中で引用する際には,¥cite{CiteKey}などとします.
${\rm (hogehoge, 2020; Draemon \ et \ al., 2112)}$
のように複数列挙する場合など,オプションはググってください.

BibTeXを使う場合は,複数回のコンパイルが必要です.
1. 普通にコンパイル
2. Command + Shift + B でBibTeXのコンパイルをする
3. 普通にコンパイル

とすると,参考文献が本文に引用されると同時に,論文の最後に出力されます.

参考文献の表示形式

さて,先ほどコピー&ペースとした論文情報には,まだ手元の環境で未定義のコマンドがあります.
例えば,Jornal 欄の\apj などは,論文誌名を表すコマンドです.
これらを定義したファイルを用意しないと,エラーになってしまいます.
天文系の論文誌に関するコマンドは,ここのページにあります.
これをコピーして,適用な名前で保存しましょう(例えば journal.sty ).
そのパスを,マスターファイルの
*1¥usepackage{参考文献を出力するのに必要なコマンド集をinputする .sty ファイル}
に書きます(これも拡張子.styはいらない).

次に,論文末尾に表示する際の表示形式を指定しましょう.
天文系であれば,The AASTeX Package for Manuscript Preparationにあるパッケージなどが使えます.
ダウンロードすると,aasjournal.bst というファイルがあるので,これを適当なディレクトリに置いておきましょう.
パスを,マスターファイルの
*2¥bibliographystyle{参考文献のスタイルを書いた.bst ファイル}
に書きます(これも拡張子.bstはいらない).

以上の準備をすると,綺麗に参考文献が表示されます.