有没有办法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
答案1
假设您已经考虑.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