groff

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel behandelt die Software Groff, zu anderen Bedeutungen siehe Groff (Begriffsklärung).
Groff
Entwickler James Clark
Aktuelle Version 1.22.2
(7. Februar 2013)
Betriebssystem UNIX/Linux
Programmier­sprache C
Kategorie Schriftsatz
Lizenz GPL (Freie Software)
www.gnu.org/software/groff

Groff 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).

Geschichte[Bearbeiten]

Die erste 1990 freigebenene 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.[1] Die Neuimplementierung wurde vorgenommen, um Copyrightproblemen mit dem alten, proprietären Code vorzubeugen. Groff wird kontinuierlich weiterentwickelt.[2]

Unterschiede zu AT&T-troff[Bearbeiten]

Hauptartikel: Troff

Auf Kompatibilität wurde bei der Entwicklung größtmöglicher 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 Kodes 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[Bearbeiten]

Anmerkungen[Bearbeiten]

  1. FFII-Nachrichten 1999 Woche 20.
  2. vgl. GNU troff, Git-Projektarchiv