我使用Emacs编辑DocBook源文件,使用docbook-xml-mode.el
这个扩展,在.emacs
文件中加入下面配置:
;---------- Docbook (require 'docbook-xml-mode)(add-hook 'docbook-xml-mode-hook
(function (lambda () (setq outline-regexp "<!\\-\\-\\*+")
(outline-minor-mode)
(hide-body))))
![]()
关于大纲模式的使用参见Emacs大纲模式
Emacs还有一个nxml-mode.el
也可以用来编写DocBook,它的优点是可以自动完成DTD验证,有语法方面的错误能够实时提示,但是对于多文件的工程支持不够好;而且它插入XML标记是通过自动补全,不如docbook-xml-mode.el
方便,DTD验证和语法检查其实可以由xsltproc完成,所以我不用它。
还有一些工具可以生成docbook-xml的源文件,如Emacs-muse,但毕竟不够灵活;通过语法简单的muse源文件生成语法复杂的docbook-xml,所能拥有的特性不会超出muse的表现范围,不能够利用DocBook强大的能力