Anthony DeRobertis writes:I'd like to write the .toc, .dvi, .lot, .lof, etc. files to somewhere besides the current directory. Something like a -o option.This would be nice for makefiles and other build systems that are designed to run out of source trees that are not to be scribbled in, such as CD-ROM, shared NFS mounts, etc.A build system would know both source and build directories, and typically work with the build drectory as the CWD.
Well, mine never changed directories before it had to deal with TeX, so it always had CWD set the the top-level of the source tree. Actually, a lot of it depends on it working that way. An even worse problem is below...
So you should be able (in the build directory) to do env TEXINPUTS=/sourcedir: latex file
LaTex does _not_ like this!
anthony@bohr:dst$ TEXINPUTS=../src latex test.tex This is TeX, Version 3.14159 (Web2C 7.3.1) (../src/test.tex LaTeX2e <2001/06/01>Babel <v3.7h> and hyphenation patterns for american, french, german, ngerman, n ohyphenation, loaded. ! LaTeX Error: File `article.cls' not found.
Type X to quit or <RETURN> to proceed,or enter new name. (Default extension: cls) I'd have to know all the paths normally configured in /etc/texmf/texmf.cnf. That'd mean parsing that file, which would be a pain, and nearly impossible as certain popular linux distributions put config files in /usr/share/texmf/web2c/texmf.cnf.
Even if such an option (--output-dir?) were implemented, there'd still be the problem that in Makefiles (or such) that you distribute you cannot count on the option being present.
Well, I depend on GCC 3, so specifying a version of TeX is not that far off.
--Olaf Weber (This space is left blank for technical reasons.)