Hi Jan,
You should not have to do anything. The XSL-FO spec defines the two column areas
after a span to be new reference areas, so that any space-before property on the first
block in each column should be ignored, in both columns.
I just ran a brief test, and it seems FOP 1.0 and Antenna House format this correctly.
The XEP processor does not. It does not treat the columns as reference areas, so the
indexdiv title has space-before applied, and the first index entry after the column
break has no such property so it starts higher relative to the indexdiv title in the
left column. So I presume you are using XEP?
You are correct that determining the first indexdiv is not easy because it depends on
the collection of indexterms in each document. I don't think it can be done with an
xsl:choose in an attribute-set.
As an alternative approach, I tried setting space-after="0pt" and
space-after.precedence="force" on the spanned title block to try to overcome the
space-before on the indexdiv, but it had no effect in XEP.
Bob Stayton
Sagehill Enterprises
[email protected]
----- Original Message -----
From: "honyk" <[email protected]>
To: "'DocBook Apps'" <[email protected]>
Sent: Wednesday, June 13, 2012 11:39 AM
Subject: [docbook-apps] [XSL-FO] Detection of the first index.div
Dear All,
in my customization layer I have two-column index preceded with the title
that is spread over both columns (block span="all").
Now I want to achieve both columns starting at the same vertical position.
As there is a space-before specified on the index.div title and because
there is the above mentioned block before, the first index.div title's
space-before is retained. It looks a bit weird as this column starts lower
than the second one.
If I could detect the first index.div somehow, I would create a condition
for space-before attribute accordingly (set it to zero). But looking into
the code it seems to be quite tricky as these divs are generated on the fly.
Moreover, the first div is processed differently if index entries start with
special characters.
Is there any way to get the div 'position' (index)?
Are there other methods how to suppress that space before?
Thanks,
Jan
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]