LaTeX で外部化するファイル保管場所の登録
目次
TeX Live に収められていないパッケージや、外部化しようとするプリアンブルは、コンパイルしようとする .tex ファイルと同じフォルダに置かねばならない。しかし、都度そのようなことをするのはたいへんな手間である。 こうしたパッケージやプリアンブルは、いわゆる「TeX が見つけられる場所」に置くことによって .tex ファイルと同じフォルダになくともコンパイルすることができる。 ここでは,その方法を述べる。
具体的には、次のエラーに対処する。
! LaTeX Error: File `filename' not found.
筆者の環境は次である。
- TeX Live によって LaTeX がインストールされている。
- OS が Windows である。
背景
LaTeX のインストールにあたっては TeX Live が主流となった。TeX Live では、ほとんどのパッケージが LaTeX 本体とともに取り込まれるため、深く考えずに \usepackage{...}
とすれば機能を使うことができる。
しかし、一部のパッケージ(高校数学であれば emath など)は TeX Live に収録されておらず、自ら導入せねばならない。
また、プリアンブルを外部化し \input{...}
によって読み込むときも、ファイルの位置を指定せずに済ませるにはファイルを 「TeX が見つけられる場所」に置かねばならない。署名代わりの画像を載せる、といったときも同じである。
解決
- スタートボタンを右クリックし、Windows Power Shell(管理者)を開く。
kpsewhich -var-value TEXMFLOCAL
と入力し、エンターキーを押す(コピー&ペーストできる。- 表示されたフォルダを確かめる。Windows Power Shell の画面は閉じずに置いておくとよい。
C:/texlive/texmf-local
となっているのが望ましい。もしかすると、C:/texlive/2022/texmf-local
(年号は TeX Live のバージョン)である可能性もある。- 年号が入っているときは、TeX Live のバージョンを上げたときにふたたび同じ手続きをせねばならないことが予想される。手間であれば、「TeX Live 2022 に更新後 .sty が見えないことへの対処」を参考にここで直してもよい。
- 表示されたフォルダを開く。
- 今のフォルダの中に、好きな名前のフォルダを作る。
- ダウンロードしてきたパッケージなら、パッケージの名前をフォルダの名前にするとよい。
- 自分で作ったプリアンブルなら、
mypreamble
などと名づけるとよい。
- Windows Power Shell に
mktexlsr
と入力し、エンターキーを押す。 - しばらくすると
Updating...
やUpdated...
が複数表示される。かなりの時間がかかることもある。しばらく待ってmktexlsr: Done.
と表示されれば終わりである。- 管理者で起動しておかなければ、
Cannot open...
などと表示されて失敗する(最後はmktexlsr: Done.
と言ってくるが、その前の行などにエラーメッセージがある)。そのときは、Windows Power Shell を管理者で起動し、もう一度mktexlsr
する。何度繰り返しても差しつかえない。
- 管理者で起動しておかなければ、
- これで、ファイル名だけを(フルパスなしで)
\usepackage{...}
、\input{...}
、\includegraphics{...}
などとしても読み込まれるようになる。
私はこの方法によって LaTeX 用高校数学テンプレートを読み込ませているほか、ヘッダに載せるアイコンも同じように置き、ファイル名のみで \includegraphics
している。
参考
- https://blog.mktia.com/how-to-import-style-file-in-latex/
- mktia
- LaTeX環境にスタイルファイルを追加する
- mktia’s note
- 参照 2022-07-23
- macOS の手法も載っている。
- https://texwiki.texjp.org?LaTeX入門%2F各種パッケージの利用#n0d876cf
- (Wiki)
- 各種パッケージの利用 / パッケージの入手,インストール
- TeX Wiki
- 参照 2022-07-23
- パッケージの入手方法について紹介している。
- https://texwiki.texjp.org/?LaTeX入門%2F各種パッケージの利用#tc299bdb
- (Wiki)
- 一覧表の更新 (mktexlsr) について
- 各種パッケージの利用 / 一覧表の更新 (mktexlsr) について
- 参照 2022-07-23
mktexlsr
操作の意味が説明されている。
- https://texwiki.texjp.org/?LaTeX のエラーメッセージ#yc513d3e
- (Wiki)
- LaTeX のエラーメッセージ / ! LaTeX Error: File `filename’ not found.
- TeX Wiki
- 参照 2022-07-23
- パッケージが読み込めていないときのエラーメッセージに関する解説である。
改訂
- 改訂: 2023-08-12
- タイトルを変更した(「LaTeX (TeX) パッケージのインストール」から、内容を明らかにするため。)
- 概要を書きなおした。
- 追記: 2022-07-23
- The Japanese Educational Preambles の公開に伴い取り急ぎリンク集としていたところ、記事として仕上げた。
- LaTeX と Typst の出力例を載せた。
- リンクを加えた。