在使用groff
and时pic
可以执行以下操作:
$ 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
答案1
您需要添加soelim
预处理器,它将.so
通过包含实际文件来消除命令。
在你的情况下,这应该是(注意添加的-s
标志):
cat test2.ms | groff -ms -p -s > test2.ps