感谢FreeBSD的Port Dependance机制,我们只要安装三个port就可以把必要的软件都装齐。(实际只需要两个)
/usr/ports/textproc/docproj-jadetex, 如果不需要PDF输出,也可以用/usr/ports/textproc/docproj-nojadetex.
/usr/ports/editors/psgml, 这是Emacs的SGML编辑支持,除了可以语法高亮以外,还可以检查你的语法是不是正确,可以提示你当前可以插入哪些tag.
我们需要告诉各种程序到哪里去找DTD,这就要输出SGML_CATALOG_FILES和XML_CATALOG_FILES两个变量。我用的是bash,就把这两行加到我的~/.bashrc里面去:
export SGML_CATALOG_FILES=/usr/local/share/sgml/catalog export XML_CATALOG_FILES=/usr/local/share/xml/catalog.ports
如果你没用过Emacs,没关系,它支持菜单,支持鼠标定位,就把它当Windows下面的傻瓜程序用好了,很容易上手的。
为了要Emacs很好的支持DocBook的编辑,你需要在你的HOME目录下建一个.emacs文件,里面写上这样两行:
(require 'psgml-startup) (setq sgml-insert-missing-element-comment nil)
让我们来写一个HelloWorld,看看该怎么使用这个环境。这是源文件
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> <book> <bookinfo> <title>Hello, World! </title> <author> <firstname>Dryice</firstname> <surname>Liu</surname> </author> </bookinfo> <chapter> <title>Hello, World!</title> <para>Hello, World! This is my first DocBook book:)</para> </chapter> </book>
先别急着把code拷到你的文本编辑器里,让我们来一步一步看看怎么使用这个编辑环境.用Emacs创建一个新文件hello.sgml,输入文件头:
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
现在按 Ctrl+c-Ctrl+e, Emacs会提示我们输入tag,好,输入book,可以看到Emacs把start-tag和 end-tag都输入好了。现在按 Ctrl+c-Ctrl+t, Emacs会在另一个窗口里提示我们当前位置有哪些tag是可 以输入的。输了一会儿,可以按Ctrl+c-Ctrl+v来检查一下有没有语法错误。这时Emacs会提示我们用来语 法检查的命令,不用管,用默认的就好了。如果有错误,Emacs会在另一个窗 口里面给出提示,把光标移到错误提示上,按回车键,另一个窗口中的 源文件就会自动定位到出错的地方。
还有许多功能,可以 Ctrl+h-m看一下。
这个比较简单,只要找个shell打
jade -E 0 -t sgml -V nochunks -d /usr/local/share/sgml/docbook/dsssl/modular/html/docbook.dsl hello.sgml > hello.html
就可以了
DocBook: The Definitive Guide 可 以说是DocBook的圣经,在ports里面也有了,在/usr/ports/textproc/docbook-tdg