dvips
convert a TeX DVI file to PostScript
see also :
mf - afm2tfm - tex - latex - lpr
Synopsis
dvips
[OPTIONS] file[.dvi]
add an example, a script, a trick and tips
examples
source
latex clusterfit.tex
dvips -f clusterfit.dvi > clusterfit.ps
source
latex galregress.tex
dvips -f galregress.dvi > galregress.ps
source
all:
latex problem_description.tex
dvips problem_description.dvi
source
latex *.tex
latex *.tex
dvips *.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
ftp.gnu.org:pub/gnu/texinfo/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, sending the output to a file
or directly to a 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 error. For maximum information, you can use
’-1’. See the Dvips Texinfo manual for more
details.
-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!
-G
Causes dvips to shift non-printing characters to
higher-numbered positions. This may be useful sometimes.
-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.
-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 psfonts.map
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.
-mode mode
Use 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
mode.
-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.
-noomega
This will disable the use of
Omega extensions when interpreting DVI files. By default,
the additional opcodes 129 and 134 are
recognized by dvips as Omega or pTeX extensions and
interpreted as requests to set 2-byte characters.
-noptex
This will disable the use of
pTeX extensions when interpreting DVI files. By default, the
additional opcodes 130 and 135 are recognized
by dvips as pTeX extensions and interpreted as requests to
set 3-byte characters, and 255 as request to change
the typesetting direction.
The only
drawback is that the virtual font array will (at least
temporarily) require 65536 or more positions instead of the
default 256 positions, i.e., the memory requirements of
dvips will be somewhat larger. If you find this unacceptable
or encounter another problem with the Omega or pTeX
extensions, you can switch off the pTeX extension by using
-noptex, or both by using -noomega (but please
do send a bug report if you find such problems - see the bug
address in the AUTHORS section below).
-o name
The output will be sent to file
name If no file name is given (i.e., -o is last on
the command line), 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[0|1|2]
Run securely. -R2
disables both shell command execution in
\special’{} (via backticks ’ ) and
config files (via the E option), and opening of any
absolute filenames. -R1 , the default, forbids shell
escapes but allows absolute filenames. -R0 allows
both. The config file option is z
-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. You should
not use any -t option when the DVI file already
contains a papersize special, as is done by some
LaTeX packages, notably hyperref.sty.
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 papersize
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 psmapfile
Set psmapfile to be the
file that dvips uses for looking up PostScript font aliases.
If psmapfile begins with a + 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
psmapfile has no extension, then .map is added
at the end.
-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
Print the dvips version number and exit.
-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. Instead of an integer, num
may be a real number for increased precision.
-X num
Set the horizontal resolution in dots per inch to
num.
-y num
Set the magnification ratio to num/1000 times the
magnification specified in the .dvi file. See -x
above.
-Y num
Set the vertical resolution in dots per inch to
num.
-z
Pass 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.
-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.
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.
see also
mf ,
afm2tfm , tex , latex , lpr , dvips.texi,
http://tug.org/dvips.
author
Tomas Rokicki
<rokicki[:at:]cs.stanford[:dot:]edu>; extended to virtual fonts
by Don Knuth. Path searching and configuration modifications
by Karl Berry.