docbook - 如何使用样式表自定义 Docbook?我在哪里可以找到好的资源?
问题描述
我必须为我所做的项目以及屏幕截图等制作某种形式的文档,并且我想让它不那么简单,所以我尝试将 CSS 添加到我的文件中,但它没有用。经过一番浏览后,我发现这需要 XSL 或 XSLT,而我从未使用过,也找不到任何好的教程/文档/示例。
解决方案
您必须区分 DocBook 的不同部分 - 创作和处理(输出结果)。
创作
DocBook 创作非常简单——要获得最佳结果,请使用特殊的 GUI XML 编辑器,例如XMLMind XML Editor或OxygenXML Author,而不是纯文本编辑器(我与 XMLMind 或 Oxygen 没有任何关联)。当然,你可以问,为什么我提到了创作工具而不是定制本身,以及这些工具是如何与定制相关的?答案是:任何 XML 编辑器本身都可以以某种方式完全定制,您需要它来进行富有成效的工作。那里几乎没有与 DocBook XSL 样式表相关的内容,但可以自定义任何编辑器以获得最合适的创作结果。而且这种定制的许多部分都与 XSLT/XPath 相关。
加工
这部分完全取决于您对 XSLT 领域的了解,同时,您想要获得什么结果(期望)。DocBook 样式表旨在获得结果(输出文件),而与您的 XSLT 知识无关,但结果的复杂性将完全取决于您的知识水平。以下是一个简单的列表,可让您了解您需要去的地方:
如果您对 XSLT 一无所知 - 您会得到开箱即用的默认结果。
如果您准备好深入研究 DocBook 参数并对其进行调整 - 您将获得更适合您需求的结果。即,您可以调整 PDF (
body.font.master
) 的页面字体,选择 TOC (generate.toc
) 中包含的文档标题等。您只需要调整一个文件:<docbook-xsl-distro-dir>/<output_type>/param.xsl
,其中docbook-xsl-distro-dir
- 是您的 DocBook XSL 样式表的目录,<output_type>
- 输出结果的类型需要获取(fo
>打印,html
> html)。要了解每个参数适用于什么,您可以使用DocBook XSL 参考或/和(推荐!)书DocBook XSL: Bob Stayton 的完整指南(可在线获得)。如果您准备好深入研究定制 - 您需要为您的输出获得非常复杂的结果。在这种情况下,您需要:
- 了解 XSLT(DocBook XSL 样式表是用 XSLT 1.0 编写的)。我会推荐XSLT Quickly(来自Manning 出版);
- 通读DocBook XSL:完整指南;
- 了解 HTML 或 XSL:FO(取决于输出)。
推荐阅读
- r - 如何在 .Machine 中增加 $double.xmax?
- matlab - 如何从 Matlab 中的回调函数中获取数据以进行进一步处理?
- c++ - 调试断言失败缓冲区!= nullptr
- php - 使用 Cron 作业时未定义的 REMOTE_ADDR - Laravel 的背包
- image-processing - 深度学习中如何处理整张幻灯片图像
- c# - 随机移动脚本导致 Unity 冻结
- google-sheets - 如何检查一行是否有数据和条件格式?
- python - 将数组顶部 0.005% 的元素设置为 1 并将其余元素设置为零的简单方法
- angular - Angular LiveReload 不适用于 Linux 的 Windows 子系统
- flutter - Codemagic 与 Azure Dev Ops