Okay, I managed to get the double.sided param to work with PassiveTeX, but
(1) I'm not quite sure how I did it and (2) I still have a few problems
with the results.
(1) The solution that makes no sense to me:
I noticed that the error PassiveTeX was crashing on had something to do
with the section.heading space-before parameters. Rather than writing in a
new section.title.properties attribute-set, I thought I'd just test this
theory with an existing (but commented out) fix from pre-DocBook XSL 1.52.
Back then, I was having trouble with the fact that the section.heading was
relying on the keep-with-next.within-column attribute of the section
template, an inheritance which PassiveTeX refused to pass on. My
customization to correct this was
<xsl:template name="section.heading">
<xsl:param name="level">1</xsl:param>
<xsl:param name="title"></xsl:param>
<xsl:variable name="fsize">
<xsl:choose>
<xsl:when test="$level=1">18</xsl:when>
<xsl:when test="$level=2">16</xsl:when>
<xsl:when test="$level=3">14</xsl:when>
<xsl:when test="$level=4">12</xsl:when>
<xsl:when test="$level=5">12</xsl:when>
<xsl:otherwise>10</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<fo:block keep-with-next.within-column="always"
font-size="{$fsize}pt"
font-weight="bold"
font-family="{$title.font.family}"
margin-left="4pc"
text-indent="-4pc"
space-before.minimum="1em"
space-before.optimum="1.5em"
space-before.maximum="2em">
<xsl:copy-of select="$title"/>
</fo:block>
</xsl:template>
After 1.52, the section.title.properties addition to param.xsl included
the keep-with-next, so I commented this out. Now, in order to test the
space-before measurement, I un-commented this section. Then I set the
double.sided param to one and ran my document through xsltproc and
PassiveTeX. It worked.
Okay, so I figure this vindicates my reading of the error log. I commented
the fix out again, and added the following to my customization file:
<xsl:attribute-set name="section.title.properties">
<xsl:attribute name="font-family">
<xsl:value-of select="$title.font.family"/>
</xsl:attribute>
<xsl:attribute name="font-weight">bold</xsl:attribute>
<!-- font size is calculated dynamically by section.heading template -->
<xsl:attribute name
="keep-with-next.within-column">always</xsl:attribute>
<xsl:attribute name="space-before.minimum">1em</xsl:attribute>
<xsl:attribute name="space-before.optimum">1.2em</xsl:attribute>
<xsl:attribute name="space-before.maximum">2em</xsl:attribute>
</xsl:attribute-set>
This didn't work. Once again, PassiveTeX refused to process the FO,
claiming it was overruning on the space-before-maximum setting of 1.2em
(this also baffles me: 1.2 causes an overrun, but 2 works). I tried
setting this parameter directly in my param.xsl file. Still no luck. Where
is it getting the space-before.maximum value of 1.2 em? Yet when I
reactivate the customization for section.heading, it works.
(2) The problems
Okay, "works" is a relative term. I get the double-sided output from
PassiveTeX. Chapters all begin on odd-numbered pages, chapters ending on
an odd-numbered page are followed by a blank page, and the page numbers
are appropriately positioned to the left or right. My headers, however,
have disappeared (okay, it appears once, on a page in the table of
contents). Page numbers do not appear on blank pages or the first page of
a chapter. I have the headers.on.blank.pages and footers.on.blank.pages
params set to 1, but setting them to zero seems to have no effect.
Dazed and confused.
Dennis Grace
Information Developer
IBM Linux Technology Center
(512) 838-3937 T/L 678-3937 cell: (512)-296-7830
[EMAIL PROTECTED]
There are only 10 kinds of people in the world: those who understand
binary and those who don't.