Pdf

groff:如何正確渲染嵌入圖像之間的段落?

  • January 21, 2021

我有以下使用mom宏的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

troff 有一個浮動要塞的概念。這mom是由.FLOAT宏提供的。浮動開始和結束之間的內容保持在同一頁面上,但可能會滑過其他輸出以實現此目的。該選項FORCE避免了這種情況。該 將文本對齊方式重置為no fill,因此您需要.JUSTIFY在 float 中使用來撤消此操作,但您已經有一個.PP應該包含此內容的內容。例子:

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

引用自:https://unix.stackexchange.com/questions/630123