最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】Docbook中给章节添加索引编号

Docbook crifan 2592浏览 0评论

【问题】

已经可以用xsltproc将docbook 5的xml生成对应的html和pdf了。

但是生成出来的都是除了章有编号之外,其他不同层级的小节,都是没有编号的:

all section no index number

现在想要给所有章节都添加编号。

【解决过程】

1.之前就想要解决了。只是没去花时间折腾。

无意间,在这里:the section “Chapter and section numbering”, 找到解决方法了:

在xsltproc添加相关的–stringparam参数,启用section的autolabel和includes.component.label即可。

原先生成html的命令是:

xsltproc.exe –xinclude -o /home/CLi/develop/docbook/books/VBR/VBR/output/html/MPEG_VBR.html /home/CLi/develop/docbook/tools/docbook-xsl-ns-1.76.1/html/docbook_crl.xsl  /home/CLi/develop/docbook/books/VBR/VBR/src/MPEG_VBR.xml

添加参数后,变成:

xsltproc.exe –stringparam section.autolabel 1 –stringparam section.label.includes.component.label 1 –xinclude -o /home/CLi/develop/docbook/books/VBR/VBR/output/html/MPEG_VBR.html /home/CLi/develop/docbook/tools/docbook-xsl-ns-1.76.1/html/docbook_crl.xsl  /home/CLi/develop/docbook/books/VBR/VBR/src/MPEG_VBR.xml

这样,生成的html,即各个section小节,就带了索引编号了:

include section index

【总结】

官方的(英文)文档,内容真的很全。有问题,应该第一时间去哪里找找解决方法。

对于想要给全部章节都添加索引编号,只需使用xsltproc的时候,添加参数:

–stringparam section.autolabel 1 –stringparam section.label.includes.component.label 1

即可。

或者也可以通过给xsl文件中添加相应配置参数来实现此功能:

<xsl:param name="section.autolabel" select="1"/>
<xsl:param name="section.label.includes.component.label" select="1"/>

转载请注明:在路上 » 【已解决】Docbook中给章节添加索引编号

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.168 seconds, using 22.17MB memory