DVIPS(1)                                                              DVIPS(1)


       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/tex-

       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 error.  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  com-
              pression;  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 ver-
              tical resolution.  If a high resolution (something greater  than
              400  dpi,  say) is selected, the -Z flag should probably also be

       -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.  Allow-
              ing  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 bound-
              ing  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 tem-
              porary  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  circum-
              stances,  dvips will split the document up into ‘sections’ to be
              processed independently; this is most often done for memory rea-
              sons.   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

       -K     This  option  causes  comments  in included PostScript graphics,
              font files, and headers to be removed.  This is sometimes neces-
              sary  to get around bugs in spoolers or PostScript post-process-
              ing 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 num-

       -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

       -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.

              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  extensions  and  interpreted  as
              requests to set 2-byte characters. The only drawback is that the
              virtual font array will (at  least  temporarily)  require  65536
              positions  instead of the default 256 positions, i.e. the memory
              requirements of dvips will be slightly larger. If you find  this
              unacceptable  or encounter another problem with the Omega exten-
              sions, you can switch this extension off 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,
              the  default  name  is  file.ps  where  the .dvi file was called
              file.dvi; if this option isn’t given, any default in the config-
              uration  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 con-
              figuration file; use -F after this option if you want both.

       -O offset
              Move the origin by a certain amount.  The offset is a comma-sep-
              arated  pair of dimensions, such as .1in,-.3cm (in the same syn-
              tax 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

       -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  pre-
              fixed  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  speci-
              fied will not be printed.  Multiple -pp options may be specified
              or all pages and page ranges  can  be  specified  with  one  -pp

       -P printername
              Sets  up the output for the appropriate printer.  This is imple-
              mented 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

       -R     Run in secure mode. This means that ‘‘backtick’’ commands from a
              \special{}  or \psffile{} macro in the (La)TeX source like \spe-
              cial{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  land-
              scape, which rotates a document by 90 degrees.  To rotate a doc-
              ument 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 hyper-

              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 + charac-
              ter, 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  pro-
              gram(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 magnifi-
              cation  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 down-
              loaded, thereby reducing the size of the  PostScript  font-down-
              loading  information.   Especially useful at high resolutions or
              when very large fonts are used.  Will slow down  printing  some-
              what, 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

                                  27 May 2004                         DVIPS(1)

Man(1) output converted with man2html