現安定版Sarge (Debian GNU/Linux 3.1)での日本語TeX簡易導入のための備忘録です。
Debianは「一度インストールすれば二度と再インストールの必要がない」と言われる非常に高度で厳密なパッケージ管理を利用した、安定でフリーなディストリビューションです。
以降は Sarge (2005-06現在stable版)を対象とした記述ですが、パッケージのバージョン情報などが、2004年10月に編集した時点のままのものがあります。Sargeの公式リリース後に、日本語TeXシステムを構築された方、加筆修正をぜひお願いします。
apt で楽々です。deb パッケージの内容に不満がある方はソースから入れてください。 最低限の日本語TeX環境(日本語でPDF作成まで程度)ならば,Debian での teTeX 導入は,おそらく Windows や RedHat 系に比較してかなり簡単です。
gs-cjk-resourcesやcmap-adobe-japan1など cmap 関連のパッケージを入れるためには apt-line に non-free を追加しておく必要があります。/etc/apt/sources.list をこんな感じにしておきます
deb http://リングサーバ/pub/linux/debian/debian sarge main contrib non-free deb http://security.debian.org/ sarge/updates main contrib non-free
これで一度
apt-get update
しておけば、次のGhostScript関連や後述のcmapもインストールできます。(Thanks むねはるさん)
GhostScript 関連(gs gs-cjk-resource)をまずは入れておきます。
# apt-get install gs gs-esp gs-cjk-resource
gs-ja gs-esp を入れないと日本語のPostScriptファイルが文字化けします。
(2004/12/10 追記 日本語の表示には、gs-cjk-resource に加えて cmap-adobe-japan1 (と必要ならば cmap-adobe-japan2) のインストールが必要です。)
複数の gs-* を切替えて使うには、
# update-alternatives --config gs
しましょう。
続いてteTeX / pTeX一式です。これで依存関係を考慮して日本語 TeX も含めた基本セットが入ります。
# apt-get install ptex-bin xdvik-ja dvipsk-ja
ptex-bin を選択すると自動で ptex-base tetex-base tetex-bin tetex-extra などが入ってきます。本家 apt は素晴しいですね ;-)
引き続き必要なパッケージの追加。必要不可欠な奥村さんのクラスファイル(2005.03.19-1)もこれで使えます。
# apt-get install okumura-clsfiles vfdata-morisawa5
設定中に指示されたように、日本語で dvips などを使用する場合は、最後に root で
# jisftconfig add
とするのを忘れずに。
mktexlsrの代わりに、debianでは
# update-texmf
が使えます。
Debian パッケージのdvipdfmx
(20040411-4) で日本語 PDF を作成するための導入と設定( Deb パッケージの dvipdfmx はかなり古いので、最新版の dvipdfmx で凝った日本語 PDF を作成する必要がある人は ソースから make した方が良さそうです)。
aptならば
# apt-get install dvipdfmx
で必要に応じてパッケージを加えてください。依存関係はこんな感じ。
変換時の以下のエラー
hoge.dvi -> hoge.pdf [1 Can't find encoding file: H Output file removed.
は「まあもちつけ」レベルのFAQだそうです。私もはまりました。dvipdfmx の Readme にもありますが、設定ファイル /etc/texmf/texmf.d/50dvipdfmx.cnf を編集する必要があります。 私の場合内容は1行で
CMAPINPUTS=.;/usr/share/fonts/cmap/adobe-japan1//;/usr/share/fonts/cmap/adobe-japan2// ;/usr/share/fonts/cmap/adobe-gb1//;/usr/share/fonts/cmap/gs-cjk-resource//
としています。最後に texmf を更新。
# update-texmf
以上です。
これは dvipdfmx のバグで、sid の最新の dvipdfmx 1:20040411-3 では修正されています。(2004-09-19) 参考情報
2004-09-11現在、jsarticleで作成したdviファイルを
$ dvipdfmx hoge.dvi
すると
hoge.dvi -> hoge.pdf [1kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 0+555/600 --dpi 555 rml-jis mktexpk: don't know how to create bitmap font for rml-jis. kpathsea: Appending font creation commands to missfont.log. ** Fatal error: Could not locate a virtual or a physical font file for 'rml-jis'. ** ERROR **
と刺さります。これはどうやら
# jisftconfig add
が正しく機能せず必要な情報がdvipdfmxの設定ファイルに追加されていないためのようです。
対処法としては
/etc/texmf/dvipdfm/dvipdfmx.cfg
の最後に
f jis-cjk.map
を追記してください。最後に
# update-texmf
もお忘れなく。 update-texmf コマンドによって更新されるのは、/etc/texmf/texmf.cnf で、dvipdfmx.cfg とは関係ありません。
奥村さんのサイトをご利用された方が遥かに良いと思われます。
Debian(sarge)のkpathseaライブラリは若干古め(teTeX-2.0.2由来)なので、OpenTypeフォントを取り扱うことができません。そのため、dvipdfmxはOpenTypeフォントをother program binaryというファイル種別として探索します。つまり、OpenTypeフォントの探索パスは、以下のコマンドによって表示されるパスになっています。
% kpsewhich -progname dvipdfm -showpath="other binary files"
たとえば、~/.fonts/にOpenTypeフォントをインストールしている場合は、以下のように環境変数を設定すると、dvipdfmxから見えるようになります。
% export DVIPDFMINPUTS=.:"$HOME"/.fonts: