So-net無料ブログ作成

ls-Rを別のファイル名にしたらクラスファイルを見つけてくれるようになった [Ubuntu]

/usr/local/teTeX/bin/platexを使っているときにjarticle.clsが見つからないとかいわれたけど、/usr/local/teTeX/share/texmfにあったls-Rを別のファイル名にしたら、クラスファイルを発見してくれるようになった。

sudo mktexlsrなどとやれば、本来ls-Rをupdateしてくれるはずだが、

mktexlsr: Updating /usr/local/share/texmf/ls-R... 
mktexlsr: Updating /var/lib/texmf/ls-R-TEXMFMAIN... 
mktexlsr: Updating /var/lib/texmf/ls-R-TEXLIVE... 
mktexlsr: Updating /var/lib/texmf/ls-R... 
mktexlsr: Done.


とかいって、違うディレクトリのls-Rしか更新してくれてなかった。なんでかな。
なんで/usr/local/share/texmf/なんてみにいくんだろう?/usr/local/teTeX/share/texmf/を見に行ってほしいのに。

続きを読む


環境変数TEXMFの中身を知りたい

kpsewhich -var-value TEXMF

と打てばよい。

多重TEXMFツリー - ptetex Wiki
昔は TEXMF を環境変数で指定するのが常套手段でしたが、 多重 TEXMF ツリーを実現するために TEXMF には {/home/hoge/.texmf-config, /home/hoge/.texmf-var, /home/hoge/texmf, /usr/share/texmf-config, /usr/share/texmf-var, /usr/share/texmf-local, /usr/share/texmf, !!/usr/share/texmf-dist} のように設定される必要があります。



確かにそのように出た。複数のパスを指してた。先に書かれているパスから必要なファイルを探すらしい。

多重TEXMFツリー - ptetex Wiki
PATH の後方にある dvips のようなコマンドを絶対パスで起動しても、 内部で kpsewhich を呼び出すときには、 PATH の先頭に近いものを使ってしまいます。 この場合、TEXMF ツリーの場所も間違えてしまうことになります。 TeX 関連のコマンドは、PATH を通さない限りちゃんとは動かないということです。



同名のファイルが先に書かれているパスで発見されれば、それが採用されるということか?

多重TEXMFツリー - ptetex Wiki
TEXMFMAIN のような変数(?) に何が設定されているか知るには、以下のコマンドを実行します。 kpsewhich -var-value TEXMFMAIN


メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。