DocBook中的数字编号

时间:2014-11-11 10:30:30

标签: pdf-generation docbook docbook-5

我使用Maven docbkx插件生成PDF。

我希望这些数字按顺序从1开始依次编号,忽略任何章节,部分等。

这不起作用,因为我在sectionLabelIncludesComponentLabel中使用配置参数pom.xml开启了分段的分层编号。现在,第2章的第一部分不是1(默认情况下),而是2.1,正如我想要的那样。

但作为一个副作用,第2.1章中的第一个数字也得到数字2.1,而下一个数字得到2.2,所以章节数不仅仅是前面的部分,而且是数字(这完全没有意义) )。

如何获得分层的节号,但同时简单的顺序图号?

[编辑]

看起来sectionLabelIncludesComponentLabel与它无关。即使我将其关闭,图形标题也会以章节编号为前缀。

1 个答案:

答案 0 :(得分:1)

没有参数可以打开想要的行为,但可以通过自定义common / labels.xsl中的模板来完成(标题的数字部分称为"标签"在DocBook中 - XSL)。

您需要创建自定义图层并向其添加以下内容:

  
<xsl:template match="db:figure" mode="label.markup">
  <xsl:choose>
    <xsl:when test="@label">
      <xsl:value-of select="@label"/>
    </xsl:when>
    <xsl:otherwise>
     <!-- Use simple sequential numbering within a book -->
     <xsl:number format="1" from="db:book" level="any"/> 
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>