# How to use the import package?

I've read about the import package and am now trying to use it in my document, but I only run into errors. I have a main file named /ProjectPath/header.tex which loads all packages, etc. Additionally, some further customisations are located in /ProjectPath/header/ and are loaded by /ProjectPath/header.tex.

Now I have several chapters like /ProjectPath/chap1/ etc. Usually, I had all my files (the header files, the chapter files, the subchapter files, etc.) in one single folder and could easily compile Chapter1:

\input{header}

\begin{document}
…
\end{document}


To get more clarity it is of course useful to put the files into folders. I've read the documentation about the import package but I do not understand how to use the \import command.

Lets say I have following configuration:

/ProjectPath/header.tex             %% main file

/ProjectPath/chap1/part1.tex
/ProjectPath/chap1/part2.tex
/ProjectPath/chap1/part3.tex
/ProjectPath/chap1/part4.tex
/ProjectPath/chap1/chapter1.tex     %% whole first chapter, can be compiled separately

/ProjectPath/chap2/part1.tex
/ProjectPath/chap2/part2.tex
/ProjectPath/chap2/part3.tex
/ProjectPath/chap2/part4.tex
/ProjectPath/chap2/chapter2.tex     %% whole second chapter, can be compiled separately

/ProjectPath/Document.tex           %% whole document, includes both chapters


Of course, now I can't use \input{../header.tex} in /ProjectPath/chap1/chapter1.tex. I am sure, I can get this fixed with the import package, but how?

Any suggestions would be much appreciated!

Edit: Sorry for missing MWE. Here it is:

In the simplest case I have the following files:

/header.tex


Contents:

%% header.tex
\documentclass{article}
\usepackage{import}

%% part1.tex
\begin{document}
Text.
\end{document}


Compiling part1.tex yields in:

! LaTeX Error: File custom.tex' not found.



What's wrong? I'm a bit slow today, I still don't get the correct use of the import package…

-
 Try switching the use of \input and \subimport (cf. my answer). – dgs Jun 4 '12 at 12:46

Here is an example showing the import of a higher-level file by a file in a subfolder, which is what I understood you want to achieve with the header file. A file chapter1.tex is located in a /subfolder. It loads two files: part1.tex, which is located in the same /subfolder, and partA.tex from the home folder. partA.tex also loads part1.tex; it therefore corresponds to the header file in the example you've added.

Using subimport{}{} is necessary for partA.tex to let it use its own path to find part1.tex. Since the latter does not make any further imports, it can always be included by means of input.

main.tex
subfolder/chapter1.tex


%main.tex
\documentclass{article}
\usepackage{import}
\usepackage{lipsum}

\begin{document}
\subimport*{subfolder/}{chapter1}
\end{document}


%subfolder/chapter1.tex
\section{Chapter 1}

\input{part1}
%\input{../partA}   %doesn't work
\subimport*{../}{partA}


%/subfolder/part1.tex
\subsection{Part 1}
\lipsum[1]


%partA.tex
\subsection{Part A}
\lipsum[2]

\input{subfolder/part1}


-

According to the import package description, the \subimport command is your friend. You can use it like this:

\subimport{subdirectory}{filename}


or, a few examples in your case:

\subimport{header}{custom1}
...
\subimport{chap1}{part1}


...and so on. Apparently the extension of the file is not required

-
My header file includes: \usepackage{import} \subimport{header}{custom1} \subimport{header}{custom2} Now, chapter1 includes: \input{../header} \begin{document} …` I got the error message "custom1.tex not found". What's wrong? – Pete Jun 4 '12 at 10:06
That's pretty confusing... Why don't you post a MWE? – Count Zero Jun 4 '12 at 10:13