19日目: LaTeX でレポートを書いてみよう

 こんにちは。やぎちゃんです。

 RCC 会員ならびに大学のみなさん、レポートは何を使って書いていますか?

 レポートは、最終的には PDF 形式で提出するものが多いですが、Word や手書きなど、執筆方法は様々です。ここでは、組版処理ソフトである LaTeX とそれらを比較して、LaTeX を使用するメリットと、LaTeX の使用方法を解説します。

なぜレポートを LaTeX で書くか

テキストファイルで書ける

 まず最初に LaTeX はソースコードをテキストファイルで書けるというものがあります。ここではテキストファイルとは、一般に .txt 拡張子をつけるようなプレーンテキストという意味ではなく、UTF-8 のようなエンコードで読めるものとします。HTML、Markdown、MDX のようなマークアップ言語もこれに当てはまります。Word ファイル(.docx 拡張子がついているもの)は当てはまりません。ファイル形式がテキストだと、様々なソフトからファイルを読み書きできるので、以下のようなメリットがあります。

  • 好きなエディタが使える
  • 静的解析ツールが使える
  • バージョン管理する際に差分表示などの恩恵を受けられる

 エディタは、情報の多さや汎用性の高さなどから、 VS Code がおすすめです。特に、LaTeX Workshop 拡張機能がとても便利です。シンタックスハイライト、補完、自動フォーマット、スニペットなどをはじめ、LaTeX ならではの機能としてマウスホバー時の数式プレビューや SyncTeX による PDF プレビューとの相互ジャンプもあります。

 静的解析ツールは、Node.js 製の自然言語 Lint ツールである TextLint を紹介します。これは、ルールを設定しておくと、それに違反した文章を知らせてくれるというものです。技術的なドキュメント、ブログ、アプリ内のテキストによく使われていますが、ルールのカスタマイズがしやすいため様々な用途に使用することができ、小説の執筆に使うこともあります。Word のようなソフトにも校正機能はありますが、細かくカスタマイズできるところが TextLint の強みです。レポートでは、一般に以下のような書き方のルールがあります。このようなルールを自分で調べ、確認するのは大変ですので、自動でチェックしてくれるツールは便利です。

  • 文章内で句読点を統一する
  • 表記ゆれをしない
  • だ、である体を使用する
  • 「~と思います」のような表現を使用しない

 バージョン管理は授業のレポートではあまり重要ではないと感じるかもしれませんが、誤ってファイルを削除、編集してしまった場合や、編集時刻がレポート提出の前後のどちらなのか確認するのに役立つことがあります。

きれいに文章や数式が書ける

 LaTeX は美しい文書の組版処理を行うために作られたソフトウェアです。また、レポートや学術論文に使われてきた長い歴史があります。このことから、LaTeX を使用すると美しいレポートや論文を作成することができます。

 以上は、一般によく言われていることなので、ここではあまり述べませんでした。詳しくは TeX Wiki の「はじめての方へ」をお読みください。

LaTeX のはじめかた

 LaTeX を書くには、OverleafCloud LaTeX のような Web サービスを使用する方法と、TeX Live (詳細は TeX Live – TeX Wiki を参照) のような LaTeX の環境を構築するためのソフトウェアを用いて PC 上に環境を構築する方法があります。Web サービスには、気軽に使え、共有も簡単であるというメリットがありますが、サービスの提供が終わったり、障害が起こったりした場合に使用できない、先述した TextLint のようなツールが自由に使えないといったデメリットがあります。一方PC 上に環境を構築する場合はメリットとデメリットが逆になります。PC 上に環境を構築する場合、TeX Live のような一般的なソフトウェアを使用するのではなく、 mdtopdf という、記述が簡易な Markdown を TeX の組版を使用して PDF ファイルに変換できるシステムもあります(Markdownで書いた実験レポートをTeX組版の美しいPDFに変換するDockerイメージを作った)。執筆する人や内容によって使い分けると良いでしょう。どちらにしても、TeX/LaTeX の概要を知るため TeX Wiki の主なページは一読しておくことをおすすめします。

 VS Code には、コンテナ仮想化ソフトウェアである Docker で環境構築を素早く行える拡張機能 Remote – Containers があります。これを使用して、PC 上に Docker と VS Code の環境さえあれば、ワークスペースを開くだけで、TeX Live やその他のソフトウェアをインストールせずに TextLint と LaTeX の環境が整うテンプレートリポジトリ ygkn/latex-template を作りました。使用方法などの詳細はリポジトリの README をご覧ください。ぜひスターして使ってみてください。

スクリーンショット
ygkn/latex-template のサンプルレポート。Node.js が必要な TextLint や、Python が必要な minted が使用できる。

さいごに

 アドベントカレンダーなので、先述したテンプレートを使用して LaTeX でクリスマスカードを書いてみました(ソースコード:ygkn/LaTeX-Christmas-Card)。

1ページ目
2ページ目
3ページ目

 かわいいですね。

Twitterでフォローしよう

おすすめの記事