【问题标题】:Keep-together on topic level在主题层面上保持一致
【发布时间】:2017-05-26 22:03:14
【问题描述】:

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

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

  • “keep-together.within-page”的值为 (20)
  • “keep-with-previous.within page”设置为自动(以覆盖任何其他设置)

当我查看 topic.fo 时,它似乎只适用于没有 href 属性的“空”topicrefs(没有正文的标题),但可能包含其他 topicrefs。

例子:

第 1 节

一些正文...

第 2 节

第 2.1 节

还有一些正文...

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

我有一些“keep-with-previous.within page”在不同级别的表格、图形、正文等元素上的值低于20。

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

最好的问候, 弗雷德里克

【问题讨论】:

  • 希望您使用的是 '.',而不是 ':'?也就是说,使用“keep-together.within-page”和“keep-with-previous.within page”,而不是“keep-together:within-page”和“keep-with-previous:within page”。参见,例如,w3.org/TR/xsl11/#datatype
  • 您使用的是什么格式化程序?您可能正在使用并非所有格式化程序都支持的某些功能。
  • 我不知道我为什么写“:”。我在用 ”。”。格式化程序是 FOP。谢谢!
  • 由于附加属性仅出现在 FO 中的一些预期位置,这看起来更像是 pdf2 和/或 dita-ot 2.4 XSLT 的问题。
  • @Tony:嗯,我在想我可能对topic 属性集有错误 期望。也许我应该使用另一组来获取具有实际内容的主题。

标签: xsl-fo dita-ot


【解决方案1】:

我尝试改用概念属性集,效果很好。可能是因为我所有的主题都是概念类型;)如果您使用其他主题,您应该使用相应的属性集来获得相同的效果。下面是我对 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>

【讨论】:

    猜你喜欢
    • 2021-08-15
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 2022-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 2013-08-30
    相关资源
    最近更新 更多