如何控制 groff man 巨集中標題的內容

如何控制 groff man 巨集中標題的內容

我使用 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 相容,它就應該可以工作。

相關內容