Table of Contents
dvips - convert a TeX DVI file to PostScript
dvips [ options
] file[.dvi]
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/texinfo*.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.
- -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 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).
- -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 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 -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. 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.
- -E
- makes 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 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 temporary 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 circumstances, dvips will split the document
up into `sections' to be processed independently; this is most often done
for memory reasons. 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 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.
- -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 numbered.
- -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 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 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 configuration file; use -F after this option if you
want both.
- -O offset
- Move the origin by a certain amount. The offset is a
comma-separated pair of dimensions, such as .1in,-.3cm (in the same syntax
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 prefixed 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 specified 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 implemented 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 \ecial{} or \psffile{} macro in the (La)TeX source like \ecial{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 appropriate code to select it. (Currently
known types include letter, 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 corner 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 printers,
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 program(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
magnification 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 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.
mf(1)
, afm2tfm(1)
, tex(1)
,
latex(1)
, lpr(1)
, dvips.texi.
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.
PostScript is a registered
trademark of Adobe Systems Incorporated.
Tomas Rokicki <rokicki@cs.stanford.edu>;
extended to virtual fonts by Don Knuth. Path searching and configuration
modifications by kb@mail.tug.org.
Table of Contents