README for TeXit v1.35. This is just a slightly altered version of the first README file (for version 1.24). See the CHANGES file for a list of new features. TeXit is a Perl script for running TeX. It has the following features: 1) TeXit examines the log file produced by TeX and tries to determine when TeX needs to be run again in order to resolve references and citations. 2) TeXit is smart enough to run BibTeX, if necessary and can easily be told to run MakeIndex if necessary. 3) After your document has been formatted, TeXit provides a menu that offers other options including: BibTeXing, Viewing, Viewing with Ghostview, Printing, and Cleanup. Cleanup deletes the extra files that get created when you run TeX (aux, log, ilg, blg, etc.). 4) TeXit remains "smart" about your document. If you run BibTeX, for example, TeXit automatically reruns TeX. 5) TeXit has lots of hooks for customization. You can easily add new printer queues, new printer types, and new commands without editing the body of the script. It's all done with init files. For example, here's how I add a "query printer" command to the menu: # Adding a query printer option... $CMDPROMPT{"[q]uery printer"} = '&run("lpq -P%o", $opts); $REASK;'; $CMDTEST{"[q]uery printer"} = ''; (Allright, I admit it's a bit ugly to read, but it's nicer than having to modify the script!) 6) You can add "TeXit rules" to a document to indicate that the document has unusual dependencies. These rules are added in TeX comments at the bottom of your document (like Emacs `Local Variables' if you're familiar with them). For example, the following rule tells TeXit about your index: % &makeindex('-o driver.ind driver.idx') % if &missing('driver.ind') || &changed('driver.idx'); When processing a document that contains this rule, TeXit will automatically re-run TeX if the file "driver.ind" does not exist or if "driver.idx" changes during a TeX run. This next rule handles a diagram created with TreeTeX. If "texittr.tlo" changes or "texittr.tli" doesn't exist, TeXit will run the command indicated (which asynchronously runs a command on another workstation because TreeTeX doesn't build right for the workstation I usually use) and then wait for "texittr.tli" to spring into existence. % &run('treetex texittr'), &waitfor('texittr.tli') % if &changed('texittr.tlo') || &missing('texittr.tli'); Since this document creates some extra files, I push those onto the cleanup list so that TeXit will delete them when I'm done: % push(@cleanup_files, ('texittr.tli','texittr.tlo')) # % if $first_time; 7) The script is heavily commented and the author is pretty friendly about answering questions (even if I do say so myself ;-) 8) I've banged out a few pages of documentation. Hopefully the docs make it easier to use rather than harder, although I admit I was up pretty late writing them and I don't really have the time to do it well just at the moment. 9) It's free. A lot of the features in TeXit were inspired by features in AUC-TeX. Even though AUC-TeX does most of these things, I find TeXit handy. For one thing, my machine at home is way too slow to run AUC-TeX, but it runs TeXit pretty well (after Perl finishes compiling it, anyway ;-). Lots of people have retreived it and I haven't had any complaints, so I gather it works pretty well. Obviously, you have to have Perl installed on your system to use this script. Perl is pretty cool in its own right, so I recommend you go out and get it if you don't already have it. If you are interested in trying out TeXit, you can get it by anonymous ftp from: ibis.cs.umass.edu:/pub/norm/tex/texit/*. If you try it, please let me know how you like it, or even if you like it. ;-) Be seeing you... norm --- Norman Walsh | University of Massachusetts, Amherst, MA 01003 | CMPSCI Dept., LGRC A210 | Standard disclaimer applies