Linux 文档编写全攻略
二、使用DocBook类型建文档
和groff相比DocBook是应该跟容易移植的格式,它可以从单一的源文件生成多种格式的输出文件:Postscript、HTML、DVI、PDF、TeY、LyX、手册页面、纯文本。
大多数Linux用户一定从Linux的丰富的Howto文档获益匪浅。大部分Linux Howto 文档就是用 DocBook 格式完成的。主要包括:
•Linux Documentation Project (www.linuxdoc.org/LDP/LDP.Author.Guide )
•Gnome Documentation Project (www.developer.gnome.org/projects/gdp )
•KDE Documentation Project (www.kde.org/documentation )
•Open Source Writers Group (www.oswg.org/ )
•FreeBSD Documentation Project (www.freebsd.org/docproj )
DocBook 是一套由 O'Reilly 和 HaL Computer Systems 开发,并由结构化信息标准促进组织(http://www.oasis-open.org/ ) 维护的 SGML/XML 方言。虽然它是为与计算机软硬件相关的文档设计的,但是他的内容十分丰富,因此采用 DocBook 标准来开发自己的方言将会十分容易。而且 DocBook 是一项知名度很高的工业标准,有很多工具可以用来编辑和操作 DocBook。
DocBook是一种文档工具,广义上来说和写字板、Word、WPS之类的工具是一样的。但DocBook是一种所想即所得的文档编写工具,DocBook用标签来标识你所要的文档排版效果,用样式表来输出你所要的文档格式,可实现一次输入,多种输出。基于sgml和xml标签的灵活性,可多人协同工作。而Word之类的是所见即所得的工具,基于可视化的操作,你在电脑显示器上看到的排版效果就是你打印出来的效果。这类文档在编写时可能很方便,但修改和维护起来就很麻烦,而且不能实现多种输出。DocBook的应用范围很泛,特别在开源领域,开源技术很多文档都是用DocBook写的。
1、 建立一个DocBook格式文档
下面是一个标准的 DocBook 文档——"Hello World!"。虽然它还非常简单,但是麻雀虽小,五脏俱全。它完全是一个合格的DocBook文档。
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.2//EN">
<article>
<articleinfo>
<title>Hello World!</title>
<author><firstname>曹</firstname><surname>江华</surname></author>
</articleinfo>
<sect1><title>Hello World!</title> Hello world!这是我的第一个Linux下的 DocBook 文档。
</para>
</sect1>
</article>
解释如下。
第一行:文档类型声明(Document Type Declaration),声明该文档的根元素是 article。是这个文档的唯一公开标识,指明使用那种DTD(DocBook V4.2)。
第二行:列出文档中的唯一的根元素——article
第五行:在此处添上作者的姓名
第七行:第一章开始。根元素article可以包含任意多的sect1元素。
第十一行:本文档的根元素结束。
DocBook 文档是自解释的,通过一个个元素(由尖括号封闭起来的),定义了清晰的文档结构。这片文档是一篇文章(article),它有自己的标题——“Hello World!”,和作者的姓名,它还包含一个章节(sect1),章节的标题是“Hello World!”,内容则是简单的一句话。我们把这个文件保存为 helloworld.sgml。
上面介绍的是以 DocBook 标记文档只是过程的一半,因为Docbook本身并不控制格式。有时候,您可能希望与其它人共享文档,这意味着需要将 DocBook 转换成另一种格式。该过程的第二步是让文档文件通过语法分析器后输出可读的文件格式,例如 HTML格式。
SGMLtools-Lite 是 SGML 处理软件的 Python 前端。基本上,SGMLtools-Lite 简化了将 DocBook 文档转换成希望分发的一种或几种格式的过程。安装 SGMLtools-Lite 之前。还需要安装其它三个包 - SGML ISO 实体声明以及 DocBook DTD 和 DSSSL 样式表。如果您是 Linux 用户,那么根据您使用的发行版和在安装期间选择的选项,系统上已安装了原始 SGMLtools 包。
也可以从http://sourceforge.net/projects/sgmltools-lite/ 上下载源码或 RPM包,然后按照指令安装它们。
