TROFF(1)

NAME
troff - groff 文档排版系统的 troff 处理器

总览 SYNOPSIS
troff [-abcivzCERU] [-d cs] [-f fam] [-F dir] [-m name] [-M dir] [-n num] [-o list] [-r cn] [-T name] [-w name] [-W name] [ files... ]

在一个命令行选项与其参数之间可以有空格。

描述 DESCRIPTION
这份手册页描述了 GNU 版本的 troff. 它是 groff 文档排版系统的一部分。 它与 UNIX troff 的功能兼容，但是有很多的扩展，参见 groff_diff(7). 通常它应当用 groff(1) 命令调用，groff 会以合适的顺序和合适的选项，运行预处理器和后处理器。

选项 OPTIONS

-a  产生一个排版输出的 ASCII 近似结果 (approximation)

-b  在每条错误或警告消息中打印回溯信息 此信息可以帮助跟踪错误的原因 信息中的行号可能有误，因为 troff 中行号的意义与请求类型是 as 还是 am 有关

-c  禁止颜色输出 (兼容模式下总是禁止)

-C  使用兼容模式

-dcs
-dname=s
    定义 c 或 name 是一个字符串 s; c 必须是单字符的一个名称

-E  阻止 troff 的错误输出. 注意这不影响发出 tm 或 tm1 请求的宏包发出的错误消息向标准错误输出

-ffam
    使用 fam 作为默认字体族

-Fdir
    在目录中 (或目录路径中) 搜索 dir 子目录 devname (name 是设备的名称) 查找其中的 DESC 文件和字体文件 dir 在所有其他字体目录之前查找

-i  处理完所有输入文件后继续从标准输入读入

-mname
    读入文件 name.tmac. 如果没有找到，则去读 tmac.name 它将先在 -M 命令行参数给定的目录中搜索，然后是 GROFF_TMAC_PATH 环境变量中的目录，然后是当前目录 (安全模式不会做这一步)， 然后是个人目录，/usr/lib/groff/site-tmac, /usr/share/groff/site-tmac 还有 /usr/share/groff/1.18.1/tmac.

-Mdir
    搜索目录 (或目录路径) dir 查找宏文件 检索在所有其他宏目录之前进行

-nnum
    为第一页编号 num.

-olist
    仅输出 list 中指定的页，参数是一个以逗号分隔的页号范围的列表; n 意思是打印页面 n, m-n 意思是打印 m 到 n 之间的所有页面, -n 意思是打印直到 n 的所有页面, n- 意思是打印从 n 开始的所有页面，直到结束. troff 打印完列表中的最后一页后将退出

-rcn
-rname=n
    设置数字寄存器 c 或 name 为 n; c 必须是单字符的一个名称， n 可以是任何 troff 数字表达式

-R  不读取 troffrc 和 troffrc-end.

-Tname
    为设备 name 而不是默认的 ps 准备输出

-U  不全模式 这将允许下列请求 open, opena, pso, sy, 和 pi. 出于安全原因，这些潜在的危险的请求在其他情况下被禁止。 同时它将当前目录加入宏搜索路径

-v  打印版本号

-wname
    允许发出 name 警告。可能的警告名称在下面的 警告 WARNINGS 章节中详述 例如，要允许所有警告，使用 -w all. 允许使用多个 -w 选项

-Wname
    禁止发出 name 警告。允许使用多个 -W 选项

-z  阻止格式化的输出

警告 WARNINGS
troff 可以发出的警告分为下列类别 每种警告关联的名称在 -w 和 -W 选项中使用；关联的数字被 warn 请求和 .warn 寄存器使用, 它总是 2 的幂，以允许位运算

Bit | Code | Warning | Bit | Code | Warning
0 | 1 | char | 10 | 1024 | reg
1 | 2 | number | 11 | 2048 | tab
2 | 4 | break | 12 | 4096 | right-brace
3 | 8 | delim | 13 | 8192 | missing
4 | 16 | el | 14 | 16384 | input
5 | 32 | scale | 15 | 32768 | escape
6 | 64 | range | 16 | 65536 | space
7 | 128 | syntax | 17 | 131072 | font
8 | 256 | di | 18 | 262144 | ig
9 | 512 | mac | 19 | 524288 | color

break	4
    在填充 (fill) 模式下，不可分行的行的长度 比行的长度要小。 In fill mode, lines which could not be broken so that their length was less than the line length. 此警告是默认允许的

char	1
    不存在的字符。 此警告是默认允许的

color	524288
    颜色相关的警告

delim	8
    关闭定界符丢失或不匹配

di	256
    没有当前转移 (current diversion) 而使用了不带参数的 di 或 da

el	16
    使用 el 请求但是没有相应的 ie 请求

escape	32768
    不可识别的转义序列。 当遇到一个不可识别的转义序列时，转义字符被忽略

font	131072
    不存在的字体。 此警告是默认允许的

ig	262144
    ig 请求忽略的文本中的非法转义。 如果不是在被忽略的文本中，它们将是错误

input	16384
    非法输入字符

mac	512
    使用未定义的字符串，宏和标号 (diversions) (?). 当使用一个未定义的字符串，宏或标号 (diversions) 时，字符串被自动定义为空。 因此，在大多数情况下，每个名字最多会给出一个警告

missing	8192
    请求缺少必要的参数

number	2
    非法数值表达式。 此警告是默认允许的

range	64
    超出范围的参数

reg	1024
    使用未定义的数字寄存器。 当使用一个未定义的数字寄存器时，寄存器被自动定义为值 0。 因此，大多数情况下，使用一个特定的名字最多会得到一个警告

right-brace	4096
    在应当使用数字的地方使用了 \}

scale	32
    无意义的比例指示 (scaling indicators).

space	65536
    在一个请求或宏与其参数之间缺少空格。 当遇到一个两个字符以上的未定义名字，并且名字的前两个字符是一个已定义的名称时将给出这个警告， 请求或宏不会执行。 当给出这个警告时，不会自动定义宏。 此警告是默认允许的。 在兼容模式下不会发生这种警告

syntax	128
    数值表达式中语法有歧义

tab	2048
    不合适地使用了 tab 字符。 在应当使用数字的地方使用了tab字符，或者在一个未用双引号引用的宏参数中使用tab 时会发生

也有可以引用一组警告的名称

all 所有的警告，除了 di, mac, 和 reg. 它的目的是指代所有在传统的宏包中有用的警告

w   所有警告

环境 ENVIRONMENT

GROFF_TMAC_PATH
    一个以冒号分隔的目录的列表，从中搜索宏文件 troff 将先搜索 -M 选项给出的目录，以及标准的路径 ( 当前目录 (如果是不安全模式)，个人目录 /usr/lib/groff/site-tmac, /usr/share/groff/site-tmac, /usr/share/groff/1.18.1/tmac) 最后搜索它

GROFF_TYPESETTER
    默认设备

GROFF_FONT_PATH
    一个以冒号分隔的目录的列表，从中搜索 devname 目录。 troff 将先搜索 -F 选项给出的目录，以及标准的路径 (/usr/share/groff/site-font, /usr/share/groff/1.18.1/font, /usr/lib/font) 最后搜索它

文件 FILES
/usr/share/groff/1.18.1/tmac/troffrc 初始化文件 (在任何其他宏包之前调用).

/usr/share/groff/1.18.1/tmac/troffrc-end
    初始化文件 (在任何其他宏包之后调用).

/usr/share/groff/1.18.1/tmac/name.tmac
/usr/share/groff/1.18.1/tmac/tmac.name
    宏文件

/usr/share/groff/1.18.1/font/devname/DESC
    设备 name 的设备描述文件.

/usr/share/groff/1.18.1/font/devname/F
    设备 name 的字体 F 的字体文件

注意默认情况下既不在当前目录也不在个人目录搜索 troffrc 和 troffrc-end ，因为安全的原因 (即使给出了 -U 选项)。 如果有必要，使用 -M 命令行选项或者 GROFF_TMAC_PATH 环境变量来将这些路径添加到搜索路径中

作者 AUTHOR
Copyright (C) 1989, 2001, 2002 Free Software Foundation, Inc.

此文档按照 FDL (GNU Free Documentation License) 1.1 或更新版本的要求发布。 You should have received a copy of the FDL on your system, it is also available on-line at the This document was written by James Clark, with modifications from 和

此文档是 groff GNU roff 套件的一部分

参见 SEE ALSO

groff(1)
    groff 系统的主程序， troff 的包装.

groff(7)
    groff 语言的描述，包括一个虽然短但是完整的手册，内容是所有预定义的 请求 (request)，寄存器 (register) 和 groff 正文的转义 (escapes of plain groff). 可以在命令行查看，使用命令

        man 7 groff

groff_diff(7)
    groff 语言和传统的 classical troff 语言不同之处。 当前，这是 groff 系统最为现实 (actual) 的一篇文档

roff(7)
    对 groff 和其他 roff 系统的概述，包括更多相关文档的链接

groff info file, 参见 (cf.) info(1), 将所有 groff 文档整合到了单独的一篇文档中

TRANSBY
LinuxForum.Net CMPP 中文手册页计划 http://cmpp.linuxforum.net

* Tue Nov 25 2003 Yuan Yijun <bbbush@163.com>
- 初始版本