📅 2010-May-27 ⬩ ✍️ Ashwin Nanjappa ⬩ 🏷️ import, latex ⬩ 📚 Archive
Large LaTeX documents can be organized nicely by using the * command. For more on that see this post. However, the * command is not intelligent, it blindly includes the content of its files.
For example, a Report.tex
includes a 01-IntroDir/01-Intro.tex
file that uses lots of images stored in 01-IntroDir
. All of the \includegraphics
commands in 01-IntroDir/01-Intro.tex
would have to include the 01-IntroDir/
prefix:
% 01-IntroDir/01-Intro.tex
\includegraphics{01-IntroDir/Image0.png}
\includegraphics{01-IntroDir/Image1.png}
\includegraphics{01-IntroDir/Image2.png}
To intelligently include the content in other directories such that all their content paths are also relative, the * and * commands from the import package can be used.
For example, Report.tex
can be changed to:
% Report.tex
\usepackage{import}
\subimport{01-IntroDir/}{01-Intro.tex}
When * or * are used, the imported files can refer to their images/files relative to themselves. So, the above 01-IntroDir/01-Intro.tex
can be simplified to:
% 01-IntroDir/01-Intro.tex
\includegraphics{Image0.png}
\includegraphics{Image1.png}
\includegraphics{Image2.png}