是否可以使用groff执行算术?
假设我想计算当前的页面是什么,我现在在第2页。我可以通过以下方法获得下一页的编号:
.PP
Next page is number \n[.pn]它将编译为Next page is number 3。
如何执行算术以代替呈现:
.PP
Current page is ((\n[.pn]-1))变成Current page is 2?
发布于 2019-07-29 01:45:34
是的,groff可以执行算术。这在GNU格式(使用info groff或pinfo groff查看完整手册)的GNU格式的完整groff手册中有文档记录,手册页只是一个快速引用,完整的文档是Info格式的。
来自https://www.gnu.org/software/groff/manual/html_节点/Expressions.html
gtroff有其他语言共有的大多数算术运算符:
gtroff只提供整数算法。用于计算结果的内部类型是“int”,通常是32位有符号整数。
如上文所述,逻辑not运算符仅在if和while请求中工作。此外,它可能只出现在表达式的开头,并否定整个表达式。试图插入‘!’表达式中的运算符将产生“数字表达式预期”警告。这保持了与旧版本troff的兼容性。示例:.nr X 1 .nr Y 0 .\“这不像预期的.if (\nX)和(!\n是) .nop X。.\”只使用.if (\nX=1)和(n是=0) .nop X。
顺便说一下,info是标准的GNU文档查看器。pinfo是一种可供选择的查看器,它提供了一个更像“浏览器”的用户界面,类似于像lynx这样的文本web浏览器。我个人无法忍受info而使用pinfo。它可用于大多数发行版的预打包,源代码可在上面的pinfo链接中获得。
https://unix.stackexchange.com/questions/532631
复制相似问题