summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-03 00:01:03 +0000
committerKarl Berry <karl@freefriends.org>2006-01-03 00:01:03 +0000
commit39914a64c15a20742c9a771a6350cfc0d39dffaf (patch)
tree61eb421afaee75c95c53a8cc192a29f236ce2739 /Master
parent5a831824cc3d6d6a80554b690b20663a3306b9f3 (diff)
trunk/Master/texmf/doc/dvips
git-svn-id: svn://tug.org/texlive/trunk@45 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf/doc/dvips/dvips.html4816
-rw-r--r--Master/texmf/doc/dvips/dvips.pdfbin0 -> 554528 bytes
2 files changed, 4816 insertions, 0 deletions
diff --git a/Master/texmf/doc/dvips/dvips.html b/Master/texmf/doc/dvips/dvips.html
new file mode 100644
index 00000000000..2bac16f53db
--- /dev/null
+++ b/Master/texmf/doc/dvips/dvips.html
@@ -0,0 +1,4816 @@
+<html lang="en">
+<head>
+<title>Dvips: A DVI driver</title>
+<meta http-equiv="Content-Type" content="text/html">
+<meta name="description" content="Dvips: A DVI driver">
+<meta name="generator" content="makeinfo 4.8">
+<link title="Top" rel="top" href="#Top">
+<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<!--
+This manual documents Dvips version 5.95b
+(August 2005), a program to translate a DVI file into
+PostScript.-->
+<meta http-equiv="Content-Style-Type" content="text/css">
+<style type="text/css"><!--
+ pre.display { font-family:inherit }
+ pre.format { font-family:inherit }
+ pre.smalldisplay { font-family:inherit; font-size:smaller }
+ pre.smallformat { font-family:inherit; font-size:smaller }
+ pre.smallexample { font-size:smaller }
+ pre.smalllisp { font-size:smaller }
+ span.sc { font-variant:small-caps }
+ span.roman { font-family:serif; font-weight:normal; }
+ span.sansserif { font-family:sans-serif; font-weight:normal; }
+--></style>
+</head>
+<body>
+<h1 class="settitle">Dvips: A DVI driver</h1>
+<div class="node">
+<p><hr>
+<a name="Top"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Why-Dvips">Why Dvips</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
+
+</div>
+
+<h2 class="unnumbered">Dvips</h2>
+
+<p>This manual documents Dvips version 5.95b
+(August 2005), a program to translate a DVI file into
+PostScript.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Why-Dvips">Why Dvips</a>: Why use Dvips?
+<li><a accesskey="2" href="#Installation">Installation</a>: How to compile and install Dvips.
+<li><a accesskey="3" href="#Invoking-Dvips">Invoking Dvips</a>: Command-line options, configuration files, etc.
+<li><a accesskey="4" href="#Paper-size-and-landscape">Paper size and landscape</a>: Changing the paper dimensions.
+<li><a accesskey="5" href="#Interaction-with-PostScript">Interaction with PostScript</a>: TeX meets Dvips meets PostScript.
+<li><a accesskey="6" href="#PostScript-fonts">PostScript fonts</a>: Installing and using PostScript fonts.
+<li><a accesskey="7" href="#Color">Color</a>: Using color with Dvips.
+<li><a accesskey="8" href="#Index">Index</a>: General index.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Why-Dvips"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Installation">Installation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Top">Top</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">1 Why use Dvips?</h2>
+
+<p>The Dvips program has a number of features that set it apart from
+other PostScript drivers for TeX. This rather long section describes
+the advantages of using Dvips, and may be skipped if you are just
+interested in learning how to use the program. See <a href="#Installation">Installation</a>, for
+details of compilation and installation.
+
+ <p>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.
+
+ <p>Even those documents that are too complex to print in their entirety on
+a particular printer can be printed, since Dvips will
+automatically split such documents into pieces, reclaiming the printer
+memory between each piece.
+
+ <p>The Dvips program supports graphics in a natural way, allowing
+PostScript graphics to be included and automatically scaled and
+positioned in a variety of ways.
+
+ <p>Printers with any resolution are supported, even if they have different
+resolutions in the horizontal and vertical directions. High resolution
+output is supported for typesetters, including an option that compresses
+the bitmap fonts so that typesetter virtual memory is not exhausted.
+This option also significantly reduces the size of the PostScript file
+and decoding in the printer is very fast.
+
+ <p>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.
+
+ <p>Users will appreciate features such as collated copies and support for
+<samp><span class="file">tpic</span></samp>, <samp><span class="file">psfig</span></samp>, <samp><span class="file">emtex</span></samp>, and <samp><span class="file">METAPOST</span></samp>; system
+administrators will love the support for multiple printers, each with
+their own configuration file, and the ability to pipe the output
+directly to a program such as <samp><span class="file">lpr</span></samp>. Support for MS-DOS, OS/2, and
+VMS in addition to Unix is provided in the standard distribution, and
+porting to other systems is easy.
+
+ <p>One of the most important features is the support of virtual fonts,
+which add an entirely new level of flexibility to TeX. Virtual fonts
+are used to give Dvips its excellent PostScript font support, handling
+all the font remapping in a natural, portable, elegant, and extensible
+way. Dvips even comes with its own Afm2tfm program that creates
+the necessary virtual fonts and TeX font metric files automatically
+from the Adobe font metric files.
+
+ <p>Source is provided and freely distributable, so adding a site-specific feature
+is possible. Adding such features is made easier by the highly modular
+structure of the program.
+
+ <p>There is really no reason to use another driver, and the more people use
+Dvips, the less time will be spent fighting with PostScript and the
+more time will be available to create beautiful documents.
+So if you don't use Dvips on your system, get it today.
+
+ <p><a name="index-Rokicki_002c-Tomas-1"></a>Tom Rokicki wrote and maintains the original Dvips program.
+
+<!-- INSTALLONLY -->
+<div class="node">
+<p><hr>
+<a name="Installation"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Invoking-Dvips">Invoking Dvips</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Why-Dvips">Why Dvips</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">2 Installation</h2>
+
+<p><a name="index-configuration_002c-of-Dvips-2"></a><a name="index-compilation-3"></a><a name="index-installation_002c-of-Dvips-4"></a>
+(A copy of this chapter is in the distribution file <samp><span class="file">dvipsk/INSTALL</span></samp>.)
+
+ <p>Installing Dvips is mostly the same as installing any Kpathsea-using
+program. Therefore, for the basic steps involved,
+see <a href="kpathsea.html#Installation">Installation</a>. (A copy is in the file
+<samp><span class="file">kpathsea/INSTALL</span></samp>.)
+
+ <p>For solutions to common installation problems and information on how to
+report a bug, see the file <samp><span class="file">kpathsea/BUGS</span></samp> (see <a href="kpathsea.html#Bugs">Bugs</a>). For solutions to Dvips-specific problems,
+see <a href="#Debug-options">Debug options</a>. Also see the Dvips home page at
+<a href="http://www.radicaleye.com/dvips">http://www.radicaleye.com/dvips</a>.
+
+ <p>Dvips does require some additional installation, detailed in the
+sections below. Also, to configure color devices, see <a href="#Color-device-configuration">Color device configuration</a>.
+
+<ul class="menu">
+<li><a accesskey="1" href="#config_002eps-installation">config.ps installation</a>: Printer and site Dvips configuration.
+<li><a accesskey="2" href="#PostScript-font-installation">PostScript font installation</a>: Many PostScript fonts are freely available.
+<li><a accesskey="3" href="#Ghostscript-installation">Ghostscript installation</a>: A free PostScript interpreter.
+<li><a accesskey="4" href="#Diagnosing-problems">Diagnosing problems</a>: Some common runtime difficulties.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="config.ps-installation"></a>
+<a name="config_002eps-installation"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#PostScript-font-installation">PostScript font installation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.1 <samp><span class="file">config.ps</span></samp> installation</h3>
+
+<p><a name="index-config_002eps-_0040r_007binstallation_007d-5"></a><a name="index-installation-of-_0040file_007bconfig_002eps_007d-6"></a><a name="index-printer-configuration-7"></a><a name="index-paper-size_002c-default-8"></a><a name="index-configuration-files_002c-creating-9"></a>
+Dvips has its own configuration files: a file <samp><span class="file">config.ps</span></samp> for
+sitewide defaults, and a file <samp><span class="file">config.</span><var>printer</var></samp> for each
+printer (output device). Since these are site-specific, <code>make
+install</code> does not create them; you must create them yourself.
+
+ <p>(These Dvips configuration files are independent of the Kpathsea
+onfiguration file <samp><span class="file">texmf.cnf</span></samp> (see <a href="kpathsea.html#Config-files">Config files</a>).
+
+ <p><a name="index-config_002eproto-10"></a><a name="index-prototype-printer-configuration-file-11"></a><a name="index-printer-configuration-file_002c-prototype-12"></a><a name="index-configuration-files_002c-prototype-13"></a>Dvips configuration files contents and searching are described fully in
+<a href="#Config-files">Config files</a>. The simplest way to create a new configuration file
+is to copy and modify the file <samp><span class="file">dvipsk/contrib/config.proto</span></samp>,
+seasoning with options to your taste from <a href="#Config-files">Config files</a>. Here is
+<samp><span class="file">config.proto</span></samp>
+for your reading pleasure:
+<pre class="example"> % Prototype Dvips configuration file.
+
+ % How to print, maybe with lp instead lpr, etc.
+ o |lpr
+
+ % Default resolution of this device, in dots per inch.
+ D 600
+
+ % Metafont mode. (This is completely different from the -M command-line
+ % option, which controls whether MakeTeXPK is invoked.) Get
+ % <a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of mode names. This mode
+ % and the D number above must agree, or MakeTeXPK will get confused.
+ M ljfour
+
+ % Memory available. Download the three-line PostScript file:
+ % %! Hey, we're PostScript
+ % /Times-Roman findfont 30 scalefont setfont 144 432 moveto
+ % vmstatus exch sub 40 string cvs show pop showpage
+ % to determine this number. (It will be the only thing printed.)
+ m 3500000
+
+ % Correct printer offset. You can use testpage.tex from the LaTeX
+ % distribution to find these numbers. Print testpage.dvi more than once.
+ O 0pt,0pt
+
+ % Partially download Type 1 fonts by default. Only reason not to do
+ % this is if you encounter bugs. (Please report them to
+ % <a href="mailto:tex-k@mail.tug.org">tex-k@mail.tug.org</a> if you do.)
+ j
+
+ % Also look for fonts at these resolutions.
+ R 300 600
+
+ % With a high resolution and a RISC cpu, better to compress the bitmaps.
+ Z
+
+ % Uncomment these if you have and want to use PostScript versions of the
+ % fonts.
+ %p +cmfonts.map
+ %p +lafonts.map
+ %p +cyrfonts.map
+ %p +eufonts.map
+
+ % You will also want definitions for alternative paper sizes -- A4,
+ % legal, and such. Examples in <samp><span class="file">contrib/papersize.level2</span></samp> and
+ % <samp><span class="file">contrib/papersize.simple</span></samp>.
+</pre>
+ <div class="node">
+<p><hr>
+<a name="PostScript-font-installation"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Ghostscript-installation">Ghostscript installation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#config_002eps-installation">config.ps installation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.2 PostScript font installation</h3>
+
+<p><a name="index-installation-of-PostScript-fonts-14"></a><a name="index-fonts_002c-installation-of-PostScript-15"></a><a name="index-PostScript-fonts_002c-installing-16"></a>
+To use PostScript fonts with TeX and Dvips, you need both metric
+files (<samp><span class="file">.tfm</span></samp> and <samp><span class="file">.vf</span></samp>) and the outlines (<samp><span class="file">.pfa</span></samp> or
+<samp><span class="file">.pfb</span></samp>). See <a href="#Font-concepts">Font concepts</a>.
+
+ <p><a name="index-Adobe-fonts-17"></a><a name="index-Bigelow-_0026-Holmes-fonts-18"></a><a name="index-Lucida_002c-installing-19"></a><a name="index-Monotype-fonts-20"></a><a name="index-Softkey-fonts-21"></a>To support the basic PostScript font set, the recommended (and
+simplest) approach is to install the files at
+<a href="http://www.ctan.org/tex-archive/fonts/psfonts/lw35nfsx.zip">http://www.ctan.org/tex-archive/fonts/psfonts/lw35nfsx.zip</a>.
+This archive contains metrics, outlines, and bitmaps (for previewing)
+for the 35 de facto standard fonts donated by URW and the additional
+high-quality freely available PostScript fonts donated by Adobe,
+Bitstream, and URW, including geometrically-created variants such as
+oblique and small caps.
+
+ <p><a name="index-Adobe-fonts_002c-installing-22"></a><a name="index-Bitstream-fonts_002c-installing-23"></a><a name="index-Monotype-fonts_002c-installing-24"></a><a name="index-Softkey-fonts_002c-installing-25"></a><a name="index-Y_0026Y-fonts_002c-installing-26"></a><samp><var>CTAN:</var><span class="file">/fonts/psfonts</span></samp> contains support for many additional
+fonts for which you must buy outlines (Adobe, Bigelow &amp; Holmes,
+Monotype, Softkey, Y&amp;Y). (For CTAN info, see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>; a copy is in the top-level file <samp><span class="file">INSTALL</span></samp>.)
+
+ <p><a name="index-fonts_002c-system-PostScript-27"></a><a name="index-PostScript-fonts_002c-on-your-system-28"></a><a name="index-psfonts_002emap-29"></a>If you have additional PostScript fonts, you can make them available to
+Dvips by (1) giving them with appropriate filenames; and (2) running
+Afm2tfm (see <a href="#Making-a-font-available">Making a font available</a>) to make TFM and VF metrics for
+TeX and Dvips to use. Also add them to <samp><span class="file">psfonts.map</span></samp> if
+necessary (see <a href="#psfonts_002emap">psfonts.map</a>); it contains everything contained in
+<samp><span class="file">lw35nfsx.zip</span></samp> and most fonts that come with Unix systems.
+
+ <p>Following are locations for vendor-supplied fonts. Please mail
+<a href="mailto:tex-k@tug.org">tex-k@tug.org</a> if you find fonts elsewhere on your system.
+
+ <dl>
+<dt>DEC Ultrix<dd><tt>/usr/lib/DPS/outline/decwin</tt>
+
+ <br><dt>DEC Digital Unix<dd><tt>/usr/lib/X11/fonts/Type1Adobe</tt>
+
+ <br><dt>HP HP-UX 9, 10<dd><tt>/usr/lib/X11/fonts/type1.st/typefaces</tt>
+
+ <br><dt>IBM AIX<dd><tt>/usr/lpp/DPS/fonts/outlines</tt><br>
+<tt>/usr/lpp/X11/lib/X11/fonts/Type1</tt><br>
+<tt>/usr/lpp/X11/lib/X11/fonts/Type1/DPS</tt>
+
+ <br><dt>NeXT<dd><tt>/NextLibrary/Fonts/outline</tt>
+
+ <br><dt>SGI IRIX<dd><tt>/usr/lib/DPS/outline/base</tt>
+<tt>/usr/lib/X11/fonts/Type1</tt>
+
+ <br><dt>Sun SunOS 4.x<dd>(NeWSprint only)<br>
+<tt>newsprint_2.5/SUNWsteNP/reloc/$BASEDIR/</tt><br>
+<tt> NeWSprint/small_openwin/lib/fonts</tt><br>
+<tt>/usr/openwin/lib/X11/fonts/Type1/outline</tt>
+
+ <br><dt>Sun Solaris 2<dd><tt>/usr/openwin/lib/X11/fonts/Type1/outline</tt>
+
+ <br><dt>VMS<dd><tt>SYS$COMMON:[SYSFONT.XDPS.OUTLINE]</tt>
+</dl>
+
+<p class="noindent">The NeXT system supplies more fonts than any others, but
+there's a lot of overlap.
+
+ <p><a name="index-HP-printers-and-Type-1-fonts-30"></a>Finally, if you have an Hewlett-Packard printer, you should be able to
+get Type 1 font files for the standard 35 fonts from HP, if the freely
+available URW Type 1's do not satisfy for whatever reason. The phone
+number for HP Printer Drivers is (in the United States) 303-339-7009.
+The driver set to ask for is Adobe Type Manager 2.51, and the disk set
+number is `<samp><span class="samp">MP210en3</span></samp>'. Mentioning anything other than Microsoft
+Windows when you ask for the driver set will likely lead to great
+confusion on the other end.
+
+<div class="node">
+<p><hr>
+<a name="Ghostscript-installation"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Diagnosing-problems">Diagnosing problems</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#PostScript-font-installation">PostScript font installation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.3 Ghostscript installation</h3>
+
+<p><a name="index-Ghostscript-installation-31"></a><a name="index-gs-_0040r_007binstallation_007d-32"></a>
+<a name="index-Deutsch_002c-Peter-33"></a><a name="index-Epson-printers-34"></a><a name="index-previewing-Dvips-output-35"></a><a name="index-PostScript-previewers-36"></a><a name="index-PDF-files_002c-making-37"></a><a name="index-Aladdin-Ghostscript-38"></a>Ghostscript is a PostScript interpreter freely available to end-users,
+written by Peter Deutsch. It can read the PostScript produced by Dvips
+and render it on your monitor, or for another device (e.g., an Epson
+printer) that does not support PostScript, or in PDF format. The latest
+version is available via <a href="http://www.cs.wisc.edu/~ghost/index.html">http://www.cs.wisc.edu/~ghost/index.html</a>
+and <a href="ftp://ftp.cs.wisc.edu/pub/ghost/aladdin/">ftp://ftp.cs.wisc.edu/pub/ghost/aladdin/</a>.
+
+ <p><a name="index-GNU-Ghostscript-39"></a>A somewhat older version of Ghostscript is available under the GNU
+General Public License, free to everyone. You can get that from
+<a href="ftp://prep.ai.mit.edu/pub/gnu/">ftp://prep.ai.mit.edu/pub/gnu/</a>.
+
+ <p><a name="index-Theisen_002c-Tim-40"></a><a name="index-ghostview-41"></a><a name="index-Ghostview_002c-and-no-_0040samp_007bN_007d-42"></a><a name="index-EPS_002c-and-Ghostview-43"></a><a name="index-standard-PostScript_002c-required-by-Ghostview-44"></a><a name="index-g_t_0025_0025Page_0040r_007b_002c-required-by-Ghostview_007d-45"></a>The program Ghostview, written by Tim Theisen, provides typical
+previewing capabilities (next page/previous page, magnification, etc.).
+It requires Ghostscript to run, and files in structured Postscript,
+specifically with `<samp><span class="samp">%%Page</span></samp>' comments (no `<samp><span class="samp">N</span></samp>' in
+<samp><span class="file">config.ps</span></samp>). You can get Ghostview from the same places as
+Ghostscript.
+
+<div class="node">
+<p><hr>
+<a name="Diagnosing-problems"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Ghostscript-installation">Ghostscript installation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.4 Diagnosing problems</h3>
+
+<p><a name="index-problems-46"></a><a name="index-trouble-47"></a><a name="index-debugging-48"></a>
+You've gone through all the trouble of installing Dvips, carefully read
+all the instructions in this manual, and still can't get something to
+work. The following sections provide some helpful hints if you find
+yourself in such a situation.
+
+ <p>For details on effective bug reporting, common installation problems,
+and <code>mktexpk</code> problems, see <a href="kpathsea.html#Bugs">Bugs</a>.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Debug-options">Debug options</a>: Getting diagnostics.
+<li><a accesskey="2" href="#No-output">No output</a>: No output at all.
+<li><a accesskey="3" href="#Small-or-inverted">Small or inverted</a>: Output too small or inverted.
+<li><a accesskey="4" href="#Printer-errors">Printer errors</a>: The printer sends back errors.
+<li><a accesskey="5" href="#Long-documents-fail">Long documents fail</a>: Long documents fail to print.
+<li><a accesskey="6" href="#Including-graphics-fails">Including graphics fails</a>: Figures don't work.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Debug-options"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#No-output">No output</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a>
+
+</div>
+
+<h4 class="subsection">2.4.1 Debug options</h4>
+
+<p><a name="index-debugging-options-49"></a><a name="index-options_002c-debugging-50"></a>
+The `<samp><span class="samp">-d</span></samp>' flag to Dvips helps in tracking down certain errors. The
+parameter to this flag is an integer that tells what errors are
+currently being tracked. To track a certain class of debug messages,
+simply provide the appropriate number given below; if you wish to track
+multiple classes, sum the numbers of the classes you wish to track. To
+track all classes, you can use <code>-1</code>. Another useful value is
+<code>3650</code>, which tracks everything having to do with file searching
+and opening.
+
+ <p>Some of these debugging options are actually provided by Kpathsea
+(see <a href="kpathsea.html#Debugging">Debugging</a>).
+
+ <p>The classes are:
+ <dl>
+<dt>1<dd>specials
+<br><dt>2<dd>paths
+<br><dt>4<dd>fonts
+<br><dt>8<dd>pages
+<br><dt>16<dd>headers
+<br><dt>32<dd>font compression
+<br><dt>64<dd>files
+<br><dt>128<dd>config files
+<br><dt>256<dd>Partial Type 1 font encoding vectors
+<br><dt>512<dd>Partial Type 1 subr calls
+<br><dt>1024<dd>Kpathsea <code>stat</code> calls
+<br><dt>2048<dd>Kpathsea hash table lookups
+<br><dt>4096<dd>Kpathsea path element expansion
+<br><dt>8192<dd>Kpathsea path searches
+</dl>
+
+<div class="node">
+<p><hr>
+<a name="No-output"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Small-or-inverted">Small or inverted</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Debug-options">Debug options</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a>
+
+</div>
+
+<h4 class="subsection">2.4.2 No output at all</h4>
+
+<p><a name="index-output_002c-none-51"></a><a name="index-no-output-at-all-52"></a><a name="index-failure_002c-to-print-at-all-53"></a>
+If you are not getting any output at all, even from the simplest
+one-character file (for instance, `<samp><span class="samp">\ \bye</span></samp>'), then something is very
+wrong. Practically any file sent to a PostScript laser printer should
+generate some output, at the very least a page detailing what error
+occurred, if any. Talk to your system administrator about downloading a
+PostScript error handler. (Adobe distributes a good one called
+`<samp><span class="samp">ehandler.ps</span></samp>'.)
+<a name="index-ehandler_002eps-54"></a>
+<a name="index-PowerPage-PostScript-implementation-55"></a><a name="index-Shinko-CHC_002dS446i-printer-56"></a><a name="index-Mitsubishi-Shinko-CHC_002dS446i-printer-57"></a>It is possible, especially if you are using non-Adobe PostScript, that
+your PostScript interpreter is broken. Even then it should generate an
+error message. Dvips tries to work around as many bugs as possible in
+common non-Adobe PostScript interpreters, but doubtless it misses a few.
+PowerPage Revision 1, Interpreter Version 20001.001, on a Mitsubishi
+Shinko CHC-S446i color thermal dye sublimation printer is known to be
+unable to print with any but builtin fonts.
+
+ <p>If Dvips gives any strange error messages, or compilation on your
+machine generated a lot of warnings, perhaps the Dvips program itself is
+broken. Try using the debug options to determine where the error
+occurred (see <a href="#Debug-options">Debug options</a>).
+
+ <p>It is possible your spooler is broken and is misinterpreting the
+structured comments. Try the `<samp><span class="samp">-N</span></samp>' flag to turn off structured
+comments and see what happens.
+
+<div class="node">
+<p><hr>
+<a name="Small-or-inverted"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Printer-errors">Printer errors</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#No-output">No output</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a>
+
+</div>
+
+<h4 class="subsection">2.4.3 Output too small or inverted</h4>
+
+<p><a name="index-output_002c-too-small-58"></a><a name="index-output_002c-inverted-59"></a><a name="index-inverted-output-60"></a><a name="index-too_002dsmall-output-61"></a>
+<a name="index-save_002frestore_002c-and-inverted-output-62"></a>If some documents come out inverted or too small, probably your spooler
+is not supplying an end of job indicator at the end of each file. (This
+commonly happens on small machines that don't have spoolers.) You can
+force Dvips to do this with the `<samp><span class="samp">-F</span></samp>' flag (or `<samp><span class="samp">F</span></samp>' config file
+option), but this generates files with a terminating binary character
+(control-D). You can also try using the `<samp><span class="samp">-s</span></samp>' flag (or `<samp><span class="samp">s</span></samp>'
+config file option) to enclose the entire job in a save/restore pair.
+See <a href="#Command_002dline-options">Command-line options</a>, and <a href="#Config-files">Config files</a>.
+
+<div class="node">
+<p><hr>
+<a name="Printer-errors"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Long-documents-fail">Long documents fail</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Small-or-inverted">Small or inverted</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a>
+
+</div>
+
+<h4 class="subsection">2.4.4 Error messages from printer</h4>
+
+<p><a name="index-printer-errors-63"></a><a name="index-error-messages-from-printer-64"></a><a name="index-failure_002c-and-printer-errors-65"></a>
+<a name="index-g_t_0040t_007bbop-undefined_007d-error-66"></a>If your printer returns error messages, the error message gives very
+good information on what might be going wrong. One of the most common
+error messages is `<samp><span class="samp">bop undefined</span></samp>'. This is caused by old versions
+of Transcript and other spoolers that do not properly parse the setup
+section of the PostScript. To fix this, turn off structured comments
+with the `<samp><span class="samp">-N</span></samp>' option, but it'd be best to get your spooling
+software updated.
+
+ <p><a name="index-VM-exhausted-67"></a><a name="index-printer-memory-exhausted-68"></a><a name="index-memory-of-printer-exhausted-69"></a>Another error message is `<samp><span class="samp">VM exhausted</span></samp>'. Some printers indicate
+this error by locking up, others quietly reset. This is caused by Dvips
+thinking that the printer has more memory than it actually does, and
+then printing a complicated document. To fix this, try lowering the
+`<samp><span class="samp">m</span></samp>' parameter in the configuration file; use the debug option to
+make sure you adjust the correct file.
+
+ <p>Other errors may indicate you are trying to include graphics that don't
+nest properly in other PostScript documents, among other things. Try
+the PostScript file on a QMS PS-810 or other Adobe PostScript printer if
+you have one, or Ghostscript (see <a href="#Ghostscript-installation">Ghostscript installation</a>); it
+might be a problem with the printer itself.
+
+<div class="node">
+<p><hr>
+<a name="Long-documents-fail"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Including-graphics-fails">Including graphics fails</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Printer-errors">Printer errors</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a>
+
+</div>
+
+<h4 class="subsection">2.4.5 Long documents fail to print</h4>
+
+<p><a name="index-long-documents-not-printing-70"></a><a name="index-failure_002c-of-long-documents-71"></a>
+This is usually caused by incorrectly specifying the amount of memory
+the printer has in the configuration file; see the previous section.
+
+<div class="node">
+<p><hr>
+<a name="Including-graphics-fails"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Long-documents-fail">Long documents fail</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a>
+
+</div>
+
+<h4 class="subsection">2.4.6 Including graphics fails</h4>
+
+<p><a name="index-including-graphics-fails-72"></a><a name="index-graphics-inclusion-fails-73"></a><a name="index-failure_002c-to-include-graphics-74"></a>
+The most common problem with including graphics is an incorrect bounding
+box (see <a href="#Bounding-box">Bounding box</a>). Complain to whoever wrote the software that
+generated the file if the bounding box is indeed incorrect.
+
+ <p><a name="index-Illustrator_002c-workaround-for-75"></a>Another possible problem is that the figure you are trying to include
+does not nest properly; there are certain rules PostScript applications
+must follow when generating files to be included. The Dvips program
+includes work-arounds for such errors in Adobe Illustrator and other
+programs, but there are certainly applications that haven't been tested.
+
+ <p>One possible thing to try is the `<samp><span class="samp">-K</span></samp>' flag which strips the comments
+from an included figure. This might be necessary if the PostScript
+spooling software does not read the structured comments correctly. Use
+of this flag will break graphics from some applications, though, since
+some applications read the PostScript file from the input stream,
+looking for a particular comment.
+
+ <p><a name="index-binary-files_002c-not-supported-76"></a>Any application which generates graphics output containing raw binary
+(not ASCII hex) will probably fail with Dvips.
+
+<div class="node">
+<p><hr>
+<a name="Invoking-Dvips"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Paper-size-and-landscape">Paper size and landscape</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Installation">Installation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">3 Invoking Dvips</h2>
+
+<p><a name="index-command_002dline-options-77"></a><a name="index-options_002c-Dvips-78"></a><a name="index-invoking-Dvips-79"></a>
+Dvips reads a DVI file as output by (for example) TeX, and converts
+it to PostScript, taking care of builtin or downloaded PostScript fonts,
+font reencoding, color, etc. These features are described in other
+chapters in this document.
+
+ <p>There many ways to control Dvips' behavior: configuration files,
+environment variables, and command-line options.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Basic-usage">Basic usage</a>
+<li><a accesskey="2" href="#Command_002dline-options">Command-line options</a>
+<li><a accesskey="3" href="#Environment-variables">Environment variables</a>
+<li><a accesskey="4" href="#Config-files">Config files</a>
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Basic-usage"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Command_002dline-options">Command-line options</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Invoking-Dvips">Invoking Dvips</a>
+
+</div>
+
+<h3 class="section">3.1 Basic usage of Dvips</h3>
+
+<p>To use Dvips at its simplest, simply type
+<pre class="example"> dvips foo
+</pre>
+ <p class="noindent">where <samp><span class="file">foo.dvi</span></samp> is the output of TeX that you want to print. If
+Dvips has been installed correctly, the document will probably roll out
+of your default printer.
+
+ <p>If you use fonts that have not been used on your system before, they may
+be automatically generated; this process can take a few minutes, so
+progress reports appear by default. The next time that document is
+printed, these fonts will have been saved in the proper directories, so
+printing will go much faster. (If Dvips tries to endlessly generate the
+same fonts over and over again, it hasn't been installed properly.
+See <a href="kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a>.)
+
+ <p>Many options are available (see the next section). For a brief summary
+of available options, just type
+<pre class="example"> dvips --help
+</pre>
+ <div class="node">
+<p><hr>
+<a name="Command-line-options"></a>
+<a name="Command_002dline-options"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Environment-variables">Environment variables</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Basic-usage">Basic usage</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Invoking-Dvips">Invoking Dvips</a>
+
+</div>
+
+<h3 class="section">3.2 Command-line options</h3>
+
+<p>Dvips has a plethora of command line options. Reading through this
+section will give a good idea of the capabilities of the driver.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Option-summary">Option summary</a>: Quick listing, from Dvips --help.
+<li><a accesskey="2" href="#Option-details">Option details</a>: More information about each option.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Option-summary"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Option-details">Option details</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Command_002dline-options">Command-line options</a>
+
+</div>
+
+<h4 class="subsection">3.2.1 Option summary</h4>
+
+<p><a name="index-options_002c-summary-80"></a>Here is a handy summary of the options; it is printed out when you run
+Dvips with no arguments or with the standard `<samp><span class="samp">--help</span></samp>' option.
+<a name="index-g_t_002d_002dhelp-81"></a>
+<pre class="verbatim">Usage: dvips [OPTION]... FILENAME[.dvi]
+a* Conserve memory, not time A Print only odd (TeX) pages
+b # Page copies, for posters e.g. B Print only even (TeX) pages
+c # Uncollated copies C # Collated copies
+d # Debugging D # Resolution
+e # Maxdrift value E* Try to create EPSF
+f* Run as filter F* Send control-D at end
+ G* Shift low chars to higher pos.
+h f Add header file
+i* Separate file per section
+j* Download fonts partially
+k* Print crop marks K* Pull comments from inclusions
+l # Last page
+m* Manual feed M* Don't make fonts
+mode s Metafont device name
+n # Maximum number of pages N* No structured comments
+noomega Disable Omega extensions
+o f Output file O c Set/change paper offset
+p # First page P s Load config.$s
+pp l Print only pages listed
+q* Run quietly
+r* Reverse order of pages R* Run securely
+s* Enclose output in save/restore S # Max section size in pages
+t s Paper format T c Specify desired page size
+u s PS mapfile U* Disable string param trick
+v Print version number and quit V* Send downloadable PS fonts as PK
+x # Override dvi magnification X # Horizontal resolution
+y # Multiply by dvi magnification Y # Vertical resolution
+z* Hyper PS Z* Compress bitmap fonts
+ # = number f = file s = string * = suffix, `0' to turn off
+ c = comma-separated dimension pair (e.g., 3.2in,-32.1cm)
+ l = comma-separated list of page ranges (e.g., 1-4,7-9)
+
+Email bug reports to tex-k@mail.tug.org.
+</pre>
+
+<div class="node">
+<p><hr>
+<a name="Option-details"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Option-summary">Option summary</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Command_002dline-options">Command-line options</a>
+
+</div>
+
+<h4 class="subsection">3.2.2 Option details</h4>
+
+<p><a name="index-option_002c-details-of-82"></a>
+Many of the parameterless options listed here can be turned off by
+suffixing the option with a zero (`<samp><span class="samp">0</span></samp>'); for instance, to turn off
+page reversal, use `<samp><span class="samp">-r0</span></samp>'. Such options are marked with a trailing
+`<samp><span class="samp">*</span></samp>'.
+
+ <dl>
+<dt>`<samp><span class="samp">-</span></samp>'<dd><a name="index-g_t_002d-83"></a><a name="index-options_002c-reading-from-standard-input-84"></a><a name="index-standard-input_002c-reading-options-from-85"></a>Read additional options from standard input after processing the command
+line.
+
+ <br><dt>`<samp><span class="samp">--help</span></samp>'<dd><a name="index-g_t_002d_002dhelp-86"></a>Print a usage message and exit.
+
+ <br><dt>`<samp><span class="samp">--version</span></samp>'<dd><a name="index-g_t_002d_002dversion-87"></a>Print the version number and exit.
+
+ <br><dt>`<samp><span class="samp">-a*</span></samp>'<dd><a name="index-g_t_002da-88"></a><a name="index-memory_002c-conserving-89"></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.
+
+ <br><dt>`<samp><span class="samp">-A</span></samp>'<dd><a name="index-g_t_002dA-90"></a><a name="index-odd-pages-only-91"></a>Print only the odd pages. This option uses TeX
+page numbers, not physical page numbers.
+
+ <br><dt>`<samp><span class="samp">-b </span><var>num</var></samp>'<dd><a name="index-g_t_002db-_0040var_007bnum_007d-92"></a><a name="index-g_t_002f_0023copies-93"></a><a name="index-copies_002c-duplicated-page-bodies-94"></a><a name="index-color-separations-95"></a>Generate <var>num</var> copies of each page, but duplicating the page body
+rather than using the `<samp><span class="samp">/#copies</span></samp>' PostScript variable. This can
+be useful in conjunction with a header file setting `<samp><span class="samp">bop-hook</span></samp>' to
+do color separations or other neat tricks.
+
+ <br><dt>`<samp><span class="samp">-B</span></samp>'<dd><a name="index-g_t_002dB-96"></a><a name="index-even-pages-only-97"></a><a name="index-double_002dsided-printing-98"></a>Print only the even pages. This option uses TeX page numbers, not
+physical page numbers.
+
+ <br><dt>`<samp><span class="samp">-c </span><var>num</var></samp>'<dd><a name="index-g_t_002dc-_0040var_007bnum_007d-99"></a><a name="index-g_t_002f_0023copies-100"></a><a name="index-copies_002c-uncollated-101"></a><a name="index-uncollated-copies-102"></a>Generate <var>num</var> consecutive copies of every page, i.e., the output is
+uncollated. This merely sets the builtin PostScript variable
+`<samp><span class="samp">/#copies</span></samp>'.
+
+ <br><dt>`<samp><span class="samp">-C </span><var>num</var></samp>'<dd><a name="index-g_t_002dC-_0040var_007bnum_007d-103"></a><a name="index-copies_002c-collated-104"></a><a name="index-collated-copies-105"></a>Generate <var>num</var> copies, but collated (by replicating the data in the
+PostScript file). Slower than the `<samp><span class="samp">-c</span></samp>' option, but easier on the
+hands, and faster than resubmitting the same PostScript file multiple
+times.
+
+ <br><dt>`<samp><span class="samp">-d </span><var>num</var></samp>'<dd><a name="index-g_t_002dd-_0040var_007bnum_007d-106"></a><a name="index-debugging-107"></a>Set the debug flags, showing what Dvips (thinks it) is doing. This will
+work unless Dvips has been compiled without the `<samp><span class="samp">DEBUG</span></samp>' option (not
+recommended). See <a href="#Debug-options">Debug options</a>, for the possible values of
+<var>num</var>. Use `<samp><span class="samp">-d -1</span></samp>' as the first option for maximum output.
+
+ <br><dt>`<samp><span class="samp">-D </span><var>num</var></samp>'<dd><a name="index-g_t_002dD-_0040var_007bnum_007d-108"></a><a name="index-resolution_002c-setting-109"></a>Set both the horizontal and vertical resolution to <var>num</var>, 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 `<samp><span class="samp">-Z</span></samp>' flag should probably also be
+used. If you are using fonts made with Metafont, such as Computer
+Modern, <samp><span class="file">mktexpk</span></samp> needs to know about the value for <var>num</var>
+that you use or Metafont will fail. See the file
+<a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and mode
+names for most devices.
+
+ <br><dt>`<samp><span class="samp">-e </span><var>num</var></samp>'<dd><a name="index-g_t_002de-_0040var_007bnum_007d-110"></a><a name="index-maxdrift-111"></a><a name="index-accuracy-in-positioning-112"></a><a name="index-positioning-accuracy-113"></a>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, <small class="dots">...</small>] 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.
+
+ <br><dt>`<samp><span class="samp">-E*</span></samp>'<dd><a name="index-g_t_002dE-114"></a><a name="index-EPSF_002c-generating-115"></a><a name="index-tight-bounding-box_002c-finding-116"></a><a name="index-bounding-box_002c-finding-tight-117"></a>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 `<samp><span class="samp">-i</span></samp>' to get
+each page as a separate EPSF file; otherwise, all the pages are overlaid
+in the single output file.
+
+ <br><dt>`<samp><span class="samp">-f*</span></samp>'<dd><a name="index-g_t_002df-118"></a><a name="index-filter_002c-running-as-a-119"></a><a name="index-standard-I_002fO-120"></a><a name="index-pipes_002c-not-readable-121"></a><a name="index-PRINTER_0040r_007b_002c-avoided-with-_0040samp_007b_002df_007d_007d-122"></a>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
+<code>PRINTER</code> environment variable; use `<samp><span class="samp">-P$PRINTER</span></samp>' after the
+`<samp><span class="samp">-f</span></samp>' to read it anyway. It also turns off the automatic sending of
+control-D if it was turned on with the `<samp><span class="samp">-F</span></samp>' option or in the
+configuration file; use `<samp><span class="samp">-F</span></samp>' after the `<samp><span class="samp">-f</span></samp>' to send it anyway.
+
+ <br><dt>`<samp><span class="samp">-F*</span></samp>'<dd><a name="index-g_t_002dF-123"></a><a name="index-EOF-124"></a><a name="index-control_002dD-125"></a><a name="index-printer_002c-driving-directly-126"></a><a name="index-spooler_002c-lacking-127"></a>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.
+
+ <br><dt>`<samp><span class="samp">-G*</span></samp>'<dd><a name="index-g_t_002dG-128"></a><a name="index-low-characters_002c-shifting-129"></a><a name="index-non_002dprinting-characters_002c-shifting-130"></a>Shift non-printing characters (ASCII 0-32, 127) to higher-numbered positions.
+This may be useful sometimes.
+
+ <br><dt>`<samp><span class="samp">-h </span><var>name</var></samp>'<dd><a name="index-g_t_002dh-_0040var_007bname_007d-131"></a><a name="index-header-file_002c-downloading-132"></a><a name="index-userdict_0040r_007b_002c-used-for-header-files_007d-133"></a>Prepend <var>name</var> as an additional header file, or, if <var>name</var> is
+`<samp><span class="samp">-</span></samp>', suppress all header files. Any definitions in the header file
+get added to the PostScript `<samp><span class="samp">userdict</span></samp>'.
+
+ <br><dt>`<samp><span class="samp">-i*</span></samp>'<dd><a name="index-g_t_002di-134"></a><a name="index-sections-output_002c-in-separate-files-135"></a><a name="index-multiple-output-files-136"></a><a name="index-output-files_002c-multiple-137"></a>Make each section be a separate file; a <dfn>section</dfn> 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 `<samp><span class="samp">-S</span></samp>' option which sets
+the maximum section length in pages; if `<samp><span class="samp">-i</span></samp>' is specified and
+`<samp><span class="samp">-S</span></samp>' 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.
+
+ <br><dt>`<samp><span class="samp">-j*</span></samp>'<dd><a name="index-g_t_002dj-_0040r_007bfor-partial-font-downloading_007d-138"></a>Download only needed characters from Type 1 fonts. This is the
+default in the current release. Some debugging flags trace this operation
+(see <a href="#Debug-options">Debug options</a>). You can also control partial downloading on a
+per-font basis (see <a href="#psfonts_002emap">psfonts.map</a>).
+
+ <br><dt>`<samp><span class="samp">-k*</span></samp>'<dd><a name="index-g_t_002dk-_0040r_007bfor-cropmarks_007d-139"></a><a name="index-cropmarks-140"></a><a name="index-crop_002epro-141"></a>Print crop marks. This option increases the paper size (which should be
+specified, either with a paper size special or with the `<samp><span class="samp">-T</span></samp>'
+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 <samp><span class="file">crop.pro</span></samp>.
+
+ <br><dt>`<samp><span class="samp">-K*</span></samp>'<dd><a name="index-g_t_002dK-142"></a><a name="index-comments_002c-removing-included-143"></a><a name="index-g_t_0025_0025Page_0040r_007b_002c-removing_007d-144"></a>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 `<samp><span class="samp">%%Page</span></samp>'
+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.
+
+ <br><dt>`<samp><span class="samp">-l [=]</span><var>num</var></samp>'<dd><a name="index-g_t_002dl-_005b_003d_005d_0040var_007bnum_007d-145"></a><a name="index-last-page-printed-146"></a><a name="index-page_002c-last-printed-147"></a><a name="index-physical-page-number_002c-and-_0040samp_007b_002dl_007d-148"></a><a name="index-absolute-page-number_002c-and-_0040samp_007b_002dl_007d-149"></a>The last page printed will be the first one numbered <var>num</var>. Default
+is the last page in the document. If <var>num</var> is prefixed by an equals
+sign, then it (and the argument to the `<samp><span class="samp">-p</span></samp>' option, if specified)
+is treated as a physical (absolute) page number, rather than a value to
+compare with the TeX `<samp><span class="samp">\count0</span></samp>' values stored in the DVI file.
+Thus, using `<samp><span class="samp">-l =9</span></samp>' will end with the ninth page of the document,
+no matter what the pages are actually numbered.
+
+ <br><dt>`<samp><span class="samp">-m*</span></samp>'<dd><a name="index-g_t_002dm-150"></a><a name="index-manual-feed-151"></a>Specify manual feed, if supported by the output device.
+
+ <br><dt>`<samp><span class="samp">-mode </span><var>mode</var></samp>'<dd><a name="index-g_t_002dmode-_0040var_007bmode_007d-152"></a><a name="index-g_t_002dmode-153"></a><a name="index-mode-name_002c-specifying-154"></a><a name="index-Metafont-mode_002c-specifying-155"></a>Use <var>mode</var> 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 <var>mode</var>.
+See <a href="kpathsea.html#TeX-directory-structure">TeX directory structure</a>. If Metafont does not understand the <var>mode</var> name, see
+<a href="kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a>.
+
+ <br><dt>`<samp><span class="samp">-M*</span></samp>'<dd><a name="index-g_t_002dM-156"></a><a name="index-font-generation_002c-avoiding-157"></a><a name="index-mktexpk_0040r_007b_002c-avoiding_007d-158"></a><a name="index-missfont_002elog-159"></a><!-- this description repeated in kpathsea.texi -->
+Turns off automatic font generation (<samp><span class="file">mktexpk</span></samp>). If
+<code>mktexpk</code>, the invocation is appended to a file
+<samp><span class="file">missfont.log</span></samp> (by default) in the current directory. You can then
+execute the log file to create the missing files after fixing the
+problem.
+<a name="index-TEXMFOUTPUT-160"></a><a name="index-MISSFONT_005fLOG-161"></a>If the current directory is not writable and the environment variable or
+configuration file value `<samp><span class="samp">TEXMFOUTPUT</span></samp>' is set, its value is used.
+Otherwise, nothing is written. The name `<samp><span class="samp">missfont.log</span></samp>' is
+overridden by the `<samp><span class="samp">MISSFONT_LOG</span></samp>' environment variable or
+configuration file value.
+
+ <br><dt>`<samp><span class="samp">-n </span><var>num</var></samp>'<dd><a name="index-g_t_002dn-_0040var_007bnum_007d-162"></a><a name="index-maximum-pages-printed-163"></a><a name="index-pages_002c-maximum-printed-164"></a>Print at most <var>num</var> pages. Default is 100000.
+
+ <br><dt>`<samp><span class="samp">-N*</span></samp>'<dd><a name="index-g_t_002dN-165"></a><a name="index-structured-comments-166"></a><a name="index-TranScript-167"></a><a name="index-g_t_0025_0025Page_0040r_007b_002c-not-generating_007d-168"></a>Turns off generation of structured comments such as `<samp><span class="samp">%%Page</span></samp>'; 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.
+
+ <br><dt>`<samp><span class="samp">-noomega</span></samp>'<dd><a name="index-g_t_002dnoomega-169"></a><a name="index-Omega-extensions-170"></a>This will disable the use of Omega extensions when interpreting DVI files.
+By default, the additional opcodes `<samp><span class="samp">129</span></samp>' and `<samp><span class="samp">134</span></samp>' 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 extensions,
+you can switch this extension off by using `<samp><span class="samp">-noomega</span></samp>' (but please do
+send a bug report if you find such problems, see <a href="kpathsea.html#Bugs">Bugs</a>).
+
+ <br><dt>`<samp><span class="samp">-o </span><var>name</var></samp>'<dd><a name="index-g_t_002do-_0040var_007bname_007d-171"></a><a name="index-output_002c-redirecting-172"></a><a name="index-standard-output_002c-output-to-173"></a>Send output to the file <var>name</var>. If `<samp><span class="samp">-o</span></samp>' is specified without
+<var>name</var>, the default is `<samp><var>file</var><span class="samp">.ps</span></samp>' where the input DVI file
+was `<samp><var>file</var><span class="samp">.dvi</span></samp>'. If `<samp><span class="samp">-o</span></samp>' isn't given at all, the
+configuration file default is used.
+
+ <p><a name="index-popen-_0040r_007bfor-output_007d-174"></a><a name="index-g_t_002d-_0040r_007bas-output-filename_007d-175"></a><a name="index-g_t_0021-_0040r_007bstarting-output-filename_007d-176"></a><a name="index-g_t_007c-_0040r_007bstarting-output-filename_007d-177"></a><a name="index-lpr-spooler_002c-MS_002dDOS-emulation-178"></a><a name="index-spooling-to-lpr-on-MS_002dDOS-179"></a>If <var>name</var> is `<samp><span class="samp">-</span></samp>', output goes to standard output. If the first
+character of <var>name</var> is `<samp><span class="samp">!</span></samp>' or `<samp><span class="samp">|</span></samp>', then the remainder will
+be used as an argument to <code>popen</code>; thus, specifying `<samp><span class="samp">|lpr</span></samp>' as
+the output file will automatically queue the file for printing as
+usual. (The MS-DOS version will print to the local printer device
+<samp><span class="file">PRN</span></samp> when <var>name</var> is `<samp><span class="samp">|lpr</span></samp>' and a program by that name
+cannot be found.)
+
+ <p>`<samp><span class="samp">-o</span></samp>' disables the automatic reading of the <code>PRINTER</code>
+environment variable, and turns off the automatic sending of control-D.
+See the `<samp><span class="samp">-f</span></samp>' option for how to override this.
+
+ <br><dt>`<samp><span class="samp">-O </span><var>x-offset</var><span class="samp">,</span><var>y-offset</var></samp>'<dd><a name="index-g_t_002dO-_0040var_007bx_002doffset_007d_002c_0040var_007by_002doffset_007d-180"></a><a name="index-offset-pages-181"></a><a name="index-printer-offset-182"></a>Move the origin by <var>x-offset</var>,<var>y-offset</var>, a comma-separated
+pair of dimensions such as `<samp><span class="samp">.1in,-.3cm</span></samp>' (see <a href="#papersize-special">papersize special</a>). 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.
+
+ <p><a name="index-testpage_002etex-183"></a>This is useful for a printer that consistently offsets output pages by a
+certain amount. You can use the file <samp><span class="file">testpage.tex</span></samp> to determine
+the correct value for your printer. Be sure to do several runs with the
+same <code>O</code> value&mdash;some printers vary widely from run to run.
+
+ <p><a name="index-bop_002dhook_0040r_007b_002c-and-offset-pages_007d-184"></a>If your printer offsets every other page consistently, instead of every
+page, your best recourse is to use `<samp><span class="samp">bop-hook</span></samp>' (see <a href="#PostScript-hooks">PostScript hooks</a>).
+
+ <br><dt>`<samp><span class="samp">-p [=]</span><var>num</var></samp>'<dd><a name="index-g_t_002dp-_005b_003d_005d_0040var_007bnum_007d-185"></a><a name="index-first-page-printed-186"></a><a name="index-page_002c-first-printed-187"></a><a name="index-physical-page-number_002c-and-_0040samp_007b_002dp_007d-188"></a><a name="index-absolute-page-number_002c-and-_0040samp_007b_002dp_007d-189"></a>The first page printed will be the first one numbered <var>num</var>. Default
+is the first page in the document. If <var>num</var> is prefixed by an
+equals sign, then it (and the argument to the `<samp><span class="samp">-l</span></samp>' option, if
+specified) is treated as a physical (absolute) page number, rather than
+a value to compare with the TeX `<samp><span class="samp">\count0</span></samp>' values stored in the
+DVI file. Thus, using `<samp><span class="samp">-p =3</span></samp>' will start with the third page of
+the document, no matter what the pages are actually numbered.
+
+ <br><dt>`<samp><span class="samp">-pp </span><var>first</var><span class="samp">-</span><var>last</var></samp>'<dd><a name="index-g_t_002dpp-_0040var_007bfirst_007d_002d_0040var_007blast_007d-190"></a><a name="index-page-range-191"></a><a name="index-g_t_002dpp-_0040var_007brange_007d-192"></a>Print pages <var>first</var> through <var>last</var>; equivalent to `<samp><span class="samp">-p
+</span><var>first</var><span class="samp"> -l </span><var>last</var></samp>', except that multiple `<samp><span class="samp">-pp</span></samp>' options
+accumulate, unlike `<samp><span class="samp">-p</span></samp>' and `<samp><span class="samp">-l</span></samp>'. The `<samp><span class="samp">-</span></samp>' separator can
+also be `<samp><span class="samp">:</span></samp>'.
+
+ <br><dt>`<samp><span class="samp">-P </span><var>printer</var></samp>'<dd><a name="index-g_t_002dP-_0040var_007bprinter_007d-193"></a><a name="index-config_002eps-194"></a>Read the configuration file <samp><span class="file">config.</span><var>printer</var></samp>
+(<samp><var>printer</var><span class="file">.cfg</span></samp> on MS-DOS), which can set the output name
+(most likely `<samp><span class="samp">o |lpr -P</span><var>printer</var></samp>'), resolution, Metafont mode,
+and perhaps font paths and other printer-specific defaults. It works
+best to put sitewide defaults in the one master `<samp><span class="samp">config.ps</span></samp>' file
+and only things that vary printer to printer in the
+`<samp><span class="samp">config.</span><var>printer</var></samp>' files; `<samp><span class="samp">config.ps</span></samp>' is read before
+`<samp><span class="samp">config.</span><var>printer</var></samp>'.
+
+ <p>A configuration file for creating Adobe PDF files is provided in
+`<samp><span class="samp">config.pdf</span></samp>' and can be loaded with `<samp><span class="samp">-Ppdf</span></samp>', it will try to
+include Type1 outline fonts into the PostScript file
+(see <a href="#Hypertext-caveats">Hypertext caveats</a>).
+
+ <p>If no `<samp><span class="samp">-P</span></samp>' or `<samp><span class="samp">-o</span></samp>' is given, the environment variable
+<code>PRINTER</code> is checked. If that variable exists, and a corresponding
+<samp><span class="file">config.</span><var>printer</var></samp> (<samp><var>printer</var><span class="file">.cfg</span></samp> on MS-DOS) file
+exists, it is read.
+See <a href="#Configuration-file-searching">Configuration file searching</a>.
+
+ <br><dt>`<samp><span class="samp">-q*</span></samp>'<dd><a name="index-g_t_002dq-195"></a><a name="index-quiet-operation-196"></a><a name="index-silent-operation-197"></a><a name="index-warnings_002c-suppressing-198"></a>Run quietly. Don't chatter about pages converted, etc. to standard
+output; report no warnings (only errors) to standard error.
+
+ <br><dt>`<samp><span class="samp">-r*</span></samp>'<dd><a name="index-g_t_002dr-199"></a><a name="index-reverse-pagination-200"></a>Output pages in reverse order. By default, page 1 is output first.
+
+ <br><dt>`<samp><span class="samp">-R</span></samp>'<dd><a name="index-g_t_002dR-201"></a><a name="index-security-202"></a><a name="index-shell-command-execution_002c-disabling-203"></a><a name="index-absolute-filenames_002c-disabling-204"></a>Run securely. This disables shell command execution in
+<code>\special</code> (via `<samp><span class="samp">`</span></samp>', see <a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a>)
+and config files (via the `<samp><span class="samp">E</span></samp>' option, see <a href="#Configuration-file-commands">Configuration file commands</a>), and opening of any absolute filenames.
+
+ <br><dt>`<samp><span class="samp">-s*</span></samp>'<dd><a name="index-g_t_002ds-205"></a><a name="index-save_002frestore_002c-generating-global-206"></a>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.
+
+ <br><dt>`<samp><span class="samp">-S </span><var>num</var></samp>'<dd><a name="index-g_t_002dS-_0040var_007bnum_007d-207"></a>Set the maximum number of pages in each `section'. This option is most
+commonly used with the `<samp><span class="samp">-i</span></samp>' option; see its description above for
+more information.
+
+ <br><dt>`<samp><span class="samp">-t </span><var>papertype</var></samp>'<dd><a name="index-g_t_002dt-_0040var_007bpapertype_007d-208"></a><a name="index-paper-type-209"></a><a name="index-media-210"></a><a name="index-letter-papertype-211"></a><a name="index-legal-papertype-212"></a><a name="index-ledger-papertype-213"></a><a name="index-a4-papertype-214"></a><a name="index-a3-papertype-215"></a><a name="index-landscape-papertype-216"></a><a name="index-papersize-special_002c-and-no-_0040samp_007b_002dt_007d-217"></a>Set the paper type to <var>papertype</var>, usually defined in one of the
+configuration files, along with the appropriate PostScript code to
+select it (see <a href="#Config-file-paper-sizes">Config file paper sizes</a>). You can also specify a
+<var>papertype</var> of `<samp><span class="samp">landscape</span></samp>', which rotates a document by 90
+degrees. To rotate a document whose paper type is not the default, you
+can use the `<samp><span class="samp">-t</span></samp>' option twice, once for the paper type, and once
+for `<samp><span class="samp">landscape</span></samp>'. You should not use any `<samp><span class="samp">-t</span></samp>' option when
+TeX writes a `<samp><span class="samp">papersize</span></samp>' special, as is done by some LaTeX
+packages, e.g., `<samp><span class="samp">hyperref.sty</span></samp>'.
+
+ <br><dt>`<samp><span class="samp">-T </span><var>hsize</var><span class="samp">,</span><var>vsize</var></samp>'<dd><a name="index-g_t_002dT-_0040var_007bhsize_007d_002c_0040var_007bvsize_007d-218"></a>Set the paper size to (<var>hsize</var>,<var>vsize</var>), a comma-separated pair
+of dimensions such as `<samp><span class="samp">.1in,-.3cm</span></samp>' (see <a href="#papersize-special">papersize special</a>). It
+overrides any paper size special in the DVI file.
+
+ <br><dt>`<samp><span class="samp">-u </span><var>psmapfile</var></samp>'<dd><a name="index-g_t_002du-_0040var_007bpsmapfile_007d-219"></a><a name="index-PostScript-font-alias-file-220"></a><a name="index-resident-fonts_002c-different-in-different-printers-221"></a>Set <var>psmapfile</var> to be the file that dvips uses for looking up
+PostScript font aliases. If <var>psmapfile</var> begins with a `<samp><span class="samp">+</span></samp>'
+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 `<samp><span class="samp">.map</span></samp>'
+is added at the end.
+
+ <br><dt>`<samp><span class="samp">-U*</span></samp>'<dd><a name="index-g_t_002dU-222"></a><a name="index-Xerox-4045-223"></a>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.
+
+ <br><dt>`<samp><span class="samp">-v</span></samp>'<dd><a name="index-g_t_002dv-224"></a>Print the dvips version number and exit.
+
+ <br><dt>`<samp><span class="samp">-V*</span></samp>'<dd><a name="index-g_t_002dV-225"></a>Download non-resident PostScript fonts as bitmaps. This requires use
+<a name="index-mtpk-226"></a><a name="index-gsftopk-227"></a><a name="index-pstopk-228"></a>of <code>mtpk</code> or <code>gsftopk</code> or <code>pstopk</code> or some combination
+thereof to generate the required bitmap fonts; these programs are
+supplied with Dvips. The bitmap must be put into <samp><span class="file">psfonts.map</span></samp> 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.
+
+ <br><dt>`<samp><span class="samp">-x </span><var>num</var></samp>'<dd><a name="index-g_t_002dx-_0040var_007bnum_007d-229"></a><a name="index-magnification_002c-overriding-DVI-230"></a>Set the magnification ratio to <var>num</var>/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. <var>num</var> may be a real number, not an
+integer, for increased precision.
+
+ <br><dt>`<samp><span class="samp">-X </span><var>num</var></samp>'<dd><a name="index-g_t_002dX-_0040var_007bnum_007d-231"></a><a name="index-resolution-232"></a>Set the horizontal resolution in dots per inch to <var>num</var>.
+
+ <br><dt>`<samp><span class="samp">-y </span><var>num</var></samp>'<dd><a name="index-magnification_002c-vertical-233"></a>Set the magnification ratio to <var>num</var>/1000 times the
+magnification specified in the DVI file. See
+`<samp><span class="samp">-x</span></samp>' above.
+
+ <br><dt>`<samp><span class="samp">-Y </span><var>num</var></samp>'<dd><a name="index-g_t_002dY-_0040var_007bnum_007d-234"></a>Set the vertical resolution in dots per inch to <var>num.</var>
+<a name="index-resolution-235"></a>
+<br><dt>`<samp><span class="samp">-z*</span></samp>'<dd><a name="index-g_t_002dz-_0040r_007bfor-recognizing-hyperdvi_007d-236"></a><a name="index-hyperdvi-extensions_002c-enabling-237"></a><a name="index-distillation_002c-and-_0040samp_007b_002dz_007d-238"></a><a name="index-PDF-files_002c-option-for-239"></a><a name="index-html-_0040r_007bspecials_002c-and-_0040samp_007b_002dz_007d_007d-240"></a>Pass `<samp><span class="samp">html</span></samp>' 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. See <a href="#Hypertext">Hypertext</a>.
+
+ <br><dt>`<samp><span class="samp">-Z*</span></samp>'<dd><a name="index-g_t_002dZ-_0040r_007bfor-compressing-bitmap-fonts_007d-241"></a><a name="index-compressing-bitmap-fonts-242"></a>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 (see <a href="#Configuration-file-commands">Configuration file commands</a>).
+
+ </dl>
+
+<div class="node">
+<p><hr>
+<a name="Environment-variables"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Config-files">Config files</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Command_002dline-options">Command-line options</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Invoking-Dvips">Invoking Dvips</a>
+
+</div>
+
+<h3 class="section">3.3 Environment variables</h3>
+
+<p><a name="index-environment-variables-243"></a>
+Dvips looks for many environment variables, to define search paths and
+other things. The path variables are read as needed, after all
+configuration files are read, so they override values in the
+configuration files. (Except for <code>TEXCONFIG</code>, which defines where
+the configuration files themselves are found.)
+
+ <p>See <a href="kpathsea.html#Path-specifications">Path specifications</a>, for details of
+interpretation of path and other environment variables common to all
+Kpathsea-using programs. Only the environment variables specific to
+Dvips are mentioned here.
+
+ <dl>
+<dt><code>DVIPSFONTS</code><a name="index-DVIPSFONTS-244"></a><dd>Default path to search for all fonts. Overrides all the font path
+config file options and other environment variables (see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>).
+
+ <br><dt><code>DVIPSHEADERS</code><a name="index-DVIPSHEADERS-245"></a><dd>Default path to search for PostScript header files. Overrides the `<samp><span class="samp">H</span></samp>'
+config file option (see <a href="#Configuration-file-commands">Configuration file commands</a>).
+
+ <br><dt><code>DVIPSMAKEPK</code><a name="index-DVIPSMAKEPK-246"></a><dd><a name="index-mktexpk_0040r_007b_002c-changing-name_007d-247"></a>Overrides `<samp><span class="samp">mktexpk</span></samp>' as the name of the program to invoke to
+create missing PK fonts. You can change the arguments passed to the
+<code>mktexpk</code> program with the <code>MAKETEXPK</code> environment
+variable; see <a href="kpathsea.html#MakeTeX-script-arguments">MakeTeX script arguments</a>.
+
+ <br><dt><code>DVIPSRC</code><a name="index-DVIPSRC-248"></a><dd>Specifies the name of the startup file (see <a href="#Configuration-file-searching">Configuration file searching</a>) which is read after <samp><span class="file">config.ps</span></samp> but before any
+printer-specific configuration files.
+
+ <br><dt><code>DVIPSSIZES</code><a name="index-DVIPSSIZES-249"></a><dd><a name="index-last_002dresort-font-scaling_002c-with-_0040code_007bDVIPSSIZES_007d-250"></a>Last-resort sizes for scaling of unfound fonts. Overrides the `<samp><span class="samp">R</span></samp>'
+definition in config files (see <a href="#Configuration-file-commands">Configuration file commands</a>).
+
+ <br><dt><code>PRINTER</code><a name="index-PRINTER-251"></a><dd>Determine the default printer configuration file. (Dvips itself does
+not use <code>PRINTER</code> to determine the output destination in any way.)
+
+ <br><dt><code>TEXCONFIG</code><a name="index-TEXCONFIG-252"></a><dd><a name="index-configuration-file-path-253"></a>Path to search for Dvips' <samp><span class="file">config.</span><var>printer</var></samp> configuration
+files, including the base <samp><span class="file">config.ps</span></samp>. Using this single
+environment variable, you can override everything else. (The
+printer-specific configuration files are called <samp><var>printer</var><span class="file">.cfg</span></samp>
+on MS-DOS, but <samp><span class="file">config.ps</span></samp> is called by that name on all
+platforms.)
+
+ <br><dt><code>TEXPICTS</code><a name="index-TEXPICTS-254"></a><dd>Path to search for included graphics files. Overrides the `<samp><span class="samp">S</span></samp>'
+config file option (see <a href="#Configuration-file-commands">Configuration file commands</a>). If not set,
+<code>TEXINPUTS</code> is looked for. See <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>.
+
+ </dl>
+
+<div class="node">
+<p><hr>
+<a name="Config-files"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Environment-variables">Environment variables</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Invoking-Dvips">Invoking Dvips</a>
+
+</div>
+
+<h3 class="section">3.4 Dvips configuration files</h3>
+
+<p><a name="index-configuration-files-255"></a>
+This section describes in detail the Dvips-specific <samp><span class="file">config.*</span></samp>
+device configuration files (called <samp><span class="file">*.cfg</span></samp> on MS-DOS), which
+override the <samp><span class="file">texmf.cnf</span></samp>
+configuration files generic to Kpathsea which Dvips also reads
+(see <a href="kpathsea.html#Config-files">Config files</a>).
+
+ <p>For information about installing these files, including a prototype file
+you can copy, see <a href="#config_002eps-installation">config.ps installation</a>.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Configuration-file-searching">Configuration file searching</a>: Where config.* files are searched for.
+<li><a accesskey="2" href="#Configuration-file-commands">Configuration file commands</a>: What can go in a config.* file.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Configuration-file-searching"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Configuration-file-commands">Configuration file commands</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Config-files">Config files</a>
+
+</div>
+
+<h4 class="subsection">3.4.1 Configuration file searching</h4>
+
+<p><a name="index-configuration-file-searching-256"></a><a name="index-searching-config-files_002c-order-of-257"></a>
+The Dvips program loads many different configuration files, so that
+parameters can be set globally across the system, on a per-device basis,
+or individually by each user.
+
+ <ol type=1 start=1>
+<li><a name="index-config_002eps_0040r_007b_002c-searched-for_007d-258"></a>Dvips first reads (if it exists) <samp><span class="file">config.ps</span></samp>; it is searched for
+along the path for Dvips configuration files, as described in
+<a href="kpathsea.html#Supported-file-formats">Supported file formats</a>.
+
+ <li><a name="index-g_t_002edvipsrc_0040r_007b_002c-searched-for_007d-259"></a>A user-specific startup file is loaded, so individual users can override
+any options set in the global file. The environment variable
+<code>DVIPSRC</code>, if defined, is used as the specification of the startup
+file. If this variable is undefined, Dvips uses a platform-specific
+default name. On Unix Dvips looks for the default startup file under
+the name <samp><span class="file">$HOME/.dvipsrc</span></samp>, which is in the user's home directory.
+On MS-DOS and MS-Windows, where users generally don't have their private
+directories, the startup file is called <samp><span class="file">dvips.ini</span></samp> and it is
+searched for along the path for Dvips configuration files (as described
+in <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>.); users are
+expected to set this path as they see fit for their taste.
+
+ <li><a name="index-g_t_002dP_0040var_007bprinter_007d_0040r_007b_002c-and-config-file-searching_007d-260"></a>The command line is read and parsed: if the `<samp><span class="samp">-P</span><var>device</var></samp>' option
+is encountered, at that point <samp><span class="file">config.</span><var>device</var></samp> is loaded.
+Thus, the printer configuration file can override anything in the
+site-wide or user configuration file, and it can also override options
+in the command line up to the point that the `<samp><span class="samp">-P</span></samp>' option was
+encountered. (On MS-DOS, the printer configuration files are called
+<samp><var>device</var><span class="file">.cfg</span></samp>, since DOS doesn't allow more than 3 characters
+after the dot in filenames.)
+
+ <li><a name="index-PRINTER_0040r_007b_002c-and-config-file-searching_007d-261"></a>If no `<samp><span class="samp">-P</span></samp>' option was specified, and also the `<samp><span class="samp">-o</span></samp>' and
+`<samp><span class="samp">-f</span></samp>' command line options were not used, Dvips checks the
+environment variable <code>PRINTER</code>. If it exists, then
+<samp><span class="file">config.</span><var>$PRINTER</var></samp> (<samp><var>$PRINTER</var><span class="file">.cfg</span></samp> on MS-DOS) is
+loaded (if it exists).
+
+ </ol>
+
+ <p>Because the <samp><span class="file">.dvipsrc</span></samp> file is read before the printer-specific
+configuration files, individual users cannot override settings in the
+latter. On the other hand, the <code>TEXCONFIG</code> path usually includes
+the current directory, and can in any case be set to anything, so the
+users can always define their own printer-specific configuration files
+to be found before the system's.
+
+ <p>A few command-line options are treated specially, in that they are not
+overridden by configuration files:
+
+ <dl>
+<dt>`<samp><span class="samp">-D</span></samp>'<dd>As well as setting the resolution, this unsets the mode, if the mode was
+previously set from a configuration file. If <samp><span class="file">config.$PRINTER</span></samp> is
+read, however, any `<samp><span class="samp">D</span></samp>' or `<samp><span class="samp">M</span></samp>' lines from there will take
+effect.
+
+ <br><dt>`<samp><span class="samp">-mode</span></samp>'<dd>This overrides any mode setting (`<samp><span class="samp">M</span></samp>' line) in configuration files.
+`<samp><span class="samp">-mode</span></samp>' does not affect the resolution.
+
+ <br><dt>`<samp><span class="samp">-o</span></samp>'<dd>This overrides any output setting (`<samp><span class="samp">o</span></samp>' line) in configuration files.
+
+ </dl>
+
+ <p>The purpose of these special cases is to (1) minimize the chance of
+having a mismatched mode and resolution (which `<samp><span class="samp">mktexpk</span></samp>' cannot
+resolve), and (2) let command-line options override config files where
+possible.
+
+<div class="node">
+<p><hr>
+<a name="Configuration-file-commands"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Configuration-file-searching">Configuration file searching</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Config-files">Config files</a>
+
+</div>
+
+<h4 class="subsection">3.4.2 Configuration file commands</h4>
+
+<p><a name="index-configuration-file-options-262"></a><a name="index-Dvips-configuration-file-options-263"></a>
+Most of the configuration file commands are similar to corresponding
+command line options, but there are a few exceptions. When they are the
+same, we omit the description here.
+
+ <p>As with command line options, many may be turned off by suffixing the
+letter with a zero (`<samp><span class="samp">0</span></samp>').
+
+ <p><a name="index-comments_002c-in-configuration-files-264"></a><a name="index-continuation-lines_002c-not-supported-265"></a>Within a configuration file, empty lines, and lines starting with a
+space, asterisk, equal sign, percent sign, or pound sign are ignored.
+There is no provision for continuation lines.
+
+ <dl>
+<dt>`<samp><span class="samp">@ </span><var>name hsize vsize</var></samp>'<dd><a name="index-g_t_0040_0040-_0040r_007bpaper-size-config-command_007d-266"></a>Define paper sizes. See <a href="#Config-file-paper-sizes">Config file paper sizes</a>.
+
+ <br><dt>`<samp><span class="samp">a*</span></samp>'<dd><a name="index-a-_0040r_007bconfig-command-_0028memory-conservation_0029_007d-267"></a>Memory conservation. Same as `<samp><span class="samp">-a</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">b </span><var>#copies</var></samp>'<dd><a name="index-b-_0040r_007bconfig-command-_0028_0023copies_0029_007d-268"></a>Multiple copies. Same as `<samp><span class="samp">-b</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">D </span><var>dpi</var></samp>'<dd><a name="index-D-_0040r_007bconfig-command-_0028dpi_0029_007d-269"></a>Output resolution. Same as `<samp><span class="samp">-D</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">e </span><var>num</var></samp>'<dd><a name="index-e-_0040r_007bconfig-command-_0028maxdrift_0029_007d-270"></a>Max drift. Same as `<samp><span class="samp">-e</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">E </span><var>command</var></samp>'<dd><a name="index-E-_0040r_007bconfig-command-_0028shell-escape_0029_007d-271"></a><a name="index-system-_0040r_007bin-config-file_007d-272"></a><a name="index-datestamp_002c-in-output-273"></a><a name="index-shell-escape_002c-in-config-file-274"></a>Executes the command listed with <code>system</code>(3); can be used to get
+the current date into a header file for inclusion, for instance.
+Possibly dangerous; this may be disabled, in which case a warning will
+be printed if the option is used (and warnings are not suppressed).
+
+ <br><dt>`<samp><span class="samp">f*</span></samp>'<dt>`<samp><span class="samp">F</span></samp>'<dd><a name="index-f-_0040r_007bconfig-command-_0028filter_0029_007d-275"></a><a name="index-F-_0040r_007bconfig-command-_0028filter_0029_007d-276"></a>Run as a filter. Same as `<samp><span class="samp">-f</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">h </span><var>header</var></samp>'<dd><a name="index-h-_0040r_007bheader-downloading-config-command_007d-277"></a>Prepend <var>header</var> to output. Same as `<samp><span class="samp">h-</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">H </span><var>path</var></samp>'<dd><a name="index-H-_0040r_007bheader-path-config-command_007d-278"></a><a name="index-header-path_002c-defining-279"></a><a name="index-DVIPSHEADERS_0040r_007b_002c-overrides_007d-H-280"></a>Use <var>path</var> to search for PostScript header files. The environment
+variable <code>DVIPSHEADERS</code> overrides this.
+
+ <br><dt>`<samp><span class="samp">i </span><var>n</var></samp>'<dd><a name="index-i-_0040r_007bconfig-command-_0028pages_002fsection_0029_007d-281"></a>Make multiple output files. Same as `<samp><span class="samp">-i -S </span><var>n</var></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">j*</span></samp>'<dd><a name="index-j-_0040r_007bconfig-command-_0028partial-font-downloading_0029_007d-282"></a>Partially download Type 1 fonts. Same as `<samp><span class="samp">-j</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">K*</span></samp>'<dd><a name="index-K-_0040r_007bconfig-command-_0028comment_002dremoveal_0029_007d-283"></a>Remove comments from included PostScript files. Same as `<samp><span class="samp">-K</span></samp>',
+see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">m </span><var>num</var></samp>'<dd><a name="index-m-_0040r_007bconfig-command-_0028available-memory_0029_007d-284"></a><a name="index-memory-available-285"></a><a name="index-printer-memory-286"></a>Declare <var>num</var> as the memory available for fonts and strings in the
+printer. Default is 180000. This value must be accurate if memory
+conservation and document splitting is to work correctly. To determine
+this value, send the following file to the printer:
+
+ <pre class="example"> %! Hey, we're PostScript
+ /Times-Roman findfont 30 scalefont setfont 144 432 moveto
+ vmstatus exch sub 40 string cvs show pop showpage
+ </pre>
+ <p class="noindent">The number printed by this file is the total memory free; it is usually
+best to tell Dvips that the printer has slightly less memory, because
+many programs download permanent macros that can reduce the memory in
+the printer. Some systems or printers can dynamically increase the
+memory available to a PostScript interpreter, in which case this file
+might return a ridiculously low number; for example, the NeXT computer
+and Ghostscript. In these cases, a value of one million works fine.
+
+ <br><dt>`<samp><span class="samp">M </span><var>mode</var></samp>'<dd><a name="index-M-_0040r_007bconfig-command-_0028mf-mode_0029_007d-287"></a>Metafont mode. Same as `<samp><span class="samp">-mode</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">N*</span></samp>'<dd><a name="index-N-_0040r_007bEPS_002ddisabling-config-command_007d-288"></a>Disable structured comments. Beware: This also turns off displaying
+page numbers or changing to specific pagenumbers in PostScript viewers.
+Same as `<samp><span class="samp">-N</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">o </span><var>name</var></samp>'<dd><a name="index-o-_0040r_007bconfig-command-_0028output-file_0029_007d-289"></a><a name="index-output-file_002c-setting-290"></a>Send output to <var>name</var>. Same as `<samp><span class="samp">-o</span></samp>', see <a href="#Option-details">Option details</a>.
+In the file <samp><span class="file">config.foo</span></samp>, a setting like this is probably
+appropriate:
+ <pre class="example"> o |lpr -Pfoo
+ </pre>
+ <p>The MS-DOS version will emulate spooling to <code>lpr</code> by printing to
+the local printer device <samp><span class="file">PRN</span></samp> if it doesn't find an executable
+program by that name in the current directory or along the <code>PATH</code>.
+
+ <br><dt>`<samp><span class="samp">O </span><var>xoff</var><span class="samp">,</span><var>yoff</var></samp>'<dd><a name="index-O-_0040r_007bconfig-command-_0028offset_0029_007d-291"></a>Origin offset. Same as `<samp><span class="samp">-O</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">p [+]</span><var>name</var></samp>'<dd><a name="index-p-_0040r_007bconfig-command-_0028font-aliases_0029_007d-292"></a><a name="index-PostScript-font-alias-file-293"></a><a name="index-resident-fonts_002c-different-in-different-printers-294"></a><a name="index-g_t_002b_0040var_007bpsmapfile_007d-295"></a>Examine <var>name</var> for PostScript font aliases. Default is
+<samp><span class="file">psfonts.map</span></samp>. This option allows you to specify different resident
+fonts that different printers may have. If <var>name</var> starts with a
+`<samp><span class="samp">+</span></samp>' character, then the rest of the name (after any leading spaces)
+is used as an additional map file; thus, it is possible to have local
+map files pointed to by local configuration files that append to the
+global map file. This can be used for font families.
+
+ <br><dt>`<samp><span class="samp">P </span><var>path</var></samp>'<dd><a name="index-P-_0040r_007bconfig-command-_0028PK-path_0029_007d-296"></a><a name="index-PKFONTS_0040r_007b_002c-overrides_007d-P-297"></a><a name="index-TEXPKS_0040r_007b_002c-overrides_007d-P-298"></a><a name="index-GLYPHFONTS_0040r_007b_002c-overrides_007d-P-299"></a><a name="index-TEXFONTS_0040r_007b_002c-overrides_007d-P-300"></a>Use <var>path</var> to search for bitmap PK font files is <var>path</var>. The
+<code>PKFONTS</code>, <code>TEXPKS</code>, <code>GLYPHFONTS</code>, and <code>TEXFONTS</code>
+environment variables override this. See <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>.
+
+ <br><dt>`<samp><span class="samp">q*</span></samp>'<dt>`<samp><span class="samp">Q</span></samp>'<dd><a name="index-q-_0040r_007bconfig-command-_0028quiet_0029_007d-301"></a><a name="index-Q-_0040r_007bconfig-command-_0028quiet_0029_007d-302"></a>Run quietly. Same as `<samp><span class="samp">-q</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">r*</span></samp>'<dd><a name="index-r-_0040r_007bconfig-command-_0028page-reversal_0029_007d-303"></a>Page reversal. Same as `<samp><span class="samp">-r</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">R </span><var>num1 num2 <small class="dots">...</small></var></samp>'<dd><a name="index-R-_0040r_007bfallback-resolution-config-command_007d-304"></a><a name="index-fallback-resolutions-305"></a><a name="index-default-resolutions-306"></a><a name="index-last_002dresort-scaling_002c-with-_0040code_007bR_007d-307"></a>Define the list of default resolutions for PK fonts. If a font size
+actually used in a document is not available and cannot be created,
+Dvips will scale the font found at the closest of these resolutions to
+the requested size, using PostScript scaling. The resulting output may
+be ugly, and thus a warning is issued. To turn this last-resort scaling
+off, use a line with just the `<samp><span class="samp">R</span></samp>' and no numbers.
+
+ <p>The given numbers must be sorted in increasing order; any number smaller
+than the preceding one is ignored. This is because it is better to
+scale a font up than down; scaling down can obliterate small features in
+the character shape.
+
+ <p><a name="index-DVIPSSIZES_0040r_007b_002c-overrides_007d-R-308"></a><a name="index-TEXSIZES_0040r_007b_002c-overrides_007d-R-309"></a>The environment and config file values `<samp><span class="samp">DVIPSSIZES</span></samp>' or
+`<samp><span class="samp">TEXSIZES</span></samp>' override this configuration file setting.
+
+ <p><a name="index-default_005ftexsizes-_0040r_007bMake-variable_007d-310"></a>If no `<samp><span class="samp">R</span></samp>' settings or environment variables are specified, a list
+compiled in during installation is used. This default list is defined by
+the Makefile variable `<samp><span class="samp">default_texsizes</span></samp>', defined in the file
+<samp><span class="file">make/paths.make</span></samp>.
+
+ <br><dt>`<samp><span class="samp">s*</span></samp>'<dd><a name="index-s-_0040r_007bconfig-command-_0028save_002frestore_0029_007d-311"></a>Output global save/restore. Same as `<samp><span class="samp">-s</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">S </span><var>path</var></samp>'<dd><a name="index-S-_0040r_007bconfig-command-_0028pict-path_0029_007d-312"></a><a name="index-TEXPICTS_0040r_007b_002c-overrides_007d-S-313"></a><a name="index-TEXINPUTS_0040r_007b_002c-overrides_007d-S-314"></a>Use <var>path</var> to search for special illustrations (Encapsulated
+PostScript files or psfiles). The <code>TEXPICTS</code> and then
+<code>TEXINPUTS</code> environment variables override this.
+
+ <br><dt>`<samp><span class="samp">T </span><var>path</var></samp>'<dd><a name="index-T-_0040r_007bconfig-command-_0028TFM-path_0029_007d-315"></a><a name="index-TFMFONTS_0040r_007b_002c-overrides_007d-T-316"></a><a name="index-TEXFONTS_0040r_007b_002c-overrides_007d-T-317"></a>Use <var>path</var> to search for TFM files. The <code>TFMFONTS</code> and then
+<code>TEXFONTS</code> environment variables overrides this. This path is used
+for resident fonts and fonts that can't otherwise be found.
+
+ <br><dt>`<samp><span class="samp">U*</span></samp>'<dd><a name="index-U-_0040r_007bconfig-command-_0028Xerox-4045_0029_007d-318"></a>Work around bug in Xerox 4045 printer. Same as `<samp><span class="samp">-U</span></samp>', see <a href="#Option-details">Option details</a>.
+
+ <br><dt>`<samp><span class="samp">V </span><var>path</var></samp>'<dd><a name="index-V-_0040r_007bconfig-command-_0028vf-path_0029_007d-319"></a><a name="index-virtual-font-path-320"></a><a name="index-device-dependency_002c-and-virtual-fonts-321"></a>Use <var>path</var> to search for virtual font files. This may be
+device-dependent if you use virtual fonts to simulate actual fonts on
+different devices.
+
+ <br><dt>`<samp><span class="samp">W [</span><var>string</var><span class="roman">]</span></samp>'<dd><a name="index-W-_0040r_007bconfig-command-_0028warning_0029_007d-322"></a><a name="index-warning-messages_002c-defining-323"></a>If <var>string</var> is supplied, write it to standard error after reading
+all the configuration files; with no <var>string</var>, cancel any previous
+`<samp><span class="samp">W</span></samp>' message. This is useful in the default configuration file to
+remind users to specify a printer, for instance, or to notify users
+about special characteristics of a particular printer.
+
+ <br><dt>`<samp><span class="samp">X </span><var>num</var></samp>'<dd><a name="index-X-_0040r_007bconfig-command-_0028horizontal-resolution_0029_007d-324"></a>Horizontal resolution. Same as `<samp><span class="samp">-X</span></samp>' (see <a href="#Option-details">Option details</a>).
+
+ <br><dt>`<samp><span class="samp">Y </span><var>num</var></samp>'<dd><a name="index-Y-_0040r_007bconfig-command-_0028vertical-resolution_0029_007d-325"></a>Vertical resolution. Same as `<samp><span class="samp">-Y</span></samp>' (see <a href="#Option-details">Option details</a>).
+
+ <br><dt>`<samp><span class="samp">Z*</span></samp>'<dd><a name="index-Z-_0040r_007bconfig-command-_0028compression_0029_007d-326"></a>Compress bitmap fonts. Same as `<samp><span class="samp">-Z</span></samp>' (see <a href="#Option-details">Option details</a>).
+
+ <br><dt>`<samp><span class="samp">z*</span></samp>'<dd><a name="index-z-_0040r_007bconfig-command-_0028secure-mode_0029_007d-327"></a>Disables execution of system commands, like `<samp><span class="samp">-R</span></samp>'
+(see <a href="#Option-details">Option details</a>). If `<samp><span class="samp">-R1</span></samp>' is given to disable system
+commands, however, this will not re-enable them.
+
+ </dl>
+
+<div class="node">
+<p><hr>
+<a name="Paper-size-and-landscape"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Interaction-with-PostScript">Interaction with PostScript</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Invoking-Dvips">Invoking Dvips</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">4 Paper size and landscape orientation</h2>
+
+<p><a name="index-paper-size_002c-general-328"></a>
+Most TeX documents at a particular site are designed to use the
+standard paper size (letter size in the United States, A4 in Europe).
+The Dvips program can be customized either sitewide or for a particular
+printer.
+
+ <p><a name="index-landscape-orientation_002c-defined-329"></a>But many documents are designed for other paper sizes. For instance,
+you may want to design a document that has the long edge of the paper
+horizontal. This can be useful when typesetting booklets, brochures,
+complex tables, or many other documents. This type of paper orientation
+is called <dfn>landscape</dfn> orientation (the default orientation is
+<dfn>portrait</dfn>). Alternatively, a document might be designed for ledger
+or A3 paper.
+
+ <p>Since the intended paper size is a document design decision, not a
+printing decision, such information should be given in the TeX file
+and not on the Dvips command line. For this reason, Dvips supports a
+`<samp><span class="samp">papersize</span></samp>' special. It is hoped that this special will become
+standard over time for TeX previewers and other printer drivers.
+
+ <p>Some LaTeX packages, e.g., `<samp><span class="samp">hyperref.sty</span></samp>', write a
+`<samp><span class="samp">papersize</span></samp>' special into the DVI file. In this case, you need
+not and should not attempt to override it manually.
+
+<ul class="menu">
+<li><a accesskey="1" href="#papersize-special">papersize special</a>: Specifying the paper size in TeX.
+<li><a accesskey="2" href="#Config-file-paper-sizes">Config file paper sizes</a>: Specifying printer- and site-specific sizes.
+<li><a accesskey="3" href="#Paper-trays">Paper trays</a>: Changing paper trays automatically.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="papersize-special"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Config-file-paper-sizes">Config file paper sizes</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Paper-size-and-landscape">Paper size and landscape</a>
+
+</div>
+
+<h3 class="section">4.1 `<samp><span class="samp">papersize</span></samp>' special</h3>
+
+<p><a name="index-papersize-_0040r_007bspecial_007d-330"></a>
+The format of the `<samp><span class="samp">papersize</span></samp>' special is
+
+<pre class="example"> \special{papersize=<var>width</var>,<var>height</var>}
+</pre>
+ <p class="noindent"><var>width</var> is the horizontal size of the page, and <var>height</var> is the
+vertical size. The dimensions supported are the same as for TeX;
+namely, in (inches), cm (centimeters), mm (millimeters), pt (points), sp
+(scaled points), bp (big points, the same as the default PostScript
+unit), pc (picas), dd (didot points), and cc (ciceros).
+
+ <p><a name="index-landscape_0040r_007b_002c-as-_0040code_007b_005cspecial_007d_007d-331"></a>For a US letter size landscape document, the <code>papersize</code> would be:
+<pre class="example"> \special{papersize=11in,8.5in}
+</pre>
+ <p class="noindent">An alternate specification of <code>landscape</code>:
+<pre class="example"> \special{landscape}
+</pre>
+ <p class="noindent">This is supported for backward compatibility, but it is hoped that
+reventually the <code>papersize</code> comment will dominate.
+
+ <p>Of course, such a <code>\special</code> only informs Dvips of the desired
+paper size; you must also adjust <code>\hsize</code> and <code>\vsize</code> in your
+TeX document typeset to those dimensions.
+
+ <p>The <code>papersize</code> special must occur somewhere on the first page of
+the document.
+
+<div class="node">
+<p><hr>
+<a name="Config-file-paper-sizes"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Paper-trays">Paper trays</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#papersize-special">papersize special</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Paper-size-and-landscape">Paper size and landscape</a>
+
+</div>
+
+<h3 class="section">4.2 Configuration file paper size command</h3>
+
+<p><a name="index-paper-size-configuration-file-command-332"></a><a name="index-configuration-file-paper-size-command-333"></a>
+The `<samp><span class="samp">@</span></samp>' command in a configuration file sets the paper size
+defaults and options. The first `<samp><span class="samp">@</span></samp>' command defines the default
+paper size. It has three possible parameters:
+
+<pre class="example"> @ <span class="roman">[</span><var>name</var> <span class="roman">[</span><var>hsize</var> <var>vsize</var><span class="roman">]]</span>
+</pre>
+ <p>If `<samp><span class="samp">@</span></samp>' is specified on a line by itself, with no parameters, it
+instructs Dvips to discard all previous paper size information (possibly
+from another configuration file).
+
+ <p>If three parameters are given, with the first parameter being a name and
+the second and third being a dimension (as in `<samp><span class="samp">8.5in</span></samp>' or
+`<samp><span class="samp">3.2cc</span></samp>', just like in the `<samp><span class="samp">papersize</span></samp>' special), then the
+option is interpreted as starting a new paper size description, where
+<var>name</var> is the name and <var>hsize</var> and <var>vsize</var> define the
+horizontal and vertical size of the sheet of paper, respectively. For
+example:
+
+<pre class="example"> @ letterSize 8.5in 11in
+</pre>
+ <p>If both <var>hsize</var> and <var>vsize</var> are zero (you must still specify
+units!) then any page size will match. If the `<samp><span class="samp">@</span></samp>' character is
+immediately followed by a `<samp><span class="samp">+</span></samp>' sign, then the remainder of the line
+(after skipping any leading blanks) is treated as PostScript code to
+send to the printer, presumably to select that particular paper size:
+
+<pre class="example"> @ letter 8.5in 11in
+ @+ %%BeginPaperSize: Letter
+ @+ letter
+ @+ %%EndPaperSize
+</pre>
+ <p>After all that, if the first character of the line is an exclamation
+point, then the line is put in the initial comments section of the final
+output file; else, it is put in the setup section of the output file.
+For example:
+
+<pre class="example"> @ legal 8.5in 14in
+ @+ ! %%DocumentPaperSizes: Legal
+ @+ %%BeginPaperSize: Legal
+ @+ legal
+ @+ %%EndPaperSize
+</pre>
+ <p>When Dvips has a paper format name given on the command line, it looks
+for a match by the <var>name</var>; when it has a `<samp><span class="samp">papersize</span></samp>' special,
+it looks for a match by dimensions. The first match found (in the order
+the paper size information is found in the configuration file) is used.
+If nothing matches, a warning is printed and the first paper size is
+used. The dimensions must match within a quarter of an inch. Landscape
+mode for all paper sizes is automatically supported.
+
+ <p>If your printer has a command to set a special paper size, then give
+dimensions of `<samp><span class="samp">0in 0in</span></samp>'; the PostScript code that sets the paper
+size can refer to the dimensions the user requested as `<samp><span class="samp">hsize</span></samp>' and
+`<samp><span class="samp">vsize</span></samp>'; these will be macros defined in the PostScript that return
+the requested size in default PostScript units. Virtually all of the
+PostScript commands you use here are device-dependent and degrade the
+portability of the file; that is why the default first paper size entry
+should not send any PostScript commands down (although a structured
+comment or two would be okay). Also, some printers want
+`<samp><span class="samp">BeginPaperSize</span></samp>' comments and paper size setting commands; others
+(such as the NeXT) want `<samp><span class="samp">PaperSize</span></samp>' comments and they will handle
+setting the paper size. There is no solution I could find that works
+for both (except maybe specifying both).
+
+ <p><a name="index-mkdvipspapers-334"></a>The Perl 5 script <samp><span class="file">contrib/mkdvipspapers</span></samp> in the distribution
+directory may help in determining appropriate paper size definitions.
+
+ <p><a name="index-a4-paper-size_002c-as-default-335"></a>If your printers are configured to use A4 paper by default, the
+configuration file (probably the global <samp><span class="file">config.ps</span></samp> in this case)
+should include this as the first `<samp><span class="samp">@</span></samp>' command:
+
+<pre class="example"> @ A4size 210mm 297mm
+ @+ %%PaperSize: A4
+</pre>
+ <p class="noindent">so that <code>A4size</code> is used as the default, and not <code>A4</code> itself;
+thus, no PostScript <code>a4</code> command is added to the output file,
+unless the user explicitly says to use paper size `<samp><span class="samp">a4</span></samp>'. That is,
+by default, no paper size PostScript command should be put in the
+output, but Dvips will still know that the paper size is A4 because
+`<samp><span class="samp">A4size</span></samp>' is the first (and therefore default) size in the
+configuration file.
+
+ <p>Executing the `<samp><span class="samp">letter</span></samp>' or `<samp><span class="samp">a4</span></samp>' or other PostScript operators
+cause the document to be nonconforming and can cause it not to print on
+certain printers, so the default paper size should not execute such an
+operator if at all possible.
+
+<div class="node">
+<p><hr>
+<a name="Paper-trays"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Config-file-paper-sizes">Config file paper sizes</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Paper-size-and-landscape">Paper size and landscape</a>
+
+</div>
+
+<h3 class="section">4.3 Paper trays</h3>
+
+<p><a name="index-paper-trays-336"></a><a name="index-dual-paper-trays-337"></a><a name="index-multiple-paper-trays-338"></a><a name="index-HP4Si-printer-and-paper-trays-339"></a>
+Some printers, such as the Hewlett-Packard HP4si, have multiple paper
+trays. You can set up Dvips to take advantage of this using the
+<code>bop-hook</code> PostScript variable (see <a href="#PostScript-hooks">PostScript hooks</a>).
+
+ <p><a name="index-letterhead-tray-340"></a>For example, suppose you have an alternate tray stocked with letterhead
+paper; the usual tray has the usual paper. You have a document where
+you want the first page printed on letterhead, and the remaining pages
+on the usual paper. You can create a header file, say
+<samp><span class="file">firstletterhead.PS</span></samp>, with the following (PostScript) code
+(<code>bop-hook</code> is passed the current physical page number, which
+starts at zero):
+
+<pre class="example"> /bop-hook { dup 0 eq { <var>alternatetray</var> } { <var>normaltray</var> } ifelse } def
+</pre>
+ <p class="noindent">where <var>alternatetray</var> and <var>normaltray</var> are the appropriate
+commands to select the paper trays. On the 4SI, <var>alternatetray</var> is
+`<samp><span class="samp">statusdict begin 1 setpapertray end</span></samp>' and <var>normaltray</var> is
+`<samp><span class="samp">statusdict begin 0 setpapertray end</span></samp>'.
+
+ <p>Then, include the file with either
+ <ul>
+<li>the `<samp><span class="samp">-h</span></samp>' command-line option (see <a href="#Option-details">Option details</a>); or
+
+ <li>the `<samp><span class="samp">h</span></samp>' config file option (see <a href="#Configuration-file-commands">Configuration file commands</a>); or
+
+ <li>`<samp><span class="samp">\special{header=</span><var>file</var><span class="samp">}</span></samp>' in your TeX document
+(see <a href="#Including-headers-from-TeX">Including headers from TeX</a>).
+
+ </ul>
+
+<div class="node">
+<p><hr>
+<a name="Interaction-with-PostScript"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#PostScript-fonts">PostScript fonts</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Paper-size-and-landscape">Paper size and landscape</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">5 Interaction with PostScript</h2>
+
+<p><a name="index-interaction-with-PostScript-341"></a><a name="index-PostScript-interaction-342"></a>
+Dvips supports inclusion of PostScript figure files (e.g., Encapsulated
+PostScript), downloading other header files (e.g., fonts), including
+literal PostScript code, and hypertext.
+
+<ul class="menu">
+<li><a accesskey="1" href="#PostScript-figures">PostScript figures</a>: Including an Encapsulated PostScript figure.
+<li><a accesskey="2" href="#Header-files">Header files</a>: Downloading extra definitions.
+<li><a accesskey="3" href="#Literal-PS">Literal PS</a>: Writing literal PostScript code.
+<li><a accesskey="4" href="#Hypertext">Hypertext</a>: Producing HyperPostScript to make PDF.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="PostScript-figures"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Header-files">Header files</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Interaction-with-PostScript">Interaction with PostScript</a>
+
+</div>
+
+<h3 class="section">5.1 PostScript figures</h3>
+
+<p>Scaling and including PostScript graphics is a breeze&mdash;if the PostScript
+file is correctly formed. Even if it is not, however, the file can usually
+be accommodated with just a little more work.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Bounding-box">Bounding box</a>: The %%BoundingBox EPS comment.
+<li><a accesskey="2" href="#g_t_005cincludegraphics">\includegraphics</a>: The LaTeX \includegraphics macro.
+<li><a accesskey="3" href="#EPSF-macros">EPSF macros</a>: Including the file in TeX.
+<li><a accesskey="4" href="#psfile-special">psfile special</a>: The basic special.
+<li><a accesskey="5" href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a>: Handling compressed or generated figures.
+<li><a accesskey="6" href="#Fonts-in-figures">Fonts in figures</a>: The %*Font comment.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Bounding-box"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#g_t_005cincludegraphics">\includegraphics</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#PostScript-figures">PostScript figures</a>
+
+</div>
+
+<h4 class="subsection">5.1.1 The bounding box comment</h4>
+
+<p><a name="index-bounding-box_002c-comment-for-343"></a>
+The most important feature of a good PostScript file from the standpoint
+of including it in another document is an accurate bounding box comment.
+Every well-formed PostScript file has a comment describing where on the
+page the graphic is located, and how big that graphic is.
+
+ <p><a name="index-big-points-344"></a><a name="index-PostScript-units-345"></a><a name="index-bounding-box_002c-defined-346"></a>This information is given as the lower left and upper right corners of
+the box just enclosing the graphic, and is thus referred to as the
+<dfn>bounding box</dfn>. These coordinates are given in the default
+PostScript units (there are precisely 72 PostScript units to the inch,
+like TeX big points) with respect to the lower left corner of the
+sheet of paper.
+
+ <p><a name="index-g_t_0025_0025BoundingBox-347"></a>To see if a PostScript file has a bounding box comment, just look at the
+first few lines of the file. PostScript files are standard ASCII, so
+you can use any text editor to do this. If within the first few dozen
+lines there is a line like
+
+<pre class="example"> %%BoundingBox: 25 50 400 300
+</pre>
+ <p class="noindent">(with any reasonable numbers), chances are very good that the file is
+Encapsulated PostScript and will work easily with Dvips. If the file
+contains instead a line like
+
+ <p><a name="index-atend_0040r_007b_002c-bounding-box-specification_007d-348"></a><a name="index-g_t_0028atend_0029_0040r_007b_002c-bounding-box-specification_007d-349"></a>
+<pre class="example"> %%BoundingBox: (atend)
+</pre>
+ <p class="noindent">the file is still probably Encapsulated PostScript, but the bounding box
+is given at the end of the file. Dvips needs it at the beginning. You
+can move it with that same text editor, or a simple script. (The
+bounding box is given in this way when the program that generated the
+PostScript couldn't know the size in advance, or was too lazy to compute
+it.)
+
+ <p><a name="index-bbfig-350"></a><a name="index-bounding-box_002c-determining-351"></a>If the document lacks a `<samp><span class="samp">%%BoundingBox:</span></samp>' altogether, you can
+determine one in a couple of ways. One is to use the `<samp><span class="samp">bbfig</span></samp>'
+program distributed with Dvips in the <samp><span class="file">contrib</span></samp> directory. This can
+usually find the correct bounding box automatically; it works best with
+Ghostscript.
+
+ <p><a name="index-g_t612-792-_0040r_007bbounding-box-size_007d-352"></a>If the comment looks like this:
+<pre class="example"> %%BoundingBox: 0 0 612 792
+</pre>
+ <p class="noindent">the graphic claims to take up an entire sheet of paper. This is
+usually a symptom of a bug in the program that generated it.
+
+ <p>The other is to do it yourself: print the file. Now, take a ruler, and
+make the following measurements (in PostScript units, so measure in
+inches and multiply by 72): From the left edge of the paper to the
+leftmost mark on the paper is <var>llx</var>, the first number. From the
+bottom edge of the paper to the bottommost mark on the paper is
+<var>lly</var>, the second number. From the left edge of the paper to the
+rightmost mark on the paper is <var>urx</var>, the third number. The fourth
+and final number, <var>ury</var>, is the distance from the bottom of the page
+to the uppermost mark on the paper.
+
+ <p>Once you have the numbers, add a comment of the following form as the
+second line of the document. (The first line should already be a line
+starting with the two characters `<samp><span class="samp">%!</span></samp>'; if it is not, the file
+probably isn't PostScript.)
+
+<pre class="example"> %%BoundingBox: <var>llx</var> <var>lly</var> <var>urx</var> <var>ury</var>
+</pre>
+ <p class="noindent">Or, if you don't want to modify the file, you can simply write these
+numbers down in a convenient place and give them in your TeX document
+when you import the graphic, as described in the next section.
+
+ <p>If the document does not have such a bounding box, or if the bounding
+box is given at the end of the document, or the bounding box is wrong,
+please complain to the authors of the software package that generated
+the file.
+
+<div class="node">
+<p><hr>
+<a name="%5cincludegraphics"></a>
+<a name="g_t_005cincludegraphics"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#EPSF-macros">EPSF macros</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Bounding-box">Bounding box</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#PostScript-figures">PostScript figures</a>
+
+</div>
+
+<h4 class="subsection">5.1.2 The \includegraphics macro for LaTeX</h4>
+
+<p><a name="index-g_t_005cincludegraphics-_0040LaTeX_007b_007d-macro-353"></a><a name="index-macros-for-epsf-inclusion-354"></a>
+Once the figure file has a bounding box comment (see the previous
+section) you are ready to import the graphic into a LaTeX
+document. For LaTeX 2e, you can use the epsf, graphics or graphicx
+packages, but the last is recommended&mdash;it has the most flexible
+syntax, and is briefly described here. Further information can be
+found in <samp><span class="file">grfguide</span></samp> or <samp><span class="file">epslatex</span></samp>, which should be included
+in your LaTeX distribution in DVI, PDF, or other formats. (If you
+are still using LaTeX 2.09, use epsf.sty).
+
+ <p>Just put the following command into your preamble:
+
+<pre class="example"> \usepackage[dvips]{graphicx}
+</pre>
+ <p>Depending on your system, a suitable driver setup may already be
+present, so that LaTeX automatically produces DVI files suitable for
+Dvips. In this case you can leave out the `<samp><span class="samp">[dvips]</span></samp>' parameter.
+
+ <p>Now, at the point you want to include a file <samp><span class="file">foo.eps</span></samp>, enter a
+line such as:
+
+<pre class="example"> \includegraphics{foo.eps}
+</pre>
+ <p>However, it is usually best to omit the file extension and only use
+
+<pre class="example"> \includegraphics{foo}
+</pre>
+ <p class="noindent">because then you can process the same LaTeX file with
+different TeX engines or DVI converters if you also provide
+suitable graphics files for them, e.g., <samp><span class="file">foo.pdf</span></samp> or
+<samp><span class="file">foo.png</span></samp>.
+
+ <p><a name="index-bounding-box_002c-supplying-to-_0040TeX_007b_007d-355"></a>The \includegraphics command has many options, specified in
+`<samp><span class="samp">key=value</span></samp>' syntax, to allow you to resize, rotate or trim the
+included graphic&mdash;see <samp><span class="file">grfguide</span></samp> or <samp><span class="file">epslatex</span></samp>. If your
+file does not have a bounding box comment, you can supply the numbers
+as determined in the previous section, in the same order they would
+have been in a normal bounding box comment:
+
+<pre class="example"> \includegraphics[bb=100 100 500 500]{foo.ps}
+</pre>
+ <p class="noindent">Now, save your changes and run LaTeX and Dvips; the output should
+have your graphic positioned at precisely the point you indicated,
+occupying the proper amount of space.
+
+ <p>PostScript graphics have their origin in the lower left
+corner. Therefore, in TeX, a graphic will occupy a box that extends
+far above the line where it is put in, but has depth zero below it.
+Combining `<samp><span class="samp">\includegraphics</span></samp>' with `<samp><span class="samp">\parbox</span></samp>' commands or
+minipages can sometimes be confusing when this is not taken into
+account.
+
+<div class="node">
+<p><hr>
+<a name="EPSF-macros"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#psfile-special">psfile special</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#g_t_005cincludegraphics">\includegraphics</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#PostScript-figures">PostScript figures</a>
+
+</div>
+
+<h4 class="subsection">5.1.3 Using the EPSF macros</h4>
+
+<p><a name="index-EPSF-macros-356"></a><a name="index-macros-for-epsf-inclusion-357"></a>
+If you are using LaTeX 2e, use the `<samp><span class="samp">graphics</span></samp>' or `<samp><span class="samp">graphicx</span></samp>'
+package. See <a href="#g_t_005cincludegraphics">\includegraphics</a>.
+
+ <p>If you are using plain TeX or LaTeX 2.09, you need <samp><span class="file">epsf.tex</span></samp>
+(for plain TeX) and <samp><span class="file">epsf.sty</span></samp> (for LaTeX). For plain
+TeX, add a line like this near the top of your input file:
+
+ <p><a name="index-epsf_002etex-358"></a>
+<pre class="example"> \input epsf
+</pre>
+ <p class="noindent"><a name="index-epsf_002esty-359"></a>If you are using LaTeX 2.09, add the `<samp><span class="samp">epsf</span></samp>' style option, as in:
+
+<pre class="example"> \documentstyle[12pt,epsf]{article}
+</pre>
+ <p class="noindent">In any case, the above only needs to be done once, no matter how many
+figures you plan to include.
+
+ <p>Now, at the point you want to include a file, enter a line such as:
+
+<pre class="example"> \epsffile{foo.eps}
+</pre>
+ <p><a name="index-g_t_005cleavevmode-360"></a><a name="index-bounding-box_002c-supplying-to-_0040TeX_007b_007d-361"></a>If you are using LaTeX, you may need to add <code>\leavevmode</code>
+immediately before the <code>\epsffile</code> command to get certain
+environments to work correctly. If your file does not have a bounding
+box comment, you can supply the numbers as determined in the previous
+section, in the same order they would have been in a normal bounding box
+comment:
+
+<pre class="example"> \epsffile[100 100 500 500]{foo.ps}
+</pre>
+ <p class="noindent">Now, save your changes and run TeX and Dvips; the output should have
+your graphic positioned at precisely the point you indicated, occupying
+the proper amount of space.
+
+ <p><a name="index-g_t_005cepsffile-_0040r_007bmacro_007d-362"></a><a name="index-figures_002c-natural-size-363"></a>The <code>\epsffile</code> macro typesets the figure as a TeX <code>\vbox</code>
+at the point of the page that the command is executed. By default, the
+graphic will have its `natural' width (namely, the width of its bounding
+box). The TeX box will have depth zero and its natural height. By
+default, the graphic will be scaled by any DVI magnification in effect,
+just as is everything else in your document. See the next section for
+more information on scaling.
+
+ <p><a name="index-g_t_005cepsfverbosetrue-364"></a><a name="index-verbose-EPSF-processing-365"></a>If you want TeX to report the size of the figure as a message on your
+terminal when it processes each figure, give the command:
+
+<pre class="example"> \epsfverbosetrue
+</pre>
+ <ul class="menu">
+<li><a accesskey="1" href="#EPSF-scaling">EPSF scaling</a>
+<li><a accesskey="2" href="#EPSF-clipping">EPSF clipping</a>
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="EPSF-scaling"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#EPSF-clipping">EPSF clipping</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#EPSF-macros">EPSF macros</a>
+
+</div>
+
+<h5 class="subsubsection">5.1.3.1 EPSF scaling</h5>
+
+<p><a name="index-scaling-of-figures-366"></a><a name="index-figures_002c-scaling-367"></a>
+Usually, you will want to scale an EPSF figure to some size appropriate
+for your document, since its natural size is determined by the creator
+of the EPS file.
+
+ <p>The best way to do this is to assign the desired size to the TeX
+<code>\epsfxsize</code> or <code>\epsfysize</code> variables, whichever is more
+convenient for you. That is, put
+
+ <p><a name="index-g_t_005cepsfxsize-368"></a>
+<pre class="example"> \epsfxsize=<var>dimen</var>
+</pre>
+ <p class="noindent">right before the call to <code>\epsffile</code>. Then the width of the TeX
+box will be <var>dimen</var> and its height will be scaled proportionately.
+Similarly, you can set the vertical size with
+
+ <p><a name="index-g_t_005cepsfysize-369"></a>
+<pre class="example"> \epsfysize=<var>dimen</var>
+</pre>
+ <p class="noindent">in which case the height will be set and the width scaled
+proportionally.
+
+ <p>If you set both, both will be honored, but the aspect ratio of the
+included graphic may necessarily be distorted, i.e., its contents
+stretched in one direction or the other.
+
+ <p><a name="index-g_t_005cepsfsize-370"></a>You can resize graphics in a more general way by redefining the
+<code>\epsfsize</code> macro. <code>\epsffile</code> calls this with two
+parameters: the natural horizontal and vertical sizes of the PostScript
+graphic. <code>\epsfsize</code> must expand to the desired horizontal size,
+that is, the width of the <code>\vbox</code>. Schematically:
+
+<pre class="example"> \def\epsfsize#1#2{<var>body</var>}
+</pre>
+ <p>Some useful definitions of <var>body</var>:
+
+ <dl>
+<dt>`<samp><span class="samp">\epsfxsize</span></samp>'<dd>This definition (the default) enables the default features listed above,
+by setting <code>\epsfxsize</code> to the same value it had before the macro
+was called.
+
+ <br><dt>`<samp><span class="samp">#1</span></samp>'<dd>Force the natural size by returning the first parameter (the original
+width).
+
+ <br><dt>`<samp><span class="samp">0pt</span></samp>'<dd>A special case, equivalent to `<samp><span class="samp">#1</span></samp>'.
+
+ <br><dt>`<samp><span class="samp">0.5#1</span></samp>'<dd>Scale to half the natural size.
+
+ <br><dt>`<samp><span class="samp">\hsize</span></samp>'<dd>Scale to the current <code>\hsize</code>. (In LaTeX, use <code>\textwidth</code>
+instead of <code>\hsize</code>.)
+
+ <br><dt>`<samp><span class="samp">\ifnum#1&gt;\hsize\hsize\else#1\fi</span></samp>'<dd>If the natural width is greater than the current <code>\hsize</code>, scale to
+<code>\hsize</code>, otherwise use the natural width.
+
+ </dl>
+
+ <p><a name="index-DVI-magnification-371"></a><a name="index-magnification_002c-DVI-372"></a><a name="index-g_t_005cmagnification-373"></a>For compatibility with other PostScript drivers, it is possible to turn
+off the default scaling of included figures by the DVI magnification
+with the following TeX command:
+
+ <p><a name="index-g_t_002fmagscale-374"></a>
+<pre class="example"> \special{! /magscale false def}
+</pre>
+ <p class="noindent">Use of this command is not recommended because it will make the
+<code>\epsffile</code> graphics the &ldquo;wrong&rdquo; size if global magnification is
+being used, and it will cause any PostScript graphics to appear
+improperly scaled and out of position if a DVI to DVI program is used to
+scale or otherwise modify the document.
+
+ <p><a name="index-bop_002dhook-375"></a>DVI magnification is not applied to any output from code you write in
+`<samp><span class="samp">bop-hook</span></samp>' or its ilk (see <a href="#PostScript-hooks">PostScript hooks</a>),
+
+<div class="node">
+<p><hr>
+<a name="EPSF-clipping"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#EPSF-scaling">EPSF scaling</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#EPSF-macros">EPSF macros</a>
+
+</div>
+
+<h5 class="subsubsection">5.1.3.2 EPSF clipping</h5>
+
+<p><a name="index-clipping-of-EPSF-376"></a><a name="index-bounding-box_002c-inaccurate-377"></a><a name="index-text-in-figures_002c-chopped-off-378"></a><a name="index-lines-in-figures_002c-wrong-width-379"></a>
+By default, clipping is disabled for included EPSF images. This is
+because clipping to the bounding box dimensions often cuts off a
+small portion of the figure, due to slightly inaccurate bounding
+box arguments. The problem might be subtle; lines around the boundary
+of the image might be half their intended width, or the tops or
+bottoms of some text annotations might be sliced off. If you want to
+turn clipping on, just use the command
+
+<pre class="example"> \epsfclipon
+</pre>
+ <p class="noindent">and to turn clipping back off, use
+
+<pre class="example"> \epsfclipoff
+</pre>
+ <div class="node">
+<p><hr>
+<a name="psfile-special"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#EPSF-macros">EPSF macros</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#PostScript-figures">PostScript figures</a>
+
+</div>
+
+<h4 class="subsection">5.1.4 `<samp><span class="samp">psfile</span></samp>' special</h4>
+
+<p><a name="index-psfile-_0040r_007bspecial_007d-380"></a>
+The basic special for file inclusion is as follows:
+
+<pre class="example"> \special{psfile=<var>filename</var>.ps <span class="roman">[</span><var>key</var>=<var>value</var><span class="roman">]</span> ... }
+</pre>
+ <p class="noindent">This downloads the PostScript file <samp><var>filename</var><span class="file">.ps</span></samp> such that
+the current point will be the origin of the PostScript coordinate
+system. The optional <var>key</var><tt>=</tt><var>value</var> assignments allow you to
+specify transformations on the PostScript.
+
+ <p>The possible <var>key</var>s are:
+
+ <dl>
+<dt>`<samp><span class="samp">hoffset</span></samp>'<dd>The horizontal offset (default 0)
+<br><dt>`<samp><span class="samp">voffset</span></samp>'<dd>The vertical offset (default 0)
+<br><dt>`<samp><span class="samp">hsize</span></samp>'<dd>The horizontal clipping size (default 612)
+<br><dt>`<samp><span class="samp">vsize</span></samp>'<dd>The vertical clipping size (default 792)
+<br><dt>`<samp><span class="samp">hscale</span></samp>'<dd>The horizontal scaling factor (default 100)
+<br><dt>`<samp><span class="samp">vscale</span></samp>'<dd>The vertical scaling factor (default 100)
+<br><dt>`<samp><span class="samp">angle</span></samp>'<dd>The rotation (default 0)
+<br><dt>`<samp><span class="samp">clip</span></samp>'<dd>Enable clipping to the bounding box
+</dl>
+
+ <p>The dimension parameters are all given in PostScript units.
+The `<samp><span class="samp">hscale</span></samp>' and `<samp><span class="samp">vscale</span></samp>' are given in non-dimensioned percentage
+units, and the rotation value is specified in degrees.
+Thus
+
+<pre class="example"> \special{psfile=foo.ps hoffset=72 hscale=90 vscale=90}
+</pre>
+ <p class="noindent">will shift the graphics produced by file <samp><span class="file">foo.ps</span></samp> right by one inch
+and will draw it at 0.9 times normal size. Offsets are given relative
+to the point of the special command, and are unaffected by scaling or
+rotation. Rotation is counterclockwise about the origin. The order of
+operations is to rotate the figure, scale it, then offset it.
+
+ <p>For compatibility with older PostScript drivers, it is possible to change
+the units that `<samp><span class="samp">hscale</span></samp>' and `<samp><span class="samp">vscale</span></samp>' are given in. This can be
+done by redefining `<samp><span class="samp">@scaleunit</span></samp>'
+<a name="index-scaleunit-381"></a>in `<samp><span class="samp">SDict</span></samp>'
+<a name="index-SDict-382"></a>by a TeX command such as
+
+<pre class="example"> \special{! /@scaleunit 1 def}
+</pre>
+ <p class="noindent">The `<samp><span class="samp">@scaleunit</span></samp>' variable, which is by default 100, is what
+`<samp><span class="samp">hscale</span></samp>' and `<samp><span class="samp">vscale</span></samp>' are divided by to yield an absolute
+scale factor.
+
+<div class="node">
+<p><hr>
+<a name="Dynamic-creation-of-graphics"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Fonts-in-figures">Fonts in figures</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#psfile-special">psfile special</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#PostScript-figures">PostScript figures</a>
+
+</div>
+
+<h4 class="subsection">5.1.5 Dynamic creation of PostScript graphics files</h4>
+
+<p><a name="index-dynamic-creation-of-graphics-383"></a><a name="index-compressed-PostScript-384"></a><a name="index-uncompressing-PostScript-385"></a>
+PostScript is an excellent page description language&mdash;but it does tend
+to be rather verbose. Compressing PostScript graphics files can reduce
+them by factor of five or more. For this reason, if the name of an
+included PostScript file ends with <samp><span class="file">.Z</span></samp> or <samp><span class="file">.gz</span></samp>, Dvips
+automatically runs `<samp><span class="samp">gzip -d</span></samp>'. For example:
+
+<pre class="example"> \epsffile[72 72 540 720]{foo.ps.gz}
+</pre>
+ <p class="noindent">Since the results of such a command are not accessible to TeX, if you
+use this facility with the <samp><span class="file">epsf</span></samp> macros, you need to supply the
+bounding box parameter yourself, as shown.
+
+ <p>More generally, if the filename parameter to one of the graphics
+inclusion techniques starts with a left quote (`<samp><span class="samp">`</span></samp>'), the parameter
+is instead interpreted as a command to execute that will send the actual
+file to standard output. For example:
+
+<pre class="example"> \special{psfile="`gnuplot foo"}
+</pre>
+ <p class="noindent"><a name="index-gnuplot-386"></a>to include the file <samp><span class="file">foo</span></samp>. Of course, the command to be executed
+can be anything, including using a file conversion utility such as
+<samp><span class="file">tek2ps</span></samp> or whatever is appropriate. This feature can be disabled
+with the `<samp><span class="samp">-R</span></samp>' command-line option or `<samp><span class="samp">R</span></samp>' configuration option.
+
+<div class="node">
+<p><hr>
+<a name="Fonts-in-figures"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#PostScript-figures">PostScript figures</a>
+
+</div>
+
+<h4 class="subsection">5.1.6 Fonts in figures</h4>
+
+<p><a name="index-figures-and-fonts-387"></a><a name="index-fonts_002c-in-PostScript-figures-388"></a><a name="index-g_t_0025_002aFont-389"></a>
+You can use any font available to TeX and Dvips within a graphics
+file by putting a <code>%*Font:</code> line in the leading commentary of the
+file. Schematically, this looks like:
+
+<pre class="example"> %*Font: <var>tfmname</var> <var>scaledbp</var> <var>designbp</var> <var>hex-start</var>:<var>hex-bitstring</var>
+</pre>
+ <p>Here is the meaning of each of these elements:
+
+ <dl>
+<dt><var>tfmname</var><dd>The TeX TFM filename, e.g., <samp><span class="file">cmr10</span></samp>. You can give the same
+<var>tfmname</var> on more than one `<samp><span class="samp">%*Font</span></samp>' line; this is useful when
+the number of characters from the font used needs a longer
+<var>hex-bitstring</var> (see item below) than conveniently fits on one line.
+
+ <br><dt><var>scaledbp</var><dd>The size at which you are using the font, in PostScript points (TeX
+big points). 72<span class="dmn">bp</span> = 72.27<span class="dmn">pt</span> = 1<span class="dmn">in</span>.
+
+ <br><dt><var>designbp</var><dd>The designsize of the font, again in PostScript points. This should
+match the value in the TFM file <var>tfmname</var>. Thus, for <samp><span class="file">cmr10</span></samp>,
+it should be `<samp><span class="samp">9.96265</span></samp>'.
+
+ <br><dt><var>hex-start</var><dd>The character code of the first character used from the font, specified
+as two ASCII hexadecimal characters, e.g., `<samp><span class="samp">4b</span></samp>' or `<samp><span class="samp">4B</span></samp>' for
+`<samp><span class="samp">K</span></samp>'.
+
+ <br><dt><var>hex-bitstring</var><dd>An arbitrary number of ASCII hexadecimal digits specifying which
+characters following (and including) <var>hex-start</var> are used. This is
+treated as a bitmap. For example, if your figure used the single letter
+`<samp><span class="samp">K</span></samp>', you would use `<samp><span class="samp">4b:8</span></samp>' for <var>hex-start</var> and
+<var>hex-bitstring</var>. If it used `<samp><span class="samp">KLMNP</span></samp>', you would use
+`<samp><span class="samp">4b:f4</span></samp>'.
+
+ </dl>
+
+ <p>MetaPost's output figures contain lines like this for bitmap fonts used
+in a MetaPost label (see <a href="web2c.html#MetaPost">MetaPost</a>).
+
+<div class="node">
+<p><hr>
+<a name="Header-files"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Literal-PS">Literal PS</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#PostScript-figures">PostScript figures</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Interaction-with-PostScript">Interaction with PostScript</a>
+
+</div>
+
+<h3 class="section">5.2 PostScript header files</h3>
+
+<p><a name="index-header-files_002c-defined-390"></a><a name="index-PostScript-header-files-391"></a>
+<dfn>Header files</dfn> are bits of PostScript included in the output file;
+generally they provide support for special features, rather than
+producing any printed output themselves. You can explicitly request
+downloading header files if necessary for some figure, or to achieve
+some special effect.
+
+ <p><a name="index-psheaderdir-392"></a><a name="index-g_t_002epro-_0040r_007bprologue-files_007d-393"></a><a name="index-g_t_002elpro-_0040r_007blong-prologue-files_007d-394"></a>Dvips includes some headers on its own initiative, to implement features
+such as PostScript font reencoding, bitmap font downloading, handling of
+<code>\special</code>'s, and so on. These standard headers are the
+<samp><span class="file">.pro</span></samp> files (for &ldquo;prologue&rdquo;) in the installation directory
+`<samp><span class="samp">$(psheaderdir)</span></samp>'; they are created from the <samp><span class="file">.lpro</span></samp> (&ldquo;long
+prologue&rdquo;) files in the distribution by stripping
+comments, squeezing blank lines, etc., for maximum efficiency. If you
+want to peruse one of the standard header files, read the <samp><span class="file">.lpro</span></samp>
+version.
+
+ <p><a name="index-userdict_0040r_007b_002c-and-dictionary-files_007d-395"></a><a name="index-dictionary_002c-_0040code_007buserdict_007d-396"></a>The PostScript dictionary stack will be at the `<samp><span class="samp">userdict</span></samp>' level
+when header files are included.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Including-headers-from-TeX">Including headers from TeX</a>
+<li><a accesskey="2" href="#Including-headers-from-the-command-line">Including headers from the command line</a>
+<li><a accesskey="3" href="#Headers-and-memory-usage">Headers and memory usage</a>
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Including-headers-from-TeX"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Including-headers-from-the-command-line">Including headers from the command line</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Header-files">Header files</a>
+
+</div>
+
+<h4 class="subsection">5.2.1 Including headers from TeX</h4>
+
+<p><a name="index-including-headers-in-_0040TeX_007b_007d-397"></a><a name="index-header_003d_0040var_007bfile_007d-_005cspecial-398"></a><a name="index-g_t_0040TeX_007b_007d_002c-including-headers-in-399"></a>
+<a name="index-headers_002c-including-in-_0040TeX_007b_007d-400"></a>In order to get a particular graphic file to work, a certain font or
+header file might need to be sent first. The Dvips program provides
+support for this with the `<samp><span class="samp">header</span></samp>' <code>\special</code>. For instance,
+to ensure that <samp><span class="file">foo.ps</span></samp> gets downloaded:
+
+<pre class="example"> \special{header=foo.ps}
+</pre>
+ <p><a name="index-fonts_002c-as-header-files-401"></a>As another example, if you have some PostScript code that uses a
+PostScript font not built into your printer, you must download it to the
+printer. If the font isn't used elsewhere in the document, Dvips can't
+know you've used it, so you must include it in the same way, as in:
+
+<pre class="example"> \special{header=putr.pfa}
+</pre>
+ <p class="noindent">to include the font definition file for Adobe Utopia Roman.
+
+ <p>The <code>header</code> also special allows for specifying some additional
+code that should be inserted into the PostScript document before and after
+the file itself, as follows:
+
+<pre class="example"> \special{header={foo.ps} pre={pre code} post={post code}}
+</pre>
+ <p><a name="index-before-header_002c-inserting-code-402"></a><a name="index-after-header_002c-inserting-code-403"></a><a name="index-pre-_0040r_007bcode-before-headers_007d-404"></a><a name="index-post-_0040r_007bcode-after-headers_007d-405"></a>This will insert <code>pre code</code> just before <samp><span class="file">foo.ps</span></samp> and
+<code>post code</code> just after. It is required to use the (balanced)
+braces in <em>all</em> of the arguments, including the <code>header</code>,
+when using this extended syntax.
+
+ <p>This allows, for instance, dynamic headers, where some of the content
+depends on settings from the user in (La)TeX. Another application
+is the inclusion of graphics inside the PostScript header, so that
+they can be reused throughout the document, as with logs. That avoids
+including the same graphic several times. This is implemented in the
+<samp><span class="file">graphics/graphicx-psmin</span></samp> package.
+
+ <p>This extended syntax has one additional feature. When Dvips finds the
+extended syntax, it will also look in the installed <samp><span class="file">tex/</span></samp>
+tree(s) for the header file (<samp><span class="file">foo.ps</span></samp> in our example), and not
+only in the current directory and dvips tree as the original syntax
+does. This is because common graphics may well come with packages
+which are installed in the <samp><span class="file">tex/</span></samp> tree.
+
+<div class="node">
+<p><hr>
+<a name="Including-headers-from-the-command-line"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Headers-and-memory-usage">Headers and memory usage</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Including-headers-from-TeX">Including headers from TeX</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Header-files">Header files</a>
+
+</div>
+
+<h4 class="subsection">5.2.2 Including headers from the command line</h4>
+
+<p><a name="index-including-headers-from-the-command-line-406"></a><a name="index-command-line_002c-including-headers-from-407"></a><a name="index-headers_002c-including-from-the-command-line-408"></a>
+You can include headers when you run Dvips, as well as from your
+document (see the previous section). To do this, run Dvips with the
+option `<samp><span class="samp">-P </span><var>header</var></samp>'; this will read the file
+<samp><span class="file">config.</span><var>header</var></samp>, which in turn can specify a header file to
+be downloaded with the `<samp><span class="samp">h</span></samp>' option. See <a href="#Configuration-file-commands">Configuration file commands</a>. These files are called <samp><var>header</var><span class="file">.cfg</span></samp> on MS-DOS.
+
+ <p><a name="index-duplex-printers-409"></a><a name="index-simplex-mode-on-duplex-printers-410"></a><a name="index-screen-frequencies_002c-setting-411"></a>You can arrange for the same file to serve as a `<samp><span class="samp">-P</span></samp>' config file
+and the downloadable header file, by starting the lines of PostScript
+code with a space, leaving only the `<samp><span class="samp">h</span></samp>' line and any comments
+starting in the first column. As an example, see
+<samp><span class="file">contrib/volker/config.*</span></samp> (<samp><span class="file">contrib/volker/*.cfg</span></samp> on MS-DOS).
+(These files also perform useful functions: controlling duplex/simplex
+mode on duplex printers, and setting various screen frequencies;
+<samp><span class="file">contrib/volker/README</span></samp> explains further.)
+
+<div class="node">
+<p><hr>
+<a name="Headers-and-memory-usage"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Including-headers-from-the-command-line">Including headers from the command line</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Header-files">Header files</a>
+
+</div>
+
+<h4 class="subsection">5.2.3 Headers and memory usage</h4>
+
+<p><a name="index-headers-and-memory-usage-412"></a><a name="index-memory-usage_002c-and-headers-413"></a>
+<a name="index-sections-of-output-file_002c-and-memory-414"></a><a name="index-output-file_002c-sectioning-of-415"></a>Dvips tries to avoid overflowing the printer's memory by splitting the
+output files into &ldquo;sections&rdquo; (see the `<samp><span class="samp">-i</span></samp>' option in <a href="#Option-details">Option details</a>). Therefore, for all header files, Dvips debits the printer VM
+budget by some value. If the header file has, in its leading
+commentary a line of the form
+
+ <p><a name="index-VMusage-416"></a><a name="index-g_t_0025_0025VMusage-417"></a>
+<pre class="example"> %%VMusage: <var>min</var> <var>max</var>
+</pre>
+ <p class="noindent">then <var>max</var> is used. If there is no <code>%%VMusage</code> line, then
+the size (in bytes) of the header file is used as an approximation.
+
+ <p>Illustrations (figure files) are also checked for <code>%%VMusage</code> line.
+
+<div class="node">
+<p><hr>
+<a name="Literal-PS"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Hypertext">Hypertext</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Header-files">Header files</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Interaction-with-PostScript">Interaction with PostScript</a>
+
+</div>
+
+<h3 class="section">5.3 Literal PostScript</h3>
+
+<p><a name="index-literal-PostScript_002c-using-418"></a><a name="index-PostScript-code_002c-literal-419"></a>
+You can include literal PostScript code in your document in several ways.
+
+<ul class="menu">
+<li><a accesskey="1" href="#g_t_0022-special">" special</a>: To include inline PostScript code.
+<li><a accesskey="2" href="#ps-special">ps special</a>: Inline PostScript without save/restore.
+<li><a accesskey="3" href="#PostScript-hooks">PostScript hooks</a>: Specifying code to run in the PS interpreter.
+<li><a accesskey="4" href="#Literal-headers">Literal headers</a>: Literal PostScript for the whole document.
+<li><a accesskey="5" href="#Literal-examples">Literal examples</a>: Neat example.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="%22-special"></a>
+<a name="g_t_0022-special"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#ps-special">ps special</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Literal-PS">Literal PS</a>
+
+</div>
+
+<h4 class="subsection">5.3.1 <code>"</code> special: Literal PostScript</h4>
+
+<p><a name="index-g_t_0022-_0040r_007bspecial-_0028literal-PostScript_0029_007d-420"></a>
+For simple graphics, or just for experimentation, literal PostScript
+code can be included. Simply use a <code>\special</code> beginning with a
+double quote character `<samp><span class="samp">"</span></samp>'; there is no matching closing `<samp><span class="samp">"</span></samp>'.
+
+ <p>For instance, the following (simple) graphic:
+
+<p class="noindent">was created by typing:
+
+<pre class="example"> \vbox to 100bp{\vss % a bp is the same as a PostScript unit
+ \special{" newpath 0 0 moveto 100 100 lineto 394 0 lineto
+ closepath gsave 0.8 setgray fill grestore stroke}}
+</pre>
+ <p>You are responsible for leaving space for such literal graphics, as with
+the <code>\vbox</code> above.
+
+<div class="node">
+<p><hr>
+<a name="ps-special"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#PostScript-hooks">PostScript hooks</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#g_t_0022-special">&quot; special</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Literal-PS">Literal PS</a>
+
+</div>
+
+<h4 class="subsection">5.3.2 `<samp><span class="samp">ps</span></samp>' special</h4>
+
+<p><a name="index-ps-_0040r_007bspecial_007d-421"></a>
+<a name="index-save_002frestore_002c-and-specials-422"></a>Generally, Dvips encloses specials in a PostScript save/restore pair,
+guaranteeing that the special will have no effect on the rest of the
+document. The `<samp><span class="samp">ps</span></samp>' special, however, allows you to insert literal
+PostScript instructions without this protective shield; you should
+understand what you're doing (and you shouldn't change the PostScript
+graphics state unless you are willing to take the consequences). This
+command can take many forms because it has had a torturous history; any
+of the following will work:
+
+<pre class="example"> \special{ps:<var>text</var>}
+ \special{ps::<var>text</var>}
+ \special{ps::[begin]<var>text</var>}
+ \special{ps::[end]<var>text</var>}
+</pre>
+ <p class="noindent">(with longer forms taking precedence over shorter forms, when they are
+present). `<samp><span class="samp">ps::</span></samp>' and `<samp><span class="samp">ps::[end]</span></samp>' do no positioning, so they
+can be used to continue PostScript literals started with `<samp><span class="samp">ps:</span></samp>' or
+`<samp><span class="samp">ps::[begin]</span></samp>'.
+
+ <p><a name="index-plotfile_0040r_007b_002c-_0040samp_007bps_007d-subspecial_007d-423"></a>In addition, the variant
+
+<pre class="example"> \special{ps: plotfile <var>filename</var>}
+</pre>
+ <p class="noindent"><a name="index-rotate_002etex-424"></a>inserts the contents of <var>filename</var> verbatim into the output (except
+for omitting lines that begin with %). An example of the proper use of
+literal specials can be found in the file <samp><span class="file">rotate.tex</span></samp>, which makes
+it easy to typeset text turned in multiples of 90 degrees.
+
+<div class="node">
+<p><hr>
+<a name="Literal-headers"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Literal-examples">Literal examples</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#PostScript-hooks">PostScript hooks</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Literal-PS">Literal PS</a>
+
+</div>
+
+<h4 class="subsection">5.3.3 Literal headers: `<samp><span class="samp">!</span></samp>' <code>\special</code></h4>
+
+<p><a name="index-literal-headers-425"></a><a name="index-SDict-_0040r_007bdictionary_007d-426"></a>
+<a name="index-g_t_0021-_0040r_007bspecial-_0028literal-PS-header_0029_007d-427"></a><a name="index-dictionary_002c-_0040code_007bSDict_007d-428"></a>You can download literal PostScript header code in your TeX document,
+for use with (for example) literal graphics code that you include later.
+The text of a <code>\special</code> beginning with an `<samp><span class="samp">!</span></samp>' is copied into
+the output file. A dictionary <code>SDict</code> will be current when this
+code is executed; Dvips arranges for <code>SDict</code> to be first on the
+dictionary stack when any PostScript graphic is included, whether
+literally (the `<samp><span class="samp">"</span></samp>' special) or through macros (e.g.,
+<samp><span class="file">epsf.tex</span></samp>).
+
+ <p>For example:
+
+<pre class="example"> \special{! /reset { 0 0 moveto} def}
+</pre>
+ <div class="node">
+<p><hr>
+<a name="PostScript-hooks"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Literal-headers">Literal headers</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#ps-special">ps special</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Literal-PS">Literal PS</a>
+
+</div>
+
+<h4 class="subsection">5.3.4 PostScript hooks</h4>
+
+<p><a name="index-PostScript-hooks-429"></a>
+Besides including literal PostScript at a particular place in your
+document (as described in the previous section), you can also arrange to
+execute arbitrary PostScript code at particular times while the
+PostScript is printing.
+
+ <p><a name="index-bop_002dhook-430"></a><a name="index-eop_002dhook-431"></a><a name="index-start_002dhook-432"></a><a name="index-end_002dhook-433"></a>If any of the PostScript names <code>bop-hook</code>, <code>eop-hook</code>,
+<code>start-hook</code>, or <code>end-hook</code> are defined in <code>userdict</code>,
+they will be executed at the beginning of a page, end of a page, start
+of the document, and end of a document, respectively.
+
+ <p><a name="index-draft-copies-434"></a><a name="index-dated-output-435"></a>When these macros are executed, the default PostScript coordinate system
+and origin is in effect. Such macros can be defined in headers added by
+the `<samp><span class="samp">-h</span></samp>' option or the `<samp><span class="samp">header=</span></samp>' special, and might be useful
+for writing, for instance, `DRAFT' across the entire page, or, with the
+aid of a shell script, dating the document. These macros are executed
+outside of the save/restore context of the individual pages, so it is
+possible for them to accumulate information, but if a document must be
+divided into sections because of memory constraints, such added
+information will be lost across section breaks.
+
+ <p><a name="index-physical-page-number_002c-and-_0040code_007bbop_002dhook_007d-436"></a>The single argument to <code>bop-hook</code> is the physical page number; the
+first page gets zero, the second one, etc. <code>bop-hook</code> must leave
+this number on the stack. None of the other hooks are passed arguments.
+
+ <p>As an example of what can be done, the following special will write
+a light grey `DRAFT' across each page in the document:
+
+<pre class="example"> \special{!userdict begin /bop-hook{gsave 200 30 translate
+ 65 rotate /Times-Roman findfont 216 scalefont setfont
+ 0 0 moveto 0.7 setgray (DRAFT) show grestore}def end}
+</pre>
+ <p><a name="index-g_t_0025_0025Page_0040r_007b_002c-and-multi_002dpage-information_007d-437"></a>Using <code>bop-hook</code> or <code>eop-hook</code> to preserve information across
+pages breaks compliance with the Adobe document structuring conventions,
+so if you use any such tricks, you may also want to use the `<samp><span class="samp">-N</span></samp>'
+option to turn off structured comments (such as `<samp><span class="samp">%%Page</span></samp>').
+Otherwise, programs that read your file will assume its pages are
+independent.
+
+<div class="node">
+<p><hr>
+<a name="Literal-examples"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Literal-headers">Literal headers</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Literal-PS">Literal PS</a>
+
+</div>
+
+<h4 class="subsection">5.3.5 Literal examples</h4>
+
+<p><a name="index-literal-PostScript_002c-examples-438"></a><a name="index-examples-of-literal-PostScript-439"></a>
+To finish off this section, the following examples of literal PostScript
+are presented without explanation:
+
+<pre class="example"> \def\rotninety{\special{ps:currentpoint currentpoint translate 90
+ rotate neg exch neg exch translate}}\font\huge=cmbx10 at 14.4truept
+ \setbox0=\hbox to0pt{\huge A\hss}\vskip16truept\centerline{\copy0
+ \special{ps:gsave}\rotninety\copy0\rotninety\copy0\rotninety
+ \box0\special{ps:grestore}}\vskip16truept
+</pre>
+ <pre class="example"> \vbox to 2truein{\special{ps:gsave 0.3 setgray}\hrule height 2in
+ width\hsize\vskip-2in\special{ps:grestore}\font\big=cminch\big
+ \vss\special{ps:gsave 1 setgray}\vbox to 0pt{\vskip2pt
+ \line{\hss\hskip4pt NEAT\hss}\vss}\special{ps:0 setgray}%
+ \hbox{\raise2pt\line{\hss NEAT\hss}\special{ps:grestore}}\vss}
+</pre>
+ <p><a name="index-g_t_005crotninety-440"></a><a name="index-gsave_0040r_007b_002f_007dgrestore_0040r_007b_002c-and-literal-PS_007d-441"></a><a name="index-save_0040r_007b_002f_007drestore_0040r_007b_002c-and-literal-PS_007d-442"></a>Some caveats are in order, however. Make sure that each <code>gsave</code> is
+matched with a <code>grestore</code> on the same page. Do not use <code>save</code>
+and <code>restore</code>; they can interact with the PostScript generated by
+Dvips if care is not taken. Try to understand what the above macros are
+doing before writing your own. The <code>\rotninety</code> macro especially
+has a useful trick that appears again and again.
+
+<div class="node">
+<p><hr>
+<a name="Hypertext"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Literal-PS">Literal PS</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Interaction-with-PostScript">Interaction with PostScript</a>
+
+</div>
+
+<h3 class="section">5.4 HyperTeXt</h3>
+
+<p><a name="index-hypertext-support-443"></a>
+<a name="index-g_t_002dz-444"></a><a name="index-html-_0040r_007bspecials_007d-445"></a><a name="index-pdfmark-446"></a>Dvips has support for producing hypertext PostScript documents. If you
+specify the `<samp><span class="samp">-z</span></samp>' option, the <samp><span class="file">html:</span></samp> specials described below
+will be converted into `<samp><span class="samp">pdfmark</span></samp>' PostScript operators to specify
+links. Without `<samp><span class="samp">-z</span></samp>', <samp><span class="file">html:</span></samp> specials are ignored.
+
+ <p><a name="index-distiller_002c-for-PDF-files-447"></a><a name="index-PDF-files_002c-making-448"></a>The resulting PostScript can then be processed by a distiller program to
+make a PDF file. (It can still be handled by ordinary PostScript
+interpreters as well.) Various versions of both PC and Unix distillers
+are supported; Ghostscript includes limited distiller support
+(see <a href="#Ghostscript-installation">Ghostscript installation</a>).
+
+ <p>Macros you can use in your TeX document to insert the specials in the
+first place are available from <samp><var>CTAN:</var><span class="file">/support/hypertex</span></samp>. For
+CTAN info, see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>.
+
+ <p><a name="index-g_t_0040code_007bhttp_003a_002f_002fwww_002ewin_002etue_002enl_002f_007edickie_002fidvi_007d-449"></a><a name="index-g_t_0040code_007bhttp_003a_002f_002fxxx_002elanl_002egov_002fhypertex_007d-450"></a><a name="index-Doyle_002c-Mark-451"></a><a name="index-Bhattacharya_002c-Tanmoy-452"></a><a name="index-Java-DVI-reader-453"></a><a name="index-idvi-_0040r_007bJava-DVI-reader_007d-454"></a><a name="index-dvihps_0040r_007b_002c-hyperdvi-to-PostScript_007d-455"></a>This hypertext support (and original form of the documentation) was
+written by Mark Doyle and Tanmoy Bhattacharya as the `<samp><span class="samp">dvihps</span></samp>'
+program. You can retrieve their software and additional documentation
+via the CTAN reference above. You may also be interested in the Java
+previewer IDVI, available at <a href="http://www.win.tue.nl/~dickie/idvi">http://www.win.tue.nl/~dickie/idvi</a>,
+and/or in <a href="http://www.emrg.com/texpdf.html">http://www.emrg.com/texpdf.html</a>, which describes
+the process of making PDF files from TeX files in more detail.
+
+ <p>Mail archives for the original project are at
+<a href="http://math.albany.edu:8800/hm/ht/">http://math.albany.edu:8800/hm/ht/</a>.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Hypertext-caveats">Hypertext caveats</a>: Font quality, missing character psi.
+<li><a accesskey="2" href="#Hypertext-specials">Hypertext specials</a>: The details on the specials.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Hypertext-caveats"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Hypertext-specials">Hypertext specials</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Hypertext">Hypertext</a>
+
+</div>
+
+<h4 class="subsection">5.4.1 Hypertext caveats</h4>
+
+<p><a name="index-hypertext-caveats-456"></a>
+<a name="index-Computer-Modern-in-PostScript-457"></a><a name="index-hypertext-and-bitmap-fonts-458"></a><a name="index-hypertext-caveats-459"></a><a name="index-embedding-Type-1-fonts-460"></a><a name="index-PDF-files_002c-font-quality-461"></a>If you intend to go all the way to PDF, you may want to use the standard
+35 PostScript fonts exclusively, since other fonts are embedded as
+bitmaps by default. The Adobe PDF readers are extremely slow when
+dealing with bitmap fonts and the results look terrible on the screen.
+Printouts will probably look fine, but may not take full advantage of a
+high-resolution printer. Alternatively, you can have your fonts
+embedded as Type 1 scalable outlines. The resulting PostScript files
+may be larger, but can be effectively rasterized at any resolution.
+They can also be converted to PDF files that can be used effectively at
+any screen or printer resolution.
+
+ <p>To get the TeX fonts embedded in the PostScript file as Type 1 fonts,
+add `<samp><span class="samp">-Ppdf</span></samp>' to the dvips command line switches. The printout
+for a run should look something like this:
+
+<pre class="smallexample"> dvips report -Ppdf -o report.ps
+ This is dvips(k) 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com)
+ ' TeX output 2001.06.15:0837' -&gt; report.ps
+ &lt;tex.pro&gt;&lt;alt-rule.pro&gt;&lt;texc.pro&gt;&lt;texps.pro&gt;&lt;special.pro&gt;.
+ &lt;cmbx9.pfb&gt;&lt;cmsy6.pfb&gt;&lt;cmsy7.pfb&gt;&lt;cmr5.pfb&gt;&lt;cmex10.pfb&gt;&lt;cmr9.pfb&gt;
+ &lt;cmmi7.pfb&gt;&lt;cmsy10.pfb&gt;&lt;cmmib10.pfb&gt;&lt;cmmi10.pfb&gt;&lt;cmti10.pfb&gt;
+ &lt;cmr7.pfb&gt;&lt;cmbx10.pfb&gt;&lt;cmr10.pfb&gt;&lt;cmti9.pfb&gt;&lt;cmr12.pfb&gt;&lt;cmbx12.pfb&gt;
+ [1] [2&lt;mean1.ps&gt;] [3&lt;bounce1-00.ps&gt;] [4]
+</pre>
+ <p>An entry like "&lt;cmr10.pfb&gt;" indicates success: dvips found the Computer
+Modern Roman 10 point font in a PostScript Font Binary file, translated
+it to an ASCII encoding, and embedded it. You can confirm this by
+examining the PostScript output file, looking for the section starting
+<code>%%BeginFont: CMR10</code> followed by an entry <code>/FontType 1 def</code>.
+
+ <p>The `<samp><span class="samp">-Ppdf</span></samp>' option requires that the relevant outline
+(<samp><span class="file">.pfa</span></samp> or <samp><span class="file">.pfb</span></samp>) files be installed (see <a href="#Font-concepts">Font concepts</a>). For example, the <samp><span class="file">cmr10</span></samp> file might be in
+<samp><span class="file">/usr/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb</span></samp>. Your TeX
+distribution may make those fonts available in a separate optional
+package (e.g., <code>tetex-extra</code> in Debian). Failing that,
+commercial versions of the Computer Modern fonts are available from
+Blue Sky; public domain versions - in particular, the lm fonts, and
+the cm-super fonts, are available from CTAN sites (for CTAN info,
+see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>).
+
+ <p>You can convert a PostScript file to PDF using <code>distill</code>, which
+comes with Adobe Acrobat, or <code>ps2pdf</code>, which comes with
+Ghostscript. The <code>ps2pdf</code> that comes with <code>Ghostscript</code>
+version 6.0 or earlier will not embed Type 1 fonts. Current
+recommendations are GNU Ghostscript 6.51 or Aladdin Ghostscript 7.0.
+You can check the fonts in a PDF file with Acrobat Reader by selecting
+the menu entries `<samp><span class="samp">File|Document Info|Fonts</span></samp>'.
+
+ <p><a name="index-psi-character-missing-462"></a><a name="index-trailing-spaces_002c-dropped-463"></a><a name="index-spaces_002c-dropped-trailing-464"></a>Also, the Adobe distillers prior to 2.1 drop trailing space characters
+(character code 32) from strings. Unfortunately, the PostScript fonts
+use this character code for characters other than space (notably the
+Greek letter psi in the <code>Symbol</code> font), and so these characters are
+dropped. This bug is fixed in version 2.1.
+
+ <p>If you can't upgrade, One workaround is to change all the trailing
+blanks in strings to a character code that isn't in the font. This works
+because the default behavior is to substitute a blank for a missing
+character, i.e., the distiller is fooled into substituting the right
+character. For instance, with the Blue Sky fonts, you can globally
+replace `<samp><span class="samp"> )</span></samp>' with `<samp><span class="samp">\200)</span></samp>' (with <code>sed</code>, for example) and
+get the desired result. With the public domain fonts, you will probably
+have to use a character code in the range 128 to 191 since these fonts
+duplicate the first 32 characters starting at 192 to avoid MS-DOS
+problems.
+
+ <p>For more information on the use of TeX to produce PDF files, see the
+article &ldquo;Creating quality Adobe PDF files from TeX with DVIPS&rdquo; by
+Kendall Whitehouse of Adobe. Adobe seems not to offer the article any
+more, but copies are available elsewhere:
+<pre class="display"> <a href="http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html">http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html</a>
+ <a href="http://www.utdallas.edu/~cantrell/online/543e.html">http://www.utdallas.edu/~cantrell/online/543e.html</a>
+</pre>
+ <p>You may also want to check &ldquo;Notes on converting (La)TeX documents
+to robust PDF using Rokicki's dvips and Acrobat Distiller&rdquo; by Timothy
+P. Van Zandt:<br>
+<a href="http://www.emrg.com/texpdf.htmlhttp://zandtwerk.insead.fr/tex2pdf.html">http://www.emrg.com/texpdf.htmlhttp://zandtwerk.insead.fr/tex2pdf.html</a>.
+
+<div class="node">
+<p><hr>
+<a name="Hypertext-specials"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Hypertext-caveats">Hypertext caveats</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Hypertext">Hypertext</a>
+
+</div>
+
+<h4 class="subsection">5.4.2 Hypertext specials</h4>
+
+<p><a name="index-hypertext-specials-465"></a><a name="index-specials_002c-hypertext-466"></a>
+<a name="index-Smith_002c-Arthur-467"></a>Current support for the World Wide Web in the TeX system does not
+involve modifying TeX itself. We need only define some specials;
+Arthur Smith (<a href="mailto:apsmith@aps.org">apsmith@aps.org</a>), Tanmoy Bhattacharya, and Paul
+Ginsparg originally proposed and implemented the following:
+<pre class="example"> html:&lt;a href="<var>xurl</var>"&gt;
+ html:&lt;a name="<var>name</var>"&gt;
+ html:&lt;/a&gt;
+ html:&lt;img src="<var>xurl</var>"&gt;
+ html:&lt;base href="<var>xurl</var>"&gt;
+</pre>
+ <p>Like all TeX <code>\special</code>'s, these produce no visible output, and
+are uninterpreted by TeX itself. They are instructions to DVI
+processors only.
+
+ <p><a name="index-uniform-resource-locator-468"></a><a name="index-extended-URL-469"></a><a name="index-URL_002c-extended-for-_0040TeX_007b_007d-470"></a><a name="index-Murphy_002c-Tim-471"></a>Here, <var>xurl</var> is a standard WWW uniform resource locator (URL),
+possibly extended with a `<samp><span class="samp">#</span><var>type</var><span class="samp">.</span><var>string</var></samp>' construct,
+where <var>type</var> is `<samp><span class="samp">page</span></samp>', `<samp><span class="samp">section</span></samp>', `<samp><span class="samp">equation</span></samp>',
+`<samp><span class="samp">reference</span></samp>' (for bibliographic references), `<samp><span class="samp">figure</span></samp>',
+`<samp><span class="samp">table</span></samp>', etc. For example,
+<pre class="smallexample"> \special{html:&lt;a href="http://www.maths.tcd.ie/~tim/ch1.dvi#equation.1.1"&gt;}
+</pre>
+ <p class="noindent">is a link to equation (1.1) in an example document by Tim Murphy.
+
+ <p><a name="index-URL_002c-definition-472"></a>See the URL <a href="http://www.w3.org/hypertext/WWW/Addressing/Addressing.html">http://www.w3.org/hypertext/WWW/Addressing/Addressing.html</a>
+for a precise description of base URL's.
+
+ <p>Descriptions of the <code>\special</code>'s:
+ <dl>
+<dt>`<samp><span class="samp">href</span></samp>'<a name="index-href-473"></a><dd><a name="index-links_002c-hypertext-474"></a>Creates links in your TeX document. For example:
+ <pre class="example"> \special{html:&lt;a href="http://www.tug.org/"&gt;}\TeX\ Users
+ Group\special{html:&lt;/a&gt;}
+ </pre>
+ <p class="noindent">The user will be able to click on the text `TeX Users
+Group' while running Xdvi and get to the TUG home page. (By the way,
+this is for illustration. In practice, you most likely want to use
+macros to insert the <code>\special</code> commands; reference above.)
+
+ <br><dt>`<samp><span class="samp">name</span></samp>'<a name="index-name-475"></a><dd><a name="index-Anderson_002c-Laurie-476"></a>Defines URL targets in your TeX documents, so links can be
+resolved. For example:
+ <pre class="example"> \special{html:&lt;a name="paradise"&gt;}Paradise\special{html:&lt;/a&gt;}
+ is exactly where you are right now.
+ </pre>
+ <p>This will resolve an `<samp><span class="samp">href="#paradise"</span></samp>'. You'll also have to
+change the catcode of `<samp><span class="samp">#</span></samp>', etc. It's usually easiest to use
+existing macro packages which take care of all the details, such as
+<samp><span class="file">hyperref</span></samp> for LaTeX. The <a href="http://arxiv.org/hypertex/">HyperTeX FAQ</a> has more information.
+
+ <br><dt>`<samp><span class="samp">img</span></samp>'<a name="index-img-477"></a><dd><a name="index-mailcap-_0040r_007band-hypertext_007d-478"></a>Links to an arbitrary external file. Interactively, a viewer is spawned
+to read the file according to the file extension and your <samp><span class="file">mailcap</span></samp>
+file (see the Xdvi documentation).
+
+ <br><dt>`<samp><span class="samp">base</span></samp>'<a name="index-base-479"></a><dd>Defines a base URL that is prepended to all the <code>name</code> targets.
+Typically unnecessary, as the name of the DVI file being read is used by
+default.
+</dl>
+
+ <p>The `<samp><span class="samp">img</span></samp>' and `<samp><span class="samp">base</span></samp>' tags are not yet implemented in Dvips or
+the NeXTSTEP DVI viewer.
+
+<div class="node">
+<p><hr>
+<a name="PostScript-fonts"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Color">Color</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Interaction-with-PostScript">Interaction with PostScript</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">6 PostScript fonts</h2>
+
+<p><a name="index-PostScript-fonts-480"></a>
+Dvips supports the use of PostScript fonts in TeX documents. To use
+a PostScript font conveniently, you need to prepare a corresponding
+virtual font; the program Afm2tfm, supplied with Dvips, helps
+with that.
+
+ <p>All the necessary support for the standard 35 PostScript fonts
+(`<samp><span class="samp">AvantGarde-Book</span></samp>' through `<samp><span class="samp">ZapfDingbats</span></samp>'), plus other freely
+or commonly available PostScript fonts is available along with Dvips.
+To use these fonts, you need do nothing beyond what is mentioned in the
+installation procedure (see <a href="#Installation">Installation</a>). This chapter is
+therefore relevant only if you are installing new PostScript fonts not
+supplied with Dvips. (Or if you're curious.)
+
+<ul class="menu">
+<li><a accesskey="1" href="#Font-concepts">Font concepts</a>: Metrics, glyphs, virtual fonts, and encodings.
+<li><a accesskey="2" href="#Making-a-font-available">Making a font available</a>: Installing and using a PostScript font.
+<li><a accesskey="3" href="#Invoking-afm2tfm">Invoking afm2tfm</a>: Creating TFM and AFM files for a virtual font.
+<li><a accesskey="4" href="#psfonts_002emap">psfonts.map</a>: Defining available PostScript fonts.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Font-concepts"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Making-a-font-available">Making a font available</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#PostScript-fonts">PostScript fonts</a>
+
+</div>
+
+<h3 class="section">6.1 Font concepts</h3>
+
+<p><a name="index-font-concepts-481"></a>
+The information needed to typeset using a particular font is contained
+in two files: a <dfn>metric file</dfn> that contains shape-independent
+information and a <dfn>glyph file</dfn> that contains the actual shapes of
+the font's characters. A <dfn>virtual font</dfn> is an optional additional
+file that can specify special ways to construct the characters. TeX
+itself (or LaTeX) look only at the metric file, but DVI drivers such
+as Dvips look at all three of these files.
+
+ <p>An <dfn>encoding file</dfn> defines the correspondence between the code
+numbers of the characters in a font and their descriptive names. Two
+encoding files used together can describe a reencoding that rearranges,
+i.e., renumbers, the characters of a font.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Metric-files">Metric files</a>: Shape-independent font information.
+<li><a accesskey="2" href="#Glyph-files">Glyph files</a>: Character shapes.
+<li><a accesskey="3" href="#Virtual-fonts">Virtual fonts</a>: Constructing one font from others.
+<li><a accesskey="4" href="#Encodings">Encodings</a>: Character codes and character names.
+<li><a accesskey="5" href="#PostScript-typesetting">PostScript typesetting</a>: How PostScript typesets a character.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Metric-files"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Glyph-files">Glyph files</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-concepts">Font concepts</a>
+
+</div>
+
+<h4 class="subsection">6.1.1 Metric files</h4>
+
+<p><a name="index-metric-files-482"></a>
+A <dfn>metric file</dfn> describes properties of the font that are
+independent of what the characters actually look like. Aside from
+general information about the font itself, a metric file has two kinds
+of information: information about individual characters, organized by
+character code, and information about sequences of characters.
+
+ <p>The per-character information specifies the width, height, depth, and
+italic correction of each character in the font. Any might be zero.
+
+ <p><a name="index-kerning_002c-defined-483"></a><a name="index-ligature_002c-defined-484"></a>In addition to information on individual characters, the metric file
+specifies <dfn>kerning</dfn>, i.e., adding or removing space between
+particular character pairs. It further specifies <dfn>ligature</dfn>
+information: when a sequence of input characters should be typeset as a
+single (presumably different) &ldquo;ligature&rdquo; character. For example, it's
+traditional for the input `<samp><span class="samp">fi</span></samp>' to be typeset as `fi', not as
+`<span class="roman">f</span><span class="roman">i</span>' (with the dot of the `i' colliding with `f'). (In English,
+the only common ligatures are fi, fl, ff, ffi, and ffl.)
+
+ <p>Different typesetting systems use different metric file formats:
+
+ <ul>
+<li><a name="index-afm-files-485"></a><a name="index-g_t_002eafm-_0040r_007bAdobe-metric-files_007d-486"></a>Each Postscript font has an <dfn>Adobe font metrics</dfn> (`<samp><span class="samp">.afm</span></samp>')
+file. These files are plain text, so you can inspect them easily. You
+can get AFM files for Adobe's fonts from
+<a href="ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs">ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs</a>.
+
+ <li><a name="index-tfm-files-487"></a><a name="index-g_t_002etfm-_0040r_007b_0040TeX_007b_007d-font-metric-files_007d-488"></a>TeX uses <dfn>TeX font metrics</dfn> (`<samp><span class="samp">.tfm</span></samp>') files. When you say
+`<samp><span class="samp">\font = </span><var>font</var></samp>' in your TeX document, TeX reads a file
+named `<samp><var>font</var><span class="samp">.tfm</span></samp>'. (Well, except for the <samp><span class="file">texfonts.map</span></samp>
+feature; see <a href="kpathsea.html#Fontmap">Fontmap</a>). TeX can then
+calculate the space occupied by characters from the font when
+typesetting. In addition, the DVI drivers you use to print or view the
+DVI file produced by TeX may need to look at the TFM file.
+
+ <p><a name="index-property-list-files-489"></a><a name="index-tftopl-490"></a><a name="index-pltotf-491"></a><a name="index-g_t_002epl-_0040r_007bproperty-list-files_007d-492"></a>TFM files are binary (and hence are typically much smaller than AFM
+files). You can use the <code>tftopl</code> program (see <a href="web2c.html#tftopl-invocation">tftopl invocation</a>) that comes with TeX to transform a TFM
+file into a human-readable &ldquo;property list&rdquo; (`<samp><span class="samp">.pl</span></samp>') file. You can
+also edit a PL file and transform it back to a TeX-readable TFM with
+the companion program <code>pltotf</code> (see <a href="web2c.html#pltotf-invocation">pltotf invocation</a>). Editing metrics by hand is not something you're likely to want
+to do often, but the capability is there.
+
+ <li><a name="index-pfm-files-493"></a><a name="index-g_t_002epfm-_0040r_007bprinter-font-metric-files_007d-494"></a>ATM and other typesetting systems use <dfn>printer font metric</dfn>
+(`<samp><span class="samp">.pfm</span></samp>') files. These are binary files. They are irrelevant in the
+TeX world, and not freely available, so we will not discuss them
+further.
+
+ </ul>
+
+ <p>The Afm2tfm program distributed with Dvips converts an AFM file
+to a TFM file and performs other useful transformations as well.
+See <a href="#Invoking-afm2tfm">Invoking afm2tfm</a>.
+
+<div class="node">
+<p><hr>
+<a name="Glyph-files"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Virtual-fonts">Virtual fonts</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Metric-files">Metric files</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-concepts">Font concepts</a>
+
+</div>
+
+<h4 class="subsection">6.1.2 Glyph files</h4>
+
+<p><a name="index-glyph-files-495"></a>
+Although a metric file (see the previous section) contains information
+about the spatial and other properties of the character at position 75,
+say, it contains nothing about what the character at position 75
+actually looks like. The glyphs&mdash;the actual shapes of the letterforms
+in a font&mdash;are defined by other files, which we call glyph files.
+TeX itself only reads the TFM file for a font; it does not need to
+know character shapes.
+
+ <p>A <dfn>glyph file</dfn> is a file that defines the shapes of the characters
+in a font. The shapes can be defined either by outlines or by bitmaps.
+
+ <p><a name="index-outline-fonts-496"></a><a name="index-arcs-497"></a><a name="index-splines-498"></a>PostScript fonts are defined as <dfn>outline fonts</dfn>: Each character in
+the font is defined by giving the mathematical curves (lines, arcs, and
+splines) that define its contours. Different sizes of a character are
+generated by linearly scaling a single shape. For example, a 10-point
+`A' is simply half the size of a 20-point `A'. Nowadays, outline fonts
+usually also contain <dfn>hints</dfn>&mdash;additional information to improve the
+appearance of the font at small sizes or low resolutions.
+
+ <p><a name="index-Type-1-fonts-499"></a><a name="index-pfa-files-500"></a><a name="index-pfb-files-501"></a><a name="index-g_t_002epfa-_0040r_007bprinter-font-ascii-files_007d-502"></a><a name="index-g_t_002epfb-_0040r_007bprinter-font-binary-files_007d-503"></a>Although various kinds of PostScript outline fonts exist, by far the
+most common, and the only one we will consider, is called <dfn>Type 1</dfn>.
+The glyph files for Postscript Type 1 fonts typically have names ending
+in `<samp><span class="samp">.pfa</span></samp>' (&ldquo;printer font ASCII&rdquo;) or `<samp><span class="samp">.pfb</span></samp>' (&ldquo;printer font
+binary&rdquo;).
+
+ <p><a name="index-bitmap-fonts-504"></a><a name="index-g_t_002emf-_0040r_007bMetafont-source-files_007d-505"></a><a name="index-Metafont-source-files-506"></a>In contrast, glyph files for Computer Modern and the other standard
+TeX fonts are <dfn>bitmap fonts</dfn>, generated from Metafont
+(`<samp><span class="samp">.mf</span></samp>') descriptions. The Metafont program distributed with TeX
+generates bitmaps from these descriptions.
+
+ <p><a name="index-pk-files-507"></a><a name="index-g_t_002e_0040var_007bnnn_007dpk-_0040r_007bpacked-font-bitmaps_007d-508"></a>The glyph files for TeX bitmap fonts are usually stored in
+<dfn>packed font</dfn> (PK) files. The names of these files end in
+`<samp><span class="samp">.</span><var>nnn</var><span class="samp">pk</span></samp>', where <var>nnn</var> is the resolution of the font in
+dots per inch. For example, <samp><span class="file">cmr10.600pk</span></samp> contains the bitmaps for
+the `<samp><span class="samp">cmr10</span></samp>' font at a resolution of 600<span class="dmn">dpi</span>. (On DOS
+filesystems, it's more likely <samp><span class="file">dpi600\cmr10.pk</span></samp>.)
+
+ <p><a name="index-gf-files-509"></a><a name="index-gftopk-510"></a>Metafont actually outputs <dfn>generic font</dfn> (GF) files, e.g.,
+<samp><span class="file">cmr10.600gf</span></samp>, but the GF files are usually converted immediately
+to PK format (using the <code>gftopk</code> utility that comes with TeX)
+since PK files are smaller and contain the same information. (The GF
+format is a historical artifact.)
+
+<div class="node">
+<p><hr>
+<a name="Virtual-fonts"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Encodings">Encodings</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Glyph-files">Glyph files</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-concepts">Font concepts</a>
+
+</div>
+
+<h4 class="subsection">6.1.3 Virtual fonts</h4>
+
+<p><a name="index-virtual-fonts-511"></a>
+A <dfn>virtual font</dfn> is constructed by extracting characters from one or
+more existing fonts and rearranging them, or synthesizing new characters
+in various ways. The explanation in this manual is intended to suffice
+for understanding enough about virtual fonts to use them with Dvips. It
+isn't a reference manual on virtual fonts. For more information: The
+primary document on virtual fonts is Donald E. Knuth, <cite>TUGboat</cite>
+11(1), Apr. 1990, pp. 13&ndash;23, &ldquo;Virtual Fonts: More Fun for Grand
+Wizards&rdquo; (<samp><var>CTAN:</var><span class="file">/info/virtual-fonts.knuth</span></samp>; for CTAN info,
+see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>). (Don't be intimidated by
+the subtitle.)
+
+ <p><a name="index-vf-files-512"></a><a name="index-vpl-files-513"></a>A virtual font (`<samp><span class="samp">.vf</span></samp>') file specifies, for each character in the
+virtual font, a recipe for typesetting that character. A VF file, like
+a TFM file, is in a compressed binary format. The <code>vftovp</code> and
+<code>vptovf</code> programs convert a VF file to a human-readable VPL
+(virtual property list) format and back again. See <a href="web2c.html#vftovp-invocation">vftovp invocation</a>, and <a href="web2c.html#vptovf-invocation">vptovf invocation</a>.
+
+ <p><a name="index-base-fonts-514"></a>In the case of a PostScript font <var>f</var> being used in a straightforward
+way, the recipe says: character <var>i</var> in the VF font is character
+<var>j</var> in font <var>f</var>. The font <var>f</var> is called a <dfn>base font</dfn>.
+For example, the VF file could remap the characters of the PostScript
+font to the positions where TeX expects to find them.
+See <a href="#Encodings">Encodings</a>.
+
+ <p>Since TeX reads only TFM files, not VF's, each VF must have a
+corresponding TFM for use with TeX. This corresponding TFM is
+created when you run <code>vptovf</code>.
+
+ <p><a name="index-expansion_002c-of-virtual-fonts-515"></a><a name="index-virtual-font-expansion-516"></a>You can <dfn>expand</dfn> virtual fonts into their base fonts with DVIcopy
+(see <a href="web2c.html#dvicopy-invocation">dvicopy invocation</a>). This is useful if you are
+using a DVI translator that doesn't understand vf's itself.
+
+<div class="node">
+<p><hr>
+<a name="Encodings"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#PostScript-typesetting">PostScript typesetting</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Virtual-fonts">Virtual fonts</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-concepts">Font concepts</a>
+
+</div>
+
+<h4 class="subsection">6.1.4 Encodings</h4>
+
+<p><a name="index-encodings-517"></a>
+Every font, whatever its type, has an <dfn>encoding</dfn>, that specifies the
+correspondence between &ldquo;logical&rdquo; characters and character codes. For
+example, the ASCII encoding specifies that the character numbered 65
+(decimal) is an uppercase `A'. The encoding does not specify what the
+character at that position looks like; there are lots of ways to draw an
+`A', and a glyph file (see <a href="#Glyph-files">Glyph files</a>) tells how. Nor does it
+specify how much space that character occupies; that information is in a
+metric file (see <a href="#Metric-files">Metric files</a>).
+
+ <p><a name="index-Computer-Modern_002c-encoding-of-518"></a>TeX implicitly assumes a particular encoding for the fonts you use
+with it. For example, the plain TeX macro <code>\'</code>, which typesets
+an acute accent over the following letter, assumes the acute accent is
+at position 19 (decimal). This happens to be true of standard TeX
+fonts such as Computer Modern, as you might expect, but it is not true
+of normal PostScript fonts.
+
+ <p>It's possible but painful to change all the macros that assume
+particular character positions. A better solution is to create a new
+font with the information for the acute accent at position 19, where
+TeX expects it to be. See <a href="#Making-a-font-available">Making a font available</a>.
+
+ <p><a name="index-PostScript-encoding-519"></a><a name="index-encoding-files-520"></a><a name="index-encoding-vectors_002c-defined-521"></a>
+PostScript represents encodings as a sequence of 256 character names
+called an <dfn>encoding vector</dfn>. An <dfn>encoding file</dfn> (`<samp><span class="samp">.enc</span></samp>')
+gives such a vector, together with ligature and kerning information
+(with which we are not concerned at the moment). These encoding files
+are used by the Afm2tfm program. Encoding files are also downloaded to
+the PostScript interpreter in your printer if you use one of them in
+place of the default encoding vector for a particular PostScript font.
+
+ <p><a name="index-dvips_002eenc-522"></a><a name="index-g_t8r_002eenc-523"></a><a name="index-texmext_002eenc-524"></a><a name="index-texmital_002eenc-525"></a><a name="index-texmsym_002eenc-526"></a><a name="index-reencode_002f_002a_002eenc-527"></a>Examples of encodings: the <samp><span class="file">dvips.enc</span></samp> encoding file that comes
+with Dvips in the `<samp><span class="samp">reencode</span></samp>' directory is a good (but not perfect)
+approximation to the TeX encoding for TeX's Computer Modern text
+fonts. This is the encoding of the fonts that originated with Dvips,
+such as <samp><span class="file">ptmr.tfm</span></samp>. The distribution includes many other encoding
+files; for example, <samp><span class="file">8r.enc</span></samp>, which is the base font for the
+current PostScript font distribution, and three corresponding to the
+TeX mathematics fonts: <samp><span class="file">texmext.enc</span></samp> for math extensions,
+<samp><span class="file">texmital.enc</span></samp> for math italics, and <samp><span class="file">texmsym.enc</span></samp> for math
+symbols.
+
+<div class="node">
+<p><hr>
+<a name="PostScript-typesetting"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Encodings">Encodings</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-concepts">Font concepts</a>
+
+</div>
+
+<h4 class="subsection">6.1.5 How PostScript typesets a character</h4>
+
+<p><a name="index-typesetting-in-PostScript-528"></a><a name="index-character-lookup-procedure-in-PostScript-529"></a>
+The output of Dvips is a program in the PostScript language that
+instructs your (presumably PostScript-capable) printer how to typeset
+your document by transforming it into toner on paper. Your printer, in
+turn, contains a PostScript interpreter that carries out the
+instructions in this typesetting program.
+
+ <p>The program must include the definition of any PostScript fonts that you
+use in your document. Fonts built into your printer (probably the
+standard 35: `<samp><span class="samp">Times-Roman</span></samp>', `<samp><span class="samp">ZapfDingbats</span></samp>', <small class="dots">...</small>) are
+defined within the interpreter itself. Other fonts must be downloaded
+as pfa or pfb files (see <a href="#Glyph-files">Glyph files</a>) from your host (the computer
+on which you're running Dvips).
+
+ <p>You may be wondering exactly how a PostScript interpreter figures out
+what character to typeset, with this mass of metrics, glyphs, encodings,
+and other information. (If you're not wondering, skip this section
+<small class="dots">...</small>)
+
+ <p><a name="index-show-_0040r_007bPostScript-operator_007d-530"></a>The basic PostScript operator for imaging characters is
+<code>show</code>. Suppose you've asked TeX to typeset an `S'. This will
+eventually wind up in the Dvips output as the equivalent of this
+PostScript operation:
+
+<pre class="example"> (S) show
+</pre>
+ <p class="noindent">Here is how PostScript typesets the `S':
+
+ <ol type=1 start=1>
+<li><a name="index-ASCII-character-codes_002c-used-by-PostScript-531"></a>PostScript interpreters use ASCII; therefore `S' is represented as the
+integer 83. (Any of the 256 possible characters representable in a
+standard 8-bit byte can be typeset.)
+
+ <li><a name="index-current-font_002c-in-PostScript-532"></a><a name="index-dictionary_002c-PostScript-language-533"></a>A PostScript <dfn>dictionary</dfn> is a mapping of names to arbitrary values.
+A font, to the interpreter, is a dictionary which contains entries for
+certain names. (If these entries are missing, the interpreter refuses
+to do anything with that font.)
+
+ <p>PostScript has a notion of &ldquo;the current font&rdquo;&mdash;whatever font is
+currently being typeset in.
+
+ <li><a name="index-encoding-vectors_002c-in-Type-1-fonts-534"></a><a name="index-Encoding-_0040r_007bType-1-dictionary_007d-535"></a>One of the mandatory entries in a font dictionary is `<samp><span class="samp">Encoding</span></samp>',
+which defines the encoding vector (see <a href="#Encodings">Encodings</a>) for that font.
+This vector of 256 names maps each possible input character to a name.
+
+ <li>The interpreter retrieves the entry at position 83 of the encoding
+vector. This value is a PostScript name: <code>/S</code>.
+
+ <li><a name="index-CharStrings-_0040r_007bType-1-dictionary_007d-536"></a><a name="index-dictionary_002c-_0040code_007bCharStrings_007d-537"></a>For Type 1 fonts (we're not going to discuss anything else), the
+interpreter now looks up <code>/S</code> as a key in a dictionary named
+<code>CharStrings</code>, another mandatory entry in a font dictionary.
+
+ <li><a name="index-hints-538"></a><a name="index-character-definitions-in-PostScript-539"></a>The value of <code>S</code> in <code>CharStrings</code> is the equivalent of a
+series of standard PostScript commands like `<samp><span class="samp">curveto</span></samp>',
+`<samp><span class="samp">lineto</span></samp>', `<samp><span class="samp">fill</span></samp>', and so on. These commands are executed to
+draw the character. There can also be <dfn>hint information</dfn> that helps
+adapt the character to low-resolution rasters. (See <a href="#Glyph-files">Glyph files</a>.)
+The commands are actually represented in a more compact way than
+standard PostScript source; see the Type 1 book for details.
+
+ </ol>
+
+ <p>This method for typesetting characters is used in both Level 1 and Level
+2 PostScript. See the PostScript reference manuals for more
+information.
+
+<div class="node">
+<p><hr>
+<a name="Making-a-font-available"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Invoking-afm2tfm">Invoking afm2tfm</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Font-concepts">Font concepts</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#PostScript-fonts">PostScript fonts</a>
+
+</div>
+
+<h3 class="section">6.2 Making a PostScript font available</h3>
+
+<p><a name="index-installing-fonts-540"></a><a name="index-fonts_002c-installing-541"></a>
+To make a PostScript font available in a TeX document, you need to
+install the font on your system and then define it within the document.
+Once you have installed the font, of course, it is available for any
+document thereafter and you don't need to reinstall it. You must have
+an AFM file for any font you install. Unless the font is built into your
+printer, you must also have a PFA or PFB file.
+
+ <p>In the following examples, we use the font `<samp><span class="samp">Times-Roman</span></samp>' to
+illustrate the process. But you should use the prebuilt fonts for Times
+and the other standard fonts, rather than rebuilding them. The prebuilt
+fonts are made using a more complicated process than that described
+here, to make them work as well as possible with TeX. So following
+the steps in this manual will not generate files identical to the
+distributed ones. See <a href="#PostScript-font-installation">PostScript font installation</a>, for pointers to
+the prebuilt fonts.
+
+ <p>Installation of a PostScript font proceeds in three steps. See <a href="#Font-concepts">Font concepts</a>, for descriptions of the various files involved.
+
+ <ol type=1 start=1>
+<li>Run <code>afm2tfm</code> to create a TFM file for the original font,
+and the VPL form of the virtual font:
+ <pre class="example"> afm2tfm Times-Roman -v ptmr rptmr
+ </pre>
+ <li>Run <code>vptovf</code> to generate a VF and TFM file for the virtual font
+from the VPL file:
+ <pre class="example"> vptovf ptmr.vpl ptmr.vf ptmr.tfm
+ </pre>
+ <li>Insert an entry for the font in <samp><span class="file">psfonts.map</span></samp> (see <a href="#psfonts_002emap">psfonts.map</a>):
+ <pre class="example"> rptmr Times-Roman &lt;ptmr8a.pfa
+ </pre>
+ <li>Install the files in the standard locations, as in:
+ <pre class="example"> cp ptmr.vf <var>fontdir</var>/vf/...
+ cp *ptmr.tfm <var>fontdir</var>/tfm/...
+ cp ptmr.afm <var>fontdir</var>/afm/...
+ cp ptmr.pf? <var>fontdir</var>/type1/...
+ </pre>
+ </ol>
+
+ <p>The simplest invocation of Afm2tfm to make virtual fonts goes something
+like this:
+
+ <p><a name="index-afm2tfm-542"></a>
+<pre class="example"> afm2tfm Times-Roman -v ptmr rptmr
+</pre>
+ <p class="noindent">This reads the file <samp><span class="file">Times-Roman.afm</span></samp>, and produces two files as
+output, namely the virtual property list'file <samp><span class="file">ptmr.vpl</span></samp>, and the
+&ldquo;raw&rdquo; font metric file <samp><span class="file">rptmr.tfm</span></samp>. To use the font in TeX,
+you first run
+
+ <p><a name="index-vptovf-543"></a>
+<pre class="example"> vptovf ptmr.vpl ptmr.vf ptmr.tfm
+</pre>
+ <p class="noindent">You should then install the virtual font file <samp><span class="file">ptmr.vf</span></samp> where Dvips
+will see it and install <samp><span class="file">ptmr.tfm</span></samp> and <samp><span class="file">rptmr.tfm</span></samp> where
+TeX and Dvips will see them.
+
+ <p>Using these raw fonts is not recommended; there are no raw fonts in the
+prebuilt PostScript fonts distributed along with Dvips. But
+nevertheless, that's how Afm2tfm presently operates, so that's what we
+document here. The `<samp><span class="samp">r</span></samp>' prefix convention is likewise historical
+accident.
+
+ <p>You can also make more complex virtual fonts by editing <samp><span class="file">ptmr.vpl</span></samp>
+before running `<samp><span class="samp">vptovf</span></samp>'; such editing might add the uppercase Greek
+characters in the standard TeX positions, for instance. (This has
+already been done for the prebuilt fonts.)
+
+ <p>Once the files have been installed, you're all set. You can now do
+things like this in TeX:
+<pre class="example"> \font\myfont = ptmr at 12pt
+ \myfont Hello, I am being typeset in 12-point Times-Roman.
+</pre>
+ <p>Thus, we have two fonts, one actual (`<samp><span class="samp">rptmr</span></samp>', which is analogous to
+the font in the printer) and one virtual (`<samp><span class="samp">ptmr</span></samp>', which has been
+remapped to the standard TeX encoding (almost)), and has typesetting
+know-how added. You could also say
+
+<pre class="example"> \font\raw = rptmr at 10pt
+</pre>
+ <p class="noindent">and typeset directly with that, but then you would have no ligatures or
+kerning, and you would have to use Adobe character positions for special
+letters like
+The virtual font `<samp><span class="samp">ptmr</span></samp>' not only has ligatures and kerning, and
+most of the standard accent conventions of TeX, it also has a few
+additional features not present in the Computer Modern fonts. For
+example, it includes all the Adobe characters (such as the Polish ogonek
+and the French guillemots). The only things you lose from ordinary
+TeX text fonts are the dotless `j' (which can be hacked into the VPL
+file with literal PostScript specials if you have the patience) and
+uppercase Greek letters (which just don't exist unless you buy them
+separately). See <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a>.
+
+ <p>As a final step you need to record information about both the virtual
+font and the original font (if you ever might want to use it) in the
+<samp><span class="file">psfonts.map</span></samp> file (see <a href="#psfonts_002emap">psfonts.map</a>). For our example, you'd
+insert the following into <samp><span class="file">psfonts.map</span></samp>:
+<pre class="example"> rptmr Times-Roman &lt;ptmr8a.pfa
+</pre>
+ <p class="noindent">Of course, <code>Times-Roman</code> is already built in to most every
+printer, so there's no need to download any Type 1 file for it. But if
+you are actually following these instructions for new fonts, most likely
+they are not built in to the printer.
+
+ <p><a name="index-memory_002c-used-by-PostScript-fonts-544"></a><a name="index-efficiency_002c-and-fonts-545"></a>These PostScript fonts can be scaled to any size. Go wild! Using
+PostScript fonts, however, does use up a great deal of the printer's
+memory and it does take time. You may find downloading bitmap fonts
+(possibly compressed, with the `<samp><span class="samp">Z</span></samp>' option) to be faster than using
+the built-in PostScript fonts.
+
+<div class="node">
+<p><hr>
+<a name="Invoking-afm2tfm"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#psfonts_002emap">psfonts.map</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Making-a-font-available">Making a font available</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#PostScript-fonts">PostScript fonts</a>
+
+</div>
+
+<h3 class="section">6.3 Invoking Afm2tfm</h3>
+
+<p><a name="index-afm2tfm-546"></a>
+The Afm2tfm program converts an AFM file for a PostScript font to a TFM
+file and a VPL file for a corresponding virtual font (or, in its
+simplest form, to a TFM file for the PostScript font itself). The
+results of the conversion are affected by the command-line options and
+especially by the reencodings you can specify with those options. You
+can also obtain special effects such as an oblique font.
+
+ <p><a name="index-fontinst-547"></a><a name="index-virtual-fonts_002c-creating-548"></a><a name="index-Jeffrey_002c-Alan-549"></a>An alternative to Afm2tfm for creating virtual fonts is Alan Jeffrey's
+<code>fontinst</code> program, available from
+<samp><var>CTAN:</var><span class="file">fonts/utilities/fontinst</span></samp> (for CTAN info,
+see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>).
+
+<ul class="menu">
+<li><a accesskey="1" href="#Changing-font-encodings">Changing font encodings</a>: Reencoding with -t, -p, -T.
+<li><a accesskey="2" href="#Special-font-effects">Special font effects</a>: Oblique fonts, small caps, and such.
+<li><a accesskey="3" href="#Afm2tfm-options">Afm2tfm options</a>: afm2tfm command-line options.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Changing-font-encodings"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Special-font-effects">Special font effects</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Invoking-afm2tfm">Invoking afm2tfm</a>
+
+</div>
+
+<h4 class="subsection">6.3.1 Changing font encodings</h4>
+
+<p><a name="index-encoding-changes-550"></a><a name="index-fonts_002c-changing-encoding-of-551"></a>
+Afm2tfm allows you to specify a different encoding for a PostScript font
+(for a general introduction to encodings, see <a href="#Encodings">Encodings</a>). The
+`<samp><span class="samp">-t</span></samp>' options changes the TeX encoding, `<samp><span class="samp">-p</span></samp>' changes the
+PostScript encoding, and `<samp><span class="samp">-T</span></samp>' changes both simultaneously, as
+detailed in the sections below.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Changing-TeX-encodings">Changing TeX encodings</a>: Where TeX finds a character.
+<li><a accesskey="2" href="#Changing-PostScript-encodings">Changing PostScript encodings</a>: Where PostScript finds a character.
+<li><a accesskey="3" href="#Changing-both-encodings">Changing both encodings</a>: One and the same, simultaneously.
+<li><a accesskey="4" href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a>: Problems with the default encoding.
+<li><a accesskey="5" href="#Encoding-file-format">Encoding file format</a>: Syntax of an encoding file.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Changing-TeX-encodings"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Changing-PostScript-encodings">Changing PostScript encodings</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Changing-font-encodings">Changing font encodings</a>
+
+</div>
+
+<h5 class="subsubsection">6.3.1.1 `<samp><span class="samp">-t</span></samp>': Changing TeX encodings</h5>
+
+<p><a name="index-changing-_0040TeX_007b_007d-encodings-552"></a><a name="index-g_t_0040TeX_007b_007d-encoding_002c-changing-553"></a>
+<a name="index-g_t_002dt-_0040var_007btex_002denc_007d-554"></a>To build a virtual font with Afm2tfm, you specify the `<samp><span class="samp">-v</span></samp>' or
+`<samp><span class="samp">-V</span></samp>' option. You can then specify an encoding for that virtual font
+with `<samp><span class="samp">-t </span><var>tex-enc</var></samp>'. (`<samp><span class="samp">-t</span></samp>' is ignored if neither
+`<samp><span class="samp">-v</span></samp>' nor `<samp><span class="samp">-V</span></samp>' is present.) Any ligature and kerning
+information you specify in <var>tex-enc</var> will be used in the VPL, in
+addition to the ligature and kerning information from the AFM file.
+
+ <p>If the AFM file has no entry for a character specified in <var>tex-enc</var>,
+that character will be omitted from the output VPL.
+
+ <p><a name="index-texmsym_002eenc-555"></a>The `<samp><span class="samp">-t</span></samp>' option is likely to be needed when you have a PostScript
+font corresponding to a TeX font other than a normal text font such
+as Computer Modern. For instance, if you have a PostScript font that
+contains math symbols, you'd probably want to use the encoding in the
+<samp><span class="file">texmsym.enc</span></samp> file supplied with Dvips. (For a start; to actually
+get usable math fonts, you have to define much more than just an
+encoding.)
+
+<div class="node">
+<p><hr>
+<a name="Changing-PostScript-encodings"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Changing-both-encodings">Changing both encodings</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Changing-TeX-encodings">Changing TeX encodings</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Changing-font-encodings">Changing font encodings</a>
+
+</div>
+
+<h5 class="subsubsection">6.3.1.2 `<samp><span class="samp">-p</span></samp>': Changing PostScript encodings</h5>
+
+<p><a name="index-changing-PostScript-encodings-556"></a><a name="index-PostScript-encoding_002c-changing-557"></a><a name="index-g_t_002dp-_0040var_007bps_002denc_007d-558"></a>
+By default, Afm2tfm uses the encoding it finds in the AFM file. You can
+specify a different PostScript encoding with `<samp><span class="samp">-p </span><var>ps-enc</var></samp>'.
+This makes the raw TFM file (the one output by Afm2tfm) have the
+encoding specified in the encoding file <var>ps-enc</var>. Any ligature or
+kern information specified in <var>ps-enc</var> is ignored by Afm2tfm, since
+ligkern info is always omitted from the raw TFM.
+
+ <p>If you use this option, you must also arrange to download <var>ps-enc</var>
+as part of any document that uses this font. You do this by adding a
+line like the following one to <samp><span class="file">psfonts.map</span></samp> (see <a href="#psfonts_002emap">psfonts.map</a>):
+<pre class="example"> zpopr Optima "MyEncoding ReEncodeFont" &lt;myenc.enc
+</pre>
+ <p><a name="index-trademark-_0040r_007bcharacter_002c-accessing_007d-559"></a><a name="index-registered-_0040r_007bcharacter_002c-accessing_007d-560"></a><a name="index-extra-characters_002c-accessing-561"></a>Using `<samp><span class="samp">-p</span></samp>' is the only way to access characters in a PostScript
+font that are neither encoded in the AFM file nor constructed from other
+characters. For instance, Adobe's `<samp><span class="samp">Times-Roman</span></samp>' font contains the
+extra characters `<samp><span class="samp">trademark</span></samp>' and `<samp><span class="samp">registered</span></samp>' (among others);
+these can only be accessed through such a PostScript reencoding.
+
+ <p><a name="index-g_t8r-_0040r_007bencoding_002c-and-extra-characters_007d-562"></a>The `8r' base encoding used for the current PostScript font
+distribution does do this reencoding, for precisely this reason.
+
+<div class="node">
+<p><hr>
+<a name="Changing-both-encodings"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Changing-PostScript-encodings">Changing PostScript encodings</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Changing-font-encodings">Changing font encodings</a>
+
+</div>
+
+<h5 class="subsubsection">6.3.1.3 `<samp><span class="samp">-T</span></samp>': Changing both TeX and PostScript encodings</h5>
+
+<p><a name="index-g_t_002dT-_0040var_007benc_002dfile_007d-563"></a>
+The option `<samp><span class="samp">-T </span><var>enc-file</var></samp>' is equivalent to `<samp><span class="samp">-p
+</span><var>enc-file</var><span class="samp"> -t </span><var>enc-file</var></samp>'. If you make regular use of a private
+non-standard reencoding `<samp><span class="samp">-T</span></samp>' is usually a better idea than the
+individual options, to avoid unexpected inconsistencies in mapping
+otherwise. An example of when you might use this option is a dingbats
+font: when you have a TeX encoding that is designed to be used with a
+particular PostScript font.
+
+<div class="node">
+<p><hr>
+<a name="Reencoding-with-Afm2tfm"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Encoding-file-format">Encoding file format</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Changing-both-encodings">Changing both encodings</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Changing-font-encodings">Changing font encodings</a>
+
+</div>
+
+<h5 class="subsubsection">6.3.1.4 Reencoding with Afm2tfm</h5>
+
+<p><a name="index-reencoding-564"></a><a name="index-remapping-565"></a>
+The Afm2tfm program creates the TFM and VF files for the virtual font
+corresponding to a PostScript font by <dfn>reencoding</dfn> the PostScript
+font. Afm2tfm generates these files from two encodings: one for TeX
+and one for PostScript. The TeX encoding is used to map character
+numbers to character names while the PostScript encoding is used to map
+each character name to a possibly different number. In combination, you
+can get access to any character of a PostScript font at any position for
+TeX typesetting.
+
+ <p>In the default case, when you specify none of the <code>-t</code>, <code>-p</code>,
+or <code>-T</code> options, Afm2tfm uses a default TeX encoding (which
+mostly corresponds to the Computer Modern text fonts) and the PostScript
+encoding found in the AFM file being read. The reencoding is also
+sometimes called a <dfn>remapping</dfn>.
+
+ <p>For example, the default encodings reencode the acute accent in two
+steps: first the default TeX encoding maps the number 19 to the
+character name `<samp><span class="samp">acute</span></samp>'; then the default PostScript encoding, as
+found in the AFM file for an ordinary PostScript font, maps the
+character name `<samp><span class="samp">acute</span></samp>' to the number 194. (The PostScript encoding
+works in reverse, by looking in the encoding vector for the name and
+then yielding the corresponding number.) The combined mapping of 19 to
+194 shows up explicitly in the VF file and also implicitly in the fact
+that the properties of PostScript character 194 appear in position 19 of
+the TFM file for the virtual font.
+
+ <p><a name="index-accents_002c-in-wrong-position-566"></a><a name="index-Hungarian-umlaut-567"></a><a name="index-dot-accent-568"></a><a name="index-Scandinavian-A-ring-569"></a><a name="index-A-ring_002c-Scandinavian-letter-570"></a>The default encoding of the distributed fonts (e.g., <samp><span class="file">ptmr.tfm</span></samp>)
+mostly follows plain TeX conventions for accents. The exceptions:
+the Hungarian umlaut (which is at position <code>0x7D</code> in `<samp><span class="samp">cmr10</span></samp>',
+but position <code>0xCD</code> in `<samp><span class="samp">ptmr</span></samp>'); the dot accent (at positions
+<code>0x5F</code> and <code>0xC7</code>, respectively); and the Scandinavian A ring
+<code>\AA</code>, whose definition needs different tweaking. In order to use
+these accents with PostScript fonts or in math mode when
+<code>\textfont0</code> is a PostScript font, you will need to use the
+following definitions. These definitions will not work with the
+Computer Modern fonts for the relevant accents. They are already part
+of the distributed <samp><span class="file">psfonts.sty</span></samp> for use with LaTeX.
+
+ <p><a name="index-g_t_005cH-571"></a><a name="index-g_t_005c_002e-572"></a><a name="index-g_t_005cdot-573"></a><a name="index-g_t_005cAA-574"></a>
+<pre class="example"> \def\H#1{{\accent"CD #1}}
+ \def\.#1{{\accent"C7 #1}}
+ \def\dot{\mathaccent"70C7 }
+ \newdimen\aadimen
+ \def\AA{\leavevmode\setbox0\hbox{h}\aadimen\ht0
+ \advance\aadimen-1ex\setbox0\hbox{A}\rlap{\raise.67\aadimen
+ \hbox to \wd0{\hss\char'27\hss}}A}
+</pre>
+ <p><a name="index-CODINGSCHEME-575"></a>As a kind of summary, here are the `<samp><span class="samp">CODINGSCHEME</span></samp>'s that result from
+the various possible choices for reencoding.
+
+ <dl>
+<dt>default encoding<dd>
+ <pre class="example"> (CODINGSCHEME TeX text + AdobeStandardEncoding)
+ </pre>
+ <br><dt>`<samp><span class="samp">-p dc.enc</span></samp>'<dd>
+ <pre class="example"> (CODINGSCHEME TeX text + DCEncoding)
+ </pre>
+ <br><dt>`<samp><span class="samp">-t dc.enc</span></samp>'<dd>
+ <pre class="example"> (CODINGSCHEME DCEncoding + AdobeStandardEncoding)
+ </pre>
+ <br><dt>`<samp><span class="samp">-T dc.enc</span></samp>'<dd>
+ <pre class="example"> (CODINGSCHEME DCEncoding + DCEncoding)
+ </pre>
+ </dl>
+
+<p class="noindent">The `<samp><span class="samp">CODINGSCHEME</span></samp>' line appears in the VPL file but is
+ignored by Dvips.
+
+<div class="node">
+<p><hr>
+<a name="Encoding-file-format"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Changing-font-encodings">Changing font encodings</a>
+
+</div>
+
+<h5 class="subsubsection">6.3.1.5 Encoding file format</h5>
+
+<p><a name="index-encoding-file-format-576"></a>
+Afm2tfm's encoding files have the same format as an encoding vector in a
+PostScript font. Here is a skeletal example:
+
+<pre class="example"> % <span class="roman">Comments are ignored, unless the first word after the percent sign</span>
+ % <span class="roman">is `<samp>LIGKERN</samp>'; see below.</span>
+ /MyEncoding [ % <span class="roman">exactly 256 entries follow, each with a leading `<samp>/</samp>'</span>
+ /Alpha /Beta /Gamma /Delta ...
+ /A /B ... /Z
+ ... /.notdef /xfooaccent /yfooaccent /zfooaccent
+ ] def
+</pre>
+ <p>These encoding files are downloaded as part of changing the encoding at
+the PostScript level (see the previous section).
+
+ <p><a name="index-comments_002c-in-encoding-files-577"></a>Comments, which start with a percent sign and continue until the end
+of the line, are ignored unless they start with `<samp><span class="samp">LIGKERN</span></samp>' (see below).
+
+ <p>The first non-comment word of the file must start with a forward slash
+`<samp><span class="samp">/</span></samp>' (i.e., a PostScript literal name) and defines the name of the
+encoding. The next word must be an left bracket `<samp><span class="samp">[</span></samp>'. Following
+that must be precisely 256 character names; use `<samp><span class="samp">/.notdef</span></samp>' for any
+that you want to leave undefined. Then there must be a matching right
+bracket <code>]</code>. A final `<samp><span class="samp">def</span></samp>' token is optional. All names are
+case-sensitive.
+
+ <p>Any ligature or kern information is given as a comment. If the first
+word after the `<samp><span class="samp">%</span></samp>' is `<samp><span class="samp">LIGKERN</span></samp>', then the entire rest of the
+line is parsed for ligature and kern information. This ligature and
+kern information is given in groups of words: each group is terminated
+by a space and a semicolon and (unless the semicolon is at the end of a
+line) another space.
+
+ <p><a name="index-LIGKERN-_0040r_007bencoding-file-command_007d-578"></a>In these <code>LIGKERN</code> statements, three types of information may be
+specified. These three types are ligature pairs, kerns to ignore, and
+the character value of this font's boundary character.
+
+ <p><a name="index-boundary-character-579"></a>Throughout a <code>LIGKERN</code> statement, the boundary character is
+specified as `<samp><span class="samp">||</span></samp>'. To set the font's boundary character value for
+TeX:
+
+<pre class="example"> % LIGKERN || = 39 ;
+</pre>
+ <p>To indicate a kern to remove, give the names of the two characters
+(without the leading slash) separated by `<samp><span class="samp">{}</span></samp>', as in `<samp><span class="samp">one
+{} one ;</span></samp>'. This is intended to be reminiscent of the way you might
+use `<samp><span class="samp">{}</span></samp>' in a TeX file to turn off ligatures or kerns at a
+particular location. Either or both of the character names can be given
+as `<samp><span class="samp">*</span></samp>', which is a wild card matching any character; thus, all
+kerns can be removed with `<samp><span class="samp">* {} * ;</span></samp>'.
+
+ <p><a name="index-ligature-operations-580"></a><a name="index-Metafont-ligature-operations-581"></a>To specify a ligature, specify the names of the pair of characters,
+followed by the ligature operation (as in Metafont), followed by the
+replacing character name. Either (but not both) of the first two
+characters can be `<samp><span class="samp">||</span></samp>' to indicate a word boundary.
+
+ <p><a name="index-g_t_003d_003a-_0040r_007bligature-operation_007d-582"></a>The most common operation is `<samp><span class="samp">=:</span></samp>' meaning that both characters are
+removed and replaced by the third character, but by adding the `<samp><span class="samp">|</span></samp>'
+character on either side of the `<samp><span class="samp">=:</span></samp>', you can retain either or both
+of the two leading characters. In addition, by suffixing the ligature
+operation with one or two `<samp><span class="samp">&gt;</span></samp>' signs, you can make the ligature
+scanning operation skip that many resulting characters before
+proceeding. This works just like in Metafont. For example, the `fi'
+ligature is specified with `<samp><span class="samp">f&nbsp;i&nbsp;=:&nbsp;fi&nbsp;;</span></samp>'<!-- /@w -->. A more convoluted
+ligature is `<samp><span class="samp">one one |=:|&gt;&gt; exclam ;</span></samp>' which separates a pair of
+adjacent <code>1</code>'s with an exclamation point, and then skips over two
+of the resulting characters before continuing searching for ligatures
+and kerns. You cannot give more <tt>&gt;</tt>'s than <tt>|</tt>'s in an ligature
+operation, so there are a total of eight possibilities:
+
+<pre class="example"> =: |=: |=:&gt; =:| =:|&gt; |=:| |=:|&gt; |=:|&gt;&gt;
+</pre>
+ <p>The default set of ligatures and kerns built in to Afm2tfm is:
+
+<pre class="example"> % LIGKERN question quoteleft =: questiondown ;
+ % LIGKERN exclam quoteleft =: exclamdown ;
+ % LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+ % LIGKERN quoteleft quoteleft =: quotedblleft ;
+ % LIGKERN quoteright quoteright =: quotedblright ;
+ % LIGKERN space {} * ; * {} space ; 0 {} * ; * {} 0 ;
+ % LIGKERN 1 {} * ; * {} 1 ; 2 {} * ; * {} 2 ; 3 {} * ; * {} 3 ;
+ % LIGKERN 4 {} * ; * {} 4 ; 5 {} * ; * {} 5 ; 6 {} * ; * {} 6 ;
+ % LIGKERN 7 {} * ; * {} 7 ; 8 {} * ; * {} 8 ; 9 {} * ; * {} 9 ;
+</pre>
+ <div class="node">
+<p><hr>
+<a name="Special-font-effects"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Afm2tfm-options">Afm2tfm options</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Changing-font-encodings">Changing font encodings</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Invoking-afm2tfm">Invoking afm2tfm</a>
+
+</div>
+
+<h4 class="subsection">6.3.2 Special font effects</h4>
+
+<p><a name="index-oblique-fonts-583"></a><a name="index-slanted-fonts-584"></a><a name="index-fonts_002c-slanted-585"></a>Besides the reencodings described in the previous section, Afm2tfm can
+do other manipulations. (Again, it's best to use the prebuilt fonts
+rather than attempting to remake them.)
+
+ <p>`<samp><span class="samp">-s </span><var>slant</var></samp>' makes an obliqued variant, as in:
+
+<pre class="example"> afm2tfm Times-Roman -s .167 -v ptmro rptmro
+</pre>
+ <p class="noindent">This creates <samp><span class="file">ptmro.vpl</span></samp> and <samp><span class="file">rptmro.tfm</span></samp>. To use this font,
+put the line
+
+ <p><a name="index-SlantFont-586"></a>
+<pre class="example"> rptmro Times-Roman ".167 SlantFont"
+</pre>
+ <p class="noindent"><a name="index-psfonts_002emap-587"></a>into <samp><span class="file">psfonts.map</span></samp>. Then `<samp><span class="samp">rptmro</span></samp>' (our name for the obliqued
+Times) will act as if it were a resident font, although it is actually
+constructed from Times-Roman via the PostScript routine <code>SlantFont</code>
+(which will slant everything 1/6 to the right, in this case).
+
+ <p><a name="index-expanded-fonts-588"></a><a name="index-fonts_002c-expanded-589"></a>Similarly, you can get an expanded font with
+
+<pre class="example"> afm2tfm Times-Roman -e 1.2 -v ptmrre rptmrre
+</pre>
+ <p class="noindent">and by recording the pseudo-resident font
+<a name="index-ExtendFont-590"></a>
+<pre class="example"> rptmrre Times-Roman "1.2 ExtendFont"
+</pre>
+ <p class="noindent">in <samp><span class="file">psfonts.map</span></samp>.
+
+ <p>You can also create a small caps font with a command such as
+<a name="index-small-caps-fonts-591"></a><a name="index-fonts_002c-small-caps-592"></a>
+<pre class="example"> afm2tfm Times-Roman -V ptmrc rptmrc
+</pre>
+ <p class="noindent">This will generate a set of pseudo-small caps mapped into the usual
+lowercase positions and scaled down to 0.8 of the normal cap
+dimensions. You can also specify the scaling as something other than
+the default 0.8:
+
+<pre class="example"> afm2tfm Times-Roman -c 0.7 -V ptmrc rptmrc
+</pre>
+ <p>It is unfortunately not possible to increase the width of the small caps
+independently of the rest of the font. If you want a really
+professional looking set of small caps, you need to acquire a small caps
+font.
+
+ <p><a name="index-PaintType-593"></a><a name="index-outline-fonts-594"></a><a name="index-fonts_002c-outlined-595"></a>To change the <code>PaintType</code> in a font from filled (0) to outlined
+(2), you can add <code>"/PaintType 2 store"</code> to <samp><span class="file">psfonts.map</span></samp>, as
+in the following:
+
+<pre class="example"> rphvrl Helvetica "/PaintType 2 store"
+</pre>
+ <p>Afm2tfm writes to standard output the line you need to add to
+<samp><span class="file">psfonts.map</span></samp> to use that font, assuming the font is resident in
+the printer; if the font is not resident, you must add the
+`<samp><span class="samp">&lt;</span><var>filename</var></samp>' command to download the font. Each identical
+line only needs to be specified once in the `<samp><span class="samp">psfonts.map</span></samp>' file,
+even though many different fonts (small caps variants, or ones with
+different output encodings) may be based on it.
+
+<div class="node">
+<p><hr>
+<a name="Afm2tfm-options"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Special-font-effects">Special font effects</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Invoking-afm2tfm">Invoking afm2tfm</a>
+
+</div>
+
+<h4 class="subsection">6.3.3 Afm2tfm options</h4>
+
+<p><a name="index-options_002c-to-Afm2tfm-596"></a><a name="index-afm2tfm-options-597"></a>
+Synopsis:
+<pre class="example"> afm2tfm [<var>option</var>]... <var>afmfile</var>[.afm] [<var>tfmfile</var>[.tfm]]
+</pre>
+ <p>Afm2tfm reads <var>afmfile</var> and writes a corresponding (but raw) TFM
+file. If <var>tfmfile</var> is not supplied, the base name of the AFM file is
+extended with `<samp><span class="samp">.tfm</span></samp>' to get the output filename.
+
+ <p>The simplest example:
+
+<pre class="example"> afm2tfm Times-Roman rptmr
+</pre>
+ <p><a name="index-accents_002c-wrong-598"></a>The TFM file thus created is <dfn>raw</dfn> because it omits ligature and
+kern information, and does no character remapping; it simply contains
+the character information in the AFM file in TFM form, which is the form
+that TeX understands. The characters have the same code in the TFM
+file as in the AFM file. For text fonts, this means printable ASCII
+characters will work ok, but little else, because standard PostScript
+fonts have a different encoding scheme than the one that plain TeX
+expects (see <a href="#Encodings">Encodings</a>). Although both schemes agree for the
+printable ASCII characters, other characters such as ligatures and
+accents vary. Thus, in practice, it's almost always desirable to create
+a virtual font as well with the `<samp><span class="samp">-v</span></samp>' or `<samp><span class="samp">-V</span></samp>' option.
+See <a href="#Making-a-font-available">Making a font available</a>.
+
+ <p>The command line options to Afm2tfm:
+
+ <dl>
+<dt>`<samp><span class="samp">-c </span><var>ratio</var></samp>'<dd><a name="index-g_t_002dc-_0040var_007bratio_007d-599"></a><a name="index-scaling-small-caps-600"></a>See `<samp><span class="samp">-V</span></samp>'; overrides the default ratio of 0.8 for the
+scaling of small caps.
+
+ <br><dt>`<samp><span class="samp">-e </span><var>ratio</var></samp>'<dd><a name="index-g_t_002de-_0040var_007bratio_007d-601"></a><a name="index-expanded-fonts-602"></a><a name="index-condensed-fonts-603"></a>Stretch characters horizontally by <var>ratio</var>; if less than 1.0, you
+get a condensed font.
+
+ <br><dt>`<samp><span class="samp">-O</span></samp>'<dd><a name="index-g_t_002dO-604"></a><a name="index-octal-character-codes-605"></a>Output all character codes in the `<samp><span class="samp">vpl</span></samp>' file as octal numbers, not
+names; this is useful for symbol or other special-purpose fonts where
+character names such as `<samp><span class="samp">A</span></samp>' have no meaning.
+
+ <br><dt>`<samp><span class="samp">-p </span><var>ps-enc</var></samp>'<dd><a name="index-g_t_002dp-_0040var_007bps_002denc_007d-606"></a>Use <var>ps-enc</var> for the destination (PostScript) encoding of the font;
+<var>ps-enc</var> must be mentioned as a header file for the font in
+`<samp><span class="samp">psfonts.map</span></samp>'.
+See <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a>.
+
+ <br><dt>`<samp><span class="samp">-s </span><var>slant</var></samp>'<dd><a name="index-g_t_002ds-_0040var_007bslant_007d-607"></a><a name="index-slanted-fonts_002c-making-608"></a>Slant characters to the right by <var>slant</var>. If <var>slant</var> is
+negative, the letters slope to the left (or they might be upright if you
+start with an italic font).
+
+ <br><dt>`<samp><span class="samp">-t </span><var>tex-enc</var></samp>'<dd><a name="index-g_t_002dt-_0040var_007btex_002denc_007d-609"></a>Use <var>tex-enc</var> for the target (TeX) encoding of the font.
+Ligature and kern information may also be specified in <var>file</var>.
+<var>file</var> is not mentioned in <samp><span class="file">psfonts.map</span></samp>.
+
+ <br><dt>`<samp><span class="samp">-T </span><var>ps-tex-enc</var></samp>'<dd><a name="index-g_t_002dT-_0040var_007bps_002dtex_002denc_007d-610"></a>Use <var>ps-tex-enc</var> for both the PostScript and target TeX encodings
+of the font. Equivalent to `<samp><span class="samp">-p </span><var>file</var><span class="samp"> -t </span><var>file</var></samp>'.
+
+ <br><dt>`<samp><span class="samp">-u</span></samp>'<dd><a name="index-g_t_002du-611"></a>Use only those characters specified in the TeX encoding, and no
+others. By default, Afm2tfm tries to include all characters in the
+input font, even those not present in the TeX encoding (it puts them
+into otherwise-unused positions, arbitrarily).
+
+ <br><dt>`<samp><span class="samp">-v </span><var>vpl-file</var></samp>'<dd><a name="index-g_t_002dv-_0040var_007bvpl_002dfile_007d-612"></a>Output a VPL (virtual property list) file, as well as a TFM file.
+
+ <br><dt>`<samp><span class="samp">-V </span><var>vpl-file</var></samp>'<dd><a name="index-g_t_002dV-_0040var_007bvpl_002dfile_007d-613"></a>Same as `<samp><span class="samp">-v</span></samp>', but the virtual font generated is a pseudo small caps
+font obtained by scaling uppercase letters by 0.8 to typeset
+lowercase. This font handles accented letters and retains proper
+kerning.
+</dl>
+
+<div class="node">
+<p><hr>
+<a name="psfonts.map"></a>
+<a name="psfonts_002emap"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Invoking-afm2tfm">Invoking afm2tfm</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#PostScript-fonts">PostScript fonts</a>
+
+</div>
+
+<h3 class="section">6.4 <samp><span class="file">psfonts.map</span></samp>: PostScript font catalog</h3>
+
+<p><a name="index-psfonts_002emap-614"></a><a name="index-non_002dresident-fonts-615"></a><a name="index-downloading-PostScript-fonts-616"></a><a name="index-fonts_002c-downloading-617"></a>
+The <samp><span class="file">psfonts.map</span></samp> file associates a PostScript font with related
+files and constructs. Each line has the format:
+
+<pre class="example"> <var>filename</var> <var>PostScript-name</var> <var>options</var>
+</pre>
+ <p><a name="index-g_t_003c-_0040r_007bfont-downloading_007d-618"></a>For example, the line
+<pre class="example"> rpstrn StoneInformal &lt;StoneInformal.pfb
+</pre>
+ <p class="noindent">causes Dvips to download <samp><span class="file">StoneInformal.pfb</span></samp> if your document (just
+as if it were a header file, see <a href="#Header-files">Header files</a>) uses the font
+`<samp><span class="samp">StoneInformal</span></samp>'.
+
+ <p><a name="index-partial-font-downloading-619"></a><a name="index-downloading-fonts-partially-620"></a>If the `<samp><span class="samp">j</span></samp>' config file or command-line option is enabled,
+<samp><span class="file">StoneInformal.pfb</span></samp> will be <dfn>partially downloaded</dfn>&mdash;only those
+characters your document actually uses will be extracted and downloaded,
+and the remainder discarded. See <a href="#Option-details">Option details</a>.
+
+ <p>Filenames of fonts that are partially downloaded are surrounded by curly
+braces (`<samp><span class="samp">{...}</span></samp>') in the progress report Dvips writes to
+standard output. Wholly-downloaded fonts appear inside angle brackets
+(`<samp><span class="samp">&lt;...&gt;</span></samp>'), like other downloaded files.
+
+ <p><a name="index-whole-font-downloading-621"></a><a name="index-multiple-master-fonts-622"></a><a name="index-Minion-typeface-family-623"></a><a name="index-g_t_003c_003c-_0040r_007bwhole-font-downloading_007d-624"></a>Adobe Multiple Master fonts, such as Minion, cannot be partially
+downloaded. To partially download in general, but avoid partial
+downloading for individual fonts, use `<samp><span class="samp">&lt;&lt;</span></samp>' instead `<samp><span class="samp">&lt;</span></samp>':
+<pre class="example"> pmnr8r Minion &lt;&lt;Minion.pfb
+</pre>
+ <p><a name="index-transforming-downloaded-fonts-625"></a><a name="index-expanded-fonts-626"></a><a name="index-wide-fonts-627"></a><a name="index-narrow-fonts-628"></a>You can generate transformed fonts with a line like this:
+<pre class="example"> rpstrc StoneInformal &lt;StoneInformal.pfb ".8 ExtendFont"
+</pre>
+ <p class="noindent">See <a href="#Special-font-effects">Special font effects</a>, for a
+complete list of font effects.
+
+ <p><a name="index-reencoding-PostScript-fonts-629"></a>You can change the encoding of the Type 1 font at the PostScript
+level with a `<samp><span class="samp">ReEncodeFont</span></samp>' instruction, plus the name of the
+encoding file. This allows you access to characters that may be present
+in the Type 1 font file, but not encoded by default&mdash;most of the
+preaccented characters, for example. An example:
+<pre class="smallexample"> pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" &lt;8r.enc &lt;pstrn8a.pfb
+</pre>
+ <p><a name="index-g_t8r-font-encoding-630"></a><a name="index-base-encoding_002c-recommended-631"></a>The `<samp><span class="samp">8r</span></samp>' encoding mentioned here has been designed to serve as a
+base for all downloadable fonts; it allows access to all the characters
+commonly present in a Type 1 font. For more details, see the
+<samp><span class="file">8r.enc</span></samp> source file that comes with (and is installed with) Dvips.
+
+ <p><a name="index-g_t_003c_005b-_0040r_007bencoding-vector-downloading_007d-632"></a>You may notice that the same syntax is used for downloading encoding
+vectors and Type 1 font files. To make your intentions clear, you can
+also use `<samp><span class="samp">&lt;[</span></samp>' to explicitly indicate you are downloading an
+encoding vector, as in:
+<pre class="smallexample"> pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" &lt;[8r.enc &lt;pstrn8a.pfb
+</pre>
+ <p><a name="index-g_t_002eenc-_0040r_007bextension-for-encoding-vectors_007d-633"></a>If the filename of your encoding vector does not end in `<samp><span class="samp">.enc</span></samp>', and
+you are using partial font downloading, you must use the `<samp><span class="samp">&lt;[</span></samp>'
+syntax, or Dvips will not download the font properly.
+
+ <p><a name="index-g_t_002epfa-_0040r_007bextension-required-for-partial-downloading_007d-634"></a><a name="index-g_t_002epfb-_0040r_007bextension-required-for-partial-downloading_007d-635"></a>Similarly, the name of the Type 1 font file itself must have extension
+<samp><span class="file">.pfa</span></samp> or <samp><span class="file">.pfb</span></samp> for partial downloading to work properly.
+
+ <p><a name="index-pfb-files_002c-automatically-unpacked-636"></a>When using PFB files, Dvips is smart enough to unpack the binary PFB
+format into printable ASCII so there is no need to perform this
+conversion yourself. In addition, Dvips scans the font to determine its
+memory usage, just as it does for other header files (see <a href="#Header-files">Header files</a>).
+
+ <p>Here is a brief summary of how <samp><span class="file">psfonts.map</span></samp> is read:
+
+ <ol type=1 start=1>
+<li>If a line is empty or begins with a space, percent, asterisk,
+semicolon, or hash mark, it is ignored.
+
+ <li>Otherwise, the line is separated into words, where words are
+separated by spaces or tabs, except that if a word begins with a double
+quote, it extends until the next double quote or the end of the line.
+
+ <li>If a word starts with `<samp><span class="samp">&lt;&lt;</span></samp>', it is taken as a font file to be
+wholly downloaded. Use this to avoid partial downloading, as described
+above.
+
+ <li>If a word starts with `<samp><span class="samp">&lt;[</span></samp>', it is taken as an encoding file
+to be downloaded. Use this if the name of the encoding file does end in
+`<samp><span class="samp">.enc</span></samp>', also as described above.
+
+ <li>If a word starts with a `<samp><span class="samp">&lt;</span></samp>' character, it is
+treated as a header file that needs to be downloaded. If the name ends
+in `<samp><span class="samp">.pfa</span></samp>' or `<samp><span class="samp">.pfb</span></samp>', it is taken as Type 1 font file that will
+be partially downloaded if the `<samp><span class="samp">j</span></samp>' option is in effect. There can
+be more than one such header for a given font. If a `<samp><span class="samp">&lt;</span></samp>' is a word
+by itself, the next word is taken as the name of the header file.
+
+ <li>If a word starts with a `<samp><span class="samp">"</span></samp>' character, it is taken as PostScript
+code used in generating that font, and is inserted into the output
+verbatim at the appropriate point. (And the double quotes beginning and
+ending the word are removed.)
+
+ <li>Otherwise the word is a name. The first such name is the TFM file that
+a virtual font file can refer to. If there is a second name, it is used
+as the PostScript name; if there is only one name, it is used for both
+the TeX name and the PostScript name.
+
+ </ol>
+
+<div class="node">
+<p><hr>
+<a name="Color"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Index">Index</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#PostScript-fonts">PostScript fonts</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">7 Color</h2>
+
+<p><a name="index-color-637"></a>
+<a name="index-Hafner_002c-Jim-638"></a>Dvips supports one-pass multi-color printing of TeX documents on any
+color PostScript device. Initially added by Jim Hafner, IBM Research,
+<a href="mailto:hafner@almaden.ibm.com">hafner@almaden.ibm.com</a>, the color support has gone through many
+changes by Tomas Rokicki. Besides the source code support itself, there
+are additional TeX macro files: `<samp><span class="samp">colordvi.tex</span></samp>' and
+`<samp><span class="samp">blackdvi.tex</span></samp>', and corresponding `<samp><span class="samp">.sty</span></samp>' versions for use with
+LaTeX.
+
+ <p>In this section we describe the use of color from the document
+preparer's point of view and then add some instructions on installation
+for the TeX administrator.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Color-macro-files">Color macro files</a>: TeX macro definitions.
+<li><a accesskey="2" href="#User_002ddefinable-colors">User-definable colors</a>: Adding your own colors.
+<li><a accesskey="3" href="#Color-subtleties">Color subtleties</a>: Subtleties in using color.
+<li><a accesskey="4" href="#Ted-Turner">Ted Turner</a>: Printing in black/white after colorizing.
+<li><a accesskey="5" href="#Color-device-configuration">Color device configuration</a>: Configuring Dvips for color devices.
+<li><a accesskey="6" href="#Color-support-details">Color support details</a>: Color support details
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Color-macro-files"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#User_002ddefinable-colors">User-definable colors</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Color">Color</a>
+
+</div>
+
+<h3 class="section">7.1 Color macro files</h3>
+
+<p><a name="index-macros-for-color-639"></a><a name="index-color-macros-640"></a>
+All the color macro commands are defined in `<samp><span class="samp">colordvi.tex</span></samp>' (or
+`<samp><span class="samp">colordvi.sty</span></samp>'). To access these macros simply add to the top of
+your plain TeX file the command:
+<pre class="example"> \input colordvi
+</pre>
+ <p class="noindent">For (the obsolete) LaTeX 2.09, add the `<samp><span class="samp">colordvi</span></samp>' style option as in:
+<pre class="example"> \documentstyle[12pt,colordvi]{article}
+</pre>
+ <p class="noindent">For LaTeX 2e, these examples are not applicable. Instead, please see
+the documentation for the graphics package, available from
+<samp><var>CTAN</var><span class="file">:doc/latex/graphics/</span></samp>. See also
+<samp><var>CTAN</var><span class="file">:doc/epslatex.ps</span></samp>.
+
+ <p><a name="index-Crayola-crayon-box-641"></a><a name="index-Pantone-colors-642"></a><a name="index-color-names_002c-mixed-case-643"></a>These macros provide two basic kinds of color macros: ones for local
+color changes (a few words, a single symbol) and one for global color
+changes (the whole document). All the color names use a mixed case
+scheme to avoid conflicts with other macros. There are 68 predefined
+colors, with names taken primarily from the Crayola crayon box of 64
+colors, and one pair of macros for the user to set his own color pattern
+(see <a href="#User_002ddefinable-colors">User-definable colors</a>). You can browse the file
+`<samp><span class="samp">colordvi.tex</span></samp>' for a list of the predefined colors. The comments
+in this file also show a rough correspondence between the crayon names
+and Pantones.
+
+ <p>A local color command has the form
+
+<pre class="example"> \<var>ColorName</var>{this is the color <var>ColorName</var>}
+</pre>
+ <p><a name="index-g_t_005c_0040var_007bColorName_007d-644"></a>where <var>ColorName</var> is the name of a predefined color, e.g.,
+`<samp><span class="samp">Blue</span></samp>'. As shown, these macros take one argument, the text to
+print in the specified color. This can be used for nested color changes
+since it restores the original color state when it completes. For
+example:
+
+<pre class="example"> This text is normal but here we are \Red{switching to red,
+ \Blue{nesting blue}, recovering the red} and back to original.
+</pre>
+ <p class="noindent"><a name="index-color-nesting-level-645"></a>The color nesting level has no hard limit, but it is not advisable to
+nest too deeply lest you and the reader lose track of the color history.
+
+ <p>The global color command has the form
+
+<pre class="example"> \text<var>ColorName</var>
+</pre>
+ <p class="noindent"><a name="index-g_t_005ctext_0040var_007bColorName_007d-646"></a>These macros take no arguments and changes the default color from that
+point on to <var>ColorName</var>. This of course can be overridden globally
+by another such command or locally by local color commands. For example,
+expanding on the example above, we might have
+
+<pre class="example"> \textGreen
+ This text is green but here we are \Red{switching to red,
+ \Blue{nesting blue}, recovering the red} and back to
+ original green.
+ \textCyan
+ The text from here on will be cyan until
+ \Yellow{locally changed to yellow}. Now we are back to cyan.
+</pre>
+ <p>The color commands will even work in math mode and across math mode
+boundaries. This means that if you have a color before going into math
+mode, the mathematics will be set in that color as well. In alignment
+environments like <code>\halign</code>, `<samp><span class="samp">tabular</span></samp>' or `<samp><span class="samp">eqnarray</span></samp>',
+local color commands cannot extend beyond the alignment characters.
+
+ <p>Because local color commands respect only some environment and
+delimiter changes besides their own, care must be taken in setting
+their scope. It is best not to have them stretch too far.
+
+ <p>At the present time there are no macros for color environments in LaTeX
+which might have a larger range. This is primarily to keep the TeX
+and LaTeX use compatible.
+
+<div class="node">
+<p><hr>
+<a name="User-definable-colors"></a>
+<a name="User_002ddefinable-colors"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Color-subtleties">Color subtleties</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Color-macro-files">Color macro files</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Color">Color</a>
+
+</div>
+
+<h3 class="section">7.2 User-definable colors</h3>
+
+<p><a name="index-user_002ddefinable-colors-647"></a><a name="index-colors_002c-user_002ddefinable-648"></a>
+There are two ways for the user to specify colors not already defined.
+For local changes, there is the command <code>\Color</code> which takes two
+arguments. The first argument is four numbers between zero and one and
+specifies the intensity of cyan, magenta, yellow and black (CMYK) in
+that order. The second argument is the text that should appear in the
+given color. For example, suppose you want the words &ldquo;this color is
+pretty&rdquo; to appear in a color which is 50% cyan, 85% magenta, 40% yellow
+and 20% black. You would use the command
+
+<pre class="example"> \Color{.5 .85 .4 .2}{this color is pretty}
+</pre>
+ <p>For global color changes, there is a command <code>\textColor</code> which
+takes one argument, the CMYK quadruple of relative color intensities.
+For example, if you want the default color to be as above, then the
+command
+
+<pre class="example"> \textColor{.5 .85 .4 .2}
+ The text from now on will be this pretty color
+</pre>
+ <p class="noindent">will do the trick.
+
+ <p>Making a global color change in the midst of nested local colors is
+highly discouraged. Consequently, Dvips will give you warning message
+and do its best to recover by discarding the current color history.
+
+<div class="node">
+<p><hr>
+<a name="Color-subtleties"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Ted-Turner">Ted Turner</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#User_002ddefinable-colors">User-definable colors</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Color">Color</a>
+
+</div>
+
+<h3 class="section">7.3 Color subtleties</h3>
+
+<p><a name="index-color-subtleties-649"></a>
+Color macros are defined via <code>\special</code> keywords. As such, they
+are put in the `<samp><span class="samp">.dvi</span></samp>' file only as explicit message strings to the
+driver. The (unpleasant) result is that certain unprotected regions of
+the text can have unwanted color side effects. For example, if a color
+region is split by TeX across a page boundary, then the footers of
+the current page (e.g., the page number) and the headers of the next
+page can inherit that color. To avoid this effect globally, users
+should make sure that these special regions of the text are defined with
+their own local color commands. For example, to protect the
+header and footer in plain TeX, use
+
+<pre class="example"> \headline{\Black{My Header}}
+ \footline{\Black{\hss\tenrm\folio\hss}}
+</pre>
+ <p>This warning also applies to figures and other insertions, so be careful!
+
+ <p>Of course, in LaTeX, this is much more difficult to do because of the
+complexity of the macros that control these regions. This is
+unfortunate but inevitable, because TeX and LaTeX were
+not written with color in mind.
+
+ <p>Even when writing your own macros, much care must be taken. The macros
+that `colorize' a portion of the text work prefix the text work by
+outputting one <code>\special</code> command to turn the color on before the
+text, and outputting another <code>\special</code> command afterwards to
+restore the original color. It is often useful to ensure that TeX is
+in horizontal mode before the first special command is issued; this can
+be done by prefixing the color command with <code>\leavevmode</code>.
+
+<div class="node">
+<p><hr>
+<a name="Ted-Turner"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Color-device-configuration">Color device configuration</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Color-subtleties">Color subtleties</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Color">Color</a>
+
+</div>
+
+<h3 class="section">7.4 Printing in black/white after colorizing</h3>
+
+<p>If you have a TeX or LaTeX document written with color macros and
+you want to print it in black and white there are two options. On all
+(good) PostScript devices, printing a color file will print in
+corresponding gray levels. This is useful to get a rough idea of the
+colors without using expensive color printing devices. The second
+option is to replace the call to input <samp><span class="file">colordvi.tex</span></samp> with
+`<samp><span class="samp">blackdvi.tex</span></samp>' (and similarly for the `<samp><span class="samp">.sty</span></samp>' files). So in
+the above example, replacing the word `<samp><span class="samp">colordvi</span></samp>' with
+`<samp><span class="samp">blackdvi</span></samp>' suffices. <samp><span class="file">blackdvi.tex</span></samp> defines the color macros
+as no-ops, and so will produce normal black/white printing. By this
+simple mechanism, the user can switch to all black/white printing
+without having to ferret out the color commands. Also, some device
+drivers, particularly non-PostScript ones like screen previewers, will
+simply ignore the color commands and so print in black/white.
+Hopefully, in the future screen previewers for color displays will be
+compatible with some form of color support.
+
+<div class="node">
+<p><hr>
+<a name="Color-device-configuration"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Color-support-details">Color support details</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Ted-Turner">Ted Turner</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Color">Color</a>
+
+</div>
+
+<h3 class="section">7.5 Color device configuration</h3>
+
+<p><a name="index-color-configuration-650"></a><a name="index-configuration_002c-of-color-devices-651"></a>
+To configure Dvips for a particular color device you need to fine tune
+the color parameters to match your device's color rendition. To do this,
+you will need a Pantone chart for your device. The header file
+`<samp><span class="samp">color.lpro</span></samp>' shows a (rough) correspondence between the Crayola
+crayon names and the Pantone numbers and also defines default CMYK
+values for each of the colors. Note that these colors must be defined
+in CMYK terms and not RGB, as Dvips outputs PostScript color commands in
+CMYK. This header file also defines (if they are not known to the
+interpreter) the PostScript commands `<samp><span class="samp">setcmykcolor</span></samp>' and
+`<samp><span class="samp">currentcmykcolor</span></samp>' in terms of a RGB equivalent so if your device
+only understands RGB, there should be no problem.
+
+ <p><a name="index-Phaser-printer_002c-used-for-color-calibration-652"></a><a name="index-Tektronix-Phaser-printer_002c-used-for-color-calibration-653"></a>The parameters set in this file were determined by comparing the Pantone
+chart of a Tektronix Phaser printer with the actual Crayola Crayons.
+Because these were defined for a particular device, the actual color
+rendition on your device may be very different. There are two ways to
+adjust this. One is to use the PAntone chart for your device to rewrite
+`<samp><span class="samp">color.lpro</span></samp>' prior to compilation and installation. A better
+alternative, which supports multiple devices, is to add a header file
+option in the configuration file (see <a href="#Configuration-file-commands">Configuration file commands</a>)
+for each device that defines, in `<samp><span class="samp">userdict</span></samp>', the color parameters
+for those colors that need redefining.
+
+ <p>For example, if you need to change the parameters defining
+`<samp><span class="samp">Goldenrod</span></samp>' (approximately Pantone 109 on the Phaser) for your
+device `<samp><span class="samp">mycolordev</span></samp>', do the following. In the Pantone chart for
+your device, find the CMYK values for Pantone 109. Let's say they are
+`<samp><span class="samp">{\ 0 0.10 0.75 0.03 }</span></samp>'. Then create a header file named
+`<samp><span class="samp">mycolordev.pro</span></samp>' with the commands
+
+<pre class="example"> userdict begin
+ /Goldenrod { 0 0.10 0.75 0.03 setcmykcolor} bind def
+</pre>
+ <p class="noindent">Finally, in `<samp><span class="samp">config.mycolordev</span></samp>' add the line
+
+<pre class="example"> h mycolordev.pro
+</pre>
+ <p class="noindent">This will then define `<samp><span class="samp">Goldenrod</span></samp>' in your device's CMYK values in
+<samp><span class="file">userdict</span></samp> which is checked before defining it in <samp><span class="file">TeXdict</span></samp> by
+<samp><span class="file">color.pro</span></samp>. (On MS-DOS, you will have to call this file
+<samp><span class="file">mycolordev.cfg</span></samp>.)
+
+ <p>This mechanism, together with additions to <samp><span class="file">colordvi.tex</span></samp> and
+<samp><span class="file">blackdvi.tex</span></samp> (and the `<samp><span class="samp">.sty</span></samp>' files), can also be used to
+predefine other colors for your users.
+
+<div class="node">
+<p><hr>
+<a name="Color-support-details"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Color-device-configuration">Color device configuration</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Color">Color</a>
+
+</div>
+
+<h3 class="section">7.6 Color support details</h3>
+
+<p>To support color, Dvips recognizes a certain set of specials. These
+specials start with the keyword `<samp><span class="samp">color</span></samp>' or the keyword
+`<samp><span class="samp">background</span></samp>', followed by a color specification.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Color-specifications">Color specifications</a>
+<li><a accesskey="2" href="#Color-specials">Color specials</a>
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Color-specifications"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Color-specials">Color specials</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Color-support-details">Color support details</a>
+
+</div>
+
+<h4 class="subsection">7.6.1 Color specifications</h4>
+
+<p><a name="index-color-specifications-654"></a>
+What is a color specification? One of three things. First, it might be
+a PostScript procedure as defined in a PostScript header file. The
+<samp><span class="file">color.pro</span></samp> file defines 64 of these, including `<samp><span class="samp">Maroon</span></samp>'.
+This PostScript procedure must set the current color to be some value;
+in this case, `<samp><span class="samp">Maroon</span></samp>' is defined as `<samp><span class="samp">0 0.87 0.68 0.32
+setcmykcolor</span></samp>'.
+
+ <p>The second possibility is the name of a color model (initially, one of
+`<samp><span class="samp">rgb</span></samp>', `<samp><span class="samp">hsb</span></samp>', `<samp><span class="samp">cmyk</span></samp>', or `<samp><span class="samp">gray</span></samp>') followed by the
+appropriate number of parameters. When Dvips encounters such a macro,
+it sends out the parameters first, followed by the string created by
+prefixing `<samp><span class="samp">TeXcolor</span></samp>' to the color model. Thus, the color
+specification `<samp><span class="samp">rgb 0.3 0.4 0.5</span></samp>' would generate the PostScript code
+`<samp><span class="samp">0.3 0.4 0.5 TeXrgbcolor</span></samp>'. Note that the case of zero arguments is
+disallowed, as that is handled by the single keyword case
+(`<samp><span class="samp">Maroon</span></samp>') above, where no changes to the name are made before it
+is sent to the PostScript file.
+
+ <p>The third and final type of color specification is a double quote
+followed by any sequence of PostScript. The double quote is stripped
+from the output. For instance, the color specification
+`<samp><span class="samp">"AggiePattern setpattern</span></samp>' will set the `color' to the Aggie logo
+pattern (assuming such exists.)
+
+<div class="node">
+<p><hr>
+<a name="Color-specials"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Color-specifications">Color specifications</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Color-support-details">Color support details</a>
+
+</div>
+
+<h4 class="subsection">7.6.2 Color specials</h4>
+
+<p>We will describe `<samp><span class="samp">background</span></samp>' first, since it is the simplest. The
+`<samp><span class="samp">background</span></samp>' keyword must be followed by a color specification.
+That color specification is used as a fill color for the background.
+The last `<samp><span class="samp">background</span></samp>' special on a page is the one that gets
+issued, and it gets issued at the very beginning of the page, before any
+text or specials are sent. (This is possible because the prescan phase
+of Dvips notices all of the color specials so that the appropriate
+information can be written out during the second phase.)
+
+ <p>The `<samp><span class="samp">color</span></samp>' special itself has three forms.
+The first is just `<samp><span class="samp">color</span></samp>' followed by a color specification. In
+this case, the current global color is set to that color; the color stack
+must be empty when such a command is executed.
+
+ <p>The second form is `<samp><span class="samp">color push</span></samp>' followed by a color specification.
+This saves the current color on the color stack and sets the color to be
+that given by the color specification. This is the most common way to
+set a color.
+
+ <p>The final version of the `<samp><span class="samp">color</span></samp>' special is just `<samp><span class="samp">color pop</span></samp>',
+with no color specification; this says to pop the color last pushed on
+the color stack from the color stack and set the current color to be
+that color.
+
+ <p>Dvips correctly handles these color specials across pages, even when the
+pages are repeated or reversed.
+
+ <p>These color specials can be used for things such as patterns or screens
+as well as simple colors. However, note that in the PostScript, only
+one color specification can be active at a time. For instance, at the
+beginning of a page, only the bottommost entry on the color stack is
+sent; also, when a color is popped, all that is done is that the color
+specification from the previous stack entry is sent. No `<samp><span class="samp">gsave</span></samp>' or
+`<samp><span class="samp">grestore</span></samp>' is used. This means that you cannot easily mix usage of
+the `<samp><span class="samp">color</span></samp>' specials for screens and colors, just one or the other.
+This may be addressed in the future by adding support for different
+categories of color-like state.
+
+<div class="node">
+<p><hr>
+<a name="Index"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Color">Color</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="unnumbered">Index</h2>
+
+<ul class="index-cp" compact>
+<li><a href="#index-g_t_0021-_0040r_007bspecial-_0028literal-PS-header_0029_007d-427"><code>! </code><span class="roman">special (literal PS header)</span></a>: <a href="#Literal-headers">Literal headers</a></li>
+<li><a href="#index-g_t_0021-_0040r_007bstarting-output-filename_007d-176"><code>! </code><span class="roman">starting output filename</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_0022-_0040r_007bspecial-_0028literal-PostScript_0029_007d-420"><code>" </code><span class="roman">special (literal PostScript)</span></a>: <a href="#g_t_0022-special">&quot; special</a></li>
+<li><a href="#index-g_t_0025_0025BoundingBox-347"><code>%%BoundingBox</code></a>: <a href="#Bounding-box">Bounding box</a></li>
+<li><a href="#index-g_t_0025_0025Page_0040r_007b_002c-and-multi_002dpage-information_007d-437"><code>%%Page</code><span class="roman">, and multi-page information</span></a>: <a href="#PostScript-hooks">PostScript hooks</a></li>
+<li><a href="#index-g_t_0025_0025Page_0040r_007b_002c-not-generating_007d-168"><code>%%Page</code><span class="roman">, not generating</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_0025_0025Page_0040r_007b_002c-removing_007d-144"><code>%%Page</code><span class="roman">, removing</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_0025_0025Page_0040r_007b_002c-required-by-Ghostview_007d-45"><code>%%Page</code><span class="roman">, required by Ghostview</span></a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-g_t_0025_0025VMusage-417"><code>%%VMusage</code></a>: <a href="#Headers-and-memory-usage">Headers and memory usage</a></li>
+<li><a href="#index-g_t_0025_002aFont-389"><code>%*Font</code></a>: <a href="#Fonts-in-figures">Fonts in figures</a></li>
+<li><a href="#index-g_t_0028atend_0029_0040r_007b_002c-bounding-box-specification_007d-349"><code>(atend)</code><span class="roman">, bounding box specification</span></a>: <a href="#Bounding-box">Bounding box</a></li>
+<li><a href="#index-g_t_002b_0040var_007bpsmapfile_007d-295"><code>+</code><var>psmapfile</var></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-g_t_002d-83"><code>-</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002d-_0040r_007bas-output-filename_007d-175"><code>- </code><span class="roman">as output filename</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002d_002dhelp-86"><code>--help</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002d_002dhelp-81"><code>--help</code></a>: <a href="#Option-summary">Option summary</a></li>
+<li><a href="#index-g_t_002d_002dversion-87"><code>--version</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dA-90"><code>-A</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002da-88"><code>-a</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dB-96"><code>-B</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002db-_0040var_007bnum_007d-92"><code>-b </code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dC-_0040var_007bnum_007d-103"><code>-C </code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dc-_0040var_007bnum_007d-99"><code>-c </code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dc-_0040var_007bratio_007d-599"><code>-c </code><var>ratio</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-g_t_002dD-_0040var_007bnum_007d-108"><code>-D </code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dd-_0040var_007bnum_007d-106"><code>-d </code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dE-114"><code>-E</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002de-_0040var_007bnum_007d-110"><code>-e </code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002de-_0040var_007bratio_007d-601"><code>-e </code><var>ratio</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-g_t_002dF-123"><code>-F</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002df-118"><code>-f</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dG-128"><code>-G</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dh-_0040var_007bname_007d-131"><code>-h </code><var>name</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002di-134"><code>-i</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dj-_0040r_007bfor-partial-font-downloading_007d-138"><code>-j </code><span class="roman">for partial font downloading</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dK-142"><code>-K</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dk-_0040r_007bfor-cropmarks_007d-139"><code>-k </code><span class="roman">for cropmarks</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dl-_005b_003d_005d_0040var_007bnum_007d-145"><code>-l [=]</code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dM-156"><code>-M</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dm-150"><code>-m</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dmode-153"><code>-mode</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dmode-_0040var_007bmode_007d-152"><code>-mode </code><var>mode</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dN-165"><code>-N</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dn-_0040var_007bnum_007d-162"><code>-n </code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dnoomega-169"><code>-noomega</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dO-604"><code>-O</code></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-g_t_002do-_0040var_007bname_007d-171"><code>-o </code><var>name</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dO-_0040var_007bx_002doffset_007d_002c_0040var_007by_002doffset_007d-180"><code>-O </code><var>x-offset</var><code>,</code><var>y-offset</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dp-_005b_003d_005d_0040var_007bnum_007d-185"><code>-p [=]</code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dP-_0040var_007bprinter_007d-193"><code>-P </code><var>printer</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dp-_0040var_007bps_002denc_007d-606"><code>-p </code><var>ps-enc</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-g_t_002dp-_0040var_007bps_002denc_007d-558"><code>-p </code><var>ps-enc</var></a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li>
+<li><a href="#index-g_t_002dpp-_0040var_007bfirst_007d_002d_0040var_007blast_007d-190"><code>-pp </code><var>first</var><code>-</code><var>last</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dpp-_0040var_007brange_007d-192"><code>-pp </code><var>range</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dP_0040var_007bprinter_007d_0040r_007b_002c-and-config-file-searching_007d-260"><code>-P</code><var>printer</var><span class="roman">, and config file searching</span></a>: <a href="#Configuration-file-searching">Configuration file searching</a></li>
+<li><a href="#index-g_t_002dq-195"><code>-q</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dR-201"><code>-R</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dr-199"><code>-r</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002ds-205"><code>-s</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dS-_0040var_007bnum_007d-207"><code>-S </code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002ds-_0040var_007bslant_007d-607"><code>-s </code><var>slant</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-g_t_002dT-_0040var_007benc_002dfile_007d-563"><code>-T </code><var>enc-file</var></a>: <a href="#Changing-both-encodings">Changing both encodings</a></li>
+<li><a href="#index-g_t_002dT-_0040var_007bhsize_007d_002c_0040var_007bvsize_007d-218"><code>-T </code><var>hsize</var><code>,</code><var>vsize</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dt-_0040var_007bpapertype_007d-208"><code>-t </code><var>papertype</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dT-_0040var_007bps_002dtex_002denc_007d-610"><code>-T </code><var>ps-tex-enc</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-g_t_002dt-_0040var_007btex_002denc_007d-609"><code>-t </code><var>tex-enc</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-g_t_002dt-_0040var_007btex_002denc_007d-554"><code>-t </code><var>tex-enc</var></a>: <a href="#Changing-TeX-encodings">Changing TeX encodings</a></li>
+<li><a href="#index-g_t_002du-611"><code>-u</code></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-g_t_002dU-222"><code>-U</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002du-_0040var_007bpsmapfile_007d-219"><code>-u </code><var>psmapfile</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dV-225"><code>-V</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dv-224"><code>-v</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dV-_0040var_007bvpl_002dfile_007d-613"><code>-V </code><var>vpl-file</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-g_t_002dv-_0040var_007bvpl_002dfile_007d-612"><code>-v </code><var>vpl-file</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-g_t_002dX-_0040var_007bnum_007d-231"><code>-X </code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dx-_0040var_007bnum_007d-229"><code>-x </code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dY-_0040var_007bnum_007d-234"><code>-Y </code><var>num</var></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dz-444"><code>-z</code></a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-g_t_002dZ-_0040r_007bfor-compressing-bitmap-fonts_007d-241"><code>-Z </code><span class="roman">for compressing bitmap fonts</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002dz-_0040r_007bfor-recognizing-hyperdvi_007d-236"><code>-z </code><span class="roman">for recognizing hyperdvi</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002eafm-_0040r_007bAdobe-metric-files_007d-486"><code>.afm </code><span class="roman">Adobe metric files</span></a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-g_t_002edvipsrc_0040r_007b_002c-searched-for_007d-259"><code>.dvipsrc</code><span class="roman">, searched for</span></a>: <a href="#Configuration-file-searching">Configuration file searching</a></li>
+<li><a href="#index-g_t_002eenc-_0040r_007bextension-for-encoding-vectors_007d-633"><code>.enc </code><span class="roman">extension for encoding vectors</span></a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-g_t_002elpro-_0040r_007blong-prologue-files_007d-394"><code>.lpro </code><span class="roman">long prologue files</span></a>: <a href="#Header-files">Header files</a></li>
+<li><a href="#index-g_t_002emf-_0040r_007bMetafont-source-files_007d-505"><code>.mf </code><span class="roman">Metafont source files</span></a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-g_t_002e_0040var_007bnnn_007dpk-_0040r_007bpacked-font-bitmaps_007d-508"><code>.</code><var>nnn</var><code>pk </code><span class="roman">packed font bitmaps</span></a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-g_t_002epfa-_0040r_007bextension-required-for-partial-downloading_007d-634"><code>.pfa </code><span class="roman">extension required for partial downloading</span></a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-g_t_002epfa-_0040r_007bprinter-font-ascii-files_007d-502"><code>.pfa </code><span class="roman">printer font ascii files</span></a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-g_t_002epfb-_0040r_007bextension-required-for-partial-downloading_007d-635"><code>.pfb </code><span class="roman">extension required for partial downloading</span></a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-g_t_002epfb-_0040r_007bprinter-font-binary-files_007d-503"><code>.pfb </code><span class="roman">printer font binary files</span></a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-g_t_002epfm-_0040r_007bprinter-font-metric-files_007d-494"><code>.pfm </code><span class="roman">printer font metric files</span></a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-g_t_002epl-_0040r_007bproperty-list-files_007d-492"><code>.pl </code><span class="roman">property list files</span></a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-g_t_002epro-_0040r_007bprologue-files_007d-393"><code>.pro </code><span class="roman">prologue files</span></a>: <a href="#Header-files">Header files</a></li>
+<li><a href="#index-g_t_002etfm-_0040r_007b_0040TeX_007b_007d-font-metric-files_007d-488"><code>.tfm </code><span class="roman">TeX font metric files</span></a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-g_t_002f_0023copies-93"><code>/#copies</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_002fmagscale-374"><code>/magscale</code></a>: <a href="#EPSF-scaling">EPSF scaling</a></li>
+<li><a href="#index-g_t612-792-_0040r_007bbounding-box-size_007d-352"><code>612 792 </code><span class="roman">bounding box size</span></a>: <a href="#Bounding-box">Bounding box</a></li>
+<li><a href="#index-g_t8r-_0040r_007bencoding_002c-and-extra-characters_007d-562"><code>8r </code><span class="roman">encoding, and extra characters</span></a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li>
+<li><a href="#index-g_t8r-font-encoding-630">8r font encoding</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-g_t8r_002eenc-523"><code>8r.enc</code></a>: <a href="#Encodings">Encodings</a></li>
+<li><a href="#index-g_t_003c-_0040r_007bfont-downloading_007d-618"><code>&lt; </code><span class="roman">font downloading</span></a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-g_t_003c_003c-_0040r_007bwhole-font-downloading_007d-624"><code>&lt;&lt; </code><span class="roman">whole font downloading</span></a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-g_t_003c_005b-_0040r_007bencoding-vector-downloading_007d-632"><code>&lt;[ </code><span class="roman">encoding vector downloading</span></a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-g_t_003d_003a-_0040r_007bligature-operation_007d-582"><code>=: </code><span class="roman">ligature operation</span></a>: <a href="#Encoding-file-format">Encoding file format</a></li>
+<li><a href="#index-g_t_0040_0040-_0040r_007bpaper-size-config-command_007d-266"><code>@ </code><span class="roman">paper size config command</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-g_t_005c_002e-572"><code>\.</code></a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li>
+<li><a href="#index-g_t_005cAA-574"><code>\AA</code></a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li>
+<li><a href="#index-g_t_005c_0040var_007bColorName_007d-644"><code>\</code><var>ColorName</var></a>: <a href="#Color-macro-files">Color macro files</a></li>
+<li><a href="#index-g_t_005cdot-573"><code>\dot</code></a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li>
+<li><a href="#index-g_t_005cepsffile-_0040r_007bmacro_007d-362"><code>\epsffile </code><span class="roman">macro</span></a>: <a href="#EPSF-macros">EPSF macros</a></li>
+<li><a href="#index-g_t_005cepsfsize-370"><code>\epsfsize</code></a>: <a href="#EPSF-scaling">EPSF scaling</a></li>
+<li><a href="#index-g_t_005cepsfverbosetrue-364"><code>\epsfverbosetrue</code></a>: <a href="#EPSF-macros">EPSF macros</a></li>
+<li><a href="#index-g_t_005cepsfxsize-368"><code>\epsfxsize</code></a>: <a href="#EPSF-scaling">EPSF scaling</a></li>
+<li><a href="#index-g_t_005cepsfysize-369"><code>\epsfysize</code></a>: <a href="#EPSF-scaling">EPSF scaling</a></li>
+<li><a href="#index-g_t_005cH-571"><code>\H</code></a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li>
+<li><a href="#index-g_t_005cincludegraphics-_0040LaTeX_007b_007d-macro-353">\includegraphics LaTeX macro</a>: <a href="#g_t_005cincludegraphics">\includegraphics</a></li>
+<li><a href="#index-g_t_005cleavevmode-360"><code>\leavevmode</code></a>: <a href="#EPSF-macros">EPSF macros</a></li>
+<li><a href="#index-g_t_005cmagnification-373"><code>\magnification</code></a>: <a href="#EPSF-scaling">EPSF scaling</a></li>
+<li><a href="#index-g_t_005crotninety-440"><code>\rotninety</code></a>: <a href="#Literal-examples">Literal examples</a></li>
+<li><a href="#index-g_t_005ctext_0040var_007bColorName_007d-646"><code>\text</code><var>ColorName</var></a>: <a href="#Color-macro-files">Color macro files</a></li>
+<li><a href="#index-a-_0040r_007bconfig-command-_0028memory-conservation_0029_007d-267"><code>a </code><span class="roman">config command (memory conservation)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-A-ring_002c-Scandinavian-letter-570">A ring, Scandinavian letter</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li>
+<li><a href="#index-a3-papertype-215">a3 papertype</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-a4-paper-size_002c-as-default-335">a4 paper size, as default</a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li>
+<li><a href="#index-a4-papertype-214">a4 papertype</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-absolute-filenames_002c-disabling-204">absolute filenames, disabling</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-absolute-page-number_002c-and-_0040samp_007b_002dl_007d-149">absolute page number, and `<samp><span class="samp">-l</span></samp>'</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-absolute-page-number_002c-and-_0040samp_007b_002dp_007d-189">absolute page number, and `<samp><span class="samp">-p</span></samp>'</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-accents_002c-in-wrong-position-566">accents, in wrong position</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li>
+<li><a href="#index-accents_002c-wrong-598">accents, wrong</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-accuracy-in-positioning-112">accuracy in positioning</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-Adobe-fonts-17">Adobe fonts</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-Adobe-fonts_002c-installing-22">Adobe fonts, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-afm-files-485">afm files</a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-afm2tfm-546"><code>afm2tfm</code></a>: <a href="#Invoking-afm2tfm">Invoking afm2tfm</a></li>
+<li><a href="#index-afm2tfm-542"><code>afm2tfm</code></a>: <a href="#Making-a-font-available">Making a font available</a></li>
+<li><a href="#index-afm2tfm-options-597">afm2tfm options</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-after-header_002c-inserting-code-403">after header, inserting code</a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li>
+<li><a href="#index-Aladdin-Ghostscript-38">Aladdin Ghostscript</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-Anderson_002c-Laurie-476">Anderson, Laurie</a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-arcs-497">arcs</a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-ASCII-character-codes_002c-used-by-PostScript-531">ASCII character codes, used by PostScript</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li>
+<li><a href="#index-atend_0040r_007b_002c-bounding-box-specification_007d-348"><code>atend</code><span class="roman">, bounding box specification</span></a>: <a href="#Bounding-box">Bounding box</a></li>
+<li><a href="#index-b-_0040r_007bconfig-command-_0028_0023copies_0029_007d-268"><code>b </code><span class="roman">config command (#copies)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-base-479"><code>base</code></a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-base-encoding_002c-recommended-631">base encoding, recommended</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-base-fonts-514">base fonts</a>: <a href="#Virtual-fonts">Virtual fonts</a></li>
+<li><a href="#index-bbfig-350"><code>bbfig</code></a>: <a href="#Bounding-box">Bounding box</a></li>
+<li><a href="#index-before-header_002c-inserting-code-402">before header, inserting code</a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li>
+<li><a href="#index-Bhattacharya_002c-Tanmoy-452">Bhattacharya, Tanmoy</a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-big-points-344">big points</a>: <a href="#Bounding-box">Bounding box</a></li>
+<li><a href="#index-Bigelow-_0026-Holmes-fonts-18">Bigelow &amp; Holmes fonts</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-binary-files_002c-not-supported-76">binary files, not supported</a>: <a href="#Including-graphics-fails">Including graphics fails</a></li>
+<li><a href="#index-bitmap-fonts-504">bitmap fonts</a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-Bitstream-fonts_002c-installing-23">Bitstream fonts, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-g_t_0040t_007bbop-undefined_007d-error-66"><tt>bop undefined</tt> error</a>: <a href="#Printer-errors">Printer errors</a></li>
+<li><a href="#index-bop_002dhook-430"><code>bop-hook</code></a>: <a href="#PostScript-hooks">PostScript hooks</a></li>
+<li><a href="#index-bop_002dhook-375"><code>bop-hook</code></a>: <a href="#EPSF-scaling">EPSF scaling</a></li>
+<li><a href="#index-bop_002dhook_0040r_007b_002c-and-offset-pages_007d-184"><code>bop-hook</code><span class="roman">, and offset pages</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-boundary-character-579">boundary character</a>: <a href="#Encoding-file-format">Encoding file format</a></li>
+<li><a href="#index-bounding-box_002c-comment-for-343">bounding box, comment for</a>: <a href="#Bounding-box">Bounding box</a></li>
+<li><a href="#index-bounding-box_002c-defined-346">bounding box, defined</a>: <a href="#Bounding-box">Bounding box</a></li>
+<li><a href="#index-bounding-box_002c-determining-351">bounding box, determining</a>: <a href="#Bounding-box">Bounding box</a></li>
+<li><a href="#index-bounding-box_002c-finding-tight-117">bounding box, finding tight</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-bounding-box_002c-inaccurate-377">bounding box, inaccurate</a>: <a href="#EPSF-clipping">EPSF clipping</a></li>
+<li><a href="#index-bounding-box_002c-supplying-to-_0040TeX_007b_007d-361">bounding box, supplying to TeX</a>: <a href="#EPSF-macros">EPSF macros</a></li>
+<li><a href="#index-bounding-box_002c-supplying-to-_0040TeX_007b_007d-355">bounding box, supplying to TeX</a>: <a href="#g_t_005cincludegraphics">\includegraphics</a></li>
+<li><a href="#index-changing-PostScript-encodings-556">changing PostScript encodings</a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li>
+<li><a href="#index-changing-_0040TeX_007b_007d-encodings-552">changing TeX encodings</a>: <a href="#Changing-TeX-encodings">Changing TeX encodings</a></li>
+<li><a href="#index-character-definitions-in-PostScript-539">character definitions in PostScript</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li>
+<li><a href="#index-character-lookup-procedure-in-PostScript-529">character lookup procedure in PostScript</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li>
+<li><a href="#index-CharStrings-_0040r_007bType-1-dictionary_007d-536"><code>CharStrings </code><span class="roman">Type 1 dictionary</span></a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li>
+<li><a href="#index-clipping-of-EPSF-376">clipping of EPSF</a>: <a href="#EPSF-clipping">EPSF clipping</a></li>
+<li><a href="#index-CODINGSCHEME-575"><code>CODINGSCHEME</code></a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li>
+<li><a href="#index-collated-copies-105">collated copies</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-color-637">color</a>: <a href="#Color">Color</a></li>
+<li><a href="#index-color-configuration-650">color configuration</a>: <a href="#Color-device-configuration">Color device configuration</a></li>
+<li><a href="#index-color-macros-640">color macros</a>: <a href="#Color-macro-files">Color macro files</a></li>
+<li><a href="#index-color-names_002c-mixed-case-643">color names, mixed case</a>: <a href="#Color-macro-files">Color macro files</a></li>
+<li><a href="#index-color-nesting-level-645">color nesting level</a>: <a href="#Color-macro-files">Color macro files</a></li>
+<li><a href="#index-color-separations-95">color separations</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-color-specifications-654">color specifications</a>: <a href="#Color-specifications">Color specifications</a></li>
+<li><a href="#index-color-subtleties-649">color subtleties</a>: <a href="#Color-subtleties">Color subtleties</a></li>
+<li><a href="#index-colors_002c-user_002ddefinable-648">colors, user-definable</a>: <a href="#User_002ddefinable-colors">User-definable colors</a></li>
+<li><a href="#index-command-line_002c-including-headers-from-407">command line, including headers from</a>: <a href="#Including-headers-from-the-command-line">Including headers from the command line</a></li>
+<li><a href="#index-command_002dline-options-77">command-line options</a>: <a href="#Invoking-Dvips">Invoking Dvips</a></li>
+<li><a href="#index-comments_002c-in-configuration-files-264">comments, in configuration files</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-comments_002c-in-encoding-files-577">comments, in encoding files</a>: <a href="#Encoding-file-format">Encoding file format</a></li>
+<li><a href="#index-comments_002c-removing-included-143">comments, removing included</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-compilation-3">compilation</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-compressed-PostScript-384">compressed PostScript</a>: <a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></li>
+<li><a href="#index-compressing-bitmap-fonts-242">compressing bitmap fonts</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-Computer-Modern-in-PostScript-457">Computer Modern in PostScript</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li>
+<li><a href="#index-Computer-Modern_002c-encoding-of-518">Computer Modern, encoding of</a>: <a href="#Encodings">Encodings</a></li>
+<li><a href="#index-condensed-fonts-603">condensed fonts</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-config_002eproto-10"><code>config.proto</code></a>: <a href="#config_002eps-installation">config.ps installation</a></li>
+<li><a href="#index-config_002eps-194"><code>config.ps</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-config_002eps-_0040r_007binstallation_007d-5"><code>config.ps </code><span class="roman">installation</span></a>: <a href="#config_002eps-installation">config.ps installation</a></li>
+<li><a href="#index-config_002eps_0040r_007b_002c-searched-for_007d-258"><code>config.ps</code><span class="roman">, searched for</span></a>: <a href="#Configuration-file-searching">Configuration file searching</a></li>
+<li><a href="#index-configuration-file-options-262">configuration file options</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-configuration-file-paper-size-command-333">configuration file paper size command</a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li>
+<li><a href="#index-configuration-file-path-253">configuration file path</a>: <a href="#Environment-variables">Environment variables</a></li>
+<li><a href="#index-configuration-file-searching-256">configuration file searching</a>: <a href="#Configuration-file-searching">Configuration file searching</a></li>
+<li><a href="#index-configuration-files-255">configuration files</a>: <a href="#Config-files">Config files</a></li>
+<li><a href="#index-configuration-files_002c-creating-9">configuration files, creating</a>: <a href="#config_002eps-installation">config.ps installation</a></li>
+<li><a href="#index-configuration-files_002c-prototype-13">configuration files, prototype</a>: <a href="#config_002eps-installation">config.ps installation</a></li>
+<li><a href="#index-configuration_002c-of-color-devices-651">configuration, of color devices</a>: <a href="#Color-device-configuration">Color device configuration</a></li>
+<li><a href="#index-configuration_002c-of-Dvips-2">configuration, of Dvips</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-continuation-lines_002c-not-supported-265">continuation lines, not supported</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-control_002dD-125">control-D</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-copies_002c-collated-104">copies, collated</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-copies_002c-duplicated-page-bodies-94">copies, duplicated page bodies</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-copies_002c-uncollated-101">copies, uncollated</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-Crayola-crayon-box-641">Crayola crayon box</a>: <a href="#Color-macro-files">Color macro files</a></li>
+<li><a href="#index-crop_002epro-141"><code>crop.pro</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-cropmarks-140">cropmarks</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-current-font_002c-in-PostScript-532">current font, in PostScript</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li>
+<li><a href="#index-D-_0040r_007bconfig-command-_0028dpi_0029_007d-269"><code>D </code><span class="roman">config command (dpi)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-dated-output-435">dated output</a>: <a href="#PostScript-hooks">PostScript hooks</a></li>
+<li><a href="#index-datestamp_002c-in-output-273">datestamp, in output</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-debugging-107">debugging</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-debugging-48">debugging</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li>
+<li><a href="#index-debugging-options-49">debugging options</a>: <a href="#Debug-options">Debug options</a></li>
+<li><a href="#index-default-resolutions-306">default resolutions</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-default_005ftexsizes-_0040r_007bMake-variable_007d-310"><code>default_texsizes </code><span class="roman">Make variable</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-Deutsch_002c-Peter-33">Deutsch, Peter</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-device-dependency_002c-and-virtual-fonts-321">device dependency, and virtual fonts</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-dictionary_002c-_0040code_007bCharStrings_007d-537">dictionary, <code>CharStrings</code></a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li>
+<li><a href="#index-dictionary_002c-PostScript-language-533">dictionary, PostScript language</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li>
+<li><a href="#index-dictionary_002c-_0040code_007bSDict_007d-428">dictionary, <code>SDict</code></a>: <a href="#Literal-headers">Literal headers</a></li>
+<li><a href="#index-dictionary_002c-_0040code_007buserdict_007d-396">dictionary, <code>userdict</code></a>: <a href="#Header-files">Header files</a></li>
+<li><a href="#index-distillation_002c-and-_0040samp_007b_002dz_007d-238">distillation, and `<samp><span class="samp">-z</span></samp>'</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-distiller_002c-for-PDF-files-447">distiller, for PDF files</a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-dot-accent-568">dot accent</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li>
+<li><a href="#index-double_002dsided-printing-98">double-sided printing</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-downloading-fonts-partially-620">downloading fonts partially</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-downloading-PostScript-fonts-616">downloading PostScript fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-Doyle_002c-Mark-451">Doyle, Mark</a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-draft-copies-434">draft copies</a>: <a href="#PostScript-hooks">PostScript hooks</a></li>
+<li><a href="#index-dual-paper-trays-337">dual paper trays</a>: <a href="#Paper-trays">Paper trays</a></li>
+<li><a href="#index-duplex-printers-409">duplex printers</a>: <a href="#Including-headers-from-the-command-line">Including headers from the command line</a></li>
+<li><a href="#index-DVI-magnification-371">DVI magnification</a>: <a href="#EPSF-scaling">EPSF scaling</a></li>
+<li><a href="#index-dvihps_0040r_007b_002c-hyperdvi-to-PostScript_007d-455"><code>dvihps</code><span class="roman">, hyperdvi to PostScript</span></a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-Dvips-configuration-file-options-263">Dvips configuration file options</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-dvips_002eenc-522"><code>dvips.enc</code></a>: <a href="#Encodings">Encodings</a></li>
+<li><a href="#index-DVIPSFONTS-244"><code>DVIPSFONTS</code></a>: <a href="#Environment-variables">Environment variables</a></li>
+<li><a href="#index-DVIPSHEADERS-245"><code>DVIPSHEADERS</code></a>: <a href="#Environment-variables">Environment variables</a></li>
+<li><a href="#index-DVIPSHEADERS_0040r_007b_002c-overrides_007d-H-280"><code>DVIPSHEADERS</code><span class="roman">, overrides</span><code> H</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-DVIPSMAKEPK-246"><code>DVIPSMAKEPK</code></a>: <a href="#Environment-variables">Environment variables</a></li>
+<li><a href="#index-DVIPSRC-248"><code>DVIPSRC</code></a>: <a href="#Environment-variables">Environment variables</a></li>
+<li><a href="#index-DVIPSSIZES-249"><code>DVIPSSIZES</code></a>: <a href="#Environment-variables">Environment variables</a></li>
+<li><a href="#index-DVIPSSIZES_0040r_007b_002c-overrides_007d-R-308"><code>DVIPSSIZES</code><span class="roman">, overrides</span><code> R</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-dynamic-creation-of-graphics-383">dynamic creation of graphics</a>: <a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></li>
+<li><a href="#index-e-_0040r_007bconfig-command-_0028maxdrift_0029_007d-270"><code>e </code><span class="roman">config command (maxdrift)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-E-_0040r_007bconfig-command-_0028shell-escape_0029_007d-271"><code>E </code><span class="roman">config command (shell escape)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-efficiency_002c-and-fonts-545">efficiency, and fonts</a>: <a href="#Making-a-font-available">Making a font available</a></li>
+<li><a href="#index-ehandler_002eps-54"><code>ehandler.ps</code></a>: <a href="#No-output">No output</a></li>
+<li><a href="#index-embedding-Type-1-fonts-460">embedding Type 1 fonts</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li>
+<li><a href="#index-encoding-changes-550">encoding changes</a>: <a href="#Changing-font-encodings">Changing font encodings</a></li>
+<li><a href="#index-encoding-file-format-576">encoding file format</a>: <a href="#Encoding-file-format">Encoding file format</a></li>
+<li><a href="#index-encoding-files-520">encoding files</a>: <a href="#Encodings">Encodings</a></li>
+<li><a href="#index-Encoding-_0040r_007bType-1-dictionary_007d-535"><code>Encoding </code><span class="roman">Type 1 dictionary</span></a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li>
+<li><a href="#index-encoding-vectors_002c-defined-521">encoding vectors, defined</a>: <a href="#Encodings">Encodings</a></li>
+<li><a href="#index-encoding-vectors_002c-in-Type-1-fonts-534">encoding vectors, in Type 1 fonts</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li>
+<li><a href="#index-encodings-517">encodings</a>: <a href="#Encodings">Encodings</a></li>
+<li><a href="#index-end_002dhook-433"><code>end-hook</code></a>: <a href="#PostScript-hooks">PostScript hooks</a></li>
+<li><a href="#index-environment-variables-243">environment variables</a>: <a href="#Environment-variables">Environment variables</a></li>
+<li><a href="#index-EOF-124">EOF</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-eop_002dhook-431"><code>eop-hook</code></a>: <a href="#PostScript-hooks">PostScript hooks</a></li>
+<li><a href="#index-EPS_002c-and-Ghostview-43">EPS, and Ghostview</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-EPSF-macros-356">EPSF macros</a>: <a href="#EPSF-macros">EPSF macros</a></li>
+<li><a href="#index-EPSF_002c-generating-115">EPSF, generating</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-epsf_002esty-359"><code>epsf.sty</code></a>: <a href="#EPSF-macros">EPSF macros</a></li>
+<li><a href="#index-epsf_002etex-358"><code>epsf.tex</code></a>: <a href="#EPSF-macros">EPSF macros</a></li>
+<li><a href="#index-Epson-printers-34">Epson printers</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-error-messages-from-printer-64">error messages from printer</a>: <a href="#Printer-errors">Printer errors</a></li>
+<li><a href="#index-even-pages-only-97">even pages only</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-examples-of-literal-PostScript-439">examples of literal PostScript</a>: <a href="#Literal-examples">Literal examples</a></li>
+<li><a href="#index-expanded-fonts-626">expanded fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-expanded-fonts-602">expanded fonts</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-expanded-fonts-588">expanded fonts</a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-expansion_002c-of-virtual-fonts-515">expansion, of virtual fonts</a>: <a href="#Virtual-fonts">Virtual fonts</a></li>
+<li><a href="#index-extended-URL-469">extended URL</a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-ExtendFont-590"><code>ExtendFont</code></a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-extra-characters_002c-accessing-561">extra characters, accessing</a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li>
+<li><a href="#index-F-_0040r_007bconfig-command-_0028filter_0029_007d-276"><code>F </code><span class="roman">config command (filter)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-f-_0040r_007bconfig-command-_0028filter_0029_007d-275"><code>f </code><span class="roman">config command (filter)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-failure_002c-and-printer-errors-65">failure, and printer errors</a>: <a href="#Printer-errors">Printer errors</a></li>
+<li><a href="#index-failure_002c-of-long-documents-71">failure, of long documents</a>: <a href="#Long-documents-fail">Long documents fail</a></li>
+<li><a href="#index-failure_002c-to-include-graphics-74">failure, to include graphics</a>: <a href="#Including-graphics-fails">Including graphics fails</a></li>
+<li><a href="#index-failure_002c-to-print-at-all-53">failure, to print at all</a>: <a href="#No-output">No output</a></li>
+<li><a href="#index-fallback-resolutions-305">fallback resolutions</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-figures-and-fonts-387">figures and fonts</a>: <a href="#Fonts-in-figures">Fonts in figures</a></li>
+<li><a href="#index-figures_002c-natural-size-363">figures, natural size</a>: <a href="#EPSF-macros">EPSF macros</a></li>
+<li><a href="#index-figures_002c-scaling-367">figures, scaling</a>: <a href="#EPSF-scaling">EPSF scaling</a></li>
+<li><a href="#index-filter_002c-running-as-a-119">filter, running as a</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-first-page-printed-186">first page printed</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-font-concepts-481">font concepts</a>: <a href="#Font-concepts">Font concepts</a></li>
+<li><a href="#index-font-generation_002c-avoiding-157">font generation, avoiding</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-fontinst-547"><code>fontinst</code></a>: <a href="#Invoking-afm2tfm">Invoking afm2tfm</a></li>
+<li><a href="#index-fonts_002c-as-header-files-401">fonts, as header files</a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li>
+<li><a href="#index-fonts_002c-changing-encoding-of-551">fonts, changing encoding of</a>: <a href="#Changing-font-encodings">Changing font encodings</a></li>
+<li><a href="#index-fonts_002c-downloading-617">fonts, downloading</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-fonts_002c-expanded-589">fonts, expanded</a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-fonts_002c-in-PostScript-figures-388">fonts, in PostScript figures</a>: <a href="#Fonts-in-figures">Fonts in figures</a></li>
+<li><a href="#index-fonts_002c-installation-of-PostScript-15">fonts, installation of PostScript</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-fonts_002c-installing-541">fonts, installing</a>: <a href="#Making-a-font-available">Making a font available</a></li>
+<li><a href="#index-fonts_002c-outlined-595">fonts, outlined</a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-fonts_002c-slanted-585">fonts, slanted</a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-fonts_002c-small-caps-592">fonts, small caps</a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-fonts_002c-system-PostScript-27">fonts, system PostScript</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-gf-files-509">gf files</a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-gftopk-510"><code>gftopk</code></a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-Ghostscript-installation-31">Ghostscript installation</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-ghostview-41"><code>ghostview</code></a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-Ghostview_002c-and-no-_0040samp_007bN_007d-42">Ghostview, and no `<samp><span class="samp">N</span></samp>'</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-glyph-files-495">glyph files</a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-GLYPHFONTS_0040r_007b_002c-overrides_007d-P-299"><code>GLYPHFONTS</code><span class="roman">, overrides</span><code> P</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-GNU-Ghostscript-39">GNU Ghostscript</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-gnuplot-386"><code>gnuplot</code></a>: <a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></li>
+<li><a href="#index-graphics-inclusion-fails-73">graphics inclusion fails</a>: <a href="#Including-graphics-fails">Including graphics fails</a></li>
+<li><a href="#index-gs-_0040r_007binstallation_007d-32"><code>gs </code><span class="roman">installation</span></a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-gsave_0040r_007b_002f_007dgrestore_0040r_007b_002c-and-literal-PS_007d-441"><code>gsave</code><span class="roman">/</span><code>grestore</code><span class="roman">, and literal PS</span></a>: <a href="#Literal-examples">Literal examples</a></li>
+<li><a href="#index-gsftopk-227"><code>gsftopk</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-h-_0040r_007bheader-downloading-config-command_007d-277"><code>h </code><span class="roman">header downloading config command</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-H-_0040r_007bheader-path-config-command_007d-278"><code>H </code><span class="roman">header path config command</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-Hafner_002c-Jim-638">Hafner, Jim</a>: <a href="#Color">Color</a></li>
+<li><a href="#index-header-file_002c-downloading-132">header file, downloading</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-header-files_002c-defined-390">header files, defined</a>: <a href="#Header-files">Header files</a></li>
+<li><a href="#index-header-path_002c-defining-279">header path, defining</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-header_003d_0040var_007bfile_007d-_005cspecial-398"><code>header=</code><var>file</var><code> \special</code></a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li>
+<li><a href="#index-headers-and-memory-usage-412">headers and memory usage</a>: <a href="#Headers-and-memory-usage">Headers and memory usage</a></li>
+<li><a href="#index-headers_002c-including-from-the-command-line-408">headers, including from the command line</a>: <a href="#Including-headers-from-the-command-line">Including headers from the command line</a></li>
+<li><a href="#index-headers_002c-including-in-_0040TeX_007b_007d-400">headers, including in TeX</a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li>
+<li><a href="#index-hints-538">hints</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li>
+<li><a href="#index-HP-printers-and-Type-1-fonts-30">HP printers and Type 1 fonts</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-HP4Si-printer-and-paper-trays-339">HP4Si printer and paper trays</a>: <a href="#Paper-trays">Paper trays</a></li>
+<li><a href="#index-href-473"><code>href</code></a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-html-_0040r_007bspecials_007d-445"><code>html </code><span class="roman">specials</span></a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-html-_0040r_007bspecials_002c-and-_0040samp_007b_002dz_007d_007d-240"><code>html </code><span class="roman">specials, and `<samp>-z</samp>'</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_0040code_007bhttp_003a_002f_002fwww_002ewin_002etue_002enl_002f_007edickie_002fidvi_007d-449"><code>http://www.win.tue.nl/~dickie/idvi</code></a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-g_t_0040code_007bhttp_003a_002f_002fxxx_002elanl_002egov_002fhypertex_007d-450"><code>http://xxx.lanl.gov/hypertex</code></a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-Hungarian-umlaut-567">Hungarian umlaut</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li>
+<li><a href="#index-hyperdvi-extensions_002c-enabling-237">hyperdvi extensions, enabling</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-hypertext-and-bitmap-fonts-458">hypertext and bitmap fonts</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li>
+<li><a href="#index-hypertext-caveats-456">hypertext caveats</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li>
+<li><a href="#index-hypertext-specials-465">hypertext specials</a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-hypertext-support-443">hypertext support</a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-i-_0040r_007bconfig-command-_0028pages_002fsection_0029_007d-281"><code>i </code><span class="roman">config command (pages/section)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-idvi-_0040r_007bJava-DVI-reader_007d-454"><code>idvi </code><span class="roman">Java DVI reader</span></a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-Illustrator_002c-workaround-for-75">Illustrator, workaround for</a>: <a href="#Including-graphics-fails">Including graphics fails</a></li>
+<li><a href="#index-img-477"><code>img</code></a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-including-graphics-fails-72">including graphics fails</a>: <a href="#Including-graphics-fails">Including graphics fails</a></li>
+<li><a href="#index-including-headers-from-the-command-line-406">including headers from the command line</a>: <a href="#Including-headers-from-the-command-line">Including headers from the command line</a></li>
+<li><a href="#index-including-headers-in-_0040TeX_007b_007d-397">including headers in TeX</a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li>
+<li><a href="#index-installation-of-_0040file_007bconfig_002eps_007d-6">installation of <samp><span class="file">config.ps</span></samp></a>: <a href="#config_002eps-installation">config.ps installation</a></li>
+<li><a href="#index-installation-of-PostScript-fonts-14">installation of PostScript fonts</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-installation_002c-of-Dvips-4">installation, of Dvips</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-installing-fonts-540">installing fonts</a>: <a href="#Making-a-font-available">Making a font available</a></li>
+<li><a href="#index-interaction-with-PostScript-341">interaction with PostScript</a>: <a href="#Interaction-with-PostScript">Interaction with PostScript</a></li>
+<li><a href="#index-inverted-output-60">inverted output</a>: <a href="#Small-or-inverted">Small or inverted</a></li>
+<li><a href="#index-invoking-Dvips-79">invoking Dvips</a>: <a href="#Invoking-Dvips">Invoking Dvips</a></li>
+<li><a href="#index-j-_0040r_007bconfig-command-_0028partial-font-downloading_0029_007d-282"><code>j </code><span class="roman">config command (partial font downloading)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-Java-DVI-reader-453">Java DVI reader</a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-Jeffrey_002c-Alan-549">Jeffrey, Alan</a>: <a href="#Invoking-afm2tfm">Invoking afm2tfm</a></li>
+<li><a href="#index-K-_0040r_007bconfig-command-_0028comment_002dremoveal_0029_007d-283"><code>K </code><span class="roman">config command (comment-removeal)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-kerning_002c-defined-483">kerning, defined</a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-landscape-orientation_002c-defined-329">landscape orientation, defined</a>: <a href="#Paper-size-and-landscape">Paper size and landscape</a></li>
+<li><a href="#index-landscape-papertype-216">landscape papertype</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-landscape_0040r_007b_002c-as-_0040code_007b_005cspecial_007d_007d-331"><code>landscape</code><span class="roman">, as </span><code>\special</code></a>: <a href="#papersize-special">papersize special</a></li>
+<li><a href="#index-last-page-printed-146">last page printed</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-last_002dresort-font-scaling_002c-with-_0040code_007bDVIPSSIZES_007d-250">last-resort font scaling, with <code>DVIPSSIZES</code></a>: <a href="#Environment-variables">Environment variables</a></li>
+<li><a href="#index-last_002dresort-scaling_002c-with-_0040code_007bR_007d-307">last-resort scaling, with <code>R</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-ledger-papertype-213">ledger papertype</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-legal-papertype-212">legal papertype</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-letter-papertype-211">letter papertype</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-letterhead-tray-340">letterhead tray</a>: <a href="#Paper-trays">Paper trays</a></li>
+<li><a href="#index-ligature-operations-580">ligature operations</a>: <a href="#Encoding-file-format">Encoding file format</a></li>
+<li><a href="#index-ligature_002c-defined-484">ligature, defined</a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-LIGKERN-_0040r_007bencoding-file-command_007d-578"><code>LIGKERN </code><span class="roman">encoding file command</span></a>: <a href="#Encoding-file-format">Encoding file format</a></li>
+<li><a href="#index-lines-in-figures_002c-wrong-width-379">lines in figures, wrong width</a>: <a href="#EPSF-clipping">EPSF clipping</a></li>
+<li><a href="#index-links_002c-hypertext-474">links, hypertext</a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-literal-headers-425">literal headers</a>: <a href="#Literal-headers">Literal headers</a></li>
+<li><a href="#index-literal-PostScript_002c-examples-438">literal PostScript, examples</a>: <a href="#Literal-examples">Literal examples</a></li>
+<li><a href="#index-literal-PostScript_002c-using-418">literal PostScript, using</a>: <a href="#Literal-PS">Literal PS</a></li>
+<li><a href="#index-long-documents-not-printing-70">long documents not printing</a>: <a href="#Long-documents-fail">Long documents fail</a></li>
+<li><a href="#index-low-characters_002c-shifting-129">low characters, shifting</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-lpr-spooler_002c-MS_002dDOS-emulation-178">lpr spooler, MS-DOS emulation</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-Lucida_002c-installing-19">Lucida, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-m-_0040r_007bconfig-command-_0028available-memory_0029_007d-284"><code>m </code><span class="roman">config command (available memory)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-M-_0040r_007bconfig-command-_0028mf-mode_0029_007d-287"><code>M </code><span class="roman">config command (mf mode)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-macros-for-color-639">macros for color</a>: <a href="#Color-macro-files">Color macro files</a></li>
+<li><a href="#index-macros-for-epsf-inclusion-357">macros for epsf inclusion</a>: <a href="#EPSF-macros">EPSF macros</a></li>
+<li><a href="#index-macros-for-epsf-inclusion-354">macros for epsf inclusion</a>: <a href="#g_t_005cincludegraphics">\includegraphics</a></li>
+<li><a href="#index-magnification_002c-DVI-372">magnification, DVI</a>: <a href="#EPSF-scaling">EPSF scaling</a></li>
+<li><a href="#index-magnification_002c-overriding-DVI-230">magnification, overriding DVI</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-magnification_002c-vertical-233">magnification, vertical</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-mailcap-_0040r_007band-hypertext_007d-478"><code>mailcap </code><span class="roman">and hypertext</span></a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-manual-feed-151">manual feed</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-maxdrift-111">maxdrift</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-maximum-pages-printed-163">maximum pages printed</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-media-210">media</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-memory-available-285">memory available</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-memory-of-printer-exhausted-69">memory of printer exhausted</a>: <a href="#Printer-errors">Printer errors</a></li>
+<li><a href="#index-memory-usage_002c-and-headers-413">memory usage, and headers</a>: <a href="#Headers-and-memory-usage">Headers and memory usage</a></li>
+<li><a href="#index-memory_002c-conserving-89">memory, conserving</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-memory_002c-used-by-PostScript-fonts-544">memory, used by PostScript fonts</a>: <a href="#Making-a-font-available">Making a font available</a></li>
+<li><a href="#index-Metafont-ligature-operations-581">Metafont ligature operations</a>: <a href="#Encoding-file-format">Encoding file format</a></li>
+<li><a href="#index-Metafont-mode_002c-specifying-155">Metafont mode, specifying</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-Metafont-source-files-506">Metafont source files</a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-metric-files-482">metric files</a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-Minion-typeface-family-623">Minion typeface family</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-missfont_002elog-159"><code>missfont.log</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-MISSFONT_005fLOG-161"><code>MISSFONT_LOG</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-Mitsubishi-Shinko-CHC_002dS446i-printer-57">Mitsubishi Shinko CHC-S446i printer</a>: <a href="#No-output">No output</a></li>
+<li><a href="#index-mkdvipspapers-334"><code>mkdvipspapers</code></a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li>
+<li><a href="#index-mktexpk_0040r_007b_002c-avoiding_007d-158"><code>mktexpk</code><span class="roman">, avoiding</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-mktexpk_0040r_007b_002c-changing-name_007d-247"><code>mktexpk</code><span class="roman">, changing name</span></a>: <a href="#Environment-variables">Environment variables</a></li>
+<li><a href="#index-mode-name_002c-specifying-154">mode name, specifying</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-Monotype-fonts-20">Monotype fonts</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-Monotype-fonts_002c-installing-24">Monotype fonts, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-mtpk-226"><code>mtpk</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-multiple-master-fonts-622">multiple master fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-multiple-output-files-136">multiple output files</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-multiple-paper-trays-338">multiple paper trays</a>: <a href="#Paper-trays">Paper trays</a></li>
+<li><a href="#index-Murphy_002c-Tim-471">Murphy, Tim</a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-N-_0040r_007bEPS_002ddisabling-config-command_007d-288"><code>N </code><span class="roman">EPS-disabling config command</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-name-475"><code>name</code></a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-narrow-fonts-628">narrow fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-no-output-at-all-52">no output at all</a>: <a href="#No-output">No output</a></li>
+<li><a href="#index-non_002dprinting-characters_002c-shifting-130">non-printing characters, shifting</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-non_002dresident-fonts-615">non-resident fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-O-_0040r_007bconfig-command-_0028offset_0029_007d-291"><code>O </code><span class="roman">config command (offset)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-o-_0040r_007bconfig-command-_0028output-file_0029_007d-289"><code>o </code><span class="roman">config command (output file)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-oblique-fonts-583">oblique fonts</a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-octal-character-codes-605">octal character codes</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-odd-pages-only-91">odd pages only</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-offset-pages-181">offset pages</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-Omega-extensions-170">Omega extensions</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-option_002c-details-of-82">option, details of</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-options_002c-debugging-50">options, debugging</a>: <a href="#Debug-options">Debug options</a></li>
+<li><a href="#index-options_002c-Dvips-78">options, Dvips</a>: <a href="#Invoking-Dvips">Invoking Dvips</a></li>
+<li><a href="#index-options_002c-reading-from-standard-input-84">options, reading from standard input</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-options_002c-summary-80">options, summary</a>: <a href="#Option-summary">Option summary</a></li>
+<li><a href="#index-options_002c-to-Afm2tfm-596">options, to Afm2tfm</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-outline-fonts-594">outline fonts</a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-outline-fonts-496">outline fonts</a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-output-file_002c-sectioning-of-415">output file, sectioning of</a>: <a href="#Headers-and-memory-usage">Headers and memory usage</a></li>
+<li><a href="#index-output-file_002c-setting-290">output file, setting</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-output-files_002c-multiple-137">output files, multiple</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-output_002c-inverted-59">output, inverted</a>: <a href="#Small-or-inverted">Small or inverted</a></li>
+<li><a href="#index-output_002c-none-51">output, none</a>: <a href="#No-output">No output</a></li>
+<li><a href="#index-output_002c-redirecting-172">output, redirecting</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-output_002c-too-small-58">output, too small</a>: <a href="#Small-or-inverted">Small or inverted</a></li>
+<li><a href="#index-p-_0040r_007bconfig-command-_0028font-aliases_0029_007d-292"><code>p </code><span class="roman">config command (font aliases)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-P-_0040r_007bconfig-command-_0028PK-path_0029_007d-296"><code>P </code><span class="roman">config command (PK path)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-page-range-191">page range</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-page_002c-first-printed-187">page, first printed</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-page_002c-last-printed-147">page, last printed</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-pages_002c-maximum-printed-164">pages, maximum printed</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-PaintType-593"><code>PaintType</code></a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-Pantone-colors-642">Pantone colors</a>: <a href="#Color-macro-files">Color macro files</a></li>
+<li><a href="#index-paper-size-configuration-file-command-332">paper size configuration file command</a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li>
+<li><a href="#index-paper-size_002c-default-8">paper size, default</a>: <a href="#config_002eps-installation">config.ps installation</a></li>
+<li><a href="#index-paper-size_002c-general-328">paper size, general</a>: <a href="#Paper-size-and-landscape">Paper size and landscape</a></li>
+<li><a href="#index-paper-trays-336">paper trays</a>: <a href="#Paper-trays">Paper trays</a></li>
+<li><a href="#index-paper-type-209">paper type</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-papersize-_0040r_007bspecial_007d-330"><code>papersize </code><span class="roman">special</span></a>: <a href="#papersize-special">papersize special</a></li>
+<li><a href="#index-papersize-special_002c-and-no-_0040samp_007b_002dt_007d-217">papersize special, and no `<samp><span class="samp">-t</span></samp>'</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-partial-font-downloading-619">partial font downloading</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-PDF-files_002c-font-quality-461">PDF files, font quality</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li>
+<li><a href="#index-PDF-files_002c-making-448">PDF files, making</a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-PDF-files_002c-making-37">PDF files, making</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-PDF-files_002c-option-for-239">PDF files, option for</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-pdfmark-446"><code>pdfmark</code></a>: <a href="#Hypertext">Hypertext</a></li>
+<li><a href="#index-pfa-files-500">pfa files</a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-pfb-files-501">pfb files</a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-pfb-files_002c-automatically-unpacked-636">pfb files, automatically unpacked</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-pfm-files-493">pfm files</a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-Phaser-printer_002c-used-for-color-calibration-652">Phaser printer, used for color calibration</a>: <a href="#Color-device-configuration">Color device configuration</a></li>
+<li><a href="#index-physical-page-number_002c-and-_0040samp_007b_002dl_007d-148">physical page number, and `<samp><span class="samp">-l</span></samp>'</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-physical-page-number_002c-and-_0040samp_007b_002dp_007d-188">physical page number, and `<samp><span class="samp">-p</span></samp>'</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-physical-page-number_002c-and-_0040code_007bbop_002dhook_007d-436">physical page number, and <code>bop-hook</code></a>: <a href="#PostScript-hooks">PostScript hooks</a></li>
+<li><a href="#index-pipes_002c-not-readable-121">pipes, not readable</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-pk-files-507">pk files</a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-PKFONTS_0040r_007b_002c-overrides_007d-P-297"><code>PKFONTS</code><span class="roman">, overrides</span><code> P</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-plotfile_0040r_007b_002c-_0040samp_007bps_007d-subspecial_007d-423"><code>plotfile</code><span class="roman">, `<samp>ps</samp>' subspecial</span></a>: <a href="#ps-special">ps special</a></li>
+<li><a href="#index-pltotf-491"><code>pltotf</code></a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-popen-_0040r_007bfor-output_007d-174"><code>popen </code><span class="roman">for output</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-positioning-accuracy-113">positioning accuracy</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-post-_0040r_007bcode-after-headers_007d-405"><code>post </code><span class="roman">code after headers</span></a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li>
+<li><a href="#index-PostScript-code_002c-literal-419">PostScript code, literal</a>: <a href="#Literal-PS">Literal PS</a></li>
+<li><a href="#index-PostScript-encoding-519">PostScript encoding</a>: <a href="#Encodings">Encodings</a></li>
+<li><a href="#index-PostScript-encoding_002c-changing-557">PostScript encoding, changing</a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li>
+<li><a href="#index-PostScript-font-alias-file-293">PostScript font alias file</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-PostScript-font-alias-file-220">PostScript font alias file</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-PostScript-fonts-480">PostScript fonts</a>: <a href="#PostScript-fonts">PostScript fonts</a></li>
+<li><a href="#index-PostScript-fonts_002c-installing-16">PostScript fonts, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-PostScript-fonts_002c-on-your-system-28">PostScript fonts, on your system</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-PostScript-header-files-391">PostScript header files</a>: <a href="#Header-files">Header files</a></li>
+<li><a href="#index-PostScript-hooks-429">PostScript hooks</a>: <a href="#PostScript-hooks">PostScript hooks</a></li>
+<li><a href="#index-PostScript-interaction-342">PostScript interaction</a>: <a href="#Interaction-with-PostScript">Interaction with PostScript</a></li>
+<li><a href="#index-PostScript-previewers-36">PostScript previewers</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-PostScript-units-345">PostScript units</a>: <a href="#Bounding-box">Bounding box</a></li>
+<li><a href="#index-PowerPage-PostScript-implementation-55">PowerPage PostScript implementation</a>: <a href="#No-output">No output</a></li>
+<li><a href="#index-pre-_0040r_007bcode-before-headers_007d-404"><code>pre </code><span class="roman">code before headers</span></a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li>
+<li><a href="#index-previewing-Dvips-output-35">previewing Dvips output</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-PRINTER-251"><code>PRINTER</code></a>: <a href="#Environment-variables">Environment variables</a></li>
+<li><a href="#index-printer-configuration-7">printer configuration</a>: <a href="#config_002eps-installation">config.ps installation</a></li>
+<li><a href="#index-printer-configuration-file_002c-prototype-12">printer configuration file, prototype</a>: <a href="#config_002eps-installation">config.ps installation</a></li>
+<li><a href="#index-printer-errors-63">printer errors</a>: <a href="#Printer-errors">Printer errors</a></li>
+<li><a href="#index-printer-memory-286">printer memory</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-printer-memory-exhausted-68">printer memory exhausted</a>: <a href="#Printer-errors">Printer errors</a></li>
+<li><a href="#index-printer-offset-182">printer offset</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-PRINTER_0040r_007b_002c-and-config-file-searching_007d-261"><code>PRINTER</code><span class="roman">, and config file searching</span></a>: <a href="#Configuration-file-searching">Configuration file searching</a></li>
+<li><a href="#index-PRINTER_0040r_007b_002c-avoided-with-_0040samp_007b_002df_007d_007d-122"><code>PRINTER</code><span class="roman">, avoided with `<samp>-f</samp>'</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-printer_002c-driving-directly-126">printer, driving directly</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-problems-46">problems</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li>
+<li><a href="#index-property-list-files-489">property list files</a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-prototype-printer-configuration-file-11">prototype printer configuration file</a>: <a href="#config_002eps-installation">config.ps installation</a></li>
+<li><a href="#index-ps-_0040r_007bspecial_007d-421"><code>ps </code><span class="roman">special</span></a>: <a href="#ps-special">ps special</a></li>
+<li><a href="#index-psfile-_0040r_007bspecial_007d-380"><code>psfile </code><span class="roman">special</span></a>: <a href="#psfile-special">psfile special</a></li>
+<li><a href="#index-psfonts_002emap-614"><code>psfonts.map</code></a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-psfonts_002emap-587"><code>psfonts.map</code></a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-psfonts_002emap-29"><code>psfonts.map</code></a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-psheaderdir-392"><code>psheaderdir</code></a>: <a href="#Header-files">Header files</a></li>
+<li><a href="#index-psi-character-missing-462">psi character missing</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li>
+<li><a href="#index-pstopk-228"><code>pstopk</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-Q-_0040r_007bconfig-command-_0028quiet_0029_007d-302"><code>Q </code><span class="roman">config command (quiet)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-q-_0040r_007bconfig-command-_0028quiet_0029_007d-301"><code>q </code><span class="roman">config command (quiet)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-quiet-operation-196">quiet operation</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-r-_0040r_007bconfig-command-_0028page-reversal_0029_007d-303"><code>r </code><span class="roman">config command (page reversal)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-R-_0040r_007bfallback-resolution-config-command_007d-304"><code>R </code><span class="roman">fallback resolution config command</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-reencode_002f_002a_002eenc-527"><code>reencode/*.enc</code></a>: <a href="#Encodings">Encodings</a></li>
+<li><a href="#index-reencoding-564">reencoding</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li>
+<li><a href="#index-reencoding-PostScript-fonts-629">reencoding PostScript fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-registered-_0040r_007bcharacter_002c-accessing_007d-560"><code>registered </code><span class="roman">character, accessing</span></a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li>
+<li><a href="#index-remapping-565">remapping</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li>
+<li><a href="#index-resident-fonts_002c-different-in-different-printers-294">resident fonts, different in different printers</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-resident-fonts_002c-different-in-different-printers-221">resident fonts, different in different printers</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-resolution-232">resolution</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-resolution_002c-setting-109">resolution, setting</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-reverse-pagination-200">reverse pagination</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-Rokicki_002c-Tomas-1">Rokicki, Tomas</a>: <a href="#Why-Dvips">Why Dvips</a></li>
+<li><a href="#index-rotate_002etex-424"><code>rotate.tex</code></a>: <a href="#ps-special">ps special</a></li>
+<li><a href="#index-S-_0040r_007bconfig-command-_0028pict-path_0029_007d-312"><code>S </code><span class="roman">config command (pict path)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-s-_0040r_007bconfig-command-_0028save_002frestore_0029_007d-311"><code>s </code><span class="roman">config command (save/restore)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-save_002frestore_002c-and-inverted-output-62">save/restore, and inverted output</a>: <a href="#Small-or-inverted">Small or inverted</a></li>
+<li><a href="#index-save_0040r_007b_002f_007drestore_0040r_007b_002c-and-literal-PS_007d-442"><code>save</code><span class="roman">/</span><code>restore</code><span class="roman">, and literal PS</span></a>: <a href="#Literal-examples">Literal examples</a></li>
+<li><a href="#index-save_002frestore_002c-and-specials-422">save/restore, and specials</a>: <a href="#ps-special">ps special</a></li>
+<li><a href="#index-save_002frestore_002c-generating-global-206">save/restore, generating global</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-scaleunit-381"><code>scaleunit</code></a>: <a href="#psfile-special">psfile special</a></li>
+<li><a href="#index-scaling-of-figures-366">scaling of figures</a>: <a href="#EPSF-scaling">EPSF scaling</a></li>
+<li><a href="#index-scaling-small-caps-600">scaling small caps</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-Scandinavian-A-ring-569">Scandinavian A ring</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li>
+<li><a href="#index-screen-frequencies_002c-setting-411">screen frequencies, setting</a>: <a href="#Including-headers-from-the-command-line">Including headers from the command line</a></li>
+<li><a href="#index-SDict-382"><code>SDict</code></a>: <a href="#psfile-special">psfile special</a></li>
+<li><a href="#index-SDict-_0040r_007bdictionary_007d-426"><code>SDict </code><span class="roman">dictionary</span></a>: <a href="#Literal-headers">Literal headers</a></li>
+<li><a href="#index-searching-config-files_002c-order-of-257">searching config files, order of</a>: <a href="#Configuration-file-searching">Configuration file searching</a></li>
+<li><a href="#index-sections-of-output-file_002c-and-memory-414">sections of output file, and memory</a>: <a href="#Headers-and-memory-usage">Headers and memory usage</a></li>
+<li><a href="#index-sections-output_002c-in-separate-files-135">sections output, in separate files</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-security-202">security</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-shell-command-execution_002c-disabling-203">shell command execution, disabling</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-shell-escape_002c-in-config-file-274">shell escape, in config file</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-Shinko-CHC_002dS446i-printer-56">Shinko CHC-S446i printer</a>: <a href="#No-output">No output</a></li>
+<li><a href="#index-show-_0040r_007bPostScript-operator_007d-530"><code>show </code><span class="roman">PostScript operator</span></a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li>
+<li><a href="#index-silent-operation-197">silent operation</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-simplex-mode-on-duplex-printers-410">simplex mode on duplex printers</a>: <a href="#Including-headers-from-the-command-line">Including headers from the command line</a></li>
+<li><a href="#index-slanted-fonts-584">slanted fonts</a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-slanted-fonts_002c-making-608">slanted fonts, making</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li>
+<li><a href="#index-SlantFont-586"><code>SlantFont</code></a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-small-caps-fonts-591">small caps fonts</a>: <a href="#Special-font-effects">Special font effects</a></li>
+<li><a href="#index-Smith_002c-Arthur-467">Smith, Arthur</a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-Softkey-fonts-21">Softkey fonts</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-Softkey-fonts_002c-installing-25">Softkey fonts, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-spaces_002c-dropped-trailing-464">spaces, dropped trailing</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li>
+<li><a href="#index-specials_002c-hypertext-466">specials, hypertext</a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-splines-498">splines</a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-spooler_002c-lacking-127">spooler, lacking</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-spooling-to-lpr-on-MS_002dDOS-179">spooling to lpr on MS-DOS</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-standard-I_002fO-120">standard I/O</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-standard-input_002c-reading-options-from-85">standard input, reading options from</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-standard-output_002c-output-to-173">standard output, output to</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-standard-PostScript_002c-required-by-Ghostview-44">standard PostScript, required by Ghostview</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-start_002dhook-432"><code>start-hook</code></a>: <a href="#PostScript-hooks">PostScript hooks</a></li>
+<li><a href="#index-structured-comments-166">structured comments</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-system-_0040r_007bin-config-file_007d-272"><code>system </code><span class="roman">in config file</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-T-_0040r_007bconfig-command-_0028TFM-path_0029_007d-315"><code>T </code><span class="roman">config command (TFM path)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-Tektronix-Phaser-printer_002c-used-for-color-calibration-653">Tektronix Phaser printer, used for color calibration</a>: <a href="#Color-device-configuration">Color device configuration</a></li>
+<li><a href="#index-testpage_002etex-183"><code>testpage.tex</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d-encoding_002c-changing-553">TeX encoding, changing</a>: <a href="#Changing-TeX-encodings">Changing TeX encodings</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d_002c-including-headers-in-399">TeX, including headers in</a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li>
+<li><a href="#index-TEXCONFIG-252"><code>TEXCONFIG</code></a>: <a href="#Environment-variables">Environment variables</a></li>
+<li><a href="#index-TEXFONTS_0040r_007b_002c-overrides_007d-P-300"><code>TEXFONTS</code><span class="roman">, overrides</span><code> P</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-TEXFONTS_0040r_007b_002c-overrides_007d-T-317"><code>TEXFONTS</code><span class="roman">, overrides</span><code> T</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-TEXINPUTS_0040r_007b_002c-overrides_007d-S-314"><code>TEXINPUTS</code><span class="roman">, overrides</span><code> S</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-texmext_002eenc-524"><code>texmext.enc</code></a>: <a href="#Encodings">Encodings</a></li>
+<li><a href="#index-TEXMFOUTPUT-160"><code>TEXMFOUTPUT</code></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-texmital_002eenc-525"><code>texmital.enc</code></a>: <a href="#Encodings">Encodings</a></li>
+<li><a href="#index-texmsym_002eenc-555"><code>texmsym.enc</code></a>: <a href="#Changing-TeX-encodings">Changing TeX encodings</a></li>
+<li><a href="#index-texmsym_002eenc-526"><code>texmsym.enc</code></a>: <a href="#Encodings">Encodings</a></li>
+<li><a href="#index-TEXPICTS-254"><code>TEXPICTS</code></a>: <a href="#Environment-variables">Environment variables</a></li>
+<li><a href="#index-TEXPICTS_0040r_007b_002c-overrides_007d-S-313"><code>TEXPICTS</code><span class="roman">, overrides</span><code> S</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-TEXPKS_0040r_007b_002c-overrides_007d-P-298"><code>TEXPKS</code><span class="roman">, overrides</span><code> P</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-TEXSIZES_0040r_007b_002c-overrides_007d-R-309"><code>TEXSIZES</code><span class="roman">, overrides</span><code> R</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-text-in-figures_002c-chopped-off-378">text in figures, chopped off</a>: <a href="#EPSF-clipping">EPSF clipping</a></li>
+<li><a href="#index-tfm-files-487">tfm files</a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-TFMFONTS_0040r_007b_002c-overrides_007d-T-316"><code>TFMFONTS</code><span class="roman">, overrides</span><code> T</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-tftopl-490"><code>tftopl</code></a>: <a href="#Metric-files">Metric files</a></li>
+<li><a href="#index-Theisen_002c-Tim-40">Theisen, Tim</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li>
+<li><a href="#index-tight-bounding-box_002c-finding-116">tight bounding box, finding</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-too_002dsmall-output-61">too-small output</a>: <a href="#Small-or-inverted">Small or inverted</a></li>
+<li><a href="#index-trademark-_0040r_007bcharacter_002c-accessing_007d-559"><code>trademark </code><span class="roman">character, accessing</span></a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li>
+<li><a href="#index-trailing-spaces_002c-dropped-463">trailing spaces, dropped</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li>
+<li><a href="#index-TranScript-167">TranScript</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-transforming-downloaded-fonts-625">transforming downloaded fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-trouble-47">trouble</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li>
+<li><a href="#index-Type-1-fonts-499">Type 1 fonts</a>: <a href="#Glyph-files">Glyph files</a></li>
+<li><a href="#index-typesetting-in-PostScript-528">typesetting in PostScript</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li>
+<li><a href="#index-U-_0040r_007bconfig-command-_0028Xerox-4045_0029_007d-318"><code>U </code><span class="roman">config command (Xerox 4045)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-uncollated-copies-102">uncollated copies</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-uncompressing-PostScript-385">uncompressing PostScript</a>: <a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></li>
+<li><a href="#index-uniform-resource-locator-468">uniform resource locator</a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-URL_002c-definition-472">URL, definition</a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-URL_002c-extended-for-_0040TeX_007b_007d-470">URL, extended for TeX</a>: <a href="#Hypertext-specials">Hypertext specials</a></li>
+<li><a href="#index-user_002ddefinable-colors-647">user-definable colors</a>: <a href="#User_002ddefinable-colors">User-definable colors</a></li>
+<li><a href="#index-userdict_0040r_007b_002c-and-dictionary-files_007d-395"><code>userdict</code><span class="roman">, and dictionary files</span></a>: <a href="#Header-files">Header files</a></li>
+<li><a href="#index-userdict_0040r_007b_002c-used-for-header-files_007d-133">userdict<span class="roman">, used for header files</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-V-_0040r_007bconfig-command-_0028vf-path_0029_007d-319"><code>V </code><span class="roman">config command (vf path)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-verbose-EPSF-processing-365">verbose EPSF processing</a>: <a href="#EPSF-macros">EPSF macros</a></li>
+<li><a href="#index-vf-files-512">vf files</a>: <a href="#Virtual-fonts">Virtual fonts</a></li>
+<li><a href="#index-virtual-font-expansion-516">virtual font expansion</a>: <a href="#Virtual-fonts">Virtual fonts</a></li>
+<li><a href="#index-virtual-font-path-320">virtual font path</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-virtual-fonts-511">virtual fonts</a>: <a href="#Virtual-fonts">Virtual fonts</a></li>
+<li><a href="#index-virtual-fonts_002c-creating-548">virtual fonts, creating</a>: <a href="#Invoking-afm2tfm">Invoking afm2tfm</a></li>
+<li><a href="#index-VM-exhausted-67">VM exhausted</a>: <a href="#Printer-errors">Printer errors</a></li>
+<li><a href="#index-VMusage-416"><code>VMusage</code></a>: <a href="#Headers-and-memory-usage">Headers and memory usage</a></li>
+<li><a href="#index-vpl-files-513">vpl files</a>: <a href="#Virtual-fonts">Virtual fonts</a></li>
+<li><a href="#index-vptovf-543"><code>vptovf</code></a>: <a href="#Making-a-font-available">Making a font available</a></li>
+<li><a href="#index-W-_0040r_007bconfig-command-_0028warning_0029_007d-322"><code>W </code><span class="roman">config command (warning)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-warning-messages_002c-defining-323">warning messages, defining</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-warnings_002c-suppressing-198">warnings, suppressing</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-whole-font-downloading-621">whole font downloading</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-wide-fonts-627">wide fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li>
+<li><a href="#index-X-_0040r_007bconfig-command-_0028horizontal-resolution_0029_007d-324"><code>X </code><span class="roman">config command (horizontal resolution)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-Xerox-4045-223">Xerox 4045</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-Y-_0040r_007bconfig-command-_0028vertical-resolution_0029_007d-325"><code>Y </code><span class="roman">config command (vertical resolution)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-Y_0026Y-fonts_002c-installing-26">Y&amp;Y fonts, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li>
+<li><a href="#index-Z-_0040r_007bconfig-command-_0028compression_0029_007d-326"><code>Z </code><span class="roman">config command (compression)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-z-_0040r_007bconfig-command-_0028secure-mode_0029_007d-327"><code>z </code><span class="roman">config command (secure mode)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li>
+<li><a href="#index-g_t_007c-_0040r_007bstarting-output-filename_007d-177"><code>| </code><span class="roman">starting output filename</span></a>: <a href="#Option-details">Option details</a></li>
+ </ul>
+<div class="shortcontents">
+<h2>Short Contents</h2>
+<ul>
+<li><a href="#toc_Top">Dvips</a></li>
+<li><a href="#toc_Why-Dvips">1 Why use Dvips?</a></li>
+<li><a href="#toc_Installation">2 Installation</a></li>
+<li><a href="#toc_Invoking-Dvips">3 Invoking Dvips</a></li>
+<li><a href="#toc_Paper-size-and-landscape">4 Paper size and landscape orientation</a></li>
+<li><a href="#toc_Interaction-with-PostScript">5 Interaction with PostScript</a></li>
+<li><a href="#toc_PostScript-fonts">6 PostScript fonts</a></li>
+<li><a href="#toc_Color">7 Color</a></li>
+<li><a href="#toc_Index">Index</a></li>
+</ul>
+</div>
+
+ <div class="contents">
+<h2>Table of Contents</h2>
+<ul>
+<li><a name="toc_Top" href="#Top">Dvips</a>
+<li><a name="toc_Why-Dvips" href="#Why-Dvips">1 Why use Dvips?</a>
+<li><a name="toc_Installation" href="#Installation">2 Installation</a>
+<ul>
+<li><a href="#config_002eps-installation">2.1 <samp><span class="file">config.ps</span></samp> installation</a>
+<li><a href="#PostScript-font-installation">2.2 PostScript font installation</a>
+<li><a href="#Ghostscript-installation">2.3 Ghostscript installation</a>
+<li><a href="#Diagnosing-problems">2.4 Diagnosing problems</a>
+<ul>
+<li><a href="#Debug-options">2.4.1 Debug options</a>
+<li><a href="#No-output">2.4.2 No output at all</a>
+<li><a href="#Small-or-inverted">2.4.3 Output too small or inverted</a>
+<li><a href="#Printer-errors">2.4.4 Error messages from printer</a>
+<li><a href="#Long-documents-fail">2.4.5 Long documents fail to print</a>
+<li><a href="#Including-graphics-fails">2.4.6 Including graphics fails</a>
+</li></ul>
+</li></ul>
+<li><a name="toc_Invoking-Dvips" href="#Invoking-Dvips">3 Invoking Dvips</a>
+<ul>
+<li><a href="#Basic-usage">3.1 Basic usage of Dvips</a>
+<li><a href="#Command_002dline-options">3.2 Command-line options</a>
+<ul>
+<li><a href="#Option-summary">3.2.1 Option summary</a>
+<li><a href="#Option-details">3.2.2 Option details</a>
+</li></ul>
+<li><a href="#Environment-variables">3.3 Environment variables</a>
+<li><a href="#Config-files">3.4 Dvips configuration files</a>
+<ul>
+<li><a href="#Configuration-file-searching">3.4.1 Configuration file searching</a>
+<li><a href="#Configuration-file-commands">3.4.2 Configuration file commands</a>
+</li></ul>
+</li></ul>
+<li><a name="toc_Paper-size-and-landscape" href="#Paper-size-and-landscape">4 Paper size and landscape orientation</a>
+<ul>
+<li><a href="#papersize-special">4.1 `<samp><span class="samp">papersize</span></samp>' special</a>
+<li><a href="#Config-file-paper-sizes">4.2 Configuration file paper size command</a>
+<li><a href="#Paper-trays">4.3 Paper trays</a>
+</li></ul>
+<li><a name="toc_Interaction-with-PostScript" href="#Interaction-with-PostScript">5 Interaction with PostScript</a>
+<ul>
+<li><a href="#PostScript-figures">5.1 PostScript figures</a>
+<ul>
+<li><a href="#Bounding-box">5.1.1 The bounding box comment</a>
+<li><a href="#_005cincludegraphics">5.1.2 The \includegraphics macro for LaTeX</a>
+<li><a href="#EPSF-macros">5.1.3 Using the EPSF macros</a>
+<ul>
+<li><a href="#EPSF-scaling">5.1.3.1 EPSF scaling</a>
+<li><a href="#EPSF-clipping">5.1.3.2 EPSF clipping</a>
+</li></ul>
+<li><a href="#psfile-special">5.1.4 `<samp><span class="samp">psfile</span></samp>' special</a>
+<li><a href="#Dynamic-creation-of-graphics">5.1.5 Dynamic creation of PostScript graphics files</a>
+<li><a href="#Fonts-in-figures">5.1.6 Fonts in figures</a>
+</li></ul>
+<li><a href="#Header-files">5.2 PostScript header files</a>
+<ul>
+<li><a href="#Including-headers-from-TeX">5.2.1 Including headers from TeX</a>
+<li><a href="#Including-headers-from-the-command-line">5.2.2 Including headers from the command line</a>
+<li><a href="#Headers-and-memory-usage">5.2.3 Headers and memory usage</a>
+</li></ul>
+<li><a href="#Literal-PS">5.3 Literal PostScript</a>
+<ul>
+<li><a href="#_0022-special">5.3.1 <code>"</code> special: Literal PostScript</a>
+<li><a href="#ps-special">5.3.2 `<samp><span class="samp">ps</span></samp>' special</a>
+<li><a href="#Literal-headers">5.3.3 Literal headers: `<samp><span class="samp">!</span></samp>' <code>\special</code></a>
+<li><a href="#PostScript-hooks">5.3.4 PostScript hooks</a>
+<li><a href="#Literal-examples">5.3.5 Literal examples</a>
+</li></ul>
+<li><a href="#Hypertext">5.4 HyperTeXt</a>
+<ul>
+<li><a href="#Hypertext-caveats">5.4.1 Hypertext caveats</a>
+<li><a href="#Hypertext-specials">5.4.2 Hypertext specials</a>
+</li></ul>
+</li></ul>
+<li><a name="toc_PostScript-fonts" href="#PostScript-fonts">6 PostScript fonts</a>
+<ul>
+<li><a href="#Font-concepts">6.1 Font concepts</a>
+<ul>
+<li><a href="#Metric-files">6.1.1 Metric files</a>
+<li><a href="#Glyph-files">6.1.2 Glyph files</a>
+<li><a href="#Virtual-fonts">6.1.3 Virtual fonts</a>
+<li><a href="#Encodings">6.1.4 Encodings</a>
+<li><a href="#PostScript-typesetting">6.1.5 How PostScript typesets a character</a>
+</li></ul>
+<li><a href="#Making-a-font-available">6.2 Making a PostScript font available</a>
+<li><a href="#Invoking-afm2tfm">6.3 Invoking Afm2tfm</a>
+<ul>
+<li><a href="#Changing-font-encodings">6.3.1 Changing font encodings</a>
+<ul>
+<li><a href="#Changing-TeX-encodings">6.3.1.1 `<samp><span class="samp">-t</span></samp>': Changing TeX encodings</a>
+<li><a href="#Changing-PostScript-encodings">6.3.1.2 `<samp><span class="samp">-p</span></samp>': Changing PostScript encodings</a>
+<li><a href="#Changing-both-encodings">6.3.1.3 `<samp><span class="samp">-T</span></samp>': Changing both TeX and PostScript encodings</a>
+<li><a href="#Reencoding-with-Afm2tfm">6.3.1.4 Reencoding with Afm2tfm</a>
+<li><a href="#Encoding-file-format">6.3.1.5 Encoding file format</a>
+</li></ul>
+<li><a href="#Special-font-effects">6.3.2 Special font effects</a>
+<li><a href="#Afm2tfm-options">6.3.3 Afm2tfm options</a>
+</li></ul>
+<li><a href="#psfonts_002emap">6.4 <samp><span class="file">psfonts.map</span></samp>: PostScript font catalog</a>
+</li></ul>
+<li><a name="toc_Color" href="#Color">7 Color</a>
+<ul>
+<li><a href="#Color-macro-files">7.1 Color macro files</a>
+<li><a href="#User_002ddefinable-colors">7.2 User-definable colors</a>
+<li><a href="#Color-subtleties">7.3 Color subtleties</a>
+<li><a href="#Ted-Turner">7.4 Printing in black/white after colorizing</a>
+<li><a href="#Color-device-configuration">7.5 Color device configuration</a>
+<li><a href="#Color-support-details">7.6 Color support details</a>
+<ul>
+<li><a href="#Color-specifications">7.6.1 Color specifications</a>
+<li><a href="#Color-specials">7.6.2 Color specials</a>
+</li></ul>
+</li></ul>
+<li><a name="toc_Index" href="#Index">Index</a>
+</li></ul>
+</div>
+
+<!-- INSTALLONLY -->
+</body></html>
+
diff --git a/Master/texmf/doc/dvips/dvips.pdf b/Master/texmf/doc/dvips/dvips.pdf
new file mode 100644
index 00000000000..ea4866c2663
--- /dev/null
+++ b/Master/texmf/doc/dvips/dvips.pdf
Binary files differ