PDF 输出问题(使用 xsl-fo 和 xml 创建圣经)

Problem with PDF Output (creating bible with xsl-fo and xml)

美好的一天, first:我是初学者关于我想问的问题:

我已经尝试 XSL-FO 一段时间了,但通常会达到我的极限。 我正在编写一本圣经,同时也在使用 XML。但是现在有设计问题,所以从PDF.

我希望 PDF 具有以下输出: http://www.freie-bibel.de/official/projekt/hag2latex8.png 它当然是乳胶,但输出应该是相似的。 特别是经文应该在外面。 脚注掉了。

然而,我并不太成功。 要编辑文件,您可以在此处查看: https://xsltfiddle.liberty-development.net/nb9PtDi/95

有没有人有什么想法可以帮助我? 非常感谢!

如果您使用的是 AH Formatter,您可以将节号放在 fo:change-bar-begin 中(参见 https://www.antenna.co.jp/AHF/help/en/ahf-ext.html#fo.change-bar-begin) and specify change-bar-placement="alternate" to get the correct positions (see https://www.w3.org/TR/xsl11/#change-bar-placement)。

我不知道 John 11:35 (https://en.wikipedia.org/wiki/Jesus_wept) 的德语是否也这么短,但是如果一行中有两个节号,这种技术会有问题。 LaTeX 版本如何处理?

(使用 AH Formatter,您也可以删除章节编号(参见 https://www.antenna.co.jp/AHF/help/en/ahf-ext.html#DropCapitals),但如果它只是一个数字而不是单词的首字母,您也可以使用fo:float.)

这里是使用 AH Formatter fo:float 扩展的例子。前缀 axf: 表示 AH Formatter 扩展。 ( xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" )

  <xsl:template match="VERSE">
    <xsl:apply-templates/>
    <xsl:text> </xsl:text>
  </xsl:template>

  <xsl:template match="VERSE/text()">
    <xsl:if test="not(preceding-sibling::node()) and not(parent::*/@vnumber = 1)">
      <fo:float axf:float-x="column-outside" axf:float-offset-x="-2em">
        <fo:block-container width="2em" top="-1lh">
          <fo:block line-height.conditionality="discard" text-align="center" text-align-last="center" padding-top="-1lh">
            <fo:inline font-weight="bold" font-size="0.9em">
              <xsl:value-of select="parent::*/@vnumber"/>
            </fo:inline>
          </fo:block>
        </fo:block-container>
      </fo:float>
    </xsl:if>
    <fo:inline font-style="{$Schriftschnitt}">
      <xsl:value-of select="."/>
    </fo:inline>
  </xsl:template>

屏幕截图: