groff编写man页

Posted yaocai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了groff编写man页相关的知识,希望对你有一定的参考价值。

groff 是大多数 Unix 系统上所提供的流行的文本格式化工具 nroff/troff 的 GNU 版本。它一般用于编写手册页,即命令、编程接口等的在线文档。在本文中,我们将给你展示如何使用 groff 编写你自己的 man 手册页。

在 Unix 系统上最初有两个文本处理系统:troff 和 nroff,它们是由贝尔实验室为初始的 Unix 所开发的(事实上,开发 Unix 系统的部分原因就是为了支持这样的一个文本处理系统)。这个文本处理器的第一个版本被称作 roff(意为 “runoff”——径流);稍后出现了 troff,在那时用于为特定的排字机Typesetter生成输出。nroff 是更晚一些的版本,它成为了各种 Unix 系统的标准文本处理器。groff 是 nroff 和 troff 的 GNU 实现,用在 Linux 系统上。它包括了几个扩展功能和一些打印设备的驱动程序。

groff 能够生成文档、文章和书籍,很多时候它就像是其它的文本格式化系统(如 TeX)的血管一样。然而,groff(以及原来的 nroff)有一个固有的功能是 TeX 及其变体所缺乏的:生成普通 ASCII 输出。其它的系统在生成打印的文档方面做得很好,而 groff 却能够生成可以在线浏览的普通 ASCII(甚至可以在最简单的打印机上直接以普通文本打印)。如果要生成在线浏览的文档以及打印的表单,groff 也许是你所需要的(虽然也有替代品,如 Texinfo、Lametex 等等)。

groff 还有一个好处是它比 TeX 小很多;它所需要的支持文件和可执行程序甚至比最小化的 TeX 版本都少。

groff 一个特定的用途是用于格式化 Unix 的 man 手册页。如果你是一个 Unix 程序员,你肯定需要编写和生成各种 man 手册页。在本文中,我们将通过编写一个简短的 man 手册页来介绍 groff 的使用。

像 TeX 一样,groff 使用特定的文本格式化语言来描述如何处理文本。这种语言比 TeX 之类的系统更加神秘一些,但是更加简洁。此外,groff 在基本的格式化器之上提供了几个宏软件包;这些宏软件包是为一些特定类型的文档所定制的。举个例子, mgs 宏对于写作文章或论文很适合,而 man 宏可用于 man 手册页。

 

以上是关于groff编写man页的主要内容,如果未能解决你的问题,请参考以下文章

nroff / groff无法正确转换utf-8编码文件

您如何查看刚刚创建的手册页?

groff - groff 文档排版系统前端

Linux From Scratch(LFS11.0)构建 LFS 系统 - Groff-1.22.4

Linux From Scratch(LFS11.0)构建 LFS 系统 - Groff-1.22.4

LFS 系列从零开始 DIY Linux 系统:构建 LFS 系统 - Groff-1.22.3