技巧

关于表格

在目录页中,会用每个表格的标题来生成表格清单。不希望被收录的可以使用 informaltable

可以通过在 CSS 中指定 table 和 informaltable 的样式来定义两种表格

交叉引用

可以放心的先引用,然后再定义被引用的部分。如果被引用的部分没有被定义,发布的时候 xsltproc 会给出提示

calloutlist 自动编号问题

callout 如果不是定义在 screen、programlisting、synopsis 等块元素中,则下一个 calloutlist 中编号并不会重新开始,而是继续上次的。

经测试,callout 并不需要定义在 screen 等元素中,只要两个 calloutlist 中间有这些元素隔开就可以了。

可以定义一个不常用的元素,如 synopsis,来进行分隔。

只要在两个 calloutlist 之间的任何位置插入一个空标记 <synopsis/> 就可以了

当然了,生成的 Html 效果有一点怪异。在 CSS 中加入下面代码可以隐藏。

.synopsis {display:none;}    

尽量把这个标记放在不影响显示的地方,例如两个 section 之间;这样即便意外的显示,也只显示在目录中

断行符

在 param.xsl 文件中加入

<xsl:template match="processing-instruction('linebreak')">
<br/>
</xsl:template>

在源文件中加入

<?linebreak?>

生成 Html 时替换为<br>
这里是演示

内部链接

内部链接时,要给结构元素定义 ID,而不要给 title 定义 ID,不然跳转时会到达错误的位置