DVIPS(1)DVIPS(1)NAMEdvips - convert a TeX DVI file to PostScript
SYNOPSISdvips [ options ] file[.dvi]
DESCRIPTION
THIS MAN PAGE IS OBSOLETE! See the Texinfo documentation instead. You
can read it either in Emacs or with the standalone info program which
comes with the GNU texinfo distribution as prep.ai.mit.edu:pub/gnu/tex‐
info*.tar.gz.
The program dvips takes a DVI file file[.dvi] 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 .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 mktexpk program is installed,
dvips will automatically invoke METAFONT to generate fonts that don't
already exist.
For more information, see the Texinfo manual dvips.texi, which should
be installed somewhere on your system, hopefully accessible through the
standard Info tree.
OPTIONS-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.
-A Print only odd pages (TeX pages, not sequence pages).
-b num Generate num copies of each page, but duplicating the page body
rather than using the #numcopies option. This can be useful in
conjunction with a header file setting \bop-hook to do color
separations or other neat tricks.
-B Print only even pages (TeX pages, not sequence pages).
-c num Generate num copies of every page. Default is 1. (For collated
copies, see the -C option below.)
-C num Create num copies, but collated (by replicating the data in the
PostScript file). Slower than the -c option, but easier on the
hands, and faster than resubmitting the same PostScript file
multiple times.
-d num Set the debug flags. This is intended only for emergencies or
for unusual fact-finding expeditions; it will work only if dvips
has been compiled with the DEBUG option. If nonzero, prints
additional information on standard output. 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 com‐
pression; 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).
-D num Set the resolution in dpi (dots per inch) to num. This affects
the choice of bitmap fonts that are loaded and also the posi‐
tioning 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 -Z flag should probably also be used.
-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. Allow‐
ing 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.
-E makes dvips attempt to generate an EPSF file with a tight bound‐
ing 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 tfm
file, so characters that lie outside their enclosing 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 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.)
-f Run as a filter. Read the .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 tem‐
porary file and then points dvips at this file. This option
also disables the automatic reading of the PRINTER environment
variable, and turns off the automatic sending of control D if it
was turned on with the -F option or in the configuration file;
use -F after this option if you want both.
-F Causes Control-D (ASCII code 4) to be appended as the very last
character of the PostScript file. This is useful when 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!
-h name
Prepend file 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 userdict.
-i Make each section be a separate file. Under certain circum‐
stances, dvips will split the document up into `sections' to be
processed independently; this is most often done for memory rea‐
sons. Using this option tells 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 -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.
-k Print crop marks. This option increases the paper size (which
should be specified, either with a paper size special or with
the -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.
-K This option causes comments in included PostScript graphics,
font files, and headers to be removed. This is sometimes neces‐
sary to get around bugs in spoolers or PostScript post-process‐
ing 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.
-l num The last page printed will be the first one numbered num Default
is the last page in the document. If the num is prefixed by an
equals sign, then it (and any argument to the -p option) is
treated as a sequence number, rather than a value to compare
with \count0 values. Thus, using -l =9 will end with the ninth
page of the document, no matter what the pages are actually num‐
bered.
-m Specify manual feed for printer.
-M Turns off the automatic font generation facility. If any fonts
are missing, commands to generate the fonts are appended to the
file missfont.log in the current directory; this file can then
be executed and deleted to create the missing fonts.
-n num At most num pages will be printed. Default is 100000.
-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.
-o name
The output will be sent to file name If no file name is given,
the default name is file.ps where the .dvi file was called
file.dvi; if this option isn't given, any default in the config‐
uration 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 popen; thus, specifying !lpr as the
output file will automatically queue the file for printing.
This option also disables the automatic reading of the PRINTER
environment variable, and turns off the automatic sending of
control D if it was turned on with the -F option or in the con‐
figuration file; use -F after this option if you want both.
-O offset
Move the origin by a certain amount. The offset is a comma-sep‐
arated pair of dimensions, such as .1in,-.3cm (in the same syn‐
tax used in the 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.
-p num The first page printed will be the first one numbered num.
Default is the first page in the document. If the num is pre‐
fixed by an equals sign, then it (and any argument to the -l
option) is treated as a sequence number, rather than a value to
compare with \count0 values. Thus, using -p =3 will start with
the third page of the document, no matter what the pages are
actually numbered.
-pp pagelist
A comma-separated list of pages and ranges (a-b) may be given,
which will be interpreted as \count0 values. Pages not speci‐
fied will not be printed. Multiple -pp options may be specified
or all pages and page ranges can be specified with one -pp
option.
-P printername
Sets up the output for the appropriate printer. This is imple‐
mented by reading in config.printername , which can then set the
output pipe (as in, !lpr -Pprintername as well as the font paths
and any other config.ps defaults for that printer only. Note
that config.ps is read before config.printername In addition,
another file called ~/.dvipsrc is searched for immediately after
config.ps; this file is intended for user defaults. If no -P
command is given, the environment variable PRINTER is checked.
If that variable exists, and a corresponding configuration file
exists, that configuration file is read in.
-q Run in quiet mode. Don't chatter about pages converted, etc.;
report nothing but errors to standard error.
-r Stack pages in reverse order. Normally, page 1 will be printed
first.
-R Run in secure mode. This means that ``backtick'' commands from a
\special{} or \psffile{} macro in the (La)TeX source like \spe‐
cial{psfile="`zcat foo.ps.Z"} or \psffile[72 72 540 720]{"`zcat
screendump.ps.gz"} are not executed.
-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.
-S num Set the maximum number of pages in each `section'. This option
is most commonly used with the -i option; see that documentation
above for more information.
-t papertype
This sets the paper type to papertype. The papertype should be
defined in one of the configuration files, along with the appro‐
priate code to select it. (Currently known types include let‐
ter, legal, ledger, a4, a3, ) You can also specify -t landscape,
which rotates a document by 90 degrees. To rotate a document
whose size is not letter, you can use the -t option twice, once
for the page size, and once for landscape. The upper left cor‐
ner of each page in the .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
letter or a4 or other PostScript operators cause the document to
be nonconforming and can cause it not to print on certain print‐
ers, so the paper size should not execute such an operator if at
all possible.
-T offset
Set the paper size to the given pair of dimensions. This option
takes its arguments in the same style as -O. It overrides any
paper size special in the dvi file.
-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.
-V Download non-resident PostScript fonts as bitmaps. This
requires use of `gsftopk' or `pstopk' or some other such pro‐
gram(s) in order to generate the required bitmap fonts; these
programs are supplied with dvips.
-x num Set the magnification ratio to num /1000. Overrides the magnifi‐
cation specified in the .dvi file. Must be between 10 and
100000.
-X num Set the horizontal resolution in dots per inch to num.
-Y num Set the vertical resolution in dots per inch to num.
-Z Causes bitmapped fonts to be compressed before they are down‐
loaded, thereby reducing the size of the PostScript font-down‐
loading information. Especially useful at high resolutions or
when very large fonts are used. Will slow down printing some‐
what, especially on early 68000-based PostScript printers.
SEE ALSOmf(1), afm2tfm(1), tex(1), latex(1), lpr(1), dvips.texi.
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.)
KPATHSEA_DEBUG: Trace Kpathsea lookups; set to -1 for complete tracing.
PRINTER: see above.
NOTES
PostScript is a registered trademark of Adobe Systems Incorporated.
AUTHOR
Tomas Rokicki <rokicki@cs.stanford.edu>; extended to virtual fonts by
Don Knuth. Path searching and configuration modifications by
kb@mail.tug.org.
1 June 1996 DVIPS(1)