使用 groff_ms 的字母

使用 groff_ms 的字母

在manpage的描述中groff_ms写道:

The ms macros are suitable for reports, letters, books, and technical documentation.

但是,我没有看到任何右对齐文本的命令(在本例中是第二个地址)。

.LP
Jane Doe
.br
Somewhere

.LP
John Doe
.br
Somewhere

.PP
Dear Jane,
.PP
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

答案1

ms 宏有显示它们是一组没有填充的行,因此每个输入行都是一个输出行,并且它们都可以缩进一定量,或者右对齐。缩进 12 厘米:

.DS I 12c
John Doe
Somewhere
Else
.DE

这会对齐文本的右端:

.DS R
John Doe
Somewhere
Else
.DE

还有一些基本的 troff 命令可以缩进文本,或者将其右侧与纸张的右边缘对齐。最简单的是.in X,其中 X 是缩进量,以数字和单位形式给出,例如 5i 表示 5 英寸,12c 表示 12 厘米。它适用于另一个.in没有 X 的缩进,这会恢复之前的缩进。例如:

.in 12c
 John Doe
 Somewhere
 Else
.in

请注意,每个文本行都以空格开头。这会强制创建一个新的输出行,因此您不需要.br(但您确实在输出中获得了空间)。另一种方法是使用 要求“不填充” .nf,则每个输入行都是一个输出行。您可以使用以下命令返回填充模式.fi

.in 12c
.nf
John Doe
Somewhere
Else
.fi
.in

上面给出了一个从左侧缩进的块。要实际将文本的右侧对齐为完全相同,您需要使用.ad r请求右对齐(仅适用于填充模式),并返回正常以.ad b调整两侧:

.ad r
 John Doe
 Somewhere
 Else
.br
.ad b

最后,快速居中或右对齐的常用技术是使用.tl带有 3 部分字符串的 title 命令:'left'center'right'。只需提供正确的部分,您就可以获得正确的调整线:

.tl '''John Doe'
.tl '''Somewhere'
.tl '''Else'

相关内容