Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
OS X El Capitan+Sublime Text 3でヒラギノを埋め込んだPDFを作る

このメモについて

  • OS X El Capitanで新規にLaTeX(MacTeX 2015)をインストールし、
  • Sublime Text 3LaTeXToolsでコンパイルできるようにし、
  • El Capitan仕様のヒラギノフォントをPDFへ埋め込めるようにします。

おおよその手順は他の方々が書かれている記事の通りなのですが、ヒラギノの埋め込みなどに関して少しつまづいたところがあり試行錯誤したので、備忘録としてここに手順をまとめておきます。

documentclass{jsarticle}および情報処理学会のLaTeXスタイルファイル(2015年11月6日版)で動作確認済です。

TeXのインストール

ここは http://qiita.com/hideaki_polisci/items/3afd204449c6cdd995c9 と同じ手順です。

かいつまんで書くと次の通りです:

  1. homebrewをインストールします。
  • brew updatebrew doctorでアップデートを済ませておきます。
  1. Ghostscriptをインストールします。
  • ターミナルでbrew install ghostscriptと入力して実行します。
  1. MacTeXをインストールします。
  • homebrewでGhostscriptをインストール済みなので、MacTeXに付属のGhostscriptはインストールしません。
  • [インストールの種類]で[カスタム]を選択し、Ghostscriptのチェックを外します。
  1. TeX Liveをアップデートします。
  • ターミナルでsudo tlmgr update --self --allを実行します。
  • もしくはアプリケーション/TeX/TeX Live ユーティリティを開いて、アプリからTeX Liveやパッケージを更新します。

ヒラギノの埋め込み設定

次にヒラギノの埋め込み設定を行いますが、ここで引っかかりました。

http://qiita.com/hideaki_polisci/items/3afd204449c6cdd995c9 を参考に、ターミナルで以下のコマンドを順次入力します。

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

すると、最後のsudo kanji-config-updmap-sys hiragino-elcapitan-pronを実行したときに、 hiragino-elcapitan-pron not available, falling back to auto!というメッセージが出ます。

この状態で後述するSublime TextやLaTeXToolsの設定を済ませても、PDFファイルの出力はできますが、ヒラギノは埋め込まれません。 ターミナルでkanji-config-updmap statusを実行してフォントの埋め込み設定を確認すると、以下のようになっていました。

CURRENT family : noEmbed
Standby family : ipa
Standby family : ipaex
Standby family : kozuka
Standby family : kozuka-pr6n

ヒラギノ(hiragino-elcapitan-pron)は入っていないことがわかります。

今度は https://oku.edu.mie-u.ac.jp/~okumura/texwiki/?TeX%20Live%2FMac に従って以下のコマンドを実行しました。

sudo updmap-sys --setoption kanjiEmbed hiragino-elcapitan-pron

hiragino-elcapitan-pron not available, falling back to auto!は表示されず、設定が成功したように見えましたが、まだヒラギノは埋め込まれません。

再度kanji-config-updmap statusを実行して設定を確認すると、

kanji-config-updmap status
CURRENT family : kozuka-pr6n
Standby family : hiragino-elcapitan
Standby family : hiragino-elcapitan-pron
Standby family : ipa
Standby family : ipaex

となっており、ヒラギノの設定が追加されているものの、CURRENT familyがヒラギノではなく小塚ゴシックになっている状態でした。 小塚ゴシックがあるのは私の環境でAdobeのソフトをインストールしているためですが、小塚ゴシックが入っているとそちらが優先されてしまうのかもしれません。

そこで、改めて以下のコマンドを実行しました。

kanji-config-updmap hiragino-elcapitan-pron

すると、ようやくCURRENT familyがヒラギノになり、ヒラギノが埋め込まれるようになりました。

CURRENT family : hiragino-elcapitan-pron
Standby family : hiragino-elcapitan
Standby family : ipa
Standby family : ipaex

Sublime Text 3+LaTeXToolsの導入

最後に、Sublime Text 3LaTeXToolsを導入し、texファイルをコンパイルしてPDFを確認するまでの作業をワンタッチでできるようにします。

基本的な手順

基本的な手順は http://yusuke0.hatenablog.com/entry/2014/04/06/111945 の通りです。

MacTeXやghostscriptは既に導入してあるので、ここでは以下の作業を行います:

  1. Sublime Text 3をインストールします。
  2. コマンドの実行を簡単にするため、sublコマンドからSublime Textへのシンボリックリンクを作ります。
  • 前述の記事では sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/bin/sublとなっていました。
  • しかし、El Capitanでは/usr/bin/へのアクセスができません。
  • その代わり、sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublを実行することでシンボリックリンクを作れました。
  • こちらは http://qiita.com/ashdik/items/aeb50f67e43b910204cb のおかげで解決しました。
  1. Package Controlをインストールします。(手順は [https://packagecontrol.io/installation][https://packagecontrol.io/installation] を参照)
  2. LaTeXToolsをインストールします。
  • command+shift+pを押してコマンドパレットを起動します。
  • Install Packageを検索して選択します。
  • LaTeXToolsを検索して選択し、インストールを完了します。
  1. LaTeXToolsの設定を変更します。
  • ここも一度引っかかったので、後で詳しく述べます。
  1. PDFビューアーのSkimをインストールします。

LaTeXToolsの設定変更

以下のコマンドを実行し、設定用のスクリプトを開きます。

subl ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/LaTeXTools/builders/traditionalBuilder.py

まずは、先ほどの記事の通り、DEFAULT_COMMAND_LATEXMK = で始まる箇所を以下のように書き換えます。

DEFAULT_COMMAND_LATEXMK = ["latexmk", "-cd",
                    "-e", "$latex = 'uplatex %O -interaction=nonstopmode -synctex=1 %S'",
                    "-e", "$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B'",
                    "-e", "$bibtex = 'upbibtex %O %B'",
                    "-e", "$makeindex = 'makeindex %O -o %D %S'",
                    "-e", "$dvipdf = 'dvipdfmx %O -o %D %S'",
                    "-f", "-norc", "-gg", "-pdfdvi"]

ところが、この設定でコンパイルするとエラーが大量に出ます。 例えば情報処理学会のテンプレートでは以下のようになります:

Errors:

./ipsj.cls:346: LaTeX Error: Font family `JT1+gt' unknown. [...tShape{JT1}{gt}{m}{it}{<-> ssub*gt/m/n}{}]
./ipsj.cls:347: LaTeX Error: Encoding scheme `JT1' unknown. [\DeclareFontFamily{JT1}{mdg}{}]
./ipsj.cls:348: LaTeX Error: Font family `JT1+mdg' unknown. [...tShape{JT1}{mdg}{m}{n}{<-> ssub*gt/m/n}{}]
./ipsj.cls:349: LaTeX Error: Encoding scheme `JT1' unknown. [\DeclareFontFamily{JT1}{gmb}{}]

(中略)

./jsample.tex:73: LaTeX Font Warning: Font shape `JY2/mc/m/sc' undefined(Font)              using `JY2/mc/m/n' instead on input line 73.
./jsample.tex:122: LaTeX Font Warning: Font shape `OT1/txsy/m/n' undefined(Font)              using `OT1/cmr/m/n' instead on input line 122.
./jsample.tex: LaTeX Font Warning: Some font shapes were not available, defaults substituted.

この問題は、2行目のuplatexplatexに変えることで解決しました。

DEFAULT_COMMAND_LATEXMK = ["latexmk", "-cd",
                    "-e", "$latex = 'platex %O -interaction=nonstopmode -synctex=1 %S'",
                    "-e", "$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B'",
                    "-e", "$bibtex = 'upbibtex %O %B'",
                    "-e", "$makeindex = 'makeindex %O -o %D %S'",
                    "-e", "$dvipdf = 'dvipdfmx %O -o %D %S'",
                    "-f", "-norc", "-gg", "-pdfdvi"]

できあがり!

Sublime Textでtexファイルを開いてcommand+bを押すと、コンパイルが行われてPDFが出力され、SkimでPDFが自動的に表示されるようになりました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.