Obrázek na obálku
Tomáš Waller
tomas.waller na seznam.cz
Úterý Listopad 18 19:57:47 CET 2008
Dobrý den!
Povedlo se mi nakonec dát na titulní stranu obrázek tak, aby už nebyl na
titlepage pro oddíl part. Vytvořil jsem si user.pagemasters a do
select.user.pagemaster jsem dal podmínku, která mi omezila obrázek jen
na titulní stranu a následující: test="$default-pagemaster = 'titlepage'
and self::book".
Bohužel, stále mi to vkládá obrázek i na verso stranu obálky. Ale to já
nechci. Nenapadá mě, jak bych měl zadat podmínku. A zda musím vytvořit
dvakrát simple-page-master (cover-odd s obrázkem a cover-even bez
obrázku), anebo jen jeden cover pro obálku a další už bude bez obrázku
defaultní...
Můžete mi poradit? Předem děkuji.
Tomáč Waller
Následuje kód:
<xsl:template name="user.pagemasters">
<!-- title page of the cover -->
<fo:simple-page-master master-name="cover-odd"
page-width="{$page.width}"
page-height="{$page.height}"
margin-top="{$page.margin.top}"
margin-bottom="{$page.margin.bottom}"
margin-left="{$margin.left.inner}"
margin-right="{$page.margin.outer}">
<xsl:if test="$axf.extensions != 0">
<xsl:call-template name="axf-page-master-properties">
<xsl:with-param name="page.master">cover-odd</xsl:with-param>
</xsl:call-template>
</xsl:if>
<fo:region-body margin-bottom="{$body.margin.bottom}"
margin-top="{$body.margin.top}"
column-gap="{$column.gap.titlepage}"
column-count="{$column.count.titlepage}">
<xsl:attribute name="background-image">
<xsl:call-template name="fo-external-image">
<xsl:with-param name="filename"
select="$filename.image"/>
</xsl:call-template>
</xsl:attribute>
<xsl:attribute
name="background-attachment">fixed</xsl:attribute>
<xsl:attribute
name="background-repeat">no-repeat</xsl:attribute>
<xsl:attribute
name="background-position-horizontal">center</xsl:attribute>
<xsl:attribute
name="background-position-vertical">center</xsl:attribute>
</fo:region-body>
<fo:region-before region-name="xsl-region-before-first"
extent="{$region.before.extent}"
display-align="before"/>
<fo:region-after region-name="xsl-region-after-first"
extent="{$region.after.extent}"
display-align="after"/>
</fo:simple-page-master>
<fo:simple-page-master master-name="cover-even"
page-width="{$page.width}"
page-height="{$page.height}"
margin-top="{$page.margin.top}"
margin-bottom="{$page.margin.bottom}"
margin-left="{$margin.left.inner}"
margin-right="{$page.margin.outer}">
<xsl:if test="$axf.extensions != 0">
<xsl:call-template name="axf-page-master-properties">
<xsl:with-param name="page.master">cover-even</xsl:with-param>
</xsl:call-template>
</xsl:if>
<fo:region-body margin-bottom="{$body.margin.bottom}"
margin-top="{$body.margin.top}"
column-gap="{$column.gap.titlepage}"
column-count="{$column.count.titlepage}">
</fo:region-body>
<fo:region-before region-name="xsl-region-before-first"
extent="{$region.before.extent}"
display-align="before"/>
<fo:region-after region-name="xsl-region-after-first"
extent="{$region.after.extent}"
display-align="after"/>
</fo:simple-page-master>
<!-- setup for title page(s) -->
<fo:page-sequence-master master-name="cover">
<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="cover-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">cover-even</xsl:when>
<xsl:otherwise>cover-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:param name="sequence"/>
<xsl:choose>
<xsl:when test="$default-pagemaster = 'titlepage' and self::book">
<!-- by default, return the default. But if you've created your own
pagemasters in user.pagemasters, you might want to select one
here. -->
<xsl:value-of select="'cover'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$default-pagemaster"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Další informace o konferenci Docbook