5. 应该使用哪个宏包?

有许多专门为编写帮助手册而设计的宏包。通常它们位于 groff 宏目录 /usr/lib/groff/tmac 中。文件名是tmac.<something>,其中 <something> 是 groff 的 -m 选项的参数。当给出 `tmac.<something>' 选项时,Groff 将使用-m<something>`。通常,`-m' 和 `<something>' 之间的空格被省略,所以我们可以说 `groff -man',当我们使用tmac.an宏包格式化帮助手册时。这就是奇怪的名字 `tmac.an' 的原因。除了 tmac.an 之外,还有另一个流行的宏包,tmac.doc,它起源于加州大学伯克利分校。许多 BSD 帮助手册使用它,并且似乎加州大学伯克利分校已将其作为文档的标准。这些tmac.doc宏更灵活,但不幸的是,有些手册浏览器不会使用它们,而是总是调用groff -man。例如,我见过的所有xman程序都会在需要tmac.doc的帮助手册上出错。所以为了你自己好:使用tmac.an-- 使用任何其他宏包都被认为是有害的。tmac.andoc是一个伪宏包,它会查看源代码,然后加载tmac.antmac.doc。实际上,任何帮助手册浏览器都应该使用它,但到目前为止,并非所有浏览器都这样做,所以我们最好坚持使用古老的tmac.an。我从现在开始告诉你的任何关于宏的内容都只适用于tmac.an。如果你想使用tmac.doc宏,请查看教程示例,mdoc.samples。一些发行版(我听说)也附带 mdoc(7)、mdoc.samples(7) 和 groff_man(7)。

关于troff的权威资料,其中解释了所有宏,是 Troff 用户手册,可作为 htmlPostScript (ps, 760K)Portable Document Format (pdf, 240K) 获取。作者是 Jospeh F. Ossanna 和 Brian W. Kernighan,1992 年 11 月修订。AT&T 贝尔实验室已将其公开发布。不要忘记查看已故的伟大的 W. Richard Steven 的主页(以 Unix 网络编程 以及 TCP/IP Illustrated 三部曲而闻名),他也有一个 Troff 资源列表,包括tbl, eqn, pic和其他过滤器。