B.6. 文档格式化

B.6.1. 在初始文章页面上插入摘要

在某些情况下,一个可能很有价值的功能是在文章的初始页面上插入摘要。DocBook 文章没有将其作为标准功能包含在内。

要启用此功能,需要修改样式表文件。

示例 B-8. 在文章中插入摘要的样式表

<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!entity html-docbook PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA DSSSL>
<!entity print-docbook PUBLIC "-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN" CDATA DSSSL>
]>

<style-sheet>
<style-specification use="html">
<style-specification-body>

; Includes a summary at the beginning of an item. 
(define %generate-article-toc% #t)

</style-specification-body>
</style-specification>
<style-specification use="print">
<style-specification-body>

; Includes a summary at the beginning of an item.    
(define %generate-article-toc% #t)

</style-specification-body>
</style-specification>
<external-specification id="html" document="html-docbook">
<external-specification id="print" document="print-docbook">
</style-sheet>

B.6.2. 自动插入索引

尽管 DocBook 具有用于索引组成的标记,但索引不会自动生成。collateindex.pl 命令允许从源 DocBook 生成索引,以便包含到完成/转换后的文档中。

  1. 使用样式通过 jade 处理文档,以 HTML 为目标,并使用以下选项-V html-index.

    bash$ jade -t sgml \
    	-d html/docbook.dsl -V html-index document.sgml
    

  2. 使用 collateindex.pl 生成index.sgml文件。

    bash$  perl collateindex.pl \
    	-o index.sgml HTML.index
    

为了使以上示例生效,需要通过调用文件来定义一个 外部实体index.sgml.

示例 B-9. 配置外部实体以包含索引

<!DOCTYPE article PUBLIC "-//OASIS//DTD
DocBook V3.1//EN" [

<!-- Insertion of the index --> <!entity index SYSTEM
"index.sgml"> ]>
	

另请参阅 第 D.4 节,了解如何插入文本的必要信息。

Note为打印版本生成索引的奇怪行为
 

请记住,如果您尝试在 PS 或 PDF 输出上获得目录或索引,您需要至少运行三次 jadetexpdfjadetex。这是 TeX 要求的,而不是 DocBook 或相关应用程序要求的。