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 2022) が自動で対処してくれるからですが, 何らかの理由でこのようなエラーに遭遇した場合でもやはり, 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 のパッケージではないことに注意してください) をインストールすることで解決できます.
::tlmgr_install("texlive-msg-translations") tinytex
一方で以前から TeX Live を使用しているがここ数年は更新していない, という方にとっては, 手動でパッケージをインストールする必要があるかもしれません. 2021年現在は, haranoaji
, bxjscls
luatex-ja
といった LaTeX パッケージが日本語文書の作成に広く使われます. 既に書かれているように, tinytex はかなりの精度で必要なパッケージを自動でインストールしてくれますが, インストール済みの TeX を使用する場合は tinytex を使わず手動でインストールする必要があるかもしれません. 上記の tinytex::tlmgr_install()
関数は tlmgr
のコマンドを実行するための関数なので, tinytex を使用していない環境では tlmgr install ...
を代わりに実行することになります.
PDF 出力のためのセットアップは翻訳者が独自に書いた補足資料 https://rpubs.com/ktgrstsh/755893 も参考になるかもしれません.