本文へ移動

複数のファイルからなるプロジェクト

プリアンブルと \begin{document} は main.tex に置き、ほかのファイルは \input{chapters/intro} か \include{chapters/intro} で取り込みます。Scissor LaTeX は組版の前にそれらを 1 つの文書につなげます。

文書を分ける理由

論文や長いレポートは、章ごとに 1 ファイル、プリアンブルに 1 ファイル、付録に 1 ファイルというように、分けたほうが作業しやすくなります。LaTeX にはそのためのコマンドが 2 つあり、どちらも Scissor LaTeX で使えます。

コマンド働きScissor LaTeX での対応
\input{file}ファイルのテキストを、入力したかのようにその場所に入れます。使えます。プリアンブルの中でも、入れ子でも使えます。
\include{file}新しいページを始め、ファイルのテキストを入れて、ページを終えます。使えます。連続する改ページは 1 回にまとめられるので、空白のページはできません。
\includeonly{a,b}リストにない \include をすべて省きます。無視されます:すべてのファイルが取り込まれます。
\subfile{file} (subfiles)\input と同様ですが、単独でもコンパイルできるファイル用です。非対応:メッセージを出して飛ばされます。\input を使ってください。
\import{dir/}{file} (import)別のフォルダを基準にした \input です。非対応:メッセージを出して飛ばされます。

小さなプロジェクト

典型的なプロジェクトには、メインファイルと章のフォルダがあります。

TEXT
main.tex
preamble.tex
chapters/intro.tex
chapters/method.tex
refs.bib

メインファイルにはクラス、プリアンブル、文書の本体が入り、残りを取り込みます。

LaTeX
\documentclass{report}
\input{preamble}

\title{Rainfall at Two Sites}
\author{Erika Mustermann}

\begin{document}
\maketitle
\input{chapters/intro}
\input{chapters/method}
\bibliographystyle{plain}
\bibliography{refs}
\end{document}

各章のファイルには自分の部分のテキストだけを書き、プリアンブルや \begin{document} は書きません。

LaTeX
\chapter{Introduction}
\label{chap:intro}
Rain gauges were read every morning for 44 days.
The method is described in Chapter~\ref{chap:method}.

Scissor LaTeX は各 \input と \include をファイルのテキストに置き換え、その結果を 1 つの文書として組版します。組版エンジンにとってはすべてが 1 つのテキストなので、ラベル、参照、引用はファイルをまたいで使えます。

つなげた文書の姿

main.tex が 2 つの章のファイルを \input で取り込むと、エディタは両方のファイルのテキストを順番に組版します。(ここで表示できるように、例は 1 つのファイルとして書いています。)report や book では、\chapter によって各章が自動的に新しいページから始まります。

2 つの章のファイルを 1 つの文書につなげたもの

\documentclass{report}
\begin{document}
\chapter{Introduction}
\label{chap:intro}
Rain gauges were read every morning for 44 days.
The method is described in Chapter~\ref{chap:method}.
\chapter{Method}
\label{chap:method}
Each gauge was emptied after reading, as noted in
Chapter~\ref{chap:intro}.
\end{document}
Scissor LaTeX による組版: 2 つの章のファイルを 1 つの文書につなげたもの
2 ページ

ファイル名の探し方

  • LaTeX ではパスがメインファイルのフォルダからの相対パスになるのと同じく、ここではプロジェクトの最上位のフォルダからの相対パスになります。入れ子のファイルの中でも同様です。
  • 拡張子 .tex は省略できます。\input{chapters/intro} は chapters/intro.tex を見つけます。
  • \input{"my file"} のように名前を囲む引用符は取り除かれます。
  • 見つからないファイルは、\input の行とともに「問題」タブにエラーとして表示されます。文書のほかの部分はそのまま組版されます。
  • 直接、またはほかのファイルを通して自分自身を取り込むファイルは、メッセージを出して省かれます。入れ子は 24 階層で止まります。

subfiles と \includeonly

subfiles パッケージを使うと、各章を単独でコンパイルできます。Scissor LaTeX は \subfile をたどりません。コマンドは飛ばされ、「問題」タブにファイルが取り込まれなかったことが表示されます。

\subfile はたどられません

\documentclass{article}
\usepackage{subfiles}
\begin{document}
The chapter below is not included:
\subfile{chapters/intro}
Replace it with an \verb|\input| line.
\end{document}

「問題」タブ: 1 included file is not part of this conversion

1 つの章だけを作業するには、ほかの \include の行を % でコメントアウトしてください。\includeonly は受け付けられますが効果はなく、取り込まれたファイルはすべて組版されます。\lstinputlisting と \inputminted も同様で、同じメッセージを出して飛ばされます(コードリストを参照)。

プロジェクト内のほかのファイル

画像、.bib ファイル、データファイルはどのフォルダに置いてもかまいません。\includegraphics{figures/plot.png} のように、最上位のフォルダからのパスで参照します。\bibliography で指定した名前にかかわらず、プロジェクト内のすべての .bib ファイルが引用に使われます(参考文献を参照)。TeX のインストール環境からプロジェクトを丸ごと持ってくるには、プロジェクトとファイルをご覧ください。

TeX のインストール環境との違い

関連パッケージのマニュアルは CTAN にあります:subfiles、import。

よくある質問

\input と \include の違いは何ですか?

\input はファイルのテキストをその場所に貼り込みます。\include はさらにその前後で新しいページを始めて終え、TeX のインストール環境では \includeonly と組み合わせて使えます。Scissor LaTeX ではどちらも章に使えますが、\includeonly は無視されるので、すべての \include が組版されます。

\input のファイルが見つからないのはなぜですか?

プロジェクトの最上位のフォルダからのパスと、大文字・小文字を含む綴りを確認してください。「問題」タブには、探したファイル名と \input の行が表示されます。

Scissor LaTeX で subfiles は使えますか?

いいえ。\subfile{...} を \input{...} に置き換えてください。そうすれば、章のファイルに独自のプリアンブルは要りません。

このページの例はすべて、サイトのビルド時に Scissor LaTeX で組版されています。 最終更新:2026-11-07