Hello, am using XXE editor, xsltproc, latest stylesheets (1.57.0), FOP 0.20.4 on Win32 for FO/PDF rendering. System (minus FOP) works great for HTML.
Although I've read the comments on FOP being less than perfect, I don't relish trying to set up a TeX system, so I'm trying it.
And it actually has done a decent job so far of rendering my stuff. It's not beautiful, but it's readable. The biggest glitch so far is in how it renders <variablelist> elements. It makes two columns, and the right column (with the definitions) looks fine (left margins lined up, etc.) However, when the left colum (the terms) is longer than 20 characters or so, the term ends up running over the 2nd column, juxtaposed on top of the definition. Basically, it fails to wrap the term when it's too wide to fit in the column space.
I know nothing about FO syntax, so wondering if anyone has dealt with this before, or could suggest a stylesheet change to make FOP happier.
Also wondering if the problem could be the <itemizedlist> embedded in one of the varlist <listitem>'s, or the fact that some of <varlistentry>'s contain more than one <term> (although those aren't the only ones that overrun their column in the PDF), or if it's just some lack of support in FOP. All of these structures render fine into HTML. See below for snippets.
TIA,
Matthew
Here's a snippet from the FO file at the start of this element:
<fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The data entry screen contains basic information about a constituent.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The following list details the fields on this screen:</fo:block><fo:list-block id="id377975" provisional-distance-between-starts="11em" provisional-label-separation="0.25in" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em"><fo:list-item id="id377977" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:list-item-label end-indent="label-end()" text-align="start"><fo:block><fo:inline>RECORD TYPE</fo:inline></fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block>Required field.</fo:block><fo:list-block id="id377992" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em" provisional-label-separation="0.2em" provisional-distance-between-starts="1.5em"><fo:list-item id="id377994" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:inline font-weight="bold">Ind</fo:inline> = IndividualIndividual (must enter First and Last Name)</fo:block></fo:list-item-body></fo:list-item><fo:list-item id="id378010" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:inline font-weight="bold">Org</fo:inline> = Organization, <fo:inline font-weight="bold">Bus</fo:inline> = Business, <fo:inline font-weight="bold">Fdn</fo:inline> = Foundation (sometimes collectively referred to as Org records) (must enter Bus/Org Name)</fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:list-item-body></fo:list-item><fo:list-item id="id378039" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:list-item-label end-indent="label-end()" text-align="start"><fo:block><fo:inline>FIRST NAME, </fo:inline><fo:inline>LAST NAME</fo:inline></fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block>Required fields for Individual records. For Org records, these fields represent the name of the primary contact person at that Org. (Although nothing prevents there being a separate Individual record for that person as well.)</fo:block></fo:list-item-body></fo:list-item>
And here's the same spot in the XML:
<variablelist >
<varlistentry >
<term id="fld.RecordType" >RECORD TYPE</term >
<listitem ><para >Required field.</para >
<itemizedlist >
<listitem ><para ><command >Ind</command > = IndividualIndividual (must enter First and Last Name)</para ></listitem >
<listitem ><para ><command >Org</command > = Organization, <command >Bus</command > = Business, <command >Fdn</command > = Foundation (sometimes collectively referred to as Org records) (must enter Bus/Org Name)</para ></listitem >
</itemizedlist >
</listitem >
</varlistentry >
<varlistentry >
<term >FIRST NAME</term >
<term >LAST NAME</term >
<listitem ><para >Required fields for Individual records. For Org records, these fields represent the name of the primary contact person at that Org. (Although nothing prevents there being a separate Individual record for that person as well.)</para ></listitem >
</varlistentry >