読者です 読者をやめる 読者になる 読者になる

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を用いないパッケージの利用ができるようになります。