What is DVIPS?

What is dvips? dvips is a large-scale revision of the previous .dvi to PostScript converter, dvi2ps. The basic premise of the software has not changed, but dvips provides many features that dvi2ps did not, and it produces smaller and faster PostScript files than dvi2ps did. These features are sumamrized on the man page, which you can read by typing man dvips. (Note: You will need to add the sipb locker to your path by typing add sipb, before using this program or reading the man page.) This document restricts itself to explaining how to do what you used to do with dvi2ps. It is anticipated that dvips will become the standard with the next Athena version release. The important changes can be broken down into three major categories: command-line arguments, including PostScript pictures in your document, and using PostScript fonts. These changes loosely apply to both LaTeX and TeX users.
  1. Command-line Arguments

    Here is a quick table showing the old command-line arguments and the new ones:

    Old	New		Meaning
    =======================================================
    -f	-p  First page to print
    -c          Number of copies to print (of each page)
    -t	-l  Last page to print
    	-o  Send output to file 
    -r	-r  Reverse page order (but the default
                direction is now correct) **
    -o	-t  This, followed by landscape, rotates
                the output 90 degrees
    -n	-C  Number of copies to print (of entire file)
    	-P  Send directly to the given printer (no
    		       need to run lpr) ++
    
    ** Note that the default page order is now correct, so -r is no longer necessary (and will, in fact, reverse the pages back to the dvi2ps order). Also, the -o landscape can be replaced by -t landscape but should really be replaced by saying \special{landscape} on the first page of your TeX file.

    ++This option is very important: You no longer need to pipe the output of dvips into lpr! Simply including -P in the "dvips" command, where is the name of the printer you wish to use, will send your output to the right place. If you want to specify options to lpr, you need to include the whole thing in quotes, e.g.: dvips -P"linus -h" paper.

  2. Including PostScript Figures

    If your PostScript figures are what is known as Encapsulated PostScript, and if you are using LaTeX, you probably want to use the epsf style, which is described in the dvips man page. The old style of inclusion will continue to work, with one exception; however, the new style is much more powerful.

    The one change (which is important) is the following. If you are accustomed to changing the size of your PostScript with the hscale and vscale commands, you have been specifying a ratio of sizes (i.e., to make something twice as wide, dvi2ps would require hscale=2). With dvips, however, these numbers are percentages, not ratios, and must be one hundred times as large (i.e., to make something twice as wide, you must now specify hscale=200). This change was made because that is the standard in most other dvi converters.

  3. Using PostScript Fonts

    If you are using LaTeX, and using a PostScript style, then you must make the appropriate change listed below. The old and new styles are not compatible; thus, using the old style files with the new dvips, OR the new style files with dvi2ps will not work at all. Once you have made this change and run LaTeX over the file, no other changes will be necessary to take advantage of the PostScript fonts.

    Old style	New style	Font family
    ==================================================
    timrom		times		Times
    newcen		ncs		New Century Schoolbook
    		avantgarde	Avant-Garde
    		bookman		Bookman
    palatino	new-pal *	Palatino
    
    
    These new style files are not located in the standard path. To use any of the first four, you must add the sipb directory, and append the directory /mit/sipb/lib/tex/macros to your TEXINPUTS environment variable. In other words,
    add sipb
    setenv TEXINPUTS .:/mit/sipb/lib/tex/macros:/usr/athena/lib/tex/macros
    To use new-pal, add the consult locker, and append the directory /mit/consult/lib/tex/macros to your TEXINPUTS variable instead (or in addition).

    If you are loading PostScript fonts manually (using \font, \newfont, or just plain TeX, for example), there is a new encoding for the names of these fonts. Below are a few; for a complete listing, see the file /mit/sipb/lib/tex/ps-config/psfonts.map:

    rphvr Helvetica
    rptmr Times-Roman
    rpncr NewCenturySchlbk-Roman
    rpbkd Bookman-Demi
    rpplr Palatino-Roman
    For curious users, the naming convention adopted for the .tfm and .vf (virtual font) files for these fonts is as follows:
    [optional] ``raw'' (if this prefix exists, it means the font is encoded according to the printer's encoding. If it does not exist, the font is a `virtual' font that uses TeX's encoding.)

    PostScript (This is the foundry code.)
    A two-character abbreviation of the family name, e.g.:
    tm = Times , ag = AvantGarde
    nc = NewCentury , bk = Bookman
    hv = Helvetica , sy = Symbol
    A character describing the weight of the font, e.g.:
    r = Roman , l = Light
    d = demi , b = bold
    Zero or more characters for the style of the face, e.g.: r = Regular (required only if the width is changed)
    i = Italic , o = Oblique , c = SmallCaps
    Zero or one character for the width of the face, e.g.:
    e = Extended , n = Narrow