Unroff reads and parses UNIX troff documents and translates the embedded markup into a different format. Neither the actual output format nor any knowledge about particular troff macro set are hardwired into unroff. Instead the translation process is controlled by a set of user supplied procedures written in Scheme.