天泣記

2022-12-31 (Sat)

#1 latexmk で nonstopmode

latexmk には -pvc というオプションがあって、 ソースを監視して変更があったら latex を起動してくれる。 (あと、xdvi とかに通知して表示を更新させる機能もある。PDF viewer には PDF ファイルの変更を検知して更新するものもあって、そういう場合にはその機能はいらない)

これを以下のように単純に使うと、エラーがあったときに対話モードに入ってしまって、脱出するのが面倒である

latexmk -pvc -lualatex foo.tex

マニュアルには、それを避けるために、-f -interaction=nonstopmode を使える、という記述がある

latexmk -f -pvc -lualatex -interaction=nonstopmode foo.tex

ただ、これだと、出力の中で最初のエラーが流れてしまって、わかりにくい。

ということで、-halt-on-error をつけてみた (ついでに、-file-line-error もつけてみる)

latexmk -f -pvc -lualatex \
          -pdflualatex='lualatex -halt-on-error -interaction=nonstopmode %O %S' \
          foo.tex

うぅむ、これだと、エラーがあると PDF が消えてしまうか

これはちょっとよくない気がする (あまり確信はない)

まぁ、マニュアルのとおりに、-halt-on-error はつけないで使ってみるか

端末に流れる出力をよくみると、最後の方に以下のメッセージが出てるから、それを見逃さないように気をつけるか

Latexmk: Errors, so I did not complete making targets

まぁ、太字や色で強調して欲しい気はする

なお、-file-line-error も試してみたが、これはエラーメッセージにファイル名が表示されるので、 複数ファイルのときに便利そうだが、単一ファイルなら不要ぽい


[latest]


田中哲