1 つのドキュメントに本格的なファイルを含める

1 つのドキュメントに本格的なファイルを含める

重複の可能性あり:
サブディレクトリ内の完全な.texドキュメントを結合した.texファイルを作成する

当初はスタンドアロン ドキュメントとして意図されていたファイルがいくつかあります。しかし、現在ではそれらを 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ユーザーは複数ファイルのプロジェクトをより快適に処理でき、補助ファイルを単独で処理することも、補助ファイルを含むメイン ファイルを変更せずに処理することもできます。

関連情報