XSL-FO два отдельных блока сносок (XEP) - PullRequest
0 голосов
/ 11 ноября 2018

XSL-FO (XEP), XSLT 2.0

В академических изданиях текстов нам часто требуется два отдельных набора сносок, одна серия с использованием букв (a, b, c и т. Д.) И серия с использованием цифр (1, 2, 3 и т. Д.).

Получение соответствующих букв и цифр сноски в тексте с xsl:number внутри fo:footnote/fo:inline работает нормально.

Теперь мне нужно поместить содержание сноски в два отдельных блока внизу текста, чтобы они выглядели следующим образом: Footnotes in two blocks

Но я не могу найти способ с помощью fo:footnote/fo:footnote-body создать два отдельных блока: сначала примечания с буквами, затем вторые нумерации.

Заранее спасибо за любые идеи.

1 Ответ

0 голосов
/ 16 ноября 2018

Я не верю, что показанная вами структура вообще возможна или, по крайней мере, с помощью пользовательского кода для управления результирующим деревом областей (промежуточный формат также называется XEPOUT).

1) Первый набор «сносок», который вы показываете как встроенный.Я бы предположил, что они могут проходить одну, две или три строки.В одиночку я не мог понять, как правильно строить, возможно, без какого-то взлома.Такая структура может быть достигнута, если окружить каждую сноску маркером fo: inline и перетащить их в нижний колонтитул.Другими словами, не делайте их сносками.

Поскольку они разделены в документе, вам понадобится что-то вроде make mark A, make marker B, как они появляются на странице ... и нижний колонтитул, который будет тянуть вселенную всех маркеров, но только на этомстраница (сначала начинается на странице без переноса).Теперь, если бы эти маркеры не существовали, они бы ничего не потянули.Так что это можно было бы сделать, если бы вы знали, например, что у вас никогда не будет больше, чем маркеров F, а затем перетащите букву A через F. В нижнем колонтитуле.

2) Вторая часть - это просто сноски

3) Тем не менее, эти две области будут не в последовательности, так как нижний колонтитул с A, B ... будет ниже нумерованного.Поэтому вам нужно будет разработать собственный XSL, чтобы перевернуть эти области.

И, наконец, поскольку вы не можете динамически изменять размер области нижнего колонтитула, неясно, что даже это сработает приемлемо хорошо, особенно это так, что A, Сноски типа B могут состоять из одной или шести строк.Вы сможете сделать это только в том случае, если известно, что работает фиксированное пространство.

...