Text-Formatting

在 groff 中嵌入 ascii 圖?

  • November 3, 2020

我有 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 表示要由 pic 預處理器處理的圖形。您可以手動創建 pic 文件,使用網路上提供的 AT&T pic 手冊作為參考,或使用 xfig 等圖形程序。

但這似乎只接受圖片語言標記

無論如何我可以將 assci 圖紙插入 groff 嗎?

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 後記輸出

一個更好的方法是使塊居中的 DS 如下所示

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

.ft
.DE

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