Incluindo arquivos completos em um único documento

Incluindo arquivos completos em um único documento

Possível duplicata:
Crie um arquivo .tex que combine documentos .tex completos em subdiretórios

Eu tenho alguns arquivos, que inicialmente foram concebidos como documentos independentes. Mas agora desejo compilá-los em um único documento. O problema é que cada um deles tem seus próprios pacotes, títulos, etc. específicos e o \includemétodo não é tão simples para tais documentos. (Tenho que incluir a mesma lista de pacotes no arquivo principal e comentá-los todos no subdocumento, que é um longo procedimento manual.)

Qual é o melhor método para compilá-los todos em um, além de mesclar PDFs externamente?

Responder1

Tenho usado o {standalone}pacote exatamente para esse propósito. Os arquivos principais devem usar:

\documentclass[preview=false]{standalone}

ou carregue o standalonepacote próximo ao início do preâmbulo. O preâmbulo completo necessário aos subarquivos deve ser carregado pelo documento principal.

No exemplo abaixo, usei o filecontentspacote apenas para poder agrupar o subarquivo em um exemplo de código. Então o arquivo subfile.texaqui é um subarquivo, neste caso é composto por uma tikzfigura. Este arquivo pode ser compilado sozinho. O arquivo principal está carregando:

\usepackage{standalone}
\usepackage{tikz}

e então simplesmente usa \input{subfile}para importar o subarquivo.

Código:

\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}

Há também a subpreamblesopção de pacote para a classe autônoma que permite usar o preâmbulo dos subarquivos. Portanto, se você não pode ter um preâmbulo no arquivo principal para todos os seus subarquivos, talvez esta seja uma opção útil.


Há tambémo combinepacote, que também permite combinar documentos separados em um único documento.

Responder2

Além da pergunta vinculada, osubfilespacotefornece uma funcionalidade semelhante. Do pacote README:

O uso subfilesdo usuário pode lidar com projetos de vários arquivos com mais conforto, possibilitando processar os arquivos subsidiários sozinhos e processar o arquivo principal que os inclui, sem fazer nenhuma alteração em nenhum deles.

informação relacionada