Imported upstream version 1.5
[manpages-zh.git] / src / man1 / tex.1
blob0490daf6a3703e104c498d4421025097b869f276
1 .TH TEX 1 "10 November 2001" "Web2C 7.4.5"
2 .\"=====================================================================
3 .if n .ds MF Metafont
4 .if t .ds MF M\s-2ETAFONT\s0
5 .if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
6 .if n .ds TX TeX
7 .ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP\" for troff
8 .el .ds OX TeX\" for nroff
9 .\" the same but obliqued
10 .\" BX definition must follow TX so BX can use TX
11 .if t .ds BX \fRB\s-2IB\s0\fP\*(TX
12 .if n .ds BX BibTeX
13 .\" LX definition must follow TX so LX can use TX
14 .if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
15 .if n .ds LX LaTeX
16 .if n .ds WB Web
17 .if t .ds WB W\s-2EB\s0
18 .\"=====================================================================
19 .SH NAME
20 tex, virtex, initex \- 文本格式化和排版
21 .SH "SYNOPSIS 总览"
22 .B tex
23 .RI [ options ]
24 .RI [ commands ]
25 .\"=====================================================================
26 .SH "DESCRIPTION 描述"
27 这份手册页并不全面。此版本的 \*(TX 完整的文档可以从 info 文件或者手册
28 .IR "Web2C: A TeX implementation"
29 中找到。
30 .PP
31 \*(TX
32 格式化指定的文件中包含着命令的文本,输出一个设备无关的文件 (称为
33 .IR DVI
34 ,即 “设备无关”
35 .IR "DeVice Independent" 
36 的缩写)。在
37 .IR "The \*(OXbook"
38 中讲述了 \*(TX 的功能和语言。
39 \*(TX 通常与一个大型的预编译的宏包同时使用,有一些特定的排版系统,例如
40 \*(LX,
41 通常需要很多宏包的支持。
42 .PP
43 这个版本的 \*(TX 通过查看它的命令行,查找自身是以什么名称被调用的。
44 .B initex
45
46 .B virtex
47 都是到可执行文件
48 .B tex
49 的符号链接。当作为
50 .BR initex
51 调用时 (或者使用了
52 .B --ini
53 选项时),它可以用于将宏预编译,输出到一个
54 .I .fmt
55 文件中。当作为
56 .B virtex
57 调用时,它将使用
58 .I plain
59 格式。当以任何其他名称调用时,\*(TX 将使用那个名称作为要使用的格式名称。例如,当作为
60 .B tex
61 调用时,将使用
62 .I tex
63 格式,这与
64 .I plain
65 格式是相同的。
66 .I plain
67 格式中定义的命令记载在
68 .IR "The \*(OXbook"
69 中。其他常用的格式包括
70 .I latex
71
72 .IR amstex
73
74 .PP
75 调用 
76 \*(TX
77 时,命令行给出的
78 .I commands
79 被传递给它作为输入的第一行。(但是通常将扩展的参数作为输入的第一行要简单许多,因为 UNIX 命令解释器总是会 “吃掉” 或者错误地解释 \*(TX 的符号,例如反斜杠,除非你引用它们。)
80
81 .IR "The \*(OXbook" 
82 书中描述的一致,第一行应当以一个文件名开始,或者是一个控制序列
83 .IR \econtrolsequence ,
84 或者是一个格式名称
85 .IR &formatname .
86 .PP
87 通常的用法是输入
88 .RS
89 .I tex paper
90 .RE
91 来处理
92 .IR paper.tex
93 。名称
94 .I paper
95 将作为任务名 (``jobname''),也用来产生输出文件名。
96 如果 \*(TX 没有在第一行获得一个文件名,jobname 将是
97 .IR texput
98 。当查找一个文件时,\*(TX 查找带有和不带默认扩展名
99 .RI ( .tex )
100 的文件,除非名称中已包含了此扩展名。如果
101 .I paper
102 是任务名(``jobname''),错误消息的日志记录,包含着比通常屏幕上显示的内容更加详细的内容,将保存为
103 .IR paper.log
104 ,输出文件将保存为
105 .IR paper.dvi 
108 这个版本的 \*(TX 可以查看文件
109 .I paper.tex
110 的第一行,看它是否以特殊序列
111 .IR %&
112 开始。如果第一行以
113 .BI %& format
114 .BI --translate-file \ tcxname
115 开始,那么 \*(TX 将使用指定的格式和转换表
116 .I tcxname
117 来处理源文件。格式名称和
118 .B --translate-file
119 转换定义都可以被忽略,但是不能同时忽略。这个设定超越了基于可执行文件名称的格式选择。
120 选项
121 .B --parse-first-line
122 或者配置中的变量
123 .B parse_first_line
124 控制了是否允许这样的行为。
126 在 \*(TX 的错误提示下回应
127 .I e
128 将使得系统默认的编辑器被启动,修改当前文件的当前行。环境变量 TEXEDIT 可以用来修改所用的编辑器。它可以包含一个字符串 "%s",指定文件名要替换的位置,以及字符串 "%d",指定行号 (如果有的话) 要替换的位置。例如,要使用
129 .B emacs
130 ,可以这样设置 TEXEDIT 字符串,使用
131 .B sh
132 命令
134 \fITEXEDIT="emacs +%d %s"; export TEXEDIT\fP
137 为了方便,库中有一个文件
138 .IR null.tex
139 ,内容为空。当 \*(TX 找不到可能的输入时,它会一直让用户输入另一个文件名;如果不想输入任何东西,回应 `null' 可以跳出这个循环。也可以输入 EOF 字符 (通常是 control-D)。
141 .\"=====================================================================
142 .SH "OPTIONS 选项"
143 这个版本的 \*(TX 可以解释下列命令行选项。
145 .B --file-line-error-style
147 打印错误消息,以
148 .I file:line:error
149 的形式,与大多数编译器格式化消息的方式相似。
151 .BI --fmt \ format
153 使用
154 .I format
155 作为要使用的格式名,而不是调用
156 \*(TX 的名称或者
157 .I %&
158 一行指定的内容。
160 .B --help
162 打印帮助信息,然后退出。
164 .B --ini
166 成为
167 .BR initex
168 ,用于转储格式 (dump formats);如果调用的程序名是
169 .BR initex
170 ,那么隐含这个选项。
172 .BI --interaction \ mode
174 设置交互模式。mode 可以是
175 .IR batchmode ,
176 .IR nonstopmode ,
177 .IR scrollmode ,
179 .IR errorstopmode
180 其中之一。这些模式的含义与相应的
181 \ecommands
182 相同。
184 .B --ipc
186 将 DVI 输出发送到一个 socket,同时像通常那样输出到文件。这个选项是否可用取决于安装程序的选择。
188 .B --ipc-start
191 .BR --ipc
192 类似,并且同时也在另一段启动服务器。这个选项是否可用取决于安装程序的选择。
194 .BI --jobname \ name
196 使用
197 .I name
198 作为作业名,而不是从输入文件名获得。
200 .BI --kpathsea-debug \ bitmask
202 根据位掩码,设置路径搜索调试标志。细节请参见
203 .I Kpathsea
204 手册页。
206 .BI --maketex \ fmt
208 启用
209 .RI mktex fmt
210 ,这里
211 .I fmt
212 必须是
213 .I tex
214 或者
215 .IR tfm
216 之一。
218 .B --mltex
220 启用 ML\*(TX 扩展。
222 .BI --no-maketex \ fmt
224 禁用
225 .RI mktex fmt
226 这里
227 .I fmt
228 必须是
229 .I tex
230 或者
231 .IR tfm
232 之一。
234 .BI --output-comment \ string
236 使用
237 .I string
238 作为 DVI 文件的注释,而不是时间。
240 .B --parse-first-line
242 如果主输入文件的第一行以
243 .I %&
244 开始,就解释它,从中查找一个转储名称或者一个
245 .B --translate-file
246 选项。
248 .BI --progname \ name
250 伪装是程序
251 .IR name
252 。这对所用格式和搜索路径都有影响。
254 .B --recorder
256 启用文件名记录。这将在一个扩展名为
257 .IR .fls
258 的文件中记录输入和输出中打开的所有文件。
260 .B --shell-escape
262 启用
263 .BI \ewrite18{ command }
264 结构。
265 .I command
266 可以是任何 Bourne shell 命令。出于安全原因,这个结构通常被禁止。
268 .BI --translate-file \ tcxname
270 使用
271 .I tcxname
272 转换表。
274 .B --version
276 显示版本信息,然后退出。
277 .\"=====================================================================
278 .SH "ENVIRONMENT 环境"
279 参见 Kpathsearch 库的文档 (手册页的 `Path specifications' 节点) 来查看使用环境变量的精确的细节。
280 .B kpsewhich
281 实用工具可以用来查询变量的值。
283 警告:在大多数 \*(TX 格式中,不能直接传给 \*(TX 带有 ~ 的文件名,因为 ~ 是一个有特殊意义的字符,它将被扩展,不会作为文件名的一部分。其他程序,例如 \*(MF,没有这个问题。
286 TEXMFOUTPUT
287 通常,\*(TX 将输出文件放在当前目录。如果不能在那里创建任何输出文件,它试着在环境变量 TEXMFOUTPUT 指定的目录中创建它。这个参数没有默认值。例如,假设命令是
288 .I tex paper
289 并且当前目录不可写,如果 TEXMFOUTPUT 设置为
290 .IR /tmp
291 ,\*(TX 试图创建
292 .I /tmp/paper.log
293 (还有
294 .IR /tmp/paper.dvi
295 ,如果产生了任何输出。)
297 TEXINPUTS
298 .I \einput
300 .I \eopenin
301 文件的搜索路径。它们一般应当以 ``.'' 开始,使得用户文件可以先于系统文件被找到。空路径成分将被替换为
302 .I texmf.cnf
303 文件中定义的路径。例如,设置 TEXINPUTS 为 ".:/home/usr/tex:" 来将当前目录和 ``/home/user/tex'' 添加到标准的搜索路径之前。
305 TEXEDIT
306 切换为编辑器的命令模板。默认值通常是
307 .BR vi
308 ,在 \*(TX 编译时进行设置。
309 .\"=====================================================================
310 .SH "FILES 文件"
311 下面提到的文件的位置在各个系统中是不相同的。使用
312 .B kpsewhich
313 实用工具来找到它们的位置。
315 .I texmf.cnf
316 配置文件。它包含着搜索路径的定义,还有其他配置参数,例如
317 .BR parse_first_line .
319 .I tex.pool
320 编码的文本,是 \*(TX 的提示消息。
322 .I texfonts.map
323 文件名映射定义。
325 .I *.tfm
326 \*(TX 字体的度量的文件。
328 .I *.fmt
329 简写的 \*(TX 格式 (.\|fmt) 文件。
331 .I $TEXMFMAIN/tex/plain/base/plain.tex
332 基本的宏包,在 \*(OXbook 中有详细描述。
334 .\"=====================================================================
335 .SH BUGS
336 这个版本的 \*(TX 实现了大量的可选的扩展。实际上,其中大部分与 \*(TX 的定义有或多或少的冲突。当启用这样的扩展时,\*(TX 启动时打印的提示信息将是
337 .B TeXk
338 而不是
339 .BR TeX
342 这个版本的 \*(TX 在面积增加或减少时不能捕获算术下溢错误。这种情况很少见,但是一旦出现,产生的
343 .I DVI
344 文件将是无效的。
345 .\"=====================================================================
346 .SH "SEE ALSO 参见"
347 .BR mf (1),
349 Donald E. Knuth,
350 .IR "The \*(OXbook" ,
351 Addison-Wesley, 1986, ISBN 0-201-13447-0.
353 Leslie Lamport,
354 .IR "\*(LX \- A Document Preparation System" ,
355 Addison-Wesley, 1985, ISBN 0-201-15790-X.
357 K. Berry,
358 .IR "Eplain: Expanded plain \*(TX" ,
359 ftp://ftp.cs.umb.edu/pub/tex/eplain/doc.
361 Michael Spivak,
362 .IR "The Joy of \*(OX" ,
363 2nd edition, Addison-Wesley, 1990, ISBN 0-8218-2997-1.
365 .I TUGboat
366 (the journal of the \*(TX Users Group).
367 .\"=====================================================================
368 .SH "TRIVIA 提醒"
369 \*(TX,如果发音正确的话,与 ``blecchhh'' 押韵 (rhymes)。使用 typewriter 字体时,正确的拼写是 ``TeX'' 而不是 ``TEX'' 或者 ``tex''。
370 .\"=====================================================================
371 .SH "AUTHORS 作者"
372 \*(TX 的设计者是 by Donald E. Knuth,他用他的 \*(WB 系统实现了它。后来,它分别被 Stanford 的 Howard Tricky 和 Cornell 的 Pavel Curtis 移植到了 Unix。当前随 Unix \*(TX 发行的这个版本使用了 \*(WB 到 C 的翻译系统
373 .RB ( web2c )
374 来产生,
375 .RB ( web2c )
376 最初由 Tomas Rokicki 和 Tim Morgan 实现。