Ich mache meine erste "Man" -Seite und benutze es groff
, um es zu tun. Wenn ich es jedoch "kompiliere" und ansehe, nimmt es nur eine bestimmte Anzahl von Spalten in meinem Terminal ein. Ich habe versucht, andere Manpages für alle Fälle anzuzeigen, und sie erstrecken sich mit der Breite meines Terminals. Für ein visuelles Beispiel:
---------------------------------------
| stuff(1) stuff(1) |
| |
| NAME |
| a tool to do stuff but |
| it isn't really working |
| |
| DESCRIPTION |
| yadadyadyadyadyadyadydy |
| segfwefwefwefwe |
| |
| srgswrgwrg |
---------------------------------------
... und so weiter, hoffentlich kommen Sie auf die Idee. Die meisten Manpages haben die volle Breite.
Nachdem ich meine Manpage in eine Textdatei geschrieben habe (unter Verwendung der groff / nroff "Syntax"), mache ich das jetzt so:
groff -Tascii -man ./path/to/man | more
man
Seiten erhalten können, ohne den Schmerz der alten Toolchainronn
. Ich erinnere mich auch daran, dass die OpenBSD-Toolchain fürman
Seiten anders ist (ich habe jedoch keine wirkliche Vergleichsbasis). Hier istman mdoc
Antworten:
Ich habe
groff
beim Aufrufen überprüft, welcher Aufruf ausgeführt wirdman man
(wobei die gesamte Breite verwendet wird):Das Suchen nach dem
groff
Anruf führt zu folgenden Ergebnissen:Jetzt ändere ich die Größe meines xterm:
Daher gehe ich davon aus, dass die Argumente
-rLL
und-rLT
beeinflussen, welche Terminalbreitegroff
beim Kompilieren verwendet wird.quelle
groff
Manpage durchgesehen und sie erwähnt nichts über-rLL
oder-rLT
. Ich habetroff
nur für den Fall nachgesehen , weil ich weiß,groff
dass es anruft. Dann habe ich nur versucht, die Flags mit hinzuzufügen,119n
und es hat funktioniert, aber es gibt immer noch etwas Platz und es scheint sich nicht zu "dehnen" und der Terminalgröße zu entsprechen, eher wie eine statische Einstellung.man
nur 'dynamisch' die aktuelle Terminalbreite und liefert sie - dh bei meinem ersten Anruf war mein Terminal 171 Spalten breit und beim zweiten Anruf 119 Spalten breit.groff -Tascii -man ./path > /man/file
?gunzip -c /usr/share/man/man1/man.1.gz > man.1
,file man.1
man.1: troff or preprocessor input text
. Dies bedeutet, dass dergroff
Befehl beiman
jedem Aufruf sofort vom Befehl aufgerufen wird. Möglicherweise gibt es Systeme, die die Troff-Ausgabe zwischenspeichern (und möglicherweise nur die Ausgabe mit 80 Spalten unterstützen ...).Ich glaube, die meisten aktuellen Versionen von
man
do DoTheRightThing ™, wenn Sie Ihre Manpage als Argument mit einem Schrägstrich angeben:man ./stuff.1
quelle