Manpages

NAME

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

SYNOPSIS 总 览

tex [options] [commands]

DESCRIPTION 描 述

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

TeX 格 式 化 指 定 的 文 件 中 包 含 着 命 令 的 文 本 , 输 出 一 个 设 备 无 关 的 文 件 (称 为 DVI , 即 “设 备 无 关 ” DeVice Independent 的 缩 写 )。 在 The TeXbook 中 讲 述 了 TeX 的 功 能 和 语 言 。 TeX 通 常 与 一 个 大 型 的 预 编 译 的 宏 包 同 时 使 用 , 有 一 些 特 定 的 排 版 系 统 , 例 如 LaTeX, 通 常 需 要 很 多 宏 包 的 支 持 。 这 个 版 本 的 TeX 通 过 查 看 它 的 命 令 行 , 查 找 自 身 是 以 什 么 名 称 被 调 用 的 。 initexvirtex 都 是 到 可 执 行 文 件 tex 的 符 号 链 接 。 当 作 为 initex 调 用 时 (或 者 使 用 了 --ini 选 项 时 ), 它 可 以 用 于 将 宏 预 编 译 , 输 出 到 一 个 .fmt 文 件 中 。 当 作 为 virtex 调 用 时 , 它 将 使 用 plain 格 式 。 当 以 任 何 其 他 名 称 调 用 时 , TeX 将 使 用 那 个 名 称 作 为 要 使 用 的 格 式 名 称 。 例 如 , 当 作 为 tex 调 用 时 , 将 使 用 tex 格 式 , 这 与 plain 格 式 是 相 同 的 。 plain 格 式 中 定 义 的 命 令 记 载 在 The TeXbook 中 。 其 他 常 用 的 格 式 包 括 latexamstex 。 调 用 TeX 时 , 命 令 行 给 出 的 commands 被 传 递 给 它 作 为 输 入 的 第 一 行 。 (但 是 通 常 将 扩 展 的 参 数 作 为 输 入 的 第 一 行 要 简 单 许 多 , 因 为 UNIX 命 令 解 释 器 总 是 会 “ 吃 掉 ” 或 者 错 误 地 解 释 TeX 的 符 号 , 例 如 反 斜 杠 , 除 非 你 引 用 它 们 。 ) 同 The TeXbook 书 中 描 述 的 一 致 , 第 一 行 应 当 以 一 个 文 件 名 开 始 , 或 者 是 一 个 控 制 序 列 \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 启 用 mktexfmt , 这 里 fmt 必 须 是 tex 或 者 tfm 之 一 。
--mltex
启 用 MLTeX 扩 展 。
--no-maketex 
fmt 禁 用 mktexfmt 这 里 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 基 本 的 宏 包 , 在 TeXbook 中 有 详 细 描 述 。

BUGS

这 个 版 本 的 TeX 实 现 了 大 量 的 可 选 的 扩 展 。 实 际 上 , 其 中 大 部 分 与 TeX 的 定 义 有 或 多 或 少 的 冲 突 。 当 启 用 这 样 的 扩 展 时 , TeX 启 动 时 打 印 的 提 示 信 息 将 是 TeXk 而 不 是 TeX 。 这 个 版 本 的 TeX 在 面 积 增 加 或 减 少 时 不 能 捕 获 算 术 下 溢 错 误 。 这 种 情 况 很 少 见 , 但 是 一 旦 出 现 , 产 生 的 DVI 文 件 将 是 无 效 的 。

SEE ALSO 参 见

mf(1),
Donald E. Knuth, The TeXbook, Addison-Wesley, 1986, ISBN 0-201-13447-0.
Leslie Lamport, LaTeX - A Document Preparation System, Addison-Wesley, 1985, ISBN 0-201-15790-X.
K. Berry, Eplain: Expanded plain TeX, ftp://ftp.cs.umb.edu/pub/tex/eplain/doc.
Michael Spivak, The Joy of TeX, 2nd edition, Addison-Wesley, 1990, ISBN 0-8218-2997-1.
TUGboat
(the journal of the TeX Users Group).

TRIVIA 提 醒

TeX, 如 果 发 音 正 确 的 话 , 与 ’’blecchhh’’ 押 韵 (rhymes)。 使 用 typewriter 字 体 时 , 正 确 的 拼 写 是 ’’TeX’’ 而 不 是 ’’TEX’’ 或 者 ’’tex’’。

AUTHORS 作 者

TeX 的 设 计 者 是 by Donald E. Knuth, 他 用 他 的 Web 系 统 实 现 了 它 。 后 来 , 它 分 别 被 Stanford 的 Howard Tricky 和 Cornell 的 Pavel Curtis 移 植 到 了 Unix。 当 前 随 Unix TeX 发 行 的 这 个 版 本 使 用 了 Web 到 C 的 翻 译 系 统 (web2c) 来 产 生 , (web2c) 最 初 由 Tomas Rokicki 和 Tim Morgan 实 现 。

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh