summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/web2c/web2c.html
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/web2c/web2c.html')
-rw-r--r--Master/texmf-dist/doc/web2c/web2c.html4718
1 files changed, 4718 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/web2c/web2c.html b/Master/texmf-dist/doc/web2c/web2c.html
new file mode 100644
index 00000000000..ed9c8a4947c
--- /dev/null
+++ b/Master/texmf-dist/doc/web2c/web2c.html
@@ -0,0 +1,4718 @@
+<html lang="en">
+<head>
+<title>Web2c: A TeX implementation</title>
+<meta http-equiv="Content-Type" content="text/html">
+<meta name="description" content="Web2c: A TeX implementation">
+<meta name="generator" content="makeinfo 4.13">
+<link title="Top" rel="top" href="#Top">
+<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<!--
+This file documents the installation and use of the programs in Web2c,
+an implementation of Donald Knuth's TeX system.
+
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+2004, 2005, 2007, 2008, 2009 Karl Berry & Olaf Weber.
+
+Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that this permission notice may be stated in a translation-->
+<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">Web2c: A TeX implementation</h1>
+<div class="contents">
+<h2>Table of Contents</h2>
+<ul>
+<li><a name="toc_Top" href="#Top">Web2c</a>
+<li><a name="toc_Introduction" href="#Introduction">1 Introduction</a>
+<li><a name="toc_Installation" href="#Installation">2 Installation</a>
+<ul>
+<li><a href="#configure-options">2.1 <code>configure</code> options</a>
+<li><a href="#Compile_002dtime-options">2.2 Compile-time options</a>
+<li><a href="#Additional-targets">2.3 Additional targets</a>
+<li><a href="#Triptrap">2.4 Trip, trap, and mptrap: Torture tests</a>
+<li><a href="#Runtime-options">2.5 Runtime options</a>
+</li></ul>
+<li><a name="toc_Commonalities" href="#Commonalities">3 Commonalities</a>
+<ul>
+<li><a href="#Option-conventions">3.1 Option conventions</a>
+<li><a href="#Common-options">3.2 Common options</a>
+<li><a href="#Path-searching">3.3 Path searching</a>
+<li><a href="#Output-file-location">3.4 Output file location</a>
+<li><a href="#Three-programs">3.5 Three programs: Metafont, MetaPost, and TeX</a>
+<ul>
+<li><a href="#Initial-and-virgin">3.5.1 Initial and virgin</a>
+<li><a href="#Memory-dumps">3.5.2 Memory dumps</a>
+<ul>
+<li><a href="#Creating-memory-dumps">3.5.2.1 Creating memory dumps</a>
+<li><a href="#Determining-the-memory-dump-to-use">3.5.2.2 Determining the memory dump to use</a>
+<li><a href="#Hardware-and-memory-dumps">3.5.2.3 Hardware and memory dumps</a>
+</li></ul>
+<li><a href="#Editor-invocation">3.5.3 Editor invocation</a>
+<li><a href="#_005cinput-filenames">3.5.4 <code>\input</code> filenames</a>
+</li></ul>
+</li></ul>
+<li><a name="toc_TeX" href="#TeX">4 TeX: Typesetting</a>
+<ul>
+<li><a href="#tex-invocation">4.1 <code>tex</code> invocation</a>
+<li><a href="#Initial-TeX">4.2 Initial TeX</a>
+<li><a href="#Formats">4.3 Formats</a>
+<li><a href="#Languages-and-hyphenation">4.4 Languages and hyphenation</a>
+<ul>
+<li><a href="#MLTeX">4.4.1 MLTeX: Multi-lingual TeX</a>
+<ul>
+<li><a href="#_005ccharsubdef">4.4.1.1 <code>\charsubdef</code>: Character substitutions</a>
+<li><a href="#_005ctracingcharsubdef">4.4.1.2 <code>\tracingcharsubdef</code>: Substitution diagnostics</a>
+</li></ul>
+<li><a href="#TCX-files">4.4.2 TCX files: Character translations</a>
+<li><a href="#patgen-invocation">4.4.3 Patgen: Creating hyphenation patterns</a>
+</li></ul>
+<li><a href="#Shell-escapes">4.5 Shell escapes</a>
+<li><a href="#IPC-and-TeX">4.6 IPC and TeX</a>
+<li><a href="#TeX-extensions">4.7 TeX extensions</a>
+</li></ul>
+<li><a name="toc_Metafont" href="#Metafont">5 Metafont: Creating typeface families</a>
+<ul>
+<li><a href="#mf-invocation">5.1 <code>mf</code> invocation</a>
+<li><a href="#Initial-Metafont">5.2 Initial Metafont</a>
+<li><a href="#Modes">5.3 Modes: Device definitions for Metafont</a>
+<li><a href="#Online-Metafont-graphics">5.4 Online Metafont graphics</a>
+<li><a href="#gftodvi-invocation">5.5 GFtoDVI: Character proofs of fonts</a>
+<li><a href="#mft-invocation">5.6 MFT: Prettyprinting Metafont source</a>
+</li></ul>
+<li><a name="toc_MetaPost" href="#MetaPost">6 MetaPost: Creating technical illustrations</a>
+<ul>
+<li><a href="#mpost-invocation">6.1 <code>mpost</code> invocation</a>
+<li><a href="#Initial-MetaPost">6.2 Initial MetaPost</a>
+<li><a href="#dvitomp-invocation">6.3 DVItoMP: DVI to MPX conversion</a>
+</li></ul>
+<li><a name="toc_BibTeX" href="#BibTeX">7 BibTeX: Bibliographies</a>
+<ul>
+<li><a href="#bibtex-invocation">7.1 BibTeX invocation</a>
+<li><a href="#Basic-BibTeX-style-files">7.2 Basic BibTeX style files</a>
+</li></ul>
+<li><a name="toc_WEB" href="#WEB">8 WEB: Literate programming</a>
+<ul>
+<li><a href="#tangle-invocation">8.1 Tangle: Translate WEB to Pascal</a>
+<li><a href="#weave-invocation">8.2 Weave: Translate WEB to TeX</a>
+<li><a href="#pooltype-invocation">8.3 Pooltype: Display WEB pool files</a>
+</li></ul>
+<li><a name="toc_DVI-utilities" href="#DVI-utilities">9 DVI utilities</a>
+<ul>
+<li><a href="#dvicopy-invocation">9.1 DVIcopy: Canonicalize virtual font references</a>
+<li><a href="#dvitype-invocation">9.2 DVItype: Plain text transliteration of DVI files</a>
+<ul>
+<li><a href="#dvitype-output-example">9.2.1 DVItype output example</a>
+</li></ul>
+</li></ul>
+<li><a name="toc_Font-utilities" href="#Font-utilities">10 Font utilities</a>
+<ul>
+<li><a href="#Font-file-formats">10.1 Font file formats</a>
+<li><a href="#gftopk-invocation">10.2 GFtoPK: Generic to packed font conversion</a>
+<li><a href="#pktogf-invocation">10.3 PKtoGF: Packed to generic font conversion</a>
+<li><a href="#pktype-invocation">10.4 PKtype: Plain text transliteration of packed fonts</a>
+<li><a href="#gftype-invocation">10.5 GFtype: Plain text transliteration of generic fonts</a>
+<li><a href="#tftopl-invocation">10.6 TFtoPL: TeX font metric to property list conversion</a>
+<li><a href="#pltotf-invocation">10.7 PLtoTF: Property list to TeX font metric conversion</a>
+<li><a href="#vftovp-invocation">10.8 VFtoVP: Virtual font to virtual property lists</a>
+<li><a href="#vptovf-invocation">10.9 VPtoVF: Virtual property lists to virtual font</a>
+<li><a href="#Font-utilities-available-elsewhere">10.10 Font utilities available elsewhere</a>
+</li></ul>
+<li><a name="toc_Legalisms" href="#Legalisms">Appendix A Legalisms</a>
+<li><a name="toc_References" href="#References">Appendix B References</a>
+<li><a name="toc_Index" href="#Index">Index</a>
+</li></ul>
+</div>
+
+
+
+<div class="node">
+<a name="Top"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Introduction">Introduction</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
+
+</div>
+
+<h2 class="unnumbered">Web2c</h2>
+
+<p>This document describes how to install and use the programs in the Web2c
+implementation of the TeX system, especially for Unix systems. It
+corresponds to Web2c version 2012, released in
+May 2012.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Introduction">Introduction</a>: A brief introduction.
+<li><a accesskey="2" href="#Installation">Installation</a>: How to compile and install Web2c.
+<li><a accesskey="3" href="#Commonalities">Commonalities</a>: Option syntax, standard options, memory dumps.
+<li><a accesskey="4" href="#TeX">TeX</a>: Typesetting.
+<li><a accesskey="5" href="#Metafont">Metafont</a>: Typeface design.
+<li><a accesskey="6" href="#MetaPost">MetaPost</a>: Technical illustrations.
+<li><a accesskey="7" href="#BibTeX">BibTeX</a>: Reusable bibliographies.
+<li><a accesskey="8" href="#WEB">WEB</a>: Literate programming.
+<li><a accesskey="9" href="#DVI-utilities">DVI utilities</a>: DVI expansion.
+<li><a href="#Font-utilities">Font utilities</a>: Font format conversion.
+<li><a href="#Legalisms">Legalisms</a>: Blah blah blah.
+<li><a href="#References">References</a>: Books and such.
+<li><a href="#Index">Index</a>: General index.
+</ul>
+
+<div class="node">
+<a name="Introduction"></a>
+<p><hr>
+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 Introduction</h2>
+
+<p><a name="index-introduction-1"></a>
+This manual corresponds to version 2012 of Web2c, released in
+May 2012.
+
+ <p><a name="index-Knuth_002c-Donald-E_002e-2"></a><a name="index-g_t_0040TeX_007b_007d_002c-Web2c-implementation-of-3"></a><a name="index-Hobby_002c-John-4"></a><a name="index-Breitenlohner_002c-Peter-5"></a><dfn>Web2c</dfn> is the name of a TeX implementation, originally for Unix,
+but now also running under DOS, Amiga, and other operating systems. By
+<dfn>TeX implementation</dfn>, we mean all of the standard programs
+developed by the Stanford TeX project directed by Donald E. Knuth:
+Metafont, DVItype, GFtoDVI, BibTeX, Tangle, etc., as well as TeX
+itself. Other programs are also included: DVIcopy, written by Peter
+Breitenlohner, MetaPost and its utilities (derived from Metafont), by
+John Hobby, etc.
+
+ <p><a name="index-translation-from-WEB-to-C-6"></a><a name="index-strategy_002c-overall-7"></a>General strategy: Web2c works, as its name implies, by translating the
+WEB source in which TeX is written into C source code. Its output is
+not self-contained, however; it makes extensive use of many macros and
+functions in a library (the <samp><span class="file">web2c/lib</span></samp> directory in the sources).
+Therefore, it will not work without change on an arbitrary WEB program.
+
+ <p><a name="index-licensing-terms-8"></a><a name="index-freedom-of-Web2c-9"></a><a name="index-ice-cream-10"></a><a name="index-Henry_002c-Patrick-11"></a>Availability: All of Web2c is freely available&mdash;&ldquo;free&rdquo; both in the
+sense of no cost (free ice cream) and of having the source code to
+modify and/or redistribute (free speech). See <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>, for the practical details of how to obtain Web2c.
+
+ <p>Different parts of the Web2c distribution have different licensing
+terms, however, reflecting the different circumstances of their
+creation; consult each source file for exact details. The main
+practical implication for redistributors of Web2c is that the executables
+are covered by the GNU General Public License, and therefore anyone
+who gets a binary distribution must also get the sources, as explained
+by the terms of the GPL (see <a href="kpathsea.html#Copying">Copying</a>). The
+GPL covers the Web2c executables, including <code>tex</code>, because the Free
+Software Foundation sponsored the initial development of the Kpathsea
+library that Web2c uses. The basic source files from Stanford, however,
+have their own copyright terms or are in the public domain, and are not
+covered by the GPL.
+
+ <p><a name="index-history-12"></a><a name="index-Rokicki_002c-Tomas-13"></a><a name="index-Trickey_002c-Howard-14"></a><a name="index-Curtis_002c-Pavel-15"></a><a name="index-Morgan_002c-Tim-16"></a><a name="index-Berry_002c-Karl-17"></a><a name="index-Weber_002c-Olaf-18"></a>History: Tomas Rokicki originated the TeX-to-C system in 1987,
+working from the first change files for TeX under Unix, which were
+done primarily by Howard Trickey and Pavel Curtis. Tim Morgan then took
+over development and maintenance for a number of years; the name changed
+to Web-to-C somewhere in there. In 1990, Karl Berry became the
+maintainer. He made many changes to the original sources, and started
+using the shorter name Web2c. In 1997, Olaf Weber took over. Dozens of
+other people have contributed; their names are listed in the
+<samp><span class="file">ChangeLog</span></samp> files.
+
+ <p><a name="index-acknowledgements-19"></a><a name="index-Martin_002c-Rick-20"></a><a name="index-Morris_002c-Bob-21"></a><a name="index-Stallman_002c-Richard-22"></a>Other acknowledgements: The University of Massachusetts at Boston
+(particularly Rick Martin and Bob Morris) provided computers and ftp
+access to me for many years. Richard Stallman at the Free Software
+Foundation employed me while I wrote the original path searching library
+(for the GNU font utilities). (rms also gave us Emacs, GDB, and GCC,
+without which I cannot imagine developing Web2c.) And, of course,
+TeX would not exist in the first place without Donald E. Knuth.
+
+ <p><a name="index-reading_002c-additional-23"></a>Further reading: See <a href="#References">References</a>.
+
+<div class="node">
+<a name="Installation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Commonalities">Commonalities</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Introduction">Introduction</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">2 Installation</h2>
+
+<p><a name="index-configuration-24"></a><a name="index-compilation-25"></a><a name="index-installation-26"></a>
+(A copy of this chapter is in the distribution file <samp><span class="file">web2c/INSTALL</span></samp>.)
+
+ <p>Installing Web2c is mostly the same as installing any other
+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>One peculiarity to Web2c is that the source distribution comes in two
+files: <samp><span class="file">web.tar.gz</span></samp> and <samp><span class="file">web2c.tar.gz</span></samp>. You must retrieve and
+unpack them both. (We have two because the former archive contains the
+very large and seldom-changing original WEB source files.)
+See <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>.
+
+ <p><a name="index-mpost_0040r_007b_002c-reason-for-name-change_007d-27"></a>Another peculiarity is the MetaPost program. Although it has been
+installed previously as <code>mp</code>, as of Web2c 7.0 the installed name is
+now <code>mpost</code>, to avoid conflict with the <code>mp</code> program that does
+prettyprinting. This approach was recommended by the MetaPost author,
+John Hobby. If you as the TeX administrator wish to make it
+available under its shorter name as well, you will have to set up a link
+or some such yourself. And of course individual users can do the same.
+
+ <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>). See also the Web2c home page,
+<a href="http://www.tug.org/web2c">http://www.tug.org/web2c</a>.
+
+ <p>Points worth repeating:
+
+ <ul>
+<li><a name="index-directory-structure-28"></a><a name="index-basic-fonts-and-macros-29"></a><a name="index-fonts_002c-basic-30"></a><a name="index-macros_002c-basic-31"></a>Before starting the standard compilation and installation you must
+install the basic fonts, macros, and other library files.
+See <a href="kpathsea.html#Installation">Installation</a>.
+
+ <li>If you do not wish to use the standard file locations, see <a href="kpathsea.html#Changing-search-paths">Changing search paths</a>.
+
+ <li>Some Web2c features are enabled or disabled at <code>configure</code> time,
+as described in the first section below.
+
+ </ul>
+
+<ul class="menu">
+<li><a accesskey="1" href="#configure-options">configure options</a>: Especially --with and --enable.
+<li><a accesskey="2" href="#Compile_002dtime-options">Compile-time options</a>: Unusual -D's.
+<li><a accesskey="3" href="#Additional-targets">Additional targets</a>: Breaking down the task.
+<li><a accesskey="4" href="#Triptrap">Triptrap</a>: Running the torture tests.
+<li><a accesskey="5" href="#Runtime-options">Runtime options</a>: Array sizes and the like.
+</ul>
+
+<div class="node">
+<a name="configure-options"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Compile_002dtime-options">Compile-time options</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.1 <code>configure</code> options</h3>
+
+<p><a name="index-configuration_002c-compile_002dtime-32"></a><a name="index-compile_002dtime-options-33"></a><a name="index-configure-_002d_002dwith_002f_002d_002denable-_0040r_007boptions_007d-34"></a>This section gives pointers to descriptions of the &lsquo;<samp><span class="samp">--with</span></samp>&rsquo; and
+&lsquo;<samp><span class="samp">--enable</span></samp>&rsquo; <code>configure</code> arguments that Web2c accepts. Some are
+specific to Web2c, others are generic to all Kpathsea-using programs.
+
+ <p>For a list of all the options <code>configure</code> accepts, run
+&lsquo;<samp><span class="samp">configure --help</span></samp>&rsquo;. The generic options are listed first, and the
+package-specific options come last.
+
+ <p>For a description of the generic options (which mainly allow you to
+specify installation directories) and basic <code>configure</code> usage,
+see <a href="autoconf.html#Invoking-configure">Running <code>configure</code> scripts</a>, a copy is in the file <samp><span class="file">kpathsea/CONFIGURE</span></samp>.
+
+ <dl>
+<dt>&lsquo;<samp><span class="samp">--disable-dump-share</span></samp>&rsquo;<dd>Do not make fmt/base/mem files sharable across different endian
+architectures. See <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">--without-maketexmf-default</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--without-maketexpk-default</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--without-maketextfm-default</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--with-maketextex-default</span></samp>&rsquo;<dd>Enable or disable the dynamic generation programs. See <a href="kpathsea.html#mktex-configuration">mktex configuration</a>. The defaults are the inverse of
+the options, i.e., everything is enabled except <code>mktextex</code>.
+
+ <br><dt>&lsquo;<samp><span class="samp">--enable-shared</span></samp>&rsquo;<dd>Build Kpathsea as a shared library. See <a href="kpathsea.html#Shared-library">Shared library</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">--with-editor=</span><var>cmd</var></samp>&rsquo;<dd>Change the default editor invoked by the &lsquo;<samp><span class="samp">e</span></samp>&rsquo; interactive command.
+See <a href="#Editor-invocation">Editor invocation</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">--with-epsfwin</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--with-hp2627win</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--with-mftalkwin</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--with-nextwin</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--with-regiswin</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--with-suntoolswin</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--with-tektronixwin</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--with-unitermwin</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--with-x</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--with-x-toolkit=KIT</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--with-x11win</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--with-x11</span></samp>&rsquo;<dd>Define Metafont graphics support; by default, no graphics support is
+enabled. See <a href="#Online-Metafont-graphics">Online Metafont graphics</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">--x-includes=</span><var>dir</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">--x-libraries=</span><var>dir</var></samp>&rsquo;<dd>Define the locations of the X11 include files and libraries; by default,
+<code>configure</code> does its best to guess). See <a href="autoconf.html#Optional-Features">Optional Features</a>. A copy is in <samp><span class="file">kpathsea/CONFIGURE</span></samp>.
+</dl>
+
+<div class="node">
+<a name="Compile-time-options"></a>
+<a name="Compile_002dtime-options"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Additional-targets">Additional targets</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#configure-options">configure options</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.2 Compile-time options</h3>
+
+<p><a name="index-compile_002dtime-options-35"></a><a name="index-g_t_0040samp_007b_0023define_007d-options-36"></a><a name="index-g_t_002dD-_0040r_007bcompiler-options_007d-37"></a>In addition to the <code>configure</code> options listed in the previous
+section, there are a few things that can be affected at compile-time
+with C definitions, rather than with <code>configure</code>. Using any of
+these is unusual.
+
+ <p>To specify extra compiler flags (&lsquo;<samp><span class="samp">-D</span><var>name</var></samp>&rsquo; in this case), the
+simplest thing to do is:
+<pre class="example"> make XCFLAGS="<var>ccoptions</var>"
+</pre>
+ <p class="noindent">You can also set the <code>CFLAGS</code> environment variable before
+running <code>configure</code>. See <a href="kpathsea.html#configure-environment">configure environment</a>.
+
+ <p>Anyway, here are the possibilities:
+
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-DFIXPT</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-DNO_MF_ASM</span></samp>&rsquo;<dd><a name="index-FIXPT-38"></a><a name="index-fixed_002dpoint-arithmetic-39"></a><a name="index-floating_002dpoint-arithmetic-40"></a><a name="index-assembly-language-routines-41"></a><a name="index-fraction-routines-42"></a>Use the original WEB fixed-point routines for Metafont and MetaPost
+arithmetic calculations regarding fractions. By default,
+assembly-language routines are used on x86 hardware with GNU C (unless
+&lsquo;<samp><span class="samp">NO_MF_ASM</span></samp>&rsquo; is defined), and floating-point routines are used
+otherwise.
+
+ <br><dt>&lsquo;<samp><span class="samp">-DIPC_DEBUG</span></samp>&rsquo;<dd><a name="index-IPC_005fDEBUG-43"></a>Report on various interprocess communication activities. See <a href="#IPC-and-TeX">IPC and TeX</a>.
+</dl>
+
+<div class="node">
+<a name="Additional-targets"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Triptrap">Triptrap</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Compile_002dtime-options">Compile-time options</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.3 Additional targets</h3>
+
+<p><a name="index-additional-Make-targets-44"></a><a name="index-targets_002c-additional-Make-45"></a><a name="index-Make-targets_002c-additional-46"></a>
+Web2c has several Make targets besides the standard ones. You can invoke
+these either in the top level directory of the source distribution (the
+one containing <samp><span class="file">kpathsea/</span></samp> and <samp><span class="file">web2c/</span></samp>), or in the
+<samp><span class="file">web2c/</span></samp> directory.
+
+ <dl>
+<dt>&lsquo;<samp><span class="samp">c-sources</span></samp>&rsquo;<dd><a name="index-c_002dsources-_0040r_007bMakefile-target_007d-47"></a><a name="index-non_002dUnix-system_002c-compiling-on-48"></a>Make only the C files, translated from the Web sources, presumably
+because you want to take them to a non-Unix machine.
+
+ <br><dt>&lsquo;<samp><span class="samp">formats</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">install-formats</span></samp>&rsquo;<dd><a name="index-formats-_0040r_007bMake-target_007d-49"></a><a name="index-install_002dformats-_0040r_007bMake-target_007d-50"></a>Make or install all the memory dumps (see <a href="#Memory-dumps">Memory dumps</a>). By
+default, the standard plain formats plus <samp><span class="file">latex.fmt</span></samp> are made. You
+can add other formats by redefining the <code>fmts</code>, <code>bases</code>, and
+<code>mems</code> variables. See the top of <samp><span class="file">web2c/Makefile</span></samp> for the
+possibilities.
+
+ <br><dt>&lsquo;<samp><span class="samp">fmts</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">install-fmts</span></samp>&rsquo;<dd><a name="index-fmts-_0040r_007bMake-target_007d-51"></a><a name="index-install_002dfmts-_0040r_007bMake-target_007d-52"></a>Make or install the TeX <samp><span class="file">.fmt</span></samp> files. See <a href="#Initial-TeX">Initial TeX</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">bases</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">install-bases</span></samp>&rsquo;<dd><a name="index-bases-_0040r_007bMake-target_007d-53"></a><a name="index-install_002dbases-_0040r_007bMake-target_007d-54"></a>
+Make or install the Metafont <samp><span class="file">.base</span></samp> files. See <a href="#Initial-Metafont">Initial Metafont</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">mems</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">install-mems</span></samp>&rsquo;<dd><a name="index-mems-_0040r_007bMake-target_007d-55"></a><a name="index-install_002dmems-_0040r_007bMake-target_007d-56"></a>Make or install the MetaPost <samp><span class="file">.mem</span></samp> files. See <a href="#Initial-MetaPost">Initial MetaPost</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">triptrap</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">trip</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">trap</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">mptrap</span></samp>&rsquo;<dd><a name="index-triptrap-_0040r_007bMake-target_007d-57"></a><a name="index-trip-_0040r_007bMake-target_007d-58"></a><a name="index-trap-_0040r_007bMake-target_007d-59"></a><a name="index-mptrap-_0040r_007bMake-target_007d-60"></a>To run the torture tests for TeX, Metafont, and MetaPost
+(respectively). See the next section.
+
+ </dl>
+
+<div class="node">
+<a name="Triptrap"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Runtime-options">Runtime options</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Additional-targets">Additional targets</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.4 Trip, trap, and mptrap: Torture tests</h3>
+
+<p><a name="index-Gruff_002c-Billy-Goat-61"></a><a name="index-trip-test-62"></a><a name="index-trap-test-63"></a><a name="index-mptrap-test-64"></a><a name="index-torture-tests-65"></a>
+<a name="index-tripman_002etex-66"></a><a name="index-trapman_002etex-67"></a><a name="index-mptrap_002ereadme-68"></a>To validate your TeX, Metafont, and MetaPost executables, run
+&lsquo;<samp><span class="samp">make triptrap</span></samp>&rsquo;. This runs the trip, trap, and mptrap &ldquo;torture
+tests&rdquo;. See the files <samp><span class="file">triptrap/tripman.tex</span></samp>,
+<samp><span class="file">triptrap/trapman.tex</span></samp>, and <samp><span class="file">triptrap/mptrap.readme</span></samp> for
+detailed information and background on the tests.
+
+ <p>The differences between your executables' behavior and the standard
+values will show up on your terminal. The usual differences (these are
+all acceptable) are:
+
+ <ul>
+<li>string usage and table sizes;
+<li>glue set ratios;
+<li>&lsquo;<samp><span class="samp">down4</span></samp>&rsquo;, &lsquo;<samp><span class="samp">right4</span></samp>&rsquo;, and &lsquo;<samp><span class="samp">y4</span></samp>&rsquo; commands in DVItype output;
+<li>dates and times.
+</ul>
+
+<p class="noindent">Any other differences are trouble. The most common culprit in
+the past has been compiler bugs, especially when optimizing.
+See <a href="kpathsea.html#TeX-or-Metafont-failing">TeX or Metafont failing</a>.
+
+ <p>The files <samp><span class="file">trip.diffs</span></samp>, <samp><span class="file">mftrap.diffs</span></samp>, and
+<samp><span class="file">mptrap.diffs</span></samp> in the <samp><span class="file">triptrap</span></samp> directory show the standard
+diffs against the original output. If you diff your diffs against these
+files, you should come up clean. For example
+<pre class="example"> make trip &gt;&amp;mytrip.diffs
+ diff triptrap/trip.diffs mytrip.diffs
+</pre>
+ <p>To run the tests separately, use the targets <code>trip</code>, <code>trap</code>,
+and <code>mptrap</code>.
+
+ <p>To run simple tests for all the programs as well as the torture tests,
+run &lsquo;<samp><span class="samp">make check</span></samp>&rsquo;. You can compare the output to the distributed
+file <samp><span class="file">tests/check.log</span></samp> if you like.
+
+<div class="node">
+<a name="Runtime-options"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Triptrap">Triptrap</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.5 Runtime options</h3>
+
+<p><a name="index-runtime-options-69"></a>
+<a name="index-configuration-file-values-70"></a><a name="index-array-sizes-71"></a>Besides the configure- and compile-time options described in the
+previous sections, you can control a number of parameters (in
+particular, array sizes) in the <samp><span class="file">texmf.cnf</span></samp> runtime file read by
+Kpathsea (see <a href="kpathsea.html#Config-files">Config files</a>).
+
+ <p>Rather than exhaustively listing them here, please see the last section
+of the distributed <samp><span class="file">kpathsea/texmf.cnf</span></samp>. Some of the more
+interesting values:
+
+ <dl>
+<dt>&lsquo;<samp><span class="samp">main_memory</span></samp>&rsquo;<a name="index-main_005fmemory-72"></a><dd>Total words of memory available, for TeX, Metafont, and MetaPost.
+Must remake the format file after changing.
+
+ <br><dt>&lsquo;<samp><span class="samp">extra_mem_bot</span></samp>&rsquo;<a name="index-extra_005fmem_005fbot-73"></a><dd><a name="index-boxes_002c-memory-for-74"></a><a name="index-glue_002c-memory-for-75"></a><a name="index-breakpoints_002c-memory-for-76"></a><a name="index-PiC_0040TeX_007b_007d_002c-increasing-memory-for-77"></a>Extra space for &ldquo;large&rdquo; TeX data structures: boxes, glue,
+breakpoints, et al. If you use PiCTeX, you may well want to set this.
+
+ <br><dt>&lsquo;<samp><span class="samp">font_mem_size</span></samp>&rsquo;<a name="index-font_005fmem_005fsize-78"></a><dd><a name="index-TFM-files_002c-memory-for-79"></a>Words of font info available for TeX; this is approximately the total
+size of all TFM files read.
+
+ <br><dt>&lsquo;<samp><span class="samp">hash_extra</span></samp>&rsquo;<a name="index-hash_005fextra-80"></a><dd><a name="index-control-sequence-names_002c-space-for-81"></a><a name="index-hash-table_002c-increasing-size-of-82"></a>Additional space for the hash table of control sequence names.
+Approximately 10,000 control sequences can be stored in the main hash
+table; if you have a large book with numerous cross-references,
+this might not be enough, and thus you will want to set <code>hash_extra</code>.
+
+ </dl>
+
+ <p><a name="index-array-limit_002c-fixed-83"></a><a name="index-swap-space_002c-as-array-limit-84"></a><a name="index-reallocation-of-arrays-85"></a><a name="index-dynamic-array-allocation-86"></a>Of course, ideally all arrays would be dynamically expanded as
+necessary, so the only limiting factor would be the amount of swap space
+available. Unfortunately, implementing this is extremely difficult, as
+the fixed size of arrays is assumed in many places throughout the source
+code. These runtime limits are a practical compromise between the
+compile-time limits in previous versions, and truly dynamic arrays. (On
+the other hand, the Web2c BibTeX implementation does do dynamic
+reallocation of some arrays.)
+
+<div class="node">
+<a name="Commonalities"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#TeX">TeX</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 Commonalities</h2>
+
+<p><a name="index-commonalities-87"></a>
+Many aspects of the TeX system are the same among more than one
+program, so we describe all those pieces together, here.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Option-conventions">Option conventions</a>: -- or -, = or ` ' for values.
+<li><a accesskey="2" href="#Common-options">Common options</a>: --help --version --verbose, and TeX/MF/MP options.
+<li><a accesskey="3" href="#Path-searching">Path searching</a>: Features of the common path searching library.
+<li><a accesskey="4" href="#Output-file-location">Output file location</a>: TEXMFOUTPUT allows output in places other than `.'.
+<li><a accesskey="5" href="#Three-programs">Three programs</a>: TeX, Metafont, and MetaPost have a lot in common.
+</ul>
+
+<div class="node">
+<a name="Option-conventions"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Common-options">Common options</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Commonalities">Commonalities</a>
+
+</div>
+
+<h3 class="section">3.1 Option conventions</h3>
+
+<p><a name="index-option-conventions-88"></a><a name="index-conventions-for-options_002c-89"></a>
+<a name="index-getopt_005flong_005fonly-90"></a>To provide a clean and consistent behavior, we chose to have all these
+programs use the GNU function <code>getopt_long_only</code> to parse command
+lines. However, we do use in a restricted mode, where all the options
+have to come before the rest of the arguments.
+
+ <p><a name="index-g_t_002d-_0040r_007bstarts-option-names_007d-91"></a><a name="index-g_t_002d_002d-_0040r_007bstarts-option-names_007d-92"></a>As a result, you can:
+ <ul>
+<li>use &lsquo;<samp><span class="samp">-</span></samp>&rsquo; or &lsquo;<samp><span class="samp">--</span></samp>&rsquo; to start an option name;
+
+ <li>use any unambiguous abbreviation for an option name;
+
+ <li>separate option names and values with either &lsquo;<samp><span class="samp">=</span></samp>&rsquo; or one or more
+spaces;
+
+ <li><a name="index-g_t_002d-_0040r_007bstarting-a-filename_007d-93"></a><a name="index-filenames-starting-with-_0040samp_007b_002d_007d-94"></a>use filenames that would otherwise look like options by putting them
+after an option &lsquo;<samp><span class="samp">--</span></samp>&rsquo;.
+</ul>
+
+ <p>By convention, non-option arguments, if specified, generally define the
+name of an input file, as documented for each program.
+
+ <p>If a particular option with a value is given more than once, it is the
+last value that counts.
+
+ <p>For example, the following command line specifies the options
+&lsquo;<samp><span class="samp">foo</span></samp>&rsquo;, &lsquo;<samp><span class="samp">bar</span></samp>&rsquo;, and &lsquo;<samp><span class="samp">verbose</span></samp>&rsquo;; gives the value &lsquo;<samp><span class="samp">baz</span></samp>&rsquo;
+to the &lsquo;<samp><span class="samp">abc</span></samp>&rsquo; option, and the value &lsquo;<samp><span class="samp">xyz</span></samp>&rsquo; to the &lsquo;<samp><span class="samp">quux</span></samp>&rsquo;
+option; and specifies the filename <samp><span class="file">-myfile-</span></samp>.
+
+<pre class="example"> -foo --bar -verb -abc=baz -quux karl --quux xyz -- -myfile-
+</pre>
+ <div class="node">
+<a name="Common-options"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Path-searching">Path searching</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Option-conventions">Option conventions</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Commonalities">Commonalities</a>
+
+</div>
+
+<h3 class="section">3.2 Common options</h3>
+
+<p><a name="index-common-options-95"></a>All of these programs accept the standard GNU &lsquo;<samp><span class="samp">--help</span></samp>&rsquo; and
+&lsquo;<samp><span class="samp">--version</span></samp>&rsquo; options, and several programs accept
+&lsquo;<samp><span class="samp">--verbose</span></samp>&rsquo;. Rather than writing identical descriptions for
+every program, they are described here.
+
+ <dl>
+<dt>&lsquo;<samp><span class="samp">--help</span></samp>&rsquo;<dd><a name="index-g_t_002d_002dhelp-_0040r_007bcommon-option_007d-96"></a><a name="index-help_002c-online-97"></a>Print a usage message listing basic usage and all available options to
+standard output, then exit successfully.
+
+ <br><dt>&lsquo;<samp><span class="samp">--verbose</span></samp>&rsquo;<dd><a name="index-g_t_002d_002dverbose-_0040r_007bcommon-option_007d-98"></a><a name="index-verbosity_002c-enabling-99"></a>Print progress reports to standard output.
+
+ <br><dt>&lsquo;<samp><span class="samp">--version</span></samp>&rsquo;<dd><a name="index-g_t_002d_002dversion-_0040r_007bcommon-option_007d-100"></a><a name="index-version-number_002c-finding-101"></a>Print the version number to standard output, then exit successfully.
+</dl>
+
+ <p>TeX, Metafont, and MetaPost have a number of additional options in
+common:
+
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-file-line-error</span></samp>&rsquo;<dd><a name="index-g_t_002dfile_002dline_002derror-102"></a><dt>&lsquo;<samp><span class="samp">-no-file-line-error</span></samp>&rsquo;<dd><a name="index-g_t_002dno_002dfile_002dline_002derror-103"></a><a name="index-g_t_002dfile_002dline_002derror_002dstyle-104"></a><a name="index-changing-error-messages-style-105"></a>Change (or do not change) the way error messages are printed. The
+alternate style looks like error messages from many compilers and is
+easier to parse for some editors that invoke TeX. This option used
+to be called &lsquo;<samp><span class="samp">-file-line-error-style</span></samp>&rsquo;.
+
+ <br><dt>&lsquo;<samp><span class="samp">-fmt=</span><var>dumpname</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-base=</span><var>dumpname</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-mem=</span><var>dumpname</var></samp>&rsquo;<dd><a name="index-g_t_002dfmt_003d_0040var_007bdumpname_007d-106"></a><a name="index-g_t_002dbase_003d_0040var_007bdumpname_007d-107"></a><a name="index-g_t_002dmem_003d_0040var_007bdumpname_007d-108"></a><a name="index-dump-file-109"></a>Use <var>dumpname</var> instead of the program name or a &lsquo;<samp><span class="samp">%&amp;</span></samp>&rsquo; line to
+determine the name of the memory dump file read (&lsquo;<samp><span class="samp">fmt</span></samp>&rsquo; for TeX,
+&lsquo;<samp><span class="samp">base</span></samp>&rsquo; for Metafont, &lsquo;<samp><span class="samp">mem</span></samp>&rsquo; for MetaPost). See <a href="#Memory-dumps">Memory dumps</a>. Also sets the program name to <var>dumpname</var> if no
+&lsquo;<samp><span class="samp">-progname</span></samp>&rsquo; option was given.
+
+ <br><dt>&lsquo;<samp><span class="samp">-halt-on-error</span></samp>&rsquo;<dd><a name="index-g_t_002dhalt_002don_002derror-110"></a><a name="index-stopping-at-the-first-error-111"></a>Stop processing and exit when an error occurs, as opposed to the normal
+process of trying to recover and continue.
+
+ <br><dt>&lsquo;<samp><span class="samp">-ini</span></samp>&rsquo;<dd><a name="index-g_t_002dini-112"></a><a name="index-program-names_002c-special-113"></a><a name="index-initial-form_002c-enabling-114"></a>Enable the &ldquo;initial&rdquo; form of the program (see <a href="#Initial-and-virgin">Initial and virgin</a>). This is implicitly set if the program name is <code>initex</code>
+resp. <code>inimf</code>.
+
+ <br><dt>&lsquo;<samp><span class="samp">-interaction=</span><var>string</var></samp>&rsquo;<dd><a name="index-g_t_002dinteraction_003d_0040var_007bstring_007d-115"></a><a name="index-interaction-mode-116"></a>Set the interaction mode from the command line. The <var>string</var> must
+be one of &lsquo;<samp><span class="samp">batchmode</span></samp>&rsquo;, &lsquo;<samp><span class="samp">nonstopmode</span></samp>&rsquo;, &lsquo;<samp><span class="samp">scrollmode</span></samp>&rsquo;, or
+&lsquo;<samp><span class="samp">errorstopmode</span></samp>&rsquo;.
+
+ <br><dt>&lsquo;<samp><span class="samp">-jobname=</span><var>string</var></samp>&rsquo;<dd><a name="index-g_t_002djobname_003d_0040var_007bstring_007d-117"></a><a name="index-job-name-118"></a>Set the job name to <var>string</var>, instead of deriving it from the name
+of the input file.
+
+ <br><dt>&lsquo;<samp><span class="samp">-kpathsea-debug=</span><var>number</var></samp>&rsquo;<dd><a name="index-g_t_002dkpathsea_002ddebug_003d_0040var_007bnumber_007d-119"></a><a name="index-KPATHSEA_005fDEBUG-120"></a><a name="index-debugging-flags_002c-specifying-121"></a><a name="index-path-searching-debugging-122"></a>Set path searching debugging flags according to the bits of <var>number</var>
+(see <a href="kpathsea.html#Debugging">Debugging</a>). You can also specify this in
+<code>KPATHSEA_DEBUG</code> environment variable (for all Web2c programs).
+(The command line value overrides.) The most useful value is &lsquo;<samp><span class="samp">-1</span></samp>&rsquo;,
+to get all available output.
+
+ <br><dt>&lsquo;<samp><span class="samp">-output-directory=</span><var>dirname</var></samp>&rsquo;<dd><a name="index-g_t_002doutput_002ddirectory-123"></a><a name="index-output-directory_002c-specifying-124"></a>Specify the directory <var>dirname</var> to which output files are written.
+Also look for input files in <var>dirname</var> first, before looking along
+the normal search path. See <a href="#Output-file-location">Output file location</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">-parse-first-line</span></samp>&rsquo;<dd><a name="index-g_t_002dparse_002dfirst_002dline-125"></a><dt>&lsquo;<samp><span class="samp">-no-parse-first-line</span></samp>&rsquo;<dd><a name="index-g_t_002dno_002dparse_002dfirst_002dline-126"></a><a name="index-parsing-the-first-line-127"></a>Check or disable checking whether the first line of the main input
+file starts with &lsquo;<samp><span class="samp">%&amp;</span></samp>&rsquo;, and parse it if it does. This line can be
+used specify the format and/or a TCX file.
+
+ <br><dt>&lsquo;<samp><span class="samp">-progname=</span><var>string</var></samp>&rsquo;<dd><a name="index-g_t_002dprogname_003d_0040var_007bstring_007d-128"></a><a name="index-binaries_002c-linking-129"></a><a name="index-linking-binaries-130"></a><a name="index-program-names_002c-special-131"></a>Set program (and memory dump) name to <var>string</var>. This may affect the
+search paths and other values used (see <a href="kpathsea.html#Config-files">Config files</a>). Using this option is equivalent to making a link named
+<var>string</var> to the binary and then invoking the binary under that
+name. See <a href="#Memory-dumps">Memory dumps</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">-recorder</span></samp>&rsquo;<dd><a name="index-g_t_002drecorder-132"></a><a name="index-file-recorder-133"></a>Enable the filename recorder. This makes the program save a list of the
+opened files into a file with (by default) extension &lsquo;<samp><span class="samp">.fls</span></samp>&rsquo;. For
+Aleph, this option is always on, and the file has extension &lsquo;<samp><span class="samp">.ofl</span></samp>&rsquo;.
+
+ <p>Ordinarily, the &lsquo;<samp><span class="samp">.fls</span></samp>&rsquo; file is written to the same location as
+the &lsquo;<samp><span class="samp">.log</span></samp>&rsquo; file, for example, respecting
+<samp><span class="option">-output-directory</span></samp> if it is given (see <a href="#Output-file-location">Output file location</a>). However, if TeX processing is done on the command line
+(or in response to the &lsquo;<samp><span class="samp">**</span></samp>&rsquo; prompt), the &lsquo;<samp><span class="samp">.fls</span></samp>&rsquo; might be
+written to the current directory, or include an integer (the current
+pid), as in <samp><span class="file">texput1234.fls</span></samp>. You can use <samp><span class="option">-jobname</span></samp> to
+explicitly set the basename.
+
+ <br><dt>&lsquo;<samp><span class="samp">-translate-file=</span><var>tcxfile</var></samp>&rsquo;<dd><a name="index-g_t_002dtranslate_002dfile_003d_0040var_007btcxfile_007d-134"></a><a name="index-translation-file-for-_0040TeX_007b_007d_002c-specifying-135"></a><a name="index-g_t_002etcx-_0040r_007bcharacter-translation-files_007d-136"></a><a name="index-first-line-of-the-main-input-file-137"></a>Use <var>tcxfile</var> to define which characters are printable and translations
+between the internal and external character sets. Moreover,
+<var>tcxfile</var> can be explicitly declared in the first line of the main
+input file &lsquo;<samp><span class="samp">%&amp; -translate-file=</span><var>tcxfile</var></samp>&rsquo;.
+This is the recommended method for portability reasons.
+See <a href="#TCX-files">TCX files</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">-8bit</span></samp>&rsquo;<dd><a name="index-g_t_002d8bit-138"></a><a name="index-g_t8-bit-clean-139"></a><a name="index-g_t8-bit-clean-output_002c-specifying-140"></a>This option specifies that by default all characters should be
+considered printable. If &lsquo;<samp><span class="samp">-translate-file</span></samp>&rsquo; was given as well, then the
+TCX file may mark characters as non-printable.
+
+ </dl>
+
+<div class="node">
+<a name="Path-searching"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Output-file-location">Output file location</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Common-options">Common options</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Commonalities">Commonalities</a>
+
+</div>
+
+<h3 class="section">3.3 Path searching</h3>
+
+<p><a name="index-path-searching-141"></a>
+<a name="index-texmf_002ecnf-142"></a><a name="index-configuration-file-reading-143"></a>All of the Web2c programs, including TeX, which do path searching use
+the Kpathsea routines to do so. The precise names of the environment
+and configuration file variables which get searched for particular file
+formatted are therefore documented in the Kpathsea manual
+(see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). Reading
+<samp><span class="file">texmf.cnf</span></samp> (see <a href="kpathsea.html#Config-files">Config files</a>), invoking
+<code>mktex...</code> scripts (see <a href="kpathsea.html#mktex-scripts">mktex scripts</a>), and so on are all handled by Kpathsea.
+
+ <p><a name="index-font-aliases-144"></a><a name="index-aliases-for-fonts-145"></a><a name="index-texfonts_002emap-146"></a>The programs which read fonts make use of another Kpathsea feature:
+<samp><span class="file">texfonts.map</span></samp>, which allows arbitrary aliases for the actual names
+of font files; for example, &lsquo;<samp><span class="samp">Times-Roman</span></samp>&rsquo; for &lsquo;<samp><span class="samp">ptmr8r.tfm</span></samp>&rsquo;.
+The distributed (and installed by default) <samp><span class="file">texfonts.map</span></samp> includes
+aliases for many widely available PostScript fonts by their PostScript
+names.
+
+<div class="node">
+<a name="Output-file-location"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Three-programs">Three programs</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Path-searching">Path searching</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Commonalities">Commonalities</a>
+
+</div>
+
+<h3 class="section">3.4 Output file location</h3>
+
+<p><a name="index-output-file-location-147"></a><a name="index-current-directory_002c-used-for-output-148"></a><a name="index-g_t_002e_0040r_007b_002c-used-for-output_007d-149"></a>All the programs generally follow the usual convention for output files.
+Namely, they are placed in the directory current when the program is
+run, regardless of any input file location; or, in a few cases, output
+is to standard output.
+
+ <p>For example, if you run &lsquo;<samp><span class="samp">tex /tmp/foo</span></samp>&rsquo;, for example, the output
+will be in <samp><span class="file">./foo.dvi</span></samp> and <samp><span class="file">./foo.log</span></samp>, not
+<samp><span class="file">/tmp/foo.dvi</span></samp> and <samp><span class="file">/tmp/foo.log</span></samp>.
+
+ <p><a name="index-g_t_002doutput_002ddirectory-150"></a><a name="index-output-directory_002c-specifying-151"></a><a name="index-readonly-directory_002c-running-_0040TeX_007b_007d-in-152"></a>You can use the &lsquo;<samp><span class="samp">-output-directory</span></samp>&rsquo; option to cause all output
+files that would normally be written in the current directory to be
+written in the specified directory instead. See <a href="#Common-options">Common options</a>.
+
+ <p><a name="index-TEXMFOUTPUT_0040r_007b_002c-used-if-_0040samp_007b_002e_007d-unwritable_007d-153"></a><a name="index-readonly-directory_002c-running-_0040TeX_007b_007d-in-154"></a>If the current directory is not writable, and &lsquo;<samp><span class="samp">-output-directory</span></samp>&rsquo;
+is not specified, the main programs (TeX, Metafont, MetaPost, and
+BibTeX) make an exception: if the config file or environment
+variable value <code>TEXMFOUTPUT</code> is set (it is not by default),
+output files are written to the directory specified.
+
+ <p><a name="index-TEXMFOUTPUT_0040r_007b_002c-used-for-reading_007d-155"></a><code>TEXMFOUTPUT</code> is also checked for input files, as TeX often
+generates files that need to be subsequently read; for input, no
+suffixes (such as &lsquo;<samp><span class="samp">.tex</span></samp>&rsquo;) are added by default and no exhaustive
+path searching is done, the input name is
+simply checked as given.
+
+<div class="node">
+<a name="Three-programs"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Output-file-location">Output file location</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Commonalities">Commonalities</a>
+
+</div>
+
+<h3 class="section">3.5 Three programs: Metafont, MetaPost, and TeX</h3>
+
+<p><a name="index-three-programs-156"></a><a name="index-g_t_0040TeX_007b_007d_002c-Metafont_002c-and-MetaPost-157"></a><a name="index-Metafont_002c-MetaPost_002c-and-_0040TeX_007b_007d-158"></a><a name="index-MetaPost_002c-_0040TeX_007b_007d_002c-and-Metafont-159"></a>
+TeX, Metafont, and MetaPost have a number of features in common.
+Besides the ones here, the common command-line options are described in
+the previous section. The configuration file options that let you
+control some array sizes and other features are described in
+<a href="#Runtime-options">Runtime options</a>.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Initial-and-virgin">Initial and virgin</a>: Making memory dumps vs. production runs.
+<li><a accesskey="2" href="#Memory-dumps">Memory dumps</a>: .fmt/.base files for fast startup.
+<li><a accesskey="3" href="#Editor-invocation">Editor invocation</a>: The `e' response at errors.
+<li><a accesskey="4" href="#g_t_005cinput-filenames">\input filenames</a>: ~ and $ expansion in TeX/MF/MP.
+</ul>
+
+<div class="node">
+<a name="Initial-and-virgin"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Memory-dumps">Memory dumps</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Three-programs">Three programs</a>
+
+</div>
+
+<h4 class="subsection">3.5.1 Initial and virgin</h4>
+
+<p><a name="index-executables_002c-shared-initial-and-virgin-160"></a>The TeX and Metafont programs each have two main variants, called
+<dfn>initial</dfn> and <dfn>virgin</dfn>. MetaPost no longer makes this
+distinction.
+
+ <p>The initial form is enabled if:
+ <ol type=1 start=1>
+<li><a name="index-g_t_002dini-161"></a>the &lsquo;<samp><span class="samp">-ini</span></samp>&rsquo; option was specified; or
+<li>the program name is <samp><span class="file">initex</span></samp> resp. <samp><span class="file">inimf</span></samp>; or
+<li>the first line of the main input file is &lsquo;<samp><span class="samp">%&amp;ini</span></samp>&rsquo;;
+ </ol>
+otherwise, the virgin form is used.
+
+ <p><a name="index-virgin-programs-162"></a><a name="index-production-use-163"></a>The <dfn>virgin</dfn> form is the one generally invoked for production use.
+The first thing it does is read a memory dump (see <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a>), and then proceeds on with the main job.
+
+ <p><a name="index-initial-programs-164"></a><a name="index-initializations_002c-lengthy-165"></a>The <dfn>initial</dfn> form is generally used only to create memory dumps
+(see the next section). It starts up more slowly than the virgin form,
+because it must do lengthy initializations that are encapsulated in the
+memory dump file.
+
+<div class="node">
+<a name="Memory-dumps"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Editor-invocation">Editor invocation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Initial-and-virgin">Initial and virgin</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Three-programs">Three programs</a>
+
+</div>
+
+<h4 class="subsection">3.5.2 Memory dumps</h4>
+
+<p><a name="index-memory-dumps-166"></a>
+<a name="index-dumping-memory-167"></a><a name="index-macros_002c-predefining-in-memory-dumps-168"></a><a name="index-predefined-macros-and-memory-dumps-169"></a>In typical use, TeX and Metafont require a large number of
+macros to be predefined; therefore, they support <dfn>memory dump</dfn>
+files, which can be read much more efficiently than ordinary source
+code.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Creating-memory-dumps">Creating memory dumps</a>
+<li><a accesskey="2" href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a>
+<li><a accesskey="3" href="#Hardware-and-memory-dumps">Hardware and memory dumps</a>
+</ul>
+
+<div class="node">
+<a name="Creating-memory-dumps"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Memory-dumps">Memory dumps</a>
+
+</div>
+
+<h5 class="subsubsection">3.5.2.1 Creating memory dumps</h5>
+
+<p><a name="index-memory-dumps_002c-creating-170"></a><a name="index-creating-memory-dumps-171"></a><a name="index-writing-memory-dumps-172"></a>
+The programs all create memory dumps in slightly idiosyncratic (thought
+substantially similar) way, so we describe the details in separate
+sections (references below). The basic idea is to run the initial
+version of the program (see <a href="#Initial-and-virgin">Initial and virgin</a>), read the source
+file to define the macros, and then execute the <code>\dump</code> primitive.
+
+ <p>Also, each program uses a different filename extension for its memory
+dumps, since although they are completely analogous they are not
+interchangeable (TeX cannot read a Metafont memory dump, for
+example).
+
+ <p>Here is a list of filename extensions with references to examples of
+creating memory dumps:
+
+ <dl>
+<dt>TeX<dd>(&lsquo;<samp><span class="samp">.fmt</span></samp>&rsquo;) See <a href="#Initial-TeX">Initial TeX</a>.
+
+ <br><dt>Metafont<dd>(&lsquo;<samp><span class="samp">.base</span></samp>&rsquo;) See <a href="#Initial-Metafont">Initial Metafont</a>.
+</dl>
+
+ <p>When making memory dumps, the programs read environment variables and
+configuration files for path searching and other values as usual. If
+you are making a new installation and have environment variables
+pointing to an old one, for example, you will probably run into
+difficulties.
+
+<div class="node">
+<a name="Determining-the-memory-dump-to-use"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Hardware-and-memory-dumps">Hardware and memory dumps</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Creating-memory-dumps">Creating memory dumps</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Memory-dumps">Memory dumps</a>
+
+</div>
+
+<h5 class="subsubsection">3.5.2.2 Determining the memory dump to use</h5>
+
+<p><a name="index-memory-dump-to-use_002c-determining-173"></a><a name="index-fmt-file_002c-determining-174"></a><a name="index-base-file_002c-determining-175"></a><a name="index-mem-file_002c-determining-176"></a>
+The virgin form (see <a href="#Initial-and-virgin">Initial and virgin</a>) of each program always
+reads a memory dump before processing normal source input. All three
+programs determine the memory dump to use in the same way:
+
+ <ol type=1 start=1>
+<li>If the first non-option command-line argument begins with &lsquo;<samp><span class="samp">&amp;</span></samp>&rsquo;, the
+program uses the remainder of that argument as the memory dump name.
+For example, running &lsquo;<samp><span class="samp">tex \&amp;super</span></samp>&rsquo; reads <samp><span class="file">super.fmt</span></samp>. (The
+backslash protects the &lsquo;<samp><span class="samp">&amp;</span></samp>&rsquo; against interpretation by the shell.)
+
+ <li><a name="index-g_t_002dfmt_003d_0040var_007bfmt_007d-177"></a><a name="index-g_t_002dbase_003d_0040var_007bbase_007d-178"></a>If the &lsquo;<samp><span class="samp">-fmt</span></samp>&rsquo; resp. &lsquo;<samp><span class="samp">-base</span></samp>&rsquo; option is
+specified, its value is used.
+
+ <li><a name="index-g_t_002dprogname_003d_0040var_007bstring_007d-179"></a>If the &lsquo;<samp><span class="samp">-progname</span></samp>&rsquo; option is specified, its value is used.
+
+ <li><a name="index-g_t_0025_0026-_0040r_007bmagic-number_007d-180"></a>If the first line of the main input file (which must be specified on the
+command line, not in response to &lsquo;<samp><span class="samp">**</span></samp>&rsquo;) is <code>%&amp;</code><var>dump</var>, and
+<var>dump</var> is an existing memory dump of the appropriate type,
+<var>dump</var> is used.
+
+ <p>The first line of the main input file can also specify which character
+translation file is to be used: <code>%&amp;-translate-file=</code><var>tcxfile</var>
+(see <a href="#TCX-files">TCX files</a>).
+
+ <p>These two roles can be combined: <code>%&amp;</code><var>dump</var><code>
+-translate-file=</code><var>tcxfile</var>. If this is done, the name of the dump
+must be given first.
+
+ <li><a name="index-program-name_002c-determines-memory-dump-181"></a><a name="index-links-to-binaries-182"></a>Otherwise, the program uses the program invocation name, most commonly
+<samp><span class="file">tex</span></samp> resp. <samp><span class="file">mf</span></samp>. For example, if <samp><span class="file">latex</span></samp> is a link
+to <samp><span class="file">tex</span></samp>, and the user runs &lsquo;<samp><span class="samp">latex foo</span></samp>&rsquo;, <samp><span class="file">latex.fmt</span></samp>
+will be used.
+
+ </ol>
+
+<div class="node">
+<a name="Hardware-and-memory-dumps"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Memory-dumps">Memory dumps</a>
+
+</div>
+
+<h5 class="subsubsection">3.5.2.3 Hardware and memory dumps</h5>
+
+<p><a name="index-hardware-and-memory-dumps-183"></a><a name="index-memory-dumps-and-hardware-184"></a><a name="index-sharing-memory-dumps-185"></a><a name="index-fmt-files_002c-sharing-186"></a><a name="index-base-files_002c-sharing-187"></a><a name="index-mem-files_002c-sharing-188"></a>
+<a name="index-LittleEndian-machines-189"></a><a name="index-BigEndian-machines-190"></a><a name="index-endian-dependencies-191"></a><a name="index-machine-dependencies-192"></a><a name="index-architecture-dependencies-193"></a><a name="index-dependencies_002c-hardware-194"></a><a name="index-g_t_002d_002ddisable_002ddump_002dshare-configure-_0040r_007boption_007d-195"></a>By default, memory dump files are generally sharable between
+architectures of different types; specifically, on machines of different
+endianness (see <a href="libc.html#Byte-order">Byte order</a>). (This is a
+feature of the Web2c implementation, and is not true of all TeX
+implementations.) If you specify &lsquo;<samp><span class="samp">--disable-dump-share</span></samp>&rsquo; to
+<code>configure</code>, however, memory dumps will be endian-dependent.
+
+ <p><a name="index-byte-swapping-196"></a><a name="index-swapping-bytes-197"></a>The reason to do this is speed. To achieve endian-independence, the
+reading of memory dumps on LittleEndian architectures, such as PC's and
+DEC architectures, is somewhat slowed (all the multibyte values have to
+be swapped). Usually, this is not noticeable, and the advantage of
+being able to share memory dumps across all platforms at a site far
+outweighs the speed loss. But if you're installing Web2c for use on
+LittleEndian machines only, perhaps on a PC being used only by you, you
+may wish to get maximum speed.
+
+ <p><a name="index-floating_002dpoint-values-198"></a><a name="index-glue-ratio-representations-199"></a>TeXnically, even without &lsquo;<samp><span class="samp">--disable-dump-share</span></samp>&rsquo;, sharing of
+<samp><span class="file">.fmt</span></samp> files cannot be guaranteed to work. Floating-point values
+are always written in native format, and hence will generally not be
+readable across platforms. Fortunately, TeX uses floating point
+only to represent glue ratios, and all common formats (plain,
+LaTeX, AMSTeX, <small class="dots">...</small>) do not do any glue setting at
+<samp><span class="file">.fmt</span></samp>-creation time. Metafont does not use floating point in
+any dumped value at all.
+
+ <p><a name="index-date-and-time_002c-in-memory-dumps-200"></a><a name="index-time-and-date_002c-in-memory-dumps-201"></a><a name="index-memory-dumps_002c-contain-date-and-time-202"></a>Incidentally, different memory dump files will never compare equal
+byte-for-byte, because the program always dumps the current date and
+time. So don't be alarmed by just a few bytes difference.
+
+ <p><a name="index-Harbison_002c-Samuel-P_002e-203"></a><a name="index-Steele-Jr_002e_002c-Guy-L_002e-204"></a>If you don't know what endianness your machine is, and you're curious,
+here is a little C program to tell you. (The <code>configure</code> script
+contains a similar program.) This is from the book <cite>C: A Reference
+Manual</cite>, by Samuel P. Harbison and Guy L. Steele
+Jr. (see <a href="#References">References</a>).
+
+<pre class="example"> main ()
+ {
+ /* Are we little or big endian? From Harbison&amp;Steele. */
+ union
+ {
+ long l;
+ char c[sizeof (long)];
+ } u;
+ u.l = 1;
+ if (u.c[0] == 1)
+ printf ("LittleEndian\n");
+ else if (u.c[sizeof (long) - 1] == 1)
+ printf ("BigEndian\n");
+ else
+ printf ("unknownEndian");
+
+ exit (u.c[sizeof (long) - 1] == 1);
+ }
+</pre>
+ <div class="node">
+<a name="Editor-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#g_t_005cinput-filenames">\input filenames</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Memory-dumps">Memory dumps</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Three-programs">Three programs</a>
+
+</div>
+
+<h4 class="subsection">3.5.3 Editor invocation</h4>
+
+<p><a name="index-editor-invoked-at-error-205"></a><a name="index-errors_002c-editor-invoked-at-206"></a><a name="index-e-_0040r_007bresponse-at-error-prompt_007d-207"></a>
+TeX, Metafont, and MetaPost all (by default) stop and ask for user
+intervention at an error. If the input came from a file, and the user
+responds with <kbd>e</kbd> or <kbd>E</kbd>, the program invokes an editor.
+
+ <p><a name="index-TEXEDIT-208"></a><a name="index-MFEDIT-209"></a><a name="index-MPEDIT-210"></a><a name="index-g_t_002d_002dwith_002deditor_003d_0040var_007bcmd_007d-211"></a>Specifying &lsquo;<samp><span class="samp">--with-editor=</span><var>cmd</var></samp>&rsquo; to <code>configure</code> sets the
+default editor command string to <var>cmd</var>. The environment
+variables/configuration values <code>TEXEDIT</code>, <code>MFEDIT</code>, and
+<code>MPEDIT</code> (respectively) override this. If &lsquo;<samp><span class="samp">--with-editor</span></samp>&rsquo; is
+not specified, the default is <code>vi +%d %s</code> on Unix, and an
+invocation of the TeXworks editor on Windows. (See
+<samp><span class="file">texmf.cnf</span></samp> for the precise values.)
+
+ <p>In this string, &lsquo;<samp><span class="samp">%d</span></samp>&rsquo; is replaced by the line number of the error,
+and &lsquo;<samp><span class="samp">%s</span></samp>&rsquo; is replaced by the name of the current input file.
+
+<div class="node">
+<a name="%5cinput-filenames"></a>
+<a name="g_t_005cinput-filenames"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Editor-invocation">Editor invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Three-programs">Three programs</a>
+
+</div>
+
+<h4 class="subsection">3.5.4 <code>\input</code> filenames</h4>
+
+<p><a name="index-input-filenames-212"></a><a name="index-filename-conventions_002c-in-input-files-213"></a><a name="index-g_t_005cinput-_0040r_007bfilenames_007d-214"></a>
+TeX, Metafont, and MetaPost source programs can all read other source
+files with the <code>\input</code> (TeX) and <code>input</code> (MF and MP)
+primitives:
+<pre class="example"> \input <var>name</var> % in TeX
+</pre>
+ <p><a name="index-space_002dterminated-filenames-215"></a><a name="index-whitespace_002dterminated-filenames-216"></a><a name="index-terminator-for-filenames-217"></a>The file <var>name</var> can always be terminated with whitespace; for
+Metafont and MetaPost, the statement terminator &lsquo;<samp><span class="samp">;</span></samp>&rsquo; also works.
+(LaTeX and other macro packages provide other interfaces to
+<code>\input</code> that allow different notation; here we are concerned only
+with the primitive operation.)
+
+ <p>As of Web2c version 7.5.3, double-quote characters can be used to
+include spaces or other special cases. In typical use, the &lsquo;<samp><span class="samp">"</span></samp>&rsquo;
+characters surround the entire filename:
+<pre class="example"> \input "filename with spaces"
+</pre>
+ <p>Technically, the quote characters can be used inside the name, and
+can enclose any characters, as in:
+<pre class="example"> \input filename" "with" "spaces
+</pre>
+ <p>One more point. In LaTeX, the quotes are needed inside the braces, thus
+<pre class="example"> \input{a b} % fails
+ \input{"a b"} % ok
+</pre>
+ <p>This quoting mechanism comes into play <em>after</em> TeX has
+tokenized and expanded the input. So, multiple spaces and tabs may be
+seen as a single space, active characters such as &lsquo;<samp><span class="samp">~</span></samp>&rsquo; are
+expanded first, and so on. (See below.)
+
+ <p><a name="index-NUL_002c-not-allowed-in-filenames-218"></a><a name="index-eight_002dbit-characters-in-filenames-219"></a><a name="index-meta-characters-in-filenames-220"></a>On the other hand, various C library routines and Unix itself use the null
+byte (character code zero, ASCII NUL) to terminate strings. So
+filenames in Web2c cannot contain nulls, even though TeX itself does
+not treat NUL specially.
+In addition, some older Unix variants do not allow eight-bit characters
+(codes 128&ndash;255) in filenames.
+
+ <p><a name="index-portable-filenames-221"></a>For maximal portability of your document across systems, use only the
+characters &lsquo;<samp><span class="samp">a</span></samp>&rsquo;&ndash;&lsquo;<samp><span class="samp">z</span></samp>&rsquo;, &lsquo;<samp><span class="samp">0</span></samp>&rsquo;&ndash;&lsquo;<samp><span class="samp">9</span></samp>&rsquo;, and &lsquo;<samp><span class="samp">.</span></samp>&rsquo;, and
+restrict your filenames to at most eight characters (not including the
+extension), and at most a three-character extension. Do not use
+anything but simple filenames, since directory separators vary among
+systems; instead, add the necessary directories to the appropriate
+search path.
+
+ <p><a name="index-g_t_007e-_0040r_007bexpansion-in-filenames_007d-222"></a><a name="index-g_t_0024-_0040r_007bexpansion-in-filenames_007d-223"></a>Finally, the present Web2c implementation does &lsquo;<samp><span class="samp">~</span></samp>&rsquo; and &lsquo;<samp><span class="samp">$</span></samp>&rsquo;
+expansion on <var>name</var>, unlike Knuth's original implementation and
+older versions of Web2c. Thus:
+<pre class="example"> \input ~jsmith/$foo.bar
+</pre>
+ <p>will dereference the environment variable or Kpathsea config file value
+&lsquo;<samp><span class="samp">foo</span></samp>&rsquo; and read that file extended with &lsquo;<samp><span class="samp">.bar</span></samp>&rsquo; in user
+&lsquo;<samp><span class="samp">jsmith</span></samp>&rsquo;'s home directory. You can also use braces, as in
+&lsquo;<samp><span class="samp">${foo}bar</span></samp>&rsquo;, if you want to follow the variable name with a letter,
+numeral, or &lsquo;<samp><span class="samp">_</span></samp>&rsquo;.
+
+ <p>(So another way to get a program to read a filename containing
+whitespace is to define an environment variable and dereference it.)
+
+ <p><a name="index-g_t_005cstring-224"></a>In all the common TeX formats (plain TeX, LaTeX, AMSTeX),
+the characters &lsquo;<samp><span class="samp">~</span></samp>&rsquo; and &lsquo;<samp><span class="samp">$</span></samp>&rsquo; have special category codes, so to
+actually use these in a document you have to change their catcodes or
+use <code>\string</code>. (The result is unportable anyway, see the
+suggestions above.) The place where they are most likely to be useful
+is when typing interactively.
+
+<div class="node">
+<a name="TeX"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Metafont">Metafont</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Commonalities">Commonalities</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">4 TeX: Typesetting</h2>
+
+<p><a name="index-g_t_0040TeX_007b_007d_002c-description-of-225"></a><a name="index-typesetting-226"></a><a name="index-mathematical-typesetting-227"></a>
+TeX is a typesetting system: it was especially designed to handle
+complex mathematics, as well as most ordinary text typesetting.
+
+ <p><a name="index-batch-languages-228"></a><a name="index-word-processor_002c-not-229"></a>TeX is a batch language, like C or Pascal, and not an interactive
+&ldquo;word processor&rdquo;: you compile a TeX input file into a corresponding
+device-independent (DVI) file (and then translate the DVI file to the
+commands for a particular output device). This approach has both
+considerable disadvantages and considerable advantages. For a complete
+description of the TeX language, see <cite>The TeXbook</cite>
+(see <a href="#References">References</a>). Many other books on TeX, introductory and
+otherwise, are available.
+
+<ul class="menu">
+<li><a accesskey="1" href="#tex-invocation">tex invocation</a>: Invoking TeX.
+<li><a accesskey="2" href="#Initial-TeX">Initial TeX</a>: Making format files.
+<li><a accesskey="3" href="#Formats">Formats</a>: Major TeX macro packages.
+<li><a accesskey="4" href="#Languages-and-hyphenation">Languages and hyphenation</a>: TeX supports many human languages.
+<li><a accesskey="5" href="#Shell-escapes">Shell escapes</a>: Running subprograms from TeX.
+<li><a accesskey="6" href="#IPC-and-TeX">IPC and TeX</a>: DVI output to a socket.
+<li><a accesskey="7" href="#TeX-extensions">TeX extensions</a>: Changes to the TeX language.
+</ul>
+
+<div class="node">
+<a name="tex-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Initial-TeX">Initial TeX</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#TeX">TeX</a>
+
+</div>
+
+<h3 class="section">4.1 <code>tex</code> invocation</h3>
+
+<p><a name="index-tex-230"></a><a name="index-g_t_0040TeX_007b_007d_002c-invocation-231"></a>
+TeX (usually invoked as <code>tex</code>) formats the given text and
+commands, and outputs a corresponding device-independent representation
+of the typeset document. This section merely describes the options
+available in the Web2c implementation. For a complete description of
+the TeX typesetting language, see <cite>The TeXbook</cite>
+(see <a href="#References">References</a>).
+
+ <p>TeX, Metafont, and MetaPost process the command line (described
+here) and determine their memory dump (fmt) file in the same way
+(see <a href="#Memory-dumps">Memory dumps</a>). Synopses:
+
+<pre class="example"> tex [<var>option</var>]... [<var>texname</var>[.tex]] [<var>tex-commands</var>]
+ tex [<var>option</var>]... \<var>first-line</var>
+ tex [<var>option</var>]... &amp;<var>fmt</var> <var>args</var>
+</pre>
+ <p><a name="index-g_t_002etex-232"></a><a name="index-g_t_0040TeX_007b_007d_002c-input-files-found-233"></a>TeX searches the usual places for the main input file <var>texname</var>
+(see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>), extending
+<var>texname</var> with <samp><span class="file">.tex</span></samp> if necessary. To see all the
+relevant paths, set the environment variable <code>KPATHSEA_DEBUG</code> to
+&lsquo;<samp><span class="samp">-1</span></samp>&rsquo; before running the program.
+
+ <p>After <var>texname</var> is read, TeX processes any remaining
+<var>tex-commands</var> on the command line as regular TeX input. Also,
+if the first non-option argument begins with a TeX escape character
+(usually <code>\</code>), TeX processes all non-option command-line
+arguments as a line of regular TeX input.
+
+ <p>If no arguments or options are specified, TeX prompts for an
+input file name with &lsquo;<samp><span class="samp">**</span></samp>&rsquo;.
+
+ <p><a name="index-texput-234"></a>TeX writes the main DVI output to the file
+<samp><var>basetexname</var><span class="file">.dvi</span></samp>, where <var>basetexname</var> is the basename of
+<var>texname</var>, or &lsquo;<samp><span class="samp">texput</span></samp>&rsquo; if no input file was specified. A DVI
+file is a device-independent binary representation of your TeX
+document. The idea is that after running TeX, you translate the DVI
+file using a separate program to the commands for a particular output
+device, such as a PostScript printer
+(see <a href="dvips.html#Top">Introduction</a>) or an X Window System display
+(see xdvi(1)).
+
+ <p><a name="index-EC-fonts-235"></a><a name="index-mktextfM_0040r_007b_002c-disabling_007d-236"></a><a name="index-g_t_005cfont-_0040r_007band-dynamic-generation_007d-237"></a>TeX also reads TFM files for any fonts you load in your document with
+the <code>\font</code> primitive. By default, it runs an external program
+named <samp><span class="file">mktextfm</span></samp> to create any nonexistent TFM files. You can
+disable this at configure-time or runtime (see <a href="kpathsea.html#mktex-configuration">mktex configuration</a>). This is enabled mostly for the
+sake of the EC fonts, which can be generated at any size.
+
+ <p><a name="index-g_t_005copenout-_0040r_007band-security_007d-238"></a><a name="index-security_002c-and-_0040code_007b_005copenout_007d-239"></a><a name="index-output-files_002c-written-by-_0040TeX_007b_007d-programs-240"></a><a name="index-Trojan-horses-and-_0040TeX_007b_007d-programs-241"></a><a name="index-dot-files_002c-written-by-_0040TeX_007b_007d-programs-242"></a><a name="index-security_002c-and-output-files-243"></a>TeX can write output files, via the <code>\openout</code> primitive; this opens
+a security hole vulnerable to Trojan horse attack: an unwitting user could
+run a TeX program that overwrites, say, <samp><span class="file">~/.rhosts</span></samp>. (MetaPost has
+a <code>write</code> primitive with similar implications). To alleviate this and
+similar problems the functions <code>kpathsea_out_name_ok</code> and
+<code>kpathsea_in_name_ok</code> from the Kpathse library (see <a href="kpathsea.html#Calling-sequence">Calling sequence</a>) are used to determine if a given filename
+is acceptable to be opened for output or input, depending on the setting of
+the configuration variables <code>openout_any</code> and <code>openin_any</code>:
+&lsquo;<samp><span class="samp">a</span></samp>&rsquo; (for &ldquo;any&rdquo;, the default for <code>openin_any</code>), &lsquo;<samp><span class="samp">r</span></samp>&rsquo; (for
+&ldquo;restricted&rdquo;), or &lsquo;<samp><span class="samp">p</span></samp>&rsquo; (for &ldquo;paranoid&rdquo;, the default for
+<code>openout_any</code>).
+
+ <p>In any case, all <code>\openout</code> filenames are recorded in the log file,
+except those opened on the first line of input, which is processed when
+the log file has not yet been opened.
+
+ <p>The program accepts the following options, as well as the standard
+&lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-enc</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-[no]-file-line-error</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-fmt=</span><var>fmtname</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-halt-on-error</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-ini</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-interaction=</span><var>string</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-ipc</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-ipc-start</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-jobname=</span><var>string</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-kpathsea-debug=</span><var>number</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-[no]parse-first-line</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-output-directory</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-progname=</span><var>string</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-recorder</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-translate-file=</span><var>tcxfile</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-8bit</span></samp>&rsquo;<dd>These options are common to TeX, Metafont, and MetaPost.
+See <a href="#Common-options">Common options</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">-enc</span></samp>&rsquo;<dd><a name="index-g_t_002denc-244"></a><a name="index-Unicode-input-245"></a><a name="index-UTF_002d8-input-246"></a>Enable encTeX extensions, such as <code>\mubyte</code>. This can be used
+to support Unicode UTF-8 input encoding. See
+<a href="http://www.olsak.net/enctex.html">http://www.olsak.net/enctex.html</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">-ipc</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-ipc-start</span></samp>&rsquo;<dd><a name="index-g_t_002dipc-247"></a><a name="index-g_t_002dipc_002dstart-248"></a><a name="index-g_t_002d_002denable_002dipc-configure-_0040r_007boption_007d-249"></a>With either option, TeX writes its DVI output to a socket as well as
+to the usual <samp><span class="file">.dvi</span></samp> file. With &lsquo;<samp><span class="samp">-ipc-start</span></samp>&rsquo;, TeX also
+opens a server program at the other end to read the output. See <a href="#IPC-and-TeX">IPC and TeX</a>.
+
+ <p>These options are available only if the &lsquo;<samp><span class="samp">--enable-ipc</span></samp>&rsquo; option was
+specified to <code>configure</code> during installation of Web2c.
+
+ <br><dt>&lsquo;<samp><span class="samp">-mktex=</span><var>filetype</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-no-mktex=</span><var>filetype</var></samp>&rsquo;<dd><a name="index-g_t_002dmktex_003d_0040var_007bfiletype_007d-250"></a><a name="index-g_t_002dno_002dmktex_003d_0040var_007bfiletype_007d-251"></a>Turn on or off the &lsquo;<samp><span class="samp">mktex</span></samp>&rsquo; script associated with <var>filetype</var>.
+For TeX proper, <var>filetype</var> can only be &lsquo;<samp><span class="samp">tex</span></samp>&rsquo; and
+&lsquo;<samp><span class="samp">tfm</span></samp>&rsquo;, but for pdfTeX and luaTeX, it can also be &lsquo;<samp><span class="samp">pk</span></samp>&rsquo;.
+
+ <br><dt>&lsquo;<samp><span class="samp">-mltex</span></samp>&rsquo;<dd><a name="index-g_t_002dmltex-252"></a><a name="index-ML_0040TeX_007b_007d_002c-enabling-253"></a><a name="index-program-names_002c-special-254"></a>If we are <code>INITEX</code> (see <a href="#Initial-and-virgin">Initial and virgin</a>), enable MLTeX
+extensions such as <code>\charsubdef</code>. Implicitly set if the program
+name is <code>mltex</code>. See <a href="#MLTeX">MLTeX</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">-output-comment=</span><var>string</var></samp>&rsquo;<dd><a name="index-g_t_002doutput_002dcomment_003d_0040var_007bstring_007d-255"></a><a name="index-output_005fcomment-_0040r_007bfor-DVI-files_007d-256"></a><a name="index-DVI-comment_002c-specifying-257"></a><a name="index-regression-testing-258"></a>Use <var>string</var> as the DVI file comment. Ordinarily, this comment
+records the date and time of the TeX run, but if you are doing
+regression testing, you may not want the DVI file to have this spurious
+difference. This is also taken from the environment variable and
+config file value &lsquo;<samp><span class="samp">output_comment</span></samp>&rsquo;.
+
+ <br><dt>&lsquo;<samp><span class="samp">-shell-escape</span></samp>&rsquo;<dd><a name="index-g_t_002dshell_002descape-259"></a><dt>&lsquo;<samp><span class="samp">-no-shell-escape</span></samp>&rsquo;<dd><a name="index-g_t_002dno_002dshell_002descape-260"></a><dt>&lsquo;<samp><span class="samp">-shell-restricted</span></samp>&rsquo;<dd><a name="index-g_t_002dshell_002drestricted-261"></a>Enable, or disable, or enable with restrictions the
+<code>\write18{</code><var>shell-command</var><code>}</code> feature for external executing
+shell commands. See <a href="#Shell-escapes">Shell escapes</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">-enable-write18</span></samp>&rsquo;<dd><a name="index-g_t_002denable_002dwrite18-262"></a><dt>&lsquo;<samp><span class="samp">-disable-write18</span></samp>&rsquo;<dd><a name="index-g_t_002ddisable_002dwrite18-263"></a>Synonyms for <samp><span class="option">-shell-escape</span></samp> and <samp><span class="option">-no-shell-escape</span></samp>, for
+compatibility with MiKTeX. (MiKTeX also accepts both pairs of
+options.) See <a href="#Shell-escapes">Shell escapes</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">-src-specials</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-src-specials=</span><var>string</var></samp>&rsquo;<dd><a name="index-generating-source-specials-264"></a>This option makes TeX output specific source information using
+&lsquo;<samp><span class="samp">\special</span></samp>&rsquo; commands in the DVI file. These &lsquo;<samp><span class="samp">\special</span></samp>&rsquo; track
+the current file name and line number.
+
+ <p>Using the first form of this option, the &lsquo;<samp><span class="samp">\special</span></samp>&rsquo; commands are
+inserted automatically.
+
+ <p>In the second form of the option, <var>string</var> is
+a comma separated list of the following values: &lsquo;<samp><span class="samp">cr</span></samp>&rsquo;,
+&lsquo;<samp><span class="samp">display</span></samp>&rsquo;, &lsquo;<samp><span class="samp">hbox</span></samp>&rsquo;, &lsquo;<samp><span class="samp">math</span></samp>&rsquo;, &lsquo;<samp><span class="samp">par</span></samp>&rsquo;, &lsquo;<samp><span class="samp">parend</span></samp>&rsquo;,
+&lsquo;<samp><span class="samp">vbox</span></samp>&rsquo;. You can use this list to specify where you want TeX to
+output such commands. For example, &lsquo;<samp><span class="samp">-src-specials=cr,math</span></samp>&rsquo; will
+output source information every line and every math formula.
+
+ <p>These commands can be used with the appropriate DVI viewer and text
+editor to switch from the current position in the editor to the same
+position in the viewer and back from the viewer
+to the editor.
+
+ <p>This option works by inserting &lsquo;<samp><span class="samp">\special</span></samp>&rsquo; commands into the token
+stream, and thus in principle these additional tokens can be recovered
+or seen by the tricky-enough macros. If you run across a case, let us
+know, because this counts as a bug. However, such bugs are very hard
+to fix, requiring significant changes to TeX, so please don't count
+on it.
+
+ <p>Redefining &lsquo;<samp><span class="samp">\special</span></samp>&rsquo; will not affect the functioning of this
+option. The commands inserted into the token stream are
+hard-coded to always use the &lsquo;<samp><span class="samp">\special</span></samp>&rsquo; primitive.
+
+ <p>TeX does not pass the trip test when this option is enabled.
+
+ </dl>
+
+<div class="node">
+<a name="Initial-TeX"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Formats">Formats</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#tex-invocation">tex invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#TeX">TeX</a>
+
+</div>
+
+<h3 class="section">4.2 Initial TeX</h3>
+
+<p><a name="index-initial-_0040TeX_007b_007d-265"></a><a name="index-g_t_0040TeX_007b_007d_002c-initial-266"></a>
+<a name="index-g_t_002efmt-267"></a><a name="index-fmt-files-268"></a>The <dfn>initial</dfn> form of TeX is invoked by &lsquo;<samp><span class="samp">tex -ini</span></samp>&rsquo;. It
+does lengthy initializations avoided by the &ldquo;virgin&rdquo; (<code>vir</code>)
+form, so as to be capable of dumping &lsquo;<samp><span class="samp">.fmt</span></samp>&rsquo; files (see <a href="#Memory-dumps">Memory dumps</a>). For a detailed comparison of virgin and initial forms,
+see <a href="#Initial-and-virgin">Initial and virgin</a>. In past releases, a separate program
+<samp><span class="command">initex</span></samp> was installed to invoke the initial form, but this is
+no longer the case.
+
+ <p>For a list of options and other information, see <a href="#tex-invocation">tex invocation</a>.
+
+ <p><a name="index-plain_002efmt-269"></a><a name="index-tex_002efmt-270"></a><a name="index-format-files-271"></a>Unlike Metafont and MetaPost, many format files are commonly used with
+TeX. The standard one implementing the features described in the
+<cite>TeXbook</cite> is &lsquo;<samp><span class="samp">plain.fmt</span></samp>&rsquo;, also known as &lsquo;<samp><span class="samp">tex.fmt</span></samp>&rsquo;
+(again, see <a href="#Memory-dumps">Memory dumps</a>). It is created by default during
+installation, but you can also do so by hand if necessary (e.g., if an
+update to <samp><span class="file">plain.tex</span></samp> is issued):
+<pre class="example"> tex -ini '\input plain \dump'
+</pre>
+ <p class="noindent">(The quotes prevent interpretation of the backslashes from the shell.)
+Then install the resulting <samp><span class="file">plain.fmt</span></samp> in &lsquo;<samp><span class="samp">$(fmtdir)</span></samp>&rsquo;
+(<samp><span class="file">/usr/local/share/texmf/web2c</span></samp> by default), and link
+<samp><span class="file">tex.fmt</span></samp> to it.
+
+ <p>The necessary invocation for generating a format file differs for each
+format, so instructions that come with the format should explain. The
+top-level <samp><span class="file">web2c</span></samp> Makefile has targets for making most common
+formats: <tt>plain latex amstex texinfo eplain</tt>. See <a href="#Formats">Formats</a>, for
+more details on TeX formats.
+
+<div class="node">
+<a name="Formats"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Languages-and-hyphenation">Languages and hyphenation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Initial-TeX">Initial TeX</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#TeX">TeX</a>
+
+</div>
+
+<h3 class="section">4.3 Formats</h3>
+
+<p><a name="index-formats-for-_0040TeX_007b_007d-272"></a><a name="index-g_t_0040TeX_007b_007d_002c-format-packages-for-273"></a><a name="index-macro-packages_002c-major-_0040TeX_007b_007d-274"></a>
+TeX <dfn>formats</dfn> are large collections of macros, often dumped
+into a <samp><span class="file">.fmt</span></samp> file (see <a href="#Memory-dumps">Memory dumps</a>) by <code>tex -ini</code>
+(see <a href="#Initial-TeX">Initial TeX</a>). A number of formats are in reasonably
+widespread use, and the Web2c Makefile has targets to make the versions
+current at the time of release. You can change which formats are
+automatically built by setting the <code>fmts</code> Make variable; by default,
+only the &lsquo;<samp><span class="samp">plain</span></samp>&rsquo; and &lsquo;<samp><span class="samp">latex</span></samp>&rsquo; formats are made.
+
+ <p>You can get the latest versions of most of these formats from the CTAN
+archives in subdirectories of <samp><var>CTAN:</var><span class="file">/macros</span></samp> (for CTAN info,
+see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>). The archive
+<a href="ftp://ftp.tug.org/tex/lib.tar.gz">ftp://ftp.tug.org/tex/lib.tar.gz</a> (also available from CTAN)
+contains most of these formats (although perhaps not the absolute latest
+version), among other things.
+
+ <dl>
+<dt><tt>latex</tt><dd><a name="index-g_t_0040LaTeX_007b_007d-275"></a>The most widely used format. The current release is named `LaTeX
+2e'; new versions are released approximately every six months, with
+patches issued as needed. The old release was called `LaTeX 2.09',
+and is no longer maintained or supported. LaTeX attempts to provide
+generic markup instructions, such as &ldquo;emphasize&rdquo;, instead of specific
+typesetting instructions, such as &ldquo;use the 10<span class="dmn">pt</span> Computer Modern
+italic font&rdquo;. The LaTeX home page: <a href="http://www.latex-project.org">http://www.latex-project.org</a>.
+
+ <br><dt><tt>context</tt><dd>ConTeXt is an independent macro package which has a basic document
+structuring approach similar to LaTeX. It also supports creating
+interactive PDF files and has integrated MetaPost support, among many
+other interesting features. The ConTeXt home page:
+<a href="http://www.pragma-ade.com">http://www.pragma-ade.com</a>.
+
+ <br><dt><tt>amstex</tt><dd><a name="index-AMS_0040TeX_007b_007d-276"></a><a name="index-American-Mathematical-Society_002c-typesetting-system-277"></a><a name="index-Mathematical-Reviews-278"></a>The official typesetting system of the American Mathematical Society.
+Like LaTeX, it encourages generic markup commands. The AMS also
+provides many LaTeX package for authors who prefer LaTeX. Taken
+together, they are used to produce nearly all AMS publications, e.g.,
+<cite>Mathematical Reviews</cite>. The AMSTeX home page:
+<a href="http://www.ams.org/tex">http://www.ams.org/tex</a>.
+
+ <br><dt><tt>texinfo</tt><dd><a name="index-Texinfo-279"></a><a name="index-Info-format-280"></a><a name="index-Free-Software-Foundation-documentation-system-281"></a>The documentation system developed and maintained by the Free Software
+Foundation for their software manuals. It can be automatically
+converted into plain text, a machine-readable on-line format called
+`info', HTML, etc. The Texinfo home page:
+<a href="http://www.gnu.org/software/texinfo">http://www.gnu.org/software/texinfo</a>.
+
+ <br><dt><tt>eplain</tt><dd><a name="index-Eplain-282"></a><a name="index-expanded-plain-format-283"></a>The &ldquo;expanded plain&rdquo; format provides various common features (e.g.,
+symbolic cross-referencing, tables of contents, indexing, citations
+using BibTeX), for those authors who prefer to handle their own
+high-level formatting. The Eplain home page:
+<a href="http://www.tug.org/eplain">http://www.tug.org/eplain</a>.
+
+ <br><dt><tt>slitex</tt><dd><a name="index-Sli_0040TeX_007b_007d-284"></a><a name="index-slides_002c-producing-285"></a>An obsolete LaTeX 2.09 format for making slides. It is replaced by
+the &lsquo;<samp><span class="samp">slides</span></samp>&rsquo; document class, along with the &lsquo;<samp><span class="samp">beamer</span></samp>&rsquo;,
+&lsquo;<samp><span class="samp">texpower</span></samp>&rsquo;, and other packages.
+
+ </dl>
+
+<div class="node">
+<a name="Languages-and-hyphenation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Shell-escapes">Shell escapes</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Formats">Formats</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#TeX">TeX</a>
+
+</div>
+
+<h3 class="section">4.4 Languages and hyphenation</h3>
+
+<p><a name="index-language-support-in-_0040TeX_007b_007d-286"></a><a name="index-human-languages_002c-supported-in-_0040TeX_007b_007d-287"></a><a name="index-hyphenation-and-languages-288"></a>
+TeX supports most natural languages. See also <a href="#TeX-extensions">TeX extensions</a>.
+
+<ul class="menu">
+<li><a accesskey="1" href="#MLTeX">MLTeX</a>: Multi-lingual TeX.
+<li><a accesskey="2" href="#patgen-invocation">patgen invocation</a>: Creating hyphenation patterns.
+<li><a accesskey="3" href="#TCX-files">TCX files</a>: Support for different character sets &amp; fonts.
+</ul>
+
+<div class="node">
+<a name="MLTeX"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#patgen-invocation">patgen invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Languages-and-hyphenation">Languages and hyphenation</a>
+
+</div>
+
+<h4 class="subsection">4.4.1 MLTeX: Multi-lingual TeX</h4>
+
+<p><a name="index-mltex-289"></a><a name="index-Multi_002dlingual-_0040TeX_007b_007d-290"></a>
+<a name="index-Ferguson_002c-Michael-291"></a><a name="index-Raichle_002c-Bernd-292"></a><a name="index-accents_002c-hyphenating-words-with-293"></a><a name="index-glyph-substitutions-294"></a><a name="index-substitutions-of-font-glyphs-295"></a>Multi-lingual TeX (<code>mltex</code>) is an extension of TeX originally
+written by Michael Ferguson and now updated and maintained by Bernd
+Raichle. It allows the use of non-existing glyphs in a font by
+declaring glyph substitutions. These are restricted to substitutions of
+an accented character glyph, which need not be defined in the current
+font, by its appropriate <code>\accent</code> construction using a base and
+accent character glyph, which do have to exist in the current font.
+This substitution is automatically done behind the scenes, if necessary,
+and thus MLTeX additionally supports hyphenation of words containing
+an accented character glyph for fonts missing this glyph (e.g., Computer
+Modern). Standard TeX suppresses hyphenation in this case.
+
+ <p>MLTeX works at <samp><span class="file">.fmt</span></samp>-creation time: the basic idea is to
+specify the &lsquo;<samp><span class="samp">-mltex</span></samp>&rsquo; option to TeX when you <code>\dump</code> a
+format. Then, when you subsequently invoke TeX and read that
+<code>.fmt</code> file, the MLTeX features described below will be enabled.
+
+ <p>Generally, you use special macro files to create an MLTeX <code>.fmt</code>
+file.
+
+ <p>The sections below describe the two new primitives that MLTeX defines.
+Aside from these, MLTeX is completely compatible with standard TeX.
+
+<ul class="menu">
+<li><a accesskey="1" href="#g_t_005ccharsubdef">\charsubdef</a>: Character substitution definitions.
+<li><a accesskey="2" href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a>: Tracing substitutions.
+</ul>
+
+<div class="node">
+<a name="%5ccharsubdef"></a>
+<a name="g_t_005ccharsubdef"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#MLTeX">MLTeX</a>
+
+</div>
+
+<h5 class="subsubsection">4.4.1.1 <code>\charsubdef</code>: Character substitutions</h5>
+
+<p><a name="index-g_t_005ccharsubdef-_0040r_007band-ML_0040TeX_007b_007d_007d-296"></a>
+The most important primitive MLTeX adds is <code>\charsubdef</code>, used
+in a way reminiscent of <code>\chardef</code>:
+<pre class="example"> \charsubdef <var>composite</var> [=] <var>accent</var> <var>base</var>
+</pre>
+ <p>Each of <var>composite</var>, <var>accent</var>, and <var>base</var> are font glyph
+numbers, expressed in the usual TeX syntax: <tt>`\e</tt> symbolically,
+<tt>'145</tt> for octal, <tt>"65</tt> for hex, <tt>101</tt> for decimal.
+
+ <p>MLTeX's <code>\charsubdef</code> declares how to construct an accented
+character glyph (not necessarily existing in the current font) using two
+character glyphs (that do exist). Thus it defines whether a character
+glyph code, either typed as a single character or using the <code>\char</code>
+primitive, will be mapped to a font glyph or to an <code>\accent</code> glyph
+construction.
+
+ <p>For example, if you assume glyph code 138
+<a name="index-e_002dcircumflex-297"></a>(decimal) for an e-circumflex
+and you are using the Computer Modern fonts, which have the circumflex
+accent in position 18 and lowercase `e' in the usual ASCII position 101
+decimal, you would use <code>\charsubdef</code> as follows:
+
+<pre class="example"> \charsubdef 138 = 18 101
+</pre>
+ <p>For the plain TeX format to make use of this substitution, you have
+to redefine the circumflex accent macro <code>\^</code> in such a way that if
+its argument is character `e' the expansion <code>\char138 </code> is used
+instead of <code>\accent18 e</code>. Similar <code>\charsubdef</code> declaration
+and macro redefinitions have to be done for all other accented
+characters.
+
+ <p>To disable a previous <code>\charsubdef </code><var>c</var>, redefine <var>c</var>
+as a pair of zeros. For example:
+<pre class="example"> \charsubdef '321 = 0 0 % disable N tilde
+</pre>
+ <p><a name="index-N-tilde-298"></a>(Octal <tt>'321</tt> is the ISO Latin-1 value for the Spanish N tilde.)
+
+ <p><code>\charsubdef</code> commands should only be given once. Although in
+principle you can use <code>\charsubdef</code> at any time, the result is
+unspecified. If <code>\charsubdef</code> declarations are changed, usually
+either incorrect character dimensions will be used or MLTeX will
+output missing character warnings. (The substitution of a
+<code>\charsubdef</code> is used by TeX when appending the character node
+to the current horizontal list, to compute the width of a horizontal box
+when the box gets packed, and when building the <code>\accent</code>
+construction at <code>\shipout</code>-time. In summary, the substitution is
+accessed often, so changing it is not desirable, nor generally useful.)
+
+<div class="node">
+<a name="%5ctracingcharsubdef"></a>
+<a name="g_t_005ctracingcharsubdef"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#g_t_005ccharsubdef">\charsubdef</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#MLTeX">MLTeX</a>
+
+</div>
+
+<h5 class="subsubsection">4.4.1.2 <code>\tracingcharsubdef</code>: Substitution diagnostics</h5>
+
+<p><a name="index-g_t_005ctracingcharsubdef-_0040r_007band-ML_0040TeX_007b_007d_007d-299"></a><a name="index-redefined-character-substitutions-300"></a>To help diagnose problems with &lsquo;<samp><span class="samp">\charsubdef</span></samp>&rsquo;, MLTeX provides a
+new primitive parameter, <code>\tracingcharsubdef</code>. If positive, every
+use of <code>\charsubdef</code> will be reported. This can help track down
+when a character is redefined.
+
+ <p><a name="index-g_t_005ctracinglostchars-_0040r_007band-ML_0040TeX_007b_007d_007d-301"></a>In addition, if the TeX parameter <code>\tracinglostchars</code> is 100 or
+more, the character substitutions actually performed at
+<code>\shipout</code>-time will be recorded.
+
+<div class="node">
+<a name="TCX-files"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#patgen-invocation">patgen invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Languages-and-hyphenation">Languages and hyphenation</a>
+
+</div>
+
+<h4 class="subsection">4.4.2 TCX files: Character translations</h4>
+
+<p><a name="index-TCX-_0040r_007bcharacter-translation-files_007d-302"></a><a name="index-g_t_002etcx-_0040r_007bcharacter-translation-files_007d-303"></a><a name="index-character-translation-files-304"></a>
+<a name="index-international-characters-305"></a><a name="index-g_t8_002dbit-characters-306"></a><a name="index-accented-character-307"></a>TCX (TeX character translation) files help TeX support direct
+input of 8-bit international characters if fonts containing those
+characters are being used. Specifically, they map an input (keyboard)
+character code to the internal TeX character code (a superset of
+ASCII).
+
+ <p>Of the various proposals for handling more than one input encoding,
+TCX files were chosen because they follow Knuth's original ideas for
+the use of the &lsquo;<samp><span class="samp">xchr</span></samp>&rsquo; and &lsquo;<samp><span class="samp">xord</span></samp>&rsquo; tables. He ventured that
+these would be changed in the WEB source in order to adjust the actual
+version to a given environment. It turns out, however, that
+recompiling the WEB sources is not as simple a task as Knuth may have
+imagined; therefore, TCX files, providing the possibility of changing
+of the conversion tables on on-the-fly, have been implemented instead.
+
+ <p>This approach limits the portability of TeX documents, as some
+implementations do not support it (or use a different method for
+input-internal reencoding). It may also be problematic to determine
+the encoding to use for a TeX document of unknown provenance; in
+the worst case, failure to do so correctly may result in subtle errors
+in the typeset output. But we feel the benefits outweigh these
+disadvantages.
+
+ <p>This is entirely independent of the MLTeX extension (see <a href="#MLTeX">MLTeX</a>):
+whereas a TCX file defines how an input keyboard character is mapped to
+TeX's internal code, MLTeX defines substitutions for a
+non-existing character glyph in a font with a <code>\accent</code>
+construction made out of two separate character glyphs. TCX files
+involve no new primitives; it is not possible to specify
+that an input (keyboard) character maps to more than one character.
+
+ <p><a name="index-WEB2C_0040r_007b_002c-search-path-for-TCX-files_007d-308"></a>Information on specifying TCX files:
+
+ <ul>
+<li>The best way to specify a TCX file is to list it explicitly in the
+first line of the main document:
+ <pre class="example"> %&amp; -translate-file=<var>tcxfile</var>
+</pre>
+ <li>You can also specify a TCX file to be used on a particular TeX run
+with the command-line option &lsquo;<samp><span class="samp">-translate-file=</span><var>tcxfile</var></samp>&rsquo;.
+
+ <li>TCX files are searched for along the <code>WEB2C</code> path.
+
+ <li>Initial TeX (see <a href="#Initial-TeX">Initial TeX</a>) ignores TCX files.
+</ul>
+
+ <p><a name="index-il1_002dt1_002etcx-309"></a><a name="index-il2_002dt1_002etcx-310"></a><a name="index-empty_002etcx-311"></a><a name="index-Cork-encoding-and-ISO-input-312"></a><a name="index-T1-encoding-and-ISO-input-313"></a>The Web2c distribution comes with a number of TCX files. Two
+important ones are <samp><span class="file">il1-t1.tcx</span></samp> and <samp><span class="file">il2-t1.tcx</span></samp>, which
+support ISO Latin 1 and ISO Latin 2, respectively, with Cork-encoded
+fonts (a.k.a. the LaTeX T1 encoding). TCX files for Czech,
+Polish, and Slovak are also provided.
+
+ <p>One other notable TCX file is <samp><span class="file">empty.tcx</span></samp>, which is, well,
+empty. Its purpose is to reset Web2C's behavior to the default (only
+visible ASCII being printable, as described below) when a format was
+dumped with another TCX being active&mdash;which is in fact the case for
+everything but plain TeX in the TeX Live and other distributions.
+Thus:
+
+<pre class="example"> latex somefile8.tex
+ &rArr; terminal etc. output with 8-bit chars
+ latex --translate-file=empty.tcx somefile8.tex
+ &rArr; terminal etc. output with ^^ notation
+</pre>
+ <p><a name="index-syntax-of-TCX-files-314"></a>Syntax of TCX files:
+ <ol type=1 start=1>
+<li><a name="index-blank-lines_002c-in-TCX-files-315"></a>Line-oriented. Blank lines are ignored.
+
+ <li><a name="index-whitespace_002c-in-TCX-files-316"></a>Whitespace is ignored except as a separator.
+
+ <li><a name="index-comments_002c-in-TCX-files-317"></a>Comments start with &lsquo;<samp><span class="samp">%</span></samp>&rsquo; and continue to the end of the line.
+
+ <li>Otherwise, a line consists of one or two character codes, optionally
+followed by 0 or 1. The last number indicates whether <var>dest</var> is
+considered printable.
+ <pre class="example"> <var>src</var> [<var>dest</var> [<var>prnt</var>]]
+</pre>
+ <li><a name="index-character-codes_002c-in-TCX-files-318"></a><a name="index-octal-character-codes_002c-in-TCX-files-319"></a><a name="index-hex-character-codes_002c-in-TCX-files-320"></a><a name="index-decimal-character-codes_002c-in-TCX-files-321"></a>Each character code may be specified in octal with a leading &lsquo;<samp><span class="samp">0</span></samp>&rsquo;,
+hexadecimal with a leading &lsquo;<samp><span class="samp">0x</span></samp>&rsquo;, or decimal otherwise. Values must
+be between 0 and 255, inclusive (decimal).
+
+ <li>If the <var>dest</var> code is not specified, it is taken to be the same as
+<var>src</var>.
+
+ <li>If the same <var>src</var> code is specified more than once, it is the last
+definition that counts.
+ </ol>
+
+ <p><a name="index-printable-characters_002c-specifying-322"></a><a name="index-g_t_005e_005e-_0040r_007bnotation_002c-avoiding_007d-323"></a>Finally, here's what happens: when TeX sees an input character with
+code <var>src</var>, it 1) changes <var>src</var> to <var>dest</var>; and 2) makes the
+<var>dest</var> code &ldquo;printable&rdquo;, i.e., printed as-is in diagnostics and the
+log file rather than in &lsquo;<samp><span class="samp">^^</span></samp>&rsquo; notation.
+
+ <p>By default, no characters are translated, and character codes between 32
+and 126 inclusive (decimal) are printable.
+
+ <p>Specifying translations for the printable ASCII characters (codes
+32&ndash;127) will yield unpredictable results. Additionally you shouldn't
+make the following characters printable: <code>^^I</code> (TAB), <code>^^J</code>
+(line feed), <code>^^M</code> (carriage return), and <code>^^?</code> (delete),
+since TeX uses them in various ways.
+
+ <p><a name="index-font-character-code_002c-translating-324"></a><a name="index-keyboard-character-code_002c-translating-325"></a>Thus, the idea is to specify the input (keyboard) character code for
+<var>src</var>, and the output (font) character code for <var>dest</var>.
+
+ <p><a name="index-interaction-between-TCX-files-and-_0040samp_007b_002d8bit_007d_002e-326"></a>By default, only the printable ASCII characters are considered printable
+by TeX. If you specify the &lsquo;<samp><span class="samp">-8bit</span></samp>&rsquo; option, all characters are
+considered printable by default. If you specify both the &lsquo;<samp><span class="samp">-8bit</span></samp>&rsquo;
+option and a TCX file, then the TCX can set specific characters to be
+non-printable.
+
+ <p>Both the specified TCX encoding and whether characters are printable
+are saved in the dump files (like <samp><span class="file">tex.fmt</span></samp>). So by giving these
+options in combination with &lsquo;<samp><span class="samp">-ini</span></samp>&rsquo;, you control the defaults seen
+by anyone who uses the resulting dump file.
+
+ <p>When loading a dump, if the &lsquo;<samp><span class="samp">-8bit</span></samp>&rsquo; option was given, then all
+characters become printable by default.
+
+ <p>When loading a dump, if a TCX file was specified, then the TCX data from
+the dump is ignored and the data from the file used instead.
+
+<div class="node">
+<a name="patgen-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#TCX-files">TCX files</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#MLTeX">MLTeX</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Languages-and-hyphenation">Languages and hyphenation</a>
+
+</div>
+
+<h4 class="subsection">4.4.3 Patgen: Creating hyphenation patterns</h4>
+
+<p><a name="index-patgen-327"></a><a name="index-hyphenation-patterns_002c-creating-328"></a><a name="index-languages_002c-hyphenation-rules-for-329"></a>
+Patgen creates hyphenation patterns from dictionary files for use with
+TeX. Synopsis:
+
+<pre class="example"> patgen <var>dictionary</var> <var>patterns</var> <var>output</var> <var>translate</var>
+</pre>
+ <p>Each argument is a filename. No path searching is done. The output is
+written to the file <var>output</var>.
+
+<!-- @table @var -->
+<!-- @item dictionary -->
+<!-- @cindex dictionary file -->
+<!-- @findex \lefthyphemmin -->
+<!-- @findex \righthyphenmin -->
+<!-- The first line contains the values of @code{}\lefthyphenmin} and -->
+<!-- @code{\righthyphenmin} in columns 1-2 and 3-4. Columns 5, 6, and 7 may -->
+<!-- optionally contain replacements for the default characters @samp{.}, -->
+<!-- @samp{-}, and @samp{*} respectively used in the word lists. -->
+<!-- Subsequent lines are either comments (if they start with two identical -->
+<!-- characters, e.g., @samp{%%}), or contain the external representation of -->
+<!-- the lower case version of a letter, followed by an arbitrary number of -->
+<!-- upper case versions, preceded and separated by a delimiter and followed -->
+<!-- by two consecutive delimiters. The delimiter may be any character not -->
+<!-- occurring in either version. -->
+ <p>In addition, Patgen prompts interactively for other values.
+
+ <p>For more information, see <cite>Word hy-phen-a-tion by com-puter</cite> by
+Frank Liang (see <a href="#References">References</a>), and also the <samp><span class="file">patgen.web</span></samp> source file.
+
+ <p>The only options are &lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>).
+
+<div class="node">
+<a name="Shell-escapes"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#IPC-and-TeX">IPC and TeX</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Languages-and-hyphenation">Languages and hyphenation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#TeX">TeX</a>
+
+</div>
+
+<h3 class="section">4.5 Shell escapes</h3>
+
+<p><a name="index-shell-commands-in-_0040TeX_007b_007d-330"></a><a name="index-security_002c-and-shell-escapes-331"></a><a name="index-restricted-shell-escapes-332"></a><a name="index-system-command-333"></a><a name="index-shell_005fescape-_0040r_007benabling-in-_0040TeX_007b_007d_007d-334"></a><a name="index-g_t_005cimmediate_005cwrite18-335"></a><a name="index-g_t_005cwrite18-_0040r_007bshell-escape-extension_007d-336"></a><a name="index-system-_0040r_007bC-library-function_007d-337"></a>
+TeX can execute <dfn>shell escapes</dfn>, that is, arbitrary shell
+commands. Although tremendously useful, this also has obvious
+security implications. Therefore, as of TeX Live 2009, a
+<dfn>restricted</dfn> mode for shell escapes is the default mode of
+operation, which allows executing only certain commands, as specified
+in the <samp><span class="file">texmf.cnf</span></samp> configuration file.
+
+ <ul>
+<li>Unrestricted shell escapes are allowed if the option
+<samp><span class="option">--shell-escape</span></samp> is specified, or if the environment variable
+or config file value <code>shell_escape</code> is set to &lsquo;<samp><span class="samp">t</span></samp>&rsquo; or
+&lsquo;<samp><span class="samp">y</span></samp>&rsquo; and &lsquo;<samp><span class="samp">1</span></samp>&rsquo;.
+
+ <li>Restricted shell escapes are allowed if <code>shell_escape</code> is set to
+&lsquo;<samp><span class="samp">p</span></samp>&rsquo;. This is the default.
+
+ <li>Shell escapes are completely disabled if <samp><span class="option">--no-shell-escape</span></samp> is
+specified, or if <code>shell_escape</code> is set to anything else.
+</ul>
+
+ <p>When enabled, the TeX construct to execute a system command is
+<code>\write18{</code><var>shell-command</var><code>}</code>; for example:
+
+<pre class="example"> \write18{echo "hello, world"}
+</pre>
+ <p><a name="index-g_t_005coutput-_0040r_007broutine_002c-and-_0040code_007b_005cwrite_007d_007d-338"></a>From TeX's point of view, this is a normal <code>\write</code> command,
+and is therefore subject to the usual TeX expansions. Also, the
+system call either happens during the &lsquo;<samp><span class="samp">\output</span></samp>&rsquo; routine or right
+away, according to the absence or presence of the <code>\immediate</code>
+prefix, as usual for <code>\write</code>.
+
+ <p><a name="index-exit-status_002c-of-shell-escape-339"></a>The <var>shell-command</var> string is passed to the command shell (via the
+C library function <code>system</code>). The output of <var>shell-command</var>
+is not diverted anywhere, so it will not appear in the log file, or
+anywhere but the terminal output. The exit status of the system call
+is also not available to TeX.
+
+ <p>In unrestricted mode, the argument is simply passed straight to
+<code>system</code> unaltered.
+
+ <p>In restricted mode, ASCII double quote characters (<tt>"</tt>) should
+always be used in the argument to <code>\write18</code> where quoting of
+arguments is needed, as in the example above. This is to achieve some
+measure of system independence. On Unix systems, these are replaced
+with single quote (<tt>'</tt>) characters to avoid insecure further
+expansion. Care is also taken on Windows to avoid additional
+expansions (from, e.g., <tt>`...`</tt>). Mismatched quotation marks
+in the command string result in a diagnostic message in the log file;
+no execution is performed.
+
+ <p><a name="index-shell_005fescape_005fcommands-340"></a>After quotation processing, if the first word (delimited by a space or
+tab) of the command is in the list specified by the
+<code>shell_escape_commands</code> configuration value, the command is
+executed. Otherwise it is not. In any case, a message is written to
+the log file.
+
+ <p>The <code>shell_escape_commands</code> value is a comma-separated list of
+words. Whitespace is significant, and typically should not be
+present. The default definition looks like this, but with more
+commands included:
+
+<pre class="example"> shell_escape_commands = bibtex,dvips,epstopdf,...,tex
+</pre>
+ <p><a name="index-pipes_002c-reading-and-writing-341"></a><a name="index-g_t_005copenin_0040r_007b_002c-and-pipes_007d-342"></a><a name="index-g_t_005cinput_0040r_007b_002c-and-pipes_007d-343"></a><a name="index-g_t_005copenout_0040r_007b_002c-and-pipes_007d-344"></a><a name="index-g_t_005cpdfshellescape-345"></a>pdfTeX and luaTeX support reading (via <code>\input</code> and
+<code>\openin</code>) and writing (via <code>\openout</code>) from pipes if the
+first character is &lsquo;<samp><span class="samp">|</span></samp>&rsquo;. The following command is then treated
+exactly the same as the argument to <code>\write18</code>. In these
+engines, the primitive variable <code>\pdfshellescape</code> is set to 0 if
+shell escapes are disabled, 1 if they are enabled, and 2 if they are
+enabled with restrictions.
+
+ <p><a name="index-web-environments_002c-and-security-346"></a>The purpose of this feature is to make it possible for TeX
+documents to perform useful external actions in the common case of an
+individual user running a known document on his or her own machine.
+In such environments as CGI scripts or wikis where the input has to be
+considered untrustworthy, shell escapes should be completely disabled.
+
+<div class="node">
+<a name="IPC-and-TeX"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#TeX-extensions">TeX extensions</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Shell-escapes">Shell escapes</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#TeX">TeX</a>
+
+</div>
+
+<h3 class="section">4.6 IPC and TeX</h3>
+
+<p><a name="index-IPC-347"></a><a name="index-sockets-348"></a>(If anyone uses this feature and needs documentation, write
+<a href="mailto:tex-k@tug.org">tex-k@tug.org</a>.)
+
+ <p>This functionality is available only if the &lsquo;<samp><span class="samp">--enable-ipc</span></samp>&rsquo; option
+was specified to <code>configure</code> during installation of Web2c
+(see <a href="#Installation">Installation</a>).
+
+ <p><a name="index-IPC_005fDEBUG-349"></a>If you define <code>IPC_DEBUG</code> before compilation (e.g., with &lsquo;<samp><span class="samp">make
+XCFLAGS=-DIPC_DEBUG</span></samp>&rsquo;), TeX will print messages to standard error
+about its socket operations. This may be helpful if you are, well,
+debugging.
+
+<div class="node">
+<a name="TeX-extensions"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#IPC-and-TeX">IPC and TeX</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#TeX">TeX</a>
+
+</div>
+
+<h3 class="section">4.7 TeX extensions</h3>
+
+<p><a name="index-extensions-to-_0040TeX_007b_007d-350"></a><a name="index-g_t_0040TeX_007b_007d_002c-extensions-to-351"></a>
+The base TeX program has been extended in many ways. Here's a
+partial list.
+
+ <dl>
+<dt>e-TeX<dd><a name="index-e_002d_0040TeX_007b_007d-352"></a><a name="index-primitives_002c-new-353"></a>Adds many new primitives, including right-to-left typesetting and more
+registers. Now frozen.
+
+ <br><dt>Aleph<dd><a name="index-Aleph-354"></a><a name="index-Unicode-355"></a>This adds Unicode support, right-to-left typesetting, and more. Omega
+was the original program. Aleph is an updated version with a variety
+of bug fixes, and includes e-TeX. Aleph is not actively maintained.
+
+ <br><dt>pdfTeX<dd><a name="index-pdf_0040TeX_007b_007d-356"></a><a name="index-PDF-357"></a><a name="index-micro_002dtypography-358"></a><a name="index-hypertext-359"></a>Can produce PDF as well as DVI files. It also incorporates the
+e-TeX extensions, new primitives for hypertext and
+micro-typography, reading/writing from pipes, and much more. Home
+page: <a href="http://pdftex.org">http://pdftex.org</a>.
+
+ <br><dt>luaTeX<dd><a name="index-lua_0040TeX_007b_007d-360"></a><a name="index-Lua-361"></a>Based on pdfTeX, this also embeds the Lua programming language
+(<a href="http://lua.org">http://lua.org</a>) and opens up the TeX typesetting engine to
+control from Lua. Home page: <a href="http://luatex.org">http://luatex.org</a>.
+
+ <br><dt>XeTeX<dd><a name="index-Xe_0040TeX_007b_007d-362"></a><a name="index-Unicode-363"></a>Combines support for Unicode input and OpenType- and system fonts
+with the capabilities of pdfTeX.
+Home page: <a href="http://tug.org/xetex">http://tug.org/xetex</a>.
+
+ </dl>
+
+<div class="node">
+<a name="Metafont"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#MetaPost">MetaPost</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#TeX">TeX</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">5 Metafont: Creating typeface families</h2>
+
+<p><a name="index-Metafont-364"></a><a name="index-typeface-families-365"></a><a name="index-geometric-designs-366"></a><a name="index-shapes-367"></a><a name="index-font-design-368"></a>
+Metafont is a system for producing shapes; it was designed for producing
+complete typeface families, but it can also produce geometric designs,
+dingbats, etc. And it has considerable mathematical and
+equation-solving capabilities which can be useful entirely on their own.
+
+ <p>Metafont is a batch language, like C or Pascal: you compile a Metafont
+program into a corresponding font, rather than interactively drawing
+lines or curves. This approach has both considerable disadvantages
+(people unfamiliar with conventional programming languages will be
+unlikely to find it usable) and considerable advantages (you can make
+your design intentions specific and parameterizable). For a complete
+description of the Metafont language, see <cite>The METAFONTbook</cite>
+(see <a href="#References">References</a>).
+
+<ul class="menu">
+<li><a accesskey="1" href="#mf-invocation">mf invocation</a>: Invoking Metafont.
+<li><a accesskey="2" href="#Initial-Metafont">Initial Metafont</a>: Making bases.
+<li><a accesskey="3" href="#Modes">Modes</a>: Device definitions for Metafont.
+<li><a accesskey="4" href="#Online-Metafont-graphics">Online Metafont graphics</a>: Seeing MF output online.
+<li><a accesskey="5" href="#gftodvi-invocation">gftodvi invocation</a>: Making proofsheets for fonts.
+<li><a accesskey="6" href="#mft-invocation">mft invocation</a>: Prettyprinting Metafont sources.
+</ul>
+
+<div class="node">
+<a name="mf-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Initial-Metafont">Initial Metafont</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Metafont">Metafont</a>
+
+</div>
+
+<h3 class="section">5.1 <code>mf</code> invocation</h3>
+
+<p><a name="index-mf-369"></a><a name="index-Metafont-invocation-370"></a>
+Metafont (usually invoked as <code>mf</code>) reads character definitions
+specified in the Metafont programming language, and outputs the
+corresponding font. This section merely describes the options available
+in the Web2c implementation. For a complete description of the Metafont
+language, see <cite>The Metafontbook</cite> (see <a href="#References">References</a>).
+
+ <p>Metafont processes its command line and determines its memory dump
+(base) file in a way exactly analogous to MetaPost and TeX
+(see <a href="#tex-invocation">tex invocation</a>, and see <a href="#Memory-dumps">Memory dumps</a>). Synopses:
+
+<pre class="example"> mf [<var>option</var>]... [<var>mfname</var>[.mf]] [<var>mf-commands</var>]
+ mf [<var>option</var>]... \<var>first-line</var>
+ mf [<var>option</var>]... &amp;<var>base</var> <var>args</var>
+</pre>
+ <p>Most commonly, a Metafont invocation looks like this:
+<pre class="example"> mf '\mode:=<var>mode</var>; mag:=<var>magnification</var>; input <var>mfname</var>'
+</pre>
+ <p class="noindent">(The single quotes avoid unwanted interpretation by the shell.)
+
+ <p><a name="index-g_t_002emf-371"></a><a name="index-Metafont-input-files-372"></a><a name="index-EC-fonts-373"></a><a name="index-mktexmf_0040r_007b_002c-disabling_007d-374"></a>Metafont searches the usual places for the main input file <var>mfname</var>
+(see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>), extending
+<var>mfname</var> with <samp><span class="file">.mf</span></samp> if necessary. To see all the relevant
+paths, set the environment variable <code>KPATHSEA_DEBUG</code> to &lsquo;<samp><span class="samp">-1</span></samp>&rsquo;
+before running the program. By default, Metafont runs an external
+program named <samp><span class="file">mktexmf</span></samp> to create any nonexistent Metafont source
+files you input. You can disable this at configure-time or runtime
+(see <a href="kpathsea.html#mktex-configuration">mktex configuration</a>). This is mostly
+for the sake of the EC fonts, which can be generated at any size.
+
+ <p><a name="index-g_t_002e_0040var_007bnnn_007dgf-_0040r_007bgeneric-fonts_007d-375"></a><a name="index-mfput-376"></a><a name="index-GF-output-377"></a><a name="index-GF-files_002c-output-by-Metafont-378"></a><a name="index-PK-files_002c-not-output-by-Metafont-379"></a>Metafont writes the main GF output to the file
+<samp><var>basemfname</var><span class="file">.</span><var>nnn</var><span class="file">gf</span></samp>, where <var>nnn</var> is the font
+resolution in pixels per inch, and <var>basemfname</var> is the basename of
+<var>mfname</var>, or &lsquo;<samp><span class="samp">mfput</span></samp>&rsquo; if no input file was specified. A GF file
+contains bitmaps of the actual character shapes. Usually GF files are
+converted immediately to PK files with GFtoPK (see <a href="#gftopk-invocation">gftopk invocation</a>), since PK files contain equivalent information, but are
+more compact. (Metafont output in GF format rather than PK for only
+historical reasons.)
+
+ <p><a name="index-g_t_002etfm-_0040r_007boutput_007d-380"></a><a name="index-TFM-files_002c-output-by-Metafont-381"></a>Metafont also usually writes a metric file in TFM format to
+<samp><var>basemfname</var><span class="file">.tfm</span></samp>. A TFM file contains character dimensions,
+kerns, and ligatures, and spacing parameters. TeX reads only this
+<tt>.tfm</tt> file, not the GF file.
+
+ <p><a name="index-mode-needed-to-run-Metafont-382"></a><a name="index-proof-_0040r_007bmode_007d-383"></a><a name="index-g_t2602gf-384"></a><a name="index-g_t_002e2602gf-385"></a>The <var>mode</var> in the example command above is a name referring to a
+device definition (see <a href="#Modes">Modes</a>); for example, <code>localfont</code> or
+<code>ljfour</code>. These device definitions must generally be precompiled
+into the base file. If you leave this out, the default is <code>proof</code>
+mode, as stated in <cite>The Metafontbook</cite>, in which Metafont outputs at
+a resolution of 2602<span class="dmn">dpi</span>; this is usually not what you want. The
+remedy is simply to assign a different mode&mdash;<code>localfont</code>, for
+example.
+
+ <p>The <var>magnification</var> assignment in the example command above is a
+magnification factor; for example, if the device is 600<span class="dmn">dpi</span> and you
+specify <code>mag:=2</code>, Metafont will produce output at 1200<span class="dmn">dpi</span>.
+Very often, the <var>magnification</var> is an expression such as
+<code>magstep(.5)</code>, corresponding to a TeX &ldquo;magstep&rdquo;, which are
+factors of
+
+ <p>After running Metafont, you can use the font in a TeX document as
+usual. For example:
+<pre class="example"> \font\myfont = newfont
+ \myfont Now I am typesetting in my new font (minimum hamburgers).
+</pre>
+ <p>The program accepts the following options, as well as the standard
+&lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-[no]-file-line-error</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-fmt=</span><var>fmtname</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-halt-on-error</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-ini</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-interaction=</span><var>string</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-jobname=</span><var>string</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-kpathsea-debug=</span><var>number</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-[no]parse-first-line</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-output-directory</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-progname=</span><var>string</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-recorder</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-translate-file=</span><var>tcxfile</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-8bit</span></samp>&rsquo;<dd>These options are common to TeX, Metafont, and MetaPost.
+See <a href="#Common-options">Common options</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">-mktex=</span><var>filetype</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-no-mktex=</span><var>filetype</var></samp>&rsquo;<dd><a name="index-g_t_002dmktex_003d_0040var_007bfiletype_007d-386"></a><a name="index-g_t_002dno_002dmktex_003d_0040var_007bfiletype_007d-387"></a>Turn on or off the &lsquo;<samp><span class="samp">mktex</span></samp>&rsquo; script associated with <var>filetype</var>.
+The only value that makes sense for <var>filetype</var> is &lsquo;<samp><span class="samp">mf</span></samp>&rsquo;.
+</dl>
+
+<div class="node">
+<a name="Initial-Metafont"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Modes">Modes</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#mf-invocation">mf invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Metafont">Metafont</a>
+
+</div>
+
+<h3 class="section">5.2 Initial Metafont</h3>
+
+<p><a name="index-initial-Metafont-388"></a><a name="index-Metafont_002c-initial-389"></a>
+<a name="index-g_t_002ebase-390"></a><a name="index-base-files-391"></a><code>inimf</code> is the &ldquo;initial&rdquo; form of Metafont, which does lengthy
+initializations avoided by the &ldquo;virgin&rdquo; (<code>vir</code>) form, so as to
+be capable of dumping &lsquo;<samp><span class="samp">.base</span></samp>&rsquo; files (see <a href="#Memory-dumps">Memory dumps</a>). For
+a detailed comparison of virgin and initial forms, see <a href="#Initial-and-virgin">Initial and virgin</a>. In past releases, a separate program <samp><span class="command">inimf</span></samp> was
+installed to invoke the initial form, but this is no longer the case.
+
+ <p>For a list of options and other information, see <a href="#mf-invocation">mf invocation</a>.
+
+ <p><a name="index-plain_002ebase-392"></a><a name="index-mf_002ebase-393"></a>The only memory dump file commonly used with Metafont is the default
+&lsquo;<samp><span class="samp">plain.base</span></samp>&rsquo;, also known as &lsquo;<samp><span class="samp">mf.base</span></samp>&rsquo; (again, see <a href="#Memory-dumps">Memory dumps</a>). It is created by default during installation, but you can also
+do so by hand if necessary (e.g., if a Metafont update is issued):
+<pre class="example"> mf -ini '\input plain; input modes; dump'
+</pre>
+ <p class="noindent">(The quotes prevent interpretation of the backslashes from the shell.)
+Then install the resulting <samp><span class="file">plain.base</span></samp> in &lsquo;<samp><span class="samp">$(basedir)</span></samp>&rsquo;
+(<samp><span class="file">/usr/local/share/texmf/web2c</span></samp> by default), and link
+<samp><span class="file">mf.base</span></samp> to it.
+
+ <p>For an explanation of the additional <samp><span class="file">modes.mf</span></samp> file,
+see <a href="#Modes">Modes</a>. This file has no counterpart in TeX or MetaPost.
+
+ <p><a name="index-cmmf_002ebase-_0040r_007bnot-recommended_007d-394"></a><a name="index-cm_002ebase-395"></a><a name="index-cmbase_002emf-396"></a><a name="index-Computer-Modern-macros-397"></a><a name="index-base-files_002c-plain-only-398"></a>In the past, it was sometimes useful to create a base file
+<samp><span class="file">cmmf.base</span></samp> (a.k.a. <samp><span class="file">cm.base</span></samp>), with the Computer Modern
+macros also included in the base file. Nowadays, however, the
+additional time required to read <samp><span class="file">cmbase.mf</span></samp> is exceedingly small,
+usually not enough to be worth the administrative hassle of updating the
+<samp><span class="file">cmmf.base</span></samp> file when you install a new version of <samp><span class="file">modes.mf</span></samp>.
+<a name="index-type-design_002c-personal-399"></a>People actually working on a typeface may still find it worthwhile to
+create their own base file, of course.
+
+<div class="node">
+<a name="Modes"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Online-Metafont-graphics">Online Metafont graphics</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Initial-Metafont">Initial Metafont</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Metafont">Metafont</a>
+
+</div>
+
+<h3 class="section">5.3 Modes: Device definitions for Metafont</h3>
+
+<p><a name="index-modes-file-needed-for-Metafont-400"></a><a name="index-base-files_002c-need-mode-definitions-401"></a><a name="index-device-definitions_002c-for-Metafont-402"></a><a name="index-printer-characteristics_002c-for-Metafont-403"></a>Running Metafont and creating Metafont base files requires information
+that TeX and MetaPost do not: <dfn>mode</dfn> definitions which specify
+device characteristics, so Metafont can properly rasterize the shapes.
+
+ <p><a name="index-modes_002emf-_0040r_007brecommended-modes-file_007d-404"></a>When making a base file, a file containing modes for locally-available
+devices should be input after <samp><span class="file">plain.mf</span></samp>. One commonly used file
+is <a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a>; it includes all known
+definitions.
+
+ <p><a name="index-small-Metafont-memory-and-modes-405"></a><a name="index-mode_005fdef-406"></a><a name="index-mode_005fsetup-407"></a>If, however, for some reason you have decreased the memory available in
+your Metafont, you may need to copy <samp><span class="file">modes.mf</span></samp> and remove the
+definitions irrelevant to you (probably most of them) instead of using
+it directly. (Or, if you're a Metafont hacker, maybe you can suggest a
+way to redefine <code>mode_def</code> and/or <code>mode_setup</code>; right now, the
+amount of memory used is approximately four times the total length of
+the <code>mode_def</code> names, and that's a lot.)
+
+ <p>If you have a device not included in <samp><span class="file">modes.mf</span></samp>, please see
+comments in that file for how to create the new definition, and please
+send the definition to <a href="mailto:tex-fonts@math.utah.edu">tex-fonts@math.utah.edu</a> to get it included
+in the next release of <samp><span class="file">modes.mf</span></samp>.
+
+ <p><a name="index-smode-_0040r_007band-dynamic-Metafont-mode-definition_007d-408"></a><a name="index-dynamic-Metafont-mode-definitions-with-_0040code_007bsmode_007d-409"></a>Usually, when you run Metafont you must supply the name of a mode that
+was dumped in the base file. But you can also define the mode
+characteristics dynamically, by invoking Metafont with an assignment to
+<code>smode</code> instead of <code>mode</code>, like this:
+<pre class="example"> mf '\smode:="newmode.mf"; mag:=<var>magnification</var>; input <var>mfname</var>'
+</pre>
+ <p class="noindent">This is most useful when you are working on the definition of a new
+mode.
+
+ <p>The <var>magnification</var> and <var>mfname</var> arguments are explained in
+<a href="#mf-invocation">mf invocation</a>. In the file <samp><span class="file">newmode.mf</span></samp>, you should have the
+following (with no <code>mode_def</code> or <code>enddef</code>), if you are using
+<samp><span class="file">modes.mf</span></samp> conventions:
+<pre class="example"> mode_param (pixels_per_inch, <var>dpi</var>);
+ mode_param (blacker, <var>b</var>);
+ mode_param (fillin, <var>f</var>);
+ mode_param (o_correction, <var>o</var>);
+ mode_common_setup_;
+</pre>
+ <p class="noindent">(Of course, you should use real numbers for <var>dpi</var>, <var>b</var>, <var>f</var>,
+and <var>o</var>.)
+
+ <p>For more information on the use of <code>smode</code>, or if you are not using
+<samp><span class="file">modes.mf</span></samp>, see page 269 of <cite>The Metafontbook</cite>.
+
+<div class="node">
+<a name="Online-Metafont-graphics"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#gftodvi-invocation">gftodvi invocation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Modes">Modes</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Metafont">Metafont</a>
+
+</div>
+
+<h3 class="section">5.4 Online Metafont graphics</h3>
+
+<p><a name="index-online-Metafont-graphics-410"></a><a name="index-Metafont-graphics-411"></a>
+The Web2c implementation of Metafont can do online graphics with a
+number of devices. (See the Metafont manual for more information about
+how to draw on your screen.) By default, no graphics support is
+enabled.
+
+ <p><a name="index-MFTERM-412"></a><a name="index-TERM-413"></a>Metafont examines the <code>MFTERM</code> environment variable or config file
+value at runtime, or the <code>TERM</code> environment variable if
+<code>MFTERM</code> is not set, to determine the device support to use.
+Naturally, only the devices for which support has been compiled in can
+be selected.
+
+ <p>Here is a table of the possibilities, showing the <code>MFTERM</code> value
+and the corresponding <code>configure</code> option(s) in parentheses.
+
+ <dl>
+<dt><code>epsf</code><a name="index-epsf-414"></a><dd><a name="index-Herberts_002c-Mathias-415"></a><a name="index-g_t_002d_002denable_002depsfwin-416"></a>(&lsquo;<samp><span class="samp">--enable-epsfwin</span></samp>&rsquo;) Pseudo-window server for Encapsulated
+PostScript (see <samp><span class="file">web2c/window/epsf.c</span></samp>). This device produces an
+EPS file containing the graphics which would be displayed online on
+other devices. The name of the EPS file defaults to metafont.eps but
+can be changed by setting the MFEPSF environment variable to the new
+filename. Contributed by Mathias Herberts.
+
+ <br><dt><code>hp2627</code><a name="index-hp2627-417"></a><dd><a name="index-g_t_002d_002denable_002dhp2627win-418"></a>(&lsquo;<samp><span class="samp">--enable-hp2627win</span></samp>&rsquo;) HP2627a color graphics terminals.
+
+ <br><dt><code>mftalk</code><a name="index-mftalk-419"></a><dd><a name="index-g_t_002d_002denable_002dmftalkwin-420"></a>(&lsquo;<samp><span class="samp">--enable-mftalkwin</span></samp>&rsquo;) Generic window server (see
+<samp><span class="file">web2c/window/mftalk.c</span></samp>).
+
+ <br><dt><code>next</code><a name="index-next-421"></a><dd><a name="index-DrawingServant-422"></a><a name="index-g_t_002d_002denable_002dnext-423"></a>(&lsquo;<samp><span class="samp">--enable-next</span></samp>&rsquo;) NeXT window system. This requires a separate
+program, called <code>DrawingServant</code>, available separately. See the
+<samp><span class="file">web2c/window/next.c</span></samp>.
+
+ <br><dt><code>regis</code><a name="index-regis-424"></a><dd><a name="index-g_t_002d_002denable_002dregiswin-425"></a><a name="index-Regis-graphics-support-426"></a>(&lsquo;<samp><span class="samp">--enable-regiswin</span></samp>&rsquo;) Regis terminals.
+
+ <br><dt><code>sun</code><a name="index-sun-427"></a><dd><a name="index-SunView-428"></a><a name="index-Suntools-429"></a><a name="index-g_t_002d_002denable_002dsuntoolswin-430"></a><a name="index-sun_002dgfx_002ec-431"></a>(&lsquo;<samp><span class="samp">--enable-suntoolswin</span></samp>&rsquo;) The old Suntools (not any flavor of X)
+window system. (You can get the even older SunWindows <code>gfx</code> system
+by using <samp><span class="file">sun-gfx.c</span></samp>.)
+
+ <br><dt><code>tek</code><a name="index-tek-432"></a><dd><a name="index-Tektronix-433"></a><a name="index-g_t_002d_002denable_002dtektronixwin-434"></a>(&lsquo;<samp><span class="samp">--enable-tektronixwin</span></samp>&rsquo;) Tektronix terminals.
+
+ <p><a name="index-Poole_002c-Simon-435"></a><br><dt><code>uniterm</code><a name="index-uniterm-436"></a><dd><a name="index-Tektronix-4014-437"></a><a name="index-g_t_002d_002denable_002dunitermwin-438"></a>(&lsquo;<samp><span class="samp">--enable-unitermwin</span></samp>&rsquo;) Uniterm, Simon Poole's emulator of a smart
+Tektronix 4014 terminal. This may work with regular Tektronix terminals
+as well; it's faster than the driver &lsquo;<samp><span class="samp">--enable-tektronixwin</span></samp>&rsquo; selects.
+
+ <p><a name="index-NO_005fX11WIN-439"></a><a name="index-Xt-440"></a><a name="index-Xlib-441"></a><br><dt><code>xterm</code><a name="index-xterm-442"></a><dd><a name="index-g_t_002d_002dwith_002dx-443"></a>&lsquo;<samp><span class="samp">--with-x</span></samp>&rsquo; The X window system (version 11).
+
+ <p><a name="index-g_t_002d_002dwith_002dmf_002dx_002dtoolkit_003d_0040var_007bkit_007d-444"></a><a name="index-toolkits_002c-X-445"></a><a name="index-X-toolkits-and-Metafont-446"></a><a name="index-Xt-support-447"></a><a name="index-Xlib-support-448"></a>There are two variants of the X11 support, one that works with the Xt
+toolkit, and another that works directly with Xlib. The Xt support is
+more efficient and has more functionality, so it is the default. If you
+must use the Xlib support, use &lsquo;<samp><span class="samp">configure --with-x
+--with-kf-x-toolkit=no</span></samp>&rsquo;.
+
+ <p><a name="index-g_t_002d_002ddisable_002dmf_002dnowin-449"></a><a name="index-non_002dwindows_002dcapable-Metafont-450"></a>Specify &lsquo;<samp><span class="samp">--disable-mf-nowin</span></samp>&rsquo; in order not to build a separate
+non-windows-capable Metafont executable <code>mf-nowin</code> (or
+<code>mf-nowin.exe</code>).
+
+ <p><a name="index-X-resources-451"></a><a name="index-X-class-name-for-Metafont-452"></a><a name="index-class-name-for-Metafont-453"></a><a name="index-geometry-for-Metafont-454"></a><a name="index-Metafont-geometry-455"></a><a name="index-g_t_002eXdefaults-456"></a><a name="index-g_t_002eXresources-457"></a><a name="index-g_t_002dgeometry_0040r_007b_002c-supported-with-Xt_007d-458"></a>You cannot specify any of the usual X options (e.g., &lsquo;<samp><span class="samp">-geometry</span></samp>&rsquo;)
+on the Metafont command line, but you can specify X resources in your
+<samp><span class="file">~/.Xdefaults</span></samp> or <samp><span class="file">~/.Xresources</span></samp> file. The class name is
+<code>Metafont</code>. If you're using the Xt support, all the usual X toolkit
+resources are supported. If you're using the Xlib support, only the
+<code>geometry</code> resource is supported.
+
+ <p><a name="index-DISPLAY-459"></a>You specify the X display to which Metafont connects in the
+<code>DISPLAY</code> environment variable, as usual.
+
+ </dl>
+
+ <p><a name="index-Metafont-online-support_002c-new-devices-460"></a><a name="index-new-graphics-support-for-Metafont-461"></a><a name="index-texmfmp_002ec-462"></a>Writing support for a new device is straightforward. Aside from defining
+the basic drawing routines that Metafont uses (see <samp><span class="file">mf.web</span></samp>), you
+only have to add another entry to the tables on the last page of
+<samp><span class="file">web2c/lib/texmfmp.c</span></samp>. Or you can write an independent program and
+use MFtalk (see <samp><span class="file">web2c/window/mftalk.c</span></samp>).
+
+<div class="node">
+<a name="gftodvi-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#mft-invocation">mft invocation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Online-Metafont-graphics">Online Metafont graphics</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Metafont">Metafont</a>
+
+</div>
+
+<h3 class="section">5.5 GFtoDVI: Character proofs of fonts</h3>
+
+<p><a name="index-gftodvi-463"></a><a name="index-character-proofs-of-fonts-464"></a><a name="index-font-proofs-465"></a><a name="index-proof-sheets_002c-of-fonts-466"></a>
+GFtoDVI makes <dfn>proof sheets</dfn> from a GF bitmap file as output by, for
+example, Metafont (see <a href="#Metafont">Metafont</a>). This is an indispensable aid for
+font designers or Metafont hackers. Synopsis:
+
+<pre class="example"> gftodvi [<var>option</var>]... <var>gfname</var>[gf]
+</pre>
+ <p>The font <var>gfname</var> is searched for in the usual places (see <a href="kpathsea.html#Glyph-lookup">Glyph lookup</a>). To see all the relevant paths, set the
+environment variable <code>KPATHSEA_DEBUG</code> to &lsquo;<samp><span class="samp">-1</span></samp>&rsquo; before running
+the program.
+
+ <p>The suffix &lsquo;<samp><span class="samp">gf</span></samp>&rsquo; is supplied if not already present. This suffix is
+not an extension, no &lsquo;<samp><span class="samp">.</span></samp>&rsquo; precedes it; for instance, <samp><span class="file">cmr10.600gf</span></samp>.
+
+ <p>The output filename is the basename of <var>gfname</var> extended with
+<samp><span class="file">.dvi</span></samp>, e.g., &lsquo;<samp><span class="samp">gftodvi /wherever/foo.600gf</span></samp>&rsquo; creates
+<samp><span class="file">./foo.dvi</span></samp>.
+
+ <p>The characters from <var>gfname</var> appear one per page in the DVI output,
+with labels, titles, and annotations, as specified in Appendix H
+(Hardcopy Proofs) of <cite>The Metafontbook</cite>.
+
+ <p>GFtoDVI uses several fonts besides <var>gfname</var> itself:
+
+ <ul>
+<li><a name="index-gray-font-467"></a><dfn>gray font</dfn> (default <samp><span class="file">gray</span></samp>): for the pixels that actually make
+up the character. Simply using black is not right, since then labels,
+key points, and other information could not be shown.
+
+ <li><a name="index-title-font-468"></a><dfn>title font</dfn> (default <samp><span class="file">cmr8</span></samp>): for the header information at
+the top of each output page.
+
+ <li><a name="index-label-font-469"></a><dfn>label font</dfn> (default <samp><span class="file">cmtt10</span></samp>): for the labels on key points
+of the figure.
+
+ <li><a name="index-slant-font-470"></a><dfn>slant font</dfn> (no default): for diagonal lines, which are otherwise
+simulated using horizontal and vertical rules.
+</ul>
+
+ <p>To change the default fonts, you must use <code>special</code> commands in
+your Metafont source file, typically via commands like <code>slantfont
+slantlj4</code>. There is no default slant font since no one printer is
+suitable as a default. You can make your own by copying one of the
+existing files, such as
+<samp><span class="file">.../fonts/source/public/misc/slantlj4.mf</span></samp> and then running
+<samp><span class="command">mf</span></samp> on it.
+
+ <p>For testing purposes, you may it useful to run <code>mf-nowin rtest</code>
+(hit RETURN when it stops) to get a <samp><span class="file">gf</span></samp> file of a thorn glyph.
+Or use <samp><span class="command">mf</span></samp> instead of <samp><span class="command">mf-nowin</span></samp> to have the glyph(s)
+displayed on the screen. After that, <code>gftodvi rtest.2602gf</code>
+should produce <samp><span class="file">rtest.dvi</span></samp>, which you process as usual.
+
+ <p>The program accepts the following option, as well as the standard
+&lsquo;<samp><span class="samp">-verbose</span></samp>&rsquo;, &lsquo;<samp><span class="samp">-help</span></samp>&rsquo;, and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-overflow-label-offset=</span><var>points</var></samp>&rsquo;<dd><a name="index-g_t_002doverflow_002dlabel_002doffset_003d_0040var_007bpoints_007d-471"></a><a name="index-overflow-label-offset-472"></a><a name="index-offset-for-overflow-labels-473"></a>Typeset the so-called overflow labels, if any, <var>points</var> TeX
+points from the right edge of the character bounding box. The default
+is a little over two inches (ten million scaled points, to be precise).
+Overflow equations are used to locate coordinates when their actual
+position is too crowded with other information.
+</dl>
+
+<div class="node">
+<a name="mft-invocation"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#gftodvi-invocation">gftodvi invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Metafont">Metafont</a>
+
+</div>
+
+<h3 class="section">5.6 MFT: Prettyprinting Metafont source</h3>
+
+<p><a name="index-mft-474"></a><a name="index-Metafont-source_002c-prettyprinting-475"></a><a name="index-prettyprinting-Metafont-source-476"></a><a name="index-g_t_0040TeX_007b_007d_002c-creating-from-Metafont-477"></a>
+<a name="index-mftmac_002etex-478"></a>MFT translates a Metafont program into a TeX document suitable for
+typesetting, with the aid of TeX macros defined in the file
+<samp><span class="file">mftmac.tex</span></samp>. Synopsis:
+
+<pre class="example"> mft [<var>option</var>]... <var>mfname</var>[.mf]
+</pre>
+ <p>MFT searches the usual places for <var>mfname</var> (see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). To see all the relevant paths, set the
+environment variable <code>KPATHSEA_DEBUG</code> to &lsquo;<samp><span class="samp">-1</span></samp>&rsquo; before running
+the program. The output goes to the basename of <var>mfname</var> extended
+with <samp><span class="file">.tex</span></samp>, e.g., &lsquo;<samp><span class="samp">mft /wherever/foo.mf</span></samp>&rsquo; creates
+<samp><span class="file">./foo.tex</span></samp>.
+
+ <p>Line breaks in the input are carried over into the output; moreover,
+blank spaces at the beginning of a line are converted to quads of
+indentation in the output. Thus, you have full control over the
+indentation and line breaks. Each line of input is translated
+independently of the others.
+
+ <p>Further control is allowed via Metafont comments:
+<a name="index-comments_002c-MFT-control-479"></a>
+ <ul>
+<li>Metafont comments following a single &lsquo;<samp><span class="samp">%</span></samp>&rsquo; should be valid TeX
+input. But Metafont material can be included within vertical bars in a
+comment; this will be translated by MFT as if it were regular Metafont
+code. For example, a comment like &lsquo;<samp><span class="samp">% |x2r| is the tip of the bowl</span></samp>&rsquo;
+will be translated into the TeX &lsquo;<samp><span class="samp">% $x_{2r}$ is the ...</span></samp>&rsquo;,
+i.e., the &lsquo;<samp><span class="samp">x2r</span></samp>&rsquo; is treated as an identifier.
+
+ <li>&lsquo;<samp><span class="samp">%%</span></samp>&rsquo; indicates that the remainder of an input line should be copied
+verbatim to the output. This is typically used to introduce additional
+TeX material at the beginning or an MFT job, e.g. code to modify the
+standard layout or the formatting macros defined in <samp><span class="file">mftmac.tex</span></samp>,
+or to add a line saying &lsquo;<samp><span class="samp">%%\bye</span></samp>&rsquo; at the end of the job. (MFT
+doesn't add this automatically in order to allow processing several
+files produces by MFT in the same TeX job.)
+
+ <li>&lsquo;<samp><span class="samp">%%% </span><var>token1</var> <var>other-tokens</var></samp>&rsquo;
+introduces a change in MFT's formatting rules; all the <var>other-tokens</var>
+will henceforth be translated according to the current conventions for
+<var>token1</var>. The tokens must be symbolic (i.e., not
+numeric or string tokens). For example, the input line
+ <pre class="example"> %%% addto fill draw filldraw
+</pre>
+ <p class="noindent">says to format the &lsquo;<samp><span class="samp">fill</span></samp>&rsquo;, &lsquo;<samp><span class="samp">draw</span></samp>&rsquo;, and &lsquo;<samp><span class="samp">filldraw</span></samp>&rsquo;
+operations of plain Metafont just like the primitive token &lsquo;<samp><span class="samp">addto</span></samp>&rsquo;,
+i.e., in boldface type. Without such reformatting commands, MFT would
+treat &lsquo;<samp><span class="samp">fill</span></samp>&rsquo; like an ordinary tag or variable name. In fact, you
+need a &lsquo;<samp><span class="samp">%%%</span></samp>&rsquo; command even to get parentheses to act like
+delimiters.
+
+ <li>&lsquo;<samp><span class="samp">%%%%</span></samp>&rsquo; introduces an MFT comment, i.e., MFT ignores the remainder
+of such a line.
+
+ <li>Five or more &lsquo;<samp><span class="samp">%</span></samp>&rsquo; signs should not be used.
+</ul>
+
+ <p><a name="index-Knuth_002c-Donald-E_002e-480"></a>(The above description was edited from <samp><span class="file">mft.web</span></samp>, written by
+D.E.&nbsp;Knuth<!-- /@w -->.)
+
+ <p>The program accepts the following options, as well as the standard
+&lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-change=</span><var>chfile</var><span class="samp">[.ch]</span></samp>&rsquo;<dd><a name="index-g_t_002dchange_003d_0040var_007bchfile_007d-481"></a><a name="index-change-files_002c-and-MFT-482"></a>Apply the change file <var>chfile</var> as with Tangle and Weave
+(see <a href="#WEB">WEB</a>).
+
+ <br><dt>&lsquo;<samp><span class="samp">-style=</span><var>mftfile</var><span class="samp">[.mft]</span></samp>&rsquo;<dd><a name="index-g_t_002dstyle_003d_0040var_007bmftfile_007d-483"></a><a name="index-style-files-484"></a><a name="index-plain_002emft-485"></a>Read <var>mftfile</var> before anything else; a MFT style file typically
+contains only MFT directives as described above. The default style file
+is named <samp><span class="file">plain.mft</span></samp>, which defines this properly for programs
+using plain Metafont. The MFT files is searched along the
+<code>MFTINPUTS</code> path; see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>.
+
+ <p><a name="index-cmbase_002emft-486"></a><a name="index-e_002emft-487"></a><a name="index-g_t_0040cite_007bComputer-Modern-Typefaces_007d_002c-production-of-488"></a>Other examples of MFT style files are <samp><span class="file">cmbase.mft</span></samp>, which defines
+formatting rules for the macros defined in <samp><span class="file">cm.base</span></samp>, and
+<samp><span class="file">e.mft</span></samp>, which was used in the production of Knuth's Volume&nbsp;<!-- /@w -->E,
+<cite>Computer Modern Typefaces</cite>.
+
+ <p><a name="index-MetaPost-source_002c-prettyprinting-489"></a>Using an appropriate MFT style file, it is also possible to configure
+MFT for typesetting MetaPost sources. However, MFT does not search
+the usual places for MetaPost input files.
+</dl>
+
+ <p>If you use eight-bit characters in the input file, they are
+passed on verbatim to the TeX output file; it is up to you to
+configure TeX to print these properly.
+
+<div class="node">
+<a name="MetaPost"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#BibTeX">BibTeX</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Metafont">Metafont</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">6 MetaPost: Creating technical illustrations</h2>
+
+<p><a name="index-MetaPost-490"></a><a name="index-PostScript-meets-Metafont-491"></a><a name="index-Metafont-meets-PostScript-492"></a>MetaPost is a picture-drawing language similar to Metafont
+(see <a href="#Metafont">Metafont</a>), but instead of outputting bitmaps in a &ldquo;font&rdquo;, it
+outputs PostScript commands. It's primarily intended for creating
+technical illustrations.
+
+ <p>MetaPost also provides for arbitrary integration of text and graphics in
+a natural way, using any typesetter (TeX and Troff are both
+supported) and a number of other subsidiary programs, described below.
+
+<ul class="menu">
+<li><a accesskey="1" href="#mpost-invocation">mpost invocation</a>: Invoking MetaPost.
+<li><a accesskey="2" href="#Initial-MetaPost">Initial MetaPost</a>: Making mems.
+<li><a accesskey="3" href="#dvitomp-invocation">dvitomp invocation</a>: DVI-to-MPX translation.
+</ul>
+
+<div class="node">
+<a name="mpost-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Initial-MetaPost">Initial MetaPost</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#MetaPost">MetaPost</a>
+
+</div>
+
+<h3 class="section">6.1 <code>mpost</code> invocation</h3>
+
+<p><a name="index-mpost-493"></a><a name="index-MetaPost-invocation-494"></a>
+<a name="index-mpman_002eps-495"></a>MetaPost (installed as <code>mpost</code>) reads a series of pictures
+specified in the MetaPost programming language, and outputs
+corresponding PostScript code. This section merely describes the
+options available in the Web2c implementation. For a complete
+description of the MetaPost language, see AT&amp;T technical report
+CSTR-162, generally available in <samp><var>texmf</var><span class="file">/doc/metapost/</span></samp>,
+where <var>texmf</var> is the root of TeX directory structure. See
+also:
+ <ul>
+<li><a href="http://cm.bell-labs.com/who/hobby/MetaPost.html">http://cm.bell-labs.com/who/hobby/MetaPost.html</a> (the
+ MetaPost author's home page);
+<li><a href="http://tug.org/metapost">http://tug.org/metapost</a> (papers, packages, and
+ related information).
+</ul>
+
+ <p><a name="index-mpgraph_002eps-496"></a>Also, a standard MetaPost package for drawing graphs is documented in
+AT&amp;T technical report CSTR-164, available as the file <samp><span class="file">mpgraph.ps</span></samp>,
+generally stored alongside <samp><span class="file">mpman.ps</span></samp>.
+
+ <p>MetaPost processes its command line and determines its memory dump (mem)
+file in a way exactly analogous to Metafont and TeX (see <a href="#tex-invocation"><code>tex</code> invocation</a>, and see <a href="#Memory-dumps">Memory dumps</a>).
+Synopses:
+
+<pre class="example"> mpost [<var>option</var>]... [<var>mpname</var>[.mp]] [<var>mp-commands</var>]
+ mpost [<var>option</var>]... \<var>first-line</var>
+ mpost [<var>option</var>]... &amp;<var>mem</var> <var>args</var>
+</pre>
+ <p><a name="index-g_t_002emp-497"></a><a name="index-MetaPost-input-files-498"></a>MetaPost searches the usual places for the main input file <var>mpname</var>
+(see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>), extending
+<var>mpname</var> with <samp><span class="file">.mp</span></samp> if necessary. To see all the relevant
+paths, set the environment variable <code>KPATHSEA_DEBUG</code> to &lsquo;<samp><span class="samp">-1</span></samp>&rsquo;
+before running the program.
+
+ <p><a name="index-beginfig-499"></a><a name="index-g_t_002e_0040var_007bnnn_007d-_0040r_007bPostScript-figures_007d-500"></a><a name="index-g_t_002etfm-_0040r_007boutput_007d-501"></a><a name="index-mpout-502"></a><a name="index-TFM-files_002c-output-by-MetaPost-503"></a><a name="index-PostScript-output-504"></a>MetaPost writes its PostScript output to a series of files
+<samp><var>basempname</var><span class="file">.</span><var>nnn</var></samp> (or perhaps
+<samp><var>basempname</var><span class="file">.ps</span></samp>, very occasionally
+<samp><var>basempname</var><span class="file">.tfm</span></samp>), where <var>nnn</var> are the figure numbers
+specified in the input, typically to the <code>beginfig</code> macro, and
+<var>basempname</var> is the basename of <var>mpname</var>, or &lsquo;<samp><span class="samp">mpout</span></samp>&rsquo; if no
+input file was specified. MetaPost uses the &lsquo;<samp><span class="samp">.ps</span></samp>&rsquo; extension when
+the figure number is out of range, e.g., if you say <code>beginfig(-1)</code>.
+
+ <p>You can use the output files as figures in a TeX document just as
+with any other PostScript figures. For example, with this TeX command:
+<pre class="example"> \special{psfile="<var>filename</var>"}
+</pre>
+ <p class="noindent">or by using <samp><span class="file">epsf.tex</span></samp> (see <a href="dvips.html#EPSF-macros">EPSF macros</a>).
+
+ <p><a name="index-btex-_0040r_007bfor-MetaPost-labels_007d-505"></a><a name="index-etex-_0040r_007bfor-MetaPost-labels_007d-506"></a>The MetaPost construct
+<pre class="example"> btex ... <var>tex-input</var> ... etex
+</pre>
+ <p class="noindent">generates a MetaPost picture expression corresponding to
+<var>tex-input</var>.
+
+ <p>The construct
+<pre class="example"> verbatimtex ... <var>tex-input</var> ... etex
+</pre>
+ <p class="noindent">simply passes the <var>tex-input</var> through to
+TeX. For example, if you are using LaTeX, your MetaPost input file
+must start with a <code>verbatimtex</code> block that gives the necessary
+<code>\documentclass</code> (or <code>\documentstyle</code>)
+<code>\begin{document}</code> command. You will also need to set the
+enviroment variable <code>TEX</code> to &lsquo;<samp><span class="samp">latex</span></samp>&rsquo;.
+
+ <p><var>tex-input</var> need not be specifically TeX input; it could also be
+Troff. In that case, you will need the &lsquo;<samp><span class="samp">-m pictures</span></samp>&rsquo; Troff macro
+package (unfortunately absent from many Troff implementations), or an
+equivalent such as the &lsquo;<samp><span class="samp">-m pspic</span></samp>&rsquo; macros from GNU groff described
+in grops(1).
+
+ <p><a name="index-PostScript-fonts_002c-and-Troff-507"></a><a name="index-Troff_002c-and-MetaPost-508"></a><a name="index-Computer-Modern-fonts_002c-and-Troff-509"></a>Naturally, you must use fonts that are supported by the typesetter;
+specifically, you'll probably want to use standard PostScript fonts with
+Troff. And only the TeX system understands Computer Modern or other
+Metafont fonts; you can also use PostScript fonts with TeX, of course.
+
+ <p><a name="index-mproof_002etex-510"></a><a name="index-downloading-of-fonts-for-MetaPost-labels-511"></a><a name="index-font-downloading-for-MetaPost-labels-512"></a>MetaPost-generated PostScript figures which do use Computer Modern fonts
+for labels cannot be directly previewed or printed. Instead, you must
+include them in a TeX document and run the resulting DVI file through
+Dvips to arrange for the downloading of the required fonts (see <a href="dvips.html#Fonts-in-figures">Fonts in figures</a>). To help with this, the MetaPost
+distribution provides a small TeX file <samp><span class="file">mproof.tex</span></samp> which is
+typically called as:
+<pre class="example"> tex mproof <var>mp-output-files</var>... ; dvips mproof -o
+</pre>
+ <p class="noindent">The resulting file <samp><span class="file">mproof.ps</span></samp> can then be printed or previewed.
+
+ <p><a name="index-prologues_0040r_007b_002c-and-EPSF-output_007d-513"></a><a name="index-psfonts_002emap_0040r_007b_002c-read-by-MetaPost_007d-514"></a>To generate EPSF files, set the internal MetaPost variable
+<code>prologues</code> positive. To make the output files self-contained, use
+only standard PostScript fonts. MetaPost reads the same
+<samp><span class="file">psfonts.map</span></samp> file as Dvips, to determine PostScript fonts that
+need to be downloaded (see <a href="dvips.html#psfonts_002emap">psfonts.map</a>).
+
+ <p><a name="index-PDF_002c-and-_0040code_007b_002emps_007d-files-515"></a><a name="index-g_t_0040code_007b_002emps_007d-files-and-PDF-516"></a>It is posible for pdfTeX to read MetaPost output directly; this is
+in contrast to general EPSF files, which have to be converted for use
+with PDF output. The easiest way is to name the MetaPost output files
+with the <code>.mps</code> extension. Then the LaTeX
+<code>\includegraphics</code> command, for example, will be able to read
+them, even when outputting PDF.
+
+ <p><a name="index-security_002c-and-_0040code_007bwrite_007d-517"></a>MetaPost can write output files, via the <code>write</code> primitive; this
+opens a security hole. See <a href="#tex-invocation">tex invocation</a>.
+
+ <p>The program accepts the following options, as well as the standard
+&lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-[no]-file-line-error</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-fmt=</span><var>fmtname</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-halt-on-error</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-ini</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-interaction=</span><var>string</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-jobname=</span><var>string</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-kpathsea-debug=</span><var>number</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-[no]parse-first-line</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-output-directory</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-progname=</span><var>string</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-recorder</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-translate-file=</span><var>tcxfile</var></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-8bit</span></samp>&rsquo;<dd>These options are common to TeX, Metafont, and MetaPost.
+See <a href="#Common-options">Common options</a>.
+
+ <br><dt>&lsquo;<samp><span class="samp">-T</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-troff</span></samp>&rsquo;<dd><a name="index-g_t_002dT-518"></a><a name="index-g_t_002dtroff-519"></a><a name="index-prologues-520"></a>Set the <code>prologues</code> internal variable to <code>1</code>.
+
+ <br><dt>&lsquo;<samp><span class="samp">-tex=</span><var>texprogram</var></samp>&rsquo;<dd><a name="index-g_t_002dtex_003d_0040var_007btexprogram_007d-521"></a>When this option is given, the program <var>texprogram</var> is used to
+typeset the labels.
+
+ </dl>
+
+<div class="node">
+<a name="Initial-MetaPost"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#dvitomp-invocation">dvitomp invocation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#mpost-invocation">mpost invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#MetaPost">MetaPost</a>
+
+</div>
+
+<h3 class="section">6.2 Initial MetaPost</h3>
+
+<p><a name="index-initial-MetaPost-522"></a><a name="index-MetaPost_002c-initial-523"></a>
+As of MetaPost 1.504 (TeX Live 2011), MetaPost no longer dumps
+<samp><span class="file">.mem</span></samp> files (see <a href="#Memory-dumps">Memory dumps</a>) and does not distinguish
+virgin and initial forms (see <a href="#Initial-and-virgin">Initial and virgin</a>). Instead, the
+&ldquo;initial&rdquo; file name is read in its source form&mdash;that is,
+<samp><span class="file">mpost.mp</span></samp> when the program is invoked as <samp><span class="command">mpost</span></samp>.
+
+ <p>For a list of options and other information, see <a href="#mpost-invocation">mpost invocation</a>.
+
+ <p><a name="index-Metafont_002c-compatibility-in-MetaPost-524"></a><a name="index-plain-Metafont_002c-compatibility-in-MetaPost-525"></a><a name="index-MetaPost-and-plain-Metafont-compatibility-526"></a><a name="index-mfplain-527"></a>MetaPost provides a format with all the features of plain Metafont,
+called <samp><span class="file">mfplain</span></samp>. You can use that in the same way; just run
+<samp><span class="command">mfplain</span></samp> instead of <samp><span class="command">mpost</span></samp>. This lets you directly
+process Metafont source files with MetaPost, producing character
+proofs (one file for each character) similar to those produced with
+Metafont in proof mode and GFtoDVI (see <a href="#gftodvi-invocation">gftodvi invocation</a>).
+
+<div class="node">
+<a name="dvitomp-invocation"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Initial-MetaPost">Initial MetaPost</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#MetaPost">MetaPost</a>
+
+</div>
+
+<h3 class="section">6.3 DVItoMP: DVI to MPX conversion</h3>
+
+<p><a name="index-dvitomp-528"></a><a name="index-DVI-files_002c-converting-to-MPX-529"></a><a name="index-MPX-files_002c-converting-from-DVI-files-530"></a>
+DVItoMP converts DVI files into low-level MetaPost commands in a
+so-called MPX file. Synopsis:
+
+<pre class="example"> dvitomp <var>dvifile</var>[.dvi] [<var>mpxfile</var>[.mpx]]
+</pre>
+ <p class="noindent">If <var>mpxfile</var> is not specified, the output goes to the basename of
+<var>dvifile</var> extended with <samp><span class="file">.mpx</span></samp>, e.g., &lsquo;<samp><span class="samp">dvitomp
+/wherever/foo.dvi</span></samp>&rsquo; creates <samp><span class="file">./foo.mpx</span></samp>.
+
+ <p><a name="index-color_002c-in-DVItoMP-531"></a>DVItoMP supports Dvips-style color specials, such as &lsquo;<samp><span class="samp">color push
+</span><var>name</var></samp>&rsquo; and &lsquo;<samp><span class="samp">color pop</span></samp>&rsquo;, outputting them as <code>withcolor</code>
+MetaPost commands.
+
+ <p>The only options are &lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>).
+
+<div class="node">
+<a name="BibTeX"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#WEB">WEB</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#MetaPost">MetaPost</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">7 BibTeX: Bibliographies</h2>
+
+<p><a name="index-bibliographies_002c-creating-532"></a><a name="index-Bib_0040TeX_007b_007d-533"></a>
+BibTeX automates much of the job of typesetting bibliographies, and
+makes bibliography entries reusable in many different contexts.
+
+<ul class="menu">
+<li><a accesskey="1" href="#bibtex-invocation">bibtex invocation</a>
+<li><a accesskey="2" href="#Basic-BibTeX-style-files">Basic BibTeX style files</a>: The standard and semi-standard styles.
+</ul>
+
+<div class="node">
+<a name="bibtex-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Basic-BibTeX-style-files">Basic BibTeX style files</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#BibTeX">BibTeX</a>
+
+</div>
+
+<h3 class="section">7.1 BibTeX invocation</h3>
+
+<p><a name="index-bibtex-534"></a>
+<a name="index-g_t_002ebbl-_0040r_007bbibliography-files_007d-535"></a><a name="index-g_t_002eaux-_0040r_007bcross_002dreference-files_007d-536"></a><a name="index-g_t_002ebib-_0040r_007bbibliography-databases_007d-537"></a>BibTeX creates a printable bibliography (<samp><span class="file">.bbl</span></samp>) file from
+references in a <samp><span class="file">.aux</span></samp> file, generally written by TeX or
+LaTeX. The <samp><span class="file">.bbl</span></samp> file is then incorporated on a subsequent
+run. The basic bibliographic information comes from <samp><span class="file">.bib</span></samp> files,
+and a BibTeX style (<samp><span class="file">.bst</span></samp>) file controls the precise contents
+of the <samp><span class="file">.bbl</span></samp> file. Synopsis:
+
+<pre class="example"> bibtex [<var>option</var>]... <var>auxfile</var>[.aux]
+</pre>
+ <p><a name="index-g_t_002eblg-_0040r_007bBib_0040TeX_007b_007d-log-file_007d-538"></a><a name="index-log-file_002c-Bib_0040TeX_007b_007d-539"></a>The output goes to the basename of <var>auxfile</var> extended with
+<samp><span class="file">.bbl</span></samp>; for example, &lsquo;<samp><span class="samp">bibtex /wherever/foo.aux</span></samp>&rsquo; creates
+<samp><span class="file">./foo.bbl</span></samp>. BibTeX also writes a log file to the basename of
+<var>auxfile</var> extended with &lsquo;<samp><span class="samp">.blg</span></samp>&rsquo;.
+
+ <p><a name="index-g_t_005cbibliography-540"></a><a name="index-g_t_005cbibliographystyle-541"></a><a name="index-TEXBIB_0040r_007b_002c-search-path-for-bib-files_007d-542"></a><a name="index-BIBINPUTS_0040r_007b_002c-search-path-for-bib-files_007d-543"></a><a name="index-BSTINPUTS_0040r_007b_002c-search-path-for-bst-files_007d-544"></a>The names of the <samp><span class="file">.bib</span></samp> and <samp><span class="file">.bst</span></samp> files are specified in the
+<samp><span class="file">.aux</span></samp> file as well, via the <samp><span class="file">\bibliography</span></samp> and
+<samp><span class="file">\bibliographystyle</span></samp> (La)TeX macros. BibTeX searches for
+<samp><span class="file">.bib</span></samp> files using the <code>BIBINPUTS</code> and <code>TEXBIB</code> paths,
+and for <samp><span class="file">.bst</span></samp> files using <code>BSTINPUTS</code> (see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). It does no path searching for
+<samp><span class="file">.aux</span></samp> files.
+
+ <p>The program accepts the following options, as well as the standard
+&lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-terse</span></samp>&rsquo;<dd><a name="index-g_t_002dterse-545"></a><a name="index-terse-output-546"></a><a name="index-verbose-Bib_0040TeX_007b_007d-output_002c-suppressing-547"></a>Suppress the program banner and progress reports normally output.
+
+ <br><dt>&lsquo;<samp><span class="samp">-min-crossrefs=</span><var>n</var></samp>&rsquo;<dd><a name="index-g_t_002dmin_002dcrossrefs_003d_0040var_007bn_007d-548"></a><a name="index-cross_002dreferenced-bibliography-items-549"></a><a name="index-bibliography-items_002c-cross_002dreferenced-550"></a>If at least <var>n</var> (2 by default) bibliography entries refer to another
+entry <var>e</var> via their <code>crossref</code> field, include <var>e</var> in the
+<tt>.bbl</tt> file, even if it was not explicitly referenced in the <tt>.aux</tt>
+file. For example, <var>e</var> might be a conference proceedings as a whole,
+with the cross-referencing entries being individual articles published
+in the proceedings. In some circumstances, you may want to avoid these
+automatic inclusions altogether; to do this, make <var>n</var> a sufficiently
+large number.
+</dl>
+
+ <p>See also:
+ <dl>
+<dt><samp><span class="file">btxdoc.tex</span></samp><dd><a name="index-btxdoc_002etex-551"></a>Basic LaTeXable documentation for general BibTeX users.
+
+ <br><dt><samp><span class="file">btxhak.tex</span></samp><dd><a name="index-btxhak_002etex-552"></a><a name="index-style-design_002c-for-Bib_0040TeX_007b_007d-553"></a>LaTeXable documentation for style designers.
+
+ <br><dt><samp><span class="file">btxdoc.bib</span></samp><dd><a name="index-btxdoc_002ebib-554"></a>BibTeX database file for the two above documents.
+
+ <br><dt><samp><span class="file">xampl.bib</span></samp><dd><a name="index-xampl_002ebib-555"></a>Example database file with all the standard entry types.
+
+ <br><dt><samp><span class="file"><a href="ftp://ftp.math.utah.edu/pub/tex/bib/">ftp://ftp.math.utah.edu/pub/tex/bib/</a></span></samp><dd><a name="index-ftp_002emath_002eutah_002eedu-556"></a><a name="index-Bib_0040TeX_007b_007d-collection-557"></a><a name="index-TUGboat-bibliography-558"></a><a name="index-g_t_0040TeX_007b_007d_002c-bibliographies-for-559"></a>A very large <samp><span class="file">.bib</span></samp> and <samp><span class="file">.bst</span></samp> collection, including
+references for all the standard TeX books and a complete bibliography
+for TUGboat.
+</dl>
+
+<div class="node">
+<a name="Basic-BibTeX-style-files"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#bibtex-invocation">bibtex invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#BibTeX">BibTeX</a>
+
+</div>
+
+<h3 class="section">7.2 Basic BibTeX style files</h3>
+
+<p><a name="index-basic-Bib_0040TeX_007b_007d-style-files-560"></a><a name="index-Bib_0040TeX_007b_007d-style-files-561"></a>
+Here are descriptions of the four standard and four semi-standard basic
+BibTeX styles. <samp><var>CTAN:</var><span class="file">/biblio/bibtex</span></samp> contains these and
+many more (for CTAN info, see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>).
+
+ <dl>
+<dt><code>plain</code><dd><a name="index-plain_002ebst-562"></a>Sorts entries alphabetically, with numeric labels. Generally formatted
+according to van Leunen's <cite>A Handbook for Scholars</cite>. The other
+style files listed here are based on <code>plain</code>.
+
+ <br><dt><code>abbrv</code><dd><a name="index-abbrv_002ebst-563"></a>First names, month names, and journal names are abbreviated.
+
+ <br><dt><code>acm</code><dd><a name="index-acm_002ebst-564"></a>Names are printed in small caps.
+
+ <br><dt><code>alpha</code><dd><a name="index-alpha_002ebst-565"></a>Alphanumeric labels, e.g., &lsquo;<samp><span class="samp">Knu66</span></samp>&rsquo;.
+
+ <br><dt><code>apalike</code><dd><a name="index-apalike_002ebst-566"></a>No labels at all; instead, the year appears in parentheses after the author.
+Use this in conjunction with <samp><span class="file">apalike.tex</span></samp> (plain TeX) or
+<samp><span class="file">apalike.sty</span></samp> (LaTeX), which also changes the citations in the
+text to be &lsquo;<samp><span class="samp">(</span><var>author</var><span class="samp">, </span><var>year</var><span class="samp">)</span></samp>&rsquo;.
+
+ <br><dt><code>ieeetr</code><dd><a name="index-ieeetr_002ebst-567"></a>Numeric labels, entries in citation order, <span class="sc">ieee</span> abbreviations,
+article titles in quotes.
+
+ <br><dt><code>siam</code><dd><a name="index-siam_002ebst-568"></a>Numeric labels, alphabetic order, <cite>Math. Reviews</cite>
+abbreviations, names in small caps.
+
+ <br><dt><code>unsrt</code><dd><a name="index-unsrt_002ebst-569"></a>Lists entries in citation order, i.e., unsorted.
+
+ <br><dt><code>btxbst.doc</code><dd>The template file and documentation for the standard styles.
+
+ </dl>
+
+<div class="node">
+<a name="WEB"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#DVI-utilities">DVI utilities</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#BibTeX">BibTeX</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">8 WEB: Literate programming</h2>
+
+<p><a name="index-WEB-570"></a><a name="index-literate-programming-571"></a>
+<dfn>WEB</dfn> languages allow you to write a single source file that can
+produce both a compilable program and a well-formatted document
+describing the program in as much detail as you wish to prepare.
+Writing in this kind of dual-purpose language is called <dfn>literate
+programming</dfn>. (The Usenet newsgroup <samp><span class="file">comp.programming.literate</span></samp>
+is devoted to this subject.)
+
+ <p><a name="index-webman_002etex-572"></a><a name="index-Spiderweb-573"></a><a name="index-Cweb-574"></a><a name="index-CWEB-575"></a><a name="index-Awk_002c-WEB-for-576"></a><a name="index-Ada_002c-WEB-for-577"></a><a name="index-Troff_002c-WEB-for-578"></a>WEB-like languages have been implemented with many pairs of base
+languages: Cweb provides C and Troff (see <a href="#References">References</a>); CWEB provides
+C and TeX (<samp><var>CTAN:</var><span class="file">/web/c_cpp/cweb</span></samp>); Spiderweb provides C,
+C++, Awk, Ada, many others, and TeX
+(<samp><var>CTAN:</var><span class="file">/web/spiderweb</span></samp>); and, of course, the original WEB
+provides Pascal and TeX, the implementation languages for the
+original TeX, Metafont, MetaPost, and related programs to come from
+the TeX project at Stanford.
+
+ <p>The original WEB language is documented in the file <samp><span class="file">webman.tex</span></samp>,
+which is included in the <a href="ftp://ftp.tug.org/tex/lib.tar.gz">ftp://ftp.tug.org/tex/lib.tar.gz</a> archive
+(and available in many other places, of course).
+
+<ul class="menu">
+<li><a accesskey="1" href="#tangle-invocation">tangle invocation</a>
+<li><a accesskey="2" href="#weave-invocation">weave invocation</a>
+<li><a accesskey="3" href="#pooltype-invocation">pooltype invocation</a>
+</ul>
+
+<div class="node">
+<a name="tangle-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#weave-invocation">weave invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#WEB">WEB</a>
+
+</div>
+
+<h3 class="section">8.1 Tangle: Translate WEB to Pascal</h3>
+
+<p><a name="index-tangle-579"></a><a name="index-Pascal_002c-creating-from-WEB-580"></a><a name="index-WEB-programs_002c-compiling-581"></a>
+Tangle creates a compilable Pascal program from a WEB source file
+(see <a href="#WEB">WEB</a>). Synopsis:
+
+<pre class="example"> tangle [<var>option</var>]... <var>webfile</var>[.web] [<var>changefile</var>[.ch]]
+</pre>
+ <p><a name="index-change-files_002c-and-Tangle-582"></a>The Pascal output is written to the basename of <var>webfile</var> extended
+with &lsquo;<samp><span class="samp">.p</span></samp>&rsquo;; for example, &lsquo;<samp><span class="samp">tangle /wherever/foo.web</span></samp>&rsquo; creates
+<samp><span class="file">./foo.p</span></samp>. Tangle applies <var>changefile</var> to <var>webfile</var> before
+writing the output; by default, there is no change file.
+
+ <p><a name="index-pool-file_002c-writing-583"></a><a name="index-string-pool_002c-writing-584"></a>If the program makes use of the WEB string facility, Tangle writes the
+string pool to the basename of <var>webfile</var> extended with &lsquo;<samp><span class="samp">.pool</span></samp>&rsquo;.
+
+ <p>The Pascal output is packed into lines of 72 characters or less, with
+the only concession to readability being the termination of lines at
+semicolons when this can be done conveniently.
+
+ <p>The program accepts the following options, as well as the standard
+&lsquo;<samp><span class="samp">--help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">--version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-length=</span><var>number</var></samp>&rsquo;<dd><a name="index-g_t_002dlength_003d_0040var_007bnumber_007d-585"></a><a name="index-identifier-length-586"></a>The number of characters that are considered significant in an
+identifier. Whether underline characters are counted depends on the
+&lsquo;<samp><span class="samp">-underline</span></samp>&rsquo; option. The default value is 32, the original tangle
+used 7, but this proved too restrictive for use by Web2c.
+
+ <br><dt>&lsquo;<samp><span class="samp">-lowercase</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-mixedcase</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-uppercase</span></samp>&rsquo;<dd><a name="index-g_t_002dlowercase-587"></a><a name="index-g_t_002dmixedcase-588"></a><a name="index-g_t_002duppercase-589"></a><a name="index-identifier-case-590"></a>These options specify the case of identifiers in the output of tangle.
+If &lsquo;<samp><span class="samp">-uppercase</span></samp>&rsquo; (&lsquo;<samp><span class="samp">-lowercase</span></samp>&rsquo;) is specified, tangle will
+convert all identfiers to uppercase (lowercase). The default is
+&lsquo;<samp><span class="samp">-mixedcase</span></samp>&rsquo;, which specifies that the case will not be changed.
+
+ <br><dt>&lsquo;<samp><span class="samp">-underline</span></samp>&rsquo;<dd><a name="index-g_t_002dunderline-591"></a><a name="index-identifiers-with-underlines-592"></a>When this option is given, tangle does not strip underline characters
+from identifiers.
+
+ <br><dt>&lsquo;<samp><span class="samp">-loose</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">-strict</span></samp>&rsquo;<dd><a name="index-g_t_002dloose-593"></a><a name="index-g_t_002dstrict-594"></a><a name="index-identifier-collisions-595"></a>These options specify how strict tangle must be when checking
+identifiers for equality. The default is &lsquo;<samp><span class="samp">-loose</span></samp>&rsquo;, which means
+that tangle will follow the rules set by the case-smashing and underline
+options above. If &lsquo;<samp><span class="samp">-strict</span></samp>&rsquo; is set, then identifiers will always
+be stripped of underlines and converted to uppercase before checking
+whether they collide.
+
+ </dl>
+
+<div class="node">
+<a name="weave-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#pooltype-invocation">pooltype invocation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#tangle-invocation">tangle invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#WEB">WEB</a>
+
+</div>
+
+<h3 class="section">8.2 Weave: Translate WEB to TeX</h3>
+
+<p><a name="index-weave-596"></a><a name="index-g_t_0040TeX_007b_007d_002c-creating-from-WEB-597"></a><a name="index-WEB-programs_002c-typesetting-598"></a><a name="index-prettyprinting-WEB-programs-599"></a>
+Weave creates a TeX document from a WEB source file (see <a href="#WEB">WEB</a>),
+assuming various macros defined in <samp><span class="file">webmac.tex</span></samp>. It takes care of
+typographic details such as page layout, indentation, and italicizing
+identifiers. It also automatically gathers and outputs extensive
+cross-reference information. Synopsis:
+
+<pre class="example"> weave [<var>option</var>]... <var>webfile</var>[.web] [<var>changefile</var>[.ch]]
+</pre>
+ <p><a name="index-change-files_002c-and-Weave-600"></a>The output is to the basename of <var>webfile</var> extended with
+&lsquo;<samp><span class="samp">.tex</span></samp>&rsquo;; for example, &lsquo;<samp><span class="samp">weave /wherever/foo.web</span></samp>&rsquo; creates
+<samp><span class="file">./foo.tex</span></samp>. Weave applies <var>changefile</var> to <var>webfile</var>
+before writing the output; by default, there is no change file.
+
+ <p>The program accepts the following option, as well as the standard
+&lsquo;<samp><span class="samp">-verbose</span></samp>&rsquo;, &lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-x</span></samp>&rsquo;<dd><a name="index-g_t_002dx-601"></a><a name="index-cross_002dreferences_002c-omitting-602"></a><a name="index-CONTENTS_002etex-603"></a><a name="index-webmac_002etex-604"></a>Omit the cross-reference information: the index, the list of WEB module
+names, and the table of contents (an empty <samp><span class="file">CONTENTS.tex</span></samp> file will
+still be written when the Weave output file is processed by TeX using
+the default <samp><span class="file">webmac.tex</span></samp>, though).
+</dl>
+
+ <p>Conventionally, WEB programmers should define the TeX <code>\title</code>
+macro at the beginning of the source file. Also, to get output of only
+changed modules, one can say <code>\let\maybe=\iffalse</code> (usually as the
+first change in the change file).
+
+<div class="node">
+<a name="pooltype-invocation"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#weave-invocation">weave invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#WEB">WEB</a>
+
+</div>
+
+<h3 class="section">8.3 Pooltype: Display WEB pool files</h3>
+
+<p><a name="index-pooltype-605"></a><a name="index-type-programs_002c-pool-606"></a><a name="index-string-numbers_002c-displaying-607"></a><a name="index-WEB-pool-files_002c-displaying-608"></a>
+Pooltype shows the so-called <dfn>string number</dfn> of each string in a WEB
+pool file (see <a href="#WEB">WEB</a>), as output by Tangle (see <a href="#tangle-invocation">tangle invocation</a>), including the first 256 strings corresponding to the
+possible input characters. Pooltype primarily serves as an example of
+WEB conventions to implementors of the TeX system. Synopsis:
+
+<pre class="example"> pooltype [<var>option</var>]... <var>poolfile</var>[.pool]
+</pre>
+ <p class="noindent">No path searching is done for <var>poolfile</var>. Output is to standard
+output.
+
+ <p>The only options are &lsquo;<samp><span class="samp">--help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">--version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>).
+
+ <p>As an example of the output, here is the (edited) output for <samp><span class="file">tex.pool</span></samp>:
+<pre class="example"> 0: "^^@"
+ 1: "^^A"
+ ...
+ 255: "^^ff"
+ 256: "pool size"
+ ...
+ 1314: "Using character substitution: "
+ (23617 characters in all.)
+</pre>
+ <p><a name="index-representation-of-strings-609"></a><a name="index-string-representation-610"></a>In Metafont and MetaPost, the first 256 characters are actually
+represented as single bytes (i.e., themselves), not in the &lsquo;<samp><span class="samp">^^</span></samp>&rsquo;
+notation. Consider Pooltype as showing the results after conversion for
+output.
+
+<div class="node">
+<a name="DVI-utilities"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Font-utilities">Font utilities</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#WEB">WEB</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">9 DVI utilities</h2>
+
+<p><a name="index-DVI-utilities-611"></a>
+TeX outputs a file in <dfn>DVI</dfn> (DeVice Independent) format as a
+compact representation of the original document. DVI files can be
+translated to meet the requirements of a real physical device, such as
+PostScript printers (see <a href="dvips.html#Top">Introduction</a>), PCL
+printers (see dvilj(1)), and X displays (see xdvi(1)). In fact, DVI
+translators are available for virtually all common devices: see
+<samp><var>CTAN:</var><span class="file">/dviware</span></samp> (for CTAN info, see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>).
+
+ <p><a name="index-dvitype_002eweb-612"></a><a name="index-DVI-format-definition-613"></a>For the precise definition of the DVI file format, see (for example) the
+source file <samp><span class="file">web2c/dvitype.web</span></samp>.
+
+ <p>The DVI-processing programs in the Web2c distribution are not device
+drivers; they perform generic utility functions.
+
+<ul class="menu">
+<li><a accesskey="1" href="#dvicopy-invocation">dvicopy invocation</a>: Expand virtual fonts.
+<li><a accesskey="2" href="#dvitype-invocation">dvitype invocation</a>: DVI to human-readable text.
+</ul>
+
+<div class="node">
+<a name="dvicopy-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#dvitype-invocation">dvitype invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#DVI-utilities">DVI utilities</a>
+
+</div>
+
+<h3 class="section">9.1 DVIcopy: Canonicalize virtual font references</h3>
+
+<p><a name="index-dvicopy-614"></a><a name="index-virtual-fonts_002c-expanding-615"></a>
+DVIcopy reads a DVI file, expands any references to virtual fonts
+(see <a href="dvips.html#Virtual-fonts">Virtual fonts</a>) to base fonts, and writes the
+resulting DVI file. Thus you can use virtual fonts even if your DVI
+processor does not support them, by passing the documents through
+DVIcopy first. Synopsis:
+
+<pre class="example"> dvicopy [<var>option</var>]... [<var>indvi</var>[.dvi] [<var>outdvi</var>[.dvi]]]
+</pre>
+ <p>DVIcopy reads standard input if <var>indvi</var> is not specified, and writes
+standard output if <var>outdvi</var> is not specified.
+
+ <p>The program accepts the following options, as well as the standard
+&lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-magnification=</span><var>integer</var></samp>&rsquo;<dd><a name="index-g_t_002dmagnification_003d_0040var_007binteger_007d-616"></a><a name="index-magnification-617"></a><a name="index-g_t_005cmag-618"></a>Override existing magnification in <var>indvi</var> with <var>integer</var>; 1000
+specifies no magnification. This is equivalent to setting TeX's
+<code>\mag</code> parameter.
+
+ <br><dt>&lsquo;<samp><span class="samp">-max-pages=</span><var>n</var></samp>&rsquo;<dd><a name="index-g_t_002dmax_002dpages_003d_0040var_007bn_007d-619"></a>Process <var>n</var> pages; default is one million.
+
+ <br><dt>&lsquo;<samp><span class="samp">-page-start=</span><var>page-spec</var></samp>&rsquo;<dd><a name="index-g_t_002dpage_002dstart_003d_0040var_007bpage_002dspec_007d-620"></a><a name="index-starting-page-621"></a><a name="index-page_002c-starting-622"></a><a name="index-g_t_005ccount_0040var_007bn_007d-623"></a>Start at the first page matching <var>page-spec</var>, which is one or more
+(signed) integers separated by periods, corresponding to TeX's
+<code>\count0...9</code> parameters at <code>\shipout</code> time; &lsquo;<samp><span class="samp">*</span></samp>&rsquo;
+matches anything. Examples: &lsquo;<samp><span class="samp">3</span></samp>&rsquo;, &lsquo;<samp><span class="samp">1.*.-4</span></samp>&rsquo;.
+</dl>
+
+<div class="node">
+<a name="dvitype-invocation"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#dvicopy-invocation">dvicopy invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#DVI-utilities">DVI utilities</a>
+
+</div>
+
+<h3 class="section">9.2 DVItype: Plain text transliteration of DVI files</h3>
+
+<p><a name="index-dvitype-_0040r_007bDVI-validation_007d-624"></a><a name="index-conversion_002c-DVI-to-plain-text-625"></a><a name="index-plain-text_002c-converting-DVI-to-626"></a><a name="index-human_002dreadable-text_002c-converting-DVI-to-627"></a><a name="index-type-programs_002c-DVI-628"></a><a name="index-validation_002c-of-DVI-files-629"></a>
+DVItype translates a DeVice Independent (DVI) file (as output by TeX,
+for example) to a plain text file that humans can read. It also serves
+as a DVI-validating program, i.e., if DVItype can read a file, it's
+correct. Synopsis:
+
+<pre class="example"> dvitype [<var>option</var>]... <var>dvifile</var>[.dvi]
+</pre>
+ <p class="noindent">DVItype does not read any bitmap files, but it does read TFM files for
+fonts referenced in <var>dvifile</var>. The usual places are searched
+(see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). To see all the
+relevant paths, set the environment variable <code>KPATHSEA_DEBUG</code> to
+&lsquo;<samp><span class="samp">-1</span></samp>&rsquo; before running the program.
+
+ <p>Output goes to standard output.
+
+ <p>The program accepts the following options, as well as the standard
+&lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-dpi=</span><var>real</var></samp>&rsquo;<dd><a name="index-g_t_002ddpi_003d_0040var_007breal_007d-630"></a>Do pixel movement calculations at <var>real</var> pixels per inch; default
+300.0.
+
+ <br><dt>&lsquo;<samp><span class="samp">-magnification=</span><var>integer</var></samp>&rsquo;<dd><a name="index-g_t_002dmagnification_003d_0040var_007binteger_007d-631"></a><a name="index-magnification-632"></a><a name="index-g_t_005cmag-633"></a>Override existing magnification in <var>indvi</var> with <var>integer</var>; 1000
+specifies no magnification. This is equivalent to setting TeX's
+<code>\mag</code> parameter.
+
+ <br><dt>&lsquo;<samp><span class="samp">-max-pages=</span><var>n</var></samp>&rsquo;<dd><a name="index-g_t_002dmax_002dpages_003d_0040var_007bn_007d-634"></a>Process <var>n</var> pages; default is one million.
+
+ <br><dt>&lsquo;<samp><span class="samp">-output-level=</span><var>n</var></samp>&rsquo;<dd><a name="index-g_t_002doutput_002dlevel_003d_0040var_007bn_007d-635"></a>Verbosity level of output, from 0 to 4 (default 4):
+ <ul>
+<li>0: Global document information only.
+<li>1: Most DVI commands included, and typeset characters summarized.
+<li>2: Character and movement commands explicitly included.
+<li>3: DVI stack and current position calculations included.
+<li>4: Same information as level 3, but DVItype does random positioning
+in the file, reading the DVI postamble first.
+</ul>
+
+ <br><dt>&lsquo;<samp><span class="samp">-page-start=</span><var>page-spec</var></samp>&rsquo;<dd><a name="index-g_t_002dpage_002dstart_003d_0040var_007bpage_002dspec_007d-636"></a><a name="index-starting-page-637"></a><a name="index-page_002c-starting-638"></a><a name="index-g_t_005ccount_0040var_007bn_007d-639"></a>Start at the first page matching <var>page-spec</var>, which is one or more
+(signed) integers separated by periods, corresponding to TeX's
+<code>\count0...9</code> parameters at <code>\shipout</code> time; &lsquo;<samp><span class="samp">*</span></samp>&rsquo;
+matches anything. Examples: &lsquo;<samp><span class="samp">1</span></samp>&rsquo;, &lsquo;<samp><span class="samp">5.*.-9</span></samp>&rsquo;.
+
+ <br><dt>&lsquo;<samp><span class="samp">-show-opcodes</span></samp>&rsquo;<dd><a name="index-g_t_002dshow_002dopcodes-640"></a><a name="index-opcodes_002c-showing-DVI-641"></a><a name="index-DVI-opcodes_002c-showing-642"></a><a name="index-debugging-DVI-utilities-643"></a>Show numeric opcode values (in decimal) for DVI commands, in braces
+after the command name. This can help in debugging DVI utilities. We
+use decimal because in the DVI format documentation (in
+<samp><span class="file">dvitype.web</span></samp>, among others) the opcodes are shown in decimal.
+</dl>
+
+<ul class="menu">
+<li><a accesskey="1" href="#dvitype-output-example">dvitype output example</a>
+</ul>
+
+<div class="node">
+<a name="dvitype-output-example"></a>
+<p><hr>
+Up:&nbsp;<a rel="up" accesskey="u" href="#dvitype-invocation">dvitype invocation</a>
+
+</div>
+
+<h4 class="subsection">9.2.1 DVItype output example</h4>
+
+<p><a name="index-dvitype-output-example-644"></a>As an example of the output from DVItype (see section above), here is
+its (abridged) translation of the <samp><span class="file">story.dvi</span></samp> resulting from
+running the example in <cite>The TeXbook</cite>, with
+&lsquo;<samp><span class="samp">-output-level=4</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-show-opcodes</span></samp>&rsquo; on.
+
+<pre class="example"> ...
+ Options selected:
+ Starting page = *
+ Maximum number of pages = 1000000
+ Output level = 4 (the works)
+ Resolution = 300.00000000 pixels per inch
+ numerator/denominator=25400000/473628672
+ magnification=1000; 0.00006334 pixels per DVI unit
+ ' TeX output 1992.05.17:0844'
+ Postamble starts at byte 564.
+ maxv=43725786, maxh=30785863, maxstackdepth=3, totalpages=1
+ Font 33: cmsl10---loaded at size 655360 DVI units
+ Font 23: cmbx10---loaded at size 655360 DVI units
+ Font 0: cmr10---loaded at size 655360 DVI units
+
+ 42: beginning of page 1
+ 87: push {141}
+ level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+ 88: down3 -917504 {159} v:=0-917504=-917504, vv:=-58
+ 92: pop {142}
+ ...
+ 104: putrule {137} height 26214, width 30785863 (2x1950 pixels)
+ 113: down3 5185936 {159} v:=655360+5185936=5841296, vv:=370
+ 117: push {141}
+ level 1:(h=0,v=5841296,w=0,x=0,y=0,z=0,hh=0,vv=370)
+ 118: right4 12265425 {146} h:=0+12265425=12265425, hh:=777
+ [ ]
+ 123: fntdef1 23 {243}: cmbx10
+ 145: fntnum23 {194} current font is cmbx10
+ 146: setchar65 h:=12265425+569796=12835221, hh:=813
+ 147: w3 251220 {150} h:=12835221+251220=13086441, hh:=829
+ 151: setchar83 h:=13086441+418700=13505141, hh:=856
+ ...
+ 164: setchar82 h:=17448202+565245=18013447, hh:=1142
+ 165: x0 -62805 {152} h:=18013447-62805=17950642, hh:=1138
+ 166: setchar89 h:=17950642+569796=18520438, hh:=1174
+ [A SHORT STORY]
+ 167: pop {142}
+ level 1:(h=0,v=5841296,w=0,x=0,y=0,z=0,hh=0,vv=370)
+ ...
+ 550: pop {142}
+ level 0:(h=0,v=42152922,w=0,x=0,y=0,z=0,hh=0,vv=2670)
+ 551: down3 1572864 {159} v:=42152922+1572864=43725786, vv:=2770
+ 555: push {141}
+ level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770)
+ 556: right4 15229091 {146} h:=0+15229091=15229091, hh:=965
+ 561: setchar49 h:=15229091+327681=15556772, hh:=986
+ [ 1]
+ 562: pop {142}
+ level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770)
+ 563: eop {140}
+</pre>
+ <p>Explanation:
+
+ <ul>
+<li>The DVItype options are recorded at the beginning, followed by
+global information about the document, including fonts used.
+
+ <li>Each DVI command is preceded by its byte position in the file
+(&lsquo;<samp><span class="samp">42:</span></samp>&rsquo;, &lsquo;<samp><span class="samp">87:</span></samp>&rsquo;, <small class="dots">...</small>), and (because of the
+&lsquo;<samp><span class="samp">-show-opcodes</span></samp>&rsquo;) followed by its decimal opcode value in braces
+(&lsquo;<samp><span class="samp">{141}</span></samp>&rsquo;, &lsquo;<samp><span class="samp">{142}</span></samp>&rsquo;, <small class="dots">...</small>).
+
+ <li>The &lsquo;<samp><span class="samp">level</span></samp>&rsquo; lines record information about the DVI stack; &lsquo;<samp><span class="samp">h</span></samp>&rsquo;
+and &lsquo;<samp><span class="samp">v</span></samp>&rsquo; define the current position in DVI units, while &lsquo;<samp><span class="samp">hh</span></samp>&rsquo;
+and &lsquo;<samp><span class="samp">vv</span></samp>&rsquo; are the same in pixels.
+
+ <li>Text sequences are summarized in brackets, as in &lsquo;<samp><span class="samp">[A SHORT
+STORY]</span></samp>&rsquo; and the &lsquo;<samp><span class="samp">[ 1]</span></samp>&rsquo;.
+</ul>
+
+<div class="node">
+<a name="Font-utilities"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Legalisms">Legalisms</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#DVI-utilities">DVI utilities</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">10 Font utilities</h2>
+
+<p><a name="index-font-utilities-645"></a>
+The Web2c programs described here convert between various TeX-related
+font formats; the first section below briefly describes the
+formats. GFtoPK is the only one that is routinely used, as Metafont
+outputs GF format, but it's most efficient for device drivers to use PK.
+
+ <p><a name="index-pktype_002eweb-646"></a><a name="index-gftype_002eweb-647"></a><a name="index-PK-format-definition-648"></a><a name="index-GF-format-definition-649"></a>The precise definitions of the PK, GF, TFM, PL, VF, and VPL formats
+mentioned below are in the source files that read them;
+<samp><span class="file">pktype.web</span></samp>, <samp><span class="file">gftype.web</span></samp>, <samp><span class="file">tftopl.web</span></samp>, etc.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Font-file-formats">Font file formats</a>: Explanations of GF, PK, TFM, VF, ...
+<li><a accesskey="2" href="#gftopk-invocation">gftopk invocation</a>: GF -&gt; PK (compact)
+<li><a accesskey="3" href="#pktogf-invocation">pktogf invocation</a>: PK -&gt; GF (expand).
+<li><a accesskey="4" href="#pktype-invocation">pktype invocation</a>: PK -&gt; human-readable text.
+<li><a accesskey="5" href="#gftype-invocation">gftype invocation</a>: GF -&gt; human-readable text.
+<li><a accesskey="6" href="#tftopl-invocation">tftopl invocation</a>: TFM -&gt; PL (for editing TFM).
+<li><a accesskey="7" href="#pltotf-invocation">pltotf invocation</a>: PL -&gt; TFM (make editing results usable).
+<li><a accesskey="8" href="#vftovp-invocation">vftovp invocation</a>: VF -&gt; VPL (tftopl for virtual fonts).
+<li><a accesskey="9" href="#vptovf-invocation">vptovf invocation</a>: VPL -&gt; VF (pltotf for virtual fonts).
+<li><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a>: Type 1, BDF, editors, etc.
+</ul>
+
+<div class="node">
+<a name="Font-file-formats"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#gftopk-invocation">gftopk invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a>
+
+</div>
+
+<h3 class="section">10.1 Font file formats</h3>
+
+<p><a name="index-font-file-formats-650"></a><a name="index-file-formats-for-fonts-651"></a>
+(For another perspective on this, see <a href="dvips.html#Font-concepts">Font concepts</a>).
+
+ <p>Font files come in several varieties, with suffixes like:
+<pre class="example"> .tfm .*pk .*gf .*pxl<span class="roman"> (obsolete)</span> .pl .mf .vf .vpl
+</pre>
+ <p class="noindent">Each represents a file format.
+
+ <p><a name="index-TFM-files_002c-explained-652"></a>A TFM (TeX font metric) file is a compact binary file that contains
+information about each character in a font, about combinations of
+characters within that font, and about the font as a whole. The font
+metric information contained in TFM files is device-independent units is
+used by TeX to do typesetting. Unlike the bitmap (raster) fonts
+described below, TFM font files contain no information about the shapes
+of characters. They describe rectangular areas and combinations
+thereof, but not what will eventually be printed in those areas.
+
+ <p><a name="index-scaling-of-fonts-653"></a><a name="index-optical-font-scaling-654"></a><a name="index-geometric-font-scaling-655"></a><a name="index-PostScript_002c-and-font-scaling-656"></a>Since TeX does scaling calculations, one TFM file serves for all
+magnifications of a given typeface. On the other hand, the best printed
+results are obtained when magnified (or reduced fonts) are not produced
+geometrically (as done by PostScript, for example) but rather optically,
+with each size a separate design (as done with Computer Modern and the
+EC fonts, for example); then a separate TFM file is needed for each
+size.
+
+ <p><a name="index-DVI-files_002c-explained-657"></a>At any rate, TeX produces a DVI (DeVice Independent) file from your
+source document. In order to print DVI files on real devices, you need
+font files defining digitized character shapes and other data. Then
+previewers and printer-driver programs can translate your DVI files into
+something usable by your monitor or printer. Bitmap fonts come with
+suffixes such as &lsquo;<samp><span class="samp">.600pk</span></samp>&rsquo; or &lsquo;<samp><span class="samp">.600gf</span></samp>&rsquo; or &lsquo;<samp><span class="samp">.3000pxl</span></samp>&rsquo;, where
+the &lsquo;<samp><span class="samp">600</span></samp>&rsquo; is the horizontal dots-per-inch resolution at which the
+font was produced, and the &lsquo;<samp><span class="samp">pk</span></samp>&rsquo; or &lsquo;<samp><span class="samp">gf</span></samp>&rsquo; or &lsquo;<samp><span class="samp">pxl</span></samp>&rsquo;
+indicates the font format. Outline fonts in PostScript Type 1 format
+have suffixes such as &lsquo;<samp><span class="samp">.pfa</span></samp>&rsquo; or &lsquo;<samp><span class="samp">.pfb</span></samp>&rsquo;.
+
+ <p><a name="index-PXL-files_002c-explained-658"></a><a name="index-PK-files_002c-explained-659"></a><a name="index-GF-files_002c-explained-660"></a>Fonts in pk (packed) format are in the tightly packed raster format that
+is pretty much the standard today. They take up less space than fonts
+in the gf (generic font) format that Metafont generates, and far less
+space than fonts in pxl format. Fonts in pxl format take up gross
+amounts of disk space and permit only 128 characters. They are
+obsolete.
+
+ <p><a name="index-PL-files_002c-explained-661"></a>Font files with the &lsquo;<samp><span class="samp">.pl</span></samp>&rsquo; (property list) suffix are the plain text
+(human-readable) analog of the binary &lsquo;<samp><span class="samp">.tfm</span></samp>&rsquo; files.
+The TFtoPL and PLtoTF programs convert between the two formats
+(see <a href="#tftopl-invocation">tftopl invocation</a> and <a href="#pltotf-invocation">pltotf invocation</a>).
+
+ <p>Font files with the &lsquo;<samp><span class="samp">.mf</span></samp>&rsquo; suffix are in Metafont source format.
+These are the files used by Metafont to generate rastered fonts for
+specific typefaces at specific magnifications for the specific
+resolution and type of mapping used by your device.
+
+ <p><a name="index-virtual_002dfonts_002eknuth-662"></a><a name="index-virtualfonts_002etxt-663"></a>The suffix &lsquo;<samp><span class="samp">.vf</span></samp>&rsquo; identifies &ldquo;virtual font&rdquo; files, for which
+&lsquo;<samp><span class="samp">.vpl</span></samp>&rsquo; is the human-readable analog. See See <a href="#vftovp-invocation">vftovp invocation</a>,
+and <a href="#vptovf-invocation">vptovf invocation</a>. For further discussion of virtual fonts,
+see <samp><var>CTAN:</var><span class="file">/doc/virtual-fonts.knuth</span></samp>,
+<samp><var>CTAN:</var><span class="file">/help/virtualfonts.txt</span></samp>, and <a href="dvips.html#Virtual-fonts">Virtual fonts</a>.
+
+ <p><a name="index-MacKay_002c-Pierre-664"></a><a name="index-Tachikawa_002c-Elizabeth-665"></a>(This section is based on documentation in the original Unix TeX
+distribution by Pierre MacKay and Elizabeth Tachikawa.)
+
+<div class="node">
+<a name="gftopk-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#pktogf-invocation">pktogf invocation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Font-file-formats">Font file formats</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a>
+
+</div>
+
+<h3 class="section">10.2 GFtoPK: Generic to packed font conversion</h3>
+
+<p><a name="index-gftopk-666"></a><a name="index-conversion_002c-GF-to-PK-667"></a><a name="index-PK_002c-converting-GF-to-668"></a><a name="index-GF_002c-converting-to-PK-669"></a>
+GFtoPK converts a generic font (GF) file output by, for example,
+Metafont (see <a href="#mf-invocation">mf invocation</a>) to a packed font (PK) file. PK files
+are considerably smaller than the corresponding gf files, so they are
+generally the bitmap font format of choice. Some DVI-processing
+programs, notably Dvips, only support PK files and not GF files.
+Synopsis:
+
+<pre class="example"> gftopk [<var>option</var>]... <var>gfname</var>.<var>dpi</var>[gf] [<var>pkfile</var>]
+</pre>
+ <p class="noindent">The font <var>gfname</var> is searched for in the usual places (see <a href="kpathsea.html#Glyph-lookup">Glyph lookup</a>). To see all the relevant paths, set the
+environment variable <code>KPATHSEA_DEBUG</code> to &lsquo;<samp><span class="samp">-1</span></samp>&rsquo; before running
+the program.
+
+ <p>The suffix &lsquo;<samp><span class="samp">gf</span></samp>&rsquo; is supplied if not already present. This suffix is
+not an extension; no &lsquo;<samp><span class="samp">.</span></samp>&rsquo; precedes it: for instance,
+<samp><span class="file">cmr10.600gf</span></samp>.
+
+ <p>If <var>pkfile</var> is not specified, the output is written to the basename
+of &lsquo;<samp><var>gfname</var><span class="samp">.</span><var>dpi</var><span class="samp">pk</span></samp>&rsquo;, e.g., &lsquo;<samp><span class="samp">gftopk
+/wherever/cmr10.600gf</span></samp>&rsquo; creates <samp><span class="file">./cmr10.600pk</span></samp>.
+
+ <p>The only options are &lsquo;<samp><span class="samp">--verbose</span></samp>&rsquo;, &lsquo;<samp><span class="samp">--help</span></samp>&rsquo;, and
+&lsquo;<samp><span class="samp">--version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>).
+
+<div class="node">
+<a name="pktogf-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#pktype-invocation">pktype invocation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#gftopk-invocation">gftopk invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a>
+
+</div>
+
+<h3 class="section">10.3 PKtoGF: Packed to generic font conversion</h3>
+
+<p><a name="index-pktogf-670"></a><a name="index-conversion_002c-PK-to-GF-671"></a><a name="index-GF_002c-converting-PK-to-672"></a><a name="index-PK_002c-converting-to-GF-673"></a>
+PKtoGF converts a packed font (PK) file to a generic font (GF) file.
+Since PK format is much more compact than GF format, the most likely
+reason to do this is to run GFtype (see <a href="#gftype-invocation">gftype invocation</a>) on the
+result, so you can see the bitmap images. Also, a few old utility
+programs do not support PK format. Synopsis:
+
+<pre class="example"> pktogf [<var>option</var>]... <var>pkname</var>.<var>dpi</var>[pk] [<var>gffile</var>]
+</pre>
+ <p class="noindent">The font <var>pkname</var> is searched for in the usual places (see <a href="kpathsea.html#Glyph-lookup">Glyph lookup</a>). To see all the relevant paths, set the
+environment variable <code>KPATHSEA_DEBUG</code> to &lsquo;<samp><span class="samp">-1</span></samp>&rsquo; before running
+the program.
+
+ <p>The suffix &lsquo;<samp><span class="samp">pk</span></samp>&rsquo; is supplied if not already present. This suffix is
+not an extension; no &lsquo;<samp><span class="samp">.</span></samp>&rsquo; precedes it: for instance,
+<samp><span class="file">cmr10.600pk</span></samp>.
+
+ <p>If <var>gffile</var> is not specified, the output is written to the basename
+of &lsquo;<samp><var>pkname</var><span class="samp">.</span><var>dpi</var><span class="samp">gf</span></samp>&rsquo;, e.g., &lsquo;<samp><span class="samp">pktogf
+/wherever/cmr10.600pk</span></samp>&rsquo; creates <samp><span class="file">./cmr10.600gf</span></samp>.
+
+ <p>The only options are &lsquo;<samp><span class="samp">--verbose</span></samp>&rsquo;, &lsquo;<samp><span class="samp">--help</span></samp>&rsquo;, and
+&lsquo;<samp><span class="samp">--version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>).
+
+<div class="node">
+<a name="pktype-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#gftype-invocation">gftype invocation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#pktogf-invocation">pktogf invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a>
+
+</div>
+
+<h3 class="section">10.4 PKtype: Plain text transliteration of packed fonts</h3>
+
+<p><a name="index-pktype-_0040r_007bPK-validation_007d-674"></a><a name="index-conversion_002c-PK-to-plain-text-675"></a><a name="index-plain-text_002c-converting-PK-to-676"></a><a name="index-human_002dreadable-text_002c-converting-PK-to-677"></a><a name="index-type-programs_002c-PK-678"></a><a name="index-validation_002c-of-PK-files-679"></a>
+PKtype translates a packed font (PK) bitmap file (as output by GFtoPK,
+for example) to a plain text file that humans can read. It also serves
+as a PK-validating program, i.e., if PKtype can read a file, it's
+correct. Synopsis:
+
+<pre class="example"> pktype <var>pkname</var>.<var>dpi</var>[pk]
+</pre>
+ <p>The font <var>pkname</var> is searched for in the usual places (see <a href="kpathsea.html#Glyph-lookup">Glyph lookup</a>). To see all the relevant paths, set the
+environment variable <code>KPATHSEA_DEBUG</code> to &lsquo;<samp><span class="samp">-1</span></samp>&rsquo; before running
+the program.
+
+ <p>The suffix &lsquo;<samp><span class="samp">pk</span></samp>&rsquo; is supplied if not already present. This suffix is
+not an extension; no &lsquo;<samp><span class="samp">.</span></samp>&rsquo; precedes it: for instance, <samp><span class="file">cmr10.600pk</span></samp>.
+
+ <p>The translation is written to standard output.
+
+ <p>The only options are &lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo;
+(see <a href="#Common-options">Common options</a>).
+
+ <p>As an example of the output, here is the (abridged) translation of the
+letter `K' in &lsquo;<samp><span class="samp">cmr10</span></samp>&rsquo;, as rendered at 600<span class="dmn">dpi</span> with the mode
+&lsquo;<samp><span class="samp">ljfour</span></samp>&rsquo; from <a href="modes.mf">modes.mf</a> (available from
+<samp><span class="file">ftp://ftp.tug.org/tex/modes.mf</span></samp>).
+
+<pre class="smallexample"> 955: Flag byte = 184 Character = 75 Packet length = 174
+ Dynamic packing variable = 11
+ TFM width = 815562 dx = 4259840
+ Height = 57 Width = 57 X-offset = -3 Y-offset = 56
+ [2]23(16)17(8)9(25)11(13)7(27)7(16)7(28)4(18)7(28)2(20)7(27)...
+ ...
+ (14)9(24)12(5)[2]23(13)21
+</pre>
+ <p class="noindent">Explanation:
+
+ <dl>
+<dt>&lsquo;<samp><span class="samp">955</span></samp>&rsquo;<dd><a name="index-byte-position-680"></a>The byte position in the file where this character starts.
+
+ <br><dt>&lsquo;<samp><span class="samp">Flag byte</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">Dynamic packing variable</span></samp>&rsquo;<dd><a name="index-flag-byte-681"></a><a name="index-dynamic-packing-variable-682"></a>Related to the packing for this character; see the source code.
+
+ <br><dt>&lsquo;<samp><span class="samp">Character</span></samp>&rsquo;<dd><a name="index-character-codes_002c-in-PKtype-output-683"></a>The character code, in decimal.
+
+ <br><dt>&lsquo;<samp><span class="samp">Packet length</span></samp>&rsquo;<dd><a name="index-packet-length-684"></a>The total length of this character definition, in bytes.
+
+ <br><dt>&lsquo;<samp><span class="samp">TFM width</span></samp>&rsquo;<dd><a name="index-TFM-width-of-characters-685"></a><a name="index-device_002dindependent-width-686"></a><a name="index-width_002c-device_002dindependent-687"></a>The device-independent (TFM) width of this character. It is 2^24
+times the ratio of the true width to the font's design size.
+
+ <br><dt>&lsquo;<samp><span class="samp">dx</span></samp>&rsquo;<dd><a name="index-horizontal-escapement-688"></a><a name="index-escapement_002c-horizontal-689"></a><a name="index-scaled-pixels-690"></a><a name="index-dx-_0040r_007bhorizontal-escapement_007d-691"></a>The device-dependent width, in <dfn>scaled pixels</dfn>, i.e., units of
+horizontal pixels times 2^16.
+
+ <br><dt>&lsquo;<samp><span class="samp">Height</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">Width</span></samp>&rsquo;<dd><a name="index-height_002c-in-pixels-692"></a><a name="index-pixel-height-693"></a><a name="index-pixel-width-694"></a><a name="index-width_002c-in-pixels-695"></a>The bitmap height and width, in pixels.
+
+ <br><dt>&lsquo;<samp><span class="samp">X-offset</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">Y-offset</span></samp>&rsquo;<dd><a name="index-x-offset-696"></a><a name="index-y-offset-697"></a><a name="index-origin-698"></a><a name="index-reference-pixel-699"></a><a name="index-side-bearings-700"></a><a name="index-left-side-bearing-701"></a><a name="index-right-side-bearing-702"></a>Horizontal and vertical offset from the upper left pixel to the
+reference (origin) pixel for this character, in pixels (right and down
+are positive). The <dfn>reference pixel</dfn> is the pixel that occupies the
+unit square in Metafont; the Metafont reference point is the lower left
+hand corner of this pixel. Put another way, the x-offset is the negative
+of the left side bearing; the right side bearing is the horizontal
+escapement minus the bitmap width plus the x-offset.
+
+ <br><dt>&lsquo;<samp><span class="samp">[2]23(16)...</span></samp>&rsquo;<dd><a name="index-run-length-encoded-bitmaps-703"></a><a name="index-repeated-rows-704"></a>Finally, run lengths of black pixels alternate with parenthesized run
+lengths of white pixels, and brackets indicate a repeated row.
+</dl>
+
+<div class="node">
+<a name="gftype-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#tftopl-invocation">tftopl invocation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#pktype-invocation">pktype invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a>
+
+</div>
+
+<h3 class="section">10.5 GFtype: Plain text transliteration of generic fonts</h3>
+
+<p><a name="index-gftype-_0040r_007bGF-validation_007d-705"></a><a name="index-conversion_002c-GF-to-plain-text-706"></a><a name="index-plain-text_002c-converting-GF-to-707"></a><a name="index-human_002dreadable-text_002c-converting-GF-to-708"></a><a name="index-type-programs_002c-GF-709"></a><a name="index-validation_002c-of-GF-files-710"></a>
+GFtype translates a generic font (GF) bitmap file (as output by
+Metafont, for example) to a plain text file that humans can read. It
+also serves as a GF-validating program, i.e., if GFtype can read a file,
+it's correct. Synopsis:
+
+<pre class="example"> gftype [<var>option</var>]... <var>gfname</var>.<var>dpi</var>[gf]
+</pre>
+ <p>The font <var>gfname</var> is searched for in the usual places (see <a href="kpathsea.html#Glyph-lookup">Glyph lookup</a>). To see all the relevant paths, set the
+environment variable <code>KPATHSEA_DEBUG</code> to &lsquo;<samp><span class="samp">-1</span></samp>&rsquo; before running
+the program.
+
+ <p>The suffix &lsquo;<samp><span class="samp">gf</span></samp>&rsquo; is supplied if not already present. This suffix is
+not an extension; no &lsquo;<samp><span class="samp">.</span></samp>&rsquo; precedes it: for instance, <samp><span class="file">cmr10.600gf</span></samp>.
+
+ <p>The translation is written to standard output.
+
+ <p>The program accepts the following options, as well as the standard
+&lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-images</span></samp>&rsquo;<dd><a name="index-g_t_002dimages-711"></a>Show the characters' bitmaps using asterisks and spaces.
+
+ <br><dt>&lsquo;<samp><span class="samp">-mnemonics</span></samp>&rsquo;<dd><a name="index-g_t_002dmnemonics-712"></a>Translate all commands in the GF file.
+</dl>
+
+ <p>As an example of the output, here is the (abrdiged) translation of the
+letter `K' in &lsquo;<samp><span class="samp">cmr10</span></samp>&rsquo;, as rendered at 600<span class="dmn">dpi</span> with the mode
+&lsquo;<samp><span class="samp">ljfour</span></samp>&rsquo; from <samp><span class="file">modes.mf</span></samp> (available from
+<a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a>), with both &lsquo;<samp><span class="samp">-mnemonics</span></samp>&rsquo; and
+&lsquo;<samp><span class="samp">-images</span></samp>&rsquo; enabled.
+
+ <p>GFtype outputs the information about a character in two places: a main
+definition and a one-line summary at the end. We show both. Here is the
+main definition:
+
+<pre class="example"> 2033: beginning of char 75: 3&lt;=m&lt;=60 0&lt;=n&lt;=56
+ (initially n=56) paint (0)24(12)20
+ 2043: newrow 0 (n=55) paint 24(12)20
+ 2047: newrow 0 (n=54) paint 24(12)20
+ 2051: newrow 0 (n=53) paint 24(12)20
+ 2055: newrow 7 (n=52) paint 10(21)13
+ 2059: newrow 8 (n=51) paint 8(23)9
+ ...
+ 2249: newrow 8 (n=5) paint 8(23)11
+ 2253: newrow 7 (n=4) paint 10(22)12
+ 2257: newrow 0 (n=3) paint 24(11)22
+ 2261: newrow 0 (n=2) paint 24(11)22
+ 2265: newrow 0 (n=1) paint 24(11)22
+ 2269: newrow 0 (n=0) paint 24(11)22
+ 2273: eoc
+ .&lt;--This pixel's lower left corner is at (3,57) in METAFONT coordinates
+ ************************ ********************
+ ************************ ********************
+ ************************ ********************
+ ************************ ********************
+ ********** *************
+ ******** *********
+ ...
+ ******** ***********
+ ********** ************
+ ************************ **********************
+ ************************ **********************
+ ************************ **********************
+ ************************ **********************
+ .&lt;--This pixel's upper left corner is at (3,0) in METAFONT coordinates
+</pre>
+ <p class="noindent">Explanation:
+
+ <dl>
+<dt>&lsquo;<samp><span class="samp">2033</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">2043</span></samp>&rsquo;<dt>&lsquo;<samp><span class="samp">...</span></samp>&rsquo;<dd><a name="index-byte-position-713"></a>The byte position in the file where each GF command starts.
+
+ <br><dt>&lsquo;<samp><span class="samp">beginning of char 75</span></samp>&rsquo;<dd><a name="index-character-codes_002c-in-GFtype-output-714"></a>The character code, in decimal.
+
+ <br><dt>&lsquo;<samp><span class="samp">3&lt;=m&lt;=60 0&lt;=n&lt;=56</span></samp>&rsquo;<dd><a name="index-left-side-bearing-715"></a><a name="index-right-side-bearing-716"></a><a name="index-side-bearings-717"></a>The character's bitmap lies between 3 and 60 (inclusive) horizontally,
+and between 0 and 56 (inclusive) vertically. (m is a column
+position and n is a row position.) Thus, 3 is the left side
+bearing. The right side bearing is the horizontal escapement (given
+below) minus the maximum m.
+
+ <br><dt>&lsquo;<samp><span class="samp">(initially n=56) paint (0)24(12)20</span></samp>&rsquo;<dd><a name="index-run-length-encoded-bitmaps-718"></a>The first row of pixels: 0 white pixels, 24 black pixels, 12 white
+pixels, etc.
+
+ <br><dt>&lsquo;<samp><span class="samp">newrow 0 (n=55) paint 24(12)20</span></samp>&rsquo;<dd><a name="index-newrow-_0040r_007bGF-command_007d-719"></a>The second row of pixels, with zero leading white pixels on the row.
+
+ <br><dt>&lsquo;<samp><span class="samp">eoc</span></samp>&rsquo;<dd><a name="index-eoc-_0040r_007bGF-command_007d-720"></a>The end of the main character definition.
+
+ </dl>
+
+ <p>Here is the GF postamble information that GFtype outputs at the end:
+
+<pre class="example"> Character 75: dx 4259840 (65), width 815562 (64.57289), loc 2033
+</pre>
+ <p>Explanation:
+
+ <dl>
+<dt>&lsquo;<samp><span class="samp">dx</span></samp>&rsquo;<dd><a name="index-horizontal-escapement-721"></a><a name="index-escapement_002c-horizontal-722"></a><a name="index-vertical-escapement-723"></a><a name="index-escapement_002c-vertical-724"></a><a name="index-scaled-pixels-725"></a><a name="index-dx-_0040r_007bhorizontal-escapement_007d-726"></a><a name="index-dy-_0040r_007bvertical-escapement_007d-727"></a>The device-dependent width, in <dfn>scaled pixels</dfn>, i.e., units of
+horizontal pixels times 2^16. The &lsquo;<samp><span class="samp">(65)</span></samp>&rsquo; is simply the same number
+rounded. If the vertical escapement is nonzero, it would appear here as
+a &lsquo;<samp><span class="samp">dy</span></samp>&rsquo; value.
+
+ <br><dt>&lsquo;<samp><span class="samp">width</span></samp>&rsquo;<dd><a name="index-TFM-width-of-characters-728"></a><a name="index-device_002dindependent-width-729"></a><a name="index-width_002c-device_002dindependent-730"></a>The device-independent (TFM) width of this character. It is 2^24
+times the ratio of the true width to the font's design size. The
+&lsquo;<samp><span class="samp">64.57289</span></samp>&rsquo; is the same number converted to pixels.
+
+ <br><dt>&lsquo;<samp><span class="samp">loc</span></samp>&rsquo;<dd>The byte position in the file where this character starts.
+
+ </dl>
+
+<div class="node">
+<a name="tftopl-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#pltotf-invocation">pltotf invocation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#gftype-invocation">gftype invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a>
+
+</div>
+
+<h3 class="section">10.6 TFtoPL: TeX font metric to property list conversion</h3>
+
+<p><a name="index-tftopl-731"></a><a name="index-conversion_002c-TFM-to-property-list-732"></a><a name="index-validation_002c-of-TFM-files-733"></a><a name="index-property-list_002c-converting-TFM-to-734"></a><a name="index-human_002dreadable-text_002c-converting-TFM-to-735"></a><a name="index-plain-text_002c-converting-TFM-to-736"></a>
+TFtoPL translates a TeX font metric (TFM, see <a href="dvips.html#Metric-files">Metric files</a>) file (as output by Metafont, for example) to
+<dfn>property list format</dfn> (a list of parenthesized items describing the
+font) that humans can edit or read. This program is mostly used by
+people debugging TeX implementations, writing font utilities, etc.
+Synopsis:
+
+<pre class="example"> tftopl [<var>option</var>]... <var>tfmname</var>[.tfm] [<var>plfile</var>[.pl]]
+</pre>
+ <p>The font <var>tfmname</var> (extended with &lsquo;<samp><span class="samp">.tfm</span></samp>&rsquo; if necessary) is
+searched for in the usual places (see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). To see all the relevant paths, set the
+environment variable <code>KPATHSEA_DEBUG</code> to &lsquo;<samp><span class="samp">-1</span></samp>&rsquo; before running
+the program.
+
+ <p>If <var>plfile</var> (which is extended with &lsquo;<samp><span class="samp">.pl</span></samp>&rsquo; if necessary) is not
+specified, the property list file is written to standard output. The
+property list file can be converted back to TFM format by the companion
+program TFtoPL (see the next section).
+
+ <p>The program accepts the following option, as well as the standard
+&lsquo;<samp><span class="samp">-verbose</span></samp>&rsquo;, &lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-charcode-format=</span><var>type</var></samp>&rsquo;<dd><a name="index-g_t_002dcharcode_002dformat_003d_0040var_007btype_007d-737"></a>Output character codes in the PL file according to <var>type</var>: either
+&lsquo;<samp><span class="samp">octal</span></samp>&rsquo; or &lsquo;<samp><span class="samp">ascii</span></samp>&rsquo;. Default is &lsquo;<samp><span class="samp">ascii</span></samp>&rsquo; for letters and
+digits, octal for all other characters. Exception: if the font's coding
+scheme starts with &lsquo;<samp><span class="samp">TeX math sy</span></samp>&rsquo; or &lsquo;<samp><span class="samp">TeX math ex</span></samp>&rsquo;, all
+character codes are output in octal.
+
+ <p>In &lsquo;<samp><span class="samp">ascii</span></samp>&rsquo; format, character codes that correspond to graphic
+characters, except for left and right parentheses, are output as a
+&lsquo;<samp><span class="samp">C</span></samp>&rsquo; followed by the single character: &lsquo;<samp><span class="samp">C K</span></samp>&rsquo;, for example. In
+octal format, character codes are output as the letter &lsquo;<samp><span class="samp">O</span></samp>&rsquo; followed
+by octal digits, as in &lsquo;<samp><span class="samp">O 113</span></samp>&rsquo; for &lsquo;<samp><span class="samp">K</span></samp>&rsquo;.
+
+ <p>&lsquo;<samp><span class="samp">octal</span></samp>&rsquo; format is useful for symbol and other non-alphabetic fonts,
+where using ASCII characters for the character codes is merely
+confusing.
+</dl>
+
+ <p><a name="index-property-list-format-738"></a>As an example of the output, here is the (abridged) property list
+translation of <samp><span class="file">cmr10.tfm</span></samp>:
+
+<pre class="example"> (FAMILY CMR)
+ (FACE O 352)
+ (CODINGSCHEME TEX TEXT)
+ (DESIGNSIZE R 10.0)
+ (COMMENT DESIGNSIZE IS IN POINTS)
+ (COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+ (CHECKSUM O 11374260171)
+ (FONTDIMEN
+ (SLANT R 0.0)
+ (SPACE R 0.333334)
+ (STRETCH R 0.166667)
+ (SHRINK R 0.111112)
+ (XHEIGHT R 0.430555)
+ (QUAD R 1.000003)
+ (EXTRASPACE R 0.111112)
+ )
+ (LIGTABLE
+ ...
+ (LABEL C f)
+ (LIG C i O 14)
+ (LIG C f O 13)
+ (LIG C l O 15)
+ (KRN O 47 R 0.077779)
+ (KRN O 77 R 0.077779)
+ (KRN O 41 R 0.077779)
+ (KRN O 51 R 0.077779)
+ (KRN O 135 R 0.077779)
+ (STOP)
+ ...
+ )
+ ...
+ (CHARACTER C f
+ (CHARWD R 0.305557)
+ (CHARHT R 0.694445)
+ (CHARIC R 0.077779)
+ (COMMENT
+ (LIG C i O 14)
+ (LIG C f O 13)
+ (LIG C l O 15)
+ (KRN O 47 R 0.077779)
+ (KRN O 77 R 0.077779)
+ ...
+ )
+ )
+ ...
+</pre>
+ <p>As you can see, the general format is a list of parenthesized
+<dfn>properties</dfn>, nested where necessary.
+
+ <ul>
+<li><a name="index-FAMILY-_0040r_007bproperty_007d-739"></a><a name="index-FACE-_0040r_007bproperty_007d-740"></a><a name="index-headerbyte-_0040r_007binformation_007d-741"></a>The first few items (<code>FAMILY</code>, <code>FACE</code>, and so on) are
+the so-called <dfn>headerbyte</dfn> information from Metafont, giving general
+information about the font.
+
+ <li><a name="index-FAMILY-_0040r_007bproperty_007d-742"></a><a name="index-g_t_005cfontdimen-743"></a>The <code>FONTDIMEN</code> property defines the TeX <code>\fontdimen</code>
+values.
+
+ <li><a name="index-LIGTABLE-_0040r_007bproperty_007d-744"></a><a name="index-LABEL-_0040r_007bproperty_007d-745"></a><a name="index-LIG-_0040r_007bproperty_007d-746"></a><a name="index-KRN-_0040r_007bproperty_007d-747"></a><a name="index-ligature-table_002c-in-TFM-files-748"></a><a name="index-kerning-table_002c-in-TFM-files-749"></a><a name="index-design_002dsize-units-750"></a>The <code>LIGTABLE</code> property defines the ligature and kerning table.
+<code>LIG</code> properties define ligatures: in the example above, an
+&lsquo;<samp><span class="samp">f</span></samp>&rsquo; (in the &lsquo;<samp><span class="samp">LABEL</span></samp>&rsquo;) followed by an &lsquo;<samp><span class="samp">i</span></samp>&rsquo; is a ligature,
+i.e., a typesetting program like TeX replaces those two consecutive
+characters by the character at position octal '014 in the current
+font&mdash;presumably the `fi' ligature. <code>KRN</code> properties define
+kerns: if an &lsquo;<samp><span class="samp">f</span></samp>&rsquo; is followed by character octal '047 (an
+apostrophe), TeX inserts a small amount of space between them:
+0.077779 times the design size the font was loaded at (about
+three-quarters of a printer's point by default in this case, or .001
+inches).
+
+ <li><a name="index-CHARACTER-_0040r_007bproperty_007d-751"></a><a name="index-CHARWD-_0040r_007bproperty_007d-752"></a><a name="index-CHARHT-_0040r_007bproperty_007d-753"></a><a name="index-CHARDP-_0040r_007bproperty_007d-754"></a><a name="index-CHARIC-_0040r_007bproperty_007d-755"></a>The <code>CHARACTER</code> property defines the dimensions of a character: its
+width, height, depth, and italic correction, also in design-size units,
+as explained in the previous item. For our example `f', the depth is
+zero, so that property is omitted. TFtoPL also inserts any kerns and
+ligatures for this character as a comment.
+
+ </ul>
+
+<div class="node">
+<a name="pltotf-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#vftovp-invocation">vftovp invocation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#tftopl-invocation">tftopl invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a>
+
+</div>
+
+<h3 class="section">10.7 PLtoTF: Property list to TeX font metric conversion</h3>
+
+<p><a name="index-pltotf-756"></a><a name="index-conversion_002c-property-list-to-TFM-757"></a><a name="index-TFM-files_002c-converting-property-lists-to-758"></a><a name="index-machine_002dreadable_002c-converting-property-lists-to-759"></a>
+PLtoTF translates a property list file (as output by TFtoPL, for
+example) to TeX font metric (TFM, see <a href="dvips.html#Metric-files">Metric files</a>)
+format. It's much easier for both programs and humans to create the
+(plain text) property list files and let PLtoTF take care of creating
+the binary TFM equivalent than to output TFM files directly. Synopsis:
+
+<pre class="example"> pltotf [<var>option</var>]... <var>plfile</var>[.pl] [<var>tfmfile</var>[.tfm]]
+</pre>
+ <p>If <var>tfmfile</var> (extended with &lsquo;<samp><span class="samp">.tfm</span></samp>&rsquo; if necessary) is
+not specified, the TFM file is written to the basename of
+&lsquo;<samp><var>plfile</var><span class="samp">.tfm</span></samp>&rsquo;, e.g., &lsquo;<samp><span class="samp">pltotf /wherever/cmr10.pl</span></samp>&rsquo; creates
+<samp><span class="file">./cmr10.tfm</span></samp>. (Since TFM files are binary, writing to standard
+output by default is undesirable.)
+
+ <p>The only options are &lsquo;<samp><span class="samp">-verbose</span></samp>&rsquo;, &lsquo;<samp><span class="samp">-help</span></samp>&rsquo;, and
+&lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>).
+
+ <p>For an example of property list format, see the previous section.
+
+<div class="node">
+<a name="vftovp-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#vptovf-invocation">vptovf invocation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#pltotf-invocation">pltotf invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a>
+
+</div>
+
+<h3 class="section">10.8 VFtoVP: Virtual font to virtual property lists</h3>
+
+<p><a name="index-vftovp-760"></a><a name="index-conversion_002c-VF-to-VPL-761"></a><a name="index-validation_002c-of-VF-files-762"></a><a name="index-property-list_002c-converting-VF-to-virtual-763"></a><a name="index-human_002dreadable-text_002c-converting-VF-to-764"></a><a name="index-plain-text_002c-converting-VF-to-765"></a>
+VFtoVP translates a virtual font metric (VF, see <a href="dvips.html#Virtual-fonts">Virtual fonts</a>) file and its accompanying TeX font metric (TFM,
+see <a href="dvips.html#Metric-files">Metric files</a>) file (as output by VPtoVF, for
+example) to <dfn>virtual property list format</dfn> (a list of parenthesized
+items describing the virtual font) that humans can edit or read. This
+program is mostly used by people debugging virtual font utilities.
+Synopsis:
+
+<pre class="example"> vftovp [<var>option</var>]... <var>vfname</var>[.vf] [<var>tfmname</var>[.tfm] [<var>vplfile</var>[.vpl]]]
+</pre>
+ <p>The fonts <var>vfname</var> and <var>tfmname</var> (extended with &lsquo;<samp><span class="samp">.vf</span></samp>&rsquo; and
+&lsquo;<samp><span class="samp">.tfm</span></samp>&rsquo; if necessary) are searched for in the usual places
+(see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). To see all the
+relevant paths, set the environment variable <code>KPATHSEA_DEBUG</code> to
+&lsquo;<samp><span class="samp">-1</span></samp>&rsquo; before running the program. If <var>tfmname</var> is not
+specified, <var>vfname</var> (without a trailing &lsquo;<samp><span class="samp">.vf</span></samp>&rsquo;) is used.
+
+ <p>If <var>vplfile</var> (extended with &lsquo;<samp><span class="samp">.vpl</span></samp>&rsquo; if necessary) is
+not specified, the property list file is written to standard output.
+The property list file can be converted back to VF and TFM format by the
+companion program VFtoVP (see the next section).
+
+ <p>The program accepts the following option, as well as the standard
+&lsquo;<samp><span class="samp">-verbose</span></samp>&rsquo;, &lsquo;<samp><span class="samp">-help</span></samp>&rsquo; and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo; (see <a href="#Common-options">Common options</a>):
+ <dl>
+<dt>&lsquo;<samp><span class="samp">-charcode-format=</span><var>type</var></samp>&rsquo;<dd><a name="index-g_t_002dcharcode_002dformat_003d_0040var_007btype_007d-766"></a>Output character codes in the PL file according to <var>type</var>: either
+&lsquo;<samp><span class="samp">octal</span></samp>&rsquo; or &lsquo;<samp><span class="samp">ascii</span></samp>&rsquo;. Default is &lsquo;<samp><span class="samp">ascii</span></samp>&rsquo; for letters and
+digits, octal for all other characters. Exception: if the font's coding
+scheme starts with &lsquo;<samp><span class="samp">TeX math sy</span></samp>&rsquo; or &lsquo;<samp><span class="samp">TeX math ex</span></samp>&rsquo;, all
+character codes are output in octal.
+
+ <p>In &lsquo;<samp><span class="samp">ascii</span></samp>&rsquo; format, character codes that correspond to graphic
+characters, except for left and right parentheses, are output as a
+&lsquo;<samp><span class="samp">C</span></samp>&rsquo; followed by the single character: &lsquo;<samp><span class="samp">C K</span></samp>&rsquo;, for example. In
+octal format, character codes are output as the letter &lsquo;<samp><span class="samp">O</span></samp>&rsquo; followed
+by octal digits, as in &lsquo;<samp><span class="samp">O 113</span></samp>&rsquo; for &lsquo;<samp><span class="samp">K</span></samp>&rsquo;.
+
+ <p>&lsquo;<samp><span class="samp">octal</span></samp>&rsquo; format is useful for symbol and other non-alphabetic fonts,
+where using ASCII characters for the character codes is merely
+confusing.
+</dl>
+
+<div class="node">
+<a name="vptovf-invocation"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#vftovp-invocation">vftovp invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a>
+
+</div>
+
+<h3 class="section">10.9 VPtoVF: Virtual property lists to virtual font</h3>
+
+<p><a name="index-vptovf-767"></a><a name="index-conversion_002c-property-list-to-VF-768"></a><a name="index-VF-files_002c-converting-property-lists-to-769"></a><a name="index-machine_002dreadable_002c-converting-property-lists-to-770"></a>
+VPtoVF translates a virtual property list file (as output by VFtoVP, for
+example) to virtual font (VF, see <a href="dvips.html#Virtual-fonts">Virtual fonts</a>) and
+TeX font metric (TFM, see <a href="dvips.html#Metric-files">Metric files</a>) files.
+It's much easier for both programs and humans to create the (plain text)
+property list files and let VPtoVF take care of creating the binary VF
+and TFM equivalents than to output them directly. Synopsis:
+
+<pre class="example"> vptovf [<var>option</var>]... <var>vplfile</var>[.vpl] [<var>vffile</var>[.vf] [<var>tfmfile</var>[.tfm]]]
+</pre>
+ <p>If <var>vffile</var> (extended with &lsquo;<samp><span class="samp">.vf</span></samp>&rsquo; if necessary) is not
+specified, the VF output is written to the basename of
+&lsquo;<samp><var>vplfile</var><span class="samp">.vf</span></samp>&rsquo;; similarly for <var>tfmfile</var>. For example,
+&lsquo;<samp><span class="samp">vptovf /wherever/ptmr.vpl</span></samp>&rsquo; creates <samp><span class="file">./ptmr.vf</span></samp> and
+<samp><span class="file">./ptmr.tfm</span></samp>.
+
+ <p>The only options are &lsquo;<samp><span class="samp">-verbose</span></samp>&rsquo;, &lsquo;<samp><span class="samp">-help</span></samp>&rsquo;, and &lsquo;<samp><span class="samp">-version</span></samp>&rsquo;
+(see <a href="#Common-options">Common options</a>).
+
+<div class="node">
+<a name="Font-utilities-available-elsewhere"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#vptovf-invocation">vptovf invocation</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a>
+
+</div>
+
+<h3 class="section">10.10 Font utilities available elsewhere</h3>
+
+<p><a name="index-font-utilities_002c-non_002dWeb2c-771"></a>
+The Web2c complement of font utilities merely implements a few basic
+conversions. Many other more sophisticated font utilities exist; most
+are in <samp><var>CTAN:</var><span class="file">/fonts/utilities</span></samp> (for CTAN info,
+see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>). Here are some of the most
+commonly-requested items:
+
+ <ul>
+<li><a name="index-AFM-to-TFM-conversion-772"></a><a name="index-afm2tfm-773"></a><a name="index-afmtopl-774"></a>AFM (Adobe font metric) to TFM conversion: see <a href="dvips.html#Invoking-afm2tfm">Invoking afm2tfm</a>, and <samp><var>CTAN:</var><span class="file">/fonts/utilities/afmtopl</span></samp>.
+
+ <li><a name="index-X-bitmap-fonts-775"></a><a name="index-BDF-and-GF-conversion-776"></a>BDF (the X bitmap format) conversion:
+<a href="ftp://ftp.tug.org/tex/bdf.tar.gz">ftp://ftp.tug.org/tex/bdf.tar.gz</a>.
+
+ <li><a name="index-metatype1-777"></a><a name="index-Latin-Modern-778"></a>Creating fonts using MetaPost: MetaType1.
+<a href="ftp://bop.eps.gda.pl/pub/metatype1">ftp://bop.eps.gda.pl/pub/metatype1</a>. This is used to create
+the excellent Latin Modern font family (<samp><var>CTAN:</var><span class="file">/fonts/lm</span></samp>),
+which extends Computer Modern to a vast repertoire of scripts.
+
+ <li><a name="index-editing-of-bitmap-fonts-779"></a><a name="index-xbfe_0040r_007b_002c-bitmap-font-editor_007d-780"></a><a name="index-xfed_0040r_007b_002c-bitmap-font-editor_007d-781"></a><a name="index-xfedor_0040r_007b_002c-bitmap-font-editor_007d-782"></a><a name="index-gftopxl-783"></a><a name="index-chtopx-784"></a><a name="index-pxtoch-785"></a>Editing of bitmap fonts: Xbfe from the GNU font utilities mentioned
+below; the X BDF-editing programs available from
+<a href="ftp://ftp.x.org/R5contrib/xfed.tar.Z">ftp://ftp.x.org/R5contrib/xfed.tar.Z</a> and
+<a href="ftp://ftp.x.org/R5contrib/xfedor.tar.Z">ftp://ftp.x.org/R5contrib/xfedor.tar.Z</a>; and finally, if your
+fonts have only 128 characters, you can use the old <code>gftopxl</code>,
+<code>pxtoch</code>, and <code>chtopx</code> programs from
+<a href="ftp://ftp.tug.org/tex/web">ftp://ftp.tug.org/tex/web</a>.
+
+ <li><a name="index-fontforge-786"></a><a name="index-pfaedit-787"></a>Editing of outline fonts: FontForge, <a href="fontforge.sourceforge.net">fontforge.sourceforge.net</a>.
+This is a very elaborate program with support for many outline formats
+(Type&nbsp;1, OpenType, TrueType, <small class="dots">...</small>), and many advanced font
+editing features.
+
+ <li><a name="index-PK-bitmaps-from-PostScript-788"></a><a name="index-PostScript-to-PK-bitmaps-789"></a><a name="index-gsftopk-790"></a><a name="index-ps2pk-791"></a>PK bitmaps from PostScript outline fonts: gsftopk from the &lsquo;<samp><span class="samp">xdvi</span></samp>&rsquo;
+distribution. Alternatively, <code>ps2pk</code>, from
+<samp><var>CTAN:</var><span class="file">/fonts/utilities/ps2pk</span></samp>.
+
+ <li><a name="index-Type-1-conversion-792"></a><a name="index-PFA-and-PFB-conversion-793"></a><a name="index-PostScript-Type-1-font-conversion-794"></a>PostScript Type 1 font format conversion (i.e., between PFA and PFB
+formats): <a href="http://www.lcdf.org/type">http://www.lcdf.org/type</a>.
+
+ <li><a name="index-scanned-images-of-fonts-795"></a><a name="index-typeface-specimen-sheets-796"></a><a name="index-fontutils-797"></a>Scanned image conversion: the (aging) GNU font utilities convert type
+specimen images to Metafont, PostScript, etc.:
+<a href="http://www.gnu.org/software/fontutils/">http://www.gnu.org/software/fontutils/</a>.
+
+ <li><a name="index-autotrace-798"></a><a name="index-potrace-799"></a>Tracing bitmaps to fitted outlines: Autotrace
+(<a href="http://autotrace.sourceforge.net">http://autotrace.sourceforge.net</a>), Potrace
+(<a href="http://potrace.sourceforge.net">http://potrace.sourceforge.net</a>). For Metafont fonts, either of
+the two programs <code>mftrace</code>
+(<a href="http://www.xs4all.nl/~hanwen/mftrace">http://www.xs4all.nl/~hanwen/mftrace</a>) or <code>textrace</code>
+(<a href="http://textrace.sourceforge.net">http://textrace.sourceforge.net</a>) make the job easier.
+
+ <li><a name="index-virtual-font-creation-800"></a><a name="index-fontinst_0040r_007b_002c-for-creating-virtual-fonts_007d-801"></a>Virtual font creation: <samp><var>CTAN:</var><span class="file">/fonts/utilities/fontinst</span></samp>.
+</ul>
+
+<div class="node">
+<a name="Legalisms"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#References">References</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Font-utilities">Font utilities</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="appendix">Appendix A Legalisms</h2>
+
+<p><a name="index-legalisms-802"></a><a name="index-copyright-notices-803"></a><a name="index-permissions_002c-legal-804"></a>
+In general, each file has its own copyright notice stating the copying
+permissions for that file. Following is a summary.
+
+ <p>The Web2c system itself and most of the original WEB source files are
+public domain.
+
+ <p><samp><span class="file">tex.web</span></samp>, the MLTeX code, <samp><span class="file">mf.web</span></samp>, and <samp><span class="file">bibtex.web</span></samp>,
+are copyrighted by their authors. They may be copied verbatim, but may
+be modified only through a <samp><span class="file">.ch</span></samp> file.
+
+ <p>MetaPost-related files, including <samp><span class="file">mp.web</span></samp> itself, are copyrighted
+under X-like terms; the precise notice is included below.
+
+ <p>Finally, the Kpathsea library is covered by the GNU Lesser General
+Public License (see <a href="kpathsea.html#Introduction">Introduction</a>). Therefore,
+the <em>binaries</em> resulting from a standard Web2c compilation are also
+covered by the LGPL; so if you (re)distribute the binaries, you must
+also (offer to) distribute the complete source that went into those
+binaries. See the file <samp><span class="file">LGPL</span></samp> for complete details on the LGPL.
+
+ <p>The following notice must be included by the terms of the MetaPost
+copyright.
+
+ <blockquote>
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that the copyright notice and this permission notice and warranty
+disclaimer appear in supporting documentation, and that the names of
+AT&amp;T Bell Laboratories or any of its entities not be used in advertising
+or publicity pertaining to distribution of the software without
+specific, written prior permission.
+
+ <p>AT&amp;T disclaims all warranties with regard to this software, including
+all implied warranties of merchantability and fitness. In no event
+shall AT&amp;T be liable for any special, indirect or consequential damages
+or any damages whatsoever resulting from loss of use, data or profits,
+whether in an action of contract, negligence or other tortious action,
+arising out of or in connection with the use or performance of this
+software.
+</blockquote>
+
+<div class="node">
+<a name="References"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Index">Index</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Legalisms">Legalisms</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="appendix">Appendix B References</h2>
+
+<p><a name="index-references-805"></a><a name="index-bibliography-806"></a>
+ <ol type=1 start=1>
+<li>Kpathsea: See <a href="kpathsea.html#Top">Introduction</a>.
+
+ <li>Dvips and Afm2tfm: See <a href="dvips.html#Top">Introduction</a>.
+
+ <li>The TeX Users Group: <a href="http://www.tug.org">http://www.tug.org</a>. For an introduction
+to the TeX system, see <a href="http://tug.org/begin.html">http://tug.org/begin.html</a>.
+
+ <li>TUGboat: <a href="http://tug.org/TUGboat">http://tug.org/TUGboat</a>.
+
+ <li>TeX and computer typesetting in general:<br>
+<a href="ftp://ftp.math.utah.edu/pub/tex/bib/texbook1.bib">ftp://ftp.math.utah.edu/pub/tex/bib/texbook1.bib</a>.
+
+ <li>For a bibliography of formal articles and technical reports on the
+TeX project, see the books <cite>TeX: The Program</cite> or
+<cite>Metafont: The Program</cite> cited below.
+
+ <!-- begin{thebibliography}{Knu86d} -->
+ <li>[Bil87]
+Neenie Billawala.
+Write-white printing engines and tuning fonts with Metafont.
+<cite>TUGboat</cite>, 8(1):29&ndash;32, April 1987.
+<a href="http://tug.org/TUGboat/tb08-1/tb17billawala.pdf">http://tug.org/TUGboat/tb08-1/tb17billawala.pdf</a>.
+
+ <li>[GMS94]
+Michel Goossens, Frank Mittelbach, and Alexander Samarin.
+<cite>The LaTeX Companion</cite>.
+Addison-Wesley, Reading, MA, USA, 1994.
+
+ <li>[Hob89]
+John D. Hobby.
+A Metafont-like system with PS output.
+<cite>TUGboat</cite>, 10(4):505&ndash;512, December 1989.
+<a href="http://tug.org/metapost">http://tug.org/metapost</a>.
+
+ <li>[Hob92]
+John D. Hobby.
+A User's Manual for MetaPost.
+Technical Report CSTR-162, AT&amp;T Bell Laboratories, 1992.
+
+ <li>[Hob93]
+John D. Hobby.
+Drawing Graphs with MetaPost.
+Technical Report CSTR-164, AT&amp;T Bell Laboratories, 1993.
+
+ <li>[HS91]
+Samuel P. Harbison and Guy L. Steele Jr.
+<cite>C&mdash;A Reference Manual</cite>.
+Prentice-Hall, Upper Saddle River, NJ 07458, USA, third edition, 1991.
+An authoritative reference to the C programming language, and a good
+ companion to Kernighan and Ritchie.
+
+ <li>[KL93]
+Donald E. Knuth and Silvio Levy.
+<cite>The CWEB System of Structured Documentation, Version 3.0</cite>.
+Addison-Wesley, Reading, MA, USA, 1993.
+
+ <li>[Knu84]
+Donald E. Knuth.
+A torture test for TeX.
+Report No. STAN-CS-84-1027, Stanford University, Department of Computer
+ Science, 1984.
+
+ <li>[Knu86a]
+Donald E. Knuth.
+A Torture Test for METAFONT.
+Report No. STAN-CS-86-1095, Stanford University, Department of Computer
+ Science, 1986.
+
+ <li>[Knu86b]
+Donald E. Knuth.
+<cite>The TeXbook</cite>, volume A of <cite>Computers and Typesetting</cite>.
+Addison-Wesley, Reading, MA, USA, 1986.
+
+ <li>[Knu86c]
+Donald E. Knuth.
+<cite>TeX: The Program</cite>, volume B of <cite>Computers and Typesetting</cite>.
+Addison-Wesley, Reading, MA, USA, 1986.
+
+ <li>[Knu86d]
+Donald E. Knuth.
+<cite>The METAFONTbook</cite>, volume C of <cite>Computers and Typesetting</cite>.
+Addison-Wesley, Reading, MA, USA, 1986.
+
+ <li>[Knu86e]
+Donald E. Knuth.
+<cite>METAFONT: The Program</cite>, volume D of <cite>Computers and
+ Typesetting</cite>.
+Addison-Wesley, Reading, MA, USA, 1986.
+
+ <li>[Knu86f]
+Donald E. Knuth.
+<cite>Computer Modern Typefaces</cite>, volume E of <cite>Computers and
+ Typesetting</cite>.
+Addison-Wesley, Reading, MA, USA, 1986.
+
+ <li>[Knu89]
+Donald E. Knuth.
+The errors of TeX.
+<cite>Software&mdash;Practice and Experience</cite>, 19(7):607&ndash;681, July
+ 1989.
+This is an updated version of Knuth:1988:ET.
+
+ <li>[Knu90]
+Donald Knuth.
+Virtual Fonts: More Fun for Grand Wizards.
+<cite>TUGboat</cite>, 11(1):13&ndash;23, April 1990.
+<a href="http://tug.org/TUGboat/tb11-1/tb27knut.pdf">http://tug.org/TUGboat/tb11-1/tb27knut.pdf</a>.
+
+ <li>[Knu92]
+Donald E. Knuth.
+<cite>Literate Programming</cite>.
+CSLI Lecture Notes Number 27. Stanford University Center for the Study of
+ Language and Information, Stanford, CA, USA, 1992.
+
+ <li>[Lam94]
+Leslie Lamport.
+<cite>LaTeX: A Document Preparation System: User's Guide and Reference
+ Manual</cite>.
+Addison-Wesley, Reading, MA, USA, second edition, 1994.
+Reprinted with corrections in 1996.
+
+ <li>[Lia83]
+Franklin Mark Liang.
+Word hy-phen-a-tion by com-pu-ter.
+Technical Report STAN-CS-83-977, Stanford University, August 1983.
+<a href="http://tug.org/docs/liang/liang-thesis.pdf">http://tug.org/docs/liang/liang-thesis.pdf</a>.
+
+ <li>[Mac91]
+Pierre A. MacKay.
+Looking at the pixels: Quality control for 300 dpi laser printer fonts,
+ especially Metafonts.
+In Robert A. Morris and Jacques Andre, editors, <cite>Raster Imaging and
+ Digital Typography II&mdash;Papers from the second RIDT meeting, held in
+ Boston, Oct. 14&ndash;16, 1991</cite>, pages 205&ndash;215, New York, 1991. Cambridge
+ University Press.
+
+ <li>[Spi89]
+Michael D. Spivak.
+<cite>LAMSTeX, The Synthesis</cite>.
+The TeXplorators Corporation, 3701 W. Alabama, Suite 450-273, Houston, TX
+ 77027, USA, 1989.
+
+ <li>[Spi90]
+Michael D. Spivak.
+<cite>The Joy of TeX&mdash;A Gourmet Guide to Typesetting with the
+ AMSTeX macro package</cite>.
+American Mathematical Society, Providence, RI, USA, 2nd revised edition, 1990.
+
+ <!-- end{thebibliography} -->
+ </ol>
+
+<div class="node">
+<a name="Index"></a>
+<p><hr>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#References">References</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_0040samp_007b_0023define_007d-options-36">&lsquo;<samp><span class="samp">#define</span></samp>&rsquo; options</a>: <a href="#Compile_002dtime-options">Compile-time options</a></li>
+<li><a href="#index-g_t_0024-_0040r_007bexpansion-in-filenames_007d-223"><code>$ </code><span class="roman">expansion in filenames</span></a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+<li><a href="#index-g_t_0025_0026-_0040r_007bmagic-number_007d-180"><code>%&amp; </code><span class="roman">magic number</span></a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li>
+<li><a href="#index-g_t_002d-_0040r_007bstarting-a-filename_007d-93"><code>- </code><span class="roman">starting a filename</span></a>: <a href="#Option-conventions">Option conventions</a></li>
+<li><a href="#index-g_t_002d-_0040r_007bstarts-option-names_007d-91"><code>- </code><span class="roman">starts option names</span></a>: <a href="#Option-conventions">Option conventions</a></li>
+<li><a href="#index-g_t_002d_002d-_0040r_007bstarts-option-names_007d-92"><code>-- </code><span class="roman">starts option names</span></a>: <a href="#Option-conventions">Option conventions</a></li>
+<li><a href="#index-g_t_002d_002ddisable_002ddump_002dshare-configure-_0040r_007boption_007d-195"><code>--disable-dump-share configure </code><span class="roman">option</span></a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-g_t_002d_002ddisable_002dmf_002dnowin-449"><code>--disable-mf-nowin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002d_002denable_002depsfwin-416"><code>--enable-epsfwin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002d_002denable_002dhp2627win-418"><code>--enable-hp2627win</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002d_002denable_002dipc-configure-_0040r_007boption_007d-249"><code>--enable-ipc configure </code><span class="roman">option</span></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002d_002denable_002dmftalkwin-420"><code>--enable-mftalkwin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002d_002denable_002dnext-423"><code>--enable-next</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002d_002denable_002dregiswin-425"><code>--enable-regiswin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002d_002denable_002dsuntoolswin-430"><code>--enable-suntoolswin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002d_002denable_002dtektronixwin-434"><code>--enable-tektronixwin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002d_002denable_002dunitermwin-438"><code>--enable-unitermwin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002d_002dhelp-_0040r_007bcommon-option_007d-96"><code>--help </code><span class="roman">common option</span></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002d_002dverbose-_0040r_007bcommon-option_007d-98"><code>--verbose </code><span class="roman">common option</span></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002d_002dversion-_0040r_007bcommon-option_007d-100"><code>--version </code><span class="roman">common option</span></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002d_002dwith_002deditor_003d_0040var_007bcmd_007d-211"><code>--with-editor=</code><var>cmd</var></a>: <a href="#Editor-invocation">Editor invocation</a></li>
+<li><a href="#index-g_t_002d_002dwith_002dmf_002dx_002dtoolkit_003d_0040var_007bkit_007d-444"><code>--with-mf-x-toolkit=</code><var>kit</var></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002d_002dwith_002dx-443"><code>--with-x</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002d8bit-138"><code>-8bit</code></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dbase_003d_0040var_007bbase_007d-178"><code>-base=</code><var>base</var></a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li>
+<li><a href="#index-g_t_002dbase_003d_0040var_007bdumpname_007d-107"><code>-base=</code><var>dumpname</var></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dchange_003d_0040var_007bchfile_007d-481"><code>-change=</code><var>chfile</var></a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-g_t_002dcharcode_002dformat_003d_0040var_007btype_007d-766"><code>-charcode-format=</code><var>type</var></a>: <a href="#vftovp-invocation">vftovp invocation</a></li>
+<li><a href="#index-g_t_002dcharcode_002dformat_003d_0040var_007btype_007d-737"><code>-charcode-format=</code><var>type</var></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-g_t_002dD-_0040r_007bcompiler-options_007d-37"><code>-D </code><span class="roman">compiler options</span></a>: <a href="#Compile_002dtime-options">Compile-time options</a></li>
+<li><a href="#index-g_t_002ddisable_002dwrite18-263"><code>-disable-write18</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002ddpi_003d_0040var_007breal_007d-630"><code>-dpi=</code><var>real</var></a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-g_t_002denable_002dwrite18-262"><code>-enable-write18</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002denc-244"><code>-enc</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002dfile_002dline_002derror-102"><code>-file-line-error</code></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dfile_002dline_002derror_002dstyle-104"><code>-file-line-error-style</code></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dfmt_003d_0040var_007bdumpname_007d-106"><code>-fmt=</code><var>dumpname</var></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dfmt_003d_0040var_007bfmt_007d-177"><code>-fmt=</code><var>fmt</var></a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li>
+<li><a href="#index-g_t_002dgeometry_0040r_007b_002c-supported-with-Xt_007d-458"><code>-geometry</code><span class="roman">, supported with Xt</span></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002dhalt_002don_002derror-110"><code>-halt-on-error</code></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dimages-711"><code>-images</code></a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-g_t_002dini-161"><code>-ini</code></a>: <a href="#Initial-and-virgin">Initial and virgin</a></li>
+<li><a href="#index-g_t_002dini-112"><code>-ini</code></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dinteraction_003d_0040var_007bstring_007d-115"><code>-interaction=</code><var>string</var></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dipc-247"><code>-ipc</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002dipc_002dstart-248"><code>-ipc-start</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002djobname_003d_0040var_007bstring_007d-117"><code>-jobname=</code><var>string</var></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dkpathsea_002ddebug_003d_0040var_007bnumber_007d-119"><code>-kpathsea-debug=</code><var>number</var></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dlength_003d_0040var_007bnumber_007d-585"><code>-length=</code><var>number</var></a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-g_t_002dloose-593"><code>-loose</code></a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-g_t_002dlowercase-587"><code>-lowercase</code></a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-g_t_002dmagnification_003d_0040var_007binteger_007d-631"><code>-magnification=</code><var>integer</var></a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-g_t_002dmagnification_003d_0040var_007binteger_007d-616"><code>-magnification=</code><var>integer</var></a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li>
+<li><a href="#index-g_t_002dmax_002dpages_003d_0040var_007bn_007d-634"><code>-max-pages=</code><var>n</var></a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-g_t_002dmax_002dpages_003d_0040var_007bn_007d-619"><code>-max-pages=</code><var>n</var></a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li>
+<li><a href="#index-g_t_002dmem_003d_0040var_007bdumpname_007d-108"><code>-mem=</code><var>dumpname</var></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dmin_002dcrossrefs_003d_0040var_007bn_007d-548"><code>-min-crossrefs=</code><var>n</var></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-g_t_002dmixedcase-588"><code>-mixedcase</code></a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-g_t_002dmktex_003d_0040var_007bfiletype_007d-386"><code>-mktex=</code><var>filetype</var></a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-g_t_002dmktex_003d_0040var_007bfiletype_007d-250"><code>-mktex=</code><var>filetype</var></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002dmltex-252"><code>-mltex</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002dmnemonics-712"><code>-mnemonics</code></a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-g_t_002dno_002dfile_002dline_002derror-103"><code>-no-file-line-error</code></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dno_002dmktex_003d_0040var_007bfiletype_007d-387"><code>-no-mktex=</code><var>filetype</var></a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-g_t_002dno_002dmktex_003d_0040var_007bfiletype_007d-251"><code>-no-mktex=</code><var>filetype</var></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002dno_002dparse_002dfirst_002dline-126"><code>-no-parse-first-line</code></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dno_002dshell_002descape-260"><code>-no-shell-escape</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002doutput_002dcomment_003d_0040var_007bstring_007d-255"><code>-output-comment=</code><var>string</var></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002doutput_002ddirectory-150"><code>-output-directory</code></a>: <a href="#Output-file-location">Output file location</a></li>
+<li><a href="#index-g_t_002doutput_002ddirectory-123"><code>-output-directory</code></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002doutput_002dlevel_003d_0040var_007bn_007d-635"><code>-output-level=</code><var>n</var></a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-g_t_002doverflow_002dlabel_002doffset_003d_0040var_007bpoints_007d-471"><code>-overflow-label-offset=</code><var>points</var></a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li>
+<li><a href="#index-g_t_002dpage_002dstart_003d_0040var_007bpage_002dspec_007d-636"><code>-page-start=</code><var>page-spec</var></a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-g_t_002dpage_002dstart_003d_0040var_007bpage_002dspec_007d-620"><code>-page-start=</code><var>page-spec</var></a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li>
+<li><a href="#index-g_t_002dparse_002dfirst_002dline-125"><code>-parse-first-line</code></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dprogname_003d_0040var_007bstring_007d-179"><code>-progname=</code><var>string</var></a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li>
+<li><a href="#index-g_t_002dprogname_003d_0040var_007bstring_007d-128"><code>-progname=</code><var>string</var></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002drecorder-132"><code>-recorder</code></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dshell_002descape-259"><code>-shell-escape</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002dshell_002drestricted-261"><code>-shell-restricted</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002dshow_002dopcodes-640"><code>-show-opcodes</code></a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-g_t_002dstrict-594"><code>-strict</code></a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-g_t_002dstyle_003d_0040var_007bmftfile_007d-483"><code>-style=</code><var>mftfile</var></a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-g_t_002dT-518"><code>-T</code></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-g_t_002dterse-545"><code>-terse</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-g_t_002dtex_003d_0040var_007btexprogram_007d-521"><code>-tex=</code><var>texprogram</var></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-g_t_002dtranslate_002dfile_003d_0040var_007btcxfile_007d-134"><code>-translate-file=</code><var>tcxfile</var></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002dtroff-519"><code>-troff</code></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-g_t_002dunderline-591"><code>-underline</code></a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-g_t_002duppercase-589"><code>-uppercase</code></a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-g_t_002dx-601"><code>-x</code></a>: <a href="#weave-invocation">weave invocation</a></li>
+<li><a href="#index-g_t_002e_0040r_007b_002c-used-for-output_007d-149"><code>.</code><span class="roman">, used for output</span></a>: <a href="#Output-file-location">Output file location</a></li>
+<li><a href="#index-g_t_002e2602gf-385"><code>.2602gf</code></a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-g_t_002eaux-_0040r_007bcross_002dreference-files_007d-536"><code>.aux </code><span class="roman">cross-reference files</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-g_t_002ebase-390"><code>.base</code></a>: <a href="#Initial-Metafont">Initial Metafont</a></li>
+<li><a href="#index-g_t_002ebbl-_0040r_007bbibliography-files_007d-535"><code>.bbl </code><span class="roman">bibliography files</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-g_t_002ebib-_0040r_007bbibliography-databases_007d-537"><code>.bib </code><span class="roman">bibliography databases</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-g_t_002eblg-_0040r_007bBib_0040TeX_007b_007d-log-file_007d-538"><code>.blg </code><span class="roman">BibTeX log file</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-g_t_002efmt-267"><code>.fmt</code></a>: <a href="#Initial-TeX">Initial TeX</a></li>
+<li><a href="#index-g_t_002emf-371"><code>.mf</code></a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-g_t_002emp-497"><code>.mp</code></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-g_t_0040code_007b_002emps_007d-files-and-PDF-516"><code>.mps</code> files and PDF</a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-g_t_002e_0040var_007bnnn_007d-_0040r_007bPostScript-figures_007d-500"><code>.</code><var>nnn</var> <span class="roman">PostScript figures</span></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-g_t_002e_0040var_007bnnn_007dgf-_0040r_007bgeneric-fonts_007d-375"><code>.</code><var>nnn</var><code>gf </code><span class="roman">generic fonts</span></a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-g_t_002etcx-_0040r_007bcharacter-translation-files_007d-303"><code>.tcx </code><span class="roman">character translation files</span></a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-g_t_002etcx-_0040r_007bcharacter-translation-files_007d-136"><code>.tcx </code><span class="roman">character translation files</span></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t_002etex-232"><code>.tex</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_002etfm-_0040r_007boutput_007d-501"><code>.tfm </code><span class="roman">output</span></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-g_t_002etfm-_0040r_007boutput_007d-380"><code>.tfm </code><span class="roman">output</span></a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-g_t_002eXdefaults-456"><code>.Xdefaults</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t_002eXresources-457"><code>.Xresources</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-g_t2602gf-384"><code>2602gf</code></a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-g_t8-bit-clean-139">8 bit clean</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t8-bit-clean-output_002c-specifying-140"><code>8 bit clean output, specifying</code></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-g_t8_002dbit-characters-306">8-bit characters</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-g_t_005cbibliography-540"><code>\bibliography</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-g_t_005cbibliographystyle-541"><code>\bibliographystyle</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-g_t_005ccharsubdef-_0040r_007band-ML_0040TeX_007b_007d_007d-296"><code>\charsubdef </code><span class="roman">and MLTeX</span></a>: <a href="#g_t_005ccharsubdef">\charsubdef</a></li>
+<li><a href="#index-g_t_005ccount_0040var_007bn_007d-639"><code>\count</code><var>n</var></a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-g_t_005ccount_0040var_007bn_007d-623"><code>\count</code><var>n</var></a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li>
+<li><a href="#index-g_t_005cfont-_0040r_007band-dynamic-generation_007d-237"><code>\font </code><span class="roman">and dynamic generation</span></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_005cfontdimen-743"><code>\fontdimen</code></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-g_t_005cimmediate_005cwrite18-335"><code>\immediate\write18</code></a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-g_t_005cinput-_0040r_007bfilenames_007d-214"><code>\input </code><span class="roman">filenames</span></a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+<li><a href="#index-g_t_005cinput_0040r_007b_002c-and-pipes_007d-343"><code>\input</code><span class="roman">, and pipes</span></a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-g_t_005cmag-633"><code>\mag</code></a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-g_t_005cmag-618"><code>\mag</code></a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li>
+<li><a href="#index-g_t_005copenin_0040r_007b_002c-and-pipes_007d-342"><code>\openin</code><span class="roman">, and pipes</span></a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-g_t_005copenout-_0040r_007band-security_007d-238"><code>\openout </code><span class="roman">and security</span></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_005copenout_0040r_007b_002c-and-pipes_007d-344"><code>\openout</code><span class="roman">, and pipes</span></a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-g_t_005coutput-_0040r_007broutine_002c-and-_0040code_007b_005cwrite_007d_007d-338"><code>\output </code><span class="roman">routine, and </span><code>\write</code></a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-g_t_005cpdfshellescape-345"><code>\pdfshellescape</code></a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-g_t_005cstring-224"><code>\string</code></a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+<li><a href="#index-g_t_005ctracingcharsubdef-_0040r_007band-ML_0040TeX_007b_007d_007d-299"><code>\tracingcharsubdef </code><span class="roman">and MLTeX</span></a>: <a href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a></li>
+<li><a href="#index-g_t_005ctracinglostchars-_0040r_007band-ML_0040TeX_007b_007d_007d-301"><code>\tracinglostchars </code><span class="roman">and MLTeX</span></a>: <a href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a></li>
+<li><a href="#index-g_t_005cwrite18-_0040r_007bshell-escape-extension_007d-336"><code>\write18 </code><span class="roman">shell escape extension</span></a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-g_t_005e_005e-_0040r_007bnotation_002c-avoiding_007d-323"><code>^^ </code><span class="roman">notation, avoiding</span></a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-g_t_0040cite_007bComputer-Modern-Typefaces_007d_002c-production-of-488"><cite>Computer Modern Typefaces</cite>, production of</a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-abbrv_002ebst-563"><code>abbrv.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li>
+<li><a href="#index-accented-character-307">accented character</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-accents_002c-hyphenating-words-with-293">accents, hyphenating words with</a>: <a href="#MLTeX">MLTeX</a></li>
+<li><a href="#index-acknowledgements-19">acknowledgements</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-acm_002ebst-564"><code>acm.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li>
+<li><a href="#index-Ada_002c-WEB-for-577">Ada, WEB for</a>: <a href="#WEB">WEB</a></li>
+<li><a href="#index-additional-Make-targets-44">additional Make targets</a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-AFM-to-TFM-conversion-772">AFM to TFM conversion</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-afm2tfm-773"><code>afm2tfm</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-afmtopl-774"><code>afmtopl</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-Aleph-354">Aleph</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-aliases-for-fonts-145">aliases for fonts</a>: <a href="#Path-searching">Path searching</a></li>
+<li><a href="#index-alpha_002ebst-565"><code>alpha.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li>
+<li><a href="#index-American-Mathematical-Society_002c-typesetting-system-277">American Mathematical Society, typesetting system</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-AMS_0040TeX_007b_007d-276">AMSTeX</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-apalike_002ebst-566"><code>apalike.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li>
+<li><a href="#index-architecture-dependencies-193">architecture dependencies</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-array-limit_002c-fixed-83">array limit, fixed</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-array-sizes-71">array sizes</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-assembly-language-routines-41">assembly language routines</a>: <a href="#Compile_002dtime-options">Compile-time options</a></li>
+<li><a href="#index-autotrace-798"><code>autotrace</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-Awk_002c-WEB-for-576">Awk, WEB for</a>: <a href="#WEB">WEB</a></li>
+<li><a href="#index-base-file_002c-determining-175">base file, determining</a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li>
+<li><a href="#index-base-files-391">base files</a>: <a href="#Initial-Metafont">Initial Metafont</a></li>
+<li><a href="#index-base-files_002c-need-mode-definitions-401">base files, need mode definitions</a>: <a href="#Modes">Modes</a></li>
+<li><a href="#index-base-files_002c-plain-only-398">base files, plain only</a>: <a href="#Initial-Metafont">Initial Metafont</a></li>
+<li><a href="#index-base-files_002c-sharing-187">base files, sharing</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-bases-_0040r_007bMake-target_007d-53"><code>bases </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-basic-Bib_0040TeX_007b_007d-style-files-560">basic BibTeX style files</a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li>
+<li><a href="#index-basic-fonts-and-macros-29">basic fonts and macros</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-batch-languages-228">batch languages</a>: <a href="#TeX">TeX</a></li>
+<li><a href="#index-BDF-and-GF-conversion-776">BDF and GF conversion</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-beginfig-499"><code>beginfig</code></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-Berry_002c-Karl-17">Berry, Karl</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-BIBINPUTS_0040r_007b_002c-search-path-for-bib-files_007d-543"><code>BIBINPUTS</code><span class="roman">, search path for bib files</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-bibliographies_002c-creating-532">bibliographies, creating</a>: <a href="#BibTeX">BibTeX</a></li>
+<li><a href="#index-bibliography-806">bibliography</a>: <a href="#References">References</a></li>
+<li><a href="#index-bibliography-items_002c-cross_002dreferenced-550">bibliography items, cross-referenced</a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-bibtex-534"><code>bibtex</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-Bib_0040TeX_007b_007d-533">BibTeX</a>: <a href="#BibTeX">BibTeX</a></li>
+<li><a href="#index-Bib_0040TeX_007b_007d-collection-557">BibTeX collection</a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-Bib_0040TeX_007b_007d-style-files-561">BibTeX style files</a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li>
+<li><a href="#index-BigEndian-machines-190">BigEndian machines</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-binaries_002c-linking-129">binaries, linking</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-blank-lines_002c-in-TCX-files-315">blank lines, in TCX files</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-boxes_002c-memory-for-74">boxes, memory for</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-breakpoints_002c-memory-for-76">breakpoints, memory for</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-Breitenlohner_002c-Peter-5">Breitenlohner, Peter</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-BSTINPUTS_0040r_007b_002c-search-path-for-bst-files_007d-544"><code>BSTINPUTS</code><span class="roman">, search path for bst files</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-btex-_0040r_007bfor-MetaPost-labels_007d-505"><code>btex </code><span class="roman">for MetaPost labels</span></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-btxdoc_002ebib-554"><code>btxdoc.bib</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-btxdoc_002etex-551"><code>btxdoc.tex</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-btxhak_002etex-552"><code>btxhak.tex</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-byte-position-713">byte position</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-byte-position-680">byte position</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-byte-swapping-196">byte swapping</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-c_002dsources-_0040r_007bMakefile-target_007d-47"><code>c-sources </code><span class="roman">Makefile target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-change-files_002c-and-MFT-482">change files, and MFT</a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-change-files_002c-and-Tangle-582">change files, and Tangle</a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-change-files_002c-and-Weave-600">change files, and Weave</a>: <a href="#weave-invocation">weave invocation</a></li>
+<li><a href="#index-changing-error-messages-style-105">changing error messages style</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-character-codes_002c-in-GFtype-output-714">character codes, in GFtype output</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-character-codes_002c-in-PKtype-output-683">character codes, in PKtype output</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-character-codes_002c-in-TCX-files-318">character codes, in TCX files</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-character-proofs-of-fonts-464">character proofs of fonts</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li>
+<li><a href="#index-CHARACTER-_0040r_007bproperty_007d-751"><code>CHARACTER </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-character-translation-files-304">character translation files</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-CHARDP-_0040r_007bproperty_007d-754"><code>CHARDP </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-CHARHT-_0040r_007bproperty_007d-753"><code>CHARHT </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-CHARIC-_0040r_007bproperty_007d-755"><code>CHARIC </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-CHARWD-_0040r_007bproperty_007d-752"><code>CHARWD </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-chtopx-784"><code>chtopx</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-class-name-for-Metafont-453">class name for Metafont</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-cm_002ebase-395"><code>cm.base</code></a>: <a href="#Initial-Metafont">Initial Metafont</a></li>
+<li><a href="#index-cmbase_002emf-396"><code>cmbase.mf</code></a>: <a href="#Initial-Metafont">Initial Metafont</a></li>
+<li><a href="#index-cmbase_002emft-486"><code>cmbase.mft</code></a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-cmmf_002ebase-_0040r_007bnot-recommended_007d-394"><code>cmmf.base </code><span class="roman">not recommended</span></a>: <a href="#Initial-Metafont">Initial Metafont</a></li>
+<li><a href="#index-color_002c-in-DVItoMP-531">color, in DVItoMP</a>: <a href="#dvitomp-invocation">dvitomp invocation</a></li>
+<li><a href="#index-comments_002c-in-TCX-files-317">comments, in TCX files</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-comments_002c-MFT-control-479">comments, MFT control</a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-common-options-95">common options</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-commonalities-87">commonalities</a>: <a href="#Commonalities">Commonalities</a></li>
+<li><a href="#index-compilation-25">compilation</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-compile_002dtime-options-35">compile-time options</a>: <a href="#Compile_002dtime-options">Compile-time options</a></li>
+<li><a href="#index-compile_002dtime-options-33">compile-time options</a>: <a href="#configure-options">configure options</a></li>
+<li><a href="#index-Computer-Modern-fonts_002c-and-Troff-509">Computer Modern fonts, and Troff</a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-Computer-Modern-macros-397">Computer Modern macros</a>: <a href="#Initial-Metafont">Initial Metafont</a></li>
+<li><a href="#index-configuration-24">configuration</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-configuration-file-reading-143">configuration file reading</a>: <a href="#Path-searching">Path searching</a></li>
+<li><a href="#index-configuration-file-values-70">configuration file values</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-configuration_002c-compile_002dtime-32">configuration, compile-time</a>: <a href="#configure-options">configure options</a></li>
+<li><a href="#index-configure-_002d_002dwith_002f_002d_002denable-_0040r_007boptions_007d-34"><code>configure --with/--enable </code><span class="roman">options</span></a>: <a href="#configure-options">configure options</a></li>
+<li><a href="#index-CONTENTS_002etex-603"><code>CONTENTS.tex</code></a>: <a href="#weave-invocation">weave invocation</a></li>
+<li><a href="#index-control-sequence-names_002c-space-for-81">control sequence names, space for</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-conventions-for-options_002c-89">conventions for options,</a>: <a href="#Option-conventions">Option conventions</a></li>
+<li><a href="#index-conversion_002c-DVI-to-plain-text-625">conversion, DVI to plain text</a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-conversion_002c-GF-to-PK-667">conversion, GF to PK</a>: <a href="#gftopk-invocation">gftopk invocation</a></li>
+<li><a href="#index-conversion_002c-GF-to-plain-text-706">conversion, GF to plain text</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-conversion_002c-PK-to-GF-671">conversion, PK to GF</a>: <a href="#pktogf-invocation">pktogf invocation</a></li>
+<li><a href="#index-conversion_002c-PK-to-plain-text-675">conversion, PK to plain text</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-conversion_002c-property-list-to-TFM-757">conversion, property list to TFM</a>: <a href="#pltotf-invocation">pltotf invocation</a></li>
+<li><a href="#index-conversion_002c-property-list-to-VF-768">conversion, property list to VF</a>: <a href="#vptovf-invocation">vptovf invocation</a></li>
+<li><a href="#index-conversion_002c-TFM-to-property-list-732">conversion, TFM to property list</a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-conversion_002c-VF-to-VPL-761">conversion, VF to VPL</a>: <a href="#vftovp-invocation">vftovp invocation</a></li>
+<li><a href="#index-copyright-notices-803">copyright notices</a>: <a href="#Legalisms">Legalisms</a></li>
+<li><a href="#index-Cork-encoding-and-ISO-input-312">Cork encoding and ISO input</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-creating-memory-dumps-171">creating memory dumps</a>: <a href="#Creating-memory-dumps">Creating memory dumps</a></li>
+<li><a href="#index-cross_002dreferenced-bibliography-items-549">cross-referenced bibliography items</a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-cross_002dreferences_002c-omitting-602">cross-references, omitting</a>: <a href="#weave-invocation">weave invocation</a></li>
+<li><a href="#index-current-directory_002c-used-for-output-148">current directory, used for output</a>: <a href="#Output-file-location">Output file location</a></li>
+<li><a href="#index-Curtis_002c-Pavel-15">Curtis, Pavel</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-CWEB-575">CWEB</a>: <a href="#WEB">WEB</a></li>
+<li><a href="#index-Cweb-574">Cweb</a>: <a href="#WEB">WEB</a></li>
+<li><a href="#index-date-and-time_002c-in-memory-dumps-200">date and time, in memory dumps</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-debugging-DVI-utilities-643">debugging DVI utilities</a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-debugging-flags_002c-specifying-121">debugging flags, specifying</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-decimal-character-codes_002c-in-TCX-files-321">decimal character codes, in TCX files</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-dependencies_002c-hardware-194">dependencies, hardware</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-design_002dsize-units-750">design-size units</a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-device-definitions_002c-for-Metafont-402">device definitions, for Metafont</a>: <a href="#Modes">Modes</a></li>
+<li><a href="#index-device_002dindependent-width-729">device-independent width</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-device_002dindependent-width-686">device-independent width</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-directory-structure-28">directory structure</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-DISPLAY-459"><code>DISPLAY</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-dot-files_002c-written-by-_0040TeX_007b_007d-programs-242">dot files, written by TeX programs</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-downloading-of-fonts-for-MetaPost-labels-511">downloading of fonts for MetaPost labels</a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-DrawingServant-422"><code>DrawingServant</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-dump-file-109">dump file</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-dumping-memory-167">dumping memory</a>: <a href="#Memory-dumps">Memory dumps</a></li>
+<li><a href="#index-DVI-comment_002c-specifying-257">DVI comment, specifying</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-DVI-files_002c-converting-to-MPX-529">DVI files, converting to MPX</a>: <a href="#dvitomp-invocation">dvitomp invocation</a></li>
+<li><a href="#index-DVI-files_002c-explained-657">DVI files, explained</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-DVI-format-definition-613">DVI format definition</a>: <a href="#DVI-utilities">DVI utilities</a></li>
+<li><a href="#index-DVI-opcodes_002c-showing-642">DVI opcodes, showing</a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-DVI-utilities-611">DVI utilities</a>: <a href="#DVI-utilities">DVI utilities</a></li>
+<li><a href="#index-dvicopy-614"><code>dvicopy</code></a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li>
+<li><a href="#index-dvitomp-528"><code>dvitomp</code></a>: <a href="#dvitomp-invocation">dvitomp invocation</a></li>
+<li><a href="#index-dvitype-_0040r_007bDVI-validation_007d-624"><code>dvitype </code><span class="roman">DVI validation</span></a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-dvitype-output-example-644">dvitype output example</a>: <a href="#dvitype-output-example">dvitype output example</a></li>
+<li><a href="#index-dvitype_002eweb-612"><code>dvitype.web</code></a>: <a href="#DVI-utilities">DVI utilities</a></li>
+<li><a href="#index-dx-_0040r_007bhorizontal-escapement_007d-726">dx <span class="roman">horizontal escapement</span></a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-dx-_0040r_007bhorizontal-escapement_007d-691">dx <span class="roman">horizontal escapement</span></a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-dy-_0040r_007bvertical-escapement_007d-727">dy <span class="roman">vertical escapement</span></a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-dynamic-array-allocation-86">dynamic array allocation</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-dynamic-Metafont-mode-definitions-with-_0040code_007bsmode_007d-409">dynamic Metafont mode definitions with <code>smode</code></a>: <a href="#Modes">Modes</a></li>
+<li><a href="#index-dynamic-packing-variable-682">dynamic packing variable</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-e-_0040r_007bresponse-at-error-prompt_007d-207"><code>e </code><span class="roman">response at error prompt</span></a>: <a href="#Editor-invocation">Editor invocation</a></li>
+<li><a href="#index-e_002dcircumflex-297">e-circumflex</a>: <a href="#g_t_005ccharsubdef">\charsubdef</a></li>
+<li><a href="#index-e_002d_0040TeX_007b_007d-352">e-TeX</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-e_002emft-487"><code>e.mft</code></a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-EC-fonts-373">EC fonts</a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-EC-fonts-235">EC fonts</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-editing-of-bitmap-fonts-779">editing of bitmap fonts</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-editor-invoked-at-error-205">editor invoked at error</a>: <a href="#Editor-invocation">Editor invocation</a></li>
+<li><a href="#index-eight_002dbit-characters-in-filenames-219">eight-bit characters in filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+<li><a href="#index-empty_002etcx-311"><code>empty.tcx</code></a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-endian-dependencies-191">endian dependencies</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-eoc-_0040r_007bGF-command_007d-720"><code>eoc </code><span class="roman">GF command</span></a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-Eplain-282">Eplain</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-epsf-414"><code>epsf</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-errors_002c-editor-invoked-at-206">errors, editor invoked at</a>: <a href="#Editor-invocation">Editor invocation</a></li>
+<li><a href="#index-escapement_002c-horizontal-722">escapement, horizontal</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-escapement_002c-horizontal-689">escapement, horizontal</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-escapement_002c-vertical-724">escapement, vertical</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-etex-_0040r_007bfor-MetaPost-labels_007d-506"><code>etex </code><span class="roman">for MetaPost labels</span></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-executables_002c-shared-initial-and-virgin-160">executables, shared initial and virgin</a>: <a href="#Initial-and-virgin">Initial and virgin</a></li>
+<li><a href="#index-exit-status_002c-of-shell-escape-339">exit status, of shell escape</a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-expanded-plain-format-283">expanded plain format</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-extensions-to-_0040TeX_007b_007d-350">extensions to TeX</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-extra_005fmem_005fbot-73"><code>extra_mem_bot</code></a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-FACE-_0040r_007bproperty_007d-740"><code>FACE </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-FAMILY-_0040r_007bproperty_007d-739"><code>FAMILY </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-Ferguson_002c-Michael-291">Ferguson, Michael</a>: <a href="#MLTeX">MLTeX</a></li>
+<li><a href="#index-file-formats-for-fonts-651">file formats for fonts</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-file-recorder-133">file recorder</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-filename-conventions_002c-in-input-files-213">filename conventions, in input files</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+<li><a href="#index-filenames-starting-with-_0040samp_007b_002d_007d-94">filenames starting with &lsquo;<samp><span class="samp">-</span></samp>&rsquo;</a>: <a href="#Option-conventions">Option conventions</a></li>
+<li><a href="#index-first-line-of-the-main-input-file-137">first line of the main input file</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-fixed_002dpoint-arithmetic-39">fixed-point arithmetic</a>: <a href="#Compile_002dtime-options">Compile-time options</a></li>
+<li><a href="#index-FIXPT-38"><code>FIXPT</code></a>: <a href="#Compile_002dtime-options">Compile-time options</a></li>
+<li><a href="#index-flag-byte-681">flag byte</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-floating_002dpoint-arithmetic-40">floating-point arithmetic</a>: <a href="#Compile_002dtime-options">Compile-time options</a></li>
+<li><a href="#index-floating_002dpoint-values-198">floating-point values</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-fmt-file_002c-determining-174">fmt file, determining</a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li>
+<li><a href="#index-fmt-files-268">fmt files</a>: <a href="#Initial-TeX">Initial TeX</a></li>
+<li><a href="#index-fmt-files_002c-sharing-186">fmt files, sharing</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-fmts-_0040r_007bMake-target_007d-51"><code>fmts </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-font-aliases-144">font aliases</a>: <a href="#Path-searching">Path searching</a></li>
+<li><a href="#index-font-character-code_002c-translating-324">font character code, translating</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-font-design-368">font design</a>: <a href="#Metafont">Metafont</a></li>
+<li><a href="#index-font-downloading-for-MetaPost-labels-512">font downloading for MetaPost labels</a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-font-file-formats-650">font file formats</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-font-proofs-465">font proofs</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li>
+<li><a href="#index-font-utilities-645">font utilities</a>: <a href="#Font-utilities">Font utilities</a></li>
+<li><a href="#index-font-utilities_002c-non_002dWeb2c-771">font utilities, non-Web2c</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-font_005fmem_005fsize-78"><code>font_mem_size</code></a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-fontforge-786"><code>fontforge</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-fontinst_0040r_007b_002c-for-creating-virtual-fonts_007d-801"><code>fontinst</code><span class="roman">, for creating virtual fonts</span></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-fonts_002c-basic-30">fonts, basic</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-fontutils-797"><code>fontutils</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-format-files-271">format files</a>: <a href="#Initial-TeX">Initial TeX</a></li>
+<li><a href="#index-formats-for-_0040TeX_007b_007d-272">formats for TeX</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-formats-_0040r_007bMake-target_007d-49"><code>formats </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-fraction-routines-42">fraction routines</a>: <a href="#Compile_002dtime-options">Compile-time options</a></li>
+<li><a href="#index-Free-Software-Foundation-documentation-system-281">Free Software Foundation documentation system</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-freedom-of-Web2c-9">freedom of Web2c</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-ftp_002emath_002eutah_002eedu-556"><code>ftp.math.utah.edu</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-generating-source-specials-264">generating source specials</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-geometric-designs-366">geometric designs</a>: <a href="#Metafont">Metafont</a></li>
+<li><a href="#index-geometric-font-scaling-655">geometric font scaling</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-geometry-for-Metafont-454">geometry for Metafont</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-getopt_005flong_005fonly-90"><code>getopt_long_only</code></a>: <a href="#Option-conventions">Option conventions</a></li>
+<li><a href="#index-GF-files_002c-explained-660">GF files, explained</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-GF-files_002c-output-by-Metafont-378">GF files, output by Metafont</a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-GF-format-definition-649">GF format definition</a>: <a href="#Font-utilities">Font utilities</a></li>
+<li><a href="#index-GF-output-377">GF output</a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-GF_002c-converting-PK-to-672">GF, converting PK to</a>: <a href="#pktogf-invocation">pktogf invocation</a></li>
+<li><a href="#index-GF_002c-converting-to-PK-669">GF, converting to PK</a>: <a href="#gftopk-invocation">gftopk invocation</a></li>
+<li><a href="#index-gftodvi-463"><code>gftodvi</code></a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li>
+<li><a href="#index-gftopk-666"><code>gftopk</code></a>: <a href="#gftopk-invocation">gftopk invocation</a></li>
+<li><a href="#index-gftopxl-783"><code>gftopxl</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-gftype-_0040r_007bGF-validation_007d-705"><code>gftype </code><span class="roman">GF validation</span></a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-gftype_002eweb-647"><code>gftype.web</code></a>: <a href="#Font-utilities">Font utilities</a></li>
+<li><a href="#index-glue-ratio-representations-199">glue ratio representations</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-glue_002c-memory-for-75">glue, memory for</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-glyph-substitutions-294">glyph substitutions</a>: <a href="#MLTeX">MLTeX</a></li>
+<li><a href="#index-gray-font-467">gray font</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li>
+<li><a href="#index-Gruff_002c-Billy-Goat-61">Gruff, Billy Goat</a>: <a href="#Triptrap">Triptrap</a></li>
+<li><a href="#index-gsftopk-790"><code>gsftopk</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-Harbison_002c-Samuel-P_002e-203">Harbison, Samuel P.</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-hardware-and-memory-dumps-183">hardware and memory dumps</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-hash-table_002c-increasing-size-of-82">hash table, increasing size of</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-hash_005fextra-80"><code>hash_extra</code></a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-headerbyte-_0040r_007binformation_007d-741"><code>headerbyte </code><span class="roman">information</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-height_002c-in-pixels-692">height, in pixels</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-help_002c-online-97">help, online</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-Henry_002c-Patrick-11">Henry, Patrick</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-Herberts_002c-Mathias-415">Herberts, Mathias</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-hex-character-codes_002c-in-TCX-files-320">hex character codes, in TCX files</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-history-12">history</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-Hobby_002c-John-4">Hobby, John</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-horizontal-escapement-721">horizontal escapement</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-horizontal-escapement-688">horizontal escapement</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-hp2627-417"><code>hp2627</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-human-languages_002c-supported-in-_0040TeX_007b_007d-287">human languages, supported in TeX</a>: <a href="#Languages-and-hyphenation">Languages and hyphenation</a></li>
+<li><a href="#index-human_002dreadable-text_002c-converting-DVI-to-627">human-readable text, converting DVI to</a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-human_002dreadable-text_002c-converting-GF-to-708">human-readable text, converting GF to</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-human_002dreadable-text_002c-converting-PK-to-677">human-readable text, converting PK to</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-human_002dreadable-text_002c-converting-TFM-to-735">human-readable text, converting TFM to</a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-human_002dreadable-text_002c-converting-VF-to-764">human-readable text, converting VF to</a>: <a href="#vftovp-invocation">vftovp invocation</a></li>
+<li><a href="#index-hypertext-359">hypertext</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-hyphenation-and-languages-288">hyphenation and languages</a>: <a href="#Languages-and-hyphenation">Languages and hyphenation</a></li>
+<li><a href="#index-hyphenation-patterns_002c-creating-328">hyphenation patterns, creating</a>: <a href="#patgen-invocation">patgen invocation</a></li>
+<li><a href="#index-ice-cream-10">ice cream</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-identifier-case-590">identifier case</a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-identifier-collisions-595">identifier collisions</a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-identifier-length-586">identifier length</a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-identifiers-with-underlines-592">identifiers with underlines</a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-ieeetr_002ebst-567"><code>ieeetr.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li>
+<li><a href="#index-il1_002dt1_002etcx-309"><code>il1-t1.tcx</code></a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-il2_002dt1_002etcx-310"><code>il2-t1.tcx</code></a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-Info-format-280">Info format</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-initial-form_002c-enabling-114">initial form, enabling</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-initial-Metafont-388">initial Metafont</a>: <a href="#Initial-Metafont">Initial Metafont</a></li>
+<li><a href="#index-initial-MetaPost-522">initial MetaPost</a>: <a href="#Initial-MetaPost">Initial MetaPost</a></li>
+<li><a href="#index-initial-programs-164">initial programs</a>: <a href="#Initial-and-virgin">Initial and virgin</a></li>
+<li><a href="#index-initial-_0040TeX_007b_007d-265">initial TeX</a>: <a href="#Initial-TeX">Initial TeX</a></li>
+<li><a href="#index-initializations_002c-lengthy-165">initializations, lengthy</a>: <a href="#Initial-and-virgin">Initial and virgin</a></li>
+<li><a href="#index-input-filenames-212">input filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+<li><a href="#index-install_002dbases-_0040r_007bMake-target_007d-54"><code>install-bases </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-install_002dfmts-_0040r_007bMake-target_007d-52"><code>install-fmts </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-install_002dformats-_0040r_007bMake-target_007d-50"><code>install-formats </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-install_002dmems-_0040r_007bMake-target_007d-56"><code>install-mems </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-installation-26">installation</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-interaction-between-TCX-files-and-_0040samp_007b_002d8bit_007d_002e-326">interaction between TCX files and &lsquo;<samp><span class="samp">-8bit</span></samp>&rsquo;.</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-interaction-mode-116">interaction mode</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-international-characters-305">international characters</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-introduction-1">introduction</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-IPC-347">IPC</a>: <a href="#IPC-and-TeX">IPC and TeX</a></li>
+<li><a href="#index-IPC_005fDEBUG-349"><code>IPC_DEBUG</code></a>: <a href="#IPC-and-TeX">IPC and TeX</a></li>
+<li><a href="#index-IPC_005fDEBUG-43"><code>IPC_DEBUG</code></a>: <a href="#Compile_002dtime-options">Compile-time options</a></li>
+<li><a href="#index-job-name-118">job name</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-kerning-table_002c-in-TFM-files-749">kerning table, in TFM files</a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-keyboard-character-code_002c-translating-325">keyboard character code, translating</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-Knuth_002c-Donald-E_002e-480">Knuth, Donald E.</a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-Knuth_002c-Donald-E_002e-2">Knuth, Donald E.</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-KPATHSEA_005fDEBUG-120"><code>KPATHSEA_DEBUG</code></a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-KRN-_0040r_007bproperty_007d-747"><code>KRN </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-label-font-469">label font</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li>
+<li><a href="#index-LABEL-_0040r_007bproperty_007d-745"><code>LABEL </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-language-support-in-_0040TeX_007b_007d-286">language support in TeX</a>: <a href="#Languages-and-hyphenation">Languages and hyphenation</a></li>
+<li><a href="#index-languages_002c-hyphenation-rules-for-329">languages, hyphenation rules for</a>: <a href="#patgen-invocation">patgen invocation</a></li>
+<li><a href="#index-g_t_0040LaTeX_007b_007d-275">LaTeX</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-Latin-Modern-778">Latin Modern</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-left-side-bearing-715">left side bearing</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-left-side-bearing-701">left side bearing</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-legalisms-802">legalisms</a>: <a href="#Legalisms">Legalisms</a></li>
+<li><a href="#index-licensing-terms-8">licensing terms</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-LIG-_0040r_007bproperty_007d-746"><code>LIG </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-ligature-table_002c-in-TFM-files-748">ligature table, in TFM files</a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-LIGTABLE-_0040r_007bproperty_007d-744"><code>LIGTABLE </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-linking-binaries-130">linking binaries</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-links-to-binaries-182">links to binaries</a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li>
+<li><a href="#index-literate-programming-571">literate programming</a>: <a href="#WEB">WEB</a></li>
+<li><a href="#index-LittleEndian-machines-189">LittleEndian machines</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-log-file_002c-Bib_0040TeX_007b_007d-539">log file, BibTeX</a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-Lua-361">Lua</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-lua_0040TeX_007b_007d-360">luaTeX</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-machine-dependencies-192">machine dependencies</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-machine_002dreadable_002c-converting-property-lists-to-770">machine-readable, converting property lists to</a>: <a href="#vptovf-invocation">vptovf invocation</a></li>
+<li><a href="#index-machine_002dreadable_002c-converting-property-lists-to-759">machine-readable, converting property lists to</a>: <a href="#pltotf-invocation">pltotf invocation</a></li>
+<li><a href="#index-MacKay_002c-Pierre-664">MacKay, Pierre</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-macro-packages_002c-major-_0040TeX_007b_007d-274">macro packages, major TeX</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-macros_002c-basic-31">macros, basic</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-macros_002c-predefining-in-memory-dumps-168">macros, predefining in memory dumps</a>: <a href="#Memory-dumps">Memory dumps</a></li>
+<li><a href="#index-magnification-632">magnification</a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-magnification-617">magnification</a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li>
+<li><a href="#index-main_005fmemory-72"><code>main_memory</code></a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-Make-targets_002c-additional-46">Make targets, additional</a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-Martin_002c-Rick-20">Martin, Rick</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-Mathematical-Reviews-278">Mathematical Reviews</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-mathematical-typesetting-227">mathematical typesetting</a>: <a href="#TeX">TeX</a></li>
+<li><a href="#index-mem-file_002c-determining-176">mem file, determining</a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li>
+<li><a href="#index-mem-files_002c-sharing-188">mem files, sharing</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-memory-dump-to-use_002c-determining-173">memory dump to use, determining</a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li>
+<li><a href="#index-memory-dumps-166">memory dumps</a>: <a href="#Memory-dumps">Memory dumps</a></li>
+<li><a href="#index-memory-dumps-and-hardware-184">memory dumps and hardware</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-memory-dumps_002c-contain-date-and-time-202">memory dumps, contain date and time</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-memory-dumps_002c-creating-170">memory dumps, creating</a>: <a href="#Creating-memory-dumps">Creating memory dumps</a></li>
+<li><a href="#index-mems-_0040r_007bMake-target_007d-55"><code>mems </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-meta-characters-in-filenames-220">meta characters in filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+<li><a href="#index-Metafont-364">Metafont</a>: <a href="#Metafont">Metafont</a></li>
+<li><a href="#index-Metafont-geometry-455">Metafont geometry</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-Metafont-graphics-411">Metafont graphics</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-Metafont-input-files-372">Metafont input files</a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-Metafont-invocation-370">Metafont invocation</a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-Metafont-meets-PostScript-492">Metafont meets PostScript</a>: <a href="#MetaPost">MetaPost</a></li>
+<li><a href="#index-Metafont-online-support_002c-new-devices-460">Metafont online support, new devices</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-Metafont-source_002c-prettyprinting-475">Metafont source, prettyprinting</a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-Metafont_002c-compatibility-in-MetaPost-524">Metafont, compatibility in MetaPost</a>: <a href="#Initial-MetaPost">Initial MetaPost</a></li>
+<li><a href="#index-Metafont_002c-initial-389">Metafont, initial</a>: <a href="#Initial-Metafont">Initial Metafont</a></li>
+<li><a href="#index-Metafont_002c-MetaPost_002c-and-_0040TeX_007b_007d-158">Metafont, MetaPost, and TeX</a>: <a href="#Three-programs">Three programs</a></li>
+<li><a href="#index-MetaPost-490">MetaPost</a>: <a href="#MetaPost">MetaPost</a></li>
+<li><a href="#index-MetaPost-and-plain-Metafont-compatibility-526">MetaPost and plain Metafont compatibility</a>: <a href="#Initial-MetaPost">Initial MetaPost</a></li>
+<li><a href="#index-MetaPost-input-files-498">MetaPost input files</a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-MetaPost-invocation-494">MetaPost invocation</a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-MetaPost-source_002c-prettyprinting-489">MetaPost source, prettyprinting</a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-MetaPost_002c-initial-523">MetaPost, initial</a>: <a href="#Initial-MetaPost">Initial MetaPost</a></li>
+<li><a href="#index-MetaPost_002c-_0040TeX_007b_007d_002c-and-Metafont-159">MetaPost, TeX, and Metafont</a>: <a href="#Three-programs">Three programs</a></li>
+<li><a href="#index-metatype1-777"><code>metatype1</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-mf-369"><code>mf</code></a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-mf_002ebase-393"><code>mf.base</code></a>: <a href="#Initial-Metafont">Initial Metafont</a></li>
+<li><a href="#index-MFEDIT-209"><code>MFEDIT</code></a>: <a href="#Editor-invocation">Editor invocation</a></li>
+<li><a href="#index-mfplain-527"><code>mfplain</code></a>: <a href="#Initial-MetaPost">Initial MetaPost</a></li>
+<li><a href="#index-mfput-376"><code>mfput</code></a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-mft-474"><code>mft</code></a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-mftalk-419"><code>mftalk</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-MFTERM-412"><code>MFTERM</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-mftmac_002etex-478"><code>mftmac.tex</code></a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-micro_002dtypography-358">micro-typography</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-mktexmf_0040r_007b_002c-disabling_007d-374"><code>mktexmf</code><span class="roman">, disabling</span></a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-mktextfM_0040r_007b_002c-disabling_007d-236"><code>mktextfM</code><span class="roman">, disabling</span></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-mltex-289"><code>mltex</code></a>: <a href="#MLTeX">MLTeX</a></li>
+<li><a href="#index-ML_0040TeX_007b_007d_002c-enabling-253">MLTeX, enabling</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-mode-needed-to-run-Metafont-382">mode needed to run Metafont</a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-mode_005fdef-406"><code>mode_def</code></a>: <a href="#Modes">Modes</a></li>
+<li><a href="#index-mode_005fsetup-407"><code>mode_setup</code></a>: <a href="#Modes">Modes</a></li>
+<li><a href="#index-modes-file-needed-for-Metafont-400">modes file needed for Metafont</a>: <a href="#Modes">Modes</a></li>
+<li><a href="#index-modes_002emf-_0040r_007brecommended-modes-file_007d-404"><code>modes.mf </code><span class="roman">recommended modes file</span></a>: <a href="#Modes">Modes</a></li>
+<li><a href="#index-Morgan_002c-Tim-16">Morgan, Tim</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-Morris_002c-Bob-21">Morris, Bob</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-MPEDIT-210"><code>MPEDIT</code></a>: <a href="#Editor-invocation">Editor invocation</a></li>
+<li><a href="#index-mpgraph_002eps-496"><code>mpgraph.ps</code></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-mpman_002eps-495"><code>mpman.ps</code></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-mpost-493"><code>mpost</code></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-mpost_0040r_007b_002c-reason-for-name-change_007d-27"><code>mpost</code><span class="roman">, reason for name change</span></a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-mpout-502"><code>mpout</code></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-mproof_002etex-510"><code>mproof.tex</code></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-mptrap-_0040r_007bMake-target_007d-60"><code>mptrap </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-mptrap-test-64">mptrap test</a>: <a href="#Triptrap">Triptrap</a></li>
+<li><a href="#index-mptrap_002ereadme-68"><code>mptrap.readme</code></a>: <a href="#Triptrap">Triptrap</a></li>
+<li><a href="#index-MPX-files_002c-converting-from-DVI-files-530">MPX files, converting from DVI files</a>: <a href="#dvitomp-invocation">dvitomp invocation</a></li>
+<li><a href="#index-Multi_002dlingual-_0040TeX_007b_007d-290">Multi-lingual TeX</a>: <a href="#MLTeX">MLTeX</a></li>
+<li><a href="#index-N-tilde-298">N tilde</a>: <a href="#g_t_005ccharsubdef">\charsubdef</a></li>
+<li><a href="#index-new-graphics-support-for-Metafont-461">new graphics support for Metafont</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-newrow-_0040r_007bGF-command_007d-719"><code>newrow </code><span class="roman">GF command</span></a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-next-421"><code>next</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-NO_005fX11WIN-439"><code>NO_X11WIN</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-non_002dUnix-system_002c-compiling-on-48">non-Unix system, compiling on</a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-non_002dwindows_002dcapable-Metafont-450">non-windows-capable Metafont</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-NUL_002c-not-allowed-in-filenames-218">NUL, not allowed in filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+<li><a href="#index-octal-character-codes_002c-in-TCX-files-319">octal character codes, in TCX files</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-offset-for-overflow-labels-473">offset for overflow labels</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li>
+<li><a href="#index-online-Metafont-graphics-410">online Metafont graphics</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-opcodes_002c-showing-DVI-641">opcodes, showing DVI</a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-optical-font-scaling-654">optical font scaling</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-option-conventions-88">option conventions</a>: <a href="#Option-conventions">Option conventions</a></li>
+<li><a href="#index-origin-698">origin</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-output-directory_002c-specifying-151">output directory, specifying</a>: <a href="#Output-file-location">Output file location</a></li>
+<li><a href="#index-output-directory_002c-specifying-124">output directory, specifying</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-output-file-location-147">output file location</a>: <a href="#Output-file-location">Output file location</a></li>
+<li><a href="#index-output-files_002c-written-by-_0040TeX_007b_007d-programs-240">output files, written by TeX programs</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-output_005fcomment-_0040r_007bfor-DVI-files_007d-256"><code>output_comment </code><span class="roman">for DVI files</span></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-overflow-label-offset-472">overflow label offset</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li>
+<li><a href="#index-packet-length-684">packet length</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-page_002c-starting-638">page, starting</a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-page_002c-starting-622">page, starting</a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li>
+<li><a href="#index-parsing-the-first-line-127">parsing the first line</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-Pascal_002c-creating-from-WEB-580">Pascal, creating from WEB</a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-patgen-327"><code>patgen</code></a>: <a href="#patgen-invocation">patgen invocation</a></li>
+<li><a href="#index-path-searching-141">path searching</a>: <a href="#Path-searching">Path searching</a></li>
+<li><a href="#index-path-searching-debugging-122">path searching debugging</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-PDF-357">PDF</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-PDF_002c-and-_0040code_007b_002emps_007d-files-515">PDF, and <code>.mps</code> files</a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-pdf_0040TeX_007b_007d-356">pdfTeX</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-permissions_002c-legal-804">permissions, legal</a>: <a href="#Legalisms">Legalisms</a></li>
+<li><a href="#index-PFA-and-PFB-conversion-793">PFA and PFB conversion</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-pfaedit-787"><code>pfaedit</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-PiC_0040TeX_007b_007d_002c-increasing-memory-for-77">PiCTeX, increasing memory for</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-pipes_002c-reading-and-writing-341">pipes, reading and writing</a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-pixel-height-693">pixel height</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-pixel-width-694">pixel width</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-PK-bitmaps-from-PostScript-788">PK bitmaps from PostScript</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-PK-files_002c-explained-659">PK files, explained</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-PK-files_002c-not-output-by-Metafont-379">PK files, not output by Metafont</a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-PK-format-definition-648">PK format definition</a>: <a href="#Font-utilities">Font utilities</a></li>
+<li><a href="#index-PK_002c-converting-GF-to-668">PK, converting GF to</a>: <a href="#gftopk-invocation">gftopk invocation</a></li>
+<li><a href="#index-PK_002c-converting-to-GF-673">PK, converting to GF</a>: <a href="#pktogf-invocation">pktogf invocation</a></li>
+<li><a href="#index-pktogf-670"><code>pktogf</code></a>: <a href="#pktogf-invocation">pktogf invocation</a></li>
+<li><a href="#index-pktype-_0040r_007bPK-validation_007d-674"><code>pktype </code><span class="roman">PK validation</span></a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-pktype_002eweb-646"><code>pktype.web</code></a>: <a href="#Font-utilities">Font utilities</a></li>
+<li><a href="#index-PL-files_002c-explained-661">PL files, explained</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-plain-Metafont_002c-compatibility-in-MetaPost-525">plain Metafont, compatibility in MetaPost</a>: <a href="#Initial-MetaPost">Initial MetaPost</a></li>
+<li><a href="#index-plain-text_002c-converting-DVI-to-626">plain text, converting DVI to</a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-plain-text_002c-converting-GF-to-707">plain text, converting GF to</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-plain-text_002c-converting-PK-to-676">plain text, converting PK to</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-plain-text_002c-converting-TFM-to-736">plain text, converting TFM to</a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-plain-text_002c-converting-VF-to-765">plain text, converting VF to</a>: <a href="#vftovp-invocation">vftovp invocation</a></li>
+<li><a href="#index-plain_002ebase-392"><code>plain.base</code></a>: <a href="#Initial-Metafont">Initial Metafont</a></li>
+<li><a href="#index-plain_002ebst-562"><code>plain.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li>
+<li><a href="#index-plain_002efmt-269"><code>plain.fmt</code></a>: <a href="#Initial-TeX">Initial TeX</a></li>
+<li><a href="#index-plain_002emft-485"><code>plain.mft</code></a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-pltotf-756"><code>pltotf</code></a>: <a href="#pltotf-invocation">pltotf invocation</a></li>
+<li><a href="#index-pool-file_002c-writing-583">pool file, writing</a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-Poole_002c-Simon-435">Poole, Simon</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-pooltype-605"><code>pooltype</code></a>: <a href="#pooltype-invocation">pooltype invocation</a></li>
+<li><a href="#index-portable-filenames-221">portable filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+<li><a href="#index-PostScript-fonts_002c-and-Troff-507">PostScript fonts, and Troff</a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-PostScript-meets-Metafont-491">PostScript meets Metafont</a>: <a href="#MetaPost">MetaPost</a></li>
+<li><a href="#index-PostScript-output-504">PostScript output</a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-PostScript-to-PK-bitmaps-789">PostScript to PK bitmaps</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-PostScript-Type-1-font-conversion-794">PostScript Type 1 font conversion</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-PostScript_002c-and-font-scaling-656">PostScript, and font scaling</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-potrace-799"><code>potrace</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-predefined-macros-and-memory-dumps-169">predefined macros and memory dumps</a>: <a href="#Memory-dumps">Memory dumps</a></li>
+<li><a href="#index-prettyprinting-Metafont-source-476">prettyprinting Metafont source</a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-prettyprinting-WEB-programs-599">prettyprinting WEB programs</a>: <a href="#weave-invocation">weave invocation</a></li>
+<li><a href="#index-primitives_002c-new-353">primitives, new</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-printable-characters_002c-specifying-322">printable characters, specifying</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-printer-characteristics_002c-for-Metafont-403">printer characteristics, for Metafont</a>: <a href="#Modes">Modes</a></li>
+<li><a href="#index-production-use-163">production use</a>: <a href="#Initial-and-virgin">Initial and virgin</a></li>
+<li><a href="#index-program-name_002c-determines-memory-dump-181">program name, determines memory dump</a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li>
+<li><a href="#index-program-names_002c-special-254">program names, special</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-program-names_002c-special-113">program names, special</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-prologues-520"><code>prologues</code></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-prologues_0040r_007b_002c-and-EPSF-output_007d-513"><code>prologues</code><span class="roman">, and EPSF output</span></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-proof-_0040r_007bmode_007d-383"><code>proof </code><span class="roman">mode</span></a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-proof-sheets_002c-of-fonts-466">proof sheets, of fonts</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li>
+<li><a href="#index-property-list-format-738">property list format</a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-property-list_002c-converting-TFM-to-734">property list, converting TFM to</a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-property-list_002c-converting-VF-to-virtual-763">property list, converting VF to virtual</a>: <a href="#vftovp-invocation">vftovp invocation</a></li>
+<li><a href="#index-ps2pk-791"><code>ps2pk</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-psfonts_002emap_0040r_007b_002c-read-by-MetaPost_007d-514"><code>psfonts.map</code><span class="roman">, read by MetaPost</span></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-PXL-files_002c-explained-658">PXL files, explained</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-pxtoch-785"><code>pxtoch</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-Raichle_002c-Bernd-292">Raichle, Bernd</a>: <a href="#MLTeX">MLTeX</a></li>
+<li><a href="#index-reading_002c-additional-23">reading, additional</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-readonly-directory_002c-running-_0040TeX_007b_007d-in-152">readonly directory, running TeX in</a>: <a href="#Output-file-location">Output file location</a></li>
+<li><a href="#index-reallocation-of-arrays-85">reallocation of arrays</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-redefined-character-substitutions-300">redefined character substitutions</a>: <a href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a></li>
+<li><a href="#index-reference-pixel-699">reference pixel</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-references-805">references</a>: <a href="#References">References</a></li>
+<li><a href="#index-regis-424"><code>regis</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-Regis-graphics-support-426">Regis graphics support</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-regression-testing-258">regression testing</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-repeated-rows-704">repeated rows</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-representation-of-strings-609">representation of strings</a>: <a href="#pooltype-invocation">pooltype invocation</a></li>
+<li><a href="#index-restricted-shell-escapes-332">restricted shell escapes</a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-right-side-bearing-716">right side bearing</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-right-side-bearing-702">right side bearing</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-Rokicki_002c-Tomas-13">Rokicki, Tomas</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-run-length-encoded-bitmaps-718">run length encoded bitmaps</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-run-length-encoded-bitmaps-703">run length encoded bitmaps</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-runtime-options-69">runtime options</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-scaled-pixels-725">scaled pixels</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-scaled-pixels-690">scaled pixels</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-scaling-of-fonts-653">scaling of fonts</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-scanned-images-of-fonts-795">scanned images of fonts</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-security_002c-and-_0040code_007b_005copenout_007d-239">security, and <code>\openout</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-security_002c-and-output-files-243">security, and output files</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-security_002c-and-shell-escapes-331">security, and shell escapes</a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-security_002c-and-_0040code_007bwrite_007d-517">security, and <code>write</code></a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-shapes-367">shapes</a>: <a href="#Metafont">Metafont</a></li>
+<li><a href="#index-sharing-memory-dumps-185">sharing memory dumps</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-shell-commands-in-_0040TeX_007b_007d-330">shell commands in TeX</a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-shell_005fescape-_0040r_007benabling-in-_0040TeX_007b_007d_007d-334"><code>shell_escape </code><span class="roman">enabling in TeX</span></a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-shell_005fescape_005fcommands-340"><code>shell_escape_commands</code></a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-siam_002ebst-568"><code>siam.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li>
+<li><a href="#index-side-bearings-717">side bearings</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-side-bearings-700">side bearings</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-slant-font-470">slant font</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li>
+<li><a href="#index-slides_002c-producing-285">slides, producing</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-Sli_0040TeX_007b_007d-284">SliTeX</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-small-Metafont-memory-and-modes-405">small Metafont memory and modes</a>: <a href="#Modes">Modes</a></li>
+<li><a href="#index-smode-_0040r_007band-dynamic-Metafont-mode-definition_007d-408"><code>smode </code><span class="roman">and dynamic Metafont mode definition</span></a>: <a href="#Modes">Modes</a></li>
+<li><a href="#index-sockets-348">sockets</a>: <a href="#IPC-and-TeX">IPC and TeX</a></li>
+<li><a href="#index-space_002dterminated-filenames-215">space-terminated filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+<li><a href="#index-Spiderweb-573">Spiderweb</a>: <a href="#WEB">WEB</a></li>
+<li><a href="#index-Stallman_002c-Richard-22">Stallman, Richard</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-starting-page-637">starting page</a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-starting-page-621">starting page</a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li>
+<li><a href="#index-Steele-Jr_002e_002c-Guy-L_002e-204">Steele Jr., Guy L.</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-stopping-at-the-first-error-111">stopping at the first error</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-strategy_002c-overall-7">strategy, overall</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-string-numbers_002c-displaying-607">string numbers, displaying</a>: <a href="#pooltype-invocation">pooltype invocation</a></li>
+<li><a href="#index-string-pool_002c-writing-584">string pool, writing</a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-string-representation-610">string representation</a>: <a href="#pooltype-invocation">pooltype invocation</a></li>
+<li><a href="#index-style-design_002c-for-Bib_0040TeX_007b_007d-553">style design, for BibTeX</a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-style-files-484">style files</a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-substitutions-of-font-glyphs-295">substitutions of font glyphs</a>: <a href="#MLTeX">MLTeX</a></li>
+<li><a href="#index-sun-427"><code>sun</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-sun_002dgfx_002ec-431"><code>sun-gfx.c</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-Suntools-429">Suntools</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-SunView-428">SunView</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-swap-space_002c-as-array-limit-84">swap space, as array limit</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-swapping-bytes-197">swapping bytes</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-syntax-of-TCX-files-314">syntax of TCX files</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-system-_0040r_007bC-library-function_007d-337"><code>system </code><span class="roman">C library function</span></a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-system-command-333">system command</a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-T1-encoding-and-ISO-input-313">T1 encoding and ISO input</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-Tachikawa_002c-Elizabeth-665">Tachikawa, Elizabeth</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-tangle-579"><code>tangle</code></a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-targets_002c-additional-Make-45">targets, additional Make</a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-TCX-_0040r_007bcharacter-translation-files_007d-302"><code>TCX </code><span class="roman">character translation files</span></a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-tek-432"><code>tek</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-Tektronix-433">Tektronix</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-Tektronix-4014-437">Tektronix 4014</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-TERM-413"><code>TERM</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-terminator-for-filenames-217">terminator for filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+<li><a href="#index-terse-output-546">terse output</a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-tex-230"><code>tex</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d_002c-bibliographies-for-559">TeX, bibliographies for</a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d_002c-creating-from-Metafont-477">TeX, creating from Metafont</a>: <a href="#mft-invocation">mft invocation</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d_002c-creating-from-WEB-597">TeX, creating from WEB</a>: <a href="#weave-invocation">weave invocation</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d_002c-description-of-225">TeX, description of</a>: <a href="#TeX">TeX</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d_002c-extensions-to-351">TeX, extensions to</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d_002c-format-packages-for-273">TeX, format packages for</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d_002c-initial-266">TeX, initial</a>: <a href="#Initial-TeX">Initial TeX</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d_002c-input-files-found-233">TeX, input files found</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d_002c-invocation-231">TeX, invocation</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d_002c-Metafont_002c-and-MetaPost-157">TeX, Metafont, and MetaPost</a>: <a href="#Three-programs">Three programs</a></li>
+<li><a href="#index-g_t_0040TeX_007b_007d_002c-Web2c-implementation-of-3">TeX, Web2c implementation of</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-tex_002efmt-270"><code>tex.fmt</code></a>: <a href="#Initial-TeX">Initial TeX</a></li>
+<li><a href="#index-TEXBIB_0040r_007b_002c-search-path-for-bib-files_007d-542"><code>TEXBIB</code><span class="roman">, search path for bib files</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-TEXEDIT-208"><code>TEXEDIT</code></a>: <a href="#Editor-invocation">Editor invocation</a></li>
+<li><a href="#index-texfonts_002emap-146"><code>texfonts.map</code></a>: <a href="#Path-searching">Path searching</a></li>
+<li><a href="#index-Texinfo-279">Texinfo</a>: <a href="#Formats">Formats</a></li>
+<li><a href="#index-texmf_002ecnf-142"><code>texmf.cnf</code></a>: <a href="#Path-searching">Path searching</a></li>
+<li><a href="#index-texmfmp_002ec-462"><code>texmfmp.c</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-TEXMFOUTPUT_0040r_007b_002c-used-for-reading_007d-155"><code>TEXMFOUTPUT</code><span class="roman">, used for reading</span></a>: <a href="#Output-file-location">Output file location</a></li>
+<li><a href="#index-TEXMFOUTPUT_0040r_007b_002c-used-if-_0040samp_007b_002e_007d-unwritable_007d-153"><code>TEXMFOUTPUT</code><span class="roman">, used if &lsquo;</span><samp><span class="samp">.</span></samp><span class="roman">&rsquo; unwritable</span></a>: <a href="#Output-file-location">Output file location</a></li>
+<li><a href="#index-texput-234"><code>texput</code></a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-TFM-files_002c-converting-property-lists-to-758">TFM files, converting property lists to</a>: <a href="#pltotf-invocation">pltotf invocation</a></li>
+<li><a href="#index-TFM-files_002c-explained-652">TFM files, explained</a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-TFM-files_002c-memory-for-79">TFM files, memory for</a>: <a href="#Runtime-options">Runtime options</a></li>
+<li><a href="#index-TFM-files_002c-output-by-Metafont-381">TFM files, output by Metafont</a>: <a href="#mf-invocation">mf invocation</a></li>
+<li><a href="#index-TFM-files_002c-output-by-MetaPost-503">TFM files, output by MetaPost</a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-TFM-width-of-characters-728">TFM width of characters</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-TFM-width-of-characters-685">TFM width of characters</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-tftopl-731"><code>tftopl</code></a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-three-programs-156">three programs</a>: <a href="#Three-programs">Three programs</a></li>
+<li><a href="#index-time-and-date_002c-in-memory-dumps-201">time and date, in memory dumps</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li>
+<li><a href="#index-title-font-468">title font</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li>
+<li><a href="#index-toolkits_002c-X-445">toolkits, X</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-torture-tests-65">torture tests</a>: <a href="#Triptrap">Triptrap</a></li>
+<li><a href="#index-translation-file-for-_0040TeX_007b_007d_002c-specifying-135">translation file for TeX, specifying</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-translation-from-WEB-to-C-6">translation from WEB to C</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-trap-_0040r_007bMake-target_007d-59"><code>trap </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-trap-test-63">trap test</a>: <a href="#Triptrap">Triptrap</a></li>
+<li><a href="#index-trapman_002etex-67"><code>trapman.tex</code></a>: <a href="#Triptrap">Triptrap</a></li>
+<li><a href="#index-Trickey_002c-Howard-14">Trickey, Howard</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-trip-_0040r_007bMake-target_007d-58"><code>trip </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-trip-test-62">trip test</a>: <a href="#Triptrap">Triptrap</a></li>
+<li><a href="#index-tripman_002etex-66"><code>tripman.tex</code></a>: <a href="#Triptrap">Triptrap</a></li>
+<li><a href="#index-triptrap-_0040r_007bMake-target_007d-57"><code>triptrap </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li>
+<li><a href="#index-Troff_002c-and-MetaPost-508">Troff, and MetaPost</a>: <a href="#mpost-invocation">mpost invocation</a></li>
+<li><a href="#index-Troff_002c-WEB-for-578">Troff, WEB for</a>: <a href="#WEB">WEB</a></li>
+<li><a href="#index-Trojan-horses-and-_0040TeX_007b_007d-programs-241">Trojan horses and TeX programs</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-TUGboat-bibliography-558">TUGboat bibliography</a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-Type-1-conversion-792">Type 1 conversion</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-type-design_002c-personal-399">type design, personal</a>: <a href="#Initial-Metafont">Initial Metafont</a></li>
+<li><a href="#index-type-programs_002c-DVI-628">type programs, DVI</a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-type-programs_002c-GF-709">type programs, GF</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-type-programs_002c-PK-678">type programs, PK</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-type-programs_002c-pool-606">type programs, pool</a>: <a href="#pooltype-invocation">pooltype invocation</a></li>
+<li><a href="#index-typeface-families-365">typeface families</a>: <a href="#Metafont">Metafont</a></li>
+<li><a href="#index-typeface-specimen-sheets-796">typeface specimen sheets</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-typesetting-226">typesetting</a>: <a href="#TeX">TeX</a></li>
+<li><a href="#index-Unicode-355">Unicode</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-Unicode-input-245">Unicode input</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-uniterm-436"><code>uniterm</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-unsrt_002ebst-569"><code>unsrt.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li>
+<li><a href="#index-UTF_002d8-input-246">UTF-8 input</a>: <a href="#tex-invocation">tex invocation</a></li>
+<li><a href="#index-validation_002c-of-DVI-files-629">validation, of DVI files</a>: <a href="#dvitype-invocation">dvitype invocation</a></li>
+<li><a href="#index-validation_002c-of-GF-files-710">validation, of GF files</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-validation_002c-of-PK-files-679">validation, of PK files</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-validation_002c-of-TFM-files-733">validation, of TFM files</a>: <a href="#tftopl-invocation">tftopl invocation</a></li>
+<li><a href="#index-validation_002c-of-VF-files-762">validation, of VF files</a>: <a href="#vftovp-invocation">vftovp invocation</a></li>
+<li><a href="#index-verbose-Bib_0040TeX_007b_007d-output_002c-suppressing-547">verbose BibTeX output, suppressing</a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-verbosity_002c-enabling-99">verbosity, enabling</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-version-number_002c-finding-101">version number, finding</a>: <a href="#Common-options">Common options</a></li>
+<li><a href="#index-vertical-escapement-723">vertical escapement</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-VF-files_002c-converting-property-lists-to-769">VF files, converting property lists to</a>: <a href="#vptovf-invocation">vptovf invocation</a></li>
+<li><a href="#index-vftovp-760"><code>vftovp</code></a>: <a href="#vftovp-invocation">vftovp invocation</a></li>
+<li><a href="#index-virgin-programs-162">virgin programs</a>: <a href="#Initial-and-virgin">Initial and virgin</a></li>
+<li><a href="#index-virtual-font-creation-800">virtual font creation</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-virtual-fonts_002c-expanding-615">virtual fonts, expanding</a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li>
+<li><a href="#index-virtual_002dfonts_002eknuth-662"><code>virtual-fonts.knuth</code></a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-virtualfonts_002etxt-663"><code>virtualfonts.txt</code></a>: <a href="#Font-file-formats">Font file formats</a></li>
+<li><a href="#index-vptovf-767"><code>vptovf</code></a>: <a href="#vptovf-invocation">vptovf invocation</a></li>
+<li><a href="#index-weave-596"><code>weave</code></a>: <a href="#weave-invocation">weave invocation</a></li>
+<li><a href="#index-WEB-570">WEB</a>: <a href="#WEB">WEB</a></li>
+<li><a href="#index-web-environments_002c-and-security-346">web environments, and security</a>: <a href="#Shell-escapes">Shell escapes</a></li>
+<li><a href="#index-WEB-pool-files_002c-displaying-608">WEB pool files, displaying</a>: <a href="#pooltype-invocation">pooltype invocation</a></li>
+<li><a href="#index-WEB-programs_002c-compiling-581">WEB programs, compiling</a>: <a href="#tangle-invocation">tangle invocation</a></li>
+<li><a href="#index-WEB-programs_002c-typesetting-598">WEB programs, typesetting</a>: <a href="#weave-invocation">weave invocation</a></li>
+<li><a href="#index-WEB2C_0040r_007b_002c-search-path-for-TCX-files_007d-308"><code>WEB2C</code><span class="roman">, search path for TCX files</span></a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-Weber_002c-Olaf-18">Weber, Olaf</a>: <a href="#Introduction">Introduction</a></li>
+<li><a href="#index-webmac_002etex-604"><code>webmac.tex</code></a>: <a href="#weave-invocation">weave invocation</a></li>
+<li><a href="#index-webman_002etex-572"><code>webman.tex</code></a>: <a href="#WEB">WEB</a></li>
+<li><a href="#index-whitespace_002c-in-TCX-files-316">whitespace, in TCX files</a>: <a href="#TCX-files">TCX files</a></li>
+<li><a href="#index-whitespace_002dterminated-filenames-216">whitespace-terminated filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+<li><a href="#index-width_002c-device_002dindependent-730">width, device-independent</a>: <a href="#gftype-invocation">gftype invocation</a></li>
+<li><a href="#index-width_002c-device_002dindependent-687">width, device-independent</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-width_002c-in-pixels-695">width, in pixels</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-word-processor_002c-not-229">word processor, not</a>: <a href="#TeX">TeX</a></li>
+<li><a href="#index-writing-memory-dumps-172">writing memory dumps</a>: <a href="#Creating-memory-dumps">Creating memory dumps</a></li>
+<li><a href="#index-X-bitmap-fonts-775">X bitmap fonts</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-X-class-name-for-Metafont-452">X class name for Metafont</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-x-offset-696">x offset</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-X-resources-451">X resources</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-X-toolkits-and-Metafont-446">X toolkits and Metafont</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-xampl_002ebib-555"><code>xampl.bib</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li>
+<li><a href="#index-xbfe_0040r_007b_002c-bitmap-font-editor_007d-780"><code>xbfe</code><span class="roman">, bitmap font editor</span></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-Xe_0040TeX_007b_007d-362">XeTeX</a>: <a href="#TeX-extensions">TeX extensions</a></li>
+<li><a href="#index-xfed_0040r_007b_002c-bitmap-font-editor_007d-781"><code>xfed</code><span class="roman">, bitmap font editor</span></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-xfedor_0040r_007b_002c-bitmap-font-editor_007d-782"><code>xfedor</code><span class="roman">, bitmap font editor</span></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li>
+<li><a href="#index-Xlib-441"><code>Xlib</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-Xlib-support-448">Xlib support</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-Xt-440"><code>Xt</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-Xt-support-447">Xt support</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-xterm-442"><code>xterm</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li>
+<li><a href="#index-y-offset-697">y offset</a>: <a href="#pktype-invocation">pktype invocation</a></li>
+<li><a href="#index-g_t_007e-_0040r_007bexpansion-in-filenames_007d-222"><code>~ </code><span class="roman">expansion in filenames</span></a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li>
+ </ul></body></html>
+