【问题】
已经可以用xsltproc将docbook 5的xml生成对应的html和pdf了。
但是生成出来的都是除了章有编号之外,其他不同层级的小节,都是没有编号的:
现在想要给所有章节都添加编号。
【解决过程】
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小节,就带了索引编号了:
【总结】
官方的(英文)文档,内容真的很全。有问题,应该第一时间去哪里找找解决方法。
对于想要给全部章节都添加索引编号,只需使用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中给章节添加索引编号