Hatena::ブログ(Diary)

アセトアミノフェンの気ままな日常

2015-07-21

TeX インストールのベストプラクティスを求めて

TeX のインストールに関して最近しょっちゅう Forum や Twitter で対応しているが、トラブルが絶えない。TeX Wiki の解説は最近僕が書いていることもあり、毎回そこへ誘導するのだが、どうやら TeX Live Installer (Windows) と MacTeX のトラブルは絶えない(一方、TeX インストーラ 3 による W32TeX インストールはそれほどトラブルを聞かない)。いま、僕が「コマンド操作に慣れていない人向けに」トラブルが少ないという理由で推奨したいのは…

Windows の場合

オススメは当然ながら「TeX インストーラ 3 の GUI を使った W32TeX のインストール」である(解説はこちら)。これが一番安定していて、日本語用設定も自動で行われるため、コマンド操作に慣れている人にもオススメできるくらい信用できる。
もしよっぽど TeX Live が好きなら「TeX Live 公式インストーラを使って TeX Live を GUI でインストール」でもよいが、「インストーラが途中で止まる(ユーザ名に日本語を使っている場合はその危険性が一層増大するっぽい)」「デフォルトで日本語用設定が済んでいないのでちょっと面倒」という問題がある。後者は abtlinst_patch.exe を使えばかなり楽になるが、前者はちょっと厄介である。アンチウイルスソフトを一時的に無効にし*1、さらに日本語ユーザ名の場合は予め TEMP や TMP を C:\temp などの日本語を含まない場所に設定しなおしてからインストールすれば安全性は増すと思う*2が、日本語を含まない場合でさえ途中で止まる原因不明のケースがある(ダウンロード途中*3あるいはダウンロード完了後の後処理手前)。

Mac の場合

実はこちらはオススメできる良い方法が存在せず、現状では MacTeX 以外に GUI によるインストールが提供されていない。MacTeX 公式インストーラは行儀が悪いとしばしばいわれる通り、TeX 関連プログラムや周辺ツール(Ghostscript や TeXShop など)をコンピュータ内のあちこちにばらまく。特に問題なのが「Ghostscript が /usr/local に既に存在している場合にそれを勝手に上書きする*4」「latex などのシンボリックリンクを /usr/local/bin に大量に作るが、これらを一括削除する手段がない*5」といったことで、勝手な上書きやばらまきのせいで予期せぬエラーが発生することもありうる*6。他のインストーラが存在しないのがそもそもの問題だが、MacTeX を使うとするとどうやってインストールするのが最も安全なのだろうか?

意見・情報求む!

以上が僕の現在の認識である(ちなみに僕は「コマンド操作を極力初心者に強いない」派)。いったい、どういうインストール方法が現時点で最適なのだろうか? また、例えば TL2014 から TL2015 へのアップデートなどはどうするのが最適なのだろうか? これらは現在僕が迷っている or 最適解を知らないので TeX Wiki にも書き込んでおらず、空白の状態である… ぜひ皆さんの考えをお聞きしたい。もちろん、反論や事実誤認の指摘もコメント歓迎。

*1:ちょうど TUG のメーリングリストでも「91% でインストーラが止まる」の対策として「アンチウイルスソフトウェアを無効にする」と回答があった。

*2:ちょうど今 Twitter で対応しているのだが、このユーザの場合「ユーザ名が日本語である」ことと「インストーラが完了しないまま終了してしまった」という2つの事実の関係性は不明のままである。ただし、やり直すなら安全策をとって日本語を含む TEMP/TMP は書き変えてもらった。さらに91%で止まったそうなのでウイルス対策ソフトウェアも無効化してもらい、かつおかしな Path の値も修正してもらったのだが、やはり91%で止まる現象が再発し、結局 TeX Live は諦めて W32TeX を勧めた。そんなこともあるのか…

*3:untar: untarring ***.tar failed. というエラーメッセージが出た直後に「perl.exe は動作を停止しました」と出てインストーラが落ちるという現象に、日本語ユーザ名を使っていない僕自身も2回遭遇した。インストーラをもう一度実行すると同じ場所で止まることはないので、tar.xz のネットワークダウンロードに失敗していそうなのだが、そんな事態も予め考慮に入れてクラッシュしないようにする配慮が欲しい…

*4:あらかじめインストーラ画面の途中で「カスタマイズ」をクリックするとインストールを行わない選択ができるが、気づきにくい。

*5:パッケージ管理システム Homebrew などは /usr/local 以下にいろいろなプログラムをインストールするが、それとは独立にリンクが貼られるので、パッケージ管理システムの管理外になる。したがって、TeX 関連プログラムとそれ以外の区別をして削除するのは一苦労で、すべて手作業になってしまう;つまりアンインストールが相当困難である。

*6:例えばこちら;Yosemite で dyld: Library not loaded: /usr/X11/lib/libXt.6.dylib なるエラーが発生する場合があるが、これも既存の Ghostscript を MacTeX が上書きして設定が変わってしまうことが原因かもしれない。