LaTeX でスタイルファイル (.sty) の置き場所と反映方法メモ

お役立ち情報,プログラムLaTeX

LaTeX で利用するスタイルファイルの置き場所と適用方法をよく忘れて毎回ググって困るので自分用にメモ。中の仕組みとかは詳しく述べません。シンプルにやることだけメモします。

具体的には地球流体電脳倶楽部 TeX スタイルファイルである Dennou-sty-6.sty (UTF-8 版) を入れようとしたときに GNU Make で .sty ファイルを作ったあとに適用方法に困ったのでそのメモです。

やることは以下のとおり。

  1. $TEXMF な場所以下の適当なディレクトリにスタイルファイルを置く
  2. mktexlsr コマンドを実行して反映させる

スタイルファイルの置き場所

コマンドを使って “TEXMF" とされるパスを探します。ここは TeX に関するパッケージとかが読み込まれる場所です。

$ kpsewhich -var-value TEXMF
# 自分のある環境その 1 では以下のように出る
{{}/home/$UESR/.texlive2019/texmf-config,/home/$UESR/.texlive2019/texmf-var,/home/$UESR/texmf,!!/usr/local/share/texmf,/etc/texmf,!!/var/lib/texmf,!!/usr/share/texmf,!!/usr/share/texlive/texmf-dist}
# 自分のある環境その 2 では以下のように出る
{{}/Users/$USER/Library/texlive/2020/texmf-config,/Users/$USER/Library/texlive/2020/texmf-var,/Users/$USER/Library/texmf,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2020/texmf-config,!!/usr/local/texlive/2020/texmf-var,!!/usr/local/texlive/2020/texmf-dist}

# 2021.09 追記 こちらのほうが良い場合もある
$ kpsewhich -var-value TEXINPUTS.platex

いくつかパスの選択肢がありますが、ここでは自分のホームディレクトリではなく、ルートディレクトリ以下の “texmf-dist" ディレクトリのある場所にスタイルファイルを置きに行くことにします。(したがって、ルート権限が必要となります。)

そのため今回採用するパスは以下の通り。

# 自分のある環境その 1
/usr/share/texlive/texmf-dist
# 自分のある環境その 2
/usr/local/texlive/2020/texmf-dist

今回は platex を利用するときに使いたいスタイルファイルを考えているので、"texmf-dist" ディレクトリ以下にある “tex/platex" ディレクトリ以下にスタイルファイルを格納するディレクトリを作成します。

# ./texmf-dist/tex/platex 以下に作成
$ mkdir dennou_sty # パッケージ名に合わせるとよい
$ cp /path/to/*.sty ./texmf-dist/tex/platex/dennou_sty/

作成したらそのディレクトリ(ここでは “dennou_sty")に入れたいスタイルファイル (.sty) を入れます。

スタイルファイルの設置適用方法

$TEXMF に入れたスタイルファイルの存在を反映させるために ls-R というファイルの更新が必要です。次のコマンドを(大抵の場合はルート権限で)実行します。

$ mktexlsr # 大抵の場合はルート権限で実行

問題なければこれでスタイルファイルが使えるようになっているはず。

関連項目

texlive のアップデート方法に関する記事「【2021→2022 macOS】TeX Live アップデートメモ」です。