人体中带下划线的点的渲染

人体中带下划线的点的渲染

如果您查看man(1)(可能在/usr/share/man/man1/man.1.gz)using 的文档源,您会注意到这样的行 -

.IR page [.\| section \|]\ \|.\|.\|.\|]\ \.\|.\|.\&

这由 man 2.8.3 渲染为

page[.section] ...] ... 
----  -------

其中-表示下划线。我理解这个工作的方式是,未转义的空格被剥离,并在(因为斜体不可用,也许它会下划线)和(这是正常的罗马字体)IR之间交替,并且使用.基于此,我希望渲染看起来像 -IR\|

page[.section] ...] ... 
----  -------  - -  ?-

但为什么事实并非如此呢?

答案1

问题在于误解了字符代码的实际作用。如果您查看 Ossanna 和 Kernighan 的 Troff 用户手册,您会看到 -

\|     1/6 em narrow space character (zero width in nroff)

所以它实际上并没有自己改变字体,它只是引入了稀疏的空间。字体交替发生的原因是空间在正文中(参见男人(7))--

.IR page [.\| section \|]\ \|.\|.\|.\|]\ \.\|.\|.\&

这被分成 4 块

page
[.\|
section
\|]\ \|.\|.\|.\|]\ \.\|.\|.\&

字体在它们之间交替,给出您所看到的渲染,其中页面和部分带有下划线,而其他块则没有。

相关内容