LinuxTOY 是一个致力于提供 Linux 相关资讯的专题站点。如果您发现了好用好玩的 Linux 东东并愿意发扬自由、分享的精神,可以点击顶部导航 Contact 按钮进行投稿。

Related entries

DocBook配置指南

其实DocBook配置本来是很容易的,但是你在网上查阅了各种资料之后,它就变成了不可能完成的任务
本人搜遍千山万水,经过分析、整理、试验、大胆假设、小心求证……总之是不容易,终于实践出一个可行的方案

配置运行环境

在Archlinux中配置DocBook
pacman -S docbook-xml docbook-xsl libxslt libxml2

在Ubuntu中配置DocBook
apt-get install xsltproc docbook-xsl

生成Html文件

写好一个DocBook.xml文件之后,使用这个命令检查一下是否有错误
xmllint DocBook.xml

生成单页面Html文档
xsltproc /usr/share/xml/docbook/xsl-stylesheets-xxxx/xhtml/docbook.xsl DocBook.xml > DocBook.html

生成多页面Html文档
xsltproc /usr/share/xml/docbook/xsl-stylesheets-xxxx/xhtml/chunk.xsl DocBook.xml

将下面的代码保存为DocBook.xml试验一下吧

 

 <?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE article PUBLIC “-//OASIS//DTD DocBook XML V4.2//EN” “http://docbook.org/xml/4.2/docbookx.dtd”>
<article>
   <title>My first Docbook document</title>
   <sect1>
      <title>The greeting</title>
      <para>
        Hello world 你好
      </para>
   </sect1>
</article>

署名 • 注明出处 • 非商业性使用

20 Comments

  1. 1 Noxide Commented @ 2008-08-15 2:17 pmReply to this comment

    还不知道这个有什么用,顶一下。

    书签的话一直用delicious

  2. 2 恶臭的 Commented @ 2008-08-15 2:19 pmReply to this comment

    @Noxide
    和书签没什么关系

  3. 3 gnowkuy Commented @ 2008-08-15 2:22 pmReply to this comment

    文档工具

  4. 4 Reiase Commented @ 2008-08-15 3:44 pmReply to this comment

    Kardinal,知道DocBook里要使用LaTex的数学公式怎么配置吗,一直头疼这个问题。不想用LaTex,又离不开LaTex的数学公式

  5. 5 goddamn Commented @ 2008-08-15 3:44 pmReply to this comment

    @Noxide
    docbook 是用来写文档的,让你更关注文档的内容,而不是花大量的精力在排版上。样式可以单独设计。

    同时,具有一遍输入多种格式输出的好处,如:PDF、HTML、RTF、PS、TEX 等。

    很多开源大项目都有 docbook 的踪影,如 PostgreSQL 数据库的使用手册

  6. 6 Kardinal Commented @ 2008-08-15 4:15 pmReply to this comment

    @Reiase:Latex看起来挺好的。我试着写了个Docbook文档,额滴神啊……
    刚又研究了下txt2tags,有点太简单了,回头再仔细研究下
    以前用过reStructureText,还将就事,输出格式有点单调
    想找个好用的文档写作工具咋就这么难……

  7. 7 雪梨 Commented @ 2008-08-15 4:19 pmReply to this comment

    @Kardinal
    xml 文档太多噪音标记,阅读时必须转成其他格式才能看。

    使用 vim/emacs 还是适合用 txt2tags、reStructureText 或 asciidoc,
    可以直接阅读源码。

    rst 也可以用自定样式表来定制格式。
    输出 PDF 可以先转 html 再用 html2pdf.py

  8. 8 Kardinal Commented @ 2008-08-15 4:24 pmReply to this comment

    @雪梨:rst能分页输出么?rst的缩进很头大……

  9. 9 雪梨 Commented @ 2008-08-15 4:27 pmReply to this comment

    当然可以,
    t2t、rst 都是可以输出多页 HTML 的

  10. 10 Kardinal Commented @ 2008-08-15 4:29 pmReply to this comment

    @雪梨:咋整??我试试效果怎么样……

  11. 11 华华 Commented @ 2008-08-15 4:29 pmReply to this comment

    多页没意思,还是单页带目录好
    http://linuxfire.com.cn/~huahua/book/乌拉/世界科幻/幽灵五号.html
    注意不支持 IE
    http://linuxfire.com.cn/~huahua/book/乌拉/世界科幻/幽灵五号.pdf
    这是 HTML 生成的 PDF,以 heading 作为 pdf 书签

  12. 12 雪梨 Commented @ 2008-08-15 4:35 pmReply to this comment

    算了,看起来 Kardinal 不过是为了命令行才不 OOo 的,
    就算用了 rst、docbook 也还是在考虑样子,而不是结构。

    那 Kardinal 手写 fop 或 trml 好了,
    fop 是专门用来输出 pdf 的,能精确控制文档外观。

  13. 13 Kardinal Commented @ 2008-08-15 4:45 pmReply to this comment

    @雪梨:这人也忒不地道了,还来个欲说还休作娇痴小儿女态……
    不说也没啥,反正我也不打算用rst了,别再勾起我的使用冲动……
    “就算用了 rst、docbook 也还是在考虑样子,而不是结构。”这话对了一半
    结构不是我首要考虑的,但样子是最后才考虑的,我想要的是基于语义的结构化文档工具……

  14. 14 雪梨 Commented @ 2008-08-15 4:51 pmReply to this comment

    那么结构化文档不适合你,

    既然一定要命令行, 那用 jed 手写 fop、trml 或 PostScript 算了。

  15. 15 Kardinal Commented @ 2008-08-15 4:54 pmReply to this comment

    不会写,要会写的话还真要试试^_^
    得……OOo还是不错的,俺硬盘小,装不下可以不

  16. 16 garfileo Commented @ 2008-08-15 7:02 pmReply to this comment

    去年用过一段时间 docbook,开始还比较舒服,但是在输出中文 pdf 时困难比较多一些,更不要提所输出的 pdf 文档版面的美观问题。因此感觉这个东西不如 LaTeX 或 ConTeXt。

    此外,掌握 docbook 所耗费的时间并不比掌握 LaTeX/ConTeXt 少,所以很快就抛弃了它。

  17. 17 雪梨 Commented @ 2008-08-15 10:36 pmReply to this comment

    @garfileo
    fop 中文是没有问题的,
    也有人先转成 tex 再输出 pdf。

  18. 18 tommy Commented @ 2008-08-21 7:52 amReply to this comment

    docbook的XML一般是直接写还是用其它手段生成?

  19. 19 changqe1984 Commented @ 2008-10-19 12:07 amReply to this comment

    我翻译了一篇 在Windows下使用Docbook 的文章
    http://www.yeeyan.com/articles/view/3911/16049

    如果需要希望可以帮得上忙

  20. 20 Corsair Commented @ 2008-10-19 1:53 pmReply to this comment

    继续用 ConTeXt…