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强大的能力