SYNOPSIS 总览
tex [options] [commands]
DESCRIPTION 描述
这份手册页并不全面。此版本的 TeX 完整的文档可以从 info 文件或者手册 Web2C: A TeX implementation 中找到。
TeX 格式化指定的文件中包含着命令的文本,输出一个设备无关的文件 (称为 DVI ,即 “设备无关” DeVice Independent 的缩写)。在 The TeX book 中讲述了 TeX 的功能和语言。 TeX 通常与一个大型的预编译的宏包同时使用,有一些特定的排版系统,例如 LaTeX, 通常需要很多宏包的支持。
这个版本的 TeX 通过查看它的命令行,查找自身是以什么名称被调用的。 initex 和 virtex 都是到可执行文件 tex 的符号链接。当作为 initex 调用时 (或者使用了 --ini 选项时),它可以用于将宏预编译,输出到一个 .fmt 文件中。当作为 virtex 调用时,它将使用 plain 格式。当以任何其他名称调用时,TeX 将使用那个名称作为要使用的格式名称。例如,当作为 tex 调用时,将使用 tex 格式,这与 plain 格式是相同的。 plain 格式中定义的命令记载在 The TeX book 中。其他常用的格式包括 latex 和 amstex 。
调用 TeX 时,命令行给出的 commands 被传递给它作为输入的第一行。(但是通常将扩展的参数作为输入的第一行要简单许多,因为 UNIX 命令解释器总是会 “吃掉” 或者错误地解释 TeX 的符号,例如反斜杠,除非你引用它们。) 同 The TeX book 书中描述的一致,第一行应当以一个文件名开始,或者是一个控制序列 \controlsequence, 或者是一个格式名称 &formatname.
通常的用法是输入
- tex paper
来处理 paper.tex 。名称 paper 将作为任务名 (``jobname''),也用来产生输出文件名。如果 TeX 没有在第一行获得一个文件名,jobname 将是 texput 。当查找一个文件时,TeX 查找带有和不带默认扩展名 (.tex) 的文件,除非名称中已包含了此扩展名。如果 paper 是任务名(``jobname''),错误消息的日志记录,包含着比通常屏幕上显示的内容更加详细的内容,将保存为 paper.log ,输出文件将保存为 paper.dvi 。
这个版本的 TeX 可以查看文件 paper.tex 的第一行,看它是否以特殊序列 %& 开始。如果第一行以 %&format --translate-file tcxname 开始,那么 TeX 将使用指定的格式和转换表 tcxname 来处理源文件。格式名称和 --translate-file 转换定义都可以被忽略,但是不能同时忽略。这个设定超越了基于可执行文件名称的格式选择。选项 --parse-first-line 或者配置中的变量 parse_first_line 控制了是否允许这样的行为。
在 TeX 的错误提示下回应 e 将使得系统默认的编辑器被启动,修改当前文件的当前行。环境变量 TEXEDIT 可以用来修改所用的编辑器。它可以包含一个字符串 "%s",指定文件名要替换的位置,以及字符串 "%d",指定行号 (如果有的话) 要替换的位置。例如,要使用 emacs ,可以这样设置 TEXEDIT 字符串,使用 sh 命令
- TEXEDIT="emacs +%d %s"; export TEXEDIT
为了方便,库中有一个文件 null.tex ,内容为空。当 TeX 找不到可能的输入时,它会一直让用户输入另一个文件名;如果不想输入任何东西,回应 `null' 可以跳出这个循环。也可以输入 EOF 字符 (通常是 control-D)。
OPTIONS 选项
这个版本的 TeX 可以解释下列命令行选项。
- --file-line-error-style
- 打印错误消息,以 file:line:error 的形式,与大多数编译器格式化消息的方式相似。
- --fmt format
- 使用 format 作为要使用的格式名,而不是调用 TeX 的名称或者 %& 一行指定的内容。
- --help
- 打印帮助信息,然后退出。
- --ini
- 成为 initex ,用于转储格式 (dump formats);如果调用的程序名是 initex ,那么隐含这个选项。
- --interaction mode
- 设置交互模式。mode 可以是 batchmode, nonstopmode, scrollmode, 和 errorstopmode 其中之一。这些模式的含义与相应的 \commands 相同。
- --ipc
- 将 DVI 输出发送到一个 socket,同时像通常那样输出到文件。这个选项是否可用取决于安装程序的选择。
- --ipc-start
- 与 --ipc 类似,并且同时也在另一段启动服务器。这个选项是否可用取决于安装程序的选择。
- --jobname name
- 使用 name 作为作业名,而不是从输入文件名获得。
- --kpathsea-debug bitmask
- 根据位掩码,设置路径搜索调试标志。细节请参见 Kpathsea 手册页。
- --maketex fmt
- 启用 mktex fmt ,这里 fmt 必须是 tex 或者 tfm 之一。
- --mltex
- 启用 MLTeX 扩展。
- --no-maketex fmt
- 禁用 mktex fmt 这里 fmt 必须是 tex 或者 tfm 之一。
- --output-comment string
- 使用 string 作为 DVI 文件的注释,而不是时间。
- --parse-first-line
- 如果主输入文件的第一行以 %& 开始,就解释它,从中查找一个转储名称或者一个 --translate-file 选项。
- --progname name
- 伪装是程序 name 。这对所用格式和搜索路径都有影响。
- --recorder
- 启用文件名记录。这将在一个扩展名为 .fls 的文件中记录输入和输出中打开的所有文件。
- --shell-escape
- 启用 \write18{ command } 结构。 command 可以是任何 Bourne shell 命令。出于安全原因,这个结构通常被禁止。
- --translate-file tcxname
- 使用 tcxname 转换表。
- --version
- 显示版本信息,然后退出。
ENVIRONMENT 环境
参见 Kpathsearch 库的文档 (手册页的 `Path specifications' 节点) 来查看使用环境变量的精确的细节。 kpsewhich 实用工具可以用来查询变量的值。
警告:在大多数 TeX 格式中,不能直接传给 TeX 带有 ~ 的文件名,因为 ~ 是一个有特殊意义的字符,它将被扩展,不会作为文件名的一部分。其他程序,例如 Metafont,没有这个问题。
- TEXMFOUTPUT
- 通常,TeX 将输出文件放在当前目录。如果不能在那里创建任何输出文件,它试着在环境变量 TEXMFOUTPUT 指定的目录中创建它。这个参数没有默认值。例如,假设命令是 tex paper 并且当前目录不可写,如果 TEXMFOUTPUT 设置为 /tmp ,TeX 试图创建 /tmp/paper.log (还有 /tmp/paper.dvi ,如果产生了任何输出。)
- TEXINPUTS
- \input 和 \openin 文件的搜索路径。它们一般应当以 ``.'' 开始,使得用户文件可以先于系统文件被找到。空路径成分将被替换为 texmf.cnf 文件中定义的路径。例如,设置 TEXINPUTS 为 ".:/home/usr/tex:" 来将当前目录和 ``/home/user/tex'' 添加到标准的搜索路径之前。
- TEXEDIT
- 切换为编辑器的命令模板。默认值通常是 vi ,在 TeX 编译时进行设置。
FILES 文件
下面提到的文件的位置在各个系统中是不相同的。使用 kpsewhich 实用工具来找到它们的位置。
- texmf.cnf
- 配置文件。它包含着搜索路径的定义,还有其他配置参数,例如 parse_first_line.
- tex.pool
- 编码的文本,是 TeX 的提示消息。
- texfonts.map
- 文件名映射定义。
- *.tfm
- TeX 字体的度量的文件。
- *.fmt
- 简写的 TeX 格式 (.fmt) 文件。
- $TEXMFMAIN/tex/plain/base/plain.tex
- 基本的宏包,在 TeX book 中有详细描述。