Удалить verso и список таблиц из документа DocBook - PullRequest
4 голосов
/ 25 мая 2011

У меня проблема со слоем настройки DocBook XSL. Я использую Apache FOP для преобразования документа из DocBook XML в PDF. Но книга содержит вторую страницу (так называемый verso ) и страницу Список таблиц . Я просто удалил содержимое verso, но вторая страница остается пустой. Я не знаю, как удалить вторую пустую страницу.

(Я нашел только одно решение. Это просто - просто добавьте <xsl:template name="book.titlepage.verso"/> к своим шаблонам, но после добавления этого элемента вторая страница остается пустой страницей.)

Я также не могу найти решение, как удалить страницу Список таблиц .

1 Ответ

6 голосов
/ 26 мая 2011

Это было легко.Я нашел это в 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:template>
Ага!Это шаблон, включающий разрыв страницы, не так ли?Что происходит, когда я превращаю его в пустой шаблон?Et voilà, найденное решение:
<!-- clear verso -->
<xsl:template name="book.titlepage.verso"/>
<!-- clear page break after verso -->
<xsl:template name="book.titlepage.before.verso"/>
А как убрать enoying List of Tables?Скопируйте основные параметры оглавления (оглавления) в свой шаблон:
<xsl:param name="generate.toc">
    appendix  toc,title
    article/appendix  nop
    article   toc,title
    book      toc,title,figure,table,example,equation
    chapter   toc,title
    part      toc,title
    preface   toc,title
    qandadiv  toc
    qandaset  toc
    reference toc,title
    sect1     toc
    sect2     toc
    sect3     toc
    sect4     toc
    sect5     toc
    section   toc
    set       toc,title
</xsl:param>

В списке есть все, что должно быть собрано в оглавлении в определенных частях документа.Если вы удалите figure,table,example,equation, вы получите стандартную таблицу содержания.

Примечание: В списке указано, в каких блоках должна быть таблица содержания, а в каких - нет.Если вам нужно уменьшить глубину оглавления, вы должны добавить в свой шаблон, например: <xsl:param name="toc.max.depth">2</xsl:param>

...