TeXを使う動機と環境構築まとめ


## はじめに

昨今のコロナ禍の状況では PC も文房具の一部になろうとしていて,仕事でもプライベートでも PC が手放せなくなっています.

私は数学科の学生として,教授に対して失礼ないように数学の課題は全て$\TeX$で文章を作成して提出しています.というのも,先生方は毎日多くの答案を見ていると察していますが,紙ベースの提出に加えてオンラインでポータルなどを用いて pdf,jpg,png などの提出も見ていると思います.若い先生はパソコンの画面上に表示された提出された課題を見てマークアップや,iPad などを用いてデジタルベースで採点することもあるでしょう.

しかし,中には採点は紙ベースの方が楽で,印刷して採点する先生もいらっしゃるでしょう.こうなると写真媒体で提出されたものは写真のコントラストに大きく依存して字が薄くて見えなかったり,逆に撮影環境が暗すぎて字が見にくいことが多々あります.
もちろん,答案の字が汚すぎて読めないということもないでしょう.加えて,印刷コストも変わってきます.というのも一般に写真で暗いとより多くのインクを必要としますが$\TeX$や Word などの文章作成された文章は写真より少ないインクで済む可能性がかなり高いです.さらに言えば,使っているポータルサイトを動かしているサーバーに提出されたファイルは保存されているかと思いますが,文章作成ツールを使った pdf は写真よりデータ量が小さいことが多いです.

このような動機で$\TeX$に限らず文章作成ツールを使うことを強くおすすめします.

## 概要

- $\TeX$とは?
  $\TeX$ は著名なコンピュータ科学者 [Donald E.Knuth 氏]　(https://ja.wikipedia.org/wiki/%E3%83%89%E3%83%8A%E3%83%AB%E3%83%89%E3%83%BB%E3%82%AF%E3%83%8C%E3%83%BC%E3%82%B9)が作った文書整形システムです.つまり,Word やその他文章作成ツールの一種ということになります.
- 特徴
    - 複雑な数式が綺麗に出力できる
    - 簡単に[ハイパーリンク](https://ja.wikipedia.org/wiki/%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%AF#:~:text=%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%AF%EF%BC%88Hyperlink%EF%BC%89%E3%81%A8%E3%81%AF,%E5%8D%98%E3%81%AB%E3%80%8C%E3%83%AA%E3%83%B3%E3%82%AF%E3%80%8D%E3%81%A8%E3%82%82%E5%91%BC%E3%81%B0%E3%82%8C%E3%82%8B%E3%80%82)付きの文章が作れる
  - さまざまな [OS](https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%9A%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0) に対応していて,そのソースファイルは基本的にテキストファイルなので簡単に扱うことができる.

  - 使用例
    複雑な数式として例えば,次のような数式を綺麗に出力できます.

  $$
  \frac{\pi}{2}
  =\left(\int_{0}^{\infty} \frac{\sin x}{\sqrt{x}} d x\right)^{2}
  =\sum_{k=0}^{\infty} \frac{(2 k) !}{2^{2 k}(k !)^{2}} \frac{1}{2 k+1}
  =\prod_{k=1}^{\infty} \frac{4 k^{2}}{4 k^{2}-1}
  $$

  この数式を表示させるためのソースコードは次のようなコードになります.

```tex
  \frac{\pi}{2}
  =\left(\int_{0}^{\infty} \frac{\sin x}{\sqrt{x}} d x\right)^{2}
  =\sum_{k=0}^{\infty} \frac{(2 k) !}{2^{2 k}(k !)^{2}} \frac{1}{2 k+1}
  =\prod_{k=1}^{\infty} \frac{4 k^{2}}{4 k^{2}-1}
```

一見,複雑そうに見えるこの数式ですが,慣れればすぐにこのコードを自分でかけるようになります. そして後に紹介する[Mathpix](https://mathpix.com/)を使えば,自分で入力しなくてもすみますのでかなり有用なツールです.

## 環境構築

ここまで,$\TeX$を使う動機や概要を書いてきましたが,この環境構築が一番難しい点になります.どうしてもここでつまづいてしまって前に進めないという方も沢山いるかと思います.そこで,ローカルの難しい環境構築と Web アプリケーション([Overleaf](https://ja.overleaf.com/))を使った方法を紹介します.

その前に,ローカルと Web のどちらを使ったらいいのという疑問が自然と浮かび上がります.

そこでそれぞれの特徴を簡単に説明します.

| 特徴     | ローカル                             | Overleaf                             |
| -------- | ------------------------------------ | ------------------------------------ |
| 編集     | 好きなエディタでオフラインでも使える | 基本的には Overleaf のエディタで編集 |
| 可用性   | PC がなきゃ使えない                  | インターネットがあればどこでも       |
| 使用容量 | 結構容量を使う（5GB くらい?）        | ほぼ 0                               |

他にも紹介すべきことはあるかもしれませんが,ほとんどの方にとって**ローカルを使う理由はない**かと思います.

しかし,私はローカルで$\TeX$を使っています.それはやはり,好きなエディタを使いたいからです.もちろん,好きなエディタで編集したものを Overleaf にアップロードしてもいいでしょう.

1.  ローカル環境に環境構築

ローカルに環境構築する方法は私の別の記事を参照してください.Windows ユーザーの方が世界的に多いので Windows ユーザーむけに記事を書きましたが,私を含めて Mac ユーザー向けにも要望があれば記事を書こうと思います.

https://qiita.com/kkml_4220/items/2bac5b83395d75619a0f

Ubuntu 上で

```bash:Ubuntu
platex -version
```

と打って次のようにバージョン情報が出力されれば成功です.
　![ubuntu_platex_version.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1262857/8065f88f-e275-4237-baff-21fb546914a6.png)

2.  Overleaf

    1.  まず[Overleaf](https://ja.overleaf.com/)にアクセスします.必要に応じて会員登録を済ませてください.
        ![ol_top.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1262857/0c59d4fc-8040-8df6-385f-9abdc20a4aeb.png)

    2.  次の画像を参照しながら Blank Project を作成します.
        ![ol_blankproject.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1262857/a15d383b-0756-5ce0-50e1-b4cc7f234342.png)

        プロジェクト名は（sample）にしておきましょう.すると次のような UI が表示されます.
        ![ol_ui.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1262857/7b41b6c1-534c-6d1c-6880-11a8dc9bda39.png)

        3.Hello $TeX$と表示させてみよう.
        Overleaf のエディタで次のようにします.

    ```tex:main.tex
    \documentclass{article}

    \usepackage[utf8]{inputenc}

    \title{sample}
    \author{Katsuyuki Takahashi}
    \date{June 2021}

    \begin{document}

    \maketitle

    \section{Introduction}

    Hello \TeX % これを追加

    \end{document}
    ```

   Windows の方は「\」に対して「¥」が表示されるかもしれませんが,表示された方にしたがってください.


- うまく表示されないときは次の事項を検討してみてください.
    - 全角入力になっている
    - タイプミス

    ここまででうまくいかないという方はまだこの記事を読むには早すぎるかもしれません.ある程度の PC スキルを身につけてからもう一度この記事に出会うまで勉強しましょう.Qiita をみているくらいですから読者にもある程度の能力を仮定させていただきます


少し小言を呈しましたがこれで 1番の難関である環境構築はとりあえず終了です.

しかし,Overleaf を使っている方は実は日本語を入力するとコンパイルエラーになってしまします.

![ol_nihongo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1262857/e07315ee-9ccd-892e-5ddd-3b82dce1a0b9.png)

実際に,エラーのログを見るとエラーになっていることがわかります.
![ol_error_log.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1262857/06aa9d89-a405-ce03-da3f-3dcb6b876901.png)

この問題を解消するには 2つのステップが必要になります.

1. latexmkrcの作成
次の画像のようにファイルを新規作成します.ファイル名は拡張子なしで「latexmkrc」とします.
![ol_latexmkrc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1262857/061653eb-2950-df93-955c-8e258b0d7d5e.png)

ファイルの内容は次のようにします

```tex:latexmkrc
$latex = 'platex';

$bibtex = 'pbibtex';

$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';

$pdf_mode = 3;
$ENV{TZ} = 'Asia/Tokyo';

$ENV{OPENTYPEFONTS} = '/usr/share/fonts//:';
$ENV{TTFONTS} = '/usr/share/fonts//:';

```

| 引用: https://doratex.hatenablog.jp/entry/20180503/1525338512

意味はわからなくても構いませんが,気になるなら自分でググりましょう.

1. コンパイル方法の指定

左上の menu からコンパイルの項目を探します.
そこでコンパイラに「LaTeX」を指定してください.

ここまでできたら,「main.tex」を再びコンパイルすると
![ol_jpn_done.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1262857/5fa4e2ec-e7f9-8756-f9b4-911bd3879a93.png)
となり,日本語の表示に成功しました.


--- 

## 終わりに

とりあえずここまでで,$\TeX$を使う準備はできました.まだ入門記事を書こうと思っています.
$\TeX$を使えるようになって一番身についた技術は案外$\TeX$ではなく,ググる能力だったりします.本質的なところ,これが$\TeX$以上に大切な能力だと思います.

最後まで御覧いただきありがとうございました！

## さらに学習を進めたい方へ

$\TeX$の簡単な使い方を記事にしました

https://qiita.com/kkml_4220/items/87fae5f2089968f44bfa