
Ich verwende die Groff-Man-Makros, um allgemeine Dokumentationen zu erstellen (keine Manpages im eigentlichen Sinne), da sie leicht zu erlernen und zu verwenden sind. Ich hätte allerdings gern die Kontrolle über den Postscript-Seitenkopf als Freitext.
DerGroff-Handbuchsagt:
Verwenden Sie die Datei man.local für lokale Erweiterungen der Man-Makros oder für Stiländerungen.
Makro:
.PT
Kontrollieren Sie den Inhalt der Kopfzeilen. Normalerweise werden in der Kopfzeile auf beiden Seiten der Befehlsname und die Abschnittsnummer sowie in der Mitte das optionale fünfte Argument für TH gedruckt.
Wie mache ich das in der Praxis?
Antwort1
Der Wortlaut ist unklar, aber es wird empfohlen, die man.local
Datei selbst zu ändern, anstatt die in dieser Datei gefundenen Makros zu überschreiben.
Ein guter Ausgangspunkt ist die Dokumentation:5.21 Makros schreiben(Das GNU Troff-Handbuch). Darin wird gezeigt, wie mandefinierenMakros.
Die eigentlichen zu untersuchenden Makros sind stark versionsabhängig. In Debian finde ich das PT
Makro im groff-base
Paket, in
/usr/share/groff/1.21/tmac/an-old.tmac
als
.\" Redefine these to customize the header & footer
.
.de1 PT
. tl '\\*[an-title](\\*[an-section])'\\*[an-extra3]'\\*[an-title](\\*[an-section])'
..
Es übergibt benannte Variablen als ersten Parameter an .tl
. Um zu sehen, was es .tl
ist (grep ist Ihr Freund) und was es tut, ist etwas Arbeit erforderlich (erwähntHier):
Ist Ihnen bewusst, dass
.tl
(Titel) aus drei Teilen besteht: links, Mitte und rechts?
Andererseits hat sich die Dokumentation von groff im Laufe der Jahre verbessert: Sie finden ".tl" in derIndex.
In der Regel werden Sie Folgendes feststellen:
- Die meisten Makros (die Sie beim Lesen dieser Dateien finden) sind undokumentiert
- Das Durchsuchen der Liste der Makros (grep
-w
hilft) ist die einzige Möglichkeit, ein bestimmtes Makro zu finden - Es gibt gerätespezifische Versionen einiger Makros, die generische Versionen überschreiben
Antwort2
Wenn Sie eine Vorstellung davon bekommen möchten, wie Sie geänderte Makros verwenden, die dazu gedacht sind, Manpages als Buch auszudrucken, können Sie sich die Makros ansehen, die zum Drucken der Solaris-Handbücher verwendet werden:
https://sourceforge.net/p/schillix-on/schillix-on/ci/default/tree/usr/src/cmd/troff/troff.d/tmac.d/
Vergleichen Sie die Datei „an“ mit der Makrodatei „ansun“. Letztere wird zum Drucken von Büchern verwendet.
Beachten Sie, dass dies Makrosätze für das ursprüngliche Troff und nicht für den Troff-Klon „groff“ sind. Solange Groff jedoch kompatibel ist, sollte es funktionieren.