I have a large document which consists of ~100 smaller files which are compiled together using the subfiles package. To be able to use a common style file for them, whose relative path should be the same from every compilable file, I use the following folder structure:
Project folder projectstyle.sty -- Main folder main.tex -- Subfolder 1 subfile1a.tex subfile1b.tex -- Subfolder 2 subfile2a.tex subfile2b.tex
at the top of the file main.tex. However, since the project is large and contains a lot of tikz file, the compilation now takes quite a long time. I can speed up the compilation of the main file by using the externalize command from the tikz/pgf package by writing e.g.
at the top of the main file. This works when compiling the main file, given that I put a folder named tikz in the Main folder. However, I would also make this work when compiling the subfiles by them selves, as this is the whole point of using the subfiles package. Here it would be optimal if I could use a relative path to the folder in which to externalize the graphics, and put this on the same level as the style file, and then write
but this does not seem to work, as the compiler (pdflatex) complains that
! I can't write on file `../../tikz/main-figure0.md5'.
when I try to compile the main file. Is there any way to get around this?
I do realize one solution would be to write
in the main file (or in the style file), and then add a folder named tikz to all folders which contains compilable documents, but then I would have two copies of each image, which seems to be quite a waste of space...