texmf.cnf の設定
基本的な約束
texmf.cnf は kpathsea ライブラリを利用する各種プログラムの
標準的なサーチパスを設定するファイルです。
そのフォーマットは通常
環境変数名[.プログラム名] = サーチパス
となっています。ここで ".プログラム名" はオプションです。
書き方の主な規則は次のようです(詳しくは kpathsea.info を参照)。
- 左辺に ".プログラム名" がある場合、
その変数の適用は対応するプログラムだけに限定されます。
- 右辺の "\" (バックスラッシュ)は行の継続を意味します。
さらにサーチパスにおいて
- "//" (ダブルスラッシュ)はサブディレクトリの
再帰的なサーチを行います。
- "~" (ティルダ)はホームディレクトリに展開されます。
- "a{b,c}d" は "abd:acd" に展開されます(kpathsea3 以降の機能)。
- "!!" (ダブルエクスクラメーション)は ls-R データベースを検索するだけで、
実際にファイルシステムの中を探すことをしないことを意味します。
以上を踏まえた上で幾つかの設定を行ってみましょう。
設定の実際
よほど変わったことをしない限り特に変更する部分はありませんが、
幾つかめぼしいポイントを拾ってみます。なおここでは LaTeX 環境は完全に 2e
であるとし、古い 209 の方は完全に無視します。
- ptex, platex のサーチパスは例えば
TEXINPUTS.ptex = .:$TEXMF/tex/{ptex:plain:generic:}//
TEXINPUTS.platex = .:$TEXMF/tex/{platex:latex:generic:}//
のようにすれば良いでしょう。
- TEXCONFIG は主に dvips がファイルを探すのに使う変数ですが、
ホームディレクトリも探すようにしておくと便利です。
TEXCONFIG = .:~:$TEXMF/dvips//
こうすれば各人が好みの psfonts.map や config.ps
などを持つことが出来ます。
- Mendex/Makeindex 関係は
INDEXSTYLE = .:$TEXMF/makeindex/ist//
INDEXDICTIONARY = .:$TEXMF/makeindex/dict//
とすれば良いでしょう。
- 最後に VARTEXFONTS の設定です。
この変数は動的に生成されたフォントを置くディレクトリを
指定するためのものです。
もし生成されたフォントを勝手に $TEXMF 以下に書き込まれても構わない、
という場合はこの変数は無視出来ます。
そうでない場合は適当に設定する必要があります。標準では
VAFTEXFONTS = /var/tmp/texfonts
に設定されているようです。
もちろん予めこのディレクトリを作成し
書き込み可能にしておきます。
さらにmktex* のファイルを設定する
必要があります。
なおファイルを変更したならば、一番初めにある
% original texmf.cnf -- .....
の "original" を適当に(例えば "local" などに)変更しておきます。
これによりせっかく書き換えた texmf.cnf
を次回のインストール作業中に誤って上書きしてしまう事故を防ぐことが出来ます。
これは他の mktex* のファイルたちにも当てはまります。