Mac OS X Elcapitan で LatexTools(on Sublime Text 2)を使うための準備


Mac OS X Elcapitan において「Sublime Text 2 で LatexTools が動かない」という問題が生じたため、対策方法をメモ。

※ Yosemite 以前からアップデートすることによりTeXがコンパイルできない場合が本記事の対象です。
※ Elcapitan にて新規にTeX環境を構築する場合は こちら を御覧ください。

環境

  • OS
    • Mac OS X Elcapitan (※ Yosemite からのアップデート)
    • Version:10.11.4
  • Sublime Text 2
    • Homebrew Cask にて導入
    • Version:2.0.2, Build:2221
  • MacTeX
    • インストーラにて導入
    • Version:2014

症状

.tex ファイルを Sublime Text 2 の LatexTools を使ってでコンパイルしようとすると、

コンパイルしたいファイル.tex
[Compiling コンパイルしたいファイル.tex]

TraditionalBuilder: Your custom command does not allow the engine to be selected

Invoking latexmk... done.

Errors:
/usr/local/texlive/2015/texmf-dist/tex/platex/jsclasses/jsarticle.cls:38: LaTeX Error: This file needs format `pLaTeX2e' [\NeedsTeXFormat{pLaTeX2e}]

[Done!]

というエラーが出て、 TraditionalBuilder.py を修正しても症状が改善されない。
※ TraditionalBuilder.py は、~/Library/Application Support/Sublime Text 2/Packages/LaTeXTools/builders にある、設定ファイルです。これも必要なので要設定 [1]

原因

そもそも、なんで動かないのか。
Elcapitan からは、新しいセキュリティの方式である System Integrity Protection (SIP、 rootless)が動作しているらしく、/System, /bin, /sbin, /usr 以下において、ユーザは sudo をしようが何をしようが、作業ができないらしく、/usr/local の下にファイルを置いていた色んなソフトウェア(MacTeXもHomebrewも)が軒並みお亡くなりになったということらしい [2]
TeX界においても、Elcapitan アップデートに伴う影響がたくさん出た模様 [3]

対策方法

  1. MacTex (TeX Live) を最新版(2015)にアップデートする(インストーラでも、Homebrew使っても)
  2. TeX Live ユーティリティ.app のパスを更新
  3. TeX Live ユーティリティ.app で、「更新分」 となってるリストをアップデートする
  4. 日本語フォント関連の設定をする
  5. Sublime Text 2 の設定でTeXのパスを更新する

1. MacTex (TeX Live) を最新版にアップデートする

MacTeXを最新版(2015)にアップデートします。結構容量が重い(3GB弱)ので注意。
アップデート方法は、以下のようなものがある。

2. TeX Live ユーティリティ.app のパスを更新

MacTex のインストールが終わると、TeX Live ユーティリティ.app というアプリケーションが入るので、アプリを開く。環境設定(⌘,)を開いてパスを以下のとおり変更する。

/Library/TeX/texbin

3. TeX Live ユーティリティ.app で、「更新分」 となってるリストをアップデートする

パスを更新すると、TeX Live ユーティリティ.app上、「更新分」タブにアップデートリストが出るので、アップデートする。リポジトリは、ftp://ftp.kddilabs.jp/CTAN/systems/texlive/tlnet/ だった。 ⌘a + 右クリック → アップデート すれば全部アップデートできる(このアップデートは長い時間を要するので注意)。

tlmgr を使ってやる方法も存在するが、tlmgrを使うにもパスを通す必要があるので注意 [5]。 ちなみに tlmgr を使ってアップデートするときは以下を実行する。

$ sudo tlmgr update --self --all

4. 日本語フォント関連の設定をする

ヒラギノフォントを出力したPDFに埋め込むためには以下のコマンドを実行する [6]

$ cd /usr/local/texlive/2015/texmf-dist/scripts/cjk-gs-integrate
$ sudo perl cjk-gs-integrate.pl --link-texmf --force
$ sudo mktexlsr
$ sudo kanji-config-updmap-sys hiragino-elcapitan-pron

5. Sublime Text 2 の設定でTeXのパスを更新する

最後に Sublime Text 2LatexTools において TeX のパスを更新する [7] [8]
パスが記載されているファイルの場所は以下のとおり。

~/Library/Application Support/Sublime Text 2/Packages/LaTeXTools/LaTeXTools.sublime-settings

LaTeXTools.sublime-settings を以下のとおり変更。

LaTeXTools.sublime-settings

// ------------------------------------------------------------------
// Platform settings: adapt as needed for your machine
// ------------------------------------------------------------------

"osx":  {
  // Path used when invoking tex & friends; MUST include $PATH

  // "texpath" : "$PATH:/Library/TeX/texbin:/usr/texbin:/usr/local/bin:/opt/local/bin"
  //  ↓ 以下に変更
  "texpath" : "$PATH:/Library/TeX/texbin:/usr/local/bin:/opt/local/bin"

  // Path to PDF viewer, if needed
  // TODO think about it. Also, maybe configure it here!
},

以上で TeX ファイルがコンパイルできるようになりました。

参考サイト

  1. This file needs format 'pLatex2e'のエラー | Qiita
    http://qiita.com/gash717/items/f9417fd50385e0350366
  2. HomebrewはEl Capitanへアップグレードする前に入れておく | Qiita
    http://qiita.com/riocampos/items/525ec4b35744ad586c5a
  3. TeX界の El Capitan 迎撃戦記 | TeX Alchemist Online
    http://doratex.hatenablog.jp/entry/20151008/1444310306
  4. El Capitanの前TeX環境を消してTeX Live 2015をインストールしてみた | Give shape to ideas
    http://harulabo.net/?p=1389
  5. [TeX] El Capitanでtlmgrコマンドが使えないときの対処 | Qiita
    http://qiita.com/hnlcol/items/1a89b693e11b24b8d8bf
  6. 2015年10月9日 | にっき♪
    http://abenori.blogspot.jp/2015/10/el-capitantexplatex-dvipdfmxpdflatexmac.html
  7. ElCapitanでLatexToolsを使う | Qiita
    http://qiita.com/sanofc/items/4494f3a57f19cc1546cb
  8. Mac OS El Capitan - Compile Fails #531 | Github
    https://github.com/SublimeText/LaTeXTools/issues/531