8. 什么是字体约定?

首先:不要使用直接的字体操作符,例如\fB, \fP等等。使用带参数的宏。 这样可以避免一个常见的错误:忘记在单词末尾更改字体,导致粗体或斜体扩展到下一个字体更改。 相信我,这种情况比你想象的更常发生。tmac.an宏提供了以下字体样式

.B 粗体

.BI 粗体与斜体交替

.BR 粗体与罗马体交替

.I 斜体

.IB 斜体与粗体交替

.IR 斜体与罗马体交替

.RB 罗马体与粗体交替

.RI 罗马体与斜体交替

.SM 小号 (缩放为常规大小的 9/10)

.SB 小号粗体 (不是 小号与粗体交替)

X 与 Y 交替表示奇数参数以 X 字体排版,而偶数参数以 Y 字体排版。 例如

.BI "Arg 1 is Bold, " "Arg 2 is Italics, " "and Bold, " "and Italics."

双引号用于在参数中包含空格; 如果没有双引号,交替字体之间不会出现空格。 实际上,只有在想要避免字体更改之间出现空格的情况下,才需要使用交替字体的宏。 以上是可用的字体样式。 接下来是如何使用不同的字体样式:(部分内容无耻地从 man(7) 偷来)

虽然在 UNIX 世界中,手册页有很多随意的约定,但数百个特定于 Linux 的手册页的存在定义了我们的标准: 对于函数,参数始终使用斜体指定,即使在 SYNOPSIS 部分也是如此,其中函数的其余部分以粗体指定

.BI "myfunction(int " argc ", char **" argv );

文件名始终为斜体,但在 SYNOPSIS 部分中,包含的文件为粗体。 因此,您应该使用

.I /usr/include/stdio.h

.B #include <stdio.h>

特殊宏(通常为大写)为粗体

.B MAXINT

在枚举错误代码列表时,代码为粗体。 此列表通常使用 .TP(带悬挂标签的段落)宏,如下所示

.TP.B EBADF.I fd 不是有效的文件描述符。.TP.B EINVAL.I fd 不适合读取

对另一个手册页(或当前手册页的主题)的任何引用都以粗体显示。 如果给出了手册节号,则以罗马体给出,不带任何空格

.BR man (7)

首字母缩略词以小号字体排版时效果最佳。 因此我推荐

.SM UNIX

.SM ASCII

.SM TAB

.SM NFS

.SM LALR(1)