【问题标题】:XSL-FO Table of Contents page number left aligned when page title is too long当页面标题太长时,XSL-FO 目录页码左对齐
【发布时间】:2020-06-14 23:23:02
【问题描述】:

我们正在使用此 XSL-FO 在目录页面中生成条目:

<fo:block text-align-last="justify">
    <xsl:value-of select="@title" />
    <fo:leader leader-pattern="dots" />
    <fo:page-number-citation ref-id="{@id}" />
</fo:block>

当页面的标题很长时,页码会换行。如果页面标题的长度足以将页码插入新行但又不够长到足以进入新行本身,则当页码应右对齐时,页码将左对齐。

据我所知,XML 是正确的,这是 XSL-FO 本身的问题。有没有一种方法可以在不重新设计任何其他布局的情况下使所有页码正确对齐?

更新:

感谢托尼·格雷厄姆的回复,不幸的是,出于某种原因,这对我来说似乎不是。在应该有一个连续领导者的行上,我最终会得到两组领导者点,它们之间有一个我无法摆脱的小间隙。但它确实激发了这个对我来说足够好的解决方案:

<fo:block text-align-last="justify">
    <xsl:value-of select="@title" />
    <fo:leader leader-pattern="dots" />
    <fo:page-number-citation keep-with-previous="always" ref-id="{@id}" />
</fo:block>

【问题讨论】:

  • 你用什么软件生成PDF?如果您使用的是 Antenna House Formatter,它具有处理这种情况的扩展:docs.antennahouse.com/formatter/…
  • 除非您使用的格式化程序支持强制 fo:leader 无条件扩展,例如上面的示例页面,否则无法解决这种情况。

标签: xsl-fo page-numbering


【解决方案1】:

您基本上有来自axf:leader-expansion 文档https://www.antenna.co.jp/AHF/help/v70e/ahf-ext.html#axf.leader-expansion 的示例 1、3 和 5

正如其他人指出的那样,您无法使用 vanilla XSL-FO 处理所有可能的 ToC 或索引变体,但您可以为您展示的示例获得结果:

<fo:flow flow-name="xsl-region-body"
     leader-alignment="reference-area"
     text-align-last="justify">
  <fo:block>Page with very short title<fo:leader leader-pattern="dots" keep-with-previous.within-line="always" /><fo:leader leader-pattern="dots" />3</fo:block>
  <fo:block>Page with very very very very very very very very long title<fo:leader leader-pattern="dots" keep-with-previous.within-line="always" /><fo:leader leader-pattern="dots" />4</fo:block>
  <fo:block>Page with very very very very very very very very very very very very long title<fo:leader leader-pattern="dots" keep-with-previous.within-line="always" /><fo:leader leader-pattern="dots" />5</fo:block>
</fo:flow>

使用 AH Formatter V7.0 测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-24
    • 2015-02-01
    • 2013-01-01
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    相关资源
    最近更新 更多