Нумерация рисунков в DocBook

Я использую плагин Maven docbkx для создания PDF.

Я хотел бы, чтобы рисунки нумеровались, как обычно, последовательно, начиная с 1, игнорируя любые главы, разделы и т. д.

Это не работает, так как я включил иерархическую нумерацию разделов параметром конфигурации sectionLabelIncludesComponentLabel в файле pom.xml. Теперь первый раздел в главе 2 не 1 (как по умолчанию), а 2.1, как я хочу.

Но как побочный эффект, первый рисунок в главе 2.1 тоже получает номер 2.1, а следующий рисунок получает номер 2.2, так что номер главы ставится не только перед разделами, но и перед рисунками (что абсолютно бессмысленно).

Как я могу иметь иерархические номера разделов, но в то же время простую последовательную нумерацию цифр?

[Изменить]

Похоже, sectionLabelIncludesComponentLabel тут ни при чем. Даже если я его отключу, названия рисунков начинаются с номера главы.


person Landei    schedule 11.11.2014    source источник


Ответы (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>
person mzjn    schedule 13.11.2014