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]