Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I have following example directory structure.

ArticlesWritten
-       ArticleA
-   -       FileOnlyInArticleA.tex
-   -       Introduction.tex
-   -       main.tex
-   -       MainAsChapter.tex
-   -       RelatedWork.tex
-   -
-       ArticleB
-           FileOnlyInArticleB.tex
-           Introduction.tex
-           main.tex
-           MainAsChapter.tex
-           RelatedWork.tex
-
thesisFiles
    FileOnlyInThesis.tex
    Introduction.tex
    main.tex
    RelatedWork.tex

ArticleA , ArticleB is article document class while thesis is book document class. main.tex is main file for directories. I input other files from this main file. They work normal as individually.

I am trying to include ArticleA and ArticleB to thesis. I added MainAsChapter.tex to ArticleA and ArticleB. MainAsChapter.tex does not contain any latex document commands except inputs.

When I try to input following command in thesis/main.

\input{Introduction}
\input{RelatedWork}
\input{FileOnlyInThesis}
\input{../ArticlesWritten/ArticleA/MainAsChapter}

last line works but input commands in ArticleA/MainAsChapter are interpreted as coming from thesis directory. It include Introduction and RelatedWork files from thesis directory and can not find for example FileOnlyInArticleA.

If I use

\input{../ArticlesWritten/ArticleA/MainAsChapter}

I get following error

! LaTeX Error: File `FileOnlyInArticleA.tex' not found.

If I use

\import{../ArticlesWritten/ArticleA/}{MainAsChapter}

I do not get any error but input commands in MainAsChapter include Introduction, RelatedWork from MainInThesis. So I get following output.

Introduction Thesis
Related Work Thesis
FileOnlyInThesis
Introduction Thesis
Related Work Thesis
FileOnlyInArticleA

Second Introduction and RelatedWork should come from ArticleA.

Manual of import mentions that

Depending on on how your TEX system is configured, if a file with the same name as the import file exists in the current directory or in the TEXINPUTS path, that other file will be read in preference to one in the import directory.

Correct Usage is

\import*{../ArticlesWritten/ArticleA/}{MainAsChapter}

This gives me , expected output of

Introduction Thesis
Related Work Thesis
FileOnlyInThesis
Introduction ArticleA
Related Work ArticleA 
FileOnlyInArticleA
share|improve this question

1 Answer 1

up vote 4 down vote accepted

The current directory is not changed by \input. Files are searched first in the current directory (normally the main file directory) and then in predefined directories (where the packages etc. lie). This search path can be changed using the TEXINPUTS environment variable.

I think you can achieve what you are trying to do using the import package which allows relatives \inputs from imported files. See the package manual for the details.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.