複数ファイルのプロジェクト
節や章を別々の .tex ファイルに保存し、主ファイルには文書クラス・パッケージ・全体設定・読み込み順をまとめます。共同作業、エラーの特定、内容の再利用が容易になります。
EasyLaTeX のコンパイラー設定:LuaLaTeX + ltjsarticle。基本的な方法に追加パッケージは不要です。読み込むファイルはプロジェクト内の相対パスで指定します。
\input で内容を挿入する
\input{filename} は、その位置に別のファイルを読み込みます。通常は .tex を省略します。
\section{はじめに}
\input{chapters/introduction}
読み込むファイルには本文だけを書き、\documentclass、\begin{document}、\end{document} を繰り返さないでください。
\include で章を管理する
\include は大きな章に適しています。前後で改ページし、章ごとに独立した補助ファイルを作ります。
\include{chapters/method}
\include{chapters/results}
プラットフォームは選択した主ファイルから処理します。\includeonly{chapters/results} で一部を表示できますが、省略した章の参照情報がタスク間で保持されるとは限りません。最終確認では解除して全体を処理します。
\input と \include の使い分け
| コマンド | 特徴 | 適した内容 |
|---|---|---|
\input | 改ページしない・入れ子にできる・細かい分割向け | 節、図表、概要の一部 |
\include | 前後で改ページ・入れ子不可・\includeonly 対応 | 独立した大きな章 |
同じ章の改ページを2つの方法で制御しないでください。章の境界は主ファイルで決めます。
ディレクトリとパスの整理
用途が分かるディレクトリ名にします。
project/
├── main.tex
├── chapters/
│ ├── introduction.tex
│ └── results.tex
└── figures/
パスは主ファイルを基準に解決されます。ファイル名には英数字とハイフンを使うと、空白や特殊文字による環境間の問題を避けやすくなります。
章を単独でコンパイルする
通常の章ファイルは主ファイルのプリアンブルに依存するため、単独ではコンパイルできません。個別プレビューが必要なら、subfiles でプリアンブルを共有できます。
% main.tex
\usepackage{subfiles}
\subfile{chapters/introduction}
% chapters/introduction.tex
\documentclass[../main.tex]{subfiles}
\begin{document}
章の内容です。
\end{document}
単独で処理できる入口を持つ子ファイルだけを主ファイルとして選びます。個別確認の後はプロジェクトの入口に戻してください。通常は main.tex のまま処理するほうが簡単です。
よくある問題
ファイルが見つからない
大文字・小文字、相対位置、拡張子を確認します。大文字と小文字を区別する環境では、\input{chapters/a} と chapters/A.tex は一致しません。
子ファイルの \documentclass でエラーになる
基本的な \input・\include の子ファイルには本文だけを書きます。文書クラスとパッケージは主ファイルに戻してください。
相互参照が ?? になる
EasyLaTeX で文書全体の主ファイルをコンパイルし、完了を待ちます。参照に必要な繰り返しはプラットフォームが処理します。?? が残る場合は綴り・重複・ラベル位置・最初のログエラーを確認します。
完全な例
主ファイル main.tex:
\documentclass[a4paper,12pt]{ltjsarticle}
\usepackage[colorlinks=true,linkcolor=blue]{hyperref}
\begin{document}
\tableofcontents
\input{chapters/introduction}
\input{chapters/results}
\end{document}
chapters/introduction.tex:
\section{はじめに}\label{sec:introduction}
はじめにの本文です。
chapters/results.tex:
\section{結果}
結果の背景は第 \ref{sec:introduction} 節を参照してください。