Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
DVIPS(1)		    General Commands Manual		      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

       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	 `vir-
       tual'  combination of both.  If the mktexpk program is installed, dvips
       will automatically invoke METAFONT to generate fonts that don't already

       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 in-
	      stead 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 ad-
	      ditional information on standard error.	For  maximum  informa-
	      tion,  you  can use `-1'.	 See the Dvips Texinfo manual for more

       -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 posi-
	      tioning 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.	Allow-
	      ing  individual  characters  to  `drift'	from  their  correctly
	      rounded  positions by a few pixels, while	regaining the true po-
	      sition 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

       -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  se-
	      quence  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 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  in-
	      cluded 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 or pTeX extensions and interpreted
	      as requests to set 2-byte	characters.

	      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  re-
	      quests  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 de-
	      fault 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 prob-
	      lems - 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  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 ex-
	      clamation	mark, then the remainder will be used as  an  argument
	      to popen;	thus, specifying !lpr as the output file will automat-
	      ically 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-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.  De-
	      fault 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	 actu-
	      ally 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  op-

       -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 defaults for that	 printer  only.	  Note
	      that  is  read	before config.printername In addition,
	      another file called ~/.dvipsrc is	searched for immediately after;  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

	      Run securely.  -R2 disables  both	 shell	command	 execution  in
	      \special'{}  (via	 backticks ` ) and config files	(via the E op-
	      tion), and opening of any	absolute filenames.   -R1  ,  the  de-
	      fault, 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	appro-
	      priate code to select it.	 (Currently known types	 include  let-
	      ter, 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	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 (in-
	      stead  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  re-
	      quires  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 in-
	      creased 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  <>; extended to virtual fonts by
       Don Knuth.  Path	searching  and	configuration  modifications  by  Karl

				  4 May	2010			      DVIPS(1)


Want to link to this manual page? Use this URL:

home | help