Keep-together 在主题级别

Keep-together on topic level

我正在为 dita-ot 2.4 定制 pdf2 插件。我的格式化程序是 FOP。

我想让我的插件更喜欢主题之间的分页符。因此,我尝试在 "topic" 属性集中添加以下属性;

当我查看 topic.fo 时,它似乎仅适用于没有 href 属性的 "empty" topicrefs(没有 body 文本的标题),但它可能包含其他 topicrefs。

示例:

第 1 部分

一些body文本...

第 2 部分

第 2.1 节

更多 body 文本...

在此示例中,仅在第 2 节的第一个 fo:block 中找到所需的属性。

我有多个 "keep-with-previous.within page" 的元素值低于 20,例如表格、数字、body 不同级别的文本。

我只是想问一下是否有一个简单的解决方案来解决我的问题。最好在主题级别设置这些属性作为开始,而不仅仅是尝试 "glue" 将不同的部分放在一起。

此致, 弗雷德里克

我尝试改用概念属性集,效果很好。可能是因为我的topic都是Concept类型的;)如果你用的是其他topic,要用对应的attribute-sets才能达到同样的效果。这是我对 commons-attr.xsl:

的最终压倒性自定义
<xsl:attribute-set name="concept">
    <xsl:attribute name="keep-together.within-page">20</xsl:attribute>
    <xsl:attribute name="keep-with-previous.within-page">auto</xsl:attribute>
</xsl:attribute-set>