
我使用 groff man 巨集來產生通用文件(實際上不是手冊頁),因為它們很容易學習和使用。不過,我希望將 postscript 頁面標題控制為自由文字。
這格羅夫手冊說:
使用檔案 man.local 對 man 巨集進行本機擴充或進行樣式變更。
宏:
.PT
控制標題的內容。通常,標題在兩側列印命令名稱和節號,並在中間列印 TH 的可選第五個參數。
在實踐中我該如何做到這一點?
答案1
措辭晦澀,但建議是修改文件man.local
本身,而不是覆蓋該文件中找到的宏。
一個好的起點是文件:5.21 編寫宏(GNU Troff 手冊)。這展示瞭如何定義宏。
實際要研究的巨集在很大程度上依賴版本。在 Debian 中,我PT
在套件中找到了該宏groff-base
,位於
/usr/share/groff/1.21/tmac/an-old.tmac
作為
.\" Redefine these to customize the header & footer
.
.de1 PT
. tl '\\*[an-title](\\*[an-section])'\\*[an-extra3]'\\*[an-title](\\*[an-section])'
..
它將命名變數作為第一個參數傳遞給.tl
.要了解它.tl
是什麼(grep 是你的朋友)以及它的作用需要一些工作(提到過這裡):
你知道
.tl
(標題)由左、中、右三部分組成嗎?
另一方面,groff 的文檔多年來得到了改進:您可以在指數。
通常,您會發現:
- 大多數巨集(您在閱讀這些文件時遇到的)都沒有記錄
- grep 遍歷巨集清單(grep
-w
有幫助)是尋找特定巨集的唯一方法 - 某些巨集的裝置特定版本會覆寫通用版本
答案2
如果您想了解如何使用修改後的巨集來將手冊頁列印成書,您可能想檢查用於列印 Solaris 手冊的巨集:
https://sourceforge.net/p/schillix-on/schillix-on/ci/default/tree/usr/src/cmd/troff/troff.d/tmac.d/
將“an”檔案與“ansun”巨集檔案進行比較。後者用於印刷書籍。
請注意,這些是原始 troff 的宏集,而不是 troff 克隆「groff」的宏集,但只要 groff 相容,它就應該可以工作。