- 英語文書と発行するコマンドの流れが違う (pdflatex 一本 vs. platex + dvipdfmx)
- hyperref などのパッケージがエラーを出して使えない
- 日本語以外使えず、もし他の言語が使いたくなったら詰む
そんなわけで通常の (pdf)latex で CJK を入力する方法を探してみた所、CJK.sty というそのまんまのパッケージがある事を知りました。が。こいつ、Ubuntu Raring Ringtail だと latex-cjk-common だか何だかに付いてくるんですがフォントのセットアップがさっぱりされないのでネットで見つかるテスト文書はほとんど全て組版が失敗しました。具体的には これ とか これ とかですが、指示通り
\documentclass{article} \usepackage{CJK} \begin{document} \begin{CJK*}{UTF8}{song} 这是一个测试 \end{CJK*} (this is a test) \end{document}とか書いて pdflatex に食わせても
! Undefined control sequence. try@size@range ...extract@rangefontinfo font@info <->@nil <@nnilとか言われてちゃんと組版できません。TeX は "Undefined control sequence" とか嘘こいてますが、これはフォントがちゃんと設定されてない事によるエラーで、フォントを指定している "song" の部分をインストールされてるフォントに変更すればとりあえず表示されます。例えば私の環境では
$ dpkg -l | grep latex-cjk ii latex-cjk-chinese 4.8.3+git2012062 amd64 Chinese module of LaTeX CJK rc latex-cjk-chinese-arph 1.22 all traditional Chinese KaiTi fonts for CJK rc latex-cjk-chinese-arph 1.22 all traditional Chinese KaiTi fonts for CJK ii latex-cjk-chinese-arph 1.22 all traditional Chinese KaiTi fonts for CJK rc latex-cjk-chinese-arph 1.22 all traditional Chinese KaiTi fonts for CJK ii latex-cjk-common 4.8.3+git2012062 amd64 LaTeX macro package for CJK (Chinese/Japanese/Kor ii latex-cjk-japanese 4.8.3+git2012062 amd64 Japanese module of LaTeX CJK ii latex-cjk-japanese-wad 0.20050817-16 all type1 and tfm DNP Japanese fonts for latex-cjk rc latex-cjk-korean 4.8.3+git2012062 all Korean module of LaTeX CJK rc latex-cjk-thai 4.8.3+git2012062 all Thai module of LaTeX CJK $ ls /usr/share/texmf/tex/latex/CJK/UTF8 UTF8.bdg UTF8.enc c70gbsn.fdx c70goth.fdx c70maru.fdx c70min.fdx zh-Hans.cpx UTF8.chr c70gbsn.fd c70goth.fd c70maru.fd c70min.fd ja.cpx zh-Hant.cpxという具合で、c70gbsn.fd というのに目を付けて song を gbsn に変更すれば上の中国語がちゃんと出ました。ちなみにフォントの fd 情報を置けるディレクトリは /usr/share/texmf/tex/latex/CJK/UTF8 だけではなくて /usr/share/texmf/tex/latex 以下ならどこでもいいようです。
で、一応日本語フォントの c70maru.fdx や c70min.fdx も入っていて song を maru や min に変更すれば日本語も出ることは出るのですが、どうも字型が気持ち悪いフォントばかりです。このフォントでいいよという人はこれで設定終了でいいかも知れませんが、私はもっとまともなフォントが欲しかったので北大の Jan Paul さんとか言う人のページを参考に IPA フォントを設定しました。基本的にはリンク先の長ったらしい指示に従うだけですが、一部「どこにあるんだよそのファイル!(怒)」みたいな部分もあったのでここで詳述。全部 root でやります
- IPA フォント自体は fonts-ipafont-gothic と fonts-ipafont-mincho 入れとけばおk
- TFM ファイル を落として展開、中身は全部 /usr/share/texmf/fonts/tfm に適当なディレクトリ掘って放り込みます。
- Font descriptor とかいうの を落として展開、中身は全部 /usr/share/texmf/tex/latex に適当なディレクトリ掘って放り込みます。
- /etc/texmf/fonts/map/ttf2pk/ttfonts.map というファイルを作って
ipam@UJIS@ ipam.ttf ipamp@UJIS@ ipamp.ttf ipam-uni@Unicode@ ipamp.ttf ipamp-uni@Unicode@ ipamp.ttf ipag@UJIS@ ipag.ttf ipagp@UJIS@ ipagp.ttf ipag-uni@Unicode@ ipagp.ttf ipagp-uni@Unicode@ ipagp.ttf
と書きます。この /etc/texmf 以下のディレクトリはデフォルトでは存在しないので、自分で作ること。man page にもどこにも載ってないこのステキなディレクトリは ttf2pk を strace して見つけました。最悪ですね。 - /usr/share/texmf/web2c/texmf.cnf を開いて MKTEXPK = 1 という行を追加しておきます。625 行目らへんに %MKTEXPK = 0 という行が既に有ると思うのでそれを改変するのがいいでしょう。
# 予め root になって /tmp とかどーでもいいファイルおける場所に移動しておく apt-get install latex-cjk-common latex-cjk-japanese fonts-ipafont-gothic fonts-ipafont-mincho unzip mkdir tmp cd tmp wget http://www-alg.ist.hokudai.ac.jp/~jan/IPA-Jap-Fonts-tfm.zip unzip IPA-Jap-Fonts-tfm.zip mkdir /usr/share/texmf/fonts/tfm/ipa mv *.tfm /usr/share/texmf/fonts/tfm/ipa/ wget http://www-alg.ist.hokudai.ac.jp/~jan/IPA-Jap-Fonts-fd.zip unzip IPA-Jap-Fonts-fd.zip mkdir /usr/share/texmf/tex/latex/ipa mv *.fd /usr/share/texmf/tex/latex/ipa/ mkdir -p /etc/texmf/fonts/map/ttf2pk/ cat > /etc/texmf/fonts/map/ttf2pk/ttfonts.map <<EOF ipam@UJIS@ ipam.ttf ipamp@UJIS@ ipamp.ttf ipam-uni@Unicode@ ipamp.ttf ipamp-uni@Unicode@ ipamp.ttf ipag@UJIS@ ipag.ttf ipagp@UJIS@ ipagp.ttf ipag-uni@Unicode@ ipagp.ttf ipagp-uni@Unicode@ ipagp.ttf EOF cd ..これで
\documentclass{article} \usepackage{CJK} \begin{document} \begin{CJK}{UTF8}{ipam} やっと pLaTeX に頼らずに日本語が出せた… \end{CJK} The CJK environment doesn't insert newlines. \end{document}っていう TeX ファイルを pdflatex に食わせるとこんな PDF が出来るはずです。ipam の部分を ipag にすればゴシック体になります。正直まだあんまり綺麗とは言い難いですが、もういいでしょう。お疲れ様。
もう TeX のこういうフォント周りの汚さには本当にうんざりしますが、何とか出せることは出せました。…はあ。
No comments:
Post a Comment