Fonts

groff ‘me’ 宏,但對標題等使用無襯線字型

  • March 6, 2019

我正在學習 troff 用於排版文件。我發現me開箱即用的宏既美觀又美觀,並且希望避免使用mom. me將所有內容預設為襯線字型,這對於封面和標題等較大的文本來說很難看。如何將這些段落的字型更改為無襯線字型?

我嘗試了.ft H其他.ft命令,但這些命令似乎都沒有做任何事情(它們與ms/一起使用mom)。

me宏使用以下groff字型位置來處理各種類型的文本:

  1. 普通文本字型
  2. (沒用過?)
  3. 標題字型章節字型

宏將在設置例如章節標題的文本時切換到使用在這些位置載入的字型,因此.ft宏將無效。你仍然可以使案例如

.sh 1 "\f(HBSection title"

為節標題切換到粗體無襯線字型,但節的編號仍將使用襯線字型。

宏文件設置了me許多參數,它們用於字型和點大小等,很多有趣的東西很容易通過更改一些數字寄存器之類的東西來修改,但不幸的是,這不是手冊所涵蓋的groff_me(7)。它也很好地隱藏在e.tmac宏文件中(由於該文件已刪除了註釋)。我必須閱讀源發行版e.tmac-u中的原始(未剝離)文件groff才能弄清楚:

.\"             *** PARAMETRIC INITIALIZATIONS ***
.
.
.rr x
.nr $v \n(.v00+\n(.sp-1/\n(.sp  \" vs as % of ps for .sz request
.nr $V \n($v                    \" same for displays & footnotes
.nr hm 4v                       \" header margin
.nr tm 7v                       \" top margin
.nr bm 6v                       \" bottom margin
.nr fm 3v                       \" footer margin
.nr tf 3                        \" title font: (real) Times Bold
.nr tp 10                       \" title point size
.hy 6
.nr bi 4m                       \" indent for blocks
.nr pi 5n                       \" indent for paragraphs
.nr pf 1                        \" normal text font
.nr pp 10                       \" normal text point size
.nr qi 4n                       \" indent for quotes
.nr qp -1                       \" down one point
.nr ii 5n                       \" indent for .ip's and .np's
.nr $m 1                        \" max number of columns
.nr $s 4n                       \" column separation
.nr sf 3                        \" section font -- Times Bold
.nr sp 10                       \" section title pointsize
.nr ss 12p                      \" section prespacing
.nr si 0                        \" section indent

要將部分和標題字型更改為粗體無襯線字型,請使用

.fp 3 HB

HB字型載入到位置 3。這將被.sh宏和其他人拾取。

例子:

.fp 3 HB
.bp
.sh 1 "Heading 1"
.lp
Text text.
.sh 2 "Heading 2"
.lp
Text text.

這會產生

從 groff 渲染的 PDF 輸出

引用自:https://unix.stackexchange.com/questions/504645