Groff

如何在 groff 中包含圖片作為外部文件?

  • May 8, 2021

使用時groffpic可以這樣做:

$ cat test.ms
.TL
Test

.NH 1 
Test Header

.PS
circle
arrow
box
.PE
$ cat test.ms | groff -ms -p > test.ps

這會生成一個有效test.ps文件,其中包含pic.

在較大的文件中,為了可維護性,可能需要將圖片pic描述保存在單獨的文件中,並從主文件中呼叫該.ms文件。

在嘗試使其正常工作時,我發現.so可以獲取外部文件,但是我發現設置將外部.pic文件嵌入到主.ms文件中的配置存在問題,如下所示:

$ cat test2.pic
.PS
circle
arrow
box
.PE
$ cat test2.ms
.TL
Test

.NH 1 
Test Header

.so test2.pic
$ cat test2.ms | groff -ms -p > test2.ps
test2.pic:1: macro error: bad arguments to PS (not preprocessed with pic?)
$ 

哪種方法可以將.pic主宏.ms文件中的程式碼作為外部文件包含在內?

您需要添加預處理器,這將通過包含實際文件soelim來消除命令。.so

在您的情況下,應該這樣做(注意添加的-s標誌):

cat test2.ms | groff -ms -p -s > test2.ps

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