On Wed, Aug 29, 2001 at 04:19:18PM -0700, Karsten M. Self wrote: | on Wed, Aug 29, 2001 at 07:02:03PM -0400, dman ([EMAIL PROTECTED]) wrote: | > On Wed, Aug 29, 2001 at 03:19:07PM -0700, Karsten M. Self wrote: | > | I'm trying to use TeX in a script. Problem I've got is convincing TeX | > | to put its output where I want it to. | > | | > | Anyone got a hint for forcing TeX to create an output DVI file with a | > | specified name? | > | > I was thinking of making a (script) frontend to LaTeX to get the | > desired output (PS usually) but *not* have the extra temporary junk | > lying around. What I was thinking of was create a temp directory | > (using some well-tested method) and cd to it. Run LaTeX from there | > and then copy out the files I really want to keep. Then I would clean | > up the junk afterwards. Maybe the same sort of option is available | > for you? | | This is how I'm leaning. I don't know a good temp*directory* creater, | a la tempfile.
I don't recall offhand, but IIRC there are C functions (and similar functions for other languages) to return a _name_ that is good for a tempfile. Instead of making a file from it, make a directory instead. Hold on, I'll check my Linux Programming book to see if I find mention of it. Ok, here it is : #include <stdio.h> FILE* tmpfile( void ) ; /* here is what you are thinking of */ char* tmpnam( char* s ) ; #include <unistd.h> int mkstemp( char* template ) ; char* mktemp( char* template ) ; tmpfile() creates and returns a refernce to a file. You need a dir instead. tmpnam() returns a string that is suitable for a temp file, which could be used to create a dir instead. The book then says that the functions probably give you a file in /tmp or /var/tmp and shouldn't be used because those are public (vunerable) directories. There may already exist a "program" wrapper that is useable in a shell script, or you could create one (unless you are already writing a C app). -D