我正在使用内联容器呈现一系列图像。我的源文件有5个段落,每个段落包含1个图像。
<para stylename="Numbered Figure">
<image file="P_1568.pdf" width="7.90cm" height="12cm"/>
</para>
我有一张A4纸,其中两张并排放,两张放在上面。
我的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自动换行。是否可以设置允许在两个内联容器之间中断的属性?
(我需要内联容器,因为我在每个图像的顶部放置了一个文本元素)。
使用天线室格式化程序。
编辑:
这可能是天线室格式化程序的问题。当我的源包含7个图像时,图像被正确放置(第1页上有4个图像,第2页上有3个图像)。