dvipdfmxのコンパイルエラーを解消した話: TinyTeXをアンインストールしただけ
TeX環境のTeXLiveとTinyTexを混在させてしまい、VScodeで使用していたLaTeX Workshopのコンパイルでエラーが出るようになってしまったので、そのエラー解消のためにTinyTeXを削除したというだけの話です。
ですが、同じようなことにおちいる人もゼロではないと思うので、未来のどなたかのために記録。
環境
- MacOS Big Sur
- TeXLive 2023
- VScode 2023
- LaTeX Workshop 9.10
- RStudio 2023
目次
事の発端
RStudioでRmarkdown → PDFにknitrしたかったため、それに必要と(いうかオススメ)されていた「TinyTeX」パッケージを考えなしにインストールしたことです。
原因究明
もともとHomebrewを使いMacTeXをインストール済みで、VScode上で拡張機能「LaTeX Wordkshop」を使い、latexmkでtexファイル → pdfファイルへコンパイルされているようにしていました。
しかし、以下のようなコンパイルエラーが出て、コンパイルできなくなりました。(dviファイルまでは生成されているけれど、その中身も微妙な状態でストップ)
dvipdfmx:fatal: Unable to find TFM file "jis"
TeXLiveのバージョンをアップデートさせたGUIのTeX総合環境「TeXShop」では、同一のtexファイルのPDFへのコンパイルが成功したので、VScode+LaTeX Wordkshop環境上で読み込まれるtexコマンドのPATH設定が何やら問題を起こしているのだろうという状況把握に(時間をかけて)到りました。
Macのターミナルでwhich dvipdfmx
と打ち込むと
/usr/local/bin/dvipdfmx
which latexmk
と打ち込むと
/usr/local/bin/latexmk
which platex
と打ち込むと
/Library/TeX/texbin/platex
となり、TeXShop上でのコンソールやログで吐き出されているパスと異なっていたのと、RStudioのknitrでは扱われないplatexエンジンのパスとdvipdfmxやlatexmkのパスが変わってしまっていたので、TinyTeXをインストールしたときにPATHの環境変数が上書きされてしまったのだろうと類推。
TinyTeXをアンインストール
そんなわけでTinyTeXをアンインストールすれば万事解決か!と気づき、ターミナルから以下のコマンドでTinyTeXをアンインストールしました。
tlmgr path remove
rm -r ~/Library/TinyTeX
~/Library/TinyTeX
を完全に消去するためにroot権限をもつようsudo rm -r ~/Library/TinyTeX
としてもよいかも?(Finderからも削除できますが)
コンパイルエラー解消!
無事これまで通り、pdfファイルを出力できるようになりました。
which dvipdfmx
の結果も
/Library/TeX/texbin/dvipdfmx
となり、そのオリジナルの場所はTeXLive 2023の
/usr/local/texlive/2023/bin/universal-darwin/xdvipdfmx
に戻っていました。
TeX+日本語はややこしい
RStudioでのRMarkdownからのPDFファイル出力については、まだ調整中です。
TinyTeXは結局のところTeXLiveの一部分なので、RMarkdownのYAMLメタデータを日本語向けに設定することで、きちんと出力できるはず…!
時間がなくて精査できていませんが、もともとやりたかったのが日本語を使用したRMarkdownファイル → PDFファイル変換も連休中に環境を整えたいと思います。
RPubs - Tokyo.R #91 R Markdown 入門補足資料
3 訳注: 日本語ユーザへの補足説明 | TinyTeX 非公式日本語版ドキュメント
RユーザーがLaTeXユーザーと仲良くするべき理由 - Qiita
以上、TeXに精通している方からすれば何してるの?という内容ですが、RStudio用にTinyTeXをインストールしたら、もともと構築していたTeX環境を阻害してコンパイルが通らなくなってしまった!という情報に出会えなかったので、自分の備忘録&未来のどなたかのために書き残しておきます。