Man如何使用
如何使用.RB
和.IR
防止選項和參數之間的換行?
在編寫命令的手冊頁時,SYNOPSIS 包含:
.RB [ \-v .IR version ]
不幸的是,在格式化 SYNOPSIS 時,“
$$ -v" and “version $$”。 我怎樣才能避免這種情況?
添加明顯
根據多次要求,這裡是一個較長的範例輸入,因為缺乏想像力,以及顯示問題的螢幕截圖:
這是來源:
.TH FOOBAR-DEMO 8 2022-03-16 "Charlie Brown" "System Administration" .\" .SH NAME foobar-demo \- demonstration of manual formatting .\" .SH SYNOPSIS .na .nr hy-mode-save \n[.hy] .hy 0 .B foobar-demo123 .RB [ \-a .IR match_spec ] .RB [ \-\-resource-agent .IR match_spec ] .RB [ \-v .IR version ] .RB [ \-\-version .IR version ] .hy \n[hy-mode-save] .ad b .\" .SH DESCRIPTION The purpose of this page is none...
Thomas Dickey 有一個正確(且可移植)的解決方案,但像您一樣,由於字型選擇轉義序列,我發現它有點不受歡迎。我更喜歡man (7) 的字型樣式宏。
此外,
\
(反斜杠空格)轉義序列也可能很醜陋,因為它的牢不可破的空間是固定寬度的;在經過調整的線路上,這可能是顯而易見的和不和諧的。因此,我建議使用輸出行繼續轉義序列
\c
來允許輸入行結束而不會導致插入可破壞的空間,並使用\~
轉義序列用於不可破壞但可調整的空間。您在範例中關閉了調整,但正如我將展示的那樣,這不是必需的。通過使用
\~
,可以在大綱的各行之間均勻地進行調整,而不會造成問題。此轉義序列可移植到除 plan9port 之外的所有目前維護的troff**項目——groff從2000 年 12 月開始使用,Heirloom Doctools 從 2015 年 9 月開始使用,neatroff從 2016 年 9 月開始使用,以及mandoc(它不是troff,但會解析手冊頁)自 2019 年 3 月起。1在您的範例中,您使用了groff寄存器
.hy
和groff的擴展插值語法來實現它。如果您正在使用groff,您可能需要考慮它的SY
/對man (7) 宏包的YS
擴展來設置您的命令概要。2 (這些宏還為您保存和恢復斷字模式。).TH FOOBAR-DEMO 8 2022-03-16 "Charlie Brown" "System Administration" .\" .SH NAME foobar-demo \- demonstration of manual formatting .\" .SH SYNOPSIS .B foobar\-demo123 \" I escaped this hyphen as well. .RB [ \-a\~\c .IR match_spec ] .RB [ \-\-resource-agent\~\c .IR match_spec ] .RB [ \-v\~\c .IR version ] .RB [ \-\-version\~\c .IR version ] .\" .SH DESCRIPTION