为在排版设备上打印而对文本进行格式化。
troff [ -a ] [ -i ] [ -q ] [ -z ] [ -F Directory ] [ -n Number ] [ -o List ] [ -r ANumber ] [ -s Number ] [ -T Name ] [ -mm | -me | -mptx | -ms | -man | -mv ] [ -M Media ] [ File ... | - ]
troff 命令读取一个或多个文件并将文本格式化,以便在照排机或者其它兼容的设备上打印。然后,需要使用后处理器来对 troff 命令到目标设备的输出进行后处理。请参阅下文的示例。
如果没有指定任何文件,或者最后一个参数不是 -(减号)标志,则缺省值就是读取标准输入。
对于 3812、3816 和 Hewlett-Packard LaserJet 系列 II 打印机来说,缺省的字体是打印机本地字体。这些打印机也可以使用其它字体,这些字体可以通过使用 troff .fp 伪指令来装入。这些字体储存在主机的 /usr/lib/font/devPrinter/bitmaps 目录下,可以在需要的时候下载到打印机。
以四种样式提供三种不同字型。下表展示了字型、样式和 troff 命令用于存取字体的名称之间的关系。
字型 常规 斜体 粗体 斜体
Roman cr cR Cr CR
Sans Serif cs cS Cs CS
Typewriter ct cT Ct CT
troff special sp
15 种标准 troff 大小提供了所有这些字体:6,7,8,9,10,11,12,14,16,18,20,22,24,28 和 36 磅。
例如 .fp 1 Cr 将罗马粗体字体装入位置 1。
-a | 将结果的可打印 ASCII 近似值发送到标准输出。 |
-FDirectory | 从 Directory/devName 目录而不是缺省的 /usr/lib/font/devName 目录(此目录下的 Name 由 -T 标志指定)存取字体信息。 |
-i | 在没有其它文件后读取标准输入。 |
-M Media | 指定纸张大小,进而确定纸上的可成像面积。Media 变量的有效值为:
注:
Media 变量不区分大小写。 |
-nNumber | 用 Number 变量指定的值来为第一打印页编号。 |
-oList | 只打印 List 变量指定的页,这样的页中包含一个以逗号隔开的页号和范围的列表: |
-q | 调用 .rd 请求的同步输入和输出方式 。 |
-rANumber | 将由 A 变量指定的寄存器设置为指定的编号。A 变量值必须具有单字符的 ASCII 名称。 |
-sNumber | 生成输出,使排版机停止每一个指定页编号。 |
-TName | 为指定的打印设备准备输出。照排机或其它兼容打印设备在操作系统国际扩展字符上使用以下 Name 变量。缺省值为 ibm3816。
注:
如果设备不支持指定的磅值,您就会收到bad point size的消息。troff 命令会使用最接近的有效的磅值来继续进行格式化。
注:
也可以将 TYPESETTER 环境变量设置为前述值之一,
而不使用 troff 命令中的 -T Name 标志。 |
-man | 选择 man 宏处理软件包。 |
-me | 选择 me 宏处理软件包。 |
-mm | 选择 mm 宏处理软件包。 |
-mptx | 选择 mptx 宏处理软件包。 |
-ms | 选择 ms 宏处理软件包。 |
-mv | 选择 mv 宏处理软件包。 |
请参阅《宏软件包之格式化工具》一书,以了解更多有关宏的信息。
-z | 只打印由 .tm(工作站消息)请求生成的消息。 |
- | 从标准输入强制读取输入。 |
TYPESETTER | 包含特定打印设备的信息。 |
以下是一个 troff 命令的示例:
troff -Tibm3812 File | ibm3812 | qprt
以下的宏软件包是《文本格式化系统中的格式化工具》的一部分,在接下来的页中有更详细信息的描述:
man | 使用户可以依靠联机手册页来创建自己的手册页。 |
me | 提供格式化页的宏。 |
mm | 使用 nroff 和 troff 格式化程序来格式化文档。 |
mptx | 格式化置换索引。 |
ms | 为不同样式的文章、论文和书籍提供格式化程序实用工具。 |
mv | 使用 troff 命令对英文视图和幻灯片进行排版。 |
man 宏软件包的提供,使用户可以依靠用 nroff 命令或 troff 命令处理过的联机手册页来创建自己的手册页。man 宏软件包与 nroff 命令或 troff 命令同时使用。
man 宏软件包内部包含特殊宏、字符串和数字寄存器,还有以下的格式化宏、字符串和寄存器的列表。除了由 troff 命令和 d、m 和 y 数字寄存器预定义的名称外,所有这样的内部名称都是 SymbolAlpha格式的,其中 Symbol 是 )、] 或 } 之一,Alpha 为任意一个字母数字字符。
man 宏软件包只使用罗马字体。如果某项的输入文本包含使用其它字体的请求(如 .I 格式化宏、.RB 请求或 \fI请求),就必须安装对应的字体。
以下宏用来修改使用 man 宏软件包格式化的手册页的特性。
在每个段落之前和处理字体和大小设置的宏之后(如 .I、.SM和 .B 格式化宏),输入字体和大小都将复位为缺省值。
除了.DT 和 .TH 格式化宏以外,其它格式化宏都不能够使用也不能够设置制表符停止位。
Text 变量代表最多 6 个单词;使用 『 』(双引号)以包含单词中的空格字符。如果变量是空的,可以在下一个含有待打印文本的输入文本行应用该处理。例如:使用 .I 格式化宏使整个行变为斜体,或使用 .SM 和 .B 格式化宏使整个行的文字变为小粗体字体。缺省情况下,nroff 命令关闭连字符处理,而在 troff 命令中可以使用。
如果省略 Indent 变量,则使用前一次设置的 Indent 值。此值的缺省值(对于 nroff 命令为 5 ens,对于 troff 命令为 7.2 ens)由 .TH、.P 和 .RS 格式化宏来设置; 值的恢复由 .RE 格式化宏来进行。Indent 的缺省单位是 ens。
Text 变量代表最多 6 个单词;使用 『 』(双引号)以包含单词中的空格字符。如果变量是空的,可以在下一个含有待打印文本的输入文本行应用该处理。例如:使用 .I 格式化宏使整个行变为斜体,或使用 .SM 和 .B 格式化宏使整个行的文字变为小粗体字体。缺省情况下,nroff 命令关闭连字符处理,而在 troff 命令中可以使用。
如果省略 Indent 变量,则使用前一次设置的 Indent 值。该值(对于 nroff 命令为 5 ens,对于troff 命令为 7.2 ens),由 .TH、.P 和 .RS 格式化宏来设置为缺省值,由 .RE 格式化宏进行恢复。Indent 变量的缺省的单位是 ens。
指示符 | 标记 |
---|---|
P | 专用 |
N | 注意事项 |
无指定的指示符 | 关闭专利标记。 |
如果省略了 Indent 变量,则使用前一 Indent 值。该值(对于 nroff 命令为 5 ens,对于 troff 命令为 7.2 ens)由 .TH、.P 和 .RS 格式化宏来设置为缺省值,由 .RE 格式化宏来进行恢复。Indent 变量的缺省单位是 ens。
Text 变量代表最多 6 个单词;使用 『 』(双引号)以包含单词中的空格字符。如果该变量是空的,可以在下一个含有待打印文本的输入文本行应用该处理。例如:使用 .I 格式化宏使整个行变为斜体,或使用 .SM 和 .B 格式化宏使整个行的文字变为小粗体字体。缺省情况下,nroff 命令关闭连字符处理,而在 troff 命令中可以使用。
Text 变量代表最多 6 个单词;使用 『 』(双引号)以包含单词中的空格字符。如果该变量是空的,可以在下一个含有待打印文本的输入文本行应用该处理。例如:使用 .I 格式化宏使整个行变为斜体,或使用 .SM 和 .B 格式化宏使整个行的文字变为小粗体字体。缺省情况下,nroff 命令关闭连字符处理,而在 troff 命令中可以使用。
Text 变量代表最多 6 个单词;使用 『 』(双引号)以包含单词中的空格字符。如果该变量是空的,可以在下一个含有待打印文本的输入文本行应用该处理。例如:使用 .I 格式化宏使整个行变为斜体,或使用 .SM 和 .B 格式化宏使整个行的文字变为小粗体字体。缺省情况下,nroff 命令关闭连字符处理,而在 troff 命令中可以使用。
变量 | 标记 |
---|---|
Title | 标题 |
Section | 节号 |
Commentary | 外部注释 |
Name | 新的手册名。 |
如果省略了 Indent 变量,则使用前一设置的 Indent 值。该值(对于 nroff 命令为 5 ens,对于 troff 命令为 7.2 ens)由 .TH、.P 和 .RS 格式化宏来设置为缺省值,由 .RE 格式化宏来进行恢复。Indent 变量的缺省单位是 ens。
\*R | 为 nroff 命令添加商标(Reg.),为 troff 命令添加注册商标符号。 |
\*S | 改为缺省类型大小。 |
\*(Tm | 添加商标指示符。 |
IN | 相对于副标题缩进左空白。缺省值为 troff命令为 7.2 ens,nroff 命令为 5 ens。 |
LL | 行长度包括由 IN 寄存器指定的值。 |
PD | 当前的段落间距。 |
-rs1 | 将缺省的页面大小由 8.5×1 1英寸减为 6×9 英寸,缺省的文本面积由 6.5 ×10 英寸减为 4.75×8.375 英寸。该标记还将缺省的类型大小由 10 磅减为 9 磅,缺省的垂直行间距由 12 磅减为 10 磅。 |
nroff -Tlp -man your.book | qprt -dp
tbl my.book dept.book | nroff -Tlp -man | col -Tlp | qprt -dp
grap group | pic | tbl | troff -Tibm3816 -man \ | ibm3816 | qprt -dp
nroff 和 troff 命令的宏定义的 me 软件包以不同格式为技术论文提供了格式化实用程序。某些情况下,可能需要 col 命令对 nroff 输出进行后处理。
宏请求在下一节的 me 请求 中定义。许多 nroff/troff 请求在同该软件包合用的时候可能会产生不可预测的结果。但是,以下请求可以在第一个 .pp 请求后使用:
.bp | 开始新的页。 |
.br | 在此处中断输出行。 |
.ce [Number ] | 居中对齐下一个指定行号。缺省值为 1。 |
.ls [Number ] | 设置行间距。如果 Number 被设为 1,文本为单倍行距;如果该值被设为 2,则为双倍行距。 |
.na | 使右边界不对齐。 |
.sp [Number] | 插入指定数量的空白行。 |
.sz [+]Number | 增加指定数量的磅值。 |
.ul [Number] | 为下一个指定的行号加下划线。缺省值为 1。 |
用于方程式和表格上的 eqn、neqn、refer 和 tbl 命令的预处理器输出可以当作输入使用。
以下列表中包括在 me 宏中所有有效的宏、字符串和数字寄存器。还包括选中的 troff 命令、寄存器和各种功能。
\(space) | 定义不可插入式空格(troff 命令的内置功能)。 |
\『 | 对行结束的注释(troff 命令的内置功能)。 |
\*# | 表示可选的、延迟的文本标记字符串。 |
\$Number | 内插由 Number 变量指定的值( troff命令的内置功能)。 |
\n($0 | 定义节的深度(数字寄存器)。 |
.$0 | 在打印节标题后启动(用户可以自定义的宏)。 |
\n($1 | 定义第一节的节号(数字寄存器)。 |
.$1 | 在打印深度为 1 的节之前启动(用户可以自定义的宏)。 |
\n($2 | 定义第二节的节号(数字寄存器)。 |
.$2 | 在打印深度为 2 的节之前启动(用户可以自定义的宏)。 |
\n($3 | 定义第三节的节号(数字寄存器)。 |
.$3 | 在打印深度为 3 的节之前启动(用户可以自定义的宏)。 |
\n($4 | 定义第四节的节号(数字寄存器)。 |
.$4 | 在打印深度为 4 的节之前启动(用户可以自定义的宏)。 |
\n($5 | 定义第五节的节号(数字寄存器)。 |
.$5 | 在打印深度为 5 的节之前启动(用户可以自定义的宏)。 |
\n($6 | 定义第六节的节号(数字寄存器)。 |
.$6 | 在打印深度为 6 的节之前启动(用户可以自定义的宏)。 |
.$C | 在章的开头被调用(用户可以自定义的宏)。 |
.$H | 表示文本的页眉(用户可以自定义的宏)。 |
\n($R | 定义显示出来的相对垂直间距(按缺省值定义的数字寄存器,不建议更改)。 |
\n($c | 定义当前栏的页眉(数字寄存器)。 |
.$c | 打印章标题(按缺省值定义的宏;不建议更改)。 |
\n($d | 表示延迟的文本号(数字寄存器)。 |
\n($f | 表示脚注号(数字寄存器)。 |
.$f | 打印页脚(按缺省值定义的宏;不建议更改)。 |
.$h | 打印页眉(按缺省值定义的宏;不建议更改)。 |
\n($i | 定义段落的基准缩进(数字寄存器)。 |
\n($l | 定义列宽(数字寄存器)。 |
\n($m | 表示有效的栏数(数字寄存器)。 |
\*($n | 表示节的名称(字符串)。 |
\n($p | 定义已编号的段落数(数字寄存器)。 |
.$p | 打印节标题(按缺省值定义的宏;不建议更改)。 |
\n($r | 定义文本的相对垂直间距(按缺省值定义的数字寄存器;不建议更改)。 |
\n($s | 定义列缩进(数字寄存器)。 |
.$s | 将脚注从文本中分离(按缺省值定义的宏;不建议更改)。 |
\n% | 定义当前页的页号(按缺省值定义的数字寄存器;不建议更改)。 |
\& | 表示 0 宽度的字符;用来隐藏控件(troff命令的内置功能)。 |
\(XX | 内插由 XX 变量指定的特殊字符(troff命令的内置功能)。 |
.(b | 开始块(宏)。 |
.(c | 开始居中对齐的块(宏)。 |
.(d | 开始延迟的文本(宏)。 |
.(f | 开始脚注(宏)。 |
.(l | 开始列表(宏)。 |
.(q | 开始引用(宏)。 |
.(xIndex | 在指定的索引中开始索引项(宏)。 |
.(z | 开始浮动保持(宏)。 |
.).)b | 结束块(宏)。 |
.).)c | 结束居中对齐的块(宏)。 |
.).)d | 结束延迟的文本(宏)。 |
.).)f | 结束脚注(宏)。 |
.).)l | 结束列表(宏)。 |
.).)q | 结束引用(宏)。 |
.).)x | 结束索引项(宏)。 |
.).)z | 结束浮动保持(宏)。 |
\*String | 内插由 String 变量指定的值(troff 命令的内置功能)。 |
\*String1String2 | 内插由 String1String2 变量指定的值(troff命令的内置功能)。 |
\** | 表示可选的脚注标记字符串。 |
.++mH | 定义论文章节的宏。由 m 变量指定的值定义的论文的各部分。 m 变量可以是以下值:
H参数定义新页眉。如果页眉中含有空格,则该页眉必须加引号。如果你希望在页眉中包含章号,则请使用字符串 \\\n(ch。例如,要将附录编号为 A.1、A.2...,请输入:.++ RA '''\\\n(ch.%'。 每部分(例如章和附录)的编号应该在 .+c 请求之前。 |
.+cTitle | 开始章(或附录,例如像 .++宏所设置的那样)。由 Title 变量指定的值就是章的标题(宏)。 |
\*, | 表示下加符号(字符串)。 |
\- | 表示减号(troff 命令的内置功能)。 |
\*- | 表示 3/4 单位长度的破折号(字符串)。 |
\0 | 定义不可插入式的数字宽度的空格(troff 命令的内置功能)。 |
.1c | 还原为单栏输出(宏)。 |
.2c | 开始双列输出(宏)。 |
\*: | 表示变音符号(字符串)。 |
\*< | 打开下标(字符串)。 |
\*> | 结束下标(字符串)。 |
.EN | 结束等式。由 eqn 命令或 neqn 命令(宏)生成的等式后面的空格。 |
.EQXY | 开始等式;中断并添加空格。由 Y 变量指定的值就是等式的值。可选的 X 变量的值可能是以下数中的任一个: |
\L'Distance' | 表示指定距离的垂直绘线型函数(troff 命令的内置功能)。 |
.PE | 结束 pic 图片(宏)。 |
.PF | 结束带有回扫的 pic 图片(宏)。 |
.PS | 启动 pic 图片(宏)。 |
.TE | 结束表格(宏)。 |
.TH | 结束表格头(宏)。 |
.TS X | 开始表格。如果 X变量的值是 H,则该表格具有重复的标题(宏)。 |
\*[ | 开始上标(字符串)。 |
\n(.$ | 定义宏的选项编号(按缺省值定义的数字寄存器;不建议更改)。 |
\n(.i | 表示当前的缩进(按缺省值定义的数字寄存器;不建议更改)。 |
\n(.l | 表示当前的行长(按缺省值定义的数字寄存器;不建议更改)。 |
\n(.s | 表示当前的磅值(按缺省值定义的数字寄存器;不建议更改)。 |
\*(4 | 表示重音符(字符串)。 |
\*(` | 表示抑音符(字符串)。 |
\(4 | 表示重音符(troff命令的内置功能)。 |
\(` | 表示抑音符(troff命令的内置功能)。 |
\*] | 结束上标(字符串)。 |
\^ | 表示 1/12 单位长度的窄空格(troff命令的内置功能)。 |
\*^ | 表示插入记号(字符串)。 |
.acAuthorNumber | 形成 ACM 格式的输出。Author 变量指定作者名。Number 变量指定总页数。必须在第一次初始化之前使用(宏)。 |
.ad | 设置文本对齐方式(宏)。 |
.af | 为寄存器分配格式(宏)。 |
.am | 附加到宏(宏)。 |
.ar | 设置页号为阿拉伯数字(宏)。 |
.as | 附加到字符串(宏)。 |
.b X | 用粗体字打印 X 变量指定的值。如果省略了 X 变量,则使用粗体字(宏)。 |
.ba +Number | 通过指定的 Number 值增加基准缩进。在普通文本,如段落上设置缩进(宏)。 |
.bc | 开始新的一列(宏)。 |
.bi X | 仅在非填充方式下,用粗斜体打印 X 参数指定的值。如果没有使用 X 参数,跟随粗斜体文本(宏)。 |
\n(bi | 显示块缩进(数字寄存器)。 |
.bl | 请求空行,即使在页首(宏)。 |
\n(bm | 设置底部标题的页边距(数字寄存器)。 |
.bp | 开始页(宏)。 |
.br | 设置中断;启动换行(宏)。 |
\n(bs | 显示块的前或后间距(数字寄存器)。 |
\n(bt | 块保持阈值(数字寄存器)。 |
.bu | 开始着重标记段落(宏)。 |
.bx X | 只将框中的 X 变量指定的值以非填充方式打印出来(宏)。 |
\c | 继续输入(troff 命令的内置功能)。 |
.ce | 使行居中对齐(宏)。 |
\n(ch | 定义当前章号(数字寄存器)。 |
.de | 定义宏(宏)。 |
\n(df | 显示字体(数字寄存器)。 |
.ds | 定义字符串(宏)。 |
\n(dw | 定义当前是星期几(数字寄存器)。 |
\*(dw | 定义当前是星期几(字符串)。 |
\n(dy | 定义当前的日期(数字寄存器)。 |
\e | 表示可打印的 \ (反斜杠) 的版本(troff 命令的内置功能)。 |
.ef'X'Y'Z' | 将偶数页的页脚设置为 XYZ 变量指定的值(宏)。 |
.eh'X'Y'Z' | 将偶数页的页眉设置为 XYZ 变量指定的值(宏)。 |
.el | 指定 if/else 条件的 else 部分(宏)。 |
.ep | 结束页(宏)。 |
\n(es | 表示等式的前或后间距(数字寄存器)。 |
\fFont | 设置直接插入字体,将其更改为 Font 变量指定的值(troff命令的内置功能)。 |
\f(Fontf | 设置直接插入字体,将其更改为 Fontf 变量指定的值(troff 命令的内置功能)。 |
.fc | 设置字段的字符(宏)。 |
\n(ff | 设置脚注字体(数字寄存器)。 |
.fi | 填充输出行(宏)。 |
\n(fi | 表示脚注的缩进,仅限于第一行(数字寄存器)。 |
\n(fm | 设置脚注的页边距(数字寄存器)。 |
.fo 'X'Y'Z' | 将脚注设置为 XYZ变量指定的值(宏)。 |
\n(fp | 设置脚注的磅值(数字寄存器)。 |
\n(fs | 设置脚注的前间距(数字寄存器)。 |
\n(fu | 设置脚注距离右边界的缩进(数字寄存器)。 |
\h'Distance' | 将本地水平移动值设置为指定的距离(troff 命令的内置功能)。 |
.hc | 设置连字符(宏)。 |
.he 'X'Y'Z' | 将页眉设置为 XYZ 变量指定的值(宏)。 |
.hl | 画水平线(宏)。 |
\n(hm | 设置页眉边距(数字寄存器)。 |
.hx | 取消下一页的页眉和页脚(宏)。 |
.hy | 设置连字符连接方式(宏)。 |
.i X | 用斜体打印 X 变量指定的值。如果省略了 X 变量,则跟随斜体文本(宏)。 |
.ie | 指定 if/else 条件的 else 部分(宏)。 |
.if | 指定条件(宏)。 |
\n(ii | 设置缩进段落缩进(数字寄存器)。 |
.in | 缩进(瞬时);扩大时使用 .ba 宏(宏)。 |
.ip X Y | 打开缩进段落,其悬挂标记由X 变量指定。缩进是由 Y 变量指定的 en 值。缺省值为 5(宏)。 |
.ix | 缩进,没有中断(宏)。 |
\l'Distance' | 启动指定距离的水平绘线型函数(troff 命令的内置功能)。 |
.lc | 设置引导符的重复字符(宏)。 |
.lh | 内插本地信头(宏)。 |
.ll | 设置行长(宏)。 |
.lo | 读取 .*x 格式的本地宏文件。必须在初始化之前使用(宏)。 |
.lp | 开始左对齐段落(宏)。 |
\*(lq | 指定左引号(字符串)。 |
.ls | 设置多行间距(宏)。 |
.m1 | 设置从页面顶部到页眉之间的间距(宏)。 |
.m2 | 设置从页眉到文本之间的间距(宏)。 |
.m3 | 设置从文本到页脚之间的间距(宏)。 |
.m4 | 设置从页脚到页面底部之间的间距(宏)。 |
.mc | 插入边距字符(宏)。 |
.mk | 标记垂直位置(宏)。 |
\n(mo | 定义月份(数字寄存器)。 |
\*(mo | 定义当前的月份(字符串)。 |
\nX | 内插由 X 变量值指定的数字寄存器(数字寄存器)。 |
\n(XX | 内插由 XX 变量指定的数字寄存器(数字寄存器)。 |
.n1 | 设置页边空白的行数(宏)。 |
.n2 | 设置页边空白的行数(宏)。 |
.na | 关闭文本对齐(宏)。 |
.neNumber | 设置垂直间距的指定行数(宏)。 |
.nf | 保留输出行不被填充(宏)。 |
.nh | 关闭连字符(宏)。 |
.np | 开始已编号的段落(宏)。 |
.nr | 设置数字寄存器(宏)。 |
.ns | 表示无间距方式(宏)。 |
\*o | 表示上标的圆圈(如 Norse A 使用的;字符串)。 |
.of'X'Y'Z' | 将奇数页的页脚设置为 XYZ 变量指定的值(宏)。 |
.oh'X'Y'Z' | 将奇数页的页眉设置为 XYZ 变量指定的值(宏)。 |
.pa | 开始页(宏)。 |
.pd | 打印已延迟的文本(宏)。 |
\n(pf | 表示段落字体(数字寄存器)。 |
\n(pi | 表示段落缩进(数字寄存器)。 |
.pl | 设置页面长度(宏)。 |
.pn | 设置下一页页号(宏)。 |
.po | 设置页面偏移量(宏)。 |
\n(po | 模拟页面偏移量(数字寄存器)。 |
.pp | 开始段落,首行缩进(宏)。 |
\n(pp | 设置段落的磅值(数字寄存器)。 |
\n(ps | 设置段落的前间距(数字寄存器)。 |
.q | 表示被加引号(宏)。 |
\*(qa | 用于全部(字符串)。 |
\*qe | 存在(字符串)。 |
\n(qi | 设置引号里面文字的缩进;同时缩短行(数字寄存器)。 |
\n(qp | 设置引号里面文字的磅值(数字寄存器)。 |
\n(qs | 设置引号里面文字的前或后间距(数字寄存器)。 |
.r | 将下文设置为罗马体(宏)。 |
.rb | 设置为 real 粗体字(宏)。 |
.re | 将制表符重新设置为缺省值(宏)。 |
.rm | 删除宏或者字符串(宏)。 |
.rn | 将宏或字符串重命名(宏)。 |
.ro | 将页号设置为罗马体(宏)。 |
\*(rq | 表示右引号(字符串)。 |
.rr | 删除寄存器(宏)。 |
.rs | 恢复寄存器(宏)。 |
.rt | 返回到垂直位置(宏)。 |
\sSize | 将直接插入大小更改为指定大小(troff命令的内置功能)。 |
.sc | 读取特殊字符和区别符的文件。必须在初始化前使用(宏)。 |
\n(sf | 设置节标题的字体(数字寄存器)。 |
.shLevelTitle | 表示接下来的是节标题;字体自动设为粗体。Level 变量指定节的级别。Title 变量指定节标题(宏)。 |
\n(si | 设置每节缩进深度的相对基数(数字寄存器)。 |
.sk | 保留下一页为空白页。前面的页只存储一页(宏)。 |
.smX | 设置为比 X 变量指定的值小一号的磅值(宏)。 |
.so | 表示源输入文件(宏)。 |
\n(so | 设置附加的节标题的偏移量(数字寄存器)。 |
.sp | 表示垂直间距(宏)。 |
\n(sp | 表示节标题的磅值(数字寄存器)。 |
\n(ss | 表示节的前间距(数字寄存器)。 |
.sx | 改变节的深度(宏)。 |
.sz +Number | 增加磅值至指定值(宏)。 |
.ta | 设置制表符停止位(宏)。 |
.tc | 设置制表符重复字符(宏)。 |
\*(td | 设置当前日期(字符串)。 |
n(tf | 表示标题字体(数字寄存器)。 |
.th | 以论题格式生成论文。必须在初始化前使用(宏)。 |
.ti | 表示临时缩进,只应用于下一行(宏)。 |
.tl | 表示 3 个部分的标题(宏)。 |
\n(tm | 设置主标题的页边距(数字寄存器)。 |
.tp | 开始标题页(宏)。 |
\n(tp | 设置标题的磅值(数字寄存器)。 |
.tr | 转换(宏)。 |
.u X | 将 X 变量指定的值加下划线,即使是在 troff 命令中。只采用非填充方式(宏)。 |
.uh | 设置节标题继续;字体自动采用粗体。与 .sh 宏相似,但是未编号(宏)。 |
.ul | 将下一行加下划线(宏)。 |
\v'Distance' | 本地垂直移动指定的距离(troff 命令的内置功能)。 |
\*v | 为捷克语的 e 倒置 v(字符串)。 |
\w'String' | 返回指定字符串的宽度(troff 命令的内置功能)。 |
.xl | 设置本地行长度(宏)。 |
.xpIndex | 打印指定的索引(宏)。 |
\n(xs | 设置索引项的前间距(数字寄存器)。 |
\n(xu | 设置索引的右边界缩进(数字寄存器)。 |
\n(yr | 表示年份,只使用后两位数字(数字寄存器)。 |
\n(zs | 设置浮动保持的前或后间距(数字寄存器)。 |
\{ | 开始条件组(troff 命令的内置功能)。 |
\| | 1/6 单位长度,小间距(troff 命令的内置功能)。 |
\} | 结束条件组(troff 命令的内置功能)。 |
\*~ | 表示代字号(字符串)。 |
有关更多信息,请参阅 -ME Reference Manual,作者 E. P. Allman。
mm 宏软件包提供能够对多种文档格式的文本,如备忘录、信件和报告等进行格式化的宏。用户输入和编辑文档的方式本质上与该文档将稍后在终端上还是在照相排版机上被格式化无关。
可能需要 col 命令对 nroff 输出进行后处理。特定的要求请参阅 col 命令。
mm 宏和附加信息被概述为以下标题:
.ND Date | 设置新的日期。 |
.TL [ChgNumber] [FileNumber] | 设置标题信息。下一行文本作为文档的标题。 |
.AF [CompanyName] | 指定作者的公司名。 |
.AU Name [Initials] [Loc] [Dept] [Ext] [Room] [Option...] | 设置作者信息。 |
.AT AuthorTitle [...] | 指定标题,跟在签名人的姓名后面(达 9 个选项)。 |
.TM [Number] | 设置技术备忘录的编号。 |
.AS [ 0 | 1 | 2 ] [Indent] | 仅启动技术备忘录和论文发行版的专用摘要: |
.AE | 结束摘要。 |
.NS | 启动符号,允许为紧跟 .AS 2/.AE 宏对的文件封面页打开备忘录(请参阅』 结束宏 『)。 |
.NE | 结束符号,允许为紧跟 .AS 2/.AE 宏对的文件封面页打开备忘录(请参阅 』 结束宏 『)。 |
.OK [Keyword ...] | 指定其它关键字(最多 9 个选项)。 |
.MT [type] [title] | 设置文档类型:
|
标题 | 使用用户提供的文本作为页码前缀 |
.P [ {0 1 2} ] | 启动段落: |
如果最后的选项 [1] 出现在列表启动宏中,则在各项之间没有空格。
.DS [{0 1 2 3 }] [{0 1}] [Number]
.DF [{0 1 2 3 }] [{0 1}] [Number]
第一选项:
设置脚注文本的格式化样式。mmt 命令的缺省值为 0。mm 命令的缺省值为 10。有关值请参阅以下表格。
第二选项:
复位第一级标题的脚注计数器。
.FD Arg. | 连字符 | 调整 | 缩进格式的文本 | 对齐的标号 |
---|---|---|---|---|
0 | .nh | .ad | 是 | 左侧 |
1 | .hy | .ad | 是 | 左侧 |
2 | .nh | .na | 是 | 左侧 |
3 | .hy | .na | 是 | 左侧 |
4 | .nh | .ad | 否 | 左侧 |
5 | .hy | .ad | 否 | 左侧 |
6 | .nh | .na | 否 | 左侧 |
7 | .hy | .na | 否 | 左侧 |
8 | .nh | .ad | 是 | 右侧 |
9 | .hy | .ad | 是 | 右侧 |
10 | .nh | .na | 是 | 右侧 |
11 | .hy | .na | 是 | 右侧 |
.PH 』'左'居中'右'『 | 指定页眉。 |
.OH 』'左'居中'右'『 | 指定奇数页的页眉。 |
.EH 』'左'居中'右'『 | 指定偶数页的页眉。 |
.PF 』'左'居中'右'『 | 指定页脚。 |
.OF 』'左'居中'右'『 | 指定奇数页的页脚。 |
.EF 』'左'居中'右'『 | 指定偶数页的页脚。 |
.BS | 启动下对齐块。 |
.BE | 结束下对齐块。 |
.PX | 为页眉标题调用用户出口。 |
.TP | 调用页面顶部的宏。 |
以下的宏是用来修改字体的,都有 1 到 6 个选项:
.IB | 斜体(nroff 的下划线)和粗体互换。 |
.BI | 粗体和斜体互换。 |
.RI | 罗马体和斜体互换。 |
.IR | 斜体(nroff 的下划线)和罗马体互换。 |
.RB | 罗马体和粗体互换。 |
.BR | 粗体和罗马体互换。 |
如果一个注册名称后面紧跟着一个 *(星号),则有两种方式来对注册器进行设置:在命令行中进行(请参阅 mm 命令中的示例)或在格式化程序读取 mm 宏定义之前。以下列表中括号内的数字为缺省值。
使用以下的转义序列打印特殊字符串 :
\*x | 用于带单字符名称的字符串(x) |
\*(xx | 用于带双字符名称的字符串(xx)。 |
BU | 项目符号。 |
Ci | 目录中的标题缩进级别 |
DT | 当前日期。由语言环境设置指定的用于的 LC_TIME 类别的特定于语言环境的日期格式用作缺省设置。该设置同 strftime 子例程的 %x 格式说明符相对应。使用 .ND 宏来更改当前日期。 |
EM | 破折号。 |
F | 脚注编号。 |
HF | 标题级字体字符串: |
HP | 不同级别标题的磅值。 |
Le | 等式列表的标题。 |
Lf | 图形列表的标题。 |
Lt | 表格列表的标题。 |
Lx | 显示列表的标题。 |
RE | mm 宏的 SCCS SID。 |
Rf | 引用编号器。 |
Rp | 引用页面的标题。 |
Tm | 商标。 |
` | 抑音符 |
' | 重音符。 |
^ | 长音符。 |
~ | 代字符号。 |
: | 小写变元音符号。 |
; | 大写变元音符号。 |
, | 变音符。 |
如果要自定义字符串、宏和寄存器,只能使用单个小写字母或者一个小写字母后跟一个非小写字母字符来命名。名称 c2 和 nP 是本规则的例外情况;他们是保留名称。
mptx 宏软件包为 .xx 宏提供了定义,该宏是用来为由 ptx 命令生成的改序索引进行格式化的。mptx 宏软件包不提供任何其它的格式化能力,如页眉和页脚等。mptx 宏软件包必须同 mm 宏软件包共同使用才能提供这些能力。在此情况下,在 -mm 调用后调用 -mptx 选项,方法如下:
nroff -mm -mptx File... | Printer
nroff 和 troff 命令宏定义的 ms 宏语句包为各种样式的文章、论文和书籍提供了格式化设施。在某些情况下,后处理输出可能会需要用到 col 命令。
宏请求在 ms 请求段中定义。同该软件包在一起,许多 nroff 和 troff 命令请求可能会产生无法预料的结果。但是,以下列表中的头四个请求可以在初始化之后使用,最后两个请求可以在初始化之前使用。
.bp | 开始新一页。 |
.br | 中断输出行。 |
.ce [Number ] | 居中对齐下一个指定行号。 |
.ls [Number ] | 设置行间距。将 Number 变量的值设为 1 以表示单空格文本;设置为 2 来表示双空格文本。 |
.na | 关闭右页边距对齐。 |
.sp [Number] | 插入指定数量的空白行。 |
允许使用 \f 和 \s 宏来更改字体和磅值。例如,\fIword\fR 用斜体字显示 word。用于等式、表格和引用的 tbl、eqn 和 refer 命令预处理程序的输出可以被接受作为输入。
通过内置数字寄存器可以在 ms 宏内对格式化距离进行控制。例如,以下数字寄存器将行长度设置为 6.5 英寸:
.nr LL 6.5i
有关 ms 宏寄存器的更多信息,请参阅 ms 寄存器。
以下是外部 ms 宏请求:
以下是一个数字寄存器及其缺省值的列表:
PS | 设置磅值。对段落生效。缺省值为 10。 |
VS | 设置垂直间距。对段落生效。缺省值为 12。 |
LL | 设置行长度。对段落生效。缺省值为 6i。 |
LT | 设置标题长度。对下一页生效。缺省值为 LL 寄存器的值。 |
FL | 设置脚注长度。对下一个 .FS 请求生效。缺省值为 5.5i。 |
PD | 设置段落距离。对段落生效。缺省值为 1v (在 nroff 中),.3v(在 troff中)。 |
DD | 设置显示距离。对显示生效。缺省值为 1v(在 nroff 中),.5v(在 troff 中)。 |
PI | 设置段缩进。对段落生效。缺省值为 5n。 |
QI | 设置引用缩进。对下一个 .QP 请求生效。缺省值为 5n。 |
FI | 设置脚注缩进。对下一个 .FS 请求生效。缺省值为 2n。 |
PO | 设置页偏移量。对下一页生效。缺省值为 0(零)(在 nroff)、1i(在 troff 中)。 |
HM | 设置页眉边距。对下一页生效。缺省值为 1i。 |
FM | 设置页脚边距。对下一页生效。缺省值为 1i。 |
FF | 设置脚注格式。对下一个 .FS 请求生效。缺省值为 0(零)(1、2、3 可用)。 |
当重新设置数字寄存器的值的时候,请确保已经指定了合适的单位。设置行长度为 7i,而不是仅仅是 7,后者将会导致每行只输出一个字符。将 FF 寄存器设置为 1(一)可以禁止脚注上标。将其设置为 2 也可以禁止首行缩进。将 FF 寄存器设置为 3 可以生成同 .IP请求相似的脚注段落。
以下是一个 ms 宏中的可用字符串寄存器列表。这些字符串寄存器可以用于文本中的任何地方。
\*Q | 打开引号(』在 nroff 中;` ` 在 troff 中) |
\*U | 关闭引号(『 在 nroff 中;' ' 在 troff 中) |
\*- | 破折号(-- 在 nroff 中;- 在 troff 中) |
\*(MO | 月份 |
\*(DY | 日(当前日期) |
\** | 自动编号的脚注 |
\*' | 重音符(字母前) |
\*` | 抑音符(字母前) |
\*^ | 抑扬音符(字母前) |
\*, | 变音符(字母前) |
\*: | 变元音(字母前) |
\*~ | 代字号(字母前)。 |
当和 .AM 请求一起使用可用的扩展重音符定义时,这些字符串应该在要加重音的字母之后,而不是在这些字母之前。
该软件包简化了视图的排版,以及不同大小的投影幻灯片。虽然若干个宏可以完成制造透明度所需的大多数格式化任务,但是由 troff、tbl、pic 和 grap 命令组成的整个设施可以用来完成更为困难的任务。
输出可以在多数终端中进行预览,特别是 Tektronix 4014。对于该设备,请指定 -rX1 标志(它在 mvt 命令带 -D4014 标志被调用时自动指定)。要预览其它终端上的输出,请指定 -a 标志。
mv 宏在以下的标题下进行汇总:
在以下九个宏中,名称的第一个字符(V 或 S)分别指视图和幻灯片。第二个字符表示片是否是方的(S)、小宽度(w)、小高度(h)、大宽度(W)或者大高度(H)。幻灯片比相应的视图要窄。幻灯片的长短比例要大于视图。结果是,幻灯片可以作为视图使用,但是视图不能作为幻灯片使用。另一方面,视图可以容纳稍多的文本。
.VS [FoilNumber] [FoilID] [Date] | 开始一个方形视图。幻灯片大小为常宽各 7 英寸。foil-start 宏将所有变量(如缩进和磅值等)都重新设置为初始缺省值,不包括从上一个 foil-start 宏继承的 FoilID 和 Date 变量值。.VS 宏还会调用 .A 宏。 |
.Vw、 .Vh、.VW、 .VH、.Sw、 .Sh、 .SW、.SH | 同 .VS 宏相同,除了这些宏启动的视图(V)或者幻灯片(S)是小宽度(w)、小高度(h)、大宽度(W)、或者大高度(H)的。
建议使用以下宏: |
.Vw [FoilNumber] [FoilID] [Date] | 与 .VS 宏相同,除了幻灯片为 7 英寸宽,5英寸高之外。 |
.Vh [FoilNumber] [FoilID] [Date] | 与 .VS 宏相同,除了幻灯片为 5 英寸宽,7英寸高之外。 |
.VW [FoilNumber] [FoilID] [Date] | 与 .VS 宏相同,除了幻灯片为 7 英寸宽,5.4英寸高之外。 |
.VH [FoilNumber] [FoilID] [Date] | 与 .VS 宏相同,除了幻灯片为 7 英寸宽,9英寸高之外。 |
.Sw [FoilNumber] [FoilID] [Date] | 与 .VS 宏相同,除了幻灯片为 7 英寸宽,5英寸高之外。 |
.Sh [FoilNumber] [FoilID] [Date] | 与 .VS 宏相同,除了幻灯片为 5 英寸宽,7英寸高之外。 |
.SW [FoilNumber] [FoilID] [Date] | 与 .VS 宏相同,除了幻灯片为 7 英寸宽,5.4英寸高之外。 |
.SH [FoilNumber] [FoilID] [Date] | 与 .VS 宏相同,除了幻灯片为 7 英寸宽,9英寸高之外。 |
.S、.DF、.DV 和 .U 宏不会造成中断。.I 宏只有在被超过一个的变量调用时才会造成中断。其它所有的宏都会造成中断。
mv 宏软件包还能识别对应于以下小写 troff 命令请求的大写同义词:
Tm 字符串产生商标符号。
LANG | 确定用于是或否查询的 y 的语言环境的等价值。允许的肯定响应在语言环境变量 YESSTR 中进行定义。如果没有设置 LANG,或者将其设置为空字符串,将使用缺省的 C 语言环境中的 YESSTR。 |
以下的 nroff 和 troff 请求包括在指定的工作文件或者标准输入中。当文件或者标准输入被使用 nroff 或 troff 命令处理时,nroff 和 troff 请求控制格式化输出的特性。nroff 和troff 请求按功能分组,在以下各部分中:
对于写成 +Number 的数字变量,可以如下表示:
该命令结尾注释在特定的适用的请求中被引用。
nroff 和 troff 请求都接受带有附加量度指示符的数字输入,如下表所示,其中 S 是当前输入磅值,V 当前垂直行间距(按基本单位计算)。C 是正常字符宽度(按基本单位计算)。
在 nroff 请求中,em 和 en 都等于 C,具体值由输出设备决定;最常用的值为 1/10 和 1/12 英寸。nroff 请求中的实际字符宽度不需要都是相同的,使用 - > 等预定义字符串构建的字符的宽度经常会超出宽度范围。
日语支持:在 nroff 命令的输出中,所有双宽度的日本字符,如所有日语汉字和一些片假名字符等都有一个等于 2 C 的固定宽度值。所有的单宽度日本字符,如一些片假名字符,有等于 C 的固定宽度。
水平方向控制字符、垂直方向控制字符以及请求 .nr、.if 和 .ie 的缩放如下:
方向 缺省 请求或功能 测量 水平 Em (m) .ll, .in, .ta, .lt, .po, .mc, \h, \l 垂直 垂直行 .pl, .wh, .ch, .dt, 空格(v) .sp, .sv, .ne, .rt, \v \x, \L 寄存器方向 基本单位(u).nr、.if. .ie 或者有条件 杂项 点(p) .ps, .vs, \H, \s
所有其它请求都会忽略缩放指示符。当对已经包含有合适的缩放数字的数字寄存器进行解释以提供数字输入的时候, 可能需要附加单位缩放指示符 u 来防止多余的不合适的缺省缩放。Number 可以指定为十进制分数的形式,但是最终存储的参数会被四舍五入为基本单位的整数。
.bp [+/-][Number] | 指定中断页。弹出当前页,开始新一页。如果指定了 +/-Number 变量,它的值将成为新页面的编号。也可参考 .ns 请求。
该请求类似于 .br 请求,通常会引起行中断。带控制字符 』 ' 『(而不是 』.『)调用该请求会禁止该中断功能。 初始值:Number= 1 如果没有指定值:- |
.mk Register | 在内部寄存器(与当前的转换级别相关联)或者在指定的寄存器(如果给出了的话)标记当前垂直位置(或者当前转换中的位置)。Register 变量是一个数字寄存器的 ASCII 名称。方式或者相关的值同当前的转换级别相关联。有关更多信息,请参阅 .rt 请求。
初始值:无 如果没有指定值:内部 |
.ne Number D | 表示对指定的垂直空间的需求。如果所需的页面空间(Number)比下一个陷阱(D)的距离大,出现一个 D 大小的前向垂直空间,由它激发陷阱。如果页面上没有保留下的陷阱,由 D 变量指定的大小就是到页底的距离。如果到下一个陷阱的距离(D)小于一个垂直行间距(v),在陷阱激发之前,仍然可以输出另一行。在转换中,由 D 指定的大小为到转换陷阱的距离(如果有的话),或者非常大。
D 的值通常也包含在 .t Number 寄存器中。方式或者相关的值同当前的转换级别相关联。 初始值:Number=1V 如果没有指定值:- |
.pl [+/-][Number] | 将页面长度设置为 +/-Number 变量的值。nroff 命令中的内部限制约为 136 英寸,但是会随着 troff 命令中的设备类型而变化。troff 命令的最大良好工作值为 75 英寸。当前的页面长度在 .p 寄存器中可用。
初始值:11 英寸 如果没有指定值:11 英寸 |
.pn [+/-][Number] | 指定下一页(当出现时)的页编号由 +/-Number 变量指定。.pn 请求必须出现在文本被第一次打印之前或者中断对第一页的页号造成影响之前。当前的页号在 % 寄存器中。
初始值: Number=1 如果没有指定值:忽略 |
.po [+/-][Number] | 指定页偏移量。当前的左页边距设置为 +/-Number 变量值。初始 troff 命令值提供了 1 英寸的左边距。有关更多信息,请参阅 』行长度和缩进『。当前的页偏移量在 .o 寄存器中可用。
初始值:0 用于 nroff 命令;1 用于 troff 命令。 如果没有指定值:前一值 |
.rt [+/-][Number] | 仅向上返回到当前转换中的已标记的垂直位置。如果已给出 +/-Number 变量值(相对于当前位置),此位置就是由 +/-Number 变量指定的从页面或转换顶部算起的值。如果 Number 变量没有被指定,此位置将被上一个 .mk 请求标记。方式或者相关的值与当前的转换级别相关联。
.sp 请求而不是 .rt 请求可以在所有情况下使用,通过留空到存储在一个明确的寄存器中的一个绝对位置,例如,当使用顺序 .mk Register . . . .sp|\nRu 时。 初始值:无 如果没有指定值:内部 |
.ad Indicator | 开始行调整。如果填充方式没有打开,调整将被延迟,直到填充方式被重新开启。如果 Indicator 变量存在,调整类型将像以下列表所显示的那样更改:
调整指示符可以是一个从 .j 寄存器中获取的数字。 |
日语支持:
空白文本行 | 引起中断并输出一空白行,同 .sp 1 请求完全一样。 |
.ls Number | 将行间距设置为由 +/-Number 变量指定的值。Number -1 Vs(空白行)变量的值附加到每个输出文本行。如果文本或者前一个附属空白行到达陷阱位置,则省略附加空白行。相关的值是当前环境的一部分。
初始值:1 如果没有指定值:前一值 |
.ns | 开启无间距方式。一旦开启,无间距方式将禁止没有下一个页编号的 .sp 和 .bp 请求。无间距方式在输出一行时被关闭,或者用 .rs 请求关闭。该请求通常会造成一个中断。
初始值:空格 如果没有指定值: - |
.os | 输出保存垂直间距。无间距方式无效。用于输出由前一个 .sv 所请求的一个垂直间距块。
初始值:- 如果没有指定值: - |
.rs | 恢复间距。无间距方式关闭。该请求通常会造成一个中断。
初始值:无 如果没有指定值: - |
.sp Number | 在每个方向上设置垂直间距。如果 Number 变量值为负,移动将是向后(向上)的,并且被限制在到页面顶部的距离内。向前(向下)的移动被截断为到最近的陷阱的距离。如果无间距方式打开,不会出现任何间距。请参阅 .ns 和 .rs 请求。该请求类似于 .br 请求,通常会导致行中断。带控制字符 』'『(而不是 』.『)调用该请求禁止该中断功能。
初始值:- 如果没有指定值:1V |
.sv Number | 保存指定大小的一个连续垂直块。如果到下一个陷阱距离大于 Number 变量的值,指定的垂直间距将被输出。无间距方式无效。如果此距离小于指定的垂直间距,不会立即输出垂直间距,
但是会被记忆用于接下来的输出(请参阅 .os 请求)。随后的 .sv 请求会覆盖所有被记忆的 Number 变量值。
初始值:- 如果没有指定值:Number=1V |
.vs Number | 将垂直基线间距的大小 V 设置为 Number 变量的值。瞬时的额外垂直间距可以由 \x N 来指定。相关的值是当前环境的一部分。
初始值: Number 变量对于 nroff 命令等于 1/16 英寸,对于 troff 命令等于 12 磅。 如果没有指定值:前一值 |
.am Macro1 [Macro2] | 附加 Macro 1;;附加 .de 请求的版本。Macro1 和 Macro2 变量都必须是一个或者两个 ASCII 字符。Macro2 是用来结束转换的终止序列。
初始值: - 如果没有指定值:.Macro2=.. |
.as StringName String | 将指定的字符串附加给由 StringName 变量指定的值;附加 .ds 请求的版本。StringName 变量的值必须是一个或者两个 ASCII 字符。
初始值: - 如果没有指定值:忽略 |
.ch Macro [Number] | 将指定的宏的陷阱位置更改为 Number 变量指定的值。如果不存在 Number 变量,陷阱(如果有的话)将被移除。Macro 变量必须是一个或者两个 ASCII 字符。
初始值: - 如果没有指定值: - |
.da [Macro] | 转换,附加指定的宏和附加 .di 请求的版本。Macro 变量必须是一个或者两个 ASCII 字符。方式或者相关的值同当前的转换级别相关联。
初始值: - 如果没有指定值:结束当前的转换 |
.de Macro1 [Macro2] | 定义或者重新定义由 Macro1 变量指定的值。宏的内容在下一个输入行上开始。输入行在复制方式中被复制,直到定义被一个以 .Macro2 开始的行停止。如果 Macro2 变量不存在,定义由 』..『 开始的行停止。一个宏可以包含 .de 请求,只要停止宏不同或者包含的定义结束符被隐藏。』..『 可以被隐藏为 』\\ .『,它以 』\...『 的形式复制,并被重读为 』..『. Macro1 和 Macro2 变量都必须是一个或者两个 ASCII 字符。
初始值: - 如果没有指定值:.Macro2=.. |
.di [Macro] | 转换输出到指定的宏。在转换过程中会发生普通文本处理,除非没有执行页面偏移。当 .di 或者 .da 请求没有变量时,转换结束。当使用嵌套转换被时,不会显示该类型的额外请求。Macro 变量必须是一个或者两个 ASCII 字符。方式或者相关的值同当前的转换级别相关联。
初始值:- 如果没有指定值:结束 |
.ds StringName String | 将由 StringName 变量指定的字符串定义为包含由 String 字符串指定的值。String 中的所有初始双引号都会被取消,以允许初始空白。StringName 变量必须是一个或者两个 ASCII 字符。 |
.ds StringName ^A <SetNumber> <MessageNumber> [^A』<DefaultMessage> 『] [^A<Argument> ^B<Argument> ^B <Argument>...] | 提供一个替换 .ds 语法,该语法可以将消息编目用于独立于语言的字符串定义。
在特定语言环境编目内的消息 SetNumber 和 MessageNumber 的基础上,消息编目在复制方式中被读取,相应的消息被置于 StringName 变量中。要向下兼容,可以省略指定消息集和消息编号的初始序列。ASCII 码控制符 A(^A)为消息标识、缺省消息和可选自变量列表定界。ASCII 码控制符 B(^B)为单独的可选自变量列表定界。 在以下示例中, .ds {c ^A2 41^A』ERROR: (%1$s) input line \ %2$s『 ^A\n(.F^B\n(.c 2 是消息集的编号。 41 是消息编号。 引号内的文本(』. . .『) 是默认的消息。 \n(.F 是当前输入文件的名称。 \n(.c 是从输入文件中读取的行号。 如果您假设 troff 命令以如下条件运行: 然后字符串 {c 被定义为: 错误: (paper.doc)输入 行 123 其它示例为: .ds {c ^A2 41 /* Without optional default message */ .ds {c ^A2 41^A』错误:(%1$s)输入文件 \ %2$s『 /* Without optional arguments */ |
如果集编号和消息编号都被设置为零,则以当前本地格式返回当前的日期。可以在缺省消息字段中定义用户定义日期格式字符串。用户定义格式字符串必须符合 AIX 5L Version 5.2 Technical Reference: Base Operating System and Extensions 中的 strftime 函数所规定的转换规格。 在以下示例中: .ds DT^A0 0 如果当前的日期是美国英语语言环境中的 1991 年 7 月 10 日,DT 将被定义为 7/10/91。 .ds DT^A0 0^A』今天是 %B %d, %Y『 如果当前日期是美国英语环境中的 1991 年 7 月 10 日,DT 将被定义为今天是 1991 年 7 月 10 日。 第二个语法方法使用不广泛。它在随系统一同提供的 nroff 和 troff宏文件中使用,主要便于内部生成的消息的国际化。 初始值:- 如果没有指定值:忽略 |
|
.dt Number Macro | 当前的转换中,在 Number 变量指定的位置上安装转换陷阱,以开始指定的宏。另一个 .dt 请求重新定义转换陷阱。如果没有给出任何变量,转换陷阱将被除去。Macro 变量必须是一个或者两个 ASCII 字符。方式或者相关的值同当前的转换级别相关联。
初始值:- 如果没有指定值:关闭 |
.em Macro | 当所有的输出都结束时,调用特定的宏。作用同指定的宏的内容处于最后被处理的文件的末尾相同。指定的宏必须是一个或者两个 ASCII 字符。
初始值:无 如果没有指定值:无 |
.it Number macro | 设置一个输入行计数陷阱来在由 Number 变量指定的文本输入行编号被读取(不计控制和请求行)之后调用指定的宏。文本可以是内联文本,也可以是显式调用(通过内联调用)或者隐含调用(通过陷阱)的宏提供的文本。Macro 变量必须是一个或者两个 ASCII 字符。相关的值是当前环境的一部分。
初始值:- 如果没有指定值:关闭 |
.rm Name | 除去指定的请求、宏和字符串。从名称列表中除去 Name 变量值,所有与之有关的存储空间都被释放。随后的引用无效。Name 变量必须是一个或者两个 ASCII 字符。
初始值:- 如果没有指定值:忽略 |
.rn Name1 Name2 | 将由 Name1 变量指定的请求、宏或者字符串值重命名为 Name2 变量指定的值。Name1 和 Name2 变量的值都必须是一个或者两个 ASCII 字符。
初始值:忽略 如果没有指定值: - |
.wh Number Macro | 安装一个陷阱来在页面上的由 Number 变量指定的位置上调用指定的宏。负的 Number 变量值可被解释为与页面底部有关。任何以前安装在页面上由 Number 变量指定的位置上的宏都会被 Macro 变量的值所替换。Number 变量值为 0 表示页面顶部。如果不存在 Macro 变量,在由 Number 变量指定的页面位置上发现的第一个陷阱将被除去(如果有的话)。Macro 变量必须是一个或者两个 ASCII 字符。
初始值:- 如果没有指定值: - |
.ccCharacter | 将基本的控制字符设置为指定的字符,或者重新设置为“.”。Character 变量的值必须是一个 ASCII 字符。相关的值是当前环境的一部分。
初始值:. 如果没有指定值:. |
.cu [Number] | .ul 请求的一个变量会导致每个字符都会被加上下划线,也会导致在受影响的输出行中没有行中断发生。即 .cu 请求后的每个输出空格都与不可填充的空格相似。.cu 请求同在 troff 命令中的 .ul 请求完全相同。相关的值是当前环境的一部分。
初始值:Off 如果没有指定值: 编号=1 |
.c2 Character | 将无中断控制字符设置为指定的字符或者复位为 『 ' 』。Character 变量的值必须是一个 ASCII 字符。相关的值是当前环境的一部分。
初始值:' 如果没有指定值:' |
.ec Character | 将转义字符设置为 \ (反斜线符号) 或者
由 Character 变量指定的值(如果给出了的话)。Character 变量的值必须是一个 ASCII 字符。
初始值: \ 如果没有指定值: \ |
.eo | 关闭转义机制。
初始值:开启 如果没有指定值: - |
.lg [Number] | 如果 Number 变量的值不存在或者非零的话,打开连字方式;如果 Number 变量的值为 0 的话,关闭连字方式。如果 Number 变量的值为 2,只有双字符连字会被自动调用。请求、宏、字符串、寄存器或文件名以及复制方式中禁止使用连字方式。在 nroff 命令中,该请求不起作用。
初始值:开启,对于troff 命令 如果没有指定值:开启 |
.tr Character1 Character2 Character3 Character4 | 将由 Character1 变量指定的字符的值翻译为 Character2 的变量值,将由 Character3 变量指定的字符值翻译为 Character4 的变量值。如果给出了奇数个字符,最后一个将被映射到空格字符中。要保持一致,从输入到输出的时间内必须保持特殊的转化在起作用。所有指定的字符都必须是 ASCII 字符。要重新设置 .tr请求,在请求后接上一个复制给出的变量。
例如,以下 .tr 请求: .tr aAbBc<C,> 可以通过输入以下命令来重新设置: .tr aabbcc 在逻辑输出之前,它必须在起作用。 初始值:无 如果没有指定值: - |
.ul [Number] | 对于 Number 变量指定的输入文本行数字在 nroff 命令中加下划线(或在 troff 命令中初始化)。实际上是切换成下划线字体,要保存当前的字体以备以后恢复用。.ul 请求范围内的其它字体更改生效,但是恢复只能撤销最后一次的更改。.tl 请求生成的输出会受到字体更改的影响,但是不会减小 Number 变量的值。有关更多信息,请参阅 』三部分标题 『一节。如果指定值大于 1,调用陷阱的宏非常有可能在该范围内提供文本行;环境切换可以避免发生这样的情况。
相关的值是当前环境的一部分。 初始值:关闭 如果没有指定值: 编号=1 |
.uf Font | 将字体集加下划线至 Font 变量指定的值。在 nroff 命令中,Font 变量不可以在位置 1 上(Times Roman 为初始值)。Font 变量的值必须是一个 ASCII 字体名。
初始值:斜体 如果没有指定值:斜体 |
Condition 变量指定以下单字符名称中的一个:
.ev Environment | 切换到指定的环境。由 Environment 变量指定的值必须是 0、1 或 2。切换是以下推的形式进行的,所以恢复到前一个环境只能依靠 .ev 请求来执行,而不是使用某个特定的引用。
初始值:Environment=0 如果没有指定值:前一值 |
.ab Text | 将由 Text 变量指定的值打印到诊断输出(通常是终端),然后结束,不再进行进一步的处理。如果文本丢失,则打印 User Abort 消息,并刷新输出缓冲区。该请求在交互式调试时使用以进行强制输出。 |
.ab ^A<SetNumber> <MessageNumber> [^A』<Default> 『] [^A<Argument> ^B<Argument> ^B<Argument>...] | 提供备用语法,允许对独立语言的异常终止消息使用消息编目。打印由诊断输出(通常是终端)的参数指定的合适消息,然后结束,不再进行进一步的处理。如果没有参数,则消息编目如下:
troff: 用户 异常终止, 行编号 文件 文件名 为输出。输出缓冲区被刷新。该请求在交互式调试时使用以进行强制输出。 根据特定语言环境的编目中的消息 SetNumber 和 MessageNumber 变量,用户以复制方式读取消息编目,与其相关的消息被写入用户终端。要向下兼容,可以省略指定消息集和消息编号的初始序列。ASCII 代码 控件符 A(^A)为消息识别符、缺省的消息和可选的自变量列表定界。ASCII 代码控制符 B(^B)为单独的可选自变量列表定界。 在以下示例中: .ab ^A2 42^A』Processing has been terminated \ at line %1$s.『^A\n(c. 2 是消息集的编号。 42 是消息编号。 引号中的文本 』...『 是缺省的消息。 \n(c. 是从输入文件中读取的行号。 如果假设 troff 命令在以下条件下运行: 然后以下内容将在用户终端上显示: 处理 已经 被 终止 在 行 123. 初始值: - 如果没有指定值:用户取消 |
.Dt Parameter | 定义 nroff 或 troff 请求的日期返回格式。根据缺省设置,如果没有可选
Parameter,则使用由为 LC_TIME 分类设置的当前语言环境指定特定语言环境的日期格式。这与 strftime 的 』%x『 格式说明符相符合。Parameter 是格式字符串,
同与 AIX 5L Version 5.2 Technical Reference: Base Operating System and Extensions 中的 strftime 函数共用的格式字符串一样。参考该函数,以了解格式说明符的完整列表。
例如, .Dt 』%A, %B %d, %Y (%T)『 为使用英语的地区提供了以下输出: 星期四, 1 月 31 日,1991(10:40:00) %A 格式被具体地区的星期名称替代。%B 格式被具体地区的月份名称替代。%d 格式被使用两位格式的日期替代。%Y 格式被十进制数的世纪年份替代。%T 格式被十进制数的时(24小时制)、分、秒时间代替。该格式提供闰秒和双闰秒。 |
.fl | 刷新输出缓冲区。该请求类似于 .br 请求,通常会生成行中断。带控制符 』 ' 『(而不是』.『)调用该请求禁止该中断功能。
初始值: - 如果没有指定值: - |
.ig Macro | 忽略输入行。.ig 请求和 .de 请求的操作完全相同,除了前者的输入被废弃。获取更多相关信息,请参阅 』宏、字符串、转换和位置陷阱『。输入以复制方式被读取,所有的自动递增寄存器都会受到影响。Macro 变量必须是一个或者两个 ASCII 字符。
初始值: - 如果没有指定值: .Macro=.. |
.mc [Character] [N] | 使用指定字符作为边界字符来显示到每个非空文本行( .tl 请求生成的文本行除外)的右边界的指定的距离(N)。如果输出行过长(非填充方式下经常出现的情况),则将字符附加到行。如果没有给定 N 变量,则使用前一个 N 变量。第一个 N 变量在 nroff 命令中是 0.2 英尺,在 troff 命令中是 1 em。
相关的值是当前环境的一部分。 初始值:在 nroff中是 2;在 troff中是 1 em。 如果没有指定值:关闭 |
.pm [Character] | 打印宏。在用户终端中打印所有已定义的宏和字符串的名称和大小。如果将一个 ASCII 字母数字字符作为变量,则只打印总大小。在 128 字符块中给出来大小。
初始值: - 如果没有指定值:全部 |
.sy Command [标志] | 指定的命令被运行但是它的输出在此没有被捕获。指定命令的标准输入被关闭。必须将输出在输出文件中明确的保存,以备以后进行处理。通常,.sy 伪指令后面会跟随 .so 伪指令,用来包含前一个命令的结果。
例如: .sy date > /tmp/today 今天 是 .so /tmp/today 初始值: - 如果没有指定值: - |
.tm String | 指定的字符串被写入用户终端。 |
.tm ^A<SetNumber> <MessageNumber> [^A』<DefaultMessage> 『] [^A<Argument> ^B <Argument> ^B<Argument> ...] | 根据特定语言环境目录中的消息集的编号和消息编号,消息目录被以复制方式进行读取,相关消息被写入用户终端。为了向下兼容,可以省略指定消息集和消息编号的初始序列。ASCII 码 Ctrl-A ^A 将消息识别符、缺省的消息和可选的自变量列表定界。ASCII 码 Ctrl-B ^B 为单独的可选自变量列表定界。
在以下示例中: .tm ^A2 23^A』The typesetter is %1$s.On line %2$s.『^A\*(.T^B\n(c. 2 是消息集的编号。 23 是消息编号。 引号中的文本 』...『 是缺省的消息。 \*(.T 是 troff 中 -T 值的第一个自变量。 \n(c. 是从输入文件中读的行号。 如果假设 troff 命令在以下条件下运行: 然后以下内容将在用户终端上显示: The typesetter is psc. On line 538. 在 /usr/lib/nls/msg/$LANG/macros.cat 中可以找到特定语言环境的消息编目。 初始值: - 如果没有指定值:新行 |
以下的注释在 nroff 和 troff 请求中应用。他们以应用处的请求编号作参考。
.sy echo .ds z $TED >x .so x .sy rm x
设置 z 字符串寄存器中包含 $TED 值。
LC_ALL | 指定供所有语言环境目录使用的语言环境。它将覆盖所有其它的语言环境变量的设置。 |
LC_MESSAGES | 指定 LC_MESSAGES 目录的语言环境值。在 LC_ALL 环境变量没有设置的情况下使用该变量。 |
LC_TIME | 指定 LC_TIME 目录的语言环境值。在 LC_ALL 环境变量未设置的情况下使用。 |
LANG | 指定供所有语言环境目录使用的语言环境。在上面提到的所有的环境变量未设置的情况下使用它。这是在指定语言环境时最常用的环境变量。 |
/usr/share/lib/tmac/tmac.* | 包含标准宏文件的指针。 |
/usr/share/lib/macros/* | 指示标准宏文件。 |
/usr/share/lib/tmac/tmac.an | 包含 man 宏软件包的指针。 |
/usr/share/lib/macros/an | 包含 man 宏软件包。 |
/usr/share/lib/tmac/tmac.e 文件 | 包含 me 宏的定义文件。 |
/usr/share/lib/me 目录 | 包含宏定义文件。 |
/usr/share/lib/tmac/tmac.m | 包含 mm 宏软件包的指针。 |
/usr/share/lib/macros/mmn | 包含 mm 宏软件包。 |
/usr/share/lib/macros/mmt | 包含 mm 宏软件包。 |
/usr/share/lib/tmac/tmac.ptx | 指向宏软件包。 |
/usr/share/lib/macros/ptx | 包含宏软件包。 |
/usr/share/lib/tmac/tmac.x | 包含宏的定义文件。 |
/usr/share/lib/ms | 包含 ms 宏的定义。 |
/usr/share/lib/tmac/tmac.v | 包含宏的定义。 |
/usr/share/lib/macros/vmca | 包含宏的定义。 |
/usr/lib/nls/msg/$LANG/macros.cat | 包含 mm、me、ms 和 mv 宏软件包的特定语言环境的消息编目。 |
/usr/lib/font/dev*/* | 包含字体宽度表。 |
/var/tmp/trtmp* | 指示临时文件。 |
col 命令、eqn 命令 grap 命令、hplj 命令、ibm3812 命令、ibm3816 命令、mm 命令、mmt 命令、mvt 命令、neqn 命令、nroff 命令、pic 命令、ptx 命令、refer 命令、tbl 命令、tc 命令、xpreview 命令。
nroff 和 troff 输入 文件格式、troff 文件格式、troff 字体文件格式。
AIX 5L Version 5.2 National Language Support Guide and Reference 中的 Message Facility。
AIX 5L Version 5.2 National Language Support Guide and Reference 中的 National Language Support Overview。