Provided by: manpages-de_4.27.0-1_all bug

Name

       groff - Frontend für das GNU-roff(7)-Dokumentenformatierungssystem

Übersicht

       groff [-abcCeEgGijklNpRsStUVXzZ] [-d cText] [-d Zeichenkette=Text] [-D Rückfallkodierung]
             [-f Schriftfamilie] [-F Schriftverzeichnis] [-I Einbindungsverzeichnis] [-K Eingabekodierung]
             [-L Spooler-Argument] [-m Makropaket] [-M Makroverzeichnis] [-n Seitennummer] [-o Seitenliste]
             [-P Postprozessorargument] [-r numerischer_Ausdruck] [-r Register=numerischer_Ausdruck]
             [-T Ausgabegerät] [-w Warnungskategorie] [-W Warnungskategorie] [Datei …]

       groff -h
       groff --help

       groff -v [option …] [Datei …]
       groff --version [Option …] [Datei .…]

Beschreibung

       groff  ist das primäre Frontend für das GNU- roff(7) -Dokumentenformatierungssystem. GNU- roff(7) ist ein
       Textsatzsystem, das  reine  Textdateien  als  Eingabe  liest  und  die  enthaltenen  Formatierungsbefehle
       verwendet, um Ausgaben in PostScript, PDF, HTML, DVI und anderen Formaten oder die Anzeige im Terminal zu
       erstellen.  Formatierbefehle  können  grundlegende  Schriftsatzprimitive,  Makros  eines bereitgestellten
       Pakets oder benutzerdefinierte Makros sein. Alle  drei  Ansätze  können  kombiniert  werden.  Falls  kein
       Operand Datei angegeben ist oder falls Datei »-« ist, liest groff aus dem Standardeingabedatenstrom.

       groff  ist  eine  Neuimplementierung  und Erweiterung des Schriftsatzprogramms aus AT&T Unix und aufgrund
       seiner langen Verbindung  mit  Unix-Handbüchern  (einschließlich  der  Handbuchseiten)  auf  den  meisten
       POSIX-Systemen vorhanden. Zusammen mit seinen Vorgängern ist es bemerkenswert für die Erstellung mehrerer
       Bestseller  über Software-Engineering. groff ist in der Lage, typographisch fortgeschrittene Dokumente zu
       erstellen und dabei minimale Systemressourcen zu verwenden.

       Der Befehl groff arrangiert die Ausführung von Präprozessoren, die Umwandlung  von  Eingabedokumenten  in
       eine geräteunabhängige Seitenbeschreibungssprache und die Erstellung der Ausgabe aus dieser Sprache.

Optionen

       -h und --help zeigen eine kurze Aufrufsinformation an und beenden das Programm.

       Da  groff  dazu gedacht ist, die direkten Aufrufe der meisten der troff(1) -Formatierer zusammenzufassen,
       nutzen die beiden Programme diverse Optionen gemeinsam.  Allerdings  verfügt  groff  über  Optionen,  die
       troff(1)  nicht  hat  und andere, die groff anders interpretiert. Gleichzeitig können nicht alle gültigen
       troff(1) -Optionen an groff übergeben werden.

   groff-spezifische Optionen
       Die folgenden Optionen gibt es entweder bei  GNU-  troff(1)  nicht  oder  sie  werden  von  groff  anders
       interpretiert.

       -D Kod Setzt die von preconv(1) verwandte Rückfalleingabekodierung auf Kod; impliziert -k.

       -e     Führt den Präprozessor eqn(1) aus.

       -g     Führt den Präprozessor grn(1) aus.

       -G     Führt den Präprozessor grap(1) aus; impliziert -p.

       -I Verz
              Funktioniert  wie  die Option von troff(1) (siehe unten), impliziert aber auch -g and -s. Sie wird
              an soelim(1) und den Ausgabetreiber weitergegeben und grn(1) wird die Option -M mit Verz als  sein
              Argument übergeben.

       -j     Führt den Präprozessor chem(1) aus; impliziert -p.

       -k     Führt  den  Präprozessor preconv(1) aus. Lesen Sie seine Handbuchseite für dessen Verhalten, falls
              keine der Optionen -K und -D von groff zusätzlich angegeben ist.

       -K Kod Setzt die von preconv(1) verwandte Eingabekodierung auf Arg; impliziert -k.

       -l     Schickt  die  Ausgabe  zum  Drucken   an   einen   Spooler.   Die   Direktive   »print«   in   der
              Gerätebeschreibungsdatei  legt den zu verwendenden Standardbefehl fest; siehe groff_font(5). Falls
              für das Ausgabegerät keine solche Direktive vorhanden ist, wird die Ausgabe  per  Pipe  an  lpr(1)
              weitergeleitet. output is piped to lpr(1). Siehe die Optionen -L und -X.

       -L Arg Übergibt  Arg  an  den  Druck-Spooler.  Falls mehrere Arg benötigt werden, übergeben Sie jedes mit
              einer getrennten Option -L. groff stellt Arg kein Options-Minuszeichen vor  der  Übergabe  an  das
              Spooler-Programm voran.

       -M     Funktioniert als Option für troff(1) , wird aber auch an eqn(1) , grap(1) und grn(1) übergeben.

       -N     Verbietet Zeilenumbrüche zwischen eqn-Trennsymbolen; übergibt -N an eqn(1).

       -p     Führt den Präprozessor pic(1) aus.

       -P Arg Übergibt Arg an den Postprozessor. Falls mehrere Arg benötigt werden, übergeben Sie jede mit einer
              getrennten  Option  -P.  groff  stellt  Arg  kein  Options-Minuszeichen  vor  der  Übergabe an den
              Postprozessor voran.

       -R     Führt den Präprozessor refer(1) aus. Es wird kein Mechanismus zum Weiterreichen von Argumenten  an
              refer  zur  Verfügung  gestellt,  weil die meisten Optionen von refer gleichwertige Sprachelemente
              haben, die innerhalb des Dokuments angegeben werden können.

       -s     Führt den Präprozessor soelim(1) aus.

       -S     Arbeitet im Modus mit »erweiterter Sicherheit«, siehe -U  weiter  unten  für  das  Gegenteil.  Aus
              Sicherheitsgründen ist der Modus mit erweiterter Sicherheit standardmäßig aktiviert.

       -t     Führt den Präprozessor tbl(1) aus.

       -T Gerät
              Weist  troff(1)  an,  die  Eingabe  für das Ausgabegerät Gerät zu formatieren. groff ruft dann den
              Ausgabetreiber auf, um die Ausgabe von troff(1) in eine Form umzuwandeln, die für  Gerät  geeignet
              ist; siehe den nachfolgenden Unterabschnitt »Ausgabegeräte«.

       -U     Arbeitet im unsicheren Modus; übergibt die Option -U an pic(1) und troff(1).

       -v
       --version
              Schreibt   Versionsinformationen  von  groff  und  allen  Programmen,  die  es  ausführt,  in  den
              Standardausgabedatenstrom; dass heißt, die angegebene Befehlszeile  wird  auf  die  übliche  Weise
              verarbeitet,  wobei  dem  Formatierer und allen aufgerufenen Prä- und Postprozessoren -v übergeben
              wird.

       -V     Gibt die Befehlssequenz, die von groff ausgeführt würde,  in  den  Standardausgabedatenstrom  aus,
              führt  sie aber nicht aus. Wenn dies mehr als einmal angegeben wird, wird groff die Befehlssequenz
              sowohl ausgeben als auch ausführen.

       -X     Verwendet gxditview(1) anstelle des üblichen Postprozessors, um ein  Dokument  (vorab)  auf  einer
              X11-Anzeige  zu  betrachten.  Wenn  diese  Option  mit  -Tps  kombiniert  wird,  dann  werden  die
              Schriftmetriken des PostScript-Geräts verwandt, während die Optionen -TX75 und -TX100 die Metriken
              der X11-Schriften verwenden.

       -Z     Deaktiviert das Postprocessing. troff(1) -Ausgabe wird in dem Standardausgabedatenstrom erscheinen
              (außer dies wird mit -z unterdrückt); siehe groff_out(5) für eine Beschreibung dieses Formats.

   Transparente Optionen
       Folgende Optionen werden unverändert an das Formatierprogramm troff(1) weitergegeben und detaillierter in
       dessen Handbuchseite beschrieben.

       -a     Erstellt eine ungefähre Näherung der Schriftsatzausgabe als reinen Text.

       -b     Schreibt  bei  jedem  Fehler  oder  jeder  Warnung  eine  Ablaufverfolgung  (Backtrace)   in   die
              Standardfehlerausgabe.

       -c     Startet mit deaktivierter Farbe.

       -C     Aktiviert den AT&T- troff(1) -Kompatibilitätsmodus; impliziert -c.

       -d cs
       -d Name=Zeichenkette
              Definiert eine Zeichenkette.

       -E     Verhindert Fehlermeldungen von troff(1) ; impliziert -Ww.

       -f Fam Legt die Standard-Schriftfamilie fest.

       -F Verz
              Sucht  im  Verzeichnis  Verz  nach  dem  ausgewählten  Ausgabegeräteverzeichnis  mit  Geräte-  und
              Schriftbeschreibungsdateien.

       -i     Verarbeitet die angegebenen Eingabedateien vor der Standardeingabe.

       -I Verz
              Durchsucht Verz nach Eingabedateien.

       -m Name
              Verarbeitet Name.tmac vor Eingabedateien.

       -M Verz
              Durchsucht Verzeichnis Verz nach Makrodateien.

       -n Num Gibt der ersten Seite die Nummer Num.

       -o Liste
              Gibt nur Seiten aus Liste aus.

       -r cnumerischer_Ausdruck
       -r Register=numerischer_Ausdruck
              Definiert ein Register.

       -w Name
       -W Name
              Aktiviert (-w) oder verhindert (-W) die Ausgabe von Warnungen der Kategorie Name.

       -z     Unterdrückt formatierte, geräteunabhängige Ausgabe von troff(1).

Aufruf

       Die  Architektur   des   GNU-   roff(7)   -Systems   folgt   der   anderer   geräteunabhängiger   roff(7)
       -Implementierungen.    Sie    besteht    aus    Präprozessoren,   Makropaketen,   Ausgabetreibern   (oder
       »Postprozessoren«), einer Sammlung von Hilfswerkzeugen und zentral dem Formatierer troff(1) Siehe roff(7)
       für eine Übersicht darüber, wie ein Roff-System funktioniert.

       Die  im  GNU-  roff(7)  -System  verfügbaren  Frontend-Programme  erleichtern  die  Verwendung  gegenüber
       traditionellen  roff(7)  -Systemen, die die Erstellungen von Befehlsfolgen oder die Verwendung temporärer
       Dateien benötigen, um die Quellen von der wartbaren Form in die Geräte-bereite Ausgabe  zu  bringen.  Die
       nachfolgende Erörterung fasst die Bestandteile des GNU- roff(7) -Systems zusammen. Es ergänzt roff(7) mit
       groff-spezifischen Funktionen.

   Erste Schritte
       Wer  das  Lernen  durch  Experimente  bevorzugt oder den Wunsch hat, schnelle Rückmeldungen vom System zu
       bekommen, möchte vielleicht mit einem »Hello, world!«-Dokument anfangen.

       $ echo "Hello, world!" | groff -Tascii | sed '/^$/d'
       Hello, world!

       Der sed(1) -Befehl wurde nur verwandt, um die  65  leeren  Zeilen  zu  beseitigen,  die  andernfalls  das
       Terminalfenster geflutet hätten. ( roff(7) -Systeme wurden zu Zeiten von papierbasierten Terminals mit 66
       Zeilen pro Seite entwickelt.)

       Heutige Benutzer könnten die Ausgabe auf ein UTF-8-fähiges Terminal bevorzugen.

       $ echo "Hello, world!" | groff -Tutf8 | sed '/^$/d'

       Die Erstellung von PDF, HTML oder TeXs DVI ist auch unkompliziert. Der schwierige Teil könnte die Auswahl
       eines Betrachtungsprogramms für die Ausgabe sein.

       $ echo "Hello, world!" | groff -Tpdf > hello.pdf
       $ evince hello.pdf
       $ echo "Hello, world!" | groff -Thtml > hello.html
       $ firefox hello.html
       $ echo "Hello, world!" | groff -Tdvi > hello.dvi
       $ xdvi hello.html

   Verwendung von groff als eine REPL
       Benutzer    mit    Programmiererfahrung    mögen    sich    freuen,    dass    sie    groff    in   einer
       Lese-Auswert-Ausgabe-Schleife  (REPL)  verwenden  können.  Dies  kann  praktisch  sein,  um  das   eigene
       Verständnis  des  Verhaltens  des  Formatierers  oder  der  von  ihm  verstandenen  Syntax zu bestätigen.
       Einschalten aller Warnungen mit -ww kann hierbei helfen.

       $ groff -ww -Tutf8
       \# Dies ist ein Kommentar. Definieren wir ein Register.
       .nr a 1
       \# Ganzzahlarithmetik mit Operatoren erfolgt von links nach rechts.
       .nr b \n[a]+5/2
       \# Lassen Sie uns das Ergebnis auf dem Standard-Datenfehlerstrom ausgeben.
       .tm \n[b]
       3
       \# Jetzt definieren wir eine Zeichenkette.
       .ds name Leslie\" So können Kommentare auch erfolgen.
       .nr b (\n[a] + (7/2))
       \# Den Text der nächsten zwei Eingabezeilen zentrieren.
       .ce 2
       Hi, \*[name].
       Your secret number is \n[b].
       \# Jetzt wird erkennbar, dass die Division Richtung Null gerundet wurde.
       It is
       \# Hier ist eine If-Else-Steuerstruktur.
       .ie (\n[b] % 2) odd.
       .el even.
       \# Dieser Trick setzt die Seitenlänge auf die aktuelle vertikale Position,
       \# so dass keine leeren Zeilen ausgespuckt werden, wenn wir fertig sind.
       .pl \n[nl]u
       <Control-D>
                                  Hi, Leslie.
                           Your secret number is 4.
       It is even.

   Papierformate
       In GNU- roff(7) werden die Seitengrößen für den Formatierer troff(1) und für die  Ausgabegeräte  getrennt
       behandelt.  Im  Formatierer  werden  Anfragen zum Setzen der Seitenlänge (.pl), des Seitenversatzes (oder
       linken Randes, .po) und der Zeilenlänge (.ll) verwandt. Der rechte Rand wird nicht explizit konfiguriert;
       die Kombination aus Seitenversatz und Zeilenlänge stellt  die  zur  Ableitung  notwendigen  Informationen
       bereit.  Das  automatisch  von  troff(1)  geladene Makropaket papersize stellt eine Schnittstelle für die
       Konfiguration  der  Seitendimensionen  über  bequeme  Namen  bereit,  wie  »letter«  oder   »A4«,   siehe
       groff_tmac(5) In dieser Installation ist die Vorgabe des Formatierers »A4«.

       Es  obliegt  jedem  Makropaket,  die  auf  diese Art konfigurierten Seitendimensionen zu berücksichtigen.
       Einige bieten alternative Mechanismen.

       Für jedes Ausgabegerät kann die Größe des Ausgabemediums in seiner DESC-Datei gesetzt werden. Die meisten
       Ausgabetreiber erkennen auch eine Befehlszeilenoption -p,  um  die  Standarddimensionen  außer  Kraft  zu
       setzen  und  eine  Option  -l,  um Querformat zu verwenden. Siehe groff_font(5) für eine Beschreibung der
       Direktive papersize, die ein Argument der gleichen Form wie bei  -p  akzeptiert.  Die  Handbuchseite  des
       Ausgabetreibers, wie grops(1), könnte auch hilfreich sein. groff verwendet die Befehlszeilenoption -P, um
       Optionen   an   die   Ausgabegeräte   weiterzugeben.  Verwenden  Sie  beispielsweise  folgendes  für  die
       Postscript-Ausgabe auf A4-Papier im Querformat:

              groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps

   Frontend
       Das groff-Programm ist ein Wrapper um das troff(1) -Programm. Es ermöglicht die Angabe von Präprozessoren
       mittels Befehlszeilenoption und  führt  automatisch  den  für  das  ausgewählte  Ausgabegerät  geeigneten
       Postprozessor aus. Damit kann die manuelle Zusammenstellung von Bearbeitungssequenzen oder die Verwaltung
       temporärer  Dateien  vermieden  werden,  die von Benutzern traditioneller roff(7) -Systeme verlangt wird.
       Verwenden Sie das Programm grog(1) , um die korrekte groff-Befehlszeile zur Formatierung eines  Dokuments
       abzuleiten.

   Sprache
       Eingabe  für  ein  roff(7) -System ist eine reine Textdatei, in der die Steuerzeilen und Maskiersequenzen
       eingeschoben sind. Die Kombination bildet ein Dokument in einer  der  Sprachfamilien,  die  auch  roff(7)
       genannt   werden,   siehe   roff(7)   Hintergrundinformationen.   Ein  Überblick  über  Sprachsyntax  und
       -funktionalitäten von roff(7) , einschließlich der vollständigen  Liste  unterstützter  Maskiersequenzen,
       Anfragen  und  vordefinierter  Register  kann in groff(7) gefunden werden. GNU roff(7) -Erweiterungen zur
       AT&T- troff(1) -Sprache, eine gemeinsame Teilmenge der noch  bestehenden  roff(7)  -Dialekte,  werden  in
       groff_diff(7) im Detail beschrieben.

   Präprozessoren
       Ein  Präprozessor  interpretiert  eine  domänenspezifische  Sprache,  die  Ausgabe in der Sprache roff(7)
       erzeugt. Häufig wird solche Eingabe auf Abschnitte oder Bereiche einer roff(7) -Datei  beschränkt  (durch
       Makroaufrufe,  die  spezifisch  für  jeden Präprozessor sind, eingeklammert), die dadurch ersetzt werden.
       Präprozessoren interpretieren daher eine  Teilmenge  der  roff(7)  -Syntax  zusammen  mit  ihrer  eigenen
       Sprache.  GNU  roff(7) stellt Neuimplementierungen der meisten den Benutzern von AT&T troff(1) vertrauten
       Präprozessoren bereit.  Diese  haben  regelmäßig  erweiterte  Funktionalitäten  und/oder  benötigen  GNU-
       troff(1) , um ihre Ausgabe zu formatieren.

              tbl         ordnet Tabellen an
              eqn         setzt Mathematik
              pic         zeichnet Diagramme
              refer       verarbeitet Literaturverweise
              soelim      bearbeitet »eingelesene« Eingabedateien vor
              grn         stellt gremlin(1) Diagramme dar
              chem        zeichnet chemische Struturformeln mittels pic
              gperl       füllt groff- Register und Zeichenketten mittels perl(1)
              glilypond   bettet LilyPond- Notenblätter ein
              gpinyin     erleichtert die Eingabe von chinesischem Mandarin mittels Hanyu Pinyin

       Ein  nur bei GNU roff(7) verfügbarer Präprozessor ist preconv(1) , der diverse Eingabekodierungen in eine
       für GNU troff(1) verständliche konvertiert.  Wird  dieser  verwandt,  dann  wird  er  vor  allen  anderen
       Präprozessoren ausgeführt.

       Die meisten Präprozessoren schließen den Inhalt zwischen einem Paar von charakteristischen Merkmalen ein.
       Jedes  solches  Merkmal  muss  am  Anfang  der  Eingabezeile  vorkommen  und  den Punkt als Steuerzeichen
       verwenden. Leerzeichen und Tabulatoren dürfen dem Steuerzeichen  nicht  folgen  oder  vor  dem  Ende  der
       Eingabezeile  sein.  Wird  von  diesen Regeln abgewichen, dann kann der Präprozessor diese Merkmale nicht
       mehr erkennen. Merkmale werden im Allgemeinen in der Präprozessorausgabe beibehalten und  durch  troff(1)
       nachfolgend als Makros interpretiert. Der Präprozessor ideal ist in groff noch nicht verfügbar.

                                 ┌──────────────┬─────────────────┬────────────────┐
                                 │ Präprozessor │ Anfangsmerkmal  │  Endemerkmal   │
                                 ├──────────────┼─────────────────┼────────────────┤
                                 │     chem     │     .cstart     │     .cend      │
                                 │     eqn      │       .EQ       │      .EN       │
                                 │     grap     │       .G1       │      .G2       │
                                 │     grn      │       .GS       │      .GE       │
                                 │    ideal     │       .IS       │      .IE       │
                                 │              │                 │      .IF       │
                                 │     pic      │       .PS       │      .PE       │
                                 │              │                 │      .PF       │
                                 │              │                 │      .PY       │
                                 │    refer     │       .R1       │      .R2       │
                                 │     tbl      │       .TS       │      .TE       │
                                 ├──────────────┼─────────────────┼────────────────┤
                                 │  glilypond   │ .lilypond start │ .lilypond stop │
                                 │    gperl     │   .Perl start   │   .Perl stop   │
                                 │   gpinyin    │  .pinyin start  │  .pinyin stop  │
                                 └──────────────┴─────────────────┴────────────────┘

   Makropakete
       Makrodateien  sind  roff(7)-Eingabedateien  und so entwickelt, dass sie selbst keine Ausgabe produzieren,
       sondern die Erstellung anderer roff(7)-Dokumente vereinfachen. Wenn eine Makrodatei an einem  Standardort
       installiert wurde und für die Verwendung durch die Allgemeinheit geeignet ist, dann heißt sie Makropaket.

       Makropakete  können  vor  allen  roff(7)  -Eingabedokumenten  mit  der Option -m geladen werden. Das GNU-
       roff(7) -System implementiert die bekanntesten Makropakete für AT&T troff(1) auf eine kompatible Art  und
       erweitert  sie.  Diese  haben  ein-  oder  zweibuchstabige Namen, die von der intensiven Durchführung der
       Namensökonomie der frühen Unix-Kultur stammen, ein prägnanter Ansatz, der zur Kennzeichnung vieler Pakete
       in der allgemeinen Anwendung führt, wobei der nroff(1) - und -Optionsbuchstabe zu  ihrem  Aufruf  führte.
       Manchmal  ergab  das  Wortspiele,  wie  bei  »man«  (kurz  für  »manual«  (Handbuch))  und selbst mit dem
       Optionsstrich, wie im Falle des Pakets s, besser bekannt als ms oder sogar -ms.

       Makropakete dienen einer Reihe von Zwecken. Manche  sind  »vollumfängliche«  Pakete,  die  neben  anderen
       grundsätzlichen  Aufgaben die Verantwortung für Seitenlayout übernehmen und ihr eigenes Lexikon an Makros
       zum Dokumentenaufbau definieren. Jedes dieser Pakete steht alleine und ein bestimmtes Dokument kann davon
       höchstens eines nutzen.

       an     wird zum Aufbau von Handbuchseiten in dem aus Version 7 Unix (1979)  stammenden  Format  verwandt;
              siehe groff_man(7) Es kann auf der Befehlszeile mit -man angegeben werden.

       doc    wird zum Aufbau von Handbuchseiten in dem aus 4.3BSD-Reno (1990) stammenden Format verwandt; siehe
              groff_mdoc(7). Es kann auf der Befehlszeile mit -mdoc angegeben werden.

       e      ist  die  Allzweck-Makrosammlung  aus  Berkeley,  entwickelt  als  Alternative  zu  AT&Ts s; siehe
              groff_me(7) Es kann auf der Befehlszeile mit -me angegeben werden.

       m      implemetiert das von der  AT&A-Makrosammlung  der  zweiten  Generation  für  allgemeine  Dokumente
              verwandte  Format,  ein  Nachfolger von s; siehe groff_mm(7). Es kann auf der Befehlszeile mit -mm
              angegeben werden.

       om     (immer »mom« genannt) ist ein von Peter Schaffter speziell für GNU- roff(7) geschriebenes modernes
              Paket. Im mom-HTML-Handbuch finden  Sie  eine  ausführliche  Dokumentation.  Sie  –  mom  hat  die
              weibliche Anrede – kann auf der Befehlszeile als -mom angegeben werden.

       s      ist  das  ursprüngliche  Allzweck-Dokumentenformat  von  AT&T;  siehe groff_ms(7). Es kann auf der
              Befehlszeile mit -ms angegeben werden.

       Andere sind ergänzend. Zum Beispiel ist andoc ein Wrapper-Paket speziell für GNU- roff(7) , das  erkennt,
       ob das Dokument das man- oder das mdoc-Format benutzt, und das entsprechende Makropaket lädt. Es kann auf
       der Befehlszeile mit -mandoc angegeben werden. Ein man(1) -Bibliotheksprogramm kann diese Makrodatei dazu
       verwenden,  das  Laden  des  korrekten  Makropakets  zu  delegieren.  Es  ist  daher für man selbst nicht
       notwendig, den Inhalt eines Dokumentes zu durchsuchen, um das Problem zu entscheiden.

       Viele Makropakete erweitern die Funktion der vollumfänglichen Pakete oder von  roff(7)  -Dokumenten,  die
       solch  ein  Paket nicht einsetzen – letztere werden manchmal als »roh« charakterisiert. Diese Hilfspakete
       werden zusammen mit Details der Makrodatei-Benennung und -Ablage in groff_tmac(5) beschrieben.

   Formatierer
       Der Formatierer, das Programm, das die Eingabe der Sprache roff(7) interpretiert, ist troff(1) Er  bietet
       die Funktionalitäten der AT&T troff(1) und nroff(1) sowie viele Erweiterungen. Die Befehlszeilenoption -C
       schaltet  troff(1) in den Kompatibilitätsmodus, der versucht, das klassische roff(7) so gut wie praktisch
       möglich zu emulieren, um das Formatieren von Dokumenten, die für ältere Systeme  geschrieben  wurden,  zu
       ermöglichen.

       Ein  Shellskript,  nroff(1) , emuliert das Verhalten des klassischen AT&T nroff. Es versucht, die Ausgabe
       korrekt basierend auf der Locale zu kodieren, entlastet den Benutzer  davon,  das  Ausgabegerät  mit  der
       Option  -T  anzugeben  und  ist  daher  für die Verwendung als Terminalausgabegerät praktisch, wie das im
       nächsten Unterabschnitt beschrieben wird.

       GNU troff(1)  erstellt  die  Ausgabe  in  einer  Geräte-unabhängigen  aber  dennoch  Geräte-wahrnehmenden
       Seitenbeschreibungssprache, die in groff_out(5) ausführlich beschrieben wird.

   Ausgabegeräte
       Die  Ausgabe  von  troff(1)  wird für ein bestimmtes Ausgabegerät formatiert, das typischerweise über die
       Option -T des Formatierers oder eines  Frontends  bestimmt  wird.  Falls  weder  diese  Option  noch  die
       Umgebungsvariable  GROFF_TYPESETTER  verwandt  wird, ist das Vorgabegerät ps. Ein Ausgabegerät kann eines
       der folgenden sein:

       ascii    für Teminals, die den Zeichensatz und die -kodierung ISO/IEC 646:1991 IRV  verwenden,  die  auch
                als US-ASCII bekannt ist.

       cp1047   für Terminals, die den Zeichensatz und die -kodierung der IBM-Codeseite 1047 verwenden.

       dvi      für das DVI-Format von TeX.

       html
       xhtml    für HTML- bzw. XHTML-Ausgabe.

       latin1   für Terminals, die den Zeichensatz und -kodierung ISO Latin-1 (ISO/IEC 8859-1) verwenden.

       lbp      für CaPSL-Drucker von Canon (Laserdrucker der Serien LBP-4 und LBP-8).

       lj4      für HP-LaserJet4- oder andere PCL5-kompatible Drucker.

       pdf      für PDF-Ausgabe.

       ps       für PostScript-Ausgabe.

       utf8     für Terminals, die den Zeichensatz ISO/IEC 10646 (»Unicode«) in der UTF-8-Kodierung verwenden.

       X75      zur  Vorschau  mittels gxditview(1) in einer Auflösung von 75 DPI und einer Basistypgröße von 10
                Punkt.

       X75-12   zur Vorschau mittels gxditview(1) in einer Auflösung von 75 DPI und einer Basistypgröße  von  12
                Punkt.

       X100     zur  Vorschau mittels gxditview(1) in einer Auflösung von 100 DPI und einer Basistypgröße von 10
                Punkt.

       X100-12  zur Vorschau mittels gxditview(1) in einer Auflösung von 100 DPI und einer Basistypgröße von  12
                Punkt.

   Postprozessoren
       Jedes  Programm,  das  die Ausgabe von GNU- troff(1) interpretiert, ist ein Postprozessor. Die durch GNU-
       roff(7) bereitgestellten Postprozessoren sind Ausgabetreiber, die ein Dokument zum Anschauen oder Drucken
       vorbereiten. Postprozessoren für andere Zwecke, wie Seitenumsortierung  oder  statistische  Messungen  in
       einem Dokument, sind denkbar.

       Jeder   Ausgabetreiber  unterstützt  ein  oder  mehrere  Ausgabegeräte,  von  denen  jedes  seine  eigene
       Gerätebeschreibungsdatei hat. Ein Gerät bestimmt seinen Postprozessor mit der Direktive postpro in seiner
       Gerätebeschreibungsdatei, siehe groff_font(5). Die Option -X setzt diese Auswahl außer  Kraft  und  führt
       dazu, dass gxditview(1) als Ausgabetreiber agiert.

       grodvi(1)
              stellt dvi bereit.

       grohtml(1)
              stellt html und xhtml bereit.

       grolbp(1)
              stellt lbp bereit.

       grolj4(1)
              stellt lj4 bereit.

       gropdf(1)
              stellt pdf bereit.

       grops(1)
              stellt ps bereit.

       grotty(1)
              stellt ascii, cp1047, latin1 und utf8 bereit.

       gxditview(1)
              stellt X75, X75-12, X100 und X100-12 bereit und kann zusätzlich eine Vorschau von ps durchführen.

   Werkzeuge
       GNU roff(7) enthält eine Sammlung von Hilfswerkzeugen.

       gdiffmk(1)
              kennzeichnet die Unterschiede zweier roff(7) -Eingabedateien.

       grog(1)
              leitet den groff-Befehl ab, den ein Dokument benötigt.

       Eine  Reihe  von  Hilfswerkzeugen bereiten Schriftbeschreibungen vor, und ermöglichen es dem Formatierer,
       sie bei der Erstellung der Ausgabe für ein bestimmtes Gerät zu verwenden.

       addftinfo(1)
              fügt Informationen zu AT&T-troff-Schriftbeschreibungsdateien hinzu, damit diese mit GNU-  troff(1)
              genutzt werden können.

       afmtodit(1)
              erstellt Schriftbeschreibungsdateien für PostScript-Type-1-Schriften.

       pfbtops(1)
              übersetzt  eine  PostScript-Typ-1-Schrift aus dem Format PFB (Printer Font Binary) in PFA (Printer
              Font ASCII), das dann von afmtodit(1) interpretiert werden kann.

       hpftodit(1)
              erstellt Schriftbeschreibungsdateien für die Famile der HP LaserJet 4-Drucker.

       tfmtodit(1)
              erstellt Schriftbeschreibungsdateien für das TeX-DVI-Gerät.

       xtotroff(1)
              erstellt Schriftbeschreibungsdateien für X-Windows-System-Kernschriften.

       Ein Werkzeugtrio, das mit der Präprozessorsprache roff(7) erstelltes Material in  graphische  Bilddateien
       umwandelt.

       eqn2graph(1)
              wandelt eine eqn-Gleichung in ein zugeschnittenes Bild um.

       grap2graph(1)
              wandelt ein pic-Diagramm in ein zugeschnittenes Bild um.

       pic2graph(1)
              wandelt ein pic-Diagramm in ein zugeschnittenes Bild um.

       Eine  weitere  Gruppe  an  Programmen  arbeitet  mit bibliographischen Datendateien, die vom Präprozessor
       refer(1) verwandt werden.

       indxbib(1)
              erstellt invertierte Indizes für bibliographische  Datenbanken,  beschleunigt  Nachschlageaktionen
              auf ihnen.

       lkbib(1)
              durchsucht die Datenbanken.

       lookbib(1)
              durchsucht die Datenbanken interaktiv.

Rückgabewert

       groff  beendet  sich mit einem Fehlerstatus, falls es beim Auswerten seiner Argumente ein Problem gab und
       mit einem erfolgreichen Status, falls entweder die Option -h oder  --help  angegeben  wurde.  Andernfalls
       führt  groff  eine  Befehlssequenz zur Verarbeitung seiner Eingabe aus; falls sich alle Befehle innerhalb
       der Befehlssequenz erfolgreich beenden, macht groff dies auch. Falls nicht, kodiert der  Exit-Status  von
       groff  eine Zusammenfassung der aufgetretenen Probleme; dabei wird Bit 0 gesetzt, falls sich ein Programm
       mit einem Fehlerstatus beendete, Bit 1, falls ein Programm durch ein Signal  beendet  wurde  und  Bit  2,
       falls  ein Befehl nicht ausgeführt werden konnte. (Falls daher alle drei Unglücksfälle die Befehlssequenz
       betreffen würden, würde sich groff mit dem Status 2^0 + 2^1 + 2^2 = 1+2+4 = 7  beenden.)  Um  Fehler  bei
       Problemen  in der Sequenz zu untersuchen, könnte der erneute Aufruf von groff mit der Option -V hilfreich
       sein und dabei die berichtete Befehlssequenz in separate Stufen herunterzubrechen und dann den von  jedem
       Befehl ausgegebenen Exit-Status und die Diagnosemeldungen zu untersuchen.

Umgebung

       Normalerweise  ist  in  Umgebungsvariablen,  die  mit  PATH  enden,  das Trennzeichen für Pfadangaben der
       Doppelpunkt; dies kann abhängig vom Betriebssystem variieren. Zum Beispiel nutzt Windows stattdessen  ein
       Semikolon.

       GROFF_BIN_PATH
              Dieser  Suchpfad,  gefolgt  von  PATH,  wird  zum Auffinden von Befehlen, die von groff ausgeführt
              werden, genutzt. Falls er nicht gesetzt ist, wird das Installationsverzeichnis  der  GNU-  roff(7)
              -Programme /usr/bin vor PATH durchsucht.

       GROFF_COMMAND_PREFIX
              GNU   roff(7)  kann  zum  Kompilierungszeitpunkt  so  konfiguriert  werden,  dass  es  Präfixe  an
              Programmnamen anwendet, die es bereitstellt und für die es ein Gegenstück in AT&T  troff(1)  gibt,
              so dass Namenskollisionen zur Laufzeit vermieden werden. Das Standardpräfix ist leer.

              Wird  es  verwandt,  ist dieses Präfix typischerweise der Buchstabe »g«. Beispielsweise würde GNU-
              troff(1) als gtroff installiert. Neben troff(1) gilt der Präfix auch für die Formatierer  nroff(1)
              , den Präprozessoren eqn, grn, pic, refer, tbl und soelim(1) und die Hilfswerkzeuge indxbib(1) und
              lookbib(1).

       GROFF_ENCODING
              Der  Wert  dieser  Variable  wird  an die Option -e des Präprozessors preconv(1) übergeben, um die
              Zeichenkodierung der Eingabedateien auszuwählen. Die  Existenz  dieser  Variablen  impliziert  die
              Option  -k  von  groff. Falls gesetzt aber leer ruft groff preconv(1) ohne eine Option -e auf. Die
              Option -K von groff setzt GROFF_ENCODING außer Kraft.

       GROFF_FONT_PATH
              Sucht  nach  dem  Verzeichnis  der  Geräte-  und  Schriftbeschreibungsdateien  für  das   gewählte
              Ausgabegerät in dieser Liste von Verzeichnissen. Siehe troff(1) und groff_font(5).

       GROFF_TMAC_PATH
              Sucht Makrodateien in dieser Liste von Verzeichnissen. Siehe troff(1) und groff_tmac(5).

       GROFF_TMPDIR
              Erstellt   temporäre  Dateien  in  diesem  Verzeichnis.  Falls  diese  Variable  nicht,  aber  die
              Umgebungsvariable TMPDIR gesetzt ist, werden temporäre  Dateien  stattdessen  dort  erstellt.  Auf
              Windows-Systemen  werden  die  Umgebungsvariablen  TMP  und  TEMP  (in  dieser  Reihenfolge)  auch
              überprüft, falls keine der vorangegangenen gesetzt ist. Andernfalls werden  temporäre  Dateien  in
              /tmp erstellt. Die Befehle refer(1) , grohtml(1) und grops(1) verwenden temporäre Dateien.

       GROFF_TYPESETTER
              Setzt  das  Standard-Ausgabegerät.  Falls  leer oder nicht gesetzt wird ps verwandt. Die Option -T
              setzt GROFF_TYPESETTER außer Kraft.

       SOURCE_DATE_EPOCH
              Ein    Zeitstempel    (ausgedrückt    in    Sekunden    seit    der    Unix-Epoch),    der     als
              Ausgabeerstellungszeitstempel anstelle der aktuellen Zeit verwandt werden soll. Die Zeit wird beim
              Start  des  Formatierers mittels gmtime(3) und asctime(3) in eine menschenlesbare Form umgewandelt
              und in Registern für die Verwendung durch Dokumente und Makropakete gespeichert.

       TZ     Die bei der Umwandlung der aktuellen Zeit in eine menschenlesbare Form  zu  verwendende  Zeitzone;
              siehe  tzset(3).  Falls  SOURCE_DATE_EPOCH  verwandt wird, wird sie immer unter Annahme von UTC in
              menschenlesbare Form konvertiert.

Beispiele

       roff(7) -Systeme sind am besten für die  Formatierung  von  Handbuchseiten  bekannt.  Sobald  ein  man(1)
       -Bibliotheksprogramm  eine  Handbuchseite  gefunden  hat, kann es den Befehl groff ganz ähnlich wie folgt
       aufrufen:
              groff -t -man -Tutf8 /usr/share/man/man1/groff.1
       Das  Bibliotheksprogramm  wird  auch  die  Ausgabe  mittels  Pipe   an   ein   Seitenbetrachtungsprogramm
       weiterleiten,  das  die SGR-Terminal-Maskiersequenzen, die groff für Fettdruck, Unterstreichen und Kursiv
       ausgibt, nicht interpretieren könnte, siehe den nachfolgenden Abschnitt »Beschränkungen«.

       Um eine roff(7) -Datei mittels der Präprozessoren tbl und pic sowie dem Makropaket me zu verarbeiten  wie
       dies  Benutzer  des  klassischen  AT&T-  roff(7) gewohnt sind, muss eine Befehlssequenz geschrieben (oder
       geskriptet) werden.

              pic foo.me | tbl | troff -me -Tutf8 | grotty

       Bei groff kann diese Pipe auf den entsprechenden Befehl gekürzt werden.

              groff -p -t -me -T utf8 foo.me

       Ein einfachere Möglichkeit, dies zu erreichen, ist grog(1) zu verwenden,  um  den  Präprozessor  und  die
       Makrooptionen  zu  erraten,  und das Ergebnis durch Verwendung der Befehlssubstitutionsfunktionalität der
       Shell auszuführen.

              $(grog -Tutf8 foo.me)

       Jede  Befehlszeilenoption  an  einen  Postprozessor  muss  mit  der  benötigten  Anzahl  an  einleitenden
       Gedankenstrichen  »-«  angegeben  werden,  da  groff  die  Argumente  unverändert  an  den  Postprozessor
       weitergibt; dies ermöglicht die Übergabe einer beliebigen Anzahl an Argumenten.  Um  zum  Beispiel  einen
       Titel an den Postprozessor gxditview weiterzureichen, sind die Shell-Befehle
              groff -X -P -title -P 'Probelauf' mydoc.t
       und
              groff -X -Z mydoc.t | gxditview -title 'Probelauf' -
       äquivalent.

Beschränkungen

       Bei  der seitenweisen Anzeige für die Geräte ascii, cp1047, latin1 und utf8 könnten Programme wie more(1)
       und less(1) Befehlszeilenoptionen benötigen, um bestimmte Terminal-Maskiersequenzen korrekt zu handhaben;
       siehe grotty(1).

       In EBCDIC-Umgebungen wie OS/390 Unix sind die Ausgabegeräte ascii und latin1 nicht  verfügbar.  Umgekehrt
       ist  das  Gerät  cp1047  auf  Systemen, die auf den Zeichenkodierungsnormen ISO/IEC 646 oder ISO/IEC 8859
       basieren, nicht verfügbar.

Installationsverzeichnisse

       GNU groff installiert Dateien an verschiedene Stellen, abhängig von seiner  Konfiguration  zum  Zeitpunkt
       der Kompilierung. Auf dieser Installation werden die folgenden Orte verwandt:

       /etc/X11/app-defaults
              Application defaults directory for gxditview(1).

       /usr/bin
              Verzeichnis, das die ausführbaren Befehle von groff enthält

       /usr/share/groff/1.23.0/eign
              Liste häufiger Wörter für indxbib(1)

       /usr/share/groff/1.23.0
              Verzeichnis für Datendateien

       /usr/dict/papers/Ind
              Vorgabeindex für lkbib(1) und refer(1)

       /usr/share/doc/groff-base
              Dokumentationsverzeichnis

       /usr/share/doc/groff-base/examples
              Beispielverzeichnis

       /usr/share/groff/1.23.0/font
              Schriftenverzeichnis

       /usr/share/doc/groff-base/html
              HTML-Dokumentationsverzeichnis

       /usr/lib/font
              Veraltetes Verzeichnis für Schriftarten

       /usr/share/groff/site-font
              Lokales Schriftartenverzeichnis

       /usr/share/groff/site-tmac
              Lokales Verzeichnis für Makropakete (tmac-Dateien)

       /usr/share/groff/1.23.0/tmac
              Verzeichnis für Makropakete (tmac-Dateien)

       /usr/share/groff/1.23.0/oldfont
              Schriftartenverzeichnis für die Kompatibilität mit älteren Versionen von groff; siehe grops(1)

       /usr/share/doc/groff-base/pdf
              PDF-Dokumentationsverzeichnis

   Makroverzeichnis von groff
       Die  meisten durch GNU- roff(7) bereitgestellten Makropakete sind in /usr/share/groff/1.23.0/tmac für die
       Installation entsprechend dieses Dokuments gespeichert.  Als  grundsätzliche  Regel  gilt,  dass  mehrere
       Verzeichnisse  nach  Makrodateien  durchsucht  werden; siehe  %troff(1) Sie finden in groff_tmac(5) einen
       Katalog an von GNU roff(7) bereitgestellten Makrodateien.

   groff-Geräte- und Schriftbeschreibungsverzeichnis
       Von GNU roff(7) bereitgestellte Geräte- und Schriftbeschreibungsdateien sind in  /usr/share/groff/1.23.0/
       font  bei  einer  Installation  entsprechend dieses Dokuments gespeichert. Als grundsätzliche Regel gilt,
       dass  mehrere  Verzeichnisse  nach  Geräte-  und  Schriftbeschreibungsdateien  durchsucht  werden;  siehe
       troff(1). Zu den Formaten dieser Dateien siehe groff_font(5).

Verfügbarkeit

       Sie    erhalten    Links    zu    groff-Veröffentlichungen   zum   Herunterladen,   seinem   Quell-Depot,
       Diskussions-Mailinglisten,  eine  Unterstützungs-Problemdatenbank  und  weitere  Informationen  auf   der
       groff-Seite der GNU-Website.

       Eine  freie  Implementierung  des Präprozessors grap, geschrieben von Ted Faber kann auf der grap-Website
       gefunden werden. groff unterstützt nur dieses grap.

Autoren

       groff (sowohl die Frontend-Befehle als auch das Gesamtsystem) wurde primär von  James Clark  geschrieben.
       Zu  diesem  Dokument  haben  auch  Clark,  Trent  A.  Fisher Werner Lemberg , Bernd Warken und G. Branden
       Robinson beigetragen.

Siehe auch

       Groff: Die GNU-Implementierung von Troff, von Trent  A.  Fisher  und  Werner  Lemberg,  ist  das  primäre
       groff-Handbuch. Sie können es interaktiv mit »info groff« lesen.

       Einführung, Geschichte und weitere Lektüre:
              roff(7)

       Betrachter für groff- (und geräteunabhängige AT&T-
              troff(1) -)Dokumente: gxditview(1)

       Präprozessoren:
              chem(1),   eqn(1),  neqn(1),  glilypond(1),  grn(1),  preconv(1),  gperl(1),  pic(1),  gpinyin(1),
              refer(1), soelim(1), tbl(1)

       Makropakete und paketspezifische Hilfswerkzeuge:
              groff_hdtbl(7),  groff_man(7),  groff_man_style(7),   groff_mdoc(7),   groff_me(7),   groff_mm(7),
              groff_mmse(7)  (nur  in  schwedischen  Locales),  mmroff(1), groff_mom(7), pdfmom(1), groff_ms(7),
              groff_rfc1345(7), groff_trace(7), groff_www(7)

       Verwaltungswerkzeuge für bibliographische Datenbanken:
              indxbib(1), lkbib(1), lookbib(1)

       Sprache, Konventionen und GNU-Erweiterungen:
              groff(7), groff_char(7), groff_diff(7), groff_font(5), groff_tmac(5)

       Sprache der Zwischenausgabe:
              groff_out(5)

       Formatierprogramm:
              troff(1)

       Formatierer-Wrapper:
              nroff(1), pdfroff(1)

       Postprozessoren für Ausgabegeräte:
              grodvi(1), grohtml(1), grolbp(1), grolj4(1), gropdf(1), grops(1), grotty(1)

       Hilfswerkzeuge für die Schrift-Unterstützung:
              addftinfo(1), afmtodit(1), hpftodit(1), pfbtops(1), tfmtodit(1), xtotroff(1)

       Hilfswerkzeuge für die Graphikumwandlung:
              eqn2graph(1), grap2graph(1), pic2graph(1)

       Hilfswerkzeuge für die Darstellung von Unterschieden:
              gdiffmk(1)

       Hilfswerkzeug »groff guess«:
              grog(1)

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Florian Rehnisch <fr@fm-r.eu>, Frank Stähr  <der-
       storch-85@gmx.net>,    Mario    Blättermann    <mario.blaettermann@gmail.com>,   Dr.   Tobias   Quathamer
       <toddy@debian.org> und Helge Kreutzmann <debian@helgefjell.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder  neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
       Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.

Groff 1.23.0                                       4. Mai 2025                                          groff(1)