我重构了一个手册页的段落,以便每个句子都是它自己的行。使用man ./somefile.3
进行渲染时输出略有不同。
让我举个例子:
This is line 1. This is line 2.
VS
This is line 1.
This is line 2.
渲染是这样的:
首先:
This is line 1. This is line 2.
第二
This is line 1. This is line 2.
句子之间有一个额外的空格。请注意,我已确保没有额外的空白区域。我有更多使用Latex,asciidoc和markdown的经验,我可以控制那里,是否可以使用troff
/ groff
?如果可能的话,我想避免这种情况。我不认为应该在那里。
答案 0 :(得分:1)
troff
输入标准是在每个句子的末尾添加换行符,并让排版员在填写时完成其工作。 (虽然我怀疑这是意图,它确实使它在源代码控制方面发挥得更好。)因此,它认为句子结尾位于以句点结尾的行尾(或?
或{{1 },并且可选地后跟!
,'
,"
,*
,]
或†)。它还认为句子之间应该有两个空格。这几乎肯定来自贝尔实验室当时的排版标准;很奇怪这种行为不能通过任何填充模式设置。
)
确实提供了一种设置“句子间”间距的方法,使用扩展的.ss
request:
.ss word_space_size [sentence_space_size]
更改单词之间的空格大小。它将单位作为一个单位 当前字体的空间宽度参数的第十二个。原来 word_space_size和sentence_space_size都是12.在填充模式下, 值指定最小距离。
如果ss请求有两个参数,则第二个参数设置 句子空间大小。如果没有给出第二个参数,则判刑 space size设置为word_space_size。使用句子空间大小 在两种情况下:如果一个句子的结尾发生在一个结尾 在填充模式中行,然后是单词间空格和句子空间 被添加;如果两个空格跟在句子中间的句子末尾 一行,然后第二个空格是一个句子空间。如果一秒钟 参数永远不会给ss请求,UNIX troff的行为 与GNU troff展示的相同。在GNU troff中,与在UNIX中一样 troff,一句话应该总是后面跟一个换行符 空格。
因此,您可以通过发出请求
来指定“句子空间”应为零宽度groff
据我所知,这是一个延伸;传家宝troff支持它,但较旧的dwb派生版本可能不支持。
示例:
.ss 12 0
结果:
This is line 1. This is line 2.
This is line 1. This is line 2.
This is line 1.
This is line 2.
SET SENTENCE SPACING
.ss 12 0
This is line 1. This is line 2.
This is line 1. This is line 2.
This is line 1.
This is line 2.
答案 1 :(得分:0)
所以以下内容可行,但我希望有更好的选择。
This is line 1. \
This is line 2.
呈现为
This is line 1. This is line 2.