Groff
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 Gebrauchsanleitungen (Manpages).
Groff | |
---|---|
Basisdaten | |
Entwickler | James Clark |
Erscheinungsjahr | Juni 1990 |
Aktuelle Version | 1.22.4[1] (23. Dezember 2018) |
Betriebssystem | UNIX/Linux |
Programmiersprache | C |
Kategorie | Schriftsatz |
Lizenz | GPL (Freie Software) |
www.gnu.org/software/groff |
Geschichte
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.[2] Die Neuimplementierung wurde vorgenommen, um Copyrightproblemen mit dem alten, proprietären Code vorzubeugen. Groff wird kontinuierlich weiterentwickelt.[3]
Unterschiede zu AT&T-troff
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 zu 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.
Weblinks
- GNU troff (groff) – a GNU project Homepage (englisch)
- Mom – Makros for GNU troff (englisch)
- Groff and mom: an overview (PDF, englisch, grundlegende Konzepte von groff und Workflow)
groff(1)
: front-end for the groff document formatting system – FreeBSD General Commands Manualtroff(1)
: the troff processor of the groff text formatting system – FreeBSD General Commands Manualgroff_diff(7)
: differences between GNU troff and classical troff – FreeBSD Miscellaneous Information Manual
Anmerkungen
- GNU troff version 1.22.4. 23. Dezember 2018 (abgerufen am 23. Dezember 2018).
- FFII-Nachrichten 1999 Woche 20.
- vgl. GNU troff, Git-Projektarchiv