Re: [docbook] Including two title pages in a PDF file and page numbering

From
Gabriela Simonka <>
Date
2012-12-06T21:46:50+00:00
ID
CAHJE=b2N=ujC83dVmfJ=7mGw=
Thread
Re: [docbook] Including two title pages in a PDF file and page numbering
Hi Bob,

Thanks for your reply. However, I would need a little more guidance. I'm not sure I follow your suggestion completely.... I will tackle only the extra titlepage for now...

On Thu, Dec 6, 2012 at 1:14 PM, Bob Stayton <> wrote:

Yes, I've done this kind of half title page before.  The book template calls an empty placeholder template named 'front.cover' before any other content. If you add such a template to your customization layer, it will appear before the title page.  That template needs to call the template named 'page.sequence' to generate an fo:page-sequence for the extra content. Since you are already doing double sided, the new page sequence will automatically generate the blank verso page.

You put the content of the page-sequence in the 'content' param for the template.  Below is an example that puts just the title and subtitle on the extra title page.  Those xsl:apply-templates were copied from fo/titlepage.templates.xsl, from the template named 'book.titlepage.recto' which generates the normal title page.  If you have customized your title page and generated new title page templates, you will want to copy those instead.

Our print customization layer (myprint.xsl) imports the a few XSL 
sheets, including a customized titlepage.xsl file called prn-titlepage.xsl, which is generated from prn-titlepage.xml. The 'myprint.xsl' file also includes a customized title page, ironically called 
'mybook-titlepage' (with mybook-titlepage-first, mybook-titlepage-even 
and mybook-titlepage-odd also defined).  

To my print customization layer (myprint.xsl) I added the 'front.cover' template as follows, taking the 'content' from the 'article.titlepage.recto' from the generated prn-titlepages.xsl sheet .... It did not give me an extra titlepage ... 

<!-- Adding a second title page -->
<xsl:template name="front.cover">
 <xsl:call-template name="page.sequence">
   <xsl:with-param name="master-reference">titlepage</xsl:with-param>

   <xsl:with-param name="content">
  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/mediaobject"/>
  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/mediaobject"/>

  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/mediaobject"/>
     <xsl:choose>
       <xsl:when test="articleinfo/title">
         <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>

       </xsl:when>
    <xsl:when test="artheader/subtitle">
      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
    </xsl:when>

       <xsl:when test="info/subtitle">
         <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
       </xsl:when>
       <xsl:when test="subtitle">

         <xsl:apply-templates mode="subtitle.titlepage.recto.auto.mode" select="subtitle"/>
       </xsl:when>
     </xsl:choose>

  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>

  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>

     <xsl:choose>
       <xsl:when test="articleinfo/subtitle">
         <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>

       </xsl:when>
       <xsl:when test="info/subtitle">
         <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
       </xsl:when>

       <xsl:when test="subtitle">
         <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
       </xsl:when>
     </xsl:choose>

   </xsl:with-param>
 </xsl:call-template>
</xsl:template>

-Gabriela