2015/05/14

[雑記]Mac OS YosemiteへのTeX環境の導入(含TeXStudio)

,
 MacへのTeXの導入手順です。

 基本的にはMacTeXをインストールすれば、それで終了なのですが、統合環境であるTeXStudioの導入もしてみました。

2015.12.07 追記 : El Capitanではこの方法が参考になるかわかりません。自分はSIP機能が追加されたために、一旦アンインストールしたあとhomebrewで入れ直したりしました。多分他の方が詳しい解説をなさっていると思うので、そちらを参考にすることをお勧めします。

1.1 MacTeXのインストール


MacTeXは、MacでTeXを利用するために必要なパッケージがまとめられているものです。
MacTeXのインストール・設定方法については、以下のサイトが詳しいです。

・Mac - TeX Wiki http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Mac#f5466652
・Mac OS X にTeXをインストールする初心者向けメモ - 教育社会学の勉強・備忘録 http://tandoori.hatenablog.com/entry/20130802/1375451791

とりあえず、上記のサイトに書かれている通りに、MacTeXを導入しました。
※MacTeXをGoogle ChromeでDLすると、パッケージがインストール出来ないことがあります。私も遭遇してしまいました。Safariを利用しましょう。
(Homebrewでもインストールすることができるようです。)
ChromeでDLしたところ、このような画面となりインストールできませんでした。

1.2 TeX Live Utilityを利用してアップデート


MacTeXのインストールが完了したら、まずは、TeX Live Utilityを起動して、一度全てのパッケージにアップデートを掛けました。

1.3 TeXShopで動作の確認


次に、TeXShopで簡単なひな形をコンパイルして表示させてみて、ちゃんとインストールができたか確認しました。
TeXShopの設定も上のサイトに従いました。

テストファイルには、以下のサイトの”sampleotf.tex"を利用しました。
MacTeX + TeXShop で日本語 http://www.clas.kitasato-u.ac.jp/~fujiwara/MacTeX/

※ただし、最初はFont family `JY1+mc' unknown.というエラーが出てLaTeXが停止してしまいました。
調べたところ、\documentclass[uplatex]{jsarticle}と変更すればよいみたいです。
参考 : LaTeX のエラーメッセージ - TeX Wiki http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?LaTeX%20%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8


2.1 TeXStudioの導入


さて、ここまでで、一応最低限のTeX環境が整ったことになります。
しかし、私はTeXShopがあまり好きではなく、もうちょっと使いやすい統合開発環境が利用したかったので、TeXStudioを入れることにしました。

TeXStudioは、公式サイトからダウンロードすることが出来ます。

2.2 コンパイラの設定


TeXstudio/設定/OS X - TeX Wiki http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?cmd=read&page=TeXstudio%2F%E8%A8%AD%E5%AE%9A%2FOS%20X

さて、.texファイルのコンパイル方法ですが、どうも今は下の2つの方法があるみたいです。
1)platex(.dvi生成)→dvipdfmx(.pdf生成)
2)ptex2pdf(.pdf生成)
で、多分後者のほうが新しいです。前者の方は、[DVI->PDFチェーン]と呼ばれるもの。後者は[コンパイル&表示]。

これらを利用するため、上のWikiに書かれている通りに、[環境設定]→[コマンド]を変更します。


それで、このdvipdfmxなんですが、デフォルトのTeXStudioのパス設定
[DviPdf]→[/usr/local/bin/dvipdfmx %.dvi]にはありません(!)

私の環境では、ターミナルからwhichコマンドで検索したところ、dvipdfmxは/usr/texbin/以下にあるようです。なので、TeXStudioでもこのパスに変更しました。
$ which dvipdfmx
/usr/texbin/dvipdfmx

2.3 ptex2pdfの設定


ptex2pdfとは、luatexを使った新しいコンパイルチェーンだそうです。
ptex2pdf - TeX Wiki http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?ptex2pdf

以下のページに、この新しいツールについての説明がよくまとまっています。
TeXの最近の動向 - MyTeXpert http://mytexpert.osdn.jp/index.php?TeX%A4%CE%BA%C7%B6%E1%A4%CE%C6%B0%B8%FE

TeXStudioでptex2pdfを利用する場合は、[環境設定]で、
[コマンド]→[PdfLaTeX]を、[/usr/texbin/ptex2pdf -l -u %.tex]。
[ビルド]→[ビルド&表示]を、[コンパイル&表示]
[ビルド]→[既定のコンパイラ]を、[PdfLaTeX]
にします。

コンパイルには、-l -uオプションが必要みたいです(以下を参考に)。そうしないと、Font family 'JY2+mc’ unknown.などとエラーを吐かれてしまいました。

ちゃんとコンパイルが通るかどうかは、単純にターミナルから
$ptex2pdf -l -u ***.tex
としても確かめられます。ちなみに、この方がログが見やすいです(TeXStudioの設定を間違えたのか、どうもログがTeXStudioのコンソールに表示されない…)

2014/11/16のまとめ - Wandering Life http://nowondaringnolife.hatenablog.com/entry/2014/11/16/231159

2.4 PATHを通す必要がある場合


ここからは、TeXStudioで遭遇した問題の解決方法を書いておきます。大体、上に記したWikiに書かれていますが…一応。

ptex2pdfを利用した際に、"env: texlua: No such file or directory"となる場合は、/usr/texbinか何かへPATHを通す必要があるようです。
Wikiには、~/.bash_profileにexport ~を追加する例が示されています。
texluaが見つからない場合のメッセージ


ptex2pdfは、途中で問題があった時に「どうする?」と対話的に聞いてくるのですが、IDEの今の設定だとそれが分からない。結果的に、ユーザーはそれをしないからハングアップしたと思うし、ptex2pdfは返事がないから待ち続けるという、お互いに不幸な構図に陥ってる…。

2.5 TeXStudioのPDFビューワで、日本語フォントが表示されない問題


そのまんまなんですけど、とにかく表示されないということがありました。Finderのプレビューなどで確認すると、ちゃんと日本語が確認できるのですが…
以下のサイトに倣い、ターミナルから
$brew install poppler
としたところ、直りました。

TeXstudioの組み込みPDFビューアで日本語を表示させる(Mac): https://hayate.me/archives/31

2.6 TeXStudioのエディタで、日本語が重なってしまう問題


MBAだと発生しなかったのですが、iMacだと発生しました。なんでだろう。
[環境設定]→左下の[高度なオプションの表示]をON→[エディタ設定]→[回避策の最適なディスプレイオプションの自動選択]をOFF→[描画モード]をQtに。
こんな感じで日本語が重なって潰れてしまいます。
設定をこうします。

2.7 Skimの導入


TeXStudioでは、組み込みPDFビューアとして、外部ビューアも利用できます。Mac向けPDFビューアのうち、それなりに人気があるものの一つがSkim。だそうです。

3 その他


他に参考にしたサイトを挙げておきます。
luatex でPDFを作れるようになるまで - lol b http://sqr.hateblo.jp/entry/2014/04/20/151523




以下は、ヒラギノを利用するようにした時のログです。(例のコマンド群をまとめてconfigure_tex_hiragino.shに書いておきました。)

$ sudo sh configure_tex_hiragino.sh
Password:
mktexlsr: Updating /usr/local/texlive/2014/texmf-config/ls-R...
mktexlsr: Updating /usr/local/texlive/2014/texmf-dist/ls-R...
mktexlsr: Updating /usr/local/texlive/2014/texmf-var/ls-R...
mktexlsr: Updating /usr/local/texlive/texmf-local/ls-R...
mktexlsr: Done.
updmap: resetting $HOME value (was /Users/********) to root's actual home (/var/root).
updmap is using the following updmap.cfg files (in precedence order):
  /usr/local/texlive/2014/texmf-dist/web2c/updmap.cfg
updmap is using the following updmap.cfg file for writing changes:
  /usr/local/texlive/2014/texmf-config/web2c/updmap.cfg
Creating new config file /usr/local/texlive/2014/texmf-config/web2c/updmap.cfg
dvips output dir: "/usr/local/texlive/2014/texmf-var/fonts/map/dvips/updmap"
pdftex output dir: "/usr/local/texlive/2014/texmf-var/fonts/map/pdftex/updmap"
dvipdfmx output dir: "/usr/local/texlive/2014/texmf-var/fonts/map/dvipdfmx/updmap"

updmap is creating new map files
using the following configuration:
  LW35 font names                  : URWkb (/usr/local/texlive/2014/texmf-dist/web2c/updmap.cfg)
  prefer outlines                  : true (/usr/local/texlive/2014/texmf-dist/web2c/updmap.cfg)
  texhash enabled                  : true
  download standard fonts (dvips)  : true (/usr/local/texlive/2014/texmf-dist/web2c/updmap.cfg)
  download standard fonts (pdftex) : true (/usr/local/texlive/2014/texmf-dist/web2c/updmap.cfg)
  kanjiEmbed replacement string    : hiragino (/usr/local/texlive/2014/texmf-config/web2c/updmap.cfg)
  kanjiVariant replacement string  :  (default)
  create a mapfile for pxdvi       : false (default)

Scanning for LW35 support files  [  3 files]
Scanning for MixedMap entries    [ 44 files]
Scanning for KanjiMap entries    [  6 files]
Scanning for Map entries         [225 files]

Generating output for dvipdfmx...
Generating output for ps2pk...
Generating output for dvips...
Generating output for pdftex...

Files generated:
  /usr/local/texlive/2014/texmf-var/fonts/map/dvips/updmap:
       15796 2015-05-13 14:02:05 builtin35.map
       21269 2015-05-13 14:02:05 download35.map
     1190839 2015-05-13 14:02:06 psfonts_pk.map
     1451472 2015-05-13 14:02:06 psfonts_t1.map
     1445646 2015-05-13 14:02:05 ps2pk.map
          14 2015-05-13 14:02:06 psfonts.map -> psfonts_t1.map
  /usr/local/texlive/2014/texmf-var/fonts/map/pdftex/updmap:
     1445653 2015-05-13 14:02:06 pdftex_dl14.map
     1443988 2015-05-13 14:02:06 pdftex_ndl14.map
          15 2015-05-13 14:02:06 pdftex.map -> pdftex_dl14.map
  /usr/local/texlive/2014/texmf-var/fonts/map/dvipdfmx/updmap:
        6588 2015-05-13 14:02:05 kanjix.map

Transcript written on "/usr/local/texlive/2014/texmf-var/web2c/updmap.log".
updmap: Updating ls-R files.
Read more →