Docbook写作指南

简介: DocBook提供了一个使用SGML/XML撰写结构化文档的系统。这个系统非常适合于计算机类的文章、书籍、论文等的出版,当然并不仅仅限于计算机类。DocBook已经被Linux、FreeBSD等众多的项目制定作为文档撰写格式,并且有越来越多的组织和个人开始使用。
1. 概述

DocBook提供了一个使用SGML/XML撰写结构化文档的系统。这个系统非常适合于计算机类的文章、书籍、论文等的出版,当然并不仅仅限于计算机类。DocBook已经被Linux、FreeBSD等众多的项目制定作为文档撰写格式,并且有越来越多的组织和个人开始使用。

本文只是一个简要指南。收集了一些DocBook的学习资料,和我自己的一些心得。

如果想快速了解DocBook,可以看这里:DocBook的HelloWorld起步。
2. DocBook语法

学习DocBook,基本的语法是一定要掌握的,即便你使用所见即所得编辑器。下面是学习DocBook语法的一些资源:

    *

      Writing Documentation Using DocBook

      一个非常好的英文Docbook语法教程。也可以作为常备的速查手册。

    *

      DocBook 助你完成传世之作

      中文的教程。入门必看。有助于了解DocBook的全貌。
    *

      DocBook学习

      中文语法教程。也提到了DocBook格式转换的内容,特别是XSLT部分,是比较好的中文资料。

3. DocBook编辑器

DocBook可以用任何文本编辑器来编辑。但是为了提高生产力,我们可以使用一些更方便的工具。

    *

      DocBookAuthoringTools

      这是一个DocBook书写工具的列表。比较全面。

但上述列表还并不能大全。至少还遗漏了Kate,Quanta Plus和OpenOffice(当然还有其他一些形形色色的XML编辑器)。前面两个都是KDE的项目,只能在KDE环境下运行。OpenOffice编辑DocBook我还没有用过。

    *

      Kate编辑DocBook XML文档

      这是我2002年翻译的一篇文章。
    *

      Quanta as a Docbook Editor

      Quanta Plus是一个不错的Html/XML编辑器,用来编辑DocBook也非常好。

我推荐的编辑器:

    *

      XMLMind XML Editor

      这是我现在用的DocBook编辑器。所见即所得方式。基于Java,标准版免费,可以跨平台使用。不过我是在Linux环境用。

      我用过不少的DocBook编辑器,这是我看见过最好用的。
    *

      Quanta Plus

      非所见即所得方式。基于KDE。

4. 转换DocBook

DocBook格式的文件可以转换成很多文件格式来发布。比如:Html,Rtf,Pdf,甚至Word。

在 DocBook学习 和 DocBook助你完成传世之作 两篇文章中,介绍了 OpenJade和Saxon两种转换工具和它们的使用方法。

按照我很早以前的印象,使用OpenJade将DocBook转换成RTF和Html,中文是正常的。使用其他工具,基本上多少会遇到一点中文方面的麻烦。

如果你使用XMLMind XML Editor标准版,那么在DocBook菜单下面已经内置了转换成Html的工具(标准版不能将DocBook转换成其他格式)。不过XMLMind转换出来的html文件编码都是iso-8859-1的。

另外,你还可以关注一下在Windows下使用的Chinese DocBook Environment(CDBE) 。

下面介绍我自己使用的转换方法。环境是Ubuntu Linux。

4.1. DocBook->Html

4.1.1. 环境准备

    *

      安装xsltproc

    *

      安装docbook-xsl

    *

      建立合适的xsl

      找到我们刚才安装的docbook-xsl中的docbook.xsl,把它copy成docbook_utf8.xsl(因为我的系统语言设定是utf icon_cool.gif

cp /path/html/docbook.xsl /path/html/docbook_utf8.xsl

      编辑这个docbook_utf8.xsl,找到:

<xsl: output method="html"
            encoding="ISO-8859-1"
            indent="no"/>

      替换为:

<xsl: output method="html"
            encoding="utf8"
            indent="yes"/>

      在这段话之后,我们添加:

<xsl: param name="html.stylesheet" select="'style.css'"></xsl:param>
<xsl: param name="table.borders.with.css" select="1"></xsl:param>
<xsl: param name="l10n.gentext.language" select="'zh_cn'"></xsl:param>
<xsl: param name="admon.graphics" select="1"></xsl:param>
<xsl: param name="section.autolabel" select="1"></xsl:param>
<xsl: param name="section.label.includes.component.label" select="1"></xsl:param>
<xsl: param name="ulink.target" select="'_blank'"></xsl:param>

      这些是样式表参数,它的具体意义请参考HTML Parameter Reference,这是DocBook Xsl文档的一部分。
    *

      建立转换脚本

      创建新文件/usr/bin/docbook2html,内容如下:

#/bin/sh
xsltproc /path/html/docbook_utf8.xsl $*

      将其设置为可执行文件。

4.1.2. 转换步骤

docbook2html YourDocBook.xml>YourDocBook.html

这样,我们就得到了html结果。

这个Html可以使用同级目录下的style.css来美化输出。

你可以去网上找那些docbook转化出来的html(根据docbook的风格是很容易识别的),然后把它们使用的css下载下来使用就可以了。

比如:

    *

       http://www.sagehill.net/docbookxsl/
    *

       http://worldhello.net/doc/docbook_howto/index.html
    *

       http://pyrecord.freezope.org/docbook/index.html

我使用的是XMLMind XML Editor转换出来的html所带的css。
目录
相关文章
|
9月前
轻松写作利器——Markdown常用语法介绍
家人们,今天我想向大家介绍一种广泛应用于写作和文档编辑的工具——Markdown。作为一种简单而高效的标记语言,Markdown在技术圈和写作领域越来越受欢迎。无论你是写程序代码、博客文章还是撰写文档,Markdown都能帮助你以简洁的方式展现内容。让我们一起来了解Markdown的常用语法吧!
70 0
轻松写作利器——Markdown常用语法介绍
Markdown 写作的 N 个小技巧
Markdown 写作的 N 个小技巧
|
XML JSON JavaScript
开始自己的 markdown 写作
前言 本身使用 markdown 已经好几年了,算是比较了解。因此写下自己对 markdown 的一些理解。 本文可能不太适合新手,不过主要是些观点,所以相对来说还算好接受。如果理解本文有难度,建议先去学习基础语法。
124 0
|
Linux Python Windows
Markdown实用教程
Markdown 是用来编写结构化文档的一种纯文本格式,它使我们在双手不离开键盘的情况下,可以对文本进行一定程度的格式排版。markdown语法是通用的,很多写作平台都是支持markdown的,比如简书,这就意味着做自媒体的你写一次文章,就能很快同步到各大平台,而不需要要考虑不同写作平台之间排版的兼容性,从而兼顾各大平台的流量,让你能专注于写作。
150 0
Markdown实用教程
LaTeX 入门学习21
插入图片和表格-表格
|
Linux iOS开发 MacOS
LaTeX 入门学习4
实现中英文混排
|
Java Android开发 数据格式
阅读手札:《Android开发艺术探索》(二)
在 《阅读手札:《Android开发艺术探索》(一)》中主要介绍了Activity的生命周期以及异常处理、启动模式、意图过滤器。本篇文章主要介绍的是《Android开发艺术探索》的第二章 IPC机制 个人评语:第二章的内容非常多(第二章近90页内容),内容有IPC机制基本概念;序列化Serializable、Parcelable;Binder;实现IPC的多种方式;Binder连接池内容非常多,但还是要耐着性子分析完。
1450 0
|
Android开发
阅读手札:《Android开发艺术探索》(一)
《Android开发艺术探索》这本书在Android开发界内可谓口碑极佳,他的作者任玉刚在百度担任Android资深开发工程师。我的一个初中朋友现在深圳百度做Android研发,上周去深圳找他玩的时候碰巧在他电脑桌上看到了这本书,他谈到这本书内容多、有深度且知识点非常系统值得反复阅读。
1333 0
《完全写作指南》读书笔记
       写作有六个要素:写作的目标,读者,头脑风暴,组织结构,初稿,修改。正常情况下,这六个要素以线性方式出现在写作的过程中,先拟定文章的目标,考虑文章的读者是哪些,然后开始头脑风暴,确定文章的组织结构,接着动笔完成初稿,再修改直至成型。
970 0