groffに画像を外部ファイルとして含める方法は?

groffに画像を外部ファイルとして含める方法は?

groffとを使用すると、pic次のことができます。

$ cat test.ms
.TL
Test

.NH 1 
Test Header

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

.test.pspic

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

関連情報