Rubber 1.1 review

by on

Rubber is a program whose purpose is to handle all tasks related to the compilation of LaTeX documents

License: GPL (GNU General Public License)
File size: 81K
Developer: Emmanuel Beffara
0 stars award from

Rubber is a program whose purpose is to handle all tasks related to the compilation of LaTeX documents. Rubber 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.

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 usepackage{graphics} and similar commands, and so on. The modular approach allows any additional feature to be supported by simply writing a module to support it.

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

What's New in This Release:
This release adds support for user-defined file conversion rules, support for xindy and sam2p, improved fig2dev support, an experimental cache system, and bugfixes for better parsing of log files, error reporting (including for BibTeX and Metapost), and handling of verbatim environments.

Rubber 1.1 keywords