.RM 68
.NO NUMBER
.NO PAGING
.STHL 5,1,1
.lm 0
1  DVIPS
.lm 2
The dvips  program converts a TEX dvi file into a PostScript file for
printing or distribution.  Seldom has such a seemingly easy programming task
required so much effort. The dvips program has a number of features that set
it apart from other PostScript drivers for TEX.  The dvips driver generates
excellent, standard PostScript, that can be included in other documents as
figures or printed through a variety of spoolers.  The generated PostScript
requires very little printer memory, so very complex documents with a lot of
fonts can easily be printed even on PostScript printers without much memory,
such as the original Apple LaserWriter.  The PostScript output is also
compact, requiring less disk space to store and making it feasible as a
transfer format.
.skip 1
Missing fonts can be automatically generated if METAFONT exists on the
system, or fonts can be converted from gf to pk   format on demand.  If a
font cannot be generated, a scaled version of the same font at a different
size can be used instead, although dvips  will complain loudly about the
poor aesthetics of the resulting output.
.skip 1
.literal
    usage:
         DVIPS filename[.dvi]
.end literal
.skip 1
.lm 0
2 Parameters
.s
.lm 2
Filename
.s
Specifies the name of the .DVI file that is to be processed.
.lm 0
2 Command__Qualifiers
.skip 1
/COPIES
.lm 6
.skip 1
/COPIES=num
.lm 2
.skip 1
    Generate num copies of every page.  Default is 1.
    (For collated copies, see the /COLLATE option.)
.skip 1
.lm 0
/DEBUG
.skip 1
.lm 6
    /DEBUG=num
.lm 2
.skip 1
    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.  Use
.skip 1
.literal
        num=1   for special

        num=2   for paths

        num=4   for fonts

        num=8   for pages

        num=16  for headers

        num=32  for font compression

        num=64  for files

        num=128 for memory allocation
.end literal
.skip 1
      Use a value of -1 for maximum output.
.skip 1
.lm 0
/MAXDRIFT
.skip 1
.lm 6
    /MAXDRIFT=num
.lm 2
.skip 1
    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 (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.
.skip 1
.lm 0
/FILTER
.skip 1
.lm 2
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.  i-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.
.skip 1
.lm 0
/LAST
.skip 1
.lm 6
    /LAST=num
.lm 2
.skip 1
    The last page printed will be the first one numbered num.  Default
    is the last page in the document.
.skip 1
If the /ABSOLUTE qualifier has been used then it (and any argument to the
/START qualifier)  is treated as a sequence number, rather than a value to
compare with \count0 values.  Thus, using /LAST=9/ABSOLUTE will end with
the ninth page of the document, no matter what the pages are actually
numbered.
.skip 1
.lm 0
/MANUAL
.skip 1
.lm 2
   Specify manual feed for printer.
.skip 1
.lm 0
/NUMBER
.skip 1
.lm 6
     /NUMBER=num
.lm 2
.skip 1
     At most num pages will be printed.  Default is 100000.
.skip 1
.lm 0
/OUTPUT
.skip 1
.lm 6
     /OUTPUT=filename.ext
.lm 2
.skip 1
    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 .
.skip 1
.lm 0
/START
.skip 1
.lm 6
     /START=num
.lm 2
.skip 1
    The  first  page  printed  will  be  the  first  one  numbered
    num.  Default  is  the  first page in the document.
.skip 1
If the /ABSOLUTE qualifier has been used then it (and any argument to the
/LAST qualifier)  is treated as a sequence number, rather than a value to
compare with \count0 values.  Thus, using /START=3/ABSOLUTE will start with
the third page of the document, no matter what the pages are actually
numbered.
.skip 1
.lm 0
/QUIET
.skip 1
.lm 2
    Run  in  quiet  mode.   Don't  chatter  about  pages  converted,
    etc.;  report  nothing  but errors to standard error.
.skip 1
.lm 0
/REVERSE
.skip 1
.lm 2
    Stack pages in reverse order.  Normally, page 1 will be printed
    first.
.skip 1
.lm 0
/SAV__RES
.skip 1
.lm 2
    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.
.skip 1
.lm 0
/MODE
.skip 1
.lm 6
    /MODE=modename
.lm 2
.skip 1
    This sets the paper mode to modename.  Currently, the only modes
    allowable are
.skip 1
.literal
    "letter", which selects an 8.5 by 11 inch page,
    "a3", which selects an a3 sized page,
    "a4" , which selects an a4 sized page,
    "legal", which selects an 8.5 by 14 inch page,
    "ledger", which selects an 11 by 17 inch page, and
    "landscape", which rotates a letter size document by 90 degrees.
.end literal
.skip 1
    WARNING: always include paper format between quotation marks!
.skip 1
    The default mode is "letter". The  upper left corner of each page in
    the dvi file is placed one inch from the left and one inch from the top.
.skip 1
    If you want to  specify a paper  format (e.g.  a4) AND landscape
    mode, you must use something like
.literal
          /MODE=("landscape","a4")
.end literal
    putting "landscape" as the first value.
.skip 1
.lm 0
/MAGNIFICATION
.skip 1
.lm 6
    /MAGNIFICATION=num
.lm 2
.skip 1
    Set the magnification ratio to num/1000.  Overrides the
    magnification specified in the dvi   file.  Must be between 10 and
    100000.
.skip 1
.lm 0
/COLLATE
.skip 1
.lm 6
    /COLLATE=num
.lm 2
.skip 1
    Create num copies, but collated (by replicating the data in the
    PostScript file). Slower than the /COPIES option, but easier on
    the hands, and faster than resubmitting the same PostScript file
    multiple times.
.skip 1
.lm 0
/DPI
.skip 1
.lm 6
    /DPI=num
.lm 2
.skip 1
    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 /COMPRESS flag should probably also
    be used.
.skip 1
.lm 0
/CTRL__D
.skip 1
.lm 2
    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.
    Otherwise, it is not recommended.
.skip 1
.lm 0
/INC__COM
.skip 1
.lm 6
     /INC__COM (default)
.break
     /NOINC__COM
.lm 2
.skip 1
    /NOINC__COM 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.
.skip 1
.lm 0
/COMMENT
.skip 1
.lm 6
   /COMMENT (default)
.break
   /NOCOMMENT
.lm 2
.skip 1
    /NOCOMMENT 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.
.skip 1
.lm 0
/PRINTER
.skip 1
.lm 6
    /PRINTER=printername
.lm 2
.skip 1
    Sets  up  the  output  for  the  appropriate  printer. This is
    implemented  by  reading  in  config.printername , which can set
    various parameters such  as the font paths and any other defaults
    for that printer only.  It is recommended that all standard
    defaults go in the one master config.ps file and only things that
    vary printer to printer go in the config.printername files. 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 /PRINTER 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.
.skip 1
.lm 0
/VM__SAVE
.skip 1
.lm 6
     /VM__SAVE (default)
.break
     /NOVM__SAVE
.lm 2
.skip 1
/NOVM__SAVE disables 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, and 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.
.skip 1
.lm 0
/H__DPI
.skip 1
.lm 6
/H__DPI=num
.lm 2
.skip 1
Set the horizontal resolution in dots per inch to num.
.skip 1
.lm 0
/V__DPI
.skip 1
.lm 6
/V__DPI=num
.lm 2
.skip 1
Set the vertical resolution in dots per inch to num.
.skip 1
.lm 0
/COMPRESS
.skip 1
.lm 2
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.
.skip 1
.lm 0
.!-----------------------------------------------------------------------
.! New stuff for version 5.497
.!-----------------------------------------------------------------------
/HEADER
.skip 1
.lm 6
/HEADER=file-spec
.break
/NOHEADER
.lm 2
.skip 1
Prepend file "file-spec" as an additional header file. However, if the name
is simply `-', suppress all header files from the output. Similarly,
/NOHEADER suppress all header files from the output. This header file gets
added to the PostScript userdict. (Corresponds to the -h option)
.skip 1
.lm 0
/ABSOLUTE
.lm 2
.skip 1
If the /ABSOLUTE qualifier has been used then any argument to the /START
and/or /LAST qualifiers are treated as sequence numbers, rather than a
value to compare with \count0 values.  Thus, using /START=3/ABSOLUTE will
start with the third page of the document, no matter what the pages are
actually numbered.
(Corresponds to the -p and -l options)
.skip 1
.lm 0
/EPSF
.lm 2
.skip 1
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.)
(Corresponds to the -E option)
.skip 1
.lm 0
/PRESCAN
.lm 2
.skip 1
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.
(Corresponds to the -a option)
.skip 1
.lm 0
/PAGECOPIES
.skip 1
.lm 6
/PAGECOPIES=num
.lm 2
.skip 1
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. (Corresponds to the -b option)
.skip 1
.lm 0
/SEPARATE
.skip 1
.lm 2
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.
.break
This option is most often used in conjunction with the /SEC_SIZE qualifier
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. (Corresponds to the -i
option)
.skip 1
.lm 0
/CROPMARKS
.skip 1
.lm 2
Print crop marks.  This option increases the paper size (which should be
specified, either with a paper size special or with the /PSIZE qualifier) 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. (Corresponds to the -k option)
.skip 1
.lm 0
/SEC_SIZE
.skip 1
.lm 6
/SEC_SIZE=num
.lm 2
.skip 1
Set the maximum number of pages in each `section'.  This option is most
commonly used with the /SEPARATE qualifier; see that documentation above for
more information. (Corresponds to the -S option)
.skip 1
.lm 0
/HELP
.skip 1
.lm 2
Displays a summary of the comand line options for the DVIPS program, but it
show the UNIX version. Not much use to the VMS people, maybe one day we can
set it to read this help library through the LBR$ utility routines.
(Corresponds to the -? option)
.skip 1
.lm 0
/MAKEFONT
.skip 1
.lm 6
/MAKEFONT (default)
/NOMAKEFONT
.lm 2
By default an attempt is made to make missing fonts. Use of /NOMAKEFONT
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.
.skip 1
.lm 0
/PSIZE
.skip 1
.lm 6
/PSIZE="xsize,ysize"
.lm 2
.skip 1
Set the paper size to the given pair of dimensions.  This option takes
its arguments in the same style as /POFFSET.  It overrides any paper
size special in the `dvi' file.
.skip 1
Example : /PSIZE="6in,8in"
.skip 1
.lm 0
/POFFSET
.skip 1
.lm 6
/POFFSET="xoffset,yoffset"
.lm 2
.skip 1
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 /PSIZE qualifier).   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.
.skip 1
Example : /POFFSET=".1in,-.3cm"
.skip 1
.!-----------------------------------------------------------------------
.lm 0
2 Specials
.skip 1
.lm 2
For a description of the special features of dvips see the dvips manual a LaTeX
version of which may be copied  using the command
.skip 1
copy tex$postscript:dvips.tex dvips.tex
