Rubber 

Source 

http://rubber.sourceforge.net/

Description 

Rubber is a program whose purpose is to handle all tasks related to the compilation of LaTeX documents. This includes compiling the document itself, of course, enough times so that all references are defined, and running BibTeX to manage bibliographic references. Automatic execution of dvips to produce PostScript documents is also included, as well as usage of pdfLaTeX to produce PDF documents.

Requirements 

Rubber is written entierly in the language Python, using features from version 2.3. Of course, a supported TeX compiler must be present, as well as additional tools like bibtex and dvips if they are used.

Comments 

current version: 0.99.8

Help 

Quick Help 

The included documentation contains a precise description of the command line interface and the list of standard modules. It is also available online http://rubber.sourceforge.net/doc.html. Some documentation is included about how to create your own modules to support packages.

Detail Help 

The purpose of Rubber is to make the building of a document automated, from the source files to the final document file, replacing the work of a Makefile.

The basis is a routine that compiles a LaTeX source the right number of times to resolve all references and make all tables of contents, list of figures, and so on. On top of that, Rubber provides a modular system to handle various tasks needed apart from compilations. This, for instance, includes processing bibliographic references or indices, as well as compilation or conversion of figures. Additionally, modules can perform a post-processing of the document (for instance to convert a DVI to PostScript or PDF) or even a preprocessing (useful when the LaTeX source is generated by another program, like cweave).

Dependency analysis is performed by parsing the source files, so that modifying any source, user package, graphics file or other dependency leads to appropriate compilations. Modules are triggered either explicitly using command-line options, or implicitly when the sources are parsed. For instance, BibTeX support is activated whenever the source contains commands that generate a bibliography, graphics support is activated by allows any additional feature to be supported by simply writing a module to support it.