dvips: Option details
3.2.2 Option details
--------------------
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, like
some PCs.
'-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.
'-bitmapfontenc OPTION'
Turns bitmap font encoding to 'off', 'on' (no warnings for missing
bitmap font encodings), or 'strict' (with warnings for missing
bitmap font encodings).
'-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. This
will work unless Dvips has been compiled without the 'DEBUG' option
(not recommended). ⇒Debug options, 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, 'mktexpk' needs to know about
the value for NUM that you use or Metafont will fail. See the file
<ftp://ftp.tug.org/tex/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*'
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 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. This option also disables
the automatic reading of the 'PRINTER' environment variable; use
'-P$PRINTER' after the '-f' to read it anyway. It also 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. ⇒Headers and memory usage, for ways to
handle this.
'-j*'
Download only needed characters from Type 1 fonts. This is the
default in the current release. Some debugging flags trace this
operation (⇒Debug options). You can also control partial
downloading on a per-font basis (⇒psfonts.map).
'-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.
'-L*'
By default or with '-L1', the last 'papersize' special wins; with
'-L0', the first special wins. ⇒'papersize' special.
'-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.
⇒TeX directory structure (kpathsea)TeX directory structure.
If Metafont does not understand the MODE name, see ⇒
(kpathsea)Unable to generate fonts.
'-M*'
Turns off automatic font generation ('mktexpk'). If 'mktexpk', the
invocation is appended to a file 'missfont.log' (by default) in the
current directory. You can then execute the log file to create the
missing files after fixing the problem. If the current directory
is not writable and the environment variable or configuration file
value 'TEXMFOUTPUT' is set, its value is used. Otherwise, nothing
is written. The name 'missfont.log' is overridden by the
'MISSFONT_LOG' environment variable or configuration file value.
'-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. Old
versions of TranScript in particular cannot handle modern
Encapsulated PostScript. Beware: This also disables page movement,
etc., in PostScript viewers such as Ghostview.
'-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 using '-noptex', or both by using
'-noomega' (but please do send a bug report if you find such
problems, ⇒(kpathsea)Bugs).
'-o NAME'
Send output to the file NAME. If '-o' is specified without NAME
(i.e., it is the last thing on the command line), the default is
'FILE.ps' where the input DVI file was 'FILE.dvi'. If '-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. (The
MS-DOS version will print to the local printer device 'PRN' when
NAME is '|lpr' and a program by that name cannot be found.)
'-o' disables the automatic reading of the 'PRINTER' environment
variable, and 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' (⇒'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. 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' (⇒
PostScript hooks).
'-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 FIRST -l LAST',
except that multiple '-pp' options accumulate, unlike '-p' and
'-l'. The '-' separator can also be ':'.
'-P PRINTER'
Read the configuration file 'config.PRINTER' ('PRINTER.cfg' on
MS-DOS), which typically sets the output name (most likely 'o |lpr
-PPRINTER'), resolution, Metafont mode, and perhaps other
printer-specific defaults. It works best to put sitewide defaults
in the one master 'config.ps' file and only things that vary from
printer to printer in the 'config.PRINTER' files; '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
(⇒Hypertext caveats).
If no '-P' or '-o' is given, the environment variable 'PRINTER' is
checked. If that variable exists, and a corresponding
'config.PRINTER' ('PRINTER.cfg' on MS-DOS) file exists, it is read.
⇒Configuration file searching.
'-q*'
Run quietly. Don't chatter about pages converted, etc., and 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 '`', ⇒Dynamic creation of graphics) and
config files (via the 'E' option, ⇒Configuration file
commands) 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 (⇒Config file paper sizes).
- 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
'papersize' 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.)
'-title STRING'
Use STRING as the title in the generated PostScript ('%%Title').
If not specified, the default is the basename of the input file;
for example, running 'dvips /foo/bar.dvi' will have a '%%Title' of
'bar.dvi'.
'-T HSIZE,VSIZE'
Set the paper size to (HSIZE,VSIZE), a comma-separated pair of
dimensions such as '.1in,-.3cm' (⇒'papersize' special). 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 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 the name 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, 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 'mtpk' or 'gsftopk' or 'pstopk' or some combination thereof
to generate the required bitmap fonts; these programs are supplied
with Dvips. 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 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 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. ⇒Hypertext.
'-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 (⇒
Configuration file commands).