LaTeX 文書を手で仕上げると、「コンパイル → 文献 → コンパイル → コンパイル」をくり返し、いつ何を再実行すべきか覚えておく必要があります。自動ビルド は、その判断をツールに任せる方法です——依存関係を追って必要な手順だけを回し、監視モードなら 保存した瞬間に組み直し ます。ここではその「ワークフロー」を扱います(ツール自体の使い方は「ビルドツール」を参照)。
TeX64 アプリの現行版について: TeX64 0.1.14 のビルドメニューには Auto-build 設定はありません。アプリ内ではツールバーのビルドボタンで手動ビルドします。このページは latexmk -pvc など、コマンドラインで監視ビルドを組む一般的な LaTeX ワークフローの説明です。
自動ビルドとは
相互参照・目次・文献・索引があると、コンパイルは何度も必要になり、間に biber や makeindex を挟みます。自動ビルドツールは、この 順序と回数を自分で見極め、補助ツールも適切なタイミングで呼んで、出力が安定するまで回してくれます。あなたが打つのは実質 1 コマンドだけ。標準は latexmk、宣言的に書ける代替が llmk です。
latexmk で自動化する
latexmk -pdf document.tex の一発で、必要な回数のコンパイルと bibtex/biber・makeindex の実行をまとめて行い、安定するまで繰り返します。プロジェクト固有の設定は .latexmkrc に置けます(エンジンの差し替え、日本語の uplatex+dvipdfmx 構成など)。共同執筆ではこの設定ファイルをリポジトリに入れ、「この文書はこのコマンドで組む」という契約にしておくと、エディタや OS が違っても同じ PDF を再現しやすくなります。各オプションの詳細は「ビルドツール」を参照してください。
latexmk -pdf document.tex # 必要な手順を自動で回す / runs all the needed steps最初に決めるべきなのは「どのエンジンで PDF を作るか」です。英語だけの短い文書なら pdflatex で十分なことが多く、日本語や OpenType フォントを使うなら upLaTeX+dvipdfmx か LuaLaTeX を選びます。その判断を .latexmkrc に書いておくと、エディタのボタン、ターミナル、CI が同じ経路を通ります。文書を進めるほど、この ビルド経路の固定 が効いてきます。
# .latexmkrc — upLaTeX + dvipdfmx の例 / example route
$latex = 'uplatex -interaction=nonstopmode -halt-on-error %O %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$pdf_mode = 3;保存するたびに再ビルド — latexmk -pvc
執筆中に最も便利なのが -pvc(preview continuously) です。latexmk が 依存するソースすべて——本体に加え \input/\include で取り込む .tex や画像ファイル——を監視し、いずれかを保存するたびに自動で再ビルドして、ビューアの表示を更新します。文書版の「開発サーバ」のような感覚で、保存すれば即座に結果が見えます。
latexmk -pdf -pvc document.tex # 監視して保存ごとに自動更新 / watch and auto-rebuild on save更新分だけ処理する — 差分ビルド
latexmk が無駄な再実行を避けられるのは、依存関係を記録している からです。実行ごとに各ソースの状態を .fdb_latexmk というデータベースに保存し、さらに -recorder が出す .fls(その回に読み書きしたファイルの一覧)を使って、入力と生成物を正確に把握します。次に実行したとき、ある手順は その入力が変わったときだけ 再実行されます——何も変えていなければ何も起こらず、小さな修正なら必要な分だけが走る。だから再ビルドが速いのです。
llmk も同様にビルドを自動化します。設定を llmk.toml(または文書内のマジックコメント)に 宣言的に 書くため、誰がどの環境で実行しても同じ手順になり、再現性に優れます。共同執筆や配布に向いた選択肢です。latexmk はログや依存関係から必要な再実行を判断する道具、llmk は文書側に処理手順を明示する道具、と分けて考えると選びやすくなります。
ワークフローに組み込む
-pvc は執筆中の道具、通常の latexmk は提出前の確認、latexmk -C は「生成物に依存していないか」を確かめる掃除です。とくに共同執筆では、クリーンビルドで通らない文書は、相手の環境でも壊れる可能性が高いと考えます。保存時の即時確認だけに頼らず、節目ごとに一度は掃除してから組み直す習慣を入れておくと、最後の PDF 提出で慌てません。
- 執筆中 →
latexmk -pdf -pvc:保存するたびに自動更新。 - 設定はプロジェクトに同梱 →
.latexmkrc/llmk.tomlをリポジトリに入れて再現性を確保。 - 配布前の仕上げ →
latexmk -Cでいったん全消去してからクリーンビルド。 - サーバや CI で組む なら「CI」のページへ。