【问题标题】:Writing portable man pages编写可移植的手册页
【发布时间】:2017-04-26 20:33:01
【问题描述】:

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

【问题讨论】:

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

标签: manpage troff


【解决方案1】:

如果您查看https://www.troff.org/macros.html,在man 下,它列出了编写手册页的两个指南。

一般来说,他们都建议避免使用额外的预处理器,例如 tblpiceqn,尤其是在您希望最大限度地提高可移植性时。

手册页使用an 宏包。这样做是因为当您使用-m 宏选项调用它时,它显示为troff -man。要查找由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 包的一部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-14
    • 2013-01-10
    • 2023-01-24
    • 2020-01-12
    • 2015-08-05
    • 2017-01-18
    • 2021-07-06
    • 1970-01-01
    相关资源
    最近更新 更多