Kasasagi’s memorandum

JavaとかProcessingとか。最近はAtcoderとか。

卒論をTeXで書いた話とファイル分割について

こんにちは、かささぎです。

なんだかんだ今年初めての記事です。
1月,2月と卒論が忙しく、書く暇がありませんでした。
とりあえず無事完了しましたので、ちゃんと卒業できそうです。


今回は、卒論を書く際に使用したTeXについて紹介したいと思います。

TeXとは

TEX(TeX; テック、テフ)はアメリカ合衆国の数学者・計算機科学者である
ドナルド・クヌース (Donald E. Knuth) により開発されている組版処理システムである。
-Wikipedia

文章作成を行えるソフトの一つで、スタイルなどをマークダウンで記述します。

TeXのメリット&デメリット

文章を作成する際によく用いるソフトとしてWordがあります。
ここでは私がTeXを利用したうえで、Wordと比較して感じたメリット・デメリットを記述します。

  • TeXを使うメリット
    • 綺麗な文章を作成できる
    • 目次や参考文献のリストを簡単に作成できる
    • 図や表、参考文献の番号を自動で割り振ってくれ、参照も簡単にできる
    • 好きなエディタで作成できる
    • バージョン管理がしやすい
    • 数式をきれいに書ける(最近のWordではLaTeXで記述できるみたいです)
  • TeXを使うデメリット
    • 図や表の導入が複雑
    • pdf変換に時間がかかる
    • TeXの実行エラーの内容がわかりにくい

今回の論文を書く場合では文章量がとても長くなったため、スタイルを統一できたり図番号・表番号を自動的に振ってくれたりする機能がとても役立ちました。

TeXを使うのは(ほぼ)初めてでしたが、そこまで苦労せずに使えました。特殊文字や表の配置は知らん

TeXはテキストファイルなので、自分の好きなエディタで書くことができます。

私はSublime Text3にSumatraPDFをインストールして使いました。
参考文献 → SublimeText3でUTF-8のLaTeX環境を構築する(Windows) - Qiita

Sublime Text3は日本語に弱いのであまりお勧めしません。VScode辺りを使ったほうがいいと思います。

TeXでは書いたコードをpdfに変換して文章にしますが、その変換に時間がかかるという問題があります。特に画像の処理に時間がかかるみたいです。

そこで、今回は文章を細かく分割する方法を取りました。その解説をしていきます。

LaTeXで文章の分割

1つのtexファイルに文章を全て記述すると、pdfの変換に時間がかかってしまいます。
完成版を作成する際には必要ですが、執筆中は基本的に記述した場所のみを確認できればいいと思います。

これを実現するために、texファイルを分割するという方法があります。
こうすることで変換スピードを上げ効率的に作業できたり、ファイルの行数を減らして管理しやすくしたりできます。

卒論ではセクションごとに別のファイルにして管理しました。

コードはこんな感じです。



gista2624c50f081407063101457d3a9e549
gist8e6cb9102d566b7889c1ff2da2d47188

thesis.texが全体をまとめるファイルです。abstract.texはその要素の一つのtexファイルです。

abstract.texやtitle.texなどのファイルをthesis.texと同じフォルダに入れ、\include{abstract} 等とすることで呼び出すことができます。

abstract.tex単体でも実行でき、そのファイルに書かれている内容だけのpdfが生成されます。

注意点としては他ファイルとの相互参照(\ref ・\label)ができないことがあります。
こればかりはどうしようもない(と思う)ので、thesis.texを実行して確認する必要があります。

感想

TeXを使ったのは初めてでしたが、スタイルを簡単に統一したり相互参照が簡単にできたり気に入りました。

私は卒業後就職するのですが、企業ではたぶんWordばっかり使うことになると思うので少し悲しいです。

TeXのメリットとしてバージョン管理(Git)がしやすいというものがありますが、今回はほとんど使わなかった(commitとpushくらい)ので、軽く勉強したいと思います。


それでは。