summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipsk/dvips.1
blob: 09170168cd8d212ffcbe55b7f2e95f8aa0628f5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
.TH DVIPS 1 "27 May 2004"
.SH NAME
dvips \- convert a TeX DVI file to PostScript
.SH SYNOPSIS
.B dvips
[
.I options
]
.IR file [\fB.dvi\fP]
.SH DESCRIPTION
THIS MAN PAGE IS OBSOLETE!
See the Texinfo documentation instead.
You can read it either in Emacs or with the standalone 
.B info
program which comes with the GNU texinfo distribution as
prep.ai.mit.edu:pub/gnu/texinfo*.tar.gz.
.PP
The program
.B dvips
takes a DVI file
.IR file [\fB.dvi\fP]
produced by TeX (or by some other processor such as GFtoDVI) and
converts it to PostScript, normally sending the result directly to the
(laser)printer.  The DVI file may be specified without the
.B .dvi
extension.  Fonts used may either be resident in the printer or defined
as bitmaps in PK files, or a `virtual' combination of both.  If the
.B mktexpk
program is installed,
.B dvips
will automatically invoke METAFONT to generate fonts that don't already
exist.
.PP
For more information, see the Texinfo manual 
.IR dvips.texi ,
which should be installed somewhere on your system, hopefully accessible
through the standard Info tree.
.SH OPTIONS
.TP
.B -a
Conserve memory by making three passes over the .dvi file instead of two
and only loading those characters actually used.  Generally only useful
on machines with a very limited amount of memory, like some PCs.
.TP
.B -A
Print only odd pages (TeX pages, not sequence pages).
.TP
.B -b num
Generate
.I num
copies of each page, but duplicating the page body rather than using the
.I #numcopies
option.  This can be useful in conjunction with a header file setting
.I \ebop-hook
to do color separations or other neat tricks.
.TP
.B -B
Print only even pages (TeX pages, not sequence pages).
.TP
.B -c num
Generate
.I num
copies of every page.  Default is 1.  (For collated copies, see the
.I -C
option below.)
.TP
.B -C num
Create
.I num 
copies, but collated (by replicating the data in the PostScript file).
Slower than the
.I -c
option, but easier on the hands, and faster than resubmitting the same
PostScript file multiple times.
.TP
.B -d num
Set the debug flags.  This is intended only for emergencies or for
unusual fact-finding expeditions; it will work only if
.B dvips
has been compiled with the DEBUG option.  If nonzero, prints additional
information on standard error.  The number is taken as a set of
independent bits.  The meaning of each bit follows.  1=specials;
2=paths; 4=fonts; 8=pages; 16=headers; 32=font compression; 64=files;
128=memory; 256=Kpathsea stat(2) calls; 512=Kpathsea hash table lookups;
1024=Kpathsea path element expansion; 2048=Kpathsea searches.  To trace
everything having to do with file searching and opening, use 3650 (2048
+ 1024 + 512 + 64 + 2). To track all classes, you can use `-1' (output
is extremely voluminous).
.TP
.B -D num
Set the resolution in dpi (dots per inch) to
.IR num .
This affects the choice of bitmap fonts that are loaded and also the
positioning of letters in resident PostScript fonts. Must be between 10
and 10000.  This affects both the horizontal and vertical resolution.
If a high resolution (something greater than 400 dpi, say) is selected,
the
.I -Z
flag should probably also be used.
.TP
.B -e num
Make sure that each character is placed at most this many pixels from
its `true' resolution-independent position on the page. The default
value of this parameter is resolution dependent.  Allowing individual
characters to `drift' from their correctly rounded positions by a few
pixels, while regaining the true position at the beginning of each new
word, improves the spacing of letters in words.
.TP
.B -E
makes
.B dvips
attempt to generate an EPSF file with a tight bounding box.  This only
works on one-page files, and it only looks at marks made by characters
and rules, not by any included graphics.  In addition, it gets the glyph
metrics from the
.I tfm
file, so characters that lie outside their enclosing
.I tfm
box may confuse it.  In addition, the bounding box might be a bit too
loose if the character glyph has significant left or right side
bearings.  Nonetheless, this option works well for creating small EPSF
files for equations or tables or the like.  (Note, of course, that
.B dvips
output is resolution dependent and thus does not make very good EPSF
files, especially if the images are to be scaled; use these EPSF files
with a great deal of care.)
.TP
.B -f
Run as a filter.  Read the
.I .dvi
file from standard input and write the PostScript to standard output.
The standard input must be seekable, so it cannot be a pipe.  If you
must use a pipe, write a shell script that copies the pipe output to a
temporary file and then points
.B dvips
at this file.  This option also disables the automatic reading of the
.I PRINTER
environment variable, and turns off the automatic sending of control D
if it was turned on with the
.I -F
option or in the configuration file; use
.I -F
after this option if you want both.
.TP
.B -F
Causes Control-D (ASCII code 4) to be appended as the very last
character of the PostScript file.  This is useful when
.B dvips
is driving the printer directly instead of working through a spooler,
as is common on extremely small systems.  NOTE! DO NOT USE THIS OPTION!
.TP
.B -G
Causes
.B dvips
to shift non-printing characters to higher-numbered positions.
This may be useful sometimes.
.TP
.B -h name
Prepend file
.I name
as an additional header file. (However, if the name is simply `-'
suppress all header files from the output.)  This header file gets added
to the PostScript
.IR userdict .
.TP
.B -i
Make each section be a separate file.  Under certain circumstances,
.B dvips
will split the document up into `sections' to be processed
independently; this is most often done for memory reasons.  Using this
option tells
.B dvips
to place each section into a separate file; the new file names are
created replacing the suffix of the supplied output file name by a
three-digit sequence number.  This option is most often used in
conjunction with the
.I -S
option which sets the maximum section length in pages.  For instance,
some phototypesetters cannot print more than ten or so consecutive pages
before running out of steam; these options can be used to automatically
split a book into ten-page sections, each to its own file.
.TP
.B -j
Download only needed characters from Type 1 fonts. This is the
default in the current release.  Some debugging flags trace this operation.
You can also control partial downloading on a per-font basis, via the
.B psfonts.map
file.
.TP
.B -k
Print crop marks.  This option increases the paper size (which should be
specified, either with a paper size special or with the
.I -T
option) by a half inch in each dimension.  It translates each page by a
quarter inch and draws cross-style crop marks.  It is mostly useful with
typesetters that can set the page size automatically.
.TP
.B -K
This option causes comments in included PostScript graphics, font files,
and headers to be removed.  This is sometimes necessary to get around
bugs in spoolers or PostScript post-processing programs.  Specifically,
the %%Page comments, when left in, often cause difficulties.  Use of
this flag can cause some included graphics to fail, since the PostScript
header macros from some software packages read portions of the input
stream line by line, searching for a particular comment.  This option
has been turned off by default because PostScript previewers and
spoolers have been getting better.
.TP
.B -l num
The last page printed will be the first one numbered
.I num
Default is the last page in the document.  If the
.I num
is prefixed by an equals sign, then it (and any argument to the
.I -p
option) is treated as a sequence number, rather than a value to compare
with
.I \ecount0
values.  Thus, using
.I -l =9
will end with the ninth page of the document, no matter what the pages
are actually numbered.
.TP
.B -m
Specify manual feed for printer.
.TP
.B -mode mode
Use
.I mode
as the Metafont device name for path searching and font
generation.  This overrides any value from configuration files.  With
the default paths, explicitly specifying the mode also makes the program
assume the fonts are in a subdirectory named
.IR mode .
.TP
.B -M
Turns off the automatic font generation facility.  If any fonts are
missing, commands to generate the fonts are appended to the file
.I missfont.log
in the current directory; this file can then be executed and deleted to
create the missing fonts.
.TP
.B -n num
At most
.I num
pages will be printed. Default is 100000.
.TP
.B -N
Turns off structured comments; this might be necessary on some systems
that try to interpret PostScript comments in weird ways, or on some
PostScript printers.  Old versions of TranScript in particular cannot
handle modern Encapsulated PostScript.
.TP
.B -noomega
This will disable the use of Omega extensions when interpreting DVI files.
By default, the additional opcodes
.I 129
and
.I 134
are recognized by dvips as Omega extensions and interpreted as requests to
set 2-byte characters. The only drawback is that the virtual font array will
(at least temporarily) require 65536 positions instead of the default 256
positions, i.e. the memory requirements of dvips will be slightly larger. If
you find this unacceptable or encounter another problem with the Omega
extensions, you can switch this extension off by using
.B -noomega
(but please do send a bug report if you find such problems - see the bug
address in the
.B AUTHORS
section below).
.TP
.B -o name
The output will be sent to file
.I name
If no file name is given (i.e., -o is last on the command line), the
default name is
.I file.ps
where the .dvi file was called
.IR file.dvi ;
if this option isn't given, any default in the configuration file is
used.  If the first character of the supplied output file name is an
exclamation mark, then the remainder will be used as an argument to
.IR popen ;
thus, specifying
.I !lpr
as the output file will automatically queue the file for printing.
This option also disables the automatic reading of the
.I PRINTER
environment variable, and turns off the automatic sending of control D
if it was turned on with the
.I -F
option or in the configuration file; use
.I -F
after this option if you want both.
.TP
.B -O offset
Move the origin by a certain amount.  The
.I offset
is a comma-separated pair of dimensions, such as
.I .1in,-.3cm
(in the same syntax used in the
.I papersize
special).  The origin of the page is shifted from the
default position (of one inch down, one inch to the right from the upper
left corner of the paper) by this amount.
.TP
.B -p num
The first page printed will be the first one numbered
.IR num .
Default is the first page in the document.  If the
.I num
is prefixed by an equals sign, then it (and any argument to the
.I -l
option) is treated as a sequence number, rather than a value to compare
with
.I \ecount0
values.  Thus, using
.I -p =3
will start with the third page of the document, no matter what the pages
are actually numbered.
.TP
.B -pp pagelist
A comma-separated list of pages and ranges (a-b) may be given, which
will be interpreted as 
.I \ecount0
values.  Pages not specified will not be printed.  Multiple 
.B -pp
options may be specified or all pages and page ranges can be 
specified with one
.B -pp
option.
.TP
.B -P printername
Sets up the output for the appropriate printer.  This is implemented by
reading in
.I config.printername
, which can then set the output pipe (as in,
.I !lpr -Pprintername
as well as the font paths and any other
.I config.ps
defaults for that printer only.  Note that
.I config.ps
is read before
.I config.printername
In addition, another file called
.I ~/.dvipsrc
is searched for immediately after
.IR config.ps ;
this file is intended for user defaults.  If no
.I -P
command is given, the environment variable
.I PRINTER
is checked.  If that variable exists, and a corresponding configuration
file exists, that configuration file is read in.
.TP
.B -q
Run in quiet mode.  Don't chatter about pages converted, etc.; report
nothing but errors to standard error.
.TP
.B -r
Stack pages in reverse order.  Normally, page 1 will be printed first.
.TP
.B -R[0|1|2]
Run securely.
.BR -R2
disables both shell command execution in
.I \especial'{}
(via backticks
.BR `
) and config files (via the
.I E
option), and opening of any absolute filenames.
.BR -R1
, the default, forbids shell escapes but allows absolute filenames.
.BR -R0
allows both.  The config file option is
.I z
.TP
.B -s
Causes the entire global output to be enclosed in a save/restore pair.
This causes the file to not be truly conformant, and is thus not
recommended, but is useful if you are driving the printer directly and
don't care too much about the portability of the output.
.TP
.B -S num
Set the maximum number of pages in each `section'.  This option is most
commonly used with the
.I -i
option; see that documentation above for more information.
.TP
.B -t papertype
This sets the paper type to
.IR papertype .
The
.I papertype
should be defined in one of the configuration files, along with the
appropriate code to select it.  (Currently known types include
.BR letter ,
.BR legal ,
.BR ledger ,
.BR a4 ,
.BR a3 ).
You can also specify
.BR -t " " landscape ,
which rotates a document by 90 degrees.  To rotate a document whose size
is not letter, you can use the
.I -t
option twice, once for the page size, and once for landscape.
You should not use any
.I -t
option when the DVI file already contains a
.I papersize
special, as is done by some LaTeX packages, notably hyperref.sty.

The upper left corner of each page in the
.I .dvi
file is placed one inch from the left and one inch from the top.  Use of
this option is highly dependent on the configuration file.  Note that
executing the
.B letter
or
.B a4
or other PostScript operators cause the document to be nonconforming and
can cause it not to print on certain printers, so the paper size should
not execute such an operator if at all possible.
.TP
.B -T papersize
Set the paper size to the given pair of dimensions.  This option takes
its arguments in the same style as
.IR -O .
It overrides any paper size special in the dvi file.
.TP
.B -u psmapfile
Set
.I psmapfile
to be the file that dvips uses for looking up PostScript font aliases.  If
.I psmapfile
begins with a
.B +
character, then the rest of the name is used as the name of the map file,
and the map file is appended to the list of map files (instead of replacing
the list).  In either case, if
.I psmapfile
has no extension, then
.B .map
is added at the end.
.TP
.B -U
Disable a PostScript virtual memory saving optimization that stores the
character metric information in the same string that is used to store
the bitmap information.  This is only necessary when driving the Xerox
4045 PostScript interpreter.  It is caused by a bug in that interpreter
that results in `garbage' on the bottom of each character.  Not
recommended unless you must drive this printer.
.TP
.B -v
Print the
.B dvips
version number and exit.
.TP
.B -V
Download non-resident PostScript fonts as bitmaps.  This requires use of
`gsftopk' or `pstopk' or some other such program(s) in order to generate
the required bitmap fonts; these programs are supplied with
.BR dvips .
.TP
.B -x num
Set the
magnification ratio to
.IR num /1000.
Overrides the magnification specified in the .dvi file.  Must be
between 10 and 100000.  Instead of an integer,
.I num
may be a real number for increased precision.
.TP
.B -X num
Set the horizontal resolution in dots per inch to
.IR num .
.TP
.B -y num
Set the
magnification ratio to
.IR num /1000
times the magnification specified in the .dvi file.
See
.B -x
above.
.TP
.B -Y num
Set the vertical resolution in dots per inch to
.IR num .
.TP
.B -z
Pass
.B html
hyperdvi specials through to the output for eventual
distillation into PDF.  This is not enabled by default to avoid
including the header files unnecessarily, and use of temporary files in
creating the output.
.TP
.B -Z
Causes bitmapped fonts to be compressed before they are downloaded,
thereby reducing the size of the PostScript font-downloading
information.  Especially useful at high resolutions or when very large
fonts are used.  Will slow down printing somewhat, especially on early
68000-based PostScript printers.
.SH "SEE ALSO"
mf(1), afm2tfm(1), tex(1), latex(1), lpr(1), 
.IR dvips.texi .
.SH ENVIRONMENT
Dvipsk uses the same environment variables and algorithms for finding
font files as TeX and its friends do.  See the documentation for the
Kpathsea library for details.  (Repeating it here is too cumbersome.)
.PP
KPATHSEA_DEBUG: Trace Kpathsea lookups; set to -1 for complete tracing.
.PP
PRINTER: see above.
.SH NOTES
PostScript is a registered trademark of Adobe Systems Incorporated.
.SH AUTHOR
Tomas Rokicki <rokicki@cs.stanford.edu>; extended to virtual fonts
by Don Knuth.  Path searching and configuration modifications by
kb@mail.tug.org.