LaTeXのコンパイルとは,.texファイルに書いた文章やコマンドを処理し,PDFなどの出力を作ることです.LaTeXでは,原稿を書いただけでは完成した文書になりません.コンパイルしてPDFを確認し,必要に応じて原稿を直す,という手順で文書を作ります.
コンパイルで何が起きるのか
コンパイルでは,LaTeXの処理系がソースファイルを読み込み,文書クラスやパッケージの設定に従って文章,数式,見出しなどを組版します.一般的な作業ではPDFが出力されますが,使用するエンジンや設定によっては,DVIなどの中間形式を経由してPDFを作ることもあります.
たとえば,次の内容をsample.texとして保存します.
\documentclass{article}
\begin{document}
Hello, \LaTeX!
\[
E = mc^2
\]
\end{document}
このファイルを対応するエンジンでコンパイルすると,文章と数式を組版したPDFが作られます.エンジンは,ソースを実際に処理するプログラムです.代表的なものにpdfLaTeX,XeLaTeX,LuaLaTeXなどがあります.日本語文書では,文書クラスやテンプレートが指定するエンジンを選んでください.
PDF以外に作られるファイル
コンパイルでは,PDFのほかに,処理の記録や文書内の情報を保存する補助ファイルが作られることがあります.たとえば,.logには処理中のメッセージが記録され,.auxには参照番号などの情報が保存されます.目次を作る文書では.tocなども使われます.これらは,PDFを正しく作るために処理系が利用するファイルです.
補助ファイルは,通常,原稿と同じフォルダーに作られます.エディタやオンライン環境によっては,画面上で見えない場所に保存されることもあります.ファイルの役割を詳しく知りたい場合は,Overleafドキュメント:生成されるファイルを参照してください.
なぜ何度かコンパイルすることがあるのか
LaTeXは,文書内の参照先やページ番号を補助ファイルに記録し,次の処理でその情報を読み込みます.そのため,目次,式番号,図表番号,ページ番号などを正しく反映するには,複数回のコンパイルが必要な場合があります.初回の処理で参照情報を記録し,次の処理でその情報を本文に反映する,という流れです.
たとえば,本文で式番号や図番号を参照しているとき,PDFに??と表示されたり,ページ番号が古いままになったりすることがあります.まずもう一度コンパイルし,表示が更新されるか確認しましょう.参考文献をBibTeXやBiberで管理している場合は,文献処理ツールを実行してからLaTeXを再度処理する手順が必要です.Overleafドキュメント:図表の番号と相互参照
毎回必要な回数を手作業で判断する代わりに,latexmkを使って処理を自動化できます.latexmkは,参照を解決するための再コンパイルや,必要に応じたBibTeX・Biberなどの実行を管理します.CTAN:latexmk
エディタとコンパイラの役割
エディタは,.texファイルを作成・編集するためのソフトウェアです.コンパイラは,そのファイルを処理してPDFなどを作るプログラムです.多くのLaTeXエディタやオンライン環境にはコンパイル機能が組み込まれているため,利用者はボタンを押して実行できますが,内部ではエンジンや関連ツールが動いています.
Overleafでは,「Recompile」を押すとプロジェクトがコンパイルされ,出力されたPDFを確認できます.ローカル環境では,エディタのタイプセット機能や,設定済みのビルドコマンドから実行します.エンジンの選び方や操作は環境によって異なるため,プロジェクトのテンプレートや利用ガイドの指定に合わせてください.Overleafドキュメント:プロジェクトを再コンパイルする
エラーと警告を確認する
コンパイル中に問題が見つかると,処理結果やログにエラーまたは警告が表示されます.エラーは,文書を正しく処理できない原因を示します.エラーがあっても環境によってPDFが出力されることがありますが,意図した内容になっているとは限りません.警告は,出力はできても確認が必要な点を知らせます.たとえば,参照先が未定義,または数式や文章が行の幅からはみ出している場合などです.
問題が起きたときは,次の順に確認すると原因を見つけやすくなります.
- エディタやログに表示された最初のエラーを確認する.
- エラーに示された行と,その少し前にあるコマンドや括弧を確認する.
- 原稿を修正し,再度コンパイルする.
- PDFを開き,数式,見出し,参照番号,ページ分けを確認する.
エラーの後に表示されるメッセージは,最初の問題から連鎖していることがあります.まず最初のエラーを解消してから,再コンパイル後のログを読み直してください.
初めてコンパイルするときの手順
.texファイルを保存する.- 使用する文書クラスやテンプレートに合ったエンジンを選ぶ.
- エディタやオンライン環境からコンパイルを実行する.
- エラーがあればログを確認して修正し,もう一度コンパイルする.
- PDFを開き,内容とレイアウトを確認する.
コンパイルが成功したかどうかは,PDFができたかだけでなく,エラーの有無とPDFの内容を合わせて確認しましょう.
まとめ
- コンパイルは,
.texファイルを処理してPDFなどの出力を作る作業である. - 処理にはエンジンが使われ,日本語文書ではテンプレートに合うエンジンを選ぶ.
.auxや.logなどの補助ファイルには,参照情報や処理記録が保存される.- 目次や相互参照を反映するために,複数回のコンパイルが必要な場合がある.
latexmkを使うと,再コンパイルや参考文献処理を自動化できる.- エラーと警告を確認し,最後にPDFを開いて内容を点検する.
コンパイルは,ソースファイルを読みやすい文書に仕上げるための重要な工程です.原稿を修正した後もコンパイルとPDFの確認を繰り返すことで,意図した文書に近づけられます.次の記事では,TeX・LaTeXで使う主なファイル形式を説明します.
