You can put a footnote at the end of each article
that would appear at the bottom of the last page. In XSL-FO, the fo:footnote
element is typically used for floats that are to appear at the bottom of the
page. You would want to customize the footnote a bit to avoid the footnote
number.
Bob Stayton
Sagehill Enterprises
----- Original Message -----
From:
robert
To: Bob Stayton ;
Sent: Sunday, March 04, 2012 6:12
AM
Subject: Re: [docbook-apps] adding a
footer only to last page
Thanks Bob for your help.
I'm wondering if there is other way do achive a similar result. I want to
have an image and some text at the bottom of each page that ends an article. I
though a footer would be an obvious solution, but maybe there is other way to
put that content at the bottom of a page. My book is generated dynamically, so
for example, I'm able to add that content to each article, if that would allow
me to use some other mechanism and simplify the solution.
Robert
On Fri, Mar 2, 2012 at 6:23 PM, Bob Stayton <> wrote:
Hi Robert,
Ah, sorry, this is actually a bit more complicated
than I remembered. The DocBook XSL stylesheets are not set up
with page-masters for 'last', and so that all has to be set up before the
$sequence='last' in footer.content will work. I'll see if I can dig up
an example of a working version.
Bob Stayton
Sagehill Enterprises
----- Original Message -----
From: robert
To: Bob Stayton
Sent: Friday, March 02, 2012 1:16
AM
Subject: Re: [docbook-apps] adding a
footer only to last page
Hi Bob,
I can't get this working and have no idea what I'm doing wrong.
My customization layer contains the following:
<xsl:param name="footer.rule"
select="0"></xsl:param>
<xsl:attribute-set name="footer.content.properties">
<xsl:attribute
name="background-color">red</xsl:attribute>
</xsl:attribute-set>
<xsl:template name="footer.content">
<xsl:param name="pageclass" select="''"/>
<xsl:param name="sequence" select="''"/>
<xsl:param name="position" select="''"/>
<xsl:param name="gentext-key" select="''"/>
<fo:block>
<xsl:choose>
<xsl:when test="$double.sided = 0 and
$position='left' and self::d:article and $sequence = 'last'">
www.foo.com
</xsl:when>
<xsl:otherwise>
<!-- nop -->
</xsl:otherwise>
</xsl:choose>
</fo:block>
</xsl:template>
When I apply this do a book with several articles, i.e.:
<book xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook"
version="5.0">
<info>
<title>Media Access Proxy™</title>
</info>
<article xml:id="a1">
...
</article>
<article xml:id="a2">
...
</article>
</book>
I would like to see (in a PDF file) the 'www.foo.com' text at the left bottom of the page on the
red background twice (i.e. at the end of each article). But I see a box
with the red background on all pages and the text never appears.
Thanks for your help.
Robert
On Thu, Mar 1, 2012 at 6:57 PM, Bob Stayton <> wrote:
Hi Robert,
The general instructions for customizing
headers and footers can be found here:
http://www.sagehill.net/docbookxsl/PrintHeaders.html
The footer.content template is a big xsl:choose
statement that sets conditions for which pages have which output.
In your case, each article generates a page-sequence, so that is the
context when the template is called. The xsl:when statement might look
something like this:
<xsl:when test="self::d:article and ($sequence
= 'last' or $sequence = 'blank')">
You would need the 'blank' condition if you are
doing double-sided output that may generate a blank page as the
last page at the end of an article.
Bob Stayton
Sagehill Enterprises
----- Original Message -----
From: robert
To:
Sent: Thursday, March 01, 2012
3:21 AM
Subject: Re: [docbook-apps]
adding a footer only to last page
To simplify the problem. Let's only consider the case
when there is a book with a number of articles, and the footer must
only be added to the last page of each article.
On Thu, Mar 1, 2012 at 10:57 AM, robert <> wrote:
Hi All,
I have two
somehow similar problems. Both relate to printed
output.
1. I have a book with a number of
articles and want to have a footer
only on the last
page of each article and the last page of the
whole
book.
2. Similarly, I have a
set of books, and want to have a footer only on
the
last page of each book.
Have can I do
it?
Thanks,
Robert