D論を LaTeX で書いた話

はじめに

去る2020年9月に無事、総合研究大学院大学の複合科学研究科情報学専攻で博士課程を修了しました。博士論文の執筆以前にも LaTeX で論文は複数書いてきましたが、博士論文を書く上で投稿論文の執筆とは違って幾つか新たに知ったことが幾つかあったので、今後同様の立場になった人のためにまとめておきます。

表紙について

弊専攻では博士論文の表紙については Word でテンプレートが与えられていました。本文のことを考えると LaTeX で執筆したいですが、表紙を自分で LaTeX で組み直すのもなかなか面倒です。

ということで、今回は以下のワークフローで表紙を作成することにしました。

  1. 表紙はWordで与えられたテンプレートに基づき、Wordで作成
  2. WordのPDF出力機能でPDF版の表紙を得る出力
  3. LaTeX 文書中で pdfpages を使ってPDF版の表紙を読み込む

具体的には、以下をプリアンブルに追加し、

\usepackage{pdfpages}

読み込みたい場所に以下を記述しました。

\includepdf[nup=1x1, pages=-]{front_page.pdf}

なお今回は pdfLaTeX を使いましたが、 pLaTeX 等でも pdfpages は動作する様です。

本文: Memoir

本文のクラスファイルは指定がなかったので、何となく格好が良さそうなmemoirを使いました。memoirは様々なスタイルを選択することができます。今回は以下の chapterstyle を指定しました。具体的な出力やそれ以外のオプションはマニュアルを参照してください。

\chapterstyle{veelo}

文法チェッカ

スペルチェックには普段通りEmacsでaspellやflyspellを使いましたが、今回は LanguageTool による文法チェックも行いました。詳細はこの Qiita記事 に書いてありますが、以下のワンライナーで文法チェックを行うことができます。

pdftotext hoge.pdf - | languagetool -l en-US -d WHITESPACE_RULE,MORFOLOGIK_RULE_EN_US,COMMA_PARENTHESIS_WHITESPACE,DOUBLE_PUNCTUATION,UPPERCASE_SENTENCE_START,EN_UNPAIRED_BRACKETS

ちなみに、 Grammarly も併せて文法チェックに使っていました。

definition環境などの末尾にdiamondを挿入する話

definition環境など切れ目を明確にするために、末尾に \(\diamond\) を挿入したいと思いました。これには thmtool が使えます。具体的には、以下を記述することで \(\diamond\) が自動で挿入される様になります。それ以外にも様々な機能がありますが、公式ドキュメントを参照してください。

\declaretheorem[name=Definition,sibling=lemma,qed={\lower-0.3ex\hbox{\large $\diamond$}}]{definition}