XSL-FO 两个独立的脚注块 (XEP)

XSL-FO two separate footnote blocks (XEP)

XSL-FO (XEP), XSLT 2.0

在文本的学术版本中,我们经常需要两组单独的脚注,一组使用字母(a、b、c 等),一组使用数字(1、2、3 等)。 ).

fo:footnote/fo:inline 内使用 xsl:number 将相关脚注字母和数字内嵌在文本中效果很好。

现在我需要将脚注内容放入文本底部的两个单独的块中,看起来像这个例子:

但我无法确定使用 fo:footnote/fo:footnote-body 创建两个单独块的方法,首先是字母注释,其次是编号注释。

提前感谢您的任何想法。

我不相信你展示的结构是可能的,或者至少用自定义代码来操作生成的区域树(中间格式也称为 XEPOUT)。

1) 您显示为内联的第一组 "footnotes"。我假设这些可以 运行 一行、两行或三行。仅凭这一点我就看不出如何正确构建,可能没有一些技巧。这样的结构可以通过用带有 fo:inline 的标记围绕每个脚注并将其拉到页脚来实现。换句话说,不要将它们作为脚注。

由于它们在文档中是分开的,因此您需要制作标记 A、制作标记 B,因为它们出现在页面上......以及一个页脚,它可以拉出所有标记的范围,但仅限于该页面(首先从没有结转的页面开始)。现在,如果这些标记不存在,它就什么也做不了。因此,如果您知道例如您永远不会有超过 F 的标记,那么就可以做到这一点,然后在页脚中将 A 拉到 F。

2) 第二部分只是脚注

3) 但是,这两个区域会乱序,因为带有 A、B 的页脚……会在编号下方。因此,您将不得不开发自定义 XSL 来翻转这些区域。

最后,由于您无法动态调整页脚区域的大小,因此尚不清楚即使那样也能达到可接受的效果,尤其是 A、B 类型的脚注可能是一行或六行。只有已知固定的 space 可以工作时,您才能这样做。