我正在使用内联容器来渲染一系列图像。我的源文件有 5 个段落,每个段落包含 1 个图像。
<para stylename="Numbered Figure">
<image file="P_1568.pdf" width="7.90cm" height="12cm"/>
</para>
我有一个 A4 页面,其中 2 张图像并排放置,2 张相互重叠。
我的 FO:
<xsl:when test="@stylename = 'Numbered Figure'">
<fo:block widows="1" orphans="1">
<fo:inline-container width="descendant::image/@width">
<fo:external-graphic src="descendant::image/@file">
<fo:block-container>
code for placing a number in the top left corner of the image
</fo:block-container>
</fo:inline-container>
<fo:block>
这看起来像 5 个内联容器被视为一个单词,所以我尝试在每个内联容器之间添加一个空格:
</fo:inline-container><fo:inline><xsl:text> </xsl:text></fo:inline>
这导致图像 4 和 5 包装到第二页,而不是我打算在第一页上显示图像 1-4。空间太宽,图像 3+4+空间不适合一行。
我尝试使用零宽度空间 (U+200B),但随后图像又回到第 1 页溢出。
到目前为止我尝试过的都没有成功:
- 在每个内联容器之后添加一个包含空格字符的 fo:inline
- 在包含 fo:block 上指定 widows="1" orphans="1"
我的目标是将图像 5 换到第二页。是否可以设置一个属性以允许在 2 个内联容器之间中断?
(我需要内联容器,因为我在每个图像的顶部放置了一个文本元素)。使用天线室格式化程序。
编辑:这可能是 Antennahouse Formatter 中的一个问题。当我的源包含 7 个图像时,图像放置正确(第 1 页上的 4 个图像,第 2 页上的 3 个图像)。