Manpage 编写便携式手册页

Manpage 编写便携式手册页,manpage,troff,Manpage,Troff,如果我想编写可在不同类Unix系统之间移植的手册页,我应该使用哪种源语言标准?或者我可以简单地假设gnutroff(groff)在任何地方都可用吗?如果你看一下,在man下,它列出了两个编写手册页的指南 詹斯·施维克哈特 拉里·科拉尔 一般来说,他们都建议避免使用额外的预处理器,例如tbl、pic或eqn,尤其是在您希望最大限度地提高可移植性的情况下 手册页使用宏包。这是在您使用显示为troff-man的-m宏选项调用它时完成的。要查找由an宏包定义的宏,您应该查找与tmac.an*(对于U

如果我想编写可在不同类Unix系统之间移植的手册页,我应该使用哪种源语言标准?或者我可以简单地假设gnutroff(groff)在任何地方都可用吗?

如果你看一下,在
man
下,它列出了两个编写手册页的指南

  • 詹斯·施维克哈特
  • 拉里·科拉尔
一般来说,他们都建议避免使用额外的预处理器,例如
tbl
pic
eqn
,尤其是在您希望最大限度地提高可移植性的情况下

手册页使用
宏包。这是在您使用显示为
troff-man
-m
宏选项调用它时完成的。要查找由
an
宏包定义的宏,您应该查找与
tmac.an*
(对于UNIX/BSD系统)或
an*.tmac
(对于Linux系统)匹配的文件。例如,在RHEL/CentOS上:

/usr/share/groff/1.18.1.4/tmac/an.tmac which refers to
/usr/share/groff/1.18.1.4/tmac/andoc.tmac which refers to
/usr/share/groff/1.18.1.4/tmac/an-old.tmac which defines most of the macros

这些文件是groff软件包的一部分。

troff通常在希望显示手册页的unix-y安装中可用。@pvg仍然不清楚groff中哪些功能是可移植的。GNU软件倾向于添加任何可能对某人有用的东西。我认为manpages使用了一个相当有限的子集,一些Unix使用groff(Linux,OSX)的事实是偶然的。OpenBSD似乎在几年前就编写了自己的格式化程序,因为OpenBSD。但我认为最明智的做法是使用许多高级系统中的一个,这些系统知道如何吐出手册页。它们似乎生成了足够便携的手册页。