如何使用样式表自定义 Docbook?我在哪里可以找到好的资源?

How to customize Docbook with stylesheet ? Where do I find good resources?

我必须为我所做的项目制作某种形式的文档,以及屏幕截图等,我想让它不那么简单,所以我尝试将 CSS 添加到我的文件中,但是它没用。经过一番浏览后,我发现需要 XSL 或 XSLT,但我从未使用过,而且找不到任何好的教程/文档/示例。

您必须区分 DocBook 的不同部分 - 创作和处理(输出结果)。

创作

DocBook 创作非常简单——要获得最佳结果,请使用特殊的 GUI XML 编辑器,如 XMLMind XML Editor or OxygenXML Author 而不是纯文本编辑器(我与 [=64= 没有任何关系) ]心灵或氧气)。当然,你可能会问,为什么我提到创作工具而不是定制本身,这些工具与定制有什么关系?答案是:任何 XML 编辑器本身都可以在某种程度上完全自定义,您需要它来进行高效的工作。那里几乎没有与 DocBook XSL 样式表相关的内容,但是可以自定义任何编辑器 以获得最适合的创作结果。而这个定制的很多部分都与XSLT/XPath.

有关

处理中

这部分完全取决于您对 XSLT 领域的了解,同时取决于您想要(期望)得到什么结果。 DocBook 样式表旨在获得结果(输出文件),而不管您的 XSLT 知识如何,但结果的复杂性将完全取决于您的知识水平。 这是一个简单的列表,可以让您了解需要去的地方:

  1. 如果您对 XSLT 一无所知 - 您将立即获得默认结果。

  2. 如果您准备好深入研究 DocBook 参数并调整它们 - 您会得到更适合您需要的结果。 IE。您可以调整 PDF 的页面字体 (body.font.master)、选择目录中包含的文档标题 (generate.toc) 等。您只需要调整一个文件:<docbook-xsl-distro-dir>/<output_type>/param.xsl,其中 docbook-xsl-distro-dir - 是包含 DocBook XSL 样式表的目录,<output_type> - 您需要获得的输出结果类型(fo > 打印,html > html)。要找出每个参数适用于什么,您可以使用 DocBook XSL reference or/and (recommended!) the book DocBook XSL: The Complete Guide by Bob Stayton (available online).

  3. 如果您已准备好深入定制 - 您需要为您的输出获得非常复杂的结果。在这种情况下,您需要:

    • 了解 XSLT(DocBook XSL 样式表是用 XSLT 1.0 编写的)。我会推荐 XSLT Quickly(来自 Manning publishing);
    • 通读 DocBook XSL:完整指南
    • 了解 HTML 或 XSL:FO(取决于输出)。