miktex-dvips — convert a DVI file to PostScript
miktex-dvips
[option
...] dvifile
This man page is an adaption of the corresponding TeX Live man page.
This man page is obsolete! See the Texinfo documentation instead.
Dvips takes a DVI file produced by TeX (or by some other
processor such as miktex-gftodvi) and
converts it to PostScript.
The DVI file may be specified without the .dvi
extension.
Many of the parameterless options listed here can be turned off
by suffixing the option with a zero (0
); for
instance, to turn off page reversal, use -r0
. Such
options are marked with a trailing *
.
-
Read additional options from standard input after processing the command line.
--help
Print a usage message and exit.
--version
Print the version number and exit.
-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.
-A
Print only the odd pages. This option uses TeX page numbers, not physical page numbers.
-b num
Generate num
copies of each
page, but duplicating the page body rather than using the
/#copies PostScript variable. This can be useful
in conjunction with a header file setting bop-hook
to do color separations or other neat tricks.
-B
Print only the even pages. This option uses TeX page numbers, not physical page numbers.
-c num
Generate num
consecutive
copies of every page, i.e., the output is uncollated. This merely
sets the builtin PostScript variable
/#copies.
-C num
Generate 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, showing what Dvips (thinks it)
is doing. See the Dvips manual, for the possible values of
num
. Use -d -1
as the
first option for maximum output.
-D num
Set both the horizontal and vertical resolution to
num
, given in dpi (dots
per inch). 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. If you are using fonts made with
METAFONT, such as Computer Modern,
makepk needs to know about the value for
num
that you use or METAFONT will fail.
See the file modes.mf
for a list of resolutions
and mode names for most devices.
-e num
Maximum drift in pixels of each character from its “true” resolution-independent position on the page. The default value of this parameter is resolution dependent (it is the number of entries in the list [100, 200, 300, 400, 500, 600, 800, 1000, 1200, 1600, 2000, 2400, 2800, 3200, …] that are less than or equal to the resolution in dots per inch). 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*
Generate an EPSF file with a tight
bounding box. This 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 print 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 enough for creating small EPSF
files for equations or tables or the like. (Of course, Dvips
output, especially when using bitmap fonts, 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 care.) For multiple page input
files, also specify -i
to get each page as a separate
EPSF file; otherwise, all the pages are overlaid in
the single output file.
-f*
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 your input must be a pipe, write a shell
script that copies the pipe output to a temporary file and then points
Dvips at this file. It 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 the
-f
to send it anyway.
-F*
Write control-D (ASCII code 4) 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 personal systems. On systems shared by more than one person, this is not recommended.
-G
Shift non-printing characters (ASCII 0-32, 127) to higher-numbered positions. This was useful to work around bugs in old versions of Adobe's PDF reader. It's more likely to cause problems nowadays.
-h name
Prepend name
as an additional header
file, or, if name
is -
,
suppress all header files. Any definitions in the header file get
added to the PostScript userdict
.
-i*
Make each section be a separate file; a
section is a part of the document processed
independently, most often created to avoid memory overflow. The
filenames 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; if -i
is specified
and -S
is not, each page is output as a separate
file. 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.
On the other hand, if your document uses very large fonts or very large included figures, Dvips might take it upon itself to split the output into unwanted sections, to try to avoid overflowing printer memory.
-j*
Download only needed characters from Type 1 fonts. This is the default. Some debugging flags trace this operation. You can also control partial downloading on a per-font basis (see updmap.cfg(5)).
-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. This works by downloading
crop.pro
.
-K*
Remove comments in included PostScript graphics, font files, and headers; only 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 other graphics to fail, however, since the PostScript header macros from some software packages read portion the input stream line by line, searching for a particular comment.
-l [=]num
The last page printed will be the first one numbered
num
. Default is the last page in the
document. If num
is prefixed by an equals
sign, then it (and the argument to the -p
option, if
specified) is treated as a physical (absolute) page number, rather
than a value to compare with the TeX \count0 values stored in the DVI file. 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, if supported by the output device.
-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 automatic font generation.
-n num
Print at most num
pages.
Default is 100000.
-n num
Print at most num
pages.
Default is 100000.
-N*
Turns off generation of structured comments such as %%Page; this may be necessary on some systems that try to interpret PostScript comments in weird ways, or on some PostScript printers. Beware: This also disables page movement, etc., in PostScript viewers such as GSview.
-noomega
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
Disable the use of pTeX extensions when interpreting DVI files. By default, the additional opcodes 130 and 135 are recognized by Dvips as Omega 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
-noptex
, or both by
-noomega
.
-o name
Send output to the file
name
. If -o
is specified
without name
, the default is
where the
input DVI file was
file
.ps
. If
file
.dvi-o
isn't given at all, the configuration file default
is used.
If name
is -
,
output goes to standard output. If the first character of
name
is !
or
|
, 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 as usual.
Dvips will print to the local printer device PRN
when name
is |lpr
and a
program by that name cannot be found.
-o
turns off the automatic sending of
control-D. See the -f
option for how to
override this.
-O x-offset
,y-offset
Move the origin by
x-offset
,y-offset
,
a comma-separated pair of dimensions such as
.1in,-.3cm
. 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. This is usually best
specified in the printer-specific configuration file.
This is useful for a printer that consistently offsets output
pages by a certain amount. You can use the file
testpage.tex
to determine the correct value for your
printer. Be sure to do several runs with the same O
value-some printers vary widely from run to run.
If your printer offsets every other page consistently, instead of every page, your best recourse is to use bop-hook (see the Dvips manual for more information).
-p [=]num
The first page printed will be the first one numbered
num
. Default is the first page in the
document. If num
is prefixed by an equals
sign, then it (and the argument to the -l
option, if
specified) is treated as a physical (absolute) page number, rather
than a value to compare with the TeX \count0 values stored in the DVI file. Thus,
using -p =3
will start with the third page of the
document, no matter what the pages are actually
numbered.
-pp first
-last
Print pages first
through
last
; equivalent to -p
, except that multiple
first
-l
last
-pp
options accumulate, unlike -p
and -l
. The -
separator can also be
:
.
-P printer
Read the configuration file
config.
, which
can set the output name (most likely printer
o |lpr
-P
), resolution,
METAFONT mode, and perhaps font paths and
other printer-specific defaults. It works best to put sitewide
defaults in the one master printer
config.ps
file and
only things that vary printer to printer in the
config.
files;
printer
config.ps
is read before
config.
.printer
A
configuration file for eventual creation of Adobe PDF files is
provided in config.pdf
and thus can be loaded
with -Ppdf
. It will try to include Type 1
outline fonts into the PostScript file.
-q*
Run quietly. Don't chatter about pages converted, etc. to standard output; report no warnings (only errors) to standard error.
-r*
Output pages in reverse order. By default, page 1 is output first.
-R
Run securely. -R2
disables both
shell command execution
in \special (via `
) and
config files (via the E
), pipes as output files, and
opening of any absolute or ..
-relative filenames.
-R1
, the default, forbids shell escapes but allows
absolute filenames. -R0
allows
both.
-s*
Enclose the output in a global save/restore pair. This causes the file to not be truly conformant, and is thus not recommended, but is useful if you are driving a deficient printer directly and thus don't care too much about the portability of the output to other environments.
-S num
Set the maximum number of pages in each
“section”. This
option is most commonly used with the -i
option; see its description above for more information.
-t papertype
Set the paper type to
papertype
, usually defined in one of the
configuration files, along with the appropriate PostScript code to
select it. You can also specify a
papertype
of landscape
,
which rotates a document by 90 degrees. To rotate a document whose
paper type is not the default, you can use the -t
option twice, once for the paper type, and once for
landscape
.
In general, you should not use any -t
option
when using a papaersize special, which
some LaTeX packages (e.g., hyperref
)
insert
One exception is when using a nonstandard paper size that is not
already defined in config.ps
; in this case, you
need to specify -t unknown
.
Another exception is when producing multi-page files for further
processing; use -t nopaper
to omit any paper size
information in the output. (If you just have a single page document,
you can use -E
to get pure EPSF
output.)
-T hsize,vsize
Set the paper size to
(hsize
,vsize
), a
comma-separated pair of dimensions such as
.1in,-.3cm
. It overrides any paper size special in
the DVI file. Be careful, as the paper size will stick to a
predefined size if there is one close enough. To disable this
behavior, use -tunknown
-u psmapfile
Set psmapfile
to be the
file that Dvips uses for looking up PostScript font aliases.
If psmapfile
starts 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 the name
has no extension, .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, which has a bug that puts 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 makepk
to generate the required
bitmap fonts. The bitmap must be put into
psfonts.map
as the downloadable file for that font.
This is useful only for those fonts for which you do not have real
outlines, being downloaded to printers that have no resident fonts,
i.e., very rarely.
-x num
Set the x magnification ratio to
num
/1000. Overrides the magnification
specified in the DVI file. Must be between 10 and 100000. It is
recommended that you use standard magstep values (1095, 1200, 1440,
1728, 2074, 2488, 2986, and so on) to help reduce the total number of
PK files generated. num
may be a real number, not an integer,
for increased precision.
-X num
Set the horizontal resolution in dots per inch to
num
.
-y num
Set the y magnification ratio to
num
/1000. 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*
Compress bitmap fonts in the output file, thereby reducing the size of what gets downloaded. Especially useful at high resolutions or when very large fonts are used. May slow down printing, especially on early 68000-based PostScript printers. Generally recommend today, and can be enabled in the configuration file.
MIKTEX_TRACE
Comma-separated list of trace stream names (see Chapter 9, Trace Streams). If this variable is set, then MiKTeX programs will write trace messages into the configured log sink.