使用ms宏和eqn,是否有办法自动给Groff中的方程编号,类似于LaTeX?
发布于 2020-12-08 13:44:34
我没有看到任何内置于ms宏的内容,但是您可以始终使用基本的troff数字寄存器。
在开始文件中添加数字寄存器的定义和初始化(从0开始,增量为1):
.nr myeqn 0 1无论你用它做什么
\n+[myeqn]它将被增量并被当前值所取代。例如
.EQ
e sup {i pi} + 1 = 0
.EN
.sp -1
.tl ' ' '... \n+[myeqn]'如果您想再次使用相同的数字,则改为\n[myeqn]。
发布于 2023-04-06 17:13:54
我的答案是正确的,但不完全是惯用的。
有一种比处理sp和tl请求更简单的方法来获得方程右侧设置的等式号。
ms的EQ宏接受(可选)参数,如果您给它第二个参数,ms将把它设置在方程显示的右边。
.EQ [align [label]]
.EN Demarcate an equation to be processed by the eqn preprocessor.
The equation is centered by default; align can be C, L, or I to
(explicitly) center, left‐align, or indent it by \n[DI],
respectively. If specified, label is set right‐aligned.前面的内容来自groff中的groff_ms(7)页面。groff 1.22.4中的页面版本没有那么全面。
所以你可以更简单地重写我的解决方案。
.nr myeqn 0 1
.\" ...stuff...
.EQ C \n+[myeqn]
e sup {i pi} + 1 = 0
.ENhttps://unix.stackexchange.com/questions/623448
复制相似问题