
当初はスタンドアロン ドキュメントとして意図されていたファイルがいくつかあります。しかし、現在ではそれらを 1 つのドキュメントにコンパイルしたいと考えています。問題は、それぞれに固有のパッケージ、タイトルなどがあり、\include
そのようなドキュメントの場合、方法がそれほど簡単ではないことです。(メイン ファイルに同じパッケージ リストを含め、サブドキュメントでそれらをすべてコメント アウトする必要がありますが、これは長い手動の手順です。)
PDF を外部で結合する以外に、すべてを 1 つにコンパイルする最適な方法は何ですか?
答え1
私はまさにこの目的のためにパッケージを使用しています{standalone}
。メインファイルでは以下を使用する必要があります。
\documentclass[preview=false]{standalone}
または、standalone
プリアンブルの先頭付近でパッケージをロードします。サブファイルに必要な完全なプリアンブルは、メインドキュメントによってロードされる必要があります。
以下の例では、filecontents
サブ ファイルを 1 つのコード サンプルにラップできるようにパッケージを使用しました。したがって、subfile.tex
ここのファイルはサブ ファイルであり、この場合はtikz
図で構成されています。このファイルは単独でコンパイルできます。メイン ファイルは次のように読み込まれます。
\usepackage{standalone}
\usepackage{tikz}
そして、\input{subfile}
サブファイルをインポートするために使用します。
コード:
\documentclass{article}
\usepackage{standalone}
\usepackage{tikz}
\usepackage{filecontents}
\begin{filecontents}{subfile.tex}
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\coordinate (EllipseOrigin) at (0,0);
\newcommand*{\XRadius}{4.0}
\newcommand*{\YRadius}{3.0}
\draw [blue, thin, ->] (-5,0) -- (5,0) node [right] {$x$};
\draw [blue, thin, ->] (0,-4) -- (0,4) node [above] {$y$};
\draw [red, ultra thick]% Graph Ellipse
(EllipseOrigin) ellipse [x radius=\XRadius,y radius=\YRadius];
\end{tikzpicture}
\end{document}
\end{filecontents}
\begin{document}
\input{subfile}
\end{document}
スタンドアロン クラスには、サブファイルのプリアンブルを使用できるようにするパッケージ オプションもありますsubpreambles
。したがって、すべてのサブファイルに対してメイン ファイルに 1 つのプリアンブルを含めることができない場合は、このオプションが役立つ可能性があります。
もありますそのcombine
包みを使用すると、別々のドキュメントを 1 つのドキュメントに結合することもできます。
答え2
リンクされた質問に加えて、subfiles
パッケージ同様の機能を提供します。パッケージのREADMEより:
を使用すると、
subfiles
ユーザーは複数ファイルのプロジェクトをより快適に処理でき、補助ファイルを単独で処理することも、補助ファイルを含むメイン ファイルを変更せずに処理することもできます。