# [NTG-context] relative file locations when compiling from different folders (in projects)

Hello,

I'm just wondering if there's some recipe about how to simplify the
work when icluding other files and images in projects, when one is
compiling from different folders.

For example:

articles/08/01/art-one.tex (product)
articles/08/01/art-two.tex (product)
articles/08/02/art-three.tex (product)
articles/08/02/art-four.tex (product)
articles/08/magazine_2008.tex (product)
components/funny.tex (component)
img/08/01/img-1.png
img/08/01/img-2.png
img/08/01/img-3.png
img/08/02/img-2.png
magazine_all.tex (project)
layout.tex (environment)

If I do
> cd articles/08/01
> texexec art-one
then images are expected to be set up as ../../../img/08/01 and if I
need to \input somefile from the project (like "funny.tex"), even if
that's a component, I need to provide some explicit location.

But then I would want to compile
> cd articles/08
> texexec magazine_2008
and then all relative paths break, even when specified in subfolders.
Now I would need to set up ../../img/08/01 as image directory. Even
though the article provides relative path, that path is now relative
to the document I compile one folder lower in hierarchy, not to the
document that defines the relative path (which is a bit weird, but I

Also ... is there some elegant way to include "funny.tex" from an
article, so that it will work both in article and magazine? (I'm
thinking about putting \def\projectroot{../../} at the top of files,
but that's a bit ugly.)

I can solve the problem in my own ways with some weird macros, like
the ones that set image directory to
"directory={../../../img/08/01,../../img/08/01,img/08/01}" at the top
of every article file, but my solutions are all a bit ugly. (Another
thing is that it needs to be flexible enough, so that I don't need to
change every single article in case that I decide to move images or
articles to another location in project.)

If some elegance exists to solve that, I would welcome any hints or
suggestions. But as I said: it's all solvable in one way or another,
so this is just a low-priority request for sharing your ideas. I'm
posting this because I would almost bet that there's some one-liner to
solve it all :) :) :)

Thanks,
Mojca
___________________________________________________________________________________
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________