
Estou escrevendo documentos técnicos com matemática/diagramas/plotagens/código etc. Quero compilá-los em um único documento e também devo ser capaz de executar cada um deles de forma independente. Esses documentos técnicos pertencentes a cada tópico estão em seus floders. Alguém pode me orientar como gerenciá-lo melhor e também torná-lo portátil? Como se eu trabalhasse nos mesmos documentos no Mac OSX/MS Windows.
Responder1
Se entendi a pergunta corretamente, uma solução poderia estar usando o pacote subfiles
.
Digamos que esse main.tex
seja o seu arquivo principal e file1.tex
, file2.tex
e file3.tex
sejam os que você deseja incluir. Então seu documento principal seria algo como:
principal.txt:
\documentclass[a4paper]{article}
<your preamble>
\usepackage{subfiles}
\begin{document}
\subfile{file1}
\subfile{file2}
\subfile{file3}
\end{document}
onde você pode colocar texto onde quiser, como se estivesse usando \include
ou \input
em vez de \subfile
. O conteúdo de file1.tex
seria então algo como
arquivo1.tex
\documentclass[main.tex]{subfiles}
\begin{document}
<your document goes here>
\end{document}
A mesma estrutura deve ser aplicada aos arquivos file2.tex
e file3.tex
.
Agora na hora de compilar main.tex
então o conteúdo dos arquivos, ou seja, o que indiquei por <seu documento vai aqui> será incluído no seu documento e, se você compilar, digamos file1.tex
, o conteúdo de file2.tex
será compilado como se tivesse as especificações e o preâmbulo da classe de documento de main.tex
.
Então agora todos os arquivos do projeto podem ser compilados separadamente, mas para compilar um dos subarquivos você precisará ter main.tex
no mesmo diretório.
documentação e instalação do pacote
Não tenho certeza se subfiles
vem como um pacote padrão. Isso não aconteceu para mim, então dependendo de sua experiência com a instalação de pacotes, eu gostaria de dizer que os pacotes podem ser encontrados em
http://www.ctan.org/tex-archive/macros/latex/contrib/subfiles/
onde também existe uma documentação do pacote, nomeadamente o documento pdf subfiles.pdf
. Se você não sabe como manusear .ins
arquivos .dtx
, há um pequeno guia em
http://en.wikibooks.org/wiki/LaTeX/Packages/Installing_Extra_Packages
e se quiser você pode colocar os arquivos subfiles.cls
e subfiles.sty
que são gerados durante a construção do pacote no mesmo diretório que main.tex
, para que você não dependa do fato de que o próximo sistema no qual os arquivos precisam ser compilados tenha o pacote subfiels
instalado.
EDITAR
Para responder
Eu tenho três níveis de diretório, 1 - nível superior que possui rootfile.tex, 2 - nível de capítulo que possui o arquivo principal de cada capítulo, 3 - nível de seção que possui o conteúdo real desse capítulo. Estou instanciando 3 em 2 usando \include{./Sections/part1}. Como gerenciar tal sistema usando subarquivos? – avlsi
Suponha que você tenha os arquivos
./rootfile.tex
./chapter/chap1.tex
./chapter/chap1/section1.1.tex
./chapter/chap1/section1.2.tex
./chapter/chap2.tex
./chapter/chap2/section2.1.tex
./chapter/chap2/section2.2.tex
./chapter/chap3.tex
./chapter/chap3/section3.1.tex
./chapter/chap3/section3.2.tex
e você deseja incluir os arquivos sectionX.1.tex
e sectionX.2.tex
no arquivo chapX.tex
para X=1,2 e ainda ser capaz de compilar seus arquivos de seção, seus arquivos de capítulo e seu arquivo raiz. Isso pode ser feito deixando seus arquivos parecidos com:
arquivo raiz.tex:
\documentclass[a4paper]{article}
<your preamble>
\usepackage{subfiles}
\def\dirlevel{../}
\begin{document}
\def\dirlevel{}
\subfile{./chapter/chap1}
\subfile{./chapter/chap2}
\subfile{./chapter/chap3}
\end{document}
chapX.tex:
\documentclass[./../rootfile.tex]{subfiles}
\begin{document}
\subfile{./\dirlevel chap/chapX/sectionX.1}
\subfile{./\dirlevel chap/chapX/sectionX.2}
\end{document}
seçãoX.Y.tex:
\documentclass[./../../rootfile.tex]{subfiles}
\begin{document}
<your section goes here>
\end{document}
O truque é que \def\dirlevel{}
só é lido se você compilar rootfile.tex
, enquanto \def\dirlevel{../}
é lido independentemente de qual dos arquivos você compilar, portanto, não importa qual arquivo você compilar, o LaTeX ainda será capaz de encontrar seus arquivos.