OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Don't break chapter's to recto pages


Hi!

 

I have a problem concerning the page breaks of <chapter> elements in double-sided PDF output!

 

The case is that I want <part>s, <toc>, <preface>, <index> and <colophon> to break to the next recto page, while chapters and appendices should only break to the next page (regardless if recto or verso).

 

First I tried to modify the “force.page.count”- and “initial.page.number”-templates as follows:

 

force.page.count(only changed content)::

<xsl:choose>

   <xsl:when test="$element != 'chapter'">auto</xsl:when> 

   <xsl:when test="$double.sided != 0">end-on-even</xsl:when> 

   <xsl:otherwise>no-force</xsl:otherwise>

</xsl:choose>

 

initial.page.number(only changed content):

<xsl:when test="$double.sided != 0">

        <xsl:choose>

               <xsl:when test="$element = 'chapter'">auto</xsl:when>

 

Unfortunately this ended up in displaying me a “half-double-sided” and “half-single-sided” document. Furthermore, not every chapter wants to wrap to a verso page…

 

I also tried to add a custom user-pagemaster:

 

<xsl:template name="user.pagemasters">

    <fo:page-sequence-master master-name="body-chapter">

      <fo:repeatable-page-master-alternatives>

        <fo:conditional-page-master-reference master-reference="blank"

                                              blank-or-not-blank="blank"/>

 

        <fo:conditional-page-master-reference master-reference="body-odd"

                                              odd-or-even="odd"/>

                                                                           

        <fo:conditional-page-master-reference odd-or-even="even">                                                                       

          <xsl:attribute name="master-reference">

            <xsl:choose>

              <xsl:when test="$double.sided != 0">body-even</xsl:when>

              <xsl:otherwise>body-odd</xsl:otherwise>

            </xsl:choose>

          </xsl:attribute>

        </fo:conditional-page-master-reference>

      </fo:repeatable-page-master-alternatives>

    </fo:page-sequence-master>

</xsl:template>

 

<xsl:template name="select.user.pagemaster">

  <xsl:param name="element"/>

  <xsl:param name="pageclass"/>

  <xsl:param name="default-pagemaster"/>

 

  <xsl:choose>

    <xsl:when test="$element = 'chapter'">

      <xsl:value-of select="'body-chapter'"/>

    </xsl:when>

    <xsl:otherwise>

      <xsl:value-of select="$default-pagemaster"/>

    </xsl:otherwise>

  </xsl:choose>

</xsl:template>

 

After that it works almost perfect – almost. The double-sided output is fine but again not every chapter breaks to a verso page. I sometimes have one blank page in front of a chapter and sometimes not.

 

Can anyone help me?

 

Thanks in advance,

 

Mathias Schindler



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]