LEXGROG
Section: Dienstprogramme für Handbuchseiten (1)
Updated: 2023-01-08
Index
Return to Main Contents
BEZEICHNUNG
lexgrog - wertet die Kopfzeilen-Information von Handbuchseiten aus
ÜBERSICHT
lexgrog [-m|-c] [-dfw?V] [-E Kodierung]
Datei ...
BESCHREIBUNG
lexgrog ist eine Lex-Implementierung des traditionellen
Dienstprogramms »groff guess« für die Auswertung von Handbuch-Quelldateien
oder vorformatierten »Cat«-Seiten. Es liest die Liste der Dateien in seiner
Befehlszeile. Seine Ausgabe sind entweder die Namen und Beschreibungen in
der Form, die apropos und whatis verwenden oder die Liste der für die
Seite erforderlichen Vorverarbeitungs-Filter für die Erzeugung von
Nroff/Troff oder aber beides.
Wenn seine Eingabe schlecht formatiert ist, wird lexgrog »parse failed«
ausgeben. Das können externe Programme nutzen, die Handbuchseiten auf
Fehlerfreiheit prüfen. Wenn einer der Eingabedateien von lexgrog »-« ist,
wird das Programm von der Standardeingabe lesen. Ist eine Eingabedatei
komprimiert, wird sie automatisch dekomprimiert.
OPTIONEN
- -d, --debug
-
Ausgabe von Debug-Informationen
- -m, --man
-
Interpretiert die Eingabe als Handbuchseiten-Quelltext. Sind weder --man
noch --cat gewählt, greift diese Voreinstellung.
- -c, --cat
-
Interpretiert die Eingabe als vorformatierte Handbuchseiten
(»Cat-Seiten«). Die Optionen --man und --cat schließen sich
gegenseitig aus.
- -w, --whatis
-
Zeigt den Namen und die Beschreibung aus dem Kopf der Handbuchseite so an,
wie sie von apropos und whatis verwendet werden. Das ist die
Voreinstellung, wenn weder --whatis noch --filters gewählt wurde.
- -f, --filters
-
Zeigt die Liste der erforderlichen Filter für die Aufbereitung der
Handbuchseite vor der Formatierung mit Nroff oder Troff.
- -E Kodierung, --encoding Kodierung
-
Statt des vermuteten Zeichensatzes der Seite die Kodierung verwenden.
- -?, --help
-
Hilfetext anzeigen und beenden
- --usage
-
zeigt eine kurze Anwendungszusammenfassung an und beendet das Programm.
- -V, --version
-
Versionsinformation anzeigen und beenden
EXIT-STATUS
- 0
-
erfolgreiche Programmausführung
- 1
-
Fehler beim Aufruf
- 2
-
Lexgrog konnte eine oder mehrere seiner Eingabedateien nicht auswerten.
BEISPIELE
$ lexgrog man.1
man.1: "man - an interface to the system reference manuals"
$ lexgrog -fw man.1
man.1 (t): "man - an interface to the system reference manuals"
$ lexgrog -c whatis.cat1
whatis.cat1: "whatis - display manual page descriptions"
$ lexgrog broken.1
broken.1: parse failed
WAS BEDEUTET PARSEN
Die Programme mandb und lexgrog verwenden den gleichen
Code. mandb durchsucht den Abschnitt BEZEICHNUNG am Anfang jeder
Handbuchseite nach den Namen und den jeweils beschriebenen
Funktionen. Obwohl der Parser (das Auswerteprogramm) ziemlich tolerant ist,
weil er sich mit etlichen verschiedenen, früher genutzten Formaten befassen
muss, kann er ab und zu die gewünschte Information nicht entnehmen.
Wenn Sie die den traditionellen Makrosatz »man« verwenden, wird ein
gültiger BEZEICHNUNGs-Abschnitt ungefähr so aussehen:
-
.SH BEZEICHNUNG foo \- Programm, das etwas erledigt
Einige Handbuchanzeigeprogramme erfordern das '\-q genau in dieserReihenfolge. mandb ist toleranter, aber für die Kompatibilität mit
anderen Systemen ist es dennoch eine gute Idee, den Backslash (umgekehrten
Schrägstrich) beizubehalten.
Auf der linken Seite können verschiedene, durchs Kommas getrennte Namen
stehen. Namen mit Leerzeichen werden ignoriert, um bestimmte »krankhafte«
Verhaltensweisen bei schlecht formatierten BEZEICHNUNGs-Abschnitten zu
vermeiden. Der Text auf der rechten Seite unterliegt keinen Formvorschriften
und kann sich über mehrere Zeilen erstrecken. Wenn in der Handbuchseite
mehrere Merkmale mit unterschiedlichen Beschreibungen dokumentiert werden,
wird das folgende Format verwendet:
-
.SH BEZEICHNUNG foo, bar \- Programme, die etwas erledigen .br baz \- Programme, die in der Hängematte liegen
(Anstelle des Zeilenvorschub-Makros .br kann auch ein Makro verwendet
werden, das einen neuen Absatz beginnt, z.B. .PP.)
Wird der von BSD abgeleitete mdoc-Makrosatz verwendet, hat ein gültiger
BEZEICHNUNGs-Abschnitt ungefähr das folgende Aussehen:
-
.Sh BEZEICHNUNG .Nm foo .Nd Programm, das etwas erledigt
Es gibt mehrere häufige Gründe dafür, dass die von Whatis durchgeführte
Auswertung fehlschlägt. Manchmal ersetzen Autoren von Handbuchseiten '.SH
BEZEICHNUNG' durch '.SH MEINPROGRAMM'. Dann kann mandb den
Abschnitt nicht finden, aus dem es die benötigten Informationen entnehmen
soll. Manchmal verfassen Autoren einen Abschnitt BEZEICHNUNG, aber
platzieren dort anstelle von 'Name \- Beschreibung'. frei
formatierten Text. Es sollten aber beliebige, dem oben Beschriebenen
ähnliche Schreibweisen akzeptiert werden.
SIEHE AUCH
apropos(1),
man(1),
whatis(1),
mandb(8)
ANMERKUNGEN
Lexgrog versucht, Dateien mit ».so«-Anfragen auszuwerten, hat aber nur
dann Aussicht auf Erfolg, wenn die Seiten ordnungsgemäß in einer
Handbuchseiten-Hierarchie installiert sind.
AUTOR
Der von Lexgrog verwendete Code für die Auswertung von Handbuchseiten
wurde geschrieben von:
Wilf. (G.Wilford@ee.surrey.ac.uk).Fabrizio Polacco (fpolacco@debian.org).Colin Watson (cjwatson@debian.org).
Colin Watson hat sowohl das aktuelle Befehlszeilen-Frontend als auch die
Handbuchseite geschrieben.
FEHLER
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db
Index
- BEZEICHNUNG
-
- ÜBERSICHT
-
- BESCHREIBUNG
-
- OPTIONEN
-
- EXIT-STATUS
-
- BEISPIELE
-
- WAS BEDEUTET PARSEN
-
- SIEHE AUCH
-
- ANMERKUNGEN
-
- AUTOR
-
- FEHLER
-
This document was created by
man2html,
using the manual pages.
Time: 12:59:09 GMT, May 18, 2024