Manpages

NAAM

lexgrog - hoofdinginformatie in manpagina’s ontleden

SAMENVATTING

lexgrog [-m|-c] [-dfw?V] [-E encoding] file ...

BESCHRIJVING

lexgrog is een implementatie van het traditionele “groff guess”-hulpprogramma in lex. Het leest de bestandslijst in de opdrachtregel als man-paginabronbestanden of als gestructureerde “cat”-pagina’s, en toont hun naam en beschrijving zoals deze in apropos en watis gebruikt worden.o De lijst bevat preprocessingfilters die vereist zijn door de man-pagina, voor het doorgegeven wordt aan nroff of troff of aan beide.

Als de invoer slecht gestructureerd is, dan zal lexgrog “parse failed” tonen; dit kan nuttig zijn voor externe programma’s die de man-pagina’s op juistheid controleren. Wanneer één van lexgrog’s invoerbestanden (lq-” is, dan wordt uit de standaardinvoer gelezen; als enig invoerbestand gecomprimeerd is, dan zal een gedecomprimeerde versie automatisch worden ingelezen.

OPTIES

-d, --debug

Foutinformatie tonen.

-m, --man

Invoer als man-paginabronbestanden ontleden. Dit is de standaard als --man noch --cat is opgegeven.

-c, --cat

Invoer als voorgestructureerde man-pagina’s ontleden (“cat pages”). --man en --cat hoeven niet gelijktijdig opgegeven te worden.

-w, --whatis

De naam en beschrijving van de hoofding van man-pagina’s tonen zoals deze worden gebruikt door apropos and watis. Dit is de standaard als --whatis noch --filters opgegeven is.

-f, --filters

De lijst met filters tonen die nodig zijn om de man-pagina voor te bewerken voordat nroff of troff deze opmaakt.

-E codering, --encoding codering

De gekozen karakterset voor de pagina forceren naar codering.

-?, --help

Een hulptekst tonen en stoppen.

--usage

Print a short usage message and exit.

-V, --version

Versieinformatie tonen.

STOPSTATUS

0

Programma correct uitgevoerd.

1

Gebruiksfout.

2

lexgrog kon een of meer van de invoerpagina’s niet ontleden.

VOORBEELDEN

$ 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

WATIS-ONTLEDING

mandb (die dezelfde broncode als lexgrog gebruikt) ontleedt het NAAM-deel bovenaan iedere handleidingspagina, zoekend naar namen en beschrijvingen van de daarin gedocumenteerde functionaliteiten. Hoewel de parser vrij soepel is omdat het rekening moet houden met een aantal historisch gegroeide vormen, kan het soms falen bij het ophalen van de vereiste informatie.

Bij gebruik van de traditionele man-macroverzameling, ziet een correcte NAAM-sectie er ongeveer als volgt uit:

.SH NAME
foo \- program to do something

Sommige opmakers van man-pagina’s vereisen de ’\-’ precies zoals getoond; mandb is wat soepeler, maar vanwege compatibiliteit met andere systemen, is het toch een goed idee om de backslash te behouden.

Aan de linkerzijde zullen verschillende namen staan, gescheiden door komma’s. Namen die spaties bevatten worden genegeerd om pathologisch gedrag bij sommige, slecht-opgemaakte NAAM-secties te voorkomen. De tekst aan de rechterzijde is vrij en kan verdeeld worden over meerdere regels. Als meerdere functionaliteiten met verschillende beschrijvingen in dezelfde man-pagina’s zijn gedocumenteerd, wordt hiervoor de volgende vorm gebruikt:

.SH NAME
foo, bar \- programs to do something
.br
baz \- program to do nothing

(A macro which starts a new paragraph, like .PP, may be used instead of the break macro .br.)

Bij het gebruik van een mdoc-macroverzameling die is afgeleid van het BSD, ziet een correcte NAAM-sectie er als volgt uit:

.Sh NAME
.Nm foo
.Nd program to do something

Er zijn meerdere, veelvoorkomende redenen waarom ontleden van watis mislukt. Soms vervangen de auteurs van man-pagina’s ’.SH NAME’ door ’.SH MYPROGRAM’, waardoor mandb het deel niet kan vinden waaruit de benodigde informatie moet worden gehaald. Soms voegen auteurs wel de NAAM-sectie toe, maar gebruiken daarbij vrije tekst in plaats van ’name \- description’. Echter, iedere syntax die met het bovenstaande overeenkomt moet geaccepteerd worden.

ZIE OOK

apropos(1), man(1), whatis(1), mandb(8)

OPMERKINGEN

lexgrog poogt alleen bestanden met .so-verzoeken te ontleden, maar die kan dat alleen doen als de bestanden correct geïnstalleerd zijn in een man-paginastructuur.

AUTEUR

De broncode die gebruikt wordt door lexgrog om man-pagina’s te scannen is geschreven door:

Wilf. (G.Wilford [AT] ee.uk).
Fabrizio Polacco (fpolacco [AT] debian.org).
Colin Watson (cjwatson [AT] debian.org).

Colin Watson schreef de huidige reïncarnatie van de opdrachtregel-frontend, en ook deze man-pagina.

BUGS

https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db