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] | [Elist Home]


Subject: DOCBOOK-APPS: keep-with-next in PassiveTex


Good news for would-be PassiveTeX users. The keep-with-next function *does*
work with PassiveTeX for component and section titles.

There is a complication, however.

In my effort to create a working customization layer for xsl-fo, I ran
afoul of the keep-with-next functions. In an article produced by one of our
writers and in a similar test article I produced to test my conversions, I
had multiple instances of section titles appearing at the bottom of one
page with the body of the section starting on the following page. At first,
I thought the component.title.properties attribute set in the param.xsl
file should correct this. My mistake: "component" doesn't go down to the
section level.

Upon examining the sections.xsl file, I found that the template for
section/title included

      <fo:block keep-with-next.within-column="always">

Based on that, I thought the keep-with-next should be applied to the
section titles. As I posted here previously, such was not the case.  I sent
my .fo to Sebastian Rahtz, asking if the keep-with-next should work in this
instance. He responded that the .fo in question did not actually include a
keep-with-next for the titles in question.  Upon review of the .fo (not a
task I can claim any proficiency in), I found this


      <fo:block keep-with-next.within-column="always">
      <fotex:bookmark xmlns:fotex="http://www.tug.org/fotex";
 fotex-bookmark-level="3"
      fotex-bookmark-label="legal">1. Copyright and Legal
 Notice</fotex:bookmark>
      <fo:block font-size="16pt" font-weight="bold" font-family="Helvetica"
      margin-left="4pc" text-indent="-4pc" space-before.minimum="1em"
      space-before.optimum="1.5em" space-before.maximum="2em">
      1. Copyright and Legal Notice</fo:block></fo:block>


I was not sure why this didn't work but considered that the problem might
be which <fo> block contained the keep and changed the .fo to this:

      <fo:block keep-with-next.within-column="always">
      <fotex:bookmark xmlns:fotex="http://www.tug.org/fotex";
 fotex-bookmark-level="3"
      fotex-bookmark-label="legal">1. Copyright and Legal
 Notice</fotex:bookmark>
      <fo:block keep-with-next.within-column="always"
      font-size="16pt" font-weight="bold" font-family="Helvetica"
      margin-left="4pc" text-indent="-4pc" space-before.minimum="1em"
      space-before.optimum="1.5em" space-before.maximum="2em">
      1. Copyright and Legal Notice</fo:block></fo:block>

This change produced the desired results, so I included this:

 <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>

in my customization layer (I added the keep-with-next.within-column), which
appears to have solved my formatting problems.

This whole process leaves me with a question or two. I asked Sebastian
Rahtz why the first .fo listed above failed to employ the keep. He said "I
expect the emergence from the inner block destroyed the setting in some
way. Passivetex probably isn't nesting properly." But I wondered, is it
PassiveTeX, or is the keep-with-next just not in the optimum location? Is
the keep-with-next in the section/title template of sections.xsl there to
keep the heading of a section with its body, or is it there for something
to do with the fotex (bookmark) element?

Dennis Grace

Information Developer
IBM Linux Technology Center
(512) 838-3937  T/L 678-3937  cell: (512)-296-7830
dgrace@us.ibm.com

What is this some kind of demonstrative pronoun?






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


Powered by eList eXpress LLC