groffにASCII図を挿入しますか?

groffにASCII図を挿入しますか?

次の形式でPDFを生成するgroffファイルがあります。

.TL
Article title
.AU
Author name
.AI
Publication title
.SH
.LP
First paragraph
.PP
More paragraphs

groff -ms a.ms -T pdf > a.pdf次にPDFを生成するために実行します。私はgroffがフォーマットを簡単に指定する方法が好きですが、ASCIIプロットを含めることができるかどうか疑問に思います。

たとえば、次のようになります。

 +-------------------------+             +-----------------+
 |                         |             |                 |
 |      Hello              |             |                 |
 |                         +-------------+                 |
 |                         |             |                 |
 +-------------------------+             +-----------------+

一般段落で入力すると、次のようになります。

ここに画像の説明を入力してください。

とにかく、このタイプのチャートを使用できるようにスペースを予約するためにgroffにセクションを挿入できますか?

見ているマニュアルgroff_msわかります:

.PS と .PE は、ピクチャプリプロセッサによって処理されたグラフィックを表します。 Web で提供される AT&T pic ドキュメントを参照として使用するか、xfig などのグラフィックプログラムを使用して pic ファイルを手動で作成できます。

ところがこれは受け入れられそうだ。図言語タグ

とにかく、groffにassci画像を挿入できますか?

答え1

Groffは、使用または選択できるCW(固定幅)フォントをサポートしています。.ft CW\f(CW

パディングをオフにするには、ディスプレイまたは.DSペア.DE.nf使用します.fi

.TL
Two boxes, two ways
.LP
ASCII drawing
.DS C
.ft CW
 +-------------------------+             +-----------------+
 |                         |             |                 |
 |      Hello              |             |                 |
 |                         +-------------+                 |
 |                         |             |                 |
 +-------------------------+             +-----------------+
.ft
.DE
.LP
Pic drawing
.PS
box width 2 "\f(CWHello\fP"
line 1.5
box width 1.5
.PE

troff PostScript出力

答え2

より良い方法は、次のようにDSブロックを中央に配置することです。

.DS B
.ft CW
                     +-------------+     +------------+
                     |             |     |            |
                     |             |     |            |
                     |             |     +-+----------+
                     +-------------+       |
    +------------+         +-+             |          +--------------+
    |            |         |           +---+          |              |
    |            |         |           |              |              |
    |            |         |           |              +--+-----------+
    +------+-----+     +---+-----------+----------+      |
           |           |                          |      |
           +-----------+                          +------+
                       |                          |
                       |                          +------------+
    +------------------+                          |            |
    |                  +--------------------------+         +--+----------+
+---+---------+                                             |             |
|             |                                             |             |
|             |                                             +-------------+
+-------------+

.ft
.DE

関連情報