TeX・LaTeXのプロジェクトには,編集する原稿だけでなく,文書の設定,画像,参考文献,コンパイル後のPDFや補助ファイルなど,役割の異なるファイルが含まれます.ファイル名の末尾にある拡張子を見ると用途の目安が分かりますが,実際に使える形式はコンパイルエンジンやパッケージによって異なります.
この記事では,よく使うファイル形式と役割,プロジェクトを共有するときに残すファイルを説明します.
ファイルの流れをつかむ
一般的なプロジェクトでは,原稿や画像などの入力ファイルをコンパイルし,PDFと補助ファイルを作ります.
原稿(.tex)+設定(.cls,.sty)+画像・参考文献
↓ コンパイル
PDF(.pdf)+補助ファイル
すべてのプロジェクトに上記のファイルがそろっているとは限りません.たとえば,画像を使わない文書には画像ファイルがなく,参考文献を本文に直接書く場合には.bibファイルがないこともあります.
原稿や設定に使うファイル
| 拡張子 | 主な用途 | 編集するか |
|---|---|---|
.tex | 本文やLaTeXコマンドを書く原稿 | 通常は編集する |
.cls | 文書クラス.見出しやページ構成など,文書の基本形式を定める | 自分で作る場合を除き,通常は編集しない |
.sty | パッケージ.LaTeXに機能や設定を追加する | 自作・調整する場合を除き,通常は編集しない |
.bib | 参考文献の情報をまとめたデータベース | 文献情報を追加・修正するときに編集する |
.bst | BibTeXで参考文献の書式を指定するスタイルファイル | 指定がある場合はそのまま使う |
.tex:本文やコマンドを書く原稿
.texは,LaTeXに読み込ませる原稿ファイルです.短い文書なら1つの.texファイルにまとめられます.長い文書では,章ごとにファイルを分け,メインの原稿から読み込むことがあります.
\documentclass{article}
\begin{document}
本文をここに書きます.
\end{document}
ファイルを分割したプロジェクトでは,メインの.texファイルに加え,\inputや\includeで読み込んでいる各原稿も必要です.メインのファイルだけを渡すと,読み込み先が見つからずコンパイルできないことがあります.
.clsと.sty:文書クラスとパッケージ
.clsは文書クラスのファイルです.原稿の\documentclassで指定し,文書の種類や基本的なレイアウトを定めます..styはパッケージのファイルで,\usepackageによって機能を追加します.LaTeXは,これらの命令に応じて対応する.clsや.styを読み込みます.LaTeX2eリファレンスマニュアル:クラスとパッケージ
標準的なクラスやパッケージはTeXの環境に含まれているため,通常は原稿と一緒に管理する必要はありません.投稿先や学校が配布した専用テンプレートの場合は,独自の.clsや.styをプロジェクトに置くことがあります.その場合は,テンプレートの説明に従って関連ファイルも一緒に保管してください.
.bibと.bst:参考文献
.bibには,書籍や論文などの文献情報を記録します.文献データと本文を分けて管理できるため,複数の文書で同じデータを再利用できます.従来のBibTeXを使う場合は,.bstで参考文献の並べ方や表示形式を指定します.
BibLaTeXを使うプロジェクトでは,参考文献の処理にBiberを使うことが多く,従来のBibTeXと処理の流れが異なります.どちらを使うかはテンプレートの設定に合わせてください.CTAN:BibLaTeX
画像ファイル
図を挿入する場合は,画像ファイルもプロジェクトの一部です.よく使われる形式には.png,.jpg,.pdf,.epsがあります.写真には.jpg,透過画像や画面の図には.png,ベクター図には.pdfや.epsが向くことがあります.
画像形式の対応状況はエンジンによって違います.たとえば,pdfLaTeXでは通常.png,.jpg,.pdfを直接扱え,従来のLaTeXからDVIを作る方法では.epsを使う場合があります.LuaLaTeX,XeLaTeX,日本語向けのDVI経由の設定などでは,個別の環境やテンプレートの指定を確認してください.Overleafの説明にも,エンジンによって利用できる画像形式と出力形式が異なることが示されています.Overleaf:コンパイラと画像形式
画像は,本文から参照するパスと実際の保存場所を一致させます.たとえば,画像をfiguresフォルダーに保存した場合は,次のように指定します.
\includegraphics[width=0.7\linewidth]{figures/graph.pdf}
この例にはgraphicxパッケージの読み込みが必要です.画像を別のフォルダーへ移動したときは,原稿のパスも更新します.
コンパイルで作られる出力ファイル
.pdf:閲覧・配布する文書
.pdfは,通常,完成した文書を読む人に渡すためのファイルです.PDFを作る方法はエンジンによって異なり,LuaLaTeXやpdfLaTeXでは直接出力されます.一方,upLaTeXなどのDVIを出力する設定では,次に説明する.dviをPDFに変換します.
PDFは原稿の代わりにはなりません.あとから本文や数式を直すには,.texなどのソースファイルが必要です.
.dviと.xdv:中間形式
.dviは,組版結果を保存する中間形式です.latexや日本語向けのpLaTeX・upLaTeXなどで使われ,必要に応じて別のツールでPDFへ変換します.作成するPDFまでの手順は,文書に使うエンジンによって異なります.
.xdvはXeTeXが内部で使うDVI形式の拡張です.多くの場合,処理の途中で自動的にPDFへ変換されるため,利用者が直接編集するファイルではありません.LaTeX2eリファレンスマニュアル:出力ファイルとエンジン
コンパイル時に作られる補助ファイル
補助ファイルは,目次や参照番号などの情報を記録したり,エラーの調査やエディタとの連携に使われたりします.コンパイルすると自動的に作成・更新されるものが多く,内容を直接編集することは通常ありません.Overleaf:生成されるファイル
| 拡張子 | 主な役割 |
|---|---|
.aux | 相互参照,文献などの情報を次のコンパイルへ渡す |
.log | コンパイル時のメッセージ,エラー,警告などを記録する |
.toc | 目次の項目を記録する |
.lof,.lot | 図目次,表目次の項目を記録する |
.bbl,.blg | 参考文献の出力内容,BibTeXの処理記録などを保存する |
.bcf | BibLaTeXからBiberへ設定や文献処理情報を渡す |
.synctex.gz | ソース上の位置とPDF上の位置を対応させる |
目次や相互参照が更新されない場合,補助ファイルを使って複数回コンパイルすると解決することがあります..logはエラーの原因を調べる手がかりになります.latexmkなどのビルドツールを使うと,必要な再コンパイルや参考文献処理を自動化できます.
補助ファイルの種類は,読み込むパッケージや使用するツールによって増減します.そのため,ここに挙げた拡張子がすべてのプロジェクトで作られるわけではありません.
プロジェクトを共有するときに残すファイル
別の人が同じ文書をコンパイルできるようにするには,原稿だけでなく,原稿から読み込むファイルもそろえます.
- メインの
.texファイルと,そこから読み込むすべての.texファイル - プロジェクト独自の
.clsや.sty,設定ファイル .bib,画像,本文から読み込むテキストなどの素材- テンプレートや提出先から指定されたファイル
- 使用するコンパイルエンジンや手順の説明
一方,.aux,.log,.toc,.synctex.gzなどは,通常はコンパイルで作り直せるため,原稿と一緒に配布する必要はありません.Overleafも,一般的な共有用プロジェクトから多くの補助ファイルを除く方法を案内しています.ただし,.bblだけを使う提出方法や,xrパッケージで別文書の参照情報を読む場合など,例外があります.配布先の指示があるときは,その指示を優先してください.Overleaf:プロジェクトに含めないファイル
迷ったときの確認方法
- ファイル名と拡張子を確認する.拡張子は用途の手がかりになりますが,ファイルの中身や役割まで必ず示すとは限りません.
- 原稿の
\input,\include,\includegraphics,\bibliographyなどを探し,読み込んでいるファイルを確認する. - テンプレートのREADMEや配布元の説明で,必要なファイルとコンパイル手順を確認する.
- コンパイル後はPDFを開き,ログにエラーがないか,図や参考文献が正しく表示されているかを確かめる.
ファイルを整理するときは,拡張子だけで削除を決めず,そのファイルが原稿やビルド手順から参照されていないかを先に確認しましょう.
まとめ
.texは原稿,.clsは文書クラス,.styはパッケージを表す代表的なファイル形式である..bibや画像ファイルなど,原稿が読み込む素材もプロジェクトに必要である..pdfは完成文書に使われ,.dviや.xdvは処理方法によって使われる中間形式である..aux,.log,.tocなどはコンパイルを助ける補助ファイルである.- 共有時は,メインの原稿と読み込み先,素材,専用テンプレートをそろえる.補助ファイルは通常作り直せるが,提出先の指定や特殊な参照方法を確認する.
拡張子から役割の見当をつけ,原稿がどのファイルを読み込んでいるかを確認すれば,プロジェクトの整理や共有がしやすくなります.
