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