sinc trunk with TeXLive rev. 40901.
[luatex.git] / source / texk / web2c / man / pdftex.man
blobd1b8ef5e2d6b56b077ac6a965484525aa0462210
1 .TH PDFTEX 1 "4 May 2016" "Web2C @VERSION@"
2 .\"=====================================================================
3 .if n .ds MF Metafont
4 .if t .ds MF Metafont
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
8 .el .ds OX TeX
9 .\" BX definition must follow TX so BX can use TX
10 .if t .ds BX \fRB\s-2IB\s0\fP\*(TX
11 .if n .ds BX BibTeX
12 .\" LX definition must follow TX so LX can use TX
13 .if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
14 .if n .ds LX LaTeX
15 .if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX
16 .if n .ds AX AmSTeX
17 .if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX
18 .if n .ds AY AmSLaTeX
19 .if n .ds WB Web
20 .if t .ds WB W\s-2EB\s0
21 .\"=====================================================================
22 .SH NAME
23 pdftex \- PDF output from TeX
24 .SH SYNOPSIS
25 .B pdftex
26 .RI [ options ]
27 .RI [ \fB&\fPformat ]
28 .RI [ file | \fB\e\fPcommands ]
29 .\"=====================================================================
30 .SH DESCRIPTION
31 Run the pdf\*(TX typesetter on
32 .IR file ,
33 usually creating
34 .IR file.pdf .
35 If the file argument has no extension, ".tex" will be appended to it. 
36 Instead of a filename, a set of pdf\*(TX commands can be given, the first
37 of which must start with a backslash.
38 With a 
39 .BI & format
40 argument pdf\*(TX uses a different set of precompiled commands,
41 contained in
42 .IR format\fB.fmt\fP ;
43 it is usually better to use the
44 .B -fmt
45 .I format
46 option instead.
47 .PP
48 pdf\*(TX is a version of \*(TX, with the e-\*(TX extensions, that can create
49 .I PDF
50 files as well as
51 .I DVI
52 files.
53 .PP
55 .I DVI
56 mode, pdf\*(TX can be used as a complete replacement for the \*(TX
57 engine.
58 .PP
59 The typical use of pdf\*(TX is with a pregenerated formats for which
60 PDF output has been enabled.  The
61 .B pdftex
62 command uses the equivalent of the plain \*(TX format, and the
63 .B pdflatex
64 command uses the equivalent of the \*(LX format.
65 To generate formats, use the
66 .B -ini
67 switch.
68 .PP
69 The
70 .B pdfinitex
71 and
72 .B pdfvirtex
73 commands are pdf\*(TX's analogues to the
74 .B initex
75 and
76 .B virtex
77 commands.  In this installation, if the links exist, they are symbolic
78 links to the
79 .B pdftex
80 executable.
81 .PP
83 .I PDF
84 mode, pdf\*(TX can natively handle the
85 .IR PDF ,
86 .IR JPG ,
87 .IR JBIG2 ,
88 and
89 .I PNG
90 graphics formats.  pdf\*(TX cannot include PostScript or Encapsulated
91 PostScript (EPS) graphics files; first convert them to PDF using 
92 .BR epstopdf (1).
93 pdf\*(TX's handling of its command-line arguments is similar to that of
94 of the other \*(TX programs in the
95 .I web2c
96 implementation.
97 .\"=====================================================================
98 .SH OPTIONS
99 This version of pdf\*(TX understands the following command line options.
101 .B -draftmode
102 Sets \epdfdraftmode so pdf\*(TX doesn't write a PDF and doesn't read any
103 included images, thus speeding up execution.
105 .B -enc
106 Enable the enc\*(TX extensions.  This option is only effective in
107 combination with
108 .BR -ini .
109 For documentation of the enc\*(TX extensions see
110 .BR http://www.olsak.net/enctex.html .
112 .B -etex
113 Enable the e-\*(TX extensions.  This option is only effective in
114 combination with
115 .BR -ini .
117 .BR etex (1).
119 .B -file-line-error
120 Print error messages in the form
121 .I file:line:error
122 which is similar to the way many compilers format them.
124 .B -no-file-line-error
125 Disable printing error messages in the
126 .I file:line:error
127 style.
129 .B -file-line-error-style
130 This is the old name of the
131 .B -file-line-error
132 option.
134 .BI -fmt \ format
136 .I format
137 as the name of the format to be used, instead of the name by which
138 pdf\*(TX was called or a
139 .I %&
140 line.
142 .B -halt-on-error
143 Exit with an error code when an error is encountered during processing.
145 .B -help
146 Print help message and exit.
148 .B -ini
149 Start in
150 .I INI
151 mode, which is used to dump formats.  The
152 .I INI
153 mode can be used for typesetting, but no format is preloaded, and
154 basic initializations like setting catcodes may be required.
156 .BI -interaction \ mode
157 Sets the interaction mode.  The mode can be either
158 .IR batchmode ,
159 .IR nonstopmode ,
160 .IR scrollmode ,
162 .IR errorstopmode .
163 The meaning of these modes is the same as that of the corresponding
164 \ecommands.
166 .B -ipc
167 Send DVI or PDF output to a socket as well as the usual output file.
168 Whether this option is available is the choice of the installer.
170 .B -ipc-start
172 .BR -ipc ,
173 and starts the server at the other end as well.  Whether this option
174 is available is the choice of the installer.
176 .BI -jobname \ name
178 .I name
179 for the job name, instead of deriving it from the name of the input file.
181 .BI -kpathsea-debug \ bitmask
182 Sets path searching debugging flags according to the bitmask.  See the
183 .I Kpathsea
184 manual for details.
186 .BI -mktex \ fmt
187 Enable
188 .RI mktex fmt ,
189 where
190 .I fmt
191 must be either
192 .I tex
194 .IR tfm .
196 .B -mltex
197 Enable ML\*(TX extensions.  Only effective in combination with
198 .BR -ini .
200 .BI -no-mktex \ fmt
201 Disable
202 .RI mktex fmt ,
203 where
204 .I fmt
205 must be either
206 .I tex
208 .IR tfm .
210 .BI -output-comment \ string
212 .I DVI
213 mode, use
214 .I string
215 for the
216 .I DVI
217 file comment instead of the date.  This option is ignored
219 .I PDF
220 mode.
222 .BI -output-directory \ directory
223 Write output files in
224 .I directory
225 instead of the current directory.  Look up input files in
226 .I directory
227 first, the along the normal search path.
229 .BI -output-format \ format
230 Set the output format mode, where
231 .I format
232 must be either
233 .I pdf
235 .IR dvi .
236 This also influences the set of graphics formats understood by pdf\*(TX.
238 .B -parse-first-line
239 If the first line of the main input file begins with
240 .I %&
241 parse it to look for a dump name or a
242 .B -translate-file
243 option.
245 .B -no-parse-first-line
246 Disable parsing of the first line of the main input file.
248 .BI -progname \ name
249 Pretend to be program
250 .IR name .
251 This affects both the format used and the search paths.
253 .B -recorder
254 Enable the filename recorder.
255 This leaves a trace of the files opened for input and output
256 in a file with extension
257 .IR .fls .
259 .B -shell-escape
260 Enable the
261 .BI \ewrite18{ command }
262 construct.  The
263 .I command
264 can be any shell command.  This construct is normally
265 disallowed for security reasons.
267 .B -no-shell-escape
268 Disable the
269 .BI \ewrite18{ command }
270 construct, even if it is enabled in the
271 .I texmf.cnf
272 file.
274 .B -src-specials
276 .I DVI
277 mode, insert source specials into the
278 .I DVI
279 file.
280 This option is ignored in
281 .I PDF
282 mode.
284 .BI -src-specials \ where
286 .I DVI
287 mode, insert source specials in certain placed of the
288 .I DVI
289 file.
290 .I where
291 is a comma-separated value list:
292 .IR cr ,
293 .IR display ,
294 .IR hbox ,
295 .IR math ,
296 .IR par ,
297 .IR parent ,
299 .IR vbox .
300 This option is ignored in
301 .I PDF
302 mode.
304 .BI -translate-file \ tcxname
305 Use the
306 .I tcxname
307 translation table to set the mapping of input characters and
308 re-mapping of output characters.
310 .BI -default-translate-file \ tcxname
311 Like
312 .B -translate-file
313 except that a
314 .I %&
315 line can overrule this setting.
317 .B -version
318 Print version information and exit.
319 .\"=====================================================================
320 .SH ENVIRONMENT
321 See the Kpathsea library documentation (e.g., the `Path specifications'
322 node) for precise details of how the environment variables are used.
324 .B kpsewhich
325 utility can be used to query the values of the variables.
327 One caveat: In most pdf\*(TX formats, you cannot use ~ in a filename you
328 give directly to pdf\*(TX, because ~ is an active character, and hence is
329 expanded, not taken as part of the filename.  Other programs, such as
330 \*(MF, do not have this problem.
333 .B TEXMFOUTPUT
334 Normally, pdf\*(TX puts its output files in the current directory.  If
335 any output file cannot be opened there, it tries to open it in the
336 directory specified in the environment variable TEXMFOUTPUT.
337 There is no default value for that variable.  For example, if you say
338 .I pdftex paper
339 and the current directory is not writable and TEXMFOUTPUT has
340 the value
341 .IR /tmp ,
342 pdf\*(TX attempts to create
343 .I /tmp/paper.log
344 (and
345 .IR /tmp/paper.pdf ,
346 if any output is produced.)  TEXMFOUTPUT is also checked for input
347 files, as \*(TX often generates files that need to be subsequently
348 read; for input, no suffixes (such as ``.tex'') are added by default,
349 the input name is simply checked as given.
351 .B TEXINPUTS
352 Search path for
353 .I \einput
355 .I \eopenin
356 files.
357 This should start with ``.'', so
358 that user files are found before system files.  An empty path
359 component will be replaced with the paths defined in the
360 .I texmf.cnf
361 file.  For example, set TEXINPUTS to ".:/home/user/tex:" to prepend the
362 current directory and ``/home/user/tex'' to the standard search path.
364 .B TEXFORMATS
365 Search path for format files.
367 .B TEXEDIT
368 Command template for switching to editor.  The default, usually
369 .BR vi ,
370 is set when pdf\*(TX is compiled.
372 .B TFMFONTS
373 Search path for font metric
374 .RI ( .tfm )
375 files.
377 .B SOURCE_DATE_EPOCH
378 If set, its value, taken to be in epoch-seconds, will be used for the
379 timestamps in the PDF output, such as the CreationDate and ModDate keys.
380 This is useful for making reproducible builds.
382 .B SOURCE_DATE_EPOCH_TEX_PRIMITIVES
383 If set to the value "1", the time-related \*(TX primitives
384 .RI ( \eyear ,
385 .IR \emonth ,
386 .IR \eday ,
387 .IR \etime )
388 are also initialized from the value of SOURCE_DATE_EPOCH.  This is not
389 recommended if there is any viable alternative.
391 pdf\*(TX also has several primitives to support reproducible builds,
392 which are preferable to setting these environment variables; see the
393 main manual.
395 Many, many more environment variables may be consulted related to path
396 searching.  See the Kpathsea manual.
397 .\"=====================================================================
398 .SH FILES
399 The location of the files mentioned below varies from system to
400 system.  Use the
401 .B kpsewhich
402 utility to find their locations.
404 .I pdftex.map
405 Font name mapping definitions.
407 .I *.tfm
408 Metric files for pdf\*(TX's fonts.
410 .I *.fmt
411 Predigested pdf\*(TX format (.\|fmt) files.
413 .\"=====================================================================
414 .SH NOTES
415 Starting with version 1.40, pdf\*(TX incorporates the e-\*(TX
416 extensions, and pdfe\*(TX is just a copy of pdf\*(TX.  See 
417 .BR etex (1).
418 This manual page is not meant to be exhaustive.  The complete
419 documentation for this version of pdf\*(TX can be found in the 
420 .IR "pdf\*(TX manual"
421 and the info manual
422 .IR "Web2C: A TeX implementation" .
423 .\"=====================================================================
424 .SH BUGS
425 This version of pdf\*(TX fails to trap arithmetic overflow when
426 dimensions are added or subtracted.  Cases where this occurs are rare,
427 but when it does the generated
428 .I DVI
429 file will be invalid.  Whether a generated
430 .I PDF
431 file would be usable is unknown.
432 .\"=====================================================================
433 .SH AVAILABILITY
434 pdf\*(TX is available for a large variety of machine architectures
435 and operating systems.
436 pdf\*(TX is part of all major \*(TX distributions.
438 The pdf\*(TX home page: http://www.pdftex.org.
440 pdf\*(TX on CTAN: http://www.ctan.org/pkg/pdftex.
442 pdf\*(TX mailing list for all discussion: http://lists.tug.org/pdftex.
443 .\"=====================================================================
444 .SH "SEE ALSO"
445 The full pdf\*(TX manual can be accessed from the home page or CTAN page.
446 Same for the Web2C, Kpathsea, and other manuals.
447 Some related programs:
448 .BR epstopdf (1),
449 .BR etex (1),
450 .BR latex (1),
451 .BR luatex (1),
452 .BR mptopdf (1),
453 .BR tex (1),
454 .BR mf (1).
455 .\"=====================================================================
456 .SH AUTHORS
457 The primary authors of pdf\*(TX are Han The Thanh, Petr Sojka,
458 Jiri Zlatuska, and Peter Breitenlohner (e\*(TX).
460 \*(TX was designed by Donald E. Knuth,
461 who implemented it using his \*(WB system for Pascal programs.
462 It was ported to Unix at Stanford by Howard Trickey, and
463 at Cornell by Pavel Curtis.
464 The version now offered with the Unix \*(TX distribution is that
465 generated by the \*(WB to C system
466 .RB ( web2c ),
467 originally written by Tomas Rokicki and Tim Morgan.
469 The enc\*(TX extensions were written by Petr Olsak.
470 .\" vim: syntax=nroff