Use Troff !

Gunnar Ritter created the Heirloom doctools by adding paragraph at once adjustment, micro-typography features, and the capacity to handle OpenType fonts to the troff text processor. Heirloom troff is now maintained on Github

Heirloom troff nonetheless lacks a set of macro to handle its typographic capicities while being easy to use. That’s what utmac offers. Look at these macros in the tmac directory, or get an overview of the layout downloading layout-uh.pdf, layout-ul.pdf, and layout-us.pdf.

To use utmac, some post- and pre-processors have been enhanced or created. They are available in the bin directory.

Since modern text processing suppose to exchange documents, troff needed to be linked to the xml world. Utmac provides a macro to export troff files to a custom xml format, and stylesheets to create the html and the OpenDocument files. The xml page give information about these transformations.


2017-12-11 troffxml-0.6

Utmac now uses KA, KN, KT, KO, KW macros to index some keywords. These changes are reflected on utohtml.xsl.

Bugfixes in postxml : any number of following #- are deleted, and #- are not ignored after repeated newlines.

2017-12-11 utmac-0.6

The macro to define the substitution text for a link is now LT instead of LP.

The user interface to index keywords is now completely separated from the one used to print links. The keywords to index are now defined by the K[x] macro. K[x] macros don’t print anything, and the (new) LT macro is now reserved to links.

Defined K[x] macros are KA (acronyms), KN (names), KO (objects, things), KT (titles, books), KW (words). It is easy to add new ones by using the internal idx :make macro.

Following the development of Heirloom Troff on github, ux.tmac now uses \(dq to escape double quotes and u-ref.tmac now uses \E as escape seqence instead of \\.

2017/12/08 utmac-0.5

The macros for links are now in u-links.tmac. LL, LM and LU now print the link even if LP is not used. A glitch in summaries and table of contents has been fixed by correctly escaping \a and \t.

2017/12/08 troffxml-0.5

Utofodt.xsl attempts to render the code formatted by Ugrind correctly. Utohtml.xsl has a better support for index macros and links. A bug affecting internal links to bottom notes is fixed in utohtml.xsl.

2017/12/06 ugrind-0.4

Separating ugrind from the Utroff archive. The troff formatter now escape ’\’ in macro names. Fix a bug in the troff formatter which was dropping newlines in some circumstances (bug report by Marcin Cieslak). Removed unused variables, added parenthesis and braces to fix compiler warnings (bug report by Marcin Cieslak).

2017/12/05 refer-0.4

Separating refer from the Utroff archive. Added parenthesis and braces to fix compiler warnings, and added missing fields in sortbib (bug report by Marcin Cieslak).

2017/12/01 troffxml-0.4

Separating troffxml from the Utroff archive. Fixed a bug in utohtml.xsl which was not linking notes correctly.

2017/11/30 tchars-0.4

Separating tchars from the Utroff archive. Tchars now translates characters indicated by the macros CW, CL, CS, CE.

2017/11/25 utmac-0.4

Separatting Utmac from the Utroff archive. Added macro ul to write letters.

2014/03/17 utroff-0.3

U : Remove bashisms (bug report by fravashyo) and fix a bug in the directory list of fonts.

2014/03/13 utroff-0.2

tchars : RFC 3629 ends utf8 at U+10FFFF, so that utf8 is never encoded on more than 4 bits (bug report by seb).

utmac : Load a font if the user locale macro does not do it (bug report by Fravashyo).

2013/11/05 utroff-0.1

Initial revision.

Produced by Heirloom troff, utmac, and troffxml.

Hosted by tuxfamily.