Нумерация рисунков в DocBook
Я использую плагин Maven docbkx для создания PDF.
Я бы хотел, чтобы цифры нумеровались по порядку последовательно от 1, игнорируя любые главы, разделы и т. Д.
Это не работает, так как я включил иерархическую нумерацию разделов с параметром конфигурации sectionLabelIncludesComponentLabel
в pom.xml
, Теперь первый раздел в главе 2 - это не 1 (как по умолчанию), а 2.1, как я хочу.
Но в качестве побочного эффекта первая цифра в главе 2.1 тоже получает номер 2.1, а следующая цифра получает 2.2, поэтому номер главы добавляется не только к разделам, но и к рисункам (что абсолютно бессмысленно).
Как я могу иметь иерархические номера разделов, но в то же время простую последовательную нумерацию фигур?
[Редактировать]
Похоже sectionLabelIncludesComponentLabel
не имеет к этому никакого отношения. Даже если я выключу его, заголовки рисунков будут начинаться с номера главы.
1 ответ
Нет параметра для включения требуемого поведения, но это можно сделать, настроив шаблон в файле common/ tags.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>