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] controlling ToC depth for an article with nestedsections (DB5)


Thanks, Bob. I might not use this customization for this document, but I 
would certainly consider it for others.

Is there a repository of customizations like this one (on the wiki 
perhaps)? It seems that customizations are frequently innovated, but 
often lost, saved only in the email archives of this list.

Cheers,

Brett

On 8/15/2007 12:15 PM, Bob Stayton wrote:
> Sorry, I meant to address that last one to Brett who asked the question.
> 
> Bob Stayton
> Sagehill Enterprises
> DocBook Consulting
> bobs@sagehill.net
> 
> 
> ----- Original Message ----- From: "Brett Leber" <bleber+@cs.cmu.edu>
> To: "Ron Catterall" <ron@catterall.net>
> Cc: <docbook-apps@lists.oasis-open.org>
> Sent: Tuesday, August 14, 2007 11:45 AM
> Subject: Re: [docbook-apps] controlling ToC depth for an article with 
> nested sections (DB5)
> 
> 
>> Thanks, Ron. With toc.section.depth set to 4, I now get the ToCs at the
>> desired section levels. Setting this parameter, however, has the
>> undesired consequence of increasing the depth of even the top-level
>> article ToC. What I want is shallow ToCs, but generated for sections
>> nested four levels deep.
>>
>> My understanding was that:
>>
>> - toc.section.depth controls depth of recursive sections in individual 
>> ToCs
>> - generate.section.toc.level controls the depth of sections for which
>> ToCs should be generated.
>>
>> But looking at Table 9.3 in Bob's book now, I see that there is an
>> interaction between these two parameters, which is undesirable in my
>> case. Quoting from DocBook XSL: The Complete Guide :
>>
>> "In other cases, there is no TOC because the toc.section.depth parameter
>> prevents it from having any entries."
>>
>> But if I increase toc.section.depth, then I get deeper ToCs at the
>> higher levels (article and article/section, for example)!
>>
>> I have to admit this is rather frustrating. I might have to abandon deep
>> ToCs altogether, as I'm trying to create a navigable PDF that documents
>> a DTD. Since XML elements are described in their own sections, I'm
>> getting very deep ToCs where I don't want them.
>>
>> Thanks,
>>
>> Brett
>>
>>
>> On 8/14/2007 10:55 AM, Ron Catterall wrote:
>>> Try setting toc.section.depth parameter to 3 or greater, the default 
>>> is 2 which gives Chapter, sect1 and sect2 in the TOC
>>> toc.max.depth has a default of 7, so toc.section.depth overrides
>>> See p.122-3 of Bob Stayton, DocBook XSL the Complete Guide
>>>
>>> You may have trouble with TOC for an appendix, for e.g. to get a list 
>>> of figures in a TOC (with XEP) for an appendix I use:
>>> <!-- 
>>> ==================================================================== -->
>>> <!-- generate tables of contents for book, preface, chapters and 
>>> appendices  -->
>>> <xsl:param name="generate.toc" >
>>>  appendix  toc,title,figure
>>>  book   toc,title
>>>  chapter       title
>>>  preface       title
>>> </xsl:param>
>>> <!--
>>> Note.  This code works OK in a <book>, but gives fatal errors in the 
>>> fo file if tried for an appendix in an article
>>>  -->
>>>
>>> <!-- 
>>> ==================================================================== -->
>>> <!-- list.of.titles code added to generate a list of figures at start 
>>> of an appendix
>>>  -->
>>>
>>> <xsl:template match="appendix/docinfo|appendixinfo"></xsl:template>
>>>
>>> <xsl:template match="appendix/title"></xsl:template>
>>>
>>> <xsl:template match="appendix/titleabbrev"></xsl:template>
>>>
>>> <xsl:template match="appendix/subtitle"></xsl:template>
>>>
>>> <xsl:template match="appendix">
>>>   <xsl:variable name="id">
>>>     <xsl:call-template name="object.id"/>
>>>   </xsl:variable>
>>>
>>>   <xsl:variable name="master-reference">
>>>     <xsl:call-template name="select.pagemaster"/>
>>>   </xsl:variable>
>>>
>>>   <fo:page-sequence hyphenate="{$hyphenate}"
>>>                     master-reference="{$master-reference}">
>>>     <xsl:attribute name="language">
>>>       <xsl:call-template name="l10n.language"/>
>>>     </xsl:attribute>
>>>     <xsl:attribute name="format">
>>>       <xsl:call-template name="page.number.format">
>>>         <xsl:with-param name="master-reference" 
>>> select="$master-reference"/>
>>>       </xsl:call-template>
>>>     </xsl:attribute>
>>>     <xsl:attribute name="initial-page-number">
>>>       <xsl:call-template name="initial.page.number">
>>>         <xsl:with-param name="master-reference" 
>>> select="$master-reference"/>
>>>       </xsl:call-template>
>>>     </xsl:attribute>
>>>
>>>     <xsl:attribute name="force-page-count">
>>>       <xsl:call-template name="force.page.count">
>>>         <xsl:with-param name="master-reference" 
>>> select="$master-reference"/>
>>>       </xsl:call-template>
>>>     </xsl:attribute>
>>>
>>>     <xsl:attribute name="hyphenation-character">
>>>       <xsl:call-template name="gentext">
>>>         <xsl:with-param name="key" select="'hyphenation-character'"/>
>>>       </xsl:call-template>
>>>     </xsl:attribute>
>>>     <xsl:attribute name="hyphenation-push-character-count">
>>>       <xsl:call-template name="gentext">
>>>         <xsl:with-param name="key" 
>>> select="'hyphenation-push-character-count'"/>
>>>       </xsl:call-template>
>>>     </xsl:attribute>
>>>     <xsl:attribute name="hyphenation-remain-character-count">
>>>       <xsl:call-template name="gentext">
>>>         <xsl:with-param name="key" 
>>> select="'hyphenation-remain-character-count'"/>
>>>       </xsl:call-template>
>>>     </xsl:attribute>
>>>
>>>     <xsl:apply-templates select="." mode="running.head.mode">
>>>       <xsl:with-param name="master-reference" 
>>> select="$master-reference"/>
>>>     </xsl:apply-templates>
>>>
>>>     <xsl:apply-templates select="." mode="running.foot.mode">
>>>       <xsl:with-param name="master-reference" 
>>> select="$master-reference"/>
>>>     </xsl:apply-templates>
>>>
>>>     <fo:flow flow-name="xsl-region-body">
>>>       <xsl:call-template name="set.flow.properties">
>>>         <xsl:with-param name="element" select="local-name(.)"/>
>>>         <xsl:with-param name="master-reference" 
>>> select="$master-reference"/>
>>>       </xsl:call-template>
>>>
>>> <!-- list.of.titles code added to generate a list of figures at start 
>>> of an appendix  -->
>>>       <fo:block id="{$id}">
>>>         <xsl:call-template name="appendix.titlepage"/>
>>>         <xsl:call-template name="list.of.titles">
>>>           <xsl:with-param name="titles" select="'figure'"/>
>>>           <xsl:with-param name="nodes" select=".//figure"/>
>>>         </xsl:call-template>
>>>       </fo:block>
>>> <!--  -->
>>>
>>>       <xsl:variable name="toc.params">
>>>         <xsl:call-template name="find.path.params">
>>>           <xsl:with-param name="table" 
>>> select="normalize-space($generate.toc)"/>
>>>         </xsl:call-template>
>>>       </xsl:variable>
>>>
>>>       <xsl:if test="contains($toc.params, 'toc')">
>>>         <xsl:call-template name="component.toc">
>>>           <xsl:with-param name="toc.title.p"
>>>                           select="contains($toc.params, 'title')"/>
>>>         </xsl:call-template>
>>>         <xsl:call-template name="component.toc.separator"/>
>>>       </xsl:if>
>>>       <xsl:apply-templates/>
>>>     </fo:flow>
>>>   </fo:page-sequence>
>>> </xsl:template>
>>>
>>>> I'm currently stuck in trying to get DocBook to produce ToCs in 
>>>> FO/PDF output for nested sections more than 0 levels deep. I see a 
>>>> ToC for article/section, but not one for article/section/section.
>>>>
>>>> In my customization layer, I have:
>>>>
>>>>   <xsl:param name="generate.toc">
>>>>     appendix toc,title
>>>>     article  toc,title
>>>>     section  toc
>>>>   </xsl:param>
>>>>
>>>>   <xsl:param name="generate.section.toc.level" select="5" />
>>>>
>>>> Using 1.73.0 (NS) and a DB5-valid doc.
>>>>
>>>> Any ideas?
>>>>
>>>> Thanks,
>>>>
>>>> Brett
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
>>>> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
>>>
>>>
>>> -- 
>>>
>>> Ron Catterall, Phd, DSc                         email: ron@catterall.net
>>> Prolongacion de Hidalgo 140 http://catterall.net/
>>> San Felipe del Agua                                        tel: +52 
>>> 951 520 1821
>>> Oaxaca      68020  Mexico                          fax: +1 530 348 8309
>>
>>
>> ---------------------------------------------------------------------
>> 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]