これはなに
この記事では、$\LaTeX$でドキュメントをコンパイルする際に足りないパッケージがインストールできない場合の解決方法を解説する。具体的には、tlmgr install
コマンドでパッケージがインストールできない場合の対処法を紹介する。
環境
- Ubuntu 20.04 LTS
- TexLive 2023
背景
$\LaTeX$でドキュメントをコンパイルする際に、次のようなエラーに遭遇することがある。
! LaTeX Error: File `tikz.sty' not found.
Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)
このエラーメッセージは、not foundとなっているパッケージ(上記の例ではtikz.sty
)がインストールされていないことを示す。
このとき、大抵はコマンドtlmgr install {足りないパッケージ名}
で、足らない$\LaTeX$パッケージをインストールできる。
しかし、tikz.sky
については、tlmgr install tikz
を実行しても、次のようなメッセージが出るだけでインストールできなかった。
$ tlmgr install tikz
tlmgr: package repository https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/systems/texlive/tlnet (not verified: gpg unavailable)
tlmgr install: package tikz not present in repository.
tlmgr: action install returned an error; continuing.
tlmgr: An error has occurred. See above messages. Exiting.
解決方法
この場合は、tikz.sky
が含まれる$\LaTeX$パッケージを探す必要がある。
探すには、次のコマンドを実行する。
tlmgr search --global --file "/tikz.sty"
実行結果を次に示す。
$ tlmgr search --global --file "/tikz.sty"
tlmgr: package repository https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/systems/texlive/tlnet (not verified: gpg unavailable)
pgf:
texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
これにより、pgf
パッケージにtikz.sty
が含まれているとわかる。
ゆえに、tlmgr install pgf
を実行すれば、tikz.sty
をインストールできる。
ちなみに、tlmgr search
で探すファイルを"tikz.sty"
ではなく"/tikz.sty"
としたのには意味がある。
"tikz.sty"
をtlmgr search`で探すと、次のような結果が得られる。
$ tlmgr search --global --file "tikz.sty"
tlmgr: package repository https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/systems/texlive/tlnet (not verified: gpg unavailable)
biblatex-ext:
texmf-dist/tex/latex/biblatex-ext/biblatex-ext-oasymb-tikz.sty
circuitikz:
texmf-dist/tex/latex/circuitikz/circuitikz.sty
hf-tikz:
texmf-dist/tex/latex/hf-tikz/hf-tikz.sty
interfaces:
texmf-dist/tex/latex/interfaces/interfaces-tikz.sty
kinematikz:
texmf-dist/tex/latex/kinematikz/kinematikz.sty
lwarp:
texmf-dist/tex/latex/lwarp/lwarp-tikz.sty
moderncv:
texmf-dist/tex/latex/moderncv/moderncviconstikz.sty
pgf:
texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
pinoutikz:
texmf-dist/tex/latex/pinoutikz/pinoutikz.sty
puyotikz:
texmf-dist/tex/latex/puyotikz/puyotikz.sty
quantikz:
texmf-dist/tex/latex/quantikz/quantikz.sty
sa-tikz:
texmf-dist/tex/latex/sa-tikz/sa-tikz.sty
このように、tlmgr search
で探すファイルを"tikz.sty"
としてしまうと、tikz.sty
という単語を含むパッケージがすべて探されてしまう。
よって、tikz.sty
のみを探したい場合は、tlmgr search
で探すファイルを"/tikz.sty"
にするとよい。