groff:如何正确渲染嵌入图像之间的段落?

groff:如何正确渲染嵌入图像之间的段落?

我有以下内容格罗夫来源使用妈妈宏:

.PRINTSTYLE TYPESET
.CAPTION_AFTER_LABEL IMG
.START
.PDF_IMAGE img/uc1.pdf 657p 152p SCALE 70 CAPTION "Figure 1: Activity diagram for UC1"
.PP
Placeholder text 1
.PDF_IMAGE img/uc2.pdf 345p 61p CAPTION "Figure 2: Activity diagram for UC2"
.PP
Placeholder text 2
.PDF_IMAGE img/uc3.pdf 517p 301p SCALE 75 CAPTION "Figure 3: Activity diagram for UC3"
.PP
Placeholder text 3
.PDF_IMAGE img/uc4.pdf 540p 470p SCALE 75 CAPTION "Figure 4: Activity diagram for UC4"
.PP
Placeholder text 4

它呈现如下:

错误渲染示例

由于第一页放不下第三张图片,因此将第三张图片推到下一页上,这样就可以了。然而,问题是Placeholder text 3并且Placeholder text 4应该分别出现在下一页上的第三个图像和第四个图像之后,而不是紧接在第一页上的第二个图像之后。即,我希望段落出现在生成的 PDF 中的前一个图像之后,顺序与 groff 源中的顺序相同。

没有任何论点PDF_IMAGE看起来他们会解决这个问题。

我尝试使用ALD移动页面上的垂直位置,认为PDF_IMAGE宏正在摆脱垂直位置,但这只会导致段落之前出现较大的垂直空白。

我怎样才能解决这个问题?

我如何编译 PDF

pdfmom example.mom > example.pdf

答案1

troff 有一个概念浮动要塞。这mom.FLOAT宏提供的。浮动开始和结束之间的内容保留在同一页面上,但可以滑过其他输出来实现此目的。该选项FORCE避免了这种情况。这 将文本对齐方式重置为无填充,因此您需要.JUSTIFY在浮动中使用来撤消此操作,但您已经有一个.PP应该包含此操作的 which 。例子:

.FLOAT FORCE
.PDF_IMAGE img/uc1.pdf 657p 152p SCALE 70 CAPTION "Figure 1: Activity diagram for UC1"
.PP
Placeholder text 1
.FLOAT OFF

相关内容