
私はこれに偶然出会ったブログ投稿についてrubber
そして、「それはまさにそうではないか」と考えていましたlatexmk
。そこで、今疑問に思うのは、「そうではないのか?」ということでしょうか?それとも、何か違いがあるのでしょうか?
答え1
このゴムには、latexmk では (まだ?) 提供されていない次の機能があるようです。
- ゴムLaTeXログファイルを解析するフィルタリングし、「関連」メッセージ(警告、エラー)のみをきれいに印刷します。Rubberは常にLaTeXを非対話モード一方、latexmk では追加のスイッチや設定が必要になるようです。
- ゴムを使えばLaTeXソースコード内のコメントとしての設定オプション; latexmk には補助的な設定ファイルが必要です。
- 最も重要なのは、ゴムを使用すると、TEXINPUTS、BIBINPUTS、BSTINPUTS など。前述の設定オプションを使用する各ドキュメントに対して、latexmk はこれらの環境変数がすでに適切に定義されていることを期待しているようです。
もちろん、これらの問題の多くは、ラッパー スクリプトや補助ファイルで回避できます。また、明らかに、rubber では提供されていない、latexmk の機能が多数あります。
答え2
ラバーに対するラバーの大きな利点の1つは、ラバーが依存ファイルをより確実に検出することです。私が調べた限りでは、ラバーはTexファイルを解析し、、マクロを探して依存ファイルを決定します\input
。\include
しかし \includegraphics
、これらのマクロが別のマクロの中に埋め込まれている場合、ラバーは依存ファイルを正しく検出しません。たとえば、
\newcommand\try[1]{\input{#1}}
\try{sub}
rubber はそれが依存ファイルであることを検出しませんsub.tex
。したがって、ファイルがsub.tex
変更された場合、rubber はコンパイルを再度実行する必要があることを検出しません。
代わりに、Latexmk はログ ファイルを解析し、-recorder
( pdf
)オプションを使用してlatex
依存ファイルを決定します。
答え3
Latexmk には自動プレビュー機能も備わっており、Tex が保存されるとすぐに PDF が (スマートに) 再コンパイルされます。
たとえば、makefile との緊密な統合など、より高度な機能もあります。