修論したい
自分の修士論文を執筆した経験を思い出しながら、 いまならどういう風に準備するかまとめてみました。 これから修論を書く準備をする学生の参考になればよいなと思っています。
日々準備する
当たり前ですが、修士論文は一朝一夕で完成するものではありません。 日頃からログブックにきちんと記録したり、 グループの定例ミーティングで議論したりなどの積み重ねが大切です。 この段階では、LaTeXを使う必要はなく、 WordやPowerPointなど普段から使い慣れているツールを使えばよいです。
ヒント
実際に、週に1回の定例ミーティングで報告したスライドにとても助けられました。 ただし、文章として整理するのに苦労しました。 学会発表のあとや、研究のフェーズがひと区切りついたときに、 文章にして整理しておけばよかったかなと思います。
LaTeX環境を準備する
macOSやLinuxを使っているならば、 HomebrewでMacTeXもしくはTeX Liveをインストールして、 ローカル環境を構築できます。
最近では、OverleafやCloudLaTeXのようなオンラインサービスを使うのもありかもしれません。 ただし、無料プランだと容量の制限や、コンパイル時間の制限などがあります。 また、サービスがメンテに入ったり、ダウンすると使えなくなる可能性があります。
修論は提出〆切との闘いでもあります。 〆切間近に使えなくなるのはダメージが大きすぎるので、 ローカルに環境を構築することを個人的にはオススメします。
ディレクトリを準備する
masterthesis
|-- README.md
|-- LICENSE.md
|-- Makefile
|-- .gitignore
|
|-- latexmkrc (or .latexmkrc)
|-- main.tex
|
|-- preamble/
| |-- pages.tex
| |-- figure.tex
| |-- math.tex
| |-- physics.tex
| |-- hyperref.tex
|
|-- src/
| |-- main.tex
| |-- ch1/
| | |-- ch1.tex
| | |-- fig1.pdf
| | |-- fig2.pdf
| |-- ch2/
| | |-- ch2.tex
| | |-- fig3.pdf
| | |-- fig4.pdf
|
|-- references/
| |-- biblatex_format.bib
|
|-- _aux/
| |-- main.aux
| |-- main.log
|
|-- _build/
| |-- main.pdf
|
|-- _shared/
| |-- 20241227_v01_main.pdf
| |-- 20250106_v02_main.pdf
修論はページ数がそれなりに多くなります。 章ごとにディレクトリ/ファイルを分割して管理するとよいと思います。 また、出力ファイルはソースとは別のディレクトリに生成するとよいです。
それぞれのファイルの役割は以下の通りです。
パス |
内容 |
Git管理 |
---|---|---|
|
ビルドの設定 |
True |
|
タイプセットの手順書 |
True |
|
ビルド対象のファイル |
True |
|
プリアンブル設定の保存先 |
True |
|
本文ファイルの保存先 |
True |
|
文献ファイルの保存先 |
True |
|
|
|
|
ビルドしたPDFの出力先 |
|
|
関係者に回覧した原稿データ |
|
画像ファイルを保存する
共通ディレクトリに保存する形式と、 章ごとに作成したディレクトリの中に保存する形式があると思います。 前者が一般的な気がしますが、ここでは後者を選択しました。 それぞれの文書ソースと画像をまとめることができるのはよいと思います。
添削依頼用ファイルを作成する
指導教員や共同研究者など関係者に添削/校正を依頼する場合はPDF形式で送ります。 どの段階の内容を送ったのか、あとで確認できるように、別のディレクトリにコピーを保存しておくとよいです。 ファイル名は共有した日付(とバージョン)を含めるとよいです。
Tip
日付は西暦を含めたyyyymmdd
形式が認識しやすいです。
バージョン番号は、日ごとではなく、全体の通し番号にしておくと、
最新版がわかりやすくなります。
「最新版(latest)」や「最終版(final)」などは、 切羽詰まったときほど混乱の元になるので、 絶対に使わないようにしましょう。
Gitで管理する
修論の執筆者は原則ひとりですが、ソースはGitでバージョン管理するとよいです。 また、GitHubもGitLabも、無料プランでプライベートリポジトリを作成できるため、 修論用のリポジトリを作成しておくとよいです。 CI/CD機能を活用すれば、最新版のビルドを自動化することもできます。
これらのリポジトリは、修論データのバックアップ先にもなります。 〆切間際にパソコンの調子が悪くなったという話は(なぜか)よく聞きます。 バックアップ先を分散させることで、万が一の場合のリスクを減らすことができます。
エンジンを選択する
LuaLaTeX
を選択しておけば間違いないです。
エンジンに合わせてlatexmk
を設定します。
目次や参照の生成失敗など、コンパイル時のミスを防ぐことができます。 また、長いコマンドを覚える必要がないため、執筆に集中できます。
@default_file = ("main.tex");
$pdf_mode = 4;
$out_dir = "_build";
$aux_dir = "_aux";
ドキュメントクラスを選択する
LuaLaTeX
の場合、ltjsclasses
とjlreq
の選択肢があります。
とくにこだわりがなければjlreq
で問題ありません。
比較的に長め(100ページくらい?)の文書になるので、
スタイルはreport
形式がよいと思います。
メインファイルを作成する
\documentclass[report]{jlreq}
% 和文の設定
\usepackage{luatexja}
\usepackage{luatexja-fontspec}
% 表紙の情報を入力
\title{修士論文}
\author{僕}
\begin{document}
% 表紙を出力
\maketitle
% 目次を出力
\tableofcontents
% アウトラインに沿って章タイトルを入力
\chapter{章のタイトル}
\chapter{章のタイトル}
\chapter{章のタイトル}
\end{document}
エンジンとドキュメントクラスに合わせて、メインファイルを作成します。
LuaLaTeX
とjlreq
の場合、まずこの内容でmain.tex
を作成します。
$ latexmk main.tex
そして、タイプセットできるか確認します。
メインファイルを増築する
タイプセットできることが確認できたら、 ディレクトリ構造にしたがって、メインファイルを増築します。
\documentclass[report]{jlreq}
% 和文の設定
\usepackage{luatexja}
\usepackage{luatexja-fontspec}
\usepackage{luatexja-ruby}
% 参考文献の設定
\usepackage{biblatex}
\addbibresources{references/biblatex_format.bib}
% パッケージ設定
\input{preamble/pages.tex}
\input{preamble/figure.tex}
\input{preamble/math.tex}
\input{preamble/physics.tex}
\input{preamble/hyperref.tex}
% 自作マクロの設定
\input{preamble/macros.tex}
% ビルドするページの設定
\includeonly{
src/title/title,
%src/abstract/abstract,
src/ch1/ch1,
% ...
%src/chN/chN,
%src/thanks/thanks,
%src/refs/refs,
}
\begin{document}
% 表紙
% titlepage環境で表紙を作成する
\include{src/title/title}
% 概要
% abstract環境で概要を作成する
\include{src/abstract/abstract}
% 目次を出力
\tableofcontents
\listoffigures
\listoftables
% 本文
\include{src/ch1/ch1}
\include{src/ch2/ch2}
% ...
\include{src/chN/chN}
% 謝辞
\include{src/thanks/thanks}
% 参考文献
\printbibliograpy[title={参考文献}]
\end{document}
ページの設定
用紙サイズはA4(297mm x 210mm)に設定し、
フォントサイズ(fontsize
/ jafontsize
)や
行あたりの文字数(line_length
)はお好みで設定してください。
もし、大学や研究室で形式が決まっているならば geometryパッケージで ページ設定するとよいかもしれません。
ヘッダーやフッターを表示したい場合はfancyhdrパッケージ、 表紙をカスタマイズしたい場合はtitlepage環境を使うとよいと思います。
フォントの選択
TeX Liveの和文フォントは、源ノフォント(源ノ明朝、源ノ角ゴシック)をベースにした原ノ味フォント(原ノ味明朝、原ノ味角ゴシック)がデフォルトになっています。とくに変更する必要はないです。
フォントを変更したい場合はluatexja-fontspecパッケージを使います。
表紙(src/title/title.tex
)
\begin{titlepage}
\begingroup
修士論文
\endgroup
\begingroup
\Large
論文のタイトル\\
長い場合は改行して整える
\endgroup
\begingroup
\includegraphics[0.3\textwidth]{ロゴ.pdf}
\endgroup
\begingroup
著者名
\endgroup
\begingroup
所属
\endgroup
\begingroup
提出日
\endgroup
\end{titlepage}
修士論文の表紙は、記載する内容も多く\maketitle
では力不足です。
titlepage
環境を使って、イチから並べるのがよいと思います。
タイトルを見栄えのよいサイズに変更したり、
大学のロゴを挿入したり、自由にカスタマイズできます。
参考文献の管理
参考文献の管理は文献管理ソフトやオンラインのサービスを利用するとよいとです。 これは、日頃から使い慣れておく必要があります。
修論の文献リストを出力する場合はbiblatexパッケージを使います。 文献ファイルはBibTeX形式で保存します。
パッケージの選択
\documentclass[report]{jlreq}
\usepackage{geometry} % ページ設定
\usepackage{fancyhdr} % ヘッダー/フッターの装飾
\usepackage{graphicx} % 画像
\usepackage{xcolor} % 色
\usepackage{enuitem} % 箇条書き
\usepackage{biblatex} % 参考文献
\usepackage{physics} % 物理記号
\usepackage{siunitx} % 物理量・単位
\usepackage{tikz-feynman} % ファインマン図
\usepackage{hyperref} % ハイパーリンク
\begin{document}
% 表紙の作成
% 概要
% 本文
\include{ch1/ch1.tex}
\include{ch2/ch2.tex}
\include{ch2/ch2.tex}
% 補遺
% 参考文献
\end{document}