Partes de documentos de outros diretórios

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.

chapterfolder.sty
chapterfolder
import.sty
import


Do you have any question? Ask on: latex.net.br - we love qood questions!