Uma maneira comum de construir um documento grande é dividi-lo em um conjunto de arquivos (por exemplo, um por capítulo) e manter tudo relacionado a cada um desses arquivos subsidiários em um subdiretório.
Infelizmente, o TeX não tem um “diretório atual” modificável, de modo que todos os arquivos aos quais você se refere precisam ser especificados em relação ao mesmo diretório do arquivo principal. A maioria das pessoas acha isso contraintuitivo.
Pode ser apropriado utilizar a técnica de “extensão de caminho” usada em instalações temporárias
usada em instalações temporárias para lidar com esse problema. No entanto, se houver vários arquivos com o mesmo nome em seu documento, como chapter1/fig1.eps e
chapter2/fig1.eps, o TeX não terá qualquer pista sobre a qual deles você estará se referindo quando, no arquivo do capítulo principal, você disser
\input{sect1}; isso pode ser resolvido prontamente no caso de arquivos preparados por humanos (apenas não use nomes iguais), mas arquivos produzidos automaticamente podem ter nomes repetitivos, e a alteração deles é um procedimento propenso a erros.
O pacote import vem para te socorrer aqui: ele define um comando
\import que aceita um nome de caminho completo e o nome de um arquivo naquele diretório, e faz as coisas “funcionarem corretamente”. Então, por exemplo, se /home/friend/results.tex contiver
Graph: \includegraphics{picture}
\input{explanation}
então \import{/home/friend/}{results} incluirá graph e explanation, como seria de se esperar. Um comando \subimport faz o mesmo tipo de coisa para um subdiretório (um caminho relativo em vez de um absoluto), e há os comandos correspondentes \includefrom
e \subincludefrom.
O pacote chapterfolder fornece comandos para lidar com seu modelo (fixo) de inclusão de arquivo em um documento. Ele fornece comandos
\cfpart, \cfchapter, \cfsection e \cfsubsection,
cada um dos quais aceita argumentos de diretório e de arquivo, por exemplo:
\cfpart[pt 1]{Part One}{part1}{part}
que vai emitir um comando “normal”
\part[pt 1]{Part One} e, em seguida, inserir o arquivo
part1/part.tex, lembrando que, agora, part1/ é a “pasta atual”. Há também comandos na forma de
\cfpartstar (que corresponde a um comando \part* command).
Quando você estiver “em” um documento incluído com o chapterfolder , você poderá utilizar \cfinput para inserir algo relativo à “pasta atual” ou utilizar \input, usando \cfcurrentfolder para fornecer o caminho do arquivo. (Há também o
\cfcurrentfolderfigure para um subdiretório de figure/ e o
\cfcurrentfolderlistings para um subdiretório listings/.)
A documentação do chapterfolder está em Francês, mas o README no diretório está em Inglês.
This question on the Web: http://latex.net.br/faq/FAQ-docotherdir.html
Do you have any question? Ask on: latex.net.br - we love qood questions!