![](https://secure.gravatar.com/avatar/93131e1e6e2204bd13501390d768dbdc.jpg?s=120&d=mm&r=g)
On Mon, 14 May 2007 22:46:20 -0400 (EDT)
Aditya Mahajan
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).
Hi Aditya, the module is a replacement for x-set-11 and and tries to solve a few problem x-set-11 has, like generating a index with all commands used in the current file. It provides also a few like generating a index entry without showing the command in the running text or generating own texts for envronments, like a setup command for "\startFOO ... \stopFOO" (the FOO is not a placeholder, you can realy show FOO in the output from \shortsetup).
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
This should be wikified. Wolfgang