DocBook 编辑软件

我使用 Emacs 编辑 DocBook 源文件,使用docbook-xml-mode.el这个扩展,在.emacs文件中加入下面配置:

;---------- Docbook
(require 'docbook-xml-mode) 1

(add-hook 'docbook-xml-mode-hook 2
	  (function (lambda ()
                  (setq outline-regexp "<!\\-\\-\\*+") 3
		      (outline-minor-mode)4
		      (hide-body))))5  

1

加载 docbook-xml-mode

2

添加 docbook-xml-mode 钩子,运行下面代码

3

<!--*识别为大纲标识

4

启动大纲模式作为辅模式

5

隐藏所有内容,只显示主干

关于大纲模式的使用参见Emacs 大纲模式

 

Emacs 还有一个 nxml-mode.el 也可以用来编写 DocBook,它的优点是可以自动完成 DTD 验证,有语法方面的错误能够实时提示,但是对于多文件的工程支持不够好;而且它插入 XML 标记是通过自动补全,不如 docbook-xml-mode.el 方便,DTD 验证和语法检查其实可以由 xsltproc 完成,所以我不用它。

还有一些工具可以生成 docbook-xml 的源文件,如 Emacs-muse,但毕竟不够灵活;通过语法简单的 muse 源文件生成语法复杂的 docbook-xml,所能拥有的特性不会超出 muse 的表现范围,不能够利用 DocBook 强大的能力