2015-10-29 22 views
1

我重構了手冊頁的段落,以便每個句子都是自己的行。使用man ./somefile.3進行渲染時輸出略有不同。如何在手冊頁中跳出新行

讓我給個例子:

This is line 1. This is line 2. 

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和降價有更多的經驗,我可以控制那裏,可以用troff/groff?如果可能,我想避免這種情況。我不想認爲它應該在那裏。

+1

注追隨者爲每個標籤的非常低的計數。鑑於'groff/troff',我會添加一個'[unix]'標籤,而不是linux。下面有很好的偵探工作。有時候這就是你所得到的,但是我很久沒有使用'troff'了。祝你好運! – shellter

+0

哦,上帝@shellter你是正確的感謝信息。 – mmlb

回答

1

troff輸入標準是必須在每一個句子的結尾換行,並讓排版完成其工作與灌裝。 (儘管我懷疑它是否是意圖,但它確實使它在源代碼控制方面表現更好)。因此,它認爲句子結束於以句點結束的行的末尾(或?!,並且可選地跟着'"*],)或者†)。它也認爲句子之間應該有兩個空格。這幾乎肯定來自當時貝爾實驗室的印刷標準;這很奇怪,這種行爲是而不是可以通過任何填充模式設置。

groff確實提供了一種方式來設置 「句幀間」 間距,與延伸.ss request

.SS word_space_size [sentence_space_size]

變化單詞之間的空間的大小。它將其單位作爲當前字體的空間寬度參數的十二分之一 。最初 word_space_size和sentence_space_size都是12.在填充模式下,值爲 指定最小距離。

如果對ss請求給出兩個參數,則第二個參數設置句子空間大小 。如果沒有給出第二個參數,則將句子 的空間大小設置爲word_space_size。在兩種情況下使用句子空間大小 :如果句子結尾在填充模式下出現在 行的末尾,則添加詞間空間和句子空間 ;如果兩個空格跟在 中間的句子結尾處,則第二個空格是句子空間。如果第二個 參數從未提供給ss請求,那麼UNIX troff 的行爲與GNU troff展示的行爲相同。在GNU troff中,正如在UNIX troff中,句子後面應該總是跟着一個換行符或兩個 之間的空格。

所以,你可以指定由提出請求

.ss 12 0 

據我知道,「一句話空間」應該是零寬度,這是一個groff的擴展;傳家寶troff支持它,但更老的dwb衍生版本可能不支持。

例子:

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. 

結果:

$ groff -T ascii spaces.tr |sed -n -e/./p 
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 
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

所以下面的工作,但我希望有一個更好的選擇。

This is line 1. \ 
This is line 2. 

呈現爲

This is line 1. This is line 2.