Groff [ˈdʒiːrɒf] ist die GNU-Implementierung von troff, einem Textsatzsystem, das von AT&T für das Betriebssystem Unix entwickelt wurde. Auf vielen Unix- und GNU-basierten Systemen dient groff zur Anzeige von elektronischen Handbuchseiten (Manpages).

Groff

Basisdaten

Maintainer Bertrand Garrigues[1], James Clark
Entwickler James Clark
Erscheinungsjahr Juni 1990
Aktuelle Version 1.23.0[2]
(7. Juli 2023)
Betriebssystem UNIX/Linux
Programmier­sprache C
Kategorie Schriftsatz
Lizenz GPL (Freie Software)
www.gnu.org/software/groff

Geschichte

Bearbeiten

Die erste 1990 freigegebene Version 0.3.1 wurde von James Clark innerhalb des GNU-Projektes weitestgehend in C implementiert. 1991 folgte mit Version 1.04 die erste stabile Version. 1999 übernahmen Werner Lemberg und Ted Harding die weitere Pflege.[3] Die Neuimplementierung wurde vorgenommen, um Copyrightproblemen mit dem alten, proprietären Code vorzubeugen. Groff wird kontinuierlich weiterentwickelt.[4] Wegen Lizenzproblemen ist Apple zu mandoc gewechselt, ähnlich dem Wechsel zur Z shell.

Unterschiede zu AT&T-troff

Bearbeiten

Auf Kompatibilität wurde bei der Entwicklung größtmögliches Augenmerk gelegt. Unterschiede sind in der Manpage groff_diff(7) dokumentiert.

Das Ditroff-Zwischenformat wurde beibehalten, allerdings mit einigen Erweiterungen. Es stehen unter anderem Treiber für PostScript, PCL und DVI zur Verfügung. Ebenso kann direkt HTML erzeugt werden.

nroff erzeugt formatierte Textdateien und kann dort auch Codes für die Terminalsteuerung einbetten, um Schriftschnitte wie Fett, Kursiv oder auch farbigen Text auf entsprechenden Terminals darzustellen. Zusätzlich beherrscht es die Ausgabe mehrerer Zeichensätze.

Da die meisten troff-Befehle äußerst primitiv sind, liegen groff einige sogenannte Makropakete bei. So gibt es z. B. die Pakete Mom, Me, Mm und Ms für Dokumente, Doc und Man für Manpages. Diese werden beim Aufruf von groff auf der Kommandozeile entsprechend mitgeladen.

Bearbeiten

Anmerkungen

Bearbeiten
  1. Free Software Foundation: Free Software Supporter - Issue 116, December 2017. 8. November 2017 (englisch, abgerufen am 2. August 2023): This month, we welcome Bertrand Garrigues as maintainer of GNU Groff
  2. Bertrand Garrigues: Groff version 1.23.0. 7. Juli 2023 (englisch, abgerufen am 2. August 2023).
  3. FFII-Nachrichten 1999 Woche 20.
  4. vgl. GNU troff, Git-Projektarchiv