(:3[雑記]

プログラミングとかnanoblockとかドット絵とか

SublimeText3で日本語TeXを書いてる時にFont family `JT1+gt' unknown.で悩まされた話.

コンソールから直打ちでplatex hoge.texをやるとコンパイルが通るのにST3経由だと通らない!という問題にぶち当たっていつの間にか解決してしまったのでメモ.

追記:なんとなく原因がわかった

やりたかったこと

学会で指定されたサンプル(tex, cls)を使ってSublimeText3で日本語のTeXファイルをコンパイル→Skimでプレビュー

問題

ST3でビルド(⌘B)するとFont family〜〜〜〜系のエラーが大量に出る.

しかしコンソールでplatex hoge.texしたらエラーなしで通る

 

問題が起きていた環境

最後にTeXを書いてたのはST2だったので,ST3に変えてから初めて日本語でTeXを書くことになった.(たぶん)

LaTeXTools TraditionalBuilderの内容

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"]
 

試したけどダメだった・これだけだと効果がなかったこと

 

解決方法:コンパイラ変更+SublimeTextの再起動だけで良いっぽい

  • TradirionalBuilderのコンパイラuplatexからplatexに変更
  • コンパイルするファイルの文字コードUTF8にする
  • texファイルの\usepackage[dvips]{...}を[dvipdfmx]に変更
  • 漢字埋め込み設定の確認(kanji-config-updmap-sys status
  • 漢字埋め込み(kanji-config-updmap [任意のフォント]
  • 設定変更後,SublimeTextを再起動する(再起動しないと設定が反映されない)

 

TraditionalBuilderの設定は関係なかったな〜って思いながらuplatexに直してST再起動させてビルドしたら再びエラーが出た.笑った.

そもそもplatexだと問題無いのが分かっていたのにSTを再起動しないと設定反映されないってことに気づかなかったのが敗因でした.

 

解決した時点で試していたこと

  •  TeXLive2014のインストール,アップデート
  • 漢字埋め込み設定の確認,埋め込み
 漢字フォントの埋め込み

今の設定を確認

$ kanji-config-updmap-sys status
CURRENT family : noEmbed
Standby family : hiragino
Standby family : hiragino-pron
Standby family : ipa
Standby family : ipaex

とりあえずヒラギノを埋め込んだ(※ヒラギノの設定などはggると出てくる)

$ kanji-config-updmap hiragino
Setting up ... ptex-hiragino.map
Creating new config file /Users/ほげほげ/Library/texlive/2014/texmf-config/web2c/updmap.cfg

 

もう一度設定を確認

kanji-config-updmap-sys status
CURRENT family : hiragino
Standby family : hiragino-pron
Standby family : ipa
Standby family : ipaex

この後にビルドしてみたらさらっとエラーが消えた.TeXLiveをアップデートしなくても漢字埋め込みの設定をちゃんとするだけで通る気がする.