[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [docbook-apps] Changing line spacing in variablelists
Hi Bob, That did it. Very helpful! Thank you. Best regards, Bob Bob McIlvride Communications Manager Cogent Real-Time Systems Inc., a Skkynet company T 1 905 702 7851 ext 103 cogent.ca -----Original Message----- From: Bob Stayton [mailto:bobs@sagehill.net] Sent: Wednesday, August 17, 2016 3:11 PM To: Bob McIlvride <bob.mcilvride@skkynet.com>; docbook-apps@lists.oasis-open.org Subject: Re: [docbook-apps] Changing line spacing in variablelists Hi Bob, The extra space is coming from the <para> element embedded in the listitem. The para element generates a block with its own spacing coming from the "para.properties" attribute-set. I was able to remove the extra space by customizing para.properties as follows to make it conditional: <xsl:attribute-set name="para.properties"> <xsl:attribute name="space-before.maximum"> <xsl:choose> <xsl:when test="ancestor::varlistentry">0pt</xsl:when> <xsl:otherwise>1.2em</xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:attribute name="space-before.optimum"> <xsl:choose> <xsl:when test="ancestor::varlistentry">0pt</xsl:when> <xsl:otherwise>1.0em</xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:attribute name="space-before.minimum"> <xsl:choose> <xsl:when test="ancestor::varlistentry">0pt</xsl:when> <xsl:otherwise>.8em</xsl:otherwise> </xsl:choose> </xsl:attribute> </xsl:attribute-set> Note that this applies to all paras in varlistentry, so if you have two paras in a listitem, there will be no space between them as well. Bob Stayton Sagehill Enterprises bobs@sagehill.net On 8/17/2016 10:49 AM, Bob McIlvride wrote: > Dear friends, > > > > I want to remove all line spacing for list items in the PDF output of a > Docbook 4.5 document, using Saxon6.5.5 and Apache FOP. I've been able > to do this successfully, except for one line in variablelists. The > spacing between the term and listitem in a variablelist remains. I have > made a number of attempts in my custom stylesheet, but no luck. > > > > For example, one part of my source document looks like this: > > > > <varlistentry> > > <term><parameter moreinfo="none">modbus</parameter></term> > > <listitem> > > <para>The modbus instance pointer. Always enter <literal > > moreinfo="none">modbus</literal> for this > > parameter</para> > > </listitem> > > </varlistentry> > > <varlistentry> > > <term><parameter moreinfo="none">slaveid</parameter></term> > > <listitem> > > <para>The slave ID for this point. An entry of zero (<literal > > moreinfo="none">0</literal>) will use the default slave > > ID for the Modbus connection.</para> > > </listitem> > > </varlistentry> > > ... > > > > My custom stylesheet currently contains this: > > > > <xsl:attribute-set name="list.item.spacing"> > > <xsl:attribute name="space-before.optimum">0em</xsl:attribute> > > <xsl:attribute name="space-before.minimum">0em</xsl:attribute> > > <xsl:attribute name="space-before.maximum">0em</xsl:attribute> > > <xsl:attribute name="space-after.optimum">0em</xsl:attribute> > > <xsl:attribute name="space-after.minimum">0em</xsl:attribute> > > <xsl:attribute name="space-after.maximum">0em</xsl:attribute> > > </xsl:attribute-set> > > > > <xsl:attribute-set name="list.block.spacing"> > > <xsl:attribute name="padding-top">0em</xsl:attribute> > > <xsl:attribute name="padding-bottom">0em</xsl:attribute> > > <xsl:attribute name="space-before.optimum">0em</xsl:attribute> > > <xsl:attribute name="space-before.minimum">0em</xsl:attribute> > > <xsl:attribute name="space-before.maximum">0em</xsl:attribute> > > <xsl:attribute name="space-after.optimum">0em</xsl:attribute> > > <xsl:attribute name="space-after.minimum">0em</xsl:attribute> > > <xsl:attribute name="space-after.maximum">0em</xsl:attribute> > > </xsl:attribute-set> > > > > <xsl:template match="d:varlistentry" mode="vl.as.blocks"> > > <xsl:variable name="id"> > > <xsl:call-template name="object.id"/> > > </xsl:variable> > > > > <fo:block id="{$id}" > xsl:use-attribute-sets="variablelist.term.properties > > list.item.spacing" > > keep-together.within-column="always" > > keep-with-next.within-column="always" > > space-after.minimum="0pt" > > space-after.maximum="0pt" > > space-after.optimum="0pt" > > space-after.precedence="3" > > padding-top="0pt" > > padding-bottom="0pt" > > > > > <xsl:apply-templates select="d:term"/> > > </fo:block> > > > > <fo:block > > space-before.minimum="0pt" > > space-before.maximum="0pt" > > space-before.optimum="0pt" > > space-before.precedence="3" > > padding-top="0pt" > > padding-bottom="0pt" > > > > > <xsl:attribute > name="margin-{$direction.align.start}">0.25in</xsl:attribute> > > <xsl:apply-templates select="d:listitem"/> > > </fo:block> > > </xsl:template> > > > > My output is in the attached screenshot, VariableListSpacing.jpg. As > you can see, all of the line spacing is removed, except for the area > between the term and the listitem. Can anyone help with this? > > > > Best regards, > > > > Bob > > > > > > COGENT <http://cogent.ca/> > > > > *Bob McIlvride ** Communications Manager* > > Cogent Real-Time Systems Inc., a Skkynet company > > T 1 905 702 7851 ext 103 > > cogent.ca <http://cogent.ca/> > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org > For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]