Нумерация рисунков в 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>
Другие вопросы по тегам