On Thu, 10 May 2007, Arthur Reutenauer wrote:
I wasn't able to test my answer because I use myself a different file structure for the beginners manual and never encountered this problem.
I guess the problem is with \doiffileelse in ma-cb-setups.tex:
# \doiffileelse{t-setup.tex} # {\usemodule[setup]} % third party t-setup.tex # {\usemodule[set-11]}
As it is (without tweaking TEXINPUTS or installing t-setup.tex manually), t-setup.tex isn't found in the parent directory, so x-set-11.tex is loaded in its place.
Why is it done this way? Isn't t-setup always supposed to be distributed with the sources. Why not simply \environment t-setup If a file is being used for only one project, it should be an environment file. If it will be used in multiple projects, it should be a module. Wolfgang, do you think that t-setup.tex can be added as x-set-13.tex, or maybe even overwrite x-set-11.tex? (I have not read it carefully to understand what are the enhancements that it provides).
How is \doiffileelse supposed to search for files exactly?
Try to open the file for reading. If the file can be read, then read the file, else do the else part. The check for file etc is done using TeX's \immediate\openin\scratchread \filename, so there is no searching for parent directories. The \project and \environment macros have to make some effort to read files in parent directories. Aditya