Groff

格羅夫定理

  • July 17, 2019

有沒有辦法groff -ms自動編號環境?舉個例子,這裡有兩個定理,我想編號為 1.1 和 2.1。

.TL
Lorem ipsum
.NH
Introduction
\# First thm
.PP
.B Theorem .
Consectetur sed sunt nulla aute dolor elit ut quis.
.EQ
e sup {i pi} + 1 = 0
.EN
\# End of the first thm
.NH
Main result
.PP
.B Theorem .
Magna dolore.
.EQ
e sup {i tau} = 1
.EN

假設您已經查看.NH 2了給您第二級編號的標題,這不是您想要的,您可以使用您自己的編號寄存器,如手冊頁.IP縮進段落範例所示。

在開頭添加數字寄存器的定義和初始化(從 0 開始,以 1 遞增)

.nr mytheorem 0 1

那麼無論你在哪裡使用它

\n+[mytheorem]

它將被遞增並替換為目前值。例如使用

.PP 
\*[SN]\n+[mytheorem]
.B Theorem .

其中SN是節號(來自.NH)。.nr您可以通過再次給出定義來重置寄存器。您可以在開始時將上述內容放入宏中:

.de myTHEOREM
.PP
\\*[SN]\\n+[mytheorem]
.B Theorem .
..

並每次呼叫它:

.myTHEOREM
Magna dolore.
.EQ
e sup {i tau} = 1
.EN

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