1.3 足りない LaTeX パッケージをインストールする

文書を LaTeX を通して PDF にコンパイルしたい時, これらのようなエラーに遭遇するかもしれません.

! LaTeX Error: File `ocgbase.sty' not found.

!pdfTeX error: pdflatex (file 8r.enc):
  cannot open encoding file for reading

!pdfTeX error: /usr/local/bin/pdflatex (file tcrm0700):
  Font tcrm0700 at 600 not found

1.2 節で紹介した TinyTeX を使用しているなら, だいたいの場合このようなエラーに対処する必要はありません. tinytex (Xie 2021e) が自動で対処してくれるからですが, 何らかの理由でこのようなエラーに遭遇した場合でもやはり, tinytex::parse_install() で足りない LaTex パッケージをインストールするのは簡単です. この関数は LaTeX ログファイルのパスを引数として, 足りないパッケージの問題を自動的に解決し, CTAN (the Comprehensive TEX Archive Network, https://ctan.org) で見つけられたものをインストールしようとします. LaTeX ログファイルは典型的には入力文書ファイルとおなじ基底名と, .log という拡張子名を持ちます. このログファイルを見つけられない場合, エラーメッセージをこの関数の text 引数に与えることができます. どちらの方法でも動作するはずです.

# ログファイルが filename.log だとする
tinytex::parse_install("filename.log")

# または `text` 引数を使う
tinytex::parse_install(
  text = "! LaTeX Error: File `ocgbase.sty' not found."
)
# "ocgx2" パッケージがインストールされる

TinyTeX を使わない場合, tinytex パッケージはやはりエラーログから LaTeX パッケージ名を解決しようとします. tinytex::parse_packages() を例えばこのように使用してください.

# ログファイル名が filename.log だったとする
tinytex::parse_packages("filename.log")

# または `text` 引数を使う
tinytex::parse_packages(
  text = "! LaTeX Error: File `ocgbase.sty' not found."
)
# "ocgx2" と返ってくるはず

パッケージ名が判明したら, あなたの LaTeX ディストリビューションのパッケージマネージャでインストールすることができます.

代わりに MiKTeX を使っているなら, これも自動で足りないパッケージをインストールできます. MikTeX のインストール中に “Always install missing packages on-the-fly” の設定に必ずチェックしてください. この設定をせずにインストールしていても, まだ MiKTeX Console で変更できます.

訳注

日本語文書を作成する場合, いくらか追加の作業が必要かもしれません. 例えばコンパイル時, 毎回翻訳ファイルがないという旨の警告が出るかもしれません. これは出力に影響しませんが, 煩わしく感じるなら以下のようにして対応する LaTeX パッケージ (R のパッケージではないことに注意してください) をインストールすることで解決できます.

tinytex::tlmgr_install("texlive-msg-translations")

一方で以前から TeX Live を使用しているがここ数年は更新していない, という方にとっては, 手動でパッケージをインストールする必要があるかもしれません. 2021年現在は, haranoaji, bxjscls luatex-ja といった LaTeX パッケージが日本語文書の作成に広く使われます. 既に書かれているように, tinytex はかなりの精度で必要なパッケージを自動でインストールしてくれますが, インストール済みの TeX を使用する場合は tinytex を使わず手動でインストールする必要があるかもしれません. 上記の tinytex::tlmgr_install() 関数は tlmgr のコマンドを実行するための関数なので, tinytex を使用していない環境では tlmgr install ... を代わりに実行することになります.

PDF 出力のためのセットアップは翻訳者が独自に書いた補足資料 https://rpubs.com/ktgrstsh/755893 も参考になるかもしれません.

参考文献

———. 2021e. Tinytex: Helper Functions to Install and Maintain TeX Live, and Compile LaTeX Documents. https://github.com/yihui/tinytex.