manprint(1) manprint(1)
NAME
manprint - Referenzseiten seitenidentisch auf einem Zeilendrucker
drucken
SYNTAX
manprint [section] title
BESCHREIBUNG
Beim Arbeiten mit Referenzseiten (sog. "Manpages") hat der Benutzer
mitunter den Wunsch, sich eine online mit dem Kommando man(1) ange-
zeigte Manpage zum leichteren Lesen auch ausdrucken zu können. Dafür
ist das Kommando manprint geeignet.
manprint gibt Referenzseiten formatiert auf die Standardausgabe aus.
Insofern funktioniert es nicht anders als das gewohnte man-Kommando.
Im Unterschied zu diesem kann man jedoch die Ausgabe des Kommandos
manprint mittels einer Pipe problemlos an einen Zeilendrucker weiter-
leiten und damit die Referenzseite exakt so ausdrucken, wie sie am
Bildschirm angezeigt wurde (z. B. die Referenzseite diff3(1): manprint
diff3 | lp -dlineprinter). Dies ist mit der Ausgabe des man-Kommando
in der Form nicht sinnvoll, da hierbei die Seitenvorschübe der Druck-
ausgabe nicht mit den Seitenvorschüben der Bildschirmausgabe überein-
stimmen und so ein unschönes Druckbild entsteht.
Analog zum man-Kommando können auch beim manprint-Kommando Abschnitt-
skennungen oder Aliasnamen als Argumente angegeben werden. Darunter
ist folgendes zu verstehen.
Abschnittskennungen
Man kann mit dem manprint-Kommando ebenso wie mit dem man-Kommando
eine Referenzseite über die Abschnittskennung gezielt aufrufen. Dies
ist nützlich, wenn eine Referenzseite unter dem selben Namen (title)
in mehreren Abschnitten (section) vorhanden ist und sich nur durch die
Abschnittskennung unterscheidet. Die Abschnittskennung steht immer in
den runden Klammern hinter dem Namen einer Referenzseite oder auch am
rechten und linken Rand in jeder Kopfzeile am Bildschirm. Ein Beispiel
für eine Referenzseite mit mehreren Abschnittskennungen ist "iconv",
das es in drei Varianten gibt: iconv(1) [Benutzerkommando], iconv(3C)
[C-Funktion] und iconv(5) [Header-Datei]. Wenn Sie die Referenzseite
mit manprint iconv aufrufen, werden Ihnen nacheinander alle drei
Beschreibungen am Bildschirm angezeigt (oder - bei Weiterleitung auf
einen Drucker - ausgedruckt). Wenn Sie dagegen nur eine dieser drei
Beschreibungen interessiert - z. B. die der C-Funktion -, müssen Sie
vor dem Namen der Referenzseite erst die Abschnittskennung angeben:
manprint 3C iconv.
Analog verhält es sich mit Referenzseiten, die es in verschiedenen
"Versionen" gibt, etwa von AT&T und Berkeley (UCB). Auch hier kann man
die gewünschte Beschreibung gezielt aufrufen, etwa beim Kommando
"chown", das es in zwei Ausprägungen von AT&T [chown(1)] und von UCB
[chown(1-ucb)] gibt. Wenn Sie z. B. nur die UCB-Beschreibung
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
manprint(1) manprint(1)
interessiert, müssen Sie die Referenzseite folgendermaßen aufrufen:
manprint 1-ucb chown.
Siehe hierzu auch Beispiel 2 und den Abschnitt HINWEISE.
Aliasnamen
Von Aliasnamen spricht man, wenn nach dem ersten Eintrag (= title) im
Abschnitt NAME noch weitere, durch Kommata getrennte Namen folgen.
Beispiele für derartige Aliasnamen finden sich etwa in der Referenz-
seite string(3C), wo dem primären Sammelnamen "string:" noch 15 wei-
tere Namen von Routinen (von strcat bis strstr) folgen. Ein anderes
typisches Beispiel ist auch die Referenzseite enable(1), die noch den
Aliasnamen disable enthält.
Der praktische Nutzen dieser Aliasnamen ist darin zu sehen, daß eine
Referenzseite nicht nur über ihren Hauptnamen (title), sondern auch
über einen Aliasnamen aufgerufen werden kann. So muß ein Benutzer
nicht wissen, unter welchem Hauptnamen er eine Beschreibung findet,
sondern kann einfach den ihm bekannten Aliasnamen angeben. Dann wird
sowohl beim Aufruf manprint string als auch etwa beim Aufruf manprint
strstr immer ein und dieselbe Referenzseite string(3C) ausgegeben, die
die gewünschte Beschreibung enthält.
Siehe hierzu auch Beispiel 3.
ARGUMENTE
section Optionale Angabe einer bestimmten Abschnittskennung für eine
Referenzseite, z. B. 2, 1M, 3C, 1-ucb, 1M-vxfs usw.
Wird keine Abschnittskennung angegeben und existieren meh-
rere Referenzseiten mit gleichem Namen, aber unterschiedli-
chen Abschnittskennungen, dann werden alle Referenzseiten
dieses Namens ausgegeben.
title Obligatorische Angabe eines Haupt- oder Aliasnamens einer
Referenzseite, z. B. ksh, rksh, ctype, isalpha usw.
Es sollten bei der Angabe des Namens keine Platzhalter (*,
?) verwendet werden.
Hinweis: Zwei gleichnamige Referenzseiten, die auch dieselbe
Abschnittskennung haben könnten (da sie in verschiedenen
Handbüchern gedruckt sind), kommen nicht vor.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
manprint(1) manprint(1)
BEISPIELE
Beispiel 1: Ausgabe in Datei umlenken und ausdrucken
manprint uniq | tee uniq.man | lp -dlineprinter
Die Referenzseite des Kommandos uniq(1) wird mit tee(1) in die Datei
uniq.man umgelenkt und gleichzeitig auf einem Zeilendrucker gedruckt.
Beispiel 2: Abschnittskennung angeben
Zur Schnittstelle mount existieren 6 verschiedene Referenzseiten:
Beschreibungen zum mount-Kommando für unterschiedliche Dateisysteme
(hs, ufs, vxfs usw.) und eine Beschreibung des Systemaufrufs mount(2).
Da Sie sich nur für das mount-Kommando des Veritas-Dateisystems inter-
essieren, geben Sie gezielt die Abschnittskennung 1M-vxfs als erstes
Argument an:
manprint 1M-vxfs mount | lp -dlineprinter
Es wird nur die spezifische Veritas-Referenzseite mount(1M-vxfs)
gedruckt. Würden Sie die Spezifikation 1M-vxfs weglassen, würden alle
6 mount-Referenzseiten auf einmal gedruckt werden.
Beispiel 3: Aliasnamen angeben
Sie möchten sich die Beschreibung der Logarithmus-Routine log1p ausge-
ben lassen, wissen jedoch nicht, in welcher Referenzseite sie
beschrieben ist. Gleichwohl geben sie ein:
manprint log1p | lp -dlineprinter
Es wird die Referenzseite exp(3M) gedruckt, die unter mehreren Alias-
namen (expf, expm1, cbrt bis sqrtf) auch log1p aufführt und
beschreibt.
HINWEISE
Fontauszeichnungen (Kursiv- und Courier-Schrift) im Text einer Refe-
renzseite bleiben in der Ausgabe erhalten und werden vom Zeilendrucker
gemäß seinen Möglichkeiten wiedergegeben, das heißt, sie werden in der
Regel mit Unterstreichungen gedruckt. Es empfiehlt sich allerdings
nicht, die Ausgabe in eine Datei umzulenken und anschließend die Font-
auszeichnungen zu entfernen. Dies wäre leicht möglich mit dem Kommando
col -b. Mit der Option -b des col-Kommandos werden alle Escape-Sequen-
zen entfernt [vgl. col(1)]. Dies hat zur Folge, daß auch die Escape-
Sequenzen für den Seitenvorschub mitentfernt werden und dadurch die
Druckausgabe nicht mehr seitenidentisch mit der Bildschirmausgabe des
man-Kommandos ist.
Hinsichtlich der Angabe einer Abschnittskennung (Argument section) ist
eine Einschränkung zu beachten. In folgendem Fall arbeiten man wie
auch manprint nicht zuverlässig:
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
manprint(1) manprint(1)
manprint 1 echo
Es wird nicht - wie gewünscht - nur die Referenzseite echo mit der
Abschnittskennung "1" [also echo(1)] ausgegeben, sondern noch die wei-
teren Referenzseiten echo(1-ucb) und echo(1F). Das heißt, die
Abschnittskennung "1" wird unzulässigerweise expandiert. Umgekehrt
wird aber z. B. mit der Angabe:
manprint 1-ucb echo
allein die gewünschte Referenzseite echo(1-ucb) ausgegeben.
SIEHE AUCH
man(1).
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98