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
entãoGraph: \includegraphics{picture} \input{explanation}
\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:
que vai emitir um comando “normal”\cfpart[pt 1]{Part One}{part1}{part}
\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!