[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Additional space after remark in varlistentry/listitem?
There are a lot of similar situations, where non-para block level elements occur in environments like listitem or table entries and any vertical alignment to other layout elements is vanishing (bullet in listitem, adjacent entry content in tables). I had for example the problem of eliminating extra vertical space for simplelist in entries and duplicated the corresponding template, manipulating the matching XPath: <xsl:template match="simplelist[parent::entry and not (ancestor::row[descendant::para])]"> <!-- with no type specified, the default is 'vert' --> <!-- as child of entry, no extra space please, except when other entries in this row contain para! But the first para in an entry shouldn't have extra spacing either --> <fo:table> <xsl:call-template name="simplelist.table.columns"> ... and so on, copied from the original template. But in fact, there is the need of similar exclusions of extra vertical space in other situations, for example any list environment that starts immediately in a listitem (probably informaltable too). One can not foresee all these cases! And treating all these case explicitly in the templates (as done with the 3 para types) isn't a solution either (in my eyes). So, one needs a general mechanism, perhaps in analogy to kerning pairs of letters. Every letter has its specific width, with fix start and end coordinates. But the the kerning pairs say that "VA" is different from "VM". Could one imagine a lookup table for elements like "remark", "simplelist",... that says, that they have to behave different in certain circumstances ("listitem", "entry",...). I have to admit, that I have no idea how this could fit into the existing template mechanism, but perhaps it can serve as a starting point. Regards, Georges Bob Stayton wrote: >You are running into one of the hard issues that the stylesheet has to >solve: how to determine when a para should add space above and when not to. >The extra spacing is coming from the <para> element after the <remark> in >the listitem. That's the normal.para.spacing attribute-set. The reason you >don't see it in the entry without the <remark> is because of this template >in fo:lists.xsl: > ><xsl:template match="listitem/*[1][local-name()='para' or > local-name()='simpara' or > local-name()='formalpara'] > |glossdef/*[1][local-name()='para' or > local-name()='simpara' or > local-name()='formalpara'] > |step/*[1][local-name()='para' or > local-name()='simpara' or > local-name()='formalpara'] > |callout/*[1][local-name()='para' or > local-name()='simpara' or > local-name()='formalpara']" > priority="2"> > <fo:block> > <xsl:call-template name="anchor"/> > <xsl:apply-templates/> > </fo:block> ></xsl:template> > > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]