在 groff 中嵌入 ascii 图?

在 groff 中嵌入 ascii 图?

我有 groff 文件来生成以下格式的 pdf:

.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 表示图形,由图片预处理器处理。您可以使用网络上提供的 AT&T pic 手册作为参考,或者使用 xfig 等图形程序来手动创建 pic 文件。

但这似乎只能接受pic 语言标记

无论如何,我可以将 assci 绘图插入 groff 中吗?

答案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 后记输出

答案2

更好的方法是使 DS 块居中,如下所示

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

.ft
.DE

相关内容