MavericksにTeXをインストールする


Yosemiteが公開されていますが、しばらくはMavericksを使う予定なので、MavericksにTexをインストールしました。そのときに行ったことなどを備忘録として残しておきます。

##参考にしたところ

- [Mac OS X にTeXをインストールする初心者向けメモ](http://tandoori.hatenablog.com/entry/20130802/1375451791)
- [TeX Wiki](http://oku.edu.mie-u.ac.jp/~okumura/texwiki/)
- [OS X+Homebrew+zshでMacTeXをインストール](http://qiita.com/enokawa/items/3e12c419ca6ded097e0f)
- [LuaTeX-ja の使い方](http://sourceforge.jp/projects/luatex-ja/wiki/LuaTeX-ja%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9)

##MacTeXかTeXLiveか

MacTexはTexLiveを元に作成されているOS X用TeXディストリビューションらしいです。
別にTeXLiveをOS Xにインストールしても問題は無いのだと思いますが、せっかくOS X用のディストリビューションを用意していただいているのですから、MacTexを使わせていただきましょう。
[MacTexの公式サイト](http://tug.org/mactex/)から、MacTexのインストールパッケージをダウンロードします。いろんなところで言われていますが、ファイルサイズは2.4GBもあるようです。いくら回線速度の速い日本国内と言えど、この大きさはちょっと躊躇してしまいますね。
ちなみに、ダウンロードはSafariで行うことが強く推奨されています。なるべくSafariを使いましょう。

##MacTeXをインストールする

インストールパッケージを起動すると見慣れたインストーラが起動しますので、画面に従って進めていきましょう。
「インストールの種類」で「カスタム」を選択すると、インストール先やパッケージのインストールするしないを選択できます。
GhostScriptはhomebrewなどで管理できるようですので、今回はインストールしないことにします。また、GUI-Applicationsも特に必要ないかなと考えておりますので、こちらもインストールしません。
TeXLive-2014のみをインストールします。
(あれ、じゃあ別にMacTeXじゃなくてもよかったような...?)
ちなみにインストール先は変更しませんでした。

インストールディレクトリは`/usr/local/texlive/2014`になります。ディレクトリを覗いてみると、いろんなファイルなんかがあるのが判ります。

```bash
$ ls /usr/local/texlive/2014 -l
total 1620
-rw-r--r--  1 root staff   2098  9 29  2006 LICENSE.CTAN
-rw-r--r--  1 root staff   5086  6  6  2011 LICENSE.TL
-rw-r--r--  1 root staff    183  8  9  2008 README
-rw-r--r--  1 root staff    250  8  9  2008 README.usergroups
drwxr-xr-x  4 root wheel    136  5 25 22:48 bin
-rw-r--r--  1 root wheel 712040  5 24 10:24 doc.html
-rw-r--r--  1 root staff   1157  6  1  2010 index.html
-rwxr-xr-x  1 root wheel  80297  5 17 03:34 install-tl
-rw-r--r--  1 root wheel 825681  5 25 22:53 install-tl.log
drwxr-xr-x 12 root staff    408  5 25 22:51 readme-html.dir
drwxr-xr-x 17 root staff    578  5 25 22:51 readme-txt.dir
-rw-r--r--  1 root staff    360  5 23 12:57 release-texlive.txt
drwxr-xr-x  8 root wheel    272  5 25 22:58 texmf-config
drwxr-xr-x 31 root staff   1054  5 25 22:58 texmf-dist
drwxr-xr-x  7 root wheel    238  5 25 22:58 texmf-var
-rw-r--r--  1 root wheel    577  5 25 22:52 texmf.cnf
-rw-r--r--  1 root wheel    673  5 25 22:52 texmfcnf.lua
drwxr-xr-x 12 root staff    408 11  8 22:45 tlpkg
```

##TeXLiveのアップデート

とりあえず最初はアップデートしてみましょう。以下のコマンドでアップデートできるらしいです。

```bash
$ sudo tlmgr update --self --all
```

2014/11/09時点で、340件の更新がありました。気長に待ちましょう。

##実際に使ってみる

MacTex(TeXLive)には

- e-upTeX
- XeTeX
- LuaTeX
- LuaJITTeX

が収録されているらしいです。
今回は最も新しい環境であるらしいLuaTeXを使用してみます。
まずは簡単にpdfを作成してみましょう。

`.tex`形式で以下のようにファイルを作成してみます。

```test.tex
\documentclass{article}
\begin{document}
Hello, \TeX \\
Hello, \LaTeX \\
\end{document}
```

その後`luatex test`とコマンドを打ってコンパイル(?)してみます。
すると以下のようなメッセージが表示されました。

```bash
$ luatex test
This is LuaTeX, Version beta-0.79.1 (TeX Live 2014) (rev 4971) 
 restricted \write18 enabled.
(./test.tex
! Undefined control sequence.
l.1 \documentclass
                {article}
? 
```

1行目に未定義の処理があるよと言われているようです。やっぱりコピペじゃ駄目ですね。心を入れ替えて、ちゃんと文法を調べましょう。

と思って調べた結果、どうやらコンパイル(?)のコマンドが間違っていたようです。`luatex`ではなく`lualatex`だとうまくいきました。

```bash
$ lualatex test
This is LuaTeX, Version beta-0.79.1 (TeX Live 2014) (rev 4971) 
 restricted \write18 enabled.
(./test.tex
LaTeX2e <2014/05/01>
Babel <3.9l> and hyphenation patterns for 79 languages loaded.
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/size10.clo))
No file test.aux.

Underfull \hbox (badness 10000) in paragraph at lines 3--5

[1{/usr/local/texlive/2014/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./test.aux))
(see the transcript file for additional information)
 259 words of node memory still in use:
   2 hlist, 1 vlist, 1 rule, 2 glue, 39 glue_spec, 1 write nodes
   avail lists: 1:1,2:13,3:7,4:34,5:6,6:27,7:3,9:12
<</usr/local/texlive/2014/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb><<
/usr/local/texlive/2014/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb>
Output written on test.pdf (1 page, 18590 bytes).
Transcript written on test.log.
```

上記のログが表示された後、

- test.aux
- test.log
- test.pdf

が出力されます。
test.pdfを開いてみると、おお、素晴らしい。

```
Hello, TeX
Hello, LaTeX
```

と出力されています。

さて、では日本語はどうでしょうか。
先ほどのtest.texファイルを少々修正してみます。

```test.tex
\documentclass{ltjsarticle}
\begin{document}
Hello, \TeX \\
Hello, \LaTeX \\
日本語入力はどうかな？
\end{document}

```

先ほどと同様にコンパイル(?)しましょう。

```bash
$ lualatex test
This is LuaTeX, Version beta-0.79.1 (TeX Live 2014) (rev 4971) 
 restricted \write18 enabled.
(./test.tex
LaTeX2e <2014/05/01>
Babel <3.9l> and hyphenation patterns for 79 languages loaded.
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/size10.clo)) (./test.aux)
! Text line contains an invalid character.
l.5 ^^[
   $BF|K\8lF~NO$O$I$&$+$J!)^^[(B
? 
```

おおっと！ 文字化けしてしまうようですね。ちなみにファイルの編集はvimで行っており、(記憶が正しければ)UTF-8で出力されるはずです。
とりあえずxを入力して、処理を抜けましょう。
さて、本当にtest.texがUTF-8なのか謎なので、調べてみましょう。

```bash
$ file --mime test.tex
test.tex: text/x-tex; charset=us-ascii
```

あ、あれー……。UTF-8じゃなかった……。
vimで開き直し、`:setl fenc=utf-8`で文字コードを変換した後、保存してもう一度文字コードを見てみます。

```bash
$ file --mime test.tex
test.tex: text/x-tex; charset=utf-8
```

文字コードも直ったことですし、もう一度コンパイル(?)してみましょう。

```bash
$ lualatex test
This is LuaTeX, Version beta-0.79.1 (TeX Live 2014) (rev 4971) 
 restricted \write18 enabled.
(./test.tex
LaTeX2e <2014/05/01>
Babel <3.9l> and hyphenation patterns for 79 languages loaded.

(中略)

 2843 words of node memory still in use:
   8 hlist, 1 vlist, 3 rule, 3 glue, 16 kern, 2 glyph, 331 attribute, 468 glue_s
pec, 21 attribute_list, 1 write nodes
   avail lists: 2:1446,3:12,4:51,5:6,6:39,7:3,9:29
</usr/local/texlive/2014/texmf-dist/fonts/truetype/public/ipaex/ipaexm.ttf><</us
r/local/texlive/2014/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb><</usr/
local/texlive/2014/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb>
Output written on test.pdf (1 page, 172163 bytes).
Transcript written on test.log.
```

やりました！ では`open test.pdf`で結果を見てみましょう。
こんどはきちんと

```
Hello, TeX
Hello, LaTeX
日本語入力はどうかな？
```

とpdfに出力されています。

##環境の整備は完了？

とりあえずはTeXを使用する環境は整ったようです。今後はLuaLaTeXの使い方を勉強しながら、文書を作成していきましょう。