tex, virtex, initex - 文本格式化和排版

时间:2022-11-10 23:04:27

SYNOPSIS 总览

tex [options] [commands]

DESCRIPTION 描述

这份手册页并不全面。此版本的 TeX 完整的文档可以从 info 文件或者手册 Web2C: A TeX implementation 中找到。

TeX 格式化指定的文件中包含着命令的文本,输出一个设备无关的文件 (称为 DVI ,即 “设备无关” DeVice Independent 的缩写)。在 The TeX book 中讲述了 TeX 的功能和语言。 TeX 通常与一个大型的预编译的宏包同时使用,有一些特定的排版系统,例如 LaTeX, 通常需要很多宏包的支持。

这个版本的 TeX 通过查看它的命令行,查找自身是以什么名称被调用的。 initexvirtex 都是到可执行文件 tex 的符号链接。当作为 initex 调用时 (或者使用了 --ini 选项时),它可以用于将宏预编译,输出到一个 .fmt 文件中。当作为 virtex 调用时,它将使用 plain 格式。当以任何其他名称调用时,TeX 将使用那个名称作为要使用的格式名称。例如,当作为 tex 调用时,将使用 tex 格式,这与 plain 格式是相同的。 plain 格式中定义的命令记载在 The TeX book 中。其他常用的格式包括 latexamstex

调用 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 中有详细描述。

BUGS