OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] problem with callouts with multiple "arearefs"


On Wed, Sep 03, 2003 at 05:50:54PM -0400, Robert P. J. Day wrote:
> 
>   from what i read, i should be able to do the following --
> define a single callout in which the "arearefs" attribute
> refers to multiple <co>s.
> 
> -----------------------------
> 
>   <programlisting>
> code line 1 <co id="line1-co"/>
> code line 2 <co id="line2-co"/>
> code line 3 <co id="line3-co"/>
> code line 4 <co id="line4-co"/>
> code line 5 <co id="line5-co"/>
> code line 6 <co id="line6-co"/>
> code line 6 <co id="line7-co"/>
> code line 6 <co id="line8-co"/>
>   </programlisting>
>   <calloutlist>
>    <callout arearefs="line1-co line3-co line5-co line7-co">
>     <p>These are the odd lines.</p>
>    </callout>
>    <callout arearefs="line2-co line4-co line6-co line8-co">
>     <p>These are the even lines.</p>
>    </callout>
>   </calloutlist>
> 
> -----------------------------
> 
>   it *sort of *works.  the lines get their proper callout bugs,
> but the callout list appears as:
> 
> 1 3 These are the odd lines.
> 2 4 There are the even lines.
> 6 8
> 
> as i read it, the first <callout> tries to list all four numbers
> and runs out of space, and perhaps tries to continue on the next
> line, but is squelched by the next line of output.
> 
> the second <callout> also runs out of space, and continues on
> the next line, and those show up.
> 
> obviously, i'd like to be able to allocate more room to multiple
> callout bugs, but i don't see how that's done.

Well, the calloutlist template in fo/lists.xsl hardwires
the width, so it wasn't designed to support multiple
callout bugs:

<xsl:template match="calloutlist">
  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>

  <fo:block id="{$id}">
    <xsl:if test="title">
      <xsl:apply-templates select="title" mode="list.title.mode"/>
    </xsl:if>

    <fo:list-block space-before.optimum="1em"
                   space-before.minimum="0.8em"
                   space-before.maximum="1.2em"
                   provisional-distance-between-starts="2.2em"
                   provisional-label-separation="0.2em">
      <xsl:apply-templates/>
    </fo:list-block>
  </fo:block>
</xsl:template>

This template should be setting the indent (the
provision-distance-between-starts) by finding
the areasrefs attribute in the list with the maximum
number of entries.  You could file an RFE for it,
or fix it and file a patch.  8^)

-- 

Bob Stayton                                 400 Encinal Street
Publications Architect                      Santa Cruz, CA  95060
Technical Publications                      voice: (831) 427-7796
The SCO Group                               fax:   (831) 429-1887
                                            email: bobs@sco.com


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]