[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: DOCBOOK-APPS: My ordered lists have extra space between lines.
On Thu, Mar 21, 2002 at 12:04:22PM -0500, Stephen Bannasch wrote: > My ordered lists have extra space between lines. > > The problem below happens in both html and in fo->fop->pdf. > > using docbook-xsl-1.50.0 (and older versions) > > <orderedlist numeration="arabic" spacing="compact"> > <listitem><para>item 1</para></listitem> > <listitem><para>item 2</para></listitem> > <listitem><para>item 3</para></listitem> > </orderedlist> > > produces html like this: > > <div class="orderedlist"> > <ol type="1" compact=""> > <li> > <p>item 1</p> > </li> > <li> > <p>item 2</p> > </li> > <li> > <p>item 3</p> > </li> > </ol> > </div> > > Which produces output like this: > > 1. item 1 > > 2. item 2 > > 3. item 3 > > There are two problems. The obvious one is the <p> > wrapped around the list content produces an extra blank > line between list items. The result is the same with the > orderedlist spacing set to normal. > > The content in the docbook listitem needs to be wrapped > in something since the listitem can't be PCDATA. Is there > something else I can wrap my docbook items in that won't > produce the extra spacing produced with <para>? > > Also according to the html4.0 spec the attribute compact > should be rendered as either: [compact] or > [compact="compact"]. However they warn that many browsers > only interpret the simpler form. For HTML output, I've never found the 'compact' list option to be reliably supported in the browsers. I have some clues, but not a complete answer. The problem is actually with the closing </p> at the end of each list item. If you remove that, the space disappears. Apparently the browsers figure if you have a closing </p> then you intended space. But that's not an option using the XSL stylesheets. A margin style seems to work as well, by assigning a class="compact" to those paras inside such lists: <html> <head> <style type="text/css"> p.compact {margin-bottom: 0;} </style> </head> ... <div class="orderedlist"> <ol type="1" compact=""> <li> <p class="compact">item 1</p> </li> <li> <p class="compact">item 2</p> </li> <li> <p class="compact">item 3</p> </li> </ol> </div> You'll have to customize the stylesheet to get that class attribute added to para's inside lists with spacing="compact". Bob Stayton 400 Encinal Street Publications Architect Santa Cruz, CA 95060 Technical Publications voice: (831) 427-7796 Caldera International, Inc. fax: (831) 429-1887 email: bobs@caldera.com
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC