Tengo un documento LaTeX dividido en varios archivos de texto, dentro de varias carpetas, de la siguiente manera:
\section{Foo}
\subsection{Foo1}
\input{foo/1}
\subsection{Foo2}
\input{foo/2}
\section{Bar}
\subsection{Bar1}
\input{bar/1}
Etcétera. Supongamos que, dentro de la Foo2
subsección, debo insertar una imagen. ¿Cómo puedo saber si LaTeX
debo buscar la imagen dentro del directorio en el que se encuentra el archivo actualmente abierto (es decir foo
), para que dentro del archivo 2
pueda escribir:
\includegraphics{baz}
¿Y puedo colocar todas las imágenes de una sección determinada dentro de sus carpetas, entre los archivos de texto de entrada de esa sección?
Respuesta1
Puedes usar
\graphicspath{{foo}}\input{foo/1}
..
\graphicspath{{bar}}\input{bar/1}
Respuesta2
Hay varias formas de abordar esto dependiendo de cómo estén distribuidos sus directorios. Si su árbol de directorios se parece
-foo
-foo1.tex
-foo2.tex
-baz.pdf
-baz.eps
-bar
-bar1.tex
-qux.pdf
donde los archivos en los directorios foo
y bar
tienen nombres únicos, puede especificar la TEXINPUT
variable de entorno para incluir los subdirectorios. Los detalles de cómo configurar TEXINPUTS
dependen de su distribución (por ejemplo, TeXLive o MikTeX) y sistema operativo (por ejemplo, Windows o Linux). En mi opinión, esta es la configuración ideal ya que le indica tex
dónde buscar archivos. En este caso su archivo "principal" se vería así
\section{Foo}
\subsection{Foo1}
\input{foo1}
\subsection{Foo2}
\input{foo2}
\section{Bar}
\subsection{Bar1}
\input{bar1}
En esta situación , también puede utilizar \graphicspath
para configurar los directorios en los que buscar imágenes. En este caso, el archivo principal se vería así
\graphicspath{{foo}{bar}}
\section{Foo}
\subsection{Foo1}
\input{foo/foo1}
\subsection{Foo2}
\input{foo/foo2}
\section{Bar}
\subsection{Bar1}
\input{bar/bar1}
Si su árbol de directorios se parece
-foo
-1.tex
-2.tex
-baz.pdf
-baz.eps
-bar
-1.tex
-qux.pdf
-baz.pdf
-baz.eps
donde los archivos en los foo
directorios bar
y no tienen nombres únicos, entonces no puede especificar la TEXINPUT
variable de entorno ya que no sabrá a qué archivo se refiere. Aún puedes usarlo \graphicspath
, pero debes configurarlo antes de cada\input
\graphicspath{{foo}}
\section{Foo}
\subsection{Foo1}
\input{foo/1}
\subsection{Foo2}
\input{foo/2}
\graphicspath{{bar}}
\section{Bar}
\subsection{Bar1}
\input{bar/1}
También podrías utilizar elimport
paquete.
\section{Foo}
\subsection{Foo1}
\import{foo/}{1}
\subsection{Foo2}
\import{foo/}{2}
\graphicspath{{bar}}
\section{Bar}
\subsection{Bar1}
\import{bar/}{1}
Las cosas se ponen un poco complicadas con el import
paquete si sus directorios están anidados.