Troff Companions

Troff has been made to be used within tubes. It works with pre-processors, post-processors and filters. A lot of filters exist since the 70’s. Some of them needed some enhancement to be used with utmac, some others needed to be created.


Ugrind is an awfull hack of vfontedpr, the programm which makes the hard work of the mostly forgotten vgrind preprocessor: it highlights code in troff sources. Vfontedpr doesn’t handle variables, troff source nor color, Ugrind does all that, and is easier to use. It is written in C, and is probably the lightest tool one can find for this task.

See the following files: ugrind, ics license, bsd4 license, cddl license.

Browse the git repository.


Idx build, repair, format, and handle index files. It has been made to automatically index a troff document, but it also provides option to be used as an helper tool to manually index a book, and work with index files. idx is a shell and awk script.

See the following files: idx, license,

Browse the git repository.


Refer is a small hack of the venerable refer, as found in the heirloom-doctools archive. This modification of Refer uses strings to define small capitals, makes a difference between lastname and firstname in author and editor fields, add support for multiple editors, and offers an option to sort the bibliography database in the order defined by the iso-690 bibliography standart.

See the following files: hunt, inv, mkey, referformat, refer, sortbib, license bsd4, license cddl,

Browse the git repository.


Tchars translate an ascii coded text to complex utf-8 characters. Actually, it can only translate a simple sort of beta-code to polytonic greek.

See the following files: tchars, license,

Browse the git repository.

Troffxml tools

The troffxml tools convert an utmac file to xml. They are longer discussed in the xml page.

See the following files: troffxml, license,

Browse the git repository.