troff 命令
用途
为在排版设备上打印而对文本进行格式化。
语法
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 命令对英文视图和幻灯片进行排版。 |
用于 nroff 和 troff 命令的 man 宏软件包
man 宏软件包的提供,使用户可以依靠用 nroff 命令或 troff 命令处理过的联机手册页来创建自己的手册页。man 宏软件包与 nroff 命令或 troff 命令同时使用。
man 宏软件包内部包含特殊宏、字符串和数字寄存器,还有以下的格式化宏、字符串和寄存器的列表。除了由 troff 命令和 d、m 和 y 数字寄存器预定义的名称外,所有这样的内部名称都是 SymbolAlpha格式的,其中 Symbol 是 )、] 或 } 之一,Alpha 为任意一个字母数字字符。
man 宏软件包只使用罗马字体。如果某项的输入文本包含使用其它字体的请求(如 .I 格式化宏、.RB 请求或 \fI请求),就必须安装对应的字体。
格式化宏
以下宏用来修改使用 man 宏软件包格式化的手册页的特性。
在每个段落之前和处理字体和大小设置的宏之后(如 .I、.SM和 .B 格式化宏),输入字体和大小都将复位为缺省值。
除了.DT 和 .TH 格式化宏以外,其它格式化宏都不能够使用也不能够设置制表符停止位。
- .B [Text]
- 使文本字体变为粗体。
Text 变量代表最多 6 个单词;使用 『 』(双引号)以包含单词中的空格字符。如果变量是空的,可以在下一个含有待打印文本的输入文本行应用该处理。例如:使用.I 格式化宏使整个行变为斜体,或使用 .SM 和 .B 格式化宏使整个行的文字变为小粗体字体。缺省情况下,nroff 命令关闭连字符处理,而在 troff 命令中可以使用。
- .DT
- nroff 命令中每隔 5 ens 恢复一次缺省的制表符设置;在 troff 命令中每隔 7.2 ens 恢复一次。
- .HP [Indent]
- 使得段落开头为悬挂式缩进,缩进尺寸由 Indent 变量指定。
如果省略 Indent 变量,则使用前一次设置的 Indent 值。此值的缺省值(对于 nroff 命令为 5 ens,对于 troff 命令为
7.2 ens)由 .TH、.P 和 .RS 格式化宏来设置; 值的恢复由 .RE 格式化宏来进行。Indent 的缺省单位是
ens。 - .I [Text]
- 使文本字体变为斜体。
Text 变量代表最多 6 个单词;使用 『 』(双引号)以包含单词中的空格字符。如果变量是空的,可以在下一个含有待打印文本的输入文本行应用该处理。例如:使用.I 格式化宏使整个行变为斜体,或使用 .SM 和 .B 格式化宏使整个行的文字变为小粗体字体。缺省情况下,nroff 命令关闭连字符处理,而在 troff 命令中可以使用。
- .IP [Tag] [Indent]
- 与 .TP Indent 宏对 Tag 变量的操作的效果是一样的;如果 Tag 变量的值是 NULL,则段落的开头是缩进的。该宏通常用来使段落缩进而不需再使用制表符。
如果省略 Indent 变量,则使用前一次设置的 Indent 值。该值(对于 nroff 命令为 5 ens,对于troff 命令为
7.2 ens),由 .TH、.P 和 .RS 格式化宏来设置为缺省值,由 .RE 格式化宏进行恢复。Indent 变量的缺省的单位是
ens。 - .P
- 用正常字体、磅大小和缩进开始段落。.PP 宏就是 mm 宏软件包中的 .P 宏。
- .PD [Number]
- 将段落间距设置为 Number 参数指定的垂直间距数。缺省的 Number 变量值在 troff 命令中是 0.4v,在 nroff 命令中是
1v。 - .PM [Indicator]
- 设置的专利标记如下:
指示符 标记 P 专用 N 注意事项 无指定的指示符 关闭专利标记。 - .RE [Number]
- 结束由 Number 变量指定的缩进级别位置的相对缩进(.RS)。如果省略了 Number 变量值,则返回到最近的低一级的缩进级别。
- .RI Character1Character2...
- 将罗马体的 Character1 和斜体的 Character2 并置;改变两种字体,得到 6 种 Character1Character2 集。类似的可以改变罗马体、斜体和粗体,形成任两种组合在一起的宏包括:.IR、.RB、.BR、 .IB和 .BI宏。
- .RS [Indent]
- 增加相关缩进量(初始为零)。将所有输出按照 Indent 变量指定的缩进量从左空白缩进额外的单元数。
如果省略了 Indent 变量,则使用前一 Indent 值。该值(对于 nroff 命令为 5 ens,对于 troff 命令为
7.2 ens)由 .TH、.P 和 .RS 格式化宏来设置为缺省值,由.RE 格式化宏来进行恢复。Indent 变量的缺省单位是
ens。 - .SH [Text]
- 放置副标题文本。
Text 变量代表最多 6 个单词;使用 『 』(双引号)以包含单词中的空格字符。如果该变量是空的,可以在下一个含有待打印文本的输入文本行应用该处理。例如:使用.I 格式化宏使整个行变为斜体,或使用 .SM 和 .B 格式化宏使整个行的文字变为小粗体字体。缺省情况下,nroff 命令关闭连字符处理,而在 troff 命令中可以使用。
- .SM [Text]
- 使文本字大小比缺省值小 1 磅。
Text 变量代表最多 6 个单词;使用 『 』(双引号)以包含单词中的空格字符。如果该变量是空的,可以在下一个含有待打印文本的输入文本行应用该处理。例如:使用.I 格式化宏使整个行变为斜体,或使用 .SM 和 .B 格式化宏使整个行的文字变为小粗体字体。缺省情况下,nroff 命令关闭连字符处理,而在 troff 命令中可以使用。
- .SS [Text]
- 放置副标题文本。
Text 变量代表最多 6 个单词;使用 『 』(双引号)以包含单词中的空格字符。如果该变量是空的,可以在下一个含有待打印文本的输入文本行应用该处理。例如:使用.I 格式化宏使整个行变为斜体,或使用 .SM 和 .B 格式化宏使整个行的文字变为小粗体字体。缺省情况下,nroff 命令关闭连字符处理,而在 troff 命令中可以使用。
- .TH [Title][Section][Comme][Name]
- 设置标题和条目标题。该宏调用 .DT 格式化宏。
变量 标记 Title 标题 Section 节号 Commentary 外部注释 Name 新的手册名。 注:如果 .TH 格式化宏值中包含字符空格,但是没有使用 『 』(双引号)将其扩起来的话,输出会显示不规则的点。 - .TP [Indent]
- 以悬挂标记开始缩进段落。下一个包含文本的输入行就是标记。如果此标记不合适,会在另一行上被打印出来。
如果省略了 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 磅。 |