5

我对 DocBook XSL 的自定义层有疑问。我使用 Apache FOP 将文档从 DocBook XML 转换为 PDF。但是这本书包含第二页(所谓的verso)和页面List of Tables。我刚刚删除了 verso 的内容,但现在第二页仍然是空的。我现在不知道如何删除第二个空白页面。

(我只找到了一个解决方案。这很容易 - 只需添加<xsl:template name="book.titlepage.verso"/>到您的模板中,但添加此元素后,第二页仍为空页。)

我同样无法找到如何删除页面List of Tables 的任何解决方案。

4

1 回答 1

7

很容易。我发现这个titlepage.templates.xsl

<xsl:template name="book.titlepage.before.verso">
   <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
</xsl:模板>
啊哈!它是包含分页符的模板,不是吗?当我把它变成一个空模板时会发生什么?等等,找到了解决方案:
<!-- 反面清晰 -->
<xsl:template name="book.titlepage.verso"/>
<!-- 清除反面后的分页符 -->
<xsl:template name="book.titlepage.before.verso"/>
以及如何删除烦人的表格列表?将基本 TOC(目录)设置复制到您的模板中:

<xsl:param name="generate.toc">
    附录目录,标题
    文章/附录 nop
    文章目录,标题
    图书目录、标题、图、表、示例、方程式
    章节目录,标题
    部分目录,标题
    前言目录,标题
    坎达迪夫目录
    qandaset目录
    参考目录,标题
    第一节目录
    第二节目录
    第三节目录
    第 4 节目录
    第 5 节目录
    节目录
    设置目录,标题
</xsl:param>

列表中包含文档某些部分中要在 TOC 中收集的所有内容。如果您删除figure,table,example,equation,您将获得标准目录。

注意:列表说明了哪些块应该是目录,哪些块不应该。如果您需要减少 TOC 的深度,则必须添加到您的模板中,例如:

<xsl:param name="toc.max.depth">2</xsl:param>

于 2011-05-26T06:00:59.787 回答