自分支援機構

10年後には黒歴史

TeX(LaTeX)で卒論などを書くためのサンプルを公開します

 こんにちは、支援機構です。前々からTwitterで言っていたのですが、修論LaTeXで書くための様々な小ネタを書き連ねた記事をいずれ出そうと思っていました。たまにサンプルをいじってはいたのですが全く完成せず、サンプルが完成しないからには当然記事も完成しないので、とりあえず作りかけのサンプルだけでも世界に公開しておくことにします。
github.com
いちおう各ファイルのコメントに最低限の説明をつけつつあるので、一定以上知識がある人が見れば何となく情報を得ることもできるとは思います。物理の業界で修論を書いた私の元ファイルから「私っぽさ」を消去する形で作られているので、基本的に物理業界の人だと問題なく使えると思います。他の分野の方だと体裁とか引用の形式を相当改造しないと使えないと思いますが、小ネタを多少読み取ることはできるのではないかと思います。解説の記事はいずれ書きたいとは思いますが、すぐにはできないと思います。申し訳ないですがまだまだお待ちください。2022年の春に卒業する人が書き始めることには間に合うのではないかと考えています。

一応ちょっとだけね?

 これだけだとさすがに申し訳ないので、卒論やら修論(やらひょっとして博論?)をTeXLaTeXで書く人で、なおかつTeXLaTeXの知識に乏しい人のためにいくつか抽象的なアドバイスをしておこうと思います。大した知識があるわけではない私程度がアドバイスをするのはおこがましいとは思いますが、そんな記事でもないよりあったほうがよいでしょう。最初に免責事項をいくつか言っておきますが、私はTeXLaTeXの専門家ではなく、ここから紹介するアドバイスの内容が正しいということを保証することはできません。私の記事を参照にして何らかの被害を被った人に対して補償をすることもできません。

そもそも何で論文を書くべきか

 「卒論or修論or博論」のフレーズをこれから何度も言うのが面倒なので単に「論文」と呼びますが、これは学術論文という意味ではないということにご注意ください。学術論文を書く場合はその論文誌の規定に従いましょう。
 そもそも論文を書くのに使うソフトウェア(?)ですが、研究室や学部・学科に規定が存在する場合はそれに従いましょう。Wordで書けという指定がある場合や、研究室の過去の先輩が作ったTeXのテンプレートなどがある場合はそれを素直に使うべきです。この手の論文にとって大事なものは内容であり、体裁に関しては最低限整っていていることと論文内で統一されていることのみが重要です。
 特に利用するソフトウェアに制約がないという場合でも、LaTeXを利用すべきかどうかに関してはある程度考えるべきだと思います。情報系特有のマッチョイズムに溢れる人たちはMicrosoft OfficeのWordをやたら貶してLaTeXのことを持ち上げる傾向にありますが、どう考えてもLaTeXは利用するために一定の勉強が必要で、ある程度の使いにくさがあるものです。したがって、これまでほぼ使ったことがない人が論文を書くために急にLaTeXを使い始めるというのはややリスクが高いと思います。LaTeXの利用方法の些末な問題に時間を取られてしまい、本当に大事な内容の方に注力できなくなるかもしれません。今までレポートなどでLaTeXを利用したことがあり、論文を書くにあたり始めて長い文章にチャレンジするというような場合であればなんとかなると思います。

LaTeXのメリット

 上記のように学習コストが高く参入障壁が高めなLaTeXですが、有力な競合相手であると考えられるWordに対して以下のような利点があると(筆者は)思います。以下の内容に魅力を感じる人はLaTeXを利用することを考えてもよいでしょう。

  1. 無料である(学習にかかる時間や書籍費などはともかく)
  2. 動作が軽く、Wordにありがちなフリーズがほぼない
  3. 文章の内容と体裁の修正を独立させることができる
  4. 図表や相互参照や参考文献の扱いを自動化できる
  5. よく使う数式などをコマンド化できる

 1.に関してはそのまんまです。Wordは(大学がライセンスを買っていない場合)まあまあな値段で買うことになると思います。2.ですが、LaTeXで作業を行う際にいじるのはただのテキストファイルであり、文章を書くにあたって重さを感じることはありません。その代わりコンパイルに時間がかかる問題はありますが、ファイルを分割することである程度は軽減可能です。3.ですが、実際の文章を書く際にはセクション分けや段落についてだけ意識しておいて、細かい体裁はスタイルファイルを改定することでいじるようにすれば問題を独立させて考えることができます。「このページだけ余白をちょっと使いたい」みたいな融通が利かない問題はありますが、そもそもそうした融通はなるべく使わないほうがよいと考えます。4.ですが、これも最近のWordではある程度改善されているとは聞きますが、まだLaTeXに一日の長があると思います。図表の位置などはLaTeXだと自動的にやってくれます。相互参照に関しても、式番号などを引用しようとするたびその式のラベルを思い出したり確認しないといけない面倒さはありますが、その後いくら順番を変えたり前後に式を追加して番号が変更されても自動で参照が追随するのが便利です。参考文献に関しても、文献管理ソフトウェアなどと連携してかなり自動的に行うことができます(なお形式をいじると闇です)。5.に関しては完全にコマンド式でやっている強みです。よく出てくるものをコマンドにしてしまえば非常に便利です。

LaTeXのデメリット

 なお、以上のメリットはそのままデメリットにもなります。すなわち以下のようなデメリットを覚悟する必要があります。

  1. 学習コストが高く、Web上の知識も玉石混交
  2. コンパイルするまで結果が見えない
  3. 全体にわたり体裁を統一する必要がある
  4. 図表の挿入や参照の扱いに勉強が必要
  5. 直観的な操作ができない

 1.に関してはそのままです。それなりに勉強しないといけないし、Web上の情報も特殊な環境での話だったり古い話だったりします。2.も結構大変で、コンパイルするまで結果が見えないためちょくちょく待ち時間が生じます。文章が長くなるとそのコンパイルにも時間がかかりますし…………。リアルタイムコンパイルができる環境もあるかもしれませんが、私はまだ未調査です。3.に関しては、場合によってはデメリットかもしれません。指導教員に「〇〇ページの図、なんとか前のページの余白に入れられませんか」などと言われた場合にLaTeXでなんとかするにはかなり技術が必要です(少なくとも私にはできない)。4.と5.に関してはそのまんまです。勉強したり検索したりする必要があるんですね。
 以上のメリットとデメリットを考えたうえで論文を書くソフトを選ぶ必要があると思います。悩んだらWordにした方がいいです。少なくとも、よく言われるLaTeXのメリットである数式の入力しやすさに関しては、よっぽど複雑な数式を扱うという場合でもない限り大差はないと思います(最近のWordだと)。

参考文献

 LaTeXで論文を書こうとする人にとって有益だと(私が)考える書籍を3つほど紹介しておきます。

奥村晴彦 黒木裕介著『LaTeX2ε 美文書作成入門 改訂第7版』(技術評論社、2017)
 業界の有名な本です。入門者が文章を作るにあたり必要なことが網羅的に載っていて、これ1冊を持っていればだいたいOKだと思います。インストール用のDVDがついているので、初心者はまずこの本を買って環境構築を済ませてしまうのが楽でしょう。今度改訂8版が出るそうなので、今から買いたい人は改訂版が出るのを待った方がいいかもしれません。個人的には必須かなと思います(押し付けるつもりはありません)。
LaTeX2ε辞典 増補改訂版

LaTeX2ε辞典 増補改訂版

吉永徹美著『LaTeX2ε辞典 増補改訂版』(翔泳社、2018)
 LaTeXにおける体裁やレイアウトのいじり方について、非常に簡潔でわかりやすく応用しやすい記述が与えられている辞書です。目次から目的の内容を見つけるのが容易で使いやすいですね。ただし、体系的に一から説明するタイプの本ではないので、上記の『美文書入門』に載っているような内容をある程度見たことがあるレベルでないと読んでもわからないと思います(覚えている必要はないけれど、既視感くらいはある状況でないと厳しい)。この本は全員に必須ではないけれど、体裁やレイアウトを積極的にいじりたい人には必須です(押し付けるつもりはありません)。
独習 LaTeX2ε

独習 LaTeX2ε

吉永徹美著『独習LaTeX2ε』(翔泳社、2008)
 これは若干マニアックな本です。前半(第一部)の「文書作成の基本」に書いてある内容は一見すると入門書という感じなのですが、所々妙に詳しい(TeXのレベルに踏み入った)内容がありLaTeXそのものの勉強になります。どう見ても入門書ではない。若干内容が古いこともあり今では使われない方法などが書いてあることもある気がしますが、この本を読むマニアであれば判別できるでしょう(私にはできない)。後半(第二部)の「LaTeXプログラミングの基礎」にはLaTeXというかTeXでのプログラミングの行い方が書いてあり、今入手できる和書の中で唯一TeXを直接制御する方法が(一定以上詳しく)書いてある本かなと感じています(ちゃんと調べたわけではないので他にもあると思います)。凝った体裁いじりをしようとするとどうしてもプログラミングをするほかなく、根気がある人ならlatex.ltxを直接読解しながら勉強できるのかもしれませんが、私のような凡人にはこのようなテキストがないと既存のプログラムを改造して体裁をいじることすら困難だと思います。私がこの本で勉強した結果は、例えばngskshien_style.styでchapterheadの体裁をいろいろ細かく制御しているあたりに現れています。単に論文を書くというだけならこの本を買う必要はありませんが、マニアへの道をたどりたい人は入手してみてください。まだ絶版ではなさそうですが、わりと品薄な気もするのでちょっとでも興味がありそうな人は早めに買うのがいいかもしれないです(たぶん)。

早いうちからやっておいた方がよいこと

 最後に、論文をLaTeXで書くと決めた人が、なるべく早いうちからやっておいた方がよいことをいくつか紹介します。
 何より大事なのは、しかるべき参考文献をきっちり収集しておくことです。とりあえずpdfファイルを持っていたらMendeleyなどの文献管理ソフトにぶち込んだらTeXで引用できる形式にしてくれます。研究の過程で必要な論文をサーベイしておかないと、執筆の段階になってから集めるのは極めて困難だと思います。
 次に大事なのは、早いうちにTeXファイルのひな型を作って体裁や引用などの形式を確認しておくことです。特に引用(bibTeX)に関しては自分でいじろうとすると闇が深く、下手するとLaTeX以上に学習コストというか精神力が持っていかれるやつなので早めになんとかしましょう(今度記事を書くかも?)。junsrt.bstなどの有名な引用形式が学科や指導教員などの求める条件を満たさない場合、そこから自分で引用形式を改造して作るのには非常に時間がかかります。ここがどうにもならない場合Wordの利用も検討に入れるべきです。それくらい面倒なのが参考文献の引用なのですが、一度環境がそろってしまえば非常に(この点に関してはWordより遥かに)便利なので、早めになんとかしましょう。
 最後におすすめするのは図の作成です。図やイラストなどを作るのには時間がかかりますし、土壇場で焦って作ると意外なミスをしてしまうこともあるので、例えば実験のセットアップやイントロダクションに必要な図などは早いうちに作っておくのをお勧めします。万が一その図を使わないにしても、ちょくちょく図を作っておくことで作成に慣れておくことが大事です。
 要するに、執筆段階で執筆以外のことに気を取られないようにするのがとにかく大事です。仮の文章でも仮の図でも仮の参考文献でもなんでもいいので、とにかく思い通りの体裁でコンパイルができるということを早いうちに確認すべきです。

最後に

 クソ長い文章を読んでいただいてありがとうございます。初心者(私自身初心者の域は出ないのだけれど)にとっては、「こんなに多くのことを考えないといけないのか」と思われるほど面倒に思われたかもしれませんが、ぶっちゃけ本当にめんどくさいです。しかしながら、最初の環境構築をなんとかしてしまえば細かい体裁などに悩まされずに執筆に専念できるのがLaTeXの強みなので、最初の壁を乗り越えられる気がする人はチャレンジしてみてはいかがでしょうか。