TeX Live(2016)のls-Rの作成を止める方法
TeX Liveでは、デフォルトの設定ではls-Rというファイルを用いてパッケージやフォント場所の一覧を管理しています。ただし、
- パッケージやスタイルファイルを追加するたびに
mktexlsr
コマンドを用いてls-Rの一覧表を更新する必要がある。
- ls-Rファイル内では日本語ファイル名が文字化けする。
というようなデメリットがあります。
ls-Rを使うメリットはパッケージの検索時間を短くするためと言われていますが、ハードディスクの速度が上がった今ではls-Rを使う必要性もなくなってきています。
ということで、ls-Rの作成・利用を止めてみることにしました。
デフォルト設定が書かれている場所
C:\texlive\2016\texmf-dist\web2c\texmf.cnf
を見てみると、(97行目あたり)
% TEXMFLOCAL precedes TEXMFDIST because locally-installed versions % should take precedence over distribution files -- although it is % generally a source of confusion to have different versions of a % package installed, whatever the trees, so try to avoid it. TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
と書かれています。
この!!$TEXMFSYSCONFIG
や!!$TEXMFSYSVAR
の!!
がls-Rを使うということを意味しています。
つまり、この!!
を消せばls-Rを使わない運用に切り替えることができます。ただし、\texmf-dist
内のファイルはTeX Liveをアップデートすると書き換わってしまうので、以下のファイルを書き換えます。
設定を変更する場所
C:\texlive\2016\texmf.cnf
内のtexmf.cnf
にユーザー自身の設定を書き加えます。
今回は、!!
を消した
TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXMFSYSCONFIG,$TEXMFSYSVAR,$TEXMFLOCAL,$TEXMFDIST}
をファイルの末尾に書き加えます。
こうすれば、ls-Rを用いないパッケージの利用ができるようになります。