summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf/doc/bzip2/bzip2.html2141
-rw-r--r--Master/texmf/doc/bzip2/bzip2.pdfbin0 -> 210902 bytes
-rw-r--r--Master/texmf/doc/bzip2/manual.html117
-rw-r--r--Master/texmf/doc/cefconv/cefconv.pdfbin0 -> 45803 bytes
-rw-r--r--Master/texmf/doc/cefconv/man/pdf/cefconv.pdfbin0 -> 2917 bytes
-rw-r--r--Master/texmf/doc/cefsconv/cefsconv.pdfbin0 -> 47228 bytes
-rw-r--r--Master/texmf/doc/cefsconv/man/pdf/cefsconv.pdfbin0 -> 3071 bytes
-rw-r--r--Master/texmf/doc/chktex/ChkTeX.html4263
-rw-r--r--Master/texmf/doc/chktex/ChkTeX.pdfbin0 -> 201168 bytes
-rw-r--r--Master/texmf/doc/dvipng/dvipng.html1063
-rw-r--r--Master/texmf/doc/gzip/gzip.html802
-rw-r--r--Master/texmf/doc/gzip/gzip.pdfbin0 -> 119215 bytes
-rw-r--r--Master/texmf/doc/hbf2gf/hbf2gf.pdfbin0 -> 217933 bytes
-rw-r--r--Master/texmf/doc/hbf2gf/hbf2gf.txt384
-rw-r--r--Master/texmf/doc/hbf2gf/man/pdf/hbf2gf.pdfbin0 -> 17395 bytes
-rw-r--r--Master/texmf/doc/info/dir71
-rw-r--r--Master/texmf/doc/info/dvipng.info977
-rw-r--r--Master/texmf/doc/info/dvips.info4675
-rw-r--r--Master/texmf/doc/info/eplain.info6422
-rw-r--r--Master/texmf/doc/info/fontname.info15489
-rw-r--r--Master/texmf/doc/info/info-stnd.info2620
-rw-r--r--Master/texmf/doc/info/info.info1410
-rw-r--r--Master/texmf/doc/info/kpathsea.info4647
-rw-r--r--Master/texmf/doc/info/latex.info4309
-rw-r--r--Master/texmf/doc/info/tds.info1714
-rw-r--r--Master/texmf/doc/info/texdraw.info2429
-rw-r--r--Master/texmf/doc/info/texi2html.info3637
-rw-r--r--Master/texmf/doc/info/texinfo.info18328
-rw-r--r--Master/texmf/doc/info/web2c.info4739
-rw-r--r--Master/texmf/doc/man/man1/a2ping.1380
-rw-r--r--Master/texmf/doc/man/man1/afm2pl.1275
-rw-r--r--Master/texmf/doc/man/man1/afm2tfm.125
-rw-r--r--Master/texmf/doc/man/man1/allcm.128
l---------Master/texmf/doc/man/man1/allec.11
-rw-r--r--Master/texmf/doc/man/man1/allneeded.130
-rw-r--r--Master/texmf/doc/man/man1/amstex.169
-rw-r--r--Master/texmf/doc/man/man1/bg5conv.194
-rw-r--r--Master/texmf/doc/man/man1/bibtex.1146
-rw-r--r--Master/texmf/doc/man/man1/bzip2.1453
-rw-r--r--Master/texmf/doc/man/man1/cef5conv.1111
-rw-r--r--Master/texmf/doc/man/man1/cefconv.1101
-rw-r--r--Master/texmf/doc/man/man1/cefsconv.1111
-rw-r--r--Master/texmf/doc/man/man1/cfftot1.187
-rw-r--r--Master/texmf/doc/man/man1/cont-de.1458
-rw-r--r--Master/texmf/doc/man/man1/cont-en.1458
-rw-r--r--Master/texmf/doc/man/man1/cont-nl.1458
l---------Master/texmf/doc/man/man1/ctangle.11
-rw-r--r--Master/texmf/doc/man/man1/ctie.155
l---------Master/texmf/doc/man/man1/cweave.11
-rw-r--r--Master/texmf/doc/man/man1/cweb.1133
-rw-r--r--Master/texmf/doc/man/man1/detex.1126
-rw-r--r--Master/texmf/doc/man/man1/dmp.160
-rw-r--r--Master/texmf/doc/man/man1/dt2dv.1156
-rw-r--r--Master/texmf/doc/man/man1/dv2dt.1715
-rw-r--r--Master/texmf/doc/man/man1/dvi2fax.122
-rw-r--r--Master/texmf/doc/man/man1/dvi2tty.1131
-rw-r--r--Master/texmf/doc/man/man1/dvibook.153
-rw-r--r--Master/texmf/doc/man/man1/dviconcat.146
-rw-r--r--Master/texmf/doc/man/man1/dvicopy.122
-rw-r--r--Master/texmf/doc/man/man1/dvidvi.1127
-rw-r--r--Master/texmf/doc/man/man1/dvihp.149
-rw-r--r--Master/texmf/doc/man/man1/dvilj.1275
l---------Master/texmf/doc/man/man1/dvilj2p.11
l---------Master/texmf/doc/man/man1/dvilj4.11
l---------Master/texmf/doc/man/man1/dvilj4l.11
l---------Master/texmf/doc/man/man1/dvilj6.11
-rw-r--r--Master/texmf/doc/man/man1/dvipdfm.1322
-rw-r--r--Master/texmf/doc/man/man1/dvipdft.136
-rw-r--r--Master/texmf/doc/man/man1/dvipng.1483
-rw-r--r--Master/texmf/doc/man/man1/dvips.1517
-rw-r--r--Master/texmf/doc/man/man1/dvired.163
-rw-r--r--Master/texmf/doc/man/man1/dviselect.1129
-rw-r--r--Master/texmf/doc/man/man1/dvitodvi.1137
-rw-r--r--Master/texmf/doc/man/man1/dvitomp.117
-rw-r--r--Master/texmf/doc/man/man1/dvitype.174
-rw-r--r--Master/texmf/doc/man/man1/e2pall.155
-rw-r--r--Master/texmf/doc/man/man1/ebb.134
-rw-r--r--Master/texmf/doc/man/man1/eplain.1103
-rw-r--r--Master/texmf/doc/man/man1/epsffit.151
-rw-r--r--Master/texmf/doc/man/man1/epstopdf.154
-rw-r--r--Master/texmf/doc/man/man1/etex.1429
-rw-r--r--Master/texmf/doc/man/man1/extconv.194
-rw-r--r--Master/texmf/doc/man/man1/extractres.147
-rw-r--r--Master/texmf/doc/man/man1/fdf2tex.131
-rw-r--r--Master/texmf/doc/man/man1/fixdlsrps.124
-rw-r--r--Master/texmf/doc/man/man1/fixfmps.124
-rw-r--r--Master/texmf/doc/man/man1/fixmacps.127
-rw-r--r--Master/texmf/doc/man/man1/fixpsditps.124
-rw-r--r--Master/texmf/doc/man/man1/fixpspps.124
-rw-r--r--Master/texmf/doc/man/man1/fixscribeps.124
-rw-r--r--Master/texmf/doc/man/man1/fixtpps.124
-rw-r--r--Master/texmf/doc/man/man1/fixwfwps.124
-rw-r--r--Master/texmf/doc/man/man1/fixwpps.124
-rw-r--r--Master/texmf/doc/man/man1/fixwwps.124
l---------Master/texmf/doc/man/man1/fmtutil-sys.11
-rw-r--r--Master/texmf/doc/man/man1/fmtutil.180
-rw-r--r--Master/texmf/doc/man/man1/fontinst.145
-rw-r--r--Master/texmf/doc/man/man1/getafm.129
-rw-r--r--Master/texmf/doc/man/man1/getnonfreefonts.1182
-rw-r--r--Master/texmf/doc/man/man1/gftodvi.1167
-rw-r--r--Master/texmf/doc/man/man1/gftopk.1103
-rw-r--r--Master/texmf/doc/man/man1/gftype.197
-rw-r--r--Master/texmf/doc/man/man1/gsftopk.1301
-rw-r--r--Master/texmf/doc/man/man1/gzip.1478
-rw-r--r--Master/texmf/doc/man/man1/hbf2gf.1736
-rw-r--r--Master/texmf/doc/man/man1/includeres.141
-rw-r--r--Master/texmf/doc/man/man1/info.189
-rw-r--r--Master/texmf/doc/man/man1/infokey.141
-rw-r--r--Master/texmf/doc/man/man1/install-info.178
-rw-r--r--Master/texmf/doc/man/man1/kpseaccess.163
l---------Master/texmf/doc/man/man1/kpsepath.11
-rw-r--r--Master/texmf/doc/man/man1/kpsereadlink.132
-rw-r--r--Master/texmf/doc/man/man1/kpsestat.153
-rw-r--r--Master/texmf/doc/man/man1/kpsetool.1106
-rw-r--r--Master/texmf/doc/man/man1/kpsewhere.150
-rw-r--r--Master/texmf/doc/man/man1/kpsewhich.1160
l---------Master/texmf/doc/man/man1/kpsexpand.11
-rw-r--r--Master/texmf/doc/man/man1/lacheck.1113
-rw-r--r--Master/texmf/doc/man/man1/lambda.1292
-rw-r--r--Master/texmf/doc/man/man1/latex.170
-rw-r--r--Master/texmf/doc/man/man1/mag.168
-rw-r--r--Master/texmf/doc/man/man1/makeindex.11203
-rw-r--r--Master/texmf/doc/man/man1/makeinfo.1205
-rw-r--r--Master/texmf/doc/man/man1/makempx.189
-rw-r--r--Master/texmf/doc/man/man1/makempy.160
l---------Master/texmf/doc/man/man1/mf-nowin.11
-rw-r--r--Master/texmf/doc/man/man1/mf.1501
-rw-r--r--Master/texmf/doc/man/man1/mft.1134
-rw-r--r--Master/texmf/doc/man/man1/mkindex.142
-rw-r--r--Master/texmf/doc/man/man1/mkocp.150
-rw-r--r--Master/texmf/doc/man/man1/mkofm.133
l---------Master/texmf/doc/man/man1/mktexfmt.11
-rw-r--r--Master/texmf/doc/man/man1/mktexlsr.146
-rw-r--r--Master/texmf/doc/man/man1/mktexmf.159
-rw-r--r--Master/texmf/doc/man/man1/mktexpk.1122
-rw-r--r--Master/texmf/doc/man/man1/mktextfm.168
-rw-r--r--Master/texmf/doc/man/man1/mmafm.1183
-rw-r--r--Master/texmf/doc/man/man1/mmpfb.1211
-rw-r--r--Master/texmf/doc/man/man1/mpost.1478
-rw-r--r--Master/texmf/doc/man/man1/mpto.168
-rw-r--r--Master/texmf/doc/man/man1/newer.141
l---------Master/texmf/doc/man/man1/odvicopy.11
l---------Master/texmf/doc/man/man1/odvips.11
l---------Master/texmf/doc/man/man1/odvitype.11
-rw-r--r--Master/texmf/doc/man/man1/ofm2opl.191
-rw-r--r--Master/texmf/doc/man/man1/omega.1292
-rw-r--r--Master/texmf/doc/man/man1/opl2ofm.174
-rw-r--r--Master/texmf/doc/man/man1/otfinfo.1143
-rw-r--r--Master/texmf/doc/man/man1/otftotfm.11473
-rw-r--r--Master/texmf/doc/man/man1/otp2ocp.141
-rw-r--r--Master/texmf/doc/man/man1/outocp.144
-rw-r--r--Master/texmf/doc/man/man1/ovf2ovp.187
-rw-r--r--Master/texmf/doc/man/man1/ovp2ovf.178
l---------Master/texmf/doc/man/man1/oxdvi.11
-rw-r--r--Master/texmf/doc/man/man1/patgen.1170
-rw-r--r--Master/texmf/doc/man/man1/pdfetex.1487
l---------Master/texmf/doc/man/man1/pdflatex.11
-rw-r--r--Master/texmf/doc/man/man1/pdftex.1479
-rw-r--r--Master/texmf/doc/man/man1/pfb2pfa.119
-rw-r--r--Master/texmf/doc/man/man1/pk2bm.139
-rw-r--r--Master/texmf/doc/man/man1/pktogf.1103
-rw-r--r--Master/texmf/doc/man/man1/pktype.185
-rw-r--r--Master/texmf/doc/man/man1/pltotf.174
-rw-r--r--Master/texmf/doc/man/man1/pooltype.145
-rw-r--r--Master/texmf/doc/man/man1/ps2frag.141
-rw-r--r--Master/texmf/doc/man/man1/ps2pk.1156
-rw-r--r--Master/texmf/doc/man/man1/psbook.142
-rw-r--r--Master/texmf/doc/man/man1/pslatex.144
-rw-r--r--Master/texmf/doc/man/man1/psmerge.136
-rw-r--r--Master/texmf/doc/man/man1/psnup.1160
-rw-r--r--Master/texmf/doc/man/man1/psresize.181
-rw-r--r--Master/texmf/doc/man/man1/psselect.184
-rw-r--r--Master/texmf/doc/man/man1/pstops.1166
-rw-r--r--Master/texmf/doc/man/man1/rubibtex.163
-rw-r--r--Master/texmf/doc/man/man1/rumakeindex.163
-rw-r--r--Master/texmf/doc/man/man1/sjisconv.194
-rw-r--r--Master/texmf/doc/man/man1/t1ascii.151
-rw-r--r--Master/texmf/doc/man/man1/t1asm.196
-rw-r--r--Master/texmf/doc/man/man1/t1binary.142
-rw-r--r--Master/texmf/doc/man/man1/t1disasm.196
-rw-r--r--Master/texmf/doc/man/man1/t1dotlessj.196
-rw-r--r--Master/texmf/doc/man/man1/t1lint.148
-rw-r--r--Master/texmf/doc/man/man1/t1mac.162
-rw-r--r--Master/texmf/doc/man/man1/t1reencode.1149
-rw-r--r--Master/texmf/doc/man/man1/t1testpage.162
-rw-r--r--Master/texmf/doc/man/man1/t1unmac.171
-rw-r--r--Master/texmf/doc/man/man1/tangle.1180
-rw-r--r--Master/texmf/doc/man/man1/tcdialog.1217
-rw-r--r--Master/texmf/doc/man/man1/tex.1541
l---------Master/texmf/doc/man/man1/texconfig-sys.11
-rw-r--r--Master/texmf/doc/man/man1/texconfig.127
-rw-r--r--Master/texmf/doc/man/man1/texdoc.194
-rw-r--r--Master/texmf/doc/man/man1/texdoctk.1217
-rw-r--r--Master/texmf/doc/man/man1/texexec.1574
-rw-r--r--Master/texmf/doc/man/man1/texfind.172
-rw-r--r--Master/texmf/doc/man/man1/texfont.184
l---------Master/texmf/doc/man/man1/texhash.11
-rw-r--r--Master/texmf/doc/man/man1/texi2dvi.195
-rw-r--r--Master/texmf/doc/man/man1/texi2html.1164
l---------Master/texmf/doc/man/man1/texi2pdf.11
-rw-r--r--Master/texmf/doc/man/man1/texindex.147
-rw-r--r--Master/texmf/doc/man/man1/texlinks.165
-rw-r--r--Master/texmf/doc/man/man1/texshow.169
-rw-r--r--Master/texmf/doc/man/man1/texutil.1266
-rw-r--r--Master/texmf/doc/man/man1/tftopl.1117
-rw-r--r--Master/texmf/doc/man/man1/thumbpdf.1100
-rw-r--r--Master/texmf/doc/man/man1/tie.139
-rw-r--r--Master/texmf/doc/man/man1/ttf2afm.174
-rw-r--r--Master/texmf/doc/man/man1/ttf2pk.1311
-rw-r--r--Master/texmf/doc/man/man1/ttf2pt1.1619
-rw-r--r--Master/texmf/doc/man/man1/ttf2tfm.11182
-rw-r--r--Master/texmf/doc/man/man1/ttfdump.1124
l---------Master/texmf/doc/man/man1/updmap-sys.11
-rw-r--r--Master/texmf/doc/man/man1/updmap.1260
-rw-r--r--Master/texmf/doc/man/man1/vftovp.1100
-rw-r--r--Master/texmf/doc/man/man1/vlna.1130
-rw-r--r--Master/texmf/doc/man/man1/vptovf.168
-rw-r--r--Master/texmf/doc/man/man1/weave.177
-rw-r--r--Master/texmf/doc/man/man1/xdvi.14101
-rw-r--r--Master/texmf/doc/man/man1/xdvizilla.1115
-rw-r--r--Master/texmf/doc/man/man3/zlib.3159
-rw-r--r--Master/texmf/doc/man/man5/fmtutil.cnf.575
-rw-r--r--Master/texmf/doc/man/man5/info.572
-rw-r--r--Master/texmf/doc/man/man5/texinfo.561
-rw-r--r--Master/texmf/doc/man/man5/updmap.cfg.5137
-rw-r--r--Master/texmf/doc/pdftex/NEWS400
-rw-r--r--Master/texmf/doc/pdftex/README90
-rw-r--r--Master/texmf/doc/pdftex/manual/makefiles.cmd13
-rw-r--r--Master/texmf/doc/pdftex/manual/pdftex-t.tex4833
-rw-r--r--Master/texmf/doc/pdftex/manual/pdftex-w.pdf66
-rw-r--r--Master/texmf/doc/pdftex/manual/samplepdf/pdfcolor.tex158
-rw-r--r--Master/texmf/doc/pdftex/manual/samplepdf/pic.pdfbin0 -> 36792 bytes
-rw-r--r--Master/texmf/doc/pdftex/manual/samplepdf/rgb.iccbin0 -> 744 bytes
-rw-r--r--Master/texmf/doc/pdftex/manual/samplepdf/samplepdf.024
-rw-r--r--Master/texmf/doc/pdftex/manual/samplepdf/samplepdf.tex1161
-rw-r--r--Master/texmf/doc/pdftex/manual/samplepdf/supp-mis.tex695
-rw-r--r--Master/texmf/doc/pdftex/manual/samplepdf/supp-pdf.tex2191
-rw-r--r--Master/texmf/doc/pdftex/manual/samplepdf/tmp.pdfbin0 -> 3031 bytes
-rw-r--r--Master/texmf/doc/pdftex/pdftex-pdfkeys/Makefile29
-rw-r--r--Master/texmf/doc/pdftex/pdftex-pdfkeys/fdl.tex368
-rw-r--r--Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.bbl16
-rw-r--r--Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.pdfbin0 -> 132564 bytes
-rw-r--r--Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.tex210
243 files changed, 122012 insertions, 0 deletions
diff --git a/Master/texmf/doc/bzip2/bzip2.html b/Master/texmf/doc/bzip2/bzip2.html
new file mode 100644
index 00000000000..0443d233166
--- /dev/null
+++ b/Master/texmf/doc/bzip2/bzip2.html
@@ -0,0 +1,2141 @@
+<html lang="en">
+<head>
+<title>Untitled</title>
+<meta http-equiv="Content-Type" content="text/html">
+<meta name="description" content="Untitled">
+<meta name="generator" content="makeinfo 4.7">
+<link title="Top" rel="top" href="#Top">
+<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<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; }
+--></style>
+</head>
+<body>
+<div class="node">
+<p><hr>
+<a name="Top"></a>Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
+<br>
+</div>
+
+ <p>The following text is the License for this software. You should
+find it identical to that contained in the file LICENSE in the
+source distribution.
+
+ <p>&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash; START OF THE LICENSE &mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;
+
+ <p>This program, <code>bzip2</code>,
+and associated library <code>libbzip2</code>, are
+Copyright (C) 1996-2002 Julian R Seward. All rights reserved.
+
+ <p>Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+ <ul>
+<li> Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+<li> The origin of this software must not be misrepresented; you must
+ not claim that you wrote the original software. If you use this
+ software in a product, an acknowledgment in the product
+ documentation would be appreciated but is not required.
+<li> Altered source versions must be plainly marked as such, and must
+ not be misrepresented as being the original software.
+<li> The name of the author may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+</ul>
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR &ldquo;AS IS&rdquo; AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ <p>Julian Seward, Cambridge, UK.
+
+ <p><code>jseward@acm.org</code>
+
+ <p><code>bzip2</code>/<code>libbzip2</code> version 1.0.2 of 30 December 2001.
+
+ <p>&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash; END OF THE LICENSE &mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;
+
+ <p>Web sites:
+
+ <p><code>http://sources.redhat.com/bzip2</code>
+
+ <p><code>http://www.cacheprof.org</code>
+
+ <p>PATENTS: To the best of my knowledge, <code>bzip2</code> does not use any patented
+algorithms. However, I do not have the resources available to carry out
+a full patent search. Therefore I cannot give any guarantee of the
+above statement.
+
+<h2 class="chapter">1 Introduction</h2>
+
+<p><code>bzip2</code> compresses files using the Burrows-Wheeler
+block-sorting text compression algorithm, and Huffman coding.
+Compression is generally considerably better than that
+achieved by more conventional LZ77/LZ78-based compressors,
+and approaches the performance of the PPM family of statistical compressors.
+
+ <p><code>bzip2</code> is built on top of <code>libbzip2</code>, a flexible library
+for handling compressed data in the <code>bzip2</code> format. This manual
+describes both how to use the program and
+how to work with the library interface. Most of the
+manual is devoted to this library, not the program,
+which is good news if your interest is only in the program.
+
+ <p>Chapter 2 describes how to use <code>bzip2</code>; this is the only part
+you need to read if you just want to know how to operate the program.
+Chapter 3 describes the programming interfaces in detail, and
+Chapter 4 records some miscellaneous notes which I thought
+ought to be recorded somewhere.
+
+<h2 class="chapter">2 How to use <code>bzip2</code></h2>
+
+<p>This chapter contains a copy of the <code>bzip2</code> man page,
+and nothing else.
+
+ <blockquote>
+
+<h5 class="unnumberedsubsubsec">NAME</h5>
+
+ <ul>
+<li><code>bzip2</code>, <code>bunzip2</code>
+- a block-sorting file compressor, v1.0.2
+<li><code>bzcat</code>
+- decompresses files to stdout
+<li><code>bzip2recover</code>
+- recovers data from damaged bzip2 files
+</ul>
+
+<h5 class="unnumberedsubsubsec">SYNOPSIS</h5>
+
+ <ul>
+<li><code>bzip2</code> [ -cdfkqstvzVL123456789 ] [ filenames ... ]
+<li><code>bunzip2</code> [ -fkvsVL ] [ filenames ... ]
+<li><code>bzcat</code> [ -s ] [ filenames ... ]
+<li><code>bzip2recover</code> filename
+</ul>
+
+<h5 class="unnumberedsubsubsec">DESCRIPTION</h5>
+
+ <p><code>bzip2</code> compresses files using the Burrows-Wheeler block sorting
+text compression algorithm, and Huffman coding. Compression is
+generally considerably better than that achieved by more conventional
+LZ77/LZ78-based compressors, and approaches the performance of the PPM
+family of statistical compressors.
+
+ <p>The command-line options are deliberately very similar to those of GNU
+<code>gzip</code>, but they are not identical.
+
+ <p><code>bzip2</code> expects a list of file names to accompany the command-line
+flags. Each file is replaced by a compressed version of itself, with
+the name <code>original_name.bz2</code>. Each compressed file has the same
+modification date, permissions, and, when possible, ownership as the
+corresponding original, so that these properties can be correctly
+restored at decompression time. File name handling is naive in the
+sense that there is no mechanism for preserving original file names,
+permissions, ownerships or dates in filesystems which lack these
+concepts, or have serious file name length restrictions, such as MS-DOS.
+
+ <p><code>bzip2</code> and <code>bunzip2</code> will by default not overwrite existing
+files. If you want this to happen, specify the <code>-f</code> flag.
+
+ <p>If no file names are specified, <code>bzip2</code> compresses from standard
+input to standard output. In this case, <code>bzip2</code> will decline to
+write compressed output to a terminal, as this would be entirely
+incomprehensible and therefore pointless.
+
+ <p><code>bunzip2</code> (or <code>bzip2 -d</code>) decompresses all
+specified files. Files which were not created by <code>bzip2</code>
+will be detected and ignored, and a warning issued.
+<code>bzip2</code> attempts to guess the filename for the decompressed file
+from that of the compressed file as follows:
+ <ul>
+<li><code>filename.bz2 </code> becomes <code>filename</code>
+<li><code>filename.bz </code> becomes <code>filename</code>
+<li><code>filename.tbz2</code> becomes <code>filename.tar</code>
+<li><code>filename.tbz </code> becomes <code>filename.tar</code>
+<li><code>anyothername </code> becomes <code>anyothername.out</code>
+</ul>
+ If the file does not end in one of the recognised endings,
+<code>.bz2</code>, <code>.bz</code>,
+<code>.tbz2</code> or <code>.tbz</code>, <code>bzip2</code> complains that it cannot
+guess the name of the original file, and uses the original name
+with <code>.out</code> appended.
+
+ <p>As with compression, supplying no
+filenames causes decompression from standard input to standard output.
+
+ <p><code>bunzip2</code> will correctly decompress a file which is the
+concatenation of two or more compressed files. The result is the
+concatenation of the corresponding uncompressed files. Integrity
+testing (<code>-t</code>) of concatenated compressed files is also supported.
+
+ <p>You can also compress or decompress files to the standard output by
+giving the <code>-c</code> flag. Multiple files may be compressed and
+decompressed like this. The resulting outputs are fed sequentially to
+stdout. Compression of multiple files in this manner generates a stream
+containing multiple compressed file representations. Such a stream
+can be decompressed correctly only by <code>bzip2</code> version 0.9.0 or
+later. Earlier versions of <code>bzip2</code> will stop after decompressing
+the first file in the stream.
+
+ <p><code>bzcat</code> (or <code>bzip2 -dc</code>) decompresses all specified files to
+the standard output.
+
+ <p><code>bzip2</code> will read arguments from the environment variables
+<code>BZIP2</code> and <code>BZIP</code>, in that order, and will process them
+before any arguments read from the command line. This gives a
+convenient way to supply default arguments.
+
+ <p>Compression is always performed, even if the compressed file is slightly
+larger than the original. Files of less than about one hundred bytes
+tend to get larger, since the compression mechanism has a constant
+overhead in the region of 50 bytes. Random data (including the output
+of most file compressors) is coded at about 8.05 bits per byte, giving
+an expansion of around 0.5%.
+
+ <p>As a self-check for your protection, <code>bzip2</code> uses 32-bit CRCs to
+make sure that the decompressed version of a file is identical to the
+original. This guards against corruption of the compressed data, and
+against undetected bugs in <code>bzip2</code> (hopefully very unlikely). The
+chances of data corruption going undetected is microscopic, about one
+chance in four billion for each file processed. Be aware, though, that
+the check occurs upon decompression, so it can only tell you that
+something is wrong. It can't help you recover the original uncompressed
+data. You can use <code>bzip2recover</code> to try to recover data from
+damaged files.
+
+ <p>Return values: 0 for a normal exit, 1 for environmental problems (file
+not found, invalid flags, I/O errors, &amp;c), 2 to indicate a corrupt
+compressed file, 3 for an internal consistency error (eg, bug) which
+caused <code>bzip2</code> to panic.
+
+<h5 class="unnumberedsubsubsec">OPTIONS</h5>
+
+ <dl>
+<dt><code>-c --stdout</code><dd>Compress or decompress to standard output.
+<br><dt><code>-d --decompress</code><dd>Force decompression. <code>bzip2</code>, <code>bunzip2</code> and <code>bzcat</code> are
+really the same program, and the decision about what actions to take is
+done on the basis of which name is used. This flag overrides that
+mechanism, and forces bzip2 to decompress.
+<br><dt><code>-z --compress</code><dd>The complement to <code>-d</code>: forces compression, regardless of the
+invokation name.
+<br><dt><code>-t --test</code><dd>Check integrity of the specified file(s), but don't decompress them.
+This really performs a trial decompression and throws away the result.
+<br><dt><code>-f --force</code><dd>Force overwrite of output files. Normally, <code>bzip2</code> will not overwrite
+existing output files. Also forces <code>bzip2</code> to break hard links
+to files, which it otherwise wouldn't do.
+
+ <p><code>bzip2</code> normally declines to decompress files which don't have the
+correct magic header bytes. If forced (<code>-f</code>), however, it will
+pass such files through unmodified. This is how GNU <code>gzip</code>
+behaves.
+<br><dt><code>-k --keep</code><dd>Keep (don't delete) input files during compression
+or decompression.
+<br><dt><code>-s --small</code><dd>Reduce memory usage, for compression, decompression and testing. Files
+are decompressed and tested using a modified algorithm which only
+requires 2.5 bytes per block byte. This means any file can be
+decompressed in 2300k of memory, albeit at about half the normal speed.
+
+ <p>During compression, <code>-s</code> selects a block size of 200k, which limits
+memory use to around the same figure, at the expense of your compression
+ratio. In short, if your machine is low on memory (8 megabytes or
+less), use -s for everything. See MEMORY MANAGEMENT below.
+<br><dt><code>-q --quiet</code><dd>Suppress non-essential warning messages. Messages pertaining to
+I/O errors and other critical events will not be suppressed.
+<br><dt><code>-v --verbose</code><dd>Verbose mode &ndash; show the compression ratio for each file processed.
+Further <code>-v</code>'s increase the verbosity level, spewing out lots of
+information which is primarily of interest for diagnostic purposes.
+<br><dt><code>-L --license -V --version</code><dd>Display the software version, license terms and conditions.
+<br><dt><code>-1 (or --fast) to -9 (or --best)</code><dd>Set the block size to 100 k, 200 k .. 900 k when compressing. Has no
+effect when decompressing. See MEMORY MANAGEMENT below.
+The <code>--fast</code> and <code>--best</code> aliases are primarily for GNU
+<code>gzip</code> compatibility. In particular, <code>--fast</code> doesn't make
+things significantly faster. And <code>--best</code> merely selects the
+default behaviour.
+<br><dt><code>--</code><dd>Treats all subsequent arguments as file names, even if they start
+with a dash. This is so you can handle files with names beginning
+with a dash, for example: <code>bzip2 -- -myfilename</code>.
+<br><dt><code>--repetitive-fast</code><br><dt><code>--repetitive-best</code><dd>These flags are redundant in versions 0.9.5 and above. They provided
+some coarse control over the behaviour of the sorting algorithm in
+earlier versions, which was sometimes useful. 0.9.5 and above have an
+improved algorithm which renders these flags irrelevant.
+</dl>
+
+<h5 class="unnumberedsubsubsec">MEMORY MANAGEMENT</h5>
+
+ <p><code>bzip2</code> compresses large files in blocks. The block size affects
+both the compression ratio achieved, and the amount of memory needed for
+compression and decompression. The flags <code>-1</code> through <code>-9</code>
+specify the block size to be 100,000 bytes through 900,000 bytes (the
+default) respectively. At decompression time, the block size used for
+compression is read from the header of the compressed file, and
+<code>bunzip2</code> then allocates itself just enough memory to decompress
+the file. Since block sizes are stored in compressed files, it follows
+that the flags <code>-1</code> to <code>-9</code> are irrelevant to and so ignored
+during decompression.
+
+ <p>Compression and decompression requirements, in bytes, can be estimated
+as:
+ <pre class="example"> Compression: 400k + ( 8 x block size )
+
+ Decompression: 100k + ( 4 x block size ), or
+ 100k + ( 2.5 x block size )
+ </pre>
+ <p>Larger block sizes give rapidly diminishing marginal returns. Most of
+the compression comes from the first two or three hundred k of block
+size, a fact worth bearing in mind when using <code>bzip2</code> on small machines.
+It is also important to appreciate that the decompression memory
+requirement is set at compression time by the choice of block size.
+
+ <p>For files compressed with the default 900k block size, <code>bunzip2</code>
+will require about 3700 kbytes to decompress. To support decompression
+of any file on a 4 megabyte machine, <code>bunzip2</code> has an option to
+decompress using approximately half this amount of memory, about 2300
+kbytes. Decompression speed is also halved, so you should use this
+option only where necessary. The relevant flag is <code>-s</code>.
+
+ <p>In general, try and use the largest block size memory constraints allow,
+since that maximises the compression achieved. Compression and
+decompression speed are virtually unaffected by block size.
+
+ <p>Another significant point applies to files which fit in a single block
+&ndash; that means most files you'd encounter using a large block size. The
+amount of real memory touched is proportional to the size of the file,
+since the file is smaller than a block. For example, compressing a file
+20,000 bytes long with the flag <code>-9</code> will cause the compressor to
+allocate around 7600k of memory, but only touch 400k + 20000 * 8 = 560
+kbytes of it. Similarly, the decompressor will allocate 3700k but only
+touch 100k + 20000 * 4 = 180 kbytes.
+
+ <p>Here is a table which summarises the maximum memory usage for different
+block sizes. Also recorded is the total compressed size for 14 files of
+the Calgary Text Compression Corpus totalling 3,141,622 bytes. This
+column gives some feel for how compression varies with block size.
+These figures tend to understate the advantage of larger block sizes for
+larger files, since the Corpus is dominated by smaller files.
+ <pre class="example"> Compress Decompress Decompress Corpus
+ Flag usage usage -s usage Size
+
+ -1 1200k 500k 350k 914704
+ -2 2000k 900k 600k 877703
+ -3 2800k 1300k 850k 860338
+ -4 3600k 1700k 1100k 846899
+ -5 4400k 2100k 1350k 845160
+ -6 5200k 2500k 1600k 838626
+ -7 6100k 2900k 1850k 834096
+ -8 6800k 3300k 2100k 828642
+ -9 7600k 3700k 2350k 828642
+ </pre>
+ <h5 class="unnumberedsubsubsec">RECOVERING DATA FROM DAMAGED FILES</h5>
+
+ <p><code>bzip2</code> compresses files in blocks, usually 900kbytes long. Each
+block is handled independently. If a media or transmission error causes
+a multi-block <code>.bz2</code> file to become damaged, it may be possible to
+recover data from the undamaged blocks in the file.
+
+ <p>The compressed representation of each block is delimited by a 48-bit
+pattern, which makes it possible to find the block boundaries with
+reasonable certainty. Each block also carries its own 32-bit CRC, so
+damaged blocks can be distinguished from undamaged ones.
+
+ <p><code>bzip2recover</code> is a simple program whose purpose is to search for
+blocks in <code>.bz2</code> files, and write each block out into its own
+<code>.bz2</code> file. You can then use <code>bzip2 -t</code> to test the
+integrity of the resulting files, and decompress those which are
+undamaged.
+
+ <p><code>bzip2recover</code>
+takes a single argument, the name of the damaged file, and writes a
+number of files <code>rec00001file.bz2</code>, <code>rec00002file.bz2</code>, etc,
+containing the extracted blocks. The output filenames are designed so
+that the use of wildcards in subsequent processing &ndash; for example,
+<code>bzip2 -dc rec*file.bz2 &gt; recovered_data</code> &ndash; processes the files in
+the correct order.
+
+ <p><code>bzip2recover</code> should be of most use dealing with large <code>.bz2</code>
+files, as these will contain many blocks. It is clearly futile to use
+it on damaged single-block files, since a damaged block cannot be
+recovered. If you wish to minimise any potential data loss through
+media or transmission errors, you might consider compressing with a
+smaller block size.
+
+<h5 class="unnumberedsubsubsec">PERFORMANCE NOTES</h5>
+
+ <p>The sorting phase of compression gathers together similar strings in the
+file. Because of this, files containing very long runs of repeated
+symbols, like "aabaabaabaab ..." (repeated several hundred times) may
+compress more slowly than normal. Versions 0.9.5 and above fare much
+better than previous versions in this respect. The ratio between
+worst-case and average-case compression time is in the region of 10:1.
+For previous versions, this figure was more like 100:1. You can use the
+<code>-vvvv</code> option to monitor progress in great detail, if you want.
+
+ <p>Decompression speed is unaffected by these phenomena.
+
+ <p><code>bzip2</code> usually allocates several megabytes of memory to operate
+in, and then charges all over it in a fairly random fashion. This means
+that performance, both for compressing and decompressing, is largely
+determined by the speed at which your machine can service cache misses.
+Because of this, small changes to the code to reduce the miss rate have
+been observed to give disproportionately large performance improvements.
+I imagine <code>bzip2</code> will perform best on machines with very large
+caches.
+
+<h5 class="unnumberedsubsubsec">CAVEATS</h5>
+
+ <p>I/O error messages are not as helpful as they could be. <code>bzip2</code>
+tries hard to detect I/O errors and exit cleanly, but the details of
+what the problem is sometimes seem rather misleading.
+
+ <p>This manual page pertains to version 1.0.2 of <code>bzip2</code>. Compressed
+data created by this version is entirely forwards and backwards
+compatible with the previous public releases, versions 0.1pl2, 0.9.0,
+0.9.5, 1.0.0 and 1.0.1, but with the following exception: 0.9.0 and
+above can correctly decompress multiple concatenated compressed files.
+0.1pl2 cannot do this; it will stop after decompressing just the first
+file in the stream.
+
+ <p><code>bzip2recover</code> versions prior to this one, 1.0.2, used 32-bit
+integers to represent bit positions in compressed files, so it could not
+handle compressed files more than 512 megabytes long. Version 1.0.2 and
+above uses 64-bit ints on some platforms which support them (GNU
+supported targets, and Windows). To establish whether or not
+<code>bzip2recover</code> was built with such a limitation, run it without
+arguments. In any event you can build yourself an unlimited version if
+you can recompile it with <code>MaybeUInt64</code> set to be an unsigned
+64-bit integer.
+
+<h5 class="unnumberedsubsubsec">AUTHOR</h5>
+
+ <p>Julian Seward, <code>jseward@acm.org</code>.
+
+ <p><code>http://sources.redhat.com/bzip2</code>
+
+ <p>The ideas embodied in <code>bzip2</code> are due to (at least) the following
+people: Michael Burrows and David Wheeler (for the block sorting
+transformation), David Wheeler (again, for the Huffman coder), Peter
+Fenwick (for the structured coding model in the original <code>bzip</code>,
+and many refinements), and Alistair Moffat, Radford Neal and Ian Witten
+(for the arithmetic coder in the original <code>bzip</code>). I am much
+indebted for their help, support and advice. See the manual in the
+source distribution for pointers to sources of documentation. Christian
+von Roques encouraged me to look for faster sorting algorithms, so as to
+speed up compression. Bela Lubkin encouraged me to improve the
+worst-case compression performance. The <code>bz*</code> scripts are derived
+from those of GNU <code>gzip</code>. Many people sent patches, helped with
+portability problems, lent machines, gave advice and were generally
+helpful.
+
+ </blockquote>
+
+<h2 class="chapter">3 Programming with <code>libbzip2</code></h2>
+
+<p>This chapter describes the programming interface to <code>libbzip2</code>.
+
+ <p>For general background information, particularly about memory
+use and performance aspects, you'd be well advised to read Chapter 2
+as well.
+
+<h3 class="section">3.1 Top-level structure</h3>
+
+<p><code>libbzip2</code> is a flexible library for compressing and decompressing
+data in the <code>bzip2</code> data format. Although packaged as a single
+entity, it helps to regard the library as three separate parts: the low
+level interface, and the high level interface, and some utility
+functions.
+
+ <p>The structure of <code>libbzip2</code>'s interfaces is similar to
+that of Jean-loup Gailly's and Mark Adler's excellent <code>zlib</code>
+library.
+
+ <p>All externally visible symbols have names beginning <code>BZ2_</code>.
+This is new in version 1.0. The intention is to minimise pollution
+of the namespaces of library clients.
+
+<h4 class="subsection">3.1.1 Low-level summary</h4>
+
+<p>This interface provides services for compressing and decompressing
+data in memory. There's no provision for dealing with files, streams
+or any other I/O mechanisms, just straight memory-to-memory work.
+In fact, this part of the library can be compiled without inclusion
+of <code>stdio.h</code>, which may be helpful for embedded applications.
+
+ <p>The low-level part of the library has no global variables and
+is therefore thread-safe.
+
+ <p>Six routines make up the low level interface:
+<code>BZ2_bzCompressInit</code>, <code>BZ2_bzCompress</code>, and <br> <code>BZ2_bzCompressEnd</code>
+for compression,
+and a corresponding trio <code>BZ2_bzDecompressInit</code>, <br> <code>BZ2_bzDecompress</code>
+and <code>BZ2_bzDecompressEnd</code> for decompression.
+The <code>*Init</code> functions allocate
+memory for compression/decompression and do other
+initialisations, whilst the <code>*End</code> functions close down operations
+and release memory.
+
+ <p>The real work is done by <code>BZ2_bzCompress</code> and <code>BZ2_bzDecompress</code>.
+These compress and decompress data from a user-supplied input buffer
+to a user-supplied output buffer. These buffers can be any size;
+arbitrary quantities of data are handled by making repeated calls
+to these functions. This is a flexible mechanism allowing a
+consumer-pull style of activity, or producer-push, or a mixture of
+both.
+
+<h4 class="subsection">3.1.2 High-level summary</h4>
+
+<p>This interface provides some handy wrappers around the low-level
+interface to facilitate reading and writing <code>bzip2</code> format
+files (<code>.bz2</code> files). The routines provide hooks to facilitate
+reading files in which the <code>bzip2</code> data stream is embedded
+within some larger-scale file structure, or where there are
+multiple <code>bzip2</code> data streams concatenated end-to-end.
+
+ <p>For reading files, <code>BZ2_bzReadOpen</code>, <code>BZ2_bzRead</code>,
+<code>BZ2_bzReadClose</code> and <br> <code>BZ2_bzReadGetUnused</code> are supplied. For
+writing files, <code>BZ2_bzWriteOpen</code>, <code>BZ2_bzWrite</code> and
+<code>BZ2_bzWriteFinish</code> are available.
+
+ <p>As with the low-level library, no global variables are used
+so the library is per se thread-safe. However, if I/O errors
+occur whilst reading or writing the underlying compressed files,
+you may have to consult <code>errno</code> to determine the cause of
+the error. In that case, you'd need a C library which correctly
+supports <code>errno</code> in a multithreaded environment.
+
+ <p>To make the library a little simpler and more portable,
+<code>BZ2_bzReadOpen</code> and <code>BZ2_bzWriteOpen</code> require you to pass them file
+handles (<code>FILE*</code>s) which have previously been opened for reading or
+writing respectively. That avoids portability problems associated with
+file operations and file attributes, whilst not being much of an
+imposition on the programmer.
+
+<h4 class="subsection">3.1.3 Utility functions summary</h4>
+
+<p>For very simple needs, <code>BZ2_bzBuffToBuffCompress</code> and
+<code>BZ2_bzBuffToBuffDecompress</code> are provided. These compress
+data in memory from one buffer to another buffer in a single
+function call. You should assess whether these functions
+fulfill your memory-to-memory compression/decompression
+requirements before investing effort in understanding the more
+general but more complex low-level interface.
+
+ <p>Yoshioka Tsuneo (<code>QWF00133@niftyserve.or.jp</code> /
+<code>tsuneo-y@is.aist-nara.ac.jp</code>) has contributed some functions to
+give better <code>zlib</code> compatibility. These functions are
+<code>BZ2_bzopen</code>, <code>BZ2_bzread</code>, <code>BZ2_bzwrite</code>, <code>BZ2_bzflush</code>,
+<code>BZ2_bzclose</code>,
+<code>BZ2_bzerror</code> and <code>BZ2_bzlibVersion</code>. You may find these functions
+more convenient for simple file reading and writing, than those in the
+high-level interface. These functions are not (yet) officially part of
+the library, and are minimally documented here. If they break, you
+get to keep all the pieces. I hope to document them properly when time
+permits.
+
+ <p>Yoshioka also contributed modifications to allow the library to be
+built as a Windows DLL.
+
+<h3 class="section">3.2 Error handling</h3>
+
+<p>The library is designed to recover cleanly in all situations, including
+the worst-case situation of decompressing random data. I'm not
+100% sure that it can always do this, so you might want to add
+a signal handler to catch segmentation violations during decompression
+if you are feeling especially paranoid. I would be interested in
+hearing more about the robustness of the library to corrupted
+compressed data.
+
+ <p>Version 1.0 is much more robust in this respect than
+0.9.0 or 0.9.5. Investigations with Checker (a tool for
+detecting problems with memory management, similar to Purify)
+indicate that, at least for the few files I tested, all single-bit
+errors in the decompressed data are caught properly, with no
+segmentation faults, no reads of uninitialised data and no
+out of range reads or writes. So it's certainly much improved,
+although I wouldn't claim it to be totally bombproof.
+
+ <p>The file <code>bzlib.h</code> contains all definitions needed to use
+the library. In particular, you should definitely not include
+<code>bzlib_private.h</code>.
+
+ <p>In <code>bzlib.h</code>, the various return values are defined. The following
+list is not intended as an exhaustive description of the circumstances
+in which a given value may be returned &ndash; those descriptions are given
+later. Rather, it is intended to convey the rough meaning of each
+return value. The first five actions are normal and not intended to
+denote an error situation.
+ <dl>
+<dt><code>BZ_OK</code><dd>The requested action was completed successfully.
+<br><dt><code>BZ_RUN_OK</code><dt><code>BZ_FLUSH_OK</code><dt><code>BZ_FINISH_OK</code><dd>In <code>BZ2_bzCompress</code>, the requested flush/finish/nothing-special action
+was completed successfully.
+<br><dt><code>BZ_STREAM_END</code><dd>Compression of data was completed, or the logical stream end was
+detected during decompression.
+</dl>
+
+ <p>The following return values indicate an error of some kind.
+ <dl>
+<dt><code>BZ_CONFIG_ERROR</code><dd>Indicates that the library has been improperly compiled on your
+platform &ndash; a major configuration error. Specifically, it means
+that <code>sizeof(char)</code>, <code>sizeof(short)</code> and <code>sizeof(int)</code>
+are not 1, 2 and 4 respectively, as they should be. Note that the
+library should still work properly on 64-bit platforms which follow
+the LP64 programming model &ndash; that is, where <code>sizeof(long)</code>
+and <code>sizeof(void*)</code> are 8. Under LP64, <code>sizeof(int)</code> is
+still 4, so <code>libbzip2</code>, which doesn't use the <code>long</code> type,
+is OK.
+<br><dt><code>BZ_SEQUENCE_ERROR</code><dd>When using the library, it is important to call the functions in the
+correct sequence and with data structures (buffers etc) in the correct
+states. <code>libbzip2</code> checks as much as it can to ensure this is
+happening, and returns <code>BZ_SEQUENCE_ERROR</code> if not. Code which
+complies precisely with the function semantics, as detailed below,
+should never receive this value; such an event denotes buggy code
+which you should investigate.
+<br><dt><code>BZ_PARAM_ERROR</code><dd>Returned when a parameter to a function call is out of range
+or otherwise manifestly incorrect. As with <code>BZ_SEQUENCE_ERROR</code>,
+this denotes a bug in the client code. The distinction between
+<code>BZ_PARAM_ERROR</code> and <code>BZ_SEQUENCE_ERROR</code> is a bit hazy, but still worth
+making.
+<br><dt><code>BZ_MEM_ERROR</code><dd>Returned when a request to allocate memory failed. Note that the
+quantity of memory needed to decompress a stream cannot be determined
+until the stream's header has been read. So <code>BZ2_bzDecompress</code> and
+<code>BZ2_bzRead</code> may return <code>BZ_MEM_ERROR</code> even though some of
+the compressed data has been read. The same is not true for
+compression; once <code>BZ2_bzCompressInit</code> or <code>BZ2_bzWriteOpen</code> have
+successfully completed, <code>BZ_MEM_ERROR</code> cannot occur.
+<br><dt><code>BZ_DATA_ERROR</code><dd>Returned when a data integrity error is detected during decompression.
+Most importantly, this means when stored and computed CRCs for the
+data do not match. This value is also returned upon detection of any
+other anomaly in the compressed data.
+<br><dt><code>BZ_DATA_ERROR_MAGIC</code><dd>As a special case of <code>BZ_DATA_ERROR</code>, it is sometimes useful to
+know when the compressed stream does not start with the correct
+magic bytes (<code>'B' 'Z' 'h'</code>).
+<br><dt><code>BZ_IO_ERROR</code><dd>Returned by <code>BZ2_bzRead</code> and <code>BZ2_bzWrite</code> when there is an error
+reading or writing in the compressed file, and by <code>BZ2_bzReadOpen</code>
+and <code>BZ2_bzWriteOpen</code> for attempts to use a file for which the
+error indicator (viz, <code>ferror(f)</code>) is set.
+On receipt of <code>BZ_IO_ERROR</code>, the caller should consult
+<code>errno</code> and/or <code>perror</code> to acquire operating-system
+specific information about the problem.
+<br><dt><code>BZ_UNEXPECTED_EOF</code><dd>Returned by <code>BZ2_bzRead</code> when the compressed file finishes
+before the logical end of stream is detected.
+<br><dt><code>BZ_OUTBUFF_FULL</code><dd>Returned by <code>BZ2_bzBuffToBuffCompress</code> and
+<code>BZ2_bzBuffToBuffDecompress</code> to indicate that the output data
+will not fit into the output buffer provided.
+</dl>
+
+<h3 class="section">3.3 Low-level interface</h3>
+
+<h4 class="subsection">3.3.1 <code>BZ2_bzCompressInit</code></h4>
+
+<pre class="example"> typedef
+ struct {
+ char *next_in;
+ unsigned int avail_in;
+ unsigned int total_in_lo32;
+ unsigned int total_in_hi32;
+
+ char *next_out;
+ unsigned int avail_out;
+ unsigned int total_out_lo32;
+ unsigned int total_out_hi32;
+
+ void *state;
+
+ void *(*bzalloc)(void *,int,int);
+ void (*bzfree)(void *,void *);
+ void *opaque;
+ }
+ bz_stream;
+
+ int BZ2_bzCompressInit ( bz_stream *strm,
+ int blockSize100k,
+ int verbosity,
+ int workFactor );
+
+</pre>
+ <p>Prepares for compression. The <code>bz_stream</code> structure
+holds all data pertaining to the compression activity.
+A <code>bz_stream</code> structure should be allocated and initialised
+prior to the call.
+The fields of <code>bz_stream</code>
+comprise the entirety of the user-visible data. <code>state</code>
+is a pointer to the private data structures required for compression.
+
+ <p>Custom memory allocators are supported, via fields <code>bzalloc</code>,
+<code>bzfree</code>,
+and <code>opaque</code>. The value
+<code>opaque</code> is passed to as the first argument to
+all calls to <code>bzalloc</code> and <code>bzfree</code>, but is
+otherwise ignored by the library.
+The call <code>bzalloc ( opaque, n, m )</code> is expected to return a
+pointer <code>p</code> to
+<code>n * m</code> bytes of memory, and <code>bzfree ( opaque, p )</code>
+should free
+that memory.
+
+ <p>If you don't want to use a custom memory allocator, set <code>bzalloc</code>,
+<code>bzfree</code> and
+<code>opaque</code> to <code>NULL</code>,
+and the library will then use the standard <code>malloc</code>/<code>free</code>
+routines.
+
+ <p>Before calling <code>BZ2_bzCompressInit</code>, fields <code>bzalloc</code>,
+<code>bzfree</code> and <code>opaque</code> should
+be filled appropriately, as just described. Upon return, the internal
+state will have been allocated and initialised, and <code>total_in_lo32</code>,
+<code>total_in_hi32</code>, <code>total_out_lo32</code> and
+<code>total_out_hi32</code> will have been set to zero.
+These four fields are used by the library
+to inform the caller of the total amount of data passed into and out of
+the library, respectively. You should not try to change them.
+As of version 1.0, 64-bit counts are maintained, even on 32-bit
+platforms, using the <code>_hi32</code> fields to store the upper 32 bits
+of the count. So, for example, the total amount of data in
+is <code>(total_in_hi32 &lt;&lt; 32) + total_in_lo32</code>.
+
+ <p>Parameter <code>blockSize100k</code> specifies the block size to be used for
+compression. It should be a value between 1 and 9 inclusive, and the
+actual block size used is 100000 x this figure. 9 gives the best
+compression but takes most memory.
+
+ <p>Parameter <code>verbosity</code> should be set to a number between 0 and 4
+inclusive. 0 is silent, and greater numbers give increasingly verbose
+monitoring/debugging output. If the library has been compiled with
+<code>-DBZ_NO_STDIO</code>, no such output will appear for any verbosity
+setting.
+
+ <p>Parameter <code>workFactor</code> controls how the compression phase behaves
+when presented with worst case, highly repetitive, input data. If
+compression runs into difficulties caused by repetitive data, the
+library switches from the standard sorting algorithm to a fallback
+algorithm. The fallback is slower than the standard algorithm by
+perhaps a factor of three, but always behaves reasonably, no matter how
+bad the input.
+
+ <p>Lower values of <code>workFactor</code> reduce the amount of effort the
+standard algorithm will expend before resorting to the fallback. You
+should set this parameter carefully; too low, and many inputs will be
+handled by the fallback algorithm and so compress rather slowly, too
+high, and your average-to-worst case compression times can become very
+large. The default value of 30 gives reasonable behaviour over a wide
+range of circumstances.
+
+ <p>Allowable values range from 0 to 250 inclusive. 0 is a special case,
+equivalent to using the default value of 30.
+
+ <p>Note that the compressed output generated is the same regardless of
+whether or not the fallback algorithm is used.
+
+ <p>Be aware also that this parameter may disappear entirely in future
+versions of the library. In principle it should be possible to devise a
+good way to automatically choose which algorithm to use. Such a
+mechanism would render the parameter obsolete.
+
+ <p>Possible return values:
+<pre class="display"> <code>BZ_CONFIG_ERROR</code>
+ if the library has been mis-compiled
+ <code>BZ_PARAM_ERROR</code>
+ if <code>strm</code> is <code>NULL</code>
+ or <code>blockSize</code> &lt; 1 or <code>blockSize</code> &gt; 9
+ or <code>verbosity</code> &lt; 0 or <code>verbosity</code> &gt; 4
+ or <code>workFactor</code> &lt; 0 or <code>workFactor</code> &gt; 250
+ <code>BZ_MEM_ERROR</code>
+ if not enough memory is available
+ <code>BZ_OK</code>
+ otherwise
+</pre>
+ <p>Allowable next actions:
+<pre class="display"> <code>BZ2_bzCompress</code>
+ if <code>BZ_OK</code> is returned
+ no specific action needed in case of error
+</pre>
+ <h4 class="subsection">3.3.2 <code>BZ2_bzCompress</code></h4>
+
+<pre class="example"> int BZ2_bzCompress ( bz_stream *strm, int action );
+</pre>
+ <p>Provides more input and/or output buffer space for the library. The
+caller maintains input and output buffers, and calls <code>BZ2_bzCompress</code> to
+transfer data between them.
+
+ <p>Before each call to <code>BZ2_bzCompress</code>, <code>next_in</code> should point at
+the data to be compressed, and <code>avail_in</code> should indicate how many
+bytes the library may read. <code>BZ2_bzCompress</code> updates <code>next_in</code>,
+<code>avail_in</code> and <code>total_in</code> to reflect the number of bytes it
+has read.
+
+ <p>Similarly, <code>next_out</code> should point to a buffer in which the
+compressed data is to be placed, with <code>avail_out</code> indicating how
+much output space is available. <code>BZ2_bzCompress</code> updates
+<code>next_out</code>, <code>avail_out</code> and <code>total_out</code> to reflect the
+number of bytes output.
+
+ <p>You may provide and remove as little or as much data as you like on each
+call of <code>BZ2_bzCompress</code>. In the limit, it is acceptable to supply and
+remove data one byte at a time, although this would be terribly
+inefficient. You should always ensure that at least one byte of output
+space is available at each call.
+
+ <p>A second purpose of <code>BZ2_bzCompress</code> is to request a change of mode of the
+compressed stream.
+
+ <p>Conceptually, a compressed stream can be in one of four states: IDLE,
+RUNNING, FLUSHING and FINISHING. Before initialisation
+(<code>BZ2_bzCompressInit</code>) and after termination (<code>BZ2_bzCompressEnd</code>), a
+stream is regarded as IDLE.
+
+ <p>Upon initialisation (<code>BZ2_bzCompressInit</code>), the stream is placed in the
+RUNNING state. Subsequent calls to <code>BZ2_bzCompress</code> should pass
+<code>BZ_RUN</code> as the requested action; other actions are illegal and
+will result in <code>BZ_SEQUENCE_ERROR</code>.
+
+ <p>At some point, the calling program will have provided all the input data
+it wants to. It will then want to finish up &ndash; in effect, asking the
+library to process any data it might have buffered internally. In this
+state, <code>BZ2_bzCompress</code> will no longer attempt to read data from
+<code>next_in</code>, but it will want to write data to <code>next_out</code>.
+Because the output buffer supplied by the user can be arbitrarily small,
+the finishing-up operation cannot necessarily be done with a single call
+of <code>BZ2_bzCompress</code>.
+
+ <p>Instead, the calling program passes <code>BZ_FINISH</code> as an action to
+<code>BZ2_bzCompress</code>. This changes the stream's state to FINISHING. Any
+remaining input (ie, <code>next_in[0 .. avail_in-1]</code>) is compressed and
+transferred to the output buffer. To do this, <code>BZ2_bzCompress</code> must be
+called repeatedly until all the output has been consumed. At that
+point, <code>BZ2_bzCompress</code> returns <code>BZ_STREAM_END</code>, and the stream's
+state is set back to IDLE. <code>BZ2_bzCompressEnd</code> should then be
+called.
+
+ <p>Just to make sure the calling program does not cheat, the library makes
+a note of <code>avail_in</code> at the time of the first call to
+<code>BZ2_bzCompress</code> which has <code>BZ_FINISH</code> as an action (ie, at the
+time the program has announced its intention to not supply any more
+input). By comparing this value with that of <code>avail_in</code> over
+subsequent calls to <code>BZ2_bzCompress</code>, the library can detect any
+attempts to slip in more data to compress. Any calls for which this is
+detected will return <code>BZ_SEQUENCE_ERROR</code>. This indicates a
+programming mistake which should be corrected.
+
+ <p>Instead of asking to finish, the calling program may ask
+<code>BZ2_bzCompress</code> to take all the remaining input, compress it and
+terminate the current (Burrows-Wheeler) compression block. This could
+be useful for error control purposes. The mechanism is analogous to
+that for finishing: call <code>BZ2_bzCompress</code> with an action of
+<code>BZ_FLUSH</code>, remove output data, and persist with the
+<code>BZ_FLUSH</code> action until the value <code>BZ_RUN</code> is returned. As
+with finishing, <code>BZ2_bzCompress</code> detects any attempt to provide more
+input data once the flush has begun.
+
+ <p>Once the flush is complete, the stream returns to the normal RUNNING
+state.
+
+ <p>This all sounds pretty complex, but isn't really. Here's a table
+which shows which actions are allowable in each state, what action
+will be taken, what the next state is, and what the non-error return
+values are. Note that you can't explicitly ask what state the
+stream is in, but nor do you need to &ndash; it can be inferred from the
+values returned by <code>BZ2_bzCompress</code>.
+<pre class="display"> IDLE/<code>any</code>
+ Illegal. IDLE state only exists after <code>BZ2_bzCompressEnd</code> or
+ before <code>BZ2_bzCompressInit</code>.
+ Return value = <code>BZ_SEQUENCE_ERROR</code>
+
+ RUNNING/<code>BZ_RUN</code>
+ Compress from <code>next_in</code> to <code>next_out</code> as much as possible.
+ Next state = RUNNING
+ Return value = <code>BZ_RUN_OK</code>
+
+ RUNNING/<code>BZ_FLUSH</code>
+ Remember current value of <code>next_in</code>. Compress from <code>next_in</code>
+ to <code>next_out</code> as much as possible, but do not accept any more input.
+ Next state = FLUSHING
+ Return value = <code>BZ_FLUSH_OK</code>
+
+ RUNNING/<code>BZ_FINISH</code>
+ Remember current value of <code>next_in</code>. Compress from <code>next_in</code>
+ to <code>next_out</code> as much as possible, but do not accept any more input.
+ Next state = FINISHING
+ Return value = <code>BZ_FINISH_OK</code>
+
+ FLUSHING/<code>BZ_FLUSH</code>
+ Compress from <code>next_in</code> to <code>next_out</code> as much as possible,
+ but do not accept any more input.
+ If all the existing input has been used up and all compressed
+ output has been removed
+ Next state = RUNNING; Return value = <code>BZ_RUN_OK</code>
+ else
+ Next state = FLUSHING; Return value = <code>BZ_FLUSH_OK</code>
+
+ FLUSHING/other
+ Illegal.
+ Return value = <code>BZ_SEQUENCE_ERROR</code>
+
+ FINISHING/<code>BZ_FINISH</code>
+ Compress from <code>next_in</code> to <code>next_out</code> as much as possible,
+ but to not accept any more input.
+ If all the existing input has been used up and all compressed
+ output has been removed
+ Next state = IDLE; Return value = <code>BZ_STREAM_END</code>
+ else
+ Next state = FINISHING; Return value = <code>BZ_FINISHING</code>
+
+ FINISHING/other
+ Illegal.
+ Return value = <code>BZ_SEQUENCE_ERROR</code>
+</pre>
+ <p>That still looks complicated? Well, fair enough. The usual sequence
+of calls for compressing a load of data is:
+ <ul>
+<li>Get started with <code>BZ2_bzCompressInit</code>.
+<li>Shovel data in and shlurp out its compressed form using zero or more
+calls of <code>BZ2_bzCompress</code> with action = <code>BZ_RUN</code>.
+<li>Finish up.
+Repeatedly call <code>BZ2_bzCompress</code> with action = <code>BZ_FINISH</code>,
+copying out the compressed output, until <code>BZ_STREAM_END</code> is returned.
+<li>Close up and go home. Call <code>BZ2_bzCompressEnd</code>.
+</ul>
+ If the data you want to compress fits into your input buffer all
+at once, you can skip the calls of <code>BZ2_bzCompress ( ..., BZ_RUN )</code> and
+just do the <code>BZ2_bzCompress ( ..., BZ_FINISH )</code> calls.
+
+ <p>All required memory is allocated by <code>BZ2_bzCompressInit</code>. The
+compression library can accept any data at all (obviously). So you
+shouldn't get any error return values from the <code>BZ2_bzCompress</code> calls.
+If you do, they will be <code>BZ_SEQUENCE_ERROR</code>, and indicate a bug in
+your programming.
+
+ <p>Trivial other possible return values:
+<pre class="display"> <code>BZ_PARAM_ERROR</code>
+ if <code>strm</code> is <code>NULL</code>, or <code>strm-&gt;s</code> is <code>NULL</code>
+</pre>
+ <h4 class="subsection">3.3.3 <code>BZ2_bzCompressEnd</code></h4>
+
+<pre class="example"> int BZ2_bzCompressEnd ( bz_stream *strm );
+</pre>
+ <p>Releases all memory associated with a compression stream.
+
+ <p>Possible return values:
+<pre class="display"> <code>BZ_PARAM_ERROR</code> if <code>strm</code> is <code>NULL</code> or <code>strm-&gt;s</code> is <code>NULL</code>
+ <code>BZ_OK</code> otherwise
+</pre>
+ <h4 class="subsection">3.3.4 <code>BZ2_bzDecompressInit</code></h4>
+
+<pre class="example"> int BZ2_bzDecompressInit ( bz_stream *strm, int verbosity, int small );
+</pre>
+ <p>Prepares for decompression. As with <code>BZ2_bzCompressInit</code>, a
+<code>bz_stream</code> record should be allocated and initialised before the
+call. Fields <code>bzalloc</code>, <code>bzfree</code> and <code>opaque</code> should be
+set if a custom memory allocator is required, or made <code>NULL</code> for
+the normal <code>malloc</code>/<code>free</code> routines. Upon return, the internal
+state will have been initialised, and <code>total_in</code> and
+<code>total_out</code> will be zero.
+
+ <p>For the meaning of parameter <code>verbosity</code>, see <code>BZ2_bzCompressInit</code>.
+
+ <p>If <code>small</code> is nonzero, the library will use an alternative
+decompression algorithm which uses less memory but at the cost of
+decompressing more slowly (roughly speaking, half the speed, but the
+maximum memory requirement drops to around 2300k). See Chapter 2 for
+more information on memory management.
+
+ <p>Note that the amount of memory needed to decompress
+a stream cannot be determined until the stream's header has been read,
+so even if <code>BZ2_bzDecompressInit</code> succeeds, a subsequent
+<code>BZ2_bzDecompress</code> could fail with <code>BZ_MEM_ERROR</code>.
+
+ <p>Possible return values:
+<pre class="display"> <code>BZ_CONFIG_ERROR</code>
+ if the library has been mis-compiled
+ <code>BZ_PARAM_ERROR</code>
+ if <code>(small != 0 &amp;&amp; small != 1)</code>
+ or <code>(verbosity &lt; 0 || verbosity &gt; 4)</code>
+ <code>BZ_MEM_ERROR</code>
+ if insufficient memory is available
+</pre>
+ <p>Allowable next actions:
+<pre class="display"> <code>BZ2_bzDecompress</code>
+ if <code>BZ_OK</code> was returned
+ no specific action required in case of error
+</pre>
+ <h4 class="subsection">3.3.5 <code>BZ2_bzDecompress</code></h4>
+
+<pre class="example"> int BZ2_bzDecompress ( bz_stream *strm );
+</pre>
+ <p>Provides more input and/out output buffer space for the library. The
+caller maintains input and output buffers, and uses <code>BZ2_bzDecompress</code>
+to transfer data between them.
+
+ <p>Before each call to <code>BZ2_bzDecompress</code>, <code>next_in</code>
+should point at the compressed data,
+and <code>avail_in</code> should indicate how many bytes the library
+may read. <code>BZ2_bzDecompress</code> updates <code>next_in</code>, <code>avail_in</code>
+and <code>total_in</code>
+to reflect the number of bytes it has read.
+
+ <p>Similarly, <code>next_out</code> should point to a buffer in which the uncompressed
+output is to be placed, with <code>avail_out</code> indicating how much output space
+is available. <code>BZ2_bzCompress</code> updates <code>next_out</code>,
+<code>avail_out</code> and <code>total_out</code> to reflect
+the number of bytes output.
+
+ <p>You may provide and remove as little or as much data as you like on
+each call of <code>BZ2_bzDecompress</code>.
+In the limit, it is acceptable to
+supply and remove data one byte at a time, although this would be
+terribly inefficient. You should always ensure that at least one
+byte of output space is available at each call.
+
+ <p>Use of <code>BZ2_bzDecompress</code> is simpler than <code>BZ2_bzCompress</code>.
+
+ <p>You should provide input and remove output as described above, and
+repeatedly call <code>BZ2_bzDecompress</code> until <code>BZ_STREAM_END</code> is
+returned. Appearance of <code>BZ_STREAM_END</code> denotes that
+<code>BZ2_bzDecompress</code> has detected the logical end of the compressed
+stream. <code>BZ2_bzDecompress</code> will not produce <code>BZ_STREAM_END</code> until
+all output data has been placed into the output buffer, so once
+<code>BZ_STREAM_END</code> appears, you are guaranteed to have available all
+the decompressed output, and <code>BZ2_bzDecompressEnd</code> can safely be
+called.
+
+ <p>If case of an error return value, you should call <code>BZ2_bzDecompressEnd</code>
+to clean up and release memory.
+
+ <p>Possible return values:
+<pre class="display"> <code>BZ_PARAM_ERROR</code>
+ if <code>strm</code> is <code>NULL</code> or <code>strm-&gt;s</code> is <code>NULL</code>
+ or <code>strm-&gt;avail_out &lt; 1</code>
+ <code>BZ_DATA_ERROR</code>
+ if a data integrity error is detected in the compressed stream
+ <code>BZ_DATA_ERROR_MAGIC</code>
+ if the compressed stream doesn't begin with the right magic bytes
+ <code>BZ_MEM_ERROR</code>
+ if there wasn't enough memory available
+ <code>BZ_STREAM_END</code>
+ if the logical end of the data stream was detected and all
+ output in has been consumed, eg <code>s-&gt;avail_out &gt; 0</code>
+ <code>BZ_OK</code>
+ otherwise
+</pre>
+ <p>Allowable next actions:
+<pre class="display"> <code>BZ2_bzDecompress</code>
+ if <code>BZ_OK</code> was returned
+ <code>BZ2_bzDecompressEnd</code>
+ otherwise
+</pre>
+ <h4 class="subsection">3.3.6 <code>BZ2_bzDecompressEnd</code></h4>
+
+<pre class="example"> int BZ2_bzDecompressEnd ( bz_stream *strm );
+</pre>
+ <p>Releases all memory associated with a decompression stream.
+
+ <p>Possible return values:
+<pre class="display"> <code>BZ_PARAM_ERROR</code>
+ if <code>strm</code> is <code>NULL</code> or <code>strm-&gt;s</code> is <code>NULL</code>
+ <code>BZ_OK</code>
+ otherwise
+</pre>
+ <p>Allowable next actions:
+<pre class="display"> None.
+</pre>
+ <h3 class="section">3.4 High-level interface</h3>
+
+<p>This interface provides functions for reading and writing
+<code>bzip2</code> format files. First, some general points.
+
+ <ul>
+<li>All of the functions take an <code>int*</code> first argument,
+ <code>bzerror</code>.
+ After each call, <code>bzerror</code> should be consulted first to determine
+ the outcome of the call. If <code>bzerror</code> is <code>BZ_OK</code>,
+ the call completed
+ successfully, and only then should the return value of the function
+ (if any) be consulted. If <code>bzerror</code> is <code>BZ_IO_ERROR</code>,
+ there was an error
+ reading/writing the underlying compressed file, and you should
+ then consult <code>errno</code>/<code>perror</code> to determine the
+ cause of the difficulty.
+ <code>bzerror</code> may also be set to various other values; precise details are
+ given on a per-function basis below.
+<li>If <code>bzerror</code> indicates an error
+ (ie, anything except <code>BZ_OK</code> and <code>BZ_STREAM_END</code>),
+ you should immediately call <code>BZ2_bzReadClose</code> (or <code>BZ2_bzWriteClose</code>,
+ depending on whether you are attempting to read or to write)
+ to free up all resources associated
+ with the stream. Once an error has been indicated, behaviour of all calls
+ except <code>BZ2_bzReadClose</code> (<code>BZ2_bzWriteClose</code>) is undefined.
+ The implication is that (1) <code>bzerror</code> should
+ be checked after each call, and (2) if <code>bzerror</code> indicates an error,
+ <code>BZ2_bzReadClose</code> (<code>BZ2_bzWriteClose</code>) should then be called to clean up.
+<li>The <code>FILE*</code> arguments passed to
+ <code>BZ2_bzReadOpen</code>/<code>BZ2_bzWriteOpen</code>
+ should be set to binary mode.
+ Most Unix systems will do this by default, but other platforms,
+ including Windows and Mac, will not. If you omit this, you may
+ encounter problems when moving code to new platforms.
+<li>Memory allocation requests are handled by
+ <code>malloc</code>/<code>free</code>.
+ At present
+ there is no facility for user-defined memory allocators in the file I/O
+ functions (could easily be added, though).
+</ul>
+
+<h4 class="subsection">3.4.1 <code>BZ2_bzReadOpen</code></h4>
+
+<pre class="example"> typedef void BZFILE;
+
+ BZFILE *BZ2_bzReadOpen ( int *bzerror, FILE *f,
+ int small, int verbosity,
+ void *unused, int nUnused );
+</pre>
+ <p>Prepare to read compressed data from file handle <code>f</code>. <code>f</code>
+should refer to a file which has been opened for reading, and for which
+the error indicator (<code>ferror(f)</code>)is not set. If <code>small</code> is 1,
+the library will try to decompress using less memory, at the expense of
+speed.
+
+ <p>For reasons explained below, <code>BZ2_bzRead</code> will decompress the
+<code>nUnused</code> bytes starting at <code>unused</code>, before starting to read
+from the file <code>f</code>. At most <code>BZ_MAX_UNUSED</code> bytes may be
+supplied like this. If this facility is not required, you should pass
+<code>NULL</code> and <code>0</code> for <code>unused</code> and n<code>Unused</code>
+respectively.
+
+ <p>For the meaning of parameters <code>small</code> and <code>verbosity</code>,
+see <code>BZ2_bzDecompressInit</code>.
+
+ <p>The amount of memory needed to decompress a file cannot be determined
+until the file's header has been read. So it is possible that
+<code>BZ2_bzReadOpen</code> returns <code>BZ_OK</code> but a subsequent call of
+<code>BZ2_bzRead</code> will return <code>BZ_MEM_ERROR</code>.
+
+ <p>Possible assignments to <code>bzerror</code>:
+<pre class="display"> <code>BZ_CONFIG_ERROR</code>
+ if the library has been mis-compiled
+ <code>BZ_PARAM_ERROR</code>
+ if <code>f</code> is <code>NULL</code>
+ or <code>small</code> is neither <code>0</code> nor <code>1</code>
+ or <code>(unused == NULL &amp;&amp; nUnused != 0)</code>
+ or <code>(unused != NULL &amp;&amp; !(0 &lt;= nUnused &lt;= BZ_MAX_UNUSED))</code>
+ <code>BZ_IO_ERROR</code>
+ if <code>ferror(f)</code> is nonzero
+ <code>BZ_MEM_ERROR</code>
+ if insufficient memory is available
+ <code>BZ_OK</code>
+ otherwise.
+</pre>
+ <p>Possible return values:
+<pre class="display"> Pointer to an abstract <code>BZFILE</code>
+ if <code>bzerror</code> is <code>BZ_OK</code>
+ <code>NULL</code>
+ otherwise
+</pre>
+ <p>Allowable next actions:
+<pre class="display"> <code>BZ2_bzRead</code>
+ if <code>bzerror</code> is <code>BZ_OK</code>
+ <code>BZ2_bzClose</code>
+ otherwise
+</pre>
+ <h4 class="subsection">3.4.2 <code>BZ2_bzRead</code></h4>
+
+<pre class="example"> int BZ2_bzRead ( int *bzerror, BZFILE *b, void *buf, int len );
+</pre>
+ <p>Reads up to <code>len</code> (uncompressed) bytes from the compressed file
+<code>b</code> into
+the buffer <code>buf</code>. If the read was successful,
+<code>bzerror</code> is set to <code>BZ_OK</code>
+and the number of bytes read is returned. If the logical end-of-stream
+was detected, <code>bzerror</code> will be set to <code>BZ_STREAM_END</code>,
+and the number
+of bytes read is returned. All other <code>bzerror</code> values denote an error.
+
+ <p><code>BZ2_bzRead</code> will supply <code>len</code> bytes,
+unless the logical stream end is detected
+or an error occurs. Because of this, it is possible to detect the
+stream end by observing when the number of bytes returned is
+less than the number
+requested. Nevertheless, this is regarded as inadvisable; you should
+instead check <code>bzerror</code> after every call and watch out for
+<code>BZ_STREAM_END</code>.
+
+ <p>Internally, <code>BZ2_bzRead</code> copies data from the compressed file in chunks
+of size <code>BZ_MAX_UNUSED</code> bytes
+before decompressing it. If the file contains more bytes than strictly
+needed to reach the logical end-of-stream, <code>BZ2_bzRead</code> will almost certainly
+read some of the trailing data before signalling <code>BZ_SEQUENCE_END</code>.
+To collect the read but unused data once <code>BZ_SEQUENCE_END</code> has
+appeared, call <code>BZ2_bzReadGetUnused</code> immediately before <code>BZ2_bzReadClose</code>.
+
+ <p>Possible assignments to <code>bzerror</code>:
+<pre class="display"> <code>BZ_PARAM_ERROR</code>
+ if <code>b</code> is <code>NULL</code> or <code>buf</code> is <code>NULL</code> or <code>len &lt; 0</code>
+ <code>BZ_SEQUENCE_ERROR</code>
+ if <code>b</code> was opened with <code>BZ2_bzWriteOpen</code>
+ <code>BZ_IO_ERROR</code>
+ if there is an error reading from the compressed file
+ <code>BZ_UNEXPECTED_EOF</code>
+ if the compressed file ended before the logical end-of-stream was detected
+ <code>BZ_DATA_ERROR</code>
+ if a data integrity error was detected in the compressed stream
+ <code>BZ_DATA_ERROR_MAGIC</code>
+ if the stream does not begin with the requisite header bytes (ie, is not
+ a <code>bzip2</code> data file). This is really a special case of <code>BZ_DATA_ERROR</code>.
+ <code>BZ_MEM_ERROR</code>
+ if insufficient memory was available
+ <code>BZ_STREAM_END</code>
+ if the logical end of stream was detected.
+ <code>BZ_OK</code>
+ otherwise.
+</pre>
+ <p>Possible return values:
+<pre class="display"> number of bytes read
+ if <code>bzerror</code> is <code>BZ_OK</code> or <code>BZ_STREAM_END</code>
+ undefined
+ otherwise
+</pre>
+ <p>Allowable next actions:
+<pre class="display"> collect data from <code>buf</code>, then <code>BZ2_bzRead</code> or <code>BZ2_bzReadClose</code>
+ if <code>bzerror</code> is <code>BZ_OK</code>
+ collect data from <code>buf</code>, then <code>BZ2_bzReadClose</code> or <code>BZ2_bzReadGetUnused</code>
+ if <code>bzerror</code> is <code>BZ_SEQUENCE_END</code>
+ <code>BZ2_bzReadClose</code>
+ otherwise
+</pre>
+ <h4 class="subsection">3.4.3 <code>BZ2_bzReadGetUnused</code></h4>
+
+<pre class="example"> void BZ2_bzReadGetUnused ( int* bzerror, BZFILE *b,
+ void** unused, int* nUnused );
+</pre>
+ <p>Returns data which was read from the compressed file but was not needed
+to get to the logical end-of-stream. <code>*unused</code> is set to the address
+of the data, and <code>*nUnused</code> to the number of bytes. <code>*nUnused</code> will
+be set to a value between <code>0</code> and <code>BZ_MAX_UNUSED</code> inclusive.
+
+ <p>This function may only be called once <code>BZ2_bzRead</code> has signalled
+<code>BZ_STREAM_END</code> but before <code>BZ2_bzReadClose</code>.
+
+ <p>Possible assignments to <code>bzerror</code>:
+<pre class="display"> <code>BZ_PARAM_ERROR</code>
+ if <code>b</code> is <code>NULL</code>
+ or <code>unused</code> is <code>NULL</code> or <code>nUnused</code> is <code>NULL</code>
+ <code>BZ_SEQUENCE_ERROR</code>
+ if <code>BZ_STREAM_END</code> has not been signalled
+ or if <code>b</code> was opened with <code>BZ2_bzWriteOpen</code>
+ <code>BZ_OK</code>
+ otherwise
+</pre>
+ <p>Allowable next actions:
+<pre class="display"> <code>BZ2_bzReadClose</code>
+</pre>
+ <h4 class="subsection">3.4.4 <code>BZ2_bzReadClose</code></h4>
+
+<pre class="example"> void BZ2_bzReadClose ( int *bzerror, BZFILE *b );
+</pre>
+ <p>Releases all memory pertaining to the compressed file <code>b</code>.
+<code>BZ2_bzReadClose</code> does not call <code>fclose</code> on the underlying file
+handle, so you should do that yourself if appropriate.
+<code>BZ2_bzReadClose</code> should be called to clean up after all error
+situations.
+
+ <p>Possible assignments to <code>bzerror</code>:
+<pre class="display"> <code>BZ_SEQUENCE_ERROR</code>
+ if <code>b</code> was opened with <code>BZ2_bzOpenWrite</code>
+ <code>BZ_OK</code>
+ otherwise
+</pre>
+ <p>Allowable next actions:
+<pre class="display"> none
+</pre>
+ <h4 class="subsection">3.4.5 <code>BZ2_bzWriteOpen</code></h4>
+
+<pre class="example"> BZFILE *BZ2_bzWriteOpen ( int *bzerror, FILE *f,
+ int blockSize100k, int verbosity,
+ int workFactor );
+</pre>
+ <p>Prepare to write compressed data to file handle <code>f</code>.
+<code>f</code> should refer to
+a file which has been opened for writing, and for which the error
+indicator (<code>ferror(f)</code>)is not set.
+
+ <p>For the meaning of parameters <code>blockSize100k</code>,
+<code>verbosity</code> and <code>workFactor</code>, see
+<br> <code>BZ2_bzCompressInit</code>.
+
+ <p>All required memory is allocated at this stage, so if the call
+completes successfully, <code>BZ_MEM_ERROR</code> cannot be signalled by a
+subsequent call to <code>BZ2_bzWrite</code>.
+
+ <p>Possible assignments to <code>bzerror</code>:
+<pre class="display"> <code>BZ_CONFIG_ERROR</code>
+ if the library has been mis-compiled
+ <code>BZ_PARAM_ERROR</code>
+ if <code>f</code> is <code>NULL</code>
+ or <code>blockSize100k &lt; 1</code> or <code>blockSize100k &gt; 9</code>
+ <code>BZ_IO_ERROR</code>
+ if <code>ferror(f)</code> is nonzero
+ <code>BZ_MEM_ERROR</code>
+ if insufficient memory is available
+ <code>BZ_OK</code>
+ otherwise
+</pre>
+ <p>Possible return values:
+<pre class="display"> Pointer to an abstract <code>BZFILE</code>
+ if <code>bzerror</code> is <code>BZ_OK</code>
+ <code>NULL</code>
+ otherwise
+</pre>
+ <p>Allowable next actions:
+<pre class="display"> <code>BZ2_bzWrite</code>
+ if <code>bzerror</code> is <code>BZ_OK</code>
+ (you could go directly to <code>BZ2_bzWriteClose</code>, but this would be pretty pointless)
+ <code>BZ2_bzWriteClose</code>
+ otherwise
+</pre>
+ <h4 class="subsection">3.4.6 <code>BZ2_bzWrite</code></h4>
+
+<pre class="example"> void BZ2_bzWrite ( int *bzerror, BZFILE *b, void *buf, int len );
+</pre>
+ <p>Absorbs <code>len</code> bytes from the buffer <code>buf</code>, eventually to be
+compressed and written to the file.
+
+ <p>Possible assignments to <code>bzerror</code>:
+<pre class="display"> <code>BZ_PARAM_ERROR</code>
+ if <code>b</code> is <code>NULL</code> or <code>buf</code> is <code>NULL</code> or <code>len &lt; 0</code>
+ <code>BZ_SEQUENCE_ERROR</code>
+ if b was opened with <code>BZ2_bzReadOpen</code>
+ <code>BZ_IO_ERROR</code>
+ if there is an error writing the compressed file.
+ <code>BZ_OK</code>
+ otherwise
+</pre>
+ <h4 class="subsection">3.4.7 <code>BZ2_bzWriteClose</code></h4>
+
+<pre class="example"> void BZ2_bzWriteClose ( int *bzerror, BZFILE* f,
+ int abandon,
+ unsigned int* nbytes_in,
+ unsigned int* nbytes_out );
+
+ void BZ2_bzWriteClose64 ( int *bzerror, BZFILE* f,
+ int abandon,
+ unsigned int* nbytes_in_lo32,
+ unsigned int* nbytes_in_hi32,
+ unsigned int* nbytes_out_lo32,
+ unsigned int* nbytes_out_hi32 );
+</pre>
+ <p>Compresses and flushes to the compressed file all data so far supplied
+by <code>BZ2_bzWrite</code>. The logical end-of-stream markers are also written, so
+subsequent calls to <code>BZ2_bzWrite</code> are illegal. All memory associated
+with the compressed file <code>b</code> is released.
+<code>fflush</code> is called on the
+compressed file, but it is not <code>fclose</code>'d.
+
+ <p>If <code>BZ2_bzWriteClose</code> is called to clean up after an error, the only
+action is to release the memory. The library records the error codes
+issued by previous calls, so this situation will be detected
+automatically. There is no attempt to complete the compression
+operation, nor to <code>fflush</code> the compressed file. You can force this
+behaviour to happen even in the case of no error, by passing a nonzero
+value to <code>abandon</code>.
+
+ <p>If <code>nbytes_in</code> is non-null, <code>*nbytes_in</code> will be set to be the
+total volume of uncompressed data handled. Similarly, <code>nbytes_out</code>
+will be set to the total volume of compressed data written. For
+compatibility with older versions of the library, <code>BZ2_bzWriteClose</code>
+only yields the lower 32 bits of these counts. Use
+<code>BZ2_bzWriteClose64</code> if you want the full 64 bit counts. These
+two functions are otherwise absolutely identical.
+
+ <p>Possible assignments to <code>bzerror</code>:
+<pre class="display"> <code>BZ_SEQUENCE_ERROR</code>
+ if <code>b</code> was opened with <code>BZ2_bzReadOpen</code>
+ <code>BZ_IO_ERROR</code>
+ if there is an error writing the compressed file
+ <code>BZ_OK</code>
+ otherwise
+</pre>
+ <h4 class="subsection">3.4.8 Handling embedded compressed data streams</h4>
+
+<p>The high-level library facilitates use of
+<code>bzip2</code> data streams which form some part of a surrounding, larger
+data stream.
+ <ul>
+<li>For writing, the library takes an open file handle, writes
+compressed data to it, <code>fflush</code>es it but does not <code>fclose</code> it.
+The calling application can write its own data before and after the
+compressed data stream, using that same file handle.
+<li>Reading is more complex, and the facilities are not as general
+as they could be since generality is hard to reconcile with efficiency.
+<code>BZ2_bzRead</code> reads from the compressed file in blocks of size
+<code>BZ_MAX_UNUSED</code> bytes, and in doing so probably will overshoot
+the logical end of compressed stream.
+To recover this data once decompression has
+ended, call <code>BZ2_bzReadGetUnused</code> after the last call of <code>BZ2_bzRead</code>
+(the one returning <code>BZ_STREAM_END</code>) but before calling
+<code>BZ2_bzReadClose</code>.
+</ul>
+
+ <p>This mechanism makes it easy to decompress multiple <code>bzip2</code>
+streams placed end-to-end. As the end of one stream, when <code>BZ2_bzRead</code>
+returns <code>BZ_STREAM_END</code>, call <code>BZ2_bzReadGetUnused</code> to collect the
+unused data (copy it into your own buffer somewhere).
+That data forms the start of the next compressed stream.
+To start uncompressing that next stream, call <code>BZ2_bzReadOpen</code> again,
+feeding in the unused data via the <code>unused</code>/<code>nUnused</code>
+parameters.
+Keep doing this until <code>BZ_STREAM_END</code> return coincides with the
+physical end of file (<code>feof(f)</code>). In this situation
+<code>BZ2_bzReadGetUnused</code>
+will of course return no data.
+
+ <p>This should give some feel for how the high-level interface can be used.
+If you require extra flexibility, you'll have to bite the bullet and get
+to grips with the low-level interface.
+
+<h4 class="subsection">3.4.9 Standard file-reading/writing code</h4>
+
+<p>Here's how you'd write data to a compressed file:
+<pre class="example"> FILE* f;
+ BZFILE* b;
+ int nBuf;
+ char buf[ /* whatever size you like */ ];
+ int bzerror;
+ int nWritten;
+
+ f = fopen ( "myfile.bz2", "w" );
+ if (!f) {
+ /* handle error */
+ }
+ b = BZ2_bzWriteOpen ( &amp;bzerror, f, 9 );
+ if (bzerror != BZ_OK) {
+ BZ2_bzWriteClose ( b );
+ /* handle error */
+ }
+
+ while ( /* condition */ ) {
+ /* get data to write into buf, and set nBuf appropriately */
+ nWritten = BZ2_bzWrite ( &amp;bzerror, b, buf, nBuf );
+ if (bzerror == BZ_IO_ERROR) {
+ BZ2_bzWriteClose ( &amp;bzerror, b );
+ /* handle error */
+ }
+ }
+
+ BZ2_bzWriteClose ( &amp;bzerror, b );
+ if (bzerror == BZ_IO_ERROR) {
+ /* handle error */
+ }
+</pre>
+ <p>And to read from a compressed file:
+<pre class="example"> FILE* f;
+ BZFILE* b;
+ int nBuf;
+ char buf[ /* whatever size you like */ ];
+ int bzerror;
+ int nWritten;
+
+ f = fopen ( "myfile.bz2", "r" );
+ if (!f) {
+ /* handle error */
+ }
+ b = BZ2_bzReadOpen ( &amp;bzerror, f, 0, NULL, 0 );
+ if (bzerror != BZ_OK) {
+ BZ2_bzReadClose ( &amp;bzerror, b );
+ /* handle error */
+ }
+
+ bzerror = BZ_OK;
+ while (bzerror == BZ_OK &amp;&amp; /* arbitrary other conditions */) {
+ nBuf = BZ2_bzRead ( &amp;bzerror, b, buf, /* size of buf */ );
+ if (bzerror == BZ_OK) {
+ /* do something with buf[0 .. nBuf-1] */
+ }
+ }
+ if (bzerror != BZ_STREAM_END) {
+ BZ2_bzReadClose ( &amp;bzerror, b );
+ /* handle error */
+ } else {
+ BZ2_bzReadClose ( &amp;bzerror );
+ }
+</pre>
+ <h3 class="section">3.5 Utility functions</h3>
+
+<h4 class="subsection">3.5.1 <code>BZ2_bzBuffToBuffCompress</code></h4>
+
+<pre class="example"> int BZ2_bzBuffToBuffCompress( char* dest,
+ unsigned int* destLen,
+ char* source,
+ unsigned int sourceLen,
+ int blockSize100k,
+ int verbosity,
+ int workFactor );
+</pre>
+ <p>Attempts to compress the data in <code>source[0 .. sourceLen-1]</code>
+into the destination buffer, <code>dest[0 .. *destLen-1]</code>.
+If the destination buffer is big enough, <code>*destLen</code> is
+set to the size of the compressed data, and <code>BZ_OK</code> is
+returned. If the compressed data won't fit, <code>*destLen</code>
+is unchanged, and <code>BZ_OUTBUFF_FULL</code> is returned.
+
+ <p>Compression in this manner is a one-shot event, done with a single call
+to this function. The resulting compressed data is a complete
+<code>bzip2</code> format data stream. There is no mechanism for making
+additional calls to provide extra input data. If you want that kind of
+mechanism, use the low-level interface.
+
+ <p>For the meaning of parameters <code>blockSize100k</code>, <code>verbosity</code>
+and <code>workFactor</code>, <br> see <code>BZ2_bzCompressInit</code>.
+
+ <p>To guarantee that the compressed data will fit in its buffer, allocate
+an output buffer of size 1% larger than the uncompressed data, plus
+six hundred extra bytes.
+
+ <p><code>BZ2_bzBuffToBuffDecompress</code> will not write data at or
+beyond <code>dest[*destLen]</code>, even in case of buffer overflow.
+
+ <p>Possible return values:
+<pre class="display"> <code>BZ_CONFIG_ERROR</code>
+ if the library has been mis-compiled
+ <code>BZ_PARAM_ERROR</code>
+ if <code>dest</code> is <code>NULL</code> or <code>destLen</code> is <code>NULL</code>
+ or <code>blockSize100k &lt; 1</code> or <code>blockSize100k &gt; 9</code>
+ or <code>verbosity &lt; 0</code> or <code>verbosity &gt; 4</code>
+ or <code>workFactor &lt; 0</code> or <code>workFactor &gt; 250</code>
+ <code>BZ_MEM_ERROR</code>
+ if insufficient memory is available
+ <code>BZ_OUTBUFF_FULL</code>
+ if the size of the compressed data exceeds <code>*destLen</code>
+ <code>BZ_OK</code>
+ otherwise
+</pre>
+ <h4 class="subsection">3.5.2 <code>BZ2_bzBuffToBuffDecompress</code></h4>
+
+<pre class="example"> int BZ2_bzBuffToBuffDecompress ( char* dest,
+ unsigned int* destLen,
+ char* source,
+ unsigned int sourceLen,
+ int small,
+ int verbosity );
+</pre>
+ <p>Attempts to decompress the data in <code>source[0 .. sourceLen-1]</code>
+into the destination buffer, <code>dest[0 .. *destLen-1]</code>.
+If the destination buffer is big enough, <code>*destLen</code> is
+set to the size of the uncompressed data, and <code>BZ_OK</code> is
+returned. If the compressed data won't fit, <code>*destLen</code>
+is unchanged, and <code>BZ_OUTBUFF_FULL</code> is returned.
+
+ <p><code>source</code> is assumed to hold a complete <code>bzip2</code> format
+data stream. <br> <code>BZ2_bzBuffToBuffDecompress</code> tries to decompress
+the entirety of the stream into the output buffer.
+
+ <p>For the meaning of parameters <code>small</code> and <code>verbosity</code>,
+see <code>BZ2_bzDecompressInit</code>.
+
+ <p>Because the compression ratio of the compressed data cannot be known in
+advance, there is no easy way to guarantee that the output buffer will
+be big enough. You may of course make arrangements in your code to
+record the size of the uncompressed data, but such a mechanism is beyond
+the scope of this library.
+
+ <p><code>BZ2_bzBuffToBuffDecompress</code> will not write data at or
+beyond <code>dest[*destLen]</code>, even in case of buffer overflow.
+
+ <p>Possible return values:
+<pre class="display"> <code>BZ_CONFIG_ERROR</code>
+ if the library has been mis-compiled
+ <code>BZ_PARAM_ERROR</code>
+ if <code>dest</code> is <code>NULL</code> or <code>destLen</code> is <code>NULL</code>
+ or <code>small != 0 &amp;&amp; small != 1</code>
+ or <code>verbosity &lt; 0</code> or <code>verbosity &gt; 4</code>
+ <code>BZ_MEM_ERROR</code>
+ if insufficient memory is available
+ <code>BZ_OUTBUFF_FULL</code>
+ if the size of the compressed data exceeds <code>*destLen</code>
+ <code>BZ_DATA_ERROR</code>
+ if a data integrity error was detected in the compressed data
+ <code>BZ_DATA_ERROR_MAGIC</code>
+ if the compressed data doesn't begin with the right magic bytes
+ <code>BZ_UNEXPECTED_EOF</code>
+ if the compressed data ends unexpectedly
+ <code>BZ_OK</code>
+ otherwise
+</pre>
+ <h3 class="section">3.6 <code>zlib</code> compatibility functions</h3>
+
+<p>Yoshioka Tsuneo has contributed some functions to
+give better <code>zlib</code> compatibility. These functions are
+<code>BZ2_bzopen</code>, <code>BZ2_bzread</code>, <code>BZ2_bzwrite</code>, <code>BZ2_bzflush</code>,
+<code>BZ2_bzclose</code>,
+<code>BZ2_bzerror</code> and <code>BZ2_bzlibVersion</code>.
+These functions are not (yet) officially part of
+the library. If they break, you get to keep all the pieces.
+Nevertheless, I think they work ok.
+<pre class="example"> typedef void BZFILE;
+
+ const char * BZ2_bzlibVersion ( void );
+</pre>
+ <p>Returns a string indicating the library version.
+<pre class="example"> BZFILE * BZ2_bzopen ( const char *path, const char *mode );
+ BZFILE * BZ2_bzdopen ( int fd, const char *mode );
+</pre>
+ <p>Opens a <code>.bz2</code> file for reading or writing, using either its name
+or a pre-existing file descriptor.
+Analogous to <code>fopen</code> and <code>fdopen</code>.
+<pre class="example"> int BZ2_bzread ( BZFILE* b, void* buf, int len );
+ int BZ2_bzwrite ( BZFILE* b, void* buf, int len );
+</pre>
+ <p>Reads/writes data from/to a previously opened <code>BZFILE</code>.
+Analogous to <code>fread</code> and <code>fwrite</code>.
+<pre class="example"> int BZ2_bzflush ( BZFILE* b );
+ void BZ2_bzclose ( BZFILE* b );
+</pre>
+ <p>Flushes/closes a <code>BZFILE</code>. <code>BZ2_bzflush</code> doesn't actually do
+anything. Analogous to <code>fflush</code> and <code>fclose</code>.
+
+<pre class="example"> const char * BZ2_bzerror ( BZFILE *b, int *errnum )
+</pre>
+ <p>Returns a string describing the more recent error status of
+<code>b</code>, and also sets <code>*errnum</code> to its numerical value.
+
+<h3 class="section">3.7 Using the library in a <code>stdio</code>-free environment</h3>
+
+<h4 class="subsection">3.7.1 Getting rid of <code>stdio</code></h4>
+
+<p>In a deeply embedded application, you might want to use just
+the memory-to-memory functions. You can do this conveniently
+by compiling the library with preprocessor symbol <code>BZ_NO_STDIO</code>
+defined. Doing this gives you a library containing only the following
+eight functions:
+
+ <p><code>BZ2_bzCompressInit</code>, <code>BZ2_bzCompress</code>, <code>BZ2_bzCompressEnd</code> <br>
+<code>BZ2_bzDecompressInit</code>, <code>BZ2_bzDecompress</code>, <code>BZ2_bzDecompressEnd</code> <br>
+<code>BZ2_bzBuffToBuffCompress</code>, <code>BZ2_bzBuffToBuffDecompress</code>
+
+ <p>When compiled like this, all functions will ignore <code>verbosity</code>
+settings.
+
+<h4 class="subsection">3.7.2 Critical error handling</h4>
+
+<p><code>libbzip2</code> contains a number of internal assertion checks which
+should, needless to say, never be activated. Nevertheless, if an
+assertion should fail, behaviour depends on whether or not the library
+was compiled with <code>BZ_NO_STDIO</code> set.
+
+ <p>For a normal compile, an assertion failure yields the message
+<pre class="example"> bzip2/libbzip2: internal error number N.
+ This is a bug in bzip2/libbzip2, 1.0.2, 30-Dec-2001.
+ Please report it to me at: jseward@acm.org. If this happened
+ when you were using some program which uses libbzip2 as a
+ component, you should also report this bug to the author(s)
+ of that program. Please make an effort to report this bug;
+ timely and accurate bug reports eventually lead to higher
+ quality software. Thanks. Julian Seward, 30 December 2001.
+</pre>
+ <p>where <code>N</code> is some error code number. If <code>N == 1007</code>, it also
+prints some extra text advising the reader that unreliable memory is
+often associated with internal error 1007. (This is a
+frequently-observed-phenomenon with versions 1.0.0/1.0.1).
+
+ <p><code>exit(3)</code> is then called.
+
+ <p>For a <code>stdio</code>-free library, assertion failures result
+in a call to a function declared as:
+<pre class="example"> extern void bz_internal_error ( int errcode );
+</pre>
+ <p>The relevant code is passed as a parameter. You should supply
+such a function.
+
+ <p>In either case, once an assertion failure has occurred, any
+<code>bz_stream</code> records involved can be regarded as invalid.
+You should not attempt to resume normal operation with them.
+
+ <p>You may, of course, change critical error handling to suit
+your needs. As I said above, critical errors indicate bugs
+in the library and should not occur. All "normal" error
+situations are indicated via error return codes from functions,
+and can be recovered from.
+
+<h3 class="section">3.8 Making a Windows DLL</h3>
+
+<p>Everything related to Windows has been contributed by Yoshioka Tsuneo
+<br> (<code>QWF00133@niftyserve.or.jp</code> /
+<code>tsuneo-y@is.aist-nara.ac.jp</code>), so you should send your queries to
+him (but perhaps Cc: me, <code>jseward@acm.org</code>).
+
+ <p>My vague understanding of what to do is: using Visual C++ 5.0,
+open the project file <code>libbz2.dsp</code>, and build. That's all.
+
+ <p>If you can't
+open the project file for some reason, make a new one, naming these files:
+<code>blocksort.c</code>, <code>bzlib.c</code>, <code>compress.c</code>,
+<code>crctable.c</code>, <code>decompress.c</code>, <code>huffman.c</code>, <br>
+<code>randtable.c</code> and <code>libbz2.def</code>. You will also need
+to name the header files <code>bzlib.h</code> and <code>bzlib_private.h</code>.
+
+ <p>If you don't use VC++, you may need to define the proprocessor symbol
+<code>_WIN32</code>.
+
+ <p>Finally, <code>dlltest.c</code> is a sample program using the DLL. It has a
+project file, <code>dlltest.dsp</code>.
+
+ <p>If you just want a makefile for Visual C, have a look at
+<code>makefile.msc</code>.
+
+ <p>Be aware that if you compile <code>bzip2</code> itself on Win32, you must set
+<code>BZ_UNIX</code> to 0 and <code>BZ_LCCWIN32</code> to 1, in the file
+<code>bzip2.c</code>, before compiling. Otherwise the resulting binary won't
+work correctly.
+
+ <p>I haven't tried any of this stuff myself, but it all looks plausible.
+
+<h2 class="chapter">4 Miscellanea</h2>
+
+<p>These are just some random thoughts of mine. Your mileage may
+vary.
+
+<h3 class="section">4.1 Limitations of the compressed file format</h3>
+
+<p><code>bzip2-1.0</code>, <code>0.9.5</code> and <code>0.9.0</code>
+use exactly the same file format as the previous
+version, <code>bzip2-0.1</code>. This decision was made in the interests of
+stability. Creating yet another incompatible compressed file format
+would create further confusion and disruption for users.
+
+ <p>Nevertheless, this is not a painless decision. Development
+work since the release of <code>bzip2-0.1</code> in August 1997
+has shown complexities in the file format which slow down
+decompression and, in retrospect, are unnecessary. These are:
+ <ul>
+<li>The run-length encoder, which is the first of the
+ compression transformations, is entirely irrelevant.
+ The original purpose was to protect the sorting algorithm
+ from the very worst case input: a string of repeated
+ symbols. But algorithm steps Q6a and Q6b in the original
+ Burrows-Wheeler technical report (SRC-124) show how
+ repeats can be handled without difficulty in block
+ sorting.
+<li>The randomisation mechanism doesn't really need to be
+ there. Udi Manber and Gene Myers published a suffix
+ array construction algorithm a few years back, which
+ can be employed to sort any block, no matter how
+ repetitive, in O(N log N) time. Subsequent work by
+ Kunihiko Sadakane has produced a derivative O(N (log N)^2)
+ algorithm which usually outperforms the Manber-Myers
+ algorithm.
+
+ <p>I could have changed to Sadakane's algorithm, but I find
+ it to be slower than <code>bzip2</code>'s existing algorithm for
+ most inputs, and the randomisation mechanism protects
+ adequately against bad cases. I didn't think it was
+ a good tradeoff to make. Partly this is due to the fact
+ that I was not flooded with email complaints about
+ <code>bzip2-0.1</code>'s performance on repetitive data, so
+ perhaps it isn't a problem for real inputs.
+
+ <p>Probably the best long-term solution,
+ and the one I have incorporated into 0.9.5 and above,
+ is to use the existing sorting
+ algorithm initially, and fall back to a O(N (log N)^2)
+ algorithm if the standard algorithm gets into difficulties.
+<li>The compressed file format was never designed to be
+ handled by a library, and I have had to jump though
+ some hoops to produce an efficient implementation of
+ decompression. It's a bit hairy. Try passing
+ <code>decompress.c</code> through the C preprocessor
+ and you'll see what I mean. Much of this complexity
+ could have been avoided if the compressed size of
+ each block of data was recorded in the data stream.
+<li>An Adler-32 checksum, rather than a CRC32 checksum,
+ would be faster to compute.
+</ul>
+ It would be fair to say that the <code>bzip2</code> format was frozen
+before I properly and fully understood the performance
+consequences of doing so.
+
+ <p>Improvements which I was able to incorporate into
+0.9.0, despite using the same file format, are:
+ <ul>
+<li>Single array implementation of the inverse BWT. This
+ significantly speeds up decompression, presumably
+ because it reduces the number of cache misses.
+<li>Faster inverse MTF transform for large MTF values. The
+ new implementation is based on the notion of sliding blocks
+ of values.
+<li><code>bzip2-0.9.0</code> now reads and writes files with <code>fread</code>
+ and <code>fwrite</code>; version 0.1 used <code>putc</code> and <code>getc</code>.
+ Duh! Well, you live and learn.
+
+ </ul>
+ Further ahead, it would be nice
+to be able to do random access into files. This will
+require some careful design of compressed file formats.
+
+<h3 class="section">4.2 Portability issues</h3>
+
+<p>After some consideration, I have decided not to use
+GNU <code>autoconf</code> to configure 0.9.5 or 1.0.
+
+ <p><code>autoconf</code>, admirable and wonderful though it is,
+mainly assists with portability problems between Unix-like
+platforms. But <code>bzip2</code> doesn't have much in the way
+of portability problems on Unix; most of the difficulties appear
+when porting to the Mac, or to Microsoft's operating systems.
+<code>autoconf</code> doesn't help in those cases, and brings in a
+whole load of new complexity.
+
+ <p>Most people should be able to compile the library and program
+under Unix straight out-of-the-box, so to speak, especially
+if you have a version of GNU C available.
+
+ <p>There are a couple of <code>__inline__</code> directives in the code. GNU C
+(<code>gcc</code>) should be able to handle them. If you're not using
+GNU C, your C compiler shouldn't see them at all.
+If your compiler does, for some reason, see them and doesn't
+like them, just <code>#define</code> <code>__inline__</code> to be <code>/* */</code>. One
+easy way to do this is to compile with the flag <code>-D__inline__=</code>,
+which should be understood by most Unix compilers.
+
+ <p>If you still have difficulties, try compiling with the macro
+<code>BZ_STRICT_ANSI</code> defined. This should enable you to build the
+library in a strictly ANSI compliant environment. Building the program
+itself like this is dangerous and not supported, since you remove
+<code>bzip2</code>'s checks against compressing directories, symbolic links,
+devices, and other not-really-a-file entities. This could cause
+filesystem corruption!
+
+ <p>One other thing: if you create a <code>bzip2</code> binary for public
+distribution, please try and link it statically (<code>gcc -s</code>). This
+avoids all sorts of library-version issues that others may encounter
+later on.
+
+ <p>If you build <code>bzip2</code> on Win32, you must set <code>BZ_UNIX</code> to 0 and
+<code>BZ_LCCWIN32</code> to 1, in the file <code>bzip2.c</code>, before compiling.
+Otherwise the resulting binary won't work correctly.
+
+<h3 class="section">4.3 Reporting bugs</h3>
+
+<p>I tried pretty hard to make sure <code>bzip2</code> is
+bug free, both by design and by testing. Hopefully
+you'll never need to read this section for real.
+
+ <p>Nevertheless, if <code>bzip2</code> dies with a segmentation
+fault, a bus error or an internal assertion failure, it
+will ask you to email me a bug report. Experience with
+version 0.1 shows that almost all these problems can
+be traced to either compiler bugs or hardware problems.
+ <ul>
+<li>Recompile the program with no optimisation, and see if it
+works. And/or try a different compiler.
+I heard all sorts of stories about various flavours
+of GNU C (and other compilers) generating bad code for
+<code>bzip2</code>, and I've run across two such examples myself.
+
+ <p>2.7.X versions of GNU C are known to generate bad code from
+time to time, at high optimisation levels.
+If you get problems, try using the flags
+<code>-O2</code> <code>-fomit-frame-pointer</code> <code>-fno-strength-reduce</code>.
+You should specifically <em>not</em> use <code>-funroll-loops</code>.
+
+ <p>You may notice that the Makefile runs six tests as part of
+the build process. If the program passes all of these, it's
+a pretty good (but not 100%) indication that the compiler has
+done its job correctly.
+<li>If <code>bzip2</code> crashes randomly, and the crashes are not
+repeatable, you may have a flaky memory subsystem. <code>bzip2</code>
+really hammers your memory hierarchy, and if it's a bit marginal,
+you may get these problems. Ditto if your disk or I/O subsystem
+is slowly failing. Yup, this really does happen.
+
+ <p>Try using a different machine of the same type, and see if
+you can repeat the problem.
+<li>This isn't really a bug, but ... If <code>bzip2</code> tells
+you your file is corrupted on decompression, and you
+obtained the file via FTP, there is a possibility that you
+forgot to tell FTP to do a binary mode transfer. That absolutely
+will cause the file to be non-decompressible. You'll have to transfer
+it again.
+</ul>
+
+ <p>If you've incorporated <code>libbzip2</code> into your own program
+and are getting problems, please, please, please, check that the
+parameters you are passing in calls to the library, are
+correct, and in accordance with what the documentation says
+is allowable. I have tried to make the library robust against
+such problems, but I'm sure I haven't succeeded.
+
+ <p>Finally, if the above comments don't help, you'll have to send
+me a bug report. Now, it's just amazing how many people will
+send me a bug report saying something like
+<pre class="display"> bzip2 crashed with segmentation fault on my machine
+</pre>
+ <p>and absolutely nothing else. Needless to say, a such a report
+is <em>totally, utterly, completely and comprehensively 100% useless;
+a waste of your time, my time, and net bandwidth</em>.
+With no details at all, there's no way I can possibly begin
+to figure out what the problem is.
+
+ <p>The rules of the game are: facts, facts, facts. Don't omit
+them because "oh, they won't be relevant". At the bare
+minimum:
+<pre class="display"> Machine type. Operating system version.
+ Exact version of <code>bzip2</code> (do <code>bzip2 -V</code>).
+ Exact version of the compiler used.
+ Flags passed to the compiler.
+</pre>
+ <p>However, the most important single thing that will help me is
+the file that you were trying to compress or decompress at the
+time the problem happened. Without that, my ability to do anything
+more than speculate about the cause, is limited.
+
+ <p>Please remember that I connect to the Internet with a modem, so
+you should contact me before mailing me huge files.
+
+<h3 class="section">4.4 Did you get the right package?</h3>
+
+<p><code>bzip2</code> is a resource hog. It soaks up large amounts of CPU cycles
+and memory. Also, it gives very large latencies. In the worst case, you
+can feed many megabytes of uncompressed data into the library before
+getting any compressed output, so this probably rules out applications
+requiring interactive behaviour.
+
+ <p>These aren't faults of my implementation, I hope, but more
+an intrinsic property of the Burrows-Wheeler transform (unfortunately).
+Maybe this isn't what you want.
+
+ <p>If you want a compressor and/or library which is faster, uses less
+memory but gets pretty good compression, and has minimal latency,
+consider Jean-loup
+Gailly's and Mark Adler's work, <code>zlib-1.1.3</code> and
+<code>gzip-1.2.4</code>. Look for them at
+
+ <p><code>http://www.zlib.org</code> and
+<code>http://www.gzip.org</code> respectively.
+
+ <p>For something faster and lighter still, you might try Markus F X J
+Oberhumer's <code>LZO</code> real-time compression/decompression library, at
+<br> <code>http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html</code>.
+
+ <p>If you want to use the <code>bzip2</code> algorithms to compress small blocks
+of data, 64k bytes or smaller, for example on an on-the-fly disk
+compressor, you'd be well advised not to use this library. Instead,
+I've made a special library tuned for that kind of use. It's part of
+<code>e2compr-0.40</code>, an on-the-fly disk compressor for the Linux
+<code>ext2</code> filesystem. Look at
+<code>http://www.netspace.net.au/~reiter/e2compr</code>.
+
+<h3 class="section">4.5 Testing</h3>
+
+<p>A record of the tests I've done.
+
+ <p>First, some data sets:
+ <ul>
+<li>B: a directory containing 6001 files, one for every length in the
+ range 0 to 6000 bytes. The files contain random lowercase
+ letters. 18.7 megabytes.
+<li>H: my home directory tree. Documents, source code, mail files,
+ compressed data. H contains B, and also a directory of
+ files designed as boundary cases for the sorting; mostly very
+ repetitive, nasty files. 565 megabytes.
+<li>A: directory tree holding various applications built from source:
+ <code>egcs</code>, <code>gcc-2.8.1</code>, KDE, GTK, Octave, etc.
+ 2200 megabytes.
+</ul>
+ The tests conducted are as follows. Each test means compressing
+(a copy of) each file in the data set, decompressing it and
+comparing it against the original.
+
+ <p>First, a bunch of tests with block sizes and internal buffer
+sizes set very small,
+to detect any problems with the
+blocking and buffering mechanisms.
+This required modifying the source code so as to try to
+break it.
+ <ol type=1 start=1>
+<li>Data set H, with
+ buffer size of 1 byte, and block size of 23 bytes.
+<li>Data set B, buffer sizes 1 byte, block size 1 byte.
+<li>As (2) but small-mode decompression.
+<li>As (2) with block size 2 bytes.
+<li>As (2) with block size 3 bytes.
+<li>As (2) with block size 4 bytes.
+<li>As (2) with block size 5 bytes.
+<li>As (2) with block size 6 bytes and small-mode decompression.
+<li>H with buffer size of 1 byte, but normal block
+ size (up to 900000 bytes).
+ </ol>
+Then some tests with unmodified source code.
+ <ol type=1 start=1>
+<li>H, all settings normal.
+<li>As (1), with small-mode decompress.
+<li>H, compress with flag <code>-1</code>.
+<li>H, compress with flag <code>-s</code>, decompress with flag <code>-s</code>.
+<li>Forwards compatibility: H, <code>bzip2-0.1pl2</code> compressing,
+ <code>bzip2-0.9.5</code> decompressing, all settings normal.
+<li>Backwards compatibility: H, <code>bzip2-0.9.5</code> compressing,
+ <code>bzip2-0.1pl2</code> decompressing, all settings normal.
+<li>Bigger tests: A, all settings normal.
+<li>As (7), using the fallback (Sadakane-like) sorting algorithm.
+<li>As (8), compress with flag <code>-1</code>, decompress with flag
+ <code>-s</code>.
+<li>H, using the fallback sorting algorithm.
+<li>Forwards compatibility: A, <code>bzip2-0.1pl2</code> compressing,
+ <code>bzip2-0.9.5</code> decompressing, all settings normal.
+<li>Backwards compatibility: A, <code>bzip2-0.9.5</code> compressing,
+ <code>bzip2-0.1pl2</code> decompressing, all settings normal.
+<li>Misc test: about 400 megabytes of <code>.tar</code> files with
+ <code>bzip2</code> compiled with Checker (a memory access error
+ detector, like Purify).
+<li>Misc tests to make sure it builds and runs ok on non-Linux/x86
+ platforms.
+ </ol>
+These tests were conducted on a 225 MHz IDT WinChip machine, running
+Linux 2.0.36. They represent nearly a week of continuous computation.
+All tests completed successfully.
+
+<h3 class="section">4.6 Further reading</h3>
+
+<p><code>bzip2</code> is not research work, in the sense that it doesn't present
+any new ideas. Rather, it's an engineering exercise based on existing
+ideas.
+
+ <p>Four documents describe essentially all the ideas behind <code>bzip2</code>:
+<pre class="example"> Michael Burrows and D. J. Wheeler:
+ "A block-sorting lossless data compression algorithm"
+ 10th May 1994.
+ Digital SRC Research Report 124.
+ ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.gz
+ If you have trouble finding it, try searching at the
+ New Zealand Digital Library, http://www.nzdl.org.
+
+ Daniel S. Hirschberg and Debra A. LeLewer
+ "Efficient Decoding of Prefix Codes"
+ Communications of the ACM, April 1990, Vol 33, Number 4.
+ You might be able to get an electronic copy of this
+ from the ACM Digital Library.
+
+ David J. Wheeler
+ Program bred3.c and accompanying document bred3.ps.
+ This contains the idea behind the multi-table Huffman
+ coding scheme.
+ ftp://ftp.cl.cam.ac.uk/users/djw3/
+
+ Jon L. Bentley and Robert Sedgewick
+ "Fast Algorithms for Sorting and Searching Strings"
+ Available from Sedgewick's web page,
+ www.cs.princeton.edu/~rs
+</pre>
+ <p>The following paper gives valuable additional insights into the
+algorithm, but is not immediately the basis of any code
+used in bzip2.
+<pre class="example"> Peter Fenwick:
+ Block Sorting Text Compression
+ Proceedings of the 19th Australasian Computer Science Conference,
+ Melbourne, Australia. Jan 31 - Feb 2, 1996.
+ ftp://ftp.cs.auckland.ac.nz/pub/peter-f/ACSC96paper.ps
+</pre>
+ <p>Kunihiko Sadakane's sorting algorithm, mentioned above,
+is available from:
+<pre class="example"> http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz
+</pre>
+ <p>The Manber-Myers suffix array construction
+algorithm is described in a paper
+available from:
+<pre class="example"> http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps
+</pre>
+ <p>Finally, the following paper documents some recent investigations
+I made into the performance of sorting algorithms:
+<pre class="example"> Julian Seward:
+ On the Performance of BWT Sorting Algorithms
+ Proceedings of the IEEE Data Compression Conference 2000
+ Snowbird, Utah. 28-30 March 2000.
+</pre>
+ <div class="contents">
+<h2>Table of Contents</h2>
+<ul>
+<li><a name="toc_Top" href="#Top">1 Introduction</a>
+<li><a name="toc_Top" href="#Top">2 How to use <code>bzip2</code></a>
+<ul>
+<ul>
+<ul>
+<li><a href="#Top">NAME</a>
+<li><a href="#Top">SYNOPSIS</a>
+<li><a href="#Top">DESCRIPTION</a>
+<li><a href="#Top">OPTIONS</a>
+<li><a href="#Top">MEMORY MANAGEMENT</a>
+<li><a href="#Top">RECOVERING DATA FROM DAMAGED FILES</a>
+<li><a href="#Top">PERFORMANCE NOTES</a>
+<li><a href="#Top">CAVEATS</a>
+<li><a href="#Top">AUTHOR</a>
+</li></ul>
+</li></ul>
+</li></ul>
+<li><a name="toc_Top" href="#Top">3 Programming with <code>libbzip2</code></a>
+<ul>
+<li><a href="#Top">3.1 Top-level structure</a>
+<ul>
+<li><a href="#Top">3.1.1 Low-level summary</a>
+<li><a href="#Top">3.1.2 High-level summary</a>
+<li><a href="#Top">3.1.3 Utility functions summary</a>
+</li></ul>
+<li><a href="#Top">3.2 Error handling</a>
+<li><a href="#Top">3.3 Low-level interface</a>
+<ul>
+<li><a href="#Top">3.3.1 <code>BZ2_bzCompressInit</code></a>
+<li><a href="#Top">3.3.2 <code>BZ2_bzCompress</code></a>
+<li><a href="#Top">3.3.3 <code>BZ2_bzCompressEnd</code></a>
+<li><a href="#Top">3.3.4 <code>BZ2_bzDecompressInit</code></a>
+<li><a href="#Top">3.3.5 <code>BZ2_bzDecompress</code></a>
+<li><a href="#Top">3.3.6 <code>BZ2_bzDecompressEnd</code></a>
+</li></ul>
+<li><a href="#Top">3.4 High-level interface</a>
+<ul>
+<li><a href="#Top">3.4.1 <code>BZ2_bzReadOpen</code></a>
+<li><a href="#Top">3.4.2 <code>BZ2_bzRead</code></a>
+<li><a href="#Top">3.4.3 <code>BZ2_bzReadGetUnused</code></a>
+<li><a href="#Top">3.4.4 <code>BZ2_bzReadClose</code></a>
+<li><a href="#Top">3.4.5 <code>BZ2_bzWriteOpen</code></a>
+<li><a href="#Top">3.4.6 <code>BZ2_bzWrite</code></a>
+<li><a href="#Top">3.4.7 <code>BZ2_bzWriteClose</code></a>
+<li><a href="#Top">3.4.8 Handling embedded compressed data streams</a>
+<li><a href="#Top">3.4.9 Standard file-reading/writing code</a>
+</li></ul>
+<li><a href="#Top">3.5 Utility functions</a>
+<ul>
+<li><a href="#Top">3.5.1 <code>BZ2_bzBuffToBuffCompress</code></a>
+<li><a href="#Top">3.5.2 <code>BZ2_bzBuffToBuffDecompress</code></a>
+</li></ul>
+<li><a href="#Top">3.6 <code>zlib</code> compatibility functions</a>
+<li><a href="#Top">3.7 Using the library in a <code>stdio</code>-free environment</a>
+<ul>
+<li><a href="#Top">3.7.1 Getting rid of <code>stdio</code></a>
+<li><a href="#Top">3.7.2 Critical error handling</a>
+</li></ul>
+<li><a href="#Top">3.8 Making a Windows DLL</a>
+</li></ul>
+<li><a name="toc_Top" href="#Top">4 Miscellanea</a>
+<ul>
+<li><a href="#Top">4.1 Limitations of the compressed file format</a>
+<li><a href="#Top">4.2 Portability issues</a>
+<li><a href="#Top">4.3 Reporting bugs</a>
+<li><a href="#Top">4.4 Did you get the right package?</a>
+<li><a href="#Top">4.5 Testing</a>
+<li><a href="#Top">4.6 Further reading</a>
+</li></ul>
+</li></ul>
+</div>
+
+</body></html>
+
diff --git a/Master/texmf/doc/bzip2/bzip2.pdf b/Master/texmf/doc/bzip2/bzip2.pdf
new file mode 100644
index 00000000000..e48ed05e1da
--- /dev/null
+++ b/Master/texmf/doc/bzip2/bzip2.pdf
Binary files differ
diff --git a/Master/texmf/doc/bzip2/manual.html b/Master/texmf/doc/bzip2/manual.html
new file mode 100644
index 00000000000..2c4980ede03
--- /dev/null
+++ b/Master/texmf/doc/bzip2/manual.html
@@ -0,0 +1,117 @@
+<HTML>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!-- Created on May, 24 2004 by texi2html @T2H_VERSION@ -->
+<!--
+Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
+ Karl Berry <karl@freefriends.org>
+ Olaf Bachmann <obachman@mathematik.uni-kl.de>
+ and many others.
+Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
+Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
+
+-->
+<HEAD>
+<TITLE>Untitled Document: Untitled Document</TITLE>
+
+<META NAME="description" CONTENT="Untitled Document: Untitled Document">
+<META NAME="keywords" CONTENT="Untitled Document: Untitled Document">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+<META NAME="Generator" CONTENT="texi2html @T2H_VERSION@">
+
+</HEAD>
+
+<BODY LANG="en" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
+
+<A NAME="SEC_Top"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="manual.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="manual_toc.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="manual_abt.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1>Untitled Document</H1></P><P>
+
+The following text is the License for this software. You should
+find it identical to that contained in the file LICENSE in the
+source distribution.
+</P><P>
+
+@bf{------------------ START OF THE LICENSE ------------------}
+</P><P>
+
+This program, <CODE>bzip2</CODE>,
+and associated library <CODE>libbzip2</CODE>, are
+Copyright (C) 1996-2002 Julian R Seward. All rights reserved.
+</P><P>
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<UL>
+<LI>
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+<LI>
+ The origin of this software must not be misrepresented; you must
+ not claim that you wrote the original software. If you use this
+ software in a product, an acknowledgment in the product
+ documentation would be appreciated but is not required.
+<LI>
+ Altered source versions must be plainly marked as such, and must
+ not be misrepresented as being the original software.
+<LI>
+ The name of the author may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+</UL>
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+<P>
+
+Julian Seward, Cambridge, UK.
+</P><P>
+
+<CODE>jseward@acm.org</CODE>
+</P><P>
+
+<CODE>bzip2</CODE>/<CODE>libbzip2</CODE> version 1.0.2 of 30 December 2001.
+</P><P>
+
+@bf{------------------ END OF THE LICENSE ------------------}
+</P><P>
+
+Web sites:
+</P><P>
+
+<CODE>http://sources.redhat.com/bzip2</CODE>
+</P><P>
+
+<CODE>http://www.cacheprof.org</CODE>
+</P><P>
+
+PATENTS: To the best of my knowledge, <CODE>bzip2</CODE> does not use any patented
+algorithms. However, I do not have the resources available to carry out
+a full patent search. Therefore I cannot give any guarantee of the
+above statement.
+</P><P>
+
+<HR SIZE=1>
+<BR>
+<FONT SIZE="-1">
+This document was generated
+on <I>May, 24 2004</I>
+using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
+"><I>texi2html</I></A>
+
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/cefconv/cefconv.pdf b/Master/texmf/doc/cefconv/cefconv.pdf
new file mode 100644
index 00000000000..c0c9e349d0f
--- /dev/null
+++ b/Master/texmf/doc/cefconv/cefconv.pdf
Binary files differ
diff --git a/Master/texmf/doc/cefconv/man/pdf/cefconv.pdf b/Master/texmf/doc/cefconv/man/pdf/cefconv.pdf
new file mode 100644
index 00000000000..72f51ced33e
--- /dev/null
+++ b/Master/texmf/doc/cefconv/man/pdf/cefconv.pdf
Binary files differ
diff --git a/Master/texmf/doc/cefsconv/cefsconv.pdf b/Master/texmf/doc/cefsconv/cefsconv.pdf
new file mode 100644
index 00000000000..0be589ad9bf
--- /dev/null
+++ b/Master/texmf/doc/cefsconv/cefsconv.pdf
Binary files differ
diff --git a/Master/texmf/doc/cefsconv/man/pdf/cefsconv.pdf b/Master/texmf/doc/cefsconv/man/pdf/cefsconv.pdf
new file mode 100644
index 00000000000..420838b839e
--- /dev/null
+++ b/Master/texmf/doc/cefsconv/man/pdf/cefsconv.pdf
Binary files differ
diff --git a/Master/texmf/doc/chktex/ChkTeX.html b/Master/texmf/doc/chktex/ChkTeX.html
new file mode 100644
index 00000000000..1bd0b8fdae4
--- /dev/null
+++ b/Master/texmf/doc/chktex/ChkTeX.html
@@ -0,0 +1,4263 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html >
+<head><title>ChkTeX v1.6.1</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html)">
+<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html)">
+<!-- html -->
+<meta name="src" content="ChkTeX.tex">
+<meta name="date" content="2004-10-26 22:15:00">
+<link rel="stylesheet" type="text/css" href="ChkTeX.css">
+</head><body
+>
+ <div class="maketitle">
+
+
+<h2 class="titleHead">Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;v1.6.1</h2>
+ <div class="author" ><span
+class="cmr-12">Jens</span><span
+class="cmr-12">&nbsp;T. Berger</span><span
+class="cmr-12">&nbsp;Thielemann</span></div>
+<br>
+<div class="date" ><span
+class="cmr-12">October 26, 2004</span></div>
+ </div>
+ <h3 class="sectionHead"><span class="titlemark">1 </span> <a
+ id="x1-10001"></a>Introduction</h3>
+<!--l. 99--><p class="noindent">This program has been written in frustration because some constructs in <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;are
+sometimes non-intuitive, and easy to forget. It is <span
+class="cmti-10">not </span>a replacement for the built-in
+checker in <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>; however it catches some typographic errors <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;oversees. In
+other words, it is Lint for <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>. Filters are also provided for checking the
+<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;parts of CWEB documents.
+<!--l. 106--><p class="indent"> It is written in ANSI C and compiles silently under GCC using &#8220;<span
+class="cmtt-10">-Wall -ansi</span>
+<span
+class="cmtt-10">-pedantic</span>&#8221; and almost all warning flags. This means that you can compile &amp; use the
+program on your favorite machine. Full source included.
+<!--l. 111--><p class="indent"> The program also supports output formats suitable for further processing by editors
+or other programs, making errors easy to cycle through. Software is provided for
+beautifully interfacing against the AUC-<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;Emacs mode, CygnusED, GoldEd and
+various Amiga message browsers.
+<!--l. 116--><p class="indent"> The program itself does not have any machine requirements; Amiga, MSDOS and
+OS/2 binaries are available. Of course, you&#8217;ll need ARexx and ScMsg or VBrowse to
+benefit from the ARexx scripts.
+<!--l. 122--><p class="noindent">
+ <h3 class="sectionHead"><span class="titlemark">2 </span> <a
+ id="x1-20002"></a>Features</h3>
+<!--l. 123--><p class="noindent">Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;begins to get quite a few bells &amp; whistles now. However, you should be aware
+of that in most cases, all this is transparent to the user. As you will see, Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;offers
+the ability to adapt to many environments and configurations.
+<!--l. 128--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">2.1 </span> <a
+ id="x1-30002.1"></a>New features</h4>
+<!--l. 130--><p class="noindent">Modifications and additions since v1.6:
+ <ul class="itemize1">
+ <li class="itemize">Improved the build system
+ </li>
+ <li class="itemize">Better fixes for memory access errors</li></ul>
+
+<!--l. 136--><p class="indent"> Modifications and additions since v1.5:
+ <ul class="itemize1">
+ <li class="itemize">Fixed a crash when running from emacs
+ </li>
+ <li class="itemize">Fixed a crash when checking our own manual
+ </li>
+ <li class="itemize">Added <span
+class="cmtt-10">\verb* support</span></li></ul>
+<!--l. 143--><p class="indent"> Modifications and additions since v1.4:
+<!--l. 145--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">2.1.1 </span> <a
+ id="x1-40002.1.1"></a>Program</h5>
+<!--l. 147--><p class="noindent">Modifications to the executable itself:
+ <ul class="itemize1">
+ <li class="itemize">As usual, a few more warnings:
+ <ul class="itemize2">
+ <li class="itemize">No space or similar in front/after parenthesis.
+ </li>
+ <li class="itemize">Demands a consistent quote style.
+ </li>
+ <li class="itemize">Double spaces in input which will not be rendered as one.
+ </li>
+ <li class="itemize">Punctuation malplaced regarding to math mode.
+ </li>
+ <li class="itemize">Warns about <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;primitives.
+ </li>
+ <li class="itemize">Space in front of footnotes.
+ </li>
+ <li class="itemize">Bogus <span
+class="cmtt-10">\left </span>and <span
+class="cmtt-10">\right </span>commands.</li></ul>
+ </li>
+ <li class="itemize">The abbreviation recognizer has (for the last time?) been redesigned. We now
+ produce far less false warnings, catch more cases and do all this faster than before.
+ Seems like a win.
+ <!--l. 164--><p class="noindent">Done much of the same with the italic correction detection part, too...
+ </li>
+ <li class="itemize">Some bugs have been silently fixed. Hot spots in the program have been optimized;
+ in certain cases this in fact doubles the speed!
+ <!--l. 170--><p class="noindent">Along with this goes more code elegance and utilization of macro processing and
+ the C language. Take a look at &#8220;<span
+class="cmtt-10">Resource.[ch]</span>&#8221;.
+ </li>
+ <li class="itemize">It&#8217;s possible to specify separate output-formats depending on whether you are
+ sending the output to a file/pipe or to a terminal.
+ </li>
+ <li class="itemize">Column positions are finally correct; we now expand tabs correctly.
+
+ </li>
+ <li class="itemize">Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;will now recursively search for <span
+class="cmtt-10">\input</span>&#8217;ed files, both in the document and
+ on the commandline. See the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file for more info.
+ </li>
+ <li class="itemize">The debug switch is now more intelligent; if you wish to hack a bit on Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;for
+ yourself, it is possible to produce selective debugging output. The feature can also
+ be disabled altogether.
+ </li>
+ <li class="itemize">MS-DOS and OS/2 version of the program is now more flexible and well-behaved,
+ thanks to Gerd Böhm.
+ </li>
+ <li class="itemize">You may now say &#8220;<span
+class="cmtt-10">-wall</span>&#8221; to make all messages warnings, and turn them
+ on.
+ </li>
+ <li class="itemize">Uses termcap on UNIX boxes; this should ensure that &#8220;<span
+class="cmtt-10">-v2</span>&#8221; (or more precisely:
+ &#8220;<span
+class="cmtt-10">%i</span>&#8221; and &#8220;<span
+class="cmtt-10">%I</span>&#8221;) works regardless to what terminal you are using.</li></ul>
+<!--l. 195--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">2.1.2 </span> <a
+ id="x1-50002.1.2"></a>Resource file</h5>
+<!--l. 197--><p class="noindent">New concepts introduced in the setup file:
+ <ul class="itemize1">
+ <li class="itemize">You may now specify both case-sensitive and case-insensitive user patterns in
+ the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file. In addition; it is now possible to reset/clear lists.
+ </li>
+ <li class="itemize">It is possible to specify how many arguments (optional/required) &#8220;<span
+class="cmtt-10">WIPEARG</span>&#8221;
+ should wipe; it behaves also somewhat more intelligent when the arguments
+ stretch over multiple lines.
+ </li>
+ <li class="itemize">Global files will be read <span
+class="cmti-10">in addition </span>to local ones. The searching order has
+ also been reversed in order to make this more intelligent.</li></ul>
+<!--l. 212--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">2.1.3 </span> <a
+ id="x1-60002.1.3"></a>Other</h5>
+<!--l. 213--><p class="noindent">Various other stuff I&#8217;ve done to the product:
+ <ul class="itemize1">
+ <li class="itemize">The documentation has been polished and should now be easier to use in
+ practical situations.
+ </li>
+ <li class="itemize">&#8220;<span
+class="cmtt-10">check</span>&#8221; target in &#8220;<span
+class="cmtt-10">Makefile</span>&#8221;, so you can check that the installation
+ succeeded. In fact, the &#8220;<span
+class="cmtt-10">Makefile</span>&#8221; has been enhanced in several other ways
+ too, amongst other it is now GNU conforming.
+
+ </li>
+ <li class="itemize">&#8220;<span
+class="cmtt-10">deweb</span>&#8221; is now documented; you may say &#8220;<span
+class="cmtt-10">man</span><span
+class="cmtt-10">&nbsp;deweb</span>&#8221; to get a few words
+ of advice. The support script (<span
+class="cmtt-10">chkweb</span>) does now behave as the remaining
+ package (accepting stdin input and flags).
+ </li>
+ <li class="itemize">I&#8217;ve written an Emacs hack which magically adds Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;to the list of
+ AUC-<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;commands; thus making the use of the program even more trivial.
+ <!--l. 229--><p class="noindent">For those of you who don&#8217;t wish to mess with Emacs, I&#8217;ve included a trivial
+ lacheck <span
+class="cmsy-10"><img
+src="cmsy10-24.png" alt="&lt;--&gt;" class="10x-x-24" /></span> Chk<span class="TEX">T<span
+class="E">E</span>X</span> interface.
+ <!--l. 236--><p class="noindent">This means that you now can use Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;just as easily as lacheck when
+ you&#8217;re running AUC-<span class="TEX">T<span
+class="E">E</span>X</span>.
+ </li>
+ <li class="itemize">Added an ARexx script which lets Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;talk to VBrowse, the message
+ browser of Volker Barthelmann&#8217;s freely distributable ANSI C compiler. The
+ browser itself is available on Aminet as &#8220;<span
+class="cmtt-10">dev/c/vbcc.lha</span>&#8221;.</li></ul>
+<!--l. 245--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">2.2 </span> <a
+ id="x1-70002.2"></a>Feature list</h4>
+ <ul class="itemize1">
+ <li class="itemize">Supports over 40 warnings. Warnings include:
+ <table class="multicols" id="multicols-1"><tr><td class="multicol-1">
+ <div class="flushleft"
+>
+<!--l. 251--><p class="noindent">
+ <ul class="itemize2">
+ <li class="itemize">
+ Commands
+ terminated
+ with
+ space.
+ Ignores
+ &#8220;<span
+class="cmtt-10">\tt</span>&#8221;,
+ etc.
+ </li>
+ <li class="itemize">
+ Space
+ in
+ front
+ of
+ references
+ instead
+ of
+ &#8220;<span
+class="cmtt-10">~</span>&#8221;.
+
+ </li>
+ <li class="itemize">
+ Forgetting
+ to
+ group
+ parenthesis
+ characters
+ when
+ sub-/superscripting.
+ </li>
+ <li class="itemize">
+ Italic
+ correction
+ (&#8220;<span
+class="cmtt-10">\/</span>&#8221;)
+ mistakes
+ (double,
+ missing,
+ unnecessary).
+ </li>
+ <li class="itemize">
+ Parenthesis
+ and
+ environment
+ matching.
+ </li>
+ <li class="itemize">
+ Ellipsis
+ detection;
+ also
+ checks
+ whether
+ to
+ use
+ &#8220;<span
+class="cmtt-10">\dots</span>&#8221;,
+ &#8220;<span
+class="cmtt-10">\cdots</span>&#8221;
+ or
+ &#8220;<span
+class="cmtt-10">\ldots</span>&#8221;.
+ </li>
+ <li class="itemize">
+ Enforcement
+ of
+ normal
+ space
+ after
+ abbreviation.
+ Detects
+ most
+ abbreviations
+
+ automagically.
+ </li>
+ <li class="itemize">
+ Enforcement
+ of
+ end-of-sentence
+ space
+ when
+ the
+ last
+ sentence
+ ended
+ with
+ capital
+ letter.
+ </li>
+ <li class="itemize">
+ Math-mode
+ on/off
+ detection.
+ </li>
+ <li class="itemize">
+ Quote
+ checking,
+ both
+ wrong
+ types
+ (&#8220;<span
+class="cmtt-10">"</span>&#8221;)
+ and
+ wrong
+ direction.
+ </li>
+ <li class="itemize">
+ Recommends
+ splitting
+ three
+ quotes
+ in
+ a
+ row.
+ </li>
+ <li class="itemize">
+ Searching
+ for
+ user
+ patterns.
+ </li>
+
+ <li class="itemize">
+ Displays
+ comments.
+ </li>
+ <li class="itemize">
+ Space
+ in
+ front
+ of
+ &#8220;<span
+class="cmtt-10">\label</span>&#8221;
+ and
+ similar
+ commands.
+ </li>
+ <li class="itemize">
+ Use
+ of
+ &#8220;<span
+class="cmtt-10">x</span>&#8221;
+ instead
+ of
+ &#8220;<span
+class="cmtt-10">$\times$</span>&#8221;
+ between
+ numbers.
+ </li>
+ <li class="itemize">
+ Multiple
+ spaces
+ in
+ input
+ which
+ will
+ be
+ rendered
+ as
+ one
+ space
+ (or
+ multiple
+ spaces,
+ where
+ that
+ is
+ undesirable).
+ </li>
+ <li class="itemize">
+ Warns
+ about
+ text
+
+ which
+ may
+ be
+ ignored.
+ </li>
+ <li class="itemize">
+ Mathematical
+ operators
+ typeset
+ as
+ variables.
+ </li>
+ <li class="itemize">
+ No
+ space
+ in
+ front
+ of/after
+ parenthesis.
+ </li>
+ <li class="itemize">
+ Demands
+ a
+ consistent
+ quote
+ style.
+ </li>
+ <li class="itemize">
+ Punctuation
+ inside
+ inner
+ math
+ mode/outside
+ display
+ math
+ mode.
+ </li>
+ <li class="itemize">
+ Use
+ of
+ <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;primitives
+ where
+ <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;equivalents
+ are
+ available.
+ </li>
+
+ <li class="itemize">
+ Space
+ in
+ front
+ of
+ footnotes.
+ </li>
+ <li class="itemize">
+ Bogus
+ characters
+ following
+ commands.</li></ul>
+</div>
+ </td></tr></table>
+ </li>
+ <li class="itemize">Fully customizable. Intelligent resource format makes it possible to make
+ Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;respect your <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;setup. Even command-line options may be specified
+ globally in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file.
+ </li>
+ <li class="itemize">Supports &#8220;<span
+class="cmtt-10">\input</span>&#8221; command; both <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;and <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;version. Actually includes
+ the files. &#8220;<span
+class="cmtt-10">TEXINPUTS</span>&#8221;-equivalent search path.
+ </li>
+ <li class="itemize">Intelligent warning/error handling. The user may promote/mute warnings to suit
+ his preferences. You may also mute warnings in the header of a file; thus killing
+ much unwanted garbage.
+ </li>
+ <li class="itemize">Scripts included for checking CWEB files written in <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>. (Requires perl
+ v5).
+ </li>
+ <li class="itemize">Supports both <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;2.09 and <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>2<span
+class="cmmi-10"><img
+src="cmmi10-22.png" alt="e" class="10x-x-22" /></span>.
+ </li>
+ <li class="itemize">Flexible output handling. Has some predefined formats and lets the user
+ specify his own format. Uses a &#8220;<span
+class="cmtt-10">printf()</span>&#8221; similar syntax. &#8220;<span
+class="cmtt-10">lacheck</span>&#8221;
+ compatible mode included for interfacing with the AUC-<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;Emacs
+ mode.
+ </li>
+ <li class="itemize">ARexx scripts for interfacing with ScMsg and VBrowse are included. Special scripts
+ included for CygnusED/GoldED, for binding to hotkey.
+ </li>
+ <li class="itemize">Amiga Workbench support. Parameters may be passed by shift-clicking the
+ <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;files and setting the remaining options in the tooltypes.
+ </li>
+ <li class="itemize">Wildcard matching (Amiga only). Matches file patterns internally, thus saving a lot
+ of work. This is, however, platform-specific code -- on UNIX boxes this is done by
+ the shell.
+
+ </li>
+ <li class="itemize">Written in ANSI C. &#8220;<span
+class="cmtt-10">configure</span>&#8221; script included for easy setup and installation on
+ UNIX systems.</li></ul>
+<!--l. 320--><p class="noindent">Still, it is important to realize that the output from Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;is only intended as a <span
+class="cmti-10">guide</span>
+to fixing faults. However, it is by no means always correct. This means that correct
+<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;code may produce errors in Chk<span class="TEX">T<span
+class="E">E</span>X</span>, and vice versa: Incorrect <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;code
+may pass silently through.
+<!--l. 328--><p class="noindent">
+ <h3 class="sectionHead"><span class="titlemark">3 </span> <a
+ id="x1-80003"></a>Legal stuff</h3>
+<!--l. 330--><p class="noindent">Chk<span class="TEX">T<span
+class="E">E</span>X</span>, documentation, installations scripts, CWEB filters and other materials
+provided are copyright <span
+class="cmsy-10">&#169;</span>&nbsp;1995-96 Jens&nbsp;T. Berger&nbsp;Thielemann, unless explicitly stated
+otherwise.
+<!--l. 334--><p class="indent"> This program is free software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software Foundation;
+either version 2 of the License, or (at your option) any later version.
+<!--l. 339--><p class="indent"> This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+details.
+<!--l. 344--><p class="indent"> You should have received a copy of the GNU General Public License along with this
+program; if not, write to:
+ <div class="quote">
+ <!--l. 347--><p class="noindent">The Free Software Foundation, Inc.
+ <br class="newline">675 Mass Ave
+ <br class="newline">Cambridge
+ <br class="newline">MA 02139
+ <br class="newline">USA</div>
+<!--l. 357--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a
+ id="x1-90003.1"></a>Registration</h4>
+<!--l. 359--><p class="noindent">&#8216;Chk<span class="TEX">T<span
+class="E">E</span>X</span>&#8217; is made available under the concept of Gift-Ware, which is a variant of
+Share-Ware. Share-Ware software authors often release &#8216;crippled&#8217; versions of their
+products, i.e.&nbsp;these programs do not support the same functionality as the registered
+versions you get when sending monetary contributions to the authors. It all comes down
+to &#8216;pay for the software you are using&#8217; in Share-Ware terms. With Gift-Ware registration
+it is different, you are not required to contribute money, but a gift will do. With
+&#8216;Chk<span class="TEX">T<span
+class="E">E</span>X</span>&#8217; you always get a fully functional program, there is no &#8216;crippled&#8217; test release
+which you can try for a limited time and then have to pay for in order to receive the
+working registered version.
+<!--l. 371--><p class="indent"> It may seem as if &#8216;Chk<span class="TEX">T<span
+class="E">E</span>X</span>&#8217; was free, but this is not the case. Although
+there is no need to pay the author in order to get a fully functional version of
+the program you should consider making a contribution. You don&#8217;t need to
+feel guilty if you cannot or do not want to give me something in return for
+the work I have put into &#8216;Chk<span class="TEX">T<span
+class="E">E</span>X</span>&#8217;. Show me that it was worth spending so
+much time listening to users, updating, rewriting and enhancing this program.
+Your contributions will provide the motivation for me to keep developing the
+program.
+
+<!--l. 381--><p class="indent"> Send your contribution to the following address:
+ <div class="quote">
+ <!--l. 386--><p class="noindent">Jens Berger
+ <br class="newline">Spektrumvn. 4
+ <br class="newline">N-0666 Oslo
+ <br class="newline">Norway</div>
+<!--l. 402--><p class="noindent">
+ <h3 class="sectionHead"><span class="titlemark">4 </span> <a
+ id="x1-100004"></a>Installation</h3>
+<!--l. 404--><p class="noindent">A few words on installation on various platforms:
+<!--l. 406--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="cmbx-10">Amiga:</span> </dt><dd
+class="description">Use the supplied Installer script.
+ </dd><dt class="description">
+<span
+class="cmbx-10">MS-DOS &amp; OS/2:</span> </dt><dd
+class="description">Copy the binary (&#8220;<span
+class="cmtt-10">ChkTeX.exe</span>&#8221;) to somewhere in your path,
+ and place the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file in the same directory.
+ <!--l. 411--><p class="noindent">If you&#8217;re running Emacs, you may wish to copy the file &#8220;<span
+class="cmtt-10">chktex.el</span>&#8221; to
+ your elisp source directory, and add the following line to your &#8220;<span
+class="cmtt-10">.emacs</span>&#8221;
+ file:
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+ (require&nbsp;'chktex)
+</div>
+ </td></tr></table>
+ <!--l. 416--><p class="nopar">
+ </dd><dt class="description">
+<span
+class="cmbx-10">UNIX:</span> </dt><dd
+class="description">Type &#8220;<span
+class="cmtt-10">configure</span>&#8221;, &#8220;<span
+class="cmtt-10">make</span>&#8221; and finally &#8220;<span
+class="cmtt-10">make</span><span
+class="cmtt-10">&nbsp;install</span>&#8221;. To make sure
+ everything proceeded correctly, type &#8220;<span
+class="cmtt-10">make</span><span
+class="cmtt-10">&nbsp;check</span>&#8221;. If you don&#8217;t have superuser
+ privileges and thus access to the default system areas, you should type
+ &#8220;<span
+class="cmtt-10">configure</span><span
+class="cmtt-10">&nbsp;--help</span>&#8221; to help you set up correct paths.
+ <!--l. 424--><p class="noindent">If you haven&#8217;t installed any software like this before, that is distributed in source
+ form, here are some guidelines to help you install it locally at your account. Please
+ note that a mail to the system administrator may be less work for you.
+ :-)
+ <!--l. 429--><p class="noindent">We assume that you have put the archive (&#8220;<span
+class="cmtt-10">chktex.tar.gz</span>&#8221;) in a subdir of yours,
+ with path &#8220;<span
+class="cmtt-10">~/tmp</span>&#8221;. We further assume that your shell is &#8220;<span
+class="cmtt-10">csh</span>&#8221; or &#8220;<span
+class="cmtt-10">tcsh</span>&#8221;. Do the
+ following:
+ <!--l. 433--><p class="noindent">
+ <ol type="1" class="enumerate1" >
+ <li class="enumerate" value="1"
+><a
+ id="x1-10002x1"></a>First of all, unpack the archive contents.
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+ &gt;&nbsp;cd&nbsp;~/tmp
+ &nbsp;<br />&gt;&nbsp;gunzip&nbsp;chktex.tar.gz
+ &nbsp;<br />&gt;&nbsp;tar&nbsp;xf&nbsp;chktex.tar
+</div>
+ </td></tr></table>
+ <!--l. 440--><p class="nopar">
+ </li>
+ <li class="enumerate" value="2"
+><a
+ id="x1-10004x2"></a>Now, we can configure the program. There are some configuration options you
+ should know about:
+ <dl class="description"><dt class="description">
+ <span
+class="cmbx-10">&#8220;</span><span
+class="cmtt-10">--enable-emacs-hack</span><span
+class="cmbx-10">&#8221;:</span> </dt><dd
+class="description">Install a small file which adds Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;to
+ the command menu of AUC-<span class="TEX">T<span
+class="E">E</span>X</span>. This is to be considered as a hack,
+ and may break in future versions of AUC-<span class="TEX">T<span
+class="E">E</span>X</span>. It works fine under
+ AUC-<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;v2.9, though.
+ <!--l. 450--><p class="noindent">This option needs the path of your elisp directory as argument, e.g.
+ &#8220;<span
+class="cmtt-10">--enable-emacs-hack=/home/myself/elisp</span>&#8221; or similar.
+ <!--l. 453--><p class="noindent">You&#8217;ll also have to add the following line to your &#8220;<span
+class="cmtt-10">.emacs</span>&#8221; file:
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+ (require&nbsp;'chktex)
+</div>
+ </td></tr></table>
+ <!--l. 457--><p class="nopar">You can now access Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;from the &#8220;<span
+class="cmtt-10">Command</span>&#8221; menu in AUC-<span class="TEX">T<span
+class="E">E</span>X</span>. To
+ cycle through the messages, type <span class="verb"><span
+class="cmtt-10">C-x</span><span
+class="cmtt-10">&nbsp;`</span>.
+ </dd><dt class="description">
+ <span
+class="cmbx-10">&#8220;</span><span
+class="cmtt-10">--enable-lacheck-replace</span><span
+class="cmbx-10">&#8221;</span> </dt><dd
+class="description">This enables a quick hack for making the
+ AUC-<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;Emacs mode use Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;instead of lacheck. This is done by
+ installing a stub script which &#8220;overrides&#8221; the original lacheck
+ executable.
+ <!--l. 466--><p class="noindent">While more stable than the previous solution, this is also significantly
+ less elegant -- in computing terms, this is the &#8220;brute force&#8221;
+ approach.
+ </dd><dt class="description">
+ <span
+class="cmbx-10">&#8220;</span><span
+class="cmtt-10">--enable-debug-info</span><span
+class="cmbx-10">&#8221;</span> </dt><dd
+class="description">Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;has an ability to spit out various
+ diagnostic messages using the &#8220;<span
+class="cmtt-10">-d</span>&#8221; flag. This behaviour is on by default.
+ By adding the flag &#8220;<span
+class="cmtt-10">--disable-debug-info</span>&#8221; to the commandline, this
+ will not be compiled in.
+ <!--l. 476--><p class="noindent">This may be useful if you&#8217;re running short of disk space (the time savings
+ are neglible).</dd></dl>
+ <!--l. 480--><p class="noindent">If you are installing the program on your local account, use the following
+ command:
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+ &gt;&nbsp;configure&nbsp;--prefix&nbsp;~/
+</div>
+ </td></tr></table>
+ <!--l. 485--><p class="nopar">
+ <!--l. 487--><p class="noindent">Add eventual extra flags as specified above. This command will generate a
+ significant amount of output, this can usually be ignored.
+ </li>
+ <li class="enumerate" value="3"
+><a
+ id="x1-10006x3"></a>Finally, we can just build the program and install it.
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+ &gt;&nbsp;make
+ &nbsp;<br />&gt;&nbsp;make&nbsp;install
+</div>
+ </td></tr></table>
+ <!--l. 495--><p class="nopar">
+ </li>
+ <li class="enumerate" value="4"
+><a
+ id="x1-10008x4"></a>Finished! The program is now installed and ready to use. You may now
+ tell other people to put your bindir in their path in order to benefit
+ from your work. All that remains is to make the shell aware of your
+ installation.
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+ &gt;&nbsp;rehash
+</div>
+ </td></tr></table>
+ <!--l. 504--><p class="nopar">
+ <!--l. 506--><p class="noindent">To make the remaining parts of your system aware of this, you&#8217;ll have to log
+ out and re-log in, I&#8217;m afraid. However, you should delay this until you&#8217;ve
+ completed this installation procedure.
+ </li>
+ <li class="enumerate" value="5"
+><a
+ id="x1-10010x5"></a>If you wish to make sure that everything is OK (you ought to), you may now
+ ask Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;to do a self-test:
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+ &gt;&nbsp;make&nbsp;check
+</div>
+ </td></tr></table>
+ <!--l. 515--><p class="nopar">
+ </li></ol>
+ </dd><dt class="description">
+<span
+class="cmbx-10">Other platforms:</span> </dt><dd
+class="description">First of all, you have to copy the &#8220;<span
+class="cmtt-10">config.h.in</span>&#8221; file to a file
+ named &#8220;<span
+class="cmtt-10">config.h</span>&#8221;. Then, edit it to reflect your system. Do the same
+ with &#8220;<span
+class="cmtt-10">OpSys.h</span>&#8221; (this file has been reduced significantly). If you wish, you
+ may define &#8220;<span
+class="cmtt-10">DATADIR</span>&#8221; to the path you want the global resource file to be
+ put.
+ <!--l. 526--><p class="noindent">Now, I would suggest that you take a peak at the &#8220;<span
+class="cmtt-10">OpSys.c</span>&#8221; file, and edit it
+ appropiately, for more comfort. This should not be necessary, though, at least not
+ the first time.
+ <!--l. 531--><p class="noindent">Finally, you may now compile and link all <span class="verb"><span
+class="cmtt-10">.c </span>files. Define &#8220;<span
+class="cmtt-10">HAVE</span><span
+class="cmtt-10">_CONFIG</span><span
+class="cmtt-10">_H</span>&#8221; to 1
+ (on the command-line, for instance). If the &#8220;<span
+class="cmtt-10">config.h</span>&#8221; you wish to use has
+ another name, define &#8220;<span
+class="cmtt-10">CONFIG</span><span
+class="cmtt-10">_H</span><span
+class="cmtt-10">_NAME</span>&#8221; to that (in that case, don&#8217;t define
+ &#8220;<span
+class="cmtt-10">HAVE</span><span
+class="cmtt-10">_CONFIG</span><span
+class="cmtt-10">_H</span>&#8221;).
+ <!--l. 537--><p class="noindent">Put the directory path of the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file in a environment variable named
+ &#8220;<span
+class="cmtt-10">CHKTEXRC</span>&#8221;. The files &#8220;<span
+class="cmtt-10">deweb.in</span>&#8221; and &#8220;<span
+class="cmtt-10">chkweb</span>&#8221; should be moved to a directory in
+ your path. These files may need further setup, as they haven&#8217;t got the location of
+ perl initialized.
+ <!--l. 543--><p class="noindent">If your compiler/the compiled program complains (or crashes!), you may try the
+ hints listed below. Please note that it only makes sense to try these hints if your
+ compiler fails to produce a working program.
+ <!--l. 548--><p class="noindent">
+ <ol type="1" class="enumerate1" >
+ <li class="enumerate" value="1"
+><a
+ id="x1-10012x1"></a>Increase the preprocessor buffers and line buffers. The Chk<span class="TEX">T<span
+class="E">E</span>X</span> sources
+ define macros sized 3-4k (expanding to about the same), and passes
+ arguments sized about 1k.
+ </li>
+ <li class="enumerate" value="2"
+><a
+ id="x1-10014x2"></a>Use the magic switch which lets us use large &#8220;<span
+class="cmtt-10">switch(...)</span><span
+class="cmsy-10">{</span><span
+class="cmtt-10">...</span><span
+class="cmsy-10">}</span>&#8221;
+ statements; some of these statements have about 120 &#8220;<span
+class="cmtt-10">case</span>&#8221; entries.
+ </li>
+ <li class="enumerate" value="3"
+><a
+ id="x1-10016x3"></a>The sources require that at least the first 12 of each identifier is
+ significant.</li></ol>
+ </dd></dl>
+<!--l. 559--><p class="noindent"><span
+class="cmbx-10">Note: </span>You <span
+class="cmti-10">must </span>install the new &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file; Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;will fail to function
+unless!
+<!--l. 562--><p class="indent"> After doing this, you may enhance Chk<span class="TEX">T<span
+class="E">E</span>X</span>&#8217; behaviour by reading/editing the
+&#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file.
+<!--l. 566--><p class="noindent">
+ <h3 class="sectionHead"><span class="titlemark">5 </span> <a
+ id="x1-110005"></a>Usage</h3>
+
+<!--l. 568--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a
+ id="x1-120005.1"></a>Chk<span class="TEX">T<span
+class="E">E</span>X</span></h4>
+<!--l. 570--><p class="noindent">Amiga v2.04+ users may wish to note that you may pass the files that Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;is to
+process by shift-clicking them. In addition, you may specify the arguments as tooltypes to
+the main program icon, using the <span
+class="cmss-10">Info </span>menu option. For instance, if you wish to make the
+&#8216;fancy&#8217; output the default when starting from Workbench, enter the following as a
+tooltype:
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+Verbosity=2
+</div>
+</td></tr></table>
+<!--l. 579--><p class="nopar">We use the WB2Argv package (also developed by me, available on Aminet as
+&#8220;<span
+class="cmtt-10">dev/c/WB2Argv.lha</span>&#8221;), and will fold case until the &#8220;<span
+class="cmtt-10">=</span>&#8221; character, in tradition with the
+case-insensitivity of Amiga OS. In all other respects (and platforms), the options listed
+below are case-sensitive.
+<!--l. 589--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">5.1.1 </span> <a
+ id="x1-130005.1.1"></a>Synopsis</h5>
+<!--l. 591--><p class="noindent">A UNIX-compliant template format follows:
+ <table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-4-" ><colgroup id="TBL-4-1g"><col
+id="TBL-4-1"><col
+id="TBL-4-2"></colgroup><tr
+ valign="baseline" id="TBL-4-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-4-1-1"
+class="td11"> <span
+class="cmtt-10">chktex </span></td><td align="left" id="TBL-4-1-2"
+class="td11"> <!--l. 599--><p class="noindent"><span
+class="cmtt-10">[-hiqrW]</span>
+ <span
+class="cmtt-10">[-v[0-...]]</span>
+ <span
+class="cmtt-10">[-l &lt;rcfile&gt;]</span>
+ <span
+class="cmtt-10">[-[wemn] &lt;[1-42]|all&gt;]</span>
+ <span
+class="cmtt-10">[-d[0-...]]</span>
+ <span
+class="cmtt-10">[-p &lt;pseudoname&gt;]</span>
+ <span
+class="cmtt-10">[-o &lt;outputfile&gt;]</span>
+ <span
+class="cmtt-10">[-[btxgI][0|1]]</span>
+ <span
+class="cmtt-10">file1</span>
+ <span
+class="cmtt-10">file2</span>
+ <span
+class="cmtt-10">...</span> </td>
+ </tr></table>
+<!--l. 602--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">5.1.2 </span> <a
+ id="x1-140005.1.2"></a>Options</h5>
+<!--l. 604--><p class="noindent">These are the options Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;currently accepts. Please note that single-lettered
+options requiring a numerical or no argument may be concatenated. E.g.&nbsp;saying
+&#8220;<span
+class="cmtt-10">-v0qb0w2</span>&#8221; is the same as saying &#8220;<span
+class="cmtt-10">-v0</span><span
+class="cmtt-10">&nbsp;-q</span><span
+class="cmtt-10">&nbsp;-b0</span><span
+class="cmtt-10">&nbsp;-w2</span>&#8221;, except for being less to
+type.
+<!--l. 610--><p class="indent"> Enough general talk; here&#8217;s a rather detailed description of all options:
+ <dl class="description"><dt class="description">
+<span
+class="cmbx-10">Misc.</span><span
+class="cmbx-10">&nbsp;options:</span> </dt><dd
+class="description">General options which aren&#8217;t related to some specific subpart of
+ Chk<span class="TEX">T<span
+class="E">E</span>X</span>.
+ <dl class="description"><dt class="description">
+ <span
+class="cmtt-10">-h [--help]</span> </dt><dd
+class="description">Gives you a command summary.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-i [--license]</span> </dt><dd
+class="description">Shows distribution information.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-l [--localrc]</span> </dt><dd
+class="description">Reads a resource-file formatted as the global resource-file
+ &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;, in addition to the global resource-file. This option needs the
+ name of the resource-file as a parameter. See also <span
+class="cmtt-10">-g</span>.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-r [--reset]</span> </dt><dd
+class="description">This will reset all settings to their defaults. This may be useful
+ if you use the <span
+class="cmtt-10">CMDLINE </span>directive in your &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file, and wish to do
+ something unusual.
+
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-d [--debug]</span> </dt><dd
+class="description">Needs a numeric argument; a bitmask telling what to output.
+ The values below may be added in order to output multiple debugging
+ info.
+ <table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-8-" ><colgroup id="TBL-8-1g"><col
+id="TBL-8-1"><col
+id="TBL-8-2"></colgroup><tr
+ valign="baseline" id="TBL-8-1-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-8-1-1"
+class="td11"> <span
+class="cmbx-10">Value </span></td><td align="left" id="TBL-8-1-2"
+class="td11"> <!--l. 637--><p class="noindent"><span
+class="cmbx-10">Dumps. . .</span> </td>
+ </tr><tr
+ valign="baseline" id="TBL-8-2-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-8-2-1"
+class="td11"> 1 </td><td align="left" id="TBL-8-2-2"
+class="td11"> <!--l. 637--><p class="noindent">All warnings available and their current status. </td>
+ </tr><tr
+ valign="baseline" id="TBL-8-3-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-8-3-1"
+class="td11"> 2 </td><td align="left" id="TBL-8-3-2"
+class="td11"> <!--l. 637--><p class="noindent">Statistics for all lists in the resource file. </td>
+ </tr><tr
+ valign="baseline" id="TBL-8-4-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-8-4-1"
+class="td11"> 4 </td><td align="left" id="TBL-8-4-2"
+class="td11"> <!--l. 637--><p class="noindent">The contents of all lists in the resource file. </td>
+ </tr><tr
+ valign="baseline" id="TBL-8-5-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-8-5-1"
+class="td11"> 8 </td><td align="left" id="TBL-8-5-2"
+class="td11"> <!--l. 637--><p class="noindent">Misc.&nbsp;other status information. </td>
+ </tr><tr
+ valign="baseline" id="TBL-8-6-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-8-6-1"
+class="td11"> 16 </td><td align="left" id="TBL-8-6-2"
+class="td11"> <!--l. 637--><p class="noindent">Run-time info (note that this isn&#8217;t widely used). </td>
+ </tr><tr
+ valign="baseline" id="TBL-8-7-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-8-7-1"
+class="td11"> </td>
+ </tr></table>
+ The info is produced after all switches and resource files have been
+ processed.
+ <!--l. 641--><p class="noindent">It is possible to install versions of Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;that ignore this flag; this means
+ that it is not certain that this flag works.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-W [--version]</span> </dt><dd
+class="description">Displays version information, and exits.</dd></dl>
+ </dd><dt class="description">
+<span
+class="cmbx-10">Muting warning messages:</span> </dt><dd
+class="description">Controls whether and in what form error messages will
+ appear. Usually they accept a specific warning number (e.g.&nbsp;&#8220;<span
+class="cmtt-10">-w2</span>&#8221;), but
+ you may also say &#8220;<span
+class="cmtt-10">all</span>&#8221; (e.g.&nbsp;&#8220;<span
+class="cmtt-10">-wall</span>&#8221;) which does the operation on <span
+class="cmti-10">all</span>
+ warnings.
+ <dl class="description"><dt class="description">
+ <span
+class="cmtt-10">-w [--warnon]</span> </dt><dd
+class="description">Makes the message number passed as parameter a warning
+ and turns it on.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-e [--erroron]</span> </dt><dd
+class="description">Makes the message number passed as parameter an error
+ and turns it on.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-m [--msgon]</span> </dt><dd
+class="description">Makes the message number passed as parameter a message
+ and turns it on. Messages are not counted.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-n [--nowarn]</span> </dt><dd
+class="description">Turns the warning/error number passed as a parameter off.</dd></dl>
+ </dd><dt class="description">
+<span
+class="cmbx-10">Output control flags:</span> </dt><dd
+class="description">Determines the appearance and destination of the error
+ reports.
+ <dl class="description"><dt class="description">
+ <span
+class="cmtt-10">-q [--quiet]</span> </dt><dd
+class="description">Shuts up about copyright information.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-o [--output]</span> </dt><dd
+class="description">Normally, all errors are piped to <span
+class="cmtt-10">stdout</span>. Using this option
+ with a parameter, errors will be sent to the named file instead. Only
+ information relative to the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;file will be sent to that file. Memory
+ problems and similar will as as always be sent to <span
+class="cmtt-10">stderr</span>. If a file with
+ the name given already exists, it will be renamed to &#8220;<span
+class="cmtt-10">foobar.bak</span>&#8221;
+ (&#8220;<span
+class="cmtt-10">foobar.$cl</span>&#8221; under MS-DOS), &#8220;<span
+class="cmtt-10">foobar</span>&#8221; being the name of the file.
+ See also &#8220;<span
+class="cmtt-10">-b</span>&#8221;.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-v [--verbosity]</span> </dt><dd
+class="description">Specifies how much and how you wish the error reports
+ to be displayed. This is specified in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file; we&#8217;ll list the
+
+ default values below. If you wish, you may thus edit the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file
+ to add or modify new formats.
+ <!--l. 677--><p class="noindent">The default is mode 1 (that is, the <span
+class="cmti-10">second </span>entry in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file),
+ using <span
+class="cmtt-10">-v </span>without any parameter will give you mode 2.
+ <!--l. 681--><p class="noindent">
+ <dl class="description"><dt class="description">
+ <span
+class="cmbx-10">0</span> </dt><dd
+class="description">Will show the information in a way that should be suitable for further
+ parsing by <span
+class="cmtt-10">awk</span>, <span
+class="cmtt-10">sed </span>or similar. The format is as follows:
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+ File:Line:Column:Warning&nbsp;number:Warning&nbsp;message
+</div>
+ </td></tr></table>
+ <!--l. 687--><p class="nopar">The colons may be replaced with another string; use the <span class="verb"><span
+class="cmtt-10">-s </span>switch for
+ this.
+ <!--l. 691--><p class="noindent">As the program does not output all errors in quite order, this output
+ format is also suitable for piping through &#8220;<span
+class="cmtt-10">sort</span>&#8221;.
+ </dd><dt class="description">
+ <span
+class="cmbx-10">1</span> </dt><dd
+class="description">Shows the information in a way which is more comprehensible
+ for humans, but which still doesn&#8217;t need anything but a glass
+ tty.
+ </dd><dt class="description">
+ <span
+class="cmbx-10">2</span> </dt><dd
+class="description">Shows the information in a fancy way, using escape codes and stuff. It is the
+ indeed most readable of all modes; however, it needs proper set up of the
+ &#8220;<span
+class="cmtt-10">ChkTeX.h</span>&#8221; at compilation time. UNIX boxes, however, will find the
+ information automatically.
+ </dd><dt class="description">
+ <span
+class="cmbx-10">3</span> </dt><dd
+class="description">Shows the information suitable for parsing by Emacs; this is the same
+ format as <span
+class="cmtt-10">lacheck </span>uses. More formally, it is the following:
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+ "File",&nbsp;line&nbsp;Line:&nbsp;Warning&nbsp;message
+</div>
+ </td></tr></table>
+ <!--l. 706--><p class="nopar">
+ <!--l. 708--><p class="noindent">To utilize this, type <span class="verb"><span
+class="cmtt-10">M-x</span><span
+class="cmtt-10">&nbsp;compile</span><span
+class="cmtt-10">&nbsp;RET</span>. Delete whatever is written in the
+ minibuffer, and type <span class="verb"><span
+class="cmtt-10">chktex</span><span
+class="cmtt-10">&nbsp;-v3</span><span
+class="cmtt-10">&nbsp;texfile.tex</span>, and you should be able
+ to browse through the error messages. Use <span class="verb"><span
+class="cmtt-10">C-x</span><span
+class="cmtt-10">&nbsp;` </span>to parse the
+ messages.
+ </dd><dt class="description">
+ <span
+class="cmbx-10">4</span> </dt><dd
+class="description">More or less the same as <span class="verb"><span
+class="cmtt-10">-v3</span>, but also includes information on where the
+ error actually was found. Takes somewhat longer time to parse, but much
+ more informative in use.</dd></dl>
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-f [--format]</span> </dt><dd
+class="description">Specifies the format of the output. This is done using a
+ format similar to &#8220;<span
+class="cmtt-10">printf()</span>&#8221;, where we support the specifiers listed
+ below.
+ <table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-12-" ><colgroup id="TBL-12-1g"><col
+id="TBL-12-1"><col
+id="TBL-12-2"></colgroup><tr
+ valign="baseline" id="TBL-12-1-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-1-1"
+class="td11"> <span
+class="cmbx-10">Code </span></td><td align="left" id="TBL-12-1-2"
+class="td11"> <!--l. 744--><p class="noindent"><span
+class="cmbx-10">Description</span> </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-2-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-2-1"
+class="td11"> <span
+class="cmtt-10">%b </span></td><td align="left" id="TBL-12-2-2"
+class="td11"> <!--l. 744--><p class="noindent">String to print <span
+class="cmbx-10">b</span>etween fields (from <span
+class="cmtt-10">-s </span>option). </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-3-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-3-1"
+class="td11"> <span
+class="cmtt-10">%c </span></td><td align="left" id="TBL-12-3-2"
+class="td11"> <!--l. 744--><p class="noindent"><span
+class="cmbx-10">C</span>olumn position of error. </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-4-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-4-1"
+class="td11"> <span
+class="cmtt-10">%d </span></td><td align="left" id="TBL-12-4-2"
+class="td11"> <!--l. 744--><p class="noindent">Length of error (<span
+class="cmbx-10">d</span>igit). </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-5-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-5-1"
+class="td11"> <span
+class="cmtt-10">%f </span></td><td align="left" id="TBL-12-5-2"
+class="td11"> <!--l. 744--><p class="noindent">Current <span
+class="cmbx-10">f</span>ilename. </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-6-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-6-1"
+class="td11"> <span
+class="cmtt-10">%i </span></td><td align="left" id="TBL-12-6-2"
+class="td11"> <!--l. 744--><p class="noindent">Turn on <span
+class="cmbx-10">i</span>nverse printing mode. </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-7-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-7-1"
+class="td11"> <span
+class="cmtt-10">%I </span></td><td align="left" id="TBL-12-7-2"
+class="td11"> <!--l. 744--><p class="noindent">Turn off <span
+class="cmbx-10">i</span>nverse printing mode. </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-8-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-8-1"
+class="td11"> <span
+class="cmtt-10">%k </span></td><td align="left" id="TBL-12-8-2"
+class="td11"> <!--l. 744--><p class="noindent"><span
+class="cmbx-10">k</span>ind of error (warning, error, message). </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-9-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-9-1"
+class="td11"> <span
+class="cmtt-10">%l </span></td><td align="left" id="TBL-12-9-2"
+class="td11"> <!--l. 744--><p class="noindent"><span
+class="cmbx-10">l</span>ine number of error. </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-10-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-10-1"
+class="td11"> <span
+class="cmtt-10">%m </span></td><td align="left" id="TBL-12-10-2"
+class="td11"> <!--l. 744--><p class="noindent">Warning <span
+class="cmbx-10">m</span>essage. </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-11-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-11-1"
+class="td11"> <span
+class="cmtt-10">%n </span></td><td align="left" id="TBL-12-11-2"
+class="td11"> <!--l. 744--><p class="noindent">Warning <span
+class="cmbx-10">n</span>umber. </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-12-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-12-1"
+class="td11"> <span
+class="cmtt-10">%u </span></td><td align="left" id="TBL-12-12-2"
+class="td11"> <!--l. 744--><p class="noindent">An <span
+class="cmbx-10">u</span>nderlining line (like the one which appears when
+ using &#8220;<span
+class="cmtt-10">-v1</span>&#8221;). </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-13-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-13-1"
+class="td11"> <span
+class="cmtt-10">%r </span></td><td align="left" id="TBL-12-13-2"
+class="td11"> <!--l. 744--><p class="noindent">Part of line in front of error (&#8216;S&#8217; <span
+class="cmsy-10">- </span>1). </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-14-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-14-1"
+class="td11"> <span
+class="cmtt-10">%s </span></td><td align="left" id="TBL-12-14-2"
+class="td11"> <!--l. 744--><p class="noindent">Part of line which contains error (<span
+class="cmbx-10">s</span>tring). </td>
+ </tr><tr
+ valign="baseline" id="TBL-12-15-"><td align="center" style="white-space:nowrap; text-align:center;" id="TBL-12-15-1"
+class="td11"> <span
+class="cmtt-10">%t </span></td><td align="left" id="TBL-12-15-2"
+class="td11"> <!--l. 744--><p class="noindent">Part of line after error (&#8216;S&#8217; + 1). </td>
+ </tr></table>
+ <!--l. 747--><p class="noindent">Other characters will be passed literally; thus you can say &#8220;<span
+class="cmtt-10">%%</span>&#8221; to achieve a
+ single percent sign in the output. Please note that we may introduce
+ other specifiers in the future, so don&#8217;t abuse this feature for other
+ characters.
+ <!--l. 752--><p class="noindent">Also, note that we do <span
+class="cmti-10">not </span>support field lengths (yet). This may come in the
+ future, if I get the time...
+ <!--l. 755--><p class="noindent">The <span
+class="cmtt-10">-v </span>command is implemented by indexing into the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file; read
+ that for seeing how each format is implemented. If you find yourself using a
+ particular format often by using the -f switch, consider putting it in the
+ &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file instead.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-V [--pipeverb]</span> </dt><dd
+class="description">Which entry we&#8217;ll use in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file whenever <span
+class="cmtt-10">stdout</span>
+ isn&#8217;t a terminal.
+ <!--l. 762--><p class="noindent">The default is to use the same mode as specified with the <span
+class="cmtt-10">-v </span>switch; using <span
+class="cmtt-10">-V</span>
+ without any parameter will give you mode 1.
+ <!--l. 766--><p class="noindent">This switch was implemented because GNU less has problems with the escape
+ codes Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;uses for displaying inverse text. Under UNIX, there&#8217;s another
+
+ way around, though, which is slightly more elegant. Add the following line to
+ your &#8220;<span
+class="cmtt-10">.envir</span>&#8221; file:
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+ setenv&nbsp;LESS&nbsp;-r
+</div>
+ </td></tr></table>
+ <!--l. 772--><p class="nopar">
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-p [--pseudoname]</span> </dt><dd
+class="description">With this switch, you can provide the filename which will
+ be used when we report the errors. This may be useful in scripts,
+ especially when doing pipes. It is in other words similar to C&#8217;s <span class="verb"><span
+class="cmtt-10">#line</span>
+ directive.
+ <!--l. 779--><p class="noindent">We will only assume this name for the uppermost file; files that this one in
+ turn <span class="verb"><span
+class="cmtt-10">\</span><span class="verb"><span
+class="cmtt-10">input </span>are presented under their original names. This seems most logical
+ to me.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-s [--splitchar]</span> </dt><dd
+class="description">String to use instead of the colons when doing <span
+class="cmtt-10">-v0</span>; e.g.&nbsp;this
+ string will be output between the fields.
+ </dd></dl>
+ </dd><dt class="description">
+<span
+class="cmbx-10">Boolean switches:</span> </dt><dd
+class="description">Common for all of these are that they take an optional parameter.
+ If it is <span
+class="cmtt-10">0</span>, the feature will be disabled, if it is <span
+class="cmtt-10">1</span>, it will be enabled. All
+ these features are on by default; and are toggled if you don&#8217;t give any
+ parameter.
+ <!--l. 794--><p class="noindent">
+ <dl class="description"><dt class="description">
+ <span
+class="cmtt-10">-b [--backup]</span> </dt><dd
+class="description">If you use the <span
+class="cmtt-10">-o </span>switch, and the named outputfile exists, it
+ will be renamed to <span
+class="cmtt-10">filename.bak</span>.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-I [--inputfiles]</span> </dt><dd
+class="description">Execute <span class="verb"><span
+class="cmtt-10">\</span><span class="verb"><span
+class="cmtt-10">input </span>statements; e.g.&nbsp;include the file in the
+ input. Our input parsing does of course nest; we use an input-stack to
+ keep track of this.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-H [--headererr]</span> </dt><dd
+class="description">Show errors found in front of the <span class="verb"><span
+class="cmtt-10">\begin{document} </span>line.
+ Some people keep <span
+class="cmti-10">lots </span>of pure <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;code there, which errors can&#8217;t be
+ detected reliably (in other words, we will in most cases just produce a
+ lot of garbage).
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-g [--globalrc]</span> </dt><dd
+class="description">Read in the global resource file. This switch may be useful
+ together with the <span
+class="cmtt-10">-l </span>option.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-t [--tictoc]</span> </dt><dd
+class="description">Display a twirling baton, to show that we&#8217;re working. <span
+class="cmtt-10">-v0</span>
+ does an <span
+class="cmtt-10">-t0</span>, too, as it assumes that the user then uses the program
+ non-interactively. This is now a no-op.
+ </dd><dt class="description">
+ <span
+class="cmtt-10">-x [--wipeverb]</span> </dt><dd
+class="description">Ignore the &#8220;<span class="verb"><span
+class="cmtt-10">\verb</span>&#8221;
+ command found within the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;file and its argument is completely
+ by the checking routines. This is done by simply overwriting them. If you
+ somehow don&#8217;t like that (for instance, you would like to count brackets
+ inside those commands, too), use this switch.</dd></dl>
+
+ </dd></dl>
+<!--l. 820--><p class="indent"> If you don&#8217;t specify any input <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>-files on the commandline, we&#8217;ll read from
+<span
+class="cmtt-10">stdin</span>. To abort <span
+class="cmtt-10">stdin </span>input, press the following keycombinations:
+ <div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-13-" ><colgroup id="TBL-13-1g"><col
+id="TBL-13-1"><col
+id="TBL-13-2"></colgroup><tr
+ valign="baseline" id="TBL-13-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-13-1-1"
+class="td11"> <span
+class="cmbx-10">Machine </span></td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-13-1-2"
+class="td11"> <span
+class="cmbx-10">Key-combination </span></td>
+</tr><tr
+ valign="baseline" id="TBL-13-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-13-2-1"
+class="td11"> Amiga </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-13-2-2"
+class="td11"> <span class="fbox"><span
+class="cmtt-10">Ctrl</span></span> +<span class="fbox"> <span
+class="cmtt-10">\</span></span> </td>
+</tr><tr
+ valign="baseline" id="TBL-13-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-13-3-1"
+class="td11"> UNIX </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-13-3-2"
+class="td11"> <span class="fbox"><span
+class="cmtt-10">Ctrl</span></span> +<span class="fbox"> <span
+class="cmtt-10">D</span></span> </td>
+</tr><tr
+ valign="baseline" id="TBL-13-4-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-13-4-1"
+class="td11"> MS-DOS </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-13-4-2"
+class="td11"> <span class="fbox"><span
+class="cmtt-10">Ctrl</span></span> +<span class="fbox"> Z</span>, followed by return. </td> </tr></table>
+</div>
+<!--l. 833--><p class="indent"> By default, we&#8217;re using the 1994 version of GNU&#8217;s &#8220;<span
+class="cmtt-10">getopt()</span>&#8221; routine. For those
+of you who have only used the Amiga&#8217;s &#8220;<span
+class="cmtt-10">ReadArgs()</span>&#8221;, here are some quick
+instructions:
+ <ul class="itemize1">
+ <li class="itemize">Options may be given in any order; the names of the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>-files do not have
+ to be the last arguments. This behaviour may be turned off by creating an
+ environment variable named &#8220;<span
+class="cmtt-10">POSIXLY</span><span
+class="cmtt-10">_CORRECT</span>&#8221;.
+ </li>
+ <li class="itemize">The special argument &#8220;<span
+class="cmtt-10">--</span>&#8221; forces an end of option-scanning.
+ </li>
+ <li class="itemize">Long-named options begin with &#8220;<span
+class="cmtt-10">--</span>&#8221; instead of &#8220;<span
+class="cmtt-10">-</span>&#8221;. Their names may be
+ abbreviated as long as the abbreviation is unique or is an exact match for
+ some defined option. If they have an argument, it follows the option name in
+ the argument, separated from the option name by a &#8220;<span
+class="cmtt-10">=</span>&#8221;, or else the in next
+ argument.</li></ul>
+<!--l. 850--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">5.1.3 </span> <a
+ id="x1-150005.1.3"></a>The &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file</h5>
+<!--l. 852--><p class="noindent">You should also take a look at the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file. As the file is self-documenting; you
+should be able to get the meaning of each keyword by simply reading the file. The
+method for <span
+class="cmti-10">finding it</span>, however, has grown rather complex. An outline is given
+below.
+<!--l. 857--><p class="indent"> If Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;finds multiple files when searching, each and everyone will be read in the
+order specified below. The &#8220;<span
+class="cmtt-10">Keyword =</span><span
+class="cmsy-10">{ </span><span
+class="cmtt-10">item item ...</span><span
+class="cmsy-10">}</span>&#8221; may thus be necessary to
+reset previously defined lists.
+<!--l. 862--><p class="indent"> In this list, &#8220;<span
+class="cmtt-10">$foo</span>&#8221; is assumed to be the environment variable &#8220;<span
+class="cmtt-10">foo</span>&#8221;:
+<!--l. 865--><p class="indent">
+ <ol type="1" class="enumerate1" >
+ <li class="enumerate" value="1"
+><a
+ id="x1-15002x1"></a>First, we&#8217;ll take a look at the directory which was specified as &#8220;<span
+class="cmtt-10">DATADIR</span>&#8221;
+ during compilation (this does not happen on Amiga machines). On UNIX
+ boxes, this usually evaluates to &#8220;<span
+class="cmtt-10">/usr/local/share/chktexrc</span>&#8221; or similar,
+ under MS-DOS it is set to &#8220;<span
+class="cmtt-10">\emtex\data\chktexrc</span>&#8221;.
+ </li>
+ <li class="enumerate" value="2"
+><a
+ id="x1-15004x2"></a>Look in the following system directories:
+ <div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-14-" ><colgroup id="TBL-14-1g"><col
+id="TBL-14-1"><col
+id="TBL-14-2"></colgroup><tr
+ valign="baseline" id="TBL-14-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-14-1-1"
+class="td11"> <span
+class="cmbx-10">Machine </span></td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-14-1-2"
+class="td11"> <span
+class="cmbx-10">Directory </span></td>
+</tr><tr
+ valign="baseline" id="TBL-14-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-14-2-1"
+class="td11"> 2.04+ Amiga </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-14-2-2"
+class="td11"> <span
+class="cmtt-10">ENV:.chktexrc </span></td>
+</tr><tr
+ valign="baseline" id="TBL-14-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-14-3-1"
+class="td11"> 1.3 Amiga </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-14-3-2"
+class="td11"> <span
+class="cmtt-10">S:.chktexrc </span></td>
+</tr><tr
+ valign="baseline" id="TBL-14-4-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-14-4-1"
+class="td11"> UNIX </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-14-4-2"
+class="td11"> &#8220;<span
+class="cmtt-10">$HOME/.chktexrc</span>&#8221; or &#8220;<span
+class="cmtt-10">$LOGDIR/.chktexrc</span>&#8221; </td>
+</tr><tr
+ valign="baseline" id="TBL-14-5-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-14-5-1"
+class="td11"> MSDOS </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-14-5-2"
+class="td11"> Program installation path </td>
+</tr></table></div>
+
+ </li>
+ <li class="enumerate" value="3"
+><a
+ id="x1-15006x3"></a>Look for it in the directory pointed to by an environment variable, as specified in
+ the table below:
+ <table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-18-" ><colgroup id="TBL-18-1g"><col
+id="TBL-18-1"><col
+id="TBL-18-2"></colgroup><tr
+ valign="baseline" id="TBL-18-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-18-1-1"
+class="td11"> <span
+class="cmbx-10">Machine </span></td><td align="left" id="TBL-18-1-2"
+class="td11"> <!--l. 891--><p class="noindent"><span
+class="cmbx-10">Directory</span> </td>
+ </tr><tr
+ valign="baseline" id="TBL-18-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-18-2-1"
+class="td11"> Amiga </td><td align="left" id="TBL-18-2-2"
+class="td11"> <!--l. 891--><p class="noindent">&#8220;<span
+class="cmtt-10">$CHKTEXRC/.chktexrc</span>&#8221; </td>
+ </tr><tr
+ valign="baseline" id="TBL-18-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-18-3-1"
+class="td11"> UNIX </td><td align="left" id="TBL-18-3-2"
+class="td11"> <!--l. 891--><p class="noindent">&#8220;<span
+class="cmtt-10">$CHKTEXRC/.chktexrc</span>&#8221; </td>
+ </tr><tr
+ valign="baseline" id="TBL-18-4-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-18-4-1"
+class="td11"> MSDOS </td><td align="left" id="TBL-18-4-2"
+class="td11"> <!--l. 891--><p class="noindent">&#8220;<span
+class="cmtt-10">$CHKTEXRC\chktexrc</span>&#8221;,
+ &#8220;<span
+class="cmtt-10">$CHKTEX</span><span
+class="cmtt-10">_HOME\chktexrc</span>&#8221;
+ or
+ &#8220;<span
+class="cmtt-10">$EMTEXDIR\data\chktexrc</span>&#8221; </td>
+ </tr></table>
+ </li>
+ <li class="enumerate" value="4"
+><a
+ id="x1-15008x4"></a>Look for it in the current directory. On UNIX and Amiga boxes, we expect the
+ filename to be &#8220;<span
+class="cmtt-10">.chktexrc</span>&#8221;; on other machines &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;.
+ </li></ol>
+<!--l. 899--><p class="indent"> If you for some reason wish to undo what the previous files may have done, you may
+say &#8220;<span
+class="cmtt-10">CmdLine </span><span
+class="cmsy-10">{ </span><span
+class="cmtt-10">-g0 -r </span><span
+class="cmsy-10">}</span>&#8221; somewhere in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file; this will reset all previous
+settings.
+<!--l. 904--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">5.1.4 </span> <a
+ id="x1-160005.1.4"></a>Hints</h5>
+<!--l. 905--><p class="noindent">I&#8217;ve tried to collect some advice that may be useful -- if you have a favourite hint, feel
+free to send it to me!
+ <ul class="itemize1">
+ <li class="itemize">If you use &#8220;<span
+class="cmtt-10">german.sty</span>&#8221;; it may be wise to put &#8220;<span
+class="cmtt-10">-n18</span>&#8221; in the &#8220;<span
+class="cmtt-10">CmdLine</span>&#8221;
+ entry in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file. This will probably reduce the amount of false
+ warnings significantly.
+ </li>
+ <li class="itemize">Put &#8220;<span
+class="cmtt-10">-v</span>&#8221; in the &#8220;<span
+class="cmtt-10">CmdLine</span>&#8221; entry of the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file; this makes the fancy
+ printing the default.
+ </li>
+ <li class="itemize">If you&#8217;re working on a large project, it may pay off to make a local resource file
+ which is included in addition to the global one. In this one, add the necessary
+ info to reduce the amount of false warnings -- these usually don&#8217;t do anything
+ but hide the real warnings.
+ </li>
+ <li class="itemize">Create a total ignore environment, which Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;will ignore completely. In here,
+ you can place all that code which outsmarts Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;completely. For instance,
+ add the following lines at the top of your <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;file:
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+ %&nbsp;ChkTeX&nbsp;will&nbsp;ignore&nbsp;material&nbsp;within&nbsp;this&nbsp;environment
+ &nbsp;<br />\newenvironment{ignore}{}{}
+</div>
+ </td></tr></table>
+ <!--l. 926--><p class="nopar">In addition, you should add the item &#8220;<span
+class="cmtt-10">ignore</span>&#8221; to the &#8220;<span
+class="cmtt-10">VerbEnvir</span>&#8221; entry in the
+ &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file.</li></ul>
+<!--l. 930--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">5.1.5 </span> <a
+ id="x1-170005.1.5"></a>Bugs</h5>
+<!--l. 932--><p class="noindent">No fatal ones, I think, but the program currently has some problems when a
+<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;command/parameter stretch over a two lines -- some extra spaces may be
+inserted into the input. I regard the program as fairly well tested; using the SAS/C
+&#8220;<span
+class="cmtt-10">cover</span>&#8221; utility I was able to make sure that approximately 95% of the code has
+actually been run successfully in the final version. This does indeed leave some
+lines; most of these are procedure terminating brackets or &#8220;can&#8217;t happen&#8221; lines,
+though.
+<!--l. 940--><p class="indent"> We&#8217;ve got some problems when isolating the arguments of a command. Although
+improved, it will certainly fail in certain cases; Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;can for instance not handle
+arguments stretching over two lines. This also means that &#8220;<span
+class="cmtt-10">WIPEARG</span>&#8221; entries in the
+&#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file will only have the first half of their argument wiped if the argument
+stretches over two lines. We will, however, take care not to wipe parenthesis in such cases,
+in order to avoid false warnings.
+<!--l. 948--><p class="indent"> Before submitting a bug report, please first see whether the problem can be solved by
+editing the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file appropiately.
+<!--l. 953--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">5.2 </span> <a
+ id="x1-180005.2"></a>ChkWEB</h4>
+<!--l. 955--><p class="noindent">This shell script is provided for checking CWEB files. The template is as follows:
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+chkweb&nbsp;[options]&nbsp;file1&nbsp;file2&nbsp;...
+</div>
+</td></tr></table>
+<!--l. 959--><p class="nopar">As you may see from the script, it is only a trivial interface towards <span
+class="cmtt-10">deweb </span>and Chk<span class="TEX">T<span
+class="E">E</span>X</span>.
+It does not support any individual options on the command line -- all options found will
+be passed onto Chk<span class="TEX">T<span
+class="E">E</span>X</span>. If &#8220;<span
+class="cmtt-10">--</span>&#8221; or a filename is found, the remaining parameters will be
+ignored. The only real intelligence it features is that it will try to append <span class="verb"><span
+class="cmtt-10">.w </span>to filenames
+it can&#8217;t find.
+<!--l. 968--><p class="indent"> If no filenames are given, we will read from <span
+class="cmtt-10">stdin</span>.
+<!--l. 970--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">5.3 </span> <a
+ id="x1-190005.3"></a>DeWEB</h4>
+<!--l. 972--><p class="noindent">This program strips away C code and CWEB commands from CWEB sources. It is called
+with the following synopsis:
+
+ <table width="100%"
+class="verbatim"><tr class="verbatim"><td
+class="verbatim"><div class="verbatim">
+deweb&nbsp;file1&nbsp;file2&nbsp;...
+</div>
+</td></tr></table>
+<!--l. 977--><p class="nopar">
+<!--l. 979--><p class="indent"> <span
+class="cmtt-10">deweb </span>filters away all C &amp;&nbsp;CWEB commands from a CWEB source code. This leaves
+only the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;code. This stripped code, in turn, may then be passed to a suitable
+syntax checker for <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>, like Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;and <span
+class="cmtt-10">lacheck</span>, or spell-checkers like
+<span
+class="cmtt-10">ispell</span>.
+<!--l. 984--><p class="indent"> When <span
+class="cmtt-10">deweb </span>strips away the C code from your CWEB source, it tries to preserve line
+breaks. This means that the error reports from <span
+class="cmti-10">your favorite tool </span>will be correct
+regarding to line numbers. In most cases, the column position will also be correct. This
+significantly simplifies finding the errors in the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;source (in contrast to
+the output from <span
+class="cmtt-10">cweave</span>, which output is truly difficult to figure anything out
+from).
+<!--l. 992--><p class="indent"> <span
+class="cmtt-10">deweb </span>accepts a list of filenames on the argument line, and will send its output to
+<span
+class="cmtt-10">stdout</span>. If no filenames are given, it will read from stdin, acting as a filter. No options are
+currently accepted.
+<!--l. 996--><p class="indent"> Macho users may try to pipe the output from <span
+class="cmtt-10">deweb </span>directly into <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>,
+theoretically, this should work. This would ease the debugging of the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;code
+significantly, as when <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;complains about wrong syntax, you&#8217;ll be able to find the
+erroneous line much more easily. Don&#8217;t expect that the output looks very much like the
+final one, though.
+<!--l. 1002--><p class="indent"> <span
+class="cmtt-10">deweb </span>should now understand all correct <span
+class="cmtt-10">CWEB </span>opcodes. If it complains about not
+understanding a correct opcode, please inform the author.
+<!--l. 1006--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">5.3.1 </span> <a
+ id="x1-200005.3.1"></a>Bugs</h5>
+<!--l. 1008--><p class="noindent"><span
+class="cmtt-10">deweb </span>will not even <span
+class="cmti-10">compile </span>under Perl versions before perl v5. Unfortunately, this means
+that we can&#8217;t even tell the user why we failed; Perl will just complain about not being
+able to compile the regexps.
+<!--l. 1013--><p class="noindent">
+ <h3 class="sectionHead"><span class="titlemark">6 </span> <a
+ id="x1-210006"></a>Explanation of error messages</h3>
+<!--l. 1014--><p class="noindent">Below is a description of all error-messages Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;outputs. Error messages set in <span
+class="cmti-10">italic</span>
+<span
+class="cmti-10">type </span>are turned off by default. Where margin paragraphs are listed in the text,
+they refer to the keyword in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file which controls the discussed
+warning.
+ <div class="marginpar">
+<!--l. 1022--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">Silent</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-21-" ><colgroup id="TBL-21-1g"><col
+id="TBL-21-1"><col
+id="TBL-21-2"></colgroup><tr
+ valign="baseline" id="TBL-21-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-21-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 1: </span></td><td align="left" id="TBL-21-1-2"
+class="td11"> <!--l. 1023--><p class="noindent"><span
+class="cmtt-12">Command</span>
+ <span
+class="cmtt-12">terminated</span>
+ <span
+class="cmtt-12">with</span>
+ <span
+class="cmtt-12">space.</span> </td>
+ </tr></table>
+ <div class="quote">
+
+ <!--l. 1024--><p class="noindent">You tried to terminate a command with a blank space. Usually, this is
+ an error as these are ignored by <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>. In most cases, you would like
+ to have a real space there.
+ <div class="center"
+>
+<!--l. 1028--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">\LaTeX</span><span class="underline"></span><span class="verb"><span
+class="cmtt-10">is</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;typesetter.</span><br>
+<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>is a typesetter.<br>
+<span class="verb"><span
+class="cmtt-10">\LaTeX\</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;typesetter.</span><br>
+<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;is a typesetter.<br>
+</div>
+ </div>
+ <div class="marginpar">
+<!--l. 1037--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">Linker</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-24-" ><colgroup id="TBL-24-1g"><col
+id="TBL-24-1"><col
+id="TBL-24-2"></colgroup><tr
+ valign="baseline" id="TBL-24-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-24-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 2: </span></td><td align="left" id="TBL-24-1-2"
+class="td11"> <!--l. 1038--><p class="noindent"><span
+class="cmtt-12">Non-breaking</span>
+ <span
+class="cmtt-12">space</span>
+ <span
+class="cmtt-12">(`~')</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">have</span>
+ <span
+class="cmtt-12">been</span>
+ <span
+class="cmtt-12">used.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1039--><p class="noindent">When reading a document, it is not very pretty when references are split
+ across lines. If you use the <span class="verb"><span
+class="cmtt-10">~ </span>character, <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;will assign a very high
+ penalty for splitting a line at that point. Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;issues this warning
+ if you have forgot to do this.
+ <div class="center"
+>
+<!--l. 1044--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">Please</span><span
+class="cmtt-10">&nbsp;refer</span><span
+class="cmtt-10">&nbsp;to</span><span
+class="cmtt-10">&nbsp;figure</span><span class="underline"><span
+class="cmtt-10">&nbsp;</span></span><span class="verb"><span
+class="cmtt-10">\ref{foo}.</span><br>
+Please refer to figure 11.<br>
+<span class="verb"><span
+class="cmtt-10">Please</span><span
+class="cmtt-10">&nbsp;refer</span><span
+class="cmtt-10">&nbsp;to</span><span
+class="cmtt-10">&nbsp;figure~\ref{foo}.</span><br>
+Please refer to figure&nbsp;11.<br>
+</div>
+ </div>
+<!--l. 1053--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-27-" ><colgroup id="TBL-27-1g"><col
+id="TBL-27-1"><col
+id="TBL-27-2"></colgroup><tr
+ valign="baseline" id="TBL-27-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-27-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 3: </span></td><td align="left" id="TBL-27-1-2"
+class="td11"> <!--l. 1053--><p class="noindent"><span
+class="cmtt-12">You</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">enclose</span>
+ <span
+class="cmtt-12">the</span>
+ <span
+class="cmtt-12">previous</span>
+ <span
+class="cmtt-12">parenthesis</span>
+ <span
+class="cmtt-12">with</span>
+ <span
+class="cmtt-12">`</span><span
+class="cmsy-10x-x-120">{}</span><span
+class="cmtt-12">'.</span> </td>
+ </tr></table>
+
+ <div class="quote">
+ <!--l. 1055--><p class="noindent">This is a warning which you may ignore, but for maximum aestethic
+ pleasure, you should enclose your bracket characters with &#8216;<span
+class="cmsy-10">{}</span>&#8217;s.
+ <div class="center"
+>
+<!--l. 1058--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">$</span><span class="underline"><span
+class="cmtt-10">&nbsp;</span></span><span class="verb"><span
+class="cmtt-10">[(ab)^{-1}]</span><span class="underline"><span
+class="cmtt-10">&nbsp;</span></span><span class="verb"><span
+class="cmtt-10">\^{-2}$</span><br>
+[(<span
+class="cmmi-10">ab</span>)<sup ><span
+class="cmsy-7">-</span><span
+class="cmr-7">1</span></sup>]<sup ><span
+class="cmsy-7">-</span><span
+class="cmr-7">2</span></sup><br>
+<span class="verb"><span
+class="cmtt-10">${[{(ab)}^{-1}]}^{-2}$</span><br>
+[(<span
+class="cmmi-10">ab</span>)<sup ><span
+class="cmsy-7">-</span><span
+class="cmr-7">1</span></sup>]<sup ><span
+class="cmsy-7">-</span><span
+class="cmr-7">2</span></sup><br>
+</div>
+ </div>
+ <div class="marginpar">
+<!--l. 1067--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">Italic</span>
+<br class="newline"><span
+class="cmtt-12">ItalCmd</span>
+<br class="newline"><span
+class="cmtt-12">NonItalic</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-30-" ><colgroup id="TBL-30-1g"><col
+id="TBL-30-1"><col
+id="TBL-30-2"></colgroup><tr
+ valign="baseline" id="TBL-30-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-30-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 4: </span></td><td align="left" id="TBL-30-1-2"
+class="td11"> <!--l. 1069--><p class="noindent"><span
+class="cmtt-12">Italic</span>
+ <span
+class="cmtt-12">correction</span>
+ <span
+class="cmtt-12">(`\/')</span>
+ <span
+class="cmtt-12">found</span>
+ <span
+class="cmtt-12">in</span>
+ <span
+class="cmtt-12">non-italic</span>
+ <span
+class="cmtt-12">buffer.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1070--><p class="noindent">If you try to use the <span class="verb"><span
+class="cmtt-10">\/ </span>command when Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;believes that the
+ buffer is not outputted as italic, you&#8217;ll get this warning.
+ <div class="center"
+>
+<!--l. 1073--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;an</span><span class="underline"><span
+class="cmtt-10">\/</span></span><span class="verb"><span
+class="cmtt-10">&nbsp;example</span><br>
+This is an example.<br>
+<span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;an</span><span
+class="cmtt-10">&nbsp;example.</span><br>
+This is an example.<br>
+</div>
+ </div>
+ <div class="marginpar">
+<!--l. 1082--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">Italic</span>
+<br class="newline"><span
+class="cmtt-12">ItalCmd</span>
+
+<br class="newline"><span
+class="cmtt-12">NonItalic</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-33-" ><colgroup id="TBL-33-1g"><col
+id="TBL-33-1"><col
+id="TBL-33-2"></colgroup><tr
+ valign="baseline" id="TBL-33-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-33-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 5: </span></td><td align="left" id="TBL-33-1-2"
+class="td11"> <!--l. 1083--><p class="noindent"><span
+class="cmtt-12">Italic</span>
+ <span
+class="cmtt-12">correction</span>
+ <span
+class="cmtt-12">(`\/')</span>
+ <span
+class="cmtt-12">found</span>
+ <span
+class="cmtt-12">more</span>
+ <span
+class="cmtt-12">than</span>
+ <span
+class="cmtt-12">once.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1084--><p class="noindent">If the buffer is italic, and you try to use the <span class="verb"><span
+class="cmtt-10">\/ </span>command more than
+ once, you&#8217;ll get this warning.
+ <div class="center"
+>
+<!--l. 1087--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;{\it</span><span
+class="cmtt-10">&nbsp;example\/</span><span class="underline"><span
+class="cmtt-10">\/</span></span><span class="verb"><span
+class="cmtt-10">}</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;not</span><span
+class="cmtt-10">&nbsp;amusing.</span><br>
+This <span
+class="cmti-10">example </span>is not amusing.<br>
+<span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;{\it</span><span
+class="cmtt-10">&nbsp;example\/}</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;not</span><span
+class="cmtt-10">&nbsp;amusing.</span><br>
+This <span
+class="cmti-10">example </span>is not amusing.<br>
+</div>
+ </div>
+ <div class="marginpar">
+<!--l. 1096--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">Italic</span>
+<br class="newline"><span
+class="cmtt-12">ItalCmd</span>
+<br class="newline"><span
+class="cmtt-12">NonItalic</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-36-" ><colgroup id="TBL-36-1g"><col
+id="TBL-36-1"><col
+id="TBL-36-2"></colgroup><tr
+ valign="baseline" id="TBL-36-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-36-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 6: </span></td><td align="left" id="TBL-36-1-2"
+class="td11"> <!--l. 1097--><p class="noindent"><span
+class="cmtt-12">No</span>
+ <span
+class="cmtt-12">italic</span>
+ <span
+class="cmtt-12">correction</span>
+ <span
+class="cmtt-12">(`\/')</span>
+ <span
+class="cmtt-12">found.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1098--><p class="noindent">You get this error if Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;believes that you are switching from italic
+ to non-italic, and you&#8217;ve forgot to use the <span class="verb"><span
+class="cmtt-10">\/ </span>command to insert that
+ extra little spacing. If you use the &#8220;<span
+class="cmtt-10">em</span>&#8221; option, you may ignore this
+ warning.
+ <div class="center"
+>
+<!--l. 1103--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;{\it</span><span
+class="cmtt-10">&nbsp;example</span><span class="underline"><span
+class="cmtt-10">&nbsp;</span></span><span class="verb"><span
+class="cmtt-10">}</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;not</span><span
+class="cmtt-10">&nbsp;amusing,</span><span
+class="cmtt-10">&nbsp;either.</span><br>
+This <span
+class="cmti-10">example </span>is not amusing, either.<br>
+<span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;{\it</span><span
+class="cmtt-10">&nbsp;example\/}</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;not</span><span
+class="cmtt-10">&nbsp;amusing,</span><span
+class="cmtt-10">&nbsp;either.</span><br>
+This <span
+class="cmti-10">example </span>is not amusing, either.<br>
+</div>
+ </div>
+
+ <div class="marginpar">
+<!--l. 1112--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">IJAccent</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-39-" ><colgroup id="TBL-39-1g"><col
+id="TBL-39-1"><col
+id="TBL-39-2"></colgroup><tr
+ valign="baseline" id="TBL-39-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-39-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 7: </span></td><td align="left" id="TBL-39-1-2"
+class="td11"> <!--l. 1113--><p class="noindent"><span
+class="cmtt-12">Accent</span>
+ <span
+class="cmtt-12">command</span>
+ <span
+class="cmtt-12">`command'</span>
+ <span
+class="cmtt-12">needs</span>
+ <span
+class="cmtt-12">use</span>
+ <span
+class="cmtt-12">of</span>
+ <span
+class="cmtt-12">`command'.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1114--><p class="noindent">If you&#8217;re using accenting commands, &#8216;i&#8217; and &#8216;j&#8217; should lose their dots
+ before they get accented. This is accomplished by using the <span class="verb"><span
+class="cmtt-10">\i</span>, <span class="verb"><span
+class="cmtt-10">\j</span>,
+ <span class="verb"><span
+class="cmtt-10">\imath </span>and <span class="verb"><span
+class="cmtt-10">\jmath </span>command.
+ <div class="center"
+>
+<!--l. 1118--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;an</span><span
+class="cmtt-10">&nbsp;example</span><span
+class="cmtt-10">&nbsp;of</span><span
+class="cmtt-10">&nbsp;use</span><span
+class="cmtt-10">&nbsp;of</span><span
+class="cmtt-10">&nbsp;accents:</span><span
+class="cmtt-10">&nbsp;\'{</span><span class="underline"><span
+class="cmtt-10">i</span></span><span class="verb"><span
+class="cmtt-10">}.</span><br>
+This is an example of use of accents: í.<br>
+<span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;an</span><span
+class="cmtt-10">&nbsp;example</span><span
+class="cmtt-10">&nbsp;of</span><span
+class="cmtt-10">&nbsp;use</span><span
+class="cmtt-10">&nbsp;of</span><span
+class="cmtt-10">&nbsp;accents:</span><span
+class="cmtt-10">&nbsp;\'{\i}.</span><br>
+This is an example of use of accents: í.<br>
+</div>
+ </div>
+ <div class="marginpar">
+<!--l. 1127--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">HyphDash</span>
+<br class="newline"><span
+class="cmtt-12">NumDash</span>
+<br class="newline"><span
+class="cmtt-12">WordDash</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-42-" ><colgroup id="TBL-42-1g"><col
+id="TBL-42-1"><col
+id="TBL-42-2"></colgroup><tr
+ valign="baseline" id="TBL-42-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-42-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 8: </span></td><td align="left" id="TBL-42-1-2"
+class="td11"> <!--l. 1128--><p class="noindent"><span
+class="cmtt-12">Wrong</span>
+ <span
+class="cmtt-12">length</span>
+ <span
+class="cmtt-12">of</span>
+ <span
+class="cmtt-12">dash</span>
+ <span
+class="cmtt-12">may</span>
+ <span
+class="cmtt-12">have</span>
+ <span
+class="cmtt-12">been</span>
+ <span
+class="cmtt-12">used.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1129--><p class="noindent">This warning suggests that a wrong number of dashes may have been
+ used. It does this by classifying the dash according to the the character
+ in front and after the dashes.
+ <!--l. 1133--><p class="noindent">If they are of the same type, Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;will determine which keyword
+ to use in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file. If not, it will shut up and accept that it
+ doesn&#8217;t know.
+
+ <div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-43-" ><colgroup id="TBL-43-1g"><col
+id="TBL-43-1"><col
+id="TBL-43-2"></colgroup><tr
+ valign="baseline" id="TBL-43-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-43-1-1"
+class="td11"> <span
+class="cmbx-10">Character type </span></td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-43-1-2"
+class="td11"> <span
+class="cmbx-10">Keyword in &#8220;</span><span
+class="cmtt-10">chktexrc</span><span
+class="cmbx-10">&#8221;</span><span
+class="cmbx-10">&nbsp;file </span></td>
+</tr><tr
+ valign="baseline" id="TBL-43-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-43-2-1"
+class="td11"> Space </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-43-2-2"
+class="td11"> <span
+class="cmtt-10">WordDash </span></td>
+</tr><tr
+ valign="baseline" id="TBL-43-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-43-3-1"
+class="td11"> Number </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-43-3-2"
+class="td11"> <span
+class="cmtt-10">NumDash </span></td>
+</tr><tr
+ valign="baseline" id="TBL-43-4-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-43-4-1"
+class="td11"> Alphabetic character </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-43-4-2"
+class="td11"> <span
+class="cmtt-10">HyphDash </span></td>
+</tr><tr
+ valign="baseline" id="TBL-43-5-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-43-5-1"
+class="td11"> </td>
+</tr></table></div>
+ <!--l. 1144--><p class="noindent">This is more or less correct, according to my references. Hopefully this check
+ can be even more improved (suggestions?).
+ <div class="center"
+>
+<!--l. 1147--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">It</span><span
+class="cmtt-10">&nbsp;wasn't</span><span
+class="cmtt-10">&nbsp;anything</span><span
+class="cmtt-10">&nbsp;</span><span class="underline"><span
+class="cmtt-10">-</span></span><span class="verb"><span
+class="cmtt-10">&nbsp;just</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;2</span><span class="underline"><span
+class="cmtt-10">---</span></span><span class="verb"><span
+class="cmtt-10">3</span><span
+class="cmtt-10">&nbsp;star</span><span class="underline"><span
+class="cmtt-10">--</span></span><span class="verb"><span
+class="cmtt-10">shots.</span><br>
+It wasn&#8217;t anything - just a 2--3 star-shots.<br>
+<span class="verb"><span
+class="cmtt-10">It</span><span
+class="cmtt-10">&nbsp;wasn't</span><span
+class="cmtt-10">&nbsp;anything</span><span
+class="cmtt-10">&nbsp;---</span><span
+class="cmtt-10">&nbsp;just</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;2--3</span><span
+class="cmtt-10">&nbsp;star-shots</span><br>
+It wasn&#8217;t anything -- just a 2-3 star-shots.<br>
+</div>
+ </div>
+<!--l. 1158--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-46-" ><colgroup id="TBL-46-1g"><col
+id="TBL-46-1"><col
+id="TBL-46-2"></colgroup><tr
+ valign="baseline" id="TBL-46-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-46-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 9: </span></td><td align="left" id="TBL-46-1-2"
+class="td11"> <!--l. 1158--><p class="noindent"><span
+class="cmtt-12">`%s'</span>
+ <span
+class="cmtt-12">expected,</span>
+ <span
+class="cmtt-12">found</span>
+ <span
+class="cmtt-12">`%s'.</span> </td>
+ </tr></table>
+ <table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-49-" ><colgroup id="TBL-49-1g"><col
+id="TBL-49-1"><col
+id="TBL-49-2"></colgroup><tr
+ valign="baseline" id="TBL-49-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-49-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 10: </span></td><td align="left" id="TBL-49-1-2"
+class="td11"> <!--l. 1159--><p class="noindent"><span
+class="cmtt-12">Solo</span>
+ <span
+class="cmtt-12">`%s'</span>
+ <span
+class="cmtt-12">found.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1160--><p class="noindent">You get this warning whenever brackets or environments don&#8217;t match.
+ Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;expect to find matching brackets/environments in the same
+ order as their opposites were found, and no closing delimiters which
+ haven&#8217;t been preceded by an opening one.
+ <!--l. 1165--><p class="noindent">While bracket matching is not an explicit error, it is usually a sign that
+ something is wrong.
+ </div>
+ <div class="marginpar">
+<!--l. 1170--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">CenterDots</span>
+<br class="newline"><span
+class="cmtt-12">LowDots</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-52-" ><colgroup id="TBL-52-1g"><col
+id="TBL-52-1"><col
+id="TBL-52-2"></colgroup><tr
+ valign="baseline" id="TBL-52-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-52-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 11: </span></td><td align="left" id="TBL-52-1-2"
+class="td11"> <!--l. 1171--><p class="noindent"><span
+class="cmtt-12">You</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">use</span>
+ <span
+class="cmtt-12">`%s'</span>
+ <span
+class="cmtt-12">to</span>
+ <span
+class="cmtt-12">achieve</span>
+ <span
+class="cmtt-12">an</span>
+ <span
+class="cmtt-12">ellipsis.</span> </td>
+ </tr></table>
+
+ <div class="quote">
+ <!--l. 1172--><p class="noindent">Simply typing three &#8220;<span
+class="cmtt-10">.</span>&#8221; in a row will not give a perfect spacing withing
+ the between the dots. The <span class="verb"><span
+class="cmtt-10">\ldots </span>is much more suitable for this.
+ <!--l. 1176--><p class="noindent">In math mode, you should also distinguish between <span class="verb"><span
+class="cmtt-10">\cdots </span>and <span class="verb"><span
+class="cmtt-10">\ldots</span>;
+ take a look at the example below.
+ <div class="center"
+>
+<!--l. 1179--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">Foo</span><span class="underline"><span
+class="cmtt-10">...</span></span><span class="verb"><span
+class="cmtt-10">bar.</span><span
+class="cmtt-10">&nbsp;$1,</span><span class="underline"><span
+class="cmtt-10">...</span></span><span class="verb"><span
+class="cmtt-10">,3$.</span><span
+class="cmtt-10">&nbsp;$1+</span><span class="underline"><span
+class="cmtt-10">...</span></span><span class="verb"><span
+class="cmtt-10">+3$.</span><span
+class="cmtt-10">&nbsp;$1,</span><span class="underline"><span
+class="cmtt-10">\cdots</span></span><span class="verb"><span
+class="cmtt-10">,3$.</span><br>
+Foo...bar. 1<span
+class="cmmi-10">,...,</span>3. 1 + <span
+class="cmmi-10">... </span>+ 3. 1<span
+class="cmmi-10">,</span><img
+src="ChkTeX0x.png" alt="..." class="cdots" ><span
+class="cmmi-10">,</span>3.<br>
+<span class="verb"><span
+class="cmtt-10">Foo\dots</span><span
+class="cmtt-10">&nbsp;bar.</span><span
+class="cmtt-10">&nbsp;$1,\ldots,3$.</span><span
+class="cmtt-10">&nbsp;$1+\cdots+3$.</span><span
+class="cmtt-10">&nbsp;$1,\ldots,3$.</span><br>
+Foo...bar. 1<span
+class="cmmi-10">,</span><span
+class="cmmi-10">...</span><span
+class="cmmi-10">,</span>3. 1 + <img
+src="ChkTeX1x.png" alt="..." class="cdots" > + 3. 1<span
+class="cmmi-10">,</span><span
+class="cmmi-10">...</span><span
+class="cmmi-10">,</span>3.<br>
+</div>
+ </div>
+ <div class="marginpar">
+<!--l. 1190--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">Abbrev</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-55-" ><colgroup id="TBL-55-1g"><col
+id="TBL-55-1"><col
+id="TBL-55-2"></colgroup><tr
+ valign="baseline" id="TBL-55-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-55-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 12: </span></td><td align="left" id="TBL-55-1-2"
+class="td11"> <!--l. 1191--><p class="noindent"><span
+class="cmtt-12">Interword</span>
+ <span
+class="cmtt-12">spacing</span>
+ <span
+class="cmtt-12">(`\</span><span
+class="cmtt-12">&nbsp;')</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">perhaps</span>
+ <span
+class="cmtt-12">be</span>
+ <span
+class="cmtt-12">used.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1193--><p class="noindent">One of the specified abbreviations were found. Unless you have
+ previously said <span class="verb"><span
+class="cmtt-10">\frenchspacing</span>, you&#8217;ll have incorrect spacing, which
+ one should avoid if possible.
+ <div class="center"
+>
+<!--l. 1197--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;an</span><span
+class="cmtt-10">&nbsp;example,</span><span
+class="cmtt-10">&nbsp;i.e.</span><span class="underline"><span
+class="cmtt-10">&nbsp;</span></span><span class="verb"><span
+class="cmtt-10">an</span><span
+class="cmtt-10">&nbsp;demonstration.</span><br>
+This is an example, i.e. an demonstration.<br>
+<span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;an</span><span
+class="cmtt-10">&nbsp;example,</span><span
+class="cmtt-10">&nbsp;i.e.\</span><span
+class="cmtt-10">&nbsp;an</span><span
+class="cmtt-10">&nbsp;demonstration.</span><br>
+This is an example, i.e.&nbsp;an demonstration.<br>
+</div>
+ </div>
+<!--l. 1206--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-58-" ><colgroup id="TBL-58-1g"><col
+id="TBL-58-1"><col
+id="TBL-58-2"></colgroup><tr
+ valign="baseline" id="TBL-58-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-58-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 13: </span></td><td align="left" id="TBL-58-1-2"
+class="td11"> <!--l. 1206--><p class="noindent"><span
+class="cmtt-12">Intersentence</span>
+ <span
+class="cmtt-12">spacing</span>
+ <span
+class="cmtt-12">(`\@')</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">perhaps</span>
+ <span
+class="cmtt-12">be</span>
+ <span
+class="cmtt-12">used.</span> </td>
+ </tr></table>
+
+ <div class="quote">
+ <!--l. 1208--><p class="noindent"><span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&#8217; detection of whether a period ends a sentence or not, is only
+ based upon the character in front of the period. If it&#8217;s uppercase, it
+ assumes that it does not end a sentence. While this may be correct in
+ many cases, it may be incorrect in others. Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;thus outputs this
+ warning in every such case.
+ <div class="center"
+>
+<!--l. 1214--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">I've</span><span
+class="cmtt-10">&nbsp;seen</span><span
+class="cmtt-10">&nbsp;an</span><span
+class="cmtt-10">&nbsp;UFO!</span><span class="underline"><span
+class="cmtt-10">&nbsp;</span></span><span class="verb"><span
+class="cmtt-10">Right</span><span
+class="cmtt-10">&nbsp;over</span><span
+class="cmtt-10">&nbsp;there!</span><br>
+I&#8217;ve seen an UFO! Right over there!<br>
+<span class="verb"><span
+class="cmtt-10">I've</span><span
+class="cmtt-10">&nbsp;seen</span><span
+class="cmtt-10">&nbsp;an</span><span
+class="cmtt-10">&nbsp;UFO\@!</span><span
+class="cmtt-10">&nbsp;Right</span><span
+class="cmtt-10">&nbsp;over</span><span
+class="cmtt-10">&nbsp;there!</span><br>
+I&#8217;ve seen an UFO! Right over there!<br>
+</div>
+ </div>
+<!--l. 1223--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-61-" ><colgroup id="TBL-61-1g"><col
+id="TBL-61-1"><col
+id="TBL-61-2"></colgroup><tr
+ valign="baseline" id="TBL-61-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-61-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 14: </span></td><td align="left" id="TBL-61-1-2"
+class="td11"> <!--l. 1223--><p class="noindent"><span
+class="cmtt-12">Could</span>
+ <span
+class="cmtt-12">not</span>
+ <span
+class="cmtt-12">find</span>
+ <span
+class="cmtt-12">argument</span>
+ <span
+class="cmtt-12">for</span>
+ <span
+class="cmtt-12">command.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1225--><p class="noindent">Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;will in some cases need the argument of a function to detect an
+ error. As Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;currently processes the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;file on a line-by-line
+ basis, it won&#8217;t find the argument if the command which needed it was
+ on the previous line. On the other hand, this <span
+class="cmti-10">may </span>also be an error; you
+ ought to check it to be safe.
+ <div class="center"
+>
+<!--l. 1231--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">$\hat$</span><br>
+This will give a <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;error...<br>
+<span class="verb"><span
+class="cmtt-10">$\hat{a}$</span><br>
+<span
+class="cmmi-10">â</span><br>
+</div>
+ </div>
+<!--l. 1240--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-64-" ><colgroup id="TBL-64-1g"><col
+id="TBL-64-1"><col
+id="TBL-64-2"></colgroup><tr
+ valign="baseline" id="TBL-64-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-64-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 15: </span></td><td align="left" id="TBL-64-1-2"
+class="td11"> <!--l. 1240--><p class="noindent"><span
+class="cmtt-12">No</span>
+ <span
+class="cmtt-12">match</span>
+ <span
+class="cmtt-12">found</span>
+ <span
+class="cmtt-12">for</span>
+ <span
+class="cmtt-12">`%s'.</span> </td>
+ </tr></table>
+
+ <div class="quote">
+ <!--l. 1242--><p class="noindent">This warning is triggered if we find a single, <span
+class="cmti-10">opening </span>bracket or
+ environment. While bracket matching is not an explicit error, it is
+ usually a sign that something is wrong.
+ </div>
+ <div class="marginpar">
+<!--l. 1248--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">MathEnvir</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-67-" ><colgroup id="TBL-67-1g"><col
+id="TBL-67-1"><col
+id="TBL-67-2"></colgroup><tr
+ valign="baseline" id="TBL-67-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-67-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 16: </span></td><td align="left" id="TBL-67-1-2"
+class="td11"> <!--l. 1249--><p class="noindent"><span
+class="cmtt-12">Mathmode</span>
+ <span
+class="cmtt-12">still</span>
+ <span
+class="cmtt-12">on</span>
+ <span
+class="cmtt-12">at</span>
+ <span
+class="cmtt-12">end</span>
+ <span
+class="cmtt-12">of</span>
+ <span
+class="cmtt-12">LaTeX</span>
+ <span
+class="cmtt-12">file.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1250--><p class="noindent">This error is triggered if you at some point have turned on mathmode,
+ and Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;couldn&#8217;t see that you remembered to turn it off.
+ </div>
+<!--l. 1256--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-70-" ><colgroup id="TBL-70-1g"><col
+id="TBL-70-1"><col
+id="TBL-70-2"></colgroup><tr
+ valign="baseline" id="TBL-70-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-70-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 17: </span></td><td align="left" id="TBL-70-1-2"
+class="td11"> <!--l. 1256--><p class="noindent"><span
+class="cmtt-12">Number</span>
+ <span
+class="cmtt-12">of</span>
+ <span
+class="cmtt-12">`character'</span>
+ <span
+class="cmtt-12">doesn't</span>
+ <span
+class="cmtt-12">match</span>
+ <span
+class="cmtt-12">the</span>
+ <span
+class="cmtt-12">number</span>
+ <span
+class="cmtt-12">of</span>
+ <span
+class="cmtt-12">`character'.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1258--><p class="noindent">Should be self-explanatory. Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;didn&#8217;t find the same number of an
+ opening bracket as it found of a closing bracket.
+ </div>
+
+<!--l. 1263--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-73-" ><colgroup id="TBL-73-1g"><col
+id="TBL-73-1"><col
+id="TBL-73-2"></colgroup><tr
+ valign="baseline" id="TBL-73-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-73-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 18: </span></td><td align="left" id="TBL-73-1-2"
+class="td11"> <!--l. 1263--><p class="noindent"><span
+class="cmtt-12">You</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">use</span>
+ <span
+class="cmtt-12">either</span>
+ <span
+class="cmtt-12">``</span>
+ <span
+class="cmtt-12">or</span>
+ <span
+class="cmtt-12">''</span>
+ <span
+class="cmtt-12">as</span>
+ <span
+class="cmtt-12">an</span>
+ <span
+class="cmtt-12">alternative</span>
+ <span
+class="cmtt-12">to</span>
+ <span
+class="cmtt-12">`"'.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1264--><p class="noindent">Self-explanatory. Look in the example, and you&#8217;ll understand why.
+ <div class="center"
+>
+<!--l. 1266--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;an</span><span
+class="cmtt-10">&nbsp;</span><span class="underline"><span
+class="cmtt-10">"</span></span><span class="verb"><span
+class="cmtt-10">example</span><span class="underline"><span
+class="cmtt-10">"</span></span><br>
+This is an &#8221;example&#8221;<br>
+<span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;an</span><span
+class="cmtt-10">&nbsp;``example''</span><br>
+This is an &#8220;example&#8221;<br>
+</div>
+ </div>
+<!--l. 1276--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-76-" ><colgroup id="TBL-76-1g"><col
+id="TBL-76-1"><col
+id="TBL-76-2"></colgroup><tr
+ valign="baseline" id="TBL-76-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-76-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 19: </span></td><td align="left" id="TBL-76-1-2"
+class="td11"> <!--l. 1276--><p class="noindent"><span
+class="cmtt-12">You</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">use</span>
+ <span
+class="cmtt-12">"'"</span>
+ <span
+class="cmtt-12">(ASCII</span>
+ <span
+class="cmtt-12">39)</span>
+ <span
+class="cmtt-12">instead</span>
+ <span
+class="cmtt-12">of</span>
+ <span
+class="cmtt-12">"'"</span>
+ <span
+class="cmtt-12">(ASCII</span>
+ <span
+class="cmtt-12">180).</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1276--><p class="noindent">On some keyboards you might get the wrong quote. This quote looks,
+ IMHO, <span
+class="cmti-10">ugly </span>compared to the standard quotes, it doesn&#8217;t even come out
+ as a quote! Just see in the example.
+ <div class="center"
+>
+
+<!--l. 1282--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">``There</span><span class="underline"><span
+class="cmtt-10">'</span></span><span class="verb"><span
+class="cmtt-10">s</span><span
+class="cmtt-10">&nbsp;quotes</span><span
+class="cmtt-10">&nbsp;and</span><span
+class="cmtt-10">&nbsp;there</span><span class="underline"><span
+class="cmtt-10">'</span></span><span class="verb"><span
+class="cmtt-10">s</span><span
+class="cmtt-10">&nbsp;quotes </span><span class="underline"><span
+class="cmtt-10">''</span></span><br>
+&#8220;Theres quotes and theres quotes<br>
+<span class="verb"><span
+class="cmtt-10">``There's</span><span
+class="cmtt-10">&nbsp;quotes</span><span
+class="cmtt-10">&nbsp;and</span><span
+class="cmtt-10">&nbsp;there's</span><span
+class="cmtt-10">&nbsp;quotes''</span><br>
+&#8220;There&#8217;s quotes and there&#8217;s quotes&#8221;<br>
+</div>
+ </div>
+ <div class="marginpar">
+<!--l. 1292--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">Userwarn</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-79-" ><colgroup id="TBL-79-1g"><col
+id="TBL-79-1"><col
+id="TBL-79-2"></colgroup><tr
+ valign="baseline" id="TBL-79-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-79-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 20: </span></td><td align="left" id="TBL-79-1-2"
+class="td11"> <!--l. 1293--><p class="noindent"><span
+class="cmtt-12">User-specified</span>
+ <span
+class="cmtt-12">pattern</span>
+ <span
+class="cmtt-12">found.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1294--><p class="noindent">A substring you&#8217;ve specified using <span
+class="cmtt-10">USERWARN </span>in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file, has
+ been found.</div>
+<!--l. 1298--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-82-" ><colgroup id="TBL-82-1g"><col
+id="TBL-82-1"><col
+id="TBL-82-2"></colgroup><tr
+ valign="baseline" id="TBL-82-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-82-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 21: </span></td><td align="left" id="TBL-82-1-2"
+class="td11"> <!--l. 1298--><p class="noindent"><span
+class="cmitt-10x-x-120">This</span>
+ <span
+class="cmitt-10x-x-120">command</span>
+ <span
+class="cmitt-10x-x-120">might</span>
+ <span
+class="cmitt-10x-x-120">not</span>
+ <span
+class="cmitt-10x-x-120">be</span>
+ <span
+class="cmitt-10x-x-120">intended.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1299--><p class="noindent">I implemented this because a friend of mine kept on making these
+ mistakes. Easily done if you haven&#8217;t gotten quite into the syntax of
+ <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>.
+ <div class="center"
+>
+<!--l. 1303--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">\LaTeX\</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;an</span><span
+class="cmtt-10">&nbsp;extension</span><span
+class="cmtt-10">&nbsp;of</span><span
+class="cmtt-10">&nbsp;\TeX</span><span class="underline"><span
+class="cmtt-10">\.</span></span><span class="verb"><span
+class="cmtt-10">&nbsp;Right?</span><br>
+<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;is an extension of <span class="TEX">T<span
+class="E">E</span>X</span>&#x1E58;ight?<br>
+<span class="verb"><span
+class="cmtt-10">\LaTeX\</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;an</span><span
+class="cmtt-10">&nbsp;extension</span><span
+class="cmtt-10">&nbsp;of</span><span
+class="cmtt-10">&nbsp;\TeX.</span><span
+class="cmtt-10">&nbsp;Right?</span><br>
+<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;is an extension of <span class="TEX">T<span
+class="E">E</span>X</span>. Right?<br>
+</div>
+ </div>
+<!--l. 1312--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-85-" ><colgroup id="TBL-85-1g"><col
+id="TBL-85-1"><col
+id="TBL-85-2"></colgroup><tr
+ valign="baseline" id="TBL-85-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-85-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 22: </span></td><td align="left" id="TBL-85-1-2"
+class="td11"> <!--l. 1312--><p class="noindent"><span
+class="cmitt-10x-x-120">Comment</span>
+ <span
+class="cmitt-10x-x-120">displayed.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1313--><p class="noindent">Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;dumps all comments it finds, which in some cases is useful.
+ I usually keep all my notes in the comments, and like to review
+ them before I ship the final version. For commenting out parts of the
+ document, the &#8220;<span
+class="cmtt-10">comment</span>&#8221; environment is better suited.
+ </div>
+
+<!--l. 1321--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-88-" ><colgroup id="TBL-88-1g"><col
+id="TBL-88-1"><col
+id="TBL-88-2"></colgroup><tr
+ valign="baseline" id="TBL-88-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-88-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 23: </span></td><td align="left" id="TBL-88-1-2"
+class="td11"> <!--l. 1321--><p class="noindent"><span
+class="cmtt-12">Either</span>
+ <span
+class="cmtt-12">''\,'</span>
+ <span
+class="cmtt-12">or</span>
+ <span
+class="cmtt-12">'\,''</span>
+ <span
+class="cmtt-12">will</span>
+ <span
+class="cmtt-12">look</span>
+ <span
+class="cmtt-12">better.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1323--><p class="noindent">This error is generated whenever you try to typeset three quotes in a
+ row; this will not look pretty, and one of them should be separated from
+ the rest.
+ <div class="center"
+>
+<!--l. 1327--><p class="noindent">
+ <span class="underline"><span
+class="cmtt-10">```</span></span><span class="verb"><span
+class="cmtt-10">Hello',</span><span
+class="cmtt-10">&nbsp;I</span><span
+class="cmtt-10">&nbsp;heard</span><span
+class="cmtt-10">&nbsp;him</span><span
+class="cmtt-10">&nbsp;said'',</span><span
+class="cmtt-10">&nbsp;she</span><span
+class="cmtt-10">&nbsp;remembered.</span><br>
+&#8220;&#8216;Hello&#8217;, I heard him said&#8221;, she remembered.<br>
+<span class="verb"><span
+class="cmtt-10">``\,`Hello',</span><span
+class="cmtt-10">&nbsp;I</span><span
+class="cmtt-10">&nbsp;heard</span><span
+class="cmtt-10">&nbsp;him</span><span
+class="cmtt-10">&nbsp;said'',</span><span
+class="cmtt-10">&nbsp;she</span><span
+class="cmtt-10">&nbsp;remembered.</span><br>
+&#8220; &#8216;Hello&#8217;, I heard him said&#8221;, she remembered.</div>
+ </div>
+ <div class="marginpar">
+<!--l. 1336--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">PostLink</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-91-" ><colgroup id="TBL-91-1g"><col
+id="TBL-91-1"><col
+id="TBL-91-2"></colgroup><tr
+ valign="baseline" id="TBL-91-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-91-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 24: </span></td><td align="left" id="TBL-91-1-2"
+class="td11"> <!--l. 1337--><p class="noindent"><span
+class="cmtt-12">Delete</span>
+ <span
+class="cmtt-12">this</span>
+ <span
+class="cmtt-12">space</span>
+ <span
+class="cmtt-12">to</span>
+ <span
+class="cmtt-12">maintain</span>
+ <span
+class="cmtt-12">correct</span>
+ <span
+class="cmtt-12">pagereferences.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1338--><p class="noindent">This message, issued when a space is found in front of a <span class="verb"><span
+class="cmtt-10">\index</span>, <span class="verb"><span
+class="cmtt-10">\label</span>
+ or similar command (can be set in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file). Sometimes,
+ this space may cause that the word and the index happens on separate
+ pages, if a pagebreak happens just there.
+ <!--l. 1343--><p class="noindent">You might also use this warning to warn you about spaces in front of
+ footnotes; however, the warning text may not be entirely correct then.
+ <div class="center"
+>
+<!--l. 1347--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">Indexing</span><span
+class="cmtt-10">&nbsp;text</span><span class="underline"><span
+class="cmtt-10">&nbsp;</span></span><span class="verb"><span
+class="cmtt-10">\index{text}</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;fun!</span><br>
+<span class="verb"><span
+class="cmtt-10">Indexing</span><span
+class="cmtt-10">&nbsp;text\index{text}</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;fun!</span><br>
+</div>
+ </div>
+
+<!--l. 1354--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-94-" ><colgroup id="TBL-94-1g"><col
+id="TBL-94-1"><col
+id="TBL-94-2"></colgroup><tr
+ valign="baseline" id="TBL-94-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-94-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 25: </span></td><td align="left" id="TBL-94-1-2"
+class="td11"> <!--l. 1354--><p class="noindent"><span
+class="cmtt-12">You</span>
+ <span
+class="cmtt-12">might</span>
+ <span
+class="cmtt-12">wish</span>
+ <span
+class="cmtt-12">to</span>
+ <span
+class="cmtt-12">put</span>
+ <span
+class="cmtt-12">this</span>
+ <span
+class="cmtt-12">between</span>
+ <span
+class="cmtt-12">a</span>
+ <span
+class="cmtt-12">pair</span>
+ <span
+class="cmtt-12">of</span>
+ <span
+class="cmtt-12">`</span><span
+class="cmsy-10x-x-120">{}</span><span
+class="cmtt-12">'</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1356--><p class="noindent">This warning is given whenever Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;finds a &#8220;<img
+src="ChkTeX2x.png" alt="^ " class="circ" >&#8221;&#8217; or a &#8220;<span
+class="cmtt-10">_</span>&#8221;
+ followed by either two or more numberic digits or two or more alphabetic
+ characters. In most situations, this means that you&#8217;ve forgotten some
+ <span
+class="cmsy-10">{}</span>&#8217;s.
+ <div class="center"
+>
+<!--l. 1361--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">$5\cdot10^</span><span class="underline"><span
+class="cmtt-10">10</span></span><span class="verb"><span
+class="cmtt-10">$</span><br>
+5 <span
+class="cmsy-10"><sup class="htf"><strong>.</strong></sup> </span>10<sup ><span
+class="cmr-7">1</span></sup>0<br>
+<span class="verb"><span
+class="cmtt-10">$5\cdot10^{10}$</span><br>
+5 <span
+class="cmsy-10"><sup class="htf"><strong>.</strong></sup> </span>10<sup ><span
+class="cmr-7">10</span></sup></div>
+ </div>
+<!--l. 1370--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-97-" ><colgroup id="TBL-97-1g"><col
+id="TBL-97-1"><col
+id="TBL-97-2"></colgroup><tr
+ valign="baseline" id="TBL-97-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-97-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 26: </span></td><td align="left" id="TBL-97-1-2"
+class="td11"> <!--l. 1370--><p class="noindent"><span
+class="cmtt-12">You</span>
+ <span
+class="cmtt-12">ought</span>
+ <span
+class="cmtt-12">to</span>
+ <span
+class="cmtt-12">remove</span>
+ <span
+class="cmtt-12">spaces</span>
+ <span
+class="cmtt-12">in</span>
+ <span
+class="cmtt-12">front</span>
+ <span
+class="cmtt-12">of</span>
+ <span
+class="cmtt-12">punctuation.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1372--><p class="noindent">This warning is issued if Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;finds space in front of an
+ end-of-sentence character.
+ <div class="center"
+>
+<!--l. 1375--><p class="noindent">
+
+ <span class="verb"><span
+class="cmtt-10">Do</span><span
+class="cmtt-10">&nbsp;you</span><span
+class="cmtt-10">&nbsp;understand</span><span class="underline"><span
+class="cmtt-10">&nbsp;</span></span><span class="verb"><span
+class="cmtt-10">?</span><br>
+Do you understand ?<br>
+<span class="verb"><span
+class="cmtt-10">Do</span><span
+class="cmtt-10">&nbsp;you</span><span
+class="cmtt-10">&nbsp;understand?</span><br>
+Do you understand?<br>
+</div>
+ </div>
+<!--l. 1384--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-100-" ><colgroup id="TBL-100-1g"><col
+id="TBL-100-1"><col
+id="TBL-100-2"></colgroup><tr
+ valign="baseline" id="TBL-100-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-100-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 27: </span></td><td align="left" id="TBL-100-1-2"
+class="td11"> <!--l. 1384--><p class="noindent"><span
+class="cmtt-12">Could</span>
+ <span
+class="cmtt-12">not</span>
+ <span
+class="cmtt-12">execute</span>
+ <span
+class="cmtt-12">LaTeX</span>
+ <span
+class="cmtt-12">command.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1386--><p class="noindent">Some <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;commands will be interpreted by Chk<span class="TEX">T<span
+class="E">E</span>X</span>; however,
+ some of them are sensible to errors in the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;source. Most notably,
+ the <span class="verb"><span
+class="cmtt-10">\</span><span class="verb"><span
+class="cmtt-10">input </span>command relies on that the input file exists...
+ </div>
+ <div class="marginpar">
+<!--l. 1392--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">Italic</span>
+<br class="newline"><span
+class="cmtt-12">ItalCmd</span>
+<br class="newline"><span
+class="cmtt-12">NonItalic</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-103-" ><colgroup id="TBL-103-1g"><col
+id="TBL-103-1"><col
+id="TBL-103-2"></colgroup><tr
+ valign="baseline" id="TBL-103-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-103-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 28: </span></td><td align="left" id="TBL-103-1-2"
+class="td11"> <!--l. 1393--><p class="noindent"><span
+class="cmtt-12">Don't</span>
+ <span
+class="cmtt-12">use</span>
+ <span
+class="cmtt-12">\/</span>
+ <span
+class="cmtt-12">in</span>
+ <span
+class="cmtt-12">front</span>
+ <span
+class="cmtt-12">of</span>
+ <span
+class="cmtt-12">small</span>
+ <span
+class="cmtt-12">punctuation.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1394--><p class="noindent">Italic correction should generally <span
+class="cmti-10">not </span>be used in front of small
+ punctuation characters like &#8216;.&#8217; and &#8216;,&#8217;; as it looks better when the
+ preceding italic character leans &#8220;over&#8221; the punctum or comma.
+ <div class="center"
+>
+<!--l. 1399--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">It</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;just</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;{\it</span><span
+class="cmtt-10">&nbsp;test</span><span class="underline"><span
+class="cmtt-10">\/</span></span><span class="verb"><span
+class="cmtt-10">},</span><span
+class="cmtt-10">&nbsp;don't</span><span
+class="cmtt-10">&nbsp;think</span><span
+class="cmtt-10">&nbsp;anything</span><span
+class="cmtt-10">&nbsp;else.</span><br>
+It is just a <span
+class="cmti-10">test</span>, don&#8217;t think anything else.<br>
+<span class="verb"><span
+class="cmtt-10">It</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;just</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;{\it</span><span
+class="cmtt-10">&nbsp;test},</span><span
+class="cmtt-10">&nbsp;don't</span><span
+class="cmtt-10">&nbsp;think</span><span
+class="cmtt-10">&nbsp;anything</span><span
+class="cmtt-10">&nbsp;else.</span><br>
+It is just a <span
+class="cmti-10">test</span>, don&#8217;t think anything else.</div>
+ </div>
+
+<!--l. 1408--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-106-" ><colgroup id="TBL-106-1g"><col
+id="TBL-106-1"><col
+id="TBL-106-2"></colgroup><tr
+ valign="baseline" id="TBL-106-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-106-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 29: </span></td><td align="left" id="TBL-106-1-2"
+class="td11"> <!--l. 1408--><p class="noindent"><span
+class="cmtt-12">$\times$</span>
+ <span
+class="cmtt-12">may</span>
+ <span
+class="cmtt-12">look</span>
+ <span
+class="cmtt-12">prettier</span>
+ <span
+class="cmtt-12">here.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1409--><p class="noindent">In ASCII environments, it is usual to use the &#8216;x&#8217; character as an infix
+ operator to denote a dimension. The mathemathical symbol <span
+class="cmsy-10">× </span>provided
+ by the <span class="verb"><span
+class="cmtt-10">$\times$ </span>command is better suited for this.
+ <div class="center"
+>
+<!--l. 1414--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">The</span><span
+class="cmtt-10">&nbsp;program</span><span
+class="cmtt-10">&nbsp;opens</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;screen</span><span
+class="cmtt-10">&nbsp;sized</span><span
+class="cmtt-10">&nbsp;640</span><span class="underline"><span
+class="cmtt-10">x</span></span><span class="verb"><span
+class="cmtt-10">200</span><span
+class="cmtt-10">&nbsp;pixels.</span><br>
+The program opens a screen sized 640x200 pixels.<br>
+<span class="verb"><span
+class="cmtt-10">The</span><span
+class="cmtt-10">&nbsp;program</span><span
+class="cmtt-10">&nbsp;opens</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;screen</span><span
+class="cmtt-10">&nbsp;sized</span><span
+class="cmtt-10">&nbsp;$640\times200$</span><span
+class="cmtt-10">&nbsp;pixels.</span><br>
+The program opens a screen sized 640 <span
+class="cmsy-10">× </span>200 pixels.</div>
+ </div>
+<!--l. 1423--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-109-" ><colgroup id="TBL-109-1g"><col
+id="TBL-109-1"><col
+id="TBL-109-2"></colgroup><tr
+ valign="baseline" id="TBL-109-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-109-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 30: </span></td><td align="left" id="TBL-109-1-2"
+class="td11"> <!--l. 1423--><p class="noindent"><span
+class="cmitt-10x-x-120">Multiple</span>
+ <span
+class="cmitt-10x-x-120">spaces</span>
+ <span
+class="cmitt-10x-x-120">detected</span>
+ <span
+class="cmitt-10x-x-120">in</span>
+ <span
+class="cmitt-10x-x-120">output.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1425--><p class="noindent">This warning, intended for the novice, will remind you that even if you
+ <span
+class="cmti-10">type </span>multiple spaces in your input, only a single space will come out.
+ Some ways to come around this is listed below.
+ <div class="center"
+>
+<!--l. 1429--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">White</span><span
+class="cmtt-10">&nbsp;</span><span
+class="cmtt-10">&nbsp;</span><span
+class="cmtt-10">&nbsp;</span><span
+class="cmtt-10">&nbsp;</span><span
+class="cmtt-10">&nbsp;</span><span
+class="cmtt-10">&nbsp;</span><span
+class="cmtt-10">&nbsp;</span><span
+class="cmtt-10">&nbsp;</span><span
+class="cmtt-10">&nbsp;</span><span
+class="cmtt-10">&nbsp;</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;beautiful</span><span
+class="cmtt-10">&nbsp;colour.</span><br>
+White is a beautiful colour.<br>
+<span class="verb"><span
+class="cmtt-10">White~~~~~{</span><span
+class="cmtt-10">&nbsp;}{</span><span
+class="cmtt-10">&nbsp;}{</span><span
+class="cmtt-10">&nbsp;}\</span><span
+class="cmtt-10">&nbsp;\</span><span
+class="cmtt-10">&nbsp;\</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;beautiful</span><span
+class="cmtt-10">&nbsp;colour.</span><br>
+White&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;is a beautiful colour.<br>
+</div>
+ </div>
+ <div class="marginpar">
+<!--l. 1438--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">VerbEnvir</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-112-" ><colgroup id="TBL-112-1g"><col
+id="TBL-112-1"><col
+id="TBL-112-2"></colgroup><tr
+ valign="baseline" id="TBL-112-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-112-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 31: </span></td><td align="left" id="TBL-112-1-2"
+class="td11"> <!--l. 1439--><p class="noindent"><span
+class="cmtt-12">This</span>
+ <span
+class="cmtt-12">text</span>
+ <span
+class="cmtt-12">may</span>
+ <span
+class="cmtt-12">be</span>
+ <span
+class="cmtt-12">ignored.</span> </td>
+ </tr></table>
+
+ <div class="quote">
+ <!--l. 1440--><p class="noindent">Certain implementations of the <span class="verb"><span
+class="cmtt-10">verbatim </span>environment and derivations
+ of that, ignore all text on the same line as <span class="verb"><span
+class="cmtt-10">\end{verbatim}</span>. This will
+ warn you about this.
+ </div>
+<!--l. 1447--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-115-" ><colgroup id="TBL-115-1g"><col
+id="TBL-115-1"><col
+id="TBL-115-2"></colgroup><tr
+ valign="baseline" id="TBL-115-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-115-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 32: </span></td><td align="left" id="TBL-115-1-2"
+class="td11"> <!--l. 1447--><p class="noindent"><span
+class="cmtt-12">Use</span>
+ <span
+class="cmtt-12">`</span>
+ <span
+class="cmtt-12">to</span>
+ <span
+class="cmtt-12">begin</span>
+ <span
+class="cmtt-12">quotation,</span>
+ <span
+class="cmtt-12">not</span>
+ <span
+class="cmtt-12">'.</span> </td>
+ </tr></table>
+<br class="newline"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-118-" ><colgroup id="TBL-118-1g"><col
+id="TBL-118-1"><col
+id="TBL-118-2"></colgroup><tr
+ valign="baseline" id="TBL-118-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-118-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 33: </span></td><td align="left" id="TBL-118-1-2"
+class="td11"> <!--l. 1448--><p class="noindent"><span
+class="cmtt-12">Use</span>
+ <span
+class="cmtt-12">'</span>
+ <span
+class="cmtt-12">to</span>
+ <span
+class="cmtt-12">end</span>
+ <span
+class="cmtt-12">quotation,</span>
+ <span
+class="cmtt-12">not</span>
+ <span
+class="cmtt-12">`.</span> </td>
+ </tr></table>
+<br class="newline"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-121-" ><colgroup id="TBL-121-1g"><col
+id="TBL-121-1"><col
+id="TBL-121-2"></colgroup><tr
+ valign="baseline" id="TBL-121-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-121-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 34: </span></td><td align="left" id="TBL-121-1-2"
+class="td11"> <!--l. 1449--><p class="noindent"><span
+class="cmtt-12">Don't</span>
+ <span
+class="cmtt-12">mix</span>
+ <span
+class="cmtt-12">quotes.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1451--><p class="noindent">Proper quotations should start with a <span class="verb"><span
+class="cmtt-10">` </span>and end with a <span class="verb"><span
+class="cmtt-10">'</span>; anything else
+ isn&#8217;t very pretty. Both these warnings are relative to this; look in the
+ example below.
+ <div class="center"
+>
+<!--l. 1455--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">There</span><span
+class="cmtt-10">&nbsp;are</span><span
+class="cmtt-10">&nbsp;</span><span class="underline"><span
+class="cmtt-10">`'</span></span><span class="verb"><span
+class="cmtt-10">examples''</span><span
+class="cmtt-10">&nbsp;and</span><span
+class="cmtt-10">&nbsp;there</span><span
+class="cmtt-10">&nbsp;are</span><span
+class="cmtt-10">&nbsp;``examples</span><span class="underline"><span
+class="cmtt-10">``</span></span><span class="verb"><span
+class="cmtt-10">.</span><br>
+There are &#8216;&#8217;examples&#8221; and there are &#8220;examples&#8220;.<br>
+<span class="verb"><span
+class="cmtt-10">There</span><span
+class="cmtt-10">&nbsp;are</span><span
+class="cmtt-10">&nbsp;``examples''</span><span
+class="cmtt-10">&nbsp;and</span><span
+class="cmtt-10">&nbsp;there</span><span
+class="cmtt-10">&nbsp;are</span><span
+class="cmtt-10">&nbsp;``examples''.</span><br>
+There are &#8220;examples&#8221; and there are &#8220;examples&#8221;.</div>
+ </div>
+ <div class="marginpar">
+<!--l. 1465--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">MathRoman</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-124-" ><colgroup id="TBL-124-1g"><col
+id="TBL-124-1"><col
+id="TBL-124-2"></colgroup><tr
+ valign="baseline" id="TBL-124-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-124-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 35: </span></td><td align="left" id="TBL-124-1-2"
+class="td11"> <!--l. 1466--><p class="noindent"><span
+class="cmtt-12">You</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">perhaps</span>
+ <span
+class="cmtt-12">use</span>
+ <span
+class="cmtt-12">`cmd'</span>
+ <span
+class="cmtt-12">instead.</span> </td>
+ </tr></table>
+
+ <div class="quote">
+ <!--l. 1467--><p class="noindent">Most mathematical operators should be set as standard roman font,
+ instead of the math italic <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;uses for variables. For many
+ operators, <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;provides a pre-defined command which will typeset
+ the operator correctly. Look below for an illustration of the point.
+ <div class="center"
+>
+<!--l. 1472--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">$</span><span class="underline"><span
+class="cmtt-10">sin</span></span><span class="verb"><span
+class="cmtt-10">^2</span><span
+class="cmtt-10">&nbsp;x</span><span
+class="cmtt-10">&nbsp;+</span><span
+class="cmtt-10">&nbsp;</span><span class="underline"><span
+class="cmtt-10">cos</span></span><span class="verb"><span
+class="cmtt-10">^2</span><span
+class="cmtt-10">&nbsp;x</span><span
+class="cmtt-10">&nbsp;=</span><span
+class="cmtt-10">&nbsp;1$</span><br>
+<span
+class="cmmi-10">sin</span><sup ><span
+class="cmr-7">2</span></sup><span
+class="cmmi-10">x </span>+ <span
+class="cmmi-10">cos</span><sup ><span
+class="cmr-7">2</span></sup><span
+class="cmmi-10">x </span>= 1<br>
+<span class="verb"><span
+class="cmtt-10">$\sin^2</span><span
+class="cmtt-10">&nbsp;x</span><span
+class="cmtt-10">&nbsp;+</span><span
+class="cmtt-10">&nbsp;\cos^2</span><span
+class="cmtt-10">&nbsp;x</span><span
+class="cmtt-10">&nbsp;=</span><span
+class="cmtt-10">&nbsp;1$</span><br>
+sin<sup ><span
+class="cmr-7">2</span></sup><span
+class="cmmi-10">x </span>+ cos<sup ><span
+class="cmr-7">2</span></sup><span
+class="cmmi-10">x </span>= 1</div>
+ </div>
+<!--l. 1481--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-127-" ><colgroup id="TBL-127-1g"><col
+id="TBL-127-1"><col
+id="TBL-127-2"></colgroup><tr
+ valign="baseline" id="TBL-127-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-127-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 36: </span></td><td align="left" id="TBL-127-1-2"
+class="td11"> <!--l. 1481--><p class="noindent"><span
+class="cmtt-12">You</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">put</span>
+ <span
+class="cmtt-12">a</span>
+ <span
+class="cmtt-12">space</span>
+ <span
+class="cmtt-12">in</span>
+ <span
+class="cmtt-12">front</span>
+ <span
+class="cmtt-12">of/after</span>
+ <span
+class="cmtt-12">parenthesis.</span> </td>
+ </tr></table>
+<br class="newline"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-130-" ><colgroup id="TBL-130-1g"><col
+id="TBL-130-1"><col
+id="TBL-130-2"></colgroup><tr
+ valign="baseline" id="TBL-130-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-130-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 37: </span></td><td align="left" id="TBL-130-1-2"
+class="td11"> <!--l. 1482--><p class="noindent"><span
+class="cmtt-12">You</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">avoid</span>
+ <span
+class="cmtt-12">spaces</span>
+ <span
+class="cmtt-12">in</span>
+ <span
+class="cmtt-12">front</span>
+ <span
+class="cmtt-12">of/after</span>
+ <span
+class="cmtt-12">parenthesis.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1483--><p class="noindent">Outside math mode, you should put a space in front of any group of
+ opening parenthesis, and no spaces after. If you have several after each
+ other, you should of course not put a space in between each; look in the
+ example below. Likewise, there should not be spaces in front of closing
+ parenthesis, but there should be at least one after.
+ <div class="center"
+>
+<!--l. 1492--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">This</span><span class="underline"><span
+class="cmtt-10">( </span></span><span class="verb"><span
+class="cmtt-10">an</span><span
+class="cmtt-10">&nbsp;example</span><span class="underline"><span
+class="cmtt-10">( </span></span><span class="verb"><span
+class="cmtt-10">Nuff</span><span
+class="cmtt-10">&nbsp;said</span><span class="underline"><span
+class="cmtt-10">&nbsp;</span></span><span class="verb"><span
+class="cmtt-10">)),</span><span
+class="cmtt-10">&nbsp;illustrates</span><span class="underline"><span
+class="cmtt-10">( </span></span><span class="verb"><span
+class="cmtt-10">``my''</span><span class="underline"><span
+class="cmtt-10">&nbsp;)</span></span><span class="verb"><span
+class="cmtt-10">point.</span><br>
+This( an example( Nuff said )), illustrates( &#8220;my&#8221; )point.<br>
+<span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;(an</span><span
+class="cmtt-10">&nbsp;example</span><span
+class="cmtt-10">&nbsp;(Nuff</span><span
+class="cmtt-10">&nbsp;said)),</span><span
+class="cmtt-10">&nbsp;illustrates</span><span
+class="cmtt-10">&nbsp;(``my'')</span><span
+class="cmtt-10">&nbsp;point.</span><br>
+This (an example (Nuff said)), illustrates (&#8220;my&#8221;) point.<br>
+</div>
+
+ </div>
+ <div class="marginpar">
+<!--l. 1503--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">QuoteStyle</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-133-" ><colgroup id="TBL-133-1g"><col
+id="TBL-133-1"><col
+id="TBL-133-2"></colgroup><tr
+ valign="baseline" id="TBL-133-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-133-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 38: </span></td><td align="left" id="TBL-133-1-2"
+class="td11"> <!--l. 1505--><p class="noindent"><span
+class="cmtt-12">You</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">not</span>
+ <span
+class="cmtt-12">use</span>
+ <span
+class="cmtt-12">punctuation</span>
+ <span
+class="cmtt-12">in</span>
+ <span
+class="cmtt-12">front</span>
+ <span
+class="cmtt-12">of/after</span>
+ <span
+class="cmtt-12">quotes.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1507--><p class="noindent">For best looking documents, you should decide on how you wish to put quotes
+ relative to punctuation. Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;recognizes two styles; you may specify
+ which you use in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file. A description on each style
+ follows:
+ <dl class="description"><dt class="description">
+<span
+class="cmbx-10">Traditional:</span> </dt><dd
+class="description">This style is the most visually pleasing. It always puts
+ the punctuation <span
+class="cmti-10">in front of </span>the quotes, which gives a continuous
+ bottom line.
+ <!--l. 1516--><p class="noindent">However, it may in certain cases be ambigious. Consider the following
+ example from a fictious &#8220;<span
+class="cmtt-10">vi(1)</span>&#8221; tutorial (quote taken from the Jargon
+ file):
+ <div class="center"
+>
+<!--l. 1519--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">Then</span><span
+class="cmtt-10">&nbsp;delete</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;line</span><span
+class="cmtt-10">&nbsp;from</span><span
+class="cmtt-10">&nbsp;the</span><span
+class="cmtt-10">&nbsp;file</span><span
+class="cmtt-10">&nbsp;by</span><span
+class="cmtt-10">&nbsp;typing</span><span
+class="cmtt-10">&nbsp;``dd.''</span><br>
+Then delete a line from the file by typing &#8220;dd.&#8221;</div>
+ <!--l. 1523--><p class="noindent">That would be very bad -- because the reader would be prone to type
+ the string d-d-dot, and it happens that in &#8220;<span
+class="cmtt-10">vi(1)</span>&#8221; dot repeats the last
+ command accepted. The net result would be to delete <span
+class="cmti-10">two </span>lines!
+ This problem is avoided using logical style, described below.
+ </dd><dt class="description">
+<span
+class="cmbx-10">Logical:</span> </dt><dd
+class="description">This style uses quotes as balanced delimiters like parentheses. While
+ this is not the most visual pleasing, it is can&#8217;t be misunderstood. The
+ above sentence would then become:
+ <div class="center"
+>
+<!--l. 1533--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">Then</span><span
+class="cmtt-10">&nbsp;delete</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;line</span><span
+class="cmtt-10">&nbsp;from</span><span
+class="cmtt-10">&nbsp;the</span><span
+class="cmtt-10">&nbsp;file</span><span
+class="cmtt-10">&nbsp;by</span><span
+class="cmtt-10">&nbsp;typing</span><span
+class="cmtt-10">&nbsp;``dd''.</span><br>
+Then delete a line from the file by typing &#8220;dd&#8221;.</div>
+ </dd></dl>
+ </div>
+
+<!--l. 1542--><p class="noindent"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-136-" ><colgroup id="TBL-136-1g"><col
+id="TBL-136-1"><col
+id="TBL-136-2"></colgroup><tr
+ valign="baseline" id="TBL-136-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-136-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 39: </span></td><td align="left" id="TBL-136-1-2"
+class="td11"> <!--l. 1542--><p class="noindent"><span
+class="cmtt-12">Double</span>
+ <span
+class="cmtt-12">space</span>
+ <span
+class="cmtt-12">found.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1543--><p class="noindent">This warning is triggered whenever Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;finds a space in front of
+ a hard space, or vice versa. This will be rendered as two spaces (which
+ you usually don&#8217;t wish).
+ <div class="center"
+>
+<!--l. 1547--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">For</span><span
+class="cmtt-10">&nbsp;output</span><span
+class="cmtt-10">&nbsp;codes,</span><span
+class="cmtt-10">&nbsp;see</span><span
+class="cmtt-10">&nbsp;table</span><span class="underline"><span
+class="cmtt-10">&nbsp;</span></span><span class="verb"><span
+class="cmtt-10">~</span><span class="underline"><span
+class="cmtt-10">&nbsp;</span></span><span class="verb"><span
+class="cmtt-10">\ref{foo}.</span><br>
+For output codes, see table &nbsp; 1.1.<br>
+<span class="verb"><span
+class="cmtt-10">For</span><span
+class="cmtt-10">&nbsp;output</span><span
+class="cmtt-10">&nbsp;codes,</span><span
+class="cmtt-10">&nbsp;see</span><span
+class="cmtt-10">&nbsp;table~\ref{foo}.</span><br>
+For output codes, see table&nbsp;1.1.</div>
+ </div>
+ <div class="marginpar">
+<!--l. 1557--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">MathEnvir</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-139-" ><colgroup id="TBL-139-1g"><col
+id="TBL-139-1"><col
+id="TBL-139-2"></colgroup><tr
+ valign="baseline" id="TBL-139-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-139-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 40: </span></td><td align="left" id="TBL-139-1-2"
+class="td11"> <!--l. 1559--><p class="noindent"><span
+class="cmtt-12">You</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">put</span>
+ <span
+class="cmtt-12">punctuation</span>
+ <span
+class="cmtt-12">outside</span>
+ <span
+class="cmtt-12">inner/inside</span>
+ <span
+class="cmtt-12">display</span>
+ <span
+class="cmtt-12">math</span>
+ <span
+class="cmtt-12">mode.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1560--><p class="noindent">As recommended in the <span class="TEX">T<span
+class="E">E</span>X</span>book, you should try to put punctuation
+ outside inner math mode, as this is gets formatted better.
+ <!--l. 1563--><p class="noindent">Similarily, you should let any final punctuation in display math mode end up
+ within it. Look at the following example, which was taken from the
+ <span class="TEX">T<span
+class="E">E</span>X</span>book:
+ <div class="center"
+>
+<!--l. 1566--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">for</span><span
+class="cmtt-10">&nbsp;$x</span><span
+class="cmtt-10">&nbsp;=</span><span
+class="cmtt-10">&nbsp;a</span><span class="underline"><span
+class="cmtt-10">,</span></span><span class="verb"><span
+class="cmtt-10">b$,</span><span
+class="cmtt-10">&nbsp;or</span><span
+class="cmtt-10">&nbsp;$c$.</span><br>
+for <span
+class="cmmi-10">x </span>= <span
+class="cmmi-10">a,b</span>, or <span
+class="cmmi-10">c</span>.<br>
+<span class="verb"><span
+class="cmtt-10">for</span><span
+class="cmtt-10">&nbsp;$x</span><span
+class="cmtt-10">&nbsp;=</span><span
+class="cmtt-10">&nbsp;a$,</span><span
+class="cmtt-10">&nbsp;$b$,</span><span
+class="cmtt-10">&nbsp;or</span><span
+class="cmtt-10">&nbsp;$c$.</span><br>
+for <span
+class="cmmi-10">x </span>= <span
+class="cmmi-10">a</span>, <span
+class="cmmi-10">b</span>, or <span
+class="cmmi-10">c</span>.<br>
+</div>
+ </div>
+
+ <div class="marginpar">
+<!--l. 1576--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">Primitives</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-142-" ><colgroup id="TBL-142-1g"><col
+id="TBL-142-1"><col
+id="TBL-142-2"></colgroup><tr
+ valign="baseline" id="TBL-142-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-142-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 41: </span></td><td align="left" id="TBL-142-1-2"
+class="td11"> <!--l. 1577--><p class="noindent"><span
+class="cmitt-10x-x-120">You</span>
+ <span
+class="cmitt-10x-x-120">ought</span>
+ <span
+class="cmitt-10x-x-120">to</span>
+ <span
+class="cmitt-10x-x-120">not</span>
+ <span
+class="cmitt-10x-x-120">use</span>
+ <span
+class="cmitt-10x-x-120">primitive</span>
+ <span
+class="cmitt-10x-x-120">TeX</span>
+ <span
+class="cmitt-10x-x-120">in</span>
+ <span
+class="cmitt-10x-x-120">LaTeX</span>
+ <span
+class="cmitt-10x-x-120">code.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1578--><p class="noindent">This warning is triggered whenever you use a raw <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;command which
+ has been replaced by a <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;equivalent. If you consider yourself a
+ purist (or want to be sure your code works under <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>3), you should
+ use the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;equivalent.</div>
+ <div class="marginpar">
+<!--l. 1584--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">NotPreSpaced</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-145-" ><colgroup id="TBL-145-1g"><col
+id="TBL-145-1"><col
+id="TBL-145-2"></colgroup><tr
+ valign="baseline" id="TBL-145-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-145-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 42: </span></td><td align="left" id="TBL-145-1-2"
+class="td11"> <!--l. 1585--><p class="noindent"><span
+class="cmtt-12">You</span>
+ <span
+class="cmtt-12">should</span>
+ <span
+class="cmtt-12">remove</span>
+ <span
+class="cmtt-12">spaces</span>
+ <span
+class="cmtt-12">in</span>
+ <span
+class="cmtt-12">front</span>
+ <span
+class="cmtt-12">of</span>
+ <span
+class="cmtt-12">`%s'</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1587--><p class="noindent">Some commands should not be prepended by a space character, for
+ cosmetical reasons. This notes you of this whenever this has happened.
+ <div class="center"
+>
+<!--l. 1590--><p class="noindent">
+ <span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;footnote</span><span class="underline"><span
+class="cmtt-10">&nbsp;</span></span><span class="verb"><span
+class="cmtt-10">\footnotemark[1]</span><span
+class="cmtt-10">&nbsp;mark.</span><br>
+This is a footnote <sup ><span
+class="cmr-7">1</span></sup> mark.<br>
+<span class="verb"><span
+class="cmtt-10">This</span><span
+class="cmtt-10">&nbsp;is</span><span
+class="cmtt-10">&nbsp;a</span><span
+class="cmtt-10">&nbsp;footnote\footnotemark[1]</span><span
+class="cmtt-10">&nbsp;mark.</span><br>
+This is a footnote<sup ><span
+class="cmr-7">1</span></sup> mark.<br>
+</div>
+ </div>
+
+ <div class="marginpar">
+<!--l. 1599--><p class="indent">
+<br class="newline"><span
+class="cmtt-12">NoCharNext</span></div><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-148-" ><colgroup id="TBL-148-1g"><col
+id="TBL-148-1"><col
+id="TBL-148-2"></colgroup><tr
+ valign="baseline" id="TBL-148-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-148-1-1"
+class="td11"> <span
+class="cmbx-12">Warning 43: </span></td><td align="left" id="TBL-148-1-2"
+class="td11"> <!--l. 1600--><p class="noindent"><span
+class="cmtt-12">`%s'</span>
+ <span
+class="cmtt-12">is</span>
+ <span
+class="cmtt-12">normally</span>
+ <span
+class="cmtt-12">not</span>
+ <span
+class="cmtt-12">followed</span>
+ <span
+class="cmtt-12">by</span>
+ <span
+class="cmtt-12">`%c'.</span> </td>
+ </tr></table>
+ <div class="quote">
+ <!--l. 1601--><p class="noindent"><span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&#8217; error message when calling <span class="verb"><span
+class="cmtt-10">\left</span><span
+class="cmtt-10">&nbsp;\{ </span>instead of <span class="verb"><span
+class="cmtt-10">left</span><span
+class="cmtt-10">&nbsp;\{ </span>is
+ unfortunately rather poor. This warning detects this and similar errors.</div>
+<!--l. 1606--><p class="noindent">
+ <h3 class="sectionHead"><span class="titlemark">7 </span> <a
+ id="x1-220007"></a>Future plans</h3>
+<!--l. 1608--><p class="noindent">In a somewhat prioritized sequence, this is what I&#8217;d like to put into the program -- if I
+have the time.
+ <ul class="itemize1">
+ <li class="itemize">Do
+ a final fix for maths mode. Currently, Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;doesn&#8217;t recognize embedded
+ math mode (i.e.&nbsp;constructions like <span class="verb"><span
+class="cmtt-10">$$a+b\text{for</span><span
+class="cmtt-10">&nbsp;$a</span><span
+class="cmtt-10">&nbsp;\leq</span><span
+class="cmtt-10">&nbsp;0$}$$</span>).
+ </li>
+ <li class="itemize">Support for regular expressions as user patterns. I&#8217;ll do it at once I get the
+ GNU &#8220;<span
+class="cmtt-10">rx</span>&#8221; package up and running (it doesn&#8217;t produce correct include files).
+ </li>
+ <li class="itemize">De-linearize the checker. Currently, it works on a line-by-line basis, in most
+ respects, at least. I hope to be able to remove this barrier; as this will reduce
+ the amount of false warnings somewhat.
+ </li>
+ <li class="itemize">Probably some more warnings/errors; just have to think them out first.
+ Suggestions are appreciated -- I&#8217;ve &#8220;stolen&#8221; most that similar programs
+ provides, and am running out of ideas, really.
+ <!--l. 1629--><p class="noindent">It would also be nice to investigate the field of &#8220;globally&#8221; oriented
+ warnings; i.e.&nbsp;warnings regarding the document as a whole. Currently,
+ Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;operates mainly on a local/&#8220;greedy&#8221; basis.
+ <!--l. 1634--><p class="noindent">If you have suggestions/ideas on this topic, they&#8217;re certainly welcome,
+ including references to literature.
+ </li>
+ <li class="itemize">Fix a few more bugs. :-)</li></ul>
+
+<!--l. 1640--><p class="noindent">
+ <h3 class="sectionHead"><span class="titlemark">8 </span> <a
+ id="x1-230008"></a>Notes</h3>
+<!--l. 1642--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">8.1 </span> <a
+ id="x1-240008.1"></a>Wish to help?</h4>
+<!--l. 1644--><p class="noindent">As most other living creatures, I have only a limited amount of time. If you like
+Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;and would like to help improving it, here&#8217;s a few things I would like to receive.
+The following ideas are given:
+ <ul class="itemize1">
+ <li class="itemize">Does anyone have a <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span> <span
+class="cmsy-10"><img
+src="cmsy10-21.png" alt="--&gt;" class="10x-x-21" /></span> <span
+class="cmtt-10">troff</span> conversion program? It would be really
+ nice if I could extract the relevant sections from this manual, and present
+ them as a man page. I will not, however, convert this manual to <span class="TEX">T<span
+class="E">E</span>X</span>info in
+ order to be able to do this; IMHO <span class="TEX">T<span
+class="E">E</span>X</span>info documents have far too limited
+ typographic possibilities.
+ <!--l. 1656--><p class="noindent">This doesn&#8217;t mean that I&#8217;m not willing to restructure the document at all. This
+ manual already uses some kind of preprocessing in order to achieve HTML
+ output via <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>2<span
+class="cmtt-10">html</span>, I&#8217;m willing to do the same in order to produce
+ <span
+class="cmtt-10">troff </span>output.
+ </li>
+ <li class="itemize">Help me port the program! This is a prioritized one. It&#8217;s no fun writing ANSI
+ C when people haven&#8217;t got a C compiler.
+ <!--l. 1664--><p class="noindent">Of course, I&#8217;ll provide whatever help necessary to modify the sources to fit
+ to the new platform. Take contact if you&#8217;re interested. I will include your
+ compiled binary in the distribution, and give you credit where appropiate.
+ <!--l. 1669--><p class="noindent">Just one request: If you have to modify the sources in order to make
+ Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;compile &amp; work on the new platform, <span
+class="cmti-10">please </span>enclose your changes
+ in something like &#8220;<span
+class="cmtt-10">#ifdef </span><span
+class="cmtt-10">_</span><span
+class="cmtt-10">_PLATFORM</span><span
+class="cmtt-10">_</span><span
+class="cmtt-10">_...code...#endif</span>&#8221;! It makes life
+ so much easier later, when we try to merge the two source trees.
+ </li>
+ <li class="itemize">Reports on problems configuring and compiling Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;on supported (and
+ unsupported) systems are welcomed.
+ </li>
+ <li class="itemize">Filters for other file formats. I do believe that there are several formats using
+ <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;for its formatting purposes, combining that with something else.
+ If you can write a program or script which filters everything away but the
+ <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;code, it will surely be appreciated (and included). Look at the <span class="verb"><span
+class="cmtt-10">deweb</span>
+ script to see what I mean.
+ </li>
+ <li class="itemize">Arexx interfaces for other editors are also welcomed; these should be rather fast to
+ write. They should to the following:
+ <ol type="1" class="enumerate1" >
+ <li class="enumerate" value="1"
+><a
+ id="x1-24002x1"></a>Get the filename of the active file.
+ </li>
+ <li class="enumerate" value="2"
+><a
+ id="x1-24004x2"></a>If possible, save the file to disk if there has been any changes.
+ </li>
+ <li class="enumerate" value="3"
+><a
+ id="x1-24006x3"></a>Call the program &#8220;<span
+class="cmtt-10">ChkTeX.rexx</span>&#8221; with the filename as the only
+ parameter.</li></ol>
+
+ </li>
+ <li class="itemize">If somebody out there actually possesses (and uses) GoldED, it would be nice if
+ they checked whether the ARexx script included actually work. If not,
+ please send me a fixed copy; perhaps also one which supports point 2
+ above, too. If it does work, then please tell me so, so I can remove this
+ item.
+ <!--l. 1701--><p class="noindent">I don&#8217;t have GoldEd in my possession; the script was just modelled after Juergen
+ Zeschky&#8217;s, (<span
+class="cmtt-10">&lt;juergen@sokrates.nbg.de&gt;</span>) PGP <span
+class="cmsy-10"><img
+src="cmsy10-24.png" alt="&lt;--&gt;" class="10x-x-24" /></span> GoldED interface.
+ </li>
+ <li class="itemize">If you update the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file in anyway that is not strictly local, I would
+ appreciate to receive your updated version.
+ </li>
+ <li class="itemize">Suggestions for new warnings are always welcomed. Both formal (i.e.&nbsp;regexps or
+ similar) and non-formal (plain English) descriptions are welcomed.</li></ul>
+<!--l. 1713--><p class="indent"> Of course, people doing any of this will be mentioned in this document, and thus
+receive eternal glory and appreciation.
+<!--l. 1716--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">8.2 </span> <a
+ id="x1-250008.2"></a>Caps and stuff</h4>
+<!--l. 1718--><p class="noindent">This program uses the &#8220;<span
+class="cmtt-10">getopt()</span>&#8221; routine, as supplied from GNU. The source
+included in this distribution has been modified slightly. To make the use of
+C2LOCAL easier, portions which were <span class="verb"><span
+class="cmtt-10">#ifdef</span>&#8217;ed out, have now been commented
+out.
+<!--l. 1723--><p class="indent"> Where trademarks have been used, the author is aware of that they belong to
+someone, and has tried to stick to the original caps.
+<!--l. 1726--><p class="noindent">
+ <h3 class="sectionHead"><span class="titlemark">9 </span> <a
+ id="x1-260009"></a>About the author</h3>
+<!--l. 1728--><p class="noindent">A quick summary of who I am and what I do:
+<!--l. 1730--><p class="indent"> I&#8217;m 21 years old, and live in Oslo, the capital of Norway. I&#8217;m currently studying maths
+and computer science at the University&nbsp;of&nbsp;Oslo; planning to get a degree within
+mathematical modeling, with a dash of physics and emphazing the computer part of the
+study. More precisely, in autumn&#8217;96 my studies consist of mathematical analysis,
+statistics &amp; probability calculations plus studying the relationship between society and
+computers.
+<!--l. 1738--><p class="indent"> At home I now possess 4 computers, of which 1 is regular use: A vanilla Amiga
+1200, expanded only by a HD. The others are a <span
+class="cmtt-10">80286 </span>PC and an Amiga 500,
+both semi-out-of-order. The last one is a Commodore VIC-20, which for some
+peculiar reason never seems to be used. Plans are to get a Linux-capable PC,
+though.
+<!--l. 1744--><p class="indent"> Most of the time in front of these computers (including SGI Indy&#8217;s and SPARC
+stations at our university) is spent on C and shell programming, plus some
+text-processing.
+<!--l. 1755--><p class="indent"> C and shell programming are not my only knowledge areas regarding computers,
+however. I write the following languages more or less: Perl, Motorola <span
+class="cmtt-10">68000 </span>assembly
+code, ARexx, Simula, C++, <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>, HTML, AmigaGuide, Amos Basic and Installer
+LISP. Once I also mastered Commodore Basic V2, the &#8220;language&#8221; included with my
+VIC-20.
+
+<!--l. 1761--><p class="indent"> However, I also try to not to end up as a computer nerd. Thus, in addition to the
+compulsory (?) interest for computers, I am a scout. Still running into the woods,
+climbing the trees, falling down and climbing up once more, in other words. To be more
+specific, I am a now a troop leader for &#8216;Ulven&#8217; scout-group; Norwegian Scouts
+Association. I am also a active rover in &#8216;Vålerenga&#8217; scout-group.
+<!--l. 1768--><p class="indent"> Certainly a lot more to tell (I play the piano and like cross-country skiing, for
+instance); but I&#8217;ll stop here before you fall asleep...:-)
+<!--l. 1773--><p class="noindent">
+ <h3 class="sectionHead"><span class="titlemark">10 </span> <a
+ id="x1-2700010"></a>Thanks</h3>
+<!--l. 1775--><p class="noindent">The author wishes to thank the following people (in alphabetical order):
+<!--l. 1786--><p class="indent">
+ <dl class="description"><dt class="description">
+ </dt><dd
+class="description"> <!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-149-" ><colgroup id="TBL-149-1g"><col
+id="TBL-149-1"></colgroup><tr
+ valign="baseline" id="TBL-149-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-149-1-1"
+class="td11"> <span
+class="cmbx-10">Russ Bubley </span></td>
+</tr><tr
+ valign="baseline" id="TBL-149-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-149-2-1"
+class="td11"> <span
+class="cmtt-10">russ@scs.leeds.ac.uk </span></td>
+</tr><tr
+ valign="baseline" id="TBL-149-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-149-3-1"
+class="td11"> </td>
+</tr></table> </div>
+ <br class="newline">He has been the main external beta-tester for this program, sending me loads
+ and loads of understandable and reproducible bug reports. If you somehow
+ think that Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;is well-behaved and free from bugs, send warm thoughts
+ to Russ. He has also provided ideas for enhanced checks and so forth.
+ <!--l. 1795--><p class="noindent">In addition, he sent me a huge list of 238 common English abbreviations, for
+ inclusion in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file! Together with the enhanced abbreviation
+ recognizer, I do now believe most abbreviations should be catched...:-)&nbsp;
+ <!--l. 1800--><p class="noindent">Finally, he has also given me valuable hints for improving the program&#8217;s
+ outputting routine, and given me lots of suggestions for filtering
+ unnecessary/false warnings away.
+ </dd><dt class="description">
+ </dt><dd
+class="description"> <!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-150-" ><colgroup id="TBL-150-1g"><col
+id="TBL-150-1"></colgroup><tr
+ valign="baseline" id="TBL-150-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-150-1-1"
+class="td11"> <span
+class="cmbx-10">Gerd B</span><span
+class="cmbx-10">öhm </span></td>
+</tr><tr
+ valign="baseline" id="TBL-150-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-150-2-1"
+class="td11"> <span
+class="cmtt-10">Gerd.Boehm@physik.uni-regensburg.de </span></td>
+</tr><tr
+ valign="baseline" id="TBL-150-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-150-3-1"
+class="td11"> </td>
+</tr></table> </div>
+ <br class="newline">Improved and bug-fixed the MS-DOS port of Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;v1.4, sending me
+ ready-to-yank code patches. The original port didn&#8217;t respect all the peculiarities
+ of the MS-DOS file-system, unfortunately.
+ </dd><dt class="description">
+ </dt><dd
+class="description"> <!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-151-" ><colgroup id="TBL-151-1g"><col
+id="TBL-151-1"></colgroup><tr
+ valign="baseline" id="TBL-151-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-151-1-1"
+class="td11"> <span
+class="cmbx-10">Lars Frellesen </span></td>
+</tr><tr
+ valign="baseline" id="TBL-151-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-151-2-1"
+class="td11"> <span
+class="cmtt-10">frelle@math-tech.dk </span></td>
+</tr><tr
+ valign="baseline" id="TBL-151-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-151-3-1"
+class="td11"> </td>
+</tr></table> </div>
+ <br class="newline">Sent a few bug reports regarding the filtering of messages. He has also helped
+ me to expand the &#8220;<span
+class="cmtt-10">SILENT</span>&#8221; keyword in the &#8220;<span
+class="cmtt-10">chktexrc</span>&#8221;&nbsp;file.
+ </dd><dt class="description">
+ </dt><dd
+class="description"> <!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-152-" ><colgroup id="TBL-152-1g"><col
+id="TBL-152-1"></colgroup><tr
+ valign="baseline" id="TBL-152-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-152-1-1"
+class="td11"> <span
+class="cmbx-10">Wolfgang Fritsch </span></td>
+</tr><tr
+ valign="baseline" id="TBL-152-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-152-2-1"
+class="td11"> <span
+class="cmtt-10">fritsch@hmi.de </span></td>
+</tr><tr
+ valign="baseline" id="TBL-152-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-152-3-1"
+class="td11"> </td>
+</tr></table> </div>
+ <br class="newline">Author of the OS/2 port, which he did using the emx compiler. Please direct
+ questions regarding strictly to that port to him (I would like to receive a
+ carbon copy, though).
+ </dd><dt class="description">
+
+ </dt><dd
+class="description"> <!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-153-" ><colgroup id="TBL-153-1g"><col
+id="TBL-153-1"></colgroup><tr
+ valign="baseline" id="TBL-153-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-153-1-1"
+class="td11"> <span
+class="cmbx-10">Stefan Gerberding </span></td>
+</tr><tr
+ valign="baseline" id="TBL-153-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-153-2-1"
+class="td11"> <span
+class="cmtt-10">stefan@inferenzsysteme.informatik.th-darmstadt.de </span></td>
+</tr><tr
+ valign="baseline" id="TBL-153-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-153-3-1"
+class="td11"> </td>
+</tr></table> </div>
+ <br class="newline">First one to report the Enforcer hit in v1.2 when using Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;as a pipe.
+ Also came with suggestions to make Chk<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;more easily compile on early
+ gcc compilers.
+ <!--l. 1823--><p class="noindent">He has also kept on beta-testing later versions of Chk<span class="TEX">T<span
+class="E">E</span>X</span>, giving me
+ bug-reports and enhancements requests.
+ </dd><dt class="description">
+ </dt><dd
+class="description"> <!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-154-" ><colgroup id="TBL-154-1g"><col
+id="TBL-154-1"></colgroup><tr
+ valign="baseline" id="TBL-154-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-154-1-1"
+class="td11"> <span
+class="cmbx-10">Kasper B. Graversen </span></td>
+</tr><tr
+ valign="baseline" id="TBL-154-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-154-2-1"
+class="td11"> <span
+class="cmtt-10">kbg2001@internet.dk </span></td>
+</tr><tr
+ valign="baseline" id="TBL-154-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-154-3-1"
+class="td11"> </td>
+</tr></table> </div>
+ <br class="newline">Lots of creative suggestions and improvements. Several of the warnings implemented
+ were based on his ideas. In addition, he has given advice for improving the
+ existing warnings.
+ <!--l. 1831--><p class="noindent">Has also provided some OS-oriented code.
+ </dd><dt class="description">
+ </dt><dd
+class="description"> <!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-155-" ><colgroup id="TBL-155-1g"><col
+id="TBL-155-1"></colgroup><tr
+ valign="baseline" id="TBL-155-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-155-1-1"
+class="td11"> <span
+class="cmbx-10">Frank Luithle </span></td>
+</tr><tr
+ valign="baseline" id="TBL-155-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-155-2-1"
+class="td11"> <span
+class="cmtt-10">f</span><span
+class="cmtt-10">_luithle@outside.sb.sub.de </span></td>
+</tr><tr
+ valign="baseline" id="TBL-155-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-155-3-1"
+class="td11"> </td>
+</tr></table> </div>
+ <br class="newline">Wrote a translation for v1.0. Unfortunately, he remained unreachable after
+ that...:-/
+ </dd><dt class="description">
+ </dt><dd
+class="description"> <!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-156-" ><colgroup id="TBL-156-1g"><col
+id="TBL-156-1"></colgroup><tr
+ valign="baseline" id="TBL-156-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-156-1-1"
+class="td11"> <span
+class="cmbx-10">Nat </span></td>
+</tr><tr
+ valign="baseline" id="TBL-156-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-156-2-1"
+class="td11"> <span
+class="cmtt-10">nat@nataa.frmug.fr.net </span></td>
+</tr><tr
+ valign="baseline" id="TBL-156-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-156-3-1"
+class="td11"> </td>
+</tr></table> </div>
+ <br class="newline">Reported the same bug as Gerberding. In addition, he taught me a few tricks
+ regarding the use of gcc + made me understand that the ANSI standard isn&#8217;t
+ unambigious; at least the <span class="verb"><span
+class="cmtt-10">getenv() </span>call seem to be open for interpretations.
+ Many possible incompatibilities have been removed due to these lessons.
+ </dd><dt class="description">
+ </dt><dd
+class="description"> <!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-157-" ><colgroup id="TBL-157-1g"><col
+id="TBL-157-1"></colgroup><tr
+ valign="baseline" id="TBL-157-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-157-1-1"
+class="td11"> <span
+class="cmbx-10">Michael Sanders </span></td>
+</tr><tr
+ valign="baseline" id="TBL-157-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-157-2-1"
+class="td11"> <span
+class="cmtt-10">sanders@umich.edu </span></td>
+</tr><tr
+ valign="baseline" id="TBL-157-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-157-3-1"
+class="td11"> </td>
+</tr></table> </div>
+ <br class="newline">Has found some of the bugs in this beast; both obscure and long-lived. Has
+ also provided motivation to clarify this document.
+ </dd><dt class="description">
+ </dt><dd
+class="description"> <!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-158-" ><colgroup id="TBL-158-1g"><col
+id="TBL-158-1"></colgroup><tr
+ valign="baseline" id="TBL-158-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-158-1-1"
+class="td11"> <span
+class="cmbx-10">Bjørn Ove Thue </span></td>
+</tr><tr
+ valign="baseline" id="TBL-158-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-158-2-1"
+class="td11"> <span
+class="cmtt-10">bjort@ifi.uio.no </span></td>
+</tr><tr
+ valign="baseline" id="TBL-158-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-158-3-1"
+class="td11"> </td>
+</tr></table> </div>
+ <br class="newline">Author of the MSDOS port; please direct questions regarding strictly to that
+ port to him (I would like to receive a carbon copy, though).
+ </dd><dt class="description">
+ </dt><dd
+class="description"> <!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-159-" ><colgroup id="TBL-159-1g"><col
+id="TBL-159-1"></colgroup><tr
+ valign="baseline" id="TBL-159-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-159-1-1"
+class="td11"> <span
+class="cmbx-10">Martin Ward </span></td>
+</tr><tr
+ valign="baseline" id="TBL-159-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-159-2-1"
+class="td11"> <span
+class="cmtt-10">Martin.Ward@durham.ac.uk </span></td>
+</tr><tr
+ valign="baseline" id="TBL-159-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-159-3-1"
+class="td11"> </td>
+</tr></table> </div>
+ <br class="newline">Sent a few bug-reports; also gave me information upon where to find regexp
+ code. He also provided a Perl script for checking ordinary text, which ideas I
+ was able to implement in Chk<span class="TEX">T<span
+class="E">E</span>X</span>. In addition, he sent me the source code
+
+ for <span class="verb"><span
+class="cmtt-10">lacheck</span>; which also inspired some of the warnings.</dd></dl>
+<!--l. 1862--><p class="noindent">
+ <h3 class="sectionHead"><span class="titlemark">11 </span> <a
+ id="x1-2800011"></a>Contacting the author</h3>
+<!--l. 1864--><p class="noindent">If you wish to contact me for any reason or would like to participate in the development
+of Chk<span class="TEX">T<span
+class="E">E</span>X</span>, please write to:
+ <div class="quote">
+ <!--l. 1870--><p class="noindent">Jens Berger
+ <br class="newline">Spektrumvn. 4
+ <br class="newline">N-0666 Oslo
+ <br class="newline">Norway
+ <br class="newline">E-mail: <span
+class="cmtt-10">&lt;jensthi@ifi.uio.no&gt;</span></div>
+<!--l. 1879--><p class="noindent">Any signs of intelligent life are welcomed; that should exclude piracy.
+<!--l. 1881--><p class="indent"> Since the original author is unreachable, the maintainer these days is:
+ <div class="quote">
+ <!--l. 1886--><p class="noindent">Baruch Even
+ <br class="newline">E-mail: <span
+class="cmtt-10">&lt;chktex@ev-en.org&gt;</span></div>
+<!--l. 1893--><p class="noindent">Have fun.
+
+</body></html>
+
+
+
diff --git a/Master/texmf/doc/chktex/ChkTeX.pdf b/Master/texmf/doc/chktex/ChkTeX.pdf
new file mode 100644
index 00000000000..a6bdf6a8ef0
--- /dev/null
+++ b/Master/texmf/doc/chktex/ChkTeX.pdf
Binary files differ
diff --git a/Master/texmf/doc/dvipng/dvipng.html b/Master/texmf/doc/dvipng/dvipng.html
new file mode 100644
index 00000000000..47f94e695be
--- /dev/null
+++ b/Master/texmf/doc/dvipng/dvipng.html
@@ -0,0 +1,1063 @@
+<html lang="en">
+<head>
+<title>A DVI-to-PNG translator</title>
+<meta http-equiv="Content-Type" content="text/html">
+<meta name="description" content="A DVI-to-PNG translator">
+<meta name="generator" content="makeinfo 4.8">
+<link title="Top" rel="top" href="#Top">
+<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<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">A DVI-to-PNG translator</h1>
+<div class="contents">
+<h2>Table of Contents</h2>
+<ul>
+<li><a name="toc_Top" href="#Top">dvipng</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="#Prerequisites">2.1 Prerequisites</a>
+<li><a href="#Configure">2.2 Configure</a>
+<li><a href="#Build_002finstall">2.3 Build/install</a>
+<li><a href="#Installation-outside-the-texmf-tree">2.4 Installation outside the texmf tree</a>
+<li><a href="#Advice-for-non_002dprivileged-users">2.5 Installation for non-privileged users</a>
+</li></ul>
+<li><a name="toc_Basic-usage" href="#Basic-usage">3 Basic usage of dvipng</a>
+<li><a name="toc_Command_002dline-options" href="#Command_002dline-options">4 Command-line options</a>
+<ul>
+<li><a href="#Option-summary">4.1 Option summary</a>
+<li><a href="#Option-details">4.2 Option details</a>
+</li></ul>
+<li><a name="toc_Diagnosing-problems" href="#Diagnosing-problems">5 Diagnosing problems</a>
+<ul>
+<li><a href="#Debug-options">5.1 Debug options</a>
+<li><a href="#Included-graphics-problems">5.2 Included graphics problems</a>
+</li></ul>
+<li><a name="toc_Color" href="#Color">6 Color</a>
+<ul>
+<li><a href="#Color-specifications">6.1 Color specifications</a>
+<li><a href="#Color-specials">6.2 Color specials</a>
+</li></ul>
+<li><a name="toc_Credits" href="#Credits">7 Credits</a>
+<li><a name="toc_Copying" href="#Copying">8 Copying</a>
+<li><a name="toc_Index" href="#Index">Index</a>
+</li></ul>
+</div>
+
+
+
+<div class="node">
+<p><hr>
+<a name="Top"></a>
+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">dvipng</h2>
+
+<p>This manual documents dvipng, a program to translate a DVI (DeVice
+Independent) file into PNG (Portable Network Graphics).
+
+ <p>This file documents dvipng version 1.6
+
+ <p>Corrections or perhaps rewrites of sections are <em>very welcome</em>.
+
+ <p>Jan-&Aring;ke Larsson
+
+<ul class="menu">
+<li><a accesskey="1" href="#Introduction">Introduction</a>: Introduction
+<li><a accesskey="2" href="#Installation">Installation</a>: How to compile and install dvipng
+<li><a accesskey="3" href="#Basic-usage">Basic usage</a>: First things first
+<li><a accesskey="4" href="#Command_002dline-options">Command-line options</a>: Advanced usage
+<li><a accesskey="5" href="#Diagnosing-problems">Diagnosing problems</a>: Problems?
+<li><a accesskey="6" href="#Color">Color</a>: Using color with dvipng
+<li><a accesskey="7" href="#Copying">Copying</a>: GNU General Public License
+<li><a accesskey="8" href="#Credits">Credits</a>: People who have contributed
+<li><a accesskey="9" href="#Index">Index</a>: General index
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Introduction"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Installation">Installation</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Top">Top</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">1 Introduction</h2>
+
+<!-- man begin DESCRIPTION -->
+<!-- readme.texi -->
+<!-- Part of the dvipng distribution -->
+<!-- -->
+<p>This program makes PNG and/or GIF graphics from DVI files as obtained
+from TeX and its relatives.
+
+ <p>If GIF support is enabled, GIF output is chosen by using the
+`<samp><span class="samp">dvigif</span></samp>' binary or with the `<samp><span class="samp">--gif</span></samp>' option.
+
+ <p>It is intended to produce anti-aliased screen-resolution images as fast
+as is possible. The target audience is people who need to generate and
+regenerate many images again and again. The primary target is the
+preview-latex (X)Emacs package, a package to preview formulas from
+within (X)Emacs. Yes, you get to see your formulas in the (X)Emacs
+buffer, see <a href="http://preview-latex.sf.net">http://preview-latex.sf.net</a>.
+
+ <p>Another example is WeBWorK, an internet-based method for delivering
+homework problems to students over the internet, giving students
+instant feedback as to whether or not their answers are correct, see
+<a href="http://webwork.math.rochester.edu">http://webwork.math.rochester.edu</a>.
+
+ <p>Other applications may also benefit, like web applications as latex2html
+and WYSIWYG editors like LyX.
+
+ <p>The benefits of `<samp><span class="samp">dvipng</span></samp>'/`<samp><span class="samp">dvigif</span></samp>' include
+
+ <ul>
+<li>Speed. It is a very fast bitmap-rendering code for DVI files. On a
+fairly low-end laptop, it takes less than a second to generate 150
+one-formula images. This makes dvipng suitable for generating large
+amounts of images on-the-fly, as needed in preview-latex, WeBWorK and
+others.
+
+ <li>It does not read the postamble, so it can be started before TeX
+finishes. There is a &ndash;follow switch that makes dvipng wait at EOF for
+further output, unless it finds the POST marker that indicates the end
+of the DVI.
+
+ <li>Interactive query of options. dvipng can read options interactively
+through stdin, and all options are usable. It is even possible to change
+the input file through this interface.
+
+ <li>Supports PK, VF, PostScript Type1, and TrueType fonts, color specials
+and simple PostScript inclusion specials.
+
+ <li>and more...
+
+ </ul>
+
+<!-- man end -->
+<div class="node">
+<p><hr>
+<a name="Installation"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Basic-usage">Basic usage</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_002c-of-dvipng-1"></a><a name="index-compilation-2"></a><a name="index-installation_002c-of-dvipng-3"></a>
+
+<!-- install.texi -->
+<!-- Part of the dvipng distribution -->
+<!-- -->
+<p>Installing dvipng should be simple: merely <code>./configure</code>,
+<code>make</code>, and <code>make install</code>.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Prerequisites">Prerequisites</a>
+<li><a accesskey="2" href="#Configure">Configure</a>
+<li><a accesskey="3" href="#Build_002finstall">Build/install</a>
+<li><a accesskey="4" href="#Installation-outside-the-texmf-tree">Installation outside the texmf tree</a>
+<li><a accesskey="5" href="#Advice-for-non_002dprivileged-users">Advice for non-privileged users</a>
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Prerequisites"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Configure">Configure</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.1 Prerequisites</h3>
+
+ <ul>
+<li>The GD Graphics Draw library, libgd
+
+ <p>The drawing library `<samp><span class="samp">libgd</span></samp>' is necessary, and is downloadable at
+<a href="http://www.boutell.com/gd">http://www.boutell.com/gd</a>, and there are binary packages for
+most operating systems from their respective distributors. In any
+case, the latest version of the library installs using `<samp><span class="samp">autoconf</span></samp>'
+so it should not be difficult for you to install it from source, and
+then proceed with installing dvipng.
+
+ <li>The path-searching library kpathsea
+
+ <p>Kpathsea is most likely included in your LaTeX installation, but it
+may happen that ./configure does not find it; see below. If you do not
+have it, download it from <a href="http://www.ctan.org">http://www.ctan.org</a> and compile it.
+I have no experience with this, so I cannot help much here.
+
+ <li>FreeType 2 and/or T1lib
+
+ <p>While not strictly necessary, you may want to have FreeType 2 or T1lib
+available. Their presence will enable direct support for PostScript
+fonts in dvipng, rather than using `<samp><span class="samp">gsftopk</span></samp>' for rendering the
+fonts. If you have PostScript versons of Computer Modern installed,
+there will be no need to generate bitmapped variants on disk of
+these. Then, you can render images at different (and unusual)
+resolutions without cluttering the disk with lots of bitmapped fonts.
+If both FreeType 2 and T1lib are present, FreeType will be internally
+preferred by dvipng, but T1lib can be chosen at runtime.
+
+ <li>libpng and libz
+
+ <p>To be able to compress and write PNG files to disk, dvipng (or really
+libgd) uses libpng which in turn uses libz. These should be available on
+any modern system, if not, download them and install them.
+
+ <li>The <code>texinfo</code> package
+
+ <p>This is needed for building the documentation.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Configure"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Build_002finstall">Build/install</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Prerequisites">Prerequisites</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.2 Configure</h3>
+
+<p>The first step is to configure the source code, telling it where
+various files will be. To do so, run
+
+<pre class="example"> ./configure <var>options</var>
+</pre>
+ <p>(Note: if you have fetched dvipng from CVS rather than a regular
+release, you will have to first generate <samp><span class="file">./configure</span></samp> by running
+<code>autoconf</code> 2.53 or later in the <samp><span class="file">preview</span></samp> directory.)
+
+ <p>On many machines, you will not need to specify any options, but if
+<code>configure</code> cannot determine something on its own, you'll need to
+help it out. For a list of the options type
+
+<pre class="example"> ./configure --help
+</pre>
+ <p>On some machines, the libraries will be installed in directories that
+are not in the linker's search path. This will generate an error when
+running <samp><span class="file">./configure</span></samp>, indicating that it cannot find libgd or
+libkpathsea (most likely). You then need to specify the path to the
+respective library's object files. They are typically called e.g.,
+<samp><span class="file">libgd.a</span></samp> or <samp><span class="file">libgd.so</span></samp>. If they are located in e.g.,
+<samp><span class="file">/sw/local/lib</span></samp>, do
+
+<pre class="example"> ./configure LDFLAGS=-L/sw/local/lib
+</pre>
+ <p>If the library is available as a shared object file (<samp><span class="file">.so</span></samp>), the
+runtime linker may also need to be told where to find the library,
+then use
+
+<pre class="example"> ./configure LDFLAGS='-L/sw/local/lib -R/sw/local/lib'
+</pre>
+ <p>When either of these is necessary, it is likely that the C header
+files are also installed in directories that are not in the C
+preprocessor's search path. This will also generate an error when
+running <samp><span class="file">./configure</span></samp>, indicating that it cannot find e.g.,
+<samp><span class="file">gd.h</span></samp> or <samp><span class="file">kpathsea.h</span></samp> (most likely). You then need to
+specify the path to the respective library's C header files. If they
+are located in e.g., <samp><span class="file">/sw/local/include</span></samp>, do
+
+<pre class="example"> ./configure CPPFLAGS=-I/sw/local/include
+</pre>
+ <p>On my SUN Solaris workstation, I had to combine this into
+
+<pre class="example"> ./configure CPPFLAGS='-I/sw/local/include -I/sw/tex/teTeX/1.0/include'\
+ LDFLAGS='-L/sw/local/lib -R/sw/local/lib -L/sw/tex/teTeX/1.0/lib/'
+</pre>
+ <p class="noindent">where the backslash denotes a continuation of the line.
+
+<div class="node">
+<p><hr>
+<a name="Build%2finstall"></a>
+<a name="Build_002finstall"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Installation-outside-the-texmf-tree">Installation outside the texmf tree</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Configure">Configure</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.3 Build/install</h3>
+
+<p>Once <samp><span class="file">configure</span></samp> has been run, simply enter
+
+<pre class="example"> make
+</pre>
+ <p class="noindent">at the prompt to compile the C code, and build the documentation files.
+To install the files into the locations chosen earlier, type
+
+<pre class="example"> make install
+</pre>
+ <p class="noindent">You may need special privileges to install, e.g., if you are installing
+into system directories.
+
+<div class="node">
+<p><hr>
+<a name="Installation-outside-the-texmf-tree"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Advice-for-non_002dprivileged-users">Advice for non-privileged users</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Build_002finstall">Build/install</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.4 Installation outside the texmf tree</h3>
+
+<p>In some cases, a dvipng binary installed outside the texmf tree will
+not be able to find virtual fonts, or the PostScript font maps
+(normally used by dvips). This may be because <em>only</em>
+$SELFAUTOLOC, $SELFAUTODIR, and $SELFAUTOPARENT are used in the texmf
+tree configuration file `<samp><span class="samp">texmf.cnf</span></samp>'. If so, give the switch
+`<samp><span class="samp">--enable-selfauto-set</span></samp>' to `<samp><span class="samp">./configure</span></samp>'. This will make
+dvipng adjust these three internally so that kpathsea thinks that
+dvipng <em>is</em> installed in the texmf tree.
+
+<div class="node">
+<p><hr>
+<a name="Advice-for-non-privileged-users"></a>
+<a name="Advice-for-non_002dprivileged-users"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Installation-outside-the-texmf-tree">Installation outside the texmf tree</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Installation">Installation</a>
+
+</div>
+
+<h3 class="section">2.5 Installation for non-privileged users</h3>
+
+<p>Often people without system administration privileges want to install
+software for their private use. In that case you need to specify more
+options to the <samp><span class="file">configure</span></samp> script, usually this is done by using
+the `<samp><span class="samp">--prefix</span></samp>' option to the <samp><span class="file">configure</span></samp> script, and let it
+point to the personal home directory. In that way, resulting binaries
+will be installed under the <samp><span class="file">bin</span></samp> subdirectory of your home
+directory, manual pages under <samp><span class="file">man</span></samp> and so on. That way, it is
+reasonably easy to maintain a bunch of additional packages, since the
+prefix argument is supported by most <samp><span class="file">configure</span></samp> scripts.
+
+ <p>You'll have to add something like <samp><span class="file">/home/myself/bin</span></samp> to your
+<code>PATH</code> shell variable, if it isn't there already, and similarly set
+the <code>INFOPATH</code> variable to be able to access the documentation.
+
+<div class="node">
+<p><hr>
+<a name="Basic-usage"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Command_002dline-options">Command-line options</a>,
+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 Basic usage of dvipng</h2>
+
+<p><a name="index-invoking-dvipng-4"></a>
+To use dvipng at its simplest, simply type
+
+<pre class="example"> dvipng foo
+</pre>
+ <p class="noindent">where <samp><span class="file">foo.dvi</span></samp> is the output of TeX that you want to convert to
+PNG format. If there are four pages in <samp><span class="file">foo.dvi</span></samp>, those pages will
+be output as <samp><span class="file">foo1.png</span></samp>, <samp><span class="file">foo2.png</span></samp>, <samp><span class="file">foo3.png</span></samp>, and
+<samp><span class="file">foo4.png</span></samp>, respectively.
+
+ <p>If you have enabled the PostScript font support (via FreeType or T1lib),
+fonts will be rendered as they are needed. Otherwise, if you use fonts
+that have not been used on your system before, they may be automatically
+generated; this process can take a few minutes, so progress reports
+appear by default. The next time the same font is used, it will have
+been saved on disk, so rendering will go much faster. (If dvipng tries
+to endlessly generate the same fonts over and over again, something is
+wrong. See <a href="kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a>.)
+
+ <p>Many options are available (see the next section). For a brief summary
+of available options, just type
+
+<pre class="example"> dvipng --help
+</pre>
+ <div class="node">
+<p><hr>
+<a name="Command-line-options"></a>
+<a name="Command_002dline-options"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Diagnosing-problems">Diagnosing problems</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Basic-usage">Basic usage</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">4 Command-line options</h2>
+
+<p><a name="index-command_002dline-options-5"></a><a name="index-options_002c-dvipng-6"></a>
+dvipng has a plethora of command line options. Reading through this
+section will give a good idea of the capabilities of the driver.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Option-summary">Option summary</a>: Quick listing, from dvipng --help.
+<li><a accesskey="2" href="#Option-details">Option details</a>: More information about each option.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Option-summary"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Option-details">Option details</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Command_002dline-options">Command-line options</a>
+
+</div>
+
+<h3 class="section">4.1 Option summary</h3>
+
+<p><a name="index-options_002c-summary-7"></a>Here is a handy summary of the options; it is printed out when you run
+dvipng with no arguments or with the standard `<samp><span class="samp">--help</span></samp>' option.
+
+<pre class="example"> This is dvipng 1.6 Copyright 2002-2005 Jan-Ake Larsson
+
+ Usage: dvipng [OPTION]... FILENAME[.dvi]
+ Options are chosen to be similar to dvips' options where possible:
+ -d # Debug (# is the debug bitmap, 1 if not given)
+ -D # Output resolution
+ -l # Last page to be output
+ --mode s MetaFont mode (default 'cx')
+ -M* Don't make PK fonts
+ -o f Output file, '%d' is pagenumber
+ -O c Image offset
+ -p # First page to be output
+ -pp #,#.. Page list to be output
+ -q* Quiet operation
+ -r* Reverse order of pages
+ -T c Image size (also accepts '-T bbox' and '-T tight')
+ -v* Verbose operation
+ -x # Override dvi magnification
+ - Interactive query of options
+
+ These do not correspond to dvips options:
+ -bd # Transparent border width in dots
+ -bd s Transparent border fallback color (TeX-style color)
+ --bdpi # Set the base (Metafont) resolution
+ -bg s Background color (TeX-style color or 'Transparent')
+ --depth* Output the image depth on stdout
+ --dvinum* Use TeX page numbers in output filenames
+ -fg s Foreground color (TeX-style color)
+ --follow* Follow mode
+ --gamma # Control color interpolation
+ --gif Output GIF images (dvigif default)
+ --height* Output the image height on stdout
+ --noghostscript* Don't use ghostscript for PostScript specials
+ --nogssafer* Don't use -dSAFER in ghostscript calls
+ --picky When a warning occurs, don't output image
+ --png Output PNG images (dvipng default)
+ --strict When a warning occurs, exit
+ --t1lib* T1lib font rendering (default on)
+ --truecolor* Truecolor output
+ -Q # Quality (T1lib and PK subsampling)
+ -z # PNG compression level
+
+ # = number f = file s = string * = suffix, '0' to turn off
+ c = comma-separated dimension pair (e.g., 3.2in,-32.1cm)
+
+</pre>
+ <div class="node">
+<p><hr>
+<a name="Option-details"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Option-summary">Option summary</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Command_002dline-options">Command-line options</a>
+
+</div>
+
+<h3 class="section">4.2 Option details</h3>
+
+<p><a name="index-option_002c-details-of-8"></a><!-- man begin OPTIONS -->
+
+ <p>Many of the parameterless options listed here can be turned off by
+suffixing the option with a zero (`<samp><span class="samp">0</span></samp>'); for instance, to turn off
+page reversal, use `<samp><span class="samp">-r0</span></samp>'. Such options are marked with a trailing
+`<samp><span class="samp">*</span></samp>'.
+
+ <dl>
+<dt>`<samp><span class="samp">-</span></samp>'<dd><a name="index-options_002c-reading-from-standard-input-9"></a><a name="index-standard-input_002c-reading-options-from-10"></a>Read additional options from standard input after processing the command
+line.
+
+ <br><dt>`<samp><span class="samp">--help</span></samp>'<dd>Print a usage message and exit.
+
+ <br><dt>`<samp><span class="samp">--version</span></samp>'<dd>Print the version number and exit.
+
+ <br><dt>`<samp><span class="samp">-bd </span><var>num</var></samp>'<br><dt>`<samp><span class="samp">-bd </span><var>color_spec</var></samp>'<br><dt>`<samp><span class="samp">-bd '</span><var>num</var> <var>color_spec</var><span class="samp">'</span></samp>'<dd><a name="index-transparent-border-width-11"></a><a name="index-transparent-border-fallback-color-12"></a>Set the pixel width of the transparent border (default 0). Using this
+option will make the image edges transparent, but it only affects pixels
+with the background color. Giving a <var>color_spec</var> will set the
+fallback color, to be used in viewers that cannot handle transparency
+(the default is the background color). The color spec should be in
+TeX color \special syntax, e.g., 'rgb 1.0 0.0 0.0'. Setting the
+fallback color makes the default border width 1 px. See <a href="#Color">Color</a>.
+
+ <br><dt>`<samp><span class="samp">--bdpi </span><var>num</var></samp>'<dd><a name="index-base-resolution_002c-setting-13"></a>Set the base (Metafont) resolution, both horizontal and vertical, to
+<var>num</var> dpi (dots per inch). This option is necessary when manually
+selecting Metafont mode with the &ndash;mode option (see below).
+
+ <br><dt>`<samp><span class="samp">-bg </span><var>color_spec</var></samp>'<dd><a name="index-background-color-_0028option_0029-14"></a>Choose background color for the images. This option will be ignored if
+there is a background color \special in the DVI. The color spec should
+be in TeX color \special syntax, e.g., 'rgb 1.0 0.0 0.0'. You can
+also specify 'Transparent' or 'transparent' which will give you a
+transparent background with the normal background as a fallback color. A
+capitalized 'Transparent' will give a full-alpha transparency, while an
+all-lowercase 'transparent' will give a simple fully transparent
+background with non-transparent antialiased pixels. The latter would be
+suitable for viewers who cannot cope with a true alpha channel. GIF
+images do not support full alpha transparency, so in case of GIF output,
+both variants will use the latter behaviour. See <a href="#Color">Color</a>.
+
+ <br><dt>`<samp><span class="samp">-d </span><var>num</var></samp>'<dd><a name="index-debugging-15"></a>Set the debug flags, showing what dvipng (thinks it) is doing. This will
+work unless dvipng has been compiled without the `<samp><span class="samp">DEBUG</span></samp>' option
+(not recommended). Set the flags as you need them, use `<samp><span class="samp">-d -1</span></samp>' as
+the first option for maximum output. See <a href="#Debug-options">Debug options</a>.
+
+ <br><dt>`<samp><span class="samp">-D </span><var>num</var></samp>'<dd><a name="index-output-resolution_002c-setting-16"></a>Set the output resolution, both horizontal and vertical, to <var>num</var>
+dpi (dots per inch).
+
+ <p>One may want to adjust this to fit a certain text font size (e.g., on
+a web page), and for a text font height of <var>font_px</var> pixels (in
+Mozilla) the correct formula is
+ <pre class="example"> <var>dpi</var> = <var>font_px</var> * 72.27 / 10 [px * TeXpt/in / TeXpt]
+ </pre>
+ <p>The last division by ten is due to the standard font height 10pt in
+your document, if you use 12pt, divide by 12. Unfortunately, some
+proprietary browsers have font height in pt (points), not pixels. You
+have to rescale that to pixels, using the screen resolution (default
+is usually 96 dpi) which means the formula is
+ <pre class="example"> <var>font_px</var> = <var>font_pt</var> * 96 / 72 [pt * px/in / (pt/in)]
+ </pre>
+ <p>On some high-res screens, the value is instead 120 dpi. Good luck!
+
+ <br><dt>`<samp><span class="samp">--depth*</span></samp>'<dd><a name="index-baseline-reporting-17"></a><a name="index-depth-reporting-18"></a>Report the depth of the image. This only works reliably when the
+LaTeX style `<samp><span class="samp">preview.sty</span></samp>' from preview-latex is used. It
+reports the number of pixels from the bottom of the image to the
+baseline of the image. This can be used for vertical positioning of the
+image in, e.g., web documents, where one would use (Cascading
+StyleSheets 1)
+ <pre class="example"> &lt;IMG SRC="<var>filename.png</var>" STYLE="vertical-align: -<var>depth</var>px"&gt;
+ </pre>
+ <p>The depth is a negative offset in this case, so the minus sign is
+necessary, and the unit is pixels (px).
+
+ <br><dt>`<samp><span class="samp">--dvinum*</span></samp>'<dd>Set this option to make the output page number be the TeX page
+numbers rather than the physical page number. See the `<samp><span class="samp">-o</span></samp>' switch.
+
+ <br><dt>`<samp><span class="samp">-fg </span><var>color_spec</var></samp>'<dd><a name="index-foreground-color-_0028option_0029-19"></a>Choose foreground color for the images. This option will be ignored if
+there is a foreground color \special in the DVI. The color spec should
+be in TeX color \special syntax, e.g., 'rgb 1.0 0.0 0.0'.
+See <a href="#Color">Color</a>.
+
+ <br><dt>`<samp><span class="samp">--follow*</span></samp>'<dd><a name="index-follow-mode-20"></a>Enable follow mode. One of the benefits of dvipng is that it does not
+read the postamble, so it can be started before TeX finishes. This
+switch makes dvipng wait at EOF for further output, unless it finds the
+POST marker that indicates the end of the DVI. This is similar to
+`<samp><span class="samp">tail -f</span></samp>' but for DVI-to-PNG conversion.
+
+ <br><dt>`<samp><span class="samp">--freetype*</span></samp>'<dd><a name="index-FreeType-font-rendering-21"></a>Enable/disable FreeType font rendering (default on). This option is
+available if the FreeType2 font library was present at compilation time.
+If this is the case, dvipng will have direct support for PostScript
+Type1 and TrueType fonts internally, rather than using `<samp><span class="samp">gsftopk</span></samp>'
+for rendering the fonts. If you have PostScript versions of Computer
+Modern installed, there will be no need to generate bitmapped variants
+on disk of these. Then, you can render images at different (and unusual)
+resolutions without cluttering the disk with lots of bitmapped fonts.
+Note that if you have both FreeType and T1lib on your system, FreeType
+will be preferred by dvipng. If you for some reason would want to use
+T1lib rendering, use this option.
+
+ <br><dt>`<samp><span class="samp">--gamma </span><var>num</var></samp>'<dd><a name="index-gamma-22"></a><a name="index-dark-fonts-23"></a><a name="index-light-fonts-24"></a><a name="index-fuzzy-images-25"></a>Control the interpolation of colors in the greyscale anti-aliasing
+color palette. Default value is 1.0. For 0 &lt; <var>num</var> &lt; 1, the
+fonts will be lighter (more like the background), and for <var>num</var> &gt;
+1, the fonts will be darker (more like the foreground).
+
+ <br><dt>`<samp><span class="samp">--gif*</span></samp>'<dd><a name="index-GIF-image-format-26"></a>The images are output in the GIF format, if GIF support is
+enabled. This is the default for the `<samp><span class="samp">dvigif</span></samp>' binary, which only
+will be available when GIF support is enabled. See also the
+`<samp><span class="samp">--png</span></samp>' option.
+
+ <br><dt>`<samp><span class="samp">--height*</span></samp>'<dd><a name="index-baseline-reporting-27"></a><a name="index-height-reporting-28"></a>Report the height of the image. This only works reliably when the
+LaTeX style `<samp><span class="samp">preview.sty</span></samp>' from preview-latex is used. It
+reports the number of pixels from the top of the image to the
+baseline of the image. The total height of the image is obtained as the
+sum of the values reported from &ndash;height and the &ndash;depth.
+
+ <br><dt>`<samp><span class="samp">-l [=]</span><var>num</var></samp>'<dd><a name="index-last-page-printed-29"></a><a name="index-page_002c-last-printed-30"></a><a name="index-physical-page-number_002c-and-_0040samp_007b_002dl_007d-31"></a><a name="index-absolute-page-number_002c-and-_0040samp_007b_002dl_007d-32"></a>The last page printed will be the first one numbered <var>num</var>. Default
+is the last page in the document. If <var>num</var> is prefixed by an equals
+sign, then it (and the argument to the `<samp><span class="samp">-p</span></samp>' option, if specified)
+is treated as a physical (absolute) page number, rather than a value to
+compare with the TeX `<samp><span class="samp">\count0</span></samp>' values stored in the DVI file.
+Thus, using `<samp><span class="samp">-l =9</span></samp>' will end with the ninth page of the document,
+no matter what the pages are actually numbered.
+
+ <br><dt>`<samp><span class="samp">--mode </span><var>mode</var></samp>'<dd><a name="index-mode-name_002c-specifying-33"></a><a name="index-Metafont-mode_002c-specifying-34"></a>Use <var>mode</var> as the Metafont device name for the PK fonts (both for
+path searching and font generation). This needs to be augmented with the
+base device resolution, given with the `<samp><span class="samp">--bdpi</span></samp>' option. See the
+file <a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and
+mode names for most devices. See <a href="kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a>.
+
+ <br><dt>`<samp><span class="samp">-M*</span></samp>'<dd><a name="index-font-generation_002c-avoiding-35"></a><a name="index-mktexpk_0040r_007b_002c-avoiding_007d-36"></a><!-- this description repeated in kpathsea.texi -->
+Turns off automatic PK font generation (<samp><span class="file">mktexpk</span></samp>). This will have
+no effect when using PostScript fonts, since no PK font generation will
+be done anyway.
+
+ <br><dt>`<samp><span class="samp">--noghostscript*</span></samp>'<dd><a name="index-GhostScript_002c-turning-off-37"></a>This switch prohibits the internal call to GhostScript for displaying
+PostScript specials. `<samp><span class="samp">--noghostscript0</span></samp>' turns the call back on.
+
+ <br><dt>`<samp><span class="samp">--nogssafer*</span></samp>'<dd><a name="index-GhostScript-and-_002ddSAFER-38"></a><a name="index-g_t_002ddSAFER-39"></a>Normally, if GhostScript is used to render PostScript specials, the
+GhostScript interpreter is run with the option `<samp><span class="samp">-dSAFER</span></samp>'. The
+`<samp><span class="samp">-nogssafer</span></samp>' option runs GhostScript without `<samp><span class="samp">-dSAFER</span></samp>'. The
+`<samp><span class="samp">-dSAFER</span></samp>' option in Ghostscript disables PostScript operators such
+as deletefile, to prevent possibly malicious PostScript programs from
+having any effect.
+
+ <br><dt>`<samp><span class="samp">-o </span><var>name</var></samp>'<dd><a name="index-output_002c-redirecting-40"></a><a name="index-standard-output_002c-output-to-41"></a>Send output to the file <var>name</var>. A single occurrence of `<samp><span class="samp">%d</span></samp>' or
+`<samp><span class="samp">%01d</span></samp>', <small class="dots">...</small>, `<samp><span class="samp">%09d</span></samp>' will be exchanged for the physical
+page number (this can be changed, see the `<samp><span class="samp">--dvinum</span></samp>' switch). The
+default output filename is `<samp><var>file</var><span class="samp">%d.png</span></samp>' where the input DVI
+file was `<samp><var>file</var><span class="samp">.dvi</span></samp>'.
+
+ <br><dt>`<samp><span class="samp">-O </span><var>x-offset</var><span class="samp">,</span><var>y-offset</var></samp>'<dd><a name="index-offset-pages-42"></a>Move the origin by <var>x-offset</var>,<var>y-offset</var>, a comma-separated
+pair of dimensions such as `<samp><span class="samp">.1in,-.3cm</span></samp>'.
+<!-- (@pxref{papersize special}). -->
+The origin of the page is shifted from the default position
+(of one inch down, one inch to the right from the upper left corner of
+the paper) by this amount.
+
+ <br><dt>`<samp><span class="samp">-p [=]</span><var>num</var></samp>'<dd><a name="index-first-page-printed-43"></a><a name="index-page_002c-first-printed-44"></a><a name="index-physical-page-number_002c-and-_0040samp_007b_002dp_007d-45"></a><a name="index-absolute-page-number_002c-and-_0040samp_007b_002dp_007d-46"></a>The first page printed will be the first one numbered <var>num</var>. Default
+is the first page in the document. If <var>num</var> is prefixed by an
+equals sign, then it (and the argument to the `<samp><span class="samp">-l</span></samp>' option, if
+specified) is treated as a physical (absolute) page number, rather than
+a value to compare with the TeX `<samp><span class="samp">\count0</span></samp>' values stored in the
+DVI file. Thus, using `<samp><span class="samp">-p =3</span></samp>' will start with the third page of
+the document, no matter what the pages are actually numbered.
+
+ <br><dt>`<samp><span class="samp">--picky*</span></samp>'<dd><a name="index-no-erroneous-images-47"></a>No images are output when a warning occurs. Normally, dvipng will
+output an image in spite of a warning, but there may be something
+missing in this image. One reason to use this option would be if you
+have a more complete but slower fallback converter. Mainly, this is
+useful for failed figure inclusion and unknown \special occurrences,
+but warnings will also occur for missing or unknown color specs and
+missing PK fonts.
+
+ <br><dt>`<samp><span class="samp">--png*</span></samp>'<dd><a name="index-PNG-image-format-48"></a>The images are output in the PNG format. This is the default for the
+`<samp><span class="samp">dvipng</span></samp>' binary. See also the `<samp><span class="samp">--gif</span></samp>' option.
+
+ <br><dt>`<samp><span class="samp">-pp </span><var>firstpage</var><span class="samp">-</span><var>lastpage</var></samp>'<dd><a name="index-page-range-49"></a>Print pages <var>firstpage</var> through <var>lastpage</var>; but not quite
+equivalent to `<samp><span class="samp">-p </span><var>firstpage</var><span class="samp"> -l </span><var>lastpage</var></samp>'. For example,
+when rendering a book, there may be several instances of a page in the
+DVI file (one in <code>\frontmatter</code>, one in <code>\mainmatter</code>, and one
+in <code>\backmatter</code>). In case of several pages matching, `<samp><span class="samp">-pp
+</span><var>firstpage</var><span class="samp">-</span><var>lastpage</var></samp>' will render <em>all</em> pages that
+matches the specified range, while `<samp><span class="samp">-p </span><var>firstpage</var><span class="samp"> -l
+</span><var>lastpage</var></samp>' will render the pages from the <em>first</em> occurrence
+of <var>firstpage</var> to the <em>first</em> occurrence of <var>lastpage</var>.
+This is the (undocumented) behaviour of dvips. In dvipng you can give
+both kinds of options, in which case you get all pages that matches the
+range in `<samp><span class="samp">-pp</span></samp>' between the pages from `<samp><span class="samp">-p</span></samp>' to `<samp><span class="samp">-l</span></samp>'. Also
+multiple `<samp><span class="samp">-pp</span></samp>' options accumulate, unlike `<samp><span class="samp">-p</span></samp>' and `<samp><span class="samp">-l</span></samp>'.
+The `<samp><span class="samp">-</span></samp>' separator can also be `<samp><span class="samp">:</span></samp>'. Note that `<samp><span class="samp">-pp -1</span></samp>'
+will be interpreted as "all pages up to and including 1", if you want a
+page numbered -1 (only the table of contents, say) put `<samp><span class="samp">-pp -1--1</span></samp>',
+or more readable, `<samp><span class="samp">-pp -1:-1</span></samp>'.
+
+ <br><dt>`<samp><span class="samp">-q*</span></samp>'<dd><a name="index-quiet-operation-50"></a><a name="index-silent-operation-51"></a><a name="index-warnings_002c-suppressing-52"></a>Run quietly. Don't chatter about pages converted, etc. to standard
+output; report no warnings (only errors) to standard error.
+
+ <br><dt>`<samp><span class="samp">-Q </span><var>num</var></samp>'<dd><a name="index-antialiasing-levels_0040r_007b_002c-number-of_007d-53"></a><a name="index-quality-54"></a>Set the quality to <var>num</var>. That is, choose the number of antialiasing
+levels for PK and T1lib rendering to be <var>num</var>*<var>num</var>. The default
+value is 4 which gives 16 levels of antialiasing for antialiased fonts
+from these two. If FreeType is available, its rendering is unaffected by
+this option.
+
+ <br><dt>`<samp><span class="samp">-r*</span></samp>'<dd><a name="index-reverse-pagination-55"></a>Toggle output of pages in reverse/forward order. By default, the first
+page in the DVI is output first.
+
+ <br><dt>`<samp><span class="samp">-T </span><var>image_size</var></samp>'<dd>Set the image size to <var>image_size</var> which can be either of
+`<samp><span class="samp">bbox</span></samp>', `<samp><span class="samp">tight</span></samp>', or a comma-separated pair of dimensions
+<var>hsize</var>,<var>vsize</var> such as `<samp><span class="samp">.1in,.3cm</span></samp>'. The default is
+`<samp><span class="samp">bbox</span></samp>' which produces a PNG that includes all ink put on the page
+and in addition the DVI origin, located 1in from the top and 1in from
+the left edge of the paper. This usually gives whitespace above and to
+the left in the produced image. The value `<samp><span class="samp">tight</span></samp>' will make dvipng
+only include all ink put on the page, producing neat images.
+<!-- (@pxref{papersize special}). -->
+This option overrides any papersize special in the DVI file.
+
+ <br><dt>`<samp><span class="samp">--t1lib*</span></samp>'<dd><a name="index-T1lib-font-rendering-56"></a>Enable/disable T1lib font rendering (default on). This option is
+available if the T1lib font library was present at compilation time. If
+this is the case, dvipng will have direct support for PostScript Type1
+fonts internally, rather than using `<samp><span class="samp">gsftopk</span></samp>' for rendering the
+fonts. If you have PostScript versions of Computer Modern installed,
+there will be no need to generate bitmapped variants on disk of these.
+Then, you can render images at different (and unusual) resolutions
+without cluttering the disk with lots of bitmapped fonts. Note that if
+you have both FreeType and T1lib on your system FreeType will be
+preferred by dvipng, and if you for some reason rather want to use
+T1lib, give the option `<samp><span class="samp">--freetype0</span></samp>' (see above).
+
+ <br><dt>`<samp><span class="samp">--truecolor*</span></samp>'<dd><a name="index-truecolor-output-57"></a>On systems with a fairly new `<samp><span class="samp">libgd</span></samp>', one can choose to generate
+truecolor output. This will not be necessary in general unless you
+include truecolor images via a PostScript special (i.e., the
+`<samp><span class="samp">graphics</span></samp>' or `<samp><span class="samp">graphicx</span></samp>' package). It will lead to longer
+execution time, mostly because more data is written to disk.
+
+ <br><dt>`<samp><span class="samp">-v*</span></samp>'<dd>Enable verbose operation. This will currently indicate what fonts is
+used, in addition to the usual output.
+
+ <br><dt>`<samp><span class="samp">-x </span><var>num</var></samp>'<dd><a name="index-magnification_002c-overriding-DVI-58"></a>Set the x magnification ratio to <var>num</var>/1000. Overrides
+the magnification specified in the DVI file. Must be between 10 and
+100000. It is recommended that you use standard magstep values (1095,
+1200, 1440, 1728, 2074, 2488, 2986, and so on) to help reduce the total
+number of PK files generated. <var>num</var> may be a real number, not an
+integer, for increased precision.
+
+ <br><dt>`<samp><span class="samp">-z </span><var>num</var></samp>'<dd><a name="index-compression-59"></a>Set the PNG compression level to <var>num</var>. This option is enabled if
+your `<samp><span class="samp">libgd</span></samp>' is new enough. The default compression level is 1,
+which selects maximum speed at the price of slightly larger PNGs. For an
+older `<samp><span class="samp">libgd</span></samp>', the hard-soldered value 5 is used. The include file
+`<samp><span class="samp">png.h</span></samp>' says
+<blockquote>
+Currently, valid values range from 0 - 9, corresponding directly to the
+zlib compression levels 0 - 9 (0 - no compression, 9 - "maximal"
+compression). Note that tests have shown that zlib compression levels
+3-6 usually perform as well as level 9 for PNG images, and do
+considerably fewer calculations. In the future, these values may not
+correspond directly to the zlib compression levels.
+</blockquote>
+ </dl>
+ <!-- man end -->
+
+<div class="node">
+<p><hr>
+<a name="Diagnosing-problems"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Color">Color</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Command_002dline-options">Command-line options</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">5 Diagnosing problems</h2>
+
+<p><a name="index-problems-60"></a><a name="index-trouble-61"></a><a name="index-debugging-62"></a>
+You've gone through all the trouble of installing dvipng, carefully read
+all the instructions in this manual, and still can't get something to
+work. The following sections provide some helpful hints if you find
+yourself in such a situation.
+
+ <p>Bug reports should be sent to
+<a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>.
+
+ <p>Questions, suggestions for new features, pleas for help, and/or praise
+should go to <a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. For more information on this
+mailing list, send a message with just the word `help' as subject or
+body to <a href="mailto:dvipng-request@nongnu.org">dvipng-request@nongnu.org</a> or look at
+<a href="http://lists.nongnu.org/mailman/listinfo/dvipng">http://lists.nongnu.org/mailman/listinfo/dvipng</a>.
+
+ <p>Offers to support further development will be appreciated. For developer
+access, ask on <a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>.
+
+ <p>For details on the TeX path-searching library, and <code>mktexpk</code>
+problems, see <a href="kpathsea.html#Common-problems">Common problems</a>.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Debug-options">Debug options</a>: Getting diagnostics.
+<li><a accesskey="2" href="#Included-graphics-problems">Included graphics problems</a>: Figures are wrongly rendered.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Debug-options"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Included-graphics-problems">Included graphics problems</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a>
+
+</div>
+
+<h3 class="section">5.1 Debug options</h3>
+
+<p><a name="index-debugging-options-63"></a><a name="index-options_002c-debugging-64"></a>
+The `<samp><span class="samp">-d</span></samp>' flag to dvipng helps in tracking down certain errors. The
+parameter to this flag is an integer that tells what errors are
+currently being tracked. To track a certain class of debug messages,
+simply provide the appropriate number given below; if you wish to track
+multiple classes, sum the numbers of the classes you wish to track. To
+track all classes, you can use <code>-1</code>.
+
+ <p>Some of these debugging options are actually provided by Kpathsea
+(see <a href="kpathsea.html#Debugging">Debugging</a>).
+
+ <p>The classes are:
+ <dl>
+<dt>1<dd>Normal dvi op-codes
+<br><dt>2<dd>Virtual fonts
+<br><dt>4<dd>PK fonts
+<br><dt>8<dd>TFM files
+<br><dt>16<dd>Glyph rendering
+<br><dt>32<dd>FreeType calls
+<br><dt>64<dd>Encoding loads
+<br><dt>128<dd>Color specials
+<br><dt>256<dd>GhostScript specials
+<br><dt>512<dd>T1lib calls
+<br><dt>1024<dd>Kpathsea <code>stat</code> calls
+<br><dt>2048<dd>Kpathsea hash table lookups
+<br><dt>4096<dd>Kpathsea path element expansion
+<br><dt>8192<dd>Kpathsea path searches
+
+ </dl>
+
+<div class="node">
+<p><hr>
+<a name="Included-graphics-problems"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Debug-options">Debug options</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a>
+
+</div>
+
+<h3 class="section">5.2 Included graphics problems</h3>
+
+<p><a name="index-graphics-inclusion-problems-65"></a>
+The most common problem with including graphics is an incorrect bounding
+box.
+<!-- (@pxref{Bounding box}). -->
+Complain to whoever wrote the software that generated the file if the
+bounding box is indeed incorrect.
+
+ <p>An additional problem is that the image in dvipng is always clipped to
+the bounding box. This is because the image is rendered by GhostScript
+by an internal call and then copied to the dvipng image. At present no
+workaround is known, but there may be one for a future GhostScript.
+We'll see.
+
+<div class="node">
+<p><hr>
+<a name="Color"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Copying">Copying</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Diagnosing-problems">Diagnosing problems</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">6 Color</h2>
+
+<p>To support color, dvipng recognizes a certain set of specials. These
+specials start with the keyword `<samp><span class="samp">color</span></samp>' or the keyword
+`<samp><span class="samp">background</span></samp>', followed by a color specification.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Color-specifications">Color specifications</a>
+<li><a accesskey="2" href="#Color-specials">Color specials</a>
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Color-specifications"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Color-specials">Color specials</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Color">Color</a>
+
+</div>
+
+<h3 class="section">6.1 Color specifications</h3>
+
+<p><a name="index-color-specifications-66"></a>
+The color specification supported by dvipng is by-value or by-name. The
+by-value spec starts with the name of a color model (one of `<samp><span class="samp">rgb</span></samp>',
+`<samp><span class="samp">hsb</span></samp>', `<samp><span class="samp">cmy</span></samp>', `<samp><span class="samp">cmyk</span></samp>', or `<samp><span class="samp">gray</span></samp>') followed by the
+appropriate number of parameters. Thus, the color specification
+`<samp><span class="samp">rgb 0.3 0.4 0.5</span></samp>' would correspond to the color that is `<samp><span class="samp">0.3
+0.4 0.5</span></samp>' in its red, blue and green values. The color used internally in
+dvipng is `<samp><span class="samp">RGB</span></samp>' (discretized to 256 levels), for details on the
+formulas used in conversion, see the `<samp><span class="samp">xcolor</span></samp>' documentation.
+
+ <p>By-name color specifications are single (case-dependent) words and are
+compared with color names defined in `<samp><span class="samp">dvipsnam.def</span></samp>' (from the
+`<samp><span class="samp">graphics</span></samp>' bundle), `<samp><span class="samp">svgnam.def</span></samp>' and `<samp><span class="samp">xcolor.sty</span></samp>' (from
+the `<samp><span class="samp">xcolor</span></samp>' bundle).
+
+ <p>On the command-line, the name `<samp><span class="samp">Transparent</span></samp>' can also be used in as
+an argument to `<samp><span class="samp">--bg</span></samp>' to choose transparent background.
+See <a href="#Option-details">Option details</a>.
+
+<div class="node">
+<p><hr>
+<a name="Color-specials"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Color-specifications">Color specifications</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Color">Color</a>
+
+</div>
+
+<h3 class="section">6.2 Color specials</h3>
+
+<p>We will describe `<samp><span class="samp">background</span></samp>' first, since it is the simplest. The
+`<samp><span class="samp">background</span></samp>' keyword must be followed by a color specification.
+That color specification is used as a fill color for the background. The
+last `<samp><span class="samp">background</span></samp>' special on a page is the one that gets used, and
+is used for the whole of the page image. (This is possible because the
+prescan phase of dvipng notices all of the color specials so that the
+appropriate information can be written out during the second phase.)
+
+ <p>The `<samp><span class="samp">color</span></samp>' special itself has three forms. The first is just
+`<samp><span class="samp">color</span></samp>' followed by a color specification. In this case, the
+current global color is set to that color; the color stack must be empty
+when such a command is executed.
+
+ <p>The second form is `<samp><span class="samp">color push</span></samp>' followed by a color specification.
+This saves the current color on the color stack and sets the color to be
+that given by the color specification. This is the most common way to
+set a color.
+
+ <p>The final version of the `<samp><span class="samp">color</span></samp>' special is just `<samp><span class="samp">color pop</span></samp>',
+with no color specification; this says to pop the color last pushed on
+the color stack from the color stack and set the current color to be
+that color.
+
+ <p>dvipng correctly handles these color specials across pages, even when
+the pages are rendered repeatedly or in reverse order.
+
+<div class="node">
+<p><hr>
+<a name="Credits"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Index">Index</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Copying">Copying</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">7 Credits</h2>
+
+<p>A number of persons have contributed, if I forget to mention someone, I
+apologize. First and foremost we have David Kastrup whose
+preview-latex project provided the incentive to write this program.
+There is also a number of people who have contributed by reporting bugs
+and suggesting improvements as the thing has evolved. These include but
+is perhaps not limited to (in semi-random order): Thomas Esser
+(teTeX), Christian Schenk (MIKTeX), Brian R Furry (debian
+package), Angus Leeming (LyX), Thomas Boutell (libgd), John Jones (first
+user report), Uwe Kern (xcolor), Alan Shutko, Reiner Stieb, Nick Alcock,
+Adam Buchbinder, Svend Tollak Munkejord, James Longstreet, Bernhard
+Simon, Bob McElrath, Georg Schwarz, Jason Farmer, Brian V. Smith, Samuel
+Hathaway, Thomas R. Shemanske, Stephen Gibson, Christian Ridderstr&ouml;m,
+Ezra Peisach, William H Wheeler, Thomas Klausner, Harald Koenig, Adrian
+Bunk, Kevin Smith, and Jason Riedy.
+
+<div class="node">
+<p><hr>
+<a name="Copying"></a>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Credits">Credits</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Color">Color</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+
+</div>
+
+<h2 class="chapter">8 Copying</h2>
+
+<p>This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+ <p>This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+ <p>You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ <pre class="sp">
+
+
+</pre>
+Copyright &copy; 2002-2005 Jan-&Aring;ke Larsson
+
+<div class="node">
+<p><hr>
+<a name="Index"></a>
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Credits">Credits</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_002ddSAFER-39">-dSAFER</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-absolute-page-number_002c-and-_0040samp_007b_002dl_007d-32">absolute page number, and `<samp><span class="samp">-l</span></samp>'</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-absolute-page-number_002c-and-_0040samp_007b_002dp_007d-46">absolute page number, and `<samp><span class="samp">-p</span></samp>'</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-antialiasing-levels_0040r_007b_002c-number-of_007d-53">antialiasing levels<span class="roman">, number of</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-background-color-_0028option_0029-14">background color (option)</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-base-resolution_002c-setting-13">base resolution, setting</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-baseline-reporting-17">baseline reporting</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-color-specifications-66">color specifications</a>: <a href="#Color-specifications">Color specifications</a></li>
+<li><a href="#index-command_002dline-options-5">command-line options</a>: <a href="#Command_002dline-options">Command-line options</a></li>
+<li><a href="#index-compilation-2">compilation</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-compression-59">compression</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-configuration_002c-of-dvipng-1">configuration, of dvipng</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-dark-fonts-23">dark fonts</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-debugging-62">debugging</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li>
+<li><a href="#index-debugging-15">debugging</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-debugging-options-63">debugging options</a>: <a href="#Debug-options">Debug options</a></li>
+<li><a href="#index-depth-reporting-18">depth reporting</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-first-page-printed-43">first page printed</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-follow-mode-20">follow mode</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-font-generation_002c-avoiding-35">font generation, avoiding</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-foreground-color-_0028option_0029-19">foreground color (option)</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-FreeType-font-rendering-21">FreeType font rendering</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-fuzzy-images-25">fuzzy images</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-gamma-22">gamma</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-GhostScript-and-_002ddSAFER-38">GhostScript and -dSAFER</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-GhostScript_002c-turning-off-37">GhostScript, turning off</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-GIF-image-format-26">GIF image format</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-graphics-inclusion-problems-65">graphics inclusion problems</a>: <a href="#Included-graphics-problems">Included graphics problems</a></li>
+<li><a href="#index-height-reporting-28">height reporting</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-installation_002c-of-dvipng-3">installation, of dvipng</a>: <a href="#Installation">Installation</a></li>
+<li><a href="#index-invoking-dvipng-4">invoking dvipng</a>: <a href="#Basic-usage">Basic usage</a></li>
+<li><a href="#index-last-page-printed-29">last page printed</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-light-fonts-24">light fonts</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-magnification_002c-overriding-DVI-58">magnification, overriding DVI</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-Metafont-mode_002c-specifying-34">Metafont mode, specifying</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-mktexpk_0040r_007b_002c-avoiding_007d-36"><code>mktexpk</code><span class="roman">, avoiding</span></a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-mode-name_002c-specifying-33">mode name, specifying</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-no-erroneous-images-47">no erroneous images</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-offset-pages-42">offset pages</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-option_002c-details-of-8">option, details of</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-options_002c-debugging-64">options, debugging</a>: <a href="#Debug-options">Debug options</a></li>
+<li><a href="#index-options_002c-dvipng-6">options, dvipng</a>: <a href="#Command_002dline-options">Command-line options</a></li>
+<li><a href="#index-options_002c-reading-from-standard-input-9">options, reading from standard input</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-options_002c-summary-7">options, summary</a>: <a href="#Option-summary">Option summary</a></li>
+<li><a href="#index-output-resolution_002c-setting-16">output resolution, setting</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-output_002c-redirecting-40">output, redirecting</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-page-range-49">page range</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-page_002c-first-printed-44">page, first printed</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-page_002c-last-printed-30">page, last printed</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-physical-page-number_002c-and-_0040samp_007b_002dl_007d-31">physical page number, and `<samp><span class="samp">-l</span></samp>'</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-physical-page-number_002c-and-_0040samp_007b_002dp_007d-45">physical page number, and `<samp><span class="samp">-p</span></samp>'</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-PNG-image-format-48">PNG image format</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-problems-60">problems</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li>
+<li><a href="#index-quality-54">quality</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-quiet-operation-50">quiet operation</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-reverse-pagination-55">reverse pagination</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-silent-operation-51">silent operation</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-standard-input_002c-reading-options-from-10">standard input, reading options from</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-standard-output_002c-output-to-41">standard output, output to</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-T1lib-font-rendering-56">T1lib font rendering</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-transparent-border-fallback-color-12">transparent border fallback color</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-transparent-border-width-11">transparent border width</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-trouble-61">trouble</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li>
+<li><a href="#index-truecolor-output-57">truecolor output</a>: <a href="#Option-details">Option details</a></li>
+<li><a href="#index-warnings_002c-suppressing-52">warnings, suppressing</a>: <a href="#Option-details">Option details</a></li>
+ </ul></body></html>
+
diff --git a/Master/texmf/doc/gzip/gzip.html b/Master/texmf/doc/gzip/gzip.html
new file mode 100644
index 00000000000..1751211b85e
--- /dev/null
+++ b/Master/texmf/doc/gzip/gzip.html
@@ -0,0 +1,802 @@
+<html lang="en">
+<head>
+<title>Gzip User's Manual</title>
+<meta http-equiv="Content-Type" content="text/html">
+<meta name="description" content="Gzip User's Manual">
+<meta name="generator" content="makeinfo 4.7">
+<link title="Top" rel="top" href="#Top">
+<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<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; }
+--></style>
+</head>
+<body>
+<h1 class="settitle">Gzip User's Manual</h1>
+<div class="node">
+<p><hr>
+<a name="Top"></a>Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
+<br>
+</div>
+
+<ul class="menu">
+<li><a accesskey="1" href="#Copying">Copying</a>: How you can copy and share <code>gzip</code>.
+<li><a accesskey="2" href="#Overview">Overview</a>: Preliminary information.
+<li><a accesskey="3" href="#Sample">Sample</a>: Sample output from <code>gzip</code>.
+<li><a accesskey="4" href="#Invoking-gzip">Invoking gzip</a>: How to run <code>gzip</code>.
+<li><a accesskey="5" href="#Advanced-usage">Advanced usage</a>: Concatenated files.
+<li><a accesskey="6" href="#Environment">Environment</a>: The <code>GZIP</code> environment variable
+<li><a accesskey="7" href="#Tapes">Tapes</a>: Using <code>gzip</code> on tapes.
+<li><a accesskey="8" href="#Problems">Problems</a>: Reporting bugs.
+<li><a accesskey="9" href="#Concept-Index">Concept Index</a>: Index of concepts.
+</ul>
+
+<div class="node">
+<p><hr>
+<a name="Copying"></a>Next:&nbsp;<a rel="next" accesskey="n" href="#Overview">Overview</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+<br>
+</div>
+
+<h2 class="unnumbered">GNU GENERAL PUBLIC LICENSE</h2>
+
+<div align="center">Version 2, June 1991</div>
+
+<pre class="display"> Copyright &copy; 1989, 1991 Free Software Foundation, Inc.
+ 675 Mass Ave, Cambridge, MA 02139, USA
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+</pre>
+ <h3 class="unnumberedsec">Preamble</h3>
+
+<p>The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software&mdash;to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ <p>When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ <p>To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ <p>For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ <p>We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ <p>Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ <p>Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ <p>The precise terms and conditions for copying, distribution and
+modification follow.
+
+ <ol type=1 start=1>
+<li>This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The &ldquo;Program&rdquo;, below,
+refers to any such program or work, and a &ldquo;work based on the Program&rdquo;
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term &ldquo;modification&rdquo;.) Each licensee is addressed as &ldquo;you&rdquo;.
+
+ <p>Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ <li>You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+ <p>You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ <li>You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ <ol type=a start=1>
+<li>You must cause the modified files to carry prominent notices
+stating that you changed the files and the date of any change.
+
+ <li>You must cause any work that you distribute or publish, that in
+whole or in part contains or is derived from the Program or any
+part thereof, to be licensed as a whole at no charge to all third
+parties under the terms of this License.
+
+ <li>If the modified program normally reads commands interactively
+when run, you must cause it, when started running for such
+interactive use in the most ordinary way, to print or display an
+announcement including an appropriate copyright notice and a
+notice that there is no warranty (or else, saying that you provide
+a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this
+License. (Exception: if the Program itself is interactive but
+does not normally print such an announcement, your work based on
+the Program is not required to print an announcement.)
+ </ol>
+
+ <p>These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+ <p>Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+ <p>In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ <li>You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ <ol type=a start=1>
+<li>Accompany it with the complete corresponding machine-readable
+source code, which must be distributed under the terms of Sections
+1 and 2 above on a medium customarily used for software interchange; or,
+
+ <li>Accompany it with a written offer, valid for at least three
+years, to give any third party, for a charge no more than your
+cost of physically performing source distribution, a complete
+machine-readable copy of the corresponding source code, to be
+distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,
+
+ <li>Accompany it with the information you received as to the offer
+to distribute corresponding source code. (This alternative is
+allowed only for noncommercial distribution and only if you
+received the program in object code or executable form with such
+an offer, in accord with Subsection b above.)
+ </ol>
+
+ <p>The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+ <p>If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ <li>You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ <li>You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ <li>Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ <li>If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+ <p>If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+ <p>It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+ <p>This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ <li>If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ <li>The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ <p>Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and &ldquo;any
+later version&rdquo;, you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ <li>If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ <li>BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM &ldquo;AS IS&rdquo; WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ <li>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+ </ol>
+
+<h3 class="unnumberedsec">How to Apply These Terms to Your New Programs</h3>
+
+<p>If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ <p>To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the &ldquo;copyright&rdquo; line and a pointer to where the full notice is found.
+
+<pre class="smallexample"> <var>one line to give the program's name and an idea of what it does.</var>
+ Copyright (C) 19<var>yy</var> <var>name of author</var>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+</pre>
+ <p>Also add information on how to contact you by electronic and paper mail.
+
+ <p>If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+<pre class="smallexample"> Gnomovision version 69, Copyright (C) 19<var>yy</var> <var>name of author</var>
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
+ type `show w'. This is free software, and you are welcome
+ to redistribute it under certain conditions; type `show c'
+ for details.
+</pre>
+ <p>The hypothetical commands <span class="samp">show w</span> and <span class="samp">show c</span> should show
+the appropriate parts of the General Public License. Of course, the
+commands you use may be called something other than <span class="samp">show w</span> and
+<span class="samp">show c</span>; they could even be mouse-clicks or menu items&mdash;whatever
+suits your program.
+
+ <p>You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a &ldquo;copyright disclaimer&rdquo; for the program, if
+necessary. Here is a sample; alter the names:
+
+<pre class="example"> Yoyodyne, Inc., hereby disclaims all copyright
+ interest in the program `Gnomovision'
+ (which makes passes at compilers) written
+ by James Hacker.
+
+ <var>signature of Ty Coon</var>, 1 April 1989
+ Ty Coon, President of Vice
+</pre>
+ <p>This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+
+<div class="node">
+<p><hr>
+<a name="Overview"></a>Next:&nbsp;<a rel="next" accesskey="n" href="#Sample">Sample</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Copying">Copying</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+<br>
+</div>
+
+<h2 class="chapter">1 Overview</h2>
+
+<p><a name="index-overview-1"></a>
+<code>gzip</code> reduces the size of the named files using Lempel-Ziv coding
+(LZ77). Whenever possible, each file is replaced by one with the
+extension <span class="samp">.gz</span>, while keeping the same ownership modes, access and
+modification times. (The default extension is <span class="samp">-gz</span> for VMS,
+<span class="samp">z</span> for MSDOS, OS/2 FAT and Atari.) If no files are specified or
+if a file name is "-", the standard input is compressed to the standard
+output. <code>gzip</code> will only attempt to compress regular files. In
+particular, it will ignore symbolic links.
+
+ <p>If the new file name is too long for its file system, <code>gzip</code>
+truncates it. <code>gzip</code> attempts to truncate only the parts of the
+file name longer than 3 characters. (A part is delimited by dots.) If
+the name consists of small parts only, the longest parts are truncated.
+For example, if file names are limited to 14 characters, gzip.msdos.exe
+is compressed to gzi.msd.exe.gz. Names are not truncated on systems
+which do not have a limit on file name length.
+
+ <p>By default, <code>gzip</code> keeps the original file name and timestamp in
+the compressed file. These are used when decompressing the file with the
+<span class="samp">-N</span> option. This is useful when the compressed file name was
+truncated or when the time stamp was not preserved after a file
+transfer.
+
+ <p>Compressed files can be restored to their original form using <span class="samp">gzip -d</span>
+or <code>gunzip</code> or <code>zcat</code>. If the original name saved in the
+compressed file is not suitable for its file system, a new name is
+constructed from the original one to make it legal.
+
+ <p><code>gunzip</code> takes a list of files on its command line and replaces
+each file whose name ends with <span class="samp">.gz</span>, <span class="samp">.z</span>, <span class="samp">.Z</span>,
+<span class="samp">-gz</span>, <span class="samp">-z</span> or <span class="samp">_z</span> and which begins with the correct
+magic number with an uncompressed file without the original extension.
+<code>gunzip</code> also recognizes the special extensions <span class="samp">.tgz</span> and
+<span class="samp">.taz</span> as shorthands for <span class="samp">.tar.gz</span> and <span class="samp">.tar.Z</span>
+respectively. When compressing, <code>gzip</code> uses the <span class="samp">.tgz</span>
+extension if necessary instead of truncating a file with a <span class="samp">.tar</span>
+extension.
+
+ <p><code>gunzip</code> can currently decompress files created by <code>gzip</code>,
+<code>zip</code>, <code>compress</code> or <code>pack</code>. The detection of the input
+format is automatic. When using the first two formats, <code>gunzip</code>
+checks a 32 bit CRC (cyclic redundancy check). For <code>pack</code>,
+<code>gunzip</code> checks the uncompressed length. The <code>compress</code> format
+was not designed to allow consistency checks. However <code>gunzip</code> is
+sometimes able to detect a bad <span class="samp">.Z</span> file. If you get an error when
+uncompressing a <span class="samp">.Z</span> file, do not assume that the <span class="samp">.Z</span> file is
+correct simply because the standard <code>uncompress</code> does not complain.
+This generally means that the standard <code>uncompress</code> does not check
+its input, and happily generates garbage output. The SCO <span class="samp">compress
+-H</span> format (<code>lzh</code> compression method) does not include a CRC but
+also allows some consistency checks.
+
+ <p>Files created by <code>zip</code> can be uncompressed by <code>gzip</code> only if
+they have a single member compressed with the 'deflation' method. This
+feature is only intended to help conversion of <code>tar.zip</code> files to
+the <code>tar.gz</code> format. To extract <code>zip</code> files with several
+members, use <code>unzip</code> instead of <code>gunzip</code>.
+
+ <p><code>zcat</code> is identical to <span class="samp">gunzip -c</span>. <code>zcat</code>
+uncompresses either a list of files on the command line or its standard
+input and writes the uncompressed data on standard output. <code>zcat</code>
+will uncompress files that have the correct magic number whether they
+have a <span class="samp">.gz</span> suffix or not.
+
+ <p><code>gzip</code> uses the Lempel-Ziv algorithm used in <code>zip</code> and PKZIP.
+The amount of compression obtained depends on the size of the input and
+the distribution of common substrings. Typically, text such as source
+code or English is reduced by 60-70%. Compression is generally much
+better than that achieved by LZW (as used in <code>compress</code>), Huffman
+coding (as used in <code>pack</code>), or adaptive Huffman coding
+(<code>compact</code>).
+
+ <p>Compression is always performed, even if the compressed file is slightly
+larger than the original. The worst case expansion is a few bytes for
+the <code>gzip</code> file header, plus 5 bytes every 32K block, or an expansion
+ratio of 0.015% for large files. Note that the actual number of used
+disk blocks almost never increases. <code>gzip</code> preserves the mode,
+ownership and timestamps of files when compressing or decompressing.
+
+<div class="node">
+<p><hr>
+<a name="Sample"></a>Next:&nbsp;<a rel="next" accesskey="n" href="#Invoking-gzip">Invoking gzip</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Overview">Overview</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+<br>
+</div>
+
+<h2 class="chapter">2 Sample Output</h2>
+
+<p><a name="index-sample-2"></a>
+Here are some realistic examples of running <code>gzip</code>.
+
+ <p>This is the output of the command <span class="samp">gzip -h</span>:
+
+<pre class="example"> gzip 1.2.4 (18 Aug 93)
+ usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
+ -c --stdout write on standard output, keep original files unchanged
+ -d --decompress decompress
+ -f --force force overwrite of output file and compress links
+ -h --help give this help
+ -l --list list compressed file contents
+ -L --license display software license
+ -n --no-name do not save or restore the original name and time stamp
+ -N --name save or restore the original name and time stamp
+ -q --quiet suppress all warnings
+ -r --recursive operate recursively on directories
+ -S .suf --suffix .suf use suffix .suf on compressed files
+ -t --test test compressed file integrity
+ -v --verbose verbose mode
+ -V --version display version number
+ -1 --fast compress faster
+ -9 --best compress better
+ file... files to (de)compress. If none given, use standard input.
+</pre>
+ <p>This is the output of the command <span class="samp">gzip -v texinfo.tex</span>:
+
+<pre class="example"> texinfo.tex: 71.6% -- replaced with texinfo.tex.gz
+</pre>
+ <p>The following command will find all <code>gzip</code> files in the current
+directory and subdirectories, and extract them in place without
+destroying the original:
+
+<pre class="example"> find . -name '*.gz' -print | sed 's/^\(.*\)[.]gz$/gunzip &lt; "&amp;" &gt; "\1"/' | sh
+</pre>
+ <div class="node">
+<p><hr>
+<a name="Invoking-gzip"></a>Next:&nbsp;<a rel="next" accesskey="n" href="#Advanced-usage">Advanced usage</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Sample">Sample</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+<br>
+</div>
+
+<h2 class="chapter">3 Invoking <code>gzip</code></h2>
+
+<p><a name="index-invoking-3"></a><a name="index-options-4"></a>
+The format for running the <code>gzip</code> program is:
+
+<pre class="example"> gzip <var>option</var> ...
+</pre>
+ <p><code>gzip</code> supports the following options:
+
+ <dl>
+<dt><span class="samp">--stdout</span><dt><span class="samp">--to-stdout</span><dt><span class="samp">-c</span><dd>Write output on standard output; keep original files unchanged.
+If there are several input files, the output consists of a sequence of
+independently compressed members. To obtain better compression,
+concatenate all input files before compressing them.
+
+ <br><dt><span class="samp">--decompress</span><dt><span class="samp">--uncompress</span><dt><span class="samp">-d</span><dd>Decompress.
+
+ <br><dt><span class="samp">--force</span><dt><span class="samp">-f</span><dd>Force compression or decompression even if the file has multiple links
+or the corresponding file already exists, or if the compressed data
+is read from or written to a terminal. If the input data is not in
+a format recognized by <code>gzip</code>, and if the option <span class="samp">--stdout</span> is also
+given, copy the input data without change to the standard output: let
+<code>zcat</code> behave as <code>cat</code>. If <span class="samp">-f</span> is not given, and
+when not running in the background, <code>gzip</code> prompts to verify
+whether an existing file should be overwritten.
+
+ <br><dt><span class="samp">--help</span><dt><span class="samp">-h</span><dd>Print an informative help message describing the options then quit.
+
+ <br><dt><span class="samp">--list</span><dt><span class="samp">-l</span><dd>For each compressed file, list the following fields:
+
+ <pre class="example"> compressed size: size of the compressed file
+ uncompressed size: size of the uncompressed file
+ ratio: compression ratio (0.0% if unknown)
+ uncompressed_name: name of the uncompressed file
+ </pre>
+ <p>The uncompressed size is given as <span class="samp">-1</span> for files not in <code>gzip</code>
+format, such as compressed <span class="samp">.Z</span> files. To get the uncompressed size for
+such a file, you can use:
+
+ <pre class="example"> zcat file.Z | wc -c
+ </pre>
+ <p>In combination with the <span class="samp">--verbose</span> option, the following fields are also
+displayed:
+
+ <pre class="example"> method: compression method (deflate,compress,lzh,pack)
+ crc: the 32-bit CRC of the uncompressed data
+ date &amp; time: time stamp for the uncompressed file
+ </pre>
+ <p>The crc is given as ffffffff for a file not in gzip format.
+
+ <p>With <span class="samp">--verbose</span>, the size totals and compression ratio for all files
+is also displayed, unless some sizes are unknown. With <span class="samp">--quiet</span>,
+the title and totals lines are not displayed.
+
+ <br><dt><span class="samp">--license</span><dt><span class="samp">-L</span><dd>Display the <code>gzip</code> license then quit.
+
+ <br><dt><span class="samp">--no-name</span><dt><span class="samp">-n</span><dd>When compressing, do not save the original file name and time stamp by
+default. (The original name is always saved if the name had to be
+truncated.) When decompressing, do not restore the original file name
+if present (remove only the <code>gzip</code>
+suffix from the compressed file name) and do not restore the original
+time stamp if present (copy it from the compressed file). This option
+is the default when decompressing.
+
+ <br><dt><span class="samp">--name</span><dt><span class="samp">-N</span><dd>When compressing, always save the original file name and time stamp; this
+is the default. When decompressing, restore the original file name and
+time stamp if present. This option is useful on systems which have
+a limit on file name length or when the time stamp has been lost after
+a file transfer.
+
+ <br><dt><span class="samp">--quiet</span><dt><span class="samp">-q</span><dd>Suppress all warning messages.
+
+ <br><dt><span class="samp">--recursive</span><dt><span class="samp">-r</span><dd>Travel the directory structure recursively. If any of the file names
+specified on the command line are directories, <code>gzip</code> will descend
+into the directory and compress all the files it finds there (or
+decompress them in the case of <code>gunzip</code>).
+
+ <br><dt><span class="samp">--suffix </span><var>suf</var><dt><span class="samp">-S </span><var>suf</var><dd>Use suffix <var>suf</var> instead of <span class="samp">.gz</span>. Any suffix can be
+given, but suffixes other than <span class="samp">.z</span> and <span class="samp">.gz</span> should be
+avoided to avoid confusion when files are transferred to other systems.
+A null suffix forces gunzip to try decompression on all given files
+regardless of suffix, as in:
+
+ <pre class="example"> gunzip -S "" * (*.* for MSDOS)
+ </pre>
+ <p>Previous versions of gzip used the <span class="samp">.z</span> suffix. This was changed to
+avoid a conflict with <code>pack</code>.
+
+ <br><dt><span class="samp">--test</span><dt><span class="samp">-t</span><dd>Test. Check the compressed file integrity.
+
+ <br><dt><span class="samp">--verbose</span><dt><span class="samp">-v</span><dd>Verbose. Display the name and percentage reduction for each file compressed.
+
+ <br><dt><span class="samp">--version</span><dt><span class="samp">-V</span><dd>Version. Display the version number and compilation options, then quit.
+
+ <br><dt><span class="samp">--fast</span><dt><span class="samp">--best</span><dt><span class="samp">-</span><var>n</var><dd>Regulate the speed of compression using the specified digit <var>n</var>,
+where <span class="samp">-1</span> or <span class="samp">--fast</span> indicates the fastest compression
+method (less compression) and <span class="samp">--best</span> or <span class="samp">-9</span> indicates the
+slowest compression method (optimal compression). The default
+compression level is <span class="samp">-6</span> (that is, biased towards high compression at
+expense of speed).
+</dl>
+
+<div class="node">
+<p><hr>
+<a name="Advanced-usage"></a>Next:&nbsp;<a rel="next" accesskey="n" href="#Environment">Environment</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Invoking-gzip">Invoking gzip</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+<br>
+</div>
+
+<h2 class="chapter">4 Advanced usage</h2>
+
+<p><a name="index-concatenated-files-5"></a>
+Multiple compressed files can be concatenated. In this case,
+<code>gunzip</code> will extract all members at once. If one member is
+damaged, other members might still be recovered after removal of the
+damaged member. Better compression can be usually obtained if all
+members are decompressed and then recompressed in a single step.
+
+ <p>This is an example of concatenating <code>gzip</code> files:
+
+<pre class="example"> gzip -c file1 &gt; foo.gz
+ gzip -c file2 &gt;&gt; foo.gz
+</pre>
+ <p>Then
+
+<pre class="example"> gunzip -c foo
+</pre>
+ <p>is equivalent to
+
+<pre class="example"> cat file1 file2
+</pre>
+ <p>In case of damage to one member of a <span class="samp">.gz</span> file, other members can
+still be recovered (if the damaged member is removed). However,
+you can get better compression by compressing all members at once:
+
+<pre class="example"> cat file1 file2 | gzip &gt; foo.gz
+</pre>
+ <p>compresses better than
+
+<pre class="example"> gzip -c file1 file2 &gt; foo.gz
+</pre>
+ <p>If you want to recompress concatenated files to get better compression, do:
+
+<pre class="example"> zcat old.gz | gzip &gt; new.gz
+</pre>
+ <p>If a compressed file consists of several members, the uncompressed
+size and CRC reported by the <span class="samp">--list</span> option applies to the last member
+only. If you need the uncompressed size for all members, you can use:
+
+<pre class="example"> zcat file.gz | wc -c
+</pre>
+ <p>If you wish to create a single archive file with multiple members so
+that members can later be extracted independently, use an archiver such
+as <code>tar</code> or <code>zip</code>. GNU <code>tar</code> supports the <span class="samp">-z</span>
+option to invoke <code>gzip</code> transparently. <code>gzip</code> is designed as a
+complement to <code>tar</code>, not as a replacement.
+
+<div class="node">
+<p><hr>
+<a name="Environment"></a>Next:&nbsp;<a rel="next" accesskey="n" href="#Tapes">Tapes</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Advanced-usage">Advanced usage</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+<br>
+</div>
+
+<h2 class="chapter">5 Environment</h2>
+
+<p><a name="index-Environment-6"></a>
+The environment variable <code>GZIP</code> can hold a set of default options for
+<code>gzip</code>. These options are interpreted first and can be overwritten by
+explicit command line parameters. For example:
+
+<pre class="example"> for sh: GZIP="-8v --name"; export GZIP
+ for csh: setenv GZIP "-8v --name"
+ for MSDOS: set GZIP=-8v --name
+</pre>
+ <p>On Vax/VMS, the name of the environment variable is <code>GZIP_OPT</code>, to
+avoid a conflict with the symbol set for invocation of the program.
+
+<div class="node">
+<p><hr>
+<a name="Tapes"></a>Next:&nbsp;<a rel="next" accesskey="n" href="#Problems">Problems</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Environment">Environment</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+<br>
+</div>
+
+<h2 class="chapter">6 Using <code>gzip</code> on tapes</h2>
+
+<p><a name="index-tapes-7"></a>
+When writing compressed data to a tape, it is generally necessary to pad
+the output with zeroes up to a block boundary. When the data is read and
+the whole block is passed to <code>gunzip</code> for decompression,
+<code>gunzip</code> detects that there is extra trailing garbage after the
+compressed data and emits a warning by default. You have to use the
+<span class="samp">--quiet</span> option to suppress the warning. This option can be set in the
+<code>GZIP</code> environment variable, as in:
+
+<pre class="example"> for sh: GZIP="-q" tar -xfz --block-compress /dev/rst0
+ for csh: (setenv GZIP "-q"; tar -xfz --block-compress /dev/rst0)
+</pre>
+ <p>In the above example, <code>gzip</code> is invoked implicitly by the <span class="samp">-z</span>
+option of GNU <code>tar</code>. Make sure that the same block size (<span class="samp">-b</span>
+option of <code>tar</code>) is used for reading and writing compressed data on
+tapes. (This example assumes you are using the GNU version of
+<code>tar</code>.)
+
+<div class="node">
+<p><hr>
+<a name="Problems"></a>Next:&nbsp;<a rel="next" accesskey="n" href="#Concept-Index">Concept Index</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#Tapes">Tapes</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+<br>
+</div>
+
+<h2 class="chapter">7 Reporting Bugs</h2>
+
+<p><a name="index-bugs-8"></a>
+If you find a bug in <code>gzip</code>, please send electronic mail to
+<span class="samp">bug-gzip@gnu.org</span><!-- /@w -->. Include the version number,
+which you can find by running <span class="samp">gzip&nbsp;-V</span><!-- /@w -->. Also include in your
+message the hardware and operating system, the compiler used to compile
+<code>gzip</code>,
+a description of the bug behavior, and the input to <code>gzip</code> that triggered
+the bug.
+
+<div class="node">
+<p><hr>
+<a name="Concept-Index"></a>Previous:&nbsp;<a rel="previous" accesskey="p" href="#Problems">Problems</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
+<br>
+</div>
+
+<h2 class="unnumbered">Concept Index</h2>
+
+<ul class="index-cp" compact>
+<li><a href="#index-bugs-8">bugs</a>: <a href="#Problems">Problems</a></li>
+<li><a href="#index-concatenated-files-5">concatenated files</a>: <a href="#Advanced-usage">Advanced usage</a></li>
+<li><a href="#index-Environment-6">Environment</a>: <a href="#Environment">Environment</a></li>
+<li><a href="#index-invoking-3">invoking</a>: <a href="#Invoking-gzip">Invoking gzip</a></li>
+<li><a href="#index-options-4">options</a>: <a href="#Invoking-gzip">Invoking gzip</a></li>
+<li><a href="#index-overview-1">overview</a>: <a href="#Overview">Overview</a></li>
+<li><a href="#index-sample-2">sample</a>: <a href="#Sample">Sample</a></li>
+<li><a href="#index-tapes-7">tapes</a>: <a href="#Tapes">Tapes</a></li>
+</ul>
+<div class="contents">
+<h2>Table of Contents</h2>
+<ul>
+<li><a name="toc_Copying" href="#Copying">GNU GENERAL PUBLIC LICENSE</a>
+<ul>
+<li><a href="#Copying">Preamble</a>
+<li><a href="#Copying">How to Apply These Terms to Your New Programs</a>
+</li></ul>
+<li><a name="toc_Overview" href="#Overview">1 Overview</a>
+<li><a name="toc_Sample" href="#Sample">2 Sample Output</a>
+<li><a name="toc_Invoking-gzip" href="#Invoking-gzip">3 Invoking <code>gzip</code></a>
+<li><a name="toc_Advanced-usage" href="#Advanced-usage">4 Advanced usage</a>
+<li><a name="toc_Environment" href="#Environment">5 Environment</a>
+<li><a name="toc_Tapes" href="#Tapes">6 Using <code>gzip</code> on tapes</a>
+<li><a name="toc_Problems" href="#Problems">7 Reporting Bugs</a>
+<li><a name="toc_Concept-Index" href="#Concept-Index">Concept Index</a>
+</li></ul>
+</div>
+
+</body></html>
+
diff --git a/Master/texmf/doc/gzip/gzip.pdf b/Master/texmf/doc/gzip/gzip.pdf
new file mode 100644
index 00000000000..bf19bbd312f
--- /dev/null
+++ b/Master/texmf/doc/gzip/gzip.pdf
Binary files differ
diff --git a/Master/texmf/doc/hbf2gf/hbf2gf.pdf b/Master/texmf/doc/hbf2gf/hbf2gf.pdf
new file mode 100644
index 00000000000..bc8005220aa
--- /dev/null
+++ b/Master/texmf/doc/hbf2gf/hbf2gf.pdf
Binary files differ
diff --git a/Master/texmf/doc/hbf2gf/hbf2gf.txt b/Master/texmf/doc/hbf2gf/hbf2gf.txt
new file mode 100644
index 00000000000..a8f062340cf
--- /dev/null
+++ b/Master/texmf/doc/hbf2gf/hbf2gf.txt
@@ -0,0 +1,384 @@
+This is the file hbf2gf.txt of the CJK macro package ver. 4.6.0
+(11-Aug-2005).
+
+Using hbf2gf
+-------------
+
+hbf2gf converts CJK bitmaps with an HBF header file into GF files.
+
+Additional documentation can be found in the man page utils/hbf2gf/hbf2gf.1
+(pre-formatted versions of this document can be found in the `cjk-doc'
+bundle of CJK).
+
+
+Syntax:
+
+ hbf2gf [-q] configuration_file[.cfg]
+ hbf2gf [options] subfont_name x_resolution [y_scale | y_resolution]
+ hbf2gf -t [-q] font_name
+ hbf2gf --version | --help
+
+Options:
+ -q make hbf2gf quiet
+ -p don't create a PL file
+ -g don't create a GF file
+ -n use no resolution in extension (only `.gf')
+ -t test for font_name (returns 0 on success)
+
+
+Keywords in the configuration file must start a line, the appropriate values
+being on the same line separated with one or more blanks or tabs.
+Environment variables names start with `$'; to get a dollar sign you must
+type `$$'.
+
+The expansion of environment variables in hbf2gf itself (without the help of
+the kpathsea library) is very limited; this feature has been carried over
+from previous versions. It can't expand variables set in texmf.cnf; it also
+can't handle more than one directory as the variable's value. Don't use it
+except for the `pk_directory' and `tfm_directory' parameters!
+
+Here is an example configuration file gsfs14.cfg (please refer to hbf2gf.1
+and hbf2gf.dvi for a description of the keywords) to be run under OS/2:
+
+hbf_header jfs56.hbf
+mag_x 1
+design_size 14.4
+
+y_offset -13
+comment jianti fansongti 56x56 pixel font scaled and adapted to 14.4pt
+
+nmb_files -1
+tfm_files yes
+
+output_name gsfs14
+
+checksum 123456789
+
+dpi_x 300
+
+coding codingscheme GB 2312-80 encoded TeX text
+
+pk_directory $HBF_TARGET\pixel.lj\432dpi\
+tfm_directory $HBF_TARGET\tfm\
+
+rm_command del
+cp_command copy
+long_extension off
+job_extension .cmd
+
+
+Installation of a complete set of subfonts
+------------------------------------------
+
+Here are the results of a sample run of the above configuration file
+(assuming that the environment variable %HBF_TARGET% points to d:\china):
+
+ input files: jfs56.a - jfs56.e, jfs56.hbf
+
+ program call: hbf2gf gsfs14.cfg
+
+ intermediate files: gsfs14.cmd, gsfs1401.gf - gsfs1432.gf, gsfs14.pl
+
+ batch file call: gsfs14.cmd
+
+ output files: d:\china\pixel.lj\432dpi\gsfs1401.pk - gsfs1432.pk,
+ d:\china\tfm\gsfs1401.tfm - gsfs1432.tfm
+
+
+[gsfs: GuoBiao simple encoded FanSong style
+ ^ ^ ^ ^
+It's hard to overcome the DOS restriction of 8 characters in a file name if
+you need two characters as a running number...]
+
+
+Using MakeTeXPK or mktexpk
+--------------------------
+
+*****************************************************************************
+* *
+* For teTeX >=1.0 and web2c >= 7.3.1, no patches are necessary for either *
+* mktexpk or mktextfm. *
+* *
+*****************************************************************************
+
+The simpler way to create PK fonts is to apply the patches in the
+utils/hbf2gf/scripts directory. In case you can't become root make sure that
+the patched file is found in the path *before* the original MakeTeXPK (or
+mktexpk) script.
+
+First of all, move the HBF files together with the bitmap font files to its
+final destination which has to be added to the variables $MISCFONTS
+(kpathsea version >= 3.3), or $T1FONTS (kpathsea > 2.6), or $DVIPSHEADERS
+(kpathsea <= 2.6), which can be either modified in texmf.cnf or set in the
+environment (please read the kpathsea info files how to do that). Now do the
+same with all `.cfg' files; the corresponding configuration variable is
+$HBF2GFINPUTS (kpathsea >= 3.2) or $TEXCONFIG (kpathsea < 3.2).
+
+Then, create a set of TFM files for the specified CJK bitmap font. This
+should be done with the hbf2gf configuration parameters `tfm_files yes' and
+`pk_files no' (to be modified in the `.cfg' files; see hbf2gf.dvi for a
+detailed description of all needed keywords). After calling the produced
+shell script the TFM files are installed. Note that if you change any hbf2gf
+parameters which alter the appearance of the font (the metrics, to be more
+exact) you must repeat this step so that TFM and PK files fit together.
+
+The previous step can be omitted in case you patch MakeTeXTFM or mktextfm
+too so that TFM files can be created on-the-fly.
+
+Please note further that in case you write a new hbf2gf configuration file,
+the name of that file must be the name stem of the CJK subfont (as defined
+in the appropriate FD file and the hbf2gf configuration file) plus `.cfg':
+
+ Example:
+
+ searched: gsfs1021.pk
+ configuration file: gsfs10.cfg
+
+The final step for web2c 6.x or teTeX 0.4 is to edit texmf.cnf (the kpathsea
+configuration file, usually in /usr/local/lib/texmf/web2c) and change the
+two variables
+
+ $PKFONTS.xdvi
+ $PKFONTS
+
+by appending
+
+ :$pkdir/hbf2gf
+
+to define an own `mode' for hbf2gf, similar to the modes `cx', `ljfour',
+etc. The TeX Directory Structure (TDS) standard suggests `modeless' for this
+name which is already defined in teTeX 1.0 and web2c 7.x.
+
+Example:
+
+ PKFONTS.xdvi=.:$pkdir/$MAKETEX_MODE:$pkdir/gsftopk:
+ $pkdir/ps2pk:$pkdir/hbf2gf
+ PKFONTS=.:$TEXMF/fonts//pk/$MAKETEX_MODE:$pkdir/hbf2gf
+
+The line break above is given for convenience only and should not appear
+in the texmf.cnf file (no space before and after the `:').
+
+[If you cannot become root, copy texmf.cnf into your home directory and do
+the modifications there; make sure that your personal config file is found
+in the search path first since web2c uses the first definition of each
+variable encountered.]
+
+If you use hbf2gf with two parameters (as in MakeTeXPK), only one GF file
+and one PL file is produced, and no batch file is created; the `pk_files'
+parameter is ignored. You can control with the switches -g and -p whether a
+GF or PL file is created at all.
+
+
+Using dvidrv.btm [emTeX for DOS and OS/2]
+-------------------------------------------
+
+This batch file does the same as MakeTeXPK and mktexpk; it is a replacement
+for dvidrv.exe of emTeX which can handle ttf2pk, hbf2gf, and ps2pk
+additionally (the ps2pk part is untested yet; it uses ps2pkmfj of the
+4allTeX distribution and was basically copied from a similar script, also
+part of 4allTeX).
+
+First of all, create and install a set of TFM files as described in the
+previous section.
+
+Then configure the following variables in dvidrv.btm:
+
+ ps2pk ... set it to `yes' if you want to use this program
+ ttf2pk ... ditto
+ hbf2gf ... ditto
+
+ pkdir ... the place where PK files created by ps2pk, ttf2pk,
+ or hbf2gf should go to. dvidrv.btm adds
+ `\modeless\XXXdpi' resp. `\modeless\dpiXXX' to this
+ string (depending on the variables `pre_dpi' and
+ `post_dpi')
+
+ ttfonts ... where the TrueType fonts files reside
+ ttfcfg ... where the auxiliary data files of ttf2pk reside
+
+ hbfonts ... where the HBF files reside
+ hbfcfg ... the place where the hbf2gf configuration files are
+
+The last four variables in the above list support trailing `!' and `!!' for
+recursive directory searching (see the dvidrv.doc of the emTeX package for
+details).
+
+Alternatively, you can set these variables in the environment; please note
+that no spaces are allowed before and after the equal sign, e.g.,
+
+ set foo=bar
+
+is OK, but
+
+ set foo = bar
+
+fails.
+
+Rename dvidrv.exe to dvidrv.ori or something similar and copy dvidrv.btm to
+a directory in the path.
+
+Don't forget to update the DVIDRVFONTS and TEXTFM environment variables if
+necessary.
+
+Under OS/2 dvips calls mfjob or hbf2gf itself; under DOS it creates a batch
+file which must be called afterwards.
+
+
+Adjusting the font parameters
+-----------------------------
+
+It is possible to convert bitmap fonts to PK files almost automatically. The
+HBF header file already has the entry `HBF_BITMAP_BOUNDING_BOX' which
+defines vertical and horizontal offsets (in pixels), but these values are
+not in all cases optimal for the desired target size. If you omit `x_offset'
+and `y_offset' in the CFG file, the third and fourth parameter of
+`HBF_BITMAP_BOUNDING_BOX' is used (except for rotated glyphs), scaled to
+design size (to say it with other words: x_offset and y_offset always apply
+to the design size to be synchronous with the TFM files).
+
+Don't confuse scaling and magnification: Scaling here means that you choose
+a (arbitrary) design size and compute scaling values (mag_x and mag_y; the
+parameter names are a bit misleading) which scales the bitmap to this
+particular design size at a certain (arbitrarily chosen) resolution (dpi_x
+and dpi_y). Magnification means that the scaled bitmap is then magnified to
+a certain target size while still using the font parameters (i.e., TFM file)
+of the design size.
+
+In the sample, you have a 56x56 bitmap font which is scaled to 14.4pt having
+a resolution of 300 dpi; here we compute the theoretical scaling value to
+reach the design size (14.4pt):
+
+ 1 pt are 300 / 72.27 = 4.1511 pixel;
+ 14.4 pt are 4.1511 x 14.4 = 59.78 pixel;
+ thus the theoretical magnification value is 59.78 / 56 = 1.0675 .
+
+But especially for small sizes, this may be not the best value if the font
+should harmonize with, say, Knuth's Computer Modern fonts. I recommend to to
+compute, say, five PK fonts, then check the CJK font with different TeX
+fonts to see whether the offsets and/or the magnification value is good. The
+greater the design size the finer you can control the offsets---as an
+example you could use a design size of 30pt (nevertheless there is an
+arbitrary compile-time constant MAX_CHAR_SIZE which limits the maximal
+character size; default is 1023 pixels).
+
+Testing has shown that in the above example a magnification value of 1 is
+better than 1.07; additionally if you use this font at 14.4pt you get the
+original bitmap without any distortions introduced by scaling.
+
+If you have found optimal offsets, you can produce many different
+magnifications of the CJK font using the same set of TFM files in analogy to
+ordinary TeX fonts; as a simplification, we assume that PK files with a
+resolution of XXXdpi and a design size of 10pt have the extension `.XXXpk'
+(respectively come into a `XXXdpi' subdirectory)---this is the reason why in
+the above example for the 14.4pt design size with 300dpi a `432dpi' target
+directory has been used. Now we can use the following formula:
+
+ your_target_size
+ needed_dpi = your_horizontal_resolution * ----------------
+ 10.0
+
+Example: Assuming that your printer has a resolution of 300 x 400dpi,
+and you want 14.4pt:
+
+ 14.4
+ 300 * ---- = 432
+ 10.0
+
+The vertical scaling value is 400 / 300 = 1.3333. Use these values now to
+call hbf2gf in METAFONT--like mode:
+
+ hbf2gf hbf2gf.cfg 432 1.3333
+
+Assuming you have created a complete set of hanja fonts (ksmj10) for 10pt
+design size, the proper entry in c60mj.fd would be
+
+ \DeclareFontShape{C60}{mj}{m}{n}{<5><6><7><8><9><10>
+ <10.95><12><14.4>
+ <17.28><20.74><24.88> CJK * ksmj10}{}
+
+If you use the (modified) mktexpk to create PK fonts on demand it is
+sufficient to write
+
+ \DeclareFontShape{C60}{mj}{m}{n}{<-> CJK * ksmj10}{}
+
+if one CJK bitmap font should cover the whole size range.
+
+
+Compiling hbf2gf
+----------------
+
+You need an ANSI C compiler.
+
+Under Unix-like systems say
+
+ ./configure --prefix=/usr/local/TeX \
+ --with-kpathsea-include=<INCLUDEDIR> \
+ --with-kpathsea-lib=<LIBDIR>
+ make
+ make install
+
+for a normal compilation and installation. Replace `/usr/local/TeX' with a
+path to your TeX distribution.
+
+[Note 1:
+ Try to find `libkpathsea.*' on your system. Use this directory as the
+ argument for --with-kpathsea-lib. Then try to find `kpathsea/tex-file.h'
+ and use the parent directory of kpathsea as the argument for
+ --with-kpathsea-include. This should work in most cases. If you can't find
+ the library, you probably have a web2c package with statically linked
+ binaries. This means that you have to get the web2c sources from CTAN,
+ configure it with something like
+
+ ./configure --prefix=/usr/local/TeX --datadir=/usr/local/TeX \
+ --enable-shared --disable-static
+
+ according to your setup; then change to the kpathsea directory and say
+ `make' and `make install' (Do the latter with caution not to overwrite
+ original binaries like kpsewhich).
+
+ It even works with the source tree from the TeX Live CD! You just have
+ to add a proper --srcdir option to the configure script.
+
+ Note 2:
+ It seems that c-auto.h created during the kpathsea library compiling
+ process won't be installed for some older web2c versions. You should add
+ it manually, i.e., copy <web2c source tree>/kpathsea/c-auto.h to the
+ location where the other kpathsea header files have been installed.
+
+ Note 3:
+ As a last resort or for testing purposes, you can even compile hbf2gf
+ without any search library; a simple call to fopen() is used instead.]
+
+
+
+Use Makefile.gnu for emx + GNU make and say
+
+ make -f Makefile.gnu
+
+to get a help screen with the possible options.
+
+[Note: It should work with djgpp too, but I haven't tested this.]
+
+
+If necessary, `touch' hbf2gf.c (in case you don't have ctangle) to made the
+time stamp of the file more recent; otherwise, the `make' program complains.
+
+Under some older SunOS versions, gcc (without the GNU C-library) has
+problems; if possible, install the GNU C-library. Otherwise you get a bunch
+of warning messages about missing prototypes which can be ignored. The only
+missing function is strtoul(). If your system has gdb or some other GNU
+utils, you are almost done. Search for the libiberty.a library (usually in
+/usr/local/lib), copy it into the hbf2gf subdir and link it with the other
+modules:
+
+ LDFLAGS=-liberty ./configure ...
+
+If you don't have libiberty, replace strtoul() with strtol() in the hbf2gf.w
+(or hbf2gf.c) file.
+
+It was reported that on the NeXT an older version of gcc has difficulties to
+process the '%i' printf parameter correctly; simply replace all occurrences
+with '%d' (most notably in hbf.c).
+
+
+---End of hbf2gf.txt---
diff --git a/Master/texmf/doc/hbf2gf/man/pdf/hbf2gf.pdf b/Master/texmf/doc/hbf2gf/man/pdf/hbf2gf.pdf
new file mode 100644
index 00000000000..b03e2ece712
--- /dev/null
+++ b/Master/texmf/doc/hbf2gf/man/pdf/hbf2gf.pdf
Binary files differ
diff --git a/Master/texmf/doc/info/dir b/Master/texmf/doc/info/dir
new file mode 100644
index 00000000000..2c439c310f0
--- /dev/null
+++ b/Master/texmf/doc/info/dir
@@ -0,0 +1,71 @@
+This is the file .../info/dir, which contains the
+topmost node of the Info hierarchy, called (dir)Top.
+The first time you invoke Info you start off looking at this node.
+
+File: dir, Node: Top This is the top of the INFO tree
+
+ This (the Directory node) gives a menu of major topics.
+ Typing "q" exits, "?" lists all Info commands, "d" returns here,
+ "h" gives a primer for first-timers,
+ "mEmacs<Return>" visits the Emacs manual, etc.
+
+ In Emacs, you can click mouse button 2 on a menu item or cross reference
+ to select it.
+
+* Menu:
+
+Texinfo documentation system
+* Info: (info). How to use the documentation browsing system.
+* Texinfo: (texinfo). The GNU documentation format.
+* Texi2HTML: (texi2html). Texinfo to HTML Converter.
+* info standalone: (info-stnd). Read Info documents without Emacs.
+* infokey: (info-stnd)Invoking infokey. Compile Info customizations.
+* install-info: (texinfo)Invoking install-info. Update info/dir entries.
+* makeinfo: (texinfo)Invoking makeinfo. Translate Texinfo source.
+* texi2dvi: (texinfo)Format with texi2dvi. Print Texinfo documents.
+* texindex: (texinfo)Format with tex/texindex. Sort Texinfo index files.
+
+TeX
+* DVI-to-PNG: (dvipng). DVI to Portable Network Graphics (PNG).
+* DVI-to-Postscript: (dvips). Translating TeX DVI files to PostScript.
+* Eplain: (eplain). Expanding on plain TeX.
+* Kpathsea: (kpathsea). File lookup along search paths.
+* LaTeX2e: (latex). LaTeXe help 1.6.
+* Naming TeX fonts: (fontname). Filenames for TeX fonts.
+* TDS: (tds). Standard TeX directory structure.
+* TeXDraw: (texdraw). Drawing PostScript diagrams within TeX.
+* Web2c: (web2c). TeX, Metafont, and companion programs.
+* afm2tfm: (dvips)Invoking afm2tfm. Making Type 1 fonts available to TeX.
+* bibtex: (web2c)bibtex invocation. Maintaining bibliographies.
+* dmp: (web2c)dmp invocation. Troff->MPX (MetaPost pictures).
+* dvicopy: (web2c)dvicopy invocation. Virtual font expansion
+* dvips: (dvips)Invoking Dvips. DVI-to-PostScript translator.
+* dvitomp: (web2c)dvitomp invocation. DVI to MPX (MetaPost pictures).
+* dvitype: (web2c)dvitype invocation. DVI to human-readable text.
+* gftodvi: (web2c)gftodvi invocation. Generic font proofsheets.
+* gftopk: (web2c)gftopk invocation. Generic to packed fonts.
+* gftype: (web2c)gftype invocation. GF to human-readable text.
+* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching.
+* makempx: (web2c)makempx invocation. MetaPost label typesetting.
+* mf: (web2c)mf invocation. Creating typeface families.
+* mft: (web2c)mft invocation. Prettyprinting Metafont source.
+* mktexlsr: (kpathsea)Filename database. Update ls-R.
+* mktexmf: (kpathsea)mktex scripts. MF source generation.
+* mktexpk: (kpathsea)mktex scripts. PK bitmap generation.
+* mktextex: (kpathsea)mktex scripts. TeX source generation.
+* mktextfm: (kpathsea)mktex scripts. TeX font metric generation.
+* mltex: (web2c)MLTeX. Multi-lingual TeX.
+* mpost: (web2c)mpost invocation. Creating technical diagrams.
+* mpto: (web2c)mpto invocation. MetaPost label extraction.
+* newer: (web2c)newer invocation. Compare modification times.
+* patgen: (web2c)patgen invocation. Creating hyphenation patterns.
+* pktogf: (web2c)pktogf invocation. Packed to generic fonts.
+* pktype: (web2c)pktype invocation. PK to human-readable text.
+* pltotf: (web2c)pltotf invocation. Property list to TFM.
+* pooltype: (web2c)pooltype invocation. Display WEB pool files.
+* tangle: (web2c)tangle invocation. WEB to Pascal.
+* tex: (web2c)tex invocation. Typesetting.
+* tftopl: (web2c)tftopl invocation. TFM -> property list.
+* vftovp: (web2c)vftovp invocation. Virtual font -> virtual pl.
+* vptovf: (web2c)vptovf invocation. Virtual pl -> virtual font.
+* weave: (web2c)weave invocation. WEB to TeX.
diff --git a/Master/texmf/doc/info/dvipng.info b/Master/texmf/doc/info/dvipng.info
new file mode 100644
index 00000000000..a575c11a9fd
--- /dev/null
+++ b/Master/texmf/doc/info/dvipng.info
@@ -0,0 +1,977 @@
+This is dvipng.info, produced by makeinfo version 4.8 from dvipng.texi.
+
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* DVI-to-PNG: (dvipng). Translating TeX DVI files to Portable Network Graphics (PNG).
+* dvipng: (dvipng). A DVI-to-PNG translator.
+END-INFO-DIR-ENTRY
+
+
+File: dvipng.info, Node: Top, Next: Introduction, Up: (dir)
+
+dvipng
+******
+
+This manual documents dvipng, a program to translate a DVI (DeVice
+Independent) file into PNG (Portable Network Graphics).
+
+ This file documents dvipng version 1.6
+
+ Corrections or perhaps rewrites of sections are _very welcome_.
+
+ Jan-AAke Larsson
+
+* Menu:
+
+* Introduction:: Introduction
+* Installation:: How to compile and install dvipng
+* Basic usage:: First things first
+* Command-line options:: Advanced usage
+* Diagnosing problems:: Problems?
+* Color:: Using color with dvipng
+* Copying:: GNU General Public License
+* Credits:: People who have contributed
+* Index:: General index
+
+
+File: dvipng.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top
+
+1 Introduction
+**************
+
+This program makes PNG and/or GIF graphics from DVI files as obtained
+from TeX and its relatives.
+
+ If GIF support is enabled, GIF output is chosen by using the
+`dvigif' binary or with the `--gif' option.
+
+ It is intended to produce anti-aliased screen-resolution images as
+fast as is possible. The target audience is people who need to generate
+and regenerate many images again and again. The primary target is the
+preview-latex (X)Emacs package, a package to preview formulas from
+within (X)Emacs. Yes, you get to see your formulas in the (X)Emacs
+buffer, see `http://preview-latex.sf.net'.
+
+ Another example is WeBWorK, an internet-based method for delivering
+homework problems to students over the internet, giving students
+instant feedback as to whether or not their answers are correct, see
+`http://webwork.math.rochester.edu'.
+
+ Other applications may also benefit, like web applications as
+latex2html and WYSIWYG editors like LyX.
+
+ The benefits of `dvipng'/`dvigif' include
+
+ * Speed. It is a very fast bitmap-rendering code for DVI files. On a
+ fairly low-end laptop, it takes less than a second to generate 150
+ one-formula images. This makes dvipng suitable for generating large
+ amounts of images on-the-fly, as needed in preview-latex, WeBWorK
+ and others.
+
+ * It does not read the postamble, so it can be started before TeX
+ finishes. There is a -follow switch that makes dvipng wait at EOF
+ for further output, unless it finds the POST marker that indicates
+ the end of the DVI.
+
+ * Interactive query of options. dvipng can read options interactively
+ through stdin, and all options are usable. It is even possible to
+ change the input file through this interface.
+
+ * Supports PK, VF, PostScript Type1, and TrueType fonts, color
+ specials and simple PostScript inclusion specials.
+
+ * and more...
+
+
+
+File: dvipng.info, Node: Installation, Next: Basic usage, Prev: Introduction, Up: Top
+
+2 Installation
+**************
+
+Installing dvipng should be simple: merely `./configure', `make', and
+`make install'.
+
+* Menu:
+
+* Prerequisites::
+* Configure::
+* Build/install::
+* Installation outside the texmf tree::
+* Advice for non-privileged users::
+
+
+File: dvipng.info, Node: Prerequisites, Next: Configure, Up: Installation
+
+2.1 Prerequisites
+=================
+
+ * The GD Graphics Draw library, libgd
+
+ The drawing library `libgd' is necessary, and is downloadable at
+ `http://www.boutell.com/gd', and there are binary packages for
+ most operating systems from their respective distributors. In any
+ case, the latest version of the library installs using `autoconf'
+ so it should not be difficult for you to install it from source,
+ and then proceed with installing dvipng.
+
+ * The path-searching library kpathsea
+
+ Kpathsea is most likely included in your LaTeX installation, but it
+ may happen that ./configure does not find it; see below. If you do
+ not have it, download it from `http://www.ctan.org' and compile it.
+ I have no experience with this, so I cannot help much here.
+
+ * FreeType 2 and/or T1lib
+
+ While not strictly necessary, you may want to have FreeType 2 or
+ T1lib available. Their presence will enable direct support for
+ PostScript fonts in dvipng, rather than using `gsftopk' for
+ rendering the fonts. If you have PostScript versons of Computer
+ Modern installed, there will be no need to generate bitmapped
+ variants on disk of these. Then, you can render images at
+ different (and unusual) resolutions without cluttering the disk
+ with lots of bitmapped fonts. If both FreeType 2 and T1lib are
+ present, FreeType will be internally preferred by dvipng, but
+ T1lib can be chosen at runtime.
+
+ * libpng and libz
+
+ To be able to compress and write PNG files to disk, dvipng (or
+ really libgd) uses libpng which in turn uses libz. These should be
+ available on any modern system, if not, download them and install
+ them.
+
+ * The `texinfo' package
+
+ This is needed for building the documentation.
+
+
+File: dvipng.info, Node: Configure, Next: Build/install, Prev: Prerequisites, Up: Installation
+
+2.2 Configure
+=============
+
+The first step is to configure the source code, telling it where
+various files will be. To do so, run
+
+ ./configure OPTIONS
+
+ (Note: if you have fetched dvipng from CVS rather than a regular
+release, you will have to first generate `./configure' by running
+`autoconf' 2.53 or later in the `preview' directory.)
+
+ On many machines, you will not need to specify any options, but if
+`configure' cannot determine something on its own, you'll need to help
+it out. For a list of the options type
+
+ ./configure --help
+
+ On some machines, the libraries will be installed in directories that
+are not in the linker's search path. This will generate an error when
+running `./configure', indicating that it cannot find libgd or
+libkpathsea (most likely). You then need to specify the path to the
+respective library's object files. They are typically called e.g.,
+`libgd.a' or `libgd.so'. If they are located in e.g., `/sw/local/lib',
+do
+
+ ./configure LDFLAGS=-L/sw/local/lib
+
+ If the library is available as a shared object file (`.so'), the
+runtime linker may also need to be told where to find the library, then
+use
+
+ ./configure LDFLAGS='-L/sw/local/lib -R/sw/local/lib'
+
+ When either of these is necessary, it is likely that the C header
+files are also installed in directories that are not in the C
+preprocessor's search path. This will also generate an error when
+running `./configure', indicating that it cannot find e.g., `gd.h' or
+`kpathsea.h' (most likely). You then need to specify the path to the
+respective library's C header files. If they are located in e.g.,
+`/sw/local/include', do
+
+ ./configure CPPFLAGS=-I/sw/local/include
+
+ On my SUN Solaris workstation, I had to combine this into
+
+ ./configure CPPFLAGS='-I/sw/local/include -I/sw/tex/teTeX/1.0/include'\
+ LDFLAGS='-L/sw/local/lib -R/sw/local/lib -L/sw/tex/teTeX/1.0/lib/'
+
+where the backslash denotes a continuation of the line.
+
+
+File: dvipng.info, Node: Build/install, Next: Installation outside the texmf tree, Prev: Configure, Up: Installation
+
+2.3 Build/install
+=================
+
+Once `configure' has been run, simply enter
+
+ make
+ at the prompt to compile the C code, and build the documentation
+files. To install the files into the locations chosen earlier, type
+
+ make install
+
+You may need special privileges to install, e.g., if you are installing
+into system directories.
+
+
+File: dvipng.info, Node: Installation outside the texmf tree, Next: Advice for non-privileged users, Prev: Build/install, Up: Installation
+
+2.4 Installation outside the texmf tree
+=======================================
+
+In some cases, a dvipng binary installed outside the texmf tree will
+not be able to find virtual fonts, or the PostScript font maps
+(normally used by dvips). This may be because _only_ $SELFAUTOLOC,
+$SELFAUTODIR, and $SELFAUTOPARENT are used in the texmf tree
+configuration file `texmf.cnf'. If so, give the switch
+`--enable-selfauto-set' to `./configure'. This will make dvipng adjust
+these three internally so that kpathsea thinks that dvipng _is_
+installed in the texmf tree.
+
+
+File: dvipng.info, Node: Advice for non-privileged users, Prev: Installation outside the texmf tree, Up: Installation
+
+2.5 Installation for non-privileged users
+=========================================
+
+Often people without system administration privileges want to install
+software for their private use. In that case you need to specify more
+options to the `configure' script, usually this is done by using the
+`--prefix' option to the `configure' script, and let it point to the
+personal home directory. In that way, resulting binaries will be
+installed under the `bin' subdirectory of your home directory, manual
+pages under `man' and so on. That way, it is reasonably easy to
+maintain a bunch of additional packages, since the prefix argument is
+supported by most `configure' scripts.
+
+ You'll have to add something like `/home/myself/bin' to your `PATH'
+shell variable, if it isn't there already, and similarly set the
+`INFOPATH' variable to be able to access the documentation.
+
+
+File: dvipng.info, Node: Basic usage, Next: Command-line options, Prev: Installation, Up: Top
+
+3 Basic usage of dvipng
+***********************
+
+To use dvipng at its simplest, simply type
+
+ dvipng foo
+
+where `foo.dvi' is the output of TeX that you want to convert to PNG
+format. If there are four pages in `foo.dvi', those pages will be
+output as `foo1.png', `foo2.png', `foo3.png', and `foo4.png',
+respectively.
+
+ If you have enabled the PostScript font support (via FreeType or
+T1lib), fonts will be rendered as they are needed. Otherwise, if you
+use fonts that have not been used on your system before, they may be
+automatically generated; this process can take a few minutes, so
+progress reports appear by default. The next time the same font is
+used, it will have been saved on disk, so rendering will go much
+faster. (If dvipng tries to endlessly generate the same fonts over and
+over again, something is wrong. *Note Unable to generate fonts:
+(kpathsea)Unable to generate fonts.)
+
+ Many options are available (see the next section). For a brief
+summary of available options, just type
+
+ dvipng --help
+
+
+File: dvipng.info, Node: Command-line options, Next: Diagnosing problems, Prev: Basic usage, Up: Top
+
+4 Command-line options
+**********************
+
+dvipng has a plethora of command line options. Reading through this
+section will give a good idea of the capabilities of the driver.
+
+* Menu:
+
+* Option summary:: Quick listing, from dvipng --help.
+* Option details:: More information about each option.
+
+
+File: dvipng.info, Node: Option summary, Next: Option details, Up: Command-line options
+
+4.1 Option summary
+==================
+
+Here is a handy summary of the options; it is printed out when you run
+dvipng with no arguments or with the standard `--help' option.
+
+ This is dvipng 1.6 Copyright 2002-2005 Jan-Ake Larsson
+
+ Usage: dvipng [OPTION]... FILENAME[.dvi]
+ Options are chosen to be similar to dvips' options where possible:
+ -d # Debug (# is the debug bitmap, 1 if not given)
+ -D # Output resolution
+ -l # Last page to be output
+ --mode s MetaFont mode (default 'cx')
+ -M* Don't make PK fonts
+ -o f Output file, '%d' is pagenumber
+ -O c Image offset
+ -p # First page to be output
+ -pp #,#.. Page list to be output
+ -q* Quiet operation
+ -r* Reverse order of pages
+ -T c Image size (also accepts '-T bbox' and '-T tight')
+ -v* Verbose operation
+ -x # Override dvi magnification
+ - Interactive query of options
+
+ These do not correspond to dvips options:
+ -bd # Transparent border width in dots
+ -bd s Transparent border fallback color (TeX-style color)
+ --bdpi # Set the base (Metafont) resolution
+ -bg s Background color (TeX-style color or 'Transparent')
+ --depth* Output the image depth on stdout
+ --dvinum* Use TeX page numbers in output filenames
+ -fg s Foreground color (TeX-style color)
+ --follow* Follow mode
+ --gamma # Control color interpolation
+ --gif Output GIF images (dvigif default)
+ --height* Output the image height on stdout
+ --noghostscript* Don't use ghostscript for PostScript specials
+ --nogssafer* Don't use -dSAFER in ghostscript calls
+ --picky When a warning occurs, don't output image
+ --png Output PNG images (dvipng default)
+ --strict When a warning occurs, exit
+ --t1lib* T1lib font rendering (default on)
+ --truecolor* Truecolor output
+ -Q # Quality (T1lib and PK subsampling)
+ -z # PNG compression level
+
+ # = number f = file s = string * = suffix, '0' to turn off
+ c = comma-separated dimension pair (e.g., 3.2in,-32.1cm)
+
+
+File: dvipng.info, Node: Option details, Prev: Option summary, Up: Command-line options
+
+4.2 Option details
+==================
+
+Many of the parameterless options listed here can be turned off by
+suffixing the option with a zero (`0'); for instance, to turn off page
+reversal, use `-r0'. Such options are marked with a trailing `*'.
+
+`-'
+ Read additional options from standard input after processing the
+ command line.
+
+`--help'
+ Print a usage message and exit.
+
+`--version'
+ Print the version number and exit.
+
+`-bd NUM'
+
+`-bd COLOR_SPEC'
+
+`-bd 'NUM COLOR_SPEC''
+ Set the pixel width of the transparent border (default 0). Using
+ this option will make the image edges transparent, but it only
+ affects pixels with the background color. Giving a COLOR_SPEC will
+ set the fallback color, to be used in viewers that cannot handle
+ transparency (the default is the background color). The color spec
+ should be in TeX color \special syntax, e.g., 'rgb 1.0 0.0 0.0'.
+ Setting the fallback color makes the default border width 1 px.
+ *Note Color::.
+
+`--bdpi NUM'
+ Set the base (Metafont) resolution, both horizontal and vertical,
+ to NUM dpi (dots per inch). This option is necessary when manually
+ selecting Metafont mode with the -mode option (see below).
+
+`-bg COLOR_SPEC'
+ Choose background color for the images. This option will be
+ ignored if there is a background color \special in the DVI. The
+ color spec should be in TeX color \special syntax, e.g., 'rgb 1.0
+ 0.0 0.0'. You can also specify 'Transparent' or 'transparent'
+ which will give you a transparent background with the normal
+ background as a fallback color. A capitalized 'Transparent' will
+ give a full-alpha transparency, while an all-lowercase
+ 'transparent' will give a simple fully transparent background with
+ non-transparent antialiased pixels. The latter would be suitable
+ for viewers who cannot cope with a true alpha channel. GIF images
+ do not support full alpha transparency, so in case of GIF output,
+ both variants will use the latter behaviour. *Note Color::.
+
+`-d NUM'
+ Set the debug flags, showing what dvipng (thinks it) is doing.
+ This will work unless dvipng has been compiled without the `DEBUG'
+ option (not recommended). Set the flags as you need them, use `-d
+ -1' as the first option for maximum output. *Note Debug options::.
+
+`-D NUM'
+ Set the output resolution, both horizontal and vertical, to NUM
+ dpi (dots per inch).
+
+ One may want to adjust this to fit a certain text font size (e.g.,
+ on a web page), and for a text font height of FONT_PX pixels (in
+ Mozilla) the correct formula is
+ DPI = FONT_PX * 72.27 / 10 [px * TeXpt/in / TeXpt]
+ The last division by ten is due to the standard font height 10pt in
+ your document, if you use 12pt, divide by 12. Unfortunately, some
+ proprietary browsers have font height in pt (points), not pixels.
+ You have to rescale that to pixels, using the screen resolution
+ (default is usually 96 dpi) which means the formula is
+ FONT_PX = FONT_PT * 96 / 72 [pt * px/in / (pt/in)]
+ On some high-res screens, the value is instead 120 dpi. Good luck!
+
+`--depth*'
+ Report the depth of the image. This only works reliably when the
+ LaTeX style `preview.sty' from preview-latex is used. It reports
+ the number of pixels from the bottom of the image to the baseline
+ of the image. This can be used for vertical positioning of the
+ image in, e.g., web documents, where one would use (Cascading
+ StyleSheets 1)
+ <IMG SRC="FILENAME.PNG" STYLE="vertical-align: -DEPTHpx">
+ The depth is a negative offset in this case, so the minus sign is
+ necessary, and the unit is pixels (px).
+
+`--dvinum*'
+ Set this option to make the output page number be the TeX page
+ numbers rather than the physical page number. See the `-o' switch.
+
+`-fg COLOR_SPEC'
+ Choose foreground color for the images. This option will be
+ ignored if there is a foreground color \special in the DVI. The
+ color spec should be in TeX color \special syntax, e.g., 'rgb 1.0
+ 0.0 0.0'. *Note Color::.
+
+`--follow*'
+ Enable follow mode. One of the benefits of dvipng is that it does
+ not read the postamble, so it can be started before TeX finishes.
+ This switch makes dvipng wait at EOF for further output, unless it
+ finds the POST marker that indicates the end of the DVI. This is
+ similar to `tail -f' but for DVI-to-PNG conversion.
+
+`--freetype*'
+ Enable/disable FreeType font rendering (default on). This option is
+ available if the FreeType2 font library was present at compilation
+ time. If this is the case, dvipng will have direct support for
+ PostScript Type1 and TrueType fonts internally, rather than using
+ `gsftopk' for rendering the fonts. If you have PostScript versions
+ of Computer Modern installed, there will be no need to generate
+ bitmapped variants on disk of these. Then, you can render images
+ at different (and unusual) resolutions without cluttering the disk
+ with lots of bitmapped fonts. Note that if you have both FreeType
+ and T1lib on your system, FreeType will be preferred by dvipng. If
+ you for some reason would want to use T1lib rendering, use this
+ option.
+
+`--gamma NUM'
+ Control the interpolation of colors in the greyscale anti-aliasing
+ color palette. Default value is 1.0. For 0 < NUM < 1, the fonts
+ will be lighter (more like the background), and for NUM > 1, the
+ fonts will be darker (more like the foreground).
+
+`--gif*'
+ The images are output in the GIF format, if GIF support is
+ enabled. This is the default for the `dvigif' binary, which only
+ will be available when GIF support is enabled. See also the
+ `--png' option.
+
+`--height*'
+ Report the height of the image. This only works reliably when the
+ LaTeX style `preview.sty' from preview-latex is used. It reports
+ the number of pixels from the top of the image to the baseline of
+ the image. The total height of the image is obtained as the sum of
+ the values reported from -height and the -depth.
+
+`-l [=]NUM'
+ The last page printed will be the first one numbered NUM. Default
+ is the last page in the document. If NUM is prefixed by an equals
+ sign, then it (and the argument to the `-p' option, if specified)
+ is treated as a physical (absolute) page number, rather than a
+ value to compare with the TeX `\count0' values stored in the DVI
+ file. Thus, using `-l =9' will end with the ninth page of the
+ document, no matter what the pages are actually numbered.
+
+`--mode MODE'
+ Use MODE as the Metafont device name for the PK fonts (both for
+ path searching and font generation). This needs to be augmented
+ with the base device resolution, given with the `--bdpi' option.
+ See the file `ftp://ftp.tug.org/tex/modes.mf' for a list of
+ resolutions and mode names for most devices. *Note Unable to
+ generate fonts: (kpathsea)Unable to generate fonts.
+
+`-M*'
+ Turns off automatic PK font generation (`mktexpk'). This will have
+ no effect when using PostScript fonts, since no PK font generation
+ will be done anyway.
+
+`--noghostscript*'
+ This switch prohibits the internal call to GhostScript for
+ displaying PostScript specials. `--noghostscript0' turns the call
+ back on.
+
+`--nogssafer*'
+ Normally, if GhostScript is used to render PostScript specials, the
+ GhostScript interpreter is run with the option `-dSAFER'. The
+ `-nogssafer' option runs GhostScript without `-dSAFER'. The
+ `-dSAFER' option in Ghostscript disables PostScript operators such
+ as deletefile, to prevent possibly malicious PostScript programs
+ from having any effect.
+
+`-o NAME'
+ Send output to the file NAME. A single occurrence of `%d' or
+ `%01d', ..., `%09d' will be exchanged for the physical page number
+ (this can be changed, see the `--dvinum' switch). The default
+ output filename is `FILE%d.png' where the input DVI file was
+ `FILE.dvi'.
+
+`-O X-OFFSET,Y-OFFSET'
+ Move the origin by X-OFFSET,Y-OFFSET, a comma-separated pair of
+ dimensions such as `.1in,-.3cm'. The origin of the page is
+ shifted from the default position (of one inch down, one inch to
+ the right from the upper left corner of the paper) by this amount.
+
+`-p [=]NUM'
+ The first page printed will be the first one numbered NUM. Default
+ is the first page in the document. If NUM is prefixed by an
+ equals sign, then it (and the argument to the `-l' option, if
+ specified) is treated as a physical (absolute) page number, rather
+ than a value to compare with the TeX `\count0' values stored in the
+ DVI file. Thus, using `-p =3' will start with the third page of
+ the document, no matter what the pages are actually numbered.
+
+`--picky*'
+ No images are output when a warning occurs. Normally, dvipng will
+ output an image in spite of a warning, but there may be something
+ missing in this image. One reason to use this option would be if
+ you have a more complete but slower fallback converter. Mainly,
+ this is useful for failed figure inclusion and unknown \special
+ occurrences, but warnings will also occur for missing or unknown
+ color specs and missing PK fonts.
+
+`--png*'
+ The images are output in the PNG format. This is the default for
+ the `dvipng' binary. See also the `--gif' option.
+
+`-pp FIRSTPAGE-LASTPAGE'
+ Print pages FIRSTPAGE through LASTPAGE; but not quite equivalent
+ to `-p FIRSTPAGE -l LASTPAGE'. For example, when rendering a book,
+ there may be several instances of a page in the DVI file (one in
+ `\frontmatter', one in `\mainmatter', and one in `\backmatter').
+ In case of several pages matching, `-pp FIRSTPAGE-LASTPAGE' will
+ render _all_ pages that matches the specified range, while `-p
+ FIRSTPAGE -l LASTPAGE' will render the pages from the _first_
+ occurrence of FIRSTPAGE to the _first_ occurrence of LASTPAGE.
+ This is the (undocumented) behaviour of dvips. In dvipng you can
+ give both kinds of options, in which case you get all pages that
+ matches the range in `-pp' between the pages from `-p' to `-l'.
+ Also multiple `-pp' options accumulate, unlike `-p' and `-l'. The
+ `-' separator can also be `:'. Note that `-pp -1' will be
+ interpreted as "all pages up to and including 1", if you want a
+ page numbered -1 (only the table of contents, say) put `-pp -1--1',
+ or more readable, `-pp -1:-1'.
+
+`-q*'
+ Run quietly. Don't chatter about pages converted, etc. to standard
+ output; report no warnings (only errors) to standard error.
+
+`-Q NUM'
+ Set the quality to NUM. That is, choose the number of antialiasing
+ levels for PK and T1lib rendering to be NUM*NUM. The default value
+ is 4 which gives 16 levels of antialiasing for antialiased fonts
+ from these two. If FreeType is available, its rendering is
+ unaffected by this option.
+
+`-r*'
+ Toggle output of pages in reverse/forward order. By default, the
+ first page in the DVI is output first.
+
+`-T IMAGE_SIZE'
+ Set the image size to IMAGE_SIZE which can be either of `bbox',
+ `tight', or a comma-separated pair of dimensions HSIZE,VSIZE such
+ as `.1in,.3cm'. The default is `bbox' which produces a PNG that
+ includes all ink put on the page and in addition the DVI origin,
+ located 1in from the top and 1in from the left edge of the paper.
+ This usually gives whitespace above and to the left in the
+ produced image. The value `tight' will make dvipng only include
+ all ink put on the page, producing neat images. This option
+ overrides any papersize special in the DVI file.
+
+`--t1lib*'
+ Enable/disable T1lib font rendering (default on). This option is
+ available if the T1lib font library was present at compilation
+ time. If this is the case, dvipng will have direct support for
+ PostScript Type1 fonts internally, rather than using `gsftopk' for
+ rendering the fonts. If you have PostScript versions of Computer
+ Modern installed, there will be no need to generate bitmapped
+ variants on disk of these. Then, you can render images at
+ different (and unusual) resolutions without cluttering the disk
+ with lots of bitmapped fonts. Note that if you have both FreeType
+ and T1lib on your system FreeType will be preferred by dvipng, and
+ if you for some reason rather want to use T1lib, give the option
+ `--freetype0' (see above).
+
+`--truecolor*'
+ On systems with a fairly new `libgd', one can choose to generate
+ truecolor output. This will not be necessary in general unless you
+ include truecolor images via a PostScript special (i.e., the
+ `graphics' or `graphicx' package). It will lead to longer
+ execution time, mostly because more data is written to disk.
+
+`-v*'
+ Enable verbose operation. This will currently indicate what fonts
+ is used, in addition to the usual output.
+
+`-x NUM'
+ Set the x magnification ratio to NUM/1000. Overrides the
+ magnification specified in the DVI file. Must be between 10 and
+ 100000. It is recommended that you use standard magstep values
+ (1095, 1200, 1440, 1728, 2074, 2488, 2986, and so on) to help
+ reduce the total number of PK files generated. NUM may be a real
+ number, not an integer, for increased precision.
+
+`-z NUM'
+ Set the PNG compression level to NUM. This option is enabled if
+ your `libgd' is new enough. The default compression level is 1,
+ which selects maximum speed at the price of slightly larger PNGs.
+ For an older `libgd', the hard-soldered value 5 is used. The
+ include file `png.h' says
+
+ Currently, valid values range from 0 - 9, corresponding
+ directly to the zlib compression levels 0 - 9 (0 - no
+ compression, 9 - "maximal" compression). Note that tests have
+ shown that zlib compression levels 3-6 usually perform as
+ well as level 9 for PNG images, and do considerably fewer
+ calculations. In the future, these values may not correspond
+ directly to the zlib compression levels.
+
+
+File: dvipng.info, Node: Diagnosing problems, Next: Color, Prev: Command-line options, Up: Top
+
+5 Diagnosing problems
+*********************
+
+You've gone through all the trouble of installing dvipng, carefully read
+all the instructions in this manual, and still can't get something to
+work. The following sections provide some helpful hints if you find
+yourself in such a situation.
+
+ Bug reports should be sent to <dvipng@nongnu.org>.
+
+ Questions, suggestions for new features, pleas for help, and/or
+praise should go to <dvipng@nongnu.org>. For more information on this
+mailing list, send a message with just the word `help' as subject or
+body to <dvipng-request@nongnu.org> or look at
+`http://lists.nongnu.org/mailman/listinfo/dvipng'.
+
+ Offers to support further development will be appreciated. For
+developer access, ask on <dvipng@nongnu.org>.
+
+ For details on the TeX path-searching library, and `mktexpk'
+problems, *note Common problems: (kpathsea)Common problems.
+
+* Menu:
+
+* Debug options:: Getting diagnostics.
+* Included graphics problems:: Figures are wrongly rendered.
+
+
+File: dvipng.info, Node: Debug options, Next: Included graphics problems, Up: Diagnosing problems
+
+5.1 Debug options
+=================
+
+The `-d' flag to dvipng helps in tracking down certain errors. The
+parameter to this flag is an integer that tells what errors are
+currently being tracked. To track a certain class of debug messages,
+simply provide the appropriate number given below; if you wish to track
+multiple classes, sum the numbers of the classes you wish to track. To
+track all classes, you can use `-1'.
+
+ Some of these debugging options are actually provided by Kpathsea
+(*note Debugging: (kpathsea)Debugging.).
+
+ The classes are:
+1
+ Normal dvi op-codes
+
+2
+ Virtual fonts
+
+4
+ PK fonts
+
+8
+ TFM files
+
+16
+ Glyph rendering
+
+32
+ FreeType calls
+
+64
+ Encoding loads
+
+128
+ Color specials
+
+256
+ GhostScript specials
+
+512
+ T1lib calls
+
+1024
+ Kpathsea `stat' calls
+
+2048
+ Kpathsea hash table lookups
+
+4096
+ Kpathsea path element expansion
+
+8192
+ Kpathsea path searches
+
+
+
+File: dvipng.info, Node: Included graphics problems, Prev: Debug options, Up: Diagnosing problems
+
+5.2 Included graphics problems
+==============================
+
+The most common problem with including graphics is an incorrect bounding
+box. Complain to whoever wrote the software that generated the file if
+the bounding box is indeed incorrect.
+
+ An additional problem is that the image in dvipng is always clipped
+to the bounding box. This is because the image is rendered by
+GhostScript by an internal call and then copied to the dvipng image. At
+present no workaround is known, but there may be one for a future
+GhostScript. We'll see.
+
+
+File: dvipng.info, Node: Color, Next: Copying, Prev: Diagnosing problems, Up: Top
+
+6 Color
+*******
+
+To support color, dvipng recognizes a certain set of specials. These
+specials start with the keyword `color' or the keyword `background',
+followed by a color specification.
+
+* Menu:
+
+* Color specifications::
+* Color specials::
+
+
+File: dvipng.info, Node: Color specifications, Next: Color specials, Up: Color
+
+6.1 Color specifications
+========================
+
+The color specification supported by dvipng is by-value or by-name. The
+by-value spec starts with the name of a color model (one of `rgb',
+`hsb', `cmy', `cmyk', or `gray') followed by the appropriate number of
+parameters. Thus, the color specification `rgb 0.3 0.4 0.5' would
+correspond to the color that is `0.3 0.4 0.5' in its red, blue and
+green values. The color used internally in dvipng is `RGB' (discretized
+to 256 levels), for details on the formulas used in conversion, see the
+`xcolor' documentation.
+
+ By-name color specifications are single (case-dependent) words and
+are compared with color names defined in `dvipsnam.def' (from the
+`graphics' bundle), `svgnam.def' and `xcolor.sty' (from the `xcolor'
+bundle).
+
+ On the command-line, the name `Transparent' can also be used in as
+an argument to `--bg' to choose transparent background. *Note Option
+details::.
+
+
+File: dvipng.info, Node: Color specials, Prev: Color specifications, Up: Color
+
+6.2 Color specials
+==================
+
+We will describe `background' first, since it is the simplest. The
+`background' keyword must be followed by a color specification. That
+color specification is used as a fill color for the background. The
+last `background' special on a page is the one that gets used, and is
+used for the whole of the page image. (This is possible because the
+prescan phase of dvipng notices all of the color specials so that the
+appropriate information can be written out during the second phase.)
+
+ The `color' special itself has three forms. The first is just
+`color' followed by a color specification. In this case, the current
+global color is set to that color; the color stack must be empty when
+such a command is executed.
+
+ The second form is `color push' followed by a color specification.
+This saves the current color on the color stack and sets the color to be
+that given by the color specification. This is the most common way to
+set a color.
+
+ The final version of the `color' special is just `color pop', with
+no color specification; this says to pop the color last pushed on the
+color stack from the color stack and set the current color to be that
+color.
+
+ dvipng correctly handles these color specials across pages, even when
+the pages are rendered repeatedly or in reverse order.
+
+
+File: dvipng.info, Node: Credits, Next: Index, Prev: Copying, Up: Top
+
+7 Credits
+*********
+
+A number of persons have contributed, if I forget to mention someone, I
+apologize. First and foremost we have David Kastrup whose preview-latex
+project provided the incentive to write this program. There is also a
+number of people who have contributed by reporting bugs and suggesting
+improvements as the thing has evolved. These include but is perhaps not
+limited to (in semi-random order): Thomas Esser (teTeX), Christian
+Schenk (MIKTeX), Brian R Furry (debian package), Angus Leeming (LyX),
+Thomas Boutell (libgd), John Jones (first user report), Uwe Kern
+(xcolor), Alan Shutko, Reiner Stieb, Nick Alcock, Adam Buchbinder,
+Svend Tollak Munkejord, James Longstreet, Bernhard Simon, Bob McElrath,
+Georg Schwarz, Jason Farmer, Brian V. Smith, Samuel Hathaway, Thomas R.
+Shemanske, Stephen Gibson, Christian Ridderstro"m, Ezra Peisach,
+William H Wheeler, Thomas Klausner, Harald Koenig, Adrian Bunk, Kevin
+Smith, and Jason Riedy.
+
+
+File: dvipng.info, Node: Copying, Next: Credits, Prev: Color, Up: Top
+
+8 Copying
+*********
+
+This program is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+
+Copyright (C) 2002-2005 Jan-AAke Larsson
+
+
+File: dvipng.info, Node: Index, Prev: Credits, Up: Top
+
+Index
+*****
+
+
+* Menu:
+
+* -dSAFER: Option details. (line 164)
+* absolute page number, and -l: Option details. (line 137)
+* absolute page number, and -p: Option details. (line 185)
+* antialiasing levels, number of: Option details. (line 229)
+* background color (option): Option details. (line 40)
+* base resolution, setting: Option details. (line 35)
+* baseline reporting: Option details. (line 76)
+* color specifications: Color specifications.
+ (line 6)
+* command-line options: Command-line options.
+ (line 6)
+* compilation: Installation. (line 6)
+* compression: Option details. (line 284)
+* configuration, of dvipng: Installation. (line 6)
+* dark fonts: Option details. (line 118)
+* debugging <1>: Diagnosing problems. (line 6)
+* debugging: Option details. (line 54)
+* debugging options: Debug options. (line 6)
+* depth reporting: Option details. (line 76)
+* first page printed: Option details. (line 185)
+* follow mode: Option details. (line 97)
+* font generation, avoiding: Option details. (line 154)
+* foreground color (option): Option details. (line 91)
+* FreeType font rendering: Option details. (line 104)
+* fuzzy images: Option details. (line 118)
+* gamma: Option details. (line 118)
+* GhostScript and -dSAFER: Option details. (line 164)
+* GhostScript, turning off: Option details. (line 159)
+* GIF image format: Option details. (line 124)
+* graphics inclusion problems: Included graphics problems.
+ (line 6)
+* height reporting: Option details. (line 130)
+* installation, of dvipng: Installation. (line 6)
+* invoking dvipng: Basic usage. (line 6)
+* last page printed: Option details. (line 137)
+* light fonts: Option details. (line 118)
+* magnification, overriding DVI: Option details. (line 276)
+* Metafont mode, specifying: Option details. (line 146)
+* mktexpk, avoiding: Option details. (line 154)
+* mode name, specifying: Option details. (line 146)
+* no erroneous images: Option details. (line 194)
+* offset pages: Option details. (line 179)
+* option, details of: Option details. (line 6)
+* options, debugging: Debug options. (line 6)
+* options, dvipng: Command-line options.
+ (line 6)
+* options, reading from standard input: Option details. (line 11)
+* options, summary: Option summary. (line 6)
+* output resolution, setting: Option details. (line 60)
+* output, redirecting: Option details. (line 172)
+* page range: Option details. (line 207)
+* page, first printed: Option details. (line 185)
+* page, last printed: Option details. (line 137)
+* physical page number, and -l: Option details. (line 137)
+* physical page number, and -p: Option details. (line 185)
+* PNG image format: Option details. (line 203)
+* problems: Diagnosing problems. (line 6)
+* quality: Option details. (line 229)
+* quiet operation: Option details. (line 225)
+* reverse pagination: Option details. (line 236)
+* silent operation: Option details. (line 225)
+* standard input, reading options from: Option details. (line 11)
+* standard output, output to: Option details. (line 172)
+* T1lib font rendering: Option details. (line 251)
+* transparent border fallback color: Option details. (line 25)
+* transparent border width: Option details. (line 25)
+* trouble: Diagnosing problems. (line 6)
+* truecolor output: Option details. (line 265)
+* warnings, suppressing: Option details. (line 225)
+
+
+
+Tag Table:
+Node: Top296
+Node: Introduction1115
+Node: Installation3107
+Node: Prerequisites3454
+Node: Configure5337
+Node: Build/install7403
+Node: Installation outside the texmf tree7874
+Node: Advice for non-privileged users8581
+Node: Basic usage9574
+Node: Command-line options10701
+Node: Option summary11136
+Node: Option details13559
+Node: Diagnosing problems27947
+Node: Debug options29059
+Node: Included graphics problems30101
+Node: Color30749
+Node: Color specifications31083
+Node: Color specials32098
+Node: Credits33513
+Node: Copying34542
+Node: Index35369
+
+End Tag Table
diff --git a/Master/texmf/doc/info/dvips.info b/Master/texmf/doc/info/dvips.info
new file mode 100644
index 00000000000..6f7348095fb
--- /dev/null
+++ b/Master/texmf/doc/info/dvips.info
@@ -0,0 +1,4675 @@
+This is dvips.info, produced by makeinfo version 4.8 from dvips.texi.
+
+ This manual documents Dvips version 5.95b (August 2005), a program
+to translate a DVI file into PostScript.
+
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* DVI-to-Postscript: (dvips). Translating TeX DVI files to PostScript.
+* afm2tfm: (dvips)Invoking afm2tfm. Making Type 1 fonts available to TeX.
+* dvips: (dvips)Invoking Dvips. DVI-to-PostScript translator.
+END-INFO-DIR-ENTRY
+
+
+File: dvips.info, Node: Top, Next: Why Dvips, Up: (dir)
+
+Dvips
+*****
+
+This manual documents Dvips version 5.95b (August 2005), a program to
+translate a DVI file into PostScript.
+
+* Menu:
+
+* Why Dvips:: Why use Dvips?
+* Installation:: How to compile and install Dvips.
+* Invoking Dvips:: Command-line options, configuration files, etc.
+* Paper size and landscape:: Changing the paper dimensions.
+* Interaction with PostScript:: TeX meets Dvips meets PostScript.
+* PostScript fonts:: Installing and using PostScript fonts.
+* Color:: Using color with Dvips.
+* Index:: General index.
+
+
+File: dvips.info, Node: Why Dvips, Next: Installation, Prev: Top, Up: Top
+
+1 Why use Dvips?
+****************
+
+The Dvips program has a number of features that set it apart from other
+PostScript drivers for TeX. This rather long section describes the
+advantages of using Dvips, and may be skipped if you are just
+interested in learning how to use the program. *Note Installation::,
+for details of compilation and installation.
+
+ The Dvips driver generates excellent, standard PostScript, that can
+be included in other documents as figures or printed through a variety
+of spoolers. The generated PostScript requires very little printer
+memory, so very complex documents with a lot of fonts can easily be
+printed even on PostScript printers without much memory, such as the
+original Apple LaserWriter. The PostScript output is also compact,
+requiring less disk space to store and making it feasible as a transfer
+format.
+
+ Even those documents that are too complex to print in their entirety
+on a particular printer can be printed, since Dvips will automatically
+split such documents into pieces, reclaiming the printer memory between
+each piece.
+
+ The Dvips program supports graphics in a natural way, allowing
+PostScript graphics to be included and automatically scaled and
+positioned in a variety of ways.
+
+ Printers with any resolution are supported, even if they have
+different resolutions in the horizontal and vertical directions. High
+resolution output is supported for typesetters, including an option
+that compresses the bitmap fonts so that typesetter virtual memory is
+not exhausted. This option also significantly reduces the size of the
+PostScript file and decoding in the printer is very fast.
+
+ Missing fonts can be automatically generated if Metafont exists on
+the system, or fonts can be converted from GF to PK format on demand.
+If a font cannot be generated, a scaled version of the same font at a
+different size can be used instead, although Dvips will complain loudly
+about the poor aesthetics of the resulting output.
+
+ Users will appreciate features such as collated copies and support
+for `tpic', `psfig', `emtex', and `METAPOST'; system administrators
+will love the support for multiple printers, each with their own
+configuration file, and the ability to pipe the output directly to a
+program such as `lpr'. Support for MS-DOS, OS/2, and VMS in addition
+to Unix is provided in the standard distribution, and porting to other
+systems is easy.
+
+ One of the most important features is the support of virtual fonts,
+which add an entirely new level of flexibility to TeX. Virtual fonts
+are used to give Dvips its excellent PostScript font support, handling
+all the font remapping in a natural, portable, elegant, and extensible
+way. Dvips even comes with its own Afm2tfm program that creates the
+necessary virtual fonts and TeX font metric files automatically from
+the Adobe font metric files.
+
+ Source is provided and freely distributable, so adding a
+site-specific feature is possible. Adding such features is made easier
+by the highly modular structure of the program.
+
+ There is really no reason to use another driver, and the more people
+use Dvips, the less time will be spent fighting with PostScript and the
+more time will be available to create beautiful documents. So if you
+don't use Dvips on your system, get it today.
+
+ Tom Rokicki wrote and maintains the original Dvips program.
+
+
+File: dvips.info, Node: Installation, Next: Invoking Dvips, Prev: Why Dvips, Up: Top
+
+2 Installation
+**************
+
+(A copy of this chapter is in the distribution file `dvipsk/INSTALL'.)
+
+Installing Dvips is mostly the same as installing any Kpathsea-using
+program. Therefore, for the basic steps involved, *note Installation:
+(kpathsea)Installation. (A copy is in the file `kpathsea/INSTALL'.)
+
+ For solutions to common installation problems and information on how
+to report a bug, see the file `kpathsea/BUGS' (*note Bugs:
+(kpathsea)Bugs.). For solutions to Dvips-specific problems, *note
+Debug options::. Also see the Dvips home page at
+`http://www.radicaleye.com/dvips'.
+
+ Dvips does require some additional installation, detailed in the
+sections below. Also, to configure color devices, *note Color device
+configuration::.
+
+* Menu:
+
+* config.ps installation:: Printer and site Dvips configuration.
+* PostScript font installation:: Many PostScript fonts are freely available.
+* Ghostscript installation:: A free PostScript interpreter.
+* Diagnosing problems:: Some common runtime difficulties.
+
+
+File: dvips.info, Node: config.ps installation, Next: PostScript font installation, Up: Installation
+
+2.1 `config.ps' installation
+============================
+
+Dvips has its own configuration files: a file `config.ps' for sitewide
+defaults, and a file `config.PRINTER' for each printer (output device).
+Since these are site-specific, `make install' does not create them;
+you must create them yourself.
+
+ (These Dvips configuration files are independent of the Kpathsea
+onfiguration file `texmf.cnf' (*note Config files: (kpathsea)Config
+files.).
+
+ Dvips configuration files contents and searching are described fully
+in *Note Config files::. The simplest way to create a new
+configuration file is to copy and modify the file
+`dvipsk/contrib/config.proto', seasoning with options to your taste
+from *Note Config files::. Here is `config.proto' for your reading
+pleasure:
+ % Prototype Dvips configuration file.
+
+ % How to print, maybe with lp instead lpr, etc.
+ o |lpr
+
+ % Default resolution of this device, in dots per inch.
+ D 600
+
+ % Metafont mode. (This is completely different from the -M command-line
+ % option, which controls whether MakeTeXPK is invoked.) Get
+ % `ftp://ftp.tug.org/tex/modes.mf' for a list of mode names. This mode
+ % and the D number above must agree, or MakeTeXPK will get confused.
+ M ljfour
+
+ % Memory available. Download the three-line PostScript file:
+ % %! Hey, we're PostScript
+ % /Times-Roman findfont 30 scalefont setfont 144 432 moveto
+ % vmstatus exch sub 40 string cvs show pop showpage
+ % to determine this number. (It will be the only thing printed.)
+ m 3500000
+
+ % Correct printer offset. You can use testpage.tex from the LaTeX
+ % distribution to find these numbers. Print testpage.dvi more than once.
+ O 0pt,0pt
+
+ % Partially download Type 1 fonts by default. Only reason not to do
+ % this is if you encounter bugs. (Please report them to
+ % <tex-k@mail.tug.org> if you do.)
+ j
+
+ % Also look for fonts at these resolutions.
+ R 300 600
+
+ % With a high resolution and a RISC cpu, better to compress the bitmaps.
+ Z
+
+ % Uncomment these if you have and want to use PostScript versions of the
+ % fonts.
+ %p +cmfonts.map
+ %p +lafonts.map
+ %p +cyrfonts.map
+ %p +eufonts.map
+
+ % You will also want definitions for alternative paper sizes -- A4,
+ % legal, and such. Examples in `contrib/papersize.level2' and
+ % `contrib/papersize.simple'.
+
+
+File: dvips.info, Node: PostScript font installation, Next: Ghostscript installation, Prev: config.ps installation, Up: Installation
+
+2.2 PostScript font installation
+================================
+
+To use PostScript fonts with TeX and Dvips, you need both metric files
+(`.tfm' and `.vf') and the outlines (`.pfa' or `.pfb'). *Note Font
+concepts::.
+
+ To support the basic PostScript font set, the recommended (and
+simplest) approach is to install the files at
+`http://www.ctan.org/tex-archive/fonts/psfonts/lw35nfsx.zip'. This
+archive contains metrics, outlines, and bitmaps (for previewing) for
+the 35 de facto standard fonts donated by URW and the additional
+high-quality freely available PostScript fonts donated by Adobe,
+Bitstream, and URW, including geometrically-created variants such as
+oblique and small caps.
+
+ `CTAN:/fonts/psfonts' contains support for many additional fonts for
+which you must buy outlines (Adobe, Bigelow & Holmes, Monotype,
+Softkey, Y&Y). (For CTAN info, *note unixtex.ftp:
+(kpathsea)unixtex.ftp.; a copy is in the top-level file `INSTALL'.)
+
+ If you have additional PostScript fonts, you can make them available
+to Dvips by (1) giving them with appropriate filenames; and (2) running
+Afm2tfm (*note Making a font available::) to make TFM and VF metrics for
+TeX and Dvips to use. Also add them to `psfonts.map' if necessary
+(*note psfonts.map::); it contains everything contained in
+`lw35nfsx.zip' and most fonts that come with Unix systems.
+
+ Following are locations for vendor-supplied fonts. Please mail
+<tex-k@tug.org> if you find fonts elsewhere on your system.
+
+DEC Ultrix
+ /usr/lib/DPS/outline/decwin
+
+DEC Digital Unix
+ /usr/lib/X11/fonts/Type1Adobe
+
+HP HP-UX 9, 10
+ /usr/lib/X11/fonts/type1.st/typefaces
+
+IBM AIX
+ /usr/lpp/DPS/fonts/outlines
+ /usr/lpp/X11/lib/X11/fonts/Type1
+ /usr/lpp/X11/lib/X11/fonts/Type1/DPS
+
+NeXT
+ /NextLibrary/Fonts/outline
+
+SGI IRIX
+ /usr/lib/DPS/outline/base /usr/lib/X11/fonts/Type1
+
+Sun SunOS 4.x
+ (NeWSprint only)
+ newsprint_2.5/SUNWsteNP/reloc/$BASEDIR/
+ NeWSprint/small_openwin/lib/fonts
+ /usr/openwin/lib/X11/fonts/Type1/outline
+
+Sun Solaris 2
+ /usr/openwin/lib/X11/fonts/Type1/outline
+
+VMS
+ SYS$COMMON:[SYSFONT.XDPS.OUTLINE]
+
+The NeXT system supplies more fonts than any others, but there's a lot
+of overlap.
+
+ Finally, if you have an Hewlett-Packard printer, you should be able
+to get Type 1 font files for the standard 35 fonts from HP, if the
+freely available URW Type 1's do not satisfy for whatever reason. The
+phone number for HP Printer Drivers is (in the United States)
+303-339-7009. The driver set to ask for is Adobe Type Manager 2.51,
+and the disk set number is `MP210en3'. Mentioning anything other than
+Microsoft Windows when you ask for the driver set will likely lead to
+great confusion on the other end.
+
+
+File: dvips.info, Node: Ghostscript installation, Next: Diagnosing problems, Prev: PostScript font installation, Up: Installation
+
+2.3 Ghostscript installation
+============================
+
+Ghostscript is a PostScript interpreter freely available to end-users,
+written by Peter Deutsch. It can read the PostScript produced by Dvips
+and render it on your monitor, or for another device (e.g., an Epson
+printer) that does not support PostScript, or in PDF format. The latest
+version is available via `http://www.cs.wisc.edu/~ghost/index.html' and
+`ftp://ftp.cs.wisc.edu/pub/ghost/aladdin/'.
+
+ A somewhat older version of Ghostscript is available under the GNU
+General Public License, free to everyone. You can get that from
+`ftp://prep.ai.mit.edu/pub/gnu/'.
+
+ The program Ghostview, written by Tim Theisen, provides typical
+previewing capabilities (next page/previous page, magnification, etc.).
+It requires Ghostscript to run, and files in structured Postscript,
+specifically with `%%Page' comments (no `N' in `config.ps'). You can
+get Ghostview from the same places as Ghostscript.
+
+
+File: dvips.info, Node: Diagnosing problems, Prev: Ghostscript installation, Up: Installation
+
+2.4 Diagnosing problems
+=======================
+
+You've gone through all the trouble of installing Dvips, carefully read
+all the instructions in this manual, and still can't get something to
+work. The following sections provide some helpful hints if you find
+yourself in such a situation.
+
+ For details on effective bug reporting, common installation problems,
+and `mktexpk' problems, *note Bugs: (kpathsea)Bugs.
+
+* Menu:
+
+* Debug options:: Getting diagnostics.
+* No output:: No output at all.
+* Small or inverted:: Output too small or inverted.
+* Printer errors:: The printer sends back errors.
+* Long documents fail:: Long documents fail to print.
+* Including graphics fails:: Figures don't work.
+
+
+File: dvips.info, Node: Debug options, Next: No output, Up: Diagnosing problems
+
+2.4.1 Debug options
+-------------------
+
+The `-d' flag to Dvips helps in tracking down certain errors. The
+parameter to this flag is an integer that tells what errors are
+currently being tracked. To track a certain class of debug messages,
+simply provide the appropriate number given below; if you wish to track
+multiple classes, sum the numbers of the classes you wish to track. To
+track all classes, you can use `-1'. Another useful value is `3650',
+which tracks everything having to do with file searching and opening.
+
+ Some of these debugging options are actually provided by Kpathsea
+(*note Debugging: (kpathsea)Debugging.).
+
+ The classes are:
+1
+ specials
+
+2
+ paths
+
+4
+ fonts
+
+8
+ pages
+
+16
+ headers
+
+32
+ font compression
+
+64
+ files
+
+128
+ config files
+
+256
+ Partial Type 1 font encoding vectors
+
+512
+ Partial Type 1 subr calls
+
+1024
+ Kpathsea `stat' calls
+
+2048
+ Kpathsea hash table lookups
+
+4096
+ Kpathsea path element expansion
+
+8192
+ Kpathsea path searches
+
+
+File: dvips.info, Node: No output, Next: Small or inverted, Prev: Debug options, Up: Diagnosing problems
+
+2.4.2 No output at all
+----------------------
+
+If you are not getting any output at all, even from the simplest
+one-character file (for instance, `\ \bye'), then something is very
+wrong. Practically any file sent to a PostScript laser printer should
+generate some output, at the very least a page detailing what error
+occurred, if any. Talk to your system administrator about downloading a
+PostScript error handler. (Adobe distributes a good one called
+`ehandler.ps'.)
+
+ It is possible, especially if you are using non-Adobe PostScript,
+that your PostScript interpreter is broken. Even then it should
+generate an error message. Dvips tries to work around as many bugs as
+possible in common non-Adobe PostScript interpreters, but doubtless it
+misses a few. PowerPage Revision 1, Interpreter Version 20001.001, on
+a Mitsubishi Shinko CHC-S446i color thermal dye sublimation printer is
+known to be unable to print with any but builtin fonts.
+
+ If Dvips gives any strange error messages, or compilation on your
+machine generated a lot of warnings, perhaps the Dvips program itself is
+broken. Try using the debug options to determine where the error
+occurred (*note Debug options::).
+
+ It is possible your spooler is broken and is misinterpreting the
+structured comments. Try the `-N' flag to turn off structured comments
+and see what happens.
+
+
+File: dvips.info, Node: Small or inverted, Next: Printer errors, Prev: No output, Up: Diagnosing problems
+
+2.4.3 Output too small or inverted
+----------------------------------
+
+If some documents come out inverted or too small, probably your spooler
+is not supplying an end of job indicator at the end of each file. (This
+commonly happens on small machines that don't have spoolers.) You can
+force Dvips to do this with the `-F' flag (or `F' config file option),
+but this generates files with a terminating binary character
+(control-D). You can also try using the `-s' flag (or `s' config file
+option) to enclose the entire job in a save/restore pair. *Note
+Command-line options::, and *Note Config files::.
+
+
+File: dvips.info, Node: Printer errors, Next: Long documents fail, Prev: Small or inverted, Up: Diagnosing problems
+
+2.4.4 Error messages from printer
+---------------------------------
+
+If your printer returns error messages, the error message gives very
+good information on what might be going wrong. One of the most common
+error messages is `bop undefined'. This is caused by old versions of
+Transcript and other spoolers that do not properly parse the setup
+section of the PostScript. To fix this, turn off structured comments
+with the `-N' option, but it'd be best to get your spooling software
+updated.
+
+ Another error message is `VM exhausted'. Some printers indicate
+this error by locking up, others quietly reset. This is caused by Dvips
+thinking that the printer has more memory than it actually does, and
+then printing a complicated document. To fix this, try lowering the
+`m' parameter in the configuration file; use the debug option to make
+sure you adjust the correct file.
+
+ Other errors may indicate you are trying to include graphics that
+don't nest properly in other PostScript documents, among other things.
+Try the PostScript file on a QMS PS-810 or other Adobe PostScript
+printer if you have one, or Ghostscript (*note Ghostscript
+installation::); it might be a problem with the printer itself.
+
+
+File: dvips.info, Node: Long documents fail, Next: Including graphics fails, Prev: Printer errors, Up: Diagnosing problems
+
+2.4.5 Long documents fail to print
+----------------------------------
+
+This is usually caused by incorrectly specifying the amount of memory
+the printer has in the configuration file; see the previous section.
+
+
+File: dvips.info, Node: Including graphics fails, Prev: Long documents fail, Up: Diagnosing problems
+
+2.4.6 Including graphics fails
+------------------------------
+
+The most common problem with including graphics is an incorrect bounding
+box (*note Bounding box::). Complain to whoever wrote the software that
+generated the file if the bounding box is indeed incorrect.
+
+ Another possible problem is that the figure you are trying to include
+does not nest properly; there are certain rules PostScript applications
+must follow when generating files to be included. The Dvips program
+includes work-arounds for such errors in Adobe Illustrator and other
+programs, but there are certainly applications that haven't been tested.
+
+ One possible thing to try is the `-K' flag which strips the comments
+from an included figure. This might be necessary if the PostScript
+spooling software does not read the structured comments correctly. Use
+of this flag will break graphics from some applications, though, since
+some applications read the PostScript file from the input stream,
+looking for a particular comment.
+
+ Any application which generates graphics output containing raw binary
+(not ASCII hex) will probably fail with Dvips.
+
+
+File: dvips.info, Node: Invoking Dvips, Next: Paper size and landscape, Prev: Installation, Up: Top
+
+3 Invoking Dvips
+****************
+
+Dvips reads a DVI file as output by (for example) TeX, and converts it
+to PostScript, taking care of builtin or downloaded PostScript fonts,
+font reencoding, color, etc. These features are described in other
+chapters in this document.
+
+ There many ways to control Dvips' behavior: configuration files,
+environment variables, and command-line options.
+
+* Menu:
+
+* Basic usage::
+* Command-line options::
+* Environment variables::
+* Config files::
+
+
+File: dvips.info, Node: Basic usage, Next: Command-line options, Up: Invoking Dvips
+
+3.1 Basic usage of Dvips
+========================
+
+To use Dvips at its simplest, simply type
+ dvips foo
+ where `foo.dvi' is the output of TeX that you want to print. If
+Dvips has been installed correctly, the document will probably roll out
+of your default printer.
+
+ If you use fonts that have not been used on your system before, they
+may be automatically generated; this process can take a few minutes, so
+progress reports appear by default. The next time that document is
+printed, these fonts will have been saved in the proper directories, so
+printing will go much faster. (If Dvips tries to endlessly generate the
+same fonts over and over again, it hasn't been installed properly.
+*Note Unable to generate fonts: (kpathsea)Unable to generate fonts.)
+
+ Many options are available (see the next section). For a brief
+summary of available options, just type
+ dvips --help
+
+
+File: dvips.info, Node: Command-line options, Next: Environment variables, Prev: Basic usage, Up: Invoking Dvips
+
+3.2 Command-line options
+========================
+
+Dvips has a plethora of command line options. Reading through this
+section will give a good idea of the capabilities of the driver.
+
+* Menu:
+
+* Option summary:: Quick listing, from Dvips --help.
+* Option details:: More information about each option.
+
+
+File: dvips.info, Node: Option summary, Next: Option details, Up: Command-line options
+
+3.2.1 Option summary
+--------------------
+
+Here is a handy summary of the options; it is printed out when you run
+Dvips with no arguments or with the standard `--help' option.
+
+Usage: dvips [OPTION]... FILENAME[.dvi]
+a* Conserve memory, not time A Print only odd (TeX) pages
+b # Page copies, for posters e.g. B Print only even (TeX) pages
+c # Uncollated copies C # Collated copies
+d # Debugging D # Resolution
+e # Maxdrift value E* Try to create EPSF
+f* Run as filter F* Send control-D at end
+ G* Shift low chars to higher pos.
+h f Add header file
+i* Separate file per section
+j* Download fonts partially
+k* Print crop marks K* Pull comments from inclusions
+l # Last page
+m* Manual feed M* Don't make fonts
+mode s Metafont device name
+n # Maximum number of pages N* No structured comments
+noomega Disable Omega extensions
+o f Output file O c Set/change paper offset
+p # First page P s Load config.$s
+pp l Print only pages listed
+q* Run quietly
+r* Reverse order of pages R* Run securely
+s* Enclose output in save/restore S # Max section size in pages
+t s Paper format T c Specify desired page size
+u s PS mapfile U* Disable string param trick
+v Print version number and quit V* Send downloadable PS fonts as PK
+x # Override dvi magnification X # Horizontal resolution
+y # Multiply by dvi magnification Y # Vertical resolution
+z* Hyper PS Z* Compress bitmap fonts
+ # = number f = file s = string * = suffix, `0' to turn off
+ c = comma-separated dimension pair (e.g., 3.2in,-32.1cm)
+ l = comma-separated list of page ranges (e.g., 1-4,7-9)
+
+Email bug reports to tex-k@mail.tug.org.
+
+
+File: dvips.info, Node: Option details, Prev: Option summary, Up: Command-line options
+
+3.2.2 Option details
+--------------------
+
+Many of the parameterless options listed here can be turned off by
+suffixing the option with a zero (`0'); for instance, to turn off page
+reversal, use `-r0'. Such options are marked with a trailing `*'.
+
+`-'
+ Read additional options from standard input after processing the
+ command line.
+
+`--help'
+ Print a usage message and exit.
+
+`--version'
+ Print the version number and exit.
+
+`-a*'
+ Conserve memory by making three passes over the DVI file instead
+ of two and only loading those characters actually used. Generally
+ only useful on machines with a very limited amount of memory, like
+ some PCs.
+
+`-A'
+ Print only the odd pages. This option uses TeX page numbers, not
+ physical page numbers.
+
+`-b NUM'
+ Generate NUM copies of each page, but duplicating the page body
+ rather than using the `/#copies' PostScript variable. This can be
+ useful in conjunction with a header file setting `bop-hook' to do
+ color separations or other neat tricks.
+
+`-B'
+ Print only the even pages. This option uses TeX page numbers, not
+ physical page numbers.
+
+`-c NUM'
+ Generate NUM consecutive copies of every page, i.e., the output is
+ uncollated. This merely sets the builtin PostScript variable
+ `/#copies'.
+
+`-C NUM'
+ Generate NUM copies, but collated (by replicating the data in the
+ PostScript file). Slower than the `-c' option, but easier on the
+ hands, and faster than resubmitting the same PostScript file
+ multiple times.
+
+`-d NUM'
+ Set the debug flags, showing what Dvips (thinks it) is doing.
+ This will work unless Dvips has been compiled without the `DEBUG'
+ option (not recommended). *Note Debug options::, for the possible
+ values of NUM. Use `-d -1' as the first option for maximum output.
+
+`-D NUM'
+ Set both the horizontal and vertical resolution to NUM, given in
+ dpi (dots per inch). This affects the choice of bitmap fonts that
+ are loaded and also the positioning of letters in resident
+ PostScript fonts. Must be between 10 and 10000. This affects both
+ the horizontal and vertical resolution. If a high resolution
+ (something greater than 400 dpi, say) is selected, the `-Z' flag
+ should probably also be used. If you are using fonts made with
+ Metafont, such as Computer Modern, `mktexpk' needs to know about
+ the value for NUM that you use or Metafont will fail. See the file
+ `ftp://ftp.tug.org/tex/modes.mf' for a list of resolutions and mode
+ names for most devices.
+
+`-e NUM'
+ Maximum drift in pixels of each character from its `true'
+ resolution-independent position on the page. The default value of
+ this parameter is resolution dependent (it is the number of
+ entries in the list [100, 200, 300, 400, 500, 600, 800, 1000,
+ 1200, 1600, 2000, 2400, 2800, 3200, ...] that are less than or
+ equal to the resolution in dots per inch). Allowing individual
+ characters to `drift' from their correctly rounded positions by a
+ few pixels, while regaining the true position at the beginning of
+ each new word, improves the spacing of letters in words.
+
+`-E*'
+ Generate an EPSF file with a tight bounding box. This only looks
+ at marks made by characters and rules, not by any included
+ graphics. In addition, it gets the glyph metrics from the TFM
+ file, so characters that print outside their enclosing TFM box may
+ confuse it. In addition, the bounding box might be a bit too
+ loose if the character glyph has significant left or right side
+ bearings. Nonetheless, this option works well enough for creating
+ small EPSF files for equations or tables or the like. (Of course,
+ Dvips output, especially when using bitmap fonts, is
+ resolution-dependent and thus does not make very good EPSF files,
+ especially if the images are to be scaled; use these EPSF files
+ with care.) For multiple page input files, also specify `-i' to
+ get each page as a separate EPSF file; otherwise, all the pages
+ are overlaid in the single output file.
+
+`-f*'
+ Run as a filter. Read the DVI file from standard input and write
+ the PostScript to standard output. The standard input must be
+ seekable, so it cannot be a pipe. If your input must be a pipe,
+ write a shell script that copies the pipe output to a temporary
+ file and then points Dvips at this file. This option also
+ disables the automatic reading of the `PRINTER' environment
+ variable; use `-P$PRINTER' after the `-f' to read it anyway. It
+ also turns off the automatic sending of control-D if it was turned
+ on with the `-F' option or in the configuration file; use `-F'
+ after the `-f' to send it anyway.
+
+`-F*'
+ Write control-D (ASCII code 4) as the very last character of the
+ PostScript file. This is useful when Dvips is driving the printer
+ directly instead of working through a spooler, as is common on
+ personal systems. On systems shared by more than one person, this
+ is not recommended.
+
+`-G*'
+ Shift non-printing characters (ASCII 0-32, 127) to higher-numbered
+ positions. This may be useful sometimes.
+
+`-h NAME'
+ Prepend NAME as an additional header file, or, if NAME is `-',
+ suppress all header files. Any definitions in the header file get
+ added to the PostScript `userdict'.
+
+`-i*'
+ Make each section be a separate file; a "section" is a part of the
+ document processed independently, most often created to avoid
+ memory overflow. The filenames are created replacing the suffix
+ of the supplied output file name by a three-digit sequence number.
+ This option is most often used in conjunction with the `-S'
+ option which sets the maximum section length in pages; if `-i' is
+ specified and `-S' is not, each page is output as a separate file.
+ For instance, some phototypesetters cannot print more than ten or
+ so consecutive pages before running out of steam; these options
+ can be used to automatically split a book into ten-page sections,
+ each to its own file.
+
+`-j*'
+ Download only needed characters from Type 1 fonts. This is the
+ default in the current release. Some debugging flags trace this
+ operation (*note Debug options::). You can also control partial
+ downloading on a per-font basis (*note psfonts.map::).
+
+`-k*'
+ Print crop marks. This option increases the paper size (which
+ should be specified, either with a paper size special or with the
+ `-T' option) by a half inch in each dimension. It translates each
+ page by a quarter inch and draws cross-style crop marks. It is
+ mostly useful with typesetters that can set the page size
+ automatically. This works by downloading `crop.pro'.
+
+`-K*'
+ Remove comments in included PostScript graphics, font files, and
+ headers; only necessary to get around bugs in spoolers or
+ PostScript post-processing programs. Specifically, the `%%Page'
+ comments, when left in, often cause difficulties. Use of this
+ flag can cause other graphics to fail, however, since the
+ PostScript header macros from some software packages read portion
+ the input stream line by line, searching for a particular comment.
+
+`-l [=]NUM'
+ The last page printed will be the first one numbered NUM. Default
+ is the last page in the document. If NUM is prefixed by an equals
+ sign, then it (and the argument to the `-p' option, if specified)
+ is treated as a physical (absolute) page number, rather than a
+ value to compare with the TeX `\count0' values stored in the DVI
+ file. Thus, using `-l =9' will end with the ninth page of the
+ document, no matter what the pages are actually numbered.
+
+`-m*'
+ Specify manual feed, if supported by the output device.
+
+`-mode MODE'
+ Use MODE as the Metafont device name for path searching and font
+ generation. This overrides any value from configuration files.
+ With the default paths, explicitly specifying the mode also makes
+ the program assume the fonts are in a subdirectory named MODE.
+ *Note TeX directory structure: (kpathsea)TeX directory structure.
+ If Metafont does not understand the MODE name, see *Note Unable to
+ generate fonts: (kpathsea)Unable to generate fonts.
+
+`-M*'
+ Turns off automatic font generation (`mktexpk'). If `mktexpk',
+ the invocation is appended to a file `missfont.log' (by default)
+ in the current directory. You can then execute the log file to
+ create the missing files after fixing the problem. If the current
+ directory is not writable and the environment variable or
+ configuration file value `TEXMFOUTPUT' is set, its value is used.
+ Otherwise, nothing is written. The name `missfont.log' is
+ overridden by the `MISSFONT_LOG' environment variable or
+ configuration file value.
+
+`-n NUM'
+ Print at most NUM pages. Default is 100000.
+
+`-N*'
+ Turns off generation of structured comments such as `%%Page'; this
+ may be necessary on some systems that try to interpret PostScript
+ comments in weird ways, or on some PostScript printers. Old
+ versions of TranScript in particular cannot handle modern
+ Encapsulated PostScript. Beware: This also disables page
+ movement, etc., in PostScript viewers such as Ghostview.
+
+`-noomega'
+ This will disable the use of Omega extensions when interpreting
+ DVI files. By default, the additional opcodes `129' and `134' are
+ recognized by Dvips as Omega extensions and interpreted as
+ requests to set 2-byte characters. The only drawback is that the
+ virtual font array will (at least temporarily) require 65536
+ positions instead of the default 256 positions, i.e., the memory
+ requirements of Dvips will be slightly larger. If you find this
+ unacceptable or encounter another problem with the Omega
+ extensions, you can switch this extension off by using `-noomega'
+ (but please do send a bug report if you find such problems, *note
+ Bugs: (kpathsea)Bugs.).
+
+`-o NAME'
+ Send output to the file NAME. If `-o' is specified without NAME,
+ the default is `FILE.ps' where the input DVI file was `FILE.dvi'.
+ If `-o' isn't given at all, the configuration file default is used.
+
+ If NAME is `-', output goes to standard output. If the first
+ character of NAME is `!' or `|', then the remainder will be used
+ as an argument to `popen'; thus, specifying `|lpr' as the output
+ file will automatically queue the file for printing as usual.
+ (The MS-DOS version will print to the local printer device `PRN'
+ when NAME is `|lpr' and a program by that name cannot be found.)
+
+ `-o' disables the automatic reading of the `PRINTER' environment
+ variable, and turns off the automatic sending of control-D. See
+ the `-f' option for how to override this.
+
+`-O X-OFFSET,Y-OFFSET'
+ Move the origin by X-OFFSET,Y-OFFSET, a comma-separated pair of
+ dimensions such as `.1in,-.3cm' (*note papersize special::). The
+ origin of the page is shifted from the default position (of one
+ inch down, one inch to the right from the upper left corner of the
+ paper) by this amount. This is usually best specified in the
+ printer-specific configuration file.
+
+ This is useful for a printer that consistently offsets output
+ pages by a certain amount. You can use the file `testpage.tex' to
+ determine the correct value for your printer. Be sure to do
+ several runs with the same `O' value--some printers vary widely
+ from run to run.
+
+ If your printer offsets every other page consistently, instead of
+ every page, your best recourse is to use `bop-hook' (*note
+ PostScript hooks::).
+
+`-p [=]NUM'
+ The first page printed will be the first one numbered NUM. Default
+ is the first page in the document. If NUM is prefixed by an
+ equals sign, then it (and the argument to the `-l' option, if
+ specified) is treated as a physical (absolute) page number, rather
+ than a value to compare with the TeX `\count0' values stored in the
+ DVI file. Thus, using `-p =3' will start with the third page of
+ the document, no matter what the pages are actually numbered.
+
+`-pp FIRST-LAST'
+ Print pages FIRST through LAST; equivalent to `-p FIRST -l LAST',
+ except that multiple `-pp' options accumulate, unlike `-p' and
+ `-l'. The `-' separator can also be `:'.
+
+`-P PRINTER'
+ Read the configuration file `config.PRINTER' (`PRINTER.cfg' on
+ MS-DOS), which can set the output name (most likely `o |lpr
+ -PPRINTER'), resolution, Metafont mode, and perhaps font paths and
+ other printer-specific defaults. It works best to put sitewide
+ defaults in the one master `config.ps' file and only things that
+ vary printer to printer in the `config.PRINTER' files; `config.ps'
+ is read before `config.PRINTER'.
+
+ A configuration file for creating Adobe PDF files is provided in
+ `config.pdf' and can be loaded with `-Ppdf', it will try to
+ include Type1 outline fonts into the PostScript file (*note
+ Hypertext caveats::).
+
+ If no `-P' or `-o' is given, the environment variable `PRINTER' is
+ checked. If that variable exists, and a corresponding
+ `config.PRINTER' (`PRINTER.cfg' on MS-DOS) file exists, it is read.
+ *Note Configuration file searching::.
+
+`-q*'
+ Run quietly. Don't chatter about pages converted, etc. to standard
+ output; report no warnings (only errors) to standard error.
+
+`-r*'
+ Output pages in reverse order. By default, page 1 is output first.
+
+`-R'
+ Run securely. This disables shell command execution in `\special'
+ (via ``', *note Dynamic creation of graphics::) and config files
+ (via the `E' option, *note Configuration file commands::), and
+ opening of any absolute filenames.
+
+`-s*'
+ Enclose the output in a global save/restore pair. This causes the
+ file to not be truly conformant, and is thus not recommended, but
+ is useful if you are driving a deficient printer directly and thus
+ don't care too much about the portability of the output to other
+ environments.
+
+`-S NUM'
+ Set the maximum number of pages in each `section'. This option is
+ most commonly used with the `-i' option; see its description above
+ for more information.
+
+`-t PAPERTYPE'
+ Set the paper type to PAPERTYPE, usually defined in one of the
+ configuration files, along with the appropriate PostScript code to
+ select it (*note Config file paper sizes::). You can also specify
+ a PAPERTYPE of `landscape', which rotates a document by 90
+ degrees. To rotate a document whose paper type is not the
+ default, you can use the `-t' option twice, once for the paper
+ type, and once for `landscape'. You should not use any `-t'
+ option when TeX writes a `papersize' special, as is done by some
+ LaTeX packages, e.g., `hyperref.sty'.
+
+`-T HSIZE,VSIZE'
+ Set the paper size to (HSIZE,VSIZE), a comma-separated pair of
+ dimensions such as `.1in,-.3cm' (*note papersize special::). It
+ overrides any paper size special in the DVI file.
+
+`-u PSMAPFILE'
+ Set PSMAPFILE to be the file that dvips uses for looking up
+ PostScript font aliases. If PSMAPFILE begins with a `+'
+ character, then the rest of the name is used as the name of the
+ map file, and the map file is appended to the list of map files
+ (instead of replacing the list). In either case, if the name has
+ no extension, then `.map' is added at the end.
+
+`-U*'
+ Disable a PostScript virtual memory-saving optimization that
+ stores the character metric information in the same string that is
+ used to store the bitmap information. This is only necessary when
+ driving the Xerox 4045 PostScript interpreter, which has a bug
+ that puts garbage on the bottom of each character. Not
+ recommended unless you must drive this printer.
+
+`-v'
+ Print the dvips version number and exit.
+
+`-V*'
+ Download non-resident PostScript fonts as bitmaps. This requires
+ use of `mtpk' or `gsftopk' or `pstopk' or some combination thereof
+ to generate the required bitmap fonts; these programs are supplied
+ with Dvips. The bitmap must be put into `psfonts.map' as the
+ downloadable file for that font. This is useful only for those
+ fonts for which you do not have real outlines, being downloaded to
+ printers that have no resident fonts, i.e., very rarely.
+
+`-x NUM'
+ Set the magnification ratio to NUM/1000. Overrides the
+ magnification specified in the DVI file. Must be between 10 and
+ 100000. It is recommended that you use standard magstep values
+ (1095, 1200, 1440, 1728, 2074, 2488, 2986, and so on) to help
+ reduce the total number of PK files generated. NUM may be a real
+ number, not an integer, for increased precision.
+
+`-X NUM'
+ Set the horizontal resolution in dots per inch to NUM.
+
+`-y NUM'
+ Set the magnification ratio to NUM/1000 times the magnification
+ specified in the DVI file. See `-x' above.
+
+`-Y NUM'
+ Set the vertical resolution in dots per inch to NUM.
+
+`-z*'
+ Pass `html' hyperdvi specials through to the output for eventual
+ distillation into PDF. This is not enabled by default to avoid
+ including the header files unnecessarily, and use of temporary
+ files in creating the output. *Note Hypertext::.
+
+`-Z*'
+ Compress bitmap fonts in the output file, thereby reducing the
+ size of what gets downloaded. Especially useful at high
+ resolutions or when very large fonts are used. May slow down
+ printing, especially on early 68000-based PostScript printers.
+ Generally recommend today, and can be enabled in the configuration
+ file (*note Configuration file commands::).
+
+
+
+File: dvips.info, Node: Environment variables, Next: Config files, Prev: Command-line options, Up: Invoking Dvips
+
+3.3 Environment variables
+=========================
+
+Dvips looks for many environment variables, to define search paths and
+other things. The path variables are read as needed, after all
+configuration files are read, so they override values in the
+configuration files. (Except for `TEXCONFIG', which defines where the
+configuration files themselves are found.)
+
+ *Note Path specifications: (kpathsea)Path specifications, for
+details of interpretation of path and other environment variables
+common to all Kpathsea-using programs. Only the environment variables
+specific to Dvips are mentioned here.
+
+`DVIPSFONTS'
+ Default path to search for all fonts. Overrides all the font path
+ config file options and other environment variables (*note
+ Supported file formats: (kpathsea)Supported file formats.).
+
+`DVIPSHEADERS'
+ Default path to search for PostScript header files. Overrides the
+ `H' config file option (*note Configuration file commands::).
+
+`DVIPSMAKEPK'
+ Overrides `mktexpk' as the name of the program to invoke to create
+ missing PK fonts. You can change the arguments passed to the
+ `mktexpk' program with the `MAKETEXPK' environment variable; *note
+ MakeTeX script arguments: (kpathsea)MakeTeX script arguments.
+
+`DVIPSRC'
+ Specifies the name of the startup file (*note Configuration file
+ searching::) which is read after `config.ps' but before any
+ printer-specific configuration files.
+
+`DVIPSSIZES'
+ Last-resort sizes for scaling of unfound fonts. Overrides the `R'
+ definition in config files (*note Configuration file commands::).
+
+`PRINTER'
+ Determine the default printer configuration file. (Dvips itself
+ does not use `PRINTER' to determine the output destination in any
+ way.)
+
+`TEXCONFIG'
+ Path to search for Dvips' `config.PRINTER' configuration files,
+ including the base `config.ps'. Using this single environment
+ variable, you can override everything else. (The printer-specific
+ configuration files are called `PRINTER.cfg' on MS-DOS, but
+ `config.ps' is called by that name on all platforms.)
+
+`TEXPICTS'
+ Path to search for included graphics files. Overrides the `S'
+ config file option (*note Configuration file commands::). If not
+ set, `TEXINPUTS' is looked for. *Note Supported file formats:
+ (kpathsea)Supported file formats.
+
+
+
+File: dvips.info, Node: Config files, Prev: Environment variables, Up: Invoking Dvips
+
+3.4 Dvips configuration files
+=============================
+
+This section describes in detail the Dvips-specific `config.*' device
+configuration files (called `*.cfg' on MS-DOS), which override the
+`texmf.cnf' configuration files generic to Kpathsea which Dvips also
+reads (*note Config files: (kpathsea)Config files.).
+
+ For information about installing these files, including a prototype
+file you can copy, *note config.ps installation::.
+
+* Menu:
+
+* Configuration file searching:: Where config.* files are searched for.
+* Configuration file commands:: What can go in a config.* file.
+
+
+File: dvips.info, Node: Configuration file searching, Next: Configuration file commands, Up: Config files
+
+3.4.1 Configuration file searching
+----------------------------------
+
+The Dvips program loads many different configuration files, so that
+parameters can be set globally across the system, on a per-device basis,
+or individually by each user.
+
+ 1. Dvips first reads (if it exists) `config.ps'; it is searched for
+ along the path for Dvips configuration files, as described in
+ *Note Supported file formats: (kpathsea)Supported file formats.
+
+ 2. A user-specific startup file is loaded, so individual users can
+ override any options set in the global file. The environment
+ variable `DVIPSRC', if defined, is used as the specification of
+ the startup file. If this variable is undefined, Dvips uses a
+ platform-specific default name. On Unix Dvips looks for the
+ default startup file under the name `$HOME/.dvipsrc', which is in
+ the user's home directory. On MS-DOS and MS-Windows, where users
+ generally don't have their private directories, the startup file
+ is called `dvips.ini' and it is searched for along the path for
+ Dvips configuration files (as described in *Note Supported file
+ formats: (kpathsea)Supported file formats.); users are expected to
+ set this path as they see fit for their taste.
+
+ 3. The command line is read and parsed: if the `-PDEVICE' option is
+ encountered, at that point `config.DEVICE' is loaded. Thus, the
+ printer configuration file can override anything in the site-wide
+ or user configuration file, and it can also override options in
+ the command line up to the point that the `-P' option was
+ encountered. (On MS-DOS, the printer configuration files are
+ called `DEVICE.cfg', since DOS doesn't allow more than 3 characters
+ after the dot in filenames.)
+
+ 4. If no `-P' option was specified, and also the `-o' and `-f'
+ command line options were not used, Dvips checks the environment
+ variable `PRINTER'. If it exists, then `config.$PRINTER'
+ (`$PRINTER.cfg' on MS-DOS) is loaded (if it exists).
+
+
+ Because the `.dvipsrc' file is read before the printer-specific
+configuration files, individual users cannot override settings in the
+latter. On the other hand, the `TEXCONFIG' path usually includes the
+current directory, and can in any case be set to anything, so the users
+can always define their own printer-specific configuration files to be
+found before the system's.
+
+ A few command-line options are treated specially, in that they are
+not overridden by configuration files:
+
+`-D'
+ As well as setting the resolution, this unsets the mode, if the
+ mode was previously set from a configuration file. If
+ `config.$PRINTER' is read, however, any `D' or `M' lines from
+ there will take effect.
+
+`-mode'
+ This overrides any mode setting (`M' line) in configuration files.
+ `-mode' does not affect the resolution.
+
+`-o'
+ This overrides any output setting (`o' line) in configuration
+ files.
+
+
+ The purpose of these special cases is to (1) minimize the chance of
+having a mismatched mode and resolution (which `mktexpk' cannot
+resolve), and (2) let command-line options override config files where
+possible.
+
+
+File: dvips.info, Node: Configuration file commands, Prev: Configuration file searching, Up: Config files
+
+3.4.2 Configuration file commands
+---------------------------------
+
+Most of the configuration file commands are similar to corresponding
+command line options, but there are a few exceptions. When they are the
+same, we omit the description here.
+
+ As with command line options, many may be turned off by suffixing the
+letter with a zero (`0').
+
+ Within a configuration file, empty lines, and lines starting with a
+space, asterisk, equal sign, percent sign, or pound sign are ignored.
+There is no provision for continuation lines.
+
+`@ NAME HSIZE VSIZE'
+ Define paper sizes. *Note Config file paper sizes::.
+
+`a*'
+ Memory conservation. Same as `-a', *note Option details::.
+
+`b #COPIES'
+ Multiple copies. Same as `-b', *note Option details::.
+
+`D DPI'
+ Output resolution. Same as `-D', *note Option details::.
+
+`e NUM'
+ Max drift. Same as `-e', *note Option details::.
+
+`E COMMAND'
+ Executes the command listed with `system'(3); can be used to get
+ the current date into a header file for inclusion, for instance.
+ Possibly dangerous; this may be disabled, in which case a warning
+ will be printed if the option is used (and warnings are not
+ suppressed).
+
+`f*'
+`F'
+ Run as a filter. Same as `-f', *note Option details::.
+
+`h HEADER'
+ Prepend HEADER to output. Same as `h-', *note Option details::.
+
+`H PATH'
+ Use PATH to search for PostScript header files. The environment
+ variable `DVIPSHEADERS' overrides this.
+
+`i N'
+ Make multiple output files. Same as `-i -S N', *note Option
+ details::.
+
+`j*'
+ Partially download Type 1 fonts. Same as `-j', *note Option
+ details::.
+
+`K*'
+ Remove comments from included PostScript files. Same as `-K',
+ *note Option details::.
+
+`m NUM'
+ Declare NUM as the memory available for fonts and strings in the
+ printer. Default is 180000. This value must be accurate if memory
+ conservation and document splitting is to work correctly. To
+ determine this value, send the following file to the printer:
+
+ %! Hey, we're PostScript
+ /Times-Roman findfont 30 scalefont setfont 144 432 moveto
+ vmstatus exch sub 40 string cvs show pop showpage
+
+ The number printed by this file is the total memory free; it is
+ usually best to tell Dvips that the printer has slightly less
+ memory, because many programs download permanent macros that can
+ reduce the memory in the printer. Some systems or printers can
+ dynamically increase the memory available to a PostScript
+ interpreter, in which case this file might return a ridiculously
+ low number; for example, the NeXT computer and Ghostscript. In
+ these cases, a value of one million works fine.
+
+`M MODE'
+ Metafont mode. Same as `-mode', *note Option details::.
+
+`N*'
+ Disable structured comments. Beware: This also turns off
+ displaying page numbers or changing to specific pagenumbers in
+ PostScript viewers. Same as `-N', *note Option details::.
+
+`o NAME'
+ Send output to NAME. Same as `-o', *note Option details::. In
+ the file `config.foo', a setting like this is probably appropriate:
+ o |lpr -Pfoo
+ The MS-DOS version will emulate spooling to `lpr' by printing to
+ the local printer device `PRN' if it doesn't find an executable
+ program by that name in the current directory or along the `PATH'.
+
+`O XOFF,YOFF'
+ Origin offset. Same as `-O', *note Option details::.
+
+`p [+]NAME'
+ Examine NAME for PostScript font aliases. Default is
+ `psfonts.map'. This option allows you to specify different
+ resident fonts that different printers may have. If NAME starts
+ with a `+' character, then the rest of the name (after any leading
+ spaces) is used as an additional map file; thus, it is possible to
+ have local map files pointed to by local configuration files that
+ append to the global map file. This can be used for font families.
+
+`P PATH'
+ Use PATH to search for bitmap PK font files is PATH. The
+ `PKFONTS', `TEXPKS', `GLYPHFONTS', and `TEXFONTS' environment
+ variables override this. *Note Supported file formats:
+ (kpathsea)Supported file formats.
+
+`q*'
+`Q'
+ Run quietly. Same as `-q', *note Option details::.
+
+`r*'
+ Page reversal. Same as `-r', *note Option details::.
+
+`R NUM1 NUM2 ...'
+ Define the list of default resolutions for PK fonts. If a font
+ size actually used in a document is not available and cannot be
+ created, Dvips will scale the font found at the closest of these
+ resolutions to the requested size, using PostScript scaling. The
+ resulting output may be ugly, and thus a warning is issued. To
+ turn this last-resort scaling off, use a line with just the `R'
+ and no numbers.
+
+ The given numbers must be sorted in increasing order; any number
+ smaller than the preceding one is ignored. This is because it is
+ better to scale a font up than down; scaling down can obliterate
+ small features in the character shape.
+
+ The environment and config file values `DVIPSSIZES' or `TEXSIZES'
+ override this configuration file setting.
+
+ If no `R' settings or environment variables are specified, a list
+ compiled in during installation is used. This default list is
+ defined by the Makefile variable `default_texsizes', defined in
+ the file `make/paths.make'.
+
+`s*'
+ Output global save/restore. Same as `-s', *note Option details::.
+
+`S PATH'
+ Use PATH to search for special illustrations (Encapsulated
+ PostScript files or psfiles). The `TEXPICTS' and then `TEXINPUTS'
+ environment variables override this.
+
+`T PATH'
+ Use PATH to search for TFM files. The `TFMFONTS' and then
+ `TEXFONTS' environment variables overrides this. This path is used
+ for resident fonts and fonts that can't otherwise be found.
+
+`U*'
+ Work around bug in Xerox 4045 printer. Same as `-U', *note Option
+ details::.
+
+`V PATH'
+ Use PATH to search for virtual font files. This may be
+ device-dependent if you use virtual fonts to simulate actual fonts
+ on different devices.
+
+`W [STRING]'
+ If STRING is supplied, write it to standard error after reading
+ all the configuration files; with no STRING, cancel any previous
+ `W' message. This is useful in the default configuration file to
+ remind users to specify a printer, for instance, or to notify users
+ about special characteristics of a particular printer.
+
+`X NUM'
+ Horizontal resolution. Same as `-X' (*note Option details::).
+
+`Y NUM'
+ Vertical resolution. Same as `-Y' (*note Option details::).
+
+`Z*'
+ Compress bitmap fonts. Same as `-Z' (*note Option details::).
+
+`z*'
+ Disables execution of system commands, like `-R' (*note Option
+ details::). If `-R1' is given to disable system commands,
+ however, this will not re-enable them.
+
+
+
+File: dvips.info, Node: Paper size and landscape, Next: Interaction with PostScript, Prev: Invoking Dvips, Up: Top
+
+4 Paper size and landscape orientation
+**************************************
+
+Most TeX documents at a particular site are designed to use the
+standard paper size (letter size in the United States, A4 in Europe).
+The Dvips program can be customized either sitewide or for a particular
+printer.
+
+ But many documents are designed for other paper sizes. For instance,
+you may want to design a document that has the long edge of the paper
+horizontal. This can be useful when typesetting booklets, brochures,
+complex tables, or many other documents. This type of paper orientation
+is called "landscape" orientation (the default orientation is
+"portrait"). Alternatively, a document might be designed for ledger or
+A3 paper.
+
+ Since the intended paper size is a document design decision, not a
+printing decision, such information should be given in the TeX file and
+not on the Dvips command line. For this reason, Dvips supports a
+`papersize' special. It is hoped that this special will become
+standard over time for TeX previewers and other printer drivers.
+
+ Some LaTeX packages, e.g., `hyperref.sty', write a `papersize'
+special into the DVI file. In this case, you need not and should not
+attempt to override it manually.
+
+* Menu:
+
+* papersize special:: Specifying the paper size in TeX.
+* Config file paper sizes:: Specifying printer- and site-specific sizes.
+* Paper trays:: Changing paper trays automatically.
+
+
+File: dvips.info, Node: papersize special, Next: Config file paper sizes, Up: Paper size and landscape
+
+4.1 `papersize' special
+=======================
+
+The format of the `papersize' special is
+
+ \special{papersize=WIDTH,HEIGHT}
+
+WIDTH is the horizontal size of the page, and HEIGHT is the vertical
+size. The dimensions supported are the same as for TeX; namely, in
+(inches), cm (centimeters), mm (millimeters), pt (points), sp (scaled
+points), bp (big points, the same as the default PostScript unit), pc
+(picas), dd (didot points), and cc (ciceros).
+
+ For a US letter size landscape document, the `papersize' would be:
+ \special{papersize=11in,8.5in}
+
+An alternate specification of `landscape':
+ \special{landscape}
+
+This is supported for backward compatibility, but it is hoped that
+reventually the `papersize' comment will dominate.
+
+ Of course, such a `\special' only informs Dvips of the desired paper
+size; you must also adjust `\hsize' and `\vsize' in your TeX document
+typeset to those dimensions.
+
+ The `papersize' special must occur somewhere on the first page of
+the document.
+
+
+File: dvips.info, Node: Config file paper sizes, Next: Paper trays, Prev: papersize special, Up: Paper size and landscape
+
+4.2 Configuration file paper size command
+=========================================
+
+The `@' command in a configuration file sets the paper size defaults
+and options. The first `@' command defines the default paper size. It
+has three possible parameters:
+
+ @ [NAME [HSIZE VSIZE]]
+
+ If `@' is specified on a line by itself, with no parameters, it
+instructs Dvips to discard all previous paper size information (possibly
+from another configuration file).
+
+ If three parameters are given, with the first parameter being a name
+and the second and third being a dimension (as in `8.5in' or `3.2cc',
+just like in the `papersize' special), then the option is interpreted
+as starting a new paper size description, where NAME is the name and
+HSIZE and VSIZE define the horizontal and vertical size of the sheet of
+paper, respectively. For example:
+
+ @ letterSize 8.5in 11in
+
+ If both HSIZE and VSIZE are zero (you must still specify units!)
+then any page size will match. If the `@' character is immediately
+followed by a `+' sign, then the remainder of the line (after skipping
+any leading blanks) is treated as PostScript code to send to the
+printer, presumably to select that particular paper size:
+
+ @ letter 8.5in 11in
+ @+ %%BeginPaperSize: Letter
+ @+ letter
+ @+ %%EndPaperSize
+
+ After all that, if the first character of the line is an exclamation
+point, then the line is put in the initial comments section of the final
+output file; else, it is put in the setup section of the output file.
+For example:
+
+ @ legal 8.5in 14in
+ @+ ! %%DocumentPaperSizes: Legal
+ @+ %%BeginPaperSize: Legal
+ @+ legal
+ @+ %%EndPaperSize
+
+ When Dvips has a paper format name given on the command line, it
+looks for a match by the NAME; when it has a `papersize' special, it
+looks for a match by dimensions. The first match found (in the order
+the paper size information is found in the configuration file) is used.
+If nothing matches, a warning is printed and the first paper size is
+used. The dimensions must match within a quarter of an inch. Landscape
+mode for all paper sizes is automatically supported.
+
+ If your printer has a command to set a special paper size, then give
+dimensions of `0in 0in'; the PostScript code that sets the paper size
+can refer to the dimensions the user requested as `hsize' and `vsize';
+these will be macros defined in the PostScript that return the
+requested size in default PostScript units. Virtually all of the
+PostScript commands you use here are device-dependent and degrade the
+portability of the file; that is why the default first paper size entry
+should not send any PostScript commands down (although a structured
+comment or two would be okay). Also, some printers want
+`BeginPaperSize' comments and paper size setting commands; others (such
+as the NeXT) want `PaperSize' comments and they will handle setting the
+paper size. There is no solution I could find that works for both
+(except maybe specifying both).
+
+ The Perl 5 script `contrib/mkdvipspapers' in the distribution
+directory may help in determining appropriate paper size definitions.
+
+ If your printers are configured to use A4 paper by default, the
+configuration file (probably the global `config.ps' in this case)
+should include this as the first `@' command:
+
+ @ A4size 210mm 297mm
+ @+ %%PaperSize: A4
+
+so that `A4size' is used as the default, and not `A4' itself; thus, no
+PostScript `a4' command is added to the output file, unless the user
+explicitly says to use paper size `a4'. That is, by default, no paper
+size PostScript command should be put in the output, but Dvips will
+still know that the paper size is A4 because `A4size' is the first (and
+therefore default) size in the configuration file.
+
+ Executing the `letter' or `a4' or other PostScript operators cause
+the document to be nonconforming and can cause it not to print on
+certain printers, so the default paper size should not execute such an
+operator if at all possible.
+
+
+File: dvips.info, Node: Paper trays, Prev: Config file paper sizes, Up: Paper size and landscape
+
+4.3 Paper trays
+===============
+
+Some printers, such as the Hewlett-Packard HP4si, have multiple paper
+trays. You can set up Dvips to take advantage of this using the
+`bop-hook' PostScript variable (*note PostScript hooks::).
+
+ For example, suppose you have an alternate tray stocked with
+letterhead paper; the usual tray has the usual paper. You have a
+document where you want the first page printed on letterhead, and the
+remaining pages on the usual paper. You can create a header file, say
+`firstletterhead.PS', with the following (PostScript) code (`bop-hook'
+is passed the current physical page number, which starts at zero):
+
+ /bop-hook { dup 0 eq { ALTERNATETRAY } { NORMALTRAY } ifelse } def
+
+where ALTERNATETRAY and NORMALTRAY are the appropriate commands to
+select the paper trays. On the 4SI, ALTERNATETRAY is `statusdict begin
+1 setpapertray end' and NORMALTRAY is `statusdict begin 0 setpapertray
+end'.
+
+ Then, include the file with either
+ * the `-h' command-line option (*note Option details::); or
+
+ * the `h' config file option (*note Configuration file commands::);
+ or
+
+ * `\special{header=FILE}' in your TeX document (*note Including
+ headers from TeX: Including headers from TeX.).
+
+
+
+File: dvips.info, Node: Interaction with PostScript, Next: PostScript fonts, Prev: Paper size and landscape, Up: Top
+
+5 Interaction with PostScript
+*****************************
+
+Dvips supports inclusion of PostScript figure files (e.g., Encapsulated
+PostScript), downloading other header files (e.g., fonts), including
+literal PostScript code, and hypertext.
+
+* Menu:
+
+* PostScript figures:: Including an Encapsulated PostScript figure.
+* Header files:: Downloading extra definitions.
+* Literal PS:: Writing literal PostScript code.
+* Hypertext:: Producing HyperPostScript to make PDF.
+
+
+File: dvips.info, Node: PostScript figures, Next: Header files, Up: Interaction with PostScript
+
+5.1 PostScript figures
+======================
+
+Scaling and including PostScript graphics is a breeze--if the PostScript
+file is correctly formed. Even if it is not, however, the file can
+usually be accommodated with just a little more work.
+
+* Menu:
+
+* Bounding box:: The %%BoundingBox EPS comment.
+* \includegraphics:: The LaTeX \includegraphics macro.
+* EPSF macros:: Including the file in TeX.
+* psfile special:: The basic special.
+* Dynamic creation of graphics:: Handling compressed or generated figures.
+* Fonts in figures:: The %*Font comment.
+
+
+File: dvips.info, Node: Bounding box, Next: \includegraphics, Up: PostScript figures
+
+5.1.1 The bounding box comment
+------------------------------
+
+The most important feature of a good PostScript file from the standpoint
+of including it in another document is an accurate bounding box comment.
+Every well-formed PostScript file has a comment describing where on the
+page the graphic is located, and how big that graphic is.
+
+ This information is given as the lower left and upper right corners
+of the box just enclosing the graphic, and is thus referred to as the
+"bounding box". These coordinates are given in the default PostScript
+units (there are precisely 72 PostScript units to the inch, like TeX
+big points) with respect to the lower left corner of the sheet of paper.
+
+ To see if a PostScript file has a bounding box comment, just look at
+the first few lines of the file. PostScript files are standard ASCII,
+so you can use any text editor to do this. If within the first few
+dozen lines there is a line like
+
+ %%BoundingBox: 25 50 400 300
+
+(with any reasonable numbers), chances are very good that the file is
+Encapsulated PostScript and will work easily with Dvips. If the file
+contains instead a line like
+
+ %%BoundingBox: (atend)
+
+the file is still probably Encapsulated PostScript, but the bounding box
+is given at the end of the file. Dvips needs it at the beginning. You
+can move it with that same text editor, or a simple script. (The
+bounding box is given in this way when the program that generated the
+PostScript couldn't know the size in advance, or was too lazy to compute
+it.)
+
+ If the document lacks a `%%BoundingBox:' altogether, you can
+determine one in a couple of ways. One is to use the `bbfig' program
+distributed with Dvips in the `contrib' directory. This can usually
+find the correct bounding box automatically; it works best with
+Ghostscript.
+
+ If the comment looks like this:
+ %%BoundingBox: 0 0 612 792
+
+the graphic claims to take up an entire sheet of paper. This is
+usually a symptom of a bug in the program that generated it.
+
+ The other is to do it yourself: print the file. Now, take a ruler,
+and make the following measurements (in PostScript units, so measure in
+inches and multiply by 72): From the left edge of the paper to the
+leftmost mark on the paper is LLX, the first number. From the bottom
+edge of the paper to the bottommost mark on the paper is LLY, the
+second number. From the left edge of the paper to the rightmost mark
+on the paper is URX, the third number. The fourth and final number,
+URY, is the distance from the bottom of the page to the uppermost mark
+on the paper.
+
+ Once you have the numbers, add a comment of the following form as the
+second line of the document. (The first line should already be a line
+starting with the two characters `%!'; if it is not, the file probably
+isn't PostScript.)
+
+ %%BoundingBox: LLX LLY URX URY
+
+Or, if you don't want to modify the file, you can simply write these
+numbers down in a convenient place and give them in your TeX document
+when you import the graphic, as described in the next section.
+
+ If the document does not have such a bounding box, or if the bounding
+box is given at the end of the document, or the bounding box is wrong,
+please complain to the authors of the software package that generated
+the file.
+
+
+File: dvips.info, Node: \includegraphics, Next: EPSF macros, Prev: Bounding box, Up: PostScript figures
+
+5.1.2 The \includegraphics macro for LaTeX
+------------------------------------------
+
+Once the figure file has a bounding box comment (see the previous
+section) you are ready to import the graphic into a LaTeX document. For
+LaTeX 2e, you can use the epsf, graphics or graphicx packages, but the
+last is recommended--it has the most flexible syntax, and is briefly
+described here. Further information can be found in `grfguide' or
+`epslatex', which should be included in your LaTeX distribution in DVI,
+PDF, or other formats. (If you are still using LaTeX 2.09, use
+epsf.sty).
+
+ Just put the following command into your preamble:
+
+ \usepackage[dvips]{graphicx}
+
+ Depending on your system, a suitable driver setup may already be
+present, so that LaTeX automatically produces DVI files suitable for
+Dvips. In this case you can leave out the `[dvips]' parameter.
+
+ Now, at the point you want to include a file `foo.eps', enter a line
+such as:
+
+ \includegraphics{foo.eps}
+
+ However, it is usually best to omit the file extension and only use
+
+ \includegraphics{foo}
+
+because then you can process the same LaTeX file with different TeX
+engines or DVI converters if you also provide suitable graphics files
+for them, e.g., `foo.pdf' or `foo.png'.
+
+ The \includegraphics command has many options, specified in
+`key=value' syntax, to allow you to resize, rotate or trim the included
+graphic--see `grfguide' or `epslatex'. If your file does not have a
+bounding box comment, you can supply the numbers as determined in the
+previous section, in the same order they would have been in a normal
+bounding box comment:
+
+ \includegraphics[bb=100 100 500 500]{foo.ps}
+
+Now, save your changes and run LaTeX and Dvips; the output should have
+your graphic positioned at precisely the point you indicated, occupying
+the proper amount of space.
+
+ PostScript graphics have their origin in the lower left corner.
+Therefore, in TeX, a graphic will occupy a box that extends far above
+the line where it is put in, but has depth zero below it. Combining
+`\includegraphics' with `\parbox' commands or minipages can sometimes
+be confusing when this is not taken into account.
+
+
+File: dvips.info, Node: EPSF macros, Next: psfile special, Prev: \includegraphics, Up: PostScript figures
+
+5.1.3 Using the EPSF macros
+---------------------------
+
+If you are using LaTeX 2e, use the `graphics' or `graphicx' package.
+*Note \includegraphics::.
+
+ If you are using plain TeX or LaTeX 2.09, you need `epsf.tex' (for
+plain TeX) and `epsf.sty' (for LaTeX). For plain TeX, add a line like
+this near the top of your input file:
+
+ \input epsf
+
+If you are using LaTeX 2.09, add the `epsf' style option, as in:
+
+ \documentstyle[12pt,epsf]{article}
+
+In any case, the above only needs to be done once, no matter how many
+figures you plan to include.
+
+ Now, at the point you want to include a file, enter a line such as:
+
+ \epsffile{foo.eps}
+
+ If you are using LaTeX, you may need to add `\leavevmode'
+immediately before the `\epsffile' command to get certain environments
+to work correctly. If your file does not have a bounding box comment,
+you can supply the numbers as determined in the previous section, in
+the same order they would have been in a normal bounding box comment:
+
+ \epsffile[100 100 500 500]{foo.ps}
+
+Now, save your changes and run TeX and Dvips; the output should have
+your graphic positioned at precisely the point you indicated, occupying
+the proper amount of space.
+
+ The `\epsffile' macro typesets the figure as a TeX `\vbox' at the
+point of the page that the command is executed. By default, the
+graphic will have its `natural' width (namely, the width of its bounding
+box). The TeX box will have depth zero and its natural height. By
+default, the graphic will be scaled by any DVI magnification in effect,
+just as is everything else in your document. See the next section for
+more information on scaling.
+
+ If you want TeX to report the size of the figure as a message on your
+terminal when it processes each figure, give the command:
+
+ \epsfverbosetrue
+
+* Menu:
+
+* EPSF scaling::
+* EPSF clipping::
+
+
+File: dvips.info, Node: EPSF scaling, Next: EPSF clipping, Up: EPSF macros
+
+5.1.3.1 EPSF scaling
+....................
+
+Usually, you will want to scale an EPSF figure to some size appropriate
+for your document, since its natural size is determined by the creator
+of the EPS file.
+
+ The best way to do this is to assign the desired size to the TeX
+`\epsfxsize' or `\epsfysize' variables, whichever is more convenient
+for you. That is, put
+
+ \epsfxsize=DIMEN
+
+right before the call to `\epsffile'. Then the width of the TeX box
+will be DIMEN and its height will be scaled proportionately.
+Similarly, you can set the vertical size with
+
+ \epsfysize=DIMEN
+
+in which case the height will be set and the width scaled
+proportionally.
+
+ If you set both, both will be honored, but the aspect ratio of the
+included graphic may necessarily be distorted, i.e., its contents
+stretched in one direction or the other.
+
+ You can resize graphics in a more general way by redefining the
+`\epsfsize' macro. `\epsffile' calls this with two parameters: the
+natural horizontal and vertical sizes of the PostScript graphic.
+`\epsfsize' must expand to the desired horizontal size, that is, the
+width of the `\vbox'. Schematically:
+
+ \def\epsfsize#1#2{BODY}
+
+ Some useful definitions of BODY:
+
+`\epsfxsize'
+ This definition (the default) enables the default features listed
+ above, by setting `\epsfxsize' to the same value it had before the
+ macro was called.
+
+`#1'
+ Force the natural size by returning the first parameter (the
+ original width).
+
+`0pt'
+ A special case, equivalent to `#1'.
+
+`0.5#1'
+ Scale to half the natural size.
+
+`\hsize'
+ Scale to the current `\hsize'. (In LaTeX, use `\textwidth'
+ instead of `\hsize'.)
+
+`\ifnum#1>\hsize\hsize\else#1\fi'
+ If the natural width is greater than the current `\hsize', scale to
+ `\hsize', otherwise use the natural width.
+
+
+ For compatibility with other PostScript drivers, it is possible to
+turn off the default scaling of included figures by the DVI
+magnification with the following TeX command:
+
+ \special{! /magscale false def}
+
+Use of this command is not recommended because it will make the
+`\epsffile' graphics the "wrong" size if global magnification is being
+used, and it will cause any PostScript graphics to appear improperly
+scaled and out of position if a DVI to DVI program is used to scale or
+otherwise modify the document.
+
+ DVI magnification is not applied to any output from code you write in
+`bop-hook' or its ilk (*note PostScript hooks::),
+
+
+File: dvips.info, Node: EPSF clipping, Prev: EPSF scaling, Up: EPSF macros
+
+5.1.3.2 EPSF clipping
+.....................
+
+By default, clipping is disabled for included EPSF images. This is
+because clipping to the bounding box dimensions often cuts off a small
+portion of the figure, due to slightly inaccurate bounding box
+arguments. The problem might be subtle; lines around the boundary of
+the image might be half their intended width, or the tops or bottoms of
+some text annotations might be sliced off. If you want to turn
+clipping on, just use the command
+
+ \epsfclipon
+
+and to turn clipping back off, use
+
+ \epsfclipoff
+
+
+File: dvips.info, Node: psfile special, Next: Dynamic creation of graphics, Prev: EPSF macros, Up: PostScript figures
+
+5.1.4 `psfile' special
+----------------------
+
+The basic special for file inclusion is as follows:
+
+ \special{psfile=FILENAME.ps [KEY=VALUE] ... }
+
+This downloads the PostScript file `FILENAME.ps' such that the current
+point will be the origin of the PostScript coordinate system. The
+optional KEY=VALUE assignments allow you to specify transformations on
+the PostScript.
+
+ The possible KEYs are:
+
+`hoffset'
+ The horizontal offset (default 0)
+
+`voffset'
+ The vertical offset (default 0)
+
+`hsize'
+ The horizontal clipping size (default 612)
+
+`vsize'
+ The vertical clipping size (default 792)
+
+`hscale'
+ The horizontal scaling factor (default 100)
+
+`vscale'
+ The vertical scaling factor (default 100)
+
+`angle'
+ The rotation (default 0)
+
+`clip'
+ Enable clipping to the bounding box
+
+ The dimension parameters are all given in PostScript units. The
+`hscale' and `vscale' are given in non-dimensioned percentage units,
+and the rotation value is specified in degrees. Thus
+
+ \special{psfile=foo.ps hoffset=72 hscale=90 vscale=90}
+
+will shift the graphics produced by file `foo.ps' right by one inch and
+will draw it at 0.9 times normal size. Offsets are given relative to
+the point of the special command, and are unaffected by scaling or
+rotation. Rotation is counterclockwise about the origin. The order of
+operations is to rotate the figure, scale it, then offset it.
+
+ For compatibility with older PostScript drivers, it is possible to
+change the units that `hscale' and `vscale' are given in. This can be
+done by redefining `@scaleunit' in `SDict' by a TeX command such as
+
+ \special{! /@scaleunit 1 def}
+
+The `@scaleunit' variable, which is by default 100, is what `hscale'
+and `vscale' are divided by to yield an absolute scale factor.
+
+
+File: dvips.info, Node: Dynamic creation of graphics, Next: Fonts in figures, Prev: psfile special, Up: PostScript figures
+
+5.1.5 Dynamic creation of PostScript graphics files
+---------------------------------------------------
+
+PostScript is an excellent page description language--but it does tend
+to be rather verbose. Compressing PostScript graphics files can reduce
+them by factor of five or more. For this reason, if the name of an
+included PostScript file ends with `.Z' or `.gz', Dvips automatically
+runs `gzip -d'. For example:
+
+ \epsffile[72 72 540 720]{foo.ps.gz}
+
+Since the results of such a command are not accessible to TeX, if you
+use this facility with the `epsf' macros, you need to supply the
+bounding box parameter yourself, as shown.
+
+ More generally, if the filename parameter to one of the graphics
+inclusion techniques starts with a left quote (``'), the parameter is
+instead interpreted as a command to execute that will send the actual
+file to standard output. For example:
+
+ \special{psfile="`gnuplot foo"}
+
+to include the file `foo'. Of course, the command to be executed can
+be anything, including using a file conversion utility such as `tek2ps'
+or whatever is appropriate. This feature can be disabled with the `-R'
+command-line option or `R' configuration option.
+
+
+File: dvips.info, Node: Fonts in figures, Prev: Dynamic creation of graphics, Up: PostScript figures
+
+5.1.6 Fonts in figures
+----------------------
+
+You can use any font available to TeX and Dvips within a graphics file
+by putting a `%*Font:' line in the leading commentary of the file.
+Schematically, this looks like:
+
+ %*Font: TFMNAME SCALEDBP DESIGNBP HEX-START:HEX-BITSTRING
+
+ Here is the meaning of each of these elements:
+
+TFMNAME
+ The TeX TFM filename, e.g., `cmr10'. You can give the same
+ TFMNAME on more than one `%*Font' line; this is useful when the
+ number of characters from the font used needs a longer
+ HEX-BITSTRING (see item below) than conveniently fits on one line.
+
+SCALEDBP
+ The size at which you are using the font, in PostScript points (TeX
+ big points). 72bp = 72.27pt = 1in.
+
+DESIGNBP
+ The designsize of the font, again in PostScript points. This
+ should match the value in the TFM file TFMNAME. Thus, for `cmr10',
+ it should be `9.96265'.
+
+HEX-START
+ The character code of the first character used from the font,
+ specified as two ASCII hexadecimal characters, e.g., `4b' or `4B'
+ for `K'.
+
+HEX-BITSTRING
+ An arbitrary number of ASCII hexadecimal digits specifying which
+ characters following (and including) HEX-START are used. This is
+ treated as a bitmap. For example, if your figure used the single
+ letter `K', you would use `4b:8' for HEX-START and HEX-BITSTRING.
+ If it used `KLMNP', you would use `4b:f4'.
+
+
+ MetaPost's output figures contain lines like this for bitmap fonts
+used in a MetaPost label (*note MetaPost: (web2c)MetaPost.).
+
+
+File: dvips.info, Node: Header files, Next: Literal PS, Prev: PostScript figures, Up: Interaction with PostScript
+
+5.2 PostScript header files
+===========================
+
+"Header files" are bits of PostScript included in the output file;
+generally they provide support for special features, rather than
+producing any printed output themselves. You can explicitly request
+downloading header files if necessary for some figure, or to achieve
+some special effect.
+
+ Dvips includes some headers on its own initiative, to implement
+features such as PostScript font reencoding, bitmap font downloading,
+handling of `\special''s, and so on. These standard headers are the
+`.pro' files (for "prologue") in the installation directory
+`$(psheaderdir)'; they are created from the `.lpro' ("long prologue")
+files in the distribution by stripping comments, squeezing blank lines,
+etc., for maximum efficiency. If you want to peruse one of the
+standard header files, read the `.lpro' version.
+
+ The PostScript dictionary stack will be at the `userdict' level when
+header files are included.
+
+* Menu:
+
+* Including headers from TeX::
+* Including headers from the command line::
+* Headers and memory usage::
+
+
+File: dvips.info, Node: Including headers from TeX, Next: Including headers from the command line, Up: Header files
+
+5.2.1 Including headers from TeX
+--------------------------------
+
+In order to get a particular graphic file to work, a certain font or
+header file might need to be sent first. The Dvips program provides
+support for this with the `header' `\special'. For instance, to ensure
+that `foo.ps' gets downloaded:
+
+ \special{header=foo.ps}
+
+ As another example, if you have some PostScript code that uses a
+PostScript font not built into your printer, you must download it to the
+printer. If the font isn't used elsewhere in the document, Dvips can't
+know you've used it, so you must include it in the same way, as in:
+
+ \special{header=putr.pfa}
+
+to include the font definition file for Adobe Utopia Roman.
+
+ The `header' also special allows for specifying some additional code
+that should be inserted into the PostScript document before and after
+the file itself, as follows:
+
+ \special{header={foo.ps} pre={pre code} post={post code}}
+
+ This will insert `pre code' just before `foo.ps' and `post code'
+just after. It is required to use the (balanced) braces in _all_ of
+the arguments, including the `header', when using this extended syntax.
+
+ This allows, for instance, dynamic headers, where some of the content
+depends on settings from the user in (La)TeX. Another application is
+the inclusion of graphics inside the PostScript header, so that they
+can be reused throughout the document, as with logs. That avoids
+including the same graphic several times. This is implemented in the
+`graphics/graphicx-psmin' package.
+
+ This extended syntax has one additional feature. When Dvips finds the
+extended syntax, it will also look in the installed `tex/' tree(s) for
+the header file (`foo.ps' in our example), and not only in the current
+directory and dvips tree as the original syntax does. This is because
+common graphics may well come with packages which are installed in the
+`tex/' tree.
+
+
+File: dvips.info, Node: Including headers from the command line, Next: Headers and memory usage, Prev: Including headers from TeX, Up: Header files
+
+5.2.2 Including headers from the command line
+---------------------------------------------
+
+You can include headers when you run Dvips, as well as from your
+document (see the previous section). To do this, run Dvips with the
+option `-P HEADER'; this will read the file `config.HEADER', which in
+turn can specify a header file to be downloaded with the `h' option.
+*Note Configuration file commands::. These files are called
+`HEADER.cfg' on MS-DOS.
+
+ You can arrange for the same file to serve as a `-P' config file and
+the downloadable header file, by starting the lines of PostScript code
+with a space, leaving only the `h' line and any comments starting in
+the first column. As an example, see `contrib/volker/config.*'
+(`contrib/volker/*.cfg' on MS-DOS). (These files also perform useful
+functions: controlling duplex/simplex mode on duplex printers, and
+setting various screen frequencies; `contrib/volker/README' explains
+further.)
+
+
+File: dvips.info, Node: Headers and memory usage, Prev: Including headers from the command line, Up: Header files
+
+5.2.3 Headers and memory usage
+------------------------------
+
+Dvips tries to avoid overflowing the printer's memory by splitting the
+output files into "sections" (see the `-i' option in *Note Option
+details::). Therefore, for all header files, Dvips debits the printer
+VM budget by some value. If the header file has, in its leading
+commentary a line of the form
+
+ %%VMusage: MIN MAX
+
+then MAX is used. If there is no `%%VMusage' line, then the size (in
+bytes) of the header file is used as an approximation.
+
+ Illustrations (figure files) are also checked for `%%VMusage' line.
+
+
+File: dvips.info, Node: Literal PS, Next: Hypertext, Prev: Header files, Up: Interaction with PostScript
+
+5.3 Literal PostScript
+======================
+
+You can include literal PostScript code in your document in several
+ways.
+
+* Menu:
+
+* " special:: To include inline PostScript code.
+* ps special:: Inline PostScript without save/restore.
+* PostScript hooks:: Specifying code to run in the PS interpreter.
+* Literal headers:: Literal PostScript for the whole document.
+* Literal examples:: Neat example.
+
+
+File: dvips.info, Node: " special, Next: ps special, Up: Literal PS
+
+5.3.1 `"' special: Literal PostScript
+-------------------------------------
+
+For simple graphics, or just for experimentation, literal PostScript
+code can be included. Simply use a `\special' beginning with a double
+quote character `"'; there is no matching closing `"'.
+
+ For instance, the following (simple) graphic:
+
+ [ picture of a grey triangle ]
+
+was created by typing:
+
+ \vbox to 100bp{\vss % a bp is the same as a PostScript unit
+ \special{" newpath 0 0 moveto 100 100 lineto 394 0 lineto
+ closepath gsave 0.8 setgray fill grestore stroke}}
+
+ You are responsible for leaving space for such literal graphics, as
+with the `\vbox' above.
+
+
+File: dvips.info, Node: ps special, Next: PostScript hooks, Prev: " special, Up: Literal PS
+
+5.3.2 `ps' special
+------------------
+
+Generally, Dvips encloses specials in a PostScript save/restore pair,
+guaranteeing that the special will have no effect on the rest of the
+document. The `ps' special, however, allows you to insert literal
+PostScript instructions without this protective shield; you should
+understand what you're doing (and you shouldn't change the PostScript
+graphics state unless you are willing to take the consequences). This
+command can take many forms because it has had a torturous history; any
+of the following will work:
+
+ \special{ps:TEXT}
+ \special{ps::TEXT}
+ \special{ps::[begin]TEXT}
+ \special{ps::[end]TEXT}
+
+(with longer forms taking precedence over shorter forms, when they are
+present). `ps::' and `ps::[end]' do no positioning, so they can be
+used to continue PostScript literals started with `ps:' or
+`ps::[begin]'.
+
+ In addition, the variant
+
+ \special{ps: plotfile FILENAME}
+
+inserts the contents of FILENAME verbatim into the output (except for
+omitting lines that begin with %). An example of the proper use of
+literal specials can be found in the file `rotate.tex', which makes it
+easy to typeset text turned in multiples of 90 degrees.
+
+
+File: dvips.info, Node: Literal headers, Next: Literal examples, Prev: PostScript hooks, Up: Literal PS
+
+5.3.3 Literal headers: `!' `\special'
+-------------------------------------
+
+You can download literal PostScript header code in your TeX document,
+for use with (for example) literal graphics code that you include later.
+The text of a `\special' beginning with an `!' is copied into the
+output file. A dictionary `SDict' will be current when this code is
+executed; Dvips arranges for `SDict' to be first on the dictionary
+stack when any PostScript graphic is included, whether literally (the
+`"' special) or through macros (e.g., `epsf.tex').
+
+ For example:
+
+ \special{! /reset { 0 0 moveto} def}
+
+
+File: dvips.info, Node: PostScript hooks, Next: Literal headers, Prev: ps special, Up: Literal PS
+
+5.3.4 PostScript hooks
+----------------------
+
+Besides including literal PostScript at a particular place in your
+document (as described in the previous section), you can also arrange to
+execute arbitrary PostScript code at particular times while the
+PostScript is printing.
+
+ If any of the PostScript names `bop-hook', `eop-hook', `start-hook',
+or `end-hook' are defined in `userdict', they will be executed at the
+beginning of a page, end of a page, start of the document, and end of a
+document, respectively.
+
+ When these macros are executed, the default PostScript coordinate
+system and origin is in effect. Such macros can be defined in headers
+added by the `-h' option or the `header=' special, and might be useful
+for writing, for instance, `DRAFT' across the entire page, or, with the
+aid of a shell script, dating the document. These macros are executed
+outside of the save/restore context of the individual pages, so it is
+possible for them to accumulate information, but if a document must be
+divided into sections because of memory constraints, such added
+information will be lost across section breaks.
+
+ The single argument to `bop-hook' is the physical page number; the
+first page gets zero, the second one, etc. `bop-hook' must leave this
+number on the stack. None of the other hooks are passed arguments.
+
+ As an example of what can be done, the following special will write
+a light grey `DRAFT' across each page in the document:
+
+ \special{!userdict begin /bop-hook{gsave 200 30 translate
+ 65 rotate /Times-Roman findfont 216 scalefont setfont
+ 0 0 moveto 0.7 setgray (DRAFT) show grestore}def end}
+
+ Using `bop-hook' or `eop-hook' to preserve information across pages
+breaks compliance with the Adobe document structuring conventions, so
+if you use any such tricks, you may also want to use the `-N' option to
+turn off structured comments (such as `%%Page'). Otherwise, programs
+that read your file will assume its pages are independent.
+
+
+File: dvips.info, Node: Literal examples, Prev: Literal headers, Up: Literal PS
+
+5.3.5 Literal examples
+----------------------
+
+To finish off this section, the following examples of literal PostScript
+are presented without explanation:
+
+ \def\rotninety{\special{ps:currentpoint currentpoint translate 90
+ rotate neg exch neg exch translate}}\font\huge=cmbx10 at 14.4truept
+ \setbox0=\hbox to0pt{\huge A\hss}\vskip16truept\centerline{\copy0
+ \special{ps:gsave}\rotninety\copy0\rotninety\copy0\rotninety
+ \box0\special{ps:grestore}}\vskip16truept
+
+ [ There are 4 `A' characters, each rotated 90 degrees about a
+common center point ]
+
+ \vbox to 2truein{\special{ps:gsave 0.3 setgray}\hrule height 2in
+ width\hsize\vskip-2in\special{ps:grestore}\font\big=cminch\big
+ \vss\special{ps:gsave 1 setgray}\vbox to 0pt{\vskip2pt
+ \line{\hss\hskip4pt NEAT\hss}\vss}\special{ps:0 setgray}%
+ \hbox{\raise2pt\line{\hss NEAT\hss}\special{ps:grestore}}\vss}
+
+ [ There is a big gray box with the word `NEAT' inside in big letters
+]
+
+ Some caveats are in order, however. Make sure that each `gsave' is
+matched with a `grestore' on the same page. Do not use `save' and
+`restore'; they can interact with the PostScript generated by Dvips if
+care is not taken. Try to understand what the above macros are doing
+before writing your own. The `\rotninety' macro especially has a
+useful trick that appears again and again.
+
+
+File: dvips.info, Node: Hypertext, Prev: Literal PS, Up: Interaction with PostScript
+
+5.4 HyperTeXt
+=============
+
+Dvips has support for producing hypertext PostScript documents. If you
+specify the `-z' option, the `html:' specials described below will be
+converted into `pdfmark' PostScript operators to specify links.
+Without `-z', `html:' specials are ignored.
+
+ The resulting PostScript can then be processed by a distiller
+program to make a PDF file. (It can still be handled by ordinary
+PostScript interpreters as well.) Various versions of both PC and Unix
+distillers are supported; Ghostscript includes limited distiller support
+(*note Ghostscript installation::).
+
+ Macros you can use in your TeX document to insert the specials in the
+first place are available from `CTAN:/support/hypertex'. For CTAN
+info, *note unixtex.ftp: (kpathsea)unixtex.ftp.
+
+ This hypertext support (and original form of the documentation) was
+written by Mark Doyle and Tanmoy Bhattacharya as the `dvihps' program.
+You can retrieve their software and additional documentation via the
+CTAN reference above. You may also be interested in the Java previewer
+IDVI, available at `http://www.win.tue.nl/~dickie/idvi', and/or in
+`http://www.emrg.com/texpdf.html', which describes the process of
+making PDF files from TeX files in more detail.
+
+ Mail archives for the original project are at
+`http://math.albany.edu:8800/hm/ht/'.
+
+* Menu:
+
+* Hypertext caveats:: Font quality, missing character psi.
+* Hypertext specials:: The details on the specials.
+
+
+File: dvips.info, Node: Hypertext caveats, Next: Hypertext specials, Up: Hypertext
+
+5.4.1 Hypertext caveats
+-----------------------
+
+If you intend to go all the way to PDF, you may want to use the standard
+35 PostScript fonts exclusively, since other fonts are embedded as
+bitmaps by default. The Adobe PDF readers are extremely slow when
+dealing with bitmap fonts and the results look terrible on the screen.
+Printouts will probably look fine, but may not take full advantage of a
+high-resolution printer. Alternatively, you can have your fonts
+embedded as Type 1 scalable outlines. The resulting PostScript files
+may be larger, but can be effectively rasterized at any resolution.
+They can also be converted to PDF files that can be used effectively at
+any screen or printer resolution.
+
+ To get the TeX fonts embedded in the PostScript file as Type 1 fonts,
+add `-Ppdf' to the dvips command line switches. The printout for a run
+should look something like this:
+
+ dvips report -Ppdf -o report.ps
+ This is dvips(k) 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com)
+ ' TeX output 2001.06.15:0837' -> report.ps
+ <tex.pro><alt-rule.pro><texc.pro><texps.pro><special.pro>.
+ <cmbx9.pfb><cmsy6.pfb><cmsy7.pfb><cmr5.pfb><cmex10.pfb><cmr9.pfb>
+ <cmmi7.pfb><cmsy10.pfb><cmmib10.pfb><cmmi10.pfb><cmti10.pfb>
+ <cmr7.pfb><cmbx10.pfb><cmr10.pfb><cmti9.pfb><cmr12.pfb><cmbx12.pfb>
+ [1] [2<mean1.ps>] [3<bounce1-00.ps>] [4]
+
+ An entry like "<cmr10.pfb>" indicates success: dvips found the
+Computer Modern Roman 10 point font in a PostScript Font Binary file,
+translated it to an ASCII encoding, and embedded it. You can confirm
+this by examining the PostScript output file, looking for the section
+starting `%%BeginFont: CMR10' followed by an entry `/FontType 1 def'.
+
+ The `-Ppdf' option requires that the relevant outline (`.pfa' or
+`.pfb') files be installed (*note Font concepts::). For example, the
+`cmr10' file might be in
+`/usr/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb'. Your TeX
+distribution may make those fonts available in a separate optional
+package (e.g., `tetex-extra' in Debian). Failing that, commercial
+versions of the Computer Modern fonts are available from Blue Sky;
+public domain versions - in particular, the lm fonts, and the cm-super
+fonts, are available from CTAN sites (for CTAN info, *note unixtex.ftp:
+(kpathsea)unixtex.ftp.).
+
+ You can convert a PostScript file to PDF using `distill', which
+comes with Adobe Acrobat, or `ps2pdf', which comes with Ghostscript.
+The `ps2pdf' that comes with `Ghostscript' version 6.0 or earlier will
+not embed Type 1 fonts. Current recommendations are GNU Ghostscript
+6.51 or Aladdin Ghostscript 7.0. You can check the fonts in a PDF file
+with Acrobat Reader by selecting the menu entries `File|Document
+Info|Fonts'.
+
+ Also, the Adobe distillers prior to 2.1 drop trailing space
+characters (character code 32) from strings. Unfortunately, the
+PostScript fonts use this character code for characters other than
+space (notably the Greek letter psi in the `Symbol' font), and so these
+characters are dropped. This bug is fixed in version 2.1.
+
+ If you can't upgrade, One workaround is to change all the trailing
+blanks in strings to a character code that isn't in the font. This works
+because the default behavior is to substitute a blank for a missing
+character, i.e., the distiller is fooled into substituting the right
+character. For instance, with the Blue Sky fonts, you can globally
+replace ` )' with `\200)' (with `sed', for example) and get the desired
+result. With the public domain fonts, you will probably have to use a
+character code in the range 128 to 191 since these fonts duplicate the
+first 32 characters starting at 192 to avoid MS-DOS problems.
+
+ For more information on the use of TeX to produce PDF files, see the
+article "Creating quality Adobe PDF files from TeX with DVIPS" by
+Kendall Whitehouse of Adobe. Adobe seems not to offer the article any
+more, but copies are available elsewhere:
+ `http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html'
+ `http://www.utdallas.edu/~cantrell/online/543e.html'
+
+ You may also want to check "Notes on converting (La)TeX documents to
+robust PDF using Rokicki's dvips and Acrobat Distiller" by Timothy P.
+Van Zandt:
+`http://www.emrg.com/texpdf.htmlhttp://zandtwerk.insead.fr/tex2pdf.html'.
+
+
+File: dvips.info, Node: Hypertext specials, Prev: Hypertext caveats, Up: Hypertext
+
+5.4.2 Hypertext specials
+------------------------
+
+Current support for the World Wide Web in the TeX system does not
+involve modifying TeX itself. We need only define some specials;
+Arthur Smith (<apsmith@aps.org>), Tanmoy Bhattacharya, and Paul
+Ginsparg originally proposed and implemented the following:
+ html:<a href="XURL">
+ html:<a name="NAME">
+ html:</a>
+ html:<img src="XURL">
+ html:<base href="XURL">
+
+ Like all TeX `\special''s, these produce no visible output, and are
+uninterpreted by TeX itself. They are instructions to DVI processors
+only.
+
+ Here, XURL is a standard WWW uniform resource locator (URL),
+possibly extended with a `#TYPE.STRING' construct, where TYPE is
+`page', `section', `equation', `reference' (for bibliographic
+references), `figure', `table', etc. For example,
+ \special{html:<a href="http://www.maths.tcd.ie/~tim/ch1.dvi#equation.1.1">}
+ is a link to equation (1.1) in an example document by Tim Murphy.
+
+ See the URL
+`http://www.w3.org/hypertext/WWW/Addressing/Addressing.html' for a
+precise description of base URL's.
+
+ Descriptions of the `\special''s:
+`href'
+ Creates links in your TeX document. For example:
+ \special{html:<a href="http://www.tug.org/">}\TeX\ Users
+ Group\special{html:</a>}
+ The user will be able to click on the text `TeX Users Group' while
+ running Xdvi and get to the TUG home page. (By the way, this is
+ for illustration. In practice, you most likely want to use macros
+ to insert the `\special' commands; reference above.)
+
+`name'
+ Defines URL targets in your TeX documents, so links can be
+ resolved. For example:
+ \special{html:<a name="paradise">}Paradise\special{html:</a>}
+ is exactly where you are right now.
+ This will resolve an `href="#paradise"'. You'll also have to
+ change the catcode of `#', etc. It's usually easiest to use
+ existing macro packages which take care of all the details, such as
+ `hyperref' for LaTeX. The HyperTeX FAQ
+ (http://arxiv.org/hypertex/) has more information.
+
+`img'
+ Links to an arbitrary external file. Interactively, a viewer is
+ spawned to read the file according to the file extension and your
+ `mailcap' file (see the Xdvi documentation).
+
+`base'
+ Defines a base URL that is prepended to all the `name' targets.
+ Typically unnecessary, as the name of the DVI file being read is
+ used by default.
+
+ The `img' and `base' tags are not yet implemented in Dvips or the
+NeXTSTEP DVI viewer.
+
+
+File: dvips.info, Node: PostScript fonts, Next: Color, Prev: Interaction with PostScript, Up: Top
+
+6 PostScript fonts
+******************
+
+Dvips supports the use of PostScript fonts in TeX documents. To use a
+PostScript font conveniently, you need to prepare a corresponding
+virtual font; the program Afm2tfm, supplied with Dvips, helps with that.
+
+ All the necessary support for the standard 35 PostScript fonts
+(`AvantGarde-Book' through `ZapfDingbats'), plus other freely or
+commonly available PostScript fonts is available along with Dvips. To
+use these fonts, you need do nothing beyond what is mentioned in the
+installation procedure (*note Installation::). This chapter is
+therefore relevant only if you are installing new PostScript fonts not
+supplied with Dvips. (Or if you're curious.)
+
+* Menu:
+
+* Font concepts:: Metrics, glyphs, virtual fonts, and encodings.
+* Making a font available:: Installing and using a PostScript font.
+* Invoking afm2tfm:: Creating TFM and AFM files for a virtual font.
+* psfonts.map:: Defining available PostScript fonts.
+
+
+File: dvips.info, Node: Font concepts, Next: Making a font available, Up: PostScript fonts
+
+6.1 Font concepts
+=================
+
+The information needed to typeset using a particular font is contained
+in two files: a "metric file" that contains shape-independent
+information and a "glyph file" that contains the actual shapes of the
+font's characters. A "virtual font" is an optional additional file
+that can specify special ways to construct the characters. TeX itself
+(or LaTeX) look only at the metric file, but DVI drivers such as Dvips
+look at all three of these files.
+
+ An "encoding file" defines the correspondence between the code
+numbers of the characters in a font and their descriptive names. Two
+encoding files used together can describe a reencoding that rearranges,
+i.e., renumbers, the characters of a font.
+
+* Menu:
+
+* Metric files:: Shape-independent font information.
+* Glyph files:: Character shapes.
+* Virtual fonts:: Constructing one font from others.
+* Encodings:: Character codes and character names.
+* PostScript typesetting:: How PostScript typesets a character.
+
+
+File: dvips.info, Node: Metric files, Next: Glyph files, Up: Font concepts
+
+6.1.1 Metric files
+------------------
+
+A "metric file" describes properties of the font that are independent
+of what the characters actually look like. Aside from general
+information about the font itself, a metric file has two kinds of
+information: information about individual characters, organized by
+character code, and information about sequences of characters.
+
+ The per-character information specifies the width, height, depth, and
+italic correction of each character in the font. Any might be zero.
+
+ In addition to information on individual characters, the metric file
+specifies "kerning", i.e., adding or removing space between particular
+character pairs. It further specifies "ligature" information: when a
+sequence of input characters should be typeset as a single (presumably
+different) "ligature" character. For example, it's traditional for the
+input `fi' to be typeset as `fi', not as `fi' (with the dot of the `i'
+colliding with `f'). (In English, the only common ligatures are fi,
+fl, ff, ffi, and ffl.)
+
+ Different typesetting systems use different metric file formats:
+
+ * Each Postscript font has an "Adobe font metrics" (`.afm') file.
+ These files are plain text, so you can inspect them easily. You
+ can get AFM files for Adobe's fonts from
+ `ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs'.
+
+ * TeX uses "TeX font metrics" (`.tfm') files. When you say `\font =
+ FONT' in your TeX document, TeX reads a file named `FONT.tfm'.
+ (Well, except for the `texfonts.map' feature; *note Fontmap:
+ (kpathsea)Fontmap.). TeX can then calculate the space occupied by
+ characters from the font when typesetting. In addition, the DVI
+ drivers you use to print or view the DVI file produced by TeX may
+ need to look at the TFM file.
+
+ TFM files are binary (and hence are typically much smaller than AFM
+ files). You can use the `tftopl' program (*note tftopl invocation:
+ (web2c)tftopl invocation.) that comes with TeX to transform a TFM
+ file into a human-readable "property list" (`.pl') file. You can
+ also edit a PL file and transform it back to a TeX-readable TFM
+ with the companion program `pltotf' (*note pltotf invocation:
+ (web2c)pltotf invocation.). Editing metrics by hand is not
+ something you're likely to want to do often, but the capability is
+ there.
+
+ * ATM and other typesetting systems use "printer font metric"
+ (`.pfm') files. These are binary files. They are irrelevant in the
+ TeX world, and not freely available, so we will not discuss them
+ further.
+
+
+ The Afm2tfm program distributed with Dvips converts an AFM file to a
+TFM file and performs other useful transformations as well. *Note
+Invoking afm2tfm::.
+
+
+File: dvips.info, Node: Glyph files, Next: Virtual fonts, Prev: Metric files, Up: Font concepts
+
+6.1.2 Glyph files
+-----------------
+
+Although a metric file (see the previous section) contains information
+about the spatial and other properties of the character at position 75,
+say, it contains nothing about what the character at position 75
+actually looks like. The glyphs--the actual shapes of the letterforms
+in a font--are defined by other files, which we call glyph files. TeX
+itself only reads the TFM file for a font; it does not need to know
+character shapes.
+
+ A "glyph file" is a file that defines the shapes of the characters
+in a font. The shapes can be defined either by outlines or by bitmaps.
+
+ PostScript fonts are defined as "outline fonts": Each character in
+the font is defined by giving the mathematical curves (lines, arcs, and
+splines) that define its contours. Different sizes of a character are
+generated by linearly scaling a single shape. For example, a 10-point
+`A' is simply half the size of a 20-point `A'. Nowadays, outline fonts
+usually also contain "hints"--additional information to improve the
+appearance of the font at small sizes or low resolutions.
+
+ Although various kinds of PostScript outline fonts exist, by far the
+most common, and the only one we will consider, is called "Type 1".
+The glyph files for Postscript Type 1 fonts typically have names ending
+in `.pfa' ("printer font ASCII") or `.pfb' ("printer font binary").
+
+ In contrast, glyph files for Computer Modern and the other standard
+TeX fonts are "bitmap fonts", generated from Metafont (`.mf')
+descriptions. The Metafont program distributed with TeX generates
+bitmaps from these descriptions.
+
+ The glyph files for TeX bitmap fonts are usually stored in "packed
+font" (PK) files. The names of these files end in `.NNNpk', where NNN
+is the resolution of the font in dots per inch. For example,
+`cmr10.600pk' contains the bitmaps for the `cmr10' font at a resolution
+of 600dpi. (On DOS filesystems, it's more likely `dpi600\cmr10.pk'.)
+
+ Metafont actually outputs "generic font" (GF) files, e.g.,
+`cmr10.600gf', but the GF files are usually converted immediately to PK
+format (using the `gftopk' utility that comes with TeX) since PK files
+are smaller and contain the same information. (The GF format is a
+historical artifact.)
+
+
+File: dvips.info, Node: Virtual fonts, Next: Encodings, Prev: Glyph files, Up: Font concepts
+
+6.1.3 Virtual fonts
+-------------------
+
+A "virtual font" is constructed by extracting characters from one or
+more existing fonts and rearranging them, or synthesizing new characters
+in various ways. The explanation in this manual is intended to suffice
+for understanding enough about virtual fonts to use them with Dvips. It
+isn't a reference manual on virtual fonts. For more information: The
+primary document on virtual fonts is Donald E. Knuth, `TUGboat' 11(1),
+Apr. 1990, pp. 13-23, "Virtual Fonts: More Fun for Grand Wizards"
+(`CTAN:/info/virtual-fonts.knuth'; for CTAN info, *note unixtex.ftp:
+(kpathsea)unixtex.ftp.). (Don't be intimidated by the subtitle.)
+
+ A virtual font (`.vf') file specifies, for each character in the
+virtual font, a recipe for typesetting that character. A VF file, like
+a TFM file, is in a compressed binary format. The `vftovp' and
+`vptovf' programs convert a VF file to a human-readable VPL (virtual
+property list) format and back again. *Note vftovp invocation:
+(web2c)vftovp invocation, and *Note vptovf invocation: (web2c)vptovf
+invocation.
+
+ In the case of a PostScript font F being used in a straightforward
+way, the recipe says: character I in the VF font is character J in font
+F. The font F is called a "base font". For example, the VF file could
+remap the characters of the PostScript font to the positions where TeX
+expects to find them. *Note Encodings::.
+
+ Since TeX reads only TFM files, not VF's, each VF must have a
+corresponding TFM for use with TeX. This corresponding TFM is created
+when you run `vptovf'.
+
+ You can "expand" virtual fonts into their base fonts with DVIcopy
+(*note dvicopy invocation: (web2c)dvicopy invocation.). This is useful
+if you are using a DVI translator that doesn't understand vf's itself.
+
+
+File: dvips.info, Node: Encodings, Next: PostScript typesetting, Prev: Virtual fonts, Up: Font concepts
+
+6.1.4 Encodings
+---------------
+
+Every font, whatever its type, has an "encoding", that specifies the
+correspondence between "logical" characters and character codes. For
+example, the ASCII encoding specifies that the character numbered 65
+(decimal) is an uppercase `A'. The encoding does not specify what the
+character at that position looks like; there are lots of ways to draw an
+`A', and a glyph file (*note Glyph files::) tells how. Nor does it
+specify how much space that character occupies; that information is in a
+metric file (*note Metric files::).
+
+ TeX implicitly assumes a particular encoding for the fonts you use
+with it. For example, the plain TeX macro `\'', which typesets an
+acute accent over the following letter, assumes the acute accent is at
+position 19 (decimal). This happens to be true of standard TeX fonts
+such as Computer Modern, as you might expect, but it is not true of
+normal PostScript fonts.
+
+ It's possible but painful to change all the macros that assume
+particular character positions. A better solution is to create a new
+font with the information for the acute accent at position 19, where
+TeX expects it to be. *Note Making a font available::.
+
+ PostScript represents encodings as a sequence of 256 character names
+called an "encoding vector". An "encoding file" (`.enc') gives such a
+vector, together with ligature and kerning information (with which we
+are not concerned at the moment). These encoding files are used by the
+Afm2tfm program. Encoding files are also downloaded to the PostScript
+interpreter in your printer if you use one of them in place of the
+default encoding vector for a particular PostScript font.
+
+ Examples of encodings: the `dvips.enc' encoding file that comes with
+Dvips in the `reencode' directory is a good (but not perfect)
+approximation to the TeX encoding for TeX's Computer Modern text fonts.
+This is the encoding of the fonts that originated with Dvips, such as
+`ptmr.tfm'. The distribution includes many other encoding files; for
+example, `8r.enc', which is the base font for the current PostScript
+font distribution, and three corresponding to the TeX mathematics
+fonts: `texmext.enc' for math extensions, `texmital.enc' for math
+italics, and `texmsym.enc' for math symbols.
+
+
+File: dvips.info, Node: PostScript typesetting, Prev: Encodings, Up: Font concepts
+
+6.1.5 How PostScript typesets a character
+-----------------------------------------
+
+The output of Dvips is a program in the PostScript language that
+instructs your (presumably PostScript-capable) printer how to typeset
+your document by transforming it into toner on paper. Your printer, in
+turn, contains a PostScript interpreter that carries out the
+instructions in this typesetting program.
+
+ The program must include the definition of any PostScript fonts that
+you use in your document. Fonts built into your printer (probably the
+standard 35: `Times-Roman', `ZapfDingbats', ...) are defined within the
+interpreter itself. Other fonts must be downloaded as pfa or pfb files
+(*note Glyph files::) from your host (the computer on which you're
+running Dvips).
+
+ You may be wondering exactly how a PostScript interpreter figures out
+what character to typeset, with this mass of metrics, glyphs, encodings,
+and other information. (If you're not wondering, skip this section ...)
+
+ The basic PostScript operator for imaging characters is `show'.
+Suppose you've asked TeX to typeset an `S'. This will eventually wind
+up in the Dvips output as the equivalent of this PostScript operation:
+
+ (S) show
+
+Here is how PostScript typesets the `S':
+
+ 1. PostScript interpreters use ASCII; therefore `S' is represented as
+ the integer 83. (Any of the 256 possible characters representable
+ in a standard 8-bit byte can be typeset.)
+
+ 2. A PostScript "dictionary" is a mapping of names to arbitrary
+ values. A font, to the interpreter, is a dictionary which
+ contains entries for certain names. (If these entries are
+ missing, the interpreter refuses to do anything with that font.)
+
+ PostScript has a notion of "the current font"--whatever font is
+ currently being typeset in.
+
+ 3. One of the mandatory entries in a font dictionary is `Encoding',
+ which defines the encoding vector (*note Encodings::) for that
+ font. This vector of 256 names maps each possible input character
+ to a name.
+
+ 4. The interpreter retrieves the entry at position 83 of the encoding
+ vector. This value is a PostScript name: `/S'.
+
+ 5. For Type 1 fonts (we're not going to discuss anything else), the
+ interpreter now looks up `/S' as a key in a dictionary named
+ `CharStrings', another mandatory entry in a font dictionary.
+
+ 6. The value of `S' in `CharStrings' is the equivalent of a series of
+ standard PostScript commands like `curveto', `lineto', `fill', and
+ so on. These commands are executed to draw the character. There
+ can also be "hint information" that helps adapt the character to
+ low-resolution rasters. (*Note Glyph files::.) The commands are
+ actually represented in a more compact way than standard
+ PostScript source; see the Type 1 book for details.
+
+
+ This method for typesetting characters is used in both Level 1 and
+Level 2 PostScript. See the PostScript reference manuals for more
+information.
+
+
+File: dvips.info, Node: Making a font available, Next: Invoking afm2tfm, Prev: Font concepts, Up: PostScript fonts
+
+6.2 Making a PostScript font available
+======================================
+
+To make a PostScript font available in a TeX document, you need to
+install the font on your system and then define it within the document.
+Once you have installed the font, of course, it is available for any
+document thereafter and you don't need to reinstall it. You must have
+an AFM file for any font you install. Unless the font is built into your
+printer, you must also have a PFA or PFB file.
+
+ In the following examples, we use the font `Times-Roman' to
+illustrate the process. But you should use the prebuilt fonts for Times
+and the other standard fonts, rather than rebuilding them. The prebuilt
+fonts are made using a more complicated process than that described
+here, to make them work as well as possible with TeX. So following the
+steps in this manual will not generate files identical to the
+distributed ones. *Note PostScript font installation::, for pointers to
+the prebuilt fonts.
+
+ Installation of a PostScript font proceeds in three steps. *Note
+Font concepts::, for descriptions of the various files involved.
+
+ 1. Run `afm2tfm' to create a TFM file for the original font, and the
+ VPL form of the virtual font:
+ afm2tfm Times-Roman -v ptmr rptmr
+
+ 2. Run `vptovf' to generate a VF and TFM file for the virtual font
+ from the VPL file:
+ vptovf ptmr.vpl ptmr.vf ptmr.tfm
+
+ 3. Insert an entry for the font in `psfonts.map' (*note
+ psfonts.map::):
+ rptmr Times-Roman <ptmr8a.pfa
+
+ 4. Install the files in the standard locations, as in:
+ cp ptmr.vf FONTDIR/vf/...
+ cp *ptmr.tfm FONTDIR/tfm/...
+ cp ptmr.afm FONTDIR/afm/...
+ cp ptmr.pf? FONTDIR/type1/...
+
+ The simplest invocation of Afm2tfm to make virtual fonts goes
+something like this:
+
+ afm2tfm Times-Roman -v ptmr rptmr
+
+This reads the file `Times-Roman.afm', and produces two files as
+output, namely the virtual property list'file `ptmr.vpl', and the "raw"
+font metric file `rptmr.tfm'. To use the font in TeX, you first run
+
+ vptovf ptmr.vpl ptmr.vf ptmr.tfm
+
+You should then install the virtual font file `ptmr.vf' where Dvips
+will see it and install `ptmr.tfm' and `rptmr.tfm' where TeX and Dvips
+will see them.
+
+ Using these raw fonts is not recommended; there are no raw fonts in
+the prebuilt PostScript fonts distributed along with Dvips. But
+nevertheless, that's how Afm2tfm presently operates, so that's what we
+document here. The `r' prefix convention is likewise historical
+accident.
+
+ You can also make more complex virtual fonts by editing `ptmr.vpl'
+before running `vptovf'; such editing might add the uppercase Greek
+characters in the standard TeX positions, for instance. (This has
+already been done for the prebuilt fonts.)
+
+ Once the files have been installed, you're all set. You can now do
+things like this in TeX:
+ \font\myfont = ptmr at 12pt
+ \myfont Hello, I am being typeset in 12-point Times-Roman.
+
+ Thus, we have two fonts, one actual (`rptmr', which is analogous to
+the font in the printer) and one virtual (`ptmr', which has been
+remapped to the standard TeX encoding (almost)), and has typesetting
+know-how added. You could also say
+
+ \font\raw = rptmr at 10pt
+
+and typeset directly with that, but then you would have no ligatures or
+kerning, and you would have to use Adobe character positions for special
+letters like the ligature `AE'. The virtual font `ptmr' not only has
+ligatures and kerning, and most of the standard accent conventions of
+TeX, it also has a few additional features not present in the Computer
+Modern fonts. For example, it includes all the Adobe characters (such
+as the Polish ogonek and the French guillemots). The only things you
+lose from ordinary TeX text fonts are the dotless `j' (which can be
+hacked into the VPL file with literal PostScript specials if you have
+the patience) and uppercase Greek letters (which just don't exist
+unless you buy them separately). *Note Reencoding with Afm2tfm::.
+
+ As a final step you need to record information about both the virtual
+font and the original font (if you ever might want to use it) in the
+`psfonts.map' file (*note psfonts.map::). For our example, you'd
+insert the following into `psfonts.map':
+ rptmr Times-Roman <ptmr8a.pfa
+
+Of course, `Times-Roman' is already built in to most every printer, so
+there's no need to download any Type 1 file for it. But if you are
+actually following these instructions for new fonts, most likely they
+are not built in to the printer.
+
+ These PostScript fonts can be scaled to any size. Go wild! Using
+PostScript fonts, however, does use up a great deal of the printer's
+memory and it does take time. You may find downloading bitmap fonts
+(possibly compressed, with the `Z' option) to be faster than using the
+built-in PostScript fonts.
+
+
+File: dvips.info, Node: Invoking afm2tfm, Next: psfonts.map, Prev: Making a font available, Up: PostScript fonts
+
+6.3 Invoking Afm2tfm
+====================
+
+The Afm2tfm program converts an AFM file for a PostScript font to a TFM
+file and a VPL file for a corresponding virtual font (or, in its
+simplest form, to a TFM file for the PostScript font itself). The
+results of the conversion are affected by the command-line options and
+especially by the reencodings you can specify with those options. You
+can also obtain special effects such as an oblique font.
+
+ An alternative to Afm2tfm for creating virtual fonts is Alan
+Jeffrey's `fontinst' program, available from
+`CTAN:fonts/utilities/fontinst' (for CTAN info, *note unixtex.ftp:
+(kpathsea)unixtex.ftp.).
+
+* Menu:
+
+* Changing font encodings:: Reencoding with -t, -p, -T.
+* Special font effects:: Oblique fonts, small caps, and such.
+* Afm2tfm options:: afm2tfm command-line options.
+
+
+File: dvips.info, Node: Changing font encodings, Next: Special font effects, Up: Invoking afm2tfm
+
+6.3.1 Changing font encodings
+-----------------------------
+
+Afm2tfm allows you to specify a different encoding for a PostScript font
+(for a general introduction to encodings, *note Encodings::). The `-t'
+options changes the TeX encoding, `-p' changes the PostScript encoding,
+and `-T' changes both simultaneously, as detailed in the sections below.
+
+* Menu:
+
+* Changing TeX encodings:: Where TeX finds a character.
+* Changing PostScript encodings:: Where PostScript finds a character.
+* Changing both encodings:: One and the same, simultaneously.
+* Reencoding with Afm2tfm:: Problems with the default encoding.
+* Encoding file format:: Syntax of an encoding file.
+
+
+File: dvips.info, Node: Changing TeX encodings, Next: Changing PostScript encodings, Up: Changing font encodings
+
+6.3.1.1 `-t': Changing TeX encodings
+....................................
+
+To build a virtual font with Afm2tfm, you specify the `-v' or `-V'
+option. You can then specify an encoding for that virtual font with `-t
+TEX-ENC'. (`-t' is ignored if neither `-v' nor `-V' is present.) Any
+ligature and kerning information you specify in TEX-ENC will be used in
+the VPL, in addition to the ligature and kerning information from the
+AFM file.
+
+ If the AFM file has no entry for a character specified in TEX-ENC,
+that character will be omitted from the output VPL.
+
+ The `-t' option is likely to be needed when you have a PostScript
+font corresponding to a TeX font other than a normal text font such as
+Computer Modern. For instance, if you have a PostScript font that
+contains math symbols, you'd probably want to use the encoding in the
+`texmsym.enc' file supplied with Dvips. (For a start; to actually get
+usable math fonts, you have to define much more than just an encoding.)
+
+
+File: dvips.info, Node: Changing PostScript encodings, Next: Changing both encodings, Prev: Changing TeX encodings, Up: Changing font encodings
+
+6.3.1.2 `-p': Changing PostScript encodings
+...........................................
+
+By default, Afm2tfm uses the encoding it finds in the AFM file. You can
+specify a different PostScript encoding with `-p PS-ENC'. This makes
+the raw TFM file (the one output by Afm2tfm) have the encoding
+specified in the encoding file PS-ENC. Any ligature or kern
+information specified in PS-ENC is ignored by Afm2tfm, since ligkern
+info is always omitted from the raw TFM.
+
+ If you use this option, you must also arrange to download PS-ENC as
+part of any document that uses this font. You do this by adding a line
+like the following one to `psfonts.map' (*note psfonts.map::):
+ zpopr Optima "MyEncoding ReEncodeFont" <myenc.enc
+
+ Using `-p' is the only way to access characters in a PostScript font
+that are neither encoded in the AFM file nor constructed from other
+characters. For instance, Adobe's `Times-Roman' font contains the
+extra characters `trademark' and `registered' (among others); these can
+only be accessed through such a PostScript reencoding.
+
+ The `8r' base encoding used for the current PostScript font
+distribution does do this reencoding, for precisely this reason.
+
+
+File: dvips.info, Node: Changing both encodings, Next: Reencoding with Afm2tfm, Prev: Changing PostScript encodings, Up: Changing font encodings
+
+6.3.1.3 `-T': Changing both TeX and PostScript encodings
+........................................................
+
+The option `-T ENC-FILE' is equivalent to `-p ENC-FILE -t ENC-FILE'.
+If you make regular use of a private non-standard reencoding `-T' is
+usually a better idea than the individual options, to avoid unexpected
+inconsistencies in mapping otherwise. An example of when you might use
+this option is a dingbats font: when you have a TeX encoding that is
+designed to be used with a particular PostScript font.
+
+
+File: dvips.info, Node: Reencoding with Afm2tfm, Next: Encoding file format, Prev: Changing both encodings, Up: Changing font encodings
+
+6.3.1.4 Reencoding with Afm2tfm
+...............................
+
+The Afm2tfm program creates the TFM and VF files for the virtual font
+corresponding to a PostScript font by "reencoding" the PostScript font.
+Afm2tfm generates these files from two encodings: one for TeX and one
+for PostScript. The TeX encoding is used to map character numbers to
+character names while the PostScript encoding is used to map each
+character name to a possibly different number. In combination, you can
+get access to any character of a PostScript font at any position for
+TeX typesetting.
+
+ In the default case, when you specify none of the `-t', `-p', or
+`-T' options, Afm2tfm uses a default TeX encoding (which mostly
+corresponds to the Computer Modern text fonts) and the PostScript
+encoding found in the AFM file being read. The reencoding is also
+sometimes called a "remapping".
+
+ For example, the default encodings reencode the acute accent in two
+steps: first the default TeX encoding maps the number 19 to the
+character name `acute'; then the default PostScript encoding, as found
+in the AFM file for an ordinary PostScript font, maps the character
+name `acute' to the number 194. (The PostScript encoding works in
+reverse, by looking in the encoding vector for the name and then
+yielding the corresponding number.) The combined mapping of 19 to 194
+shows up explicitly in the VF file and also implicitly in the fact that
+the properties of PostScript character 194 appear in position 19 of the
+TFM file for the virtual font.
+
+ The default encoding of the distributed fonts (e.g., `ptmr.tfm')
+mostly follows plain TeX conventions for accents. The exceptions: the
+Hungarian umlaut (which is at position `0x7D' in `cmr10', but position
+`0xCD' in `ptmr'); the dot accent (at positions `0x5F' and `0xC7',
+respectively); and the Scandinavian A ring `\AA', whose definition
+needs different tweaking. In order to use these accents with
+PostScript fonts or in math mode when `\textfont0' is a PostScript
+font, you will need to use the following definitions. These
+definitions will not work with the Computer Modern fonts for the
+relevant accents. They are already part of the distributed
+`psfonts.sty' for use with LaTeX.
+
+ \def\H#1{{\accent"CD #1}}
+ \def\.#1{{\accent"C7 #1}}
+ \def\dot{\mathaccent"70C7 }
+ \newdimen\aadimen
+ \def\AA{\leavevmode\setbox0\hbox{h}\aadimen\ht0
+ \advance\aadimen-1ex\setbox0\hbox{A}\rlap{\raise.67\aadimen
+ \hbox to \wd0{\hss\char'27\hss}}A}
+
+ As a kind of summary, here are the `CODINGSCHEME's that result from
+the various possible choices for reencoding.
+
+default encoding
+ (CODINGSCHEME TeX text + AdobeStandardEncoding)
+
+`-p dc.enc'
+ (CODINGSCHEME TeX text + DCEncoding)
+
+`-t dc.enc'
+ (CODINGSCHEME DCEncoding + AdobeStandardEncoding)
+
+`-T dc.enc'
+ (CODINGSCHEME DCEncoding + DCEncoding)
+
+
+The `CODINGSCHEME' line appears in the VPL file but is ignored by Dvips.
+
+
+File: dvips.info, Node: Encoding file format, Prev: Reencoding with Afm2tfm, Up: Changing font encodings
+
+6.3.1.5 Encoding file format
+............................
+
+Afm2tfm's encoding files have the same format as an encoding vector in a
+PostScript font. Here is a skeletal example:
+
+ % Comments are ignored, unless the first word after the percent sign
+ % is `LIGKERN'; see below.
+ /MyEncoding [ % exactly 256 entries follow, each with a leading `/'
+ /Alpha /Beta /Gamma /Delta ...
+ /A /B ... /Z
+ ... /.notdef /xfooaccent /yfooaccent /zfooaccent
+ ] def
+
+ These encoding files are downloaded as part of changing the encoding
+at the PostScript level (see the previous section).
+
+ Comments, which start with a percent sign and continue until the end
+of the line, are ignored unless they start with `LIGKERN' (see below).
+
+ The first non-comment word of the file must start with a forward
+slash `/' (i.e., a PostScript literal name) and defines the name of the
+encoding. The next word must be an left bracket `['. Following that
+must be precisely 256 character names; use `/.notdef' for any that you
+want to leave undefined. Then there must be a matching right bracket
+`]'. A final `def' token is optional. All names are case-sensitive.
+
+ Any ligature or kern information is given as a comment. If the first
+word after the `%' is `LIGKERN', then the entire rest of the line is
+parsed for ligature and kern information. This ligature and kern
+information is given in groups of words: each group is terminated by a
+space and a semicolon and (unless the semicolon is at the end of a
+line) another space.
+
+ In these `LIGKERN' statements, three types of information may be
+specified. These three types are ligature pairs, kerns to ignore, and
+the character value of this font's boundary character.
+
+ Throughout a `LIGKERN' statement, the boundary character is
+specified as `||'. To set the font's boundary character value for TeX:
+
+ % LIGKERN || = 39 ;
+
+ To indicate a kern to remove, give the names of the two characters
+(without the leading slash) separated by `{}', as in `one {} one ;'.
+This is intended to be reminiscent of the way you might use `{}' in a
+TeX file to turn off ligatures or kerns at a particular location.
+Either or both of the character names can be given as `*', which is a
+wild card matching any character; thus, all kerns can be removed with
+`* {} * ;'.
+
+ To specify a ligature, specify the names of the pair of characters,
+followed by the ligature operation (as in Metafont), followed by the
+replacing character name. Either (but not both) of the first two
+characters can be `||' to indicate a word boundary.
+
+ The most common operation is `=:' meaning that both characters are
+removed and replaced by the third character, but by adding the `|'
+character on either side of the `=:', you can retain either or both of
+the two leading characters. In addition, by suffixing the ligature
+operation with one or two `>' signs, you can make the ligature scanning
+operation skip that many resulting characters before proceeding. This
+works just like in Metafont. For example, the `fi' ligature is
+specified with `f i =: fi ;'. A more convoluted ligature is `one one
+|=:|>> exclam ;' which separates a pair of adjacent `1''s with an
+exclamation point, and then skips over two of the resulting characters
+before continuing searching for ligatures and kerns. You cannot give
+more >'s than |'s in an ligature operation, so there are a total of
+eight possibilities:
+
+ =: |=: |=:> =:| =:|> |=:| |=:|> |=:|>>
+
+ The default set of ligatures and kerns built in to Afm2tfm is:
+
+ % LIGKERN question quoteleft =: questiondown ;
+ % LIGKERN exclam quoteleft =: exclamdown ;
+ % LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+ % LIGKERN quoteleft quoteleft =: quotedblleft ;
+ % LIGKERN quoteright quoteright =: quotedblright ;
+ % LIGKERN space {} * ; * {} space ; 0 {} * ; * {} 0 ;
+ % LIGKERN 1 {} * ; * {} 1 ; 2 {} * ; * {} 2 ; 3 {} * ; * {} 3 ;
+ % LIGKERN 4 {} * ; * {} 4 ; 5 {} * ; * {} 5 ; 6 {} * ; * {} 6 ;
+ % LIGKERN 7 {} * ; * {} 7 ; 8 {} * ; * {} 8 ; 9 {} * ; * {} 9 ;
+
+
+File: dvips.info, Node: Special font effects, Next: Afm2tfm options, Prev: Changing font encodings, Up: Invoking afm2tfm
+
+6.3.2 Special font effects
+--------------------------
+
+Besides the reencodings described in the previous section, Afm2tfm can
+do other manipulations. (Again, it's best to use the prebuilt fonts
+rather than attempting to remake them.)
+
+ `-s SLANT' makes an obliqued variant, as in:
+
+ afm2tfm Times-Roman -s .167 -v ptmro rptmro
+
+This creates `ptmro.vpl' and `rptmro.tfm'. To use this font, put the
+line
+
+ rptmro Times-Roman ".167 SlantFont"
+
+into `psfonts.map'. Then `rptmro' (our name for the obliqued Times)
+will act as if it were a resident font, although it is actually
+constructed from Times-Roman via the PostScript routine `SlantFont'
+(which will slant everything 1/6 to the right, in this case).
+
+ Similarly, you can get an expanded font with
+
+ afm2tfm Times-Roman -e 1.2 -v ptmrre rptmrre
+
+and by recording the pseudo-resident font
+
+ rptmrre Times-Roman "1.2 ExtendFont"
+
+in `psfonts.map'.
+
+ You can also create a small caps font with a command such as
+
+ afm2tfm Times-Roman -V ptmrc rptmrc
+
+This will generate a set of pseudo-small caps mapped into the usual
+lowercase positions and scaled down to 0.8 of the normal cap
+dimensions. You can also specify the scaling as something other than
+the default 0.8:
+
+ afm2tfm Times-Roman -c 0.7 -V ptmrc rptmrc
+
+ It is unfortunately not possible to increase the width of the small
+caps independently of the rest of the font. If you want a really
+professional looking set of small caps, you need to acquire a small caps
+font.
+
+ To change the `PaintType' in a font from filled (0) to outlined (2),
+you can add `"/PaintType 2 store"' to `psfonts.map', as in the
+following:
+
+ rphvrl Helvetica "/PaintType 2 store"
+
+ Afm2tfm writes to standard output the line you need to add to
+`psfonts.map' to use that font, assuming the font is resident in the
+printer; if the font is not resident, you must add the `<FILENAME'
+command to download the font. Each identical line only needs to be
+specified once in the `psfonts.map' file, even though many different
+fonts (small caps variants, or ones with different output encodings)
+may be based on it.
+
+
+File: dvips.info, Node: Afm2tfm options, Prev: Special font effects, Up: Invoking afm2tfm
+
+6.3.3 Afm2tfm options
+---------------------
+
+Synopsis:
+ afm2tfm [OPTION]... AFMFILE[.afm] [TFMFILE[.tfm]]
+
+ Afm2tfm reads AFMFILE and writes a corresponding (but raw) TFM file.
+If TFMFILE is not supplied, the base name of the AFM file is extended
+with `.tfm' to get the output filename.
+
+ The simplest example:
+
+ afm2tfm Times-Roman rptmr
+
+The TFM file thus created is "raw" because it omits ligature and kern
+information, and does no character remapping; it simply contains the
+character information in the AFM file in TFM form, which is the form
+that TeX understands. The characters have the same code in the TFM
+file as in the AFM file. For text fonts, this means printable ASCII
+characters will work ok, but little else, because standard PostScript
+fonts have a different encoding scheme than the one that plain TeX
+expects (*note Encodings::). Although both schemes agree for the
+printable ASCII characters, other characters such as ligatures and
+accents vary. Thus, in practice, it's almost always desirable to create
+a virtual font as well with the `-v' or `-V' option. *Note Making a
+font available::.
+
+ The command line options to Afm2tfm:
+
+`-c RATIO'
+ See `-V'; overrides the default ratio of 0.8 for the scaling of
+ small caps.
+
+`-e RATIO'
+ Stretch characters horizontally by RATIO; if less than 1.0, you
+ get a condensed font.
+
+`-O'
+ Output all character codes in the `vpl' file as octal numbers, not
+ names; this is useful for symbol or other special-purpose fonts
+ where character names such as `A' have no meaning.
+
+`-p PS-ENC'
+ Use PS-ENC for the destination (PostScript) encoding of the font;
+ PS-ENC must be mentioned as a header file for the font in
+ `psfonts.map'. *Note Changing PostScript encodings::.
+
+`-s SLANT'
+ Slant characters to the right by SLANT. If SLANT is negative, the
+ letters slope to the left (or they might be upright if you start
+ with an italic font).
+
+`-t TEX-ENC'
+ Use TEX-ENC for the target (TeX) encoding of the font. Ligature
+ and kern information may also be specified in FILE. FILE is not
+ mentioned in `psfonts.map'.
+
+`-T PS-TEX-ENC'
+ Use PS-TEX-ENC for both the PostScript and target TeX encodings of
+ the font. Equivalent to `-p FILE -t FILE'.
+
+`-u'
+ Use only those characters specified in the TeX encoding, and no
+ others. By default, Afm2tfm tries to include all characters in the
+ input font, even those not present in the TeX encoding (it puts
+ them into otherwise-unused positions, arbitrarily).
+
+`-v VPL-FILE'
+ Output a VPL (virtual property list) file, as well as a TFM file.
+
+`-V VPL-FILE'
+ Same as `-v', but the virtual font generated is a pseudo small caps
+ font obtained by scaling uppercase letters by 0.8 to typeset
+ lowercase. This font handles accented letters and retains proper
+ kerning.
+
+
+File: dvips.info, Node: psfonts.map, Prev: Invoking afm2tfm, Up: PostScript fonts
+
+6.4 `psfonts.map': PostScript font catalog
+==========================================
+
+The `psfonts.map' file associates a PostScript font with related files
+and constructs. Each line has the format:
+
+ FILENAME POSTSCRIPT-NAME OPTIONS
+
+ For example, the line
+ rpstrn StoneInformal <StoneInformal.pfb
+ causes Dvips to download `StoneInformal.pfb' if your document (just
+as if it were a header file, *note Header files::) uses the font
+`StoneInformal'.
+
+ If the `j' config file or command-line option is enabled,
+`StoneInformal.pfb' will be "partially downloaded"--only those
+characters your document actually uses will be extracted and downloaded,
+and the remainder discarded. *Note Option details::.
+
+ Filenames of fonts that are partially downloaded are surrounded by
+curly braces (`{...}') in the progress report Dvips writes to standard
+output. Wholly-downloaded fonts appear inside angle brackets
+(`<...>'), like other downloaded files.
+
+ Adobe Multiple Master fonts, such as Minion, cannot be partially
+downloaded. To partially download in general, but avoid partial
+downloading for individual fonts, use `<<' instead `<':
+ pmnr8r Minion <<Minion.pfb
+
+ You can generate transformed fonts with a line like this:
+ rpstrc StoneInformal <StoneInformal.pfb ".8 ExtendFont"
+
+*Note Special font effects::, for a complete list of font effects.
+
+ You can change the encoding of the Type 1 font at the PostScript
+level with a `ReEncodeFont' instruction, plus the name of the encoding
+file. This allows you access to characters that may be present in the
+Type 1 font file, but not encoded by default--most of the preaccented
+characters, for example. An example:
+ pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" <8r.enc <pstrn8a.pfb
+
+ The `8r' encoding mentioned here has been designed to serve as a
+base for all downloadable fonts; it allows access to all the characters
+commonly present in a Type 1 font. For more details, see the `8r.enc'
+source file that comes with (and is installed with) Dvips.
+
+ You may notice that the same syntax is used for downloading encoding
+vectors and Type 1 font files. To make your intentions clear, you can
+also use `<[' to explicitly indicate you are downloading an encoding
+vector, as in:
+ pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" <[8r.enc <pstrn8a.pfb
+
+ If the filename of your encoding vector does not end in `.enc', and
+you are using partial font downloading, you must use the `<[' syntax,
+or Dvips will not download the font properly.
+
+ Similarly, the name of the Type 1 font file itself must have
+extension `.pfa' or `.pfb' for partial downloading to work properly.
+
+ When using PFB files, Dvips is smart enough to unpack the binary PFB
+format into printable ASCII so there is no need to perform this
+conversion yourself. In addition, Dvips scans the font to determine its
+memory usage, just as it does for other header files (*note Header
+files::).
+
+ Here is a brief summary of how `psfonts.map' is read:
+
+ 1. If a line is empty or begins with a space, percent, asterisk,
+ semicolon, or hash mark, it is ignored.
+
+ 2. Otherwise, the line is separated into words, where words are
+ separated by spaces or tabs, except that if a word begins with a
+ double quote, it extends until the next double quote or the end of
+ the line.
+
+ 3. If a word starts with `<<', it is taken as a font file to be
+ wholly downloaded. Use this to avoid partial downloading, as
+ described above.
+
+ 4. If a word starts with `<[', it is taken as an encoding file to be
+ downloaded. Use this if the name of the encoding file does end in
+ `.enc', also as described above.
+
+ 5. If a word starts with a `<' character, it is treated as a header
+ file that needs to be downloaded. If the name ends in `.pfa' or
+ `.pfb', it is taken as Type 1 font file that will be partially
+ downloaded if the `j' option is in effect. There can be more than
+ one such header for a given font. If a `<' is a word by itself,
+ the next word is taken as the name of the header file.
+
+ 6. If a word starts with a `"' character, it is taken as PostScript
+ code used in generating that font, and is inserted into the output
+ verbatim at the appropriate point. (And the double quotes
+ beginning and ending the word are removed.)
+
+ 7. Otherwise the word is a name. The first such name is the TFM file
+ that a virtual font file can refer to. If there is a second name,
+ it is used as the PostScript name; if there is only one name, it
+ is used for both the TeX name and the PostScript name.
+
+
+
+File: dvips.info, Node: Color, Next: Index, Prev: PostScript fonts, Up: Top
+
+7 Color
+*******
+
+Dvips supports one-pass multi-color printing of TeX documents on any
+color PostScript device. Initially added by Jim Hafner, IBM Research,
+<hafner@almaden.ibm.com>, the color support has gone through many
+changes by Tomas Rokicki. Besides the source code support itself, there
+are additional TeX macro files: `colordvi.tex' and `blackdvi.tex', and
+corresponding `.sty' versions for use with LaTeX.
+
+ In this section we describe the use of color from the document
+preparer's point of view and then add some instructions on installation
+for the TeX administrator.
+
+* Menu:
+
+* Color macro files:: TeX macro definitions.
+* User-definable colors:: Adding your own colors.
+* Color subtleties:: Subtleties in using color.
+* Ted Turner:: Printing in black/white after colorizing.
+* Color device configuration:: Configuring Dvips for color devices.
+* Color support details:: Color support details
+
+
+File: dvips.info, Node: Color macro files, Next: User-definable colors, Up: Color
+
+7.1 Color macro files
+=====================
+
+All the color macro commands are defined in `colordvi.tex' (or
+`colordvi.sty'). To access these macros simply add to the top of your
+plain TeX file the command:
+ \input colordvi
+ For (the obsolete) LaTeX 2.09, add the `colordvi' style option as in:
+ \documentstyle[12pt,colordvi]{article}
+ For LaTeX 2e, these examples are not applicable. Instead, please see
+the documentation for the graphics package, available from
+`CTAN:doc/latex/graphics/'. See also `CTAN:doc/epslatex.ps'.
+
+ These macros provide two basic kinds of color macros: ones for local
+color changes (a few words, a single symbol) and one for global color
+changes (the whole document). All the color names use a mixed case
+scheme to avoid conflicts with other macros. There are 68 predefined
+colors, with names taken primarily from the Crayola crayon box of 64
+colors, and one pair of macros for the user to set his own color pattern
+(*note User-definable colors::). You can browse the file
+`colordvi.tex' for a list of the predefined colors. The comments in
+this file also show a rough correspondence between the crayon names and
+Pantones.
+
+ A local color command has the form
+
+ \COLORNAME{this is the color COLORNAME}
+
+where COLORNAME is the name of a predefined color, e.g., `Blue'. As
+shown, these macros take one argument, the text to print in the
+specified color. This can be used for nested color changes since it
+restores the original color state when it completes. For example:
+
+ This text is normal but here we are \Red{switching to red,
+ \Blue{nesting blue}, recovering the red} and back to original.
+
+The color nesting level has no hard limit, but it is not advisable to
+nest too deeply lest you and the reader lose track of the color history.
+
+ The global color command has the form
+
+ \textCOLORNAME
+
+These macros take no arguments and changes the default color from that
+point on to COLORNAME. This of course can be overridden globally by
+another such command or locally by local color commands. For example,
+expanding on the example above, we might have
+
+ \textGreen
+ This text is green but here we are \Red{switching to red,
+ \Blue{nesting blue}, recovering the red} and back to
+ original green.
+ \textCyan
+ The text from here on will be cyan until
+ \Yellow{locally changed to yellow}. Now we are back to cyan.
+
+ The color commands will even work in math mode and across math mode
+boundaries. This means that if you have a color before going into math
+mode, the mathematics will be set in that color as well. In alignment
+environments like `\halign', `tabular' or `eqnarray', local color
+commands cannot extend beyond the alignment characters.
+
+ Because local color commands respect only some environment and
+delimiter changes besides their own, care must be taken in setting
+their scope. It is best not to have them stretch too far.
+
+ At the present time there are no macros for color environments in
+LaTeX which might have a larger range. This is primarily to keep the
+TeX and LaTeX use compatible.
+
+
+File: dvips.info, Node: User-definable colors, Next: Color subtleties, Prev: Color macro files, Up: Color
+
+7.2 User-definable colors
+=========================
+
+There are two ways for the user to specify colors not already defined.
+For local changes, there is the command `\Color' which takes two
+arguments. The first argument is four numbers between zero and one and
+specifies the intensity of cyan, magenta, yellow and black (CMYK) in
+that order. The second argument is the text that should appear in the
+given color. For example, suppose you want the words "this color is
+pretty" to appear in a color which is 50% cyan, 85% magenta, 40% yellow
+and 20% black. You would use the command
+
+ \Color{.5 .85 .4 .2}{this color is pretty}
+
+ For global color changes, there is a command `\textColor' which
+takes one argument, the CMYK quadruple of relative color intensities.
+For example, if you want the default color to be as above, then the
+command
+
+ \textColor{.5 .85 .4 .2}
+ The text from now on will be this pretty color
+
+will do the trick.
+
+ Making a global color change in the midst of nested local colors is
+highly discouraged. Consequently, Dvips will give you warning message
+and do its best to recover by discarding the current color history.
+
+
+File: dvips.info, Node: Color subtleties, Next: Ted Turner, Prev: User-definable colors, Up: Color
+
+7.3 Color subtleties
+====================
+
+Color macros are defined via `\special' keywords. As such, they are
+put in the `.dvi' file only as explicit message strings to the driver.
+The (unpleasant) result is that certain unprotected regions of the text
+can have unwanted color side effects. For example, if a color region
+is split by TeX across a page boundary, then the footers of the current
+page (e.g., the page number) and the headers of the next page can
+inherit that color. To avoid this effect globally, users should make
+sure that these special regions of the text are defined with their own
+local color commands. For example, to protect the header and footer in
+plain TeX, use
+
+ \headline{\Black{My Header}}
+ \footline{\Black{\hss\tenrm\folio\hss}}
+
+ This warning also applies to figures and other insertions, so be
+careful!
+
+ Of course, in LaTeX, this is much more difficult to do because of the
+complexity of the macros that control these regions. This is
+unfortunate but inevitable, because TeX and LaTeX were not written with
+color in mind.
+
+ Even when writing your own macros, much care must be taken. The
+macros that `colorize' a portion of the text work prefix the text work
+by outputting one `\special' command to turn the color on before the
+text, and outputting another `\special' command afterwards to restore
+the original color. It is often useful to ensure that TeX is in
+horizontal mode before the first special command is issued; this can be
+done by prefixing the color command with `\leavevmode'.
+
+
+File: dvips.info, Node: Ted Turner, Next: Color device configuration, Prev: Color subtleties, Up: Color
+
+7.4 Printing in black/white after colorizing
+============================================
+
+If you have a TeX or LaTeX document written with color macros and you
+want to print it in black and white there are two options. On all
+(good) PostScript devices, printing a color file will print in
+corresponding gray levels. This is useful to get a rough idea of the
+colors without using expensive color printing devices. The second
+option is to replace the call to input `colordvi.tex' with
+`blackdvi.tex' (and similarly for the `.sty' files). So in the above
+example, replacing the word `colordvi' with `blackdvi' suffices.
+`blackdvi.tex' defines the color macros as no-ops, and so will produce
+normal black/white printing. By this simple mechanism, the user can
+switch to all black/white printing without having to ferret out the
+color commands. Also, some device drivers, particularly non-PostScript
+ones like screen previewers, will simply ignore the color commands and
+so print in black/white. Hopefully, in the future screen previewers
+for color displays will be compatible with some form of color support.
+
+
+File: dvips.info, Node: Color device configuration, Next: Color support details, Prev: Ted Turner, Up: Color
+
+7.5 Color device configuration
+==============================
+
+To configure Dvips for a particular color device you need to fine tune
+the color parameters to match your device's color rendition. To do
+this, you will need a Pantone chart for your device. The header file
+`color.lpro' shows a (rough) correspondence between the Crayola crayon
+names and the Pantone numbers and also defines default CMYK values for
+each of the colors. Note that these colors must be defined in CMYK
+terms and not RGB, as Dvips outputs PostScript color commands in CMYK.
+This header file also defines (if they are not known to the
+interpreter) the PostScript commands `setcmykcolor' and
+`currentcmykcolor' in terms of a RGB equivalent so if your device only
+understands RGB, there should be no problem.
+
+ The parameters set in this file were determined by comparing the
+Pantone chart of a Tektronix Phaser printer with the actual Crayola
+Crayons. Because these were defined for a particular device, the
+actual color rendition on your device may be very different. There are
+two ways to adjust this. One is to use the PAntone chart for your
+device to rewrite `color.lpro' prior to compilation and installation.
+A better alternative, which supports multiple devices, is to add a
+header file option in the configuration file (*note Configuration file
+commands::) for each device that defines, in `userdict', the color
+parameters for those colors that need redefining.
+
+ For example, if you need to change the parameters defining
+`Goldenrod' (approximately Pantone 109 on the Phaser) for your device
+`mycolordev', do the following. In the Pantone chart for your device,
+find the CMYK values for Pantone 109. Let's say they are `{\ 0 0.10
+0.75 0.03 }'. Then create a header file named `mycolordev.pro' with the
+commands
+
+ userdict begin
+ /Goldenrod { 0 0.10 0.75 0.03 setcmykcolor} bind def
+
+Finally, in `config.mycolordev' add the line
+
+ h mycolordev.pro
+
+This will then define `Goldenrod' in your device's CMYK values in
+`userdict' which is checked before defining it in `TeXdict' by
+`color.pro'. (On MS-DOS, you will have to call this file
+`mycolordev.cfg'.)
+
+ This mechanism, together with additions to `colordvi.tex' and
+`blackdvi.tex' (and the `.sty' files), can also be used to predefine
+other colors for your users.
+
+
+File: dvips.info, Node: Color support details, Prev: Color device configuration, Up: Color
+
+7.6 Color support details
+=========================
+
+To support color, Dvips recognizes a certain set of specials. These
+specials start with the keyword `color' or the keyword `background',
+followed by a color specification.
+
+* Menu:
+
+* Color specifications::
+* Color specials::
+
+
+File: dvips.info, Node: Color specifications, Next: Color specials, Up: Color support details
+
+7.6.1 Color specifications
+--------------------------
+
+What is a color specification? One of three things. First, it might be
+a PostScript procedure as defined in a PostScript header file. The
+`color.pro' file defines 64 of these, including `Maroon'. This
+PostScript procedure must set the current color to be some value; in
+this case, `Maroon' is defined as `0 0.87 0.68 0.32 setcmykcolor'.
+
+ The second possibility is the name of a color model (initially, one
+of `rgb', `hsb', `cmyk', or `gray') followed by the appropriate number
+of parameters. When Dvips encounters such a macro, it sends out the
+parameters first, followed by the string created by prefixing
+`TeXcolor' to the color model. Thus, the color specification `rgb 0.3
+0.4 0.5' would generate the PostScript code `0.3 0.4 0.5 TeXrgbcolor'.
+Note that the case of zero arguments is disallowed, as that is handled
+by the single keyword case (`Maroon') above, where no changes to the
+name are made before it is sent to the PostScript file.
+
+ The third and final type of color specification is a double quote
+followed by any sequence of PostScript. The double quote is stripped
+from the output. For instance, the color specification `"AggiePattern
+setpattern' will set the `color' to the Aggie logo pattern (assuming
+such exists.)
+
+
+File: dvips.info, Node: Color specials, Prev: Color specifications, Up: Color support details
+
+7.6.2 Color specials
+--------------------
+
+We will describe `background' first, since it is the simplest. The
+`background' keyword must be followed by a color specification. That
+color specification is used as a fill color for the background. The
+last `background' special on a page is the one that gets issued, and it
+gets issued at the very beginning of the page, before any text or
+specials are sent. (This is possible because the prescan phase of
+Dvips notices all of the color specials so that the appropriate
+information can be written out during the second phase.)
+
+ The `color' special itself has three forms. The first is just
+`color' followed by a color specification. In this case, the current
+global color is set to that color; the color stack must be empty when
+such a command is executed.
+
+ The second form is `color push' followed by a color specification.
+This saves the current color on the color stack and sets the color to be
+that given by the color specification. This is the most common way to
+set a color.
+
+ The final version of the `color' special is just `color pop', with
+no color specification; this says to pop the color last pushed on the
+color stack from the color stack and set the current color to be that
+color.
+
+ Dvips correctly handles these color specials across pages, even when
+the pages are repeated or reversed.
+
+ These color specials can be used for things such as patterns or
+screens as well as simple colors. However, note that in the
+PostScript, only one color specification can be active at a time. For
+instance, at the beginning of a page, only the bottommost entry on the
+color stack is sent; also, when a color is popped, all that is done is
+that the color specification from the previous stack entry is sent. No
+`gsave' or `grestore' is used. This means that you cannot easily mix
+usage of the `color' specials for screens and colors, just one or the
+other. This may be addressed in the future by adding support for
+different categories of color-like state.
+
+
+File: dvips.info, Node: Index, Prev: Color, Up: Top
+
+Index
+*****
+
+
+* Menu:
+
+* ! special (literal PS header): Literal headers. (line 6)
+* ! starting output filename: Option details. (line 222)
+* " special (literal PostScript): " special. (line 6)
+* %%BoundingBox: Bounding box. (line 17)
+* %%Page, and multi-page information: PostScript hooks. (line 37)
+* %%Page, not generating: Option details. (line 197)
+* %%Page, removing: Option details. (line 153)
+* %%Page, required by Ghostview: Ghostscript installation.
+ (line 17)
+* %%VMusage: Headers and memory usage.
+ (line 12)
+* %*Font: Fonts in figures. (line 6)
+* (atend), bounding box specification: Bounding box. (line 28)
+* +PSMAPFILE: Configuration file commands.
+ (line 101)
+* -: Option details. (line 11)
+* - as output filename: Option details. (line 222)
+* --help <1>: Option details. (line 15)
+* --help: Option summary. (line 7)
+* --version: Option details. (line 18)
+* -A: Option details. (line 27)
+* -a: Option details. (line 21)
+* -B: Option details. (line 37)
+* -b NUM: Option details. (line 31)
+* -C NUM: Option details. (line 46)
+* -c NUM: Option details. (line 41)
+* -c RATIO: Afm2tfm options. (line 33)
+* -D NUM: Option details. (line 58)
+* -d NUM: Option details. (line 52)
+* -E: Option details. (line 82)
+* -e NUM: Option details. (line 71)
+* -e RATIO: Afm2tfm options. (line 37)
+* -F: Option details. (line 110)
+* -f: Option details. (line 98)
+* -G: Option details. (line 117)
+* -h NAME: Option details. (line 121)
+* -i: Option details. (line 126)
+* -j for partial font downloading: Option details. (line 139)
+* -K: Option details. (line 153)
+* -k for cropmarks: Option details. (line 145)
+* -l [=]NUM: Option details. (line 162)
+* -M: Option details. (line 183)
+* -m: Option details. (line 171)
+* -mode: Option details. (line 174)
+* -mode MODE: Option details. (line 174)
+* -N: Option details. (line 197)
+* -n NUM: Option details. (line 194)
+* -noomega: Option details. (line 205)
+* -O: Afm2tfm options. (line 41)
+* -o NAME: Option details. (line 218)
+* -O X-OFFSET,Y-OFFSET: Option details. (line 234)
+* -p [=]NUM: Option details. (line 252)
+* -P PRINTER: Option details. (line 266)
+* -p PS-ENC <1>: Afm2tfm options. (line 46)
+* -p PS-ENC: Changing PostScript encodings.
+ (line 6)
+* -pp FIRST-LAST: Option details. (line 261)
+* -pp RANGE: Option details. (line 261)
+* -PPRINTER, and config file searching: Configuration file searching.
+ (line 27)
+* -q: Option details. (line 285)
+* -R: Option details. (line 292)
+* -r: Option details. (line 289)
+* -s: Option details. (line 298)
+* -S NUM: Option details. (line 305)
+* -s SLANT: Afm2tfm options. (line 51)
+* -T ENC-FILE: Changing both encodings.
+ (line 6)
+* -T HSIZE,VSIZE: Option details. (line 321)
+* -t PAPERTYPE: Option details. (line 310)
+* -T PS-TEX-ENC: Afm2tfm options. (line 61)
+* -t TEX-ENC <1>: Afm2tfm options. (line 56)
+* -t TEX-ENC: Changing TeX encodings.
+ (line 6)
+* -u: Afm2tfm options. (line 65)
+* -U: Option details. (line 334)
+* -u PSMAPFILE: Option details. (line 326)
+* -V: Option details. (line 345)
+* -v: Option details. (line 342)
+* -V VPL-FILE: Afm2tfm options. (line 74)
+* -v VPL-FILE: Afm2tfm options. (line 71)
+* -X NUM: Option details. (line 362)
+* -x NUM: Option details. (line 354)
+* -Y NUM: Option details. (line 369)
+* -z: Hypertext. (line 6)
+* -Z for compressing bitmap fonts: Option details. (line 378)
+* -z for recognizing hyperdvi: Option details. (line 372)
+* .afm Adobe metric files: Metric files. (line 26)
+* .dvipsrc, searched for: Configuration file searching.
+ (line 14)
+* .enc extension for encoding vectors: psfonts.map. (line 55)
+* .lpro long prologue files: Header files. (line 12)
+* .mf Metafont source files: Glyph files. (line 30)
+* .NNNpk packed font bitmaps: Glyph files. (line 35)
+* .pfa extension required for partial downloading: psfonts.map.
+ (line 59)
+* .pfa printer font ascii files: Glyph files. (line 25)
+* .pfb extension required for partial downloading: psfonts.map.
+ (line 59)
+* .pfb printer font binary files: Glyph files. (line 25)
+* .pfm printer font metric files: Metric files. (line 49)
+* .pl property list files: Metric files. (line 39)
+* .pro prologue files: Header files. (line 12)
+* .tfm TeX font metric files: Metric files. (line 31)
+* /#copies: Option details. (line 31)
+* /magscale: EPSF scaling. (line 67)
+* 612 792 bounding box size: Bounding box. (line 43)
+* 8r encoding, and extra characters: Changing PostScript encodings.
+ (line 24)
+* 8r font encoding: psfonts.map. (line 44)
+* 8r.enc: Encodings. (line 35)
+* < font downloading: psfonts.map. (line 11)
+* << whole font downloading: psfonts.map. (line 27)
+* <[ encoding vector downloading: psfonts.map. (line 49)
+* =: ligature operation: Encoding file format.
+ (line 59)
+* @ paper size config command: Configuration file commands.
+ (line 18)
+* \.: Reencoding with Afm2tfm.
+ (line 44)
+* \AA: Reencoding with Afm2tfm.
+ (line 44)
+* \COLORNAME: Color macro files. (line 31)
+* \dot: Reencoding with Afm2tfm.
+ (line 44)
+* \epsffile macro: EPSF macros. (line 38)
+* \epsfsize: EPSF scaling. (line 29)
+* \epsfverbosetrue: EPSF macros. (line 46)
+* \epsfxsize: EPSF scaling. (line 14)
+* \epsfysize: EPSF scaling. (line 20)
+* \H: Reencoding with Afm2tfm.
+ (line 44)
+* \includegraphics LaTeX macro: \includegraphics. (line 6)
+* \leavevmode: EPSF macros. (line 26)
+* \magnification: EPSF scaling. (line 63)
+* \rotninety: Literal examples. (line 27)
+* \textCOLORNAME: Color macro files. (line 46)
+* a config command (memory conservation): Configuration file commands.
+ (line 21)
+* A ring, Scandinavian letter: Reencoding with Afm2tfm.
+ (line 32)
+* a3 papertype: Option details. (line 310)
+* a4 paper size, as default: Config file paper sizes.
+ (line 72)
+* a4 papertype: Option details. (line 310)
+* absolute filenames, disabling: Option details. (line 292)
+* absolute page number, and -l: Option details. (line 162)
+* absolute page number, and -p: Option details. (line 252)
+* accents, in wrong position: Reencoding with Afm2tfm.
+ (line 32)
+* accents, wrong: Afm2tfm options. (line 17)
+* accuracy in positioning: Option details. (line 71)
+* Adobe fonts: PostScript font installation.
+ (line 10)
+* Adobe fonts, installing: PostScript font installation.
+ (line 19)
+* afm files: Metric files. (line 26)
+* afm2tfm <1>: Invoking afm2tfm. (line 6)
+* afm2tfm: Making a font available.
+ (line 46)
+* afm2tfm options: Afm2tfm options. (line 6)
+* after header, inserting code: Including headers from TeX.
+ (line 28)
+* Aladdin Ghostscript: Ghostscript installation.
+ (line 6)
+* Anderson, Laurie: Hypertext specials. (line 42)
+* arcs: Glyph files. (line 17)
+* ASCII character codes, used by PostScript: PostScript typesetting.
+ (line 31)
+* atend, bounding box specification: Bounding box. (line 28)
+* b config command (#copies): Configuration file commands.
+ (line 24)
+* base: Hypertext specials. (line 57)
+* base encoding, recommended: psfonts.map. (line 44)
+* base fonts: Virtual fonts. (line 24)
+* bbfig: Bounding box. (line 37)
+* before header, inserting code: Including headers from TeX.
+ (line 28)
+* Bhattacharya, Tanmoy: Hypertext. (line 21)
+* big points: Bounding box. (line 11)
+* Bigelow & Holmes fonts: PostScript font installation.
+ (line 10)
+* binary files, not supported: Including graphics fails.
+ (line 23)
+* bitmap fonts: Glyph files. (line 30)
+* Bitstream fonts, installing: PostScript font installation.
+ (line 19)
+* bop undefined error: Printer errors. (line 6)
+* bop-hook <1>: PostScript hooks. (line 11)
+* bop-hook: EPSF scaling. (line 75)
+* bop-hook, and offset pages: Option details. (line 247)
+* boundary character: Encoding file format.
+ (line 41)
+* bounding box, comment for: Bounding box. (line 6)
+* bounding box, defined: Bounding box. (line 11)
+* bounding box, determining: Bounding box. (line 37)
+* bounding box, finding tight: Option details. (line 82)
+* bounding box, inaccurate: EPSF clipping. (line 6)
+* bounding box, supplying to TeX <1>: EPSF macros. (line 26)
+* bounding box, supplying to TeX: \includegraphics. (line 36)
+* changing PostScript encodings: Changing PostScript encodings.
+ (line 6)
+* changing TeX encodings: Changing TeX encodings.
+ (line 6)
+* character definitions in PostScript: PostScript typesetting.
+ (line 55)
+* character lookup procedure in PostScript: PostScript typesetting.
+ (line 6)
+* CharStrings Type 1 dictionary: PostScript typesetting.
+ (line 51)
+* clipping of EPSF: EPSF clipping. (line 6)
+* CODINGSCHEME: Reencoding with Afm2tfm.
+ (line 52)
+* collated copies: Option details. (line 46)
+* color: Color. (line 6)
+* color configuration: Color device configuration.
+ (line 6)
+* color macros: Color macro files. (line 6)
+* color names, mixed case: Color macro files. (line 16)
+* color nesting level: Color macro files. (line 39)
+* color separations: Option details. (line 31)
+* color specifications: Color specifications.
+ (line 6)
+* color subtleties: Color subtleties. (line 6)
+* colors, user-definable: User-definable colors.
+ (line 6)
+* command line, including headers from: Including headers from the command line.
+ (line 6)
+* command-line options: Invoking Dvips. (line 6)
+* comments, in configuration files: Configuration file commands.
+ (line 13)
+* comments, in encoding files: Encoding file format.
+ (line 20)
+* comments, removing included: Option details. (line 153)
+* compilation: Installation. (line 6)
+* compressed PostScript: Dynamic creation of graphics.
+ (line 6)
+* compressing bitmap fonts: Option details. (line 378)
+* Computer Modern in PostScript: Hypertext caveats. (line 6)
+* Computer Modern, encoding of: Encodings. (line 15)
+* condensed fonts: Afm2tfm options. (line 37)
+* config.proto: config.ps installation.
+ (line 15)
+* config.ps: Option details. (line 266)
+* config.ps installation: config.ps installation.
+ (line 6)
+* config.ps, searched for: Configuration file searching.
+ (line 10)
+* configuration file options: Configuration file commands.
+ (line 6)
+* configuration file paper size command: Config file paper sizes.
+ (line 6)
+* configuration file path: Environment variables.
+ (line 47)
+* configuration file searching: Configuration file searching.
+ (line 6)
+* configuration files: Config files. (line 6)
+* configuration files, creating: config.ps installation.
+ (line 6)
+* configuration files, prototype: config.ps installation.
+ (line 15)
+* configuration, of color devices: Color device configuration.
+ (line 6)
+* configuration, of Dvips: Installation. (line 6)
+* continuation lines, not supported: Configuration file commands.
+ (line 13)
+* control-D: Option details. (line 110)
+* copies, collated: Option details. (line 46)
+* copies, duplicated page bodies: Option details. (line 31)
+* copies, uncollated: Option details. (line 41)
+* Crayola crayon box: Color macro files. (line 16)
+* crop.pro: Option details. (line 145)
+* cropmarks: Option details. (line 145)
+* current font, in PostScript: PostScript typesetting.
+ (line 35)
+* D config command (dpi): Configuration file commands.
+ (line 27)
+* dated output: PostScript hooks. (line 16)
+* datestamp, in output: Configuration file commands.
+ (line 33)
+* debugging <1>: Option details. (line 52)
+* debugging: Diagnosing problems. (line 6)
+* debugging options: Debug options. (line 6)
+* default resolutions: Configuration file commands.
+ (line 123)
+* default_texsizes Make variable: Configuration file commands.
+ (line 139)
+* Deutsch, Peter: Ghostscript installation.
+ (line 6)
+* device dependency, and virtual fonts: Configuration file commands.
+ (line 162)
+* dictionary, CharStrings: PostScript typesetting.
+ (line 51)
+* dictionary, PostScript language: PostScript typesetting.
+ (line 35)
+* dictionary, SDict: Literal headers. (line 6)
+* dictionary, userdict: Header files. (line 21)
+* distillation, and -z: Option details. (line 372)
+* distiller, for PDF files: Hypertext. (line 11)
+* dot accent: Reencoding with Afm2tfm.
+ (line 32)
+* double-sided printing: Option details. (line 37)
+* downloading fonts partially: psfonts.map. (line 17)
+* downloading PostScript fonts: psfonts.map. (line 6)
+* Doyle, Mark: Hypertext. (line 21)
+* draft copies: PostScript hooks. (line 16)
+* dual paper trays: Paper trays. (line 6)
+* duplex printers: Including headers from the command line.
+ (line 13)
+* DVI magnification: EPSF scaling. (line 63)
+* dvihps, hyperdvi to PostScript: Hypertext. (line 21)
+* Dvips configuration file options: Configuration file commands.
+ (line 6)
+* dvips.enc: Encodings. (line 35)
+* DVIPSFONTS: Environment variables.
+ (line 17)
+* DVIPSHEADERS: Environment variables.
+ (line 22)
+* DVIPSHEADERS, overrides H: Configuration file commands.
+ (line 47)
+* DVIPSMAKEPK: Environment variables.
+ (line 26)
+* DVIPSRC: Environment variables.
+ (line 32)
+* DVIPSSIZES: Environment variables.
+ (line 37)
+* DVIPSSIZES, overrides R: Configuration file commands.
+ (line 136)
+* dynamic creation of graphics: Dynamic creation of graphics.
+ (line 6)
+* e config command (maxdrift): Configuration file commands.
+ (line 30)
+* E config command (shell escape): Configuration file commands.
+ (line 33)
+* efficiency, and fonts: Making a font available.
+ (line 104)
+* ehandler.ps: No output. (line 12)
+* embedding Type 1 fonts: Hypertext caveats. (line 6)
+* encoding changes: Changing font encodings.
+ (line 6)
+* encoding file format: Encoding file format.
+ (line 6)
+* encoding files: Encodings. (line 27)
+* Encoding Type 1 dictionary: PostScript typesetting.
+ (line 43)
+* encoding vectors, defined: Encodings. (line 27)
+* encoding vectors, in Type 1 fonts: PostScript typesetting.
+ (line 43)
+* encodings: Encodings. (line 6)
+* end-hook: PostScript hooks. (line 11)
+* environment variables: Environment variables.
+ (line 6)
+* EOF: Option details. (line 110)
+* eop-hook: PostScript hooks. (line 11)
+* EPS, and Ghostview: Ghostscript installation.
+ (line 17)
+* EPSF macros: EPSF macros. (line 6)
+* EPSF, generating: Option details. (line 82)
+* epsf.sty: EPSF macros. (line 15)
+* epsf.tex: EPSF macros. (line 13)
+* Epson printers: Ghostscript installation.
+ (line 6)
+* error messages from printer: Printer errors. (line 6)
+* even pages only: Option details. (line 37)
+* examples of literal PostScript: Literal examples. (line 6)
+* expanded fonts <1>: psfonts.map. (line 32)
+* expanded fonts <2>: Afm2tfm options. (line 37)
+* expanded fonts: Special font effects.
+ (line 24)
+* expansion, of virtual fonts: Virtual fonts. (line 34)
+* extended URL: Hypertext specials. (line 20)
+* ExtendFont: Special font effects.
+ (line 28)
+* extra characters, accessing: Changing PostScript encodings.
+ (line 18)
+* F config command (filter): Configuration file commands.
+ (line 41)
+* f config command (filter): Configuration file commands.
+ (line 41)
+* failure, and printer errors: Printer errors. (line 6)
+* failure, of long documents: Long documents fail. (line 6)
+* failure, to include graphics: Including graphics fails.
+ (line 6)
+* failure, to print at all: No output. (line 6)
+* fallback resolutions: Configuration file commands.
+ (line 123)
+* figures and fonts: Fonts in figures. (line 6)
+* figures, natural size: EPSF macros. (line 38)
+* figures, scaling: EPSF scaling. (line 6)
+* filter, running as a: Option details. (line 98)
+* first page printed: Option details. (line 252)
+* font concepts: Font concepts. (line 6)
+* font generation, avoiding: Option details. (line 183)
+* fontinst: Invoking afm2tfm. (line 13)
+* fonts, as header files: Including headers from TeX.
+ (line 13)
+* fonts, changing encoding of: Changing font encodings.
+ (line 6)
+* fonts, downloading: psfonts.map. (line 6)
+* fonts, expanded: Special font effects.
+ (line 24)
+* fonts, in PostScript figures: Fonts in figures. (line 6)
+* fonts, installation of PostScript: PostScript font installation.
+ (line 6)
+* fonts, installing: Making a font available.
+ (line 6)
+* fonts, outlined: Special font effects.
+ (line 50)
+* fonts, slanted: Special font effects.
+ (line 6)
+* fonts, small caps: Special font effects.
+ (line 34)
+* fonts, system PostScript: PostScript font installation.
+ (line 24)
+* gf files: Glyph files. (line 41)
+* gftopk: Glyph files. (line 41)
+* Ghostscript installation: Ghostscript installation.
+ (line 6)
+* ghostview: Ghostscript installation.
+ (line 17)
+* Ghostview, and no N: Ghostscript installation.
+ (line 17)
+* glyph files: Glyph files. (line 6)
+* GLYPHFONTS, overrides P: Configuration file commands.
+ (line 110)
+* GNU Ghostscript: Ghostscript installation.
+ (line 13)
+* gnuplot: Dynamic creation of graphics.
+ (line 25)
+* graphics inclusion fails: Including graphics fails.
+ (line 6)
+* gs installation: Ghostscript installation.
+ (line 6)
+* gsave/grestore, and literal PS: Literal examples. (line 27)
+* gsftopk: Option details. (line 346)
+* h header downloading config command: Configuration file commands.
+ (line 44)
+* H header path config command: Configuration file commands.
+ (line 47)
+* Hafner, Jim: Color. (line 6)
+* header file, downloading: Option details. (line 121)
+* header files, defined: Header files. (line 6)
+* header path, defining: Configuration file commands.
+ (line 47)
+* header=FILE \special: Including headers from TeX.
+ (line 6)
+* headers and memory usage: Headers and memory usage.
+ (line 6)
+* headers, including from the command line: Including headers from the command line.
+ (line 6)
+* headers, including in TeX: Including headers from TeX.
+ (line 6)
+* hints: PostScript typesetting.
+ (line 55)
+* HP printers and Type 1 fonts: PostScript font installation.
+ (line 69)
+* HP4Si printer and paper trays: Paper trays. (line 6)
+* href: Hypertext specials. (line 32)
+* html specials: Hypertext. (line 6)
+* html specials, and -z: Option details. (line 372)
+* http://www.win.tue.nl/~dickie/idvi: Hypertext. (line 21)
+* http://xxx.lanl.gov/hypertex: Hypertext. (line 21)
+* Hungarian umlaut: Reencoding with Afm2tfm.
+ (line 32)
+* hyperdvi extensions, enabling: Option details. (line 372)
+* hypertext and bitmap fonts: Hypertext caveats. (line 6)
+* hypertext caveats: Hypertext caveats. (line 6)
+* hypertext specials: Hypertext specials. (line 6)
+* hypertext support: Hypertext. (line 6)
+* i config command (pages/section): Configuration file commands.
+ (line 51)
+* idvi Java DVI reader: Hypertext. (line 21)
+* Illustrator, workaround for: Including graphics fails.
+ (line 10)
+* img: Hypertext specials. (line 52)
+* including graphics fails: Including graphics fails.
+ (line 6)
+* including headers from the command line: Including headers from the command line.
+ (line 6)
+* including headers in TeX: Including headers from TeX.
+ (line 6)
+* installation of config.ps: config.ps installation.
+ (line 6)
+* installation of PostScript fonts: PostScript font installation.
+ (line 6)
+* installation, of Dvips: Installation. (line 6)
+* installing fonts: Making a font available.
+ (line 6)
+* interaction with PostScript: Interaction with PostScript.
+ (line 6)
+* inverted output: Small or inverted. (line 6)
+* invoking Dvips: Invoking Dvips. (line 6)
+* j config command (partial font downloading): Configuration file commands.
+ (line 55)
+* Java DVI reader: Hypertext. (line 21)
+* Jeffrey, Alan: Invoking afm2tfm. (line 13)
+* K config command (comment-removeal): Configuration file commands.
+ (line 59)
+* kerning, defined: Metric files. (line 15)
+* landscape orientation, defined: Paper size and landscape.
+ (line 11)
+* landscape papertype: Option details. (line 310)
+* landscape, as \special: papersize special. (line 16)
+* last page printed: Option details. (line 162)
+* last-resort font scaling, with DVIPSSIZES: Environment variables.
+ (line 38)
+* last-resort scaling, with R: Configuration file commands.
+ (line 123)
+* ledger papertype: Option details. (line 310)
+* legal papertype: Option details. (line 310)
+* letter papertype: Option details. (line 310)
+* letterhead tray: Paper trays. (line 10)
+* ligature operations: Encoding file format.
+ (line 54)
+* ligature, defined: Metric files. (line 15)
+* LIGKERN encoding file command: Encoding file format.
+ (line 37)
+* lines in figures, wrong width: EPSF clipping. (line 6)
+* links, hypertext: Hypertext specials. (line 33)
+* literal headers: Literal headers. (line 6)
+* literal PostScript, examples: Literal examples. (line 6)
+* literal PostScript, using: Literal PS. (line 6)
+* long documents not printing: Long documents fail. (line 6)
+* low characters, shifting: Option details. (line 117)
+* lpr spooler, MS-DOS emulation: Option details. (line 222)
+* Lucida, installing: PostScript font installation.
+ (line 10)
+* m config command (available memory): Configuration file commands.
+ (line 63)
+* M config command (mf mode): Configuration file commands.
+ (line 82)
+* macros for color: Color macro files. (line 6)
+* macros for epsf inclusion <1>: EPSF macros. (line 6)
+* macros for epsf inclusion: \includegraphics. (line 6)
+* magnification, DVI: EPSF scaling. (line 63)
+* magnification, overriding DVI: Option details. (line 354)
+* magnification, vertical: Option details. (line 365)
+* mailcap and hypertext: Hypertext specials. (line 53)
+* manual feed: Option details. (line 171)
+* maxdrift: Option details. (line 71)
+* maximum pages printed: Option details. (line 194)
+* media: Option details. (line 310)
+* memory available: Configuration file commands.
+ (line 63)
+* memory of printer exhausted: Printer errors. (line 14)
+* memory usage, and headers: Headers and memory usage.
+ (line 6)
+* memory, conserving: Option details. (line 21)
+* memory, used by PostScript fonts: Making a font available.
+ (line 104)
+* Metafont ligature operations: Encoding file format.
+ (line 54)
+* Metafont mode, specifying: Option details. (line 174)
+* Metafont source files: Glyph files. (line 30)
+* metric files: Metric files. (line 6)
+* Minion typeface family: psfonts.map. (line 27)
+* missfont.log: Option details. (line 183)
+* MISSFONT_LOG: Option details. (line 186)
+* Mitsubishi Shinko CHC-S446i printer: No output. (line 14)
+* mkdvipspapers: Config file paper sizes.
+ (line 69)
+* mktexpk, avoiding: Option details. (line 183)
+* mktexpk, changing name: Environment variables.
+ (line 27)
+* mode name, specifying: Option details. (line 174)
+* Monotype fonts: PostScript font installation.
+ (line 10)
+* Monotype fonts, installing: PostScript font installation.
+ (line 19)
+* mtpk: Option details. (line 346)
+* multiple master fonts: psfonts.map. (line 27)
+* multiple output files: Option details. (line 126)
+* multiple paper trays: Paper trays. (line 6)
+* Murphy, Tim: Hypertext specials. (line 20)
+* N EPS-disabling config command: Configuration file commands.
+ (line 85)
+* name: Hypertext specials. (line 41)
+* narrow fonts: psfonts.map. (line 32)
+* no output at all: No output. (line 6)
+* non-printing characters, shifting: Option details. (line 117)
+* non-resident fonts: psfonts.map. (line 6)
+* O config command (offset): Configuration file commands.
+ (line 98)
+* o config command (output file): Configuration file commands.
+ (line 90)
+* oblique fonts: Special font effects.
+ (line 6)
+* octal character codes: Afm2tfm options. (line 41)
+* odd pages only: Option details. (line 27)
+* offset pages: Option details. (line 234)
+* Omega extensions: Option details. (line 205)
+* option, details of: Option details. (line 6)
+* options, debugging: Debug options. (line 6)
+* options, Dvips: Invoking Dvips. (line 6)
+* options, reading from standard input: Option details. (line 11)
+* options, summary: Option summary. (line 6)
+* options, to Afm2tfm: Afm2tfm options. (line 6)
+* outline fonts <1>: Special font effects.
+ (line 50)
+* outline fonts: Glyph files. (line 17)
+* output file, sectioning of: Headers and memory usage.
+ (line 6)
+* output file, setting: Configuration file commands.
+ (line 90)
+* output files, multiple: Option details. (line 126)
+* output, inverted: Small or inverted. (line 6)
+* output, none: No output. (line 6)
+* output, redirecting: Option details. (line 218)
+* output, too small: Small or inverted. (line 6)
+* p config command (font aliases): Configuration file commands.
+ (line 101)
+* P config command (PK path): Configuration file commands.
+ (line 110)
+* page range: Option details. (line 261)
+* page, first printed: Option details. (line 252)
+* page, last printed: Option details. (line 162)
+* pages, maximum printed: Option details. (line 194)
+* PaintType: Special font effects.
+ (line 50)
+* Pantone colors: Color macro files. (line 16)
+* paper size configuration file command: Config file paper sizes.
+ (line 6)
+* paper size, default: config.ps installation.
+ (line 6)
+* paper size, general: Paper size and landscape.
+ (line 6)
+* paper trays: Paper trays. (line 6)
+* paper type: Option details. (line 310)
+* papersize special: papersize special. (line 6)
+* papersize special, and no -t: Option details. (line 310)
+* partial font downloading: psfonts.map. (line 17)
+* PDF files, font quality: Hypertext caveats. (line 6)
+* PDF files, making <1>: Hypertext. (line 11)
+* PDF files, making: Ghostscript installation.
+ (line 6)
+* PDF files, option for: Option details. (line 372)
+* pdfmark: Hypertext. (line 6)
+* pfa files: Glyph files. (line 25)
+* pfb files: Glyph files. (line 25)
+* pfb files, automatically unpacked: psfonts.map. (line 62)
+* pfm files: Metric files. (line 49)
+* Phaser printer, used for color calibration: Color device configuration.
+ (line 18)
+* physical page number, and -l: Option details. (line 162)
+* physical page number, and -p: Option details. (line 252)
+* physical page number, and bop-hook: PostScript hooks. (line 26)
+* pipes, not readable: Option details. (line 98)
+* pk files: Glyph files. (line 35)
+* PKFONTS, overrides P: Configuration file commands.
+ (line 110)
+* plotfile, ps subspecial: ps special. (line 25)
+* pltotf: Metric files. (line 39)
+* popen for output: Option details. (line 222)
+* positioning accuracy: Option details. (line 71)
+* post code after headers: Including headers from TeX.
+ (line 28)
+* PostScript code, literal: Literal PS. (line 6)
+* PostScript encoding: Encodings. (line 27)
+* PostScript encoding, changing: Changing PostScript encodings.
+ (line 6)
+* PostScript font alias file <1>: Configuration file commands.
+ (line 101)
+* PostScript font alias file: Option details. (line 326)
+* PostScript fonts: PostScript fonts. (line 6)
+* PostScript fonts, installing: PostScript font installation.
+ (line 6)
+* PostScript fonts, on your system: PostScript font installation.
+ (line 24)
+* PostScript header files: Header files. (line 6)
+* PostScript hooks: PostScript hooks. (line 6)
+* PostScript interaction: Interaction with PostScript.
+ (line 6)
+* PostScript previewers: Ghostscript installation.
+ (line 6)
+* PostScript units: Bounding box. (line 11)
+* PowerPage PostScript implementation: No output. (line 14)
+* pre code before headers: Including headers from TeX.
+ (line 28)
+* previewing Dvips output: Ghostscript installation.
+ (line 6)
+* PRINTER: Environment variables.
+ (line 41)
+* printer configuration: config.ps installation.
+ (line 6)
+* printer configuration file, prototype: config.ps installation.
+ (line 15)
+* printer errors: Printer errors. (line 6)
+* printer memory: Configuration file commands.
+ (line 63)
+* printer memory exhausted: Printer errors. (line 14)
+* printer offset: Option details. (line 234)
+* PRINTER, and config file searching: Configuration file searching.
+ (line 36)
+* PRINTER, avoided with -f: Option details. (line 98)
+* printer, driving directly: Option details. (line 110)
+* problems: Diagnosing problems. (line 6)
+* property list files: Metric files. (line 39)
+* prototype printer configuration file: config.ps installation.
+ (line 15)
+* ps special: ps special. (line 6)
+* psfile special: psfile special. (line 6)
+* psfonts.map <1>: psfonts.map. (line 6)
+* psfonts.map <2>: Special font effects.
+ (line 19)
+* psfonts.map: PostScript font installation.
+ (line 24)
+* psheaderdir: Header files. (line 12)
+* psi character missing: Hypertext caveats. (line 55)
+* pstopk: Option details. (line 346)
+* Q config command (quiet): Configuration file commands.
+ (line 117)
+* q config command (quiet): Configuration file commands.
+ (line 117)
+* quiet operation: Option details. (line 285)
+* r config command (page reversal): Configuration file commands.
+ (line 120)
+* R fallback resolution config command: Configuration file commands.
+ (line 123)
+* reencode/*.enc: Encodings. (line 35)
+* reencoding: Reencoding with Afm2tfm.
+ (line 6)
+* reencoding PostScript fonts: psfonts.map. (line 37)
+* registered character, accessing: Changing PostScript encodings.
+ (line 18)
+* remapping: Reencoding with Afm2tfm.
+ (line 6)
+* resident fonts, different in different printers <1>: Configuration file commands.
+ (line 101)
+* resident fonts, different in different printers: Option details.
+ (line 326)
+* resolution: Option details. (line 362)
+* resolution, setting: Option details. (line 58)
+* reverse pagination: Option details. (line 289)
+* Rokicki, Tomas: Why Dvips. (line 68)
+* rotate.tex: ps special. (line 29)
+* S config command (pict path): Configuration file commands.
+ (line 148)
+* s config command (save/restore): Configuration file commands.
+ (line 145)
+* save/restore, and inverted output: Small or inverted. (line 6)
+* save/restore, and literal PS: Literal examples. (line 27)
+* save/restore, and specials: ps special. (line 6)
+* save/restore, generating global: Option details. (line 298)
+* scaleunit: psfile special. (line 55)
+* scaling of figures: EPSF scaling. (line 6)
+* scaling small caps: Afm2tfm options. (line 33)
+* Scandinavian A ring: Reencoding with Afm2tfm.
+ (line 32)
+* screen frequencies, setting: Including headers from the command line.
+ (line 13)
+* SDict: psfile special. (line 55)
+* SDict dictionary: Literal headers. (line 6)
+* searching config files, order of: Configuration file searching.
+ (line 6)
+* sections of output file, and memory: Headers and memory usage.
+ (line 6)
+* sections output, in separate files: Option details. (line 126)
+* security: Option details. (line 292)
+* shell command execution, disabling: Option details. (line 292)
+* shell escape, in config file: Configuration file commands.
+ (line 33)
+* Shinko CHC-S446i printer: No output. (line 14)
+* show PostScript operator: PostScript typesetting.
+ (line 23)
+* silent operation: Option details. (line 285)
+* simplex mode on duplex printers: Including headers from the command line.
+ (line 13)
+* slanted fonts: Special font effects.
+ (line 6)
+* slanted fonts, making: Afm2tfm options. (line 51)
+* SlantFont: Special font effects.
+ (line 17)
+* small caps fonts: Special font effects.
+ (line 34)
+* Smith, Arthur: Hypertext specials. (line 6)
+* Softkey fonts: PostScript font installation.
+ (line 10)
+* Softkey fonts, installing: PostScript font installation.
+ (line 19)
+* spaces, dropped trailing: Hypertext caveats. (line 55)
+* specials, hypertext: Hypertext specials. (line 6)
+* splines: Glyph files. (line 17)
+* spooler, lacking: Option details. (line 110)
+* spooling to lpr on MS-DOS: Option details. (line 222)
+* standard I/O: Option details. (line 98)
+* standard input, reading options from: Option details. (line 11)
+* standard output, output to: Option details. (line 218)
+* standard PostScript, required by Ghostview: Ghostscript installation.
+ (line 17)
+* start-hook: PostScript hooks. (line 11)
+* structured comments: Option details. (line 197)
+* system in config file: Configuration file commands.
+ (line 33)
+* T config command (TFM path): Configuration file commands.
+ (line 153)
+* Tektronix Phaser printer, used for color calibration: Color device configuration.
+ (line 18)
+* testpage.tex: Option details. (line 241)
+* TeX encoding, changing: Changing TeX encodings.
+ (line 6)
+* TeX, including headers in: Including headers from TeX.
+ (line 6)
+* TEXCONFIG: Environment variables.
+ (line 46)
+* TEXFONTS, overrides P: Configuration file commands.
+ (line 110)
+* TEXFONTS, overrides T: Configuration file commands.
+ (line 153)
+* TEXINPUTS, overrides S: Configuration file commands.
+ (line 148)
+* texmext.enc: Encodings. (line 35)
+* TEXMFOUTPUT: Option details. (line 186)
+* texmital.enc: Encodings. (line 35)
+* texmsym.enc <1>: Changing TeX encodings.
+ (line 16)
+* texmsym.enc: Encodings. (line 35)
+* TEXPICTS: Environment variables.
+ (line 53)
+* TEXPICTS, overrides S: Configuration file commands.
+ (line 148)
+* TEXPKS, overrides P: Configuration file commands.
+ (line 110)
+* TEXSIZES, overrides R: Configuration file commands.
+ (line 136)
+* text in figures, chopped off: EPSF clipping. (line 6)
+* tfm files: Metric files. (line 31)
+* TFMFONTS, overrides T: Configuration file commands.
+ (line 153)
+* tftopl: Metric files. (line 39)
+* Theisen, Tim: Ghostscript installation.
+ (line 17)
+* tight bounding box, finding: Option details. (line 82)
+* too-small output: Small or inverted. (line 6)
+* trademark character, accessing: Changing PostScript encodings.
+ (line 18)
+* trailing spaces, dropped: Hypertext caveats. (line 55)
+* TranScript: Option details. (line 197)
+* transforming downloaded fonts: psfonts.map. (line 32)
+* trouble: Diagnosing problems. (line 6)
+* Type 1 fonts: Glyph files. (line 25)
+* typesetting in PostScript: PostScript typesetting.
+ (line 6)
+* U config command (Xerox 4045): Configuration file commands.
+ (line 158)
+* uncollated copies: Option details. (line 41)
+* uncompressing PostScript: Dynamic creation of graphics.
+ (line 6)
+* uniform resource locator: Hypertext specials. (line 20)
+* URL, definition: Hypertext specials. (line 27)
+* URL, extended for TeX: Hypertext specials. (line 20)
+* user-definable colors: User-definable colors.
+ (line 6)
+* userdict, and dictionary files: Header files. (line 21)
+* userdict, used for header files: Option details. (line 121)
+* V config command (vf path): Configuration file commands.
+ (line 162)
+* verbose EPSF processing: EPSF macros. (line 46)
+* vf files: Virtual fonts. (line 16)
+* virtual font expansion: Virtual fonts. (line 34)
+* virtual font path: Configuration file commands.
+ (line 162)
+* virtual fonts: Virtual fonts. (line 6)
+* virtual fonts, creating: Invoking afm2tfm. (line 13)
+* VM exhausted: Printer errors. (line 14)
+* VMusage: Headers and memory usage.
+ (line 12)
+* vpl files: Virtual fonts. (line 16)
+* vptovf: Making a font available.
+ (line 52)
+* W config command (warning): Configuration file commands.
+ (line 167)
+* warning messages, defining: Configuration file commands.
+ (line 167)
+* warnings, suppressing: Option details. (line 285)
+* whole font downloading: psfonts.map. (line 27)
+* wide fonts: psfonts.map. (line 32)
+* X config command (horizontal resolution): Configuration file commands.
+ (line 174)
+* Xerox 4045: Option details. (line 334)
+* Y config command (vertical resolution): Configuration file commands.
+ (line 177)
+* Y&Y fonts, installing: PostScript font installation.
+ (line 19)
+* Z config command (compression): Configuration file commands.
+ (line 180)
+* z config command (secure mode): Configuration file commands.
+ (line 183)
+* | starting output filename: Option details. (line 222)
+
+
+
+Tag Table:
+Node: Top465
+Node: Why Dvips1155
+Node: Installation4603
+Node: config.ps installation5741
+Node: PostScript font installation8282
+Node: Ghostscript installation11156
+Node: Diagnosing problems12253
+Node: Debug options13122
+Node: No output14238
+Node: Small or inverted15706
+Node: Printer errors16425
+Node: Long documents fail17757
+Node: Including graphics fails18098
+Node: Invoking Dvips19336
+Node: Basic usage19927
+Node: Command-line options20911
+Node: Option summary21360
+Node: Option details23336
+Node: Environment variables41418
+Node: Config files43921
+Node: Configuration file searching44604
+Node: Configuration file commands47904
+Node: Paper size and landscape54941
+Node: papersize special56518
+Node: Config file paper sizes57632
+Node: Paper trays61765
+Node: Interaction with PostScript63099
+Node: PostScript figures63752
+Node: Bounding box64478
+Node: \includegraphics67849
+Node: EPSF macros70140
+Node: EPSF scaling72110
+Node: EPSF clipping74680
+Node: psfile special75322
+Node: Dynamic creation of graphics77242
+Node: Fonts in figures78560
+Node: Header files80220
+Node: Including headers from TeX81426
+Node: Including headers from the command line83460
+Node: Headers and memory usage84560
+Node: Literal PS85270
+Node: " special85852
+Node: ps special86593
+Node: Literal headers87901
+Node: PostScript hooks88616
+Node: Literal examples90706
+Node: Hypertext92158
+Node: Hypertext caveats93716
+Node: Hypertext specials98113
+Node: PostScript fonts100747
+Node: Font concepts101863
+Node: Metric files103030
+Node: Glyph files105856
+Node: Virtual fonts108212
+Node: Encodings110102
+Node: PostScript typesetting112484
+Node: Making a font available115566
+Node: Invoking afm2tfm120596
+Node: Changing font encodings121566
+Node: Changing TeX encodings122357
+Node: Changing PostScript encodings123457
+Node: Changing both encodings124801
+Node: Reencoding with Afm2tfm125474
+Node: Encoding file format128578
+Node: Special font effects132781
+Node: Afm2tfm options135044
+Node: psfonts.map138029
+Node: Color142753
+Node: Color macro files143797
+Node: User-definable colors146995
+Node: Color subtleties148270
+Node: Ted Turner149921
+Node: Color device configuration151146
+Node: Color support details153588
+Node: Color specifications153966
+Node: Color specials155369
+Node: Index157498
+
+End Tag Table
diff --git a/Master/texmf/doc/info/eplain.info b/Master/texmf/doc/info/eplain.info
new file mode 100644
index 00000000000..070eb62f509
--- /dev/null
+++ b/Master/texmf/doc/info/eplain.info
@@ -0,0 +1,6422 @@
+This is eplain.info, produced by makeinfo version 4.7 from eplain.texi.
+
+ This manual documents the Eplain macros, version 3.0, September
+2005. Eplain provides functionality for plain TeX that is intended to
+be useful regardless of how your document is actually formatted.
+
+ Most of this manual is in the public domain, like most of the Eplain
+code. It was mostly written by Karl Berry, starting in 1989. Steven
+Smith wrote the documentation for the commutative diagram macros; this
+chapter is under the GNU General Public License. Oleg Katsitadze and
+Adam Lewenberg have made additions and corrections.
+
+INFO-DIR-SECTION Texinfo documentation system
+START-INFO-DIR-ENTRY
+* Eplain: (eplain). Expanding on plain Tex.
+END-INFO-DIR-ENTRY
+
+
+File: eplain.info, Node: Top, Next: Introduction, Up: (dir)
+
+Eplain
+******
+
+This manual documents the Eplain macros, version 3.0, September 2005.
+Eplain provides functionality for plain TeX that is intended to be
+useful regardless of how your document is actually formatted.
+
+ Most of this manual is in the public domain, like most of the Eplain
+code. It was mostly written by Karl Berry, starting in 1989. Steven
+Smith wrote the documentation for the commutative diagram macros; this
+chapter is under the GNU General Public License. Oleg Katsitadze and
+Adam Lewenberg have made additions and corrections.
+
+* Menu:
+
+* Introduction:: Eplain's purpose and philosophy.
+* Installation:: Installing Eplain.
+* Invoking Eplain:: Using Eplain from a TeX file.
+* User definitions:: Macros to be used in a document.
+* Hyperlinks:: Producing documents with hyperlinks.
+* Arrow theoretic diagrams:: Macros for commutative diagrams.
+* Programming definitions:: Macros to be used in writing other macros.
+* Macro index:: Entries for TeX and Eplain control sequences.
+* Concept index:: General index.
+
+ --- The Detailed Node Listing ---
+
+User definitions
+
+* Diagnostics:: Tracing information.
+* Rules:: Changing the default rule dimensions.
+* Citations:: Using BibTeX and Eplain to make bibliographies.
+* Displays:: Changing the formatting of math displays.
+* Time of day:: Producing the time of day.
+* Lists:: Producing numbered and unordered lists.
+* Verbatim listing:: Producing text just as it appears.
+* Contents:: Making a table of contents.
+* Cross-references:: Symbolically referring to pages or equations.
+* Page references:: Symbolic references to page numbers.
+* Equation references:: Symbolic references to equation numbers.
+* Indexing:: Creating and typesetting indexes.
+* Justification:: Left- or right-justification, or centering.
+* Tables:: Producing ordered tables.
+* Margins:: Changing the margins directly.
+* Multiple columns:: Getting output in two columns.
+* Footnotes:: Autonumbered footnotes; changing formatting.
+* Fractions:: A better way to produce fractions in text.
+* Paths:: Allowing line breaks in pathnames.
+* Logos:: Various logos.
+* Boxes:: Producing filled or open rectangles.
+* Checking for PDF output:: Checking for pdfTeX in PDF mode.
+
+Citations
+
+* Formatting citations:: Changing the way citations are printed.
+* Formatting bibliographies:: Changing the way bibliographies are printed.
+
+Displays
+
+* Formatting displays:: General formatting of displays.
+
+Lists
+
+* Formatting lists:: Changing how the lists look.
+
+Cross-references
+
+* Defining generic references::
+* Using generic references::
+
+Equation references
+
+* Formatting equation references::
+* Subequation references::
+
+Indexing
+
+* Indexing terms:: Specifying what to index.
+* Typesetting an index:: Printing the sorted output.
+* Customizing indexing:: Creating commands and specifying extra actions.
+
+Indexing terms
+
+* Indexing commands:: Making index entries.
+* Modifying index entries:: Ranges, see/see also, page number typesetting.
+* Proofing index terms:: Noting index entries in the margins.
+
+Hyperlinks
+
+* Introduction to hyperlinks::
+* Explicit hyperlinks::
+* Implicit hyperlinks::
+* Hyperlink drivers::
+* Setting hyperlink types and options::
+* Turning hyperlinks on/off::
+
+Implicit hyperlinks
+
+* URL hyperlinks:: url
+* Citation hyperlinks:: cite, bib
+* List hyperlinks:: li
+* Cross-reference hyperlinks:: definexref, ref
+* Page reference hyperlinks:: xrdef, xref
+* Equation reference hyperlinks:: eq
+* Index hyperlinks:: idx
+* Footnote hyperlinks:: foot, footback
+* Contents hyperlinks::
+
+Index hyperlinks
+
+* Exact destinations for index terms::
+* Page destinations for index terms::
+* Choosing destination placement::
+* Index page list and page range parsers::
+* Hyperlinks in see and see also entries::
+
+Hyperlink drivers
+
+* Options supported by all drivers::
+* Hyperlink drivers pdftex and dvipdfm::
+* Hyperlink driver nolinks::
+
+Hyperlink drivers pdftex and dvipdfm::
+
+* Destination types for pdftex and dvipdfm::
+* Destination options for pdftex and dvipdfm::
+* Link types for pdftex and dvipdfm::
+* Link options for pdftex and dvipdfm::
+
+Setting hyperlink types and options
+
+* Setting default types and options::
+* Setting group types::
+* Setting group options::
+
+Turning hyperlinks on/off
+
+* Turning low-level commands on/off::
+* Turning hyperlinks on/off for a group::
+
+Arrow theoretic diagrams
+
+* Slanted lines and vectors::
+* Commutative diagrams::
+
+Commutative diagrams
+
+* Arrows and morphisms::
+* Construction of commutative diagrams::
+* Commutative diagram parameters::
+
+Programming definitions
+
+* Category codes:: Changing category codes.
+* Allocation macros:: Non-outer versions of \newcount et al.
+* Iteration:: Doing `for' loops in TeX.
+* Macro arguments:: Reading and ignoring them.
+* Converting to characters:: Normalizing control sequences and spaces.
+* Expansion:: Controlling expansion.
+* Obeying spaces:: Making whitespace count anywhere.
+* Writing out numbers:: Making `1' into `one'.
+* Mode-specific penalties::
+* Auxiliary files:: Testing for their existence.
+* User-defined environments:: User-defined environments.
+* Page list and page range parsers::
+
+Expansion
+
+* \csn and \ece::
+* \edefappend::
+* Hooks:: Manipulating and executing named actions.
+* Properties:: Associating information with a csname.
+* \expandonce::
+* \ifundefined::
+* \futurenonspacelet::
+
+
+File: eplain.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top
+
+1 Introduction
+**************
+
+The "Eplain" macro package expands on and extends the definitions in
+plain TeX. This manual describes the definitions that you, as either
+an author or a macro writer, might like to use. It doesn't discuss the
+implementation; see comments in the source code (`xeplain.tex') for
+that.
+
+ Eplain is not intended to provide "generic" typesetting
+capabilities, as do LaTeX (written by Leslie Lamport) or Texinfo (written
+by Richard Stallman and others). Instead, it provides definitions that
+are intended to be useful regardless of the high-level commands that
+you use when you actually prepare your manuscript.
+
+ For example, Eplain does not have a command `\section', which would
+format section headings in an "appropriate" way, such as LaTeX's
+`\section'. The philosophy of Eplain is that some people will always
+need or want to go beyond the macro designer's idea of "appropriate".
+Such canned macros are fine--as long as you are willing to accept the
+resulting output. If you don't like the results, or if you are trying
+to match a different format, you are out of luck.
+
+ On the other hand, almost everyone would like capabilities such as
+cross-referencing by labels, so that you don't have to put actual page
+numbers in the manuscript. The author of Eplain is not aware of any
+generally available macro packages that (1) do not force their
+typographic style on an author, and yet (2) provide such capabilities.
+
+ Besides such generic macros as cross-referencing, Eplain contains
+another set of definitions: ones that change the conventions of plain
+TeX's output. For example, math displays in TeX are, by default,
+centered. If you want your displays to come out left-justified, you
+have to plow through `The TeXbook' to find some way to do it, and then
+adapt the code to your own needs. Eplain tries to take care of the
+messy details of such things, while still leaving the detailed
+appearance of the output up to you.
+
+ Finally, numerous definitions turned out to be useful as Eplain was
+developed. They are also documented in this manual, on the chance that
+people writing other macros will be able to use them.
+
+ You can send bug reports or suggestions to <tex-eplain@tug.org>.
+The current version number of Eplain is defined as the macro
+`\fmtversion' at the end of the source file `eplain.tex'. When
+corresponding, please refer to it.
+
+ To get on this mailing list yourself, email
+<tex-eplain-request@tug.org> with a message whose body contains a line
+ subscribe YOU@YOUR.PREFERRED.ADDRESS
+
+
+File: eplain.info, Node: Installation, Next: Invoking Eplain, Prev: Introduction, Up: Top
+
+2 Installation
+**************
+
+The simplest way to install Eplain is simply to install the file
+`eplain.tex' in a directory where TeX will find it. What that
+directory is obviously depends on your operating system and TeX
+installation. I personally install `eplain.tex' in a directory
+`/usr/local/lib/texmf/tex/plain'.
+
+ If you want, you can also create a format (`.fmt') file for Eplain,
+which will eliminate the time spent reading the macro source file with
+`\input'. You do this by issuing a sequence of Unix commands something
+like this:
+
+ prompt$ touch eplain.aux
+ prompt$ initex
+ This is TeX, ...
+ **&plain eplain
+ (eplain.tex)
+ *\dump
+ ... MESSAGES ...
+
+You must make sure that `eplain.aux' exists _before_ you run `initex';
+otherwise, warning messages about undefined labels will never be issued.
+
+ You then have to install the resulting `eplain.fmt' in some system
+directory or set an environment variable to tell TeX how to find it. I
+install the format files in `/usr/local/lib/texmf/ini'; the environment
+variable for the Web2C port of TeX to Unix is `TEXFORMATS'.
+
+ Some implementations of TeX (including Web2C) use the name by which
+TeX is invoked to determine what format to read. For them, you should
+make a link to the `virtex' program named `etex', and then install the
+format file with the name `etex.fmt'. This lets users invoke TeX as
+`etex' and get the format file read automatically, without having to
+say `&eplain'.
+
+ For convenience, the file `etex.tex' in the distribution directory
+does `\input eplain' and then `\dump', so that if you replace `eplain'
+with `etex' in the example above, the format file will end up with the
+right name.
+
+ The `install' target in the `Makefile' does all this properly for
+Unix systems and Web2C. You may have to change the pathnames.
+
+ Under emtex, `eaj@acpub.duke.edu' says that
+
+ tex386 -i ^&plain eplain \dump
+
+produces a format file.
+
+
+File: eplain.info, Node: Invoking Eplain, Next: User definitions, Prev: Installation, Up: Top
+
+3 Invoking Eplain
+*****************
+
+The simplest way to use Eplain is simply to put:
+
+ \input eplain
+
+at the beginning of your input file. The macro file is small enough
+that reading it does not take an unbearably long time--at least on
+contemporary machines.
+
+ In addition, if a format (`.fmt') file has been created for Eplain
+(see the previous section), you can eliminate the time spent reading
+the macro source file. You do this by responding `&eplain' to TeX's
+`**' prompt. For example:
+
+ initex
+ This is TeX, ...
+ **&eplain myfile
+
+ Depending on the implementation of TeX which you are using, you might
+also be able to invoke TeX as `eplain' and have the format file
+automatically read.
+
+ If you write something which you will be distributing to others, you
+won't know if the Eplain format will be loaded already. If it is, then
+doing `\input eplain' will waste time; if it isn't, then you must load
+it. To solve this, Eplain defines the control sequence `\eplain' to be
+the letter `t' (a convention borrowed from Lisp; it doesn't actually
+matter what the definition is, only that the definition exists).
+Therefore, you can do the following:
+ \ifx\eplain\undefined \input eplain \fi
+ where `\undefined' must never acquire a definition.
+
+ Eplain consists of several source files:
+`xeplain.tex'
+ most of the macros;
+
+`arrow.tex'
+ commutative diagram macros (*note Arrow theoretic diagrams::),
+ written by Steven Smith;
+
+`btxmac.tex'
+ bibliography-related macros (*note Citations::);
+
+`ifpdf.sty'
+ sets the switch `\ifpdf', which can be used to detect pdfTeX in
+ PDF mode (*note Checking for PDF output::), written by Heiko
+ Oberdiek;
+
+`path.sty'
+ macro for allowing line breaks at punctuation characters within
+ long pathnames, electronic mail addresses, etc., (*note Paths::),
+ written by Philip Taylor;
+
+`texnames.sty'
+ abbreviations for various TeX-related names (*note Logos::), edited
+ by Nelson Beebe.
+
+
+The file `eplain.tex' is all of these files merged together, with
+comments removed.
+
+ All of these files except `xeplain.tex' can be input individually,
+if all you want are the definitions in that file.
+
+ Also, since the bibliography macros are fairly extensive, you might
+not want to load them, to conserve TeX's memory. Therefore, if the
+control sequence `\nobibtex' is defined, then the bibliography
+definitions are skipped. You must set `\nobibtex' before `eplain.tex'
+is read, naturally. For example, you could start your input file like
+this:
+
+ \let\nobibtex = t
+ \input eplain
+
+ By default, `\nobibtex' is undefined, and so the bibliography
+definitions _are_ made.
+
+ Likewise, define `\noarrow' if you don't want to include the
+commutative diagram macros from `arrow.tex', perhaps because you
+already have conflicting ones.
+
+ If you don't want to read or write an `aux' file at all, for any
+kind of cross-referencing, define `\noauxfile' before reading
+`eplain.tex'. This also turns off all warnings about undefined labels.
+
+ Eplain conflicts with AMSTeX (to be precise, with `amsppt.sty'): the
+macros `\cite' and `\ref' are defined by both.
+
+ If you want to use AMSTeX's `\cite', the solution is to define
+`\nobibtex' before reading Eplain, as described above.
+
+ If you have `amsppt.sty' loaded and use `\ref', Eplain writes a
+warning on your terminal. If you want to use the AMSTeX `\ref', do
+`\let\ref = \amsref' after reading Eplain. To avoid the warning, do
+`\let\ref = \eplainref' after reading Eplain and before using `\ref'.
+
+ Sometimes you may need to run TeX more then once on your `.tex' file
+in order to produce and typeset indexes, resolve undefined
+cross-references and/or citations. The shell script `texi2dvi' from
+the Texinfo documentation system (see
+`http://www.gnu.org/software/texinfo/') can automate this process: it
+runs BibTeX, MakeIndex and TeX as many times as needed to complete the
+compilation process. You will need to set the `LATEX' environment
+variable to `tex'. For example, in a Bourne-compatible shell, the
+following command will do all the work:
+
+ prompt$ LATEX=tex texi2dvi file.tex
+
+(Despite the name, `texi2dvi' can also produce `.pdf' files; just set
+`LATEX=pdftex'.) See the output from the command `texi2dvi --help' for
+invoking information and a full list of options.
+
+
+File: eplain.info, Node: User definitions, Next: Hyperlinks, Prev: Invoking Eplain, Up: Top
+
+4 User definitions
+******************
+
+This chapter describes definitions that are meant to be used directly
+in a document. When appropriate, ways to change the default formatting
+are described in subsections.
+
+* Menu:
+
+* Diagnostics:: Tracing information.
+* Rules:: Changing the default rule dimensions.
+* Citations:: Using BibTeX and Eplain to make bibliographies.
+* Displays:: Changing the formatting of math displays.
+* Time of day:: Producing the time of day.
+* Lists:: Producing numbered and unordered lists.
+* Verbatim listing:: Producing text just as it appears.
+* Contents:: Making a table of contents.
+* Cross-references:: Symbolic references to equations, figures, etc.
+* Page references:: Symbolic references to page numbers.
+* Equation references:: Symbolic references to equation numbers.
+* Indexing:: Creating and typesetting indexes.
+* Justification:: Ragged left, ragged right, centered.
+* Tables:: Producing ordered tables.
+* Margins:: Changing the margins directly.
+* Multiple columns:: Getting output in two columns.
+* Footnotes:: Autonumbered footnotes; changing formatting.
+* Fractions:: A better way to produce fractions in text.
+* Paths:: Allowing line breaks in pathnames.
+* Logos:: Various logos.
+* Boxes:: Producing filled or open rectangles.
+* Checking for PDF output:: Checking for pdfTeX in PDF mode.
+* Loading LaTeX packages:: Support for LaTeX packages under plain TeX.
+
+
+File: eplain.info, Node: Diagnostics, Next: Rules, Up: User definitions
+
+4.1 Diagnostics
+===============
+
+Plain TeX provides the `\tracingall' command, to turn on the maximum
+amount of tracing possible in TeX. The (usually voluminous) output
+from `\tracingall' goes both on the terminal and into the transcript
+file. It is sometimes easier to have the output go only to the
+transcript file, so you can peruse it at your leisure and not obscure
+other output to the terminal. So, Eplain provides the command
+`\loggingall'. (For some reason, this command is available in
+Metafont, but not in TeX.)
+
+ It is also sometimes useful to see the complete contents of boxes.
+`\tracingboxes' does this. (It doesn't affect whether or not the
+contents are shown on the terminal.)
+
+ You can turn off all tracing with `\tracingoff'.
+
+ You can also turn logging on and off globally, so you don't have to
+worry about whether or not you're inside a group at the time of command.
+These variants are named `\gloggingall' and `\gtracingall'.
+
+ Finally, if you write your own help messages (see `\newhelp' in `The
+TeXbook'), you want a convenient way to break lines in them. This is
+what TeX's `\newlinechar' parameter is for; however, plain TeX doesn't
+set `\newlinechar'. Therefore, Eplain defines it to be the character
+`^^J'.
+
+ For example, one of Eplain's own error messages is defined as
+follows:
+ \newhelp\envhelp{Perhaps you forgot to end the previous^^J%
+ environment? I'm finishing off the current group,^^J%
+ hoping that will fix it.}%
+
+
+File: eplain.info, Node: Rules, Next: Citations, Prev: Diagnostics, Up: User definitions
+
+4.2 Rules
+=========
+
+The default dimensions of rules are defined in chapter 21 of the `The
+TeXbook'. To sum up what is given there, the "thickness" of rules is 0.4pt
+by default. Eplain defines three parameters that let you change this
+dimension: `\hruledefaultheight', `\hruledefaultdepth', and
+`\vruledefaultwidth'. By default, they are defined as `The TeXbook'
+describes.
+
+ But it would be wrong to redefine `\hrule' and `\vrule'. For one
+thing, some macros in plain TeX depend on the default dimensions being
+used; for another, rules are used quite heavily, and the performance
+impact of making it a macro can be noticeable. Therefore, to take
+advantage of the default rule parameters, you must use `\ehrule' and
+`\evrule'.
+
+
+File: eplain.info, Node: Citations, Next: Displays, Prev: Rules, Up: User definitions
+
+4.3 Citations
+=============
+
+Bibliographies are part of almost every technical document. To handle
+them easily, you need two things: a program to do the tedious
+formatting, and a way to cite references by labels, rather than by
+numbers. The BibTeX program, written by Oren Patashnik, takes care of
+the first item; the citation commands in LaTeX, written to be used with
+BibTeX, take care of the second. Therefore, Eplain adopts the use of
+BibTeX, and virtually the same interface as LaTeX.
+
+ The general idea is that you put citation commands in the text of
+your document, and commands saying where the bibliography data is.
+When you run TeX, these commands produce output on the file with the
+same root name as your document (by default) and the extension `.aux'. BibTeX
+reads this file. You should put the bibliography data in a file or
+files with the extension `.bib'. BibTeX writes out a file with the same
+root name as your document and extension `.bbl'. Eplain reads this file the
+next time you run your document through TeX. (It takes multiple passes
+to get everything straight, because usually after seeing your
+bibliography typeset, you want to make changes in the `.bib' file,
+which means you have to run BibTeX again, which means you have to run
+TeX again...) An annotated example of the whole process is given below.
+
+ If your document has more than one bibliography--for example, if it
+is a collection of papers--you can tell Eplain to use a different root
+name for the `.bbl' file by defining the control sequence
+`\bblfilebasename'. The default definition is simply `\jobname'.
+
+ See the document `BibTeXing' (whose text is in the file
+`btxdoc.tex', which should be in the Eplain distribution you got) for
+information on how to write your .bib files. Both the BibTeX and the
+Eplain distributions contain several examples, also.
+
+ The `\cite' command produces a citation in the text of your
+document. The exact printed form the citation will take is under your
+control; *note Formatting citations::. `\cite' takes one required
+argument, a comma-separated list of cross-reference labels (*note
+Cross-references::, for exactly what characters are allowed in such
+labels). Warning: spaces in this list are taken as part of the
+following label name, which is probably not what you expect. The
+`\cite' command also produces a command in the .aux file that tells
+BibTeX to retrieve the given reference(s) from the .bib file. `\cite'
+also takes one optional argument, which you specify within square
+brackets, as in LaTeX. This text is simply typeset after the
+citations. (See the example below.)
+
+ Eplain can create hypertext links for citations pointing to the
+relevant bibliography entries; *note Citation hyperlinks::.
+
+ Another command, `\nocite', puts the given reference(s) into the
+bibliography, but produces nothing in the text.
+
+ The `\bibliography' command is next. It serves two purposes:
+producing the typeset bibliography, and telling BibTeX the root names
+of the .bib files. Therefore, the argument to `\bibliography' is a
+comma separated list of the .bib files (without the `.bib'). Again,
+spaces in this list are significant.
+
+ You tell BibTeX the particular style in which you want your
+bibliography typeset with one more command: `\bibliographystyle'. The
+argument to this is a single filename STYLE, which tells BibTeX to look
+for a file STYLE.bst. See the document `Designing BibTeX styles'
+(whose text is in the `btxhak.tex') for information on how to write
+your own styles.
+
+ Eplain automatically reads the citations from the .aux file when
+your job starts.
+
+ If you don't want to see the messages about undefined citations, you
+can say `\xrefwarningfalse' before making any citations. Eplain
+automatically does this if the .aux file does not exist. You can
+restore the default by saying `\xrefwarningtrue'.
+
+ Here is a TeX input file that illustrates the various commands.
+
+ \input eplain % Reads the .aux file.
+ Two citations to Knuthian works:
+ \cite[note]{surreal,concrete-math}.
+ \beginsection{References.}\par % Title for the bibliography.
+ \bibliography{knuth} % Use knuth.bib for the labels.
+ \bibliographystyle{plain} % Number the references.
+ \end % End of the document.
+
+ If we suppose that this file was named `citex.tex' and that the
+bibliography data is in `knuth.bib' (as the `\bibliography' command
+says), the following commands do what's required. (`$ ' represents the
+shell prompt.)
+
+ $ tex citex (produces undefined citation messages)
+ $ bibtex citex (read knuth.bib and citex.aux, write citex.bbl)
+ $ tex citex (read citex.bbl, still have undefined citations)
+ $ tex citex (one more time, to resolve the references)
+
+(The `texi2dvi' program can help you automate this process, *note
+Invoking Eplain::.)
+
+ The output looks something like (because we used the plain
+bibliography style):
+
+ Two citations to Knuthian works: [2,1 note].
+
+ References
+
+ [1] Ronald L. Graham, Donald E. Knuth, and Oren Patashnik.
+ Concrete Mathematics. Addison-Wesley, Reading, Massachusetts, 1989.
+
+ [2] Donald E. Knuth. Surreal Numbers. Addison-Wesley, Reading,
+ Massachusetts, 1974.
+
+ See the BibTeX documentation for information on how to write the
+bibliography databases, and the bibliography styles that are available.
+(If you want your references printed with names, as in [Knu74], instead
+of numbered, the bibliography style is `alpha'.)
+
+* Menu:
+
+* Formatting citations:: Changing the way citations are printed.
+* Formatting bibliographies:: Changing the way bibliographies are printed.
+
+
+File: eplain.info, Node: Formatting citations, Next: Formatting bibliographies, Up: Citations
+
+4.3.1 Formatting citations
+--------------------------
+
+You may wish to change Eplain's formatting of citations; i.e., the
+result of your `\cite' commands. By default, the citation labels are
+printed one after another, separated by commas and enclosed in
+brackets, using the main text font. Some formats require other styles,
+such as superscripted labels. You can accomodate such formats by
+redefining the following macros.
+
+`\printcitestart'
+
+`\printcitefinish'
+ Eplain expands these macros at the begining and end of the list of
+ citations for each `\cite' command. By default, they produce a
+ `[' and `]', respectively.
+
+`\printbetweencitations'
+ If a `\cite' command has multiple citations, as in
+ `\cite{acp,texbook}', Eplain expands this macro in between each
+ pair of citations. By default, it produces a comma followed by a
+ space.
+
+`\printcitenote'
+ This macro takes one argument, which is the optional note to the
+ `\cite' command. If the `\cite' command had no note, this macro
+ isn't used. Otherwise, it should print the note. By default, the
+ note is preceded with a comma and a space.
+
+ Here is an example, showing you could produce citations as
+superscripted labels, with the optional notes in parentheses.
+
+ \def\printcitestart{\unskip $^\bgroup}
+ \def\printbetweencitations{,}
+ \def\printcitefinish{\egroup$}
+ \def\printcitenote#1{\hbox{\sevenrm\space (#1)}}
+
+
+File: eplain.info, Node: Formatting bibliographies, Prev: Formatting citations, Up: Citations
+
+4.3.2 Formatting bibliographies
+-------------------------------
+
+You may wish to change Eplain's formatting of the bibliography,
+especially with respect to the fonts that are used. Therefore, Eplain
+provides the following control sequences:
+
+`\biblabelwidth'
+ This control sequence represents a `\dimen' register, and its value
+ is the width of the widest label in the bibliography. Although it
+ is unlikely you will ever want to redefine it, you might want to
+ use it if you redefine `\biblabelprint', below.
+
+`\biblabelprint'
+ This macro takes one argument, the label to print. By default, the
+ label is put in a box of width `\biblabelwidth', and is followed by
+ an enspace. When you want to change the spacing around the
+ labels, this is the right macro to redefine.
+
+`\biblabelcontents'
+ This macro also takes one argument, the label to print. By
+ default, the label is printed using the font `\bblrm' (below), and
+ enclosed in brackets. When you want to change the appearance of
+ the label, but not the spacing around it, this is the right macro
+ to redefine.
+
+`\bblrm'
+ The default font used for printing the bibliography.
+
+`\bblem'
+ The font used for printing the titles and other "emphasized"
+ material.
+
+`\bblsc'
+ In some styles, authors' names are printed in a caps-and-small-caps
+ font. In those cases, this font is used.
+
+`\bblnewblock'
+ This is invoked between each of the parts of a bibliography entry.
+ The default is to leave some extra space between the parts; you
+ could redefine it to start each part on a new line (for example).
+ A part is simply a main element of the entry; for example, the
+ author is a part. (It was LaTeX that introduced the (misleading,
+ as far as I am concerned) term `block' for this.)
+
+`\biblabelextraspace'
+ Bibliography entries are typeset with a hanging indentation of
+ `\biblabelwidth' plus this. The default is `.5em', where the em
+ width is taken from the `\bblrm' font. If you want to change
+ this, you should do it inside `\bblhook'.
+
+`\bblhook'
+ This is expanded before reading the .bbl file. By default, it
+ does nothing. You could, for example, define it to set the
+ bibliography fonts, or produce the heading for the references. Two
+ spacing parameters must be changed inside `\bblhook': `\parskip',
+ which produces extra space between the items; and
+ `\biblabelextraspace', which is described above. (By the way,
+ `\hookappend' won't work with `\bblhook', despite the names. Just
+ use `\def'.)
+
+
+ If you are really desperate, you can also hand-edit the .bbl file
+that BibTeX produces to do anything you wish.
+
+
+File: eplain.info, Node: Displays, Next: Time of day, Prev: Citations, Up: User definitions
+
+4.4 Displays
+============
+
+By default, TeX centers displayed material. (Displayed material is
+just whatever you put between `$$''s--it's not necessarily
+mathematics.) Many layouts would be better served if the displayed
+material was left-justified. Therefore, Eplain provides the command
+`\leftdisplays', which indents displayed material by `\parindent' plus
+`\leftskip', plus `\leftdisplayindent'.
+
+ You can go back to centering displays with `\centereddisplays'. (It
+is usually poor typography to have both centered and left-justified
+displays in a single publication, though.)
+
+ `\leftdisplays' also changes the plain TeX commands that deal with
+alignments inside math displays, `\displaylines', `\eqalignno', and
+`\leqalignno', to produce left-justified text. You can still override
+this formatting by inserting `\hfill' glue, as explained in `The
+TeXbook'.
+
+* Menu:
+
+* Formatting displays:: General formatting of displays.
+
+
+File: eplain.info, Node: Formatting displays, Up: Displays
+
+4.4.1 Formatting displays
+-------------------------
+
+If you want some other kind of formatting, you can write a definition
+of your own, analogous to `\leftdisplays'. You need only make sure
+that `\leftdisplaysetup' is called at the beginning of every display
+(presumably by invoking it in TeX's `\everydisplay' parameter), and to
+define `\generaldisplay'.
+
+ `\leftdisplays' expands the old value of `\everydisplay' before
+calling `\leftdisplaysetup', so that any changes you have made to it
+won't be lost. That old token list as available as the value of the
+token register `\previouseverydisplay'.
+
+
+File: eplain.info, Node: Time of day, Next: Lists, Prev: Displays, Up: User definitions
+
+4.5 Time of day
+===============
+
+TeX provides the day, month, and year as numeric quantities (unless
+your TeX implementation is woefully deficient). Eplain provides some
+control sequences to make them a little more friendly to humans.
+
+ `\monthname' produces the name of the current month, abbreviated to
+three letters.
+
+ `\fullmonthname' produces the name of the current month,
+unabbreviated (in English).
+
+ `\timestring' produces the current time, as in `1:14 p.m.'
+
+ `\timestamp' produces the current date and time, as in `23 Apr 64
+1:14 p.m.'. (Except the spacing is slightly different.)
+
+ `\today' produces the current date, as in `23 April 1964'.
+
+
+File: eplain.info, Node: Lists, Next: Verbatim listing, Prev: Time of day, Up: User definitions
+
+4.6 Lists
+=========
+
+Many documents require lists of items, either numbered or simply
+enumerated. Plain TeX defines one macro to help with creating lists,
+`\item', but that is insufficient in many cases. Therefore, Eplain
+provides two pairs of commands:
+
+`\numberedlist ... \endnumberedlist'
+
+`\orderedlist ... \endorderedlist'
+ These commands (they are synonyms) produce a list with the items
+ numbered sequentially, starting from one. A nested `\numberedlist'
+ labels the items with lowercase letters, starting with `a'.
+ Another nested `\numberedlist' labels the items with roman
+ numerals. Yet more deeply nested numbered lists label items with
+ `*'.
+
+`\unorderedlist ... \endunorderedlist'
+ This produces a list with the items labelled with small black boxes
+ ("square bullets"). A nested `\unorderedlist' labels items with
+ em-dashes. Doubly (and deeper) nested unordered lists label items
+ with `*'s.
+
+
+ The two kinds of lists can be nested within each other, as well.
+
+ In both kinds of lists, you begin an item with `\li'. An item may
+continue for several paragraphs. Each item starts a paragraph.
+
+ You can give `\li' an optional argument, a cross-reference label.
+It's defined to be the "marker" for the current item. This is useful
+if the list items are numbered. You can produce the value of the label
+with `\xrefn'. *Note Cross-references::.
+
+ Eplain can create hypertext links for the markers produced by
+`\xrefn' pointing to the relevant list item; *note List hyperlinks::.
+
+ You can also say `\listcompact' right after `\numberedlist' or
+`\unorderedlist'. The items in the list will then not have any extra
+space between them (*note Formatting lists::). You might want to do
+this if the items in this particular list are short.
+
+ Here is an example:
+ \numberedlist\listcompact
+ \li The first item.
+ \li The second item.
+
+ The second paragraph of the second item.
+ \endnumberedlist
+
+* Menu:
+
+* Formatting lists:: Changing how the lists look.
+
+
+File: eplain.info, Node: Formatting lists, Up: Lists
+
+4.6.1 Formatting lists
+----------------------
+
+Several registers define the spacing associated with lists. It is
+likely that their default values won't suit your particular layout.
+
+`\abovelistskipamount, \belowlistskipamount'
+ The vertical glue inserted before and after every list,
+ respectively.
+
+`\interitemskipamount'
+ The vertical glue inserted before each item except the first.
+ `\listcompact' resets this to zero, as mentioned above.
+
+`\listleftindent, \listrightindent'
+ `\listrightindent' is the amount of space by which the list is
+ indented on the right; i.e., it is added to `\rightskip'.
+ `\listleftindent' is the amount of space, _relative to_
+ `\parindent', by which the list is indented on the left. Why treat
+ the two parameters differently? Because (a) it is more useful to
+ make the list indentation depend on the paragraph indentation;
+ (b) footnotes aren't formatted right if `\parindent' is reset to
+ zero.
+
+
+ The three vertical glues are inserted by macros, and preceded by
+penalties: `\abovelistskip' does `\vpenalty\abovelistpenalty' and then
+`\vskip\abovelistskip'. `\belowlistskip' and `\interitemskip' are
+analogous.
+
+ In addition, the macro `\listmarkerspace' is called to separate the
+item label from the item text. This is set to `\enspace' by default.
+
+ If you want to change the labels on the items, you can redefine these
+macros: `\numberedmarker' or `\unorderedmarker'. The following
+registers might be useful if you do:
+
+`\numberedlistdepth, \unorderedlistdepth'
+ These keep track of the depth of nesting of the two kinds of lists.
+
+`\itemnumber, \itemletter'
+ These keep track of the number of items that have been seen in the
+ current numbered list. They are both integer registers. The
+ difference is that `\itemnumber' starts at one, and `\itemletter'
+ starts at 97, i.e., lowercase `a'.
+
+
+ You can also redefine the control sequences that are used internally,
+if you want to do something radically different: `\beginlist' is
+invoked to begin both kinds of lists; `\printitem' is invoked to print
+the label (and space following the label) for each item; and `\endlist' is
+invoked to end both kinds of lists.
+
+
+File: eplain.info, Node: Verbatim listing, Next: Contents, Prev: Lists, Up: User definitions
+
+4.7 Verbatim listing
+====================
+
+It is sometimes useful to include a file verbatim in your document; for
+example, part of a computer program. The `\listing' command is given
+one argument, a filename, and produces the contents of that file in
+your document. `\listing' expands `\listingfont' to set the current
+font. The default value of `\listingfont' is `\tt'.
+
+ You can take arbitrary actions before reading the file by defining
+the macro `\setuplistinghook'. This is expanded just before the file
+is input.
+
+ If you want to have line numbers on the output, you can say
+`\let\setuplistinghook = \linenumberedlisting'. The line numbers are
+stored in the count register `\lineno' while the file is being read.
+You can redefine the macro `\printlistinglineno' to change how they are
+printed.
+
+ You can produce in-line verbatim text in your document with
+`\verbatim'. End the text with `|endverbatim'. If you need a `|' in
+the text, double it. If the first character of the verbatim text is a
+space, use `| '. (`| ' will work elsewhere in the argument, too, but
+isn't necessary.)
+
+ For example:
+
+ \verbatim| ||\#%&!|endverbatim
+
+produces ` |\#%&!'.
+
+ Line breaks and spaces in the verbatim text are preserved.
+
+ You can change the verbatim escape character from the default `|'
+with `\verbatimescapechar CHAR'; for example, this changes it to `@'.
+
+ \verbatimescapechar \@
+
+The backslash is not necessary in some cases, but is in others,
+depending on the catcode of the character. The argument to
+`\verbatimescapechar' is used as `\catcode `CHAR', so the exact rules
+follow that for `\catcode'.
+
+ Because `\verbatim' must change the category code of special
+characters, calling inside a macro definition of your own does not work
+properly. For example:
+
+ \def\mymacro{\verbatim &#%|endverbatim}% Doesn't work!
+
+ To accomplish this, you must change the category codes yourself
+before making the macro definition. Perhaps `\uncatcodespecials' will
+help you (*note Category codes::).
+
+
+File: eplain.info, Node: Contents, Next: Cross-references, Prev: Verbatim listing, Up: User definitions
+
+4.8 Contents
+============
+
+Producing a table of contents that is both useful and aesthetic is one
+of the most difficult design problems in any work. Naturally, Eplain
+does not pretend to solve the design problem. Collecting the raw data
+for a table of contents, however, is much the same across documents.
+Eplain uses an auxiliary file with extension `.toc' (and the same root
+name as your document) to save the information.
+
+ To write an entry for the table of contents, you say
+`\writetocentry{PART}{TEXT}', where PART is the type of part this entry
+is, e.g., `chapter', and TEXT is the text of the title.
+`\writetocentry' puts an entry into the .toc file that looks like
+`\tocPARTentry{TEXT}{PAGE NUMBER}'. The TEXT is written unexpanded.
+
+ A related command, `\writenumberedtocentry', takes one additional
+argument, the first token of which is expanded at the point of the
+`\writenumberedtocentry', but the rest of the argument is not expanded.
+The usual application is when the parts of the document are numbered.
+On the other hand, the one-level expansion allows you to use the
+argument for other things as well (author's names in a proceedings,
+say), and not have accents or other control sequences expanded. The
+downside is that if you _want_ full expansion of the third argument,
+you don't get it--you must expand it yourself, before you call
+`\writenumberedtocentry'.
+
+ For example:
+
+ \writenumberedtocentry{chapter}{A $\sin$ wave}{\the\chapno}
+ \writetocentry{section}{A section title}
+
+Supposing `\the\chapno' expanded to `3' and that the `\write''s
+occurred on pages eight and nine, respectively, the above writes the
+following to the .toc file:
+
+ \tocchapterentry{A $\sin$ wave}{3}{8}
+ \tocsectionentry{A section title}{9}
+
+ You read the .toc file with the command `\readtocfile'. Naturally,
+whatever `\toc... entry' commands that were written to the file must be
+defined when `\readtocfile' is invoked. Eplain has minimal definitions
+for `\tocchapterentry', `\tocsectionentry', and `\tocsubsectionentry',
+just to prevent undefined control sequence errors in common cases.
+They aren't suitable for anything but preliminary proofs.
+
+ Each of `\writetocentry' and `\writenumberedtocentry' opens the .toc
+file for writing, thereby deleting the information from the previous
+run. You should therefore arrange that `\readtocfile' be called
+_before_ the first call to a `\writetoc...' macro. `\readtocfile' does
+not itself delete the information from the .toc file, so that you can
+call it several times, e.g., to create both a short and normal table of
+contents. (To produce this in particular, define `\tocsectionentry' to
+produce nothing while you are reading .toc file for a short table of
+contents (*note Macro arguments::).)
+
+ On the other hand, if you don't want to rewrite the .toc file at
+all, perhaps because you are only running TeX on part of your
+manuscript, you can set `\rewritetocfilefalse'.
+
+ By default, the `.toc' file has the root `\jobname'. If your
+document has more than one contents--for example, if it is a collection
+of papers, some of which have their own contents--you can tell Eplain
+to use a different root name by defining the control sequence
+`\tocfilebasename'.
+
+ In addition to the usual table of contents, you may want to have a
+list of figures, list of tables, or other such contents-like list. You
+can do this with `\definecontentsfile{ABBREV}'. All of the above
+commands are actually a special case that Eplain predefines with
+
+ \definecontentsfile{toc}
+
+The ABBREV is used both for the file extension and in the control
+sequence names.
+
+
+File: eplain.info, Node: Cross-references, Next: Page references, Prev: Contents, Up: User definitions
+
+4.9 Cross-references
+====================
+
+It is often useful to refer the reader to other parts of your document;
+but putting literal page, section, equation, or whatever numbers in the
+text is certainly a bad thing.
+
+ Eplain therefore provides commands for symbolic cross-references. It
+uses an auxiliary file with extension .aux (and the same root name as
+your document) to keep track of the information. Therefore, it takes
+two passes to get the cross-references right--one to write them out,
+and one to read them in. Eplain automatically reads the .aux file at
+the first reference; after reading it, Eplain reopens it for writing.
+
+ You can control whether or not Eplain warns you about undefined
+labels. *Note Citations::.
+
+ Labels in Eplain's cross-reference commands can use characters of
+category code eleven (letter), twelve (other), ten (space), three (math
+shift), four (alignment tab), seven (superscript), or eight (subscript).
+For example, `(a1 $&^_' is a valid label (assuming the category codes
+of plain TeX), but `%#\{' has no valid characters.
+
+ You can also do symbolic cross-references for bibliographic citations
+and list items. *Note Citations::, and *Note Lists::.
+
+ Eplain can create hypertext links for the cross-references; *note
+Cross-reference hyperlinks::.
+
+* Menu:
+
+* Defining generic references::
+* Using generic references::
+
+
+File: eplain.info, Node: Defining generic references, Next: Using generic references, Up: Cross-references
+
+4.9.1 Defining generic references
+---------------------------------
+
+Eplain provides the command `\definexref' for general cross-references.
+It takes three arguments: the name of the label (see section above for
+valid label names), the value of the label (which can be anything), and
+the "class" of the reference--whether it's a section, or theorem, or
+what. For example:
+
+ \definexref{sec-intro}{3.1}{section}
+
+Of course, the label value is usually generated by another macro using
+TeX count registers or some such.
+
+ `\definexref' doesn't actually define LABEL; instead, it writes out
+the definition to the .aux file, where Eplain will read it on the next
+TeX run.
+
+ The CLASS argument is used by the `\ref' and `\refs' commands. See
+the next section.
+
+
+File: eplain.info, Node: Using generic references, Prev: Defining generic references, Up: Cross-references
+
+4.9.2 Using generic references
+------------------------------
+
+To retrieve the value of the label defined via `\definexref' (see the
+previous section), Eplain provides the following macros:
+
+`\refn{LABEL}'
+
+`\xrefn{LABEL}'
+ `\refn' and `\xrefn' (they are synonyms) produce the bare
+ definition of LABEL. If LABEL isn't defined, issue a warning, and
+ produce LABEL itself instead, in typewriter. (The warning isn't
+ given if `\xrefwarningfalse'.)
+
+`\ref{LABEL}'
+ Given the class C for LABEL (see the description of `\definexref'
+ in the previous section), expand the control sequence `\C word'
+ (if it's defined) followed by a tie. Then call `\refn' on LABEL.
+ (Example below.)
+
+`\refs{LABEL}'
+ Like `\ref', but append the letter `s' to the `\...word'.
+
+
+ The purpose of the `\...word' macro is to produce the word `Section'
+or `Figure' or whatever that usually precedes the actual reference
+number.
+
+ Here is an example:
+
+ \def\sectionword{Section}
+ \definexref{sec-intro}{3.1}{section}
+ \definexref{sec-next}{3.2}{section}
+ See \refs{sec-intro} and \refn{sec-next} ...
+
+This produces `See Sections 3.1 and 3.2 ...'
+
+
+File: eplain.info, Node: Page references, Next: Equation references, Prev: Cross-references, Up: User definitions
+
+4.10 Page references
+====================
+
+Eplain provides two commands for handling references to page numbers,
+one for definition and one for use.
+
+`\xrdef{LABEL}'
+ Define LABEL to be the current page number. This produces no
+ printed output, and ignores following spaces.
+
+`\xref{LABEL}'
+ Produce the text `p. PAGENO', which is the usual form for
+ cross-references. The PAGENO is actually LABEL's definition; if
+ LABEL isn't defined, the text of the label itself is printed. The
+ `p. ' prefix is defined by `\xrefpageword'. Its default
+ definition is `p.\thinspace'.
+
+
+ Eplain can create hypertext links for the page references; *note
+Page reference hyperlinks::.
+
+
+File: eplain.info, Node: Equation references, Next: Indexing, Prev: Page references, Up: User definitions
+
+4.11 Equation references
+========================
+
+Instead of referring to pages, it's most useful if equation labels
+refer to equation numbers. Therefore, Eplain reserves a `\count'
+register, `\eqnumber', for the current equation number, and increments
+it at each numbered equation.
+
+ Here are the commands to define equation labels and then refer to
+them:
+
+`\eqdef{LABEL}'
+ This defines LABEL to be the current value of `\eqnumber', and, if
+ the current context is not inner, then produces a `\eqno' command.
+ (The condition makes it possible to use `\eqdef' in an
+ `\eqalignno' construction, for example.) The text of the equation
+ number is produced using `\eqprint'. *Note Formatting equation
+ references::.
+
+ If LABEL is empty, you still get an equation number (although
+ naturally you can't reliably refer to it). This is useful if you
+ want to put numbers on all equations in your document, and you
+ don't want to think up unique labels.
+
+ To refer to the last equation with the empty label, you just use
+ the empty label in one of the equation reference macros (see
+ below). This can be handy when you want to refer to an equation
+ shortly after its definition, say, in the sentence following the
+ displayed equation, and do not intend to refer to the equation
+ later. But use this trick with extreme caution: if later you
+ change the text and insert another empty definition between the
+ original definition and the reference, the reference will start to
+ refer to the new empty-labeled equation.
+
+`\eqdefn{LABEL}'
+ This is like `\eqdef', except it always omits the `\eqno' command.
+ It can therefore be used in places where `\eqdef' can't; for
+ example, in a non-displayed equation. The text of the equation
+ number is not produced, so you can also use it in the (admittedly
+ unusual) circumstance when you want to define an equation label
+ but not print that label.
+
+`\eqref{LABEL}'
+ This produces a formatted reference to LABEL. If LABEL is
+ undefined (perhaps because it is a forward reference), it just
+ produces the text of the label itself. Otherwise, it calls
+ `\eqprint'.
+
+`\eqrefn{LABEL}'
+ This produces the cross-reference text for LABEL. That is, it is
+ like `\eqref', except it doesn't call `\eqprint'.
+
+
+ Equation labels can contain the same characters that are valid in
+general cross-references.
+
+ Eplain can create hypertext links for the equation references; *note
+Equation reference hyperlinks::.
+
+* Menu:
+
+* Formatting equation references::
+* Subequation references::
+
+
+File: eplain.info, Node: Formatting equation references, Next: Subequation references, Up: Equation references
+
+4.11.1 Formatting equation references
+-------------------------------------
+
+Both defining an equation label and referring to it should usually
+produce output. This output is produced with the `\eqprint' macro,
+which takes one argument, the equation number being defined or referred
+to. By default, this just produces `(NUMBER)', where NUMBER is the
+equation number. To produce the equation number in a different font,
+or with different surrounding symbols, or whatever, you can redefine
+`\eqprint'. For example, the following definition would print all
+equation numbers in italics. (The extra braces define a group, to keep
+the font change from affecting surrounding text.)
+
+ \def\eqprint#1{{\it (#1)}}
+
+ In addition to changing the formatting of equation numbers, you might
+to add more structure to the equation number; for example, you might
+want to include the chapter number, to get equation numbers like
+`(1.2)'. To achieve this, you redefine `\eqconstruct'. For example:
+
+ \def\eqconstruct#1{\the\chapternumber.#1}
+
+(If you are keeping the chapter number in a count register named
+`\chapternumber', naturally.)
+
+ The reason for having both `\eqconstruct' and `\eqprint' may not be
+immediately apparent. The difference is that `\eqconstruct' affects
+the text that cross-reference label is defined to be, while `\eqprint'
+affects only what is typeset on the page. The example just below might
+help.
+
+ Usually, you want equation labels to refer to equation numbers. But
+sometimes you might want a more complicated text. For example, you
+might have an equation `(1)', and then have a variation several pages
+later which you want to refer to as `(1*)'.
+
+ Therefore, Eplain allows you to give an optional argument (i.e.,
+arbitrary text in square brackets) before the cross-reference label to
+\eqdef. Then, when you refer to the equation, that text is produced.
+Here's how to get the example just mentioned:
+
+ $$...\eqdef{a-eq}$$
+ ...
+ $$...\eqdef[\eqrefn{a-eq}*]{a-eq-var}$$
+ In \eqref{a-eq-var}, we expand on \eqref{a-eq}, ...
+
+ We use `\eqrefn' in the cross-reference text, not `\eqref', so that
+`\eqprint' is called only once.
+
+
+File: eplain.info, Node: Subequation references, Prev: Formatting equation references, Up: Equation references
+
+4.11.2 Subequation references
+-----------------------------
+
+Eplain also provides for one level of substructure for equations. That
+is, you might want to define a related group of equations with numbers
+like `2.1' and `2.2', and then be able to refer to the group as a whole:
+"... in the system of equations (2)...".
+
+ The commands to do this are `\eqsubdef' and `\eqsubdefn'. They take
+one LABEL argument like their counterparts above, and generally behave
+in the same way. The difference is in how they construct the equation
+number: instead of using just `\eqnumber', they also use another
+counter, `\subeqnumber'. This counter is advanced by one at every
+`\eqsubdef' or `\eqsubdefn', and reset to zero at every `\eqdef' or
+`\eqdefn'.
+
+ You use `\eqref' to refer to subequations as well as main equations.
+
+ To put the two together to construct the text that the label will
+produce, they use a macro `\eqsubreftext'. This macros takes two
+arguments, the "main" equation number (which, because the equation
+label can be defined as arbitrary text, as described in the previous
+section, might be anything at all) and the "sub" equation number (which
+is always just a number). Eplain's default definition just puts a
+period between them:
+ \def\eqsubreftext#1#2{#1.#2}%
+
+You can redefine `\eqsubreftext' to print however you like. For
+example, this definition makes the labels print as `2a', `2b', and so
+on.
+ \newcount\subref
+ \def\eqsubreftext#1#2{%
+ \subref = #2 % The space stops a <number>.
+ \advance\subref by 96 % `a' is character code 97.
+ #1\char\subref
+ }
+
+Sadly, we must define a new count register, `\subref', instead of using
+the scratch count register `\count255', because `#1' might include
+other macro calls which use `\count255'.
+
+
+File: eplain.info, Node: Indexing, Next: Justification, Prev: Equation references, Up: User definitions
+
+4.12 Indexing
+=============
+
+Eplain provides support for generating raw material for an index, and
+for typesetting a sorted index. A separate program must do the actual
+collection and sorting of terms, because TeX itself has no support for
+sorting.
+
+ Eplain can create hypertext links pointing from the index to the
+index terms; *note Index hyperlinks::.
+
+ Eplain's indexing commands were designed to work with the program
+MakeIndex, available from CTAN hosts in
+`tex-archive/indexing/makeindex'; MakeIndex is also commonly included
+in prepackaged TeX distributions. It is beyond the scope of this
+manual to explain how to run MakeIndex, and all of its many options.
+See `http://www.ctan.org/tex-archive/indexing/makeindex/'
+
+ The basic strategy for indexing works like this:
+
+ 1. For a document `foo.tex', Eplain's indexing commands (e.g.,
+ `\idx'; see the section `Indexing terms' below) write the raw index
+ material to `foo.idx'.
+
+ 2. MakeIndex reads `foo.idx', collects and sorts the index, and
+ writes the result to `foo.ind'.
+
+ 3. Eplain reads and typesets `foo.ind' on a subsequent run of TeX.
+ See the section `Typesetting an index' below.
+
+
+The `texi2dvi' program can help you automate this process, *note
+Invoking Eplain::.
+
+ If your document needs more than one index, each must have its own
+file. Therefore, Eplain provides the command `\defineindex', which
+takes an argument that is a single letter, which replaces `i' in the
+filenames and in the indexing command names described below. For
+example,
+
+ \defineindex{m}
+
+defines the command `\mdx' to write to the file `foo.mdx'. Eplain
+simply does `\defineindex{i}' to define the default commands.
+
+* Menu:
+
+* Indexing terms:: Specifying what to index.
+* Typesetting an index:: Printing the sorted output.
+* Customizing indexing:: Creating commands and specifying extra actions.
+
+
+File: eplain.info, Node: Indexing terms, Next: Typesetting an index, Up: Indexing
+
+4.12.1 Indexing terms
+---------------------
+
+Indexing commands in Eplain come in pairs: one command that only writes
+the index entry to the `.idx' file (see above section), and one that
+also typesets the term being indexed. The former always starts with `s'
+(for "silent"). In either case, the name always includes `Idx', where I
+is the index letter, also described above. Eplain defines the index `i'
+itself, so that's what we'll use in the names below.
+
+ The silent form of the commands take a subterm as a trailing optional
+argument. For example, `\sidx{truth}[definition of]' on page 75 makes
+an index entry that will eventually be typeset (by default) as
+
+ truth
+ definition of, 75
+
+ Also, the silent commands ignore trailing spaces. The non-silent
+ones do not.
+
+* Menu:
+
+* Indexing commands:: Making index entries.
+* Modifying index entries:: Ranges, see/see also, page number typesetting.
+* Proofing index terms:: Noting index entries in the margins.
+
+
+File: eplain.info, Node: Indexing commands, Next: Modifying index entries, Up: Indexing terms
+
+4.12.1.1 Indexing commands
+..........................
+
+Here are the commands.
+
+ * `\sidx{TERM}[SUBTERM]' makes an index entry for TERM, optionally
+ with subterm SUBTERM. `\idx{TERM}' also produces TERM as output.
+ Example:
+
+ \sidx{truth}[beauty of]
+ The beauty of truth is \idx{death}.
+
+ Subterms at the second and further levels can also be specified in
+ SUBTERM, using the `\idxsubentryseparator' character to separate
+ them. This character is by default `!'.
+
+ * `\sidxname{FIRST M.}{VON LAST}[SUBTERM]' makes an index entry for
+ `VON LAST, FIRST M.'. You can change the `, ' by redefining
+ `\idxnameseparator'. `\idxname{FIRST M.}{VON LAST}' also produces
+ FIRST M. VON LAST as output. (These commands are useful special
+ cases of `\idx' and `\sidx'.) Example:
+
+ \sidxname{Richard}{Stark}
+ \idxname{Donald}{Westlake} has written many kinds of novels, under
+ almost as many names.
+
+ * `\sidxmarked\CS{TERM}[SUBTERM]' makes an index entry for
+ `TERM[SUBTERM]', but TERM will be put in the index as `\CS{term}',
+ but still sorted as just TERM. `\idxmarked\CS{TERM}' also typesets
+ `\CS{term}'. This provides for the usual ways of changing the
+ typesetting of index entries. Example:
+
+ \def\article#1{``#1''}
+ \sidxmarked\article{Miss Elsa and Aunt Sophie}
+ Peter Drucker's \idxmarked\article{The Polanyis} is a remarkable
+ essay about a remarkable family.
+
+ * `\sidxsubmarked{TERM}\CS{subterm}' makes an index entry for TERM,
+ SUBTERM as usual, but also puts SUBTERM in the index as
+ `\CS{term}'. `\idxsubmarked{TERM}\CS{subterm}' also typesets
+ `TERM \CS{subterm}', in the unlikely event that your syntax is
+ convoluted enough to make this useful. Example:
+
+ \def\title#1{{\sl #1}}
+ \sidxsubmarked{Anderson, Laurie}\title{Strange Angels}
+ The \idxsubmarked{Anderson}\title{Carmen} is a strange twist.
+
+
+ The commands above rely on MakeIndex's feature for separating
+sorting of an index entry's from its typesetting. You can use this
+directly by specifying an index entry as `SORT@TYPESET'. For example:
+
+ \sidx{Ap-weight@$A_\pi$-weight}
+
+will sort as `Ap-weight', but print with the proper math. The `@' here
+is MakeIndex's default character for this purpose. See
+`http://www.ctan.org/tex-archive/indexing/makeindex/'. To make an index
+entry with an `@' in it, you have to escape it with a backslash; Eplain
+provides no macros for doing this.
+
+ After any index command, Eplain runs `\hookaction{afterindexterm}'.
+Because the index commands always add a whatsit item to the current
+list, you may wish to preserve a penalty or space past the new item.
+For example, given a conditional `\if@aftersctnhead' set true when
+you're at a section heading, you could do:
+
+ \hookaction{afterindexterm}{\if@aftersctnhead \nobreak \fi}
+
+
+File: eplain.info, Node: Modifying index entries, Next: Proofing index terms, Prev: Indexing commands, Up: Indexing terms
+
+4.12.1.2 Modifying index entries
+................................
+
+All the index commands described in the previous section take an initial
+optional argument before the index term, which modify the index entry's
+meaning in various ways. You can specify only one of the following in
+any given command, except that `begin' and `end' can be specified
+together with `pagemarkup=CS' (separate them with a comma without a
+following space, like this: `[begin,pagemarkup=defn]').
+
+ These work via MakeIndex's "encapsulation" feature. *Note
+Customizing indexing::, if you're not using the default characters for
+the MakeIndex operators. The other optional argument (specifying a
+subterm) is independent of these.
+
+ Here are the possibilities:
+
+`begin'
+`end'
+ These mark an index entry as the beginning or end of a range. The
+ index entries must match exactly for MakeIndex to recognize them.
+ Example:
+
+ \sidx[begin]{future}[Cohen, Leonard]
+ ...
+ \sidx[end]{future}[Cohen, Leonard]
+
+ will typeset as something like
+
+ future,
+ Cohen, Leonard, 65-94
+
+`see'
+ This marks an index entry as pointing to another; the real index
+ term is an additional (non-optional) argument to the command. Thus
+ you can anticipate a term readers may wish to look up, yet which
+ you have decided not to index. Example:
+
+ \sidx[see]{analysis}[archetypal]{archetypal criticism}
+
+ becomes
+
+ analysis,
+ archetypal, see archetypal criticism
+
+`seealso'
+ Similar to `see' (the previous item), but also allows for normal
+ index entries of the referencing term. Example:
+
+ \sidx[seealso]{archetypal criticism}[elements of]{dichotomies}
+
+ becomes
+
+ archetypal criticism,
+ elements of, 75, 97, 114, see also dichotomies
+
+ (Aside for the academically curious: The archetypally critical
+ book I took these dichotomous examples from is Laurence Berman's
+ `The Musical Image', which I happened to co-design and typeset.)
+
+`pagemarkup=CS'
+ This puts `\CS' before the page number in the typeset index, thus
+ allowing you to underline definitive entries, italicize examples,
+ and the like. You do _not_ precede the control sequence CS with a
+ backslash. (That just leads to expansive difficulties.) Naturally
+ it is up to you to define the control sequences you want to use.
+ Example:
+
+ \def\defn#1{{\sl #1}}
+ \sidx[pagemarkeup=defn]{indexing}
+
+ becomes something like
+
+ indexing, `\defn{75}'
+
+
+
+File: eplain.info, Node: Proofing index terms, Prev: Modifying index entries, Up: Indexing terms
+
+4.12.1.3 Proofing index terms
+.............................
+
+As you are reading through a manuscript, it is helpful to see what terms
+have been indexed, so you can add others, catch miscellaneous errors,
+etc. (Speaking from bitter experience, I can say it is extremely
+error-prone to leave all indexing to the end of the writing, since it
+involves adding many TeX commands to the source files.)
+
+ So Eplain puts index terms in the margin of each page, if you set
+`\indexproofingtrue'. It is `false' by default. The terms are typeset
+by the macro `\indexproofterm', which takes a single argument, the term
+to be typeset. Eplain's definition of `\indexproofterm' just puts it
+into an `\hbox', first doing `\indexprooffont', which Eplain defines to
+select the font `cmtt8'. With this definition long terms run off the
+page, but since this is just for proofreading anyway, it seems
+acceptable.
+
+ On the other hand, we certainly don't want the index term to run into
+the text of the page, so Eplain uses the right-hand side of the page
+rather than the left-hand page (assuming a language read left to right
+here). So `\ifodd\pageno', Eplain kerns by `\outsidemargin', otherwise
+by `\insidemargin'. If those macros are undefined, `\indexsetmargins'
+defines them to be one inch plus `\hoffset'.
+
+ To get the proofing index entries on the proper page, Eplain defines
+a new insertion class `\@indexproof'. To unbox any index proofing
+material, Eplain redefines `\makeheadline' to call `\indexproofunbox'
+before the original `\makeheadline'. Thus, if you have your own output
+routine, that redefines or doesn't use `\makeheadline', it's up to you
+to call `\indexproofunbox' at the appropriate time.
+
+
+File: eplain.info, Node: Typesetting an index, Next: Customizing indexing, Prev: Indexing terms, Up: Indexing
+
+4.12.2 Typesetting an index
+---------------------------
+
+The command `\readindexfile{i}' reads and typesets the `.ind' file that
+MakeIndex outputs (from the `.idx' file which the indexing commands in
+the previous sections write). Eplain defines a number of commands that
+support the default MakeIndex output.
+
+ More precisely, `\readindexfile' reads
+`\indexfilebasename.INDEX-LETTERnd', where the INDEX-LETTER is the
+argument. `\indexfilebasename' is `\jobname' by default, but if you
+have different indexes in different parts of a book, you may wish to
+change it, just as with bibliographies (*note Citations::).
+
+ MakeIndex was designed to work with LaTeX; therefore, by default the
+`.ind' file starts with `\begin{theindex}' and ends with
+`\end{theindex}'. If no `\begin' has been defined, Eplain defines one
+to ignore its argument and set up for typesetting the index (see
+below), and also defines a `\end' to ignore its argument. (In a group,
+naturally, since there is a primitive `\end').
+
+ Eplain calls `\indexfonts', sets `\parindent = 0pt', and does
+`\doublecolumns' (*note Multiple columns::) at the `\begin{theindex}'.
+`\indexfonts' does nothing by default; it's just there for you to
+override. (Indexes are usually typeset in smaller type than the main
+text.)
+
+ It ends the setup with `\hookrun{beginindex}', so you can override
+anything you like in that hook (*note Hooks::). For example:
+
+ \hookaction{beginindex}{\triplecolumns}
+
+ MakeIndex turns each main index entry into an `\item', subentries
+into `\subitem', and subsubentries into `\subsubitem'. By default, the
+first line of main entries are not indented, and subentries are
+indented 1em per level. Main entries are preceded by a `\vskip' of
+`\aboveitemskipamount', `0pt plus2pt' by default. Page breaks are
+encouraged before main entries (`\penalty -100'), but prohibited
+afterwards--Eplain has no provision for "continued" index entries.
+
+ All levels do the following:
+
+ \hangindent = 1em
+ \raggedright
+ \hyphenpenalty = 10000
+
+ Each entry ends with `\hookrun{indexitem}', so you can change any of
+this. For example, to increase the allowable rag:
+
+ \hookaction{indexitem}{\advance\rightskip by 2em}
+
+ Finally, MakeIndex outputs `\indexspace' between each group of
+entries in the `.ind' file. Eplain makes this equivalent to `\bigbreak'.
+
+
+File: eplain.info, Node: Customizing indexing, Prev: Typesetting an index, Up: Indexing
+
+4.12.3 Customizing indexing
+---------------------------
+
+By default, MakeIndex outputs `, ' after each term in the index. To
+change this, you can add the following to your MakeIndex style (`.ist')
+file:
+
+ delim_0 "\\afterindexterm "
+ delim_1 "\\afterindexterm "
+ delim_2 "\\afterindexterm "
+
+Eplain makes `\afterindexterm' equivalent to `\quad'.
+
+ You can also change the keywords Eplain recognizes (*note Modifying
+index entries::):
+
+`\idxrangebeginword'
+ `begin'
+
+`\idxrangeendword'
+ `end'
+
+`\idxseecmdword'
+ `see'
+
+`\idxseealsocmdword'
+ `seealso'
+
+
+ You can also change the magic characters Eplain puts into the `.idx'
+file, in case you've changed them in the `.ist' file:
+
+`\idxsubentryseparator'
+ `!'
+
+`\idxencapoperator'
+ `|'
+
+`\idxbeginrangemark'
+ `('
+
+`\idxendrangemark'
+ `)'
+
+
+ There is no macro for the `actual' (`@' by default) character,
+because it's impossible to make it expand properly.
+
+ You can change the (imaginary) page number that "see also" entries
+sort as by redefining `\idxmaxpagenum'. This is 99999 by default, which
+is one digit too many for old versions of MakeIndex.
+
+ The words output by Eplain for "see" and "see also" index entries
+are defined by `\indexseeword' and `\indexseealsowords' respectively.
+You can change the typeface used for these words by redefining
+`\seevariant'. And finally, the macros `\indexsee' and `\indexseealso'
+actually produce the "see ..." entries, so you can redefine them if you
+want something entirely different. If you do redefine them, make them
+take two parameters, the term being referenced and the `\idxmaxpagenum'
+(the latter should normally be ignored). See the example below.
+
+ Unfortunately, it is impossible to reliably control the commas
+produced by MakeIndex in front of "see ..." entries in the `.ind' file,
+either at MakeIndex level or at Eplain level. However, the `sed'
+script named `trimsee' distributed with Eplain in the `test' directory
+can be used to filter out these commas from the output of MakeIndex.
+For example, suppose you want the following style for your "see ..."
+entries:
+
+ analysis,
+ archetypal (see archetypal criticism)
+ archetypal criticism,
+ elements of, 75, 97, 114 (see also dichotomies)
+
+You would need to redefine these macros in your TeX file:
+
+ \def\indexsee#1#2{({\seevariant \indexseeword\/ }#1)}
+ \def\indexseealso#1#2{({\seevariant \indexseealsowords\/ }#1)}
+
+and then filter out the commas in front of the "see ..." entries by
+running the following command to produce the `.ind' file (assuming the
+name of the `.idx' file is `myfile.idx' and the `trimsee' script is
+placed in the current directory):
+
+ prompt$ cat myfile.idx | makeindex | ./trimsee > myfile.ind
+
+ By default, `trimsee' uses default page list separators and default
+"see ..." command names. If you set up MakeIndex to use different page
+list separator or change the names of `\indexsee' and `\indexseealso'
+commands, it is possible to adjust the `trimsee' script through its
+command line options, which are the following:
+
+`-i IS'
+ Use IS as a regular expression matching separator before "see ..."
+ commands in the input (default: `, \+').
+
+`-o OS'
+ Use OS as a separator to replace IS before "see ..." commands
+ (default: ` ').
+
+`-s SEE'
+ Use SEE as a regular expression matching "see ..." commands
+ (default: `\\indexsee').
+
+`-h'
+`--help'
+ Print a usage message.
+
+`-v'
+`--version'
+ Print version.
+
+ `trimsee' reads input from the standard input, and directs its
+output to the standard output.
+
+
+File: eplain.info, Node: Justification, Next: Tables, Prev: Indexing, Up: User definitions
+
+4.13 Justification
+==================
+
+Eplain defines three commands to conveniently justify multiple lines of
+text: `\flushright', `\flushleft', and `\center'.
+
+ They all work in the same way; let's take `\center' as the example.
+To start centering lines, you say `\center' inside a group; to stop,
+you end the group. Between the two commands, each end-of-line in the
+input file also starts a new line in the output file.
+
+ The entire block of text is broken into paragraphs at blank lines,
+so all the TeX paragraph-shaping parameters apply in the usual way.
+This is convenient, but it implies something else that isn't so
+convenient: changes to any linespacing parameters, such as
+`\baselineskip', will have _no effect_ on the paragraph in which they
+are changed. TeX does not handle linespacing changes within a
+paragraph (because it doesn't know where the line breaks are until the
+end of the paragraph).
+
+ The space between paragraphs is by default one blank line's worth.
+You can adjust this space by assigning to `\blanklineskipamount'; this
+(vertical) glue is inserted after each blank line.
+
+ Here is an example:
+ {\center First line.
+
+ Second line, with a blank line before.
+ }
+
+ This produces:
+
+ First line.
+
+ Second line, with a blank line before.
+
+ You may wish to use the justification macros inside of your own
+macros. Just be sure to put them in a group. For example, here is how
+a title macro might be defined:
+
+ \def\title{\begingroup\titlefont\center}
+ \def\endtitle{\endgroup}
+
+
+File: eplain.info, Node: Tables, Next: Margins, Prev: Justification, Up: User definitions
+
+4.14 Tables
+===========
+
+Eplain provides a single command, `\makecolumns', to make generating
+one particular kind of table easier. More ambitious macro packages
+might be helpful to you for more difficult applications. The files
+`ruled.tex' and `TXSruled.tex', available from `lifshitz.ph.utexas.edu'
+in `texis/tables', is the only one I know of.
+
+ Many tables are homogenous, i.e., all the entries are semantically
+the same. The arrangement into columns is to save space on the page,
+not to encode different meanings. In this kind of the table, it is
+useful to have the column breaks chosen automatically, so that you can
+add or delete entries without worrying about the column breaks.
+
+ `\makecolumns' takes two arguments: the number of entries in the
+table, and the number of columns to break them into. As you can see
+from the example below, the first argument is delimited by a slash, and
+the second by a colon and a space (or end-of-line). The entries for the
+table then follow, one per line (not including the line with the
+`\makecolumns' command itself).
+
+ `\parindent' defines the space to the left of the table. `\hsize'
+defines the width of the table. So you can adjust the position of the
+table on the page by assignments to these parameters, probably inside a
+group.
+
+ You can also control the penalty at a page break before the
+`\makecolumns' by setting the parameter `\abovecolumnspenalty'. Usually,
+the table is preceded by some explanatory text. You wouldn't want a
+page break to occur after the text and before the table, so Eplain sets
+it to `10000'. But if the table produced by `\makecolumns' is standing
+on its own, `\abovecolumnspenalty' should be decreased.
+
+ If you happen to give `\makecolumns' a smaller number of entries
+than you really have, some text beyond the (intended) end of the table
+will be incorporated into the table, probably producing an error
+message, or at least some strange looking entries. And if you give
+`\makecolumns' a larger number of entries than you really have, some of
+the entries will be typeset as straight text, probably also looking
+somewhat out of place.
+
+ Here is an example:
+ % Arrange 6 entries into 2 columns:
+ \makecolumns 6/2: % This line doesn't have an entry.
+ one
+ two
+ three
+ four
+ five
+ six
+ Text after the table.
+
+ This produces `one', `two', and `three' in the first column, and
+`four', `five', and `six' in the second.
+
+
+File: eplain.info, Node: Margins, Next: Multiple columns, Prev: Tables, Up: User definitions
+
+4.15 Margins
+============
+
+TeX's primitives describe the type area in terms of an offset from the
+upper left corner, and the width and height of the type. Some people
+prefer to think in terms of the "margins" at the top, bottom, left, and
+right of the page, and most composition systems other than TeX conceive
+of the page laid out in this way. Therefore, Eplain provides commands
+to directly assign and increment the margins.
+
+`\topmargin = DIMEN'
+`\bottommargin = DIMEN'
+`\leftmargin = DIMEN'
+
+`\rightmargin = DIMEN'
+ These commands set the specified margin to the DIMEN given. The
+ `=' and the spaces around it are optional. The control sequences
+ here are not TeX registers, despite appearances; therefore,
+ commands like `\showthe\topmargin' will not do what you expect.
+
+`\advancetopmargin by DIMEN'
+`\advancebottommargin by DIMEN'
+`\advanceleftmargin by DIMEN'
+
+`\advancerightmargin by DIMEN'
+ These commands change the specified margin by the DIMEN given.
+
+ Regardless of whether you use the assignment or the advance commands,
+Eplain always changes the type area in response, not the other margins.
+For example, when TeX starts, the left and right margins are both one
+inch. If you then say `\leftmargin = 2in', the right margin will
+remain at one inch, and the width of the lines (i.e., `\hsize') will
+decrease by one inch.
+
+ When you use any of these commands, Eplain computes the old value of
+the particular margin, by how much you want to change it, and then
+resets the values of TeX's primitive parameters to correspond.
+Unfortunately, Eplain cannot compute the right or bottom margin without
+help: you must tell it the full width and height of the final output
+page. It defines two new parameters for this:
+
+`\paperheight'
+ The height of the output page; default is 11truein.
+
+`\paperwidth'
+ The width of the output page; default is 8.5truein.
+
+ If your output page has different dimensions than this, you must
+reassign to these parameters, as in
+
+ \paperheight = 11truein
+ \paperwidth = 17truein
+
+
+File: eplain.info, Node: Multiple columns, Next: Footnotes, Prev: Margins, Up: User definitions
+
+4.16 Multiple columns
+=====================
+
+Eplain provides for double, triple, and quadruple column output: say
+`\doublecolumns', `\triplecolumns', or `\quadcolumns', and from that
+point on, the manuscript will be set in columns. To go back to one
+column, say `\singlecolumn'.
+
+ You may need to invoke `\singlecolumn' to balance the columns on the
+last page of output.
+
+ To do a "column eject", i.e., move to the top of the next column, do
+`\columnfill'. This does not actually force an eject, however: it
+merely inserts a kern of size `\@normalvsize' minus `\pagetotal'
+(`\@normalvsize' being the usual height of the page; to implement
+multicolumns, Eplain multiplies `\vsize' itself by the number of
+columns). In most circumstances, a column break will be forced after
+this kern (during the column splitting operation when the whole page is
+output), as desired.
+
+ The columns are separated by the value of the dimen parameter
+`\gutter'. Default value is two picas. If you want to add vertical
+material between the columns, use `\gutterbox'. For example, to put a
+vertical line between columns, define `\gutterbox' as
+ \def\gutterbox{\vbox to \dimen0{\vfil\hbox{\vrule height\dimen0}\vfil}}%
+ The dimension counter `\dimen0' contains the height of the column.
+
+ All the `\...columns' macros insert the value of the glue parameter
+`\abovecolumnskip' before the multicolumn text, and the value of the
+glue parameter `\belowcolumnskip' after it. The default value for both
+of these parameters is `\bigskipamount', i.e., one linespace in plain
+TeX.
+
+ The macros take into account only the insertion classes defined by
+plain TeX; namely, footnotes and `\topinsert's. If you have additional
+insertion classes, you will need to change the implementation.
+
+ Also, Eplain makes insertions the full page width. There is no
+provision for column-width insertions.
+
+
+File: eplain.info, Node: Footnotes, Next: Fractions, Prev: Multiple columns, Up: User definitions
+
+4.17 Footnotes
+==============
+
+The most common reference mark for footnotes is a raised number,
+incremented on each footnote. The `\numberedfootnote' macro provides
+this. It takes one argument, the footnote text.
+
+ If your document uses only numbered footnotes, you could make typing
+`\numberedfootnote' more convenient with a command such as:
+
+ \let\footnote = \numberedfootnote
+
+ After doing this, you can type your footnotes as `\footnote{FOOTNOTE
+TEXT}', instead of as `\numberedfootnote{FOOTNOTE TEXT}'.
+
+ Eplain keeps the current footnote number in the count register
+`\footnotenumber'. So, to reset the footnote number to zero, as you
+might want to do at, for example, the beginning of a chapter, you could
+say `\footnotenumber=0'.
+
+ Plain TeX separates the footnote marker from the footnote text by an
+en space (it uses the `\textindent' macro). In Eplain, you can change
+this space by setting the dimension register `\footnotemarkseparation'. The
+default is still an en.
+
+ You can produce a space between footenotes by setting the glue
+register `\interfootnoteskip'. The default is zero.
+
+ `\parskip' is also set to zero by default before the beginning of
+each footnote (but not for the text of the footnote).
+
+ You can also control footnote formatting in a more general way:
+Eplain expands the token register `\everyfootnote' before a footnote is
+typeset, but after the default values for all the parameters have been
+established. For example, if you want your footnotes to be printed in
+seven-point type, indented by one inch, you could say:
+ \everyfootnote = {\sevenrm \leftskip = 1in}
+
+ By default, an `\hrule' is typeset above each group of footnotes on
+a page. You can control the dimensions of this rule by setting the
+dimension registers `\footnoterulewidth' and `\footnoteruleheight'. The
+space between the rule and the first footnote on the page is determined
+by the dimension register `\belowfootnoterulespace'. If you don't want
+any rule at all, set `\footenoteruleheight=0pt', and, most likely,
+`\belowfootnoterulespace=0pt'. The defaults for these parameters
+typeset the rule in the same way as plain TeX: the rule is 0.4 points
+high, 2 true inches wide, with 2.6 points below it.
+
+ The space above the rule and below the text on the page is controlled
+by the glue register `\skip\footins'. The default is a plain TeX
+`\bigskip'.
+
+ Eplain can create hypertext links for the footnote marks; *note
+Footnote hyperlinks::.
+
+
+File: eplain.info, Node: Fractions, Next: Paths, Prev: Footnotes, Up: User definitions
+
+4.18 Fractions
+==============
+
+Exercise 11.6 of `The TeXbook' describes a macro `\frac' for setting
+fractions, but `\frac' never made it into plain TeX. So Eplain
+includes it.
+
+ `\frac' typesets the numerator and denominator in `\scriptfont0',
+slightly raised and lowered. The numerator and denominator are
+separated by a slash. The denominator must be enclosed in braces if
+it's more than one token long, but the numerator need not be. (This is
+a consequence of `\frac' taking delimited arguments; see page 203 of
+`The TeXbook' for an explanation of delimited macro arguments.)
+
+ For example, `\frac 23/{64}' turns `23/64' into 23/64 (you can't see
+the difference in the Info file).
+
+
+File: eplain.info, Node: Paths, Next: Logos, Prev: Fractions, Up: User definitions
+
+4.19 Paths
+==========
+
+When you typeset long pathnames, electronic mail addresses, or other
+such "computer" names, you would like TeX to break lines at punctuation
+characters within the name, rather than trying to find hyphenation
+points within the words. For example, it would be better to break the
+email address `letters@alpha.gnu.ai.mit.edu' at the `@' or a `.',
+rather than at the hyphenation points in `letters' and `alpha'.
+
+ If you use the `\path' macro to typeset the names, TeX will find
+these good breakpoints. The argument to `\path' is delimited by any
+character other other than `\' which does not appear in the name itself.
+`|' is often a good choice, as in:
+ \path|letters@alpha.gnu.ai.mit.edu|
+
+ You can control the exact set of characters at which breakpoints
+will be allowed by calling `\discretionaries'. This takes the same
+sort of delimited argument; any character in the argument will
+henceforth be a valid breakpoint within `\path'. The default set is
+essentially all the punctuation characters:
+ \discretionaries |~!@$%^&*()_+`-=#{}[]:";'<>,.?\/|
+
+ If for some reason you absolutely must use `\' as the delimiter
+character for `\path', you can set `\specialpathdelimiterstrue'.
+(Other delimiter characters can still be used.) TeX then processes the
+`\path' argument about four times more slowly.
+
+ The `\path' macro comes from `path.sty', written by Nelson Beebe and
+Philip Taylor and available at
+`http://www.ctan.org/tex-archive/macros/latex/contrib/misc/path.sty'.
+
+
+File: eplain.info, Node: Logos, Next: Boxes, Prev: Paths, Up: User definitions
+
+4.20 Logos
+==========
+
+Eplain redefines the `\TeX' macro of plain TeX to end with `\null', so
+that the proper spacing is produced when `\TeX' is used at the end of a
+sentence. The other ...TeX macros listed here do this, also.
+
+ Eplain defines `\AMSTeX', `\BibTeX' `\AMSLaTeX', `\LAMSTeX', `\LaTeX' `\MF', and
+`\SLiTeX' to produce their respective logos. (Sorry, the logos are not
+shown here.) Some spelling variants of these are also supported.
+
+ All these macros come from `texnames.sty', compiled by Nelson Beebe
+and available at
+`http://www.ctan.org/tex-archive/info/biblio/texnames.sty'.
+
+
+File: eplain.info, Node: Boxes, Next: Checking for PDF output, Prev: Logos, Up: User definitions
+
+4.21 Boxes
+==========
+
+The solid rectangle that Eplain uses as a marker in unordered lists
+(*note Lists::) is available by itself: just say `\blackbox'.
+
+ You can create black boxes of arbitrary size with `\hrule' or
+`\vrule'.
+
+ You can also get unfilled rectangles with `\makeblankbox'. This
+takes two explicit arguments: the height and depth of the rules that
+define the top and bottom of the rectangle. (The two arguments are
+added to get the width of the left and right borders, so that the
+thickness of the border is the same on all four sides.) It also uses,
+as implicit arguments, the dimensions of `\box0' to define the
+dimensions of the rectangle it produces. (The contents of `\box0' are
+ignored.)
+
+ Here is an example. This small raised open box is suitable for
+putting next to numbers in, e.g., a table of contents.
+
+ \def\openbox{%
+ \ht0 = 1.75pt \dp0 = 1.75pt \wd0 = 3.5pt
+ \raise 2.75pt \makeblankbox{.2pt}{.2pt}
+ }
+
+ Finally, you can put a box around arbitrary text with `\boxit'. This
+takes one argument, which must itself be a (TeX) box, and puts a
+printed box around it, separated by `\boxitspace' white space (3 points
+by default) on all four sides. For example:
+
+ \boxit{\hbox{This text is boxed.}}
+
+ The reason that the argument must be a box is that when the text is
+more than one line long, TeX cannot figure out the line length for
+itself. Eplain does set `\parindent' to zero inside `\boxit', since it
+is very unlikely you would want indentation there. (If you do, you can
+always reset it yourself.)
+
+ `\boxit' uses `\ehrule' and `\evrule' so that you can easily adjust
+the thicknesses of the box rules. *Note Rules::.
+
+
+File: eplain.info, Node: Checking for PDF output, Next: Loading LaTeX packages, Prev: Boxes, Up: User definitions
+
+4.22 Checking for PDF output
+============================
+
+pdfTeX is a TeX variant that can output both `.dvi' and `.pdf' (Adobe's
+Portable Document Format) files (see
+`http://www.ctan.org/tex-archive/systems/pdftex/'). You might
+sometimes want to know whether the target format is `.pdf' or `.dvi'.
+The `\ifpdf' switch can be used to detect pdfTeX in PDF mode:
+
+ \ifpdf
+ This text is produced when pdfTeX is in PDF mode.
+ \else
+ This text is produced when pdfTeX is in DVI mode,
+ or when some program other than pdfTeX is used.
+ \fi
+
+ Keep in mind that `\ifpdf' is set based on the value of the
+`\pdfoutput' primitive of pdfTeX at the time Eplain is loaded. If you
+change the value of `\pdfoutput' after you load Eplain, `\ifpdf' will
+not reflect the change.
+
+ Eplain defines `\ifpdf' by incorporating Heiko Oberdiek's
+`ifpdf.sty', which is available at
+`http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ifpdf.sty'.
+
+
+File: eplain.info, Node: Loading LaTeX packages, Prev: Checking for PDF output, Up: User definitions
+
+4.23 Loading LaTeX packages
+===========================
+
+Eplain provides a limited support for loading LaTeX packages (`.sty'
+files--not `.cls'). This will mostly work for packages which were
+designed with plain TeX compatibility in mind, which means that most
+LaTeX packages cannot be loaded. The packages which are known to work
+are listed below (*note Packages known to work::). If you discover a
+working package which is not in the list, please report it to the
+Eplain mailing list (*note Introduction::).
+
+ To set up a pseudo-LaTeX environment for the packages, Eplain uses
+`miniltx.tex'
+(`http://www.ctan.org/tex-archive/macros/plain/graphics/miniltx.tex')
+from the LaTeX graphics collection, written by David Carlisle and
+Sebastian Rahtz (the collection is available at
+`http://www.ctan.org/tex-archive/macros/latex/required/graphics/').
+Eplain extends `miniltx.tex' to provide some additional features, e.g.,
+support for package options.
+
+* Menu:
+
+* The \usepackage command:: Command to load packages.
+* Environment for loading packages:: Environment for the \usepackage commands.
+* Packages known to work:: Supported packages.
+* Packages known not to work:: Packages known not to work with Eplain.
+
+
+File: eplain.info, Node: The \usepackage command, Next: Environment for loading packages, Up: Loading LaTeX packages
+
+4.23.1 The `\usepackage' command
+--------------------------------
+
+`\usepackage' loads a LaTeX package. Its syntax is similar to that of
+LaTeX's `\usepackage' command:
+
+ \usepackage[OPTIONS]{PACKAGES}[VERSION]
+
+where OPTIONS is a comma-separated list of package options, PACKAGES is
+a comma-separated list of packages to load (without the `.sty' suffix),
+and VERSION is a package version number given as a date in the format
+`YYYY/MM/DD'. If an older version of the package is found, a warning
+is issued. If several packages are loaded within a single `\usepackage'
+command, the OPTIONS will be applied to each of the packages. As
+usual, parameters in square brackets are optional and can be omitted
+(together with the square brackets).
+
+ For example:
+
+ \usepackage[foo,bar]{pack1,pack2}[2005/08/29]
+
+will load packages `pack1' and `pack2', each with the options `foo' and
+`bar', and will check that each of the packages are dated 2005/08/29 or
+newer.
+
+
+File: eplain.info, Node: Environment for loading packages, Next: Packages known to work, Prev: The \usepackage command, Up: Loading LaTeX packages
+
+4.23.2 Environment for loading packages
+---------------------------------------
+
+Some packages request that certain commands are executed after all
+packages have been loaded. In LaTeX, this means that the commands are
+executed at the beginning of the document, after the so-called
+"preamble". Neither plain TeX nor Eplain have any kind of preamble;
+therefore, Eplain requires that all packages be loaded inside a
+`\beginpackages...\endpackages' block, for example:
+
+ \beginpackages
+ \usepackage[foo,bar]{pack1}
+ \usepackage{pack2}
+ \endpackages
+
+This requirement enables Eplain to execute the "delayed" commands at
+the end of the `\beginpackages...\endpackages' block.
+
+ For the same reason, it is advisable to specify only one such block
+per document, just like there is only one preamble in LaTeX.
+
+
+File: eplain.info, Node: Packages known to work, Next: Packages known not to work, Prev: Environment for loading packages, Up: Loading LaTeX packages
+
+4.23.3 Packages known to work
+-----------------------------
+
+The following table lists packages that had been tested and are known
+to work with Eplain, and locations where you can find manuals for these
+packages. Some of the short descriptions of the packages were taken
+from the documentation for those packages.
+
+autopict (`2001/06/04 v1.1j Picture mode autoload file')
+ `http://tug.org/eplain/ltpictur.pdf'
+
+ This is the LaTeX "picture mode", started by `\begin{picture}' and
+ ended by `\end{picture}' (in LaTeX, this package is not explicitly
+ loaded since it is part of the LaTeX kernel). It provides
+ commands to draw simple figures inside your document without
+ resorting to any external tools.
+
+color (`1999/02/16 v1.0i Standard LaTeX Color (DPC)')
+graphics (`2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)')
+graphicx (`1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)')
+ `http://www.ctan.org/tex-archive/macros/latex/required/graphics/grfguide.pdf'
+
+ These packages are from the LaTeX graphics collection. They
+ provide commands for changing text/page colors, text rotation and
+ scaling, and much more.
+
+psfrag (`1998/04/11 v3.04 PSfrag (MCG)')
+ `http://www.ctan.org/tex-archive/macros/latex/contrib/psfrag/pfgguide.pdf'
+
+ PSfrag allows the user to precisely overlay Encapsulated PostScript
+ (EPS) files with arbitrary (La)TeX constructions. In order to
+ accomplish this, the user places a simple text "tag" in the
+ graphics file, as a "position marker" of sorts. Then, using simple
+ (La)TeX commands, the user instructs PSfrag to remove that tag from
+ the figure, and replace it with a properly sized, aligned, and
+ rotated (La)TeX equation.
+
+url (`2005/06/27 ver 3.2 Verb mode for urls, etc.')
+ `http://www.ctan.org/tex-archive/macros/latex/contrib/misc/url.sty'
+
+ This package provides a form of `\verbatim' that allows line
+ breaks at certain characters or combinations of characters,
+ accepts reconfiguration, and can usually be used in the argument to
+ another command. It is intended for email addresses, hypertext
+ links, directories/paths, etc., which normally have no spaces.
+
+ Eplain can create hypertext links with the `\url' command; *note
+ URL hyperlinks::.
+
+
+File: eplain.info, Node: Packages known not to work, Prev: Packages known to work, Up: Loading LaTeX packages
+
+4.23.4 Packages known not to work
+---------------------------------
+
+The following packages are known not to work with Eplain:
+
+pict2e (`2005/07/15 v0.2r Improved picture commands (HjG,RN)')
+ `http://www.ctan.org/tex-archive/macros/latex/contrib/pict2e/'
+
+xcolor (`2005/06/06 v2.03 LaTeX color extensions (UK)')
+ `http://www.ctan.org/tex-archive/macros/latex/contrib/xcolor/'
+
+
+File: eplain.info, Node: Hyperlinks, Next: Arrow theoretic diagrams, Prev: User definitions, Up: Top
+
+5 Hyperlinks
+************
+
+This chapter describes the support which Eplain provides for hypertext
+links ("hyperlinks" for short). Hyperlinks can be created implicitly
+by the cross-reference, indexing and other macros in Eplain. Macros
+for constructing explicit hyperlinks are also provided.
+
+* Menu:
+
+* Introduction to hyperlinks::
+* Explicit hyperlinks::
+* Implicit hyperlinks::
+* Hyperlink drivers::
+* Setting hyperlink types and options::
+* Turning hyperlinks on/off::
+
+
+File: eplain.info, Node: Introduction to hyperlinks, Next: Explicit hyperlinks, Up: Hyperlinks
+
+5.1 Introduction to hyperlinks
+==============================
+
+The original TeX engine has no built-in support for hyperlinks. Many
+of the present-day file formats with hyperlinking capabilities did not
+even exist at the time TeX was written. However, TeX's `\special'
+primitive can be used to instruct TeX to write special directives into
+its `.dvi' output file. These directives are not interpreted by TeX in
+any way; they are intended for programs which process the `.dvi' files
+produced by TeX, be it printing or converting to other formats, such as `.ps'
+or `.pdf'.
+
+ Another approach is to extend the original TeX engine with the
+ability to generate one of the hyperlinking formats; TeX's set of
+primitives can be extended to include hyperlink commands. This is the
+approach used by the pdfTeX engine, which is capable of producing
+`.pdf' files directly from the TeX source, skipping the `.dvi'
+generation and processing step.
+
+ It turns out that the sets of commands for different formats are
+mostly not interchangeable, as each of the file formats has its own
+quirks and capabilities. And this is where Eplain "hyperlink drivers"
+come into play.
+
+ In order for Eplain to generate proper commands, Eplain has to know
+two things: which engine or `.dvi' processor you are using, and the set
+of commands it understands.
+
+ The knowledge about the commands that the various processors
+understand is programmed into Eplain's hyperlink drivers. Eplain
+provides two drivers, `pdftex' and `dvipdfm', named after the programs
+which process the hyperlink commands, pdfTeX and dvipdfm. Therefore,
+Eplain can only produce hyperlink commands for one of these two
+programs--except that the extended `dvipdfmx' program can be used as
+well as the original `dvipdfm', since they are compatible.
+
+ To tell Eplain which `.dvi' processor or extended TeX engine you are
+using, use the command `\enablehyperlinks'.
+
+ For example:
+
+ \enablehyperlinks
+
+instructs Eplain to attempt to automatically detect which driver to
+use, as follows: if it detects pdfTeX in PDF mode, it loads the
+`pdftex' driver. If it does not detect pdfTeX in PDF mode, the
+`dvipdfm' driver is loaded. The detection is based on the `\ifpdf'
+switch (*note Checking for PDF output::).
+
+ If necessary, you can explicitly specify the driver name:
+
+ \enablehyperlinks[pdftex]
+
+will start producing hyperlinks under the assumption that you are using
+pdfTeX.
+
+ Eplain does not produce any hyperlinks until you explicitly enable
+them with `\enablehyperlinks'. For one thing, this keeps Eplain
+backward-compatible with previous releases without hyperlink support.
+For another, you may be using a program other than pdfTeX or `dvipdfm',
+which does not understand their hyperlink commands.
+
+Concepts and Terminology
+------------------------
+
+In general, hyperlinks work as follows. You mark some place in your
+document as a hyperlink destination, associating a "hyperlink label"
+with that destination. Next, somewhere within your document, you
+create a hyperlink, using a label to identify the destination you want
+this link to point to. A hyperlink is a region in the document (which
+can take many forms, for example, text or a picture); when a user
+clicks on that region, they will be taken to a place in the document
+marked by the corresponding destination. The following two sections
+(*Note Explicit hyperlinks::, and *Note Implicit hyperlinks::) describe
+the macros you can use to define destinations and create links pointing
+to those destinations.
+
+ In the rest of this chapter, we will often need to refer to links and
+destinations jointly, in which case we will use the term "hyperlinks".
+We will use the terms "links" and "destinations" in cases when we need
+to refer specifically to links or destinations.
+
+ Hyperlink drivers provide several kinds of links and destinations.
+We will refer to them as "link types" and "destination types".
+
+ For example, one of the destination types that the `pdftex' driver
+provides is the `xyz' type; when the user follows a link pointing to an
+`xyz' destination, the exact location marked by that destination is
+displayed. Another destination type provided by the `pdftex' driver is
+the `fit' type; when the user follows a link pointing to a `fit'
+destination, the page containing that destination is zoomed to fit into
+the window in which the document is displayed.
+
+ Similarly, drivers support various link types. For example, with the
+`pdftex' driver, the usual link type used to refer to destinations in
+the current document is called `name'. You can also create a link
+pointing to another local document (by using the `filename' link type)
+or to a URL (by using the `url' link type).
+
+ In addition, each hyperlink driver supports a number of destination
+and link "options". By setting these options you can customize
+hyperlink parameters (e.g., the thickness of the border drawn around a
+hyperlink) or pass information to hyperlinks (for example, file name of
+a document, for a link pointing to a destination in another document).
+
+ *Note Hyperlink drivers::, for the description of hyperlink types and
+options supported by the drivers. *Note Setting hyperlink types and
+options::, for the information on how to set hyperlink options.
+
+
+File: eplain.info, Node: Explicit hyperlinks, Next: Implicit hyperlinks, Prev: Introduction to hyperlinks, Up: Hyperlinks
+
+5.2 Explicit hyperlinks
+=======================
+
+Explicit hyperlinks are created by you, in the source of your document.
+The simplest command is `\hldest', which marks the current position in
+your document as a destination:
+
+ \hldest{TYPE}{OPTIONS}{LABEL}
+
+Here TYPE is one of the destination types supported by the hyperlink
+driver (*note Hyperlink drivers::), OPTIONS is a comma-separated list
+of option assignments, and LABEL is the hyperlink label to associate
+with this destination. This label will identify the destination when
+creating links pointing to this destination. For example, with the
+`pdftex' driver, the command
+
+ \hldest{xyz}{zoom=2000}{index}
+
+creates a destination of type `xyz' ("the current position"), sets the
+magnification ratio for this destination to be 200%, and associates the
+label `index' with the destination.
+
+ Another command, `\hlstart', paired with `\hlend', turns all
+intervening material into a link:
+
+ \hlstart{TYPE}{OPTIONS}{LABEL} ... \hlend
+
+Here TYPE, OPTIONS and LABEL have the same meaning as for `\hldest'.
+Continuing the previous example,
+
+ \hlstart{name}{bstyle=U,bwidth=2}{index} Index\hlend
+
+typesets the word `Index' as a link with underline border of
+width 2 PostScript points, pointing to the named destination `index'
+defined in the previous example. (The other options, like highlight
+mode and border color, are determined by the defaults, *note Setting
+default types and options::).
+
+ Both `\hldest' and `\hlstart' ignore following spaces.
+
+ Both `\hldest' and `\hlstart' expand the first token of OPTIONS
+once, so you can save a list of options in a macro and pass it for the
+OPTIONS. For example:
+
+ \def\linkopts{bstyle=U,bwidth=2}
+ \hlstart{name}{\linkopts}{index}Index\hlend
+
+is functionally equivalent to the previous example.
+
+
+File: eplain.info, Node: Implicit hyperlinks, Next: Hyperlink drivers, Prev: Explicit hyperlinks, Up: Hyperlinks
+
+5.3 Implicit hyperlinks
+=======================
+
+"Implicit hyperlinks" are hyperlinks created implicitly by various
+Eplain macros, such as the macros for citations, cross-references,
+indexing, etc.
+
+ All such macros are divided into "link groups" and "destination
+groups" (or "linkgroups" and "destgroups" for short) so that parameters
+can be set individually for each group. For example, all equation
+macros which define a destination are assigned to the `eq' destgroup;
+equation macros which create a link are assigned to the `eq' linkgroup.
+By setting parameters for the `eq' linkgroup (destgroup), you can
+uniformly customize all links (destinations) related to equation
+references, without interfering with settings for the other groups.
+
+ *Note Setting hyperlink types and options::, for information on how
+to set parameters for a group.
+
+ Here is the list of the linkgroups:
+
+ cite, ref, xref, eq, idx, foot, footback, url.
+
+ And here are the destgroups:
+
+ bib, li, definexref, xrdef, eq, idx, foot, footback.
+
+ The following subsections describe each of the linkgroups and
+destgroups and the hyperlink support provided.
+
+* Menu:
+
+* URL hyperlinks:: url
+* Citation hyperlinks:: cite, bib
+* List hyperlinks:: li
+* Cross-reference hyperlinks:: definexref, ref
+* Page reference hyperlinks:: xrdef, xref
+* Equation reference hyperlinks:: eq
+* Index hyperlinks:: idx
+* Footnote hyperlinks:: foot, footback
+* Contents hyperlinks::
+
+
+File: eplain.info, Node: URL hyperlinks, Next: Citation hyperlinks, Up: Implicit hyperlinks
+
+5.3.1 URL hyperlinks: url
+--------------------------
+
+The `url' linkgroup covers the `\url' command from the LaTeX package `url'
+(*note Packages known to work::), as well as any new `\url'-like
+commands you define. The type for this linkgroup is set to `url' by
+the drivers which support this link type. `url' links use the
+parameter to the `\url' command as the URL to point to.
+
+ You may be using the `\url' command to typeset something other than
+a URL, e.g., a path, for which you do not want a link to be created; in
+that case, you can disable the `url' linkgroup with the command
+`\hloff[url]' (*note Turning hyperlinks on/off for a group::).
+
+
+File: eplain.info, Node: Citation hyperlinks, Next: List hyperlinks, Prev: URL hyperlinks, Up: Implicit hyperlinks
+
+5.3.2 Citation hyperlinks: cite, bib
+-------------------------------------
+
+The `cite' linkgroup includes only the `\cite' command (*note
+Citations::). `\cite' turns each of the references in the list into a
+link pointing to the respective bibliography entry produced by the
+`\bibliography' command.
+
+ The `bib' destgroup includes the macros related to the
+`\bibliography' command (*note Citations::). `\bibliography' inputs a
+`.bbl' file, which contains a list of bibliography entries. For each
+of the entries, a destination is defined.
+
+ Both commands use the citation label as the hyperlink label.
+
+
+File: eplain.info, Node: List hyperlinks, Next: Cross-reference hyperlinks, Prev: Citation hyperlinks, Up: Implicit hyperlinks
+
+5.3.3 List hyperlinks: li
+--------------------------
+
+The `li' destgroup consists of the `\li' command (*note Lists::), which
+defines a destination if you supply the optional argument
+(cross-reference label). This label is also used as the hyperlink
+label.
+
+
+File: eplain.info, Node: Cross-reference hyperlinks, Next: Page reference hyperlinks, Prev: List hyperlinks, Up: Implicit hyperlinks
+
+5.3.4 Cross-reference hyperlinks: definexref, ref
+--------------------------------------------------
+
+The `definexref' destgroup is for the `\definexref' command (*note
+Defining generic references::). `\definexref' defines a destination
+using the cross-reference label (the first argument) as the hyperlink
+label.
+
+ The `ref' linkgroup includes `\refn' and `\xrefn' (they are
+synonyms), `\ref', and `\refs' (*note Using generic references::).
+
+ `\refn' turns the cross-reference it produces into a link, using the
+cross-reference label as the hyperlink label. If an optional argument
+is present, it is tied by `\reftie' to the reference and become part of
+the link.
+
+ `\ref' works similarly to `\refn'. It takes an optional argument,
+which is treated the same way as the optional argument to `\refn'. In
+addition, `\ref' can produce a "class word". Both the optional
+argument and the class word become part of the link, when present. The
+cross-reference is tied by `\reftie' to the preceding word. The
+optional argument is separated from the class word by `\refspace'.
+
+ Unlike `\ref', `\refs' does not take an optional argument and does
+not make the class word part of the link, which is appropriate for its
+intended use.
+
+
+File: eplain.info, Node: Page reference hyperlinks, Next: Equation reference hyperlinks, Prev: Cross-reference hyperlinks, Up: Implicit hyperlinks
+
+5.3.5 Page reference hyperlinks: xrdef, xref
+---------------------------------------------
+
+The `xrdef' destgroup is for `\xrdef' (*note Page references::).
+`\xrdef' defines a destination using cross-reference label as the
+hyperlink label.
+
+ The `xref' linkgroup includes the `\xref' command (*note Page
+references::). `\xref' turns its optional argument (followed by
+`\refspace'), `\xrefpageword' and the cross-reference (page number)
+into a link, using the cross-reference label as the hyperlink label.
+
+
+File: eplain.info, Node: Equation reference hyperlinks, Next: Index hyperlinks, Prev: Page reference hyperlinks, Up: Implicit hyperlinks
+
+5.3.6 Equation reference hyperlinks: eq
+----------------------------------------
+
+All commands that define equation labels are part of the `eq' destgroup.
+These are `\eqdef', `\eqdefn', `\eqsubdef' and `\eqsubdefn' (*note
+Equation references::). All these commands use the equation label as
+the hyperlink label. However, if the equation label is empty, they
+make up a (hopefully) unique hyperlink label for the destination. This
+label will be used for the link when you refer to this empty-labeled
+equation with one of the equation reference macros.
+
+ The command `\phantomeqlabel' is called to generate hyperlink labels
+for the empty-labeled equations. By default, it produces the labels in
+the format `PHEQNUMBER', where NUMBER comes from the count register
+`\phantomeqnumber'; this count register is incremented at every
+empty-labeled equation definition.
+
+ The commands `\eqref' and `\eqrefn' (*note Equation references::)
+form the `eq' linkgroup. These commands take an optional argument,
+which, when present, is tied with `\reftie' to the equation reference
+and becomes part of the link. The equation label is used for the
+hyperlink label; if the label is empty, the link is for the label
+generated for the last empty-labeled equation.
+
+
+File: eplain.info, Node: Index hyperlinks, Next: Footnote hyperlinks, Prev: Equation reference hyperlinks, Up: Implicit hyperlinks
+
+5.3.7 Index hyperlinks: idx
+----------------------------
+
+All indexing commands (`\idx', `\idxname', `\idxmarked',
+`\idxsubmarked' and their silent equivalents, *note Indexing
+commands::) form the `idx' destgroup. The `idx' linkgroup consists of
+the macros which are used to typeset the index when you say `\readindexfile{INDEX-LETTER}'
+(*note Typesetting an index::).
+
+ To create the links in index entries, Eplain uses MakeIndex's
+"encapsulation" feature. When you use an indexing macro to mark an
+index term, Eplain writes out a line to the `.idx' file of the
+following general form:
+
+ \indexentry{ENTRY|PAGEMARKUP}{PAGENO}
+
+where ENTRY is the index entry (converted into the internal format that
+MakeIndex understands), CS is the markup command you specified with the
+`pagemarkup=CS' optional argument to the indexing commands (*note
+Modifying index entries::), and PAGENO is the page number on which the
+term appeared. When processing the `.idx' file, MakeIndex makes the
+page number an argument to the page markup command ("encapsulates" the
+page number), so the page number in the `.ind' file appears as
+`\CS{PAGENO}'. Eplain internally replaces the CS command name with its
+own command, which, in addition to calling the original `\CS'
+encapsulator, turns the page number into a link.
+
+ Eplain provides two approaches to linking page numbers in the index
+to locations of index terms in the text.
+
+* Menu:
+
+* Exact destinations for index terms::
+* Page destinations for index terms::
+* Choosing destination placement::
+* Index page list and page range parsers::
+* Hyperlinks in see and see also entries::
+
+
+File: eplain.info, Node: Exact destinations for index terms, Next: Page destinations for index terms, Up: Index hyperlinks
+
+5.3.7.1 Exact destinations for index terms
+..........................................
+
+In this approach, each command that marks an index term defines a unique
+destination and passes its label on to the `.idx' file as part of the
+`\indexentry' command. The `\indexentry' line that Eplain writes to
+the `.idx' file becomes
+
+ \indexentry{ENTRY|hlidx{LABEL}{CS}}{PAGENO}
+
+where `\hlidx' is the command that is defined by Eplain to take three
+arguments: a hyperlink label (LABEL), a name of page number
+encapsulator (CS) and a page number (PAGENO). In the `.ind' file that
+MakeIndex will generate, the page number will now appear as
+
+ \hlidx{LABEL}{CS}{PAGENO}
+
+The result of this command is `\CS{PAGENO}', wrapped up into a link
+pointing to LABEL destination.
+
+ The hyperlink labels for the index terms are generated by the `\hlidxlabel'
+command, by default in the format `IDXNUMBER', where NUMBER is the
+value of the count register `\hlidxlabelnumber'. This count register
+is incremented at each index term.
+
+ The advantage of this approach, as compared to the second approach
+described below, is that links in the index point to exact locations of
+the indexed terms on the page. The disadvantage of this approach is
+that MakeIndex will regard _all_ index entries as distinct, because
+each one contains a (unique) hyperlink label. This disadvantage can be
+partially overcome by the script `idxuniq' distributed with Eplain in
+the `util' directory. This script filters out `\indexentry' lines
+differing only in the hyperlink label but identical otherwise. You
+should process the `.idx' with this script before passing it on to
+MakeIndex. For example:
+
+ prompt$ ./idxuniq file.idx | makeindex > file.ind
+
+Still, this solution is not ideal, as the page-range formation ability
+of MakeIndex will not work, and there will be problems of apparently
+identical index entries clashing (e.g., when a range-end entry appears
+on the same page as another entry with the same definition; `idxuniq'
+will not filter out the second entry).
+
+
+File: eplain.info, Node: Page destinations for index terms, Next: Choosing destination placement, Prev: Exact destinations for index terms, Up: Index hyperlinks
+
+5.3.7.2 Page destinations for index terms
+.........................................
+
+In the second approach, Eplain does not write out any destination labels
+for the index terms. Instead, Eplain writes out a wrapper for page
+number encapsulator which can parse the page number and generate a link
+pointing to the _page_ on which the term appeared. On top of each page
+containing an index term, Eplain defines a destination with label
+produced by `\hlidxpagelabel'. The `\hlidxpagelabel' command takes a
+single argument (page number NUMBER) and by default produces the label
+in the format `IDXPGNUMBER'.
+
+ With this approach, the `\indexentry' line which Eplain writes to
+the `.idx' file looks like this:
+
+ \indexentry{ENTRY|hlidxpage{CS}}{PAGENO}
+
+where `\hlidxpage' is the command that is defined by Eplain to take two
+arguments: a name of page number encapsulator (CS) and a page number
+(PAGENO). In the `.ind' file that MakeIndex will generate, the page
+number will appear as
+
+ \hlidxpage{CS}{PAGENO}
+
+ The advantage of this approach is that all features of MakeIndex are
+intact. The drawback is that links in the index do not point to exact
+locations of indexed terms on a page, but to the top of a page on which
+the term appears.
+
+ Another disadvantage is that this approach depends on the page range
+and page list separators which MakeIndex was configured to output.
+`\hlidxpage' must be able to parse the first page number in a page
+range like `1--4'. In addition, page list parsing is needed because
+MakeIndex combines two consecutive page numbers in one call to the page
+number encapsulator, so `\hlidxpage' can be passed, e.g., `1, 2' for
+the PAGENO. In this last case, `\hlidxpage' splits the two page
+numbers, applies `\CS' to each of them, and makes each of the page
+numbers a link to the appropriate page. Note that this will alter
+typesetting slightly, because now the page list separator (a comma
+followed by a space, by default) is not typeset using the page number
+encapsulator (`\CS').
+
+ Eplain's defaults for the page list and page number delimiters are
+the same as those in MakeIndex, a comma followed by a space (`, ') and
+two dashes (`--'), respectively. If you customize MakeIndex to use
+different delimiters, you must not forget to let Eplain know about them
+with the commands
+
+ \setidxpagelistdelimiter{LIST-DELIM}
+ \setidxpagerangedelimiter{PAGE-DELIM}
+
+(*note Page list and page range parsers::).
+
+
+File: eplain.info, Node: Choosing destination placement, Next: Index page list and page range parsers, Prev: Page destinations for index terms, Up: Index hyperlinks
+
+5.3.7.3 Choosing destination placement
+......................................
+
+The approach that Eplain should use for the index terms can be selected
+in the `\enablehyperlinks' command. The optional argument it accepts is
+a comma-separated list of options. The `idxexact' option selects the
+first approach, `idxpage' the second, and `idxnone' disables hyperlink
+support for the index terms altogether, in case you want to stop Eplain
+from writing its link wrappers into the `.idx' file. The default is
+`idxpage'.
+
+ For example:
+
+ \enablehyperlinks[idxexact]
+
+selects the first approach ("exact index links").
+
+
+File: eplain.info, Node: Index page list and page range parsers, Next: Hyperlinks in see and see also entries, Prev: Choosing destination placement, Up: Index hyperlinks
+
+5.3.7.4 Index page list and page range parsers
+..............................................
+
+The macros that Eplain uses to parse page lists and page ranges,
+`\idxparselist' and `\idxparserange', can sometimes be useful when
+defining page number encapsulators. *Note Page list and page range
+parsers::, for the description of these commands and an example of their
+usage.
+
+
+File: eplain.info, Node: Hyperlinks in see and see also entries, Prev: Index page list and page range parsers, Up: Index hyperlinks
+
+5.3.7.5 Hyperlinks in see and see also entries
+..............................................
+
+There is no automatic support for hyperlinks with "see" and "see also"
+index entries, as there is not enough information to trace the
+parameters of `\indexsee' and `\indexseealso' to corresponding index
+entries. But if desired, this can be implemented with `\hldest' and
+`\hlstart' (*note Explicit hyperlinks::); for example:
+
+ \sidx{semantic theory of truth@%
+ \leavevmode\hldest{}{}{idx:theo truth}semantic theory of truth}
+ ...
+ \sidx[seealso]{truth}[definition of]%
+ {\hlstart{}{}{idx:theo truth}semantic theory of truth\hlend}
+
+
+File: eplain.info, Node: Footnote hyperlinks, Next: Contents hyperlinks, Prev: Index hyperlinks, Up: Implicit hyperlinks
+
+5.3.8 Footnote hyperlinks: foot, footback
+------------------------------------------
+
+The `foot' link and destination groups include the `\numberedfootnote'
+and `\footnote' macros (*note Footnotes::). The `footback' groups
+include the same macros, but control parameters for links and
+destinations created inside the footnote to point back to the footnote
+mark within the text body.
+
+ The macros use hyperlink labels generated by `\hlfootlabel' and `\hlfootbacklabel'.
+The default formats for the labels are `FOOTNUMBER' and `FOOTBNUMBER',
+respectively, where NUMBER is the value of the count register `\hlfootlabelnumber'.
+This register is incremented at every footnote.
+
+
+File: eplain.info, Node: Contents hyperlinks, Prev: Footnote hyperlinks, Up: Implicit hyperlinks
+
+5.3.9 Contents hyperlinks
+-------------------------
+
+There is currently no special support for hyperlinks in the table of
+contents (*note Contents::), but implementing them with the `\hldest'
+and `\hlstart ... \hlend' commands (*note Explicit hyperlinks::) should
+be possible.
+
+
+File: eplain.info, Node: Hyperlink drivers, Next: Setting hyperlink types and options, Prev: Implicit hyperlinks, Up: Hyperlinks
+
+5.4 Hyperlink drivers
+=====================
+
+This section describes the hyperlink drivers: the types of hyperlinks
+they support, and the options they accept. During the first reading,
+you may only want to skim through this section.
+
+ Some of the descriptions below come from `Portable Document Format
+Reference Manual Version 1.3', March 11, 1999.
+
+* Menu:
+
+* Options supported by all drivers::
+* Hyperlink drivers pdftex and dvipdfm::
+* Hyperlink driver nolinks::
+
+
+File: eplain.info, Node: Options supported by all drivers, Next: Hyperlink drivers pdftex and dvipdfm, Up: Hyperlink drivers
+
+5.4.1 Options supported by all drivers
+--------------------------------------
+
+This subsection describes the destination and link options which are
+supported by all hyperlink drivers.
+
+Destination options supported by all drivers
+............................................
+
+`raise'
+ Specifies how much to raise destinations above the baseline. When
+ set to zero or empty, destinations are placed at the baseline.
+
+ It is usually convenient to set this option to some variable
+ parameter, so that the height to which destinations are raised is
+ automatically adjusted according to the current context. For
+ example, setting it to `\normalbaselineskip' (or some fraction of
+ it, like `1.7\normalbaselineskip') makes the setting appropriate
+ for different point sizes, in case your document uses more than
+ one.
+
+ The default setting is `\normalbaselineskip'. Initially, the
+ destgroups do not define this option, so they fall back on the
+ default, except for the `eq' destgroup, for which this option is
+ set to `1.7\normalbaselineskip', to accommodate the usual cases of
+ large operators in displayed math.
+
+ Example: `\hldestopts[eq]{raise=2.5\normalbaselineskip}'
+
+Link options supported by all drivers
+.....................................
+
+`colormodel'
+`color'
+ These two options define the color to be used for rendering the
+ link text. The colors are used only when a `\color' command is
+ defined, e.g., by loading the LaTeX `color' package (*note
+ Packages known to work::). The `\color' command is called as
+ `\color[COLORMODEL]{COLOR}', where COLORMODEL and COLOR are the
+ definitions of the `colormodel' and `color' options, respectively.
+ However, if COLORMODEL is empty, the optional argument to
+ `\color' is omitted; and if COLOR is empty, the `\color' command
+ is omitted altogether. The default setting is `COLORMODEL=cmyk'
+ and `COLOR=0.28,1,1,0.35'.
+
+ When specifying colors with several components delimited by commas
+ (e.g., RGB and CMYK colors in the LaTeX `color' package), it is not
+ possible to specify the components directly in the option list of
+ `\hlopts', because comma is the option list delimiter. With the
+ `color' package, it is possible to specify such colors by defining
+ a custom color with `\definecolor' and using the new color name
+ with an empty COLORMODEL (see examples below).
+
+ Examples:
+ \hlopts{colormodel=,color=blue}% predefined color
+ \definecolor{mycolor}{rgb}{.3,.8,.95}
+ \hlopts{colormodel=,color=mycolor}% custom color
+ \hlopts{colormodel=gray,color=.4}
+
+
+File: eplain.info, Node: Hyperlink drivers pdftex and dvipdfm, Next: Hyperlink driver nolinks, Prev: Options supported by all drivers, Up: Hyperlink drivers
+
+5.4.2 Hyperlink drivers `pdftex' and `dvipdfm'
+----------------------------------------------
+
+This subsection describes link and destination types and options
+supported by the `pdftex' and `dvipdfm' drivers. Many of the hyperlink
+types and options are common to both drivers, so we describe them
+together.
+
+* Menu:
+
+* Destination types for pdftex and dvipdfm::
+* Destination options for pdftex and dvipdfm::
+* Link types for pdftex and dvipdfm::
+* Link options for pdftex and dvipdfm::
+
+
+File: eplain.info, Node: Destination types for pdftex and dvipdfm, Next: Destination options for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm
+
+5.4.2.1 Destination types for `pdftex' and `dvipdfm'
+....................................................
+
+`xyz'
+ "Current position". The option `zoom' specifies magnification to
+ use (zero or empty means leave magnification unchanged, which is
+ the default). This is the default type.
+
+ For `dvipdfm': the options `left' and `top' specify position
+ coordinates to use (empty options mean current position
+ coordinate, which is the default).
+
+ Example: `\hldest{xyz}{zoom=2000}{dest123}'
+
+`fit'
+ Fit the page to the window.
+
+ Example: `\hldest{fit}{}{dest123}'
+
+`fith'
+ Fit the width of the page to the window.
+
+ For `dvipdfm': the `top' option specifies vertical position
+ (default is empty, meaning current position).
+
+ Example: `\hldest{fith}{}{dest123}'
+
+`fitv'
+ Fit the height of the page to the window.
+
+ For `dvipdfm': The option `left' specifies horizontal position
+ (default is empty, meaning current position).
+
+ Example: `\hldest{fitv}{}{dest123}'
+
+`fitb'
+ Fit the page's bounding box to the window.
+
+ Example: `\hldest{fitb}{}{dest123}'
+
+`fitbh'
+ Fit the width of the page's bounding box to the window.
+
+ For `dvipdfm': the option `top' specifies vertical position
+ (default is empty, meaning current position).
+
+ Example: `\hldest{fitbh}{}{dest123}'
+
+`fitbv'
+ Fit the height of the page's bounding box to the window.
+
+ For `dvipdfm': the option `left' specifies horizontal position
+ (default is empty, meaning current position).
+
+ Example: `\hldest{fitbv}{}{dest123}'
+
+`fitr'
+ For `pdftex': fit the rectangle specified by the options `width', `height'
+ and `depth' (as a TeX rule specification) in the window. For
+ dimensions set to empty, the corresponding value of the parent box
+ is used (these are the defaults).
+
+ For `dvipdfm': fit the rectangle specified by the options `left', `bottom', `right'
+ and `top' (in PostScript points, 72 points per inch) in the
+ window. For dimensions set to empty, current position coordinate
+ is substituted (these are the defaults).
+
+ Example for `pdftex':
+
+ \hldest{fitr}{width=\hsize,height=.5\vsize,depth=0pt}{dest123}
+
+ Example for `dvipdfm':
+
+ \hldest{fitr}{left=72,bottom=72,right=720,top=360}{dest123}
+
+`raw'
+ The destination specification (in the form of a pdfTeX command or a
+ dvipdfm `\special') is taken from the command sequence `\CS',
+ where CS is the value of the `cmd' option. In the definition of
+ `\CS', use `\@hllabel' to refer to the hyperlink label. This
+ option is intended to be used with destgroups (*note Setting
+ hyperlink types and options::), as it does not make sense to use
+ it in a direct call to `\hldest'--you can just call the raw
+ command.
+
+ Example for `pdftex':
+
+ \makeatletter
+ \def\mydest{\pdfdest name{\@hllabel} xyz}
+ \hldesttype{raw}
+ \hldestopts{cmd=mydest}
+ \resetatcatcode
+
+ Example for `dvipdfm':
+
+ \makeatletter
+ \def\mydest{\special{pdf: dest (\@hllabel)
+ [@thispage /XYZ @xpos @ypos 0]}}
+ \hldesttype{raw}
+ \hldestopts{cmd=mydest}
+ \resetatcatcode
+
+
+File: eplain.info, Node: Destination options for pdftex and dvipdfm, Next: Link types for pdftex and dvipdfm, Prev: Destination types for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm
+
+5.4.2.2 Destination options for `pdftex' and `dvipdfm'
+......................................................
+
+With respect to the destination options, the `pdftex' and `dvipdfm'
+differ in the way the fit rectangle is specified (relative coordinates
+for `pdftex', absolute coordinates for `dvipdfm').
+
+Common destination options
+..........................
+
+`cmd'
+ Name of the macro (without the leading `\') containing a pdfTeX
+ command or a dvipdfm `\special' for the `raw' destination.
+
+ For an example of usage, *note Destination types for pdftex and
+ dvipdfm::, description of the `raw' destination.
+
+`zoom'
+ Magnification ratio times 1000 (like TeX's scale factor). Zero or
+ empty means leave magnification unchanged, which is the default.
+
+ Example: `\hldest{xyz}{zoom=2000}{dest123}'
+
+`pdftex'-specific destination options
+.....................................
+
+The dimension options below must be specified as a TeX rule
+specification. When set to empty, the corresponding value of the
+parent box is used (this is the default for all dimension options).
+
+`depth'
+ Depth of the fit rectangle for the `fitr' destination.
+
+`height'
+ Height of the fit rectangle for the `fitr' destination.
+
+`width'
+ Width of the fit rectangle for the `fitr' destination.
+
+ Example:
+
+ \hldest{fitr}{width=\hsize,height=.5\vsize,depth=0pt}{dest123}
+
+`dvipdfm'-specific destination options
+......................................
+
+The dimension options below must be specified in PostScript points
+(72 points per inch), as a number without the `bp' unit name. When set
+to empty, the current position coordinate is used (this is the default
+for all dimension options).
+
+`bottom'
+ Bottom position coordinate of a box specification for the various
+ destination types.
+
+`left'
+ Left position coordinate of a box specification for the various
+ destination types.
+
+`right'
+ Right position coordinate of a box specification for the various
+ destination types.
+
+`top'
+ Top position coordinate of a box specification for the various
+ destination types.
+
+ Example:
+
+ \hldest{fitr}{left=72,bottom=72,right=720,top=360}{dest123}
+
+
+File: eplain.info, Node: Link types for pdftex and dvipdfm, Next: Link options for pdftex and dvipdfm, Prev: Destination options for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm
+
+5.4.2.3 Link types for `pdftex' and `dvipdfm'
+.............................................
+
+Link types are the same for the `pdftex' and `dvipdfm' drivers, except
+that the `pdftex' driver provides one additional link type `num' (link
+to a numbered destination). dvipdfm does not support numbered
+destinations, therefore it does not have this link type. Note that all
+destinations created by Eplain hyperlink macros are named destinations;
+to define a numbered destination, you have to use low-level pdfTeX
+commands.
+
+Common link types
+.................
+
+`name'
+ Go to a "named destination". The label is the destination name.
+ All destinations created with `\hldest' are named destinations.
+ This is the default type.
+
+ Example: `\hlstart{name}{}{dest123}Link to dest123\hlend'
+
+`page'
+ Go to a page. The label is the page number (counting from 1).
+ Page fitting is specified by the `pagefit' option.
+
+ Example:
+
+ \hlstart{page}{pagefit=/FitH 600}{123}Link to page~123\hlend
+
+`filename'
+ Go to a named destination in another file. The label is the
+ destination name. The file name is specified by the `file'
+ option. Page fitting is specified by the `pagefit' option. The `newwin'
+ option specifies whether the destination document is opened in the
+ same window or in a new window.
+
+ Example:
+ \hlstart{filename}{file=book.pdf,newwin=1}{dest123}
+ Link to dest123 in file `book.pdf'\hlend
+
+`filepage'
+ Go to a page in another file. The label is the page number
+ (counting from 1). The file name is specified by the `file'
+ option. Page fitting is specified by the `pagefit' option. The `newwin'
+ option specifies whether the destination document is opened in the
+ same window or in a new window.
+
+ Example:
+ \hlstart{filepage}{file=book.pdf,newwin=,%
+ pagefit=/FitR 50 100 300 500}{1}
+ Link to page~1 in file `book.pdf'\hlend
+
+`url'
+ Go to a URL. The label is the URL.
+
+ Example: `\hlstart{url}{}{http://tug.org/eplain/}Eplain
+ home\hlend'
+
+`raw'
+ The link specification (in the form of a pdfTeX command or a
+ dvipdfm `\special' primitive) is taken from the command sequence
+ `\CS', where CS is the value of the `cmd' option. This option is
+ intended to be used with linkgroups (*note Setting hyperlink types
+ and options::), as it does not make sense to use it in a direct
+ call to `\hlstart'--you can just call the raw command.
+
+ Example for `pdftex':
+
+ % Redirect all \url links to the first page
+ \def\mycmd{\pdfstartlink goto page 1 {/Fit}}
+ \hltype[url]{raw}
+ \hlopts[url]{cmd=mycmd}
+
+ Example for `dvipdfm':
+
+ % Redirect all \url links to the first page
+ \def\mycmd{\special{pdf: beginann <</Type/Annot /Subtype/Link
+ /Dest[0 /Fit]>>}}
+ \hltype[url]{raw}
+ \hlopts[url]{cmd=mycmd}
+
+`pdftex'-specific link types
+............................
+
+`num'
+ Go to a "numbered destination". The label is the destination
+ number.
+
+ Example: `\hlstart{num}{}{123}Link to 123\hlend'
+
+
+File: eplain.info, Node: Link options for pdftex and dvipdfm, Prev: Link types for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm
+
+5.4.2.4 Link options for `pdftex' and `dvipdfm'
+...............................................
+
+Link options are mostly the same for the `pdftex' and `dvipdfm'
+drivers. The `pdftex' driver has additional options to specify link
+dimensions.
+
+Common link options
+...................
+
+`bcolor'
+ Border color. An array of three numbers in the range 0 to 1,
+ representing a color in DeviceRGB.
+
+ Example: `\hlstart{name}{bcolor=.1 .5 1}{dest123}Link\hlend'
+
+`bdash'
+ Array of numbers representing on and off stroke lengths for drawing
+ dashes.
+
+ Example: `\hlstart{name}{bstyle=D,bdash=2 4}{dest123}Link\hlend'
+
+`bstyle'
+ Link border style:
+
+ `S'
+ The border is drawn as a solid line.
+
+ `D'
+ The border is drawn with a dashed line (the dash pattern is
+ specified by the `bdash' option).
+
+ `B'
+ The border is drawn in a beveled style.
+
+ `I'
+ The border is drawn in an inset style.
+
+ `U'
+ The border is drawn as a line on the bottom of the link
+ rectangle.
+
+ The default is `S'.
+
+ Example: `\hlstart{name}{bstyle=D,bdash=2 4}{dest123}Link\hlend'
+
+`bwidth'
+ Border width in PostScript points (72 points per inch). The
+ default is 1.
+
+ Example: `\hlstart{name}{bwidth=2}{dest123}Link\hlend'
+
+`cmd'
+ Name of the macro (without the leading `\') containing a pdfTeX
+ command or a dvipdfm `\special' for the `raw' link.
+
+ For an example of usage, *note Link types for pdftex and dvipdfm::,
+ description of the `raw' link.
+
+`file'
+ File name for the `filename' and `filepage' link types.
+
+ For an example of usage, *note Link types for pdftex and dvipdfm::,
+ description of the `filename' and `filepage' links.
+
+`hlight'
+ Link border highlight modes:
+
+ `I'
+ The rectangle specified by the bounding box of the link is
+ inverted.
+
+ `N'
+ No highlighting is done.
+
+ `O'
+ The border of the link is inverted.
+
+ `P'
+ The region underneath the bounding box of the link is drawn
+ inset into the page.
+
+ The default is `I'.
+
+ Example: `\hlstart{name}{bstyle=S,hlight=O}{dest123}Link\hlend'
+
+`newwin'
+ For the `filename' and `filepage' links, specifies whether the
+ destination document is opened in the same window or in a new
+ window. The settings are:
+
+ `0'
+ Open in the same window.
+
+ `non-0'
+ Open in a new window.
+
+ `empty'
+ Behavior according to the viewer settings.
+
+ The default is empty.
+
+ For an example of usage, *note Link types for pdftex and dvipdfm::,
+ description of the `filename' and `filepage' links.
+
+`pagefit'
+ For the `page' and `filepage links', specifies how the page must
+ be fitted to the window. `pagefit' specification is written to
+ the PDF file as is, so it must conform to the PDF standard.
+
+ For an example of usage, *note Link types for pdftex and dvipdfm::,
+ description of the `page' and `filepage' links.
+
+`pdftex'-specific link options
+..............................
+
+The dimension options below must be specified as a TeX rule
+specification. When set to empty, the corresponding value of the
+parent box is used (this is the default for all dimension options).
+
+`depth'
+ Depth of the link.
+
+`height'
+ Height of the link.
+
+`width'
+ Width of the link.
+
+ Example:
+
+ \hlstart{name}{width=5in,height=20pc,depth=0pt}{dest123}
+ Link\hlend
+
+
+File: eplain.info, Node: Hyperlink driver nolinks, Prev: Hyperlink drivers pdftex and dvipdfm, Up: Hyperlink drivers
+
+5.4.3 Hyperlink driver `nolinks'
+--------------------------------
+
+Select this driver to suppress all hyperlinks in your document.
+
+ Selecting this driver is quite different from not selecting any
+driver at all, or from selecting some driver and then turning
+hyperlinks off for the entire document with `\hloff' and `\hldestoff'
+(*note Turning hyperlinks on/off::).
+
+ The purpose of `\hldestoff' and `\hloff' is to mark (parts) of your
+document where hyperlinks should never appear. (Imagine you want to
+prevent a cross-referencing macro from generating a link at a certain
+spot in your document.)
+
+ If instead you have prepared a document with hyperlinks and just
+want to compile a version without them, it is better to select the
+driver `nolinks'. This ensures that spacing and page-breaking are the
+same as what you were getting with hyperlinks enabled.
+
+ The reason for this is that hyperlinks are produced by the
+`\special' primitives or low-level hyperlink commands. Each such
+command is placed inside a "whatsit" (an internal TeX object), which
+may introduce legitimate breakpoints at places where none would exist
+without the whatsits. The macros `\hldestoff' and `\hloff' disable the
+hyperlink macros completely, so that no whatsits are produced.
+
+ In contrast, the `nolinks' driver does not completely disable
+hyperlink macros. Instead, it defines them to merely write to the log
+file (what gets written is unimportant). This also produces whatsits,
+thus imitating the whatsits from the hyperlink commands. (This trick
+was borrowed from the LaTeX `color' package.)
+
+ Another reason for using `nolinks' is that in horizontal mode
+`\hldest' places destinations inside boxes of zero width, height, and
+depth. When you say `\hldestoff', `\hldest' will omit both destination
+definitions and these boxes. The missing boxes can again cause the
+typesetting to be inconsistent with that with destinations enabled.
+Here again, the `nolinks' driver helps by defining `\hldest' to produce
+the empty boxes.
+
+
+File: eplain.info, Node: Setting hyperlink types and options, Next: Turning hyperlinks on/off, Prev: Hyperlink drivers, Up: Hyperlinks
+
+5.5 Setting hyperlink types and options
+=======================================
+
+You can define default types for links and destinations, which will be
+used when you do not specify a type in `\hlstart' or `\hldest'.
+Similarly, you can define default values for the options; the default
+value for an option is used when you do not set the option in the
+argument to `\hlstart' or `\hldest'.
+
+ The parameters for implicit links and destinations can be customized
+by setting the "group" types and options. When not set, the defaults
+are used.
+
+ All these settings are local to the current (TeX) group, so if you
+want to set an option temporarily, you can do so inside a
+`\begingroup...\endgroup' block; when the group ends, the previous
+settings are restored.
+
+* Menu:
+
+* Setting default types and options::
+* Setting group types::
+* Setting group options::
+
+
+File: eplain.info, Node: Setting default types and options, Next: Setting group types, Up: Setting hyperlink types and options
+
+5.5.1 Setting default types and options
+---------------------------------------
+
+The default types for links and destinations can be set with the
+following commands:
+
+ \hltype{TYPE}
+ \hldesttype{TYPE}
+
+where TYPE is one of the link/destination types supported by the
+selected hyperlink driver (*note Hyperlink drivers::).
+
+ Default values for the options can be set with the following
+commands:
+
+ \hlopts{OPTIONS}
+ \hldestopts{OPTIONS}
+
+where OPTIONS is a comma-separated list of option assignments in the
+format `OPTION=VALUE'. Again, what options are allowed depends on the
+selected hyperlink driver.
+
+
+File: eplain.info, Node: Setting group types, Next: Setting group options, Prev: Setting default types and options, Up: Setting hyperlink types and options
+
+5.5.2 Setting group types
+-------------------------
+
+When called with an optional argument, as in
+
+ \hltype[GROUPS]{TYPE}
+ \hldesttype[GROUPS]{TYPE}
+
+where GROUPS is a comma-separated list of groups, `\hltype' and
+`\hldesttype' set the type for each group from GROUPS to TYPE. The
+default type is used for all groups with an empty type (this is the
+initial setting for all groups, except that the type for the `url'
+linkgroup is set to `url' by the drivers which support this link type).
+
+ There are two special "groups" which can be used inside the GROUPS
+list. An empty group sets the default type. This allows to set the
+default type and group types in one command, for example:
+
+ \hltype[eq,]{TYPE}
+
+sets the link type for the `eq' linkgroup and the default link type to
+TYPE.
+
+ Another special group is a star (`*') group, which signifies all
+defined groups. For example, the command
+
+ \hldesttype[*,]{TYPE}
+
+sets the destination type to TYPE for each group, as well as the
+default destination type.
+
+
+File: eplain.info, Node: Setting group options, Prev: Setting group types, Up: Setting hyperlink types and options
+
+5.5.3 Setting group options
+---------------------------
+
+Option values for each group are stored as a list of option
+assignments. This list does not have to contain every supported
+option. Values for options missing from this list are taken from the
+default option values.
+
+ To manipulate the list of option values for the groups, you use the
+`\hlopts' and `\hldestopts' commands with an optional argument:
+
+ \hlopts[GROUPS]{OPTIONS}
+ \hldestopts[GROUPS]{OPTIONS}
+ \hlopts![GROUPS]{OPTIONS}
+ \hldestopts![GROUPS]{OPTIONS}
+
+where GROUPS is a comma-separated list of groups and OPTIONS is a
+comma-separated list of option assignments. The two special "groups",
+the empty group and the star (`*') group, have the same meaning as for
+`\hltype' and `\hldesttype'. When used without the exclamation mark,
+`\hlopts' and `\hldestopts' preserve the current list of options for
+the groups, and only update the options listed in OPTIONS. If you add
+the exclamation mark, the current list of options for each group in
+GROUPS is discarded and the new list is set to OPTIONS.
+
+ The "overriding" nature of the `!' is appropriate when you give a
+complete specification of the options for a group, e.g., at the
+beginning of your document. On the other hand, when you want to adjust
+some option(s) and leave others intact, you should use the macros
+without the `!'.
+
+ For example, with displayed mathematical formulas, you often need to
+adjust the `raise' option for the `eq' destgroup, because the formulas
+often contain large parentheses and brackets. But when doing so, you
+want to leave the other settings unchanged. To achieve this, call
+`\hldestopts' without the `!', for example:
+
+ $$\hldestopts[eq]{raise=2.5\normalbaselineskip}
+ ...
+ $$
+
+The display commands (`$$') implicitly put the entire formula inside a
+(TeX) group (`\begingroup...\endgroup'), so you do not need to isolate
+the setting of the `raise' option--it will be restored after the
+closing `$$'.
+
+ Initially, Eplain sets the option lists for almost all groups to
+empty, so that the groups fall back on the default values for all
+options. The one exception to this rule is the `eq' destgroup, whose
+initial option list contains one setting:
+
+ raise=1.7\normalbaselineskip
+
+This setting usually accommodates the large operators, which often
+appear in displayed math.
+
+
+File: eplain.info, Node: Turning hyperlinks on/off, Prev: Setting hyperlink types and options, Up: Hyperlinks
+
+5.6 Turning hyperlinks on/off
+=============================
+
+Links and/or destinations can be turned on or off globally by disabling
+the low-level commands, or for each group individually.
+
+ All these settings are local to the current (TeX) group, so if you
+want to enable or disable links/destinations temporarily, you can do so
+inside a `\begingroup...\endgroup' block; when the group ends, the
+previous settings are restored.
+
+* Menu:
+
+* Turning low-level commands on/off::
+* Turning hyperlinks on/off for a group::
+
+
+File: eplain.info, Node: Turning low-level commands on/off, Next: Turning hyperlinks on/off for a group, Up: Turning hyperlinks on/off
+
+5.6.1 Turning low-level commands on/off
+---------------------------------------
+
+The low-level commands `\hlstart', `\hlend' and `\hldest' can be turned
+on/off with the following commands:
+
+ \hldeston
+ \hldestoff
+ \hlon
+ \hloff
+
+*Note Hyperlink driver nolinks::, for the implications of using these
+commands to disable hyperlinks for the entire document.
+
+
+File: eplain.info, Node: Turning hyperlinks on/off for a group, Prev: Turning low-level commands on/off, Up: Turning hyperlinks on/off
+
+5.6.2 Turning hyperlinks on/off for a group
+-------------------------------------------
+
+If you want to disable links/destinations produced by certain groups,
+you can give a list of the groups as an optional argument to these
+commands:
+
+ \hldeston[GROUPS]
+ \hldestoff[GROUPS]
+ \hlon[GROUPS]
+ \hloff[GROUPS]
+
+where GROUPS is the list of linkgroups/destgroups. This list can
+contain two special groups. The empty group switches the low-level
+commands (*note Turning low-level commands on/off::), and the star
+(`*') group operates on all defined groups.
+
+ Note that turning off the low-level commands disables all hyperlinks
+globally, including groups which have them enabled. Turning off certain
+linkgroups/destgroups records the fact that the macros in the group
+should not produce links/destinations. To illustrate the distinction,
+assume that all links are on; after the following sequence of commands:
+
+ \hloff
+ \hloff[eq]
+ \hlon
+
+all links are on except for the `eq' linkgroup.
+
+
+File: eplain.info, Node: Arrow theoretic diagrams, Next: Programming definitions, Prev: Hyperlinks, Up: Top
+
+6 Arrow theoretic diagrams
+**************************
+
+This chapter describes definitions for producing commutative diagrams.
+
+ Steven Smith wrote this documentation (and the macros).
+
+* Menu:
+
+* Slanted lines and vectors::
+* Commutative diagrams::
+
+
+File: eplain.info, Node: Slanted lines and vectors, Next: Commutative diagrams, Up: Arrow theoretic diagrams
+
+6.1 Slanted lines and vectors
+=============================
+
+The macros `\drawline' and `\drawvector' provide the capability found
+in LaTeX's picture mode to draw slanted lines and vectors of certain
+directions. Both of these macros take three arguments: two integer
+arguments to specify the direction of the line or vector, and one
+argument to specify its length. For example, `\drawvector(-4,1){60pt}'
+produces the vector
+
+ (A vector in the 2d quadrant of length 60 pt appears here.)
+
+ which lies in the 2d quadrant, has a slope of minus 1/4, and a width
+of 60 pt.
+
+ Note that if an `\hbox' is placed around `\drawline' or
+`\drawvector', then the width of the `\hbox' will be the positive
+dimension specified in the third argument, except when a vertical line
+or vector is specified, e.g., `\drawline(0,1){1in}', which has zero
+width. If the specified direction lies in the 1st or 2d quadrant
+(e.g., `(1,1)' or `(-2,3)'), then the `\hbox' will have positive height
+and zero depth. Conversely, if the specified direction lies in the 3d
+or 4th quadrant (e.g., `(-1,-1)' or `(2,-3)'), then the `\hbox' will
+have positive depth and zero height.
+
+ There are a finite number of directions that can be specified. For
+`\drawline', the absolute value of each integer defining the direction
+must be less than or equal to six, i.e., `(7,-1)' is incorrect, but
+`(6,-1)' is acceptable. For `\drawvector', the absolute value of each
+integer must be less than or equal to four. Furthermore, the two
+integers cannot have common divisors; therefore, if a line with slope 2
+is desired, say `(2,1)' instead of `(4,2)'. Also, specify `(1,0)'
+instead of, say, `(3,0)' for horizontal lines and likewise for vertical
+lines.
+
+ Finally, these macros depend upon the LaTeX font `line10'. If your
+site doesn't have this font, ask your system administrator to get it.
+Future enhancements will include macros to draw dotted lines and dotted
+vectors of various directions.
+
+
+File: eplain.info, Node: Commutative diagrams, Prev: Slanted lines and vectors, Up: Arrow theoretic diagrams
+
+6.2 Commutative diagrams
+========================
+
+The primitive commands `\drawline' and `\drawvector' can be used to
+typeset arrow theoretic diagrams. This section describes (1) macros to
+facilitate typesetting arrows and morphisms, and (2) macros to
+facilitate the construction of commutative diagrams. All macros
+described in this section must be used in math mode.
+
+* Menu:
+
+* Arrows and morphisms::
+* Construction of commutative diagrams::
+* Commutative diagram parameters::
+
+
+File: eplain.info, Node: Arrows and morphisms, Next: Construction of commutative diagrams, Up: Commutative diagrams
+
+6.2.1 Arrows and morphisms
+--------------------------
+
+The macros `\mapright' and `\mapleft' produce right and left pointing
+arrows, respectively. Use superscript (`^') to place a morphism above
+the arrow, e.g., `\mapright^\alpha'; use subscript (`_') to place a
+morphism below the arrow, e.g., `\mapright_{\tilde l}'. Superscripts
+and subscripts may be used simulataneously, e.g., `\mapright^\pi_{\rm
+epimor.}'.
+
+ Similarly, the macros `\mapup' and `\mapdown' produce up and down
+pointing arrows, respectively. Use `\rt' to place a morphism to the
+right of the arrow, e.g., `\mapup\rt{\rm id}'; use `\lft' to place a
+morphism to the left of the arrow, e.g., `\mapup\lft\omega'. `\lft'
+and `\rt' may be used simultaneously, e.g., `\mapdown\lft\pi\rt{\rm
+monomor.}'.
+
+ Slanted arrows are produced by the macro `\arrow', which takes a
+direction argument (e.g., `\arrow(3,-4)'). Use `\rt' and `\lft' to
+place morphisms to the right and left, respectively, of the arrow. A
+slanted line (no arrowhead) is produced with the macro `\sline', whose
+syntax is identical to that of `\arrow'.
+
+ The length of these macros is predefined by the default TeX
+dimensions `\harrowlength', for horizontal arrows (or lines),
+`\varrowlength', for vertical arrows (or lines), and `\sarrowlength', for
+slanted arrows (or lines). To change any of these dimensions, say,
+e.g., `\harrowlength=40pt'. As with all other TeX dimensions, the
+change may be as global or as local as you like. Furthermore, the
+placement of morphisms on the arrows is controlled by the dimensions
+`\hmorphposn', `\vmorphposn', and `\morphdist'. The first two
+dimensions control the horizontal and vertical position of the morphism
+from its default position; the latter dimension controls the distance
+of the morphism from the arrow. If you have more than one morphism per
+arrow (i.e., a `^'/`_' or `\lft'/`\rt' construction), use the parameters
+`\hmorphposnup', `\hmorphposndn', `\vmorphposnup', `\vmorphposndn', `\hmorphposnrt', `\hmorphposnlft', `\vmorphposnrt', and
+`\vmorphposnlft'. The default values of all these dimensions are
+provided in the section on parameters that follows below.
+
+ There is a family of macros to produce horizontal lines, arrows, and
+adjoint arrows. The following macros produce horizontal maps and have
+the same syntax as `\mapright':
+
+`\mapright'
+ `$X\mapright Y$' = (a right arrow).
+
+`\mapleft'
+ `$X\mapleft Y$' = (a left arrow).
+
+`\hline'
+ `$X\hline Y$' = (horizontal line)
+
+`\bimapright'
+ `$X\bimapright Y$' = (two right arrows).
+
+`\bimapleft'
+ `$X\bimapleft Y$' = (two left arrows)
+
+`\adjmapright'
+ `$X\adjmapright Y$' = (two adjoint arrows; left over right)
+
+`\adjmapleft'
+ `$X\adjmapleft Y$' = (two adjoint arrows; right over left)
+
+`\bihline'
+ `$X\bihline Y$' = (two horizontal lines)
+
+ There is also a family of macros to produce vertical lines, arrows,
+and adjoint arrows. The following macros produce vertical maps and have
+the same syntax as `\mapdown':
+
+`\mapdown'
+ (a down arrow)
+
+`\mapup'
+ (an up arrow)
+
+`\vline'
+ (vertical line)
+
+`\bimapdown'
+ (two down arrows)
+
+`\bimapup'
+ (two up arrows)
+
+`\adjmapdown'
+ (two adjoint arrows; down then up)
+
+`\adjmapup'
+ (two adjoint arrows; up then down)
+
+`\bivline'
+ (two vertical lines)
+
+ Finally, there is a family of macros to produce slanted lines,
+arrows, and adjoint arrows. The following macros produce slanted maps
+and have the same syntax as `\arrow':
+
+`\arrow'
+ (a slanted arrow)
+
+`\sline'
+ (a slanted line)
+
+`\biarrow'
+ (two straight arrows)
+
+`\adjarrow'
+ (two adjoint arrows)
+
+`\bisline'
+ (two straight lines)
+
+
+ The width between double arrows is controlled by the parameter
+`\channelwidth'. The parameters `\hchannel' and `\vchannel', if
+nonzero, override `\channelwidth' by controlling the horizontal and
+vertical shifting from the first arrow to the second.
+
+ There are no adornments on these arrows to distinguish inclusions
+from epimorphisms from monomorphisms. Many texts, such as Lang's book
+`Algebra', use as a tasteful alternative the symbol `inc' (in roman)
+next to an arrow to denote inclusion.
+
+ Future enhancements will include a mechanism to draw curved arrows
+found in, e.g., the Snake Lemma, by employing a version of the `\path'
+macros of Appendix D of `The TeXbook'.
+
+
+File: eplain.info, Node: Construction of commutative diagrams, Next: Commutative diagram parameters, Prev: Arrows and morphisms, Up: Commutative diagrams
+
+6.2.2 Construction of commutative diagrams
+------------------------------------------
+
+There are two approaches to the construction of commutative diagrams
+described here. The first approach, and the simplest, treats
+commutative diagrams like fancy matrices, as Knuth does in Exercise
+18.46 of `The TeXbook'. This case is covered by the macro `\commdiag', which
+is an altered version of the Plain TeX macro `\matrix'. An example
+suffices to demonstrate this macro. The following commutative diagram
+(illustrating the covering homotopy property; Bott and Tu,
+`Differential Forms in Algebraic Topology')
+
+ (A commutative diagram appears here in the printed output.)
+
+ is produced with the code
+
+ $$\commdiag{Y&\mapright^f&E\cr \mapdown&\arrow(3,2)\lft{f_t}&\mapdown\cr
+ Y\times I&\mapright^{\bar f_t}&X}$$
+
+ Of course, the parameters may be changed to produce a different
+effect. The following commutative diagram (illustrating the universal
+mapping property; Warner, `Foundations of Differentiable Manifolds and
+Lie Groups')
+
+ (A commutative diagram appears here in the printed output.)
+
+ is produced with the code
+
+ $$\varrowlength=20pt
+ \commdiag{V\otimes W\cr \mapup\lft\phi&\arrow(3,-1)\rt{\tilde l}\cr
+ V\times W&\mapright^l&U\cr}$$
+
+ A diagram containing isosceles triangles is achieved by placing the
+apex of the triangle in the center column, as shown in the example
+(illustrating all constant minimal realizations of a linear system;
+Brockett, `Finite Dimensional Linear Systems')
+
+ (A commutative diagram appears here in the printed output.)
+
+ which is produced with the code
+
+ $$\sarrowlength=.42\harrowlength
+ \commdiag{&R^m\cr &\arrow(-1,-1)\lft{\bf B}\quad \arrow(1,-1)\rt{\bf G}\cr
+ R^n&\mapright^{\bf P}&R^n\cr
+ \mapdown\lft{e^{{\bf A}t}}&&\mapdown\rt{e^{{\bf F}t}}\cr
+ R^n&\mapright^{\bf P}&R^n\cr
+ &\arrow(1,-1)\lft{\bf C}\quad \arrow(-1,-1)\rt{\bf H}\cr
+ &R^q\cr}$$
+
+ Other commutative diagram examples appear in the file
+`commdiags.tex', which is distributed with this package.
+
+ In these examples the arrow lengths and line slopes were carefully
+chosen to blend with each other. In the first example, the default
+settings for the arrow lengths are used, but a direction for the arrow
+must be chosen. The ratio of the default horizontal and vertical arrow
+lengths is approximately the golden mean gamma=1.618...; the arrow
+direction closest to this mean is `(3,2)'. In the second example, a
+slope of -1/3 is desired and the default horizontal arrow length is 60
+pt; therefore, choose a vertical arrow length of 20 pt. You may affect
+the interline glue settings of `\commdiag' by redefining the macro
+`\commdiagbaselines'. (cf. Exercise 18.46 of `The TeXbook' and the
+section on parameters below.)
+
+ The width, height, and depth of all morphisms are hidden so that the
+morphisms' size do not affect arrow positions. This can cause a large
+morphism at the top or bottom of a diagram to impinge upon the text
+surrounding the diagram. To overcome this problem, use TeX's
+`\noalign' primitive to insert a `\vskip' immediately above or below
+the offending line, e.g.,
+`$$\commdiag{\noalign{\vskip6pt}X&\mapright^\int&Y\cr ...}'.
+
+ The macro `\commdiag' is too simple to be used for more complicated
+diagrams, which may have intersecting or overlapping arrows. A second
+approach, borrowed from Francis Borceux's `Diagram' macros for LaTeX,
+treats the commutative diagram like a grid of identically shaped boxes.
+To compose the commutative diagram, first draw an equally spaced grid,
+e.g.,
+
+ . . . . . .
+ . . . . . .
+ . . . . . .
+ . . . . . .
+
+ on a piece of scratch paper. Then draw each element (vertices and
+arrows) of the commutative diagram on this grid, centered at each grid
+point. Finally, use the macro `\gridcommdiag' to implement your design
+as a TeX alignment. For example, the cubic diagram
+
+ (A commutative diagram appears here.)
+
+ that appears in Francis Borceux's documentation can be implemented on
+a 7 by 7 grid, and is achieved with the code
+
+ $$\harrowlength=48pt \varrowlength=48pt \sarrowlength=20pt
+ \def\cross#1#2{\setbox0=\hbox{$#1$}%
+ \hbox to\wd0{\hss\hbox{$#2$}\hss}\llap{\unhbox0}}
+ \gridcommdiag{&&B&&\mapright^b&&D\cr
+ &\arrow(1,1)\lft a&&&&\arrow(1,1)\lft d\cr
+ A&&\cross{\hmorphposn=12pt\mapright^c}{\vmorphposn=-12pt\mapdown\lft f}
+ &&C&&\mapdown\rt h\cr\cr
+ \mapdown\lft e&&F&&\cross{\hmorphposn=-12pt\mapright_j}
+ {\vmorphposn=12pt\mapdown\rt g}&&H\cr
+ &\arrow(1,1)\lft i&&&&\arrow(1,1)\rt l\cr
+ E&&\mapright_k&&G\cr}$$
+
+ The dimensions `\hgrid' and `\vgrid' control the horizontal and
+vertical spacing of the grid used by `\gridcommdiag'. The default
+setting for both of these dimensions is 15 pt. Note that in the
+example of the cube the arrow lengths must be adjusted so that the
+arrows overlap into neighboring boxes by the desired amount. Hence,
+the `\gridcommdiag' method, albeit more powerful, is less automatic
+than the simpler `\commdiag' method. Furthermore, the ad hoc macro
+`\cross' is introduced to allow the effect of overlapping arrows.
+Finally, note that the positions of four of the morphisms are adjusted
+by setting `\hmorphposn' and `\vmorphposn'.
+
+ One is not restricted to a square grid. For example, the proof of
+Zassenhaus's Butterfly Lemma can be illustrated by the diagram
+(appearing in Lang's book `Algebra')
+
+ (A commutative diagram appears here.)
+
+ This diagram may be implemented on a 9 by 12 grid with an aspect
+ratio of 1/2, and is set with the code
+
+ $$\hgrid=16pt \vgrid=8pt \sarrowlength=32pt
+ \def\cross#1#2{\setbox0=\hbox{$#1$}%
+ \hbox to\wd0{\hss\hbox{$#2$}\hss}\llap{\unhbox0}}
+ \def\l#1{\llap{$#1$\hskip.5em}}
+ \def\r#1{\rlap{\hskip.5em$#1$}}
+ \gridcommdiag{&&U&&&&V\cr &&\bullet&&&&\bullet\cr
+ &&\sarrowlength=16pt\sline(0,1)&&&&\sarrowlength=16pt\sline(0,1)\cr
+ &&\l{u(U\cap V)}\bullet&&&&\bullet\r{(U\cap V)v}\cr
+ &&&\sline(2,-1)&&\sline(2,1)\cr
+ &&\cross{=}{\sline(0,1)}&&\bullet&&\cross{=}{\sline(0,1)}\cr\cr
+ &&\l{^{\textstyle u(U\cap v)}}\bullet&&\cross{=}{\sline(0,1)}&&
+ \bullet\r{^{\textstyle(u\cap V)v}}\cr
+ &\sline(2,1)&&\sline(2,-1)&&\sline(2,1)&&\sline(2,-1)\cr
+ \l{u}\bullet&&&&\bullet&&&&\bullet\r{v}\cr
+ &\sline(2,-1)&&\sline(2,1)&&\sline(2,-1)&&\sline(2,1)\cr
+ &&\bullet&&&&\bullet\cr &&u\cap V&&&&U\cap v\cr}$$
+
+ Again, the construction of this diagram requires careful choices for
+the arrow lengths and is facilitated by the introduction of the ad hoc
+macros `\cross', `\r', and `\l'. Note also that superscripts were used
+to adjust the position of the vertices u(U intersection v) and (u
+intersection V)v. Many diagrams may be typeset with the predefined
+macros that appear here; however, ingenuity is often required to handle
+special cases.
+
+
+File: eplain.info, Node: Commutative diagram parameters, Prev: Construction of commutative diagrams, Up: Commutative diagrams
+
+6.2.3 Commutative diagram parameters
+------------------------------------
+
+The following is a list describing the parameters used in the
+commutative diagram macros. These dimensions may be changed globally or
+locally.
+
+`\harrowlength'
+ (Default: 60 pt) The length of right or left arrows.
+
+`\varrowlength'
+ (Default: 0.618`\harrowlength') The length of up or down arrows.
+
+`\sarrowlength'
+ (Default: 60 pt) The horizontal length of slanted arrows.
+
+`\hmorphposn'
+ (Default: 0 pt) The horizontal position of the morphism with
+ respect to its default position. There are also the dimensions
+ `\hmorphposnup', `\hmorphposndn', `\hmorphposnrt', and
+ `\hmorphposnlft' for `^'/`_' or `\lft'/`\rt' constructions.
+
+`\vmorphposn'
+ (Default: 0 pt) The vertical position of the morphism with respect
+ to its default position. There are also the dimensions
+ `\vmorphposnup', `\vmorphposndn', `\vmorphposnrt', and
+ `\vmorphposnlft' for `^'/`_' or `\lft'/`\rt' constructions.
+
+`\morphdist'
+ (Default: 4 pt) The distance of morphisms from slanted lines or
+ arrows.
+
+`\channelwidth'
+ (Default: 3 pt) The distance between double lines or arrows.
+
+`\hchannel, \vchannel'
+ (Defaults: 0 pt) Overrides `\channelwidth'. The horizontal and
+ vertical shifts between double lines or arrows.
+
+`\commdiagbaselines'
+ (Default: `\baselineskip=15pt \lineskip=3pt \lineskiplimit=3pt ')
+ The parameters used by `\commdiag' for setting interline glue.
+
+`\hgrid'
+ (Default: 15 pt) The horizontal spacing of the grid used by
+ `\gridcommdiag'.
+
+`\vgrid'
+ (Default: 15 pt) The vertical spacing of the grid used by
+ `\gridcommdiag'.
+
+
+
+File: eplain.info, Node: Programming definitions, Next: Macro index, Prev: Arrow theoretic diagrams, Up: Top
+
+7 Programming definitions
+*************************
+
+The definitions in this section are only likely to be useful when you
+are writing nontrivial macros, not when writing a document.
+
+* Menu:
+
+* Category codes:: Changing category codes.
+* Allocation macros:: Non-outer versions of \newcount et al.
+* Iteration:: Doing `for' loops in TeX.
+* Macro arguments:: Reading and ignoring them.
+* Converting to characters:: Normalizing control sequences and spaces.
+* Expansion:: Controlling expansion.
+* Obeying spaces:: Making whitespace count anywhere.
+* Writing out numbers:: Making `1' into `one'.
+* Mode-specific penalties::
+* Auxiliary files:: Testing for their existence.
+* User-defined environments:: User-defined environments.
+* Page list and page range parsers::
+
+
+File: eplain.info, Node: Category codes, Next: Allocation macros, Up: Programming definitions
+
+7.1 Category codes
+==================
+
+Plain TeX defines `\active' (as the number 13) for use in changing
+category codes. Although the author of `The TeXbook' has
+"intentionally kept the category codes numeric", two other categories
+are commonly used: letters (category code 11) and others (12).
+Therefore, Eplain defines `\letter' and `\other'.
+
+ Sometimes it is cleaner to make a character active without actually writing
+a `\catcode' command. The `\makeactive' command takes a character as
+an argument to make active (and ignores following spaces). For
+example, here are two commands which both make `\' active:
+
+ \makeactive`\\ \makeactive92
+
+ Sometimes you might want to temporarily change the category code of
+the `@' character to `\letter', so that you can use or define macros
+which are normally inaccessible to the user. For such situations,
+Eplain provides the `\makeatletter' command. It sets the category code
+of `@' to `\letter' (11) and defines `\resetatcatcode' to restore the
+category code to whatever it was before the call to `\makeatletter'.
+For example:
+
+ \makeatletter
+ \def\@hidden@macro{This macro cannot normally be
+ called / redefined by the user}
+ \resetatcatcode
+
+There is also `\makeatother' which works similarly but sets the
+category code of `@' to `\other' (12).
+
+ Usually, when you give a definition to an active character, you have
+to do so inside a group where you temporarily make the character active,
+and then give it a global definition (cf. the definition of
+`\obeyspaces' in `The TeXbook'). This is inconvenient if you are
+writing a long macro, or if the character already has a global
+definition you do not wish to transcend. Eplain provides `\letreturn',
+which defines the usual end-of-line character to be the argument. For
+example:
+
+ \def\mymacro{... \letreturn\myreturn ... }
+ \mymacro hello
+ there
+
+The end-of-line between `hello' and `there' causes `\myreturn' to be
+expanded.
+
+ `The TeXbook' describes `\uncatcodespecials', which makes all
+characters which are normally "special" into "other" characters, but
+the definition never made it into plain TeX. Eplain therefore defines
+it.
+
+ Finally, `\percentchar' expands into a literal `%' character. This
+is useful when you `\write' TeX output to a file, and want to avoid
+spurious spaces. For example, Eplain writes a `\percentchar' after the
+definition of cross-references. The macros `\lbracechar' and
+`\rbracechar' expand similarly.
+
+
+File: eplain.info, Node: Allocation macros, Next: Iteration, Prev: Category codes, Up: Programming definitions
+
+7.2 Allocation macros
+=====================
+
+Plain TeX provides macros that allocate registers of each primitive
+type in TeX, to prevent different sets of macros from using the same
+register for two different things. The macros are all named starting
+with `new', e.g., `\newcount' allocates a new "count" (integer)
+register. Such allocations are usually needed only at the top level of
+some macro definition file; therefore, plain TeX makes the allocation
+registers `\outer', to help find errors. (The error this helps to find
+is a missing right brace in some macro definition.)
+
+ Sometimes, however, it is useful to allocate a register as part of
+some macro. An outer control sequence cannot be used as part of a macro
+definition (or in a few other contexts: the parameter text of a
+definition, an argument to a definition, the preamble of an alignment,
+or in conditional text that is being skipped). Therefore, Eplain
+defines "inner" versions of all the allocation macros, named with the
+prefix `inner': `\innernewbox', `\innernewcount', `\innernewdimen', `\innernewfam', `\innernewhelp', `\innernewif', `\innernewinsert', `\innernewlanguage', `\innernewread',
+`\innernewskip', `\innernewtoks', `\innernewwrite'.
+
+ You can also define non-outer versions of other macros in the same
+way that Eplain defines the above. The basic macro is called
+`\innerdef':
+
+ \innerdef \INNERNAME {OUTERNAME}
+
+ The first argument (\INNERNAME) to `\innerdef' is the control
+sequence that you want to define. Any previous definition of
+\INNERNAME is replaced. The second argument (OUTERNAME) is the
+_characters_ in the name of the outer control sequence. (You can't use
+the actual control sequence name, since it's outer!)
+
+ If the outer control sequence is named \CS, and you want to define
+`innerCS' as the inner one, you can use `\innerinnerdef', which is just
+an abbreviation for a call to `\innerdef'. For example, these two
+calls are equivalent:
+
+ \innerdef\innerproclaim{proclaim}
+ \innerinnerdef{proclaim}
+
+
+File: eplain.info, Node: Iteration, Next: Macro arguments, Prev: Allocation macros, Up: Programming definitions
+
+7.3 Iteration
+=============
+
+You can iterate through a comma-separated list of items with `\for'. Here
+is an example:
+
+ \for\name:=karl,kathy\do{%
+ \message{\name}%
+ }%
+
+ This writes `karl' and `kathy' to the terminal. Spaces before or
+after the commas in the list, or after the `:=', are _not_ ignored.
+
+ `\for' expands the iterated values fully (with `\edef'), so this is
+equivalent to the above:
+
+ \def\namelist{karl,kathy}%
+ \for\name:=\namelist\do ...
+
+
+File: eplain.info, Node: Macro arguments, Next: Converting to characters, Prev: Iteration, Up: Programming definitions
+
+7.4 Macro arguments
+===================
+
+It is occasionally useful to redefine a macro that takes arguments to
+do nothing. Eplain defines `\gobble', `\gobbletwo', and `\gobblethree'
+to swallow one, two, and three arguments, respectively.
+
+ For example, if you want to produce a "short" table of contents--one
+that includes only chapters, say--the easiest thing to do is read the
+entire `.toc' file (*note Contents::), and just ignore the commands
+that produce section or subsection entries. To be specific:
+
+ \let\tocchapterentry = \shorttocchapter
+ \let\tocsectionentry = \gobbletwo
+ \let\tocsubsectionentry = \gobbletwo
+ \readtocfile
+ (Of course, this assumes you only have chapters, sections, and
+subsections in your document.)
+
+ In addition, Eplain defines `\eattoken' to swallow the single
+following token, using `\let'. Thus, `\gobble' followed by `{...}'
+ignores the entire brace-enclosed text. `\eattoken' followed by the
+same ignores only the opening left brace.
+
+ Eplain defines a macro `\identity' which takes one argument and
+expands to that argument. This may be useful if you want to provide a
+function for the user to redefine, but don't need to do anything by
+default. (For example, the default definition of `\eqconstruct' (*note
+Formatting equation references::) is `\identity'.)
+
+ You may also want to read an optional argument. The established
+convention is that optional arguments are put in square brackets, so
+that is the syntax Eplain recognizes. Eplain ignores space tokens
+before an optional argument, via `\futurenonspacelet'.
+
+ You test for an optional argument by using `\@getoptionalarg'. It
+takes one argument, a control sequence to expand after reading the
+argument, if present. If an optional argument is present, the control
+sequence `\@optionalarg' expands to it; otherwise, `\@optionalarg' is
+`\empty'. You must therefore have the category code of `@' set to 11
+(letter). Here is an example:
+
+ \catcode`@=\letter
+ \def\cmd{\@getoptionalarg\finishcmd}
+ \def\finishcmd{%
+ \ifx\@optionalarg\empty
+ % No optional argument present.
+ \else
+ % One was present.
+ \fi
+ }
+
+ If an optional argument contains another optional argument, the inner
+one will need to be enclosed in braces, so TeX does not mistake the end
+of the first for the end of the second.
+
+
+File: eplain.info, Node: Converting to characters, Next: Expansion, Prev: Macro arguments, Up: Programming definitions
+
+7.5 Converting to characters
+============================
+
+Eplain defines `\xrlabel' to produce control sequence names for
+cross-reference labels, et al. This macro expands to its argument with
+an `_' appended. (It does this because the usual use of `\xrlabel' is
+to generate a control sequence name, and we naturally want to avoid
+conflicts between control sequence names.)
+
+ Because `\xrlabel' is fully expandable, to make a control sequence
+name out of the result you need only do
+ `\csname \xrlabel{LABEL}\endcsname'
+
+The `\csname' primitive makes a control sequence name out of any
+sequence of character tokens, regardless of category code. Labels can
+therefore include any characters except for `\', `{', `}', and `#', all
+of which are used in macro definitions themselves.
+
+ `\sanitize' takes a control sequence as an argument and converts the
+expansion of the control sequence into a list of character tokens.
+This is the behavior you want when writing information like chapter
+titles to an output file. For example, here is part of the definition
+of `\writenumberedtocentry'; `#2' is the title that the user has given.
+
+ ...
+ \def\temp{#2}%
+ ...
+ \write\tocfile{%
+ ...
+ \sanitize\temp
+ ...
+ }%
+
+
+File: eplain.info, Node: Expansion, Next: Obeying spaces, Prev: Converting to characters, Up: Programming definitions
+
+7.6 Expansion
+=============
+
+This section describes some miscellanous macros for expansion, etc.
+
+* Menu:
+
+* \csn and \ece:: Abbreviations for \csname expansions.
+* \edefappend::
+* Hooks:: Manipulating and executing named actions.
+* Properties:: Associating information with a csname.
+* \expandonce::
+* \ifundefined::
+* \futurenonspacelet::
+
+
+File: eplain.info, Node: \csn and \ece, Next: \edefappend, Up: Expansion
+
+7.6.1 `\csn' and `\ece'
+-----------------------
+
+`\csn'{NAME} simply abbreviates `\csname' NAME `\endcsname', thus
+saving some typing. The extra level of expansion does take some time,
+though, so I don't recommend it for an inner loop.
+
+ `\ece'{TOKEN}{NAME} abbreviates
+
+ \expandafter TOKEN \csname NAME \endcsname
+
+For example,
+
+ \def\fontabbrevdef#1#2{\ece\def{@#1font}{#2}}
+ \fontabbrevdef{normal}{ptmr}
+
+defines a control sequence `\@normalfont' to expand to `ptmr'.
+
+
+File: eplain.info, Node: \edefappend, Next: Hooks, Prev: \csn and \ece, Up: Expansion
+
+7.6.2 `\edefappend'
+-------------------
+
+`\edefappend' is a way of adding on to an existing definition. It
+takes two arguments: the first is the control sequence name, the second
+the new tokens to append to the definition. The second argument is
+fully expanded (in the `\edef' that redefines the control sequence).
+
+ For example:
+
+ \def\foo{abc}
+ \def\bar{xyz}
+ \edefappend\foo{\bar karl}
+
+results in `\foo' being defined as `abcxyzkarl'.
+
+
+File: eplain.info, Node: Hooks, Next: Properties, Prev: \edefappend, Up: Expansion
+
+7.6.3 Hooks
+-----------
+
+A "hook" is simply a name for a group of actions which is executed in
+certain places--presumably when it is most useful to allow
+customization or modification. TeX already provides many builtin
+hooks; for example, the `\every ...' token lists are all examples of
+hooks.
+
+ Eplain provides several macros for adding actions to hooks. They all
+take two arguments: the name of the hook and the new actions.
+
+`hookaction NAME ACTIONS'
+`hookappend NAME ACTIONS'
+
+`hookprepend NAME ACTIONS'
+ Each of these adds ACTIONS to the hook NAME. (Any
+ previously-defined actions are retained.) NAME is not a control
+ sequence, but rather the characters of the name.
+
+`hookactiononce NAME `\CS''
+ `\hookactiononce' adds CS to NAME, like the macros above, but
+ first it adds
+
+ \global\let \CS \relax
+
+ to the definition of \CS. (This implies \CS must be a true
+ expandable macro, not a control sequence `\let' to a primitive or
+ some other such thing.) Thus, \CS is expanded the next time the
+ hook NAME is run, but it will disappear after that.
+
+ The `\global' is useful because `\hookactiononce' is most useful
+ when the grouping structure of the TeX code could be anything.
+ Neither this nor the other hook macros do global assignments to
+ the hook variable itself, so TeX's usual grouping rules apply.
+
+ The companion macro to defining hook actions is `\hookrun', for
+running them. This takes a single argument, the name of the hook. If
+no actions for the hook are defined, no error ensues.
+
+ Here is a skeleton of general `\begin' and `\end' macros that run
+hooks, and a couple of calls to define actions. The use of
+`\hookprepend' for the begin action and `\hookappend' for the end
+action ensures that the actions are executed in proper sequence with
+other actions (as long as the other actions use `\hookprepend' and
+`\hookappend' also).
+
+ \def\begin#1{ ... \hookrun{begin} ... }
+ \def\end#1{ ... \hookrun{end} ... }
+ \hookprepend{begin}\start_underline
+ \hookappend{end}\finish_underline
+
+
+File: eplain.info, Node: Properties, Next: \expandonce, Prev: Hooks, Up: Expansion
+
+7.6.4 Properties
+----------------
+
+A "property" is a name/value pair associated with another symbol,
+traditionally called an "atom". Both atom and property names are
+control sequence names.
+
+ Eplain provides two macros for dealing with property lists:
+`\setproperty' and `\getproperty'.
+
+`\setproperty ATOM PROPNAME VALUE'
+ `\setproperty' defines the property PROPERTY on the atom ATOM to
+ be VALUE. ATOM and PROPNAME can be anything acceptable to
+ `\csname'. VALUE can be anything.
+
+`\getproperty ATOM PROPNAME'
+ `\getproperty' expands to the value stored for PROPNAME on ATOM.
+ If PROPNAME is undefined, it expands to nothing (i.e., `\empty').
+
+
+ The idea of properties originated in Lisp (I believe). There, the
+implementation truly does associate properties with atoms. In TeX,
+where we have no builtin support for properties, the association is only
+conceptual.
+
+ The following example typesets `xyz'.
+
+ \setproperty{a}{pr}{xyz}
+ \getproperty{a}{pr}
+
+
+File: eplain.info, Node: \expandonce, Next: \ifundefined, Prev: Properties, Up: Expansion
+
+7.6.5 `\expandonce'
+-------------------
+
+`\expandonce' is defined as `\expandafter\noexpand'. Thus,
+`\expandonce TOKEN' expands TOKEN once, instead of to TeX primitives.
+This is most useful in an `\edef'.
+
+ For example, the following defines `\temp' to be `\foo', not `abc'.
+
+ \def\foo{abc}
+ \def\bar{\foo}
+ \edef\temp{\expandonce\bar}
+
+
+File: eplain.info, Node: \ifundefined, Next: \futurenonspacelet, Prev: \expandonce, Up: Expansion
+
+7.6.6 `\ifundefined'
+--------------------
+
+`\ifundefined{CS} T \else F \fi' expands the T text if the control
+sequence `\CS' is undefined or has been `\let' to `\relax', and the F
+text otherwise.
+
+ Since `\ifundefined' is not a primitive conditional, it cannot be
+used in places where TeX might skip tokens "at high speed", e.g.,
+within another conditional--TeX can't match up the `\if''s and `\fi''s.
+
+ This macro was taken directly from `The TeXbook', page 308.
+
+
+File: eplain.info, Node: \futurenonspacelet, Prev: \ifundefined, Up: Expansion
+
+7.6.7 `\futurenonspacelet'
+--------------------------
+
+The `\futurelet' primitive allows you to look at the next token from
+the input. Sometimes, though, you want to look ahead ignoring any
+spaces. This is what `\futurenonspacelet' does. It is otherwise the
+same as `\futurelet': you give it two control sequences as arguments,
+and it assigns the next nonspace token to the first, and then expands
+the second. For example:
+
+ \futurenonspacelet\temp\finishup
+ \def\finishup{\ifx\temp ...}
+
+
+File: eplain.info, Node: Obeying spaces, Next: Writing out numbers, Prev: Expansion, Up: Programming definitions
+
+7.7 Obeying spaces
+==================
+
+`\obeywhitespace' makes both end-of-lines and space characters in the
+input be respected in the output. Unlike plain TeX's `\obeyspaces',
+even spaces at the beginnings of lines turn into blank space.
+
+ By default, the size of the space that is produced by a space
+character is the natural space of the current font, i.e., what `\ '
+produces.
+
+ Ordinarily, a blank line in the input produces as much blank vertical
+space as a line of text would occupy. You can adjust this by assigning
+to the parameter `\blanklineskipamount': if you set this negative, the
+space produced by a blank line will be smaller; if positive, larger.
+
+ Tabs are not affected by this routine. In particular, if tabs occur
+at the beginning of a line, they will disappear. (If you are trying to
+make TeX do the "right thing" with tabs, don't. Use a utility program
+like expand instead.)
+
+
+File: eplain.info, Node: Writing out numbers, Next: Mode-specific penalties, Prev: Obeying spaces, Up: Programming definitions
+
+7.8 Writing out numbers
+=======================
+
+`\numbername' produces the written-out form of its argument, i.e.,
+`zero' through `ten' for the numbers 0-10, and numerals for all others.
+
+
+File: eplain.info, Node: Mode-specific penalties, Next: Auxiliary files, Prev: Writing out numbers, Up: Programming definitions
+
+7.9 Mode-specific penalties
+===========================
+
+TeX's built-in `\penalty' command simply appends to the current list,
+no matter what kind of list it is. You might intend a particular
+penalty to always be a "vertical" penalty, however, i.e., appended to a
+vertical list. Therefore, Eplain provides `\vpenalty' and `\hpenalty'
+which first leave the other mode and then do `\penalty'.
+
+ More precisely, `\vpenalty' inserts `\par' if the current mode is
+horizontal, and `\hpenalty' inserts `\leavevmode' if the current mode
+is vertical. (Thus, `\vpenalty' cannot be used in math mode.)
+
+
+File: eplain.info, Node: Auxiliary files, Next: User-defined environments, Prev: Mode-specific penalties, Up: Programming definitions
+
+7.10 Auxiliary files
+====================
+
+It is common to write some information out to a file to be used on a
+subsequent run. But when it is time to read the file again, you only
+want to do so if the file actually exists. `\testfileexistence' is
+given an argument which is appended to `\jobname', and sets the
+conditional `\iffileexists' appropriately. For example:
+
+ \testfileexistence{toc}%
+ \iffileexists
+ \input \jobname.toc
+ \fi
+
+ `\testfileexistence' takes an optional parameter; when given, it
+will override `\jobname' for the root part of the file name. For
+example, if you want to test for the file `answers.aux', you can do
+this with the following:
+
+ \testfileexistence[answers]{aux}%
+ \iffileexists
+ \input answers.aux
+ \fi
+
+
+File: eplain.info, Node: User-defined environments, Next: Page list and page range parsers, Prev: Auxiliary files, Up: Programming definitions
+
+7.11 User-defined environments
+==============================
+
+Plain TeX does not provide "named" block structures, only the anonymous
+`\begingroup' and `\endgroup' pair. The disadvantage of this is that
+when there are several such groups and one is mismatched, it can be
+difficult to find the error. Eplain provides a named block structure so
+that if you forget an `\environment' or an `\endenvironment', you will
+(probably) get an error message about it.
+
+ For example:
+
+ \def\itpar{
+ \environment{@italicpar}
+ \it\par
+ }
+ \def\enditpar{
+ \par
+ \endenvironment{@italicpar}%
+ }
+ which could then be used to set italicized paragraphs:
+ \itpar
+ If I reprehend anything in this world, it is the use of my oracular
+ tongue, and a nice derangement of epitaphs!
+ \enditpar
+
+ The above sort of environment allows nesting. But environments
+shouldn't always be allowed to nest. Put the control sequence
+`\checkenv' at the beginning of a macro that is going to define an
+environment that should not be nested.
+
+
+File: eplain.info, Node: Page list and page range parsers, Prev: User-defined environments, Up: Programming definitions
+
+7.12 Page list and page range parsers
+=====================================
+
+The macros which Eplain uses to parse the page lists and ranges in the
+index, `\idxparselist' and `\idxparserange' (*note Page destinations
+for index terms::), are sometimes useful when defining page number
+encapsulators. They take one argument, text to parse. When a page
+list (range) is not present, they set `\idxpagei' to be `\empty'; when
+a list (range) is detected, they set `\idxpagei' and `\idxpageii' to
+the first and the second page numbers, respectively.
+
+ Eplain's defaults for the page list and page range delimiters are the
+same as those in MakeIndex, a comma followed by a space (`, ') and two
+dashes (`--'), respectively. If you customize MakeIndex to use
+different delimiters, you must not forget to let Eplain know about them
+with the commands
+
+ \setidxpagelistdelimiter{LIST-DELIM}
+ \setidxpagerangedelimiter{PAGE-DELIM}
+
+These commands save the LIST-DELIM and PAGE-DELIM delimiters in `\idxpagelistdelimiter'
+and `\idxpagerangedelimiter', respectively.
+
+ For example, you may want to define a page number markup command
+which italicizes and properly underlines page ranges by underlining
+only the page numbers and not the delimiter:
+
+ \def\ituline#1{%
+ {\it
+ \idxparserange{#1}%
+ \ifx\idxpagei\empty
+ % The argument is a single page number.
+ \underbar{#1}%
+ \else
+ % The argument is a page range.
+ \underbar{\idxpagei}\idxpagerangedelimiter\underbar{\idxpageii}%
+ \fi}%
+ }
+
+Note that the `\ituline' macro is not aware of page lists. This is not
+needed if you use hyperlinks in the index, because `\hlidx' and
+`\hlidxpage' will break up the page lists before calling the user's
+page encapsulator (*note Page destinations for index terms::), so
+`\ituline' will never see the lists. If, however, you need to design a
+macro which also takes care of the lists, you can extend `\ituline'
+with an additional call to `\idxparselist'.
+
+
+File: eplain.info, Node: Macro index, Next: Concept index, Prev: Programming definitions, Up: Top
+
+Macro index
+***********
+
+
+* Menu:
+
+* .aux file <1>: Cross-references. (line 11)
+* .aux file: Citations. (line 17)
+* .bbl file: Citations. (line 20)
+* .bib file: Citations. (line 20)
+* .bst files: Citations. (line 65)
+* .cls files: Loading LaTeX packages.
+ (line 6)
+* .eps files: Packages known to work.
+ (line 32)
+* .fmt file <1>: Invoking Eplain. (line 14)
+* .fmt file: Installation. (line 12)
+* .idx files <1>: Index hyperlinks. (line 14)
+* .idx files: Indexing. (line 23)
+* .ind files <1>: Index hyperlinks. (line 25)
+* .ind files: Indexing. (line 27)
+* .pdf files <1>: Introduction to hyperlinks.
+ (line 12)
+* .pdf files: Checking for PDF output.
+ (line 6)
+* .ps files: Introduction to hyperlinks.
+ (line 12)
+* .sty files: Loading LaTeX packages.
+ (line 6)
+* .toc file: Contents. (line 10)
+* @hllabel: Destination types for pdftex and dvipdfm.
+ (line 82)
+* @indexproof insertion class: Proofing index terms.
+ (line 28)
+* abovecolumnskip: Multiple columns. (line 31)
+* abovecolumnspenalty: Tables. (line 31)
+* abovelistpenalty: Formatting lists. (line 29)
+* abovelistskip: Formatting lists. (line 29)
+* abovelistskipamount: Formatting lists. (line 10)
+* adjarrow: Arrows and morphisms.
+ (line 112)
+* adjmapdown: Arrows and morphisms.
+ (line 90)
+* adjmapleft: Arrows and morphisms.
+ (line 65)
+* adjmapright: Arrows and morphisms.
+ (line 62)
+* adjmapup: Arrows and morphisms.
+ (line 93)
+* advancebottommargin: Margins. (line 28)
+* advanceleftmargin: Margins. (line 28)
+* advancerightmargin: Margins. (line 28)
+* advancetopmargin: Margins. (line 28)
+* afterindexterm: Customizing indexing.
+ (line 6)
+* afterindexterm hook: Indexing commands. (line 63)
+* AMSLaTeX: Logos. (line 10)
+* amsppt.sty: Invoking Eplain. (line 90)
+* AMSTeX: Logos. (line 10)
+* arrow: Arrows and morphisms.
+ (line 20)
+* autopict.sty: Packages known to work.
+ (line 12)
+* bblem: Formatting bibliographies.
+ (line 33)
+* bblfilebasename: Citations. (line 30)
+* bblhook: Formatting bibliographies.
+ (line 55)
+* bblnewblock: Formatting bibliographies.
+ (line 41)
+* bblrm: Formatting bibliographies.
+ (line 30)
+* bblsc: Formatting bibliographies.
+ (line 37)
+* bcolor (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 14)
+* bdash (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 20)
+* begin for index entries: Modifying index entries.
+ (line 22)
+* beginindex hook: Typesetting an index.
+ (line 30)
+* beginlist: Formatting lists. (line 51)
+* beginpackages: Environment for loading packages.
+ (line 6)
+* begin{picture}: Packages known to work.
+ (line 14)
+* begin{theindex}: Typesetting an index.
+ (line 17)
+* belowcolumnskip: Multiple columns. (line 32)
+* belowfootnoterulespace: Footnotes. (line 45)
+* belowlistskip: Formatting lists. (line 30)
+* belowlistskipamount: Formatting lists. (line 10)
+* biarrow: Arrows and morphisms.
+ (line 109)
+* biblabelcontents: Formatting bibliographies.
+ (line 23)
+* biblabelextraspace: Formatting bibliographies.
+ (line 49)
+* biblabelprint: Formatting bibliographies.
+ (line 17)
+* biblabelwidth: Formatting bibliographies.
+ (line 11)
+* bibliography: Citations. (line 56)
+* bibliography (hyperlinks): Citation hyperlinks. (line 11)
+* bibliographystyle: Citations. (line 63)
+* BibTeX: Logos. (line 10)
+* bibtex: Invoking Eplain. (line 101)
+* bihline: Arrows and morphisms.
+ (line 68)
+* bimapdown: Arrows and morphisms.
+ (line 84)
+* bimapleft: Arrows and morphisms.
+ (line 59)
+* bimapright: Arrows and morphisms.
+ (line 56)
+* bimapup: Arrows and morphisms.
+ (line 87)
+* bisline: Arrows and morphisms.
+ (line 115)
+* bivline: Arrows and morphisms.
+ (line 96)
+* blackbox: Boxes. (line 7)
+* blanklineskipamount in justified text: Justification. (line 24)
+* blanklineskipamount in obeyed text: Obeying spaces. (line 16)
+* bottom (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 55)
+* bottom (destination option): Destination types for pdftex and dvipdfm.
+ (line 65)
+* bottommargin: Margins. (line 18)
+* boxit: Boxes. (line 29)
+* boxitspace: Boxes. (line 31)
+* bstyle (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 26)
+* bwidth (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 50)
+* catcode: Category codes. (line 13)
+* center: Justification. (line 7)
+* centereddisplays: Displays. (line 13)
+* channelwidth <1>: Commutative diagram parameters.
+ (line 36)
+* channelwidth: Arrows and morphisms.
+ (line 119)
+* cite: Citations. (line 37)
+* cite (hyperlinks): Citation hyperlinks. (line 6)
+* cmd (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 14)
+* cmd (destination option): Destination types for pdftex and dvipdfm.
+ (line 81)
+* cmd (hyperlink option) <1>: Link options for pdftex and dvipdfm.
+ (line 56)
+* cmd (hyperlink option): Link types for pdftex and dvipdfm.
+ (line 64)
+* cmtt8: Proofing index terms.
+ (line 12)
+* color (hyperlink option): Options supported by all drivers.
+ (line 37)
+* color.sty <1>: Hyperlink driver nolinks.
+ (line 34)
+* color.sty: Packages known to work.
+ (line 21)
+* colormodel (hyperlink option): Options supported by all drivers.
+ (line 37)
+* columnfill: Multiple columns. (line 14)
+* commdiag: Construction of commutative diagrams.
+ (line 9)
+* commdiagbaselines <1>: Commutative diagram parameters.
+ (line 43)
+* commdiagbaselines: Construction of commutative diagrams.
+ (line 64)
+* csn: \csn and \ece. (line 6)
+* definecontentsfile: Contents. (line 69)
+* defineindex: Indexing. (line 37)
+* definexref: Defining generic references.
+ (line 6)
+* definexref (hyperlinks): Cross-reference hyperlinks.
+ (line 6)
+* depth (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 34)
+* depth (destination option): Destination types for pdftex and dvipdfm.
+ (line 61)
+* depth (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 124)
+* discretionaries: Paths. (line 19)
+* displaylines: Displays. (line 18)
+* doublecolumns: Multiple columns. (line 7)
+* drawline: Slanted lines and vectors.
+ (line 6)
+* drawvector: Slanted lines and vectors.
+ (line 6)
+* dvipdfm: Introduction to hyperlinks.
+ (line 34)
+* eattoken: Macro arguments. (line 22)
+* ece: \csn and \ece. (line 10)
+* edefappend: \edefappend. (line 6)
+* ehrule: Rules. (line 17)
+* enablehyperlinks <1>: Choosing destination placement.
+ (line 7)
+* enablehyperlinks: Introduction to hyperlinks.
+ (line 40)
+* end for index entries: Modifying index entries.
+ (line 22)
+* endlist: Formatting lists. (line 53)
+* endnumberedlist: Lists. (line 14)
+* endorderedlist: Lists. (line 14)
+* endpackages: Environment for loading packages.
+ (line 6)
+* endunorderedlist: Lists. (line 22)
+* end{picture}: Packages known to work.
+ (line 14)
+* end{theindex}: Typesetting an index.
+ (line 17)
+* eplain: Invoking Eplain. (line 30)
+* eplain.aux: Installation. (line 25)
+* eqalignno: Displays. (line 18)
+* eqconstruct: Formatting equation references.
+ (line 21)
+* eqdef: Equation references. (line 15)
+* eqdef (hyperlinks): Equation reference hyperlinks.
+ (line 6)
+* eqdefn: Equation references. (line 38)
+* eqdefn (hyperlinks): Equation reference hyperlinks.
+ (line 6)
+* eqnumber: Equation references. (line 8)
+* eqprint: Formatting equation references.
+ (line 12)
+* eqref <1>: Equation reference hyperlinks.
+ (line 20)
+* eqref: Equation references. (line 46)
+* eqrefn <1>: Equation reference hyperlinks.
+ (line 20)
+* eqrefn: Equation references. (line 52)
+* eqsubdef: Subequation references.
+ (line 11)
+* eqsubdef (hyperlinks): Equation reference hyperlinks.
+ (line 6)
+* eqsubdefn: Subequation references.
+ (line 11)
+* eqsubdefn (hyperlinks): Equation reference hyperlinks.
+ (line 6)
+* eqsubreftext: Subequation references.
+ (line 22)
+* everyfootnote: Footnotes. (line 35)
+* evrule: Rules. (line 18)
+* expandonce: \expandonce. (line 6)
+* file (hyperlink option) <1>: Link options for pdftex and dvipdfm.
+ (line 63)
+* file (hyperlink option): Link types for pdftex and dvipdfm.
+ (line 34)
+* fileexists (conditional): Auxiliary files. (line 10)
+* filename (hyperlink type): Link types for pdftex and dvipdfm.
+ (line 33)
+* filepage (hyperlink type): Link types for pdftex and dvipdfm.
+ (line 44)
+* fit (destination type): Destination types for pdftex and dvipdfm.
+ (line 18)
+* fitb (destination type): Destination types for pdftex and dvipdfm.
+ (line 39)
+* fitbh (destination type): Destination types for pdftex and dvipdfm.
+ (line 44)
+* fitbv (destination type): Destination types for pdftex and dvipdfm.
+ (line 52)
+* fith (destination type): Destination types for pdftex and dvipdfm.
+ (line 23)
+* fitr (destination type): Destination types for pdftex and dvipdfm.
+ (line 60)
+* fitv (destination type): Destination types for pdftex and dvipdfm.
+ (line 31)
+* flushleft: Justification. (line 7)
+* flushright: Justification. (line 7)
+* fmtversion: Introduction. (line 47)
+* footnote (hyperlinks): Footnote hyperlinks. (line 7)
+* footnotemarkseparation: Footnotes. (line 25)
+* footnoteruleheight: Footnotes. (line 43)
+* footnoterulewidth: Footnotes. (line 43)
+* for: Iteration. (line 6)
+* frac: Fractions. (line 6)
+* fullmonthname: Time of day. (line 13)
+* futurenonspacelet: \futurenonspacelet. (line 6)
+* generaldisplay: Formatting displays. (line 10)
+* getproperty: Properties. (line 18)
+* gloggingall: Diagnostics. (line 23)
+* gobble: Macro arguments. (line 7)
+* gobbletwo: Macro arguments. (line 7)
+* graphics.sty: Packages known to work.
+ (line 22)
+* graphicx.sty: Packages known to work.
+ (line 23)
+* gridcommdiag: Construction of commutative diagrams.
+ (line 89)
+* gtracingall: Diagnostics. (line 23)
+* gutter: Multiple columns. (line 23)
+* gutterbox: Multiple columns. (line 24)
+* hangindent for index entries: Typesetting an index.
+ (line 45)
+* harrowlength <1>: Commutative diagram parameters.
+ (line 11)
+* harrowlength: Arrows and morphisms.
+ (line 27)
+* hchannel: Commutative diagram parameters.
+ (line 39)
+* height (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 37)
+* height (destination option): Destination types for pdftex and dvipdfm.
+ (line 60)
+* height (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 127)
+* hgrid <1>: Commutative diagram parameters.
+ (line 47)
+* hgrid: Construction of commutative diagrams.
+ (line 109)
+* hldest <1>: Setting hyperlink types and options.
+ (line 7)
+* hldest <2>: Destination types for pdftex and dvipdfm.
+ (line 85)
+* hldest: Explicit hyperlinks. (line 6)
+* hldestoff <1>: Turning low-level commands on/off.
+ (line 6)
+* hldestoff: Hyperlink driver nolinks.
+ (line 10)
+* hldeston: Turning low-level commands on/off.
+ (line 6)
+* hldestopts <1>: Setting group options.
+ (line 11)
+* hldestopts: Setting default types and options.
+ (line 15)
+* hldesttype <1>: Setting group types. (line 6)
+* hldesttype: Setting default types and options.
+ (line 6)
+* hlend: Explicit hyperlinks. (line 25)
+* hlfootbacklabel: Footnote hyperlinks. (line 12)
+* hlfootlabel: Footnote hyperlinks. (line 12)
+* hlfootlabelnumber: Footnote hyperlinks. (line 14)
+* hlidx: Exact destinations for index terms.
+ (line 13)
+* hlidxlabel: Exact destinations for index terms.
+ (line 23)
+* hlidxlabelnumber: Exact destinations for index terms.
+ (line 25)
+* hlidxpage: Page destinations for index terms.
+ (line 20)
+* hlidxpagelabel: Page destinations for index terms.
+ (line 11)
+* hlight (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 69)
+* hline: Arrows and morphisms.
+ (line 53)
+* hloff <1>: Turning low-level commands on/off.
+ (line 6)
+* hloff: Hyperlink driver nolinks.
+ (line 10)
+* hlon: Turning low-level commands on/off.
+ (line 6)
+* hlopts <1>: Setting group options.
+ (line 11)
+* hlopts: Setting default types and options.
+ (line 15)
+* hlstart <1>: Setting hyperlink types and options.
+ (line 7)
+* hlstart <2>: Link types for pdftex and dvipdfm.
+ (line 67)
+* hlstart: Explicit hyperlinks. (line 25)
+* hltype <1>: Setting group types. (line 6)
+* hltype: Setting default types and options.
+ (line 6)
+* hmorphposn <1>: Commutative diagram parameters.
+ (line 20)
+* hmorphposn: Arrows and morphisms.
+ (line 33)
+* hmorphposndn <1>: Commutative diagram parameters.
+ (line 22)
+* hmorphposndn: Arrows and morphisms.
+ (line 38)
+* hmorphposnlft <1>: Commutative diagram parameters.
+ (line 23)
+* hmorphposnlft: Arrows and morphisms.
+ (line 38)
+* hmorphposnrt <1>: Commutative diagram parameters.
+ (line 22)
+* hmorphposnrt: Arrows and morphisms.
+ (line 38)
+* hmorphposnup <1>: Commutative diagram parameters.
+ (line 22)
+* hmorphposnup: Arrows and morphisms.
+ (line 38)
+* hoffset: Proofing index terms.
+ (line 21)
+* hookaction: Hooks. (line 15)
+* hookactiononce: Hooks. (line 23)
+* hookappend: Hooks. (line 16)
+* hookprepend: Hooks. (line 17)
+* hookrun: Hooks. (line 39)
+* hruledefaultdepth: Rules. (line 9)
+* hruledefaultheight: Rules. (line 9)
+* hsize: Margins. (line 34)
+* hyphenpenalty for index entries: Typesetting an index.
+ (line 45)
+* identity: Macro arguments. (line 27)
+* idx: Indexing commands. (line 8)
+* idx (hyperlinks): Index hyperlinks. (line 6)
+* idxbeginrangemark: Customizing indexing.
+ (line 42)
+* idxencapoperator: Customizing indexing.
+ (line 39)
+* idxendrangemark: Customizing indexing.
+ (line 45)
+* idxexact: Choosing destination placement.
+ (line 8)
+* idxmarked: Indexing commands. (line 29)
+* idxmarked (hyperlinks): Index hyperlinks. (line 6)
+* idxname: Indexing commands. (line 19)
+* idxname (hyperlinks): Index hyperlinks. (line 6)
+* idxnameseparator: Indexing commands. (line 19)
+* idxnone: Choosing destination placement.
+ (line 9)
+* idxpage: Choosing destination placement.
+ (line 9)
+* idxpagei: Page list and page range parsers.
+ (line 6)
+* idxpageii: Page list and page range parsers.
+ (line 6)
+* idxpagelistdelimiter: Page list and page range parsers.
+ (line 23)
+* idxpagenum: Customizing indexing.
+ (line 51)
+* idxpagerangedelimiter: Page list and page range parsers.
+ (line 23)
+* idxparselist: Page list and page range parsers.
+ (line 6)
+* idxparserange: Page list and page range parsers.
+ (line 6)
+* idxrangebeginword: Customizing indexing.
+ (line 20)
+* idxrangeendword: Customizing indexing.
+ (line 23)
+* idxseealsocmdword: Customizing indexing.
+ (line 29)
+* idxseecmdword: Customizing indexing.
+ (line 26)
+* idxsubentryseparator: Customizing indexing.
+ (line 36)
+* idxsubmarked: Indexing commands. (line 40)
+* idxsubmarked (hyperlinks): Index hyperlinks. (line 6)
+* idxuniq: Exact destinations for index terms.
+ (line 33)
+* iffileexists: Auxiliary files. (line 10)
+* ifpdf <1>: Introduction to hyperlinks.
+ (line 49)
+* ifpdf: Checking for PDF output.
+ (line 10)
+* ifrewritetocfile: Contents. (line 61)
+* ifundefined: \ifundefined. (line 6)
+* indexfilebasename: Typesetting an index.
+ (line 11)
+* indexfonts: Typesetting an index.
+ (line 24)
+* indexitem hook: Typesetting an index.
+ (line 49)
+* indexprooffont: Proofing index terms.
+ (line 12)
+* indexproofterm: Proofing index terms.
+ (line 12)
+* indexproofunbox: Proofing index terms.
+ (line 28)
+* indexsee <1>: Hyperlinks in see and see also entries.
+ (line 8)
+* indexsee: Customizing indexing.
+ (line 55)
+* indexseealso <1>: Hyperlinks in see and see also entries.
+ (line 8)
+* indexseealso: Customizing indexing.
+ (line 55)
+* indexseealsowords: Customizing indexing.
+ (line 55)
+* indexseeword: Customizing indexing.
+ (line 55)
+* indexsetmargins: Proofing index terms.
+ (line 21)
+* indexspace: Typesetting an index.
+ (line 54)
+* innerdef: Allocation macros. (line 26)
+* innerinnerdef: Allocation macros. (line 37)
+* innernewbox: Allocation macros. (line 21)
+* innernewcount: Allocation macros. (line 21)
+* innernewdimen: Allocation macros. (line 21)
+* innernewfam: Allocation macros. (line 21)
+* innernewhelp: Allocation macros. (line 21)
+* innernewif: Allocation macros. (line 21)
+* innernewinsert: Allocation macros. (line 21)
+* innernewlanguage: Allocation macros. (line 21)
+* innernewread: Allocation macros. (line 22)
+* innernewskip: Allocation macros. (line 22)
+* innernewtoks: Allocation macros. (line 22)
+* innernewwrite: Allocation macros. (line 22)
+* insidemargin: Proofing index terms.
+ (line 21)
+* interfootnoteskip: Footnotes. (line 29)
+* interitemskip: Formatting lists. (line 30)
+* interitemskipamount: Formatting lists. (line 14)
+* item in indexes: Typesetting an index.
+ (line 35)
+* itemletter: Formatting lists. (line 44)
+* itemnumber: Formatting lists. (line 44)
+* ituline: Page list and page range parsers.
+ (line 26)
+* jobname <1>: Auxiliary files. (line 9)
+* jobname <2>: Typesetting an index.
+ (line 11)
+* jobname: Citations. (line 17)
+* LAMSTeX: Logos. (line 10)
+* LaTeX: Logos. (line 10)
+* lbracechar: Category codes. (line 59)
+* left (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 59)
+* left (destination option): Destination types for pdftex and dvipdfm.
+ (line 11)
+* leftdisplayindent: Displays. (line 11)
+* leftdisplays: Displays. (line 10)
+* leftdisplaysetup: Formatting displays. (line 8)
+* leftmargin: Margins. (line 18)
+* leqalignno: Displays. (line 19)
+* letreturn: Category codes. (line 41)
+* letter: Category codes. (line 10)
+* lft: Arrows and morphisms.
+ (line 15)
+* li: Lists. (line 30)
+* li (hyperlinks): List hyperlinks. (line 6)
+* linenumberedlisting: Verbatim listing. (line 17)
+* listcompact: Lists. (line 41)
+* listing: Verbatim listing. (line 7)
+* listingfont: Verbatim listing. (line 10)
+* listleftindent: Formatting lists. (line 18)
+* listmarkerspace: Formatting lists. (line 33)
+* listrightindent: Formatting lists. (line 18)
+* loggingall: Diagnostics. (line 12)
+* makeactive: Category codes. (line 13)
+* makeatletter: Category codes. (line 22)
+* makeatother: Category codes. (line 32)
+* makeblankbox: Boxes. (line 12)
+* makecolumns: Tables. (line 6)
+* makeheadline: Proofing index terms.
+ (line 28)
+* makeindex <1>: Index hyperlinks. (line 12)
+* makeindex <2>: Indexing. (line 14)
+* makeindex: Invoking Eplain. (line 101)
+* mapdown: Arrows and morphisms.
+ (line 13)
+* mapleft: Arrows and morphisms.
+ (line 6)
+* mapright: Arrows and morphisms.
+ (line 6)
+* mapup: Arrows and morphisms.
+ (line 13)
+* matrix: Construction of commutative diagrams.
+ (line 10)
+* MF: Logos. (line 10)
+* miniltx.tex: Loading LaTeX packages.
+ (line 14)
+* monthname: Time of day. (line 10)
+* morphdist <1>: Commutative diagram parameters.
+ (line 32)
+* morphdist: Arrows and morphisms.
+ (line 33)
+* name (hyperlink type): Link types for pdftex and dvipdfm.
+ (line 18)
+* new...: Allocation macros. (line 9)
+* newwin (hyperlink option) <1>: Link options for pdftex and dvipdfm.
+ (line 90)
+* newwin (hyperlink option): Link types for pdftex and dvipdfm.
+ (line 35)
+* noarrow: Invoking Eplain. (line 82)
+* noauxfile: Invoking Eplain. (line 87)
+* nobibtex: Invoking Eplain. (line 71)
+* nocite: Citations. (line 53)
+* normalbaselineskip: Options supported by all drivers.
+ (line 19)
+* num (hyperlink type): Link types for pdftex and dvipdfm.
+ (line 88)
+* numberedfootnote: Footnotes. (line 7)
+* numberedfootnote (hyperlinks): Footnote hyperlinks. (line 6)
+* numberedlist: Lists. (line 14)
+* numberedlistdepth: Formatting lists. (line 41)
+* numberedmarker: Formatting lists. (line 37)
+* numbername: Writing out numbers. (line 6)
+* obeywhitespace: Obeying spaces. (line 6)
+* orderedlist: Lists. (line 14)
+* other: Category codes. (line 10)
+* outer: Allocation macros. (line 12)
+* outsidemargin: Proofing index terms.
+ (line 21)
+* page (hyperlink type): Link types for pdftex and dvipdfm.
+ (line 25)
+* pagefit (hyperlink option) <1>: Link options for pdftex and dvipdfm.
+ (line 109)
+* pagefit (hyperlink option): Link types for pdftex and dvipdfm.
+ (line 26)
+* pageno: Proofing index terms.
+ (line 21)
+* pagetotal: Multiple columns. (line 14)
+* paperheight: Margins. (line 45)
+* paperwidth: Margins. (line 48)
+* parindent in indexes: Typesetting an index.
+ (line 24)
+* path: Paths. (line 13)
+* pdfoutput: Checking for PDF output.
+ (line 20)
+* pdftex <1>: Introduction to hyperlinks.
+ (line 34)
+* pdftex <2>: Checking for PDF output.
+ (line 6)
+* pdftex: Invoking Eplain. (line 113)
+* percentchar: Category codes. (line 56)
+* phantomeqlabel: Equation reference hyperlinks.
+ (line 14)
+* phantomeqnumber: Equation reference hyperlinks.
+ (line 14)
+* pict2e.sty: Packages known not to work.
+ (line 9)
+* previouseverydisplay: Formatting displays. (line 15)
+* printbetweencitations: Formatting citations.
+ (line 21)
+* printcitefinish: Formatting citations.
+ (line 16)
+* printcitenote: Formatting citations.
+ (line 27)
+* printcitestart: Formatting citations.
+ (line 16)
+* printitem: Formatting lists. (line 52)
+* psfrag.sty: Packages known to work.
+ (line 30)
+* quadcolumns: Multiple columns. (line 7)
+* raggedright for index entries: Typesetting an index.
+ (line 45)
+* raise (hyperlink option) <1>: Setting group options.
+ (line 34)
+* raise (hyperlink option): Options supported by all drivers.
+ (line 13)
+* raw (destination type): Destination types for pdftex and dvipdfm.
+ (line 79)
+* raw (hyperlink type): Link types for pdftex and dvipdfm.
+ (line 62)
+* rbracechar: Category codes. (line 60)
+* readindexfile: Typesetting an index.
+ (line 6)
+* readindexfile (hyperlinks): Index hyperlinks. (line 9)
+* readtocfile: Contents. (line 42)
+* ref: Using generic references.
+ (line 17)
+* ref (hyperlinks): Cross-reference hyperlinks.
+ (line 19)
+* refn: Using generic references.
+ (line 9)
+* refn (hyperlinks): Cross-reference hyperlinks.
+ (line 14)
+* refs: Using generic references.
+ (line 23)
+* refs (hyperlinks): Cross-reference hyperlinks.
+ (line 26)
+* refspace <1>: Page reference hyperlinks.
+ (line 10)
+* refspace: Cross-reference hyperlinks.
+ (line 24)
+* reftie <1>: Equation reference hyperlinks.
+ (line 20)
+* reftie: Cross-reference hyperlinks.
+ (line 16)
+* resetatcatcode: Category codes. (line 23)
+* rewritetocfile (conditional): Contents. (line 61)
+* right (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 63)
+* right (destination option): Destination types for pdftex and dvipdfm.
+ (line 65)
+* rightmargin: Margins. (line 18)
+* rt: Arrows and morphisms.
+ (line 14)
+* sanitize: Converting to characters.
+ (line 21)
+* sarrowlength <1>: Commutative diagram parameters.
+ (line 17)
+* sarrowlength: Arrows and morphisms.
+ (line 28)
+* sed: Customizing indexing.
+ (line 66)
+* see for index entries <1>: Customizing indexing.
+ (line 64)
+* see for index entries: Modifying index entries.
+ (line 36)
+* seealso for index entries: Modifying index entries.
+ (line 49)
+* seevariant: Customizing indexing.
+ (line 55)
+* setidxpagelistdelimiter: Page list and page range parsers.
+ (line 14)
+* setidxpagerangedelimiter: Page list and page range parsers.
+ (line 14)
+* setproperty: Properties. (line 13)
+* setuplistinghook: Verbatim listing. (line 13)
+* sidx: Indexing commands. (line 8)
+* sidxmarked: Indexing commands. (line 29)
+* sidxname: Indexing commands. (line 19)
+* sidxsubmarked: Indexing commands. (line 40)
+* singlecolumn: Multiple columns. (line 9)
+* sline: Arrows and morphisms.
+ (line 23)
+* SLiTeX: Logos. (line 11)
+* special: Introduction to hyperlinks.
+ (line 8)
+* specialpathdelimiters (conditional): Paths. (line 26)
+* subeqnumber: Subequation references.
+ (line 15)
+* subitem in indexes: Typesetting an index.
+ (line 35)
+* subsubitem in indexes: Typesetting an index.
+ (line 35)
+* testfileexistence: Auxiliary files. (line 8)
+* TeX: Logos. (line 6)
+* texi2dvi <1>: Indexing. (line 34)
+* texi2dvi <2>: Citations. (line 97)
+* texi2dvi: Invoking Eplain. (line 101)
+* timestamp: Time of day. (line 18)
+* timestring: Time of day. (line 16)
+* toc...entry: Contents. (line 16)
+* tocfilebasename: Contents. (line 67)
+* today: Time of day. (line 21)
+* top (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 67)
+* top (destination option): Destination types for pdftex and dvipdfm.
+ (line 11)
+* topmargin: Margins. (line 18)
+* tracingall: Diagnostics. (line 9)
+* tracingboxes: Diagnostics. (line 17)
+* tracingoff: Diagnostics. (line 19)
+* trimsee: Customizing indexing.
+ (line 67)
+* triplecolumns: Multiple columns. (line 7)
+* uncatcodespecials: Category codes. (line 51)
+* unorderedlist: Lists. (line 22)
+* unorderedlistdepth: Formatting lists. (line 41)
+* unorderedmarker: Formatting lists. (line 37)
+* url (hyperlink type): Link types for pdftex and dvipdfm.
+ (line 56)
+* url (hyperlinks): URL hyperlinks. (line 6)
+* url.sty <1>: URL hyperlinks. (line 6)
+* url.sty: Packages known to work.
+ (line 41)
+* usepackage: The \usepackage command.
+ (line 6)
+* varrowlength <1>: Commutative diagram parameters.
+ (line 14)
+* varrowlength: Arrows and morphisms.
+ (line 28)
+* vchannel: Commutative diagram parameters.
+ (line 39)
+* verbatim: Verbatim listing. (line 23)
+* verbatimescapechar: Verbatim listing. (line 36)
+* vgrid <1>: Commutative diagram parameters.
+ (line 51)
+* vgrid: Construction of commutative diagrams.
+ (line 109)
+* vline: Arrows and morphisms.
+ (line 81)
+* vmorphposn <1>: Commutative diagram parameters.
+ (line 26)
+* vmorphposn: Arrows and morphisms.
+ (line 33)
+* vmorphposndn <1>: Commutative diagram parameters.
+ (line 28)
+* vmorphposndn: Arrows and morphisms.
+ (line 38)
+* vmorphposnlft <1>: Commutative diagram parameters.
+ (line 29)
+* vmorphposnlft: Arrows and morphisms.
+ (line 39)
+* vmorphposnrt <1>: Commutative diagram parameters.
+ (line 28)
+* vmorphposnrt: Arrows and morphisms.
+ (line 38)
+* vmorphposnup <1>: Commutative diagram parameters.
+ (line 28)
+* vmorphposnup: Arrows and morphisms.
+ (line 38)
+* vpenalty: Mode-specific penalties.
+ (line 9)
+* vruledefaultwidth: Rules. (line 10)
+* width (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 40)
+* width (destination option): Destination types for pdftex and dvipdfm.
+ (line 60)
+* width (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 130)
+* writenumberedtocentry: Contents. (line 19)
+* writetocentry: Contents. (line 14)
+* xcolor.sty: Packages known not to work.
+ (line 12)
+* xeplain.tex: Introduction. (line 6)
+* xrdef: Page references. (line 10)
+* xrdef (hyperlinks): Page reference hyperlinks.
+ (line 6)
+* xref: Page references. (line 14)
+* xref (hyperlinks): Page reference hyperlinks.
+ (line 10)
+* xrefn: Using generic references.
+ (line 10)
+* xrefn (hyperlinks): Cross-reference hyperlinks.
+ (line 14)
+* xrefpageword <1>: Page reference hyperlinks.
+ (line 10)
+* xrefpageword: Page references. (line 17)
+* xrefwarning conditional: Using generic references.
+ (line 15)
+* xrefwarningfalse: Citations. (line 73)
+* xrlabel: Converting to characters.
+ (line 6)
+* xyz (destination type): Destination types for pdftex and dvipdfm.
+ (line 7)
+* zoom (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 21)
+* zoom (destination option): Destination types for pdftex and dvipdfm.
+ (line 7)
+
+
+File: eplain.info, Node: Concept index, Prev: Macro index, Up: Top
+
+Concept index
+*************
+
+
+* Menu:
+
+* active characters: Category codes. (line 12)
+* after index terms: Customizing indexing.
+ (line 6)
+* alignments: Tables. (line 6)
+* all groups, specifying: Setting group types. (line 26)
+* allocation macros: Allocation macros. (line 6)
+* alphanumeric references: Citations. (line 116)
+* AMSLaTeX: Logos. (line 10)
+* AMSTeX: Logos. (line 10)
+* AMSTeX conflicts: Invoking Eplain. (line 90)
+* arguments, ignoring: Macro arguments. (line 6)
+* arrows: Arrows and morphisms.
+ (line 6)
+* atom: Properties. (line 6)
+* axuiliary files, existence of: Auxiliary files. (line 6)
+* backslash character: Category codes. (line 15)
+* balancing of columns with \singlecolumn: Multiple columns. (line 11)
+* Berry, Karl: Introduction. (line 28)
+* beveled hyperlink border: Link options for pdftex and dvipdfm.
+ (line 26)
+* bibliographies: Citations. (line 6)
+* bibliography fonts: Formatting bibliographies.
+ (line 30)
+* bibliography items, extra space between: Formatting bibliographies.
+ (line 55)
+* bibliography, formatting the: Formatting bibliographies.
+ (line 6)
+* bibliography, hyperlinks: Citation hyperlinks. (line 11)
+* BibTeX <1>: Logos. (line 10)
+* BibTeX: Citations. (line 9)
+* black boxes: Boxes. (line 6)
+* Borceux, Francis: Construction of commutative diagrams.
+ (line 80)
+* border color, hyperlink: Link options for pdftex and dvipdfm.
+ (line 14)
+* border style, hyperlink: Link options for pdftex and dvipdfm.
+ (line 20)
+* border width, hyperlink: Link options for pdftex and dvipdfm.
+ (line 50)
+* Bott, Raoul: Construction of commutative diagrams.
+ (line 13)
+* boxes, open: Boxes. (line 12)
+* Brockett, Roger W.: Construction of commutative diagrams.
+ (line 38)
+* Butterfly Lemma: Construction of commutative diagrams.
+ (line 122)
+* Carlisle, David: Loading LaTeX packages.
+ (line 14)
+* category codes: Category codes. (line 6)
+* centering: Justification. (line 6)
+* characters, converting to: Converting to characters.
+ (line 6)
+* citations: Citations. (line 6)
+* citations, formatting: Formatting citations.
+ (line 6)
+* citations, hyperlinks: Citation hyperlinks. (line 6)
+* citations, undefined: Citations. (line 43)
+* color: Packages known to work.
+ (line 25)
+* color, hyperlink border: Link options for pdftex and dvipdfm.
+ (line 14)
+* color, hyperlinks: Options supported by all drivers.
+ (line 37)
+* column balancing with \singlecolumn: Multiple columns. (line 11)
+* column eject: Multiple columns. (line 14)
+* commas after index terms: Customizing indexing.
+ (line 6)
+* commas in cross-referencing index entries: Customizing indexing.
+ (line 64)
+* commutative diagrams: Commutative diagrams.
+ (line 6)
+* contents: Contents. (line 6)
+* contents, hyperlinks: Contents hyperlinks. (line 6)
+* continued index entries: Typesetting an index.
+ (line 35)
+* covering homotopy property: Construction of commutative diagrams.
+ (line 13)
+* cross-references: Cross-references. (line 6)
+* cross-references, defining general <1>: Using generic references.
+ (line 6)
+* cross-references, defining general: Defining generic references.
+ (line 6)
+* cross-references, hyperlinks: Cross-reference hyperlinks.
+ (line 6)
+* cross-referencing index entries <1>: Customizing indexing.
+ (line 64)
+* cross-referencing index entries: Modifying index entries.
+ (line 36)
+* cube: Construction of commutative diagrams.
+ (line 90)
+* customizing indexing: Customizing indexing.
+ (line 6)
+* dashed hyperlink border: Link options for pdftex and dvipdfm.
+ (line 20)
+* date: Time of day. (line 6)
+* default hyperlink options <1>: Setting group types. (line 17)
+* default hyperlink options: Setting hyperlink types and options.
+ (line 6)
+* default hyperlink type <1>: Setting group types. (line 17)
+* default hyperlink type: Setting hyperlink types and options.
+ (line 6)
+* defining general references <1>: Using generic references.
+ (line 6)
+* defining general references: Defining generic references.
+ (line 6)
+* definitions, global: Category codes. (line 38)
+* destgroup: Implicit hyperlinks. (line 10)
+* destgroup `bib': Citation hyperlinks. (line 11)
+* destgroup `definexref': Cross-reference hyperlinks.
+ (line 6)
+* destgroup `eq': Equation reference hyperlinks.
+ (line 6)
+* destgroup `foot': Footnote hyperlinks. (line 6)
+* destgroup `footback': Footnote hyperlinks. (line 6)
+* destgroup `idx': Index hyperlinks. (line 6)
+* destgroup `li': List hyperlinks. (line 6)
+* destgroup `xrdef': Page reference hyperlinks.
+ (line 6)
+* destgroup, options <1>: Setting group options.
+ (line 6)
+* destgroup, options: Setting hyperlink types and options.
+ (line 12)
+* destgroup, type <1>: Setting group types. (line 6)
+* destgroup, type: Setting hyperlink types and options.
+ (line 12)
+* destination group: Implicit hyperlinks. (line 10)
+* destination options: Introduction to hyperlinks.
+ (line 102)
+* destination options, common: Options supported by all drivers.
+ (line 12)
+* destination options, dvipdfm: Destination options for pdftex and dvipdfm.
+ (line 6)
+* destination options, pdftex: Destination options for pdftex and dvipdfm.
+ (line 6)
+* destination type: Introduction to hyperlinks.
+ (line 85)
+* destination types, dvipdfm: Destination types for pdftex and dvipdfm.
+ (line 6)
+* destination types, pdftex: Destination types for pdftex and dvipdfm.
+ (line 6)
+* destinations, default options <1>: Setting group types. (line 17)
+* destinations, default options: Setting hyperlink types and options.
+ (line 6)
+* destinations, default type <1>: Setting group types. (line 17)
+* destinations, default type: Setting hyperlink types and options.
+ (line 6)
+* destinations, dimensions: Destination options for pdftex and dvipdfm.
+ (line 34)
+* destinations, disabling <1>: Turning hyperlinks on/off.
+ (line 6)
+* destinations, disabling: Hyperlink driver nolinks.
+ (line 6)
+* destinations, group options <1>: Setting group options.
+ (line 6)
+* destinations, group options: Setting hyperlink types and options.
+ (line 12)
+* destinations, group type <1>: Setting group types. (line 6)
+* destinations, group type: Setting hyperlink types and options.
+ (line 12)
+* destinations, in another file: Link types for pdftex and dvipdfm.
+ (line 33)
+* destinations, large operators <1>: Setting group options.
+ (line 34)
+* destinations, large operators: Options supported by all drivers.
+ (line 27)
+* destinations, magnification: Destination options for pdftex and dvipdfm.
+ (line 21)
+* destinations, named: Link types for pdftex and dvipdfm.
+ (line 18)
+* destinations, numbered: Link types for pdftex and dvipdfm.
+ (line 88)
+* destinations, page: Link types for pdftex and dvipdfm.
+ (line 25)
+* destinations, raising: Options supported by all drivers.
+ (line 13)
+* destinations, URL: Link types for pdftex and dvipdfm.
+ (line 56)
+* diagnostics: Diagnostics. (line 6)
+* Diagram, macros for LaTeX: Construction of commutative diagrams.
+ (line 80)
+* dimensions, hyperlink: Link options for pdftex and dvipdfm.
+ (line 124)
+* dimensions, hyperlink destination: Destination options for pdftex and dvipdfm.
+ (line 34)
+* disabling hyperlinks <1>: Turning hyperlinks on/off.
+ (line 6)
+* disabling hyperlinks: Hyperlink driver nolinks.
+ (line 6)
+* displayed math and hyperlinks <1>: Setting group options.
+ (line 34)
+* displayed math and hyperlinks: Options supported by all drivers.
+ (line 27)
+* displays, left-justifying: Displays. (line 6)
+* double column output: Multiple columns. (line 6)
+* double columns in indexes: Typesetting an index.
+ (line 24)
+* driver dvipdfm: Hyperlink drivers pdftex and dvipdfm.
+ (line 6)
+* driver nolinks: Hyperlink driver nolinks.
+ (line 6)
+* driver pdftex: Hyperlink drivers pdftex and dvipdfm.
+ (line 6)
+* drivers, hyperlink: Introduction to hyperlinks.
+ (line 6)
+* dvipdfm, destination options: Destination options for pdftex and dvipdfm.
+ (line 6)
+* dvipdfm, destination types: Destination types for pdftex and dvipdfm.
+ (line 6)
+* dvipdfm, hyperlink driver: Hyperlink drivers pdftex and dvipdfm.
+ (line 6)
+* dvipdfm, link options: Link options for pdftex and dvipdfm.
+ (line 6)
+* dvipdfm, link types: Link types for pdftex and dvipdfm.
+ (line 6)
+* eject in multicolumns: Multiple columns. (line 14)
+* electronic mail addresses, breaking <1>: Packages known to work.
+ (line 43)
+* electronic mail addresses, breaking: Paths. (line 6)
+* empty equation labels: Equation references. (line 22)
+* empty equation labels, referring to: Equation references. (line 27)
+* emtex, installation under: Installation. (line 48)
+* Encapsulated PostScript: Packages known to work.
+ (line 32)
+* environments, user-defined: User-defined environments.
+ (line 6)
+* Eplain, installing: Installation. (line 6)
+* Eplain, invoking: Invoking Eplain. (line 6)
+* Eplain, purpose of: Introduction. (line 6)
+* EPS: Packages known to work.
+ (line 32)
+* equation labels, characters valid in: Equation references. (line 56)
+* equation numbers, formatting of: Formatting equation references.
+ (line 6)
+* equations, giving numbers to all: Equation references. (line 22)
+* equations, groups of: Subequation references.
+ (line 6)
+* equations, hyperlinks: Equation reference hyperlinks.
+ (line 6)
+* equations, numbering: Equation references. (line 6)
+* equations, references to: Equation references. (line 6)
+* error messages: Diagnostics. (line 25)
+* escape character, changing verbatim: Verbatim listing. (line 36)
+* exact index hyperlinks: Exact destinations for index terms.
+ (line 28)
+* expansion, one-level: \expandonce. (line 6)
+* explicit hyperlinks: Explicit hyperlinks. (line 6)
+* file, hyperlink to: Link types for pdftex and dvipdfm.
+ (line 33)
+* filenames, breaking <1>: Packages known to work.
+ (line 43)
+* filenames, breaking: Paths. (line 6)
+* files, verbatim listing of: Verbatim listing. (line 6)
+* filtering index entries with hyperlinks: Exact destinations for index terms.
+ (line 33)
+* footnotes, hyperlinks: Footnote hyperlinks. (line 6)
+* footnotes, numbered: Footnotes. (line 6)
+* for loops: Iteration. (line 6)
+* format file: Installation. (line 12)
+* formatting index entries: Typesetting an index.
+ (line 35)
+* fractions: Fractions. (line 6)
+* gobbling arguments: Macro arguments. (line 6)
+* golden mean: Construction of commutative diagrams.
+ (line 59)
+* Graham, Ronald L.: Citations. (line 86)
+* graphics collection, LaTeX <1>: Hyperlink driver nolinks.
+ (line 34)
+* graphics collection, LaTeX <2>: Packages known to work.
+ (line 25)
+* graphics collection, LaTeX: Loading LaTeX packages.
+ (line 14)
+* grid: Construction of commutative diagrams.
+ (line 80)
+* group `' (empty): Setting group types. (line 17)
+* group `*': Setting group types. (line 26)
+* group `bib': Citation hyperlinks. (line 11)
+* group `cite': Citation hyperlinks. (line 6)
+* group `definexref': Cross-reference hyperlinks.
+ (line 6)
+* group `eq' <1>: Setting group options.
+ (line 35)
+* group `eq': Equation reference hyperlinks.
+ (line 6)
+* group `foot': Footnote hyperlinks. (line 6)
+* group `footback': Footnote hyperlinks. (line 6)
+* group `idx': Index hyperlinks. (line 6)
+* group `li': List hyperlinks. (line 6)
+* group `ref': Cross-reference hyperlinks.
+ (line 11)
+* group `url': URL hyperlinks. (line 6)
+* group `xrdef': Page reference hyperlinks.
+ (line 6)
+* group `xref': Page reference hyperlinks.
+ (line 10)
+* group option list: Setting group options.
+ (line 49)
+* group, destination: Implicit hyperlinks. (line 10)
+* group, disabling hyperlinks: Turning hyperlinks on/off for a group.
+ (line 6)
+* group, link: Implicit hyperlinks. (line 10)
+* group, options hyperlink <1>: Setting group options.
+ (line 6)
+* group, options hyperlink: Setting hyperlink types and options.
+ (line 12)
+* group, preserving option list: Setting group options.
+ (line 22)
+* group, type hyperlink <1>: Setting group types. (line 6)
+* group, type hyperlink: Setting hyperlink types and options.
+ (line 12)
+* groups, specifying all: Setting group types. (line 26)
+* help messages: Diagnostics. (line 25)
+* highlight modes, hyperlink: Link options for pdftex and dvipdfm.
+ (line 69)
+* hooks: Hooks. (line 6)
+* hyperlink border color: Link options for pdftex and dvipdfm.
+ (line 14)
+* hyperlink destination, dimensions: Destination options for pdftex and dvipdfm.
+ (line 34)
+* hyperlink destination, magnification: Destination options for pdftex and dvipdfm.
+ (line 21)
+* hyperlink destination, named: Link types for pdftex and dvipdfm.
+ (line 18)
+* hyperlink destination, numbered: Link types for pdftex and dvipdfm.
+ (line 88)
+* hyperlink destination, page: Link types for pdftex and dvipdfm.
+ (line 25)
+* hyperlink destination, raising: Options supported by all drivers.
+ (line 13)
+* hyperlink dimensions: Link options for pdftex and dvipdfm.
+ (line 124)
+* hyperlink driver dvipdfm: Hyperlink drivers pdftex and dvipdfm.
+ (line 6)
+* hyperlink driver nolinks: Hyperlink driver nolinks.
+ (line 6)
+* hyperlink driver pdftex: Hyperlink drivers pdftex and dvipdfm.
+ (line 6)
+* hyperlink drivers: Introduction to hyperlinks.
+ (line 6)
+* hyperlink group, disabling hyperlinks: Turning hyperlinks on/off for a group.
+ (line 6)
+* hyperlink group, preserving option list: Setting group options.
+ (line 22)
+* hyperlink options, common: Options supported by all drivers.
+ (line 6)
+* hyperlinks, bibliography: Citation hyperlinks. (line 11)
+* hyperlinks, border style: Link options for pdftex and dvipdfm.
+ (line 20)
+* hyperlinks, border width: Link options for pdftex and dvipdfm.
+ (line 50)
+* hyperlinks, citations: Citation hyperlinks. (line 6)
+* hyperlinks, cross-references: Cross-reference hyperlinks.
+ (line 6)
+* hyperlinks, default options <1>: Setting group types. (line 17)
+* hyperlinks, default options: Setting hyperlink types and options.
+ (line 6)
+* hyperlinks, default type <1>: Setting group types. (line 17)
+* hyperlinks, default type: Setting hyperlink types and options.
+ (line 6)
+* hyperlinks, disabling <1>: Turning hyperlinks on/off.
+ (line 6)
+* hyperlinks, disabling: Hyperlink driver nolinks.
+ (line 6)
+* hyperlinks, equations: Equation reference hyperlinks.
+ (line 6)
+* hyperlinks, explicit: Explicit hyperlinks. (line 6)
+* hyperlinks, filtering index entries: Exact destinations for index terms.
+ (line 33)
+* hyperlinks, footnotes: Footnote hyperlinks. (line 6)
+* hyperlinks, group option list: Setting group options.
+ (line 49)
+* hyperlinks, group options <1>: Setting group options.
+ (line 6)
+* hyperlinks, group options: Setting hyperlink types and options.
+ (line 12)
+* hyperlinks, group type <1>: Setting group types. (line 6)
+* hyperlinks, group type: Setting hyperlink types and options.
+ (line 12)
+* hyperlinks, highlight mode: Link options for pdftex and dvipdfm.
+ (line 69)
+* hyperlinks, implicit: Implicit hyperlinks. (line 6)
+* hyperlinks, index: Index hyperlinks. (line 6)
+* hyperlinks, index destination placement: Choosing destination placement.
+ (line 6)
+* hyperlinks, index, exact: Exact destinations for index terms.
+ (line 28)
+* hyperlinks, large operators <1>: Setting group options.
+ (line 34)
+* hyperlinks, large operators: Options supported by all drivers.
+ (line 27)
+* hyperlinks, lists: List hyperlinks. (line 6)
+* hyperlinks, opening in a new window: Link options for pdftex and dvipdfm.
+ (line 90)
+* hyperlinks, page references: Page reference hyperlinks.
+ (line 6)
+* hyperlinks, preserving page-breaking: Hyperlink driver nolinks.
+ (line 6)
+* hyperlinks, preserving spacing: Hyperlink driver nolinks.
+ (line 6)
+* hyperlinks, see and see also index entries: Hyperlinks in see and see also entries.
+ (line 6)
+* hyperlinks, table of contents: Contents hyperlinks. (line 6)
+* hyperlinks, to another file: Link types for pdftex and dvipdfm.
+ (line 33)
+* hyperlinks, URL <1>: Link types for pdftex and dvipdfm.
+ (line 56)
+* hyperlinks, URL: URL hyperlinks. (line 6)
+* hypertext links: Hyperlinks. (line 6)
+* ignoring arguments: Macro arguments. (line 6)
+* implicit hyperlinks: Implicit hyperlinks. (line 6)
+* inaccessible macros: Category codes. (line 19)
+* index entries and ranges: Modifying index entries.
+ (line 22)
+* index entries' page numbers, modifying: Modifying index entries.
+ (line 6)
+* index entries, and cross-referencing <1>: Customizing indexing.
+ (line 64)
+* index entries, and cross-referencing: Modifying index entries.
+ (line 36)
+* index entry continuations: Typesetting an index.
+ (line 35)
+* index entry formatting: Typesetting an index.
+ (line 35)
+* index entry general sorting: Indexing commands. (line 51)
+* index fonts: Typesetting an index.
+ (line 24)
+* index groupings: Typesetting an index.
+ (line 54)
+* index hyperlink: Index hyperlinks. (line 6)
+* index terms, proofing: Proofing index terms.
+ (line 6)
+* index typesetting: Typesetting an index.
+ (line 6)
+* index, choosing destination placement: Choosing destination placement.
+ (line 6)
+* index, destination placement: Choosing destination placement.
+ (line 6)
+* index, exact hyperlinks: Exact destinations for index terms.
+ (line 28)
+* index, hyperlinks in see and see also entries: Hyperlinks in see and see also entries.
+ (line 6)
+* index, parsing page numbers: Page destinations for index terms.
+ (line 32)
+* index, placement of destinations: Choosing destination placement.
+ (line 6)
+* index, selecting destination placement: Choosing destination placement.
+ (line 6)
+* index, underlining page numbers: Page list and page range parsers.
+ (line 26)
+* indexes, multiple: Indexing. (line 37)
+* indexing: Indexing. (line 6)
+* indexing and trailing spaces: Indexing terms. (line 20)
+* indexing commands: Indexing commands. (line 6)
+* indexing terms: Indexing terms. (line 6)
+* insertion classes: Multiple columns. (line 36)
+* inset hyperlink border: Link options for pdftex and dvipdfm.
+ (line 26)
+* installation: Installation. (line 6)
+* item labels, changing: Formatting lists. (line 54)
+* iteration: Iteration. (line 6)
+* justification: Justification. (line 6)
+* Knuth, Donald Ervin <1>: Category codes. (line 7)
+* Knuth, Donald Ervin: Citations. (line 86)
+* labels on items, changing: Formatting lists. (line 54)
+* labels, characters valid in: Cross-references. (line 20)
+* labels, empty equation: Equation references. (line 22)
+* labels, empty equation, referring to: Equation references. (line 27)
+* Lamport, Leslie: Introduction. (line 13)
+* LAMSTeX: Logos. (line 10)
+* Lang, Serge <1>: Construction of commutative diagrams.
+ (line 122)
+* Lang, Serge: Arrows and morphisms.
+ (line 126)
+* large operators and hyperlinks <1>: Setting group options.
+ (line 34)
+* large operators and hyperlinks: Options supported by all drivers.
+ (line 27)
+* LaTeX <1>: Slanted lines and vectors.
+ (line 7)
+* LaTeX <2>: Logos. (line 10)
+* LaTeX <3>: Citations. (line 10)
+* LaTeX: Introduction. (line 13)
+* LaTeX graphics collection <1>: Hyperlink driver nolinks.
+ (line 34)
+* LaTeX graphics collection <2>: Packages known to work.
+ (line 25)
+* LaTeX graphics collection: Loading LaTeX packages.
+ (line 14)
+* LaTeX packages <1>: Packages known not to work.
+ (line 6)
+* LaTeX packages <2>: Packages known to work.
+ (line 6)
+* LaTeX packages: Loading LaTeX packages.
+ (line 6)
+* left-justification: Justification. (line 6)
+* left-justification of displays: Displays. (line 6)
+* linear systems theory: Construction of commutative diagrams.
+ (line 38)
+* lines: Slanted lines and vectors.
+ (line 15)
+* link group: Implicit hyperlinks. (line 10)
+* link options: Introduction to hyperlinks.
+ (line 102)
+* link options, common: Options supported by all drivers.
+ (line 35)
+* link options, dvipdfm: Link options for pdftex and dvipdfm.
+ (line 6)
+* link options, pdftex: Link options for pdftex and dvipdfm.
+ (line 6)
+* link type: Introduction to hyperlinks.
+ (line 85)
+* link types, dvipdfm: Link types for pdftex and dvipdfm.
+ (line 6)
+* link types, pdftex: Link types for pdftex and dvipdfm.
+ (line 6)
+* link, group options <1>: Setting group options.
+ (line 6)
+* link, group options: Setting hyperlink types and options.
+ (line 12)
+* link, group type <1>: Setting group types. (line 6)
+* link, group type: Setting hyperlink types and options.
+ (line 12)
+* linkgroup: Implicit hyperlinks. (line 10)
+* linkgroup `cite': Citation hyperlinks. (line 6)
+* linkgroup `eq' <1>: Setting group options.
+ (line 35)
+* linkgroup `eq': Equation reference hyperlinks.
+ (line 20)
+* linkgroup `foot': Footnote hyperlinks. (line 6)
+* linkgroup `footback': Footnote hyperlinks. (line 6)
+* linkgroup `idx': Index hyperlinks. (line 6)
+* linkgroup `ref': Cross-reference hyperlinks.
+ (line 11)
+* linkgroup `url': URL hyperlinks. (line 6)
+* linkgroup `xref': Page reference hyperlinks.
+ (line 10)
+* linkgroup, options <1>: Setting group options.
+ (line 6)
+* linkgroup, options: Setting hyperlink types and options.
+ (line 12)
+* linkgroup, type <1>: Setting group types. (line 6)
+* linkgroup, type: Setting hyperlink types and options.
+ (line 12)
+* links, hypertext: Hyperlinks. (line 6)
+* list of figures: Contents. (line 69)
+* list of tables: Contents. (line 69)
+* listing files: Verbatim listing. (line 6)
+* lists: Lists. (line 6)
+* lists, formatting: Formatting lists. (line 6)
+* lists, hyperlinks: List hyperlinks. (line 6)
+* logos: Logos. (line 6)
+* lookahead without spaces: \futurenonspacelet. (line 6)
+* magnification, hyperlink destination: Destination options for pdftex and dvipdfm.
+ (line 21)
+* margins, changing: Margins. (line 6)
+* margins, index terms in: Proofing index terms.
+ (line 6)
+* mathematics displays, formatting: Displays. (line 6)
+* mathematics displays, hyperlinks <1>: Setting group options.
+ (line 34)
+* mathematics displays, hyperlinks: Options supported by all drivers.
+ (line 27)
+* Metafont: Logos. (line 10)
+* minimal realizations: Construction of commutative diagrams.
+ (line 38)
+* modifying index entries' page numbers: Modifying index entries.
+ (line 6)
+* morphisms: Arrows and morphisms.
+ (line 6)
+* multiple column output: Multiple columns. (line 6)
+* multiple indexes: Indexing. (line 37)
+* named destination: Link types for pdftex and dvipdfm.
+ (line 18)
+* names, of TeX variants: Logos. (line 6)
+* new window, opening hyperlink in: Link options for pdftex and dvipdfm.
+ (line 90)
+* newlinechar: Diagnostics. (line 27)
+* newlines, obeying: Obeying spaces. (line 6)
+* nolinks, hyperlink driver: Hyperlink driver nolinks.
+ (line 6)
+* numbered destination: Link types for pdftex and dvipdfm.
+ (line 88)
+* numbered lists: Lists. (line 6)
+* numbered references: Citations. (line 86)
+* numbers, written form of: Writing out numbers. (line 6)
+* Oberdiek, Heiko: Checking for PDF output.
+ (line 24)
+* omitting hyperlinks <1>: Turning hyperlinks on/off.
+ (line 6)
+* omitting hyperlinks: Hyperlink driver nolinks.
+ (line 6)
+* open boxes: Boxes. (line 12)
+* option list, group: Setting group options.
+ (line 49)
+* option list, preserving for group: Setting group options.
+ (line 22)
+* options, destination, common: Options supported by all drivers.
+ (line 12)
+* options, destination, dvipdfm: Destination options for pdftex and dvipdfm.
+ (line 6)
+* options, destination, pdftex: Destination options for pdftex and dvipdfm.
+ (line 6)
+* options, link and destination: Introduction to hyperlinks.
+ (line 102)
+* options, link, common: Options supported by all drivers.
+ (line 35)
+* options, link, dvipdfm: Link options for pdftex and dvipdfm.
+ (line 6)
+* options, link, pdftex: Link options for pdftex and dvipdfm.
+ (line 6)
+* ordered list: Lists. (line 6)
+* output routine and index proofing: Proofing index terms.
+ (line 28)
+* packages, LaTeX <1>: Packages known not to work.
+ (line 6)
+* packages, LaTeX <2>: Packages known to work.
+ (line 6)
+* packages, LaTeX: Loading LaTeX packages.
+ (line 6)
+* page destination: Link types for pdftex and dvipdfm.
+ (line 25)
+* page list, parsing: Page destinations for index terms.
+ (line 32)
+* page range, parsing: Page destinations for index terms.
+ (line 32)
+* page reference hyperlink: Page reference hyperlinks.
+ (line 6)
+* page-breaking, preserving with hyperlinks: Hyperlink driver nolinks.
+ (line 6)
+* parsing page numbers: Page destinations for index terms.
+ (line 32)
+* Patashnik, Oren: Citations. (line 9)
+* pathnames, breaking <1>: Packages known to work.
+ (line 43)
+* pathnames, breaking: Paths. (line 6)
+* PDF output: Checking for PDF output.
+ (line 6)
+* pdftex, destination options: Destination options for pdftex and dvipdfm.
+ (line 6)
+* pdftex, destination types: Destination types for pdftex and dvipdfm.
+ (line 6)
+* pdftex, hyperlink driver: Hyperlink drivers pdftex and dvipdfm.
+ (line 6)
+* pdftex, link options: Link options for pdftex and dvipdfm.
+ (line 6)
+* pdftex, link types: Link types for pdftex and dvipdfm.
+ (line 6)
+* picture mode <1>: Slanted lines and vectors.
+ (line 7)
+* picture mode: Packages known to work.
+ (line 14)
+* PostScript point <1>: Link options for pdftex and dvipdfm.
+ (line 50)
+* PostScript point <2>: Destination options for pdftex and dvipdfm.
+ (line 49)
+* PostScript point: Destination types for pdftex and dvipdfm.
+ (line 66)
+* proofing index terms: Proofing index terms.
+ (line 6)
+* properties: Properties. (line 6)
+* quadruple column output: Multiple columns. (line 6)
+* Rahtz, Sebastian: Loading LaTeX packages.
+ (line 14)
+* raising hyperlink destinations <1>: Setting group options.
+ (line 34)
+* raising hyperlink destinations: Options supported by all drivers.
+ (line 13)
+* ranges and index entry: Modifying index entries.
+ (line 22)
+* rectangles: Boxes. (line 6)
+* references, alphanumeric: Citations. (line 116)
+* references, defining general <1>: Using generic references.
+ (line 6)
+* references, defining general: Defining generic references.
+ (line 6)
+* references, numbered: Citations. (line 86)
+* register allocation: Allocation macros. (line 6)
+* return character: Category codes. (line 41)
+* right-justification: Justification. (line 6)
+* rms: Introduction. (line 14)
+* rotation: Packages known to work.
+ (line 25)
+* rule thickness: Rules. (line 7)
+* scaling: Packages known to work.
+ (line 25)
+* see also index entries and hyperlinks: Hyperlinks in see and see also entries.
+ (line 6)
+* see also index entries and sorting: Customizing indexing.
+ (line 51)
+* see, and index entries <1>: Customizing indexing.
+ (line 64)
+* see, and index entries: Modifying index entries.
+ (line 36)
+* see, and index entries, hyperlinks: Hyperlinks in see and see also entries.
+ (line 6)
+* silent indexing: Indexing terms. (line 6)
+* skipping tokens: \ifundefined. (line 10)
+* SLiTeX: Logos. (line 11)
+* Snake Lemma: Arrows and morphisms.
+ (line 130)
+* solid hyperlink border: Link options for pdftex and dvipdfm.
+ (line 26)
+* sorting an index: Indexing. (line 6)
+* sorting of index entries: Indexing commands. (line 51)
+* space above index entries: Typesetting an index.
+ (line 35)
+* spaces, ignoring: \futurenonspacelet. (line 6)
+* spaces, obeying: Obeying spaces. (line 6)
+* spaces, trailing and indexing commands: Indexing terms. (line 20)
+* spacing, preserving with hyperlinks: Hyperlink driver nolinks.
+ (line 6)
+* Stallman, Richard: Introduction. (line 14)
+* style, hyperlink border: Link options for pdftex and dvipdfm.
+ (line 26)
+* subequations, referring to: Subequation references.
+ (line 6)
+* subterm in indexing: Indexing terms. (line 13)
+* table of contents: Contents. (line 6)
+* table of contents, hyperlinks: Contents hyperlinks. (line 6)
+* table of contents, short <1>: Macro arguments. (line 10)
+* table of contents, short: Contents. (line 54)
+* tables: Tables. (line 6)
+* tabs: Obeying spaces. (line 22)
+* Texinfo: Introduction. (line 13)
+* time of day: Time of day. (line 6)
+* tracing: Diagnostics. (line 6)
+* trailing spaces and indexing commands: Indexing terms. (line 20)
+* triple column output: Multiple columns. (line 6)
+* Tu, Loring W.: Construction of commutative diagrams.
+ (line 13)
+* type, link and destination: Introduction to hyperlinks.
+ (line 85)
+* types, destination, dvipdfm: Destination types for pdftex and dvipdfm.
+ (line 6)
+* types, destination, pdftex: Destination types for pdftex and dvipdfm.
+ (line 6)
+* types, link, dvipdfm: Link types for pdftex and dvipdfm.
+ (line 6)
+* types, link, pdftex: Link types for pdftex and dvipdfm.
+ (line 6)
+* typesetting an index: Typesetting an index.
+ (line 6)
+* undefined control sequence, checking for: \ifundefined. (line 10)
+* undefined labels, warnings about: Installation. (line 25)
+* underline hyperlink border: Link options for pdftex and dvipdfm.
+ (line 26)
+* underlining page numbers in index: Page list and page range parsers.
+ (line 26)
+* universal mapping property: Construction of commutative diagrams.
+ (line 25)
+* unordered lists: Lists. (line 6)
+* URL for ifpdf.sty: Checking for PDF output.
+ (line 24)
+* URL for MakeIndex: Indexing. (line 14)
+* URL for path.sty: Paths. (line 31)
+* URL for pdfTeX: Checking for PDF output.
+ (line 6)
+* URL for texnames.sty: Logos. (line 14)
+* URL hyperlink <1>: Link types for pdftex and dvipdfm.
+ (line 56)
+* URL hyperlink: URL hyperlinks. (line 6)
+* user-inaccessible macros: Category codes. (line 19)
+* vectors: Slanted lines and vectors.
+ (line 15)
+* verbatim listing: Verbatim listing. (line 6)
+* version number: Introduction. (line 47)
+* Warner, Frank W.: Construction of commutative diagrams.
+ (line 25)
+* whatsits made by index entries: Indexing commands. (line 63)
+* whatsits, made by hyperlinks: Hyperlink driver nolinks.
+ (line 25)
+* whitespace: Obeying spaces. (line 6)
+* width, hyperlink border: Link options for pdftex and dvipdfm.
+ (line 50)
+* Zassenhaus, Hans: Construction of commutative diagrams.
+ (line 122)
+* zooming, hyperlink destination: Destination options for pdftex and dvipdfm.
+ (line 21)
+
+
+
+Tag Table:
+Node: Top745
+Node: Introduction6915
+Node: Installation9557
+Node: Invoking Eplain11603
+Node: User definitions16060
+Node: Diagnostics17887
+Node: Rules19456
+Node: Citations20289
+Node: Formatting citations26131
+Node: Formatting bibliographies27677
+Node: Displays30506
+Node: Formatting displays31553
+Node: Time of day32225
+Node: Lists32986
+Node: Formatting lists35143
+Node: Verbatim listing37439
+Node: Contents39568
+Node: Cross-references43314
+Node: Defining generic references44798
+Node: Using generic references45676
+Node: Page references46967
+Node: Equation references47790
+Node: Formatting equation references50542
+Node: Subequation references52837
+Node: Indexing54758
+Node: Indexing terms56759
+Node: Indexing commands57830
+Node: Modifying index entries60859
+Node: Proofing index terms63559
+Node: Typesetting an index65358
+Node: Customizing indexing67825
+Node: Justification71524
+Node: Tables73205
+Node: Margins75757
+Node: Multiple columns77918
+Node: Footnotes79903
+Node: Fractions82491
+Node: Paths83278
+Node: Logos84883
+Node: Boxes85570
+Node: Checking for PDF output87368
+Node: Loading LaTeX packages88459
+Node: The \usepackage command89808
+Node: Environment for loading packages90898
+Node: Packages known to work91877
+Node: Packages known not to work94336
+Node: Hyperlinks94837
+Node: Introduction to hyperlinks95420
+Node: Explicit hyperlinks100808
+Node: Implicit hyperlinks102761
+Node: URL hyperlinks104418
+Node: Citation hyperlinks105171
+Node: List hyperlinks105903
+Node: Cross-reference hyperlinks106297
+Node: Page reference hyperlinks107677
+Node: Equation reference hyperlinks108341
+Node: Index hyperlinks109739
+Node: Exact destinations for index terms111503
+Node: Page destinations for index terms113679
+Node: Choosing destination placement116307
+Node: Index page list and page range parsers117099
+Node: Hyperlinks in see and see also entries117652
+Node: Footnote hyperlinks118451
+Node: Contents hyperlinks119256
+Node: Hyperlink drivers119637
+Node: Options supported by all drivers120242
+Node: Hyperlink drivers pdftex and dvipdfm123056
+Node: Destination types for pdftex and dvipdfm123709
+Node: Destination options for pdftex and dvipdfm127173
+Node: Link types for pdftex and dvipdfm129583
+Node: Link options for pdftex and dvipdfm133004
+Node: Hyperlink driver nolinks136660
+Node: Setting hyperlink types and options138809
+Node: Setting default types and options139811
+Node: Setting group types140567
+Node: Setting group options141760
+Node: Turning hyperlinks on/off144250
+Node: Turning low-level commands on/off144888
+Node: Turning hyperlinks on/off for a group145401
+Node: Arrow theoretic diagrams146558
+Node: Slanted lines and vectors146925
+Node: Commutative diagrams149007
+Node: Arrows and morphisms149606
+Node: Construction of commutative diagrams154084
+Node: Commutative diagram parameters161276
+Node: Programming definitions163095
+Node: Category codes164085
+Node: Allocation macros166696
+Node: Iteration168844
+Node: Macro arguments169450
+Node: Converting to characters171951
+Node: Expansion173342
+Node: \csn and \ece173862
+Node: \edefappend174428
+Node: Hooks174977
+Node: Properties177163
+Node: \expandonce178248
+Node: \ifundefined178697
+Node: \futurenonspacelet179271
+Node: Obeying spaces179857
+Node: Writing out numbers180888
+Node: Mode-specific penalties181211
+Node: Auxiliary files181943
+Node: User-defined environments182866
+Node: Page list and page range parsers184082
+Node: Macro index186219
+Node: Concept index244956
+
+End Tag Table
diff --git a/Master/texmf/doc/info/fontname.info b/Master/texmf/doc/info/fontname.info
new file mode 100644
index 00000000000..2fc234d0122
--- /dev/null
+++ b/Master/texmf/doc/info/fontname.info
@@ -0,0 +1,15489 @@
+This is fontname.info, produced by makeinfo version 4.8 from
+fontname.texi.
+
+ This document is in the public domain and may be used freely.
+
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* Naming TeX fonts: (fontname). Filenames for TeX fonts.
+END-INFO-DIR-ENTRY
+
+
+File: fontname.info, Node: Top, Next: Introduction, Up: (dir)
+
+Filenames for TeX fonts
+***********************
+
+This is Fontname, a naming scheme for (the base part of) external TeX
+font filenames. Last update 10 September 2005.
+
+* Menu:
+
+* Introduction:: Rationale and basic information about fonts.
+* Filenames for fonts:: The construction of font names.
+* Long names:: A specification for long filenames.
+* Font name lists:: Real fontnames for many existing fonts.
+* Encodings:: Specifications for various encodings.
+* Font legalities:: Legal issues vary from country to country.
+* General index:: Index.
+
+ --- The Detailed Node Listing ---
+
+Introduction
+
+* History::
+* References::
+
+Filenames for fonts
+
+* Suppliers::
+* Typefaces::
+* Weights::
+* Variants::
+* Widths::
+
+Long names
+
+* Name mapping file:: Aliases for fonts.
+* Long naming scheme:: A way to use more than 8 alphanumerics.
+
+Font name lists
+
+* Standard PostScript fonts:: The standard 35 PostScript fonts.
+* Adobe fonts::
+* Apple fonts::
+* Bitstream fonts::
+* DTC fonts::
+* ITC fonts::
+* Linotype fonts::
+* Monotype fonts::
+* URW fonts::
+
+Encodings
+
+* 8a:: Adobe standard.
+* 8r:: TeX base.
+* cork:: Cork (aka EC, TeX Latin 1, tex256).
+* dvips:: Dvips.
+* qx:: QX, from GUST.
+* t5:: Vietnamese, from vntex.
+* texmext:: TeX math extension.
+* texmsym:: TeX math symbol.
+* texmital:: TeX math italic.
+* texnansi:: From Y&Y.
+* texnansx:: From Y&Y.
+* xl2:: OT1 + ISO Latin 2 (extended).
+* xt2:: Typewriter version of xl2.
+
+
+File: fontname.info, Node: Introduction, Next: Filenames for fonts, Prev: Top, Up: Top
+
+1 Introduction
+**************
+
+This is Fontname, a naming scheme for (the base part of) external TeX
+font filenames. This makes at most eight-character names from (almost)
+arbitrarily complex font names, thus helping portability of TeX
+documents. We point out some shortcomings of the scheme, and ways of
+dealing with them.
+
+ Please send additions, corrections, or other comments to
+<tex-fonts@tug.org>. Email <tex-fonts-request@tug.org> to join the
+list.
+
+ Besides this document, the Fontname distribution includes various
+encoding files, mapping files, and utilities. See the file `README'
+for details. You can retrieve the most up-to-date version of these
+lists from `http://tug.org/fontname'. It is also mirrored on all CTAN
+hosts in the directory `tex-archive/doc/fontname'. For a list of CTAN
+mirrors, see `http://www.ctan.org/tex-archive/CTAN.sites'.
+
+ This document is in the public domain and may be used freely.
+
+* Menu:
+
+* History::
+* References::
+
+
+File: fontname.info, Node: History, Next: References, Up: Introduction
+
+1.1 History
+===========
+
+The original inspiration for Fontname was Frank Mittelbach and Rainer
+Schoepf's article in `TUGboat' 11(2) (June 1990), which led to my
+article in `TUGboat' 11(4) (November 1990), pages 512-519. Mittelbach
+wrote another article criticizing the scheme below in `TUGboat' 13(1)
+(April 1992), pages 51-53; most of his points are well-taken, but I saw
+no alternative then, and see no alternative now. Others of his points
+are addressed in the appropriate sections below.
+
+ In August 1995, Fontname version 2 was released, concomitantly with
+a new release of the PostScript fonts for use with LaTeX and Dvips.
+After several years of experience, several modifications of the original
+distribution seemed desirable: more precise specification of encodings
+(*note Variants::); machine-readable mapping files (the `*.map' files
+in the distribution) and standardizing directory names as well as font
+filenames (included in `supplier.map' and `typeface.map').
+
+ In Fontname version 1, some encoding variant characters (`0', `2',
+etc.) have been reassigned to a `7' or `8' sequence (*note Variants::).
+Although this is an incompatible change, the advantages of (1)
+consistency in naming encoding variants, and (2) having some free
+variants makes it worthwhile. Also, not so coincidentally, new metrics
+for PostScript fonts in the Cork encoding were issued--same encoding,
+different metrics. So a new name served a practical purpose as well.
+
+ Many people have contributed to this work. In particular, I
+gratefully acknowledge Nelson Beebe, Barbara Beeton, Rocky Bernstein,
+Thierry Bouche, Damian Cugley, Berthold K.P. Horn, Alan Jeffrey,
+Russell Lang, Pierre MacKay, Sebastian Rahtz, Jean Rivlin, and Tom
+Rokicki.
+
+
+File: fontname.info, Node: References, Prev: History, Up: Introduction
+
+1.2 References
+==============
+
+Related files and distributions:
+
+ * The TeX Directory Structure (TDS) standard, available at
+ (`ftp://tug.org/tex/tds' and `CTAN:/tds') specifies a directory
+ tree for all TeX library files. The directory names given in
+ *Note Suppliers:: and *Note Typefaces:: are intended to mesh with
+ that standard.
+
+ * The `modes.mf' file (`ftp://tug.org/tex/modes.mf') contains
+ recommended mode names to use as directory names.
+
+ * The PSfonts distribution (`CTAN:/fonts/psfonts') contains TeX
+ support for many fonts, both commercially available and free.
+
+ * The Fontinst distribution (`CTAN:/fonts/utilities/psfonts')
+ supports quite general creation of virtual fonts, named according
+ to the scheme given here.
+
+ * The Dvips translator (original at
+ `ftp://labrea.stanford.edu/pub/dvips*.tar.gz' and variation at
+ `ftp://tug.org/tex/dvipsk.tar.gz') supports resident and
+ downloadable PostScript fonts. Dvips was the first real
+ application of Fontname 1. Dvips also includes Afm2tfm, another
+ program that can create virtual fonts.
+
+ * The Dviljk processor (`ftp://tug.org/tex/dviljk.tar.gz') contains
+ TeX support for the fonts built into the LaserJet 4.
+
+ * `Designing New Typefaces with Metafont', by Richard Southall,
+ Stanford Computer Science Department Technical Report
+ STAN-CS-85-1074, September 1985, for a comprehensive terminology
+ of font design.
+
+
+
+File: fontname.info, Node: Filenames for fonts, Next: Long names, Prev: Introduction, Up: Top
+
+2 Filenames for fonts
+*********************
+
+We must limit ourselves to eight character names, for compatibility with
+DOS filesystems and the ISO 9660 standard used for CD-ROM distribution.
+Names may consist of only the letters (monocase a-z), numerals (0-9),
+and underscore.
+
+ Here is the basic division of the eight characters (the spaces here
+are merely for readability):
+
+ S TT W [V...] [N] [E] [DD]
+
+where
+
+S
+ represents the supplier of the font.
+
+TT
+ represents the typeface name.
+
+W
+ represents the weight.
+
+V...
+ represents the variant(s), and is omitted if both it and the width
+ are normal. Many fonts have more than one variant.
+
+N
+ represents the encoding, and is omitted if the encoding is
+ nonstandard. Encodings are subsumed in the section on variants
+ (*note Variants::).
+
+E
+ represents the width ("expansion"), and is omitted if it is normal.
+
+DD
+ represents the design size (in decimal), and is omitted if the
+ font is linearly scaled. Mittelbach in `TUGboat' 13(1) proposes
+ using hexadecimal or base-36 notation. I don't think the
+ increased range makes up for the unreadability of the common sizes
+ (e.g., 10pt fonts would have a suffix `a' (in hex), or `j' (in
+ base 36)).
+
+
+ The weight, variants, and width are probably all best taken from the
+original name of the font, instead of trying to relate them to some
+external standard.
+
+* Menu:
+
+* Suppliers::
+* Typefaces::
+* Weights::
+* Variants::
+* Widths::
+
+
+File: fontname.info, Node: Suppliers, Next: Typefaces, Up: Filenames for fonts
+
+2.1 Suppliers
+=============
+
+The "supplier" is the source of a font, typically a (digital) type
+foundry.
+
+ You should use the supplier letter which matches the supplier you
+obtained the font from, not the original source; for example, Avant
+Garde was designed by Herb Lubalin for ITC, but Adobe also sells it.
+The name of the font that you get from Adobe should start with `p'.
+This is because font resellers typically make modifications to the
+original design.
+
+ Notes on specific suppliers:
+
+`f'
+ For fonts that are distributed without any specific attribution to
+ the creator, by individuals, or by small foundries.
+ (Unfortunately, we don't have enough characters to assign one to
+ every font supplier in the world.)
+
+`r'
+ obsolete; specifies raw fonts, in the old distribution of Dvips.
+ New fonts should never use `r'. (The right thing to do is specify
+ the correct encoding, variant, or whatever the font's
+ characteristics actually are.)
+
+`z'
+ for fonts that just don't fit well into the naming scheme. The `z'
+ should be followed by the real supplier letter.
+
+ Here is the table from the file `supplier.map'. It is organized
+alphabetically by abbreviation. Each line consists of an abbreviation,
+directory name, and comment.
+
+ 0 fontfont FontFont
+ 2 elsnerflake Elsner & Flake
+ 5 softmake Softmaker
+ 9 unknown
+ a autologi Autologic
+ b bitstrea Bitstream
+ c cg Compugraphic
+ d dtc Digital Typeface Corporation
+ e apple Apple
+ f public small foundries
+ g gnu Free Software Foundation
+ h bh Bigelow & Holmes
+ i itc International Typeface Corporation
+ j microsft Microsoft
+ k softkey SoftKey
+ l linotype Linotype
+ m monotype Monotype
+ n ibm IBM
+ o corel Corel
+ p adobe Adobe (`p' for PostScript)
+ r - raw (for [obsolete] use with virtual fonts)
+ s sun Storm Type
+ t paragrap ParaGraph
+ u urw URW
+ w wolfram Wolfram
+ z - bizarre (fontname is nonstandard)
+ - autofont Eddie Kohler's autofont program
+ - jknappen Joerg Knappen
+ - mnm Hong Feng, free software in China
+ - yandy Y&Y
+
+
+File: fontname.info, Node: Typefaces, Next: Weights, Prev: Suppliers, Up: Filenames for fonts
+
+2.2 Typefaces
+=============
+
+For our purposes, a "typeface" is a collection of related fonts.
+
+ We sometimes use the same typeface abbreviation for fonts with
+different supplier names, where we know (usually by inspection) that
+the fonts truly are the same. This helps conserve abbreviations.
+
+ Notes on specific typefaces:
+
+`ad'
+`gm'
+ To explain a common confusion: `ad' is Adobe Garamond (with a
+ `FontName' of `AGaramond'). This is quite different from the
+ `Garamond' typeface distributed by Adobe, which is actually ITC
+ Garamond. (Garamond No. 3 (`f3'), Simoncini Garamond (`ig'), and
+ Stempel Garamond (`eg') are still other variations on the Garamond
+ theme.)
+
+`lh'
+`ls'
+`lx'
+`r1'
+ These abbreviations for Lucida typeface subfamilies, et al., solve
+ a problem with names getting too long, or help conserve variant
+ abbreviations. *Note Variants::. Ideally, they would not exist.
+
+`ns'
+`nt'
+`tm'
+ Suppliers offer as many variations on the Times New Roman design
+ as they do Garamond. Adobe has `Times', `TimesNewRoman', and
+ `TimesNewRomanPS'. Although this last has been used by other
+ foundries (e.g., Monotype) for a Times variation exactly
+ compatible with Adobe's `Times', Adobe itself also offers it, so
+ we must have abbreviations for all three.
+
+`pi'
+ For pi fonts. Since names of pi fonts are rather arbitrary, it is
+ not useful to try to assign typeface abbreviations to all of them.
+ Instead, we use the supplier letter, `pi', an arbitarily-assigned
+ three-digit number, a weight and (if necessary) a variant. For
+ example, `mpi001r'. Pi font `001' for one supplier has nothing to
+ do with pi font `001' for another.
+
+ Here is the table, from the file `typeface.map'. It is organized
+alphabetically by abbreviation. Each line consists of an abbreviation
+and directory name, possibly followed by PostScript `FontName's and/or
+a comment in roman. The `FontName' may be preceded by a letter S and a
+`:', as in `b:Dutch'. In that case, the S is a supplier abbreviation,
+and we've used that abbreviation for the given `FontName' from that
+supplier.
+
+ a1 arial Arial
+ a2 amasis Amasis
+ a3 adlib AdLib
+ a4 altgoth2 AlternateGothicNo2
+ a5 allegro Allegro
+ a6 amelia Amelia
+ a7 amertext AmericanText
+ a8 aurora Aurora
+ a9 adsans Adsans b:Humanist970BT
+ aa aachen Aachen
+ ab aboeckli ArnoldBoecklin
+ ac acaslon ACaslon Adobe Caslon
+ ad agaramon AGaramond Adobe Garamond
+ ae andalemo AndaleMono
+ ag avantgar AvantGarde m:MAvantGardeGothicPS u:URWGothicL
+ ah ashleysc AshleyScript
+ ai abadi Abadi
+ aj ajenson AJenson
+ ak arkona Arkona
+ al albertus Albertus b:Flareserif821BT
+ am amercana Americana b:Americana
+ an anna Anna
+ ao atqolive AntiqueOlive b:Incised901BT
+ ap apollo Apollo
+ aq antiqua Antiqua u:URWAntiqua m:BookAntiqua
+ ar arcadia Arcadia
+ as aldus Aldus
+ at atypewri AmericanTypewriter
+ au auriol Auriol b:Freeform721
+ av avenir Avenir
+ ax alexa Alexa
+ az azdzgrot AkzidenzGrotesk b:Gothic725BT
+ b0 blackoak Blackoak
+ b1 blado Blado
+ b2 binnyos BinnyOldStyle
+ b3 braggado Braggadocio
+ b4 bison Bison b:Brush738BT
+ b5 binghams BinghamScript b:Freehand591BT
+ b6 block Block b:Gothic821
+ b7 bernhard Bernhard BernhardModern
+ b8 blippo Blippo
+ b9 bremen Bremen
+ ba barmeno Barmeno
+ bb bembo Bembo b:Aldine401BT
+ bc banco Banco
+ bd bodoni Bodoni u:URWBodoni
+ be bell Bell
+ bf biffo Biffo
+ bg benguiat Benguiat
+ bh bauhaus Bauhaus
+ bi birch Birch
+ bj birka Birka
+ bk bookman Bookman m:MBookmanPS u:URWBookmanL
+ bl belwe Belwe
+ bm bulmer Bulmer
+ bn bernard Bernard
+ bo balloon Balloon
+ bp bodocamp BodoniCampanile b:Modern735
+ br berling Berling b:Revival565BT
+ bs bakersig BakerSignet
+ bt boton Boton
+ bu brush BrushScript
+ bv baskervi Baskerville u:URWBasker
+ bw broadway Broadway
+ by berkeley Berkeley
+ bz balzano Balzano
+ c0 carolina Carolina
+ c1 calisto Calisto
+ c2 casln224 CaslonTwoTwentyFour
+ c3 caslon3 CaslonThree
+ c4 chicago Chicago
+ c5 casln540 CaslonFiveForty
+ c6 clarion Clarion
+ c7 compacta Compacta
+ c8 calvert Calvert
+ c9 codex Codex b:Calligraphic421BT
+ ca caslon Caslon
+ cb cooper Cooper
+ cc cascade Cascade b:Freehand471BT
+ cd clarendo Clarendon u:URWClarendon
+ ce centenni Centennial
+ cf clearfac Clearface
+ cg charlema Charlemagne
+ ch charter Charter
+ ci candida Candida
+ ck caslonbe CaslonBookBE
+ cl cloister Cloister
+ cm cm Computer Modern
+ cn century Century
+ co cochin Cochin
+ cp copperpl Copperplate
+ cq cheq Cheq
+ cr courier Courier m:MCourierPS m:CourierTwelveMT u:NimbusMonL
+ cs cntursbk CenturySchoolbook
+ ct cheltenh Cheltenham
+ cu centuros CenturyOldStyle
+ cv clairvx Clairvaux
+ cw cottonwd Cottonwood
+ cx caxton Caxton
+ cy city City b:SquareSlabserif711BT
+ cz choc Choc b:Staccato555BT
+ d0 davida DavidaBold
+ dc domcasl Dom DomCasual DomDiagonal
+ dd ducberry DucDeBerry
+ de dellarob DellaRobbia
+ di diotima Diotima b:Calligraphic810BT
+ dj delta Delta
+ dk diskus Diskus
+ dl dolores Dolores
+ dm delima Delima
+ do didot DidotLH
+ dr doric Doric
+ ds dorchesc DorchesterScript
+ dt dante Dante
+ dy academy Academy
+ e0 embassy Embassy
+ e1 empire Empire
+ e2 metatwo Meta2
+ ea electra Electra b:Transitional521BT
+ eb baskerbe BaskervilleBE
+ ec applecha e:AppleChancery
+ ee egyptian Egyptian EgyptianExtended
+ ef egyptien EgyptienneF u:URWEgyptienne
+ eg stgaramo StempelGaramond b:OriginalGaramondBT
+ eh engsft Engschrift
+ ei esprit Esprit
+ ek eckmann Eckmann b:Freeform710
+ el ellingtn Ellington
+ en engraver Engravers
+ eo amerigo Amerigo b:AmerigoBT
+ er eras Eras
+ es eurostil Eurostile b:Square721BT k:Minima
+ et ehrhardt Ehrhardt
+ eu euler Euler
+ ev mrseaves MrsEaves
+ ex exclsior Excelsior
+ f0 flemishs FlemishScript
+ f1 fournier Fournier
+ f2 facade Facade
+ f3 festival Festival
+ f4 footligh Footlight
+ f5 french FrenchScript
+ f9 frutigernext FrutgerNext
+ fa formata Formata
+ fc freestyl FreeStyleScript
+ fe forte Forte
+ ff fairfld Fairfield b:Transitional551BT
+ fg frankgth FranklinGothic
+ fi figaro Figaro
+ fl flora Flora
+ fn fenice Fenice
+ fo folio Folio
+ fq frizquad FrizQuadrata
+ fr frutiger Frutiger b:Humanist777BT
+ fs falstaff Falstaff
+ ft fettefrk FetteFraktur Fraktur
+ fu futura Futura
+ fx felixttl FelixTitling
+ fy flyer Flyer
+ g0 gando Gando
+ g1 gothic13 GothicThirteen
+ g2 giddyup Giddyup
+ g3 garamon3 GaramondThree b:AmericanGaramondBT Garamond No. 3
+ g4 gymodern GoudyModern
+ g5 gycatalg GoudyCatalogue
+ g6 gorilla GorillaITC
+ g9 ugaramon GaramondRetrospective
+ ga gillsana GillSana
+ gb gothicbb GothicBBB
+ gd garuda Garuda
+ ge geneva e:Geneva
+ gg garthgra GarthGraphic
+ gh galahad Galahad
+ gi georgia Georgia
+ gj granjon Granjon b:ElegantGaramondBT
+ gl galliard Galliard
+ gm garamond Garamond u:URWGaramond
+ go gyoldsty GoudyOldStyle
+ gp glypha Glypha
+ gq grotesq Grotesque u:URWGrotesk
+ gr gloucest Gloucester
+ gs gillsans GillSans m:GillAltOneMT b:Humanist521BT
+ gt goudytxt GoudyText
+ gu guardi Guardi
+ gv giovanni Giovanni
+ gy goudy Goudy
+ gz gazette GazetteLH
+ h0 handelgo HandelGothic
+ ha hadriano Hadriano
+ hb hobo Hobo Tramp
+ hc herculnm Herculanum
+ hd headline Headline
+ hg hiroshig Hiroshige
+ hh highland Highlander
+ hi hvinsera HelveticaInserat b:Swiss921BT
+ hm charme Charme
+ hn hvneue HelveticaNeue
+ ho horleyos HorleyOldStyle
+ hr hvround HelveticaRounded
+ hs hnseati Hanseatic B:Swiss924BT
+ ht hoeflert e:HoeflerText
+ hv helvetic Helvetica u:NimbusSans u:NimbusSanL b:Swiss721BT b:Monospace821BT b:Swiss911BT d:Sans Newton n:SonoranSansSerif
+ hw schadow Schadow
+ hx huxleyvr HuxleyVertical
+ i0 commscr CommercialScript
+ i1 impress Impress
+ i2 impuls Impuls
+ i3 imperial Imperial u:URWImperial
+ ia insignia Insignia
+ ib ibycus Ibycus
+ ic impact Impact
+ id isadora Isadora
+ if inflex Inflex
+ ig scgaramo SimonciniGaramond b:ItalianGaramond
+ ii imprint Imprint
+ il caecilia Caecilia
+ im imago Imago
+ in industri Industria
+ io ionic Ionic b:News701BT
+ ip impressm Impressum
+ is italnos ItalianOldStyle
+ it italia Italia
+ iw ironwood Ironwood
+ iy iowanold IowanOldStyle
+ iz isabella Isabella
+ jf jeffersn Jefferson b:Freehand575BT
+ jn janson Janson
+ jo joanna Joanna
+ jp juniper Juniper
+ kb kabel Kabel
+ kg bankgoth BankGothic
+ kl klang Klang
+ kn kino Kino
+ ko bookmano BookmanOldStyle
+ kp kepler Kepler
+ kr korinna Korinna
+ ks kuenstsc KuenstlerScript
+ ku kaufmann Kaufmann
+ kw kolo Kolo
+ kx kigali Kigali
+ l0 lineart LinearT u:URWLinear
+ l1 liberty Liberty
+ l2 libra Libra
+ l3 lucia Lucia
+ l4 lucian Lucian
+ l5 baltica Baltica
+ l6 literatu Literaturnaya
+ l7 luxiseri LuxiSerif
+ l8 luxisans LuxiSans
+ l9 luximono LuxiMono
+ lb lubaling LubalinGraph
+ lc lucida Lucida
+ le legacy Legacy
+ lf life Life
+ lg lettrgth LetterGothic ISILGothic
+ lh lubright LucidaBright
+ li latin Latin
+ ll linolett LinoLetter
+ ln lino Lino
+ lo lithos Lithos
+ ls lucsans LucidaSans
+ lt lutetia Lutetia
+ lw leawood Leawood
+ lx lucidfax LucidaFax
+ ly lydian Lydian
+ lz legacysans LegacySans
+ m0 monospac Monospace
+ m1 monolisc MonolineScript
+ m2 metro Metro b:Geometric415BT
+ m3 mirarae Mirarae
+ m4 mrearl MisterEarl
+ m5 murrayhl MurrayHill
+ m6 mittlsft Mittelschrift
+ m7 matura Matura
+ m8 monotyos MonotypeOldStyle
+ ma mandate Mandate b:Freehand521BT
+ mc monaco e:Monaco
+ md meridien Meridien
+ me mercursc MercuriusScript
+ mg marigold Marigold
+ mh machine Machine
+ mi medici Medici
+ mj mojo Mojo
+ ml melior Melior b:ZapfElliptical711BT
+ mn minion Minion
+ mo modern Modern b:Modern20BT
+ mp memphis Memphis b:GeometricSlab703BT
+ mq mesquite Mesquite
+ mr madrone Madrone
+ ms mistral Mistral b:Staccato222BT
+ mt minister Minister
+ mv malvern Malvern
+ mx maximus Maximus
+ my myriad Myriad
+ mz amazone Amazone
+ n0 normande Normande
+ n1 binner Binner not really a family
+ n7 news706 News706
+ na newaster NewAster
+ nb nbaskerv NewBaskerville
+ nc ncntrsbk NewCenturySchlbk u:CenturySchL
+ nd ncaledon NewCaledonia
+ nf nofret Nofret
+ ng newsgth NewsGothic
+ ni nimrod Nimrod
+ nk neograph Neographik
+ nl neuland Neuland b:Informal011BT
+ nm nimbus Nimbus
+ nn nclarend NewClarendon
+ no notredam NotreDame
+ np nsplanti NewsPlantin
+ nr nberolin NewBerolina
+ ns timesnps TimesNewRomanPS
+ nt timesnew TimesNewRoman m:TimesNR n:SonoranSerif
+ nu nuptial Nuptial
+ nv novarese Novarese
+ nw neueunzi NeueHammerUnziale
+ nx nyx Nyx
+ nz neuzeits NeuzeitS
+ o0 oldreadf OldDreadfulNo7
+ o1 oranda Oranda
+ o2 orbitb OrbitB
+ o3 colonna Colonna
+ o4 oceansan OceanSans
+ o5 comic Comic
+ o7 oldsty7 OldStyleSeven
+ o8 officina Officina
+ oa ocra OCR-A
+ ob ocrb OCR-B
+ oc concorde Concorde
+ oe oldengli OldEnglish
+ of oxford Oxford
+ oi ondine Ondine Mermaid b:FormalScript421BT
+ oj oldclaud OldClaude
+ ol colmcill Colmcille
+ om omnia Omnia
+ on corona Corona
+ op optima Optima d:Optimum b:ZapfHumanist601BT Omega
+ oq ouch Ouch
+ or orator Orator
+ os oldstyle OldStyle
+ ot coronet Coronet b:Ribbon131BT
+ ov octavian Octavian
+ ox onyx Onyx
+ oy olympian Olympian l:OlympicLH
+ oz ozhandcr OzHandicraft
+ p0 poplar Poplar
+ p1 palacesc PalaceScript
+ p2 pepita Pepita
+ p3 palette Palette b:Brush445BT
+ p4 pioneer PioneerITC
+ p5 piranesi Piranesi
+ p6 blueprin Blueprint
+ p7 petersbu Petersburg
+ pa parkave ParkAvenue
+ pb ptbarnum PtBarnum
+ pc poetica PoeticaChancery s:Scriptoria
+ pd placard Placard
+ pe prestige PrestigeElite
+ pf profile Profile Profil b:Decorated035BT
+ pg peignot Peignot b:Exotic350BT
+ ph photina Photina
+ pi pi pi fonts--see text and `*.map' files
+ pj pompeija Pompeijana
+ pl palatino Palatino d:Palton b:ZapfCalligraphic801BT u:URWPalladioL Palmspring k:Palindrome
+ pm postmed PostMediaeval
+ pn plantin Plantin b:Aldine721BT
+ po ponderos Ponderosa
+ pp perpetua Perpetua b:Lapidary333BT
+ pq postatqa PostAntiqua
+ pr popplres PopplResidenz
+ ps parisian Parisian
+ pt present Present
+ pu popplaud PopplLaudatio
+ pw perrywoo Perrywood
+ px popplpfx PopplPontifex
+ py playbill Playbill
+ pz poliphil Poliphilus
+ qr quorum Quorum
+ qs bellevue Bellevue
+ qt boulevar Boulevard
+ r0 romana Romana
+ r1 rotis RotisSemiSerif
+ r2 cantoria Cantoria
+ r3 rotis RotisSemiSans
+ r4 rotis RotisSansSerif
+ ra raleigh Raleigh
+ rc romic Romic
+ rm carmina Carmina
+ rn rotation Rotation
+ ro rotis RotisSerif
+ rp reporter Reporter
+ rq russelsq RussellSquare
+ rr raphael Raphael
+ rs arrus Arrus
+ rt carta Carta
+ ru runic Runic
+ rv revue Revue
+ rw rockwell Rockwell Slate b:GeometricSlab712BT
+ rc rustican Rusticana
+ ry ryumin Ryumin
+ rz ruzicka RuzickaFreehandLH
+ s0 sanmarco SanMarco
+ s1 scotchro ScotchRoman
+ s2 script Script
+ s3 seagull Seagull
+ s4 shotgun Shotgun ShotgunBlanks
+ s5 snell Snell
+ s6 stuyvesa Stuyvesant
+ s7 sassoon Sassoon
+ s8 stonesan StoneSans
+ sa scala Scala
+ sb sabon Sabon b:ClassicalGaramondBT
+ sc slimbach Slimbach
+ se shelley Shelley
+ sf serifa Serifa
+ sg serifgth SerifGothic
+ sh shannon Shannon
+ si stoneinf StoneInformal
+ sk skia e:Skia
+ sl stencil Stencil
+ sm spectrum Spectrum
+ sn spartan Spartan
+ so sonata Sonata
+ sp serpenti Serpentine
+ sr snellrnd SnellRoundhand
+ ss stschnei StempelSchneidler
+ st stone StoneSerif
+ sv souvenir Souvenir
+ sw swing Swing
+ sx syntax Syntax
+ sy symbol Symbol m:MSymbolPS u:StandardSymL
+ t0 tango Tango
+ t1 thunderb Thunderbird
+ t2 typo TypoUpright
+ tb bebodoni BodoniBE BBodoni Berthold Bodoni
+ te timeseur TimesEuropa
+ tf tiffany Tiffany
+ tg tradegth TradeGothic
+ th tahoma Tahoma
+ ti techphon TechPhonetic
+ tj trajan Trajan
+ tk tekton Tekton
+ tl castella Castellar
+ tm times Times u:NimbusRoman u:NimbusRomNo9L b:Dutch801BT
+ tn norasi Norasi
+ to torino Torino b:Industrial736BT
+ tp tempo Tempo
+ tr trebuche Trebuchet
+ tv trumpmed TrumpMediaeval b:Kuenstler480BT
+ tw twentyc TwentiethCentury
+ ty typewrit Typewriter u:URWTypewriter
+ u0 columbus Columbus
+ ub babodoni BauerBodoni
+ ud studio Studio
+ ug bengugth BenguiatGothic
+ uh cushing Cushing
+ ul universa Universal
+ um umbra Umbra
+ un univers Univers b:ZurichBT
+ ur centaur Centaur b:Venetian301BT
+ ut utopia Utopia
+ uw usherwoo Usherwood
+ uy universi University
+ v0 vineta Vineta
+ va activa Activa
+ vc vectora Vectora
+ vd vandijck VanDijck
+ ve veraseri VeraSerif
+ vg visigoth Visigoth
+ vi victoria Victoria
+ vj veljovic Veljovic
+ vm veramono VeraSansMono
+ vn verdana Verdana
+ vl versaill Versailles
+ vr vagrnd VAGRounded
+ vs verasans VeraSans
+ vv viva Viva
+ w0 weddingt WeddingT
+ w1 wiesbswi WiesbadenSwing
+ wb walbaum Walbaum
+ wc snowcap SnowCap
+ wd weideman Weidemann
+ wg wlklgth WilhelmKlingsporGotisch
+ wh wendy Wendy
+ wi wingding Wingdings
+ wk wilke Wilke
+ wn windsor Windsor
+ wr wittenbe WitternbergerFrakt
+ ws weiss Weiss
+ wt watertit WatersTitling
+ ww willow Willow
+ xc eccentri Eccentric
+ xp exponto ExPonto
+ yg centuryg CenturyGothic
+ yh strayhor Strayhorn
+ ym stymie Stymie
+ ys goudysan GoudySans
+ za zantiqua ZAntiqua
+ zc zapfchan ZapfChancery m:ZapfChanceryPS u:URWChanceryL
+ zd zapfding ZapfDingbats m:ZapfDingbatsPS u:Dingbats
+ zg neuzeitg NeuzeitGrotesk b:Geometric706BT
+ zp ziptydo ZiptyDo
+ zt zeitgeis Zeitgeist
+ __ agbook AGBookStencil
+ __ agbookrn AGBookRounded
+ __ agoldfac AGOldFace
+ __ agschlbk AGSchoolbook
+ __ aja Aja
+ __ albertin AlbertinaMT
+ __ amigo Amigo
+ __ andreas Andreas
+ __ ariadne Ariadne
+ __ banshee Banshee
+ __ beesknee Beesknees
+ __ bellcent BellCentenial
+ __ berlgrot BerlinerGrotesk
+ __ bermuda BermudaLP
+ __ berthold BertholdScript
+ __ bickham BickhamScript
+ __ blueisla BlueIsland
+ __ bodoniof BodoniOldFaceBE
+ __ bossanov BossaNovaMVB
+ __ briemaka BriemAkademi
+ __ briemscr BriemScript
+ __ buffalog BuffaloGalMT
+ __ caflisch CaflischScript
+ __ caliban Caliban
+ __ catull Catull
+ __ celestia CelestiaAntiqua
+ __ cerigo Cerigo
+ __ chaparra Chaparral
+ __ christia Christiana
+ __ colossal Colossalis
+ __ comenius ComeniusAntiqua
+ __ concorde ConcordeNova
+ __ congabra CongaBrava
+ __ copal Copal
+ __ coriande Coriander
+ __ cosmos Cosmos
+ __ cremona Cremona
+ __ critter Critter
+ __ cronos Cronos
+ __ ctmercur CTMercurius
+ __ curlz CurlzMT
+ __ cutout Cutout
+ __ delphin Delphin
+ __ elgreco ElGreco
+ __ else ElseNPL
+ __ emmascri Emmascript
+ __ flood Flood
+ __ florens FlorensLP
+ __ fusaka Fusaka
+ __ gallia MonotypeGallia
+ __ garamobe GaramondBE
+ __ gillfaci GillFaciaMT
+ __ gillflor GillFloriatedCapsMT
+ __ graphite Graphite
+ __ greymant GreymantleMVB
+ __ hardwood HardwoodLP
+ __ immi505 Immi505
+ __ jimbo Jimbo
+ __ khaki Khaki
+ __ kidprint KidprintMT
+ __ kinesis Kinesis
+ __ kochantq KochAntiqua
+ __ legault Legault
+ __ lightlin LightlineGothicMT
+ __ lotype LoType
+ __ magnesiu MagnesiumMVB
+ __ magnolia MagnoliaMVB
+ __ mahsuri MahsuriSansMT
+ __ manito ManitoLP
+ __ mendoza MendozaRoman
+ __ mezz Mezz
+ __ micr MICR
+ __ monalisa MonaLisa
+ __ motterco MotterCorpus
+ __ mythos Mythos
+ __ nueva Nueva
+ __ oceansan OceanSans
+ __ origami Origami
+ __ ozwald Ozwald
+ __ pastonch PastonchiMT
+ __ pelican Pelican
+ __ penumbra Penumbra
+ __ pepperwo Pepperwood
+ __ poetica Poetica
+ __ pompeia Pompeia
+ __ popplexq PopplExquisit
+ __ postino Postino
+ __ quake Quake
+ __ rad Rad
+ __ reliq Reliq
+ __ rosewood Rosewood
+ __ rulngscr RulingScript
+ __ russlobl RusselOblique
+ __ sanvito Sanvito
+ __ sassafra Sassafras
+ __ serlio SerlioLH
+ __ sho Sho
+ __ shuriken Shuriken
+ __ smaragd Smaragd
+ __ spring SpringLP
+ __ spumoni SpumoniLP
+ __ studz Studz
+ __ tiepolo Tiepolo
+ __ toolbox Toolbox
+ __ verve Verve
+ __ volutasc VolutaScript
+ __ zebrawoo Zebrawood
+ __ shouyi Shouyi for mnm
+
+
+File: fontname.info, Node: Weights, Next: Variants, Prev: Typefaces, Up: Filenames for fonts
+
+2.3 Weights
+===========
+
+The "weight" of a font specifies its boldness. Arranged from lightest
+to heaviest (more or less):
+
+ hairline, extra light, light
+ book, regular, medium
+ demibold, semibold, bold, extra bold, heavy
+ black, ultra, poster
+
+ Here is the table, from the file `weight.map'. It is organized
+alphabetically by abbreviation. Each line consists of an abbreviation
+and any parts of a PostScript `FontName' which use that abbreviation.
+
+ a Thin Hairline
+ b Bold
+ c Black
+ d Demi
+ h Heavy Heavyface
+ j ExtraLight
+ k Book
+ l Light
+ m Medium
+ p Poster
+ r Regular Roman
+ s Semibold
+ u Ultra UltraBlack
+ x ExtraBold ExtraBlack
+
+
+File: fontname.info, Node: Variants, Next: Widths, Prev: Weights, Up: Filenames for fonts
+
+2.4 Variants
+============
+
+"Variants" include typeface variations (e.g., italic, sans serif), and
+font encodings (e.g., Adobe standard, TeX text).
+
+ A fontname may require multiple variants. To resolve the worst
+ambiguities, we specify that any encoding variant (`7', `8', or `9',
+see below) come last and any other numeral variant come first (to avoid
+confusion with a design size). We recommend but do not require that
+the other variants be given in alphabetical order. (It's not required
+because it's too painful to implement the sorting in TeX, and many
+existing names already have non-alphabetized variants.)
+
+ The letterspacing possibilities introduced by `fontinst' and virtual
+fonts have not yet become sufficiently widespread to make
+standardization beneficial. Likewise for the many possible ways to
+generate small caps fonts.
+
+ Notes on specific variants, both old and new:
+
+`1'
+`4'
+`6'
+`b'
+ These variants (`semisans', `bright', `semiserif', and `fax') were
+ used only for single typefaces, so to conserve variant
+ abbreviations, they now have typeface abbreviations instead.
+ Also, for `b', to avoid too-long names; and for the others, to
+ avoid variant vs. design-size ambiguities.
+
+`g'
+`h'
+ Since these variants were not actually used in any font names,
+ they are now obsolete and may be reassigned in the future.
+
+`5'
+`6'
+`7'
+`8'
+`9'
+ These characters begin a two-character "encoding variant".
+ Generally, `7' is for 7-bit encodings, `8' is for 8-bit encodings,
+ and `9' is for expertised encodings with or without oldstyle
+ digits (see the `x' item below), but this is not an absolute rule.
+ Also, `5' is presently used for phonetic encodings and `6' for
+ Cyrillic encodings. The `9s' (`SuperFont') variant contain all of
+ Adobe, Latin 1, and Expert glyphs, perhaps with slightly different
+ metrics than the original fonts.
+
+ For a font to be named with a certain encoding variant, it's not
+ necessary that all the characters appear in precisely the same
+ positions as in the encoding definition. It's enough that the
+ usual TeX macros work. In practice, this means that it's ok for a
+ font to be labelled `7t' if the only difference from Computer
+ Modern is that the ligatures and the `lslash' and `Lslash'
+ characters are different, since it's impossible to access or
+ change the ligature table from TeX. Standard PostScript fonts
+ don't have an `lslash' character the way Computer Modern does, but
+ they do have the `Lslash' and `lslash' characters themselves, so
+ the usual TeX `\lslash' and `\Lslash' macros can be made to work
+ via ligatures. See the file `T1.etx' file in the `fontinst'
+ distribution for details.
+
+ If a name does not contain a specific encoding variant, its
+ encoding is unspecified. For example, some of the fonts
+ distributed with Dvips(k) have names like `ptmr' for
+ `Times-Roman'; they use the Dvips encoding (*note dvips::), which
+ is close to (but not the same as) the TeX text encoding (as in
+ Computer Modern Roman). Similarly, the TFM files distributed with
+ Dvilj(k) for the builtin LaserJet 4 fonts have names like `cunm',
+ since these fonts, while compatible with TeX text, contain many
+ additional characters.
+
+`9'
+ These items are needed only because `x' (and possibly `j')
+ followed by a two-character regular variant makes some names too
+ long. That is, `9t' is equivalent in meaning to `x7t', and `9d'
+ is equivalent to `jx7t'. (This may not be true for all `9X'
+ encodings, though.)
+
+`k'
+`z'
+ These variants (indicating Greek and Cyrillic fonts, respectively)
+ are obsolete; future fonts in different scripts should be assigned
+ an appropriate encoding abbreviation. These are not currently
+ standardized, due to ignorance of the appropriate encodings.
+ Please send suggestions for abbreviations to the address in *Note
+ Introduction::.
+
+`m'
+`v'
+`y'
+ These math-related variants remain for the sake of
+ typeface-specific math encodings, e.g., Lucida. Fonts that use
+ the Computer Modern math encodings should use `7m' (*note
+ texmital::), `7v' (*note texmext::), and `7y' (*note texmsym::).
+
+`n'
+ This is used for several different (but very rare) variants: only
+ the Stone typeface has an "informal" variant, and only a few
+ Monotype fonts have a "schoolbook" variant, with different `a',
+ `g', and `y' shapes.
+
+`r'
+ Included only if no other variants, including encodings, apply, and
+ either the width (*note Widths::) is not `r' or a design size is
+ present. I.e., `r' is only used as a placeholder. When the normal
+ version of the typeface is sans serif (e.g., Helvetica), `r' should
+ be used when necessary, not `s'. Use `s' only when the typeface
+ family has both serif and sans serif variants.
+
+`s'
+`t'
+ Mittelbach in `TUGboat' 13(1) suggests that these variants (for
+ `sans' and `typewriter') should be identified as part of the
+ typeface name, because there are few typeface families with these
+ variants. I feel that since they are logically variants, it's
+ best to name them that way. But `LucidaSans' (*note Typefaces::)
+ and a few others are exceptions, to avoid too-long names.
+
+`x'
+`8x'
+`9?'
+ `8x' indicates a font in the `Expert' encoding itself. `x'
+ indicates an "expertised" font, i.e., a composite (virtual) font
+ that includes characters from an `8x' font. And in fact an `xEE'
+ sequence is replaced by `9E', to save characters.
+
+ Fontname 1 assignments are shown in brackets in the following table,
+from the file `variant.map'. It is organized alphabetically by
+abbreviation. Each line consists of an abbreviation and either any
+parts of a PostScript `FontName' which use that abbreviation or the
+PostScript `Encoding' name.
+
+ 0 inferior
+ 1 superior
+ obsolete [2=>7c] Fraktur encoding
+ obsolete [3=>7f] Fraction
+ obsolete [4 fax; now typeface `lx', Lucida Fax]
+ 5 escape for (presently) phonetic encodings
+ 6 escape for Cyrillic encodings [was `SemiSerif']
+ 7 escape for (mostly) 7-bit encodings
+ 8 escape for (mostly) 8-bit encodings
+ 9 escape for (presently) expert encodings [was oldstyle digits]
+ a Alt Arrows Alternative [was alternate encoding]
+ obsolete [b bright; now typeface lh, Lucida Bright]
+ c SmallCaps
+ d Display Titling Caption Headline TallCaps SwashCaps LombardicCaps Festive
+ e Engraved Copperplate Elite
+ f Fraktur Gothic OldEnglish Handtooled (`gothic' can also be sans)
+ g SmallText designed for small sizes [was grooved, as in the IBM logo]
+ h Shadow
+ i Italic Kursiv Ital text italic
+ j old-style digits [was invisible]
+ k Greek obsolete
+ l Outline OpenFace Blanks
+ m math italic
+ n Informal Fashion Schlbk for Stone
+ o Oblique Obl slanted
+ p Ornaments
+ obsolete [q=>8t Cork (TeX extended) encoding]
+ r roman or sans; often omitted, see text
+ s Gothic sans serif
+ t Monospace fixed-width typewriter
+ u unslanted italic
+ v MathExtension
+ w Script Handwritten Swash Calligraphy Cursive Tango
+ x built with Adobe expert encoding [was expert-encoded]
+ y MathSymbol
+ z Cyrillic font-dependent Cyrillic
+ 5a PhoneticAlternate
+ 5i PhoneticIPA
+ 5s sil-IPA
+ 5t TeX-IPA Fukui Rei, LaTeX T3
+ 5w TeXAfricanLatin wsuipa fonts, LaTeX OT3
+ 5z user
+ 6a T2A
+ 6b Cyrillic part of ISO 8859-5, seven bits
+ 6c T2C
+ 6d Cyrillic CP866 encoding
+ 6i ISO 8859-5
+ 6k Cyrillic KOI8-R encoding
+ 6m Cyrillic Macintosh encoding
+ 6s Storm extra encoding
+ 6t T2B
+ 6w Cyrillic CP1251 encoding
+ 6x X2
+ 6y LCY
+ 6z user
+ 7a A alternate characters only
+ 7c Dfr Fraktur
+ 7d OsF OSF oldstyle digit encoding
+ 7f Fraction
+ 7k OT2Cyrillic
+ 7m TeXMathItalicEncoding *note texmital::
+ 7t TeX text encoding (as in Computer Modern Roman)
+ 7v TeXMathExtensionEncoding *note texmext::
+ 7y TeXMathSymbolEncoding *note texmsym::
+ 7z user
+ 82 GreekKeys
+ 83 Ibycus1
+ 84 Ibycus2
+ 8a StandardEncoding Adobe standard encoding, *note 8a::
+ 8c TeXTextCompanion LaTeX TS1
+ 8e CE Adobe CE
+ 8f TeXAfricanLatin LaTeX T4
+ 8i TS0 Intersection of TS1/Adobe Standard
+ 8m Macintosh standard encoding
+ 8n LM1 Textures
+ 8q encqxoosix QX, from GUST
+ 8r TeXBase1Encoding (*note 8r::)
+ 8t CorkEncoding (*note cork::), aka tex256.enc
+ 8u XT2Encoding cmtt + Latin 2, see `xl2.enc'
+ 8v TeXVietnamese to be defined
+ 8w Windows 3.1 ANSI encoding
+ 8x Expert expert encoding
+ 8y LY1 texnansi
+ 8z XL2Encoding cmr + Latin 2, see `xl2.enc'
+ 9c expert + Text companion
+ 9d expert + oldstyle digits + Cork
+ 9e expert + Cork
+ 9i TS0X Intersection of TS1/Standard/Expert
+ 9o expert + oldstyle digits + TeX text
+ 9s SF SuperFont
+ 9t expert + TeX text
+ 9u Unicode-compatible
+ 9x TeXnANSIEncodingX texnansx, texnansi without repeats
+ 9z user
+ - songti for mnm
+
+
+File: fontname.info, Node: Widths, Prev: Variants, Up: Filenames for fonts
+
+2.5 Widths
+==========
+
+The "width" of a font specifies the compression or expansion of the
+font. Arranged from narrowest to widest (more or less):
+
+ ultra compressed, extra condensed, compressed, condensed, narrow
+ regular
+ extended, expanded, wide
+
+ Expansion or compression of fonts is sometimes done automatically
+(as by the PostScript `scale' operator), and sometimes done by humans.
+In the latter case, the human will also presumably choose a font name
+which includes `Extended' or `Expanded' or `Condensed' or `Narrow' or
+whatever according to their own preferences; the abbreviation can
+follow along. When creating a new synthetically expanded or compressed
+font for use with TeX, e.g., with Afm2tfm or `fontinst', use `n' and
+`e'.
+
+ Here is the table, from the file `width.map'. It is organized
+alphabetically by abbreviation. Each line consists of an abbreviation
+and any parts of a PostScript `FontName' which use that abbreviation.
+
+ c Condensed Cond
+ e Expanded
+ n Narrow
+ o UltraCondensed
+ p Compressed Compact
+ q ExtraCompressed ExtraCondensed
+ r Normal Medium Regular (usually omitted)
+ t Thin
+ u UltraCompressed
+ v ExtraExpanded more than Expanded, less than Wide
+ w Wide
+ x Extended Elongated
+
+
+File: fontname.info, Node: Long names, Next: Font name lists, Prev: Filenames for fonts, Up: Top
+
+3 Long names
+************
+
+Eight characters is not enough to unambiguously represent all fonts. To
+do that, we have to allow ourselves arbitrarily long names. Although we
+certainly cannot use such names for the files themselves, we could still
+use them in TeX documents given a simple mapping file, as discussed
+below.
+
+* Menu:
+
+* Name mapping file:: Aliases for fonts.
+* Long naming scheme:: A way to use more than 8 alphanumerics.
+
+
+File: fontname.info, Node: Name mapping file, Next: Long naming scheme, Up: Long names
+
+3.1 A fontname mapping file
+===========================
+
+At the moment, most implementations of TeX look up a TFM file (as part
+of the `\font' command), by searching for a file with the name given by
+the user (possibly in any of series of directories). But if we also
+looked TFM names up in _another_ file (or set of files), which
+specifies the actual filename, the fontname given in the TeX source
+file could be almost anything at all, of any length.
+
+ In version 5.851d of Web2c, I implemented this mapping file. Each
+file `texfonts.map' in a search path is read for abbreviations. The file
+has a straightforward format: each line specifies the filename and the
+TeX name for one font, separated by whitespace. Extra information on
+the line is ignored; then more information could be specified for the
+benefit of DVI-reading programs in the same file. Comments start with
+`%' and continue to the end of the line.
+
+ Besides allowing long names, this sort of mapping file has other
+benefits. TeX source or DVI files can be more easily transported,
+because the font names in a particular file can be made work on every
+system. Also, when combined with a consistent naming scheme, macros
+could be written to access any of a number of fonts. Right now, each
+font family has to have specialized macros written to deal with it.
+
+ Incidentally, Professor Knuth has approved this as a legitimate
+"system-dependent" extension; a TeX with such a feature can still be
+called "TeX".
+
+
+File: fontname.info, Node: Long naming scheme, Prev: Name mapping file, Up: Long names
+
+3.2 A naming scheme for long names
+==================================
+
+Once we allow ourselves long names, we can construct a naming scheme to
+handle arbitrary fonts without much difficulty. Here is one proposal,
+based on the X Window System font naming conventions.
+
+ SUPPLIER-FAMILY-WEIGHT-VARIANTS-WIDTH-ENCODING--SIZE
+
+ SUPPLIER is the usual `Adobe', `Autologic', etc., as well as
+`unknown' or `bizarre'--this last meaning the rest of the name is
+nonstandard. If the SUPPLIER is missing, i.e., the name starts with a
+`-', "public domain" is assumed. For fonts made by individuals, the
+initials of the designer would probably make a good SUPPLIER.
+
+ FAMILY is `ComputerModern' or `Times' or whatever.
+
+ Everything else is optional. The `--' before the SIZE lets one
+specify a name with, say, a weight and variants, but then skip the
+WIDTH and ENCODING, but still be able to give a size.
+
+ WEIGHT and WIDTH are as described earlier.
+
+ If there is more than one variant, they are separated with some
+character other than `-', say `=':
+ B+H-Lucida-Bold-Sans=Typewriter--10
+
+ ENCODING is what Metafont calls the `font_coding_scheme'--the layout
+of the characters in the font. For example, `Cork' or `ISOLatin1' or
+`AdobeAlternate'.
+
+ Names are case-sensitive, for consistency with the rest of TeX and
+with PostScript, etc. Spaces cannot be used in the name, to make it
+easier for TeX to parse. Likewise, characters with default category
+codes other than 11 (letter) or 12 (other) should not be used.
+
+ Another possibility is to forget all the above, and simply use the
+vendor's name (perhaps prefixed by the vendor): `Times-Roman'.
+
+
+File: fontname.info, Node: Font name lists, Next: Encodings, Prev: Long names, Up: Top
+
+Appendix A Font name lists
+**************************
+
+These sections contain a list of fonts from various suppliers together
+with the corresponding names.
+
+* Menu:
+
+* Standard PostScript fonts:: The standard 35 PostScript fonts.
+* Adobe fonts::
+* Apple fonts::
+* Bitstream fonts::
+* DTC fonts::
+* ITC fonts::
+* Linotype fonts::
+* Monotype fonts::
+* URW fonts::
+
+
+File: fontname.info, Node: Standard PostScript fonts, Next: Adobe fonts, Up: Font name lists
+
+A.1 Standard PostScript fonts
+=============================
+
+Abbreviated names for the 35 standard PostScript fonts. An encoding
+variant, such as `8a' for the Adobe `StandardEncoding', is omitted.
+
+`pagk'
+ `AvantGarde-Book'
+
+`pagko'
+ `AvantGarde-BookOblique'
+
+`pagd'
+ `AvantGarde-Demi'
+
+`pagdo'
+ `AvantGarde-DemiOblique'
+
+`pbkd'
+ `Bookman-Demi'
+
+`pbkdi'
+ `Bookman-DemiItalic'
+
+`pbkl'
+ `Bookman-Light'
+
+`pbkli'
+ `Bookman-LightItalic'
+
+`pcrb'
+ `Courier-Bold'
+
+`pcrbo'
+ `Courier-BoldOblique'
+
+`pcrr'
+ `Courier'
+
+`pcrro'
+ `Courier-Oblique'
+
+`phvb'
+ `Helvetica-Bold'
+
+`phvbo'
+ `Helvetica-BoldOblique'
+
+`phvbrn'
+ `Helvetica-NarrowBold'
+
+`phvbon'
+ `Helvetica-NarrowBoldOblique'
+
+`phvr'
+ `Helvetica'
+
+`phvro'
+ `Helvetica-Oblique'
+
+`phvrrn'
+ `Helvetica-Narrow'
+
+`phvron'
+ `Helvetica-NarrowOblique'
+
+`pncb'
+ `NewCenturySchlbk-Bold'
+
+`pncbi'
+ `NewCenturySchlbk-BoldItalic'
+
+`pncri'
+ `NewCenturySchlbk-Italic'
+
+`pncr'
+ `NewCenturySchlbk-Roman'
+
+`pplb'
+ `Palatino-Bold'
+
+`pplbi'
+ `Palatino-BoldItalic'
+
+`pplri'
+ `Palatino-Italic'
+
+`pplr'
+ `Palatino-Roman'
+
+`psyr'
+ `Symbol'
+
+`ptmb'
+ `Times-Bold'
+
+`ptmbi'
+ `Times-BoldItalic'
+
+`ptmri'
+ `Times-Italic'
+
+`ptmr'
+ `Times-Roman'
+
+`pzcmi'
+ `ZapfChancery-MediumItalic'
+
+`pzdr'
+ `ZapfDingbats'
+
+
+File: fontname.info, Node: Adobe fonts, Next: Apple fonts, Prev: Standard PostScript fonts, Up: Font name lists
+
+A.2 Adobe fonts
+===============
+
+The `adobe.map' file has abbreviations for Adobe fonts.
+
+ pcrb8a Courier-Bold A 0.1 cob_____
+ pcrbo8a Courier-BoldOblique A 0.1 cobo____
+ pcrr8a Courier A 0.1 com_____
+ pcrro8a Courier-Oblique A 0.1 coo_____
+ phvr8a Helvetica A 0.2 hv______
+ phvb8a Helvetica-Bold A 0.2 hvb_____
+ phvbo8a Helvetica-BoldOblique A 0.2 hvbo____
+ phvro8a Helvetica-Oblique A 0.2 hvo_____
+ psyr Symbol A 0.3 sy______
+ ptmb8a Times-Bold A 0.4 tib_____
+ ptmbi8a Times-BoldItalic A 0.4 tibi____
+ ptmri8a Times-Italic A 0.4 tii_____
+ ptmr8a Times-Roman A 0.4 tir_____
+ phvr8an Helvetica-Narrow A 0.5 hvn_____
+ phvb8an Helvetica-Narrow-Bold A 0.5 hvnb____
+ phvbo8an Helvetica-Narrow-BoldOblique A 0.5 hvnbo___
+ phvro8an Helvetica-Narrow-Oblique A 0.5 hvno____
+ pplb8a Palatino-Bold A 001 pob_____
+ pplbi8a Palatino-BoldItalic A 001 pobi____
+ pplri8a Palatino-Italic A 001 poi_____
+ pplr8a Palatino-Roman A 001 por_____
+ pbkd8a Bookman-Demi A 002 bkd_____
+ pbkdi8a Bookman-DemiItalic A 002 bkdi____
+ pbkl8a Bookman-Light A 002 bkl_____
+ pbkli8a Bookman-LightItalic A 002 bkli____
+ pzcmi8a ZapfChancery-MediumItalic A 003 zcmi____
+ pzdr ZapfDingbats A 003 zd______
+ pagd8a AvantGarde-Demi A 004 agd_____
+ pagdo8a AvantGarde-DemiOblique A 004 agdo____
+ pagk8a AvantGarde-Book A 004 agw_____
+ pagko8a AvantGarde-BookOblique A 004 agwo____
+ pncb8a NewCenturySchlbk-Bold A 005 ncb_____
+ pncbi8a NewCenturySchlbk-BoldItalic A 005 ncbi____
+ pncri8a NewCenturySchlbk-Italic A 005 nci_____
+ pncr8a NewCenturySchlbk-Roman A 005 ncr_____
+ popr8a Optima A 006 op______
+ popb8a Optima-Bold A 006 opb_____
+ popbi8a Optima-BoldItalic A 006 opbi____
+ popbo8a Optima-BoldOblique A 006 opbo____
+ popri8a Optima-Italic A 006 opi_____
+ popro8a Optima-Oblique A 006 opo_____
+ psvd8a Souvenir-Demi A 007 sud_____
+ psvdi8a Souvenir-DemiItalic A 007 sudi____
+ psvl8a Souvenir-Light A 007 sul_____
+ psvli8a Souvenir-LightItalic A 007 suli____
+ plbd8a LubalinGraph-Demi A 008 lud_____
+ plbdo8a LubalinGraph-DemiOblique A 008 ludo____
+ plbk8a LubalinGraph-Book A 008 luw_____
+ plbko8a LubalinGraph-BookOblique A 008 luwo____
+ pgmb8a Garamond-Bold A 009 gab_____
+ pgmbi8a Garamond-BoldItalic A 009 gabi____
+ pgml8a Garamond-Light A 009 gal_____
+ pgmli8a Garamond-LightItalic A 009 gali____
+ patb8a AmericanTypewriter-Bold A 010 atb_____
+ patba8a AmericanTypewriter-BoldA A 010 atba____
+ patb8ac AmericanTypewriter-BoldCond A 010 atbc____
+ patba8ac AmericanTypewriter-BoldCondA A 010 atbca___
+ patr8ac AmericanTypewriter-Cond A 010 atc_____
+ patra8ac AmericanTypewriter-CondA A 010 atca____
+ patl8a AmericanTypewriter-Light A 010 atl_____
+ patla8a AmericanTypewriter-LightA A 010 atla____
+ patl8ac AmericanTypewriter-LightCond A 010 atlc____
+ patla8ac AmericanTypewriter-LightCondA A 010 atlca___
+ patm8a AmericanTypewriter-Medium A 010 atm_____
+ patma8a AmericanTypewriter-MediumA A 010 atma____
+ pbgb8a Benguiat-Bold A 011 bgb_____
+ pbgk8a Benguiat-Book A 011 bgw_____
+ pfqr8a FrizQuadrata A 011 fq______
+ pfqb8a FrizQuadrata-Bold A 011 fqb_____
+ pgpr8a Glypha A 012 gy______
+ pgpb8a Glypha-Bold A 012 gyb_____
+ pgpbo8a Glypha-BoldOblique A 012 gybo____
+ pgpro8a Glypha-Oblique A 012 gyo_____
+ phvc8a Helvetica-Black A 013 hvbl____
+ phvco8a Helvetica-BlackOblique A 013 hvblo___
+ phvl8a Helvetica-Light A 013 hvl_____
+ phvlo8a Helvetica-LightOblique A 013 hvlo____
+ phvr8ac Helvetica-Condensed A 014 hvc_____
+ phvb8ac Helvetica-Condensed-Bold A 014 hvcb____
+ phvc8ac Helvetica-Condensed-Black A 014 hvcbl___
+ phvbo8ac Helvetica-Condensed-BoldObl A 014 hvcbo___
+ phvro8ac Helvetica-Condensed-Oblique A 014 hvcdo___
+ phvl8ac Helvetica-Condensed-Light A 014 hvcl____
+ phvlo8ac Helvetica-Condensed-LightObl A 014 hvclo___
+ phvco8ac Helvetica-Condensed-BlackObl A 014 hvco____
+ ptvb8a TrumpMediaeval-Bold A 015 tmb_____
+ ptvbi8a TrumpMediaeval-BoldItalic A 015 tmbi____
+ ptvri8a TrumpMediaeval-Italic A 015 tmi_____
+ ptvr8a TrumpMediaeval-Roman A 015 tmr_____
+ pmlr8a Melior A 016 me______
+ pmlb8a Melior-Bold A 016 meb_____
+ pmlbi8a Melior-BoldItalic A 016 mebi____
+ pmlri8a Melior-Italic A 016 mei_____
+ pglb8a Galliard-Bold A 017 glb_____
+ pglbi8a Galliard-BoldItalic A 017 glbi____
+ pglri8a Galliard-Italic A 017 gli_____
+ pglr8a Galliard-Roman A 017 glr_____
+ pnbb8a NewBaskerville-Bold A 018 nbb_____
+ pnbbi8a NewBaskerville-BoldItalic A 018 nbbi____
+ pnbri8a NewBaskerville-Italic A 018 nbi_____
+ pnbr8a NewBaskerville-Roman A 018 nbr_____
+ pkrb8a Korinna-Bold A 019 krb_____
+ pkrbi8a Korinna-KursivBold A 019 krkb____
+ pkrri8a Korinna-KursivRegular A 019 krkx____
+ pkrr8a Korinna-Regular A 019 krrg____
+ pgyr8a Goudy A 020 go______
+ pgyb8a Goudy-Bold A 020 gob_____
+ pgybi8a Goudy-BoldItalic A 020 gobi____
+ pgyri8a Goudy-Italic A 020 goi_____
+ psor Sonata A 021 so______
+ pcub8a CenturyOldStyle-Bold A 022 csb_____
+ pcuri8a CenturyOldStyle-Italic A 022 csi_____
+ pcur8a CenturyOldStyle-Regular A 022 csrg____
+ pfgd8a FranklinGothic-Demi A 023 frd_____
+ pfgdi8a FranklinGothic-DemiItal A 023 frdi____
+ pfgdo8a FranklinGothic-DemiOblique A 023 frdo____
+ pfgh8a FranklinGothic-Heavy A 023 frh_____
+ pfghi8a FranklinGothic-HeavyItal A 023 frhi____
+ pfgho8a FranklinGothic-HeavyOblique A 023 frho____
+ pfgm8a FranklinGothic-Medium A 023 frm_____
+ pfgmi8a FranklinGothic-MediumItal A 023 frmi____
+ pfgk8a FranklinGothic-Book A 023 frw_____
+ pfgki8a FranklinGothic-BookItal A 023 frwi____
+ pfgko8a FranklinGothic-BookOblique A 023 frwo____
+ pctb8a Cheltenham-Bold A 024 chb_____
+ pctbi8a Cheltenham-BoldItalic A 024 chbi____
+ pctk8a Cheltenham-Book A 024 chw_____
+ pctki8a Cheltenham-BookItalic A 024 chwi____
+ ppar8a ParkAvenue A 025 pa______
+ pbdr8a Bodoni A 026 bd______
+ pbdb8a Bodoni-Bold A 026 bdb_____
+ pbdbi8a Bodoni-BoldItalic A 026 bdbi____
+ pbdri8a Bodoni-Italic A 026 bdi_____
+ pbdp8a Bodoni-Poster A 026 bdps____
+ plgr8a LetterGothic A 027 lg______
+ plgb8a LetterGothic-Bold A 027 lgb_____
+ plgbo8a LetterGothic-BoldSlanted A 027 lgbsl___
+ plgro8a LetterGothic-Slanted A 027 lgsl____
+ pper8a PrestigeElite A 028 pe______
+ ppeb8a PrestigeElite-Bold A 028 peb_____
+ ppebo8a PrestigeElite-BoldSlanted A 028 pebsl___
+ ppero8a PrestigeElite-Slanted A 028 pesl____
+ porr8a Orator A 029 or______
+ porro8a Orator-Slanted A 029 orsl____
+ pngr8a NewsGothic A 030 ng______
+ pngb8a NewsGothic-Bold A 030 ngb_____
+ pngbo8a NewsGothic-BoldOblique A 030 ngbo____
+ pngro8a NewsGothic-Oblique A 030 ngo_____
+ ptfr8a Tiffany A 031 tf______
+ ptfd8a Tiffany-Demi A 031 tfd_____
+ ptfdi8a Tiffany-DemiItalic A 031 tfdi____
+ ptfh8a Tiffany-Heavy A 031 tfh_____
+ ptfhi8a Tiffany-HeavyItalic A 031 tfhi____
+ ptfri8a Tiffany-Italic A 031 tfi_____
+ pcbc8a CooperBlack A 032 cb______
+ pcbci8a CooperBlack-Italic A 032 cbi_____
+ pburw8a BrushScript A 033 bs______
+ phbrw8a Hobo A 033 ho______
+ pslb8a Stencil A 033 st______
+ paab8a Aachen-Bold A 034 acb_____
+ pfcrw8a FreestyleScript A 034 fs______
+ prvb8a Revue A 034 re______
+ puyr8a UniversityRoman A 034 ur______
+ prtr Carta A 035 cr______
+ plcr8a Lucida A 036 lc______
+ plcb8a Lucida-Bold A 036 lcb_____
+ plcbi8a Lucida-BoldItalic A 036 lcbi____
+ plcri8a Lucida-Italic A 036 lci_____
+ punr8a Univers A 037 uv______
+ punb8a Univers-Bold A 037 uvb_____
+ punc8a Univers-Black A 037 uvbl____
+ punco8a Univers-BlackOblique A 037 uvblo___
+ punbo8a Univers-BoldOblique A 037 uvbo____
+ punl8a Univers-Light A 037 uvl_____
+ punlo8a Univers-LightOblique A 037 uvlo____
+ punro8a Univers-Oblique A 037 uvo_____
+ punr8ac Univers-Condensed A 038 uvc_____
+ punb8ac Univers-CondensedBold A 038 uvcb____
+ punbo8ac Univers-CondensedBoldOblique A 038 uvcbo___
+ punro8ac Univers-CondensedOblique A 038 uvcdo___
+ punl8ac Univers-CondensedLight A 038 uvcl____
+ punlo8ac Univers-CondensedLightOblique A 038 uvclo___
+ pfub8a Futura-Bold A 039 fub_____
+ pfubo8a Futura-BoldOblique A 039 fubo____
+ pful8a Futura-Light A 039 ful_____
+ pfulo8a Futura-LightOblique A 039 fulo____
+ pfuk8a Futura-Book A 039 fuw_____
+ pfuko8a Futura-BookOblique A 039 fuwo____
+ pstr8a StoneSerif A 040 sr______
+ pstb8a StoneSerif-Bold A 040 srb_____
+ pstbi8a StoneSerif-BoldItalic A 040 srbi____
+ pstri8a StoneSerif-Italic A 040 sri_____
+ psts8a StoneSerif-Semibold A 040 srsb____
+ pstsi8a StoneSerif-SemiboldItalic A 040 srsbi___
+ ps8r8a StoneSans A 041 ss______
+ ps8b8a StoneSans-Bold A 041 ssb_____
+ ps8bi8a StoneSans-BoldItalic A 041 ssbi____
+ ps8ri8a StoneSans-Italic A 041 ssi_____
+ ps8s8a StoneSans-Semibold A 041 sssb____
+ ps8si8a StoneSans-SemiboldItalic A 041 sssbi___
+ psir8a StoneInformal A 042 si______
+ psib8a StoneInformal-Bold A 042 sib_____
+ psibi8a StoneInformal-BoldItalic A 042 sibi____
+ psiri8a StoneInformal-Italic A 042 sii_____
+ psis8a StoneInformal-Semibold A 042 sisb____
+ psisi8a StoneInformal-SemiboldItalic A 042 sisbi___
+ ponr8a Corona A 043 cn______
+ ponb8a Corona-Bold A 043 cnb_____
+ ponri8a Corona-Italic A 043 cni_____
+ pesr8a Eurostile A 044 eu______
+ pesb8a Eurostile-Bold A 044 eub_____
+ pesbi8a Eurostile-BoldOblique A 044 eubo____
+ pesd8a Eurostile-Demi A 044 eud_____
+ pesdi8a Eurostile-DemiOblique A 044 eudo____
+ pesri8a Eurostile-Oblique A 044 euo_____
+ pexr8a Excelsior A 045 ex______
+ pexb8a Excelsior-Bold A 045 exb_____
+ pexri8a Excelsior-Italic A 045 exi_____
+ pfur8a Futura A 046 fu______
+ pfux8a Futura-ExtraBold A 046 fueb____
+ pfuxo8a Futura-ExtraBoldOblique A 046 fuebo___
+ pfuh8a Futura-Heavy A 046 fuh_____
+ pfuho8a Futura-HeavyOblique A 046 fuho____
+ pfuro8a Futura-Oblique A 046 fuo_____
+ pfuxo8ac Futura-CondExtraBoldObl A 047 fcebo___
+ pfur8ac Futura-Condensed A 047 fuc_____
+ pfub8ac Futura-CondensedBold A 047 fucb____
+ pfubo8ac Futura-CondensedBoldOblique A 047 fucbo___
+ pfux8ac Futura-CondensedExtraBold A 047 fuceb___
+ pful8ac Futura-CondensedLight A 047 fucl____
+ pfulo8ac Futura-CondensedLightOblique A 047 fuclo___
+ pfuro8ac Futura-CondensedOblique A 047 fuco____
+ plsr8a LucidaSans A 048 ls______
+ plsb8a LucidaSans-Bold A 048 lsb_____
+ plsbi8a LucidaSans-BoldItalic A 048 lsbi____
+ plsri8a LucidaSans-Italic A 048 lsi_____
+ pmpb8a Memphis-Bold A 049 mpb_____
+ pmpbi8a Memphis-BoldItalic A 049 mpbi____
+ pmpx8a Memphis-ExtraBold A 049 mpeb____
+ pmpl8a Memphis-Light A 049 mpl_____
+ pmpli8a Memphis-LightItalic A 049 mpli____
+ pmpm8a Memphis-Medium A 049 mpm_____
+ pmpmi8a Memphis-MediumItalic A 049 mpmi____
+ phvx8ap Helvetica-ExtraCompressed A 050 hvek____
+ phvr8ap Helvetica-Compressed A 050 hvk_____
+ phvu8ap Helvetica-UltraCompressed A 050 hvuk____
+ pitb8a Italia-Bold A 051 itb_____
+ pitm8a Italia-Medium A 051 itm_____
+ pitk8a Italia-Book A 051 itw_____
+ pblb8a Belwe-Bold A 052 bwb_____
+ pblr8ac Belwe-Condensed A 052 bwc_____
+ pbll8a Belwe-Light A 052 bwl_____
+ pblm8a Belwe-Medium A 052 bwm_____
+ pc5ri8a CaslonFiveForty-Italic A 053 cfi_____
+ pc5r8a CaslonFiveForty-Roman A 053 cfr_____
+ pc3ri8a CaslonThree-Italic A 053 cti_____
+ pc3r8a CaslonThree-Roman A 053 ctr_____
+ pgyx8a Goudy-ExtraBold A 054 goeb____
+ pgyh8a Goudy-Heavyface A 054 goh_____
+ pgyhi8a Goudy-HeavyfaceItalic A 054 gohi____
+ pjnb8a JansonText-Bold A 055 jtb_____
+ pjnbi8a JansonText-BoldItalic A 055 jtbi____
+ pjnri8a JansonText-Italic A 055 jti_____
+ pjnr8a JansonText-Roman A 055 jtr_____
+ ierb8a ItcEras-Bold A 056 erb_____
+ ierk8a ItcEras-Book A 056 erbk____
+ ierd8a ItcEras-Demi A 056 erd_____
+ ierl8a ItcEras-Light A 056 erl_____
+ ierm8a ItcEras-Medium A 056 erm_____
+ ieru8a ItcEras-Ultra A 056 eru_____
+ ikbb8a ItcKabel-Bold A 057 kbb_____
+ ikbd8a ItcKabel-Demi A 057 kbd_____
+ ikbm8a ItcKabel-Medium A 057 kbm_____
+ ikbu8a ItcKabel-Ultra A 057 kbu_____
+ ikbk8a ItcKabel-Book A 057 kbw_____
+ p_____ MICR A 058 mi______
+ poar OCRA A 058 oa______
+ poara OCRA-Alternate A 058 oaalt___
+ pobr OCRB A 058 ob______
+ pobra OCRB-Alternate A 058 obalt___
+ phnc8a HelveticaNeue-Black A 059 hlbl____
+ phnci8a HelveticaNeue-BlackItalic A 059 hlbli___
+ phnj8a HelveticaNeue-UltraLight A 059 hlul____
+ phnji8a HelveticaNeue-UltraLightItal A 059 hluli___
+ phnb8a HelveticaNeue-Bold A 060 hlb_____
+ phnbi8a HelveticaNeue-BoldItalic A 060 hlbi____
+ phnri8a HelveticaNeue-Italic A 060 hli_____
+ phnr8a HelveticaNeue-Roman A 060 hlr_____
+ phna8a HelveticaNeue-Thin A 060 hlt_____
+ phnai8a HelveticaNeue-ThinItalic A 060 hlti____
+ phnh8a HelveticaNeue-Heavy A 061 hlh_____
+ phnhi8a HelveticaNeue-HeavyItalic A 061 hlhi____
+ phnl8a HelveticaNeue-Light A 061 hll_____
+ phnli8a HelveticaNeue-LightItalic A 061 hlli____
+ phnm8a HelveticaNeue-Medium A 061 hlm_____
+ phnmi8a HelveticaNeue-MediumItalic A 061 hlmi____
+ pttb8a TimesTen-Bold A 062 ttb_____
+ pttbi8a TimesTen-BoldItalic A 062 ttbi____
+ pttri8a TimesTen-Italic A 062 tti_____
+ pttr8a TimesTen-Roman A 062 ttr_____
+ pkur8a Kaufmann A 063 kf______
+ pkub8a Kaufmann-Bold A 063 kfb_____
+ pcdr8a Clarendon A 064 cl______
+ pcdb8a Clarendon-Bold A 064 clb_____
+ pcdl8a Clarendon-Light A 064 cll_____
+ ppgb8a Peignot-Bold A 065 pgb_____
+ ppgd8a Peignot-Demi A 065 pgd_____
+ ppgl8a Peignot-Light A 065 pgl_____
+ pndr8a NewCaledonia A 066 nl______
+ pndb8a NewCaledonia-Bold A 066 nlb_____
+ pndbi8a NewCaledonia-BoldItalic A 066 nlbi____
+ pndc8a NewCaledonia-Black A 066 nlbl____
+ pndci8a NewCaledonia-BlackItalic A 066 nlbli___
+ pndri8a NewCaledonia-Italic A 066 nli_____
+ pnds8a NewCaledonia-SemiBold A 066 nls_____
+ pndsi8a NewCaledonia-SemiBoldItalic A 066 nlsi____
+ pcfb8a Clearface-Bold A 067 ceb_____
+ pcfbi8a Clearface-BoldItalic A 067 cebi____
+ pcfc8a Clearface-Black A 067 cebl____
+ pcfci8a Clearface-BlackItalic A 067 cebli___
+ pcfh8a Clearface-Heavy A 067 ceh_____
+ pcfhi8a Clearface-HeavyItalic A 067 cehi____
+ pcfr8a Clearface-Regular A 067 cerg____
+ pcfri8a Clearface-RegularItalic A 067 cergi___
+ pamr8a Americana A 068 am______
+ pamb8a Americana-Bold A 068 amb_____
+ pamx8a Americana-ExtraBold A 068 ameb____
+ pamri8a Americana-Italic A 068 ami_____
+ psgr8a SerifGothic A 069 sg______
+ psgb8a SerifGothic-Bold A 069 sgb_____
+ psgc8a SerifGothic-Black A 069 sgbl____
+ psgx8a SerifGothic-ExtraBold A 069 sgeb____
+ psgh8a SerifGothic-Heavy A 069 sgh_____
+ psgl8a SerifGothic-Light A 069 sgl_____
+ pcnr8ax CenturyExpanded A 070 cy______
+ pcnri8ax CenturyExpanded-Italic A 070 cyi_____
+ psfb8a Serifa-Bold A 071 seb_____
+ psfc8a Serifa-Black A 071 sebl____
+ psfri8a Serifa-Italic A 071 sei_____
+ psfl8a Serifa-Light A 071 sel_____
+ psfli8a Serifa-LightItalic A 071 seli____
+ psfr8a Serifa-Roman A 071 ser_____
+ pcarl8a CaslonOpenFace A 072 ca______
+ pfrb8a Frutiger-Bold A 073 ftb_____
+ pfrbi8a Frutiger-BoldItalic A 073 ftbi____
+ pfrc8a Frutiger-Black A 073 ftbl____
+ pfrci8a Frutiger-BlackItalic A 073 ftbli___
+ pfrri8a Frutiger-Italic A 073 fti_____
+ pfrl8a Frutiger-Light A 073 ftl_____
+ pfrli8a Frutiger-LightItalic A 073 ftli____
+ pfrr8a Frutiger-Roman A 073 ftr_____
+ pfru8a Frutiger-UltraBlack A 073 ftubl___
+ pceb8a Centennial-Bold A 074 cib_____
+ pcebi8a Centennial-BoldItalic A 074 cibi____
+ pcec8a Centennial-Black A 074 cibl____
+ pceci8a Centennial-BlackItalic A 074 cibli___
+ pceri8a Centennial-Italic A 074 cii_____
+ pcel8a Centennial-Light A 074 cil_____
+ pceli8a Centennial-LightItalic A 074 cili____
+ pcer8a Centennial-Roman A 074 cir_____
+ pegb8a StempelGaramond-Bold A 075 gsb_____
+ pegbi8a StempelGaramond-BoldItalic A 075 gsbi____
+ pegri8a StempelGaramond-Italic A 075 gsi_____
+ pegr8a StempelGaramond-Roman A 075 gsr_____
+ pwsr8a Weiss A 076 we______
+ pwsb8a Weiss-Bold A 076 web_____
+ pwsx8a Weiss-ExtraBold A 076 weeb____
+ pwsri8a Weiss-Italic A 076 wei_____
+ pg3r8a GaramondThree A 077 gm______
+ pg3b8a GaramondThree-Bold A 077 gmb_____
+ pg3bi8a GaramondThree-BoldItalic A 077 gmbi____
+ pg3ri8a GaramondThree-Italic A 077 gmi_____
+ pulrk Universal-GreekwithMathPi A 078 unvmg___
+ pulrncp Universal-NewswithCommPi A 078 unvnc___
+ pavh8a Avenir-Heavy A 079 aeh_____
+ pavho8a Avenir-HeavyOblique A 079 aeho____
+ pavl8a Avenir-Light A 079 ael_____
+ pavlo8a Avenir-LightOblique A 079 aelo____
+ pavr8a Avenir-Roman A 079 aer_____
+ pavro8a Avenir-Oblique A 079 aero____
+ pavc8a Avenir-Black A 080 aebl____
+ pavco8a Avenir-BlackOblique A 080 aeblo___
+ pavm8a Avenir-Medium A 080 aem_____
+ pavmo8a Avenir-MediumOblique A 080 aemo____
+ pavk8a Avenir-Book A 080 aew_____
+ pavko8a Avenir-BookOblique A 080 aewo____
+ pwbb8a WalbaumBook-Bold A 081 wbb_____
+ pwbbi8a WalbaumBook-BoldItalic A 081 wbbi____
+ pwbri8a WalbaumBook-Italic A 081 wbi_____
+ pwbm8a WalbaumBook-Medium A 081 wbm_____
+ pwbmi8a WalbaumBook-MediumItalic A 081 wbmi____
+ pwbr8a WalbaumBook-Regular A 081 wbrg____
+ paob8a AntiqueOlive-Bold A 082 aqb_____
+ paoc8a AntiqueOlive-Black A 082 aqbl____
+ paori8a AntiqueOlive-Italic A 082 aqi_____
+ paol8a AntiqueOlive-Light A 082 aql_____
+ paor8a AntiqueOlive-Roman A 082 aqr_____
+ plfb8a Life-Bold A 083 lib_____
+ plfri8a Life-Italic A 083 lii_____
+ plfr8a Life-Roman A 083 lir_____
+ pocri8a ConcordeBE-Italic A 084 qqi_____
+ pocm8a ConcordeBE-Medium A 084 qqm_____
+ pocmi8a ConcordeBE-MediumItalic A 084 qqmi____
+ pocr8a ConcordeBE-Regular A 084 qqrg____
+ pg1r8a Gothic-Thirteen A 085 gtt_____
+ ptph8ac Tempo-HeavyCondensed A 085 tehc____
+ ptphi8ac Tempo-HeavyCondensedItalic A 085 tehci___
+ pcor8a Cochin A 086 cc______
+ pcob8a Cochin-Bold A 086 ccb_____
+ pcobi8a Cochin-BoldItalic A 086 ccbi____
+ pcori8a Cochin-Italic A 086 cci_____
+ pbhb8a Bauhaus-Bold A 087 bhb_____
+ pbhd8a Bauhaus-Demi A 087 bhd_____
+ pbhh8a Bauhaus-Heavy A 087 bhh_____
+ pbhl8a Bauhaus-Light A 087 bhl_____
+ pbhm8a Bauhaus-Medium A 087 bhm_____
+ psbb8a Sabon-Bold A 088 sab_____
+ psbbi8a Sabon-BoldItalic A 088 sabi____
+ psbri8a Sabon-Italic A 088 sai_____
+ psbr8a Sabon-Roman A 088 sar_____
+ phgb8a Hiroshige-Bold A 089 hrb_____
+ phgbi8a Hiroshige-BoldItalic A 089 hrbi____
+ phgc8a Hiroshige-Black A 089 hrbl____
+ phgci8a Hiroshige-BlackItalic A 089 hrbli___
+ phgm8a Hiroshige-Medium A 089 hrm_____
+ phgmi8a Hiroshige-MediumItalic A 089 hrmi____
+ phgk8a Hiroshige-Book A 089 hrw_____
+ phgki8a Hiroshige-BookItalic A 089 hrwi____
+ pabr8a ArnoldBoecklin A 090 ab______
+ pftrf8a FetteFraktur A 090 ff______
+ pftrf7c FetteFraktur-Dfr A 090 ffdfr___
+ phir8a HelveticaInserat-Roman A 090 hir_____
+ pptr8a Present A 090 pr______
+ pdcr8a DomCasual A 091 dc______
+ pdcb8a DomCasual-Bold A 091 dcb_____
+ ppqm8a PostAntiquaBE-Medium A 092 pbm_____
+ ppqr8a PostAntiquaBE-Regular A 092 pbrg____
+ pfob8a Folio-Bold A 093 fob_____
+ pfob8ac Folio-BoldCondensed A 093 fobc____
+ pfox8a Folio-ExtraBold A 093 foeb____
+ pfol8a Folio-Light A 093 fol_____
+ pfom8a Folio-Medium A 093 fom_____
+ plnrw8a Linoscript A 094 lp______
+ plnrf8a Linotext A 094 lx______
+ plnrf7c Linotext-Dfr A 094 lxdfr___
+ pvrb8a VAGRounded-Bold A 095 vrb_____
+ pvrc8a VAGRounded-Black A 095 vrbl____
+ pvrl8a VAGRounded-Light A 095 vrl_____
+ pvra8a VAGRounded-Thin A 095 vrt_____
+ pazb8a AkzidenzGroteskBE-Bold A 096 gfb_____
+ pazbi8a AkzidenzGroteskBE-BoldIt A 096 gfbi____
+ pazri8a AkzidenzGroteskBE-It A 096 gfi_____
+ pazl8a AkzidenzGroteskBE-Light A 096 gfl_____
+ pazlj8a AkzidenzGroteskBE-LightOsF A 096 gflos___
+ pazm8a AkzidenzGroteskBE-Md A 096 gfm_____
+ pazmi8a AkzidenzGroteskBE-MdIt A 096 gfmi____
+ pazr8a AkzidenzGroteskBE-Regular A 096 gfrg____
+ pazu8a AkzidenzGroteskBE-Super A 096 gfsu____
+ pipb8a Impressum-Bold A 097 imb_____
+ pipri8a Impressum-Italic A 097 imi_____
+ pipr8a Impressum-Roman A 097 imr_____
+ pubb8a BauerBodoni-Bold A 098 bbb_____
+ pubbi8a BauerBodoni-BoldItalic A 098 bbbi____
+ pubri8a BauerBodoni-Italic A 098 bbi_____
+ pubr8a BauerBodoni-Roman A 098 bbr_____
+ pnar8a NewAster A 099 na______
+ pnab8a NewAster-Bold A 099 nab_____
+ pnabi8a NewAster-BoldItalic A 099 nabi____
+ pnac8a NewAster-Black A 099 nabl____
+ pnaci8a NewAster-BlackItalic A 099 nabli___
+ pnari8a NewAster-Italic A 099 nai_____
+ pnas8a NewAster-SemiBold A 099 nas_____
+ pnasi8a NewAster-SemiBoldItalic A 099 nasi____
+ padb8a AGaramond-Bold A 100 gdb_____
+ padbi8a AGaramond-BoldItalic A 100 gdbi____
+ padri8a AGaramond-Italic A 100 gdi_____
+ padr8a AGaramond-Regular A 100 gdrg____
+ pads8a AGaramond-Semibold A 100 gdsb____
+ padsi8a AGaramond-SemiboldItalic A 100 gdsbi___
+ padbij8a AGaramond-BoldItalicOsF A 101 gdbio___
+ padbj8a AGaramond-BoldOsF A 101 gdbos___
+ padrij8a AGaramond-ItalicOsF A 101 gdio____
+ padsc8a AGaramond-SemiboldSC A 101 gdsbs___
+ padrc8a AGaramond-RegularSC A 101 gdsc____
+ padsij8a AGaramond-SemiboldItalicOsF A 101 gdsis___
+ padrd8a AGaramond-Titling A 101 gdttl___
+ padb8x AGaramondExp-Bold A 101 geb_____
+ padbi8x AGaramondExp-BoldItalic A 101 gebi____
+ padri8x AGaramondExp-Italic A 101 gei_____
+ padr8x AGaramondExp-Regular A 101 gerg____
+ pads8x AGaramondExp-Semibold A 101 gesb____
+ padsi8x AGaramondExp-SemiboldItalic A 101 gesbi___
+ padri7a AGaramondAlt-Italic A 101 ggi_____
+ padr7a AGaramondAlt-Regular A 101 ggrg____
+ pcib8a Candida-Bold A 102 cgb_____
+ pciri8a Candida-Italic A 102 cgi_____
+ pcir8a Candida-Roman A 102 cgr_____
+ pfgr8ac FranklinGothic-Condensed A 103 fgc_____
+ pfgr8aq FranklinGothic-ExtraCond A 103 fgec____
+ pfgr8a FranklinGothic-Roman A 103 fgr_____
+ putb8a Utopia-Bold A 104 utb_____
+ putbi8a Utopia-BoldItalic A 104 utbi____
+ putc8a Utopia-Black A 104 utbl____
+ putri8a Utopia-Italic A 104 uti_____
+ putr8a Utopia-Regular A 104 utrg____
+ puts8a Utopia-Semibold A 104 utsb____
+ putsi8a Utopia-SemiboldItalic A 104 utsbi___
+ putb8x UtopiaExp-Bold A 105 ueb_____
+ putbi8x UtopiaExp-BoldItalic A 105 uebi____
+ putc8x UtopiaExp-Black A 105 uebl____
+ putri8x UtopiaExp-Italic A 105 uei_____
+ putr8x UtopiaExp-Regular A 105 uerg____
+ puts8x UtopiaExp-Semibold A 105 uesb____
+ putsi8x UtopiaExp-SemiboldItalic A 105 uesbi___
+ putbij8a Utopia-BoldItalicOsF A 105 utbio___
+ putbj8a Utopia-BoldOsF A 105 utbos___
+ putrij8a Utopia-ItalicOsF A 105 utio____
+ putrp Utopia-Ornaments A 105 utor____
+ putrc8a Utopia-RegularSC A 105 utrsc___
+ putsc8a Utopia-SemiboldSC A 105 utsbs___
+ putsij8a Utopia-SemiboldItalicOsF A 105 utsis___
+ putrd8a Utopia-Titling A 105 utttl___
+ putcj8a Utopia-BlackOsF A 105 utzof___
+ pbyb8a Berkeley-Bold A 106 byb_____
+ pbybi8a Berkeley-BoldItalic A 106 bybi____
+ pbyc8a Berkeley-Black A 106 bybl____
+ pbyci8a Berkeley-BlackItalic A 106 bybli___
+ pbymi8a Berkeley-Italic A 106 byi_____
+ pbym8a Berkeley-Medium A 106 bym_____
+ pbyk8a Berkeley-Book A 106 byw_____
+ pbyki8a Berkeley-BookItalic A 106 bywi____
+ paob8ac AntiqueOlive-BoldCond A 107 aqbc____
+ paor8ap AntiqueOlive-Compact A 107 aqct____
+ paohix8a AntiqueOlive-Nord A 107 aqnr____
+ paohrx8a AntiqueOlive-NordItalic A 107 aqnri___
+ ppsr8a Parisian A 108 pn______
+ pumr8a Umbra A 108 um______
+ pmsrw8a Mistral A 109 ms______
+ prprw8a Reporter-Two A 109 rp______
+ pccrw8a CascadeScript A 110 ck______
+ pmirw8a MediciScript A 110 mc______
+ pnurw8a NuptialScript A 110 nu______
+ pubb8ac BauerBodoni-BoldCond A 111 bbbc____
+ pubc8a BauerBodoni-Black A 111 bbbl____
+ pubc8ac BauerBodoni-BlackCond A 111 bbblc___
+ pubci8a BauerBodoni-BlackItalic A 111 bbbli___
+ pmdb8a Meridien-Bold A 112 m0b_____
+ pmdbi8a Meridien-BoldItalic A 112 m0bi____
+ pmdri8a Meridien-Italic A 112 m0i_____
+ pmdm8a Meridien-Medium A 112 m0m_____
+ pmdmi8a Meridien-MediumItalic A 112 m0mi____
+ pmdr8a Meridien-Roman A 112 m0r_____
+ zpcp29ab Copperplate-TwentyNineAB A 113 cp29a___
+ zpcp29bc Copperplate-TwentyNineBC A 113 cp29c___
+ zpcp30ab Copperplate-ThirtyAB A 113 cp30a___
+ zpcp30bc Copperplate-ThirtyBC A 113 cp30c___
+ zpcp31ab Copperplate-ThirtyOneAB A 113 cp31a___
+ zpcp31bc Copperplate-ThirtyOneBC A 113 cp31c___
+ zpcp32ab Copperplate-ThirtyTwoAB A 113 cp32a___
+ zpcp32bc Copperplate-ThirtyTwoBC A 113 cp32c___
+ zpcp33bc Copperplate-ThirtyThreeBC A 113 cp33c___
+ pnvb8a Novarese-Bold A 114 nob_____
+ pnvbi8a Novarese-BoldItalic A 114 nobi____
+ pnvm8a Novarese-Medium A 114 nom_____
+ pnvmi8a Novarese-MediumItalic A 114 nomi____
+ pnvu8a Novarese-Ultra A 114 nou_____
+ pnvk8a Novarese-Book A 114 now_____
+ pnvki8a Novarese-BookItalic A 114 nowi____
+ pksbw8a KuenstlerScript-TwoBold A 115 kt2b____
+ pkscw8a KuenstlerScript-Black A 115 ktbl____
+ pksmw8a KuenstlerScript-Medium A 115 ktm_____
+ parr8a Arcadia A 116 a_______
+ parra8a Arcadia-A A 116 a_aaa___
+ pinrh8a Industria-Inline A 116 inin____
+ pinrha8a Industria-InlineA A 116 inina___
+ piar8a Insignia A 116 ins_____
+ piara8a Insignia-A A 116 insa____
+ pinr8a Industria-Solid A 116 insd____
+ pinra8a Industria-SolidA A 116 insda___
+ psvb8a Souvenir-Bold A 117 sub_____
+ psvbi8a Souvenir-BoldItalic A 117 subi____
+ psvm8a Souvenir-Medium A 117 sum_____
+ psvmi8a Souvenir-MediumItalic A 117 sumi____
+ pbdb8ac Bodoni-BoldCondensed A 118 bdbc____
+ pbdp8ap Bodoni-PosterCompressed A 118 bdpsc___
+ pbdpi8a Bodoni-PosterItalic A 118 bdpsi___
+ pbdk8a Bodoni-Book A 118 bdw_____
+ pbdki8a Bodoni-BookItalic A 118 bdwi____
+ prqr8a RussellSquare A 119 ru______
+ prqro8a RussellSquare-Oblique A 119 ruo_____
+ pcgb8a Charlemagne-Bold A 120 czb_____
+ pcgr8a Charlemagne-Regular A 120 czrg____
+ ptjb8a Trajan-Bold A 120 tjb_____
+ ptjr8a Trajan-Regular A 120 tjrg____
+ plob8a Lithos-Bold A 121 lob_____
+ ploc8a Lithos-Black A 121 lobl____
+ ploi8a Lithos-ExtraLight A 121 loel____
+ plol8a Lithos-Light A 121 lol_____
+ plor8a Lithos-Regular A 121 lorg____
+ pcwr8a Cottonwood A 122 c_______
+ piwr8a Ironwood A 122 i_______
+ pjpr8a Juniper A 122 j_______
+ pmqr8a Mesquite A 122 m_______
+ ppor8a Ponderosa A 122 p_______
+ ppi026 WoodtypeOrnaments-One A 122 woor____
+ ptkb8a Tekton-Bold A 123 tkb_____
+ ptkbo8a Tekton-BoldOblique A 123 tkbo____
+ ptkro8a Tekton-Oblique A 123 tko_____
+ ptkr8a Tekton A 123 tkrg____
+ pagb8ac AvantGarde-CondBold A 124 agcb____
+ pagd8ac AvantGarde-CondDemi A 124 agcd____
+ pagm8ac AvantGarde-CondMedium A 124 agcm____
+ pagk8ac AvantGarde-CondBook A 124 agcw____
+ pssb8a StempelSchneidler-Bold A 125 skb_____
+ pssbi8a StempelSchneidler-BoldItalic A 125 skbi____
+ pssc8a StempelSchneidler-Black A 125 skbl____
+ pssci8a StempelSchneidler-BlackItalic A 125 skbli___
+ pssri8a StempelSchneidler-Italic A 125 ski_____
+ pssl8a StempelSchneidler-Light A 125 skl_____
+ pssli8a StempelSchneidler-LightItalic A 125 skli____
+ pssm8a StempelSchneidler-Medium A 125 skm_____
+ pssmi8a StempelSchneidler-MedItalic A 125 skmi____
+ pssr8a StempelSchneidler-Roman A 125 skr_____
+ ptgr8a TradeGothic A 126 tg______
+ ptgb8a TradeGothic-Bold A 126 tgb_____
+ ptgbo8a TradeGothic-BoldOblique A 126 tgbo____
+ ptgc8a TradeGothic-BoldTwo A 126 tgb2____
+ ptgco8a TradeGothic-BoldTwoOblique A 126 tgb2o___
+ ptgl8a TradeGothic-Light A 126 tgl_____
+ ptglo8a TradeGothic-LightOblique A 126 tglo____
+ ptgro8a TradeGothic-Oblique A 126 tgo_____
+ ptgb8ac TradeGothic-BoldCondTwenty A 127 tgbc____
+ ptgbo8ac TradeGothic-BoldCondTwentyObl A 127 tgbco___
+ ptgr8ac TradeGothic-CondEighteen A 127 tgc_____
+ ptgro8ac TradeGothic-CondEighteenObl A 127 tgco____
+ prar8a Raleigh A 128 ra______
+ prab8a Raleigh-Bold A 128 rab_____
+ prad8a Raleigh-DemiBold A 128 rad_____
+ pram8a Raleigh-Medium A 128 ram_____
+ pmtb8a Minister-Bold A 129 mzb_____
+ pmtbi8a Minister-BoldItalic A 129 mzbi____
+ pmtc8a Minister-Black A 129 mzbl____
+ pmtci8a Minister-BlackItalic A 129 mzbli___
+ pmtl8a Minister-Light A 129 mzl_____
+ pmtli8a Minister-LightItalic A 129 mzli____
+ pmtk8a Minister-Book A 129 mzw_____
+ pmtki8a Minister-BookItalic A 129 mzwi____
+ pesb8ac Eurostile-BoldCondensed A 130 eubc____
+ pesb8ax Eurostile-BoldExtendedTwo A 130 eubex___
+ pesr8ac Eurostile-Condensed A 130 euc_____
+ pesr8ax Eurostile-ExtendedTwo A 130 euex____
+ pwdb8a Weidemann-Bold A 131 wdb_____
+ pwdbi8a Weidemann-BoldItalic A 131 wdbi____
+ pwdc8a Weidemann-Black A 131 wdbl____
+ pwdci8a Weidemann-BlackItalic A 131 wdbli___
+ pwdm8a Weidemann-Medium A 131 wdm_____
+ pwdmi8a Weidemann-MediumItalic A 131 wdmi____
+ pwdk8a Weidemann-Book A 131 wdw_____
+ pwdki8a Weidemann-BookItalic A 131 wdwi____
+ pqrb8a Quorum-Bold A 132 qob_____
+ pqrc8a Quorum-Black A 132 qobl____
+ pqrl8a Quorum-Light A 132 qol_____
+ pqrm8a Quorum-Medium A 132 qom_____
+ pqrk8a Quorum-Book A 132 qow_____
+ pcxb8a Caxton-Bold A 133 cxb_____
+ pcxbi8a Caxton-BoldItalic A 133 cxbi____
+ pcxl8a Caxton-Light A 133 cxl_____
+ pcxli8a Caxton-LightItalic A 133 cxli____
+ pcxk8a Caxton-Book A 133 cxw_____
+ pcxki8a Caxton-BookItalic A 133 cxwi____
+ psxb8a Syntax-Bold A 134 sxb_____
+ psxc8a Syntax-Black A 134 sxbl____
+ psxri8a Syntax-Italic A 134 sxi_____
+ psxr8a Syntax-Roman A 134 sxr_____
+ psxu8a Syntax-UltraBlack A 134 sxubl___
+ pdrb8a Doric-Bold A 135 drb_____
+ pmxr8a Maximus A 135 mx______
+ pserd8a Shelley-AllegroScript A 136 shal____
+ pser8a Shelley-AndanteScript A 136 shan____
+ pserw8a Shelley-VolanteScript A 136 shvo____
+ pnzk8a NeuzeitS-Book A 137 new_____
+ pnzh8a NeuzeitS-BookHeavy A 137 newh____
+ pvlb8a Versailles-Bold A 138 veb_____
+ pvlbi8a Versailles-BoldItalic A 138 vebi____
+ pvlc8a Versailles-Black A 138 vebl____
+ pvlci8a Versailles-BlackItalic A 138 vebli___
+ pvlri8a Versailles-Italic A 138 vei_____
+ pvll8a Versailles-Light A 138 vel_____
+ pvlli8a Versailles-LightItalic A 138 veli____
+ pvlr8a Versailles-Roman A 138 ver_____
+ pgmb8ac Garamond-BoldCondensed A 139 gabc____
+ pgmbi8ac Garamond-BoldCondensedItalic A 139 gabci___
+ pgml8ac Garamond-LightCondensed A 139 galc____
+ pgmlu8ac Garamond-LightCondensedItalic A 139 galci___
+ pgmu8ac Garamond-UltraCondensed A 139 gauc____
+ pgmui8ac Garamond-UltraCondensedItalic A 139 gauci___
+ pgmk8ac Garamond-BookCondensed A 139 gawc____
+ pgmki8ac Garamond-BookCondensedItalic A 139 gawci___
+ pctl8a Cheltenham-Light A 140 chl_____
+ pctli8a Cheltenham-LightItalic A 140 chli____
+ pctu8a Cheltenham-Ultra A 140 chu_____
+ pctui8a Cheltenham-UltraItalic A 140 chui____
+ pcnb8a Century-Bold A 141 icb_____
+ pcnbi8a Century-BoldItalic A 141 icbi____
+ pcnl8a Century-Light A 141 icl_____
+ pcnli8a Century-LightItalic A 141 icli____
+ pcnu8a Century-Ultra A 141 icu_____
+ pcnui8a Century-UltraItalic A 141 icui____
+ pcnk8a Century-Book A 141 icw_____
+ pcnki8a Century-BookItalic A 141 icwi____
+ pcnb8ac Century-BoldCondensed A 142 icbc____
+ pcnbi8ac Century-BoldCondensedItalic A 142 icbci___
+ pcnl8ac Century-LightCondensed A 142 iclc____
+ pcnli8ac Century-LightCondensedItalic A 142 iclci___
+ pcnu8ac Century-UltraCondensed A 142 icuc____
+ pcnui8ac Century-UltraCondensedItalic A 142 icuci___
+ pcnk8ac Century-BookCondensed A 142 icwc____
+ pcnki8ac Century-BookCondensedItalic A 142 icwci___
+ pmnb8a Minion-Bold A 143 mob_____
+ pmnbi8a Minion-BoldItalic A 143 mobi____
+ pmnc8a Minion-Black A 143 mobl____
+ pmnrd8a Minion-DisplayRegular A 143 mods____
+ pmnrid8a Minion-DisplayItalic A 143 modsi___
+ pmnri8a Minion-Italic A 143 moi_____
+ pmnr8a Minion-Regular A 143 morg____
+ pmns8a Minion-Semibold A 143 mosb____
+ pmnsi8a Minion-SemiboldItalic A 143 mosbi___
+ pmnb8x MinionExp-Bold A 144 mjb_____
+ pmnbi8x MinionExp-BoldItalic A 144 mjbi____
+ pmnc8x MinionExp-Black A 144 mjbl____
+ pmnrd8x MinionExp-DisplayRegular A 144 mjds____
+ pmnrid8x MinionExp-DisplayItalic A 144 mjdsi___
+ pmnri8x MinionExp-Italic A 144 mji_____
+ pmnr8x MinionExp-Regular A 144 mjrg____
+ pmns8x MinionExp-Semibold A 144 mjsb____
+ pmnsi8x MinionExp-SemiboldItalic A 144 mjsbi___
+ pmnbij8a Minion-BoldItalicOsF A 144 mobio___
+ pmnbj8a Minion-BoldOsF A 144 mobos___
+ pmnricd8a Minion-DisplayItalicSC A 144 modis___
+ pmnrcd8a Minion-DisplayRegularSC A 144 modsc___
+ pmnric8a Minion-ItalicSC A 144 moisc___
+ pmnrp Minion-Ornaments A 144 moor____
+ pmnsc8a Minion-SemiboldSC A 144 mosbs___
+ pmnrc8a Minion-RegularSC A 144 mosc____
+ pmnriwd7a Minion-SwashDisplayItalic A 144 mosdi___
+ pmnsic8a Minion-SemiboldItalicSC A 144 mosic___
+ pmnsiw7a Minion-SwashSemiboldItalic A 144 mossb___
+ pmnriw7a Minion-SwashItalic A 144 moswi___
+ pmncj8a Minion-BlackOsF A 144 mozof___
+ mnsb8a TimesNewRomanPS-Bold A 145 mtb_____
+ mnsbi8a TimesNewRomanPS-BoldItalic A 145 mtbi____
+ mnsri8a TimesNewRomanPS-Italic A 145 mti_____
+ pnsr8a TimesNewRomanPS A 145 mtr_____
+ pbkb8a Bookman-Bold A 146 bkb_____
+ pbkbi8a Bookman-BoldItalic A 146 bkbi____
+ pbkm8a Bookman-Medium A 146 bkm_____
+ pbkmi8a Bookman-MediumItalic A 146 bkmi____
+ psrrw8a SnellRoundhand-Script A 147 sn______
+ psrbw8a SnellRoundhand-BoldScript A 147 snb_____
+ psrcw8a SnellRoundhand-BlackScript A 147 snbl____
+ pigb8a SimonciniGaramond-Bold A 148 gib_____
+ pigri8a SimonciniGaramond-Italic A 148 gii_____
+ pigr8a SimonciniGaramond A 148 gir_____
+ pbcr8a Banco A 149 bc______
+ phmr8a Charme A 149 cu______
+ pfyc8ac Flyer-BlackCondensed A 149 flblc___
+ pfyx8ac Flyer-ExtraBlackCondensed A 149 flebc___
+ pwgrf8a WilhelmKlingsporGotisch A 149 wk______
+ pwgrf7c WilhelmKlingsporGotisch-Dfr A 149 wkdfr___
+ pgmu8a Garamond-Ultra A 150 gau_____
+ pgmui8a Garamond-UltraItalic A 150 gaui____
+ pgmk8a Garamond-Book A 150 gaw_____
+ pgmki8a Garamond-BookItalic A 150 gawi____
+ prwr8a Rockwell A 151 rk______
+ prwb8a Rockwell-Bold A 151 rkb_____
+ prwbi8a Rockwell-BoldItalic A 151 rkbi____
+ prwri8a Rockwell-Italic A 151 rki_____
+ prwl8a Rockwell-Light A 151 rkl_____
+ prwli8a Rockwell-LightItalic A 151 rkli____
+ pgsr8a GillSans A 152 gn______
+ pgsb8a GillSans-Bold A 152 gnb_____
+ pgsbi8a GillSans-BoldItalic A 152 gnbi____
+ pgsri8a GillSans-Italic A 152 gni_____
+ pgsl8a GillSans-Light A 152 gnl_____
+ pgsli8a GillSans-LightItalic A 152 gnli____
+ pspb8a Serpentine-Bold A 153 sfb_____
+ pspbo8a Serpentine-BoldOblique A 153 sfbo____
+ pspl8a Serpentine-Light A 153 sfl_____
+ psplo8a Serpentine-LightOblique A 153 sflo____
+ pspm8a Serpentine-Medium A 153 sfm_____
+ pspmo8a Serpentine-MediumOblique A 153 sfmo____
+ plcrv LucidaMath-Extension A 154 lme_____
+ plcrim LucidaMath-Italic A 154 lmi_____
+ plcry LucidaMath-Symbol A 154 lms_____
+ ppi005 EuropeanPi-One A 155 euro1___
+ ppi006 EuropeanPi-Two A 155 euro2___
+ ppi007 EuropeanPi-Three A 155 euro3___
+ ppi008 EuropeanPi-Four A 155 euro4___
+ ppi001 BorderPi-OneFiveOneFiveNine A 155 j1515___
+ ppi002 BundesbahnPi-One A 156 db1_____
+ ppi003 BundesbahnPi-Two A 156 db2_____
+ ppi004 BundesbahnPi-Three A 156 db3_____
+ pc2b8a CaslonTwoTwentyFour-Bold A 157 c2b_____
+ pc2bi8a CaslonTwoTwentyFour-BoldIt A 157 c2bi____
+ pc2c8a CaslonTwoTwentyFour-Black A 157 c2bl____
+ pc2ci8a CaslonTwoTwentyFour-BlackIt A 157 c2bli___
+ pc2m8a CaslonTwoTwentyFour-Medium A 157 c2m_____
+ pc2mi8a CaslonTwoTwentyFour-MediumIt A 157 c2mi____
+ pc2k8a CaslonTwoTwentyFour-Book A 157 c2w_____
+ pc2ki8a CaslonTwoTwentyFour-BookIt A 157 c2wi____
+ ppi020 MathematicalPi-One A 158 mh1_____
+ ppi021 MathematicalPi-Two A 158 mh2_____
+ ppi022 MathematicalPi-Three A 158 mh3_____
+ ppi023 MathematicalPi-Four A 158 mh4_____
+ ppi024 MathematicalPi-Five A 158 mh5_____
+ ppi025 MathematicalPi-Six A 158 mh6_____
+ plwb8a Leawood-Bold A 159 lwb_____
+ plwbi8a Leawood-BoldItalic A 159 lwbi____
+ plwc8a Leawood-Black A 159 lwbl____
+ plwci8a Leawood-BlackItalic A 159 lwbli___
+ plwm8a Leawood-Medium A 159 lwm_____
+ plwmi8a Leawood-MediumItalic A 159 lwmi____
+ plwk8a Leawood-Book A 159 lww_____
+ plwki8a Leawood-BookItalic A 159 lwwi____
+ pbir8a Birch A 160 bi______
+ pb0r8a Blackoak A 160 bo______
+ pmrr8a Madrone A 160 mq______
+ pp0r8a Poplar A 160 pp______
+ pwwr8a Willow A 160 wi______
+ ppi027 WoodtypeOrnaments-Two A 160 woor2___
+ pbbr8a Bembo A 161 bm______
+ pbbb8a Bembo-Bold A 161 bmb_____
+ pbbbi8a Bembo-BoldItalic A 161 bmbi____
+ pbbri8a Bembo-Italic A 161 bmi_____
+ pgsb8ac GillSans-BoldCondensed A 162 gnbc____
+ pgsr8ac GillSans-Condensed A 162 gnc_____
+ pgsx8a GillSans-ExtraBold A 162 gneb____
+ pgsu8a GillSans-UltraBold A 162 gnub____
+ pgsu8ac GillSans-UltraBoldCondensed A 162 gnubc___
+ prwb8ac Rockwell-BoldCondensed A 163 rkbc____
+ prwr8ac Rockwell-Condensed A 163 rkc_____
+ prwx8a Rockwell-ExtraBold A 163 rkeb____
+ pgpc8a Glypha-Black A 164 gybl____
+ pgpco8a Glypha-BlackOblique A 164 gyblo___
+ pgpl8a Glypha-Light A 164 gyl_____
+ pgplo8a Glypha-LightOblique A 164 gylo____
+ pgpa8a Glypha-Thin A 164 gyt_____
+ pgpao8a Glypha-ThinOblique A 164 gyto____
+ pzcb8a ZapfChancery-Bold A 165 zcb_____
+ pzcd8a ZapfChancery-Demi A 165 zcd_____
+ pzcri8a ZapfChancery-Italic A 165 zci_____
+ pzcl8a ZapfChancery-Light A 165 zcl_____
+ pzcli8a ZapfChancery-LightItalic A 165 zcli____
+ pzcr8a ZapfChancery-Roman A 165 zcr_____
+ puwb8a Usherwood-Bold A 166 usb_____
+ puwbi8a Usherwood-BoldItalic A 166 usbi____
+ puwc8a Usherwood-Black A 166 usbl____
+ puwci8a Usherwood-BlackItalic A 166 usbli___
+ puwm8a Usherwood-Medium A 166 usm_____
+ puwmi8a Usherwood-MediumItalic A 166 usmi____
+ puwk8a Usherwood-Book A 166 usw_____
+ puwki8a Usherwood-BookItalic A 166 uswi____
+ isyb8a ItcSymbol-Bold A 167 isb_____
+ isybi8a ItcSymbol-BoldItalic A 167 isbi____
+ isyc8a ItcSymbol-Black A 167 isbl____
+ isyci8a ItcSymbol-BlackItalic A 167 isbli___
+ isym8a ItcSymbol-Medium A 167 ism_____
+ isymi8a ItcSymbol-MediumItalic A 167 ismi____
+ isyk8a ItcSymbol-Book A 167 isw_____
+ isyki8a ItcSymbol-BookItalic A 167 iswi____
+ punb8ax Univers-BoldExt A 168 uvbv____
+ punbo8ax Univers-BoldExtObl A 168 uvbvo___
+ punx8ax Univers-ExtraBlackExt A 168 uvfv____
+ punxo8ax Univers-ExtraBlackExtObl A 168 uvfvo___
+ punr8ax Univers-Extended A 168 uvv_____
+ punro8ax Univers-ExtendedObl A 168 uvvo____
+ punc8ax Univers-BlackExt A 168 uvzv____
+ punco8ax Univers-BlackExtObl A 168 uvzvo___
+ poyr8a Olympian A 169 ol______
+ poyb8a Olympian-Bold A 169 olb_____
+ poybi8a Olympian-BoldItalic A 169 olbi____
+ poyri8a Olympian-Italic A 169 oli_____
+ puhb8a Cushing-Bold A 170 iub_____
+ puhbi8a Cushing-BoldItalic A 170 iubi____
+ puhh8a Cushing-Heavy A 170 iuh_____
+ puhhi8a Cushing-HeavyItalic A 170 iuhi____
+ puhm8a Cushing-Medium A 170 ium_____
+ puhmi8a Cushing-MediumItalic A 170 iumi____
+ puhk8a Cushing-Book A 170 iuw_____
+ puhki8a Cushing-BookItalic A 170 iuwi____
+ pcqr Cheq A 171 cq______
+ ps7rp Sassoon-Primary A 172 sass____
+ pfnb8a Fenice-Bold A 173 feb_____
+ pfnbo8a Fenice-BoldOblique A 173 febo____
+ pfnl8a Fenice-Light A 173 fel_____
+ pfnlo8a Fenice-LightOblique A 173 felo____
+ pfnr8a Fenice-Regular A 173 ferg____
+ pfnro8a Fenice-RegularOblique A 173 fergo___
+ pfnu8a Fenice-Ultra A 173 feu_____
+ pfnuo8a Fenice-UltraOblique A 173 feuo____
+ pctb8ac Cheltenham-BoldCond A 174 chbc____
+ pctbi8ac Cheltenham-BoldCondItalic A 174 chbci___
+ pctl8ac Cheltenham-LightCond A 174 chlc____
+ pctli8ac Cheltenham-LightCondItalic A 174 chlci___
+ pctu8ac Cheltenham-UltraCond A 174 chuc____
+ pctui8ac Cheltenham-UltraCondItalic A 174 chuci___
+ pctk8ac Cheltenham-BookCond A 174 chwc____
+ pctki8ac Cheltenham-BookCondItalic A 174 chwci___
+ phrb8a HelveticaRounded-Bold A 175 heb_____
+ phrb8ac HelveticaRounded-BoldCond A 175 hebc____
+ phrbo8ac HelveticaRounded-BoldCondObl A 175 hebco___
+ phrc8a HelveticaRounded-Black A 175 hebl____
+ phrco8a HelveticaRounded-BlackObl A 175 heblo___
+ phrbo8a HelveticaRounded-BoldObl A 175 hebo____
+ pehra8a DINEngschrift-Alternate A 176 dinea___
+ pehr8a DINEngschrift A 176 dinen___
+ pm6ra8a DINMittelschrift-Alternate A 176 dinma___
+ pm6r8a DINMittelschrift A 176 dinmi___
+ pzgb8ac DINNeuzeitGrotesk-BoldCond A 176 dngbc___
+ pzgl8a DINNeuzeitGrotesk-Light A 176 dngl____
+ psnh8a Spartan-HeavyClassified A 177 sqhcl___
+ psnk8a Spartan-BookClassified A 177 sqwcl___
+ pugb8a BenguiatGothic-Bold A 178 beb_____
+ pugbo8a BenguiatGothic-BoldOblique A 178 bebo____
+ pugh8a BenguiatGothic-Heavy A 178 beh_____
+ pugho8a BenguiatGothic-HeavyOblique A 178 beho____
+ pugm8a BenguiatGothic-Medium A 178 bem_____
+ pugmo8a BenguiatGothic-MediumOblique A 178 bemo____
+ pugk8a BenguiatGothic-Book A 178 bew_____
+ pugko8a BenguiatGothic-BookOblique A 178 bewo____
+ ptmx8a Times-ExtraBold A 179 tieb____
+ ptms8a Times-Semibold A 179 tisb____
+ ptmsi8a Times-SemiboldItalic A 179 tisbi___
+ pacb8a ACaslon-Bold A 180 awb_____
+ pacbi8a ACaslon-BoldItalic A 180 awbi____
+ pacri8a ACaslon-Italic A 180 awi_____
+ pacr8a ACaslon-Regular A 180 awrg____
+ pacs8a ACaslon-Semibold A 180 awsb____
+ pacsi8a ACaslon-SemiboldItalic A 180 awsbi___
+ pacb7a ACaslon-AltBold A 181 awab____
+ pacbi7a ACaslon-AltBoldItalic A 181 awabi___
+ pacri7a ACaslon-AltItalic A 181 awai____
+ pacr7a ACaslon-AltRegular A 181 awarg___
+ pacs7a ACaslon-AltSemibold A 181 awasb___
+ pacsi7a ACaslon-AltSemiboldItalic A 181 awasi___
+ pacbij8a ACaslon-BoldItalicOsF A 181 awbio___
+ pacbj8a ACaslon-BoldOsF A 181 awbos___
+ pacrij8a ACaslon-ItalicOsF A 181 awio____
+ pacrp ACaslon-Ornaments A 181 awor____
+ pacsc8a ACaslon-SemiboldSC A 181 awsbs___
+ pacrc8a ACaslon-RegularSC A 181 awsc____
+ pacsic8a ACaslon-SemiboldItalicOsF A 181 awsis___
+ pacsiw7a ACaslon-SwashSemiboldItalic A 181 awssb___
+ pacbiw7a ACaslon-SwashBoldItalic A 181 awswb___
+ pacriw7a ACaslon-SwashItalic A 181 awswi___
+ pacb8x ACaslonExp-Bold A 181 axb_____
+ pacbi8x ACaslonExp-BoldItalic A 181 axbi____
+ pacri8x ACaslonExp-Italic A 181 axi_____
+ pacr8x ACaslonExp-Regular A 181 axrg____
+ pacs8x ACaslonExp-Semibold A 181 axsb____
+ pacsi8x ACaslonExp-SemiboldItalic A 181 axsbi___
+ phnj8ax HelveticaNeue-UltraLigExt A 182 hlav____
+ phnjo8ax HelveticaNeue-UltraLigExtObl A 182 hlavo___
+ phnc8ax HelveticaNeue-BlackExt A 182 hlzv____
+ phnco8ax HelveticaNeue-BlackExtObl A 182 hlzvo___
+ phnb8ax HelveticaNeue-BoldExt A 183 hlbv____
+ phnbo8ax HelveticaNeue-BoldExtObl A 183 hlbvo___
+ phna8ax HelveticaNeue-ThinExt A 183 hltv____
+ phnao8ax HelveticaNeue-ThinExtObl A 183 hltvo___
+ phnr8ax HelveticaNeue-Extended A 183 hlv_____
+ phnro8ax HelveticaNeue-ExtendedObl A 183 hlvo____
+ phnh8ax HelveticaNeue-HeavyExt A 184 hlhv____
+ phnho8ax HelveticaNeue-HeavyExtObl A 184 hlhvo___
+ phnl8ax HelveticaNeue-LightExt A 184 hllv____
+ phnlo8ax HelveticaNeue-LightExtObl A 184 hllvo___
+ phnm8ax HelveticaNeue-MediumExt A 184 hlmv____
+ phnmo8ax HelveticaNeue-MediumExtObl A 184 hlmvo___
+ pshb8a Shannon-Bold A 185 sbb_____
+ pshx8a Shannon-ExtraBold A 185 sbeb____
+ pshro8a Shannon-Oblique A 185 sbo_____
+ pshk8a Shannon-Book A 185 sbw_____
+ pbbx8a Bembo-ExtraBold A 186 bmeb____
+ pbbxi8a Bembo-ExtraBoldItalic A 186 bmebi___
+ pbbs8a Bembo-Semibold A 186 bmsb____
+ pbbsi8a Bembo-SemiboldItalic A 186 bmsbi___
+ pggr8a GarthGraphic A 187 gh______
+ pggb8a GarthGraphic-Bold A 187 ghb_____
+ pggb8ac GarthGraphic-BoldCondensed A 187 ghbc____
+ pggbi8a GarthGraphic-BoldItalic A 187 ghbi____
+ pggr8ac GarthGraphic-Condensed A 187 ghc_____
+ pggx8a GarthGraphic-ExtraBold A 187 gheb____
+ pggri8a GarthGraphic-Italic A 187 ghi_____
+ pggc8a GarthGraphic-Black A 187 ghz_____
+ phnj8ac HelveticaNeue-UltraLigCond A 188 hla_____
+ phnjo8ac HelveticaNeue-UltraLigCondObl A 188 hlao____
+ phnx8ac HelveticaNeue-ExtBlackCond A 188 hlj_____
+ phnxo8ac HelveticaNeue-ExtBlackCondObl A 188 hljo____
+ phnc8ac HelveticaNeue-BlackCond A 188 hlzc____
+ phnco8ac HelveticaNeue-BlackCondObl A 188 hlzco___
+ phnb8ac HelveticaNeue-BoldCond A 189 hlbc____
+ phnbo8ac HelveticaNeue-BoldCondObl A 189 hlbco___
+ phnr8ac HelveticaNeue-Condensed A 189 hlc_____
+ phnro8ac HelveticaNeue-CondensedObl A 189 hlco____
+ phna8ac HelveticaNeue-ThinCond A 189 hltc____
+ phnao8ac HelveticaNeue-ThinCondObl A 189 hltco___
+ phnh8ac HelveticaNeue-HeavyCond A 190 hlhc____
+ phnho8ac HelveticaNeue-HeavyCondObl A 190 hlhco___
+ phnl8ac HelveticaNeue-LightCond A 190 hllc____
+ phnlo8ac HelveticaNeue-LightCondObl A 190 hllco___
+ phnm8ac HelveticaNeue-MediumCond A 190 hlmc____
+ phnmo8ac HelveticaNeue-MediumCondObl A 190 hlmco___
+ punx8a Univers-ExtraBlack A 191 uvf_____
+ punxo8a Univers-ExtraBlackObl A 191 uvfo____
+ punl8ao Univers-LightUltraCondensed A 191 uvluc___
+ puna8ao Univers-ThinUltraCondensed A 191 uvtuc___
+ punr8ao Univers-UltraCondensed A 191 uvuc____
+ pglc8a Galliard-Black A 192 glbl____
+ pglci8a Galliard-BlackItalic A 192 glbli___
+ pglu8a Galliard-Ultra A 192 glu_____
+ pglui8a Galliard-UltraItalic A 192 glui____
+ pg3bij8a GaramondThree-BoldItalicOsF A 193 gmbio___
+ pg3bj8a GaramondThree-BoldSC A 193 gmbsc___
+ pg3rij8a GaramondThree-ItalicOsF A 193 gmio____
+ pg3rc8a GaramondThree-SC A 193 gmsc____
+ ptmbij8a Times-BoldItalicOsF A 194 tibio___
+ ptmbc8a Times-BoldSC A 194 tibsc___
+ ptmrij8a Times-ItalicOsF A 194 tiio____
+ ptmrc8a Times-RomanSC A 194 tirsc___
+ pddrf8a DucDeBerry A 195 du______
+ pddrf7c DucDeBerry-Dfr A 195 dudfr___
+ phcr8a Herculanum A 195 herc____
+ pomr8a Omnia A 195 omni____
+ pttbij8a TimesTen-BoldItalicOsF A 196 ttbio___
+ pttbj8a TimesTen-BoldOsF A 196 ttbof___
+ pttrij8a TimesTen-ItalicOsF A 196 ttiof___
+ pttrc8a TimesTen-RomanSC A 196 ttrsc___
+ psbbij8a Sabon-BoldItalicOsF A 197 sabio___
+ psbbj8a Sabon-BoldOsF A 197 sabof___
+ psbrij8a Sabon-ItalicOsF A 197 saiof___
+ psbrc8a Sabon-RomanSC A 197 sarsc___
+ pwbbij8a WalbaumBook-BoldItalicOsF A 198 wbbio___
+ pwbbi8x WalbaumBook-BoldItalicExpert A 198 wbbix___
+ pwbbj8a WalbaumBook-BoldOsF A 198 wbbos___
+ pwbb8x WalbaumBook-BoldExpert A 198 wbbxp___
+ pwbrij8a WalbaumBook-ItalicOsF A 198 wbios___
+ pwbri8x WalbaumBook-ItalicExpert A 198 wbixp___
+ pwbmij8a WalbaumBook-MdItalicOsF A 198 wbmio___
+ pwbmi8x WalbaumBook-MdItalicExpert A 198 wbmix___
+ pwbmc8a WalbaumBook-MediumSC A 198 wbmsc___
+ pwbm8x WalbaumBook-MdExpert A 198 wbmxp___
+ pwbr8x WalbaumBook-RegularExpert A 198 wbrgx___
+ pwbrc8a WalbaumBook-RegularSC A 198 wbsc____
+ pubbij8a BauerBodoni-BoldItalicOsF A 199 bbbio___
+ pubbj8a BauerBodoni-BoldOsF A 199 bbbof___
+ pubrij8a BauerBodoni-ItalicOsF A 199 bbiof___
+ pubrc8a BauerBodoni-RomanSC A 199 bbrsc___
+ pmhr8a Machine A 200 ma______
+ pmhb8a Machine-Bold A 200 mab_____
+ pr1r8a RotisSemiSerif A 201 rf______
+ pr1b8a RotisSemiSerif-Bold A 201 rfb_____
+ pror8a RotisSerif A 201 rg______
+ prob8a RotisSerif-Bold A 201 rgb_____
+ prori8a RotisSerif-Italic A 201 rgi_____
+ pr3r8a RotisSemiSans A 202 rc______
+ pr3b8a RotisSemiSans-Bold A 202 rcb_____
+ pr3x8a RotisSemiSans-ExtraBold A 202 rceb____
+ pr3ri8a RotisSemiSans-Italic A 202 rci_____
+ pr3l8a RotisSemiSans-Light A 202 rcl_____
+ pr3li8a RotisSemiSans-LightItalic A 202 rcli____
+ pr4r8a RotisSansSerif A 203 rb______
+ pr4b8a RotisSansSerif-Bold A 203 rbb_____
+ pr4x8a RotisSansSerif-ExtraBold A 203 rbeb____
+ pr4ri8a RotisSansSerif-Italic A 203 rbi_____
+ pr4l8a RotisSansSerif-Light A 203 rbl_____
+ pr4li8a RotisSansSerif-LightItalic A 203 rbli____
+ pjnbij8a JansonText-BoldItalicOsF A 204 jtbio___
+ pjnbj8a JansonText-BoldOsF A 204 jtbof___
+ pjnrij8a JansonText-ItalicOsF A 204 jtiof___
+ pjnrc8a JansonText-RomanSC A 204 jtrsc___
+ pgjr8a Granjon A 205 gr______
+ pgjb8a Granjon-Bold A 205 grb_____
+ pgjri8a Granjon-Italic A 205 gri_____
+ pcebij8a Centennial-BoldItalicOsF A 206 cibio___
+ pcebj8a Centennial-BoldOsF A 206 cibof___
+ pcerij8a Centennial-ItalicOsF A 206 ciiof___
+ pcelij8a Centennial-LightItalicOsF A 206 cilio___
+ pcelc8a Centennial-LightSC A 206 cilsc___
+ pcerc8a Centennial-RomanSC A 206 cirsc___
+ pcecij8a Centennial-BlackItalicOsF A 206 cizio___
+ pcecj8a Centennial-BlackOsF A 206 cizof___
+ ppnr8a Plantin A 207 pl______
+ ppnb8a Plantin-Bold A 207 plb_____
+ ppnbi8a Plantin-BoldItalic A 207 plbi____
+ ppnri8a Plantin-Italic A 207 pli_____
+ pteb8a TimesEuropa-Bold A 208 tub_____
+ ptebi8a TimesEuropa-BoldItalic A 208 tubi____
+ pteri8a TimesEuropa-Italic A 208 tui_____
+ pter8a TimesEuropa-Roman A 208 tur_____
+ pgjbj8a Granjon-BoldOsF A 209 grbos___
+ pgjrij8a Granjon-ItalicOsF A 209 grios___
+ pgjrc8a Granjon-SC A 209 grsc____
+ ptvbij8a TrumpMediaeval-BoldItalicOsF A 210 tmbio___
+ ptvbj8a TrumpMediaeval-BoldOsF A 210 tmbos___
+ ptvrij8a TrumpMediaeval-ItalicOsF A 210 tmios___
+ ptvrc8a TrumpMediaeval-SC A 210 tmsc____
+ pbsr8a BakerSignet A 211 ba______
+ picr8a Impact A 211 impa____
+ pagb8a AvantGarde-Bold A 212 agb_____
+ pagbo8a AvantGarde-BoldObl A 212 agbo____
+ pagj8a AvantGarde-ExtraLight A 212 agel____
+ pagjo8a AvantGarde-ExtraLightObl A 212 agelo___
+ pagm8a AvantGarde-Medium A 212 agm_____
+ pagmo8a AvantGarde-MediumObl A 212 agmo____
+ pplbij8a Palatino-BoldItalicOsF A 213 pobio___
+ pplbj8a Palatino-BoldOsF A 213 pobos___
+ pplrij8a Palatino-ItalicOsF A 213 poios___
+ pplrc8a Palatino-SC A 213 posc____
+ pndbij8a NewCaledonia-BoldItalicOsF A 214 nlbio___
+ pndbc8a NewCaledonia-BoldSC A 214 nlbsc___
+ pndrij8a NewCaledonia-ItalicOsF A 214 nlios___
+ pndrc8a NewCaledonia-SC A 214 nlsc____
+ pppb8a Perpetua-Bold A 215 ptb_____
+ pppbi8a Perpetua-BoldItalic A 215 ptbi____
+ pppri8a Perpetua-Italic A 215 pti_____
+ pppr8a Perpetua A 215 ptrg____
+ pilb8a Caecilia-Bold A 216 ecb_____
+ pilbi8a Caecilia-BoldItalic A 216 ecbi____
+ pilbij8a Caecilia-BoldItalicOsF A 216 ecbio___
+ pilbj8a Caecilia-BoldOsF A 216 ecbos___
+ pilh8a Caecilia-Heavy A 216 ech_____
+ pilhi8a Caecilia-HeavyItalic A 216 echi____
+ pilhij8a Caecilia-HeavyItalicOsF A 216 echio___
+ pilhj8a Caecilia-HeavyOsF A 216 echos___
+ pilri8a Caecilia-Italic A 216 eci_____
+ pilrij8a Caecilia-ItalicOsF A 216 ecios___
+ pill8a Caecilia-Light A 216 ecl_____
+ pilli8a Caecilia-LightItalic A 216 ecli____
+ pillij8a Caecilia-LightItalicOsF A 216 eclio___
+ pillj8a Caecilia-LightOsF A 216 eclos___
+ pilr8a Caecilia-Roman A 216 ecr_____
+ pilrj8a Caecilia-RomanOsF A 216 ecros___
+ pimx8a Imago-ExtraBold A 217 ioeb____
+ pimxi8a Imago-ExtraBoldItalic A 217 ioebi___
+ piml8a Imago-Light A 217 iol_____
+ pimli8a Imago-LightItalic A 217 ioli____
+ pimm8a Imago-Medium A 217 iom_____
+ pimmi8a Imago-MediumItalic A 217 iomi____
+ pimk8a Imago-Book A 217 iow_____
+ pimki8a Imago-BookItalic A 217 iowi____
+ pfab8a Formata-Bold A 218 fmb_____
+ pfabi8a Formata-BoldItalic A 218 fmbi____
+ pfari8a Formata-Italic A 218 fmi_____
+ pfal8a Formata-Light A 218 fml_____
+ pfali8a Formata-LightItalic A 218 fmli____
+ pfam8a Formata-Medium A 218 fmm_____
+ pfami8a Formata-MediumItalic A 218 fmmi____
+ pfar8a Formata-Regular A 218 fmrg____
+ pnfb8a Nofret-Bold A 219 nfb_____
+ pnfbi8a Nofret-BoldItalic A 219 nfbi____
+ pnfri8a Nofret-Italic A 219 nfi_____
+ pnfl8a Nofret-Light A 219 nfl_____
+ pnfli8a Nofret-LightItalic A 219 nfli____
+ pnfm8a Nofret-Medium A 219 nfm_____
+ pnfmi8a Nofret-MediumItalic A 219 nfmi____
+ pnfr8a Nofret-Regular A 219 nfrg____
+ ppnb8ac Plantin-BoldCondensed A 220 plbc____
+ ppnl8a Plantin-Light A 220 pll_____
+ ppnli8a Plantin-LightItalic A 220 plli____
+ ppns8a Plantin-Semibold A 220 plsb____
+ ppnsi8a Plantin-SemiboldItalic A 220 plsbi___
+ pbrb8a Berling-Bold A 221 bnb_____
+ pbrbi8a Berling-BoldItalic A 221 bnbi____
+ pbrri8a Berling-Italic A 221 bni_____
+ pbrr8a Berling-Roman A 221 bnr_____
+ pcyb8a City-Bold A 222 tzb_____
+ pcybi8a City-BoldItalic A 222 tzbi____
+ pcyl8a City-Light A 222 tzl_____
+ pcyli8a City-LightItalic A 222 tzli____
+ pcym8a City-Medium A 222 tzm_____
+ pcymi8a City-MediumItalic A 222 tzmi____
+ paur8a Auriol A 223 al______
+ paub8a Auriol-Bold A 223 alb_____
+ paubi8a Auriol-BoldItalic A 223 albi____
+ pauc8a Auriol-Black A 223 albl____
+ pauci8a Auriol-BlackItalic A 223 albli___
+ pauri8a Auriol-Italic A 223 ali_____
+ ptbb8a BodoniBE-Bold A 224 bpb_____
+ ptbbi8a BodoniBE-BoldItalic A 224 bpbi____
+ ptbri8a BodoniBE-Italic A 224 bpi_____
+ ptbl8a BodoniBE-Light A 224 bpl_____
+ ptbli8a BodoniBE-LightItalic A 224 bpli____
+ ptbm8a BodoniBE-Medium A 224 bpm_____
+ ptbmi8a BodoniBE-MediumItalic A 224 bpmi____
+ ptbr8a BodoniBE-Regular A 224 bprg____
+ pegbij8a StempelGaramond-BoldItalicOsF A 225 gsbio___
+ pegbj8a StempelGaramond-BoldOsF A 225 gsbof___
+ pegrij8a StempelGaramond-ItalicOsF A 225 gsiof___
+ pegrc8a StempelGaramond-RomanSC A 225 gsrsc___
+ pnbbij8a NewBaskerville-BoldItalicOsF A 226 nbbio___
+ pnbbj8a NewBaskerville-BoldSC A 226 nbbsc___
+ pnbrij8a NewBaskerville-ItalicOsF A 226 nbio____
+ pnbrc8a NewBaskerville-SC A 226 nbsc____
+ pgybij8a Goudy-BoldItalicOsF A 227 gobio___
+ pgybj8a Goudy-BoldOsF A 227 gobos___
+ pgyrij8a Goudy-ItalicOsF A 227 goios___
+ pgyrc8a Goudy-SC A 227 gosc____
+ phnbl8a HelveticaNeue-BoldOutline A 228 hlbou___
+ pcvrf7c Clairvaux-Dfr A 229 aodfr___
+ pcvrf8a Clairvaux A 229 aor_____
+ pc0rf7c Carolina-Dfr A 229 kldfr___
+ pc0rf8a Carolina A 229 klr_____
+ ps0rf7c SanMarco-Dfr A 229 sjdfr___
+ ps0rf8a SanMarco A 229 sjr_____
+ pvjb8a Veljovic-Bold A 230 vlb_____
+ pvjbi8a Veljovic-BoldItalic A 230 vlbi____
+ pvjc8a Veljovic-Black A 230 vlbl____
+ pvjci8a Veljovic-BlackItalic A 230 vlbli___
+ pvjm8a Veljovic-Medium A 230 vlm_____
+ pvjmi8a Veljovic-MediumItalic A 230 vlmi____
+ pvjk8a Veljovic-Book A 230 vlw_____
+ pvjki8a Veljovic-BookItalic A 230 vlwi____
+ pscb8a Slimbach-Bold A 231 spb_____
+ pscbi8a Slimbach-BoldItalic A 231 spbi____
+ pscc8a Slimbach-Black A 231 spbl____
+ pscci8a Slimbach-BlackItalic A 231 spbli___
+ pscm8a Slimbach-Medium A 231 spm_____
+ pscmi8a Slimbach-MediumItalic A 231 spmi____
+ psck8a Slimbach-Book A 231 spw_____
+ pscki8a Slimbach-BookItalic A 231 spwi____
+ pbvri8a BaskervilleBook-Italic A 232 bti_____
+ pbvm8a BaskervilleBook-Medium A 232 btm_____
+ pbvmi8a BaskervilleBook-MedItalic A 232 btmi____
+ pbvr8a BaskervilleBook-Regular A 232 btrg____
+ murb8a CentaurMT-Bold A 233 nrb_____
+ murbi8a CentaurMT-BoldItalic A 233 nrbi____
+ murri8a CentaurMT-Italic A 233 nri_____
+ murria8a CentaurMT-ItalicA A 233 nria____
+ murr8a CentaurMT A 233 nrr_____
+ phvr7f Helvetica-Fraction A 234 hvfr____
+ phvb7f Helvetica-FractionBold A 234 hvfrb___
+ pncr7f NewCenturySchlbk-Fraction A 234 ncfr____
+ pncb7f NewCenturySchlbk-FractionBold A 234 ncfrb___
+ pilbic8a Caecilia-BoldItalicSC A 235 ecbis___
+ pilbc8a Caecilia-BoldSC A 235 ecbsc___
+ pilhic8a Caecilia-HeavyItalicSC A 235 echis___
+ pilhc8a Caecilia-HeavySC A 235 echsc___
+ pilric8a Caecilia-ItalicSC A 235 ecisc___
+ pillc8a Caecilia-LightItalicSC A 235 eclis___
+ pillic8a Caecilia-LightSC A 235 eclsc___
+ pilrc8a Caecilia-RomanSC A 235 ecrsc___
+ mjob8a JoannaMT-Bold A 236 job_____
+ mjobi8a JoannaMT-BoldItalic A 236 jobi____
+ mjox8a JoannaMT-ExtraBold A 236 joeb____
+ mjori8a JoannaMT-Italic A 236 joi_____
+ mjor8a JoannaMT A 236 jor_____
+ mjos8a JoannaMT-SemiBold A 236 josb____
+ mjosi8a JoannaMT-SemiBoldItalic A 236 josbi___
+ ppi017 LHolidayPi-One A 237 holi1___
+ ppi018 LHolidayPi-Two A 237 holi2___
+ ppi019 LHolidayPi-Three A 237 holi3___
+ ppi011 LDecorationPi-One A 238 deco1___
+ ppi012 LDecorationPi-Two A 238 deco2___
+ po7r8a OldStyleSeven A 239 os______
+ po7ri8a OldStyleSeven-Italic A 239 osi_____
+ po7rij8a OldStyleSeven-ItalicOsF A 239 osios___
+ po7rc8a OldStyleSeven-SC A 239 ossc____
+ ppi013 LGamePi-ChessDraughts A 240 gamcd___
+ ppi014 LGamePi-DiceDominoes A 240 gamdd___
+ ppi015 LGamePi-EnglishCards A 240 gamec___
+ ppi016 LGamePi-FrenchCards A 240 gamfc___
+ pc5rij8a CaslonFiveForty-ItalicOsF A 241 cfiof___
+ pc5rc8a CaslonFiveForty-RomanSC A 241 cfrsc___
+ pc3rij8a CaslonThree-ItalicOsF A 241 ctiof___
+ pc3rc8a CaslonThree-RomanSC A 241 ctrsc___
+ mgtrf8a GoudyTextMT A 242 gx______
+ mgtrf7a GoudyTextMT-Alternate A 242 gxalt___
+ mgtrf7c GoudyTextMT-Dfr A 242 gxdfr___
+ mgtrfd8a GoudyTextMT-LombardicCapitals A 242 gxlom___
+ pefb8a EgyptienneF-Bold A 243 efb_____
+ pefc8a EgyptienneF-Black A 243 efbl____
+ pefri8a EgyptienneF-Italic A 243 efi_____
+ pefr8a EgyptienneF-Roman A 243 efr_____
+ pwkb8a Wilke-Bold A 244 wlb_____
+ pwkbi8a Wilke-BoldItalic A 244 wlbi____
+ pwkc8a Wilke-Black A 244 wlbl____
+ pwkci8a Wilke-BlackItalic A 244 wlbli___
+ pwkri8a Wilke-Italic A 244 wli_____
+ pwkr8a Wilke-Roman A 244 wlr_____
+ ppxb8a PopplPontifexBE-Bold A 245 pjb_____
+ ppxri8a PopplPontifexBE-Italic A 245 pji_____
+ ppxm8a PopplPontifexBE-Medium A 245 pjm_____
+ ppxm8ac PopplPontifexBE-MediumCn A 245 pjmc____
+ ppxr8a PopplPontifexBE-Regular A 245 pjrg____
+ mtlr8a CastellarMT A 246 el______
+ malr8a AlbertusMT A 246 lr______
+ malri8a AlbertusMT-Italic A 246 lri_____
+ mall8a AlbertusMT-Light A 246 lrl_____
+ pgvb8a Giovanni-Bold A 247 gvb_____
+ pgvbi8a Giovanni-BoldItalic A 247 gvbi____
+ pgvc8a Giovanni-Black A 247 gvbl____
+ pgvci8a Giovanni-BlackItalic A 247 gvbli___
+ pgvk8a Giovanni-Book A 247 gvw_____
+ pgvki8a Giovanni-BookItalic A 247 gvwi____
+ pazbi8ax AkzidenzGroteskBE-BoldExIt A 248 gfbei___
+ pazb8ax AkzidenzGroteskBE-BoldEx A 248 gfbv____
+ pazr8ax AkzidenzGroteskBE-Ex A 248 gfex____
+ pazl8ax AkzidenzGroteskBE-LightEx A 248 gflex___
+ pazm8ax AkzidenzGroteskBE-MdEx A 248 gfmex___
+ p_____ AGOldFace-Bold A 249 qwb_____
+ p_____ AGOldFace-BoldOutline A 249 qwbou___
+ p_____ AGOldFace-Medium A 249 qwm_____
+ p_____ AGOldFace-Outline A 249 qwou____
+ p_____ AGOldFace-Regular A 249 qwrg____
+ p_____ AGOldFace-Shaded A 249 qwsh____
+ p_____ GaramondBE-Bold A 250 gwb_____
+ p_____ GaramondBE-Condensed A 250 gwc_____
+ p_____ GaramondBE-Italic A 250 gwi_____
+ p_____ GaramondBE-Medium A 250 gwm_____
+ p_____ GaramondBE-MediumCn A 250 gwmc____
+ p_____ GaramondBE-MediumItalic A 250 gwmi____
+ p_____ GaramondBE-Regular A 250 gwrg____
+ pgub8a Guardi-Bold A 251 gub_____
+ pgubi8a Guardi-BoldItalic A 251 gubi____
+ pguc8a Guardi-Black A 251 gubl____
+ pguci8a Guardi-BlackItalic A 251 gubli___
+ pguri8a Guardi-Italic A 251 gui_____
+ pgur8a Guardi-Roman A 251 gur_____
+ pkbc8a Kabel-Black A 252 kabl____
+ pkbh8a Kabel-Heavy A 252 kah_____
+ pkbl8a Kabel-Light A 252 kal_____
+ pkbk8a Kabel-Book A 252 kaw_____
+ ppi009 LAstrologyPi-One A 253 astr1___
+ ppi010 LAstrologyPi-Two A 253 astr2___
+ pprl8a PopplResidenz-Light A 254 pzl_____
+ pprr8a PopplResidenz-Regular A 254 pzrg____
+ pstr5a StoneSerif-PhoneticAlternate A 255 srpa____
+ pstr5i StoneSerif-PhoneticIPA A 255 srpi____
+ ps8r5a StoneSans-PhoneticAlternate A 255 sspa____
+ ps8r5i StoneSans-PhoneticIPA A 255 sspi____
+ prnb8a Rotation-Bold A 256 rnb_____
+ prnri8a Rotation-Italic A 256 rni_____
+ prnr8a Rotation-Roman A 256 rnr_____
+ pasri8a Aldus-Italic A 257 afi_____
+ pasrij8a Aldus-ItalicOsF A 257 afiof___
+ pasr8a Aldus-Roman A 257 afr_____
+ pasrc8a Aldus-RomanSC A 257 afrsc___
+ mlir8ac LatinMT-Condensed A 258 lnc_____
+ moxr8a OnyxMT A 258 ox______
+ mrur8ac RunicMT-Condensed A 258 ric_____
+ p_____ Colossalis-Bold A 259 kob_____
+ p_____ Colossalis-Black A 259 kobl____
+ p_____ Colossalis-Medium A 259 kom_____
+ p_____ Colossalis-Regular A 259 korg____
+ p_____ BertholdScript-Medium A 260 qrm_____
+ p_____ BertholdScript-Regular A 260 qrrg____
+ pqsrw8a Bellevue A 260 qsrg____
+ pqtrw8a Boulevard A 260 qtrg____
+ pfrb8ac Frutiger-BoldCn A 261 ftbc____
+ pfrc8ac Frutiger-BlackCn A 261 ftblc___
+ pfrr8ac Frutiger-Cn A 261 ftc_____
+ pfrx8ac Frutiger-ExtraBlackCn A 261 ftebc___
+ pfrl8ac Frutiger-LightCn A 261 ftlc____
+ pflb8a Flora-Bold A 262 fab_____
+ pflm8a Flora-Medium A 262 fam_____
+ metri8a EhrhardtMT-Italic A 263 ehi_____
+ metr8a EhrhardtMT-Regular A 263 ehrg____
+ mets8a EhrhardtMT-Semibold A 263 ehsb____
+ metsi8a EhrhardtMT-SemiboldItalic A 263 ehsbi___
+ pppbij8a Perpetua-BoldItalicOsF A 264 ptbio___
+ pppbi8x Perpetua-BoldItalicExp A 264 ptbix___
+ pppbj8a Perpetua-BoldOsF A 264 ptbos___
+ pppb8x Perpetua-BoldExp A 264 ptbxp___
+ pppr8x Perpetua-Exp A 264 ptexp___
+ ppprij8a Perpetua-ItalicOsF A 264 ptios___
+ pppri8x Perpetua-ItalicExp A 264 ptixp___
+ ppprc8a Perpetua-SC A 264 ptsc____
+ ppxbj8a PopplPontifexBE-BoldOsF A 265 pjbos___
+ ppxb8x PopplPontifexBE-BoldExp A 265 pjbxp___
+ ppxrij8a PopplPontifexBE-ItalicOsF A 265 pjios___
+ ppxri8x PopplPontifexBE-ItalicExp A 265 pjixp___
+ ppxmc8ac PopplPontifexBE-MediumCnSC A 265 pjmcs___
+ ppxm8xc PopplPontifexBE-MediumCnExp A 265 pjmcx___
+ ppxmc8a PopplPontifexBE-MediumSC A 265 pjmsc___
+ ppxm8x PopplPontifexBE-MediumExp A 265 pjmxp___
+ ppxr8x PopplPontifexBE-RegularExp A 265 pjrgx___
+ ppxrc8a PopplPontifexBE-RegularSC A 265 pjrsc___
+ p_____ ConcordeNova-Italic A 266 nvi_____
+ p_____ ConcordeNova-ItalicOsF A 266 nviof___
+ p_____ ConcordeNova-ItalicExp A 266 nvixp___
+ p_____ ConcordeNova-Medium A 266 nvm_____
+ p_____ ConcordeNova-MediumSC A 266 nvmsc___
+ p_____ ConcordeNova-MediumExp A 266 nvmxp___
+ p_____ ConcordeNova-Regular A 266 nvrg____
+ p_____ ConcordeNova-RegularExp A 266 nvrgx___
+ p_____ ConcordeNova-RegularSC A 266 nvsc____
+ peib8a Esprit-Bold A 267 esb_____
+ peibi8a Esprit-BoldItalic A 267 esbi____
+ peici8a Esprit-BlackItalic A 267 esbli___
+ peim8a Esprit-Medium A 267 esm_____
+ peimi8a Esprit-MediumItalic A 267 esmi____
+ peik8a Esprit-Book A 267 esw_____
+ peiki8a Esprit-BookItalic A 267 eswi____
+ peic8a Esprit-Black A 267 esz_____
+ ptbbij8a BodoniBE-BoldItalicOsF A 268 bpbio___
+ ptbbi8x BodoniBE-BoldItalicExp A 268 bpbix___
+ ptbbj8a BodoniBE-BoldOsF A 268 bpbof___
+ ptbb8x BodoniBE-BoldExp A 268 bpbxp___
+ ptbrij8a BodoniBE-ItalicOsF A 268 bpiof___
+ ptbri8x BodoniBE-ItalicExp A 268 bpixp___
+ ptblij8a BodoniBE-LightItalicOsF A 268 bplio___
+ ptbli8x BodoniBE-LightItalicExp A 268 bplix___
+ ptblc8a BodoniBE-LightSC A 268 bplsc___
+ ptbl8x BodoniBE-LightExp A 268 bplxp___
+ ptbmij8a BodoniBE-MediumItalicOsF A 268 bpmio___
+ ptbmi8x BodoniBE-MediumItalicExp A 268 bpmix___
+ ptbmc8a BodoniBE-MediumSC A 268 bpmsc___
+ ptbm8x BodoniBE-MediumExp A 268 bpmxp___
+ ptbr8x BodoniBE-RegularExp A 268 bprgx___
+ ptbrc8a BodoniBE-RegularSC A 268 bpsc____
+ melr8a EllingtonMT A 269 ei______
+ melb8a EllingtonMT-Bold A 269 eib_____
+ melbi8a EllingtonMT-BoldItalic A 269 eibi____
+ melx8a EllingtonMT-ExtraBold A 269 eieb____
+ melxi8a EllingtonMT-ExtraBoldItalic A 269 eiebi___
+ melri8a EllingtonMT-Italic A 269 eii_____
+ mell8a EllingtonMT-Light A 269 eil_____
+ melli8a EllingtonMT-LightItalic A 269 eili____
+ pazb8ac AkzidenzGroteskBE-BoldCn A 270 gfbc____
+ pazr8ac AkzidenzGroteskBE-Cn A 270 gfc_____
+ pazx8a AkzidenzGroteskBE-XBd A 270 gfeb____
+ pazl8ac AkzidenzGroteskBE-LightCn A 270 gflc____
+ pazm8ac AkzidenzGroteskBE-MdCn A 270 gfmc____
+ pazmi8ac AkzidenzGroteskBE-MdCnIt A 270 gfmci___
+ pazx8ac AkzidenzGroteskBE-XBdCn A 270 gfxc____
+ pazxi8ac AkzidenzGroteskBE-XBdCnIt A 270 gfxci___
+ pptr8a Present A 271 pr______
+ pptb8a Present-Bold A 271 prb_____
+ pptb8ac Present-BoldCondensed A 271 prbc____
+ pptc8a Present-Black A 271 prbl____
+ pptc8ac Present-BlackCondensed A 271 prblc___
+ pptr8ac Present-Condensed A 271 prc_____
+ lvcb8a VectoraLH-Bold A 272 vcb_____
+ lvcbi8a VectoraLH-BoldItalic A 272 vcbi____
+ lvcc8a VectoraLH-Black A 272 vcbl____
+ lvcci8a VectoraLH-BlackItalic A 272 vcbli___
+ lvcri8a VectoraLH-Italic A 272 vci_____
+ lvcl8a VectoraLH-Light A 272 vcl_____
+ lvcli8a VectoraLH-LightItalic A 272 vcli____
+ lvcr8a VectoraLH-Roman A 272 vcr_____
+ pbab8a Barmeno-Bold A 273 bfb_____
+ pbax8a Barmeno-ExtraBold A 273 bfeb____
+ pbam8a Barmeno-Medium A 273 bfm_____
+ pbar8a Barmeno-Regular A 273 bfrg____
+ p_____ Cosmos-ExtraBold A 274 kzeb____
+ p_____ Cosmos-Light A 274 kzl_____
+ p_____ Cosmos-LightItalic A 274 kzli____
+ p_____ Cosmos-Medium A 274 kzm_____
+ pmyMMi8a MyriadMM-It A 275 _mi_____
+ pmyMM8a MyriadMM A 275 _mrg____
+ pmnMMi8a MinionMM-It A 276 zgi_____
+ pmnMM8a MinionMM A 276 zgrg____
+ pmnMMic8a MinionMM-ItSC A 277 zgisc___
+ pmnMMi8x MinionMM-ItEp A 277 zgix____
+ pmnMMp MinionMM-Or A 277 zgo_____
+ pmnMMc8a MinionMM-SC A 277 zgsc____
+ pmnMMiw7a MinionMM-Sw A 277 zgsw____
+ pmnMM8x MinionMM-Ep A 277 zgx_____
+ ptmr5a Times-PhoneticAlternate A 278 tipa____
+ ptmr5i Times-PhoneticIPA A 278 tipi____
+ lpi003 AudioLH-Pi A 279 audi1___
+ lpi002 WarningLH-Pi A 279 warn1___
+ ppmri8a PostMediaeval-Italic A 280 pmi_____
+ ppmm8a PostMediaeval-Medium A 280 pmm_____
+ ppmr8a PostMediaeval-Regular A 280 pmrg____
+ lffb8a FairfieldLH-Bold A 281 fdb_____
+ lffbi8a FairfieldLH-BoldItalic A 281 fdbi____
+ lffh8a FairfieldLH-Heavy A 281 fdh_____
+ lffhi8a FairfieldLH-HeavyItalic A 281 fdhi____
+ lffl8a FairfieldLH-Light A 281 fdl_____
+ lffli8a FairfieldLH-LightItalic A 281 fdli____
+ lffm8a FairfieldLH-Medium A 281 fdm_____
+ lffmi8a FairfieldLH-MediumItalic A 281 fdmi____
+ lffbd8a FairfieldLH-CaptionBold A 282 fdbcp___
+ lffbijw8a FairfieldLH-SwBoldItalicOsF A 282 fdbio___
+ lffbc8a FairfieldLH-BoldSC A 282 fdbsc___
+ lffhd8a FairfieldLH-CaptionHeavy A 282 fdhcp___
+ lffhijw8a FairfieldLH-SwHeavyItalicOsF A 282 fdhio___
+ lffhc8a FairfieldLH-HeavySC A 282 fdhsc___
+ lffld8a FairfieldLH-CaptionLight A 282 fdlcp___
+ lfflijw8a FairfieldLH-SwLightItalicOsF A 282 fdlio___
+ lfflc8a FairfieldLH-LightSC A 282 fdlsc___
+ lffmd8a FairfieldLH-CaptionMedium A 282 fdmcp___
+ lffmijw8a FairfieldLH-SwMediumItalicOsF A 282 fdmio___
+ lffmc8a FairfieldLH-MediumSC A 282 fdmsc___
+ lgzb8a GazetteLH-Bold A 283 gzb_____
+ lgzri8a GazetteLH-Italic A 283 gzi_____
+ lgzr8a GazetteLH-Roman A 283 gzr_____
+ lcfbs8a ClearfaceGothicLH-Bold A 284 fcb_____
+ lcfcs8a ClearfaceGothicLH-Black A 284 fcbl____
+ lcfls8a ClearfaceGothicLH-Light A 284 fcl_____
+ lcfms8a ClearfaceGothicLH-Medium A 284 fcm_____
+ lcfrs8a ClearfaceGothicLH-Roman A 284 fcr_____
+ pidb8a Isadora-Bold A 285 irb_____
+ pidr8a Isadora-Regular A 285 irrg____
+ pbax8a Barmeno-ExtraBold A 286 bfeb____
+ pfarl8a Formata-Outline A 286 fmou____
+ p_____ Cosmos-ExtraBold A 286 kzeb____
+ p_____ AGOldFace-Shaded A 286 qwsh____
+ p_____ AGBook-Stencil A 286 tast____
+ ltgb8ax TradeGothicLH-BoldExtended A 287 tgbv____
+ ltgr8ax TradeGothicLH-Extended A 287 tgv_____
+ mphb8a PhotinaMT-Bold A 288 phb_____
+ mphbi8a PhotinaMT-BoldItalic A 288 phbi____
+ mphri8a PhotinaMT-Italic A 288 phi_____
+ mphr8a PhotinaMT A 288 phrg____
+ mphs8a PhotinaMT-SemiBold A 288 phsb____
+ mphsi8a PhotinaMT-SemiBoldItalic A 288 phsbi___
+ mphu8a PhotinaMT-UltraBold A 288 phub____
+ mphui8a PhotinaMT-UltraBoldItalic A 288 phubi___
+ mdsrw8a DorchesterScriptMT A 289 dsscr___
+ mp2rw8a PepitaMT A 289 epscr___
+ mbfrw8a BiffoMT A 289 ifscr___
+ ms2bw8a ScriptMT-Bold A 289 tbscr___
+ lenb8a EngraversLH-BoldFace A 290 ew______
+ l_____ SerlioLH A 290 oi______
+ pplc8a Palatino-Black A 291 pobl____
+ pplci8a Palatino-BlackItalic A 291 pobli___
+ ppll8a Palatino-Light A 291 pol_____
+ pplli8a Palatino-LightItalic A 291 poli____
+ pplm8a Palatino-Medium A 291 pom_____
+ pplmi8a Palatino-MediumItalic A 291 pomi____
+ pocrij8a ConcordeBE-ItalicOsF A 292 qqiof___
+ pocri8x ConcordeBE-ItalicExp A 292 qqixp___
+ pocmij8a ConcordeBE-MediumItalicOsF A 292 qqmio___
+ pocmi8x ConcordeBE-MediumItalicExp A 292 qqmix___
+ pocmc8a ConcordeBE-MediumSC A 292 qqmsc___
+ pocm8x ConcordeBE-MediumExp A 292 qqmxp___
+ pocrc8x ConcordeBE-RegularExp A 292 qqrgx___
+ pocr8a ConcordeBE-RegularSC A 292 qqsc____
+ mc8b8a CalvertMT-Bold A 293 vtb_____
+ mc8l8a CalvertMT-Light A 293 vtl_____
+ mc8r8a CalvertMT A 293 vtrg____
+ mgqr8a GrotesqueMT A 294 gq______
+ mgqb8a GrotesqueMT-Bold A 294 gqb_____
+ mgqc8a GrotesqueMT-Black A 294 gqbl____
+ mgqri8a GrotesqueMT-Italic A 294 gqi_____
+ mgql8a GrotesqueMT-Light A 294 gql_____
+ mgqli8a GrotesqueMT-LightItalic A 294 gqli____
+ pckb8a CaslonBookBE-Bold A 295 qxb_____
+ pckri8a CaslonBookBE-Italic A 295 qxi_____
+ pckm8a CaslonBookBE-Medium A 295 qxm_____
+ pckr8a CaslonBookBE-Regular A 295 qxrg____
+ pckbj8a CaslonBookBE-BoldOsF A 296 qxbof___
+ pckb8x CaslonBookBE-BoldExp A 296 qxbxp___
+ pckrij8a CaslonBookBE-ItalicOsF A 296 qxiof___
+ pckri8x CaslonBookBE-ItalicExp A 296 qxixp___
+ pckmc8a CaslonBookBE-MediumSC A 296 qxmsc___
+ pckm8x CaslonBookBE-MediumExp A 296 qxmxp___
+ pckr8x CaslonBookBE-RegularExp A 296 qxrgx___
+ pckrc8a CaslonBookBE-RegularSC A 296 qxsc____
+ mr2b8a CantoriaMT-Bold A 297 eob_____
+ mr2bi8a CantoriaMT-BoldItalic A 297 eobi____
+ mr2ri8a CantoriaMT-Italic A 297 eoi_____
+ mr2r8a CantoriaMT A 297 eorg____
+ mr2x8a CantoriaMT-ExtraBold A 298 eoeb____
+ mr2xi8a CantoriaMT-ExtraBoldItalic A 298 eoebi___
+ mr2l8a CantoriaMT-Light A 298 eol_____
+ mr2li8a CantoriaMT-LightItalic A 298 eoli____
+ mr2s8a CantoriaMT-SemiBold A 298 eosb____
+ mr2si8a CantoriaMT-SemiBoldItalic A 298 eosbi___
+ mgqb8ax GrotesqueMT-BoldExtended A 299 gqbv____
+ mgqr8ac GrotesqueMT-Condensed A 299 gqc_____
+ mgqr8aq GrotesqueMT-ExtraCondensed A 299 gqec____
+ mgql8ac GrotesqueMT-LightCondensed A 299 gqlc____
+ ppc___ Poetica-ChanceryI A 300 pvch1___
+ ppc___ Poetica-ChanceryII A 300 pvch2___
+ ppc___ Poetica-ChanceryIII A 300 pvch3___
+ ppc___ Poetica-ChanceryIV A 300 pvch4___
+ ppc___ Poetica-ChanceryExpert A 300 pvchx___
+ ppc___ Poetica-RomanSmallCapsAlt A 300 pvrsa___
+ ppc___ Poetica-RomanSmallCaps A 300 pvrsc___
+ ppc___ Poetica-SuppAmpersands A 301 pvam____
+ ppc___ Poetica-SuppInitialSwashCaps A 301 pvisw___
+ ppc___ Poetica-SuppLowercaseAltI A 301 pvla1___
+ ppc___ Poetica-SuppLowercaseAltII A 301 pvla2___
+ ppc___ Poetica-SuppLowercaseBegI A 301 pvlb1___
+ ppc___ Poetica-SuppLowercaseBegII A 301 pvlb2___
+ ppc___ Poetica-SuppLowercaseEndI A 301 pvle1___
+ ppc___ Poetica-SuppLowercaseEndII A 301 pvle2___
+ ppc___ Poetica-SuppLigatures A 301 pvlg____
+ ppc___ Poetica-SuppOrnaments A 301 pvor____
+ ppc___ Poetica-SuppSwashCapsI A 301 pvsw1___
+ ppc___ Poetica-SuppSwashCapsII A 301 pvsw2___
+ ppc___ Poetica-SuppSwashCapsIII A 301 pvsw3___
+ ppc___ Poetica-SuppSwashCapsIV A 301 pvsw4___
+ msmr8x SpectrumMT-Expert A 302 ekexp___
+ msmri8a SpectrumMT-Italic A 302 eki_____
+ msmrij8a SpectrumMT-ItalicOsF A 302 ekio____
+ msmri8x SpectrumMT-ItalicExpert A 302 ekixp___
+ msmr8a SpectrumMT A 302 ekrg____
+ msms8a SpectrumMT-SemiBold A 302 eksb____
+ msmsc8a SpectrumMT-SemiBoldOsF A 302 eksbo___
+ msms8x SpectrumMT-SemiBoldExpert A 302 eksbx___
+ msmrc8a SpectrumMT-SC A 302 eksc____
+ p_____ AGBookRounded-Bold A 303 kdb_____
+ p_____ AGBookRounded-BoldCn A 303 kdbc____
+ p_____ AGBookRounded-BoldCnOutline A 303 kdbcl___
+ p_____ AGBookRounded-BoldOutline A 303 kdbou___
+ p_____ AGBookRounded-Medium A 303 kdm_____
+ p_____ AGBookRounded-MediumOutline A 303 kdmou___
+ p_____ AGBookRounded-Regular A 303 kdrg____
+ p_____ BodoniOldFaceBE-Bold A 304 qvb_____
+ p_____ BodoniOldFaceBE-BoldItalic A 304 qvbi____
+ p_____ BodoniOldFaceBE-Italic A 304 qvi_____
+ p_____ BodoniOldFaceBE-Medium A 304 qvm_____
+ p_____ BodoniOldFaceBE-MediumItalic A 304 qvmi____
+ p_____ BodoniOldFaceBE-Regular A 304 qvrg____
+ mg4ri8a GoudyModernMT-Italic A 305 ygi_____
+ mg4r8a GoudyModernMT A 305 ygrg____
+ ms1ri8a ScotchRomanMT-Italic A 305 ysi_____
+ ms1r8a ScotchRomanMT A 305 ysrg____
+ p_____ AGSchoolbook-RegularA A 306 okarg___
+ p_____ AGSchoolbook-Medium A 306 okm_____
+ p_____ AGSchoolbook-MediumA A 306 okma____
+ p_____ AGSchoolbook-Regular A 306 okrg____
+ pbeb8a BellGothic-Bold A 307 dgb_____
+ pbec8a BellGothic-Black A 307 dgbl____
+ pbel8a BellGothic-Light A 307 dgl_____
+ misb8a ItalianOldStyleMT-Bold A 308 ieb_____
+ misbi8a ItalianOldStyleMT-BoldItalic A 308 iebi____
+ misri8a ItalianOldStyleMT-Italic A 308 iei_____
+ misr8a ItalianOldStyleMT A 308 ierg____
+ p_____ BellCentennial-Address A 309 bladd___
+ p_____ BellCentennial-BoldListingAlt A 309 blbla___
+ p_____ BellCentennial-BoldListing A 309 blbls___
+ p_____ BellCentennial-NameAndNumber A 309 blnan___
+ p_____ BellCentennial-SubCaption A 309 blscp___
+ p_____ BodoniOldFaceBE-BoldItOsF A 310 qvbio___
+ p_____ BodoniOldFaceBE-BoldItExp A 310 qvbix___
+ p_____ BodoniOldFaceBE-BoldOsF A 310 qvbos___
+ p_____ BodoniOldFaceBE-BoldExp A 310 qvbxp___
+ p_____ BodoniOldFaceBE-ItalicSC A 310 qvisc___
+ p_____ BodoniOldFaceBE-ItalicExp A 310 qvixp___
+ p_____ BodoniOldFaceBE-MediumItOsF A 310 qvmio___
+ p_____ BodoniOldFaceBE-MediumItExp A 310 qvmix___
+ p_____ BodoniOldFaceBE-MediumSC A 310 qvmsc___
+ p_____ BodoniOldFaceBE-MediumExp A 310 qvmxp___
+ p_____ BodoniOldFaceBE-RegularExp A 310 qvrgx___
+ p_____ BodoniOldFaceBE-RegularSC A 310 qvrsc___
+ p_____ BerlinerGrotesk-Light A 311 otl_____
+ p_____ BerlinerGrotesk-Medium A 311 otm_____
+ mntb8ac TimesNewRomanMT-BoldCond A 312 mtbc____
+ mntr8ac TimesNewRomanMT-Cond A 312 mtc_____
+ mntri8ac TimesNewRomanMT-CondItalic A 312 mtci____
+ movr8x OctavianMT-Expert A 313 ocexp___
+ movri8a OctavianMT-Italic A 313 oci_____
+ movrij8a OctavianMT-ItalicOsF A 313 ocio____
+ movri8x OctavianMT-ItalicExpert A 313 ocixp___
+ movr8a OctavianMT A 313 ocrg____
+ movrc8a OctavianMT-SC A 313 ocsc____
+ p_____ Christiana-Bold A 314 hcb_____
+ p_____ Christiana-BoldItalic A 314 hcbi____
+ p_____ Christiana-Italic A 314 hci_____
+ p_____ Christiana-Medium A 314 hcm_____
+ p_____ Christiana-MediumItalic A 314 hcmi____
+ p_____ Christiana-Regular A 314 hcrg____
+ p_____ Christiana-RegularExpert A 314 hcrgx___
+ p_____ Christiana-RegularSC A 314 hcsc____
+ pmnb6w MinionCyr-Bold A 315 mkb_____
+ pmnbi6w MinionCyr-BoldItalic A 315 mkbi____
+ pmnri6w MinionCyr-Italic A 315 mki_____
+ pmnr6w MinionCyr-Regular A 315 mkrg____
+ pmns6w MinionCyr-Semibold A 315 mksb____
+ pmnsi6w MinionCyr-SemiboldItalic A 315 mksbi___
+ ptbb8ac BodoniBE-BoldCn A 316 bpbc____
+ ptbbi8ac BodoniBE-BoldCnItalic A 316 bpbci___
+ ptbr8ac BodoniBE-Condensed A 316 bpc_____
+ ptbri8ac BodoniBE-CnItalic A 316 bpci____
+ ptbm8ac BodoniBE-MediumCn A 316 bpmc____
+ ptbmi8ac BodoniBE-MediumCnItalic A 316 bpmci___
+ mfsr8a FalstaffMT A 317 fprg____
+ mifb8a InflexMT-Bold A 317 iqb_____
+ mm8bl8a MonotypeOldStyleMT-BoldOut A 317 mbbou___
+ pdjb8a Delta-Bold A 318 djb_____
+ pdjbi8a Delta-BoldItalic A 318 djbi____
+ pdjl8a Delta-Light A 318 djl_____
+ pdjli8a Delta-LightItalic A 318 djli____
+ pdjm8a Delta-Medium A 318 djm_____
+ pdjmi8a Delta-MediumItalic A 318 djmi____
+ pdjrl8a Delta-Outline A 318 djou____
+ pdjk8a Delta-Book A 318 djw_____
+ pdjki8a Delta-BookItalic A 318 djwi____
+ mnrrw8a NewBerolinaMT A 319 _n______
+ mp1rw8a PalaceScriptMT A 319 _p______
+ mp1sw8a PalaceScriptMT-SemiBold A 319 _psb____
+ mahrw8a AshleyScriptMT A 319 le______
+ mm1rw8a MonolineScriptMT A 319 on______
+ pbtb8a Boton-Bold A 320 tnb_____
+ pbtbi8a Boton-BoldItalic A 320 tnbi____
+ pbtri8a Boton-Italic A 320 tni_____
+ pbtl8a Boton-Light A 320 tnl_____
+ pbtli8a Boton-LightItalic A 320 tnli____
+ pbtm8a Boton-Medium A 320 tnm_____
+ pbtmi8a Boton-MediumItalic A 320 tnmi____
+ pbtr8a Boton-Regular A 320 tnr_____
+ mfer8a ForteMT A 321 fz______
+ mklr8a KlangMT A 321 kn______
+ mmebw8a MercuriusMT-BoldScript A 321 uzbs____
+ ldob8a DidotLH-Bold A 322 dob_____
+ ldobj8a DidotLH-BoldOsF A 322 dobos___
+ ldord8a DidotLH-Headline A 322 dohe____
+ ldordj8a DidotLH-HeadlineOsF A 322 dohes___
+ ldori8a DidotLH-Italic A 322 doi_____
+ ldor7a DidotLH-Initials A 322 doini___
+ ldorij8a DidotLH-ItalicOsF A 322 doios___
+ ldorp1 DidotLH-OrnamentsOne A 322 door1___
+ ldorp2 DidotLH-OrnamentsTwo A 322 door2___
+ ldor8a DidotLH-Roman A 322 dor_____
+ ldorj8a DidotLH-RomanOsF A 322 doros___
+ ldorc8a DidotLH-RomanSC A 322 dorsc___
+ pfab8ac Formata-BoldCondensed A 323 fmbc____
+ pfabi8ac Formata-BoldCondensedItalic A 323 fmbci___
+ pfar8ac Formata-Condensed A 323 fmc_____
+ pfari8ac Formata-CondensedItalic A 323 fmci____
+ pfarl8ac Formata-CondensedOutline A 323 fmcou___
+ pfal8ac Formata-LightCondensed A 323 fmlc____
+ pfali8ac Formata-LightCondensedItalic A 323 fmlci___
+ pfam8ac Formata-MediumCondensed A 323 fmmc____
+ pfami8ac Formata-MediumCondensedItalic A 323 fmmci___
+ pebb8a BaskervilleBE-Bold A 324 vib_____
+ pebri8a BaskervilleBE-Italic A 324 vii_____
+ pebm8a BaskervilleBE-Medium A 324 vim_____
+ pebmi8a BaskervilleBE-MediumItalic A 324 vimi____
+ pebr8a BaskervilleBE-Regular A 324 virg____
+ pb6r8ac BlockBE-Condensed A 325 lkc_____
+ pb6r8aq BlockBE-ExtraCn A 325 lkec____
+ pb6ri8aq BlockBE-ExtraCnIt A 325 lkeci___
+ pb6h8a BlockBE-Heavy A 325 lkh_____
+ pb6ri8a BlockBE-Italic A 325 lki_____
+ pb6r8a BlockBE-Regular A 325 lkrg____
+ pllb8a LinoLetter-Bold A 326 llb_____
+ pllbi8a LinoLetter-BoldItalic A 326 llbi____
+ pllc8a LinoLetter-Black A 326 llbl____
+ pllci8a LinoLetter-BlackItalic A 326 llbli___
+ pllri8a LinoLetter-Italic A 326 lli_____
+ pllm8a LinoLetter-Medium A 326 llm_____
+ pllmi8a LinoLetter-MediumItalic A 326 llmi____
+ pllr8a LinoLetter-Roman A 326 llr_____
+ p_____ ComeniusAntiqua-Bold A 327 hzb_____
+ p_____ ComeniusAntiqua-Italic A 327 hzi_____
+ p_____ ComeniusAntiqua-Medium A 327 hzm_____
+ p_____ ComeniusAntiqua-Regular A 327 hzrg____
+ ppub8a PopplLaudatio-Bold A 328 pyb_____
+ ppubi8a PopplLaudatio-BoldItalic A 328 pybi____
+ ppuri8a PopplLaudatio-Italic A 328 pyi_____
+ ppul8a PopplLaudatio-Light A 328 pyl_____
+ ppuli8a PopplLaudatio-LightItalic A 328 pyli____
+ ppum8a PopplLaudatio-Medium A 328 pym_____
+ ppumi8a PopplLaudatio-MediumItalic A 328 pymi____
+ ppur8a PopplLaudatio-Regular A 328 pyrg____
+ ppub8ac PopplLaudatio-BoldCondensed A 329 pybc____
+ ppur8ac PopplLaudatio-Condensed A 329 pyc_____
+ ppul8ac PopplLaudatio-LightCondensed A 329 pylc____
+ ppum8ac PopplLaudatio-MediumCondensed A 329 pymc____
+ pocb8ac ConcordeBE-BoldCn A 330 qqbc____
+ pocbl8ac ConcordeBE-BoldCnOutline A 330 qqbcl___
+ pocr8ac ConcordeBE-Condensed A 330 qqc_____
+ pocm8ac ConcordeBE-MediumCn A 330 qqmc____
+ p_____ GaramondBE-BoldOsF A 331 gwbof___
+ p_____ GaramondBE-BoldExpert A 331 gwbxp___
+ p_____ GaramondBE-CondensedSC A 331 gwcsc___
+ p_____ GaramondBE-CnExpert A 331 gwcxp___
+ p_____ GaramondBE-ItalicOsF A 331 gwiof___
+ p_____ GaramondBE-ItalicExpert A 331 gwixp___
+ p_____ GaramondBE-MediumCnOsF A 331 gwmcf___
+ p_____ GaramondBE-MediumCnExpert A 331 gwmcx___
+ p_____ GaramondBE-MediumItalicOsF A 331 gwmio___
+ p_____ GaramondBE-MediumItalicExpert A 331 gwmix___
+ p_____ GaramondBE-MediumSC A 331 gwmsc___
+ p_____ GaramondBE-MediumExpert A 331 gwmxp___
+ p_____ GaramondBE-RegularExpert A 331 gwrgx___
+ p_____ GaramondBE-RegularSC A 331 gwsc____
+ p_____ GaramondBE-SwashItalic A 331 gwswi___
+ pdnb8a DailyNews-Bold A 332 jdb_____
+ pdnbi8a DailyNews-BoldItalic A 332 jdbi____
+ pdnx8a DailyNews-ExtraBold A 332 jdeb____
+ pdnxi8a DailyNews-ExtraBoldItalic A 332 jdebi___
+ pdnri8a DailyNews-Italic A 332 jdi_____
+ pdnm8a DailyNews-Medium A 332 jdm_____
+ pdnmi8a DailyNews-MediumItalic A 332 jdmi____
+ pdnr8a DailyNews-Regular A 332 jdrg____
+ murbij8a CentaurMT-BoldItalicOsF A 333 nrbio___
+ murbi8x CentaurMT-BoldItalicExpert A 333 nrbix___
+ murbj8a CentaurMT-BoldOsF A 333 nrbof___
+ murb8x CentaurMT-BoldExpert A 333 nrbxp___
+ murr8x CentaurMT-Expert A 333 nrexp___
+ murri7a CentaurMT-ItalicAlternate A 333 nrial___
+ murrij8a CentaurMT-ItalicOsF A 333 nrio____
+ murri8x CentaurMT-ItalicExpert A 333 nrixp___
+ murrc8a CentaurMT-SC A 333 nrsc____
+ murriw8a CentaurMT-SwashCapitals A 333 nrswc___
+ mmob8a ModernMT-Bold A 334 nmb_____
+ mmobi8a ModernMT-BoldItalic A 334 nmbi____
+ mmor8ac ModernMT-Condensed A 334 nmc_____
+ mmori8ac ModernMT-CondensedItalic A 334 nmci____
+ mmor8ax ModernMT-Extended A 334 nmex____
+ mmori8ax ModernMT-ExtendedItalic A 334 nmexi___
+ mmor8aw ModernMT-Wide A 334 nmwd____
+ mmori8aw ModernMT-WideItalic A 334 nmwdi___
+ p_____ ElseNPL-Bold A 335 enb_____
+ p_____ ElseNPL-Light A 335 enl_____
+ p_____ ElseNPL-Medium A 335 enm_____
+ p_____ ElseNPL-SemiBold A 335 ens_____
+ p_____ Tiepolo-Bold A 336 tpb_____
+ p_____ Tiepolo-BoldItalic A 336 tpbi____
+ p_____ Tiepolo-Black A 336 tpbl____
+ p_____ Tiepolo-BlackItalic A 336 tpbli___
+ p_____ Tiepolo-Book A 336 tpw_____
+ p_____ Tiepolo-BookItalic A 336 tpwi____
+ pfaric8ac Formata-CnItalicSC A 337 fmcis___
+ pfari8xc Formata-CnItalicExpert A 337 fmcix___
+ pfarc8ac Formata-CondensedSC A 337 fmcsc___
+ pfar8xc Formata-CondensedExpert A 337 fmcxp___
+ pfaric8a Formata-ItalicSC A 337 fmisc___
+ pfari8x Formata-ItalicExpert A 337 fmixp___
+ pfalc8ac Formata-LightCnSC A 337 fmlcs___
+ pfalic8ac Formata-LightCnItalicSC A 337 fmlct___
+ pfal8xc Formata-LightCnExpert A 337 fmlcx___
+ pfali8xc Formata-LightCnItalicExpert A 337 fmlcy___
+ pfalic8a Formata-LightItalicSC A 337 fmlis___
+ pfali8x Formata-LightItalicExpert A 337 fmlix___
+ pfalc8a Formata-LightSC A 337 fmlsc___
+ pfal8x Formata-LightExpert A 337 fmlxp___
+ pfar8x Formata-RegularExpert A 337 fmrgx___
+ pfarc8a Formata-RegularSC A 337 fmsc____
+ pnfbij8a Nofret-BoldItalicOsF A 338 nfbio___
+ pnfbi8x Nofret-BoldItalicExpert A 338 nfbix___
+ pnfbj8a Nofret-BoldOsF A 338 nfbof___
+ pnfb8x Nofret-BoldExpert A 338 nfbxp___
+ pnfrij8a Nofret-ItalicOsF A 338 nfiof___
+ pnfri8x Nofret-ItalicExpert A 338 nfixp___
+ pnflij8a Nofret-LightItalicOsF A 338 nflio___
+ pnfli8x Nofret-LightItalicExpert A 338 nflix___
+ pnflc8a Nofret-LightSC A 338 nflsc___
+ pnfl8x Nofret-LightExpert A 338 nflxp___
+ pnfmij8a Nofret-MediumItalicOsF A 338 nfmio___
+ pnfmi8x Nofret-MediumItalicExpert A 338 nfmix___
+ pnfmc8a Nofret-MediumSC A 338 nfmsc___
+ pnfm8x Nofret-MediumExpert A 338 nfmxp___
+ pnfr8x Nofret-RegularExpert A 338 nfrgx___
+ pnfrc8a Nofret-RegularSC A 338 nfsc____
+ p_____ Amigo A 339 ig______
+ p_____ Pelican A 339 lq______
+ pmgr8a Marigold A 339 my______
+ pofr8a Oxford A 339 of______
+ pvgr8a Visigoth A 339 vg______
+ mapr8x ApolloMT-Expert A 340 ezexp___
+ mapri8a ApolloMT-Italic A 340 ezi_____
+ maprij8a ApolloMT-ItalicOsF A 340 eziof___
+ mapri8x ApolloMT-ItalicExpert A 340 ezixp___
+ mapr8a ApolloMT A 340 ezr_____
+ maprc8a ApolloMT-SC A 340 ezrsc___
+ maps8a ApolloMT-SemiBold A 340 ezsb____
+ mapsj8a ApolloMT-SemiBoldOsF A 340 ezsbo___
+ maps8x ApolloMT-SemiBoldExpert A 340 ezsbx___
+ p_____ Catull-Bold A 341 qlb_____
+ p_____ Catull-Italic A 341 qli_____
+ p_____ Catull-Medium A 341 qlm_____
+ p_____ Catull-Regular A 341 qlrg____
+ pagMMo8a ITCAvantGardeMM-Oblique A 342 zfi_____
+ pagMM8a ITCAvantGardeMM A 342 zfrg____
+ mhob8a HorleyOldStyleMT-Bold A 343 hsb_____
+ mhobi8a HorleyOldStyleMT-BoldItalic A 343 hsbi____
+ mhori8a HorleyOldStyleMT-Italic A 343 hsi_____
+ mhol8a HorleyOldStyleMT-Light A 343 hsl_____
+ mholi8a HorleyOldStyleMT-LightItalic A 343 hsli____
+ mhor8a HorleyOldStyleMT A 343 hsrg____
+ mhos8a HorleyOldStyleMT-SemiBold A 343 hssb____
+ mhosi8a HorleyOldStyleMT-SbItalic A 343 hssbi___
+ p_____ Cremona-Bold A 344 _cb_____
+ p_____ Cremona-BoldItalic A 344 _cbi____
+ p_____ Cremona-Italic A 344 _ci_____
+ p_____ Cremona-Regular A 344 _crg____
+ pgsb8aq GillSans-BoldExtraCondensed A 345 gnbxc___
+ pgslh8a GillSans-LightShadowed A 345 gnls____
+ pgsrh8a GillSans-Shadowed A 345 gns_____
+ pgsxd8a GillSans-ExtraBoldDisplay A 345 gnxbd___
+ p_____ LoType-Bold A 346 ljb_____
+ p_____ LoType-Light A 346 ljl_____
+ p_____ LoType-Medium A 346 ljm_____
+ p_____ LoType-MediumCondensed A 346 ljmc____
+ p_____ LoType-MediumItalic A 346 ljmi____
+ p_____ LoType-Regular A 346 ljrg____
+ mknr8a KinoMT A 347 qi______
+ mwrrf8a WittenbergerFrakturMT A 347 wf______
+ mwrbf8a WittenbergerFrakturMT-Bd A 347 wfb_____
+ mwdbf7c WittenbergerFrakturMT-BdDfr A 347 wfbdf___
+ mwdrf7c WittenbergerFrakturMT-Dfr A 347 wfdfr___
+ mm7r8a MaturaMT A 347 zz______
+ mm7rw8a MaturaMT-ScriptCapitals A 347 zzscc___
+ pllbij8a LinoLetter-BoldItalicOsF A 348 llbio___
+ pllbk8a LinoLetter-BoldOsF A 348 llbof___
+ pllbc8a LinoLetter-BoldSC A 348 llbsc___
+ pllrij8a LinoLetter-ItalicOsF A 348 lliof___
+ pllmij8a LinoLetter-MediumItalicOsF A 348 llmio___
+ pllmj8a LinoLetter-MediumOsF A 348 llmof___
+ pllmc8a LinoLetter-MediumSC A 348 llmsc___
+ pllrj8a LinoLetter-RomanOsF A 348 llros___
+ pllrc8a LinoLetter-RomanSC A 348 llrsc___
+ pllcij8a LinoLetter-BlackItalicOsF A 348 llzio___
+ pllcj8a LinoLetter-BlackOsF A 348 llzof___
+ pllcc8a LinoLetter-BlackSC A 348 llzsc___
+ pbbbij8a Bembo-BoldItalicOsF A 349 bmbio___
+ pbbbi8x Bembo-BoldItalicExpert A 349 bmbix___
+ pbbbj8a Bembo-BoldOsF A 349 bmbos___
+ pbbb8x Bembo-BoldExpert A 349 bmbxp___
+ pbbxj8a Bembo-ExtraBoldOsF A 349 bmebs___
+ pbbx8x Bembo-ExtraBoldExpert A 349 bmebx___
+ pbbxij8a Bembo-ExtraBoldItalicOsF A 349 bmeis___
+ pbbxi8x Bembo-ExtraBoldItalicExpert A 349 bmeix___
+ pbbr8x Bembo-Expert A 349 bmexp___
+ pbbrij8a Bembo-ItalicOsF A 349 bmios___
+ pbbri8x Bembo-ItalicExpert A 349 bmixp___
+ pbbrc8a Bembo-SC A 349 bmrsc___
+ pbbsj8a Bembo-SemiboldOsF A 349 bmsbo___
+ pbbs8x Bembo-SemiboldExpert A 349 bmsbx___
+ pbbsij8a Bembo-SemiboldItalicOsF A 349 bmsis___
+ pbbsi8x Bembo-SemiboldItalicExpert A 349 bmsix___
+ ptkMMo8a TektonMM-Oblique A 350 zji_____
+ ptkMM8a TektonMM A 350 zjrg____
+ pvvMM8a VivaMM A 351 zkrg____
+ pb7b8a BernhardModern-Bold A 352 rdb_____
+ pb7bi8a BernhardModern-BoldItalic A 352 rdbi____
+ pb7ri8a BernhardModern-Italic A 352 rdi_____
+ pb7r8a BernhardModern-Roman A 352 rdr_____
+ p_____ Ariadne-Roman A 353 aria____
+ pdiri8a Diotima-Italic A 353 dti_____
+ pdirij8a Diotima-ItalicOsF A 353 dtiof___
+ pdir8a Diotima-Roman A 353 dtr_____
+ pdirj8a Diotima-RomanOsF A 353 dtros___
+ pdirc8a Diotima-RomanSC A 353 dtrsc___
+ p_____ Smaragd A 353 smar____
+ p_____ Smaragd-Alternate A 353 smara___
+ pttb6w TimesTenCyr-Bold A 354 ttyb____
+ pttbo6w TimesTenCyr-BoldInclined A 354 ttybi___
+ pttro6w TimesTenCyr-Inclined A 354 ttyi____
+ pttr6w TimesTenCyr-Upright A 354 ttyu____
+ panr8a Anna A 355 iarg____
+ p_____ Beesknees A 355 ikh_____
+ p_____ MonaLisa-Recut A 355 iyin____
+ p_____ MonaLisa-Solid A 355 iysd____
+ p_____ Ozwald A 355 ozh_____
+ po8b8a OfficinaSerif-Bold A 356 ovb_____
+ po8bi8a OfficinaSerif-BoldItalic A 356 ovbi____
+ po8k8a OfficinaSerif-Book A 356 ovbk____
+ po8ki8a OfficinaSerif-BookItalic A 356 ovwi____
+ po9b8a OfficinaSans-Bold A 357 owb_____
+ po9bi8a OfficinaSans-BoldItalic A 357 owbi____
+ po9k8a OfficinaSans-Book A 357 owbk____
+ po9ki8a OfficinaSans-BookItalic A 357 owwi____
+ p_____ SanvitoMM A 358 zhrg____
+ p_____ CaflischScriptMM-Alt A 359 zea_____
+ p_____ CaflischScriptMM A 359 zerg____
+ p_____ CaflischScriptMM-Sw A 359 zesw____
+ p_____ GraphiteMM A 360 _grg____
+ phir6w HelveticaInseratCyr-Upright A 361 hiyu____
+ phvb6w HelveticaCyr-Bold A 361 hvyb____
+ phvbo6w HelveticaCyr-BoldInclined A 361 hvybi___
+ phvro6w HelveticaCyr-Inclined A 361 hvyi____
+ phvr6w HelveticaCyr-Upright A 361 hvyu____
+ plzb8a LegacySans-Bold A 362 lvb_____
+ plzbi8a LegacySans-BoldItalic A 362 lvbi____
+ plzm8a LegacySans-Medium A 362 lvm_____
+ plzmi8a LegacySans-MediumItalic A 362 lvmi____
+ plzu8a LegacySans-Ultra A 362 lvu_____
+ plzk8a LegacySans-Book A 362 lvw_____
+ plzki8a LegacySans-BookItalic A 362 lvwi____
+ pleb8a LegacySerif-Bold A 363 lzb_____
+ plebi8a LegacySerif-BoldItalic A 363 lzbi____
+ plem8a LegacySerif-Medium A 363 lzm_____
+ plemi8a LegacySerif-MediumItalic A 363 lzmi____
+ pleu8a LegacySerif-Ultra A 363 lzu_____
+ plek8a LegacySerif-Book A 363 lzw_____
+ pleki8a LegacySerif-BookItalic A 363 lzwi____
+ pexr6w ExcelsiorCyr-Upright A 364 exy_____
+ pexb6w ExcelsiorCyr-Bold A 364 exyb____
+ pexro6w ExcelsiorCyr-Inclined A 364 exyi____
+ pbvr6w BaskervilleCyr-Upright A 365 _by_____
+ pbvb6w BaskervilleCyr-Bold A 365 _byb____
+ pbvbo6w BaskervilleCyr-Inclined A 365 _byi____
+ p_____ Pepperwood-Fill A 366 uwfi____
+ p_____ Pepperwood-Outline A 366 uwou____
+ p_____ Pepperwood-Regular A 366 uwrg____
+ p_____ Rosewood-Fill A 366 uxfi____
+ p_____ Rosewood-Regular A 366 uxrg____
+ p_____ Zebrawood-Fill A 366 uyfi____
+ p_____ Zebrawood-Regular A 366 uyrg____
+ p_____ MendozaRoman-Bold A 367 zab_____
+ p_____ MendozaRoman-BoldItalic A 367 zabi____
+ p_____ MendozaRoman-Medium A 367 zam_____
+ p_____ MendozaRoman-MediumItalic A 367 zami____
+ p_____ MendozaRoman-Book A 367 zaw_____
+ p_____ MendozaRoman-BookItalic A 367 zawi____
+ phhb8a Highlander-Bold A 368 hhb_____
+ phhbi8a Highlander-BoldItalic A 368 hhbi____
+ phhk8a Highlander-Book A 368 hhbk____
+ phhm8a Highlander-Medium A 368 hhm_____
+ phhmi8a Highlander-MediumItalic A 368 hhmi____
+ phhki8a Highlander-BookItalic A 368 hhwi____
+ pbgb8a Benguiat-Bold A 369 bgb_____
+ pbgbi8a Benguiat-BoldItalic A 369 bgbi____
+ pbgm8a Benguiat-Medium A 369 bgm_____
+ pbgmi8a Benguiat-MediumItalic A 369 bgmi____
+ pbgk8a Benguiat-Book A 369 bgw_____
+ pbgki8a Benguiat-BookItalic A 369 bgwi____
+ p_____ MezzMM A 370 zmrg____
+ lrzb8a RuzickaFreehandLH-Bold A 371 rzb_____
+ lrzbc8a RuzickaFreehandLH-BoldSC A 371 rzbsc___
+ lrzr8a RuzickaFreehandLH-Roman A 371 rzr_____
+ lrzrc8a RuzickaFreehandLH-RomanSC A 371 rzrsc___
+ pnorf7c NotreDame-RomanDfr A 372 nhdfr___
+ pnorp NotreDame-Ornaments A 372 nhorn___
+ pnorf8a NotreDame-Roman A 372 nhr_____
+ ppjrp Pompeijana-Borders A 372 qbbor___
+ ppjr8a Pompeijana-Roman A 372 qbr_____
+ prxrp Rusticana-Borders A 372 rxbor___
+ prxr8a Rusticana-Roman A 372 rxr_____
+ lpi005 CaravanLH-One A 373 cara1___
+ lpi006 CaravanLH-Two A 373 cara2___
+ lpi007 CaravanLH-Three A 373 cara3___
+ lpi008 CaravanLH-Four A 373 cara4___
+ leab8a ElectraLH-Bold A 373 etb_____
+ leabi8a ElectraLH-BoldCursive A 373 etbi____
+ leari8a ElectraLH-Cursive A 373 eti_____
+ lear8a ElectraLH-Regular A 373 etr_____
+ leabij8a ElectraLH-BoldCursiveOsF A 374 etbio___
+ leabj8a ElectraLH-BoldOsF A 374 etbos___
+ leabc8a ElectraLH-BoldSC A 374 etbsc___
+ leabd8a ElectraLH-BoldDisplay A 374 etdb____
+ leabid8a ElectraLH-BoldCursiveDisplay A 374 etdbi___
+ learid8a ElectraLH-CursiveDisplay A 374 etdi____
+ leard8a ElectraLH-Display A 374 etdr____
+ learij8a ElectraLH-CursiveOsF A 374 etios___
+ learj8a ElectraLH-RegularOsF A 374 etros___
+ learc8a ElectraLH-RegularSC A 374 etrsc___
+ p_____ RulingScript-Two A 375 rul2____
+ p_____ Sho-Roman A 375 sho_____
+ p_____ WiesbadenSwing-Roman A 375 wn______
+ p_____ MotterCorpusMM A 376 kprg____
+ p_____ PenumbraMM A 377 zlrg____
+ p_____ NuevaMM-It A 378 twi_____
+ p_____ NuevaMM A 378 twr_____
+ pctbif8a Cheltenham-HandtooledBdIt A 379 chiin___
+ pctbf8a Cheltenham-HandtooledBold A 379 chin____
+ pgmbif8a Garamond-HandtooledBoldItalic A 379 gaiin___
+ pgmbf8a Garamond-HandtooledBold A 379 gain____
+ pcnbif8a Century-HandtooledBoldItalic A 379 iciin___
+ pcnbf8a Century-HandtooledBold A 379 icin____
+ pgmMM8a ITCGaramondMM A 380 gc______
+ pgmMMi8a ITCGaramondMM-It A 380 gci_____
+ p_____ Cerigo-Bold A 381 qcb_____
+ p_____ Cerigo-BoldItalic A 381 qcbi____
+ p_____ Cerigo-Medium A 381 qcm_____
+ p_____ Cerigo-MediumItalic A 381 qcmi____
+ p_____ Cerigo-Book A 381 qcw_____
+ p_____ Cerigo-BookItalic A 381 qcwi____
+ phab8a Hadriano-Bold A 382 hab_____
+ phax8a Hadriano-ExtraBold A 382 haeb____
+ phax8ac Hadriano-ExtraBoldCondensed A 382 haebc___
+ phal8a Hadriano-Light A 382 hal_____
+ prcb8a Romic-Bold A 383 rob_____
+ prcx8a Romic-ExtraBold A 383 roeb____
+ prcl8a Romic-Light A 383 rol_____
+ prcli8a Romic-LightItalic A 383 roli____
+ prcm8a Romic-Medium A 383 rom_____
+ p_____ Copal-Decorated A 384 _ddc____
+ p_____ Copal-Outline A 384 _dou____
+ p_____ Copal-Solid A 384 _dsd____
+ pxpMM7a ExPontoMM-Alternate A 385 jvalt___
+ pxpMM7ab ExPontoMM-Beginning A 385 jvbeg___
+ pxpMM7ae ExPontoMM-Ending A 385 jvend___
+ pxpMM8a ExPontoMM A 385 jvrg____
+ pxpMMj8a ExPontoMM-OsF A 385 jvros___
+ pysb8a GoudySans-Bold A 386 hgb_____
+ pysbi8a GoudySans-BoldItalic A 386 hgbi____
+ pysk8a GoudySans-Book A 386 hgbk____
+ pyski8a GoudySans-BookItalic A 386 hgbki___
+ pysc8a GoudySans-Black A 386 hgbl____
+ pysci8a GoudySans-BlackItalic A 386 hgbli___
+ pysm8a GoudySans-Medium A 386 hgm_____
+ pysmi8a GoudySans-MediumItalic A 386 hgmi____
+ p_____ Delphin-I A 387 df1_____
+ p_____ Delphin-IA A 387 df1a____
+ p_____ Delphin-II A 387 df2_____
+ p_____ Delphin-IIA A 387 df2a____
+ pc7b8a Kompakt A 387 kq______
+ p_____ KochAntiqua A 387 kv______
+ pnlb8a Neuland A 387 nq______
+ p_____ Caliban A 388 ni______
+ paxrw8a Alexa A 388 xa______
+ pbzrw8a Balzano A 388 zn______
+ p_____ JimboMM A 389 jprg____
+ pb7b8ac Bernhard-BoldCondensed A 390 dhbc____
+ pnw1r8a NeueHammerUnziale-One A 390 nw1_____
+ pnw1r7a NeueHammerUnziale-OneAlt A 390 nw1al___
+ pnw2r8a NeueHammerUnziale-Two A 390 nw2_____
+ pnw2r7a NeueHammerUnziale-TwoAlt A 390 nw2al___
+ pclrl8a Cloister-OpenFace A 390 oein____
+ poir8a Ondine A 390 og______
+ pghr7a Galahad-Alternate A 391 g_alt___
+ pghr8a Galahad-Regular A 391 g_rg____
+ pghrj8a Galahad-OsF A 391 g_ros___
+ popc8a Optima-Black A 392 opbl____
+ popci8a Optima-BlackItalic A 392 opbli___
+ popd8a Optima-DemiBold A 392 opd_____
+ popdi8a Optima-DemiBoldItalic A 392 opdi____
+ popx8a Optima-ExtraBlack A 392 opf_____
+ popm8a Optima-Medium A 392 opm_____
+ popmi8a Optima-MediumItalic A 392 opmi____
+ popxi8a Optima-ExtraBlackItalic A 392 opxfi___
+ p_____ Aja A 393 ja______
+ p_____ PopplExquisit-Medium A 393 xqm_____
+ p_____ PopplExquisit-Regular A 393 xqrg____
+ ppi033 NationalCodes-Africa A 394 ncaf____
+ ppi034 NationalCodes-America A 394 ncam____
+ ppi035 NationalCodes-AsiaPlus A 394 ncas____
+ ppi036 NationalCodes-Europe A 394 nceu____
+ ppi037 NationalCodes-Universal A 394 ncun____
+ p_____ ElGreco A 395 eq______
+ pakm8a Arkona-Medium A 395 xnm_____
+ pakr8a Arkona-Regular A 395 xnrg____
+ pfgd8ap FranklinGothic-DemiCmpr A 396 frdcp___
+ pfgdi8ap FranklinGothic-DemiCmprItal A 396 frdpi___
+ pfgd8aq FranklinGothic-DemiXCmpr A 396 frdx____
+ pfgk8ap FranklinGothic-BookCmpr A 396 frwcp___
+ pfgki8ap FranklinGothic-BookCmprItal A 396 frwpi___
+ pfgk8aq FranklinGothic-BookXCmpr A 396 frwx____
+ pfgd8ac FranklinGothic-DemiCnd A 397 frdc____
+ pfgdi8ac FranklinGothic-DemiCndItal A 397 frdci___
+ pfgm8ac FranklinGothic-MedCnd A 397 frmc____
+ pfgmi8ac FranklinGothic-MedCndItal A 397 frmci___
+ pfgk8ac FranklinGothic-BookCnd A 397 frwc____
+ pfgki8ac FranklinGothic-BookCndItal A 397 frwci___
+ p_____ Sassafras-Italic A 398 xfi_____
+ p_____ Sassafras-LxItalic A 398 xflgi___
+ p_____ Sassafras-Lx A 398 xflgr___
+ p_____ Sassafras-Roman A 398 xfr_____
+ p_____ Sassafras-SxItalic A 398 xfshi___
+ p_____ Sassafras-Sx A 398 xfshr___
+ pkxrd8a Kigali-Block A 399 kxblk___
+ pkxrw8a Kigali-ZigZag A 399 kxdc____
+ pkxri8a Kigali-Italic A 399 kxi_____
+ pkxli8a Kigali-LxItalic A 399 kxlgi___
+ pkxl8a Kigali-Lx A 399 kxlgr___
+ pkxr8a Kigali-Roman A 399 kxr_____
+ pkxsi8a Kigali-SxItalic A 399 kxshi___
+ pkxs8a Kigali-Sx A 399 kxshr___
+ pajMMi8a AJensonMM-It A 400 jei_____
+ pajMM8a AJensonMM A 400 jer_____
+ pajMM7a AJensonMM-Alt A 401 jealt___
+ pajMM8x AJensonMM-Ep A 401 jeexp___
+ pajMMi7a AJensonMM-ItAlt A 401 jeial___
+ pajMMic8a AJensonMM-ItSC A 401 jeisc___
+ pajMMi8x AJensonMM-ItEp A 401 jeixp___
+ pajMMc8a AJensonMM-SC A 401 jersc___
+ pajMMiw8a AJensonMM-Sw A 401 jeswc___
+ mbmb8a BulmerMT-Bold A 402 ybb_____
+ mbmbi8a BulmerMT-BoldItalic A 402 ybbi____
+ mbmbd8a BulmerMT-BoldDisplay A 402 ybdb____
+ mbmbid8a BulmerMT-BoldItalicDisplay A 402 ybdbi___
+ mbmrd8a BulmerMT-RegularDisplay A 402 ybds____
+ mbmrid8a BulmerMT-ItalicDisplay A 402 ybdsi___
+ mbmri8a BulmerMT-Italic A 402 ybi_____
+ mbmr8a BulmerMT-Regular A 402 ybrg____
+ mbms8a BulmerMT-SemiBold A 402 ybsb____
+ mbmsi8a BulmerMT-SemiBoldItalic A 402 ybsi____
+ mbmb7a BulmerMT-BoldAlt A 403 ybab____
+ mbmbi7a BulmerMT-BoldItalicAlt A 403 ybabi___
+ mbmr7a BulmerMT-RegularAlt A 403 ybarg___
+ mbms7a BulmerMT-SemiBoldAlt A 403 ybasb___
+ mbmsi7a BulmerMT-SemiBoldItalicAlt A 403 ybasi___
+ mbmbd7a BulmerMT-BoldDisplayAlt A 403 ybbda___
+ mbmbid7a BulmerMT-BoldItalDisplayAlt A 403 ybbid___
+ mbmbi8x BulmerMT-BoldItalicExpert A 403 ybbix___
+ mbmb8x BulmerMT-BoldExpert A 403 ybbxp___
+ mbmri7a BulmerMT-ItalicAlt A 403 ybial___
+ mbmrid7a BulmerMT-ItalicDisplayAlt A 403 ybida___
+ mbmri8x BulmerMT-ItalicExpert A 403 ybixp___
+ mbmrd7a BulmerMT-RegularDisplayAlt A 403 ybrda___
+ mbmr8x BulmerMT-RegularExpert A 403 ybrgx___
+ mbmrc8a BulmerMT-RegularSC A 403 ybrsc___
+ mbmsc8a BulmerMT-SemiBoldSC A 403 ybsbs___
+ mbms8x BulmerMT-SemiBoldExpert A 403 ybsbx___
+ mbmsi8x BulmerMT-SemiBoldItalExpert A 403 ybsix___
+ pizr8a Isabella A 404 iz______
+ prrr8a Raphael A 404 rr______
+ pxcr8a Eccentric A 404 xc______
+ p_____ OceanSansMM-It A 405 ohi_____
+ p_____ OceanSansMM A 405 ohr_____
+ plcrt8a LucidaTypewriter A 406 tl______
+ plcbt8a LucidaTypewriter-Bold A 406 tlb_____
+ plcbot8a LucidaTypewriter-BoldObl A 406 tlbo____
+ plcrot8a LucidaTypewriter-Obl A 406 tlo_____
+ plsrt8a LucidaSansTypewriter A 407 ty______
+ plsbt8a LucidaSansTypewriter-Bd A 407 tyb_____
+ plsbot8a LucidaSansTypewriter-BdObl A 407 tybo____
+ plsrot8a LucidaSansTypewriter-Obl A 407 tyo_____
+ p_____ BriemScriptMM-Exp A 408 iiexp___
+ p_____ BriemScriptMM A 408 iirg____
+ p_____ BriemScriptMM-SC A 408 iisc____
+ pkpMM8a KeplMM A 409 k_______
+ pkpMMi8a KeplMM-It A 409 k_i_____
+ pkpMM8x KeplMM-Ep A 410 k_exp___
+ pkpMMic8a KeplMM-ItSC A 410 k_isc___
+ pkpMMi8x KeplMM-ItEp A 410 k_ixp___
+ pkpMMp1 KeplMM-Or1 A 410 k_or1___
+ pkpMMp2 KeplMM-Or2 A 410 k_or2___
+ pkpMMp3 KeplMM-Or3 A 410 k_or3___
+ pkpMMc8a KeplMM-SC A 410 k_rsc___
+ pkpMMiw8a KeplMM-Sw A 410 k_sw____
+ pmjr8a Mojo A 411 fbrg____
+ p_____ Shuriken-Boy A 412 s_boy___
+ p_____ Andreas A 413 hy______
+ poqr8a Ouch A 414 oq______
+ p_____ CongaBravaMM A 415 vbrg____
+ p_____ CongaBravaMM-St A 415 vbst____
+ p_____ CronosMM A 416 xo______
+ p_____ CronosMM-It A 416 xoi_____
+ p_____ CronosMM-Ep A 417 xoexp___
+ p_____ CronosMM-ItSC A 417 xoisc___
+ p_____ CronosMM-ItEp A 417 xoixp___
+ p_____ CronosMM-Or A 417 xoor____
+ p_____ CronosMM-SC A 417 xorsc___
+ p_____ CronosMM-Sw A 417 xosw____
+ pdkb8a Diskus-Bold A 418 d_b_____
+ pdkr8a Diskus A 418 d_rg____
+ potb8a Coronet-Bold A 418 n_b_____
+ potr8a Coronet A 418 n_rg____
+ p_____ ChaparralMM-It A 419 xti_____
+ p_____ ChaparralMM A 419 xtr_____
+ p_____ ChaparralMM-Ep A 420 xtexp___
+ p_____ ChaparralMM-ItSC A 420 xtisc___
+ p_____ ChaparralMM-ItEp A 420 xtixp___
+ p_____ ChaparralMM-Or A 420 xtor____
+ p_____ ChaparralMM-SC A 420 xtrsc___
+ ppi038 WiesbadenSwing-Dingbats A 421 wgdb____
+ p_____ BermudaLP-Dots A 422 uddc1___
+ p_____ BermudaLP-Squiggle A 422 uddc2___
+ p_____ BermudaLP-Open A 422 udou____
+ p_____ BermudaLP-Solid A 422 udrg____
+ p_____ SpumoniLP A 423 uu______
+ pzpr8a ZiptyDo A 424 zp______
+ pkwr7a KoloLP-Alternates A 425 kwalt___
+ pkwr8an KoloLP-Narrow A 425 kwn_____
+ pkwr8a KoloLP-Regular A 425 kwrg____
+ pkwr8aw KoloLP-Wide A 425 kwwd____
+ pnxr8a Nyx A 426 nxrg____
+ p_____ Banshee A 427 zo______
+ p_____ KinesisMM A 428 kj______
+ p_____ KinesisMM-It A 428 kji_____
+ p_____ KinesisMM-Ep A 429 kjexp___
+ p_____ KinesisMM-ItSC A 429 kjisc___
+ p_____ KinesisMM-ItEp A 429 kjixp___
+ p_____ KinesisMM-SC A 429 kjrsc___
+ p_____ HardwoodLP A 430 hw______
+ p_____ ManitoLP A 431 mw______
+ p_____ Coriander A 432 uc______
+ p_____ SpringLP A 433 td______
+ p_____ SpringLP-Light A 433 tdl_____
+ pwhb8a WendyLP-Bold A 434 whb_____
+ pwhl8a WendyLP-Light A 434 whl_____
+ pwhm8a WendyLP-Medium A 434 whm_____
+ p_____ BickhamScriptMM-AltI A 435 b_a1____
+ p_____ BickhamScriptMM-AltII A 435 b_a2____
+ p_____ BickhamScriptMM-Beg A 435 b_bg____
+ p_____ BickhamScriptMM-End A 435 b_en____
+ p_____ BickhamScriptMM-Lig A 435 b_lig___
+ p_____ BickhamScriptMM-Or A 435 b_or____
+ p_____ BickhamScriptMM A 435 b_rg____
+ p_____ BickhamScriptMM-SwCaps A 435 b_swc___
+ pojr8a OldClaudeLP A 436 oj______
+ pojrj8a OldClaudeLP-OsF A 436 ojosf___
+ pojrc8a OldClaudeLP-SC A 436 ojsc____
+ p_____ FlorensLP A 437 fn______
+ p_____ FlorensLP-Alternates A 437 fnalt___
+ p_____ BriemAkademiMM A 438 dkrg____
+ p_____ Khaki-One A 439 hk1_____
+ p_____ Khaki-Two A 439 hk2_____
+ p_____ Pompeia-InlineItalic A 440 vpiit___
+ p_____ Pompeia-Inline A 440 vpin____
+ p_____ Flood A 441 fyrg____
+ pwtMM7a WatersTitlingMM-Alt A 442 jwalt___
+ pwtMM7al WatersTitlingMM-Lig A 442 jwlig___
+ pwtMM8a WatersTitlingMM A 442 jwr_____
+ pwtMMd8a WatersTitlingMM-TallCaps A 442 jwtlc___
+ p_____ CelestiaAntiqua-Regular A 443 zs______
+ p_____ CelestiaAntiqua-Bold A 443 zsb_____
+ p_____ CelestiaAntiqua-BoldLig A 443 zsbdl___
+ p_____ CelestiaAntiqua-Italic A 443 zsi_____
+ p_____ CelestiaAntiqua-ItalicLig A 443 zsitl___
+ p_____ CelestiaAntiqua-Ligatures A 443 zslig___
+ p_____ CelestiaAntiqua-Ornaments A 443 zsor____
+ p_____ CelestiaAntiqua-Semibold A 443 zssb____
+ p_____ CelestiaAntiqua-SmBdLig A 443 zssbl___
+ p_____ CelestiaAntiqua-SC A 443 zssc____
+ pmyr8ac Myriad-Condensed A 444 wmc_____
+ pmyb8ac Myriad-CnBold A 444 wmcb____
+ pmybi8ac Myriad-CnBoldItalic A 444 wmcbi___
+ pmyri8ac Myriad-CnItalic A 444 wmci____
+ pmys8ac Myriad-CnSemibold A 444 wms_____
+ pmysi8ac Myriad-CnSemiboldItalic A 444 wmsi____
+ p_____ Immi505 A 445 firg____
+ p_____ MagnoliaMVB A 446 xm______
+ p_____ MagnoliaMVB-Ligatures A 446 xmlig___
+ p_____ BossaNovaMVB A 447 xb______
+ p_____ BossaNovaMVB-Alternates A 447 xbalt___
+ p_____ Emmascript A 448 xe______
+ p_____ RusselOblique A 449 zr______
+ p_____ RusselOblique-InformalAlt A 449 zralt___
+ p_____ RusselOblique-Informal A 449 zrinf___
+ mdtb8a DanteMT-Bold A 450 dlb_____
+ mdtbi8a DanteMT-BoldItalic A 450 dlbi____
+ mdtri8a DanteMT-Italic A 450 dli_____
+ mdtm8a DanteMT-Medium A 450 dlm_____
+ mdtmi8a DanteMT-MediumItalic A 450 dlmi____
+ mdtr8a DanteMT-Regular A 450 dlrg____
+ mdtb7a DanteMT-BoldAlt A 451 dlab____
+ mdtbi7a DanteMT-BoldItalicAlt A 451 dlabi___
+ mdtri7a DanteMT-ItalicAlt A 451 dlai____
+ mdtr7a DanteMT-RegularAlt A 451 dlarg___
+ mdtm7a DanteMT-MediumAlt A 451 dlasb___
+ mdtmi7a DanteMT-MediumItalicAlt A 451 dlasi___
+ mdtbij8a DanteMT-BoldItalicOsF A 451 dlbio___
+ mdtbi8x DanteMT-BoldItalicExpert A 451 dlbix___
+ mdtbj8a DanteMT-BoldOsF A 451 dlbos___
+ mdtb8x DanteMT-BoldExpert A 451 dlbxp___
+ mdtrij8a DanteMT-ItalicOsF A 451 dlios___
+ mdtri8x DanteMT-ItalicExpert A 451 dlixp___
+ mdtmij8a DanteMT-MediumItalicOsF A 451 dlmio___
+ mdtmi8x DanteMT-MediumItalicExpert A 451 dlmix___
+ mdtmj8a DanteMT-MediumOsF A 451 dlmof___
+ mdtm8x DanteMT-MediumExpert A 451 dlmxp___
+ mdtr8x DanteMT-RegularExpert A 451 dlrgx___
+ mdtrc8a DanteMT-RegularSC A 451 dlsc____
+ mdtrd8a DanteMT-Titling A 451 dlttl___
+ myhb8a StrayhornMT-Bold A 452 yhb_____
+ myhbi8a StrayhornMT-BoldItalic A 452 yhbi____
+ myhx8a StrayhornMT-ExtraBold A 452 yheb____
+ myhxi8a StrayhornMT-ExtraBoldItalic A 452 yhebi___
+ myhri8a StrayhornMT-Italic A 452 yhi_____
+ myhl8a StrayhornMT-Light A 452 yhl_____
+ myhli8a StrayhornMT-LightItalic A 452 yhli____
+ myhr8a StrayhornMT-Regular A 452 yhrg____
+ myhbij8a StrayhornMT-BoldItalicOsF A 453 yhbio___
+ myhbj8a StrayhornMT-BoldOsF A 453 yhbos___
+ myhxj8a StrayhornMT-ExtraBoldOsF A 453 yhebs___
+ myhxij8a StrayhornMT-ExtraBoldItaOsF A 453 yheis___
+ myhrij8a StrayhornMT-ItalicOsF A 453 yhios___
+ myhlij8a StrayhornMT-LightItalicOsF A 453 yhlio___
+ myhlc8a StrayhornMT-LightSC A 453 yhlsc___
+ myhrc8a StrayhornMT-RegularSC A 453 yhrsc___
+ p_____ Postino-Italic A 454 xzi_____
+ p_____ Postino A 454 xzr_____
+ p_____ ReliqMM-OsF A 455 qeosf___
+ p_____ ReliqMM A 455 qer_____
+ p_____ Critter A 456 wc______
+ p_____ Cutout A 457 wu______
+ p_____ Studz A 458 wp______
+ p_____ Rad A 459 wr______
+ p_____ Mythos A 460 wy______
+ p_____ Toolbox A 461 wt______
+ p_____ Quake A 462 wq______
+ pg2r8a Giddyup-Regular A 463 wg______
+ pg2r Giddyup-Thangs A 463 wgtha___
+ pmyrl8a Myriad-Sketch A 464 wmske___
+ pmyrn8a Myriad-Tilt A 464 wmtil___
+ mbeb8a BellMT-Bold A 465 xlb_____
+ mbebi8a BellMT-BoldItalic A 465 xlbi____
+ mberi8a BellMT-Italic A 465 xli_____
+ mber8a BellMT-Regular A 465 xlrg____
+ mbes8a BellMT-SemiBold A 465 xlsb____
+ mbesi8a BellMT-SemiBoldItalic A 465 xlsbi___
+ mber7a BellMT-RegularAlt A 466 xlarg___
+ mbes7a BellMT-SemiBoldAlt A 466 xlasb___
+ mbesi7a BellMT-SemiBoldItalicAlt A 466 xlasi___
+ mbebi8x BellMT-BoldItalicExpert A 466 xlbix___
+ mbeb8x BellMT-BoldExpert A 466 xlbxp___
+ mber8x BellMT-RegularExpert A 466 xlexp___
+ mberi7a BellMT-ItalicAlt A 466 xlial___
+ mberi8x BellMT-ItalicExpert A 466 xlixp___
+ mberx7a BellMT-RegularExpertAlt A 466 xlrxa___
+ mbesc8a BellMT-SemiBoldSC A 466 xlsbs___
+ mbes8x BellMT-SemiBoldExpert A 466 xlsbx___
+ mberc8a BellMT-RegularSC A 466 xlsc____
+ mbesi8x BellMT-SemiBoldItalicExpert A 466 xlsix___
+ mbesx7a BellMT-SemiBoldExpertAlt A 466 xlsxa___
+ mf1ri7a FournierMT-ItalicAlt A 467 xyali___
+ mf1r7a FournierMT-RegularAlt A 467 xyalt___
+ mf1ri8a FournierMT-Italic A 467 xyi_____
+ mf1rij8a FournierMT-ItalicOsF A 467 xyios___
+ mf1ri8x FournierMT-ItalicExpert A 467 xyixp___
+ mf1rp FournierMT-Ornaments A 467 xyorn___
+ mf1r8a FournierMT-Regular A 467 xyrg____
+ mf1r8x FournierMT-RegularExpert A 467 xyrgx___
+ mf1rc8a FournierMT-RegularSC A 467 xysc____
+ mf1rid8a FournierMT-ItalicTallCaps A 467 xytti___
+ mf1rd8a FournierMT-TallCaps A 467 xyttl___
+ p_____ CTMercurius-Black A 468 uibl____
+ p_____ CTMercurius-BlackItalic A 468 uibli___
+ p_____ CTMercurius-Light A 468 uil_____
+ p_____ CTMercurius-LightItalic A 468 uili____
+ p_____ CTMercurius-Medium A 468 uim_____
+ p_____ CTMercurius-MediumItalic A 468 uimi____
+ p_____ Fusaka-Regular A 469 fv______
+ p_____ Fusaka-Alternates A 469 fvalt___
+ p_____ MagnesiumMVB A 470 uh______
+ p_____ MagnesiumMVB-Grime A 470 uhdc1___
+ m_____ GillFloriatedCapsMT-Alt A 471 fwalt___
+ m_____ GillFloriatedCapsMT A 471 fwcap___
+ p_____ Origami-Bold A 472 xrb_____
+ p_____ Origami-BoldItalic A 472 xrbi____
+ p_____ Origami-Italic A 472 xri_____
+ p_____ Origami-Medium A 472 xrm_____
+ p_____ Origami-MediumItalic A 472 xrmi____
+ p_____ Origami-Regular A 472 xrrg____
+ p_____ Origami-Semibold A 472 xrsb____
+ p_____ Origami-SemiboldItalic A 472 xrsbi___
+ p_____ GreymantleMVB A 473 qg______
+ p_____ GreymantleMVB-Alternates A 473 qgalt___
+ p_____ GreymantleMVB-Ornaments A 473 qgor____
+ p_____ VerveMM-A A 474 vvaaa___
+ p_____ VerveMM A 474 vvr_____
+ p_____ VolutaScript A 475 vs______
+ p_____ VolutaScript-Alternates A 475 vsalt___
+ p_____ VolutaScript-Swash A 475 vssw____
+ pcwr8a Cottonwood A 476 c_______
+ piwr8a Ironwood A 477 i_______
+ pjpr8a Juniper A 478 j_______
+ pmqr8a Mesquite A 479 m_______
+ ppor8a Ponderosa A 480 p_______
+ pbir8a Birch A 481 bi______
+ pb0r8a Blackoak A 482 bo______
+ pmrr8a Madrone A 483 mq______
+ pp0r8a Poplar A 484 pp______
+ pwwr8a Willow A 485 wi______
+ p_____ Pepperwood-Fill A 486 uwfi____
+ p_____ Pepperwood-Outline A 486 uwou____
+ p_____ Pepperwood-Regular A 486 uwrg____
+ p_____ Rosewood-Fill A 487 uxfi____
+ p_____ Rosewood-Regular A 487 uxrg____
+ p_____ Zebrawood-Fill A 488 uyfi____
+ p_____ Zebrawood-Regular A 488 uyrg____
+ ppi026 WoodtypeOrnaments-One A 489 woor____
+ ppi027 WoodtypeOrnaments-Two A 489 woor2___
+ pg1r8a Gothic-Thirteen A 490 gtt_____
+ ptph8ac Tempo-HeavyCondensed A 491 tehc____
+ ptphi8ac Tempo-HeavyCondensedItalic A 491 tehci___
+ ppsr8a Parisian A 492 pn______
+ pumr8a Umbra A 493 um______
+ mg4ri8a GoudyModernMT-Italic A 494 ygi_____
+ mg4r8a GoudyModernMT A 494 ygrg____
+ ms1ri8a ScotchRomanMT-Italic A 495 ysi_____
+ ms1r8a ScotchRomanMT A 495 ysrg____
+ mfsr8a FalstaffMT A 496 fprg____
+ mifb8a InflexMT-Bold A 497 iqb_____
+ mm8bl8a MonotypeOldStyleMT-BoldOut A 498 mbbou___
+ mfer8a ForteMT A 499 fz______
+ mklr8a KlangMT A 500 kn______
+ mmebw8a MercuriusMT-BoldScript A 501 uzbs____
+ p_____ Smaragd A 502 smar____
+ p_____ Smaragd-Alternate A 502 smara___
+ p_____ Ariadne-Roman A 503 aria____
+ pdiri8a Diotima-Italic A 503 dti_____
+ pdirij8a Diotima-ItalicOsF A 503 dtiof___
+ pdir8a Diotima-Roman A 503 dtr_____
+ pdirj8a Diotima-RomanOsF A 503 dtros___
+ pdirc8a Diotima-RomanSC A 503 dtrsc___
+ p_____ Legault A 504 ul______
+ p_____ Legault-Alternates A 504 ula_____
+ p_____ Legault-BoldAlternates A 504 ulab____
+ p_____ Legault-Bold A 504 ulb_____
+ p_____ BlueIsland A 505 ihrg____
+ pbdp8ap Bodoni-PosterCompressed A 900 bdpsc___
+ pbax8a Barmeno-ExtraBold A 900 bfeb____
+ pb0r8a Blackoak A 900 bo______
+ zpcp33bc Copperplate-ThirtyThreeBC A 900 cp33c___
+ prtr Carta A 900 cr______
+ pdcr8a DomCasual A 900 dc______
+ mtlr8a CastellarMT A 900 el______
+ mp2r8a PepitaMT A 900 epscr___
+ pgsr8ac GillSans-Condensed A 900 gnc_____
+ pgsu8a GillSans-UltraBold A 900 gnub____
+ mgtrd8a GoudyTextMT-LombardicCapitals A 900 gxlom___
+ piwr8a Ironwood A 900 i_______
+ mbfrw8a BiffoMT A 900 ifscr___
+ pimx8a Imago-ExtraBold A 900 ioeb____
+ mjori8a JoannaMT-Italic A 900 joi_____
+ mjor8a JoannaMT A 900 jor_____
+ p_____ Colossalis-Bold A 900 kob_____
+ plgr8a LetterGothic A 900 lg______
+ plor8a Lithos-Regular A 900 lorg____
+ pmqr8a Mesquite A 900 m_______
+ pmnrp Minion-Ornaments A 900 moor____
+ pnurw8a NuptialScript A 900 nu______
+ pper8a PrestigeElite A 900 pe______
+ pqsr8a Bellevue A 900 qsrg____
+ p_____ AGOldFace-Outline A 900 qwou____
+ mrur8ac RunicMT-Condensed A 900 ric_____
+ prwx8a Rockwell-ExtraBold A 900 rkeb____
+ pslr8a Stencil A 900 st______
+ pwwr8a Willow A 900 wi______
+ ppi027 WoodtypeOrnaments-Two A 900 woor2___
+ pbir8a Birch A 901 bi______
+ putrd8a Utopia-Headline A 901 uthd____
+ p_____ Critter A 901 wc______
+ pg2r8a Giddyup-Regular A 901 wg______
+ pg2r Giddyup-Thangs A 901 wgtha___
+ pmyrd8a Myriad-Headline A 901 wmhd____
+ pmyrl8a Myriad-Sketch A 901 wmske___
+ pmyrn8a Myriad-Tilt A 901 wmtil___
+ p_____ Studz A 901 wp______
+ p_____ Quake A 901 wq______
+ p_____ Rad A 901 wr______
+ p_____ Toolbox A 901 wt______
+ p_____ Cutout A 901 wu______
+ p_____ Mythos A 901 wy______
+ pagd8a AvantGarde-Demi A 902 agd_____
+ pagdo8a AvantGarde-DemiOblique A 902 agdo____
+ pagk8a AvantGarde-Book A 902 agw_____
+ pagko8a AvantGarde-BookOblique A 902 agwo____
+ pamr8a Americana A 902 am______
+ pamx8a Americana-ExtraBold A 902 ameb____
+ pacri8a ACaslon-Italic A 902 awi_____
+ pacr8a ACaslon-Regular A 902 awrg____
+ pacs8a ACaslon-Semibold A 902 awsb____
+ pacsi8a ACaslon-SemiboldItalic A 902 awsbi___
+ pbab8a Barmeno-Bold A 902 bfb_____
+ pbax8a Barmeno-ExtraBold A 902 bfeb____
+ pbam8a Barmeno-Medium A 902 bfm_____
+ pbar8a Barmeno-Regular A 902 bfrg____
+ pbkd8a Bookman-Demi A 902 bkd_____
+ pbkdi8a Bookman-DemiItalic A 902 bkdi____
+ pbkl8a Bookman-Light A 902 bkl_____
+ pbkli8a Bookman-LightItalic A 902 bkli____
+ pb0r8a Blackoak A 902 bo______
+ pcrb8a Courier-Bold A 902 cob_____
+ pcrbo8a Courier-BoldOblique A 902 cobo____
+ pcrr8a Courier A 902 com_____
+ pcrro8a Courier-Oblique A 902 coo_____
+ prtr Carta A 902 cr______
+ pfari8a Formata-Italic A 902 fmi_____
+ pfam8a Formata-Medium A 902 fmm_____
+ pfami8a Formata-MediumItalic A 902 fmmi____
+ pfar8a Formata-Regular A 902 fmrg____
+ padb8a AGaramond-Bold A 902 gdb_____
+ padbi8a AGaramond-BoldItalic A 902 gdbi____
+ padri8a AGaramond-Italic A 902 gdi_____
+ padr8a AGaramond-Regular A 902 gdrg____
+ phvr8a Helvetica A 902 hv______
+ phvb8a Helvetica-Bold A 902 hvb_____
+ phvbo8a Helvetica-BoldOblique A 902 hvbo____
+ phvr8an Helvetica-Narrow A 902 hvn_____
+ phvb8an Helvetica-Narrow-Bold A 902 hvnb____
+ phvbo8an Helvetica-Narrow-BoldOblique A 902 hvnbo___
+ phvro8an Helvetica-Narrow-Oblique A 902 hvno____
+ phvro8a Helvetica-Oblique A 902 hvo_____
+ pkur8a Kaufmann A 902 kf______
+ ploc8a Lithos-Black A 902 lobl____
+ plor8a Lithos-Regular A 902 lorg____
+ pncb8a NewCenturySchlbk-Bold A 902 ncb_____
+ pncbi8a NewCenturySchlbk-BoldItalic A 902 ncbi____
+ pncri8a NewCenturySchlbk-Italic A 902 nci_____
+ pncr8a NewCenturySchlbk-Roman A 902 ncr_____
+ ppar8a ParkAvenue A 902 pa______
+ ppsr8a Parisian A 902 pn______
+ pplb8a Palatino-Bold A 902 pob_____
+ pplbi8a Palatino-BoldItalic A 902 pobi____
+ pplri8a Palatino-Italic A 902 poi_____
+ pplr8a Palatino-Roman A 902 por_____
+ p_____ Poetica-SuppOrnaments A 902 pvor____
+ psyr Symbol A 902 sy______
+ ptmb8a Times-Bold A 902 tib_____
+ ptmbi8a Times-BoldItalic A 902 tibi____
+ ptmri8a Times-Italic A 902 tii_____
+ ptmr8a Times-Roman A 902 tir_____
+ ptjb8a Trajan-Bold A 902 tjb_____
+ ptkb8a Tekton-Bold A 902 tkb_____
+ ptkr8a Tekton A 902 tkrg____
+ ppi027 WoodtypeOrnaments-Two A 902 woor2___
+ pzcmi8a ZapfChancery-MediumItalic A 902 zcmi____
+ pzdr ZapfDingbats A 902 zd______
+ mp1rw8a PalaceScriptMT A 903 _p______
+ pdjk8a Delta-Book A 903 djw_____
+ pdjki8a Delta-BookItalic A 903 djwi____
+ lenb8a EngraversLH-BoldFace A 903 ew______
+ pfarl8a Formata-Outline A 903 fmou____
+ pgsxd8a GillSans-ExtraBoldDisplay A 903 gnxbd___
+ mbfrw8a BiffoMT A 903 ifscr___
+ p_____ MonaLisa-Solid A 903 iysd____
+ pjpr8a Juniper A 903 j_______
+ p_____ LoType-Medium A 903 ljm_____
+ p_____ LoType-MediumItalic A 903 ljmi____
+ p_____ BerlinerGrotesk-Light A 903 otl_____
+ prwb8ac Rockwell-BoldCondensed A 903 rkbc____
+ prwr8ac Rockwell-Condensed A 903 rkc_____
+ p_____ AGBook-Stencil A 903 tast____
+ ms2bw8a ScriptMT-Bold A 903 tbscr___
+ p_____ Cutout A 903 wu______
+ ms1ri8a ScotchRomanMT-Italic A 903 ysi_____
+ ms1r8a ScotchRomanMT A 903 ysrg____
+ mm7r8a MaturaMT A 903 zz______
+ mr2l8a CantoriaMT-Light A 904 eol_____
+ p_____ Beesknees A 904 ikh_____
+ p_____ LoType-Medium A 904 ljm_____
+ pm1rw8a MonolineScriptMT A 904 on______
+ p_____ Ozwald A 904 ozh_____
+ mknr8a KinoMT A 904 qi______
+ pb7r8a BernhardModern-Bold A 904 rdb_____
+ puyr8a UniversityRoman A 904 ur______
+ pbdp8ap Bodoni-PosterCompressed A 905 bdpsc___
+ pctl8ac Cheltenham-LightCond A 905 chlc____
+ pazl8ac AkzidenzGroteskBE-LightCn A 905 gflc____
+ pgsb8aq GillSans-BoldExtraCondensed A 905 gnbxc___
+ p_____ GaramondBE-Condensed A 905 gwc_____
+ p_____ LoType-MediumCondensed A 905 ljmc____
+ mrur8ac RunicMT-Condensed A 905 ric_____
+ prwr8ac Rockwell-Condensed A 905 rkc_____
+ p_____ Mezz-Regular A 906 vurg____
+ p_____ Mezz-Black A 906 vuz_____
+ p_____ CaflischScript-Bold A 906 vwb_____
+ p_____ CaflischScript-Regular A 906 vwrg____
+ p_____ Nueva-BoldExtendedItalic A 906 vxbei___
+ p_____ Nueva-BoldExtended A 906 vxbv____
+ p_____ Nueva-Italic A 906 vxi_____
+ p_____ Nueva-Roman A 906 vxr_____
+ pmyb8a Myriad-Bold A 906 wmb_____
+ pmybi8a Myriad-BoldItalic A 906 wmbi____
+ pmyri8a Myriad-Italic A 906 wmi_____
+ pmyr8a Myriad-Roman A 906 wmr_____
+ pmnb8ac Minion-BoldCondensed A 907 mobc____
+ pmnbi8ac Minion-BoldCondensedItalic A 907 mobci___
+ pmnr8ac Minion-Condensed A 907 moc_____
+ pmnri8ac Minion-CondensedItalic A 907 moci____
+ pvvx8ax Viva-BoldExtraExtended A 907 vabxe___
+ pvvl8ac Viva-LightCondensed A 907 valc____
+ pvvr8a Viva-Regular A 907 varg____
+ p_____ Sanvito-Light A 907 vyl_____
+ p_____ Sanvito-Roman A 907 vyr_____
+ p_____ Penumbra-SemiboldFlare A 907 vzsfl___
+ p_____ Penumbra-SemiboldSans A 907 vzssa___
+ p_____ Penumbra-SemiboldSerif A 907 vzsse___
+ ppc___ Poetica-ChanceryI A 908 pvch1___
+ ppc___ Poetica-SuppLigatures A 908 pvlg____
+ ppc___ Poetica-SuppOrnaments A 908 pvor____
+ ppc___ Poetica-SuppSwashCapsI A 908 pvsw1___
+ p_____ CaflischScript-Bold A 908 vwb_____
+ p_____ CaflischScript-Regular A 908 vwrg____
+ p_____ Sanvito-BoldDisplay A 908 vydb____
+ p_____ Sanvito-Roman A 908 vyr_____
+ p_____ Sanvito-Semibold A 908 vysb____
+ pxpr8a ExPonto-Regular A 908 xprg____
+ padri8a AGaramond-Italic A 912 gdi_____
+ padr8a AGaramond-Regular A 912 gdrg____
+ pads8a AGaramond-Semibold A 912 gdsb____
+ padrc8a AGaramond-RegularSC A 912 gdsc____
+ padrd8a AGaramond-Titling A 912 gdttl___
+ pacri8a ACaslon-Italic A 913 awi_____
+ pacrp ACaslon-Ornaments A 913 awor____
+ pacr8a ACaslon-Regular A 913 awrg____
+ pacs8a ACaslon-Semibold A 913 awsb____
+ pacrc8a ACaslon-RegularSC A 913 awsc____
+ pajrd8a AJenson-RegularDisplay A 914 jsds____
+ pajri8a AJenson-Italic A 914 jsi_____
+ pajr8a AJenson-Regular A 914 jsrg____
+ pajs8a AJenson-Semibold A 914 jssb____
+ pajrc8a AJenson-RegularSC A 914 jssc____
+ p_____ Jimbo-Bold A 915 jpb_____
+ pajsd8a AJenson-SemiboldDisplay A 915 jssp____
+ pkpbd8ax Kepler-BoldExtendedDisplay A 915 k_bed___
+ pkpsd8ac Kepler-SemiboldCondensedDisplay A 915 k_scd___
+ p_____ Mezz-Bold A 915 vub_____
+ p_____ Penumbra-BoldSerif A 915 vzbsr___
+ p_____ Cronos-Display A 915 xodr____
+ pxpr8a ExPonto-Regular A 915 xprg____
+ p_____ Chaparral-Display A 915 xtdr____
+ zpeurs EuroSans-Regular A 916 _1______
+ zpeubs EuroSans-Bold A 916 _1b_____
+ zpeubis EuroSans-BoldItalic A 916 _1bi____
+ zpeuris EuroSans-Italic A 916 _1i_____
+ zpeurt EuroMono-Regular A 916 _2______
+ zpeubt EuroMono-Bold A 916 _2b_____
+ zpeubit EuroMono-BoldItalic A 916 _2bi____
+ zpeurit EuroMono-Italic A 916 _2i_____
+ zpeur EuroSerif-Regular A 916 _3______
+ zpeub EuroSerif-Bold A 916 _3b_____
+ zpeubi EuroSerif-BoldItalic A 916 _3bi____
+ zpeuri EuroSerif-Italic A 916 _3i_____
+ pmsrw8a Mistral A 917 ms______
+ ppc___ Poetica-ChanceryII A 917 pvch2___
+ ppc___ Poetica-SuppSwashCapsII A 917 pvsw2___
+ pprl8a PopplResidenz-Light A 917 pzl_____
+ pprr8a PopplResidenz-Regular A 917 pzrg____
+ psrrw8a SnellRoundhand-Script A 917 sn______
+ mmebw8a MercuriusMT-BoldScript A 917 uzbs____
+ pwhm8a WendyLP-Medium A 917 whm_____
+ pbzrw8a Balzano A 917 zn______
+ ppi028 ScienceTypeCustomPi-No1T ??? ________
+ ppi029 ScienceTypeCustomPi-No2T ??? ________
+ ppi030 ScienceTypeCustomPi-No3T ??? ________
+ ppi031 ScienceTypeCustomPi-No4T ??? ________
+ ppi032 ScienceTypeCustomPi-No5T ??? ________
+
+
+File: fontname.info, Node: Apple fonts, Next: Bitstream fonts, Prev: Adobe fonts, Up: Font name lists
+
+A.3 Apple fonts
+===============
+
+The `apple.map' file has abbreviations for Apple fonts.
+
+ eecr8r AppleChancery
+ eger8r Geneva
+ ehtr8r HoeflerText
+ emcr8r Monaco
+ epi001 Zeal
+ eskr8r Skia
+
+
+File: fontname.info, Node: Bitstream fonts, Next: DTC fonts, Prev: Apple fonts, Up: Font name lists
+
+A.4 Bitstream fonts
+===================
+
+The `bitstrea.map' file has abbreviations for Bitstream fonts.
+
+ bhvl8a Swiss721BT-Light BT 0001 swz721l
+ bhvli8a Swiss721BT-LightItalic BT 0002 swz721li
+ bhvr8a Swiss721BT-Roman BT 0003 swz721n
+ bhvri8a Swiss721BT-Italic BT 0004 swz721i
+ bhvb8a Swiss721BT-Bold BT 0005 swz721b
+ bhvbi8a Swiss721BT-BoldItalic BT 0006 swz721bi
+ bhvc8a Swiss721BT-Black BT 0007 swz721k
+ bhvci8a Swiss721BT-BlackItalic BT 0008 swz721ki
+ bhvr8ac Swiss721BT-RomanCondensed BT 0009 swz721c
+ bhvb8ac Swiss721BT-BoldCondensed BT 0010 swz721bc
+ btmr8a Dutch801BT-Roman BT 0011 dut801n
+ btmri8a Dutch801BT-Italic BT 0012 dut801i
+ btmb8a Dutch801BT-Bold BT 0013 dut801b
+ btmbi8a Dutch801BT-BoldItalic BT 0014 dut801bi
+ bopr8a ZapfHumanist601BT-Roman BT 0015 zhum601n
+ bopri8a ZapfHumanist601BT-Italic BT 0016 zhum601i
+ bopb8a ZapfHumanist601BT-Bold BT 0017 zhum601b
+ bopbi8a ZapfHumanist601BT-BoldItalic BT 0018 zhu601bi
+ bsvl8a SouvenirITCbyBT-Light BT 0019 souvnrl
+ bsvli8a SouvenirITCbyBT-LightItalic BT 0020 souvnrli
+ bsvd8a SouvenirITCbyBT-Demi BT 0021 souvnrd
+ bsvdi8a SouvenirITCbyBT-DemiItalic BT 0022 souvnrdi
+ bplr8a ZapfCalligraphic801BT-Roman BT 0023 zcal801n
+ bplri8a ZapfCalligraphic801BT-Italic BT 0024 zcal801i
+ bplb8a ZapfCalligraphic801BT-Bold BT 0025 zcal801b
+ bplbi8a ZapfCalligraphic801BT-BoldItal BT 0026 zca801bi
+ bexr8a News702BT-Roman BT 0027 news702n
+ bexri8a News702BT-Italic BT 0028 news702i
+ bexb8a News702BT-Bold BT 0029 news702b
+ bexbi8a News702BT-BoldItalic BT 0030 new702bi
+ bbdk8a BodoniBT-Book BT 0035 bodonin
+ bbdki8a BodoniBT-BookItalic BT 0036 bodonini
+ bbdb8a BodoniBT-Bold BT 0037 bodonib
+ bbdbi8a BodoniBT-BoldItalic BT 0038 bodonibi
+ bcnr8ax CenturyExpandedBT-Roman BT 0039 centexn
+ bcnri8ax CenturyExpandedBT-Italic BT 0040 centexi
+ bcnb8ax CenturyExpandedBT-Bold BT 0041 centexb
+ bcnbi8ax CenturyExpandedBT-BoldItalic BT 0042 centexbi
+ bg3r8a AmericanGaramondBT-Roman BT 0043 amrgaran
+ bg3ri8a AmericanGaramondBT-Italic BT 0044 amrgarai
+ bg3b8a AmericanGaramondBT-Bold BT 0045 amrgarab
+ bg3bi8a AmericanGaramondBT-BoldItalic BT 0046 amrgarbi
+ bngr8a NewsGothicBT-Roman BT 0047 newsgotn
+ bngri8a NewsGothicBT-Italic BT 0048 newsgot
+ bngb8a NewsGothicBT-Bold BT 0049 newsgotb
+ bngbi8a NewsGothicBT-BoldItalic BT 0050 newgotbi
+ bmlr8a ZapfElliptical711BT-Roman BT 0051 zelp711n
+ bmlri8a ZapfElliptical711BT-Italic BT 0052 zelp711i
+ bmlb8a ZapfElliptical711BT-Bold BT 0053 zelp711b
+ bmlbi8a ZapfElliptical711BT-BoldItalic BT 0054 zel711bi
+ bbdr8a BodoniBT-Roman BT 0055 bodoni
+ bbdri8a BodoniBT-Italic BT 0056 bodonii
+ bhbr8a HoboBT-Regular BT 0057 hobon
+ bonr8a News705BT-RomanB BT 0058 news705n
+ bonri8a News705BT-ItalicB BT 0059 news705i
+ bonb8a News705BT-BoldB BT 0060 news705b
+ b_____ BusoramaITCbyBT-Medium BT 0062 busoramm
+ bglr8a GalliardITCbyBT-Roman BT 0067 galirdn
+ bglri8a GalliardITCbyBT-Italic BT 0068 galirdi
+ bglb8a GalliardITCbyBT-Bold BT 0069 galirdb
+ bglbi8a GalliardITCbyBT-BoldItalic BT 0070 galirdbi
+ bbkl8a BookmanITCbyBT-Light BT 0075 bookmnl
+ bbkli8a BookmanITCbyBT-LightItalic BT 0076 bookmnli
+ bbkd8a BookmanITCbyBT-Demi BT 0079 bookmnd
+ bbkdi8a BookmanITCbyBT-DemiItalic BT 0080 bookmndi
+ bcsr8a CenturySchoolbookBT-Roman BT 0083 censbkn
+ bcsri8a CenturySchoolbookBT-Italic BT 0084 censbki
+ bcsb8a CenturySchoolbookBT-Bold BT 0085 censbkb
+ bcsbi8a CenturySchoolbookBT-BoldItalic BT 0086 censbkbi
+ bkrr8a KorinnaITCbyBT-Regular BT 0087 korinan
+ bkrri8a KorinnaITCbyBT-KursivRegular BT 0088 korinani
+ bkrb8a KorinnaITCbyBT-Bold BT 0089 korinab
+ bkrbi8a KorinnaITCbyBT-KursivBold BT 0090 korinabi
+ bhva8a Swiss721BT-Thin BT 0100 swz721t
+ bhvai8a Swiss721BT-ThinItalic BT 0101 swz721ti
+ bhvh8a Swiss721BT-Heavy BT 0102 swz721h
+ bhvhi8a Swiss721BT-HeavyItalic BT 0103 swz721hi
+ bhvh8aq Swiss911BT-ExtraCompressed BT 0105 swz911xc
+ bhvh8au Swiss911BT-UltraCompressed BT 0106 swz911uc
+ bgor8a GoudyOldStyleBT-Roman BT 0107 goudyosn
+ bgori8a GoudyOldStyleBT-Italic BT 0108 goudyosi
+ bgob8a GoudyOldStyleBT-Bold BT 0109 goudyosb
+ bgobi8a GoudyOldStyleBT-BoldItalic BT 0110 goudosbi
+ bgox8a GoudyOldStyleBT-ExtraBold BT 0111 goudosxb
+ bpnr8a Aldine721BT-Roman BT 0112 ald721n
+ bpnri8a Aldine721BT-Italic BT 0113 ald721i
+ bpnb8a Aldine721BT-Bold BT 0114 ald721b
+ bpnbi8a Aldine721BT-BoldItalic BT 0115 ald721bi
+ bjnr8a KisBT-Roman BT 0116 kisn
+ bjnri8a KisBT-Italic BT 0117 kisi
+ bc5r8a Caslon540BT-Roman BT 0118 casl540n
+ bc5ri8a Caslon540BT-Italic BT 0119 casl540i
+ bg1r8a GothicNo13BT-Regular BT 0120 gothic13
+ bbol8a BalloonBT-Light BT 0121 balloonl
+ bwnr8a WindsorBT-Roman BT 0122 wndsrn
+ bbgk8a BenguiatITCbyBT-Book BT 0123 benguian
+ bbgki8a BenguiatITCbyBT-BookItalic BT 0124 benguini
+ bbgb8a BenguiatITCbyBT-Bold BT 0127 benguiab
+ bbgbi8a BenguiatITCbyBT-BoldItalic BT 0128 benguibi
+ bbdp8a PosterBodoniBT-Roman BT 0129 pstrbodn
+ bbdpi8a PosterBodoniBT-Italic BT 0130 pstrbodi
+ bbwr8a BroadwayBT-Regular BT 0131 brdwayn
+ bngl8a NewsGothicBT-Light BT 0132 newsgotl
+ bngli8a NewsGothicBT-LightItalic BT 0133 newgotli
+ bopd8a ZapfHumanist601BT-Demi BT 0134 zhum601d
+ bopdi8a ZapfHumanist601BT-DemiItalic BT 0135 zhu601di
+ bopu8a ZapfHumanist601BT-Ultra BT 0136 zhum601u
+ bopui8a ZapfHumanist601BT-UltraItalic BT 0137 zhu601ui
+ bful8a FuturaBT-Light BT 0138 futural
+ bfuli8a FuturaBT-LightItalic BT 0139 futurali
+ bfuk8a FuturaBT-Book BT 0140 futuran
+ bfuki8a FuturaBT-BookItalic BT 0141 futurani
+ bfum8a FuturaBT-Medium BT 0142 futuram
+ bfumi8a FuturaBT-MediumItalic BT 0143 futurami
+ bfub8a FuturaBT-Bold BT 0144 futurab
+ bfubi8a FuturaBT-BoldItalic BT 0145 futurabi
+ bfuh8a FuturaBT-Heavy BT 0146 futurah
+ bfuhi8a FuturaBT-HeavyItalic BT 0147 futurahi
+ bfux8a FuturaBT-ExtraBlack BT 0148 futuraxk
+ bfuxi8a FuturaBT-ExtraBlackItalic BT 0149 futurxki
+ bsnk8a Geometric212BT-Book BT 0150 geo212n
+ bsnh8a Geometric212BT-Heavy BT 0151 geo212h
+ bagk8a AvantGardeITCbyBT-Book BT 0154 avgardn
+ bagko8a AvantGardeITCbyBT-BookOblique BT 0155 avgardni
+ bagm8a AvantGardeITCbyBT-Medium BT 0156 avgardm
+ bagmo8a AvantGardeITCbyBT-MediumOblique BT 0157 avgardmi
+ bagd8a AvantGardeITCbyBT-Demi BT 0158 avgardd
+ bagdo8a AvantGardeITCbyBT-DemiOblique BT 0159 avgarddo
+ bkbk8a KabelITCbyBT-Book BT 0162 kabeln
+ bkbm8a KabelITCbyBT-Medium BT 0163 kabelm
+ bkbd8a KabelITCbyBT-Demi BT 0164 kabeld
+ bkbb8a KabelITCbyBT-Bold BT 0165 kabelb
+ bkbu8a KabelITCbyBT-Ultra BT 0166 kabelu
+ bs4r8a ShotgunBT-Regular BT 0167 shotgunn
+ bhvl8ac Swiss721BT-LightCondensed BT 0169 swz721lc
+ bhvli8ac Swiss721BT-LightCondensedItalic BT 0170 sw721lci
+ bhvri8ac Swiss721BT-ItalicCondensed BT 0171 swz721ci
+ bhvbi8ac Swiss721BT-BoldCondensedItalic BT 0172 sw721bci
+ bhvc8ac Swiss721BT-BlackCondensed BT 0173 swz721kc
+ bhvci8ac Swiss721BT-BlackCondensedItalic BT 0174 sw721kci
+ bhvbl8a Swiss721BT-BoldOutline BT 0175 swz721bo
+ bunl8a ZurichBT-Light BT 0176 zurchl
+ bunli8a ZurichBT-LightItalic BT 0177 zurchli
+ bunr8a ZurichBT-Roman BT 0178 zurchn
+ bunri8a ZurichBT-Italic BT 0179 zurchi
+ bunb8a ZurichBT-Bold BT 0180 zurchb
+ bunbi8a ZurichBT-BoldItalic BT 0181 zurchbi
+ bunc8a ZurichBT-Black BT 0182 zurchk
+ bunci8a ZurichBT-BlackItalic BT 0183 zurchki
+ b____ BoltBoldITCbyBT-Regular BT 0184 boltb
+ bslr8a StencilBT-Regular BT 0191 stenciln
+ batm8a AmerTypewriterITCbyBT-Medium BT 0193 amrtypen
+ batb8a AmerTypewriterITCbyBT-Bold BT 0194 amrtypeb
+ bd0b8a DavidaBoldBT-Regular BT 0195 davidab
+ bs5r8a SnellBT-Regular BT 0196 snelln
+ bs5b8a SnellBT-Bold BT 0197 snellb
+ bs5c8a SnellBT-Black BT 0198 snellk
+ bburw8a BrushScriptBT-Regular BT 0199 brushscn
+ bful8ac FuturaBT-LightCondensed BT 0200 futuralc
+ bfum8ac FuturaBT-MediumCondensed BT 0201 futuramc
+ bfub8ac FuturaBT-BoldCondensed BT 0202 futurabc
+ bfubi8ac FuturaBT-BoldCondensedItalic BT 0203 futurbci
+ bfux8ac FuturaBT-ExtraBlackCondensed BT 0204 futurxkc
+ bfuxi8ac FuturaBT-ExtraBlackCondItalic BT 0205 futuxkci
+ bfuc8a FuturaBlackBT-Regular BT 0206 futurak
+ botr8a Ribbon131BT-Regular BT 0207 ribn131n
+ botb8a Ribbon131BT-Bold BT 0208 ribn131b
+ bi1r8a ImpressBT-Regular BT 0209 impressn
+ ba7r8a AmericanTextBT-Regular BT 0211 amrtextn
+ benrf8a EngraversOldEnglishBT-Regular BT 0212 engrolen
+ bo2r8a OrbitBbyBT-Regular BT 0213 orbitbn
+ bp4r8a PioneerITCbyBT-Regular BT 0214 pioneern
+ bv0r8a VinetaBT-Regular BT 0215 vinetan
+ byml8a StymieBT-Light BT 0216 stymiel
+ bymm8a StymieBT-Medium BT 0217 stymiem
+ bymb8a StymieBT-Bold BT 0218 stymieb
+ bymx8a StymieBT-ExtraBold BT 0219 stymiexb
+ btfl8a TiffanyITCbyBT-Light BT 0220 tifanyl
+ btfli8a TiffanyITCbyBT-LightItalic BT 0221 tifanyli
+ btfd8a TiffanyITCbyBT-Demi BT 0224 tifanyd
+ btfdi8a TiffanyITCbyBT-DemiItalic BT 0225 tifanydi
+ btfh8a TiffanyITCbyBT-Heavy BT 0226 tifanyh
+ btfhi8a TiffanyITCbyBT-HeavyItalic BT 0227 tifanyhi
+ bcdb8ac ClarendonBT-BoldCondensed BT 0228 clrndnbc
+ bcbcd8a CooperBT-BlackHeadline BT 0231 coopbla
+ bcbcid8a CooperBT-BlackItalicHeadline BT 0232 coopblia
+ bs4rl8a ShotgunBlanksBT-Regular BT 0234 shotgunk
+ bnar8a Dutch823BT-RomanB BT 0235 dut823n
+ bnari8a Dutch823BT-ItalicB BT 0236 dut823i
+ bnab8a Dutch823BT-BoldB BT 0237 dut823b
+ berl8a ErasITCbyBT-Light BT 0238 erasl
+ berk8a ErasITCbyBT-Book BT 0239 erasn
+ berm8a ErasITCbyBT-Medium BT 0240 erasm
+ berd8a ErasITCbyBT-Demi BT 0241 erasd
+ berb8a ErasITCbyBT-Bold BT 0242 erasb
+ beru8a ErasITCbyBT-Ultra BT 0243 erasu
+ besr8a Square721BT-Roman BT 0246 sqr721n
+ besb8a Square721BT-Bold BT 0247 sqr721b
+ besr8ac Square721BT-RomanCondensed BT 0248 sqr721c
+ besb8ac Square721BT-BoldCondensed BT 0249 sqr721bc
+ besr8ax Square721BT-RomanExtended BT 0250 sqr721e
+ besb8ax Square721BT-BoldExtended BT 0251 sqr721be
+ bsfa8a SerifaBT-Thin BT 0252 serifat
+ bsfai8a SerifaBT-ThinItalic BT 0253 serifati
+ bsfl8a SerifaBT-Light BT 0254 serifal
+ bsfli8a SerifaBT-LightItalic BT 0255 serifali
+ bsfr8a SerifaBT-Roman BT 0256 serifan
+ bsfri8a SerifaBT-Italic BT 0257 serifai
+ bsfb8a SerifaBT-Bold BT 0258 serifab
+ bsfc8a SerifaBT-Black BT 0259 serifak
+ bunr8ax ZurichBT-RomanExtended BT 0260 zurche
+ bunb8ax ZurichBT-BoldExtended BT 0261 zurchbe
+ bunc8ax ZurichBT-BlackExtended BT 0262 zurchke
+ bunu8ax ZurichBT-UltraBlackExtended BT 0263 zurchuke
+ ba9r8a Humanist970BT-RomanC BT 0264 hum970n
+ ba9b8a Humanist970BT-BoldC BT 0265 hum970b
+ bndr8a Transitional511BT-Roman BT 0266 tran511n
+ bndri8a Transitional511BT-Italic BT 0267 tran511i
+ bndb8a Transitional511BT-Bold BT 0270 tran511b
+ bndbi8a Transitional511BT-BoldItalic BT 0271 tra511bi
+ bsbr8a ClassicalGaramondBT-Roman BT 0277 clsgaran
+ bsbri8a ClassicalGaramondBT-Italic BT 0278 clsgarai
+ bsbb8a ClassicalGaramondBT-Bold BT 0279 clsgarab
+ bcarf8a CaslonOldFaceBT-Roman BT 0280 casolfcn
+ bcarif8a CaslonOldFaceBT-Italic BT 0281 casolfci
+ bcdl8a ClarendonBT-Light BT 0282 clrndnl
+ bcdr8a ClarendonBT-Roman BT 0283 clrndnn
+ bcdb8a ClarendonBT-Bold BT 0284 clrndnb
+ bcur8a CenturyOldstyleBT-Roman BT 0285 cenolstn
+ bcuri8a CenturyOldstyleBT-Italic BT 0286 cenolsti
+ bcub8a CenturyOldstyleBT-Bold BT 0287 cenolstb
+ bgsl8a Humanist521BT-Light BT 0288 hum521l
+ bgsli8a Humanist521BT-LightItalic BT 0289 hum521li
+ bgsr8a Humanist521BT-Roman BT 0290 hum521n
+ bgsri8a Humanist521BT-Italic BT 0291 hum521i
+ bgsb8a Humanist521BT-Bold BT 0292 hum521b
+ bgsbi8a Humanist521BT-BoldItalic BT 0293 hum521bi
+ bgsx8a Humanist521BT-ExtraBold BT 0294 hum521xb
+ bgsu8a Humanist521BT-UltraBold BT 0295 hum521ub
+ bunl8ac ZurichBT-LightCondensed BT 0296 zurchlc
+ bunli8ac ZurichBT-LightCondensedItalic BT 0297 zurchlci
+ bunr8ac ZurichBT-RomanCondensed BT 0298 zurch
+ bunri8ac ZurichBT-ItalicCondensed BT 0299 zurchci
+ bunb8ac ZurichBT-BoldCondensed BT 0300 zurchbc
+ bunbi8ac ZurichBT-BoldCondensedItalic BT 0301 zurchbci
+ bbbr8a Aldine401BT-RomanA BT 0302 ald401n
+ bbbri8a Aldine401BT-ItalicA BT 0303 ald401i
+ bbbb8a Aldine401BT-BoldA BT 0304 ald401b
+ bbbbi8a Aldine401BT-BoldItalicA BT 0305 ald401bi
+ bmpl8a GeometricSlab703BT-Light BT 0306 geo703l
+ bmpli8a GeometricSlab703BT-LightItalic BT 0307 geo703li
+ bmpm8a GeometricSlab703BT-Medium BT 0308 geo703m
+ bmpmi8a GeometricSlab703BT-MediumItalic BT 0309 geo703mi
+ bmpb8a GeometricSlab703BT-Bold BT 0310 geo703b
+ bmpbi8a GeometricSlab703BT-BoldItalic BT 0311 geo703bi
+ bmpx8a GeometricSlab703BT-XtraBold BT 0312 geo703xb
+ bmpxi8a GeometricSlab703BT-XtraBoldItal BT 0313 ge703xbi
+ buyr8a UniversityRomanBT-Regular BT 0316 univern
+ buyb8a UniversityRomanBT-Bold BT 0317 univernb
+ bior8a News701BT-RomanA BT 0318 news701n
+ biori8a News701BT-ItalicA BT 0319 news701i
+ biob8a News701BT-BoldA BT 0320 news701b
+ befr8a HumanistSlabserif712BT-Roman BT 0321 hums712n
+ befri8a HumanistSlabserif712BT-Italic BT 0322 hums712i
+ befb8a HumanistSlabserif712BT-Bold BT 0323 hums712b
+ befc8a HumanistSlabserif712BT-Black BT 0324 hums712k
+ bwnl8ac WindsorBT-LightCondensed BT 0326 wndsrlc
+ bwnr8ax WindsorBT-Elongated BT 0327 wndsre
+ bubr8a BauerBodoniBT-Roman BT 0328 baubodn
+ bubri8a BauerBodoniBT-Italic BT 0329 baubodi
+ bubb8a BauerBodoniBT-Bold BT 0330 baubodb
+ bubbi8a BauerBodoniBT-BoldItalic BT 0331 baubodbi
+ bubc8a BauerBodoniBT-Black BT 0332 baubodk
+ bubci8a BauerBodoniBT-BlackItalic BT 0333 baubodki
+ bubb8ac BauerBodoniBT-BoldCondensed BT 0334 baubodbc
+ bubc8ac BauerBodoniBT-BlackCondensed BT 0335 baubodkc
+ biir8a Dutch766BT-RomanA BT 0338 dut766n
+ biiri8a Dutch766BT-ItalicA BT 0339 dut766i
+ biib8a Dutch766BT-BoldA BT 0340 dut766b
+ bcahf8a CaslonOldFaceBT-Heavy BT 0342 casolfch
+ bgmk8a GaramondITCbyBT-Book BT 0345 garamdn
+ bgmki8a GaramondITCbyBT-BookItalic BT 0346 garamdni
+ bgmb8a GaramondITCbyBT-Bold BT 0347 garamdb
+ bgmbi8a GaramondITCbyBT-BoldItalic BT 0348 garamdbi
+ bcdc8a ClarendonBT-Black BT 0351 clrndnk
+ bi3r8a ImperialBT-Roman BT 0352 imperln
+ bi3ri8a ImperialBT-Italic BT 0353 imperli
+ bi3b8a ImperialBT-Bold BT 0354 imperlb
+ b_____ BellCentennialBT-NameAndNumber BT 0355 belcenam
+ b_____ BellCentennialBT-Address BT 0356 belceadr
+ b_____ BellCentennialBT-SubCaption BT 0357 belcesub
+ b_____ BellCentennialBT-BoldListing BT 0358 belcelis
+ bbers8a BellGothicBT-Roman BT 0359 belgothn
+ bbebs8a BellGothicBT-Bold BT 0360 belgothb
+ bbecs8a BellGothicBT-Black BT 0361 belgothk
+ bpar8a ParkAvenueBT-Regular BT 0362 parkaven
+ bn7r8a News706BT-RomanC BT 0363 news706n
+ bn7ri8a News706BT-ItalicC BT 0364 news706i
+ bn7b8a News706BT-BoldC BT 0365 news706b
+ blbj8a LubalinGraphITCbyBT-XtraLight BT 0366 lubgrxl
+ blbk8a LubalinGraphITCbyBT-Book BT 0367 lubgrhn
+ blbm8a LubalinGraphITCbyBT-Medium BT 0368 lubgrhm
+ blbd8a LubalinGraphITCbyBT-Demi BT 0369 lubgrhd
+ blbb8a LubalinGraphITCbyBT-Bold BT 0370 lubgrhb
+ bhvl8ax Swiss721BT-LightExtended BT 0371 swz721le
+ bhvr8ax Swiss721BT-RomanExtended BT 0372 swz721e
+ bhvb8ax Swiss721BT-BoldExtended BT 0373 swz721be
+ bhvc8ax Swiss721BT-BlackExtended BT 0374 swz721ke
+ bngr8ac NewsGothicBT-RomanCondensed BT 0375 newsgotc
+ bngri8ac NewsGothicBT-ItalicCondensed BT 0376 newgotci
+ bngb8ac NewsGothicBT-BoldCondensed BT 0377 newgotbc
+ bngbi8ac NewsGothicBT-BoldCondItalic BT 0378 newgtbci
+ bctk8a CheltenhamITCbyBT-Book BT 0381 ichlthmn
+ bctki8a CheltenhamITCbyBT-BookItalic BT 0382 ichlthni
+ bctb8a CheltenhamITCbyBT-Bold BT 0383 ichlthmb
+ bctbi8a CheltenhamITCbyBT-BoldItalic BT 0384 ichlthbi
+ baol8a Incised901BT-Light BT 0387 inc901l
+ baor8a Incised901BT-Roman BT 0388 inc901n
+ baori8a Incised901BT-Italic BT 0389 inc901i
+ baob8a Incised901BT-Bold BT 0390 inc901b
+ baoc8a Incised901BT-Black BT 0391 inc901k
+ boar OCRAbyBT-Regular BT 0395 ocran
+ bbhl8a BauhausITCbyBT-Light BT 0405 bauhausl
+ bbhm8a BauhausITCbyBT-Medium BT 0406 bauhausm
+ bbhb8a BauhausITCbyBT-Bold BT 0408 bauhausb
+ bbhh8a BauhausITCbyBT-Heavy BT 0409 bauhaush
+ bcyl8a SquareSlabserif711BT-Light BT 0410 sqrs711l
+ bcym8a SquareSlabserif711BT-Medium BT 0411 sqrs711m
+ bcyb8a SquareSlabserif711BT-Bold BT 0412 sqrs711b
+ bper8a Prestige12PitchBT-Roman BT 0413 presti12
+ blgr8a LetterGothic12PitchBT-Roman BT 0414 letgot12
+ bcdh8a ClarendonBT-Heavy BT 0416 clrndnh
+ bccr8a Freehand471BT-Regular BT 0418 frhnd471
+ bcrr8a Courier10PitchBT-Roman BT 0419 cur10ptn
+ bcprs8a CopperplateGothicBT-Roman BT 0420 copgothn
+ bcpbs8a CopperplateGothicBT-Bold BT 0421 copgothb
+ bcphs8a CopperplateGothicBT-Heavy BT 0422 copgothh
+ bcprs8ac CopperplateGothicBT-RomanCond BT 0423 copgothc
+ bcpbs8ac CopperplateGothicBT-BoldCond BT 0424 copgotbc
+ bfqr8a FrizQuadrataITCbyBT-Roman BT 0428 frzquadn
+ bfqb8a FrizQuadrataITCbyBT-Bold BT 0429 frzquadb
+ bqrl8a QuorumITCbyBT-Light BT 0438 quoruml
+ bqrm8a QuorumITCbyBT-Medium BT 0440 quorumm
+ bqrc8a QuorumITCbyBT-Black BT 0442 quorumk
+ bcab8a CaslonBT-Bold BT 0443 caslonb
+ bcabi8a CaslonBT-BoldItalic BT 0444 caslonbi
+ bzcm8a ZapfChanceryITCbyBT-Medium BT 0447 zafcham
+ bzcmi8a ZapfChanceryITCbyBT-MediumItal BT 0448 zafchami
+ bzcd8a ZapfChanceryITCbyBT-Demi BT 0449 zafchad
+ bzcb8a ZapfChanceryITCbyBT-Bold BT 0450 zafchab
+ bgmk8ac GaramondITCbyBT-BookCondensed BT 0453 garamdnc
+ bgmki8ac GaramondITCbyBT-BookCondItalic BT 0454 garamnci
+ bgmb8ac GaramondITCbyBT-BoldCondensed BT 0455 garamdbc
+ bgmbi8ac GaramondITCbyBT-BoldCondItalic BT 0456 garambci
+ bugk8a BenguiatGothicITCbyBT-Book BT 0459 bengothn
+ bugki8a BenguiatGothicITCbyBT-BookItal BT 0460 bengotni
+ bugb8a BenguiatGothicITCbyBT-Bold BT 0463 bengothb
+ bugbi8a BenguiatGothicITCbyBT-BoldItal BT 0464 bengotbi
+ baob8ac Incised901BT-BoldCondensed BT 0467 inc901bc
+ baop8a Incised901BT-Compact BT 0468 inc901c
+ baoh8ax Incised901BT-Nord BT 0469 in901xk
+ baohi8ax Incised901BT-NordItalic BT 0470 in901xki
+ brwl8a GeometricSlab712BT-LightA BT 0483 geo712l
+ brwli8a GeometricSlab712BT-LightItalicA BT 0484 geo712li
+ brwm8a GeometricSlab712BT-MediumA BT 0485 geo712m
+ brwmi8a GeometricSlab712BT-MediumItalA BT 0486 geo712mi
+ brwb8a GeometricSlab712BT-BoldA BT 0487 geo712b
+ brwx8a GeometricSlab712BT-ExtraBoldA BT 0488 geo712xb
+ bmdr8a Latin725BT-Roman BT 0489 lat725n
+ bmdri8a Latin725BT-Italic BT 0490 lat725i
+ bmdm8a Latin725BT-Medium BT 0491 lat725m
+ bmdmi8a Latin725BT-MediumItalic BT 0492 lat725mi
+ bmdb8a Latin725BT-Bold BT 0493 lat725b
+ bmdbi8a Latin725BT-BoldItalic BT 0494 lat725bi
+ bgsr8ac Humanist521BT-RomanCondensed BT 0495 hum521c
+ bgsb8ac Humanist521BT-BoldCondensed BT 0496 hum521bc
+ bgsx8ac Humanist521BT-XtraBoldCondensed BT 0497 hu521xbc
+ bamr8a AmericanaBT-Roman BT 0498 amrcanan
+ bamri8a AmericanaBT-Italic BT 0499 amrcanai
+ bamb8a AmericanaBT-Bold BT 0500 amrcanab
+ bamx8a AmericanaBT-ExtraBold BT 0501 amrcanxb
+ bamx8ac AmericanaBT-ExtraBoldCondensed BT 0502 amrcaxbc
+ bsnk8ac Geometric212BT-BookCondensed BT 0503 geo212nc
+ bsnh8ac Geometric212BT-HeavyCondensed BT 0504 geo212hc
+ blir8ac LatinExtraCondensedBT-Regular BT 0507 latinxc
+ bctbd8a CheltenhamBT-BoldHeadline BT 0508 chltboa
+ bctbdi8a CheltenhamBT-BoldItalicHeadline BT 0509 chltboia
+ ba6r8a AmeliaBT-Regular BT 0510 amelian
+ bb8c8a BlippoBT-Black BT 0511 blippok
+ boxr8a OnyxBT-Regular BT 0519 onyxn
+ bm2l8a Geometric415BT-LiteA BT 0520 geo415l
+ bm2li8a Geometric415BT-LiteItalicA BT 0521 geo415li
+ bm2m8a Geometric415BT-MediumA BT 0522 geo415m
+ bm2mi8a Geometric415BT-MediumItalicA BT 0523 geo415mi
+ bm2c8a Geometric415BT-BlackA BT 0524 geo415k
+ bm2ci8a Geometric415BT-BlackItalicA BT 0525 geo415ki
+ blgri8a LetterGothic12PitchBT-Italic BT 0532 legot12i
+ blgb8a LetterGothic12PitchBT-Bold BT 0533 legot12b
+ bmhr8a MachineITCbyBT-Regular BT 0534 machinen
+ bhvc8a2 Swiss721BT-BlackNo2 BT 0540 swz721k2
+ bazb8a Gothic725BT-BoldA BT 0541 goth725b
+ ba4r8a AlternateGothicNo2BT-Regular BT 0542 altgot2n
+ blgbi8a LetterGothic12PitchBT-BoldItal BT 0543 lego12bi
+ blbjo8a LubalinGraphITCbyBT-XtraLightOb BT 0544 lubgrxlo
+ blbko8a LubalinGraphITCbyBT-BookOblique BT 0545 lubgrhno
+ blbmo8a LubalinGraphITCbyBT-MediumObl BT 0546 lubgrhmo
+ blbdo8a LubalinGraphITCbyBT-DemiOblique BT 0547 lubgrhdo
+ blbbo8a LubalinGraphITCbyBT-BoldOblique BT 0548 lubgrhbo
+ btmx8a Dutch801BT-ExtraBold BT 0549 dut801xb
+ b_____ SymbolITCbyBT-Bold BT 0554 symbolb
+ b_____ SymbolITCbyBT-BoldItalic BT 0555 symbolbi
+ b_____ Century731BT-RomanA BT 0558 cen731n
+ b_____ Century731BT-ItalicA BT 0559 cen731i
+ b_____ Century731BT-BoldA BT 0560 cen731b
+ b_____ Century731BT-BoldItalicA BT 0561 cen731bi
+ bhir8a Swiss921BT-RegularA BT 0562 swz921n
+ bhvcl8a Swiss721BT-BlackOutline BT 0563 swz721ko
+ bcsb8ac CenturySchoolbookBT-BoldCond BT 0574 censbkbc
+ bcbl8a CooperBT-Light BT 0575 cooperl
+ bcbli8a CooperBT-LightItalic BT 0576 cooperli
+ bcbm8a CooperBT-Medium BT 0577 cooperm
+ bcbmi8a CooperBT-MediumItalic BT 0578 coopermi
+ bcbb8a CooperBT-Bold BT 0579 cooperb
+ bcbbi8a CooperBT-BoldItalic BT 0580 cooperbi
+ bcarl8a CaslonOpenfaceBT-Regular BT 0581 casopfan
+ bcrri8a Courier10PitchBT-Italic BT 0582 cur10pti
+ bcrb8a Courier10PitchBT-Bold BT 0583 cur10ptb
+ benrs8a EngraversGothicBT-Regular BT 0586 engrgotn
+ benr8a EngraversRomanBT-Regular BT 0587 engrvrn
+ be0r8a EmbassyBT-Regular BT 0588 embassyn
+ bkgl8a BankGothicBT-Light BT 0589 bnkgothl
+ bkgm8a BankGothicBT-Medium BT 0590 bnkgothm
+ bf0r8a FlemishScriptBT-Regular BT 0591 flemscrn
+ bp5r8a PiranesiItalicBT-Regular BT 0592 piranesi
+ bser8a ShelleyAndanteBT-Regular BT 0593 shlyandn
+ bserd8a ShelleyAllegroBT-Regular BT 0594 shlyalln
+ bserw8a ShelleyVolanteBT-Regular BT 0595 shlyvoln
+ bhvrt8a Monospace821BT-Roman BT 0596 mono821n
+ bhvrit8a Monospace821BT-Italic BT 0597 mono821i
+ bhvbt8a Monospace821BT-Bold BT 0598 mono821b
+ bhvbit8a Monospace821BT-BoldItalic BT 0599 mon821bi
+ bcsrt8a CenturySchoolbookBT-Monospace BT 0600 censbkmn
+ bdcr8a DomCasualBT-Regular BT 0604 domcasn
+ bpfr8a Decorated035BT-Regular BT 0605 deco035n
+ bt1r8a ThunderbirdBT-Regular BT 0606 thundrbn
+ bb7r8a BernhardModernBT-Roman BT 0607 bnhrdmon
+ boir8a FormalScript421BT-Regular BT 0609 frms421n
+ bmsr8a Staccato222BT-Regular BT 0610 stac222n
+ bcrbi8a Courier10PitchBT-BoldItalic BT 0611 cur10pbi
+ bperi8a Prestige12PitchBT-Italic BT 0613 prest12i
+ bpeb8a Prestige12PitchBT-Bold BT 0614 prest12b
+ bpebi8a Prestige12PitchBT-BoldItalic BT 0615 pres12bi
+ bctr8a CheltenhamBT-Roman BT 0620 chlthmn
+ bctri8a CheltenhamBT-Italic BT 0621 chlthmi
+ bctb8a CheltenhamBT-Bold BT 0622 chlthmb
+ bctbi8a CheltenhamBT-BoldItalic BT 0623 chlthmbi
+ brmli8a CarminaBT-LightItalic BT 0624 carminli
+ bg0r8a GandoBT-Regular BT 0625 gandon
+ bpgl8a Exotic350BT-Light BT 0626 exot350l
+ bpgd8a Exotic350BT-DemiBold BT 0627 exo350db
+ bpgb8a Exotic350BT-Bold BT 0628 exot350b
+ bcbc8a CooperBT-Black BT 0630 coopbln
+ bcbci8a CooperBT-BlackItalic BT 0631 coopbli
+ bchb8a CharterBT-Bold BT 0632 chartrb
+ bchbi8a CharterBT-BoldItalic BT 0633 chartrbi
+ buhh8a CushingITCbyBT-Heavy BT 0641 cushngh
+ buhhi8a CushingITCbyBT-HeavyItalic BT 0642 cushnghi
+ beor8a AmerigoBT-RomanA BT 0643 amrigon
+ beori8a AmerigoBT-ItalicA BT 0644 amrigoi
+ beob8a AmerigoBT-BoldA BT 0645 amrigob
+ bobr OCRB10PitchBT-Regular BT 0646 ocrb10n
+ bchr8a CharterBT-Roman BT 0648 chartrn
+ bchri8a CharterBT-Italic BT 0649 chartri
+ bzgm8a Geometric706BT-MediumB BT 0660 geo706m
+ bzgc8a Geometric706BT-BlackB BT 0661 geo706k
+ bzgb8ac Geometric706BT-BoldCondensedB BT 0662 geo706bc
+ bzgc8ac Geometric706BT-BlackCondensedB BT 0663 geo706kc
+ bg6r8a GorillaITCbyBT-Regular BT 0664 gorillan
+ brml8a CarminaBT-Light BT 0667 carminal
+ brmc8a CarminaBT-Black BT 0668 carminak
+ bfgk8a FranklinGothicITCbyBT-Book BT 0670 frkgotn
+ bfgki8a FranklinGothicITCbyBT-BookItal BT 0671 frkgotni
+ bfgd8a FranklinGothicITCbyBT-Demi BT 0674 frkgotd
+ bfgdi8a FranklinGothicITCbyBT-DemiItal BT 0675 frkgotdi
+ bfgh8a FranklinGothicITCbyBT-Heavy BT 0676 frkgoth
+ bfghi8a FranklinGothicITCbyBT-HeavyItal BT 0677 frkgothi
+ b_____ GrouchITCbyBT-Regular BT 0678 grouchn
+ bymli8a StymieBT-LightItalic BT 0679 stymieli
+ bfnr8a FeniceITCbyBT-Regular BT 0682 fenicen
+ bfnri8a FeniceITCbyBT-RegularItalic BT 0683 feniceni
+ bfnb8a FeniceITCbyBT-Bold BT 0684 feniceb
+ bfnbi8a FeniceITCbyBT-BoldItalic BT 0685 fenicebi
+ b_____ GrizzlyITCbyBT-Regular BT 0688 grizzlyn
+ bymmi8a StymieBT-MediumItalic BT 0689 stymiemi
+ bl2r8a LibraBT-Regular BT 0690 libran
+ b_____ Pica10PitchBT-Roman BT 0691 pica10n
+ bymbi8a StymieBT-BoldItalic BT 0692 stymiebi
+ b_____ NewtextITCbyBT-Regular BT 0697 newtxtn
+ b_____ NewtextITCbyBT-RegularItalic BT 0698 newtxtni
+ bchc8a CharterBT-Black BT 0709 chartrk
+ bchci8a CharterBT-BlackItalic BT 0710 chartrki
+ bgjr8a ElegantGaramondBT-Roman BT 0711 eleggarn
+ bgjri8a ElegantGaramondBT-Italic BT 0712 eleggari
+ bgjb8a ElegantGaramondBT-Bold BT 0713 eleggarb
+ bekr8a Freeform710BT-Regular BT 0714 frfm710n
+ bppr8a Lapidary333BT-Roman BT 0715 lap333n
+ bppri8a Lapidary333BT-Italic BT 0716 lap333i
+ bppb8a Lapidary333BT-Bold BT 0717 lap333b
+ bppbi8a Lapidary333BT-BoldItalic BT 0718 lap333bi
+ brmci8a CarminaBT-BlackItalic BT 0719 carminki
+ bpbr8a PTBarnumBT-Regular BT 0720 ptbarnmn
+ brmm8a CarminaBT-Medium BT 0721 carminam
+ brmmi8a CarminaBT-MediumItalic BT 0722 carmini
+ brmb8a CarminaBT-Bold BT 0723 carminab
+ brmbi8a CarminaBT-BoldItalic BT 0724 carminbi
+ bi2r8a ImpulsBT-Regular BT 0725 impulsn
+ bkur8a KaufmannBT-Regular BT 0726 kaufmann
+ bkub8a KaufmannBT-Bold BT 0727 kaufmanb
+ bbob8a BalloonBT-Bold BT 0728 balonb
+ bbox8a BalloonBT-ExtraBold BT 0729 balonxb
+ bnvk8a NovareseITCbyBT-Book BT 0730 novaren
+ bnvki8a NovareseITCbyBT-BookItalic BT 0731 novareni
+ bnvb8a NovareseITCbyBT-Bold BT 0734 novareb
+ bnvbi8a NovareseITCbyBT-BoldItalic BT 0735 novarebi
+ bc2k8a Caslon224ITCbyBT-Book BT 0745 cas224n
+ bc2ki8a Caslon224ITCbyBT-BookItalic BT 0746 cas224ni
+ bc2b8a Caslon224ITCbyBT-Bold BT 0749 cas224b
+ bc2bi8a Caslon224ITCbyBT-BoldItalic BT 0750 cas224bi
+ bnabi8a Dutch823BT-BoldItalicB BT 0753 dut823bi
+ borr8a10 OratorBT-TenPitch BT 0755 orator10
+ bvrr8a VAGRoundedBT-Regular BT 0756 vagron
+ bclr8a CloisterBlackBT-Regular BT 0757 cloistrk
+ borr8a15 OratorBT-FifteenPitch BT 0758 orator15
+ bhvm8a Swiss721BT-Medium BT 0759 swz721m
+ bhvmi8a Swiss721BT-MediumItalic BT 0760 swz721mi
+ btvr8a Kuenstler480BT-Roman BT 0761 kuen408n
+ btvri8a Kuenstler480BT-Italic BT 0762 kuen408i
+ btvb8a Kuenstler480BT-Bold BT 0763 kuen408b
+ btvbi8a Kuenstler480BT-BoldItalic BT 0764 kue408bi
+ bhvbl8ac Swiss721BT-BoldCondensedOutline BT 0767 sw721bco
+ bh0r8a HandelGothicBT-Regular BT 0768 handgotn
+ bdcb8a DomBoldBT-Regular BT 0769 domb
+ beom8a AmerigoBT-MediumA BT 0770 amrigom
+ beomi8a AmerigoBT-MediumItalicA BT 0771 amrigomi
+ beobi8a AmerigoBT-BoldItalicA BT 0772 amrigobi
+ bc7l8a CompactaBT-Light BT 0783 compctal
+ bc7r8a CompactaBT-Roman BT 0784 compctan
+ bc7ri8a CompactaBT-Italic BT 0785 compctai
+ bc7b8a CompactaBT-Bold BT 0786 compctab
+ bc7bi8a CompactaBT-BoldItalic BT 0787 compctbi
+ bc7c8a CompactaBT-Black BT 0788 compctak
+ bbpr8a Modern735BT-RomanA BT 0793 mod735n
+ bbwre8a BroadwayEngravedBT-Regular BT 0802 brdwayg
+ bonbi8a News705BT-BoldItalicB BT 0803 new705bi
+ bpnl8a Aldine721BT-Light BT 0804 ald721l
+ bpnli8a Aldine721BT-LightItalic BT 0805 ald721li
+ bb4r8a Brush738BT-RegularA BT 0806 brus738n
+ bb6r8ac Gothic821CondensedBT-Regular BT 0807 goth821c
+ bcir8a CandidaBT-Roman BT 0808 candidan
+ bciri8a CandidaBT-Italic BT 0809 candidai
+ bcib8a CandidaBT-Bold BT 0810 candidab
+ bdir8a Calligraphic810BT-Roman BT 0811 calg810n
+ bdiri8a Calligraphic810BT-Italic BT 0812 calg810i
+ bhrb8a Swiss721BT-BoldRounded BT 0813 swz721br
+ bhrc8a Swiss721BT-BlackRounded BT 0815 swz721kr
+ bs3l8a SeagullBT-Light BT 0817 seagulll
+ bs3m8a SeagullBT-Medium BT 0818 seagullm
+ bs3b8a SeagullBT-Bold BT 0819 seagullb
+ bs3h8a SeagullBT-Heavy BT 0820 seagullh
+ b_____ MixageITCbyBT-Bold BT 0825 mixageb
+ b_____ MixageITCbyBT-BoldItalic BT 0826 mixagebi
+ bm3r8a MiraraeBT-Roman BT 0830 miraraen
+ bm3b8a MiraraeBT-Bold BT 0831 miraraeb
+ btms8a Dutch801BT-SemiBold BT 0834 dut801db
+ btmsi8a Dutch801BT-SemiBoldItalic BT 0835 du801dbi
+ bsfb8ac SerifaBT-BoldCondensed BT 0836 serifabc
+ bb7ri8a BernhardModernBT-Italic BT 0837 bnhrdmoi
+ bb7b8a BernhardModernBT-Bold BT 0838 bnhrdmob
+ bb7bi8a BernhardModernBT-BoldItalic BT 0839 bnhrdmbi
+ b_____ English157BT-Regular BT 0840 engl157n
+ blyr8a LydianBT-Roman BT 0841 lydiann
+ blyri8a LydianBT-Italic BT 0842 lydiani
+ blyb8a LydianBT-Bold BT 0843 lydianb
+ blybi8a LydianBT-BoldItalic BT 0844 lydianbi
+ blyrw8a LydianCursiveBT-Regular BT 0845 lydianv
+ bcdr8ac ClarendonBT-RomanCondensed BT 0846 clrndnc
+ bl3r8a LuciaBT-Regular BT 0847 lucian
+ bfol8a FolioBT-Light BT 0848 foliol
+ bfoli8a FolioBT-LightItalic BT 0849 folioli
+ bfok8a FolioBT-Book BT 0850 folion
+ bfom8a FolioBT-Medium BT 0851 foliom
+ bfob8a FolioBT-Bold BT 0852 foliob
+ bfox8a FolioBT-ExtraBold BT 0853 folioxb
+ bfob8ac FolioBT-BoldCondensed BT 0854 foliobc
+ bfrl8a Humanist777BT-LightB BT 0855 hum777l
+ bfrli8a Humanist777BT-LightItalicB BT 0856 hum777li
+ bfrr8a Humanist777BT-RomanB BT 0857 hum777n
+ bfrri8a Humanist777BT-ItalicB BT 0858 hum777i
+ bfrb8a Humanist777BT-BoldB BT 0859 hum777b
+ bfrbi8a Humanist777BT-BoldItalicB BT 0860 hum777bi
+ bfrc8a Humanist777BT-BlackB BT 0861 hum777k
+ bfrci8a Humanist777BT-BlackItalicB BT 0862 hum777ki
+ begr8a OriginalGaramondBT-Roman BT 0863 orggaran
+ begri8a OriginalGaramondBT-Italic BT 0864 orggarai
+ begb8a OriginalGaramondBT-Bold BT 0865 orggarab
+ begbi8a OriginalGaramondBT-BoldItalic BT 0866 orggarbi
+ bpyr8a PlaybillBT-Regular BT 0867 playbiln
+ b_____ Century751BT-RomanB BT 0868 cent751n
+ b_____ Century751BT-ItalicB BT 0869 cent751i
+ bngr8aq NewsGothicBT-ExtraCondensed BT 0870 newgotxc
+ bngb8aq NewsGothicBT-BoldExtraCond BT 0871 newgtbxc
+ bsxr8a Humanist531BT-RomanA BT 0872 hum531n
+ bsxb8a Humanist531BT-BoldA BT 0874 hum531b
+ bsxc8a Humanist531BT-BlackA BT 0875 hum531k
+ bsxu8a Humanist531BT-UltraBlackA BT 0876 hum531uk
+ b_____ Egyptian710BT-RegularA BT 0883 egyt710n
+ bffm8a Transitional551BT-MediumB BT 0884 tran551m
+ bffmi8a Transitional551BT-MediumItalicB BT 0885 tra551mi
+ bm5b8a MurrayHillBT-Bold BT 0886 muryhilb
+ bcxl8a CaxtonBT-Light BT 0887 caxtonl
+ bcxli8a CaxtonBT-LightItalic BT 0888 caxtonli
+ bcxk8a CaxtonBT-Book BT 0889 caxtonn
+ bcxki8a CaxtonBT-BookItalic BT 0890 caxtonni
+ bcxb8a CaxtonBT-Bold BT 0891 caxtonb
+ bcxbi8a CaxtonBT-BoldItalic BT 0892 caxtonbi
+ brvr8a RevueBT-Regular BT 0895 revuen
+ br0r8a RomanaBT-Roman BT 0896 romanan
+ br0b8a RomanaBT-Bold BT 0897 romanab
+ bssl8a SchneidlerBT-Light BT 0899 schndll
+ bssli8a SchneidlerBT-LightItalic BT 0900 schndlli
+ bssr8a SchneidlerBT-Roman BT 0901 schndln
+ bssri8a SchneidlerBT-Italic BT 0902 schndli
+ bssm8a SchneidlerBT-Medium BT 0903 schndlm
+ bssmi8a SchneidlerBT-MediumItalic BT 0904 schndlmi
+ bssb8a SchneidlerBT-Bold BT 0905 schndlb
+ bssbi8a SchneidlerBT-BoldItalic BT 0906 schndlbi
+ bssc8a SchneidlerBT-Black BT 0907 schndlk
+ bssci8a SchneidlerBT-BlackItalic BT 0908 schndlki
+ bwnl8a WindsorBT-Light BT 0909 wndsrl
+ bymx8ac StymieBT-ExtraBoldCondensed BT 0910 stymixbc
+ b_____ DeVinneBT-Roman BT 0911 devinnen
+ b_____ DeVinneBT-Italic BT 0912 devinnei
+ bear8a Transitional521BT-RomanA BT 0913 tran521n
+ bearw8a Transitional521BT-CursiveA BT 0914 tran521i
+ beab8a Transitional521BT-BoldA BT 0915 tran521b
+ ball8a Flareserif821BT-Light BT 0916 flar821l
+ balr8a Flareserif821BT-Roman BT 0917 flar821n
+ balb8a Flareserif821BT-Bold BT 0918 flar821b
+ bdcri8a DomDiagonalBT-Regular BT 0920 domdiagn
+ bdcbi8a DomDiagonalBT-Bold BT 0921 domdiagb
+ bysl8a GoudySansITCbyBT-Light BT 0922 goudsanl
+ bysli8a GoudySansITCbyBT-LightItalic BT 0923 goudsali
+ bysm8a GoudySansITCbyBT-Medium BT 0924 goudsanm
+ bysmi8a GoudySansITCbyBT-MediumItalic BT 0925 goudsami
+ bysb8a GoudySansITCbyBT-Bold BT 0926 goudsanb
+ bysbi8a GoudySansITCbyBT-BoldItalic BT 0927 goudsabi
+ bysc8a GoudySansITCbyBT-Black BT 0928 goudsank
+ bysci8a GoudySansITCbyBT-BlackItalic BT 0929 goudsaki
+ bnbr8a NewBaskervilleITCbyBT-Roman BT 0930 newbaskn
+ bnbri8a NewBaskervilleITCbyBT-Italic BT 0931 newbaski
+ bnbb8a NewBaskervilleITCbyBT-Bold BT 0934 newbaskb
+ bnbbi8a NewBaskervilleITCbyBT-BoldItal BT 0935 newbasbi
+ bclrl8a CloisterOpenFaceBT-Regular BT 0938 cloisofn
+ bt2r8a TypoUprightBT-Regular BT 0939 typouprn
+ bs2r8a Script12PitchBT-Roman BT 0940 scrpt12n
+ blwk8a LeawoodITCbyBT-Book BT 0941 leawodn
+ blwki8a LeawoodITCbyBT-BookItalic BT 0942 leawodni
+ blwb8a LeawoodITCbyBT-Bold BT 0945 leawodb
+ blwbi8a LeawoodITCbyBT-BoldItalic BT 0946 leawodbi
+ bngd8a NewsGothicBT-Demi BT 0949 newsgotd
+ bngdi8a NewsGothicBT-DemiItalic BT 0950 newsgtdi
+ b_____ CataneoBT-Light BT 0951 catanltn
+ b_____ CataneoBT-Regular BT 0952 cataneon
+ b_____ CataneoBT-Bold BT 0953 catanbon
+ blfr8a LifeBT-Roman BT 0954 lifen
+ blfri8a LifeBT-Italic BT 0955 lifei
+ blfb8a LifeBT-Bold BT 0956 lifeb
+ blfbi8a LifeBT-BoldItalic BT 0957 lifebi
+ bunl8aq ZurichBT-LightExtraCondensed BT 0958 zurchlxc
+ bunr8aq ZurichBT-ExtraCondensed BT 0959 zurchxc
+ bunb8aq ZurichBT-BoldExtraCondensed BT 0960 zurchbxc
+ beel8a Egyptian505BT-Light BT 0961 egyt505l
+ beer8a Egyptian505BT-Roman BT 0962 egyt505n
+ beem8a Egyptian505BT-Medium BT 0963 egyt505m
+ beeb8a Egyptian505BT-Bold BT 0964 egyt505b
+ b_____ BruceOldStyleBT-Roman BT 0965 bruolstn
+ b_____ BruceOldStyleBT-Italic BT 0966 bruolsti
+ bhsr8a Swiss924BT-RegularB BT 0969 swz924n
+ bunx8a ZurichBT-ExtraBlack BT 0970 zurchxk
+ btmxi8a Dutch801BT-ExtraBoldItalic BT 0971 du801xbi
+ bsbbi8a ClassicalGaramondBT-BoldItalic BT 0972 clsgarbi
+ bbdb8ac BodoniBT-BoldCondensed BT 0973 bodonibc
+ benb8a EngraversRomanBT-Bold BT 0974 engrvrb
+ bi0r8a CommercialScriptBT-Regular BT 0976 comscrtn
+ bpnb8ac Aldine721BT-BoldCondensed BT 0977 ald721bc
+ bs6r8a StuyvesantBT-Regular BT 0980 stuyvesn
+ bnur8a NuptialBT-Regular BT 0981 nuptualn
+ bftr8a FrakturBT-Regular BT 0983 frakturn
+ bw0r8a WeddingTextBT-Regular BT 0985 wedtxtn
+ bb7rw8a BernhardTangoBT-Regular BT 0986 bnhrdtan
+ bl1r8a LibertyBT-Regular BT 0987 libertyn
+ bwnrl8a WindsorBT-Outline BT 0988 wndsro
+ bp3r8a Brush445BT-Regular BT 0990 brus445n
+ bgql8a Gothic720BT-LightB BT 0991 goth720l
+ bgqli8a Gothic720BT-LightItalicB BT 0992 got720li
+ bgqr8a Gothic720BT-RomanB BT 0993 goth720n
+ bgqri8a Gothic720BT-ItalicB BT 0994 goth720i
+ bgqb8a Gothic720BT-BoldB BT 0995 goth720b
+ bgqbi8a Gothic720BT-BoldItalicB BT 0996 got720bi
+ baur8a Freeform721BT-Roman BT 0997 frfm721n
+ bauri8a Freeform721BT-Italic BT 0998 frfm721i
+ baub8a Freeform721BT-Bold BT 0999 frfm721b
+ baubi8a Freeform721BT-BoldItalic BT 1000 frf721bi
+ bauc8a Freeform721BT-Black BT 1001 frfm721k
+ bauci8a Freeform721BT-BlackItalic BT 1002 frf721ki
+ bb7b8ac BernhardBoldCondensedBT-Regular BT 1003 brhrdbc
+ bazc8a Gothic725BT-BlackA BT 1007 goth720k
+ bn0r8a NormandeBT-Roman BT 1011 normandn
+ bn0ri8a NormandeBT-Italic BT 1012 normandi
+ b_____ MattAntiqueBT-Roman BT 1014 matantqn
+ b_____ MattAntiqueBT-Italic BT 1015 matantqi
+ b_____ MattAntiqueBT-Bold BT 1016 matantqb
+ bmar8a Freehand521BT-RegularC BT 1018 frhnd521
+ bmpm8ac GeometricSlab703BT-MediumCond BT 1019 geo703mc
+ bmpb8ac GeometricSlab703BT-BoldCond BT 1020 geo703bc
+ bmpx8ac GeometricSlab703BT-XtraBoldCond BT 1021 ge703xbc
+ bbll8a BelweBT-Light BT 1022 belwel
+ bblm8a BelweBT-Medium BT 1023 belwem
+ bblb8a BelweBT-Bold BT 1024 belweb
+ bblr8ac BelweBT-RomanCondensed BT 1025 belwec
+ btvc8a Kuenstler480BT-Black BT 1026 kuen408k
+ ba8r8ac AuroraBT-RomanCondensed BT 1027 aurorac
+ ba8b8ac AuroraBT-BoldCondensed BT 1028 aurorabc
+ b_____ CataneoBT-RegularSwash BT 1030 catanswn
+ b_____ CataneoBT-BoldSwash BT 1031 catanswb
+ bcbcl8a CooperBT-BlackOutline BT 1034 coopblo
+ btmrd8a Dutch801BT-RomanHeadline BT 1035 dut801na
+ btmrid8a Dutch801BT-ItalicHeadline BT 1036 dut801ia
+ b_____ Modern880BT-Roman BT 1037 mod880n
+ b_____ Modern880BT-Italic BT 1038 mod880i
+ b_____ Modern880BT-Bold BT 1039 mod880b
+ bmzr8a AmazoneBT-Regular BT 1040 amazonen
+ b_____ DeVinneBT-Text BT 1041 devinnet
+ b_____ DeVinneBT-ItalicText BT 1042 devinnit
+ bb5r8a Freehand591BT-RegularA BT 1043 frhnd591
+ b_____ Blackletter686BT-Regular BT 1044 blklt686
+ benbf8a EngraversOldEnglishBT-Bold BT 1045 engroleb
+ bjfr8a Freehand575BT-RegularB BT 1046 frhnd575
+ btor8a Industrial736BT-Roman BT 1047 ind736n
+ btori8a Industrial736BT-Italic BT 1048 ind736i
+ bgyh8a GoudyHeavyfaceBT-Regular BT 1049 goudhfcn
+ bgyh8ac GoudyHeavyfaceBT-RegularCond BT 1050 goudhfcc
+ bb7rn8a BernhardFashionBT-Regular BT 1051 bnhrdfan
+ bppc8a Lapidary333BT-Black BT 1052 lap333k
+ bgyrf8a GoudyHandtooledBTsRegular BT 1053 goudhndn
+ bg5r8a GoudyCatalogueBT-Regular BT 1054 goudcatn
+ b_____ Century725BT-Roman BT 1055 cen725n
+ b_____ Century725BT-Bold BT 1056 cen725b
+ b_____ Century725BT-RomanCondensed BT 1057 cen725c
+ b_____ Century725BT-BoldCondensed BT 1058 cen725bc
+ b_____ Century725BT-Italic BT 1059 cen725i
+ b_____ Century725BT-Black BT 1060 cen725k
+ bocr8a Dutch809BT-RomanC BT 1061 dut809n
+ bocri8a Dutch809BT-ItalicC BT 1062 dut809i
+ bocb8a Dutch809BT-BoldC BT 1063 dut809b
+ bpsr8a ParisianBT-Regular BT 1064 parisnn
+ bctb8ac CheltenhamBT-BoldCondensed BT 1065 chltboc
+ bctbi8ac CheltenhamBT-BoldCondItalic BT 1066 chltboci
+ bctb8aq CheltenhamBT-BoldExtraCondensed BT 1067 chltboxc
+ bbrr8a Revival565BT-Roman BT 1068 revi565n
+ bbrri8a Revival565BT-Italic BT 1069 revi565i
+ bbrb8a Revival565BT-Bold BT 1070 revi565b
+ bbrbi8a Revival565BT-BoldItalic BT 1071 rev565bi
+ bubrd8a BauerBodoniBT-Titling BT 1072 baubodti
+ bumr8a UmbraBT-Regular BT 1074 umbran
+ bbmr8a BulmerBT-Roman BT 1075 bulmern
+ bbmri8a BulmerBT-Italic BT 1076 bulmeri
+ bral8a RaleighBT-Light BT 1077 raleighl
+ brar8a RaleighBT-Roman BT 1078 raleighn
+ bram8a RaleighBT-Medium BT 1079 raleighm
+ brad8a RaleighBT-DemiBold BT 1080 raleigdb
+ brab8a RaleighBT-Bold BT 1081 raleighb
+ brax8a RaleighBT-ExtraBold BT 1082 raleigxb
+ boyr8a Dutch811BT-RomanD BT 1083 dut811n
+ boyri8a Dutch811BT-ItalicD BT 1084 dut811i
+ boyb8a Dutch811BT-BoldD BT 1085 dut811b
+ boybi8a Dutch811BT-BoldItalicD BT 1086 dut811bi
+ bwdk8a WeidemannITCbyBT-Book BT 1087 weidmnn
+ bwdki8a WeidemannITCbyBT-BookItalic BT 1088 weidmnni
+ bwdb8a WeidemannITCbyBT-Bold BT 1091 weidmnb
+ bwdbi8a WeidemannITCbyBT-BoldItalic BT 1092 weidmnbi
+ burr8a Venetian301BT-Roman BT 1095 ven301n
+ burri8a Venetian301BT-Italic BT 1096 ven301i
+ burd8a Venetian301BT-Demi BT 1097 ven301d
+ burdi8a Venetian301BT-DemiItalic BT 1098 ven301di
+ burb8a Venetian301BT-Bold BT 1099 ven301b
+ burbi8a Venetian301BT-BoldItalic BT 1100 ven301bi
+ b_____ FrysBaskervilleBT-Roman BT 1101 frybaskn
+ baar8a AachenBT-Roman BT 1102 aachenn
+ baab8a AachenBT-Bold BT 1103 aachenb
+ bhwl8a SchadowBT-Light BT 1104 schadwl
+ bhwli8a SchadowBT-LightCursive BT 1105 schadwli
+ bhwr8a SchadowBT-Roman BT 1106 schadwn
+ bhwb8a SchadowBT-Bold BT 1107 schadwb
+ bhwc8a SchadowBT-Black BT 1108 schadwk
+ bder8a DellaRobbiaBT-Roman BT 1112 delarobn
+ bdeb8a DellaRobbiaBT-Bold BT 1113 delarobb
+ bhwc8ac SchadowBT-BlackCondensed BT 1114 schadwkc
+ bnlr8a Informal011BT-Roman BT 1115 infr011n
+ bnlc8a Informal011BT-Black BT 1116 infr011k
+ bkbl8a Geometric231BT-LightC BT 1126 geo231l
+ bkbr8a Geometric231BT-RomanC BT 1127 geo231n
+ bkbb8a Geometric231BT-BoldC BT 1128 geo231b
+ bkbh8a Geometric231BT-HeavyC BT 1129 geo231h
+ ba5r8a AllegroBT-Regular BT 1138 allegron
+ bc9r8a Calligraphic421BT-RomanB BT 1139 calg421n
+ b_____ Geometric885BT-RegularD BT 1140 geo885n
+ b_____ Formal436BT-Regular BT 1141 frml436n
+ bl4r8a LucianBT-Roman BT 1142 luciann
+ bl4b8a LucianBT-Bold BT 1143 lucianb
+ brsr8a ArrusBT-Roman BT 1145 arrusn
+ brsri8a ArrusBT-Italic BT 1146 arrusi
+ brsb8a ArrusBT-Bold BT 1147 arrusb
+ brsbi8a ArrusBT-BoldItalic BT 1148 arrusbi
+ brsc8a ArrusBT-Black BT 1149 arrusk
+ brsci8a ArrusBT-BlackItalic BT 1150 arruski
+ bt0r8a TangoBT-Regular BT 1151 tangon
+ bbsr8a BakerSignetBT-Roman BT 1152 bakrsign
+ bczr8a Staccato555BT-RegularA BT 1153 stac555n
+ ba3r8a AdLibBT-Regular BT 1154 adlibn
+ bmor8a Modern20BT-RomanB BT 1168 modrn20n
+ bmori8a Modern20BT-ItalicB BT 1169 modrn20i
+ be1r8a EmpireBT-Regular BT 1176 empiren
+ bhxr8a HuxleyVerticalBT-Regular BT 1177 huxvertn
+ bozr8a OzHandicraftBT-Roman BT 1178 ozhandin
+ biyr8a IowanOldStyleBT-Roman BT 1198 iwolstyn
+ biyri8a IowanOldStyleBT-Italic BT 1199 iwolstyi
+ biyb8a IowanOldStyleBT-Bold BT 1200 iwolstyb
+ biybi8a IowanOldStyleBT-BoldItalic BT 1201 iwolstbi
+ biyc8a IowanOldStyleBT-Black BT 1202 iwolstyk
+ biyci8a IowanOldStyleBT-BlackItalic BT 1203 iwolstki
+ bo1r8a OrandaBT-Roman BT 1204 orandan
+ bo1ri8a OrandaBT-Italic BT 1205 orandai
+ bo1b8a OrandaBT-Bold BT 1206 orandab
+ bo1bi8a OrandaBT-BoldItalic BT 1207 orandabi
+ bo1r8ac OrandaBT-RomanCondensed BT 1208 orandac
+ bo1b8ac OrandaBT-BoldCondensed BT 1209 orandabc
+ bm4r8a MisterEarlBT-Regular BT 1221 mrearln
+ bb9b8a BremenBT-Bold BT 1231 bremenb
+ bb9c8a BremenBT-Black BT 1232 bremenk
+ bwcr8a SnowCapBT-Regular BT 1237 ________
+ b_____ MilleniumBT-BoldExtended BT 1242 milnumbe
+ bpi007 SprocketDeluxeBT-Regular BT 1243 ________
+ bpi008 SprocketBT-Regular BT 1244 ________
+ bpi009 SonicCutThruBT-Heavy BT 1247 ________
+ b_____ CharterITCbyBT-Roman BT 1268 ichrtrn
+ b_____ CharterITCbyBT-Italic BT 1269 ichrtri
+ b_____ CharterITCbyBT-Bold BT 1270 ichrtrb
+ b_____ CharterITCbyBT-BoldItalic BT 1271 ichrtrbi
+ b_____ CharterITCbyBT-Black BT 1272 ichrtrk
+ b_____ CharterITCbyBT-BlackItalic BT 1273 ichrtrki
+ bo0r8a OldDreadfulNo7BT-Regular BT 7009 ________
+ bzdr ZapfDingbatsITCbyBT-Regular BT 8556 zafdingn
+ b_____ MICR10byBT-Regular BT 8729 micr010n
+ b_____ MICR12byBT-Regular BT 8730 micr012n
+ b_____ MICR13byBT-Regular BT 8731 micr013n
+ bpi003 UniversalMath1BT-Regular BT 9014 ________
+ bpi004 CommercialPiBT-Regular BT 9025 ________
+ bsyr SymbolProportionalBT-Regular BT 9830 symbpron
+ bpi010 HolidayPiBT-Regular BT 9832 ________
+ bpi001 NewspaperPiBT-Regular BT 9836 ________
+
+
+File: fontname.info, Node: DTC fonts, Next: ITC fonts, Prev: Bitstream fonts, Up: Font name lists
+
+A.5 DTC fonts
+=============
+
+The `dtc.map' file has abbreviations for DTC (Digital Typeface
+Corporation) fonts.
+
+ dhvc8rc SansBlackCondensed-DTC
+ dhvco8rc SansBlackCondensed-Oblique-DTC
+ dhvm8rx SansExtended-Medium-DTC
+ dhvr8rx SansExtended-Regular-DTC
+ dhvro8rc SansExtended-RegularOblique-DTC
+ dhvx8rc SansExtraBlackCondensed-DTC
+ dhvl8rx SansLightExtended-DTC
+ dhvh8rc SansThinCondensed-DTC
+ dhvho8rc SansThinCondensed-Oblique-DTC
+ dnbb8r NewBaskerville-Bold-DTC
+ dnbbi8r NewBaskerville-BoldItalic-DTC
+ dnbri8r NewBaskerville-RomanItalic-DTC
+ dnbr8r NewBaskerville-Roman-DTC
+ dopr8r Optimum-Roman-DTC
+ dopb8r Optimum-Bold-DTC
+ dopbo8r Optimum-BoldItalic-DTC
+ doro8r Optimum-RomanItalic-DTC
+ dpll8r Palton-Light-DTC
+
+
+File: fontname.info, Node: ITC fonts, Next: Linotype fonts, Prev: DTC fonts, Up: Font name lists
+
+A.6 ITC fonts
+=============
+
+The `itc.map' file has abbreviations for ITC (International Typeface
+Corporation) fonts.
+
+
+ zieuk EuroSerifITC-Book
+ zieuki EuroSerifITC-BookItalic
+ zieum EuroSerifITC-Medium
+ zieumi EuroSerifITC-MediumItalic
+ zieub EuroSerifITC-Bold
+ zieubi EuroSerifITC-BoldItalic
+ zieuc EuroSerifITC-Black
+ zieuci EuroSerifITC-BlackItalic
+ zieuks EuroSansITC-Book
+ zieukis EuroSansITC-BookItalic
+ zieums EuroSansITC-Medium
+ zieumis EuroSansITC-MediumItalic
+ zieubs EuroSansITC-Bold
+ zieubis EuroSansITC-BoldItalic
+ zieucs EuroSansITC-Black
+ zieucis EuroSansITC-BlackItalic
+
+ i_____ Aachen-Medium ITC 2000
+ i_____ Aachen-Bold ITC 2001
+ i_____ Academy-Engraved ITC 2002
+ i_____ Aftershock ITC 2003
+ i_____ Agincourt ITC 2004
+ i_____ Airstream ITC 2005
+ i_____ Algerian-Condensed ITC 2006
+ i_____ Ambrose ITC 2007
+ i_____ Angryhog ITC 2008
+ i_____ Anna ITC 2009
+ i_____ Aquinas ITC 2010
+ i_____ Aquitaine-Initials ITC 2011
+ i_____ Aristocrat ITC 2012
+ i_____ Arnova ITC 2013
+ i_____ Arriba ITC 2014
+ i_____ Arriba-Arriba ITC 2015
+ i_____ Artiste ITC 2016
+ i_____ Atmosphere ITC 2017
+ i_____ AugusteaOpen ITC 2018
+ i_____ Avenida ITC 2019
+ i_____ BaileyQuad-Bold ITC 2020
+ i_____ Balmoral ITC 2021
+ i_____ Banco-Light ITC 2022
+ i_____ Banco ITC 2023
+ i_____ Bang ITC 2024
+ i_____ Banner ITC 2025
+ i_____ BeckaScript ITC 2026
+ i_____ Beesknees ITC 2027
+ i_____ Belter ITC 2028
+ i_____ Belter-MegaOutline ITC 2029
+ i_____ Belwe-Mono ITC 2030
+ i_____ Belwe-MonoItalic ITC 2031
+ i_____ Bendigo ITC 2032
+ i_____ Bergell ITC 2033
+ i_____ Bertie ITC 2034
+ i_____ Bertram ITC 2035
+ i_____ BibleScriptFlourishes ITC 2036
+ i_____ BickleyScript ITC 2037
+ i_____ Binary-Light ITC 2038
+ i_____ Binary-Bold ITC 2039
+ i_____ Bitmax ITC 2040
+ i_____ BlackTulip ITC 2041
+ i_____ Blackadder ITC 2042
+ i_____ Blackmoor ITC 2043
+ i_____ Blaze ITC 2044
+ i_____ Bluntz ITC 2045
+ i_____ Bodoni-Brush ITC 2046
+ i_____ BodoniSeventyTwo-Book ITC 2047
+ i_____ BodoniSeventyTwo-BookItalic ITC 2048
+ i_____ BodoniSeventyTwo-BookItalicSwash ITC 2049
+ i_____ BodoniSeventyTwo-Bold ITC 2050
+ i_____ BodoniSeventyTwo-BoldItalic ITC 2051
+ i_____ BodoniSeventyTwo-BoldItalicSwash ITC 2052
+ i_____ Boink ITC 2053
+ i_____ Bordeaux-Roman ITC 2054
+ i_____ Bordeaux-Italic ITC 2055
+ i_____ Bordeaux-RomanBold ITC 2056
+ i_____ Bordeaux-Display ITC 2057
+ i_____ Bordeaux-Script ITC 2058
+ i_____ BradleyHand-Regular ITC 2059
+ i_____ BradleyHand-Bold ITC 2060
+ i_____ Braganza-Light ITC 2061
+ i_____ Braganza-Regular ITC 2062
+ i_____ Brighton-Light ITC 2063
+ i_____ Brighton-Medium ITC 2064
+ i_____ Brighton-Bold ITC 2065
+ i_____ Bronx ITC 2066
+ i_____ Buckeroo ITC 2067
+ i_____ Burlington ITC 2068
+ i_____ BuzzerThree ITC 2069
+ i_____ Cabaret ITC 2070
+ i_____ CabargaCursiva ITC 2071
+ i_____ Campaign ITC 2072
+ i_____ CancellarescaScript ITC 2073
+ i_____ Cancione ITC 2074
+ i_____ Caribbean ITC 2075
+ i_____ Carlton ITC 2076
+ i_____ Carumba ITC 2077
+ i_____ Caslon540-ItalicSwashes ITC 2078
+ i_____ CaxtonRoman-Light ITC 2079
+ i_____ CaxtonRoman-LightItalic ITC 2080
+ i_____ CaxtonRoman-Book ITC 2081
+ i_____ CaxtonRoman-Bold ITC 2082
+ i_____ CenturyHandtooled-Bold ITC 2083
+ i_____ CenturyHandtooled-BoldItalic ITC 2084
+ i_____ Challenge-Bold ITC 2085
+ i_____ Challenge-ExtraBold ITC 2086
+ i_____ Champers ITC 2087
+ i_____ CheltenhamHandtooled-Bold ITC 2088
+ i_____ CheltenhamHandtooled-BoldItalic ITC 2089
+ i_____ Cherie ITC 2090
+ i_____ Chiller ITC 2091
+ i_____ Chipper ITC 2092
+ i_____ ChocLightbyITC ITC 2093
+ i_____ Choc ITC 2094
+ i_____ ChromiumOne ITC 2095
+ i_____ Citation ITC 2096
+ i_____ ClaudeSans-Regular ITC 2097
+ i_____ ClaudeSans-Italic ITC 2098
+ i_____ ClaudeSans-BoldItalic ITC 2099
+ i_____ Clover ITC 2100
+ i_____ CommericalScript ITC 2101
+ i_____ Compacta ITC 2102
+ i_____ Compacta-Italic ITC 2103
+ i_____ Compacta-Bold ITC 2104
+ i_____ Coptek ITC 2105
+ i_____ Corinthian-Light ITC 2106
+ i_____ Corinthian-Medium ITC 2107
+ i_____ Corinthian-Bold ITC 2108
+ i_____ Corinthian-BoldCondensed ITC 2109
+ i_____ Crillee-Italic ITC 2110
+ i_____ Crillee-BoldItalic ITC 2111
+ i_____ Crillee-ExtraBoldItalic ITC 2112
+ i_____ Crillee-ItalicInlineShadow ITC 2113
+ i_____ Cult ITC 2114
+ i_____ Cyberkugel ITC 2115
+ i_____ Dancin ITC 2116
+ i_____ Data70 ITC 2117
+ i_____ Demian ITC 2118
+ i_____ DemianBold ITC 2119
+ i_____ DigitalWoodcuts ITC 2120
+ i_____ Digitek ITC 2121
+ i_____ Dinitials ITC 2122
+ i_____ Dolmen ITC 2123
+ i_____ Drycut ITC 2124
+ i_____ DynamoShadow ITC 2125
+ i_____ Eastwood ITC 2126
+ i_____ Edwardian-Medium ITC 2127
+ i_____ EdwardianScript-Regular ITC 2128
+ i_____ EdwardianScript-Bold ITC 2129
+ i_____ Ellipse-Roman ITC 2130
+ i_____ Ellipse-Italic ITC 2131
+ i_____ Ellipse-Bold ITC 2132
+ i_____ Ellipse-BoldItalic ITC 2133
+ i_____ Emphasis ITC 2134
+ i_____ Enviro ITC 2135
+ i_____ Epokha ITC 2136
+ i_____ Equinox ITC 2137
+ i_____ Etruscan ITC 2138
+ i_____ FaithfulFly ITC 2139
+ i_____ Farmhaus ITC 2140
+ i_____ Fashion-Compressed ITC 2141
+ i_____ Fashion-Engraved ITC 2142
+ i_____ FineHand ITC 2143
+ i_____ Flamenco-Inline ITC 2144
+ i_____ Flamme ITC 2145
+ i_____ Flatiron ITC 2146
+ i_____ Flight ITC 2147
+ i_____ Fling ITC 2148
+ i_____ Florinda ITC 2149
+ i_____ Follies ITC 2150
+ i_____ Fontoon ITC 2151
+ i_____ ForestShaded ITC 2152
+ i_____ FrancesUncial ITC 2153
+ i_____ Frankfurter-Medium ITC 2154
+ i_____ Frankfurter ITC 2155
+ i_____ Frankfurter-Highlight ITC 2156
+ i_____ Frankfurter-Inline ITC 2157
+ i_____ Freddo ITC 2158
+ i_____ FreestyleScript ITC 2159
+ i_____ FreestyleScript-Bold ITC 2160
+ i_____ GaramondHandtooled ITC 2161
+ i_____ GaramondHandtooled-Italic ITC 2162
+ i_____ Gigi ITC 2163
+ i_____ Gill-DisplayCompressed ITC 2164
+ i_____ Gill-KayoCondensed ITC 2165
+ i_____ GilliesGothic-ExtraBoldShaded ITC 2166
+ i_____ Glastonbury ITC 2167
+ i_____ GoldenCockerel-InitialsOrnaments ITC 2168
+ i_____ Grapefruit ITC 2169
+ i_____ Gravura ITC 2170
+ i_____ Green ITC 2171
+ i_____ GreytonScript ITC 2172
+ i_____ GrimshawHand ITC 2173
+ i_____ Hadfield ITC 2174
+ i_____ HandDrawn ITC 2175
+ i_____ Harlow ITC 2176
+ i_____ HarlowSolid ITC 2177
+ i_____ Harvey ITC 2178
+ i_____ Hazel ITC 2179
+ i_____ Heliotype ITC 2180
+ i_____ Helvetica-MediumCondensed ITC 2181
+ i_____ Helvetica-BoldCondensed ITC 2182
+ i_____ Highlight ITC 2183
+ i_____ Hollyweird ITC 2184
+ i_____ Hornpype ITC 2185
+ i_____ Ignatius ITC 2186
+ i_____ Impakt ITC 2187
+ i_____ IndyItalic ITC 2188
+ i_____ Informal-Roman ITC 2189
+ i_____ Inscription ITC 2190
+ i_____ Iris ITC 2191
+ i_____ Ironwork ITC 2192
+ i_____ Isis ITC 2193
+ i_____ Jaft ITC 2194
+ i_____ Jambalaya ITC 2195
+ i_____ Jazz ITC 2196
+ i_____ Jellybaby ITC 2197
+ i_____ JohnHandy ITC 2198
+ i_____ Jokerman ITC 2199
+ i_____ Juanita ITC 2200
+ i_____ Juanita-Condensed ITC 2201
+ i_____ Juanita-Deco ITC 2202
+ i_____ Juanita-Lino ITC 2203
+ i_____ Juanita-Xilo ITC 2204
+ i_____ Juanita-XiloCondensed ITC 2205
+ i_____ Juice ITC 2206
+ i_____ Kanban ITC 2207
+ i_____ Katfish ITC 2208
+ i_____ Kendo ITC 2209
+ i_____ Kick ITC 2210
+ i_____ Klee ITC 2211
+ i_____ Klepto ITC 2212
+ i_____ Kokoa ITC 2213
+ i_____ Kristen ITC 2214
+ i_____ Kulukundis ITC 2215
+ i_____ LaBamba ITC 2216
+ i_____ Lambada ITC 2217
+ i_____ Laser ITC 2218
+ i_____ LaserChrome ITC 2219
+ i_____ Latino-Elongated ITC 2220
+ i_____ Laura ITC 2221
+ i_____ LCD ITC 2222
+ i_____ LeGriffe ITC 2223
+ i_____ Lennox-Book ITC 2224
+ i_____ Lennox-Medium ITC 2225
+ i_____ Lennox-Bold ITC 2226
+ i_____ Lexikos ITC 2227
+ i_____ Lightnin' ITC 2228
+ i_____ LimehouseScript ITC 2229
+ i_____ LinoCut ITC 2230
+ i_____ Locarno-Light ITC 2231
+ i_____ Locarno-Italic ITC 2232
+ i_____ RennieMackintosh-Light ITC 2233
+ i_____ RennieMackintosh-Bold ITC 2234
+ i_____ Malibu ITC 2235
+ i_____ Malstock ITC 2236
+ i_____ Marguerita ITC 2237
+ i_____ Mastercard ITC 2238
+ i_____ Matisse ITC 2239
+ i_____ Mekanik-Regular ITC 2240
+ i_____ Mekanik-Italic ITC 2241
+ i_____ Milano ITC 2242
+ i_____ Minska-Light ITC 2243
+ i_____ Minska-Medium ITC 2244
+ i_____ Minska-Bold ITC 2245
+ i_____ Mistral-Light ITC 2246
+ i_____ Mistral ITC 2247
+ i_____ Mithras ITC 2248
+ i_____ MoFunkyFresh ITC 2249
+ i_____ MonaLisa-Recut ITC 2250
+ i_____ MonaLisa-Solid ITC 2251
+ i_____ Montage ITC 2252
+ i_____ MotterCorpus-Bold ITC 2253
+ i_____ MotterCorpus-CondensedBold ITC 2254
+ i_____ Musclehead ITC 2255
+ i_____ Musica ITC 2256
+ i_____ NeoNeo ITC 2257
+ i_____ NoovoLight ITC 2258
+ i_____ NoovoBold ITC 2259
+ i_____ Nora ITC 2260
+ i_____ Oberon ITC 2261
+ i_____ Odessa ITC 2262
+ i_____ OldEnglish ITC 2263
+ i_____ OneStrokeScript ITC 2264
+ i_____ OneStrokeScript-Bold ITC 2265
+ i_____ OneStrokeScript-Shaded ITC 2266
+ i_____ Orange ITC 2267
+ i_____ Orbon-Light ITC 2268
+ i_____ Orbon-Regular ITC 2269
+ i_____ Orbon-Bold ITC 2270
+ i_____ Orbon-Black ITC 2271
+ i_____ Orlando ITC 2272
+ i_____ Outback ITC 2273
+ i_____ OutoftheFridge ITC 2274
+ i_____ Ozwald ITC 2275
+ i_____ Pablo ITC 2276
+ i_____ Papyrus ITC 2277
+ i_____ Party ITC 2278
+ i_____ PendryScript ITC 2279
+ i_____ PetersMiro ITC 2280
+ i_____ Pink ITC 2281
+ i_____ Plaza ITC 2282
+ i_____ PleasureBoldShaded ITC 2283
+ i_____ Pneuma ITC 2284
+ i_____ Prague ITC 2285
+ i_____ Premier-Lightline ITC 2286
+ i_____ Premier-Shaded ITC 2287
+ i_____ Princetown ITC 2288
+ i_____ Pristina ITC 2289
+ i_____ Pritchard ITC 2290
+ i_____ Pritchard-LineOut ITC 2291
+ i_____ Pump-Regular ITC 2292
+ i_____ Pump-DemiBold ITC 2293
+ i_____ Quadrus ITC 2294
+ i_____ Quixley ITC 2295
+ i_____ RageItalic ITC 2296
+ i_____ Ragtime ITC 2297
+ i_____ Rapier ITC 2298
+ i_____ Refracta ITC 2299
+ i_____ RegattaCondensed ITC 2300
+ i_____ RetailScript ITC 2301
+ i_____ Retro-Bold ITC 2302
+ i_____ Retro-BoldCondensed ITC 2303
+ i_____ Riptide ITC 2304
+ i_____ Riva ITC 2305
+ i_____ Robotik ITC 2306
+ i_____ Robotik-Italic ITC 2307
+ i_____ Romic-Light ITC 2308
+ i_____ Romic-LightItalic ITC 2309
+ i_____ Roquette ITC 2310
+ i_____ Ru'ach ITC 2311
+ i_____ RubberStamp ITC 2312
+ i_____ Rundfunk ITC 2313
+ i_____ SantaFe ITC 2314
+ i_____ Savoye ITC 2315
+ i_____ Schizoid ITC 2316
+ i_____ Scratch ITC 2317
+ i_____ Scriba ITC 2318
+ i_____ Scriptease ITC 2319
+ i_____ Scriptek ITC 2320
+ i_____ Scriptek-Italic ITC 2321
+ i_____ Scruff ITC 2322
+ i_____ Serengetti ITC 2323
+ i_____ Shaman ITC 2324
+ i_____ Shatter ITC 2325
+ i_____ Sinaloa ITC 2326
+ i_____ SkidRow ITC 2327
+ i_____ Skylark ITC 2328
+ i_____ Slipstream ITC 2329
+ i_____ Smack ITC 2330
+ i_____ Smudger ITC 2331
+ i_____ Snap ITC 2332
+ i_____ Spirit ITC 2333
+ i_____ Spooky ITC 2334
+ i_____ Spotlight ITC 2335
+ i_____ Squire ITC 2336
+ i_____ Squire-ExtraBold ITC 2337
+ i_____ Static ITC 2338
+ i_____ Stranger ITC 2339
+ i_____ Strobos ITC 2340
+ i_____ StudioScript ITC 2341
+ i_____ Stylus-Regular ITC 2342
+ i_____ Stylus-Bold ITC 2343
+ i_____ Superstar ITC 2344
+ i_____ Surfboard ITC 2345
+ i_____ Synchro ITC 2346
+ i_____ Tag ITC 2347
+ i_____ Tannhauser ITC 2348
+ i_____ Teknik ITC 2349
+ i_____ Telegram ITC 2350
+ i_____ Temble ITC 2351
+ i_____ Tempus-Regular ITC 2352
+ i_____ Tempus-Italic ITC 2353
+ i_____ TempusSans-Regular ITC 2354
+ i_____ TempusSans-Italic ITC 2355
+ i_____ TigerRag ITC 2356
+ i_____ TirantiSolid ITC 2357
+ i_____ Trackpad ITC 2358
+ i_____ TropicaScript ITC 2359
+ i_____ TrueGrit ITC 2360
+ i_____ Twang ITC 2361
+ i_____ Typados ITC 2362
+ i_____ Ulysses ITC 2363
+ i_____ UniversityRoman ITC 2364
+ i_____ UniversityRoman-Italic ITC 2365
+ i_____ UniversityRoman-Bold ITC 2366
+ i_____ VanDijk ITC 2367
+ i_____ VanDijkBold ITC 2368
+ i_____ Varga ITC 2369
+ i_____ Vegas ITC 2370
+ i_____ Verkehr ITC 2371
+ i_____ Vermont ITC 2372
+ i_____ Victorian ITC 2373
+ i_____ Victorian-InlineShaded ITC 2374
+ i_____ ViennaExtended ITC 2375
+ i_____ VinerHand ITC 2376
+ i_____ Vintage ITC 2377
+ i_____ Vinyl-Black ITC 2378
+ i_____ Vinyl-Outline ITC 2379
+ i_____ Vinyl-SawtoothBlack ITC 2380
+ i_____ Vinyl-SawtoothOutline ITC 2381
+ i_____ Vivaldi ITC 2382
+ i_____ WadeSans-Light ITC 2383
+ i_____ Wanted ITC 2384
+ i_____ Waterloo-Bold ITC 2385
+ i_____ Westwood ITC 2386
+ i_____ WildThing ITC 2387
+ i_____ Willow ITC 2388
+ i_____ Wisteria ITC 2389
+ i_____ Xylo ITC 2390
+ i_____ YoungBaroque ITC 2391
+ i_____ Zaragoza ITC 2392
+ i_____ ZemkeHand ITC 2393
+ i_____ Zennor ITC 2394
+ i_____ Ziggy ITC 2395
+ i_____ Zinjaro ITC 2396
+ i_____ MotterSparta ITC 2397
+ i_____ Underscript ITC 2398
+ i_____ Stenberg ITC 2399
+ i_____ Stenberg-Inline ITC 2400
+ i_____ Arid ITC 2401
+ i_____ Tapioca ITC 2402
+ i_____ PiousHenry ITC 2403
+ i_____ Korigan-Light ITC 2404
+ i_____ Korigan-Bold ITC 2405
+ i_____ Abaton ITC 2406
+ i_____ Portago ITC 2407
+ i_____ Blair-Light ITC 2408
+ i_____ Blair-Medium ITC 2409
+ i_____ Blair-Bold ITC 2410
+ i_____ Scarborough ITC 2411
+ i_____ Scarborough-Bold ITC 2412
+ i_____ Gema ITC 2413
+ i_____ Roswell-Three ITC 2414
+ i_____ Roswell-Four ITC 2415
+ i_____ Simran ITC 2416
+ i_____ Tremor ITC 2417
+ i_____ Coconino ITC 2418
+ i_____ Stoclet-Light ITC 2419
+ i_____ Stoclet-Bold ITC 2420
+ i_____ JiggeryPokery ITC 2421
+ i_____ Deelirious ITC 2422
+ i_____ Flora-Medium ITC 2423
+ i_____ Flora-Bold ITC 2424
+ i_____ Manhattan ITC 2425
+ i_____ Attitudes ITC 4000
+ i_____ BackyardBeasties ITC 4001
+ i_____ CalligraphicOrnaments ITC 4002
+ i_____ Celebrations ITC 4003
+ i_____ Commercials ITC 4004
+ i_____ Connectivities ITC 4005
+ i_____ DavesRaves-One ITC 4006
+ i_____ DavesRaves-Two ITC 4007
+ i_____ DavesRaves-Three ITC 4008
+ i_____ Delectables ITC 4009
+ i_____ Diversions ITC 4010
+ i_____ Diversities ITC 4011
+ i_____ Eclectics ITC 4012
+ i_____ Energetics ITC 4013
+ i_____ Expressions ITC 4014
+ i_____ Fontoonies ITC 4015
+ i_____ Gargoonies ITC 4016
+ i_____ HomeImprovement ITC 4017
+ i_____ Incidentals ITC 4018
+ i_____ Industrials ITC 4019
+ i_____ Inspirations ITC 4020
+ i_____ Journeys ITC 4021
+ i_____ MoFunkyFresh-Symbols ITC 4022
+ i_____ Moderns ITC 4023
+ i_____ Naturals ITC 4024
+ i_____ Organics ITC 4025
+ i_____ Organics-Two ITC 4026
+ i_____ Primitives ITC 4027
+ i_____ Radicals ITC 4028
+ i_____ Situations ITC 4029
+ i_____ StainedGlass ITC 4030
+ i_____ TotSpots ITC 4031
+ i_____ Urbans ITC 4032
+ i_____ WellBeings ITC 4033
+ i_____ Wildlife ITC 4034
+ i_____ WildWest ITC 4035
+ i_____ Ancestor ITC 4036
+ i_____ Shadowettes ITC 4037
+ i_____ Beorama ITC 4038
+ i_____ Holistics ITC 4039
+ i_____ ProfessionalConnections ITC 4040
+ i_____ Bodoni-Ornaments ITC 5000
+ i_____ RennieMackintosh-Ornaments ITC 5002
+ i_____ TypeEmbellishments-One ITC 5003
+ i_____ TypeEmbellishments-Two ITC 5004
+ i_____ TypeEmbellishments-Three ITC 5005
+ i_____ JapaneseGarden ITC 5006
+ i_____ SevenTreasures ITC 5007
+ i_____ BodoniSix-Book ITC 6000
+ i_____ BodoniSix-BookItalic ITC 6001
+ i_____ BodoniSix-Bold ITC 6002
+ i_____ BodoniSix-BoldItalic ITC 6003
+ i_____ BodoniTwelve-Book ITC 6004
+ i_____ BodoniTwelve-BookItalic ITC 6005
+ i_____ BodoniTwelve-Bold ITC 6006
+ i_____ BodoniTwelve-BoldItalic ITC 6007
+ i_____ Charlotte-Book ITC 6008
+ i_____ Charlotte-BookItalic ITC 6009
+ i_____ Charlotte-Medium ITC 6010
+ i_____ Charlotte-Bold ITC 6011
+ i_____ Charter-Regular ITC 6012
+ i_____ Charter-RegularItalic ITC 6013
+ i_____ Charter-Bold ITC 6014
+ i_____ Charter-BoldItalic ITC 6015
+ i_____ Charter-Black ITC 6016
+ i_____ Charter-BlackItalic ITC 6017
+ i_____ Elysium-Book ITC 6018
+ i_____ Elysium-BookItalic ITC 6019
+ i_____ Elysium-Medium ITC 6020
+ i_____ Elysium-Bold ITC 6021
+ i_____ Figural-Book ITC 6022
+ i_____ Figural-BookItalic ITC 6023
+ i_____ Figural-Medium ITC 6024
+ i_____ Figural-Bold ITC 6025
+ i_____ FrizQuadrata-Regular ITC 6026
+ i_____ FrizQuadrata-Italic ITC 6027
+ i_____ FrizQuadrata-Bold ITC 6028
+ i_____ FrizQuadrata-BoldItalic ITC 6029
+ i_____ Gilgamesh-Book ITC 6030
+ i_____ Gilgamesh-BookItalic ITC 6031
+ i_____ Gilgamesh-Medium ITC 6032
+ i_____ Gilgamesh-Bold ITC 6033
+ i_____ GoldenCockerel-Roman ITC 6034
+ i_____ GoldenCockerel-Italic ITC 6035
+ i_____ GoldenCockerel-Titling ITC 6036
+ i_____ Humana-Light ITC 6037
+ i_____ Humana-LightItalic ITC 6038
+ i_____ Humana-Medium ITC 6039
+ i_____ Humana-MediumItalic ITC 6040
+ i_____ Humana-Bold ITC 6041
+ i_____ Humana-BoldItalic ITC 6042
+ i_____ HumanaScript-Light ITC 6043
+ i_____ HumanaScript-Medium ITC 6044
+ i_____ HumanaScript-Bold ITC 6045
+ i_____ Kallos-Book ITC 6046
+ i_____ Kallos-BookItalic ITC 6047
+ i_____ Kallos-Medium ITC 6048
+ i_____ Kallos-MediumItalic ITC 6049
+ i_____ Kallos-Bold ITC 6050
+ i_____ Kallos-BoldItalic ITC 6051
+ i_____ LegacySerif-Book ITC 6052
+ i_____ LegacySerif-BookItalic ITC 6053
+ i_____ LegacySerif-Medium ITC 6054
+ i_____ LegacySerif-MediumItalic ITC 6055
+ i_____ LegacySerif-Bold ITC 6056
+ i_____ LegacySerif-BoldItalic ITC 6057
+ i_____ LegacySerif-Ultra ITC 6058
+ i_____ MendozaRoman-Book ITC 6059
+ i_____ MendozaRoman-BookItalic ITC 6060
+ i_____ MendozaRoman-Medium ITC 6061
+ i_____ MendozaRoman-MediumItalic ITC 6062
+ i_____ MendozaRoman-Bold ITC 6063
+ i_____ MendozaRoman-BoldItalic ITC 6064
+ i_____ Obelisk-Light ITC 6065
+ i_____ Obelisk-LightItalic ITC 6066
+ i_____ Obelisk-Medium ITC 6067
+ i_____ Obelisk-Bold ITC 6068
+ i_____ OfficinaSerif-Book ITC 6069
+ i_____ OfficinaSerif-BookItalic ITC 6070
+ i_____ OfficinaSerif-Bold ITC 6071
+ i_____ OfficinaSerif-BoldItalic ITC 6072
+ i_____ StoneInformal-Medium ITC 6073
+ i_____ StoneInformal-MediumItalic ITC 6074
+ i_____ StoneInformal-SemiBold ITC 6075
+ i_____ StoneInformal-SemiBoldItalic ITC 6076
+ i_____ StoneInformal-Bold ITC 6077
+ i_____ StoneInformal-BoldItalic ITC 6078
+ i_____ StoneSerif-Medium ITC 6079
+ i_____ StoneSerif-MediumItalic ITC 6080
+ i_____ StoneSerif-SemiBold ITC 6081
+ i_____ StoneSerif-SemiBoldItalic ITC 6082
+ i_____ StoneSerif-Bold ITC 6083
+ i_____ StoneSerif-BoldItalic ITC 6084
+ i_____ Syndor-Book ITC 6085
+ i_____ Syndor-BookItalic ITC 6086
+ i_____ Syndor-Medium ITC 6087
+ i_____ Syndor-MediumItalic ITC 6088
+ i_____ Syndor-Bold ITC 6089
+ i_____ Syndor-BoldItalic ITC 6090
+ i_____ Tyfa-Book ITC 6091
+ i_____ Tyfa-BookItalic ITC 6092
+ i_____ Tyfa-Medium ITC 6093
+ i_____ Tyfa-MediumItalic ITC 6094
+ i_____ Tyfa-Bold ITC 6095
+ i_____ Tyfa-BoldItalic ITC 6096
+ i_____ OfficinaSerif-Medium ITC 6097
+ i_____ OfficinaSerif-MediumItalic ITC 6098
+ i_____ OfficinaSerif-ExtraBold ITC 6099
+ i_____ OfficinaSerif-ExtraBoldItalic ITC 6100
+ i_____ OfficinaSerif-Black ITC 6101
+ i_____ OfficinaSerif-BlackItalic ITC 6102
+ i_____ SerifGothic-Light ITC 6103
+ i_____ SerifGothic-Regular ITC 6104
+ i_____ SerifGothic-Bold ITC 6105
+ i_____ SerifGothic-ExtraBold ITC 6106
+ i_____ SerifGothic-Heavy ITC 6107
+ i_____ SerifGothic-Black ITC 6108
+ i_____ AmericanTypewriter-Light ITC 6109
+ i_____ AmericanTypewriter-LightItalic ITC 6110
+ i_____ AmericanTypewriter-Medium ITC 6111
+ i_____ AmericanTypewriter-MediumItalic ITC 6112
+ i_____ AmericanTypewriter-Bold ITC 6113
+ i_____ AmericanTypewriter-BoldItalic ITC 6114
+ i_____ AmericanTypewriter-CondLight ITC 6115
+ i_____ AmericanTypewriter-CondMedium ITC 6116
+ i_____ AmericanTypewriter-CondBold ITC 6117
+ i_____ LubalinGraph-ExtraLight ITC 6118
+ i_____ LubalinGraph-ExtraLightOblique ITC 6119
+ i_____ LubalinGraph-Book ITC 6120
+ i_____ LubalinGraph-BookOblique ITC 6121
+ i_____ LubalinGraph-Medium ITC 6122
+ i_____ LubalinGraph-MediumOblique ITC 6123
+ i_____ LubalinGraph-Demi ITC 6124
+ i_____ LubalinGraph-DemiOblique ITC 6125
+ i_____ LubalinGraph-Bold ITC 6126
+ i_____ LubalinGraph-BoldOblique ITC 6127
+ i_____ Benguiat-Book ITC 6128
+ i_____ Benguiat-BookItalic ITC 6129
+ i_____ Benguiat-Medium ITC 6130
+ i_____ Benguiat-MediumItalic ITC 6131
+ i_____ Benguiat-Bold ITC 6132
+ i_____ Benguiat-BoldItalic ITC 6133
+ i_____ Benguiat-CondensedBook ITC 6134
+ i_____ Benguiat-CondensedBookItalic ITC 6135
+ i_____ Benguiat-CondensedMedium ITC 6136
+ i_____ Benguiat-CondensedMediumItalic ITC 6137
+ i_____ Benguiat-CondensedBold ITC 6138
+ i_____ Benguiat-CondensedBoldItalic ITC 6139
+ i_____ Korinna-Regular ITC 6140
+ i_____ Korinna-KursivRegular ITC 6141
+ i_____ Korinna-Bold ITC 6142
+ i_____ Korinna-KursivBold ITC 6143
+ i_____ Korinna-ExtraBold ITC 6144
+ i_____ Korinna-KursivExtraBold ITC 6145
+ i_____ Korinna-Heavy ITC 6146
+ i_____ Korinna-KursivHeavy ITC 6147
+ i_____ Souvenir-Light ITC 6148
+ i_____ Souvenir-LightItalic ITC 6149
+ i_____ Souvenir-Medium ITC 6150
+ i_____ Souvenir-MediumItalic ITC 6151
+ i_____ Souvenir-Demi ITC 6152
+ i_____ Souvenir-DemiItalic ITC 6153
+ i_____ Souvenir-Bold ITC 6154
+ i_____ Souvenir-BoldItalic ITC 6155
+ i_____ Caslon224-Book ITC 6156
+ i_____ Caslon224-BookItalic ITC 6157
+ i_____ Caslon224-Medium ITC 6158
+ i_____ Caslon224-MediumItalic ITC 6159
+ i_____ Caslon224-Bold ITC 6160
+ i_____ Caslon224-BoldItalic ITC 6161
+ i_____ Caslon224-Black ITC 6162
+ i_____ Caslon224-BlackItalic ITC 6163
+ i_____ LubalinGraph-CondBook ITC 6164
+ i_____ LubalinGraph-CondBookOblique ITC 6165
+ i_____ LubalinGraph-CondMedium ITC 6166
+ i_____ LubalinGraph-CondMediumOblique ITC 6167
+ i_____ LubalinGraph-CondDemi ITC 6168
+ i_____ LubalinGraph-CondDemiOblique ITC 6169
+ i_____ LubalinGraph-CondBold ITC 6170
+ i_____ LubalinGraph-CondBoldOblique ITC 6171
+ i_____ Galliard-Regular ITC 6172
+ i_____ Galliard-Italic ITC 6173
+ i_____ Galliard-Bold ITC 6174
+ i_____ Galliard-BoldItalic ITC 6175
+ i_____ Galliard-Black ITC 6176
+ i_____ Galliard-BlackItalic ITC 6177
+ i_____ Galliard-Ultra ITC 6178
+ i_____ Galliard-UltraItalic ITC 6179
+ i_____ Dyadis-Book ITC 6180
+ i_____ Dyadis-BookItalic ITC 6181
+ i_____ Dyadis-Medium ITC 6182
+ i_____ Dyadis-MediumItalic ITC 6183
+ i_____ Dyadis-Bold ITC 6184
+ i_____ Dyadis-BoldItalic ITC 6185
+ i_____ BaileySans-Book ITC 8000
+ i_____ BaileySans-BookItalic ITC 8001
+ i_____ BaileySans-Bold ITC 8002
+ i_____ BaileySans-BoldItalic ITC 8003
+ i_____ Charlotte-SansBook ITC 8004
+ i_____ Charlotte-SansBookItalic ITC 8005
+ i_____ Charlotte-SansMedium ITC 8006
+ i_____ Charlotte-SansBold ITC 8007
+ i_____ Conduit-Light ITC 8008
+ i_____ Conduit-LightItalic ITC 8009
+ i_____ Conduit-Medium ITC 8010
+ i_____ Conduit-MediumItalic ITC 8011
+ i_____ Conduit-Bold ITC 8012
+ i_____ Conduit-BoldItalic ITC 8013
+ i_____ Highlander-Book ITC 8014
+ i_____ Highlander-BookItalic ITC 8015
+ i_____ Highlander-Medium ITC 8016
+ i_____ Highlander-MediumItalic ITC 8017
+ i_____ Highlander-Bold ITC 8018
+ i_____ Highlander-BoldItalic ITC 8019
+ i_____ HumanaSans-Light ITC 8020
+ i_____ HumanaSans-LightItalic ITC 8021
+ i_____ HumanaSans-Medium ITC 8022
+ i_____ HumanaSans-MediumItalic ITC 8023
+ i_____ HumanaSans-Bold ITC 8024
+ i_____ HumanaSans-BoldItalic ITC 8025
+ i_____ LegacySans-Book ITC 8026
+ i_____ LegacySans-BookItalic ITC 8027
+ i_____ LegacySans-Medium ITC 8028
+ i_____ LegacySans-MediumItalic ITC 8029
+ i_____ LegacySans-Bold ITC 8030
+ i_____ LegacySans-BoldItalic ITC 8031
+ i_____ LegacySans-Ultra ITC 8032
+ i_____ Odyssee-Light ITC 8033
+ i_____ Odyssee-LightItalic ITC 8034
+ i_____ Odyssee-Medium ITC 8035
+ i_____ Odyssee-MediumItalic ITC 8036
+ i_____ Odyssee-Bold ITC 8037
+ i_____ Odyssee-BoldItalic ITC 8038
+ i_____ Odyssee-Ultra ITC 8039
+ i_____ OfficinaSans-Book ITC 8040
+ i_____ OfficinaSans-BookItalic ITC 8041
+ i_____ OfficinaSans-Bold ITC 8042
+ i_____ OfficinaSans-BoldItalic ITC 8043
+ i_____ StoneSans-Medium ITC 8044
+ i_____ StoneSans-MediumItalic ITC 8045
+ i_____ StoneSans-SemiBold ITC 8046
+ i_____ StoneSans-SemiBoldItalic ITC 8047
+ i_____ StoneSans-Bold ITC 8048
+ i_____ StoneSans-BoldItalic ITC 8049
+ i_____ Woodland-Light ITC 8050
+ i_____ Woodland-Medium ITC 8051
+ i_____ Woodland-Demi ITC 8052
+ i_____ Woodland-Heavy ITC 8053
+ i_____ OfficinaSans-Medium ITC 8054
+ i_____ OfficinaSans-MediumItalic ITC 8055
+ i_____ OfficinaSans-ExtraBold ITC 8056
+ i_____ OfficinaSans-ExtraBoldItalic ITC 8057
+ i_____ OfficinaSans-Black ITC 8058
+ i_____ AvantGardeGothic-ExtraLight ITC 8059
+ i_____ AvantGardeGothic-ExtraLightObl ITC 8060
+ i_____ AvantGardeGothic-Book ITC 8061
+ i_____ AvantGardeGothic-BookOblique ITC 8062
+ i_____ AvantGardeGothic-Medium ITC 8063
+ i_____ AvantGardeGothic-MediumOblique ITC 8064
+ i_____ AvantGardeGothic-Demi ITC 8065
+ i_____ AvantGardeGothic-DemiOblique ITC 8066
+ i_____ AvantGardeGothic-Bold ITC 8067
+ i_____ AvantGardeGothic-BoldOblique ITC 8068
+ i_____ FranklinGothic-Book ITC 8069
+ i_____ FranklinGothic-BookItalic ITC 8070
+ i_____ FranklinGothic-Medium ITC 8071
+ i_____ FranklinGothic-MediumItalic ITC 8072
+ i_____ FranklinGothic-Demi ITC 8073
+ i_____ FranklinGothic-DemiItalic ITC 8074
+ i_____ FranklinGothic-Heavy ITC 8075
+ i_____ FranklinGothic-HeavyItalic ITC 8076
+ i_____ FranklinGothic-CondBook ITC 8077
+ i_____ FranklinGothic-CondBookItal ITC 8078
+ i_____ FranklinGothic-CondMedium ITC 8079
+ i_____ FranklinGothic-CondMediumItal ITC 8080
+ i_____ FranklinGothic-CondDemi ITC 8081
+ i_____ FranklinGothic-CondDemiItal ITC 8082
+ i_____ FranklinGothic-ComprBook ITC 8083
+ i_____ FranklinGothic-ComprBookItal ITC 8084
+ i_____ FranklinGothic-ComprDemi ITC 8085
+ i_____ FranklinGothic-ComprDemiItal ITC 8086
+ i_____ FranklinGothic-ExtraComprBook ITC 8087
+ i_____ FranklinGothic-ExtraComprDemi ITC 8088
+ i_____ OfficinaSans-BlackItalic ITC 8089
+ i_____ BenguiatGothic-Book ITC 8090
+ i_____ BenguiatGothic-BookItalic ITC 8091
+ i_____ BenguiatGothic-Medium ITC 8092
+ i_____ BenguiatGothic-MediumItalic ITC 8093
+ i_____ BenguiatGothic-Bold ITC 8094
+ i_____ BenguiatGothic-BoldItalic ITC 8095
+ i_____ BenguiatGothic-Heavy ITC 8096
+ i_____ BenguiatGothic-HeavyItalic ITC 8097
+ i_____ ItcEras-Light ITC 8098
+ i_____ ItcEras-Book ITC 8099
+ i_____ ItcEras-Medium ITC 8100
+ i_____ ItcEras-Demi ITC 8101
+ i_____ ItcEras-Bold ITC 8102
+ i_____ ItcEras-Ultra ITC 8103
+ i_____ AvantGardeGothic-CondBook ITC 8104
+ i_____ AvantGardeGothic-CondMedium ITC 8105
+ i_____ AvantGardeGothic-CondDemiBold ITC 8106
+ i_____ AvantGardeGothic-CondBold ITC 8107
+ i_____ ItcKabel-Book ITC 8108
+ i_____ ItcKabel-Medium ITC 8109
+ i_____ ItcKabel-Demi ITC 8110
+ i_____ ItcKabel-Bold ITC 8111
+ i_____ ItcKabel-Ultra ITC 8112
+
+
+File: fontname.info, Node: Linotype fonts, Next: Monotype fonts, Prev: ITC fonts, Up: Font name lists
+
+A.7 Linotype fonts
+==================
+
+The `linotype.map' file has abbreviations for Linotype fonts.
+
+ l_____ Aachen-Bold 1.0
+ l_____ AachenEF-Medium 1.1
+ l_____ AachenEF-Bold 1.2
+ l_____ AharoniEF-RegularHd 2.0
+ l_____ AharoniEF-MediumHd 2.1
+ l_____ AharoniEF-SemiBoldHd 2.2
+ l_____ AharoniEF-BoldHd 2.3
+ l_____ AharoniEF-ExtraBoldHd 2.4
+ l_____ AharoniEF-OutlineHd 2.5
+ l_____ AharoniEF-ShadowHD 2.6
+ l_____ Aja 3.0
+ l_____ AkzidenzGrotesk-Light 4.0
+ l_____ AkzidenzGrotesk-Roman 4.1
+ l_____ AkzidenzGrotesk-Bold 4.2
+ l_____ AkzidenzGrotesk-Black 4.3
+ l_____ AkzidenzGroteskBE-Light 4.4
+ l_____ AkzidenzGroteskBE-LightOsF 4.5
+ l_____ AkzidenzGroteskBE-Regular 4.6
+ l_____ AkzidenzGroteskBE-Italic 4.7
+ l_____ AkzidenzGroteskBE-Md 4.8
+ l_____ AkzidenzGroteskBE-MdIt 4.9
+ l_____ AkzidenzGroteskBE-Bold 4.10
+ l_____ AkzidenzGroteskBE-BoldIt 4.11
+ l_____ AkzidenzGroteskBE-XBd 4.12
+ l_____ AkzidenzGroteskBE-Super 4.13
+ l_____ AkzidenzGroteskBE-LightCn 4.14
+ l_____ AkzidenzGroteskBE-Cn 4.15
+ l_____ AkzidenzGroteskBE-MdCn 4.16
+ l_____ AkzidenzGroteskBE-MdCnIt 4.17
+ l_____ AkzidenzGroteskBE-BoldCn 4.18
+ l_____ AkzidenzGroteskBE-XBdCn 4.19
+ l_____ AkzidenzGroteskBE-XBdCnIt 4.20
+ l_____ AkzidenzGroteskBE-LightEx 4.21
+ l_____ AkzidenzGroteskBE-Ex 4.22
+ l_____ AkzidenzGroteskBE-MdEx 4.23
+ l_____ AkzidenzGroteskBE-BoldEx 4.24
+ l_____ AkzidenzGroteskBE-BoldExIt 4.25
+ l_____ AGBookRounded-Regular 4.26
+ l_____ AGBookRounded-Medium 4.27
+ l_____ AGBookRounded-Bold 4.28
+ l_____ AGBookRounded-MediumOutline 4.29
+ l_____ AGBookRounded-BoldOutline 4.30
+ l_____ AGBookRounded-BoldCn 4.31
+ l_____ AGBookRounded-BoldCnOutline 4.32
+ l_____ AGBook-Stencil 4.33
+ l_____ AGOldFace-Regular 4.34
+ l_____ AGOldFace-Medium 4.35
+ l_____ AGOldFace-Bold 4.36
+ l_____ AGOldFace-Outline 4.37
+ l_____ AGOldFace-BoldOutline 4.38
+ l_____ AGOldFace-Shaded 4.39
+ l_____ AGSchoolbook-Regular 4.40
+ l_____ AGSchoolbook-RegularA 4.41
+ l_____ AGSchoolbook-Medium 4.42
+ l_____ AGSchoolbook-MediumA 4.43
+ l_____ AlcuinEF-Light 5.0
+ l_____ AlcuinEF-Regular 5.1
+ l_____ AlcuinEF-Bold 5.2
+ l_____ AlcuinEF-ExtraBold 5.3
+ l_____ Aldus-Roman 6.0
+ l_____ Aldus-RomanSC 6.1
+ l_____ Aldus-Italic 6.2
+ l_____ Aldus-ItalicOsF 6.3
+ l_____ AleOrnamentsRotatoLL 7.0
+ l_____ AleOrnamentsSpiratoLL 7.1
+ l_____ AlexieLL 8.0
+ l_____ AlteSchwabacherEF 9.0
+ l_____ AlternateGothicEF-NoOne 10.0
+ l_____ AlternateGothicEF-NoTwo 10.1
+ l_____ AlternateGothicEF-NoThree 10.2
+ l_____ AmericanUncialEF 11.0
+ l_____ Americana 12.0
+ l_____ Americana-Italic 12.1
+ l_____ Americana-Bold 12.2
+ l_____ Americana-ExtraBold 12.3
+ l_____ AmericanaEF-Regular 12.4
+ l_____ AmericanaEF-RegularItalic 12.5
+ l_____ AmericanaEF-Bold 12.6
+ l_____ AmericanaEF-ExtraBold 12.7
+ l_____ AnnlieEF-ExtraBold 14.0
+ l_____ AnnlieEF-ExtraBoldItalic 14.1
+ l_____ AntiqueOlive-Light 15.0
+ l_____ AntiqueOlive-Roman 15.1
+ l_____ AntiqueOlive-Italic 15.2
+ l_____ AntiqueOlive-Bold 15.3
+ l_____ AntiqueOlive-Black 15.4
+ l_____ AntiqueOlive-BoldCond 15.5
+ l_____ AntiqueOlive-Compact 15.6
+ l_____ AntiqueOlive-Nord 15.7
+ l_____ AntiqueOlive-NordItalic 15.8
+ l_____ AntiqueOliveCE-Light 15.9
+ l_____ AntiqueOliveCE-Roman 15.10
+ l_____ AntiqueOliveCE-Italic 15.11
+ l_____ AntiqueOliveCE-Bold 15.12
+ l_____ AntiqueOliveCE-Black 15.13
+ l_____ AntiqueOliveEastA-Light 15.14
+ l_____ AntiqueOliveEastA-Roman 15.15
+ l_____ AntiqueOliveEastA-Italic 15.16
+ l_____ AntiqueOliveEastA-Bold 15.17
+ l_____ AntiqueOliveEastA-Black 15.18
+ l_____ ApolloMT-Roman 16.0
+ l_____ ApolloMT-RomanSC 16.1
+ l_____ ApolloMT-RomanExpert 16.2
+ l_____ ApolloMT-Italic 16.3
+ l_____ ApolloMT-ItalicOsF 16.4
+ l_____ ApolloMT-ItalicExpert 16.5
+ l_____ ApolloMT-SemiBold 16.6
+ l_____ ApolloMT-SemiBoldOsF 16.7
+ l_____ ApolloMT-SemiBoldExpert 16.8
+ l_____ Arcadia 17.0
+ l_____ Arcadia-Alternate 17.1
+ l_____ Ariadne-Roman 18.0
+ l_____ Arioso 19.0
+ l_____ Arkona-Regular 20.0
+ l_____ Arkona-Medium 20.1
+ l_____ ArnoldBoecklin 21.0
+ l_____ AshleyScriptMT 22.0
+ l_____ NewAster 23.0
+ l_____ NewAster-Italic 23.1
+ l_____ NewAster-SemiBold 23.2
+ l_____ NewAster-SemiBoldItalic 23.3
+ l_____ NewAster-Bold 23.4
+ l_____ NewAster-BoldItalic 23.5
+ l_____ NewAster-Black 23.6
+ l_____ NewAster-BlackItalic 23.7
+ l_____ AsterEF-Regular 23.8
+ l_____ AsterEF-RegularItalic 23.9
+ l_____ AsterEF-Medium 23.10
+ l_____ AureliaEF-Light 24.0
+ l_____ AureliaEF-LightItalic 24.1
+ l_____ AureliaEF-Book 24.2
+ l_____ AureliaEF-BookItalic 24.3
+ l_____ AureliaEF-Bold 24.4
+ l_____ Auriol 25.0
+ l_____ Auriol-Italic 25.1
+ l_____ Auriol-Bold 25.2
+ l_____ Auriol-BoldItalic 25.3
+ l_____ Auriol-Black 25.4
+ l_____ Auriol-BlackItalic 25.5
+ l_____ BalderLL 28.0
+ l_____ BalloonEF-ExtraBold 29.0
+ l_____ BalloonEF-DropShadow 29.1
+ l_____ BalmoralEF-Regular 30.0
+ l_____ BalmoralEF-Alternative 30.1
+ l_____ Banco 31.0
+ l_____ BarbedorEF-Regular 32.0
+ l_____ BarbedorEF-RegularItalic 32.1
+ l_____ BarbedorEF-Medium 32.2
+ l_____ BarbedorEF-MediumItalic 32.3
+ l_____ BarbedorEF-Bold 32.4
+ l_____ BarbedorEF-BoldItalic 32.5
+ l_____ BarbedorEF-Black 32.6
+ l_____ BarbedorEF-BlackItalic 32.7
+ l_____ BaskervilleCyr-Upright 33.0
+ l_____ BaskervilleCyr-Inclined 33.1
+ l_____ BaskervilleCyr-Bold 33.2
+ l_____ BaskervilleGreek-Upright 33.3
+ l_____ BaskervilleGreek-Inclined 33.4
+ l_____ BaskervilleGreek-Bold 33.5
+ l_____ BaskervilleGreekP-Upright 33.6
+ l_____ BaskervilleGreekP-Inclined 33.7
+ l_____ BaskervilleGreekP-Bold 33.8
+ l_____ BaskervilleEF-Regular 33.9
+ l_____ BaskervilleEF-RegularItalic 33.10
+ l_____ BaskervilleEF-Medium 33.11
+ l_____ BaskervilleBE-Regular 33.12
+ l_____ BaskervilleBE-Italic 33.13
+ l_____ BaskervilleBE-Medium 33.14
+ l_____ BaskervilleBE-MediumItalic 33.15
+ l_____ BaskervilleBE-Bold 33.16
+ l_____ NewBaskerville-Roman 33.17
+ l_____ NewBaskerville-SC 33.18
+ l_____ NewBaskerville-Italic 33.19
+ l_____ NewBaskerville-ItalicOsF 33.20
+ l_____ NewBaskerville-Bold 33.21
+ l_____ NewBaskerville-BoldSC 33.22
+ l_____ NewBaskerville-BoldItalic 33.23
+ l_____ NewBaskerville-BoldItalicOsF 33.24
+ l_____ NewBaskervilleEF-Roman 33.25
+ l_____ NewBaskervilleEF-Italic 33.26
+ l_____ NewBaskervilleEF-SemiBold 33.27
+ l_____ NewBaskervilleEF-SemiBoldItalic 33.28
+ l_____ NewBaskervilleEF-Bold 33.29
+ l_____ NewBaskervilleEF-BoldItalic 33.30
+ l_____ NewBaskervilleEF-Black 33.31
+ l_____ NewBaskervilleEF-BlackItalic 33.32
+ l_____ BaskervilleBook-Regular 33.33
+ l_____ BaskervilleBook-Italic 33.34
+ l_____ BaskervilleBook-Medium 33.35
+ l_____ BaskervilleBook-MedItalic 33.36
+ l_____ BaskervilleOldFaceEF 33.37
+ l_____ AfroditeKATEF-Filly 34.0
+ l_____ AfroditeKATEF-Ready 34.1
+ l_____ AfroditeKATEF-Funky 34.2
+ l_____ BadblocksEF 34.3
+ l_____ BeatEF-BackBeat 34.4
+ l_____ BeatEF-HardBeat 34.5
+ l_____ BloxxEF 34.6
+ l_____ BornFreeKATEF-Hungry 34.7
+ l_____ BornFreeKATEF-Fed 34.8
+ l_____ BrushableEF 34.9
+ l_____ CandyEF 34.10
+ l_____ ComancheEF 34.11
+ l_____ CrazeEF 34.12
+ l_____ DoublePacEF-Scrambled 34.13
+ l_____ EastsideEF-Regular 34.14
+ l_____ EastsideEF-Double 34.15
+ l_____ FutureWorldEF 34.16
+ l_____ ItKATEF 34.17
+ l_____ JameKATEF-Black 34.18
+ l_____ JameKATEF-White 34.19
+ l_____ KiddingKidEF 34.20
+ l_____ KnockoutEF 34.21
+ l_____ LittleJoeKATEF-Black 34.22
+ l_____ LittleJoeKATEF-White 34.23
+ l_____ MaoMaoEF 34.24
+ l_____ MaydayEF 34.25
+ l_____ MiroEF 34.26
+ l_____ MrsBeasleyEF 34.27
+ l_____ NiniveEF 34.28
+ l_____ RumourEF 34.29
+ l_____ SiouxEF 34.30
+ l_____ StayawhileEF 34.31
+ l_____ SteelPlateEF 34.32
+ l_____ TieriliEF 34.33
+ l_____ TruckEF 34.34
+ l_____ TwinPickEF-Hard 34.35
+ l_____ XabbieEF 34.36
+ l_____ BellGothic-Light 36.0
+ l_____ BellGothic-Bold 36.1
+ l_____ BellGothic-Black 36.2
+ l_____ BelugaLL 37.0
+ l_____ Berling-Roman 38.0
+ l_____ Berling-Italic 38.1
+ l_____ Berling-Bold 38.2
+ l_____ Berling-BoldItalic 38.3
+ l_____ BerlingEF-Regular 38.4
+ l_____ BerlingEF-RegularItalic 38.5
+ l_____ BerlingEF-Bold 38.6
+ l_____ BernhardEF-Antique 39.1
+ l_____ BernhardEF-Fashion 39.2
+ l_____ BernhardModern-Roman 39.3
+ l_____ BernhardModern-Italic 39.4
+ l_____ BernhardModern-Bold 39.5
+ l_____ BernhardModern-BoldItalic 39.6
+ l_____ BernhardSchoenschriftEF-Light 39.7
+ l_____ BernhardSchoenschriftEF-Regular 39.8
+ l_____ BertholdScript-Regular 40.0
+ l_____ BertholdScript-Medium 40.1
+ l_____ BetonEF-Light 41.0
+ l_____ BetonEF-DemiBold 41.1
+ l_____ BetonEF-Bold 41.2
+ l_____ BetonEF-ExtraBold 41.3
+ l_____ BetonEF-BoldCondensed 41.4
+ l_____ BibleScriptEF-Regular 42.0
+ l_____ BibleScriptEF-Alternates 42.1
+ l_____ BibleScriptEF-Flourishes 42.2
+ l_____ Blackoak 43.0
+ l_____ BlippoBlackEF 44.0
+ l_____ BottleneckEF 45.0
+ l_____ BramleyEF-Light 46.0
+ l_____ BramleyEF-Medium 46.1
+ l_____ BramleyEF-Bold 46.2
+ l_____ BramleyEF-ExtraBold 46.3
+ l_____ BrightonEF-Light 47.0
+ l_____ BrightonEF-LightItalic 47.1
+ l_____ BrightonEF-Medium 47.2
+ l_____ BrightonEF-Bold 47.3
+ lpi___ BundesbahnPi-One 48.0
+ lpi___ BundesbahnPi-Two 48.1
+ lpi___ BundesbahnPi-Three 48.2
+ l_____ BusterEF 49.0
+ l_____ CandiceEF 50.0
+ lpi___ CaravanLH-One 51.0
+ lpi___ CaravanLH-Two 51.1
+ lpi___ CaravanLH-Three 51.2
+ lpi___ CaravanLH-Four 51.3
+ l_____ CascadeScript 52.0
+ l_____ CashEF-Monospace 53.0
+ l_____ CastellarMT 54.0
+ l_____ Charlemagne-Regular 55.0
+ l_____ Charlemagne-Bold 55.1
+ l_____ Christiana-Regular 57.0
+ l_____ Christiana-RegularSC 57.1
+ l_____ Christiana-RegularExpert 57.2
+ l_____ Christiana-Italic 57.3
+ l_____ Christiana-Medium 57.4
+ l_____ Christiana-MediumItalic 57.5
+ l_____ Christiana-Bold 57.6
+ l_____ Christiana-BoldItalic 57.7
+ l_____ ChwastBuffalo-BlackCond 58.0
+ l_____ CirkulusEF 59.0
+ l_____ Clairvaux 60.0
+ l_____ Clairvaux-Dfr 60.1
+ l_____ Clearface-Regular 61.0
+ l_____ Clearface-RegularItalic 61.1
+ l_____ Clearface-Bold 61.2
+ l_____ Clearface-BoldItalic 61.3
+ l_____ Clearface-Heavy 61.4
+ l_____ Clearface-HeavyItalic 61.5
+ l_____ Clearface-Black 61.6
+ l_____ Clearface-BlackItalic 61.7
+ l_____ ClearfaceEF-Regular 61.8
+ l_____ ClearfaceEF-RegularItalic 61.9
+ l_____ ClearfaceEF-Bold 61.10
+ l_____ ClearfaceEF-BoldItalic 61.11
+ l_____ ClearfaceEF-Heavy 61.12
+ l_____ ClearfaceEF-HeavyItalic 61.13
+ l_____ ClearfaceEF-Black 61.14
+ l_____ ClearfaceEF-BlackItalic 61.15
+ l_____ ClearfaceGothicLH-Light 61.16
+ l_____ ClearfaceGothicLH-Roman 61.17
+ l_____ ClearfaceGothicLH-Medium 61.18
+ l_____ ClearfaceGothicLH-Bold 61.19
+ l_____ ClearfaceGothicLH-Black 61.20
+ l_____ ClearfaceGothicEF-Regular 61.21
+ l_____ ClearfaceGothicEF-Bold 61.22
+ l_____ ClearfaceGothicEF-ExtraBold 61.23
+ l_____ CloisterOpenFace 62.0
+ l_____ Cochin 63.0
+ l_____ Cochin-Italic 63.1
+ l_____ Cochin-Bold 63.2
+ l_____ Cochin-BoldItalic 63.3
+ l_____ Codex 64.0
+ l_____ ColumnaEF-Solid 65.0
+ l_____ ComeniusAntiqua-Regular 66.0
+ l_____ ComeniusAntiqua-Italic 66.1
+ l_____ ComeniusAntiqua-Medium 66.2
+ l_____ ComeniusAntiqua-Bold 66.3
+ l_____ CommercialScriptEF 67.0
+ l_____ Concorde-Roman 69.0
+ l_____ Concorde-Italic 69.1
+ l_____ Concorde-Bold 69.2
+ l_____ Concorde-BoldItalic 69.3
+ l_____ ConcordeBE-Regular 69.4
+ l_____ ConcordeBE-RegularSC 69.5
+ l_____ ConcordeBE-RegularExp 69.6
+ l_____ ConcordeBE-Italic 69.7
+ l_____ ConcordeBE-ItalicOsF 69.8
+ l_____ ConcordeBE-ItalicExp 69.9
+ l_____ ConcordeBE-Medium 69.10
+ l_____ ConcordeBE-MediumSC 69.11
+ l_____ ConcordeBE-MediumEx 69.12
+ l_____ ConcordeBE-MediumItalic 69.13
+ l_____ ConcordeBE-MediumItalicOsF 69.14
+ l_____ ConcordeBE-MediumItalicExp 69.15
+ l_____ ConcordeBE-Condensed 69.16
+ l_____ ConcordeBE-MediumCn 69.17
+ l_____ ConcordeBE-BoldCn 69.18
+ l_____ ConcordeBE-BoldCnOutline 69.19
+ l_____ ConcordeNova-Regular 69.20
+ l_____ ConcordeNova-RegularSC 69.21
+ l_____ ConcordeNova-RegularExp 69.22
+ l_____ ConcordeNova-Italic 69.23
+ l_____ ConcordeNova-ItalicOsF 69.24
+ l_____ ConcordeNova-ItalicExp 69.25
+ l_____ ConcordeNova-Medium 69.26
+ l_____ ConcordeNova-MediumSC 69.27
+ l_____ ConcordeNova-MediumExp 69.28
+ l_____ ContactaLL 70.0
+ l_____ CoolWoolLL 71.0
+ l_____ CoolWoolCottonClubLL 71.1
+ l_____ CoolWoolStoneWashedLL 71.2
+ l_____ CooperBlack 72.0
+ l_____ CooperBlack-Italic 72.1
+ l_____ CooperBlackEF-Bold 72.2
+ l_____ CooperBlackEF-BoldOutline 72.3
+ l_____ CooperBlackEF-BoldCondensed 72.4
+ l_____ CooperBlackEF-BoldCondOutline 72.5
+ l_____ Copal-Solid 73.0
+ l_____ Copal-Outline 73.1
+ l_____ Copal-Decorated 73.2
+ l_____ CorinthianEF-Light 74.0
+ l_____ CorinthianEF-Medium 74.1
+ l_____ CorinthianEF-Bold 74.2
+ l_____ CorinthianEF-ExtraBold 74.3
+ l_____ Corona-Roman 75.0
+ l_____ Corona-Italic 75.1
+ l_____ Corona-Bold 75.2
+ l_____ CortezEF 76.0
+ l_____ Cosmos-Light 77.0
+ l_____ Cosmos-LightItalic 77.1
+ l_____ Cosmos-Medium 77.2
+ l_____ Cosmos-ExtraBold 77.3
+ l_____ CountdownEF 78.0
+ l_____ CourierCE-Roman 79.0
+ l_____ CourierCE-Bold 79.1
+ l_____ Cremona-Regular 80.0
+ l_____ Cremona-Italic 80.1
+ l_____ Cremona-Bold 80.2
+ l_____ Cremona-BoldItalic 80.3
+ l_____ Critter 81.0
+ l_____ CroissantEF 82.0
+ l_____ Cutout 83.0
+ l_____ DailyNews-Regular 84.0
+ l_____ DailyNews-Italic 84.1
+ l_____ DailyNews-Medium 84.2
+ l_____ DailyNews-MediumItalic 84.3
+ l_____ DailyNews-Bold 84.4
+ l_____ DailyNews-BoldItalic 84.5
+ l_____ DailyNews-ExtraBold 84.6
+ l_____ DailyNews-ExtraBoldItalic 84.7
+ lpi___ DamnedDingbatsEF-Regular 85.0
+ lpi___ DamnedDingbatsEF-Initials 85.1
+ l_____ Data70EF 86.0
+ l_____ DavidaEF 87.0
+ l_____ Delphin-I 88.0
+ l_____ Delphin-II 88.1
+ l_____ Delphin-IA 88.2
+ l_____ Delphin-IIA 88.3
+ l_____ Delta-Light 89.0
+ l_____ Delta-LightItalic 89.1
+ l_____ Delta-Book 89.2
+ l_____ Delta-BookItalic 89.3
+ l_____ Delta-Medium 89.4
+ l_____ Delta-MediumItalic 89.5
+ l_____ Delta-Bold 89.6
+ l_____ Delta-BoldItalic 89.7
+ l_____ Delta-Outline 89.8
+ l_____ DemianEF 90.0
+ lpi___ DeutscheBahnAG-One 91.0
+ lpi___ DeutscheBahnAG-Two 91.1
+ lpi___ DeutscheBahnAG-Three 91.2
+ lpi___ DeutscheBahnAG-Four 91.3
+ lpi___ DeutscheBahnAG-Six 91.4
+ lpi___ DeutscheBahnAG-Five 91.5
+ l_____ DexGothicEF 92.0
+ l_____ DigiAntiquaEF-LightCondensed 93.0
+ l_____ Doric-Bold 95.0
+ l_____ DrugulinEF-RegularHd 96.0
+ l_____ DrugulinEF-MediumHd 96.1
+ l_____ DrugulinEF-BoldHd 96.2
+ l_____ DrugulinEF-ExtraBoldHd 96.3
+ l_____ EckmannEF 97.1
+ l_____ EdwardianScriptEF-Regular 98.0
+ l_____ EdwardianScriptEF-RegularA 98.1
+ l_____ EdwardianScriptEF-Bold 98.2
+ l_____ EdwardianScriptEF-BoldA 98.3
+ l_____ Egyptian505EF-Light 99.0
+ l_____ Egyptian505EF-Regular 99.1
+ l_____ Egyptian505EF-Medium 99.2
+ l_____ Egyptian505EF-Bold 99.3
+ l_____ EgyptienneF-Roman 100.0
+ l_____ EgyptienneF-Italic 100.1
+ l_____ EgyptienneF-Bold 100.2
+ l_____ EgyptienneF-Black 100.3
+ l_____ ElectraLH-Roman 101.0
+ l_____ ElectraLH-RomanSC 101.1
+ l_____ ElectraLH-RomanOsF 101.2
+ l_____ ElectraLH-Cursive 101.3
+ l_____ ElectraLH-CursiveOsF 101.4
+ l_____ ElectraLH-Bold 101.5
+ l_____ ElectraLH-BoldSC 101.6
+ l_____ ElectraLH-BoldOsF 101.7
+ l_____ ElectraLH-BoldCursive 101.8
+ l_____ ElectraLH-BoldCursiveOsF 101.9
+ l_____ ElectraLH-Display 101.10
+ l_____ ElectraLH-CursiveDisplay 101.11
+ l_____ ElectraLH-BoldDisplay 101.12
+ l_____ ElectraLH-BoldCursiveDisplay 101.13
+ l_____ ElseNPL-Light 102.0
+ l_____ ElseNPL-Medium 102.1
+ l_____ ElseNPL-SemiBold 102.2
+ l_____ ElseNPL-Bold 102.3
+ l_____ EnviroEF 103.0
+ l_____ EscriptLL 104.0
+ lpi___ EuropeanPi-One 105.0
+ lpi___ EuropeanPi-Two 105.1
+ lpi___ EuropeanPi-Three 105.2
+ lpi___ EuropeanPi-Four 105.2
+ l_____ ExcaliburEF-Regular 106.0
+ l_____ ExcaliburEF-Medium 106.1
+ l_____ FacsimileLL 107.0
+ l_____ FairfieldLH-Light 108.0
+ l_____ FairfieldLH-LightSC 108.1
+ l_____ FairfieldLH-LightItalic 108.2
+ l_____ FairfieldLH-Medium 108.3
+ l_____ FairfieldLH-MediumSC 108.4
+ l_____ FairfieldLH-MediumItalic 108.5
+ l_____ FairfieldLH-Bold 108.6
+ l_____ FairfieldLH-BoldSC 108.7
+ l_____ FairfieldLH-BoldItalic 108.8
+ l_____ FairfieldLH-Heavy 108.9
+ l_____ FairfieldLH-HeavySC 108.10
+ l_____ FairfieldLH-HeavyItalic 108.11
+ l_____ FairfieldLH-CaptionLight 108.12
+ l_____ FairfieldLH-CaptionMedium 108.13
+ l_____ FairfieldLH-CaptionBold 108.14
+ l_____ FairfieldLH-CaptionHeavy 108.15
+ l_____ FairfieldLH-SwLightItalicOsF 108.16
+ l_____ FairfieldLH-SwMediumItalicOsF 108.17
+ l_____ FairfieldLH-SwBoldItalicOsF 108.18
+ l_____ FairfieldLH-SwHeavyItalicOsF 108.19
+ l_____ FetteGotischEF 109.0
+ l_____ FlamencoInlineEF 110.0
+ l_____ Forbes-Bold 114.0
+ l_____ ForteMT 115.0
+ l_____ FranklinGothic-Condensed 116.0
+ l_____ FranklinGothic-ExtraCond 116.1
+ l_____ FranklinGothicEF-Regular 116.2
+ l_____ FranklinGothicEF-RegularCond 116.3
+ l_____ FranklinGothicEF-ExtraCond 116.4
+ l_____ FranklinGothic-Roman 116.5
+ l_____ FranklinGothic-Book 116.6
+ l_____ FranklinGothic-BookOblique 116.7
+ l_____ FranklinGothic-Demi 116.8
+ l_____ FranklinGothic-DemiOblique 116.9
+ l_____ FranklinGothic-Heavy 116.10
+ l_____ FranklinGothic-HeavyOblique 116.11
+ l_____ FranklinGothicEF-Book 116.12
+ l_____ FranklinGothicEF-BookItalic 116.13
+ l_____ FranklinGothicEF-Medium 116.14
+ l_____ FranklinGothicEF-MediumItalic 116.15
+ l_____ FranklinGothicEF-Demi 116.16
+ l_____ FranklinGothicEF-DemiItalic 116.17
+ l_____ FranklinGothicEF-Heavy 116.18
+ l_____ FranklinGothicEF-HeavyItalic 116.19
+ l_____ FranklinGothicEF-BookCnd 116.20
+ l_____ FranklinGothicEF-BookCndSC 116.21
+ l_____ FranklinGothicEF-BookCndItal 116.22
+ l_____ FranklinGothicEF-MedCnd 116.23
+ l_____ FranklinGothicEF-MedCndSC 116.24
+ l_____ FranklinGothicEF-MedCndItal 116.25
+ l_____ FranklinGothicEF-DemiCnd 116.26
+ l_____ FranklinGothicEF-DemiCndItal 116.27
+ l_____ FranklinGothicEF-BookCmpr 116.28
+ l_____ FranklinGothicEF-BookCmprItal 116.29
+ l_____ FranklinGothicEF-DemiCmpr 116.30
+ l_____ FranklinGothicEF-DemiCmprItal 116.31
+ l_____ FranklinGothicEF-BookXCmpr 116.32
+ l_____ FranklinGothicEF-DemiXCmpr 116.33
+ l_____ Frutiger-Light 117.0
+ l_____ Frutiger-LightItalic 117.1
+ l_____ Frutiger-Roman 117.2
+ l_____ Frutiger-Italic 117.3
+ l_____ Frutiger-Bold 117.4
+ l_____ Frutiger-BoldItalic 117.5
+ l_____ Frutiger-Black 117.6
+ l_____ Frutiger-BlackItalic 117.7
+ l_____ Frutiger-UltraBlack 117.8
+ l_____ Frutiger-LightCn 117.9
+ l_____ Frutiger-Cn 117.10
+ l_____ Frutiger-BoldCn 117.11
+ l_____ Frutiger-BlackCn 117.12
+ l_____ Frutiger ExtraBlackCn 117.13
+ l_____ Futura-Light 118.0
+ l_____ Futura-LightOblique 118.1
+ l_____ Futura-Book 118.2
+ l_____ Futura-BookOblique 118.3
+ l_____ Futura 118.4
+ l_____ Futura-Oblique 118.5
+ l_____ Futura-Heavy 118.6
+ l_____ Futura-HeavyOblique 118.7
+ l_____ Futura-Bold 118.8
+ l_____ Futura-BoldOblique 118.9
+ l_____ Futura-ExtraBold 118.10
+ l_____ Futura-ExtraBoldOblique 118.11
+ l_____ Futura-CondensedLight 118.12
+ l_____ Futura-CondensedLightOblique 118.13
+ l_____ Futura-CondensedMedium 118.14
+ l_____ Futura-CondensedMediumOblique 118.15
+ l_____ Futura-CondensedBold 118.16
+ l_____ Futura-CondensedBoldOblique 118.17
+ l_____ Futura-CondensedExtraBlack 118.18
+ l_____ Futura-CondExtraBlackOblique 118.19
+ l_____ FuturaEF-Light 118.22
+ l_____ FuturaEF-LightOblique 118.23
+ l_____ FuturaEF-Book 118.24
+ l_____ FuturaEF-BookOblique 118.25
+ l_____ FuturaEF-Medium 118.26
+ l_____ FuturaEF-MediumOblique 118.27
+ l_____ FuturaEF-Bold 118.28
+ l_____ FuturaEF-DemiBold 118.29
+ l_____ FuturaEF-BoldOblique 118.30
+ l_____ FuturaEF-DemiBoldOblique 118.31
+ l_____ FuturaEF-ExtraBold 118.32
+ l_____ FuturaEF-ExtraBoldOblique 118.33
+ l_____ FuturaEF-Heavy 118.34
+ l_____ FuturaEF-LightCondensed 118.35
+ l_____ FuturaEF-LightCondensedOblique 118.36
+ l_____ FuturaEF-MediumCondensed 118.37
+ l_____ FuturaEF-MediumCondensedOblique 118.38
+ l_____ FuturaEF-BoldCondensed 118.39
+ l_____ FuturaEF-BoldCondensedOblique 118.40
+ l_____ FuturaEF-ExtraBoldCondensed 118.41
+ l_____ FuturaEF-ExtraBoldCondOblique 118.42
+ l_____ FuturaBlackEF 118.43
+ l_____ FuturaDisplayEF 118.44
+ l_____ FuturaScriptEF 118.45
+ l_____ FuturaEF-ExtraBoldShaded 118.46
+ l_____ Galahad-Regular 119.0
+ l_____ Galahad-Alternate 119.1
+ l_____ Galahad-OsF 119.2
+ l_____ GarthGraphic 121.0
+ l_____ GarthGraphic-Italic 121.1
+ l_____ GarthGraphic-Bold 121.2
+ l_____ GarthGraphic-BoldItalic 121.3
+ l_____ GarthGraphic-Black 121.4
+ l_____ GarthGraphic ExtraBlack 121.5
+ l_____ GarthGraphic-Condensed 121.6
+ l_____ GarthGraphic-BoldCondensed 121.7
+ l_____ GazetteLH-Roman 122.0
+ l_____ GazetteLH-Italic 122.1
+ l_____ GazetteLH-Bold 122.2
+ lpi___ GiacomettiLL 123.0
+ l_____ GillSans-Light 124.0
+ l_____ GillSans-LightItalic 124.1
+ l_____ GillSans 124.2
+ l_____ GillSans-Italic 124.3
+ l_____ GillSans-Bold 124.4
+ l_____ GillSans-BoldItalic 124.5
+ l_____ GillSans-ExtraBold 124.6
+ l_____ GillSans-UltraBold 124.7
+ l_____ GillSans-LightShadowed 124.8
+ l_____ GillSans-Shadowed 124.9
+ l_____ GillSans-Condensed 124.10
+ l_____ GillSans-BoldCondensed 124.11
+ l_____ GillSans-BoldExtraCondensed 124.12
+ l_____ GillSans-UltraBoldCondensed 124.13
+ l_____ GillSans-ExtraBoldDisplay 124.14
+ l_____ GilliesGothicEF-Light 125.0
+ l_____ GilliesGothicEF-Bold 125.1
+ l_____ GilliesGothicEF-ExtraBold 125.2
+ l_____ GilliesGothicEF-XBoShaded 125.3
+ l_____ GlastonburyEF 126.0
+ l_____ Glypha-Thin 127.0
+ l_____ Glypha-ThinOblique 127.1
+ l_____ Glypha-Light 127.2
+ l_____ Glypha-LightOblique 127.3
+ l_____ Glypha 127.4
+ l_____ Glypha-RomanOblique 127.5
+ l_____ Glypha-Bold 127.6
+ l_____ Glypha-BoldOblique 127.7
+ l_____ Glypha-Black 127.8
+ l_____ Glypha-BlackOblique 127.9
+ l_____ GoodiesLL 128.0
+ l_____ Gothic-Thirteen 129.0
+ l_____ Goudy-Bold 130.0
+ l_____ Goudy-BoldOsF 130.1
+ l_____ Goudy-BoldItalic 130.2
+ l_____ Goudy-BoldItalicOsF 130.3
+ l_____ Goudy-ExtraBold 130.4
+ l_____ Goudy-Heavyface 130.5
+ l_____ Goudy-HeavyfaceItalic 130.6
+ l_____ GoudyHandtooledEF 130.7
+ l_____ GoudyCatalogueEF-Regular 130.8
+ l_____ GoudyCatalogueEF-Italic 130.9
+ l_____ GoudyModernMT-Roman 130.10
+ l_____ GoudyModernMT-Italic 130.11
+ l_____ Goudy 130.12
+ l_____ Goudy-SC 130.13
+ l_____ Goudy-Italic 130.14
+ l_____ Goudy-ItalicOsF 130.15
+ l_____ GoudySans-Book 130.16
+ l_____ GoudySans-BookItalic 130.17
+ l_____ GoudySans-Medium 130.18
+ l_____ GoudySans-MediumItalic 130.19
+ l_____ GoudySans-Bold 130.20
+ l_____ GoudySans-BoldItalic 130.21
+ l_____ GoudySans-Black 130.22
+ l_____ GoudySans-BlackItalic 130.23
+ l_____ GoudySansEF-Book 130.24
+ l_____ GoudySansEF-BookSC 130.25
+ l_____ GoudySansEF-BookItalic 130.26
+ l_____ GoudySansEF-Medium 130.27
+ l_____ GoudySansEF-MediumSC 130.28
+ l_____ GoudySansEF-MediumItalic 130.29
+ l_____ GoudySansEF-Bold 130.30
+ l_____ GoudySansEF-BoldItalic 130.31
+ l_____ GoudySansEF-Black 130.32
+ l_____ GoudySansEF-BlackItalic 130.33
+ l_____ GoudyTextMT-Regular 130.34
+ l_____ GoudyTextMT-Alternate 130.35
+ l_____ GoudyTextMT-Dfr 130.36
+ l_____ GoudyTextMT-LombardicCapitals 130.37
+ l_____ Grafiko 131.0
+ l_____ Granjon 132.0
+ l_____ Granjon-SC 132.1
+ l_____ Granjon-Italic 132.2
+ l_____ Granjon-ItalicOsF 132.3
+ l_____ Granjon-Bold 132.4
+ l_____ Granjon-BoldOsF 132.5
+ l_____ GrotesqueMT-Light 133.0
+ l_____ GrotesqueMT-LightItalic 133.1
+ l_____ GrotesqueMT 133.2
+ l_____ GrotesqueMT-Italic 133.3
+ l_____ GrotesqueMT-Bold 133.4
+ l_____ GrotesqueMT-Black 133.5
+ l_____ GrotesqueMT-LightCondensed 133.6
+ l_____ GrotesqueMT-Condensed 133.7
+ l_____ GrotesqueMT-ExtraCondensed 133.8
+ l_____ GrotesqueMT-BoldExtended 133.9
+ l_____ Guardi-Roman 134.0
+ l_____ Guardi-Italic 134.1
+ l_____ Guardi-Bold 134.2
+ l_____ Guardi-BoldItalic 134.3
+ l_____ Guardi-Black 134.4
+ l_____ Guardi-BlackItalic 134.5
+ l_____ HadfieldEF 135.0
+ l_____ Hadriano-Light 136.0
+ l_____ Hadriano-Bold 136.1
+ l_____ Hadriano-ExtraBold 136.2
+ l_____ Hadriano-ExtraBoldCondensed 136.3
+ l_____ HanselEF-Regular 137.0
+ l_____ HanselEF-Alternate 137.1
+ l_____ HarlowEF-Solid 138.0
+ l_____ HarlowEF 138.1
+ l_____ HawthornEF 139.0
+ l_____ Helvetica-Light 140.0
+ l_____ Helvetica-LightOblique 140.1
+ l_____ Helvetica 140.2
+ l_____ Helvetica-Oblique 140.3
+ l_____ Helvetica-Bold 140.4
+ l_____ Helvetica-BoldOblique 140.5
+ l_____ Helvetica-Black 140.6
+ l_____ Helvetica-BlackOblique 140.7
+ l_____ Helvetica-Condensed-Light 140.8
+ l_____ Helvetica-Condensed-LightObl 140.9
+ l_____ Helvetica-Condensed 140.10
+ l_____ Helvetica-Condensed-Oblique 140.11
+ l_____ Helvetica-Condensed-Bold 140.12
+ l_____ Helvetica-Condensed-BoldObl 140.13
+ l_____ Helvetica-Condensed-Black 140.14
+ l_____ Helvetica-Condensed-BlackObl 140.15
+ l_____ Helvetica-Compressed 140.16
+ l_____ Helvetica-ExtraCompressed 140.17
+ l_____ Helvetica-UltraCompressed 140.18
+ l_____ HelveticaInserat-Roman 140.19
+ l_____ HelveticaRounded-Bold 140.24
+ l_____ HelveticaRounded-BoldObl 140.25
+ l_____ HelveticaRounded-Black 140.26
+ l_____ HelveticaRounded-BlackObl 140.27
+ l_____ HelveticaRounded-BoldCond 140.28
+ l_____ HelveticaRounded-BoldCondObl 140.29
+ l_____ HelveticaTextbook 140.30
+ l_____ HelveticaTextbook-Oblique 140.31
+ l_____ HelveticaTextbook-Bold 140.32
+ l_____ HelveticaTextbook-BoldObl 140.33
+ l_____ HelveticaCE-Roman 140.36
+ l_____ HelveticaCE-Bold 140.37
+ l_____ HelveticaCE-NarrowRoman 140.38
+ l_____ HelveticaCE-NarrowBold 140.39
+ l_____ HelveticaCyr-Upright 140.40
+ l_____ HelveticaCyr-Inclined 140.41
+ l_____ HelveticaCyr-Bold 140.42
+ l_____ HelveticaCyr-BoldInclined 140.43
+ l_____ HelveticaInseratCyr-Upright 140.44
+ l_____ HelveticaGreek-Upright 140.45
+ l_____ HelveticaGreek-Inclined 140.46
+ l_____ HelveticaGreek-Bold 140.47
+ l_____ HelveticaGreek-BoldInclined 140.48
+ l_____ HelveticaGreekP-Upright 140.49
+ l_____ HelveticaGreekP-Inclined 140.50
+ l_____ HelveticaGreekP-Bold 140.51
+ l_____ HelveticaGreekP-BoldInclined 140.52
+ l_____ HelveticaNeue-UltraLight 140.53
+ l_____ HelveticaNeue-UltraLightItalic 140.54
+ l_____ HelveticaNeue-Thin 140.55
+ l_____ HelveticaNeue-ThinItalic 140.56
+ l_____ HelveticaNeue-Light 140.57
+ l_____ HelveticaNeue-LightItalic 140.58
+ l_____ HelveticaNeue-Roman 140.59
+ l_____ HelveticaNeue-Italic 140.60
+ l_____ HelveticaNeue-Medium 140.61
+ l_____ HelveticaNeue-MediumItalic 140.62
+ l_____ HelveticaNeue-Bold 140.63
+ l_____ HelveticaNeue-BoldItalic 140.64
+ l_____ HelveticaNeue-Heavy 140.65
+ l_____ HelveticaNeue-HeavyItalic 140.66
+ l_____ HelveticaNeue-Black 140.67
+ l_____ HelveticaNeue-BlackItalic 140.68
+ l_____ HelveticaNeue-BoldOutline 140.69
+ l_____ HelveticaNeue-UltraLigCond 140.70
+ l_____ HelveticaNeue-UltraLigCondObl 140.71
+ l_____ HelveticaNeue-ThinCond 140.72
+ l_____ HelveticaNeue-ThinCondObl 140.73
+ l_____ HelveticaNeue-LightCond 140.74
+ l_____ HelveticaNeue-LightCondObl 140.75
+ l_____ HelveticaNeue-Condensed 140.76
+ l_____ HelveticaNeue-CondensedObl 140.77
+ l_____ HelveticaNeue-MediumCond 140.78
+ l_____ HelveticaNeue-MediumCondObl 140.79
+ l_____ HelveticaNeue-BoldCond 140.80
+ l_____ HelveticaNeue-BoldCondObl 140.81
+ l_____ HelveticaNeue-HeavyCond 140.82
+ l_____ HelveticaNeue-HeavyCondObl 140.83
+ l_____ HelveticaNeue-BlackCond 140.84
+ l_____ HelveticaNeue-BlackCondObl 140.85
+ l_____ HelveticaNeue-ExtBlackCond 140.86
+ l_____ HelveticaNeue-ExtBlackCondObl 140.87
+ l_____ HelveticaNeue-UltraLightExt 140.88
+ l_____ HelveticaNeue-UltraLightExtObl 140.89
+ l_____ HelveticaNeue-ThinExt 140.90
+ l_____ HelveticaNeue-ThinExtObl 140.91
+ l_____ HelveticaNeue-LightExt 140.92
+ l_____ HelveticaNeue-LightExtObl 140.93
+ l_____ HelveticaNeue-Extended 140.94
+ l_____ HelveticaNeue-ExtendedObl 140.95
+ l_____ HelveticaNeue-MediumExt 140.96
+ l_____ HelveticaNeue-MediumExtObl 140.97
+ l_____ HelveticaNeue-BoldExt 140.98
+ l_____ HelveticaNeue-BoldExtObl 140.99
+ l_____ HelveticaNeue-HeavyExt 140.100
+ l_____ HelveticaNeue-HeavyExtObl 140.101
+ l_____ HelveticaNeue-BlackExt 140.102
+ l_____ HelveticaNeue-BlackExtObl 140.103
+ l_____ HelveticaNeueCE-Thin 140.104
+ l_____ HelveticaNeueCE-ThinItalic 140.105
+ l_____ HelveticaNeueCE-Roman 140.106
+ l_____ HelveticaNeueCE-Italic 140.107
+ l_____ HelveticaNeueCE-Bold 140.108
+ l_____ HelveticaNeueCE-BoldItalic 140.109
+ l_____ HelveticaNeueEastA-Thin 140.110
+ l_____ HelveticaNeueEastA-ThinObl 140.111
+ l_____ HelveticaNeueEastA-Roman 140.112
+ l_____ HelveticaNeueEastA-RomanObl 140.113
+ l_____ HelveticaNeueEastA-Bold 140.114
+ l_____ HelveticaNeueEastA-BoldObl 140.115
+ l_____ HeraldusEF-ExtraFett 141.0
+ l_____ HighlightEF 143.0
+ l_____ Hiroshige-Book 144.0
+ l_____ Hiroshige-BookItalic 144.1
+ l_____ Hiroshige-Medium 144.2
+ l_____ Hiroshige-MediumItalic 144.3
+ l_____ Hiroshige-Bold 144.4
+ l_____ Hiroshige-BoldItalic 144.5
+ l_____ Hiroshige-Black 144.6
+ l_____ Hiroshige-BlackItalic 144.7
+ l_____ Hobo 145.0
+ l_____ HoboEF 145.1
+ l_____ HogarthScriptEF-Regular 146.0
+ l_____ HondaEF 147.0
+ l_____ HoratioEF-Light 148.0
+ l_____ HoratioEF-Medium 148.1
+ l_____ HoratioEF-Bold 148.2
+ l_____ HorleyOldStyleMT-Light 149.0
+ l_____ HorleyOldStyleMT-LightItalic 149.1
+ l_____ HorleyOldStyleMT-Roman 149.2
+ l_____ HorleyOldStyleMT-Italic 149.3
+ l_____ HorleyOldStyleMT-SemiBold 149.4
+ l_____ HorleyOldStyleMT-SbItalic 149.5
+ l_____ HorleyOldStyleMT-Bold 149.6
+ l_____ HorleyOldStyleMT-BoldItalic 149.7
+ lpi___ HotmetalBorders-One 150.0
+ lpi___ HotmetalBorders-Two 150.1
+ lpi___ HotmetalBorders-Three 150.2
+ lpi___ HotmetalBorders-Four 150.3
+ l_____ AmericanTypewriter-Light 153.0
+ l_____ AmericanTypewriter-LightA 153.1
+ l_____ AmericanTypewriter-Medium 153.2
+ l_____ AmericanTypewriter-MediumA 153.3
+ l_____ AmericanTypewriter-Bold 153.4
+ l_____ AmericanTypewriter-BoldA 153.5
+ l_____ AmericanTypewriter-LightCond 153.6
+ l_____ AmericanTypewriter-LightCondA 153.7
+ l_____ AmericanTypewriter-MediumCond 153.8
+ l_____ AmericanTypewriter-MediumCondA 153.9
+ l_____ AmericanTypewriter-BoldCond 153.10
+ l_____ AmericanTypewriter-BoldCondA 153.11
+ l_____ AmericanTypewriterEF-Light 153.14
+ l_____ AmericanTypewriterEF-LightItalic 153.15
+ l_____ AmericanTypewriterEF-Medium 153.16
+ l_____ AmericanTypewriterEF-MediumItalic 153.17
+ l_____ AmericanTypewriterEF-Bold 153.18
+ l_____ AmericanTypewriterEF-BoldItalic 153.19
+ l_____ AmericanTypewriterEF-LightCond 153.20
+ l_____ AmericanTypewriterEF-MediumCond 153.21
+ l_____ AmericanTypewriterEF-BoldCond 153.22
+ l_____ Anna 154.0
+ l_____ AnnaEF 154.1
+ l_____ AnnaEF-SC 154.2
+ l_____ AvantGarde-ExtraLight 155.0
+ l_____ AvantGarde-ExtraLightObl 155.1
+ l_____ AvantGarde-Book 155.2
+ l_____ AvantGarde-BookOblique 155.3
+ l_____ AvantGarde-Medium 155.4
+ l_____ AvantGarde-MediumObl 155.5
+ l_____ AvantGarde-Demi 155.6
+ l_____ AvantGarde-DemiOblique 155.7
+ l_____ AvantGarde-Bold 155.8
+ l_____ AvantGarde-BoldObl 155.9
+ l_____ AvantGarde-CondBook 155.10
+ l_____ AvantGarde-CondMedium 155.11
+ l_____ AvantGarde-CondDemi 155.12
+ l_____ AvantGarde-CondBold 155.13
+ l_____ AvantGardeGothicCE-Book 155.14
+ l_____ AvantGardeGothicCE-Demi 155.15
+ l_____ AvantGardeGothicEF-ExtraLight 155.16
+ l_____ AvantGardeGothicEF-ExtraLightObl 155.17
+ l_____ AvantGardeGothicEF-Book 155.18
+ l_____ AvantGardeGothicEF-BookOblique 155.19
+ l_____ AvantGardeGothicEF-Medium 155.20
+ l_____ AvantGardeGothicEF-MediumOblique 155.21
+ l_____ AvantGardeGothicEF-Demi 155.22
+ l_____ AvantGardeGothicEF-DemiOblique 155.23
+ l_____ AvantGardeGothicEF-Bold 155.24
+ l_____ AvantGardeGothicEF-BoldOblique 155.25
+ l_____ AvantGardeGothicEF-CondBook 155.26
+ l_____ AvantGardeGothicEF-CondMedium 155.27
+ l_____ AvantGardeGothicEF-CondDemi 155.28
+ l_____ AvantGardeGothicEF-CondBold 155.29
+ l_____ AvantGardeMonoEF-Light 155.30
+ l_____ AvantGardeMonoEF-LightIta 155.31
+ l_____ AvantGardeMonoEF-Bold 155.32
+ l_____ AvantGardeMonoEF-BoldIta 155.33
+ l_____ Beesknees 156.0
+ l_____ BeeskneesEF 156.1
+ l_____ Benguiat-Book 157.0
+ l_____ Benguiat-BookItalic 157.1
+ l_____ Benguiat-Medium 157.2
+ l_____ Benguiat-MediumItalic 157.3
+ l_____ Benguiat-Bold 157.4
+ l_____ Benguiat-BoldItalic 157.5
+ l_____ BenguiatEF-Book 157.6
+ l_____ BenguiatEF-BookItalic 157.7
+ l_____ BenguiatEF-Medium 157.8
+ l_____ BenguiatEF-MediumItalic 157.9
+ l_____ BenguiatEF-Bold 157.10
+ l_____ BenguiatEF-BoldItalic 157.11
+ l_____ BenguiatEF-BookCondensed 157.12
+ l_____ BenguiatEF-BookCondensedIta 157.13
+ l_____ BenguiatEF-MediumCondensed 157.14
+ l_____ BenguiatEF-MediumCondensedIta 157.15
+ l_____ BenguiatEF-BoldCondensed 157.16
+ l_____ BenguiatEF-BoldCondensedIta 157.17
+ l_____ Berkeley-Book 158.0
+ l_____ Berkeley-BookItalic 158.1
+ l_____ Berkeley-Medium 158.2
+ l_____ Berkeley-Italic 158.3
+ l_____ Berkeley-Bold 158.4
+ l_____ Berkeley-BoldItalic 158.5
+ l_____ Berkeley-Black 158.6
+ l_____ Berkeley-BlackItalic 158.7
+ l_____ BerkeleyOldstyleEF-Book 158.8
+ l_____ BerkeleyOldstyleEF-BookItalic 158.9
+ l_____ BerkeleyOldstyleEF-Medium 158.10
+ l_____ BerkeleyOldstyleEF-MediumItalic 158.11
+ l_____ BerkeleyOldstyleEF-Bold 158.12
+ l_____ BerkeleyOldstyleEF-BoldItalic 158.13
+ l_____ BerkeleyOldstyleEF-Black 158.14
+ l_____ BerkeleyOldstyleEF-BlackItalic 158.15
+ l_____ BoltEF 159.0
+ l_____ CharterEF-Regular 160.0
+ l_____ CharterEF-RegularSC 160.1
+ l_____ CharterEF-RegularItalic 160.2
+ l_____ CharterEF-RegularItalicOsF 160.3
+ l_____ CharterEF-Bold 160.4
+ l_____ CharterEF-BoldSC 160.5
+ l_____ CharterEF-BoldItalic 160.6
+ l_____ CharterEF-BoldItalicOsF 160.7
+ l_____ CharterEF-Black 160.8
+ l_____ CharterEF-BlackOsF 160.9
+ l_____ CharterEF-BlackItalic 160.10
+ l_____ CharterEF-BlackItalicOsF 160.11
+ l_____ ElanEF-Book 161.0
+ l_____ ElanEF-BookSC 161.1
+ l_____ ElanEF-BookItalic 161.2
+ l_____ ElanEF-Medium 161.3
+ l_____ ElanEF-MediumSC 161.4
+ l_____ ElanEF-MediumItalic 161.5
+ l_____ ElanEF-Bold 161.6
+ l_____ ElanEF-BoldItalic 161.7
+ l_____ ElanEF-Black 161.8
+ l_____ ElanEF-BlackItalic 161.9
+ l_____ ItcEras-Light 162.0
+ l_____ ItcEras-Book 162.1
+ l_____ ItcEras-Medium 162.2
+ l_____ ItcEras-Demi 162.3
+ l_____ ItcEras-Bold 162.4
+ l_____ ItcEras-Ultra 162.5
+ l_____ ItcErasEF-Light 162.6
+ l_____ ItcErasEF-Book 162.7
+ l_____ ItcErasEF-Medium 162.8
+ l_____ ItcErasEF-Demi 162.9
+ l_____ ItcErasEF-Bold 162.10
+ l_____ ItcErasEF-Ultra 162.11
+ l_____ Fenice-Light 163.0
+ l_____ Fenice-LightOblique 163.1
+ l_____ Fenice-Regular 163.2
+ l_____ Fenice-RegularOblique 163.3
+ l_____ Fenice-Bold 163.4
+ l_____ Fenice-BoldOblique 163.5
+ l_____ Fenice-Ultra 163.6
+ l_____ Fenice-UltraOblique 163.7
+ l_____ FeniceEF-Light 163.8
+ l_____ FeniceEF-LightItalic 163.9
+ l_____ FeniceEF-Regular 163.10
+ l_____ FeniceEF-RegularItalic 163.11
+ l_____ FeniceEF-Bold 163.12
+ l_____ FeniceEF-BoldItalic 163.13
+ l_____ FeniceEF-Ultra 163.14
+ l_____ FeniceEF-UltraItalic 163.15
+ l_____ FrizQuadrata 164.0
+ l_____ FrizQuadrata-Bold 164.1
+ l_____ FrizQuadrataEF-Regular 164.2
+ l_____ FrizQuadrataEF-RegularSC 164.3
+ l_____ FrizQuadrataEF-RegularItalic 164.4
+ l_____ FrizQuadrataEF-Bold 164.5
+ l_____ FrizQuadrataEF-BoldItalic 164.6
+ l_____ Giovanni-Book 165.0
+ l_____ Giovanni-BookItalic 165.1
+ l_____ Giovanni-Bold 165.2
+ l_____ Giovanni-BoldItalic 165.3
+ l_____ Giovanni-Black 165.4
+ l_____ Giovanni-BlackItalic 165.5
+ l_____ GiovanniEF-Book 165.6
+ l_____ GiovanniEF-BookSC 165.7
+ l_____ GiovanniEF-BookItalic 165.8
+ l_____ GiovanniEF-Bold 165.9
+ l_____ GiovanniEF-BoldSC 165.10
+ l_____ GiovanniEF-BoldItalic 165.11
+ l_____ GiovanniEF-Black 165.12
+ l_____ GiovanniEF-BlackItalic 165.13
+ l_____ Highlander-Book 166.0
+ l_____ Highlander-BookItalic 166.1
+ l_____ Highlander-Medium 166.2
+ l_____ Highlander-MediumItalic 166.3
+ l_____ Highlander-Bold 166.4
+ l_____ Highlander-BoldItalic 166.5
+ l_____ HighlanderEF-Book 166.6
+ l_____ HighlanderEF-BookSC 166.7
+ l_____ HighlanderEF-BookItalic 166.8
+ l_____ HighlanderEF-Medium 166.9
+ l_____ HighlanderEF-MediumSC 166.10
+ l_____ HighlanderEF-MediumItalic 166.11
+ l_____ HighlanderEF-Bold 166.12
+ l_____ HighlanderEF-BoldItalic 166.13
+ l_____ Isadora-Roman 167.0
+ l_____ Isadora-Bold 167.1
+ l_____ IsadoraEF-Regular 167.2
+ l_____ IsadoraEF-Bold 167.3
+ l_____ JamilleEF-Book 168.0
+ l_____ JamilleSCEF-Book 168.1
+ l_____ JamilleEF-BookItalic 168.2
+ l_____ JamilleEF-Bold 168.3
+ l_____ JamilleSCEF-Bold 168.4
+ l_____ JamilleEF-BoldItalic 168.5
+ l_____ JamilleEF-Black 168.6
+ l_____ JamilleEF-BlackItalic 168.7
+ l_____ Leawood-Book 169.0
+ l_____ Leawood-BookItalic 169.1
+ l_____ Leawood-Medium 169.2
+ l_____ Leawood-MediumItalic 169.3
+ l_____ Leawood-Bold 169.4
+ l_____ Leawood-BoldItalic 169.5
+ l_____ Leawood-Black 169.6
+ l_____ Leawood-BlackItalic 169.7
+ l_____ LeawoodEF-Book 169.8
+ l_____ LeawoodEF-BookSC 169.9
+ l_____ LeawoodEF-BookItalic 169.10
+ l_____ LeawoodEF-Medium 169.11
+ l_____ LeawoodEF-MediumSC 169.12
+ l_____ LeawoodEF-MediumItalic 169.13
+ l_____ LeawoodEF-Bold 169.14
+ l_____ LeawoodEF-BoldItalic 169.15
+ l_____ LeawoodEF-Black 169.16
+ l_____ LeawoodEF-BlackItalic 169.17
+ l_____ LubalinGraph-Book 170.0
+ l_____ LubalinGraph-BookOblique 170.1
+ l_____ LubalinGraph-Demi 170.2
+ l_____ LubalinGraph-DemiOblique 170.3
+ l_____ LubalinGraphEF-ExtraLight 170.4
+ l_____ LubalinGraphEF-ExtraLightObl 170.5
+ l_____ LubalinGraphEF-Book 170.6
+ l_____ LubalinGraphEF-BookOblique 170.7
+ l_____ LubalinGraphEF-Medium 170.8
+ l_____ LubalinGraphEF-MediumOblique 170.9
+ l_____ LubalinGraphEF-Demi 170.10
+ l_____ LubalinGraphEF-DemiOblique 170.11
+ l_____ LubalinGraphEF-Bold 170.12
+ l_____ LubalinGraphEF-BoldOblique 170.13
+ l_____ LubalinGraphEF-BookCond 170.14
+ l_____ LubalinGraphEF-BookCondSC 170.15
+ l_____ LubalinGraphEF-BookCondObl 170.16
+ l_____ LubalinGraphEF-MediumCond 170.17
+ l_____ LubalinGraphEF-MediumCondSC 170.18
+ l_____ LubalinGraphEF-MediumCondObl 170.19
+ l_____ LubalinGraphEF-DemiCond 170.20
+ l_____ LubalinGraphEF-DemiCondObl 170.21
+ l_____ LubalinGraphEF-BoldCond 170.22
+ l_____ LubalinGraphEF-BoldCondObl 170.23
+ l_____ MixageEF-Book 171.0
+ l_____ MixageSCEF-Book 171.1
+ l_____ MixageEF-BookItalic 171.2
+ l_____ MixageEF-Medium 171.3
+ l_____ MixageSCEF-Medium 171.4
+ l_____ MixageEF-MediumItalic 171.5
+ l_____ MixageEF-Bold 171.6
+ l_____ MixageEF-BoldItalic 171.7
+ l_____ MixageEF-Black 171.8
+ l_____ MixageEF-BlackItalic 171.9
+ l_____ MotterCorpusEF-Regular 172.0
+ l_____ MotterCorpusEF-RegularCondensed 172.1
+ l_____ NewtextEF-Light 173.0
+ l_____ NewtextEF-LightItalic 173.1
+ l_____ NewtextEF-Book 173.2
+ l_____ NewtextEF-BookItalic 173.3
+ l_____ NewtextEF-Regular 173.4
+ l_____ NewtextEF-RegularItalic 173.5
+ l_____ NewtextEF-Demi 173.6
+ l_____ NewtextEF-DemiItalic 173.7
+ l_____ Ozwald 174.0
+ l_____ OzwaldEF 174.1
+ l_____ PanacheEF-Book 175.0
+ l_____ PanacheSCEF-Book 175.1
+ l_____ PanacheEF-BookItalic 175.2
+ l_____ PanacheEF-Bold 175.3
+ l_____ PanacheSCEF-Bold 175.4
+ l_____ PanacheEF-BoldItalic 175.5
+ l_____ PanacheEF-Black 175.6
+ l_____ PanacheEF-BlackItalic 175.7
+ l_____ Quorum-Light 176.0
+ l_____ Quorum-Book 176.1
+ l_____ Quorum-Medium 176.2
+ l_____ Quorum-Bold 176.3
+ l_____ Quorum-Black 176.4
+ l_____ QuorumEF-Light 176.5
+ l_____ QuorumEF-Book 176.6
+ l_____ QuorumEF-Medium 176.7
+ l_____ QuorumEF-Bold 176.8
+ l_____ QuorumEF-Black 176.9
+ l_____ RondaEF 177.0
+ l_____ Slimbach-Book 178.0
+ l_____ Slimbach-BookItalic 178.1
+ l_____ Slimbach-Medium 178.2
+ l_____ Slimbach-MediumItalic 178.3
+ l_____ Slimbach-Bold 178.4
+ l_____ Slimbach-BoldItalic 178.5
+ l_____ Slimbach-Black 178.6
+ l_____ Slimbach-BlackItalic 178.7
+ l_____ SlimbachEF-Book 178.8
+ l_____ SlimbachEF-BookSC 178.9
+ l_____ SlimbachEF-BookItalic 178.10
+ l_____ SlimbachEF-Medium 178.11
+ l_____ SlimbachEF-MediumSC 178.12
+ l_____ SlimbachEF-MediumItalic 178.13
+ l_____ SlimbachEF-Bold 178.14
+ l_____ SlimbachEF-BoldItalic 178.15
+ l_____ SlimbachEF-Black 178.16
+ l_____ SlimbachEF-BlackItalic 178.17
+ l_____ StudioScriptEF 179.0
+ l_____ StudioScriptEF-Alternative 179.1
+ l_____ SyndorEF-Book 180.0
+ l_____ SyndorEF-BookSC 180.1
+ l_____ SyndorEF-BookItalic 180.2
+ l_____ SyndorEF-Medium 180.3
+ l_____ SyndorEF-MediumSC 180.4
+ l_____ SyndorEF-MediumItalic 180.5
+ l_____ SyndorEF-Bold 180.6
+ l_____ SyndorEF-BoldItalic 180.7
+ l_____ Tiffany 181.0
+ l_____ Tiffany-Italic 181.1
+ l_____ Tiffany-Demi 181.2
+ l_____ Tiffany-DemiItalic 181.3
+ l_____ Tiffany-Heavy 181.4
+ l_____ Tiffany-HeavyItalic 181.5
+ l_____ TiffanyEF-Light 181.6
+ l_____ TiffanyEF-LightItalic 181.7
+ l_____ TiffanyEF-Medium 181.8
+ l_____ TiffanyEF-MediumItalic 181.9
+ l_____ TiffanyEF-Demi 181.10
+ l_____ TiffanyEF-DemiItalic 181.11
+ l_____ TiffanyEF-Heavy 181.12
+ l_____ TiffanyEF-HeavyItalic 181.13
+ l_____ Weidemann-Book 182.0
+ l_____ Weidemann-BookItalic 182.1
+ l_____ Weidemann-Medium 182.2
+ l_____ Weidemann-MediumItalic 182.3
+ l_____ Weidemann-Bold 182.4
+ l_____ Weidemann-BoldItalic 182.5
+ l_____ Weidemann-Black 182.6
+ l_____ Weidemann-BlackItalic 182.7
+ l_____ WeidemannEF-Book 182.8
+ l_____ WeidemannEF-BookSC 182.9
+ l_____ WeidemannEF-BookItalic 182.10
+ l_____ WeidemannEF-Medium 182.11
+ l_____ WeidemannEF-MediumSC 182.12
+ l_____ WeidemannEF-MediumItalic 182.13
+ l_____ WeidemannEF-Bold 182.14
+ l_____ WeidemannEF-BoldItalic 182.15
+ l_____ WeidemannEF-Black 182.16
+ l_____ WeidemannEF-BlackItalic 182.17
+ l_____ ManhattanEF 183.0
+ l_____ Imago-Light 184.0
+ l_____ Imago-LightItalic 184.1
+ l_____ Imago-Book 184.2
+ l_____ Imago-BookItalic 184.3
+ l_____ Imago-Medium 184.4
+ l_____ Imago-MediumItalic 184.5
+ l_____ Imago-ExtraBold 184.6
+ l_____ Imago-ExtraBoldItalic 184.7
+ l_____ ImpactaLL 185.0
+ l_____ Impressum-Roman 186.0
+ l_____ Impressum-Italic 186.1
+ l_____ Impressum-Bold 186.2
+ l_____ ImpressumEF-Light 186.3
+ l_____ ImpressumEF-LightItalic 186.4
+ l_____ ImpressumEF-Medium 186.5
+ l_____ IndusLL-Normal 187.0
+ l_____ IndusLL-Bold 187.1
+ l_____ Industria-Solid 188.0
+ l_____ Industria-SolidA 188.1
+ l_____ Industria-Inline 188.2
+ l_____ Industria-InlineA 188.3
+ l_____ InflexMT-Bold 189.0
+ l_____ Ironwood 190.0
+ l_____ ItalianOldStyleMT-Regular 191.0
+ l_____ ItalianOldStyleMT-Italic 191.1
+ l_____ ItalianOldStyleMT-Bold 191.2
+ l_____ ItalianOldStyleMT-BoldItalic 191.3
+ l_____ JensonOldStyleEF-BoldCond 192.0
+ l_____ Jiffy 193.0
+ l_____ JoannaMT 194.0
+ l_____ JoannaMT-Italic 194.1
+ l_____ JoannaMT-SemiBold 194.2
+ l_____ JoannaMT-SemiBoldItalic 194.3
+ l_____ JoannaMT-Bold 194.4
+ l_____ JoannaMT-BoldItalic 194.5
+ l_____ JoannaMT-ExtraBold 194.6
+ l_____ JuliaScriptEF 195.0
+ l_____ Juniper 196.0
+ l_____ KaffeesatzEF-Schwarz 197.0
+ l_____ KaffeesatzEF-Suess 197.1
+ l_____ KaffeesatzEF-Weiss 197.2
+ l_____ KalligraphiaEF 198.0
+ l_____ Kaufmann 199.0
+ l_____ Kaufmann-Bold 199.1
+ l_____ KaufmannEF-Bold 199.2
+ l_____ Kigali-Roman 200.0
+ l_____ Kigali-SxItalic 200.1
+ l_____ Kigali-LxRoman 200.2
+ l_____ Kigali-LxItalic 200.3
+ l_____ Kigali-ZigZag 200.4
+ l_____ Kigali-Block 200.5
+ l_____ Kigali-SxRoman 200.6
+ l_____ Kigali-Italic 200.7
+ l_____ KinoMT 201.0
+ l_____ Kismet 202.0
+ l_____ KnightsbridgeEF 203.0
+ l_____ KnightsbridgeEF-Alternate 203.1
+ l_____ KochAntiqua 204.0
+ l_____ Kompakt 205.0
+ l_____ KuenstlerScript-Medium 206.0
+ l_____ KuenstlerScript-TwoBold 206.1
+ l_____ KuenstlerScript-Black 206.2
+ l_____ KursivschriftStehHaar 207.0
+ l_____ KursivschriftLiegHaar 207.1
+ l_____ KursivschriftStehend 207.2
+ l_____ KursivschriftLiegend 207.3
+ l_____ KursivschriftRueckLie 207.4
+ l_____ LakeInformal 208.0
+ l_____ LakeInformalBold 208.1
+ l_____ LatienneEF-Roman 209.0
+ l_____ LatienneEF-RomanSC 209.1
+ l_____ LatienneEF-Italic 209.2
+ l_____ LatienneEF-ItalicSC 209.3
+ l_____ LatienneEF-Medium 209.4
+ l_____ LatienneEF-MediumSC 209.5
+ l_____ LatienneEF-MediumItalic 209.6
+ l_____ LatienneEF-Bold 209.7
+ l_____ LatienneEF-BoldItalic 209.8
+ l_____ LatienneEF-ItalicSwC 209.9
+ l_____ LatienneEF-MediumItalicSwC 209.10
+ l_____ LatienneEF-BoldItalicSwC 209.11
+ l_____ LatinMT-Condensed 210.0
+ l_____ LazybonesEF 211.0
+ l_____ LeGriffeEF 212.0
+ l_____ LeGriffeEF-AlternateOne 212.1
+ l_____ LeGriffeEF-AlternateTwo 212.2
+ l_____ LetterGothic 213.0
+ l_____ LetterGothic-Slanted 213.1
+ l_____ LetterGothic-Bold 213.2
+ l_____ LetterGothic-BoldSlanted 213.3
+ l_____ LibertyEF 214.0
+ l_____ Life-Roman 215.0
+ l_____ Life-Italic 215.1
+ l_____ Life-Bold 215.2
+ l_____ LifeEF-Regular 215.3
+ l_____ LifeEF-RegularItalic 215.4
+ l_____ LifeEF-Bold 215.5
+ l_____ LightlineGothicEF 216.0
+ l_____ LindsayEF 217.0
+ l_____ Linoscript 219.0
+ l_____ Linotext 220.0
+ l_____ Linotext-Dfr 220.1
+ lpi___ LAstrologyPi-One 221.0
+ lpi___ LAstrologyPi-Two 221.1
+ l_____ Centennial-Light 222.0
+ l_____ Centennial-LightSC 222.1
+ l_____ Centennial-LightItalic 222.2
+ l_____ Centennial-LightItalicOsF 222.3
+ l_____ Centennial-Roman 222.4
+ l_____ Centennial-RomanSC 222.5
+ l_____ Centennial-Italic 222.6
+ l_____ Centennial-ItalicOsF 222.7
+ l_____ Centennial-Bold 222.8
+ l_____ Centennial-BoldOsF 222.9
+ l_____ Centennial-BoldItalic 222.10
+ l_____ Centennial-BoldItalicOsF 222.11
+ l_____ Centennial-Black 222.12
+ l_____ Centennial-BlackOsF 222.13
+ l_____ Centennial-BlackItalic 222.14
+ l_____ Centennial-BlackItalicOsF 222.15
+ l_____ CentennialCE-Light 222.16
+ l_____ CentennialCE-LightItalic 222.17
+ l_____ CentennialCE-Roman 222.18
+ l_____ CentennialCE-Italic 222.19
+ l_____ CentennialCE-Bold 222.20
+ l_____ CentennialCE-BoldItalic 222.21
+ l_____ CentennialCE-Black 222.22
+ l_____ CentennialCE-BlackItalic 222.23
+ lpi___ LDecorationPi-One 223.0
+ lpi___ LDecorationPi-Two 223.1
+ l_____ DidotLH-Roman 224.0
+ l_____ DidotLH-RomanSC 224.1
+ l_____ DidotLH-RomanOsF 224.2
+ l_____ DidotLH-Italic 224.3
+ l_____ DidotLH-ItalicOsF 224.4
+ l_____ DidotLH-Bold 224.5
+ l_____ DidotLH-BoldOsF 224.6
+ l_____ DidotLH-MediumInitials 224.7
+ l_____ DidotLH-HeadlineRoman 224.8
+ l_____ DidotLH-HeadlineRomanOsF 224.9
+ l_____ DidotLH-OrnamentsOne 224.10
+ l_____ DidotLH-OrnamentsTwo 224.11
+ lpi___ LGamePi-ChessDraughts 225.0
+ lpi___ LGamePi-DiceDominoes 225.1
+ lpi___ LGamePi-EnglishCards 225.2
+ lpi___ LGamePi-FrenchCards 225.3
+ lpi___ LHolidayPi-One 227.0
+ lpi___ LHolidayPi-Two 227.1
+ lpi___ LHolidayPi-Three 227.2
+ lpi___ TextilLH-PiOne 228.0
+ lpi___ TextilLH-PiTwo 228.1
+ lpi___ WarningLH-Pi 229.0
+ l_____ LiteraEF-Light 230.0
+ l_____ LiteraEF-Regular 230.1
+ l_____ LiteraEF-Medium 230.2
+ l_____ LiteraEF-Heavy 230.3
+ l_____ Lithos-ExtraLight 231.0
+ l_____ Lithos-Light 231.1
+ l_____ Lithos-Regular 231.2
+ l_____ Lithos-Bold 231.3
+ l_____ Lithos-Black 231.4
+ l_____ LuMarcLL-Roman 232.0
+ l_____ LuMarcLL-Bold 232.1
+ l_____ Macbeth 234.0
+ l_____ Madame-Letters 235.0
+ l_____ Madame-Accents 235.1
+ l_____ Madame-Numericals 235.2
+ l_____ MarconiEF-Book 236.0
+ l_____ MarconiSCEF-Book 236.1
+ l_____ MarconiEF-BookItalic 236.2
+ l_____ MarconiEF-SemiBold 236.3
+ l_____ MarconiEF-SemiBoldItalic 236.4
+ l_____ Maximus 237.0
+ l_____ Melior 238.0
+ l_____ Melior-Italic 238.1
+ l_____ Melior-Bold 238.2
+ l_____ Melior-BoldItalic 238.3
+ l_____ Meridien-Roman 239.0
+ l_____ Meridien-Italic 239.1
+ l_____ Meridien-Medium 239.2
+ l_____ Meridien-MediumItalic 239.3
+ l_____ Meridien-Bold 239.4
+ l_____ Meridien-BoldItalic 239.5
+ l_____ MerlinLL 240.0
+ l_____ MiamiEF 241.0
+ l_____ MicrogrammaEF-MediumExtend 242.0
+ l_____ MicrogrammaEF-BoldExtend 242.1
+ l_____ MonantiEF-Regular 243.0
+ l_____ MonantiEF-SemiBold 243.1
+ l_____ MonolineScriptMT 244.0
+ l_____ MurrayHillEF 246.0
+ l_____ Myriad-Sketch 247.0
+ l_____ Myriad-Headline 247.1
+ l_____ Myriad-Tilt 247.2
+ l_____ Mythos 248.0
+ lpi___ NationalCodes-Europe 249.0
+ lpi___ NationalCodes-Africa 249.1
+ lpi___ NationalCodes-America 249.2
+ lpi___ NationalCodes-AsiaPlus 249.3
+ lpi___ NationalCodes-Universal 249.4
+ l_____ NeueHammerUnziale-One 250.0
+ l_____ NeueHammerUnziale-OneAlt 250.1
+ l_____ NeueHammerUnziale-TwoAlt 250.2
+ l_____ NeueHammerUnziale-Two 250.3
+ l_____ NeuzeitSBook 251.0
+ l_____ NeuzeitSBook-Heavy 251.1
+ l_____ NevisionCasualEF 252.0
+ l_____ NewBerolinaMT 253.0
+ l_____ NewsGothic 254.0
+ l_____ NewsGothic-Oblique 254.1
+ l_____ NewsGothic-Bold 254.2
+ l_____ NewsGothic-BoldOblique 254.3
+ l_____ NicolasCochinEF-Regular 255.0
+ l_____ NicolasCochinEF-RegularIta 255.1
+ l_____ NicolasCochinEF-Black 255.2
+ l_____ NikisEF-Light 256.0
+ l_____ NikisEF-LightItalic 256.1
+ l_____ NikisEF-SemiBold 256.2
+ l_____ NikisEF-SemiBoldItalic 256.3
+ l_____ Nofret-Light 257.0
+ l_____ Nofret-LightSC 257.1
+ l_____ Nofret-LightExpert 257.2
+ l_____ Nofret-LightItalic 257.3
+ l_____ Nofret-LightItalicOsF 257.4
+ l_____ Nofret-LightItalicExpert 257.5
+ l_____ Nofret-Regular 257.6
+ l_____ Nofret-RegularSC 257.7
+ l_____ Nofret-RegularExpert 257.8
+ l_____ Nofret-Italic 257.9
+ l_____ Nofret-ItalicOsF 257.10
+ l_____ Nofret-ItalicExpert 257.11
+ l_____ Nofret-Medium 257.12
+ l_____ Nofret-MediumSC 257.13
+ l_____ Nofret-MediumExpert 257.14
+ l_____ Nofret-MediumItalic 257.15
+ l_____ Nofret-MediumItalicOsF 257.16
+ l_____ Nofret-MediumItalicExpert 257.17
+ l_____ Nofret-Bold 257.18
+ l_____ Nofret-BoldOsF 257.19
+ l_____ Nofret-BoldExpert 257.20
+ l_____ Nofret-BoldItalic 257.21
+ l_____ Nofret-BoldItalicOsF 257.22
+ l_____ Nofret-BoldItalicExpert 257.23
+ l_____ NotreDame-Roman 258.0
+ l_____ NotreDame-RomanDfr 258.1
+ l_____ NotreDame-Ornaments 258.2
+ l_____ NuptialScript 259.0
+ l_____ OCRA 260.0
+ l_____ OCRB 260.1
+ l_____ OCRA-A 260.2
+ l_____ OCRB-A 260.3
+ l_____ OCRBEF-Regular 260.4
+ l_____ OctavianMT 261.0
+ l_____ OctavianMT-SC 261.1
+ l_____ OctavianMT-Expert 261.2
+ l_____ OctavianMT-Italic 261.3
+ l_____ OctavianMT-ItalicOsF 261.4
+ l_____ OctavianMT-ItalicExpert 261.5
+ l_____ OdinEF 262.0
+ l_____ OldEnglishEF 263.0
+ l_____ OldStyleSeven 264.0
+ l_____ OldStyleSeven-SC 264.1
+ l_____ OldStyleSeven-Italic 264.2
+ l_____ OldStyleSeven-ItalicOsF 264.3
+ l_____ MonotypeOldStyleMT-BoldOut 264.4
+ l_____ OldTypewriterEF-ExLight 265.0
+ l_____ OldTypewriterEF-ExLightObl 265.1
+ l_____ OldTypewriterEF-Light 265.2
+ l_____ OldTypewriterEF-LightObl 265.3
+ l_____ OldTypewriterEF-Regular 265.4
+ l_____ OldTypewriterEF-RegularA 265.5
+ l_____ OldTypewriterEF-RegularObl 265.6
+ l_____ OldTypewriterEF-Bold 265.7
+ l_____ OldTypewriterEF-BoldObl 265.8
+ l_____ OldTypewriterEF-ExBold 265.9
+ l_____ OldTypewriterEF-ExBoldObl 265.10
+ l_____ OlympiaEF-Light 266.1
+ l_____ OlympiaEF-LightOblique 266.2
+ l_____ OlympiaEF-SemiBold 266.3
+ l_____ OlympiaEF-SemiBoldOblique 266.4
+ l_____ Olympian 267.0
+ l_____ Olympian-Italic 267.1
+ l_____ Olympian-Bold 267.2
+ l_____ Olympian-BoldItalic 267.3
+ l_____ Omnia 268.0
+ l_____ OndineEF 269.1
+ l_____ OnyxMT 270.0
+ l_____ Orator 271.0
+ l_____ Orator-Slanted 271.1
+ l_____ Oxford 272.0
+ l_____ Caecilia-Light 273.0
+ l_____ Caecilia-LightSC 273.1
+ l_____ Caecilia-LightOsF 273.2
+ l_____ Caecilia-LightItalic 273.3
+ l_____ Caecilia-LightItalicSC 273.4
+ l_____ Caecilia-LightItalicOsF 273.5
+ l_____ Caecilia-Roman 273.6
+ l_____ Caecilia-RomanSC 273.7
+ l_____ Caecilia-RomanOsF 273.8
+ l_____ Caecilia-Italic 273.9
+ l_____ Caecilia-ItalicSC 273.10
+ l_____ Caecilia-ItalicOsF 273.11
+ l_____ Caecilia-Bold 273.12
+ l_____ Caecilia-BoldSC 273.13
+ l_____ Caecilia-BoldOsF 273.14
+ l_____ Caecilia-BoldItalic 273.15
+ l_____ Caecilia-BoldItalicSC 273.16
+ l_____ Caecilia-BoldItalicOsF 273.17
+ l_____ Caecilia-Heavy 273.18
+ l_____ Caecilia-HeavySC 273.19
+ l_____ Caecilia-HeavyOsF 273.20
+ l_____ Caecilia-HeavyItalic 273.21
+ l_____ Caecilia-HeavyItalicSC 273.22
+ l_____ Caecilia-HeavyItalicOsF 273.23
+ l_____ CaeciliaCE-Light 273.24
+ l_____ CaeciliaCE-LightItalic 273.25
+ l_____ CaeciliaCE-Roman 273.26
+ l_____ CaeciliaCE-Italic 273.27
+ l_____ CaeciliaCE-Bold 273.28
+ l_____ CaeciliaCE-BoldItalic 273.29
+ l_____ CaeciliaCE-Heavy 273.30
+ l_____ CaeciliaCE-HeavyItalic 273.31
+ l_____ PalaceScriptMT-Regular 274.0
+ l_____ PalaceScriptMT-Bold 274.1
+ l_____ Palatino-Light 275.0
+ l_____ Palatino-LightItalic 275.1
+ l_____ Palatino-Roman 275.2
+ l_____ Palatino-SC 275.3
+ l_____ Palatino-Italic 275.4
+ l_____ Palatino-ItalicOsF 275.5
+ l_____ Palatino-Medium 275.6
+ l_____ Palatino-MediumItalic 275.7
+ l_____ Palatino-Bold 275.8
+ l_____ Palatino-BoldOsF 275.9
+ l_____ Palatino-BoldItalic 275.10
+ l_____ Palatino-BoldItalicOsF 275.11
+ l_____ Palatino-Black 275.12
+ l_____ Palatino-BlackItalic 275.13
+ l_____ PalatinoCE-Roman 275.14
+ l_____ PalatinoCE-Italic 275.15
+ l_____ PalatinoCE-Bold 275.16
+ l_____ PalatinoCE-BoldItalic 275.17
+ l_____ PaletteEF 276.0
+ l_____ Parisian 277.0
+ l_____ ParkAvenue 278.0
+ l_____ ParkAvenueEF 278.1
+ l_____ Pelican 279.0
+ l_____ PepitaMT 281.0
+ l_____ Pepperwood-Regular 282.0
+ l_____ Pepperwood-Fill 282.1
+ l_____ Pepperwood-Outline 282.2
+ l_____ Perpetua 283.0
+ l_____ Perpetua-SC 283.1
+ l_____ Perpetua-Expert 283.2
+ l_____ Perpetua-Italic 283.3
+ l_____ Perpetua-ItalicOsF 283.4
+ l_____ Perpetua-ItalicExp 283.5
+ l_____ Perpetua-Bold 283.6
+ l_____ Perpetua-BoldOsF 283.7
+ l_____ Perpetua-BoldExp 283.8
+ l_____ Perpetua-BoldItalic 283.9
+ l_____ Perpetua-BoldItalicOsF 283.10
+ l_____ Perpetua-BoldItalicExp 283.11
+ l_____ PhotinaMT 284.0
+ l_____ PhotinaMT-Italic 284.1
+ l_____ PhotinaMT-SemiBold 284.2
+ l_____ PhotinaMT-SemiBoldItalic 284.3
+ l_____ PhotinaMT-Bold 284.4
+ l_____ PhotinaMT-BoldItalic 284.5
+ l_____ PhotinaMT-UltraBold 284.6
+ l_____ PhotinaMT-UltraBoldItalic 284.7
+ l_____ PhyllisEF 285.0
+ l_____ PhyllisEF-Initials 285.1
+ l_____ PioneerEF 287.0
+ l_____ PlazaEF-Regular 288.0
+ l_____ PlazaEF-Alternate 288.1
+ l_____ PlazaEF-Ultra 288.2
+ l_____ PlazaEF-Inline 288.3
+ l_____ PlazaEF-Decorative 288.4
+ l_____ Ponderosa 289.0
+ l_____ PrestigeElite 290.0
+ l_____ PrestigeElite-Slanted 290.1
+ l_____ PrestigeElite-Bold 290.2
+ l_____ PrestigeElite-BoldSlanted 290.3
+ l_____ PromotorEF-Regular 291.0
+ l_____ QuentinEF 292.0
+ l_____ Raleigh 293.0
+ l_____ Raleigh-Medium 293.1
+ l_____ Raleigh-DemiBold 293.2
+ l_____ Raleigh-Bold 293.3
+ l_____ RenaultEF-Light 294.0
+ l_____ RenaultEF-LightItalic 294.1
+ l_____ RenaultEF-Bold 294.2
+ l_____ RenaultEF-BoldItalic 294.3
+ l_____ Revue 295.0
+ l_____ RevueEF 295.1
+ l_____ RoemischStehendHar 296.0
+ l_____ RoemischLiegendHar 296.1
+ l_____ RoemischRueckLiegHar 296.2
+ l_____ RoemischStehend 296.3
+ l_____ RoemischLiegend 296.4
+ l_____ RoemischRueckLiegend 296.5
+ l_____ RomanaEF-Light 297.0
+ l_____ RomanaEF-Book 297.1
+ l_____ RomanaEF-Medium 297.2
+ l_____ RomanaEF-Demi 297.3
+ l_____ RomanaEF-Bold 297.4
+ l_____ RomanaEF-Ultra 297.5
+ l_____ Romic-Light 298.0
+ l_____ Romic-LightItalic 298.1
+ l_____ Romic-Medium 298.2
+ l_____ Romic-Bold 298.3
+ l_____ Romic-ExtraBold 298.4
+ l_____ RomicEF-Light 298.5
+ l_____ RomicEF-LightItalic 298.6
+ l_____ RomicEF-Medium 298.7
+ l_____ RomicEF-Bold 298.8
+ l_____ RomicEF-ExtraBold 298.9
+ l_____ Rundfunk-Antiqua 299.0
+ l_____ Rundfunk-Grotesk 299.1
+ l_____ Rusticana-Borders 300.1
+ l_____ RuzickaFreehandLH-Roman 301.0
+ l_____ RuzickaFreehandLH-RomanSC 301.1
+ l_____ RuzickaFreehandLH-Bold 301.2
+ l_____ RuzickaFreehandLH-BoldSC 301.3
+ l_____ Salto 303.0
+ l_____ SanMarco 304.0
+ l_____ SanMarco-Dfr 304.1
+ l_____ SchnitzLL 305.0
+ l_____ SchwenneNegroLL 306.0
+ l_____ SchwennelLilaLL 306.1
+ l_____ Scotch-Roman 307.0
+ l_____ Scotch-Italic 307.1
+ l_____ ScriptureEF 308.0
+ l_____ Serifa-Light 309.0
+ l_____ Serifa-LightItalic 309.1
+ l_____ Serifa-Roman 309.2
+ l_____ Serifa-Italic 309.3
+ l_____ Serifa-Bold 309.4
+ l_____ Serifa-Black 309.5
+ l_____ ShamrockEF 310.0
+ l_____ ShamrockEF-AlternateOne 310.1
+ l_____ ShamrockEF-AlternateTwo 310.2
+ l_____ Shannon-Book 311.0
+ l_____ Shannon-Oblique 311.1
+ l_____ Shannon-Bold 311.2
+ l_____ Shannon-ExtraBold 311.3
+ l_____ Shelley-AllegroScript 312.0
+ l_____ Shelley-AndanteScript 312.1
+ l_____ Shelley-VolanteScript 312.2
+ l_____ Sho-Roman 313.0
+ l_____ SinahRomanLL 314.0
+ l_____ SinahBoldLL 314.1
+ l_____ SinahBlackLL 314.2
+ l_____ SinaloaEF 315.0
+ l_____ SloganEF 316.0
+ l_____ Smaragd 317.0
+ l_____ Smaragd-Alternate 318.0
+ l_____ SnellRoundhand-Script 318.1
+ l_____ SnellRoundhand-BoldScript 318.2
+ l_____ SnellRoundhand-BlackScript 318.3
+ l_____ Sonata 319.0
+ l_____ SpartanClassified-Book 320.0
+ l_____ SpartanClassified-Heavy 320.1
+ l_____ SpectrumMT 321.0
+ l_____ SpectrumMT-SC 321.1
+ l_____ SpectrumMT-RomanExpert 321.2
+ l_____ SpectrumMT-Italic 321.3
+ l_____ SpectrumMT-ItalicOsF 321.4
+ l_____ SpectrumMT-ItalicExpert 321.5
+ l_____ SpectrumMT-SemiBold 321.6
+ l_____ SpectrumMT-SemiBoldOsF 321.7
+ l_____ SpectrumMT-SemiBoldExpert 321.8
+ l_____ SpiritEF-Light 322.0
+ l_____ SpiritEF-Regular 322.1
+ l_____ SpiritEF-Bold 322.2
+ l_____ Sprint 323.0
+ l_____ SquireEF-Regular 324.0
+ l_____ SquireEF-Bold 324.1
+ l_____ Stencil 325.0
+ l_____ StencilEF 325.1
+ l_____ Stop 326.0
+ l_____ StopEF 326.1
+ l_____ Studz 327.0
+ l_____ SuperstarEF-Shadow 328.0
+ l_____ SuperstarEF-Regular 328.1
+ l_____ SwiftEF-Light 329.0
+ l_____ SwiftEF-LightItalic 329.1
+ l_____ SwiftEF-Regular 329.2
+ l_____ SwiftSCEF-Regular 329.3
+ l_____ SwiftEF-RegularItalic 329.4
+ l_____ SwiftEF-Bold 329.5
+ l_____ SwiftEF-ExtraBold 329.6
+ l_____ SwiftEF-BoldCondensed 329.7
+ l_____ Syntax-Roman 331.0
+ l_____ Syntax-Italic 331.1
+ l_____ Syntax-Bold 331.2
+ l_____ Syntax-Black 331.3
+ l_____ Syntax-UtraBlack 331.4
+ l_____ TangoEF 332.0
+ l_____ TarragonEF 333.0
+ l_____ Tekton 334.0
+ l_____ Tekton-Oblique 334.1
+ l_____ Tekton-Bold 334.2
+ l_____ Tekton-BoldOblique 334.3
+ l_____ Tempo-HeavyCondensed 335.0
+ l_____ Tempo-HeavyCondensedItalic 335.1
+ l_____ ThorowgoodEF-Regular 336.0
+ l_____ ThorowgoodEF-RegularItalic 336.1
+ l_____ ThunderbirdEF-ExtraCondensed 337.0
+ l_____ ThunderbirdEF-Regular 337.1
+ l_____ TiloEF 338.0
+ l_____ TimelessEF-Light 339.0
+ l_____ TimelessEF-LightItalic 339.1
+ l_____ TimelessEF-Bold 339.2
+ l_____ TitusEF 340.0
+ l_____ Toolbox 341.0
+ l_____ TopographischeZahlentafel 342.0
+ l_____ Trajan-Regular 343.0
+ l_____ Trajan-Bold 343.1
+ l_____ TradeGothicLH-BoldExtended 343.2
+ l_____ TrumpMediaeval-Roman 346.0
+ l_____ TrumpMediaeval-RomanSC 346.1
+ l_____ TrumpMediaeval-Italic 346.2
+ l_____ TrumpMediaeval-ItalicOsF 346.3
+ l_____ TrumpMediaeval-Bold 346.4
+ l_____ TrumpMediaeval-BoldOsF 346.5
+ l_____ TrumpMediaeval-BoldItalic 346.6
+ l_____ TrumpMediaeval-BoldItalicOsF 346.7
+ l_____ Umbra 348.0
+ l_____ Univers-Light 349.0
+ l_____ Univers-LightOblique 349.1
+ l_____ Univers 349.2
+ l_____ Univers-Oblique 349.3
+ l_____ Univers-Bold 349.4
+ l_____ Univers-BoldOblique 349.5
+ l_____ Univers-Black 349.7
+ l_____ Univers-BlackOblique 349.8
+ l_____ Univers-ExtraBlack 349.9
+ l_____ Univers-ExtraBlackOblique 349.10
+ l_____ Univers-CondensedLight 349.11
+ l_____ Univers-CondensedLightOblique 349.12
+ l_____ Univers-Condensed 349.13
+ l_____ Univers-CondensedOblique 349.14
+ l_____ Univers-CondensedBold 349.15
+ l_____ Univers-CondensedBoldOblique 349.16
+ l_____ Univers-ThinUltraCondensed 349.17
+ l_____ Univers-LightUltraCondensedTwo 349.18
+ l_____ Univers-UltraCondensed 349.19
+ l_____ Univers-Extended 349.20
+ l_____ Univers-ExtendedObl 349.21
+ l_____ Univers-BoldExt 349.22
+ l_____ Univers-BoldExtObl 349.23
+ l_____ Univers-BlackExt 349.24
+ l_____ Univers-BlackExtObl 349.25
+ l_____ Univers-ExtraBlackExt 349.26
+ l_____ Univers-ExtraBlackExtObl 349.27
+ l_____ UniversCE-Light 349.28
+ l_____ UniversCE-LightOblique 349.29
+ l_____ UniversCE-Medium 349.30
+ l_____ UniversCE-Oblique 349.31
+ l_____ UniversCE-Bold 349.32
+ l_____ UniversCE-BoldOblique 349.33
+ l_____ UniversCE-Black 349.34
+ l_____ UniversCE-BlackOblique 349.35
+ lpi___ MathematicalPi-One 350.0
+ lpi___ MathematicalPi-Two 350.1
+ lpi___ MathematicalPi-Three 350.2
+ lpi___ MathematicalPi-Four 350.3
+ lpi___ MathematicalPi-Five 350.4
+ lpi___ MathematicalPi-Six 350.5
+ lpi___ Unversal-GreekwithMathPi 351.0
+ lpi___ MICR 351.1
+ lpi___ Unversal-NewswithCommPi 351.2
+ l_____ University-Roman 352.0
+ l_____ UniversityEF-Roman 352.1
+ l_____ UniversityEF-RomanItalic 352.2
+ l_____ UniversityEF-Bold 352.3
+ l_____ VAGRounded-Thin 353.0
+ l_____ VAGRounded-Light 353.1
+ l_____ VAGRounded-Bold 353.2
+ l_____ VAGRounded-Black 353.3
+ l_____ VAGRundschriftEF 353.4
+ l_____ VanDijkEF 354.0
+ l_____ VictorianEF 355.0
+ l_____ VivaldiEF 356.0
+ l_____ Walbaum-Roman 357.0
+ l_____ Walbaum-RomanSC 357.1
+ l_____ Walbaum-RomanOsF 357.2
+ l_____ Walbaum-Italic 357.3
+ l_____ Walbaum-ItalicOsF 357.4
+ l_____ Walbaum-Bold 357.5
+ l_____ Walbaum-BoldOsF 357.6
+ l_____ Walbaum-BoldItalic 357.7
+ l_____ Walbaum-BoldItalicOsF 357.8
+ l_____ WalbaumEF-Regular 357.9
+ l_____ WalbaumEF-RegularItalic 357.10
+ l_____ WalbaumEF-Medium 357.11
+ l_____ WalbaumEF-MediumItalic 357.12
+ l_____ WalbaumEF-Bold 357.13
+ l_____ WalbaumEF-BoldItalic 357.14
+ l_____ WalbaumBook-Regular 357.15
+ l_____ WalbaumBook-RegularSC 357.16
+ l_____ WalbaumBook-RegularExpert 357.17
+ l_____ WalbaumBook-Italic 357.18
+ l_____ WalbaumBook-ItalicOsF 357.19
+ l_____ WalbaumBook-ItalicExpert 357.20
+ l_____ WalbaumBook-Medium 357.21
+ l_____ WalbaumBook-MediumSC 357.22
+ l_____ WalbaumBook-MdExpert 357.23
+ l_____ WalbaumBook-MediumItalic 357.24
+ l_____ WalbaumBook-MdItalicOsF 357.25
+ l_____ WalbaumBook-MdItalicExpert 357.26
+ l_____ WalbaumBook-Bold 357.27
+ l_____ WalbaumBook-BoldOsF 357.28
+ l_____ WalbaumBook-BoldExpert 357.29
+ l_____ WalbaumBook-BoldItalic 357.30
+ l_____ WalbaumBook-BoldItalicOsF 357.31
+ l_____ WalbaumBook-BoldItalicExpert 357.32
+ l_____ WalbaumFrakturEF 357.33
+ l_____ WhyNotEF 358.0
+ l_____ WilhelmKlingsporGotisch 359.0
+ l_____ WilhelmKlingsporGotisch-Dfr 359.1
+ l_____ WindsorEF-Light 360.0
+ l_____ WindsorEF-Bold 360.1
+ l_____ WindsorEF-UltraHeavy 360.2
+ l_____ WindsorEF-BoldOutline 360.3
+ l_____ WindsorEF-LightCondensed 360.4
+ l_____ WindsorEF-ExtraBoldCondensed 360.5
+ l_____ WindsorEF-Elongated 360.6
+ ppi___ WoodtypeOrnaments-One 361.0
+ ppi___ WoodtypeOrnaments-Two 361.1
+ l_____ ZipperEF 363.0
+ l_____ BelshawEF 364.0
+ l_____ Belwe-Light 365.0
+ l_____ Belwe-Medium 365.1
+ l_____ Belwe-Bold 365.2
+ l_____ Belwe-Condensed 365.3
+ l_____ BelweEF-Light 365.4
+ l_____ BelweEF-Italic 365.5
+ l_____ BelweEF-Medium 365.6
+ l_____ BelweEF-Bold 365.7
+ l_____ BelweEF-BoldCondensed 365.8
+ l_____ Bembo 366.0
+ l_____ Bembo-SC 366.1
+ l_____ Bembo-Expert 366.2
+ l_____ Bembo-Italic 366.3
+ l_____ Bembo-ItalicOsF 366.4
+ l_____ Bembo-ItalicExpert 366.5
+ l_____ Bembo-Semibold 366.6
+ l_____ Bembo-SemiboldOsF 366.7
+ l_____ Bembo-SemiboldExpert 366.8
+ l_____ Bembo-SemiboldItalic 366.9
+ l_____ Bembo-SemiboldItalicOsF 366.10
+ l_____ Bembo-SemiboldItalicExpert 366.11
+ l_____ Bembo-Bold 366.12
+ l_____ Bembo-BoldOsF 366.13
+ l_____ Bembo-BoldExpert 366.14
+ l_____ Bembo-BoldItalic 366.15
+ l_____ Bembo-BoldItalicOsF 366.16
+ l_____ Bembo-BoldItalicExpert 366.17
+ l_____ Bembo-ExtraBold 366.18
+ l_____ Bembo-ExtraBoldOsF 366.19
+ l_____ Bembo-ExtraBoldExpert 366.20
+ l_____ Bembo-ExtraBoldItalic 366.21
+ l_____ Bembo-ExtraBoldItalicOsF 366.22
+ l_____ Bembo-ExtraBoldItalicExpert 366.23
+ l_____ BerlinerGrotesk-Light 368.0
+ l_____ BerlinerGrotesk-Medium 368.1
+ l_____ LoType-Light 369.0
+ l_____ LoType-Regular 369.1
+ l_____ LoType-Medium 369.2
+ l_____ LoType-MediumItalic 369.3
+ l_____ LoType-Bold 369.4
+ l_____ LoType-MediumCondensed 369.5
+ l_____ BiffoMT 370.0
+ l_____ BigbandTerrazzo 371.1
+ l_____ Birch 372.0
+ l_____ BirdsEF 373.0
+ l_____ BlockBE-Regular 375.0
+ l_____ BlockBE-Italic 375.1
+ l_____ BlockBE-Heavy 375.2
+ l_____ BlockBE-Condensed 375.3
+ l_____ BlockBE-ExtraCn 375.4
+ l_____ BlockBE-ExtraCnItalic 375.5
+ l_____ BoberiaLL-Light 376.0
+ l_____ BoberiaLL-LightItalic 376.1
+ l_____ BoberiaLL-SemiBold 376.2
+ l_____ Bodoni-Book 377.0
+ l_____ Bodoni-BookItalic 377.1
+ l_____ Bodoni 377.2
+ l_____ Bodoni-Italic 377.3
+ l_____ Bodoni-Bold 377.4
+ l_____ Bodoni-BoldItalic 377.5
+ l_____ Bodoni-BoldCondensed 377.6
+ l_____ BodoniEF-Light 377.7
+ l_____ BodoniEF-LightIta 377.8
+ l_____ BodoniEF-Regular 377.9
+ l_____ BodoniEF-RegularIta 377.10
+ l_____ BodoniEF-DemiBold 377.11
+ l_____ BodoniEF-Bold 377.12
+ l_____ BodoniEF-DemiBoldIta 377.13
+ l_____ BodoniEF-BoldIta 377.14
+ l_____ BodoniEF-RegularCn 377.15
+ l_____ BodoniEF-RegularCnIta 377.16
+ l_____ BodoniEF-BoldCn 377.17
+ l_____ BodoniEF-DemiBoldCn 377.18
+ l_____ BodoniEF-BoldCnItalic 377.19
+ l_____ BodoniEF-DemiBoldCnIta 377.20
+ l_____ BodoniEF-Black 377.21
+ l_____ BodoniEF-BlackIta 377.22
+ l_____ BodoniEF-Ultra 377.23
+ l_____ BauerBodoni-Roman 377.24
+ l_____ BauerBodoni-RomanSC 377.25
+ l_____ BauerBodoni-RomanOsF 377.26
+ l_____ BauerBodoni-Italic 377.27
+ l_____ BauerBodoni-ItalicOsF 377.28
+ l_____ BauerBodoni-Bold 377.29
+ l_____ BauerBodoni-BoldOsF 377.30
+ l_____ BauerBodoni-BoldItalic 377.31
+ l_____ BauerBodoni-BoldItalicOsF 377.32
+ l_____ BauerBodoni-Black 377.33
+ l_____ BauerBodoni-BlackItalic 377.34
+ l_____ BauerBodoni-BoldCond 377.35
+ l_____ BauerBodoni-BlackCond 377.36
+ l_____ BauerBodoniCE-Roman 377.37
+ l_____ BauerBodoniCE-Italic 377.38
+ l_____ BauerBodoniCE-Bold 377.39
+ l_____ BauerBodoniCE-BoldItalic 377.40
+ l_____ BauerBodoniCE-Black 377.41
+ l_____ BauerBodoniCE-BlackItalic 377.42
+ l_____ BauerBodoniCE-BoldCondensed 377.43
+ l_____ BauerBodoniCE-BlackCondensed 377.44
+ l_____ BauerBodoniEF-Regular 377.45
+ l_____ BauerBodoniEF-RegularItalic 377.46
+ l_____ BauerBodoniEF-Medium 377.47
+ l_____ BauerBodoniEF-MediumItalic 377.48
+ l_____ BauerBodoniEF-Bold 377.49
+ l_____ BauerBodoniEF-BoldItalic 377.50
+ l_____ BodoniBE-Light 377.51
+ l_____ BodoniBE-LightSC 377.52
+ l_____ BodoniBE-LightExpert 377.53
+ l_____ BodoniBE-LightItalic 377.54
+ l_____ BodoniBE-LightItalicOsF 377.55
+ l_____ BodoniBE-LightItalicExpert 377.56
+ l_____ BodoniBE-Regular 377.57
+ l_____ BodoniBE-RegularSC 377.58
+ l_____ BodoniBE-RegularExp 377.59
+ l_____ BodoniBE-Italic 377.60
+ l_____ BodoniBE-ItalicOsF 377.61
+ l_____ BodoniBE-ItalicExp 377.62
+ l_____ BodoniBE-Medium 377.63
+ l_____ BodoniBE-MediumSC 377.64
+ l_____ BodoniBE-MediumExp 377.65
+ l_____ BodoniBE-MediumItalic 377.66
+ l_____ BodoniBE-MediumItalicOsF 377.67
+ l_____ BodoniBE-MediumItalicExp 377.68
+ l_____ BodoniBE-Bold 377.69
+ l_____ BodoniBE-BoldOsF 377.70
+ l_____ BodoniBE-BoldExp 377.71
+ l_____ BodoniBE-BoldItalic 377.72
+ l_____ BodoniBE-BoldItalicOsF 377.73
+ l_____ BodoniBE-BoldItalicExp 377.74
+ l_____ BodoniBE-Condensed 377.75
+ l_____ BodoniBE-CnItalic 377.76
+ l_____ BodoniBE-MediumCn 377.77
+ l_____ BodoniBE-MediumCnItalic 377.78
+ l_____ BodoniBE-BoldCn 377.79
+ l_____ BodoniBE-BoldCnItalic 377.80
+ l_____ Bodoni-Poster 377.81
+ l_____ Bodoni-PosterItalic 377.82
+ l_____ Bodoni-PosterCompressed 377.83
+ l_____ BodoniSixEF-Book 377.84
+ l_____ BodoniSixEF-BookSC 377.85
+ l_____ BodoniSixEF-BookItalic 377.86
+ l_____ BodoniSixEF-Bold 377.87
+ l_____ BodoniSixEF-BoldItalic 377.88
+ l_____ BodoniTwelveEF-Book 377.89
+ l_____ BodoniTwelveEF-BookSC 377.90
+ l_____ BodoniTwelveEF-BookItalic 377.91
+ l_____ BodoniTwelveEF-Bold 377.92
+ l_____ BodoniTwelveEF-BoldItalic 377.93
+ l_____ BodoniSeventytwoEF-Book 377.94
+ l_____ BodoniSeventytwoEF-BookSC 377.95
+ l_____ BodoniSeventytwoEF-BookIta 377.96
+ l_____ BodoniSeventytwoEF-Bold 377.97
+ l_____ BodoniSeventytwoEF-BoldIta 377.98
+ l_____ BodoniOldFaceBE-Regular 377.99
+ l_____ BodoniOldFaceBE-RegularSC 377.100
+ l_____ BodoniOldFaceBE-RegularExp 377.101
+ l_____ BodoniOldFaceBE-Italic 377.102
+ l_____ BodoniOldFaceBE-ItalicSC 377.103
+ l_____ BodoniOldFaceBE-ItalicExp 377.104
+ l_____ BodoniOldFaceBE-Medium 377.105
+ l_____ BodoniOldFaceBE-MediumSC 377.106
+ l_____ BodoniOldFaceBE-MediumExp 377.107
+ l_____ BodoniOldFaceBE-MediumIt 377.108
+ l_____ BodoniOldFaceBE-MediumItOsF 377.109
+ l_____ BodoniOldFaceBE-MediumItExp 377.110
+ l_____ BodoniOldFaceBE-Bold 377.111
+ l_____ BodoniOldFaceBE-BoldOsF 377.112
+ l_____ BodoniOldFaceBE-BoldExp 377.113
+ l_____ BodoniOldFaceBE-BoldIt 377.114
+ l_____ BodoniOldFaceBE-BoldItOsF 377.115
+ l_____ BodoniOldFaceBE-BoldItExp 377.116
+ l_____ BordeauxEF-Regular 378.0
+ l_____ BordeauxEF-RegularItalic 378.1
+ l_____ BordeauxScriptEF 378.2
+ l_____ Boulevard 380.0
+ l_____ BritannicEF-ExtraLight 382.0
+ l_____ BritannicEF-Light 382.1
+ l_____ BritannicEF-Medium 382.2
+ l_____ BritannicEF-Bold 382.3
+ l_____ BritannicEF-Ultra 382.4
+ l_____ BrodyEF 383.0
+ l_____ BronxEF 384.0
+ l_____ BrushScript 385.0
+ l_____ BrushScriptEF 385.1
+ l_____ BuxomEF 386.0
+ l_____ CabaretEF 387.0
+ l_____ CalvertMT-Light 389.0
+ l_____ CalvertMT-Regular 389.1
+ l_____ CalvertMT-Bold 389.2
+ l_____ CamelliaEF 390.0
+ l_____ Candida-Roman 391.0
+ l_____ Candida-Italic 391.1
+ l_____ Candida-Bold 391.2
+ l_____ CandidaEF-Regular 391.3
+ l_____ CandidaEF-RegularItalic 391.4
+ l_____ CandidaEF-Medium 391.5
+ l_____ CandidaEF-RegularCondensed 391.6
+ l_____ CandidaEF-MediumCondensed 391.7
+ l_____ CantoriaMT-Light 392.0
+ l_____ CantoriaMT-LightItalic 392.1
+ l_____ CantoriaMT-Roman 392.2
+ l_____ CantoriaMT-Italic 392.3
+ l_____ CantoriaMT-SemiBold 392.4
+ l_____ CantoriaMT-SemiBoldItalic 392.5
+ l_____ CantoriaMT-Bold 392.6
+ l_____ CantoriaMT-BoldItalic 392.7
+ l_____ CantoriaMT-ExtraBold 392.8
+ l_____ CantoriaMT-ExtraBoldItalic 392.9
+ l_____ Carolina 393.0
+ l_____ Carolina-Dfr 393.1
+ l_____ Carta 394.0
+ l_____ CartoonScript-Roman 395.0
+ l_____ ACaslon-Regular 396.0
+ l_____ ACaslon-AltRegular 396.1
+ l_____ ACaslon-RegularSC 396.2
+ l_____ ACaslonExp-Regular 396.3
+ l_____ ACaslon-Italic 396.4
+ l_____ ACaslon-AltItalic 396.5
+ l_____ ACaslon-ItalicOsF 396.6
+ l_____ ACaslonExp-Italic 396.7
+ l_____ ACaslon-Semibold 396.8
+ l_____ ACaslon-AltSemibold 396.9
+ l_____ ACaslon-SemiboldSC 396.10
+ l_____ ACaslonExp-Semibold 396.11
+ l_____ ACaslon-SemiboldItalic 396.12
+ l_____ ACaslon-AltSemiboldItalic 396.13
+ l_____ ACaslon-SemiboldItalicOsF 396.14
+ l_____ ACaslonExp-SemiboldItalic 396.15
+ l_____ ACaslon-Bold 396.16
+ l_____ ACaslon-AltBold 396.17
+ l_____ ACaslon-BoldOsF 396.18
+ l_____ ACaslonExp-Bold 396.19
+ l_____ ACaslon-BoldItalic 396.20
+ l_____ ACaslon-AltBoldItalic 396.21
+ l_____ ACaslon-BoldItalicOsF 396.22
+ l_____ ACaslonExp-BoldItalic 396.23
+ l_____ ACaslon-SwashItalic 396.24
+ l_____ ACaslon-SwashSemiboldItalic 396.25
+ l_____ ACaslon-SwashBoldItalic 396.26
+ l_____ ACaslon-Ornaments 396.27
+ l_____ CaslonThree-Roman 396.28
+ l_____ CaslonThree-RomanSC 396.29
+ l_____ CaslonThree-Italic 396.30
+ l_____ CaslonThree-ItalicOsF 396.31
+ l_____ CaslonFiveFourty-Roman 396.32
+ l_____ CaslonFiveFourty-RomanSC 396.33
+ l_____ CaslonFiveFourty-Italic 396.34
+ l_____ CaslonFiveFourty-ItalicOsF 396.35
+ l_____ CaslonOpenFace 396.36
+ l_____ CaslonFiveFourtyEF-Italic 396.37
+ l_____ CaslonBlackEF 396.38
+ l_____ CaslonAntiqueEF 396.39
+ l_____ CaslonGraphiqueEF 396.40
+ l_____ CaslonTwoTwentyFour-Book 396.41
+ l_____ CaslonTwoTwentyFour-BookIt 396.42
+ l_____ CaslonTwoTwentyFour-Medium 396.43
+ l_____ CaslonTwoTwentyFour-MediumIt 396.44
+ l_____ CaslonTwoTwentyFour-Bold 396.45
+ l_____ CaslonTwoTwentyFour-BoldIt 396.46
+ l_____ CaslonTwoTwentyFour-Black 396.47
+ l_____ CaslonTwoTwentyFour-BlackIt 396.48
+ l_____ CaslonTwoTwentyFourEF-Book 396.49
+ l_____ CaslonTwoTwentyFourEF-BookIt 396.50
+ l_____ CaslonTwoTwentyFourEF-Medium 396.51
+ l_____ CaslonTwoTwentyFourEF-MediumIt 396.52
+ l_____ CaslonTwoTwentyFourEF-Bold 396.53
+ l_____ CaslonTwoTwentyFourEF-BoldI 396.54
+ l_____ CaslonTwoTwentyFourEF-Black 396.55
+ l_____ CaslonTwoTwentyFourEF-BlackIt 396.56
+ l_____ CaslonBookBE-Regular 396.57
+ l_____ CaslonBookBE-RegularSC 396.58
+ l_____ CaslonBookBE-RegularExp 396.59
+ l_____ CaslonBookBE-Italic 396.60
+ l_____ CaslonBookBE-ItalicOsF 396.61
+ l_____ CaslonBookBE-ItalicExp 396.62
+ l_____ CaslonBookBE-Medium 396.63
+ l_____ CaslonBookBE-MediumSC 396.64
+ l_____ CaslonBookBE-MediumExp 396.65
+ l_____ CaslonBookBE-Bold 396.66
+ l_____ CaslonBookBE-BoldOsF 396.67
+ l_____ CaslonBookBE-BoldExp 396.68
+ l_____ CastleEF-Light 397.0
+ l_____ CastleEF-Book 397.1
+ l_____ CastleEF-Bold 397.2
+ l_____ CastleEF-Ultra 397.3
+ l_____ Catull-Regular 398.0
+ l_____ Catull-Italic 398.1
+ l_____ Catull-Medium 398.2
+ l_____ Catull-Bold 398.3
+ l_____ Caxton-Light 399.0
+ l_____ Caxton-LightItalic 399.1
+ l_____ Caxton-BookItalic 399.2
+ l_____ Caxton-Book 399.3
+ l_____ Caxton-Bold 399.4
+ l_____ Caxton-BoldItalic 399.5
+ l_____ CaxtonEF-Light 399.6
+ l_____ CaxtonEF-LightItalic 399.7
+ l_____ CaxtonEF-Book 399.8
+ l_____ CaxtonEF-BookItalic 399.9
+ l_____ CaxtonEF-Bold 399.10
+ l_____ CaxtonEF-BoldItalic 399.11
+ l_____ CaxtonEF-ExtraBold 399.12
+ l_____ CaxtonEF-ExtraBoldItalic 399.13
+ l_____ CaxtonEF-BoldCondensed 399.14
+ l_____ CaxtonEF-ExtraBoldCondensed 399.15
+ l_____ CentaurMT-Regular 400.0
+ l_____ CentaurMT-RegularSC 400.1
+ l_____ CentaurMT-RegularExpert 400.2
+ l_____ CentaurMT-Italic 400.3
+ l_____ CentaurMT-ItalicA 400.4
+ l_____ CentaurMT-ItalicAlternate 400.5
+ l_____ CentaurMT-ItalicOsF 400.6
+ l_____ CentaurMT-ItalicExpert 400.7
+ l_____ CentaurMT-Bold 400.8
+ l_____ CentaurMT-BoldOsF 400.9
+ l_____ CentaurMT-BoldExpert 400.10
+ l_____ CentaurMT-BoldItalic 400.11
+ l_____ CentaurMT-BoldItalicOsF 400.12
+ l_____ CentaurMT-BoldItalicExpert 400.13
+ l_____ CentaurMT-ItalicSwash 400.14
+ l_____ ChallengeEF-Bold 401.0
+ l_____ ChallengeEF-ExtraBold 401.1
+ l_____ Charme 402.0
+ l_____ Cheltenham-Light 403.0
+ l_____ Cheltenham-LightItalic 403.1
+ l_____ Cheltenham-Book 403.2
+ l_____ Cheltenham-BookItalic 403.3
+ l_____ Cheltenham-Bold 403.4
+ l_____ Cheltenham-BoldItalic 403.5
+ l_____ Cheltenham-Ultra 403.6
+ l_____ Cheltenham-UltraItalic 403.7
+ l_____ Cheltenham-LightCond 403.8
+ l_____ Cheltenham-LightCondItalic 403.9
+ l_____ Cheltenham-BookCond 403.10
+ l_____ Cheltenham-BookCondItalic 403.11
+ l_____ Cheltenham-BoldCond 403.12
+ l_____ Cheltenham-BoldCondItalic 403.13
+ l_____ Cheltenham-UltraCond 403.14
+ l_____ Cheltenham-UltraCondItalic 403.15
+ l_____ CheltenhamEF-Light 403.16
+ l_____ CheltenhamEF-LightItalic 403.17
+ l_____ CheltenhamEF-Book 403.18
+ l_____ CheltenhamEF-BookItalic 403.19
+ l_____ CheltenhamEF-Bold 403.20
+ l_____ CheltenhamEF-BoldItalic 403.21
+ l_____ CheltenhamEF-Ultra 403.22
+ l_____ CheltenhamEF-UltraItalic 403.23
+ l_____ CheltenhamHandtEF-Bold 403.24
+ l_____ CheltenhamHandtEF-BoldItalic 403.25
+ l_____ CheltenhamEF-LightCond 403.26
+ l_____ CheltenhamEF-LightCondItalic 403.27
+ l_____ CheltenhamEF-BookCond 403.28
+ l_____ CheltenhamEF-BookCondItalic 403.29
+ l_____ CheltenhamEF-BoldCond 403.30
+ l_____ CheltenhamEF-BoldCondItalic 403.31
+ l_____ CheltenhamEF-UltraCond 403.32
+ l_____ CheltenhamEF-UltraCondItalic 403.33
+ l_____ CheltenhamOldStyleEF 403.34
+ l_____ Cheq 404.0
+ l_____ ChiselEF 405.0
+ l_____ DigiGroteskNEF-Light 406.0
+ l_____ DigiGroteskNEF-Bold 406.1
+ l_____ DigiGroteskNEF-SemiBoldCond 406.2
+ l_____ DigiGroteskNEF-BoldCondens 406.3
+ l_____ DigiGroteskSEF-Light 406.4
+ l_____ DigiGroteskSEF-SemiBold 406.5
+ l_____ DomCasual 407.0
+ l_____ DomCasual-Bold 407.1
+ l_____ DomEF-CasualRegular 407.2
+ l_____ DomEF-DiagonalRegular 407.3
+ l_____ DomEF-CasualBold 407.4
+ l_____ DomEF-DiagonalBold 407.5
+ l_____ DorchesterScriptMT 408.0
+ l_____ DynamoEF-Medium 409.0
+ l_____ DynamoEF-Bold 409.1
+ l_____ DynamoEF-BoldShadow 409.2
+ l_____ DynamoEF-BoldCondensed 409.3
+ l_____ EdisonEF-Book 410.0
+ l_____ EdisonEF-BookItalic 410.1
+ l_____ EdisonEF-SemiBold 410.2
+ l_____ EdisonEF-SemiBoldItalic 410.3
+ l_____ EdisonEF-BoldCondensed 410.4
+ l_____ EdwardianEF-Light 411.0
+ l_____ EdwardianEF-LightIta 411.1
+ l_____ EdwardianEF-Medium 411.2
+ l_____ EdwardianEF-MediumIta 411.3
+ l_____ EdwardianEF-Bold 411.4
+ l_____ EdwardianEF-BoldIta 411.5
+ l_____ EdwardianEF-ExtraBold 411.6
+ l_____ EdwardianEF-ExtraBoldIta 411.7
+ l_____ EgizioEF-Condensed 412.0
+ l_____ EgyptianEF-BoldCondensed 414.0
+ l_____ EgyptianEF-BoldExtended 414.1
+ l_____ EgyptienneEF-MediumCond 415.0
+ l_____ EhrhardtMT-Roman 416.0
+ l_____ EhrhardtMT-Italic 416.1
+ l_____ EhrhardtMT-SemiBold 416.2
+ l_____ EhrhardtMt-SemiBoldItalic 416.3
+ l_____ EirinnAsciiLL 417.0
+ l_____ EirinnGaelicLL 417.1
+ l_____ ElGreco 418.0
+ l_____ ElefontEF 419.0
+ l_____ EllingtonMT-Light 420.0
+ l_____ EllingtonMT-LightItalic 420.1
+ l_____ EllingtonMT-Roman 420.2
+ l_____ EllingtonMT-Italic 420.3
+ l_____ EllingtonMT-Bold 420.4
+ l_____ EllingtonMT-BoldItalic 420.5
+ l_____ EllingtonMT-ExtraBold 420.6
+ l_____ EllingtonMT-ExtraBoldItalic 420.7
+ l_____ EnglishScriptEF-Regular 421.0
+ l_____ EnglishScriptEF-Bold 421.1
+ l_____ EnglishScriptEF-DemiBold 421.2
+ l_____ Erbar-LightCondensed 422.0
+ l_____ Erbar-BoldCondensed 422.1
+ l_____ EscorialEF-Outline 423.0
+ l_____ EscorialEF 423.1
+ l_____ EthnoFontEF 424.0
+ l_____ Eurostile 425.0
+ l_____ Eurostile-Oblique 425.1
+ l_____ Eurostile-Demi 425.2
+ l_____ Eurostile-DemiOblique 425.3
+ l_____ Eurostile-Bold 425.4
+ l_____ Eurostile-BoldOblique 425.5
+ l_____ Eurostile-Condensed 425.6
+ l_____ Eurostile-BoldCondensed 425.7
+ l_____ Eurostile-ExtendedTwo 425.8
+ l_____ Eurostile-BoldExtendedTwo 425.9
+ l_____ EurostileEF-Regular 425.10
+ l_____ EurostileEF-Black 425.11
+ l_____ Excelsior 426.0
+ l_____ Excelsior-Italic 426.1
+ l_____ Excelsior-Bold 426.2
+ l_____ ExcelsiorCE-Roman 426.3
+ l_____ ExcelsiorCE-Italic 426.4
+ l_____ ExcelsiorCE-Bold 426.5
+ l_____ ExcelsiorCyr-Upright 426.6
+ l_____ ExcelsiorCyr-Inclined 426.7
+ l_____ ExcelsiorCyr-Bold 426.8
+ l_____ ExcelsiorEastA-Roman 426.9
+ l_____ ExcelsiorEastA-Italic 426.10
+ l_____ ExcelsiorEastA-Bold 426.11
+ l_____ F2FAlLineato 427.0
+ l_____ F2FCZYKagoTrans 427.1
+ l_____ F2FEntebbe 427.2
+ l_____ F2FHogRoach 427.3
+ l_____ F2FMadZineFear 427.4
+ l_____ F2FMadZineWip 427.5
+ l_____ F2FMekkasoTomanik 427.6
+ l_____ F2FMetamorfosi 427.7
+ l_____ F2FOCRAlexcyzk 427.8
+ l_____ F2FPixmix 427.9
+ l_____ F2FPoisonFlowers 427.10
+ l_____ F2FProvinciali 427.11
+ l_____ F2FSimbolico 427.12
+ l_____ F2FTechLand 427.13
+ l_____ F2FWhaleTreeRnd 427.14
+ l_____ F2FZakGlobe 427.15
+ l_____ Falstaff-Regular 428.0
+ l_____ FetteFraktur 429.0
+ l_____ FetteFraktur-Dfr 429.1
+ l_____ FetteFrakturEF 429.2
+ l_____ FlashEF-Light 430.0
+ l_____ FlashEF-Bold 430.1
+ l_____ Flyer-BlackCondensed 431.0
+ l_____ Flyer-BlackExtraCondensed 431.1
+ l_____ FlyerEF-Bold 431.2
+ l_____ FlyerEF-BoldCondensed 431.3
+ l_____ Folio-Light 432.0
+ l_____ Folio-Medium 432.1
+ l_____ Folio-Bold 432.2
+ l_____ Folio-ExtraBold 432.3
+ l_____ Folio-BoldCondensed 432.4
+ l_____ FolioEF-BoldCondensed 432.5
+ l_____ FolioEF-ExtraCondensed 432.6
+ l_____ Formata-Light 435.0
+ l_____ Formata-LightSC 435.1
+ l_____ Formata-LightExpert 435.2
+ l_____ Formata-LightItalic 435.3
+ l_____ Formata-LightItalicSC 435.4
+ l_____ Formata-LightItalicExpert 435.5
+ l_____ Formata-Regular 435.6
+ l_____ Formata-RegularSC 435.7
+ l_____ Formata-RegularExpert 435.8
+ l_____ Formata-Italic 435.9
+ l_____ Formata-ItalicSC 435.10
+ l_____ Formata-ItalicExpert 435.11
+ l_____ Formata-Medium 435.12
+ l_____ Formata-MediumItalic 435.13
+ l_____ Formata-Bold 435.14
+ l_____ Formata-BoldItalic 435.15
+ l_____ Formata-Outline 435.16
+ l_____ Formata-LightCondensed 435.17
+ l_____ Formata-LightCnSC 435.18
+ l_____ Formata-LightCnExpert 435.19
+ l_____ Formata-LightCondensedItalic 435.20
+ l_____ Formata-LightCnItalicSC 435.21
+ l_____ Formata-LightCnItalicExpert 435.22
+ l_____ Formata-Condensed 435.23
+ l_____ Formata-CondensedOutline 435.24
+ l_____ Formata-CondensedSC 435.25
+ l_____ Formata-CondensedExpert 435.26
+ l_____ Formata-CondensedItalic 435.27
+ l_____ Formata-CnItalicSC 435.28
+ l_____ Formata-CnItalicExpert 435.29
+ l_____ Formata-MediumCondensed 435.30
+ l_____ Formata-MediumCondensedItalic 435.31
+ l_____ Formata-BoldCondensed 435.32
+ l_____ Formata-BoldCondensedItalic 435.33
+ l_____ FrankfurterEF-Medium 436.0
+ l_____ FrankfurterEF-Solid 436.1
+ l_____ FrankfurterEF-Inline 436.2
+ l_____ FrankfurterEF-Highlight 436.3
+ l_____ FreestyleScript 437.0
+ l_____ FreestyleScriptEF-Reg 437.1
+ l_____ FreestyleScriptEF-RegAlt 437.2
+ l_____ FreestyleScriptEF-Bol 437.3
+ l_____ FreestyleScriptEF-BolAlt 437.4
+ l_____ Bauhaus-Light 438.0
+ l_____ Bauhaus-Medium 438.1
+ l_____ Bauhaus-Demi 438.2
+ l_____ Bauhaus-Bold 438.3
+ l_____ Bauhaus-Heavy 438.4
+ l_____ BauhausEF-Light 438.5
+ l_____ BauhausEF-Medium 438.6
+ l_____ BauhausEF-DemiBold 438.7
+ l_____ BauhausEF-Bold 438.8
+ l_____ BauhausEF-Heavy 438.9
+ l_____ BenguiatGothic-Book 439.0
+ l_____ BenguiatGothic-BookOblique 439.1
+ l_____ BenguiatGothic-Medium 439.2
+ l_____ BenguiatGothic-MediumOblique 439.3
+ l_____ BenguiatGothic-Bold 439.4
+ l_____ BenguiatGothic-BoldOblique 439.5
+ l_____ BenguiatGothic-Heavy 439.6
+ l_____ BenguiatGothic-HeavyOblique 439.7
+ l_____ BenguiatGothicEF-Book 439.8
+ l_____ BenguiatGothicEF-BookItalic 439.9
+ l_____ BenguiatGothicEF-Medium 439.10
+ l_____ BenguiatGothicEF-MediumItalic 439.11
+ l_____ BenguiatGothicEF-Bold 439.12
+ l_____ BenguiatGothicEF-BoldItalic 439.13
+ l_____ BenguiatGothicEF-Heavy 439.14
+ l_____ BenguiatGothicEF-HeavyItalic 439.15
+ l_____ Cerigo-Book 440.0
+ l_____ Cerigo-BookItalic 440.1
+ l_____ Cerigo-Medium 440.2
+ l_____ Cerigo-MediumItalic 440.3
+ l_____ Cerigo-Bold 440.4
+ l_____ Cerigo-BoldItalic 440.5
+ l_____ CerigoEF-Book 440.6
+ l_____ CerigoEF-BookSC 440.7
+ l_____ CerigoEF-BookItalic 440.8
+ l_____ CerigoEF-Medium 440.9
+ l_____ CerigoEF-MediumSC 440.10
+ l_____ CerigoEF-MediumItalic 440.11
+ l_____ CerigoEF-Bold 440.12
+ l_____ CerigoEF-BoldItalic 440.13
+ l_____ CerigoEF-BookSwashCaps 440.14
+ l_____ CerigoEF-BookItalicSwashCaps 440.15
+ l_____ Cushing-Book 441.0
+ l_____ Cushing-BookItalic 441.1
+ l_____ Cushing-Medium 441.2
+ l_____ Cushing-MediumItalic 441.3
+ l_____ Cushing-Bold 441.4
+ l_____ Cushing-BoldItalic 441.5
+ l_____ Cushing-Heavy 441.6
+ l_____ Cushing-HeavyItalic 441.7
+ l_____ CushingEF-Book 441.8
+ l_____ CushingEF-BookItalic 441.9
+ l_____ CushingEF-Medium 441.10
+ l_____ CushingEF-MediumItalic 441.11
+ l_____ CushingEF-Bold 441.12
+ l_____ CushingEF-BoldItalic 441.13
+ l_____ CushingEF-Heavy 441.14
+ l_____ CushingEF-HeavyItalic 441.15
+ l_____ Esprit-Book 442.0
+ l_____ Esprit-BookItalic 442.1
+ l_____ Esprit-Medium 442.2
+ l_____ Esprit-MediumItalic 442.3
+ l_____ Esprit-Bold 442.4
+ l_____ Esprit-BoldItalic 442.5
+ l_____ Esprit-Black 442.6
+ l_____ Esprit-BlackItalic 442.7
+ l_____ EspritEF-Book 442.8
+ l_____ EspritEF-BookSC 442.9
+ l_____ EspritEF-BookItalic 442.10
+ l_____ EspritEF-Medium 442.11
+ l_____ EspritEF-MediumSC 442.12
+ l_____ EspritEF-MediumItalic 442.13
+ l_____ EspritEF-Bold 442.14
+ l_____ EspritEF-BoldItalic 442.15
+ l_____ EspritEF-Black 442.16
+ l_____ EspritEF-BlackItalic 442.17
+ l_____ Flora-Roman 443.0
+ l_____ Flora-Bold 443.1
+ l_____ FloraEF-Medium 443.2
+ l_____ FloraEF-Bold 443.3
+ l_____ Galliard-Roman 444.0
+ l_____ Galliard-Italic 444.1
+ l_____ Galliard-Bold 444.2
+ l_____ Galliard-BoldItalic 444.3
+ l_____ Galliard-Black 444.4
+ l_____ Galliard-BlackItalic 444.5
+ l_____ Galliard-Ultra 444.6
+ l_____ Galliard-UltraItalic 444.7
+ l_____ GalliardEF-Roman 444.8
+ l_____ GalliardEF-Italic 444.9
+ l_____ GalliardEF-Bold 444.10
+ l_____ GalliardEF-BoldItalic 444.11
+ l_____ GalliardEF-Black 444.12
+ l_____ GalliardEF-BlackItalic 444.13
+ l_____ GalliardEF-Ultra 444.14
+ l_____ GalliardEF-UltraItalic 444.15
+ l_____ GoldenTypeEF-Original 445.0
+ l_____ GoldenTypeSCEF-Original 445.1
+ l_____ GoldenTypeEF-Bold 445.2
+ l_____ GoldenTypeSCEF-Bold 445.3
+ l_____ GoldenTypeEF-Black 445.4
+ l_____ IsbellEF-Book 446.0
+ l_____ IsbellEF-BookItalic 446.1
+ l_____ IsbellEF-Bold 446.2
+ l_____ IsbellEF-BoldItalic 446.3
+ l_____ Korinna-Regular 447.0
+ l_____ Korinna-KursivRegular 447.1
+ l_____ Korinna-Bold 447.2
+ l_____ Korinna-KursivBold 447.3
+ l_____ KorinnaEF-Regular 447.4
+ l_____ KorinnaEF-RegularKursiv 447.5
+ l_____ KorinnaEF-Bold 447.6
+ l_____ KorinnaEF-BoldKursiv 447.7
+ l_____ KorinnaEF-ExtraBold 447.8
+ l_____ KorinnaEF-ExtraBoldKursiv 447.9
+ l_____ KorinnaEF-Heavy 447.10
+ l_____ KorinnaEF-HeavyKursiv 447.11
+ l_____ LegacySans-Book 448.0
+ l_____ LegacySans-BookItalic 448.1
+ l_____ LegacySans-Medium 448.2
+ l_____ LegacySans-MediumItalic 448.3
+ l_____ LegacySans-Bold 448.4
+ l_____ LegacySans-BoldItalic 448.5
+ l_____ LegacySans-Ultra 448.6
+ l_____ LegacySerif-Book 448.7
+ l_____ LegacySerif-BookItalic 448.8
+ l_____ LegacySerif-Medium 448.9
+ l_____ LegacySerif-MediumItalic 448.10
+ l_____ LegacySerif-Bold 448.11
+ l_____ LegacySerif-BoldItalic 448.12
+ l_____ LegacySerif-Ultra 448.13
+ l_____ LegacySansEF-Book 448.14
+ l_____ LegacySansEF-BookSC 448.15
+ l_____ LegacySansEF-BookItalic 448.16
+ l_____ LegacySansEF-Medium 448.17
+ l_____ LegacySansEF-MediumSC 448.18
+ l_____ LegacySansEF-MediumItalic 448.19
+ l_____ LegacySansEF-Bold 448.20
+ l_____ LegacySansEF-BoldItalic 448.21
+ l_____ LegacySansEF-Ultra 448.22
+ l_____ LegacySerifEF-Book 448.23
+ l_____ LegacySerifEF-BookSC 448.24
+ l_____ LegacySerifEF-BookItalic 448.25
+ l_____ LegacySerifEF-Medium 448.26
+ l_____ LegacySerifEF-MediumSC 448.27
+ l_____ LegacySerifEF-MediumItalic 448.28
+ l_____ LegacySerifEF-Bold 448.29
+ l_____ LegacySerifEF-BoldItalic 448.30
+ l_____ LegacySerifEF-Ultra 448.31
+ l_____ Machine 449.0
+ l_____ Machine-Bold 449.1
+ l_____ MachineEF-Regular 449.2
+ l_____ MachineEF-Bold 449.3
+ l_____ MonaLisa-Solid 450.0
+ l_____ MonaLisa-Recut 450.1
+ l_____ MonaLisaEF-Solid 450.2
+ l_____ MonaLisaEF-Recut 450.3
+ l_____ Novarese-Book 451.0
+ l_____ Novarese-BookItalic 451.1
+ l_____ Novarese-Medium 451.2
+ l_____ Novarese-MediumItalic 451.3
+ l_____ Novarese-Bold 451.4
+ l_____ Novarese-BoldItalic 451.5
+ l_____ Novarese-Ultra 451.6
+ l_____ NovareseEF-Book 451.7
+ l_____ NovareseEF-BookItalic 451.8
+ l_____ NovareseEF-Medium 451.9
+ l_____ NovareseEF-MediumItalic 451.10
+ l_____ NovareseEF-Bold 451.11
+ l_____ NovareseEF-BoldItalic 451.12
+ l_____ NovareseEF-Ultra 451.13
+ l_____ PacellaEF-Book 452.0
+ l_____ PacellaSCEF-Book 452.1
+ l_____ PacellaEF-BookItalic 452.2
+ l_____ PacellaEF-Medium 452.3
+ l_____ PacellaSCEF-Medium 452.4
+ l_____ PacellaEF-MediumItalic 452.5
+ l_____ PacellaEF-Bold 452.6
+ l_____ PacellaEF-BoldItalic 452.7
+ l_____ PacellaEF-Black 452.8
+ l_____ PacellaEF-BlackItalic 452.9
+ l_____ QuaySansEF-Book 453.0
+ l_____ QuaySansEF-BookSC 453.1
+ l_____ QuaySansEF-BookItalic 453.2
+ l_____ QuaySansEF-Medium 453.3
+ l_____ QuaySansEF-MediumSC 453.4
+ l_____ QuaySansEF-MediumItalic 453.5
+ l_____ QuaySansEF-Black 453.6
+ l_____ QuaySansEF-BlackItalic 453.7
+ l_____ SerifGothic-Light 454.0
+ l_____ SerifGothic 454.1
+ l_____ SerifGothic-Bold 454.2
+ l_____ SerifGothic-ExtraBold 454.3
+ l_____ SerifGothic-Heavy 454.4
+ l_____ SerifGothic-Black 454.5
+ l_____ SerifGothicEF-Light 454.6
+ l_____ SerifGothicEF-Regular 454.7
+ l_____ SerifGothicEF-Bold 454.8
+ l_____ SerifGothicEF-ExtraBold 454.9
+ l_____ SerifGothicEF-Heavy 454.10
+ l_____ SerifGothicEF-Black 454.11
+ l_____ Symbol-Book 455.0
+ l_____ Symbol-BookItalic 455.1
+ l_____ Symbol-Medium 455.2
+ l_____ Symbol-MediumItalic 455.3
+ l_____ Symbol-Bold 455.4
+ l_____ Symbol-BoldItalic 455.5
+ l_____ Symbol-Black 455.6
+ l_____ Symbol-BlackItalic 455.7
+ l_____ SymbolEF-Book 455.8
+ l_____ SymbolEF-BookSC 455.9
+ l_____ SymbolEF-BookItalic 455.10
+ l_____ SymbolEF-Medium 455.11
+ l_____ SymbolEF-MediumSC 455.12
+ l_____ SymbolEF-MediumItalic 455.13
+ l_____ SymbolEF-Bold 455.14
+ l_____ SymbolEF-BoldItalic 455.15
+ l_____ SymbolEF-Black 455.16
+ l_____ SymbolEF-BlackItalic 455.17
+ l_____ Tiepolo-Book 456.0
+ l_____ Tiepolo-BookItalic 456.1
+ l_____ Tiepolo-Bold 456.2
+ l_____ Tiepolo-BoldItalic 456.3
+ l_____ Tiepolo-Black 456.4
+ l_____ Tiepolo-BlackItalic 456.5
+ l_____ TiepoloEF-Book 456.6
+ l_____ TiepoloEF-BookSC 456.7
+ l_____ TiepoloEF-BookItalic 456.8
+ l_____ TiepoloEF-Bold 456.9
+ l_____ TiepoloEF-BoldSC 456.10
+ l_____ TiepoloEF-BoldItalic 456.11
+ l_____ TiepoloEF-Black 456.12
+ l_____ TiepoloEF-BlackItalic 456.13
+ l_____ Veljovic-Book 457.0
+ l_____ Veljovic-BookItalic 457.1
+ l_____ Veljovic-Medium 457.2
+ l_____ Veljovic-MediumItalic 457.3
+ l_____ Veljovic-Bold 457.4
+ l_____ Veljovic-BoldItalic 457.5
+ l_____ Veljovic-Black 457.6
+ l_____ Veljovic-BlackItalic 457.7
+ l_____ VeljovicEF-Book 457.8
+ l_____ VeljovicEF-BookOsF 457.9
+ l_____ VeljovicEF-BookItalic 457.10
+ l_____ VeljovicEF-BookItalicOsF 457.11
+ l_____ VeljovicEF-Medium 457.12
+ l_____ VeljovicEF-MediumOsF 457.13
+ l_____ VeljovicEF-MediumItalic 457.14
+ l_____ VeljovicEF-MediumItalicOsF 457.15
+ l_____ VeljovicEF-Bold 457.16
+ l_____ VeljovicEF-BoldOsF 457.17
+ l_____ VeljovicEF-BoldItalic 457.18
+ l_____ VeljovicEF-BoldItalicOsF 457.19
+ l_____ VeljovicEF-Black 457.20
+ l_____ VeljovicEF-BlackOsF 457.21
+ l_____ VeljovicEF-BlackItalic 457.22
+ l_____ VeljovicEF-BlackItalicOsF 457.23
+ l_____ ZapfBookEF-Light 458.0
+ l_____ ZapfBookEF-LightItalic 458.1
+ l_____ ZapfBookEF-Medium 458.2
+ l_____ ZapfBookEF-MediumItalic 458.3
+ l_____ ZapfBookEF-Demi 458.4
+ l_____ ZapfBookEF-DemiItalic 458.5
+ l_____ ZapfBookEF-Heavy 458.6
+ l_____ ZapfBookEF-HeavyItalic 458.7
+ l_____ ZapfChancery-Light 458.8
+ l_____ ZapfChancery-LightItalic 458.9
+ l_____ ZapfChancery-Roman 458.10
+ l_____ ZapfChancery-Italic 458.11
+ l_____ ZapfChancery-MediumItalic 458.12
+ l_____ ZapfChancery-Demi 458.13
+ l_____ ZapfChancery-Bold 458.14
+ l_____ ZapfChanceryCE-MediumItalic 458.15
+ l_____ ZapfChanceryEF-Light 458.16
+ l_____ ZapfChanceryEF-LightItalic 458.17
+ l_____ ZapfChanceryEF-Medium 458.18
+ l_____ ZapfChanceryEF-MediumItalic 458.19
+ l_____ ZapfChanceryEF-Demi 458.20
+ l_____ ZapfChanceryEF-Bold 458.21
+ l_____ ZapfInternationalEF-Light 458.23
+ l_____ ZapfInternationalEF-LightIta 458.24
+ l_____ ZapfInternationalEF-Medium 458.25
+ l_____ ZapfInternationalEF-MediumIta 458.26
+ l_____ ZapfInternationalEF-Demi 458.27
+ l_____ ZapfInternationalEF-DemiIta 458.28
+ l_____ ZapfInternationalEF-Heavy 458.29
+ l_____ ZapfInternationalEF-HeavyIta 458.30
+ l_____ AudioLH-Pi 459.0
+ l_____ EECLH-Pi 460.0
+ l_____ XmasLH-PiOne 462.0
+ l_____ XmasLH-PiTwo 462.1
+ l_____ Lucida 463.0
+ l_____ Lucida-Italic 463.1
+ l_____ Lucida-Bold 463.2
+ l_____ Lucida-BoldItalic 463.3
+ l_____ LucidaSans 463.4
+ l_____ LucidaSans-Italic 463.5
+ l_____ LucidaSans-Bold 463.6
+ l_____ LucidaSans-BoldItalic 463.7
+ l_____ LucidaMath-Symbol 463.8
+ l_____ LucidaMath-Extension 463.9
+ l_____ LucidaMath-Italic 463.10
+ l_____ LucidaEF 463.11
+ l_____ LucidaEF-Italic 463.12
+ l_____ LucidaEF-Bold 463.13
+ l_____ LucidaEF-BoldItalic 463.14
+ l_____ LucidaBlackletterEF 463.15
+ l_____ LucidaBrightEF-Roman 463.16
+ l_____ LucidaBrightEF-RomanIta 463.17
+ l_____ LucidaBrightEF-DemiBold 463.18
+ l_____ LucidaBrightEF-DemiBoldIta 463.19
+ l_____ LucidaBrightNarEF-Roman 463.20
+ l_____ LucidaBrightNarEF-Ita 463.21
+ l_____ LucidaBrightNarEF-DeBol 463.22
+ l_____ LucidaBrightNarEF-DeBolIta 463.23
+ l_____ LucidaCalligraphyEF 463.24
+ l_____ LucidaCasualEF-Roman 463.25
+ l_____ LucidaCasualEF-Italic 463.26
+ l_____ LucidaFaxEF-Roman 463.27
+ l_____ LucidaFaxEF-RomanItalic 463.28
+ l_____ LucidaFaxEF-DemiBold 463.29
+ l_____ LucidaFaxEF-DemiBoldItalic 463.30
+ l_____ LucidaHandwritingEF 463.31
+ l_____ LucidaTypewriterEF-Regular 463.32
+ l_____ LucidaTypewriterEF-Bold 463.33
+ l_____ LucidaSansEF-Roman 463.34
+ l_____ LucidaSansEF-RomanIta 463.35
+ l_____ LucidaSansEF-Bold 463.36
+ l_____ LucidaSansEF-DemiBold 463.37
+ l_____ LucidaSansEF-BoldItalic 463.38
+ l_____ LucidaSansEF-DemiBoldIta 463.39
+ l_____ LucidaSansNarEF-Roman 463.40
+ l_____ LucidaSansNarEF-Ita 463.41
+ l_____ LucidaSansNarEF-DemBol 463.42
+ l_____ LucidaSansNarEF-DemBolIta 463.43
+ l_____ Madrone 465.0
+ l_____ MagnusEF 466.0
+ l_____ MandarinEF 467.0
+ l_____ Marigold 468.0
+ l_____ MatthiaLL-Regular 469.0
+ l_____ MaturaMT 470.0
+ l_____ MaturaMT-ScriptCapitals 470.1
+ l_____ MaximaEF-Light 471.0
+ l_____ MaximaEF-LightOblique 471.1
+ l_____ MaximaEF-Medium 471.2
+ l_____ MaximaEF-MediumOblique 471.3
+ l_____ MaximaEF-Bold 471.4
+ l_____ MaximaEF-BoldOblique 471.5
+ l_____ MaximaEF-BoldCondensed 471.6
+ l_____ MediciScript 472.0
+ l_____ MercuriusMT-BoldScript 473.0
+ l_____ Mesquite 474.0
+ l_____ MetropolitainEF 475.0
+ l_____ Minion-Regular 476.0
+ l_____ Minion-RegularSC 476.1
+ l_____ MinionExp-Regular 476.2
+ l_____ Minion-Italic 476.3
+ l_____ Minion-ItalicSC 476.4
+ l_____ MinionExp-Italic 476.5
+ l_____ Minion-Semibold 476.6
+ l_____ Minion-SemiboldSC 476.7
+ l_____ MinionExp-Semibold 476.8
+ l_____ Minion-SemiboldItalic 476.9
+ l_____ Minion-SemiboldItalicSC 476.10
+ l_____ MinionExp-SemiboldItalic 476.11
+ l_____ Minion-Bold 476.12
+ l_____ Minion-BoldOsF 476.13
+ l_____ MinionExp-Bold 476.14
+ l_____ Minion-BoldItalic 476.15
+ l_____ Minion-BoldItalicOsF 476.16
+ l_____ MinionExp-BoldItalic 476.17
+ l_____ Minion-Black 476.18
+ l_____ Minion-BlackOsF 476.19
+ l_____ Minion-BlackExpert 476.20
+ l_____ Minion-Display 476.21
+ l_____ Minion-DisplaySC 476.22
+ l_____ MinionExp-Display 476.23
+ l_____ Minion-DisplayItalic 476.24
+ l_____ Minion-DisplayItalicSC 476.25
+ l_____ MinionExp-DisplayItalic 476.26
+ l_____ Minion-SwashItalic 476.27
+ l_____ Minion-SwashDisplayItalic 476.28
+ l_____ Minion-SwashSemiboldItalic 476.29
+ l_____ Minion-Ornaments 476.30
+ l_____ MinionCyr-Regular 476.31
+ l_____ MinionCyr-Italic 476.32
+ l_____ MinionCyr-Semibold 476.33
+ l_____ MinionCyr-SemiboldItalic 476.34
+ l_____ MinionCyr-Bold 476.35
+ l_____ MinionCyr-BoldItalic 476.36
+ l_____ Minister-Light 477.0
+ l_____ Minister-LightItalic 477.1
+ l_____ Minister-Book 477.2
+ l_____ Minister-BookItalic 477.3
+ l_____ Minister-Bold 477.4
+ l_____ Minister-BoldItalic 477.5
+ l_____ Minister-Black 477.6
+ l_____ Minister-BlackItalic 477.7
+ l_____ MinisterEF-Light 477.8
+ l_____ MinisterEF-LightItalic 477.9
+ l_____ MinisterEF-Book 477.10
+ l_____ MinisterEF-BookItalic 477.11
+ l_____ MinisterEF-Bold 477.12
+ l_____ ModernNo216EF-Light 478.0
+ l_____ ModernNo216EF-LightItalic 478.1
+ l_____ ModernNo216EF-Medium 478.2
+ l_____ ModernNo216EF-MediumItalic 478.3
+ l_____ ModernNo216EF-Bold 478.4
+ l_____ ModernNo216EF-BoldItalic 478.5
+ l_____ ModernNo216EF-Heavy 478.6
+ l_____ ModernNo216EF-HeavyItalic 478.7
+ l_____ ModernMT-Bold 478.8
+ l_____ ModernMT-BoldItalic 478.9
+ l_____ ModernMT-Condensed 478.10
+ l_____ ModernMT-CondensedItalic 478.11
+ l_____ ModernMT-Extended 478.12
+ l_____ ModernMT-ExtendedItalic 478.13
+ l_____ ModernMT-Wide 478.14
+ l_____ ModernMT-WideItalic 478.15
+ l_____ ModernExtendedEF-Book 478.16
+ l_____ ModernExtendedEF-BookIta 478.17
+ l_____ ModernExtendedEF-Bold 478.18
+ l_____ ModifiedGothic 479.0
+ l_____ MonterreyEF 480.0
+ l_____ MotterFeminaEF 481.0
+ l_____ MysteryEF-White 482.0
+ l_____ MysteryEF-Black 482.1
+ l_____ MysteryEF-Mixed 482.2
+ l_____ PinxitAstroLL 485.0
+ l_____ PinxitOfficeLL 485.1
+ l_____ PinxitPrivateLL 485.2
+ l_____ Plak-Black 486.0
+ l_____ Plak-BlackCondensed 486.1
+ l_____ Plak-BlackExtraCondensed 486.2
+ l_____ Plantin-Light 487.0
+ l_____ Plantin-LightItalic 487.1
+ l_____ Plantin 487.2
+ l_____ Plantin-Italic 487.3
+ l_____ Plantin-Semibold 487.4
+ l_____ Plantin-SemiboldItalic 487.5
+ l_____ Plantin-Bold 487.6
+ l_____ Plantin-BoldItalic 487.7
+ l_____ Plantin-BoldCondensed 487.8
+ l_____ PlaybillEF 488.0
+ l_____ Poetica-SuppLowercaseAltI 489.0
+ l_____ Poetica-SuppLowercaseAltII 489.1
+ l_____ Poetica-RomanSmallCaps 489.2
+ l_____ Poetica-RomanSmallCapsAlt 489.3
+ l_____ Poetica-SuppLigatures 489.4
+ l_____ Poetica-SuppLowercaseBegI 489.5
+ l_____ Poetica-SuppLowercaseBegII 489.6
+ l_____ Poetica-SuppLowercaseEndI 489.7
+ l_____ Poetica-SuppLowercaseEndII 489.8
+ l_____ Poetica-SuppAmpersands 489.9
+ l_____ Poetica-ChanceryExpert 489.10
+ l_____ Poetica-ChanceryI 489.11
+ l_____ Poetica-ChanceryII 489.12
+ l_____ Poetica-ChanceryIII 489.13
+ l_____ Poetica-ChanceryIV 489.14
+ l_____ Poetica-SuppInitialsSwashCaps 489.15
+ l_____ Poetica-SwashCapsI 489.16
+ l_____ Poetica-SwashCapsII 489.17
+ l_____ Poetica-SwashCapsIII 489.18
+ l_____ Poetica-SwashCapsIV 489.19
+ l_____ Poetica-SuppOrnaments 489.20
+ l_____ Pompeijana-Roman 490.0
+ l_____ Pompeijana-Borders 490.1
+ l_____ PopplExquisit-Regular 491.0
+ l_____ PopplExquisit-Medium 491.1
+ l_____ PopplLaudatio-Light 491.2
+ l_____ PopplLaudatio-LightItalic 491.3
+ l_____ PopplLaudatio-Regular 491.4
+ l_____ PopplLaudatio-Italic 491.5
+ l_____ PopplLaudatio-Medium 491.6
+ l_____ PopplLaudatio-MediumItalic 491.7
+ l_____ PopplLaudatio-Bold 491.8
+ l_____ PopplLaudatio-BoldItalic 491.9
+ l_____ PopplLaudatio-LightCondensed 491.10
+ l_____ PopplLaudatio-Condensed 491.11
+ l_____ PopplLaudatio-MediumCondensed 491.12
+ l_____ PopplLaudatio-BoldCondensed 491.13
+ l_____ PopplPontifex-Roman 491.14
+ l_____ PopplPontifex-RomanSC 491.15
+ l_____ PopplPontifex-Italic 491.16
+ l_____ PopplPontifex-Bold 491.17
+ l_____ PopplPontifex-Black 491.18
+ l_____ PopplPontifex-BoldCondensed 491.19
+ l_____ PopplPontifexBE-Regular 491.20
+ l_____ PopplPontifexBE-RegularSC 491.21
+ l_____ PopplPontifexBE-RegularExp 491.22
+ l_____ PopplPontifexBE-Italic 491.23
+ l_____ PopplPontifexBE-ItalicOsF 491.24
+ l_____ PopplPontifexBE-ItalicExp 491.25
+ l_____ PopplPontifexBE-Medium 491.26
+ l_____ PopplPontifexBE-MediumSC 491.27
+ l_____ PopplPontifexBE-MediumExp 491.28
+ l_____ PopplPontifexBE-Bold 491.29
+ l_____ PopplPontifexBE-BoldOsF 491.30
+ l_____ PopplPontifexBE-BoldExp 491.31
+ l_____ PopplPontifexBE-MediumCn 491.32
+ l_____ PopplPontifexBE-MediumCnSC 491.33
+ l_____ PopplPontifexBE-MediumCnExp 491.34
+ l_____ PopplResidenz-Light 491.35
+ l_____ PopplResidenz-Regular 491.36
+ l_____ PostAntiqua-Roman 492.0
+ l_____ PostAntiqua-Bold 492.1
+ l_____ PostAntiquaBE-Regular 492.2
+ l_____ PostAntiquaBE-Medium 492.3
+ l_____ PostMediaeval-Regular 492.4
+ l_____ PostMediaeval-Italic 492.5
+ l_____ PostMediaeval-Medium 492.6
+ l_____ PraxisEF-Light 493.0
+ l_____ PraxisEF-LightSC 493.1
+ l_____ PraxisEF-Regular 493.2
+ l_____ PraxisEF-RegularSC 493.3
+ l_____ PraxisEF-SemiBold 493.4
+ l_____ PraxisEF-Bold 493.5
+ l_____ PraxisEF-Heavy 493.6
+ l_____ PremierEF 494.0
+ l_____ PremierEF-Alternate 494.1
+ l_____ PremierEF-Shaded 494.2
+ l_____ Present 495.0
+ l_____ Present-Bold 495.1
+ l_____ Present-Black 495.2
+ l_____ Present-Condensed 495.3
+ l_____ Present-BoldCondensed 495.4
+ l_____ Present-BlackCondensed 495.5
+ l_____ PrincetownEF 496.0
+ l_____ ProteusEF-Light 497.0
+ l_____ ProteusEF-Book 497.1
+ l_____ ProteusEF-Medium 497.2
+ l_____ ProteusEF-Bold 497.3
+ l_____ Quake 498.0
+ l_____ QuartzEF 499.0
+ l_____ QuasariaLL-Regular 500.0
+ l_____ QuasariaLL-Oblique 500.1
+ l_____ QuasariaLL-Bold 500.2
+ l_____ QuasariaLL-BoldOblique 500.3
+ l_____ Rad 501.0
+ l_____ RadiantEFText-Light 502.0
+ l_____ RadiantEFText-Book 502.1
+ l_____ RadiantEFText-Medium 502.2
+ l_____ RadiantEFText-DemiBold 502.3
+ l_____ RadiantEFText-Bold 502.4
+ l_____ RadiantEFText-Black 502.5
+ l_____ RadiantEFDisplay-CondNo2 502.6
+ l_____ RadiantEFDisplay-CondNo1 502.7
+ l_____ RadiantEFDisplay-CondNo4 502.8
+ l_____ RadiantEFDisplay-CondNo3 502.9
+ l_____ RadiantEFDisplay-CondNo6 502.10
+ l_____ RadiantEFDisplay-CondNo5 502.11
+ l_____ RageItalicEF 503.0
+ l_____ ReadMyHandLL 504.0
+ l_____ ReadMyHandLL-Bold 504.1
+ l_____ Reporter-Two 505.0
+ l_____ RialtoEF 506.0
+ l_____ Rockwell-Light 507.0
+ l_____ Rockwell-LightItalic 507.1
+ l_____ Rockwell 507.2
+ l_____ Rockwell-Italic 507.3
+ l_____ Rockwell-Bold 507.4
+ l_____ Rockwell-BoldItalic 507.5
+ l_____ Rockwell-ExtraBold 507.6
+ l_____ Rockwell-Condensed 507.7
+ l_____ Rockwell-BoldCondensed 507.8
+ l_____ RomanScriptEF 508.0
+ l_____ RomanScriptEF-Alternate 508.1
+ l_____ Rosewood-Fill 509.0
+ l_____ Rosewood-Regular 509.1
+ l_____ Rotation-Roman 510.0
+ l_____ Rotation-Italic 510.1
+ l_____ Rotation-Bold 510.2
+ l_____ Roundy-Roman 511.0
+ l_____ Roundy-Swash 511.1
+ l_____ RulingScript 512.0
+ l_____ RulingScript-Addition 512.1
+ l_____ RussellSquare 513.0
+ l_____ RussellSquare-Oblique 513.1
+ l_____ Sabon-Roman 514.0
+ l_____ Sabon-RomanSC 514.1
+ l_____ Sabon-RomanOsF 514.2
+ l_____ Sabon-Italic 514.3
+ l_____ Sabon-ItalicOsF 514.4
+ l_____ Sabon-Bold 514.5
+ l_____ Sabon-BoldOsF 514.6
+ l_____ Sabon-BoldItalic 514.7
+ l_____ Sabon-BoldItalicOsF 514.8
+ l_____ Sassafras-Roman 517.0
+ l_____ Sassafras-SxRoman 517.1
+ l_____ Sassafras-LxRoman 517.2
+ l_____ Sassafras-LxItalic 517.3
+ l_____ Sassafras-SxItalic 517.4
+ l_____ Sassafras-Italic 517.5
+ l_____ StempelSchneidler-Light 518.0
+ l_____ StempelSchneidler-LightItalic 518.1
+ l_____ StempelSchneidler-Roman 518.2
+ l_____ StempelSchneidler-Italic 518.3
+ l_____ StempelSchneidler-Medium 518.4
+ l_____ StempelSchneidler-MedItalic 518.5
+ l_____ StempelSchneidler-Bold 518.6
+ l_____ StempelSchneidler-BoldItalic 518.7
+ l_____ StempelSchneidler-Black 518.8
+ l_____ StempelSchneidler-BlackItalic 518.9
+ l_____ SchneidlerEF-Light 518.10
+ l_____ SchneidlerEF-AmaltheaLight 518.11
+ l_____ SchneidlerEF-Roman 518.12
+ l_____ SchneidlerEF-AmaltheaRoman 518.13
+ l_____ SchneidlerEF-Medium 518.14
+ l_____ SchneidlerEF-AmaltheaMedium 518.15
+ l_____ SchneidlerEF-Bold 518.16
+ l_____ SchneidlerEF-AmaltheaBold 518.17
+ l_____ SchneidlerEF-Black 518.18
+ l_____ SchneidlerEF-AmaltheaBlack 518.19
+ l_____ SchreibmaschineEF-Regular 519.0
+ l_____ Serpentine-Light 520.0
+ l_____ Serpentine-LightOblique 520.1
+ l_____ Serpentine-Medium 520.2
+ l_____ Serpentine-MediumOblique 520.3
+ l_____ Serpentine-Bold 520.4
+ l_____ Serpentine-BoldOblique 520.5
+ l_____ SerpentineEF-Bold 520.6
+ l_____ SerpentineEF-BoldItalic 520.7
+ l_____ VarioEF-Regular 522.0
+ l_____ VarioEF-RegularItalic 522.1
+ l_____ VectoraLH-Light 523.0
+ l_____ VectoraLH-LightItalic 523.1
+ l_____ VectoraLH-Roman 523.2
+ l_____ VectoraLH-Italic 523.3
+ l_____ VectoraLH-Bold 523.4
+ l_____ VectoraLH-BoldItalic 523.5
+ l_____ VectoraLH-Black 523.6
+ l_____ VectoraLH-BlackItalic 523.7
+ l_____ VegasEF 524.0
+ l_____ Versailles-Light 526.0
+ l_____ Versailles-LightItalic 526.1
+ l_____ Versailles-Roman 526.2
+ l_____ Versailles-Italic 526.3
+ l_____ Versailles-Bold 526.4
+ l_____ Versailles-BoldItalic 526.5
+ l_____ Versailles-Black 526.6
+ l_____ Versailles-BlackItalic 526.7
+ l_____ Visigoth 527.0
+ l_____ VladimirScriptEF 528.0
+ l_____ Westside 530.0
+ l_____ WiesbadenSwing-Roman 531.0
+ l_____ Willow 532.0
+ l_____ WittenbergerFrakturMT 533.0
+ l_____ WittenbergerFrakturMT-Dfr 533.1
+ l_____ WittenbergerFrakturMT-Bd 533.2
+ l_____ WittenbergerFrakturMT-BdDfr 533.3
+ l_____ Zebrawood-Fill 534.0
+ l_____ Zebrawood-Regular 534.1
+ l_____ AgrafieLL 535.0
+ l_____ AlbertusMT-Light 536.0
+ l_____ AlbertusMT-Roman 536.1
+ l_____ AlbertusMT-Italic 536.2
+ l_____ Alexa 537.0
+ l_____ AlgerianEF 538.0
+ l_____ Amigo 540.0
+ l_____ AngroEF-Light 541.0
+ l_____ AngroEF-Bold 541.1
+ l_____ AnzeigenGroteskEF 542.0
+ l_____ ArsisEF-Regular 543.0
+ l_____ ArsisEF-RegularItalic 543.1
+ l_____ AugusteaOpenEF 544.0
+ l_____ Avenir-Light 545.0
+ l_____ Avenir-LightOblique 545.1
+ l_____ Avenir-Book 545.2
+ l_____ Avenir-BookOblique 545.3
+ l_____ Avenir-Roman 545.4
+ l_____ Avenir-Oblique 545.5
+ l_____ Avenir-Medium 545.6
+ l_____ Avenir-MediumOblique 545.7
+ l_____ Avenir-Heavy 545.8
+ l_____ Avenir-HeavyOblique 545.9
+ l_____ Avenir-Black 545.10
+ l_____ Avenir-BlackOblique 545.11
+ l_____ BakerSignet 546.0
+ l_____ Balzano 547.0
+ l_____ Barmeno-Regular 548.0
+ l_____ Barmeno-Medium 548.1
+ l_____ Barmeno-Bold 548.2
+ l_____ Barmeno-ExtraBold 548.3
+ l_____ BellCentennial-Address 549.0
+ l_____ BellCentennial-SubCaption 549.1
+ l_____ BellCentennial-NameAndNumber 549.2
+ l_____ BellCentennial-BoldListing 549.3
+ l_____ BellCentennial-BoldListingAlt 549.4
+ l_____ City-Light 550.0
+ l_____ City-LightItalic 550.1
+ l_____ City-Medium 550.2
+ l_____ City-MediumItalic 550.3
+ l_____ City-Bold 550.4
+ l_____ City-BoldItalic 550.5
+ lpi___ BorderPi-OneFiveOneFiveNine 551.0
+ l_____ BroadwayEF 552.2
+ l_____ BroadwayEF-Engraved 552.3
+ l_____ Caliban 553.0
+ l_____ CarouselEF 554.0
+ l_____ Century-Light 555.0
+ l_____ Century-LightItalic 555.1
+ l_____ Century-Book 555.2
+ l_____ Century-BookItalic 555.3
+ l_____ Century-Bold 555.4
+ l_____ Century-BoldItalic 555.5
+ l_____ Century-Ultra 555.6
+ l_____ Century-UltraItalic 555.7
+ l_____ Century-LightCondensed 555.8
+ l_____ Century-LightCondensedItalic 555.9
+ l_____ Century-BookCondensed 555.10
+ l_____ Century-BookCondensedItalic 555.11
+ l_____ Century-BoldCondensed 555.12
+ l_____ Century-BoldCondensedItalic 555.13
+ l_____ Century-UltraCondensed 555.14
+ l_____ Century-UltraCondensedItalic 555.15
+ l_____ CenturyEF-Light 555.16
+ l_____ CenturyEF-LightItalic 555.17
+ l_____ CenturyEF-Book 555.18
+ l_____ CenturyEF-BookItalic 555.19
+ l_____ CenturyEF-Bold 555.20
+ l_____ CenturyEF-BoldItalic 555.21
+ l_____ CenturyEF-Ultra 555.22
+ l_____ CenturyEF-UltraItalic 555.23
+ l_____ CenturyHandtEF-Bold 555.24
+ l_____ CenturyHandtEF-BoldItalic 555.25
+ l_____ CenturyEF-LightCondensed 555.26
+ l_____ CenturyEF-LightCondensedItalic 555.27
+ l_____ CenturyEF-BookCondensed 555.28
+ l_____ CenturyEF-BookCondensedItalic 555.29
+ l_____ CenturyEF-BoldCondensed 555.30
+ l_____ CenturyEF-BoldCondensedItalic 555.31
+ l_____ CenturyEF-UltraCondensed 555.32
+ l_____ CenturyEF-UltraCondensedItalic 555.33
+ l_____ CenturyExpanded 555.34
+ l_____ CenturyExpanded-Italic 555.35
+ l_____ CenturyExpandedEF-Regular 555.36
+ l_____ CenturyExpandedEF-RegularItalic 555.37
+ l_____ CenturyOldStyle-Regular 555.38
+ l_____ CenturyOldStyle-Italic 555.39
+ l_____ CenturyOldStyle-Bold 555.40
+ l_____ CenturyOldStyleEF-Regular 555.41
+ l_____ CenturyOldStyleEF-RegularItalic 555.42
+ l_____ CenturyOldStyleEF-Bold 555.43
+ l_____ NewCenturySchlbk-Roman 555.44
+ l_____ NewCenturySchlbk-Italic 555.45
+ l_____ NewCenturySchlbk-Bold 555.46
+ l_____ NewCenturySchlbk-BoldItalic 555.47
+ l_____ NewCenturySchlbkCE-Roman 555.50
+ l_____ NewCenturySchlbkCE-Italic 555.51
+ l_____ NewCenturySchlbkCE-Bold 555.52
+ l_____ NewCenturySchlbkCE-BoldItalic 555.53
+ l_____ NewCenturySchlbkGreek-Upright 555.54
+ l_____ NewCenturySchlbkGreek-Inclined 555.55
+ l_____ NewCenturySchlbkGreek-Bold 555.56
+ l_____ NewCenturySchlbkGreekP-Upright 555.57
+ l_____ NewCenturySchlbkGreekP-Inclined 555.58
+ l_____ NewCenturySchlbkGreekP-Bold 555.59
+ l_____ CenturySchoolbookEF-Reg 555.60
+ l_____ CenturySchoolbookEF-RegIta 555.61
+ l_____ CenturySchoolbookEF-Bol 555.62
+ l_____ CenturySchoolbookEF-BolIta 555.63
+ l_____ ChesterfieldEF 556.0
+ l_____ Choc-Roman 557.0
+ l_____ ChromiumOneEF 558.0
+ l_____ Clarendon-Light 559.0
+ l_____ Clarendon 559.1
+ l_____ Clarendon-Bold 559.2
+ l_____ ClarendonEF-Light 559.3
+ l_____ ClarendonEF-Medium 559.4
+ l_____ ClarendonEF-Bold 559.5
+ l_____ ClarendonEF-ExtraBold 559.6
+ l_____ ClarendonEF-BoldExpanded 559.7
+ l_____ Colossalis-Regular 560.0
+ l_____ Colossalis-Medium 560.1
+ l_____ Colossalis-Bold 560.2
+ l_____ Colossalis-Black 560.3
+ l_____ CompactaEF-Light 561.0
+ l_____ CompactaEF-Regular 561.1
+ l_____ CompactaEF-RegularItalic 561.2
+ l_____ CompactaEF-Bold 561.3
+ l_____ CompactaEF-BoldItalic 561.4
+ l_____ CompactaEF-Black 561.5
+ l_____ CompactaEF-RegularOutline 561.6
+ l_____ CompactaEF-BoldOutline 561.7
+ l_____ ConferenceEF 562.0
+ l_____ Copperplate-TwentyNineBC 563.0
+ l_____ Copperplate-ThirtyBC 563.1
+ l_____ Copperplate-ThirtyTwoBC 563.2
+ l_____ Copperplate-ThirtyOneBC 563.3
+ l_____ Copperplate-ThrityThreeBC 563.4
+ l_____ Copperplate-TwentyNineAB 563.5
+ l_____ Copperplate-ThirtyAB 563.6
+ l_____ Copperplate-ThirtyTwoAB 563.7
+ l_____ Copperplate-ThirtyOneAB 563.8
+ l_____ CopperplateEF-Medium 563.10
+ l_____ CopperplateEF-Bold 563.11
+ l_____ CopperplateEF-LightCondensed 563.12
+ l_____ CopperplateEF-MediumCondensed 563.13
+ l_____ CopperplateEF-BoldCondensed 563.14
+ l_____ CopperplateEF-Light 563.9
+ l_____ Cottonwood 564.0
+ l_____ CrilleeEF-LightItalic 565.0
+ l_____ CrilleeEF-Italic 565.1
+ l_____ CrilleeEF-BoldItalic 565.2
+ l_____ CrilleeEF-ExtraBoldItalic 565.3
+ l_____ DINMittelschrift 566.0
+ l_____ DINMittelschrift-Alternate 566.1
+ l_____ DINEngschrift 566.2
+ l_____ DINEngschrift-Alternate 566.3
+ l_____ DIN1451EF-MittelNeu 566.4
+ l_____ DIN1451EF-MittelAlt 566.5
+ l_____ DIN1451EF-EngNeu 566.6
+ l_____ DIN1451EF-EngAlt 566.7
+ l_____ DINNeuzeitGrotesk-Light 566.8
+ l_____ DINNeuzeitGrotesk-BoldCond 566.9
+ l_____ DalcoraHE 567.0
+ lpi___ DecoNumbersLH-Circle 568.0
+ lpi___ DecoNumbersLH-OCRA 568.1
+ lpi___ DecoNumbersLH-Serlio 568.2
+ lpi___ DecoNumbersLH-Square 568.3
+ lpi___ DecoNumbersLH-Triangle 568.4
+ l_____ DemosEF-Medium 569.0
+ l_____ DemosEF-MediumSC 569.1
+ l_____ DemosEF-MediumItalic 569.2
+ l_____ DemosEF-SemiBold 569.3
+ l_____ DextorEF 570.0
+ l_____ Diotima-Roman 571.0
+ l_____ Diotima-RomanSC 571.1
+ l_____ Diotima-RomanOsF 571.2
+ l_____ Diotima-Italic 571.3
+ l_____ Diotima-ItalicOsF 571.4
+ l_____ DucDeBerry 572.0
+ l_____ DucDeBerry-Dfr 572.1
+ l_____ EinhornEF 573.0
+ l_____ EngraversLH-BoldFace 574.0
+ l_____ EngraversEF-Roman 574.1
+ l_____ EngraversEF-Bold 574.2
+ l_____ GaladrielEF 578.0
+ l_____ StempelGaramond-Roman 579.0
+ l_____ StempelGaramond-RomanSC 579.1
+ l_____ StempelGaramond-RomanOsF 579.2
+ l_____ StempelGaramond-Italic 579.3
+ l_____ StempelGaramond-ItalicOsF 579.4
+ l_____ StempelGaramond-Bold 579.5
+ l_____ StempelGaramond-BoldOsF 579.6
+ l_____ StempelGaramond-BoldItalic 579.7
+ l_____ StempelGaramond-BoldItalicOsF 579.8
+ l_____ StempelGaramondCE-Roman 579.9
+ l_____ StempelGaramondCE-Italic 579.10
+ l_____ StempelGaramondCE-Bold 579.11
+ l_____ StempelGaramondCE-BoldItalic 579.12
+ l_____ StempelGaramondEastA-Roman 579.13
+ l_____ StempelGaramondEastA-Italic 579.14
+ l_____ StempelGaramondEastA-Bold 579.15
+ l_____ StempelGaramondEastA-BoldItalic 579.16
+ l_____ AGaramond-Regular 579.17
+ l_____ AGaramondAlt-Regular 579.18
+ l_____ AGaramond-RegularSC 579.19
+ l_____ AGaramondExp-Regular 579.20
+ l_____ AGaramond-Italic 579.21
+ l_____ AGaramondAlt-Italic 579.22
+ l_____ AGaramond-ItalicOsF 579.23
+ l_____ AGaramondExp-Italic 579.24
+ l_____ AGaramond-Semibold 579.25
+ l_____ AGaramond-SemiboldSC 579.26
+ l_____ AGaramondExp-Semibold 579.27
+ l_____ AGaramond-SemiboldItalic 579.28
+ l_____ AGaramond-SemiboldItalicOsF 579.29
+ l_____ AGaramondExp-SemiboldItalic 579.30
+ l_____ AGaramond-Bold 579.31
+ l_____ AGaramond-BoldOsF 579.32
+ l_____ AGaramondExp-Bold 579.33
+ l_____ AGaramond-BoldItalic 579.34
+ l_____ AGaramond-BoldItalicOsF 579.35
+ l_____ AGaramondExp-BoldItalic 579.36
+ l_____ AGaramond-Titling 579.37
+ l_____ GaramondBE-Regular 579.38
+ l_____ GaramondBE-RegularSC 579.39
+ l_____ GaramondBE-RegularExpert 579.40
+ l_____ GaramondBE-Italic 579.41
+ l_____ GaramondBE-ItalicOsF 579.42
+ l_____ GaramondBE-ItalicExpert 579.43
+ l_____ GaramondBE-Medium 579.44
+ l_____ GaramondBE-MediumSC 579.45
+ l_____ GaramondBE-MediumExpert 579.46
+ l_____ GaramondBE-MediumItalic 579.47
+ l_____ GaramondBE-MediumItalicOsF 579.48
+ l_____ GaramondBE-MediumItalicExpert 579.49
+ l_____ GaramondBE-Bold 579.50
+ l_____ GaramondBE-BoldOsF 579.51
+ l_____ GaramondBE-BoldExpert 579.52
+ l_____ GaramondBE-Condensed 579.53
+ l_____ GaramondBE-CondensedSC 579.54
+ l_____ GaramondBE-CnExpert 579.55
+ l_____ GaramondBE-MediumCn 579.56
+ l_____ GaramondBE-MediumCnOsF 579.57
+ l_____ GaramondBE-MediumCnExpert 579.58
+ l_____ GaramondBE-SwashItalic 579.59
+ l_____ Garamond-Light 579.60
+ l_____ Garamond-LightItalic 579.61
+ l_____ Garamond-Book 579.62
+ l_____ Garamond-BookItalic 579.63
+ l_____ Garamond-Bold 579.64
+ l_____ Garamond-BoldItalic 579.65
+ l_____ Garamond-Ultra 579.66
+ l_____ Garamond-UltraItalic 579.67
+ l_____ Garamond-LightCondensed 579.68
+ l_____ Garamond-LightCondensedItalic 579.69
+ l_____ Garamond-BookCondensed 579.70
+ l_____ Garamond-BookCondensedItalic 579.71
+ l_____ Garamond-BoldCondensed 579.72
+ l_____ Garamond-BoldCondensedItalic 579.73
+ l_____ Garamond-UltraCondensed 579.74
+ l_____ Garamond-UltraCondensedItalic 579.75
+ l_____ GaramondEF-Light 579.76
+ l_____ GaramondEF-LightItalic 579.77
+ l_____ GaramondEF-Book 579.78
+ l_____ GaramondEF-BookItalic 579.79
+ l_____ GaramondEF-Bold 579.80
+ l_____ GaramondEF-BoldItalic 579.81
+ l_____ GaramondEF-Ultra 579.82
+ l_____ GaramondEF-UltraItalic 579.83
+ l_____ GaramondHandtEF-Bold 579.84
+ l_____ GaramondHandtEF-BoldItalic 579.85
+ l_____ GaramondEF-LightCondensed 579.86
+ l_____ GaramondEF-LightCondensedItalic 579.87
+ l_____ GaramondEF-BookCondensed 579.88
+ l_____ GaramondEF-BookCondensedItalic 579.89
+ l_____ GaramondEF-BoldCondensed 579.90
+ l_____ GaramondEF-BoldCondensedItalic 579.91
+ l_____ GaramondEF-UltraCondensed 579.92
+ l_____ GaramondEF-UltraCondensedItalic 579.93
+ l_____ SimonciniGaramond 579.94
+ l_____ SimonciniGaramond-Italic 579.95
+ l_____ SimonciniGaramond-Bold 579.96
+ l_____ GaramondThree 579.97
+ l_____ GaramondThree-SC 579.98
+ l_____ GaramondThree-Italic 579.99
+ l_____ GaramondThree-ItalicOsF 579.100
+ l_____ GaramondThree-Bold 579.101
+ l_____ GaramondThree-BoldSC 579.102
+ l_____ GaramondThree-BoldItalic 579.103
+ l_____ GaramondThree-BoldItalicOsF 579.104
+ l_____ GaramondNo5EF-Light 579.105
+ l_____ GaramondNo5EF-LightItalic 579.106
+ l_____ GaramondNo5EF-Bold 579.107
+ l_____ Giddyup 580.0
+ l_____ GlaserStencilEF 581.0
+ l_____ Grace 582.0
+ l_____ GrafiloneLL-Light 583.0
+ l_____ GrafiloneLL-SemiBold 583.1
+ l_____ GrafiloneLL-Bold 583.2
+ l_____ HaMangaIrregularLL-Regular 584.0
+ l_____ HaMangaIrregularLL-Italic 584.1
+ l_____ HaMangaIrregularPicturesLL 584.2
+ l_____ HandelGothicEF-Light 585.0
+ l_____ HandelGothicEF-Medium 585.1
+ l_____ HandelGothicEF-Bold 585.2
+ l_____ Herculanum 586.0
+ l_____ HoTomLL-Regular 587.0
+ l_____ HollanderEF-Regular 588.0
+ l_____ HollanderSCEF-Regular 588.1
+ l_____ HollanderEF-RegularItalic 588.2
+ l_____ HollanderEF-Bold 588.3
+ l_____ HorndonEF 589.0
+ l_____ BarcelonaEF-Book 591.0
+ l_____ BarcelonaEF-BookItalic 591.1
+ l_____ BarcelonaEF-Medium 591.2
+ l_____ BarcelonaEF-MediumItalic 591.3
+ l_____ BarcelonaEF-Bold 591.4
+ l_____ BarcelonaEF-BoldItalic 591.5
+ l_____ BarcelonaEF-Heavy 591.6
+ l_____ BarcelonaEF-HeavyItalic 591.7
+ l_____ Bookman-Light 592.0
+ l_____ Bookman-LightItalic 592.1
+ l_____ Bookman-Medium 592.2
+ l_____ Bookman-MediumItalic 592.3
+ l_____ Bookman-Demi 592.4
+ l_____ Bookman-DemiItalic 592.5
+ l_____ Bookman-Bold 592.6
+ l_____ Bookman-BoldItalic 592.7
+ l_____ BookmanCE-Light 592.8
+ l_____ BookmanCE-LightItalic 592.9
+ l_____ BookmanCE-Demi 592.10
+ l_____ BookmanCE-DemiItalic 592.11
+ l_____ BookmanEF-Light 592.12
+ l_____ BookmanEF-LightItalic 592.13
+ l_____ BookmanEF-Medium 592.14
+ l_____ BookmanEF-MediumItalic 592.15
+ l_____ BookmanEF-Demi 592.16
+ l_____ BookmanEF-DemiItalic 592.17
+ l_____ BookmanEF-Bold 592.18
+ l_____ BookmanEF-BoldItalic 592.19
+ l_____ GammaEF-Book 593.0
+ l_____ GammaSCEF-Book 593.1
+ l_____ GammaEF-BookItalic 593.2
+ l_____ GammaEF-Medium 593.3
+ l_____ GammaSCEF-Medium 593.4
+ l_____ GammaEF-MediumItalic 593.5
+ l_____ GammaEF-Bold 593.6
+ l_____ GammaEF-BoldItalic 593.7
+ l_____ GammaEF-Black 593.8
+ l_____ GammaEF-BlackItalic 593.9
+ l_____ Italia-Book 594.0
+ l_____ Italia-Medium 594.1
+ l_____ Italia-Bold 594.2
+ l_____ ItaliaEF-Book 594.3
+ l_____ ItaliaEF-Medium 594.4
+ l_____ ItaliaEF-Bold 594.5
+ l_____ ItaliaEF-Condense 594.6
+ l_____ MendozaRoman-Book 595.0
+ l_____ MendozaRoman-BookItalic 595.1
+ l_____ MendozaRoman-Medium 595.2
+ l_____ MendozaRoman-MediumItalic 595.3
+ l_____ MendozaRoman-Bold 595.4
+ l_____ MendozaRoman-BoldItalic 595.5
+ l_____ MendozaRomanEF-Book 595.6
+ l_____ MendozaRomanEF-BookSC 595.7
+ l_____ MendozaRomanEF-BookItalic 595.8
+ l_____ MendozaRomanEF-Medium 595.9
+ l_____ MendozaRomanEF-MediumSC 595.10
+ l_____ MendozaRomanEF-MediumItalic 595.11
+ l_____ MendozaRomanEF-Bold 595.12
+ l_____ MendozaRomanEF-BoldItalic 595.13
+ l_____ OfficinaSans-Book 596.0
+ l_____ OfficinaSans-BookItalic 596.1
+ l_____ OfficinaSans-Bold 596.2
+ l_____ OfficinaSans-BoldItalic 596.3
+ l_____ OfficinaSerif-Book 596.4
+ l_____ OfficinaSerif-BookItalic 596.5
+ l_____ OfficinaSerif-Bold 596.6
+ l_____ OfficinaSerif-BoldItalic 596.7
+ l_____ OfficinaSansEF-Book 596.8
+ l_____ OfficinaSansEF-BookItalic 596.9
+ l_____ OfficinaSansEF-Bold 596.10
+ l_____ OfficinaSansEF-BoldItalic 596.11
+ l_____ OfficinaSerifEF-Book 596.12
+ l_____ OfficinaSerifEF-BookItalic 596.13
+ l_____ OfficinaSerifEF-Bold 596.14
+ l_____ OfficinaSerifEF-BoldItalic 596.15
+ l_____ StoneInformal 597.0
+ l_____ StoneInformal-Italic 597.1
+ l_____ StoneInformal-SemiBold 597.2
+ l_____ StoneInformal-SemiBoldItalic 597.3
+ l_____ StoneInformal-Bold 597.4
+ l_____ StoneInformal-BoldItalic 597.5
+ l_____ StoneSans 597.6
+ l_____ StoneSans-Italic 597.7
+ l_____ StoneSans-SemiBold 597.8
+ l_____ StoneSans-SemiBoldItalic 597.9
+ l_____ StoneSans-Bold 597.10
+ l_____ StoneSans-BoldItalic 597.11
+ l_____ StoneSerif 597.12
+ l_____ StoneSerif-Italic 597.13
+ l_____ StoneSerif-SemiBold 597.14
+ l_____ StoneSerif-SemiBoldItalic 597.15
+ l_____ StoneSerif-Bold 597.16
+ l_____ StoneSerif-BoldItalic 597.17
+ l_____ StoneSans-PhoneticIPA 597.18
+ l_____ StoneSans-PhoneticAlternate 597.19
+ l_____ StoneSerif-PhoneticIPA 597.20
+ l_____ StoneSerif-PhoneticAlternate 597.21
+ l_____ StoneInformalEF-Medium 597.22
+ l_____ StoneInformalEF-MediumSC 597.23
+ l_____ StoneInformalEF-MediumItalic 597.24
+ l_____ StoneInformalEF-SemiBold 597.25
+ l_____ StoneInformalEF-SemiBoldSC 597.26
+ l_____ StoneInformalEF-SemiBoldItalic 597.27
+ l_____ StoneInformalEF-Bold 597.28
+ l_____ StoneInformalEF-BoldItalic 597.29
+ l_____ StoneSansEF-Medium 597.30
+ l_____ StoneSansEF-MediumSC 597.31
+ l_____ StoneSansEF-MediumItalic 597.32
+ l_____ StoneSansEF-SemiBold 597.33
+ l_____ StoneSansEF-SemiBoldSC 597.34
+ l_____ StoneSansEF-SemiBoldItalic 597.35
+ l_____ StoneSansEF-Bold 597.36
+ l_____ StoneSansEF-BoldItalic 597.37
+ l_____ StoneSerifEF-Medium 597.38
+ l_____ StoneSerifEF-MediumSC 597.39
+ l_____ StoneSerifEF-MediumItalic 597.40
+ l_____ StoneSerifEF-SemiBold 597.41
+ l_____ StoneSerifEF-SemiBoldSC 597.42
+ l_____ StoneSerifEF-SemiBoldItalic 597.43
+ l_____ StoneSerifEF-Bold 597.44
+ l_____ StoneSerifEF-BoldItalic 597.45
+ l_____ StoneSansEF-MediumPhonetic 597.46
+ l_____ StoneSansEF-MediumPhoneticPlus 597.47
+ l_____ StoneSerifEF-MediumPhonetic 597.48
+ l_____ StoneSerifEF-MediumPhoneticPlus 597.49
+ l_____ Usherwood-Book 598.0
+ l_____ Usherwood-BookItalic 598.1
+ l_____ Usherwood-Medium 598.2
+ l_____ Usherwood-MediumItalic 598.3
+ l_____ Usherwood-Bold 598.4
+ l_____ Usherwood-BoldItalic 598.5
+ l_____ Usherwood-Black 598.6
+ l_____ Usherwood-BlackItalic 598.7
+ l_____ UsherwoodEF-Book 598.8
+ l_____ UsherwoodEF-BookItalic 598.9
+ l_____ UsherwoodEF-Medium 598.10
+ l_____ UsherwoodEF-MediumItalic 598.11
+ l_____ UsherwoodEF-Bold 598.12
+ l_____ UsherwoodEF-BoldItalic 598.13
+ l_____ UsherwoodEF-Black 598.14
+ l_____ UsherwoodEF-BlackItalic 598.15
+ l_____ Impact 600.0
+ l_____ ImprimeurClassiqueEF-Reg 601.0
+ l_____ ImprimeurClassiqueEF-Obl 601.1
+ l_____ ImprimeurNouveauEF-Reg 601.2
+ l_____ ImprimeurNouveauEF-Obl 601.3
+ l_____ Insignia 602.0
+ l_____ Insignia-A 602.1
+ l_____ JansonText-Roman 603.0
+ l_____ JansonText-RomanSC 603.1
+ l_____ JansonText-Italic 603.2
+ l_____ JansonText-ItalicOsF 603.3
+ l_____ JansonText-Bold 603.4
+ l_____ JansonText-BoldOsF 603.5
+ l_____ JansonText-BoldItalic 603.6
+ l_____ JansonText-BoldItalicOsF 603.7
+ l_____ Kabel-Light 604.0
+ l_____ Kabel-Book 604.1
+ l_____ Kabel-Heavy 604.2
+ l_____ Kabel-Black 604.3
+ l_____ ItcKabel-Book 604.4
+ l_____ ItcKabel-Medium 604.5
+ l_____ ItcKabel-Demi 604.6
+ l_____ ItcKabel-Bold 604.7
+ l_____ ItcKabel-Ultra 604.8
+ l_____ ItcKabelEF-Book 604.9
+ l_____ ItcKabelEF-Medium 604.10
+ l_____ ItcKabelEF-Demi 604.11
+ l_____ ItcKabelEF-Bold 604.12
+ l_____ ItcKabelEF-Ultra 604.13
+ l_____ KapitelliaEF-Bold 605.0
+ l_____ KlangMT 606.0
+ l_____ KolossEF 607.0
+ l_____ LCDEF 608.0
+ l_____ LinoLetter-Roman 610.0
+ l_____ LinoLetter-RomanSC 610.1
+ l_____ LinoLetter-RomanOsF 610.2
+ l_____ LinoLetter-Italic 610.3
+ l_____ LinoLetter-ItalicOsF 610.4
+ l_____ LinoLetter-Medium 610.5
+ l_____ LinoLetter-MediumSC 610.6
+ l_____ LinoLetter-MediumOsF 610.7
+ l_____ LinoLetter-MediumItalic 610.8
+ l_____ LinoLetter-MediumItalicOsF 610.9
+ l_____ LinoLetter-Bold 610.10
+ l_____ LinoLetter-BoldSC 610.11
+ l_____ LinoLetter-BoldOsF 610.12
+ l_____ LinoLetter-BoldItalic 610.13
+ l_____ LinoLetter-BoldItalicOsF 610.14
+ l_____ LinoLetter-Black 610.15
+ l_____ LinoLetter-BlackSC 610.16
+ l_____ LinoLetter-BlackOsF 610.17
+ l_____ LinoLetter-BlackItalic 610.18
+ l_____ LinoLetter-BlackItalicOsF 610.19
+ l_____ TechnicalLH-PiOne 612.0
+ l_____ TechnicalLH-PiTwo 612.1
+ l_____ MagnaEF-Light 613.0
+ l_____ MagnaEF-Italic 613.1
+ l_____ MagnaEF-Bold 613.2
+ l_____ MateoRomanLL 614.0
+ l_____ MateoBoldLL 614.1
+ l_____ MateoBoldOutlineLL 614.2
+ l_____ Memphis-Light 615.0
+ l_____ Memphis-LightItalic 615.1
+ l_____ Memphis-Medium 615.2
+ l_____ Memphis-MediumItalic 615.3
+ l_____ Memphis-Bold 615.4
+ l_____ Memphis-BoldItalic 615.5
+ l_____ Memphis-ExtraBold 615.6
+ l_____ MetroLite-Two 616.0
+ l_____ MetroMedium-Two 616.1
+ l_____ MetroBlack-Two 616.2
+ l_____ Mistral 617.0
+ l_____ Monotype Script-Bold 618.0
+ l_____ Napoleon-BoldCondensed 619.0
+ l_____ NeulandStar 620.1
+ l_____ NewCaledonia 621.0
+ l_____ NewCaledonia-RomanSC 621.1
+ l_____ NewCaledonia-Italic 621.2
+ l_____ NewCaledonia-ItalicOsF 621.3
+ l_____ NewCaledonia-SemiBold 621.4
+ l_____ NewCaledonia-SemiBoldItalic 621.5
+ l_____ NewCaledonia-Bold 621.6
+ l_____ NewCaledonia-BoldSC 621.7
+ l_____ NewCaledonia-BoldItalic 621.8
+ l_____ NewCaledonia-BoldItalicOsF 621.9
+ l_____ NewCaledonia-Black 621.10
+ l_____ NewCaledonia-BlackItalic 621.11
+ l_____ NoweAtenyLL-Two 622.0
+ l_____ OctopussEF 623.0
+ l_____ OctopussEF-Shaded 623.1
+ l_____ OldTown536EF 624.0
+ l_____ Optima 625.0
+ l_____ Optima-Oblique 625.1
+ l_____ Optima-Medium 625.2
+ l_____ Optima-MediumOblique 625.3
+ l_____ Optima-Demi 625.4
+ l_____ Optima-DemiOblique 625.5
+ l_____ Optima-Bold 625.6
+ l_____ Optima-BoldOblique 625.7
+ l_____ Optima-Black 625.8
+ l_____ Optima-BlackOblique 625.9
+ l_____ Optima-ExtraBlack 625.10
+ l_____ Optima-ExtraBlackOblique 625.11
+ l_____ OptimaCE-Roman 625.12
+ l_____ OptimaCE-Oblique 625.13
+ l_____ OptimaCE-Bold 625.14
+ l_____ OptimaCE-BoldOblique 625.15
+ l_____ OptimaEastA-Roman 625.16
+ l_____ OptimaEastA-RomanOblique 625.17
+ l_____ OptimaEastA-Bold 625.18
+ l_____ OptimaEastA-BoldOblique 625.19
+ l_____ PaddingtonEF 626.0
+ l_____ PaddingtonEF-Alternate 626.1
+ l_____ PapyrusEF-Regular 627.0
+ l_____ PapyrusEF-Alternates 627.1
+ l_____ Peignot-Light 628.0
+ l_____ Peignot-Demi 628.1
+ l_____ Peignot-Bold 628.2
+ l_____ PendryScriptEF-Regular 629.0
+ l_____ PendryScriptEF-Alternates 629.1
+ l_____ PiccadillyEF 630.0
+ l_____ Poplar 631.0
+ l_____ PumpEF-Light 632.0
+ l_____ PumpEF-Medium 632.1
+ l_____ PumpEF-Demi 632.2
+ l_____ PumpEF-Bold 632.3
+ l_____ PumpEF-Triline 632.4
+ l_____ RailroadGothic 633.0
+ l_____ RotisSansSerif-Light 634.0
+ l_____ RotisSansSerif-LightItalic 634.1
+ l_____ RotisSansSerif 634.2
+ l_____ RotisSansSerif-Italic 634.3
+ l_____ RotisSansSerif-Bold 634.4
+ l_____ RotisSansSerif-ExtraBold 634.5
+ l_____ RotisSerif 634.6
+ l_____ RotisSerif-Italic 634.7
+ l_____ RotisSerif-Bold 634.8
+ l_____ RotisSemiSans-Light 634.9
+ l_____ RotisSemiSans-LightItalic 634.10
+ l_____ RotisSemiSans 634.11
+ l_____ RotisSemiSans-Italic 634.12
+ l_____ RotisSemiSans-Bold 634.13
+ l_____ RotisSemiSans-ExtraBold 634.14
+ l_____ RotisSemiSerif 634.15
+ l_____ RotisSemiSerif-Bold 634.16
+ l_____ RunicMT-Condensed 635.0
+ l_____ SassoonPrimary 636.0
+ l_____ SerlioLH 637.0
+ l_____ ShelleyEF 638.0
+ l_____ SierraEF-Regular 639.0
+ l_____ SierraEF-RegularItalic 639.1
+ l_____ SierraEF-Bold 639.2
+ l_____ SierraEF-BoldItalic 639.3
+ l_____ SlipstreamEF 640.0
+ l_____ Souvenir-Light 641.0
+ l_____ Souvenir-LightItalic 641.1
+ l_____ Souvenir-Medium 641.2
+ l_____ Souvenir-MediumItalic 641.3
+ l_____ Souvenir-Demi 641.4
+ l_____ Souvenir-DemiItalic 641.5
+ l_____ Souvenir-Bold 641.6
+ l_____ Souvenir-BoldItalic 641.7
+ l_____ SouvenirGreek-Light 641.8
+ l_____ SouvenirGreek-Demi 641.9
+ l_____ SouvenirGreekP-Light 641.10
+ l_____ SouvenirGreekP-Demi 641.11
+ l_____ SouvenirEF-Light 641.12
+ l_____ SouvenirEF-LightItalic 641.13
+ l_____ SouvenirEF-Medium 641.14
+ l_____ SouvenirEF-MediumItalic 641.15
+ l_____ SouvenirEF-Demi 641.16
+ l_____ SouvenirEF-DemiItalic 641.17
+ l_____ SouvenirEF-Bold 641.18
+ l_____ SouvenirEF-BoldItalic 641.19
+ l_____ SouvenirMonoEF-Light 641.20
+ l_____ SouvenirMonoEF-LightItalic 641.21
+ l_____ SouvenirMonoEF-Bold 641.22
+ l_____ SpringfieldEF 642.0
+ l_____ StentorEF 643.0
+ l_____ StymieEF-Light 644.0
+ l_____ StymieEF-Medium 644.1
+ l_____ StymieEF-Bold 644.2
+ l_____ StymieEF-Black 644.3
+ l_____ StymieEF-MediumCondensed 644.4
+ l_____ StymieEF-BoldCondensed 644.5
+ l_____ SynchroEF 645.0
+ l_____ SynchroEF-Alternate 645.1
+ l_____ TeaChest 646.0
+ l_____ Times-Roman 648.0
+ l_____ Times-RomanSC 648.1
+ l_____ Times-Italic 648.2
+ l_____ Times-ItalicOsF 648.3
+ l_____ Times-SemiBold 648.4
+ l_____ Times-SemiBoldItalic 648.5
+ l_____ Times-Bold 648.6
+ l_____ Times-BoldSC 648.7
+ l_____ Times-BoldItalic 648.8
+ l_____ Times-BoldItalicOsF 648.9
+ l_____ TimesTen-Roman 648.10
+ l_____ TimesTen-RomanSC 648.11
+ l_____ TimesTen-RomanOsF 648.12
+ l_____ TimesTen-Italic 648.13
+ l_____ TimesTen-ItalicOsF 648.14
+ l_____ TimesTen-Bold 648.15
+ l_____ TimesTen-BoldOsF 648.16
+ l_____ TimesTen-BoldItalic 648.17
+ l_____ TimesTen-BoldItalicOsF 648.18
+ l_____ TimesEighteen-Roman 648.19
+ l_____ TimesEighteen-Bold 648.20
+ l_____ Times-ExtraBold 648.21
+ l_____ TimesEuropa-Roman 648.22
+ l_____ TimesEuropa-Italic 648.23
+ l_____ TimesEuropa-Bold 648.24
+ l_____ TimesEuropa-BoldItalic 648.25
+ l_____ Times-PhoneticIPA 648.26
+ l_____ Times-PhoneticAlternate 648.27
+ l_____ TimesCE-Roman 648.28
+ l_____ TimesCE-Italic 648.29
+ l_____ TimesCE-Bold 648.30
+ l_____ TimesCE-BoldItalic 648.31
+ l_____ TimesTenCE-Roman 648.32
+ l_____ TimesTenCE-Italic 648.33
+ l_____ TimesTenCE-Bold 648.34
+ l_____ TimesTenCE-BoldItalic 648.35
+ l_____ TimesTenCyr-Upright 648.36
+ l_____ TimesTenCyr-Inclined 648.37
+ l_____ TimesTenCyr-Bold 648.38
+ l_____ TimesTenCyr-BoldInclined 648.39
+ l_____ TimesTenEastA-Roman 648.40
+ l_____ TimesTenEastA-Italic 648.41
+ l_____ TimesTenEastA-Bold 648.42
+ l_____ TimesTenEastA-BoldItalic 648.43
+ l_____ TimesTenGreek-Upright 648.44
+ l_____ TimesTenGreek-Inclined 648.45
+ l_____ TimesTenGreek-Bold 648.46
+ l_____ TimesTenGreek-BdInclined 648.47
+ l_____ TimesTenGreekP-Upright 648.48
+ l_____ TimesTenGreekP-Inclined 648.49
+ l_____ TimesTenGreekP-Bold 648.50
+ l_____ TimesTenGreekP-BoldInclined 648.51
+ l_____ TimesModernEF 648.52
+ l_____ TimesNewRomanPS-Roman 648.53
+ l_____ TimesNewRomanPS-Italic 648.54
+ l_____ TimesNewRomanPS-Bold 648.55
+ l_____ TimesNewRomanPS-BoldItalic 648.56
+ l_____ TimesNewRomanMT-Cond 648.57
+ l_____ TimesNewRomanMT-CondItalic 648.58
+ l_____ TimesNewRomanMT-BoldCond 648.59
+ l_____ TradeGothic-Light 649.0
+ l_____ TradeGothic-LightOblique 649.1
+ l_____ TradeGothic 649.2
+ l_____ TradeGothic-Oblique 649.3
+ l_____ TradeGothic-Bold 649.4
+ l_____ TradeGothic-BoldTwo 649.5
+ l_____ TradeGothic-BoldOblique 649.6
+ l_____ TradeGothic-BoldTwoOblique 649.7
+ l_____ TradeGothic-CondEighteen 649.8
+ l_____ TradeGothic-CondEighteenObl 649.9
+ l_____ TradeGothic-BoldCondTwenty 649.10
+ l_____ TradeGothic-BoldCondTwentyObl 649.11
+ l_____ TradeGothicLH-Extended 649.12
+ l_____ Utopia-Regular 651.0
+ l_____ Utopia-RegularSC 651.1
+ l_____ UtopiaExp-Regular 651.2
+ l_____ Utopia-Italic 651.3
+ l_____ Utopia-ItalicOsF 651.4
+ l_____ UtopiaExp-Italic 651.5
+ l_____ Utopia-Semibold 651.6
+ l_____ Utopia-SemiboldSC 651.7
+ l_____ UtopiaExp-Semibold 651.8
+ l_____ Utopia-SemiboldItalic 651.9
+ l_____ Utopia-SemiboldItalicOsF 651.10
+ l_____ UtopiaExp-SemiboldItalic 651.11
+ l_____ Utopia-Bold 651.12
+ l_____ Utopia-BoldOsF 651.13
+ l_____ UtopiaExp-Bold 651.14
+ l_____ Utopia-BoldItalic 651.15
+ l_____ Utopia-BoldItalicOsF 651.16
+ l_____ UtopiaExp-BoldItalic 651.17
+ l_____ Utopia-Black 651.18
+ l_____ Utopia-BlackOsF 651.19
+ l_____ Utopia-BlackExpert 651.20
+ l_____ Utopia-Headline 651.21
+ l_____ Utopia-TitlingCapitals 651.22
+ l_____ Utopia-Ornaments 651.23
+ l_____ VenusMager 652.0
+ l_____ VenusKursivMager 652.1
+ l_____ VenusLinkskursiv 652.2
+ l_____ VenusHalbfett 652.3
+ l_____ VenusKursivHalbfett 652.4
+ l_____ VenusEgypHalbfett 652.5
+ l_____ VenusEgypHalbfettKurs 652.6
+ l_____ VoltaEF-Regular 653.0
+ l_____ VoltaEF-Medium 653.1
+ l_____ VoltaEF-MediumItalic 653.2
+ l_____ VoltaEF-Bold 653.3
+ l_____ Weiss 654.0
+ l_____ Weiss-Italic 654.1
+ l_____ Weiss-Bold 654.2
+ l_____ Weiss-ExtraBold 654.3
+ l_____ WeissAntiquaEF-Regular 654.4
+ l_____ WeissAntiquaEF-RegularItalic 654.5
+ l_____ WeissAntiquaEF-Medium 654.6
+ l_____ WeissAntiquaEF-Bold 654.7
+ l_____ WeissAntiquaEF-ExtraBold 654.8
+ l_____ WeissAntiquaEF-UltraBold 654.9
+ l_____ WeissAntiquaEF-BoldCondensed 654.10
+ l_____ WeissAntiquaEF-ExtraBoldCondensed 654.11
+ l_____ Wilke-Roman 655.0
+ l_____ Wilke-Italic 655.1
+ l_____ Wilke-Bold 655.2
+ l_____ Wilke-BoldItalic 655.3
+ l_____ Wilke-Black 655.4
+ l_____ Wilke-BlackItalic 655.5
+ l_____ Woodstock 656.0
+ l_____ Bellevue 657.0
+ l_____ BinnerEF 658.0
+ l_____ Boton-Light 659.0
+ l_____ Boton-LightItalic 659.1
+ l_____ Boton-Regular 659.2
+ l_____ Boton-Italic 659.3
+ l_____ Boton-Medium 659.4
+ l_____ Boton-MediumItalic 659.5
+ l_____ Boton-Bold 659.6
+ l_____ Boton-BoldItalic 659.7
+ l_____ AachenCE-Bold 9501.0
+ l_____ AdHoc 9501.1
+ l_____ AdHoc-Bis 9501.2
+ l_____ AdHoc-SC 9501.3
+ l_____ AdHoc-BisItalic 9501.4
+ l_____ AdHoc-Italic 9501.5
+ l_____ LinotypeAmelia 9501.8
+ l_____ Andreas 9501.9
+ l_____ BaskervilleClassico 9501.13
+ l_____ BaskervilleClassico-Italic 9501.14
+ l_____ BaskervilleClassico-BoldItalic 9501.15
+ l_____ BaskervilleClassico-SC 9501.16
+ l_____ BaskervilleClassico-Bold 9501.17
+ l_____ LinotypeBecket 9501.18
+ l_____ Bernhard-BoldCondensed 9501.19
+ l_____ Birka 9501.20
+ l_____ Birka-SC 9501.21
+ l_____ Birka-SemiBoldItalic 9501.22
+ l_____ Birka-SemiBold 9501.23
+ l_____ Birka-BoldItalic 9501.24
+ l_____ Birka-Italic 9501.25
+ l_____ Birka-Bold 9501.26
+ l_____ LinotypeBlackWhiteHeadline 9501.27
+ l_____ LinotypeBlackWhiteOutline 9501.28
+ l_____ LinotypeBlackWhiteLaserOutline 9501.29
+ l_____ LinotypeBlackWhite 9501.30
+ l_____ LinotypeBlackWhiteLaser 9501.31
+ l_____ BodoniHE-Light 9501.32
+ l_____ BodoniHE-LightItalic 9501.33
+ l_____ BodoniHE-SemiBold 9501.34
+ l_____ BodoniHE-SemiBoldItalic 9501.35
+ l_____ BodoniHE-BookItalic 9501.36
+ l_____ BodoniHE-Book 9501.37
+ l_____ BodoniHE-Bold 9501.38
+ l_____ BodoniHE-ExtraBold 9501.39
+ l_____ BodoniHE-BoldItalic 9501.40
+ l_____ BodoniHE-SemiBoldCondensedItalic 9501.41
+ l_____ BodoniHE-SemiBoldCondensed 9501.42
+ l_____ BodoniHE-BoldCondensedItalic 9501.43
+ l_____ BodoniHE-BoldCondensed 9501.44
+ l_____ BodoniHE-ExtraBoldItalic 9501.45
+ l_____ BodoniClassico 9501.46
+ l_____ BodoniClassico-BoldItalic 9501.47
+ l_____ BodoniClassico-SC 9501.48
+ l_____ BodoniClassico-Bold 9501.49
+ l_____ BodoniClassico-Italic 9501.50
+ l_____ Carniola 9501.52
+ l_____ Carniola-Bold 9501.53
+ l_____ Carniola-SemiBold 9501.54
+ l_____ Carniola-SC 9501.55
+ l_____ Carniola-SemiBoldItalic 9501.56
+ l_____ Carniola-BoldItalic 9501.57
+ l_____ Carniola-Italic 9501.58
+ l_____ CaslonHE-Light 9501.59
+ l_____ CaslonHE-LightItalic 9501.60
+ l_____ CaslonHE-Italic 9501.61
+ l_____ CaslonHE-Roman 9501.62
+ l_____ CaslonClassico 9501.63
+ l_____ CaslonClassico-Bold 9501.64
+ l_____ CaslonClassico-SC 9501.65
+ l_____ CaslonClassico-BoldItalic 9501.66
+ l_____ CaslonClassico-Italic 9501.67
+ l_____ Century-HandtooledBold 9501.68
+ l_____ Century-HandtooledBoldItalic 9501.69
+ l_____ NewCenturySchlbkCyr-Roman 9501.70
+ l_____ NewCenturySchlbkCyr-Bold 9501.71
+ l_____ NewCenturySchlbkCyr-Italic 9501.72
+ l_____ NewCenturySchlbkCyr-BoldItalic 9501.73
+ l_____ Cheltenham-HandtooledBd 9501.74
+ l_____ Cheltenham-HandtooledBdIt 9501.75
+ l_____ CloisterOpenFace 9501.76
+ l_____ Linotype CMC-Seven 9501.77
+ l_____ CooperBlackCE-Regualr 9501.78
+ l_____ CooperBlackCE-Italic 9501.79
+ l_____ CourierCyr 9501.80
+ l_____ CourierCyr-Oblique 9501.81
+ l_____ CourierCyr-BoldOblique 9501.82
+ l_____ CourierCyr-Bold 9501.83
+ l_____ LinotypeDavida 9501.84
+ l_____ Devin 9501.95
+ l_____ Devin-Bold 9501.96
+ l_____ Devin-Italic 9501.97
+ l_____ Devin-SemiBold 9501.98
+ l_____ Devin-SC 9501.99
+ l_____ Devin-SemiBoldItalic 9501.100
+ l_____ Devin-BoldItalic 9501.101
+ l_____ Dialog-Condensed 9501.102
+ l_____ Dialog-SemiBoldSC 9501.103
+ l_____ Dialog-LightSC 9501.104
+ l_____ Dialog-ExtraBoldItalic 9501.105
+ l_____ Dialog-ExtraBold 9501.106
+ l_____ Dialog-SemiBoldItalic 9501.107
+ l_____ Dialog-SemiBold 9501.108
+ l_____ Dialog-LightItalic 9501.109
+ l_____ Dialog-Light 9501.110
+ l_____ Dialog-SC 9501.111
+ l_____ Dialog-BoldItalic 9501.112
+ l_____ Dialog-Bold 9501.113
+ l_____ Dialog-Italic 9501.114
+ l_____ Dialog 9501.115
+ l_____ DialogCond-Bold 9501.116
+ l_____ DialogCond-Italic 9501.117
+ l_____ DialogCond-BoldItalic 9501.118
+ l_____ DialogCond-SemiBoldItalic 9501.119
+ l_____ DialogCond-SemiBold 9501.120
+ l_____ DigiAntiqua-LightCondensed 9501.121
+ l_____ DigiGrotesk-BoldCondensed 9501.122
+ l_____ EmonaCond 9501.124
+ l_____ EmonaCond-Bold 9501.125
+ l_____ EmonaCond-BoldItalic 9501.126
+ l_____ Emona-Bold 9501.127
+ l_____ Emona-SemiBold 9501.128
+ l_____ Emona-SC 9501.129
+ l_____ Emona-SemiBoldItalic 9501.130
+ l_____ Emona-Italic 9501.131
+ l_____ Emona 9501.132
+ l_____ EmonaCond-Italic 9501.133
+ l_____ Emona-BoldItalic 9501.134
+ l_____ EsperantoCond 9501.135
+ l_____ Esperanto 9501.136
+ l_____ Esperanto-Bold 9501.137
+ l_____ Esperanto-SemiBold 9501.138
+ l_____ Esperanto-SC 9501.139
+ l_____ Esperanto-SemiBoldItalic 9501.140
+ l_____ Esperanto-BoldItalic 9501.141
+ l_____ Esperanto-Italic 9501.142
+ l_____ EsperantoCond-SC 9501.143
+ l_____ EsperantoCond-Bold 9501.144
+ l_____ EsperantoCond-Italic 9501.145
+ l_____ EsperantoCond-BoldItalic 9501.146
+ l_____ ExcelsiorInsertio 9501.147
+ l_____ F2FAlRetto 9501.148
+ l_____ F2FBoneR-Book 9501.149
+ l_____ F2FCzykagoSemiSerif 9501.150
+ l_____ F2FLego-Stoned 9501.151
+ l_____ F2FLovegrid 9501.152
+ l_____ F2FMadame-Butterfly 9501.153
+ l_____ F2FMadZine-Dirt 9501.154
+ l_____ F2FMadZine-Script 9501.155
+ l_____ F2FOCR-AlexczykShake 9501.156
+ l_____ OCR-BczykNorm 9501.157
+ l_____ OCR-BczykBold 9501.158
+ l_____ F2FPrototipa-Multipla 9501.159
+ l_____ F2FScreen-Scream 9501.160
+ l_____ F2FShakkarakk 9501.161
+ l_____ F2FShpeetz 9501.162
+ l_____ F2FTagliatelle-Sugo 9501.163
+ l_____ F2FTwins 9501.164
+ l_____ F2FTyrell-Corp 9501.165
+ l_____ Linotype FehrleDisplay 9501.166
+ l_____ Fortuna 9501.167
+ l_____ Fortuna-Bold 9501.168
+ l_____ FranklinGothic-BookCmpr 9501.169
+ l_____ FranklinGothic-DemiCmprItal 9501.170
+ l_____ FranklinGothic-DemiXCmpr 9501.171
+ l_____ FranklinGothic-BookXCmpr 9501.172
+ l_____ FranklinGothic-DemiCndItal 9501.173
+ l_____ FranklinGothic-DemiCnd 9501.174
+ l_____ FranklinGothic-MediumCndItal 9501.175
+ l_____ FranklinGothic-MediumCnd 9501.176
+ l_____ FranklinGothic-BookCndItal 9501.177
+ l_____ FranklinGothic-BookCnd 9501.178
+ l_____ FranklinGothic-DemiCmpr 9501.179
+ l_____ FranklinGothic-BookCmprItal 9501.180
+ l_____ FreestyleScriptCE 9501.181
+ l_____ FrutigerCE-LightItalic 9501.182
+ l_____ FrutigerCE-Roman 9501.183
+ l_____ FrutigerCE-Black 9501.184
+ l_____ FrutigerCE-Italic 9501.185
+ l_____ FrutigerCE-Light 9501.186
+ l_____ FrutigerCE-UltraBlack 9501.187
+ l_____ FrutigerCE-BlackItalic 9501.188
+ l_____ FrutigerCE-BoldItalic 9501.189
+ l_____ FrutigerCE-Bold 9501.190
+ l_____ FuturaCE-Light 9501.191
+ l_____ FuturaCE-Bold 9501.192
+ l_____ FuturaCE-Medium 9501.193
+ l_____ FuturaCE-BoldOblique 9501.194
+ l_____ FuturaCE-LightOblique 9501.195
+ l_____ FuturaCE-ExtraBoldOblique 9501.196
+ l_____ FuturaCE-ExtraBold 9501.197
+ l_____ FuturaCE-HeavyOblique 9501.198
+ l_____ FuturaCE-Heavy 9501.199
+ l_____ FuturaCE-MediumOblique 9501.200
+ l_____ FuturaCE-BookOblique 9501.201
+ l_____ FuturaCE-Book 9501.202
+ l_____ Garamond-HandtooledBold 9501.206
+ l_____ Garamond-HandtooledBoldItalic 9501.207
+ l_____ GaramondClassico 9501.208
+ l_____ GaramondClassico-BoldItalic 9501.209
+ l_____ GaramondClassico-SC 9501.210
+ l_____ GaramondClassico-Italic 9501.211
+ l_____ GaramondClassico-Bold 9501.212
+ l_____ GillSansCE-Light 9501.213
+ l_____ GillSansCE-Roman 9501.214
+ l_____ GillSansCE-Bold 9501.215
+ l_____ GillSansCE-BoldItalic 9501.216
+ l_____ GillSansCE-Italic 9501.217
+ l_____ GillSansCE-LightItalic 9501.218
+ l_____ GoudyModern94 9501.219
+ l_____ GoudyModern94-Italic 9501.220
+ l_____ GoudyModern94-Bold 9501.221
+ l_____ GoudyModern94-BoldItalic 9501.222
+ l_____ GoudyModern94-SC 9501.223
+ l_____ GoudyVillage 9501.224
+ l_____ GoudyVillage-SC 9501.225
+ l_____ GoudyVillage-BoldItalic 9501.226
+ l_____ GoudyVillage-Italic 9501.227
+ l_____ GoudyVillage-Bold 9501.228
+ l_____ GriffoClassico 9501.229
+ l_____ GriffoClassico-Bold 9501.230
+ l_____ GriffoClassico-BoldItalic 9501.231
+ l_____ GriffoClassico-SC 9501.232
+ l_____ GriffoClassico-Italic 9501.233
+ l_____ HelveticaNeueCE-Light 9501.238
+ l_____ HelveticaNeueCE-Black 9501.239
+ l_____ HelveticaNeueCE-UltraLightIt 9501.240
+ l_____ HelveticaNeueCE-BlackItalic 9501.241
+ l_____ HelveticaNeueCE-Medium 9501.242
+ l_____ HelveticaNeueCE-Heavy 9501.243
+ l_____ HelveticaNeueCE-HeavyItalic 9501.244
+ l_____ HelveticaNeueCE-UltraLight 9501.245
+ l_____ HelveticaNeueCE-MediumItalic 9501.246
+ l_____ HelveticaNeueCE-LightItalic 9501.247
+ lpi___ Linotype HieroglyphsPi-One 9501.248
+ lpi___ Linotype HieroglyphsPi-Two 9501.249
+ l_____ Humana 9501.250
+ l_____ Humana-SC 9501.251
+ l_____ Isolde 9501.252
+ l_____ Isolde-Italic 9501.253
+ l_____ Isolde-BoldItalic 9501.254
+ l_____ Isolde-SC 9501.255
+ l_____ Isolde-Bold 9501.256
+ l_____ JensonClassico 9501.257
+ l_____ JensonClassico-Italic 9501.258
+ l_____ JensonClassico-BoldItalic 9501.259
+ l_____ JensonClassico-Bold 9501.260
+ l_____ JensonClassico-SC 9501.261
+ l_____ Jesper 9501.262
+ l_____ Jonatan 9501.263
+ l_____ Kalix 9501.264
+ l_____ Kalix-SC 9501.265
+ l_____ Kalix-Italic 9501.266
+ l_____ Kalix-Bold 9501.267
+ l_____ Kalix-BoldItalic 9501.268
+ l_____ Kalix-SemiBoldItalic 9501.269
+ l_____ Kalix-SemiBold 9501.270
+ l_____ Kasper 9501.271
+ lpi___ MacKeyCaps 9501.272
+ l_____ KisClassico 9501.281
+ l_____ KisClassico-BoldItalic 9501.282
+ l_____ KisClassico-SC 9501.283
+ l_____ KisClassico-Italic 9501.284
+ l_____ KisClassico-Bold 9501.285
+ lpi___ Linobats 9501.288
+ l_____ LucidaTypewriter 9501.289
+ l_____ LucidaSansTypewriter 9501.290
+ l_____ LucidaSansTypewriter-Bd 9501.291
+ l_____ LucidaSansTypewriter-BdObl 9501.292
+ l_____ LucidaTypewriter-BoldObl 9501.293
+ l_____ LucidaTypewriter-Bold 9501.294
+ l_____ LucidaTypewriter-Obl 9501.295
+ l_____ LucidaSansTypewriter-Obl 9501.296
+ l_____ LinotypeLutherscheFraktur 9501.297
+ l_____ LinotypeLutherscheFraktur-Dfr 9501.298
+ l_____ Manuskript 9501.299
+ l_____ Manuskript-BoldItalic 9501.300
+ l_____ Manuskript-SC 9501.301
+ l_____ Manuskript-Bold 9501.302
+ l_____ Manuskript-Italic 9501.303
+ l_____ MarcoPolo 9501.304
+ l_____ MarcoPolo-SC 9501.305
+ l_____ MarcoPolo-Italic 9501.306
+ l_____ Memento 9501.307
+ l_____ Memento-Italic 9501.308
+ l_____ Memento-SemiBold 9501.309
+ l_____ Memento-SemiBoldItalic 9501.310
+ l_____ Memento-BoldItalic 9501.311
+ l_____ Memento-Bold 9501.312
+ l_____ Memento-SC 9501.313
+ l_____ Miramar 9501.314
+ l_____ Miramar-SC 9501.315
+ l_____ Miramar-BoldItalic 9501.316
+ l_____ Miramar-Bold 9501.317
+ l_____ Miramar-Italic 9501.318
+ l_____ Mojo 9501.319
+ l_____ Monti-Roman 9501.320
+ l_____ Monti-SemiBold 9501.321
+ l_____ Napoleon-Light 9501.322
+ l_____ Napoleon-Roman 9501.323
+ l_____ Napoleon-Italic 9501.324
+ l_____ Napoleon-Bold 9501.325
+ l_____ Napoleon-BoldCondensed 9501.326
+ l_____ Napoleon-SemiBold 9501.327
+ l_____ Neuland 9501.328
+ l_____ NormaCompr 9501.329
+ l_____ NormaCompr-Bold 9501.330
+ l_____ NormaCompr-Italic 9501.331
+ l_____ NormaCompr-SC 9501.332
+ l_____ NormaCond-Bold 9501.333
+ l_____ NormaCond 9501.334
+ l_____ Norma-SemiBoldItalic 9501.335
+ l_____ Norma-SemiBold 9501.336
+ l_____ Norma-BoldItalic 9501.337
+ l_____ Norma-Bold 9501.338
+ l_____ Norma-Italic 9501.339
+ l_____ Norma 9501.340
+ l_____ NormaCond-SC 9501.341
+ l_____ NormaCond-Italic 9501.342
+ l_____ Norma-SC 9501.343
+ l_____ NormaCond-BoldItalic 9501.344
+ l_____ NormaCompr-BoldItalic 9501.345
+ l_____ Nyfors 9501.346
+ l_____ OdenseCompr 9501.347
+ l_____ OdenseCompr-Italic 9501.348
+ l_____ OdenseCond-Bold 9501.349
+ l_____ OdenseCond-Italic 9501.350
+ l_____ OdenseCond-BoldItalic 9501.351
+ l_____ Odense-Bold 9501.352
+ l_____ Odense-Italic 9501.353
+ l_____ Odense 9501.354
+ l_____ Odense-SemiBoldSC 9501.355
+ l_____ Odense-ExtraBoldItalic 9501.356
+ l_____ Odense-ExtraBold 9501.357
+ l_____ Odense-SemiBoldItalic 9501.358
+ l_____ Odense-SemiBold 9501.359
+ l_____ Odense-SC 9501.360
+ l_____ Odense-BoldItalic 9501.361
+ l_____ Odense-Neon 9501.362
+ l_____ OdenseCond 9501.363
+ l_____ Omnibus 9501.364
+ l_____ Omnibus-Italic 9501.365
+ l_____ Omnibus-BoldItali 9501.366
+ l_____ Omnibus-SemiBoldItalic 9501.367
+ l_____ Omnibus-SemiBold 9501.368
+ l_____ Omnibus-SC 9501.369
+ l_____ Omnibus-Bold 9501.370
+ l_____ Ondine 9501.371
+ l_____ Optima-Medium 9501.372
+ l_____ Optima-DemiBoldItalic 9501.373
+ l_____ Optima-BlackItalic 9501.374
+ l_____ Optima-ExtraBlackItalic 9501.375
+ l_____ Optima-ExtraBlack 9501.376
+ l_____ Optima-Black 9501.377
+ l_____ Optima-DemiBold 9501.378
+ l_____ Optima-MediumItalic 9501.379
+ l_____ Ouch 9501.380
+ l_____ LinotypePaintIt 9501.381
+ l_____ LinotypePaintIt-Black 9501.382
+ l_____ Pax 9501.383
+ l_____ Pax-SemiBoldItalic 9501.384
+ l_____ Pax-SemiBold 9501.385
+ l_____ PaxCond-SC 9501.386
+ l_____ PaxCond-BoldItalic 9501.387
+ l_____ PaxCond-Bold 9501.388
+ l_____ PaxCond-Italic 9501.389
+ l_____ PaxCond 9501.390
+ l_____ Pax-SC 9501.391
+ l_____ Pax-Italic 9501.392
+ l_____ Pax-BoldItalic 9501.393
+ l_____ Pax-Bold 9501.394
+ l_____ PaxTwo 9501.395
+ l_____ PaxTwo-Italic 9501.396
+ l_____ PaxTwo-Bold 9501.397
+ l_____ PaxTwo-SemiBold 9501.398
+ l_____ PaxTwo-SC 9501.399
+ l_____ PaxTwo-SemiBoldItalic 9501.400
+ l_____ PaxTwo-BoldItalic 9501.401
+ l_____ Persona 9501.402
+ l_____ Pierrot 9501.403
+ l_____ Ragnar 9501.406
+ l_____ Ragnar-SC 9501.407
+ l_____ Ragnar-SemiBoldItalic 9501.408
+ l_____ Ragnar-Bold 9501.409
+ l_____ Ragnar-BoldItalic 9501.410
+ l_____ Ragnar-SemiBold 9501.411
+ l_____ Ragnar-Italic 9501.412
+ l_____ ResPublicaCond 9501.413
+ l_____ ResPublica-Italic 9501.414
+ l_____ ResPublica-BoldItalic 9501.415
+ l_____ ResPublica-SC 9501.416
+ l_____ ResPublica-Bold 9501.417
+ l_____ ResPublica 9501.418
+ l_____ ResPublicaCond-Italic 9501.419
+ l_____ ResPublica-SemiBoldItalic 9501.420
+ l_____ ResPublica-SemiBold 9501.421
+ l_____ RevueCE 9501.422
+ l_____ Rustika 9501.423
+ l_____ Rustika-Bold 9501.424
+ l_____ Rustika-BoldItalic 9501.425
+ l_____ Rustika-Italic 9501.426
+ l_____ Rustika-SC 9501.427
+ l_____ SabonCE-Roman 9501.428
+ l_____ SabonCE-Italic 9501.429
+ l_____ SabonCE-BoldItalic 9501.430
+ l_____ SabonCyr-Bold 9501.431
+ l_____ SabonGreek-Roman 9501.432
+ l_____ SabonGreek-Bold 9501.433
+ l_____ SabonGreek-BoldItalic 9501.434
+ l_____ SabonGreek-Italic 9501.435
+ l_____ SabonCyr-Italic 9501.436
+ l_____ SabonCyr-Roman 9501.437
+ l_____ SabonCE-Bold 9501.438
+ l_____ SabonCyr-BoldItalic 9501.439
+ l_____ Saga 9501.440
+ l_____ Saga-BoldItalic 9501.441
+ l_____ Saga-SemiBold 9501.442
+ l_____ Saga-SemiBoldItalic 9501.443
+ l_____ Saga-SC 9501.444
+ l_____ Saga-Bold 9501.445
+ l_____ Saga-Italic 9501.446
+ l_____ Linotype SallweyScript 9501.447
+ l_____ SanMarcoCyr 9501.448
+ l_____ Saphir 9501.449
+ l_____ Semper 9501.456
+ l_____ Semper-Italic 9501.457
+ l_____ Semper-BoldItalic 9501.458
+ l_____ Semper-SC 9501.459
+ l_____ Semper-Bold 9501.460
+ l_____ Shuriken-Boy 9501.461
+ l_____ LinotypeSpitz-Light 9501.462
+ l_____ LinotypeSpitz-Book 9501.463
+ l_____ LinotypeSpitz-Black 9501.464
+ l_____ LinotypeSpitz-Bold 9501.465
+ l_____ LinotypeSpitz-Medium 9501.466
+ l_____ StencilCyr 9501.467
+ l_____ Tiemann-Light 9501.468
+ l_____ Tiemann-Roman 9501.469
+ l_____ Trajanus-Roman 9501.470
+ l_____ Trajanus-Black 9501.471
+ l_____ Trajanus-BlackItalic 9501.472
+ l_____ Trajanus-BoldItalic 9501.473
+ l_____ Trajanus-Italic 9501.474
+ l_____ Trajanus-Bold 9501.475
+ l_____ Transport 9501.476
+ l_____ Transport-BoldItalic 9501.477
+ l_____ Transport-Light 9501.478
+ l_____ Transport-LightItalic 9501.479
+ l_____ Transport-SC 9501.480
+ l_____ Transport-LightSC 9501.481
+ l_____ Transport-Bold 9501.482
+ l_____ Transport-Italic 9501.483
+ l_____ UniversCyr-Light 9501.484
+ l_____ UniversCyr-LightOblique 9501.485
+ l_____ UniversCyr 9501.486
+ l_____ UniversCyr-Oblique 9501.487
+ l_____ UniversCyr-Bold 9501.488
+ l_____ UniversCyr-BoldOblique 9501.489
+ l_____ UniversCyr-Black 9501.490
+ l_____ UniversCyr-BlackOblique 9501.491
+ l_____ UniversityRomanCE 9501.492
+ l_____ UniversityCyr-Roman 9501.493
+ l_____ Vega 9501.494
+ l_____ Vega-Bold 9501.495
+ l_____ Vega-SemiBold 9501.496
+ l_____ Vega-SC 9501.497
+ l_____ Vega-SemiBoldItalic 9501.498
+ l_____ Vega-BoldItalic 9501.499
+ l_____ Vega-Italic 9501.500
+ l_____ WiesbadenSwingCyr-Roman 9501.501
+
+
+File: fontname.info, Node: Monotype fonts, Next: URW fonts, Prev: Linotype fonts, Up: Font name lists
+
+A.8 Monotype fonts
+==================
+
+The `monotype.map' file has abbreviations for Monotype fonts.
+
+ mapr8x ApolloMT-Expert MT 1001 ezexp___
+ maprc8a ApolloMT-SC MT 1001 ezi_____
+ mapri8x ApolloMT-ItalicExpert MT 1001 eziof___
+ mapri8a ApolloMT-Italic MT 1001 ezixp___
+ mapr8a ApolloMT MT 1001 ezr_____
+ maprij8a ApolloMT-ItalicOsF MT 1001 ezrsc___
+ maps8a ApolloMT-SemiBold MT 1001 ezsb____
+ mapsj8a ApolloMT-SemiBoldOsF MT 1001 ezsbo___
+ maps8x ApolloMT-SemiBoldExpert MT 1001 ezsbx___
+ mnrrw8a NewBerolinaMT MT 1002 _n______
+ mp1rw8a PalaceScriptMT MT 1002 _p______
+ mp1sw8a PalaceScriptMT-SemiBold MT 1002 _psb____
+ mahrw8a AshleyScriptMT MT 1002 le______
+ mm1rw8a MonolineScriptMT MT 1002 on______
+ mbvr8a BaskervilleMT MT 1003 bas_____
+ mbvb8a BaskervilleMT-Bold MT 1003 basb____
+ mbvbi8a BaskervilleMT-BoldItalic MT 1003 basbi___
+ mbvri8a BaskervilleMT-Italic MT 1003 basi____
+ mbvs8a BaskervilleMT-SemiBold MT 1003 bass____
+ mbvsi8a BaskervilleMT-SemiBoldItalic MT 1003 bassi___
+ mbbr8a Bembo MT 1004 bm______
+ mbbb8a Bembo-Bold MT 1004 bmb_____
+ mbbbi8a Bembo-BoldItalic MT 1004 bmbi____
+ mbbri8a Bembo-Italic MT 1004 bmi_____
+ mbbx8a Bembo-ExtraBold MT 1005 bmeb____
+ mbbxi8a Bembo-ExtraBoldItalic MT 1005 bmebi___
+ mbbs8a Bembo-SemiBold MT 1005 bmsb____
+ mbbsi8a Bembo-SemiBoldItalic MT 1005 bmsbi___
+ mdsrw8a DorchesterScriptMT MT 1006 dsscr___
+ mp2rw8a PepitaMT MT 1006 epscr___
+ mbfrw8a BiffoMT MT 1006 ifscr___
+ mswbw8a SwingMT-Bold MT 1006 swib____
+ ms2bw8a ScriptMT-Bold MT 1006 tbscr___
+ mb1ri8a BladoMT-Italic MT 1007 blai____
+ mpzr8a PoliphilusMT MT 1007 pol_____
+ mvdr8a VanDijckMT MT 1007 van_____
+ mvdri8a VanDijckMT-Italic MT 1007 vani____
+ mbdr8a BodoniMT MT 1008 bod_____
+ mbdb8a BodoniMT-Bold MT 1008 bodb____
+ mbdbi8a BodoniMT-BoldItalic MT 1008 bodbi___
+ mbdri8a BodoniMT-Italic MT 1008 bodi____
+ mbdu8a BodoniMT-UltraBold MT 1009 bodu____
+ mbdui8a BodoniMT-UltraBoldItalic MT 1009 bodui___
+ mbdk8a BodoniMT-Book MT 1009 bodw____
+ mbdki8a BodoniMT-BookItalic MT 1009 bodwi___
+ moxr8a OnyxMT MT 1009 ox______
+ mbdb8ac BodoniMT-CondensedBold MT 1010 bodc____
+ mbdbi8ac BodoniMT-CondensedBoldItalic MT 1010 bodci___
+ mbdc8a BodoniMT-Black MT 1010 bodk____
+ mbdci8a BodoniMT-BlackItalic MT 1010 bodki___
+ mb3r8a BraggadocioMT MT 1011 bra_____
+ mfir8a FigaroMT MT 1011 fig_____
+ mfer8a ForteMT MT 1011 for_____
+ mklr8a KlangMT MT 1011 kla_____
+ mc8b8a CalvertMT-Bold MT 1012 vtb_____
+ mc8l8a CalvertMT-Light MT 1012 vtl_____
+ mc8r8a CalvertMT MT 1012 vtrg____
+ mcnb8a CenturyMT-Bold MT 1013 cenb____
+ mcnbi8a CenturyMT-BoldItalic MT 1013 cenbi___
+ mcnb8ax CenturyMT-Expanded MT 1013 cenx____
+ mcnbi8ax CenturyMT-ExpandedItalic MT 1013 cenxi___
+ mcubi8a CenturyOSMT-BoldItalic MT 1015 cobi____
+ mcur8a CenturyOSMT MT 1015 cos_____
+ mcub8a CenturyOSMT-Bold MT 1015 cosb____
+ mcuri8a CenturyOSMT-Italic MT 1015 cosi____
+ mcdr8a ClarendonMT MT 1016 cld_____
+ meer8a EgyptianMT-Extended MT 1016 egyex___
+ mnnr8a NewClarendonMT MT 1016 ncl_____
+ mnnb8a NewClarendonMT-Bold MT 1016 nclb____
+ mc6r8a ClarionMT MT 1017 cla_____
+ mc6b8a ClarionMT-Bold MT 1017 clab____
+ mc6ri8a ClarionMT-Italic MT 1017 clai____
+ mcfb8a ClearfaceMT-Bold MT 1018 cleb____
+ mcfbs8a ClearfaceGothicMT-Bold MT 1018 clgb____
+ mcfds8a ClearfaceGothicMT-DemiBold MT 1018 clgdb___
+ mcrr8a12 CourierTwelveMT MT 1019 cot_____
+ mtyre8a TypewriterEliteMT MT 1019 tye_____
+ mtyrg8a TypewriterGothicMT MT 1019 tyg_____
+ mtyr8a TypewriterMT MT 1019 typ_____
+ metr8a EhrhardtMT MT 1020 ehr_____
+ metri8a EhrhardtMT-Italic MT 1020 ehri____
+ mets8a EhrhardtMT-SemiBold MT 1020 ehrs____
+ metsi8a EhrhardtMT-SemiBoldItalic MT 1020 ehrsi___
+ menr8a EngraversMT MT 1021 eng_____
+ menb8a EngraversMT-Bold MT 1021 engb____
+ menrf8a EngraversOldEnglishMT MT 1021 engoe___
+ mfsra8a FalstaffMT MT 1022 fprg____
+ mhdr8a HeadlineMT-Bold MT 1022 head____
+ mpdr8ac PlacardMT-Condensed MT 1022 plcc____
+ mpdb8ac PlacardMT-CondensedBold MT 1022 plccb___
+ mgmr8a GaramondMT MT 1023 gar_____
+ mgmb8a GaramondMT-Bold MT 1023 garb____
+ mgmbi8a GaramondMT-BoldItalic MT 1023 garbi___
+ mgmri8a GaramondMT-Italic MT 1023 gari____
+ mgmria8a GaramondMT-AlternativeItalic MT 1023 garit___
+ mgsr8a GillSans MT 1024 gn______
+ mgsb8a GillSans-Bold MT 1024 gnb_____
+ mgsbi8a GillSans-BoldItalic MT 1024 gnbi____
+ mgsri8a GillSans-Italic MT 1024 gni_____
+ mgsl8a GillSans-Light MT 1024 gnl_____
+ mgsli8a GillSans-LightItalic MT 1024 gnli____
+ mgsb8ac GillSans-BoldCondensed MT 1025 gnbc____
+ mgsr8ac GillSans-Condensed MT 1025 gnc_____
+ mgsx8a GillSans-ExtraBold MT 1025 gneb____
+ mgsu8a GillSans-UltraBold MT 1025 gnub____
+ mgsu8ac GillSans-UltraBoldCondensed MT 1025 gnubc___
+ mgrb8a GloucesMT-Bold MT 1026 glb_____
+ mgrb8ac GloucesMT-CondBold MT 1026 glcb____
+ mgrb8ax GloucesMT-ExtendedBold MT 1026 gleb____
+ mgrb8aq GloucesMT-ExtraCondensedBold MT 1026 glecb___
+ mgrr8a GloucesOldStyleMT MT 1026 glos____
+ mg5r8a GoudyCatalogueMT MT 1027 goc_____
+ mg5ri8a GoudyCatalogueMT-Italic MT 1027 goci____
+ mgor8a GoudyOldStyleMT MT 1027 gos_____
+ mgori8a GoudyOldStyleMT-Italic MT 1027 gosi____
+ mgyb8a GoudyMT-Bold MT 1027 goub____
+ mgybi8a GoudyMT-BoldItalic MT 1027 goubi___
+ mg4r8a GoudyModernMT MT 1028 gom_____
+ mg4ri8a GoudyModernMT-Italic MT 1028 gomi____
+ mgyx8a GoudyMT-ExtraBold MT 1028 goueb___
+ mgtr8a GoudyTextMT MT 1028 goutx___
+ mgqr8a GrotesqueMT MT 1029 gq______
+ mgqc8a GrotesqueMT-Black MT 1029 gqb_____
+ mgqb8a GrotesqueMT-Bold MT 1029 gqbl____
+ mgqri8a GrotesqueMT-Italic MT 1029 gqi_____
+ mgql8a GrotesqueMT-Light MT 1029 gql_____
+ mgqli8a GrotesqueMT-LightItalic MT 1029 gqli____
+ mgqc8a GrotesqueMT-Black MT 1030 gqbl____
+ mgqb8ax GrotesqueMT-BoldExtended MT 1030 gqbv____
+ mgqr8ac GrotesqueMT-Condensed MT 1030 gqc_____
+ mgqr8aq GrotesqueMT-ExtraCondensed MT 1030 gqec____
+ mgql8ac GrotesqueMT-LightCondensed MT 1030 gqlc____
+ miir8a ImprintMT MT 1032 im______
+ miib8a ImprintMT-Bold MT 1032 imb_____
+ miibi8a ImprintMT-BoldItalic MT 1032 imbi____
+ miiri8a ImprintMT-Italic MT 1032 imi_____
+ mifr8a InflexMT MT 1033 iqb_____
+ moer8a OldEnglishTextMT MT 1033 mbbou___
+ mosbl8a MonotOldStyleMT-BoldOutline MT 1033 old_____
+ mior8a IonicMT MT 1034 ion_____
+ miob8a IonicMT-Bold MT 1034 ionb____
+ miori8a IonicMT-Italic MT 1034 ioni____
+ misb8a ItalianOldStyleMT-Bold MT 1035 ieb_____
+ misbi8a ItalianOldStyleMT-BoldItalic MT 1035 iebi____
+ misri8a ItalianOldStyleMT-Italic MT 1035 iei_____
+ misr8a ItalianOldStyleMT MT 1035 ierg____
+ mmob8a ModernMT-Bold MT 1036 nmb_____
+ mmobi8a ModernMT-BoldItalic MT 1036 nmbi____
+ mmor8ax ModernMT-Extended MT 1036 nmex____
+ mmori8ax ModernMT-ExtendedItalic MT 1036 nmexi___
+ mnpr8a NewsPlantinMT MT 1038 npl_____
+ mnpb8a NewsPlantinMT-Bold MT 1038 nplb____
+ mnpbi8a NewsPlantinMT-BoldItalic MT 1038 nplbi___
+ mnpri8a NewsPlantinMT-Italic MT 1038 npli____
+ mosr8a OldStyleMT MT 1039 ost_____
+ mosb8a OldStyleMT-Bold MT 1039 ostb____
+ mosbi8a OldStyleMT-BoldItalic MT 1039 ostbi___
+ mosri8a OldStyleMT-Italic MT 1039 osti____
+ mpnr8a Plantin MT 1040 pl______
+ mpnb8a Plantin-Bold MT 1040 plb_____
+ mpnbi8a Plantin-BoldItalic MT 1040 plbi____
+ mpnri8a Plantin-Italic MT 1040 pli_____
+ mpnb8ac Plantin-BoldCondensed MT 1041 plbc____
+ mpnl8a Plantin-Light MT 1041 pll_____
+ mpnli8a Plantin-LightItalic MT 1041 plli____
+ mpns8a Plantin-SemiBold MT 1041 plsb____
+ mpnsi8a Plantin-SemiBoldItalic MT 1041 plsbi___
+ mrwr8a Rockwell MT 1042 rk______
+ mrwb8a Rockwell-Bold MT 1042 rkb_____
+ mrwbi8a Rockwell-BoldItalic MT 1042 rkbi____
+ mrwri8a Rockwell-Italic MT 1042 rki_____
+ mrwl8a Rockwell-Light MT 1042 rkl_____
+ mrwli8a Rockwell-LightItalic MT 1042 rkli____
+ mrwb8ac Rockwell-BoldCondensed MT 1043 rkbc____
+ mrwr8ac Rockwell-Condensed MT 1043 rkc_____
+ mrwx8a Rockwell-ExtraBold MT 1043 rkeb____
+ msbr8a SabonMT MT 1044 sab_____
+ msbri8a SabonMT-Italic MT 1044 sabi____
+ msbs8a SabonMT-SemiBold MT 1044 sabs____
+ msbsi8a SabonMT-SemiBoldItalic MT 1044 sabsi___
+ mntr8a TimesNRMT MT 1046 tim_____
+ mntb8a TimesNRMT-Bold MT 1046 timb____
+ mntbi8a TimesNRMT-BoldItalic MT 1046 timbi___
+ mntri8a TimesNRMT-Italic MT 1046 timi____
+ mntx8a TimesNRMT-ExtraBold MT 1047 timeb___
+ mnts8a TimesNRMT-SemiBold MT 1047 tims____
+ mntsi8a TimesNRMT-SemiBoldItalic MT 1047 timsi___
+ mntb8ac TimesNewRomanMT-BoldCond MT 1048 mtbc____
+ mntr8ac TimesNewRomanMT-Cond MT 1048 mtc_____
+ mntri8ac TimesNewRomanMT-CondItalic MT 1048 mtci____
+ mtwb8a TwCenMT-Bold MT 1049 tcb_____
+ mtwbi8a TwCenMT-BoldItalic MT 1049 tcbi____
+ mtwl8a TwCenMT-Light MT 1049 tcl_____
+ mtwli8a TwCenMT-LightItalic MT 1049 tcli____
+ mtwm8a TwCenMT-Medium MT 1049 tcm_____
+ mtwmi8a TwCenMT-MediumItalic MT 1049 tcmi____
+ mtwb8ac TwCenMT-CondensedBold MT 1050 tccb____
+ mtwm8ac TwCenMT-CondensedMedium MT 1050 tccm____
+ mtws8a TwCenMT-SemiBold MT 1050 tcsb____
+ mtwsm8a TwCenMT-SemiMedium MT 1050 tcsm____
+ mtwx8ac TwCenMT-CondensedExtraBold MT 1051 tcceb___
+ mtwu8ac TwCenMT-CondensedUltraBold MT 1051 tccub___
+ mtwxi8a TwCenMT-ExtraBoldItalic MT 1051 tcebi___
+ mtwu8a TwCenMT-UltraBold MT 1051 tcub____
+ mtwui8a TwCenMT-UltraBoldItalic MT 1051 tcubi___
+ mtwx8a TwCenMT-ExtraBold MT 1051 tweb____
+ mwbr8a WalbaumMT MT 1052 wl______
+ mwbri8a WalbaumMT-Italic MT 1052 wli_____
+ mwbm8a WalbaumMT-Medium MT 1052 wlm_____
+ mwbmi8a WalbaumMT-MediumItalic MT 1052 wlmi____
+ mnsb8a TimesNewRomanPS-Bold MT 1053 mtb_____
+ mnsbi8a TimesNewRomanPS-BoldItalic MT 1053 mtbi____
+ mnsri8a TimesNewRomanPS-Italic MT 1053 mti_____
+ mnsr8a TimesNewRomanPS MT 1053 mtr_____
+ ma1r8a ArialMT MT 1054 ari_____
+ ma1b8a ArialMT-Bold MT 1054 ariab___
+ ma1bi8a ArialMT-BoldItalic MT 1054 aribi___
+ ma1ri8a ArialMT-Italic MT 1054 arii____
+ ma1r8an ArialNarrowMT MT 1055 an______
+ ma1b8an ArialNarrowMT-Bold MT 1055 anb_____
+ ma1ri8an ArialNarrowMT-BoldItalic MT 1055 anbi____
+ ma1bi8an ArialNarrowMT-Italic MT 1055 ani_____
+ mcrr8a CourierPS MT 1058 cr______
+ mcrb8a CourierPS-Bold MT 1058 crb_____
+ mcrbi8a CourierPS-BoldItalic MT 1058 crbi____
+ mcrri8a CourierPS-Italic MT 1058 cri_____
+ msyr SymbolPS MT 1058 syps____
+ mnir8a NimrodMT MT 1061 nim_____
+ mnib8a NimrodMT-Bold MT 1061 nimb____
+ mnibi8a NimrodMT-BoldItalic MT 1061 nimbi___
+ mniri8a NimrodMT-Italic MT 1061 nimi____
+ ma1ci8a ArialMT-BlackItalic MT 1064 arbli___
+ ma1c8a ArialMT-Black MT 1064 aribl___
+ ma1l8a ArialMT-Light MT 1064 aril____
+ ma1li8a ArialMT-LightItalic MT 1064 arili___
+ mburw8a BrushScriptMT MT 1071 ________
+ mi0rw8a CommercialScriptMT MT 1071 ________
+ mr5rw8a FrenchScriptMT MT 1071 ________
+ motb8a CoronetMT-Bold MT 1071 corb____
+ mmebw8a MercuriusMT-BoldScript MT 1071 uzbs____
+ mppb8a Perpetua-Bold MT 1072 ptb_____
+ mppbi8a Perpetua-BoldItalic MT 1072 ptbi____
+ mppri8a Perpetua-Italic MT 1072 pti_____
+ mppr8a Perpetua MT 1072 ptrg____
+ mair8ac AbadiMT-Condensed MT 1074 abac____
+ maib8ac AbadiMT-CondensedBold MT 1074 abacb___
+ maix8ac AbadiMT-CondensedExtraBold MT 1074 abace___
+ mail8ac AbadiMT-CondensedLight MT 1074 abacl___
+ mtlr8a CastellerMT MT 1075 el______
+ malr8a AlbertusMT MT 1075 lr______
+ malri8a AlbertusMT-Italic MT 1075 lri_____
+ mall8a AlbertusMT-Light MT 1075 lrl_____
+ ma1x8a ArialMT-ExtraBold MT 1076 arie____
+ ma1xi8a ArialMT-ExtraBoldItalic MT 1076 ariei___
+ ma1m8a ArialMT-Medium MT 1076 arim____
+ ma1mi8a ArialMT-MediumItalic MT 1076 arimi___
+ ma1r8ac ArialMT-Condensed MT 1077 aric____
+ ma1b8ac ArialMT-CondensedBold MT 1077 aricb___
+ ma1x8ac ArialMT-CondensedExtraBold MT 1077 arice___
+ ma1l8ac ArialMT-CondensedLight MT 1077 aricl___
+ mbvr8x BskvillExpMT MT 1078 bay_____
+ mbvb8x BskvillExpMT-Bold MT 1078 bayb____
+ mbvbi8x BskvillExpMT-BoldItalic MT 1078 baybi___
+ mbvri8x BskvillExpMT-Italic MT 1078 bayi____
+ mbvs8x BskvillExpMT-SemiBold MT 1078 bays____
+ mbvsi8x BskvillExpMT-SemiBoldItal MT 1078 baysi___
+ mber8a BellMT MT 1079 bl______
+ mbeb8a BellMT-Bold MT 1079 blb_____
+ mbebi8a BellMT-BoldItalic MT 1079 blbi____
+ mberi8a BellMT-Italic MT 1079 bli_____
+ mbes8a BellMT-SemiBold MT 1079 bls_____
+ mbesi8a BellMT-SemiBoldItalic MT 1079 blsi____
+ mbbr7a Bembo-Alt MT 1080 bea_____
+ mbbb7a Bembo-AltBold MT 1080 beab____
+ mbbbi7a Bembo-AltBoldItalic MT 1080 beabi___
+ mbbri7a Bembo-AltItalic MT 1080 beai____
+ mbbb8x BemboExpert-Bold MT 1080 bey_____
+ mbbbi8x BemboExpert-BoldItalic MT 1080 beyb____
+ mbbri8x BemboExpert-Italic MT 1080 beybi___
+ mbbr8x BemboExpert-Roman MT 1080 beyi____
+ mbbx7a Bembo-AltExtraBold MT 1081 beae____
+ mbbs7a Bembo-AltSemiBold MT 1081 beas____
+ mbbsi7a Bembo-AltSemiBoldItalic MT 1081 beasi___
+ mbbx8x BemboExpert-ExtraBold MT 1081 beye____
+ mbbxi8x BemboExpert-ExtraBoldItalic MT 1081 beyei___
+ mbbs8x BemboExpert-SemiBold MT 1081 beys____
+ mbbsi8x BemboExpert-SemiBoldItalic MT 1081 beysi___
+ mbnr8ac BernardMT-Condensed MT 1082 berc____
+ mc7b8a CompactaMT-Bold MT 1082 comb____
+ mnkr8a NeographikMT MT 1082 neo_____
+ mrur8ac RunicMT-Condensed MT 1082 runc____
+ metr8x EhrhardtExptMT MT 1083 ehy_____
+ metri8x EhrhardtExptMT-Italic MT 1083 ehyi____
+ mets8x EhrhardtExptMT-SemiBold MT 1083 ehys____
+ metsi8x EhrhardtExptMT-SemiBoldItal MT 1083 ehysi___
+ mjnr8a JansonMT MT 1085 jan_____
+ mjnb8a JansonMT-Bold MT 1085 janb____
+ mjnbi8a JansonMT-BoldItalic MT 1085 janbi___
+ mjnri8a JansonMT-Italic MT 1085 jani____
+ mppr8x Perpetua-Expert MT 1087 pey_____
+ mpprc8a Perpetua-SC MT 1087 ptsc____
+ mpnbi8x PlantinExp-BoldItalic MT 1088 plbiy___
+ mpnb8x PlantinExp-Bold MT 1088 plby____
+ mpnri8x PlantinExp-Italic MT 1088 pliy____
+ mpnr8x PlantinExp MT 1088 ply_____
+ mpnra8x PlantinExp-AltFigures MT 1089 plya____
+ mpnl8x PlantinExp-Light MT 1089 plyl____
+ mpnli8x PlantinExp-LightItalic MT 1089 plyli___
+ mpns8x PlantinExp-SemiBold MT 1089 plys____
+ mpnsi8x PlantinExp-SemiBoldItalic MT 1089 plysi___
+ zmsnr34 Spartan-ThreeFourMT MT 1091 spf_____
+ zmsnr12 Spartan-OneTwoMT MT 1091 spo_____
+ zmsnr4 Spartan-FourMT MT 1091 spr_____
+ zmsnr13 Spartan-OneThreeMT MT 1091 spt_____
+ zmsnr24 Spartan-TwoFourMT MT 1091 spw_____
+ zmsnb34 Spartan-ThreeFourMT-Bold MT 1092 spfb____
+ zmsnb12 Spartan-OneTwoMT-Bold MT 1092 spob____
+ zmsnb4 Spartan-FourMT-Bold MT 1092 sprb____
+ zmsnb13 Spartan-OneThreeMT-Bold MT 1092 sptb____
+ zmsnb24 Spartan-TwoFourMT-Bold MT 1092 spwb____
+ zmsnri34 Spartan-ThreeFourMT-Italic MT 1093 spfi____
+ zmsnri12 Spartan-OneTwoMT-Italic MT 1093 spoi____
+ zmsnri4 Spartan-FourMT-Italic MT 1093 spri____
+ zmsnri13 Spartan-OneThreeMT-Italic MT 1093 spti____
+ zmsnri24 Spartan-TwoFourMT-Italic MT 1093 spwi____
+ mntm8a TimesNRMT-Medium MT 1094 timm____
+ mntmi8a TimesNRMT-MediumItalic MT 1094 timmi___
+ mtmrg8a TimesSmallTextMT MT 1094 tst_____
+ mtmbg8a TimesSmallTextMT-Bold MT 1094 tstb____
+ mtmrig8a TimesSmallTextMT-Italic MT 1094 tsti____
+ melr8a EllingtonMT MT 1095 ei______
+ melb8a EllingtonMT-Bold MT 1095 eib_____
+ melbi8a EllingtonMT-BoldItalic MT 1095 eibi____
+ melx8a EllingtonMT-ExtraBold MT 1095 eieb____
+ melxi8a EllingtonMT-ExtraBoldItalic MT 1095 eiebi___
+ melri8a EllingtonMT-Italic MT 1095 eii_____
+ mell8a EllingtonMT-Light MT 1095 eil_____
+ melli8a EllingtonMT-LightItalic MT 1095 eili____
+ mntr8x TimesNRExpertMT MT 1096 tiy_____
+ mntb8x TimesNRExpertMT-Bold MT 1096 tiyb____
+ mntbi8x TimesNRExpertMT-BoldItalic MT 1096 tiybi___
+ mntri8x TimesNRExpertMT-Italic MT 1096 tiyi____
+ mair8a AbadiMT MT 1098 aba_____
+ maib8a AbadiMT-Bold MT 1098 abab____
+ maibi8a AbadiMT-BoldItalic MT 1098 ababi___
+ mairi8a AbadiMT-Italic MT 1098 abai____
+ maij8a AbadiMT-ExtraLight MT 1098 abel____
+ maiji8a AbadiMT-ExtraLightItalic MT 1098 abeli___
+ mail8a AbadiMT-Light MT 1099 abal____
+ maili8a AbadiMT-LightItalic MT 1099 abali___
+ maix8a AbadiMT-ExtraBold MT 1099 abeb____
+ maixi8a AbadiMT-ExtraBoldItalic MT 1099 abebi___
+ mntrk TimesNRDualGreekMT MT 1100 td______
+ mntbk TimesNRDualGreekMT-Bold MT 1100 tdb_____
+ mntbik TimesNRDualGreekMT-BoldIncl MT 1100 tdbi____
+ mntrik TimesNRDualGreekMT-Inclined MT 1100 tdi_____
+ mgmrwd8a GaramondMT-SwashCaps MT 1101 garsc___
+ mgmrw8a GaramondMT-Swash MT 1101 gasw____
+ mgmr8x GaramondExpertMT MT 1101 gay_____
+ mgmb8x GaramondExpertMT-Bold MT 1101 gayb____
+ mgmbi8x GaramondExpertMT-BoldItalic MT 1101 gaybi___
+ mgmri8x GaramondExpertMT-Italic MT 1101 gayi____
+ mb2r8a BinnyOldStyleMT MT 1102 bin_____
+ mb2ri8a BinnyOldStyleMT-Italic MT 1102 bini____
+ murb8a CentaurMT-Bold MT 1103 nrb_____
+ murbi8a CentaurMT-BoldItalic MT 1103 nrbi____
+ murri8a CentaurMT-Italic MT 1103 nri_____
+ murr8a CentaurMT MT 1103 nrr_____
+ murd8a CentaurFestiveMT-Italic
+ mc1r8a CalistoMT MT 1104 cto_____
+ mc1b8a CalistoMT-Bold MT 1104 ctob____
+ mc1bi8a CalistoMT-BoldItalic MT 1104 ctobi___
+ mc1ri8a CalistoMT-Italic MT 1104 ctoi____
+ mr2b8a CantoriaMT-Bold MT 1105 eob_____
+ mr2bi8a CantoriaMT-BoldItalic MT 1105 eobi____
+ mr2ri8a CantoriaMT-Italic MT 1105 eoi_____
+ mr2r8a CantoriaMT MT 1105 eorg____
+ mr2x8a CantoriaMT-ExtraBold MT 1106 eoeb____
+ mr2xi8a CantoriaMT-ExtraBoldItalic MT 1106 eoebi___
+ mr2l8a CantoriaMT-Light MT 1106 eol_____
+ mr2li8a CantoriaMT-LightItalic MT 1106 eoli____
+ mr2s8a CantoriaMT-SemiBold MT 1106 eosb____
+ mr2si8a CantoriaMT-SemiBoldItalic MT 1106 eosbi___
+ mfxr8a FelixTitlingMT MT 1107 felt____
+ mpprd8a PerpetuaTitlingMT MT 1107 pert____
+ mppbd8a PerpetuaTitlingMT-Bold MT 1107 pertb___
+ mppld8a PerpetuaTitlingMT-Light MT 1107 pertl___
+ mf4r8a FootlightMT MT 1108 ft______
+ mf4b8a FootlightMT-Bold MT 1108 ftb_____
+ mf4bi8a FootlightMT-BoldItalic MT 1108 ftbi____
+ mf4ri8a FootlightMT-Italic MT 1108 fti_____
+ mf4x8a FootlightMT-ExtraBold MT 1109 fteb____
+ mf4xi8a FootlightMT-ExtraBoldItalic MT 1109 ftebi___
+ mf4l8a FootlightMT-Light MT 1109 ftl_____
+ mf4li8a FootlightMT-LightItalic MT 1109 ftli____
+ mjnr8x JansonExpertMT MT 1111 jny_____
+ mjnb8x JansonExpertMT-Bold MT 1111 jnyb____
+ mjnbi8x JansonExpertMT-BoldItalic MT 1111 jnybi___
+ mjnri8x JansonExpertMT-Italic MT 1111 jnyi____
+ mf3rd8a FestivalTitlingMT MT 1112 fst_____
+ mknr8a KinoMT MT 1112 kin_____
+ mm7r8a MaturaMT MT 1112 mat_____
+ mm7rw7a MaturaMT-ScriptCapitals MT 1112 matsc___
+ mvird8ac VictoriaTitlingMT-Condensed MT 1112 vict____
+ mztr8a ZeitgeistMT MT 1115 zei_____
+ mztr7a ZeitgeistMT-Alternative MT 1115 zeial___
+ zmztcm8x ZeitgeistExpertMT-Cameo MT 1115 zeiay___
+ mztb8a ZeitgeistMT-Bold MT 1115 zeib____
+ mztb8x ZeitgeistExpertMT-Bold MT 1115 zeiby___
+ mztr8ac ZeitgeistMT-Condensed MT 1115 zeic____
+ zmztcm8a ZeitgeistMT-Cameo MT 1115 zeica___
+ zmztcz8a ZeitgeistMT-CrazyPaving MT 1115 zeicp___
+ mztr8xc ZeitgeistExpertMT-Condensed MT 1115 zeicy___
+ mztri8a ZeitgeistMT-Italic MT 1115 zeii____
+ mztri8x ZeitgeistExpertMT-Italic MT 1115 zeiiy___
+ mztr8x ZeitgeistExpertMT MT 1115 zeiy____
+ murriw7a CentaurSwashMT MT 1116 censw___
+ murr7a CentaurMT-Alt MT 1116 cta_____
+ murb7a CentaurMT-AltBold MT 1116 ctab____
+ murbi7a CentaurMT-AltBoldItalic MT 1116 ctabi___
+ murri7a CentaurMT-AltItalic MT 1116 ctai____
+ murb8x CentaurExpertMT-Bold MT 1116 ctbiy___
+ murbi8x CentaurExpertMT-BoldItalic MT 1116 ctrby___
+ murri8x CentaurExpertMT-Italic MT 1116 ctriy___
+ murr8x CentaurExpertMT MT 1116 ctry____
+ molr8a ColmcilleMT MT 1117 cm______
+ molr7a ColmcilleAltMT MT 1117 cma_____
+ molb7a ColmcilleAltMT-Bold MT 1117 cmab____
+ molbi7a ColmcilleAltMT-BoldItalic MT 1117 cmabi___
+ molri7a ColmcilleAltMT-Italic MT 1117 cmai____
+ molb8a ColmcilleMT-Bold MT 1117 cmb_____
+ molbi8a ColmcilleMT-BoldItalic MT 1117 cmbi____
+ molri8a ColmcilleMT-Italic MT 1117 cmi_____
+ molrp ColmcilleOrnamentsMT MT 1117 cmo_____
+ mntr8a7 TimesNRSevenMT MT 1118 sv______
+ mntb8a7 TimesNRSevenMT-Bold MT 1118 svb_____
+ mntbi8a7 TimesNRSevenMT-BoldItalic MT 1118 svbi____
+ mntri8a7 TimesNRSevenMT-Italic MT 1118 svi_____
+ mo3r8a ColonnaMT MT 1119 colo____
+ miirh8a ImprintMT-Shadow MT 1119 is______
+ miirih8a ImprintMT-ShadowItalic MT 1119 isi_____
+ ma2r8a AmasisMT MT 1120 ama_____
+ ma2b8a AmasisMT-Bold MT 1120 amab____
+ ma2bi8a AmasisMT-BoldItalic MT 1120 amabi___
+ ma2ri8a AmasisMT-Italic MT 1120 amai____
+ ma2c8a AmasisMT-Black MT 1121 amabl___
+ ma2l8a AmasisMT-Light MT 1121 amal____
+ ma2li8a AmasisMT-LightItalic MT 1121 amali___
+ ma2m8a AmasisMT-Medium MT 1121 amam____
+ ma2mi8a AmasisMT-MediumItalic MT 1121 amami___
+ ma2ci8a AmasisMT-BlackItalic MT 1121 ambli___
+ msbrij8a SabonMT-ItalicOSF MT 1124 saboi___
+ msbsj8a SabonMT-SemiBoldOSF MT 1124 sabos___
+ msbrc8a SabonMT-SCOSF MT 1124 sabsc___
+ msbsij8a SabonMT-SemiBoldItalicOSF MT 1124 sasio___
+ mb1ri8x BladoExpertMT-Italic MT 1125 blaiy___
+ mpzr8x PoliphilusExpertMT MT 1125 poly____
+ mvdra8x VanDijckExpertMT-AltFigs MT 1125 vana____
+ mvdria8x VanDijckExpertMT-AltFigsIta MT 1125 vanai___
+ mvdr8x VanDijckExpertMT MT 1125 vany____
+ mvdri8x VanDijckExpertMT-Italic MT 1125 vanyi___
+ mber7a BellMT-Alt MT 1126 blt_____
+ mberi7a BellMT-AltItalic MT 1126 blti____
+ mbes7a BellMT-AltSemiBold MT 1126 blts____
+ mbesi7a BellMT-AltSemiBoldItalic MT 1126 bltsi___
+ mber8x BellExpertMT MT 1126 bly_____
+ mbera8x BellExpertMT-Alt MT 1126 blya____
+ mbesa8x BellExpertMT-AltSemiBold MT 1126 blyas___
+ mbeb8x BellExpertMT-Bold MT 1126 blyb____
+ mbebi8x BellExpertMT-BoldItalic MT 1126 blybi___
+ mberi8x BellExpertMT-Italic MT 1126 blyi____
+ mbes8x BellExpertMT-SemiBold MT 1126 blys____
+ mbesi8x BellExpertMT-SemiBoldItalic MT 1126 blysi___
+ mgsx8ac GillSansMT-ExCondensedBold MT 1133 gsecb___
+ mgslh8a GillSansShadowedMT-Light MT 1133 gsls____
+ mgsrh8a GillSansMT-Shadow MT 1133 gss_____
+ mgsra8a GillAltOneMT MT 1134 gla_____
+ mgsba8a GillAltOneMT-Bold MT 1134 glab____
+ mgsbia8a GillAltOneMT-BoldItalic MT 1134 glabi___
+ mgsria8a GillAltOneMT-Italic MT 1134 glai____
+ mgsla8a GillAltOneMT-Light MT 1134 glal____
+ mgslia8a GillAltOneMT-LightItalic MT 1134 glali___
+ mdtr8a DanteMT MT 1149 dn______
+ mdtb8a DanteMT-Bold MT 1149 dnb_____
+ mdtbi8a DanteMT-BoldItalic MT 1149 dnbi____
+ mdtri8a DanteMT-Italic MT 1149 dni_____
+ mdtm8a DanteMT-Medium MT 1149 dnm_____
+ mdtmi8a DanteMT-MediumItalic MT 1149 dnmi____
+ mdtr7a DanteMT-Alt MT 1150 dna_____
+ mdtb7a DanteMT-AltBold MT 1150 dnab____
+ mdtbi7a DanteMT-AltBoldItalic MT 1150 dnabi___
+ mdtri7a DanteMT-AltItalic MT 1150 dnai____
+ mdtm7a DanteMT-AltMedium MT 1150 dnam____
+ mdtmi7a DanteMT-AltMediumItalic MT 1150 dnami___
+ mdtr8x DanteExpertMT MT 1150 dne_____
+ mdtb8x DanteExpertMT-Bold MT 1150 dneb____
+ mdtbi8x DanteExpertMT-BoldItalic MT 1150 dnebi___
+ mdtri8x DanteExpertMT-Italic MT 1150 dnei____
+ mdtm8x DanteExpertMT-Medium MT 1150 dnem____
+ mdtmi8x DanteExpertMT-MediumItalic MT 1150 dnemi___
+ mdtrd8a DanteTitlingMT MT 1150 dnt_____
+ maqr8a BookAntiqua MT 1152 bk______
+ maqb8a BookAntiqua-Bold MT 1152 bkb_____
+ maqbi8a BookAntiqua-BoldItalic MT 1152 bkbi____
+ maqri8a BookAntiqua-Italic MT 1152 bki_____
+ mkor8a BookmanOldStyle MT 1153 bd______
+ mkob8a BookmanOldStyle-Bold MT 1153 bdb_____
+ mkobi8a BookmanOldStyle-BoldItalic MT 1153 bdbi____
+ mkori8a BookmanOldStyle-Italic MT 1153 bdi_____
+ mygr8a CenturyGothic MT 1154 cg______
+ mygb8a CenturyGothic-Bold MT 1154 cgb_____
+ mygbi8a CenturyGothic-BoldItalic MT 1154 cgbi____
+ mygri8a CenturyGothic-Italic MT 1154 cgi_____
+ mcsr8a CenturySchoolbook MT 1155 cb______
+ mcsb8a CenturySchoolbook-Bold MT 1155 cbb_____
+ mcsbi8a CenturySchoolbook-BoldItalic MT 1155 cbbi____
+ mcsri8a CenturySchoolbook-Italic MT 1155 cbi_____
+ mzcmi8a MonotypeCorsiva MT 1156 mci_____
+ mzdr MonotypeSorts MT 1156 ms______
+ mpi001 ArabesqueOrnamentsOneMT MT 1157 araba___
+ mpi002 ArabesqueOrnamentsTwoMT MT 1157 arabb___
+ mpi003 ArabesqueOrnamentsThreeMT MT 1157 arabc___
+ mpi004 RococoOrnamentsOneMT MT 1157 rcoa____
+ mpi005 RococoOrnamentsTwoMT MT 1157 rcob____
+ mpi006 RococoOrnamentsThreeMT MT 1157 rcoc____
+ mgtr7a GoudyTextMT-Alternative MT 1181 gouta___
+ mgtr7c GoudyTextMT-Dfr MT 1181 goutd___
+ mgtrd8a GoudyTextMT-LombardicCapitals MT 1181 goutl___
+ mgtr8a GoudyTextMT MT 1181 goutx___
+ mlir8ac LatinCondensedMT MT 1182 lnc_____
+ moxr8a OnyxMT MT 1182 ox______
+ mrur8ac RunicMT-Condensed MT 1182 ric_____
+ mpi007 ChristmasOrnamentsMT-One MT 1183 chra____
+ mpi008 ChristmasOrnamentsMT-Two MT 1183 chrb____
+ mpi009 ChristmasOrnamentsMT-Three MT 1183 chrc____
+ mpi010 ChristmasOrnamentsMT-Four MT 1183 chrd____
+ mpi011 ChristmasOrnamentsMT-Five MT 1183 chre____
+ mpi012 ChristmasOrnamentsMT-Six MT 1183 chrf____
+ mpi013 ContemporaryOrnMT-One MT 1183 cora____
+ mpi014 ContemporaryOrnMT-Two MT 1183 corb____
+ mpi015 ContemporaryOrnMT-Three MT 1183 corc____
+ mpi016 ContemporaryOrnMT-Four MT 1183 cord____
+ mpi017 ContemporaryOrnMT-Five MT 1183 core____
+ mntr9s TimesNewRomanSF MT 1194 tsf_____
+ mntb9s TimesNewRomanSF-Bold MT 1194 tsfb____
+ mntbi9s TimesNewRomanSF-BoldItalic MT 1194 tsfbi___
+ mntri9s TimesNewRomanSF-Italic MT 1194 tsfi____
+ mu0rp1 ColumbusOrnamentsOneMT MT 1196 cuora___
+ mu0rp2 ColumbusOrnamentsTwoMT MT 1196 cuorb___
+ mu0r8x ColumbusExpMT MT 1196 cuy_____
+ mu0b8x ColumbusExpMT-Bold MT 1196 cuyb____
+ mu0bi8x ColumbusExpMT-BoldItalic MT 1196 cuybi___
+ mu0ri8x ColumbusExpMT-Italic MT 1196 cuyi____
+ mu0s8x ColumbusExpMT-SemiBold MT 1196 cuys____
+ mu0si8x ColumbusExpMT-SemiBoldItal MT 1196 cuysi___
+ ma1rz ArialCyrMT MT 1205 ac______
+ ma1bz ArialCyrMT-Bold MT 1205 acb_____
+ ma1biz ArialCyrMT-BoldInclined MT 1205 acbi____
+ ma1riz ArialCyrMT-Inclined MT 1205 aci_____
+ mcrrz CourierCyr MT 1206 cc______
+ mcrbz CourierCyr-Bold MT 1206 ccb_____
+ mcrbiz CourierCyr-BoldInclined MT 1206 ccbi____
+ mcrriz CourierCyr-Inclined MT 1206 cci_____
+ mntrz TimesNRomCyrMT MT 1207 trc_____
+ mntbz TimesNRomCyrMT-Bold MT 1207 trcb____
+ mntbiz TimesNRomCyrMT-BoldInclined MT 1207 trcbi___
+ mntriz TimesNRomCyrMT-Inclined MT 1207 trci____
+ mgsbd8a GillSansDisplayMT-Bold MT 1209 gdb_____
+ mgsbd8ac GillSansDisplayMT-CondBold MT 1209 gdcb____
+ mgsbd8ax GillSansDisplayMT-ExtraBold MT 1209 gdeb____
+ mg4ri8a GoudyModernMT-Italic MT 1210 ygi_____
+ mg4r8a GoudyModernMT MT 1210 ygrg____
+ ms1ri8a ScotchRomanMT-Italic MT 1210 ysi_____
+ ms1r8a ScotchRomanMT MT 1210 ysrg____
+ mfsr8a FalstaffMT MT 1211 fprg____
+ mifb8a InflexMT-Bold MT 1211 iqb_____
+ mm8bl8a MonotypeOldStyleMT-BoldOut MT 1211 mbbou___
+ mfer8a ForteMT MT 1212 fz______
+ mklr8a KlangMT MT 1212 kn______
+ mmebw8a MercuriusMT-BoldScript MT 1212 uzbs____
+ mjox8a JoannaMT-ExtraBold MT 1213 joae____
+ mjob8a JoannaMT-Bold MT 1213 job_____
+ mjobi8a JoannaMT-BoldItalic MT 1213 jobi____
+ mjori8a JoannaMT-Italic MT 1213 joi_____
+ mjor8a JoannaMT MT 1213 jor_____
+ mjos8a JoannaMT-SemiBold MT 1213 josb____
+ mjosi8a JoannaMT-SemiBoldItalic MT 1213 josbi___
+ mphb8a PhotinaMT-Bold MT 1214 phb_____
+ mphbi8a PhotinaMT-BoldItalic MT 1214 phbi____
+ mphri8a PhotinaMT-Italic MT 1214 phi_____
+ mphr8a PhotinaMT MT 1214 phrg____
+ mphs8a PhotinaMT-SemiBold MT 1214 phsb____
+ mphsi8a PhotinaMT-SemiBoldItalic MT 1214 phsbi___
+ mphu8a PhotinaMT-UltraBold MT 1214 phub____
+ mphui8a PhotinaMT-UltraBoldItalic MT 1214 phubi___
+ msmr8x SpectrumMT-Expert MT 1215 ekexp___
+ msmri8a SpectrumMT-Italic MT 1215 eki_____
+ msmrij8a SpectrumMT-ItalicOsF MT 1215 ekio____
+ msmri8x SpectrumMT-ItalicExpert MT 1215 ekixp___
+ msmr8a SpectrumMT MT 1215 ekrg____
+ msms8a SpectrumMT-SemiBold MT 1215 eksb____
+ msmsj8a SpectrumMT-SemiBoldOsF MT 1215 eksbo___
+ msms8x SpectrumMT-SemiBoldExpert MT 1215 eksbx___
+ msmrc8a SpectrumMT-SC MT 1215 eksc____
+ mhrr8a ArialRoundedMT MT 1216 arr_____
+ mhrb8a ArialRoundedMT-Bold MT 1216 arrb____
+ mhrx8a ArialRoundedMT-ExtraBold MT 1216 arreb___
+ mhrl8a ArialRoundedMT-Light MT 1216 arrl____
+ mpi101 AlmanacMT MT 1222 pia_____
+ mpi102 BotanicalMT MT 1222 pib_____
+ mpi103 DirectionsMT MT 1222 pie_____
+ mpi104 SportsOneMT MT 1222 pif_____
+ mpi105 SportsTwoMT MT 1222 pig_____
+ mpi106 TransportMT MT 1222 pij_____
+ mpi107 VacationMT MT 1222 pik_____
+ mpi201 CircleFrameMT MT 1222 pic_____
+ mpi202 CircleFrameNegMT MT 1222 pid_____
+ mpi203 SquareFrameMT MT 1222 pih_____
+ mpi204 SquareFrameNegMT MT 1222 pii_____
+ m_____ PastonchiMT-RegularAlt MT 1223 pna_____
+ m_____ PastonchiMT-Italic MT 1223 pni_____
+ m_____ PastonchiMT-ItalicOsF MT 1223 pnosi___
+ m_____ PastonchiMT-Regular MT 1223 pnr_____
+ m_____ PastonchiMT-RegularSC MT 1223 pnsc____
+ m_____ PastonchiMT-Swash MT 1223 pnsw____
+ m_____ PastonchiMT-SwashCaps MT 1223 pnswc___
+ m_____ PastonchiMT-Titling MT 1223 pnt_____
+ m_____ PastonchiMT-TitlingAlt MT 1223 pnta____
+ m_____ PastonchiMT-RegularExpert MT 1223 pny_____
+ m_____ PastonchiMT-ItalicExpert MT 1223 pnyi____
+ movr8x OctavianMT-Expert MT 1224 ocexp___
+ movri8a OctavianMT-Italic MT 1224 oci_____
+ movrij8a OctavianMT-ItalicOsF MT 1224 ocio____
+ movri8x OctavianMT-ItalicExpert MT 1224 ocixp___
+ movr8a OctavianMT MT 1224 ocrg____
+ movrc8a OctavianMT-SC MT 1224 ocsc____
+ mnsr8x TimesNRPSExpert MT 1225 tpy_____
+ mnsb8x TimesNRPSExpert-Bold MT 1225 tpyb____
+ mnsbi8x TimesNRPSExpert-BoldItalic MT 1225 tpybi___
+ mnsri8x TimesNRPSExpert-Italic MT 1225 tpyi____
+ ma1r9s ArialSFMT MT 1226 asf_____
+ ma1b9s ArialSFMT-Bold MT 1226 asfb____
+ ma1bi9s ArialSFMT-BoldItalic MT 1226 asfbi___
+ ma1ri9s ArialSFMT-Italic MT 1226 asfi____
+ mdmb8a DelimaMT-Bold MT 1234 dlb_____
+ mdmbi8a DelimaMT-BoldItalic MT 1234 dlbi____
+ mdmri8a DelimaMT-Italic MT 1234 dli_____
+ mdml8a DelimaMT-Light MT 1234 dll_____
+ mdmli8a DelimaMT-LightItalic MT 1234 dlli____
+ mdmr8a DelimaMT MT 1234 dlr_____
+ mdmx8a DelimaMT-ExtraBold MT 1235 dleb____
+ mdmxi_ DelimaMT-ExtraBoldItalic MT 1235 dlebi___
+ mdms8a DelimaMT-SemiBold MT 1235 dlsb____
+ mdmsi8a DelimaMT-SemiBoldItalic MT 1235 dlsbi___
+ mo4rMM8a OceanSansMM MT 1236 ________
+ mo4riMM8a OceanSansMM-It MT 1236 ________
+ mlyr8a LydianMT MT 1238 ly______
+ mlyrw8a LydianCursiveMT MT 1238 lyc_____
+ mwrrf8a WittenbergerFraktMT MT 1239 wf______
+ mwrbf8a WittenbergerFraktMT-Bd MT 1239 wfb_____
+ mwrrf7c WittenbergerFraktMT-BdDfr MT 1239 wfbdf___
+ mwrbf7c WittenbergerFraktMT-Dfr MT 1239 wfdfr___
+ mgsh8a GillSans-Heavy MT 1240 gilh____
+ mgshi8a GillSans-HeavyItalic MT 1240 gilhi___
+ mgsk8a GillSans-Book MT 1240 gilk____
+ mgski8a GillSans-BookItalic MT 1240 gilki___
+ mgsha8a GillAltOneMT-Heavy MT 1241 glah____
+ mgshia8a GillAltOneMT-HeavyItalic MT 1241 glahi___
+ mgska8a GillAltOneMT-Book MT 1241 glak____
+ mgskia8a GillAltOneMT-BookItalic MT 1241 glaki___
+ mf1r8a FournierMT MT 1242 fn______
+ mf1r7a FournierMT-Alt MT 1242 fna_____
+ mf1ri7a FournierMT-AltItalic MT 1242 fnai____
+ mf1ri8a FournierMT-Italic MT 1242 fni_____
+ mf1rp FournierOrnamentsMT MT 1242 fno_____
+ mf1rd8a FournierMT-TallCaps MT 1242 fnt_____
+ mf1rid8a FournierMT-TallCapsItalic MT 1242 fnti____
+ mf1r8x FournierExpertMT MT 1242 fny_____
+ mf1ri8x FournierExpertMT-Italic MT 1242 fnyi____
+ miir8a ImprintExpertMT MT 1243 imy_____
+ miib8a ImprintExpertMT-Bold MT 1243 imyb____
+ miibi8a ImprintExpertMT-BoldItalic MT 1243 imybi___
+ miiri8a ImprintExpertMT-Italic MT 1243 imyi____
+ mpwr8a PerrywoodMT MT 1244 py______
+ mpwb8a PerrywoodMT-Bold MT 1244 pyb_____
+ mpwbi8a PerrywoodMT-BoldItalic MT 1244 pybi____
+ mpwri8a PerrywoodMT-Italic MT 1244 pyi_____
+ mpwx8a PerrywoodMT-ExtraBold MT 1245 pye_____
+ mpwxi8a PerrywoodMT-ExtraBoldItalc MT 1245 pyei____
+ mpwl8a PerrywoodMT-Light MT 1245 pyl_____
+ mpwli8a PerrywoodMT-LightItalic MT 1245 pyli____
+ mpws8a PerrywoodMT-SemiBold MT 1245 pys_____
+ mpwsi8a PerrywoodMT-SemiBoldItalic MT 1245 pysi____
+ mphbij8a PhotinaMT-BoldItalicOsF MT 1246 phbio___
+ mphbj8a PhotinaMT-BoldOsF MT 1246 phbo____
+ mphrij8a PhotinaMT-ItalicOsF MT 1246 phio____
+ mphrc8a PhotinaMT-RegularSC MT 1246 phsc____
+ mphsij8a PhotinaMT-SemiBoldItalicOsF MT 1246 phsio___
+ mphsj8a PhotinaMT-SemiBoldOsF MT 1246 phso____
+ mphuij8a PhotinaMT-UltraBoldItOsF MT 1246 phuio___
+ mphuj8a PhotinaMT-UltraBoldOsF MT 1246 phuo____
+ mphr8x PhotinaMT-RegularExpert MT 1246 phy_____
+ mphb8x PhotinaMT-BoldExpert MT 1246 phyb____
+ mphbi8x PhotinaMT-BoldItalicExpert MT 1246 phybi___
+ mphri8x PhotinaMT-ItalicExpert MT 1246 phyi____
+ mphs8x PhotinaMT-SemiBoldExpert MT 1246 phys____
+ mphsi8x PhotinaMT-SemiBoldItExpert MT 1246 physi___
+ mphu8x PhotinaMT-UltraBoldExpert MT 1246 phyu____
+ mphui8x PhotinaMT-UltraBoldItExpert MT 1246 phyui___
+ mbmb8a BulmerMT-Bold MT 1247 ybb_____
+ mbmbi8a BulmerMT-BoldItalic MT 1247 ybbi____
+ mbmbd8a BulmerMT-BoldDisplay MT 1247 ybdb____
+ mbmbid8a BulmerMT-BoldItalicDisplay MT 1247 ybdbi___
+ mbmrd8a BulmerMT-RegularDisplay MT 1247 ybds____
+ mbmrid8a BulmerMT-ItalicDisplay MT 1247 ybdsi___
+ mbmri8a BulmerMT-Italic MT 1247 ybi_____
+ mbmr8a BulmerMT-Regular MT 1247 ybrg____
+ mbms8a BulmerMT-SemiBold MT 1247 ybsb____
+ mbmsi8a BulmerMT-SemiBoldItalic MT 1247 ybsi____
+ mbmb7a BulmerMT-BoldAlt MT 1248 ybab____
+ mbmbi7a BulmerMT-BoldItalicAlt MT 1248 ybabi___
+ mbmr7a BulmerMT-RegularAlt MT 1248 ybarg___
+ mbms7a BulmerMT-SemiBoldAlt MT 1248 ybasb___
+ mbmsi7a BulmerMT-SemiBoldItalicAlt MT 1248 ybasi___
+ mbmbd7a BulmerMT-BoldDisplayAlt MT 1248 ybbda___
+ mbmbid7a BulmerMT-BoldItalDisplayAlt MT 1248 ybbid___
+ mbmbi8x BulmerMT-BoldItalicExpert MT 1248 ybbix___
+ mbmb8x BulmerMT-BoldExpert MT 1248 ybbxp___
+ mbmri7a BulmerMT-ItalicAlt MT 1248 ybial___
+ mbmrid7a BulmerMT-ItalicDisplayAlt MT 1248 ybida___
+ mbmri8x BulmerMT-ItalicExpert MT 1248 ybixp___
+ mbmrd7a BulmerMT-RegularDisplayAlt MT 1248 ybrda___
+ mbmr8x BulmerMT-RegularExpert MT 1248 ybrgx___
+ mbmrc8a BulmerMT-RegularSC MT 1248 ybrsc___
+ mbmsc8a BulmerMT-SemiBoldSC MT 1248 ybsbs___
+ mbms8x BulmerMT-SemiBoldExpert MT 1248 ybsbx___
+ mbmsi8x BulmerMT-SemiBoldItalExpert MT 1248 ybsix___
+ mo4b8a OceanSansMT-Bold MT 1249 oeb_____
+ mo4bi8a OceanSansMT-BoldItalic MT 1249 oebi____
+ mo4k8a OceanSansMT-Book MT 1249 oek_____
+ mo4ki8a OceanSansMT-BookItalic MT 1249 oeki____
+ mo4x8a OceanSansMT-ExtraBold MT 1250 oeeb____
+ mo4xi8a OceanSansMT-ExtraBoldItalic MT 1250 oeebi___
+ mo4l8a OceanSansMT-Light MT 1250 oel_____
+ mo4li8a OceanSansMT-LightItalic MT 1250 oeli____
+ mo4s8a OceanSansMT-SemiBold MT 1250 oesb____
+ mo4si8a OceanSansMT-SemiBoldItalic MT 1250 oesbi___
+ mmob8a ModernMT-Bold MT 1259 nmb_____
+ mmobi8a ModernMT-BoldItalic MT 1259 nmbi____
+ mmor8ac ModernMT-Condensed MT 1259 nmc_____
+ mmori8ac ModernMT-CondensedItalic MT 1259 nmci____
+ mmor8ax ModernMT-Extended MT 1259 nmex____
+ mmori8ax ModernMT-ExtendedItalic MT 1259 nmexi___
+ mmor8aw ModernMT-Wide MT 1259 nmwd____
+ mmori8aw ModernMT-WideItalic MT 1259 nmwdi___
+ mwbr8x WalbaumExpMT MT 1268 wly_____
+ mwbri8x WalbaumExpMT-Italic MT 1268 wlyi____
+ mwbm8x WalbaumExpMT-Medium MT 1268 wlym____
+ mwbmi8x WalbaumExpMT-MediumItalic MT 1268 wlymi___
+ mlgr8a LetterGothicMT MT 1269 lc______
+ mlgb8a LetterGothicMT-Bold MT 1269 lcb_____
+ mlgbo8a LetterGothicMT-BoldOblique MT 1269 lcbi____
+ mlgro8a LetterGothicMT-Oblique MT 1269 lci_____
+ ma1rzn ArialNarrowCyrMT MT 1270 anc_____
+ ma1bzn ArialNarrowCyrMT-Bold MT 1270 ancb____
+ ma1bizn ArialNarrowCyrMT-BoldInc MT 1270 ancbi___
+ ma1rizn ArialNarrowCyrMT-Inclined MT 1270 anci____
+ mygrz CenturyGothicCyr MT 1271 cgc_____
+ mygbz CenturyGothicCyr-Bold MT 1271 cgcb____
+ mygbiz CenturyGothicCyr-BoldInc MT 1271 cgcbi___
+ mygriz CenturyGothicCyr-Inclined MT 1271 cgci____
+ mkorz BookmanOldStyleCyr MT 1272 bdc_____
+ mkobz BookmanOldStyleCyr-Bold MT 1272 bdcb____
+ mkobiz BookmanOldStyleCyr-BoldInc MT 1272 bdcbi___
+ mkoriz BookmanOldStyleCyr-Inc MT 1272 bdci____
+ mnirz NimrodCyrMT MT 1273 nic_____
+ mnibz NimrodCyrMT-Bold MT 1273 nicb____
+ mnibiz NimrodCyrMT-BoldInclined MT 1273 nicbi___
+ mniriz NimrodCyrMT-Inclined MT 1273 nici____
+ mptrz PlantinCyrMT MT 1274 plc_____
+ mptbz PlantinCyrMT-Bold MT 1274 plcb____
+ mptbiz PlantinCyrMT-BoldInclined MT 1274 plcbi___
+ mptriz PlantinCyrMT-Inclined MT 1274 plci____
+ maqrz BookAntiquaCyr MT 1275 bkc_____
+ maqbz BookAntiquaCyr-Bold MT 1275 bkcb____
+ maqbiz BookAntiquaCyr-BoldInclined MT 1275 bkcbi___
+ maqriz BookAntiquaCyr-Inclined MT 1275 bkci____
+ mzcmiz MonotypeCorsivaCyr MT 1276 mcc_____
+ mzcmizaa MonotypeCorsivaCyr-AltOne MT 1276 mccaa___
+ mzcmizab MonotypeCorsivaCyr-AltTwo MT 1276 mccab___
+ mzcmizac MonotypeCorsivaCyr-AltThree MT 1276 mccac___
+ mcsrz CenturySchoolbookCyr MT 1277 cbc_____
+ mcsbz CenturySchoolbookCyr-Bold MT 1277 cbcb____
+ mcsbiz CenturySchoolbookCyr-BolInc MT 1277 cbcbi___
+ mcsriz CenturySchoolbookCyr-Inc MT 1277 cbci____
+ mp6r8a BlueprintMT MT 1283 bp______
+ mp6b8a BlueprintMT-Bold MT 1283 bpb_____
+ mp6bi8a BlueprintMT-BoldItalic MT 1283 bpbi____
+ mp6ri8a BlueprintMT-Italic MT 1283 bpi_____
+ mn1r8a BinnerGothicMT MT 1289 bg______
+ mfgr8aq FrankGothMT-ExtraCondensed MT 1289 fgec____
+ m_____ LightlineGothicMT MT 1289 lg______
+ mwnr8a WindsorMT MT 1289 wds_____
+ mygr__ CenturyGothicTur MT 1293 cgt_____
+ mygb__ CenturyGothicTur-Bold MT 1293 cgtb____
+ mygbi__ CenturyGothicTur-BoldItalic MT 1293 cgtbi___
+ mygri__ CenturyGothicTur-Italic MT 1293 cgti____
+ mygr__ CenturyGothicCE MT 1293 cgu_____
+ mygb__ CenturyGothicCE-Bold MT 1293 cgub____
+ mygbi__ CenturyGothicCE-BoldItalic MT 1293 cgubi___
+ mygri__ CenturyGothicCE-Italic MT 1293 cgui____
+ ma1r__n ArialNarrowTur MT 1294 ant_____
+ ma1b__n ArialNarrowTur-Bold MT 1294 antb____
+ ma1bi__n ArialNarrowTur-BoldItalic MT 1294 antbi___
+ ma1ri__n ArialNarrowTur-Italic MT 1294 anti____
+ ma1r__n ArialNarrowCE MT 1294 anu_____
+ ma1b__n ArialNarrowCE-Bold MT 1294 anub____
+ ma1bi__n ArialNarrowCE-BoldItalic MT 1294 anubi___
+ ma1ri__n ArialNarrowCE-Italic MT 1294 anui____
+ maqr__ BookAntiquaTur MT 1295 bkt_____
+ maqb__ BookAntiquaTur-Bold MT 1295 bktb____
+ maqbi__ BookAntiquaTur-BoldItalic MT 1295 bktbi___
+ maqri__ BookAntiquaTur-Italic MT 1295 bkti____
+ maqr__ BookAntiquaCE MT 1295 bku_____
+ maqb__ BookAntiquaCE-Bold MT 1295 bkub____
+ maqbi__ BookAntiquaCE-BoldItalic MT 1295 bkubi___
+ maqri__ BookAntiquaCE-Italic MT 1295 bkui____
+ mkor__ BookmanOldStyleTur MT 1296 bdt_____
+ mkob__ BookmanOldStyleTur-Bold MT 1296 bdtb____
+ mkobi__ BookmanOldStyleTur-BoldIta MT 1296 bdtbi___
+ mkori__ BookmanOldStyleTur-Italic MT 1296 bdti____
+ mkor__ BookmanOldStylCE MT 1296 bdu_____
+ mkob__ BookmanOldStylCE-Bold MT 1296 bdub____
+ mkobi__ BookmanOldStylCE-BoldItalic MT 1296 bdubi___
+ mkori__ BookmanOldStylCE-Italic MT 1296 bdui____
+ mcsr__ CenturySchoolbookTur MT 1297 cst_____
+ mcsb__ CenturySchoolbookTur-Bold MT 1297 cstb____
+ mcsbi__ CenturySchoolbookTur-BolIta MT 1297 cstbi___
+ mcsri__ CenturySchoolbookTur-Italic MT 1297 csti____
+ mcsr__ CenturySchoolbookCE MT 1297 csu_____
+ mcsb__ CenturySchoolbookCE-Bold MT 1297 csub____
+ mcsbi__ CenturySchoolbookCE-BoldIta MT 1297 csubi___
+ mcsri__ CenturySchoolbookCE-Italic MT 1297 csui____
+ mzcmi__ MonotypeCorsivaTur MT 1298 mcit____
+ mzcmi__ MonotypeCorsivaCE MT 1298 mciu____
+ ma1rk ArialDualGreekMT MT 1299 ard_____
+ ma1bk ArialDualGreekMT-Bold MT 1299 ardb____
+ ma1bik ArialDualGreekMT-BoldIncl MT 1299 ardbi___
+ ma1rik ArialDualGreekMT-Inclined MT 1299 ardi____
+ ma1r__ ArialTur MT 1306 art_____
+ ma1b__ ArialTur-Bold MT 1306 artb____
+ ma1bi__ ArialTur-BoldItalic MT 1306 artbi___
+ ma1ri__ ArialTur-Italic MT 1306 arti____
+ ma1r__ ArialCE MT 1306 aru_____
+ ma1b__ ArialCE-Bold MT 1306 arub____
+ ma1bi__ ArialCE-BoldItalic MT 1306 arubi___
+ ma1ri__ ArialCE-Italic MT 1306 arui____
+ mntr__ TimesNewRomanTur MT 1307 tit_____
+ mntb__ TimesNewRomanTur-Bold MT 1307 titb____
+ mntbi__ TimesNewRomanTur-BoldItalic MT 1307 titbi___
+ mntri__ TimesNewRomanTur-Italic MT 1307 titi____
+ mntr__ TimesNewRomanCE MT 1307 tiu_____
+ mntb__ TimesNewRomanCE-Bold MT 1307 tiub____
+ mntbi__ TimesNewRomanCE-BoldItalic MT 1307 tiubi___
+ mntri__ TimesNewRomanCE-Italic MT 1307 tiui____
+ mcrr__ CourierTur MT 1308 crt_____
+ mcrb__ CourierTur-Bold MT 1308 crtb____
+ mcrbi__ CourierTur-BoldItalic MT 1308 crtbi___
+ mcrri__ CourierTur-Italic MT 1308 crti____
+ mcrr__ CourierCE MT 1308 cru_____
+ mcrb__ CourierCE-Bold MT 1308 crub____
+ mcrbi__ CourierCE-BoldItalic MT 1308 crubi___
+ mcrri__ CourierCE-Italic MT 1308 crui____
+ mpnrn8a PlantinMT-Schlbk MT 1309 psb_____
+ mpnbn8a PlantinMT-SchlbkBold MT 1309 psbb____
+ mpnbin8a PlantinMT-SchlbkBoldItalic MT 1309 psbbi___
+ mpnrin8a PlantinMT-SchlbkItalic MT 1309 psbi____
+ mn1p8a BinnerPosterMT MT 1310 binp____
+ mgqbd8ac GrotesqueDisplayMT-BoldCond MT 1310 gdbc____
+ mgqbd8ax GrotesqueDisplayMT-BoldExt MT 1310 gdbe____
+ micr8a ImpactMT MT 1310 imp_____
+ mjobj8a JoannaMT-BoldOSF MT 1315 joob____
+ mjobij8a JoannaMT-BoldItalicOSF MT 1315 joobi___
+ mjoxj8a JoannaMT-ExtraBoldOSF MT 1315 jooeb___
+ mjorij8a JoannaMT-ItalicOSF MT 1315 jooi____
+ mjosc8a JoannaMT-SemiBoldSCOSF MT 1315 joos____
+ mjosij8a JoannaMT-SemiBoldItalicOSF MT 1315 joosi___
+ mjorc8a JoannaMT-SCOSF MT 1315 josc____
+ mjor8x JoannaMT-Expert MT 1315 joy_____
+ mjob8x JoannaMT-BoldExpert MT 1315 joyb____
+ mjobi8x JoannaMT-BoldItalicExpert MT 1315 joybi___
+ mjox8x JoannaMT-ExtraBoldExpert MT 1315 joyeb___
+ mjori8x JoannaMT-ItalicExpert MT 1315 joyi____
+ mjos8x JoannaMT-SemiBoldExpert MT 1315 joys____
+ mjosi8a JoannaMT-SemiBoldItaExpert MT 1315 joysi___
+ mgsrk GillSansDualGreekMT MT 1329 gsd_____
+ mgsbk GillSansDualGreekMT-Bold MT 1329 gsdb____
+ mgsbik GillSansDualGreekMT-BoldInc MT 1329 gsdbi___
+ mgsrik GillSansDualGreekMT-Incl MT 1329 gsdi____
+ mnir__ NimrodTur MT 1330 nit_____
+ mnib__ NimrodTur-Bold MT 1330 nitb____
+ mnibi__ NimrodTur-BoldItalic MT 1330 nitbi___
+ mniri__ NimrodTur-Italic MT 1330 niti____
+ mnir__ NimrodCE MT 1330 niu_____
+ mnib__ NimrodCE-Bold MT 1330 niub____
+ mnibi__ NimrodCE-BoldItalic MT 1330 niubi___
+ mniri__ NimrodCE-Italic MT 1330 niui____
+ mbbrn8a BemboMT-Schlbk MT 1331 bsc_____
+ mbbbn8a BemboMT-SchlbkBold MT 1331 bscb____
+ mbbbin8a BemboMT-SchlbkBoldItalic MT 1331 bscbi___
+ mbbrin8a BemboMT-SchlbkItalic MT 1331 bsci____
+ mntrz TimesNewRomanCyr MT 1332 tpc_____
+ mntbz TimesNewRomanCyr-Bold MT 1332 tpcb____
+ mntbiz TimesNewRomanCyr-BoldIncl MT 1332 tpcbi___
+ mntriz TimesNewRomanCyr-Inclined MT 1332 tpci____
+ mbbrd8a BemboTitlingMT MT 1333 bet_____
+ mbbrid8a BemboTitlingMT-Italic MT 1333 beti____
+ mcard8a CaslonTitlingMT MT 1333 cat_____
+ mpnrd8a PlantinTitlingMT MT 1333 plt_____
+ mpnbd8ac PlantinHeadlineMT-BoldCond MT 1334 plhbc___
+ mpnld8ac PlantinHeadlineMT-LightCond MT 1334 plhlc___
+ mpnmd8ac PlantinHeadlineMT-MedCond MT 1334 plhmc___
+ zms7rn SassoonInfant MT 1335 szi_____
+ zms7rna SassoonInfant-Alt MT 1335 szia____
+ zms7bn SassoonInfant-Bold MT 1335 szib____
+ zms7bna SassoonInfant-BoldAlt MT 1335 sziba___
+ zms7rp SassoonPrimary MT 1336 szp_____
+ zms7rpa SassoonPrimary-Alt MT 1336 szpa____
+ zms7bp SassoonPrimary-Bold MT 1336 szpb____
+ zms7bpa SassoonPrimary-BoldAlt MT 1336 szpba___
+ zms7rs SassoonSans MT 1337 szs_____
+ zms7rsa SassoonSans-Alt MT 1337 szsa____
+ zms7bs SassoonSans-Bold MT 1337 szsb____
+ zms7bsa SassoonSans-BoldAlt MT 1337 szsba___
+ zms7ms SassoonSans-Medium MT 1337 szsm____
+ zms7msa SassoonSans-MediumAlt MT 1337 szsma___
+ zms7rsi SassoonSanSlope MT 1338 szz_____
+ zms7rsia SassoonSanSlope-Alt MT 1338 szza____
+ zms7bsi SassoonSanSlope-Bold MT 1338 szzb____
+ zms7bsia SassoonSanSlope-BoldAlt MT 1338 szzba___
+ zms7msi SassoonSanSlope-Medium MT 1338 szzm____
+ zms7msia SassoonSanSlope-MediumAlt MT 1338 szzma___
+ mgsr__ GillSansCE MT 1339 gsc_____
+ mgsb__ GillSansCE-Bold MT 1339 gscb____
+ mgsbi__ GillSansCE-BoldItalic MT 1339 gscbi___
+ mgsri__ GillSansCE-Italic MT 1339 gsci____
+ mgsl__ GillSansCE-Light MT 1339 gscl____
+ mgsli__ GillSansCE-LightItalic MT 1339 gscli___
+ mgsr__ GillSansTur MT 1339 gst_____
+ mgsb__ GillSansTur-Bold MT 1339 gstb____
+ mgsbi__ GillSansTur-BoldItalic MT 1339 gstbi___
+ mgsri__ GillSansTur-Italic MT 1339 gsti____
+ mgsl__ GillSansTur-Light MT 1339 gstl____
+ mgsli__ GillSansTur-LightItalic MT 1339 gstli___
+ myhr8a StrayhornMT-Regular MT 1340 str_____
+ myhb8a StrayhornMT-Bold MT 1340 strb____
+ myhbi8a StrayhornMT-BoldItalic MT 1340 strbi___
+ myhri8a StrayhornMT-Italic MT 1340 stri____
+ myhl8a StrayhornMT-Light MT 1340 strl____
+ myhli8a StrayhornMT-LightItalic MT 1340 strli___
+ myhx8a StrayhornMT-ExtraBold MT 1340 strx____
+ myhxi8a StrayhornMT-ExtraBoldItalic MT 1340 strxi___
+ mgsrn8a GillSansMT-Schlbk MT 1341 gsk_____
+ mgsbn8a GillSansMT-SchlbkBold MT 1341 gskb____
+ mgsbin8a GillSansMT-SchlbkBoldItalic MT 1341 gskbi___
+ mgsrin8a GillSansMT-SchlbkItalic MT 1341 gski____
+ myhbij8a StrayhornMT-BoldItalicOsF MT 1342 stbis___
+ myhbj8a StrayhornMT-BoldOsF MT 1342 stbs____
+ myhrij8a StrayhornMT-ItalicOsF MT 1342 stis____
+ myhlij8a StrayhornMT-LightItalicOsF MT 1342 stlis___
+ myhlc8a StrayhornMT-LightSC MT 1342 stls____
+ myhrc8a StrayhornMT-RegularSC MT 1342 sts_____
+ myhxij8a StrayhornMT-ExtraBoldItaOsF MT 1342 stxis___
+ myhxj8a StrayhornMT-ExtraBoldOsF MT 1342 stxs____
+ mpi205 DiamondBodoni MT 1343 dibod___
+ mpi206 DiamondPositive MT 1343 dipos___
+ mpi207 DiamondNegative MT 1343 dineg___
+ mf2r8ac FacadeMT-Condensed MT 1343 fac_____
+ mfsra8a FalstaffFestivalMT MT 1343 falfe___
+ mg4r8a GoudyModernMT-Bold MT 1344 gomb____
+ mg4ri8a GoudyModernMT-BoldItalic MT 1344 gombi___
+ mgyrp GoudySortsMT MT 1344 gous____
+ mpi303 BonApetit MT 1345 bonap___
+ mpi306 Holidays MT 1345 holid___
+ mpi308 KeystrokesMT MT 1345 keya____
+ mpi307 KeystrokesExtrasMT MT 1345 keyb____
+ mpi323 KeystrokesShadowMT MT 1345 keyc____
+ mpi322 KeystrokesShadowExtrasMT MT 1345 keyd____
+ mpi309 Melodies MT 1345 melod___
+ mpi312 MonkeyBusiness MT 1345 monke___
+ mpi315 Parties MT 1345 parti___
+ mpi320 SignsMT MT 1345 sig_____
+ mpi108 SportsThreeMT MT 1345 sport___
+ mpi302 AquaLifeMT MT 1346 aqua____
+ mpi304 DinosaursMT MT 1346 dino____
+ mpi305 FrontierMT MT 1346 frnt____
+ mpi310 MilestonesOneMT MT 1346 milea___
+ mpi311 MilestonesTwoMT MT 1346 mileb___
+ mpi314 NatureMT MT 1346 nat_____
+ mpi208 OvalFrameMT MT 1346 ovaa____
+ mpi209 OvalFrameNegativeMT MT 1346 ovab____
+ mpi319 PlaytimeMT MT 1346 play____
+ mpi109 SportsFourMT MT 1346 sporfm__
+ mpi321 SouthwestOrnamentsMT MT 1346 sworna__
+ ma1rt8a ArialMonospacedMT MT 1347 arm_____
+ ma1bt8a ArialMonospacedMT-Bold MT 1347 armb____
+ ma1bot8a ArialMonospacedMT-BoldObliq MT 1347 armbo___
+ ma1rot8a ArialMonospacedMT-Oblique MT 1347 armo____
+ mpwr8ac PerrywoodMT-Condensed MT 1348 pwc_____
+ mpwb8ac PerrywoodMT-BoldCondensed MT 1348 pwcb____
+ mpwbi8ac PerrywoodMT-BoldItalicCon MT 1348 pwcbi___
+ mpwri8ac PerrywoodMT-ItalicCondensed MT 1348 pwci____
+ mpwx8ac PerrywoodMT-ExtraBoldCon MT 1349 pwce____
+ mpwxi8ac PerrywoodMT-ExtraBoldItaCon MT 1349 pwcei___
+ mpwl8ac PerrywoodMT-LightCondensed MT 1349 pwcl____
+ mpwli8ac PerrywoodMT-LightItalicCon MT 1349 pwcli___
+ mpws8ac PerrywoodMT-SemiBoldCon MT 1349 pwcs____
+ mpwsi8ac PerrywoodMT-SemiBoldItaCon MT 1349 pwcsi___
+ mpwr8ax PerrywoodMT-Expanded MT 1350 pwe_____
+ mpwb8ax PerrywoodMT-BoldExpanded MT 1350 pweb____
+ mpwbi8ax PerrywoodMT-BoldItalicExp MT 1350 pwebi___
+ mpwri8ax PerrywoodMT-ItalicExpanded MT 1350 pwei____
+ mpwx8ax PerrywoodMT-ExtraBoldExp MT 1351 pwee____
+ mpwxi8ax PerrywoodMT-ExtraBoldItaExp MT 1351 pweei___
+ mpwl8ax PerrywoodMT-LightExpanded MT 1351 pwel____
+ mpwli8ax PerrywoodMT-LightItalicExp MT 1351 pweli___
+ mpws8ax PerrywoodMT-SemiBoldExp MT 1351 pwes____
+ mpwsi8ax PerrywoodMT-SemiBoldItaExp MT 1351 pwesi___
+ mgsr8a GillSansCyrMT MT 1356 gcy_____
+ mgsb8a GillSansCyrMT-Bold MT 1356 gcyb____
+ mgsbi8a GillSansCyrMT-BoldInclined MT 1356 gcybi___
+ mgsri8a GillSansCyrMT-Inclined MT 1356 gcyi____
+ mgsl8a GillSansCyrMT-Light MT 1356 gcyl____
+ mgsli8a GillSansCyrMT-LightIncl MT 1356 gcyli___
+ mhob8a HorleyOldStyleMT-Bold MT 1357 hsb_____
+ mhobi8a HorleyOldStyleMT-BoldItalic MT 1357 hsbi____
+ mhori8a HorleyOldStyleMT-Italic MT 1357 hsi_____
+ mhol8a HorleyOldStyleMT-Light MT 1357 hsl_____
+ mholi8a HorleyOldStyleMT-LightItalic MT 1357 hsli____
+ mhor8a HorleyOldStyleMT MT 1357 hsrg____
+ mhosi8a HorleyOldStyleMT-SbItalic MT 1357 hssb____
+ mhos8a HorleyOldStyleMT-SemiBold MT 1357 hssbi___
+ m_____ GillFloriatedCapsMT MT 1363 gilf____
+ m_____ GillFloriatedCapsMT-Alt MT 1363 gilfa___
+ m_____ MonotypeGallia MT 1364 gall____
+ mbwr8a MonotypeBroadway MT 1365 broa____
+ mbwre8a MonotypeBroadway-Engraved MT 1365 broae___
+ m_____ CurlzMT-Regular MT 1367 crl_____
+ m_____ KidprintMT-Regular MT 1368 kidp____
+ m_____ KidprintMT-Bold MT 1368 kidpb___
+ mgsbij8a GillSans-BoldItalicOsF MT 1369 gnbio___
+ mgsbc8a GillSans-BoldSC MT 1369 gnbsc___
+ mgsrij8a GillSans-ItalicOsF MT 1369 gnio____
+ mgslij8a GillSans-LightItalicOsF MT 1369 gnlio___
+ mgslc8a GillSans-LightSC MT 1369 gnlsc___
+ mgsrc8a GillSans-SC MT 1369 gnsc____
+ mcrb8a CourierLD-Bold MT 1371 cldb____
+ mcrbi8a CourierLD-BoldItalic MT 1371 cldbi___
+ mcrri8a CourierLD-Italic MT 1371 cldi____
+ mcrr8a CourierLD-Regular MT 1371 cldr____
+ mgshij8a GillSans-HeavyItalicOsF MT 1372 gnhio___
+ mgshc8a GillSans-HeavySC MT 1372 gnhsc___
+ mgskij8a GillSans-BookItalicOsF MT 1372 gnwio___
+ mgskc8a GillSans-BookSC MT 1372 gnwsc___
+ m_____ GillFaciaMT-Italic MT 1373 gfai____
+ m_____ GillFaciaMT-ItalicAlt MT 1373 gfaia___
+ m_____ GillFaciaMT-ItalicDisplay MT 1373 gfaid___
+ m_____ GillFaciaMT-Regular MT 1373 gfar____
+ m_____ GillFaciaMT-RegularAlt MT 1373 gfara___
+ m_____ GillFaciaMT-RegularDisplay MT 1373 gfard___
+ m_____ GillFaciaMT-ItDisplayAlt MT 1373 gfida___
+ m_____ GillFaciaMT-RegDisplayAlt MT 1373 gfrda___
+ mngr8a NewsGothicMT MT 1374 nwg_____
+ mngb8a NewsGothicMT-Bold MT 1374 nwgb____
+ mngb8a NewsGothicMT-BoldItalic MT 1374 nwgbi___
+ mngri8a NewsGothicMT-Italic MT 1374 nwgi____
+ m_____ AlbertinaMT-Bold MT 1378 abb_____
+ m_____ AlbertinaMT-BoldItalic MT 1378 abbi____
+ m_____ AlbertinaMT-BoldItalicOsF MT 1378 abbio___
+ m_____ AlbertinaMT-BoldItalicSC MT 1378 abbis___
+ m_____ AlbertinaMT-BoldOsF MT 1378 abbos___
+ m_____ AlbertinaMT-BoldSC MT 1378 abbsc___
+ m_____ AlbertinaMT-Italic MT 1378 abi_____
+ m_____ AlbertinaMT-ItalicOsF MT 1378 abios___
+ m_____ AlbertinaMT-ItalicSC MT 1378 abisc___
+ m_____ AlbertinaMT-Medium MT 1378 abm_____
+ m_____ AlbertinaMT-MediumItalic MT 1378 abmi____
+ m_____ AlbertinaMT-MediumItalicOsF MT 1378 abmio___
+ m_____ AlbertinaMT-MediumItalicSC MT 1378 abmis___
+ m_____ AlbertinaMT-MediumOsF MT 1378 abmos___
+ m_____ AlbertinaMT-MediumSC MT 1378 abmsc___
+ m_____ AlbertinaMT-Regular MT 1378 abr_____
+ m_____ AlbertinaMT-RegularOsF MT 1378 abros___
+ m_____ AlbertinaMT-RegularSC MT 1378 abrsc___
+ mngr__ NewsGothicCE MT 1379 ngu_____
+ mngb__ NewsGothicCE-Bold MT 1379 ngub____
+ mngbi__ NewsGothicCE-BoldItalic MT 1379 ngubi___
+ mngri__ NewsGothicCE-Italic MT 1379 ngui____
+ mngrk NewsGothicGre MT 1380 ngg_____
+ mngbk NewsGothicGre-Bold MT 1380 nggb____
+ mngbik NewsGothicGre-BoldInclined MT 1380 nggbi___
+ mngrik NewsGothicGre-Inclined MT 1380 nggi____
+ mngrz NewsGothicCyr MT 1381 ngc_____
+ mngbz NewsGothicCyr-Bold MT 1381 ngcb____
+ mngbiz NewsGothicCyr-BoldInclined MT 1381 ngcbi___
+ mngriz NewsGothicCyr-Inclined MT 1381 ngci____
+ m_____ BuffaloGalMT MT 1382 bufg____
+ mrwr__ RockwellTur MT 1383 rkt_____
+ mrwb__ RockwellTur-Bold MT 1383 rktb____
+ mrwbi__ RockwellTur-BoldItalic MT 1383 rktbi___
+ mrwri__ RockwellTur-Italic MT 1383 rkti____
+ mrwl__ RockwellTur-Light MT 1383 rktl____
+ mrwli__ RockwellTur-LightItalic MT 1383 rktli___
+ mrwr__ RockwellCE MT 1383 rku_____
+ mrwb__ RockwellCE-Bold MT 1383 rkub____
+ mrwbi__ RockwellCE-BoldItalic MT 1383 rkubi___
+ mrwri__ RockwellCE-Italic MT 1383 rkui____
+ mrwl__ RockwellCE-Light MT 1383 rkul____
+ mrwli__ RockwellCE-LightItalic MT 1383 rkuli___
+ mo4bij8a OceanSansMT-BoldItalicOsF MT 1397 oebio___
+ mo4bic8a OceanSansMT-BoldItalicSC MT 1397 oebis___
+ mo4bj8a OceanSansMT-BoldOsF MT 1397 oebo____
+ mo4bc8a OceanSansMT-BoldSC MT 1397 oebs____
+ mo4kij8a OceanSansMT-BookItalicOsF MT 1397 oekio___
+ mo4kic8a OceanSansMT-BookItalicSC MT 1397 oekis___
+ mo4kj8a OceanSansMT-BookOsF MT 1397 oeko____
+ mo4kc8a OceanSansMT-BookSC MT 1397 oeks____
+ mo4lij8a OceanSansMT-LightItalicOsF MT 1398 oelio___
+ mo4lic8a OceanSansMT-LightItalicSC MT 1398 oelis___
+ mo4lj8a OceanSansMT-LightOsF MT 1398 oelo____
+ mo4lc8a OceanSansMT-LightSC MT 1398 oels____
+ mo4sij8a OceanSansMT-SemiBoldItaOsF MT 1398 oesio___
+ mo4sic8a OceanSansMT-SemiBoldItaSC MT 1398 oesis___
+ mo4sj8a OceanSansMT-SemiBoldOsF MT 1398 oeso____
+ mo4sc8a OceanSansMT-SemiBoldSC MT 1398 oess____
+ mo4xij8a OceanSansMT-ExtraBoldItaOsF MT 1398 oexio___
+ mo4xic8a OceanSansMT-ExtraBoldItaSC MT 1398 oexis___
+ mo4xj8a OceanSansMT-ExtraBoldOsF MT 1398 oexo____
+ mo4xc8a OceanSansMT-ExtraBoldSC MT 1398 oexs____
+ mgmrz GaramondCyrMT-Regular MT 1401 gac_____
+ mgmbz GaramondCyrMT-Bold MT 1401 gacb____
+ mgmriz GaramondCyrMT-Inclined MT 1401 gaci____
+ mgmrk GaramondDualGreekMT-Regular MT 1402 gad_____
+ mgmbk GaramondDualGreekMT-Bold MT 1402 gadb____
+ mgmrik GaramondDualGreekMT-Incl MT 1402 gadi____
+ mgmr__ GaramondCEMT-Regular MT 1403 gae_____
+ mgmb__ GaramondCEMT-Bold MT 1403 gaeb____
+ mgmri__ GaramondCEMT-Italic MT 1403 gaei____
+ mgmr__ GaramondTurMT-Regular MT 1403 gat_____
+ mgmb__ GaramondTurMT-Bold MT 1403 gatb____
+ mgmri__ GaramondTurMT-Italic MT 1403 gati____
+ mngr8ac NewsGothicMT-Condensed MT 1451 ngoc____
+ mngb8ac NewsGothicMT-CondensedBold MT 1451 ngocb___
+ m_____ MahsuriSansMT-Bold MT 1454 msb_____
+ m_____ MahsuriSansMT-BoldItalic MT 1454 msbi____
+ m_____ MahsuriSansMT-BoldItalicOsF MT 1454 msbio___
+ m_____ MahsuriSansMT-BoldOsF MT 1454 msbo____
+ m_____ MahsuriSansMT-Italic MT 1454 msi_____
+ m_____ MahsuriSansMT-ItalicOsF MT 1454 msio____
+ m_____ MahsuriSansMT-Light MT 1454 msl_____
+ m_____ MahsuriSansMT-LightItalic MT 1454 msli____
+ m_____ MahsuriSansMT-LightItalicOsF MT 1454 mslio___
+ m_____ MahsuriSansMT-LightOsF MT 1454 mslo____
+ m_____ MahsuriSansMT-Regular MT 1454 msr_____
+ m_____ MahsuriSansMT-RegularOsF MT 1454 msro____
+ m_____ MahsuriSansMT-ExtraBold MT 1454 msx_____
+ m_____ MahsuriSansMT-ExtraBoldItalic MT 1454 msxi____
+ m_____ MahsuriSansMT-ExtBoldItaOsF MT 1454 msxio___
+ m_____ MahsuriSansMT-ExtraBoldOsF MT 1454 msxo____
+ mu0r8a ColumbusMT MT 1492 cu______
+ mu0b8a ColumbusMTBold MT 1492 cub_____
+ mu0bi8a ColumbusMTBoldItalic MT 1492 cubi____
+ mu0ri8a ColumbusMTItalic MT 1492 cui_____
+ mu0s8a ColumbusMTSemiBold MT 1492 cus_____
+ mu0si8a ColumbusMTSemiBoldItalic MT 1492 cusi____
+ mpi001 ArabesqueOrnamentsOneMT ornaments
+ mpi002 ArabesqueOrnamentsTwoMT ditto
+ mpi003 ArabesqueOrnamentsThreeMT ditto
+ mpi004 RococoOrnamentsOneMT ornaments
+ mpi005 RococoOrnamentsTwoMT ditto
+ mpi006 RococoOrnamentsThreeMT ditto
+ mpi007 ChristmasOrnamentsMT-One ornaments
+ mpi008 ChristmasOrnamentsMT-Two ditto
+ mpi009 ChristmasOrnamentsMT-Three ditto
+ mpi010 ChristmasOrnamentsMT-Four ditto
+ mpi011 ChristmasOrnamentsMT-Five ditto
+ mpi012 ChristmasOrnamentsMT-Six ditto
+ mpi013 ContemporaryOrnMT-One ornaments
+ mpi014 ContemporaryOrnMT-Two ditto
+ mpi015 ContemporaryOrnMT-Three ditto
+ mpi016 ContemporaryOrnMT-Four ditto
+ mpi017 ContemporaryOrnMT-Five ditto
+ mpi101 AlmanacMT zodiac
+ mpi102 BotanicalMT flowers
+ mpi103 DirectionsMT arrows & pointers
+ mpi104 SportsOneMT sports
+ mpi105 SportsTwoMT ditto
+ mpi106 TransportMT signs
+ mpi107 VacationMT signs
+ mpi108 SportsThreeMT sports
+ mpi109 SportsFourMT ditto
+ mpi201 CircleFrameMT circled numerals
+ mpi202 CircleFrameNegMT ditto
+ mpi203 SquareFrameMT squared numerals
+ mpi204 SquareFrameNegMT ditto
+ mpi205 DiamondBodoni bullets & markers
+ mpi206 DiamondPositive ditto
+ mpi207 DiamondNegative ditto
+ mpi208 OvalFrameMT circled numerals
+ mpi209 OvalFrameNegativeMT ditto
+ mpi300 Giddyup-ThangsMT cowboys & indians
+ mpi301 PetrucchioMT ???
+ mpi302 AquaLifeMT fish
+ mpi303 BonApetit food
+ mpi304 DinosaursMT dinosaurs
+ mpi305 FrontierMT cowboys & indians
+ mpi306 Holidays greeting cards
+ mpi307 KeystrokesExtrasMT keyboards
+ mpi308 KeystrokesMT ditto
+ mpi309 Melodies musical instruments
+ mpi310 MilestonesOneMT clip art
+ mpi311 MilestonesTwoMT ditto
+ mpi312 MonkeyBusiness animals
+ mpi313 MonotypeSorts dingbats
+ mpi314 NatureMT animals
+ mpi315 Parties clip art
+ mpi316 BingoMT clip art
+ mpi317 BongoMT clip art
+ mpi318 PieMT food & drinks
+ mpi319 PlaytimeMT toys
+ mpi320 SignsMT signs
+ mpi321 SouthwestOrnamentsMT geometric ornaments
+ mpi322 KeystrokesShadowExtrasMT keyboards
+ mpi323 KeystrokesShadowMT ditto
+
+
+File: fontname.info, Node: URW fonts, Prev: Monotype fonts, Up: Font name lists
+
+A.9 URW fonts
+=============
+
+Information graciously supplied through URW, via Vincent Ertner: Each
+URW font has an assigned font number. The last character describes the
+size or purpose of the font, as the design of the font is optimized
+accordingly:
+
+`X000000E'
+ Extreme: 8pt and smaller
+
+`X000000T'
+ Text: between 8 and 18pt
+
+`X000000D'
+ Display: 18pt and larger
+
+`X000000P'
+ Poster: 48pt and larger
+
+`X000000M'
+ Monospaced / Typewriter
+
+`X000000L'
+ LaserWriter / PostScript / Adobe compatible
+
+`X000000I'
+ Intellifont PCL (5) compatible
+
+ An `F' identifier is not known.
+
+ The `urw.map' file has abbreviations for URW fonts.
+
+ uagd8a URWGothicL-Demi a010015l
+ uagdo8a URWGothicL-DemiObli a010035l
+ uagk8a URWGothicL-Book a010013l
+ uagko8a URWGothicL-BookObli a010033l
+ ubkd8a URWBookmanL-DemiBold b018015l
+ ubkdi8a URWBookmanL-DemiBoldItal b018035l
+ ubkl8a URWBookmanL-Ligh b018012l
+ ubkli8a URWBookmanL-LighItal b018032l
+ ucrb8a NimbusMonL-Bold n022004l
+ ucrbo8a NimbusMonL-BoldObli n022024l
+ ucrr8a NimbusMonL-Regu n022003l
+ ucrro8a NimbusMonL-ReguObli n022023l
+ uhvb8a NimbusSanL-Bold n019004l
+ uhvb8ac NimbusSanL-BoldCond n019044l
+ uhvbo8a NimbusSanL-BoldItal n019024l
+ uhvbo8ac NimbusSanL-BoldCondItal n019064l
+ uhvr8a NimbusSanL-Regu n019003l
+ uhvr8ac NimbusSanL-ReguCond n019043l
+ uhvro8a NimbusSanL-ReguItal n019023l
+ uhvro8ac NimbusSanL-ReguCondItal n019063l
+ uncb8a CenturySchL-Bold c059016l
+ uncbi8a CenturySchL-BoldItal c059036l
+ uncr8a CenturySchL-Roma c059013l
+ uncri8a CenturySchL-Ital c059033l
+ uplb8a URWPalladioL-Bold p052004l
+ uplbi8a URWPalladioL-BoldItal p052024l
+ uplr8a URWPalladioL-Roma p052003l
+ uplri8a URWPalladioL-Ital p052023l
+ usyr StandardSymL s050000l
+ utmb8a NimbusRomNo9L-Medi n021004l
+ utmbi8a NimbusRomNo9L-MediItal n021024l
+ utmr8a NimbusRomNo9L-Regu n021003l
+ utmri8a NimbusRomNo9L-ReguItal n021023l
+ uzcmi8a URWChanceryL-MediItal z003034l
+ uzdr Dingbats d050000l
+
+
+File: fontname.info, Node: Encodings, Next: Font legalities, Prev: Font name lists, Up: Top
+
+Appendix B Encodings
+********************
+
+The following sections define various encodings as PostScript encoding
+vectors. These files can be installed in the Dvips header directory and
+then used in `psfonts.map' to change font encodings of downloadable or
+builtin fonts (*note psfonts.map: (dvips)psfonts.map.).
+
+ You can also specify these `.enc' files to Afm2tfm when building a
+font (*note Changing font encodings: (dvips)Changing font encodings.).
+
+ For a discussion of TeX font encodings in general, and defining new
+ones for use with `fontinst' in particular, see
+`http://www.ctan.org/tex-archive/fonts/utilities/fontinst/doc/encspecs'.
+
+ Naming specific characters is a tangled and difficult area. Here are
+some links to character tables for Unicode, Adobe, and WGL4, for your
+researching pleasure (thanks to Boguslaw Jackowski for the list):
+
+ * `http://www.unicode.org/Public/UNIDATA/UnicodeData.txt'
+
+ * `http://www.unicode.org/Public/UNIDATA/NamesList.txt'
+
+ * `http://partners.adobe.com/asn/tech/type/corporateuse-old.txt'
+
+ * `http://partners.adobe.com/asn/tech/type/aglfn13.txt'
+
+ * `http://partners.adobe.com/asn/tech/type/unicodegn.jsp'
+
+ * `http://www.microsoft.com/OpenType/otspec/WGL4.htm'
+
+* Menu:
+
+* 8a:: Adobe standard.
+* 8r:: TeX base.
+* cork:: Cork (aka EC, TeX Latin 1, tex256).
+* dvips:: Dvips.
+* t5:: Vietnamese, from vntex.
+* qx:: QX, from GUST.
+* texmext:: TeX math extension.
+* texmsym:: TeX math symbol.
+* texmital:: TeX math italic.
+* texnansi:: From Y&Y.
+* texnansx:: From Y&Y.
+* xl2:: OT1 + ISO Latin 2 (extended).
+* xt2:: Typewriter version of xl2.
+
+
+File: fontname.info, Node: 8a, Next: 8r, Up: Encodings
+
+B.1 `8a.enc': Adobe standard encoding
+=====================================
+
+% @psencodingfile{
+% author = "Adobe",
+% version = "1.1",
+% date = "12jun05",
+% filename = "8a.enc",
+% license = "public domain",
+% email = "tex-fonts@tug.org",
+% codetable = "ISO/ASCII",
+% docstring = "Adobe StandardEncoding as an afm2tfm/dvips .enc file."
+% }
+% 12jun05 - comment changes only.
+/StandardEncoding [
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/space
+/exclam
+/quotedbl
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/parenleft
+/parenright
+/asterisk
+/plus
+/comma
+/hyphen
+/period
+/slash
+/zero
+/one
+/two
+/three
+/four
+/five
+/six
+/seven
+/eight
+/nine
+/colon
+/semicolon
+/less
+/equal
+/greater
+/question
+/at
+/A
+/B
+/C
+/D
+/E
+/F
+/G
+/H
+/I
+/J
+/K
+/L
+/M
+/N
+/O
+/P
+/Q
+/R
+/S
+/T
+/U
+/V
+/W
+/X
+/Y
+/Z
+/bracketleft
+/backslash
+/bracketright
+/asciicircum
+/underscore
+/quoteleft
+/a
+/b
+/c
+/d
+/e
+/f
+/g
+/h
+/i
+/j
+/k
+/l
+/m
+/n
+/o
+/p
+/q
+/r
+/s
+/t
+/u
+/v
+/w
+/x
+/y
+/z
+/braceleft
+/bar
+/braceright
+/asciitilde
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/exclamdown
+/cent
+/sterling
+/fraction
+/yen
+/florin
+/section
+/currency
+/quotesingle
+/quotedblleft
+/guillemotleft
+/guilsinglleft
+/guilsinglright
+/fi
+/fl
+/.notdef
+/endash
+/dagger
+/daggerdbl
+/periodcentered
+/.notdef
+/paragraph
+/bullet
+/quotesinglbase
+/quotedblbase
+/quotedblright
+/guillemotright
+/ellipsis
+/perthousand
+/.notdef
+/questiondown
+/.notdef
+/grave
+/acute
+/circumflex
+/tilde
+/macron
+/breve
+/dotaccent
+/dieresis
+/.notdef
+/ring
+/cedilla
+/.notdef
+/hungarumlaut
+/ogonek
+/caron
+/emdash
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/AE
+/.notdef
+/ordfeminine
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/Lslash
+/Oslash
+/OE
+/ordmasculine
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/ae
+/.notdef
+/.notdef
+/.notdef
+/dotlessi
+/.notdef
+/.notdef
+/lslash
+/oslash
+/oe
+/germandbls
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+] def
+
+
+File: fontname.info, Node: 8r, Next: cork, Prev: 8a, Up: Encodings
+
+B.2 `8r.enc': TeX base encoding
+===============================
+
+% File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30
+%
+% @@psencodingfile@{
+% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry,
+% W. Schmidt, P. Lehman",
+% version = "2.0",
+% date = "30 October 2002",
+% filename = "8r.enc",
+% email = "tex-fonts@@tug.org",
+% docstring = "This is the encoding vector for Type1 and TrueType
+% fonts to be used with TeX. This file is part of the
+% PSNFSS bundle, version 9"
+% @}
+%
+% The idea is to have all the characters normally included in Type 1 fonts
+% available for typesetting. This is effectively the characters in Adobe
+% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol,
+% MacRoman, and some extra characters from Lucida.
+%
+% Character code assignments were made as follows:
+%
+% (1) the Windows ANSI characters are almost all in their Windows ANSI
+% positions, because some Windows users cannot easily reencode the
+% fonts, and it makes no difference on other systems. The only Windows
+% ANSI characters not available are those that make no sense for
+% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
+% (173). quotesingle and grave are moved just because it's such an
+% irritation not having them in TeX positions.
+%
+% (2) Remaining characters are assigned arbitrarily to the lower part
+% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
+%
+% (3) Y&Y Lucida Bright includes some extra text characters; in the
+% hopes that other PostScript fonts, perhaps created for public
+% consumption, will include them, they are included starting at 0x12.
+% These are /dotlessj /ff /ffi /ffl.
+%
+% (4) hyphen appears twice for compatibility with both ASCII and Windows.
+%
+% (5) /Euro was assigned to 128, as in Windows ANSI
+%
+% (6) Missing characters from MacRoman encoding incorporated as follows:
+%
+% PostScript MacRoman TeXBase1
+% -------------- -------------- --------------
+% /notequal 173 0x16
+% /infinity 176 0x17
+% /lessequal 178 0x18
+% /greaterequal 179 0x19
+% /partialdiff 182 0x1A
+% /summation 183 0x1B
+% /product 184 0x1C
+% /pi 185 0x1D
+% /integral 186 0x81
+% /Omega 189 0x8D
+% /radical 195 0x8E
+% /approxequal 197 0x8F
+% /Delta 198 0x9D
+% /lozenge 215 0x9E
+%
+/TeXBase1Encoding [
+% 0x00
+ /.notdef /dotaccent /fi /fl
+ /fraction /hungarumlaut /Lslash /lslash
+ /ogonek /ring /.notdef /breve
+ /minus /.notdef /Zcaron /zcaron
+% 0x10
+ /caron /dotlessi /dotlessj /ff
+ /ffi /ffl /notequal /infinity
+ /lessequal /greaterequal /partialdiff /summation
+ /product /pi /grave /quotesingle
+% 0x20
+ /space /exclam /quotedbl /numbersign
+ /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus
+ /comma /hyphen /period /slash
+% 0x30
+ /zero /one /two /three
+ /four /five /six /seven
+ /eight /nine /colon /semicolon
+ /less /equal /greater /question
+% 0x40
+ /at /A /B /C
+ /D /E /F /G
+ /H /I /J /K
+ /L /M /N /O
+% 0x50
+ /P /Q /R /S
+ /T /U /V /W
+ /X /Y /Z /bracketleft
+ /backslash /bracketright /asciicircum /underscore
+% 0x60
+ /quoteleft /a /b /c
+ /d /e /f /g
+ /h /i /j /k
+ /l /m /n /o
+% 0x70
+ /p /q /r /s
+ /t /u /v /w
+ /x /y /z /braceleft
+ /bar /braceright /asciitilde /.notdef
+% 0x80
+ /Euro /integral /quotesinglbase /florin
+ /quotedblbase /ellipsis /dagger /daggerdbl
+ /circumflex /perthousand /Scaron /guilsinglleft
+ /OE /Omega /radical /approxequal
+% 0x90
+ /.notdef /.notdef /.notdef /quotedblleft
+ /quotedblright /bullet /endash /emdash
+ /tilde /trademark /scaron /guilsinglright
+ /oe /Delta /lozenge /Ydieresis
+% 0xA0
+ /.notdef /exclamdown /cent /sterling
+ /currency /yen /brokenbar /section
+ /dieresis /copyright /ordfeminine /guillemotleft
+ /logicalnot /hyphen /registered /macron
+% 0xD0
+ /degree /plusminus /twosuperior /threesuperior
+ /acute /mu /paragraph /periodcentered
+ /cedilla /onesuperior /ordmasculine /guillemotright
+ /onequarter /onehalf /threequarters /questiondown
+% 0xC0
+ /Agrave /Aacute /Acircumflex /Atilde
+ /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis
+ /Igrave /Iacute /Icircumflex /Idieresis
+% 0xD0
+ /Eth /Ntilde /Ograve /Oacute
+ /Ocircumflex /Otilde /Odieresis /multiply
+ /Oslash /Ugrave /Uacute /Ucircumflex
+ /Udieresis /Yacute /Thorn /germandbls
+% 0xE0
+ /agrave /aacute /acircumflex /atilde
+ /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis
+ /igrave /iacute /icircumflex /idieresis
+% 0xF0
+ /eth /ntilde /ograve /oacute
+ /ocircumflex /otilde /odieresis /divide
+ /oslash /ugrave /uacute /ucircumflex
+ /udieresis /yacute /thorn /ydieresis
+] def
+
+
+File: fontname.info, Node: cork, Next: dvips, Prev: 8r, Up: Encodings
+
+B.3 `cork.enc': Cork encoding
+=============================
+
+% @psencodingfile{
+% version = "1.0",
+% date = "12jun05",
+% filename = "cork.enc",
+% license = "public domain",
+% email = "tex-fonts@tug.org",
+% codetable = "ISO/ASCII",
+% docstring = "This is the Cork encoding, aka TeX Latin 1, aka tex256, as
+% described in TTN 1(4), December 1992, and TUGboat 11(4), November
+% 1990, page 514. EC is the name of the Computer Modern-based fonts in
+% this encoding. NFSS and Fontinst know it as `T1'."
+% }
+% 12jun05 - Don't use Texinfo @'s in LIGKERN's.
+%
+% These are the ligs and kerns in addition to those found in the
+% AFM file. (The only ligs in the Times-Roman.afm file are the
+% fi and fl ligatures.)
+%
+% LIGKERN space l =: lslash ; space L =: Lslash ;
+% LIGKERN question quoteleft =: questiondown ; exclam quoteleft =: exclamdown ;
+% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+%
+% We remove kerns to and from spaces (TeX doesn't have a
+% space) and also remove any kerns from the numbers (although
+% the only kern pair that mentions a number in Times-Roman.afm
+% is one one.)
+%
+% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
+% LIGKERN greater greater =: guillemotright ;
+%
+/CorkEncoding [ % now 256 chars follow
+% 0x00
+ /grave /acute /circumflex /tilde /dieresis /hungarumlaut /ring /caron
+ /breve /macron /dotaccent /cedilla
+ /ogonek /quotesinglbase /guilsinglleft /guilsinglright
+% 0x10
+ /quotedblleft /quotedblright /quotedblbase /guillemotleft
+ /guillemotright /endash /emdash /compwordmark
+ /perthousandzero /dotlessi /dotlessj /ff /fi /fl /ffi /ffl
+% 0x20
+ /visualspace /exclam /quotedbl /numbersign
+ /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+% 0x30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+% 0x40
+ /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
+% 0x50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
+% 0x60
+ /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
+% 0x70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /asciitilde /hyphen
+% 0x80
+ /Abreve /Aogonek /Cacute /Ccaron /Dcaron /Ecaron /Eogonek /Gbreve
+ /Lacute /Lcaron /Lslash /Nacute /Ncaron /Ng /Ohungarumlaut /Racute
+% 0x90
+ /Rcaron /Sacute /Scaron /Scedilla
+ /Tcaron /Tcedilla /Uhungarumlaut /Uring
+ /Ydieresis /Zacute /Zcaron /Zdotaccent /IJ /Idotaccent /dbar /section
+% 0xA0
+ /abreve /aogonek /cacute /ccaron /dcaron /ecaron /eogonek /gbreve
+ /lacute /lcaron /lslash /nacute /ncaron /ng /ohungarumlaut /racute
+% 0xB0
+ /rcaron /sacute /scaron /scedilla
+ /tquoteright /tcedilla /uhungarumlaut /uring
+ /ydieresis /zacute /zcaron /zdotaccent
+ /ij /exclamdown /questiondown /sterling
+% 0xC0
+ /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis
+ /Igrave /Iacute /Icircumflex /Idieresis
+% 0xD0
+ /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /OE
+ /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /Germandbls
+% 0xE0
+ /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis
+ /igrave /iacute /icircumflex /idieresis
+% 0xF0
+ /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /oe
+ /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /germandbls
+] def
+
+
+File: fontname.info, Node: dvips, Next: t5, Prev: cork, Up: Encodings
+
+B.4 `dvips.enc': Dvips encoding
+===============================
+
+% @psencodingfile{
+% author = "T. Rokicki, K. Berry",
+% version = "2.1",
+% date = "12jun05",
+% filename = "dvips.enc",
+% email = "tex-fonts@tug.org",
+% codetable = "ISO/ASCII",
+% docstring = "An encoding for PostScript fonts to be used with TeX.
+%
+% This is almost the default encoding produced by the afm2tfm program
+% that comes with the dvips distribution, when it is applied to a
+% StandardEncoding PostScript font. The positions of the accented
+% characters (which afm2tfm assigned more or less randomly in the
+% previous set of fonts) have been held fixed.
+%
+% It is almost upward-compatible with TeX text. (The primary exceptions
+% are dotaccent and hungarumlaut.) Some of the ligatures are also in
+% different positions, but this is not important, since ligature
+% positions are defined in the TFM file, not by macros.
+%
+% The character positions were assigned in this order:
+% 1) non-composite characters in the afm2tfm encoding (except dotlessj
+% was included in its plain TeX position);
+% 2) available characters in the Cork (EC) encoding;
+% 3) remaining composite characters in the base encoding (starting at
+% position 130 decimal). We don't include all the other base
+% characters because that changes the height/depth/width tables in
+% the TFM files (because more characters mean more distinct values).
+%
+% We leave the initial positions open for the Greek letters in Times-Roman.
+% "
+% }
+% 12jun05 - don't use extra @'s for Texinfo any more.
+%
+/DvipsEncoding [
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef
+ /.notdef /quotesingle /exclamdown /questiondown
+ /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring
+ /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+ /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /circumflex /underscore
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /tilde /dieresis
+ /asciicircum /asciitilde /Ccedilla /Iacute
+ /Icircumflex /atilde /edieresis /egrave
+ /scaron /zcaron /Eth /ff /ffi /ffl /.notdef /.notdef
+ /.notdef /.notdef /Scaron /.notdef /.notdef /.notdef /.notdef /.notdef
+ /Ydieresis /.notdef /Zcaron /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /cent /sterling /fraction /yen /florin /section
+ /currency /copyright /quotedblleft /guillemotleft
+ /guilsinglleft /guilsinglright /fi /fl
+ /degree /endash /dagger /daggerdbl /periodcentered /.notdef /paragraph /bullet
+ /quotesinglbase /quotedblbase /quotedblright /guillemotright
+ /ellipsis /perthousand /.notdef /.notdef
+ /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /.notdef /dotaccent
+ /Egrave /Eacute /Ecircumflex /Edieresis
+ /Igrave /hungarumlaut /ogonek /Idieresis
+ /emdash /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /.notdef
+ /.notdef /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /.notdef
+ /agrave /aacute /acircumflex /ordfeminine
+ /adieresis /aring /.notdef /ccedilla
+ /Lslash /eacute /ecircumflex /ordmasculine
+ /igrave /iacute /icircumflex /idieresis
+ /.notdef /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /.notdef
+ /lslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
+] def
+
+
+File: fontname.info, Node: t5, Next: qx, Prev: dvips, Up: Encodings
+
+B.5 `t5.enc': T5 encoding
+=========================
+
+% Copyright 2000-2005 Werner Lemberg <wl@gnu.org>.
+% This file is part of vntex. License: LPPL, version 1.3 or newer,
+% according to http://www.latex-project.org/lppl.txt
+%
+%
+% t5.enc
+%
+%
+% This is LaTeX T5 encoding for Vietnamese
+%
+% history:
+% version 1.0 (28-Jan-2000):
+% First version.
+%
+% version 1.1 (29-Apr-2002):
+% Rewritten to make it AGL compliant.
+%
+% version 1.2 (01-May-2002):
+% Use uni2423 instead uni2420.
+%
+% version 1.3 (27-Sep-2002):
+% . Changed the following glyph names to Unicode entities:
+% 0xB3 uni1EBD etilde
+% 0x93 uni1EBC Etilde
+% . Ytilde (uni1EF8) was used in slot for ytilde (uni1EF9).
+% . Using .notdef in slot for compound word mark (on position 0x17)
+% caused some problems so it was changed to cwm (for compatibilty
+% with ec.enc).
+% . Use sfthyphen in slot 127 instead of hyphen.
+%
+% version 1.4 (20-Apr-2005):
+% Add copyright.
+% Minor documentation updates.
+%
+% LIGKERN hyphen hyphen =: endash ;
+% LIGKERN endash hyphen =: emdash ;
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN comma comma =: quotedblbase ;
+%
+% We blow away kerns to and from spaces (TeX doesn't have a
+% space) and also remove any kerns from the numbers.
+%
+% LIGKERN space {} * ; * {} space ;
+% LIGKERN zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ;
+% LIGKERN two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ;
+% LIGKERN four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ;
+% LIGKERN six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ;
+% LIGKERN eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+%
+%
+% Some notes on the glyph names:
+%
+% . We follow the Adobe Glyph List (AGL), also using its associated
+% algorithm.
+%
+% . The glyphs `spacing dot below' (on position 0x05), `spacing hook above'
+% (on position 0x0C), and `compound word mark' (on position 0x17) are not
+% in Unicode. We call them `dotbelow', `hookabove', and `cwm',
+% respectively.
+%
+% . The following glyphs have no special name in the AGL (or names which
+% should not be used in general) and are thus represented as a Unicode
+% entity:
+%
+% 0x1A uni1EF6 Y hook above
+% 0x1B uni1EF7 y hook above
+% 0x1C uni1EF4 Y dot below
+% 0x1D uni1EF5 y dot below
+%
+% 0x20 uni2423 graphic symbol for space
+%
+% 0x83 uni1EA2 A hook above
+% 0x84 uni1EA0 A dot below
+% 0x86 uni1EA6 A circumflex grave
+% 0x87 uni1EA4 A circumflex acute
+% 0x88 uni1EAA A circumflex tilde
+% 0x89 uni1EA8 A circumflex hook above
+% 0x8A uni1EAC A circumflex dot below
+% 0x8C uni1EB0 A breve grave
+% 0x8D uni1EAE A breve acute
+% 0x8E uni1EB4 A breve tilde
+% 0x8F uni1EB2 A breve hook above
+% 0x90 uni1EB6 A breve dot below
+%
+% 0x93 uni1EBC E tilde
+% 0x94 uni1EBA E hook above
+% 0x95 uni1EB8 E dot below
+% 0x97 uni1EC0 E circumflex grave
+% 0x98 uni1EBE E circumflex acute
+% 0x99 uni1EC4 E circumflex tilde
+% 0x9A uni1EC2 E circumflex hook above
+% 0x9B uni1EC6 E circumflex dot below
+%
+% 0x9F uni1EC8 I hook above
+%
+% 0xA3 uni1EA3 a hook above
+% 0xA4 uni1EA1 a dot below
+% 0xA6 uni1EA7 a circumflex grave
+% 0xA7 uni1EA5 a circumflex acute
+% 0xA8 uni1EAB a circumflex tilde
+% 0xA9 uni1EA9 a circumflex hook above
+% 0xAA uni1EAD a circumflex dot below
+% 0xAC uni1EB1 a breve grave
+% 0xAD uni1EAF a breve acute
+% 0xAE uni1EB5 a breve tilde
+% 0xAF uni1EB3 a breve hook above
+% 0xB0 uni1EB7 a breve dot below
+%
+% 0xB3 uni1EBD e tilde
+% 0xB4 uni1EBB e hook above
+% 0xB5 uni1EB9 e dot below
+% 0xB7 uni1EC1 e circumflex grave
+% 0xB8 uni1EBF e circumflex acute
+% 0xB9 uni1EC5 e circumflex tilde
+% 0xBA uni1EC3 e circumflex hook above
+% 0xBB uni1EC7 e circumflex dot below
+%
+% 0xBF uni1EC9 i hook above
+%
+% 0xC0 uni1ECA I dot below
+%
+% 0xC4 uni1ECE O hook above
+% 0xC5 uni1ECC O dot below
+% 0xC7 uni1ED2 O circumflex grave
+% 0xC8 uni1ED0 O circumflex acute
+% 0xC9 uni1ED6 O circumflex tilde
+% 0xCA uni1ED4 O circumflex hook above
+% 0xCB uni1ED8 O circumflex dot below
+% 0xCD uni1EDC O horn grave
+% 0xCE uni1EDA O horn acute
+% 0xCF uni1EE0 O horn tilde
+% 0xD0 uni1EDE O horn hook above
+% 0xD1 uni1EE2 O horn dot below
+%
+% 0xD5 uni1EE6 U hook above
+% 0xD6 uni1EE4 U dot below
+% 0xD8 uni1EEA U horn grave
+% 0xD9 uni1EE8 U horn acute
+% 0xDA uni1EEE U horn tilde
+% 0xDB uni1EEC U horn hook above
+% 0xDC uni1EF0 U horn dot below
+%
+% 0xDF uni1EF8 Y tilde
+%
+% 0xE0 uni1ECB i dot below
+%
+% 0xE4 uni1ECF o hook above
+% 0xE5 uni1ECD o dot below
+% 0xE7 uni1ED3 o circumflex grave
+% 0xE8 uni1ED1 o circumflex acute
+% 0xE9 uni1ED7 o circumflex tilde
+% 0xEA uni1ED5 o circumflex hook above
+% 0xEB uni1ED9 o circumflex dot below
+% 0xED uni1EDD o horn grave
+% 0xEE uni1EDB o horn acute
+% 0xEF uni1EE1 o horn tilde
+% 0xF0 uni1EDF o horn hook above
+% 0xF1 uni1EE3 o horn dot below
+%
+% 0xF5 uni1EE7 u hook above
+% 0xF6 uni1EE5 u dot below
+% 0xF8 uni1EEB u horn grave
+% 0xF9 uni1EE9 u horn acute
+% 0xFA uni1EEF u horn tilde
+% 0xFB uni1EED u horn hook above
+% 0xFC uni1EF1 u horn dot below
+%
+% 0xFF uni1EF9 y tilde
+/T5Encoding [
+% 0x00
+ /grave /acute /circumflex /tilde
+ /dieresis /dotbelow /ring /caron
+ /breve /macron /dotaccent /cedilla
+ /hookabove /quotesinglbase /guilsinglleft /guilsinglright
+% 0x10
+ /quotedblleft /quotedblright /quotedblbase /guillemotleft
+ /guillemotright /endash /emdash /cwm
+ /zeroinferior /dotlessi /uni1EF6 /uni1EF7
+ /uni1EF4 /uni1EF5 /Dcroat /dcroat
+% 0x20
+ /uni2423 /exclam /quotedbl /numbersign
+ /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus
+ /comma /hyphen /period /slash
+% 0x30
+ /zero /one /two /three
+ /four /five /six /seven
+ /eight /nine /colon /semicolon
+ /less /equal /greater /question
+% 0x40
+ /at /A /B /C
+ /D /E /F /G
+ /H /I /J /K
+ /L /M /N /O
+% 0x50
+ /P /Q /R /S
+ /T /U /V /W
+ /X /Y /Z /bracketleft
+ /backslash /bracketright /asciicircum /underscore
+% 0x60
+ /quoteleft /a /b /c
+ /d /e /f /g
+ /h /i /j /k
+ /l /m /n /o
+% 0x70
+ /p /q /r /s
+ /t /u /v /w
+ /x /y /z /braceleft
+ /bar /braceright /asciitilde /sfthyphen
+% 0x80
+ /Agrave /Aacute /Atilde /uni1EA2
+ /uni1EA0 /Acircumflex /uni1EA6 /uni1EA4
+ /uni1EAA /uni1EA8 /uni1EAC /Abreve
+ /uni1EB0 /uni1EAE /uni1EB4 /uni1EB2
+% 0x90
+ /uni1EB6 /Egrave /Eacute /uni1EBC
+ /uni1EBA /uni1EB8 /Ecircumflex /uni1EC0
+ /uni1EBE /uni1EC4 /uni1EC2 /uni1EC6
+ /Igrave /Iacute /Itilde /uni1EC8
+% 0xA0
+ /agrave /aacute /atilde /uni1EA3
+ /uni1EA1 /acircumflex /uni1EA7 /uni1EA5
+ /uni1EAB /uni1EA9 /uni1EAD /abreve
+ /uni1EB1 /uni1EAF /uni1EB5 /uni1EB3
+% 0xB0
+ /uni1EB7 /egrave /eacute /uni1EBD
+ /uni1EBB /uni1EB9 /ecircumflex /uni1EC1
+ /uni1EBF /uni1EC5 /uni1EC3 /uni1EC7
+ /igrave /iacute /itilde /uni1EC9
+% 0xC0
+ /uni1ECA /Ograve /Oacute /Otilde
+ /uni1ECE /uni1ECC /Ocircumflex /uni1ED2
+ /uni1ED0 /uni1ED6 /uni1ED4 /uni1ED8
+ /Ohorn /uni1EDC /uni1EDA /uni1EE0
+% 0xD0
+ /uni1EDE /uni1EE2 /Ugrave /Uacute
+ /Utilde /uni1EE6 /uni1EE4 /Uhorn
+ /uni1EEA /uni1EE8 /uni1EEE /uni1EEC
+ /uni1EF0 /Ygrave /Yacute /uni1EF8
+% 0xE0
+ /uni1ECB /ograve /oacute /otilde
+ /uni1ECF /uni1ECD /ocircumflex /uni1ED3
+ /uni1ED1 /uni1ED7 /uni1ED5 /uni1ED9
+ /ohorn /uni1EDD /uni1EDB /uni1EE1
+% 0xF0
+ /uni1EDF /uni1EE3 /ugrave /uacute
+ /utilde /uni1EE7 /uni1EE5 /uhorn
+ /uni1EEB /uni1EE9 /uni1EEF /uni1EED
+ /uni1EF1 /ygrave /yacute /uni1EF9
+] def
+
+% end of t5.enc
+
+
+File: fontname.info, Node: qx, Next: texmext, Prev: t5, Up: Encodings
+
+B.6 `qx.enc'
+============
+
+From GUST.
+
+% =========================================================================
+ QX LAYOUT ver. 0.06
+% =========================================================================
+Release date: 24 August 2003
+Original URL: ftp://bop.eps.gda.pl/pub/qx/
+E-mail: JNSteam at gust.org.pl
+
+QX Layout is, actually, a pair of encodings: one for TeX and one for GUI
+systems. QX layout has been worked out by the Polish TeX Users Group GUST as
+a difficult compromise between needs and abilities. The character set of the
+QX layout is expected to suffice for the typesetting of texts (using TeX) in
+most of European languages.
+
+QX Encoding for TeX is based on EC (Cork Encoding) with a few characters
+exchanged. E.g., gbreve, Gbreve, uring, and Uring, which can be obtained by
+superimposing of an accent, are replaced by Lithuanian iogonek, Iogonek,
+uogonek, and Uogonek, respectively, which should not be assembled form
+separate elements; QX Encoding for GUI systems is a variant of the Code Page
+1250 (and also includes Lithuanian characters with ogonek).
+
+After a long debate, we decided (in ver. 0.04 of the QX layout) to replace
+omnipresent but actually nonexistent [tT]cedilla by Romanian [tT]commaaccent;
+censequently, Turkish [sS]cedilla was replaced by [sS]commaaccent (still we
+would recommend to keep the glyph of a [sS]cedilla character in a font).
+
+Under the pressure from euro currency funs, we included moreover an
+Euro symbol (in ver. 0.05 of the QX layout). We assigned the slot
+128 for it complying with Microsoft proposal for non-cyrillic fonts
+(http://www.microsoft.com/typography/faq/faq12.htm):
+
+ The symbol has been added to the following codepages at position
+ '0x80'; 1250 Eastern European, 1252 Western, 1253 Greek, 1254 Turkish,
+ 1257 Baltic, 1255 Hebrew, 1256 Arabic, 1258 Vietnamese, 874 Thai.
+ In 1251 Cyrillic the symbol will be added at position '0x88'.
+
+Therefore, we had to do something with a Lithuanian Iogonek character that
+previously had occupied this slot. We decided to remove Thorn (222, Tcedilla
+in CP 1250) and thorn (254, tcedilla in CP 1250) characters from the Windows
+QX layout (we recommend, as with [sS]cedilla characters, to keep the glyphs
+in a font) and use the freed slots for Iogonek (previously 128) and iogonek
+(previously 144, now free), respectively. The TeX QX layout, fortunately, had
+had the slot 128 already free, hence there was no need for rearrangement.
+
+Finally, we decided to change the name of a (non-standard) ligature
+fk to f_k, complying with Adobe recommendations contained in:
+http://partners.adobe.com/asn/developer/typeforum/unicodegn.html
+
+Most recent change (24.08.2003, ver. 0.06) was the extension of
+the character set by ligatures ij, IJ (available only in the TeX
+encoding) and a punctuation mark threequartersemdash.
+
+Below you'll find the comparison of basic layouts for TeX and GUI systems
+with QX ver. 0.06.
+
+% ===========================================================================
+% COMPARISON OF TeX LAYOUTS
+% ===========================================================================
+% CODE CM EC PL QX ver. 0.06
+% ===========================================================================
+ 0 00 Gamma grave Gamma alpha
+ 1 01 Delta acute Delta Delta
+ 2 02 Theta circumflex Theta beta
+ 3 03 Lambda tilde Lambda delta
+ 4 04 Xi dieresis Xi pi
+ 5 05 Pi hungarumlaut Pi Pi
+ 6 06 Sigma ring Sigma Sigma
+ 7 07 Upsilon caron Upsilon mu
+ 8 08 Phi breve Phi ellipsis
+ 9 09 Psi macron Psi f_k
+ 10 0A Omega dotaccent Omega Omega
+ 11 0B ff cedilla ff ff
+ 12 0C fi ogonek fi fi
+ 13 0D fl quotesinglbase fl fl
+ 14 0E ffi guilsinglleft ffi ffi
+ 15 0F ffl guilsinglright ffl ffl
+ 16 10 dotlessi quotedblleft dotlessi dotlessi
+ 17 11 dotlessj quotedblright dotlessj dotlessj
+ 18 12 grave quotedblbase grave grave
+ 19 13 acute guillemotleft acute acute
+ 20 14 caron guillemotright caron caron
+ 21 15 breve endash breve breve
+ 22 16 macron emdash macron macron
+ 23 17 ring compoundwordmark ring ring
+ 24 18 cedilla perthousand cedilla cedilla
+ 25 19 germandbls dotlessi germandbls germandbls
+ 26 1A ae dotlessj ae ae
+ 27 1B oe ff oe oe
+ 28 1C oslash fi oslash oslash
+ 29 1D AE fl AE AE
+ 30 1E OE ffi OE OE
+ 31 1F Oslash ffl Oslash Oslash
+ 32 20 suppress visualspace ogonek space
+ 33 21 exclam exclam exclam exclam
+ 34 22 quotedblright quotedbl quotedblright quotedblright
+ 35 23 numbersign numbersign numbersign numbersign
+ 36 24 dollar dollar dollar dollar
+ 37 25 percent percent percent percent
+ 38 26 ampersand ampersand ampersand ampersand
+ 39 27 quoteright quoteright quoteright quoteright
+ 40 28 parenleft parenleft parenleft parenleft
+ 41 29 parenright parenright parenright parenright
+ 42 2A asterisk asterisk asterisk asterisk
+ 43 2B plus plus plus plus
+ 44 2C comma comma comma comma
+ 45 2D hyphen hyphen hyphen hyphen
+ 46 2E period period period period
+ 47 2F slash slash slash slash
+ 48 30 zero zero zero zero
+ 49 31 one one one one
+ 50 32 two two two two
+ 51 33 three three three three
+ 52 34 four four four four
+ 53 35 five five five five
+ 54 36 six six six six
+ 55 37 seven seven seven seven
+ 56 38 eight eight eight eight
+ 57 39 nine nine nine nine
+ 58 3A colon colon colon colon
+ 59 3B semicolon semicolon semicolon semicolon
+ 60 3C exclamdown less exclamdown exclamdown
+ 61 3D equal equal equal equal
+ 62 3E questiondown greater questiondown questiondown
+ 63 3F question question question question
+ 64 40 at at at at
+ 65 41 A A A A
+ 66 42 B B B B
+ 67 43 C C C C
+ 68 44 D D D D
+ 69 45 E E E E
+ 70 46 F F F F
+ 71 47 G G G G
+ 72 48 H H H H
+ 73 49 I I I I
+ 74 4A J J J J
+ 75 4B K K K K
+ 76 4C L L L L
+ 77 4D M M M M
+ 78 4E N N N N
+ 79 4F O O O O
+ 80 50 P P P P
+ 81 51 Q Q Q Q
+ 82 52 R R R R
+ 83 53 S S S S
+ 84 54 T T T T
+ 85 55 U U U U
+ 86 56 V V V V
+ 87 57 W W W W
+ 88 58 X X X X
+ 89 59 Y Y Y Y
+ 90 5A Z Z Z Z
+ 91 5B bracketleft bracketleft bracketleft bracketleft
+ 92 5C quotedblleft backslash quotedblleft quotedblleft
+ 93 5D bracketright bracketright bracketright bracketright
+ 94 5E circumflex asciicircum circumflex circumflex
+ 95 5F dotaccent underscore dotaccent dotaccent
+ 96 60 quoteleft quoteleft quoteleft quoteleft
+ 97 61 a a a a
+ 98 62 b b b b
+ 99 63 c c c c
+100 64 d d d d
+101 65 e e e e
+102 66 f f f f
+103 67 g g g g
+104 68 h h h h
+105 69 i i i i
+106 6A j j j j
+107 6B k k k k
+108 6C l l l l
+109 6D m m m m
+110 6E n n n n
+111 6F o o o o
+112 70 p p p p
+113 71 q q q q
+114 72 r r r r
+115 73 s s s s
+116 74 t t t t
+117 75 u u u u
+118 76 v v v v
+119 77 w w w w
+120 78 x x x x
+121 79 y y y y
+122 7A z z z z
+123 7B endash braceleft endash endash
+124 7C emdash bar emdash emdash
+125 7D hungarumlaut braceright hungarumlaut hungarumlaut
+126 7E tilde asciitilde tilde tilde
+127 7F dieresis hyphen dieresis dieresis
+128 80 @ Abreve @ Euro
+129 81 @ Aogonek Aogonek Aogonek
+130 82 @ Cacute Cacute Cacute
+131 83 @ Ccaron @ greater
+132 84 @ Dcaron @ greaterequal
+133 85 @ Ecaron @ approxequal
+134 86 @ Eogonek Eogonek Eogonek
+135 87 @ Gbreve @ Iogonek
+136 88 @ Lacute @ less
+137 89 @ Lquoteright @ lessequal
+138 8A @ Lslash Lslash Lslash
+139 8B @ Nacute Nacute Nacute
+140 8C @ Ncaron @ asciitilde
+141 8D @ Eng @ asciicircum
+142 8E @ Ohungarumlaut @ ell
+143 8F @ Racute @ dagger
+144 90 @ Rcaron @ daggerdbl
+145 91 @ Sacute Sacute Sacute
+146 92 @ Scaron @ Scaron
+147 93 @ Scedilla @ Scommaaccent
+148 94 @ Tcaron @ degree
+149 95 @ Tcedilla @ Tcommaaccent
+150 96 @ Uhungarumlaut @ ogonek
+151 97 @ Uring @ Uogonek
+152 98 @ Ydieresis @ Ydieresis
+153 99 @ Zacute Zacute Zacute
+154 9A @ Zcaron @ Zcaron
+155 9B @ Zdotaccent Zdotaccent Zdotaccent
+156 9C @ IJ @ IJ
+157 9D @ Idotaccent @ braceleft
+158 9E @ dbar @ braceright
+159 9F @ section @ section
+160 A0 @ abreve @ @
+161 A1 @ aogonek aogonek aogonek
+162 A2 @ cacute cacute cacute
+163 A3 @ ccaron @ registered
+164 A4 @ dquoteright @ copyright
+165 A5 @ ecaron @ divide
+166 A6 @ eogonek eogonek eogonek
+167 A7 @ gbreve @ iogonek
+168 A8 @ lacute @ minus
+169 A9 @ lquoteright @ multiply
+170 AA @ lslash lslash lslash
+171 AB @ nacute nacute nacute
+172 AC @ ncaron @ plusminus
+173 AD @ eng @ infinity
+174 AE @ ohungarumlaut guillemotleft guillemotleft
+175 AF @ racute guillemotright guillemotright
+176 B0 @ rcaron @ paragraph
+177 B1 @ sacute sacute sacute
+178 B2 @ scaron @ scaron
+179 B3 @ scedilla @ scommaaccent
+180 B4 @ tquoteright @ bullet
+181 B5 @ tcedilla @ tcommaaccent
+182 B6 @ uhungarumlaut @ threequartersemdash
+183 B7 @ uring @ uogonek
+184 B8 @ ydieresis @ ydieresis
+185 B9 @ zacute zacute zacute
+186 BA @ zcaron @ zcaron
+187 BB @ zdotaccent zdotaccent zdotaccent
+188 BC @ ij @ ij
+189 BD @ exclamdown @ periodcentered
+190 BE @ questiondown @ quotedbl
+191 BF @ sterling @ quotesingle
+192 C0 @ Agrave @ Agrave
+193 C1 @ Aacute @ Aacute
+194 C2 @ Acircumflex @ Acircumflex
+195 C3 @ Atilde @ Atilde
+196 C4 @ Adieresis @ Adieresis
+197 C5 @ Aring @ Aring
+198 C6 @ AE @ backslash
+199 C7 @ Ccedilla @ Ccedilla
+200 C8 @ Egrave @ Egrave
+201 C9 @ Eacute @ Eacute
+202 CA @ Ecircumflex @ Ecircumflex
+203 CB @ Edieresis @ Edieresis
+204 CC @ Igrave @ Igrave
+205 CD @ Iacute @ Iacute
+206 CE @ Icircumflex @ Icircumflex
+207 CF @ Idieresis @ Idieresis
+208 D0 @ Eth @ Eth
+209 D1 @ Ntilde @ Ntilde
+210 D2 @ Ograve @ Ograve
+211 D3 @ Oacute Oacute Oacute
+212 D4 @ Ocircumflex @ Ocircumflex
+213 D5 @ Otilde @ Otilde
+214 D6 @ Odieresis @ Odieresis
+215 D7 @ OE @ currency
+216 D8 @ Oslash @ perthousand
+217 D9 @ Ugrave @ Ugrave
+218 DA @ Uacute @ Uacute
+219 DB @ Ucircumflex @ Ucircumflex
+220 DC @ Udieresis @ Udieresis
+221 DD @ Yacute @ Yacute
+222 DE @ Thorn @ Thorn
+223 DF @ Germandbls @ bar
+224 E0 @ agrave @ agrave
+225 E1 @ aacute @ aacute
+226 E2 @ acircumflex @ acircumflex
+227 E3 @ atilde @ atilde
+228 E4 @ adieresis @ adieresis
+229 E5 @ aring @ aring
+230 E6 @ ae @ underscore
+231 E7 @ ccedilla @ ccedilla
+232 E8 @ egrave @ egrave
+233 E9 @ eacute @ eacute
+234 EA @ ecircumflex @ ecircumflex
+235 EB @ edieresis @ edieresis
+236 EC @ igrave @ igrave
+237 ED @ iacute @ iacute
+238 EE @ icircumflex @ icircumflex
+239 EF @ idieresis @ idieresis
+240 F0 @ eth @ eth
+241 F1 @ ntilde @ ntilde
+242 F2 @ ograve @ ograve
+243 F3 @ oacute oacute oacute
+244 F4 @ ocircumflex @ ocircumflex
+245 F5 @ otilde @ otilde
+246 F6 @ odieresis @ odieresis
+247 F7 @ oe @ anglearc
+248 F8 @ oslash @ diameter
+249 F9 @ ugrave @ ugrave
+250 FA @ uacute @ uacute
+251 FB @ ucircumflex @ ucircumflex
+252 FC @ udieresis @ udieresis
+253 FD @ yacute @ yacute
+254 FE @ thorn @ thorn
+255 FF @ germandbls quotedblbase quotedblbase
+% ===========================================================================
+
+
+% ==========================================================
+% COMPARISON OF LAYOUTS FOR GUI SYSTEMS
+% ==========================================================
+% CODE NEW ANSI (0--127) Macintosh QX ver. 0.06
+% + CODE PAGE 1250 PLEURO
+% ==========================================================
+ 0 00 @ @ @
+ 1 01 @ @ acute
+ 2 02 @ @ circumflex
+ 3 03 @ @ cedilla
+ 4 04 @ @ dieresis
+ 5 05 @ @ breve
+ 6 06 @ @ dotaccent
+ 7 07 @ @ macron
+ 8 08 @ @ ring
+ 9 09 @ @ @
+ 10 0A @ @ hungarumlaut
+ 11 0B @ @ ogonek
+ 12 0C @ @ caron
+ 13 0D @ @ @
+ 14 0E @ @ dotlessi
+ 15 0F @ @ dotlessj
+ 16 10 @ @ tilde
+ 17 11 @ @ ff
+ 18 12 @ @ ffi
+ 19 13 @ @ ffl
+ 20 14 @ @ f_k
+ 21 15 @ @ approxequal
+ 22 16 @ @ ell
+ 23 17 @ @ infinity
+ 24 18 @ @ alpha
+ 25 19 @ @ beta
+ 26 1A @ @ delta
+ 27 1B @ @ pi
+ 28 1C @ @ Delta
+ 29 1D @ @ Pi
+ 30 1E @ @ Sigma
+ 31 1F @ @ Omega
+ 32 20 space space space
+ 33 21 exclam exclam exclam
+ 34 22 quotedbl quotedbl quotedbl
+ 35 23 numbersign numbersign numbersign
+ 36 24 dollar dollar dollar
+ 37 25 percent percent percent
+ 38 26 ampersand ampersand ampersand
+ 39 27 quotesingle quotesingle quotesingle
+ 40 28 parenleft parenleft parenleft
+ 41 29 parenright parenright parenright
+ 42 2A asterisk asterisk asterisk
+ 43 2B plus plus plus
+ 44 2C comma comma comma
+ 45 2D hyphen hyphen hyphen
+ 46 2E period period period
+ 47 2F slash slash slash
+ 48 30 zero zero zero
+ 49 31 one one one
+ 50 32 two two two
+ 51 33 three three three
+ 52 34 four four four
+ 53 35 five five five
+ 54 36 six six six
+ 55 37 seven seven seven
+ 56 38 eight eight eight
+ 57 39 nine nine nine
+ 58 3A colon colon colon
+ 59 3B semicolon semicolon semicolon
+ 60 3C less less less
+ 61 3D equal equal equal
+ 62 3E greater greater greater
+ 63 3F question question question
+ 64 40 at at at
+ 65 41 A A A
+ 66 42 B B B
+ 67 43 C C C
+ 68 44 D D D
+ 69 45 E E E
+ 70 46 F F F
+ 71 47 G G G
+ 72 48 H H H
+ 73 49 I I I
+ 74 4A J J J
+ 75 4B K K K
+ 76 4C L L L
+ 77 4D M M M
+ 78 4E N N N
+ 79 4F O O O
+ 80 50 P P P
+ 81 51 Q Q Q
+ 82 52 R R R
+ 83 53 S S S
+ 84 54 T T T
+ 85 55 U U U
+ 86 56 V V V
+ 87 57 W W W
+ 88 58 X X X
+ 89 59 Y Y Y
+ 90 5A Z Z Z
+ 91 5B bracketleft bracketleft bracketleft
+ 92 5C backslash backslash backslash
+ 93 5D bracketright bracketright bracketright
+ 94 5E asciicircum asciicircum asciicircum
+ 95 5F underscore underscore underscore
+ 96 60 grave grave grave
+ 97 61 a a a
+ 98 62 b b b
+ 99 63 c c c
+100 64 d d d
+101 65 e e e
+102 66 f f f
+103 67 g g g
+104 68 h h h
+105 69 i i i
+106 6A j j j
+107 6B k k k
+108 6C l l l
+109 6D m m m
+110 6E n n n
+111 6F o o o
+112 70 p p p
+113 71 q q q
+114 72 r r r
+115 73 s s s
+116 74 t t t
+117 75 u u u
+118 76 v v v
+119 77 w w w
+120 78 x x x
+121 79 y y y
+122 7A z z z
+123 7B braceleft braceleft braceleft
+124 7C bar bar bar
+125 7D braceright braceright braceright
+126 7E asciitilde asciitilde asciitilde
+127 7F @ @ @
+128 80 Euro @ Euro
+129 81 @ @ fi
+130 82 quotesinglbase quotesinglbase fl
+131 83 @ Ydieresis Ydieresis
+132 84 quotedblbase quotedblbase quotedblbase
+133 85 ellipsis ellipsis ellipsis
+134 86 dagger dagger dagger
+135 87 daggerdbl daggerdbl daggerdbl
+136 88 @ Ecircumflex Ecircumflex
+137 89 perthousand perthousand perthousand
+138 8A Scaron Scaron Scaron
+139 8B guilsinglleft guilsinglleft Scommaaccent
+140 8C Sacute Sacute Sacute
+141 8D Tcaron OE OE
+142 8E Zcaron Zcaron Zcaron
+143 8F Zacute Zacute Zacute
+144 90 @ @ threequartersemdash
+145 91 quoteleft quoteleft quoteleft
+146 92 quoteright quoteright quoteright
+147 93 quotedblleft quotedblleft quotedblleft
+148 94 quotedblright quotedblright quotedblright
+149 95 bullet bullet bullet
+150 96 endash endash endash
+151 97 emdash emdash emdash
+152 98 @ ecircumflex ecircumflex
+153 99 trademark trademark anglearc
+154 9A scaron scaron scaron
+155 9B guilsinglright guilsinglright scommaaccent
+156 9C sacute sacute sacute
+157 9D tquoteright oe oe
+158 9E zcaron zcaron zcaron
+159 9F zacute zacute zacute
+160 A0 @ nbspace nbspace
+161 A1 caron exclamdown exclamdown
+162 A2 breve questiondown questiondown
+163 A3 Lslash Lslash Lslash
+164 A4 currency currency currency
+165 A5 Aogonek Aogonek Aogonek
+166 A6 brokenbar brokenbar diameter
+167 A7 section section section
+168 A8 dieresis dieresis Uogonek
+169 A9 copyright copyright copyright
+170 AA Scedilla AE AE
+171 AB guillemotleft guillemotleft guillemotleft
+172 AC logicalnot Ntilde Ntilde
+173 AD hyphen minus minus
+174 AE registered registered registered
+175 AF Zdotaccent Zdotaccent Zdotaccent
+176 B0 degree degree degree
+177 B1 plusminus plusminus plusminus
+178 B2 ogonek twosuperior lessequal
+179 B3 lslash lslash lslash
+180 B4 acute acute greaterequal
+181 B5 mu mu mu
+182 B6 paragraph paragraph paragraph
+183 B7 periodcentered periodcentered periodcentered
+184 B8 cedilla @ uogonek
+185 B9 aogonek aogonek aogonek
+186 BA scedilla ae ae
+187 BB guillemotright guillemotright guillemotright
+188 BC Lquoteright ntilde ntilde
+189 BD hungarumlaut onehalf Tcommaaccent
+190 BE lquoteright threequarters tcommaaccent
+191 BF zdotaccent zdotaccent zdotaccent
+192 C0 Racute Agrave Agrave
+193 C1 Aacute Aacute Aacute
+194 C2 Acircumflex Acircumflex Acircumflex
+195 C3 Abreve Atilde Atilde
+196 C4 Adieresis Adieresis Adieresis
+197 C5 Lacute Aring Aring
+198 C6 Cacute Cacute Cacute
+199 C7 Ccedilla Ccedilla Ccedilla
+200 C8 Ccaron Egrave Egrave
+201 C9 Eacute Eacute Eacute
+202 CA Eogonek Eogonek Eogonek
+203 CB Edieresis Edieresis Edieresis
+204 CC Ecaron Igrave Igrave
+205 CD Iacute Iacute Iacute
+206 CE Icircumflex Icircumflex Icircumflex
+207 CF Dcaron Idieresis Idieresis
+208 D0 Eth Eth Eth
+209 D1 Nacute Nacute Nacute
+210 D2 Ncaron Ograve Ograve
+211 D3 Oacute Oacute Oacute
+212 D4 Ocircumflex Ocircumflex Ocircumflex
+213 D5 Ohungarumlaut Otilde Otilde
+214 D6 Odieresis Odieresis Odieresis
+215 D7 multiply multiply multiply
+216 D8 Rcaron Oslash Oslash
+217 D9 Uring Ugrave Ugrave
+218 DA Uacute Uacute Uacute
+219 DB Uhungarumlaut Ucircumflex Ucircumflex
+220 DC Udieresis Udieresis Udieresis
+221 DD Yacute Yacute Yacute
+222 DE Tcedilla Thorn Iogonek
+223 DF germandbls germandbls germandbls
+224 E0 racute agrave agrave
+225 E1 aacute aacute aacute
+226 E2 acircumflex acircumflex acircumflex
+227 E3 abreve atilde atilde
+228 E4 adieresis adieresis adieresis
+229 E5 lacute aring aring
+230 E6 cacute cacute cacute
+231 E7 ccedilla ccedilla ccedilla
+232 E8 ccaron egrave egrave
+233 E9 eacute eacute eacute
+234 EA eogonek eogonek eogonek
+235 EB edieresis edieresis edieresis
+236 EC ecaron igrave igrave
+237 ED iacute iacute iacute
+238 EE icircumflex icircumflex icircumflex
+239 EF dquoteright idieresis idieresis
+240 F0 dbar eth eth
+241 F1 nacute nacute nacute
+242 F2 ncaron ograve ograve
+243 F3 oacute oacute oacute
+244 F4 ocircumflex ocircumflex ocircumflex
+245 F5 ohungarumlaut otilde otilde
+246 F6 odieresis odieresis odieresis
+247 F7 divide divide divide
+248 F8 rcaron oslash oslash
+249 F9 uring ugrave ugrave
+250 FA uacute uacute uacute
+251 FB uhungarumlaut ucircumflex ucircumflex
+252 FC udieresis udieresis udieresis
+253 FD yacute yacute yacute
+254 FE tcedilla thorn iogonek
+255 FF dotaccent ydieresis ydieresis
+% ==========================================================
+
+/encqxoosix[
+/alpha
+/Delta
+/beta
+/delta
+/pi
+/Pi
+/Sigma
+/mu
+/ellipsis
+/f_k
+/Omega
+/ff
+/fi
+/fl
+/ffi
+/ffl
+/dotlessi
+/dotlessj
+/grave
+/acute
+/caron
+/breve
+/macron
+/ring
+/cedilla
+/germandbls
+/ae
+/oe
+/oslash
+/AE
+/OE
+/Oslash
+/space
+/exclam
+/quotedblright
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/parenleft
+/parenright
+/asterisk
+/plus
+/comma
+/hyphen
+/period
+/slash
+/zero
+/one
+/two
+/three
+/four
+/five
+/six
+/seven
+/eight
+/nine
+/colon
+/semicolon
+/exclamdown
+/equal
+/questiondown
+/question
+/at
+/A
+/B
+/C
+/D
+/E
+/F
+/G
+/H
+/I
+/J
+/K
+/L
+/M
+/N
+/O
+/P
+/Q
+/R
+/S
+/T
+/U
+/V
+/W
+/X
+/Y
+/Z
+/bracketleft
+/quotedblleft
+/bracketright
+/circumflex
+/dotaccent
+/quoteleft
+/a
+/b
+/c
+/d
+/e
+/f
+/g
+/h
+/i
+/j
+/k
+/l
+/m
+/n
+/o
+/p
+/q
+/r
+/s
+/t
+/u
+/v
+/w
+/x
+/y
+/z
+/endash
+/emdash
+/hungarumlaut
+/tilde
+/dieresis
+/Euro
+/Aogonek
+/Cacute
+/greater
+/greaterequal
+/approxequal
+/Eogonek
+/Iogonek
+/less
+/lessequal
+/Lslash
+/Nacute
+/asciitilde
+/asciicircum
+/ell
+/dagger
+/daggerdbl
+/Sacute
+/Scaron
+/Scommaaccent
+/degree
+/Tcommaaccent
+/ogonek
+/Uogonek
+/Ydieresis
+/Zacute
+/Zcaron
+/Zdotaccent
+/IJ
+/braceleft
+/braceright
+/section
+/.notdef
+/aogonek
+/cacute
+/registered
+/copyright
+/divide
+/eogonek
+/iogonek
+/minus
+/multiply
+/lslash
+/nacute
+/plusminus
+/infinity
+/guillemotleft
+/guillemotright
+/paragraph
+/sacute
+/scaron
+/scommaaccent
+/bullet
+/tcommaaccent
+/threequartersemdash
+/uogonek
+/ydieresis
+/zacute
+/zcaron
+/zdotaccent
+/ij
+/periodcentered
+/quotedbl
+/quotesingle
+/Agrave
+/Aacute
+/Acircumflex
+/Atilde
+/Adieresis
+/Aring
+/backslash
+/Ccedilla
+/Egrave
+/Eacute
+/Ecircumflex
+/Edieresis
+/Igrave
+/Iacute
+/Icircumflex
+/Idieresis
+/Eth
+/Ntilde
+/Ograve
+/Oacute
+/Ocircumflex
+/Otilde
+/Odieresis
+/currency
+/perthousand
+/Ugrave
+/Uacute
+/Ucircumflex
+/Udieresis
+/Yacute
+/Thorn
+/bar
+/agrave
+/aacute
+/acircumflex
+/atilde
+/adieresis
+/aring
+/underscore
+/ccedilla
+/egrave
+/eacute
+/ecircumflex
+/edieresis
+/igrave
+/iacute
+/icircumflex
+/idieresis
+/eth
+/ntilde
+/ograve
+/oacute
+/ocircumflex
+/otilde
+/odieresis
+/anglearc
+/diameter
+/ugrave
+/uacute
+/ucircumflex
+/udieresis
+/yacute
+/thorn
+/quotedblbase
+] def
+
+
+File: fontname.info, Node: texmext, Next: texmsym, Prev: qx, Up: Encodings
+
+B.7 `texmext.enc': TeX math extension encoding
+==============================================
+
+% @psencodingfile{
+% author = "Donald Knuth",
+% version = "1.0",
+% date = "12jun05",
+% filename = "texmext.enc",
+% license = "public domain",
+% email = "tex-fonts@tug.org",
+% codetable = "ISO/ASCII",
+% docstring = "TeX math extension encoding."
+% }
+%
+% 12jun05 - add header.
+%
+% No ligatures or kerns.
+%
+/TeXMathExtensionEncoding [ % now 256 chars follow
+
+% 0x0
+/parenleftbig
+/parenrightbig
+/bracketleftbig
+/bracketrightbig
+/floorleftbig
+/floorrightbig
+/ceilingleftbig
+/ceilingrightbig
+
+% 0x8
+/braceleftbig
+/bracerightbig
+/angbracketleftbig
+/angbracketrightbig
+/vextendsingle
+/vextenddouble
+/slashbig
+/backslashbig
+
+% 0x10
+/parenleftBig
+/parenrightBig
+/parenleftbigg
+/parenrightbigg
+/bracketleftbigg
+/bracketrightbigg
+/floorleftbigg
+/floorrightbigg
+
+% 0x18
+/ceilingleftbigg
+/ceilingrightbigg
+/braceleftbigg
+/bracerightbigg
+/angbracketleftbigg
+/angbracketrightbigg
+/slashbigg
+/backslashbigg
+
+% 0x20
+/parenleftBigg
+/parenrightBigg
+/bracketleftBigg
+/bracketrightBigg
+/floorleftBigg
+/floorrightBigg
+/ceilingleftBigg
+/ceilingrightBigg
+
+% 0x28
+/braceleftBigg
+/bracerightBigg
+/angbracketleftBigg
+/angbracketrightBigg
+/slashBigg
+/backslashBigg
+/slashBig
+/backslashBig
+
+% 0x30
+/parenlefttp
+/parenrighttp
+/bracketlefttp
+/bracketrighttp
+/bracketleftbt
+/bracketrightbt
+/bracketleftex
+/bracketrightex
+
+% 0x38
+/bracelefttp
+/bracerighttp
+/braceleftbt
+/bracerightbt
+/braceleftmid
+/bracerightmid
+/braceex
+/arrowvertex
+
+% 0x40
+/parenleftbt
+/parenrightbt
+/parenleftex
+/parenrightex
+/angbracketleftBig
+/angbracketrightBig
+/unionsqtext
+/unionsqdisplay
+
+% 0x48
+/contintegraltext
+/contintegraldisplay
+/circledottext
+/circledotdisplay
+/circleplustext
+/circleplusdisplay
+/circlemultiplytext
+/circlemultiplydisplay
+
+% 0x50
+/summationtext
+/producttext
+/integraltext
+/uniontext
+/intersectiontext
+/unionmultitext
+/logicalandtext
+/logicalortext
+
+% 0x58
+/summationdisplay
+/productdisplay
+/integraldisplay
+/uniondisplay
+/intersectiondisplay
+/unionmultidisplay
+/logicalanddisplay
+/logicalordisplay
+
+% 0x60
+/coproducttext
+/coproductdisplay
+/hatwide
+/hatwider
+/hatwidest
+/tildewide
+/tildewider
+/tildewidest
+
+% 0x68
+/bracketleftBig
+/bracketrightBig
+/floorleftBig
+/floorrightBig
+/ceilingleftBig
+/ceilingrightBig
+/braceleftBig
+/bracerightBig
+
+% 0x70
+/radicalbig
+/radicalBig
+/radicalbigg
+/radicalBigg
+/radicalbt
+/radicalvertex
+/radicaltp
+/arrowvertexdbl
+
+% 0x78
+/arrowtp
+/arrowbt
+/bracehtipdownleft
+/bracehtipdownright
+/bracehtipupleft
+/bracehtipupright
+/arrowdbltp
+/arrowdblbt
+
+% Have to have 128 .notdef's now to fill things out.
+%
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+
+File: fontname.info, Node: texmsym, Next: texmital, Prev: texmext, Up: Encodings
+
+B.8 `texmsym.enc': TeX math symbol encoding
+===========================================
+
+% @psencodingfile{
+% author = "Donald Knuth",
+% version = "1.0",
+% date = "12jun05",
+% filename = "texmsym.enc",
+% license = "public domain",
+% email = "tex-fonts@tug.org",
+% codetable = "ISO/ASCII",
+% docstring = "TeX math symbols encoding."
+% }
+% 12jun05 - add header.
+%
+% No ligatures or kerns.
+%
+/TeXMathSymbolEncoding [ % now 256 chars follow
+% 0x0
+/minus
+/periodcentered
+/multiply
+/asteriskmath
+/divide
+/diamondmath
+/plusminus
+/minusplus
+
+% 0x8
+/circleplus
+/circleminus
+/circlemultiply
+/circledivide
+/circledot
+/circlecopyrt
+/openbullet
+/bullet
+
+% 0x10
+/equivasymptotic
+/equivalence
+/reflexsubset
+/reflexsuperset
+/lessequal
+/greaterequal
+/precedesequal
+/followsequal
+
+% 0x18
+/similar
+/approxequal
+/propersubset
+/propersuperset
+/lessmuch
+/greatermuch
+/precedes
+/follows
+
+% 0x20
+/arrowleft
+/arrowright
+/arrowup
+/arrowdown
+/arrowboth
+/arrownortheast
+/arrowsoutheast
+/similarequal
+
+% 0x28
+/arrowdblleft
+/arrowdblright
+/arrowdblup
+/arrowdbldown
+/arrowdblboth
+/arrownorthwest
+/arrowsouthwest
+/proportional
+
+% 0x30
+/prime
+/infinity
+/element
+/owner
+/triangle
+/triangleinv
+/negationslash
+/mapsto
+
+% 0x38
+/universal
+/existential
+/logicalnot
+/emptyset
+/Rfractur
+/Ifractur
+/latticetop
+/perpendicular
+
+% 0x40
+/aleph
+/A
+/B
+/C
+/D
+/E
+/F
+/G
+
+% 0x48
+/H
+/I
+/J
+/K
+/L
+/M
+/N
+/O
+
+% 0x50
+/P
+/Q
+/R
+/S
+/T
+/U
+/V
+/W
+
+% 0x58
+/X
+/Y
+/Z
+/union
+/intersection
+/unionmulti
+/logicaland
+/logicalor
+
+% 0x60
+/turnstileleft
+/turnstileright
+/floorleft
+/floorright
+/ceilingleft
+/ceilingright
+/braceleft
+/braceright
+
+% 0x68
+/angbracketleft
+/angbracketright
+/bar
+/bardbl
+/arrowbothv
+/arrowdblbothv
+/backslash
+/wreathproduct
+
+% 0x70
+/radical
+/coproduct
+/nabla
+/integral
+/unionsq
+/intersectionsq
+/subsetsqequal
+/supersetsqequal
+
+% 0x78
+/section
+/dagger
+/daggerdbl
+/paragraph
+/club
+/diamond
+/heart
+/spade
+
+% Have to have 128 .notdef's now to fill things out.
+%
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+
+File: fontname.info, Node: texmital, Next: texnansi, Prev: texmsym, Up: Encodings
+
+B.9 `texmital.enc': TeX math italic encoding
+============================================
+
+% @psencodingfile{
+% author = "Donald Knuth",
+% version = "1.0",
+% date = "12jun05",
+% filename = "texmital.enc",
+% license = "public domain",
+% email = "tex-fonts@tug.org",
+% codetable = "ISO/ASCII",
+% docstring = "TeX math italic encoding."
+% }
+%
+% 12jun05 - add header.
+%
+% No ligatures or kerns.
+%
+/TeXMathItalicEncoding [ % now 256 chars follow
+% 0x0
+/Gamma
+/Delta
+/Theta
+/Lambda
+/Xi
+/Pi
+/Sigma
+/Upsilon
+
+% 0x8
+/Phi
+/Psi
+/Omega
+/alpha
+/beta
+/gamma
+/delta
+/epsilon1
+
+% 0x10
+/zeta
+/eta
+/theta
+/iota
+/kappa
+/lambda
+/mu
+/nu
+
+% 0x18
+/xi
+/pi
+/rho
+/sigma
+/tau
+/upsilon
+/phi
+/chi
+
+% 0x20
+/psi
+/omega
+/epsilon
+/theta1
+/pi1
+/rho1
+/sigma1
+/phi1
+
+% 0x28
+/arrowlefttophalf
+/arrowleftbothalf
+/arrowrighttophalf
+/arrowrightbothalf
+/arrowhookleft
+/arrowhookright
+/triangleright
+/triangleleft
+
+% 0x30
+/zerooldstyle
+/oneoldstyle
+/twooldstyle
+/threeoldstyle
+/fouroldstyle
+/fiveoldstyle
+/sixoldstyle
+/sevenoldstyle
+
+% 0x38
+/eightoldstyle
+/nineoldstyle
+/period
+/comma
+/less
+/slash
+/greater
+/star
+
+% 0x40
+/partialdiff
+/A
+/B
+/C
+/D
+/E
+/F
+/G
+
+% 0x48
+/H
+/I
+/J
+/K
+/L
+/M
+/N
+/O
+
+% 0x50
+/P
+/Q
+/R
+/S
+/T
+/U
+/V
+/W
+
+% 0x58
+/X
+/Y
+/Z
+/flat
+/natural
+/sharp
+/slurbelow
+/slurabove
+
+% 0x60
+/lscript
+/a
+/b
+/c
+/d
+/e
+/f
+/g
+
+% 0x68
+/h
+/i
+/j
+/k
+/l
+/m
+/n
+/o
+
+% 0x70
+/p
+/q
+/r
+/s
+/t
+/u
+/v
+/w
+
+% 0x78
+/x
+/y
+/z
+/dotlessi
+/dotlessj
+/weierstrass
+/vector
+/tie
+
+% Have to have 128 .notdef's now to fill things out.
+%
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+
+File: fontname.info, Node: texnansi, Next: texnansx, Prev: texmital, Up: Encodings
+
+B.10 `texnansi.enc'
+===================
+
+From Y&Y.
+
+% @psencodingfile{
+% author = "Y&Y, Inc.",
+% version = "1.1",
+% date = "1 December 1996",
+% filename = "texnansi.enc",
+% email = "help@YandY.com",
+% address = "45 Walden Street // Concord, MA 01742, USA",
+% codetable = "ISO/ASCII",
+% checksum = "xx",
+% docstring = "Encoding for fonts in Adobe Type 1 format for use with TeX."
+% }
+%
+% The idea is to have all 228 characters normally included in Type 1 text
+% fonts (plus a few more) available for typesetting. This is effectively
+% the character set in Adobe Standard Encoding, ISO Latin 1, plus a few more.
+%
+% Character code assignments were made as follows:
+%
+% (1) The character layout largely matches `ASCII' in the 32 -- 126 range,
+% except for `circumflex' in 94 and `tilde' in 126, to match `TeX text'
+% (`asciicircumflex' and `asciitilde' appear in 158 and 142 instead).
+%
+% (2) The character layout matches `Windows ANSI' in almost all places,
+% except for `quoteright' in 39 and `quoteleft' in 96 to match ASCII
+% (`quotesingle' and `grave' appear in 129 and 18 instead).
+%
+% (3) The character layout matches `TeX typewriter' used by CM text fonts
+% in most places (except for discordant positions such as hungarumlaut
+% (instead of braceright), dotaccent (instead of underscore) etc.
+%
+% (4) Remaining characters are assigned arbitrarily to the `control character'
+% range (0 -- 31), avoiding 0, 9, 10 and 13 in case we meet dumb software
+% - similarly one should really avoid 127 and 128 if possible.
+% In addition, the 8 open slots in Windows ANSI between 128 and 159 are used.
+%
+% (5) Y&Y Lucida Bright includes some extra ligatures and such; ff, ffi, ffl,
+% and `dotlessj,' these are included 11 -- 15, and 17.
+%
+% (6) Hyphen appears both at 45 and 173 for compatibility with both ASCII
+% and Windows ANSI.
+%
+% (7) It doesn't really matter where ligatures appear (both real, such as ffi,
+% and pseudo such as ---) since these should not be accessed directly, only
+% via ligature information in the TFM file.
+%
+% SAMPLE USAGE (in `psfonts.map' file for DVIPS):
+%
+% lbr LucidaBright "TeXnANSIEncoding ReEncodeFont" <texnansi.enc <lbr.pfb
+%
+% This tells DVIPS that the font called `lbr' in TeX has PostScript
+% FontName `LucidaBright.' It also asks DVIPS to expand the file `lbr.pfb'
+% into PFA form, to include the attached `texnansi.enc' encoding vector,
+% and to then actually reencode the font based on that encoding vector.
+%
+% Revised 1996 June 1 by adding second position for `fl' to avoid Acrobat bug.
+% Revised 1996 June 1 by adding second position for `fraction' for same reason.
+% Revised 1997 Oct 1 by adding cwm (used in boundary char TFM code)
+% Revised 1998 Mar 1 by adding Unicode for Euro character
+%
+/TeXnANSIEncoding [
+/.notdef % 0
+/Euro % /Uni20AC 1
+/.notdef % 2
+/.notdef % 3
+/fraction % 4
+/dotaccent % 5
+/hungarumlaut % 6
+/ogonek % 7
+/fl % 8
+/.notdef % /fraction % 9 not used (see 4), backward compatability only
+/cwm % 10 not used, except boundary char internally maybe
+/ff % 11
+/fi % 12
+/.notdef % /fl % 13 not used (see 8), backward compatability only
+/ffi % 14
+/ffl % 15
+/dotlessi % 16
+/dotlessj % 17
+/grave % 18
+/acute % 19
+/caron % 20
+/breve % 21
+/macron % 22
+/ring % 23
+/cedilla % 24
+/germandbls % 25
+/ae % 26
+/oe % 27
+/oslash % 28
+/AE % 29
+/OE % 30
+/Oslash % 31
+/space % 32 % /suppress in TeX text
+/exclam % 33
+/quotedbl % 34 % /quotedblright in TeX text
+/numbersign % 35
+/dollar % 36
+/percent % 37
+/ampersand % 38
+/quoteright % 39 % /quotesingle in ANSI
+/parenleft % 40
+/parenright % 41
+/asterisk % 42
+/plus % 43
+/comma % 44
+/hyphen % 45
+/period % 46
+/slash % 47
+/zero % 48
+/one % 49
+/two % 50
+/three % 51
+/four % 52
+/five % 53
+/six % 54
+/seven % 55
+/eight % 56
+/nine % 57
+/colon % 58
+/semicolon % 59
+/less % 60 % /exclamdown in Tex text
+/equal % 61
+/greater % 62 % /questiondown in TeX text
+/question % 63
+/at % 64
+/A % 65
+/B % 66
+/C % 67
+/D % 68
+/E % 69
+/F % 70
+/G % 71
+/H % 72
+/I % 73
+/J % 74
+/K % 75
+/L % 76
+/M % 77
+/N % 78
+/O % 79
+/P % 80
+/Q % 81
+/R % 82
+/S % 83
+/T % 84
+/U % 85
+/V % 86
+/W % 87
+/X % 88
+/Y % 89
+/Z % 90
+/bracketleft % 91
+/backslash % 92 % /quotedblleft in TeX text
+/bracketright % 93
+/circumflex % 94 % /asciicircum in ASCII
+/underscore % 95 % /dotaccent in TeX text
+/quoteleft % 96 % /grave accent in ANSI
+/a % 97
+/b % 98
+/c % 99
+/d % 100
+/e % 101
+/f % 102
+/g % 103
+/h % 104
+/i % 105
+/j % 106
+/k % 107
+/l % 108
+/m % 109
+/n % 110
+/o % 111
+/p % 112
+/q % 113
+/r % 114
+/s % 115
+/t % 116
+/u % 117
+/v % 118
+/w % 119
+/x % 120
+/y % 121
+/z % 122
+/braceleft % 123 % /endash in TeX text
+/bar % 124 % /emdash in TeX test
+/braceright % 125 % /hungarumlaut in TeX text
+/tilde % 126 % /asciitilde in ASCII
+/dieresis % 127 not used (see 168), use higher up instead
+/Lslash % 128 this position is unfortunate, but now too late to fix
+/quotesingle % 129
+/quotesinglbase % 130
+/florin % 131
+/quotedblbase % 132
+/ellipsis % 133
+/dagger % 134
+/daggerdbl % 135
+/circumflex % 136
+/perthousand % 137
+/Scaron % 138
+/guilsinglleft % 139
+/OE % 140
+/Zcaron % 141
+/asciicircum % 142
+/minus % 143
+/lslash % 144
+/quoteleft % 145
+/quoteright % 146
+/quotedblleft % 147
+/quotedblright % 148
+/bullet % 149
+/endash % 150
+/emdash % 151
+/tilde % 152
+/trademark % 153
+/scaron % 154
+/guilsinglright % 155
+/oe % 156
+/zcaron % 157
+/asciitilde % 158
+/Ydieresis % 159
+/nbspace % 160 % /space (no break space)
+/exclamdown % 161
+/cent % 162
+/sterling % 163
+/currency % 164
+/yen % 165
+/brokenbar % 166
+/section % 167
+/dieresis % 168
+/copyright % 169
+/ordfeminine % 170
+/guillemotleft % 171
+/logicalnot % 172
+/sfthyphen % 173 % /hyphen (hanging hyphen)
+/registered % 174
+/macron % 175
+/degree % 176
+/plusminus % 177
+/twosuperior % 178
+/threesuperior % 179
+/acute % 180
+/mu % 181
+/paragraph % 182
+/periodcentered % 183
+/cedilla % 184
+/onesuperior % 185
+/ordmasculine % 186
+/guillemotright % 187
+/onequarter % 188
+/onehalf % 189
+/threequarters % 190
+/questiondown % 191
+/Agrave % 192
+/Aacute % 193
+/Acircumflex % 194
+/Atilde % 195
+/Adieresis % 196
+/Aring % 197
+/AE % 198
+/Ccedilla % 199
+/Egrave % 200
+/Eacute % 201
+/Ecircumflex % 202
+/Edieresis % 203
+/Igrave % 204
+/Iacute % 205
+/Icircumflex % 206
+/Idieresis % 207
+/Eth % 208
+/Ntilde % 209
+/Ograve % 210
+/Oacute % 211
+/Ocircumflex % 212
+/Otilde % 213
+/Odieresis % 214
+/multiply % 215 % OE in T1
+/Oslash % 216
+/Ugrave % 217
+/Uacute % 218
+/Ucircumflex % 219
+/Udieresis % 220
+/Yacute % 221
+/Thorn % 222
+/germandbls % 223
+/agrave % 224
+/aacute % 225
+/acircumflex % 226
+/atilde % 227
+/adieresis % 228
+/aring % 229
+/ae % 230
+/ccedilla % 231
+/egrave % 232
+/eacute % 233
+/ecircumflex % 234
+/edieresis % 235
+/igrave % 236
+/iacute % 237
+/icircumflex % 238
+/idieresis % 239
+/eth % 240
+/ntilde % 241
+/ograve % 242
+/oacute % 243
+/ocircumflex % 244
+/otilde % 245
+/odieresis % 246
+/divide % 247 % oe in T1
+/oslash % 248
+/ugrave % 249
+/uacute % 250
+/ucircumflex % 251
+/udieresis % 252
+/yacute % 253
+/thorn % 254
+/ydieresis % 255 % germandbls in T1
+] def
+
+
+File: fontname.info, Node: texnansx, Next: xl2, Prev: texnansi, Up: Encodings
+
+B.11 `texnansx.enc'
+===================
+
+From Y&Y. `texnansi' without repeats.
+
+% @psencodingfile{
+% author = "Y&Y, Inc.",
+% version = "1.2",
+% date = "1 December 1998",
+% filename = "texnansix.enc",
+% email = "support@YandY.com",
+% address = "45 Walden Street // Concord, MA 01742, USA",
+% codetable = "ISO/ASCII",
+% checksum = "xx",
+% docstring = "Encoding for fonts in Adobe Type 1 format for use with TeX."
+% }
+%
+% MODIFIED FOR AFM2TFM to avoid repeated encodings...
+%
+%
+/TeXnANSIEncoding [
+/.notdef % 0
+/Uni20AC % /Euro 1
+/.notdef % 2
+/.notdef % 3
+/fraction % 4
+/dotaccent % 5
+/hungarumlaut % 6
+/ogonek % 7
+/fl % 8
+/.notdef % /fraction % 9 not used (see 4), backward compatability only
+/cwm % 10 not used, except boundary char internally maybe
+/ff % 11
+/fi % 12
+/.notdef % /fl % 13 not used (see 8), backward compatability only
+/ffi % 14
+/ffl % 15
+/dotlessi % 16
+/dotlessj % 17
+/grave % 18
+/acute % 19
+/caron % 20
+/breve % 21
+/macron % 22
+/ring % 23
+/cedilla % 24
+/germandbls % 25
+/ae % 26
+/oe % 27
+/oslash % 28
+/AE % 29
+/OE % 30
+/Oslash % 31
+/space % 32 % /suppress in TeX text
+/exclam % 33
+/quotedbl % 34 % /quotedblright in TeX text
+/numbersign % 35
+/dollar % 36
+/percent % 37
+/ampersand % 38
+/quoteright % 39 % /quotesingle in ANSI
+/parenleft % 40
+/parenright % 41
+/asterisk % 42
+/plus % 43
+/comma % 44
+/hyphen % 45
+/period % 46
+/slash % 47
+/zero % 48
+/one % 49
+/two % 50
+/three % 51
+/four % 52
+/five % 53
+/six % 54
+/seven % 55
+/eight % 56
+/nine % 57
+/colon % 58
+/semicolon % 59
+/less % 60 % /exclamdown in Tex text
+/equal % 61
+/greater % 62 % /questiondown in TeX text
+/question % 63
+/at % 64
+/A % 65
+/B % 66
+/C % 67
+/D % 68
+/E % 69
+/F % 70
+/G % 71
+/H % 72
+/I % 73
+/J % 74
+/K % 75
+/L % 76
+/M % 77
+/N % 78
+/O % 79
+/P % 80
+/Q % 81
+/R % 82
+/S % 83
+/T % 84
+/U % 85
+/V % 86
+/W % 87
+/X % 88
+/Y % 89
+/Z % 90
+/bracketleft % 91
+/backslash % 92 % /quotedblleft in TeX text
+/bracketright % 93
+/circumflex % 94 % /asciicircum in ASCII
+/underscore % 95 % /dotaccent in TeX text
+/quoteleft % 96 % /grave accent in ANSI
+/a % 97
+/b % 98
+/c % 99
+/d % 100
+/e % 101
+/f % 102
+/g % 103
+/h % 104
+/i % 105
+/j % 106
+/k % 107
+/l % 108
+/m % 109
+/n % 110
+/o % 111
+/p % 112
+/q % 113
+/r % 114
+/s % 115
+/t % 116
+/u % 117
+/v % 118
+/w % 119
+/x % 120
+/y % 121
+/z % 122
+/braceleft % 123 % /endash in TeX text
+/bar % 124 % /emdash in TeX test
+/braceright % 125 % /hungarumlaut in TeX text
+/tilde % 126 % /asciitilde in ASCII
+/dieresis % 127 not used (see 168), use higher up instead
+/Lslash % 128 this position is unfortunate, but now too late to fix
+/quotesingle % 129
+/quotesinglbase % 130
+/florin % 131
+/quotedblbase % 132
+/ellipsis % 133
+/dagger % 134
+/daggerdbl % 135
+/.notdef % /circumflex % 136
+/perthousand % 137
+/Scaron % 138
+/guilsinglleft % 139
+/.notdef % /OE % 140
+/Zcaron % 141
+/asciicircum % 142
+/minus % 143
+/lslash % 144
+/.notdef % /quoteleft % 145
+/.notdef % /quoteright % 146
+/quotedblleft % 147
+/quotedblright % 148
+/bullet % 149
+/endash % 150
+/emdash % 151
+/.notdef % /tilde % 152
+/trademark % 153
+/scaron % 154
+/guilsinglright % 155
+/.notdef % /oe % 156
+/zcaron % 157
+/asciitilde % 158
+/Ydieresis % 159
+/nbspace % 160 % /space (no break space)
+/exclamdown % 161
+/cent % 162
+/sterling % 163
+/currency % 164
+/yen % 165
+/brokenbar % 166
+/section % 167
+/.notdef % /dieresis % 168
+/copyright % 169
+/ordfeminine % 170
+/guillemotleft % 171
+/logicalnot % 172
+/sfthyphen % 173 % /hyphen (hanging hyphen)
+/registered % 174
+/.notdef % /macron % 175
+/degree % 176
+/plusminus % 177
+/twosuperior % 178
+/threesuperior % 179
+/.notdef % /acute % 180
+/mu % 181
+/paragraph % 182
+/periodcentered % 183
+/.notdef % /cedilla % 184
+/onesuperior % 185
+/ordmasculine % 186
+/guillemotright % 187
+/onequarter % 188
+/onehalf % 189
+/threequarters % 190
+/questiondown % 191
+/Agrave % 192
+/Aacute % 193
+/Acircumflex % 194
+/Atilde % 195
+/Adieresis % 196
+/Aring % 197
+/.notdef % /AE % 198
+/Ccedilla % 199
+/Egrave % 200
+/Eacute % 201
+/Ecircumflex % 202
+/Edieresis % 203
+/Igrave % 204
+/Iacute % 205
+/Icircumflex % 206
+/Idieresis % 207
+/Eth % 208
+/Ntilde % 209
+/Ograve % 210
+/Oacute % 211
+/Ocircumflex % 212
+/Otilde % 213
+/Odieresis % 214
+/multiply % 215 % OE in T1
+/.notdef % /Oslash % 216
+/Ugrave % 217
+/Uacute % 218
+/Ucircumflex % 219
+/Udieresis % 220
+/Yacute % 221
+/Thorn % 222
+/.notdef % /germandbls % 223
+/agrave % 224
+/aacute % 225
+/acircumflex % 226
+/atilde % 227
+/adieresis % 228
+/aring % 229
+/.notdef % /ae % 230
+/ccedilla % 231
+/egrave % 232
+/eacute % 233
+/ecircumflex % 234
+/edieresis % 235
+/igrave % 236
+/iacute % 237
+/icircumflex % 238
+/idieresis % 239
+/eth % 240
+/ntilde % 241
+/ograve % 242
+/oacute % 243
+/ocircumflex % 244
+/otilde % 245
+/odieresis % 246
+/divide % 247 % oe in T1
+/.notdef % /oslash % 248
+/ugrave % 249
+/uacute % 250
+/ucircumflex % 251
+/udieresis % 252
+/yacute % 253
+/thorn % 254
+/ydieresis % 255 % germandbls in T1
+] def
+
+
+File: fontname.info, Node: xl2, Next: xt2, Prev: texnansx, Up: Encodings
+
+B.12 `xl2.enc': OT1 + ISO Latin 2 extended
+==========================================
+
+% @psencodingfile{
+% author = "Petr Olsak, Zdenek Wagner",
+% date = "27aug05",
+% filename = "xl2.enc",
+% license = "public domain",
+% email = "tex-fonts@tug.org",
+% codetable = "ISO/ASCII",
+% docstring = "
+% some of our (CSTUG- czech TeX Users Group) users want to support
+% 8bit font coding such that:
+% -- lower 7bit is exactly OT1 (but with differences imposed
+% by DEK -- e.g. layout of cmr is different from cmtt)
+% -- upper part is taken from ISO-Latin 2 (iso 8859-2),
+% but some of empty positions are filled with useful characters
+% usually available in type-1 font (permill sign etc.)
+% "
+% }
+%
+% 27aug05 - record Petr Olsak and Zdenek Wagner as the authors.
+% 12jun05 - remove Texinfo @'s from LIGKERN's.
+%
+/XL2encoding [
+%%%%% '000 = "00
+ /Gamma
+ /Delta
+ /Theta
+ /Lambda
+ /Xi
+ /Pi
+ /Sigma
+ /Upsilon
+%%%%% '010 = "08
+ /Phi
+ /Psi
+ /Omega
+ /ff
+ /fi
+ /fl
+ /ffi
+ /ffl
+%%%%% '020 = "10
+ /dotlessi
+ /dotlessj
+ /grave
+ /acute
+ /caron
+ /breve
+ /macron
+ /ring
+%%%%% '030 = "18
+ /cedilla
+ /germandbls
+ /ae
+ /oe
+ /oslash
+ /AE
+ /OE
+ /Oslash
+%%%%% '040 = "20
+ /.notdef
+ /exclam
+ /quotedblright
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
+%%%%% '050 = "28
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
+%%%%% '060 = "30
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
+%%%%% '070 = "38
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /exclamdown
+ /equal
+ /questiondown
+ /question
+%%%%% '100 = "40
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
+%%%%% '110 = "48
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
+%%%%% '120 = "50
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
+%%%%% '130 = "58
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /quotedblleft
+ /bracketright
+ /circumflex
+ /dotaccent
+%%%%% '140 = "60
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
+%%%%% '150 = "68
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
+%%%%% '160 = "70
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
+%%%%% '170 = "78
+ /x
+ /y
+ /z
+ /endash
+ /emdash
+ /hungarumlaut
+ /tilde
+ /dieresis
+%%%%% '200 = "80
+ /ellipsis
+ /dagger
+ /daggerdbl
+ /bullet
+ /sterling
+ /paragraph
+ /.notdef
+ /.notdef
+%%%%% '210 = "88
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /perthousand
+ /.notdef
+ /.notdef
+%%%%% '220 = "90
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+%%%%% '230 = "98
+ /Agrave
+ /.notdef
+ /.notdef
+ /.notdef
+ /hyphen
+ /ogonek
+ /guillemotleft
+ /guillemotright
+%%%%% '240 = "A0
+ /.notdef
+ /Aogonek
+ /breve
+ /Lslash
+ /currency
+ /Lcaron
+ /Sacute
+ /section
+%%%%% '250 = "A8
+ /dieresis
+ /Scaron
+ /Scedilla
+ /Tcaron
+ /Zacute
+ /.notdef
+ /Zcaron
+ /Zdotaccent
+%%%%% '260 = "B0
+ /ring
+ /aogonek
+ /cedilla
+ /lslash
+ /acute
+ /lcaron
+ /sacute
+ /caron
+%%%%% '270 = "B8
+ /agrave
+ /scaron
+ /scedilla
+ /tcaron
+ /zacute
+ /hungarumlaut
+ /zcaron
+ /zdotaccent
+%%%%% '300 = "C0
+ /Racute
+ /Aacute
+ /Acircumflex
+ /Abreve
+ /Adieresis
+ /Lacute
+ /Cacute
+ /Ccedilla
+%%%%% '310 = "C8
+ /Ccaron
+ /Eacute
+ /Eogonek
+ /Edieresis
+ /Ecaron
+ /Iacute
+ /Icircumflex
+ /Dcaron
+%%%%% '320 = "D0
+ /Eth
+ /Nacute
+ /Ncaron
+ /Oacute
+ /Ocircumflex
+ /Ohungarumlaut
+ /Odieresis
+ /multiply
+%%%%% '330 = "D8
+ /Rcaron
+ /Uring
+ /Uacute
+ /Uhungarumlaut
+ /Udieresis
+ /Yacute
+ /Togonek
+ /germandbls
+%%%%% '340 = "E0
+ /racute
+ /aacute
+ /acircumflex
+ /abreve
+ /adieresis
+ /lacute
+ /cacute
+ /ccedilla
+%%%%% '350 = "E8
+ /ccaron
+ /eacute
+ /eogonek
+ /edieresis
+ /ecaron
+ /iacute
+ /icircumflex
+ /dcaron
+%%%%% '360 = "F0
+ /eth
+ /nacute
+ /ncaron
+ /oacute
+ /ocircumflex
+ /ohungarumlaut
+ /odieresis
+ /divide
+%%%%% '370 = "F8
+ /rcaron
+ /uring
+ /uacute
+ /uhungarumlaut
+ /udieresis
+ /yacute
+ /quotedblbase
+ /quotedblleft
+] def
+
+% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN exclamdown exclamdown =: guillemotleft ;
+% frenchdblquotes
+% LIGKERN questiondown questiondown =: guillemotright ;
+% csquoteleft
+% LIGKERN comma comma =: quotedblbase ;
+% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+% LIGKERN question {} quoteleft ; exclam {} quoteleft ;
+
+
+File: fontname.info, Node: xt2, Prev: xl2, Up: Encodings
+
+B.13 `xt2.enc': typewriter OT1 + ISO Latin 2 extended
+=====================================================
+
+% @psencodingfile{
+% author = "Petr Olsak, Zdenek Wagner",
+% date = "27aug05",
+% filename = "xt2.enc",
+% license = "public domain",
+% email = "tex-fonts@tug.org",
+% codetable = "ISO/ASCII",
+% docstring = "This is the typewriter version of xl2."
+% }
+%
+% 27aug05 - record Petr Olsak and Zdenek Wagner as the authors.
+% 12jun05 - remove Texinfo @'s from LIGKERN's.
+%
+/XT2encoding [
+%%%%% '000 = "00
+ /Gamma
+ /Delta
+ /Theta
+ /Lambda
+ /Xi
+ /Pi
+ /Sigma
+ /Upsilon
+%%%%% '010 = "08
+ /Phi
+ /Psi
+ /Omega
+ /arrowup
+ /arrowdown
+ /quotesingle
+ /exclamdown
+ /questiondown
+%%%%% '020 = "10
+ /dotlessi
+ /dotlessj
+ /grave
+ /acute
+ /caron
+ /breve
+ /macron
+ /ring
+%%%%% '030 = "18
+ /cedilla
+ /germandbls
+ /ae
+ /oe
+ /oslash
+ /AE
+ /OE
+ /Oslash
+%%%%% '040 = "20
+ /.notdef
+ /exclam
+ /quotedblright
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
+%%%%% '050 = "28
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
+%%%%% '060 = "30
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
+%%%%% '070 = "38
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /less
+ /equal
+ /greater
+ /question
+%%%%% '100 = "40
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
+%%%%% '110 = "48
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
+%%%%% '120 = "50
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
+%%%%% '130 = "58
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /backslash
+ /bracketright
+ /circumflex
+ /underscore
+%%%%% '140 = "60
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
+%%%%% '150 = "68
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
+%%%%% '160 = "70
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
+%%%%% '170 = "78
+ /x
+ /y
+ /z
+ /braceleft
+ /bar
+ /braceright
+ /tilde
+ /dieresis
+%%%%% '200 = "80
+ /ellipsis
+ /dagger
+ /daggerdbl
+ /bullet
+ /sterling
+ /paragraph
+ /.notdef
+ /.notdef
+%%%%% '210 = "88
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /perthousand
+ /.notdef
+ /.notdef
+%%%%% '220 = "90
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+%%%%% '230 = "98
+ /Agrave
+ /.notdef
+ /.notdef
+ /.notdef
+ /hyphen
+ /ogonek
+ /guillemotleft
+ /guillemotright
+%%%%% '240 = "A0
+ /.notdef
+ /Aogonek
+ /breve
+ /Lslash
+ /currency
+ /Lcaron
+ /Sacute
+ /section
+%%%%% '250 = "A8
+ /dieresis
+ /Scaron
+ /Scedilla
+ /Tcaron
+ /Zacute
+ /.notdef
+ /Zcaron
+ /Zdotaccent
+%%%%% '260 = "B0
+ /ring
+ /aogonek
+ /cedilla
+ /lslash
+ /acute
+ /lcaron
+ /sacute
+ /caron
+%%%%% '270 = "B8
+ /agrave
+ /scaron
+ /scedilla
+ /tcaron
+ /zacute
+ /hungarumlaut
+ /zcaron
+ /zdotaccent
+%%%%% '300 = "C0
+ /Racute
+ /Aacute
+ /Acircumflex
+ /Abreve
+ /Adieresis
+ /Lacute
+ /Cacute
+ /Ccedilla
+%%%%% '310 = "C8
+ /Ccaron
+ /Eacute
+ /Eogonek
+ /Edieresis
+ /Ecaron
+ /Iacute
+ /Icircumflex
+ /Dcaron
+%%%%% '320 = "D0
+ /Eth
+ /Nacute
+ /Ncaron
+ /Oacute
+ /Ocircumflex
+ /Ohungarumlaut
+ /Odieresis
+ /multiply
+%%%%% '330 = "D8
+ /Rcaron
+ /Uring
+ /Uacute
+ /Uhungarumlaut
+ /Udieresis
+ /Yacute
+ /Togonek
+ /germandbls
+%%%%% '340 = "E0
+ /racute
+ /aacute
+ /acircumflex
+ /abreve
+ /adieresis
+ /lacute
+ /cacute
+ /ccedilla
+%%%%% '350 = "E8
+ /ccaron
+ /eacute
+ /eogonek
+ /edieresis
+ /ecaron
+ /iacute
+ /icircumflex
+ /dcaron
+%%%%% '360 = "F0
+ /eth
+ /nacute
+ /ncaron
+ /oacute
+ /ocircumflex
+ /ohungarumlaut
+ /odieresis
+ /divide
+%%%%% '370 = "F8
+ /rcaron
+ /uring
+ /uacute
+ /uhungarumlaut
+ /udieresis
+ /yacute
+ /quotedblbase
+ /quotedblleft
+] def
+
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN exclamdown exclamdown =: guillemotleft ;
+% frenchdblquotes
+% LIGKERN questiondown questiondown =: guillemotright ;
+% csquoteleft
+% LIGKERN comma comma =: quotedblbase ;
+% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+% LIGKERN question {} quoteleft ; exclam {} quoteleft ;
+% LIGKERN f {} f ; f {} i ; f {} l ;
+
+
+File: fontname.info, Node: Font legalities, Next: General index, Prev: Encodings, Up: Top
+
+Appendix C Font legalities
+**************************
+
+This section owes a great deal to Charles Bigelow (co-designer with Kris
+Holmes of the Lucida typeface family, among others), who has generously
+answered our many queries about fonts and the law around the world with
+remarkable patience and understanding. (But he is naturally not
+responsible for any errors here, much less our opinions.)
+
+ Fonts have always been treated rather strangely under the law, as
+befits their rather strange nature: letterforms are indivisibly both
+_useful_ and _artistic_. In most countries--in all countries until
+recently--utility has taken precedence; i.e., it has been legal to copy
+fonts without permission or fee.
+
+ In any case, to the best of my knowledge, the situation in those
+countries which have adopted any sort of typeface protection is as
+follows. This was originally written in the early 1990's; these days,
+the situation is probably different, due to widespread adoption of
+software patents, among other things, but I lack specific information
+to include.
+
+United States
+ Typeface designs can be patented, but not copyrighted. Only a few
+ designs have been patented. (Lucida and Stone are the only ones I
+ know of. I don't know what the grounds were for patenting Stone,
+ but Lucida had some novel features in its design which make it
+ reasonable to patent, given the acceptance of the patent system in
+ the first place.)
+
+ Particular programs which instantiate a font can be copyrighted
+ just as any other computer program can. This is arguably wrong,
+ since font programs are nothing but a description of the shapes,
+ possibly with some simple hints, and there's only one basic way to
+ describe the shapes in any given language. Thus, the creativity
+ lies in making the shape right, not in making the computer program
+ right, so it would seem that to be consistent, the copyright laws
+ should protect the design, not the program--the opposite of the
+ current situation.
+
+Germany
+ Typeface designs have been copyrightable as original works of art
+ since 1981. As a result, many (perhaps most) designs have been
+ copyrighted there. The law is not retroactive, but German courts
+ have upheld the intellectual property rights of designers of
+ earlier fonts as well: In one case the heirs of Paul Renner
+ (designer of Futura) won a suit against the Bauer foundry for
+ arbitrarily discontinuing a portion of their royalties.
+
+England
+ A copyright law passed in 1989 covers typeface designs first
+ published in England (or published in Britain within 30 days of
+ its publication elsewhere), and it _is_ retroactive. It's unclear
+ how far back the law extends, but Times Roman, designed in the
+ late 1920's and 1930's by Stanley Morison is probably covered.
+ This does not mean GNU (for example) cannot have a Times Roman; it
+ just means we cannot start with an English version, as the law
+ does not forbid importing foreign versions of English typefaces.
+
+France
+ The Romain du Roi typeface designed by Philippe Grandjean in 1702
+ for the French royal family is protected, and perhaps other such
+ "royal" designs. There is no protection for designs in general.
+
+
+ In 1973 the international Vienna treaty on typeface design protection
+was proposed. France ratified it in 1974 or 1975, and Germany in 1981.
+The English law might constitute ratification, but this has not been
+settled. In any case, since at least four countries have to ratify it
+before it takes effect (and even then it takes effect only in those
+countries which ratify it), it is still of no consequence for now.
+
+
+File: fontname.info, Node: General index, Prev: Font legalities, Up: Top
+
+General index
+*************
+
+
+* Menu:
+
+* 35 standard PostScript fonts: Standard PostScript fonts.
+ (line 6)
+* 7-bit encodings: Variants. (line 44)
+* 8-bit encodings: Variants. (line 44)
+* 8a.enc: 8a. (line 6)
+* 8r.enc: 8r. (line 6)
+* 9s variant: Variants. (line 44)
+* Adobe standard encoding: 8a. (line 6)
+* adobe.map: Adobe fonts. (line 6)
+* Afm2tfm encoding: Variants. (line 67)
+* apple.map: Apple fonts. (line 6)
+* attribution of fonts, missing: Suppliers. (line 19)
+* automatic expansion: Widths. (line 13)
+* Avant Garde: Suppliers. (line 9)
+* base encoding, for TeX: 8r. (line 6)
+* Beebe, Nelson: History. (line 30)
+* Beeton, Barbara: History. (line 30)
+* Bernstein, Rocky: History. (line 30)
+* Bigelow, Charles: Font legalities. (line 6)
+* bitstrea.map: Bitstream fonts. (line 6)
+* bizarre font names: Suppliers. (line 31)
+* Bouche, Thierry: History. (line 30)
+* bright variant: Variants. (line 28)
+* bugs, reporting: Introduction. (line 12)
+* category codes: Long naming scheme. (line 34)
+* CD-ROM distribution: Filenames for fonts. (line 6)
+* character scaling, automatic: Widths. (line 13)
+* compression: Widths. (line 6)
+* contributors: History. (line 30)
+* copyright on fonts: Font legalities. (line 6)
+* Cork encoding: cork. (line 6)
+* cork.enc: cork. (line 6)
+* Cugley, Damian: History. (line 30)
+* Cyrillic encodings: Variants. (line 44)
+* Cyrillic fonts: Variants. (line 86)
+* design size specification: Filenames for fonts. (line 40)
+* distribution: Introduction. (line 16)
+* DOS filesystems: Filenames for fonts. (line 6)
+* dtc.map: DTC fonts. (line 6)
+* Dviljk translator: References. (line 31)
+* Dvips encoding: dvips. (line 6)
+* Dvips translator: References. (line 24)
+* dvips.enc: dvips. (line 6)
+* EC encoding: cork. (line 6)
+* eight-character limitation: Filenames for fonts. (line 6)
+* encoding files: Introduction. (line 16)
+* encoding vectors: Encodings. (line 6)
+* encoding, Dvips: dvips. (line 6)
+* encoding, T5: t5. (line 6)
+* encodings, Adobe standard: 8a. (line 6)
+* encodings, Cork: cork. (line 6)
+* encodings, EC: cork. (line 6)
+* encodings, qx: qx. (line 6)
+* encodings, TeX base: 8r. (line 6)
+* encodings, TeX Latin 1: cork. (line 6)
+* encodings, TeX math italic: texmital. (line 6)
+* encodings, TeX math symbol <1>: texmsym. (line 6)
+* encodings, TeX math symbol: texmext. (line 6)
+* encodings, texnansi: texnansi. (line 6)
+* encodings, texnansx: texnansx. (line 6)
+* encodings, unspecified: Variants. (line 67)
+* England, font design protection law: Font legalities. (line 52)
+* Ertner, Vincent: URW fonts. (line 6)
+* escape for nonstandard names: Suppliers. (line 31)
+* expansion: Widths. (line 6)
+* expert encoding: Variants. (line 127)
+* expertised encodings: Variants. (line 44)
+* expertised font: Variants. (line 127)
+* extension, TeX math encoding: texmext. (line 6)
+* fax variant: Variants. (line 28)
+* filenames, basics: Filenames for fonts. (line 11)
+* font copyrighting: Font legalities. (line 6)
+* font scaling: Filenames for fonts. (line 40)
+* font_coding_scheme: Long naming scheme. (line 30)
+* Fontinst distribution: References. (line 20)
+* FontName: Typefaces. (line 49)
+* fontname mapping file: Name mapping file. (line 6)
+* Fontname version 2: History. (line 14)
+* foundries: Suppliers. (line 6)
+* France, font design protection law: Font legalities. (line 62)
+* Futura: Font legalities. (line 43)
+* Garamond, versions of: Typefaces. (line 16)
+* Germany, font design protection law: Font legalities. (line 43)
+* Grandjean, Philippe: Font legalities. (line 62)
+* Greek fonts: Variants. (line 86)
+* hexadecimal design size: Filenames for fonts. (line 40)
+* history: History. (line 6)
+* Holmes, Kris: Font legalities. (line 6)
+* Horn, Berthol: History. (line 30)
+* individual font designers: Suppliers. (line 19)
+* informal variant: Variants. (line 102)
+* introduction: Introduction. (line 6)
+* ISO 9660: Filenames for fonts. (line 6)
+* ISO Latin 2 extended and typewriter, TeX encoding: xt2. (line 6)
+* ISO Latin 2 extended, TeX encoding: xl2. (line 6)
+* italic, TeX math encoding: texmital. (line 6)
+* itc.map: ITC fonts. (line 6)
+* Jeffrey, Alan: History. (line 30)
+* Knuth, Donald E.: Name mapping file. (line 28)
+* Lang, Russell: History. (line 30)
+* LaserJet 4 fonts: Variants. (line 67)
+* legalisms: Font legalities. (line 6)
+* letterspacing: Variants. (line 17)
+* ligatures and encodings: Variants. (line 53)
+* limitations: Filenames for fonts. (line 6)
+* linotype.map: Linotype fonts. (line 6)
+* long names: Long names. (line 6)
+* long naming scheme: Long naming scheme. (line 6)
+* lslash: Variants. (line 53)
+* Lslash: Variants. (line 53)
+* Lubalin, Herb: Suppliers. (line 9)
+* Lucida Bright: 8r. (line 6)
+* Lucida, protection of: Font legalities. (line 25)
+* MacKay, Pierre: History. (line 30)
+* mapping file: Name mapping file. (line 6)
+* mapping files: Introduction. (line 16)
+* math extension, TeX encoding: texmext. (line 6)
+* math italic, TeX encoding: texmital. (line 6)
+* math symbol, TeX encoding: texmsym. (line 6)
+* math variants: Variants. (line 96)
+* Mittelbach, Frank <1>: Variants. (line 117)
+* Mittelbach, Frank <2>: Filenames for fonts. (line 40)
+* Mittelbach, Frank: History. (line 6)
+* modes.mf: References. (line 14)
+* monotype.map: Monotype fonts. (line 6)
+* Morison, Stanley: Font legalities. (line 52)
+* multiple variants: Variants. (line 9)
+* nonstandard names, escape for: Suppliers. (line 31)
+* patenting of fonts: Font legalities. (line 6)
+* phonetic encodings: Variants. (line 44)
+* pi fonts: Typefaces. (line 42)
+* PostScript encoding vectors: Encodings. (line 6)
+* PostScript fonts, standard: Standard PostScript fonts.
+ (line 6)
+* PSfonts distribution: References. (line 17)
+* qx encoding: qx. (line 6)
+* qx.enc: qx. (line 6)
+* Rahtz, Sebastian: History. (line 30)
+* raw fonts: Suppliers. (line 25)
+* references: References. (line 6)
+* related files: References. (line 6)
+* Renner, Paul: Font legalities. (line 43)
+* reporting bugs: Introduction. (line 12)
+* Rivlin, Jean: History. (line 30)
+* Rokicki, Tom: History. (line 30)
+* romain du roi: Font legalities. (line 62)
+* sans variant: Variants. (line 117)
+* Schoepf, Rainer: History. (line 6)
+* schoolbook variant: Variants. (line 102)
+* scripts: Variants. (line 86)
+* semisans variant: Variants. (line 28)
+* semiserif variant: Variants. (line 28)
+* small caps fonts: Variants. (line 17)
+* small foundries: Suppliers. (line 19)
+* Southall, Richard: References. (line 34)
+* standard PostScript fonts: Standard PostScript fonts.
+ (line 6)
+* Stone Informal: Variants. (line 102)
+* Stone, protection of: Font legalities. (line 25)
+* SuperFont: Variants. (line 44)
+* supplier.map: Suppliers. (line 34)
+* suppliers: Suppliers. (line 6)
+* symbol, TeX math encoding: texmsym. (line 6)
+* T1.etx: Variants. (line 53)
+* T5 encoding: t5. (line 6)
+* t5.enc: t5. (line 6)
+* TDS standard: References. (line 8)
+* terminology: References. (line 34)
+* TeX base encoding: 8r. (line 6)
+* TeX Directory Structure standard: References. (line 8)
+* TeX Latin 1 encoding: cork. (line 6)
+* TeX math extension encoding: texmext. (line 6)
+* TeX math italic encoding: texmital. (line 6)
+* TeX math symbol encoding: texmsym. (line 6)
+* tex-fonts@tug.org: Introduction. (line 12)
+* texfonts.map: Name mapping file. (line 13)
+* texmext.enc: texmext. (line 6)
+* texmital.enc: texmital. (line 6)
+* texmsym.enc: texmsym. (line 6)
+* texnansi encoding: texnansi. (line 6)
+* texnansi.enc: texnansi. (line 6)
+* texnansx encoding: texnansx. (line 6)
+* texnansx.enc: texnansx. (line 6)
+* Times Roman, protection of: Font legalities. (line 52)
+* type foundries: Suppliers. (line 6)
+* typeface design protection: Font legalities. (line 6)
+* typeface.map: Typefaces. (line 49)
+* typefaces: Typefaces. (line 6)
+* typewriter variant: Variants. (line 117)
+* unattributed fonts: Suppliers. (line 19)
+* United States, font design protection law: Font legalities. (line 25)
+* URW fonts: URW fonts. (line 6)
+* urw.map: URW fonts. (line 34)
+* utilities: Introduction. (line 16)
+* variant.map: Variants. (line 132)
+* variants: Variants. (line 6)
+* Vienna treaty: Font legalities. (line 68)
+* Vietnamese encoding: t5. (line 6)
+* weight: Weights. (line 6)
+* weight.map: Weights. (line 14)
+* width.map: Widths. (line 22)
+* widths: Widths. (line 6)
+* Windows ANSI: 8r. (line 6)
+* X Window System font names: Long naming scheme. (line 6)
+* xl2.enc: xl2. (line 6)
+* xt2.enc: xt2. (line 6)
+
+
+
+Tag Table:
+Node: Top262
+Node: Introduction2039
+Node: History3106
+Node: References4921
+Node: Filenames for fonts6472
+Node: Suppliers8075
+Node: Typefaces10527
+Node: Weights33366
+Node: Variants34179
+Node: Widths44318
+Node: Long names45678
+Node: Name mapping file46237
+Node: Long naming scheme47815
+Node: Font name lists49571
+Node: Standard PostScript fonts50030
+Node: Adobe fonts51492
+Node: Apple fonts241472
+Node: Bitstream fonts241806
+Node: DTC fonts302570
+Node: ITC fonts303487
+Node: Linotype fonts349127
+Node: Monotype fonts605153
+Node: URW fonts691710
+Node: Encodings694909
+Node: 8a696787
+Node: 8r699286
+Node: cork704277
+Node: dvips708285
+Node: t5712093
+Node: qx720044
+Node: texmext761516
+Node: texmsym765372
+Node: texmital768553
+Node: texnansi771285
+Node: texnansx778364
+Node: xl2783343
+Node: xt2788330
+Node: Font legalities792957
+Node: General index796780
+
+End Tag Table
diff --git a/Master/texmf/doc/info/info-stnd.info b/Master/texmf/doc/info/info-stnd.info
new file mode 100644
index 00000000000..f238b24f13a
--- /dev/null
+++ b/Master/texmf/doc/info/info-stnd.info
@@ -0,0 +1,2620 @@
+This is info-stnd.info, produced by makeinfo version 4.7 from
+info-stnd.texi.
+
+ This manual is for GNU Info (version 4.7, 23 March 2004), a program
+for viewing documents in Info format (usually created from Texinfo
+source files).
+
+ Copyright (C) 1992, 1993, 1996, 1997, 1998, 1999, 2001, 2002, 2003,
+2004 Free Software Foundation, Inc.
+
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation License,
+ Version 1.1 or any later version published by the Free Software
+ Foundation; with no Invariant Sections, with the Front-Cover texts
+ being "A GNU Manual," and with the Back-Cover Texts as in (a)
+ below. A copy of the license is included in the section entitled
+ "GNU Free Documentation License."
+
+ (a) The FSF's Back-Cover Text is: "You have freedom to copy and
+ modify this GNU Manual, like GNU software. Copies published by
+ the Free Software Foundation raise funds for GNU development."
+
+INFO-DIR-SECTION Texinfo documentation system
+START-INFO-DIR-ENTRY
+* info standalone: (info-stnd). Read Info documents without Emacs.
+* infokey: (info-stnd)Invoking infokey. Compile Info customizations.
+END-INFO-DIR-ENTRY
+
+
+File: info-stnd.info, Node: Top, Next: What is Info, Up: (dir)
+
+GNU Info
+********
+
+This manual is for GNU Info (version 4.7, 23 March 2004), a program for
+viewing documents in Info format (usually created from Texinfo source
+files).
+
+ Copyright (C) 1992, 1993, 1996, 1997, 1998, 1999, 2001, 2002, 2003,
+2004 Free Software Foundation, Inc.
+
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation License,
+ Version 1.1 or any later version published by the Free Software
+ Foundation; with no Invariant Sections, with the Front-Cover texts
+ being "A GNU Manual," and with the Back-Cover Texts as in (a)
+ below. A copy of the license is included in the section entitled
+ "GNU Free Documentation License."
+
+ (a) The FSF's Back-Cover Text is: "You have freedom to copy and
+ modify this GNU Manual, like GNU software. Copies published by
+ the Free Software Foundation raise funds for GNU development."
+
+ This documentation is different from the documentation for the Info
+reader that is part of GNU Emacs. If you do not know how to use Info,
+but have a working Info reader, you should read the Emacs documentation
+first, as it includes more background information and a thorough
+tutorial.
+
+* Menu:
+
+* What is Info:: What is Info?
+* Invoking Info:: Options you can pass on the command line.
+* Cursor Commands:: Commands which move the cursor within a node.
+* Scrolling Commands:: Commands for reading the text within a node.
+* Node Commands:: Commands for selecting a new node.
+* Searching Commands:: Commands for searching an Info file.
+* Xref Commands:: Commands for selecting cross references.
+* Window Commands:: Commands which manipulate multiple windows.
+* Printing Nodes:: How to print out the contents of a node.
+* Miscellaneous Commands:: A few commands that defy categories.
+* Variables:: How to change the default behavior of Info.
+* Custom Key Bindings:: How to define your own key-to-command bindings.
+* Copying This Manual:: The GNU Free Documentation License.
+* Index:: Global index containing keystrokes,
+ command names, variable names,
+ and general concepts.
+
+
+File: info-stnd.info, Node: What is Info, Next: Invoking Info, Prev: Top, Up: Top
+
+1 What is Info?
+***************
+
+"Info" is a program which is used to view Info files on an ASCII
+terminal. "Info files" are the result of processing Texinfo files with
+the program `makeinfo' or with one of the Emacs commands, such as `M-x
+texinfo-format-buffer'. Texinfo itself is a documentation system that
+uses a single source file to produce both on-line information and
+printed output. You can typeset and print the files that you read in
+Info.
+
+
+File: info-stnd.info, Node: Invoking Info, Next: Cursor Commands, Prev: What is Info, Up: Top
+
+2 Invoking Info
+***************
+
+GNU Info accepts several options to control the initial node being
+viewed, and to specify which directories to search for Info files. Here
+is a template showing an invocation of GNU Info from the shell:
+
+ info [OPTION]... [MENU-ITEM...]
+
+ The program accepts the following options:
+
+`--apropos=STRING'
+ Specify a string to search in every index of every Info file
+ installed on your system. Info looks up the named STRING in all
+ the indices it can find, prints the results to standard output,
+ and then exits. If you are not sure which Info file explains
+ certain issues, this option is your friend. Note that if your
+ system has a lot of Info files installed, searching all of them
+ might take some time.
+
+ You can invoke the apropos command from inside Info; see *Note
+ Searching Commands::.
+
+`--directory DIRECTORY-PATH'
+`-d DIRECTORY-PATH'
+ Prepend DIRECTORY-PATH to the list of directory paths searched
+ when Info needs to find a file. You may issue `--directory'
+ multiple times; once for each directory which contains Info files.
+ The list of directories searched by Info is constructed from the
+ value of the environment variable `INFOPATH'; `--directory' causes
+ the named DIRECTORY-PATH to be prepended to that list. The value
+ of `INFOPATH' is a list of directories usually separated by a
+ colon; on MS-DOS/MS-Windows systems, the semicolon is used. If
+ you do not define `INFOPATH', Info uses a default path defined
+ when Info was built as the initial list of directories. If the
+ value of `INFOPATH' ends with a colon (or semicolon on
+ MS-DOS/MS-Windows), the initial list of directories is constructed
+ by appending the build-time default to the value of `INFOPATH'.
+
+`--dribble=DRIBBLE-FILE'
+ Specify a file where all user keystrokes will be recorded. This
+ file can be used later to replay the same sequence of commands,
+ see the `--restore' option below.
+
+`--file FILENAME'
+`-f FILENAME'
+ Specify a particular Info file to visit. By default, Info visits
+ the file `dir'; if you use this option, Info will start with
+ `(FILENAME)Top' as the first file and node.
+
+ If FILENAME is an absolute file name, or begins with `./' or
+ `../', Info looks for FILENAME only in the directory of the
+ specified FILENAME, and adds the directory of FILENAME to the
+ value of `INFOPATH'. In contrast, if FILENAME is in the form of a
+ relative file name, but without the `./' or `../' prefix, Info
+ will only look for it in the directories specified in `INFOPATH'.
+ In other words, Info does _not_ treat file names which lack `./'
+ and `../' prefix as relative to the current directory.
+
+ In every directory Info tries, if FILENAME is not found, Info
+ looks for it with a number of known extensions of Info files(1).
+ For every known extension, Info looks for a compressed file, if a
+ regular file isn't found. Info supports files compressed with
+ `gzip', `bzip2', `compress' and `yabba' programs; it calls
+ `gunzip', `bunzip2', `uncompress' and `unyabba', accordingly, to
+ decompress such files. Compressed Info files are assumed to have
+ `.z', `.gz', `.bz2', `.Z', or `.Y' extensions, possibly in
+ addition to one of the known Info files extensions(2).
+
+`--help'
+`-h'
+ Produces a relatively brief description of the available Info
+ options.
+
+`--index-search STRING'
+ After processing all command-line arguments, go to the index in
+ the Info file and search for index entries which match STRING. If
+ such an entry is found, the Info session begins with displaying
+ the node pointed to by the first matching index entry; press `,'
+ to step through the rest of the matching entries. If no such
+ entry exists, print `no entries found' and exit with nonzero
+ status. This can be used from another program as a way to provide
+ online help, or as a quick way of starting to read an Info file at
+ a certain node when you don't know the exact name of that node.
+
+ This command can also be invoked from inside Info; see *Note
+ Searching Commands::.
+
+`--node NODENAME'
+`-n NODENAME'
+ Specify a particular node to visit in the initial file that Info
+ loads. This is especially useful in conjunction with `--file'(3).
+ You may specify `--node' multiple times; for an interactive Info,
+ each NODENAME is visited in its own window, for a non-interactive
+ Info (such as when `--output' is given) each NODENAME is processed
+ sequentially.
+
+`--output FILENAME'
+`-o FILENAME'
+ Specify FILENAME as the name of a file to which to direct output.
+ Each node that Info visits will be output to FILENAME instead of
+ interactively viewed. A value of `-' for FILENAME specifies the
+ standard output.
+
+`--raw-escapes'
+`--no-raw-escapes'
+`-R'
+ Do not remove ANSI escape sequences from documents. Some versions
+ of Groff, the GNU document formatter, produce man pages with ANSI
+ escape sequences for bold, italics, and underlined characters, and
+ for colorized text. By default, Info lets those escape sequences
+ pass through directly to the terminal. If your terminal does not
+ support these escapes, use `--no-raw-escapes' to make Info remove
+ them.
+
+`--restore=DRIBBLE-FILE'
+ Read keystrokes from DRIBBLE-FILE, presumably recorded during
+ previous Info session (see the description of the `--dribble'
+ option above). When the keystrokes in the files are all read, Info
+ reverts its input to the usual interactive operation.
+
+`--show-options'
+`--usage'
+`-O'
+ This option causes Info to look for the node that describes how to
+ invoke the program and its command-line options, and begin the
+ session by displaying that node. It is provided to make it easier
+ to find the most important usage information in a manual without
+ the need to wade through complex menu hierarchies. The effect is
+ similar to the `M-x goto-invocation' command (*note
+ goto-invocation::) from inside Info.
+
+`--speech-friendly'
+`-b'
+ On MS-DOS/MS-Windows only, this option causes Info to use standard
+ file I/O functions for screen writes. (By default, Info uses
+ direct writes to the video memory on these systems, for faster
+ operation and colored display support.) This allows the speech
+ synthesizers used by blind persons to catch the output and convert
+ it to audible speech.
+
+`--subnodes'
+ This option only has meaning when given in conjunction with
+ `--output'. It means to recursively output the nodes appearing in
+ the menus of each node being output. Menu items which resolve to
+ external Info files are not output, and neither are menu items
+ which are members of an index. Each node is only output once.
+
+`--version'
+ Prints the version information of Info and exits.
+
+`--vi-keys'
+ This option binds functions to keys differently, to emulate the key
+ bindings of `vi' and Less. The default key bindings are generally
+ modeled after Emacs. (*Note Custom Key Bindings::, for a more
+ general way of altering GNU Info's key bindings.)
+
+`--where'
+`--location'
+`-w'
+ Show the filename that would be read and exit, instead of actually
+ reading it and starting Info.
+
+`MENU-ITEM'
+ Info treats its remaining arguments as the names of menu items.
+ The first argument is a menu item in the initial node visited
+ (generally `dir'), the second argument is a menu item in the first
+ argument's node, etc. You can easily move to the node of your
+ choice by specifying the menu names which describe the path to
+ that node. For example,
+
+ info emacs buffers
+
+ first selects the menu item `Emacs' in the node `(dir)Top', and
+ then selects the menu item `Buffers' in the node `(emacs)Top'.
+
+ To avoid searching the `dir' files and just show some arbitrary file,
+use `-f' and the filename, as in `info -f ./foo.info'.
+
+ The index search and the search for the node which describes program
+invocation and command-line options begins _after_ processing all the
+command-line menu items. Therefore, the Info file searched for the
+index or the invocation node is the file where Info finds itself after
+following all the menu items given on the command line. This is so
+`info emacs --show-options' does what you'd expect.
+
+ ---------- Footnotes ----------
+
+ (1) `.info', `-info', `/index', and `.inf'.
+
+ (2) The MS-DOS version allows for the Info extension, such as `.inf',
+and the short compressed file extensions, such as `.z' and `.gz', to be
+merged into a single extension, since DOS doesn't allow more than a
+single dot in the basename of a file. Thus, on MS-DOS, if Info looks
+for `bison', file names like `bison.igz' and `bison.inz' will be found
+and decompressed by `gunzip'.
+
+ (3) Of course, you can specify both the file and node in a `--node'
+command; but don't forget to escape the open and close parentheses and
+whitespace from the shell as in: `info --node "(emacs)Buffers"'.
+
+
+File: info-stnd.info, Node: Cursor Commands, Next: Scrolling Commands, Prev: Invoking Info, Up: Top
+
+3 Moving the Cursor
+*******************
+
+Many people find that reading screens of text page by page is made
+easier when one is able to indicate particular pieces of text with some
+kind of pointing device. Since this is the case, GNU Info (both the
+Emacs and standalone versions) have several commands which allow you to
+move the cursor about the screen. The notation used in this manual to
+describe keystrokes is identical to the notation used within the Emacs
+manual, and the GNU Readline manual. *Note User Input: (emacs)User
+Input, if you are unfamiliar with the notation.(1)
+
+ The following table lists the basic cursor movement commands in Info.
+Each entry consists of the key sequence you should type to execute the
+cursor movement, the `M-x'(2) command name (displayed in parentheses),
+and a short description of what the command does. All of the cursor
+motion commands can take a "numeric" argument (see *Note
+`universal-argument': Miscellaneous Commands. With a numeric argument,
+the motion commands are simply executed that many times; for example, a
+numeric argument of 4 given to `next-line' causes the cursor to move
+down 4 lines. With a negative numeric argument, the motion is
+reversed; an argument of -4 given to the `next-line' command would
+cause the cursor to move _up_ 4 lines.
+
+<C-n> (`next-line')
+<DOWN> (an arrow key)
+ Move the cursor down to the next line.
+
+<C-p> (`prev-line')
+<UP> (an arrow key)
+ Move the cursor up to the previous line.
+
+<C-a> (`beginning-of-line')
+<Home> (on DOS/Windows only)
+ Move the cursor to the start of the current line.
+
+<C-e> (`end-of-line')
+<End> (on DOS/Windows only)
+ Move the cursor to the end of the current line.
+
+<C-f> (`forward-char')
+<RIGHT> (an arrow key)
+ Move the cursor forward a character.
+
+<C-b> (`backward-char')
+<LEFT> (an arrow key)
+ Move the cursor backward a character.
+
+<M-f> (`forward-word')
+`C-<RIGHT>' (on DOS/Windows only)
+ Move the cursor forward a word.
+
+<M-b> (`backward-word')
+`C-<LEFT>' (on DOS/Windows only)
+ Move the cursor backward a word.
+
+<M-<> (`beginning-of-node')
+<C-<Home>> (on DOS/Windows only)
+<b>
+<M-b>, vi-like operation
+ Move the cursor to the start of the current node.
+
+<M->> (`end-of-node')
+<C-<End>> (on DOS/Windows only)
+<e>
+ Move the cursor to the end of the current node.
+
+<M-r> (`move-to-window-line')
+ Move the cursor to a specific line of the window. Without a
+ numeric argument, `M-r' moves the cursor to the start of the line
+ in the center of the window. With a numeric argument of N, `M-r'
+ moves the cursor to the start of the Nth line in the window.
+
+ ---------- Footnotes ----------
+
+ (1) Here's a short summary. `C-X' means press the `CTRL' key and the
+key X. `M-X' means press the `META' key and the key X. On many
+terminals th `META' key is known as the `ALT' key. `SPC' is the space
+bar. The other keys are usually called by the names imprinted on them.
+
+ (2) `M-x' is also a command; it invokes `execute-extended-command'.
+*Note Executing an extended command: (emacs)M-x, for more detailed
+information.
+
+
+File: info-stnd.info, Node: Scrolling Commands, Next: Node Commands, Prev: Cursor Commands, Up: Top
+
+4 Moving Text Within a Window
+*****************************
+
+Sometimes you are looking at a screenful of text, and only part of the
+current paragraph you are reading is visible on the screen. The
+commands detailed in this section are used to shift which part of the
+current node is visible on the screen.
+
+ Scrolling commands are bound differently when `--vi-keys' operation
+is in effect (*note --vi-keys::). These key bindings are designated
+with "vi-like operation".
+
+<SPC> (`scroll-forward')
+ Shift the text in this window up. That is, show more of the node
+ which is currently below the bottom of the window. With a numeric
+ argument, show that many more lines at the bottom of the window; a
+ numeric argument of 4 would shift all of the text in the window up
+ 4 lines (discarding the top 4 lines), and show you four new lines
+ at the bottom of the window. Without a numeric argument, <SPC>
+ takes the bottom two lines of the window and places them at the
+ top of the window, redisplaying almost a completely new screenful
+ of lines. If you are at the end of a node, <SPC> takes you to the
+ "next" node, so that you can read an entire manual from start to
+ finish by repeating <SPC>.
+
+ The default scroll size is one screen-full, but it can be changed
+ by invoking the (`scroll-forward-page-only-set-window') command,
+ `z' under `--vi-keys', with a numeric argument.
+
+<NEXT> (an arrow key) (`scroll-forward-page-only')
+<C-v>
+<C-f>, vi-like operation
+<f>, vi-like operation
+<M-SPC>, vi-like operation
+ Shift the text in this window up. This is identical to the <SPC>
+ operation above, except that it never scrolls beyond the end of the
+ current node.
+
+ The <NEXT> key is known as the <PageDown> key on some keyboards.
+
+<z> (`scroll-forward-page-only-set-window', vi-like operation)
+ Scroll forward, like with <NEXT>, but if a numeric argument is
+ specified, it becomes the default scroll size for subsequent
+ `scroll-forward' and `scroll-backward' commands and their ilk.
+
+<DEL> (`scroll-backward')
+ Shift the text in this window down. The inverse of
+ `scroll-forward'. If you are at the start of a node, <DEL> takes
+ you to the "previous" node, so that you can read an entire manual
+ from finish to start by repeating <DEL>. The default scroll size
+ can be changed by invoking the
+ (`scroll-backward-page-only-set-window') command, `w' under
+ `--vi-keys', with a numeric argument.
+
+<PREVIOUS> (arrow key) (`scroll-backward-page-only')
+<PRIOR> (arrow key)
+<M-v>
+<b>, vi-like operation
+<C-b>, vi-like operation
+ Shift the text in this window down. The inverse of
+ `scroll-forward-page-only'. Does not scroll beyond the start of
+ the current node. The default scroll size can be changed by
+ invoking the(`scroll-backward-page-only-set-window') command, `w'
+ under `--vi-keys', with a numeric argument.
+
+<w> (`scroll-backward-page-only-set-window', vi-like operation)
+ Scroll backward, like with <PREVIOUS>, but if a numeric argument is
+ specified, it becomes the default scroll size for subsequent
+ `scroll-forward' and `scroll-backward' commands.
+
+<C-n> (`down-line', vi-like operation)
+<C-e>, vi-like operation
+<RET>, vi-like operation
+<LFD>, vi-like operation
+<DOWN>, vi-like operation
+ Scroll forward by one line. With a numeric argument, scroll
+ forward that many lines.
+
+<C-p> (`up-line', vi-like operation)
+<UP>, vi-like operation
+<y>, vi-like operation
+<k>, vi-like operation
+<C-k>, vi-like operation
+<C-y>, vi-like operation
+ Scroll backward one line. With a numeric argument, scroll
+ backward that many lines.
+
+<d> (`scroll-half-screen-down', vi-like operation)
+<C-d>, vi-like operation
+ Scroll forward by half of the screen size. With a numeric
+ argument, scroll that many lines. If an argument is specified, it
+ becomes the new default number of lines to scroll for subsequent
+ `d' and `u' commands.
+
+<u> (`scroll-half-screen-up', vi-like operation)
+<C-u>, vi-like operation
+ Scroll back by half of the screen size. With a numeric argument,
+ scroll that many lines. If an argument is specified, it becomes
+ the new default number of lines to scroll for subsequent `u' and
+ `d' commands.
+
+ The `scroll-forward' and `scroll-backward' commands can also move
+forward and backward through the node structure of the file. If you
+press <SPC> while viewing the end of a node, or <DEL> while viewing the
+beginning of a node, what happens is controlled by the variable
+`scroll-behavior'. *Note `scroll-behavior': Variables, for more
+information.
+
+ The `scroll-forward-page-only' and `scroll-backward-page-only'
+commands never scroll beyond the current node.
+
+ The <PREVIOUS> key is the <PageUp> key on many keyboards. Emacs
+refers to it by the name <PRIOR>. When you use <PRIOR> or <PageUp> to
+scroll, Info never scrolls beyond the beginning of the current node.
+
+ If your keyboard lacks the <DEL> key, look for a key called <BS>, or
+`BackSpace', sometimes designated with an arrow which points to the
+left, which should perform the same function.
+
+<C-l> (`redraw-display')
+ Redraw the display from scratch, or shift the line containing the
+ cursor to a specified location. With no numeric argument, `C-l'
+ clears the screen, and then redraws its entire contents. Given a
+ numeric argument of N, the line containing the cursor is shifted
+ so that it is on the Nth line of the window.
+
+`C-x <w>' (`toggle-wrap')
+ Toggles the state of line wrapping in the current window.
+ Normally, lines which are longer than the screen width "wrap",
+ i.e., they are continued on the next line. Lines which wrap have
+ a `\' appearing in the rightmost column of the screen. You can
+ cause such lines to be terminated at the rightmost column by
+ changing the state of line wrapping in the window with `C-x w'.
+ When a line which needs more space than one screen width to
+ display is displayed, a `$' appears in the rightmost column of the
+ screen, and the remainder of the line is invisible. When long
+ lines are truncated, the modeline displays the `$' character near
+ its left edge.
+
+
+File: info-stnd.info, Node: Node Commands, Next: Searching Commands, Prev: Scrolling Commands, Up: Top
+
+5 Selecting a Node
+******************
+
+This section details the numerous Info commands which select a new node
+to view in the current window.
+
+ The most basic node commands are `n', `p', `u', and `l'. Note that
+the commands to select nodes are mapped differently when `--vi-keys' is
+in effect; these keybindings are designated below as "vi-like
+operation".
+
+ When you are viewing a node, the top line of the node contains some
+Info "pointers" which describe where the next, previous, and up nodes
+are. Info uses this line to move about the node structure of the file
+when you use the following commands:
+
+<n> (`next-node')
+`C-<NEXT>' (on DOS/Windows only)
+`C-x <n>', vi-like operation
+ Select the `Next' node.
+
+ The <NEXT> key is known as the <PgDn> key on some keyboards.
+
+<p> (`prev-node')
+`C-<PREVIOUS>' (on DOS/Windows only)
+ Select the `Prev' node.
+
+ The <PREVIOUS> key is known as the <PgUp> key on some keyboards.
+
+<u> (`up-node')
+`C-<UP>' (an arrow key on DOS/Windows only)
+`C-x <u>', vi-like operation
+ Select the `Up' node.
+
+ You can easily select a node that you have already viewed in this
+window by using the `l' command - this name stands for "last", and
+actually moves backwards through the history of visited nodes for this
+window. This is handy when you followed a reference to another node,
+possibly to read about a related issue, and would like then to resume
+reading at the same place where you started the excursion.
+
+ Each node where you press `l' is discarded from the history. Thus,
+by the time you get to the first node you visited in a window, the
+entire history of that window is discarded.
+
+<l> (`history-node')
+<C-<CENTER>> (on DOS/Windows only)
+<'>, vi-like operation
+ Pop the most recently selected node in this window from the node
+ history.
+
+ Two additional commands make it easy to select the most commonly
+selected nodes; they are `t' and `d'.
+
+<t> (`top-node')
+<M-t>, vi-like operation
+ Select the node `Top' in the current Info file.
+
+<d> (`dir-node')
+<M-d>, vi-like operation
+ Select the directory node (i.e., the node `(dir)').
+
+ Here are some other commands which immediately result in the selection
+of a different node in the current window:
+
+<<> (`first-node')
+<g>, vi-like operation
+ Selects the first node which appears in this file. This node is
+ most often `Top', but it does not have to be. With a numeric
+ argument N, select the Nth node (the first node is node 1). An
+ argument of zero is the same as the argument of 1.
+
+<>> (`last-node')
+<G>, vi-like operation
+ Select the last node which appears in this file. With a numeric
+ argument N, select the Nth node (the first node is node 1). An
+ argument of zero is the same as no argument, i.e., it selects the
+ last node.
+
+<]> (`global-next-node')
+ Move forward or down through node structure. If the node that you
+ are currently viewing has a `Next' pointer, that node is selected.
+ Otherwise, if this node has a menu, the first menu item is
+ selected. If there is no `Next' and no menu, the same process is
+ tried with the `Up' node of this node.
+
+<[> (`global-prev-node')
+ Move backward or up through node structure. If the node that you
+ are currently viewing has a `Prev' pointer, that node is selected.
+ Otherwise, if the node has an `Up' pointer, that node is selected,
+ and if it has a menu, the last item in the menu is selected.
+
+ You can get the same behavior as `global-next-node' and
+`global-prev-node' while simply scrolling through the file with <SPC>
+and <DEL>; *Note `scroll-behavior': Variables, for more information.
+
+<g> (`goto-node')
+`C-x <g>', vi-like operation
+ Read the name of a node and select it. While reading the node
+ name, completion (*note completion: The Echo Area.) is only done
+ for the nodes which reside in one of the Info files that were
+ loaded in the current Info session; if the desired node resides in
+ some other file, you must type the node exactly as it appears in
+ that Info file, and you must include the Info file of the other
+ file. For example,
+
+ `g(emacs)Buffers'
+
+ finds the node `Buffers' in the Info file `emacs'.
+
+<O> (`goto-invocation'
+<I>
+ Read the name of a program and look for a node in the current Info
+ file which describes the invocation and the command-line options
+ for that program. The default program name is derived from the
+ name of the current Info file. This command does the same as the
+ `--show-options' command-line option (*note --show-options::), but
+ it also allows to specify the program name; this is important for
+ those manuals which describe several programs.
+
+ If you need to find the Invocation node of a program that is
+ documented in another Info file, you need to visit that file
+ before invoking `I'. For example, if you are reading the Emacs
+ manual and want to see the command-line options of the `makeinfo'
+ program, type `g (texinfo) <RET>' and then `I makeinfo <RET>'. If
+ you don't know what Info file documents the command, or if
+ invoking `I' doesn't display the right node, go to the `(dir)'
+ node (using the `d' command) and invoke `I' from there.
+
+<G> (`menu-sequence')
+ Read a sequence of menu entries and follow it. Info prompts for a
+ sequence of menu items separated by commas. (Since commas are not
+ allowed in a node name, they are a natural choice for a delimiter
+ in a list of menu items.) Info then looks up the first item in
+ the menu of the node `(dir)' (if the `(dir)' node cannot be found,
+ Info uses `Top'). If such an entry is found, Info goes to the
+ node it points to and looks up the second item in the menu of that
+ node, etc. In other words, you can specify a complete path which
+ descends through the menu hierarchy of a particular Info file
+ starting at the `(dir)' node. This has the same effect as if you
+ typed the menu item sequence on Info's command line, see *Note
+ Info command-line arguments processing: command-line menu items.
+ For example,
+
+ G Texinfo,Overview,Reporting Bugs <RET>
+
+ displays the node `Reporting Bugs' in the Texinfo manual. (You
+ don't actually need to type the menu items in their full length,
+ or in their exact letter-case. However, if you do type the menu
+ items exactly, Info will find it faster.)
+
+ If any of the menu items you type are not found, Info stops at the
+ last entry it did find and reports an error.
+
+`C-x <k>' (`kill-node')
+ Kill a node. The node name is prompted for in the echo area, with
+ a default of the current node. "Killing" a node means that Info
+ tries hard to forget about it, removing it from the list of
+ history nodes kept for the window where that node is found.
+ Another node is selected in the window which contained the killed
+ node.
+
+`C-x C-f' (`view-file')
+ Read the name of a file and selects the entire file. The command
+ `C-x C-f FILENAME'
+ is equivalent to typing
+ `g(FILENAME)*'
+
+`C-x C-b' (`list-visited-nodes')
+ Make a window containing a menu of all of the currently visited
+ nodes. This window becomes the selected window, and you may use
+ the standard Info commands within it.
+
+`C-x <b>' (`select-visited-node')
+ Select a node which has been previously visited in a visible
+ window. This is similar to `C-x C-b' followed by `m', but no
+ window is created.
+
+
+File: info-stnd.info, Node: Searching Commands, Next: Xref Commands, Prev: Node Commands, Up: Top
+
+6 Searching an Info File
+************************
+
+GNU Info allows you to search for a sequence of characters throughout an
+entire Info file, search through the indices of an Info file, or find
+areas within an Info file which discuss a particular topic.
+
+<s> (`search')
+</>
+ Read a string in the echo area and search for it. If the string
+ includes upper-case characters, the Info file is searched
+ case-sensitively; otherwise Info ignores the letter case. With a
+ numeric argument of N, search for Nth occurrence of the string.
+ Negative arguments search backwards.
+
+<?> (`search-backward', vi-like operation)
+ Read a string in the echo area and search backward through the
+ Info file for that string. If the string includes upper-case
+ characters, the Info file is searched case-sensitively; otherwise
+ Info ignores the letter case. With a numeric argument of N,
+ search for Nth occurrence of the string. Negative arguments
+ search forward.
+
+<S> (`search-case-sensitively'
+ Read a string in the echo area and search for it case-sensitively,
+ even if the string includes only lower-case letters. With a
+ numeric argument of N, search for Nth occurrence of the string.
+ Negative arguments search backwards.
+
+`C-x <n>' (`search-next')
+<n>, vi-like operation
+ Search for the same string used in the last search command, in the
+ same direction, and with the same case-sensitivity option. With a
+ numeric argument of N, search for Nth next occurrence.
+
+`C-x <N>' (`search-previous')
+<N>, vi-like operation
+ Search for the same string used in the last search command, and
+ with the same case-sensitivity option, but in the reverse
+ direction. With a numeric argument of N, search for Nth previous
+ occurrence.
+
+<C-s> (`isearch-forward')
+ Interactively search forward through the Info file for a string as
+ you type it. If the string includes upper-case characters, the
+ search is case-sensitive; otherwise Info ignores the letter case.
+
+<C-r> (`isearch-backward')
+ Interactively search backward through the Info file for a string as
+ you type it. If the string includes upper-case characters, the
+ search is case-sensitive; otherwise Info ignores the letter case.
+
+<i> (`index-search')
+ Look up a string in the indices for this Info file, and select a
+ node to which the found index entry points.
+
+<,> (`next-index-match')
+ Move to the node containing the next matching index item from the
+ last `i' command.
+
+`M-x index-apropos'
+ Grovel the indices of all the known Info files on your system for a
+ string, and build a menu of the possible matches.
+
+ The most basic searching command is `s' or `/' (`search'). The `s'
+command prompts you for a string in the echo area, and then searches
+the remainder of the Info file for an occurrence of that string. If
+the string is found, the node containing it is selected, and the cursor
+is left positioned at the start of the found string. Subsequent `s'
+commands show you the default search string within `[' and `]';
+pressing <RET> instead of typing a new string will use the default
+search string. Under `--vi-keys' (*note --vi-keys::), using the `n' or
+`N' commands is a faster way of searching for the same string.
+
+ "Incremental searching" is similar to basic searching, but the string
+is looked up while you are typing it, instead of waiting until the
+entire search string has been specified.
+
+ Both incremental and non-incremental search by default ignore the case
+of letters when comparing the Info file text with the search string.
+However, an uppercase letter in the search string makes the search
+case-sensitive. You can force a case-sensitive non-incremental search,
+even for a string that includes only lower-case letters, by using the
+`S' command (`search-case-sensitively'). The `n' and `N' commands
+operate case-sensitively if the last search command was `S'.
+
+ The most efficient means of finding something quickly in a manual is
+the `i' command (`index-search'). This command prompts for a string,
+and then looks for that string in all the indices of the current Info
+manual. If it finds a matching index entry, it displays the node to
+which that entry refers and prints the full text of the entry in the
+echo area. You can press `,' (`next-index-match') to find more
+matches. A good Info manual has all of its important concepts indexed,
+so the `i' command lets you use a manual as a reference.
+
+ If you don't know what manual documents something, try the `M-x
+index-apropos' command. It prompts for a string and then looks up that
+string in all the indices of all the Info documents installed on your
+system. It can also be invoked from the command line; see *Note
+--apropos::.
+
+
+File: info-stnd.info, Node: Xref Commands, Next: Window Commands, Prev: Searching Commands, Up: Top
+
+7 Selecting Cross References
+****************************
+
+We have already discussed the `Next', `Prev', and `Up' pointers which
+appear at the top of a node. In addition to these pointers, a node may
+contain other pointers which refer you to a different node, perhaps in
+another Info file. Such pointers are called "cross references", or
+"xrefs" for short.
+
+* Menu:
+
+* Parts of an Xref:: What a cross reference is made of.
+* Selecting Xrefs:: Commands for selecting menu or note items.
+
+
+File: info-stnd.info, Node: Parts of an Xref, Next: Selecting Xrefs, Up: Xref Commands
+
+7.1 Parts of an Xref
+====================
+
+Cross references have two major parts: the first part is called the
+"label"; it is the name that you can use to refer to the cross
+reference, and the second is the "target"; it is the full name of the
+node that the cross reference points to.
+
+ The target is separated from the label by a colon `:'; first the
+label appears, and then the target. For example, in the sample menu
+cross reference below, the single colon separates the label from the
+target.
+
+ * Foo Label: Foo Target. More information about Foo.
+
+ Note the `.' which ends the name of the target. The `.' is not part
+of the target; it serves only to let Info know where the target name
+ends.
+
+ A shorthand way of specifying references allows two adjacent colons to
+stand for a target name which is the same as the label name:
+
+ * Foo Commands:: Commands pertaining to Foo.
+
+ In the above example, the name of the target is the same as the name
+of the label, in this case `Foo Commands'.
+
+ You will normally see two types of cross reference while viewing
+nodes: "menu" references, and "note" references. Menu references
+appear within a node's menu; they begin with a `*' at the beginning of
+a line, and continue with a label, a target, and a comment which
+describes what the contents of the node pointed to contains.
+
+ Note references appear within the body of the node text; they begin
+with `*Note', and continue with a label and a target.
+
+ Like `Next', `Prev', and `Up' pointers, cross references can point to
+any valid node. They are used to refer you to a place where more
+detailed information can be found on a particular subject. Here is a
+cross reference which points to a node within the Texinfo
+documentation: *Note Writing an Xref: (texinfo)xref, for more
+information on creating your own texinfo cross references.
+
+
+File: info-stnd.info, Node: Selecting Xrefs, Prev: Parts of an Xref, Up: Xref Commands
+
+7.2 Selecting Xrefs
+===================
+
+The following table lists the Info commands which operate on menu items.
+
+<1> (`menu-digit')
+<2> ... <9>
+<M-1>, vi-like operation
+<M-2> ... <M-9>, vi-like operation
+ Within an Info window, pressing a single digit, (such as `1'),
+ selects that menu item, and places its node in the current window.
+ For convenience, there is one exception; pressing `0' selects the
+ _last_ item in the node's menu. When `--vi-keys' is in effect,
+ digits set the numeric argument, so these commands are remapped to
+ their `M-' varieties. For example, to select the last menu item,
+ press <M-0>.
+
+<0> (`last-menu-item')
+<M-0>, vi-like operation
+ Select the last item in the current node's menu.
+
+<m> (`menu-item')
+ Reads the name of a menu item in the echo area and selects its
+ node. Completion is available while reading the menu label.
+ *Note completion: The Echo Area.
+
+`M-x find-menu'
+ Move the cursor to the start of this node's menu.
+
+ This table lists the Info commands which operate on cross references.
+
+<f> (`xref-item')
+<r>
+
+<M-f>, vi-like operation
+`C-x <r>', vi-like operation
+ Reads the name of a note cross reference in the echo area and
+ selects its node. Completion is available while reading the cross
+ reference label. *Note completion: The Echo Area.
+
+ Finally, the next few commands operate on menu or note references
+alike:
+
+<TAB> (`move-to-next-xref')
+ Move the cursor to the start of the next nearest menu item or note
+ reference in this node. You can then use <RET>
+ (`select-reference-this-line') to select the menu or note
+ reference.
+
+<M-TAB> (`move-to-prev-xref')
+<Shift-<TAB>> (on DOS/Windows only)
+ Move the cursor the start of the nearest previous menu item or note
+ reference in this node.
+
+ On DOS/Windows only, the `Shift-<TAB>' key is an alias for
+ `M-<TAB>'. This key is sometimes called `BackTab'.
+
+<RET> (`select-reference-this-line')
+<M-g>, vi-like operation
+ Select the menu item or note reference appearing on this line.
+
+
+File: info-stnd.info, Node: Window Commands, Next: Printing Nodes, Prev: Xref Commands, Up: Top
+
+8 Manipulating Multiple Windows
+*******************************
+
+A "window" is a place to show the text of a node. Windows have a view
+area where the text of the node is displayed, and an associated "mode
+line", which briefly describes the node being viewed.
+
+ GNU Info supports multiple windows appearing in a single screen; each
+window is separated from the next by its modeline. At any time, there
+is only one "active" window, that is, the window in which the cursor
+appears. There are commands available for creating windows, changing
+the size of windows, selecting which window is active, and for deleting
+windows.
+
+* Menu:
+
+* The Mode Line:: What appears in the mode line?
+* Basic Windows:: Manipulating windows in Info.
+* The Echo Area:: Used for displaying errors and reading input.
+
+
+File: info-stnd.info, Node: The Mode Line, Next: Basic Windows, Up: Window Commands
+
+8.1 The Mode Line
+=================
+
+A "mode line" is a line of inverse video which appears at the bottom of
+an Info window. It describes the contents of the window just above it;
+this information includes the name of the file and node appearing in
+that window, the number of screen lines it takes to display the node,
+and the percentage of text that is above the top of the window. It can
+also tell you if the indirect tags table for this Info file needs to be
+updated, and whether or not the Info file was compressed when stored on
+disk.
+
+ Here is a sample mode line for a window containing an uncompressed
+file named `dir', showing the node `Top'.
+
+ -----Info: (dir)Top, 40 lines --Top-------------------------------------
+ ^^ ^ ^^^ ^^
+ (file)Node #lines where
+
+ When a node comes from a file which is compressed on disk, this is
+indicated in the mode line with two small `z''s. In addition, if the
+Info file containing the node has been split into subfiles, the name of
+the subfile containing the node appears in the modeline as well:
+
+ --zz-Info: (emacs)Top, 291 lines --Top-- Subfile: emacs-1.Z-------------
+
+ Truncation of long lines (as opposed to wrapping them to the next
+display line, *note toggle-wrap: Scrolling Commands.) is indicated by a
+`$' at the left edge of the mode line:
+
+ --$--Info: (texinfo)Top, 480 lines --Top-- Subfile: texinfo-1-----------
+
+ When Info makes a node internally, such that there is no corresponding
+info file on disk, the name of the node is surrounded by asterisks
+(`*'). The name itself tells you what the contents of the window are;
+the sample mode line below shows an internally constructed node showing
+possible completions:
+
+ -----Info: *Completions*, 7 lines --All---------------------------------
+
+
+File: info-stnd.info, Node: Basic Windows, Next: The Echo Area, Prev: The Mode Line, Up: Window Commands
+
+8.2 Window Commands
+===================
+
+It can be convenient to view more than one node at a time. To allow
+this, Info can display more than one "window". Each window has its own
+mode line (*note The Mode Line::) and history of nodes viewed in that
+window (*note `history-node': Node Commands.).
+
+`C-x <o>' (`next-window')
+ Select the next window on the screen. Note that the echo area can
+ only be selected if it is already in use, and you have left it
+ temporarily. Normally, `C-x o' simply moves the cursor into the
+ next window on the screen, or if you are already within the last
+ window, into the first window on the screen. Given a numeric
+ argument, `C-x o' moves over that many windows. A negative
+ argument causes `C-x o' to select the previous window on the
+ screen.
+
+`M-x prev-window'
+ Select the previous window on the screen. This is identical to
+ `C-x o' with a negative argument.
+
+`C-x <2>' (`split-window')
+ Split the current window into two windows, both showing the same
+ node. Each window is one half the size of the original window,
+ and the cursor remains in the original window. The variable
+ `automatic-tiling' can cause all of the windows on the screen to
+ be resized for you automatically, please *note automatic-tiling:
+ Variables. for more information.
+
+`C-x <0>' (`delete-window')
+ Delete the current window from the screen. If you have made too
+ many windows and your screen appears cluttered, this is the way to
+ get rid of some of them.
+
+`C-x <1>' (`keep-one-window')
+ Delete all of the windows excepting the current one.
+
+`ESC <C-v>' (`scroll-other-window')
+ Scroll the other window, in the same fashion that `C-v' might
+ scroll the current window. Given a negative argument, scroll the
+ "other" window backward.
+
+`C-x <^>' (`grow-window')
+ Grow (or shrink) the current window. Given a numeric argument,
+ grow the current window that many lines; with a negative numeric
+ argument, shrink the window instead.
+
+`C-x <t>' (`tile-windows')
+ Divide the available screen space among all of the visible windows.
+ Each window is given an equal portion of the screen in which to
+ display its contents. The variable `automatic-tiling' can cause
+ `tile-windows' to be called when a window is created or deleted.
+ *Note `automatic-tiling': Variables.
+
+
+File: info-stnd.info, Node: The Echo Area, Prev: Basic Windows, Up: Window Commands
+
+8.3 The Echo Area
+=================
+
+The "echo area" is a one line window which appears at the bottom of the
+screen. It is used to display informative or error messages, and to
+read lines of input from you when that is necessary. Almost all of the
+commands available in the echo area are identical to their Emacs
+counterparts, so please refer to that documentation for greater depth of
+discussion on the concepts of editing a line of text. The following
+table briefly lists the commands that are available while input is being
+read in the echo area:
+
+<C-f> (`echo-area-forward')
+<RIGHT> (an arrow key)
+<M-h>, vi-like operation
+ Move forward a character.
+
+<C-b> (`echo-area-backward')
+<LEFT> (an arrow key)
+<M-l>, vi-like operation
+ Move backward a character.
+
+<C-a> (`echo-area-beg-of-line')
+<M-0>, vi-like operation
+ Move to the start of the input line.
+
+<C-e> (`echo-area-end-of-line')
+<M-$>, vi-like operation
+ Move to the end of the input line.
+
+<M-f> (`echo-area-forward-word')
+<C-<RIGHT>> (DOS/Windows only)
+<M-w>, vi-like operation
+ Move forward a word.
+
+ On DOS/Windows, `C-<RIGHT>' moves forward by words.
+
+<M-b> (`echo-area-backward-word')
+<C-<LEFT>> (DOS/Windows only)
+ Move backward a word.
+
+ On DOS/Windows, `C-<LEFT>' moves backward by words.
+
+<C-d> (`echo-area-delete')
+<M-x>, vi-like operation
+ Delete the character under the cursor.
+
+<DEL> (`echo-area-rubout')
+ Delete the character behind the cursor.
+
+ On some keyboards, this key is designated <BS>, for `BackSpace'.
+ Those keyboards will usually bind <DEL> in the echo area to
+ `echo-area-delete'.
+
+<C-g> (`echo-area-abort')
+<C-u>, vi-like operation
+ Cancel or quit the current operation. If completion is being
+ read, this command discards the text of the input line which does
+ not match any completion. If the input line is empty, it aborts
+ the calling function.
+
+<RET> (`echo-area-newline')
+ Accept (or forces completion of) the current input line.
+
+<C-q> (`echo-area-quoted-insert')
+<C-v>, vi-like operation
+ Insert the next character verbatim. This is how you can insert
+ control characters into a search string, for example, or the `?'
+ character when Info prompts with completion.
+
+PRINTING CHARACTER (`echo-area-insert')
+ Insert the character. Characters that have their 8th bit set, and
+ not bound to `M-' commands, are also inserted verbatim; this is
+ useful for terminals which support Latin scripts.
+
+<M-TAB> (`echo-area-tab-insert')
+<Shift-<TAB>> (on DOS/Windows only)
+ Insert a TAB character.
+
+ On DOS/Windows only, the `Shift-<TAB>' key is an alias for
+ `M-<TAB>'. This key is sometimes called `BackTab'.
+
+<C-t> (`echo-area-transpose-chars')
+ Transpose the characters at the cursor.
+
+ The next group of commands deal with "killing", and "yanking"
+text(1). For an in-depth discussion of killing and yanking, see *Note
+Killing and Deleting: (emacs)Killing.
+
+<M-d> (`echo-area-kill-word')
+<M-X>, vi-like operation
+ Kill the word following the cursor.
+
+<M-DEL> (`echo-area-backward-kill-word')
+<M-<BS>>
+ Kill the word preceding the cursor.
+
+ On some keyboards, the `Backspace' key is used instead of `DEL',
+ so `M-<Backspace>' has the same effect as `M-<DEL>'.
+
+<C-k> (`echo-area-kill-line')
+ Kill the text from the cursor to the end of the line.
+
+`C-x <DEL>' (`echo-area-backward-kill-line')
+ Kill the text from the cursor to the beginning of the line.
+
+<C-y> (`echo-area-yank')
+ Yank back the contents of the last kill.
+
+<M-y> (`echo-area-yank-pop')
+ Yank back a previous kill, removing the last yanked text first.
+
+ Sometimes when reading input in the echo area, the command that needed
+input will only accept one of a list of several choices. The choices
+represent the "possible completions", and you must respond with one of
+them. Since there are a limited number of responses you can make, Info
+allows you to abbreviate what you type, only typing as much of the
+response as is necessary to uniquely identify it. In addition, you can
+request Info to fill in as much of the response as is possible; this is
+called "completion".
+
+ The following commands are available when completing in the echo area:
+
+<TAB> (`echo-area-complete')
+<SPC>
+ Insert as much of a completion as is possible.
+
+<?> (`echo-area-possible-completions')
+ Display a window containing a list of the possible completions of
+ what you have typed so far. For example, if the available choices
+ are:
+
+ bar
+ foliate
+ food
+ forget
+
+ and you have typed an `f', followed by `?', Info will pop up a
+ window showing a node called `*Completions*' which lists the
+ possible completions like this:
+
+ 3 completions:
+ foliate food
+ forget
+
+ i.e., all of the choices which begin with `f'. Pressing <SPC> or
+ <TAB> would result in `fo' appearing in the echo area, since all
+ of the choices which begin with `f' continue with `o'. Now,
+ typing `l' followed by `TAB' results in `foliate' appearing in the
+ echo area, since that is the only choice which begins with `fol'.
+
+<ESC C-v> (`echo-area-scroll-completions-window')
+ Scroll the completions window, if that is visible, or the "other"
+ window if not.
+
+ ---------- Footnotes ----------
+
+ (1) Some people are used to calling these operations "cut" and
+"paste", respectively.
+
+
+File: info-stnd.info, Node: Printing Nodes, Next: Miscellaneous Commands, Prev: Window Commands, Up: Top
+
+9 Printing Nodes
+****************
+
+In general, we recommend that you use TeX to format the document and
+print sections of it, by running `tex' on the Texinfo source file.
+However, you may wish to print out the contents of a node as a quick
+reference document for later use, or if you don't have TeX installed.
+Info provides you with a command for doing this.
+
+`M-x print-node'
+ Pipe the contents of the current node through the command in the
+ environment variable `INFO_PRINT_COMMAND'. If the variable does
+ not exist, the node is simply piped to `lpr' (on DOS/Windows, the
+ default is to print the node to the local printer device, `PRN').
+
+ The value of `INFO_PRINT_COMMAND' may begin with the `>'
+ character, as in `>/dev/printer', in which case Info treats the
+ rest as the name of a file or a device. Instead of piping to a
+ command, Info opens the file, writes the node contents, and closes
+ the file, under the assumption that text written to that file will
+ be printed by the underlying OS.
+
+
+File: info-stnd.info, Node: Miscellaneous Commands, Next: Variables, Prev: Printing Nodes, Up: Top
+
+10 Miscellaneous Commands
+*************************
+
+GNU Info contains several commands which self-document GNU Info:
+
+`M-x describe-command'
+ Read the name of an Info command in the echo area and then display
+ a brief description of what that command does.
+
+`M-x describe-key'
+ Read a key sequence in the echo area, and then display the name and
+ documentation of the Info command that the key sequence invokes.
+
+`M-x describe-variable'
+ Read the name of a variable in the echo area and then display a
+ brief description of what the variable affects.
+
+`M-x where-is'
+ Read the name of an Info command in the echo area, and then display
+ a key sequence which can be typed in order to invoke that command.
+
+<C-h> (`get-help-window')
+<?>
+<F1> (on DOS/Windows only)
+h, vi-like operation
+ Create (or Move into) the window displaying `*Help*', and place a
+ node containing a quick reference card into it. This window
+ displays the most concise information about GNU Info available.
+
+<h> (`get-info-help-node')
+<M-h>, vi-like operation
+ Try hard to visit the node `(info)Help'. The Info file
+ `info.texi' distributed with GNU Info contains this node. Of
+ course, the file must first be processed with `makeinfo', and then
+ placed into the location of your Info directory.
+
+ Here are the commands for creating a numeric argument:
+
+<C-u> (`universal-argument')
+ Start (or multiply by 4) the current numeric argument. `C-u' is a
+ good way to give a small numeric argument to cursor movement or
+ scrolling commands; `C-u C-v' scrolls the screen 4 lines, while
+ `C-u C-u C-n' moves the cursor down 16 lines. `C-u' followed by
+ digit keys sets the numeric argument to the number thus typed:
+ `C-u 1 2 0' sets the argument to 120.
+
+<M-1> (`add-digit-to-numeric-arg')
+<1>, vi-like operation
+<M-2> ... <M-9>
+<2> ... <9>, vi-like operation
+<M-0>
+<0>, vi-like operation
+ Add the digit value of the invoking key to the current numeric
+ argument. Once Info is reading a numeric argument, you may just
+ type the digits of the argument, without the Meta prefix. For
+ example, you might give `C-l' a numeric argument of 32 by typing:
+
+ C-u 3 2 C-l
+
+ or
+
+ M-3 2 C-l
+
+<M-> (`add-digit-to-numeric-arg'
+<->
+ To make a negative argument, type `-'. Typing `-' alone makes a
+ negative argument with a value of -1. If you continue to type
+ digit or Meta-digit keys after `-', the result is a negative
+ number produced by those digits.
+
+ `-' doesn't work when you type in the echo area, because you need
+ to be able to insert the `-' character itself; use `M--' instead,
+ if you need to specify negative arguments in the echo area.
+
+ `C-g' is used to abort the reading of a multi-character key sequence,
+to cancel lengthy operations (such as multi-file searches) and to
+cancel reading input in the echo area.
+
+<C-g> (`abort-key')
+<C-u>, vi-like operation
+ Cancel current operation.
+
+ The `q' command of Info simply quits running Info. Under `--vi-keys'
+(*note --vi-keys::), you can also exit with `:q' or `ZZ'.
+
+<q> (`quit')
+`C-x C-c'
+`:q', vi-like operation
+`ZZ', vi-like operation
+ Exit GNU Info.
+
+ If the operating system tells GNU Info that the screen is 60 lines
+tall, and it is actually only 40 lines tall, here is a way to tell Info
+that the operating system is correct.
+
+`M-x set-screen-height'
+ Read a height value in the echo area and set the height of the
+ displayed screen to that value.
+
+ On MS-DOS/MS-Windows, this command actually tries to change the
+dimensions of the visible screen to the value you type in the echo area.
+
+ Finally, Info provides a convenient way to display footnotes which
+might be associated with the current node that you are viewing:
+
+<ESC C-f> (`show-footnotes')
+ Show the footnotes (if any) associated with the current node in
+ another window. You can have Info automatically display the
+ footnotes associated with a node when the node is selected by
+ setting the variable `automatic-footnotes'. *Note
+ `automatic-footnotes': Variables.
+
+
+File: info-stnd.info, Node: Variables, Next: Custom Key Bindings, Prev: Miscellaneous Commands, Up: Top
+
+11 Manipulating Variables
+*************************
+
+GNU Info contains several "variables" whose values are looked at by
+various Info commands. You can change the values of these variables,
+and thus change the behavior of Info to more closely match your
+environment and Info file reading manner.
+
+ There are two ways to set the value of a variable: interactively,
+using the `set-variable' command described below, or in the `#var'
+section of the `.infokey' file. *Note Custom Key Bindings::.
+
+`M-x set-variable'
+ Read the name of a variable, and the value for it, in the echo
+ area and then set the variable to that value. Completion is
+ available when reading the variable name (*note completion: The
+ Echo Area.); often, completion is available when reading the value
+ to give to the variable, but that depends on the variable itself.
+ If a variable does _not_ supply multiple choices to complete over,
+ it expects a numeric value.
+
+`M-x describe-variable'
+ Read the name of a variable in the echo area and then display a
+ brief description of what the variable affects.
+
+ Here is a list of the variables that you can set in Info.
+
+`automatic-footnotes'
+ When set to `On', footnotes appear and disappear automatically;
+ else, they appear at the bottom of the node text. This variable is
+ `Off' by default. When a node is selected, a window containing
+ the footnotes which appear in that node is created, and the
+ footnotes are displayed within the new window. The window that
+ Info creates to contain the footnotes is called `*Footnotes*'. If
+ a node is selected which contains no footnotes, and a
+ `*Footnotes*' window is on the screen, the `*Footnotes*' window is
+ deleted. Footnote windows created in this fashion are not
+ automatically tiled so that they can use as little of the display
+ as is possible.
+
+`automatic-tiling'
+ When set to `On', creating or deleting a window resizes other
+ windows. This variable is `Off' by default. Normally, typing
+ `C-x 2' divides the current window into two equal parts. When
+ `automatic-tiling' is set to `On', all of the windows are resized
+ automatically, keeping an equal number of lines visible in each
+ window. There are exceptions to the automatic tiling;
+ specifically, the windows `*Completions*' and `*Footnotes*' are
+ _not_ resized through automatic tiling; they remain their original
+ size.
+
+`errors-ring-bell'
+ When set to `On', errors cause the bell to ring. The default
+ setting of this variable is `On'.
+
+`gc-compressed-files'
+ When set to `On', Info garbage collects files which had to be
+ uncompressed. The default value of this variable is `Off'.
+ Whenever a node is visited in Info, the Info file containing that
+ node is read into core, and Info reads information about the tags
+ and nodes contained in that file. Once the tags information is
+ read by Info, it is never forgotten. However, the actual text of
+ the nodes does not need to remain in core unless a particular Info
+ window needs it. For non-compressed files, the text of the nodes
+ does not remain in core when it is no longer in use. But
+ de-compressing a file can be a time consuming operation, and so
+ Info tries hard not to do it twice. `gc-compressed-files' tells
+ Info it is okay to garbage collect the text of the nodes of a file
+ which was compressed on disk.
+
+`ISO-Latin'
+ When set to `On', Info accepts and displays ISO Latin characters.
+ By default, Info assumes an ASCII character set. `ISO-Latin' tells
+ Info that it is running in an environment where the European
+ standard character set is in use, and allows you to input such
+ characters to Info, as well as display them.
+
+`scroll-behavior'
+ Control what happens when forward scrolling is requested at the
+ end of a node, or when backward scrolling is requested at the
+ beginning of a node. The default value for this variable is
+ `Continuous'. There are three possible values for this variable:
+
+ `Continuous'
+ Try to get the first item in this node's menu, or failing
+ that, the `Next' node, or failing that, the `Next' of the
+ `Up'. This behavior is identical to using the `]'
+ (`global-next-node') and `[' (`global-prev-node') commands.
+
+ `Next Only'
+ Only try to get the `Next' node.
+
+ `Page Only'
+ Simply give up, changing nothing. If `scroll-behavior' is
+ `Page Only', no scrolling command can change the node that is
+ being viewed.
+
+`scroll-step'
+ The number of lines to scroll when the cursor moves out of the
+ window. Scrolling happens automatically if the cursor has moved
+ out of the visible portion of the node text when it is time to
+ display. Usually the scrolling is done so as to put the cursor on
+ the center line of the current window. However, if the variable
+ `scroll-step' has a nonzero value, Info attempts to scroll the
+ node text by that many lines; if that is enough to bring the
+ cursor back into the window, that is what is done. The default
+ value of this variable is 0, thus placing the cursor (and the text
+ it is attached to) in the center of the window. Setting this
+ variable to 1 causes a kind of "smooth scrolling" which some
+ people prefer.
+
+`show-index-match'
+ When set to `On', the portion of the matched search string is
+ highlighted in the message which explains where the matched search
+ string was found. The default value of this variable is `On'.
+ When Info displays the location where an index match was found,
+ (*note `next-index-match': Searching Commands.), the portion of the
+ string that you had typed is highlighted by displaying it in the
+ inverse case from its surrounding characters.
+
+`visible-bell'
+ When set to `On', GNU Info attempts to flash the screen instead of
+ ringing the bell. This variable is `Off' by default. Of course,
+ Info can only flash the screen if the terminal allows it; in the
+ case that the terminal does not allow it, the setting of this
+ variable has no effect. However, you can make Info perform
+ quietly by setting the `errors-ring-bell' variable to `Off'.
+
+
+
+File: info-stnd.info, Node: Custom Key Bindings, Next: Copying This Manual, Prev: Variables, Up: Top
+
+12 Customizing Key Bindings and Variables
+*****************************************
+
+For those whose editor/pager of choice is not Emacs and who are not
+entirely satisfied with the -vi-keys option (*note --vi-keys::), GNU
+Info provides a way to define different key-to-command bindings and
+variable settings from the defaults described in this document.
+
+ On startup, GNU Info looks for a configuration file in the invoker's
+HOME directory called `.info'(1). If it is present, and appears to
+contain Info configuration data, and was created with the current
+version of the `infokey' command, then Info adopts the key bindings and
+variable settings contained therein.
+
+ The `.info' file contains compact, non-textual data for reasons of
+efficiency and because its design was lifted wholesale from the GNU Less
+program, which also does it that way. It must be created by compiling a
+textual source file using the `infokey' command.
+
+* Menu:
+
+* Invoking infokey::
+* infokey source format::
+
+ ---------- Footnotes ----------
+
+ (1) Due to the limitations of DOS filesystems, the MS-DOS version of
+Info looks for a file `_info' instead. If the `HOME' variable is not
+defined, Info additionally looks in the current directory.
+
+
+File: info-stnd.info, Node: Invoking infokey, Next: infokey source format, Up: Custom Key Bindings
+
+12.1 Invoking `infokey'
+=======================
+
+`infokey' compiles a source file (`$HOME/.infokey'(1) by default)
+containing Info customizations into a binary format (`$HOME/.info' by
+default). GNU Info reads the binary file at startup to override the
+default key bindings and variable definitions. Synopsis:
+
+ infokey [OPTION...] [INPUT-FILE]
+
+ Besides the standard `--help' and `--version', the only option is
+`--output FILE'. This tells `infokey' to write the binary data to FILE
+instead of `$HOME/.info'.
+
+ ---------- Footnotes ----------
+
+ (1) This file is named `_infokey' in the MS-DOS version, and is
+looked for in the current directory if `HOME' is undefined.
+
+
+File: info-stnd.info, Node: infokey source format, Prev: Invoking infokey, Up: Custom Key Bindings
+
+12.2 `infokey' source format
+============================
+
+The format of the source file read by `infokey' is most easily
+illustrated by example. For instance, here is a sample `.infokey'
+source file suitable for aficionados of `vi' or `less':
+
+ #info
+ j next-line
+ k prev-line
+ l forward-char
+ h backward-char
+ \kd next-line
+ \ku prev-line
+ \kr forward-char
+ \kl backward-char
+ \ scroll-forward
+ \kD scroll-forward-page-only
+ b scroll-backward
+ \kU scroll-backward-page-only
+ g beginning-of-node
+ \kh beginning-of-node
+ G end-of-node
+ \ke end-of-node
+ \t select-reference-this-line
+ - history-node
+ n next-node
+ p prev-node
+ u up-node
+ t top-node
+ d dir-node
+ #var
+ scroll-step=1
+
+ The source file consists of one or more "sections". Each section
+starts with a line that identifies the type of section. Possible
+sections are:
+
+`#info'
+ Key bindings for Info windows. The start of this section is
+ indicated by a line containing just `#info' by itself. If this is
+ the first section in the source file, the `#info' line can be
+ omitted. The rest of this section consists of lines of the form:
+
+ STRING whitespace ACTION [ whitespace [ # comment ] ] newline
+
+ Whitespace is any sequence of one or more spaces and/or tabs.
+ Comment is any sequence of any characters, excluding newline.
+ STRING is the key sequence which invokes the action. ACTION is
+ the name of an Info command. The characters in STRING are
+ interpreted literally or prefixed by a caret (`^') to indicate a
+ control character. A backslash followed by certain characters
+ specifies input keystrokes as follows:
+
+ `\b'
+ Backspace
+
+ `\e'
+ Escape (ESC)
+
+ `\n'
+ Newline
+
+ `\r'
+ Return
+
+ `\t'
+ Tab
+
+ `\ku'
+ Up arrow
+
+ `\kd'
+ Down arrow
+
+ `\kl'
+ Left arrow
+
+ `\kr'
+ Right arrow
+
+ `\kU'
+ Page Up
+
+ `\kD'
+ Page Down
+
+ `\kh'
+ HOME
+
+ `\ke'
+ END
+
+ `\kx'
+ Delete (DEL)
+
+ `\mX'
+ Meta-X where X is any character as described above.
+
+ Backslash followed by any other character indicates that character
+ is to be taken literally. Characters which must be preceded by a
+ backslash include caret, space, tab, and backslash itself.
+
+`#echo-area'
+ Key bindings for the echo area. The start of this section is
+ indicated by a line containing just `#echo-area' by itself. The
+ rest of this section has a syntax identical to that for the key
+ definitions for the Info area, described above.
+
+`#var'
+ Variable initializations. The start of this section is indicated
+ by a line containing just `#var' by itself. Following this line
+ is a list of variable assignments, one per line. Each line
+ consists of a variable name (*Note Variables::,) followed by `='
+ followed by a value. There may be no white space between the
+ variable name and the `=', and all characters following the `=',
+ including white space, are included in the value.
+
+ Blank lines and lines starting with `#' are ignored, except for the
+special section header lines.
+
+ Key bindings defined in the `.info' file take precedence over GNU
+Info's default key bindings, whether or not `--vi-keys' is used. A
+default key binding may be disabled by overriding it in the `.info'
+file with the action `invalid'. In addition, _all_ default key
+bindings can be disabled by adding this line _anywhere_ in the relevant
+section:
+
+ #stop
+
+ This will cause GNU Info to ignore all the default key commands for
+that section.
+
+ Beware: `#stop' can be dangerous. Since it disables all default key
+bindings, you must supply enough new key bindings to enable all
+necessary actions. Failure to bind any key to the `quit' command, for
+example, can lead to frustration.
+
+ The order in which key bindings are defined in the `.info' file is
+not important, except that the command summary produced by the
+`get-help-window' command only displays the _first_ key that is bound
+to each command.
+
+
+File: info-stnd.info, Node: Copying This Manual, Next: Index, Prev: Custom Key Bindings, Up: Top
+
+Appendix A Copying This Manual
+******************************
+
+* Menu:
+
+* GNU Free Documentation License:: License for copying this manual.
+
+
+File: info-stnd.info, Node: GNU Free Documentation License, Up: Copying This Manual
+
+A.1 GNU Free Documentation License
+==================================
+
+ Version 1.2, November 2002
+
+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ 0. PREAMBLE
+
+ The purpose of this License is to make a manual, textbook, or other
+ functional and useful document "free" in the sense of freedom: to
+ assure everyone the effective freedom to copy and redistribute it,
+ with or without modifying it, either commercially or
+ noncommercially. Secondarily, this License preserves for the
+ author and publisher a way to get credit for their work, while not
+ being considered responsible for modifications made by others.
+
+ This License is a kind of "copyleft", which means that derivative
+ works of the document must themselves be free in the same sense.
+ It complements the GNU General Public License, which is a copyleft
+ license designed for free software.
+
+ We have designed this License in order to use it for manuals for
+ free software, because free software needs free documentation: a
+ free program should come with manuals providing the same freedoms
+ that the software does. But this License is not limited to
+ software manuals; it can be used for any textual work, regardless
+ of subject matter or whether it is published as a printed book.
+ We recommend this License principally for works whose purpose is
+ instruction or reference.
+
+ 1. APPLICABILITY AND DEFINITIONS
+
+ This License applies to any manual or other work, in any medium,
+ that contains a notice placed by the copyright holder saying it
+ can be distributed under the terms of this License. Such a notice
+ grants a world-wide, royalty-free license, unlimited in duration,
+ to use that work under the conditions stated herein. The
+ "Document", below, refers to any such manual or work. Any member
+ of the public is a licensee, and is addressed as "you". You
+ accept the license if you copy, modify or distribute the work in a
+ way requiring permission under copyright law.
+
+ A "Modified Version" of the Document means any work containing the
+ Document or a portion of it, either copied verbatim, or with
+ modifications and/or translated into another language.
+
+ A "Secondary Section" is a named appendix or a front-matter section
+ of the Document that deals exclusively with the relationship of the
+ publishers or authors of the Document to the Document's overall
+ subject (or to related matters) and contains nothing that could
+ fall directly within that overall subject. (Thus, if the Document
+ is in part a textbook of mathematics, a Secondary Section may not
+ explain any mathematics.) The relationship could be a matter of
+ historical connection with the subject or with related matters, or
+ of legal, commercial, philosophical, ethical or political position
+ regarding them.
+
+ The "Invariant Sections" are certain Secondary Sections whose
+ titles are designated, as being those of Invariant Sections, in
+ the notice that says that the Document is released under this
+ License. If a section does not fit the above definition of
+ Secondary then it is not allowed to be designated as Invariant.
+ The Document may contain zero Invariant Sections. If the Document
+ does not identify any Invariant Sections then there are none.
+
+ The "Cover Texts" are certain short passages of text that are
+ listed, as Front-Cover Texts or Back-Cover Texts, in the notice
+ that says that the Document is released under this License. A
+ Front-Cover Text may be at most 5 words, and a Back-Cover Text may
+ be at most 25 words.
+
+ A "Transparent" copy of the Document means a machine-readable copy,
+ represented in a format whose specification is available to the
+ general public, that is suitable for revising the document
+ straightforwardly with generic text editors or (for images
+ composed of pixels) generic paint programs or (for drawings) some
+ widely available drawing editor, and that is suitable for input to
+ text formatters or for automatic translation to a variety of
+ formats suitable for input to text formatters. A copy made in an
+ otherwise Transparent file format whose markup, or absence of
+ markup, has been arranged to thwart or discourage subsequent
+ modification by readers is not Transparent. An image format is
+ not Transparent if used for any substantial amount of text. A
+ copy that is not "Transparent" is called "Opaque".
+
+ Examples of suitable formats for Transparent copies include plain
+ ASCII without markup, Texinfo input format, LaTeX input format,
+ SGML or XML using a publicly available DTD, and
+ standard-conforming simple HTML, PostScript or PDF designed for
+ human modification. Examples of transparent image formats include
+ PNG, XCF and JPG. Opaque formats include proprietary formats that
+ can be read and edited only by proprietary word processors, SGML or
+ XML for which the DTD and/or processing tools are not generally
+ available, and the machine-generated HTML, PostScript or PDF
+ produced by some word processors for output purposes only.
+
+ The "Title Page" means, for a printed book, the title page itself,
+ plus such following pages as are needed to hold, legibly, the
+ material this License requires to appear in the title page. For
+ works in formats which do not have any title page as such, "Title
+ Page" means the text near the most prominent appearance of the
+ work's title, preceding the beginning of the body of the text.
+
+ A section "Entitled XYZ" means a named subunit of the Document
+ whose title either is precisely XYZ or contains XYZ in parentheses
+ following text that translates XYZ in another language. (Here XYZ
+ stands for a specific section name mentioned below, such as
+ "Acknowledgements", "Dedications", "Endorsements", or "History".)
+ To "Preserve the Title" of such a section when you modify the
+ Document means that it remains a section "Entitled XYZ" according
+ to this definition.
+
+ The Document may include Warranty Disclaimers next to the notice
+ which states that this License applies to the Document. These
+ Warranty Disclaimers are considered to be included by reference in
+ this License, but only as regards disclaiming warranties: any other
+ implication that these Warranty Disclaimers may have is void and
+ has no effect on the meaning of this License.
+
+ 2. VERBATIM COPYING
+
+ You may copy and distribute the Document in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License
+ applies to the Document are reproduced in all copies, and that you
+ add no other conditions whatsoever to those of this License. You
+ may not use technical measures to obstruct or control the reading
+ or further copying of the copies you make or distribute. However,
+ you may accept compensation in exchange for copies. If you
+ distribute a large enough number of copies you must also follow
+ the conditions in section 3.
+
+ You may also lend copies, under the same conditions stated above,
+ and you may publicly display copies.
+
+ 3. COPYING IN QUANTITY
+
+ If you publish printed copies (or copies in media that commonly
+ have printed covers) of the Document, numbering more than 100, and
+ the Document's license notice requires Cover Texts, you must
+ enclose the copies in covers that carry, clearly and legibly, all
+ these Cover Texts: Front-Cover Texts on the front cover, and
+ Back-Cover Texts on the back cover. Both covers must also clearly
+ and legibly identify you as the publisher of these copies. The
+ front cover must present the full title with all words of the
+ title equally prominent and visible. You may add other material
+ on the covers in addition. Copying with changes limited to the
+ covers, as long as they preserve the title of the Document and
+ satisfy these conditions, can be treated as verbatim copying in
+ other respects.
+
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto
+ adjacent pages.
+
+ If you publish or distribute Opaque copies of the Document
+ numbering more than 100, you must either include a
+ machine-readable Transparent copy along with each Opaque copy, or
+ state in or with each Opaque copy a computer-network location from
+ which the general network-using public has access to download
+ using public-standard network protocols a complete Transparent
+ copy of the Document, free of added material. If you use the
+ latter option, you must take reasonably prudent steps, when you
+ begin distribution of Opaque copies in quantity, to ensure that
+ this Transparent copy will remain thus accessible at the stated
+ location until at least one year after the last time you
+ distribute an Opaque copy (directly or through your agents or
+ retailers) of that edition to the public.
+
+ It is requested, but not required, that you contact the authors of
+ the Document well before redistributing any large number of
+ copies, to give them a chance to provide you with an updated
+ version of the Document.
+
+ 4. MODIFICATIONS
+
+ You may copy and distribute a Modified Version of the Document
+ under the conditions of sections 2 and 3 above, provided that you
+ release the Modified Version under precisely this License, with
+ the Modified Version filling the role of the Document, thus
+ licensing distribution and modification of the Modified Version to
+ whoever possesses a copy of it. In addition, you must do these
+ things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title
+ distinct from that of the Document, and from those of
+ previous versions (which should, if there were any, be listed
+ in the History section of the Document). You may use the
+ same title as a previous version if the original publisher of
+ that version gives permission.
+
+ B. List on the Title Page, as authors, one or more persons or
+ entities responsible for authorship of the modifications in
+ the Modified Version, together with at least five of the
+ principal authors of the Document (all of its principal
+ authors, if it has fewer than five), unless they release you
+ from this requirement.
+
+ C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+
+ D. Preserve all the copyright notices of the Document.
+
+ E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+
+ F. Include, immediately after the copyright notices, a license
+ notice giving the public permission to use the Modified
+ Version under the terms of this License, in the form shown in
+ the Addendum below.
+
+ G. Preserve in that license notice the full lists of Invariant
+ Sections and required Cover Texts given in the Document's
+ license notice.
+
+ H. Include an unaltered copy of this License.
+
+ I. Preserve the section Entitled "History", Preserve its Title,
+ and add to it an item stating at least the title, year, new
+ authors, and publisher of the Modified Version as given on
+ the Title Page. If there is no section Entitled "History" in
+ the Document, create one stating the title, year, authors,
+ and publisher of the Document as given on its Title Page,
+ then add an item describing the Modified Version as stated in
+ the previous sentence.
+
+ J. Preserve the network location, if any, given in the Document
+ for public access to a Transparent copy of the Document, and
+ likewise the network locations given in the Document for
+ previous versions it was based on. These may be placed in
+ the "History" section. You may omit a network location for a
+ work that was published at least four years before the
+ Document itself, or if the original publisher of the version
+ it refers to gives permission.
+
+ K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the
+ section all the substance and tone of each of the contributor
+ acknowledgements and/or dedications given therein.
+
+ L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section
+ titles.
+
+ M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+
+ N. Do not retitle any existing section to be Entitled
+ "Endorsements" or to conflict in title with any Invariant
+ Section.
+
+ O. Preserve any Warranty Disclaimers.
+
+ If the Modified Version includes new front-matter sections or
+ appendices that qualify as Secondary Sections and contain no
+ material copied from the Document, you may at your option
+ designate some or all of these sections as invariant. To do this,
+ add their titles to the list of Invariant Sections in the Modified
+ Version's license notice. These titles must be distinct from any
+ other section titles.
+
+ You may add a section Entitled "Endorsements", provided it contains
+ nothing but endorsements of your Modified Version by various
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
+
+ You may add a passage of up to five words as a Front-Cover Text,
+ and a passage of up to 25 words as a Back-Cover Text, to the end
+ of the list of Cover Texts in the Modified Version. Only one
+ passage of Front-Cover Text and one of Back-Cover Text may be
+ added by (or through arrangements made by) any one entity. If the
+ Document already includes a cover text for the same cover,
+ previously added by you or by arrangement made by the same entity
+ you are acting on behalf of, you may not add another; but you may
+ replace the old one, on explicit permission from the previous
+ publisher that added the old one.
+
+ The author(s) and publisher(s) of the Document do not by this
+ License give permission to use their names for publicity for or to
+ assert or imply endorsement of any Modified Version.
+
+ 5. COMBINING DOCUMENTS
+
+ You may combine the Document with other documents released under
+ this License, under the terms defined in section 4 above for
+ modified versions, provided that you include in the combination
+ all of the Invariant Sections of all of the original documents,
+ unmodified, and list them all as Invariant Sections of your
+ combined work in its license notice, and that you preserve all
+ their Warranty Disclaimers.
+
+ The combined work need only contain one copy of this License, and
+ multiple identical Invariant Sections may be replaced with a single
+ copy. If there are multiple Invariant Sections with the same name
+ but different contents, make the title of each such section unique
+ by adding at the end of it, in parentheses, the name of the
+ original author or publisher of that section if known, or else a
+ unique number. Make the same adjustment to the section titles in
+ the list of Invariant Sections in the license notice of the
+ combined work.
+
+ In the combination, you must combine any sections Entitled
+ "History" in the various original documents, forming one section
+ Entitled "History"; likewise combine any sections Entitled
+ "Acknowledgements", and any sections Entitled "Dedications". You
+ must delete all sections Entitled "Endorsements."
+
+ 6. COLLECTIONS OF DOCUMENTS
+
+ You may make a collection consisting of the Document and other
+ documents released under this License, and replace the individual
+ copies of this License in the various documents with a single copy
+ that is included in the collection, provided that you follow the
+ rules of this License for verbatim copying of each of the
+ documents in all other respects.
+
+ You may extract a single document from such a collection, and
+ distribute it individually under this License, provided you insert
+ a copy of this License into the extracted document, and follow
+ this License in all other respects regarding verbatim copying of
+ that document.
+
+ 7. AGGREGATION WITH INDEPENDENT WORKS
+
+ A compilation of the Document or its derivatives with other
+ separate and independent documents or works, in or on a volume of
+ a storage or distribution medium, is called an "aggregate" if the
+ copyright resulting from the compilation is not used to limit the
+ legal rights of the compilation's users beyond what the individual
+ works permit. When the Document is included in an aggregate, this
+ License does not apply to the other works in the aggregate which
+ are not themselves derivative works of the Document.
+
+ If the Cover Text requirement of section 3 is applicable to these
+ copies of the Document, then if the Document is less than one half
+ of the entire aggregate, the Document's Cover Texts may be placed
+ on covers that bracket the Document within the aggregate, or the
+ electronic equivalent of covers if the Document is in electronic
+ form. Otherwise they must appear on printed covers that bracket
+ the whole aggregate.
+
+ 8. TRANSLATION
+
+ Translation is considered a kind of modification, so you may
+ distribute translations of the Document under the terms of section
+ 4. Replacing Invariant Sections with translations requires special
+ permission from their copyright holders, but you may include
+ translations of some or all Invariant Sections in addition to the
+ original versions of these Invariant Sections. You may include a
+ translation of this License, and all the license notices in the
+ Document, and any Warranty Disclaimers, provided that you also
+ include the original English version of this License and the
+ original versions of those notices and disclaimers. In case of a
+ disagreement between the translation and the original version of
+ this License or a notice or disclaimer, the original version will
+ prevail.
+
+ If a section in the Document is Entitled "Acknowledgements",
+ "Dedications", or "History", the requirement (section 4) to
+ Preserve its Title (section 1) will typically require changing the
+ actual title.
+
+ 9. TERMINATION
+
+ You may not copy, modify, sublicense, or distribute the Document
+ except as expressly provided for under this License. Any other
+ attempt to copy, modify, sublicense or distribute the Document is
+ void, and will automatically terminate your rights under this
+ License. However, parties who have received copies, or rights,
+ from you under this License will not have their licenses
+ terminated so long as such parties remain in full compliance.
+
+ 10. FUTURE REVISIONS OF THIS LICENSE
+
+ The Free Software Foundation may publish new, revised versions of
+ the GNU Free Documentation License from time to time. Such new
+ versions will be similar in spirit to the present version, but may
+ differ in detail to address new problems or concerns. See
+ `http://www.gnu.org/copyleft/'.
+
+ Each version of the License is given a distinguishing version
+ number. If the Document specifies that a particular numbered
+ version of this License "or any later version" applies to it, you
+ have the option of following the terms and conditions either of
+ that specified version or of any later version that has been
+ published (not as a draft) by the Free Software Foundation. If
+ the Document does not specify a version number of this License,
+ you may choose any version ever published (not as a draft) by the
+ Free Software Foundation.
+
+A.1.1 ADDENDUM: How to use this License for your documents
+----------------------------------------------------------
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and license
+notices just after the title page:
+
+ Copyright (C) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+
+ If you have Invariant Sections, Front-Cover Texts and Back-Cover
+Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with
+ the Front-Cover Texts being LIST, and with the Back-Cover Texts
+ being LIST.
+
+ If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+ If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License, to
+permit their use in free software.
+
+
+File: info-stnd.info, Node: Index, Prev: Copying This Manual, Up: Top
+
+Appendix B Index
+****************
+
+
+* Menu:
+
+* ', vi-like operation: Node Commands. (line 51)
+* ,: Searching Commands. (line 60)
+* -: Miscellaneous Commands.
+ (line 68)
+* --subnodes, command line option: Invoking Info. (line 145)
+* .info: Custom Key Bindings. (line 6)
+* .infokey: Custom Key Bindings. (line 6)
+* .infokey source format: infokey source format.
+ (line 6)
+* /: Searching Commands. (line 12)
+* 0 ... 9, vi-like operation: Miscellaneous Commands.
+ (line 55)
+* 0, in Info windows: Selecting Xrefs. (line 22)
+* 1 ... 9, in Info windows: Selecting Xrefs. (line 12)
+* <: Node Commands. (line 70)
+* >: Node Commands. (line 77)
+* ?, in Info windows: Miscellaneous Commands.
+ (line 28)
+* ?, in the echo area: The Echo Area. (line 131)
+* ?, vi-like operation: Searching Commands. (line 19)
+* [: Node Commands. (line 90)
+* ]: Node Commands. (line 83)
+* _info file (MS-DOS): Custom Key Bindings. (line 6)
+* _infokey file (MS-DOS): Invoking infokey. (line 6)
+* abort-key: Miscellaneous Commands.
+ (line 83)
+* add-digit-to-numeric-arg: Miscellaneous Commands.
+ (line 55)
+* ANSI escape sequences in documents: Invoking Info. (line 107)
+* Apropos, in Info files: Invoking Info. (line 15)
+* arguments, command line: Invoking Info. (line 6)
+* arguments, negative: Miscellaneous Commands.
+ (line 68)
+* automatic-footnotes: Variables. (line 31)
+* automatic-tiling: Variables. (line 44)
+* b, in Info windows: Cursor Commands. (line 63)
+* b, vi-like operation: Scrolling Commands. (line 62)
+* BackTab, in Info windows: Selecting Xrefs. (line 57)
+* BackTab, in the echo area: The Echo Area. (line 82)
+* backward-char: Cursor Commands. (line 49)
+* backward-word: Cursor Commands. (line 57)
+* beginning-of-line: Cursor Commands. (line 37)
+* beginning-of-node: Cursor Commands. (line 63)
+* BS (backspace): Scrolling Commands. (line 118)
+* C-a, in Info windows: Cursor Commands. (line 37)
+* C-a, in the echo area: The Echo Area. (line 27)
+* C-b, in Info windows: Cursor Commands. (line 49)
+* C-b, in the echo area: The Echo Area. (line 23)
+* C-b, vi-like operation: Scrolling Commands. (line 62)
+* C-CENTER: Node Commands. (line 51)
+* C-d, in the echo area: The Echo Area. (line 48)
+* C-d, vi-like operation: Scrolling Commands. (line 92)
+* C-e, in Info windows: Cursor Commands. (line 41)
+* C-e, in the echo area: The Echo Area. (line 31)
+* C-e, vi-like operation: Scrolling Commands. (line 78)
+* C-End: Cursor Commands. (line 68)
+* C-f, in Info windows: Cursor Commands. (line 45)
+* C-f, in the echo area: The Echo Area. (line 18)
+* C-f, vi-like operation: Scrolling Commands. (line 37)
+* C-g, in Info windows: Miscellaneous Commands.
+ (line 83)
+* C-g, in the echo area: The Echo Area. (line 59)
+* C-h: Miscellaneous Commands.
+ (line 28)
+* C-Home: Cursor Commands. (line 63)
+* C-k, in the echo area: The Echo Area. (line 104)
+* C-k, vi-like operation: Scrolling Commands. (line 87)
+* C-l: Scrolling Commands. (line 123)
+* C-LEFT: Cursor Commands. (line 57)
+* C-LEFT, in the echo area: The Echo Area. (line 44)
+* C-n: Cursor Commands. (line 29)
+* C-n, vi-like operation: Scrolling Commands. (line 78)
+* C-NEXT: Node Commands. (line 22)
+* C-p: Cursor Commands. (line 33)
+* C-p, vi-like operation: Scrolling Commands. (line 87)
+* C-PgDn: Node Commands. (line 24)
+* C-PgUp: Node Commands. (line 30)
+* C-PREVIOUS: Node Commands. (line 28)
+* C-q, in the echo area: The Echo Area. (line 69)
+* C-r: Searching Commands. (line 51)
+* C-RIGHT: Cursor Commands. (line 53)
+* C-RIGHT, in the echo area: The Echo Area. (line 38)
+* C-s: Searching Commands. (line 46)
+* C-t, in the echo area: The Echo Area. (line 86)
+* C-u: Miscellaneous Commands.
+ (line 42)
+* C-u cancels typeahead, vi-like operation: Miscellaneous Commands.
+ (line 83)
+* C-u, in the echo area, vi-like operation: The Echo Area. (line 59)
+* C-u, vi-like operation: Scrolling Commands. (line 99)
+* C-UP: Node Commands. (line 35)
+* C-v: Scrolling Commands. (line 37)
+* C-v, in the echo area, vi-like operation: The Echo Area. (line 69)
+* C-w: Scrolling Commands. (line 130)
+* C-x 0: Basic Windows. (line 34)
+* C-x 1: Basic Windows. (line 39)
+* C-x 2: Basic Windows. (line 26)
+* C-x ^: Basic Windows. (line 47)
+* C-x b: Node Commands. (line 177)
+* C-x C-b: Node Commands. (line 172)
+* C-x C-c: Miscellaneous Commands.
+ (line 92)
+* C-x C-f: Node Commands. (line 166)
+* C-x DEL, in the echo area: The Echo Area. (line 107)
+* C-x g, vi-like operation: Node Commands. (line 101)
+* C-x k: Node Commands. (line 158)
+* C-x N: Searching Commands. (line 40)
+* C-x n: Searching Commands. (line 34)
+* C-x n, vi-like operation: Node Commands. (line 22)
+* C-x o: Basic Windows. (line 12)
+* C-x r, vi-like operation: Selecting Xrefs. (line 39)
+* C-x t: Basic Windows. (line 52)
+* C-x u, vi-like operation: Node Commands. (line 35)
+* C-y, in the echo area: The Echo Area. (line 110)
+* C-y, vi-like operation: Scrolling Commands. (line 87)
+* cancelling the current operation: Miscellaneous Commands.
+ (line 83)
+* cancelling typeahead: Miscellaneous Commands.
+ (line 83)
+* case-sensitive search: Searching Commands. (line 27)
+* case-sensitivity, and search: Searching Commands. (line 81)
+* colors in documents: Invoking Info. (line 107)
+* command line options: Invoking Info. (line 6)
+* command-line options, how to find: Invoking Info. (line 124)
+* commands, describing: Miscellaneous Commands.
+ (line 9)
+* completion: The Echo Area. (line 115)
+* compressed Info files: Invoking Info. (line 62)
+* cursor, moving: Cursor Commands. (line 6)
+* customizing key bindings: Custom Key Bindings. (line 6)
+* d: Node Commands. (line 63)
+* d, vi-like operation: Scrolling Commands. (line 92)
+* default key bindings, overriding: Custom Key Bindings. (line 6)
+* DEL, in Info windows: Scrolling Commands. (line 49)
+* DEL, in the echo area: The Echo Area. (line 51)
+* delete-window: Basic Windows. (line 34)
+* describe-command: Miscellaneous Commands.
+ (line 9)
+* describe-key: Miscellaneous Commands.
+ (line 13)
+* describe-variable: Variables. (line 25)
+* dir-node: Node Commands. (line 63)
+* directory path: Invoking Info. (line 26)
+* DOWN (an arrow key): Cursor Commands. (line 29)
+* DOWN, vi-like operation: Scrolling Commands. (line 78)
+* down-line: Scrolling Commands. (line 78)
+* e, in Info windows: Cursor Commands. (line 68)
+* echo area: The Echo Area. (line 6)
+* echo-area-abort: The Echo Area. (line 59)
+* echo-area-backward: The Echo Area. (line 23)
+* echo-area-backward-kill-line: The Echo Area. (line 107)
+* echo-area-backward-kill-word: The Echo Area. (line 98)
+* echo-area-backward-word: The Echo Area. (line 42)
+* echo-area-beg-of-line: The Echo Area. (line 27)
+* echo-area-complete: The Echo Area. (line 128)
+* echo-area-delete: The Echo Area. (line 48)
+* echo-area-end-of-line: The Echo Area. (line 31)
+* echo-area-forward: The Echo Area. (line 18)
+* echo-area-forward-word: The Echo Area. (line 36)
+* echo-area-insert: The Echo Area. (line 74)
+* echo-area-kill-line: The Echo Area. (line 104)
+* echo-area-kill-word: The Echo Area. (line 94)
+* echo-area-newline: The Echo Area. (line 65)
+* echo-area-possible-completions: The Echo Area. (line 131)
+* echo-area-quoted-insert: The Echo Area. (line 69)
+* echo-area-rubout: The Echo Area. (line 51)
+* echo-area-scroll-completions-window: The Echo Area. (line 155)
+* echo-area-tab-insert: The Echo Area. (line 80)
+* echo-area-transpose-chars: The Echo Area. (line 86)
+* echo-area-yank: The Echo Area. (line 110)
+* echo-area-yank-pop: The Echo Area. (line 113)
+* End: Cursor Commands. (line 41)
+* end-of-line: Cursor Commands. (line 41)
+* end-of-node: Cursor Commands. (line 68)
+* errors-ring-bell: Variables. (line 55)
+* ESC C-f: Miscellaneous Commands.
+ (line 109)
+* ESC C-v, in Info windows: Basic Windows. (line 42)
+* ESC C-v, in the echo area: The Echo Area. (line 155)
+* f: Selecting Xrefs. (line 39)
+* f, vi-like operation: Scrolling Commands. (line 37)
+* F1: Miscellaneous Commands.
+ (line 28)
+* FDL, GNU Free Documentation License: GNU Free Documentation License.
+ (line 6)
+* file names, relative: Invoking Info. (line 53)
+* file, outputting to: Invoking Info. (line 102)
+* files, compressed: Invoking Info. (line 62)
+* find-menu: Selecting Xrefs. (line 30)
+* finding the Invocation node: Node Commands. (line 115)
+* first-node: Node Commands. (line 70)
+* footnotes, displaying: Miscellaneous Commands.
+ (line 109)
+* format of .infokey source: infokey source format.
+ (line 6)
+* forward-char: Cursor Commands. (line 45)
+* forward-word: Cursor Commands. (line 53)
+* functions, describing: Miscellaneous Commands.
+ (line 9)
+* g: Node Commands. (line 101)
+* G: Node Commands. (line 133)
+* G, vi-like operation: Node Commands. (line 77)
+* g, vi-like operation: Node Commands. (line 70)
+* gc-compressed-files: Variables. (line 59)
+* get-help-window: Miscellaneous Commands.
+ (line 28)
+* get-info-help-node: Miscellaneous Commands.
+ (line 34)
+* global-next-node: Node Commands. (line 83)
+* global-prev-node: Node Commands. (line 90)
+* goto-invocation: Node Commands. (line 115)
+* goto-node: Node Commands. (line 101)
+* grow-window: Basic Windows. (line 47)
+* h: Miscellaneous Commands.
+ (line 34)
+* h, vi-like operation: Miscellaneous Commands.
+ (line 28)
+* history-node: Node Commands. (line 51)
+* Home: Cursor Commands. (line 37)
+* i: Searching Commands. (line 56)
+* I: Node Commands. (line 115)
+* incremental search: Searching Commands. (line 46)
+* index search, selecting from the command line: Invoking Info.
+ (line 78)
+* index, searching: Searching Commands. (line 56)
+* index-apropos: Searching Commands. (line 64)
+* index-search: Searching Commands. (line 56)
+* Info file, selecting: Invoking Info. (line 49)
+* Info files, compressed: Invoking Info. (line 62)
+* Info files, relative: Invoking Info. (line 53)
+* Info files, searching all indices: Invoking Info. (line 15)
+* Info manual location: Invoking Info. (line 160)
+* Info, invoking: Invoking Info. (line 6)
+* INFO_PRINT_COMMAND, environment variable: Printing Nodes. (line 13)
+* infokey: Custom Key Bindings. (line 6)
+* infokey source format: infokey source format.
+ (line 6)
+* infokey, invoking: Invoking infokey. (line 6)
+* invocation description, how to find: Invoking Info. (line 124)
+* invoking Info: Invoking Info. (line 6)
+* invoking infokey: Invoking infokey. (line 6)
+* isearch-backward: Searching Commands. (line 51)
+* isearch-forward: Searching Commands. (line 46)
+* ISO Latin characters: Variables. (line 74)
+* ISO-Latin: Variables. (line 74)
+* k, vi-like operation: Scrolling Commands. (line 87)
+* keep-one-window: Basic Windows. (line 39)
+* key bindings, customizing: Custom Key Bindings. (line 6)
+* keys, describing: Miscellaneous Commands.
+ (line 13)
+* keystrokes, recording: Invoking Info. (line 42)
+* kill-node: Node Commands. (line 158)
+* l: Node Commands. (line 51)
+* last-menu-item: Selecting Xrefs. (line 22)
+* last-node: Node Commands. (line 77)
+* LEFT (an arrow key): Cursor Commands. (line 49)
+* LEFT, in the echo area: The Echo Area. (line 23)
+* Less-like key bindings: Invoking Info. (line 154)
+* LFD, vi-like operation: Scrolling Commands. (line 78)
+* list-visited-nodes: Node Commands. (line 172)
+* local printer device: Printing Nodes. (line 18)
+* m: Selecting Xrefs. (line 25)
+* M-$, vi-like operation: The Echo Area. (line 31)
+* M--: Miscellaneous Commands.
+ (line 68)
+* M-0 ... M-9: Miscellaneous Commands.
+ (line 55)
+* M-0, in the echo area, vi-like operation: The Echo Area. (line 27)
+* M-0, vi-like operation: Selecting Xrefs. (line 22)
+* M-1 ... M-9, vi-like operation: Selecting Xrefs. (line 12)
+* M-<: Cursor Commands. (line 63)
+* M->: Cursor Commands. (line 68)
+* M-b, in Info windows: Cursor Commands. (line 57)
+* M-b, in the echo area: The Echo Area. (line 42)
+* M-b, vi-like operation: Cursor Commands. (line 63)
+* M-BS, in the echo area: The Echo Area. (line 100)
+* M-d, in the echo area: The Echo Area. (line 94)
+* M-d, vi-like operation: Node Commands. (line 63)
+* M-DEL, in the echo area: The Echo Area. (line 98)
+* M-f, in Info windows: Cursor Commands. (line 53)
+* M-f, in the echo area: The Echo Area. (line 36)
+* M-f, vi-like operation: Selecting Xrefs. (line 39)
+* M-g, vi-like operation: Selecting Xrefs. (line 62)
+* M-h, in the echo area, vi-like operation: The Echo Area. (line 18)
+* M-h, vi-like operation: Miscellaneous Commands.
+ (line 34)
+* M-l, in the echo area, vi-like operation: The Echo Area. (line 23)
+* M-r: Cursor Commands. (line 71)
+* M-SPC, vi-like operation: Scrolling Commands. (line 37)
+* M-t, vi-like operation: Node Commands. (line 59)
+* M-TAB, in Info windows: Selecting Xrefs. (line 54)
+* M-TAB, in the echo area: The Echo Area. (line 80)
+* M-v: Scrolling Commands. (line 62)
+* M-w, in the echo area, vi-like operation: The Echo Area. (line 36)
+* M-x, in the echo area, vi-like operation: The Echo Area. (line 48)
+* M-X, in the echo area, vi-like operation: The Echo Area. (line 94)
+* M-y, in the echo area: The Echo Area. (line 113)
+* menu, following: Invoking Info. (line 167)
+* menu, following, from inside Info: Node Commands. (line 133)
+* menu-digit: Selecting Xrefs. (line 12)
+* menu-item: Selecting Xrefs. (line 25)
+* menu-sequence: Node Commands. (line 133)
+* move-to-next-xref: Selecting Xrefs. (line 47)
+* move-to-prev-xref: Selecting Xrefs. (line 54)
+* move-to-window-line: Cursor Commands. (line 71)
+* moving the cursor: Cursor Commands. (line 6)
+* n: Node Commands. (line 22)
+* n, vi-like operation: Searching Commands. (line 34)
+* negative arguments: Miscellaneous Commands.
+ (line 68)
+* NEXT: Scrolling Commands. (line 37)
+* next-index-match: Searching Commands. (line 60)
+* next-line: Cursor Commands. (line 29)
+* next-node: Node Commands. (line 22)
+* next-window: Basic Windows. (line 12)
+* node, selecting from the command line: Invoking Info. (line 93)
+* nodes, selection of: Node Commands. (line 6)
+* numeric arguments: Miscellaneous Commands.
+ (line 42)
+* numeric arguments, negative: Miscellaneous Commands.
+ (line 68)
+* O: Node Commands. (line 115)
+* online help, using Info as: Invoking Info. (line 78)
+* options, command line: Invoking Info. (line 6)
+* outputting to a file: Invoking Info. (line 102)
+* overriding default key bindings: Custom Key Bindings. (line 6)
+* p: Node Commands. (line 28)
+* PageDown: Scrolling Commands. (line 41)
+* PageUp: Scrolling Commands. (line 114)
+* prev-line: Cursor Commands. (line 33)
+* prev-node: Node Commands. (line 28)
+* prev-window: Basic Windows. (line 22)
+* PREVIOUS: Scrolling Commands. (line 62)
+* print-node: Printing Nodes. (line 13)
+* printing: Printing Nodes. (line 6)
+* printing characters, in the echo area: The Echo Area. (line 74)
+* printing nodes to the local printer: Printing Nodes. (line 18)
+* q: Miscellaneous Commands.
+ (line 92)
+* quit: Miscellaneous Commands.
+ (line 92)
+* quitting: Miscellaneous Commands.
+ (line 92)
+* r: Selecting Xrefs. (line 39)
+* redraw-display: Scrolling Commands. (line 123)
+* relative Info file names: Invoking Info. (line 53)
+* remembering user keystrokes: Invoking Info. (line 42)
+* repeated search: Searching Commands. (line 34)
+* replaying recorded keystrokes: Invoking Info. (line 118)
+* RET, in Info windows: Selecting Xrefs. (line 62)
+* RET, in the echo area: The Echo Area. (line 65)
+* RET, vi-like operation: Scrolling Commands. (line 78)
+* RIGHT (an arrow key): Cursor Commands. (line 45)
+* RIGHT, in the echo area: The Echo Area. (line 18)
+* S: Searching Commands. (line 27)
+* s: Searching Commands. (line 12)
+* screen, changing the height of: Miscellaneous Commands.
+ (line 99)
+* scroll-backward: Scrolling Commands. (line 49)
+* scroll-backward-page-only: Scrolling Commands. (line 62)
+* scroll-backward-page-only-set-window: Scrolling Commands. (line 69)
+* scroll-behavior: Variables. (line 81)
+* scroll-forward: Scrolling Commands. (line 16)
+* scroll-forward-page-only: Scrolling Commands. (line 37)
+* scroll-forward-page-only-set-window: Scrolling Commands. (line 44)
+* scroll-half-screen-down: Scrolling Commands. (line 92)
+* scroll-half-screen-up: Scrolling Commands. (line 99)
+* scroll-other-window: Basic Windows. (line 42)
+* scroll-step: Variables. (line 101)
+* scrolling: Scrolling Commands. (line 6)
+* scrolling through node structure: Scrolling Commands. (line 104)
+* search: Searching Commands. (line 12)
+* search, and case-sensitivity: Searching Commands. (line 81)
+* search, case-sensitive: Searching Commands. (line 27)
+* search-backward: Searching Commands. (line 19)
+* search-case-sensitively: Searching Commands. (line 27)
+* search-next: Searching Commands. (line 34)
+* search-previous: Searching Commands. (line 40)
+* searching: Searching Commands. (line 6)
+* Searching all indices: Invoking Info. (line 15)
+* searching, in the indices: Searching Commands. (line 56)
+* select-reference-this-line: Selecting Xrefs. (line 62)
+* select-visited-node: Node Commands. (line 177)
+* set-screen-height: Miscellaneous Commands.
+ (line 99)
+* set-variable: Variables. (line 16)
+* Shift-TAB, in Info windows: Selecting Xrefs. (line 57)
+* Shift-TAB, in the echo area: The Echo Area. (line 80)
+* show-footnotes: Miscellaneous Commands.
+ (line 109)
+* show-index-match: Variables. (line 115)
+* SPC, in Info windows: Scrolling Commands. (line 16)
+* SPC, in the echo area: The Echo Area. (line 128)
+* speech synthesizers: Invoking Info. (line 135)
+* split-window: Basic Windows. (line 26)
+* t: Node Commands. (line 59)
+* TAB, in Info windows: Selecting Xrefs. (line 47)
+* TAB, in the echo area: The Echo Area. (line 128)
+* tile-windows: Basic Windows. (line 52)
+* tiling: Basic Windows. (line 52)
+* toggle-wrap: Scrolling Commands. (line 130)
+* top-node: Node Commands. (line 59)
+* u: Node Commands. (line 35)
+* u, vi-like operation: Scrolling Commands. (line 99)
+* universal-argument: Miscellaneous Commands.
+ (line 42)
+* UP (an arrow key): Cursor Commands. (line 33)
+* UP, vi-like operation: Scrolling Commands. (line 87)
+* up-line: Scrolling Commands. (line 87)
+* up-node: Node Commands. (line 35)
+* variables, describing: Variables. (line 25)
+* variables, setting: Variables. (line 16)
+* version information: Invoking Info. (line 152)
+* vi-like key bindings: Invoking Info. (line 154)
+* view-file: Node Commands. (line 166)
+* visible-bell: Variables. (line 124)
+* w, vi-like operation: Scrolling Commands. (line 69)
+* Where is an Info manual?: Invoking Info. (line 160)
+* where-is: Miscellaneous Commands.
+ (line 21)
+* windows, creating: Basic Windows. (line 26)
+* windows, deleting: Basic Windows. (line 34)
+* windows, manipulating: Window Commands. (line 6)
+* windows, selecting: Basic Windows. (line 12)
+* xref-item: Selecting Xrefs. (line 39)
+* y, vi-like operation: Scrolling Commands. (line 87)
+* z, vi-like operation: Scrolling Commands. (line 44)
+* ZZ, vi-like operation: Miscellaneous Commands.
+ (line 92)
+
+
+
+Tag Table:
+Node: Top1237
+Node: What is Info3658
+Node: Invoking Info4202
+Ref: --apropos4625
+Ref: --show-options9978
+Ref: --vi-keys11290
+Ref: command-line menu items11719
+Ref: Invoking Info-Footnote-112826
+Ref: Invoking Info-Footnote-212873
+Ref: Invoking Info-Footnote-313257
+Node: Cursor Commands13464
+Ref: Cursor Commands-Footnote-116236
+Ref: Cursor Commands-Footnote-216517
+Node: Scrolling Commands16668
+Node: Node Commands23034
+Ref: goto-node26801
+Ref: goto-invocation27376
+Node: Searching Commands30701
+Node: Xref Commands35605
+Node: Parts of an Xref36224
+Node: Selecting Xrefs38191
+Node: Window Commands40375
+Node: The Mode Line41316
+Node: Basic Windows43222
+Node: The Echo Area45745
+Ref: The Echo Area-Footnote-151204
+Node: Printing Nodes51293
+Node: Miscellaneous Commands52448
+Node: Variables56705
+Node: Custom Key Bindings63177
+Ref: Custom Key Bindings-Footnote-164312
+Node: Invoking infokey64513
+Ref: Invoking infokey-Footnote-165172
+Node: infokey source format65299
+Node: Copying This Manual69722
+Node: GNU Free Documentation License69968
+Node: Index92377
+
+End Tag Table
diff --git a/Master/texmf/doc/info/info.info b/Master/texmf/doc/info/info.info
new file mode 100644
index 00000000000..2c483e6e47c
--- /dev/null
+++ b/Master/texmf/doc/info/info.info
@@ -0,0 +1,1410 @@
+This is info.info, produced by makeinfo version 4.7 from info.texi.
+
+ This file describes how to use Info, the on-line, menu-driven GNU
+documentation system.
+
+ Copyright (C) 1989, 1992, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+2003, 2004 Free Software Foundation, Inc.
+
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation License,
+ Version 1.1 or any later version published by the Free Software
+ Foundation; with no Invariant Sections, with the Front-Cover texts
+ being "A GNU Manual", and with the Back-Cover Texts as in (a)
+ below. A copy of the license is included in the section entitled
+ "GNU Free Documentation License" in the Emacs manual.
+
+ (a) The FSF's Back-Cover Text is: "You have freedom to copy and
+ modify this GNU Manual, like GNU software. Copies published by
+ the Free Software Foundation raise funds for GNU development."
+
+ This document is part of a collection distributed under the GNU
+ Free Documentation License. If you want to distribute this
+ document separately from the collection, you can do so by adding a
+ copy of the license to the document, as described in section 6 of
+ the license.
+
+INFO-DIR-SECTION Texinfo documentation system
+START-INFO-DIR-ENTRY
+* Info: (info). How to use the documentation browsing system.
+END-INFO-DIR-ENTRY
+
+
+File: info.info, Node: Top, Next: Getting Started, Up: (dir)
+
+Info: An Introduction
+*********************
+
+The GNU Project distributes most of its on-line manuals in the "Info
+format", which you read using an "Info reader". You are probably using
+an Info reader to read this now.
+
+ If you are new to the Info reader and want to learn how to use it,
+type the command `h' now. It brings you to a programmed instruction
+sequence.
+
+ To read about expert-level Info commands, type `n' twice. This
+brings you to `Info for Experts', skipping over the `Getting Started'
+chapter.
+
+* Menu:
+
+* Getting Started:: Getting started using an Info reader.
+* Expert Info:: Info commands for experts.
+* Creating an Info File:: How to make your own Info file.
+* Index:: An index of topics, commands, and variables.
+
+
+File: info.info, Node: Getting Started, Next: Expert Info, Prev: Top, Up: Top
+
+1 Getting Started
+*****************
+
+This first part of the Info manual describes how to get around inside
+of Info. The second part of the manual describes various advanced Info
+commands, and how to write an Info as distinct from a Texinfo file.
+The third part briefly explains how to generate Info files from Texinfo
+files.
+
+* Menu:
+
+* Help-Small-Screen:: Starting Info on a Small Screen
+* Help:: How to use Info
+* Help-P:: Returning to the Previous node
+* Help-^L:: The Space, DEL, B and ^L commands.
+* Help-Inv:: Invisible text in Emacs Info.
+* Help-M:: Menus
+* Help-Xref:: Following cross-references
+* Help-Int:: Some intermediate Info commands
+* Help-Q:: Quitting Info
+
+
+File: info.info, Node: Help-Small-Screen, Next: Help, Up: Getting Started
+
+1.1 Starting Info on a Small Screen
+===================================
+
+Since your terminal has a relatively small number of lines on its
+screen, it is necessary to give you special advice at the beginning.
+
+ If you see the text `--All----' near the bottom right corner of the
+screen, it means the entire text you are looking at fits on the screen.
+If you see `--Top----' instead, it means that there is more text below
+that does not fit. To move forward through the text and see another
+screen full, press <SPC>, the Space bar. To move back up, press the
+key labeled `Backspace' or `DEL' (on some keyboards, this key might be
+labeled `Delete').
+
+ Here are 40 lines of junk, so you can try <SPC> and <DEL> and see
+what they do. At the end are instructions of what you should do next.
+
+This is line 20
+This is line 21
+This is line 22
+This is line 23
+This is line 24
+This is line 25
+This is line 26
+This is line 27
+This is line 28
+This is line 29
+This is line 30
+This is line 31
+This is line 32
+This is line 33
+This is line 34
+This is line 35
+This is line 36
+This is line 37
+This is line 38
+This is line 39
+This is line 40
+This is line 41
+This is line 42
+This is line 43
+This is line 44
+This is line 45
+This is line 46
+This is line 47
+This is line 48
+This is line 49
+This is line 50
+This is line 51
+This is line 52
+This is line 53
+This is line 54
+This is line 55
+This is line 56
+This is line 57
+This is line 58
+This is line 59
+
+ If you have managed to get here, go back to the beginning with `DEL'
+(or <BACKSPACE>), and come back here again, then you understand the
+about the `Space' and `Backspace' keys. So now type an `n' --just one
+character; don't type the quotes and don't type the Return key
+afterward-- to get to the normal start of the course.
+
+
+File: info.info, Node: Help, Next: Help-P, Prev: Help-Small-Screen, Up: Getting Started
+
+1.2 How to use Info
+===================
+
+You are talking to the program Info, for reading documentation.
+
+ There are two ways to use Info: from within Emacs or as a stand-alone
+reader that you can invoke from a shell using the command `info'.
+
+ Right now you are looking at one "Node" of Information. A node
+contains text describing a specific topic at a specific level of
+detail. This node's topic is "how to use Info". The mode line says
+that this is node `Help' in the file `info'.
+
+ The top line of a node is its "header". This node's header (look at
+it now) says that the `Next' node after this one is the node called
+`Help-P'. An advanced Info command lets you go to any node whose name
+you know. In the stand-alone Info reader program, the header line
+shows the names of this node and the info file as well. In Emacs, the
+header line is duplicated in a special typeface, and the duplicate
+remains at the top of the window all the time even if you scroll
+through the node.
+
+ Besides a `Next', a node can have a `Previous' or an `Up' links, or
+both. As you can see, this node has all of these links.
+
+ Now it is time to move on to the `Next' node, named `Help-P'.
+
+>> Type `n' to move there. Type just one character;
+ do not type the quotes and do not type a <RET> afterward.
+
+`>>' in the margin means it is really time to try a command.
+
+>> If you are in Emacs and have a mouse, and if you already practiced
+ typing `n' to get to the next node, click now with the middle
+ mouse button on the `Next' link to do the same "the mouse way".
+
+
+File: info.info, Node: Help-P, Next: Help-^L, Prev: Help, Up: Getting Started
+
+1.3 Returning to the Previous node
+==================================
+
+This node is called `Help-P'. The `Previous' node, as you see, is
+`Help', which is the one you just came from using the `n' command.
+Another `n' command now would take you to the next node, `Help-^L'.
+
+>> But do not type `n' yet. First, try the `p' command,
+ or click the middle mouse button on the `Prev' link. That
+ takes you to the `Previous' node. Then use `n' to return here.
+
+ If you read this in Emacs, you will see an `Info' item in the menu
+bar, close to its right edge. Clicking the mouse on the `Info'
+menu-bar item opens a menu of commands which include `Next' and `Prev'
+(and also some others which you didn't yet learn about).
+
+ This all probably seems insultingly simple so far, but _please don't_
+start skimming. Things will get complicated soon enough! Also, please
+do not try a new command until you are told it is time to. You could
+make Info skip past an important warning that was coming up.
+
+>> Now do an `n', or click the middle mouse button on the `Next'
+ link, to get to the node `Help-^L' and learn more.
+
+
+File: info.info, Node: Help-^L, Next: Help-Inv, Prev: Help-P, Up: Getting Started
+
+1.4 The Space, DEL, B and ^L commands
+=====================================
+
+This node's mode line tells you that you are now at node `Help-^L', and
+the header line tells you that `p' would get you back to `Help-P'. The
+node's title is highlighted and may be underlined as well; it says what
+the node is about.
+
+ This is a big node and it does not all fit on your display screen.
+You can tell that there is more that is not visible because you can see
+the string `--Top-----' rather than `--All----' near the bottom right
+corner of the screen.
+
+ The <SPC>, <BACKSPACE> (or <DEL>)(1) and `b' commands exist to allow
+you to "move around" in a node that does not all fit on the screen at
+once. <SPC> moves forward, to show what was below the bottom of the
+screen. <DEL> or <BACKSPACE> moves backward, to show what was above
+the top of the screen (there is not anything above the top until you
+have typed some spaces).
+
+>> Now try typing a <SPC> (afterward, type a <BACKSPACE> to
+ return here).
+
+ When you type the <SPC>, the two lines that were at the bottom of the
+screen appear at the top, followed by more lines. <DEL> or <BACKSPACE>
+takes the two lines from the top and moves them to the bottom,
+_usually_, but if there are not a full screen's worth of lines above
+them they may not make it all the way to the bottom.
+
+ If you are reading this in Emacs, note that the header line is always
+visible, never scrolling off the display. That way, you can always see
+the `Next', `Prev', and `Up' links, and you can conveniently go to one
+of these links at any time by clicking the middle mouse button on the
+link.
+
+ <SPC> and <DEL> not only move forward and backward through the
+current node. They also move between nodes. <SPC> at the end of a
+node moves to the next node; <DEL> (or <BACKSPACE>) at the beginning of
+a node moves to the previous node. In effect, these commands scroll
+through all the nodes in an Info file as a single logical sequence.
+You can read an entire manual top to bottom by just typing <SPC>, and
+move backward through the entire manual from bottom to top by typing
+<DEL> (or <BACKSPACE>).
+
+ In this sequence, a node's subnodes appear following their parent.
+If a node has a menu, <SPC> takes you into the subnodes listed in the
+menu, one by one. Once you reach the end of a node, and have seen all
+of its subnodes, <SPC> takes you to the next node or to the parent's
+next node.
+
+ Many keyboards nowadays have two scroll keys labeled `PageUp' and
+`PageDown' (or maybe `Prior' and `Next'). If your keyboard has these
+keys, you can use them to move forward and backward through the text of
+one node, like <SPC> and <BACKSPACE> (or <DEL>). However, <PAGEUP> and
+<PAGEDOWN> keys never scroll beyond the beginning or the end of the
+current node.
+
+ If your screen is ever garbaged, you can tell Info to display it
+again by typing `C-l' (`Control-L', that is--hold down <CTRL> and type
+`L' or `l').
+
+>> Type `C-l' now.
+
+ To move back to the beginning of the node you are on, you can type
+the <BACKSPACE> key (or <DEL>) many times. You can also type `b' just
+once. `b' stands for "beginning."
+
+>> Try that now. (We have put in enough verbiage to push this past
+ the first screenful, but screens are so big nowadays that perhaps it
+ isn't enough. You may need to shrink your Emacs or Info window.)
+ Then come back, by typing <SPC> one or more times.
+
+ If your screen is very tall, all of this node might fit at once. In
+that case, `b' won't do anything. But you could observe the effect of
+the `b' key if you use a smaller window.
+
+ You have just learned a considerable number of commands. If you want
+to use one but have trouble remembering which, you should type a `?'
+(in Emacs it runs the `Info-summary' command) which displays a brief
+list of commands. When you are finished looking at the list, make it
+go away by typing a <SPC> repeatedly.
+
+>> Type a <?> now. Press <SPC> to see consecutive screenfuls of
+ the list until finished. Then type <SPC> several times. If
+ you are using Emacs, the help will then go away automatically.
+
+ (If you are using the stand-alone Info reader, type `C-x 0' to return
+here, that is--press and hold <CTRL>, type an `x', then release <CTRL>
+and `x', and press `0'--a zero, not the letter "o".)
+
+ From now on, you will encounter large nodes without warning, and will
+be expected to know how to use <SPC> and <BACKSPACE> to move around in
+them without being told. Since not all terminals have the same size
+screen, it would be impossible to warn you anyway.
+
+>> Now type `n', or click the middle mouse button on the `Next' link,
+ to visit the next node.
+
+ ---------- Footnotes ----------
+
+ (1) The key which we call "Backspace or DEL" in this manual is
+labeled differently on different keyboards. Look for a key which is a
+little ways above the <ENTER> or <RET> key and which you normally use
+outside Emacs to erase the character before the cursor, i.e. the
+character you typed last. It might be labeled `Backspace' or `<-' or
+`DEL', or sometimes `Delete'.
+
+
+File: info.info, Node: Help-Inv, Next: Help-M, Prev: Help-^L, Up: Getting Started
+
+1.5 Invisible text in Emacs Info
+================================
+
+Before discussing menus, we need to make some remarks that are only
+relevant to users reading Info using Emacs. Users of the stand-alone
+version can skip this node by typing `]' now.
+
+ In Emacs, certain text that appears in the stand-alone version is
+normally hidden, technically because it has the `invisibility'
+property. Invisible text is really a part of the text. It becomes
+visible (by default) after killing and yanking, it appears in printed
+output, it gets saved to file just like any other text, and so on.
+Thus it is useful to know it is there.
+
+ You can make invisible text visible by using the command `M-x
+visible-mode'. Visible mode is a minor mode, so using the command a
+second time will make the text invisible again. Watch the effects of
+the command on the "menu" below and the top line of this node.
+
+ If you prefer to _always_ see the invisible text, you can set
+`Info-hide-note-references' to `nil'. Enabling Visible mode
+permanently is not a real alternative, because Emacs Info also uses
+(although less extensively) another text property that can change the
+text being displayed, the `display' property. Only the invisibility
+property is affected by Visible mode. When, in this tutorial, we refer
+to the `Emacs' behavior, we mean the _default_ Emacs behavior.
+
+ Now type `]', to learn about the `]' and `[' commands.
+
+* Menu:
+
+* ]: Help-]. Node telling about ].
+* stuff: Help-]. Same node.
+* Help-]:: Yet again, same node.
+
+
+File: info.info, Node: Help-], Up: Help-Inv
+
+1.5.1 The `]' and `[' commands
+------------------------------
+
+If you type `n' now, you get an error message saying that this node has
+no next node. Similarly, if you type `p', the error message tells you
+that there is no previous node. (The exact message depends on the Info
+reader you use.) This is because `n' and `p' carry you to the next and
+previous node _at the same level_. The present node is contained in a
+menu (see next) of the node you came from, and hence is considered to
+be at a lower level. It is the only node in the previous node's menu
+(even though it was listed three times). Hence it has no next or
+previous node that `n' or `p' could move to.
+
+ If you systematically move through a manual by typing `n', you run
+the risk of skipping many nodes. You do not run this risk if you
+systematically use `<SPC>', because, when you scroll to the bottom of a
+node and type another `<SPC>', then this carries you to the following
+node in the manual _regardless of level_. If you immediately want to
+go to that node, without having to scroll to the bottom of the screen
+first, you can type `]'.
+
+ Similarly, `<BACKSPACE>' carries you to the preceding node regardless
+of level, after you scrolled to the beginning of the present node. If
+you want to go to the preceding node immediately, you can type `['.
+
+ For instance, typing this sequence will come back here in three steps:
+`[ n ['. To do the same backward, type `] p ]'.
+
+ Now type `]' to go to the next node and learn about menus.
+
+
+File: info.info, Node: Help-M, Next: Help-Xref, Prev: Help-Inv, Up: Getting Started
+
+1.6 Menus and the `m' command
+=============================
+
+With only the `n' (next), `p' (previous), `<SPC>', `<BACKSPACE>', `]'
+and `[' commands for moving between nodes, nodes are restricted to a
+linear sequence. Menus allow a branching structure. A menu is a list
+of other nodes you can move to. It is actually just part of the text
+of the node formatted specially so that Info can interpret it. The
+beginning of a menu is always identified by a line which starts with
+`* Menu:'. A node contains a menu if and only if it has a line in it
+which starts that way. The only menu you can use at any moment is the
+one in the node you are in. To use a menu in any other node, you must
+move to that node first.
+
+ After the start of the menu, each line that starts with a `*'
+identifies one subtopic. The line usually contains a brief name for
+the subtopic (followed by a `:', normally hidden in Emacs), the name of
+the node that talks about that subtopic (again, normally hidden in
+Emacs), and optionally some further description of the subtopic. Lines
+in the menu that do not start with a `*' have no special meaning--they
+are only for the human reader's benefit and do not define additional
+subtopics. Here is an example:
+
+ * Foo: Node about FOO. This tells about FOO.
+
+ The subtopic name is Foo, and the node describing it is `Node about
+FOO'. The rest of the line is just for the reader's Information. [[
+But this line is not a real menu item, simply because there is no line
+above it which starts with `* Menu:'. Also, in a real menu item, the
+`*' would appear at the very start of the line. This is why the
+"normally hidden" text in Emacs, namely `: Node about FOO.', is
+actually visible in this example, even when Visible mode is off.]]
+
+ When you use a menu to go to another node (in a way that will be
+described soon), what you specify is the subtopic name, the first thing
+in the menu line. Info uses it to find the menu line, extracts the
+node name from it, and goes to that node. The reason that there is
+both a subtopic name and a node name is that the node name must be
+meaningful to the computer and may therefore have to be ugly looking.
+The subtopic name can be chosen just to be convenient for the user to
+specify. Often the node name is convenient for the user to specify and
+so both it and the subtopic name are the same. There is an
+abbreviation for this:
+
+ * Foo:: This tells about FOO.
+
+This means that the subtopic name and node name are the same; they are
+both `Foo'. (The `::' is normally hidden in Emacs.)
+
+>> Now use <SPC> to find the menu in this node, then come back to
+ the front with a `b' and some <SPC>s. As you see, a menu is
+ actually visible in its node. If you cannot find a menu in a node
+ by looking at it, then the node does not have a menu and the
+ `m' command is not available.
+
+ If you keep typing <SPC> once the menu appears on the screen, it will
+move to another node (the first one in the menu). If that happens,
+type <BACKSPACE> to come back.
+
+ The command to go to one of the subnodes is `m'. This is very
+different from the commands you have used: it is a command that prompts
+you for more input.
+
+ The Info commands you know do not need additional input; when you
+type one of them, Info processes it instantly and then is ready for
+another command. The `m' command is different: it needs to know the
+"name of the subtopic". Once you have typed `m', Info tries to read
+the subtopic name.
+
+ Now, in the stand-alone Info, look for the line containing many
+dashes near the bottom of the screen. (This is the stand-alone
+equivalent for the mode line in Emacs.) There is one more line beneath
+that one, but usually it is blank. (In Emacs, this is the echo area.)
+When it is blank, Info is ready for a command, such as `n' or `b' or
+<SPC> or `m'. If that line contains text ending in a colon, it means
+Info is reading more input for the last command. You can't type an
+Info command then, because Info is trying to read input, not commands.
+You must either give the input and finish the command you started, or
+type `Control-g' to cancel the command. When you have done one of
+those things, the input entry line becomes blank again. Then you can
+type Info commands again.
+
+ The command to go to a subnode via a menu is `m'. After you type the
+`m', the line at the bottom of the screen says `Menu item: '. You must
+then type the name of the subtopic you want, and end it with a <RET>.
+In Emacs, `m' runs the command `Info-menu'.
+
+ You can abbreviate the subtopic name. If the abbreviation is not
+unique, the first matching subtopic is chosen. Some menus put the
+shortest possible abbreviation for each subtopic name in capital
+letters, so you can see how much you need to type. It does not matter
+whether you use upper case or lower case when you type the subtopic.
+You should not put any spaces at the end, or inside of the item name,
+except for one space where a space appears in the item in the menu.
+
+ You can also use the "completion" feature to help enter the subtopic
+name. If you type the <TAB> key after entering part of a name, it will
+fill in more of the name--as much as Info can deduce from the part you
+have entered.
+
+ If you move the cursor to one of the menu subtopic lines, then you do
+not need to type the argument: you just type a <RET>, and it stands for
+the subtopic of the line you are on. You can also click the middle
+mouse button directly on the subtopic line to go there.
+
+ Here is a menu to give you a chance to practice. This menu gives you
+three ways of going to one place, Help-FOO:
+
+* Menu:
+
+* Foo: Help-FOO. A node you can visit for fun.
+* Bar: Help-FOO. We have made two ways to get to the same place.
+* Help-FOO:: And yet another!
+
+ (Turn Visible mode on if you are using Emacs.)
+
+>> Now type just an `m' and see what happens:
+
+ Now you are "inside" an `m' command. Commands cannot be used now;
+the next thing you will type must be the name of a subtopic.
+
+ You can change your mind about doing the `m' by typing `Control-g'.
+
+>> Try that now; notice the bottom line clear.
+
+>> Then type another `m'.
+
+>> Now type `BAR', the item name. Do not type <RET> yet.
+
+ While you are typing the item name, you can use the <DEL> (or
+<BACKSPACE>) key to cancel one character at a time if you make a
+mistake.
+
+>> Press <DEL> to cancel the `R'. You could type another `R'
+ to replace it. But you do not have to, since `BA' is a valid
+ abbreviation.
+
+>> Now you are ready to go. Type a <RET>.
+
+ After visiting `Help-FOO', you should return here.
+
+ Another way to move to the menu subtopic lines and between them is to
+type <TAB>. Each time you type a <TAB>, you move to the next subtopic
+line. To move to a previous subtopic line, type `M-<TAB>'--that is,
+press and hold the <META> key and then press <TAB>. (On some
+keyboards, the <META> key might be labeled `Alt'.)
+
+ Once you move cursor to a subtopic line, press <RET> to go to that
+subtopic's node.
+
+ If your terminal supports a mouse, you have yet another way of going
+to a subtopic. Move your mouse pointer to the subtopic line, somewhere
+between the beginning `*' and the colon `:' which ends the subtopic's
+brief name. You will see the subtopic's name change its appearance
+(usually, its background color will change), and the shape of the mouse
+pointer will change if your platform supports that. After a while, if
+you leave the mouse on that spot, a small window will pop up, saying
+"Mouse-2: go to that node", or the same message may appear at the
+bottom of the screen.
+
+ `Mouse-2' is the second button of your mouse counting from the
+left--the middle button on a 3-button mouse. (On a 2-button mouse, you
+may have to press both buttons together to "press the middle button".)
+The message tells you pressing `Mouse-2' with the current position of
+the mouse pointer (on subtopic in the menu) will go to that subtopic.
+
+ More generally, `Mouse-2' in an Info buffer finds the nearest link to
+another node and goes there. For example, near a cross reference it
+acts like `f', in a menu it acts like `m', on the node's header line it
+acts like `n', `p', or `u', etc. At end of the node's text `Mouse-2'
+moves to the next node, or up if there's no next node.
+
+>> Type `n' to see more commands.
+
+
+File: info.info, Node: Help-FOO, Up: Help-M
+
+1.6.1 The `u' command
+---------------------
+
+Congratulations! This is the node `Help-FOO'. It has an `Up' pointer
+`Help-M', the node you just came from via the `m' command. This is the
+usual convention--the nodes you reach from a menu have `Up' nodes that
+lead back to the menu. Menus move Down in the tree, and `Up' moves Up.
+`Previous', on the other hand, is usually used to "stay on the same
+level but go backwards".
+
+ You can go back to the node `Help-M' by typing the command `u' for
+"Up" (the Emacs command run by `u' is `Info-up'). That puts you at the
+_front_ of the node--to get back to where you were reading you have to
+type some <SPC>s. (Some Info readers, such as the one built into
+Emacs, put you at the same place where you were reading in `Help-M'.)
+
+ Another way to go Up is to click `Mouse-2' on the `Up' pointer shown
+in the header line (provided that you have a mouse).
+
+>> Now type `u' to move back up to `Help-M'.
+
+
+File: info.info, Node: Help-Xref, Next: Help-Int, Prev: Help-M, Up: Getting Started
+
+1.7 Following Cross-References
+==============================
+
+In Info documentation, you will see many "cross references". Cross
+references look like this: *Note Cross: Help-Cross. That text is a
+real, live cross reference, whose name is `Cross' and which points to
+the node named `Help-Cross'. (The node name is hidden in Emacs. Do
+`M-x visible-mode' to show or hide it.)
+
+ There are two ways to follow a cross reference. You can move the
+cursor to it and press <RET>, just as in a menu. <RET> follows the
+cross reference that the cursor is on. Or you can type `f' and then
+specify the name of the cross reference (in this case, `Cross') as an
+argument. In Emacs Info, `f' runs `Info-follow-reference',
+
+ In the `f' command, you select the cross reference with its name, so
+it does not matter where the cursor was. If the cursor is on or near a
+cross reference, `f' suggests that reference name in parentheses as the
+default; typing <RET> will follow that reference. However, if you type
+a different reference name, `f' will follow the other reference which
+has that name.
+
+>> Type `f', followed by `Cross', and then <RET>.
+
+ As you enter the reference name, you can use the <DEL> (or
+<BACKSPACE>) key to edit your input. If you change your mind about
+following any reference, you can use `Control-g' to cancel the command.
+Completion is available in the `f' command; you can complete among all
+the cross reference names in the current node by typing a <TAB>.
+
+ To get a list of all the cross references in the current node, you
+can type `?' after an `f'. The `f' continues to await a cross
+reference name even after displaying the list, so if you don't actually
+want to follow a reference, you should type a `Control-g' to cancel the
+`f'.
+
+>> Type `f?' to get a list of the cross references in this node. Then
+ type a `Control-g' and see how the `f' gives up.
+
+ The <TAB> and `M-<TAB>' key, which move between menu items in a menu,
+also move between cross references outside of menus.
+
+ Sometimes a cross reference (or a node) can lead to another file (in
+other words another "manual"), or, on occasion, even a file on a remote
+machine (although Info files distributed with Emacs or the stand-alone
+Info avoid using remote links). Such a cross reference looks like
+this: *Note Overview of Texinfo: (texinfo)Top. (After following this
+link, type `l' to get back to this node.) Here the name `texinfo'
+between parentheses (shown in the stand-alone version) refers to the
+file name. This file name appears in cross references and node names
+if it differs from the current file. In Emacs, the file name is hidden
+(along with other text). (Use `M-x visible-mode' to show or hide it.)
+
+ The remainder of this node applies only to the Emacs version. If you
+use the stand-alone version, you can type `n' immediately.
+
+ To some users, switching manuals is a much bigger switch than
+switching sections. These users like to know that they are going to be
+switching to another manual (and which one) before actually doing so,
+especially given that, if one does not notice, Info commands like `t'
+(see the next node) can have confusing results.
+
+ If you put your mouse over the cross reference and if the cross
+reference leads to a different manual, then the information appearing
+in a separate box (tool tip) or in the echo area, will mention the file
+the cross reference will carry you to (between parentheses). This is
+also true for menu subtopic names. If you have a mouse, just leave it
+over the `Overview' cross reference above and watch what happens.
+
+ If you always like to have that information available without having
+to move your mouse over the cross reference, set
+`Info-hide-note-references' to a value other than t (*note Emacs Info
+Variables::). You might also want to do that if you have a lot of
+cross references to files on remote machines and have non-permanent or
+slow access, since otherwise you might not be able to distinguish
+between local and remote links.
+
+>> Now type `n' to learn more commands.
+
+
+File: info.info, Node: Help-Int, Next: Help-Q, Prev: Help-Xref, Up: Getting Started
+
+1.8 Some intermediate Info commands
+===================================
+
+The introductory course is almost over; please continue a little longer
+to learn some intermediate-level commands.
+
+ Most Info files have an index, which is actually a large node
+containing little but a menu. The menu has one menu item for each
+topic listed in the index. (As a special feature, menus for indices
+may also include the line number within the node of the index entry.
+This allows Info readers to go to the exact line of an entry, not just
+the start of the containing node.)
+
+ You can get to the index from the main menu of the file with the `m'
+command; then you can use the `m' command again in the index node to go
+to the node that describes the topic you want.
+
+ There is also a short-cut Info command, `i', which does all of that
+for you. It searches the index for a given topic (a string) and goes
+to the node which is listed in the index for that topic. *Note Info
+Search::, for a full explanation.
+
+ If you have been moving around to different nodes and wish to retrace
+your steps, the `l' command (`l' for "last") will do that, one
+node-step at a time. As you move from node to node, Info records the
+nodes where you have been in a special history list. The `l' command
+revisits nodes in the history list; each successive `l' command moves
+one step back through the history.
+
+ In Emacs, `l' runs the command `Info-last'.
+
+>> Try typing `p p n' and then three `l''s, pausing in between
+to see what each `l' does. You should wind up right back here.
+
+ Note the difference between `l' and `p': `l' moves to where _you_
+last were, whereas `p' always moves to the node which the header says
+is the `Previous' node (from this node, the `Prev' link leads to
+`Help-Xref').
+
+ The `d' command (`Info-directory' in Emacs) gets you instantly to the
+Directory node. This node, which is the first one you saw when you
+entered Info, has a menu which leads (directly or indirectly, through
+other menus), to all the nodes that exist. The Directory node lists
+all the manuals and other Info documents that are, or could be,
+installed on your system.
+
+>> Try doing a `d', then do an `l' to return here (yes,
+ _do_ return).
+
+ The `t' command moves to the `Top' node of the manual. This is
+useful if you want to browse the manual's main menu, or select some
+specific top-level menu item. The Emacs command run by `t' is
+`Info-top-node'.
+
+ Clicking `Mouse-2' on or near a cross reference also follows the
+reference. You can see that the cross reference is mouse-sensitive by
+moving the mouse pointer to the reference and watching how the
+underlying text and the mouse pointer change in response.
+
+>> Now type `n' to see the last node of the course.
+
+ *Note Expert Info::, for more advanced Info features.
+
+
+File: info.info, Node: Expert Info, Next: Creating an Info File, Prev: Getting Started, Up: Top
+
+2 Info for Experts
+******************
+
+This chapter describes various Info commands for experts. (If you are
+using a stand-alone Info reader, there are additional commands specific
+to it, which are documented in several chapters of *Note GNU Info:
+(info-stnd)Top.)
+
+ This chapter also explains how to write an Info as distinct from a
+Texinfo file. (However, in most cases, writing a Texinfo file is
+better, since you can use it to make a printed manual or produce other
+formats, such as HTML and DocBook, as well as for generating Info
+files.) *Note Overview of Texinfo: (texinfo)Top.
+
+* Menu:
+
+* Advanced:: Advanced Info commands: g, e, and 1 - 9.
+* Info Search:: How to search Info documents for specific subjects.
+* Add:: Describes how to add new nodes to the hierarchy.
+ Also tells what nodes look like.
+* Menus:: How to add to or create menus in Info nodes.
+* Cross-refs:: How to add cross-references to Info nodes.
+* Tags:: How to make tags tables for Info files.
+* Checking:: Checking an Info File
+* Emacs Info Variables:: Variables modifying the behavior of Emacs Info.
+
+
+File: info.info, Node: Advanced, Next: Info Search, Up: Expert Info
+
+2.1 Advanced Info Commands
+==========================
+
+Here are some more Info commands that make it easier to move around.
+
+`g' goes to a node by name
+--------------------------
+
+If you know a node's name, you can go there by typing `g', the name,
+and <RET>. Thus, `gTop<RET>' would go to the node called `Top' in this
+file. (This is equivalent to `t', see *Note Help-Int::.)
+`gAdvanced<RET>' would come back here. `g' in Emacs runs the command
+`Info-goto-node'.
+
+ Unlike `m', `g' does not allow the use of abbreviations. But it does
+allow completion, so you can type <TAB> to complete a partial node name.
+
+ To go to a node in another file, you can include the file name in the
+node name by putting it at the front, in parentheses. Thus,
+`g(dir)Top<RET>' would go to the Info Directory node, which is the node
+`Top' in the Info file `dir'. Likewise, `g(emacs)Top<RET>' goes to the
+top node of the Emacs manual.
+
+ The node name `*' specifies the whole file. So you can look at all
+of the current file by typing `g*<RET>' or all of any other file with
+`g(FILENAME)<RET>'.
+
+`1' - `9' choose a menu subtopic by its number
+----------------------------------------------
+
+If you begrudge each character of type-in which your system requires,
+you might like to use the commands `1', `2', `3', `4', ..., `9'. They
+are short for the `m' command together with a name of a menu subtopic.
+`1' goes through the first item in the current node's menu; `2' goes
+through the second item, etc. In the stand-alone reader, `0' goes
+through the last menu item; this is so you need not count how many
+entries are there. In Emacs, the digit keys run the command
+`Info-nth-menu-item'.
+
+ If your display supports multiple fonts, colors or underlining, and
+you are using Emacs' Info mode to read Info files, the third, sixth and
+ninth menu items have a `*' that stands out, either in color or in some
+other attribute, such as underline; this makes it easy to see at a
+glance which number to use for an item.
+
+ Some terminals don't support either multiple fonts, colors or
+underlining. If you need to actually count items, it is better to use
+`m' instead, and specify the name, or use <TAB> to quickly move between
+menu items.
+
+`e' makes Info document editable
+--------------------------------
+
+The Info command `e' changes from Info mode to an ordinary Emacs
+editing mode, so that you can edit the text of the current node. Type
+`C-c C-c' to switch back to Info. The `e' command is allowed only if
+the variable `Info-enable-edit' is non-`nil'.
+
+ The `e' command only works in Emacs, where it runs the command
+`Info-edit'. The stand-alone Info reader doesn't allow you to edit the
+Info file, so typing `e' there goes to the end of the current node.
+
+`M-n' creates a new independent Info buffer in Emacs
+----------------------------------------------------
+
+If you are reading Info in Emacs, you can select a new independent Info
+buffer in another window by typing `M-n'. The new buffer starts out as
+an exact copy of the old one, but you will be able to move
+independently between nodes in the two buffers. (In Info mode, `M-n'
+runs the Emacs command `clone-buffer'.)
+
+ In Emacs Info, you can also produce new Info buffers by giving a
+numeric prefix argument to the `m' and `g' commands. `C-u m' and `C-u
+g' go to a new node in exactly the same way that `m' and `g' do, but
+they do so in a new Info buffer which they select in another window.
+
+
+File: info.info, Node: Info Search, Next: Add, Prev: Advanced, Up: Expert Info
+
+2.2 How to search Info documents for specific subjects
+======================================================
+
+The commands which move between and inside nodes allow you to read the
+entire manual or its large portions. But what if you need to find some
+information in the manual as fast as you can, and you don't know or
+don't remember in what node to look for it? This need arises when you
+use a manual as a "reference", or when it is impractical to read the
+entire manual before you start using the programs it describes.
+
+ Info has powerful searching facilities that let you find things
+quickly. You can search either the manual indices or its text.
+
+ Since most subjects related to what the manual describes should be
+indexed, you should try the index search first. The `i' command
+prompts you for a subject and then looks up that subject in the
+indices. If it finds an index entry with the subject you typed, it
+goes to the node to which that index entry points. You should browse
+through that node to see whether the issue you are looking for is
+described there. If it isn't, type `,' one or more times to go through
+additional index entries which match your subject.
+
+ The `i' command finds all index entries which include the string you
+typed _as a substring_. For each match, Info shows in the echo area
+the full index entry it found. Often, the text of the full index entry
+already gives you enough information to decide whether it is relevant
+to what you are looking for, so we recommend that you read what Emacs
+shows in the echo area before looking at the node it displays.
+
+ Since `i' looks for a substring, you can search for subjects even if
+you are not sure how they are spelled in the index. For example,
+suppose you want to find something that is pertinent to commands which
+complete partial input (e.g., when you type <TAB>). If you want to
+catch index entries that refer to "complete", "completion", and
+"completing", you could type `icomplet<RET>'.
+
+ Info documents which describe programs should index the commands,
+options, and key sequences that the program provides. If you are
+looking for a description of a command, an option, or a key, just type
+their names when `i' prompts you for a topic. For example, if you want
+to read the description of what the `C-f' key does, type `i C - f
+<RET>'. Here `C-f' are 3 literal characters `C', `-', and `f', not the
+"Control-f" command key you type inside Emacs to run the command bound
+to `C-f'.
+
+ In Emacs, `i' runs the command `Info-index'.
+
+ If you don't know what manual documents something, try the `M-x
+info-apropos' command. It prompts for a string and then looks up that
+string in all the indices of all the Info documents installed on your
+system.
+
+ The `s' command allows you to search a whole file for a string. It
+switches to the next node if and when that is necessary. You type `s'
+followed by the string to search for, terminated by <RET>. To search
+for the same string again, just `s' followed by <RET> will do. The
+file's nodes are scanned in the order they are in in the file, which
+has no necessary relationship to the order that they may be in the tree
+structure of menus and `next' pointers. But normally the two orders
+are not very different. In any case, you can always do a `b' to find
+out what node you have reached, if the header is not visible (this can
+happen, because `s' puts your cursor at the occurrence of the string,
+not at the beginning of the node).
+
+ In Emacs, `Meta-s' is equivalent to `s'. That is for compatibility
+with other GNU packages that use `M-s' for a similar kind of search
+command. Both `s' and `M-s' run in Emacs the command `Info-search'.
+
+
+File: info.info, Node: Add, Next: Menus, Prev: Info Search, Up: Expert Info
+
+2.3 Adding a new node to Info
+=============================
+
+To add a new topic to the list in the Info directory, you must:
+
+ 1. Create some nodes, in some file, to document that topic.
+
+ 2. Put that topic in the menu in the directory. *Note Menu: Menus.
+
+ Usually, the way to create the nodes is with Texinfo (*note Overview
+of Texinfo: (texinfo)Top.); this has the advantage that you can also
+make a printed manual or HTML from them. You would use the
+`@dircategory' and `@direntry' commands to put the manual into the Info
+directory. However, if you want to edit an Info file manually and
+install it manually, here is how.
+
+ The new node can live in an existing documentation file, or in a new
+one. It must have a `^_' character before it (invisible to the user;
+this node has one but you cannot see it), and it ends with either a
+`^_', a `^L' ("formfeed"), or the end of file.(1)
+
+ The `^_' starting a node must be followed by a newline or a `^L'
+newline, after which comes the node's header line. The header line
+must give the node's name (by which Info finds it), and state the names
+of the `Next', `Previous', and `Up' nodes (if there are any). As you
+can see, this node's `Up' node is the node `Expert Info'. The `Next'
+node is `Menus'.
+
+ The keywords "Node", "Next", "Previous", and "Up" may appear in any
+order, anywhere in the header line, but the recommended order is the
+one in this sentence. Each keyword must be followed by a colon, spaces
+and tabs, and then the appropriate name. The name may be terminated
+with a tab, a comma, or a newline. A space does not end it; node names
+may contain spaces. The case of letters in the names is insignificant.
+
+ A node name has two forms. A node in the current file is named by
+what appears after the `Node: ' in that node's first line. For
+example, this node's name is `Add'. A node in another file is named by
+`(FILENAME)NODE-WITHIN-FILE', as in `(info)Add' for this node. If the
+file name starts with "./", then it is relative to the current
+directory; otherwise, it is relative starting from the standard
+directory for Info files of your site. The name `(FILENAME)Top' can be
+abbreviated to just `(FILENAME)'. By convention, the name `Top' is used
+for the "highest" node in any single file--the node whose `Up' points
+out of the file. The `Directory' node is `(dir)', it points to a file
+`dir' which holds a large menu listing all the Info documents installed
+on your site. The `Top' node of a document file listed in the
+`Directory' should have an `Up: (dir)' in it.
+
+ The node name `*' is special: it refers to the entire file. Thus,
+`g*' shows you the whole current file. The use of the node `*' is to
+make it possible to make old-fashioned, unstructured files into nodes
+of the tree.
+
+ The `Node:' name, in which a node states its own name, must not
+contain a file name, since when Info searches for a node, it does not
+expect a file name to be there. The `Next', `Previous' and `Up' names
+may contain them. In this node, since the `Up' node is in the same
+file, it was not necessary to use one.
+
+ Note that the nodes in this file have a file name in the header line.
+The file names are ignored by Info, but they serve as comments to help
+identify the node for the user.
+
+ ---------- Footnotes ----------
+
+ (1) If you put in a `^L' to end a new node, be sure that there is a
+`^_' after it to start the next one, since `^L' cannot _start_ a node.
+Also, a nicer way to make a node boundary be a page boundary as well is
+to put a `^L' _right after_ the `^_'.
+
+
+File: info.info, Node: Menus, Next: Cross-refs, Prev: Add, Up: Expert Info
+
+2.4 How to Create Menus
+=======================
+
+Any node in the Info hierarchy may have a "menu"--a list of subnodes.
+The `m' command searches the current node's menu for the topic which it
+reads from the terminal.
+
+ A menu begins with a line starting with `* Menu:'. The rest of the
+line is a comment. After the starting line, every line that begins
+with a `* ' lists a single topic. The name of the topic-what the user
+must type at the `m''s command prompt to select this topic--comes right
+after the star and space, and is followed by a colon, spaces and tabs,
+and the name of the node which discusses that topic. The node name,
+like node names following `Next', `Previous' and `Up', may be
+terminated with a tab, comma, or newline; it may also be terminated
+with a period.
+
+ If the node name and topic name are the same, then rather than giving
+the name twice, the abbreviation `* NAME::' may be used (and should be
+used, whenever possible, as it reduces the visual clutter in the menu).
+
+ It is considerate to choose the topic names so that they differ from
+each other very near the beginning--this allows the user to type short
+abbreviations. In a long menu, it is a good idea to capitalize the
+beginning of each item name which is the minimum acceptable
+abbreviation for it (a long menu is more than 5 or so entries).
+
+ The nodes listed in a node's menu are called its "subnodes", and it
+is their "superior". They should each have an `Up:' pointing at the
+superior. It is often useful to arrange all or most of the subnodes in
+a sequence of `Next' and `Previous' pointers so that someone who wants
+to see them all need not keep revisiting the Menu.
+
+ The Info Directory is simply the menu of the node `(dir)Top'--that
+is, node `Top' in file `.../info/dir'. You can put new entries in that
+menu just like any other menu. The Info Directory is _not_ the same as
+the file directory called `info'. It happens that many of Info's files
+live in that file directory, but they do not have to; and files in that
+directory are not automatically listed in the Info Directory node.
+
+ Also, although the Info node graph is claimed to be a "hierarchy", in
+fact it can be _any_ directed graph. Shared structures and pointer
+cycles are perfectly possible, and can be used if they are appropriate
+to the meaning to be expressed. There is no need for all the nodes in
+a file to form a connected structure. In fact, this file has two
+connected components. You are in one of them, which is under the node
+`Top'; the other contains the node `Help' which the `h' command goes
+to. In fact, since there is no garbage collector, nothing terrible
+happens if a substructure is not pointed to, but such a substructure is
+rather useless since nobody can ever find out that it exists.
+
+
+File: info.info, Node: Cross-refs, Next: Tags, Prev: Menus, Up: Expert Info
+
+2.5 Creating Cross References
+=============================
+
+A cross reference can be placed anywhere in the text, unlike a menu
+item which must go at the front of a line. A cross reference looks
+like a menu item except that it has `*note' instead of `*'. It
+_cannot_ be terminated by a `)', because `)''s are so often part of
+node names. If you wish to enclose a cross reference in parentheses,
+terminate it with a period first. Here are two examples of cross
+references pointers:
+
+ *Note details: commands. (See *note 3: Full Proof.)
+
+_These are just examples._ The places they "lead to" do not really
+exist!
+
+* Menu:
+
+* Help-Cross:: Target of a cross-reference.
+
+
+File: info.info, Node: Help-Cross, Up: Cross-refs
+
+2.5.1 The node reached by the cross reference in Info
+-----------------------------------------------------
+
+This is the node reached by the cross reference named `Cross'.
+
+ While this node is specifically intended to be reached by a cross
+reference, most cross references lead to nodes that "belong" someplace
+else far away in the structure of an Info document. So you cannot
+expect this node to have a `Next', `Previous' or `Up' links pointing
+back to where you came from. In general, the `l' (el) command is the
+only way to get back there.
+
+>> Type `l' to return to the node where the cross reference was.
+
+
+File: info.info, Node: Help-Q, Prev: Help-Int, Up: Getting Started
+
+2.6 Quitting Info
+=================
+
+To get out of Info, back to what you were doing before, type `q' for
+"Quit". This runs `Info-exit' in Emacs.
+
+ This is the end of the basic course on using Info. You have learned
+how to move in an Info document, and how to follow menus and cross
+references. This makes you ready for reading manuals top to bottom, as
+new users should do when they learn a new package.
+
+ Another set of Info commands is useful when you need to find
+something quickly in a manual--that is, when you need to use a manual
+as a reference rather than as a tutorial. We urge you to learn these
+search commands as well. If you want to do that now, follow this cross
+reference to *Note Info Search::.
+
+ Yet another set of commands are meant for experienced users; you can
+find them by looking in the Directory node for documentation on Info.
+Finding them will be a good exercise in using Info in the usual manner.
+
+>> Type `d' to go to the Info directory node; then type
+ `mInfo' and Return, to get to the node about Info and
+ see what other help is available.
+
+
+File: info.info, Node: Tags, Next: Checking, Prev: Cross-refs, Up: Expert Info
+
+2.7 Tags Tables for Info Files
+==============================
+
+You can speed up the access to nodes of a large Info file by giving it
+a tags table. Unlike the tags table for a program, the tags table for
+an Info file lives inside the file itself and is used automatically
+whenever Info reads in the file.
+
+ To make a tags table, go to a node in the file using Emacs Info mode
+and type `M-x Info-tagify'. Then you must use `C-x C-s' to save the
+file. Info files produced by the `makeinfo' command that is part of
+the Texinfo package always have tags tables to begin with.
+
+ Once the Info file has a tags table, you must make certain it is up
+to date. If you edit an Info file directly (as opposed to editing its
+Texinfo source), and, as a result of deletion of text, any node moves
+back more than a thousand characters in the file from the position
+recorded in the tags table, Info will no longer be able to find that
+node. To update the tags table, use the `Info-tagify' command again.
+
+ An Info file tags table appears at the end of the file and looks like
+this:
+
+ ^_^L
+ Tag Table:
+ File: info, Node: Cross-refs^?21419
+ File: info, Node: Tags^?22145
+ ^_
+ End Tag Table
+
+Note that it contains one line per node, and this line contains the
+beginning of the node's header (ending just after the node name), a
+`DEL' character, and the character position in the file of the
+beginning of the node.
+
+
+File: info.info, Node: Checking, Next: Emacs Info Variables, Prev: Tags, Up: Expert Info
+
+2.8 Checking an Info File
+=========================
+
+When creating an Info file, it is easy to forget the name of a node when
+you are making a pointer to it from another node. If you put in the
+wrong name for a node, this is not detected until someone tries to go
+through the pointer using Info. Verification of the Info file is an
+automatic process which checks all pointers to nodes and reports any
+pointers which are invalid. Every `Next', `Previous', and `Up' is
+checked, as is every menu item and every cross reference. In addition,
+any `Next' which does not have a `Previous' pointing back is reported.
+Only pointers within the file are checked, because checking pointers to
+other files would be terribly slow. But those are usually few.
+
+ To check an Info file, do `M-x Info-validate' while looking at any
+node of the file with Emacs Info mode.
+
+
+File: info.info, Node: Emacs Info Variables, Prev: Checking, Up: Expert Info
+
+2.9 Emacs Info-mode Variables
+=============================
+
+The following variables may modify the behavior of Info-mode in Emacs;
+you may wish to set one or several of these variables interactively, or
+in your `~/.emacs' init file. *Note Examining and Setting Variables:
+(emacs)Examining. The stand-alone Info reader program has its own set
+of variables, described in *Note Manipulating Variables:
+(info-stnd)Variables.
+
+`Info-directory-list'
+ The list of directories to search for Info files. Each element is
+ a string (directory name) or `nil' (try default directory). If not
+ initialized Info uses the environment variable `INFOPATH' to
+ initialize it, or `Info-default-directory-list' if there is no
+ `INFOPATH' variable in the environment.
+
+ If you wish to customize the Info directory search list for both
+ Emacs info and stand-alone Info, it is best to set the `INFOPATH'
+ environment variable, since that applies to both programs.
+
+`Info-additional-directory-list'
+ A list of additional directories to search for Info documentation
+ files. These directories are not searched for merging the `dir'
+ file.
+
+`Info-fontify'
+ When set to a non-`nil' value, enables highlighting of Info files.
+ The default is `t'. You can change how the highlighting looks by
+ customizing the faces `info-node', `info-xref',
+ `info-header-xref', `info-header-node', `info-menu-5',
+ `info-menu-header', and `info-title-N-face' (where N is the level
+ of the section, a number between 1 and 4). To customize a face,
+ type `M-x customize-face <RET> FACE <RET>', where FACE is one of
+ the face names listed here.
+
+`Info-use-header-line'
+ If non-`nil', Emacs puts in the Info buffer a header line showing
+ the `Next', `Prev', and `Up' links. A header line does not scroll
+ with the rest of the buffer, making these links always visible.
+
+`Info-hide-note-references'
+ As explained in earlier nodes, the Emacs version of Info normally
+ hides some text in menus and cross-references. You can completely
+ disable this feature, by setting this option to `nil'. Setting it
+ to a value that is neither `nil' nor `t' produces an intermediate
+ behavior, hiding a limited amount of text, but showing all text
+ that could potentially be useful.
+
+`Info-scroll-prefer-subnodes'
+ If set to a non-`nil' value, <SPC> and <BACKSPACE> (or <DEL>) keys
+ in a menu visit subnodes of the current node before scrolling to
+ its end or beginning, respectively. For example, if the node's
+ menu appears on the screen, the next <SPC> moves to a subnode
+ indicated by the following menu item. Setting this option to
+ `nil' results in behavior similar to the stand-alone Info reader
+ program, which visits the first subnode from the menu only when you
+ hit the end of the current node. The default is `nil'.
+
+`Info-enable-active-nodes'
+ When set to a non-`nil' value, allows Info to execute Lisp code
+ associated with nodes. The Lisp code is executed when the node is
+ selected. The Lisp code to be executed should follow the node
+ delimiter (the `DEL' character) and an `execute: ' tag, like this:
+
+ ^_execute: (message "This is an active node!")
+
+`Info-enable-edit'
+ Set to `nil', disables the `e' (`Info-edit') command. A non-`nil'
+ value enables it. *Note Edit: Add.
+
+
+File: info.info, Node: Creating an Info File, Next: Index, Prev: Expert Info, Up: Top
+
+3 Creating an Info File from a Texinfo File
+*******************************************
+
+`makeinfo' is a utility that converts a Texinfo file into an Info file;
+`texinfo-format-region' and `texinfo-format-buffer' are GNU Emacs
+functions that do the same.
+
+ *Note Overview of Texinfo: (texinfo)Top, to learn how to write a
+Texinfo file.
+
+ *Note Creating an Info File: (texinfo)Creating an Info File, to learn
+how to create an Info file from a Texinfo file.
+
+ *Note Installing an Info File: (texinfo)Installing an Info File, to
+learn how to install an Info file after you have created one.
+
+
+File: info.info, Node: Index, Prev: Creating an Info File, Up: Top
+
+Index
+*****
+
+This is an alphabetical listing of all the commands, variables, and
+topics discussed in this document.
+
+
+* Menu:
+
+* 1 through 9 (Info mode): Advanced. (line 33)
+* ? (Info mode): Help-^L. (line 79)
+* abbreviating Info subnodes: Help-M. (line 90)
+* b (Info mode): Help-^L. (line 66)
+* BACKSPACE (Info mode): Help-^L. (line 16)
+* C-l (Info mode): Help-^L. (line 60)
+* clone-buffer: Advanced. (line 68)
+* completion of Info node names: Help-M. (line 98)
+* cross reference format: Cross-refs. (line 6)
+* cross references in Info documents: Help-Xref. (line 6)
+* d (Info mode): Help-Int. (line 42)
+* DEL (Info mode): Help-^L. (line 16)
+* Directory node: Add. (line 38)
+* e (Info mode): Advanced. (line 56)
+* edit Info document: Advanced. (line 56)
+* f (Info mode): Help-Xref. (line 12)
+* format of node headers: Add. (line 31)
+* g (Info mode): Advanced. (line 11)
+* go to a node by name: Advanced. (line 11)
+* go to another Info file: Advanced. (line 20)
+* go to Directory node: Help-Int. (line 42)
+* go to Top node: Help-Int. (line 52)
+* going back in Info mode: Help-Int. (line 25)
+* header of Info node: Help. (line 16)
+* i (Info mode): Info Search. (line 16)
+* Info document as a reference: Info Search. (line 6)
+* Info documents as tutorials: Help-^L. (line 38)
+* Info menus: Help-M. (line 6)
+* Info-additional-directory-list: Emacs Info Variables.
+ (line 24)
+* info-apropos: Info Search. (line 50)
+* Info-directory: Help-Int. (line 42)
+* Info-directory-list: Emacs Info Variables.
+ (line 13)
+* Info-edit: Advanced. (line 56)
+* Info-enable-active-nodes: Emacs Info Variables.
+ (line 62)
+* Info-enable-edit: Emacs Info Variables.
+ (line 70)
+* Info-exit: Help-Q. (line 6)
+* Info-follow-reference: Help-Xref. (line 12)
+* Info-fontify: Emacs Info Variables.
+ (line 29)
+* Info-goto-node: Advanced. (line 11)
+* Info-hide-note-references: Emacs Info Variables.
+ (line 44)
+* Info-index: Info Search. (line 16)
+* Info-last: Help-Int. (line 25)
+* Info-menu: Help-M. (line 85)
+* Info-mouse-follow-nearest-node: Help-M. (line 169)
+* Info-nth-menu-item: Advanced. (line 33)
+* Info-scroll-down: Help-^L. (line 16)
+* Info-scroll-prefer-subnodes: Emacs Info Variables.
+ (line 52)
+* Info-scroll-up: Help-^L. (line 16)
+* Info-search: Info Search. (line 55)
+* Info-summary: Help-^L. (line 79)
+* Info-tagify: Tags. (line 11)
+* Info-top-node: Help-Int. (line 52)
+* Info-up: Help-FOO. (line 13)
+* Info-use-header-line: Emacs Info Variables.
+ (line 39)
+* Info-validate: Checking. (line 17)
+* invisible text in Emacs: Help-Inv. (line 10)
+* l (Info mode): Help-Int. (line 25)
+* m (Info mode): Help-M. (line 62)
+* M-n (Info mode): Advanced. (line 68)
+* M-s (Info mode): Info Search. (line 67)
+* menu and menu entry format: Menus. (line 10)
+* menus in an Info document: Help-M. (line 6)
+* mouse support in Info mode: Help-M. (line 153)
+* Mouse-2 (Info mode): Help-M. (line 153)
+* multiple Info buffers: Advanced. (line 68)
+* n (Info mode): Help. (line 28)
+* node delimiters: Add. (line 19)
+* node header line format: Add. (line 31)
+* node name format: Add. (line 38)
+* node, in Info documents: Help. (line 11)
+* p (Info mode): Help-P. (line 6)
+* PAGEDOWN (Info mode): Help-^L. (line 53)
+* PAGEUP (Info mode): Help-^L. (line 53)
+* q (Info mode): Help-Q. (line 6)
+* quitting Info mode: Help-Q. (line 6)
+* reading Info documents top to bottom: Help-^L. (line 38)
+* s (Info mode): Info Search. (line 55)
+* searching Info documents: Info Search. (line 6)
+* select N'th menu item: Advanced. (line 33)
+* small screen, moving around: Help-Small-Screen. (line 6)
+* SPC (Info mode): Help-^L. (line 16)
+* stale tags tables: Tags. (line 16)
+* t (Info mode): Help-Int. (line 52)
+* tags tables in info files: Tags. (line 6)
+* u (Info mode): Help-FOO. (line 13)
+* unstructured documents: Add. (line 52)
+* update Info tags table: Tags. (line 16)
+* visible-mode: Help-Inv. (line 17)
+
+
+
+Tag Table:
+Node: Top1407
+Node: Getting Started2269
+Node: Help-Small-Screen3130
+Node: Help4970
+Node: Help-P6628
+Node: Help-^L7832
+Ref: Help-^L-Footnote-112609
+Node: Help-Inv12981
+Node: Help-]14661
+Node: Help-M16222
+Node: Help-FOO24654
+Node: Help-Xref25648
+Node: Help-Int29790
+Node: Expert Info32684
+Node: Advanced33987
+Node: Info Search37504
+Node: Add41282
+Ref: Add-Footnote-144669
+Node: Menus44921
+Node: Cross-refs47788
+Node: Help-Cross48564
+Node: Help-Q49232
+Node: Tags50390
+Node: Checking51903
+Node: Emacs Info Variables52858
+Node: Creating an Info File56360
+Node: Index57045
+
+End Tag Table
diff --git a/Master/texmf/doc/info/kpathsea.info b/Master/texmf/doc/info/kpathsea.info
new file mode 100644
index 00000000000..3719f12a44f
--- /dev/null
+++ b/Master/texmf/doc/info/kpathsea.info
@@ -0,0 +1,4647 @@
+This is kpathsea.info, produced by makeinfo version 4.8 from
+kpathsea.texi.
+
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* Kpathsea: (kpathsea). File lookup along search paths.
+* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching.
+* mktexmf: (kpathsea)mktex scripts. MF source generation.
+* mktexpk: (kpathsea)mktex scripts. PK bitmap generation.
+* mktextex: (kpathsea)mktex scripts. TeX source generation.
+* mktextfm: (kpathsea)mktex scripts. TeX font metric generation.
+* mktexlsr: (kpathsea)Filename database. Update ls-R.
+END-INFO-DIR-ENTRY
+
+ This file documents the Kpathsea library for path searching.
+
+ Copyright (C) 1993-2005 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 approved by the Free Software Foundation.
+
+
+File: kpathsea.info, Node: Top, Next: Introduction, Up: (dir)
+
+Kpathsea library
+****************
+
+This manual documents how to install and use the Kpathsea library for
+filename lookup. It corresponds to version 3.5.5, released in
+June 2005.
+
+* Menu:
+
+* Introduction:: Overview.
+* Installation:: Compilation, installation, and bug reporting.
+
+* Path searching:: How filename lookups work.
+* TeX support:: Special support for TeX-related file lookups.
+
+* Programming:: How to use Kpathsea features in your program.
+
+* Index:: General index.
+
+
+File: kpathsea.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top
+
+1 Introduction
+**************
+
+This manual corresponds to version 3.5.5 of the Kpathsea library,
+released in June 2005.
+
+ The library's fundamental purpose is to return a filename from a
+list of directories specified by the user, similar to what shells do
+when looking up program names to execute.
+
+ The following software, all of which we maintain, uses this library:
+
+ * Dviljk (see the `dvilj' man page)
+
+ * Dvipsk (*note Introduction: (dvips)Top.)
+
+ * GNU font utilities (*note Introduction: (fontu)Top.)
+
+ * Web2c (*note Introduction: (web2c)Top.)
+
+ * Xdvik (see the `xdvi' man page)
+
+Other software that we do not maintain also uses it.
+
+ We are still actively maintaining the library (and probably always
+will be, despite our hopes). If you have comments or suggestions,
+please send them to us (*note Reporting bugs::).
+
+ We distribute the library under the GNU Library General Public
+License (LGPL). In short, this means if you write a program using the
+library, you must (offer to) distribute the source to the library,
+along with any changes you have made, and allow anyone to modify the
+library source and distribute their modifications. It does not mean
+you have to distribute the source to your program, although we hope you
+will. See the files `GPL' and `LGPL' for the text of the GNU licenses.
+
+ If you know enough about TeX to be reading this manual, then you (or
+your institution) should consider joining the TeX Users Group (if
+you're already a member, great!). TUG produces the periodical
+`TUGboat', sponsors an annual meeting and publishes the proceedings,
+and arranges courses on TeX for all levels of users throughout the
+world. Anyway, here is the address:
+
+ TeX Users Group
+ P.O. Box 2311
+ Portland OR 97208-2311
+ USA
+ phone: +1 503 223-9994
+ fax: +1 503 223-3960
+ email: <tug@tug.org>
+
+* Menu:
+
+* History::
+
+
+File: kpathsea.info, Node: History, Up: Introduction
+
+1.1 History
+===========
+
+(This section is for those people who are curious about how the library
+came about.) (If you like to read historical accounts of software, we
+urge you to seek out the GNU Autoconf manual and the "Errors of TeX"
+paper by Don Knuth, published in `Software--Practice and Experience'
+19(7), July 1989.)
+
+ [Karl writes.] My first ChangeLog entry for Web2c seems to be
+February 1990, but I may have done some work before then. In any case,
+Tim Morgan and I were jointly maintaining it for a time. (I should
+mention here that Tim had made Web2c into a real distribution long
+before I had ever used it or even heard of it, and Tom Rokicki did the
+original implementation. I was using `pxp' and `pc' on VAX 11/750's
+and the hot new Sun 2 machines.)
+
+ It must have been later in 1990 and 1991 that I started working on
+`TeX for the Impatient'. Dvips, Xdvi, Web2c, and the GNU fontutils
+(which I was also writing at the time) all used different environment
+variables, and, more importantly, had different bugs in their path
+searching. This became extremely painful, as I was stressing everything
+to the limit working on the book. I also desperately wanted to
+implement subdirectory searching, since I couldn't stand putting
+everything in one big directory, and also couldn't stand having to
+explicitly specify `cm', `pandora', ... in a path.
+
+ In the first incarnation, I just hacked separately on each
+program--that was the original subdirectory searching code in both Xdvi
+and Dvips, though I think Paul Vojta has completely rewritten Xdvi's
+support by now. That is, I tried to go with the flow in each program,
+rather than changing the program's calling sequences to conform to
+common routines.
+
+ Then, as bugs inevitably appeared, I found I was fixing the same
+thing three times (Web2c and fontutils were always sharing code, since I
+maintained those--there was no Dvipsk or Xdvik or Dviljk at this
+point). After a while, I finally started sharing source files. They
+weren't yet a library, though. I just kept things up to date with shell
+scripts. (I was developing on a 386 running ISC 2.2 at the time, and so
+didn't have symbolic links. An awful experience.)
+
+ The ChangeLogs for Xdvik and Dvipsk record initial releases of those
+distributions in May and June 1992. I think it was because I was tired
+of the different configuration strategies of each program, not so much
+because of the path searching. (Autoconf was being developed by David
+MacKenzie and others, and I was adapting it to TeX and friends.)
+
+ I started to make a separate library that other programs could link
+with on my birthday in April 1993, according to the ChangeLog. I don't
+remember exactly why I finally took the time to make it a separate
+library; a conversation with david zuhn that initiated it. Just seemed
+like it was time.
+
+ Dviljk got started in March 1994 after I bought a Laserjet 4.
+(Kpathsea work got suspended while Norm Walsh and I, with Gustaf
+Neumann's help, implemented a way for TeX to get at all those neat
+builtin LJ4 fonts ... such a treat to have something to typeset in
+besides Palatino!)
+
+ By spring of 1995, I had implemented just about all the
+path-searching features in Kpathsea that I plan to, driven beyond my
+initial goals by Thomas Esser and others. I then started to integrate
+Web2c with Kpathsea. After the release of a stable Web2c, I hope to be
+able to stop development, and turn most of my attention back to making
+fonts for GNU. (Always assuming Micros**t hasn't completely
+obliterated Unix by then, or that software patents haven't stopped
+software development by anybody smaller than a company with a
+million-dollar-a-year legal budget. Which is actually what I think is
+likely to happen, but that's another story...)
+
+ [Olaf writes.] At the end of 1997, UNIX is still alive and kicking,
+individuals still develop software, and Web2c development still
+continues. Karl had been looking for some time for someone to take up
+part of the burden, and I volunteered.
+
+
+File: kpathsea.info, Node: Installation, Next: Path searching, Prev: Introduction, Up: Top
+
+2 Installation
+**************
+
+(A copy of this chapter is in the distribution file `kpathsea/INSTALL'.)
+
+The procedure for Kpathsea (and Web2c, etc.) configuration and
+installation follows. If you encounter trouble, see *Note Common
+problems::, a copy of which is in the file `kpathsea/BUGS'.
+
+* Menu:
+
+* Simple installation:: If you just want to do it.
+* Custom installation:: If you want to change things around.
+* Security:: Who can write what files, etc.
+* TeX directory structure:: Managing the horde of TeX input files.
+* unixtex.ftp:: Getting software via FTP, on CD-ROM, or on tape.
+* Reporting bugs:: Where and how to report bugs.
+
+
+File: kpathsea.info, Node: Simple installation, Next: Custom installation, Up: Installation
+
+2.1 Simple installation
+=======================
+
+Installing TeX and friends for the first time can be a daunting
+experience. Thus, you may prefer to skip this whole thing and just get
+precompiled executables: see *Note unixtex.ftp::.
+
+ This section explains what to do if you wish to take the defaults for
+everything, and generally to install in the simplest possible way. Most
+steps here refer to corresponding subsection in the next section which
+explains how to override defaults and generally gives more details.
+
+ By default everything will be installed under `/usr/local' and the
+following discussion assumes this. However, if you already have TeX
+installed, its location is used to derive the directory under which
+everything is to be installed.
+
+ 1. Be sure you have enough disk space: approximately 8 megabytes for
+ the compressed archives, 15MB for sources, 50MB for compilation,
+ 40MB for the (initial) installed system (including library files).
+ *Note Disk space::.
+
+ 2. Retrieve these distribution archives:
+ `ftp://ftp.tug.org/tex/texk.tar.gz'
+ These are the sources, which you will be compiling.
+
+ `ftp://ftp.tug.org/tex/texklib.tar.gz'
+ This is a basic set of input files. You should unpack it in
+ the directory `/usr/local/share'; doing so will create a
+ `texmf' subdirectory there.
+
+ These archives are mirrored on the CTAN hosts, in the
+ `systems/web2c' directory.
+
+ *Note Kpathsea application distributions::.
+
+ 3. When using the default search paths, there is no need to edit any
+ distribution files. *Note Changing search paths::.
+
+ 4. At the top level of the distribution, run `sh configure'. (If you
+ have the GNU Bash shell installed, run `bash configure'.) *Note
+ Running configure::.
+
+ 5. `make'. *Note Running make::. If you are using a BSD 4.4 system
+ such as FreeBSD or NetBSD, you may have to use GNU make (often
+ installed in `/usr/local/bin'), not the BSD make.
+
+ 6. `make install'. *Note Installing files::.
+
+ 7. `make distclean'. *Note Cleaning up::.
+
+ 8. Set up a cron job to rebuild the filename database that makes
+ searching faster. This line will rebuild it every midnight:
+ 0 0 * * * cd /usr/local/share/texmf && /BINDIR/mktexlsr
+ *Note Filename database generation::, and *Note Filename
+ database::.
+
+ 9. If you're installing Dvips, you also need to set up configuration
+ files for your printers and make any additional PostScript fonts
+ available. *Note Installation: (dvips)Installation. If you have
+ any color printers, see *Note Color device configuration:
+ (dvips)Color device configuration.
+
+ 10. The first time you run a DVI driver, a bunch of PK fonts will be
+ built by Metafont via `mktexpk' (and added to the filename
+ database). This will take some time. Don't be alarmed; they will
+ created only this first time (unless something is wrong with your
+ path definitions).
+
+ By default, `mktexpk' will create these fonts in a hierarchy under
+ `/var/tmp/texfonts'; it simply assumes that `/var/tmp' exists and
+ is globally writable. If you need a different arrangement, see
+ *Note mktex configuration::.
+
+ *Note mktex scripts::.
+
+ 11. For some simple tests, try `tex story \\bye' and `latex sample2e'.
+ Then run `xdvi story' or `dvips sample2e' on the resulting DVI
+ files to preview/print the documents. *Note Installation
+ testing::.
+
+
+File: kpathsea.info, Node: Custom installation, Next: Security, Prev: Simple installation, Up: Installation
+
+2.2 Custom installation
+=======================
+
+Most sites need to modify the default installation procedure in some
+way, perhaps merely changing the prefix from `/usr/local', perhaps
+adding extra compiler or loader options to work around `configure'
+bugs. This section explains how to override default choices. For
+additional distribution-specific information:
+ * `dviljk/INSTALL'.
+
+ * *Note Installation: (dvips)Installation.
+
+ * *Note Installation: (web2c)Installation.
+
+ * `xdvik/INSTALL'.
+
+ These instructions are for Unix systems. Other operating-system
+specific distributions have their own instructions. The code base
+itself supports Amiga, DOS, OS/2, and VMS.
+
+ Following are the same steps as in the previous section (which
+describes the simplest installation), but with much more detail.
+
+* Menu:
+
+* Disk space::
+* Kpathsea application distributions::
+* Changing search paths::
+* Running configure::
+* Running make::
+* Installing files::
+* Cleaning up::
+* Filename database generation::
+* mktex scripts::
+* Installation testing::
+
+
+File: kpathsea.info, Node: Disk space, Next: Kpathsea application distributions, Up: Custom installation
+
+2.2.1 Disk space
+----------------
+
+Here is a table showing the disk space needed for each distribution
+(described in the next section). The `(totals)' line reflects the
+`texk' source distribution and `texklib'; the individual distributions
+don't enter into it. Sizes are in megabytes. All numbers are
+approximate.
+
+Distribution .tar.gz Unpacked Compiled Installed
+dviljk .9 3.8
+dvipsk .9 3.2
+xdvik .7 2.5
+web2c 1.3 5.0
+web 1.9 6.5 - -
+texk 7.5 32.1 95.3 33.5
+texklib 6.3 15.0 - 15.0
+(totals) 14.6 47.1 95.3 48.5
+
+
+File: kpathsea.info, Node: Kpathsea application distributions, Next: Changing search paths, Prev: Disk space, Up: Custom installation
+
+2.2.2 Kpathsea application distributions
+----------------------------------------
+
+The archive `ftp://ftp.tug.org/tex/texk.tar.gz' contains all of the
+Kpathsea applications I maintain, and the library itself. For example,
+since NeXT does not generally support X11, you'd probably want to skip
+`xdvik' (or simply remove it after unpacking `texk.tar.gz'. If you are
+not interested in all of them, you can also retrieve them separately:
+
+`dviljk.tar.gz'
+ DVI to PCL, for LaserJet printers.
+
+`dvipsk.tar.gz'
+ DVI to PostScript, for previewers, printers, or PDF generation.
+
+`web2c.tar.gz'
+ The software needed to compile TeX and friends.
+
+`web.tar.gz'
+ The original WEB source files, also used in compilation.
+
+`xdvik.tar.gz'
+ DVI previewing under the X window system.
+
+
+ If you want to use the Babel LaTeX package for support of non-English
+typesetting, you may need to retrieve additional files. See the file
+`install.txt' in the Babel distribution.
+
+
+File: kpathsea.info, Node: Changing search paths, Next: Running configure, Prev: Kpathsea application distributions, Up: Custom installation
+
+2.2.3 Changing search paths
+---------------------------
+
+If the search paths for your installation differ from the standard TeX
+directory structure (*note Introduction: (tds)Top.), edit the file
+`kpathsea/texmf.in' as desired, before running `configure'. For
+example, if you have all your fonts or macros in one big directory.
+
+ You may also wish to edit the file `mktex.cnf', either before or
+after installation, to control various aspects of `mktexpk' and
+friends. *Note mktex configuration::.
+
+ You do not need to edit `texmf.in' to change the default top-level
+or other installation _directories_ (only the paths). You can and
+should do that when you run `configure' (next step).
+
+ You also do not need to edit `texmf.in' if you are willing to rely
+on `texmf.cnf' at runtime to define the paths, and let the compile-time
+default paths be incorrect. Usually there is no harm in doing this.
+
+ The section below explains default generation in more detail.
+
+* Menu:
+
+* Default path features::
+* Default path generation::
+
+
+File: kpathsea.info, Node: Default path features, Next: Default path generation, Up: Changing search paths
+
+2.2.3.1 Default path features
+.............................
+
+The purpose of having all the different files described in the section
+above is to avoid having the same information in more than one place. If
+you change the installation directories or top-level prefix at
+`configure'-time, those changes will propagate through the whole
+sequence. And if you change the default paths in `texmf.in', those
+changes are propagated to the compile-time defaults.
+
+ The Make definitions are all repeated in several Makefile's; but
+changing the top-level `Makefile' should suffice, as it passes down all
+the variable definitions, thus overriding the submakes. (The
+definitions are repeated so you can run Make in the subdirectories, if
+you should have occasion to.)
+
+ By default, the bitmap font paths end with `/$MAKETEX_MODE', thus
+including the device name (usually a Metafont mode name such as
+`ljfour'). This distinguishes two different devices with the same
+resolution--a write/white from a write/black 300dpi printer, for
+example.
+
+ However, since most sites don't have this complication, Kpathsea
+(specifically, the `kpse_init_prog' function in `kpathsea/proginit.c')
+has a special case: if the mode has not been explicitly set by the user
+(or in a configuration file), it sets `MAKETEX_MODE' to `/'. This
+makes the default PK path, for example, expand into `.../pk//', so
+fonts will be found even if there is no subdirectory for the mode (if
+you arranged things that way because your site has only one printer,
+for example) or if the program is mode-independent (e.g., `pktype').
+
+ To make the paths independent of the mode, simply edit `texmf.in'
+before installation, or the installed `texmf.cnf', and remove the
+`$MAKETEX_MODE'.
+
+ *Note mktex script arguments::, for how this interacts with
+`mktexpk'.
+
+ *Note TeX directory structure: TeX directory structure, for a
+description of the default arrangement of the input files that comprise
+the TeX system. The file `kpathsea/HIER' is a copy of that section.
+
+
+File: kpathsea.info, Node: Default path generation, Prev: Default path features, Up: Changing search paths
+
+2.2.3.2 Default path generation
+...............................
+
+This section describes how the default paths are constructed.
+
+ You may wish to ignore the whole mess and simply edit `texmf.cnf'
+after it is installed, perhaps even copying it into place beforehand so
+you can complete the installation, if it seems necessary.
+
+ To summarize the chain of events that go into defining the default
+paths:
+
+ 1. `configure' creates a `Makefile' from each `Makefile.in'.
+
+ 2. When Make runs in the `kpathsea' directory, it creates a file
+ `texmf.sed' that substitutes the Make value of `$(var)' for a
+ string `@var@'. The variables in question are the one that define
+ the installation directories.
+
+ 3. `texmf.sed' (together with a little extra magic--see
+ `kpathsea/Makefile') is applied to `texmf.in' to generate
+ `texmf.cnf'. This is the file that will eventually be installed
+ and used.
+
+ 4. The definitions in `texmf.cnf' are recast as C `#define''s in
+ `paths.h'. These values will be the compile-time defaults; they
+ are not used at runtime unless no `texmf.cnf' file can be found.
+
+ (That's a lie: the compile-time defaults are what any extra :'s in
+ `texmf.cnf' expand into; but the paths as distributed have no extra
+ :'s, and there's no particular reason for them to.)
+
+
+File: kpathsea.info, Node: Running configure, Next: Running make, Prev: Changing search paths, Up: Custom installation
+
+2.2.4 Running `configure'
+-------------------------
+
+Run `sh configure OPTIONS' (in the top-level directory, the one
+containing `kpathsea/'), possibly using a shell other than `sh' (*note
+configure shells::).
+
+ `configure' adapts the source distribution to the present system via
+`#define''s in `*/c-auto.h', which are created from the corresponding
+`c-auto.in'. It also creates a `Makefile' from the corresponding
+`Makefile.in', doing `@VAR@' and `ac_include' substitutions).
+
+ `configure' is the best place to control the configuration,
+compilation, and installed location of the software, either via
+command-line options, or by setting environment variables before
+invoking it. For example, you can disable `mktexpk' by default with
+the option `--disable-mktexpk'. *Note configure options::.
+
+* Menu:
+
+* configure shells::
+* configure options::
+* configure environment::
+* configure scenarios::
+* Shared library::
+
+
+File: kpathsea.info, Node: configure shells, Next: configure options, Up: Running configure
+
+2.2.4.1 `configure' shells
+..........................
+
+Considerable effort has gone into trying to ensure that the `configure'
+scripts can be run by most Bourne shell variants. If `sh' runs into
+trouble, your best bet is to use Bash, the GNU Bourne-again shell
+(*note Top: (bash)Top.).
+
+ Bourne shell variants for which problems have been reported in the
+past are:
+`ksh'
+ Old versions of the Korn shell may fail to handle the scripts.
+ The Korn shell may be installed as `/bin/sh' on AIX, in which case
+ `/bin/bsh' may serve instead.
+
+`ash'
+ Old versions of ash are unable to handle the scripts. Ash is
+ sometimes installed as `/bin/sh' on NetBSD, FreeBSD, and Linux
+ systems. `/bin/bash' should be available for those systems, but
+ might not be part of a default installation.
+
+`Ultrix /bin/sh'
+ `/bin/sh' under Ultrix is a DEC-grown shell that is notably
+ deficient in many ways. `/bin/sh5' may be necessary.
+
+
+File: kpathsea.info, Node: configure options, Next: configure environment, Prev: configure shells, Up: Running configure
+
+2.2.4.2 `configure' options
+...........................
+
+For a complete list of all `configure' options, run `configure --help'
+or see *Note Running `configure' scripts: (autoconf)Invoking configure,
+(a copy is in the file `kpathsea/README.CONFIGURE'). The generic
+options are listed first in the `--help' output, and the
+package-specific options come last. The environment variables
+`configure' pays attention to are listed below.
+
+ Options particularly likely to be useful are `--prefix',
+`--datadir', and the like; see *Note configure scenarios::.
+
+ This section gives pointers to descriptions of the `--with' and
+`--enable' options to `configure' that Kpathsea-using programs accept.
+
+`--without-mktexmf-default'
+`--without-mktexpk-default'
+`--without-mktextfm-default'
+`--with-mktextex-default'
+ Enable or disable the dynamic generation programs. *Note mktex
+ configuration::.
+
+`--enable-shared'
+ Build Kpathsea as a shared library, and link against it. Also
+ build the usual static library. *Note Shared library::.
+
+`--disable-static'
+ Build only the shared library. Implies `--enable-shared'.
+
+`--enable-maintainer-mode'
+ Enables make targets that are useful for the maintainer and likely
+ to be a pain for anyone else; the makefiles created when this
+ option is enabled may not work at all for you. You have been
+ warned.
+
+
+File: kpathsea.info, Node: configure environment, Next: configure scenarios, Prev: configure options, Up: Running configure
+
+2.2.4.3 `configure' environment
+...............................
+
+`configure' uses the value of the following environment variables in
+determining your system's characteristics, and substitutes for them in
+Makefile's:
+
+`CC'
+ The compiler to use: default is `gcc' if it's installed, otherwise
+ `cc'.
+
+`CFLAGS'
+ Options to give the compiler: default is `-g -O2' for `gcc', `-g'
+ otherwise. `CFLAGS' comes after any other options. You may need
+ to include `-w' here if your compilations commonly have useless
+ warnings (e.g., `NULL redefined'), or `configure' may fail to
+ detect the presence of header files (it takes the messages on
+ standard error to mean the header file doesn't exist).
+
+`CPPFLAGS'
+ Options to pass to the compiler preprocessor; this matters most for
+ configuration, not the actual source compilation. The `configure'
+ script often does only preprocessing (e.g., to check for the
+ existence of #include files), and `CFLAGS' is not used for this.
+ You may need to set this to something like
+ `-I/usr/local/include/wwwhatever' if you have the libwww library
+ installed for hyper-xdvik (see `xdvik/INSTALL').
+
+`DEFS'
+ Additional preprocessor options, but not used by `configure'.
+ Provided for enabling or disabling program features, as documented
+ in the various program-specific installation instructions. `DEFS'
+ comes before any compiler options included by the distribution
+ `Makefile's or by `configure'.
+
+`LDFLAGS'
+ Additional options to give to the loader. `LDFLAGS' comes before
+ any other linker options.
+
+`LIBS'
+ Additional libraries to link with.
+
+
+File: kpathsea.info, Node: configure scenarios, Next: Shared library, Prev: configure environment, Up: Running configure
+
+2.2.4.4 `configure' scenarios
+.............................
+
+Here are some common installation scenarios:
+
+ * Including X support in Metafont. This is disabled by default,
+ since many sites have no use for it, and it's a leading cause of
+ configuration problems.
+ configure --with-x
+
+ * Putting the binaries, TeX files, GNU info files, etc. into a single
+ TeX hierarchy, say `/here/texmf', requires overriding defaults in
+ `configure':
+ configure --prefix=/here/texmf --datadir=/here
+
+ * You can compile on multiple architectures simultaneously either by
+ building symbolic link trees with the `lndir' script from the X11
+ distribution, or with the `--srcdir' option:
+ configure --srcdir=SRCDIR
+
+ * If you are installing binaries for multiple architectures into a
+ single hierarchy, you will probably want to override the default
+ `bin' and `lib' directories, something like this:
+ configure --prefix=TEXMF --datadir=TEXMF \
+ --bindir=TEXMF/ARCH/bin --libdir=TEXMF/ARCH/lib
+ make texmf=TEXMF
+ (Unless you make provisions for architecture-specific files in
+ other ways, e.g., with Depot or an automounter.)
+
+ * To compile with optimization (to compile without debugging, remove
+ the `-g'):
+ env CFLAGS="-g -O" sh configure ...
+ For a potential problem if you optimize, see *Note TeX or Metafont
+ failing: TeX or Metafont failing.
+
+
+File: kpathsea.info, Node: Shared library, Prev: configure scenarios, Up: Running configure
+
+2.2.4.5 Shared library
+......................
+
+You can compile Kpathsea as a shared library on a few systems, by
+specifying the option `--enable-shared' when you run `configure'.
+
+ The main advantage in doing this is that the executables can then
+share the code, thus decreasing memory and disk space requirements.
+
+ On some systems, you can record the location of shared libraries in a
+binary, usually by giving certain options to the linker. Then
+individual users do not need to set their system's environment variable
+(e.g., `LD_LIBRARY_PATH') to find shared libraries. If you want to do
+this, you will need to add the necessary options to `LDFLAGS' yourself;
+for example, on Solaris, include something like `-R${prefix}/lib', on
+IRIX or Linux, use `-rpath${prefix}/lib'. (Unfortunately, making this
+happen by default is very difficult, because of interactions with an
+existing installed shared library.)
+
+ Currently, shared library support is implemented only on Linux,
+SunOS 4 (Solaris 1), SunOS 5 (Solaris 2), IRIX 5, and IRIX 6. If you're
+interested and willing in adding support for other systems, please see
+the `configure' mode in the `klibtool' script, especially the
+host-specific case statement around line 250.
+
+
+File: kpathsea.info, Node: Running make, Next: Installing files, Prev: Running configure, Up: Custom installation
+
+2.2.5 Running `make'
+--------------------
+
+`make' (still in the top-level directory). This also creates the
+`texmf.cnf' and `paths.h' files that define the default search paths,
+and (by default) the `plain' and `latex' TeX formats.
+
+ You can override directory names and other values at `make'-time.
+`make/paths.make' lists the variables most commonly reset. For
+example, `make default_texsizes=600' changes the list of fallback
+resolutions.
+
+ You can also override each of `configure''s environment variables
+(*note configure environment::). The Make variables have the same
+names.
+
+ Finally, you can supply additional options via the following
+variables. (`configure' does not use these.)
+
+`XCPPFLAGS'
+`XDEFS'
+ Preprocessor options.
+
+`XCFLAGS'
+ Compiler options.
+
+`XLDFLAGS'
+ Loader options (included at beginning of link commands).
+
+`XLOADLIBES'
+ More loader options (included at end of link commands).
+
+`XMAKEARGS'
+ Additional Make arguments passed to all sub-`make''s. You may need
+ to include assignments to the other variables here via `XMAKEARGS';
+ for example: `make XMAKEARGS="CFLAGS=-O XDEFS=-DA4"'.
+
+ It's generally a bad idea to use a different compiler (`CC') or
+libraries (`LIBS') for compilation than you did for configuration,
+since the values `configure' determined may then be incorrect.
+
+ Adding compiler options to change the "universe" you are using
+(typically BSD vs. system V) is generally a cause of trouble. It's
+best to use the native environment, whatever that is; `configure' and
+the software usually adapt best to that. In particular, under Solaris
+2.x, you should not use the BSD-compatibility library (`libucb') or
+include files (`ucbinclude').
+
+ If you want to use the Babel LaTeX package for support of non-English
+typesetting, you need to modify some files before making the LaTeX
+format. See the file `install.txt' in the Babel distribution.
+
+
+File: kpathsea.info, Node: Installing files, Next: Cleaning up, Prev: Running make, Up: Custom installation
+
+2.2.6 Installing files
+----------------------
+
+The basic command is the usual `make install'. For security issues,
+*note Security::.
+
+ The first time you install any manual in the GNU Info system, you
+should add a line (you choose where) to the file `dir' in your
+`$(infodir)' directory. Sample text for this is given near the top of
+the Texinfo source files (`kpathsea/kpathsea.texi',
+`dvipsk/dvips.texi', and `web2c/doc/web2c.texi'). If you have a recent
+version of the GNU Texinfo distribution installed
+(`ftp://prep.ai.mit.edu/pub/gnu/texinfo-3.9.tar.gz' or later), this
+should happen automatically.
+
+ On the offchance that this is your first Info installation, the
+`dir' file I use is included in the distribution as `etc/dir-example'.
+
+ You may wish to use one of the following targets, especially if you
+are installing on multiple architectures:
+ * `make install-exec' to install in architecture-dependent
+ directories, i.e., ones that depend on the `$(exec_prefix)' Make
+ variable. This includes links to binaries, libraries, etc., not
+ just "executables".
+
+ * `make install-data' to install in architecture-independent
+ directories, such as documentation, configuration files, pool
+ files, etc.
+
+ If you use the Andrew File System, the normal path (e.g.,
+PREFIX/bin) only gets you to a read-only copy of the files, and you
+must specify a different path for installation. The best way to do this
+is by setting the `prefix' variable on the `make' command line. The
+sequence becomes something like this:
+ configure --prefix=/whatever
+ make
+ make install prefix=/afs/.SYSTEM.NAME/system/1.3/@sys/whatever
+ With AFS, you will definitely want to use relative filenames in
+`ls-R' (*note Filename database::), not absolute filenames. This is
+done by default, but check anyway.
+
+
+File: kpathsea.info, Node: Cleaning up, Next: Filename database generation, Prev: Installing files, Up: Custom installation
+
+2.2.7 Cleaning up
+-----------------
+
+The basic command is `make distclean'. This removes all files created
+by the build.
+
+ Alternatively,
+ * `make mostlyclean' if you intend to compile on another
+ architecture. For Web2C, since the generated C files are portable,
+ they are not removed. If the `lex' vs. `flex' situation is going
+ to be different on the next machine, `rm web2c/lex.yy.c'.
+
+ * `make clean' to remove files created by compiling, but leave
+ configuration files and Makefiles.
+
+ * `make maintainer-clean' to remove everything that the Makefiles can
+ rebuild. This is more than `distclean' removes, and you should
+ only use it if you are thoroughly conversant with (and have the
+ necessary versions of) Autoconf.
+
+ * `make extraclean' to remove other junk, e.g., core files, log
+ files, patch rejects. This is independent of the other `clean'
+ targets.
+
+
+File: kpathsea.info, Node: Filename database generation, Next: mktex scripts, Prev: Cleaning up, Up: Custom installation
+
+2.2.8 Filename database generation
+----------------------------------
+
+You will probably want to set up a `cron' entry on the appropriate
+machine(s) to rebuild the filename database nightly or so, as in:
+ 0 0 * * * cd TEXMF && /BINDIR/mktexlsr
+ *Note Filename database::.
+
+ Although the `mktex...' scripts make every effort to add
+newly-created files on the fly, it can't hurt to make sure you get a
+fresh version every so often.
+
+
+File: kpathsea.info, Node: mktex scripts, Next: Installation testing, Prev: Filename database generation, Up: Custom installation
+
+2.2.9 `mktex' scripts
+---------------------
+
+If Kpathsea cannot otherwise find a file, for some file types it is
+configured by default to invoke an external program to create it
+dynamically (*note mktex configuration::). This is most useful for
+fonts (bitmaps, TFM's, and arbitrarily-sizable Metafont sources such as
+the Sauter and EC fonts), since any given document can use fonts never
+before referenced. Trying to build all fonts in advance is therefore
+impractical, if not impossible.
+
+ The script is passed the name of the file to create and possibly
+other arguments, as explained below. It must echo the full pathname of
+the file it created (and nothing else) to standard output; it can write
+diagnostics to standard error.
+
+* Menu:
+
+* mktex configuration::
+* mktex script names::
+* mktex script arguments::
+
+
+File: kpathsea.info, Node: mktex configuration, Next: mktex script names, Up: mktex scripts
+
+2.2.9.1 `mktex' configuration
+.............................
+
+The following file types can run an external program to create missing
+files: `pk', `tfm', `mf', `tex'; the scripts are named `mktexpk',
+`mktextfm', `mktexmf', and `mktextex'.
+
+ In the absence of `configure' options specifying otherwise,
+everything but `mktextex' will be enabled by default. The `configure'
+options to change the defaults are:
+
+ --without-mktexmf-default
+ --without-mktexpk-default
+ --without-mktextfm-default
+ --with-mktextex-default
+
+ The `configure' setting is overridden if the environment variable or
+configuration file value named for the script is set; e.g., `MKTEXPK'
+(*note mktex script arguments::).
+
+ As distributed, all the scripts source a file
+`texmf/web2c/mktex.cnf' if it exists, so you can override various
+defaults. See `mktex.opt', for instance, which defines the default
+mode, resolution, some special directory names, etc. If you prefer not
+to change the distributed scripts, you can simply create `mktex.cnf'
+with the appropriate definitions (you do not need to create it if you
+have nothing to put in it). `mktex.cnf' has no special syntax; it's an
+arbitrary Bourne shell script. The distribution contains a sample
+`mktex.cnf' for you to copy and modify as you please (it is not
+installed anywhere).
+
+ In addition, you can configure a number of features with the
+`MT_FEATURES' variable, which you can define:
+ * in `mktex.opt', as just mentioned;
+
+ * by editing the file `mktex.opt', either before `make install' (in
+ the source hierarchy) or after (in the installed hierarchy);
+
+ * or in the environment.
+
+ If none of the options below are enabled, `mktexpk', `mktextfm', and
+`mktexmf' follow the following procedure to decide where fonts should
+be installed. Find the tree where the font's sources are, and test the
+permissions of the `fonts' directory of that tree to determine whether
+it is writable. If it is, put the files in the tree in appropriate
+locations. If it isn't writable, see whether the tree is a system tree
+(named in `SYSTEXMF'). If so, the `VARTEXFONTS' tree is used. In all
+other cases the working directory is used.
+
+ The `appendonlydir' option is enabled by default.
+
+`appendonlydir'
+ Tell `mktexdir' to create directories append-only, i.e., set their
+ sticky bit (*note Mode Structure: (coreutils)Mode Structure.).
+ This feature is silently ignored on non-Unix platforms (e.g.
+ Windows/NT and MS-DOS) which don't support similar functionality.
+ This feature is enabled by default.
+
+`dosnames'
+ Use 8.3 names; e.g., `dpi600/cmr10.pk' instead of `cmr10.600pk'.
+ Note that this feature only affects filenames that would otherwise
+ clash with other TeX-related filenames; `mktex' scripts do nothing
+ about filenames which exceed the 8+3 MS-DOS limits but remain
+ unique when truncated (by the OS) to these limits, and nether do
+ the scripts care about possible clashes with files which aren't
+ related with TeX. For example, `cmr10.600pk' would clash with
+ `cmr10.600gf' and is therefore changed when `dosnames' is in
+ effect, but `mf.pool' and `mp.base' don't clash with any
+ TeX-related files and are therefore unchanged.
+
+ This feature is turned on by default on MS-DOS. If you do not wish
+ `dosnames' to be set on an MS-DOS platform, you need to set the
+ `MT_FEATURES' environment variable to a value that doesn't include
+ `dosnames'. You can also change the default setting by editing
+ `mktex.opt', but only if you use the `mktex' shell scripts; the
+ emulation programs don't consult `mktex.opt'.
+
+`fontmaps'
+ Instead of deriving the location of a font in the destination tree
+ from the location of the sources, the aliases and directory names
+ from the Fontname distribution are used. (*note Introduction:
+ (fontname)Top.).
+
+`nomfdrivers'
+ Let mktexpk and mktextfm create metafont driver files in a
+ temporary directory. These will be used for just one metafont run
+ and not installed permanently.
+
+`nomode'
+ Omit the directory level for the mode name; this is fine as long as
+ you generate fonts for only one mode.
+
+`stripsupplier'
+ Omit the font supplier name directory level.
+
+`striptypeface'
+ Omit the font typeface name directory level.
+
+`strip'
+ Omit the font supplier and typeface name directory levels. This
+ feature is deprecated in favour of `stripsupplier' and
+ `striptypeface'.
+
+`varfonts'
+ When this option is enabled, fonts that would otherwise be written
+ in system texmf tree go to the `VARTEXFONTS' tree instead. The
+ default value in `kpathsea/Makefile.in' is `/var/tmp/texfonts'.
+ The `Linux File System Standard' recommends `/var/tex/fonts'.
+
+ The `varfonts' setting in `MT_FEATURES' is overridden by the
+ `USE_VARTEXFONTS' environment variable: if set to `1', the feature
+ is enabled, and if set to `0', the feature is disabled.
+
+`texmfvar'
+ Force generated files that would go into a system tree (as defined
+ by `SYSTEXMF') into `TEXMFVAR'. Starting with teTeX-3.0, the
+ variable `TEXMFVAR' is always set. The `varfonts' feature takes
+ precedence if also set.
+
+ The `texmfvar' setting in `MT_FEATURES' is overridden by the
+ `USE_TEXMFVAR' environment variable: if set to `1', the feature is
+ enabled, and if set to `0', the feature is disabled.
+
+
+File: kpathsea.info, Node: mktex script names, Next: mktex script arguments, Prev: mktex configuration, Up: mktex scripts
+
+2.2.9.2 `mktex' script names
+............................
+
+The following table shows the default name of the script for each
+possible file types. (The source is the variable `kpse_make_specs' in
+`kpathsea/tex-make.c'.)
+
+`mktexpk'
+ Glyph fonts.
+
+`mktextex'
+ TeX input files.
+
+`mktexmf'
+ Metafont input files.
+
+`mktextfm'
+ TFM files.
+
+These names are overridden by an environment variable specific to the
+program--for example, `DVIPSMAKEPK' for Dvipsk.
+
+ If a `mktex...' script fails, the invocation is appended to a file
+`missfont.log' (by default) in the current directory. You can then
+execute the log file to create the missing files after fixing the
+problem.
+
+ If the current directory is not writable and the environment
+variable or configuration file value `TEXMFOUTPUT' is set, its value is
+used. Otherwise, nothing is written. The name `missfont.log' is
+overridden by the `MISSFONT_LOG' environment variable or configuration
+file value.
+
+
+File: kpathsea.info, Node: mktex script arguments, Prev: mktex script names, Up: mktex scripts
+
+2.2.9.3 `mktex' script arguments
+................................
+
+The first argument to a `mktex' script is always the name of the file
+to be created.
+
+ In the default `mktexpk' implementation, additional arguments may
+also be passed:
+
+`--dpi NUM'
+ Sets the resolution of the generated font to NUM.
+
+`--mfmode NAME'
+ Sets the Metafont mode to NAME.
+
+`--bdpi NUM'
+ Sets the the "base dpi" for the font. This must match the mode
+ being used.
+
+`--mag STRING'
+ A "magstep" string suitable for the Metafont `mag' variable. This
+ must match the combination of BDPI and DPI being used.
+
+`--destdir STRING'
+ A directory name. If the directory is absolute, it is used as-is.
+ Otherwise, it is appended to the root destination directory set in
+ the script.
+
+
+File: kpathsea.info, Node: Installation testing, Prev: mktex scripts, Up: Custom installation
+
+2.2.10 Installation testing
+---------------------------
+
+Besides the tests listed in *Note Simple installation::, you can try
+running `make check'. This includes the torture tests (trip, trap, and
+mptrap) that come with Web2c (*note Triptrap: (web2c)Triptrap.).
+
+
+File: kpathsea.info, Node: Security, Next: TeX directory structure, Prev: Custom installation, Up: Installation
+
+2.3 Security
+============
+
+None of the programs in the TeX system require any special system
+privileges, so there's no first-level security concern of people gaining
+illegitimate root access.
+
+ A TeX document, however, can write to arbitrary files, e.g.,
+`~/.rhosts', and thus an unwitting user who runs TeX on a random
+document is vulnerable to a trojan horse attack. This loophole is
+closed by default, but you can be permissive if you so desire in
+`texmf.cnf'. *Note tex invocation: (web2c)tex invocation. MetaPost has
+the same issue.
+
+ Dvips, Xdvi, and TeX can also execute shell commands under some
+circumstances. To disable this, see the `-R' option in *Note Option
+details: (dvips)Option details, the xdvi man page, and *Note tex
+invocation: (web2c)tex invocation, respectively.
+
+ Another security issue arises because it's very useful--almost
+necessary--to make arbitrary fonts on user demand with `mktexpk' and
+friends. Where do these files get installed? By default, the
+`mktexpk' distributed with Kpathsea assumes a world-writable `/var/tmp'
+directory; this is a simple and convenient approach, but it may not
+suit your situation because it means that a local cache of fonts is
+created on every machine.
+
+ To avoid this duplication, many people consider a shared, globally
+writable font tree desirable, in spite of the potential security
+problems. To do this you should change the value of `VARTEXFONTS' in
+`texmf.cnf' to refer to some globally known directory. *Note mktex
+configuration::.
+
+ The first restriction you can apply is to make newly-created
+directories under `texmf' be append-only with an option in `mktex.cnf'.
+*Note mktex configuration::.
+
+ Another approach is to establish a group (or user) for TeX files,
+make the `texmf' tree writable only to that group (or user), and make
+`mktexpk' et al. setgid to that group (or setuid to that user). Then
+users must invoke the scripts to install things. (If you're worried
+about the inevitable security holes in scripts, then you could write a
+C wrapper to exec the script.)
+
+ The `mktex...' scripts install files with the same read and write
+permissions as the directory they are installed in. The executable,
+sgid, suid, and sticky bits are always cleared.
+
+ Any directories created by the `mktex...' scripts have the same
+permissions as their parent directory, unless the `appendonlydir'
+feature is used, in which case the sticky bit is always set.
+
+
+File: kpathsea.info, Node: TeX directory structure, Next: unixtex.ftp, Prev: Security, Up: Installation
+
+2.4 TeX directory structure
+===========================
+
+This section describes the default installation hierarchy of the
+distribution. It conforms to both the GNU coding standards and the TeX
+directory structure (TDS) standard. For rationale and further
+explanation, please see those documents. The GNU standard is available
+as `ftp://prep.ai.mit.edu/pub/gnu/standards/standards.texi' and
+mirrors. The TDS document is available from `CTAN:/tex-archive/tds'
+(*note unixtex.ftp::).
+
+ You can change the default paths in many ways (*note Changing search
+paths::). One common desire is to put everything (binaries and all)
+under a single top-level directory such as `/usr/local/texmf' or
+`/opt/texmf'--in the terms used below, make PREFIX and TEXMF the same.
+For specific instructions on doing that, see *Note configure
+scenarios::.
+
+ Here is a skeleton of the default directory structure, extracted from
+the TDS document:
+
+ PREFIX/ installation root (`/usr/local' by default)
+ bin/ executables
+ man/ man pages
+ include/ C header files
+ info/ GNU info files
+ lib/ libraries (`libkpathsea.*')
+ share/ architecture-independent files
+ texmf/ TDS root
+ bibtex/ BibTeX input files
+ bib/ BibTeX databases
+ base/ base distribution (e.g., `xampl.bib')
+ misc/ single-file databases
+ PKG/ name of a package
+ bst/ BibTeX style files
+ base/ base distribution (e.g., `plain.bst', `acm.bst')
+ misc/ single-file styles
+ PKG/ name of a package
+ doc/ additional documentation
+ dvips/ `.pro', `.ps', `psfonts.map'
+ fonts/ font-related files
+ TYPE/ file type (e.g., `tfm', `pk')
+ MODE/ type of output device (types `pk' and `gf' only)
+ SUPPLIER/ name of a font supplier (e.g., `public')
+ TYPEFACE/ name of a typeface (e.g., `cm')
+ dpiNNN/ font resolution (types `pk' and `gf' only)
+ metafont/ Metafont (non-font) input files
+ base/ base distribution (e.g., `plain.mf')
+ misc/ single-file packages (e.g., `modes.mf')
+ PKG/ name of a package (e.g., `mfpic')
+ metapost/ MetaPost input files
+ base/ base distribution (e.g., `plain.mp')
+ misc/ single-file packages
+ PKG/ name of a package
+ support/ support files for MetaPost-related utilities (e.g., `trfonts.map')
+ mft/ `MFT' inputs (e.g., `plain.mft')
+ tex/ TeX input files
+ FORMAT/ name of a format (e.g., `plain')
+ base/ base distribution for FORMAT (e.g., `plain.tex')
+ misc/ single-file packages (e.g., `webmac.tex')
+ local/ local additions to or local configuration files for FORMAT
+ PKG/ name of a package (e.g., `graphics', `mfnfss')
+ generic/ format-independent packages
+ hyphen/ hyphenation patterns (e.g., `hyphen.tex')
+ images/ image input files (e.g., Encapsulated PostScript)
+ misc/ single-file format-independent packages (e.g., `null.tex').
+ PKG/ name of a package (e.g., `babel')
+ web2c/ implementation-dependent files (`.pool', `.fmt', `texmf.cnf', etc.)
+
+ Some concrete examples for most file types:
+
+ /usr/local/bin/tex
+ /usr/local/man/man1/xdvi.1
+ /usr/local/info/kpathsea.info
+ /usr/local/lib/libkpathsea.a
+ /usr/local/share/texmf/bibtex/bst/base/plain.bst
+ /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk
+ /usr/local/share/texmf/fonts/source/public/pandora/pnr10.mf
+ /usr/local/share/texmf/fonts/tfm/public/cm/cmr10.tfm
+ /usr/local/share/texmf/fonts/type1/adobe/utopia/putr.pfa
+ /usr/local/share/texmf/metafont/base/plain.mf
+ /usr/local/share/texmf/metapost/base/plain.mp
+ /usr/local/share/texmf/tex/plain/base/plain.tex
+ /usr/local/share/texmf/tex/generic/hyphen/hyphen.tex
+ /usr/local/share/texmf/web2c/tex.pool
+ /usr/local/share/texmf/web2c/tex.fmt
+ /usr/local/share/texmf/web2c/texmf.cnf
+
+
+File: kpathsea.info, Node: unixtex.ftp, Next: Reporting bugs, Prev: TeX directory structure, Up: Installation
+
+2.5 `unixtex.ftp': Obtaining TeX
+================================
+
+This is `ftp://ftp.tug.org/tex/unixtex.ftp', last updated 26 December
+2003. Also available as `http://www.tug.org/unixtex.ftp'. The IP
+address is currently `[130.225.2.178]'. It is also in Kpathsea source
+distributions as `etc/unixtex.ftp' (although the network version is
+usually newer). Mail <tex-k@mail.tug.org> with comments or questions.
+
+ Following are general instructions for Unix or other sites who wish
+to acquire the Web2c distribution, (plain) TeX, LaTeX (2e), BibTeX,
+Metafont, MetaPost, DVI processors for the X window system, PostScript,
+the PCL language in the HP LaserJet, and related programs. They are
+oriented towards building from the original sources, though some
+information on alternative packages is included in the last section.
+See also `http://www.tug.org/web2c/', the Web2c and Kpathsea home page.
+
+ Please note that the Web2c distribution is a bare-bones distribution
+in source form, and building a complete installation from it is a
+non-trivial matter. For most uses, it is a better idea to install a
+distribution with pre-packaged binaries for your platform. The
+principal example of such a distribution is TeX Live
+(`http://www.tug.org/texlive/'), which is based on the Web2c sources.
+
+ Please consider joining the TeX Users Group (TUG) or another user
+group of your choice to help support the maintenance and development of
+the programs you retrieve. See `http://www.tug.org/join.html' for
+information and the membership registration form, and
+`http://www.tug.org/usergroups.html' for a listing of all user groups.
+
+ For actual installation instructions after obtaining the necessary
+sources, see *Note Installation::. A copy is in the distribution file
+`kpathsea/INSTALL'.
+
+* Menu:
+
+* Electronic distribution:: CTAN and so forth.
+* CD-ROM distribution::
+* Other TeX packages::
+
+
+File: kpathsea.info, Node: Electronic distribution, Next: CD-ROM distribution, Up: unixtex.ftp
+
+2.5.1 Electronic distribution
+-----------------------------
+
+In many places we refer to CTAN:. This is _both_ a host name and a
+directory name. Here are the primary locations:
+
+ `ftp://ctan.tug.org/tex-archive/' (Vermont, USA)
+ `ftp://ftp.dante.de/tex-archive/' (Germany)
+ `ftp://ftp.tex.ac.uk/tex-archive/' (England)
+
+CTAN has many mirrors worldwide; see the top-level file
+`README.mirrors' from one of the sites above or see
+`http://www.tug.org/CTAN.sites'.
+
+ You can also access CTAN via the World Wide Web, electronic mail, or
+NFS. The same `README.mirrors' file explains how.
+
+ You will need to retrieve some or all of the following archives,
+depending on your needs (don't forget to set binary mode for file
+transfers):
+
+`CTAN:/systems/web2c/web.tar.gz'
+ The original WEB source files, written primarily by Don Knuth.
+ Required unless you already have this `web' version. (The WEB
+ sources change irregularly with respect to Web2c itself.) Unpacks
+ into `web2c-VERSION'.
+
+`CTAN:/systems/web2c/web2c.tar.gz'
+ The Web2c system. Required. Also unpacks into `web2c-VERSION'.
+
+`CTAN:/systems/web2c/web2c-etex.tar.gz'
+ Additions to the Web2c system for building e-TeX. Optional.
+ Unpacks into `web2c-VERSION'.
+
+`CTAN:/systems/web2c/etexlib.tar.gz'
+ Additions to the texmf tree needed to build e-TeX. Optional.
+ Unpacks into `texmf/'.
+
+`CTAN:/systems/web2c/etexdoc.tar.gz'
+ Documentation for e-TeX as an addition to the texmf tree.
+ Optional. Unpacks into `texmf/'.
+
+`CTAN:/systems/web2c/web2c-omega.tar.gz'
+ Additions to the Web2c system for building Omega. Optional.
+ Unpacks into `web2c-VERSION'.
+
+`CTAN:/systems/web2c/omegalib.tar.gz'
+ Additions to the texmf tree needed to build Omega. Optional.
+ Unpacks into `texmf/'.
+
+`CTAN:/systems/web2c/omegadoc.tar.gz'
+ Documentation for Omega as an addition to the texmf tree.
+ Optional. Unpacks into `texmf/'.
+
+`CTAN:/systems/web2c/web2c-pdftex.tar.gz'
+ Additions to the Web2c system for building pdfTeX. Optional.
+ Unpacks into `web2c-VERSION'.
+
+`CTAN:/systems/web2c/pdftexlib.tar.gz'
+ Additions to the texmf tree needed to build pdfTeX. Optional.
+ Unpacks into `texmf/'.
+
+`CTAN:/dviware/xdvik/xdvik.tar.gz'
+ X window system DVI previewer. Unpacks into `xdvik-VERSION'.
+ Optional.
+
+ Additional drivers, macro files, and other support are needed to
+build a working system. These are available in teTeX.
+
+ All that said, the originating host for the software above is
+`ftp.tug.org'. You can retrieve these distributions (but not much
+else) from the `tex/' directory on that host.
+
+
+File: kpathsea.info, Node: CD-ROM distribution, Next: Other TeX packages, Prev: Electronic distribution, Up: unixtex.ftp
+
+2.5.2 CD-ROM distribution
+-------------------------
+
+Numerous organizations distribute various TeX CD-ROM's (and DVD's):
+
+ * Virtually all the TeX user groups collaborate to produce the `TeX
+ Live' distribution once a year; see `http://www.tug.org/texlive/'
+ for more information.
+
+ * The Free Software Foundation's `Source Code CD-ROM' contains the
+ minimal TeX source distribution described in the previous section
+ (i.e., enough to print GNU documentation); email <gnu@gnu.org>.
+
+ * Most Linux distributions include some TeX package based on Web2c;
+ see the Linux documentation file `Distribution-HOWTO' for a
+ comparison of Linux distributions, available (for example) via
+ `http://www.linux.org'.
+
+ If you know of additional TeX distributions to add to this list,
+please inform <tex-k@mail.tug.org>.
+
+
+File: kpathsea.info, Node: Other TeX packages, Prev: CD-ROM distribution, Up: unixtex.ftp
+
+2.5.3 Other TeX packages
+------------------------
+
+Many other TeX implementations are available in `CTAN:/systems',
+including ready-to-run distributions for Unix, Amiga, Acorn, VMS,
+Macintosh, DOS, and Windows (in various forms). Although Web2c has
+support in the source code for many operating systems, and in fact some
+of the other distributions are based on it, it's unlikely to work as
+distributed on anything but Unix. (Please contribute improvements!)
+
+ The principal user-oriented Unix distribution based on Web2c is the
+teTeX distribution. It includes complete sources, and runs on all
+modern Unix variants, including Linux. It contains many TeX-related
+programs besides those in the core Web2c.
+
+ The host labrea.stanford.edu is the original source for the files
+for which Donald Knuth is directly responsible: `tex.web', `plain.tex',
+etc. However, unless you want to build your TeX library tree ab initio,
+it is more reliable and less work to retrieve these files as part of
+the above packages. In any case, labrea is not the canonical source for
+anything except what was created by Stanford TeX project, so do not
+rely on all the files available at that ftp site being up-to-date.
+
+
+File: kpathsea.info, Node: Reporting bugs, Prev: unixtex.ftp, Up: Installation
+
+2.6 Reporting bugs
+==================
+
+(A copy of this chapter is in the file `kpathsea/BUGS'.)
+
+If you have problems or suggestions, please report them to
+<tex-k@mail.tug.org> using the bug checklist below.
+
+ Please report bugs in the documentation; not only factual errors or
+inconsistent behavior, but unclear or incomplete explanations, typos,
+wrong fonts, ...
+
+* Menu:
+
+* Bug checklist:: What to include in a good bug report.
+* Mailing lists:: Joining the bugs or announcements mailing lists.
+* Debugging:: Analyzing runtime problems.
+* Logging:: Recording searches.
+* Common problems:: When things go wrong.
+
+
+File: kpathsea.info, Node: Bug checklist, Next: Mailing lists, Up: Reporting bugs
+
+2.6.1 Bug checklist
+-------------------
+
+Before reporting a bug, please check below to be sure it isn't already
+known (*note Common problems::).
+
+ Bug reports should be sent via electronic mail to
+<tex-k@mail.tug.org>, or by postal mail to 135 Center Hill Road /
+Plymouth, MA 02360 / USA.
+
+ The general principle is that a good bug report includes all the
+information necessary for reproduction. Therefore, to enable
+investigation, your report should include the following:
+
+ * The version number(s) of the program(s) involved, and of Kpathsea
+ itself. You can get the former by giving a sole option `--version'
+ to the program, and the latter by running `kpsewhich --version'.
+ The `NEWS' and `ChangeLog' files also contain the version number.
+
+ * The hardware, operating system (including version number),
+ compiler, and `make' program you are using (the output of `uname
+ -a' is a start on the first two, though often incomplete). If the
+ bug involves the X window system, include X version and supplier
+ information as well (examples: X11R6 from MIT; X11R4 from HP;
+ OpenWindows 3.3 bundled with SunOS 4.1.4).
+
+ * Any options you gave to `configure'. This is recorded in the
+ `config.status' files.
+
+ If you are reporting a bug in `configure' itself, it's probably
+ system-dependent, and it will be unlikely the maintainers can do
+ anything useful if you merely report that thus-and-such is broken.
+ Therefore, you need to do some additional work: for some bugs, you
+ can look in the file `config.log' where the test that failed should
+ appear, along with the compiler invocation and source program in
+ question. You can then compile it yourself by hand, and discover
+ why the test failed. Other `configure' bugs do not involve the
+ compiler; in that case, the only recourse is to inspect the
+ `configure' shell script itself, or the Autoconf macros that
+ generated `configure'.
+
+ * The log of all debugging output, if the bug is in path searching.
+ You can get this by setting the environment variable
+ `KPATHSEA_DEBUG' to `-1' before running the program. Please look
+ at the log yourself to make sure the behavior is really a bug
+ before reporting it; perhaps "old" environment variable settings
+ are causing files not to be found, for example.
+
+ * The contents of any input files necessary to reproduce the bug.
+ For bugs in DVI-reading programs, for example, this generally
+ means a DVI file (and any EPS or other files it uses)--TeX source
+ files are helpful, but the DVI file is necessary, because that's
+ the actual program input.
+
+ GNU `shar', available from `ftp://prep.ai.mit.edu/pub/gnu' is a
+ convenient way of packaging multiple (possibly binary) files for
+ electronic mail. If you feel your input files are too big to send
+ by email, you can ftp them to `ftp://ftp.tug.org/incoming' (that
+ directory is writable, but not readable).
+
+ * If you are sending a patch (do so if you can!), please do so in
+ the form of a context diff (`diff -c') against the original
+ distribution source. Any other form of diff is either not as
+ complete or harder for me to understand. Please also include a
+ `ChangeLog' entry.
+
+ * If the bug involved is an actual crash (i.e., core dump), it is
+ easy and useful to include a stack trace from a debugger (I
+ recommend the GNU debugger GDB, available from
+ `ftp://prep.ai.mit.edu/pub/gnu'). If the cause is apparent (a
+ `NULL' value being dereferenced, for example), please send the
+ details along. If the program involved is TeX or Metafont, and
+ the crash is happening at apparently-sound code, however, the bug
+ may well be in the compiler, rather than in the program or the
+ library (*note TeX or Metafont failing: TeX or Metafont failing.).
+
+ * Any additional information that will be helpful in reproducing,
+ diagnosing, or fixing the bug.
+
+
+File: kpathsea.info, Node: Mailing lists, Next: Debugging, Prev: Bug checklist, Up: Reporting bugs
+
+2.6.2 Mailing lists
+-------------------
+
+Web2c and Kpathsea in general are discussed on the mailing list
+<tex-k@mail.tug.org>. To join, email <tex-k-request@mail.tug.org> with
+a line consisting of
+
+ subscribe YOU@YOUR.PREFERRED.EMAIL.ADDRESS
+
+in the body of the message.
+
+ You do not need to join to submit a report, nor will it affect
+whether you get a response. There is no Usenet newsgroup equivalent
+(if you can be the one to set this up, email `tex-k-request'). Traffic
+on the list is fairly light, and is mainly bug reports and enhancement
+requests to the software. The best way to decide if you want to join
+or not is read some of the archives from
+`ftp://ftp.tug.org/mail/archives/tex-k/'.
+
+ Be aware that large data files are sometimes included in bug reports.
+If this is a problem for you, do not join the list.
+
+ If you only want announcements of new releases, not bug reports and
+discussion, join <tex-archive@math.utah.edu> (via mail to
+<tex-archive-request@math.utah.edu>).
+
+ If you are looking for general TeX help, such as how to use LaTeX,
+please use the mailing list <info-tex@shsu.edu> mailing list, which is
+gatewayed to the `comp.text.tex' Usenet newsgroup (or post to the
+newsgroup; the gateway is bidirectional).
+
+
+File: kpathsea.info, Node: Debugging, Next: Logging, Prev: Mailing lists, Up: Reporting bugs
+
+2.6.3 Debugging
+---------------
+
+Kpathsea provides a number of runtime debugging options, detailed below
+by their names and corresponding numeric values. When the files you
+expect aren't being found, the thing to do is enable these options and
+examine the output.
+
+ You can set these with some runtime argument (e.g., `-d') to the
+program; in that case, you should use the numeric values described in
+the program's documentation (which, for Dvipsk and Xdvik, are different
+than those below). It's best to give the `-d' (or whatever) option
+first, for maximal output. Dvipsk and Xdvik have additional
+program-specific debugging options as well.
+
+ You can also set the environment variable `KPATHSEA_DEBUG'; in this
+case, you should use the numbers below. If you run the program under a
+debugger and set the variable `kpathsea_debug', also use the numbers
+below.
+
+ In any case, by far the simplest value to use is `-1', which will
+turn on all debugging output. This is usually better than guessing
+which particular values will yield the output you need.
+
+ Debugging output always goes to standard error, so you can redirect
+it easily. For example, in Bourne-compatible shells:
+ dvips -d -1 ... 2>/tmp/debug
+
+ It is sometimes helpful to run the standalone Kpsewhich utility
+(*note Invoking kpsewhich::), instead of the original program.
+
+ In any case, you can _not_ use the _names_ below; you must always
+use somebody's numbers. (Sorry.) To set more than one option, just
+sum the corresponding numbers.
+
+`KPSE_DEBUG_STAT (1)'
+ Report `stat'(2) calls. This is useful for verifying that your
+ directory structure is not forcing Kpathsea to do many additional
+ file tests (*note Slow path searching::, and *note Subdirectory
+ expansion::). If you are using an up-to-date `ls-R' database
+ (*note Filename database::), this should produce no output unless a
+ nonexistent file that must exist is searched for.
+
+`KPSE_DEBUG_HASH (2)'
+ Report lookups in all hash tables: `ls-R' and `aliases' (*note
+ Filename database::); font aliases (*note Fontmap::); and config
+ file values (*note Config files::). Useful when expected values
+ are not being found, e.g.., file searches are looking at the disk
+ instead of using `ls-R'.
+
+`KPSE_DEBUG_FOPEN (4)'
+ Report file openings and closings. Especially useful when your
+ system's file table is full, for seeing which files have been
+ opened but never closed. In case you want to set breakpoints in a
+ debugger: this works by redefining `fopen' (`fclose') to be
+ `kpse_fopen_trace' (`kpse_fclose_trace').
+
+`KPSE_DEBUG_PATHS (8)'
+ Report general path information for each file type Kpathsea is
+ asked to search. This is useful when you are trying to track down
+ how a particular path got defined--from `texmf.cnf', `config.ps',
+ an environment variable, the compile-time default, etc. This is
+ the contents of the `kpse_format_info_type' structure defined in
+ `tex-file.h'.
+
+`KPSE_DEBUG_EXPAND (16)'
+ Report the directory list corresponding to each path element
+ Kpathsea searches. This is only relevant when Kpathsea searches
+ the disk, since `ls-R' searches don't look through directory lists
+ in this way.
+
+`KPSE_DEBUG_SEARCH (32)'
+ Report on each file search: the name of the file searched for, the
+ path searched in, whether or not the file must exist (when drivers
+ search for `cmr10.vf', it need not exist), and whether or not we
+ are collecting all occurrences of the file in the path (as with,
+ e.g., `texmf.cnf' and `texfonts.map'), or just the first (as with
+ most lookups). This can help you correlate what Kpathsea is doing
+ with what is in your input file.
+
+`KPSE_DEBUG_VARS (64)'
+ Report the value of each variable Kpathsea looks up. This is
+ useful for verifying that variables do indeed obtain their correct
+ values.
+
+`GSFTOPK_DEBUG (128)'
+ Activates debugging printout specific to `gsftopk' program.
+
+`MAKETEX_DEBUG (512)'
+ If you use the optional `mktex' programs instead of the
+ traditional shell scripts, this will report the name of the site
+ file (`mktex.cnf' by default) which is read, directories created by
+ `mktexdir', the full path of the `ls-R' database built by
+ `mktexlsr', font map searches, `MT_FEATURES' in effect, parameters
+ from `mktexnam', filenames added by `mktexupd', and some
+ subsidiary commands run by the programs.
+
+`MAKETEX_FINE_DEBUG (1024)'
+ When the optional `mktex' programs are used, this will print
+ additional debugging info from functions internal to these
+ programs.
+
+ Debugging output from Kpathsea is always written to standard error,
+and begins with the string `kdebug:'. (Except for hash table buckets,
+which just start with the number, but you can only get that output
+running under a debugger. See comments at the `hash_summary_only'
+variable in `kpathsea/db.c'.)
+
+
+File: kpathsea.info, Node: Logging, Next: Common problems, Prev: Debugging, Up: Reporting bugs
+
+2.6.4 Logging
+-------------
+
+Kpathsea can record the time and filename found for each successful
+search. This may be useful in finding good candidates for deletion when
+your filesystem is full, or in discovering usage patterns at your site.
+
+ To do this, define the environment or config file variable
+`TEXMFLOG'. The value is the name of the file to append the
+information to. The file is created if it doesn't exist, and appended
+to if it does.
+
+ Each successful search turns into one line in the log file: two words
+separated by a space. The first word is the time of the search, as the
+integer number of seconds since "the epoch", i.e., UTC midnight 1
+January 1970 (more precisely, the result of the `time' system call).
+The second word is the filename.
+
+ For example, after `setenv TEXMFLOG /tmp/log', running Dvips on
+`story.dvi' appends the following lines:
+
+ 774455887 /usr/local/share/texmf/dvips/config.ps
+ 774455887 /usr/local/share/texmf/dvips/psfonts.map
+ 774455888 /usr/local/share/texmf/dvips/texc.pro
+ 774455888 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmbx10.600pk
+ 774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmsl10.600pk
+ 774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk
+ 774455889 /usr/local/share/texmf/dvips/texc.pro
+
+Only filenames that are absolute are recorded, to preserve some
+semblance of privacy.
+
+
+File: kpathsea.info, Node: Common problems, Prev: Logging, Up: Reporting bugs
+
+2.6.5 Common problems
+---------------------
+
+Here are some common problems with configuration, compilation, linking,
+execution, ...
+
+* Menu:
+
+* Unable to find files:: If your program can't find fonts (or whatever).
+* Slow path searching:: If it takes forever to find anything.
+* Unable to generate fonts:: If mktexpk fails.
+* TeX or Metafont failing:: Likely compiler bugs.
+
+* Empty Makefiles:: When configure produces empty makefiles.
+* XtStrings:: When _XtStrings is undefined.
+* dlopen:: When dlopen is undefined.
+* ShellWidgetClass:: For dynamic linking troubles under OpenWindows.
+* Pointer combination warnings:: For old compilers that don't grok char *.
+
+
+File: kpathsea.info, Node: Unable to find files, Next: Slow path searching, Up: Common problems
+
+2.6.5.1 Unable to find files
+............................
+
+If a program complains it cannot find fonts (or other input files), any
+of several things might be wrong. In any case, you may find the
+debugging options helpful. *Note Debugging::.
+
+ * Perhaps you simply haven't installed all the necessary files; the
+ basic fonts and input files are distributed separately from the
+ programs. *Note unixtex.ftp::.
+
+ * You have (perhaps unknowingly) told Kpathsea to use search paths
+ that don't reflect where the files actually are. One common cause
+ is having environment variables set from a previous installation,
+ thus overriding what you carefully set in `texmf.cnf' (*note
+ Supported file formats::). System `/etc/profile' or other files
+ such may be the culprit.
+
+ * Your files reside in a directory that is only pointed to via a
+ symbolic link, in a leaf directory and is not listed in `ls-R'.
+
+ Unfortunately, Kpathsea's subdirectory searching has an
+ irremediable deficiency: If a directory D being searched for
+ subdirectories contains plain files and symbolic links to other
+ directories, but no true subdirectories, D will be considered a
+ leaf directory, i.e., the symbolic links will not be followed.
+ *Note Subdirectory expansion::.
+
+ You can work around this problem by creating an empty dummy
+ subdirectory in D. Then D will no longer be a leaf, and the
+ symlinks will be followed.
+
+ The directory immediately followed by the `//' in the path
+ specification, however, is always searched for subdirectories,
+ even if it is a leaf. Presumably you would not have asked for the
+ directory to be searched for subdirectories if you didn't want it
+ to be.
+
+ * If the fonts (or whatever) don't already exist, `mktexpk' (or
+ `mktexmf' or `mktextfm') will try to create them. If these rather
+ complicated shell scripts fail, you'll eventually get an error
+ message saying something like `Can't find font FONTNAME'. The best
+ solution is to fix (or at least report) the bug in `mktexpk'; the
+ workaround is to generate the necessary fonts by hand with
+ Metafont, or to grab them from a CTAN site (*note unixtex.ftp::).
+
+ * There is a bug in the library. *Note Reporting bugs::.
+
+
+File: kpathsea.info, Node: Slow path searching, Next: Unable to generate fonts, Prev: Unable to find files, Up: Common problems
+
+2.6.5.2 Slow path searching
+...........................
+
+If your program takes an excessively long time to find fonts or other
+input files, but does eventually succeed, here are some possible
+culprits:
+
+ * Most likely, you just have a lot of directories to search, and that
+ takes a noticeable time. The solution is to create and maintain a
+ separate `ls-R' file that lists all the files in your main TeX
+ hierarchy. *Note Filename database::. Kpathsea always uses `ls-R'
+ if it's present; there's no need to recompile or reconfigure any
+ of the programs.
+
+ * Your recursively-searched directories (e.g.,
+ `/usr/local/share/texmf/fonts//'), contain a mixture of files and
+ directories. This prevents Kpathsea from using a useful
+ optimization (*note Subdirectory expansion::).
+
+ It is best to have only directories (and perhaps a `README') in the
+ upper levels of the directory structure, and it's very important
+ to have _only_ files, and no subdirectories, in the leaf
+ directories where the dozens of TFM, PK, or whatever files reside.
+
+ In any case, you may find the debugging options helpful in
+determining precisely when the disk or network is being pounded. *Note
+Debugging::.
+
+
+File: kpathsea.info, Node: Unable to generate fonts, Next: TeX or Metafont failing, Prev: Slow path searching, Up: Common problems
+
+2.6.5.3 Unable to generate fonts
+................................
+
+Metafont outputs fonts in bitmap format, tuned for a particular device
+at a particular resolution, in order to allow for the highest-possible
+quality of output. Some DVI-to-whatever programs, such as Dvips, try
+to generate these on the fly when they are needed, but this generation
+may fail in several cases.
+
+ If `mktexpk' runs, but fails with this error:
+ mktexpk: Can't guess mode for NNN dpi devices.
+ mktexpk: Use a config file to specify the mode, or update me.
+ you need to ensure the resolution and mode match; just specifying
+the resolution, as in `-D 360', is not enough.
+
+ You can specify the mode name with the `-mode' option on the Dvips
+command line, or in a Dvips configuration file (*note Config files:
+(dvips)Config files.), such as `config.ps' in your document directory,
+`~/.dvipsrc' in your home directory, or in a system directory (again
+named `config.ps'). (Other drivers use other files, naturally.)
+
+ For example, if you need 360dpi fonts, you could include this in a
+configuration file:
+ D 360
+ M lqmed
+
+ If Metafont runs, but generates fonts at the wrong resolution or for
+the wrong device, most likely `mktexpk''s built-in guess for the mode
+is wrong, and you should override it as above.
+
+ See `ftp://ftp.tug.org/tex/modes.mf' for a list of resolutions and
+mode names for most devices (additional submissions are welcome).
+
+ If Metafont runs but generates fonts at a resolution of 2602dpi (and
+prints out the name of each character as well as just a character
+number, and maybe tries to display the characters), then your Metafont
+base file probably hasn't been made properly. (It's using the default
+`proof' mode, instead of an actual device mode.) To make a proper
+`plain.base', assuming the local mode definitions are contained in a
+file `modes.mf', run the following command (assuming Unix):
+
+ inimf "plain; input modes; dump"
+
+Then copy the `plain.base' file from the current directory to where the
+base files are stored on your system (`/usr/local/share/texmf/web2c' by
+default), and make a link (either hard or soft) from `plain.base' to
+`mf.base' in that directory. *Note inimf invocation: (web2c)inimf
+invocation.
+
+ If `mf' is a command not found at all by `mktexpk', then you need to
+install Metafont (*note unixtex.ftp::).
+
+
+File: kpathsea.info, Node: TeX or Metafont failing, Next: Empty Makefiles, Prev: Unable to generate fonts, Up: Common problems
+
+2.6.5.4 TeX or Metafont failing
+...............................
+
+If TeX or Metafont get a segmentation fault or otherwise fail while
+running a normal input file, the problem is usually a compiler bug
+(unlikely as that may sound). Even if the trip and trap tests are
+passed, problems may lurk. Optimization occasionally causes trouble in
+programs other than TeX and Metafont themselves, too.
+
+ Insufficient swap space may also cause core dumps or other erratic
+behavior.
+
+ For a workaround, if you enabled any optimization flags, it's best to
+omit optimization entirely. In any case, the way to find the facts is
+to run the program under the debugger and see where it's failing.
+
+ Also, if you have trouble with a system C compiler, I advise trying
+the GNU C compiler. And vice versa, unfortunately; but in that case I
+also recommend reporting a bug to the GCC mailing list; see *Note Bugs:
+(gcc)Bugs.
+
+ To report compiler bugs effectively requires perseverance and
+perspicacity: you must find the miscompiled line, and that usually
+involves delving backwards in time from the point of error, checking
+through TeX's (or whatever program's) data structures. Things are not
+helped by all-too-common bugs in the debugger itself. Good luck.
+
+ One known cause of trouble is the way arrays are handled. Some of
+the Pascal arrays have a lower index other than 0, and the C code will
+take the pointer to the allocated memory, subtract the lower index, and
+use the resulting pointer for the array. While this trick often works,
+ANSI C doesn't guarantee that it will. It it known to fail on HP-UX 10
+mchines when the native compiler is used, unless the `+u' compiler
+switch was specified. Using GCC will work on this platform as well.
+
+
+File: kpathsea.info, Node: Empty Makefiles, Next: XtStrings, Prev: TeX or Metafont failing, Up: Common problems
+
+2.6.5.5 Empty Makefiles
+.......................
+
+On some systems (NetBSD, FreeBSD, AIX 4.1, and Mach10), `configure' may
+fail to properly create the Makefiles. Instead, you get an error which
+looks something like this:
+
+ prompt$ ./configure
+ ...
+ creating Makefile
+ sed: 1: "\\@^ac_include make/pat ...": \ can not be used as a string delimiter
+
+ So far as I know, the bug here is in `/bin/sh' on these systems. I
+don't have access to a machine running any of them, so if someone can
+find a workaround that avoids the quoting bug, I'd be most grateful.
+(Search for `ac_include' in the `configure' script to get to the
+problematic code.)
+
+ It should work to run `bash configure', instead of using `/bin/sh'.
+You can get Bash from `ftp://prep.ai.mit.edu/pub/gnu' and mirrors.
+
+ Another possible cause (reported for NeXT) is a bug in the `sed'
+command. In that case the error may look like this:
+
+ Unrecognized command: \@^ac_include make/paths.make@r make/paths.make
+
+ In this case, installing GNU `sed' should solve the problem. You
+can get GNU `sed' from the same places as Bash.
+
+
+File: kpathsea.info, Node: XtStrings, Next: dlopen, Prev: Empty Makefiles, Up: Common problems
+
+2.6.5.6 `XtStrings'
+...................
+
+You may find that linking X programs results in an error from the linker
+that `XtStrings' is undefined, something like this:
+
+ gcc -o virmf ...
+ .../x11.c:130: undefined reference to `XtStrings'
+
+ This generally happens because of a mismatch between the X include
+files with which you compiled and the X libraries with which you linked;
+often, the include files are from MIT and the libraries from Sun.
+
+ The solution is to use the same X distribution for compilation and
+linking. Probably `configure' was unable to guess the proper
+directories from your installation. You can use the `configure'
+options `--x-includes=PATH' and `--x-libraries=PATH' to explicitly
+specify them.
+
+
+File: kpathsea.info, Node: dlopen, Next: ShellWidgetClass, Prev: XtStrings, Up: Common problems
+
+2.6.5.7 `dlopen'
+................
+
+(This section adapted from the file `dlsym.c' in the X distribution.)
+
+ The `Xlib' library uses the standard C function `wcstombs'. Under
+SunOS 4.1, `wcstombs' uses the `dlsym' interface defined in `libdl.so'.
+Unfortunately, the SunOS 4.1 distribution does not include a static
+`libdl.a' library.
+
+ As a result, if you try to link an X program statically under SunOS,
+you may get undefined references to `dlopen', `dlsym', and `dlclose'.
+One workaround is to include these definitions when you link:
+
+ void *dlopen() { return 0; }
+ void *dlsym() { return 0; }
+ int dlclose() { return -1; }
+
+These are contained in the `dlsym.c' file in the MIT X distribution.
+
+
+File: kpathsea.info, Node: ShellWidgetClass, Next: Pointer combination warnings, Prev: dlopen, Up: Common problems
+
+2.6.5.8 `ShellWidgetClass'
+..........................
+
+(This section adapted from the comp.sys.sun.admin FAQ.)
+
+ If you are linking with Sun's OpenWindows libraries in SunOS 4.1.x,
+you may get undefined symbols `_get_wmShellWidgetClass' and
+`_get_applicationShellWidgetClass' when linking. This problem does not
+arise using the standard MIT X libraries under SunOS.
+
+ The cause is bugs in the `Xmu' shared library as shipped from Sun.
+There are several fixes:
+
+ * Install the free MIT distribution from `ftp.x.org' and mirrors.
+
+ * Get the OpenWindows patches listed below.
+
+ * Statically link the `Xmu' library into the executable.
+
+ * Avoid using `Xmu' at all. If you are compiling Metafont, see *Note
+ Online Metafont graphics: (web2c)Online Metafont graphics. If you
+ are compiling Xdvi, see the `-DNOTOOL' option in `xdvik/INSTALL'.
+
+ * Ignore the errors. The binary runs fine regardless.
+
+
+ Here is the information for getting the two patches:
+
+ Patch ID: 100512-02
+ Bug ID's: 1086793, 1086912, 1074766
+ Description: 4.1.x OpenWindows 3.0 `libXt' jumbo patch
+
+ Patch ID: 100573-03
+ Bug ID: 1087332
+ Description: 4.1.x OpenWindows 3.0 undefined symbols when using shared `libXmu'.
+
+ The way to statically link with `libXmu' depends on whether you are
+using a Sun compiler (e.g., `cc') or `gcc'. If the latter, alter the
+`x_libs' Make variable to include
+
+ -static -lXmu -dynamic
+
+ If you are using the Sun compiler, use `-Bstatic' and `-Bdynamic'.
+
+
+File: kpathsea.info, Node: Pointer combination warnings, Prev: ShellWidgetClass, Up: Common problems
+
+2.6.5.9 Pointer combination warnings
+....................................
+
+When compiling with old C compilers, you may get some warnings about
+"illegal pointer combinations". These are spurious; just ignore them.
+I decline to clutter up the source with casts to get rid of them.
+
+
+File: kpathsea.info, Node: Path searching, Next: TeX support, Prev: Installation, Up: Top
+
+3 Path searching
+****************
+
+This chapter describes the generic path searching mechanism Kpathsea
+provides. For information about searching for particular file types
+(e.g., TeX fonts), see the next chapter.
+
+* Menu:
+
+* Searching overview:: Basic scheme for searching.
+* Path sources:: Where search paths can be defined.
+* Path expansion:: Special constructs in search paths.
+* Filename database:: Using an externally-built list to search.
+* Invoking kpsewhich:: Standalone path lookup.
+
+
+File: kpathsea.info, Node: Searching overview, Next: Path sources, Up: Path searching
+
+3.1 Searching overview
+======================
+
+A "search path" is a colon-separated list of "path elements", which are
+directory names with a few extra frills. A search path can come from
+(a combination of) many sources; see below. To look up a file `foo'
+along a path `.:/dir', Kpathsea checks each element of the path in
+turn: first `./foo', then `/dir/foo', returning the first match (or
+possibly all matches).
+
+ The "colon" and "slash" mentioned here aren't necessarily `:' and
+`/' on non-Unix systems. Kpathsea tries to adapt to other operating
+systems' conventions.
+
+ To check a particular path element E, Kpathsea first sees if a
+prebuilt database (*note Filename database::) applies to E, i.e., if
+the database is in a directory that is a prefix of E. If so, the path
+specification is matched against the contents of the database.
+
+ If the database does not exist, or does not apply to this path
+element, or contains no matches, the filesystem is searched (if this
+was not forbidden by the specification with `!!' and if the file being
+searched for must exist). Kpathsea constructs the list of directories
+that correspond to this path element, and then checks in each for the
+file being searched for. (To help speed future lookups of files in the
+same directory, the directory in which a file is found is floated to the
+top of the directory list.)
+
+ The "file must exist" condition comes into play with VF files and
+input files read by the TeX `\openin' command. These files may not
+exist (consider `cmr10.vf'), and so it would be wrong to search the
+disk for them. Therefore, if you fail to update `ls-R' when you
+install a new VF file, it will never be found.
+
+ Each path element is checked in turn: first the database, then the
+disk. If a match is found, the search stops and the result is
+returned. This avoids possibly-expensive processing of path
+specifications that are never needed on a particular run. (Unless the
+search explicitly requested all matches.)
+
+ Although the simplest and most common path element is a directory
+name, Kpathsea supports additional features in search paths: layered
+default values, environment variable names, config file values, users'
+home directories, and recursive subdirectory searching. Thus, we say
+that Kpathsea "expands" a path element, meaning transforming all the
+magic specifications into the basic directory name or names. This
+process is described in the sections below. It happens in the same
+order as the sections.
+
+ Exception to all of the above: If the filename being searched for is
+absolute or explicitly relative, i.e., starts with `/' or `./' or
+`../', Kpathsea simply checks if that file exists.
+
+ Ordinarily, if Kpathsea tries to access a file or directory that
+cannot be read, it gives a warning. This is so you will be alerted to
+directories or files that accidentally lack read permission (for
+example, a `lost+found'). If you prefer not to see these warnings,
+include the value `readable' in the `TEX_HUSH' environment variable or
+config file value.
+
+ This generic path searching algorithm is implemented in
+`kpathsea/pathsearch.c'. It is employed by a higher-level algorithm
+when searching for a file of a particular type (*note File lookup::,
+and *Note Glyph lookup::).
+
+
+File: kpathsea.info, Node: Path sources, Next: Path expansion, Prev: Searching overview, Up: Path searching
+
+3.2 Path sources
+================
+
+A search path can come from many sources. In the order in which
+Kpathsea uses them:
+
+ 1. A user-set environment variable, e.g., `TEXINPUTS'. Environment
+ variables with an underscore and the program name appended
+ override; for example, `TEXINPUTS_latex' overrides `TEXINPUTS' if
+ the program being run is named `latex'.
+
+ 2. A program-specific configuration file, e.g., an `S /a:/b' line in
+ Dvips' `config.ps' (*note Config files: (dvips)Config files.).
+
+ 3. A line in a Kpathsea configuration file `texmf.cnf', e.g.,
+ `TEXINPUTS=/c:/d' (see below).
+
+ 4. The compile-time default (specified in `kpathsea/paths.h').
+
+ You can see each of these values for a given search path by using the
+debugging options (*note Debugging::).
+
+ These sources may be combined via default expansion (*note Default
+expansion::).
+
+* Menu:
+
+* Config files:: Kpathsea's runtime config files (texmf.cnf).
+
+
+File: kpathsea.info, Node: Config files, Up: Path sources
+
+3.2.1 Config files
+------------------
+
+As mentioned above, Kpathsea reads "runtime configuration files" named
+`texmf.cnf' for search path and other definitions. The search path
+used to look for these configuration files is named `TEXMFCNF', and is
+constructed in the usual way, as described above, except that
+configuration files cannot be used to define the path, naturally; also,
+an `ls-R' database is not used to search for them.
+
+ Kpathsea reads _all_ `texmf.cnf' files in the search path, not just
+the first one found; definitions in earlier files override those in
+later files. Thus, if the search path is `.:$TEXMF', values from
+`./texmf.cnf' override those from `$TEXMF/texmf.cnf'.
+
+ While (or instead of) reading this description, you may find it
+helpful to look at the distributed `texmf.cnf', which uses or at least
+mentions most features. The format of `texmf.cnf' files follows:
+
+ * Comments start with `%' and continue to the end of the line.
+
+ * Blank lines are ignored.
+
+ * A `\' at the end of a line acts as a continuation character, i.e.,
+ the next line is appended. Whitespace at the beginning of
+ continuation lines is not ignored.
+
+ * Each remaining line must look like
+
+ VARIABLE [. PROGNAME] [=] VALUE
+
+ where the `=' and surrounding whitespace is optional.
+
+ * The VARIABLE name may contain any character other than whitespace,
+ `=', or `.', but sticking to `A-Za-z_' is safest.
+
+ * If `.PROGNAME' is present, the definition only applies if the
+ program that is running is named (i.e., the last component of
+ `argv[0]' is) PROGNAME or `PROGNAME.exe'. This allows different
+ flavors of TeX to have different search paths, for example.
+
+ * VALUE may contain any characters except `%' and `@'. (These
+ restrictions are only necessary because of the processing done on
+ `texmf.cnf' at build time, so you can stick those characters in
+ after installation if you have to.) The `$VAR.PROG' feature is
+ not available on the right-hand side; instead, you must use an
+ additional variable (see below for example). A `;' in VALUE is
+ translated to `:' if running under Unix; this is useful to write a
+ single `texmf.cnf' which can be used under both Unix and NT.
+
+ * All definitions are read before anything is expanded, so you can
+ use variables before they are defined (like Make, unlike most other
+ programs).
+
+Here is a configuration file fragment illustrating most of these points:
+
+ % TeX input files -- i.e., anything to be found by \input or \openin ...
+ latex209_inputs = .:$TEXMF/tex/latex209//:$TEXMF/tex//
+ latex2e_inputs = .:$TEXMF/tex/latex//:$TEXMF/tex//
+ TEXINPUTS = .:$TEXMF/tex//
+ TEXINPUTS.latex209 = $latex209_inputs
+ TEXINPUTS.latex2e = $latex2e_inputs
+ TEXINPUTS.latex = $latex2e_inputs
+
+ Although this format has obvious similarities to Bourne shell
+scripts--change the comment character to `#', disallow spaces around
+the `=', and get rid of the `.NAME' convention, and it could be run
+through the shell. But there seemed little advantage to doing this,
+since all the information would have to passed back to Kpathsea and
+parsed there anyway, since the `sh' process couldn't affect its
+parent's environment.
+
+ The implementation of all this is in `kpathsea/cnf.c'.
+
+
+File: kpathsea.info, Node: Path expansion, Next: Filename database, Prev: Path sources, Up: Path searching
+
+3.3 Path expansion
+==================
+
+Kpathsea recognizes certain special characters and constructions in
+search paths, similar to that in shells. As a general example:
+`~$USER/{foo,bar}//baz' expands to all subdirectories under directories
+`foo' and `bar' in $USER's home directory that contain a directory or
+file `baz'. These expansions are explained in the sections below.
+
+* Menu:
+
+* Default expansion:: a: or :a or a::b expands to a default.
+* Variable expansion:: $foo and ${foo} expand to environment values.
+* Tilde expansion:: ~ and ~user expand to home directories.
+* Brace expansion:: a{foo,bar}b expands to afoob abarb.
+* KPSE_DOT expansion:: . is replaced with $KPSE_DOT if it is defined.
+* Subdirectory expansion:: a// and a//b recursively expand to subdirs.
+
+
+File: kpathsea.info, Node: Default expansion, Next: Variable expansion, Up: Path expansion
+
+3.3.1 Default expansion
+-----------------------
+
+If the highest-priority search path (*note Path sources::) contains an
+"extra colon" (i.e., leading, trailing, or doubled), Kpathsea inserts
+at that point the next-highest-priority search path that is defined.
+If that inserted path has an extra colon, the same happens with the
+next-highest. (An extra colon in the compile-time default value has
+unpredictable results, so installers beware.)
+
+ For example, given an environment variable setting
+
+ setenv TEXINPUTS /home/karl:
+
+and a `TEXINPUTS' value from `texmf.cnf' of
+
+ .:$TEXMF//tex
+
+then the final value used for searching will be:
+
+ /home/karl:.:$TEXMF//tex
+
+ Put another way, default expansion works on "formats" (search
+paths), and not directly on environment variables. Example, showing
+the trailing `:' ignored in the first case and expanded in the second:
+
+ $ env TTFONTS=/tmp: kpsewhich --expand-path '$TTFONTS'
+ /tmp
+ $ env TTFONTS=/tmp: kpsewhich --show-path=.ttf
+ /tmp:.:/home/olaf/texmf/fonts/truetype//:...
+
+ Since Kpathsea looks for multiple configuration files, it would be
+natural to expect that (for example) an extra colon in `./texmf.cnf'
+would expand to the path in `$TEXMF/texmf.cnf'. Or, with Dvips'
+configuration files, that an extra colon in `config.$PRINTER' would
+expand to the path in `config.ps'. This doesn't happen. It's not
+clear this would be desirable in all cases, and trying to devise a way
+to specify the path to which the extra colon should expand seemed truly
+baroque.
+
+ Technicality: Since it would be useless to insert the default value
+in more than one place, Kpathsea changes only one extra `:' and leaves
+any others in place (they will eventually be ignored). Kpathsea checks
+first for a leading `:', then a trailing `:', then a doubled `:'.
+
+ You can trace this by debugging "paths" (*note Debugging::).
+Default expansion is implemented in the source file
+`kpathsea/kdefault.c'.
+
+
+File: kpathsea.info, Node: Variable expansion, Next: Tilde expansion, Prev: Default expansion, Up: Path expansion
+
+3.3.2 Variable expansion
+------------------------
+
+`$foo' or `${foo}' in a path element is replaced by (1) the value of an
+environment variable `foo' (if defined); (2) the value of `foo' from
+`texmf.cnf' (if defined); (3) the empty string.
+
+ If the character after the `$' is alphanumeric or `_', the variable
+name consists of all consecutive such characters. If the character
+after the `$' is a `{', the variable name consists of everything up to
+the next `}' (braces may not be nested around variable names).
+Otherwise, Kpathsea gives a warning and ignores the `$' and its
+following character.
+
+ You must quote the $'s and braces as necessary for your shell.
+_Shell_ variable values cannot be seen by Kpathsea, i.e., ones defined
+by `set' in C shells and without `export' in Bourne shells.
+
+ For example, given
+ setenv tex /home/texmf
+ setenv TEXINPUTS .:$tex:${tex}prev
+ the final `TEXINPUTS' path is the three directories:
+ .:/home/texmf:/home/texmfprev
+
+ The `.PROGNAME' suffix on variables and `_PROGNAME' on environment
+variable names are not implemented for general variable expansions.
+These are only recognized when search paths are initialized (*note Path
+sources::).
+
+ Variable expansion is implemented in the source file
+`kpathsea/variable.c'.
+
+
+File: kpathsea.info, Node: Tilde expansion, Next: Brace expansion, Prev: Variable expansion, Up: Path expansion
+
+3.3.3 Tilde expansion
+---------------------
+
+A leading `~' in a path element is replaced by the value of the
+environment variable `HOME', or `.' if `HOME' is not set.
+
+ A leading `~USER' in a path element is replaced by USER's home
+directory from the system `passwd' database.
+
+ For example,
+ setenv TEXINPUTS ~/mymacros:
+
+will prepend a directory `mymacros' in your home directory to the
+default path.
+
+ As a special case, if a home directory ends in `/', the trailing
+slash is dropped, to avoid inadvertently creating a `//' construct in
+the path. For example, if the home directory of the user `root' is
+`/', the path element `~root/mymacros' expands to just `/mymacros', not
+`//mymacros'.
+
+ Tilde expansion is implemented in the source file `kpathsea/tilde.c'.
+
+
+File: kpathsea.info, Node: Brace expansion, Next: KPSE_DOT expansion, Prev: Tilde expansion, Up: Path expansion
+
+3.3.4 Brace expansion
+---------------------
+
+`x{A,B}y' expands to `xAy:xBy'. For example:
+
+ foo/{1,2}/baz
+
+expands to `foo/1/baz:foo/2/baz'. `:' is the path separator on the
+current system; e.g., on a DOS system, it's `;'.
+
+ Braces can be nested; for example, `x{A,B{1,2}}y' expands to
+`xAy:xB1y:xB2y'.
+
+ Multiple non-nested braces are expanded from right to left; for
+example, `x{A,B}{1,2}y' expands to `x{A,B}1y:x{A,B}2y', which expands
+to `xA1y:xB1y:xA2y:xB2y'.
+
+ This feature can be used to implement multiple TeX hierarchies, by
+assigning a brace list to `$TEXMF', as mentioned in `texmf.in'.
+
+ You can also use the path separator in stead of the comma. The last
+example could have been written `x{A:B}{1:2}y'.
+
+ Brace expansion is implemented in the source file
+`kpathsea/expand.c'. It is a modification of the Bash sources, and is
+thus covered by the GNU General Public License, rather than the Library
+General Public License that covers the rest of Kpathsea.
+
+
+File: kpathsea.info, Node: KPSE_DOT expansion, Next: Subdirectory expansion, Prev: Brace expansion, Up: Path expansion
+
+3.3.5 `KPSE_DOT' expansion
+--------------------------
+
+When `KPSE_DOT' is defined in the environment, it names a directory
+that should be considered the current directory for the purpose of
+looking up files in the search paths. This feature is needed by the
+`mktex...' scripts *Note mktex scripts::, because these change the
+working directory. You should not ever define it yourself.
+
+
+File: kpathsea.info, Node: Subdirectory expansion, Prev: KPSE_DOT expansion, Up: Path expansion
+
+3.3.6 Subdirectory expansion
+----------------------------
+
+Two or more consecutive slashes in a path element following a directory
+D is replaced by all subdirectories of D: first those subdirectories
+directly under D, then the subsubdirectories under those, and so on.
+At each level, the order in which the directories are searched is
+unspecified. (It's "directory order", and definitely not alphabetical.)
+
+ If you specify any filename components after the `//', only
+subdirectories which match those components are included. For example,
+`/a//b' would expand into directories `/a/1/b', `/a/2/b', `/a/1/1/b',
+and so on, but not `/a/b/c' or `/a/1'.
+
+ You can include multiple `//' constructs in the path.
+
+ `//' at the beginning of a path is ignored; you didn't really want
+to search every directory on the system, did you?
+
+ I should mention one related implementation trick, which I took from
+GNU find. Matthew Farwell suggested it, and David MacKenzie
+implemented it.
+
+ The trick is that in every real Unix implementation (as opposed to
+the POSIX specification), a directory which contains no subdirectories
+will have exactly two links (namely, one for `.' and one for `..').
+That is to say, the `st_nlink' field in the `stat' structure will be
+two. Thus, we don't have to stat everything in the bottom-level (leaf)
+directories--we can just check `st_nlink', notice it's two, and do no
+more work.
+
+ But if you have a directory that contains a single subdirectory and
+500 regular files, `st_nlink' will be 3, and Kpathsea has to stat every
+one of those 501 entries. Therein lies slowness.
+
+ You can disable the trick by undefining `UNIX_ST_LINK' in
+`kpathsea/config.h'. (It is undefined by default except under Unix.)
+
+ Unfortunately, in some cases files in leaf directories are `stat''d:
+if the path specification is, say, `$TEXMF/fonts//pk//', then files in
+a subdirectory `.../pk', even if it is a leaf, are checked. The reason
+cannot be explained without reference to the implementation, so read
+`kpathsea/elt-dirs.c' (search for `may descend') if you are curious.
+And if you can find a way to _solve_ the problem, please let me know.
+
+ Subdirectory expansion is implemented in the source file
+`kpathsea/elt-dirs.c'.
+
+
+File: kpathsea.info, Node: Filename database, Next: Invoking kpsewhich, Prev: Path expansion, Up: Path searching
+
+3.4 Filename database (`ls-R')
+==============================
+
+Kpathsea goes to some lengths to minimize disk accesses for searches
+(*note Subdirectory expansion::). Nevertheless, at installations with
+enough directories, searching each possible directory for a given file
+can take an excessively long time (depending on the speed of the disk,
+whether it's NFS-mounted, how patient you are, etc.).
+
+ In practice, a font tree containing the standard PostScript and PCL
+fonts is large enough for searching to be noticeably slow on typical
+systems these days. Therefore, Kpathsea can use an externally-built
+"database" file named `ls-R' that maps files to directories, thus
+avoiding the need to exhaustively search the disk.
+
+ A second database file `aliases' allows you to give additional names
+to the files listed in `ls-R'. This can be helpful to adapt to "8.3"
+filename conventions in source files.
+
+ The `ls-R' and `aliases' features are implemented in the source file
+`kpathsea/db.c'.
+
+* Menu:
+
+* ls-R:: The main filename database.
+* Filename aliases:: Aliases for those names.
+* Database format:: Syntax details of the database file.
+
+
+File: kpathsea.info, Node: ls-R, Next: Filename aliases, Up: Filename database
+
+3.4.1 `ls-R'
+------------
+
+As mentioned above, you must name the main filename database `ls-R'.
+You can put one at the root of each TeX installation hierarchy you wish
+to search (`$TEXMF' by default); most sites have only one hierarchy.
+Kpathsea looks for `ls-R' files along the `TEXMFDBS' path, so that
+should presumably match the list of hierarchies.
+
+ The recommended way to create and maintain `ls-R' is to run the
+`mktexlsr' script, which is installed in `$(bindir)' (`/usr/local/bin'
+by default). That script goes to some trouble to follow symbolic links
+as necessary, etc. It's also invoked by the distributed `mktex...'
+scripts.
+
+ At its simplest, though, you can build `ls-R' with the command
+ cd /YOUR/TEXMF/ROOT && ls -LAR ./ >ls-R
+
+presuming your `ls' produces the right output format (see the section
+below). GNU `ls', for example, outputs in this format. Also presuming
+your `ls' hasn't been aliased in a system file (e.g., `/etc/profile')
+to something problematic, e.g., `ls --color=tty'. In that case, you
+will have to disable the alias before generating `ls-R'. For the
+precise definition of the file format, see *Note Database format::.
+
+ Regardless of whether you use the supplied script or your own, you
+will almost certainly want to invoke it via `cron', so when you make
+changes in the installed files (say if you install a new LaTeX
+package), `ls-R' will be automatically updated.
+
+ The `-A' option to `ls' includes files beginning with `.' (except
+for `.' and `..'), such as the file `.tex' included with the LaTeX
+tools package. (On the other hand, _directories_ whose names begin
+with `.' are always ignored.)
+
+ If your system does not support symbolic links, omit the `-L'.
+
+ `ls -LAR /YOUR/TEXMF/ROOT' will also work. But using `./' avoids
+embedding absolute pathnames, so the hierarchy can be easily
+transported. It also avoids possible trouble with automounters or
+other network filesystem conventions.
+
+ Kpathsea warns you if it finds an `ls-R' file, but the file does not
+contain any usable entries. The usual culprit is running plain `ls -R'
+instead of `ls -LR ./' or `ls -R /YOUR/TEXMF/ROOT'. Another
+possibility is some system directory name starting with a `.' (perhaps
+if you are using AFS); Kpathsea ignores everything under such
+directories.
+
+ Because the database may be out-of-date for a particular run, if a
+file is not found in the database, by default Kpathsea goes ahead and
+searches the disk. If a particular path element begins with `!!',
+however, _only_ the database will be searched for that element, never
+the disk. If the database does not exist, nothing will be searched.
+Because this can surprise users ("I see the font `foo.tfm' when I do an
+`ls'; why can't Dvips find it?"), it is not in any of the default
+search paths.
+
+
+File: kpathsea.info, Node: Filename aliases, Next: Database format, Prev: ls-R, Up: Filename database
+
+3.4.2 Filename aliases
+----------------------
+
+In some circumstances, you may wish to find a file under several names.
+For example, suppose a TeX document was created using a DOS system and
+tries to read `longtabl.sty'. But now it's being run on a Unix system,
+and the file has its original name, `longtable.sty'. The file won't be
+found. You need to give the actual file `longtable.sty' an alias
+`longtabl.sty'.
+
+ You can handle this by creating a file `aliases' as a companion to
+the `ls-R' for the hierarchy containing the file in question. (You
+must have an `ls-R' for the alias feature to work.)
+
+ The format of `aliases' is simple: two whitespace-separated words
+per line; the first is the real name `longtable.sty', and second is the
+alias (`longtabl.sty'). These must be base filenames, with no
+directory components. `longtable.sty' must be in the sibling `ls-R'.
+
+ Also, blank lines and lines starting with `%' or `#' are ignored in
+`aliases', to allow for comments.
+
+ If a real file `longtabl.sty' exists, it is used regardless of any
+aliases.
+
+
+File: kpathsea.info, Node: Database format, Prev: Filename aliases, Up: Filename database
+
+3.4.3 Database format
+---------------------
+
+The "database" read by Kpathsea is a line-oriented file of plain text.
+The format is that generated by GNU (and most other) `ls' programs
+given the `-R' option, as follows.
+
+ * Blank lines are ignored.
+
+ * If a line begins with `/' or `./' or `../' and ends with a colon,
+ it's the name of a directory. (`../' lines aren't useful,
+ however, and should not be generated.)
+
+ * All other lines define entries in the most recently seen directory.
+ /'s in such lines will produce possibly-strange results.
+
+ * Files with no preceding directory line are ignored.
+
+ For example, here's the first few lines of `ls-R' (which totals
+about 30K bytes) on my system:
+
+ bibtex
+ dvips
+ fonts
+ ls-R
+ metafont
+ metapost
+ tex
+ web2c
+
+ ./bibtex:
+ bib
+ bst
+ doc
+
+ ./bibtex/bib:
+ asi.bib
+ btxdoc.bib
+ ...
+
+
+File: kpathsea.info, Node: Invoking kpsewhich, Prev: Filename database, Up: Path searching
+
+3.5 `kpsewhich': Standalone path searching
+==========================================
+
+The Kpsewhich program exercises the path searching functionality
+independent of any particular application. This can also be useful as a
+sort of `find' program to locate files in your TeX hierarchies, perhaps
+in administrative scripts. It is used heavily in the distributed
+`mktex...' scripts.
+
+ Synopsis:
+ kpsewhich OPTION... FILENAME...
+
+ The options and filename(s) to look up can be intermixed. Options
+can start with either `-' or `--', and any unambiguous abbreviation is
+accepted.
+
+* Menu:
+
+* Path searching options:: Changing the mode, resolution, etc.
+* Auxiliary tasks:: Path and variable expansion.
+* Standard options:: --help and --version.
+
+
+File: kpathsea.info, Node: Path searching options, Next: Auxiliary tasks, Up: Invoking kpsewhich
+
+3.5.1 Path searching options
+----------------------------
+
+Kpsewhich looks up each non-option argument on the command line as a
+filename, and returns the first file found. There is no option to
+return all the files with a particular name (you can run the Unix
+`find' utility for that, *note Invoking find: (findutils)Invoking
+find.).
+
+ Various options alter the path searching behavior:
+
+`--dpi=NUM'
+ Set the resolution to NUM; this only affects `gf' and `pk'
+ lookups. `-D' is a synonym, for compatibility with Dvips.
+ Default is 600.
+
+`--engine=NAME'
+ Set the engine name to NAME. By default it is not set. The
+ engine name is used in some search paths to allow files with the
+ same name but used by different engines to coexist.
+
+`--format=NAME'
+ Set the format for lookup to NAME. By default, the format is
+ guessed from the filename, with `tex' being used if nothing else
+ fits. The recognized filename extensions (including any leading
+ `.') are also allowable NAMEs.
+
+ All formats also have a name, which is the only way to specify
+ formats with no associated suffix. For example, for Dvips
+ configuration files you can use `--format="dvips config"'. (The
+ quotes are for the sake of the shell.)
+
+ Here's the current list of recognized names and the associated
+ suffixes. *Note Supported file formats::, for more information on
+ each of these.
+ gf: gf
+ pk: pk
+ bitmap font
+ afm: .afm
+ base: .base
+ bib: .bib
+ bst: .bst
+ cnf: .cnf
+ ls-R: ls-R
+ fmt: .fmt
+ map: .map
+ mem: .mem
+ mf: .mf
+ mfpool: .pool
+ mft: .mft
+ mp: .mp
+ mppool: .pool
+ MetaPost support
+ ocp: .ocp
+ ofm: .ofm .tfm
+ opl: .opl
+ otp: .otp
+ ovf: .ovf
+ ovp: .ovp
+ graphic/figure: .eps .epsi
+ tex: .tex
+ TeX system documentation
+ texpool: .pool
+ TeX system sources
+ PostScript header/font: .pro
+ Troff fonts
+ tfm: .tfm
+ type1 fonts: .pfa .pfb
+ vf: .vf
+ dvips config
+ ist: .ist
+ truetype fonts: .ttf .ttc
+ type42 fonts
+ web2c files
+ other text files
+ other binary files
+ misc fonts
+ web: .web
+ cweb: .w .web
+ enc: .enc
+ cmap: .cmap
+ sfd: .sfd
+ opentype fonts
+ pdftex config
+ lig files: .lig
+ texmfscripts
+
+ This option and `--path' are mutually exclusive.
+
+`--interactive'
+ After processing the command line, read additional filenames to
+ look up from standard input.
+
+`-mktex=FILETYPE'
+`-no-mktex=FILETYPE'
+ Turn on or off the `mktex' script associated with FILETYPE. The
+ only values that make sense for FILETYPE are `pk', `mf', `tex',
+ and `tfm'. By default, all are off in Kpsewhich. *Note mktex
+ scripts::.
+
+`--mode=STRING'
+ Set the mode name to STRING; this also only affects `gf' and `pk'
+ lookups. No default: any mode will be found. *Note mktex script
+ arguments::.
+
+`--must-exist'
+ Do everything possible to find the files, notably including
+ searching the disk. By default, only the `ls-R' database is
+ checked, in the interest of efficiency.
+
+`--path=STRING'
+ Search along the path STRING (colon-separated as usual), instead
+ of guessing the search path from the filename. `//' and all the
+ usual expansions are supported (*note Path expansion::). This
+ option and `--format' are mutually exclusive. To output the
+ complete directory expansion of a path, instead of doing a
+ one-shot lookup, see `--expand-path' in the following section.
+
+`--progname=NAME'
+ Set the program name to NAME; default is `kpsewhich'. This can
+ affect the search paths via the `.PROGNAM' feature in
+ configuration files (*note Config files::).
+
+
+File: kpathsea.info, Node: Auxiliary tasks, Next: Standard options, Prev: Path searching options, Up: Invoking kpsewhich
+
+3.5.2 Auxiliary tasks
+---------------------
+
+Kpsewhich provides some additional features not strictly related to path
+lookup:
+
+ * `--debug=NUM' sets the debugging options to NUM. *Note
+ Debugging::.
+
+ * `--var-value=VARIABLE' output the value of VARIABLE.
+
+ * `--expand-braces=STRING' outputs the variable and brace expansion
+ of STRING. *Note Path expansion::.
+
+ * `--expand-var=STRING' outputs the variable expansion of STRING.
+ For example, the `mktex...' scripts run `kpsewhich
+ --expand-var='$TEXMF'' to find the root of the TeX system
+ hierarchy. *Note Path expansion::.
+
+ * `--expand-path=STRING' outputs the complete expansion of STRING as
+ a colon-separated path. This is useful to construct a search path
+ for a program that doesn't accept recursive subdirectory
+ specifications. Nonexistent directories are culled from the
+ output:
+
+ $ kpsewhich --expand-path '/tmp'
+ => /tmp
+ $ kpsewhich --expand-path '/nonesuch'
+ =>
+
+ For one-shot uses of an arbitrary (not built in to Kpathsea) path,
+ see `--path' in the previous section.
+
+ * `--show-path=NAME' shows the path that would be used for file
+ lookups of file type NAME. Either a filename extension (`pk',
+ `.vf', etc.) or an integer can be used, just as with `--format',
+ described in the previous section.
+
+
+File: kpathsea.info, Node: Standard options, Prev: Auxiliary tasks, Up: Invoking kpsewhich
+
+3.5.3 Standard options
+----------------------
+
+Kpsewhich accepts the standard GNU options:
+
+ * `--help' prints a help message on standard output and exits.
+
+ * `--version' prints the Kpathsea version number and exits.
+
+
+File: kpathsea.info, Node: TeX support, Next: Programming, Prev: Path searching, Up: Top
+
+4 TeX support
+*************
+
+Although the basic features in Kpathsea can be used for any type of path
+searching, it came about (like all libraries) with a specific
+application in mind: I wrote Kpathsea specifically for TeX system
+programs. I had been struggling with the programs I was using (Dvips,
+Xdvi, and TeX itself) having slightly different notions of how to
+specify paths; and debugging was painful, since no code was shared.
+
+ Therefore, Kpathsea provides some TeX-specific formats and features.
+Indeed, many of the supposedly generic path searching features were
+provided because they seemed useful in that conTeXt (font lookup,
+particularly).
+
+ Kpathsea provides a standard way to search for files of any of the
+supported file types; glyph fonts are a bit different than all the rest.
+Searches are based solely on filenames, not file contents--if a GF file
+is named `cmr10.600pk', it will be found as a PK file.
+
+* Menu:
+
+* Supported file formats:: File types Kpathsea knows about.
+* File lookup:: Searching for most kinds of files.
+* Glyph lookup:: Searching for bitmap fonts.
+* Suppressing warnings:: Avoiding warnings via TEX_HUSH.
+
+
+File: kpathsea.info, Node: Supported file formats, Next: File lookup, Up: TeX support
+
+4.1 Supported file formats
+==========================
+
+Kpathsea has support for a number of file types. Each file type has a
+list of environment and config file variables that are checked to define
+the search path, and most have a default suffix that plays a role in
+finding files (see the next section). Some also define additional
+suffixes, and/or a program to be run to create missing files on the fly.
+
+ Since environment variables containing periods, such as
+`TEXINPUTS.latex', are not allowed on some systems, Kpathsea looks for
+environment variables with an underscore, e.g., `TEXINPUTS_latex'
+(*note Config files::).
+
+ The following table lists the above information.
+
+`afm'
+ (Adobe font metrics, *note Metric files: (dvips)Metric files.)
+ `AFMFONTS'; suffix `.afm'.
+
+`base'
+ (Metafont memory dump, *note Memory dumps: (web2c)Memory dumps.)
+ `MFBASES', `TEXMFINI'; suffix `.base'.
+
+`bib'
+ (BibTeX bibliography source, *note bibtex invocation:
+ (web2c)bibtex invocation.) `BIBINPUTS', `TEXBIB'; suffix `.bib'.
+
+`bst'
+ (BibTeX style file, *note Basic BibTeX style files: (web2c)Basic
+ BibTeX style files.) `BSTINPUTS'; suffix `.bst'.
+
+`cmap'
+ (character map files) `CMAPFONTS'; suffix `.cmap'.
+
+`cnf'
+ (Runtime configuration files, *note Config files::) `TEXMFCNF';
+ suffix `.cnf'.
+
+`cweb'
+ (CWEB input files) `CWEBINPUTS'; suffixes `.w', `.web'; additional
+ suffix `.ch'.
+
+`dvips config'
+ (Dvips `config.*' files, such as `config.ps', *note Config files:
+ (dvips)Config files.) `TEXCONFIG'.
+
+`enc files'
+ (encoding vectors) `ENCFONTS'; suffix `.enc'.
+
+`fmt'
+ (TeX memory dump, *note Memory dumps: (web2c)Memory dumps.)
+ `TEXFORMATS', `TEXMFINI'; suffix `.fmt'.
+
+`gf'
+ (generic font bitmap, *note Glyph files: (dvips)Glyph files.)
+ `PROGRAMFONTS', `GFFONTS', `GLYPHFONTS', `TEXFONTS'; suffix `gf'.
+
+`graphic/figure'
+ (Encapsulated PostScript figures, *note PostScript figures:
+ (dvips)PostScript figures.) `TEXPICTS', `TEXINPUTS'; additional
+ suffixes: `.eps', `.epsi'.
+
+`ist'
+ (makeindex style files) `TEXINDEXSTYLE', `INDEXSTYLE'; suffix
+ `.ist'.
+
+`lig files'
+ (ligature definition files) `LIGFONTS'; suffix `.lig'.
+
+`ls-R'
+ (Filename databases, *note Filename database::) `TEXMFDBS'.
+
+`map'
+ (Fontmaps, *note Fontmap::) `TEXFONTMAPS'; suffix `.map'.
+
+`mem'
+ (MetaPost memory dump, *note Memory dumps: (web2c)Memory dumps.)
+ `MPMEMS', `TEXMFINI'; suffix `.mem'.
+
+`MetaPost support'
+ (MetaPost support files, used by DMP; *note dmp invocation:
+ (web2c)dmp invocation.) `MPSUPPORT'.
+
+`mf'
+ (Metafont source, *note mf invocation: (web2c)mf invocation.)
+ `MFINPUTS'; suffix `.mf'; dynamic creation program: `mktexmf'.
+
+`mfpool'
+ (Metafont program strings, *note pooltype invocation:
+ (web2c)pooltype invocation.) `MFPOOL', `TEXMFINI'; suffix `.pool'.
+
+`mft'
+ (`MFT' style file, *note mft invocation: (web2c)mft invocation.)
+ `MFTINPUTS'; suffix `.mft'.
+
+`misc fonts'
+ (font-related files that don't fit the other categories)
+ `MISCFONTS'
+
+`mp'
+ (MetaPost source, *note mpost invocation: (web2c)mpost invocation.)
+ `MPINPUTS'; suffix `.mp'.
+
+`mppool'
+ (MetaPost program strings, *note pooltype invocation:
+ (web2c)pooltype invocation.) `MPPOOL', `TEXMFINI'; suffix `.pool'.
+
+`ocp'
+ (Omega compiled process files) `OCPINPUTS';
+ suffix `.ocp'; dynamic creation program: `MakeOmegaOCP'.
+
+`ofm'
+ (Omega font metrics) `OFMFONTS', `TEXFONTS';
+ suffixes `.ofm', `.tfm'; dynamic creation program: `MakeOmegaOFM'.
+
+`opentype fonts'
+ (OpenType fonts) `OPENTYPEFONTS'.
+
+`opl'
+ (Omega property lists) `OPLFONTS', `TEXFONTS'; suffix `.opl'.
+
+`otp'
+ (Omega translation process files) `OTPINPUTS'; suffix `.otp'.
+
+`ovf'
+ (Omega virtual fonts) `OVFFONTS', `TEXFONTS'; suffix `.ovf'.
+
+`ovp'
+ (Omega virtual property lists) `OVPFONTS', `TEXFONTS'; suffix
+ `.ovp'.
+
+`pdftex config'
+ (PDFTeX-specific configuration files) `PDFTEXCONFIG'.
+
+`pk'
+ (packed bitmap fonts, *note Glyph files: (dvips)Glyph files.)
+ `PROGRAMFONTS' (PROGRAM being `XDVI', etc.), `PKFONTS', `TEXPKS',
+ `GLYPHFONTS', `TEXFONTS'; suffix `pk'; dynamic creation program:
+ `mktexpk'.
+
+`PostScript header'
+ (downloadable PostScript, *note Header files: (dvips)Header files.)
+ `TEXPSHEADERS', `PSHEADERS'; additional suffix `.pro'.
+
+`subfont definition files'
+ (subfont definition files) `SFDFONTS' suffix `.sfd'.
+
+`tex'
+ (TeX source, *note tex invocation: (web2c)tex invocation.)
+ `TEXINPUTS'; suffix `.tex'; additional suffixes: none, because
+ such a list cannot be complete; dynamic creation program:
+ `mktextex'.
+
+`TeX system documentation'
+ (Documentation files for the TeX system) `TEXDOCS'.
+
+`TeX system sources'
+ (Source files for the TeX system) `TEXSOURCES'.
+
+`texmfscripts'
+ (Architecture-independent executables distributed in the texmf
+ tree) `TEXMFSCRIPTS'.
+
+`texpool'
+ (TeX program strings, *note pooltype invocation: (web2c)pooltype
+ invocation.) `TEXPOOL', `TEXMFINI'; suffix `.pool'.
+
+`tfm'
+ (TeX font metrics, *note Metric files: (dvips)Metric files.)
+ `TFMFONTS', `TEXFONTS'; suffix `.tfm'; dynamic creation program:
+ `mktextfm'.
+
+`Troff fonts'
+ (Troff fonts, used by DMP; *note DMP invocation: (web2c)DMP
+ invocation.) `TRFONTS'.
+
+`truetype fonts'
+ (TrueType outline fonts) `TTFONTS'; suffixes `.ttf', `.ttc'.
+
+`type1 fonts'
+ (Type 1 PostScript outline fonts, *note Glyph files: (dvips)Glyph
+ files.) `T1FONTS', `T1INPUTS', `TEXPSHEADERS', `DVIPSHEADERS';
+ suffixes `.pfa', `.pfb'.
+
+`type42 fonts'
+ (Type 42 PostScript outline fonts) `T42FONTS'.
+
+`vf'
+ (virtual fonts, *note Virtual fonts: (dvips)Virtual fonts.)
+ `VFFONTS', `TEXFONTS'; suffix `.vf'.
+
+`web'
+ (WEB input files) `WEBINPUTS'; suffix `.web'; additional suffix
+ `.ch'.
+
+`web2c files'
+ (files specific to the web2c implementation) `WEB2C'.
+
+ There are two special cases, because the paths and environment
+variables always depend on the name of the program: the variable name is
+constructed by converting the program name to upper case, and then
+appending `INPUTS'. Assuming the program is called `foo', this gives
+us the following table.
+
+`other text files'
+ (text files used by `foo') `FOOINPUTS'.
+
+`other binary files'
+ (binary files used by `foo') `FOOINPUTS'.
+
+ If an environment variable by these names are set, the corresponding
+`texmf.cnf' definition won't be looked at (unless, as usual, the
+environment variable value has an extra `:'). *Note Default
+expansion::.
+
+ For the font variables, the intent is that:
+ * `TEXFONTS' is the default for everything.
+
+ * `GLYPHFONTS' is the default for bitmap (or, more precisely,
+ non-metric) files.
+
+ * Each font format has a variable of its own.
+
+ * Each program has its own font override path as well; e.g.,
+ `DVIPSFONTS' for Dvipsk. Again, this is for bitmaps, not metrics.
+
+
+
+File: kpathsea.info, Node: File lookup, Next: Glyph lookup, Prev: Supported file formats, Up: TeX support
+
+4.2 File lookup
+===============
+
+This section describes how Kpathsea searches for most files (bitmap font
+searches are the exception, as described in the next section).
+
+ Here is the search strategy for a file NAME:
+ 1. If the file format defines default suffixes, and the suffix of
+ NAME name is not already a known suffix for that format, try the
+ name with each default appended, and use alternative names found
+ in the fontmaps if necessary. We postpone searching the disk as
+ long as possible. Example: given `foo.sty', look for `foo.sty.tex'
+ before `foo.sty'. This is unfortunate, but allows us to find
+ `foo.bar.tex' before `foo.bar' if both exist and we were given
+ `foo.bar'.
+
+ 2. Search for NAME, and if necessary for alternative names found in
+ the fontmaps. Again we avoid searching the disk if possible.
+ Example: given `foo', we look for `foo'.
+
+ 3. If the file format defines a program to invoke to create missing
+ files, run it (*note mktex scripts::).
+
+ This is implemented in the routine `kpse_find_file' in
+`kpathsea/tex-file.c'. You can watch it in action with the debugging
+options (*note Debugging::).
+
+
+File: kpathsea.info, Node: Glyph lookup, Next: Suppressing warnings, Prev: File lookup, Up: TeX support
+
+4.3 Glyph lookup
+================
+
+This section describes how Kpathsea searches for a bitmap font in GF or
+PK format (or either) given a font name (e.g., `cmr10') and a
+resolution (e.g., 600).
+
+ Here is an outline of the search strategy (details in the sections
+below) for a file NAME at resolution DPI. The search stops at the
+first successful lookup.
+
+ 1. Look for an existing file NAME.DPIFORMAT in the specified
+ format(s).
+
+ 2. If NAME is an alias for a file F in the fontmap file
+ `texfonts.map', look for F.DPI.
+
+ 3. Run an external program (typically named `mktexpk') to generate
+ the font (*note mktex scripts::)
+
+ 4. Look for FALLBACK.DPI, where FALLBACK is some last-resort font
+ (typically `cmr10').
+
+ This is implemented in `kpse_find_glyph_format' in
+`kpathsea/tex-glyph.c'.
+
+* Menu:
+
+* Basic glyph lookup:: Features common to all glyph lookups.
+* Fontmap:: Aliases for fonts.
+* Fallback font:: Resolutions and fonts of last resort.
+
+
+File: kpathsea.info, Node: Basic glyph lookup, Next: Fontmap, Up: Glyph lookup
+
+4.3.1 Basic glyph lookup
+------------------------
+
+When Kpathsea looks for a bitmap font NAME at resolution DPI in a
+format FORMAT, it first checks each directory in the search path for a
+file `NAME.DPIFORMAT'; for example, `cmr10.600pk'. Kpathsea looks for
+a PK file first, then a GF file.
+
+ If that fails, Kpathsea looks for `dpiDPI/NAME.FORMAT'; for example,
+`dpi600/cmr10.pk'. This is how fonts are typically stored on
+filesystems (such as DOS) that permit only three-character extensions.
+
+ If that fails, Kpathsea looks for a font with a close-enough DPI.
+"Close enough" is defined by the macro `KPSE_BITMAP_TOLERANCE' in
+`kpathsea/tex-glyph.h' to be `DPI / 500 + 1'. This is slightly more
+than the 0.2% minimum allowed by the DVI standard
+(`CTAN:/dviware/driv-standard/level-0').
+
+
+File: kpathsea.info, Node: Fontmap, Next: Fallback font, Prev: Basic glyph lookup, Up: Glyph lookup
+
+4.3.2 Fontmap
+-------------
+
+If a bitmap font or metric file is not found with the original name (see
+the previous section), Kpathsea looks through any "fontmap" files for
+an "alias" for the original font name. These files are named
+`texfonts.map' and searched for along the `TEXFONTMAPS'
+environment/config file variable. All `texfonts.map' files that are
+found are read; earlier definitions override later ones.
+
+ This feature is intended to help in two respects:
+
+ 1. An alias name is limited in length only by available memory, not
+ by your filesystem. Therefore, if you want to ask for
+ `Times-Roman' instead of `ptmr', you can (you get `ptmr8r').
+
+ 2. A few fonts have historically had multiple names: specifically,
+ LaTeX's "circle font" has variously been known as `circle10',
+ `lcircle10', and `lcirc10'. Aliases can make all the names
+ equivalent, so that it no longer matters what the name of the
+ installed file is; TeX documents will find their favorite name.
+
+
+ The format of fontmap files is straightforward:
+
+ * Comments start with `%' and continue to the end of the line.
+
+ * Blank lines are ignored.
+
+ * Each nonblank line is broken up into a series of "words": a
+ sequence of non-whitespace characters.
+
+ * If the first word is `include', the second word is used as a
+ filename, and it is searched for and read.
+
+ * Otherwise, the first word on each line is the true filename;
+
+ * the second word is the alias;
+
+ * subsequent words are ignored.
+
+ If an alias has an extension, it matches only those files with that
+extension; otherwise, it matches anything with the same root, regardless
+of extension. For example, an alias `foo.tfm' matches only when
+`foo.tfm' is being searched for; but an alias `foo' matches `foo.vf',
+`foo.600pk', etc.
+
+ As an example, here is an excerpt from the `texfonts.map' in the
+Web2c distribution. It makes the circle fonts equivalent and includes
+automatically generated maps for most PostScript fonts available from
+various font suppliers.
+
+ circle10 lcircle10
+ circle10 lcirc10
+ lcircle10 circle10
+ lcircle10 lcirc10
+ lcirc10 circle10
+ lcirc10 lcircle10
+ ...
+ include adobe.map
+ include apple.map
+ include bitstrea.map
+ ...
+
+ Fontmaps are implemented in the file `kpathsea/fontmap.c'. The
+Fontname distribution has much more information on font naming (*note
+Introduction: (fontname)Introduction.).
+
+
+File: kpathsea.info, Node: Fallback font, Prev: Fontmap, Up: Glyph lookup
+
+4.3.3 Fallback font
+-------------------
+
+If a bitmap font cannot be found or created at the requested size,
+Kpathsea looks for the font at a set of "fallback resolutions". You
+specify these resolutions as a colon-separated list (like search paths).
+Kpathsea looks first for a program-specific environment variable (e.g.,
+`DVIPSSIZES' for Dvipsk), then the environment variable `TEXSIZES',
+then a default specified at compilation time (the Make variable
+`default_texsizes'). You can set this list to be empty if you prefer
+to find fonts at their stated size or not at all.
+
+ Finally, if the font cannot be found even at the fallback
+resolutions, Kpathsea looks for a fallback font, typically `cmr10'.
+Programs must enable this feature by assigning to the global variable
+`kpse_fallback_font' or calling `kpse_init_prog' (*note Calling
+sequence::); the default is no fallback font.
+
+
+File: kpathsea.info, Node: Suppressing warnings, Prev: Glyph lookup, Up: TeX support
+
+4.4 Suppressing warnings
+========================
+
+Kpathsea provides a way to suppress selected usually-harmless warnings;
+this is useful at large sites where most users are not administrators,
+and thus the warnings are merely a source of confusion, not a help. To
+do this, you set the environment variable or configuration file value
+`TEX_HUSH' to a colon-separated list of values. Here are the
+possibilities:
+
+`all'
+ Suppress everything possible.
+
+`checksum'
+ Suppress mismatched font checksum warnings.
+
+`lostchar'
+ Suppress warnings when a character is missing from a font that a
+ DVI or VF file tries to typeset.
+
+`none'
+ Don't suppress any warnings.
+
+`readable'
+ Suppress warnings about attempts to access a file whose permissions
+ render it unreadable.
+
+`special'
+ Suppresses warnings about an unimplemented or unparsable
+ `\special' command.
+
+`tex-hush.c' defines the function that checks the variable value. Each
+driver implements its own checks where appropriate.
+
+
+File: kpathsea.info, Node: Programming, Next: Index, Prev: TeX support, Up: Top
+
+5 Programming
+*************
+
+This chapter is for programmers who wish to use Kpathsea. *Note
+Introduction::, for the conditions under which you may do so.
+
+* Menu:
+
+* Overview: Programming overview. Introduction.
+* Calling sequence:: Specifics of what to call.
+* Program-specific files:: How to handle these.
+* Config: Programming with config files. Getting info from texmf.cnf.
+
+
+File: kpathsea.info, Node: Programming overview, Next: Calling sequence, Up: Programming
+
+5.1 Programming overview
+========================
+
+Aside from this manual, your best source of information is the source to
+the programs I've modified to use Kpathsea (*note Introduction::). Of
+those, Dviljk is probably the simplest, and hence a good place to start.
+Xdvik adds VF support and the complication of X resources. Dvipsk adds
+the complication of its own config files. Web2c is source code I also
+maintain, so it uses Kpathsea rather straightforwardly, but is of course
+complicated by the Web to C translation. Finally, Kpsewhich is a small
+utility program whose sole purpose is to exercise the main
+path-searching functionality.
+
+ Beyond these examples, the `.h' files in the Kpathsea source
+describe the interfaces and functionality (and of course the `.c' files
+define the actual routines, which are the ultimate documentation).
+`pathsearch.h' declares the basic searching routine. `tex-file.h' and
+`tex-glyph.h' define the interfaces for looking up particular kinds of
+files. In view of the way the headers depend on each other, it is
+recommended to use `#include <kpathsea/kpathsea.h>', which includes
+every Kpathsea header.
+
+ If you want to include only specific headers, you should still
+consider including `kpathsea/config.h' before including any other
+Kpathsea header, as it provides symbols used in the other headers.
+Note that `kpathsea/config.h' includes `kpathsea/c-auto.h', which is
+generated by Autoconf.
+
+ The library provides no way for an external program to register new
+file types: `tex-file.[ch]' must be modified to do this. For example,
+Kpathsea has support for looking up Dvips config files, even though no
+program other than Dvips will likely ever want to do so. I felt this
+was acceptable, since along with new file types should also come new
+defaults in `texmf.cnf' (and its descendant `paths.h'), since it's
+simplest for users if they can modify one configuration file for all
+kinds of paths.
+
+ Kpathsea does not parse any formats itself; it barely opens any
+files. Its primary purpose is to return filenames. The GNU font
+utilities does contain libraries to read TFM, GF, and PK files, as do
+the programs above, of course.
+
+
+File: kpathsea.info, Node: Calling sequence, Next: Program-specific files, Prev: Programming overview, Up: Programming
+
+5.2 Calling sequence
+====================
+
+The typical way to use Kpathsea in your program goes something like
+this:
+
+ 1. Call `kpse_set_program_name' with `argv[0]' as the first argument;
+ the second argument is a string or `NULL'. The second argument is
+ used by Kpathsea as the program name for the `.PROGRAM' feature of
+ config files (*note Config files::). If the second argument is
+ `NULL', the value of the first argument is used. This function
+ must be called before any other use of the Kpathsea library.
+
+ If necessary, `kpse_set_program_name' sets the global variables
+ `program_invocation_name' and `program_invocation_short_name'.
+ These variables are used in the error message macros defined in
+ `kpathsea/lib.h'. It sets the global variable `kpse_program_name'
+ to the program name it uses. It also initializes debugging
+ options based on the environment variable `KPATHSEA_DEBUG' (if
+ that is set). Finally, it sets the variables `SELFAUTOLOC',
+ `SELFAUTODIR' and `SELFAUTOPARENT' to the location, parent and
+ grandparent directory of the executable, removing `.' and `..'
+ path elements and resolving symbolic links. These are used in the
+ default configuration file to allow people to invoke TeX from
+ anywhere, specifically from a mounted CD-ROM. (You can use
+ `--expand-var=\$SELFAUTOLOC', etc., to see the values finds.)
+
+ 2. The `kpse_set_progname' is deprecated. A call to
+ `kpse_set_progname' with `argv[0]' is equivalent to a call of
+ `kpse_set_program_name' with first argument `argv[0]' and second
+ argument `NULL'. The function is deprecated because it cannot
+ ensure that the `.PROGRAM' feature of config files will always
+ work (*note Config files::).
+
+ 3. Set debugging options. *Note Debugging::. If your program doesn't
+ have a debugging option already, you can define one and set
+ `kpathsea_debug' to the number that the user supplies (as in Dviljk
+ and Web2c), or you can just omit this altogether (people can
+ always set `KPATHSEA_DEBUG'). If you do have runtime debugging
+ already, you need to merge Kpathsea's options with yours (as in
+ Dvipsk and Xdvik).
+
+ 4. If your program has its own configuration files that can define
+ search paths, you should assign those paths to the `client_path'
+ member in the appropriate element of the `kpse_format_info' array.
+ (This array is indexed by file type; see `tex-file.h'.) See
+ `resident.c' in Dvipsk for an example.
+
+ 5. Call `kpse_init_prog' (see `proginit.c'). It's useful for the DVI
+ drivers, at least, but for other programs it may be simpler to
+ extract the parts of it that actually apply. This does not
+ initialize any paths, it just looks for (and sets) certain
+ environment variables and other random information. (A search
+ path is always initialized at the first call to find a file of
+ that type; this eliminates much useless work, e.g., initializing
+ the BibTeX search paths in a DVI driver.)
+
+ 6. The routine to actually find a file of type FORMAT is
+ `kpse_find_FORMAT', defined in `tex-file.h'. These are macros that
+ expand to a call to `kpse_find_file'. You can call, say,
+ `kpse_find_tfm' after doing only the first of the initialization
+ steps above--Kpathsea automatically reads the `texmf.cnf' generic
+ config files, looks for environment variables, and does expansions
+ at the first lookup.
+
+ 7. To find PK and/or GF bitmap fonts, the routines are `kpse_find_pk',
+ `kpse_find_gf' and `kpse_find_glyph', defined in `tex-glyph.h'.
+ These return a structure in addition to the resultant filename,
+ because fonts can be found in so many ways. See the documentation
+ in the source.
+
+ 8. To actually open a file, not just return a filename, call
+ `kpse_open_file'. This function takes the name to look up and a
+ Kpathsea file format as arguments, and returns the usual `FILE *'.
+ It always assumes the file must exist, and thus will search the
+ disk if necessary (unless the search path specified `!!', etc.).
+ In other words, if you are looking up a VF or some other file that
+ need not exist, don't use this.
+
+
+ Kpathsea also provides many utility routines. Some are generic: hash
+tables, memory allocation, string concatenation and copying, string
+lists, reading input lines of arbitrary length, etc. Others are
+filename-related: default path, tilde, and variable expansion, `stat'
+calls, etc. (Perhaps someday I'll move the former to a separate
+library.)
+
+ The `c-*.h' header files can also help your program adapt to many
+different systems. You will almost certainly want to use Autoconf for
+configuring your software if you use Kpathsea; I strongly recommend
+using Autoconf regardless. It is available from
+`ftp://prep.ai.mit.edu/pub/gnu/'.
+
+
+File: kpathsea.info, Node: Program-specific files, Next: Programming with config files, Prev: Calling sequence, Up: Programming
+
+5.3 Program-specific files
+==========================
+
+Many programs will need to find some configuration files. Kpathsea
+contains some support to make it easy to place them in their own
+directories. The Standard TeX directory structure (*note Introduction:
+(tds)Top.), specifies that such files should go into a subdirectory
+named after the program, like `texmf/ttf2pk'.
+
+ Two special formats, `kpse_program_text_format' and
+`kpse_program_binary_format' exist, which use `.:$TEXMF/PROGRAM//' as
+their compiled-in search path. To override this default, you can use
+the variable `PROGRAMINPUTS' in the environment and/or `texmf.cnf'.
+That is to say, the name of the variable is constructed by converting
+the name of the program to upper case, and appending `INPUTS'.
+
+ The only difference between these two formats is whether
+`kpse_open_file' will open the files it finds in text or binary mode.
+
+
+File: kpathsea.info, Node: Programming with config files, Prev: Program-specific files, Up: Programming
+
+5.4 Programming with config files
+=================================
+
+You can (and probably should) use the same `texmf.cnf' configuration
+file that Kpathsea uses for your program. This helps installers by
+keeping all configuration in one place.
+
+ To retrieve a value VAR from config files, the best way is to call
+`kpse_var_value' on the string `VAR'. This will look first for an
+environment variable VAR, then a config file value. The result will be
+the value found or `NULL'. This function is declared in
+`kpathsea/variable.h'. For an example, see the `shell_escape' code in
+`web2c/lib/texmfmp.c'.
+
+ The routine to do variable expansion in the context of a search path
+(as opposed to simply retrieving a value) is `kpse_var_expand', also
+declared in `kpathsea/variable.h'. It's generally only necessary to
+set the search path structure components as explained in the previous
+section, rather than using this yourself.
+
+ If for some reason you want to retrieve a value _only_ from a config
+file, not automatically looking for a corresponding environment
+variable, call `kpse_cnf_get' (declared in `kpathsea/cnf.h') with the
+string VAR.
+
+ No initialization calls are needed.
+
+
+File: kpathsea.info, Node: Index, Prev: Programming, Up: Top
+
+Index
+*****
+
+
+* Menu:
+
+* !! in path specifications: ls-R. (line 52)
+* $ expansion: Variable expansion. (line 6)
+* --color=tty: ls-R. (line 21)
+* --debug=NUM: Auxiliary tasks. (line 9)
+* --disable-static: configure options. (line 31)
+* --dpi=NUM: Path searching options.
+ (line 15)
+* --enable options: configure options. (line 16)
+* --enable-maintainer-mode: configure options. (line 34)
+* --enable-shared <1>: Shared library. (line 6)
+* --enable-shared: configure options. (line 27)
+* --engine=NAME: Path searching options.
+ (line 20)
+* --expand-braces=STRING: Auxiliary tasks. (line 14)
+* --expand-path=STRING: Auxiliary tasks. (line 22)
+* --expand-var=STRING: Auxiliary tasks. (line 17)
+* --format=NAME: Path searching options.
+ (line 25)
+* --help: Standard options. (line 8)
+* --interactive: Path searching options.
+ (line 93)
+* --mode=STRING: Path searching options.
+ (line 104)
+* --must-exist: Path searching options.
+ (line 109)
+* --path=STRING: Path searching options.
+ (line 114)
+* --progname=NAME: Path searching options.
+ (line 122)
+* --show-path=NAME: Auxiliary tasks. (line 36)
+* --srcdir, for building multiple architectures: configure scenarios.
+ (line 18)
+* --var-value=VARIABLE: Auxiliary tasks. (line 12)
+* --version: Standard options. (line 10)
+* --with options: configure options. (line 16)
+* --with-mktextex-default: mktex configuration. (line 14)
+* --without-mktexmf-default: mktex configuration. (line 14)
+* --without-mktexpk-default: mktex configuration. (line 14)
+* --without-mktextfm-default: mktex configuration. (line 14)
+* -1 debugging value: Debugging. (line 23)
+* -A option to ls: ls-R. (line 33)
+* -Bdynamic: ShellWidgetClass. (line 45)
+* -Bstatic: ShellWidgetClass. (line 45)
+* -D NUM: Path searching options.
+ (line 15)
+* -dynamic: ShellWidgetClass. (line 43)
+* -g, compiling without: configure scenarios. (line 32)
+* -L option to ls: ls-R. (line 38)
+* -mktex=FILETYPE: Path searching options.
+ (line 98)
+* -no-mktex=FILETYPE: Path searching options.
+ (line 98)
+* -O, compiling with: configure scenarios. (line 32)
+* -static: ShellWidgetClass. (line 43)
+* . directories, ignored: ls-R. (line 33)
+* . files: ls-R. (line 33)
+* .2602gf: Unable to generate fonts.
+ (line 36)
+* .afm: Supported file formats.
+ (line 20)
+* .base: Supported file formats.
+ (line 24)
+* .bib: Supported file formats.
+ (line 28)
+* .bst: Supported file formats.
+ (line 32)
+* .cmap: Supported file formats.
+ (line 36)
+* .cnf: Supported file formats.
+ (line 39)
+* .enc: Supported file formats.
+ (line 51)
+* .eps: Supported file formats.
+ (line 62)
+* .epsi: Supported file formats.
+ (line 62)
+* .fmt: Supported file formats.
+ (line 54)
+* .ist: Supported file formats.
+ (line 67)
+* .lig: Supported file formats.
+ (line 71)
+* .map: Supported file formats.
+ (line 77)
+* .mem: Supported file formats.
+ (line 80)
+* .mf: Supported file formats.
+ (line 88)
+* .mft: Supported file formats.
+ (line 96)
+* .mp: Supported file formats.
+ (line 104)
+* .ocp: Supported file formats.
+ (line 112)
+* .ofm: Supported file formats.
+ (line 116)
+* .opl: Supported file formats.
+ (line 123)
+* .otp: Supported file formats.
+ (line 126)
+* .ovf: Supported file formats.
+ (line 129)
+* .ovp: Supported file formats.
+ (line 132)
+* .pfa: Supported file formats.
+ (line 184)
+* .pfb: Supported file formats.
+ (line 184)
+* .pk: Supported file formats.
+ (line 139)
+* .pool: Supported file formats.
+ (line 92)
+* .pro: Supported file formats.
+ (line 145)
+* .rhosts, writable by TeX: Security. (line 10)
+* .sfd: Supported file formats.
+ (line 149)
+* .tex: Supported file formats.
+ (line 152)
+* .tex file, included in ls-R: ls-R. (line 33)
+* .tfm: Supported file formats.
+ (line 172)
+* .ttc: Supported file formats.
+ (line 181)
+* .ttf: Supported file formats.
+ (line 181)
+* .vf: Supported file formats.
+ (line 192)
+* .w: Supported file formats.
+ (line 43)
+* .web: Supported file formats.
+ (line 43)
+* / may not be /: Searching overview. (line 13)
+* /, trailing in home directory: Tilde expansion. (line 18)
+* //: Subdirectory expansion.
+ (line 6)
+* /afs/... , installing into: Installing files. (line 32)
+* /etc/profile: Unable to find files.
+ (line 14)
+* /etc/profile and aliases: ls-R. (line 21)
+* /var/tmp/texfonts: mktex configuration. (line 107)
+* 2602gf: Unable to generate fonts.
+ (line 36)
+* 8.3 filenames, using: mktex configuration. (line 62)
+* : may not be :: Searching overview. (line 13)
+* :: expansion: Default expansion. (line 6)
+* @VAR@ substitutions: Running configure. (line 6)
+* \, line continuation in texmf.cnf: Config files. (line 26)
+* \openin: Searching overview. (line 31)
+* \special, suppressing warnings about: Suppressing warnings.
+ (line 31)
+* absolute filenames: Searching overview. (line 52)
+* ac_include, Autoconf extension: Running configure. (line 6)
+* access warnings: Searching overview. (line 56)
+* Acorn TeX implementations: Other TeX packages. (line 6)
+* AFMFONTS: Supported file formats.
+ (line 20)
+* AFS: Installing files. (line 32)
+* AIX 4.1 configure error: Empty Makefiles. (line 6)
+* AIX shells and configure: configure shells. (line 14)
+* aliases for fonts: Fontmap. (line 6)
+* aliases, for filenames: Filename aliases. (line 6)
+* all: Suppressing warnings.
+ (line 13)
+* alphabetical order, not: Subdirectory expansion.
+ (line 6)
+* Amiga support: Custom installation. (line 19)
+* Amiga TeX implementations: Other TeX packages. (line 6)
+* Andrew File System, installing with: Installing files. (line 32)
+* announcement mailing list: Mailing lists. (line 6)
+* ANSI C: TeX or Metafont failing.
+ (line 30)
+* append-only directories and mktexpk: Security. (line 36)
+* appendonlydir: mktex configuration. (line 54)
+* architecture-(in)dependent files, installing only: Installing files.
+ (line 21)
+* architectures, compiling multiple: configure scenarios. (line 18)
+* arguments to mktex: mktex script arguments.
+ (line 6)
+* argv[0]: Calling sequence. (line 9)
+* ash, losing with configure: configure shells. (line 19)
+* autoconf, recommended: Calling sequence. (line 90)
+* automounter, and configuration: configure scenarios. (line 29)
+* automounter, and ls-R: ls-R. (line 40)
+* auxiliary tasks: Auxiliary tasks. (line 6)
+* Babel <1>: Running make. (line 51)
+* Babel: Kpathsea application distributions.
+ (line 28)
+* Bach, Johann Sebastian: Default expansion. (line 41)
+* backbone of CTAN: Electronic distribution.
+ (line 6)
+* backslash-newline: Config files. (line 26)
+* bash, recommended for running configure: configure shells. (line 6)
+* basic glyph lookup: Basic glyph lookup. (line 6)
+* Berry, Karl: History. (line 12)
+* BIBINPUTS: Supported file formats.
+ (line 28)
+* binary mode, for file transfers: Electronic distribution.
+ (line 20)
+* blank lines, in texmf.cnf: Config files. (line 24)
+* brace expansion: Brace expansion. (line 6)
+* BSD universe: Running make. (line 44)
+* bsh, ok with configure: configure shells. (line 14)
+* BSTINPUTS: Supported file formats.
+ (line 32)
+* bug address: Reporting bugs. (line 8)
+* bug checklist: Bug checklist. (line 6)
+* bug mailing list: Mailing lists. (line 6)
+* bugs, reporting: Reporting bugs. (line 6)
+* c-*.h: Calling sequence. (line 90)
+* c-auto.h: Programming overview.
+ (line 25)
+* c-auto.in: Running configure. (line 6)
+* cache of fonts, local: Security. (line 22)
+* calling sequence: Calling sequence. (line 6)
+* CC: configure environment.
+ (line 10)
+* cc warnings: Pointer combination warnings.
+ (line 6)
+* cc, compiling with: configure environment.
+ (line 11)
+* CD-ROM distributions: CD-ROM distribution. (line 6)
+* CFLAGS: configure environment.
+ (line 14)
+* ChangeLog entry: Bug checklist. (line 63)
+* checklist for bug reports: Bug checklist. (line 6)
+* checksum: Suppressing warnings.
+ (line 16)
+* circle fonts: Fontmap. (line 19)
+* clean Make target: Cleaning up. (line 15)
+* client_path in kpse_format_info: Calling sequence. (line 45)
+* CMAPFONTS: Supported file formats.
+ (line 36)
+* cmr10, as fallback font: Fallback font. (line 15)
+* cmr10.vf: Searching overview. (line 31)
+* cnf.c: Config files. (line 75)
+* cnf.h: Programming with config files.
+ (line 23)
+* code sharing: Shared library. (line 9)
+* color printers, configuring: Simple installation. (line 60)
+* comments, in fontmap files: Fontmap. (line 28)
+* comments, in texmf.cnf: Config files. (line 22)
+* comments, making: Introduction. (line 27)
+* common features in glyph lookup: Basic glyph lookup. (line 6)
+* common problems: Common problems. (line 6)
+* comp.sys.sun.admin FAQ: ShellWidgetClass. (line 6)
+* comp.text.tex: Mailing lists. (line 29)
+* compilation: Installation. (line 6)
+* compilation value, source for path: Path sources. (line 20)
+* compiler bugs: TeX or Metafont failing.
+ (line 6)
+* compiler bugs, finding: TeX or Metafont failing.
+ (line 24)
+* compiler options, additional: Running make. (line 27)
+* compiler options, specifying: configure environment.
+ (line 15)
+* compiler, changing: Running make. (line 40)
+* compiling on HP-UX: TeX or Metafont failing.
+ (line 30)
+* conditions for use: Introduction. (line 31)
+* config files: Config files. (line 6)
+* config files, for Kpathsea-using programs: Calling sequence.
+ (line 45)
+* config files, programming with: Programming with config files.
+ (line 6)
+* config.h: Programming overview.
+ (line 25)
+* config.log: Bug checklist. (line 29)
+* config.ps, search path for: Supported file formats.
+ (line 47)
+* config.status: Bug checklist. (line 32)
+* configuration: Installation. (line 6)
+* configuration bugs: Bug checklist. (line 32)
+* configuration compiler options: configure environment.
+ (line 23)
+* configuration file, source for path: Path sources. (line 17)
+* configuration files as shell scripts.: Config files. (line 67)
+* configuration of mktex scripts: mktex configuration. (line 6)
+* configuration of optional features: configure options. (line 16)
+* configure error from sed: Empty Makefiles. (line 6)
+* configure options: configure options. (line 6)
+* configure options for mktex scripts: mktex configuration. (line 14)
+* configure, running: Running configure. (line 6)
+* context diff: Bug checklist. (line 63)
+* continuation character: Config files. (line 26)
+* core dumps, reporting: Bug checklist. (line 69)
+* CPPFLAGS: configure environment.
+ (line 22)
+* crashes, reporting: Bug checklist. (line 69)
+* CTAN, defined: Electronic distribution.
+ (line 6)
+* CTAN.sites: Electronic distribution.
+ (line 13)
+* custom installation: Custom installation. (line 6)
+* CWEBINPUTS: Supported file formats.
+ (line 43)
+* database search: Searching overview. (line 17)
+* database, for filenames: Filename database. (line 6)
+* database, format of: Database format. (line 6)
+* debug.h: Debugging. (line 6)
+* debugger: Bug checklist. (line 69)
+* debugging: Debugging. (line 6)
+* debugging options, in Kpathsea-using program: Calling sequence.
+ (line 37)
+* debugging output: Debugging. (line 27)
+* debugging with -g, disabling: configure scenarios. (line 32)
+* DEC shells and configure: configure shells. (line 25)
+* default expansion: Default expansion. (line 6)
+* default path features: Default path features.
+ (line 6)
+* default paths, changing: Default path generation.
+ (line 6)
+* default paths, how they're made: Default path generation.
+ (line 12)
+* default_texsizes: Fallback font. (line 6)
+* DEFS: configure environment.
+ (line 31)
+* depot: configure scenarios. (line 29)
+* device, wrong: Unable to generate fonts.
+ (line 29)
+* directories, changing default installation: Default path generation.
+ (line 6)
+* directories, making append-only: mktex configuration. (line 55)
+* directory permissions: Security. (line 51)
+* directory structure, for TeX files: TeX directory structure.
+ (line 6)
+* disabling mktex scripts: mktex configuration. (line 6)
+* disk search: Searching overview. (line 22)
+* disk searching, avoiding: ls-R. (line 52)
+* disk space, needed: Disk space. (line 6)
+* disk usage, reducing: Logging. (line 6)
+* distclean Make target: Cleaning up. (line 6)
+* distributions, compiling simultaneously: Kpathsea application distributions.
+ (line 6)
+* distributions, not compiling: Kpathsea application distributions.
+ (line 6)
+* distributions, on CD-ROM: CD-ROM distribution. (line 6)
+* distributions, via ftp: Electronic distribution.
+ (line 6)
+* dlclose: dlopen. (line 6)
+* dlopen: dlopen. (line 6)
+* dlsym: dlopen. (line 6)
+* dlsym.c: dlopen. (line 21)
+* doc files: Supported file formats.
+ (line 158)
+* DOS compatible names: mktex configuration. (line 62)
+* DOS support: Custom installation. (line 19)
+* DOS TeX implementations: Other TeX packages. (line 6)
+* dosnames: mktex configuration. (line 61)
+* dot files: ls-R. (line 33)
+* doubled colons: Default expansion. (line 6)
+* dpiNNN directories: mktex configuration. (line 62)
+* DVI drivers: Kpathsea application distributions.
+ (line 12)
+* DVILJMAKEPK: mktex script names. (line 22)
+* DVILJSIZES: Fallback font. (line 6)
+* DVIPSFONTS: Supported file formats.
+ (line 227)
+* DVIPSHEADERS: Supported file formats.
+ (line 184)
+* DVIPSMAKEPK: mktex script names. (line 22)
+* DVIPSSIZES: Fallback font. (line 6)
+* dynamic creation of files: mktex scripts. (line 6)
+* dynamic linking problems with OpenWin libraries: ShellWidgetClass.
+ (line 6)
+* EC fonts, and dynamic source creation: mktex scripts. (line 6)
+* elt-dirs.c: Subdirectory expansion.
+ (line 41)
+* email CTAN access: Electronic distribution.
+ (line 17)
+* enabling mktex scripts: mktex configuration. (line 6)
+* ENCFONTS: Supported file formats.
+ (line 51)
+* engine name: Path searching options.
+ (line 20)
+* environment variable, source for path: Path sources. (line 9)
+* environment variables for TeX: Supported file formats.
+ (line 6)
+* environment variables in paths: Variable expansion. (line 6)
+* environment variables, old: Unable to find files.
+ (line 14)
+* epoch, seconds since: Logging. (line 15)
+* error message macros: Calling sequence. (line 16)
+* excessive startup time: Slow path searching. (line 6)
+* expand.c: Brace expansion. (line 26)
+* expanding symlinks: Calling sequence. (line 16)
+* expansion, default: Default expansion. (line 6)
+* expansion, path element: Searching overview. (line 43)
+* expansion, search path: Path expansion. (line 6)
+* expansion, subdirectory: Subdirectory expansion.
+ (line 6)
+* expansion, tilde: Tilde expansion. (line 6)
+* expansion, variable: Variable expansion. (line 6)
+* explicitly relative filenames: Searching overview. (line 52)
+* externally-built filename database: Filename database. (line 6)
+* extra colons: Default expansion. (line 6)
+* extraclean Make target: Cleaning up. (line 23)
+* failed mktex... script invocation: mktex script names. (line 25)
+* fallback font: Fallback font. (line 6)
+* fallback resolutions: Fallback font. (line 6)
+* fallback resolutions, overriding: Running make. (line 10)
+* FAQ, comp.sys.sun.admin: ShellWidgetClass. (line 6)
+* FAQ, Kpathsea: Common problems. (line 6)
+* Farwell, Matthew: Subdirectory expansion.
+ (line 22)
+* features, of default paths: Default path features.
+ (line 6)
+* file formats, supported: Supported file formats.
+ (line 6)
+* file lookup: File lookup. (line 6)
+* file permissions: Security. (line 47)
+* file types, registering new: Programming overview.
+ (line 31)
+* filename aliases: Filename aliases. (line 6)
+* filename database: Filename database. (line 6)
+* filename database generation: Filename database generation.
+ (line 6)
+* filenames, absolute or explicitly relative: Searching overview.
+ (line 52)
+* files, unable to find: Unable to find files.
+ (line 6)
+* filesystem search: Searching overview. (line 22)
+* floating directories: Searching overview. (line 22)
+* font alias files: Fontmap. (line 6)
+* font generation failures: Unable to generate fonts.
+ (line 6)
+* font of last resort: Fallback font. (line 6)
+* font set, infinite: mktex scripts. (line 6)
+* fontmap files: Fontmap. (line 6)
+* fontmaps: mktex configuration. (line 80)
+* fontname: mktex configuration. (line 81)
+* fontnames, arbitrary length: Fontmap. (line 15)
+* fonts, being created: Simple installation. (line 79)
+* FOOINPUTS: Supported file formats.
+ (line 209)
+* fopen, redefined: Debugging. (line 54)
+* format of external database: Database format. (line 6)
+* Free Software Foundation: CD-ROM distribution. (line 12)
+* FreeBSD configure error: Empty Makefiles. (line 6)
+* FreeBSD shells and configure: configure shells. (line 19)
+* FSF Source Code CD-ROM: CD-ROM distribution. (line 12)
+* ftp retrieval: Electronic distribution.
+ (line 6)
+* ftp.tug.org: unixtex.ftp. (line 6)
+* fundamental purpose of Kpathsea: Introduction. (line 6)
+* gcc, compiling with: configure environment.
+ (line 11)
+* gdb, recommended: Bug checklist. (line 69)
+* generation of filename database: Filename database generation.
+ (line 6)
+* get_applicationShellWidgetClass: ShellWidgetClass. (line 6)
+* get_wmShellWidgetClass: ShellWidgetClass. (line 6)
+* gf: Supported file formats.
+ (line 58)
+* GFFONTS: Supported file formats.
+ (line 58)
+* globally writable directories: Security. (line 30)
+* glyph lookup: Glyph lookup. (line 6)
+* glyph lookup bitmap tolerance: Basic glyph lookup. (line 15)
+* GLYPHFONTS: Supported file formats.
+ (line 58)
+* GNU C compiler bugs: TeX or Metafont failing.
+ (line 19)
+* GNU General Public License: Introduction. (line 31)
+* group-writable directories: Security. (line 40)
+* GSFTOPK_DEBUG (128): Debugging. (line 88)
+* hash table buckets, printing: Debugging. (line 105)
+* hash table routines: Calling sequence. (line 83)
+* hash_summary_only variable for debugging: Debugging. (line 105)
+* help, mailing list for general TeX: Mailing lists. (line 29)
+* HIER: Default path features.
+ (line 41)
+* history of Kpathsea: History. (line 6)
+* home directories in paths: Tilde expansion. (line 6)
+* HOME, as ~ expansion: Tilde expansion. (line 6)
+* HP-UX, compiling on: TeX or Metafont failing.
+ (line 30)
+* identifiers, characters valid in: Config files. (line 36)
+* illegal pointer combination warnings: Pointer combination warnings.
+ (line 6)
+* include fontmap directive: Fontmap. (line 33)
+* INDEXSTYLE: Supported file formats.
+ (line 67)
+* info-tex@shsu.edu: Mailing lists. (line 29)
+* input lines, reading: Calling sequence. (line 83)
+* install-data Make target: Installing files. (line 28)
+* install-exec Make target: Installing files. (line 23)
+* installation: Installation. (line 6)
+* installation testing: Installation testing.
+ (line 6)
+* installation, architecture-(in)dependent files only: Installing files.
+ (line 21)
+* installation, changing default directories: Default path generation.
+ (line 6)
+* installation, customized: Custom installation. (line 6)
+* installation, getting executables instead of: Simple installation.
+ (line 6)
+* installation, simple: Simple installation. (line 6)
+* installing files: Installing files. (line 6)
+* interactive query: Path searching options.
+ (line 93)
+* interface, not frozen: Introduction. (line 27)
+* introduction: Introduction. (line 6)
+* kdebug:: Debugging. (line 105)
+* kdefault.c: Default expansion. (line 48)
+* Knuth, Donald E.: History. (line 6)
+* Knuth, Donald E., archive of programs by: Other TeX packages.
+ (line 18)
+* Knuth, Donald E., original author: Electronic distribution.
+ (line 25)
+* Korn shell, losing with configure: configure shells. (line 14)
+* Kpathsea config file, source for path: Path sources. (line 17)
+* Kpathsea version number: Kpathsea application distributions.
+ (line 6)
+* kpathsea.h: Programming overview.
+ (line 16)
+* kpathsea/HIER: Default path features.
+ (line 41)
+* kpathsea/README.CONFIGURE: Running configure. (line 15)
+* KPATHSEA_DEBUG: Calling sequence. (line 16)
+* kpathsea_debug: Debugging. (line 18)
+* KPATHSEA_DEBUG: Debugging. (line 18)
+* kpathsea_debug: Debugging. (line 6)
+* kpathsea_debug variable: Calling sequence. (line 37)
+* KPSE_BITMAP_TOLERANCE: Basic glyph lookup. (line 15)
+* kpse_cnf_get: Programming with config files.
+ (line 23)
+* KPSE_DEBUG_EXPAND (16): Debugging. (line 68)
+* KPSE_DEBUG_FOPEN (4): Debugging. (line 53)
+* KPSE_DEBUG_HASH (2): Debugging. (line 46)
+* KPSE_DEBUG_PATHS (8): Debugging. (line 60)
+* KPSE_DEBUG_SEARCH (32): Debugging. (line 74)
+* KPSE_DEBUG_STAT (1): Debugging. (line 38)
+* KPSE_DEBUG_VARS (64): Debugging. (line 83)
+* KPSE_DOT expansion: KPSE_DOT expansion. (line 6)
+* kpse_fallback_font: Fallback font. (line 15)
+* kpse_find_*: Calling sequence. (line 60)
+* kpse_find_file <1>: Calling sequence. (line 60)
+* kpse_find_file: File lookup. (line 26)
+* kpse_find_glyph_format: Glyph lookup. (line 26)
+* kpse_format_info: Calling sequence. (line 45)
+* kpse_format_info_type: Debugging. (line 61)
+* kpse_init_prog: Calling sequence. (line 51)
+* kpse_init_prog, and MAKETEX_MODE: Default path features.
+ (line 25)
+* kpse_make_specs: mktex script names. (line 6)
+* kpse_open_file: Calling sequence. (line 74)
+* kpse_program_name: Calling sequence. (line 16)
+* kpse_set_progname: Calling sequence. (line 30)
+* kpse_set_program_name: Calling sequence. (line 9)
+* kpse_var_value: Programming with config files.
+ (line 10)
+* kpsewhich: Invoking kpsewhich. (line 6)
+* Kpsewhich, and debugging: Debugging. (line 31)
+* ksh, losing with configure: configure shells. (line 14)
+* labrea.stanford.edu: Other TeX packages. (line 18)
+* LaserJet drive: Kpathsea application distributions.
+ (line 13)
+* last-resort font: Fallback font. (line 6)
+* LaTeX help mailing list: Mailing lists. (line 29)
+* lcircle10: Fontmap. (line 19)
+* LDFLAGS: configure environment.
+ (line 38)
+* leading colons: Default expansion. (line 6)
+* leaf directories wrongly guessed: Unable to find files.
+ (line 21)
+* leaf directory trick: Subdirectory expansion.
+ (line 22)
+* libdl.a: dlopen. (line 6)
+* libraries, changing: Running make. (line 40)
+* libraries, specifying additional: configure environment.
+ (line 43)
+* LIBS: configure environment.
+ (line 42)
+* libucb, avoiding: Running make. (line 44)
+* license for using the library: Introduction. (line 31)
+* LIGFONTS: Supported file formats.
+ (line 71)
+* lines, reading arbitrary-length: Calling sequence. (line 83)
+* Linux File System Standard: mktex configuration. (line 107)
+* Linux shells and configure: configure shells. (line 19)
+* Linux, using Web2c: CD-ROM distribution. (line 16)
+* lndir for building symlink trees: configure scenarios. (line 18)
+* loader options: configure environment.
+ (line 39)
+* loader options, final: Running make. (line 33)
+* loader options, initial: Running make. (line 30)
+* local cache of fonts: Security. (line 22)
+* log file: Logging. (line 6)
+* logging successful searches: Logging. (line 6)
+* lost+found directory: Searching overview. (line 56)
+* lostchar: Suppressing warnings.
+ (line 19)
+* ls-R: Supported file formats.
+ (line 74)
+* ls-R and AFS: Installing files. (line 40)
+* ls-R database file: ls-R. (line 6)
+* ls-R, simplest build: ls-R. (line 18)
+* Mach10 configure error: Empty Makefiles. (line 6)
+* Macintosh TeX implementations: Other TeX packages. (line 6)
+* MacKenzie, David <1>: Subdirectory expansion.
+ (line 22)
+* MacKenzie, David: History. (line 45)
+* magic characters: Searching overview. (line 13)
+* mailing lists: Mailing lists. (line 6)
+* maintainer-clean Make target: Cleaning up. (line 18)
+* Make arguments, additional: Running make. (line 36)
+* make, running: Running make. (line 6)
+* Makefile.in: Running configure. (line 6)
+* Makefiles, empty: Empty Makefiles. (line 6)
+* MAKETEX_DEBUG (512): Debugging. (line 91)
+* MAKETEX_FINE_DEBUG (1024): Debugging. (line 100)
+* MAKETEX_MODE: Default path features.
+ (line 19)
+* memory allocation routines: Calling sequence. (line 83)
+* metafont driver files: mktex configuration. (line 87)
+* Metafont failures: TeX or Metafont failing.
+ (line 6)
+* Metafont installation: Unable to generate fonts.
+ (line 52)
+* Metafont making too-large fonts: Unable to generate fonts.
+ (line 36)
+* Metafont using the wrong device: Unable to generate fonts.
+ (line 29)
+* MFBASES: Supported file formats.
+ (line 24)
+* MFINPUTS: Supported file formats.
+ (line 88)
+* MFPOOL: Supported file formats.
+ (line 92)
+* MFTINPUTS: Supported file formats.
+ (line 96)
+* mirrors, FTP: Electronic distribution.
+ (line 13)
+* MISCFONTS: Supported file formats.
+ (line 100)
+* mismatched checksum warnings: Suppressing warnings.
+ (line 17)
+* missfont.log: mktex script names. (line 25)
+* MISSFONT_LOG: mktex script names. (line 30)
+* missing character warnings: Suppressing warnings.
+ (line 20)
+* mktex script configuration: mktex configuration. (line 6)
+* mktex script names: mktex script names. (line 6)
+* mktex scripts: mktex scripts. (line 6)
+* mktex.cnf: mktex configuration. (line 23)
+* mktex.opt: mktex configuration. (line 34)
+* mktexdir: mktex configuration. (line 55)
+* mktexmf: mktex script names. (line 17)
+* mktexpk: mktex script names. (line 11)
+* mktexpk , initial runs: Simple installation. (line 79)
+* mktexpk can't guess mode: Unable to generate fonts.
+ (line 12)
+* mktextex: mktex script names. (line 14)
+* mktextfm: mktex script names. (line 20)
+* mode directory, omitting: mktex configuration. (line 92)
+* Morgan, Tim: History. (line 12)
+* mostlyclean Make target: Cleaning up. (line 10)
+* MPINPUTS: Supported file formats.
+ (line 104)
+* MPMEMS: Supported file formats.
+ (line 80)
+* MPPOOL: Supported file formats.
+ (line 108)
+* MPSUPPORT: Supported file formats.
+ (line 84)
+* MT_FEATURES: mktex configuration. (line 34)
+* multiple architectures, compiling on: configure scenarios. (line 18)
+* multiple architectures, directories for: configure scenarios.
+ (line 23)
+* multiple architectures, installing on: Installing files. (line 21)
+* multiple TeX hierarchies: Brace expansion. (line 20)
+* must exist: Searching overview. (line 31)
+* names for mktex scripts: mktex script names. (line 6)
+* NetBSD configure error: Empty Makefiles. (line 6)
+* NetBSD shells and configure: configure shells. (line 19)
+* Neumann, Gustaf: History. (line 57)
+* newsgroup for TeX: Mailing lists. (line 29)
+* NeXT sed error: Empty Makefiles. (line 6)
+* NeXT, lacking X11: Kpathsea application distributions.
+ (line 6)
+* NFS and ls-R: ls-R. (line 40)
+* NFS CTAN access: Electronic distribution.
+ (line 17)
+* nomfdrivers: mktex configuration. (line 86)
+* nomode: mktex configuration. (line 91)
+* non-English typesetting: Kpathsea application distributions.
+ (line 28)
+* non-Unix operating systems: Custom installation. (line 19)
+* none: Suppressing warnings.
+ (line 23)
+* null pointers, dereferencing: Bug checklist. (line 69)
+* numeric debugging values: Debugging. (line 34)
+* obtaining TeX: unixtex.ftp. (line 6)
+* obtaining Web2c by ftp: Electronic distribution.
+ (line 6)
+* obtaining Web2c on CD-ROM: CD-ROM distribution. (line 6)
+* OCPINPUTS: Supported file formats.
+ (line 112)
+* OFMFONTS: Supported file formats.
+ (line 116)
+* online Metafont display, spurious: Unable to generate fonts.
+ (line 36)
+* OPENTYPEFONTS: Supported file formats.
+ (line 120)
+* OpenWin libraries, dynamic linking problems: ShellWidgetClass.
+ (line 6)
+* optimization caveat: TeX or Metafont failing.
+ (line 15)
+* optimization, enabling: configure scenarios. (line 32)
+* options for debugging: Debugging. (line 6)
+* options to configure: configure options. (line 16)
+* OS/2 support: Custom installation. (line 19)
+* other TeX distributions: Other TeX packages. (line 6)
+* OTPINPUTS: Supported file formats.
+ (line 126)
+* overview of path searching: Searching overview. (line 6)
+* overview of programming with Kpathsea: Programming overview.
+ (line 6)
+* OVFFONTS: Supported file formats.
+ (line 129)
+* OVPFONTS: Supported file formats.
+ (line 132)
+* patches, Sun OpenWin: ShellWidgetClass. (line 29)
+* path expansion: Path expansion. (line 6)
+* path searching: Path searching. (line 6)
+* path searching options: Path searching options.
+ (line 6)
+* path searching, overview: Searching overview. (line 6)
+* path searching, standalone: Invoking kpsewhich. (line 6)
+* path sources: Path sources. (line 6)
+* paths, changing default <1>: Default path generation.
+ (line 6)
+* paths, changing default: Changing search paths.
+ (line 6)
+* paths, device name included in: Default path features.
+ (line 19)
+* paths.h: Default path generation.
+ (line 27)
+* paths.h, creating: Running make. (line 6)
+* pathsearch.h: Programming overview.
+ (line 16)
+* pc Pascal compiler: History. (line 12)
+* PCL driver: Kpathsea application distributions.
+ (line 13)
+* PDF generation: Kpathsea application distributions.
+ (line 16)
+* PDFTEXCONFIG: Supported file formats.
+ (line 136)
+* permission denied: Searching overview. (line 56)
+* permissions, directory: Security. (line 51)
+* permissions, file: Security. (line 47)
+* PKFONTS: Supported file formats.
+ (line 139)
+* plain.base: Unable to generate fonts.
+ (line 46)
+* pointer combination warnings: Pointer combination warnings.
+ (line 6)
+* PostScript driver: Kpathsea application distributions.
+ (line 16)
+* PostScript fonts, additional: Simple installation. (line 60)
+* precompiled executables, instead of installation: Simple installation.
+ (line 6)
+* precompiled Unix binaries: Other TeX packages. (line 13)
+* preprocessor options: configure environment.
+ (line 32)
+* preprocessor options, additional: Running make. (line 24)
+* printer configuration files: Simple installation. (line 60)
+* privacy, semblance of: Logging. (line 32)
+* problems, common: Common problems. (line 6)
+* proginit.c: Default path features.
+ (line 25)
+* proginit.h: Calling sequence. (line 51)
+* program-varying paths: Supported file formats.
+ (line 12)
+* program_invocation_name: Calling sequence. (line 16)
+* program_invocation_short_name: Calling sequence. (line 16)
+* programming overview: Programming overview.
+ (line 6)
+* programming with config files: Programming with config files.
+ (line 6)
+* programming with Kpathsea: Calling sequence. (line 6)
+* programs using the library: Introduction. (line 13)
+* proof mode: Unable to generate fonts.
+ (line 36)
+* PSHEADERS: Supported file formats.
+ (line 145)
+* pxp Pascal preprocessor: History. (line 12)
+* quoting variable values: Variable expansion. (line 17)
+* readable: Suppressing warnings.
+ (line 26)
+* reading arbitrary-length lines: Calling sequence. (line 83)
+* README.CONFIGURE: Running configure. (line 15)
+* README.mirrors: Electronic distribution.
+ (line 13)
+* recording successful searches: Logging. (line 6)
+* relative filenames: Searching overview. (line 52)
+* relative filenames in ls-R: Installing files. (line 40)
+* reporting bugs: Reporting bugs. (line 6)
+* resident.c: Calling sequence. (line 45)
+* resolution, setting: Path searching options.
+ (line 15)
+* resolutions, last-resort: Fallback font. (line 6)
+* retrieving TeX: unixtex.ftp. (line 6)
+* right-hand side of variable assignments: Config files. (line 44)
+* Rokicki, Tom: History. (line 12)
+* root user: Tilde expansion. (line 18)
+* runtime configuration files: Config files. (line 6)
+* runtime debugging: Debugging. (line 6)
+* Sauter fonts, and dynamic source creation: mktex scripts. (line 6)
+* scripts for file creation: mktex scripts. (line 6)
+* search path, defined: Searching overview. (line 6)
+* search paths, changing default: Changing search paths.
+ (line 6)
+* searching for files: File lookup. (line 6)
+* searching for glyphs: Glyph lookup. (line 6)
+* searching overview: Searching overview. (line 6)
+* searching the database: Searching overview. (line 17)
+* searching the disk: Searching overview. (line 22)
+* security considerations: Security. (line 6)
+* sed error from configure: Empty Makefiles. (line 6)
+* SELFAUTODIR: Calling sequence. (line 16)
+* SELFAUTOLOC: Calling sequence. (line 16)
+* SELFAUTOPARENT: Calling sequence. (line 16)
+* sending patches: Bug checklist. (line 63)
+* setgid scripts: Security. (line 40)
+* SFDFONTS: Supported file formats.
+ (line 149)
+* sh5, ok with configure: configure shells. (line 25)
+* shar, recommended: Bug checklist. (line 57)
+* shared library, making: Shared library. (line 6)
+* shell scripts as configuration files: Config files. (line 67)
+* shell variables: Variable expansion. (line 17)
+* shell_escape, example for code: Programming with config files.
+ (line 10)
+* shells and configure: configure shells. (line 6)
+* simple installation: Simple installation. (line 6)
+* site overrides for mktex...: mktex configuration. (line 23)
+* size of distribution archives: Disk space. (line 6)
+* skeleton TeX directory: TeX directory structure.
+ (line 6)
+* slow startup time: Slow path searching. (line 6)
+* Solaris BSD compatibility, not: Running make. (line 44)
+* source files: Supported file formats.
+ (line 161)
+* sources for search paths: Path sources. (line 6)
+* special: Suppressing warnings.
+ (line 30)
+* st_nlink: Subdirectory expansion.
+ (line 26)
+* stack trace: Bug checklist. (line 69)
+* standalone path searching: Invoking kpsewhich. (line 6)
+* standard error and debugging output: Debugging. (line 27)
+* standard options: Standard options. (line 6)
+* startup time, excessive: Slow path searching. (line 6)
+* static linking: ShellWidgetClass. (line 39)
+* static linking and dlsym: dlopen. (line 6)
+* string routines: Calling sequence. (line 83)
+* strip: mktex configuration. (line 101)
+* stripsupplier: mktex configuration. (line 95)
+* striptypeface: mktex configuration. (line 98)
+* subdirectory searching: Subdirectory expansion.
+ (line 6)
+* suggestions, making: Introduction. (line 27)
+* Sun 2: History. (line 12)
+* Sun OpenWin patches: ShellWidgetClass. (line 29)
+* supplier directory, omitting: mktex configuration. (line 96)
+* supported file formats: Supported file formats.
+ (line 6)
+* suppressing warnings: Suppressing warnings.
+ (line 6)
+* symbolic link trees, for multiple architectures: configure scenarios.
+ (line 18)
+* symbolic links not found: Unable to find files.
+ (line 21)
+* symbolic links, and ls-R: ls-R. (line 38)
+* symlinks, resolving: Calling sequence. (line 16)
+* system C compiler bugs: TeX or Metafont failing.
+ (line 19)
+* system dependencies: Running configure. (line 6)
+* system V universe: Running make. (line 44)
+* T1FONTS: Supported file formats.
+ (line 184)
+* T1INPUTS: Supported file formats.
+ (line 184)
+* T42FONTS: Supported file formats.
+ (line 189)
+* TDS: TeX directory structure.
+ (line 6)
+* testing, post-installation: Installation testing.
+ (line 6)
+* tests, simple: Simple installation. (line 79)
+* teTeX: Other TeX packages. (line 13)
+* TeX directory structure: TeX directory structure.
+ (line 6)
+* TeX distributions besides Web2c: Other TeX packages. (line 6)
+* TeX environment variables: Supported file formats.
+ (line 6)
+* TeX failures: TeX or Metafont failing.
+ (line 6)
+* TeX file lookup: File lookup. (line 6)
+* TeX glyph lookup: Glyph lookup. (line 6)
+* TeX help mailing list: Mailing lists. (line 29)
+* TeX hierarchy, one: configure scenarios. (line 13)
+* TeX Live CD-ROM: CD-ROM distribution. (line 8)
+* TeX support: TeX support. (line 6)
+* TeX Users Group: Introduction. (line 39)
+* tex-archive@math.utah.edu: Mailing lists. (line 25)
+* tex-file.c: File lookup. (line 26)
+* tex-file.h: Programming overview.
+ (line 16)
+* tex-glyph.c: Glyph lookup. (line 26)
+* tex-glyph.h: Programming overview.
+ (line 16)
+* tex-k-request@mail.tug.org: Mailing lists. (line 7)
+* tex-k@mail.tug.org (bug address): Reporting bugs. (line 8)
+* tex-make.c: mktex script names. (line 6)
+* TEX_HUSH <1>: Suppressing warnings.
+ (line 6)
+* TEX_HUSH: Searching overview. (line 56)
+* TEXBIB: Supported file formats.
+ (line 28)
+* TEXCONFIG: Supported file formats.
+ (line 47)
+* TEXDOCS: Supported file formats.
+ (line 158)
+* TEXFONTMAPS: Supported file formats.
+ (line 77)
+* TEXFONTS: Supported file formats.
+ (line 58)
+* texfonts.map: Fontmap. (line 6)
+* TEXFORMATS: Supported file formats.
+ (line 54)
+* TEXINDEXSTYLE: Supported file formats.
+ (line 67)
+* TEXINPUTS: Supported file formats.
+ (line 62)
+* TEXMF: TeX directory structure.
+ (line 6)
+* texmf.cnf, and variable expansion: Variable expansion. (line 6)
+* texmf.cnf, creating: Running make. (line 6)
+* texmf.cnf, definition for: Config files. (line 6)
+* texmf.cnf, generated: Default path generation.
+ (line 22)
+* texmf.cnf, source for path: Path sources. (line 17)
+* texmf.in: Default path generation.
+ (line 22)
+* texmf.in, editing: Changing search paths.
+ (line 6)
+* texmf.sed: Default path generation.
+ (line 17)
+* TEXMFCNF <1>: Supported file formats.
+ (line 39)
+* TEXMFCNF: Config files. (line 6)
+* TEXMFDBS <1>: Supported file formats.
+ (line 74)
+* TEXMFDBS: ls-R. (line 6)
+* TEXMFINI: Supported file formats.
+ (line 24)
+* TEXMFLOG: Logging. (line 10)
+* TEXMFOUTPUT: mktex script names. (line 30)
+* TEXMFSCRIPTS: Supported file formats.
+ (line 164)
+* TEXMFVAR: mktex configuration. (line 117)
+* texmfvar: mktex configuration. (line 116)
+* TEXPICTS: Supported file formats.
+ (line 62)
+* TEXPKS: Supported file formats.
+ (line 139)
+* TEXPOOL: Supported file formats.
+ (line 168)
+* TEXPSHEADERS: Supported file formats.
+ (line 145)
+* TEXSIZES: Fallback font. (line 6)
+* TEXSOURCES: Supported file formats.
+ (line 161)
+* TFMFONTS: Supported file formats.
+ (line 172)
+* tilde expansion: Tilde expansion. (line 6)
+* tilde.c: Tilde expansion. (line 24)
+* time system call: Logging. (line 15)
+* tolerance for glyph lookup: Basic glyph lookup. (line 15)
+* total disk space: Disk space. (line 6)
+* trailing / in home directory: Tilde expansion. (line 18)
+* trailing colons: Default expansion. (line 6)
+* TRFONTS: Supported file formats.
+ (line 177)
+* trick for detecting leaf directories: Subdirectory expansion.
+ (line 22)
+* trojan horse attack: Security. (line 10)
+* TTFONTS: Supported file formats.
+ (line 181)
+* tug.org: unixtex.ftp. (line 6)
+* tug@tug.org: Introduction. (line 46)
+* typeface directory, omitting: mktex configuration. (line 99)
+* ucbinclude, avoiding: Running make. (line 44)
+* Ultrix shells and configure: configure shells. (line 25)
+* unable to find files: Unable to find files.
+ (line 6)
+* unable to generate fonts: Unable to generate fonts.
+ (line 6)
+* uname: Bug checklist. (line 22)
+* universe, BSD vs. system V: Running make. (line 44)
+* UNIX_ST_LINK: Subdirectory expansion.
+ (line 38)
+* unixtex.ftp: unixtex.ftp. (line 6)
+* unknown special warnings: Suppressing warnings.
+ (line 31)
+* unreadable file warnings: Suppressing warnings.
+ (line 27)
+* unreadable files: Searching overview. (line 56)
+* unusable ls-R warning: ls-R. (line 45)
+* usage patterns, finding: Logging. (line 6)
+* USE_TEXMFVAR: mktex configuration. (line 122)
+* USE_VARTEXFONTS: mktex configuration. (line 112)
+* Usenet TeX newsgroup: Mailing lists. (line 29)
+* varfonts: mktex configuration. (line 106)
+* variable expansion: Variable expansion. (line 6)
+* variable.c: Variable expansion. (line 32)
+* variable.h: Programming with config files.
+ (line 10)
+* VARTEXFONTS: mktex configuration. (line 107)
+* VAX 11/750: History. (line 12)
+* version number, of Kpathsea: Kpathsea application distributions.
+ (line 6)
+* version numbers, determining: Bug checklist. (line 17)
+* VF files, not found: Searching overview. (line 31)
+* VFFONTS: Supported file formats.
+ (line 192)
+* VMS support: Custom installation. (line 19)
+* VMS TeX implementations: Other TeX packages. (line 6)
+* Vojta, Paul: History. (line 30)
+* Walsh, Norman: History. (line 57)
+* warning about unusable ls-R: ls-R. (line 45)
+* warnings, file access: Searching overview. (line 56)
+* warnings, pointer combinations: Pointer combination warnings.
+ (line 6)
+* warnings, suppressing: Suppressing warnings.
+ (line 6)
+* wcstombs: dlopen. (line 6)
+* WEB2C: Supported file formats.
+ (line 200)
+* Weber, Olaf: History. (line 74)
+* WEBINPUTS: Supported file formats.
+ (line 196)
+* whitespace, in fontmap files: Fontmap. (line 28)
+* whitespace, not ignored on continuation lines: Config files.
+ (line 26)
+* Windows TeX implementations: Other TeX packages. (line 6)
+* World Wide Web CTAN access: Electronic distribution.
+ (line 17)
+* www.tug.org: unixtex.ftp. (line 6)
+* X11 previewer: Kpathsea application distributions.
+ (line 25)
+* X11, lacking on NeXT: Kpathsea application distributions.
+ (line 6)
+* XCFLAGS: Running make. (line 26)
+* XCPPFLAGS: Running make. (line 22)
+* XDEFS: Running make. (line 23)
+* XDVIFONTS: Supported file formats.
+ (line 227)
+* XDVIMAKEPK: mktex script names. (line 22)
+* XDVISIZES: Fallback font. (line 6)
+* XLDFLAGS: Running make. (line 29)
+* XLOADLIBES: Running make. (line 32)
+* XMAKEARGS: Running make. (line 35)
+* Xmu library problems: ShellWidgetClass. (line 13)
+* XtStrings: XtStrings. (line 6)
+* zuhn, david: History. (line 51)
+* { expansion: Brace expansion. (line 6)
+* ~ expansion: Tilde expansion. (line 6)
+
+
+
+Tag Table:
+Node: Top1413
+Node: Introduction2056
+Node: History4032
+Node: Installation8124
+Node: Simple installation8914
+Node: Custom installation12497
+Node: Disk space13671
+Node: Kpathsea application distributions14555
+Node: Changing search paths15670
+Node: Default path features16852
+Node: Default path generation18988
+Node: Running configure20431
+Node: configure shells21482
+Node: configure options22534
+Node: configure environment24041
+Node: configure scenarios25843
+Node: Shared library27429
+Node: Running make28763
+Node: Installing files30810
+Node: Cleaning up32757
+Node: Filename database generation33805
+Node: mktex scripts34372
+Node: mktex configuration35329
+Node: mktex script names40873
+Node: mktex script arguments41971
+Node: Installation testing42861
+Node: Security43225
+Node: TeX directory structure45792
+Node: unixtex.ftp50214
+Node: Electronic distribution52229
+Node: CD-ROM distribution54994
+Node: Other TeX packages55964
+Node: Reporting bugs57260
+Node: Bug checklist58000
+Node: Mailing lists62101
+Node: Debugging63460
+Node: Logging68532
+Node: Common problems70043
+Node: Unable to find files70874
+Node: Slow path searching73285
+Node: Unable to generate fonts74662
+Node: TeX or Metafont failing77171
+Node: Empty Makefiles79049
+Node: XtStrings80279
+Node: dlopen81115
+Node: ShellWidgetClass81933
+Node: Pointer combination warnings83565
+Node: Path searching83954
+Node: Searching overview84601
+Node: Path sources87973
+Node: Config files89044
+Node: Path expansion92444
+Node: Default expansion93393
+Node: Variable expansion95463
+Node: Tilde expansion96866
+Node: Brace expansion97764
+Node: KPSE_DOT expansion98869
+Node: Subdirectory expansion99382
+Node: Filename database101731
+Node: ls-R103045
+Node: Filename aliases105939
+Node: Database format107117
+Node: Invoking kpsewhich108130
+Node: Path searching options109007
+Node: Auxiliary tasks113144
+Node: Standard options114652
+Node: TeX support114972
+Node: Supported file formats116263
+Node: File lookup123411
+Node: Glyph lookup124702
+Node: Basic glyph lookup125829
+Node: Fontmap126708
+Node: Fallback font129325
+Node: Suppressing warnings130290
+Node: Programming131395
+Node: Programming overview131908
+Node: Calling sequence134184
+Node: Program-specific files139213
+Node: Programming with config files140251
+Node: Index141551
+
+End Tag Table
diff --git a/Master/texmf/doc/info/latex.info b/Master/texmf/doc/info/latex.info
new file mode 100644
index 00000000000..05e8a79a75c
--- /dev/null
+++ b/Master/texmf/doc/info/latex.info
@@ -0,0 +1,4309 @@
+This is latex.info, produced by makeinfo version 4.7 from latex2e.texi.
+
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* LaTeX2e: (latex). LaTeXe help 1.6.
+END-INFO-DIR-ENTRY
+
+ This file documents LaTeX2e, a document preparation system. LaTeX2e
+is a macro package for TeX.
+
+ This is edition 1.6 of the LaTeX2e documentation, and is for the
+Texinfo that is distributed as part of Version 19 of GNU Emacs. It uses
+version 2.134 or later of the texinfo.tex input file.
+
+ This is translated from LATEX.HLP v1.0a in the VMS Help Library. The
+pre-translation version was written by George D. Greenwade of Sam
+Houston State University.
+
+ The LaTeX 2.09 version was written by Stephen Gilmore
+<stg@dcs.ed.ac.uk>.
+
+ The LaTeX2e version was adapted from this by Torsten Martinsen
+<bullestock@dk-online.dk>.
+
+ Copyright 1988,1994 Free Software Foundation, Inc. Copyright
+1994-1996 Torsten Martinsen.
+
+ 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 the sections entitled "Distribution" and "General
+Public License" may be included in a translation approved by the author
+instead of in the original English.
+
+
+File: latex.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir)
+
+ LaTeX2e is a document preparation system implemented as a macro
+package for Donald E. Knuth's TeX typesetting program.
+
+ LaTeX was originally conceived by Leslie Lamport.
+
+ This is edition 1.6 of the LaTeX2e documentation.
+
+* Menu:
+
+
+* Overview:: What is LaTeX?
+* Commands:: Commands within a LaTeX document.
+* Parameters:: The command line.
+* Command Index:: An alphabetical list of LaTeX commands.
+* Concept Index:: An alphabetical list of concepts.
+
+
+File: latex.info, Node: Overview, Next: Commands, Prev: Top, Up: Top
+
+1 Overview of LaTeX and Local Guide
+***********************************
+
+The LaTeX command typesets a file of text using the TeX program and the
+LaTeX Macro package for TeX. To be more specific, it processes an input
+file containing the text of a document with interspersed commands that
+describe how the text should be formatted. It produces at least three
+files as output:
+
+ 1. A "Device Independent", or `.dvi' file. This contains commands that
+ can be translated into commands for a variety of output devices.
+ You can view the output of LaTeX by using a program such as `xdvi',
+ which actually uses the `.dvi' file.
+
+ 2. A "transcript" or `.log' file that contains summary information and
+ diagnostic messages for any errors discovered in the input file.
+
+ 3. An "auxiliary" or `.aux' file. This is used by LaTeX itself, for
+ things such as sectioning.
+
+ For a description of what goes on inside TeX, you should consult
+`The TeXbook' by Donald E. Knuth, ISBN 0-201-13448-9, published jointly
+by the American Mathematical Society and Addison-Wesley Publishing
+Company.
+
+ For a description of LaTeX, you should consult:
+
+ `LaTeX: A Document Preparation System', by Leslie Lamport,
+Addison-Wesley Publishing Company, 2nd edition, 1994.
+
+ `The LaTeX Companion', by Michel Goossens, Frank Mittelbach, and
+Alexander Samarin, Addison-Wesley, 1994.
+
+
+File: latex.info, Node: Commands, Next: Parameters, Prev: Overview, Up: Top
+
+2 Commands
+**********
+
+A LaTeX command begins with the command name, which consists of a `\'
+followed by either (a) a string of letters or (b) a single non-letter.
+Arguments contained in square brackets, `[]', are optional while
+arguments contained in braces, `{}', are required.
+
+ NOTE: LaTeX is case sensitive. Enter all commands in lower
+case unless explicitly directed to do otherwise.
+
+* Menu:
+
+* Counters:: Internal counters used by LaTeX.
+* Cross References:: Automatic referencing.
+* Definitions:: Define your own commands etc.
+* Document Classes:: Some of the various classes available.
+* Environments:: Such as enumerate & itemize.
+* Footnotes:: How to produce footnotes.
+* Layout:: Controlling the page layout.
+* Lengths:: The length commands.
+* Letters:: The letter class.
+* Line & Page Breaking:: How to insert pagebreaks etc.
+* Making Paragraphs:: Paragraph commands.
+* Margin Notes:: Putting remarks in the margin.
+* Math Formulae:: How to create mathematical formulae.
+* Modes:: Paragraph, Math or LR modes.
+* Page Styles:: Various styles of page layout.
+* Sectioning:: How to section properly.
+* Spaces & Boxes:: All the associated commands.
+* Special Characters:: Special reserved characters.
+* Splitting the Input:: Dealing with big files by splitting.
+* Starting & Ending:: The formal start & end layouts.
+* Table of Contents:: How to create a table of contents.
+* Terminal Input/Output:: User interaction.
+* Typefaces:: Such as bold, italics etc.
+
+
+File: latex.info, Node: Counters, Next: Cross References, Prev: Commands, Up: Commands
+
+2.1 Counters
+============
+
+Everything LaTeX numbers for you has a counter associated with it. The
+name of the counter is the same as the name of the environment or
+command that produces the number, except with no `\'. (enumi - enumiv
+are used for the nested enumerate environment.) Below is a list of the
+counters used in LaTeX's standard document classes to control numbering.
+
+ part paragraph figure enumi
+ chapter subparagraph table enumii
+ section page footnote enumiii
+ subsection equation mpfootnote enumiv
+ subsubsection
+
+* Menu:
+
+* \addtocounter:: Add a quantity to a counter.
+* \alph:: Print value of a counter using letters.
+* \arabic:: Print value of a counter using numerals.
+* \fnsymbol:: Print value of a counter using symbols.
+* \newcounter:: Define a new counter.
+* \refstepcounter:: Add to counter, resetting subsidiary counters.
+* \roman:: Print value of a counter using roman numerals.
+* \setcounter:: Set the value of a counter.
+* \stepcounter:: Add to counter, resetting subsidiary counters.
+* \usecounter:: Use a specified counter in a list environment.
+* \value:: Use the value of a counter in an expression.
+
+
+File: latex.info, Node: \addtocounter, Next: \alph, Prev: Counters, Up: Counters
+
+2.1.1 \addtocounter
+-------------------
+
+`\addtocounter{counter}{value}'
+
+ The `\addtocounter' command increments the `counter' by the amount
+specified by the `value' argument. The `value' argument can be
+negative.
+
+
+File: latex.info, Node: \alph, Next: \arabic, Prev: \addtocounter, Up: Counters
+
+2.1.2 \alph
+-----------
+
+`\alph{counter}'
+
+ This command causes the value of the `counter' to be printed in
+alphabetic characters. The `\alph' command uses lower case alphabetic
+alphabetic characters, i.e., `a, b, c...' while the `\Alph' command
+uses upper case alphabetic characters, i.e., `A, B, C...'.
+
+
+File: latex.info, Node: \arabic, Next: \fnsymbol, Prev: \alph, Up: Counters
+
+2.1.3 \arabic
+-------------
+
+`\arabic{counter}'
+
+ The `\arabic' command causes the value of the `counter' to be
+printed in Arabic numbers, i.e., `3'.
+
+
+File: latex.info, Node: \fnsymbol, Next: \newcounter, Prev: \arabic, Up: Counters
+
+2.1.4 \fnsymbol
+---------------
+
+`\fnsymbol{counter}'
+
+ The `\fnsymbol' command causes the value of the `counter' to be
+printed in a specific sequence of nine symbols that can be used for
+numbering footnotes.
+
+ NB. `counter' must have a value between 1 and 9 inclusive.
+
+
+File: latex.info, Node: \newcounter, Next: \refstepcounter, Prev: \fnsymbol, Up: Counters
+
+2.1.5 \newcounter
+-----------------
+
+`\newcounter{foo}[counter]'
+
+ The `\newcounter' command defines a new counter named `foo'. The
+counter is initialized to zero.
+
+ The optional argument `[counter]' causes the counter `foo' to be
+reset whenever the counter named in the optional argument is
+incremented.
+
+
+File: latex.info, Node: \refstepcounter, Next: \roman, Prev: \newcounter, Up: Counters
+
+2.1.6 \refstepcounter
+---------------------
+
+`\refstepcounter{counter}'
+
+ The `\refstepcounter' command works like `\stepcounter' *Note
+\stepcounter::, except it also defines the current `\ref' value to be
+the result of `\thecounter'.
+
+
+File: latex.info, Node: \roman, Next: \stepcounter, Prev: \refstepcounter, Up: Counters
+
+2.1.7 \roman
+------------
+
+`\roman{counter}'
+
+ This command causes the value of the `counter' to be printed in
+Roman numerals. The `\roman' command uses lower case Roman numerals,
+i.e., `i, ii, iii...', while the `\Roman' command uses upper case Roman
+numerals, i.e., `I, II, III...'.
+
+
+File: latex.info, Node: \stepcounter, Next: \setcounter, Prev: \roman, Up: Counters
+
+2.1.8 \stepcounter
+------------------
+
+`\stepcounter{counter}'
+
+ The `\stepcounter' command adds one to the `counter' and resets all
+subsidiary counters.
+
+
+File: latex.info, Node: \setcounter, Next: \usecounter, Prev: \stepcounter, Up: Counters
+
+2.1.9 \setcounter
+-----------------
+
+`\setcounter{counter}{value}'
+
+ The `\setcounter' command sets the value of the `counter' to that
+specified by the `value' argument.
+
+
+File: latex.info, Node: \usecounter, Next: \value, Prev: \setcounter, Up: Counters
+
+2.1.10 \usecounter
+------------------
+
+`\usecounter{counter}'
+
+ The `\usecounter' command is used in the second argument of the
+`list' environment to allow the counter specified to be used to number
+the list items.
+
+
+File: latex.info, Node: \value, Prev: \usecounter, Up: Counters
+
+2.1.11 \value
+-------------
+
+`\value{counter}'
+
+ The `\value' command produces the value of the `counter' named in
+the mandatory argument. It can be used where LaTeX expects an integer
+or number, such as the second argument of a `\setcounter' or
+`\addtocounter' command, or in:
+
+ \hspace{\value{foo}\parindent}
+
+ It is useful for doing arithmetic with counters.
+
+
+File: latex.info, Node: Cross References, Next: Definitions, Prev: Counters, Up: Commands
+
+2.2 Cross References
+====================
+
+One reason for numbering things like figures and equations is to refer
+the reader to them, as in "See Figure 3 for more details."
+
+* Menu:
+
+* \label:: Assign a symbolic name to a piece of text.
+* \pageref:: Refer to a page number.
+* \ref:: Refer to a section, figure or similar.
+
+
+File: latex.info, Node: \label, Next: \pageref, Prev: Cross References, Up: Cross References
+
+2.2.1 \label
+------------
+
+`\label{key}'
+
+ A `\label' command appearing in ordinary text assigns to the `key'
+the number of the current sectional unit; one appearing inside a
+numbered environment assigns that number to the `key'.
+
+ A `key' can consist of any sequence of letters, digits, or
+punctuation characters. Upper and lowercase letters are different.
+
+ To avoid accidentally creating two labels with the same name, it is
+common to use labels consisting of a prefix and a suffix separated by a
+colon. The prefixes conventionally used are
+
+ * `cha' for chapters
+
+ * `sec' for lower-level sectioning commands
+
+ * `fig' for figures
+
+ * `tab' for tables
+
+ * `eq' for equations
+
+ Thus, a label for a figure would look like `fig:bandersnatch'.
+
+
+File: latex.info, Node: \pageref, Next: \ref, Prev: \label, Up: Cross References
+
+2.2.2 \pageref
+--------------
+
+`\pageref{key}'
+
+ The `\pageref' command produces the page number of the place in the
+text where the corresponding `\label' command appears. ie. where
+`\label{key}' appears.
+
+
+File: latex.info, Node: \ref, Prev: \pageref, Up: Cross References
+
+2.2.3 \ref
+----------
+
+`\ref{key}'
+
+ The `\ref' command produces the number of the sectional unit,
+equation number, ... of the corresponding `\label' command.
+
+
+File: latex.info, Node: Definitions, Next: Document Classes, Prev: Cross References, Up: Commands
+
+2.3 Definitions
+===============
+
+* Menu:
+
+* \newcommand:: Define a new command.
+* \newenvironment:: Define a new environment.
+* \newtheorem:: Define a new theorem-like environment.
+* \newfont:: Define a new font name.
+
+
+File: latex.info, Node: \newcommand, Next: \newenvironment, Prev: Definitions, Up: Definitions
+
+2.3.1 \newcommand
+-----------------
+
+ \newcommand{cmd}[args]{definition}
+ \newcommand{cmd}[args][default]{definition}
+ \renewcommand{cmd}[args]{definition}
+ \renewcommand{cmd}[args][default]{definition}
+
+ These commands define (or redefine) a command.
+
+`cmd'
+ A command name beginning with a `\'. For `\newcommand' it must
+ not be already defined and must not begin with `\end'; for
+ `\renewcommand' it must already be defined.
+
+`args'
+ An integer from 1 to 9 denoting the number of arguments of the
+ command being defined. The default is for the command to have no
+ arguments.
+
+`def'
+ If this optional parameter is present, it means that the command's
+ first argument is optional. The default value of the optional
+ argument is `def'.
+
+`definition'
+ The text to be substituted for every occurrence of `cmd'; a
+ parameter of the form `#n' in `cmd' is replaced by the text of the
+ nth argument when this substitution takes place.
+
+
+
+File: latex.info, Node: \newenvironment, Next: \newtheorem, Prev: \newcommand, Up: Definitions
+
+2.3.2 \newenvironment
+---------------------
+
+ \newenvironment{nam}[args]{begdef}{enddef}
+ \newenvironment{nam}[args][default]{begdef}{enddef}
+ \renewenvironment{nam}[args]{begdef}{enddef}
+
+ These commands define or redefine an environment.
+
+`nam'
+ The name of the environment. For `\newenvironment' there must be
+ no currently defined environment by that name, and the command
+ `\nam' must be undefined. For `\renewenvironment' the environment
+ must already be defined.
+
+`args'
+ An integer from 1 to 9 denoting the number of arguments of the
+ newly-defined environment. The default is no arguments.
+
+`default'
+ If this is specified, the first argument is optional, and `default'
+ gives the default value for that argument.
+
+`begdef'
+ The text substituted for every occurrence of `\begin{nam}'; a
+ parameter of the form `#n' in `cmd' is replaced by the text of the
+ nth argument when this substitution takes place.
+
+`enddef'
+ The text substituted for every occurrence of `\end{nam}'. It may
+ not contain any argument parameters.
+
+
+
+File: latex.info, Node: \newtheorem, Next: \newfont, Prev: \newenvironment, Up: Definitions
+
+2.3.3 \newtheorem
+-----------------
+
+ \newtheorem{env_name}{caption}[within]
+ \newtheorem{env_name}[numbered_like]{caption}
+
+ This command defines a theorem-like environment.
+
+`env_name'
+ The name of the environment to be defined. A string of letters.
+ It must not be the name of an existing environment or counter.
+
+`caption'
+ The text printed at the beginning of the environment, right before
+ the number. This may simply say "Theorem", for example.
+
+`within'
+ The name of an already defined counter, usually of a sectional
+ unit. Provides a means of resetting the new theorem counter
+ *within* the sectional unit.
+
+`numbered_like'
+ The name of an already defined theorem-like environment.
+
+
+ The `\newtheorem' command may have at most one optional argument.
+
+
+File: latex.info, Node: \newfont, Prev: \newtheorem, Up: Definitions
+
+2.3.4 \newfont
+--------------
+
+`\newfont{cmd}{font_name}'
+
+ Defines the command name `cmd', which must not be currently defined,
+to be a declaration that selects the font named `font_name' to be the
+current font.
+
+
+File: latex.info, Node: Document Classes, Next: Environments, Prev: Definitions, Up: Commands
+
+2.4 Document Classes
+====================
+
+Valid LaTeX document classes include:
+
+ * article
+
+ * report
+
+ * letter
+
+ * book
+
+ * slides
+
+ Other document classes are often available. *Note Overview::, for
+details. They are selected with the following command:
+
+ `\documentclass [options] {class}'
+
+ All the standard classes (except slides) accept the following options
+for selecting the typeface size (10 pt is default):
+
+ 10pt, 11pt, 12pt
+
+ All classes accept these options for selecting the paper size
+(default is letter):
+
+ a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper
+
+ Miscellaneous options:
+
+ * landscape -- selects landscape format. Default is portrait.
+
+ * titlepage, notitlepage -- selects if there should be a separate
+ title page.
+
+ * leqno -- equation number on left side of equations. Default is
+ right side.
+
+ * fleqn -- displayed formulas flush left. Default is centred.
+
+ * openbib -- use "open" bibliography format.
+
+ * draft, final -- mark/do not mark overfull boxes with a rule.
+ Default is final.
+
+ These options are not available with the slides class:
+
+ * oneside, twoside -- selects one- or twosided layout. Default is
+ oneside, except for the book class.
+
+ * openright, openany -- determines if a chapter should start on a
+ right-hand page. Default is openright for book.
+
+ * onecolumn, twocolumn -- one or two columns. Defaults to one column.
+
+ The slides class offers the option `clock' for printing the time at
+the bottom of each note.
+
+ If you specify more than one option, they must be separated by a
+comma.
+
+ Additional packages are loaded by a
+
+ `\usepackage[options]{pkg}'
+
+ command. If you specify more than one package, they must be
+separated by a comma.
+
+ Any options given in the `\documentclass' command that are unknown
+by the selected document class are passed on to the packages loaded with
+`\usepackage'.
+
+
+File: latex.info, Node: Layout, Next: Lengths, Prev: Footnotes, Up: Commands
+
+2.5 Layout
+==========
+
+Miscellaneous commands for controlling the general layout of the page.
+
+* Menu:
+
+* \flushbottom:: Make all text pages the same height.
+* \onecolumn:: Use one-column layout.
+* \raggedbottom:: Allow text pages of differing height.
+* \twocolumn:: Use two-column layout.
+
+
+File: latex.info, Node: \flushbottom, Next: \onecolumn, Up: Layout
+
+2.5.1 \flushbottom
+------------------
+
+The `\flushbottom' declaration makes all text pages the same height,
+adding extra vertical space when necessary to fill out the page.
+
+ This is the standard if twocolumn mode is selected.
+
+
+File: latex.info, Node: \onecolumn, Next: \raggedbottom, Prev: \flushbottom, Up: Layout
+
+2.5.2 \onecolumn
+----------------
+
+The `\onecolumn' declaration starts a new page and produces
+single-column output.
+
+
+File: latex.info, Node: \raggedbottom, Next: \twocolumn, Prev: \onecolumn, Up: Layout
+
+2.5.3 \raggedbottom
+-------------------
+
+The `\raggedbottom' declaration makes all pages the height of the text
+on that page. No extra vertical space is added.
+
+
+File: latex.info, Node: \twocolumn, Prev: \raggedbottom, Up: Layout
+
+2.5.4 \twocolumn
+----------------
+
+`\twocolumn[text]'
+
+ The `\twocolumn' declaration starts a new page and produces
+two-column output. If the optional `text' argument is present, it is
+typeset in one-column mode.
+
+
+File: latex.info, Node: Environments, Next: Footnotes, Prev: Document Classes, Up: Commands
+
+2.6 Environments
+================
+
+LaTeX provides a number of different paragraph-making environments.
+Each environment begins and ends in the same manner.
+
+ \begin{environment-name}
+ .
+ .
+ .
+ \end{environment-name}
+
+* Menu:
+
+* array:: Math arrays.
+* center:: Centred lines.
+* description:: Labelled lists.
+* enumerate:: Numbered lists.
+* eqnarray:: Sequences of aligned equations.
+* equation:: Displayed equation.
+* figure:: Floating figures.
+* flushleft:: Flushed left lines.
+* flushright:: Flushed right lines.
+* itemize:: Bulleted lists.
+* letter:: Letters.
+* list:: Generic list environment.
+* minipage:: Miniature page.
+* picture:: Picture with text, arrows, lines and circles.
+* quotation:: Indented environment with paragraph indentation.
+* quote:: Indented environment with no paragraph indentation.
+* tabbing:: Align text arbitrarily.
+* table:: Floating tables.
+* tabular:: Align text in columns.
+* thebibliography:: Bibliography or reference list.
+* theorem:: Theorems, lemmas, etc.
+* titlepage:: For hand crafted title pages.
+* verbatim:: Simulating typed input.
+* verse:: For poetry and other things.
+
+
+File: latex.info, Node: array, Next: center, Prev: Environments, Up: Environments
+
+2.6.1 array
+-----------
+
+ \begin{array}{col1col2...coln}
+ column 1 entry & column 2 entry ... & column n entry \\
+ .
+ .
+ .
+ \end{array}
+
+ Math arrays are produced with the array environment. It has a single
+mandatory argument describing the number of columns and the alignment
+within them. Each column, `coln', is specified by a single letter that
+tells how items in that row should be formatted.
+
+ * `c' -- for centred
+
+ * `l' -- for flush left
+
+ * `r' -- for flush right
+
+ Column entries must be separated by an `&'. Column entries may
+include other LaTeX commands. Each row of the array must be terminated
+with the string `\\'.
+
+ Note that the `array' environment can only be used in math mode, so
+normally it is used inside an `equation' environment.
+
+
+File: latex.info, Node: center, Next: description, Prev: array, Up: Environments
+
+2.6.2 center
+------------
+
+ \begin{center}
+ Text on line 1 \\
+ Text on line 2 \\
+ .
+ .
+ .
+ \end{center}
+
+ The `center' environment allows you to create a paragraph consisting
+of lines that are centred within the left and right margins on the
+current page. Each line must be terminated with the string `\\'.
+
+* Menu:
+
+* \centering:: The declaration form of the `center' environment.
+
+
+File: latex.info, Node: \centering, Up: center
+
+2.6.2.1 \centering
+..................
+
+This declaration corresponds to the `center' environment. This
+declaration can be used inside an environment such as `quote' or in a
+`parbox'. The text of a figure or table can be centred on the page by
+putting a `\centering' command at the beginning of the figure or table
+environment.
+
+ Unlike the `center' environment, the `\centering' command does not
+start a new paragraph; it simply changes how LaTeX formats paragraph
+units. To affect a paragraph unit's format, the scope of the
+declaration must contain the blank line or `\end' command (of an
+environment like quote) that ends the paragraph unit.
+
+
+File: latex.info, Node: description, Next: enumerate, Prev: center, Up: Environments
+
+2.6.3 description
+-----------------
+
+ \begin{description}
+ \item [label] First item
+ \item [label] Second item
+ .
+ .
+ .
+ \end{description}
+
+ The `description' environment is used to make labelled lists. The
+`label' is bold face and flushed right.
+
+
+File: latex.info, Node: enumerate, Next: eqnarray, Prev: description, Up: Environments
+
+2.6.4 enumerate
+---------------
+
+ \begin{enumerate}
+ \item First item
+ \item Second item
+ .
+ .
+ .
+ \end{enumerate}
+
+ The `enumerate' environment produces a numbered list. Enumerations
+can be nested within one another, up to four levels deep. They can also
+be nested within other paragraph-making environments.
+
+ Each item of an enumerated list begins with an `\item' command.
+There must be at least one `\item' command within the environment.
+
+ The `enumerate' environment uses the `enumi' through `enumiv'
+counters (*note Counters::). The type of numbering can be changed by
+redefining `\theenumi' etc.
+
+
+File: latex.info, Node: eqnarray, Next: equation, Prev: enumerate, Up: Environments
+
+2.6.5 eqnarray
+--------------
+
+ \begin{eqnarray}
+ math formula 1 \\
+ math formula 2 \\
+ .
+ .
+ .
+ \end{eqnarray}
+
+ The `eqnarray' environment is used to display a sequence of
+equations or inequalities. It is very much like a three-column `array'
+environment, with consecutive rows separated by `\\' and consecutive
+items within a row separated by an `&'.
+
+ An equation number is placed on every line unless that line has a
+`\nonumber' command.
+
+ The command `\lefteqn' is used for splitting long formulas across
+lines. It typesets its argument in display style flush left in a box of
+zero width.
+
+
+File: latex.info, Node: equation, Next: figure, Prev: eqnarray, Up: Environments
+
+2.6.6 equation
+--------------
+
+ \begin{equation}
+ math formula
+ \end{equation}
+
+ The `equation' environment centres your equation on the page and
+places the equation number in the right margin.
+
+
+File: latex.info, Node: figure, Next: flushleft, Prev: equation, Up: Environments
+
+2.6.7 figure
+------------
+
+ \begin{figure}[placement]
+
+ body of the figure
+
+ \caption{figure title}
+ \end{figure}
+
+ Figures are objects that are not part of the normal text, and are
+usually "floated" to a convenient place, like the top of a page.
+Figures will not be split between two pages.
+
+ The optional argument `[placement]' determines where LaTeX will try
+to place your figure. There are four places where LaTeX can possibly
+put a float:
+
+ 1. `h' (Here) - at the position in the text where the figure
+ environment appears.
+
+ 2. `t' (Top) - at the top of a text page.
+
+ 3. `b' (Bottom) - at the bottom of a text page.
+
+ 4. `p' (Page of floats) - on a separate float page, which is a page
+ containing no text, only floats.
+
+ The standard report and article classes use the default placement
+`tbp'.
+
+ The body of the figure is made up of whatever text, LaTeX commands,
+etc. you wish. The `\caption' command allows you to title your figure.
+
+
+File: latex.info, Node: flushleft, Next: flushright, Prev: figure, Up: Environments
+
+2.6.8 flushleft
+---------------
+
+ \begin{flushleft}
+ Text on line 1 \\
+ Text on line 2 \\
+ .
+ .
+ .
+ \end{flushleft}
+
+ The `flushleft' environment allows you to create a paragraph
+consisting of lines that are flushed left, to the left-hand margin.
+Each line must be terminated with the string `\\'.
+
+* Menu:
+
+* \raggedright:: The declaration form of the `flushleft' environment.
+
+
+File: latex.info, Node: \raggedright, Up: flushleft
+
+2.6.8.1 \raggedright
+....................
+
+This declaration corresponds to the `flushleft' environment. This
+declaration can be used inside an environment such as `quote' or in a
+`parbox'.
+
+ Unlike the `flushleft' environment, the `\raggedright' command does
+not start a new paragraph; it simply changes how LaTeX formats
+paragraph units. To affect a paragraph unit's format, the scope of the
+declaration must contain the blank line or `\end' command (of an
+environment like quote) that ends the paragraph unit.
+
+
+File: latex.info, Node: flushright, Next: itemize, Prev: flushleft, Up: Environments
+
+2.6.9 flushright
+----------------
+
+ \begin{flushright}
+ Text on line 1 \\
+ Text on line 2 \\
+ .
+ .
+ .
+ \end{flushright}
+
+ The `flushright' environment allows you to create a paragraph
+consisting of lines that are flushed right, to the right-hand margin.
+Each line must be terminated with the string `\\'.
+
+* Menu:
+
+* \raggedleft:: The declaration form of the `flushright' environment.
+
+
+File: latex.info, Node: \raggedleft, Up: flushright
+
+2.6.9.1 \raggedleft
+...................
+
+This declaration corresponds to the `flushright' environment. This
+declaration can be used inside an environment such as `quote' or in a
+`parbox'.
+
+ Unlike the `flushright' environment, the `\raggedleft' command does
+not start a new paragraph; it simply changes how LaTeX formats
+paragraph units. To affect a paragraph unit's format, the scope of the
+declaration must contain the blank line or `\end' command (of an
+environment like quote) that ends the paragraph unit.
+
+
+File: latex.info, Node: itemize, Next: letter, Prev: flushright, Up: Environments
+
+2.6.10 itemize
+--------------
+
+ \begin{itemize}
+ \item First item
+ \item Second item
+ .
+ .
+ .
+ \end{itemize}
+
+ The `itemize' environment produces a "bulleted" list. Itemizations
+can be nested within one another, up to four levels deep. They can also
+be nested within other paragraph-making environments.
+
+ Each item of an `itemized' list begins with an `\item' command.
+There must be at least one `\item' command within the environment.
+
+ The `itemize' environment uses the `itemi' through `itemiv' counters
+(*note Counters::). The type of numbering can be changed by redefining
+`\theitemi' etc.
+
+
+File: latex.info, Node: letter, Next: list, Prev: itemize, Up: Environments
+
+2.6.11 letter
+-------------
+
+This environment is used for creating letters. *Note Letters::.
+
+
+File: latex.info, Node: list, Next: minipage, Prev: letter, Up: Environments
+
+2.6.12 list
+-----------
+
+The `list' environment is a generic environment which is used for
+defining many of the more specific environments. It is seldom used in
+documents, but often in macros.
+
+ \begin{list}{label}{spacing}
+ \item First item
+ \item Second item
+ .
+ .
+ .
+ \end{list}
+
+ The `{label}' argument specifies how items should be labelled. This
+argument is a piece of text that is inserted in a box to form the
+label. This argument can and usually does contain other LaTeX commands.
+
+ The `{spacing}' argument contains commands to change the spacing
+parameters for the list. This argument will most often be null, i.e.,
+`{}'. This will select all default spacing which should suffice for
+most cases.
+
+
+File: latex.info, Node: minipage, Next: picture, Prev: list, Up: Environments
+
+2.6.13 minipage
+---------------
+
+ \begin{minipage}[position]{width}
+ text
+ \end{minipage}
+
+ The `minipage' environment is similar to a `\parbox' command. It
+takes the same optional `position' argument and mandatory `width'
+argument. You may use other paragraph-making environments inside a
+minipage.
+
+ Footnotes in a `minipage' environment are handled in a way that is
+particularly useful for putting footnotes in figures or tables. A
+`\footnote' or `\footnotetext' command puts the footnote at the bottom
+of the minipage instead of at the bottom of the page, and it uses the
+`mpfootnote' counter instead of the ordinary `footnote' counter *Note
+Counters::.
+
+ NOTE: Don't put one minipage inside another if you are using
+footnotes; they may wind up at the bottom of the wrong minipage.
+
+
+File: latex.info, Node: picture, Next: quotation, Prev: minipage, Up: Environments
+
+2.6.14 picture
+--------------
+
+ \begin{picture}(width,height)(x offset,y offset)
+ .
+ .
+ picture commands
+ .
+ .
+ \end{picture}
+
+ The `picture' environment allows you to create just about any kind
+of picture you want containing text, lines, arrows and circles. You
+tell LaTeX where to put things in the picture by specifying their
+coordinates. A coordinate is a number that may have a decimal point and
+a minus sign -- a number like `5', `2.3' or `-3.1416'. A coordinate
+specifies a length in multiples of the unit length `\unitlength', so if
+`\unitlength' has been set to `1cm', then the coordinate 2.54 specifies
+a length of 2.54 centimetres. You can change the value of
+`\unitlength' anywhere you want, using the `\setlength' command, but
+strange things will happen if you try changing it inside the picture
+environment.
+
+ A position is a pair of coordinates, such as `(2.4,-5)', specifying
+the point with x-coordinate `2.4' and y-coordinate `-5'. Coordinates
+are specified in the usual way with respect to an origin, which is
+normally at the lower-left corner of the picture. Note that when a
+position appears as an argument, it is not enclosed in braces; the
+parentheses serve to delimit the argument.
+
+ The `picture' environment has one mandatory argument, which is a
+`position'. It specifies the size of the picture. The environment
+produces a rectangular box with width and height determined by this
+argument's x- and y-coordinates.
+
+ The `picture' environment also has an optional `position' argument,
+following the `size' argument, that can change the origin. (Unlike
+ordinary optional arguments, this argument is not contained in square
+brackets.) The optional argument gives the coordinates of the point at
+the lower-left corner of the picture (thereby determining the origin).
+For example, if `\unitlength' has been set to `1mm', the command
+ \begin{picture}(100,200)(10,20)
+ produces a picture of width 100 millimetres and height 200
+millimetres, whose lower-left corner is the point (10,20) and whose
+upper-right corner is therefore the point (110,220). When you first
+draw a picture, you will omit the optional argument, leaving the origin
+at the lower-left corner. If you then want to modify your picture by
+shifting everything, you just add the appropriate optional argument.
+
+ The environment's mandatory argument determines the nominal size of
+the picture. This need bear no relation to how large the picture
+really is; LaTeX will happily allow you to put things outside the
+picture, or even off the page. The picture's nominal size is used by
+LaTeX in determining how much room to leave for it.
+
+ Everything that appears in a picture is drawn by the `\put' command.
+The command
+ \put (11.3,-.3){...}
+ puts the object specified by `...' in the picture, with its
+reference point at coordinates (11.3,-.3). The reference points for
+various objects will be described below.
+
+ The `\put' command creates an "LR box". You can put anything in the
+text argument of the `\put' command that you'd put into the argument of
+an `\mbox' and related commands. When you do this, the reference point
+will be the lower left corner of the box.
+
+ Picture commands:
+
+* Menu:
+
+* \circle:: Draw a circle.
+* \dashbox:: Draw a dashed box.
+* \frame:: Draw a frame around an object.
+* \framebox (picture):: Draw a box with a frame around it.
+* \line:: Draw a straight line.
+* \linethickness:: Set the line thickness.
+* \makebox (picture):: Draw a box of the specified size.
+* \multiput:: Draw multiple instances of an object.
+* \oval:: Draw an ellipse.
+* \put:: Place an object at a specified place.
+* \shortstack:: Make a pile of objects.
+* \vector:: Draw a line with an arrow.
+
+
+File: latex.info, Node: \circle, Next: \dashbox, Up: picture
+
+2.6.14.1 \circle
+................
+
+`\circle[*]{diameter}'
+
+ The `\circle' command produces a circle with a diameter as close to
+the specified one as possible. If the `*'-form of the command is used,
+LaTeX draws a solid circle.
+
+ Note that only circles up to 40 pt can be drawn.
+
+
+File: latex.info, Node: \dashbox, Next: \frame, Prev: \circle, Up: picture
+
+2.6.14.2 \dashbox
+.................
+
+Draws a box with a dashed line.
+
+ `\dashbox{dash_length}(width,height){...}'
+
+ The `\dashbox' has an extra argument which specifies the width of
+each dash. A dashed box looks best when the `width' and `height' are
+multiples of the `dash_length'.
+
+
+File: latex.info, Node: \frame, Next: \framebox (picture), Prev: \dashbox, Up: picture
+
+2.6.14.3 \frame
+...............
+
+`\frame{...}'
+
+ The `\frame' command puts a rectangular frame around the object
+specified in the argument. The reference point is the bottom left
+corner of the frame. No extra space is put between the frame and the
+object.
+
+
+File: latex.info, Node: \framebox (picture), Next: \line, Prev: \frame, Up: picture
+
+2.6.14.4 \framebox
+..................
+
+`\framebox(width,height)[position]{...}'
+
+ The `\framebox' command is exactly the same as the `\makebox'
+command, except that it puts a frame around the outside of the box that
+it creates.
+
+ The `framebox' command produces a rule of thickness `\fboxrule', and
+leaves a space `\fboxsep' between the rule and the contents of the box.
+
+
+File: latex.info, Node: \line, Next: \linethickness, Prev: \framebox (picture), Up: picture
+
+2.6.14.5 \line
+..............
+
+`\line(x slope,y slope){length}'
+
+ The `\line' command draws a line of the specified `length' and
+`slope'.
+
+ Note that LaTeX can only draw lines with slope = x/y, where x and y
+have integer values from -6 through 6.
+
+
+File: latex.info, Node: \linethickness, Next: \makebox (picture), Prev: \line, Up: picture
+
+2.6.14.6 \linethickness
+.......................
+
+`\linethickness{dimension}'
+
+ Declares the thickness of horizontal and vertical lines in a picture
+environment to be `dimension', which must be a positive length. It does
+not affect the thickness of slanted lines and circles, or the quarter
+circles drawn by `\oval' to form the corners of an oval.
+
+
+File: latex.info, Node: \makebox (picture), Next: \multiput, Prev: \linethickness, Up: picture
+
+2.6.14.7 \makebox
+.................
+
+`\makebox(width,height)[position]{...}'
+
+ The `\makebox' command for the picture environment is similar to the
+normal `\makebox' command except that you must specify a `width' and
+`height' in multiples of `\unitlength'.
+
+ The optional argument, `[position]', specifies the quadrant that
+your text appears in. You may select up to two of the following:
+
+ * `t' - Moves the item to the top of the rectangle
+
+ * `b' - Moves the item to the bottom
+
+ * `l' - Moves the item to the left
+
+ * `r' - Moves the item to the right
+
+ *Note \makebox::.
+
+
+File: latex.info, Node: \multiput, Next: \oval, Prev: \makebox (picture), Up: picture
+
+2.6.14.8 \multiput
+..................
+
+`\multiput(x coord,y coord)(delta x,delta y){number of copies}{object}'
+
+ The `\multiput' command can be used when you are putting the same
+object in a regular pattern across a picture.
+
+
+File: latex.info, Node: \oval, Next: \put, Prev: \multiput, Up: picture
+
+2.6.14.9 \oval
+..............
+
+`\oval(width,height)[portion]'
+
+ The `\oval' command produces a rectangle with rounded corners. The
+optional argument, `[portion]', allows you to select part of the oval.
+
+ * `t' - Selects the top portion
+
+ * `b' - Selects the bottom portion
+
+ * `r' - Selects the right portion
+
+ * `l' - Selects the left portion
+
+ Note that the "corners" of the oval are made with quarter circles
+with a maximum radius of 20 pt, so large "ovals" will look more like
+boxes with rounded corners.
+
+
+File: latex.info, Node: \put, Next: \shortstack, Prev: \oval, Up: picture
+
+2.6.14.10 \put
+..............
+
+`\put(x coord,y coord){ ... }'
+
+ The `\put' command places the item specified by the mandatory
+argument at the given coordinates.
+
+
+File: latex.info, Node: \shortstack, Next: \vector, Prev: \put, Up: picture
+
+2.6.14.11 \shortstack
+.....................
+
+`\shortstack[position]{... \\ ... \\ ...}'
+
+ The `\shortstack' command produces a stack of objects. The valid
+positions are:
+
+ * `r' - Moves the objects to the right of the stack
+
+ * `l' - Moves the objects to the left of the stack
+
+ * `c' - Moves the objects to the centre of the stack (default)
+
+
+File: latex.info, Node: \vector, Prev: \shortstack, Up: picture
+
+2.6.14.12 \vector
+.................
+
+`\vector(x slope,y slope){length}'
+
+ The `\vector' command draws a line with an arrow of the specified
+length and slope. The `x' and `y' values must lie between -4 and +4,
+inclusive.
+
+
+File: latex.info, Node: quotation, Next: quote, Prev: picture, Up: Environments
+
+2.6.15 quotation
+----------------
+
+ \begin{quotation}
+ text
+ \end{quotation}
+
+ The margins of the `quotation' environment are indented on the left
+and the right. The text is justified at both margins and there is
+paragraph indentation. Leaving a blank line between text produces a new
+paragraph.
+
+
+File: latex.info, Node: quote, Next: tabbing, Prev: quotation, Up: Environments
+
+2.6.16 quote
+------------
+
+ \begin{quote}
+ text
+ \end{quote}
+
+ The margins of the `quote' environment are indented on the left and
+the right. The text is justified at both margins. Leaving a blank line
+between text produces a new paragraph.
+
+
+File: latex.info, Node: tabbing, Next: table, Prev: quote, Up: Environments
+
+2.6.17 tabbing
+--------------
+
+ \begin{tabbing}
+ text \= more text \= still more text \= last text \\
+ second row \> \> more \\
+ .
+ .
+ .
+ \end{tabbing}
+
+ The `tabbing' environment provides a way to align text in columns.
+It works by setting tab stops and tabbing to them much the way you do
+with an ordinary typewriter.
+
+ It is best suited for cases where the width of each column is
+constant and known in advance.
+
+ This environment can be broken across pages, unlike the `tabular'
+environment.
+
+ The following commands can be used inside a `tabbing' enviroment:
+
+`\='
+ Sets a tab stop at the current position.
+
+`\>'
+ Advances to the next tab stop.
+
+`\<'
+ This command allows you to put something to the left of the local
+ margin without changing the margin. Can only be used at the start
+ of the line.
+
+`\+'
+ Moves the left margin of the next and all the following commands
+ one tab stop to the right.
+
+`\-'
+ Moves the left margin of the next and all the following commands
+ one tab stop to the left.
+
+`\''
+ Moves everything that you have typed so far in the current column,
+ i.e. everything from the most recent `\>', `\<', `\'', `\\', or
+ `\kill' command, to the right of the previous column, flush
+ against the current column's tab stop.
+
+`\`'
+ Allows you to put text flush right against any tab stop, including
+ tab stop 0. However, it can't move text to the right of the last
+ column because there's no tab stop there. The `\`' command moves
+ all the text that follows it, up to the `\\' or `\end{tabbing}'
+ command that ends the line, to the right margin of the tabbing
+ environment. There must be no `\>' or `\'' command between the
+ `\`' and the command that ends the line.
+
+`\kill'
+ Sets tab stops without producing text. Works just like `\\'
+ except that it throws away the current line instead of producing
+ output for it. The effect of any `\=', `\+' or `\-' commands in
+ that line remain in effect.
+
+`\pushtabs'
+ Saves all current tab stop positions. Useful for temporarily
+ changing tab stop positions in the middle of a `tabbing'
+ environment.
+
+`\poptabs'
+ Restores the tab stop positions saved by the last `\pushtabs'.
+
+`\a'
+ In a `tabbing' environment, the commands `\=', `\'' and `\`' do
+ not produce accents as normal. Instead, the commands `\a=', `\a''
+ and `\a`' are used.
+
+ This example typesets a Pascal function in a traditional format:
+
+ \begin{tabbing}
+ function \= fact(n : integer) : integer;\\
+ \> begin \= \+ \\
+ \> if \= n $>$ 1 then \+ \\
+ fact := n * fact(n-1) \- \\
+ else \+ \\
+ fact := 1; \-\- \\
+ end;\\
+ \end{tabbing}
+
+
+File: latex.info, Node: table, Next: tabular, Prev: tabbing, Up: Environments
+
+2.6.18 table
+------------
+
+ \begin{table}[placement]
+
+ body of the table
+
+ \caption{table title}
+ \end{table}
+
+ Tables are objects that are not part of the normal text, and
+are usually "floated" to a convenient place, like the top of a
+page. Tables will not be split between two pages.
+
+ The optional argument `[placement]' determines where LaTeX will try
+to place your table. There are four places where LaTeX can possibly put
+a float:
+
+ * `h' : Here - at the position in the text where the table
+ environment appears.
+
+ * `t' : Top - at the top of a text page.
+
+ * `b' : Bottom - at the bottom of a text page.
+
+ * `p' : Page of floats - on a separate float page, which is a page
+ containing no text, only floats.
+
+ The standard `report' and `article' classes use the default
+placement `[tbp]'.
+
+ The body of the table is made up of whatever text, LaTeX commands,
+etc., you wish. The `\caption' command allows you to title your table.
+
+
+File: latex.info, Node: tabular, Next: thebibliography, Prev: table, Up: Environments
+
+2.6.19 tabular
+--------------
+
+ \begin{tabular}[pos]{cols}
+ column 1 entry & column 2 entry ... & column n entry \\
+ .
+ .
+ .
+ \end{tabular}
+
+ or
+
+ \begin{tabular*}{width}[pos]{cols}
+ column 1 entry & column 2 entry ... & column n entry \\
+ .
+ .
+ .
+ \end{tabular*}
+
+ These environments produce a box consisting of a sequence of rows of
+items, aligned vertically in columns. The mandatory and optional
+arguments consist of:
+
+`width'
+ Specifies the width of the `tabular*' environment. There must be
+ rubber space between columns that can stretch to fill out the
+ specified width.
+
+`pos'
+ Specifies the vertical position; default is alignment on the
+ centre of the environment.
+
+ * `t' - align on top row
+
+ * `b' - align on bottom row
+
+`cols'
+ Specifies the column formatting. It consists of a sequence of the
+ following specifiers, corresponding to the sequence of columns and
+ intercolumn material.
+
+ * `l' - A column of left-aligned items.
+
+ * `r' - A column of right-aligned items.
+
+ * `c' - A column of centred items.
+
+ * `|' - A vertical line the full height and depth of the
+ environment.
+
+ * `@{text}' - This inserts `text' in every row. An @-expression
+ suppresses the intercolumn space normally inserted between
+ columns; any desired space between the inserted text and the
+ adjacent items must be included in text. An
+ `\extracolsep{wd}' command in an @-expression causes an extra
+ space of width `wd' to appear to the left of all subsequent
+ columns, until countermanded by another `\extracolsep'
+ command. Unlike ordinary intercolumn space, this extra space
+ is not suppressed by an @-expression. An `\extracolsep'
+ command can be used only in an @-expression in the `cols'
+ argument.
+
+ * `p{wd}' - Produces a column with each item typeset in a
+ parbox of width `wd', as if it were the argument of a
+ `\parbox[t]{wd}' command. However, a `\\' may not appear in
+ the item, except in the following situations:
+ 1. inside an environment like `minipage', `array', or
+ `tabular'.
+
+ 2. inside an explicit `\parbox'.
+
+ 3. in the scope of a `\centering', `\raggedright', or
+ `\raggedleft' declaration. The latter declarations must
+ appear inside braces or an environment when used in a
+ `p'-column element.
+
+ * `*{num}{cols}' - Equivalent to `num' copies of `cols', where
+ `num' is any positive integer and `cols' is any list of
+ column-specifiers, which may contain another `*-expression'.
+
+
+
+ These commands can be used inside a `tabular' environment:
+
+* Menu:
+
+* \cline:: Draw a horizontal line spanning some columns.
+* \hline:: Draw a horizontal line spanning all columns.
+* \multicolumn:: Make an item spanning several columns.
+* \vline:: Draw a vertical line.
+
+
+File: latex.info, Node: \cline, Next: \hline, Up: tabular
+
+2.6.19.1 \cline
+...............
+
+`\cline{i-j}'
+
+ The `\cline' command draws horizontal lines across the columns
+specified, beginning in column `i' and ending in column `j', which are
+identified in the mandatory argument.
+
+
+File: latex.info, Node: \hline, Next: \multicolumn, Prev: \cline, Up: tabular
+
+2.6.19.2 \hline
+...............
+
+The `\hline' command will draw a horizontal line the width of the
+table. It's most commonly used to draw a line at the top, bottom, and
+between the rows of the table.
+
+
+File: latex.info, Node: \multicolumn, Next: \vline, Prev: \hline, Up: tabular
+
+2.6.19.3 \multicolumn
+.....................
+
+`\multicolumn{cols}{pos}{text}'
+
+ The `\multicolumn' is used to make an entry that spans several
+columns. The first mandatory argument, `cols', specifies the number of
+columns to span. The second mandatory argument, `pos', specifies the
+formatting of the entry; `c' for centred, `l' for flushleft, `r' for
+flushright. The third mandatory argument, `text', specifies what text
+is to make up the entry.
+
+
+File: latex.info, Node: \vline, Prev: \multicolumn, Up: tabular
+
+2.6.19.4 \vline
+...............
+
+The `\vline' command will draw a vertical line extending the full
+height and depth of its row. An `\hfill' command can be used to move
+the line to the edge of the column. It can also be used in an
+@-expression.
+
+
+File: latex.info, Node: thebibliography, Next: theorem, Prev: tabular, Up: Environments
+
+2.6.20 thebibliography
+----------------------
+
+ \begin{thebibliography}{widest-label}
+ \bibitem[label]{cite_key}
+ .
+ .
+ .
+ \end{thebibliography}
+
+ The `thebibliography' environment produces a bibliography or
+reference list. In the `article' class, this reference list is
+labelled "References"; in the `report' class, it is labelled
+"Bibliography".
+
+ * `widest-label': Text that, when printed, is approximately as wide
+ as the widest item label produces by the `\bibitem' commands.
+
+* Menu:
+
+* \bibitem:: Specify a bibliography item.
+* \cite:: Refer to a bibliography item.
+* \nocite:: Include an item in the bibliography.
+* Using BibTeX:: Automatic generation of bibliographies.
+
+
+File: latex.info, Node: \bibitem, Next: \cite, Up: thebibliography
+
+2.6.20.1 \bibitem
+.................
+
+`\bibitem[label]{cite_key}'
+
+ The `\bibitem' command generates an entry labelled by `label'. If
+the `label' argument is missing, a number is generated as the `label',
+using the `enumi' counter. The `cite_key' is any sequence of letters,
+numbers, and punctuation symbols not containing a comma. This command
+writes an entry on the `.aux' file containing `cite_key' and the item's
+`label'. When this `.aux' file is read by the `\begin{document}'
+command, the item's `label' is associated with `cite_key', causing the
+reference to `cite_key' by a `\cite' command to produce the associated
+`label'.
+
+
+File: latex.info, Node: \cite, Next: \nocite, Prev: \bibitem, Up: thebibliography
+
+2.6.20.2 \cite
+..............
+
+`\cite[text]{key_list}'
+
+ The `key_list' argument is a list of citation keys. This command
+generates an in-text citation to the references associated with the keys
+in `key_list' by entries on the `.aux' file read by the
+`\begin{document}' command.
+
+ The optional `text' argument will appear after the citation, i.e.
+`\cite[p. 2]{knuth}' might produce `[Knuth, p. 2]'.
+
+
+File: latex.info, Node: \nocite, Next: Using BibTeX, Prev: \cite, Up: thebibliography
+
+2.6.20.3 \nocite
+................
+
+`\nocite{key_list}'
+
+ The `\nocite' command produces no text, but writes `key_list', which
+is a list of one or more citation keys, on the `.aux' file.
+
+
+File: latex.info, Node: Using BibTeX, Prev: \nocite, Up: thebibliography
+
+2.6.20.4 Using BibTeX
+.....................
+
+If you use the BibTeX program by Oren Patashnik (highly recommended if
+you need a bibliography of more than a couple of titles) to maintain
+your bibliography, you don't use the `thebibliography' environment.
+Instead, you include the lines
+
+ \bibliographystyle{style}
+ \bibliography{bibfile}
+
+ where `style' refers to a file `style.bst', which defines how your
+citations will look. The standard styles distributed with BibTeX are:
+
+`alpha'
+ Sorted alphabetically. Labels are formed from name of author and
+ year of publication.
+
+`plain'
+ Sorted alphabetically. Labels are numeric.
+
+`unsrt'
+ Like `plain', but entries are in order of citation.
+
+`abbrv'
+ Like `plain', but more compact labels.
+
+ In addition, numerous other BibTeX style files exist tailored to the
+demands of various publications.
+
+ The argument to `\bibliography' refers to the file `bibfile.bib',
+which should contain your database in BibTeX format. Only the entries
+referred to via `\cite' and `\nocite' will be listed in the
+bibliography.
+
+
+File: latex.info, Node: theorem, Next: titlepage, Prev: thebibliography, Up: Environments
+
+2.6.21 theorem
+--------------
+
+ \begin{theorem}
+ theorem text
+ \end{theorem}
+
+ The `theorem' environment produces "Theorem x" in boldface followed
+by your theorem text.
+
+
+File: latex.info, Node: titlepage, Next: verbatim, Prev: theorem, Up: Environments
+
+2.6.22 titlepage
+----------------
+
+ \begin{titlepage}
+ text
+ \end{titlepage}
+
+ The `titlepage' environment creates a title page, i.e. a page with
+no printed page number or heading. It also causes the following page
+to be numbered page one. Formatting the title page is left to you. The
+`\today' command comes in handy for title pages.
+
+ Note that you can use the `\maketitle' (*note \maketitle::) command
+to produce a standard title page.
+
+
+File: latex.info, Node: verbatim, Next: verse, Prev: titlepage, Up: Environments
+
+2.6.23 verbatim
+---------------
+
+ \begin{verbatim}
+ text
+ \end{verbatim}
+
+ The `verbatim' environment is a paragraph-making environment that
+gets LaTeX to print exactly what you type in. It turns LaTeX into a
+typewriter with carriage returns and blanks having the same effect that
+they would on a typewriter.
+
+* Menu:
+
+* \verb:: The macro form of the `verbatim' environment.
+
+
+File: latex.info, Node: \verb, Up: verbatim
+
+2.6.23.1 \verb
+..............
+
+`\verb char literal_text char'
+
+ `\verb*char literal_text char'
+
+ Typesets `literal_text' exactly as typed, including special
+characters and spaces, using a typewriter (`\tt') type style. There
+may be no space between `\verb' or `\verb*' and `char' (space is shown
+here only for clarity). The `*-form' differs only in that spaces are
+printed as a special character.
+
+
+File: latex.info, Node: verse, Prev: verbatim, Up: Environments
+
+2.6.24 verse
+------------
+
+ \begin{verse}
+ text
+ \end{verse}
+
+ The `verse' environment is designed for poetry, though you may find
+other uses for it.
+
+ The margins are indented on the left and the right. Separate the
+lines of each stanza with `\\', and use one or more blank lines to
+separate the stanzas.
+
+
+File: latex.info, Node: Footnotes, Next: Layout, Prev: Environments, Up: Commands
+
+2.7 Footnotes
+=============
+
+Footnotes can be produced in one of two ways. They can be produced
+with one command, the `\footnote' command. They can also be produced
+with two commands, the `\footnotemark' and the `\footnotetext'
+commands. See the specific command for information on why you would
+use one over the other.
+
+* Menu:
+
+* \footnote:: Insert a footnote.
+* \footnotemark:: Insert footnote mark only.
+* \footnotetext:: Insert footnote text only.
+
+
+File: latex.info, Node: \footnote, Next: \footnotemark, Prev: Footnotes, Up: Footnotes
+
+2.7.1 \footnote
+---------------
+
+`\footnote[number]{text}'
+
+ The `\footnote' command places the numbered footnote `text' at the
+bottom of the current page. The optional argument, `number', is used
+to change the default footnote number. This command can only be used
+in outer paragraph mode; i.e., you cannot use it in sectioning commands
+like `\chapter', in figures, tables or in a `tabular' environment.
+
+
+File: latex.info, Node: \footnotemark, Next: \footnotetext, Prev: \footnote, Up: Footnotes
+
+2.7.2 \footnotemark
+-------------------
+
+The `\footnotemark' command puts the footnote `number' in the text.
+This command can be used in inner paragraph mode. The text of the
+footnote is supplied by the `\footnotetext' command.
+
+ This command can be used to produce several consecutive footnote
+markers referring to the same footnote by using
+
+ `\footnotemark[\value{footnote}]'
+
+ after the first `\footnote' command.
+
+
+File: latex.info, Node: \footnotetext, Prev: \footnotemark, Up: Footnotes
+
+2.7.3 \footnotetext
+-------------------
+
+`\footnotetext[number]{text}'
+
+ The `\footnotetext' command produces the `text' to be placed at the
+bottom of the page. This command can come anywhere after the
+`\footnotemark' command. The `\footnotetext' command must appear in
+outer paragraph mode.
+
+ The optional argument, `number', is used to change the default
+footnote number.
+
+
+File: latex.info, Node: Lengths, Next: Letters, Prev: Layout, Up: Commands
+
+2.8 Lengths
+===========
+
+A `length' is a measure of distance. Many LaTeX commands take a length
+as an argument.
+
+* Menu:
+
+* \newlength:: Define a new length.
+* \setlength:: Set the value of a length.
+* \addtolength:: Add a quantity to a length.
+* \settodepth:: Set a length to the depth of something.
+* \settoheight:: Set a length to the height of something.
+* \settowidth:: Set a length to the width of something.
+* Predefined lengths:: Lengths that are, like, predefined.
+
+
+File: latex.info, Node: \newlength, Next: \setlength, Prev: Lengths, Up: Lengths
+
+2.8.1 \newlength
+----------------
+
+`\newlength{\gnat}'
+
+ The `\newlength' command defines the mandatory argument, `\gnat', as
+a `length' command with a value of `0in'. An error occurs if a `\gnat'
+command already exists.
+
+
+File: latex.info, Node: \setlength, Next: \addtolength, Prev: \newlength, Up: Lengths
+
+2.8.2 \setlength
+----------------
+
+`\setlength{\gnat}{length}'
+
+ The `\setlength' command is used to set the value of a `length'
+command. The `length' argument can be expressed in any terms of length
+LaTeX understands, i.e., inches (`in'), millimetres (`mm'), points
+(`pt'), etc.
+
+
+File: latex.info, Node: \addtolength, Next: \settodepth, Prev: \setlength, Up: Lengths
+
+2.8.3 \addtolength
+------------------
+
+`\addtolength{\gnat}{length}'
+
+ The `\addtolength' command increments a "length command" by the
+amount specified in the `length' argument. It can be a negative amount.
+
+
+File: latex.info, Node: \settodepth, Next: \settoheight, Prev: \addtolength, Up: Lengths
+
+2.8.4 \settodepth
+-----------------
+
+`\settodepth{\gnat}{text}'
+
+ The `\settodepth' command sets the value of a `length' command equal
+to the depth of the `text' argument.
+
+
+File: latex.info, Node: \settoheight, Next: \settowidth, Prev: \settodepth, Up: Lengths
+
+2.8.5 \settoheight
+------------------
+
+`\settoheight{\gnat}{text}'
+
+ The `\settoheight' command sets the value of a `length' command
+equal to the height of the `text' argument.
+
+
+File: latex.info, Node: \settowidth, Next: Predefined lengths, Prev: \settoheight, Up: Lengths
+
+2.8.6 \settowidth
+-----------------
+
+`\settowidth{\gnat}{text}'
+
+ The `\settowidth' command sets the value of a `length' command equal
+to the width of the `text' argument.
+
+
+File: latex.info, Node: Predefined lengths, Prev: \settowidth, Up: Lengths
+
+2.8.7 Predefined lengths
+------------------------
+
+`\width'
+
+ `\height'
+
+ `\depth'
+
+ `\totalheight'
+
+ These length parameters can be used in the arguments of the
+box-making commands *Note Spaces & Boxes::. They specify the natural
+width etc. of the text in the box. `\totalheight' equals `\height' +
+`\depth'. To make a box with the text stretched to double the natural
+size, e.g., say
+
+ `\makebox[2\width]{Get a stretcher}'
+
+
+File: latex.info, Node: Letters, Next: Line & Page Breaking, Prev: Lengths, Up: Commands
+
+2.9 Letters
+===========
+
+You can use LaTeX to typeset letters, both personal and business. The
+`letter' document class is designed to make a number of letters at
+once, although you can make just one if you so desire.
+
+ Your `.tex' source file has the same minimum commands as the other
+document classes, i.e., you must have the following commands as a
+minimum:
+
+ \documentclass{letter}
+ \begin{document}
+ ... letters ...
+ \end{document}
+
+ Each letter is a `letter' environment, whose argument is the name
+and address of the recipient. For example, you might have:
+
+ \begin{letter}{Mr. Joe Smith\\ 2345 Princess St.
+ \\ Edinburgh, EH1 1AA}
+ ...
+ \end{letter}
+
+ The letter itself begins with the `\opening' command. The text of
+the letter follows. It is typed as ordinary LaTeX input. Commands that
+make no sense in a letter, like `\chapter', do not work. The letter
+closes with a `\closing' command.
+
+ After the `closing', you can have additional material. The `\cc'
+command produces the usual "cc: ...". There's also a similar `\encl'
+command for a list of enclosures. With both these commands, use `\\' to
+separate the items.
+
+ These commands are used with the `letter' class:
+
+* Menu:
+
+* \address:: Your return address.
+* \cc:: Cc list.
+* \closing:: Saying goodbye.
+* \encl:: List of enclosed material.
+* \location:: Your organisation's address.
+* \makelabels:: Making address labels.
+* \name:: Your name, for the return address.
+* \opening:: Saying hello.
+* \ps:: Adding a postscript.
+* \signature:: Your signature.
+* \startbreaks:: Allow page breaks.
+* \stopbreaks:: Disallow page breaks.
+* \telephone:: Your phone number.
+
+
+File: latex.info, Node: \address, Next: \cc, Prev: Letters, Up: Letters
+
+2.9.1 \address
+--------------
+
+`\address{Return address}'
+
+ The return address, as it should appear on the letter and the
+envelope. Separate lines of the address should be separated by `\\'
+commands. If you do not make an `\address' declaration, then the
+letter will be formatted for copying onto your organisation's standard
+letterhead. (*Note Overview::, for details on your local
+implementation). If you give an `\address' declaration, then the
+letter will be formatted as a personal letter.
+
+
+File: latex.info, Node: \cc, Next: \closing, Prev: \address, Up: Letters
+
+2.9.2 \cc
+---------
+
+`\cc{Kate Schechter\\Rob McKenna}'
+
+ Generate a list of other persons the letter was sent to. Each name is
+printed on a separate line.
+
+
+File: latex.info, Node: \closing, Next: \encl, Prev: \cc, Up: Letters
+
+2.9.3 \closing
+--------------
+
+`\closing{text}'
+
+ The letter closes with a `\closing' command, i.e.,
+ \closing{Best Regards,}
+
+
+File: latex.info, Node: \encl, Next: \location, Prev: \closing, Up: Letters
+
+2.9.4 \encl
+-----------
+
+`\encl{CV\\Certificates}'
+
+ Generate a list of enclosed material.
+
+
+File: latex.info, Node: \location, Next: \makelabels, Prev: \encl, Up: Letters
+
+2.9.5 \location
+---------------
+
+`\location{address}'
+
+ This modifies your organisation's standard address. This only
+appears if the `firstpage' pagestyle is selected.
+
+
+File: latex.info, Node: \makelabels, Next: \name, Prev: \location, Up: Letters
+
+2.9.6 \makelabels
+-----------------
+
+`\makelabels{number}'
+
+ If you issue this command in the preamble, LaTeX will create a sheet
+of address labels. This sheet will be output before the letters.
+
+
+File: latex.info, Node: \name, Next: \opening, Prev: \makelabels, Up: Letters
+
+2.9.7 \name
+-----------
+
+`\name{June Davenport}'
+
+ Your name, used for printing on the envelope together with the return
+address.
+
+
+File: latex.info, Node: \opening, Next: \ps, Prev: \name, Up: Letters
+
+2.9.8 \opening
+--------------
+
+`\opening{text}'
+
+ The letter begins with the `\opening' command. The mandatory
+argument, `text', is whatever text you wish to start your letter, i.e.,
+ \opening{Dear Joe,}
+
+
+File: latex.info, Node: \ps, Next: \signature, Prev: \opening, Up: Letters
+
+2.9.9 \ps
+---------
+
+`\ps'
+
+ Use this command before a postscript.
+
+
+File: latex.info, Node: \signature, Next: \startbreaks, Prev: \ps, Up: Letters
+
+2.9.10 \signature
+-----------------
+
+`\signature{Harvey Swick}'
+
+ Your name, as it should appear at the end of the letter underneath
+the space for your signature. Items that should go on separate lines
+should be separated by `\\' commands.
+
+
+File: latex.info, Node: \startbreaks, Next: \stopbreaks, Prev: \signature, Up: Letters
+
+2.9.11 \startbreaks
+-------------------
+
+`\startbreaks'
+
+ Used after a `\stopbreaks' command to allow page breaks again.
+
+
+File: latex.info, Node: \stopbreaks, Next: \telephone, Prev: \startbreaks, Up: Letters
+
+2.9.12 \stopbreaks
+------------------
+
+`\stopbreaks'
+
+ Inhibit page breaks until a `\startbreaks' command occurs.
+
+
+File: latex.info, Node: \telephone, Prev: \stopbreaks, Up: Letters
+
+2.9.13 \telephone
+-----------------
+
+`\telephone{number}'
+
+ This is your telephone number. This only appears if the `firstpage'
+pagestyle is selected.
+
+
+File: latex.info, Node: Line & Page Breaking, Next: Making Paragraphs, Prev: Letters, Up: Commands
+
+2.10 Line & Page Breaking
+=========================
+
+The first thing LaTeX does when processing ordinary text is to
+translate your input file into a string of glyphs and spaces. To
+produce a printed document, this string must be broken into lines, and
+these lines must be broken into pages. In some environments, you do the
+line breaking yourself with the `\\' command, but LaTeX usually does it
+for you.
+
+* Menu:
+
+* \\:: Start a new line.
+* \- (hyphenation):: Insert explicit hyphenation.
+* \cleardoublepage:: Start a new right-hand page.
+* \clearpage:: Start a new page.
+* \enlargethispage:: Enlarge the current page a bit.
+* \fussy:: Be fussy about line breaking.
+* \hyphenation:: Tell LaTeX how to hyphenate a word.
+* \linebreak:: Break the line.
+* \newline:: Break the line prematurely.
+* \newpage:: Start a new page.
+* \nolinebreak:: Don't break the current line.
+* \nopagebreak:: Don't make a page break here.
+* \pagebreak:: Please make a page break here.
+* \sloppy:: Be sloppy about line breaking.
+
+
+File: latex.info, Node: \\, Next: \- (hyphenation), Prev: Line & Page Breaking, Up: Line & Page Breaking
+
+2.10.1 \\
+---------
+
+`\\[*][extra-space]'
+
+ The `\\' command tells LaTeX to start a new line. It has an
+optional argument, `extra-space', that specifies how much extra
+vertical space is to be inserted before the next line. This can be a
+negative amount.
+
+ The `\\*' command is the same as the ordinary `\\' command except
+that it tells LaTeX not to start a new page after the line.
+
+
+File: latex.info, Node: \- (hyphenation), Next: \cleardoublepage, Prev: \\, Up: Line & Page Breaking
+
+2.10.2 \-
+---------
+
+The `\-' command tells LaTeX that it may hyphenate the word at that
+point. LaTeX is very good at hyphenating, and it will usually find all
+correct hyphenation points. The `\-' command is used for the
+exceptional cases.
+
+ Note that when you insert `\-' commands in a word, the word will
+only be hyphenated at those points and not at any of the hyphenation
+points that LaTeX might otherwise have chosen.
+
+
+File: latex.info, Node: \cleardoublepage, Next: \clearpage, Prev: \- (hyphenation), Up: Line & Page Breaking
+
+2.10.3 \cleardoublepage
+-----------------------
+
+The `\cleardoublepage' command ends the current page and causes all
+figures and tables that have so far appeared in the input to be printed.
+In a two-sided printing style, it also makes the next page a right-hand
+(odd-numbered) page, producing a blank page if necessary.
+
+
+File: latex.info, Node: \clearpage, Next: \enlargethispage, Prev: \cleardoublepage, Up: Line & Page Breaking
+
+2.10.4 \clearpage
+-----------------
+
+The `\clearpage' command ends the current page and causes all figures
+and tables that have so far appeared in the input to be printed.
+
+
+File: latex.info, Node: \enlargethispage, Next: \fussy, Prev: \clearpage, Up: Line & Page Breaking
+
+2.10.5 \enlargethispage
+-----------------------
+
+`\enlargethispage{size}'
+
+ `\enlargethispage*{size}'
+
+ Enlarge the `\textheight' for the current page by the specified
+amount; e.g. `\enlargethispage{\baselineskip}' will allow one
+additional line.
+
+ The starred form tries to squeeze the material together on the page
+as much as possible. This is normally used together with an explicit
+`\pagebreak'.
+
+
+File: latex.info, Node: \fussy, Next: \hyphenation, Prev: \enlargethispage, Up: Line & Page Breaking
+
+2.10.6 \fussy
+-------------
+
+`\fussy'
+
+ This declaration (which is the default) makes TeX more fussy about
+line breaking. This can avoids too much space between words, but may
+produce overfull boxes.
+
+ This command cancels the effect of a previous `\sloppy' command.
+*Note \sloppy::
+
+
+File: latex.info, Node: \hyphenation, Next: \linebreak, Prev: \fussy, Up: Line & Page Breaking
+
+2.10.7 \hyphenation
+-------------------
+
+`\hyphenation{words}'
+
+ The `\hyphenation' command declares allowed hyphenation points,
+where `words' is a list of words, separated by spaces, in which each
+hyphenation point is indicated by a `-' character.
+
+
+File: latex.info, Node: \linebreak, Next: \newline, Prev: \hyphenation, Up: Line & Page Breaking
+
+2.10.8 \linebreak
+-----------------
+
+`\linebreak[number]'
+
+ The `\linebreak' command tells LaTeX to break the current line at
+the point of the command. With the optional argument, `number', you
+can convert the `\linebreak' command from a demand to a request. The
+number must be a number from 0 to 4. The higher the number, the more
+insistent the request is.
+
+ The `\linebreak' command causes LaTeX to stretch the line so it
+extends to the right margin.
+
+
+File: latex.info, Node: \newline, Next: \newpage, Prev: \linebreak, Up: Line & Page Breaking
+
+2.10.9 \newline
+---------------
+
+The `\newline' command breaks the line right where it is. It can only
+be used in paragraph mode.
+
+
+File: latex.info, Node: \newpage, Next: \nolinebreak, Prev: \newline, Up: Line & Page Breaking
+
+2.10.10 \newpage
+----------------
+
+The `\newpage' command ends the current page.
+
+
+File: latex.info, Node: \nolinebreak, Next: \nopagebreak, Prev: \newpage, Up: Line & Page Breaking
+
+2.10.11 \nolinebreak
+--------------------
+
+`\nolinebreak[number]'
+
+ The `\nolinebreak' command prevents LaTeX from breaking the current
+line at the point of the command. With the optional argument,
+`number', you can convert the `\nolinebreak' command from a demand to a
+request. The number must be a number from 0 to 4. The higher the
+number, the more insistent the request is.
+
+
+File: latex.info, Node: \nopagebreak, Next: \pagebreak, Prev: \nolinebreak, Up: Line & Page Breaking
+
+2.10.12 \nopagebreak
+--------------------
+
+`\nopagebreak[number]'
+
+ The `\nopagebreak' command prevents LaTeX from breaking the current
+page at the point of the command. With the optional argument,
+`number', you can convert the `\nopagebreak' command from a demand to a
+request. The number must be a number from 0 to 4. The higher the
+number, the more insistent the request is.
+
+
+File: latex.info, Node: \pagebreak, Next: \sloppy, Prev: \nopagebreak, Up: Line & Page Breaking
+
+2.10.13 \pagebreak
+------------------
+
+`\pagebreak[number]'
+
+ The `\pagebreak' command tells LaTeX to break the current page at
+the point of the command. With the optional argument, `number', you
+can convert the `\pagebreak' command from a demand to a request. The
+number must be a number from 0 to 4. The higher the number, the more
+insistent the request is.
+
+
+File: latex.info, Node: \sloppy, Prev: \pagebreak, Up: Line & Page Breaking
+
+2.10.14 \sloppy
+---------------
+
+`\sloppy'
+
+ This declaration makes TeX less fussy about line breaking. This can
+prevent overfull boxes, but may leave too much space between words.
+
+ Lasts until a `\fussy' command is issued. *Note \fussy::.
+
+
+File: latex.info, Node: Making Paragraphs, Next: Margin Notes, Prev: Line & Page Breaking, Up: Commands
+
+2.11 Making Paragraphs
+======================
+
+A paragraph is ended by one or more completely blank lines -- lines not
+containing even a `%'. A blank line should not appear where a new
+paragraph cannot be started, such as in math mode or in the argument of
+a sectioning command.
+
+* Menu:
+
+* \indent:: Indent this paragraph.
+* \noindent:: Do not indent this paragraph.
+* \par:: Another way of writing a blank line.
+
+
+File: latex.info, Node: \indent, Next: \noindent, Prev: Making Paragraphs, Up: Making Paragraphs
+
+2.11.1 \indent
+--------------
+
+`\indent'
+
+ This produces a horizontal space whose width equals the width of the
+paragraph indentation. It is used to add paragraph indentation where it
+would otherwise be suppressed.
+
+
+File: latex.info, Node: \noindent, Next: \par, Prev: \indent, Up: Making Paragraphs
+
+2.11.2 \noindent
+----------------
+
+`\noindent'
+
+ When used at the beginning of the paragraph, it suppresses the
+paragraph indentation. It has no effect when used in the middle of a
+paragraph.
+
+
+File: latex.info, Node: \par, Prev: \noindent, Up: Making Paragraphs
+
+2.11.3 \par
+-----------
+
+Equivalent to a blank line; often used to make command or environment
+definitions easier to read.
+
+
+File: latex.info, Node: Margin Notes, Next: Math Formulae, Prev: Making Paragraphs, Up: Commands
+
+2.12 Margin Notes
+=================
+
+The command `\marginpar[left]{right}' creates a note in the margin.
+The first line will be at the same height as the line in the text where
+the `\marginpar' occurs.
+
+ When you only specify the mandatory argument `right', the text will
+be placed
+
+ * in the right margin for one-sided layout
+
+ * in the outside margin for two-sided layout
+
+ * in the nearest margin for two-column layout.
+
+ By issuing the command `\reversemarginpar', you can force the
+marginal notes to go into the opposite (inside) margin.
+
+ When you specify both arguments, `left' is used for the left margin,
+and `right' is used for the right margin.
+
+ The first word will normally not be hyphenated; you can enable
+hyphenation by prefixing the first word with a `\hspace{0pt}' command.
+
+
+File: latex.info, Node: Math Formulae, Next: Modes, Prev: Margin Notes, Up: Commands
+
+2.13 Math Formulae
+==================
+
+There are three environments that put LaTeX in math mode:
+
+`math'
+ For Formulae that appear right in the text.
+
+`displaymath'
+ For Formulae that appear on their own line.
+
+`equation'
+ The same as the displaymath environment except that it adds an
+ equation number in the right margin.
+
+ The `math' environment can be used in both paragraph and LR mode,
+but the `displaymath' and `equation' environments can be used only in
+paragraph mode. The `math' and `displaymath' environments are used so
+often that they have the following short forms:
+
+ \(...\) instead of \begin{math}...\end{math}
+
+ \[...\] instead of \begin{displaymath}...\end{displaymath}
+
+ In fact, the `math' environment is so common that it has an even
+shorter form:
+
+ $ ... $ instead of \(...\)
+
+* Menu:
+
+* Subscripts & Superscripts:: Also known as exponent or index.
+* Math Symbols:: Various mathematical squiggles.
+* Spacing in Math Mode:: Thick, medium, thin and negative spaces.
+* Math Miscellany:: Stuff that doesn't fit anywhere else.
+
+
+File: latex.info, Node: Subscripts & Superscripts, Next: Math Symbols, Prev: Math Formulae, Up: Math Formulae
+
+2.13.1 Subscripts & Superscripts
+--------------------------------
+
+To get an expression exp to appear as a subscript, you just type
+`_{'exp`}'. To get exp to appear as a superscript, you type
+`^{'exp`}'. LaTeX handles superscripted superscripts and all of that
+stuff in the natural way. It even does the right thing when something
+has both a subscript and a superscript.
+
+
+File: latex.info, Node: Math Symbols, Next: Spacing in Math Mode, Prev: Subscripts & Superscripts, Up: Math Formulae
+
+2.13.2 Math Symbols
+-------------------
+
+LaTeX provides almost any mathematical symbol you're likely to need. The
+commands for generating them can be used only in math mode. For
+example, if you include `$\pi$' in your source, you will get the symbol
+"pi" in your output.
+
+
+File: latex.info, Node: Spacing in Math Mode, Next: Math Miscellany, Prev: Math Symbols, Up: Math Formulae
+
+2.13.3 Spacing in Math Mode
+---------------------------
+
+In a `math' environment, LaTeX ignores the spaces you type and puts in
+the spacing that it thinks is best. LaTeX formats mathematics the way
+it's done in mathematics texts. If you want different spacing, LaTeX
+provides the following four commands for use in math mode:
+
+ 1. `\;' - a thick space
+
+ 2. `\:' - a medium space
+
+ 3. `\,' - a thin space
+
+ 4. `\!' - a negative thin space
+
+
+File: latex.info, Node: Math Miscellany, Prev: Spacing in Math Mode, Up: Math Formulae
+
+2.13.4 Math Miscellany
+----------------------
+
+`\cdots'
+ Produces a horizontal ellipsis where the dots are raised to the
+ centre of the line.
+
+`\ddots'
+ Produces a diagonal ellipsis.
+
+`\frac{num}{den}'
+ Produces the fraction `num' divided by `den'.
+
+`\ldots'
+ Produces an ellipsis. This command works in any mode, not just
+ math mode.
+
+`\overbrace{text}'
+ Generates a brace over text.
+
+`\overline{text}'
+ Causes the argument text to be overlined.
+
+`\sqrt[root]{arg}'
+ Produces the square root of its argument. The optional argument,
+ `root', determines what root to produce, i.e., the cube root of
+ `x+y' would be typed as `$\sqrt[3]{x+y}$'.
+
+`\underbrace{text}'
+ Generates text with a brace underneath.
+
+`\underline{text}'
+ Causes the argument text to be underlined. This command can also
+ be used in paragraph and LR modes.
+
+`\vdots'
+ Produces a vertical ellipsis.
+
+
+
+File: latex.info, Node: Modes, Next: Page Styles, Prev: Math Formulae, Up: Commands
+
+2.14 Modes
+==========
+
+When LaTeX is processing your input text, it is always in one of three
+modes:
+
+ * Paragraph mode
+
+ * Math mode
+
+ * Left-to-right mode, called LR mode for short
+
+ LaTeX changes mode only when it goes up or down a staircase to a
+different level, though not all level changes produce mode changes.
+Mode changes occur only when entering or leaving an environment, or when
+LaTeX is processing the argument of certain text-producing commands.
+
+ "Paragraph mode" is the most common; it's the one LaTeX is in when
+processing ordinary text. In that mode, LaTeX breaks your text into
+lines and breaks the lines into pages. LaTeX is in "math mode" when
+it's generating a mathematical formula. In "LR mode", as in paragraph
+mode, LaTeX considers the output that it produces to be a string of
+words with spaces between them. However, unlike paragraph mode, LaTeX
+keeps going from left to right; it never starts a new line in LR mode.
+Even if you put a hundred words into an `\mbox', LaTeX would keep
+typesetting them from left to right inside a single box, and then
+complain because the resulting box was too wide to fit on the line.
+
+ LaTeX is in LR mode when it starts making a box with an `\mbox'
+command. You can get it to enter a different mode inside the box - for
+example, you can make it enter math mode to put a formula in the box.
+There are also several text-producing commands and environments for
+making a box that put LaTeX in paragraph mode. The box make by one of
+these commands or environments will be called a `parbox'. When LaTeX
+is in paragraph mode while making a box, it is said to be in "inner
+paragraph mode". Its normal paragraph mode, which it starts out in, is
+called "outer paragraph mode".
+
+
+File: latex.info, Node: Page Styles, Next: Sectioning, Prev: Modes, Up: Commands
+
+2.15 Page Styles
+================
+
+The `\documentclass' command determines the size and position of the
+page's head and foot. The page style determines what goes in them.
+
+* Menu:
+
+* \maketitle:: Generate a title page.
+* \pagenumbering:: Set the style used for page numbers.
+* \pagestyle:: Change the headings/footings style.
+* \thispagestyle:: Change the headings/footings style for this page.
+
+
+File: latex.info, Node: \maketitle, Next: \pagenumbering, Prev: Page Styles, Up: Page Styles
+
+2.15.1 \maketitle
+-----------------
+
+`\maketitle'
+
+ The `\maketitle' command generates a title on a separate title page
+- except in the `article' class, where the title normally goes at the
+top of the first page. Information used to produce the title is
+obtained from the following declarations:
+
+ *Note Page Styles::, for the commands to give the information.
+
+* Menu:
+
+* \author:: Who wrote this stuff?
+* \date:: The date the document was created.
+* \thanks:: A special form of footnote.
+* \title:: How to set the document title.
+
+
+File: latex.info, Node: \author, Next: \date, Prev: \maketitle, Up: \maketitle
+
+2.15.2 \author
+--------------
+
+`\author{names}'
+
+ The `\author' command declares the author(s), where `names' is a
+list of authors separated by `\and' commands. Use `\\' to separate
+lines within a single author's entry - for example, to give the
+author's institution or address.
+
+
+File: latex.info, Node: \date, Next: \thanks, Prev: \author, Up: \maketitle
+
+2.15.3 \date
+------------
+
+`\date{text}'
+
+ The `\date' command declares text to be the document's date. With
+no `\date' command, the current date is used.
+
+
+File: latex.info, Node: \thanks, Next: \title, Prev: \date, Up: \maketitle
+
+2.15.4 \thanks
+--------------
+
+`\thanks{text}'
+
+ The `\thanks' command produces a `\footnote' to the title.
+
+
+File: latex.info, Node: \title, Prev: \thanks, Up: \maketitle
+
+2.15.5 \title
+-------------
+
+`\title{text}'
+
+ The `\title' command declares `text' to be the title. Use `\\' to
+tell LaTeX where to start a new line in a long title.
+
+
+File: latex.info, Node: \pagenumbering, Next: \pagestyle, Prev: \maketitle, Up: Page Styles
+
+2.15.6 \pagenumbering
+---------------------
+
+`\pagenumbering{num_style}'
+
+ Specifies the style of page numbers. Possible values of `num_style'
+are:
+
+ * `arabic' - Arabic numerals
+
+ * `roman' - Lowercase Roman numerals
+
+ * `Roman' - Uppercase Roman numerals
+
+ * `alph' - Lowercase letters
+
+ * `Alph' - Uppercase letters
+
+
+File: latex.info, Node: \pagestyle, Next: \thispagestyle, Prev: \pagenumbering, Up: Page Styles
+
+2.15.7 \pagestyle
+-----------------
+
+`\pagestyle{option}'
+
+ The `\pagestyle' command changes the style from the current page on
+throughout the remainder of your document.
+
+ The valid options are:
+
+ * `plain' - Just a plain page number.
+
+ * `empty' - Produces empty heads and feet - no page numbers.
+
+ * `headings' - Puts running headings on each page. The document
+ style specifies what goes in the headings.
+
+ * `myheadings' - You specify what is to go in the heading with the
+ `\markboth' or the `\markright' commands.
+
+* Menu:
+
+* \markboth:: Set left and right headings.
+* \markright:: Set right heading only.
+
+
+File: latex.info, Node: \markboth, Next: \markright, Prev: \pagestyle, Up: \pagestyle
+
+2.15.8 \markboth
+----------------
+
+ \markboth{left head}{right head}
+
+ The `\markboth' command is used in conjunction with the page style
+`myheadings' for setting both the left and the right heading. You
+should note that a "left-hand heading" is generated by the last
+`\markboth' command before the end of the page, while a "right-hand
+heading" is generated by the first `\markboth' or `\markright' that
+comes on the page if there is one, otherwise by the last one before the
+page.
+
+
+File: latex.info, Node: \markright, Prev: \markboth, Up: \pagestyle
+
+2.15.9 \markright
+-----------------
+
+ \markright{right head}
+
+ The `\markright' command is used in conjunction with the page style
+`myheadings' for setting the right heading, leaving the left heading
+unchanged. You should note that a "left-hand heading" is generated by
+the last `\markboth' command before the end of the page, while a
+"right-hand heading" is generated by the first `\markboth' or
+`\markright' that comes on the page if there is one, otherwise by the
+last one before the page.
+
+
+File: latex.info, Node: \thispagestyle, Prev: \pagestyle, Up: Page Styles
+
+2.15.10 \thispagestyle
+----------------------
+
+`\thispagestyle{option}'
+
+ The `\thispagestyle' command works in the same manner as the
+`\pagestyle' command except that it changes the style for the current
+page only.
+
+
+File: latex.info, Node: Sectioning, Next: Spaces & Boxes, Prev: Page Styles, Up: Commands
+
+2.16 Sectioning
+===============
+
+Sectioning commands provide the means to structure your text into units.
+
+ * `\part'
+
+ * `\chapter' (report and book class only)
+
+ * `\section'
+
+ * `\subsection'
+
+ * `\subsubsection'
+
+ * `\paragraph'
+
+ * `\subparagraph'
+
+ All sectioning commands take the same general form, i.e.,
+
+ `\chapter[optional]{title}'
+
+ In addition to providing the heading in the text, the mandatory
+argument of the sectioning command can appear in two other places:
+
+ 1. The table of contents
+
+ 2. The running head at the top of the page
+
+ You may not want the same thing to appear in these other two places
+as appears in the text heading. To handle this situation, the
+sectioning commands have an `optional' argument that provides the text
+for these other two purposes.
+
+ All sectioning commands have `*'-forms that print a title, but do
+not include a number and do not make an entry in the table of contents.
+
+ `\appendix'
+
+ The `\appendix' command changes the way sectional units are
+numbered. The `\appendix' command generates no text and does not
+affect the numbering of parts. The normal use of this command is
+something like
+
+ \chapter{The First Chapter}
+ ...
+ \appendix
+ \chapter{The First Appendix}
+
+
+File: latex.info, Node: Spaces & Boxes, Next: Special Characters, Prev: Sectioning, Up: Commands
+
+2.17 Spaces & Boxes
+===================
+
+All the predefined length parameters (*note Predefined lengths::) can be
+used in the arguments of the box-making commands.
+
+* Menu:
+
+Horizontal space
+* \dotfill:: Stretchable horizontal dots.
+* \hfill:: Stretchable horizontal space.
+* \hrulefill:: Stretchable horizontal rule.
+* \hspace:: Fixed horizontal space.
+Vertical space
+* \addvspace:: Fixed vertical space.
+* \bigskip:: Fixed vertical space.
+* \medskip:: Fixed vertical space.
+* \smallskip:: Fixed vertical space.
+* \vfill:: Stretchable vertical space.
+* \vspace:: Fixed vertical space.
+Boxes
+* \fbox:: Framebox.
+* \framebox:: Framebox, adjustable position.
+* lrbox:: An environment like \sbox.
+* \makebox:: Box, adjustable position.
+* \mbox:: Box.
+* \newsavebox:: Declare a name for saving a box.
+* \parbox:: Box with text in paragraph mode.
+* \raisebox:: Raise or lower text.
+* \rule:: Lines and squares.
+* \savebox:: Like \makebox, but save the text for later use.
+* \sbox:: Like \mbox, but save the text for later use.
+* \usebox:: Print saved text.
+
+
+File: latex.info, Node: \dotfill, Next: \hfill, Up: Spaces & Boxes
+
+2.17.1 \dotfill
+---------------
+
+The `\dotfill' command produces a "rubber length" that produces dots
+instead of just spaces.
+
+
+File: latex.info, Node: \hfill, Next: \hrulefill, Prev: \dotfill, Up: Spaces & Boxes
+
+2.17.2 \hfill
+-------------
+
+The `\hfill' fill command produces a "rubber length" which can stretch
+or shrink horizontally. It will be filled with spaces.
+
+
+File: latex.info, Node: \hrulefill, Next: \hspace, Prev: \hfill, Up: Spaces & Boxes
+
+2.17.3 \hrulefill
+-----------------
+
+The `\hrulefill' fill command produces a "rubber length" which can
+stretch or shrink horizontally. It will be filled with a horizontal
+rule.
+
+
+File: latex.info, Node: \hspace, Next: \addvspace, Prev: \hrulefill, Up: Spaces & Boxes
+
+2.17.4 \hspace
+--------------
+
+`\hspace[*]{length}'
+
+ The `\hspace' command adds horizontal space. The length of the
+space can be expressed in any terms that LaTeX understands, i.e.,
+points, inches, etc. You can add negative as well as positive space
+with an `\hspace' command. Adding negative space is like backspacing.
+
+ LaTeX removes horizontal space that comes at the end of a line. If
+you don't want LaTeX to remove this space, include the optional `*'
+argument. Then the space is never removed.
+
+
+File: latex.info, Node: \addvspace, Next: \bigskip, Prev: \hspace, Up: Spaces & Boxes
+
+2.17.5 \addvspace
+-----------------
+
+`\addvspace{length}'
+
+ The `\addvspace' command normally adds a vertical space of height
+length. However, if vertical space has already been added to the same
+point in the output by a previous `\addvspace' command, then this
+command will not add more space than needed to make the natural length
+of the total vertical space equal to `length'.
+
+
+File: latex.info, Node: \bigskip, Next: \medskip, Prev: \addvspace, Up: Spaces & Boxes
+
+2.17.6 \bigskip
+---------------
+
+The `\bigskip' command is equivalent to `\vspace{bigskipamount}' where
+`bigskipamount' is determined by the document class.
+
+
+File: latex.info, Node: \medskip, Next: \smallskip, Prev: \bigskip, Up: Spaces & Boxes
+
+2.17.7 \medskip
+---------------
+
+The `\medskip' command is equivalent to `\vspace{medskipamount}' where
+`medskipamount' is determined by the document class.
+
+
+File: latex.info, Node: \smallskip, Next: \vfill, Prev: \medskip, Up: Spaces & Boxes
+
+2.17.8 \smallskip
+-----------------
+
+`\smallskip'
+
+ The `\smallskip' command is equivalent to `\vspace{smallskipamount}'
+where `smallskipamount' is determined by the document class.
+
+
+File: latex.info, Node: \vfill, Next: \vspace, Prev: \smallskip, Up: Spaces & Boxes
+
+2.17.9 \vfill
+-------------
+
+The `\vfill' fill command produces a rubber length which can stretch or
+shrink vertically.
+
+
+File: latex.info, Node: \vspace, Next: \fbox, Prev: \vfill, Up: Spaces & Boxes
+
+2.17.10 \vspace
+---------------
+
+`\vspace[*]{length}'
+
+ The `\vspace' command adds vertical space. The length of the space
+can be expressed in any terms that LaTeX understands, i.e., points,
+inches, etc. You can add negative as well as positive space with an
+`\vspace' command.
+
+ LaTeX removes vertical space that comes at the end of a page. If you
+don't want LaTeX to remove this space, include the optional `*'
+argument. Then the space is never removed.
+
+
+File: latex.info, Node: \fbox, Next: \framebox, Prev: \vspace, Up: Spaces & Boxes
+
+2.17.11 \fbox
+-------------
+
+`\fbox{text}'
+
+ The `\fbox' command is exactly the same as the `\mbox' command,
+except that it puts a frame around the outside of the box that it
+creates.
+
+
+File: latex.info, Node: \framebox, Next: lrbox, Prev: \fbox, Up: Spaces & Boxes
+
+2.17.12 \framebox
+-----------------
+
+`\framebox[width][position]{text}'
+
+ The `\framebox' command is exactly the same as the `\makebox'
+command, except that it puts a frame around the outside of the box that
+it creates.
+
+ The framebox command produces a rule of thickness `\fboxrule', and
+leaves a space `\fboxsep' between the rule and the contents of the box.
+
+
+File: latex.info, Node: lrbox, Next: \makebox, Prev: \framebox, Up: Spaces & Boxes
+
+2.17.13 lrbox
+-------------
+
+`\begin{lrbox}{cmd} text \end{lrbox}'
+
+ This is the environment form of `\sbox'.
+
+ The text inside the environment is saved in the box `cmd', which
+must have been declared with `\newsavebox'.
+
+
+File: latex.info, Node: \makebox, Next: \mbox, Prev: lrbox, Up: Spaces & Boxes
+
+2.17.14 \makebox
+----------------
+
+`\makebox[width][position]{text}'
+
+ The `\makebox' command creates a box just wide enough to contain the
+`text' specified. The width of the box is specified by the optional
+`width' argument. The position of the text within the box is
+determined by the optional `position' argument.
+
+ * `c' -- centred (default)
+
+ * `l' -- flushleft
+
+ * `r' -- flushright
+
+ * `s' -- stretch from left to right margin. The text must contain
+ stretchable space for this to work.
+
+ *Note \makebox (picture)::.
+
+
+File: latex.info, Node: \mbox, Next: \newsavebox, Prev: \makebox, Up: Spaces & Boxes
+
+2.17.15 \mbox
+-------------
+
+`\mbox{text}'
+
+ The `\mbox' command creates a box just wide enough to hold the text
+created by its argument.
+
+ Use this command to prevent text from being split across lines.
+
+
+File: latex.info, Node: \newsavebox, Next: \parbox, Prev: \mbox, Up: Spaces & Boxes
+
+2.17.16 \newsavebox
+-------------------
+
+`\newsavebox{cmd}'
+
+ Declares `cmd', which must be a command name that is not already
+defined, to be a bin for saving boxes.
+
+
+File: latex.info, Node: \parbox, Next: \raisebox, Prev: \newsavebox, Up: Spaces & Boxes
+
+2.17.17 \parbox
+---------------
+
+`\parbox[position][height][inner-pos]{width}{text}'
+
+ A `parbox' is a box whose contents are created in `paragraph' mode.
+The `\parbox' has two mandatory arguments:
+
+ * `width' - specifies the width of the parbox, and
+
+ * `text' - the text that goes inside the parbox.
+
+ LaTeX will position a `parbox' so its centre lines up with the
+centre of the text line. The optional position argument allows you to
+line up either the top or bottom line in the parbox (default is top).
+
+ If the height argument is not given, the box will have the natural
+height of the text.
+
+ The inner-pos argument controls the placement of the text inside the
+box. If it is not specified, position is used.
+
+ * `t' -- text is placed at the top of the box.
+
+ * `c' -- text is centred in the box.
+
+ * `b' -- text is placed at the bottom of the box.
+
+ * `s' -- stretch vertically. The text must contain vertically
+ stretchable space for this to work.
+
+ A `\parbox' command is used for a parbox containing a small piece of
+text, with nothing fancy inside. In particular, you shouldn't use any
+of the paragraph-making environments inside a `\parbox' argument. For
+larger pieces of text, including ones containing a paragraph-making
+environment, you should use a `minipage' environment *Note minipage::.
+
+
+File: latex.info, Node: \raisebox, Next: \rule, Prev: \parbox, Up: Spaces & Boxes
+
+2.17.18 \raisebox
+-----------------
+
+`\raisebox{distance}[extend-above][extend-below]{text}'
+
+ The `\raisebox' command is used to raise or lower text. The first
+mandatory argument specifies how high the text is to be raised (or
+lowered if it is a negative amount). The text itself is processed in
+`LR mode'.
+
+ Sometimes it's useful to make LaTeX think something has a different
+size than it really does - or a different size than LaTeX would
+normally think it has. The `\raisebox' command lets you tell LaTeX how
+tall it is.
+
+ The first optional argument, `extend-above', makes LaTeX think that
+the text extends above the line by the amount specified. The second
+optional argument, `extend-below', makes LaTeX think that the text
+extends below the line by the amount specified.
+
+
+File: latex.info, Node: \rule, Next: \savebox, Prev: \raisebox, Up: Spaces & Boxes
+
+2.17.19 \rule
+-------------
+
+`\rule[raise-height]{width}{thickness}'
+
+ The `\rule' command is used to produce horizontal lines. The
+arguments are defined as follows:
+
+ * `raise-height' - specifies how high to raise the rule (optional)
+
+ * `width' - specifies the length of the rule (mandatory)
+
+ * `thickness' - specifies the thickness of the rule (mandatory)
+
+
+File: latex.info, Node: \savebox, Next: \sbox, Prev: \rule, Up: Spaces & Boxes
+
+2.17.20 \savebox
+----------------
+
+ \savebox{cmd}[width][pos]{text}
+
+ This command typeset `text' in a box just as for `\makebox'.
+However, instead of printing the resulting box, it saves it in bin
+`cmd', which must have been declared with `\newsavebox'.
+
+
+File: latex.info, Node: \sbox, Next: \usebox, Prev: \savebox, Up: Spaces & Boxes
+
+2.17.21 \sbox
+-------------
+
+`\sbox{text}'
+
+ This commands typeset `text' in a box just as for `\mbox'. However,
+instead of printing the resulting box, it saves it in bin `cmd', which
+must have been declared with `\newsavebox'.
+
+
+File: latex.info, Node: \usebox, Prev: \sbox, Up: Spaces & Boxes
+
+2.17.22 \usebox
+---------------
+
+`\usebox{cmd}'
+
+ Prints the box most recently saved in bin `cmd' by a `\savebox'
+command.
+
+
+File: latex.info, Node: Special Characters, Next: Splitting the Input, Prev: Spaces & Boxes, Up: Commands
+
+2.18 Special Characters
+=======================
+
+The following characters play a special role in LaTeX and are called
+"special printing characters", or simply "special characters".
+
+ # $ % & ~ _ ^ \ { }
+
+ Whenever you put one of these special characters into your file, you
+are doing something special. If you simply want the character to be
+printed just as any other letter, include a `\' in front of the
+character. For example, `\$' will produce `$' in your output.
+
+ One exception to this rule is the `\' itself because `\\' has its
+own special meaning. A `\' is produced by typing `$\backslash$' in
+your file.
+
+ Also, `\~' means `place a tilde accent over the following letter',
+so you will probably want to use `\verb' instead.
+
+ In addition, you can access any character of a font once you know its
+number by using the `\symbol' command. For example, the character used
+for displaying spaces in the `\verb*' command has the code decimal 32,
+so it can be typed as `\symbol{32}'.
+
+ You can also specify octal numbers with `'' or hexadecimal numbers
+with `"', so the previous example could also be written as
+`\symbol{'40}' or `\symbol{"20}'.
+
+
+File: latex.info, Node: Splitting the Input, Next: Starting & Ending, Prev: Special Characters, Up: Commands
+
+2.19 Splitting the Input
+========================
+
+A large document requires a lot of input. Rather than putting the whole
+input in a single large file, it's more efficient to split it into
+several smaller ones. Regardless of how many separate files you use,
+there is one that is the root file; it is the one whose name you type
+when you run LaTeX.
+
+* Menu:
+
+* \include:: Conditionally include a file.
+* \includeonly:: Determine which files are included.
+* \input:: Unconditionally include a file.
+
+
+File: latex.info, Node: \include, Next: \includeonly, Prev: Splitting the Input, Up: Splitting the Input
+
+2.19.1 \include
+---------------
+
+`\include{file}'
+
+ The `\include' command is used in conjunction with the
+`\includeonly' command for selective inclusion of files. The `file'
+argument is the first name of a file, denoting `file.tex'. If `file'
+is one the file names in the file list of the `\includeonly' command or
+if there is no `\includeonly' command, the `\include' command is
+equivalent to
+
+ \clearpage \input{file} \clearpage
+
+ except that if the file `file.tex' does not exist, then a warning
+message rather than an error is produced. If the file is not in the
+file list, the `\include' command is equivalent to `\clearpage'.
+
+ The `\include' command may not appear in the preamble or in a file
+read by another `\include' command.
+
+
+File: latex.info, Node: \includeonly, Next: \input, Prev: \include, Up: Splitting the Input
+
+2.19.2 \includeonly
+-------------------
+
+`\includeonly{'file_list`}'
+
+ The `\includeonly' command controls which files will be read in by
+an `\include' command. file_list should be a comma-separated list of
+filenames. Each filename must match exactly a filename specified in a
+`\include' command. This command can only appear in the preamble.
+
+
+File: latex.info, Node: \input, Prev: \includeonly, Up: Splitting the Input
+
+2.19.3 \input
+-------------
+
+`\input{file}'
+
+ The `\input' command causes the indicated `file' to be read and
+processed, exactly as if its contents had been inserted in the current
+file at that point. The file name may be a complete file name with
+extension or just a first name, in which case the file `file.tex' is
+used.
+
+
+File: latex.info, Node: Starting & Ending, Next: Table of Contents, Prev: Splitting the Input, Up: Commands
+
+2.20 Starting & Ending
+======================
+
+Your input file must contain the following commands as a minimum:
+
+ \documentclass{class}
+ \begin{document}
+ ... your text goes here ...
+ \end{document}
+
+ where the `class' selected is one of the valid classes for LaTeX.
+*Note Document Classes::, (and *note Overview::), for details of the
+various document classes available locally.
+
+ You may include other LaTeX commands between the `\documentclass'
+and the `\begin{document}' commands (i.e., in the `preamble').
+
+
+File: latex.info, Node: Table of Contents, Next: Terminal Input/Output, Prev: Starting & Ending, Up: Commands
+
+2.21 Table of Contents
+======================
+
+A table of contents is produced with the `\tableofcontents' command.
+You put the command right where you want the table of contents to go;
+LaTeX does the rest for you. It produces a heading, but it does not
+automatically start a new page. If you want a new page after the table
+of contents, include a `\newpage' command after the `\tableofcontents'
+command.
+
+ There are similar commands `\listoffigures' and `\listoftables' for
+producing a list of figures and a list of tables, respectively.
+Everything works exactly the same as for the table of contents.
+
+ NOTE: If you want any of these items to be generated, you cannot have
+the `\nofiles' command in your document.
+
+* Menu:
+
+* \addcontentsline:: Add an entry to table of contents etc.
+* \addtocontents:: Add text directly to table of contents file etc.
+
+
+File: latex.info, Node: \addcontentsline, Next: \addtocontents, Prev: Table of Contents, Up: Table of Contents
+
+2.21.1 \addcontentsline
+-----------------------
+
+`\addcontentsline{file}{sec_unit}{entry}'
+
+ The `\addcontentsline' command adds an entry to the specified list
+or table where:
+
+ * `file' is the extension of the file on which information is to be
+ written: `toc' (table of contents), `lof' (list of figures), or
+ `lot' (list of tables).
+
+ * `sec_unit' controls the formatting of the entry. It should be one
+ of the following, depending upon the value of the file argument:
+ 1. `toc' -- the name of the sectional unit, such as part or
+ subsection.
+
+ 2. `lof' -- figure
+
+ 3. `lot' -- table
+
+ * `entry' is the text of the entry.
+
+
+File: latex.info, Node: \addtocontents, Prev: \addcontentsline, Up: Table of Contents
+
+2.21.2 \addtocontents
+---------------------
+
+`\addtocontents{file}{text}'
+
+ The `\addtocontents' command adds text (or formatting commands)
+directly to the file that generates the table of contents or list of
+figures or tables.
+
+ * `file' is the extension of the file on which information is to be
+ written: `toc' (table of contents), `lof' (list of figures), or
+ `lot' (list of tables).
+
+ * `text' is the information to be written.
+
+
+File: latex.info, Node: Terminal Input/Output, Next: Typefaces, Prev: Table of Contents, Up: Commands
+
+2.22 Terminal Input/Output
+==========================
+
+* Menu:
+
+* \typein:: Read text from the terminal.
+* \typeout:: Write text to the terminal.
+
+
+File: latex.info, Node: \typein, Next: \typeout, Up: Terminal Input/Output
+
+2.22.1 \typein
+--------------
+
+`\typein[cmd]{msg}'
+
+ Prints `msg' on the terminal and causes LaTeX to stop and wait for
+you to type a line of input, ending with return. If the `cmd' argument
+is missing, the typed input is processed as if it had been included in
+the input file in place of the `\typein' command. If the `cmd'
+argument is present, it must be a command name. This command name is
+then defined or redefined to be the typed input.
+
+
+File: latex.info, Node: \typeout, Prev: \typein, Up: Terminal Input/Output
+
+2.22.2 \typeout
+---------------
+
+`\typeout{msg}'
+
+ Prints `msg' on the terminal and in the `log' file. Commands in
+`msg' that are defined with `\newcommand' or `\renewcommand' are
+replaced by their definitions before being printed.
+
+ LaTeX's usual rules for treating multiple spaces as a single space
+and ignoring spaces after a command name apply to `msg'. A `\space'
+command in `msg' causes a single space to be printed. A `^^J' in `msg'
+prints a newline.
+
+
+File: latex.info, Node: Typefaces, Prev: Terminal Input/Output, Up: Commands
+
+2.23 Typefaces
+==============
+
+The `typeface' is specified by giving the "size" and "style". A
+typeface is also called a "font".
+
+* Menu:
+
+* Styles:: Select roman, italics etc.
+* Sizes:: Select point size.
+* Low-level font commands:: Commands for wizards.
+
+
+File: latex.info, Node: Styles, Next: Sizes, Prev: Typefaces, Up: Typefaces
+
+2.23.1 \Styles
+--------------
+
+The following type style commands are supported by LaTeX.
+
+ These commands are used like `\textit{italics text}'. The
+corresponding command in parenthesis is the "declaration form", which
+takes no arguments. The scope of the declaration form lasts until the
+next type style command or the end of the current group.
+
+ The declaration forms are cumulative; i.e., you can say
+`\sffamily\bfseries' to get sans serif boldface.
+
+ You can also use the environment form of the declaration forms; e.g.
+`\begin{ttfamily}...\end{ttfamily}'.
+
+`\textrm (\rmfamily)'
+ Roman.
+
+`\textit (\itshape)'
+
+`\emph'
+ Emphasis (toggles between \textit and \textrm).
+
+`\textmd (\mdseries)'
+ Medium weight (default). The opposite of boldface.
+
+`\textbf (\bfseries)'
+ Boldface.
+
+`\textup (\upshape)'
+ Upright (default). The opposite of slanted.
+
+`\textsl (\slshape)'
+ Slanted.
+
+`\textsf (\sffamily)'
+ Sans serif.
+
+`\textsc (\scshape)'
+ Small caps.
+
+`\texttt (\ttfamily)'
+ Typewriter.
+
+`\textnormal (\normalfont)'
+ Main document font.
+
+`\mathrm'
+ Roman, for use in math mode.
+
+`\mathbf'
+ Boldface, for use in math mode.
+
+`\mathsf'
+ Sans serif, for use in math mode.
+
+`\mathtt'
+ Typewriter, for use in math mode.
+
+`\mathit'
+ Italics, for use in math mode, e.g. variable names with several
+ letters.
+
+`\mathnormal'
+ For use in math mode, e.g. inside another type style declaration.
+
+`\mathcal'
+ `Calligraphic' letters, for use in math mode.
+
+ In addition, the command `\mathversion{bold}' can be used for
+switching to bold letters and symbols in formulas.
+`\mathversion{normal}' restores the default.
+
+
+File: latex.info, Node: Sizes, Next: Low-level font commands, Prev: Styles, Up: Typefaces
+
+2.23.2 Sizes
+------------
+
+The following standard type size commands are supported by LaTeX.
+
+ The commands as listed here are "declaration forms". The scope of the
+declaration form lasts until the next type style command or the end of
+the current group.
+
+ You can also use the environment form of these commands; e.g.
+`\begin{tiny}...\end{tiny}'.
+
+`\tiny'
+
+`\scriptsize'
+
+`\footnotesize'
+
+`\small'
+
+`\normalsize'
+ (default)
+
+`\large'
+
+`\Large'
+
+`\LARGE'
+
+`\huge'
+
+`\Huge'
+
+
+File: latex.info, Node: Low-level font commands, Prev: Sizes, Up: Typefaces
+
+2.23.3 Low-level font commands
+------------------------------
+
+These commands are primarily intended for writers of macros and
+packages. The commands listed here are only a subset of the available
+ones. For full details, you should consult Chapter 7 of `The LaTeX
+Companion'.
+
+`\fontencoding{enc}'
+ Select font encoding. Valid encodings include `OT1' and `T1'.
+
+`\fontfamily{family}'
+ Select font family. Valid families include:
+
+ * `cmr' for Computer Modern Roman
+
+ * `cmss' for Computer Modern Sans Serif
+
+ * `cmtt' for Computer Modern Typewriter
+
+ and numerous others.
+
+`\fontseries{series}'
+ Select font series. Valid series include:
+
+ * `m' Medium (normal)
+
+ * `b' Bold
+
+ * `c' Condensed
+
+ * `bc' Bold condensed
+
+ * `bx' Bold extended
+
+ and various other combinations.
+
+`\fontshape{shape}'
+ Select font shape. Valid shapes are:
+
+ * `n' Upright (normal)
+
+ * `it' Italic
+
+ * `sl' Slanted (oblique)
+
+ * `sc' Small caps
+
+ * `ui' Upright italics
+
+ * `ol' Outline
+
+ The two last shapes are not available for most font families.
+
+`\fontsize{size}{skip}'
+ Set font size. The first parameter is the font size to switch to;
+ the second is the `\baselineskip' to use. The unit of both
+ parameters defaults to pt. A rule of thumb is that the
+ baselineskip should be 1.2 times the font size.
+
+`\selectfont'
+ The changes made by calling the four font commands described above
+ do not come into effect until `\selectfont' is called.
+
+`\usefont{enc}{family}{series}{shape}'
+ Equivalent to calling `\fontencoding', `\fontfamily',
+ `\fontseries' and `\fontshape' with the given parameters, followed
+ by `\selectfont'.
+
+
+File: latex.info, Node: Parameters, Next: Concept Index, Prev: Commands, Up: Top
+
+3 Parameters
+************
+
+The input file specification indicates the file to be formatted; TeX
+uses `.tex' as a default file extension. If you omit the input file
+entirely, TeX accepts input from the terminal. You specify command
+options by supplying a string as a parameter to the command; e.g.
+
+ `latex ``\scrollmode\input foo.tex'''
+
+ will process `foo.tex' without pausing after every error.
+
+ Output files are always created in the current directory. When you
+fail to specify an input file name, TeX bases the output names on the
+file specification associated with the logical name TEX_OUTPUT,
+typically `texput.log'.
+
+
+File: latex.info, Node: Concept Index, Next: Command Index, Prev: Parameters, Up: Top
+
+Concept Index
+*************
+
+
+* Menu:
+
+* Accessing any character of a font: Special Characters. (line 23)
+* Aligning Equations: eqnarray. (line 6)
+* Appendix, creating: Sectioning. (line 41)
+* Arrays, math: array. (line 6)
+* article class: Document Classes. (line 6)
+* Author, for titlepage: \author. (line 6)
+* Bibliography, creating (automatically): Using BibTeX. (line 6)
+* Bibliography, creating (manually): thebibliography. (line 6)
+* BibTeX, using: Using BibTeX. (line 6)
+* book class: Document Classes. (line 6)
+* Boxes: Spaces & Boxes. (line 6)
+* Cc list: \cc. (line 6)
+* Centering text: \centering. (line 6)
+* Centering text, environment for: center. (line 6)
+* Characters, reserved: Special Characters. (line 6)
+* Characters, special: Special Characters. (line 6)
+* Classes of document: Document Classes. (line 6)
+* Commands, defining new ones: \newcommand. (line 6)
+* Computer programs, typesetting: verbatim. (line 6)
+* Counters, a list of: Counters. (line 6)
+* Counters, creating: \newcounter. (line 6)
+* Counters, getting the value of: \value. (line 6)
+* Counters, setting: \setcounter. (line 6)
+* Creating letters: Letters. (line 6)
+* Creating pictures: picture. (line 6)
+* Creating tables: table. (line 6)
+* Cross referencing: Cross References. (line 6)
+* Cross referencing using page number: \pageref. (line 6)
+* Cross referencing using section number: \ref. (line 6)
+* Date, for titlepage: \date. (line 6)
+* Defining a new command: \newcommand. (line 6)
+* Defining new environments: \newenvironment. (line 6)
+* Defining new fonts: \newfont. (line 6)
+* Defining new theorems: \newtheorem. (line 6)
+* Displaying quoted text: quote. (line 6)
+* Displaying quoted text with paragraph indentation: quotation.
+ (line 6)
+* Document Classes: Document Classes. (line 6)
+* Enclosed material: \encl. (line 6)
+* Ending & Starting: Starting & Ending. (line 6)
+* Enlarge current page: \enlargethispage. (line 6)
+* Environments: Environments. (line 6)
+* Environments, defining: \newenvironment. (line 6)
+* Equations, aligning: eqnarray. (line 6)
+* Equations, environment for: equation. (line 6)
+* exponent: Math Formulae. (line 32)
+* Figures, footnotes in: minipage. (line 6)
+* Flushing a page: \clearpage. (line 6)
+* Font commands, low-level: Low-level font commands.
+ (line 6)
+* Font Sizes: Sizes. (line 6)
+* Font Styles: Styles. (line 6)
+* Fonts: Typefaces. (line 6)
+* Fonts, new commands for: \newfont. (line 6)
+* Footnotes in figures: minipage. (line 6)
+* Footnotes, creating: Footnotes. (line 6)
+* Formatting Text: \centering. (line 6)
+* Formulae, environment for: equation. (line 6)
+* Formulae, maths: Math Formulae. (line 6)
+* Global options: Document Classes. (line 75)
+* Greek letters: Math Symbols. (line 6)
+* Hyphenation, defining: \hyphenation. (line 6)
+* Hyphenation, forcing: \- (hyphenation). (line 6)
+* Indent, forcing: \indent. (line 6)
+* Indent, suppressing: \noindent. (line 6)
+* Input file, splitting: Splitting the Input. (line 6)
+* Input/Output: Terminal Input/Output.
+ (line 6)
+* Inserting figures: figure. (line 6)
+* Justification, ragged left: \raggedleft. (line 6)
+* Justification, ragged right: \raggedright. (line 6)
+* Labelled lists, creating: description. (line 6)
+* LaTeX overview: Overview. (line 6)
+* Layout commands: Layout. (line 3)
+* Left-justifying text: \raggedright. (line 6)
+* Left-justifying text, environment for: flushleft. (line 6)
+* Left-to-right mode: Modes. (line 6)
+* Lengths, adding to: \addtolength. (line 6)
+* Lengths, defining a new: \newlength. (line 6)
+* Lengths, defining and using: Lengths. (line 6)
+* Lengths, predefined: Predefined lengths. (line 6)
+* Lengths, setting value of: \setlength. (line 6)
+* letter class: Document Classes. (line 6)
+* Letters: Letters. (line 6)
+* Letters, ending: \closing. (line 6)
+* Letters, starting: \opening. (line 6)
+* Line Breaking: Line & Page Breaking. (line 6)
+* Line breaks: \linebreak. (line 6)
+* Lines in tables: tabular. (line 6)
+* Lining text up in columns using tab stops: tabbing. (line 6)
+* Lining text up in tables: tabular. (line 6)
+* Lists of items: itemize. (line 6)
+* Lists of items, generic: list. (line 6)
+* Lists of items, numbered: enumerate. (line 6)
+* Loading additional packages: Document Classes. (line 71)
+* Low-level font commands: Low-level font commands.
+ (line 6)
+* LR mode: Modes. (line 6)
+* Making a title page: titlepage. (line 6)
+* Making paragraphs: Making Paragraphs. (line 6)
+* Margin Notes: Margin Notes. (line 6)
+* Math Formulae: Math Formulae. (line 6)
+* Math mode: Modes. (line 6)
+* Math mode, entering: Math Formulae. (line 6)
+* Math mode, spacing: Spacing in Math Mode. (line 6)
+* Maths Miscellany: Math Miscellany. (line 6)
+* Maths symbols: Math Symbols. (line 6)
+* Minipage, creating a: minipage. (line 6)
+* Modes: Modes. (line 6)
+* Multicolumn text: \twocolumn. (line 6)
+* New line, starting: \\. (line 6)
+* New line, starting (paragraph mode): \newline. (line 6)
+* New Page: \newpage. (line 6)
+* Notes in the margin: Margin Notes. (line 6)
+* Options, global: Document Classes. (line 75)
+* Overview of LaTeX: Overview. (line 6)
+* Packages, loading: Document Classes. (line 71)
+* Page break, forcing: \pagebreak. (line 6)
+* Page Breaking: Line & Page Breaking. (line 6)
+* Page Formatting: Line & Page Breaking. (line 6)
+* Page numbering: \pagenumbering. (line 6)
+* Page styles: Page Styles. (line 6)
+* Paragraph mode: Modes. (line 6)
+* Paragraph, starting a new: \par. (line 6)
+* Paragraphs: Making Paragraphs. (line 6)
+* Pictures, creating: picture. (line 6)
+* Poetry, an environment for: verse. (line 6)
+* Predefined lengths: Predefined lengths. (line 6)
+* Programs, typesetting: verbatim. (line 6)
+* Quoted text with paragraph indentation, displaying: quotation.
+ (line 6)
+* Quoted text, displaying: quote. (line 6)
+* Ragged left text: \raggedleft. (line 6)
+* Ragged left text, environment for: flushright. (line 6)
+* Ragged right text: \raggedright. (line 6)
+* Ragged right text, environment for: flushleft. (line 6)
+* Remarks in the margin: Margin Notes. (line 6)
+* report class: Document Classes. (line 6)
+* Reserved Characters: Special Characters. (line 6)
+* Right-justifying text: \raggedleft. (line 6)
+* Right-justifying text, environment for: flushright. (line 6)
+* Sectioning: Sectioning. (line 6)
+* Simulating typed text: verbatim. (line 6)
+* Sizes of text: Sizes. (line 6)
+* Space, inserting vertical: \addvspace. (line 6)
+* Spaces: Spaces & Boxes. (line 6)
+* Spacing, within Math mode: Spacing in Math Mode. (line 6)
+* Special Characters: Special Characters. (line 6)
+* Splitting the input file: Splitting the Input. (line 6)
+* Starting & Ending: Starting & Ending. (line 6)
+* Starting on a right-hand page: \cleardoublepage. (line 6)
+* Styles of text: Styles. (line 6)
+* Styles, page: Page Styles. (line 6)
+* Subscript: Subscripts & Superscripts.
+ (line 6)
+* Superscript: Subscripts & Superscripts.
+ (line 6)
+* Symbols: Math Symbols. (line 6)
+* Tab stops, using: tabbing. (line 6)
+* Table of Contents, creating: Table of Contents. (line 6)
+* Tables, creating: table. (line 6)
+* Terminal Input/Output: Terminal Input/Output.
+ (line 6)
+* Thanks, for titlepage: \thanks. (line 6)
+* Theorems, defining: \newtheorem. (line 6)
+* Theorems, typesetting: theorem. (line 6)
+* Title making: \maketitle. (line 6)
+* Title pages, creating: titlepage. (line 6)
+* Title, for titlepage: \title. (line 6)
+* Typed text, simulating: verbatim. (line 6)
+* Typeface Sizes: Sizes. (line 6)
+* Typeface Styles: Styles. (line 6)
+* Typefaces: Typefaces. (line 6)
+* Using BibTeX: Using BibTeX. (line 6)
+* Variables, a list of: Counters. (line 6)
+* Verbatim text: \verb. (line 6)
+* Vertical space, inserting: \addvspace. (line 6)
+
+
+File: latex.info, Node: Command Index, Prev: Concept Index, Up: Top
+
+Command Index
+*************
+
+
+* Menu:
+
+* $: Math Formulae. (line 6)
+* \!: Spacing in Math Mode. (line 11)
+* \' (tabbing): tabbing. (line 46)
+* \(: Math Formulae. (line 6)
+* \): Math Formulae. (line 6)
+* \+: tabbing. (line 38)
+* \,: Spacing in Math Mode. (line 11)
+* \- (hyphenation): \- (hyphenation). (line 6)
+* \- (tabbing): tabbing. (line 42)
+* \;: Spacing in Math Mode. (line 11)
+* \<: tabbing. (line 33)
+* \=: tabbing. (line 27)
+* \>: tabbing. (line 30)
+* \[: Math Formulae. (line 6)
+* \\: \\. (line 6)
+* \]: Math Formulae. (line 6)
+* \` (tabbing): tabbing. (line 52)
+* \a: tabbing. (line 75)
+* \addcontentsline: \addcontentsline. (line 6)
+* \address: \address. (line 6)
+* \addtocontents: \addtocontents. (line 6)
+* \addtocounter: \addtocounter. (line 6)
+* \addtolength: \addtolength. (line 6)
+* \addvspace: \addvspace. (line 6)
+* \Alph: \alph. (line 6)
+* \alph: \alph. (line 6)
+* \appendix: Sectioning. (line 41)
+* \arabic: \arabic. (line 6)
+* \author: \author. (line 6)
+* \backslash: Special Characters. (line 23)
+* \begin: Environments. (line 6)
+* \bfseries: Styles. (line 31)
+* \bibitem: \bibitem. (line 6)
+* \bibliography: Using BibTeX. (line 6)
+* \bibliographystyle: Using BibTeX. (line 6)
+* \bigskip: \bigskip. (line 6)
+* \caption: figure. (line 13)
+* \cc: \cc. (line 6)
+* \cdots: Math Miscellany. (line 7)
+* \centering: \centering. (line 6)
+* \chapter: Sectioning. (line 6)
+* \circle: \circle. (line 6)
+* \cite: \cite. (line 6)
+* \cleardoublepage: \cleardoublepage. (line 6)
+* \clearpage: \clearpage. (line 6)
+* \cline: \cline. (line 6)
+* \closing: \closing. (line 6)
+* \COLON: Spacing in Math Mode. (line 11)
+* \dashbox: \dashbox. (line 6)
+* \date: \date. (line 6)
+* \ddots: Math Miscellany. (line 11)
+* \depth: Predefined lengths. (line 10)
+* \documentclass: Document Classes. (line 6)
+* \dotfill: \dotfill. (line 6)
+* \emph: Styles. (line 25)
+* \encl: \encl. (line 6)
+* \end: Environments. (line 6)
+* \enlargethispage: \enlargethispage. (line 6)
+* \fbox: \fbox. (line 6)
+* \flushbottom: \flushbottom. (line 6)
+* \fnsymbol: \fnsymbol. (line 6)
+* \fontencoding: Low-level font commands.
+ (line 12)
+* \fontfamily: Low-level font commands.
+ (line 15)
+* \fontseries: Low-level font commands.
+ (line 26)
+* \fontshape: Low-level font commands.
+ (line 41)
+* \fontsize: Low-level font commands.
+ (line 58)
+* \footnote: \footnote. (line 6)
+* \footnotemark: \footnotemark. (line 6)
+* \footnotesize: Sizes. (line 20)
+* \footnotetext: \footnotetext. (line 6)
+* \frac: Math Miscellany. (line 14)
+* \frame: \frame. (line 6)
+* \framebox <1>: \framebox. (line 6)
+* \framebox: \framebox (picture). (line 6)
+* \fussy: \fussy. (line 6)
+* \height: Predefined lengths. (line 8)
+* \hfill: \hfill. (line 6)
+* \hline: \hline. (line 6)
+* \hrulefill: \hrulefill. (line 6)
+* \hspace: \hspace. (line 6)
+* \Huge: Sizes. (line 35)
+* \huge: Sizes. (line 33)
+* \hyphenation: \hyphenation. (line 6)
+* \include: \include. (line 6)
+* \includeonly: \includeonly. (line 6)
+* \indent: \indent. (line 6)
+* \input: \input. (line 6)
+* \item: itemize. (line 6)
+* \itshape: Styles. (line 23)
+* \kill: tabbing. (line 61)
+* \label: \label. (line 6)
+* \LARGE: Sizes. (line 31)
+* \Large: Sizes. (line 29)
+* \large: Sizes. (line 27)
+* \ldots: Math Miscellany. (line 17)
+* \lefteqn: eqnarray. (line 22)
+* \line: \line. (line 6)
+* \linebreak: \linebreak. (line 6)
+* \linethickness: \linethickness. (line 6)
+* \listoffigures: Table of Contents. (line 13)
+* \listoftables: Table of Contents. (line 13)
+* \location: \location. (line 6)
+* \makebox: \makebox. (line 6)
+* \makebox (picture): \makebox (picture). (line 6)
+* \makelabels: \makelabels. (line 6)
+* \maketitle: \maketitle. (line 6)
+* \markboth: \markboth. (line 6)
+* \markright: \markright. (line 6)
+* \mathbf: Styles. (line 55)
+* \mathcal: Styles. (line 71)
+* \mathit: Styles. (line 64)
+* \mathnormal: Styles. (line 68)
+* \mathrm: Styles. (line 52)
+* \mathsf: Styles. (line 58)
+* \mathtt: Styles. (line 61)
+* \mathversion: Styles. (line 73)
+* \mbox: \mbox. (line 6)
+* \mdseries: Styles. (line 28)
+* \medskip: \medskip. (line 6)
+* \multicolumn: \multicolumn. (line 6)
+* \multiput: \multiput. (line 6)
+* \name: \name. (line 6)
+* \newcommand: \newcommand. (line 6)
+* \newcounter: \newcounter. (line 6)
+* \newenvironment: \newenvironment. (line 6)
+* \newfont: \newfont. (line 6)
+* \newlength: \newlength. (line 6)
+* \newline: \newline. (line 6)
+* \newpage: \newpage. (line 6)
+* \newsavebox: \newsavebox. (line 6)
+* \newtheorem: \newtheorem. (line 6)
+* \nocite: \nocite. (line 6)
+* \nofiles: Table of Contents. (line 18)
+* \noindent: \noindent. (line 6)
+* \nolinebreak: \nolinebreak. (line 6)
+* \nopagebreak: \nopagebreak. (line 6)
+* \normalfont: Styles. (line 49)
+* \normalsize: Sizes. (line 24)
+* \onecolumn: \onecolumn. (line 6)
+* \opening: \opening. (line 6)
+* \oval: \oval. (line 6)
+* \overbrace: Math Miscellany. (line 21)
+* \overline: Math Miscellany. (line 24)
+* \pagebreak: \pagebreak. (line 6)
+* \pagenumbering: \pagenumbering. (line 6)
+* \pageref: \pageref. (line 6)
+* \pagestyle: \pagestyle. (line 6)
+* \par: \par. (line 6)
+* \paragraph: Sectioning. (line 6)
+* \parbox: \parbox. (line 6)
+* \poptabs: tabbing. (line 72)
+* \ps: \ps. (line 6)
+* \pushtabs: tabbing. (line 67)
+* \put: \put. (line 6)
+* \raggedbottom: \raggedbottom. (line 6)
+* \raggedleft: \raggedleft. (line 6)
+* \raggedright: \raggedright. (line 6)
+* \raisebox: \raisebox. (line 6)
+* \ref: \ref. (line 6)
+* \refstepcounter: \refstepcounter. (line 6)
+* \rmfamily: Styles. (line 20)
+* \Roman: \roman. (line 6)
+* \roman: \roman. (line 6)
+* \rule: \rule. (line 6)
+* \savebox: \savebox. (line 6)
+* \sbox: \sbox. (line 6)
+* \scriptsize: Sizes. (line 18)
+* \scshape: Styles. (line 43)
+* \selectfont: Low-level font commands.
+ (line 64)
+* \setcounter: \setcounter. (line 6)
+* \setlength: \setlength. (line 6)
+* \settodepth: \settodepth. (line 6)
+* \settoheight: \settoheight. (line 6)
+* \settowidth: \settowidth. (line 6)
+* \sffamily: Styles. (line 40)
+* \shortstack: \shortstack. (line 6)
+* \signature: \signature. (line 6)
+* \sloppy: \sloppy. (line 6)
+* \slshape: Styles. (line 37)
+* \small: Sizes. (line 22)
+* \smallskip: \smallskip. (line 6)
+* \sqrt: Math Miscellany. (line 27)
+* \startbreaks: \startbreaks. (line 6)
+* \stepcounter: \stepcounter. (line 6)
+* \stopbreaks: \stopbreaks. (line 6)
+* \subparagraph: Sectioning. (line 6)
+* \subsection: Sectioning. (line 6)
+* \subsubsection: Sectioning. (line 6)
+* \symbol: Special Characters. (line 23)
+* \tableofcontents: Table of Contents. (line 6)
+* \telephone: \telephone. (line 6)
+* \textbf: Styles. (line 31)
+* \textit: Styles. (line 23)
+* \textmd: Styles. (line 28)
+* \textnormal: Styles. (line 49)
+* \textrm: Styles. (line 20)
+* \textsc: Styles. (line 43)
+* \textsf: Styles. (line 40)
+* \textsl: Styles. (line 37)
+* \texttt: Styles. (line 46)
+* \textup: Styles. (line 34)
+* \thanks: \thanks. (line 6)
+* \thispagestyle: \thispagestyle. (line 6)
+* \tiny: Sizes. (line 16)
+* \title: \title. (line 6)
+* \today: titlepage. (line 13)
+* \totalheight: Predefined lengths. (line 12)
+* \ttfamily: Styles. (line 46)
+* \twocolumn: \twocolumn. (line 6)
+* \typein: \typein. (line 6)
+* \typeout: \typeout. (line 6)
+* \underbrace: Math Miscellany. (line 32)
+* \underline: Math Miscellany. (line 35)
+* \upshape: Styles. (line 34)
+* \usebox: \usebox. (line 6)
+* \usecounter: \usecounter. (line 6)
+* \usefont: Low-level font commands.
+ (line 68)
+* \usepackage: Document Classes. (line 68)
+* \value: \value. (line 6)
+* \vdots: Math Miscellany. (line 39)
+* \vector: \vector. (line 6)
+* \verb: \verb. (line 6)
+* \vfill: \vfill. (line 6)
+* \vline: \vline. (line 6)
+* \vspace: \vspace. (line 6)
+* \width: Predefined lengths. (line 6)
+* ^: Subscripts & Superscripts.
+ (line 6)
+* _: Subscripts & Superscripts.
+ (line 6)
+* array: array. (line 6)
+* center: center. (line 6)
+* description: description. (line 6)
+* enumerate: enumerate. (line 6)
+* eqnarray: eqnarray. (line 6)
+* equation: equation. (line 6)
+* figure: figure. (line 6)
+* flushleft: flushleft. (line 6)
+* flushright: flushright. (line 6)
+* itemize: itemize. (line 6)
+* letter: letter. (line 6)
+* list: list. (line 6)
+* lrbox: lrbox. (line 6)
+* minipage: minipage. (line 6)
+* picture: picture. (line 6)
+* quotation: quotation. (line 6)
+* quote: quote. (line 6)
+* tabbing: tabbing. (line 6)
+* table: table. (line 6)
+* tabular: tabular. (line 6)
+* thebibliography: thebibliography. (line 6)
+* theorem: theorem. (line 6)
+* titlepage: titlepage. (line 6)
+* verbatim: verbatim. (line 6)
+* verse: verse. (line 6)
+
+
+
+Tag Table:
+Node: Top1653
+Node: Overview2255
+Node: Commands3711
+Node: Counters5316
+Node: \addtocounter6763
+Node: \alph7070
+Node: \arabic7466
+Node: \fnsymbol7702
+Node: \newcounter8066
+Node: \refstepcounter8474
+Node: \roman8807
+Node: \stepcounter9191
+Node: \setcounter9439
+Node: \usecounter9708
+Node: \value10016
+Node: Cross References10466
+Node: \label10901
+Node: \pageref11765
+Node: \ref12061
+Node: Definitions12296
+Node: \newcommand12651
+Node: \newenvironment13756
+Node: \newtheorem14961
+Node: \newfont15869
+Node: Document Classes16160
+Node: Layout18210
+Node: \flushbottom18616
+Node: \onecolumn18919
+Node: \raggedbottom19132
+Node: \twocolumn19387
+Node: Environments19677
+Node: array21042
+Node: center21930
+Node: \centering22448
+Node: description23150
+Node: enumerate23528
+Node: eqnarray24270
+Node: equation24999
+Node: figure25300
+Node: flushleft26377
+Node: \raggedright26891
+Node: flushright27465
+Node: \raggedleft27980
+Node: itemize28553
+Node: letter29282
+Node: list29459
+Node: minipage30294
+Node: picture31191
+Node: \circle35158
+Node: \dashbox35509
+Node: \frame35880
+Node: \framebox (picture)36235
+Node: \line36702
+Node: \linethickness37053
+Node: \makebox (picture)37501
+Node: \multiput38195
+Node: \oval38516
+Node: \put39118
+Node: \shortstack39364
+Node: \vector39801
+Node: quotation40095
+Node: quote40499
+Node: tabbing40848
+Node: table43876
+Node: tabular44958
+Node: \cline48169
+Node: \hline48457
+Node: \multicolumn48744
+Node: \vline49281
+Node: thebibliography49598
+Node: \bibitem50456
+Node: \cite51168
+Node: \nocite51662
+Node: Using BibTeX51944
+Node: theorem53126
+Node: titlepage53411
+Node: verbatim53967
+Node: \verb54456
+Node: verse54909
+Node: Footnotes55306
+Node: \footnote55874
+Node: \footnotemark56378
+Node: \footnotetext56902
+Node: Lengths57363
+Node: \newlength57970
+Node: \setlength58283
+Node: \addtolength58660
+Node: \settodepth58965
+Node: \settoheight59236
+Node: \settowidth59511
+Node: Predefined lengths59788
+Node: Letters60309
+Node: \address62243
+Node: \cc62824
+Node: \closing63063
+Node: \encl63274
+Node: \location63451
+Node: \makelabels63709
+Node: \name63993
+Node: \opening64211
+Node: \ps64501
+Node: \signature64653
+Node: \startbreaks64983
+Node: \stopbreaks65201
+Node: \telephone65412
+Node: Line & Page Breaking65640
+Node: \\66876
+Node: \- (hyphenation)67377
+Node: \cleardoublepage67913
+Node: \clearpage68350
+Node: \enlargethispage68639
+Node: \fussy69152
+Node: \hyphenation69549
+Node: \linebreak69903
+Node: \newline70468
+Node: \newpage70699
+Node: \nolinebreak70883
+Node: \nopagebreak71373
+Node: \pagebreak71865
+Node: \sloppy72334
+Node: Making Paragraphs72662
+Node: \indent73202
+Node: \noindent73525
+Node: \par73812
+Node: Margin Notes74011
+Node: Math Formulae74922
+Node: Subscripts & Superscripts76164
+Node: Math Symbols76655
+Node: Spacing in Math Mode77052
+Node: Math Miscellany77611
+Node: Modes78636
+Node: Page Styles80476
+Node: \maketitle80981
+Node: \author81638
+Node: \date82007
+Node: \thanks82249
+Node: \title82442
+Node: \pagenumbering82680
+Node: \pagestyle83112
+Node: \markboth83869
+Node: \markright84452
+Node: \thispagestyle85027
+Node: Sectioning85326
+Node: Spaces & Boxes86691
+Node: \dotfill88102
+Node: \hfill88302
+Node: \hrulefill88551
+Node: \hspace88822
+Node: \addvspace89428
+Node: \bigskip89905
+Node: \medskip90157
+Node: \smallskip90409
+Node: \vfill90686
+Node: \vspace90898
+Node: \fbox91449
+Node: \framebox91725
+Node: lrbox92178
+Node: \makebox92494
+Node: \mbox93123
+Node: \newsavebox93424
+Node: \parbox93684
+Node: \raisebox95114
+Node: \rule95992
+Node: \savebox96452
+Node: \sbox96801
+Node: \usebox97121
+Node: Special Characters97318
+Node: Splitting the Input98618
+Node: \include99266
+Node: \includeonly100130
+Node: \input100576
+Node: Starting & Ending100985
+Node: Table of Contents101639
+Node: \addcontentsline102626
+Node: \addtocontents103418
+Node: Terminal Input/Output103958
+Node: \typein104237
+Node: \typeout104767
+Node: Typefaces105313
+Node: Styles105701
+Node: Sizes107466
+Node: Low-level font commands108045
+Node: Parameters109901
+Node: Concept Index110622
+Node: Command Index123628
+
+End Tag Table
diff --git a/Master/texmf/doc/info/tds.info b/Master/texmf/doc/info/tds.info
new file mode 100644
index 00000000000..8b2418cd0a2
--- /dev/null
+++ b/Master/texmf/doc/info/tds.info
@@ -0,0 +1,1714 @@
+This is tds.info, produced by makeinfo version 4.7 from tds.texi.
+
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* TeX Directories: (tds). A directory structure for TeX files.
+END-INFO-DIR-ENTRY
+
+
+File: tds.info, Node: Top, Next: Introduction, Up: (dir)
+
+A Directory Structure for TeX Files
+***********************************
+
+Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2004 TeX Users
+Group.
+
+ Permission to use, copy, and distribute this document _without
+modification_ for any purpose and without fee is hereby granted,
+provided that this notice appears in all copies. It is provided "as
+is" without expressed or implied warranty.
+
+ Permission is granted to copy and distribute modified versions of
+this document under the conditions for verbatim copying, provided that
+the modifications are clearly marked and the document is not
+represented as the official one.
+
+ This document is available on any CTAN host (see Appendix *Note
+Related references::). Please send questions or suggestions by email to
+<tds@tug.org>. We welcome all comments. This is version 1.1.
+
+* Menu:
+
+* Introduction::
+* General::
+* Top-level directories::
+* Summary::
+* Unspecified pieces::
+* Implementation issues::
+* Is there a better way?::
+* Related references::
+* Contributors::
+
+ --- The Detailed Node Listing ---
+
+Introduction
+
+* History::
+* The role of the TDS::
+* Conventions::
+
+General
+
+* Subdirectory searching::
+* Rooting the tree::
+* Local additions::
+* Duplicate filenames::
+
+Top-level directories
+
+* Macros::
+* Fonts::
+* Non-font Metafont files::
+* MetaPost::
+* BibTeX::
+* Scripts::
+* Documentation::
+
+Macros
+
+* Extensions::
+
+Fonts
+
+* Font bitmaps::
+* Valid font bitmaps::
+
+Summary
+
+* Documentation tree summary::
+
+Unspecified pieces
+
+* Portable filenames::
+
+Implementation issues
+
+* Adoption of the TDS::
+* More on subdirectory searching::
+* Example implementation-specific trees::
+
+Example implementation-specific trees
+
+* AmiWeb2c 2.0::
+* Public DECUS TeX::
+* Web2c 7::
+
+Is there a better way?
+
+* Macro structure::
+* Font structure::
+* Documentation structure::
+
+Font structure
+
+* Font file type location::
+* Mode and resolution location::
+* Modeless bitmaps::
+
+
+File: tds.info, Node: Introduction, Next: General, Prev: Top, Up: Top
+
+1 Introduction
+**************
+
+TeX is a powerful, flexible typesetting system used by many people
+around the world. It is extremely portable and runs on virtually all
+operating systems. One unfortunate side effect of TeX's flexibility,
+however, is that there has been no single "right" way to install it.
+This has resulted in many sites having different installed arrangements.
+
+ The primary purpose of this document is to describe a standard TeX
+Directory Structure (TDS): a directory hierarchy for macros, fonts, and
+the other implementation-independent TeX system files. As a matter of
+practicality, this document also suggests ways to incorporate the rest
+of the TeX files into a single structure. The TDS has been designed to
+work on all modern systems. In particular, the Technical Working Group
+(TWG) believes it is usable under MacOS, MS-DOS, OS/2, Unix, VMS, and
+Windows NT. We hope that administrators and developers of both free
+and commercial TeX implementations will adopt this standard.
+
+ This document is intended both for the TeX system administrator at a
+site and for people preparing TeX distributions--everything from a
+complete runnable system to a single macro or style file. It may also
+help TeX users find their way around systems organized this way. It is
+not a tutorial: we necessarily assume knowledge of the many parts of a
+working TeX system. If you are unfamiliar with any of the programs or
+file formats we refer to, consult the references in Appendix *Note
+Related references::.
+
+* Menu:
+
+* History::
+* The role of the TDS::
+* Conventions::
+
+
+File: tds.info, Node: History, Next: The role of the TDS, Up: Introduction
+
+1.1 History
+===========
+
+Version 1.0 of the TDS was released in February 2003.
+
+ Version 1.1 was released in June 2004, with the following
+non-editorial changes:
+
+ * Inputs for TeX extensions included under `tex', instead of
+ in their own top-level directories (Section *Note Extensions::)
+
+ * New top-level directory `scripts' (Section *Note Scripts::).
+
+ * New subdirectories `lig', `opentype', `truetype', and
+ `type3' under `fonts' (Section *Note Fonts::).
+
+ * `enc', `lig', and `map' all use `SYNTAX/PACKAGE'
+ subdirectories (Section *Note Fonts::).
+
+ * `pfm' files specified to go under `type1', and `inf' files
+ under `afm' (Section *Note Fonts::).
+
+
+File: tds.info, Node: The role of the TDS, Next: Conventions, Prev: History, Up: Introduction
+
+1.2 The role of the TDS
+=======================
+
+The role of the TDS is to stabilize the organization of TeX-related
+software packages that are installed and in use, possibly on multiple
+platforms simultaneously.
+
+ At first glance, it may seem that the Comprehensive TeX Archive
+Network (CTAN) fulfills at least part of this role, but this is not the
+case. The role of CTAN is to simplify archiving and distribution, not
+installation and use.
+
+ In fact, the roles of the TDS and CTAN are frequently in conflict,
+as we will see. For distribution, many different types of files must
+be combined into a single unit; for use, it is traditional to segregate
+files (even similar files) from a single package into separate,
+occasionally distant, directories.
+
+
+File: tds.info, Node: Conventions, Prev: The role of the TDS, Up: Introduction
+
+1.3 Conventions
+===============
+
+In this document, `/' is used to separate filename components; for
+example, `texmf/fonts'. This is the Unix convention but the ideas are
+in no way Unix-specific.
+
+ In this document, "TeX" generally means the TeX system, including
+Metafont, DVI drivers, utilities, etc., not just the TeX program itself.
+
+ The word "package" in this document has its usual meaning: a set of
+related files distributed, installed, and maintained as a unit. This is
+_not_ a LaTeX2e package, which is a style file supplementing a document
+class.
+
+ We use the following typographic conventions:
+
+ * `literal' Literal text such as `filename' is typeset in typewriter
+ type.
+
+ * `REPLACEABLE' Replaceable text such as `PACKAGE', identifying a
+ class of things, is typeset in italics inside angle brackets.
+
+
+
+File: tds.info, Node: General, Next: Top-level directories, Prev: Introduction, Up: Top
+
+2 General
+*********
+
+This section describes common properties throughout the TDS tree.
+
+* Menu:
+
+* Subdirectory searching::
+* Rooting the tree::
+* Local additions::
+* Duplicate filenames::
+
+
+File: tds.info, Node: Subdirectory searching, Next: Rooting the tree, Up: General
+
+2.1 Subdirectory searching
+==========================
+
+Older TeX installations store large numbers of related files in single
+directories, for example, all `TFM' files and/or all TeX input files.
+
+ This monolithic arrangement hinders maintenance of a TeX system: it
+is difficult to determine what files are used by what packages, what
+files need to be updated when a new version is installed, or what files
+should be deleted if a package is removed. It is also a source of error
+if two or more packages happen to have input files with the same name.
+
+ Therefore, the TWG felt each package should be in a separate
+directory. But we recognized that explicitly listing all directories to
+be searched would be unbearable. A site may wish to install dozens of
+packages. Aside from anything else, listing that many directories would
+produce search paths many thousands of characters long, overflowing the
+available space on some systems.
+
+ Also, if all directories are explicitly listed, installing or
+removing a new package would mean changing a path as well as installing
+or removing the actual files. This would be a time-consuming and
+error-prone operation, even with implementations that provide some way
+to specify the directories to search at runtime. On systems without
+runtime configuration, it would require recompiling software, an
+intolerable burden.
+
+ As a result, the TWG concluded that a comprehensive TDS requires
+implementations to support some form of implicit subdirectory
+searching. More precisely, implementations must make it possible to
+specify that TeX, Metafont, and their companion utilities search in both
+a specified directory and recursively through all subdirectories of that
+directory when looking for an input file. Other forms of subdirectory
+searching, for example recursive-to-one-level searches, may also be
+provided. We encourage implementors to provide subdirectory searching
+at the option of the installer and user for all paths.
+
+ The TDS does not specify a syntax for specifying recursive
+searching, but we encourage implementors to provide interoperability
+(see Section *Note More on subdirectory searching::).
+
+
+File: tds.info, Node: Rooting the tree, Next: Local additions, Prev: Subdirectory searching, Up: General
+
+2.2 Rooting the tree
+====================
+
+In this document, we shall designate the root TDS directory by `texmf'
+(for "TeX and Metafont"). We recommend using that name where possible,
+but the actual name of the directory is up to the installer. On PC
+networks, for example, this could map to a logical drive specification
+such as `T:'.
+
+ Similarly, the location of this directory on the system is
+site-dependent. It may be at the root of the file system; on Unix
+systems, `/usr/local/share', `/usr/local', `/usr/local/lib', and `/opt'
+are common choices.
+
+ The name `texmf' was chosen for several reasons: it reflects the fact
+that the directory contains files pertaining to an entire TeX system
+(including Metafont, MetaPost, BibTeX, etc.), not just TeX itself; and
+it is descriptive of a generic installation rather than a particular
+implementation.
+
+ A site may choose to have more than one TDS hierarchy installed (for
+example, when installing an upgrade). This is perfectly legitimate.
+
+
+File: tds.info, Node: Local additions, Next: Duplicate filenames, Prev: Rooting the tree, Up: General
+
+2.3 Local additions
+===================
+
+The TDS cannot specify precisely when a package is or is not a "local
+addition". Each site must determine this according to its own
+conventions. At the two extremes, one site might wish to consider
+"nonlocal" all files not acquired as part of the installed TeX
+distribution; another site might consider "local" only those files that
+were actually developed at the local site and not distributed elsewhere.
+
+ We recognize two common methods for local additions to a distributed
+`texmf' tree. Both have their place; in fact, some sites employ both
+simultaneously:
+
+ 1. A completely separate tree which is a TDS structure itself; for
+ example, `/usr/local/umbtex' at the University of Massachusetts at
+ Boston. This is another example of the multiple `texmf'
+ hierarchies mentioned in the previous section.
+
+ 2. A directory named `local' at any appropriate level, for example,
+ in the `FORMAT', `PACKAGE', and `SUPPLIER' directories discussed
+ in the following sections. The TDS reserves the directory name
+ `local' for this purpose.
+
+ We recommend using `local' for site-adapted configuration files,
+ such as `language.dat' for the Babel package or `graphics.cfg' for
+ the graphics package. Unmodified configuration files from a
+ package should remain in the package directory. The intent is to
+ separate locally modified or created files from distribution
+ files, to ease installing new releases.
+
+
+ One common case of local additions is dynamically generated files,
+e.g., PK fonts by the `mktexpk' script (which originated in Dvips as
+`MakeTeXPK'). A site may store the generated files directly in any of:
+ * their standard location in the main TDS tree (if it can be made
+ globally writable);
+
+ * an alternative location in the main TDS tree (for example, under
+ `texmf/fonts/tmp');
+
+ * a second complete TDS tree (as outlined above);
+
+ * any other convenient directory (perhaps under `/var', for example
+ `/var/spool/fonts').
+
+
+ No one solution will be appropriate for all sites.
+
+
+File: tds.info, Node: Duplicate filenames, Prev: Local additions, Up: General
+
+2.4 Duplicate filenames
+=======================
+
+Different files by the same name may exist in a TDS tree. The TDS
+generally leaves unspecified which of two files by the same name in a
+search path will be found, so generally the only way to reliably find a
+given file is for it to have a unique name. However, the TDS requires
+implementations to support the following exceptions:
+
+ * Names of TeX input files must be unique within each first-level
+ subdirectory of `texmf/tex' and `texmf/tex/generic', but not
+ within all of `texmf/tex'; i.e., different TeX formats may have
+ files by the same name. (Section *Note Macros:: discusses this
+ further.) Thus, no single format-independent path specification,
+ such as a recursive search beginning at `texmf/tex' specifying no
+ other directories, suffices. So implementations must provide
+ format-dependent path specifications, for example via wrapper
+ scripts or configuration files.
+
+ * Many font files will have the same name (e.g., `cmr10.pk'), as
+ discussed in Section *Note Valid font bitmaps::. Implementations
+ must distinguish these files by mode and resolution.
+
+
+ All implementations we know of already have these capabilities.
+
+ One place where duplicate names are likely to occur is not an
+exception:
+
+ * Names of Metafont input files (as opposed to bitmaps) must be
+ unique within all of `texmf/fonts'. In practice, this is a problem
+ with some variants of Computer Modern which contain slightly
+ modified files named `punct.mf', `romanl.mf', and so on. We
+ believe the only feasible solution is to rename the derivative
+ files to be unique.
+
+
+
+File: tds.info, Node: Top-level directories, Next: Summary, Prev: General, Up: Top
+
+3 Top-level directories
+***********************
+
+The directories under the `texmf' root identify the major components of
+a TeX system (see Section *Note Summary:: for a summary). A site may
+omit any unneeded directories.
+
+ Although the TDS by its nature can specify precise locations only
+for implementation-independent files, we recognize that installers may
+well wish to place other files under `texmf' to simplify administration
+of the TeX tree, especially if it is maintained by someone other than
+the system administrator. Therefore, additional top-level directories
+may be present.
+
+ The top-level directories specified by the TDS are:
+
+ * `tex' for TeX files (Section *Note Macros::).
+
+ * `fonts' for font-related files (Section *Note Fonts::).
+
+ * `metafont' for Metafont files which are not fonts (Section *Note
+ Non-font Metafont files::).
+
+ * `metapost' for MetaPost files (Section *Note MetaPost::).
+
+ * `bibtex' for BibTeX files (Section *Note BibTeX::).
+
+ * `scripts' for platform-independent executables (Section *Note
+ Scripts::).
+
+ * `doc' for user documentation (Section *Note Documentation::).
+
+ * `source' for sources. This includes both traditional program
+ sources (for example, Web2C sources go in `texmf/source/web2c')
+ and, e.g., LaTeX `dtx' sources (which go in `texmf/source/latex').
+ The TDS leaves unspecified any structure under `source'.
+
+ `source' is intended for files which are not needed at runtime by
+ any TeX program; it should not be included in any search path. For
+ example, `plain.tex' does not belong under `texmf/source', even
+ though it is a "source file" in the sense of not being derived
+ from another file. (It goes in `texmf/tex/plain/base', as explained
+ in Section *Note Macros::).
+
+ * `IMPLEMENTATION' for implementations (examples: `emtex', `vtex',
+ `web2c'), to be used for whatever purpose deemed suitable by the
+ implementor or TeX administrator. That is, files that cannot be
+ shared between implementations, such as pool files (`tex.pool')
+ and memory dump files (`plain.fmt') go here, in addition to
+ implementation-wide configuration files. See Section *Note
+ Example implementation-specific trees:: for examples of real
+ `IMPLEMENTATION' trees.
+
+ Such implementation-specific configuration files should _not_ be
+ located using the main TeX input search path (e.g., `TEXINPUTS').
+ This must be reserved for files actually read by a TeX engine.
+ See Section *Note Extensions::.
+
+ * `PROGRAM' for program-specific input and configuration files for
+ any TeX-related programs (examples: `mft', `dvips'). In fact, the
+ `tex', `metafont', `metapost', and `bibtex' items above may all be
+ seen as instances of this case.
+
+
+* Menu:
+
+* Macros::
+* Fonts::
+* Non-font Metafont files::
+* MetaPost::
+* BibTeX::
+* Scripts::
+* Documentation::
+
+
+File: tds.info, Node: Macros, Next: Fonts, Up: Top-level directories
+
+3.1 Macros
+==========
+
+TeX macro files shall be stored in separate directories, segregated by
+TeX format and package name (we use `format' in its traditional TeX
+sense to mean a usefully `\dump'-able package):
+ texmf/tex/FORMAT/PACKAGE/
+
+ * `FORMAT' is a format name (examples: `amstex', `latex', `plain',
+ `texinfo').
+
+ The TDS allows distributions that can be used as either formats or
+ packages (e.g., Texinfo, Eplain) to be stored at either level, at
+ the option of the format author or TeX administrator. We recommend
+ that packages used as formats at a particular site be stored at the
+ `FORMAT' level: by adjusting the TeX inputs search path, it will
+ be straightforward to use them as macro packages under another
+ format, whereas placing them in another tree completely obscures
+ their use as a format.
+
+ The TDS reserves the following `FORMAT' names:
+
+ * `generic', for input files that are useful across a wide
+ range of formats (examples: `null.tex', `path.sty').
+ Generally, this means any format that uses the category codes
+ of Plain TeX and does not rely on any particular format.
+ This is in contrast to those files which are useful only with
+ Plain TeX (which go under `texmf/tex/plain'), e.g.,
+ `testfont.tex' and `plain.tex' itself.
+
+ * `local', for local additions. See Section *Note Local
+ additions::.
+
+
+ Thus, for almost every format, it is necessary to search at least
+ the `FORMAT' directory and then the `generic' directory (in that
+ order). Other directories may need to be searched as well,
+ depending on the format. When using AMS-TeX, for example, the
+ `amstex', `plain', and `generic' directories should be searched,
+ because AMS-TeX is compatible with Plain.
+
+ * `PACKAGE' is a TeX package name (examples: `babel', `texdraw').
+
+ In the case where a format consists of only a single file and has
+ no auxiliary packages, that file can simply be placed in the
+ `FORMAT' directory, instead of `FORMAT/base'. For example,
+ Texinfo may go in `texmf/tex/texinfo/texinfo.tex', not
+ `texmf/tex/texinfo/base/texinfo.tex'.
+
+ The TDS reserves the following `PACKAGE' names:
+
+ * `base', for the base distribution of each format, including
+ files used by INITEX when dumping format files. For example,
+ in the standard LaTeX distribution, the `ltx' files created
+ during the build process. Another example: the `.ini' driver
+ files for formats used by TeX Live and other distributions.
+
+ * `hyphen', for hyphenation patterns, including the original
+ American English `hyphen.tex'. These are typically used only
+ by INITEX. In most situations, this directory need exist
+ only under the `generic' format.
+
+ * `images', for image input files, such as Encapsulated
+ PostScript figures. Although it is somewhat non-intuitive for
+ these to be under a directory named `tex', TeX needs to read
+ these files to glean bounding box or other information. A
+ mechanism for sharing image inputs between TeX and other
+ typesetting programs (e.g., Interleaf, FrameMaker) is beyond
+ the scope of the TDS. In most situations, this directory need
+ exist only under the `generic' format.
+
+ * `local', for local additions and configuration files. See
+ Section *Note Local additions::.
+
+ * `misc', for packages that consist of a single file. An
+ administrator or package maintainer may create directories for
+ single-file packages at their discretion, instead of using
+ `misc'.
+
+
+
+* Menu:
+
+* Extensions::
+
+
+File: tds.info, Node: Extensions, Up: Macros
+
+3.1.1 Extensions
+----------------
+
+TeX has spawned many companion and successor programs ("engines"), such
+as PDFTeX, Omega, and others. The TDS specifies that the input files
+for such programs (using a TeX-like syntax) be placed within the
+top-level `tex' directory, either at the top level or within a format
+subdirectory, even though the original TeX program may not be able to
+read them. For example:
+
+ texmf/tex/aleph
+ texmf/tex/enctex
+
+ This is a change from TDS 1.0, which specified top-level `EXTENSION'
+directories for each such program. We felt the new approach is
+preferable, because:
+
+ * Authors of relevant packages typically make their code detect the
+ engine being used, and issue error messages or adapt to
+ circumstances appropriately. Furthermore, as a package matures,
+ it may support multiple engines. Thus, a package could
+ conceivably be placed in any of several top-level directories, at
+ different times. Putting all packages under the top-level `tex'
+ directory provides a stable location over time.
+
+ * Users need to be able to switch between engines, and configuring
+ different search paths for each engine is difficult and
+ error-prone.
+
+
+ Thus, in practice, having different top-level directories caused
+difficulties for everyone involved--users, package authors, site
+administrators, and system distributors.
+
+ Please contrast this approach with the `IMPLEMENTATION' top-level
+subdirectory (Section *Note Top-level directories::), which is to be
+used for configuration files that (presumably) do not use TeX syntax
+and in any case should not be found along the main TeX input search
+path.
+
+
+File: tds.info, Node: Fonts, Next: Non-font Metafont files, Prev: Macros, Up: Top-level directories
+
+3.2 Fonts
+=========
+
+Font files are stored in separate directories, segregated by file type,
+and then (in most cases) font supplier and typeface. PK and GF files
+need additional structure, as detailed in the next section.
+
+ texmf/fonts/TYPE/SUPPLIER/TYPEFACE/
+ texmf/fonts/enc,lig,map/SUBPATH/
+
+ * `TYPE' is the type of font file. The TDS reserves the following
+ `TYPE' names for common TeX file types:
+
+ * `afm', for Adobe font metrics, and `inf' files.
+
+ * `gf', for generic font bitmap files.
+
+ * `opentype', for OpenType fonts.
+
+ * `pk', for packed bitmap files.
+
+ * `source', for font sources (Metafont files, property lists,
+ etc.).
+
+ * `tfm', for TeX font metric files.
+
+ * `truetype', for TrueType fonts.
+
+ * `type1', for PostScript Type 1 fonts (in `pfa', `pfb',
+ or any other format), and `pfm' files.
+
+ * `type3', for PostScript Type 3 fonts.
+
+ * `vf', for virtual fonts.
+
+ The TDS also reserves the names `enc', `lig', and `map' for font
+ encoding, ligature, and mapping files, respectively. All of these
+ directories are structured the same way, with `SYNTAX'
+ subdirectories, and then `PACKAGE' subsubdirectories. Each of
+ these file types is intended to be searched along its own
+ recursively-searched path. The names of the actual files must be
+ unique within their subtree, as usual. Examples:
+ fonts/map/dvipdfm/updmap/dvipdfm.map
+ fonts/map/dvips/lm/lm.map
+ fonts/enc/dvips/base/8r.enc
+
+ The Fontname and Dvips packages have more examples of the `enc' and
+ `map' types. The `afm2pl' program uses `lig' files.
+
+ `pfm' files are included in the `type1' directory, instead of
+ being given their own directory, for two reasons: 1) a `.pfm' file
+ is always an adjunct to a given `.pfb' file; 2) they must be
+ installed from the same directory for Windows programs other than
+ TeX to use them.
+
+ `inf' files are included in the `afm' directory, since an `inf'
+ and `afm' file can be used to generate a `pfm'. (Unfortunately,
+ Adobe Type Manager and perhaps other software requires that the
+ `pfb' be in the same directory as `afm' and `inf' for
+ installation.)
+
+ As usual, a site may omit any of these directories that are
+ unnecessary. `gf' is a particularly likely candidate for omission.
+
+ * `SUPPLIER' is a name identifying font source (examples: `adobe',
+ `ams', `public'). The TDS reserves the following `SUPPLIER' names:
+
+ * `ams', for the American Mathematical Society's AMS-fonts
+ collection.
+
+ * `local', for local additions. See Section *Note Local
+ additions::.
+
+ * `public', for freely redistributable fonts where the supplier
+ neither (1) requested their own directory (e.g., `ams'), nor
+ (2) also made proprietary fonts (e.g., `adobe'). It does not
+ contain all extant freely distributable fonts, nor are all
+ files therein necessarily strictly public domain.
+
+ * `tmp', for dynamically-generated fonts, as is traditional on
+ some systems. It may be omitted if unnecessary, as usual.
+
+
+ * `TYPEFACE' is the name of a typeface family (examples: `cm',
+ `euler', `times'). The TDS reserves the following `TYPEFACE' names:
+
+ * `cm' (within `public'), for the 75 fonts defined in
+ `Computers and Typesetting, Volume E'.
+
+ * `latex' (within `public'), for those fonts distributed with
+ LaTeX in the base distribution.
+
+ * `local', for local additions. See Section *Note Local
+ additions::.
+
+
+
+ Some concrete examples:
+ texmf/fonts/source/public/pandora/pnr10.mf
+ texmf/fonts/tfm/public/cm/cmr10.tfm
+ texmf/fonts/type1/adobe/utopia/putr.pfa
+
+ For complete supplier and typeface name lists, consult `Filenames
+for TeX fonts' (see Appendix *Note Related references::).
+
+* Menu:
+
+* Font bitmaps::
+* Valid font bitmaps::
+
+
+File: tds.info, Node: Font bitmaps, Next: Valid font bitmaps, Up: Fonts
+
+3.2.1 Font bitmaps
+------------------
+
+Font bitmap files require two characteristics in addition to the above
+to be uniquely identifiable: (1) the type of device (i.e., mode) for
+which the font was created; (2) the resolution of the bitmap.
+
+ Following common practice, the TDS segregates fonts with different
+device types into separate directories. See `modes.mf' in
+Appendix *Note Related references:: for recommended mode names.
+
+ Some printers operate at more than one resolution (e.g., at 300dpi
+and 600dpi), but each such resolution will necessarily have a different
+mode name. Nothing further is needed, since implicit in the TeX system
+is the assumption of a single target resolution.
+
+ Two naming strategies are commonly used to identify the resolution of
+bitmap font files. On systems that allow long filenames (and in the
+original Metafont program itself), the resolution is included in the
+filename (e.g., `cmr10.300pk'). On systems which do not support long
+filenames, fonts are generally segregated into directories by
+resolution (e.g., `dpi300/cmr10.pk').
+
+ Because the TDS cannot require long filenames, we must use the
+latter scheme for naming fonts. So we have two more subdirectory levels
+under `pk' and `gf':
+
+ texmf/fonts/pk/MODE/SUPPLIER/TYPEFACE/dpiNNN/
+ texmf/fonts/gf/MODE/SUPPLIER/TYPEFACE/dpiNNN/
+
+ * `MODE' is a name which identifies the device type (examples: `cx',
+ `ljfour', `modeless'). Usually, this is the name of the Metafont
+ mode used to build the PK file. For fonts rendered as bitmaps by
+ a program that does not distinguish between different output
+ devices, the `MODE' name shall be simply `modeless'. The `MODE'
+ level shall not be omitted, even if only a single mode happens to
+ be in use.
+
+ * `dpiNNN' specifies the resolution of the font (examples: `dpi300',
+ `dpi329'). `dpi' stands for dots per inch, i.e., pixels per inch.
+ We recognize that pixels per millimeter is used in many parts of
+ the world, but dpi is too traditional in the TeX world to consider
+ changing now.
+
+ The integer `NNN' is to be calculated as if using Metafont
+ arithmetic and then rounded; i.e., it is the integer Metafont uses
+ in its output `gf' filename. We recognize small differences in the
+ resolution are a common cause of frustration among users, however,
+ and recommend implementors follow the level 0 DVI driver standard
+ (see Appendix *Note Related references::) in bitmap font searches
+ by allowing a fuzz of +-0.2% (with a minimum of 1) in the `DPI'.
+
+
+ Implementations may provide extensions to the basic naming scheme,
+such as long filenames (as in the original Metafont) and font library
+files (as in emTeX's `.fli' files), provided that the basic scheme is
+also supported.
+
+
+File: tds.info, Node: Valid font bitmaps, Prev: Font bitmaps, Up: Fonts
+
+3.2.2 Valid font bitmaps
+------------------------
+
+The TWG recognizes that the use of short filenames has many
+disadvantages. The most vexing is that it results in the creation of
+dozens of different files with the same name. At a typical site,
+`cmr10.pk' will be the filename for Computer Modern Roman 10pt at 5-10
+magnifications for 2-3 modes. (Section *Note Duplicate filenames::
+discusses duplicate filenames in general.)
+
+ To minimize this problem, we strongly recommend that PK files
+contain enough information to identify precisely how they were created:
+at least the mode, base resolution, and magnification used to create the
+font.
+
+ This information is easy to supply: a simple addition to the local
+modes used for building the fonts with Metafont will automatically
+provide the required information. If you have been using a local modes
+file derived from (or that is simply) `modes.mf' (see Appendix *Note
+Related references::), the required information is already in your PK
+files. If not, a simple addition based on the code found in `modes.mf'
+can be made to your local modes file and the PK files rebuilt.
+
+
+File: tds.info, Node: Non-font Metafont files, Next: MetaPost, Prev: Fonts, Up: Top-level directories
+
+3.3 Non-font Metafont files
+===========================
+
+Most Metafont input files are font programs or parts of font programs
+and are thus covered by the previous section. However, a few non-font
+input files do exist. Such files shall be stored in:
+
+ texmf/metafont/PACKAGE/
+
+ `PACKAGE' is the name of a Metafont package (for example, `mfpic').
+
+ The TDS reserves the following `PACKAGE' names:
+
+ * `base', for the standard Metafont macro files as described in `The
+ Metafontbook', such as `plain.mf' and `expr.mf'.
+
+ * `local', for local additions. See Section *Note Local additions::.
+
+ * `misc', for Metafont packages consisting of only a single file
+ (for example, `modes.mf'). An administrator or package maintainer
+ may create directories for single-file packages at their
+ discretion, instead of using `misc'.
+
+
+
+File: tds.info, Node: MetaPost, Next: BibTeX, Prev: Non-font Metafont files, Up: Top-level directories
+
+3.4 MetaPost
+============
+
+MetaPost is a picture-drawing language developed by John Hobby, derived
+from Knuth's Metafont. Its primary purpose is to output Encapsulated
+PostScript instead of bitmaps.
+
+ MetaPost input files and the support files for MetaPost-related
+utilities shall be stored in:
+
+ texmf/metapost/PACKAGE/
+
+ `PACKAGE' is the name of a MetaPost package. At the present writing
+none exist, but the TWG thought it prudent to leave room for
+contributed packages that might be written in the future.
+
+ The TDS reserves the following `PACKAGE' names:
+
+ * `base', for the standard MetaPost macro files, such as `plain.mp',
+ `mfplain.mp', `boxes.mp', and `graph.mp'. This includes files
+ used by INIMP when dumping mem files containing preloaded macro
+ definitions.
+
+ * `local', for local additions. See Section *Note Local additions::.
+
+ * `misc', for MetaPost packages consisting of only a single file.
+ An administrator or package maintainer may create directories for
+ single-file packages at their discretion, instead of using `misc'.
+
+ * `support', for additional input files required by MetaPost utility
+ programs, including a font map, a character adjustment table, and
+ a subdirectory containing low-level MetaPost programs for rendering
+ some special characters.
+
+
+
+File: tds.info, Node: BibTeX, Next: Scripts, Prev: MetaPost, Up: Top-level directories
+
+3.5 BibTeX
+==========
+
+BibTeX-related files shall be stored in:
+
+ texmf/bibtex/bib/PACKAGE/
+ texmf/bibtex/bst/PACKAGE/
+
+ The `bib' directory is for BibTeX database (`.bib') files, the `bst'
+directory for style (`.bst') files.
+
+ `PACKAGE' is the name of a BibTeX package. The TDS reserves the
+following `PACKAGE' names (the same names are reserved under both `bib'
+and `bst'):
+
+ * `base', for the standard BibTeX databases and styles, such as
+ `xampl.bib', `plain.bst'.
+
+ * `local', for local additions. See Section *Note Local additions::.
+
+ * `misc', for BibTeX packages consisting of only a single file. An
+ administrator or package maintainer may create directories for
+ single-file packages at their discretion, instead of using `misc'.
+
+
+
+File: tds.info, Node: Scripts, Next: Documentation, Prev: BibTeX, Up: Top-level directories
+
+3.6 Scripts
+===========
+
+The top-level `scripts' directory is for platform-independent
+executables, such as Perl, Python, and shell scripts, and Java class
+files. Subdirectories under `scripts' are package names. This eases
+creating distributions, by providing a common place for such
+platform-independent programs.
+
+ The intent is not for all such directories to be added to a user's
+command search path, which would be quite impractical. Rather, these
+executables are primarily for the benefit of wrapper scripts in whatever
+executable directory a distribution may provide (which is not specified
+by the TDS).
+
+ Truly auxiliary scripts which are invoked directly by other programs,
+rather than wrapper scripts, may also be placed here. That is,
+`scripts' also serves as a platform-independent analog of the standard
+Unix `libexec' directory.
+
+ We recommend using extensions specifying the language (such as
+`.pl', `.py', `.sh') on these files, to help uniquely identify the
+name. Since the intent of the TDS is for programs in `scripts' not to
+be invoked directly by users, this poses no inconvenience.
+
+ For example, in the TeX Live distribution, the ConTeXt user-level
+program `texexec' can exist as a small wrapper script in each
+`bin/PLATFORM/texexec' (which is outside the `texmf' tree), which
+merely finds and calls `texmf/scripts/context/perl/texexec.pl'.
+
+ Examples:
+ scripts/context/perl/texexec.pl
+ scripts/context/ruby/examplex.rb
+ scripts/thumbpdf/thumbpdf.pl
+
+ The TDS does not specify a location for platform-dependent binary
+executables, whether auxiliary or user-level.
+
+
+File: tds.info, Node: Documentation, Prev: Scripts, Up: Top-level directories
+
+3.7 Documentation
+=================
+
+Most packages come with some form of documentation: user manuals,
+example files, programming guides, etc. In addition, many independent
+files not part of any macro or other package have been created to
+describe various aspects of the TeX system.
+
+ The TDS specifies that these additional documentation files shall be
+stored in a structure that parallels to some extent the `fonts' and
+`tex' directories, as follows:
+
+ texmf/doc/CATEGORY/...
+
+ `CATEGORY' identifies the general topic of documentation that
+resides below it; for example, a TeX format name (`latex'), program
+name (`bibtex', `tex'), language (`french', `german'), a file format
+(`info', `man'), or other system components (`web', `fonts').
+
+ One possible arrangement is to organize `doc' by language, with all
+the other category types below that. This helps users find
+documentation in the language(s) in which they are fluent. Neither this
+nor any other particular arrangement is required, however.
+
+ Within each `CATEGORY' tree for a TeX format, the directory `base'
+is reserved for base documentation distributed by the format's
+maintainers.
+
+ The TDS reserves the following category names:
+
+ * `general', for standalone documents not specific to any particular
+ program (for example, Joachim Schrod's `Components of TeX').
+
+ * `help', for meta-information, such as FAQ's, the TeX Catalogue,
+ etc.
+
+ * `info', for processed Texinfo documents. (Info files, like
+ anything else, may also be stored outside the TDS, at the
+ installer's option.)
+
+ * `local', for local additions. See Section *Note Local additions::.
+
+
+ The `doc' directory is intended for implementation-independent and
+operating system-independent documentation files.
+Implementation-dependent files are best stored elsewhere, as provided
+for by the implementation and/or TeX administrator (for example, VMS
+help files under `texmf/vms/help').
+
+ The documentation directories may contain TeX sources, DVI files,
+PostScript files, text files, example input files, or any other useful
+documentation format(s).
+
+ See Section *Note Documentation tree summary:: for a summary.
+
+
+File: tds.info, Node: Summary, Next: Unspecified pieces, Prev: Top-level directories, Up: Top
+
+4 Summary
+*********
+
+A skeleton of a TDS `texmf' directory tree. This is not to imply these
+are the only entries allowed. For example, `local' may occur at any
+level.
+
+ bibtex/ BibTeX input files
+ bib/ BibTeX databases
+ base/ base distribution (e.g., `xampl.bib')
+ misc/ single-file databases
+ <package>/ name of a package
+ bst/ BibTeX style files
+ base/ base distribution (e.g., `plain.bst', `acm.bst')
+ misc/ single-file styles
+ <package>/ name of a package
+ doc/ see Section *Note Documentation:: and the summary below
+ fonts/ font-related files
+ <type>/ file type (e.g., `pk')
+ <mode>/ type of output device (for `pk' and `gf' only)
+ <supplier>/ name of a font supplier (e.g., `public')
+ <typeface>/ name of a typeface (e.g., `cm')
+ dpi<nnn>/ font resolution (for `pk' and `gf' only)
+ <implementation>/ TeX implementations, by name (e.g., `emtex')
+ local/ files created or modified at the local site
+ metafont/ Metafont (non-font) input files
+ base/ base distribution (e.g., `plain.mf')
+ misc/ single-file packages (e.g., `modes.mf')
+ <package>/ name of a package (e.g., `mfpic')
+ metapost/ MetaPost input and support files
+ base/ base distribution (e.g., `plain.mp')
+ misc/ single-file packages
+ <package>/ name of a package
+ support/ support files for MetaPost-related utilities
+ mft/ `MFT' inputs (e.g., `plain.mft')
+ <program>/ TeX-related programs, by name (e.g., `dvips')
+ source/ program source code by name (e.g., `latex', `web2c')
+ tex/ TeX input files
+ <engine>/ name of an engine (e.g., `aleph'); can also be lower
+ <format>/ name of a format (e.g., `plain')
+ base/ base distribution for format (e.g., `plain.tex')
+ misc/ single-file packages (e.g., `webmac.tex')
+ local/ local additions to or local configuration files for `FORMAT'
+ <package>/ name of a package (e.g., `graphics', `mfnfss')
+ generic/ format-independent packages
+ hyphen/ hyphenation patterns (e.g., `hyphen.tex')
+ images/ image input files (e.g., Encapsulated PostScript)
+ misc/ single-file format-independent packages (e.g., `null.tex').
+ <package>/ name of a package (e.g., `babel')
+
+* Menu:
+
+* Documentation tree summary::
+
+
+File: tds.info, Node: Documentation tree summary, Up: Summary
+
+4.1 Documentation tree summary
+==============================
+
+An example skeleton of a TDS directory tree under `texmf/doc'. This is
+not to imply these are the only entries allowed, or that this structure
+must be followed precisely for the entries listed.
+
+ As mentioned, the `texmf/doc' tree may be organized by language, so
+that all documentation in French, say, is in a `french' subdirectory.
+In that case, the example structure here would be in a given language
+directory.
+
+ ams/
+ amsfonts/ `amsfonts.faq', `amfndoc'
+ amslatex/ `amslatex.faq', `amsldoc'
+ amstex/ `amsguide', `joyerr'
+ bibtex/ BibTeX
+ base/ `btxdoc.tex'
+ fonts/
+ fontname/ `Filenames for TeX fonts'
+ oldgerm/ `corkpapr'
+ <format>/ name of a TeX format (e.g., `generic', `latex')
+ base/ for the base distribution
+ misc/ for contributed single-file package documentation
+ <package>/ for _package_
+ general/ across programs, generalities
+ errata/ `errata', `errata[1-8]'
+ texcomp/ `Components of TeX'
+ help/ meta-information
+ ctan/ info about CTAN mirror sites
+ faq/ FAQs of `comp.text.tex', etc.
+ info/ GNU Info files, made from Texinfo sources
+ latex/ example of `FORMAT'
+ base/ `ltnews*', `*guide', etc.
+ graphics/ `grfguide'
+ local/ site-specific documentation
+ man/ Unix man pages
+ <program>/ TeX-related programs, by name (examples follow)
+ metafont/ `mfbook.tex', `metafont-for-beginners', etc.
+ metapost/ `mpman', `manfig', etc.
+ tex/ `texbook.tex', `A Gentle Introduction to TeX', etc.
+ web/ `webman', `cwebman'
+
+
+File: tds.info, Node: Unspecified pieces, Next: Implementation issues, Prev: Summary, Up: Top
+
+Appendix A Unspecified pieces
+*****************************
+
+The TDS cannot address the following aspects of a functioning TeX
+system:
+
+ 1. The location of executable programs: this is too site-dependent
+ even to recommend a location, let alone require one. A site may
+ place executables outside the `texmf' tree altogether (e.g.,
+ `/usr/local/bin'), in a platform-dependent directory within
+ `texmf', or elsewhere.
+
+ 2. Upgrading packages when new releases are made: we could find no
+ way of introducing version specifiers into `texmf' that would do
+ more good than harm, or that would be practical for even a
+ plurality of installations.
+
+ 3. The location of implementation-specific files (e.g., TeX `.fmt'
+ files): by their nature, these must be left to the implementor or
+ TeX maintainer. See Section *Note Example implementation-specific
+ trees::.
+
+ 4. Precisely when a package or file should be considered "local", and
+ where such local files are installed. See Section *Note Local
+ additions:: for more discussion.
+
+
+* Menu:
+
+* Portable filenames::
+
+
+File: tds.info, Node: Portable filenames, Up: Unspecified pieces
+
+A.1 Portable filenames
+======================
+
+The TDS cannot require any particular restriction on filenames in the
+tree, since the names of many existing TeX files conform to no standard
+scheme. For the benefit of people who wish to make a portable TeX
+distribution or installation, however, we outline here the necessary
+restrictions. The TDS specifications themselves are compatible with
+these.
+
+ ISO-9660 is the only universally acceptable file system format for
+CD-ROMs. A subset thereof meets the stringent limitations of all
+operating systems in use today. It specifies the following:
+
+ * File and directory names, not including any directory path or
+ extension part, may not exceed eight characters.
+
+ * Filenames may have a single extension. Extensions may not exceed
+ three characters. Directory names may not have an extension.
+
+ * Names and extensions may consist of _only_ the characters `A'-`Z',
+ `0'-`9', and underscore. Lowercase letters are excluded.
+
+ * A period separates the filename from the extension and is always
+ present, even if the name or extension is missing (e.g.,
+ `FILENAME.' or `.EXT').
+
+ * A version number, ranging from 1-32767, is appended to the file
+ extension, separated by a semicolon (e.g., `FILENAME.EXT;1').
+
+ * Only eight directory levels are allowed, including the top-level
+ (mounted) directory (see Section *Note Rooting the tree::). Thus,
+ the deepest valid ISO-9660 path is:
+ texmf/L2/L3/L4/L5/L6/L7/L8/FOO.BAR;1
+ 1 2 3 4 5 6 7 8
+ The deepest TDS path needs only seven levels:
+ texmf/fonts/pk/cx/public/cm/dpi300/cmr10.pk
+ 1 2 3 4 5 6 7
+
+
+ Some systems display a modified format of ISO-9660 names, mapping
+alphabetic characters to lowercase, removing version numbers and
+trailing periods, etc.
+
+ Before the December 1996 release, LaTeX used mixed-case names for
+font descriptor files. Fortunately, it never relied on case alone to
+distinguish among the files. Nowadays, it uses only monocase names.
+
+
+File: tds.info, Node: Implementation issues, Next: Is there a better way?, Prev: Unspecified pieces, Up: Top
+
+Appendix B Implementation issues
+********************************
+
+We believe that the TDS can bring a great deal of order to the current
+anarchic state of many TeX installations. In addition, by providing a
+common frame of reference, it will ease the burden of documenting
+administrative tasks. Finally, it is a necessary part of any
+reasonable system of true "drop-in" distribution packages for TeX.
+
+* Menu:
+
+* Adoption of the TDS::
+* More on subdirectory searching::
+* Example implementation-specific trees::
+
+
+File: tds.info, Node: Adoption of the TDS, Next: More on subdirectory searching, Up: Implementation issues
+
+B.1 Adoption of the TDS
+=======================
+
+[This section is retained for historical purposes; the TDS is now quite
+firmly entrenched in most TeX distributions.]
+
+ We recognize that adoption of the TDS will not be immediate or
+universal. Most TeX administrators will not be inclined to make the
+final switch until:
+
+ * Clear and demonstrable benefits can be shown for the TDS.
+
+ * TDS-compliant versions of all key programs are available in
+ ported, well-tested forms.
+
+ * A "settling" period has taken place, to flush out problems. The
+ public release of the first draft of this document was the first
+ step in this process.
+
+ Consequently, most of the first trials of the TDS will be made by
+members of the TDS committee and/or developers of TeX-related software.
+This has already taken place during the course of our deliberations
+(see Appendix *Note Related references:: for a sample tree available
+electronically). They will certainly result in the production of a
+substantial number of TDS-compliant packages. Indeed, the teTeX and
+TeX Live distributions are TDS-compliant and in use now at many sites.
+
+ Once installable forms of key TDS-compliant packages are more
+widespread, some TeX administrators will set up TDS-compliant trees,
+possibly in parallel to existing production directories. This testing
+will likely flush out problems that were not obvious in the confined
+settings of the developers' sites; for example, it should help to
+resolve system and package dependencies, package interdependencies, and
+other details not addressed by this TDS version.
+
+ After most of the dust has settled, hopefully even conservative TeX
+administrators will begin to adopt the TDS. Eventually, most TeX sites
+will have adopted the common structure, and most packages will be
+readily available in TDS-compliant form.
+
+ We believe that this process will occur relatively quickly. The TDS
+committee spans a wide range of interests in the TeX community.
+Consequently, we believe that most of the key issues involved in
+defining a workable TDS definition have been covered, often in detail.
+TeX developers have been consulted about implementation issues, and
+have been trying out the TDS arrangement. Thus, we hope for few
+surprises as implementations mature.
+
+ Finally, there are several (current or prospective) publishers of TeX
+CD-ROMs. These publishers are highly motivated to work out details of
+TDS implementation, and their products will provide inexpensive and
+convenient ways for experimentally-minded TeX administrators to
+experiment with the TDS.
+
+
+File: tds.info, Node: More on subdirectory searching, Next: Example implementation-specific trees, Prev: Adoption of the TDS, Up: Implementation issues
+
+B.2 More on subdirectory searching
+==================================
+
+Recursive subdirectory searching is the ability to specify a search not
+only of a specified directory `D', but recursively of all directories
+below `D'.
+
+ Since the TDS specifies precise locations for most files, with no
+extra levels of subdirectories allowed, true recursive searching is not
+actually required for a TDS-compliant implementation. We do, however,
+strongly recommend recursive searching as the most user-friendly and
+natural approach to the problem, rather than convoluted methods to
+specify paths without recursion.
+
+ This feature is already supported by many implementations of TeX and
+companion utilities, for example DECUS TeX for VMS, Dvips(k), emTeX
+(and its drivers), PubliC TeX, Web2C, Xdvi(k), and Y&YTeX. The
+Kpathsea library is a reusable implementation of subdirectory searching
+for TeX, used in a number of the above programs.
+
+ Even if your TeX implementation does not directly support
+subdirectory searching, you may find it useful to adopt the structure if
+you do not use many fonts or packages. For instance, if you only use
+Computer Modern and AMS fonts, it would be feasible to store them in
+the TDS layout and list the directories individually in configuration
+files or environment variables.
+
+ The TWG recognizes that subdirectory searching places an extra
+burden on the system and may be the source of performance bottlenecks,
+particularly on slower machines. Nevertheless, we feel that
+subdirectory searching is imperative for a well-organized TDS, for the
+reasons stated in Section *Note Subdirectory searching::. Implementors
+are encouraged to provide enhancements to the basic principle of
+subdirectory searching to avoid performance problems, e.g., the use of
+a filename cache (this can be as simple as a recursive directory
+listing) that is consulted before disk searching begins. If a match is
+found in the database, subdirectory searching is not required, and
+performance is thus independent of the number of subdirectories present
+on the system.
+
+ Different implementations specify subdirectory searching differently.
+In the interest of typographic clarity, the examples here do not use the
+`REPLACEABLE' font.
+
+ * Dvips: via a separate `TEXFONTS_SUBDIR' environment variable.
+
+ * emTeX: `t:\subdir!!'; `t:\subdir!' for a single level of searching.
+
+ * Kpathsea: `texmf/subdir//'
+
+ * VMS: `texmf:[subdir...]'
+
+ * Xdvi (patchlevel 20): `texmf/subdir/**'; `texmf/subdir/*' for a
+ single level of searching. Version 20.50 and above support the
+ `//' notation.
+
+ * Y&Y TeX: `t:/subdir//' or `t:\subdir\\'.
+
+
+
+File: tds.info, Node: Example implementation-specific trees, Prev: More on subdirectory searching, Up: Implementation issues
+
+B.3 Example implementation-specific trees
+=========================================
+
+The TDS cannot specify a precise location for implementation-specific
+files, such as `texmf/ini', because a site may have multiple TeX
+implementations.
+
+ Nevertheless, for informative purposes, we provide here the default
+locations for some implementations. Please contact us with additions or
+corrections. These paths are not definitive, may not match anything at
+your site, and may change without warning.
+
+ We recommend all implementations have default search paths that start
+with the current directory (e.g., `.'). Allowing users to include the
+parent directory (e.g., `..') is also helpful.
+
+* Menu:
+
+* AmiWeb2c 2.0::
+* Public DECUS TeX::
+* Web2c 7::
+
+
+File: tds.info, Node: AmiWeb2c 2.0, Next: Public DECUS TeX, Up: Example implementation-specific trees
+
+B.3.1 AmiWeb2c 2.0
+------------------
+
+(Email <scherer@physik.rwth-aachen.de> to contact the maintainer of
+this implementation.)
+
+ AmiWeb2c 2 is compatible with Web2c 7 to the greatest possible
+extent, so only the very few differences are described in this section.
+Detailed information about the basic concepts is given in the section
+for Web2c 7 below.
+
+ Thanks to the `SELFAUTO' mechanism of Kpathsea 3.0 no specific
+location for the installation of AmiWeb2c is required as long as the
+general structure of the distribution is preserved.
+
+ In addition to Kpathsea's `//' notation recursive path search may
+also be started by `DEVICE:/', e.g., `TeXMF:/' will scan this specific
+device completely.
+
+ Binaries coming with the AmiWeb2c distribution are installed in the
+directory `bin/amiweb2c/' outside the common TDS tree `share/texmf/'.
+In addition to the set of AmiWeb2c binaries you will find two
+subdirectories `local/' and `pastex/' with auxiliary programs.
+
+ A stripped version of the PasTeX system (used by kind permission of
+Georg Hessmann) is coming with AmiWeb2c, pre-installed in its own
+`share/texmf/amiweb2c/pastex/' directory. If you want to use PasTeX
+you have to `assign' the name `TeX:' to this place.
+
+ Documentation files in AmigaGuide format should be stored at
+`doc/guide/' similar to `doc/info/'.
+
+
+File: tds.info, Node: Public DECUS TeX, Next: Web2c 7, Prev: AmiWeb2c 2.0, Up: Example implementation-specific trees
+
+B.3.2 Public DECUS TeX
+----------------------
+
+If another VMS implementation besides Public DECUS TeX appears, the top
+level implementation directory name will be modified to something more
+specific (e.g., `vms_decus').
+
+ texmf/
+ vms/ VMS implementation specific files
+ exe/ end-user commands
+ common/ command procedures, command definition files, etc.
+ axp/ binary executables for Alpha AXP
+ vax/ binary executables for VAX
+ formats/ pool files, formats, bases
+ help/ VMS help library, and miscellaneous help sources
+ mgr/ command procedures, programs, docs, etc., for system management
+
+
+File: tds.info, Node: Web2c 7, Prev: Public DECUS TeX, Up: Example implementation-specific trees
+
+B.3.3 Web2c 7
+-------------
+
+All implementation-dependent TeX system files (`.pool', `.fmt',
+`.base', `.mem') are stored by default directly in `texmf/web2c'. The
+configuration file `texmf.cnf' and various subsidiary `MakeTeX...'
+scripts used as subroutines are also stored there.
+
+ Non-TeX specific files are stored following the GNU coding
+standards. Given a root directory `PREFIX' (`/usr/local' by default),
+we have default locations as follows:
+
+ <prefix>/ installation root (`/usr/local' by default)
+ bin/ executables
+ man/ man pages
+ info/ info files
+ lib/ libraries (`libkpathsea.*')
+ share/ architecture-independent files
+ texmf/ TDS root
+ web2c/ implementation-dependent files (`.pool', `.fmt', `texmf.cnf', etc.)
+
+ See `http://www.gnu.org/prep/standards_toc.html' for the rationale
+behind and descriptions of this arrangement. A site may of course
+override these defaults; for example, it may put everything under a
+single directory such as `/usr/local/texmf'.
+
+
+File: tds.info, Node: Is there a better way?, Next: Related references, Prev: Implementation issues, Up: Top
+
+Appendix C Is there a better way?
+*********************************
+
+Defining the TDS required many compromises. Both the overall structure
+and the details of the individual directories were arrived at by
+finding common ground among many opinions. The driving forces were
+feasibility (in terms of what could technically be done and what could
+reasonably be expected from developers) and regularity (files grouped
+together in an arrangement that "made sense").
+
+ Some interesting ideas could not be applied due to implementations
+lacking the necessary support:
+
+ * Path searching control at the TeX level. If documents could
+ restrict subdirectory searching to a subdirectory via some portable
+ syntax in file names, restrictions on uniqueness of filenames
+ could be relaxed considerably (with the cooperation of the
+ formats), and the TeX search path would not need to depend on the
+ format.
+
+ * Multiple logical `texmf' trees. For example, a site might have one
+ (read-only) location for stable files, and a different (writable)
+ location for dynamically-created fonts or other files. It would be
+ reasonable for two such trees to be logically merged when
+ searching. See Michael Downes' article in the references for how
+ this can work in practice with Web2C.
+
+
+* Menu:
+
+* Macro structure::
+* Font structure::
+* Documentation structure::
+
+
+File: tds.info, Node: Macro structure, Next: Font structure, Up: Is there a better way?
+
+C.1 Macro structure
+===================
+
+The TWG settled on the `FORMAT/PACKAGE' arrangement after long
+discussion about how best to arrange the files.
+
+ The primary alternative to this arrangement was a scheme which
+reversed the order of these directories: `PACKAGE/FORMAT'. This
+reversed arrangement has a strong appeal: it keeps all of the files
+related to a particular package in a single place. The arrangement
+actually adopted tends to spread files out into two or three places
+(macros, documentation, and fonts, for example, are spread into
+different sections of the tree right at the top level).
+
+ Nevertheless, the `FORMAT/PACKAGE' structure won for a couple of
+reasons:
+
+ * It is closer to current practice; in fact, several members of the
+ TWG have already implemented the TDS hierarchy. The alternative
+ is not in use at any known site, and the TWG felt it wrong to
+ mandate something with which there is no practical experience.
+
+ * The alternative arrangement increases the number of top-level
+ directories, so the files that must be found using subdirectory
+ searching are spread out in a wide, shallow tree. This could have
+ a profound impact on the efficiency of subdirectory searching.
+
+
+
+File: tds.info, Node: Font structure, Next: Documentation structure, Prev: Macro structure, Up: Is there a better way?
+
+C.2 Font structure
+==================
+
+The TWG struggled more with the font directory structure than anything
+else. This is not surprising; the need to use the proliferation of
+PostScript fonts with TeX is what made the previous arrangement with
+all files in a single directory untenable, and therefore what initiated
+the TDS effort.
+
+* Menu:
+
+* Font file type location::
+* Mode and resolution location::
+* Modeless bitmaps::
+
+
+File: tds.info, Node: Font file type location, Next: Mode and resolution location, Up: Font structure
+
+C.2.1 Font file type location
+-----------------------------
+
+We considered the supplier-first arrangement in use at many sites:
+
+ texmf/fonts/SUPPLIER/TYPEFACE/TYPE/
+
+ This improves the maintainability of the font tree, since all files
+comprising a given typeface are in one place, but unless all the
+programs that search this tree employ some form of caching, there are
+serious performance concerns. For example, in order to find a `TFM'
+file, the simplest implementation would require TeX to search through
+all the directories that contain PK files in all modes and at all
+resolutions.
+
+ In the end, a poll of developers revealed considerable resistance to
+implementing sufficient caching mechanisms, so this arrangement was
+abandoned. The TDS arrangement allows the search tree to be restricted
+to the correct type of file, at least. Concerns about efficiency
+remain, but there seems to be no more we can do without abandoning
+subdirectory searching entirely.
+
+ We also considered segregating all font-related files strictly by
+file type, so that Metafont sources would be in a directory
+`texmf/fonts/mf', property list files in `texmf/fonts/pl', the various
+forms of Type 1 fonts separated, and so on. Although more blindly
+consistent, we felt that the drawback of more complicated path
+constructions outweighed this. The TDS merges file types (`mf' and `pl'
+under `source', `pfa' and `pfb' and `gsf' under `type1') where we felt
+this was beneficial.
+
+
+File: tds.info, Node: Mode and resolution location, Next: Modeless bitmaps, Prev: Font file type location, Up: Font structure
+
+C.2.2 Mode and resolution location
+----------------------------------
+
+We considered having the `mode' at the bottom of the font tree:
+ texmf/fonts/pk/SUPPLIER/TYPEFACE/MODE/DPI/
+
+ In this case, however, it is difficult to limit subdirectory
+searching to the mode required for a particular device.
+
+ We then considered moving the `dpiNNN' up to below the mode:
+ texmf/fonts/pk/MODE/DPI/SUPPLIER/TYPEFACE/
+
+ But then it is not feasible to omit the `dpiNNN' level altogether on
+systems which can and do choose to use long filenames.
+
+
+File: tds.info, Node: Modeless bitmaps, Prev: Mode and resolution location, Up: Font structure
+
+C.2.3 Modeless bitmaps
+----------------------
+
+The TDS specifies using a single directory `modeless/' as the mode name
+for those utilities which generate bitmaps, e.g.,
+`texmf/fonts/modeless/times/'. This has the considerable advantage of
+not requiring each such directory name to be listed in a search path.
+
+ An alternative was to use the utility name below which all such
+directories could be gathered. That has the advantage of separating,
+say, `gsftopk'-generated bitmaps from `ps2pk'-generated ones. However,
+we decided this was not necessary; most sites will use only one program
+for the purpose. Also, PK and GF fonts generally identify their
+creator in the font comment following the `PK_ID' byte.
+
+ We are making an implicit assumption that Metafont is the only
+program producing mode-dependent bitmaps. If this becomes false we
+could add an abbreviation for the program to mode names, as in `mfcx'
+vs. `xyzcx' for a hypothetical program Xyz, or we could at that time
+add an additional program name level uniformly to the tree. It seemed
+more important to concisely represent the current situation than to
+worry about hypothetical possibilities that may never happen.
+
+
+File: tds.info, Node: Documentation structure, Prev: Font structure, Up: Is there a better way?
+
+C.3 Documentation structure
+===========================
+
+We considered placing additional documentation files in the same
+directory as the source files for the packages, but we felt that users
+should be able to find documentation separately from sources, since most
+users have no interest in sources.
+
+ We hope that a separate, but parallel, structure for documentation
+would (1) keep the documentation together and (2) make it as
+straightforward as possible for users to find the particular
+documentation they were after.
+
+
+File: tds.info, Node: Related references, Next: Contributors, Prev: Is there a better way?, Up: Top
+
+Appendix D Related references
+*****************************
+
+This appendix gives pointers to related files and other documents. For
+CTAN references, we use `http://www.ctan.org' as the top-level domain
+only to make the links be live in this document. See
+`http://www.ctan.org/tex-archive/CTAN.sites' for a complete list of
+CTAN sites; there are mirrors worldwide.
+
+ * This document, in many formats (tex, dvi, info, pdf):
+ `http://tug.org/tds/'
+
+ * The TDS mailing list archives:
+ `http://tug.org/mail-archives/twg-tds/'
+
+ * The level 0 DVI driver standard:
+ `http://www.ctan.org/tex-archive/dviware/driv-standard/level-0/'
+
+ * `Filenames for TeX fonts', with lists of recommended supplier and
+ typeface names:
+ `http://tug.org/fontname/'
+
+ * ISO-9660 CD-ROM file system standard:
+ `http://www.iso.ch/cate/cat.html'
+
+ * `Components of TeX', a paper by Joachim Schrod:
+ `http://www.ctan.org/tex-archive/documentation/components-of-TeX/'
+
+ * `Managing Multiple TDS trees', an article by Michael Downes:
+ `http://tug.org/TUGboat/Articles/tb22-3/tb72downes.pdf'
+
+ * A complete set of Metafont modes:
+ `http://www.ctan.org/tex-archive/fonts/modes/modes.mf'
+
+ * A large collection of BibTeX databases and styles:
+ `ftp://ftp.math.utah.edu/pub/tex/bib/'
+
+
+
+File: tds.info, Node: Contributors, Prev: Related references, Up: Top
+
+Appendix E Contributors
+***********************
+
+The TWG has had no physical meetings; electronic mail was the
+communication medium.
+
+ Sebastian Rahtz is the TeX Users Group Technical Council liaison.
+Norman Walsh was the original committee chair. Karl Berry is the
+current editor.
+
+ The list of contributors has grown too large to fairly include, as
+some would surely be inadvertently omitted. Please consider the
+archives of the <tds@tug.org> and <tex-live@tug.org> mailing lists as
+the record of contributions.
+
+
+
+Tag Table:
+Node: Top198
+Node: Introduction2185
+Node: History3846
+Node: The role of the TDS4648
+Node: Conventions5508
+Node: General6429
+Node: Subdirectory searching6714
+Node: Rooting the tree8968
+Node: Local additions10080
+Node: Duplicate filenames12293
+Node: Top-level directories14054
+Node: Macros17062
+Node: Extensions20919
+Node: Fonts22645
+Node: Font bitmaps26786
+Node: Valid font bitmaps29674
+Node: Non-font Metafont files30882
+Node: MetaPost31842
+Node: BibTeX33286
+Node: Scripts34155
+Node: Documentation35872
+Node: Summary38145
+Node: Documentation tree summary41031
+Node: Unspecified pieces43056
+Node: Portable filenames44267
+Node: Implementation issues46409
+Node: Adoption of the TDS47041
+Node: More on subdirectory searching49753
+Node: Example implementation-specific trees52568
+Node: AmiWeb2c 2.053447
+Node: Public DECUS TeX54889
+Node: Web2c 755752
+Node: Is there a better way?56974
+Node: Macro structure58480
+Node: Font structure59816
+Node: Font file type location60369
+Node: Mode and resolution location61946
+Node: Modeless bitmaps62625
+Node: Documentation structure63915
+Node: Related references64543
+Node: Contributors65959
+
+End Tag Table
diff --git a/Master/texmf/doc/info/texdraw.info b/Master/texmf/doc/info/texdraw.info
new file mode 100644
index 00000000000..2458b4f3b33
--- /dev/null
+++ b/Master/texmf/doc/info/texdraw.info
@@ -0,0 +1,2429 @@
+This is texdraw, produced by makeinfo version 4.5 from texdraw.texi.
+
+ This file documents TeXdraw, a system for producing PostScript
+drawings from TeX.
+
+ Copyright (C) 1993-95 Peter Kabal
+
+ 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.
+
+
+File: texdraw, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
+
+TeXdraw
+*******
+
+ TeXdraw is a collection of macros that allow drawings to be created
+from _within_ TeX.
+
+ This is edition 2.0 of the TeXdraw documentation.
+
+* Menu:
+
+* Introduction::
+* TeXdraw Commands::
+* Drawing Segments and Scaling::
+* Using TeXdraw with LaTeX::
+* More Details::
+* PostScript Commands::
+* TeXdraw Toolbox::
+* Examples::
+* Command Listing::
+
+Indices
+* Concept Index::
+* Command Index::
+
+ --- The Detailed Node Listing ---
+
+Introduction
+
+* Distribution::
+
+TeXdraw Commands
+
+* Accessing TeXdraw::
+* Command syntax::
+* TeXdraw coordinates::
+* Coordinate specification::
+* Line vectors::
+* TeX text::
+* Circles and arcs::
+* Bezier curves::
+* Fill commands::
+
+Drawing Segments and Scaling
+
+* Drawing segments::
+* Drawing paths::
+* Saving positions::
+* Scaling coordinates::
+* Drawing size::
+* Initial current position::
+
+Using TeXdraw with LaTeX
+
+* PostScript printer drivers::
+
+More Details
+
+* Errors while using TeXdraw::
+* Extending TeXdraw::
+* How TeXdraw merges graphics and text::
+
+Extending TeXdraw
+
+* Scaling::
+* Resolution::
+* Text placement::
+* Intermediate PostScript file::
+
+PostScript Commands
+
+TeXdraw Toolbox
+
+* Coordinate parsing::
+* Real arithmetic::
+* Arrow curve::
+
+Examples
+
+* Block diagram::
+* Filter response graph::
+* Geometric construction::
+
+Command Listing
+
+Command Index
+
+Concept Index
+
+
+File: texdraw, Node: Introduction, Next: TeXdraw Commands, Prev: Top, Up: Top
+
+Introduction
+************
+
+ TeX is a powerful typesetting program which allows for complex text
+layouts but by itself lacks a general graphics capability. However,
+when coupled with an appropriate printer driver program, external
+graphics files can be inserted into the printed document. In this mode,
+TeX is instructed to leave space for a drawing. The drawing is
+inserted by the printer driver program. The TeXdraw macros described
+here generate the external graphics file from within TeX and generate
+the instructions to the the print driver program to position the
+graphics at the appropriate position on the page.
+
+ TeXdraw consists of a set of TeX macros that create line drawings and
+other figures. The drawing primitives include solid lines, patterned
+lines, Bezier curves, circles and arrows. Other commands allow for the
+filling of a region with a gray level. The drawing commands generate
+PostScript code. This limits TeXdraw to systems which use PostScript
+printers. TeXdraw also provides commands to position TeX text,
+including mathematics, on the drawing. The final drawing, with text
+and graphics, can be positioned on the page like any other TeX box.
+
+ The basic TeXdraw macros for TeX use the `\special' syntax recognized
+by the printer driver program `dvips'. However, when invoked as a
+LaTeX2e package, the TeXdraw macros can be used with any of the
+PostScript printer driver programs supported by the standard `graphics'
+package for LaTeX2e.
+
+ The basic TeXdraw macros provide only simple drawing commands.
+However, TeXdraw provides a drawing segment environment which allows
+parameter changes and coordinate scaling changes to be kept local to the
+drawing segment. This facility, together with TeX's macro capabilities
+allows one to modularize drawing units and extend TeXdraw by building
+more complex graphics entities from simpler elements.
+
+* Menu:
+
+* Distribution::
+
+
+File: texdraw, Node: Distribution, Up: Introduction
+
+Distribution information
+========================
+
+ The TeXdraw routines are provided free of charge without warranty of
+any kind. Note that the TeXdraw routines are copyrighted. They may be
+distributed freely provided that the recipients also acquire the right
+to distribute them freely. The notices to this effect must be
+preserved when the source files are distributed.
+
+
+File: texdraw, Node: TeXdraw Commands, Next: Drawing Segments and Scaling, Prev: Introduction, Up: Top
+
+Using the TeXdraw Commands
+**************************
+
+ The main TeXdraw macros (commands) are defined in the file
+`texdraw.tex'. These macros may be used directly in TeX. The file
+`texdraw.sty' provides an interface for use with LaTeX2e. The
+following sections describe the basic commands for TeXdraw.
+
+* Menu:
+
+* Accessing TeXdraw::
+* Command syntax::
+* TeXdraw coordinates::
+* Coordinate specification::
+* Line vectors::
+* TeX text::
+* Circles and arcs::
+* Bezier curves::
+* Fill commands::
+
+
+File: texdraw, Node: Accessing TeXdraw, Next: Command syntax, Up: TeXdraw Commands
+
+Accessing TeXdraw
+=================
+
+ The form of the user command to run the TeX program depends on which
+version of TeX is being used, and which other macro packages are
+preloaded as format files. Typically, installations have at least two
+versions of TeX -- plain TeX which includes basic typesetting macros
+(usually invoked as `tex') and LaTeX2e which includes the LaTeX2e
+typesetting macros (usually invoked as `latex'). An older version of
+LaTeX, version 2.09, may also be available. The TeXdraw macros can be
+used with plain TeX and with either version of LaTeX.
+
+ For use with plain TeX, the user must read in the TeXdraw macros from
+the file `texdraw.tex'.
+ \input texdraw % Read in the TeXdraw macros
+ ...
+ \btexdraw
+ ... % TeXdraw commands to generate a drawing
+ \etexdraw
+
+ For use with LaTeX version 2.09, the user reads in the TeXdraw macros
+from the file `texdraw.tex' and optionally defines the
+`\begin{texdraw}' / `\end{texdraw}' environment.
+ \documentstyle[11pt]{article} % Article style with the 11pt size options
+ ...
+ \input texdraw % Read in the TeXdraw macros
+ \newenvironment{texdraw}{\leavevmode\btexdraw}{\etexdraw}
+ ...
+ \begin{texdraw}
+ ... % TeXdraw commands to generate a drawing
+ \end{texdraw}
+ ...
+ \end{document}
+
+ For use with LaTeX2e, the user must load the `texdraw' package (file
+`texdraw.sty'). This package file defines the `\begin{texdraw}' /
+`\end{texdraw}' environment, brings in the standard `graphics' package
+and reads in the file `texdraw.tex' containing the definitions of the
+TeXdraw macros.
+ \documentclass[11pt]{article} % Article class with the 11pt size option
+ \usepackage{texdraw} % TeXdraw commands
+
+ \begin{document}
+ ...
+ \begin{texdraw}
+ ... % TeXdraw commands to generate a drawing
+ \end{texdraw}
+ ...
+ \end{document}
+
+ As the TeXdraw commands are processed by TeX, an intermediate
+PostScript file is generated. The intermediate PostScript has a name of
+the form `NAME.ps1'. The name part is derived from the name of the
+main TeX file being processed. If more than one drawing is produced,
+the digit in the file name extension is incremented.(1)
+
+ The TeXdraw commands to produce a drawing are inserted between
+`\btexdraw' and `\etexdraw' commands, or for LaTeX, between
+`\begin{texdraw}' and `\end{texdraw}' commands. This results in a TeX
+box of appropriate size containing the drawing generated by the TeXdraw
+commands. The TeXdraw box can be positioned in a document like any
+other TeX box.
+
+ The `\centertexdraw{...}' macro centers the box generated by TeXdraw.
+The vertical space taken up is equal to the vertical size of the
+drawing. The `\centertexdraw' macro is normally used in vertical mode
+(between paragraphs). A `\par' command (a blank line will do also)
+before a `\centertexdraw' command will terminate horizontal mode and
+return to vertical mode. For LaTeX, a structured equivalent to the
+`\centertexdraw{...}' command is shown below.
+ \begin{center}
+ \begin{texdraw}
+ ...
+ \end{texdraw}
+ \end{center}
+
+ The `\everytexdraw' command can be used to define a set of TeXdraw
+commands that will be executed at the beginning of every TeXdraw
+drawing. It is invoked as `\everytexdraw{ ...}', with the desired
+TeXdraw commands as arguments.
+
+`\btexdraw'
+ Start a TeXdraw drawing. The drawing is terminated with an
+ `\etexdraw' command.
+
+`\etexdraw'
+ End a TeXdraw drawing started with a `\btexdraw' command. The
+ resulting TeXdraw drawing is placed in a box with height equal to
+ the height of the drawing and width equal to the width of the
+ drawing. The depth of the box is zero.
+
+`\begin{texdraw}'
+ Start a TeXdraw drawing. The drawing is terminated with an
+ `\end{texdraw}' command. This command is for use with LaTeX.
+
+`\end{texdraw}'
+ End a TeXdraw drawing started with a `\begin{texdraw}' command.
+ The resulting TeXdraw drawing is placed in a box with height equal
+ to the height of the drawing and width equal to the width of the
+ drawing. The depth of the box is zero. This command is for use
+ with LaTeX.
+
+`\centertexdraw{ ... }'
+ Center a TeXdraw box horizontally. The argument contains TeXdraw
+ commands. The resulting box has the horizontal size `\hsize' and
+ height equal to the height of the drawing.
+
+`\everytexdraw{ ... }'
+ Specify TeXdraw commands to be executed at the beginning of every
+ TeXdraw drawing.
+
+ ---------- Footnotes ----------
+
+ (1) After the ninth PostScript file, the name of the intermediate
+PostScript file takes the form `NAME.p10', with the number increasing
+from 10 with each file.
+
+
+File: texdraw, Node: Command syntax, Next: TeXdraw coordinates, Prev: Accessing TeXdraw, Up: TeXdraw Commands
+
+Command syntax
+==============
+
+ Generally TeXdraw commands that take a single argument need a
+terminating blank or newline after the argument. Arguments that are
+self-delimiting, such as coordinates within parentheses and text within
+braces, do not need the terminating blank. However, even when not
+needed by the defining syntax of the command, blanks following command
+arguments are allowed and ignored within the TeXdraw environment.
+
+ On entering the TeXdraw environment, TeX is in internal vertical mode
+(vertical mode inside a `\vbox'). In this mode, spaces can be placed
+freely between commands. However, any other extraneous input that
+generates output that is not part of the TeXdraw environment is
+disallowed.
+
+ Blank lines are interpreted as paragraph breaks, equivalent to a
+`\par' command. The TeXdraw macro `\centertexdraw' is defined with the
+`\long' attribute to allow `\par' commands and blank lines to be
+interspersed between TeXdraw commands. The `\btexdraw' and `\etexdraw'
+commands also allow `\par' command and blank lines to be included.
+
+
+File: texdraw, Node: TeXdraw coordinates, Next: Coordinate specification, Prev: Command syntax, Up: TeXdraw Commands
+
+TeXdraw coordinates
+===================
+
+ The TeXdraw coordinate system has increasing X to the right and
+increasing Y upward. The coordinates (without the unit) are floating
+point numbers. Integer values can be written without a decimal point.
+The size of the drawing is determined by the maximum excursions of the
+coordinates specified in TeXdraw commands.
+
+ Consider the following example of TeXdraw commands to draw a simple
+figure.
+ \centertexdraw{
+ \drawdim cm \linewd 0.02
+ \move(2 2) \lvec(3 3) \lvec(2 4) \lvec(1 3) \lvec(2 2)
+ \textref h:C v:C \htext(2 3){$\sum \rho_n$}
+ }
+This drawing uses units of centimetres, with a line width of 0.02
+cm. The X coordinate ranges between 1 and 3 while the Y coordinate
+ranges between 2 and 4. When included into a document, the size of the
+drawing is 2 cm by 2 cm. The drawing is placed in a TeX box, with the
+lower lefthand corner of the box corresponding to TeXdraw coordinate
+`(1 2)' and the upper righthand corner at `(3 4)'. The
+`\centertexdraw' command centers the drawing horizontally. The
+`\textref' command controls the centering of the text. The text in
+this drawing is centered (both horizontally and vertically) at the
+coordinate `(2 3)'.
+
+
+File: texdraw, Node: Coordinate specification, Next: Line vectors, Prev: TeXdraw coordinates, Up: TeXdraw Commands
+
+Coordinate specification
+========================
+
+ Coordinates are specified within parentheses, with blanks (but no
+comma) between the values. Leading blanks and trailing blanks are
+permitted within the parentheses. The coordinates refer to units,
+which are specified by the `\drawdim' command. The default is inches,
+but any valid TeX dimension unit can be specified. Symbolic
+specification of saved coordinate values will be discused later (*note
+Saving positions::).
+
+`\drawdim DIM'
+ Set the units to DIM. The argument DIM can be any valid TeX
+ dimension unit. The units are used to interpret coordinate
+ values. Examples of valid units: `cm', `mm', `in', `pt', and `bp'.
+
+ Examples of coordinate and scaling specifications:
+`\drawdim {cm} \move(2 2)'
+ Set the units to centimetres, move to a position 2 cm to the right
+ and 2 cm up from the origin of the drawing coordinate system.
+
+`\drawdim bp'
+ Set the units to big points.
+
+`\lvec ( 2.2 +5.5) \lvec(2.3 -2) \lvec(2.2 5.4 )'
+ Examples of acceptable coordinate specifications.
+
+
+File: texdraw, Node: Line vectors, Next: TeX text, Prev: Coordinate specification, Up: TeXdraw Commands
+
+Line vectors
+============
+
+ TeXdraw implements moves, line vectors and arrow vectors. There are
+both absolute and relative motion versions of these vector commands.
+TeXdraw maintains a current position. Lines are drawn from the current
+position to a new coordinate, with the new coordinate becoming the new
+current position. An explicit move can be used to establish a new
+current position. The position `(0 0)' is used if there is no move to
+an initial current position.
+
+ The `\move' and `\rmove' commands establish a new current position
+without drawing a line. The `\lvec' and `\rlvec' commands draw a line
+from the current position to a new position, which then becomes the new
+current position. The `\avec' and `\ravec' commands draw a line with
+an arrowhead from the current position to a new coordinate, which then
+becomes the new current position. The tip of the arrow is at the new
+current position. The direction of the arrow follows the direction of
+the line. Since this direction is undefined for zero length vectors,
+these are not allowed for `\avec' or `\ravec'. Zero length arrow
+vectors will generate a PostScript print error: `undefinedresult'. For
+any non-zero length vector, the full size arrowhead is drawn, even if
+that arrowhead is longer than the line length.
+
+ The absolute motion versions of these commands specify the coordinate
+of the final position.
+
+`\move (X Y)'
+ Move to coordinate `(X Y)'. The new current position is `(X Y)'.
+
+`\lvec (X Y)'
+ Draw a line from the current position to coordinate `(X Y)'. The
+ new current position is `(X Y)'.
+
+`\avec (X Y)'
+ Draw a line with an arrowhead from the current position to `(X
+ Y)'. The new current position is `(X Y)'. The arrowhead is
+ aligned with the line, with the tip at `(X Y)'.
+
+ The relative motion versions of these commands interpret the
+coordinates as displacements relative to the current position. Given
+the displacements `(DX DY)' as a parameter, each of the relative motion
+commands moves DX units in the X direction and DY units in the Y
+direction.
+
+`\rmove (DX DY)'
+ Move from the current position, DX units in the X direction and DY
+ units in the Y direction. The final position becomes the new
+ current position.
+
+`\rlvec (DX DY)'
+ Draw a line from the current position, DX units in the X direction
+ and DY units in the Y direction. The final position becomes the
+ new current position.
+
+`\ravec (DX DY)'
+ Draw a line with an arrowhead from the current position, DX units
+ in the X direction and Y units in the Y direction. The final
+ position becomes the new current position. The arrowhead is
+ aligned with the line, with the tip at the new current position.
+
+ Lines can be customized with commands to change the line width, line
+pattern and line gray level rendition. In addition, commands for
+changing the type and size of the arrowhead are available.
+
+`\linewd WIDTH'
+ Set the line width to WIDTH units. Initially WIDTH is 0.01 inches
+ (corresponding to 3 pixels at 300 pixels to the inch).
+
+`\lpatt (PATTERN)'
+ Set lines to have the pattern `(PATTERN)'. A pattern is a
+ sequence of on/off lengths separated by blanks and enclosed in
+ parentheses. The lengths alternately specify the length of a dash
+ and the length of a gap between dashes. Each length is
+ interpreted using the current scaling and drawing units. The
+ pattern is used cyclically. The empty pattern signifies a solid
+ line. The initial line pattern is a solid line, corresponding to
+ the empty pattern `\lpatt ()'.
+
+`\setgray LEVEL'
+ Set the gray level of lines. Gray levels are real values from 0
+ (black) through intermediate values (gray) to 1 (white). The
+ initial gray level is 0 corresponding to black.
+
+`\arrowheadtype t:TYPE'
+ Set the arrowhead type to TYPE, where TYPE is one of `F', `T',
+ `W', `V', or `H'. There are two kinds of arrowheads. The first
+ kind is a triangle. There are 3 variants: type `T' is an empty
+ triangle, type `F' is a filled triangle (using the current gray
+ level for lines), type `W' is a triangle filled with white. The
+ second kind of arrowhead is an open ended Vee. There are 2
+ variants: type `V' has the stem continue to the tip, type `H' has
+ the stem stop at the base of the arrowhead. The initial arrowhead
+ type is `T'.
+
+`\arrowheadsize l:LENGTH w:WIDTH'
+ Set the arrowhead size to be LENGTH units long and WIDTH units
+ wide. The width is measured across the "base" of the arrowhead.
+ The initial arrowhead size has a LENGTH of 0.16 inches and a WIDTH
+ of 0.08 inches.
+
+ Note that the lines which outline the arrowhead will be drawn with the
+same line pattern used for the stem. Normally, arrow vectors are drawn
+with the line pattern set for a solid line. Note that the fill level
+used for the `F' variant of the arrowhead uses the same gray level as
+used for lines. The difference between the `T' variant and the `W'
+variant only shows up if the arrowhead is placed over non-white areas
+of the drawing. The `W' variant obliterates the area under the
+arrowhead.
+
+ Examples of line parameter and arrowhead settings are shown in the
+following code.
+ \centertexdraw{
+ \drawdim in
+ \linewd 0.03 \setgray 0.6 \arrowheadtype t:F \avec(0 0.5)
+ \linewd 0.01 \setgray 0 \arrowheadtype t:V \avec(0.5 0.5)
+ \linewd 0.015 \lpatt(0.067 0.1) \lvec (1 0)
+ \linewd 0.02 \lpatt() \arrowheadtype t:T \avec(1.5 0.5)
+ \arrowheadtype t:H \avec(2.0 0.5)
+ \setgray 0.4 \arrowheadtype t:W \avec(3.0 0)
+ }
+
+
+File: texdraw, Node: TeX text, Next: Circles and arcs, Prev: Line vectors, Up: TeXdraw Commands
+
+TeX text
+========
+
+ Text may be superimposed on the drawing. The text argument of the
+`\htext' command is in horizontal mode. This text can be ordinary
+text, math mode expressions, or even more complicated boxes consisting
+of tables and the like. The resulting TeX text is placed in a box.
+The reference point of the box can be chosen to be one of nine
+locations: horizontally left, center or right; vertically top, center or
+bottom. The `\htext' command takes one of two forms.
+
+`\htext (X Y){TEXT}'
+`\htext {TEXT}'
+ The first form of this command places the TeX text TEXT
+ horizontally with the text reference point at the coordinate `(X
+ Y)'. The new current position is `(X Y)'. The second form of
+ this command places the TeX text TEXT horizontally with the text
+ reference point at the current position. The text reference point
+ is set with the `\textref' command.
+
+ Text can be placed vertically using the `\vtext' command. The text
+argument is in horizontal mode. The TeX text is placed in a box and
+then rotated counterclockwise. The reference point is the point in the
+box, _before_ rotation of the text. Not all PostScript printer drivers
+support vertical text.
+
+`\vtext (x y){TEXT}'
+`\vtext {TEXT}'
+ The first form of this command places the TeX text TEXT vertically
+ with the text reference point at the coordinate `(X Y)'. The new
+ current position is `(X Y)'. The second form of this command
+ places the TeX text TEXT vertically with the text reference point
+ at the current position. In both cases, the TeX text is placed in
+ a box and the box is rotated counterclockwise by 90 degrees about
+ the text reference point. The text reference point is set with
+ the `\textref' command.
+
+ Text can be placed at an arbitrary angle using the `\rtext' command.
+The text argument is in horizontal mode. The TeX text is placed in a
+box and then rotated counterclockwise. The reference point is the
+point in the box, _before_ rotation of the text. Not all PostScript
+printer drivers support rotated text.
+
+`\rtext td:ANGLE (x y){TEXT}'
+`\rtext td:ANGLE {TEXT}'
+ The first form of this command places the TeX text TEXT at an
+ angle with the text reference point at the coordinate `(X Y)'.
+ The new current position is `(X Y)'. The second form of this
+ command places the TeX text TEXT at an angle with the text
+ reference point at the current position. In both cases, the TeX
+ text is placed in a box and the box is rotated counterclockwise by
+ ANGLE degrees about the text reference point. The text reference
+ point is set with the `\textref' command.
+
+ The reference point for subsequent TeX text in a `\htext', `\vtext'
+or `\rtext' command is set with the `\textref' command.
+
+`\textref h:H-REF v:V-REF'
+ Set the text reference point for subsequent text commands. The
+ horizontal reference point H-REF is one of `L', `C' or `R' (left,
+ center or right). The vertical reference point V-REF is one of
+ `T', `C' or `B' (top, center or bottom). For rotated text, the
+ reference point is determined before rotation. The initial text
+ reference point corresponds to `\textref h:L v:B'.
+
+The font used to render the text is determined as for any other TeX
+text. Normally the font used outside of TeXdraw is in effect. If
+desired, other fonts can be specified as part of the text. Any font
+changes within a TeXdraw text command remain local to that command.
+
+ Only the coordinate of the text reference point in a `\htext',
+`\vtext' or `\rtext' command is used in calculating the size of the
+drawing. This means that text itself can spill outside of the drawing
+area determined by TeXdraw. The area of the drawing can be increased
+to include the text by issuing additional `\move' commands.
+
+ \centertexdraw{
+ \avec(-0.75 -0.25) \textref h:R v:C \htext{H-text}
+ \move(0 0) \avec(-0.75 +0.25) \textref h:R v:B \htext{H-text}
+ \move(0 0) \avec(0 +0.5) \textref h:L v:T \vtext{V-text}
+ \move(0 0) \avec(+0.75 +0.25) \textref h:L v:B \htext{H-text}
+ \move(0 0) \avec(+0.75 -0.25) \textref h:L v:C \htext{H-text}
+ }
+
+
+File: texdraw, Node: Circles and arcs, Next: Bezier curves, Prev: TeX text, Up: TeXdraw Commands
+
+Circles, ellipses and arcs
+==========================
+
+ TeXdraw supplies commands to generate circles, ellipses and arcs.
+There are two forms of the circle command. The `\lcir' command draws a
+circle of given radius. The `\fcir' command draws a filled circle. In
+the latter case, the circle is filled by a specified gray level. For
+the filled circle, the line defining the circumference of the circle is
+not drawn. Note that the gray level area filled in by the `\fcir'
+command is opaque, even if the fill is chosen to be white. For either
+form of the circle command, the drawing size is increased if necessary
+to contain the circle.
+
+ The `\lellip' command generates an ellipse specified by the radius of
+the ellipse in the X direction and the radius of the ellipse in the Y
+direction. The ellipse is symmetrical about horizontal and vertical
+lines drawn through the current point. The `\fellip' command draws a
+filled ellipse. In the latter case, the ellipse is filled by a
+specified gray level. For the filled ellipse, the line defining the
+boundary of the ellipse is not drawn. For either form of the ellipse
+command, the drawing size is increased if necessary to contain the
+ellipse.
+
+ The `\larc' command generates a counterclockwise arc specified by a
+start angle in degrees and an end angle in degrees. The center of the
+arc is the current position. Only the arc is drawn, not the line
+joining the center to the beginning of the arc. Note that the `\larc'
+command does not affect the size of the drawing.
+
+`\lcir r:RADIUS'
+ Draw a circle with center at the current position. The radius is
+ specified by RADIUS. This command draws a line along the
+ circumference of the circle. The drawing size is increased if
+ necessary to contain the circle.
+
+`\fcir f:LEVEL r:RADIUS'
+ Draw a filled circle with center at the current position. The
+ radius is specified by RADIUS. The circle is painted with the
+ gray level specified by LEVEL. A gray level of 1 corresponds to
+ white, with decreasing values getting darker. The level 0 is full
+ black. This command does not draw a line along the circumference.
+ The drawing size is increased if necessary to contain the circle.
+
+`\lellip rx:X-RADIUS ry:Y-RADIUS'
+ Draw an ellipse with center at the current position. The radius
+ in the X direction is specified by X-RADIUS. The radius in the Y
+ direction is specified by Y-RADIUS. The drawing size is increased
+ if necessary to contain the ellipse.
+
+`\fellip f:LEVEL rx:X-RADIUS ry:Y-RADIUS'
+ Draw a filled ellipse with center at the current position. The
+ radius in the X direction is specified by X-RADIUS. The radius in
+ the Y direction is specified by Y-RADIUS. The ellipse is painted
+ with the gray level specified by LEVEL. A gray level of 1
+ corresponds to white, with decreasing values getting darker. The
+ level 0 is full black. This command does not draw a line along
+ the boundary of the ellipse. The drawing size is increased if
+ necessary to contain the ellipse.
+
+`\larc r:RADIUS sd:START-ANGLE ed:END-ANGLE'
+ Draw a counterclockwise arc. The center of the arc is at the
+ current position. The radius is specified by RADIUS. The start
+ and end angles (in degrees) are specified by START-ANGLE and
+ END-ANGLE. This command does not affect the limits (size) of the
+ drawing.
+
+ As an example, the following commands draw a filled circle, and
+superimpose an arc.
+ \centertexdraw{
+ \linewd 0.02
+ \fcir f:0.7 r:1
+ \larc r:1 sd:45 ed:135
+ \lvec (+0.707 +0.707) \move (0 0) \lvec (-0.707 +0.707)
+ }
+
+ Note that for the arc command, the resulting figure can spill outside
+of the TeXdraw box as determined by the maximum excursions of the
+coordinates. Extra moves can be used to compensate for the size of the
+arc.
+
+
+File: texdraw, Node: Bezier curves, Next: Fill commands, Prev: Circles and arcs, Up: TeXdraw Commands
+
+Bezier curves
+=============
+
+ Bezier curves in TeXdraw use 4 reference coordinates, two as the end
+points and two others to control the shape of the curve. Let the 4
+points be `(X0 Y0)', `(X1 Y1)', `(X2 Y2)' and `(X3 Y3)'. The curve
+starts out tangent to the line joining the first two points and ends up
+tangent to the line joining the second two points. The control points
+"pull" at the curve to control the curvature. The amount of pull
+increases with the distance of the control point from the endpoint.
+
+ As the parameter u varies from 0 to 1, the coordinates of the Bezier
+curve are given by a pair of parametric cubic equations,
+
+x(u) = (1-u)^3 x0 + 3u (1-u)^2 x1 + 3u^2 (1-u) x2 + u^3 x3
+
+y(u) = (1-u)^3 y0 + 3u (1-u)^2 y1 + 3u^2 (1-u) y2 + u^3 y3 .
+
+`\clvec (X1 Y1)(X2 Y2)(X3 Y3)'
+ Draw a Bezier curve from the current position to the coordinate
+ `(X3 Y3)' which becomes the new current position. The coordinates
+ `(X1 Y1)' and `(X2 Y2)' serve as control points for the curve.
+ Only the last coordinate given is used to update the size of the
+ drawing.
+
+Note that only 3 coordinate pairs are specified. The other point is the
+current position before the `\clvec' command is executed. Only the
+last coordinate specified in the `\clvec' command is used to determine
+the extent of the drawing. While the Bezier curve passes through the
+old current position and the new current position, in general the curve
+will not reach the intermediate control points. The curve is always
+entirely enclosed by the convex quadrilateral defined by the two end
+points and the two control points. Note that the curve may pass
+outside the limits of the drawing as determined by the end point of the
+curve.
+
+ A simple Bezier curve is produced by the following example.
+ \btexdraw
+ \move (0 0)
+ \clvec (0 1)(1 0)(1 1)
+ \etexdraw
+
+
+File: texdraw, Node: Fill commands, Prev: Bezier curves, Up: TeXdraw Commands
+
+Fill commands
+=============
+
+ PostScript deals with paths consisting of line segments. The paths
+can be closed and the interior of the closed region filled. From
+TeXdraw, paths start with a `\move' or `\rmove' command and continue
+with `\lvec', `\rlvec' or `\clvec' commands. The TeXdraw fill commands
+close the path and fill the interior of the closed region. Closing the
+path means that effectively another `\lvec' line is drawn from the last
+point specified to the initial point. TeXdraw provides two forms of
+the fill command. The `\ifill' fills the interior of the region with
+the given gray level. The lines defining the path are not drawn. The
+`\lfill' command fills the region defined by the closed path and draws
+a line along the enclosing path. Note for both forms of the fill
+command, the gray level used for filling is opaque, even if the gray
+level is chosen to be white.
+
+`\lfill f:LEVEL'
+ Close the current path, draw the line around the path using the
+ current grey level for lines and paint the interior of the region
+ with specified gray level LEVEL. Gray levels are real values from
+ 0 (black) through intermediate values (grays) to 1 (white).
+
+`\ifill f:LEVEL'
+ Close the current path and paint the interior of the region with
+ gray level LEVEL. The line around the path is not drawn. Gray
+ levels are real values from 0 (black) through intermediate values
+ (grays) to 1 (white).
+
+ The following example draws a "flag" with the interior filled in. The
+path around the boundary is given in a clockwise order to define a
+closed path. We could take advantage of the fact that the fill command
+will close an open path to eliminate one of the `\lvec' commands.
+ \centertexdraw{
+ \move (0.5 0)
+ \lvec (0 0.5) \clvec (0.5 0.85)(1 0.65)(1.5 1)
+ \lvec (2 0.5) \clvec (1.5 0.15)(1 0.35)(0.5 0)
+ \lfill f:0.8
+ }
+
+ In TeXdraw, the `\move' command always terminates any previous paths
+and starts a new path. Commands that change line parameters (e.g.
+`\setgray' or `\lpatt') also terminate paths and start new paths. The
+circle, ellipse and arc commands do not affect the definition of the
+current path. The `\avec' command is not appropriate for defining a
+path to be filled. It ends a subpath at its tail and begins a new
+subpath at its tip. Filling a region defined by a path with subpaths
+is more complicated in that each subpath is closed before filling.
+
+
+File: texdraw, Node: Drawing Segments and Scaling, Next: Using TeXdraw with LaTeX, Prev: TeXdraw Commands, Up: Top
+
+Drawing Segments and Scaling
+****************************
+
+ TeXdraw provides individually scaled segments which can be used to
+create relocatable drawing modules.
+
+* Menu:
+
+* Drawing segments::
+* Drawing paths::
+* Saving positions::
+* Scaling coordinates::
+* Drawing size::
+* Initial current position::
+
+
+File: texdraw, Node: Drawing segments, Next: Drawing paths, Up: Drawing Segments and Scaling
+
+Drawing segments
+================
+
+ A TeXdraw drawing segment allows for local modifications of
+parameters and relative positioning. A TeXdraw segment is delimited by
+a `\bsegment' command and an `\esegment' command. Inside the segment,
+the initial current position is `(0 0)'. Any changes to parameters
+such as the gray level and the line width, remain local to the segment.
+Segments are implemented in TeX using a `\begingroup' and `\endgroup'.
+Segments can be nested.
+
+`\bsegment'
+ Start a drawing segment. The coordinate system is shifted such
+ that the current position corresponds to the coordinate `(0 0)'.
+ Changes to scaling, position and line parameters stay local to the
+ drawing segment.
+
+`\esegment'
+ End a drawing segment. The current position in effect before the
+ corresponding `\bsegment' command is restored. The scaling and
+ line parameter values revert to those in effect before the
+ corresponding `\bsegment' command was invoked.
+
+
+File: texdraw, Node: Drawing paths, Next: Saving positions, Prev: Drawing segments, Up: Drawing Segments and Scaling
+
+Drawing paths
+=============
+
+ Certain subtle interactions occur between drawing segments and fill
+operations. In PostScript, lines are drawn by first defining a path,
+then later stroking the path to draw the line. In TeXdraw, this
+stroking occurs when the line is terminated, say by a `\move' command.
+PostScript paths are interrupted by, but continue after a drawing
+segment. This means that a path started before a segment may not be
+stroked (drawn) until after the segment ends. Consider the following
+example.
+ \move (0 0)
+ \lvec (1 1)
+ \bsegment
+ \move (-0.25 -0.25)
+ \fcir f:0.8 r:0.5
+ \esegment
+ \move (0 0)
+A PostScript path is started at `(0 0)' and continues with a line
+to `(1 1)'. This path is interrupted by the segment. The filled
+circle is drawn next. After the segment, the path continues and is not
+stroked until the `\move (0 0)' command after the end of the segment.
+This means that the line appears on top of the filled region.
+
+ If the fill operation is to cover the line, the path must be stroked
+before the fill operation. From TeXdraw, the move commands `\move' and
+`\rmove', and the end TeXdraw command `\etexdraw' terminate a path and
+cause it to be stroked. Within a segment, the end segment command
+`\esegment' also terminates and strokes a path. In the example above,
+the line can be stroked by inserting a move command (such as a `\rmove
+(0 0)' which does not affect the position), before the start of the
+segment.
+
+
+File: texdraw, Node: Saving positions, Next: Scaling coordinates, Prev: Drawing paths, Up: Drawing Segments and Scaling
+
+Saving positions
+================
+
+ The `\savecurrpos' command saves the current position. The saved
+position is an absolute position, not one relative to a segment. The
+position saving mechanism is global; the position can be saved within a
+nested segment and then used outside of the segment. The X and Y
+coordinates of the position are saved separately as named coordinates.
+The names are of the form `*NAME', with the leading `*' being
+obligatory. A companion command, `\savepos', saves a given coordinate
+(relative to the current segment) as an absolute symbolic position.
+
+`\savecurrpos (*PX *PY)'
+ Save the current position as the absolute position referenced by
+ `(*PX *PY)'.
+
+`\savepos (X Y)(*PX *PY)'
+ Save the coordinate position `(X Y)' as the absolute position
+ referenced by `(*PX *PY)'. The coordinate `(X Y)' is interpreted
+ in the normal fashion as a coordinate relative to the current
+ segment, using the current scaling factors and drawing unit.
+
+ The symbolic names used to specify a saved position can consist of any
+characters that are not special to TeX, but must start with a `*'
+character. The symbolic names can be used as the X and/or Y coordinate
+in any command that needs a coordinate. Symbolic coordinates are not
+normally used with relative motion commands such as `\rlvec' or
+`\rmove'. If used with relative motion, the corresponding displacement
+is equal to the symbolic coordinate value.
+
+ On exit from a segment, the position and graphics state on entry is
+restored. Any changes to line types, scaling and position are
+discarded. However, it is sometimes useful alter the position on exit
+from a segment. The `\savepos' command allows for the saving of a
+position within the segment. This position can be restored after the
+`\esegment' with a `\move' command using the saved symbolic position.
+This approach can be used to build modules which operate in a manner
+analogous to the basic relative motion line vector commands.
+
+ The following example defines a macro which draws a box 0.75 inches
+wide by 0.5 inches high containing centered text. On leaving the macro
+the position will be set at a point on the righthand side of the box.
+ \def\tbox #1{\bsegment
+ \lvec (0 +0.25) \lvec (0.75 +0.25)
+ \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0)
+ \textref h:C v:C \htext (0.375 0){#1}
+ \savepos (0.75 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)}
+With this definition, we can treat `\tbox' in the same way as the
+basic vector commands, stringing them together to form a block diagram
+as in this example.
+ \centertexdraw{
+ \ravec (1 0) \tbox{$H(z)$} \ravec (1 0)
+ }
+
+
+File: texdraw, Node: Scaling coordinates, Next: Drawing size, Prev: Saving positions, Up: Drawing Segments and Scaling
+
+Scaling coordinates
+===================
+
+ There are two scale factors available, the unit scale factor and the
+segment scale factor. The overall scale factor is the product of these
+two. There are absolute and relative versions of commands to change
+these scale factors.
+
+ The unit scale factor is normally used to affect global scale changes.
+Changes to the unit scale factor remains local to a segment, but
+propagate to inferior segments. The default value is unity.
+
+ The segment scale factor is used for local scale changes. It remains
+local to a segment. The segment scale factor is reset to unity on entry
+into each segment. This means that changes to the segment scale factor
+do not propagate to inferior segments.
+
+`\setunitscale SCALE'
+ Set the unit scaling to SCALE. The argument SCALE is a real
+ number which is used to scale coordinate values. The overall
+ scaling factor is the product of the unit scale factor and the
+ segment scale factor.
+
+`\relunitscale VALUE'
+ Adjust the unit scale factor by multiplying by VALUE. This has
+ the effect of multiplying the overall scale factor by the same
+ factor. The overall scaling factor is the product of the unit
+ scale factor and the segment scale factor.
+
+`\setsegscale SCALE'
+ Set the segment scale factor. The argument SCALE is a real number
+ which is used to scale coordinate values. The overall scale
+ factor is the product of the unit scale factor and the segment
+ scale factor.
+
+`\relsegscale VALUE'
+ Adjust the segment scale factor by multiplying by VALUE. This has
+ the effect of multiplying the current overall scale factor by the
+ same factor. The overall scaling factor is the product of the
+ unit scale factor and the segment scale factor.
+
+ In addition to the unit scale factor and the segment scale factor, the
+scaling can be controlled by the choice of drawing units with the
+command `\drawdim' (*note Coordinate specification::).
+
+`\drawdim cm \setunitscale 2.54'
+ Set the units to centimetres scaled by 2.54. Together these
+ commands are effectively the same as `\drawdim in'.
+
+ The segment scale can be used to allow scale changes in segments so
+that values are in more convenient units. For example suppose
+dimensions in a segment are multiples of one third of an inch. The
+segment scale can be set once to make 1 drawing unit equal 0.3333
+inches. From that point on, coordinates can be specified with integer
+values.
+
+ The following example defines a macro to draw a rectangular box which
+is twice as wide as it is high. The width is specified as an argument.
+ \def\mybox #1{\bsegment
+ \setsegscale #1
+ \lvec (0 +0.25) \lvec (1 +0.25) \lvec (1 -0.25)
+ \lvec (0 -0.25) \lvec (0 0)
+ \esegment}
+
+
+File: texdraw, Node: Drawing size, Next: Initial current position, Prev: Scaling coordinates, Up: Drawing Segments and Scaling
+
+Drawing size
+============
+
+ The effective size of the drawing is determined by the maximum
+excursions of the coordinates supplied to TeXdraw commands. The
+minimum and maximum scaled X and Y coordinates are tallied. Note that
+`\move' commands contribute to the determination of the calculated size
+of the drawing, even though they do not generate visible lines. The
+circle and ellipse commands add a compensation for the radii of circles
+and ellipses. The final TeXdraw drawing is placed in a TeX box with
+lower lefthand corner corresponding to `('X-min Y-min`)' and upper
+righthand corner at `('X-max Y-max`)'.
+
+ Text generated by `\htext', `\vtext' or `\rtext' can spill outside
+the box as determined above. Only the text reference point is
+guaranteed to be in the drawing box. Arcs can also spill outside the
+drawing box. Note also that the widths of lines, and the sizes of
+arrowheads do not affect the size of the drawing. The calculated size
+of the drawing will never be larger than the actual size of the
+drawing. In extreme cases in which text or lines extend far outside
+the drawing, extra `\move' commands should be used to establish the
+size of the drawing so that the TeXdraw box includes all of the drawing.
+
+ TeXdraw provides the `\drawbb' command to draw a box which indicates
+the effective size of the drawing. Whenever `\drawbb' is invoked, a
+ruled box is drawn around the drawing as it has been sized up to that
+point. Normally `\drawbb' is invoked just before the end of a drawing
+to indicate the effective size of the final drawing.
+
+`\drawbb'
+ Draw a ruled box around the effective size of a drawing produced by
+ TeXdraw commands.
+
+
+File: texdraw, Node: Initial current position, Prev: Drawing size, Up: Drawing Segments and Scaling
+
+Initial current position
+========================
+
+ The first operation in a drawing should be a move to establish the
+current position. The current position can be established explicitly
+through a `\move' command or a text positioning command such as
+`\htext' with a coordinate. However, if an attempt is made to use a
+drawing command which needs a current position and none has been
+established, TeXdraw implicitly sets the initial current position to
+`(0 0)'. The size of the TeXdraw figure is normally determined from
+the sequence of coordinates specified, but will include the implicit
+initial position in case another initial position has not been
+explicitly specified.
+
+
+File: texdraw, Node: Using TeXdraw with LaTeX, Next: More Details, Prev: Drawing Segments and Scaling, Up: Top
+
+Using TeXdraw with LaTeX
+************************
+
+ The LaTeX typesetting system uses a structured approach to declaring
+typesetting environments. For LaTeX2e, the `texdraw' package defines
+the `texdraw' environment. The TeXdraw environment is started with a
+`\begin{texdraw}' command and terminated with an `\end{texdraw}'
+command. All of the basic TeXdraw commands can be used within the
+`texdraw' environment.
+
+ As an example, a LaTeX2e variant of an earlier example can be
+constructed as follows.
+ \documentclass{article}
+ \usepackage{texdraw}
+ ...
+ \begin{document}
+ ...
+ \newcommand{\tbox}[1]{%
+ \bsegment
+ \lvec (0 +0.25) \lvec (0.75 +0.25)
+ \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0)
+ \textref h:C v:C \htext (0.375 0){#1}
+ \savepos (0.75 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)}
+ \begin{center}
+ \begin{texdraw}
+ \ravec (1 0) \tbox{$H(z)$} \ravec (1 0)
+ \end{texdraw}
+ \end{center}
+ ...
+ \end{document}
+
+ This example illustrates the use of the LaTeX command `\newcommand'
+as an alternative to the plain TeX command `\def'. Instead of the
+basic TeXdraw command `\centertexdraw', a nested combination of the
+LaTeX centering environment and the TeXdraw environment is used.
+
+* Menu:
+
+* PostScript printer drivers::
+
+
+File: texdraw, Node: PostScript printer drivers, Up: Using TeXdraw with LaTeX
+
+PostScript printer drivers
+==========================
+
+ The `texdraw' package uses the printer driver interface provided by
+the standard LaTeX2e `graphics' package. Any options to the `texdraw'
+package are passed to the `graphics' package. Specifically, the name
+of the PostScript driver to be used can be specified as an option to
+the `texdraw' package. With no explicit printer driver option, the
+default printer driver associated with the `graphics' package is used.
+
+ The `texdraw' package can be used with any of the printer drivers
+supported by the `graphics' package that allow for the importation of
+PostScript graphics files, viz., `dvips', `xdvi', `dvi2ps', `dvialw',
+`dvilaser', `dvipsone', `dviwindo', `dvitops', `oztex', `psprint',
+`textures', `pctexps', and `pctexwin'. Not all of these drivers
+support the text rotation needed for the TeXdraw commands `\vtext' and
+`\rtext'. Of the drivers listed above, only the following support
+support text rotation: `dvips', `xdvi', `dvi2ps', `dvitops',
+`textures', and `pctexps'.
+
+
+File: texdraw, Node: More Details, Next: PostScript Commands, Prev: Using TeXdraw with LaTeX, Up: Top
+
+More Details
+************
+
+ The first part of this chapter offers some suggestions for strategies
+to isolate errors in TeX and TeXdraw input. The second part of this
+chapter discusses implementational issues. An awareness of these issues
+is useful if TeXdraw is to be extended.
+
+* Menu:
+
+* Errors while using TeXdraw::
+* Extending TeXdraw::
+* How TeXdraw merges graphics and text::
+
+
+File: texdraw, Node: Errors while using TeXdraw, Next: Extending TeXdraw, Up: More Details
+
+Errors while using TeXdraw
+==========================
+
+ TeX input is notoriously difficult to debug. If TeX reports errors,
+so much the better. If the cause is not immediately obvious, consider
+using a binary search strategy, removing sections of code with the
+premature insertion of the `\bye' (or `\end{document}' for LaTeX)
+command (with the appropriate closing of any open groups and the like).
+Other strategies include the insertion of `\message{I am here}' at
+appropriate places. Try using `\tracingmacros=1'. Many problems turn
+out to be due to an incorrect number of macro arguments or incorrectly
+delimited macro arguments. The `\tracingmacros=1' option writes the
+macro arguments and macro expansions to the TeX log file.
+
+ Certain errors may not manifest themselves until well after the
+offending command. For instance, if a closing parenthesis is missing
+from a TeXdraw coordinate, TeX continues searching for the parenthesis.
+If one is found, perhaps many lines later, the TeXdraw error message
+`invalid coordinate' will be printed at this later point.
+
+ All input in the TeXdraw environment should be intended for
+interpretation by TeXdraw commands. TeXdraw places text inside a zero
+size box (the text itself extends outside the box). Extraneous input
+manifests itself as a non-zero size TeXdraw text box. This causes the
+TeXdraw text and the PostScript graphics to be displaced from one
+another. An error message is issued if a non-zero width TeXdraw text
+box is detected. If this error message appears, look for unintended
+character sequences amongst the commands to TeXdraw.
+
+ Several TeXdraw commands pass their arguments "raw" to the PostScript
+file. That means that invalid arguments can generate PostScript errors
+when the document is printed. For instance the argument of the
+`\setgray' command is passed straight through to the PostScript file.
+If this argument is non-numeric, a PostScript error results. Not all
+PostScript printers report errors back to the user. The print may just
+stop prematurely. One approach to debugging is to use a PostScript
+previewer on a workstation. That way, one can determine at which point
+in the drawing the PostScript error occurs.
+
+
+File: texdraw, Node: Extending TeXdraw, Next: How TeXdraw merges graphics and text, Prev: Errors while using TeXdraw, Up: More Details
+
+Extending TeXdraw
+=================
+
+ TeXdraw is implemented using a combination of TeX commands and
+PostScript code. This section discusses some of the implementational
+issues as they relate to extending TeXdraw.
+
+ TeXdraw as implemented, offers a basic set of drawing features.
+These are adequate for certain tasks such as producing block diagrams.
+There are different approaches to extending TeXdraw to include other
+functions. In some cases, the desired functionality can be achieved by
+writing a TeX macro which builds on top of the existing TeXdraw
+commands. As these extensions become more complex, the limitations of
+TeX for computations become increasingly evident. In other cases,
+access to different features of PostScript is desired. The appropriate
+approach would be to write new PostScript procedures which can be
+accessed by TeX macros.
+
+ Included with TeXdraw is a set of macros for directly accessing
+PostScript functions. These are described in an appendix (*note
+PostScript Commands::).
+
+ TeXdraw also comes with a toolbox of routines for handling much of
+the user interface, converting between different coordinate
+representations and the like. The macros for coordinate decoding and
+for computations involving coordinates are described in an appendix
+(*note TeXdraw Toolbox: TeXdraw Toolbox.).
+
+* Menu:
+
+* Scaling::
+* Resolution::
+* Text placement::
+* Intermediate PostScript file::
+
+
+File: texdraw, Node: Scaling, Next: Resolution, Up: Extending TeXdraw
+
+Scaling
+-------
+
+ The scaling commands provided in TeXdraw are designed to affect only
+the coordinate values specified in commands. For instance, changing the
+`\setunitscale' value changes the interpretation of the coordinate in
+an `\avec (X Y)' command, but does not change the line width or
+arrowhead sizes in effect. None of the TeXdraw scaling commands affect
+the size of TeX text produced by, for instance, the `\htext' command.
+Scale changes will however affect the positioning of text for
+subsequent commands.
+
+ The line parameters are changed only if the corresponding commands to
+change them are issued. If the `\linewd' command is given, the current
+coordinate scaling is used to determine the line width. To achieve a
+behaviour more like a global scaling, whenever the scale factor is
+changed, the line parameters should be set again.
+
+
+File: texdraw, Node: Resolution, Next: Text placement, Prev: Scaling, Up: Extending TeXdraw
+
+Resolution
+----------
+
+ TeXdraw scales coordinates before passing them to PostScript.
+Keeping track of the coordinate scaling is necessary, in any event, to
+allow TeXdraw to compute the maximum excursions of the coordinates.
+TeXdraw uses pixel units in its PostScript code. One pixel unit is
+equal to 1/300 of an inch. TeXdraw issues PostScript commands with
+integer valued pixel coordinates. This sets the positioning resolution
+for TeXdraw. The passing of integer valued coordinates which
+correspond to the device resolution keeps lines aligned with the device
+grid; parallel lines of the same width will be rendered with the same
+width.
+
+ The position saving mechanism in TeXdraw (*note Saving positions::)
+associates the pixel coordinates of a position with the specified name.
+
+ TeXdraw uses the limited real number representation provided by TeX.
+These operations are based on the representation of dimensions as
+real-valued numbers of points. Internally in TeX, dimensions are
+stored 32-bit values, normalized so that 1 pt corresponds to the scaled
+point (sp) value of 65536. Dimensions with magnitudes between 0.000015
+pt and 32767 pt can be represented. This is also the dynamic range of
+the TeXdraw pixel coordinates passed to PostScript. TeXdraw must
+convert from user supplied coordinates using the scaling factor (which
+itself consists of two components, the unit scale and the segment scale)
+and a pixel conversion factor. The use of limited precision real
+numbers in these computations can cause accumulation of error when
+relative scaling is used repeatedly.
+
+
+File: texdraw, Node: Text placement, Next: Intermediate PostScript file, Prev: Resolution, Up: Extending TeXdraw
+
+Text placement
+--------------
+
+ While in the TeXdraw environment, TeX text is placed in a TeX box
+while PostScript code is written to the intermediate file. At the end
+of the TeXdraw environment, the size of the drawing is determined. A
+TeX box of this size is created. The TeX `\special' mechanism is used
+to instruct the PostScript driver program to position the PostScript
+drawing from the intermediate file in this area. Next, the text
+generated by TeXdraw is positioned and placed in the box. Note that
+when the document is printed, the PostScript drawing is placed on the
+page before the TeX text; TeX text will appear on top of graphics.
+
+ The rotation of text is carried out with in-line PostScript code which
+does not appear in the intermediate PostScript file. This code is sent
+to the PostScript driver with a `\special' command. This PostScript
+code is embedded in the dvi (device independent) file that TeX produces.
+
+
+File: texdraw, Node: Intermediate PostScript file, Prev: Text placement, Up: Extending TeXdraw
+
+The intermediate PostScript file
+--------------------------------
+
+ The intermediate PostScript file consists of a header, a body and a
+trailer following Encapsulated PostScript File (EPSF) standards. The
+header sets up PostScript definitions and default parameter values. The
+trailer includes the `BoundingBox' information which gives the
+coordinates in default PostScript units (72 per inch) for the lower
+lefthand corner and the upper righthand corner of the drawing. The body
+of the intermediate PostScript file contains the PostScript commands
+generated by TeXdraw.
+
+ Many moves in TeXdraw serve only to position text or to reset saved
+positions. TeXdraw buffers move commands in order to be able to
+collapse runs of moves. Only the last move of a run of moves is
+actually written to the PostScript file. However the intermediate moves
+still affect the size of the drawing. The expunging of moves means that
+the PostScript file `BoundingBox' information may indicate a drawing
+size larger than the PostScript commands themselves would warrant.
+
+ Drawing segments in TeXdraw show up in the PostScript file as saves
+and restores of the PostScript graphics state. Segment starts are
+buffered and only written out if necessary. This way "empty" segments
+do not generate output to the PostScript file. These empty segments
+arise if a segment contains only moves and text commands. The moves
+inside the segment are not needed since they are local to the segment,
+and the text commands do not generate output to the PostScript file.
+
+ If TeXdraw is used only for moves and text, no intermediate
+PostScript file will be created.
+
+
+File: texdraw, Node: How TeXdraw merges graphics and text, Prev: Extending TeXdraw, Up: More Details
+
+How TeXdraw merges graphics and text
+====================================
+
+ TeXdraw creates a box which is the same size as the graphic. The
+printer driver will place the PostScript graphic into this space. Any
+TeX text generated by the TeXdraw commands will be superimposed on this
+graphic.
+
+ The LaTeX2e front-end for TeXdraw is enabled by including the
+`texdraw' package. The `texdraw' package automatically invokes the
+standard `graphics' package distributed with LaTeX2e. The `graphics'
+package has support for a number of different printer drivers,
+including a number for PostScript printers. Any options to the
+`texdraw' package are passed on to the `graphics' package. Such an
+option can be used to select a driver other than the default one.
+
+ Within the `graphics' package, the driver option is used to select
+definitions for the low-level macros which generate the `\special'
+commands needed to request insertion of a graphics file and to rotate
+text.(1) TeXdraw uses the user-level macros defined by the `graphics'
+package (*note PostScript printer drivers::). When not used with the
+LaTeX2e front-end, TeXdraw defines versions of these macros that are
+suitable for use with the `dvips' printer driver.
+
+ ---------- Footnotes ----------
+
+ (1) Not all PostScript drivers support text rotation.
+
+
+File: texdraw, Node: PostScript Commands, Next: TeXdraw Toolbox, Prev: More Details, Up: Top
+
+PostScript Commands
+*******************
+
+ This appendix describes a set of macros for accessing some of the
+PostScript builtin functions. Each of these macros issues a single
+PostScript command. The extra services provided by TeXdraw are the
+interpretation of coordinates in user units relative to the current
+drawing segment and the writing of a pending TeXdraw move to the
+PostScript file. This last operation establishes the current point in
+PostScript. The user of these commands should be familiar with the
+concepts of path construction and filling in PostScript. Further
+details on the PostScript functions used can found in the `PostScript
+Language Reference Manual, Second Edition', Adobe Systems,
+Addison-Wesley, 1990.
+
+ These macros are distributed in file `txdps.tex'.
+
+ The `\PSsetlinecap' and `\PSsetlinejoin' commands control the way
+line ends and line joins are rendered. The default values set by
+TeXdraw (round caps and round join) are appropriate for most drawings.
+Changes to these parameters apply to the current and subsequent paths.
+
+`\PSsetlinecap TYPE'
+ Set the line cap parameter. The value `0' gives a butt cap; `1'
+ gives a round cap; and `2' gives a projecting square cap. The
+ initial value is corresponds to a round cap.
+
+`\PSsetlinejoin TYPE'
+ Set the line join parameter. The value `0' gives a miter join;
+ `1' gives a round join; and `2' gives a bevel join. The initial
+ value corresponds to a round join.
+
+ PostScript paths and fill operations can be controlled by a number of
+functions. By design, TeXdraw always maintains a defined PostScript
+current point. Some of the following macros cause the PostScript
+current point to become undefined. The PostScript current point must be
+set again (say with a `\PSmoveto' command) before invoking basic
+TeXdraw commands.
+`\PSstroke'
+ Stroke a PostScript path. The current path is stroked with the
+ current gray level (set with `\setgray') and the current line
+ pattern (set with `\lpatt'). The PostScript current point becomes
+ undefined.
+
+`\PSnewpath'
+ Establish a new path. The PostScript current point becomes
+ undefined.
+
+`\PSclosepath'
+ Close a subpath. A new subpath is started.
+
+`\PSfill'
+ Fill a region defined by a path. Each subpath is closed and the
+ enclosed regions painted with the current gray level. The
+ PostScript current point becomes undefined. The gray level can be
+ set with the TeXdraw command `\setgray'.
+
+ The following line commands interpret coordinates relative to the
+current TeXdraw scaling and drawing segment. The specified coordinate
+affects the drawing size as determined by TeXdraw.
+`\PSlineto (X Y)'
+ Add a line segment to the current path. This command is identical
+ to the TeXdraw command `\lvec'. The PostScript current point must
+ be defined before this command is issued.
+
+`\PSmoveto (X Y)'
+ Move to the coordinate specified by `(X Y)'. The PostScript
+ current point becomes defined.
+
+ The following macros provide access to the general arc commands in
+PostScript. The coordinates are interpreted relative to the current
+TeXdraw scaling and drawing segment. The specified coordinate affects
+the drawing size as determined by TeXdraw.
+`\PSarc r:RADIUS sd:START-ANGLE ed:END-ANGLE (X Y)'
+ Draw a counterclockwise arc. The center of the arc is at the given
+ position. The radius is specified by RADIUS. The start and end
+ angles (in degrees) are specified by START-ANGLE and END-ANGLE.
+ If the PostScript current point is defined, this command also
+ draws the line from the current point to the beginning of the arc.
+ The line and arc become part of the current path. The current
+ point becomes defined.
+
+`\PSarcn r:RADIUS sd:START-ANGLE ed:END-ANGLE (X Y)'
+ Draw a clockwise arc. The center of the arc is at the given
+ position. The radius is specified by RADIUS. The start and end
+ angles (in degrees) are specified by START-ANGLE and END-ANGLE.
+ If the PostScript current point is defined, this command also
+ draws the line from the current point to the beginning of the arc.
+ The line and arc become part of the current path. The current
+ point becomes defined.
+
+ The macro `\writeps' provides the general facility to write arbitrary
+PostScript commands to the PostScript file. This macro is used by the
+preceding commands and by the TeXdraw commands themselves. This
+facility has to be used with care since changes in position or scaling
+resulting from the PostScript commands are not known to TeXdraw.
+`\writeps {<PS-COMMANDS>}'
+ Write PostScript commands to the intermediate PostScript file.
+ Before the commands are inserted, any pending TeXdraw move is
+ written to the PostScript file. The PostScript scaling gives 300
+ units/inch.
+
+
+File: texdraw, Node: TeXdraw Toolbox, Next: Examples, Prev: PostScript Commands, Up: Top
+
+TeXdraw Toolbox
+***************
+
+ This appendix describes some of the macros supplied with TeXdraw
+which can be used to define additional commands for creating drawings.
+The macros described here work in the user specified coordinate system.
+Some of these toolbox macros are used by the TeXdraw commands
+themselves, others are supplied in an auxiliary file `txdtools.tex'.
+
+* Menu:
+
+* Coordinate parsing::
+* Real arithmetic::
+* Arrow curve::
+
+
+File: texdraw, Node: Coordinate parsing, Next: Real arithmetic, Up: TeXdraw Toolbox
+
+Coordinate parsing
+==================
+
+ The coordinate parsing macro `\getpos' is useful for creating new
+commands. This macro takes care of stripping leading and trailing
+blanks from coordinates specified between parentheses. In addition,
+symbolic coordinates are translated to the corresponding relative
+coordinate using the segment offset and scaling in effect.
+
+ The macro `\currentpos' returns the relative coordinates of the
+current position. The returned values are relative to the current
+segment and the current scaling. The macro `\cossin' returns the
+real-valued cosine and sine of the direction of the line joining two
+points. The macro `\vectlen' returns the length of a vector. The
+results appear as the value of user supplied macro names.
+
+`\getpos (X Y)\MX\MY'
+ Decode coordinate values. The coordinates specified by `(X Y)' are
+ decoded. Symbolic coordinates are translated to the corresponding
+ relative coordinate using the current segment offset and scaling.
+ The resulting character strings representing the real-valued
+ coordinates are assigned to the macros specified by `\MX' and
+ `\MY'.
+
+`\currentpos \MX\MY'
+ Return the coordinates of the current position. The coordinates
+ are relative to the current segment offset and scaling. The
+ resulting character strings representing the real-valued
+ coordinates are assigned to the macros specified by `\MX' and
+ `\MY'.
+
+`\cossin (X1 Y1)(X2 Y2)\COSA\SINA'
+ Return the cosine and sine of the direction of a vector joining two
+ points. The cosine and sine of the angle of the vector which goes
+ from `(X1 Y1)' to `(X2 Y2)'. The character strings representing
+ these real-valued quantities are assigned to the macros specified
+ by `\COSA' and `\SINA'.
+
+`\vectlen (X1 Y1)(X2 Y2)\LEN'
+ Return the length of a vector joining two points. The length of
+ the vector is relative to the current scaling. The character
+ string representing the real-valued length is assigned to the
+ macro specified by `\LEN'.
+
+
+File: texdraw, Node: Real arithmetic, Next: Arrow curve, Prev: Coordinate parsing, Up: TeXdraw Toolbox
+
+Real arithmetic
+===============
+
+ The TeXdraw toolbox supplies macros to perform real arithmetic on
+coordinate values. The result appears as the value of a user supplied
+macro name.
+`\realadd {VALUE1} {VALUE2} \SUM'
+ Add two real quantities, assigning the resultant character string
+ representing the sum to the macro `\SUM'.
+
+`\realmult {VALUE1} {VALUE2} \PROD'
+ Multiply two real quantities, assigning the resultant character
+ string representing the product to the macro `\PROD'.
+
+`\realdiv {VALUE1} {VALUE2} \RESULT'
+ Divide two real quantities, assigning the resultant character
+ string representing the result of VALUE1/VALUE2 to the macro
+ `\RESULT'.
+
+
+File: texdraw, Node: Arrow curve, Prev: Real arithmetic, Up: TeXdraw Toolbox
+
+Arrow curve
+===========
+
+ This example illustrates the use of the TeXdraw toolbox routines to
+do computations with the coordinates. The problem will be tackled in
+two parts. First, we will produce a macro to place an arrowhead on a
+Bezier curve. Then given this macro, we will produce a macro which can
+draw a "wiggly" line from the current position to a given coordinate.
+
+ The first macro, `\cavec', uses the `\cossin' command to determine
+the the cosine and sine of the angle of the line joining the second
+control point to the end point of the Bezier curve. Recall that the
+Bezier curve is tangent to this line at the end point. After drawing
+the Bezier curve, the scaling is set locally to absolute units of 0.05
+inches. We go back down the line from the end point by 0.05 inches and
+draw an arrow vector to the end point from there. This arrow vector is
+mostly arrowhead, with little or no tail.
+
+ \def\cavec (#1 #2)(#3 #4)(#5 #6){
+ \clvec (#1 #2)(#3 #4)(#5 #6)
+ \cossin (#3 #4)(#5 #6)\cosa\sina
+ \rmove (0 0)
+ \bsegment
+ \drawdim in \setsegscale 0.05
+ \move ({-\cosa} -\sina) \avec (0 0)
+ \esegment}
+
+ Note the use of macros as arguments to a `\move' command. Minus
+signs are put in front of the macros. However, the value of the macro
+`\cosa' or `\sina' could be negative. Fortunately, TeX accepts two
+minus signs in a row and interprets the result as positive. Note that
+the `\rmove (0 0)' command before the beginning of the segment ensures
+that the Bezier curve is stroked before the arrowhead is drawn.
+
+ The second macro `\caw' builds on `\cavec'. The goal is to produce a
+wiggly vector that can be used as a pointer in a drawing. Consider the
+following symmetrical normalized Bezier curve.
+ \centertexdraw{ \move (0 0) \cavec (1.4 0.1)(-0.4 -0.1)(1 0) }
+
+ This curve has the appropriate wiggle. Now we want to be able to draw
+this curve, appropriately scaled and rotated. The macro `\caw' needs
+to do computations on the coordinates. First, `\caw' uses the macros
+`\getpos' and `\currentpos' to get the positions of the end and start
+of the curve. Next, the length of the vector is calculated using the
+macro `\vectlen'. A local macro `\rotatecoord' is used to rotate a
+coordinate pair about the origin, using the cosine and sine of the
+rotation angle. The vector length is used to scale the normalized
+curve. The remaining code draws the rotated, normalized curve.
+
+ \def\caw (#1 #2){
+ \currentpos \xa\ya
+ \cossin ({\xa} \ya)(#1 #2)\cosa\sina
+
+ % The nominal wiggly curve is (0 0) (1+dx dy) (-dx -dy) (1 0)
+ % Find the rotated offset (dx dy) -> (du dv)
+ \rotatecoord (0.4 0.1)\cosa\sina \du\dv
+
+ % calculate the length of the vector
+ \vectlen ({\xa} \ya)(#1 #2)\len
+
+ % draw the curve in normalized units
+ \bsegment
+ \setsegscale {\len}
+ \realadd \cosa \du \tmpa \realadd \sina \dv \tmpb
+ \cavec ({\tmpa} \tmpb)({-\du} -\dv)({\cosa} \sina)
+ \esegment
+ \move (#1 #2)}
+
+ % rotate a coordinate (x y)
+ % arguments: (x y) cosa sina x' y'
+ % x' = cosa * x - sina * y; y' = sina * x + cosa * y
+ \def\rotatecoord (#1 #2)#3#4#5#6{
+ \getpos (#1 #2)\xarg\yarg
+ \realmult \xarg {#3} \tmpa \realmult \yarg {#4} \tmpb
+ \realadd \tmpa {-\tmpb} #5
+ \realmult \xarg {#4} \tmpa \realmult \yarg {#3} \tmpb
+ \realadd \tmpa \tmpb #6}
+
+ Finally, the new macro can be used as follows.
+ \centertexdraw{
+ \arrowheadtype t:W
+ \move (0 0)
+ \cavec (1.4 0.1)(-0.4 -0.1)(1 0)
+ \move (1 0) \caw (1 1) \htext{tip at \tt (1 1)}
+ \move (1 0) \caw (2 1) \htext{tip at \tt (2 1)}
+ \move (1 0) \caw (2 0) \htext{tip at \tt (2 0)}
+
+ }
+
+ Note that the Bezier curve in the macro `\cavec' lies below the
+arrowhead. The example then draws an arrowhead of type `W' to erase
+the part of the line below the arrowhead.
+
+
+File: texdraw, Node: Examples, Next: Command Listing, Prev: TeXdraw Toolbox, Up: Top
+
+Examples
+********
+
+ This appendix shows examples of the use of TeXdraw.
+
+* Menu:
+
+* Block diagram::
+* Filter response graph::
+* Geometric construction::
+
+
+File: texdraw, Node: Block diagram, Next: Filter response graph, Up: Examples
+
+Block diagram of a lattice filter
+=================================
+
+ The block diagram of a lattice filter uses a library of extended
+commands built from the basic TeXdraw commands.
+
+ The block diagram uses a "delay" block. This is defined as a segment
+which leaves the current position at the end of this block. A second
+macro, `\bdot', draws a "big" dot which is used to mark junctions of
+lines. The `\Ttext' command centers text above a given point. The
+offset to position the text is local to a segment, resulting in no
+change to the current point. Similar macros to position text below a
+point (`\Btext'), to the left of a point (`\Ltext') and to the right of
+a point (`\Rtext') are used in the final drawing.
+ \def\delay {\bsegment
+ \setsegscale 0.3
+ \lvec (0 +0.5) \lvec (1 +0.5) \lvec (1 -0.5)
+ \lvec (0 -0.5) \lvec (0 0)
+ \textref h:C v:C \htext (0.5 0){$z^{-1}$}
+ \savepos (1 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)}
+ \def\bdot {\fcir f:0 r:0.02 }
+ \def\Ttext #1{\bsegment
+ \textref h:C v:B \htext (0 +0.06){#1}
+ \esegment}
+
+ Several of the block diagram elements scale with the size of the
+summing nodes. The radius of the circles for the summing nodes is
+defined as the macro `\cradius'. The summing nodes will have enclosed
+plus signs, appropriately scaled. The plus sign is drawn by the macro
+`\pluss'. The macro `\pcir' draws both the circle and the plus sign.
+The incoming lines to a summing node will be labelled with plus or
+minus signs (characters this time), placed at the appropriate position
+with respect to the center of the summing node. These positions are
+given in terms of compass directions. The macro `\putwnw' places text
+west by north-west relative to the center of the summing node.
+ \def\cradius {0.08}
+ \def\pluss {\bsegment
+ \setsegscale {\cradius}
+ \move (-0.5 0) \lvec (+0.5 0)
+ \move (0 -0.5) \lvec (0 +0.5)
+ \esegment}
+ \def\pcir {\lcir r:{\cradius} \pluss}
+ \def\puttext (#1 #2)#3{\bsegment
+ \setsegscale {\cradius}
+ \textref h:C v:C \htext (#1 #2){#3}
+ \esegment}
+ \def\putwnw #1{\puttext (-1.7 +1.2){#1}}
+
+ The block diagram has vectors arriving and departing from the summing
+nodes (circles). One could calculate the points of intersection of the
+lines with the circles, and then enter the values into the TeXdraw
+code. However, in this example, we implement an automated procedure.
+Two macros are needed, an arrow vector to a circle (`\avectoc') and an
+arrow vector leaving from a circle (`\avecfrc'). The macros will
+calculate the point of intersection with the circle and start or end
+the vector at the intersection point.
+
+ The arrow macros use scaling and relative positioning inside of a
+drawing segment. In the case of the macro `\avectoc', a move is made
+to the final point (center of the circle), then within a drawing
+segment, a scaled move is made back towards the initial point to
+determine the intersection point with the circle.
+
+ \def\avectoc (#1 #2){\currentpos \xa\ya
+ \cossin ({\xa} \ya)(#1 #2)\cosa\sina
+ \savepos (#1 #2)(*tx *ty)
+ \bsegment
+ \move (*tx *ty)
+ \setsegscale {\cradius}
+ \rmove ({-\cosa} -\sina)
+ \savecurrpos (*ex *ey)
+ \esegment
+ \avec (*ex *ey)
+ \move (#1 #2)}
+ \def\avecfrc (#1 #2){\currentpos \xa\ya
+ \cossin ({\xa} \ya)(#1 #2)\cosa\sina
+ \bsegment
+ \setsegscale {\cradius}
+ \move ({\cosa} \sina)
+ \savecurrpos (*ex *ey)
+ \esegment
+ \move (*ex *ey)
+ \avec (#1 #2)}
+
+ Having defined these macros, we are ready to draw the block diagram.
+The first and last sections of the lattice filter are very similar,
+differing mainly in the text labels. With more effort, code could be
+shared between the commands used to draw these blocks.
+ \centertexdraw{
+ \drawdim in
+ \arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
+ \def\pl {$\scriptscriptstyle +$} \def\mn {$\scriptscriptstyle -$}
+
+ \move (0 +0.63) \move (0 -0.60) \move (0 0) % compensate for the text size
+
+ % Input to the first stage
+ \bsegment
+ \Ltext{$x(n)$}
+ \lvec (0.3 0) \bdot \lvec (0.3 +0.4) \move (0.3 0) \lvec (0.3 -0.4)
+ \savepos (0.3 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)
+
+ % first lattice stage
+ \bsegment
+ \move (0 +0.4) \avectoc (1.7 +0.4)
+ \pcir \putwnw{\pl} \puts{\mn}
+ \avecfrc (2.1 +0.4)
+ \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
+ \pcir \putwsw{\pl} \putn{\mn}
+ \avecfrc (2.1 -0.4)
+ \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
+ \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
+ \move (0.1 +0.42) \Ttext {$f_0(n)$}
+ \move (2.0 +0.42) \Ttext {$f_1(n)$}
+ \move (0.1 -0.4) \Btext {$b_0(n)$}
+ \move (2.0 -0.4) \Btext {$b_1(n)$}
+ \textref h:L v:B \htext (1.15 +0.2){$K_1$}
+ \textref h:L v:T \htext (1.15 -0.2){$K_1$}
+ \savepos (2.1 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)
+
+ % center section
+ \bsegment
+ \textref h:C v:C \htext (0.3 +0.4){$\cdots$}
+ \htext (0.3 -0.4){$\cdots$}
+ \savepos (0.6 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)
+
+ % last lattice stage
+ \bsegment
+ \move (0 +0.4) \avectoc (1.7 +0.4)
+ \pcir \putwnw{\pl} \puts{\mn}
+ \avecfrc (2.3 +0.4) \Rtext{$e(n)$}
+ \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
+ \pcir \putwsw{\pl} \putn{\mn}
+ \avecfrc (2.1 -0.4)
+ \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
+ \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
+ \move (0.1 +0.42) \Ttext {$f_{P-1}(n)$}
+ \move (2.0 +0.42) \Ttext {$f_P(n)$}
+ \move (0.1 -0.4) \Btext {$b_{P-1}(n)$}
+ \move (2.0 -0.4) \Btext {$b_P(n)$}
+ \textref h:L v:B \htext (1.15 +0.2){$K_P$}
+ \textref h:L v:T \htext (1.15 -0.2){$K_P$}
+ \esegment
+ }
+
+ The macros used in this example are similar to the block diagram
+macros defined in the file `blockdiagram.tex'.
+
+
+File: texdraw, Node: Filter response graph, Next: Geometric construction, Prev: Block diagram, Up: Examples
+
+Filter response graph
+=====================
+
+ This example shows the response of a canonical filter. TeXdraw is
+not well suited for general purpose graphing -- it has no coordinate
+translation facility nor does it have separate X and Y scaling.
+Nonetheless, for certain simple graphs, TeXdraw is adequate.
+
+ In this example, macro `\ticklab' places a labelled axis tick at a
+given position. The data is specified in a straightforward manner,
+having been scaled beforehand to give the desired aspect ratio for the
+graph.
+
+ \centertexdraw{
+ \arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
+ \def\ds {\displaystyle}
+ \def\ticklab (#1 #2)#3{\move(#1 #2)
+ \bsegment
+ \lvec (0 0.05)
+ \textref h:C v:T \htext (0 -0.05){#3}
+ \esegment}
+ \def\Rtext #1{\bsegment
+ \textref h:L v:C \htext (+0.08 0){#1}
+ \esegment}
+
+ \move (2.4 -0.3) % move to set the size
+
+ \move (0 0)
+ % Axes
+ \avec (0 +1.4)
+ \move (0 0) \avec (2.2 0) \Rtext{$\omega$}
+ \ticklab (0 0) {0}
+ \ticklab (0.8 0) {$\ds {\pi \over 2N} $}
+ \ticklab (1.2 0) {$\omega_s$}
+ \ticklab (1.6 0) {$\ds {\pi \over N} $}
+
+ \linewd 0.025
+ \move (0 1)
+ \lvec (0.4 1)
+ \lvec (0.44 0.998)
+ \lvec (0.48 0.988)
+ \lvec (0.52 0.973)
+ \lvec (0.56 0.951)
+ ...
+ \lvec (1.08 0.233)
+ \lvec (1.12 0.156)
+ \lvec (1.16 0.078)
+ \lvec (1.20 0)
+ \lvec (1.9 0)
+ }
+
+
+File: texdraw, Node: Geometric construction, Prev: Filter response graph, Up: Examples
+
+Geometric construction
+======================
+
+ This example shows a geometric construction which places an ellipse
+tangent to an enclosing circle. The size of the ellipse is determined
+from geometric considerations. Macros are used to modularize the code.
+The example alters the unit scale factor. This allows the drawing to be
+carried out in units normalized to the radius of the circle.
+
+ \centertexdraw{
+ \arrowheadtype t:V \arrowheadsize l:0.08 w:0.04
+ \linewd 0.01
+ \setunitscale 1.5 % circle will have radius 1.5 inches
+
+ \def\Btext #1{\bsegment
+ \textref h:C v:T \htext (0 -0.04){#1}
+ \esegment}
+ \def\Ttext #1{\bsegment
+ \textref h:C v:B \htext (0 +0.04){#1}
+ \esegment}
+ \def\Ltext #1{\bsegment
+ \textref h:R v:C \htext (-0.04 0){#1}
+ \esegment}
+ \def\bdot {\fcir f:0 r:0.0133 }
+ \def\vtick {\bsegment
+ \move (0 -0.05) \lvec (0 +0.05)
+ \esegment}
+ \def\htick {\bsegment
+ \move (-0.05 0) \lvec (+0.05 0)
+ \esegment}
+ \def\Hlen #1#2{\bsegment
+ \vtick \avec ({#1} 0) \vtick \avec (0 0)
+ \relsegscale 0.5
+ \move ({#1} 0) \Ttext {#2}
+ \esegment}
+ \def\Vlen #1#2{\bsegment
+ \htick \avec (0 {#1}) \htick \avec (0 0)
+ \relsegscale 0.5
+ \move (0 {#1}) \Ltext {#2}
+ \esegment}
+
+ \lcir r:1 % circle
+ \move (-1.05 0) \lvec ( 1.05 0) % axes
+ \move (0 -1.05) \lvec (0 1.05)
+
+ \move (0 0) \lvec (0.707 0.707) \bdot
+ \rmove (0.02 0.02) \textref h:L v:B \htext {X}
+ \move (0.707 -0.707) \bdot
+ \textref h:R v:T \htext(-0.02 -0.02){O}
+
+ \move (0.5 0) % center of ellipse
+ \bsegment
+ \lellip rx:0.435 ry:0.804
+ \bdot \Btext {$\beta_2$}
+ \move (0 0.15) \Hlen {0.435}{$|\beta_1{+}\beta_3|$}
+ \move (-0.7 0) \Vlen {0.804}{$|\beta_1{-}\beta_3|$}
+ \esegment
+ }
+
+
+File: texdraw, Node: Command Listing, Next: Command Index, Prev: Examples, Up: Top
+
+Alphabetic listing of commands
+******************************
+
+`\arrowheadsize l:LENGTH w:WIDTH'
+ Set the arrowhead size to be LENGTH units long and WIDTH units
+ wide. The width is measured across the "base" of the arrowhead.
+ The initial arrowhead size has a LENGTH of 0.16 inches and a WIDTH
+ of 0.08 inches.
+
+`\arrowheadtype t:TYPE'
+ Set the arrowhead type to TYPE, where TYPE is one of `F', `T',
+ `W', `V', or `H'. There are two kinds of arrowheads. The first
+ kind is a triangle. There are 3 variants: type `T' is an empty
+ triangle, type `F' is a filled triangle (using the current gray
+ level for lines), type `W' is a triangle filled with white. The
+ second kind of arrowhead is an open ended Vee. There are 2
+ variants: type `V' has the stem continue to the tip, type `H' has
+ the stem stop at the base of the arrowhead. The initial arrowhead
+ type is `T'.
+
+`\avec (X Y)'
+ Draw a line with an arrowhead from the current position to `(X
+ Y)'. The new current position is `(X Y)'. The arrowhead is
+ aligned with the line, with the tip at `(X Y)'.
+
+`\begin{texdraw}'
+ Start a TeXdraw drawing. The drawing is terminated with an
+ `\end{texdraw}' command. This command is for use with LaTeX.
+
+`\bsegment'
+ Start a drawing segment. The coordinate system is shifted such
+ that the current position corresponds to the coordinate `(0 0)'.
+ Changes to scaling, position and line parameters stay local to the
+ drawing segment.
+
+`\btexdraw'
+ Start a TeXdraw drawing. The drawing is terminated with an
+ `\etexdraw' command.
+
+`\centertexdraw { ... }'
+ Center a TeXdraw box. The argument contains TeXdraw commands.
+ The resulting box has the horizontal size `\hsize' and height equal
+ to the height of the drawing.
+
+`\clvec (X1 Y1)(X2 Y2)(X3 Y3)'
+ Draw a Bezier curve from the current position to the coordinate
+ `(X3 Y3)' which becomes the new current position. The coordinates
+ `(X1 Y1)' and `(X2 Y2)' serve as control points for the curve.
+ Only the last coordinate given is used to update the size of the
+ drawing.
+
+`\drawbb'
+ Draw a ruled box around the effective size of a drawing produced by
+ TeXdraw commands.
+
+`\drawdim DIM'
+ Set the units to DIM. The argument DIM can be any valid TeX
+ dimension unit. The units are used to interpret coordinate
+ values. Examples of valid units: `cm', `mm', `in', `pt', and `bp'.
+
+`\end{texdraw}'
+ End a TeXdraw drawing started with a `\begin{texdraw}' command.
+ The resulting TeXdraw drawing is placed in a box with height equal
+ to the height of the drawing and width equal to the width of the
+ drawing. The depth of the box is zero. This command is for use
+ with LaTeX.
+
+`\esegment'
+ End a drawing segment. The current position in effect before the
+ corresponding `\bsegment' command is restored. The scaling and
+ line parameter values revert to those in effect before the
+ corresponding `\bsegment' was invoked.
+
+`\etexdraw'
+ End a TeXdraw drawing started with a `\btexdraw' command. The
+ resulting TeXdraw drawing is placed in a box with height equal to
+ the height of the drawing and width equal to the width of the
+ drawing. The depth of the box is zero.
+
+`\everytexdraw { ... }'
+ Specify TeXdraw commands to be executed at the beginning of every
+ TeXdraw drawing.
+
+`\fcir f:LEVEL r:RADIUS'
+ Draw a filled circle with center at the current position. The
+ radius is specified by RADIUS. The circle is painted with the
+ gray level specified by LEVEL. A gray level of 1 corresponds to
+ white, with decreasing values getting darker. The level 0 is full
+ black. This command does not draw a line along the circumference.
+ The drawing size is increased if necessary to contain the circle.
+
+`\fellip f:LEVEL rx:X-RADIUS ry:Y-RADIUS'
+ Draw a filled ellipse with center at the current position. The
+ radius in the X direction is specified by X-RADIUS. The radius in
+ the Y direction is specified by Y-RADIUS. The ellipse is painted
+ with the gray level specified by LEVEL. A gray level of 1
+ corresponds to white, with decreasing values getting darker. The
+ level 0 is full black. This command does not draw a line along
+ the boundary of the ellipse. The drawing size is increased if
+ necessary to contain the ellipse.
+
+`\htext (X Y){TEXT}'
+`\htext {TEXT}'
+ The first form of this command places the TeX text TEXT
+ horizontally with the text reference point at the coordinate `(X
+ Y)'. The new current position is `(X Y)'. The second form of
+ this command places the TeX text TEXT horizontally with the text
+ reference point at the current position. The text reference point
+ is set with the `\textref' command.
+
+`\ifill f:LEVEL'
+ Close the current path and paint the interior of the region with
+ gray level LEVEL. The line around the path is not drawn. Gray
+ levels are real values from 0 (black) through intermediate values
+ (grays) to 1 (white).
+
+`\larc r:RADIUS sd:START-ANGLE ed:END-ANGLE'
+ Draw a counterclockwise arc. The center of the arc is at the
+ current position. The radius is specified by RADIUS. The start
+ and end angles (in degrees) are specified by START-ANGLE and
+ END-ANGLE. This command does not affect the limits (size) of the
+ drawing.
+
+`\lcir r:RADIUS'
+ Draw a circle with center at the current position. The radius is
+ specified by RADIUS. This command draws a line along the
+ circumference of the circle. The drawing size is increased if
+ necessary to contain the circle.
+
+`\lellip rx:X-RADIUS ry:Y-RADIUS'
+ Draw an ellipse with center at the current position. The radius
+ in the X direction is specified by X-RADIUS. The radius in the Y
+ direction is specified by Y-RADIUS. The drawing size is increased
+ if necessary to contain the ellipse.
+
+`\lfill f:LEVEL'
+ Close the current path, draw the line around the path using the
+ current grey level for lines and paint the interior of the region
+ with specified gray level LEVEL. Gray levels are real values from
+ 0 (black) through intermediate values (grays) to 1 (white).
+
+`\linewd WIDTH'
+ Set the line width to WIDTH units. Initially WIDTH is 0.01 inches
+ (corresponding to 3 pixels at 300 pixels to the inch).
+
+`\lpatt (PATTERN)'
+ Set lines to have the pattern `(PATTERN)'. A pattern is a
+ sequence of on/off lengths separated by blanks and enclosed in
+ parentheses. The lengths alternately specify the length of a dash
+ and the length of a gap between dashes. Each length is
+ interpreted using the current scaling and drawing units. The
+ pattern is used cyclically. The empty pattern signifies a solid
+ line. The initial line pattern is a solid line, corresponding to
+ the empty pattern `\lpatt ()'.
+
+`\lvec (X Y)'
+ Draw a line from the current position to coordinate `(X Y)'. The
+ new current position is `(X Y)'.
+
+`\move (X Y)'
+ Move to coordinate `(X Y)'. The new current position is `(X Y)'.
+
+`\ravec (DX DY)'
+ Draw a line with an arrowhead from the current position, DX units
+ in the X direction and Y units in the Y direction. The final
+ position becomes the new current position. The arrowhead is
+ aligned with the line, with the tip at the new current position.
+
+`\relsegscale VALUE'
+ Adjust the segment scale factor by multiplying by VALUE. This has
+ the effect of multiplying the current overall scale factor by the
+ same factor. The overall scaling factor is the product of the
+ unit scale factor and the segment scale factor.
+
+`\relunitscale VALUE'
+ Adjust the unit scale factor by multiplying by VALUE. This has
+ the effect of multiplying the overall scale factor by the same
+ factor. The overall scaling factor is the product of the unit
+ scale factor and the segment scale factor.
+
+`\rlvec (DX DY)'
+ Draw a line from the current position, DX units in the X direction
+ and DY units in the Y direction. The final position becomes the
+ new current position.
+
+`\rmove (DX DY)'
+ Move from the current position, DX units in the X direction and DY
+ units in the Y direction. The final position becomes the new
+ current position.
+
+`\rtext td:ANGLE (x y){TEXT}'
+`\rtext td:ANGLE {TEXT}'
+ The first form of this command places the TeX text TEXT at an
+ angle with the text reference point at the coordinate `(X Y)'.
+ The new current position is `(X Y)'. The second form of this
+ command places the TeX text TEXT at an angle with the text
+ reference point at the current position. In both cases, the TeX
+ text is placed in a box and the box is rotated counterclockwise by
+ ANGLE degrees about the text reference point. The text reference
+ point is set with the `\textref' command.
+
+`\savecurrpos (*PX *PY)'
+ Save the current position as the absolute position referenced by
+ `(*PX *PY)'.
+
+`\savepos (X Y)(*PX *PY)'
+ Save the coordinate position `(X Y)' as the absolute position
+ referenced by `(*PX *PY)'. The coordinate `(X Y)' is interpreted
+ in the normal fashion as a coordinate relative to the current
+ segment, using the current scaling factors and drawing unit.
+
+`\setgray LEVEL'
+ Set the gray level of lines. Gray levels are real values from 0
+ (black) through intermediate values (gray) to 1 (white). The
+ initial gray level is 0 corresponding to black.
+
+`\setsegscale SCALE'
+ Set the segment scale factor. The argument SCALE is a real number
+ which is used to scale coordinate values. The overall scale
+ factor is the product of the unit scale factor and the segment
+ scale factor.
+
+`\setunitscale SCALE'
+ Set the unit scaling to SCALE. The argument SCALE is a real
+ number which is used to scale coordinate values. The overall
+ scaling factor is the product of the unit scale factor and the
+ segment scale factor.
+
+`\texdrawbox { ... }'
+ Create a TeXdraw box. The argument contains TeXdraw commands.
+ This macro returns a TeX box with height equal to the height of the
+ drawing and width equal to the width of the drawing. The depth of
+ the box is zero.
+
+`\textref h:H-REF v:V-REF'
+ Set the text reference point for subsequent text commands. The
+ horizontal reference point H-REF is one of `L', `C' or `R' (left,
+ center or right). The vertical reference point V-REF is one of
+ `T', `C' or `B' (top, center or bottom). For rotated text, the
+ reference point is determined before rotation. The initial text
+ reference point corresponds to `\textref h:L v:B'.
+
+`\vtext (x y){TEXT}'
+`\vtext {TEXT}'
+ The first form of this command places the TeX text TEXT vertically
+ with the text reference point at the coordinate `(X Y)'. The new
+ current position is `(X Y)'. The second form of this command
+ places the TeX text TEXT vertically with the text reference point
+ at the current position. In both cases, the TeX text is placed in
+ a box and the box is rotated counterclockwise by 90 degrees about
+ the text reference point. The text reference point is set with
+ the `\textref' command.
+
+
+
+File: texdraw, Node: Command Index, Next: Concept Index, Prev: Command Listing, Up: Top
+
+Command Index
+*************
+
+* Menu:
+
+* \arc: Circles and arcs.
+* \arrowheadsize: Line vectors.
+* \arrowheadtype: Line vectors.
+* \avec: Line vectors.
+* \begin{texdraw}: Accessing TeXdraw.
+* \bsegment: Drawing segments.
+* \btexdraw: Accessing TeXdraw.
+* \centertexdraw: Accessing TeXdraw.
+* \clvec: Bezier curves.
+* \cossin: Coordinate parsing.
+* \currentpos: Coordinate parsing.
+* \drawbb: Drawing size.
+* \drawdim: Coordinate specification.
+* \end{texdraw}: Accessing TeXdraw.
+* \esegment: Drawing segments.
+* \etexdraw: Accessing TeXdraw.
+* \everytexdraw: Accessing TeXdraw.
+* \fcir: Circles and arcs.
+* \fellip: Circles and arcs.
+* \getpos: Coordinate parsing.
+* \htext: TeX text.
+* \ifill: Fill commands.
+* \lcir: Circles and arcs.
+* \lellip: Circles and arcs.
+* \lfill: Fill commands.
+* \linewd: Line vectors.
+* \lvec: Line vectors.
+* \move: Line vectors.
+* \PSarc: PostScript Commands.
+* \PSarcn: PostScript Commands.
+* \PSclosepath: PostScript Commands.
+* \PSfill: PostScript Commands.
+* \PSlineto: PostScript Commands.
+* \PSmoveto: PostScript Commands.
+* \PSnewpath: PostScript Commands.
+* \PSsetlinecap: PostScript Commands.
+* \PSsetlinejoin: PostScript Commands.
+* \PSstroke: PostScript Commands.
+* \ravec: Line vectors.
+* \realadd: Real arithmetic.
+* \realdiv: Real arithmetic.
+* \realmult: Real arithmetic.
+* \relsegscale: Scaling coordinates.
+* \relunitscale: Scaling coordinates.
+* \rlvec: Line vectors.
+* \rmove: Line vectors.
+* \rtext: TeX text.
+* \savecurrpos: Saving positions.
+* \savepos: Saving positions.
+* \setgray: Line vectors.
+* \setsegscale: Scaling coordinates.
+* \setunitscale: Scaling coordinates.
+* \textref: TeX text.
+* \vectlen: Coordinate parsing.
+* \vtext: TeX text.
+* \writeps: PostScript Commands.
+* arc: PostScript Commands.
+* arcn: PostScript Commands.
+* closepath: PostScript Commands.
+* fill: PostScript Commands.
+* lineto: PostScript Commands.
+* moveto: PostScript Commands.
+* newpath: PostScript Commands.
+* setlinecap: PostScript Commands.
+* setlinejoin: PostScript Commands.
+* stroke: PostScript Commands.
+
+
+File: texdraw, Node: Concept Index, Prev: Command Index, Up: Top
+
+Concept Index
+*************
+
+* Menu:
+
+* accessing TeXdraw <1>: Accessing TeXdraw.
+* accessing TeXdraw: Using TeXdraw with LaTeX.
+* angle of a vector: Coordinate parsing.
+* arcs <1>: Circles and arcs.
+* arcs: PostScript Commands.
+* arrowhead parameters: Line vectors.
+* arrows: Line vectors.
+* Bezier curves: Bezier curves.
+* circles: Circles and arcs.
+* command syntax: Command syntax.
+* coordinate parsing: Coordinate parsing.
+* coordinate specification: Coordinate specification.
+* coordinate, symbolic: Saving positions.
+* coordinates: TeXdraw coordinates.
+* cosine of a vector direction: Coordinate parsing.
+* current position <1>: Coordinate parsing.
+* current position <2>: Line vectors.
+* current position: Initial current position.
+* current position in PostScript: PostScript Commands.
+* curves: Bezier curves.
+* dashed lines: Line vectors.
+* direction of a line: Coordinate parsing.
+* distribution: Distribution.
+* dotted lines: Line vectors.
+* drawing segments: Drawing segments.
+* dvi2ps printer driver: PostScript printer drivers.
+* dvialw printer driver: PostScript printer drivers.
+* dvilaser printer driver: PostScript printer drivers.
+* dvips printer driver <1>: PostScript printer drivers.
+* dvips printer driver <2>: Introduction.
+* dvips printer driver: How TeXdraw merges graphics and text.
+* dvipsone printer driver: PostScript printer drivers.
+* dvitops printer driver: PostScript printer drivers.
+* dviwindo printer driver: PostScript printer drivers.
+* ellipses: Circles and arcs.
+* Encapsulated PostScript File: Intermediate PostScript file.
+* errors while using TeXdraw: Errors while using TeXdraw.
+* example, arrow curve: Arrow curve.
+* example, block diagram: Examples.
+* example, circle and ellipse: Geometric construction.
+* example, graph: Filter response graph.
+* fill operations, interaction with drawing segments: Drawing paths.
+* filled circles: Circles and arcs.
+* filling regions <1>: PostScript Commands.
+* filling regions: Fill commands.
+* graphics package <1>: PostScript printer drivers.
+* graphics package <2>: Accessing TeXdraw.
+* graphics package <3>: How TeXdraw merges graphics and text.
+* graphics package: Introduction.
+* graphics placement: How TeXdraw merges graphics and text.
+* gray levels for lines: Line vectors.
+* implementation: Extending TeXdraw.
+* initial current position: Initial current position.
+* invoking TeXdraw <1>: Accessing TeXdraw.
+* invoking TeXdraw: Using TeXdraw with LaTeX.
+* LaTeX <1>: Accessing TeXdraw.
+* LaTeX <2>: Using TeXdraw with LaTeX.
+* LaTeX: Introduction.
+* length of a vector: Coordinate parsing.
+* line cap: PostScript Commands.
+* line join: PostScript Commands.
+* line width: Line vectors.
+* lines <1>: PostScript Commands.
+* lines: Line vectors.
+* listing of commands: Command Listing.
+* moves <1>: Line vectors.
+* moves: PostScript Commands.
+* oztex printer driver: PostScript printer drivers.
+* painting regions: Fill commands.
+* paths <1>: PostScript Commands.
+* paths <2>: Drawing paths.
+* paths: Fill commands.
+* pctexps printer driver: PostScript printer drivers.
+* pctexwin printer driver: PostScript printer drivers.
+* placement of graphics and text: How TeXdraw merges graphics and text.
+* plain TeX: Accessing TeXdraw.
+* position specification: Coordinate specification.
+* positions, saving: Saving positions.
+* PostScript commands: PostScript Commands.
+* PostScript printer drivers <1>: PostScript printer drivers.
+* PostScript printer drivers: How TeXdraw merges graphics and text.
+* printer drivers <1>: PostScript printer drivers.
+* printer drivers: How TeXdraw merges graphics and text.
+* problems while using TeXdraw: Errors while using TeXdraw.
+* psprint driver: PostScript printer drivers.
+* relative positioning: Line vectors.
+* relative scaling: Scaling coordinates.
+* resolution: Resolution.
+* rotated text <1>: PostScript printer drivers.
+* rotated text <2>: TeX text.
+* rotated text <3>: Text placement.
+* rotated text: How TeXdraw merges graphics and text.
+* saving positions: Saving positions.
+* scaling: Scaling.
+* scaling coordinates: Scaling coordinates.
+* segment scale: Scaling coordinates.
+* segments: Drawing segments.
+* sine of a vector direction: Coordinate parsing.
+* size of the drawing: Drawing size.
+* stroking lines <1>: PostScript Commands.
+* stroking lines: Drawing paths.
+* symbolic coordinate: Saving positions.
+* syntax of commands: Command syntax.
+* texdraw package <1>: How TeXdraw merges graphics and text.
+* texdraw package <2>: Using TeXdraw with LaTeX.
+* texdraw package: Accessing TeXdraw.
+* text commands: TeX text.
+* text placement: How TeXdraw merges graphics and text.
+* text rotation <1>: How TeXdraw merges graphics and text.
+* text rotation <2>: TeX text.
+* text rotation <3>: PostScript printer drivers.
+* text rotation: Text placement.
+* textures printer driver: PostScript printer drivers.
+* unit scale: Scaling coordinates.
+* vectors: Line vectors.
+* vertical text: TeX text.
+* width of lines: Line vectors.
+* xdvi driver: PostScript printer drivers.
+
+
+
+Tag Table:
+Node: Top606
+Node: Introduction2013
+Node: Distribution4007
+Node: TeXdraw Commands4442
+Node: Accessing TeXdraw5051
+Ref: Accessing TeXdraw-Footnote-19799
+Node: Command syntax9962
+Node: TeXdraw coordinates11150
+Node: Coordinate specification12511
+Node: Line vectors13706
+Node: TeX text19481
+Node: Circles and arcs23795
+Node: Bezier curves27792
+Node: Fill commands29776
+Node: Drawing Segments and Scaling32306
+Node: Drawing segments32733
+Node: Drawing paths33823
+Node: Saving positions35437
+Node: Scaling coordinates38329
+Node: Drawing size41305
+Node: Initial current position43113
+Node: Using TeXdraw with LaTeX43900
+Node: PostScript printer drivers45369
+Node: More Details46494
+Node: Errors while using TeXdraw46989
+Node: Extending TeXdraw49297
+Node: Scaling50855
+Node: Resolution51784
+Node: Text placement53471
+Node: Intermediate PostScript file54531
+Node: How TeXdraw merges graphics and text56274
+Ref: How TeXdraw merges graphics and text-Footnote-157642
+Node: PostScript Commands57699
+Node: TeXdraw Toolbox62660
+Node: Coordinate parsing63200
+Node: Real arithmetic65352
+Node: Arrow curve66151
+Node: Examples70212
+Node: Block diagram70459
+Node: Filter response graph77224
+Node: Geometric construction78912
+Node: Command Listing81197
+Node: Command Index92653
+Node: Concept Index96690
+
+End Tag Table
diff --git a/Master/texmf/doc/info/texi2html.info b/Master/texmf/doc/info/texi2html.info
new file mode 100644
index 00000000000..4e32884ec48
--- /dev/null
+++ b/Master/texmf/doc/info/texi2html.info
@@ -0,0 +1,3637 @@
+This is texi2html.info, produced by makeinfo version 4.8 from
+texi2html.texi.
+
+ Copyright (C) 1999, 2000, 2001, 2002, 2003
+Free Software Foundation, Inc.
+
+Portions
+of
+`texi2html'
+ Copyright (C) 1999, 2000 Lionel Cons
+ Copyright (C) 1999, 2000 Karl Berry
+ Copyright (C) 1999, 2000 Olaf Bachmann
+ Copyright (C) 2002, 2003 Patrice Dumas
+ Copyright (C) 2001, 2002, 2003 Derek Price
+ Copyright (C) many others.
+
+
+Portions
+of this
+manual
+ Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
+ Copyright (C) 2003 Patrice Dumas (manual)
+ Copyright (C) 2003 Derek Price (manual)
+
+ 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 approved by the Free Software Foundation.
+
+INFO-DIR-SECTION Texinfo documentation system
+START-INFO-DIR-ENTRY
+* Texi2HTML: (texi2html). Texinfo to HTML Converter.
+END-INFO-DIR-ENTRY
+
+ This file, last updated 1 February 2005, documents the `texi2html'
+script which converts Texinfo (http://www.texinfo.org) into HTML
+(http://w3c.org). This edition is for `texi2html' version 1.76.
+
+ Copyright (C) 1999, 2000, 2001, 2002, 2003
+Free Software Foundation, Inc.
+
+Portions
+of
+`texi2html'
+ Copyright (C) 1999, 2000 Lionel Cons
+ Copyright (C) 1999, 2000 Karl Berry
+ Copyright (C) 1999, 2000 Olaf Bachmann
+ Copyright (C) 2002, 2003 Patrice Dumas
+ Copyright (C) 2001, 2002, 2003 Derek Price
+ Copyright (C) many others.
+
+
+Portions
+of this
+manual
+ Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
+ Copyright (C) 2003 Patrice Dumas (manual)
+ Copyright (C) 2003 Derek Price (manual)
+
+ 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 approved by the Free Software Foundation.
+
+
+File: texi2html.info, Node: Top, Next: Overview, Up: (dir)
+
+Texi2HTML
+*********
+
+This manual, last updated 1 February 2005, describes version 1.76 of
+the `texi2html' Perl script which converts Texinfo (*note Texinfo:
+(Texinfo)Top.) into HTML.
+
+ Please send bug reports concerning this manual to the Texi2HTML user
+discussion list <user@texi2html.cvshome.org>. Please state the exact
+version of the manual which contains the bug, as given above.
+
+ Copyright (C) 1999, 2000, 2001, 2002, 2003
+Free Software Foundation, Inc.
+
+Portions
+of
+`texi2html'
+ Copyright (C) 1999, 2000 Lionel Cons
+ Copyright (C) 1999, 2000 Karl Berry
+ Copyright (C) 1999, 2000 Olaf Bachmann
+ Copyright (C) 2002, 2003 Patrice Dumas
+ Copyright (C) 2001, 2002, 2003 Derek Price
+ Copyright (C) many others.
+
+
+Portions
+of this
+manual
+ Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
+ Copyright (C) 2003 Patrice Dumas (manual)
+ Copyright (C) 2003 Derek Price (manual)
+
+ 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 approved by the Free Software Foundation.
+
+ *This manual is currently under construction and of course incomplete. ;-)*
+
+* Menu:
+
+* Overview::
+* Obtaining texi2html::
+ Obtaining a copy of the `texi2html'
+ source code distribution
+* Installation:: Installing `texi2html'
+* Invoking texi2html:: Description of the command line options
+* Initialization files:: What kind of variables and subroutines appear
+ in init files and how they are called
+* Changing the page layout:: Fine tuning of the page layout
+* Customizing HTML:: Fine tuning of the HTML elements
+ associated with the texinfo constructs
+* Internationalization:: Help translating !
+* Indexop:: Command Line Option Index
+* Indexvr:: Variable Index
+* Indexcp:: Concept Index
+
+
+File: texi2html.info, Node: Overview, Next: Obtaining texi2html, Prev: Top, Up: Top
+
+1 Overview
+**********
+
+Texinfo (http://www.texinfo.org) is the official documentation format
+of the GNU (http://www.gnu.org) project. It uses a single source file
+to produce both online information and printed output.
+
+ It is often desirable to have a way to produce HTML from Texinfo
+sources, as GNU-Info files are produced. It is much simpler to run a
+converter than it is to rewrite all the documentation in HTML,
+especially considering that there is so much Texinfo documentation in
+the world.
+
+ Some time ago `makeinfo' wasn't able to produce HTML output format,
+but people still wanted documentation in HTML. This was the birthing
+hour for `texi2html'. The basic purpose of `texi2html' is to convert
+Texinfo documents into HTML.
+
+ Since then, HTML support in `makeinfo' has improved, but `texi2html'
+is still stronger in many areas, including the degree to which it
+allows customization. With `texi2html', some important aspects of the
+resulting HTML files may be specified via command line options, and
+configuration files provide an even finer degree of control over the
+final output, allowing most every aspect of the final output not
+specified in the Texinfo input file to be specified. Configuration
+files are written in `perl', like the main program, and anything which
+may be specified on the command line may also be specified within a
+configuration file.
+
+ For an example of the kind of pages `texi2html' is capable of
+producing, have a look at the following sites: the Singular Manual
+(http://www.singular.uni-kl.de/Manual/html/), the Cederqvist (CVS
+Manual) (http://ccvs.cvshome.org/docs/manual).
+
+* Menu:
+
+* whytexi2html:: Why `texi2html' and not `makeinfo'?.
+
+
+File: texi2html.info, Node: whytexi2html, Up: Overview
+
+1.1 Why `texi2html' and not `makeinfo'?
+=======================================
+
+You would like to produce HTML files from your existing Texinfo files?
+There are two programs you can use to do this. The first is `makeinfo'
+(*note Generating HTML: (texinfo)Generating HTML.). The second is
+`texi2html'.
+
+ The design goal of `makeinfo''s HTML output was to produce readable
+HTML output. It is now possible to use CSS for HTML customization.
+Another possibility is to use intermediate formats, like docbook or
+`mekeinfo' XML and XSL stylesheets to customize the resulting document.
+Still the output produced by `makeinfo' isn't customizable.
+
+ The current development of `texi2html' tries to provide for
+producing the more interesting and sophisticated HTML pages that
+today's Internet users have come to expect. The goal behind
+`texi2html' is to generate attractive HTML by default but also to allow
+users considerable freedom to affect the final style and design of the
+output HTML pages. This is achieved via command line options and
+flexible configuration files.
+
+ In contrast to the HTML produced by `makeinfo --html' (the
+`makeinfo' program is part of the Texinfo distribution), the
+`texi2html' program, among other differences, allows for the
+customization of the entire page layout, including headers, footers,
+style sheets, etc., allows for customization of the low level HTML
+formatting, provides for splitting documents at various levels, and
+provides for using the `latex2html' program to convert `@tex' sections
+of the Texinfo source.
+
+ The focus on HTML is still present but with the help of the
+customization files it is now possible to use `texi2html' to produce
+other formats as well. `texi2html' may for example be turned into a
+texinfo to roff translator with the help of a customization file
+provided with the distribution.
+
+ `texi2html' should reasonably convert all Texinfo 4.8 constructs.
+If you find it does not, please send a bug report to the
+<users@texi2html.cvshome.org> email list.
+
+
+File: texi2html.info, Node: Obtaining texi2html, Next: Installation, Prev: Overview, Up: Top
+
+2 Obtaining `texi2html'
+***********************
+
+The latest version of the source code for `texi2html' should be
+available from texi2html.cvshome.org (http://texi2html.cvshome.org).
+
+
+File: texi2html.info, Node: Installation, Next: Invoking texi2html, Prev: Obtaining texi2html, Up: Top
+
+3 Installation of `texi2html'
+*****************************
+
+To install `texi2html', you must first obtain a copy of the source
+distribution. *Note Obtaining texi2html::.
+
+ `texi2html' also requires `perl' version 5.004 or above. The
+current version has not been tested extensively on versions of `perl'
+below 5.6, however.
+
+ `texi2html' is a standard Automake-based distribution. If you have
+a source version, you should run `./configure' to regenerate the
+executable `texi2html' file. `./configure' accepts options to select
+the installation directory for the `texi2html' file, the default
+directories `texi2html' will use to look for configuration files, and
+other details. Run `./configure --help' for more information.
+
+ Running `./configure' combines four files into the final `texi2html'
+program file:
+ * `texi2html.pl' contains the base program,
+
+ * `MySimple.pm' handles the command line options,
+
+ * `texi2html.init' is the default configuration file, and
+
+ * `T2h_i18n.pm' is used for internationalization.
+
+ * `translations.pl' contains the translations of the strings used in
+ documents.
+
+ Running `./configure' also builds the `make' configuration files
+(`Makefile's). To make the documentation run `make'.
+
+ `make install' performs the installation to the locations specified
+to the `./configure' script. This usually involves placing the actual
+`texi2html' file someplace in your path, such as `/usr/local/bin' or
+`/usr/bin'.
+
+ Installing `texi2html' in your path should be sufficient to run it.
+To use default initialization files, or a configuration file for
+LaTeX2HTML when using `latex2html' to convert `@tex' sections (*note
+Expanding TeX regions::), install them in the package data directory
+specified to configure. This is `/usr/local/share/texi2html/' by
+default, but depends on the value of the `--pkgdatadir=DIR' option
+passed to the `./configure' script. Files used for strings
+customization and internationalization are also searched for in the
+`i18n' directory of this directory. *Note Using init files:: for more.
+
+
+File: texi2html.info, Node: Invoking texi2html, Next: Initialization files, Prev: Installation, Up: Top
+
+4 Invoking `texi2html'
+**********************
+
+To produce an HTML manual, run `texi2html' with a Texinfo file as an
+argument. For example, this manual is created with:
+
+ $ texi2html texi2html.texi
+
+ The behaviour of `texi2html' may be changed with command line
+options. These command line options are always associated with
+corresponding `perl' variables which may appear in init files, and these
+variables are presented in this chapter each time a switch is described.
+
+ Boolean command line switches always have a corresponding negated
+switch, obtained by prepending `no' or `no-' to the switch name. For
+example `--nomenu' does the reverse of `--menu'.
+
+* Menu:
+
+* Splitting output:: The HTML output may be split at
+ different levels
+* Output files::
+* Expansion::
+* Texinfo related options::
+* Page layout options:: Customizing page layout
+* Style options:: Customizing the HTML and text style
+* Expanding TeX regions::
+* Using init files:: Specifying initialization files for fine tuning
+
+
+File: texi2html.info, Node: Splitting output, Next: Output files, Up: Invoking texi2html
+
+4.1 Specifying where to split the generated document
+====================================================
+
+The HTML manual resulting from the processing of the Texinfo source may
+be split into files at different levels. This is specified with the
+option `--split' which takes an argument, namely the level of splitting
+(variable: `$SPLIT'). This level may be:
+
+`chapter'
+ The document is split at `@chapter', `@appendix', or `@unnumbered'.
+
+`section'
+ The document is split at the same places as it is using the
+ `chapter' argument, and also at `@section', `@appendixsec' or
+ `@unnumberedsec'.
+
+`node'
+ The document is split at every sectioning command. It is not
+ necessarily split at each node, if the `@node' structure doesn't
+ correspond with the sectioning command structure (see below).
+
+`none'
+ The document isn't split. This is the default.
+
+ There are two kinds of commands which may be used to define
+sectioning elements in Texinfo: `@node' and the structuring commands
+(`@top', `@section', `@appendixsubsec', and so on). A node just
+preceding a structuring command is considered to be part of the same
+sectioning element as that command. If the `@node Top' isn't
+associated with a structuring command it also defines a sectioning
+element.
+
+ By default, nodes which aren't associated with a structuring command
+are not considered to be sectioning commands. They are always
+considered to be part of a sectioning element defined by a structuring
+command. It is possible to change this behaviour via the `--use-nodes'
+option (variable `$USE_NODES'). In this case, nodes not associated
+with structuring commands are also considered to be sectioning commands
+defining a sectioning element.
+
+ This default behaviour mimics `texi2dvi' behaviour, which ignores
+`@node' commands for the purprose of sectioning, while the second looks
+like `makeinfo' behaviour (*note Two Paths: (texinfo)Two Paths.).
+
+ As an illustration, the following table shows how a sample Texinfo
+document is divided into sectioning elements when `--use-nodes' is used
+and not:
+
+Texinfo code default case with
+ `--use-nodes'
+ @node node1 first element: first element:
+ @chapter node 1
+ node1 text @node node1 @node node1
+ @chapter node 1 @chapter node 1
+ @node node2 node1 text node1 text
+ node2 text second
+ @node node2 element:
+ @node node3 node2 text
+ node3 text second @node node2
+ @chapter node 3 element: node2 text
+ chapter text third
+ @node node3 element:
+ node3 text
+ @chapter node 3 @node node3
+ chapter text node3 text
+ @chapter node 3
+ chapter text
+
+
+File: texi2html.info, Node: Output files, Next: Expansion, Prev: Splitting output, Up: Invoking texi2html
+
+4.2 Setting output file and directory names
+===========================================
+
+The manual name is constructed by stripping the `.texi', `.txi',
+`.texinfo', or `.txinfo' extension from the Texinfo file name.
+
+ By default, `texi2html' generates the manual file in the current
+directory if the manual isn't split. A `.html' file extension is
+appended to the manual name.
+
+ If the manual is split the files are put in a directory named after
+the manual name. The file name is constructed using the manual name as
+basename. An underscore followed by a number is appended to the
+basename for each files corresponding with sectioning elements, with the
+exception of the top element. For the top element there nothing
+appended. The files containing special elements pages have an
+underscore and a 3 letter code corresponding to their content (`toc'
+for table of contents, `abt' for about, `ovr' for overview) appended.
+Lastly, an `.html' file extension is appended.
+
+ Thus, if the texinfo file `afile.texi' is processed and split at
+chapters into 3 files, the generated files (in directory `afile') will
+be:
+
+ afile.html --> `@node Top' or `@top' section
+ afile_1.html --> Chapter 1
+ afile_2.html --> Chapter 2
+ afile_toc.html --> Table of Contents
+ afile_abt.html --> About Page
+
+ This default behavior may be modified by several command line
+options. If the output isn't split, the prefix file name may be
+overrided by the `--output' command line option (variable `$OUT'). If
+the output is split, and `--output' is set, the files are placed in the
+directory specified by the argument to the option.
+
+ The basename may be overridden with `--prefix' (variable `$PREFIX').
+If `--short-ext' is given, `.htm' is appended instead of `.html' in
+the final step (variable `$SHORTEXTN'). The `--top-file' option
+overrides the top element file name (variable `$TOP_FILE'). This can
+be used to name the top element file `index.html'. Similarly, `--toc-file'
+changes the name of the table of contents file (variable `$TOC_FILE').
+
+ Reusing the example above, but this time calling `texi2html' like so:
+
+ $ texi2html -split chapter -prefix manual -short-ext -top-file index.htm -toc-file contents.htm afile.texi
+
+ we get, in `manual':
+
+ index.htm --> `@node Top' or `@top' section
+ manual_1.htm --> Chapter 1
+ manual_2.htm --> Chapter 2
+ contents.htm --> Table of Contents
+ manual_abt.htm --> About Page
+
+ The file names generated by `texi2html' differ from those generated
+by `makeinfo'. `makeinfo' uses the node name to construct the file
+names while splitting at nodes. It is possible to get the same
+behaviour out of `texi2html' by specifying the `--node-files' option
+(variable `$NODE_FILES'). If the output isn't split at nodes,
+`texi2html' will still output files named after the nodes, without real
+content but redirecting to the right file. The default is false for
+this option. This trick enables the generated HTML manual to be a
+target for the cross-references of other manuals generated by
+`makeinfo' or `texi2html'.
+
+
+File: texi2html.info, Node: Expansion, Next: Texinfo related options, Prev: Output files, Up: Invoking texi2html
+
+4.3 Specifying which regions get expanded
+=========================================
+
+The default for `texi2html' is to expand the `@ifhtml', `@html', and
+`@menu' regions, all the `@ifnot' regions except `@ifnothtml', and no
+other `@if' regions.
+
+ It is possible to expand other regions by setting `--if<region>',
+where `<region>' is replaced by the literal name of the region (for
+example, `--iftex'). Symetrically, if `--no-if<region>' is specified,
+the `<region>' region is ignored. The configuration file array, `@EXPAND',
+holds the names of regions which should be expanded. The only region
+name present in `@EXPAND' in the default case is `html'.
+
+ If `--nomenu' is set, the `@menu' sections are not expanded
+(variable `$SHOW_MENU'). The default is to expand `@menu' sections.
+
+
+File: texi2html.info, Node: Texinfo related options, Next: Page layout options, Prev: Expansion, Up: Invoking texi2html
+
+4.4 Command line options related to Texinfo language features
+=============================================================
+
+Miscalleneous Texinfo related things may be specified via command line
+options.
+
+`--lang=LANG'
+ Sets the document language similar to the Texinfo directive,
+ `@documentlanguage LANG' (variable `$LANG'). The default is `en',
+ that is, use the english language strings.
+
+`-DVAR'
+ Sets VAR. Equivalent to, `@set VAR 1', in Texinfo.
+
+`-UVAR'
+ Clears VAR. Equivalent to, `@clear VAR', in Texinfo.
+
+`-PDIR'
+ Prepend DIR to the list of directories to search for `@include'
+ files (the associated array is `@PREPEND_DIRS', empty in the
+ default case).
+
+`-IDIR'
+ Append DIR to the list of directories to search for `@include'
+ files (the associated array is `@INCLUDE_DIRS', empty in the
+ default case).
+
+ The include files are always searched for in the current directory.
+
+
+File: texi2html.info, Node: Page layout options, Next: Style options, Prev: Texinfo related options, Up: Invoking texi2html
+
+4.5 Page layout related command line options
+============================================
+
+If the `--frames' option is specified, HTML frames are used. A file
+describing the frame layout is generated, and the document page is
+associated with a frame where the short table of content appears
+(variable `$FRAMES'). The default is not to use frames.
+
+ It is also possible to suppress the section navigation panel with `--nosec-nav'
+(variable `$SECTION_NAVIGATION', the default is to output all the
+navigation panels), and to specify whether footnotes should appear at
+the foot of the same page which contains the reference to the note or
+on a separate page with `--separated-footnotes' (variable `$SEPARATED_FOOTNOTES').
+The default is to have separated footnotes.
+
+
+File: texi2html.info, Node: Style options, Next: Expanding TeX regions, Prev: Page layout options, Up: Invoking texi2html
+
+4.6 Customizing the HTML and text style
+=======================================
+
+Miscalleneous style changes may be achieved with command line options.
+
+`--doctype=DTD'
+`--frameset-doctype=DTD'
+ You can specify the document DTD by setting these options. `--frameset-doctype'
+ applies to the file describing the frames when frames are used
+ (corresponding variables are `$DOCTYPE' and `$FRAMESET_DOCTYPE').
+
+ The default for the document doctype is:
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
+ And for the frameset doctype:
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html401/frameset.dtd">
+
+`--iso'
+ If this option is set, ISO8859 entities are used for some special
+ symbols, like Copyright (C) (variable `$USE_ISO'). It is the
+ default.
+
+`--css-include=FILE'
+ This command line switch provides for the inclusion of an external
+ Cascading Style Sheet (CSS) file. More than one file may be
+ specified, and `-' stands for the standard input (array `@CSS_FILES').
+
+ The option use is the same than for `makeinfo' and is described
+ extensively in *Note HTML CSS: (texinfo)HTML CSS. Briefly, the
+ CSS `@import' lines from the external file CSS file are pasted
+ before the `texi2html' CSS rules, and the external file CSS rules
+ are pasted after the `texi2html' CSS rules.
+
+`--html-xref-prefix=PATH'
+ This option sets the base directory for external HTML texinfo
+ manuals (variable `$EXTERNAL_DIR'). Defaults to `../'.
+
+`--def-table'
+ If this option is set, HTML tables are used to format definition
+ commands, rather than HTML definition tables (variable `$DEF_TABLE').
+ Default is false.
+
+`--short-ref'
+ If this option is set, cross-references are given without section
+ numbers (variable `$SHORT_REF'). Default is false.
+
+`--number'
+ If this option is set, sections are numbered (variable `$NUMBER_SECTIONS').
+ This is the default.
+
+`--toc-links'
+ If this option is set, links from headings to TOC entries are
+ created (variable `$TOC_LINKS'). Default is false.
+
+
+File: texi2html.info, Node: Expanding TeX regions, Next: Using init files, Prev: Style options, Up: Invoking texi2html
+
+4.7 Expanding `@tex' and `@math' regions using LaTeX2HTML
+=========================================================
+
+It is possible to use LaTeX2HTML (http://www.latex2html.org/) to
+process `@tex' regions and `@math{}' commands. This is an attractive
+way to display mathematical constructs in the HTML manual. The `--l2h'
+option activates this feature (variable $L2H). It is usually desirable
+to expand `@tex' sections when this option is specified (*note
+Expansion::). The default is not to use this feature.
+
+ The `--l2h-l2h=PROGRAM' option enables changing the name/location of
+the LaTeX2HTML program processing TeX regions (variable `$L2H_L2H').
+The default is `latex2html'.
+
+ `--l2h-tmp' sets the directory used for temporary files, this name
+shouldn't contain a dot `.' (variable is `$L2H_TMP'). Defaults to the
+current dir.
+
+ The file specified by `--l2h-file' is used as LaTeX2HTML init file.
+It is searched at the same places than init files (*note Using init
+files::), and the default is `l2h.init'.
+
+
+File: texi2html.info, Node: Using init files, Prev: Expanding TeX regions, Up: Invoking texi2html
+
+4.8 Use initialization files for fine tuning
+============================================
+
+Initialization variables are read first from
+`/usr/local/share/texi2html/Config' (the exact location being
+changeable with the `--pkgdatadir=dir' option of the `configure'
+script, see *Note Installation::), `/usr/local/etc/texi2html/Config'
+(the exact location being changeable with the `--sysconfdir=dir' option
+of the `configure' script, see *Note Installation::), from `./Config'
+then from `$HOME/.texi2html/Config'. Any command-line option can
+override the corresponding option set in init file, and the option `--init-file'
+specifies an init file to be loaded, with later settings overriding
+earlier ones.
+
+ The init files specified with `--init-file' are searched first in
+the current directory, then in the `$HOME/.texi2html/' directory, in
+the `/usr/local/etc/texi2html/' directory and lastly in the
+`/usr/local/share/texi2html/' directory.
+
+ A file is also included based on the language selected, by `$LANG', `--lang'
+or `@documentlanguage'. If no language was selected `en' is considered
+to be the language. All the files with name the language name in
+`/usr/local/share/texi2html/i18n/', `/usr/local/etc/texi2html/i18n/',
+`$HOME/.texi2html/i18n/' and then `./i18n/' are included.
+
+ The default initialization options are defined in the
+`texi2html.init' file contained in the `texi2html' distribution (which
+gets included near the beginning of the `texi2html' script that gets
+installed).
+
+ To customize `texi2html' it is best if you copy the appropriate
+sections from the `texi2html.init' contents into an appropriate local
+initialization file, make the necessary changes there, and then have
+`texi2html' read this initialization file by one of the means described
+above.
+
+
+File: texi2html.info, Node: Initialization files, Next: Changing the page layout, Prev: Invoking texi2html, Up: Top
+
+5 Overview of initialization files content and loading
+******************************************************
+
+The initialization files are `perl' files, read as explained in *Note
+Using init files::. You don't need to know much of `perl' to do some
+simple changes in variable values, however, to be able to really take
+advantage of all the features of the initialization file, a good
+knowledge of `perl' is required.
+
+ In initialization file two kind of variables appear. These are normal
+variables (including arrays and hashes) and references on functions.
+The later permits the dynamic redefinition of functions used to produce
+the HTML manual. You should be able to change the value of some normal
+variables without a deep knowledge of `perl', by looking at the
+existing examples. The possible mistakes in that case could be omitted
+`;', and bad quoting.
+
+ Initialization file are loaded from the main program by the mean of
+a `require', while in the `Texi2HTML::Config' namespace. This means
+that the namespace of the main program and the namespace of
+inititalization files are distinct, which ensures that no name clash
+should happen. The variables are declared with the `our' specifier,
+such that it should be possible to use the `use strict' pragma in the
+initialization file code.
+
+ To avoid messing with the variables in the `main' namespace all the
+global variables which could be of use in the init files are in the
+`Texi2HTML' namespace. Notice that the functions of the main program
+are still in the `main' namespace.
+
+* Menu:
+
+* Redefining functions:: Function redefinition is achieved with
+ redefinition of references on functions.
+* Function prototypes:: Conventions used in that manual for function
+ reference prototypes display.
+
+
+File: texi2html.info, Node: Redefining functions, Next: Function prototypes, Up: Initialization files
+
+5.1 Redefining functions in initialization files
+================================================
+
+To redefine a function you must replace the corresponding funtion
+reference with a reference on your function. Thus you should write
+your function, give it a name you are certain it is unique in the
+`Texi2HTML::Config' namespace, and override the value of the function
+reference with your own function reference. When another function from
+the main program (or from another functions of an initialization file)
+calls the reference, your function will be used.
+
+ For example the function reference corresponding with the function
+called when doing an anchor is called `$anchor'. Thus if you want to
+override the corresponding function you could write:
+
+ # override the function reference
+ $anchor = \&my_own_function;
+
+ # the function reference now refers to
+ sub my_own_function {
+ # process arguments and return an html anchor
+ }
+
+
+File: texi2html.info, Node: Function prototypes, Prev: Redefining functions, Up: Initialization files
+
+5.2 Conventions used for function prototypes
+============================================
+
+As the functions are defined by a reference name, we will always use
+the reference name in function prototypes. For the function arguments
+we will use `\@array' for a reference on an array and similarly
+`\%hash' for a reference on a hash.
+
+ Thus, the prototype for the function associated with the function
+reference `$formatting_function' will be:
+
+ -- Function Reference: $text formatting_function $arg1 \@arg2
+ `formatting_function' takes as first argument $ARG2, as second
+ argument a reference on an array \@ARG2 and returns the formatted
+ text $TEXT.
+
+ To redefined the corresponding function, you should write:
+
+ $formatting_function = \&my_formatting_function
+
+ sub my_formatting_function($ $)
+ {
+ my $arg1 = shift;
+ my $arg2 = shift;
+ # prepare $formatted_text
+ .....
+ return $formatted_text
+ }
+
+
+File: texi2html.info, Node: Changing the page layout, Next: Customizing HTML, Prev: Initialization files, Up: Top
+
+6 Fine tuning of the page layout
+********************************
+
+Some features of the page layout might be specified with command line
+options, the corresponding variables are described in *Note Page layout
+options::. Fine tuning of the page layout may be achieved with
+redefinition of other variables and function references in the
+initialization files.
+
+* Menu:
+
+* The different pages:: The different categories of pages.
+* The page layout:: The elements of a page.
+* Navigation panel:: How to change the navigation panel.
+* Program variables:: The available main program variables and some
+ usefull functions from the main program.
+* Output initialization:: Setting variables before the document
+ production but after the texinfo parsing.
+* Output finalization:: Cleaning after document generation.
+* css:: Customizing css lines.
+* Customizing header::
+* Customizing section::
+* Customizing footer::
+* Special pages:: Customizing table of contents, top, about page.
+* File names:: Customizing the file names.
+* External index files:: Putting index entries in external files.
+
+
+File: texi2html.info, Node: The different pages, Next: The page layout, Up: Changing the page layout
+
+6.1 The different categories of pages and sectioning elements
+=============================================================
+
+The following sectioning elements can be associated with pages:
+
+_Normal elements_
+ These are normal sections or nodes. Their association with pages is
+ determined by the splitting of the document. *Note Splitting
+ output::.
+
+_Top element_
+ The top element is the higher element in the document structure.
+ If there is a `@top' section it is the element associated with
+ that section. Otherwise it is the element associated with the
+ `@node Top'. If there is no `@node Top' the first element is the
+ top element.
+
+ The top element is formatted differently than a normal element if
+ there is a `@top' section or the `@node Top' isn't associated with
+ a sectioning command.
+
+_Misc elements_
+ These elements are associated with pages if the document is split.
+ There are four misc elements:
+ 1. Table of contents
+
+ 2. Short table of contents, also called Overview
+
+ 3. Footnotes page
+
+ 4. About page
+
+ The _About page_ shouldn't be present for documents consisting in
+ only one sectioning element. The _Footnote page_ should only be
+ present if the footnotes appear on a separated page (*note Page
+ layout options::), however a footnote element is present if the
+ document isn't split. The _Table of contents_ should only be
+ formatted if `@contents' is present in the document. Similarly
+ the _Overview_ should only appear if `@shortcontents' or
+ `@summarycontents' is present.
+
+
+File: texi2html.info, Node: The page layout, Next: Navigation panel, Prev: The different pages, Up: Changing the page layout
+
+6.2 Page layout and navigation panel overview
+=============================================
+
+A page is broken up in three parts. A page header, the sections and a
+page footer. A common element in the page layout is a navigation panel
+with icons or text linking to other sections or pages. Another common
+element is a rule, separating sections or footer. The navigation panel
+and the rules may be part of the sections or part of headers or
+footers. You may use the variables `$SMALL_RULE', `$DEFAULT_RULE', `$MIDDLE_RULE'
+and `$BIG_RULE' for rules of different sizes. The defaults are
+ $SMALL_RULE = '<hr size="1">';
+ $DEFAULT_RULE = '<hr>';
+ $MIDDLE_RULE = '<hr size="2">';
+ $BIG_RULE = '<hr size="6">';
+
+ In the header some important meta data may be defined, like the
+title or style information, and textual informations may be present in
+comments. All this doesn't appear directly in the displayed HTML,
+though.
+
+ The page layout is mainly controlled by functions, the precise
+functions called depending on the document splitting. The navigation
+panel, however, can be customized with variables.
+
+Element labels
+--------------
+
+There are 19 items associated with elements. Each of these is
+associated with a name and a reference to the element they represent,
+when such an element exists. The element is either a global element or
+an element relative to the current element. The relative elements are
+found with respect with the document structure defined by the section
+structuring commands (`@chapter', `@unnumbered'...) or by the nodes (in
+that case the node directions are specified on node line or in menu
+organization). These items are called "element labels". They may be
+associated with a button (*note Button specifications::), and used in
+the formatting functions (*note Program variables::).
+
+ Here is the list:
+
+_` '_
+ An empty button
+
+_Top_
+ Top element. The associated name is `$TOP_HEADING' if that
+ variable is defined. This variable is not set by default.
+
+_Contents_
+ Table of contents
+
+_About_
+ About (help) page
+
+_Overview_
+ Overview, short table of contents
+
+_First_
+ First element in reading order
+
+_Last_
+ Last element in reading order
+
+_Index_
+ The first chapter with `@printindex'. The associated name is `$INDEX_CHAPTER',
+ if the variable is set. This variable is not set by default.
+
+_This_
+ The current element
+
+_Back_
+ Preceding element in reading order
+
+_FastBack_
+ Beginning of this chapter or previous chapter if the element is a
+ chapter
+
+_Prev_
+ Previous section on the same level
+
+_NodePrev_
+ Previous node
+
+_Forward_
+ Next element in reading order
+
+_FastForward_
+ Next chapter
+
+_Next_
+ Next section on the same level
+
+_NodeNext_
+ Next node
+
+_Following_
+ Next node in node reading order
+
+_Up_
+ Up section
+
+_NodeUp_
+ Up node
+
+
+File: texi2html.info, Node: Navigation panel, Next: Program variables, Prev: The page layout, Up: Changing the page layout
+
+6.3 Customization of the navigation panels buttons
+==================================================
+
+A lot of customization of the navigation panel may be achieved without
+redefining functions, with variables redefinition. In case it isn't
+enough, it is also possible to redefine the function doing the
+navigation panel formatting.
+
+* Menu:
+
+* General purpose variables:: Variables controlling the navigation panel
+ at a global level
+* Button specifications::
+* Panel formatting function::
+
+
+File: texi2html.info, Node: General purpose variables, Next: Button specifications, Up: Navigation panel
+
+6.3.1 Controlling the navigation panel panel at a high level
+------------------------------------------------------------
+
+The global formatting of the navigation panels may be changed with the
+following variables:
+
+`$VERTICAL_HEAD_NAVIGATION'
+ A vertical navigation panel will be used for the header navigation
+ panel if this variable is true.
+
+`$ICONS'
+ Icons are used instead of textual buttons if this variable is true.
+
+`$SECTION_NAVIGATION'
+ If this variable is false there is no section navigation, no
+ navigation panels for the elements within the pages, only at the
+ beginning and the end of the page (*note Page layout options::).
+
+
+File: texi2html.info, Node: Button specifications, Next: Panel formatting function, Prev: General purpose variables, Up: Navigation panel
+
+6.3.2 Specifying the buttons formatting
+---------------------------------------
+
+Several arrays and hashes enable a precise control on the buttons and
+their display. The following arrays determine the buttons present in
+navigation panels:
+
+`@SECTION_BUTTONS'
+ This array is used for the navigation panel buttons present at the
+ begining of sectioning elements. If split at node or section they
+ are also used at the page footer, and in the case of section
+ navigation at the page header.
+
+`@SECTION_FOOTER_BUTTONS'
+`@NODE_FOOTER_BUTTONS'
+ This array is used for the navigation panel buttons present at the
+ footer of pages when split at node or at section.
+
+ If `$WORDS_IN_PAGE' is set and the output is split at nodes, these
+ buttons are only present if there are more than `$WORDS_IN_PAGE'
+ words in the sectioning element text. This counting is very rough
+ and include punctuation marks, html elements, numbers. The
+ default is to include the buttons after 300 words.
+
+`@CHAPTER_BUTTONS'
+ This array is used for the buttons appearing at the page footer if
+ split at chapter, and at the page header if split at chapter and
+ there is no section navigation.
+
+`@MISC_BUTTONS'
+ These buttons appear at the beginning of special and sections and
+ at the end of these section pages if the output is split.
+
+ The array specify the buttons displayed in navigation panels, and
+how the button is displayed. Each element is associated with a button
+of the navigation panel from left to right. The signification of the
+array element value is the following:
+
+_reference on a function_
+ The function is called with first argument a filehandle reference
+ on the current file and second argument a boolean true if the
+ navigation panel should be vertical.
+
+_reference on a scalar_
+ The scalar value is printed. For some possibly usefull scalars,
+ *Note Elements hashes::.
+
+_reference on an array_
+ In this case the first array element should be a reference on text
+ and the second element an element label. In that case a link to the
+ element associated with the element label with the scalar value
+ text is generated.
+
+ For example if the buttons array element is
+ [ 'Next', \$Texi2HTML::NODE{Next} ]
+
+ The button will be a link to the next section with text `$Texi2HTML::NODE{Next}'.
+
+_element label_
+ If icons are not used, the button is a link to the corresponding
+ element which text is defined by the value associated with the
+ element label in the `%NAVIGATION_TEXT' hash, surrounded by `['
+ and `]'. If the element label is ` ', there is no `[' and `]'.
+ The element of the `%NAVIGATION_TEXT' hash are defined
+ dynamically, in the `init_out' function reference (*note Output
+ initialization::).
+
+ If icons are used, the button is an image with file determined by
+ the value associated with the element label in the `%ACTIVE_ICONS'
+ hash if the the link really leads to an element, or in the `%PASSIVE_ICONS'
+ hash if there is no element to link to. Of course if there is a
+ link to the element the icon links to that element.
+
+
+File: texi2html.info, Node: Panel formatting function, Prev: Button specifications, Up: Navigation panel
+
+6.3.3 Changing the navigation panel formatting
+----------------------------------------------
+
+If you are not satisfied with this scheme, it is possible to control
+exactly the formatting of navigation panels by redefining a function
+reference. The function controlling the display of navigation panel is
+associated with the following function reference:
+
+ -- Function Reference: print_navigation $filehandle \@buttons $vertical
+ $FILEHANDLE is the opened filehandle the function should write to.
+ \@BUTTONS is an array reference which should hold the
+ specification of the buttons for that navigation panel. $VERTICAL
+ is true if the navigation panel should be vertical.
+
+
+File: texi2html.info, Node: Program variables, Next: Output initialization, Prev: Navigation panel, Up: Changing the page layout
+
+6.4 Main program variables and usefull functions
+================================================
+
+In the functions controlling the page layout some global variables set
+by the main program are available, with value corresponding with the
+current layout element.
+
+* Menu:
+
+* Elements hashes:: Accessing information related with the
+ different elements
+* Global informations:: Accessing global informations, like date,
+ title...
+* Global functions:: main program usefull functions
+
+
+File: texi2html.info, Node: Elements hashes, Next: Global informations, Up: Program variables
+
+6.4.1 Accessing elements informations
+-------------------------------------
+
+Four hashes are available, with key the elements labels (as described
+in *Note Element labels::) and values:
+
+`%Texi2HTML::NAME'
+ The formatted element name
+
+`%Texi2HTML::HREF'
+ The element hypertext reference
+
+`%Texi2HTML::NODE'
+ The element node name
+
+`%Texi2HTML::NO_TEXI'
+ The element name after removal of texi commands
+
+
+File: texi2html.info, Node: Global informations, Next: Global functions, Prev: Elements hashes, Up: Program variables
+
+6.4.2 Accessing global informations
+-----------------------------------
+
+Three kinds of global informations are available, miscalleneous global
+strings, flags set by `@set' and special flags and section lines.
+
+Global strings
+..............
+
+The `%Texi2HTML::THISDOC' hash holds some global informations:
+
+`fulltitle'
+ title set by `@title'. If there is no `@title' other possibilities
+ are tried (`@settitle', `@shorttitlepage'...).
+
+`title'
+ title set by `@settitle', or `fulltitle'.
+
+`title_no_texi'
+ title without texi formatting
+
+`title_texi'
+ title with texi commands
+
+`author'
+ Authors list set by `@author'.
+
+`authors'
+ A reference on an array containing each author set by `@author'.
+
+`copying'
+ Text appearing in `@copying' with all the texinfo commands removed,
+ put in comments.
+
+`program'
+ The name and version of `texi2html'.
+
+`program_homepage'
+ Homepage for `texi2html'.
+
+`program_authors'
+ Authors of `texi2html'.
+
+`file_base_name'
+ base name of the texinfo manual file.
+
+`destination_directory'
+ Destination directory for the resulting files.
+
+`toc_file'
+ The file name of the table of contents.
+
+`today'
+ The date.
+
+ It also holds the arg of the following commands, associated with the
+command name: kbdinputstyle, paragraphindent, setchapternewpage,
+headings, footnotestyle, exampleindent, firstparagraphindent,
+everyheading, everyfooting, evenheading, evenfooting, oddheading,
+oddfooting.
+
+Flags
+.....
+
+Flags defined by `@set' may be accessed through the `%main::value'
+hash. The key is the flag name, the value is the flag value at the end
+of the document.
+
+ Special flags are set by the main program. They correspond with a
+texinfo command, like `@setfilename', or `@settitle', `@author'... The
+corresponding flag is the command name with `_' appended, for example,
+`_titlefont' corresponds with `@titlefont'. Like other flags they are
+available in `%main::value'.
+
+Section lines
+.............
+
+The following array references or arrays holds formatted lines:
+
+`$Texi2HTML::THIS_SECTION'
+ Lines of the current element.
+
+`$Texi2HTML::THIS_HEADER'
+ Lines of the current element appearing before the element label
+ (anchors).
+
+`$Texi2HTML::OVERVIEW'
+ Lines of short table of contents. *Note Special pages::.
+
+`$Texi2HTML::TOC_LINES'
+ Lines of table of contents. *Note Special pages::.
+
+
+File: texi2html.info, Node: Global functions, Prev: Global informations, Up: Program variables
+
+6.4.3 Function usefull in page formatting
+-----------------------------------------
+
+The usefull function is a function used to print an array of lines,
+which also counts the number of words in the array, if needed.
+
+ -- Function: $words_number main::print_lines $filehandle \@lines_array
+ $FILEHANDLE is the opened filehandle the function should write to.
+ \@LINES_ARRAY is the array line the function should write to the
+ file. If this argument is omitted, the function uses `$Texi2HTML::THIS_SECTION'.
+ $WORDS_NUMBER is the number of words in the array, only defined if
+ split at nodes and `$WORDS_IN_PAGE' is defined.
+
+
+File: texi2html.info, Node: Output initialization, Next: Output finalization, Prev: Program variables, Up: Changing the page layout
+
+6.5 Preparing the output
+========================
+
+After the texinfo file has been parsed, some information is available
+which can be used to modify some variables and prepare the outputting.
+For example the document language, the document encoding, values set
+with `@set' or `@setfilename' and other similar @-commands are not
+known before the texinfo parsing.
+
+ The following function reference may be redefined to be called after
+texinfo processing and before document generation:
+
+ -- Function Reference: $encoding init_out
+ This function perform the initialization of variables and any other
+ task before document outputting. It returns the encoding used for
+ the output files.
+
+ In the default case the `$BODYTEXT' (*note Customizing header::) and
+the hashes `%NAVIGATION_TEXT' (*note Button specifications::) and `%BUTTONS_GOTO'
+(*note About text::) are initialized.
+
+ To perform the default initializations and also add more code, you
+could do as in the following example (save the default function
+reference and call it in your own function) :
+
+ my $default_init_out = $init_out;
+ $init_out = \&makeinfo_like_init_out;
+ sub makeinfo_like_init_out()
+ {
+ my $encoding = &$default_init_out();
+ $NAVIGATION_TEXT{'Following'} = ' &gt; ';
+ return $encoding;
+ }
+
+
+File: texi2html.info, Node: Output finalization, Next: css, Prev: Output initialization, Up: Changing the page layout
+
+6.6 Finalizing the output
+=========================
+
+If you want to do some cleaning after the document was generated (close
+files, write at the end of files and so on), the following function
+reference may be redefined:
+
+ -- Function Reference: finish_out
+ This function is called after the document generation.
+
+ The default is to do nothing.
+
+
+File: texi2html.info, Node: css, Next: Customizing header, Prev: Output finalization, Up: Changing the page layout
+
+6.7 Customizing the `texi2html' css lines
+=========================================
+
+It is possible to modify the `texi2html' css lines by modifying the
+entries or adding to the `%css_map' hash. Each key is a css selector,
+the corresponding value is a style string.
+
+ The whole css text is in the variable `$CSS_LINES'. If this variable
+is defined the variable value is used instead of being constructed
+using the `%css_map' entries. For example if you don't want any css
+entries, set
+
+ $CSS_LINES = '';
+
+ It is also possible to change completely the way `$CSS_LINES' are
+generated by redefining the following function reference:
+
+ -- Function Reference: css_lines \@import_lines \@rule_lines
+ This function should be used to construct the `$CSS_LINES'.
+ \@IMPORT_LINES are the `@import' lines of the files specified with `--include-css',
+ and \@RULE_LINES are the css commands lines of these files. *Note
+ Style options::.
+
+
+File: texi2html.info, Node: Customizing header, Next: Customizing section, Prev: css, Up: Changing the page layout
+
+6.8 Customizing the page header
+===============================
+
+It is possible to add lines to the text within the `<head>' HTML
+elements, by defining the variable `$EXTRA_HEAD'. Similarly it is
+possible to add text just after the `<body>' element with the variable `$AFTER_BODY_OPEN'.
+These variables are empty by default.
+
+ The encoding of the texinfo file is defined by `$DOCUMENT_ENCODING'
+if no `@documentencoding' appears in the document. The default is a
+`en-ascii' encoding. The encoding of the resulting document is defined
+by `$ENCODING'. The default is the `$DOCUMENT_ENCODING'.
+
+ The description of the document may be specified in `$DOCUMENT_DESCRIPTION'.
+If this variable is undef, the text associated with
+`@documentdescription' is used, and if there isn't such test a default
+description is constructed using the document title and the name of the
+first section of the file.
+
+ The `<body>' element attributes may be set by defining the variable `$BODYTEXT'.
+If you want to define that variable dynamically, you should use the
+`init_out' function reference (*note Output initialization::).
+
+ The default functions call the function associated with `$print_head_navigation'
+to format the navigation panel for the page header. Thus you can
+control parts of the formatting by redefining the function reference.
+
+ -- Function Reference: print_head_navigation $filehandle \@buttons
+ $FILEHANDLE is the opened filehandle the function should write to.
+ \@BUTTONS is an array reference which should hold the
+ specification of the buttons for the navigation panel.
+
+ If you want even more control, you can have full control over the
+page header formatting by redefining three function references. The
+function associated with `$print_page_head' is called for all the
+pages, and after that, the function associated with `$print_chapter_header'
+is called if the document is split at chapters, or the function
+associated with `$print_section_header' is called if the document is
+split at sections.
+
+ -- Function Reference: print_page_head $filehandle
+ $FILEHANDLE is the opened filehandle the function should write to.
+ This function should print the page head, including the `<body>'
+ element.
+
+ -- Function Reference: print_chapter_header $filehandle
+ $FILEHANDLE is the opened filehandle the function should write to.
+ This function is called if the document is split at chapters, after
+ `print_page_head'.
+
+ -- Function Reference: print_section_header $filehandle
+ $FILEHANDLE is the opened filehandle the function should write to.
+ This function is called if the document is split at sections, after
+ `print_page_head'.
+
+
+File: texi2html.info, Node: Customizing section, Next: Customizing footer, Prev: Customizing header, Up: Changing the page layout
+
+6.9 Customizing the sections
+============================
+
+The functions associated with the following function references are
+used for the formatting of sections:
+
+ -- Function Reference: print_section $filehandle $first_in_page
+ $previous_is_top
+ $FILEHANDLE is the opened filehandle the function should write to.
+ $FIRST_IN_PAGE is true if this section is the first section in the
+ page. $PREVIOUS_IS_TOP is true if this section is the section
+ following the Top section. This function should print the current
+ section.
+
+ -- Function Reference: end_section $filehandle
+ $last_element_or_before_top
+ $FILEHANDLE is the opened filehandle the function should write to.
+ $LAST_ELEMENT_OR_BEFORE_TOP is true if this section precedes the
+ top element or is the last one in page, or before the special
+ elements.
+
+
+File: texi2html.info, Node: Customizing footer, Next: Special pages, Prev: Customizing section, Up: Changing the page layout
+
+6.10 Customizing the page footer
+================================
+
+It is possible to add text just before the `</body>' element with the
+variable `$PRE_BODY_CLOSE'. Nothing is added by default.
+
+ The default functions call the function associated with `$print_foot_navigation'
+to format the navigation panel for the page footer. Thus you can
+control parts of the formatting by redefining the function reference.
+
+ -- Function Reference: print_foot_navigation $filehandle \@buttons
+ $FILEHANDLE is the opened filehandle the function should write to.
+ \@BUTTONS is an array reference which should hold the
+ specification of the buttons for the navigation panel.
+
+ If you want even more control, you can have full control the page
+footer formatting by redefining three function references. The
+function associated with `$print_chapter_footer' is called if the
+document is split at chapters, or the function associated with `$print_section_footer'
+is called if the document is split at sections. After that the
+function associated with `$print_page_foot' is called.
+
+ -- Function Reference: print_page_foot $filehandle
+ $FILEHANDLE is the opened filehandle the function should write to.
+ This function should print the page foot, including the `</body>'
+ element.
+
+ -- Function Reference: print_chapter_footer $filehandle
+ $FILEHANDLE is the opened filehandle the function should write to.
+ This function is called if the document is split at chapters,
+ before `print_page_foot'.
+
+ -- Function Reference: print_section_footer $filehandle
+ $FILEHANDLE is the opened filehandle the function should write to.
+ This function is called if the document is split at sections,
+ before `print_page_foot'.
+
+
+File: texi2html.info, Node: Special pages, Next: File names, Prev: Customizing footer, Up: Changing the page layout
+
+6.11 Special pages formatting
+=============================
+
+For the special elements, two things must be formatted: the content and
+the page layout
+
+* Menu:
+
+* Special pages content::
+* Special pages layout::
+
+
+File: texi2html.info, Node: Special pages content, Next: Special pages layout, Up: Special pages
+
+6.11.1 Customizing the content of the special pages
+---------------------------------------------------
+
+* Menu:
+
+* Top element text::
+* Contents and Overview text::
+* Footnotes text::
+* About text::
+
+
+File: texi2html.info, Node: Top element text, Next: Contents and Overview text, Up: Special pages content
+
+6.11.1.1 Top element text formatting
+....................................
+
+The top element formatting is controlled by three function which also
+controls the layout of the top element page or section. The associated
+function references are:
+
+ -- Function Reference: print_Top_header $filehandle $begin_page
+ $FILEHANDLE is the opened filehandle the function should write to.
+ $BEGIN_PAGE is true if the element is the first in a page. This
+ function should begin the Top element. At the time this function
+ is called the top element text hasn't been parsed.
+
+ -- Function Reference: print_Top $filehandle $has_top_heading
+ $FILEHANDLE is the opened filehandle the function should write to.
+ $HAS_TOP_HEADING is true if there is a `@heading' command or
+ `@titlefont' command appearing in the Top element text. This
+ function should be used to format the Top element text and
+ navigation panel.
+
+ -- Function Reference: print_Top_footer $filehandle $end_page
+ $FILEHANDLE is the opened filehandle the function should write to.
+ $END_PAGE is true if the element is the last in a page. This
+ function should end the Top element.
+
+
+File: texi2html.info, Node: Contents and Overview text, Next: Footnotes text, Prev: Top element text, Up: Special pages content
+
+6.11.1.2 Table of contents and Short table of contents
+......................................................
+
+Several variables may be used to control the formatting of table of
+contents and short table of contents:
+
+`$DO_CONTENTS'
+ If the variable is true a table of contents is done even if there
+ is no `@contents' command.
+
+`$DO_SCONTENTS'
+ If the variable is true a short table of contents is done even if
+ there is no `@summarycontents' command.
+
+`$BEFORE_OVERVIEW'
+ The variable value is inserted before the short table of contents
+ text.
+
+`$AFTER_OVERVIEW'
+ The variable value is inserted after the short table of contents
+ text.
+
+`$BEFORE_TOC_LINES'
+ The variable value is inserted before the table of contents text.
+
+`$AFTER_TOC_LINES'
+ The variable value is inserted after the table of contents text.
+
+`$TOC_LIST_STYLE'
+ This should contain a css style used for the list style if the
+ tables of content are formatted with a list.
+
+`$TOC_LIST_ATTRIBUTE'
+ This should contain an attribute text used for the list element if
+ the tables of content are formatted with a list.
+
+ More control on the table of contents and short table of contents
+formatting may be achieved by redefining a function with the following
+associated function reference:
+
+ -- Function Reference: toc_body \@elements
+ \@ELEMENTS is an array reference contining informations about all
+ the elements of the document. Each of the entry of this array is
+ an hash reference which entries correspond with different
+ informations about the element. Interesting keys have the
+ following meaning:
+
+ `top'
+ true if the element is the top element,
+
+ `index_page'
+ true if the element is an index page added because of index
+ splitting,
+
+ `toc_level'
+ level of the element in the table of content. Highest level
+ is 1 for the top element and for chapters, appendix and so on,
+ 2 for section, unnumberedsec and so on...
+
+ `tocid'
+ label used for reference linking to the element in table of
+ contents,
+
+ `file'
+ the file containing the element, usefull to do href to that
+ file in case the document is split,
+
+ `text'
+ text of the element, with section number,
+
+ `name'
+ text of the element, without section number.
+
+ This function doesn't return anything but should fill the array
+ corresponding with the `$Texi2HTML::TOC_LINES' and `$Texi2HTML::OVERVIEW'
+ references with the table of contents and short table of contents.
+
+
+
+File: texi2html.info, Node: Footnotes text, Next: About text, Prev: Contents and Overview text, Up: Special pages content
+
+6.11.1.3 Formatting of footnotes text
+.....................................
+
+The footnotes text is allready formatting when `@footnote' commands are
+expanded. *Note Footnotes::.
+
+
+File: texi2html.info, Node: About text, Prev: Footnotes text, Up: Special pages content
+
+6.11.1.4 Formatting of about text
+.................................
+
+The default about element contains an explaination of the buttons used
+in the document (`@SECTION_BUTTONS', *Note Button specifications::) and
+an example locating the buttons targets in an example. The formatting
+of this text may be influenced by the following hashes and variables:
+
+`$PRE_ABOUT'
+`$AFTER_ABOUT'
+ This variable may be a scalar or a function reference. If it is a
+ scalar, the value is used. If this is a function reference it is
+ expanded and the returned text is used. The text is added before
+ or after the main about text.
+
+`%BUTTONS_GOTO'
+ The keys of this hash are element labels (*note Element labels::).
+ The value is the text associated with the element label in the
+ about text. The element of the hash are defined dynamically, you
+ should in the `init_out' function reference (*note Output
+ initialization::).
+
+`%BUTTONS_EXAMPLE'
+ The keys of this hash are element labels (*note Element
+ labels::). The value is the text associated with the element label
+ in the about example, typically a section number.
+
+
+ If this is not enough and you want to control exactly the formatting
+of the about text, you can redefine the function associated with the
+following function reference:
+
+ -- Function Reference: $about_text print_about
+ This function should return the about text.
+
+
+File: texi2html.info, Node: Special pages layout, Prev: Special pages content, Up: Special pages
+
+6.11.2 Customizing the layout of the special pages
+--------------------------------------------------
+
+The formatting of each of the special pages, or section in case the
+document is not split, is controlled by a function. The associated
+function reference is called accordingly:
+
+`print_Top'
+
+`print_Top_header'
+
+`print_Top_footer'
+ Formatting of top element page or section. It is also used for the
+ formatting of the top element text (*note Top element text::).
+
+`print_Toc'
+ Formatting of table of contents page or section
+
+`print_Overview'
+ Formatting of short table of contents page or section
+
+`print_About'
+ Formatting of about (help) page or section
+
+`print_Footnotes'
+ Formatting of footnotes section or page in case footnotes are on a
+ separated page or the document isn't split.
+
+ In the default case, `$print_Top' calls `$print_Top_header' for the
+header and `$print_Top_footer' for the footer of top element. All the
+other function call `$print_misc' which in turn calls `$print_misc_header'
+for the headers and `$print_misc_footer' for the footers.
+
+
+File: texi2html.info, Node: File names, Next: External index files, Prev: Special pages, Up: Changing the page layout
+
+6.12 Customizing the file names
+===============================
+
+It is possible to specify the file names with more control than with the
+command line options (*note Output files::). First the extension may
+be overrided by the variable `$EXTENSION' value. Two function
+references enable further customization. One is usefull in case `$NODE_FILES'
+is true and it is used to customize the node file name itself and is
+also used to produce a file name with a redirection leading to the node
+file.
+
+ -- Function Reference: ($node_file $redirection_node_file)
+node_file_name $node
+ $NODE is a hash reference with the following interesting keys
+ (there are much more keys):
+ `texi'
+ The texinfo node name.
+
+ `with_section'
+ True if associated with a section.
+ The result is the node file name $NODE_FILE, and the file
+ containing a redirection to the node $REDIRECTION_NODE_FILE.
+
+ The other is usefull if `$NODE_FILES' isn't true. It is used to
+customize the file associated with each element.
+
+ -- Function Reference: $file element_file_name $element $is_top
+ $docu_name
+ $ELEMENT is a hash reference with the following interesting keys
+ (there are much more keys):
+ `texi'
+ The texinfo element name.
+
+ `number'
+ The number associated with a section.
+
+ `doc_nr'
+ A number incremented whenever a new file should begin, based
+ on how the document is split (*note Splitting output::).
+
+ `text'
+ The element text.
+
+ `name'
+ The element text without section number.
+ $IS_TOP is true if the element is considered as the top element.
+ $DOCU_NAME is the basename of the texinfo manual. The result is
+ the element file name.
+
+
+File: texi2html.info, Node: External index files, Prev: File names, Up: Changing the page layout
+
+6.13 Generation of external files for index entries
+===================================================
+
+Within the document, `@printindex' commands are expanded as explained
+in *Note Index list::. In case you want to do something special with
+index entries, outside of the document, you should first set the
+variable `$IDX_SUMMARY' true. After that some function reference will
+be called for each non empty index. For each index there are 3 function
+references, one called for initialization, one called for each index
+entry and the last one called for finalazation.
+
+ -- Function Reference: index_summary_file_begin $index_name $is_printed
+ $INDEX_NAME is the two letters name for the index. This function
+ is called for each index appearing in the document, before
+ `index_summary_file_entry'. $IS_PRINTED is true if there is a
+ `@printindex' for that index.
+
+ -- Function Reference: index_summary_file_entry $index_name
+ $entry_text $entry_reference $formatted_entry $texi_entry
+ $entry_element_reference $entry_element_header $is_printed
+ This function is called for each entry of an index. INDEX_NAME is
+ the name of the index. $ENTRY_TEXT is the entry in plain text,
+ $FORMATTED_ENTRY is the index entry formatted, $TEXI_ENTRY is the
+ entry with texinfo commands. $ENTRY_REFERENCE is the reference
+ placed at the index entry place, in the form `file#id'.
+ $ENTRY_ELEMENT_HEADER is the formatted header of the element
+ containing the index entry. ENTRY_ELEMENT_HEADER is the reference
+ to the beginning of the element containing the index entry, in the
+ form `file#id'. $IS_PRINTED is true if there is a `@printindex'
+ for that index.
+
+ -- Function Reference: index_summary_file_end $index_name $is_printed
+ $INDEX_NAME is the two letters name for the index. This function
+ is called for each index appearing in the document, after
+ `index_summary_file_entry'. $IS_PRINTED is true if there is a
+ `@printindex' for that index.
+
+
+File: texi2html.info, Node: Customizing HTML, Next: Internationalization, Prev: Changing the page layout, Up: Top
+
+7 Customizing HTML and text style in init files
+***********************************************
+
+Some simple customization may be achieved with the redefinition of the
+variables associated with the command line options. For the description
+and an explanation of the meaning of these variables, *Note Style
+options::.
+
+ Other variables and hash entries can be modified in initialization
+file to achieve more customization. Lastly, functions references
+corresponding with functions called from the main program and
+initialization files may be redefined.
+
+* Menu:
+
+* Three contexts:: there are three different contexts for command
+ expansion: normal text, preformatted text and
+ strings.
+* Commands without argument::
+* Style and accent commands::
+* Anchors images and spaces:: Formatting of `@anchor', `@image', `@sp', `@acronym', `@abbr'
+* Text:: Some characters are processed specially
+* Strings:: `texi2html' write some strings in the output
+ different for each languages
+* References::
+* Alignement commands:: `@center', `@flushleft'...
+* Paragraph and preformatted region::
+* Complex formats:: `@example', `@display'...
+* Lists tables::
+* Definitions::
+* Headings::
+* Special regions:: `@verbatim', `@cartouche', `@quotation'
+* Menus::
+* Indices::
+* Floats and lists of floats:: `@float' and `@listoffloats'
+* Footnotes::
+* Other and unknown commands:: You can handle specifically other commands
+
+
+File: texi2html.info, Node: Three contexts, Next: Commands without argument, Up: Customizing HTML
+
+7.1 Three contexts for expansions: preformatted, normal and string
+==================================================================
+
+There are three contexts of interest, one is the normal context, the
+other is a special context, called the "preformatted" context and the
+last is the string context. The preformatted context occurs when the
+spacing between words is kept. This is the case, for example, in
+`@display' or `@example' regions, and in menu comments (*note Menus::).
+The preformatted regions are usually rendered in `<pre>' elements in
+HTML. The string context occurs when rendering strings without
+formatting elements, in comments or titles for example.
+
+
+File: texi2html.info, Node: Commands without argument, Next: Style and accent commands, Prev: Three contexts, Up: Customizing HTML
+
+7.2 Customizing the formatting of commands without argument
+===========================================================
+
+This includes the commands whose name is a nonletter character like
+`@@', the commands with lettered characters and braces but whose braces
+should be empty, like `@TeX{}', or some commands associated with
+accentted letters like `@AA{}'. If there happens to be something within
+the braces, it is put after the command, thus
+ @TeX{something}
+ leads to the same than
+ @TeX{} something
+
+ Each of these categories of commands have three associated hashes,
+one for normal context, the other for preformatted context and the last
+in strings. The keys of the hashes are the command names, the
+associated value is the text replacing the command.
+
+ The hashes are:
+command type normal text preformatted text string
+one nonlettered character `%simple_map' `%simple_map_pre' `%simple_map_texi'
+nothing in braces `%things_map' `%pre_map' `%texi_map'
+
+ To change the HTML resulting from these constructs, just change the
+value. For example, if you want `&shy;' to be outputted for `@-' in
+normal and preformatted context, write in your init file:
+
+ $simple_map{'-'} = '&shy;';
+ $simple_map_pre{'-'} = '&shy;';
+
+
+File: texi2html.info, Node: Style and accent commands, Next: Anchors images and spaces, Prev: Commands without argument, Up: Customizing HTML
+
+7.3 Customizing accent, style and other simple commands
+=======================================================
+
+The formatting of the HTML produced by style and indicatric commands
+(`@tt', `@code', `@email', `@titlefont'), the accentuation related
+commands taking argument (`@'', `@udotaccent', `@dotless') and
+miscalleneous commands (`@email', `@verb', `@w', `@uref', `@math',
+`@asis') is controlled by two hash in the default case, `%style_map'
+for normal context, `%style_map_pre' for preformatted context and `%style_map_texi'
+in string context.
+
+ The key of the hashes are the command names. There are two
+possibilities for the values corresponding with two interfaces. The
+values may be strings or hash references, and you can chose the
+interface depending on the one you prefer. The interface with hash
+reference is a bit more flexible but might also be regarded as more
+complex. If you don't like either of these interfaces you can define
+your own.
+
+ Some remarks are in order:
+
+ * The nonlettered accent commands which following character is
+ considered to be the argument (like in `@`a') should be keys of the
+ hash `%accent_map' hash, even if no value is associated.
+
+ * `@math' is handled differently if LaTeX2HTML is used.
+
+* Menu:
+
+* Hash reference interface::
+* String interface::
+* Define your own interface::
+
+
+File: texi2html.info, Node: Hash reference interface, Next: String interface, Up: Style and accent commands
+
+7.3.1 An interface for commands formatting with a hash reference
+----------------------------------------------------------------
+
+The key of the hashes are the command names. The value determine how
+the command argument is formatted. This value is a reference on a hash.
+In this hash each key corresponds with a type of information for the
+formatting, and the value is the corresponding information. For
+example, in
+
+ $style_map{'command'} = { 'args' => ['code'], 'attribute' => 'code'};
+
+ the arguments for `@command' are interpreted as specified by the
+values associated with the `args' key while the attribute associated
+with that command is `code'.
+
+ The following keys in the hashes associated with each command have
+the following meaning:
+
+`args'
+ The value associated is a reference on an array. Each element of
+ the array defines how the arguments (separated by `,' in the
+ texinfo code) for the @-command should be formatted. The
+ possibilities are
+ `normal'
+ for normal text,
+
+ `code'
+ for text with `---', `--', `''' and ```' kept as is,
+
+ `keep'
+ if the texinfo should be kept as is, without interpretation
+ of the @-commands.
+
+ For example, we have
+ $style_map{'email'}->{'args'} = ['code', 'normal'];
+
+ because `---', `--', `''' and ```' should be kept as is in the
+ first argument of `@email'.
+
+ The default is `['normal']'.
+
+`attribute'
+ If the associated value is a word, it is considered to be an HTML
+ element name, and the argument is enclosed between the element
+ opening and the element closing. For example, if the value is
+ `elem', the resulting HTML is `<elem>ARG</elem>'.
+
+ If the text is a word followed by some text, the word and is
+ interpreted as above, and the text is considered to be the
+ attributes text of the element. Thus `elem class="elem"' leads to
+ `<elem class="elem">ARG</elem>'.
+
+ This works only if there is only one argument.
+
+`begin'
+ The associated value is added in front of the text.
+
+`begin'
+ The associated value is added after the text.
+
+`quotes'
+ If the corresponding value is true, the result is enclosed in
+ quotes `$OPEN_QUOTE_SYMBOL' and `$CLOSE_QUOTE_SYMBOL', with
+ defaults ``' and `''.
+
+`function'
+ The corresponding value should be a function reference. The
+ corresponding function is called with the following arguments:
+
+ `$command'
+ The @-command name
+
+ `$args'
+ A reference on an array containing the arguments of the
+ @-command.
+
+ `$style_stack'
+ A reference on an array containing the name of the @-commands
+ containing the @-command being formatted.
+
+ `$state'
+ A reference on a hash containing a lot of informations about
+ the context of the @-command.
+
+ `$line_nr'
+ An opaque structure containing the information about the line
+ number of the @-command. It can be used to call
+ `main::echo_error' or `main::echo_warning' with first
+ argument a message, and second argument `$line_nr'.
+
+
+File: texi2html.info, Node: String interface, Next: Define your own interface, Prev: Hash reference interface, Up: Style and accent commands
+
+7.3.2 An interface for commands formatting with a string
+--------------------------------------------------------
+
+The keys of the hashes are the command names. The value determine how
+the command argument is formatted. If the value begins with `"', the
+result is enclosed in quotes `$OPEN_QUOTE_SYMBOL' and `$CLOSE_QUOTE_SYMBOL',
+with defaults ``' and `''.
+
+ The command argument is allready formatted as HTML. The remaining
+of the value text (or the value text if there were no `"') is
+interpreted as follow:
+
+ * If the text is empty the argument of the command is left as is.
+
+ * If the text is a `&' followed by a name, like `&function', the
+ name is considered to be a function name, and this function is
+ called to format the argument of the command. The first argument
+ of the function is the command name, the second is the command
+ argument. For example, if the value associated with the
+ (fictituous) command `@foo' is `&my_func' and we have:
+
+ sub my_func
+ {
+ my @args = split /,\s*/ $_[1];
+ return "$_[0]: $args[0]" if ($args[1] = 1);
+ return "$args[0]";
+ }
+
+ The result of
+ @foo{truc, 1}
+ @foo{truc, bidule}
+ will be
+ foo: truc
+ truc
+
+ * If the text is a word, it is considered to be an HTML element
+ name, and the argument is enclosed between the element opening and
+ the element closing. For example, if the value is `elem', the
+ resulting HTML is `<elem>ARG</elem>'. Similarly `"quoted' leads to
+ ``<quoted>ARG</quoted>''.
+
+ * If the text is a word followed by some text, the word and is
+ interpreted as above, and the text is considered to be the
+ attributes text of the element. Thus `elem class="elem"' leads to
+ `<elem class="elem">ARG</elem>'.
+
+
+File: texi2html.info, Node: Define your own interface, Prev: String interface, Up: Style and accent commands
+
+7.3.3 Defining the style and indicatric commands interface
+----------------------------------------------------------
+
+If you don't like this scheme, it is possible to change how those
+commands are processed by redefining the following function reference:
+
+ -- Function Reference: $resulting_text style $style $command $text
+ $args $no_close $no_open $line_nr $state $style_stack
+ $COMMAND is the @-command, $STYLE is the value associated with the
+ $COMMAND in the `%style_map', `%style_map_pre' or
+ `%style_map_texi' hashes. The $TEXT is the text appearing within
+ the @-command braces. ARGS is a reference on an array contening
+ the command arguments formatted according to the same conventions
+ than with the reference hash style (provided the value associated
+ with the @-command is a hash reference with a $ARG key as
+ described in *Note Reference hash args::). If $TEXT is split in
+ paragraphs each paragraph is passed through the function, and
+ $NO_CLOSE is true if it is not the last paragraph, while $NO_OPEN
+ is true if it is not the first paragraph. $LINE_NR is an opaque
+ structure containing the information about the line number of the
+ @-command. It can be used to call `main::echo_error' or
+ `main::echo_warning' with first argument a message, and second
+ argument `$line_nr'. $STATE is a reference on a hash containing a
+ lot of informations about the context of the @-command.
+ $STYLE_STACK is a reference on an array containing the name of the
+ @-commands containing the @-command being formatted.
+
+
+
+File: texi2html.info, Node: Anchors images and spaces, Next: Text, Prev: Style and accent commands, Up: Customizing HTML
+
+7.4 Formatting of special simple commands
+=========================================
+
+The formatting of special simple commands is controlled by functions. To
+customize the output, the corresponding function references should be
+redefined. All these functions return a formatted text.
+
+ The formatting of anchors is controlled by `$anchor', but the
+function associated with the function reference does more, it is usefull
+to produce a reference target or link.
+
+ -- Function Reference: $anchor anchor $identifier $href $text
+ $attributes
+ If $IDENTIFIER is not empty, this value should be used to create a
+ target for links (typically associated with a name or id attribute
+ in HTML). The $HREF argument specifies a hpertextual reference
+ which should be used to link to a target. In case both
+ $IDENTIFIER and $HREF are given the text produced should be both
+ a target for $IDENTIFIER and a link to $HREF. $TEXT is the text
+ to be displayed. $ATTRIBUTES are additional attributes. It
+ should be reasonable to assume that the attributes are for a `<a>'
+ HTML element.
+
+ The formatting of `@image' is controlled by:
+
+ -- Function Reference: $image image $file_path $basename $preformatted
+ $file_name
+ $FILE_PATH is the image file name with the path, $BASENAME is the
+ alternate text or the file name without extension if no alternate
+ text is given. $PREFORMATTED is true if the image appears in
+ preformatted text. $FILE_NAME is the file name without path but
+ with extension.
+
+ The formatting of `@sp' is controlled by:
+
+ -- Function Reference: $sp sp $number $preformatted
+ $NUMBER is the numeric argument of `@sp'. $PREFORMATTED is true
+ if the `@sp' appears in preformatted text.
+
+ The formatting of `@acronym' and `@abbr' is controlled by:
+
+ -- Function Reference: $acronym acronym_like $acronym_texi
+ $acronym_text $with_explanation \@explanation_lines
+ $explanation_text $explanation_simply_formatted
+ $ACRONYM_TEXI is the acronym argument with texinfo @-commands,
+ $ACRONYM_TEXT is formatted.
+
+ The other arguments are related with the explanation, the second
+ arg of the acronym. $WITH_EXPLANATION is true if the second
+ argument of the acronym command is present. If an explanation
+ exists, coming from previous `@acronym' or as an arg of this
+ command, the other args are defined: \@EXPLANATION_LINES is a
+ reference on an array containing the unformatted explanation lines,
+ $EXPLANATION_TEXT is the explanation text formatted,
+ $EXPLANATION_SIMPLY_FORMATTED is the explanation with a light
+ formatting, unabling in HTML (or XML) the explanation to be in an
+ attribute.
+
+
+File: texi2html.info, Node: Text, Next: Strings, Prev: Anchors images and spaces, Up: Customizing HTML
+
+7.5 Processing special characters in text
+=========================================
+
+Some characters are processed especially in text: `---', `--', ```' and
+`'''. This is done only if in normal text and not in some commands
+(`@code', `@env'...). A function reference is called to process those
+characters in text
+
+ -- Function Reference: $processed_text normal_text $text
+ The function processes `---', `--', ```' and `''' in $TEXT and
+ returns $PROCESSED_TEXT. The default is to change `---' to `--',
+ `--' to `-', and ```' and `''' to `"'.
+
+ Some characters are special in HTML (`&', `"', `<' and `>') and
+should be protected. This is done by the function associated with the
+function reference
+
+ -- Function Reference: $protected_text protect_text $text
+ The function processes the unprotected text $TEXT and returns the
+ resulting protected text $PROTECTED_TEXT.
+
+ Empty lines are processed by the following function reference, which
+could be usefull if empty lines are to be removed for example
+
+ -- Function Reference: $resulting_text empty_line $empty_line
+ This function processes an $EMPTY_LINE and returns the resulting
+ text $RESULTING_TEXT. Empty lines are left as is by default.
+
+
+File: texi2html.info, Node: Strings, Next: References, Prev: Text, Up: Customizing HTML
+
+7.6 Customizing strings written by `texi2html'
+==============================================
+
+`texi2html' writes some strings in the generated document at various
+places, at the page footers, on the help page, for special section
+headings, buttons alt text and so on. These strings are customizable.
+The string chosen depends on the language of the document (set by `--lang', `$LANG'
+or `@documentlanguage'). This is the basis for internationalization as
+it allows for strings translations.
+
+ The strings are found in a hash reference, `$LANGUAGES'. Each key
+is a language code. The associated value is also a hash reference. The
+key is an english string and the associated value is the string
+replacing the english string, if present. For example, we have
+
+ $LANGUAGES->{'fr'} = {
+ ' Up ' => 'Plus haut',
+ };
+
+ It means that whenever the string ` Up ' is to be written and the
+language is `fr', `Plus haut' is written. It is possible to customize
+the english strings by redefining the `en' language hash.
+
+ When a string contains a `%' followed by `{' NAME `}' it means that
+the string will be expanded by `texi2html'. For example, if we have
+
+ $LANGUAGES->{'fr'} = {
+ 'See %{node_file_href}' => 'Voir %{node_file_href}',
+ };
+
+ `%{node_file_href}' will be expanded to an href for a node in a file
+by `texi2html' in the string. A `%%' will be expanded as `%'.
+
+ For more on internationalization, see *Note Internationalization::.
+
+
+File: texi2html.info, Node: References, Next: Alignement commands, Prev: Strings, Up: Customizing HTML
+
+7.7 References
+==============
+
+* Menu:
+
+* Reference to external manual::
+* Internal reference::
+
+
+File: texi2html.info, Node: Reference to external manual, Next: Internal reference, Up: References
+
+7.7.1 Reference to external manual
+----------------------------------
+
+The references are produced with two function references, one for the
+hypertextual reference construction, the other for the full reference to
+external manual.
+
+ -- Function Reference: $href external_href $node $node_identifier
+ $xml_node_identifier $manual_file_name
+ $NODE is the node name, with @-commands. $NODE_IDENTIFER is the
+ node name mapped to an identifier acceptable as a file name.
+ $XML_NODE_IDENTIFIER is the node name mapped to an identifier
+ acceptable as an XML identifier. Those identifiers are built as
+ explained in *Note HTML Xref: (texinfo)HTML Xref, thus allowing
+ for cross references to external manuals. $FILE is the manual or
+ file name of the external reference. This function should return an
+ href leading to the external manual.
+
+ The default for this function is to make a reference compatible
+ with `makeinfo' (*note HTML Xref: (texinfo)HTML Xref.).
+
+ -- Function Reference: $text external_ref $command $section $book
+ $node_and_file $href $cross_ref_name
+ This function formats a reference to an external texinfo manual.
+ The $COMMAND is the ref command (`ref', `xref' or `pxref', in
+ text, at sentence beginning or in parenthesis). The optionnal
+ $SECTION argument is the section in the book and BOOK is the book
+ title. $NODE_AND_FILE is the node and file name formatted
+ according to the convention used in info: `(file)node'. $HREF it
+ an hypertextual reference to the distant manual constructed using
+ the above function. $CROSS_REF_NAME is an optionnal cross
+ reference name appearing in the reference command. This function
+ returns the text corresponding with the external html manual
+ reference. This function returns the full formatted text of the
+ external reference.
+
+
+File: texi2html.info, Node: Internal reference, Prev: Reference to external manual, Up: References
+
+7.7.2 Reference to an internal node
+-----------------------------------
+
+A function reference is available for internal references.
+
+ -- Function Reference: $text internal_ref $command $href $short_name
+ $name $is_section
+ This function formats a reference to a node in the current manual.
+ The $COMMAND is the ref command (`ref', `xref' or `pxref', in
+ text, at sentence beginning or in parenthesis). $HREF it an
+ hypertextual reference linking to the corresponding node or
+ section. $SHORT_NAME and $NAME hold the text for the reference but
+ $SHORT_NAME can be the node name which is assumed to be shorter
+ than the section name. $IS_SECTION is a boolean true if the
+ reference is a reference to a section. This function returns the
+ full formatted text of the internal reference.
+
+
+File: texi2html.info, Node: Alignement commands, Next: Paragraph and preformatted region, Prev: References, Up: Customizing HTML
+
+7.8 Commands used for centering and flushing of text
+====================================================
+
+When a command controlling the alignement of text is used (`@center',
+`@flushleft' and `@flushright'), the main program takes care of opening
+and closing paragraphs. The alignement commands are the key of the `%paragraph_style'
+hash. The value is used in the function doing the formatting of the
+paragraphs. *Note Paragraph and preformatted region::.
+
+ A function references allows for a customization of the formatting
+of the text appearing in the command block.
+
+ -- Function Reference: $result paragraph_style_command $command $text
+ $COMMAND is the command name, $TEXT is the text appearing within
+ the command. This function returns a formatted text. The default
+ is to return the text unmodified.
+
+
+File: texi2html.info, Node: Paragraph and preformatted region, Next: Complex formats, Prev: Alignement commands, Up: Customizing HTML
+
+7.9 Formatting or not a paragraph or a preformatted region
+==========================================================
+
+* Menu:
+
+* Paragraph and preformatted formatting::
+* Avoiding paragraphs::
+
+
+File: texi2html.info, Node: Paragraph and preformatted formatting, Next: Avoiding paragraphs, Up: Paragraph and preformatted region
+
+7.9.1 Paragraph and preformatted region formatting
+--------------------------------------------------
+
+The formatting of a paragraph region or a preformatted region, is
+controlled by function references:
+
+ -- Function Reference: $paragraph_text paragraph $text $alignement
+ $formatting_command $formatting_command_formatted
+ \$paragraph_number $format $item_number $enumerate_style
+ $number
+ This function formats a paragraph. $TEXT is the text of the
+ paragraph, $ALIGNEMENT is the empty string when no alignement
+ command has been seen, otherwise it is the current alignement
+ command name. *Note Alignement commands::.
+
+ The remaining arguments are usefull when the paragraph appears
+ within a list or table. It is usefull whenever the paragraph has
+ to be formatted differently when appearing in such environments.
+ Moreover in that case the format command (`@itemize'...) may have
+ an associated formatting command. $FORMATTING_COMMAND is this
+ formatting command (like `@minus'). $FORMATTING_COMMAND_FORMATTED
+ is the command formatted in html in case the formatting command is
+ a leading command (like `@minus') which should be leading the
+ first paragraph. \$PARAGRAPH_NUMBER is a reference on the number
+ of paragraphs in that format command. The corresponding variable
+ should be increased when a paragraph is added. $FORMAT is the
+ format command. *Note Table and list items::.
+
+ If the $FORMAT is an enumerate, $ITEM_NUMBER is the number of the
+ item in the list, $ENUMERATE_STYLE is the argument of the
+ enumerate, $NUMBER is the number or letter corresponding with this
+ item.
+
+ -- Function Reference: $preformatted_text preformatted $text $style
+ $region_name $formatting_command
+ $formatting_command_formatted \$preformatted_number $format
+ $item_number $enumerate_style $number
+ This function formats a preformatted region. $TEXT is the text of
+ the preformatted region, $STYLE is the css style associated with
+ that preformatted region (*Note css::). $REGION_NAME is the name
+ of the command opening the preformatted region (`example'..., see
+ *Note Complex formats::) or a identifier for the preformatted
+ context (for example `menu-comment', see *Note Menus::). The
+ alignment commands are not taken into account, as the spaces are
+ preserved in preformatted regions, you should flush and center by
+ hand.
+
+ The remaining arguments are usefull when the preformatted region
+ appears within a list or table. It is usefull whenever the
+ preformatted region has to be formatted differently when appearing
+ in such environments. Moreover in that case the format command
+ (`@itemize'...) may have an associated formatting command.
+ $FORMATTING_COMMAND is this formatting command (like `@minus').
+ $FORMATTING_COMMAND_FORMATTED is the command formatted in html in
+ case the formatting command is a leading command (like `@minus')
+ which should be leading the first preformatted region.
+ \$PREFORMATTED_NUMBER is a reference on the number of preformatted
+ regions in that format command. The corresponding variable should
+ be increased when a preformatted region is added. $FORMAT is the
+ format command. *Note Table and list items::.
+
+ If the $FORMAT is an enumerate, $ITEM_NUMBER is the number of the
+ item in the list, $ENUMERATE_STYLE is the argument of the
+ enumerate, $NUMBER is the number or letter corresponding with this
+ item.
+
+
+File: texi2html.info, Node: Avoiding paragraphs, Prev: Paragraph and preformatted formatting, Up: Paragraph and preformatted region
+
+7.9.2 Avoiding paragraphs in formats
+------------------------------------
+
+It is possible to avoid that a format closes the previous paragraph or
+preformatted region and reopens one, by putting the format command in a
+hash, `%format_in_paragraph' with a true value.
+
+
+File: texi2html.info, Node: Complex formats, Next: Lists tables, Prev: Paragraph and preformatted region, Up: Customizing HTML
+
+7.10 Formatting of complex formats (`@example', `@display'...)
+==============================================================
+
+Here we see how a whole complex format is formatted. For the formatting
+of the text, see *Note Paragraph and preformatted region::.
+
+ The formatting of the complex formats is ultimately controlled by a
+function, however the default for this function uses a hash reference
+and changing the hash reference values should be enough in most cases.
+This hash reference is called `$complex_format_map'. It has a key for
+each of the complex format commands (`example', `smallexample', `lisp',
+`smalllisp', `display', `smalldisplay', `format', `smallformat').
+
+ The associated value is also a reference on a hash. The keys are
+`begin' and `end'. An eval of `begin' should lead to the beginning of
+the formatted HTML, an eval of `end' should lead to the end of the
+formatted HTML. The enclosed text will be formatted as described in
+*Note Paragraph and preformatted region::, and the name of the complex
+format will be available to the function formatting the text.
+
+ If you aren't satisfied with this scheme, you can redefine the
+following function reference for a better control over the complex
+format formatting:
+
+ -- Function Reference: $complex_format_text complex_format
+ $format_name $preformatted_text
+ $FORMAT_NAME is the complex format name, $PREFORMATTED_TEXT is the
+ text allready formatted as described in *Note Paragraph and
+ preformatted region::. This function returns the whole complex
+ format.
+
+
+File: texi2html.info, Node: Lists tables, Next: Definitions, Prev: Complex formats, Up: Customizing HTML
+
+7.11 Customizing the formatting of lists and tables
+===================================================
+
+The formatting of lists and tables is done at two levels:
+ * At the level of the whole region (table or list),
+
+ * At the level of the individual items, rows or cells of the list or
+ table.
+
+* Menu:
+
+* Table and list items::
+* Whole table list::
+
+
+File: texi2html.info, Node: Table and list items, Next: Whole table list, Up: Lists tables
+
+7.11.1 Formatting individual table and list items
+-------------------------------------------------
+
+In texinfo it is possible to give `@itemize' or table command (hereafter
+called a "format command") a "formatting command". For example
+`@minus' is the formatting command here:
+ @table @minus
+
+ The default is to apply the command to the text item, however it is
+possible to avoid it. The hash `%special_list_commands' has an entry
+for each of the format command. Each of these entries is a hash
+reference. If a formatting command is a key of the hash reference, then
+the formatting command is not applied to the text item for that format
+command. For example, if we have:
+
+ $special_list_commands{'itemize'} = { 'bullet' => '' };
+
+ and we have the following `@itemize':
+ @itemize @bullet
+ @item an item
+ @end itemize
+
+ then `@bullet' will not be applied to `an item'.
+
+_lists_
+ The items of lists are formatted using the following function
+ reference:
+
+ -- Function Reference: $list_item list_item $text $format
+ $command $formatted_command $item_number
+ $enumerate_style $number
+ This function formats the text between `@item' commands. $TEXT
+ is the text corresponding with the item. $FORMAT is the type
+ of format, `itemize' or `enumerate'. $COMMAND is the
+ formatting command given in argument to `@itemize',
+ $FORMATTED_COMMAND is this command formatted if it is a
+ leading command, like `@minus'.
+
+ If the $FORMAT is an enumerate, $ITEM_NUMBER is the number of
+ the item in the list, $ENUMERATE_STYLE is the argument of the
+ enumerate, $NUMBER is the number or letter corresponding with
+ this item.
+
+_two column tables_
+ The two columns tables (`@table', `@ftable' and `@vtable'), items
+ are formatted using two function references, one for the first
+ line located on the `@item' line corresponding with the first
+ column, the other for the text appearing on the following lines,
+ corresponding with the second column text.
+
+ -- Function Reference: $table_item table_item $item_text
+ $index_label_text $format $command $formatted_command
+ This function is used to format the text on the `@item' line.
+ $TEXT_ITEM is the text line. In case there is an index entry
+ associated with the `@item' (as with `@ftable' and
+ `@vtable'), $INDEX_LABEL_TEXT is the text inserted at the
+ place where an index entry appears. *Note Index entry place::.
+ $FORMAT is the type of format, `table', `ftable' or `vtable'.
+ $COMMAND is the formatting command given in argument to the
+ table format command, $FORMATTED_COMMAND is this command
+ formatted if it is a leading command, like `@minus'.
+
+ -- Function Reference: $table_line table_line $text
+ This function is used to format the text on the lines
+ following the `@item' line. $TEXT is the corresponding text.
+
+_multitable_
+ The multitable elements formatting is controlled by the functions
+ associated with two function references. One for a cell, and the
+ other for a row.
+
+ -- Function Reference: $multitable_cell cell $text
+ This function is used to format the text of a multitable
+ cell, the text following a `@item' or a `@tab'. $TEXT is the
+ corresponding text.
+
+ -- Function Reference: $multitable_row row $text $item_command
+ This function is used to format a multitable row. $TEXT is
+ the row text, with cells allready formatted with the `$cell'
+ function reference. $ITEM_COMMAND is the command used to
+ introduce the row, such that it is possible to distinguish
+ between `@item' and `@headitem'.
+
+
+File: texi2html.info, Node: Whole table list, Prev: Table and list items, Up: Lists tables
+
+7.11.2 Formatting of a whole table or list
+------------------------------------------
+
+If the Texinfo command is a key of the `%format_map', the associated
+value is used to specify the formatting of the construct, otherwise a
+function is called. The value in `%format_map' associated with a
+command is interpreted similarly with values associated with more
+simpler commands:
+
+ * If the text is a word, it is considered to be an HTML element
+ name, and the whole table or list is enclosed between the element
+ opening and the element closing.
+
+ * If the text is a word followed by some text, the word and is
+ interpreted as above, and the text is considered to be the
+ attributes text of the element.
+
+ * If the text is empty nothing is added to the text.
+
+ In case the `%format_map' isn't used, a function reference called
+`$table_list' should be redefined, the associated function will be
+called each time a command isn't found in `%format_map'.
+
+ -- Function Reference: $whole_table_list table_list $command $text
+ $COMMAND is the Texinfo command name, $TEXT is the formatted items.
+
+ If you still want to use `%format_map' but differently from the
+default, it is possible to redefine the following function reference:
+
+ -- Function Reference: $whole_table_list format $command $format $text
+ $COMMAND is the @-command, $FORMAT is the entry associated with
+ $COMMAND in `%format_map'. $TEXT is the formatted items.
+
+
+File: texi2html.info, Node: Definitions, Next: Headings, Prev: Lists tables, Up: Customizing HTML
+
+7.12 Definition commands formatting
+===================================
+
+The formatting of definition commands is controlled by a hash and four
+functions. The hash describes how the text on the definition line is
+interpreted, the functions control the formatting of the definition line
+and the definition function text.
+
+* Menu:
+
+* Definition line::
+* Definition formatting::
+
+
+File: texi2html.info, Node: Definition line, Next: Definition formatting, Up: Definitions
+
+7.12.1 Customizing the interpretation of a definition line
+----------------------------------------------------------
+
+The keys of the hash `%def_map' are definition command names. There
+are two types of entries:
+
+ * If the command is a shortcut for another definition command the
+ value is a text and the definition command is replaced by the text.
+
+ For example if we have:
+ $def_map{'deftruc'} = '@defvr {A truc}';
+
+ and a line like
+ @deftruc var
+
+ the line will be transformed in
+ @defvr {A truc} var
+
+ * If the command isn't a shortcut, it is associated with an array
+ reference. The first element is `f', `v' or `t' corresponding with
+ the index type (`f' for function, `v' for variable, `t' for type).
+
+ The remaining of the array describes how to interpret the text
+ following the definition command on the definition command line.
+ The entry item specify what corresponds with the next bracketed
+ item or word. Currently the possibilities are `category', `name',
+ `type', `class' and `arg'.
+
+ For example if we have
+ def_map{'defvr'} = [ 'v', 'category', 'name' ];
+
+ The first bracketed item following `@defvr' is considered to be
+ the category and the next one is the name. The index associated
+ with the definition line is the variables index.
+
+
+File: texi2html.info, Node: Definition formatting, Prev: Definition line, Up: Definitions
+
+7.12.2 Customization of the definition formatting
+-------------------------------------------------
+
+Four functions are used when formatting a definition command:
+
+category name
+ -- Function Reference: $category definition_category
+ $category_or_name $class $style
+ This function precise a category or an index entry name
+ associating a class $CLASS (if given) with $CATEGORY_OR_NAME.
+ The $STYLE of the definition may be `f', for function, `v',
+ for variable or `t', for type.
+
+formatting of the definition line
+ -- Function Reference: $line def_line $category $name $type
+ $arguments $index_label
+ This function formats the definition line. $CATEGORY is the
+ category formatted with `$definition_category', $NAME, $TYPE
+ and ARGUMENTS are the element of the definition line.
+ $INDEX_LABEL is the text inserted at the place where an index
+ entry appears. *Note Index entry place::.
+
+definition text
+ -- Function Reference: $definition_text def_item $text
+ This function formats the definition text, $TEXT.
+
+the whole definition
+ -- Function Reference: $definition def $text
+ This function formats the whole definition. The definition
+ line and text formatted by the above functions are in $TEXT.
+
+
+
+File: texi2html.info, Node: Headings, Next: Special regions, Prev: Definitions, Up: Customizing HTML
+
+7.13 Customizing headings formatting
+====================================
+
+A function controls the formatting of sectioning element headings, with
+the corresponding function reference:
+
+ -- Function Reference: $heading_text heading \%element_reference
+ The \%ELEMENT_REFERENCE is a reference on a hash corresponding
+ with the sectioning element. The following keys are of interest:
+ `text'
+ The heading text
+
+ `name'
+ The heading text without section number
+
+ `node'
+ true if the sectioning element is a node without associated
+ structuring command
+
+ `level'
+ The level of the element in the document tree. `0' is for
+ `@top', `1' for `@chapter' and so on
+
+ `tag_level'
+ the sectioning element name, with `@raisesections' and
+ `@lowersections' taken into account
+
+
+File: texi2html.info, Node: Special regions, Next: Menus, Prev: Headings, Up: Customizing HTML
+
+7.14 Formatting of special regions (`@verbatim', `@cartouche', `@quotation')
+============================================================================
+
+Regions corresponding with raw text, like `@verbatim', `@html' or
+`@tex' are formatted according to the following function reference:
+
+ -- Function Reference: $raw_region raw $command $text
+ $COMMAND is the command name, $TEXT is the raw text.
+
+ If LaTeX2HTML is used, `@tex' regions are handled differently, from
+within the main program.
+
+ The `@cartouche' command formatting is controlled by the function
+reference:
+
+ -- Function Reference: $cartouche cartouche $text
+ $TEXT is the text appearing within the cartouche.
+
+ The formatting of `@quotation' is controlled by two function
+references. The first one is usefull in case the `@quotation' has an
+argument, as it allows to prepend a string to the quotation text:
+
+ -- Function Reference: $prepended_string quotation_prepend_text $style
+ $text
+ $STYLE is the first argument of the `@quotation' if there are two
+ arguments. $TEXT is the second argument or the first if there is
+ one argument. There are still @-commands in these strings. This
+ function can return a string which will be prepended to the
+ quotation text.
+
+ The whole quotation is formatted by:
+
+ -- Function Reference: $quotation quotation $quotation_text
+ $argument_text $argument_style_texi $argument_style_id
+ $QUOTATION_TEXT is the quotation text, formatted, with the text
+ prepended by the function above. $ARGUMENT_TEXT is the second
+ argument of the `@quotation' or the first if there is one
+ argument, formatted. The other arguments are defiend if there are
+ two arguments for the `@quotation', $ARGUMENT_STYLE_TEXI is this
+ argument, with @-commands, and $ARGUMENT_STYLE_ID is this
+ argument transformed in an identifier which can be used as an XML
+ identifier.
+
+
+File: texi2html.info, Node: Menus, Next: Indices, Prev: Special regions, Up: Customizing HTML
+
+7.15 Menu formatting
+====================
+
+To understand how the formatting of menus is controlled, the different
+parts of a menu are first described, then how to control the formatting
+of each of these parts.
+
+* Menu:
+
+* Menu parts:: A menu consists in menu entry and menu
+ comments
+* Menu formatting::
+
+
+File: texi2html.info, Node: Menu parts, Next: Menu formatting, Up: Menus
+
+7.15.1 The structure of a menu
+------------------------------
+
+In `texi2html', a menu is considered to be composed of 2 parts, the
+"menu entries" and the "menu comments". Menu entries are further
+divided in an "entry link" and optionnaly an "entry description". The
+entry link consists in a node name and an optionnal menu entry name.
+
+ A menu entry begins with `*' at the beginning of the line. It begins
+with the entry link, followed by the description. The description spans
+until the next menu entry, or some text begining at the first character
+of a line or an empty line, not contained within a command block which
+begun in the description. An empty line or a line with text at the
+first character starts a menu comment, which spans until the next menu
+entry.
+
+ Here is an illustration of these rules:
+
+ @menu
+ * node name: entry name. description begins
+ description continues
+ * another menu entry::
+ description begins
+ description continues
+
+ A menu comment, after an empty line
+
+ * node:: description begins
+ A menu comment. The line starts at the first character
+
+ * last entry:: description begins _text
+ of the description, even if the line begins at the first character,
+ because we are in @emph_.
+ @end menu
+
+
+File: texi2html.info, Node: Menu formatting, Prev: Menu parts, Up: Menus
+
+7.15.2 The formatting of the different menu components
+------------------------------------------------------
+
+In the default case, the name of the section corresponding with the
+node is used instead of the node name. If `$NODE_NAME_IN_MENU' is true,
+however, node names are used. If `$AVOID_MENU_REDUNDANCY' is true and
+menu entry equal menu description the description isn't printed. This
+is the default. Likewise, if node or section name equal entry name, do
+not print entry name.
+
+ A symbol, `$MENU_SYMBOL' is put at the beginning of menu entries
+when the node name is used. The default is `&bull;'. If `$UNNUMBERED_SYMBOL_IN_MENU'
+is true it is also put at the beginning of unnumbered section names.
+This is not done by default.
+
+ The menu comments are considered to be preformatted text. The style
+associated with this preformatted text is determined by `$MENU_PRE_STYLE'.
+Default is `font-family: serif'. The css class associated with menu
+comments is `menu-comments'.
+
+ Three function references are associated with the formatting of the
+different parts of a menu:
+
+ -- Function Reference: $link menu_link $section \%state $href $node
+ $name $ending
+ $SECTION is the section name corresponding with the link, $HREF is
+ the link hypertextual reference. $HREF may be absent. \%STATE
+ holds informations about the current context. The only key which
+ could be of interest is `preformatted', true if the context is a
+ preformatted context. *Note Three contexts::. $NODE is the node
+ name, $NAME is the name of the node, and $ENDING is the text
+ ending the link entry.
+
+ -- Function Reference: $description menu_description $description_text
+ \%state
+ $DESCRIPTION_TEXT is the text of the menu description. \%STATE
+ should be used similarly than for the menu link.
+
+ -- Function Reference: $menu_comment menu_comment $text
+ $TEXT is the text of the menu comment. It is in a preformatted
+ environment.
+
+ The following function reference controls the formatting of a wole
+menu:
+
+ -- Function Reference: $menu menu $menu_components_text
+ $MENU_COMPONENTS_TEXT is the formatted menu components text,
+ obtained as explained above.
+
+ The last function reference corresponds with a special case. It is
+used when a menu entry appears within another block command, to avoid
+the possibilities of invalid HTML production. In that case the menu
+description and menu comments are not formatted specially, but treated
+like normal text.
+
+ -- Function Reference: $link simple_menu_link $link_text $href $node
+ $name $ending
+ $LINK_TEXT is the text corresponding with the link name, $HREF is
+ the link hypertextual reference. $NODE is the node name, $NAME is
+ the name of the node, and $ENDING is the text ending the link
+ entry.
+
+
+File: texi2html.info, Node: Indices, Next: Floats and lists of floats, Prev: Menus, Up: Customizing HTML
+
+7.16 Indices formatting
+=======================
+
+Two different things needs to be handled for indices formatting, the
+place where the index term appears, the index entry, and the index list
+itself. The indexing commands like `@cindex' determines where index
+entries appear, and the index list is printed with a `@printindex'
+command.
+
+* Menu:
+
+* Index entry place:: Index entries in the main document are
+ targets for hypertext references
+* Index list:: Customizing the formatting of the index list
+
+
+File: texi2html.info, Node: Index entry place, Next: Index list, Up: Indices
+
+7.16.1 Formatting of index entries
+----------------------------------
+
+Index entry places in the main text may be the target for hypertext
+references. Their formatting is controlled by the function associated
+with the following function reference:
+
+ -- Function Reference: $target index_entry_label $identifier
+ $preformatted
+ $IDENTIFIER should be used to create a target for links (typically
+ associated with a name or id attribute in HTML). $PREFORMATTED is
+ true if the index entry appeared in preformatted text.
+
+
+File: texi2html.info, Node: Index list, Prev: Index entry place, Up: Indices
+
+7.16.2 Customizing the formatting of index lists
+------------------------------------------------
+
+The index entries are sorted alphabetically. A whole index list is
+considered to be composed of letter entries. A letter entry is composed
+by all the index entries beginning with that letter. A letter may be a
+non alphabetical character, but we call it letter here.
+
+ An index summary appears at the beginning and at the end of an index
+list, and should be used to jump directly to a letter entry. Indices
+lists may be split across pages, thus the different letters may appear
+on different files. The number of index entries appearing on each page
+is determined by a variable `$SPLIT_INDEX' if set. The default is to
+split indices after 100 entries.
+
+ The formatting of all these elements is controlled by the following
+function references:
+
+_formatting of a letter in a summary_
+ -- Function Reference: $letter summary_letter $letter $file
+ $identifier
+ This function is used to format a letter appearing in a
+ summary, refering to a letter entry in the index list.
+ $LETTER is the letter. $FILE is the file name where the letter
+ entry appears. More precisely, it is empty when the letter
+ entry is on the same page than the summary, it contains the
+ file name when the index page is split accross page.
+ $IDENTIFIER is an identifier for the target letter entry.
+
+_formatting of a summary_
+ -- Function Reference: $summary index_summary
+ \@alphabetical_letters \@nonalphabetical_letters
+ \@ALPHABETICAL_LETTERS and \@NONALPHABETICAL_LETTERS contain
+ the formatted summary letters, formatted with the above
+ function.
+
+_formatting of an index entry_
+ -- Function Reference: $entry index_entry $entry_href $entry_text
+ $section_href $section_heading
+ $ENTRY_HREF is a reference to the place where the index entry
+ appeared, $ENTRY_TEXT is the corresponding text. $SECTION_HREF
+ is a reference to the beginning of the sectioning element
+ containing the index entry, $SECTION_HEADING is the heading
+ of the element.
+
+_formatting of letter entry_
+ -- Function Reference: $letter_entry index_letter $letter
+ $identifier $index_entries_text
+ This function formats a letter entry, consisting in all the
+ index entries beginning with this letter. $LETTER is the
+ letter, $IDENTIFIER should be used to create a target for
+ links (typically links from summaries), and
+ $INDEX_ENTRIES_TEXT is the text of the index entries
+ formatted as described above.
+
+_formatting of whole index_
+ -- Function Reference: $index print_index $index_text $index_name
+ $INDEX_TEXT is the text of all the index entries grouped by
+ letter appearing in that page formatted as above. INDEX_NAME
+ is the name of the index, the argument of `@printindex'.
+
+
+File: texi2html.info, Node: Floats and lists of floats, Next: Footnotes, Prev: Indices, Up: Customizing HTML
+
+7.17 Floats and lists of floats
+===============================
+
+Floats appear in the `@float' environment, optionaly with a style and a
+label, and with optionnal `@caption' and `@shortcaption'. Their list
+appear after a `@listoffloats'.
+
+ A hash reference is associated with each float, it is available in
+some formatting functions. The keys are:
+`caption_texi'
+`shortcaption_texi'
+ A reference on an array containing the caption or shortcaption
+ lines, unformatted.
+
+`style_texi'
+ The style with texi @-commands.
+
+`style_id'
+ The unique identifier associated with the style.
+
+`nr'
+ The number with the same conventions than makeinfo (use the
+ chapter number a dot and then the number of the float of that
+ style in the chapter, or an absolute number if in unnumbered).
+
+`chapter_nr'
+ The number of the chapter containing the float.
+
+`nr_in_chapter'
+ The number of the float in the chapter.
+
+`absolut_nr'
+ The number of the float in the document.
+
+`texi'
+ The label with @-commands.
+
+`id'
+ The unique identifier associated with the label. Usefull to make
+ an anchor or a reference.
+
+`element'
+ A reference on a structure representing the element the float
+ appear in.
+
+* Menu:
+
+* Floats:: Formatting of floats
+* Lists of floats:: Formatting the lists of floats
+
+
+File: texi2html.info, Node: Floats, Next: Lists of floats, Up: Floats and lists of floats
+
+7.17.1 Formatting a float
+-------------------------
+
+First there is an occasion to construct a texinfo text for the caption,
+using the caption texinfo lines and the informations in the float
+structure. The returned lines will be formatted in the main program. A
+function reference is used here:
+
+ -- Function Reference: (\@caption_lines_returned,
+\@shortcaption_lines_returned) caption_shortcaption \%float
+ \@caption_lines \@shortcaption_lines
+ \%FLOAT is the structure defined above. \@CAPTION_LINES and
+ \@SHORTCAPTION_LINES are references on arrays containing the
+ texinfo lines for caption and short caption.
+ \@CAPTION_LINES_RETURNED and \@SHORTCAPTION_LINES_RETURNED are
+ references on an array containing the texinfo lines for the
+ caption and shortcaption.
+
+ Then the float is formatted with the following function reference:
+
+ -- Function Reference: $text float $float_text \%float $caption_text
+ $shortcaption_text
+ $FLOAT_TEXT is the text appearing within the `@float', formatted.
+ \%FLOAT is still the structure defined above. $CAPTION_TEXT and
+ $SHORTCAPTION_TEXT are the caption and short caption build with the
+ above function and formatted.
+
+
+File: texi2html.info, Node: Lists of floats, Prev: Floats, Up: Floats and lists of floats
+
+7.17.2 Formatting lists of floats
+---------------------------------
+
+A list of floats is introduced by `@listoffloats'. The argument of
+`@listoffloats' is the "style". First the style texinfo can be modified
+with the following function reference:
+
+ -- Function Reference: $style_texi_returned listoffloats_style
+ $style_texi
+ $STYLE_TEXI is the `@listoffloats' argument with texinfo
+ @-commands kept. It is possible to make changes to the $STYLE_TEXI
+ and return a modified string, still with @-commands. The modified
+ string is formatted in the main program.
+
+ After that, for each of the floats with that style, first there is a
+possibility to modify the float style and the float caption before they
+are formatted in the main program, with the following function
+references:
+
+ -- Function Reference: $float_style_texi_returned
+listoffloats_float_style $style_texi \%float
+ $STYLE_TEXI is the style, and \%FLOAT is the structure described
+ above. This function reference returns a style to be formatted in
+ the main program.
+
+ -- Function Reference: $caption_texi_returned listoffloats_caption
+ \%float
+ \%FLOAT is the structure described above. This function reference
+ returns a caption to be formatted in the main program.
+
+ Each entry is formatted by:
+
+ -- Function Reference: $listoffloats_entry listoffloats_entry
+ $style_texi \%float $float_style $caption $href
+ $STYLE_TEXI is the style with @-commands, $FLOAT_STYLE is the
+ style returned by the above function and formatted. $CAPTION is the
+ caption returned by the above function formatted. \%FLOAT is the
+ structure corresponding with the float, and $HREF is an href
+ pointing to the float location.
+
+ Lastly, the whole `@listoffloats' is formatted by:
+
+ -- Function Reference: $listoffloats listoffloats $style_texi $style
+ \@listoffloats_entries
+ $STYLE_TEXI is the style with @-commands, $STYLE is the style
+ returned by the above function and formatted. The array reference
+ \@LISTOFFLOATS_ENTRIES holds the entries formatted by the above
+ function.
+
+
+File: texi2html.info, Node: Footnotes, Next: Other and unknown commands, Prev: Floats and lists of floats, Up: Customizing HTML
+
+7.18 Customizing the footnotes formatting
+=========================================
+
+Each footnote is associated with a footnote entry. Several footnote
+entries are grouped in a footnote section. When a footnote appears, two
+things must be formatted: in the main text the place where the footnote
+appear and the footnote text.
+
+ Two functions, with corresponding function references control the
+formatting of the footnotes:
+
+ -- Function Reference: (\@lines $text_for_document) foot_line_and_ref
+ $number_in_doc $number_in_page $footnote_id $place_id
+ $document_file $footnote_file \@lines \%state
+ $NUMBER_IN_DOC is the footnote number in the whole document,
+ $NUMBER_IN_PAGE is the footnote number in the current page.
+ $FOOTNOTE_ID is an identifier for the footnote in the footnote text
+ which should be used to make target for references to that
+ footnote, while $PLACE_ID is an identifier for the location of the
+ footnote in the main document. Similarly, $DOCUMENT_FILE is the
+ file name of the file containing the text where the footnote
+ appears in the main document, while $FOOTNOTE_FILE is the file
+ name of the file where the footnote text appears.
+
+ \@LINES is a reference on an array containing the footnote text
+ lines, allready formatted. And \%STATE holds informations about
+ the context at the footnote place in the main document. As usual
+ the most usefull entry is `preformatted' which is true if the
+ footnote appears in a preformatted context.
+
+ This function returns a reference on an array, \@LINES containing
+ the updated footnote text for the footnote entry, and
+ $TEXT_FOR_DOCUMENT, the text appearing at the footnote place in
+ the main document, linking to the footnote entry.
+
+ The following function is only used when footnotes are at the bottom
+of a page and the document is split. For customization of the
+footnotes page in case they are on a separated page or section, *Note
+Special pages layout::. For the determination of the footnote
+locations, *Note Page layout options::.
+
+ -- Function Reference: foot_section \@footnotes_lines
+ This function formats a group of footnotes. \@FOOTNOTES_LINES is a
+ reference on an array holding the lines of all the footnote entries
+ formatted as explained above. This function modifies the reference.
+
+
+File: texi2html.info, Node: Other and unknown commands, Prev: Footnotes, Up: Customizing HTML
+
+7.19 Customizing other commands, and unknown commands
+=====================================================
+
+Many commands without braces are available in texinfo, sometimes with a
+specific syntax. For example we have `@sp', `@noindent',
+`@documentlanguage', `@oddheading', `@headings', `@shortcontents',
+`@shorttitlepage' or `@comment'. `texi2html' interprets some of these
+commands and some functions or variables are used for their formatting
+or to access their information. In the default case, however, most of
+these constructs are ignored.
+
+ It is possible to change how the things following these commands on
+the line are handled, what is considered to be an arg for those
+commands and it is also possible to keep them instead of discarding
+them such that it is possible to handle them specially, with the same
+function than the one used for unknown commands.
+
+ Those special commands without braces are the key of a hash: `%misc_command'.
+The associated value is a reference on a hash enabling to set the
+properties of these commands. The keys of this hash reference is the
+name of a property, the value is the value of the property. For example
+here we have `line' for the `arg' property for the `command' @-command.
+
+ $misc_command{'command'} = {'arg' => 'line', 'skip' => 'space'};
+
+ The properties and possible values are:
+
+`skip'
+ This property enables to set what is skipped after the command
+ arguments. Here are the possible values:
+ `line'
+ The remaining of the line is skipped.
+
+ `space'
+ Spaces are skipped but not newline.
+
+ `whitespace'
+ Spaces are skipped
+
+ `linewhitespace'
+ Spaces are skipped if there are only spaces remaining on the
+ line.
+
+ `linespace'
+ Spaces are skipped, but not newline if there are only spaces
+ remaining on the line
+
+`arg'
+ If the associated value is `line' the line is considered to be the
+ argument. If it is a number it is the number of args (separated by
+ spaces).
+
+`texi'
+ If true the arguments are considered to real texinfo, therefore
+ `@value' and `@macro' are expanded.
+
+`keep'
+ If true the args and the macro are kept, otherwise they are
+ discarded. The defaut is to have `keep' undef for all the
+ commands. If `keep' is true for `@verbatiminclude' the default
+ action for this macro isn't done.
+
+ Commands which don't appear in the hashes `%simple_map', `%simple_map_pre', `%simple_map_texi'
+and `%misc_command', or that appear in `%misc_command' but with `keep'
+true are processed by the following function reference:
+
+ -- Function Reference: ($result_line, $result, $result_text, $message)
+unknown $command $line
+ $COMMAND is the @-command, $LINE is the line following the
+ $COMMAND. $RESULT is a boolean. If it is true then the other return
+ values are taken into account otherwise the default actions are
+ used. In case $RESULT is true, $RESULT_LINE is the new line to be
+ processed further, $RESULT_TEXT is the resulting formatted text
+ and $MESSAGE, if defined is a message outputted to the output with
+ line number added by `texi2html'.
+
+ Commands with braces not specified above nor in `%style_map', `%style_map_pre'
+and `%style_map_texi' are processed by the following function reference
+
+ -- Function Reference: ($result, $result_text, $message) unknown_style
+ $command $text
+ $COMMAND is the @-command, $TEXT is the text appearing within the
+ braces (allready formatted). $RESULT is a boolean. If it is true
+ then the other return values are taken into account otherwise the
+ default actions are used. In case $RESULT is true, $RESULT_TEXT is
+ the resulting formatted text and $MESSAGE, if defined is a message
+ outputted to the output with line number added by `texi2html'.
+
+
+File: texi2html.info, Node: Internationalization, Next: Indexop, Prev: Customizing HTML, Up: Top
+
+Appendix A Internationalization
+*******************************
+
+The strings written in the document are selected based on the document
+language. This can be used to customize the strings, as described in
+*Note Strings::. This also enables translation of the strings.
+
+* Menu:
+
+* Translating strings::
+* Adding new strings::
+
+
+File: texi2html.info, Node: Translating strings, Next: Adding new strings, Up: Internationalization
+
+A.1 Translating strings
+=======================
+
+If the language is allready supported, then there will be a file in the
+`i18n' directory with name the two-letter ISO-639 language code. In
+that case you can enhance the translations by editing this file. There
+is a `$LANGUAGES->{'LANGUAGE'}' hash in that file. The keys are the
+english strings, in `''', the values (in `''' after `=>') are the
+translations. When a string contains a `%' followed by `{' NAME `}' it
+means that the string will be expanded by `texi2html'. For an example,
+see *Note Strings::.
+
+ After that you should run the command `./manage_i18n.pl all' in the
+top directory, it should merge your file with the existing files in
+`translations.pl', which is incorporated to the `texi2html' script by
+`./configure'.
+
+ If the language isn't currently supported, copy the `en' file in
+`i18n' to a file with name the two-letter ISO-639 language code of your
+language and then add your translations to the strings. You could also
+add your two-letter language code in the `manage_i18n.pl' file in the
+`@known_languages' array.
+
+ After that you should similarly run the command `./manage_i18n.pl
+all' in the top directory.
+
+ Obsoleted strings are not removed from the files, they are still
+present in the `$T2H_OBSOLETE_STRINGS->{'LANGUAGE'}' hash in case the
+string is reused later.
+
+ If you made change to strings specified in installed files (*note
+Installation::) you will have to reinstall them otherwise the
+installated files will take precedence (*note Using init files::).
+
+
+File: texi2html.info, Node: Adding new strings, Prev: Translating strings, Up: Internationalization
+
+A.2 Adding new strings written to document
+==========================================
+
+If you need to write strings, for example the new string A STRING to
+the resulting document, call `&$I('a string')'. Use simple quotes. If
+you want to substitute a value in the string put `%{STRING_VALUE}', in
+the string, and give a second argument to `&$I', a hash reference with
+key STRING_VALUE and value the what you want to substitute. Here is an
+example:
+
+ return &$I('%{name} of %{class}', { 'name' => $name, 'class' => $class });
+
+ In that case `%{name}' is substituted by `$name' in the translated
+string.
+
+ After that you should run the command `./manage_i18n.pl all' in the
+top directory, it should add your new strings to all the files in the
+`i18n' directory.
+
+
+File: texi2html.info, Node: Indexop, Next: Indexvr, Prev: Internationalization, Up: Top
+
+Appendix B Command Line Option Index
+************************************
+
+
+* Menu:
+
+* css-include=FILE: Style options. (line 24)
+* def-table: Style options. (line 39)
+* doctype=DTD: Style options. (line 8)
+* DVAR: Texinfo related options.
+ (line 14)
+* frames: Page layout options. (line 6)
+* frameset-doctype: Style options. (line 10)
+* frameset-doctype=DTD: Style options. (line 9)
+* html-xref-prefix=PATH: Style options. (line 35)
+* IDIR: Texinfo related options.
+ (line 25)
+* if<region>: Expansion. (line 10)
+* include-css: css. (line 22)
+* init-file: Using init files. (line 13)
+* iso: Style options. (line 19)
+* l2h: Expanding TeX regions.
+ (line 8)
+* l2h-file: Expanding TeX regions.
+ (line 21)
+* l2h-l2h=PROGRAM: Expanding TeX regions.
+ (line 13)
+* l2h-tmp: Expanding TeX regions.
+ (line 17)
+* lang <1>: Strings. (line 9)
+* lang: Using init files. (line 22)
+* lang=LANG: Texinfo related options.
+ (line 9)
+* menu: Invoking texi2html. (line 18)
+* no-if<region>: Expansion. (line 12)
+* node-files: Output files. (line 61)
+* nomenu <1>: Expansion. (line 17)
+* nomenu: Invoking texi2html. (line 18)
+* nosec-nav: Page layout options. (line 11)
+* number: Style options. (line 48)
+* output: Output files. (line 35)
+* PDIR: Texinfo related options.
+ (line 20)
+* pkgdatadir=dir: Using init files. (line 8)
+* pkgdatadir=DIR: Installation. (line 46)
+* prefix: Output files. (line 39)
+* separated-footnotes: Page layout options. (line 15)
+* short-ext: Output files. (line 40)
+* short-ref: Style options. (line 44)
+* split: Splitting output. (line 8)
+* sysconfdir=dir: Using init files. (line 10)
+* toc-file: Output files. (line 43)
+* toc-links: Style options. (line 52)
+* top-file: Output files. (line 41)
+* use-nodes: Splitting output. (line 38)
+* UVAR: Texinfo related options.
+ (line 17)
+
+
+File: texi2html.info, Node: Indexvr, Next: Indexcp, Prev: Indexop, Up: Top
+
+Appendix C Variable Index
+*************************
+
+
+* Menu:
+
+* $AFTER_BODY_OPEN: Customizing header. (line 8)
+* $AFTER_OVERVIEW: Contents and Overview text.
+ (line 21)
+* $AFTER_TOC_LINES: Contents and Overview text.
+ (line 28)
+* $anchor <1>: Anchors images and spaces.
+ (line 10)
+* $anchor: Redefining functions. (line 15)
+* $AVOID_MENU_REDUNDANCY: Menu formatting. (line 8)
+* $BEFORE_OVERVIEW: Contents and Overview text.
+ (line 17)
+* $BEFORE_TOC_LINES: Contents and Overview text.
+ (line 25)
+* $BIG_RULE: The page layout. (line 12)
+* $BODYTEXT <1>: Customizing header. (line 22)
+* $BODYTEXT: Output initialization.
+ (line 20)
+* $cell: Table and list items. (line 81)
+* $CLOSE_QUOTE_SYMBOL <1>: String interface. (line 8)
+* $CLOSE_QUOTE_SYMBOL: Hash reference interface.
+ (line 65)
+* $complex_format_map: Complex formats. (line 12)
+* $CSS_LINES: css. (line 10)
+* $DEF_TABLE: Style options. (line 41)
+* $DEFAULT_RULE: The page layout. (line 11)
+* $definition_category: Definition formatting.
+ (line 20)
+* $DO_CONTENTS: Contents and Overview text.
+ (line 9)
+* $DO_SCONTENTS: Contents and Overview text.
+ (line 13)
+* $DOCTYPE: Style options. (line 12)
+* $DOCUMENT_DESCRIPTION: Customizing header. (line 16)
+* $DOCUMENT_ENCODING: Customizing header. (line 11)
+* $ENCODING: Customizing header. (line 14)
+* $EXTENSION: File names. (line 8)
+* $EXTERNAL_DIR: Style options. (line 37)
+* $EXTRA_HEAD: Customizing header. (line 7)
+* $FRAMES: Page layout options. (line 9)
+* $FRAMESET_DOCTYPE: Style options. (line 12)
+* $ICONS: General purpose variables.
+ (line 13)
+* $IDX_SUMMARY: External index files. (line 9)
+* $INDEX_CHAPTER: The page layout. (line 66)
+* $L2H_L2H: Expanding TeX regions.
+ (line 14)
+* $L2H_TMP: Expanding TeX regions.
+ (line 18)
+* $LANG <1>: Strings. (line 9)
+* $LANG <2>: Using init files. (line 22)
+* $LANG: Texinfo related options.
+ (line 11)
+* $LANGUAGES <1>: Translating strings. (line 6)
+* $LANGUAGES: Strings. (line 13)
+* $MENU_PRE_STYLE: Menu formatting. (line 19)
+* $MENU_SYMBOL: Menu formatting. (line 13)
+* $MIDDLE_RULE: The page layout. (line 11)
+* $NODE_FILES <1>: File names. (line 9)
+* $NODE_FILES: Output files. (line 62)
+* $NODE_NAME_IN_MENU: Menu formatting. (line 7)
+* $NUMBER_SECTIONS: Style options. (line 49)
+* $OPEN_QUOTE_SYMBOL <1>: String interface. (line 8)
+* $OPEN_QUOTE_SYMBOL: Hash reference interface.
+ (line 65)
+* $OUT: Output files. (line 35)
+* $PRE_BODY_CLOSE: Customizing footer. (line 7)
+* $PREFIX: Output files. (line 39)
+* $print_chapter_footer: Customizing footer. (line 20)
+* $print_chapter_header: Customizing header. (line 38)
+* $print_foot_navigation: Customizing footer. (line 9)
+* $print_head_navigation: Customizing header. (line 26)
+* $print_misc: Special pages layout. (line 33)
+* $print_misc_footer: Special pages layout. (line 34)
+* $print_misc_header: Special pages layout. (line 33)
+* $print_page_foot: Customizing footer. (line 23)
+* $print_page_head: Customizing header. (line 37)
+* $print_section_footer: Customizing footer. (line 21)
+* $print_section_header: Customizing header. (line 40)
+* $print_Top: Special pages layout. (line 31)
+* $print_Top_footer: Special pages layout. (line 32)
+* $print_Top_header: Special pages layout. (line 31)
+* $SECTION_NAVIGATION <1>: General purpose variables.
+ (line 16)
+* $SECTION_NAVIGATION: Page layout options. (line 12)
+* $SEPARATED_FOOTNOTES: Page layout options. (line 15)
+* $SHORT_REF: Style options. (line 46)
+* $SHORTEXTN: Output files. (line 41)
+* $SHOW_MENU: Expansion. (line 18)
+* $SMALL_RULE: The page layout. (line 11)
+* $SPLIT: Splitting output. (line 9)
+* $SPLIT_INDEX: Index list. (line 15)
+* $T2H_OBSOLETE_STRINGS: Translating strings. (line 6)
+* $Texi2HTML::NODE{Next}: Button specifications.
+ (line 59)
+* $Texi2HTML::OVERVIEW <1>: Contents and Overview text.
+ (line 77)
+* $Texi2HTML::OVERVIEW: Global informations. (line 89)
+* $Texi2HTML::THIS_HEADER: Global informations. (line 85)
+* $Texi2HTML::THIS_SECTION <1>: Global functions. (line 12)
+* $Texi2HTML::THIS_SECTION: Global informations. (line 82)
+* $Texi2HTML::TOC_LINES <1>: Contents and Overview text.
+ (line 77)
+* $Texi2HTML::TOC_LINES: Global informations. (line 92)
+* $TOC_FILE: Output files. (line 44)
+* $TOC_LINKS: Style options. (line 54)
+* $TOC_LIST_ATTRIBUTE: Contents and Overview text.
+ (line 35)
+* $TOC_LIST_STYLE: Contents and Overview text.
+ (line 31)
+* $TOP_FILE: Output files. (line 42)
+* $TOP_HEADING: The page layout. (line 47)
+* $UNNUMBERED_SYMBOL_IN_MENU: Menu formatting. (line 14)
+* $USE_ISO: Style options. (line 21)
+* $USE_NODES: Splitting output. (line 39)
+* $VERTICAL_HEAD_NAVIGATION: General purpose variables.
+ (line 9)
+* $WORDS_IN_PAGE <1>: Global functions. (line 14)
+* $WORDS_IN_PAGE: Button specifications.
+ (line 21)
+* %accent_map: Style and accent commands.
+ (line 26)
+* %ACTIVE_ICONS: Button specifications.
+ (line 71)
+* %BUTTONS_GOTO: Output initialization.
+ (line 21)
+* %css_map: css. (line 7)
+* %def_map: Definition line. (line 6)
+* %format_in_paragraph: Avoiding paragraphs. (line 8)
+* %format_map: Whole table list. (line 6)
+* %main::value: Global informations. (line 67)
+* %misc_command: Other and unknown commands.
+ (line 20)
+* %NAVIGATION_TEXT <1>: Output initialization.
+ (line 21)
+* %NAVIGATION_TEXT: Button specifications.
+ (line 64)
+* %paragraph_style: Alignement commands. (line 8)
+* %PASSIVE_ICONS: Button specifications.
+ (line 72)
+* %pre_map: Commands without argument.
+ (line 23)
+* %simple_map <1>: Other and unknown commands.
+ (line 65)
+* %simple_map: Commands without argument.
+ (line 22)
+* %simple_map_pre <1>: Other and unknown commands.
+ (line 65)
+* %simple_map_pre: Commands without argument.
+ (line 22)
+* %simple_map_texi <1>: Other and unknown commands.
+ (line 65)
+* %simple_map_texi: Commands without argument.
+ (line 22)
+* %special_list_commands: Table and list items. (line 12)
+* %style_map <1>: Other and unknown commands.
+ (line 79)
+* %style_map: Style and accent commands.
+ (line 10)
+* %style_map_pre <1>: Other and unknown commands.
+ (line 79)
+* %style_map_pre: Style and accent commands.
+ (line 11)
+* %style_map_texi <1>: Other and unknown commands.
+ (line 80)
+* %style_map_texi: Style and accent commands.
+ (line 11)
+* %Texi2HTML::HREF: Elements hashes. (line 12)
+* %Texi2HTML::NAME: Elements hashes. (line 9)
+* %Texi2HTML::NO_TEXI: Elements hashes. (line 18)
+* %Texi2HTML::NODE: Elements hashes. (line 15)
+* %Texi2HTML::THISDOC: Global informations. (line 12)
+* %texi_map: Commands without argument.
+ (line 23)
+* %things_map: Commands without argument.
+ (line 23)
+* @CHAPTER_BUTTONS: Button specifications.
+ (line 27)
+* @CSS_FILES: Style options. (line 27)
+* @EXPAND: Expansion. (line 13)
+* @INCLUDE_DIRS: Texinfo related options.
+ (line 27)
+* @MISC_BUTTONS: Button specifications.
+ (line 32)
+* @NODE_FOOTER_BUTTONS: Button specifications.
+ (line 17)
+* @PREPEND_DIRS: Texinfo related options.
+ (line 22)
+* @SECTION_BUTTONS: Button specifications.
+ (line 10)
+* @SECTION_FOOTER_BUTTONS: Button specifications.
+ (line 16)
+
+
+File: texi2html.info, Node: Indexcp, Prev: Indexvr, Up: Top
+
+Appendix D Concept Index
+************************
+
+
+* Menu:
+
+* Avoid paragraph opening: Avoiding paragraphs. (line 6)
+* bug report: Top. (line 6)
+* centering: Alignement commands. (line 6)
+* complex format: Complex formats. (line 6)
+* Config: Using init files. (line 6)
+* configure: Installation. (line 6)
+* downloading texi2html source: Obtaining texi2html. (line 6)
+* examples of manuals: Overview. (line 6)
+* external manual: Reference to external manual.
+ (line 6)
+* flushing text: Alignement commands. (line 6)
+* i18n <1>: Translating strings. (line 6)
+* i18n: Strings. (line 6)
+* Installation: Installation. (line 6)
+* internationalization: Using init files. (line 6)
+* internationalized strings: Adding new strings. (line 6)
+* makeinfo: whytexi2html. (line 6)
+* manage_i18n.pl: Adding new strings. (line 6)
+* paragraph: Paragraph and preformatted formatting.
+ (line 6)
+* preformatted region: Paragraph and preformatted formatting.
+ (line 6)
+* reference: References. (line 6)
+* skipped command: Other and unknown commands.
+ (line 6)
+* source code for texi2html, downloading: Obtaining texi2html. (line 6)
+* texi2html source, downloading: Obtaining texi2html. (line 6)
+* Texinfo: Overview. (line 6)
+* text alignement: Alignement commands. (line 6)
+* Translation: Translating strings. (line 6)
+* unknown command: Other and unknown commands.
+ (line 6)
+
+
+
+Tag Table:
+Node: Top2959
+Node: Overview5587
+Node: whytexi2html7377
+Node: Obtaining texi2html9460
+Node: Installation9743
+Node: Invoking texi2html11933
+Node: Splitting output13113
+Node: Output files16447
+Node: Expansion19709
+Node: Texinfo related options20618
+Node: Page layout options21685
+Node: Style options22582
+Node: Expanding TeX regions24902
+Node: Using init files26048
+Node: Initialization files27937
+Node: Redefining functions29884
+Node: Function prototypes30950
+Node: Changing the page layout32026
+Node: The different pages33384
+Node: The page layout35102
+Ref: Element labels36386
+Node: Navigation panel38115
+Node: General purpose variables38778
+Node: Button specifications39555
+Node: Panel formatting function42891
+Node: Program variables43690
+Node: Elements hashes44400
+Node: Global informations44919
+Node: Global functions47439
+Node: Output initialization48184
+Node: Output finalization49647
+Node: css50124
+Node: Customizing header51196
+Node: Customizing section54009
+Node: Customizing footer55013
+Node: Special pages56893
+Node: Special pages content57227
+Node: Top element text57531
+Node: Contents and Overview text58820
+Node: Footnotes text61569
+Node: About text61877
+Node: Special pages layout63397
+Node: File names64598
+Node: External index files66479
+Node: Customizing HTML68609
+Node: Three contexts70331
+Node: Commands without argument71105
+Node: Style and accent commands72527
+Node: Hash reference interface74020
+Ref: Reference hash args74896
+Node: String interface77266
+Node: Define your own interface79251
+Node: Anchors images and spaces80971
+Node: Text83845
+Node: Strings85181
+Node: References86771
+Node: Reference to external manual86978
+Node: Internal reference88982
+Node: Alignement commands89918
+Node: Paragraph and preformatted region90882
+Node: Paragraph and preformatted formatting91218
+Node: Avoiding paragraphs94955
+Node: Complex formats95360
+Node: Lists tables97057
+Node: Table and list items97529
+Node: Whole table list101474
+Node: Definitions103028
+Node: Definition line103510
+Node: Definition formatting104963
+Node: Headings106415
+Node: Special regions107382
+Node: Menus109420
+Node: Menu parts109872
+Node: Menu formatting111301
+Node: Indices114208
+Node: Index entry place114885
+Node: Index list115508
+Node: Floats and lists of floats118613
+Node: Floats120098
+Node: Lists of floats121414
+Node: Footnotes123643
+Node: Other and unknown commands126158
+Node: Internationalization130107
+Node: Translating strings130537
+Node: Adding new strings132195
+Node: Indexop133072
+Node: Indexvr136916
+Node: Indexcp150701
+
+End Tag Table
diff --git a/Master/texmf/doc/info/texinfo.info b/Master/texmf/doc/info/texinfo.info
new file mode 100644
index 00000000000..babfcb3c651
--- /dev/null
+++ b/Master/texmf/doc/info/texinfo.info
@@ -0,0 +1,18328 @@
+This is texinfo.info, produced by makeinfo version 4.7 from texinfo.txi.
+
+ This manual is for GNU Texinfo (version 4.7, 9 April 2004), a
+documentation system that can produce both online information and a
+printed manual from a single source.
+
+ Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995, 1996, 1997, 1998,
+1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation License,
+ Version 1.1 or any later version published by the Free Software
+ Foundation; with no Invariant Sections, with the Front-Cover texts
+ being "A GNU Manual," and with the Back-Cover Texts as in (a)
+ below. A copy of the license is included in the section entitled
+ "GNU Free Documentation License."
+
+ (a) The FSF's Back-Cover Text is: "You have freedom to copy and
+ modify this GNU Manual, like GNU software. Copies published by
+ the Free Software Foundation raise funds for GNU development."
+
+INFO-DIR-SECTION Texinfo documentation system
+START-INFO-DIR-ENTRY
+* Texinfo: (texinfo). The GNU documentation format.
+* install-info: (texinfo)Invoking install-info. Update info/dir entries.
+* texi2dvi: (texinfo)Format with texi2dvi. Print Texinfo documents.
+* texindex: (texinfo)Format with tex/texindex. Sort Texinfo index files.
+* makeinfo: (texinfo)Invoking makeinfo. Translate Texinfo source.
+END-INFO-DIR-ENTRY
+
+
+File: texinfo.info, Node: Top, Next: Copying Conditions, Up: (dir)
+
+Texinfo
+*******
+
+This manual is for GNU Texinfo (version 4.7, 9 April 2004), a
+documentation system that can produce both online information and a
+printed manual from a single source.
+
+ Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995, 1996, 1997, 1998,
+1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation License,
+ Version 1.1 or any later version published by the Free Software
+ Foundation; with no Invariant Sections, with the Front-Cover texts
+ being "A GNU Manual," and with the Back-Cover Texts as in (a)
+ below. A copy of the license is included in the section entitled
+ "GNU Free Documentation License."
+
+ (a) The FSF's Back-Cover Text is: "You have freedom to copy and
+ modify this GNU Manual, like GNU software. Copies published by
+ the Free Software Foundation raise funds for GNU development."
+
+ The first part of this master menu lists the major nodes in this Info
+document, including the @-command and concept indices. The rest of the
+menu lists all the lower level nodes in the document.
+
+* Menu:
+
+* Copying Conditions:: Your rights.
+* Overview:: Texinfo in brief.
+* Texinfo Mode:: Using the GNU Emacs Texinfo mode.
+* Beginning a File:: What is at the beginning of a Texinfo file?
+* Ending a File:: What is at the end of a Texinfo file?
+* Structuring:: Creating chapters, sections, appendices, etc.
+* Nodes:: Writing nodes, the basic unit of Texinfo.
+* Menus:: Writing menus.
+* Cross References:: Writing cross references.
+* Marking Text:: Marking words and phrases as code,
+ keyboard input, meta-syntactic
+ variables, and the like.
+* Quotations and Examples:: Block quotations, examples, etc.
+* Lists and Tables:: Itemized or numbered lists, and tables.
+* Special Displays:: Floating figures and footnotes.
+* Indices:: Creating indices.
+* Insertions:: Inserting @-signs, braces, etc.
+* Breaks:: Forcing or preventing line and page breaks.
+* Definition Commands:: Describing functions and the like uniformly.
+* Conditionals:: Specifying text for only some output cases.
+* Internationalization:: Supporting languages other than English.
+* Defining New Texinfo Commands:: User-defined macros and aliases.
+* Hardcopy:: Output for paper, with TeX.
+* Creating and Installing Info Files:: Details on Info output.
+* Generating HTML:: Details on HTML output.
+
+* Command List:: All the Texinfo @-commands.
+* Tips:: Hints on how to write a Texinfo document.
+* Sample Texinfo Files:: Complete examples, including full texts.
+* Include Files:: How to incorporate other Texinfo files.
+* Headings:: How to write page headings and footings.
+* Catching Mistakes:: How to find formatting mistakes.
+* Copying This Manual:: The GNU Free Documentation License.
+* Command and Variable Index:: A menu containing commands and variables.
+* Concept Index:: A menu covering many topics.
+
+ --- The Detailed Node Listing ---
+
+Overview of Texinfo
+
+* Reporting Bugs:: Submitting effective bug reports.
+* Using Texinfo:: Create printed or online output.
+* Output Formats:: Overview of the supported output formats.
+* Info Files:: What is an Info file?
+* Printed Books:: Characteristics of a printed book or manual.
+* Formatting Commands:: @-commands are used for formatting.
+* Conventions:: General rules for writing a Texinfo file.
+* Comments:: Writing comments and ignored text in general.
+* Minimum:: What a Texinfo file must have.
+* Six Parts:: Usually, a Texinfo file has six parts.
+* Short Sample:: A short sample Texinfo file.
+* History:: Acknowledgements, contributors and genesis.
+
+Using Texinfo Mode
+
+* Texinfo Mode Overview:: How Texinfo mode can help you.
+* Emacs Editing:: Texinfo mode adds to GNU Emacs' general
+ purpose editing features.
+* Inserting:: How to insert frequently used @-commands.
+* Showing the Structure:: How to show the structure of a file.
+* Updating Nodes and Menus:: How to update or create new nodes and menus.
+* Info Formatting:: How to format for Info.
+* Printing:: How to format and print part or all of a file.
+* Texinfo Mode Summary:: Summary of all the Texinfo mode commands.
+
+Updating Nodes and Menus
+
+* Updating Commands:: Five major updating commands.
+* Updating Requirements:: How to structure a Texinfo file for
+ using the updating command.
+* Other Updating Commands:: How to indent descriptions, insert
+ missing nodes lines, and update
+ nodes in sequence.
+
+Beginning a Texinfo File
+
+* Sample Beginning:: A sample beginning for a Texinfo file.
+* Texinfo File Header:: The first lines.
+* Document Permissions:: Ensuring your manual is free.
+* Titlepage & Copyright Page:: Creating the title and copyright pages.
+* Contents:: How to create a table of contents.
+* The Top Node:: Creating the `Top' node and master menu.
+* Global Document Commands:: Affecting formatting throughout.
+* Software Copying Permissions:: Ensure that you and others continue to
+ have the right to use and share software.
+
+Texinfo File Header
+
+* First Line:: The first line of a Texinfo file.
+* Start of Header:: Formatting a region requires this.
+* setfilename:: Tell Info the name of the Info file.
+* settitle:: Create a title for the printed work.
+* End of Header:: Formatting a region requires this.
+
+Document Permissions
+
+* copying:: Declare the document's copying permissions.
+* insertcopying:: Where to insert the permissions.
+
+Title and Copyright Pages
+
+* titlepage:: Create a title for the printed document.
+* titlefont center sp:: The `@titlefont', `@center',
+ and `@sp' commands.
+* title subtitle author:: The `@title', `@subtitle',
+ and `@author' commands.
+* Copyright:: How to write the copyright notice and
+ include copying permissions.
+* end titlepage:: Turn on page headings after the title and
+ copyright pages.
+* headings on off:: An option for turning headings on and off
+ and double or single sided printing.
+
+The `Top' Node and Master Menu
+
+* Top Node Example::
+* Master Menu Parts::
+
+Global Document Commands
+
+* documentdescription:: Document summary for the HTML output.
+* setchapternewpage:: Start chapters on right-hand pages.
+* paragraphindent:: Specify paragraph indentation.
+* firstparagraphindent:: Suppress indentation of the first paragraph.
+* exampleindent:: Specify environment indentation.
+
+Ending a Texinfo File
+
+* Printing Indices & Menus:: How to print an index in hardcopy and
+ generate index menus in Info.
+* File End:: How to mark the end of a file.
+
+Chapter Structuring
+
+* Tree Structuring:: A manual is like an upside down tree ...
+* Structuring Command Types:: How to divide a manual into parts.
+* makeinfo top:: The `@top' command, part of the `Top' node.
+* chapter::
+* unnumbered & appendix::
+* majorheading & chapheading::
+* section::
+* unnumberedsec appendixsec heading::
+* subsection::
+* unnumberedsubsec appendixsubsec subheading::
+* subsubsection:: Commands for the lowest level sections.
+* Raise/lower sections:: How to change commands' hierarchical level.
+
+Nodes
+
+* Two Paths:: Different commands to structure
+ Info output and printed output.
+* Node Menu Illustration:: A diagram, and sample nodes and menus.
+* node:: Creating nodes, in detail.
+* makeinfo Pointer Creation:: Letting makeinfo determine node pointers.
+* anchor:: Defining arbitrary cross-reference targets.
+
+The `@node' Command
+
+* Node Names:: How to choose node and pointer names.
+* Writing a Node:: How to write an `@node' line.
+* Node Line Tips:: Keep names short.
+* Node Line Requirements:: Keep names unique, without @-commands.
+* First Node:: How to write a `Top' node.
+* makeinfo top command:: How to use the `@top' command.
+
+Menus
+
+* Menu Location:: Menus go at the ends of short nodes.
+* Writing a Menu:: What is a menu?
+* Menu Parts:: A menu entry has three parts.
+* Less Cluttered Menu Entry:: Two part menu entry.
+* Menu Example:: Two and three part menu entries.
+* Other Info Files:: How to refer to a different Info file.
+
+Cross References
+
+* References:: What cross references are for.
+* Cross Reference Commands:: A summary of the different commands.
+* Cross Reference Parts:: A cross reference has several parts.
+* xref:: Begin a reference with `See' ...
+* Top Node Naming:: How to refer to the beginning of another file.
+* ref:: A reference for the last part of a sentence.
+* pxref:: How to write a parenthetical cross reference.
+* inforef:: How to refer to an Info-only file.
+* uref:: How to refer to a uniform resource locator.
+
+`@xref'
+
+* Reference Syntax:: What a reference looks like and requires.
+* One Argument:: `@xref' with one argument.
+* Two Arguments:: `@xref' with two arguments.
+* Three Arguments:: `@xref' with three arguments.
+* Four and Five Arguments:: `@xref' with four and five arguments.
+
+Marking Words and Phrases
+
+* Indicating:: How to indicate definitions, files, etc.
+* Emphasis:: How to emphasize text.
+
+Indicating Definitions, Commands, etc.
+
+* Useful Highlighting:: Highlighting provides useful information.
+* code:: Indicating program code.
+* kbd:: Showing keyboard input.
+* key:: Specifying keys.
+* samp:: A literal sequence of characters.
+* verb:: A verbatim sequence of characters.
+* var:: Indicating metasyntactic variables.
+* env:: Indicating environment variables.
+* file:: Indicating file names.
+* command:: Indicating command names.
+* option:: Indicating option names.
+* dfn:: Specifying definitions.
+* cite:: Referring to books not in the Info system.
+* acronym:: Indicating acronyms.
+* indicateurl:: Indicating a World Wide Web reference.
+* email:: Indicating an electronic mail address.
+
+Emphasizing Text
+
+* emph & strong:: How to emphasize text in Texinfo.
+* Smallcaps:: How to use the small caps font.
+* Fonts:: Various font commands for printed output.
+
+Quotations and Examples
+
+* Block Enclosing Commands:: Different constructs for different purposes.
+* quotation:: Writing a quotation.
+* example:: Writing an example in a fixed-width font.
+* verbatim:: Writing a verbatim example.
+* verbatiminclude:: Including a file verbatim.
+* lisp:: Illustrating Lisp code.
+* small:: Examples in a smaller font.
+* display:: Writing an example in the current font.
+* format:: Writing an example without narrowed margins.
+* exdent:: Undo indentation on a line.
+* flushleft & flushright:: Pushing text flush left or flush right.
+* noindent:: Preventing paragraph indentation.
+* indent:: Forcing paragraph indentation.
+* cartouche:: Drawing rounded rectangles around examples.
+
+Lists and Tables
+
+* Introducing Lists:: Texinfo formats lists for you.
+* itemize:: How to construct a simple list.
+* enumerate:: How to construct a numbered list.
+* Two-column Tables:: How to construct a two-column table.
+* Multi-column Tables:: How to construct generalized tables.
+
+Making a Two-column Table
+
+* table:: How to construct a two-column table.
+* ftable vtable:: Automatic indexing for two-column tables.
+* itemx:: How to put more entries in the first column.
+
+`@multitable': Multi-column Tables
+
+* Multitable Column Widths:: Defining multitable column widths.
+* Multitable Rows:: Defining multitable rows, with examples.
+
+Special Displays
+
+* Floats:: Figures, tables, and the like.
+* Images:: Including graphics and images.
+* Footnotes:: Writing footnotes.
+
+Floats
+
+* float:: Producing floating material.
+* caption shortcaption:: Specifying descriptions for floats.
+* listoffloats:: A table of contents for floats.
+
+Inserting Images
+
+* Image Syntax::
+* Image Scaling::
+
+Footnotes
+
+* Footnote Commands:: How to write a footnote in Texinfo.
+* Footnote Styles:: Controlling how footnotes appear in Info.
+
+Indices
+
+* Index Entries:: Choose different words for index entries.
+* Predefined Indices:: Use different indices for different kinds
+ of entries.
+* Indexing Commands:: How to make an index entry.
+* Combining Indices:: How to combine indices.
+* New Indices:: How to define your own indices.
+
+Combining Indices
+
+* syncodeindex:: How to merge two indices, using `@code'
+ font for the merged-from index.
+* synindex:: How to merge two indices, using the
+ default font of the merged-to index.
+
+Special Insertions
+
+* Atsign Braces Comma:: Inserting @ and {} and ,.
+* Inserting Space:: How to insert the right amount of space
+ within a sentence.
+* Inserting Accents:: How to insert accents and special characters.
+* Dots Bullets:: How to insert dots and bullets.
+* TeX and copyright:: How to insert the TeX logo
+ and the copyright symbol.
+* pounds:: How to insert the pounds currency symbol.
+* minus:: How to insert a minus sign.
+* math:: How to format a mathematical expression.
+* Glyphs:: How to indicate results of evaluation,
+ expansion of macros, errors, etc.
+
+Inserting @ and {} and ,
+
+* Inserting an Atsign::
+* Inserting Braces::
+* Inserting a Comma::
+
+Inserting Space
+
+* Not Ending a Sentence:: Sometimes a . doesn't end a sentence.
+* Ending a Sentence:: Sometimes it does.
+* Multiple Spaces:: Inserting multiple spaces.
+* dmn:: How to format a dimension.
+
+Inserting Ellipsis and Bullets
+
+* dots:: How to insert dots ...
+* bullet:: How to insert a bullet.
+
+Inserting TeX and Legal Symbols: (C), (R)
+
+* tex:: The TeX logos.
+* copyright symbol:: The copyright symbol (c in a circle).
+* registered symbol:: The registered symbol (R in a circle).
+
+Glyphs for Examples
+
+* Glyphs Summary::
+* result:: How to show the result of expression.
+* expansion:: How to indicate an expansion.
+* Print Glyph:: How to indicate printed output.
+* Error Glyph:: How to indicate an error message.
+* Equivalence:: How to indicate equivalence.
+* Point Glyph:: How to indicate the location of point.
+
+Glyphs Summary
+
+* result::
+* expansion::
+* Print Glyph::
+* Error Glyph::
+* Equivalence::
+* Point Glyph::
+
+Forcing and Preventing Breaks
+
+* Break Commands:: Summary of break-related commands.
+* Line Breaks:: Forcing line breaks.
+* - and hyphenation:: Helping TeX with hyphenation points.
+* w:: Preventing unwanted line breaks in text.
+* tie:: Inserting an unbreakable but varying space.
+* sp:: Inserting blank lines.
+* page:: Forcing the start of a new page.
+* group:: Preventing unwanted page breaks.
+* need:: Another way to prevent unwanted page breaks.
+
+Definition Commands
+
+* Def Cmd Template:: Writing descriptions using definition commands.
+* Def Cmd Continuation Lines:: Continuing the heading over source lines.
+* Optional Arguments:: Handling optional and repeated arguments.
+* deffnx:: Group two or more `first' lines.
+* Def Cmds in Detail:: Reference for all the definition commands.
+* Def Cmd Conventions:: Conventions for writing definitions.
+* Sample Function Definition:: An example.
+
+The Definition Commands
+
+* Functions Commands:: Commands for functions and similar entities.
+* Variables Commands:: Commands for variables and similar entities.
+* Typed Functions:: Commands for functions in typed languages.
+* Typed Variables:: Commands for variables in typed languages.
+* Data Types:: The definition command for data types.
+* Abstract Objects:: Commands for object-oriented programming.
+
+Object-Oriented Programming
+
+* Variables: Object-Oriented Variables.
+* Methods: Object-Oriented Methods.
+
+Conditionally Visible Text
+
+* Conditional Commands:: Text for a given format.
+* Conditional Not Commands:: Text for any format other than a given one.
+* Raw Formatter Commands:: Using raw formatter commands.
+* set clear value:: Variable tests and substitutions.
+* Conditional Nesting:: Using conditionals inside conditionals.
+
+`@set', `@clear', and `@value'
+
+* set value:: Expand a flag variable to a string.
+* ifset ifclear:: Format a region if a flag is set.
+* value Example:: An easy way to update edition information.
+
+Internationalization
+
+* documentlanguage:: Declaring the current language.
+* documentencoding:: Declaring the input encoding.
+
+Defining New Texinfo Commands
+
+* Defining Macros:: Defining and undefining new commands.
+* Invoking Macros:: Using a macro, once you've defined it.
+* Macro Details:: Limitations of Texinfo macros.
+* alias:: Command aliases.
+* definfoenclose:: Customized highlighting.
+
+Formatting and Printing Hardcopy
+
+* Use TeX:: Use TeX to format for hardcopy.
+* Format with tex/texindex:: How to format with explicit shell commands.
+* Format with texi2dvi:: A simpler way to format.
+* Print with lpr:: How to print.
+* Within Emacs:: How to format and print from an Emacs shell.
+* Texinfo Mode Printing:: How to format and print in Texinfo mode.
+* Compile-Command:: How to print using Emacs's compile command.
+* Requirements Summary:: TeX formatting requirements summary.
+* Preparing for TeX:: What to do before you use TeX.
+* Overfull hboxes:: What are and what to do with overfull hboxes.
+* smallbook:: How to print small format books and manuals.
+* A4 Paper:: How to print on A4 or A5 paper.
+* pagesizes:: How to print with customized page sizes.
+* Cropmarks and Magnification:: How to print marks to indicate the size
+ of pages and how to print scaled up output.
+* PDF Output:: Portable Document Format output.
+* Obtaining TeX:: How to Obtain TeX.
+
+Creating and Installing Info Files
+
+* Creating an Info File::
+* Installing an Info File::
+
+Creating an Info File
+
+* makeinfo advantages:: `makeinfo' provides better error checking.
+* Invoking makeinfo:: How to run `makeinfo' from a shell.
+* makeinfo options:: Specify fill-column and other options.
+* Pointer Validation:: How to check that pointers point somewhere.
+* makeinfo in Emacs:: How to run `makeinfo' from Emacs.
+* texinfo-format commands:: Two Info formatting commands written
+ in Emacs Lisp are an alternative
+ to `makeinfo'.
+* Batch Formatting:: How to format for Info in Emacs Batch mode.
+* Tag and Split Files:: How tagged and split files help Info
+ to run better.
+
+Installing an Info File
+
+* Directory File:: The top level menu for all Info files.
+* New Info File:: Listing a new Info file.
+* Other Info Directories:: How to specify Info files that are
+ located in other directories.
+* Installing Dir Entries:: How to specify what menu entry to add
+ to the Info directory.
+* Invoking install-info:: `install-info' options.
+
+Generating HTML
+
+* HTML Translation:: Details of the HTML output.
+* HTML Splitting:: How HTML output is split.
+* HTML CSS:: Influencing HTML output with Cascading Style Sheets.
+* HTML Xref:: Cross-references in HTML output.
+
+HTML Cross-references
+
+* Link Basics: HTML Xref Link Basics.
+* Node Expansion: HTML Xref Node Name Expansion.
+* Command Expansion: HTML Xref Command Expansion.
+* 8-bit Expansion: HTML Xref 8-bit Character Expansion.
+* Mismatch: HTML Xref Mismatch.
+
+@-Command List
+
+* Command Syntax:: General syntax for varieties of @-commands.
+
+Sample Texinfo Files
+
+* Short Sample Texinfo File::
+* GNU Sample Texts::
+* Verbatim Copying License::
+* All-permissive Copying License::
+
+Copying This Manual
+
+* GNU Free Documentation License:: License for copying this manual.
+
+Include Files
+
+* Using Include Files:: How to use the `@include' command.
+* texinfo-multiple-files-update:: How to create and update nodes and
+ menus when using included files.
+* Include Files Requirements:: `texinfo-multiple-files-update' needs.
+* Sample Include File:: A sample outer file with included files
+ within it; and a sample included file.
+* Include Files Evolution:: How use of the `@include' command
+ has changed over time.
+
+Page Headings
+
+* Headings Introduced:: Conventions for using page headings.
+* Heading Format:: Standard page heading formats.
+* Heading Choice:: How to specify the type of page heading.
+* Custom Headings:: How to create your own headings and footings.
+
+Formatting Mistakes
+
+* makeinfo Preferred:: `makeinfo' finds errors.
+* Debugging with Info:: How to catch errors with Info formatting.
+* Debugging with TeX:: How to catch errors with TeX formatting.
+* Using texinfo-show-structure:: How to use `texinfo-show-structure'.
+* Using occur:: How to list all lines containing a pattern.
+* Running Info-Validate:: How to find badly referenced nodes.
+
+Finding Badly Referenced Nodes
+
+* Using Info-validate:: How to run `Info-validate'.
+* Unsplit:: How to create an unsplit file.
+* Tagifying:: How to tagify a file.
+* Splitting:: How to split a file manually.
+
+Copying This Manual
+
+* GNU Free Documentation License:: License for copying this manual.
+
+ Documentation is like sex: when it is good, it is very, very good;
+ and when it is bad, it is better than nothing. --Dick Brandon
+
+
+File: texinfo.info, Node: Copying Conditions, Next: Overview, Prev: Top, Up: Top
+
+Texinfo Copying Conditions
+**************************
+
+The programs currently being distributed that relate to Texinfo include
+`makeinfo', `info', `texindex', and `texinfo.tex'. These programs are
+"free"; this means that everyone is free to use them and free to
+redistribute them on a free basis. The Texinfo-related programs are
+not in the public domain; they are copyrighted and there are
+restrictions on their distribution, but these restrictions are designed
+to permit everything that a good cooperating citizen would want to do.
+What is not allowed is to try to prevent others from further sharing
+any version of these programs that they might get from you.
+
+ Specifically, we want to make sure that you have the right to give
+away copies of the programs that relate to Texinfo, that you receive
+source code or else can get it if you want it, that you can change these
+programs or use pieces of them in new free programs, and that you know
+you can do these things.
+
+ To make sure that everyone has such rights, we have to forbid you to
+deprive anyone else of these rights. For example, if you distribute
+copies of the Texinfo related programs, you must give the recipients all
+the rights that you have. You must make sure that they, too, receive or
+can get the source code. And you must tell them their rights.
+
+ Also, for our own protection, we must make certain that everyone finds
+out that there is no warranty for the programs that relate to Texinfo.
+If these programs are modified by someone else and passed on, we want
+their recipients to know that what they have is not what we distributed,
+so that any problems introduced by others will not reflect on our
+reputation.
+
+ The precise conditions of the licenses for the programs currently
+being distributed that relate to Texinfo are found in the General Public
+Licenses that accompany them. This manual specifically is covered by
+the GNU Free Documentation License (*note GNU Free Documentation
+License::).
+
+
+File: texinfo.info, Node: Overview, Next: Texinfo Mode, Prev: Copying Conditions, Up: Top
+
+1 Overview of Texinfo
+*********************
+
+"Texinfo"(1) is a documentation system that uses a single source file
+to produce both online information and printed output. This means that
+instead of writing two different documents, one for the online
+information and the other for a printed work, you need write only one
+document. Therefore, when the work is revised, you need revise only
+that one document.
+
+* Menu:
+
+* Reporting Bugs:: Submitting effective bug reports.
+* Using Texinfo:: Create printed or online output.
+* Output Formats:: Overview of the supported output formats.
+* Info Files:: What is an Info file?
+* Printed Books:: Characteristics of a printed book or manual.
+* Formatting Commands:: @-commands are used for formatting.
+* Conventions:: General rules for writing a Texinfo file.
+* Comments:: Writing comments and ignored text in general.
+* Minimum:: What a Texinfo file must have.
+* Six Parts:: Usually, a Texinfo file has six parts.
+* Short Sample:: A short sample Texinfo file.
+* History:: Acknowledgements, contributors and genesis.
+
+ ---------- Footnotes ----------
+
+ (1) The first syllable of "Texinfo" is pronounced like "speck", not
+"hex". This odd pronunciation is derived from, but is not the same as,
+the pronunciation of TeX. In the word TeX, the `X' is actually the
+Greek letter "chi" rather than the English letter "ex". Pronounce TeX
+as if the `X' were the last sound in the name `Bach'; but pronounce
+Texinfo as if the `x' were a `k'. Spell "Texinfo" with a capital "T"
+and the other letters in lower case.
+
+
+File: texinfo.info, Node: Reporting Bugs, Next: Using Texinfo, Up: Overview
+
+1.1 Reporting Bugs
+==================
+
+We welcome bug reports and suggestions for any aspect of the Texinfo
+system, programs, documentation, installation, anything. Please email
+them to <bug-texinfo@gnu.org>. You can get the latest version of
+Texinfo from `ftp://ftp.gnu.org/gnu/texinfo/' and its mirrors worldwide.
+
+ For bug reports, please include enough information for the maintainers
+to reproduce the problem. Generally speaking, that means:
+
+ * the version number of Texinfo and the program(s) or manual(s)
+ involved.
+
+ * hardware and operating system names and versions.
+
+ * the contents of any input files necessary to reproduce the bug.
+
+ * a description of the problem and samples of any erroneous output.
+
+ * any unusual options you gave to `configure'.
+
+ * anything else that you think would be helpful.
+
+ When in doubt whether something is needed or not, include it. It's
+better to include too much than to leave out something important.
+
+ Patches are most welcome; if possible, please make them with
+`diff -c' (*note Overview: (diff)Top.) and include `ChangeLog' entries
+(*note Change Log: (emacs)Change Log.).
+
+ When sending patches, if possible please do not encode or split them
+in any way; it's much easier to deal with one plain text message,
+however large, than many small ones. GNU shar
+(ftp://ftp.gnu.org/gnu/sharutils/) is a convenient way of packaging
+multiple and/or binary files for email.
+
+
+File: texinfo.info, Node: Using Texinfo, Next: Output Formats, Prev: Reporting Bugs, Up: Overview
+
+1.2 Using Texinfo
+=================
+
+Using Texinfo, you can create a printed document (via the TeX
+typesetting system) the normal features of a book, including chapters,
+sections, cross references, and indices. From the same Texinfo source
+file, you can create an Info file with special features to make
+documentation browsing easy. You can also create from that same source
+file an HTML output file suitable for use with a web browser, or an XML
+file. See the next section (*note Output Formats::) for details and
+the exact commands to generate output from the source.
+
+ TeX works with virtually all printers; Info works with virtually all
+computer terminals; the HTML output works with virtually all web
+browsers. Thus Texinfo can be used by almost any computer user.
+
+ A Texinfo source file is a plain ASCII file containing text
+interspersed with "@-commands" (words preceded by an `@') that tell the
+typesetting and formatting programs what to do. You can edit a Texinfo
+file with any text editor, but it is especially convenient to use GNU
+Emacs since that editor has a special mode, called Texinfo mode, that
+provides various Texinfo-related features. (*Note Texinfo Mode::.)
+
+ You can use Texinfo to create both online help and printed manuals;
+moreover, Texinfo is freely redistributable. For these reasons, Texinfo
+is the official documentation format of the GNU project. More
+information is available at the GNU documentation web page
+(http://www.gnu.org/doc/).
+
+
+File: texinfo.info, Node: Output Formats, Next: Info Files, Prev: Using Texinfo, Up: Overview
+
+1.3 Output Formats
+==================
+
+Here is a brief overview of the output formats currently supported by
+Texinfo.
+
+Info
+ (Generated via `makeinfo'.) This format is essentially a plain
+ text transliteration of the Texinfo source. It adds a few control
+ characters to separate nodes and provide navigational information
+ for menus, cross-references, indices, and so on. See the next
+ section (*note Info Files::) for more details on this format. The
+ Emacs Info subsystem (*note Getting Started: (info)Top.), and the
+ standalone `info' program (*note Info Standalone:
+ (info-stnd)Top.), among others, can read these files. *Note
+ Creating and Installing Info Files::.
+
+Plain text
+ (Generated via `makeinfo --no-headers'.) This is almost the same
+ as Info output, except the navigational control characters are
+ omitted.
+
+HTML
+ (Generated via `makeinfo --html'.) This is the Hyper Text Markup
+ Language that has become the most commonly used language for
+ writing documents on the World Wide Web. Web browsers, such as
+ Mozilla, Lynx, and Emacs-W3, can render this language online.
+ There are many versions of HTML; `makeinfo' tries to use a subset
+ of the language that can be interpreted by any common browser. For
+ details of the HTML language and much related information, see
+ `http://www.w3.org/MarkUp/'. *Note Generating HTML::.
+
+DVI
+ (Generated via `texi2dvi'.) This DeVice Independent binary format
+ is output by the TeX typesetting program (`http://tug.org'). This
+ is then read by a DVI `driver', which writes the actual
+ device-specific commands that can be viewed or printed, notably
+ Dvips for translation to PostScript (*note Invoking Dvips:
+ (dvips)Invoking Dvips.) and Xdvi for viewing on an X display
+ (`http://sourceforge.net/projects/xdvi/'). *Note Hardcopy::.
+
+ Be aware that the Texinfo language is very different from and much
+ stricter than TeX's usual languages, plain TeX and LaTeX. For
+ more information on TeX in general, please see the book `TeX for
+ the Impatient', available from
+ `http://savannah.gnu.org/projects/teximpatient'.
+
+PDF
+ (Generated via `texi2dvi --pdf'.) This format, based on
+ PostScript, was developed by Adobe Systems for document
+ interchange. It is intended to be platform-independent and easily
+ viewable, among other design goals; for a discussion, see
+ `http://tug.org/tugboat/Articles/tb22-3/tb72beebeI.pdf'. Texinfo
+ uses the `pdftex' program, a variant of TeX, to output pdf; see
+ `http://tug.org/applications/pdftex'. *Note PDF Output::.
+
+XML
+ (Generated via `makeinfo --xml'.) XML is a generic syntax
+ specification usable for any sort of content (see, for example,
+ `http://www.w3.org/XML/'). The `makeinfo' xml output, unlike all
+ the formats above, interprets very little of the Texinfo source.
+ Rather, it merely translates the Texinfo markup commands into XML
+ syntax, for processing by further XML tools. The particular
+ syntax output is defined in the file `texinfo.dtd' included in the
+ Texinfo source distribution.
+
+Docbook
+ (Generated via `makeinfo --docbook'.) This is an XML-based format
+ developed some years ago, primarily for technical documentation.
+ It therefore bears some resemblance, in broad outlines, to
+ Texinfo. See `http://www.docbook.org'. If you want to convert
+ from Docbook _to_ Texinfo, please see
+ `http://docbook2X.sourceforge.net'.
+
+
+ From time to time, proposals are made to generate traditional Unix man
+pages from Texinfo source. However, because man pages have a very
+strict conventional format, generating a good man page requires a
+completely different source than the typical Texinfo applications of
+writing a good user tutorial and/or a good reference manual. This
+makes generating man pages incompatible with the Texinfo design goal of
+not having to document the same information in different ways for
+different output formats. You might as well just write the man page
+directly.
+
+ Man pages still have their place, and if you wish to support them, you
+may find the program `help2man' to be useful; it generates a
+traditional man page from the `--help' output of a program. In fact,
+this is currently used to generate man pages for the programs in the
+Texinfo distribution. It is GNU software written by Brendan O'Dea,
+available from `ftp://ftp.gnu.org/gnu/help2man/'.
+
+ If you are a programmer and would like to contribute to the GNU
+project by implementing additional output formats for Texinfo, that
+would be excellent. But please do not write a separate translator
+texi2foo for your favorite format foo! That is the hard way to do the
+job, and makes extra work in subsequent maintenance, since the Texinfo
+language is continually being enhanced and updated. Instead, the best
+approach is modify `makeinfo' to generate the new format.
+
+
+File: texinfo.info, Node: Info Files, Next: Printed Books, Prev: Output Formats, Up: Overview
+
+1.4 Info Files
+==============
+
+An Info file is a Texinfo file formatted so that the Info documentation
+reading program can operate on it. (`makeinfo' and
+`texinfo-format-buffer' are two commands that convert a Texinfo file
+into an Info file.)
+
+ Info files are divided into pieces called "nodes", each of which
+contains the discussion of one topic. Each node has a name, and
+contains both text for the user to read and pointers to other nodes,
+which are identified by their names. The Info program displays one node
+at a time, and provides commands with which the user can move to other
+related nodes.
+
+ *Note Top: (info)Top, for more information about using Info.
+
+ Each node of an Info file may have any number of child nodes that
+describe subtopics of the node's topic. The names of child nodes are
+listed in a "menu" within the parent node; this allows you to use
+certain Info commands to move to one of the child nodes. Generally, an
+Info file is organized like a book. If a node is at the logical level
+of a chapter, its child nodes are at the level of sections; likewise,
+the child nodes of sections are at the level of subsections.
+
+ All the children of any one parent are linked together in a
+bidirectional chain of `Next' and `Previous' pointers. The `Next'
+pointer provides a link to the next section, and the `Previous' pointer
+provides a link to the previous section. This means that all the nodes
+that are at the level of sections within a chapter are linked together.
+Normally the order in this chain is the same as the order of the
+children in the parent's menu. Each child node records the parent node
+name as its `Up' pointer. The last child has no `Next' pointer, and the
+first child has the parent both as its `Previous' and as its `Up'
+pointer.(1)
+
+ The book-like structuring of an Info file into nodes that correspond
+to chapters, sections, and the like is a matter of convention, not a
+requirement. The `Up', `Previous', and `Next' pointers of a node can
+point to any other nodes, and a menu can contain any other nodes.
+Thus, the node structure can be any directed graph. But it is usually
+more comprehensible to follow a structure that corresponds to the
+structure of chapters and sections in a printed book or report.
+
+ In addition to menus and to `Next', `Previous', and `Up' pointers,
+Info provides pointers of another kind, called references, that can be
+sprinkled throughout the text. This is usually the best way to
+represent links that do not fit a hierarchical structure.
+
+ Usually, you will design a document so that its nodes match the
+structure of chapters and sections in the printed output. But
+occasionally there are times when this is not right for the material
+being discussed. Therefore, Texinfo uses separate commands to specify
+the node structure for the Info file and the section structure for the
+printed output.
+
+ Generally, you enter an Info file through a node that by convention is
+named `Top'. This node normally contains just a brief summary of the
+file's purpose, and a large menu through which the rest of the file is
+reached. From this node, you can either traverse the file
+systematically by going from node to node, or you can go to a specific
+node listed in the main menu, or you can search the index menus and then
+go directly to the node that has the information you want.
+Alternatively, with the standalone Info program, you can specify
+specific menu items on the command line (*note Top: (info)Top.).
+
+ If you want to read through an Info file in sequence, as if it were a
+printed manual, you can hit <SPC> repeatedly, or you get the whole file
+with the advanced Info command `g *'. (*note Advanced Info commands:
+(info)Advanced.)
+
+ The `dir' file in the `info' directory serves as the departure point
+for the whole Info system. From it, you can reach the `Top' nodes of
+each of the documents in a complete Info system.
+
+ If you wish to refer to an Info file in a URI, you can use the
+(unofficial) syntax exemplified in the following. This works with
+Emacs/W3, for example:
+ info:///usr/info/emacs#Dissociated%20Press
+ info:emacs#Dissociated%20Press
+ info://localhost/usr/info/emacs#Dissociated%20Press
+
+ The `info' program itself does not follow URI's of any kind.
+
+ ---------- Footnotes ----------
+
+ (1) In some documents, the first child has no `Previous' pointer.
+Occasionally, the last child has the node name of the next following
+higher level node as its `Next' pointer.
+
+
+File: texinfo.info, Node: Printed Books, Next: Formatting Commands, Prev: Info Files, Up: Overview
+
+1.5 Printed Books
+=================
+
+A Texinfo file can be formatted and typeset as a printed book or manual.
+To do this, you need TeX, a powerful, sophisticated typesetting program
+written by Donald Knuth.(1)
+
+ A Texinfo-based book is similar to any other typeset, printed work: it
+can have a title page, copyright page, table of contents, and preface,
+as well as chapters, numbered or unnumbered sections and subsections,
+page headers, cross references, footnotes, and indices.
+
+ You can use Texinfo to write a book without ever having the intention
+of converting it into online information. You can use Texinfo for
+writing a printed novel, and even to write a printed memo, although
+this latter application is not recommended since electronic mail is so
+much easier.
+
+ TeX is a general purpose typesetting program. Texinfo provides a
+file `texinfo.tex' that contains information (definitions or "macros")
+that TeX uses when it typesets a Texinfo file. (`texinfo.tex' tells
+TeX how to convert the Texinfo @-commands to TeX commands, which TeX
+can then process to create the typeset document.) `texinfo.tex'
+contains the specifications for printing a document. You can get the
+latest version of `texinfo.tex' from
+`ftp://ftp.gnu.org/gnu/texinfo/texinfo.tex'.
+
+ In the United States, documents are most often printed on 8.5 inch by
+11 inch pages (216mm by 280mm); this is the default size. But you can
+also print for 7 inch by 9.25 inch pages (178mm by 235mm, the
+`@smallbook' size; or on A4 or A5 size paper (`@afourpaper',
+`@afivepaper'). (*Note Printing "Small" Books: smallbook. Also, see
+*Note Printing on A4 Paper: A4 Paper.)
+
+ By changing the parameters in `texinfo.tex', you can change the size
+of the printed document. In addition, you can change the style in
+which the printed document is formatted; for example, you can change the
+sizes and fonts used, the amount of indentation for each paragraph, the
+degree to which words are hyphenated, and the like. By changing the
+specifications, you can make a book look dignified, old and serious, or
+light-hearted, young and cheery.
+
+ TeX is freely distributable. It is written in a superset of Pascal
+called WEB and can be compiled either in Pascal or (by using a
+conversion program that comes with the TeX distribution) in C. (*Note
+TeX Mode: (emacs)TeX Mode, for information about TeX.)
+
+ TeX is very powerful and has a great many features. Because a
+Texinfo file must be able to present information both on a
+character-only terminal in Info form and in a typeset book, the
+formatting commands that Texinfo supports are necessarily limited.
+
+ To get a copy of TeX, see *Note How to Obtain TeX: Obtaining TeX.
+
+ ---------- Footnotes ----------
+
+ (1) You can also use the `texi2roff' (ftp://tug.org/texi2roff.tar.gz)
+program if you do not have TeX; since Texinfo is designed for use with
+TeX, `texi2roff' is not described here. `texi2roff' is not part of the
+standard GNU distribution and is not maintained or up-to-date with all
+the Texinfo features described in this manual.
+
+
+File: texinfo.info, Node: Formatting Commands, Next: Conventions, Prev: Printed Books, Up: Overview
+
+1.6 @-commands
+==============
+
+In a Texinfo file, the commands that tell TeX how to typeset the
+printed manual and tell `makeinfo' and `texinfo-format-buffer' how to
+create an Info file are preceded by `@'; they are called "@-commands".
+For example, `@node' is the command to indicate a node and `@chapter'
+is the command to indicate the start of a chapter.
+
+ Note: Almost all @ command names are entirely lower case.
+
+ The Texinfo @-commands are a strictly limited set of constructs. The
+strict limits make it possible for Texinfo files to be understood both
+by TeX and by the code that converts them into Info files. You can
+display Info files on any terminal that displays alphabetic and numeric
+characters. Similarly, you can print the output generated by TeX on a
+wide variety of printers.
+
+ Depending on what they do or what arguments(1) they take, you need to
+write @-commands on lines of their own or as part of sentences:
+
+ * Write a command such as `@quotation' at the beginning of a line as
+ the only text on the line. (`@quotation' begins an indented
+ environment.)
+
+ * Write a command such as `@chapter' at the beginning of a line
+ followed by the command's arguments, in this case the chapter
+ title, on the rest of the line. (`@chapter' creates chapter
+ titles.)
+
+ * Write a command such as `@dots{}' wherever you wish but usually
+ within a sentence. (`@dots{}' creates dots ...)
+
+ * Write a command such as `@code{SAMPLE-CODE}' wherever you wish
+ (but usually within a sentence) with its argument, SAMPLE-CODE in
+ this example, between the braces. (`@code' marks text as being
+ code.)
+
+ * Write a command such as `@example' on a line of its own; write the
+ body-text on following lines; and write the matching `@end'
+ command, `@end example' in this case, on a line of its own after
+ the body-text. (`@example' ... `@end example' indents and typesets
+ body-text as an example.) It's usually ok to indent environment
+ commands like this, but in complicated and hard-to-define
+ circumstances the extra spaces cause extra space to appear in the
+ output, so beware.
+
+As a general rule, a command requires braces if it mingles among other
+text; but it does not need braces if it starts a line of its own. The
+non-alphabetic commands, such as `@:', are exceptions to the rule; they
+do not need braces.
+
+ As you gain experience with Texinfo, you will rapidly learn how to
+write the different commands: the different ways to write commands
+actually make it easier to write and read Texinfo files than if all
+commands followed exactly the same syntax. *Note @-Command Syntax:
+Command Syntax, for all the details.
+
+ ---------- Footnotes ----------
+
+ (1) The word "argument" comes from the way it is used in mathematics
+and does not refer to a dispute between two people; it refers to the
+information presented to the command. According to the `Oxford English
+Dictionary', the word derives from the Latin for "to make clear,
+prove"; thus it came to mean `the evidence offered as proof', which is
+to say, `the information offered', which led to its mathematical
+meaning. In its other thread of derivation, the word came to mean `to
+assert in a manner against which others may make counter assertions',
+which led to the meaning of `argument' as a dispute.
+
+
+File: texinfo.info, Node: Conventions, Next: Comments, Prev: Formatting Commands, Up: Overview
+
+1.7 General Syntactic Conventions
+=================================
+
+This section describes the general conventions used in all Texinfo
+documents.
+
+ * All printable ASCII characters except `@', `{' and `}' can appear
+ in a Texinfo file and stand for themselves. `@' is the escape
+ character which introduces commands, while `{' and `}' are used to
+ surround arguments to certain commands. To put one of these
+ special characters into the document, put an `@' character in
+ front of it, like this: `@@', `@{', and `@}'.
+
+ * Separate paragraphs with one or more blank lines. Currently
+ Texinfo only recognizes newline characters as end of line, not the
+ CRLF sequence used on some systems; so a "blank line" means
+ exactly two consecutive newlines. Sometimes blank lines are
+ useful or convenient in other cases as well; you can use the
+ `@noindent' to inhibit paragraph indentation if required (*note
+ `@noindent': noindent.).
+
+ * Use doubled single-quote characters to begin and end quotations:
+ ``...''. TeX converts two single quotes to left- and right-hand
+ doubled quotation marks, and Info converts doubled single-quote
+ characters to ASCII double-quotes: ``...'' becomes "...".
+
+ You may occasionally need to produce two consecutive single quotes;
+ for example, in documenting a computer language such as Maxima
+ where '' is a valid command. You can do this with the input
+ '@w{}'; the empty `@w' command stops the combination into the
+ double-quote characters.
+
+ The left quote character (`, ASCII code 96) used in Texinfo is a
+ grave accent in ANSI and ISO character set standards. We use it
+ as a quote character because that is how TeX is set up, by
+ default. We hope to eventually support the various quotation
+ characters in Unicode.
+
+ * Use three hyphens in a row, `---', to produce a long dash--like
+ this (called an "em dash"), used for punctuation in sentences.
+ Use two hyphens, `--', to produce a medium dash-like this (called
+ an "en dash"), used to separate numeric ranges. Use a single
+ hyphen, `-', to produce a standard hyphen used in compound words.
+ For display on the screen, Info reduces three hyphens to two and
+ two hyphens to one (not transitively!). Of course, any number of
+ hyphens in the source remain as they are in literal contexts, such
+ as `@code' and `@example'.
+
+ * *Caution:* Last and most important, do not use tab characters in a
+ Texinfo file (except in verbatim modes)! TeX uses variable-width
+ fonts, which means that it is impractical at best to define a tab
+ to work in all circumstances. Consequently, TeX treats tabs like
+ single spaces, and that is not what they look like in the source.
+ Furthermore, `makeinfo' does nothing special with tabs, and thus a
+ tab character in your input file will usually appear differently
+ in the output.
+
+ To avoid this problem, Texinfo mode causes GNU Emacs to insert
+ multiple spaces when you press the <TAB> key.
+
+ Also, you can run `untabify' in Emacs to convert tabs in a region
+ to multiple spaces, or use the `unexpand' command from the shell.
+
+
+
+File: texinfo.info, Node: Comments, Next: Minimum, Prev: Conventions, Up: Overview
+
+1.8 Comments
+============
+
+You can write comments in a Texinfo file that will not appear in either
+the Info file or the printed manual by using the `@comment' command
+(which may be abbreviated to `@c'). Such comments are for the person
+who revises the Texinfo file. All the text on a line that follows
+either `@comment' or `@c' is a comment; the rest of the line does not
+appear in either the Info file or the printed manual.
+
+ Often, you can write the `@comment' or `@c' in the middle of a line,
+and only the text that follows after the `@comment' or `@c' command
+does not appear; but some commands, such as `@settitle' and
+`@setfilename', work on a whole line. You cannot use `@comment' or
+`@c' in a line beginning with such a command.
+
+ You can write long stretches of text that will not appear in either
+the Info file or the printed manual by using the `@ignore' and `@end
+ignore' commands. Write each of these commands on a line of its own,
+starting each command at the beginning of the line. Text between these
+two commands does not appear in the processed output. You can use
+`@ignore' and `@end ignore' for writing comments.
+
+ Text enclosed by `@ignore' or by failing `@ifset' or `@ifclear'
+conditions is ignored in the sense that it will not contribute to the
+formatted output. However, TeX and makeinfo must still parse the
+ignored text, in order to understand when to _stop_ ignoring text from
+the source file; that means that you may still get error messages if
+you have invalid Texinfo commands within ignored text.
+
+
+File: texinfo.info, Node: Minimum, Next: Six Parts, Prev: Comments, Up: Overview
+
+1.9 What a Texinfo File Must Have
+=================================
+
+By convention, the namea of a Texinfo file ends with (in order of
+preference) one of the extensions `.texinfo', `.texi', `.txi', or
+`.tex'. The longer extensions are preferred since they describe more
+clearly to a human reader the nature of the file. The shorter
+extensions are for operating systems that cannot handle long file names.
+
+ In order to be made into a printed manual and an Info file, a Texinfo
+file *must* begin with lines like this:
+
+ \input texinfo
+ @setfilename INFO-FILE-NAME
+ @settitle NAME-OF-MANUAL
+
+The contents of the file follow this beginning, and then you *must* end
+a Texinfo file with a line like this:
+
+ @bye
+
+Here's an explanation:
+
+ * The `\input texinfo' line tells TeX to use the `texinfo.tex' file,
+ which tells TeX how to translate the Texinfo @-commands into TeX
+ typesetting commands. (Note the use of the backslash, `\'; this
+ is correct for TeX.)
+
+ * The `@setfilename' line provides a name for the Info file and
+ tells TeX to open auxiliary files. *All text before
+ `@setfilename' is ignored!*
+
+ * The `@settitle' line specifies a title for the page headers (or
+ footers) of the printed manual, and the default document
+ description for the `<head>' in HTML format. Strictly speaking,
+ `@settitle' is optional--if you don't mind your document being
+ titled `Untitled'.
+
+ * The `@bye' line at the end of the file on a line of its own tells
+ the formatters that the file is ended and to stop formatting.
+
+
+ Typically, you will not use quite such a spare format, but will
+include mode setting and start-of-header and end-of-header lines at the
+beginning of a Texinfo file, like this:
+
+ \input texinfo @c -*-texinfo-*-
+ @c %**start of header
+ @setfilename INFO-FILE-NAME
+ @settitle NAME-OF-MANUAL
+ @c %**end of header
+
+In the first line, `-*-texinfo-*-' causes Emacs to switch into Texinfo
+mode when you edit the file.
+
+ The `@c' lines which surround the `@setfilename' and `@settitle'
+lines are optional, but you need them in order to run TeX or Info on
+just part of the file. (*Note Start of Header::.)
+
+ Furthermore, you will usually provide a Texinfo file with a title
+page, indices, and the like, all of which are explained in this manual.
+But the minimum, which can be useful for short documents, is just the
+three lines at the beginning and the one line at the end.
+
+
+File: texinfo.info, Node: Six Parts, Next: Short Sample, Prev: Minimum, Up: Overview
+
+1.10 Six Parts of a Texinfo File
+================================
+
+Generally, a Texinfo file contains more than the minimal beginning and
+end described in the previous section--it usually contains the six
+parts listed below. These are described fully in the following
+sections.
+
+1. Header
+ The "Header" names the file, tells TeX which definitions file to
+ use, and other such housekeeping tasks.
+
+2. Summary and Copyright
+ The "Summary and Copyright" segment describes the document and
+ contains the copyright notice and copying permissions. This is
+ done with the `@copying' command.
+
+3. Title and Copyright
+ The "Title and Copyright" segment contains the title and copyright
+ pages for the printed manual. The segment must be enclosed between
+ `@titlepage' and `@end titlepage' commands. The title and
+ copyright page appear only in the printed manual.
+
+4. `Top' Node and Master Menu
+ The `Top' node starts off the online output; it does not appear in
+ the printed manual. We recommend including the copying
+ permissions here as well as the segments above. And it contains
+ at least a top-level menu listing the chapters, and possibly a
+ "Master Menu" listing all the nodes in the entire document.
+
+5. Body
+ The "Body" of the document is typically structured like a
+ traditional book or encyclopedia, but it may be free form.
+
+6. End
+ The "End" segment contains commands for printing indices and
+ generating the table of contents, and the `@bye' command on a line
+ of its own.
+
+
+File: texinfo.info, Node: Short Sample, Next: History, Prev: Six Parts, Up: Overview
+
+1.11 A Short Sample Texinfo File
+================================
+
+Here is a very short but complete Texinfo file, in the six conventional
+parts enumerated in the previous section, so you can see how Texinfo
+source appears in practice. The first three parts of the file, from
+`\input texinfo' through to `@end titlepage', look more intimidating
+than they are: most of the material is standard boilerplate; when
+writing a manual, you simply change the names as appropriate.
+
+ *Note Beginning a File::, for full documentation on the commands
+listed here. *Note GNU Sample Texts::, for the full texts to be used
+in GNU manuals.
+
+ In the following, the sample text is _indented_; comments on it are
+not. The complete file, without interspersed comments, is shown in
+*Note Short Sample Texinfo File::.
+
+Part 1: Header
+--------------
+
+The header does not appear in either the Info file or the printed
+output. It sets various parameters, including the name of the Info
+file and the title used in the header.
+
+ \input texinfo @c -*-texinfo-*-
+ @c %**start of header
+ @setfilename sample.info
+ @settitle Sample Manual 1.0
+ @c %**end of header
+
+Part 2: Summary Description and Copyright
+-----------------------------------------
+
+A real manual includes more text here, according to the license under
+which it is distributed. *Note GNU Sample Texts::.
+
+ @copying
+ This is a short example of a complete Texinfo file, version 1.0.
+
+ Copyright @copyright{} 2004 Free Software Foundation, Inc.
+ @end copying
+
+Part 3: Titlepage, Contents, Copyright
+--------------------------------------
+
+The titlepage segment does not appear in the online output, only in the
+printed manual. We use the `@insertcopying' command to include the
+permission text from the previous section, instead of writing it out
+again; it is output on the back of the title page. The `@contents'
+command generates a table of contents.
+
+ @titlepage
+ @title Sample Title
+
+ @c The following two commands start the copyright page.
+ @page
+ @vskip 0pt plus 1filll
+ @insertcopying
+ @end titlepage
+
+ @c Output the table of contents at the beginning.
+ @contents
+
+Part 4: `Top' Node and Master Menu
+----------------------------------
+
+The `Top' node contains the master menu for the Info file. Since the
+printed manual uses a table of contents rather than a menu, it excludes
+the `Top' node. We also include the copying text again for the benefit
+of online readers. Since the copying text begins with a brief
+description of the manual, no other text is needed in this case. The
+`@top' command itself helps `makeinfo' determine the relationships
+between nodes.
+
+ @ifnottex
+ @node Top
+ @top Short Sample
+
+ @insertcopying
+ @end ifnottex
+
+ @menu
+ * First Chapter:: The first chapter is the
+ only chapter in this sample.
+ * Index:: Complete index.
+ @end menu
+
+Part 5: The Body of the Document
+--------------------------------
+
+The body segment contains all the text of the document, but not the
+indices or table of contents. This example illustrates a node and a
+chapter containing an enumerated list.
+
+ @node First Chapter
+ @chapter First Chapter
+
+ @cindex chapter, first
+
+ This is the first chapter.
+ @cindex index entry, another
+
+ Here is a numbered list.
+
+ @enumerate
+ @item
+ This is the first item.
+
+ @item
+ This is the second item.
+ @end enumerate
+
+Part 6: The End of the Document
+-------------------------------
+
+The end segment contains commands for generating an index in a node and
+unnumbered chapter of its own, and the `@bye' command that marks the
+end of the document.
+
+ @node Index
+ @unnumbered Index
+
+ @printindex cp
+
+ @bye
+
+Some Results
+------------
+
+Here is what the contents of the first chapter of the sample look like:
+
+
+ This is the first chapter.
+
+ Here is a numbered list.
+
+ 1. This is the first item.
+
+ 2. This is the second item.
+
+
+File: texinfo.info, Node: History, Prev: Short Sample, Up: Overview
+
+1.12 History
+============
+
+Richard M. Stallman invented the Texinfo format, wrote the initial
+processors, and created Edition 1.0 of this manual. Robert J.
+Chassell greatly revised and extended the manual, starting with Edition
+1.1. Brian Fox was responsible for the standalone Texinfo distribution
+until version 3.8, and wrote the standalone `makeinfo' and `info'
+programs. Karl Berry has continued maintenance since Texinfo 3.8
+(manual edition 2.22).
+
+ Our thanks go out to all who helped improve this work, particularly
+the indefatigable Eli Zaretskii and Andreas Schwab, who have provided
+patches beyond counting. Franc,ois Pinard and David D. Zuhn,
+tirelessly recorded and reported mistakes and obscurities. Zack
+Weinberg did the impossible by implementing the macro syntax in
+`texinfo.tex'. Special thanks go to Melissa Weisshaus for her frequent
+reviews of nearly similar editions. Dozens of others have contributed
+patches and suggestions, they are gratefully acknowledged in the
+`ChangeLog' file. Our mistakes are our own.
+
+ A bit of history: in the 1970's at CMU, Brian Reid developed a program
+and format named Scribe to mark up documents for printing. It used the
+`@' character to introduce commands, as Texinfo does. Much more
+consequentially, it strived to describe document contents rather than
+formatting, an idea wholeheartedly adopted by Texinfo.
+
+ Meanwhile, people at MIT developed another, not too dissimilar format
+called Bolio. This then was converted to using TeX as its typesetting
+language: BoTeX. The earliest BoTeX version seems to have been 0.02 on
+October 31, 1984.
+
+ BoTeX could only be used as a markup language for documents to be
+printed, not for online documents. Richard Stallman (RMS) worked on
+both Bolio and BoTeX. He also developed a nifty on-line help format
+called Info, and then combined BoTeX and Info to create Texinfo, a mark
+up language for text that is intended to be read both online and as
+printed hard copy.
+
+
+File: texinfo.info, Node: Texinfo Mode, Next: Beginning a File, Prev: Overview, Up: Top
+
+2 Using Texinfo Mode
+********************
+
+You may edit a Texinfo file with any text editor you choose. A Texinfo
+file is no different from any other ASCII file. However, GNU Emacs
+comes with a special mode, called Texinfo mode, that provides Emacs
+commands and tools to help ease your work.
+
+ This chapter describes features of GNU Emacs' Texinfo mode but not any
+features of the Texinfo formatting language. So if you are reading this
+manual straight through from the beginning, you may want to skim through
+this chapter briefly and come back to it after reading succeeding
+chapters which describe the Texinfo formatting language in detail.
+
+* Menu:
+
+* Texinfo Mode Overview:: How Texinfo mode can help you.
+* Emacs Editing:: Texinfo mode adds to GNU Emacs' general
+ purpose editing features.
+* Inserting:: How to insert frequently used @-commands.
+* Showing the Structure:: How to show the structure of a file.
+* Updating Nodes and Menus:: How to update or create new nodes and menus.
+* Info Formatting:: How to format for Info.
+* Printing:: How to format and print part or all of a file.
+* Texinfo Mode Summary:: Summary of all the Texinfo mode commands.
+
+
+File: texinfo.info, Node: Texinfo Mode Overview, Next: Emacs Editing, Up: Texinfo Mode
+
+2.1 Texinfo Mode Overview
+=========================
+
+Texinfo mode provides special features for working with Texinfo files.
+You can:
+
+ * Insert frequently used @-commands.
+
+ * Automatically create `@node' lines.
+
+ * Show the structure of a Texinfo source file.
+
+ * Automatically create or update the `Next', `Previous', and `Up'
+ pointers of a node.
+
+ * Automatically create or update menus.
+
+ * Automatically create a master menu.
+
+ * Format a part or all of a file for Info.
+
+ * Typeset and print part or all of a file.
+
+ Perhaps the two most helpful features are those for inserting
+frequently used @-commands and for creating node pointers and menus.
+
+
+File: texinfo.info, Node: Emacs Editing, Next: Inserting, Prev: Texinfo Mode Overview, Up: Texinfo Mode
+
+2.2 The Usual GNU Emacs Editing Commands
+========================================
+
+In most cases, the usual Text mode commands work the same in Texinfo
+mode as they do in Text mode. Texinfo mode adds new editing commands
+and tools to GNU Emacs' general purpose editing features. The major
+difference concerns filling. In Texinfo mode, the paragraph separation
+variable and syntax table are redefined so that Texinfo commands that
+should be on lines of their own are not inadvertently included in
+paragraphs. Thus, the `M-q' (`fill-paragraph') command will refill a
+paragraph but not mix an indexing command on a line adjacent to it into
+the paragraph.
+
+ In addition, Texinfo mode sets the `page-delimiter' variable to the
+value of `texinfo-chapter-level-regexp'; by default, this is a regular
+expression matching the commands for chapters and their equivalents,
+such as appendices. With this value for the page delimiter, you can
+jump from chapter title to chapter title with the `C-x ]'
+(`forward-page') and `C-x [' (`backward-page') commands and narrow to a
+chapter with the `C-x p' (`narrow-to-page') command. (*Note Pages:
+(emacs)Pages, for details about the page commands.)
+
+ You may name a Texinfo file however you wish, but the convention is to
+end a Texinfo file name with one of the extensions `.texinfo', `.texi',
+`.txi', or `.tex'. A longer extension is preferred, since it is
+explicit, but a shorter extension may be necessary for operating
+systems that limit the length of file names. GNU Emacs automatically
+enters Texinfo mode when you visit a file with a `.texinfo', `.texi' or
+`.txi' extension. Also, Emacs switches to Texinfo mode when you visit a
+file that has `-*-texinfo-*-' in its first line. If ever you are in
+another mode and wish to switch to Texinfo mode, type `M-x
+texinfo-mode'.
+
+ Like all other Emacs features, you can customize or enhance Texinfo
+mode as you wish. In particular, the keybindings are very easy to
+change. The keybindings described here are the default or standard
+ones.
+
+
+File: texinfo.info, Node: Inserting, Next: Showing the Structure, Prev: Emacs Editing, Up: Texinfo Mode
+
+2.3 Inserting Frequently Used Commands
+======================================
+
+Texinfo mode provides commands to insert various frequently used
+@-commands into the buffer. You can use these commands to save
+keystrokes.
+
+ The insert commands are invoked by typing `C-c' twice and then the
+first letter of the @-command:
+
+`C-c C-c c'
+`M-x texinfo-insert-@code'
+ Insert `@code{}' and put the cursor between the braces.
+
+`C-c C-c d'
+`M-x texinfo-insert-@dfn'
+ Insert `@dfn{}' and put the cursor between the braces.
+
+`C-c C-c e'
+`M-x texinfo-insert-@end'
+ Insert `@end' and attempt to insert the correct following word,
+ such as `example' or `table'. (This command does not handle
+ nested lists correctly, but inserts the word appropriate to the
+ immediately preceding list.)
+
+`C-c C-c i'
+`M-x texinfo-insert-@item'
+ Insert `@item' and put the cursor at the beginning of the next
+ line.
+
+`C-c C-c k'
+`M-x texinfo-insert-@kbd'
+ Insert `@kbd{}' and put the cursor between the braces.
+
+`C-c C-c n'
+`M-x texinfo-insert-@node'
+ Insert `@node' and a comment line listing the sequence for the
+ `Next', `Previous', and `Up' nodes. Leave point after the `@node'.
+
+`C-c C-c o'
+`M-x texinfo-insert-@noindent'
+ Insert `@noindent' and put the cursor at the beginning of the next
+ line.
+
+`C-c C-c s'
+`M-x texinfo-insert-@samp'
+ Insert `@samp{}' and put the cursor between the braces.
+
+`C-c C-c t'
+`M-x texinfo-insert-@table'
+ Insert `@table' followed by a <SPC> and leave the cursor after the
+ <SPC>.
+
+`C-c C-c v'
+`M-x texinfo-insert-@var'
+ Insert `@var{}' and put the cursor between the braces.
+
+`C-c C-c x'
+`M-x texinfo-insert-@example'
+ Insert `@example' and put the cursor at the beginning of the next
+ line.
+
+`C-c C-c {'
+`M-x texinfo-insert-braces'
+ Insert `{}' and put the cursor between the braces.
+
+`C-c C-c }'
+`C-c C-c ]'
+`M-x up-list'
+ Move from between a pair of braces forward past the closing brace.
+ Typing `C-c C-c ]' is easier than typing `C-c C-c }', which is,
+ however, more mnemonic; hence the two keybindings. (Also, you can
+ move out from between braces by typing `C-f'.)
+
+ To put a command such as `@code{...}' around an _existing_ word,
+position the cursor in front of the word and type `C-u 1 C-c C-c c'.
+This makes it easy to edit existing plain text. The value of the
+prefix argument tells Emacs how many words following point to include
+between braces--`1' for one word, `2' for two words, and so on. Use a
+negative argument to enclose the previous word or words. If you do not
+specify a prefix argument, Emacs inserts the @-command string and
+positions the cursor between the braces. This feature works only for
+those @-commands that operate on a word or words within one line, such
+as `@kbd' and `@var'.
+
+ This set of insert commands was created after analyzing the frequency
+with which different @-commands are used in the `GNU Emacs Manual' and
+the `GDB Manual'. If you wish to add your own insert commands, you can
+bind a keyboard macro to a key, use abbreviations, or extend the code
+in `texinfo.el'.
+
+ `C-c C-c C-d' (`texinfo-start-menu-description') is an insert command
+that works differently from the other insert commands. It inserts a
+node's section or chapter title in the space for the description in a
+menu entry line. (A menu entry has three parts, the entry name, the
+node name, and the description. Only the node name is required, but a
+description helps explain what the node is about. *Note The Parts of a
+Menu: Menu Parts.)
+
+ To use `texinfo-start-menu-description', position point in a menu
+entry line and type `C-c C-c C-d'. The command looks for and copies
+the title that goes with the node name, and inserts the title as a
+description; it positions point at beginning of the inserted text so you
+can edit it. The function does not insert the title if the menu entry
+line already contains a description.
+
+ This command is only an aid to writing descriptions; it does not do
+the whole job. You must edit the inserted text since a title tends to
+use the same words as a node name but a useful description uses
+different words.
+
+
+File: texinfo.info, Node: Showing the Structure, Next: Updating Nodes and Menus, Prev: Inserting, Up: Texinfo Mode
+
+2.4 Showing the Section Structure of a File
+===========================================
+
+You can show the section structure of a Texinfo file by using the `C-c
+C-s' command (`texinfo-show-structure'). This command shows the
+section structure of a Texinfo file by listing the lines that begin
+with the @-commands for `@chapter', `@section', and the like. It
+constructs what amounts to a table of contents. These lines are
+displayed in another buffer called the `*Occur*' buffer. In that
+buffer, you can position the cursor over one of the lines and use the
+`C-c C-c' command (`occur-mode-goto-occurrence'), to jump to the
+corresponding spot in the Texinfo file.
+
+`C-c C-s'
+`M-x texinfo-show-structure'
+ Show the `@chapter', `@section', and such lines of a Texinfo file.
+
+`C-c C-c'
+`M-x occur-mode-goto-occurrence'
+ Go to the line in the Texinfo file corresponding to the line under
+ the cursor in the `*Occur*' buffer.
+
+ If you call `texinfo-show-structure' with a prefix argument by typing
+`C-u C-c C-s', it will list not only those lines with the @-commands
+for `@chapter', `@section', and the like, but also the `@node' lines.
+You can use `texinfo-show-structure' with a prefix argument to check
+whether the `Next', `Previous', and `Up' pointers of an `@node' line
+are correct.
+
+ Often, when you are working on a manual, you will be interested only
+in the structure of the current chapter. In this case, you can mark
+off the region of the buffer that you are interested in by using the
+`C-x n n' (`narrow-to-region') command and `texinfo-show-structure'
+will work on only that region. To see the whole buffer again, use
+`C-x n w' (`widen'). (*Note Narrowing: (emacs)Narrowing, for more
+information about the narrowing commands.)
+
+ In addition to providing the `texinfo-show-structure' command,
+Texinfo mode sets the value of the page delimiter variable to match the
+chapter-level @-commands. This enables you to use the `C-x ]'
+(`forward-page') and `C-x [' (`backward-page') commands to move forward
+and backward by chapter, and to use the `C-x p' (`narrow-to-page')
+command to narrow to a chapter. *Note Pages: (emacs)Pages, for more
+information about the page commands.
+
+
+File: texinfo.info, Node: Updating Nodes and Menus, Next: Info Formatting, Prev: Showing the Structure, Up: Texinfo Mode
+
+2.5 Updating Nodes and Menus
+============================
+
+Texinfo mode provides commands for automatically creating or updating
+menus and node pointers. The commands are called "update" commands
+because their most frequent use is for updating a Texinfo file after you
+have worked on it; but you can use them to insert the `Next',
+`Previous', and `Up' pointers into an `@node' line that has none and to
+create menus in a file that has none.
+
+ If you do not use the updating commands, you need to write menus and
+node pointers by hand, which is a tedious task.
+
+* Menu:
+
+* Updating Commands:: Five major updating commands.
+* Updating Requirements:: How to structure a Texinfo file for
+ using the updating command.
+* Other Updating Commands:: How to indent descriptions, insert
+ missing nodes lines, and update
+ nodes in sequence.
+
+
+File: texinfo.info, Node: Updating Commands, Next: Updating Requirements, Up: Updating Nodes and Menus
+
+2.5.1 The Updating Commands
+---------------------------
+
+You can use the updating commands to:
+
+ * insert or update the `Next', `Previous', and `Up' pointers of a
+ node,
+
+ * insert or update the menu for a section, and
+
+ * create a master menu for a Texinfo source file.
+
+ You can also use the commands to update all the nodes and menus in a
+region or in a whole Texinfo file.
+
+ The updating commands work only with conventional Texinfo files, which
+are structured hierarchically like books. In such files, a structuring
+command line must follow closely after each `@node' line, except for
+the `Top' `@node' line. (A "structuring command line" is a line
+beginning with `@chapter', `@section', or other similar command.)
+
+ You can write the structuring command line on the line that follows
+immediately after an `@node' line or else on the line that follows
+after a single `@comment' line or a single `@ifinfo' line. You cannot
+interpose more than one line between the `@node' line and the
+structuring command line; and you may interpose only an `@comment' line
+or an `@ifinfo' line.
+
+ Commands which work on a whole buffer require that the `Top' node be
+followed by a node with an `@chapter' or equivalent-level command. The
+menu updating commands will not create a main or master menu for a
+Texinfo file that has only `@chapter'-level nodes! The menu updating
+commands only create menus _within_ nodes for lower level nodes. To
+create a menu of chapters, you must provide a `Top' node.
+
+ The menu updating commands remove menu entries that refer to other
+Info files since they do not refer to nodes within the current buffer.
+This is a deficiency. Rather than use menu entries, you can use cross
+references to refer to other Info files. None of the updating commands
+affect cross references.
+
+ Texinfo mode has five updating commands that are used most often: two
+are for updating the node pointers or menu of a single node (or a
+region); two are for updating every node pointer and menu in a file;
+and one, the `texinfo-master-menu' command, is for creating a master
+menu for a complete file, and optionally, for updating every node and
+menu in the whole Texinfo file.
+
+ The `texinfo-master-menu' command is the primary command:
+
+`C-c C-u m'
+`M-x texinfo-master-menu'
+ Create or update a master menu that includes all the other menus
+ (incorporating the descriptions from pre-existing menus, if any).
+
+ With an argument (prefix argument, `C-u,' if interactive), first
+ create or update all the nodes and all the regular menus in the
+ buffer before constructing the master menu. (*Note The Top Node
+ and Master Menu: The Top Node, for more about a master menu.)
+
+ For `texinfo-master-menu' to work, the Texinfo file must have a
+ `Top' node and at least one subsequent node.
+
+ After extensively editing a Texinfo file, you can type the
+ following:
+
+ C-u M-x texinfo-master-menu
+ or
+ C-u C-c C-u m
+
+ This updates all the nodes and menus completely and all at once.
+
+ The other major updating commands do smaller jobs and are designed for
+the person who updates nodes and menus as he or she writes a Texinfo
+file.
+
+ The commands are:
+
+`C-c C-u C-n'
+`M-x texinfo-update-node'
+ Insert the `Next', `Previous', and `Up' pointers for the node that
+ point is within (i.e., for the `@node' line preceding point). If
+ the `@node' line has pre-existing `Next', `Previous', or `Up'
+ pointers in it, the old pointers are removed and new ones inserted.
+ With an argument (prefix argument, `C-u', if interactive), this
+ command updates all `@node' lines in the region (which is the text
+ between point and mark).
+
+`C-c C-u C-m'
+`M-x texinfo-make-menu'
+ Create or update the menu in the node that point is within. With
+ an argument (`C-u' as prefix argument, if interactive), the
+ command makes or updates menus for the nodes which are either
+ within or a part of the region.
+
+ Whenever `texinfo-make-menu' updates an existing menu, the
+ descriptions from that menu are incorporated into the new menu.
+ This is done by copying descriptions from the existing menu to the
+ entries in the new menu that have the same node names. If the
+ node names are different, the descriptions are not copied to the
+ new menu.
+
+`C-c C-u C-e'
+`M-x texinfo-every-node-update'
+ Insert or update the `Next', `Previous', and `Up' pointers for
+ every node in the buffer.
+
+`C-c C-u C-a'
+`M-x texinfo-all-menus-update'
+ Create or update all the menus in the buffer. With an argument
+ (`C-u' as prefix argument, if interactive), first insert or update
+ all the node pointers before working on the menus.
+
+ If a master menu exists, the `texinfo-all-menus-update' command
+ updates it; but the command does not create a new master menu if
+ none already exists. (Use the `texinfo-master-menu' command for
+ that.)
+
+ When working on a document that does not merit a master menu, you
+ can type the following:
+
+ C-u C-c C-u C-a
+ or
+ C-u M-x texinfo-all-menus-update
+
+ This updates all the nodes and menus.
+
+ The `texinfo-column-for-description' variable specifies the column to
+which menu descriptions are indented. By default, the value is 32
+although it is often useful to reduce it to as low as 24. You can set
+the variable via customization (*note Changing an Option:
+(emacs)Changing an Option.) or with the `M-x set-variable' command
+(*note Examining and Setting Variables: (emacs)Examining.).
+
+ Also, the `texinfo-indent-menu-description' command may be used to
+indent existing menu descriptions to a specified column. Finally, if
+you wish, you can use the `texinfo-insert-node-lines' command to insert
+missing `@node' lines into a file. (*Note Other Updating Commands::,
+for more information.)
+
+
+File: texinfo.info, Node: Updating Requirements, Next: Other Updating Commands, Prev: Updating Commands, Up: Updating Nodes and Menus
+
+2.5.2 Updating Requirements
+---------------------------
+
+To use the updating commands, you must organize the Texinfo file
+hierarchically with chapters, sections, subsections, and the like.
+When you construct the hierarchy of the manual, do not `jump down' more
+than one level at a time: you can follow the `Top' node with a chapter,
+but not with a section; you can follow a chapter with a section, but
+not with a subsection. However, you may `jump up' any number of levels
+at one time--for example, from a subsection to a chapter.
+
+ Each `@node' line, with the exception of the line for the `Top' node,
+must be followed by a line with a structuring command such as
+`@chapter', `@section', or `@unnumberedsubsec'.
+
+ Each `@node' line/structuring-command line combination must look
+either like this:
+
+ @node Comments, Minimum, Conventions, Overview
+ @comment node-name, next, previous, up
+ @section Comments
+
+ or like this (without the `@comment' line):
+
+ @node Comments, Minimum, Conventions, Overview
+ @section Comments
+
+ or like this (without the explicit node pointers):
+
+ @node Comments
+ @section Comments
+
+In this example, `Comments' is the name of both the node and the
+section. The next node is called `Minimum' and the previous node is
+called `Conventions'. The `Comments' section is within the `Overview'
+node, which is specified by the `Up' pointer. (Instead of an
+`@comment' line, you may also write an `@ifinfo' line.)
+
+ If a file has a `Top' node, it must be called `top' or `Top' and be
+the first node in the file.
+
+ The menu updating commands create a menu of sections within a chapter,
+a menu of subsections within a section, and so on. This means that you
+must have a `Top' node if you want a menu of chapters.
+
+ Incidentally, the `makeinfo' command will create an Info file for a
+hierarchically organized Texinfo file that lacks `Next', `Previous' and
+`Up' pointers. Thus, if you can be sure that your Texinfo file will be
+formatted with `makeinfo', you have no need for the update node
+commands. (*Note Creating an Info File::, for more information about
+`makeinfo'.) However, both `makeinfo' and the `texinfo-format-...'
+commands require that you insert menus in the file.
+
+
+File: texinfo.info, Node: Other Updating Commands, Prev: Updating Requirements, Up: Updating Nodes and Menus
+
+2.5.3 Other Updating Commands
+-----------------------------
+
+In addition to the five major updating commands, Texinfo mode possesses
+several less frequently used updating commands:
+
+`M-x texinfo-insert-node-lines'
+ Insert `@node' lines before the `@chapter', `@section', and other
+ sectioning commands wherever they are missing throughout a region
+ in a Texinfo file.
+
+ With an argument (`C-u' as prefix argument, if interactive), the
+ `texinfo-insert-node-lines' command not only inserts `@node' lines
+ but also inserts the chapter or section titles as the names of the
+ corresponding nodes. In addition, it inserts the titles as node
+ names in pre-existing `@node' lines that lack names. Since node
+ names should be more concise than section or chapter titles, you
+ must manually edit node names so inserted.
+
+ For example, the following marks a whole buffer as a region and
+ inserts `@node' lines and titles throughout:
+
+ C-x h C-u M-x texinfo-insert-node-lines
+
+ This command inserts titles as node names in `@node' lines; the
+ `texinfo-start-menu-description' command (*note Inserting
+ Frequently Used Commands: Inserting.) inserts titles as
+ descriptions in menu entries, a different action. However, in
+ both cases, you need to edit the inserted text.
+
+`M-x texinfo-multiple-files-update'
+ Update nodes and menus in a document built from several separate
+ files. With `C-u' as a prefix argument, create and insert a
+ master menu in the outer file. With a numeric prefix argument,
+ such as `C-u 2', first update all the menus and all the `Next',
+ `Previous', and `Up' pointers of all the included files before
+ creating and inserting a master menu in the outer file. The
+ `texinfo-multiple-files-update' command is described in the
+ appendix on `@include' files. *Note
+ texinfo-multiple-files-update::.
+
+`M-x texinfo-indent-menu-description'
+ Indent every description in the menu following point to the
+ specified column. You can use this command to give yourself more
+ space for descriptions. With an argument (`C-u' as prefix
+ argument, if interactive), the `texinfo-indent-menu-description'
+ command indents every description in every menu in the region.
+ However, this command does not indent the second and subsequent
+ lines of a multi-line description.
+
+`M-x texinfo-sequential-node-update'
+ Insert the names of the nodes immediately following and preceding
+ the current node as the `Next' or `Previous' pointers regardless
+ of those nodes' hierarchical level. This means that the `Next'
+ node of a subsection may well be the next chapter. Sequentially
+ ordered nodes are useful for novels and other documents that you
+ read through sequentially. (However, in Info, the `g *' command
+ lets you look through the file sequentially, so sequentially
+ ordered nodes are not strictly necessary.) With an argument
+ (prefix argument, if interactive), the
+ `texinfo-sequential-node-update' command sequentially updates all
+ the nodes in the region.
+
+
+File: texinfo.info, Node: Info Formatting, Next: Printing, Prev: Updating Nodes and Menus, Up: Texinfo Mode
+
+2.6 Formatting for Info
+=======================
+
+Texinfo mode provides several commands for formatting part or all of a
+Texinfo file for Info. Often, when you are writing a document, you
+want to format only part of a file--that is, a region.
+
+ You can use either the `texinfo-format-region' or the
+`makeinfo-region' command to format a region:
+
+`C-c C-e C-r'
+`M-x texinfo-format-region'
+`C-c C-m C-r'
+`M-x makeinfo-region'
+ Format the current region for Info.
+
+ You can use either the `texinfo-format-buffer' or the
+`makeinfo-buffer' command to format a whole buffer:
+
+`C-c C-e C-b'
+`M-x texinfo-format-buffer'
+`C-c C-m C-b'
+`M-x makeinfo-buffer'
+ Format the current buffer for Info.
+
+ For example, after writing a Texinfo file, you can type the following:
+
+ C-u C-c C-u m
+or
+ C-u M-x texinfo-master-menu
+
+This updates all the nodes and menus. Then type the following to create
+an Info file:
+
+ C-c C-m C-b
+or
+ M-x makeinfo-buffer
+
+ For TeX or the Info formatting commands to work, the file _must_
+include a line that has `@setfilename' in its header.
+
+ *Note Creating an Info File::, for details about Info formatting.
+
+
+File: texinfo.info, Node: Printing, Next: Texinfo Mode Summary, Prev: Info Formatting, Up: Texinfo Mode
+
+2.7 Printing
+============
+
+Typesetting and printing a Texinfo file is a multi-step process in which
+you first create a file for printing (called a DVI file), and then
+print the file. Optionally, you may also create indices. To do this,
+you must run the `texindex' command after first running the `tex'
+typesetting command; and then you must run the `tex' command again. Or
+else run the `texi2dvi' command which automatically creates indices as
+needed (*note Format with texi2dvi::).
+
+ Often, when you are writing a document, you want to typeset and print
+only part of a file to see what it will look like. You can use the
+`texinfo-tex-region' and related commands for this purpose. Use the
+`texinfo-tex-buffer' command to format all of a buffer.
+
+`C-c C-t C-b'
+`M-x texinfo-tex-buffer'
+ Run `texi2dvi' on the buffer. In addition to running TeX on the
+ buffer, this command automatically creates or updates indices as
+ needed.
+
+`C-c C-t C-r'
+`M-x texinfo-tex-region'
+ Run TeX on the region.
+
+`C-c C-t C-i'
+`M-x texinfo-texindex'
+ Run `texindex' to sort the indices of a Texinfo file formatted with
+ `texinfo-tex-region'. The `texinfo-tex-region' command does not
+ run `texindex' automatically; it only runs the `tex' typesetting
+ command. You must run the `texinfo-tex-region' command a second
+ time after sorting the raw index files with the `texindex'
+ command. (Usually, you do not format an index when you format a
+ region, only when you format a buffer. Now that the `texi2dvi'
+ command exists, there is little or no need for this command.)
+
+`C-c C-t C-p'
+`M-x texinfo-tex-print'
+ Print the file (or the part of the file) previously formatted with
+ `texinfo-tex-buffer' or `texinfo-tex-region'.
+
+ For `texinfo-tex-region' or `texinfo-tex-buffer' to work, the file
+_must_ start with a `\input texinfo' line and must include an
+`@settitle' line. The file must end with `@bye' on a line by itself.
+(When you use `texinfo-tex-region', you must surround the `@settitle'
+line with start-of-header and end-of-header lines.)
+
+ *Note Hardcopy::, for a description of the other TeX related
+commands, such as `tex-show-print-queue'.
+
+
+File: texinfo.info, Node: Texinfo Mode Summary, Prev: Printing, Up: Texinfo Mode
+
+2.8 Texinfo Mode Summary
+========================
+
+In Texinfo mode, each set of commands has default keybindings that
+begin with the same keys. All the commands that are custom-created for
+Texinfo mode begin with `C-c'. The keys are somewhat mnemonic.
+
+Insert Commands
+---------------
+
+The insert commands are invoked by typing `C-c' twice and then the
+first letter of the @-command to be inserted. (It might make more
+sense mnemonically to use `C-c C-i', for `custom insert', but `C-c C-c'
+is quick to type.)
+
+ C-c C-c c Insert `@code'.
+ C-c C-c d Insert `@dfn'.
+ C-c C-c e Insert `@end'.
+ C-c C-c i Insert `@item'.
+ C-c C-c n Insert `@node'.
+ C-c C-c s Insert `@samp'.
+ C-c C-c v Insert `@var'.
+ C-c C-c { Insert braces.
+ C-c C-c ]
+ C-c C-c } Move out of enclosing braces.
+
+ C-c C-c C-d Insert a node's section title
+ in the space for the description
+ in a menu entry line.
+
+Show Structure
+--------------
+
+The `texinfo-show-structure' command is often used within a narrowed
+region.
+
+ C-c C-s List all the headings.
+
+The Master Update Command
+-------------------------
+
+The `texinfo-master-menu' command creates a master menu; and can be
+used to update every node and menu in a file as well.
+
+ C-c C-u m
+ M-x texinfo-master-menu
+ Create or update a master menu.
+
+ C-u C-c C-u m With `C-u' as a prefix argument, first
+ create or update all nodes and regular
+ menus, and then create a master menu.
+
+Update Pointers
+---------------
+
+The update pointer commands are invoked by typing `C-c C-u' and then
+either `C-n' for `texinfo-update-node' or `C-e' for
+`texinfo-every-node-update'.
+
+ C-c C-u C-n Update a node.
+ C-c C-u C-e Update every node in the buffer.
+
+Update Menus
+------------
+
+Invoke the update menu commands by typing `C-c C-u' and then either
+`C-m' for `texinfo-make-menu' or `C-a' for `texinfo-all-menus-update'.
+To update both nodes and menus at the same time, precede `C-c C-u C-a'
+with `C-u'.
+
+ C-c C-u C-m Make or update a menu.
+
+ C-c C-u C-a Make or update all
+ menus in a buffer.
+
+ C-u C-c C-u C-a With `C-u' as a prefix argument,
+ first create or update all nodes and
+ then create or update all menus.
+
+Format for Info
+---------------
+
+The Info formatting commands that are written in Emacs Lisp are invoked
+by typing `C-c C-e' and then either `C-r' for a region or `C-b' for the
+whole buffer.
+
+ The Info formatting commands that are written in C and based on the
+`makeinfo' program are invoked by typing `C-c C-m' and then either
+`C-r' for a region or `C-b' for the whole buffer.
+
+Use the `texinfo-format...' commands:
+
+ C-c C-e C-r Format the region.
+ C-c C-e C-b Format the buffer.
+
+Use `makeinfo':
+
+ C-c C-m C-r Format the region.
+ C-c C-m C-b Format the buffer.
+ C-c C-m C-l Recenter the `makeinfo' output buffer.
+ C-c C-m C-k Kill the `makeinfo' formatting job.
+
+Typeset and Print
+-----------------
+
+The TeX typesetting and printing commands are invoked by typing `C-c
+C-t' and then another control command: `C-r' for `texinfo-tex-region',
+`C-b' for `texinfo-tex-buffer', and so on.
+
+ C-c C-t C-r Run TeX on the region.
+ C-c C-t C-b Run `texi2dvi' on the buffer.
+ C-c C-t C-i Run `texindex'.
+ C-c C-t C-p Print the DVI file.
+ C-c C-t C-q Show the print queue.
+ C-c C-t C-d Delete a job from the print queue.
+ C-c C-t C-k Kill the current TeX formatting job.
+ C-c C-t C-x Quit a currently stopped TeX formatting job.
+ C-c C-t C-l Recenter the output buffer.
+
+Other Updating Commands
+-----------------------
+
+The remaining updating commands do not have standard keybindings because
+they are rarely used.
+
+ M-x texinfo-insert-node-lines
+ Insert missing `@node' lines in region.
+ With `C-u' as a prefix argument,
+ use section titles as node names.
+
+ M-x texinfo-multiple-files-update
+ Update a multi-file document.
+ With `C-u 2' as a prefix argument,
+ create or update all nodes and menus
+ in all included files first.
+
+ M-x texinfo-indent-menu-description
+ Indent descriptions.
+
+ M-x texinfo-sequential-node-update
+ Insert node pointers in strict sequence.
+
+
+File: texinfo.info, Node: Beginning a File, Next: Ending a File, Prev: Texinfo Mode, Up: Top
+
+3 Beginning a Texinfo File
+**************************
+
+Certain pieces of information must be provided at the beginning of a
+Texinfo file, such as the name for the output file(s), the title of the
+document, and the Top node. A table of contents is also generally
+produced here.
+
+ This chapter expands on the minimal complete Texinfo source file
+previously given (*note Six Parts::). It describes the numerous
+commands for handling the traditional frontmatter items in Texinfo.
+
+ Straight text outside of any command before the Top node should be
+avoided. Such text is treated differently in the different output
+formats: visible in TeX and HTML, by default not shown in Info readers,
+and so on.
+
+* Menu:
+
+* Sample Beginning:: A sample beginning for a Texinfo file.
+* Texinfo File Header:: The first lines.
+* Document Permissions:: Ensuring your manual is free.
+* Titlepage & Copyright Page:: Creating the title and copyright pages.
+* Contents:: How to create a table of contents.
+* The Top Node:: Creating the `Top' node and master menu.
+* Global Document Commands:: Affecting formatting throughout.
+* Software Copying Permissions:: Ensure that you and others continue to
+ have the right to use and share software.
+
+
+File: texinfo.info, Node: Sample Beginning, Next: Texinfo File Header, Up: Beginning a File
+
+3.1 Sample Texinfo File Beginning
+=================================
+
+The following sample shows what is needed. The elements given here are
+explained in more detail in the following sections. Other commands are
+often included at the beginning of Texinfo files, but the ones here are
+the most critical.
+
+ *Note GNU Sample Texts::, for the full texts to be used in GNU
+manuals.
+
+ \input texinfo @c -*-texinfo-*-
+ @c %**start of header
+ @setfilename INFONAME.info
+ @settitle NAME-OF-MANUAL VERSION
+ @c %**end of header
+
+ @copying
+ This manual is for PROGRAM, version VERSION.
+
+ Copyright @copyright{} YEARS COPYRIGHT-OWNER.
+
+ @quotation
+ Permission is granted to ...
+ @end quotation
+ @end copying
+
+ @titlepage
+ @title NAME-OF-MANUAL-WHEN-PRINTED
+ @subtitle SUBTITLE-IF-ANY
+ @subtitle SECOND-SUBTITLE
+ @author AUTHOR
+
+ @c The following two commands
+ @c start the copyright page.
+ @page
+ @vskip 0pt plus 1filll
+ @insertcopying
+
+ Published by ...
+ @end titlepage
+
+ @c So the toc is printed at the start.
+ @contents
+
+ @ifnottex
+ @node Top
+ @top TITLE
+
+ @insertcopying
+ @end ifnottex
+
+ @menu
+ * First Chapter:: Getting started ...
+ * Second Chapter:: ...
+ ...
+ * Copying:: Your rights and freedoms.
+ @end menu
+
+ @node First Chapter
+ @chapter First Chapter
+
+ @cindex first chapter
+ @cindex chapter, first
+ ...
+
+
+File: texinfo.info, Node: Texinfo File Header, Next: Document Permissions, Prev: Sample Beginning, Up: Beginning a File
+
+3.2 Texinfo File Header
+=======================
+
+Texinfo files start with at least three lines that provide Info and TeX
+with necessary information. These are the `\input texinfo' line, the
+`@settitle' line, and the `@setfilename' line.
+
+ Also, if you want to format just part of the Texinfo file, you must
+write the `@settitle' and `@setfilename' lines between start-of-header
+and end-of-header lines. The start- and end-of-header lines are
+optional, but they do no harm, so you might as well always include them.
+
+ Any command that affects document formatting as a whole makes sense to
+include in the header. `@synindex' (*note synindex::), for instance,
+is another command often included in the header. *Note GNU Sample
+Texts::, for complete sample texts.
+
+ Thus, the beginning of a Texinfo file generally looks like this:
+
+ \input texinfo @c -*-texinfo-*-
+ @c %**start of header
+ @setfilename sample.info
+ @settitle Sample Manual 1.0
+ @c %**end of header
+
+* Menu:
+
+* First Line:: The first line of a Texinfo file.
+* Start of Header:: Formatting a region requires this.
+* setfilename:: Tell Info the name of the Info file.
+* settitle:: Create a title for the printed work.
+* End of Header:: Formatting a region requires this.
+
+
+File: texinfo.info, Node: First Line, Next: Start of Header, Up: Texinfo File Header
+
+3.2.1 The First Line of a Texinfo File
+--------------------------------------
+
+Every Texinfo file that is to be the top-level input to TeX must begin
+with a line that looks like this:
+
+ \input texinfo @c -*-texinfo-*-
+
+This line serves two functions:
+
+ 1. When the file is processed by TeX, the `\input texinfo' command
+ tells TeX to load the macros needed for processing a Texinfo file.
+ These are in a file called `texinfo.tex', which should have been
+ installed on your system along with either the TeX or Texinfo
+ software. TeX uses the backslash, `\', to mark the beginning of a
+ command, exactly as Texinfo uses `@'. The `texinfo.tex' file
+ causes the switch from `\' to `@'; before the switch occurs, TeX
+ requires `\', which is why it appears at the beginning of the file.
+
+ 2. When the file is edited in GNU Emacs, the `-*-texinfo-*-' mode
+ specification tells Emacs to use Texinfo mode.
+
+
+File: texinfo.info, Node: Start of Header, Next: setfilename, Prev: First Line, Up: Texinfo File Header
+
+3.2.2 Start of Header
+---------------------
+
+A start-of-header line is a Texinfo comment that looks like this:
+
+ @c %**start of header
+
+ Write the start-of-header line on the second line of a Texinfo file.
+Follow the start-of-header line with `@setfilename' and `@settitle'
+lines and, optionally, with other commands that globally affect the
+document formatting, such as `@synindex' or `@footnotestyle'; and then
+by an end-of-header line (*note End of Header::).
+
+ The start- and end-of-header lines allow you to format only part of a
+Texinfo file for Info or printing. *Note texinfo-format commands::.
+
+ The odd string of characters, `%**', is to ensure that no other
+comment is accidentally taken for a start-of-header line. You can
+change it if you wish by setting the `tex-start-of-header' and/or
+`tex-end-of-header' Emacs variables. *Note Texinfo Mode Printing::.
+
+
+File: texinfo.info, Node: setfilename, Next: settitle, Prev: Start of Header, Up: Texinfo File Header
+
+3.2.3 `@setfilename': Set the output file name
+----------------------------------------------
+
+In order to serve as the primary input file for either `makeinfo' or
+TeX, a Texinfo file must contain a line that looks like this:
+
+ @setfilename INFO-FILE-NAME
+
+ Write the `@setfilename' command at the beginning of a line and
+follow it on the same line by the Info file name. Do not write anything
+else on the line; anything on the line after the command is considered
+part of the file name, including what would otherwise be a comment.
+
+ The Info formatting commands ignore everything written before the
+`@setfilename' line, which is why the very first line of the file (the
+`\input' line) does not show up in the output.
+
+ The `@setfilename' line specifies the name of the output file to be
+generated. This name must be different from the name of the Texinfo
+file. There are two conventions for choosing the name: you can either
+remove the extension (such as `.texi') entirely from the input file
+name, or, preferably, replace it with the `.info' extension.
+
+ Although an explicit `.info' extension is preferable, some operating
+systems cannot handle long file names. You can run into a problem even
+when the file name you specify is itself short enough. This occurs
+because the Info formatters split a long Info file into short indirect
+subfiles, and name them by appending `-1', `-2', ..., `-10', `-11', and
+so on, to the original file name. (*Note Tag and Split Files::.) The
+subfile name `texinfo.info-10', for example, is too long for old
+systems with a 14-character limit on filenames; so the Info file name
+for this document is `texinfo' rather than `texinfo.info'. When
+`makeinfo' is running on operating systems such as MS-DOS which impose
+severe limits on file names, it may remove some characters from the
+original file name to leave enough space for the subfile suffix, thus
+producing files named `texin-10', `gcc.i12', etc.
+
+ When producing HTML output, `makeinfo' will replace any extension
+with `html', or add `.html' if the given name has no extension.
+
+ The `@setfilename' line produces no output when you typeset a manual
+with TeX, but it is nevertheless essential: it opens the index,
+cross-reference, and other auxiliary files used by Texinfo, and also
+reads `texinfo.cnf' if that file is present on your system (*note
+Preparing for TeX: Preparing for TeX.).
+
+
+File: texinfo.info, Node: settitle, Next: End of Header, Prev: setfilename, Up: Texinfo File Header
+
+3.2.4 `@settitle': Set the document title
+-----------------------------------------
+
+In order to be made into a printed manual, a Texinfo file must contain
+a line that looks like this:
+
+ @settitle TITLE
+
+ Write the `@settitle' command at the beginning of a line and follow
+it on the same line by the title. This tells TeX the title to use in a
+header or footer. Do not write anything else on the line; anything on
+the line after the command is considered part of the title, including
+what would otherwise be a comment.
+
+ The `@settitle' command should precede everything that generates
+actual output. The best place for it is right after the `@setfilename'
+command (see the previous section).
+
+ In the HTML file produced by `makeinfo', TITLE serves as the document
+`<title>'. It also becomes the default document description in the
+`<head>' part (*note documentdescription::).
+
+ The title in the `@settitle' command does not affect the title as it
+appears on the title page. Thus, the two do not need not match
+exactly. A practice we recommend is to include the version or edition
+number of the manual in the `@settitle' title; on the title page, the
+version number generally appears as a `@subtitle' so it would be
+omitted from the `@title'. *Note titlepage::.
+
+ Conventionally, when TeX formats a Texinfo file for double-sided
+output, the title is printed in the left-hand (even-numbered) page
+headings and the current chapter title is printed in the right-hand
+(odd-numbered) page headings. (TeX learns the title of each chapter
+from each `@chapter' command.) By default, no page footer is printed.
+
+ Even if you are printing in a single-sided style, TeX looks for an
+`@settitle' command line, in case you include the manual title in the
+heading.
+
+ TeX prints page headings only for that text that comes after the
+`@end titlepage' command in the Texinfo file, or that comes after an
+`@headings' command that turns on headings. (*Note The `@headings'
+Command: headings on off, for more information.)
+
+ You may, if you wish, create your own, customized headings and
+footings. *Note Headings::, for a detailed discussion of this.
+
+
+File: texinfo.info, Node: End of Header, Prev: settitle, Up: Texinfo File Header
+
+3.2.5 End of Header
+-------------------
+
+Follow the header lines with an end-of-header line, which is a Texinfo
+comment that looks like this:
+
+ @c %**end of header
+
+ *Note Start of Header::.
+
+
+File: texinfo.info, Node: Document Permissions, Next: Titlepage & Copyright Page, Prev: Texinfo File Header, Up: Beginning a File
+
+3.3 Document Permissions
+========================
+
+The copyright notice and copying permissions for a document need to
+appear in several places in the various Texinfo output formats.
+Therefore, Texinfo provides a command (`@copying') to declare this text
+once, and another command (`@insertcopying') to insert the text at
+appropriate points.
+
+* Menu:
+
+* copying:: Declare the document's copying permissions.
+* insertcopying:: Where to insert the permissions.
+
+
+File: texinfo.info, Node: copying, Next: insertcopying, Up: Document Permissions
+
+3.3.1 `@copying': Declare Copying Permissions
+---------------------------------------------
+
+The `@copying' command should be given very early in the document; the
+recommended location is right after the header material (*note Texinfo
+File Header::). It conventionally consists of a sentence or two about
+what the program is, identification of the documentation itself, the
+legal copyright line, and the copying permissions. Here is a skeletal
+example:
+
+ @copying
+ This manual is for PROGRAM (version VERSION, updated
+ DATE), which ...
+
+ Copyright @copyright{} YEARS COPYRIGHT-OWNER.
+
+ @quotation
+ Permission is granted to ...
+ @end quotation
+ @end copying
+
+ The `@quotation' has no legal significance; it's there to improve
+readability in some contexts.
+
+ *Note GNU Sample Texts::, for the full text to be used in GNU manuals.
+*Note GNU Free Documentation License::, for the license itself under
+which GNU and other free manuals are distributed. You need to include
+the license as an appendix to your document.
+
+ The text of `@copying' is output as a comment at the beginning of
+Info, HTML, and XML output files. It is _not_ output implicitly in
+plain text or TeX; it's up to you to use `@insertcopying' to emit the
+copying information. See the next section for details.
+
+ The `@copyright{}' command generates a `c' inside a circle in output
+formats that support this (print and HTML). In the other formats (Info
+and plain text), it generates `(C)'. The copyright notice itself has
+the following legally defined sequence:
+
+ Copyright (C) YEARS COPYRIGHT-OWNER.
+
+ The word `Copyright' must always be written in English, even if the
+document is otherwise written in another language. This is due to
+international law.
+
+ The list of years should include all years in which a version was
+completed (even if it was released in a subsequent year). Ranges are
+not allowed; each year must be written out individually and in full,
+separated by commas.
+
+ The copyright owner (or owners) is whoever holds legal copyright on
+the work. In the case of works assigned to the FSF, the owner is `Free
+Software Foundation, Inc.'.
+
+ The copyright `line' may actually be split across multiple lines,
+both in the source document and in the output. This often happens for
+documents with a long history, having many different years of
+publication.
+
+ *Note Copyright Notices: (maintain)Copyright Notices, for additional
+information.
+
+
+File: texinfo.info, Node: insertcopying, Prev: copying, Up: Document Permissions
+
+3.3.2 `@insertcopying': Include Permissions Text
+------------------------------------------------
+
+The `@insertcopying' command is simply written on a line by itself,
+like this:
+
+ @insertcopying
+
+ This inserts the text previously defined by `@copying'. To meet
+legal requirements, it must be used on the copyright page in the printed
+manual (*note Copyright::).
+
+ We also strongly recommend using `@insertcopying' in the Top node of
+your manual (*note The Top Node::), although it is not required
+legally. Here's why:
+
+ The `@copying' command itself causes the permissions text to appear
+in an Info file _before_ the first node. The text is also copied into
+the beginning of each split Info output file, as is legally necessary.
+This location implies a human reading the manual using Info does _not_
+see this text (except when using the advanced Info command `g *').
+Therefore, an explicit `@insertcopying' in the Top node makes it
+apparent to readers that the manual is free.
+
+ Similarly, the `@copying' text is automatically included at the
+beginning of each HTML output file, as an HTML comment. Again, this
+text is not visible (unless the reader views the HTML source). And
+therefore again, the `@insertcopying' in the Top node is valuable
+because it makes the copying permissions visible and thus promotes
+freedom.
+
+ The permissions text defined by `@copying' also appears automatically
+at the beginning of the XML output file.
+
+
+File: texinfo.info, Node: Titlepage & Copyright Page, Next: Contents, Prev: Document Permissions, Up: Beginning a File
+
+3.4 Title and Copyright Pages
+=============================
+
+In hard copy output, the manual's name and author are usually printed on
+a title page. Copyright information is usually printed on the back of
+the title page.
+
+ The title and copyright pages appear in the printed manual, but not in
+the Info file. Because of this, it is possible to use several slightly
+obscure TeX typesetting commands that cannot be used in an Info file.
+In addition, this part of the beginning of a Texinfo file contains the
+text of the copying permissions that appears in the printed manual.
+
+ You may wish to include titlepage-like information for plain text
+output. Simply place any such leading material between `@ifplaintext'
+and `@end ifplaintext'; `makeinfo' includes this when writing plain
+text (`--no-headers'), along with an `@insertcopying'.
+
+* Menu:
+
+* titlepage:: Create a title for the printed document.
+* titlefont center sp:: The `@titlefont', `@center',
+ and `@sp' commands.
+* title subtitle author:: The `@title', `@subtitle',
+ and `@author' commands.
+* Copyright:: How to write the copyright notice and
+ include copying permissions.
+* end titlepage:: Turn on page headings after the title and
+ copyright pages.
+* headings on off:: An option for turning headings on and off
+ and double or single sided printing.
+
+
+File: texinfo.info, Node: titlepage, Next: titlefont center sp, Up: Titlepage & Copyright Page
+
+3.4.1 `@titlepage'
+------------------
+
+Start the material for the title page and following copyright page with
+`@titlepage' on a line by itself and end it with `@end titlepage' on a
+line by itself.
+
+ The `@end titlepage' command starts a new page and turns on page
+numbering. (*Note Page Headings: Headings, for details about how to
+generate page headings.) All the material that you want to appear on
+unnumbered pages should be put between the `@titlepage' and `@end
+titlepage' commands. You can force the table of contents to appear
+there with the `@setcontentsaftertitlepage' command (*note Contents::).
+
+ By using the `@page' command you can force a page break within the
+region delineated by the `@titlepage' and `@end titlepage' commands and
+thereby create more than one unnumbered page. This is how the
+copyright page is produced. (The `@titlepage' command might perhaps
+have been better named the `@titleandadditionalpages' command, but that
+would have been rather long!)
+
+ When you write a manual about a computer program, you should write the
+version of the program to which the manual applies on the title page.
+If the manual changes more frequently than the program or is independent
+of it, you should also include an edition number(1) for the manual.
+This helps readers keep track of which manual is for which version of
+the program. (The `Top' node should also contain this information; see
+*Note The Top Node::.)
+
+ Texinfo provides two main methods for creating a title page. One
+method uses the `@titlefont', `@sp', and `@center' commands to generate
+a title page in which the words on the page are centered.
+
+ The second method uses the `@title', `@subtitle', and `@author'
+commands to create a title page with black rules under the title and
+author lines and the subtitle text set flush to the right hand side of
+the page. With this method, you do not specify any of the actual
+formatting of the title page. You specify the text you want, and
+Texinfo does the formatting.
+
+ You may use either method, or you may combine them; see the examples
+in the sections below.
+
+ For extremely simple documents, and for the bastard title page in
+traditional book frontmatter, Texinfo also provides a command
+`@shorttitlepage' which takes the rest of the line as the title. The
+argument is typeset on a page by itself and followed by a blank page.
+
+ ---------- Footnotes ----------
+
+ (1) We have found that it is helpful to refer to versions of
+independent manuals as `editions' and versions of programs as
+`versions'; otherwise, we find we are liable to confuse each other in
+conversation by referring to both the documentation and the software
+with the same words.
+
+
+File: texinfo.info, Node: titlefont center sp, Next: title subtitle author, Prev: titlepage, Up: Titlepage & Copyright Page
+
+3.4.2 `@titlefont', `@center', and `@sp'
+----------------------------------------
+
+You can use the `@titlefont', `@sp', and `@center' commands to create a
+title page for a printed document. (This is the first of the two
+methods for creating a title page in Texinfo.)
+
+ Use the `@titlefont' command to select a large font suitable for the
+title itself. You can use `@titlefont' more than once if you have an
+especially long title.
+
+ For HTML output, each `@titlefont' command produces an `<h1>'
+heading, but the HTML document `<title>' is not affected. For that,
+you must put an `@settitle' command before the `@titlefont' command
+(*note settitle::).
+
+ For example:
+
+ @titlefont{Texinfo}
+
+ Use the `@center' command at the beginning of a line to center the
+remaining text on that line. Thus,
+
+ @center @titlefont{Texinfo}
+
+centers the title, which in this example is "Texinfo" printed in the
+title font.
+
+ Use the `@sp' command to insert vertical space. For example:
+
+ @sp 2
+
+This inserts two blank lines on the printed page. (*Note `@sp': sp,
+for more information about the `@sp' command.)
+
+ A template for this method looks like this:
+
+ @titlepage
+ @sp 10
+ @center @titlefont{NAME-OF-MANUAL-WHEN-PRINTED}
+ @sp 2
+ @center SUBTITLE-IF-ANY
+ @sp 2
+ @center AUTHOR
+ ...
+ @end titlepage
+
+ The spacing of the example fits an 8.5 by 11 inch manual.
+
+ You can in fact use these commands anywhere, not just on a title page,
+but since they are not logical markup commands, we don't recommend them.
+
+
+File: texinfo.info, Node: title subtitle author, Next: Copyright, Prev: titlefont center sp, Up: Titlepage & Copyright Page
+
+3.4.3 `@title', `@subtitle', and `@author'
+------------------------------------------
+
+You can use the `@title', `@subtitle', and `@author' commands to create
+a title page in which the vertical and horizontal spacing is done for
+you automatically. This contrasts with the method described in the
+previous section, in which the `@sp' command is needed to adjust
+vertical spacing.
+
+ Write the `@title', `@subtitle', or `@author' commands at the
+beginning of a line followed by the title, subtitle, or author. These
+commands are only effective in TeX output; it's an error to use them
+anywhere except within `@titlepage'.
+
+ The `@title' command produces a line in which the title is set flush
+to the left-hand side of the page in a larger than normal font. The
+title is underlined with a black rule. Only a single line is allowed;
+the `@*' command may not be used to break the title into two lines. To
+handle very long titles, you may find it profitable to use both
+`@title' and `@titlefont'; see the final example in this section.
+
+ The `@subtitle' command sets subtitles in a normal-sized font flush
+to the right-hand side of the page.
+
+ The `@author' command sets the names of the author or authors in a
+middle-sized font flush to the left-hand side of the page on a line
+near the bottom of the title page. The names are underlined with a
+black rule that is thinner than the rule that underlines the title.
+(The black rule only occurs if the `@author' command line is followed
+by an `@page' command line.)
+
+ There are two ways to use the `@author' command: you can write the
+name or names on the remaining part of the line that starts with an
+`@author' command:
+
+ @author by Jane Smith and John Doe
+
+or you can write the names one above each other by using two (or more)
+`@author' commands:
+
+ @author Jane Smith
+ @author John Doe
+
+(Only the bottom name is underlined with a black rule.)
+
+ A template for this method looks like this:
+
+ @titlepage
+ @title NAME-OF-MANUAL-WHEN-PRINTED
+ @subtitle SUBTITLE-IF-ANY
+ @subtitle SECOND-SUBTITLE
+ @author AUTHOR
+ @page
+ ...
+ @end titlepage
+
+ You may also combine the `@titlefont' method described in the
+previous section and `@title' method described in this one. This may
+be useful if you have a very long title. Here is a real-life example:
+
+ @titlepage
+ @titlefont{GNU Software}
+ @sp 1
+ @title for MS-Windows and MS-DOS
+ @subtitle Edition @value{e} for Release @value{cde}
+ @author by Daniel Hagerty, Melissa Weisshaus
+ @author and Eli Zaretskii
+
+(The use of `@value' here is explained in *Note value Example::.
+
+
+File: texinfo.info, Node: Copyright, Next: end titlepage, Prev: title subtitle author, Up: Titlepage & Copyright Page
+
+3.4.4 Copyright Page
+--------------------
+
+By international treaty, the copyright notice for a book must be either
+on the title page or on the back of the title page. When the copyright
+notice is on the back of the title page, that page is customarily not
+numbered. Therefore, in Texinfo, the information on the copyright page
+should be within `@titlepage' and `@end titlepage' commands.
+
+ Use the `@page' command to cause a page break. To push the copyright
+notice and the other text on the copyright page towards the bottom of
+the page, use the following incantantion after `@page':
+
+ @vskip 0pt plus 1filll
+
+This is a TeX command that is not supported by the Info formatting
+commands. The `@vskip' command inserts whitespace. The `0pt plus
+1filll' means to put in zero points of mandatory whitespace, and as
+much optional whitespace as needed to push the following text to the
+bottom of the page. Note the use of three `l's in the word `filll';
+this is correct.
+
+ To insert the copyright text itself, write `@insertcopying' next
+(*note Document Permissions::):
+
+ @insertcopying
+
+ Follow the copying text by the publisher, ISBN numbers, cover art
+credits, and other such information.
+
+ Here is an example putting all this together:
+
+ @titlepage
+ ...
+ @page
+ @vskip 0pt plus 1filll
+ @insertcopying
+
+ Published by ...
+
+ Cover art by ...
+ @end titlepage
+
+
+File: texinfo.info, Node: end titlepage, Next: headings on off, Prev: Copyright, Up: Titlepage & Copyright Page
+
+3.4.5 Heading Generation
+------------------------
+
+The `@end titlepage' command must be written on a line by itself. It
+not only marks the end of the title and copyright pages, but also
+causes TeX to start generating page headings and page numbers.
+
+ To repeat what is said elsewhere, Texinfo has two standard page
+heading formats, one for documents which are printed on one side of
+each sheet of paper (single-sided printing), and the other for
+documents which are printed on both sides of each sheet (double-sided
+printing). You can specify these formats in different ways:
+
+ * The conventional way is to write an `@setchapternewpage' command
+ before the title page commands, and then have the `@end titlepage'
+ command start generating page headings in the manner desired.
+ (*Note setchapternewpage::.)
+
+ * Alternatively, you can use the `@headings' command to prevent page
+ headings from being generated or to start them for either single or
+ double-sided printing. (Write an `@headings' command immediately
+ after the `@end titlepage' command. *Note The `@headings'
+ Command: headings on off, for more information.)
+
+ * Or, you may specify your own page heading and footing format.
+ *Note Page Headings: Headings, for detailed information about page
+ headings and footings.
+
+ Most documents are formatted with the standard single-sided or
+double-sided format, using `@setchapternewpage odd' for double-sided
+printing and no `@setchapternewpage' command for single-sided printing.
+
+
+File: texinfo.info, Node: headings on off, Prev: end titlepage, Up: Titlepage & Copyright Page
+
+3.4.6 The `@headings' Command
+-----------------------------
+
+The `@headings' command is rarely used. It specifies what kind of page
+headings and footings to print on each page. Usually, this is
+controlled by the `@setchapternewpage' command. You need the
+`@headings' command only if the `@setchapternewpage' command does not
+do what you want, or if you want to turn off pre-defined page headings
+prior to defining your own. Write an `@headings' command immediately
+after the `@end titlepage' command.
+
+ You can use `@headings' as follows:
+
+`@headings off'
+ Turn off printing of page headings.
+
+`@headings single'
+ Turn on page headings appropriate for single-sided printing.
+
+`@headings double'
+`@headings on'
+ Turn on page headings appropriate for double-sided printing. The
+ two commands, `@headings on' and `@headings double', are
+ synonymous.
+
+`@headings singleafter'
+`@headings doubleafter'
+ Turn on `single' or `double' headings, respectively, after the
+ current page is output.
+
+`@headings on'
+ Turn on page headings: `single' if `@setchapternewpage on',
+ `double' otherwise.
+
+ For example, suppose you write `@setchapternewpage off' before the
+`@titlepage' command to tell TeX to start a new chapter on the same
+page as the end of the last chapter. This command also causes TeX to
+typeset page headers for single-sided printing. To cause TeX to
+typeset for double sided printing, write `@headings double' after the
+`@end titlepage' command.
+
+ You can stop TeX from generating any page headings at all by writing
+`@headings off' on a line of its own immediately after the line
+containing the `@end titlepage' command, like this:
+
+ @end titlepage
+ @headings off
+
+The `@headings off' command overrides the `@end titlepage' command,
+which would otherwise cause TeX to print page headings.
+
+ You can also specify your own style of page heading and footing.
+*Note Page Headings: Headings, for more information.
+
+
+File: texinfo.info, Node: Contents, Next: The Top Node, Prev: Titlepage & Copyright Page, Up: Beginning a File
+
+3.5 Generating a Table of Contents
+==================================
+
+The `@chapter', `@section', and other structuring commands (*note
+Structuring::) supply the information to make up a table of contents,
+but they do not cause an actual table to appear in the manual. To do
+this, you must use the `@contents' and/or `@summarycontents' command(s).
+
+`@contents'
+ Generates a table of contents in a printed manual, including all
+ chapters, sections, subsections, etc., as well as appendices and
+ unnumbered chapters. Headings generated by `@majorheading',
+ `@chapheading', and the other `@...heading' commands do not appear
+ in the table of contents (*note Structuring Command Types::).
+
+`@shortcontents'
+`@summarycontents'
+ (`@summarycontents' is a synonym for `@shortcontents'.)
+
+ Generates a short or summary table of contents that lists only the
+ chapters, appendices, and unnumbered chapters. Sections,
+ subsections and subsubsections are omitted. Only a long manual
+ needs a short table of contents in addition to the full table of
+ contents.
+
+
+ Both contents commands should be written on a line by themselves, and
+are best placed near the beginning of the file, after the `@end
+titlepage' (*note titlepage::). The contents commands automatically
+generate a chapter-like heading at the top of the first table of
+contents page, so don't include any sectioning command such as
+`@unnumbered' before them.
+
+ Since an Info file uses menus instead of tables of contents, the Info
+formatting commands ignore the contents commands. But the contents are
+included in plain text output (generated by `makeinfo --no-headers'),
+unless `makeinfo' is writing its output to standard output.
+
+ When `makeinfo' writes a short table of contents while producing html
+output, the links in the short table of contents point to corresponding
+entries in the full table of contents rather than the text of the
+document. The links in the full table of contents point to the main
+text of the document.
+
+ In the past, the contents commands were sometimes placed at the end of
+the file, after any indices and just before the `@bye', but we no
+longer recommend this.
+
+ However, since many existing Texinfo documents still do have the
+`@contents' at the end of the manual, if you are a user printing a
+manual, you may wish to force the contents to be printed after the
+title page. You can do this by specifying `@setcontentsaftertitlepage'
+and/or `@setshortcontentsaftertitlepage'. The first prints only the
+main contents after the `@end titlepage'; the second prints both the
+short contents and the main contents. In either case, any subsequent
+`@contents' or `@shortcontents' is ignored (unless, erroneously, no
+`@end titlepage' is ever encountered).
+
+ You need to include the `@set...contentsaftertitlepage' commands
+early in the document (just after `@setfilename', for example). We
+recommend using `texi2dvi' (*note Format with texi2dvi::) to specify
+this without altering the source file at all. For example:
+ texi2dvi --texinfo=@setcontentsaftertitlepage foo.texi
+
+
+File: texinfo.info, Node: The Top Node, Next: Global Document Commands, Prev: Contents, Up: Beginning a File
+
+3.6 The `Top' Node and Master Menu
+==================================
+
+The `Top' node is the node in which a reader enters an Info manual. As
+such, it should begin with the `@insertcopying' command (*note Document
+Permissions::) to provide a brief description of the manual (including
+the version number) and copying permissions, and end with a master menu
+for the whole manual. Of course you should include any other general
+information you feel a reader would find helpful.
+
+ It is also conventional to write an `@top' sectioning command line
+containing the title of the document immediately after the `@node Top'
+line (*note The `@top' Sectioning Command: makeinfo top command.).
+
+ The contents of the `Top' node should appear only in the online
+output; none of it should appear in printed output, so enclose it
+between `@ifnottex' and `@end ifnottex' commands. (TeX does not print
+either an `@node' line or a menu; they appear only in Info; strictly
+speaking, you are not required to enclose these parts between
+`@ifnottex' and `@end ifnottext', but it is simplest to do so. *Note
+Conditionally Visible Text: Conditionals.)
+
+* Menu:
+
+* Top Node Example::
+* Master Menu Parts::
+
+
+File: texinfo.info, Node: Top Node Example, Next: Master Menu Parts, Up: The Top Node
+
+3.6.1 Top Node Example
+----------------------
+
+Here is an example of a Top node.
+
+ @ifnottex
+ @node Top
+ @top Sample Title
+
+ @insertcopying
+
+ Additional general information.
+
+ @menu
+ * First Chapter::
+ * Second Chapter::
+ ...
+ * Index::
+ @end menu
+
+
+File: texinfo.info, Node: Master Menu Parts, Prev: Top Node Example, Up: The Top Node
+
+3.6.2 Parts of a Master Menu
+----------------------------
+
+A "master menu" is a detailed main menu listing all the nodes in a file.
+
+ A master menu is enclosed in `@menu' and `@end menu' commands and
+does not appear in the printed document.
+
+ Generally, a master menu is divided into parts.
+
+ * The first part contains the major nodes in the Texinfo file: the
+ nodes for the chapters, chapter-like sections, and the appendices.
+
+ * The second part contains nodes for the indices.
+
+ * The third and subsequent parts contain a listing of the other,
+ lower level nodes, often ordered by chapter. This way, rather
+ than go through an intermediary menu, an inquirer can go directly
+ to a particular node when searching for specific information.
+ These menu items are not required; add them if you think they are a
+ convenience. If you do use them, put `@detailmenu' before the
+ first one, and `@end detailmenu' after the last; otherwise,
+ `makeinfo' will get confused.
+
+ Each section in the menu can be introduced by a descriptive line. So
+long as the line does not begin with an asterisk, it will not be
+treated as a menu entry. (*Note Writing a Menu::, for more
+information.)
+
+ For example, the master menu for this manual looks like the following
+(but has many more entries):
+
+ @menu
+ * Copying Conditions:: Your rights.
+ * Overview:: Texinfo in brief.
+ ...
+ * Command and Variable Index::
+ * Concept Index::
+
+ @detailmenu
+ --- The Detailed Node Listing ---
+
+ Overview of Texinfo
+
+ * Reporting Bugs:: ...
+ ...
+
+ Beginning a Texinfo File
+
+ * Sample Beginning:: ...
+ ...
+ @end detailmenu
+ @end menu
+
+
+File: texinfo.info, Node: Global Document Commands, Next: Software Copying Permissions, Prev: The Top Node, Up: Beginning a File
+
+3.7 Global Document Commands
+============================
+
+Besides the basic commands mentioned in the previous sections, here are
+additional commands which affect the document as a whole. They are
+generally all given before the Top node, if they are given at all.
+
+* Menu:
+
+* documentdescription:: Document summary for the HTML output.
+* setchapternewpage:: Start chapters on right-hand pages.
+* paragraphindent:: Specify paragraph indentation.
+* firstparagraphindent:: Suppress indentation of the first paragraph.
+* exampleindent:: Specify environment indentation.
+
+
+File: texinfo.info, Node: documentdescription, Next: setchapternewpage, Up: Global Document Commands
+
+3.7.1 `@documentdescription': Summary Text
+------------------------------------------
+
+When producing HTML output for a document, `makeinfo' writes a `<meta>'
+element in the `<head>' to give some idea of the content of the
+document. By default, this "description" is the title of the document,
+taken from the `@settitle' command (*note settitle::). To change this,
+use the `@documentdescription' environment, as in:
+
+ @documentdescription
+ descriptive text.
+ @end documentdescription
+
+This will produce the following output in the `<head>' of the HTML:
+
+ <meta name=description content="descriptive text.">
+
+ `@documentdescription' must be specified before the first node of the
+document.
+
+
+File: texinfo.info, Node: setchapternewpage, Next: paragraphindent, Prev: documentdescription, Up: Global Document Commands
+
+3.7.2 `@setchapternewpage':
+---------------------------
+
+In an officially bound book, text is usually printed on both sides of
+the paper, chapters start on right-hand pages, and right-hand pages have
+odd numbers. But in short reports, text often is printed only on one
+side of the paper. Also in short reports, chapters sometimes do not
+start on new pages, but are printed on the same page as the end of the
+preceding chapter, after a small amount of vertical whitespace.
+
+ You can use the `@setchapternewpage' command with various arguments
+to specify how TeX should start chapters and whether it should format
+headers for printing on one or both sides of the paper (single-sided or
+double-sided printing).
+
+ Write the `@setchapternewpage' command at the beginning of a line
+followed by its argument.
+
+ For example, you would write the following to cause each chapter to
+start on a fresh odd-numbered page:
+
+ @setchapternewpage odd
+
+ You can specify one of three alternatives with the
+`@setchapternewpage' command:
+
+`@setchapternewpage off'
+ Cause TeX to typeset a new chapter on the same page as the last
+ chapter, after skipping some vertical whitespace. Also, cause TeX
+ to format page headers for single-sided printing.
+
+`@setchapternewpage on'
+ Cause TeX to start new chapters on new pages and to format page
+ headers for single-sided printing. This is the form most often
+ used for short reports or personal printing. This is the default.
+
+`@setchapternewpage odd'
+ Cause TeX to start new chapters on new, odd-numbered pages
+ (right-handed pages) and to typeset for double-sided printing.
+ This is the form most often used for books and manuals.
+
+ Texinfo does not have an `@setchapternewpage even' command, because
+there is no printing tradition of starting chapters or books on an
+even-numbered page.
+
+ If you don't like the default headers that `@setchapternewpage' sets,
+you can explicit control them with the `@headings' command. *Note The
+`@headings' Command: headings on off.
+
+ At the beginning of a manual or book, pages are not numbered--for
+example, the title and copyright pages of a book are not numbered. By
+convention, table of contents and frontmatter pages are numbered with
+roman numerals and not in sequence with the rest of the document.
+
+ Since an Info file does not have pages, the `@setchapternewpage'
+command has no effect on it.
+
+ We recommend not including any `@setchapternewpage' command in your
+manual sources at all, since the desired output is not intrinsic to the
+document. For a particular hard copy run, if you don't want the
+default option (no blank pages, same headers on all pages) use the
+`--texinfo' option to `texi2dvi' to specify the output you want.
+
+
+File: texinfo.info, Node: paragraphindent, Next: firstparagraphindent, Prev: setchapternewpage, Up: Global Document Commands
+
+3.7.3 `@paragraphindent': Paragraph Indenting
+---------------------------------------------
+
+The Texinfo processors may insert whitespace at the beginning of the
+first line of each paragraph, thereby indenting that paragraph. You can
+use the `@paragraphindent' command to specify this indentation. Write
+an `@paragraphindent' command at the beginning of a line followed by
+either `asis' or a number:
+
+ @paragraphindent INDENT
+
+ The indentation is according to the value of INDENT:
+
+`asis'
+ Do not change the existing indentation (not implemented in TeX).
+
+`none'
+0
+ Omit all indentation.
+
+N
+ Indent by N space characters in Info output, by N ems in TeX.
+
+
+ The default value of INDENT is 3. `@paragraphindent' is ignored for
+HTML output.
+
+ It is best to write the `@paragraphindent' command before the
+end-of-header line at the beginning of a Texinfo file, so the region
+formatting commands indent paragraphs as specified. *Note Start of
+Header::.
+
+ A peculiarity of the `texinfo-format-buffer' and
+`texinfo-format-region' commands is that they do not indent (nor fill)
+paragraphs that contain `@w' or `@*' commands.
+
+
+File: texinfo.info, Node: firstparagraphindent, Next: exampleindent, Prev: paragraphindent, Up: Global Document Commands
+
+3.7.4 `@firstparagraphindent': Indenting After Headings
+-------------------------------------------------------
+
+As you can see in the present manual, the first paragraph in any
+section is not indented by default. Typographically, indentation is a
+paragraph separator, which means that it is unnecessary when a new
+section begins. This indentation is controlled with the
+`@firstparagraphindent' command:
+
+ @firstparagraphindent WORD
+
+ The first paragraph after a heading is indented according to the value
+of WORD:
+
+`none'
+ Prevents the first paragraph from being indented (default). This
+ option is ignored by `makeinfo' if `@paragraphindent asis' is in
+ effect.
+
+`insert'
+ Include normal paragraph indentation. This respects the paragraph
+ indentation set by a `@paragraphindent' command (*note
+ paragraphindent::).
+
+ For HTML and XML output, the `@firstparagraphindent' setting is
+ignored.
+
+ It is best to write the `@paragraphindent' command before the
+end-of-header line at the beginning of a Texinfo file, so the region
+formatting commands indent paragraphs as specified. *Note Start of
+Header::.
+
+
+File: texinfo.info, Node: exampleindent, Prev: firstparagraphindent, Up: Global Document Commands
+
+3.7.5 `@exampleindent': Environment Indenting
+---------------------------------------------
+
+The Texinfo processors indent each line of `@example' and similar
+environments. You can use the `@exampleindent' command to specify this
+indentation. Write an `@exampleindent' command at the beginning of a
+line followed by either `asis' or a number:
+
+ @exampleindent INDENT
+
+ The indentation is according to the value of INDENT:
+
+`asis'
+ Do not change the existing indentation (not implemented in TeX).
+
+0
+ Omit all indentation.
+
+N
+ Indent environments by N space characters in Info output, by N ems
+ in TeX.
+
+
+ The default value of INDENT is 5. `@exampleindent' is ignored for
+HTML output.
+
+ It is best to write the `@exampleindent' command before the
+end-of-header line at the beginning of a Texinfo file, so the region
+formatting commands indent paragraphs as specified. *Note Start of
+Header::.
+
+
+File: texinfo.info, Node: Software Copying Permissions, Prev: Global Document Commands, Up: Beginning a File
+
+3.8 Software Copying Permissions
+================================
+
+If the Texinfo file has a section containing the "General Public
+License" and the distribution information and a warranty disclaimer for
+the software that is documented, we recommend placing this right after
+the `Top' node. The General Public License is very important to Project
+GNU software. It ensures that you and others will continue to have a
+right to use and share the software.
+
+ The copying and distribution information and the disclaimer are
+followed by an introduction or else by the first chapter of the manual.
+
+ Although an introduction is not a required part of a Texinfo file, it
+is very helpful. Ideally, it should state clearly and concisely what
+the file is about and who would be interested in reading it. In
+general, an introduction would follow the licensing and distribution
+information, although sometimes people put it earlier in the document.
+
+
+File: texinfo.info, Node: Ending a File, Next: Structuring, Prev: Beginning a File, Up: Top
+
+4 Ending a Texinfo File
+***********************
+
+The end of a Texinfo file should include commands to create indices,
+and the `@bye' command to mark the last line to be processed.
+
+ For example:
+
+ @node Index
+ @unnumbered Index
+
+ @printindex cp
+
+ @bye
+
+* Menu:
+
+* Printing Indices & Menus:: How to print an index in hardcopy and
+ generate index menus in Info.
+* File End:: How to mark the end of a file.
+
+
+File: texinfo.info, Node: Printing Indices & Menus, Next: File End, Up: Ending a File
+
+4.1 Printing Indices and Menus
+==============================
+
+To print an index means to include it as part of a manual or Info file.
+This does not happen automatically just because you use `@cindex' or
+other index-entry generating commands in the Texinfo file; those just
+cause the raw data for the index to be accumulated. To generate an
+index, you must include the `@printindex' command at the place in the
+document where you want the index to appear. Also, as part of the
+process of creating a printed manual, you must run a program called
+`texindex' (*note Hardcopy::) to sort the raw data to produce a sorted
+index file. The sorted index file is what is actually used to print
+the index.
+
+ Texinfo offers six separate types of predefined index, which suffice
+in most cases. *Note Indices::, for information on this, as well
+defining your own new indices, combining indices, and, most importantly
+advice on writing the actual index entries. This section focuses on
+printing indices, which is done with the `@printindex' command.
+
+ `@printindex' takes one argument, a two-letter index abbreviation.
+It reads the corresponding sorted index file (for printed output), and
+formats it appropriately into an index.
+
+ The `@printindex' command does not generate a chapter heading for the
+index, since different manuals have different needs. Consequently, you
+should precede the `@printindex' command with a suitable section or
+chapter command (usually `@appendix' or `@unnumbered') to supply the
+chapter heading and put the index into the table of contents. Precede
+the chapter heading with an `@node' line as usual.
+
+ For example:
+
+ @node Variable Index
+ @unnumbered Variable Index
+
+ @printindex vr
+
+ @node Concept Index
+ @unnumbered Concept Index
+
+ @printindex cp
+
+ If you have more than one index, we recommend placing the concept
+index last.
+
+ * In printed output, `@printindex' produces a traditional two-column
+ index, with dot leaders between the index terms and page numbers.
+
+ * In Info output, `@printindex' produces a special menu containing
+ the line number of the entry, relative to the start of the node.
+ Info readers can use this to go to the exact line of an entry, not
+ just the containing node. (Older Info readers will just go to the
+ node.) Here's an example:
+
+ * First index entry: Top. (line 7)
+
+ The actual number of spaces is variable, to right-justify the line
+ number; it's been reduced here to make the line fit in the printed
+ manual.
+
+ * In plain text output, `@printindex' produces the same menu, but
+ the line numbers are relative to the start of the file, since
+ that's more convenient for that format.
+
+ * In HTML and Docbook output, `@printindex' produces links to the
+ index entries.
+
+ * In XML output, it simply records the index to be printed.
+
+ It's not possible to generate an index when writing to standard
+output; `makeinfo' generates a warning in this case.
+
+
+File: texinfo.info, Node: File End, Prev: Printing Indices & Menus, Up: Ending a File
+
+4.2 `@bye' File Ending
+======================
+
+An `@bye' command terminates Texinfo processing. None of the
+formatters read anything following `@bye'. The `@bye' command should
+be on a line by itself.
+
+ If you wish, you may follow the `@bye' line with notes. These notes
+will not be formatted and will not appear in either Info or a printed
+manual; it is as if text after `@bye' were within `@ignore' ... `@end
+ignore'. Also, you may follow the `@bye' line with a local variables
+list for Emacs. *Note Using Local Variables and the Compile Command:
+Compile-Command, for more information.
+
+
+File: texinfo.info, Node: Structuring, Next: Nodes, Prev: Ending a File, Up: Top
+
+5 Chapter Structuring
+*********************
+
+The "chapter structuring" commands divide a document into a hierarchy of
+chapters, sections, subsections, and subsubsections. These commands
+generate large headings; they also provide information for the table of
+contents of a printed manual (*note Generating a Table of Contents:
+Contents.).
+
+ The chapter structuring commands do not create an Info node structure,
+so normally you should put an `@node' command immediately before each
+chapter structuring command (*note Nodes::). The only time you are
+likely to use the chapter structuring commands without using the node
+structuring commands is if you are writing a document that contains no
+cross references and will never be transformed into Info format.
+
+ It is unlikely that you will ever write a Texinfo file that is
+intended only as an Info file and not as a printable document. If you
+do, you might still use chapter structuring commands to create a
+heading at the top of each node--but you don't need to.
+
+* Menu:
+
+* Tree Structuring:: A manual is like an upside down tree ...
+* Structuring Command Types:: How to divide a manual into parts.
+* makeinfo top:: The `@top' command, part of the `Top' node.
+* chapter::
+* unnumbered & appendix::
+* majorheading & chapheading::
+* section::
+* unnumberedsec appendixsec heading::
+* subsection::
+* unnumberedsubsec appendixsubsec subheading::
+* subsubsection:: Commands for the lowest level sections.
+* Raise/lower sections:: How to change commands' hierarchical level.
+
+
+File: texinfo.info, Node: Tree Structuring, Next: Structuring Command Types, Up: Structuring
+
+5.1 Tree Structure of Sections
+==============================
+
+A Texinfo file is usually structured like a book with chapters,
+sections, subsections, and the like. This structure can be visualized
+as a tree (or rather as an upside-down tree) with the root at the top
+and the levels corresponding to chapters, sections, subsection, and
+subsubsections.
+
+ Here is a diagram that shows a Texinfo file with three chapters, each
+of which has two sections.
+
+ Top
+ |
+ -------------------------------------
+ | | |
+ Chapter 1 Chapter 2 Chapter 3
+ | | |
+ -------- -------- --------
+ | | | | | |
+ Section Section Section Section Section Section
+ 1.1 1.2 2.1 2.2 3.1 3.2
+
+ In a Texinfo file that has this structure, the beginning of Chapter 2
+looks like this:
+
+ @node Chapter 2, Chapter 3, Chapter 1, top
+ @chapter Chapter 2
+
+ The chapter structuring commands are described in the sections that
+follow; the `@node' and `@menu' commands are described in following
+chapters. (*Note Nodes::, and see *Note Menus::.)
+
+
+File: texinfo.info, Node: Structuring Command Types, Next: makeinfo top, Prev: Tree Structuring, Up: Structuring
+
+5.2 Structuring Command Types
+=============================
+
+The chapter structuring commands fall into four groups or series, each
+of which contains structuring commands corresponding to the
+hierarchical levels of chapters, sections, subsections, and
+subsubsections.
+
+ The four groups are the `@chapter' series, the `@unnumbered' series,
+the `@appendix' series, and the `@heading' series.
+
+ Each command produces titles that have a different appearance on the
+printed page or Info file; only some of the commands produce titles
+that are listed in the table of contents of a printed book or manual.
+
+ * The `@chapter' and `@appendix' series of commands produce numbered
+ or lettered entries both in the body of a printed work and in its
+ table of contents.
+
+ * The `@unnumbered' series of commands produce unnumbered entries
+ both in the body of a printed work and in its table of contents.
+ The `@top' command, which has a special use, is a member of this
+ series (*note `@top': makeinfo top.). An `@unnumbered' section
+ should be associated with a node and be a normal part of the
+ document structure.
+
+ * The `@heading' series of commands produce simple unnumbered
+ headings that do not appear in a table of contents, are not
+ associated with nodes, and cannot be cross-referenced. The
+ heading commands never start a new page.
+
+ * The `@majorheading' command is similar to `@chapheading', except
+ that it generates a larger vertical whitespace before the heading.
+
+ * When an `@setchapternewpage' command says to do so, the
+ `@chapter', `@unnumbered', and `@appendix' commands start new
+ pages in the printed manual; the `@heading' commands do not.
+
+ Here are the four groups of chapter structuring commands:
+
+ No new page
+Numbered Unnumbered Lettered/numbered Unnumbered
+In contents In contents In contents Not in contents
+ `@top' `@majorheading'
+`@chapter' `@unnumbered' `@appendix' `@chapheading'
+`@section' `@unnumberedsec' `@appendixsec' `@heading'
+`@subsection' `@unnumberedsubsec' `@appendixsubsec' `@subheading'
+`@subsubsection'`@unnumberedsubsubsec' `@appendixsubsubsec' `@subsubheading'
+
+
+File: texinfo.info, Node: makeinfo top, Next: chapter, Prev: Structuring Command Types, Up: Structuring
+
+5.3 `@top'
+==========
+
+The `@top' command is a special sectioning command that you use only
+after an `@node Top' line at the beginning of a Texinfo file. The
+`@top' command tells the `makeinfo' formatter which node is the `Top'
+node, so it can use it as the root of the node tree if your manual uses
+implicit node pointers. It has the same typesetting effect as
+`@unnumbered' (*note `@unnumbered' and `@appendix': unnumbered &
+appendix.). For detailed information, see *Note The `@top' Command:
+makeinfo top command.
+
+ The `@top' node and its menu (if any) is conventionally wrapped in an
+`@ifnottex' conditional so that it will appear only in Info and HTML
+output, not TeX.
+
+
+File: texinfo.info, Node: chapter, Next: unnumbered & appendix, Prev: makeinfo top, Up: Structuring
+
+5.4 `@chapter'
+==============
+
+`@chapter' identifies a chapter in the document. Write the command at
+the beginning of a line and follow it on the same line by the title of
+the chapter.
+
+ For example, this chapter in this manual is entitled "Chapter
+Structuring"; the `@chapter' line looks like this:
+
+ @chapter Chapter Structuring
+
+ In TeX, the `@chapter' command creates a chapter in the document,
+specifying the chapter title. The chapter is numbered automatically.
+
+ In Info, the `@chapter' command causes the title to appear on a line
+by itself, with a line of asterisks inserted underneath. Thus, in
+Info, the above example produces the following output:
+
+ Chapter Structuring
+ *******************
+
+ Texinfo also provides a command `@centerchap', which is analogous to
+`@unnumbered', but centers its argument in the printed output. This
+kind of stylistic choice is not usually offered by Texinfo.
+
+
+File: texinfo.info, Node: unnumbered & appendix, Next: majorheading & chapheading, Prev: chapter, Up: Structuring
+
+5.5 `@unnumbered' and `@appendix'
+=================================
+
+Use the `@unnumbered' command to create a chapter that appears in a
+printed manual without chapter numbers of any kind. Use the
+`@appendix' command to create an appendix in a printed manual that is
+labelled by letter instead of by number.
+
+ For Info file output, the `@unnumbered' and `@appendix' commands are
+equivalent to `@chapter': the title is printed on a line by itself with
+a line of asterisks underneath. (*Note `@chapter': chapter.)
+
+ To create an appendix or an unnumbered chapter, write an `@appendix'
+or `@unnumbered' command at the beginning of a line and follow it on
+the same line by the title, as you would if you were creating a chapter.
+
+
+File: texinfo.info, Node: majorheading & chapheading, Next: section, Prev: unnumbered & appendix, Up: Structuring
+
+5.6 `@majorheading', `@chapheading'
+===================================
+
+The `@majorheading' and `@chapheading' commands put chapter-like
+headings in the body of a document.
+
+ However, neither command causes TeX to produce a numbered heading or
+an entry in the table of contents; and neither command causes TeX to
+start a new page in a printed manual.
+
+ In TeX, an `@majorheading' command generates a larger vertical
+whitespace before the heading than an `@chapheading' command but is
+otherwise the same.
+
+ In Info, the `@majorheading' and `@chapheading' commands are
+equivalent to `@chapter': the title is printed on a line by itself with
+a line of asterisks underneath. (*Note `@chapter': chapter.)
+
+
+File: texinfo.info, Node: section, Next: unnumberedsec appendixsec heading, Prev: majorheading & chapheading, Up: Structuring
+
+5.7 `@section'
+==============
+
+In a printed manual, an `@section' command identifies a numbered
+section within a chapter. The section title appears in the table of
+contents. In Info, an `@section' command provides a title for a
+segment of text, underlined with `='.
+
+ This section is headed with an `@section' command and looks like this
+in the Texinfo file:
+
+ @section @code{@@section}
+
+ To create a section, write the `@section' command at the beginning of
+a line and follow it on the same line by the section title.
+
+ Thus,
+
+ @section This is a section
+
+produces
+
+ This is a section
+ =================
+
+in Info.
+
+
+File: texinfo.info, Node: unnumberedsec appendixsec heading, Next: subsection, Prev: section, Up: Structuring
+
+5.8 `@unnumberedsec', `@appendixsec', `@heading'
+================================================
+
+The `@unnumberedsec', `@appendixsec', and `@heading' commands are,
+respectively, the unnumbered, appendix-like, and heading-like
+equivalents of the `@section' command. (*Note `@section': section.)
+
+`@unnumberedsec'
+ The `@unnumberedsec' command may be used within an unnumbered
+ chapter or within a regular chapter or appendix to provide an
+ unnumbered section.
+
+`@appendixsec'
+`@appendixsection'
+ `@appendixsection' is a longer spelling of the `@appendixsec'
+ command; the two are synonymous.
+
+ Conventionally, the `@appendixsec' or `@appendixsection' command
+ is used only within appendices.
+
+`@heading'
+ You may use the `@heading' command anywhere you wish for a
+ section-style heading that will not appear in the table of
+ contents.
+
+
+File: texinfo.info, Node: subsection, Next: unnumberedsubsec appendixsubsec subheading, Prev: unnumberedsec appendixsec heading, Up: Structuring
+
+5.9 The `@subsection' Command
+=============================
+
+Subsections are to sections as sections are to chapters. (*Note
+`@section': section.) In Info, subsection titles are underlined with
+`-'. For example,
+
+ @subsection This is a subsection
+
+produces
+
+ This is a subsection
+ --------------------
+
+ In a printed manual, subsections are listed in the table of contents
+and are numbered three levels deep.
+
+
+File: texinfo.info, Node: unnumberedsubsec appendixsubsec subheading, Next: subsubsection, Prev: subsection, Up: Structuring
+
+5.10 The `@subsection'-like Commands
+====================================
+
+The `@unnumberedsubsec', `@appendixsubsec', and `@subheading' commands
+are, respectively, the unnumbered, appendix-like, and heading-like
+equivalents of the `@subsection' command. (*Note `@subsection':
+subsection.)
+
+ In Info, the `@subsection'-like commands generate a title underlined
+with hyphens. In a printed manual, an `@subheading' command produces a
+heading like that of a subsection except that it is not numbered and
+does not appear in the table of contents. Similarly, an
+`@unnumberedsubsec' command produces an unnumbered heading like that of
+a subsection and an `@appendixsubsec' command produces a
+subsection-like heading labelled with a letter and numbers; both of
+these commands produce headings that appear in the table of contents.
+
+
+File: texinfo.info, Node: subsubsection, Next: Raise/lower sections, Prev: unnumberedsubsec appendixsubsec subheading, Up: Structuring
+
+5.11 The `subsub' Commands
+==========================
+
+The fourth and lowest level sectioning commands in Texinfo are the
+`subsub' commands. They are:
+
+`@subsubsection'
+ Subsubsections are to subsections as subsections are to sections.
+ (*Note `@subsection': subsection.) In a printed manual,
+ subsubsection titles appear in the table of contents and are
+ numbered four levels deep.
+
+`@unnumberedsubsubsec'
+ Unnumbered subsubsection titles appear in the table of contents of
+ a printed manual, but lack numbers. Otherwise, unnumbered
+ subsubsections are the same as subsubsections. In Info, unnumbered
+ subsubsections look exactly like ordinary subsubsections.
+
+`@appendixsubsubsec'
+ Conventionally, appendix commands are used only for appendices and
+ are lettered and numbered appropriately in a printed manual. They
+ also appear in the table of contents. In Info, appendix
+ subsubsections look exactly like ordinary subsubsections.
+
+`@subsubheading'
+ The `@subsubheading' command may be used anywhere that you need a
+ small heading that will not appear in the table of contents. In
+ Info, subsubheadings look exactly like ordinary subsubsection
+ headings.
+
+ In Info, `subsub' titles are underlined with periods. For example,
+
+ @subsubsection This is a subsubsection
+
+produces
+
+ This is a subsubsection
+ .......................
+
+
+File: texinfo.info, Node: Raise/lower sections, Prev: subsubsection, Up: Structuring
+
+5.12 `@raisesections' and `@lowersections'
+==========================================
+
+The `@raisesections' and `@lowersections' commands implicitly raise and
+lower the hierarchical level of following chapters, sections and the
+other sectioning commands.
+
+ That is, the `@raisesections' command changes sections to chapters,
+subsections to sections, and so on. Conversely, the `@lowersections'
+command changes chapters to sections, sections to subsections, and so
+on. Thus, an `@lowersections' command cancels an `@raisesections'
+command, and vice versa.
+
+ You can use `@lowersections' to include text written as an outer or
+standalone Texinfo file in another Texinfo file as an inner, included
+file. Typical usage looks like this:
+
+ @lowersections
+ @include somefile.texi
+ @raisesections
+
+(Without the `@raisesections', all the subsequent sections in the
+document would be lowered.)
+
+ If the included file being lowered has a `@top' node, you'll need to
+conditionalize its inclusion with a flag (*note set value::).
+
+ Another difficulty can arise with documents that use the (recommended)
+feature of `makeinfo' for implicitly determining node pointers. Since
+`makeinfo' must assume a hierarchically organized document to determine
+the pointers, you cannot just arbitrarily sprinkle `@raisesections' and
+`@lowersections' commands in the document. The final result has to
+have menus that take the raising and lowering into account. Therefore,
+as a practical matter, you generally only want to raise or lower large
+chunks, usually in external files as shown above.
+
+ Repeated use of the commands continue to raise or lower the
+hierarchical level a step at a time. An attempt to raise above
+`chapter' reproduces chapter commands; an attempt to lower below
+`subsubsection' reproduces subsubsection commands. Also, lowered
+subsubsections and raised chapters will not work with `makeinfo''s
+feature of implicitly determining node pointers, since the menu
+structure won't be correct.
+
+ Write each `@raisesections' and `@lowersections' command on a line of
+its own.
+
+
+File: texinfo.info, Node: Nodes, Next: Menus, Prev: Structuring, Up: Top
+
+6 Nodes
+*******
+
+"Nodes" are the primary segments of a Texinfo file. They do not in and
+of themselves impose a hierarchical or any other kind of structure on a
+file. Nodes contain "node pointers" that name other nodes, and can
+contain "menus" which are lists of nodes. In Info, the movement
+commands can carry you to a pointed-to node or to a node listed in a
+menu.
+
+ Node pointers and menus provide structure for Info files just as
+chapters, sections, subsections, and the like, provide structure for
+printed books.
+
+ Because node names are used in cross-references, it is not desirable
+to casually change them. Such name changes invalidate references from
+other manuals, from mail archives, and so on.
+
+* Menu:
+
+* Two Paths:: Different commands to structure
+ Info output and printed output.
+* Node Menu Illustration:: A diagram, and sample nodes and menus.
+* node:: Creating nodes, in detail.
+* makeinfo Pointer Creation:: Letting makeinfo determine node pointers.
+* anchor:: Defining arbitrary cross-reference targets.
+
+
+File: texinfo.info, Node: Two Paths, Next: Node Menu Illustration, Up: Nodes
+
+6.1 Two Paths
+=============
+
+The node and menu commands and the chapter structuring commands are
+technically independent of each other:
+
+ * In Info, node and menu commands provide structure. The chapter
+ structuring commands generate headings with different kinds of
+ underlining--asterisks for chapters, hyphens for sections, and so
+ on; they do nothing else.
+
+ * In TeX, the chapter structuring commands generate chapter and
+ section numbers and tables of contents. The node and menu
+ commands provide information for cross references; they do nothing
+ else.
+
+ You can use node pointers and menus to structure an Info file any way
+you want; and you can write a Texinfo file so that its Info output has a
+different structure than its printed output. However, virtually all
+Texinfo files are written such that the structure for the Info output
+corresponds to the structure for the printed output. It is neither
+convenient nor understandable to the reader to do otherwise.
+
+ Generally, printed output is structured in a tree-like hierarchy in
+which the chapters are the major limbs from which the sections branch
+out. Similarly, node pointers and menus are organized to create a
+matching structure in the Info output.
+
+
+File: texinfo.info, Node: Node Menu Illustration, Next: node, Prev: Two Paths, Up: Nodes
+
+6.2 Node and Menu Illustration
+==============================
+
+Here is a copy of the diagram shown earlier that illustrates a Texinfo
+file with three chapters, each of which contains two sections.
+
+ The "root" is at the top of the diagram and the "leaves" are at the
+bottom. This is how such a diagram is drawn conventionally; it
+illustrates an upside-down tree. For this reason, the root node is
+called the `Top' node, and `Up' node pointers carry you closer to the
+root.
+
+ Top
+ |
+ -------------------------------------
+ | | |
+ Chapter 1 Chapter 2 Chapter 3
+ | | |
+ -------- -------- --------
+ | | | | | |
+ Section Section Section Section Section Section
+ 1.1 1.2 2.1 2.2 3.1 3.2
+
+ The fully-written command to start Chapter 2 would be this:
+
+ @node Chapter 2, Chapter 3, Chapter 1, Top
+ @comment node-name, next, previous, up
+
+This `@node' line says that the name of this node is "Chapter 2", the
+name of the `Next' node is "Chapter 3", the name of the `Previous' node
+is "Chapter 1", and the name of the `Up' node is "Top". You can omit
+writing out these node names if your document is hierarchically
+organized (*note makeinfo Pointer Creation::), but the pointer
+relationships still obtain.
+
+ Note: *Please Note:* `Next' refers to the next node at the same
+ hierarchical level in the manual, not necessarily to the next node
+ within the Texinfo file. In the Texinfo file, the subsequent node
+ may be at a lower level--a section-level node most often follows a
+ chapter-level node, for example. `Next' and `Previous' refer to
+ nodes at the _same_ hierarchical level. (The `Top' node contains
+ the exception to this rule. Since the `Top' node is the only node
+ at that level, `Next' refers to the first following node, which is
+ almost always a chapter or chapter-level node.)
+
+ To go to Sections 2.1 and 2.2 using Info, you need a menu inside
+Chapter 2. (*Note Menus::.) You would write the menu just before the
+beginning of Section 2.1, like this:
+
+ @menu
+ * Sect. 2.1:: Description of this section.
+ * Sect. 2.2::
+ @end menu
+
+ Write the node for Sect. 2.1 like this:
+
+ @node Sect. 2.1, Sect. 2.2, Chapter 2, Chapter 2
+ @comment node-name, next, previous, up
+
+ In Info format, the `Next' and `Previous' pointers of a node usually
+lead to other nodes at the same level--from chapter to chapter or from
+section to section (sometimes, as shown, the `Previous' pointer points
+up); an `Up' pointer usually leads to a node at the level above (closer
+to the `Top' node); and a `Menu' leads to nodes at a level below (closer
+to `leaves'). (A cross reference can point to a node at any level; see
+*Note Cross References::.)
+
+ Usually, an `@node' command and a chapter structuring command are
+used in sequence, along with indexing commands. (You may follow the
+`@node' line with a comment line that reminds you which pointer is
+which.)
+
+ Here is the beginning of the chapter in this manual called "Ending a
+Texinfo File". This shows an `@node' line followed by a comment line,
+an `@chapter' line, and then by indexing lines.
+
+ @node Ending a File, Structuring, Beginning a File, Top
+ @comment node-name, next, previous, up
+ @chapter Ending a Texinfo File
+ @cindex Ending a Texinfo file
+ @cindex Texinfo file ending
+ @cindex File ending
+
+
+File: texinfo.info, Node: node, Next: makeinfo Pointer Creation, Prev: Node Menu Illustration, Up: Nodes
+
+6.3 The `@node' Command
+=======================
+
+A "node" is a segment of text that begins at an `@node' command and
+continues until the next `@node' command. The definition of node is
+different from that for chapter or section. A chapter may contain
+sections and a section may contain subsections; but a node cannot
+contain subnodes; the text of a node continues only until the next
+`@node' command in the file. A node usually contains only one chapter
+structuring command, the one that follows the `@node' line. On the
+other hand, in printed output nodes are used only for cross references,
+so a chapter or section may contain any number of nodes. Indeed, a
+chapter usually contains several nodes, one for each section,
+subsection, and subsubsection.
+
+ To create a node, write an `@node' command at the beginning of a
+line, and follow it with up to four arguments, separated by commas, on
+the rest of the same line. The first argument is required; it is the
+name of this node. The subsequent arguments are the names of the
+`Next', `Previous', and `Up' pointers, in that order, and may be omitted
+if your Texinfo document is hierarchically organized (*note makeinfo
+Pointer Creation::).
+
+ You may insert spaces before each name if you wish; the spaces are
+ignored. You must write the name of the node and (if present) the names
+of the `Next', `Previous', and `Up' pointers all on the same line.
+Otherwise, the formatters fail. (*note info: (info)Top, for more
+information about nodes in Info.)
+
+ Usually, you write one of the chapter-structuring command lines
+immediately after an `@node' line--for example, an `@section' or
+`@subsection' line. (*Note Structuring Command Types::.)
+
+ Note: The GNU Emacs Texinfo mode updating commands work only with
+ Texinfo files in which `@node' lines are followed by chapter
+ structuring lines. *Note Updating Requirements::.
+
+ TeX uses `@node' lines to identify the names to use for cross
+references. For this reason, you must write `@node' lines in a Texinfo
+file that you intend to format for printing, even if you do not intend
+to format it for Info. (Cross references, such as the one at the end
+of this sentence, are made with `@xref' and related commands; see *Note
+Cross References::.)
+
+* Menu:
+
+* Node Names:: How to choose node and pointer names.
+* Writing a Node:: How to write an `@node' line.
+* Node Line Tips:: Keep names short.
+* Node Line Requirements:: Keep names unique, without @-commands.
+* First Node:: How to write a `Top' node.
+* makeinfo top command:: How to use the `@top' command.
+
+
+File: texinfo.info, Node: Node Names, Next: Writing a Node, Up: node
+
+6.3.1 Choosing Node and Pointer Names
+-------------------------------------
+
+The name of a node identifies the node. The pointers enable you to
+reach other nodes and consist simply of the names of those nodes.
+
+ Normally, a node's `Up' pointer contains the name of the node whose
+menu mentions that node. The node's `Next' pointer contains the name
+of the node that follows that node in that menu and its `Previous'
+pointer contains the name of the node that precedes it in that menu.
+When a node's `Previous' node is the same as its `Up' node, both node
+pointers name the same node.
+
+ Usually, the first node of a Texinfo file is the `Top' node, and its
+`Up' and `Previous' pointers point to the `dir' file, which contains
+the main menu for all of Info.
+
+ The `Top' node itself contains the main or master menu for the manual.
+Also, it is helpful to include a brief description of the manual in the
+`Top' node. *Note First Node::, for information on how to write the
+first node of a Texinfo file.
+
+ Even when you explicitly specify all pointers, that does not mean you
+can write the nodes in the Texinfo source file in an arbitrary order!
+Because TeX processes the file sequentially, irrespective of node
+pointers, you must write the nodes in the order you wish them to appear
+in the printed output.
+
+
+File: texinfo.info, Node: Writing a Node, Next: Node Line Tips, Prev: Node Names, Up: node
+
+6.3.2 How to Write an `@node' Line
+----------------------------------
+
+The easiest way to write an `@node' line is to write `@node' at the
+beginning of a line and then the name of the node, like this:
+
+ @node NODE-NAME
+
+ If you are using GNU Emacs, you can use the update node commands
+provided by Texinfo mode to insert the names of the pointers; or you
+can leave the pointers out of the Texinfo file and let `makeinfo'
+insert node pointers into the Info file it creates. (*Note Texinfo
+Mode::, and *Note makeinfo Pointer Creation::.)
+
+ Alternatively, you can insert the `Next', `Previous', and `Up'
+pointers yourself. If you do this, you may find it helpful to use the
+Texinfo mode keyboard command `C-c C-c n'. This command inserts
+`@node' and a comment line listing the names of the pointers in their
+proper order. The comment line helps you keep track of which arguments
+are for which pointers. This comment line is especially useful if you
+are not familiar with Texinfo.
+
+ The template for a fully-written-out node line with `Next',
+`Previous', and `Up' pointers looks like this:
+
+ @node NODE-NAME, NEXT, PREVIOUS, UP
+
+ If you wish, you can ignore `@node' lines altogether in your first
+draft and then use the `texinfo-insert-node-lines' command to create
+`@node' lines for you. However, we do not recommend this practice. It
+is better to name the node itself at the same time that you write a
+segment so you can easily make cross references. A large number of
+cross references are an especially important feature of a good Info
+file.
+
+ After you have inserted an `@node' line, you should immediately write
+an @-command for the chapter or section and insert its name. Next (and
+this is important!), put in several index entries. Usually, you will
+find at least two and often as many as four or five ways of referring
+to the node in the index. Use them all. This will make it much easier
+for people to find the node.
+
+
+File: texinfo.info, Node: Node Line Tips, Next: Node Line Requirements, Prev: Writing a Node, Up: node
+
+6.3.3 `@node' Line Tips
+-----------------------
+
+Here are three suggestions:
+
+ * Try to pick node names that are informative but short.
+
+ In the Info file, the file name, node name, and pointer names are
+ all inserted on one line, which may run into the right edge of the
+ window. (This does not cause a problem with Info, but is ugly.)
+
+ * Try to pick node names that differ from each other near the
+ beginnings of their names. This way, it is easy to use automatic
+ name completion in Info.
+
+ * By convention, node names are capitalized just as they would be for
+ section or chapter titles--initial and significant words are
+ capitalized; others are not.
+
+
+File: texinfo.info, Node: Node Line Requirements, Next: First Node, Prev: Node Line Tips, Up: node
+
+6.3.4 `@node' Line Requirements
+-------------------------------
+
+Here are several requirements for `@node' lines:
+
+ * All the node names for a single Info file must be unique.
+
+ Duplicates confuse the Info movement commands. This means, for
+ example, that if you end every chapter with a summary, you must
+ name each summary node differently. You cannot just call each one
+ "Summary". You may, however, duplicate the titles of chapters,
+ sections, and the like. Thus you can end each chapter in a book
+ with a section called "Summary", so long as the node names for
+ those sections are all different.
+
+ * A pointer name must be the name of a node.
+
+ The node to which a pointer points may come before or after the
+ node containing the pointer.
+
+ * @-commands in node names are not allowed. This includes
+ punctuation characters that are escaped with a `@', such as `@' and
+ `{', and accent commands such as `@''. (For a few cases when this
+ is useful, Texinfo has limited support for using @-commands in
+ node names; see *Note Pointer Validation::.) Perhaps this
+ limitation will be removed some day.
+
+ * Unfortunately, you cannot use periods, commas, colons or
+ parentheses within a node name; these confuse the Texinfo
+ processors. Perhaps this limitation will be removed some day, too.
+
+ For example, the following is a section title in this manual:
+
+ @code{@@unnumberedsec}, @code{@@appendixsec}, @code{@@heading}
+
+ But the corresponding node name lacks the commas and the @'s:
+
+ unnumberedsec appendixsec heading
+
+ * Case is significant in node names.
+
+ Spaces before and after names on the `@node' line are ignored, but
+ spaces "inside" a name are significant. For example:
+
+ @node foo bar,
+ @node foo bar ,
+ @node foo bar ,
+
+ all define the same node, `foo bar'. References to the node
+ should all use that name, without the leading or trailing spaces,
+ but with the internal spaces.
+
+
+File: texinfo.info, Node: First Node, Next: makeinfo top command, Prev: Node Line Requirements, Up: node
+
+6.3.5 The First Node
+--------------------
+
+The first node of a Texinfo file is the "Top" node, except in an
+included file (*note Include Files::). The Top node should contain a
+short summary, copying permissions, and a master menu. *Note The Top
+Node::, for more information on the Top node contents and examples.
+
+ Here is a description of the node pointers to be used in the Top node:
+
+ * The Top node (which must be named `top' or `Top') should have as
+ its `Up' node the name of a node in another file, where there is a
+ menu that leads to this file. Specify the file name in
+ parentheses.
+
+ Usually, all Info files are installed in the same Info directory
+ tree; in this case, use `(dir)' as the parent of the Top node;
+ this is short for `(dir)top', and specifies the Top node in the
+ `dir' file, which contains the main menu for the Info system as a
+ whole.
+
+ * On the other hand, do not define the `Previous' node of the Top
+ node to be `(dir)', as it causes confusing behavior for users: if
+ you are in the Top node and hits <DEL> to go backwards, you wind
+ up in the middle of the some other entry in the `dir' file, which
+ has nothing to do with what you were reading.
+
+ * The `Next' node of the Top node should be the first chapter in your
+ document.
+
+
+ *Note Installing an Info File::, for more information about installing
+an Info file in the `info' directory.
+
+ For concreteness, here is an example with explicit pointers (which you
+can maintain automatically with the texinfo mode commands):
+
+ Or you can leave the pointers off entirely and let the tools
+implicitly define them. This is recommended. Thus:
+
+ @node Top
+
+
+File: texinfo.info, Node: makeinfo top command, Prev: First Node, Up: node
+
+6.3.6 The `@top' Sectioning Command
+-----------------------------------
+
+A special sectioning command, `@top' should be used with the `@node
+Top' line. The `@top' sectioning command tells `makeinfo' that it
+marks the `Top' node in the file. It provides the information that
+`makeinfo' needs to insert node pointers automatically. Write the
+`@top' command at the beginning of the line immediately following the
+`@node Top' line. Write the title on the remaining part of the same
+line as the `@top' command.
+
+ In Info, the `@top' sectioning command causes the title to appear on
+a line by itself, with a line of asterisks inserted underneath, as
+other sectioning commands do.
+
+ In TeX and `texinfo-format-buffer', the `@top' sectioning command is
+merely a synonym for `@unnumbered'. Neither of these formatters
+require an `@top' command, and do nothing special with it. You can use
+`@chapter' or `@unnumbered' after the `@node Top' line when you use
+these formatters. Also, you can use `@chapter' or `@unnumbered' when
+you use the Texinfo updating commands to create or update pointers and
+menus.
+
+ Thus, in practice, a Top node starts like this:
+
+ @node Top
+ @top Your Manual Title
+
+
+File: texinfo.info, Node: makeinfo Pointer Creation, Next: anchor, Prev: node, Up: Nodes
+
+6.4 Creating Pointers with `makeinfo'
+=====================================
+
+The `makeinfo' program has a feature for automatically determining node
+pointers for a hierarchically organized document.
+
+ When you take advantage of this feature, you do not need to write the
+`Next', `Previous', and `Up' pointers after the name of a node.
+However, you must write a sectioning command, such as `@chapter' or
+`@section', on the line immediately following each truncated `@node'
+line (except that comment lines may intervene).
+
+ In addition, you must follow the `Top' `@node' line with a line
+beginning with `@top' to mark the `Top' node in the file. *Note
+`@top': makeinfo top.
+
+ Finally, you must write the name of each node (except for the `Top'
+node) in a menu that is one or more hierarchical levels above the
+node's hierarchical level.
+
+ This implicit node pointer insertion feature in `makeinfo' relieves
+you from the need to update menus and pointers manually or with Texinfo
+mode commands. (*Note Updating Nodes and Menus::.)
+
+ In most cases, you will want to take advantage of this feature and not
+redundantly specify node pointers. However, Texinfo documents are not
+required to be organized hierarchically or in fact to contain
+sectioning commands at all (for example, if you never intend the
+document to be printed). The special procedure for handling the short
+text before a menu (*note Menus::) also disables this feature, for that
+group of nodes. In those cases, you will need to explicitly specify
+the pointers.
+
+
+File: texinfo.info, Node: anchor, Prev: makeinfo Pointer Creation, Up: Nodes
+
+6.5 `@anchor': Defining Arbitrary Cross-reference Targets
+=========================================================
+
+An "anchor" is a position in your document, labeled so that
+cross-references can refer to it, just as they can to nodes. You create
+an anchor with the `@anchor' command, and give the label as a normal
+brace-delimited argument. For example:
+
+ This marks the @anchor{x-spot}spot.
+ ...
+ @xref{x-spot,,the spot}.
+
+produces:
+
+ This marks the spot.
+ ...
+ See [the spot], page 1.
+
+ As you can see, the `@anchor' command itself produces no output.
+This example defines an anchor `x-spot' just before the word `spot'.
+You can refer to it later with an `@xref' or other cross-reference
+command, as shown. *Note Cross References::, for details on the
+cross-reference commands.
+
+ It is best to put `@anchor' commands just before the position you
+wish to refer to; that way, the reader's eye is led on to the correct
+text when they jump to the anchor. You can put the `@anchor' command
+on a line by itself if that helps readability of the source. Spaces
+are always ignored after `@anchor'.
+
+ Anchor names and node names may not conflict. Anchors and nodes are
+given similar treatment in some ways; for example, the `goto-node'
+command in standalone Info takes either an anchor name or a node name as
+an argument. (*Note goto-node: (info-stnd)goto-node.)
+
+
+File: texinfo.info, Node: Menus, Next: Cross References, Prev: Nodes, Up: Top
+
+7 Menus
+*******
+
+"Menus" contain pointers to subordinate nodes. In online output, you
+use menus to go to such nodes. Menus have no effect in printed manuals
+and do not appear in them.
+
+ A node with a menu should not contain much text. If you find yourself
+writing a lot of before a menu, we generally recommend moving most of
+the text into a new subnode--all but a paragraph or two. Otherwise, a
+reader with a terminal that displays only a few lines may miss the menu
+and its associated text. As a practical matter, it is best to locate a
+menu within 20 or so lines of the beginning of the node.
+
+* Menu:
+
+* Menu Location:: Menus go at the ends of short nodes.
+* Writing a Menu:: What is a menu?
+* Menu Parts:: A menu entry has three parts.
+* Less Cluttered Menu Entry:: Two part menu entry.
+* Menu Example:: Two and three part menu entries.
+* Other Info Files:: How to refer to a different Info file.
+
+
+File: texinfo.info, Node: Menu Location, Next: Writing a Menu, Up: Menus
+
+7.1 Menu Location
+=================
+
+A menu must be located at the end of a node, without any regular text
+or additional commands between the `@end menu' and the beginning of the
+next node. (As a consequence, there may be at most one menu in a node.)
+
+ This is actually a useful restriction, since a reader who uses the
+menu could easily miss any such text. Technically, it is necessary
+because in Info format, there is no marker for the end of a menu, so
+Info-reading programs would have no way to know when the menu ends and
+normal text resumes.
+
+ Technically, menus can carry you to any node, regardless of the
+structure of the document; even to nodes in a different Info file.
+However, we do not recommend ever making use of this, because the
+`makeinfo' implicit pointer creation feature (*note makeinfo Pointer
+Creation::) and GNU Emacs Texinfo mode updating commands work only to
+create menus of subordinate nodes in a hierarchically structured
+document. Instead, use cross references to refer to arbitrary nodes.
+
+ In the past, we recommended using a `@heading' command within an
+`@ifinfo' conditional instead of the normal sectioning commands after a
+very short node with a menu. This had the advantage of making the
+printed output look better, because there was no very short text
+between two headings on the page. But aside from not working with
+`makeinfo''s implicit pointer creation, it also makes the XML output
+incorrect, since it does not reflect the true document structure. So,
+unfortunately we can no longer recommend this.
+
+
+File: texinfo.info, Node: Writing a Menu, Next: Menu Parts, Prev: Menu Location, Up: Menus
+
+7.2 Writing a Menu
+==================
+
+A menu consists of an `@menu' command on a line by itself followed by
+menu entry lines or menu comment lines and then by an `@end menu'
+command on a line by itself.
+
+ A menu looks like this:
+
+ @menu
+ Larger Units of Text
+
+ * Files:: All about handling files.
+ * Multiples: Buffers. Multiple buffers; editing
+ several files at once.
+ @end menu
+
+ In a menu, every line that begins with an `* ' is a "menu entry".
+(Note the space after the asterisk.) A line that does not start with
+an `* ' may also appear in a menu. Such a line is not a menu entry but
+is a menu comment line that appears in the Info file. In the example
+above, the line `Larger Units of Text' is a menu comment line; the two
+lines starting with `* ' are menu entries. Space characters in a menu
+are preserved as-is; this allows you to format the menu as you wish.
+
+
+File: texinfo.info, Node: Menu Parts, Next: Less Cluttered Menu Entry, Prev: Writing a Menu, Up: Menus
+
+7.3 The Parts of a Menu
+=======================
+
+A menu entry has three parts, only the second of which is required:
+
+ 1. The menu entry name (optional).
+
+ 2. The name of the node (required).
+
+ 3. A description of the item (optional).
+
+ The template for a menu entry looks like this:
+
+ * MENU-ENTRY-NAME: NODE-NAME. DESCRIPTION
+
+ Follow the menu entry name with a single colon and follow the node
+name with tab, comma, period, or newline.
+
+ In Info, a user selects a node with the `m' (`Info-menu') command.
+The menu entry name is what the user types after the `m' command.
+
+ The third part of a menu entry is a descriptive phrase or sentence.
+Menu entry names and node names are often short; the description
+explains to the reader what the node is about. A useful description
+complements the node name rather than repeats it. The description,
+which is optional, can spread over two or more lines; if it does, some
+authors prefer to indent the second line while others prefer to align it
+with the first (and all others). It's up to you.
+
+
+File: texinfo.info, Node: Less Cluttered Menu Entry, Next: Menu Example, Prev: Menu Parts, Up: Menus
+
+7.4 Less Cluttered Menu Entry
+=============================
+
+When the menu entry name and node name are the same, you can write the
+name immediately after the asterisk and space at the beginning of the
+line and follow the name with two colons.
+
+ For example, write
+
+ * Name:: DESCRIPTION
+
+instead of
+
+ * Name: Name. DESCRIPTION
+
+ You should use the node name for the menu entry name whenever
+possible, since it reduces visual clutter in the menu.
+
+
+File: texinfo.info, Node: Menu Example, Next: Other Info Files, Prev: Less Cluttered Menu Entry, Up: Menus
+
+7.5 A Menu Example
+==================
+
+A menu looks like this in Texinfo:
+
+ @menu
+ * menu entry name: Node name. A short description.
+ * Node name:: This form is preferred.
+ @end menu
+
+This produces:
+
+ * menu:
+
+ * menu entry name: Node name. A short description.
+ * Node name:: This form is preferred.
+
+ Here is an example as you might see it in a Texinfo file:
+
+ @menu
+ Larger Units of Text
+
+ * Files:: All about handling files.
+ * Multiples: Buffers. Multiple buffers; editing
+ several files at once.
+ @end menu
+
+This produces:
+
+ * menu:
+ Larger Units of Text
+
+ * Files:: All about handling files.
+ * Multiples: Buffers. Multiple buffers; editing
+ several files at once.
+
+ In this example, the menu has two entries. `Files' is both a menu
+entry name and the name of the node referred to by that name.
+`Multiples' is the menu entry name; it refers to the node named
+`Buffers'. The line `Larger Units of Text' is a comment; it appears in
+the menu, but is not an entry.
+
+ Since no file name is specified with either `Files' or `Buffers',
+they must be the names of nodes in the same Info file (*note Referring
+to Other Info Files: Other Info Files.).
+
+
+File: texinfo.info, Node: Other Info Files, Prev: Menu Example, Up: Menus
+
+7.6 Referring to Other Info Files
+=================================
+
+You can create a menu entry that enables a reader in Info to go to a
+node in another Info file by writing the file name in parentheses just
+before the node name. In this case, you should use the three-part menu
+entry format, which saves the reader from having to type the file name.
+
+ The format looks like this:
+
+ @menu
+ * FIRST-ENTRY-NAME:(FILENAME)NODENAME. DESCRIPTION
+ * SECOND-ENTRY-NAME:(FILENAME)SECOND-NODE. DESCRIPTION
+ @end menu
+
+ For example, to refer directly to the `Outlining' and `Rebinding'
+nodes in the `Emacs Manual', you would write a menu like this:
+
+ @menu
+ * Outlining: (emacs)Outline Mode. The major mode for
+ editing outlines.
+ * Rebinding: (emacs)Rebinding. How to redefine the
+ meaning of a key.
+ @end menu
+
+ If you do not list the node name, but only name the file, then Info
+presumes that you are referring to the `Top' node.
+
+ The `dir' file that contains the main menu for Info has menu entries
+that list only file names. These take you directly to the `Top' nodes
+of each Info document. (*Note Installing an Info File::.)
+
+ For example:
+
+ * Info: (info). Documentation browsing system.
+ * Emacs: (emacs). The extensible, self-documenting
+ text editor.
+
+(The `dir' top level directory for the Info system is an Info file, not
+a Texinfo file, but a menu entry looks the same in both types of file.)
+
+ The GNU Emacs Texinfo mode menu updating commands only work with nodes
+within the current buffer, so you cannot use them to create menus that
+refer to other files. You must write such menus by hand.
+
+
+File: texinfo.info, Node: Cross References, Next: Marking Text, Prev: Menus, Up: Top
+
+8 Cross References
+******************
+
+"Cross references" are used to refer the reader to other parts of the
+same or different Texinfo files. In Texinfo, nodes and anchors are the
+places to which cross references can refer.
+
+* Menu:
+
+* References:: What cross references are for.
+* Cross Reference Commands:: A summary of the different commands.
+* Cross Reference Parts:: A cross reference has several parts.
+* xref:: Begin a reference with `See' ...
+* Top Node Naming:: How to refer to the beginning of another file.
+* ref:: A reference for the last part of a sentence.
+* pxref:: How to write a parenthetical cross reference.
+* inforef:: How to refer to an Info-only file.
+* uref:: How to refer to a uniform resource locator.
+
+
+File: texinfo.info, Node: References, Next: Cross Reference Commands, Up: Cross References
+
+8.1 What References Are For
+===========================
+
+Often, but not always, a printed document should be designed so that it
+can be read sequentially. People tire of flipping back and forth to
+find information that should be presented to them as they need it.
+
+ However, in any document, some information will be too detailed for
+the current context, or incidental to it; use cross references to
+provide access to such information. Also, an online help system or a
+reference manual is not like a novel; few read such documents in
+sequence from beginning to end. Instead, people look up what they
+need. For this reason, such creations should contain many cross
+references to help readers find other information that they may not
+have read.
+
+ In a printed manual, a cross reference results in a page reference,
+unless it is to another manual altogether, in which case the cross
+reference names that manual.
+
+ In Info, a cross reference results in an entry that you can follow
+using the Info `f' command. (*note Following cross-references:
+(info)Help-Xref.)
+
+ The various cross reference commands use nodes (or anchors, *note
+`@anchor': anchor.) to define cross reference locations. This is
+evident in Info, in which a cross reference takes you to the specified
+location. TeX also uses nodes to define cross reference locations, but
+the action is less obvious. When TeX generates a DVI file, it records
+each node's page number and uses the page numbers in making references.
+Thus, if you are writing a manual that will only be printed, and will
+not be used online, you must nonetheless write `@node' lines to name
+the places to which you make cross references.
+
+
+File: texinfo.info, Node: Cross Reference Commands, Next: Cross Reference Parts, Prev: References, Up: Cross References
+
+8.2 Different Cross Reference Commands
+======================================
+
+There are four different cross reference commands:
+
+`@xref'
+ Used to start a sentence in the printed manual saying `See ...'
+ or an Info cross-reference saying `*Note NAME: NODE.'.
+
+`@ref'
+ Used within or, more often, at the end of a sentence; same as
+ `@xref' for Info; produces just the reference in the printed
+ manual without a preceding `See'.
+
+`@pxref'
+ Used within parentheses to make a reference that suits both an Info
+ file and a printed book. Starts with a lower case `see' within the
+ printed manual. (`p' is for `parenthesis'.)
+
+`@inforef'
+ Used to make a reference to an Info file for which there is no
+ printed manual.
+
+(The `@cite' command is used to make references to books and manuals
+for which there is no corresponding Info file and, therefore, no node
+to which to point. *Note `@cite': cite.)
+
+
+File: texinfo.info, Node: Cross Reference Parts, Next: xref, Prev: Cross Reference Commands, Up: Cross References
+
+8.3 Parts of a Cross Reference
+==============================
+
+A cross reference command requires only one argument, which is the name
+of the node to which it refers. But a cross reference command may
+contain up to four additional arguments. By using these arguments, you
+can provide a cross reference name for Info, a topic description or
+section title for the printed output, the name of a different Info
+file, and the name of a different printed manual.
+
+ Here is a simple cross reference example:
+
+ @xref{Node name}.
+
+which produces
+
+ *Note Node name::.
+
+and
+
+ See Section NNN [Node name], page PPP.
+
+ Here is an example of a full five-part cross reference:
+
+ @xref{Node name, Cross Reference Name, Particular Topic,
+ info-file-name, A Printed Manual}, for details.
+
+which produces
+
+ *Note Cross Reference Name: (info-file-name)Node name,
+ for details.
+
+in Info and
+
+ See section "Particular Topic" in A Printed Manual, for details.
+
+in a printed book.
+
+ The five possible arguments for a cross reference are:
+
+ 1. The node or anchor name (required). This is the location to which
+ the cross reference takes you. In a printed document, the
+ location of the node provides the page reference only for
+ references within the same document.
+
+ 2. The cross reference name for the Info reference, if it is to be
+ different from the node name. If you include this argument, it
+ becomes the first part of the cross reference. It is usually
+ omitted.
+
+ 3. A topic description or section name. Often, this is the title of
+ the section. This is used as the name of the reference in the
+ printed manual. If omitted, the node name is used.
+
+ 4. The name of the Info file in which the reference is located, if it
+ is different from the current file. You need not include any
+ `.info' suffix on the file name, since Info readers try appending
+ it automatically.
+
+ 5. The name of a printed manual from a different Texinfo file.
+
+ The template for a full five argument cross reference looks like this:
+
+ @xref{NODE-NAME, CROSS-REFERENCE-NAME, TITLE-OR-TOPIC,
+ INFO-FILE-NAME, PRINTED-MANUAL-TITLE}.
+
+ Cross references with one, two, three, four, and five arguments are
+described separately following the description of `@xref'.
+
+ Write a node name in a cross reference in exactly the same way as in
+the `@node' line, including the same capitalization; otherwise, the
+formatters may not find the reference.
+
+ You can write cross reference commands within a paragraph, but note
+how Info and TeX format the output of each of the various commands:
+write `@xref' at the beginning of a sentence; write `@pxref' only
+within parentheses, and so on.
+
+
+File: texinfo.info, Node: xref, Next: Top Node Naming, Prev: Cross Reference Parts, Up: Cross References
+
+8.4 `@xref'
+===========
+
+The `@xref' command generates a cross reference for the beginning of a
+sentence. The Info formatting commands convert it into an Info cross
+reference, which the Info `f' command can use to bring you directly to
+another node. The TeX typesetting commands convert it into a page
+reference, or a reference to another book or manual.
+
+* Menu:
+
+* Reference Syntax:: What a reference looks like and requires.
+* One Argument:: `@xref' with one argument.
+* Two Arguments:: `@xref' with two arguments.
+* Three Arguments:: `@xref' with three arguments.
+* Four and Five Arguments:: `@xref' with four and five arguments.
+
+
+File: texinfo.info, Node: Reference Syntax, Next: One Argument, Up: xref
+
+8.4.1 What a Reference Looks Like and Requires
+----------------------------------------------
+
+Most often, an Info cross reference looks like this:
+
+ *Note NODE-NAME::.
+
+or like this
+
+ *Note CROSS-REFERENCE-NAME: NODE-NAME.
+
+In TeX, a cross reference looks like this:
+
+ See Section SECTION-NUMBER [NODE-NAME], page PAGE.
+
+or like this
+
+ See Section SECTION-NUMBER [TITLE-OR-TOPIC], page PAGE.
+
+ The `@xref' command does not generate a period or comma to end the
+cross reference in either the Info file or the printed output. You
+must write that period or comma yourself; otherwise, Info will not
+recognize the end of the reference. (The `@pxref' command works
+differently. *Note `@pxref': pxref.)
+
+ Caution: A period or comma *must* follow the closing brace of an
+ `@xref'. It is required to terminate the cross reference. This
+ period or comma will appear in the output, both in the Info file
+ and in the printed manual.
+
+ `@xref' must refer to an Info node by name. Use `@node' to define
+the node (*note Writing a Node::).
+
+ `@xref' is followed by several arguments inside braces, separated by
+commas. Whitespace before and after these commas is ignored.
+
+ A cross reference requires only the name of a node; but it may contain
+up to four additional arguments. Each of these variations produces a
+cross reference that looks somewhat different.
+
+ Note: Commas separate arguments in a cross reference; avoid
+ including them in the title or other part lest the formatters
+ mistake them for separators.
+
+
+File: texinfo.info, Node: One Argument, Next: Two Arguments, Prev: Reference Syntax, Up: xref
+
+8.4.2 `@xref' with One Argument
+-------------------------------
+
+The simplest form of `@xref' takes one argument, the name of another
+node in the same Info file. The Info formatters produce output that
+the Info readers can use to jump to the reference; TeX produces output
+that specifies the page and section number for you.
+
+For example,
+
+ @xref{Tropical Storms}.
+
+produces
+
+ *Note Tropical Storms::.
+
+and
+
+ See Section 3.1 [Tropical Storms], page 24.
+
+(Note that in the preceding example the closing brace is followed by a
+period.)
+
+ You can write a clause after the cross reference, like this:
+
+ @xref{Tropical Storms}, for more info.
+
+which produces
+
+ *Note Tropical Storms::, for more info.
+
+and
+
+ See Section 3.1 [Tropical Storms], page 24, for more info.
+
+(Note that in the preceding example the closing brace is followed by a
+comma, and then by the clause, which is followed by a period.)
+
+
+File: texinfo.info, Node: Two Arguments, Next: Three Arguments, Prev: One Argument, Up: xref
+
+8.4.3 `@xref' with Two Arguments
+--------------------------------
+
+With two arguments, the second is used as the name of the Info cross
+reference, while the first is still the name of the node to which the
+cross reference points.
+
+The template is like this:
+
+ @xref{NODE-NAME, CROSS-REFERENCE-NAME}.
+
+For example,
+
+ @xref{Electrical Effects, Lightning}.
+
+produces:
+
+ *Note Lightning: Electrical Effects.
+
+and
+
+ See Section 5.2 [Electrical Effects], page 57.
+
+(Note that in the preceding example the closing brace is followed by a
+period; and that the node name is printed, not the cross reference
+name.)
+
+ You can write a clause after the cross reference, like this:
+
+ @xref{Electrical Effects, Lightning}, for more info.
+
+which produces
+ *Note Lightning: Electrical Effects, for more info.
+
+and
+
+ See Section 5.2 [Electrical Effects], page 57, for more info.
+
+(Note that in the preceding example the closing brace is followed by a
+comma, and then by the clause, which is followed by a period.)
+
+
+File: texinfo.info, Node: Three Arguments, Next: Four and Five Arguments, Prev: Two Arguments, Up: xref
+
+8.4.4 `@xref' with Three Arguments
+----------------------------------
+
+A third argument replaces the node name in the TeX output. The third
+argument should be the name of the section in the printed output, or
+else state the topic discussed by that section. Often, you will want to
+use initial upper case letters so it will be easier to read when the
+reference is printed. Use a third argument when the node name is
+unsuitable because of syntax or meaning.
+
+ Remember to avoid placing a comma within the title or topic section of
+a cross reference, or within any other section. The formatters divide
+cross references into arguments according to the commas; a comma within
+a title or other section will divide it into two arguments. In a
+reference, you need to write a title such as "Clouds, Mist, and Fog"
+without the commas.
+
+ Also, remember to write a comma or period after the closing brace of
+an `@xref' to terminate the cross reference. In the following
+examples, a clause follows a terminating comma.
+
+The template is like this:
+
+ @xref{NODE-NAME, CROSS-REFERENCE-NAME, TITLE-OR-TOPIC}.
+
+For example,
+
+ @xref{Electrical Effects, Lightning, Thunder and Lightning},
+ for details.
+
+produces
+
+ *Note Lightning: Electrical Effects, for details.
+
+and
+
+ See Section 5.2 [Thunder and Lightning], page 57, for details.
+
+ If a third argument is given and the second one is empty, then the
+third argument serves both. (Note how two commas, side by side, mark
+the empty second argument.)
+
+ @xref{Electrical Effects, , Thunder and Lightning},
+ for details.
+
+produces
+
+ *Note Thunder and Lightning: Electrical Effects, for details.
+
+and
+
+ See Section 5.2 [Thunder and Lightning], page 57, for details.
+
+ As a practical matter, it is often best to write cross references with
+just the first argument if the node name and the section title are the
+same, and with the first and third arguments if the node name and title
+are different.
+
+ Here are several examples from `The GNU Awk User's Guide':
+
+ @xref{Sample Program}.
+ @xref{Glossary}.
+ @xref{Case-sensitivity, ,Case-sensitivity in Matching}.
+ @xref{Close Output, , Closing Output Files and Pipes},
+ for more information.
+ @xref{Regexp, , Regular Expressions as Patterns}.
+
+
+File: texinfo.info, Node: Four and Five Arguments, Prev: Three Arguments, Up: xref
+
+8.4.5 `@xref' with Four and Five Arguments
+------------------------------------------
+
+In a cross reference, a fourth argument specifies the name of another
+Info file, different from the file in which the reference appears, and
+a fifth argument specifies its title as a printed manual.
+
+ Remember that a comma or period must follow the closing brace of an
+`@xref' command to terminate the cross reference. In the following
+examples, a clause follows a terminating comma.
+
+The template is:
+
+ @xref{NODE-NAME, CROSS-REFERENCE-NAME, TITLE-OR-TOPIC,
+ INFO-FILE-NAME, PRINTED-MANUAL-TITLE}.
+
+For example,
+
+ @xref{Electrical Effects, Lightning, Thunder and Lightning,
+ weather, An Introduction to Meteorology}, for details.
+
+produces
+
+ *Note Lightning: (weather)Electrical Effects, for details.
+
+The name of the Info file is enclosed in parentheses and precedes the
+name of the node.
+
+In a printed manual, the reference looks like this:
+
+ See section "Thunder and Lightning" in An Introduction to
+ Meteorology, for details.
+
+The title of the printed manual is typeset in italics; and the
+reference lacks a page number since TeX cannot know to which page a
+reference refers when that reference is to another manual.
+
+ Often, you will leave out the second argument when you use the long
+version of `@xref'. In this case, the third argument, the topic
+description, will be used as the cross reference name in Info.
+
+The template looks like this:
+
+ @xref{NODE-NAME, , TITLE-OR-TOPIC, INFO-FILE-NAME,
+ PRINTED-MANUAL-TITLE}, for details.
+
+which produces
+
+ *Note TITLE-OR-TOPIC: (INFO-FILE-NAME)NODE-NAME, for details.
+
+and
+
+ See section TITLE-OR-TOPIC in PRINTED-MANUAL-TITLE, for details.
+
+For example,
+
+ @xref{Electrical Effects, , Thunder and Lightning,
+ weather, An Introduction to Meteorology}, for details.
+
+produces
+
+ *Note Thunder and Lightning: (weather)Electrical Effects,
+ for details.
+
+and
+
+ See section "Thunder and Lightning" in An Introduction to
+ Meteorology, for details.
+
+ On rare occasions, you may want to refer to another Info file that is
+within a single printed manual--when multiple Texinfo files are
+incorporated into the same TeX run but make separate Info files. In
+this case, you need to specify only the fourth argument, and not the
+fifth.
+
+
+File: texinfo.info, Node: Top Node Naming, Next: ref, Prev: xref, Up: Cross References
+
+8.5 Naming a `Top' Node
+=======================
+
+In a cross reference, you must always name a node. This means that in
+order to refer to a whole manual, you must identify the `Top' node by
+writing it as the first argument to the `@xref' command. (This is
+different from the way you write a menu entry; see *Note Referring to
+Other Info Files: Other Info Files.) At the same time, to provide a
+meaningful section topic or title in the printed cross reference
+(instead of the word `Top'), you must write an appropriate entry for
+the third argument to the `@xref' command.
+
+Thus, to make a cross reference to `The GNU Make Manual', write:
+
+ @xref{Top, , Overview, make, The GNU Make Manual}.
+
+which produces
+
+ *Note Overview: (make)Top.
+
+and
+
+ See section "Overview" in The GNU Make Manual.
+
+In this example, `Top' is the name of the first node, and `Overview' is
+the name of the first section of the manual.
+
+
+File: texinfo.info, Node: ref, Next: pxref, Prev: Top Node Naming, Up: Cross References
+
+8.6 `@ref'
+==========
+
+`@ref' is nearly the same as `@xref' except that it does not generate a
+`See' in the printed output, just the reference itself. This makes it
+useful as the last part of a sentence.
+
+For example,
+
+ For more information, see @ref{Hurricanes}.
+
+produces (in Info):
+
+ For more information, see *Note Hurricanes::.
+
+and (in printed output):
+
+ For more information, see Section 8.2 [Hurricanes], page 123.
+
+ The `@ref' command sometimes tempts writers to express themselves in
+a manner that is suitable for a printed manual but looks awkward in the
+Info format. Bear in mind that your audience will be using both the
+printed and the Info format. For example:
+
+ Sea surges are described in @ref{Hurricanes}.
+
+looks ok in the printed output:
+
+ Sea surges are described in Section 6.7 [Hurricanes], page 72.
+
+but is awkward to read in Info:
+
+ Sea surges are described in *Note Hurricanes::.
+
+ Caution: You should write a period or comma immediately after an
+ `@ref' command with two or more arguments. Otherwise, Info will
+ generate a (grammatically incorrect) period, just so the
+ cross-reference doesn't fail completely.
+
+ As a general rule, you should write a period or comma after every
+`@ref' command. This works best in both the printed and the Info
+output.
+
+
+File: texinfo.info, Node: pxref, Next: inforef, Prev: ref, Up: Cross References
+
+8.7 `@pxref'
+============
+
+The parenthetical reference command, `@pxref', is nearly the same as
+`@xref', but you use it _only_ inside parentheses and you do _not_ type
+a comma or period after the command's closing brace. The command
+differs from `@xref' in two ways:
+
+ 1. TeX typesets the reference for the printed manual with a lower case
+ `see' rather than an upper case `See'.
+
+ 2. The Info formatting commands automatically end the reference with a
+ closing colon or period.
+
+ Because one type of formatting automatically inserts closing
+punctuation and the other does not, you should use `@pxref' _only_
+inside parentheses as part of another sentence. Also, you yourself
+should not insert punctuation after the reference, as you do with
+`@xref'.
+
+ `@pxref' is designed so that the output looks right and works right
+between parentheses both in printed output and in an Info file. In a
+printed manual, a closing comma or period should not follow a cross
+reference within parentheses; such punctuation is wrong. But in an
+Info file, suitable closing punctuation must follow the cross reference
+so Info can recognize its end. `@pxref' spares you the need to use
+complicated methods to put a terminator into one form of the output and
+not the other.
+
+With one argument, a parenthetical cross reference looks like this:
+
+ ... storms cause flooding (@pxref{Hurricanes}) ...
+
+which produces
+
+ ... storms cause flooding (*Note Hurricanes::) ...
+
+and
+
+ ... storms cause flooding (see Section 6.7 [Hurricanes], page 72)
+ ...
+
+ With two arguments, a parenthetical cross reference has this template:
+
+ ... (@pxref{NODE-NAME, CROSS-REFERENCE-NAME}) ...
+
+which produces
+
+ ... (*Note CROSS-REFERENCE-NAME: NODE-NAME.) ...
+
+and
+
+ ... (see Section NNN [NODE-NAME], page PPP) ...
+
+ `@pxref' can be used with up to five arguments just like `@xref'
+(*note `@xref': xref.).
+
+ Caution: Use `@pxref' only as a parenthetical reference. Do not
+ try to use `@pxref' as a clause in a sentence. It will look bad
+ in either the Info file, the printed output, or both.
+
+ Parenthetical cross references look best at the ends of sentences.
+Although they technically work in the middle of a sentence, that
+location breaks up the flow of reading.
+
+
+File: texinfo.info, Node: inforef, Next: uref, Prev: pxref, Up: Cross References
+
+8.8 `@inforef'
+==============
+
+`@inforef' is used for cross references to Info files for which there
+are no printed manuals. Even in a printed manual, `@inforef' generates
+a reference directing the user to look in an Info file.
+
+ The command takes either two or three arguments, in the following
+order:
+
+ 1. The node name.
+
+ 2. The cross reference name (optional).
+
+ 3. The Info file name.
+
+Separate the arguments with commas, as with `@xref'. Also, you must
+terminate the reference with a comma or period after the `}', as you do
+with `@xref'.
+
+The template is:
+
+ @inforef{NODE-NAME, CROSS-REFERENCE-NAME, INFO-FILE-NAME},
+
+Thus,
+
+ @inforef{Advanced, Advanced Info commands, info},
+ for more information.
+
+produces
+
+ *Note Advanced Info commands: (info)Advanced,
+ for more information.
+
+and
+
+ See Info file `info', node `Advanced', for more information.
+
+Similarly,
+
+ @inforef{Advanced, , info}, for more information.
+
+produces
+
+ *Note (info)Advanced::, for more information.
+
+and
+
+ See Info file `info', node `Advanced', for more information.
+
+ The converse of `@inforef' is `@cite', which is used to refer to
+printed works for which no Info form exists. *Note `@cite': cite.
+
+
+File: texinfo.info, Node: uref, Prev: inforef, Up: Cross References
+
+8.9 `@url', `@uref{URL[, TEXT][, REPLACEMENT]}'
+===============================================
+
+`@uref' produces a reference to a uniform resource locator (url). It
+takes one mandatory argument, the url, and two optional arguments which
+control the text that is displayed. In HTML output, `@uref' produces a
+link you can follow.
+
+ `@url' is a synonym for `@uref'. Originally, `@url' had the meaning
+of `@indicateurl' (*note `@indicateurl': indicateurl.), but in actual
+practice it was misused the vast majority of the time. So we've
+changed the definitions.
+
+ The second argument, if specified, is the text to display (the default
+is the url itself); in Info and DVI output, but not in HTML output, the
+url is also output.
+
+ The third argument, if specified, is the text to display, but in this
+case the url is _not_ output in any format. This is useful when the
+text is already sufficiently referential, as in a man page. If the
+third argument is given, the second argument is ignored.
+
+ If the url is long enough to cause problems with line breaking, you
+may find it useful to insert `@/' at places where a line break would be
+acceptable (after `/' characters, for instance). This tells TeX to
+allow (but not force) a line break at those places. *Note Line
+Breaks::.
+
+ Here is an example of the simple one argument form, where the url is
+both the target and the text of the link:
+
+ The official GNU ftp site is @uref{ftp://ftp.gnu.org/gnu}.
+
+produces:
+ The official GNU ftp site is `ftp://ftp.gnu.org/gnu'.
+
+ An example of the two-argument form:
+ The official @uref{ftp://ftp.gnu.org/gnu, GNU ftp site}
+ holds programs and texts.
+
+produces:
+ The official GNU ftp site (ftp://ftp.gnu.org/gnu)
+ holds programs and texts.
+
+that is, the Info output is this:
+ The official GNU ftp site (ftp://ftp.gnu.org/gnu)
+ holds programs and texts.
+
+and the HTML output is this:
+ The official <a href="ftp://ftp.gnu.org/gnu">GNU ftp site</a>
+ holds programs and texts.
+
+ An example of the three-argument form:
+ The @uref{/man.cgi/1/ls,,ls(1)} program ...
+
+produces:
+ The ls(1) program ...
+
+but with HTML:
+ The <a href="/man.cgi/1/ls">ls(1)</a> program ...
+
+ To merely indicate a url without creating a link people can follow,
+use `@indicateurl' (*note `@indicateurl': indicateurl.).
+
+ Some people prefer to display url's in the unambiguous format:
+
+ <URL:http://HOST/PATH>
+
+You can use this form in the input file if you wish. We feel it's not
+necessary to include the `<URL:' and `>' in the output, since any
+software that tries to detect url's in text already has to detect them
+without the `<URL:' to be useful.
+
+
+File: texinfo.info, Node: Marking Text, Next: Quotations and Examples, Prev: Cross References, Up: Top
+
+9 Marking Words and Phrases
+***************************
+
+In Texinfo, you can mark words and phrases in a variety of ways. The
+Texinfo formatters use this information to determine how to highlight
+the text. You can specify, for example, whether a word or phrase is a
+defining occurrence, a metasyntactic variable, or a symbol used in a
+program. Also, you can emphasize text, in several different ways.
+
+* Menu:
+
+* Indicating:: How to indicate definitions, files, etc.
+* Emphasis:: How to emphasize text.
+
+
+File: texinfo.info, Node: Indicating, Next: Emphasis, Up: Marking Text
+
+9.1 Indicating Definitions, Commands, etc.
+==========================================
+
+Texinfo has commands for indicating just what kind of object a piece of
+text refers to. For example, metasyntactic variables are marked by
+`@var', and code by `@code'. Since the pieces of text are labelled by
+commands that tell what kind of object they are, it is easy to change
+the way the Texinfo formatters prepare such text. (Texinfo is an
+_intentional_ formatting language rather than a _typesetting_
+formatting language.)
+
+ For example, in a printed manual, code is usually illustrated in a
+typewriter font; `@code' tells TeX to typeset this text in this font.
+But it would be easy to change the way TeX highlights code to use
+another font, and this change would not affect how keystroke examples
+are highlighted. If straight typesetting commands were used in the body
+of the file and you wanted to make a change, you would need to check
+every single occurrence to make sure that you were changing code and
+not something else that should not be changed.
+
+* Menu:
+
+* Useful Highlighting:: Highlighting provides useful information.
+* code:: Indicating program code.
+* kbd:: Showing keyboard input.
+* key:: Specifying keys.
+* samp:: A literal sequence of characters.
+* verb:: A verbatim sequence of characters.
+* var:: Indicating metasyntactic variables.
+* env:: Indicating environment variables.
+* file:: Indicating file names.
+* command:: Indicating command names.
+* option:: Indicating option names.
+* dfn:: Specifying definitions.
+* cite:: Referring to books not in the Info system.
+* acronym:: Indicating acronyms.
+* indicateurl:: Indicating a World Wide Web reference.
+* email:: Indicating an electronic mail address.
+
+
+File: texinfo.info, Node: Useful Highlighting, Next: code, Up: Indicating
+
+9.1.1 Highlighting Commands are Useful
+--------------------------------------
+
+The highlighting commands can be used to extract useful information
+from the file, such as lists of functions or file names. It is
+possible, for example, to write a program in Emacs Lisp (or a keyboard
+macro) to insert an index entry after every paragraph that contains
+words or phrases marked by a specified command. You could do this to
+construct an index of functions if you had not already made the entries.
+
+ The commands serve a variety of purposes:
+
+`@code{SAMPLE-CODE}'
+ Indicate text that is a literal example of a piece of a program.
+
+`@kbd{KEYBOARD-CHARACTERS}'
+ Indicate keyboard input.
+
+`@key{KEY-NAME}'
+ Indicate the conventional name for a key on a keyboard.
+
+`@samp{TEXT}'
+ Indicate text that is a literal example of a sequence of
+ characters.
+
+`@var{METASYNTACTIC-VARIABLE}'
+ Indicate a metasyntactic variable.
+
+`@env{ENVIRONMENT-VARIABLE}'
+ Indicate an environment variable.
+
+`@file{FILE-NAME}'
+ Indicate the name of a file.
+
+`@command{COMMAND-NAME}'
+ Indicate the name of a command.
+
+`@option{OPTION}'
+ Indicate a command-line option.
+
+`@dfn{TERM}'
+ Indicate the introductory or defining use of a term.
+
+`@cite{REFERENCE}'
+ Indicate the name of a book.
+
+`@acronym{ACRONYM}'
+ Indicate an acronym.
+
+`@indicateurl{UNIFORM-RESOURCE-LOCATOR}'
+ Indicate a uniform resource locator for the World Wide Web.
+
+`@email{EMAIL-ADDRESS[, DISPLAYED-TEXT]}'
+ Indicate an electronic mail address.
+
+
+
+File: texinfo.info, Node: code, Next: kbd, Prev: Useful Highlighting, Up: Indicating
+
+9.1.2 `@code'{SAMPLE-CODE}
+--------------------------
+
+Use the `@code' command to indicate text that is a piece of a program
+and which consists of entire syntactic tokens. Enclose the text in
+braces.
+
+ Thus, you should use `@code' for an expression in a program, for the
+name of a variable or function used in a program, or for a keyword in a
+programming language.
+
+ Use `@code' for command names in languages that resemble programming
+languages, such as Texinfo. For example, `@code' and `@samp' are
+produced by writing `@code{@@code}' and `@code{@@samp}' in the Texinfo
+source, respectively.
+
+ It is incorrect to alter the case of a word inside an `@code' command
+when it appears at the beginning of a sentence. Most computer
+languages are case sensitive. In C, for example, `Printf' is different
+from the identifier `printf', and most likely is a misspelling of it.
+Even in languages which are not case sensitive, it is confusing to a
+human reader to see identifiers spelled in different ways. Pick one
+spelling and always use that. If you do not want to start a sentence
+with a command name written all in lower case, you should rearrange the
+sentence.
+
+ In the printed manual, `@code' causes TeX to typeset the argument in
+a typewriter face. In the Info file, it causes the Info formatting
+commands to use single quotation marks around the text.
+
+ For example,
+
+ The function returns @code{nil}.
+
+produces this in the printed manual:
+
+ The function returns `nil'.
+
+ Here are some cases for which it is preferable not to use `@code':
+
+ * For shell command names such as `ls' (use `@command').
+
+ * For shell options such as `-c' when such options stand alone (use
+ `@option').
+
+ * Also, an entire shell command often looks better if written using
+ `@samp' rather than `@code'. In this case, the rule is to choose
+ the more pleasing format.
+
+ * For environment variable such as `TEXINPUTS' (use `@env').
+
+ * For a string of characters shorter than a syntactic token. For
+ example, if you are writing about `goto-ch', which is just a part
+ of the name for the `goto-char' Emacs Lisp function, you should use
+ `@samp'.
+
+ * In general, when writing about the characters used in a token; for
+ example, do not use `@code' when you are explaining what letters
+ or printable symbols can be used in the names of functions. (Use
+ `@samp'.) Also, you should not use `@code' to mark text that is
+ considered input to programs unless the input is written in a
+ language that is like a programming language. For example, you
+ should not use `@code' for the keystroke commands of GNU Emacs (use
+ `@kbd' instead) although you may use `@code' for the names of the
+ Emacs Lisp functions that the keystroke commands invoke.
+
+
+ Since `@command', `@option', and `@env' were introduced relatively
+recently, it is acceptable to use `@code' or `@samp' for command names,
+options, and environment variables. The new commands allow you to
+express the markup more precisely, but there is no real harm in using
+the older commands, and of course the long-standing manuals do so.
+
+
+File: texinfo.info, Node: kbd, Next: key, Prev: code, Up: Indicating
+
+9.1.3 `@kbd'{KEYBOARD-CHARACTERS}
+---------------------------------
+
+Use the `@kbd' command for characters of input to be typed by users.
+For example, to refer to the characters `M-a', write:
+
+ @kbd{M-a}
+
+and to refer to the characters `M-x shell', write:
+
+ @kbd{M-x shell}
+
+ By default, the `@kbd' command produces a different font (slanted
+typewriter instead of normal typewriter) in the printed manual, so
+users can distinguish the characters that they are supposed to type
+from those that the computer outputs.
+
+ In Info output, `@kbd' is usually the same as `@code', producing
+`quotes' around its argument. However, in typewriter-like contexts
+such as the `@example' environment (*note example::) and `@code'
+command itself, the quotes are omitted, since Info format cannot use
+distinguishing fonts.
+
+ Since the usage of `@kbd' varies from manual to manual, you can
+control the font switching with the `@kbdinputstyle' command. This
+command has no effect on Info output. Write this command at the
+beginning of a line with a single word as an argument, one of the
+following:
+
+`code'
+ Always use the same font for `@kbd' as `@code'.
+
+`example'
+ Use the distinguishing font for `@kbd' only in `@example' and
+ similar environments.
+
+`distinct'
+ (the default) Always use the distinguishing font for `@kbd'.
+
+ You can embed another @-command inside the braces of an `@kbd'
+command. Here, for example, is the way to describe a command that
+would be described more verbosely as "press the `r' key and then press
+the <RETURN> key":
+
+ @kbd{r @key{RET}}
+
+This produces: `r <RET>'. (The present manual accepts the default for
+`@kbdinputstyle'.)
+
+ You also use the `@kbd' command if you are spelling out the letters
+you type; for example:
+
+ To give the @code{logout} command,
+ type the characters @kbd{l o g o u t @key{RET}}.
+
+This produces:
+
+ To give the `logout' command, type the characters `l o g o u t
+ <RET>'.
+
+ (Also, this example shows that you can add spaces for clarity. If you
+explicitly want to mention a space character as one of the characters of
+input, write `@key{SPC}' for it.)
+
+
+File: texinfo.info, Node: key, Next: samp, Prev: kbd, Up: Indicating
+
+9.1.4 `@key'{KEY-NAME}
+----------------------
+
+Use the `@key' command for the conventional name for a key on a
+keyboard, as in:
+
+ @key{RET}
+
+ You can use the `@key' command within the argument of an `@kbd'
+command when the sequence of characters to be typed includes one or
+more keys that are described by name.
+
+ For example, to produce `C-x <ESC>' you would type:
+
+ @kbd{C-x @key{ESC}}
+
+ Here is a list of the recommended names for keys:
+
+ SPC
+ Space
+
+ RET
+ Return
+
+ LFD
+ Linefeed (however, since most keyboards nowadays do not have
+ a Linefeed key, it might be better to call this character
+ `C-j'.
+
+ TAB
+ Tab
+
+ BS
+ Backspace
+
+ ESC
+ Escape
+
+ DEL
+ Delete
+
+ SHIFT
+ Shift
+
+ CTRL
+ Control
+
+ META
+ Meta
+
+ There are subtleties to handling words like `meta' or `ctrl' that are
+names of modifier keys. When mentioning a character in which the
+modifier key is used, such as `Meta-a', use the `@kbd' command alone;
+do not use the `@key' command; but when you are referring to the
+modifier key in isolation, use the `@key' command. For example, write
+`@kbd{Meta-a}' to produce `Meta-a' and `@key{META}' to produce <META>.
+
+
+File: texinfo.info, Node: samp, Next: verb, Prev: key, Up: Indicating
+
+9.1.5 `@samp'{TEXT}
+-------------------
+
+Use the `@samp' command to indicate text that is a literal example or
+`sample' of a sequence of characters in a file, string, pattern, etc.
+Enclose the text in braces. The argument appears within single
+quotation marks in both the Info file and the printed manual; in
+addition, it is printed in a fixed-width font.
+
+ To match @samp{foo} at the end of the line,
+ use the regexp @samp{foo$}.
+
+produces
+
+ To match `foo' at the end of the line, use the regexp `foo$'.
+
+ Any time you are referring to single characters, you should use
+`@samp' unless `@kbd' or `@key' is more appropriate. Also, you may use
+`@samp' for entire statements in C and for entire shell commands--in
+this case, `@samp' often looks better than `@code'. Basically, `@samp'
+is a catchall for whatever is not covered by `@code', `@kbd', or `@key'.
+
+ Only include punctuation marks within braces if they are part of the
+string you are specifying. Write punctuation marks outside the braces
+if those punctuation marks are part of the English text that surrounds
+the string. In the following sentence, for example, the commas and
+period are outside of the braces:
+
+ In English, the vowels are @samp{a}, @samp{e},
+ @samp{i}, @samp{o}, @samp{u}, and sometimes
+ @samp{y}.
+
+This produces:
+
+ In English, the vowels are `a', `e', `i', `o', `u', and sometimes
+ `y'.
+
+
+File: texinfo.info, Node: verb, Next: var, Prev: samp, Up: Indicating
+
+9.1.6 `@verb'{<char>TEXT<char>}
+-------------------------------
+
+Use the `@verb' command to print a verbatim sequence of characters.
+
+ Like LaTeX's `\verb' command, the verbatim text can be quoted using
+any unique delimiter character. Enclose the verbatim text, including
+the delimiters, in braces. Text is printed in a fixed-width font:
+
+ How many @verb{|@|}-escapes does one need to print this
+ @verb{.@a @b @c.} string or @verb{+@'e?`!`{}\+} this?
+
+produces
+
+ How many @-escapes does one need to print this
+ @a @b @c string or these @'e?`{}!`\ this?
+
+ This is in contrast to `@samp' (see the previous section), `@code',
+and similar commands; in those cases, the argument is normal Texinfo
+text, where the three characters `@{}' are special. With `@verb',
+nothing is special except the delimiter character you choose.
+
+ It is not reliable to use `@verb' inside other Texinfo constructs.
+
+
+File: texinfo.info, Node: var, Next: env, Prev: verb, Up: Indicating
+
+9.1.7 `@var'{METASYNTACTIC-VARIABLE}
+------------------------------------
+
+Use the `@var' command to indicate metasyntactic variables. A
+"metasyntactic variable" is something that stands for another piece of
+text. For example, you should use a metasyntactic variable in the
+documentation of a function to describe the arguments that are passed
+to that function.
+
+ Do not use `@var' for the names of particular variables in
+programming languages. These are specific names from a program, so
+`@code' is correct for them (*note code::). For example, the Emacs
+Lisp variable `texinfo-tex-command' is not a metasyntactic variable; it
+is properly formatted using `@code'.
+
+ Do not use `@var' for environment variables either; `@env' is correct
+for them (see the next section).
+
+ The effect of `@var' in the Info file is to change the case of the
+argument to all upper case. In the printed manual and HTML output, the
+argument is printed in slanted type.
+
+ For example,
+
+ To delete file @var{filename},
+ type @samp{rm @var{filename}}.
+
+produces
+
+ To delete file FILENAME, type `rm FILENAME'.
+
+(Note that `@var' may appear inside `@code', `@samp', `@file', etc.)
+
+ Write a metasyntactic variable all in lower case without spaces, and
+use hyphens to make it more readable. Thus, the Texinfo source for the
+illustration of how to begin a Texinfo manual looks like this:
+
+ \input texinfo
+ @@setfilename @var{info-file-name}
+ @@settitle @var{name-of-manual}
+
+This produces:
+
+ \input texinfo
+ @setfilename INFO-FILE-NAME
+ @settitle NAME-OF-MANUAL
+
+ In some documentation styles, metasyntactic variables are shown with
+angle brackets, for example:
+
+ ..., type rm <filename>
+
+However, that is not the style that Texinfo uses. (You can, of course,
+modify the sources to `texinfo.tex' and the Info formatting commands to
+output the `<...>' format if you wish.)
+
+
+File: texinfo.info, Node: env, Next: file, Prev: var, Up: Indicating
+
+9.1.8 `@env'{ENVIRONMENT-VARIABLE}
+----------------------------------
+
+Use the `@env' command to indicate environment variables, as used by
+many operating systems, including GNU. Do not use it for metasyntactic
+variables; use `@var' instead (see the previous section).
+
+ `@env' is equivalent to `@code' in its effects. For example:
+
+ The @env{PATH} environment variable ...
+ produces
+
+ The `PATH' environment variable ...
+
+
+File: texinfo.info, Node: file, Next: command, Prev: env, Up: Indicating
+
+9.1.9 `@file'{FILE-NAME}
+------------------------
+
+Use the `@file' command to indicate text that is the name of a file,
+buffer, or directory, or is the name of a node in Info. You can also
+use the command for file name suffixes. Do not use `@file' for symbols
+in a programming language; use `@code'.
+
+ Currently, `@file' is equivalent to `@samp' in its effects. For
+example,
+
+ The @file{.el} files are in
+ the @file{/usr/local/emacs/lisp} directory.
+
+produces
+
+ The `.el' files are in the `/usr/local/emacs/lisp' directory.
+
+
+File: texinfo.info, Node: command, Next: option, Prev: file, Up: Indicating
+
+9.1.10 `@command'{COMMAND-NAME}
+-------------------------------
+
+Use the `@command' command to indicate command names, such as `ls' or
+`cc'.
+
+ `@command' is equivalent to `@code' in its effects. For example:
+
+ The command @command{ls} lists directory contents.
+ produces
+
+ The command `ls' lists directory contents.
+
+ You should write the name of a program in the ordinary text font,
+rather than using `@command', if you regard it as a new English word,
+such as `Emacs' or `Bison'.
+
+ When writing an entire shell command invocation, as in `ls -l', you
+should use either `@samp' or `@code' at your discretion.
+
+
+File: texinfo.info, Node: option, Next: dfn, Prev: command, Up: Indicating
+
+9.1.11 `@option'{OPTION-NAME}
+-----------------------------
+
+Use the `@option' command to indicate a command-line option; for
+example, `-l' or `--version' or `--output=FILENAME'.
+
+ `@option' is equivalent to `@samp' in its effects. For example:
+
+ The option @option{-l} produces a long listing.
+ produces
+
+ The option `-l' produces a long listing.
+
+ In tables, putting options inside `@code' produces a more pleasing
+effect.
+
+
+File: texinfo.info, Node: dfn, Next: cite, Prev: option, Up: Indicating
+
+9.1.12 `@dfn'{TERM}
+-------------------
+
+Use the `@dfn' command to identify the introductory or defining use of
+a technical term. Use the command only in passages whose purpose is to
+introduce a term which will be used again or which the reader ought to
+know. Mere passing mention of a term for the first time does not
+deserve `@dfn'. The command generates italics in the printed manual,
+and double quotation marks in the Info file. For example:
+
+ Getting rid of a file is called @dfn{deleting} it.
+
+produces
+
+ Getting rid of a file is called "deleting" it.
+
+ As a general rule, a sentence containing the defining occurrence of a
+term should be a definition of the term. The sentence does not need to
+say explicitly that it is a definition, but it should contain the
+information of a definition--it should make the meaning clear.
+
+
+File: texinfo.info, Node: cite, Next: acronym, Prev: dfn, Up: Indicating
+
+9.1.13 `@cite'{REFERENCE}
+-------------------------
+
+Use the `@cite' command for the name of a book that lacks a companion
+Info file. The command produces italics in the printed manual, and
+quotation marks in the Info file.
+
+ If a book is written in Texinfo, it is better to use a cross reference
+command since a reader can easily follow such a reference in Info.
+*Note `@xref': xref.
+
+
+File: texinfo.info, Node: acronym, Next: indicateurl, Prev: cite, Up: Indicating
+
+9.1.14 `@acronym'{ACRONYM[, MEANING]}
+-------------------------------------
+
+Use the `@acronym' command for abbreviations written in all capital
+letters, such as `NASA'. The abbreviation is given as the single
+argument in braces, as in `@acronym{NASA}'. As a matter of style, or
+for particular abbreviations, you may prefer to use periods, as in
+`@acronym{F.B.I.}'.
+
+ If the acronym is at the end of a sentence, remember to use the
+special `@.' and similar commands (*note Ending a Sentence::).
+
+ In TeX, the acronym is printed in slightly smaller font. In the Info
+output, the argument is printed as-is. In HTML, Docbook, and XML, the
+`<acronym>' tag is used.
+
+ `@acronym' accepts an optional second argument, intended to be used
+for the meaning of the acronym. If present, it is printed in
+parentheses after the acronym. For instance (since GNU is a recursive
+acronym, we use `@acronym' recursively):
+
+ @acronym{GNU, @acronym{GNU}'s Not Unix}
+
+produces:
+
+ GNU (@acronym{GNU}'s Not Unix)
+
+ In some circumstances, it is conventional to print family names in all
+capitals. Don't use `@acronym' for this, since a name is not an
+acronym. Use `@sc' instead (*note Smallcaps::).
+
+
+File: texinfo.info, Node: indicateurl, Next: email, Prev: acronym, Up: Indicating
+
+9.1.15 `@indicateurl'{UNIFORM-RESOURCE-LOCATOR}
+-----------------------------------------------
+
+Use the `@indicateurl' command to indicate a uniform resource locator
+on the World Wide Web. This is analogous to `@file', `@var', etc., and
+is purely for markup purposes. It does not produce a link you can
+follow in HTML output (use the `@uref' command for that, *note `@uref':
+uref.). It is useful for url's which do not actually exist. For
+example:
+
+ For example, the url might be @indicateurl{http://example.org/path}.
+
+which produces:
+
+ For example, the url might be <http://example.org/path>.
+
+
+File: texinfo.info, Node: email, Prev: indicateurl, Up: Indicating
+
+9.1.16 `@email'{EMAIL-ADDRESS[, DISPLAYED-TEXT]}
+------------------------------------------------
+
+Use the `@email' command to indicate an electronic mail address. It
+takes one mandatory argument, the address, and one optional argument,
+the text to display (the default is the address itself).
+
+ In Info, the address is shown in angle brackets, preceded by the text
+to display if any. In TeX, the angle brackets are omitted. In HTML
+output, `@email' produces a `mailto' link that usually brings up a mail
+composition window. For example:
+
+ Send bug reports to @email{bug-texinfo@@gnu.org},
+ suggestions to the @email{bug-texinfo@@gnu.org, same place}.
+ produces
+ Send bug reports to <bug-texinfo@gnu.org>,
+ suggestions to the same place <bug-texinfo@gnu.org>.
+
+
+File: texinfo.info, Node: Emphasis, Prev: Indicating, Up: Marking Text
+
+9.2 Emphasizing Text
+====================
+
+Usually, Texinfo changes the font to mark words in the text according to
+what category the words belong to; an example is the `@code' command.
+Most often, this is the best way to mark words. However, sometimes you
+will want to emphasize text without indicating a category. Texinfo has
+two commands to do this. Also, Texinfo has several commands that
+specify the font in which TeX will typeset text. These commands have
+no effect on Info and only one of them, the `@r' command, has any
+regular use.
+
+* Menu:
+
+* emph & strong:: How to emphasize text in Texinfo.
+* Smallcaps:: How to use the small caps font.
+* Fonts:: Various font commands for printed output.
+
+
+File: texinfo.info, Node: emph & strong, Next: Smallcaps, Up: Emphasis
+
+9.2.1 `@emph'{TEXT} and `@strong'{TEXT}
+---------------------------------------
+
+The `@emph' and `@strong' commands are for emphasis; `@strong' is
+stronger. In printed output, `@emph' produces _italics_ and `@strong'
+produces *bold*.
+
+ For example,
+
+ @strong{Caution:} @samp{rm * .[^.]*}
+ removes @emph{all} files in the directory.
+
+produces the following in printed output and HTML:
+
+ *Caution*: `rm * .[^.]*' removes _all_ files in the directory.
+
+and the following in Info:
+
+ *Caution:* `rm * .[^.]*' removes _all_
+ files in the directory.
+
+ The `@strong' command is seldom used except to mark what is, in
+effect, a typographical element, such as the word `Caution' in the
+preceding example.
+
+ In the Info output, `@emph' surrounds the text with underscores
+(`_'), and `@strong' puts asterisks around the text.
+
+ Caution: Do not use `@strong' with the word `Note'; Info will
+ mistake the combination for a cross reference. (It's usually
+ redundant, anyway.) Use a phrase such as *Please notice* or
+ *Caution* instead, or the optional argument to
+ `@quotation'--`Note' is allowable there.
+
+
+File: texinfo.info, Node: Smallcaps, Next: Fonts, Prev: emph & strong, Up: Emphasis
+
+9.2.2 `@sc'{TEXT}: The Small Caps Font
+--------------------------------------
+
+Use the `@sc' command to set text in A SMALL CAPS FONT (where
+possible). Write the text you want to be in small caps between braces
+in lower case, like this:
+
+ Richard @sc{Stallman} founded @acronym{GNU}.
+
+This produces:
+
+ Richard STALLMAN founded GNU.
+
+ As shown here, we recommend using `@acronym' for actual abbreviations
+(*note acronym::), and reserving `@sc' for special cases where you want
+small caps. The output is not the same (`@acronym' prints in a smaller
+text font, not the small caps font), but more importantly it describes
+the actual text more accurately.
+
+ Family names are one case where small capitals are sometimes
+desirable, also as shown here.
+
+ TeX typesets any uppercase letters between the braces of an `@sc'
+command in full-size capitals; only lowercase letters are printed in
+the small caps font. In the Info output, the argument to `@sc' is
+printed in all upper case. In HTML, the argument is uppercased and the
+output marked with the `<small>' tag to reduce the font size.
+
+ Since it's redundant to mark all-uppercase text with `@sc',
+`makeinfo' warns about such usage.
+
+ We recommend using regular mixed case wherever possible.
+
+
+File: texinfo.info, Node: Fonts, Prev: Smallcaps, Up: Emphasis
+
+9.2.3 Fonts for Printing, Not Info
+----------------------------------
+
+Texinfo provides four font commands that specify font changes in the
+printed manual and (where possible) in the HTML output, but have no
+effect in the Info file. All four commands apply to an argument that
+follows, surrounded by braces.
+
+`@i'
+ selects an italic font;
+
+`@b'
+ selects bold face;
+
+`@t'
+ selects the fixed-width, typewriter-style font used by `@code';
+
+`@r'
+ selects a roman font, which is the usual font in which text is
+ printed.
+
+
+ Only the `@r' command has much use: in example-like environments, you
+can use the `@r' command to write comments in the standard roman font
+instead of the fixed-width font. This looks better in printed output,
+and produces a `<lineannotation>' tag in Docbook output.
+
+ For example,
+
+ @lisp
+ (+ 2 2) ; @r{Add two plus two.}
+ @end lisp
+
+produces
+
+ (+ 2 2) ; Add two plus two.
+
+ In general, you should avoid using the other three font commands. If
+you need to use one, it probably indicates a gap in the Texinfo
+language.
+
+
+File: texinfo.info, Node: Quotations and Examples, Next: Lists and Tables, Prev: Marking Text, Up: Top
+
+10 Quotations and Examples
+**************************
+
+Quotations and examples are blocks of text consisting of one or more
+whole paragraphs that are set off from the bulk of the text and treated
+differently. They are usually indented.
+
+ In Texinfo, you always begin a quotation or example by writing an
+@-command at the beginning of a line by itself, and end it by writing
+an `@end' command that is also at the beginning of a line by itself.
+For instance, you begin an example by writing `@example' by itself at
+the beginning of a line and end the example by writing `@end example'
+on a line by itself, at the beginning of that line.
+
+* Menu:
+
+* Block Enclosing Commands:: Different constructs for different purposes.
+* quotation:: Writing a quotation.
+* example:: Writing an example in a fixed-width font.
+* verbatim:: Writing a verbatim example.
+* verbatiminclude:: Including a file verbatim.
+* lisp:: Illustrating Lisp code.
+* small:: Examples in a smaller font.
+* display:: Writing an example in the current font.
+* format:: Writing an example without narrowed margins.
+* exdent:: Undo indentation on a line.
+* flushleft & flushright:: Pushing text flush left or flush right.
+* noindent:: Preventing paragraph indentation.
+* indent:: Forcing paragraph indentation.
+* cartouche:: Drawing rounded rectangles around examples.
+
+
+File: texinfo.info, Node: Block Enclosing Commands, Next: quotation, Up: Quotations and Examples
+
+10.1 Block Enclosing Commands
+=============================
+
+Here are commands for quotations and examples, explained further in the
+following sections:
+
+`@quotation'
+ Indicate text that is quoted. The text is filled, indented (from
+ both margins), and printed in a roman font by default.
+
+`@example'
+ Illustrate code, commands, and the like. The text is printed in a
+ fixed-width font, and indented but not filled.
+
+`@verbatim'
+ Mark a piece of text that is to be printed verbatim; no character
+ substitutions are made and all commands are ignored, until the next
+ `@end verbatim'. The text is printed in a fixed-width font, and
+ not indented or filled. Extra spaces and blank lines are
+ significant, and tabs are expanded.
+
+`@smallexample'
+ Same as `@example', except that in TeX this command typesets text
+ in a smaller font.
+
+`@lisp'
+ Like `@example', but specifically for illustrating Lisp code. The
+ text is printed in a fixed-width font, and indented but not filled.
+
+`@smalllisp'
+ Is to `@lisp' as `@smallexample' is to `@example'.
+
+`@display'
+ Display illustrative text. The text is indented but not filled,
+ and no font is selected (so, by default, the font is roman).
+
+`@smalldisplay'
+ Is to `@display' as `@smallexample' is to `@example'.
+
+`@format'
+ Like `@display' (the text is not filled and no font is selected),
+ but the text is not indented.
+
+`@smallformat'
+ Is to `@format' as `@smallexample' is to `@example'.
+
+ The `@exdent' command is used within the above constructs to undo the
+indentation of a line.
+
+ The `@flushleft' and `@flushright' commands are used to line up the
+left or right margins of unfilled text.
+
+ The `@noindent' command may be used after one of the above constructs
+to prevent the following text from being indented as a new paragraph.
+
+ You can use the `@cartouche' environment around one of the above
+constructs to highlight the example or quotation by drawing a box with
+rounded corners around it. *Note Drawing Cartouches Around Examples:
+cartouche.
+
+
+File: texinfo.info, Node: quotation, Next: example, Prev: Block Enclosing Commands, Up: Quotations and Examples
+
+10.2 `@quotation': Block quotations
+===================================
+
+The text of a quotation is processed normally (regular font, text is
+filled) except that:
+
+ * the margins are closer to the center of the page, so the whole of
+ the quotation is indented;
+
+ * the first lines of paragraphs are indented no more than other
+ lines;
+
+ * in the printed output, interparagraph spacing is reduced.
+
+ This is an example of text written between an `@quotation' command
+ and an `@end quotation' command. An `@quotation' command is most
+ often used to indicate text that is excerpted from another (real
+ or hypothetical) printed work.
+
+ Write an `@quotation' command as text on a line by itself. This line
+will disappear from the output. Mark the end of the quotation with a
+line beginning with and containing only `@end quotation'. The `@end
+quotation' line will likewise disappear from the output.
+
+ `@quotation' takes one optional argument, given on the remainder of
+the line. This text, if present, is included at the beginning of the
+quotation in bold or otherwise emphasized, and followed with a `:'.
+For example:
+
+ @quotation Note
+ This is
+ a foo.
+ @end quotation
+
+produces
+
+ Note: This is a foo.
+
+ If the `@quotation' argument is exactly one of these words:
+
+ Caution Important Note Tip Warning
+
+then the Docbook output uses corresponding special tags (`<note>',
+etc.) instead of the default `<blockquote>'. HTML output always uses
+`<blockquote>'.
+
+
+File: texinfo.info, Node: example, Next: verbatim, Prev: quotation, Up: Quotations and Examples
+
+10.3 `@example': Example Text
+=============================
+
+The `@example' environment is used to indicate an example that is not
+part of the running text, such as computer input or output. Write an
+`@example' command at the beginning of a line by itself. Mark the end
+of the example with an `@end example' command, also written at the
+beginning of a line by itself.
+
+ An `@example' environment has the following characteristics:
+
+ * Each line in the input file is a line in the output; that is, the
+ source text is not filled as it normally is.
+
+ * Extra spaces and blank lines are significant.
+
+ * The output is indented.
+
+ * The output uses a fixed-width font.
+
+ * Texinfo commands _are_ expanded; if you want the output to be the
+ input verbatim, use the `@verbatim' environment instead (*note
+ `@verbatim': verbatim.).
+
+ For example,
+
+ @example
+ cp foo @var{dest1}; \
+ cp foo @var{dest2}
+ @end example
+
+produces
+
+ cp foo DEST1; \
+ cp foo DEST2
+
+ The lines containing `@example' and `@end example' will disappear
+from the output. To make the output look good, you should put a blank
+line before the `@example' and another blank line after the `@end
+example'. Blank lines inside the beginning `@example' and the ending
+`@end example', on the other hand, do appear in the output.
+
+ Caution: Do not use tabs in the lines of an example! (Or anywhere
+ else in Texinfo, except in verbatim environments.) TeX treats
+ tabs as single spaces, and that is not what they look like. In
+ Emacs, you can use `M-x untabify' to convert tabs in a region to
+ multiple spaces.
+
+ Examples are often, logically speaking, "in the middle" of a
+paragraph, and the text that continues afterwards should not be
+indented, as in the example above. The `@noindent' command prevents a
+piece of text from being indented as if it were a new paragraph (*note
+`@noindent': noindent.
+
+ If you want to embed code fragments within sentences, instead of
+displaying them, use the `@code' command or its relatives (*note
+`@code': code.).
+
+ If you wish to write a "comment" on a line of an example in the
+normal roman font, you can use the `@r' command (*note Fonts::).
+
+
+File: texinfo.info, Node: verbatim, Next: verbatiminclude, Prev: example, Up: Quotations and Examples
+
+10.4 `@verbatim': Literal Text
+==============================
+
+Use the `@verbatim' environment for printing of text that may contain
+special characters or commands that should not be interpreted, such as
+computer input or output (`@example' interprets its text as regular
+Texinfo commands). This is especially useful for including
+automatically generated output in a Texinfo manual. Here is an example;
+the output you see is just the same as the input, with a line
+`@verbatim' before and a line `@end verbatim' after.
+
+
+This is an example of text written in a @verbatim
+block. No character substitutions are made. All commands
+are ignored, until `<at>end verbatim'.
+
+In the printed manual, the text is typeset in a
+fixed-width font, and not indented or filled. All
+spaces and blank lines are significant, including tabs.
+
+ Write a `@verbatim' command at the beginning of a line by itself.
+This line will disappear from the output. Mark the end of the verbatim
+block with a `@end verbatim' command, also written at the beginning of
+a line by itself. The `@end verbatim' will also disappear from the
+output.
+
+ For example:
+
+@verbatim
+{
+<TAB>@command with strange characters: @'e
+expand<TAB>me
+}
+@end verbatim
+
+
+produces
+
+
+{
+ @command with strange characters: @'e
+expand me
+}
+
+ Since the lines containing `@verbatim' and `@end verbatim' produce no
+output, typically you should put a blank line before the `@verbatim'
+and another blank line after the `@end verbatim'. Blank lines between
+the beginning `@verbatim' and the ending `@end verbatim' will appear in
+the output.
+
+ It is not reliable to use `@verbatim' inside other Texinfo constructs.
+
+
+File: texinfo.info, Node: verbatiminclude, Next: lisp, Prev: verbatim, Up: Quotations and Examples
+
+10.5 `@verbatiminclude' FILE: Include a File Verbatim
+=====================================================
+
+You can include the exact contents of a file in the document with the
+`@verbatiminclude' command:
+
+ @verbatiminclude FILENAME
+
+ The contents of FILENAME is printed in a verbatim environment (*note
+`@verbatim': verbatim.). Generally, the file is printed exactly as it
+is, with all special characters and white space retained. No
+indentation is added; if you want indentation, enclose the
+`@verbatiminclude' within `@example' (*note `@example': example.).
+
+ The name of the file is taken literally, with a single exception:
+`@value{VAR}' references are expanded. This makes it possible to
+reliably include files in other directories in a distribution, for
+instance:
+
+ @include @value{top_srcdir}/NEWS
+
+(You still have to get `top_srcdir' defined in the first place.)
+
+
+File: texinfo.info, Node: lisp, Next: small, Prev: verbatiminclude, Up: Quotations and Examples
+
+10.6 `@lisp': Marking a Lisp Example
+====================================
+
+The `@lisp' command is used for Lisp code. It is synonymous with the
+`@example' command.
+
+ This is an example of text written between an
+ `@lisp' command and an `@end lisp' command.
+
+ Use `@lisp' instead of `@example' to preserve information regarding
+the nature of the example. This is useful, for example, if you write a
+function that evaluates only and all the Lisp code in a Texinfo file.
+Then you can use the Texinfo file as a Lisp library.(1)
+
+ Mark the end of `@lisp' with `@end lisp' on a line by itself.
+
+ ---------- Footnotes ----------
+
+ (1) It would be straightforward to extend Texinfo to work in a
+similar fashion for C, Fortran, or other languages.
+
+
+File: texinfo.info, Node: small, Next: display, Prev: lisp, Up: Quotations and Examples
+
+10.7 `@small...' Block Commands
+===============================
+
+In addition to the regular `@example' and `@lisp' commands, Texinfo has
+"small" example-style commands. These are `@smalldisplay',
+`@smallexample', `@smallformat', and `@smalllisp'.
+
+ In Info, the `@small...' commands are equivalent to their non-small
+companion commands.
+
+ In TeX, however, the `@small...' commands typeset text in a smaller
+font than the non-small example commands. Consequently, many examples
+containing long lines fit on a page without needing to be shortened.
+
+ Mark the end of an `@small...' block with a corresponding `@end
+small...'. For example, pair `@smallexample' with `@end smallexample'.
+
+ Here is an example of the font used by the `@small...' commands (in
+Info, the output will be the same as usual):
+
+ ... to make sure that you have the freedom to
+ distribute copies of free software (and charge for
+ this service if you wish), that you receive source
+ code or can get it if you want it, that you can
+ change the software or use pieces of it in new free
+ programs; and that you know you can do these things.
+
+ The `@small...' commands make it easier to prepare manuals without
+forcing you to edit examples by hand to fit them onto narrower pages.
+
+ As a general rule, a printed document looks much better if you use
+only one of (for instance) `@example' or `@smallexample' consistently
+within a chapter.
+
+
+File: texinfo.info, Node: display, Next: format, Prev: small, Up: Quotations and Examples
+
+10.8 `@display' and `@smalldisplay'
+===================================
+
+The `@display' command begins a kind of example. It is like the
+`@example' command except that, in a printed manual, `@display' does
+not select the fixed-width font. In fact, it does not specify the font
+at all, so that the text appears in the same font it would have
+appeared in without the `@display' command.
+
+ This is an example of text written between an `@display' command
+ and an `@end display' command. The `@display' command
+ indents the text, but does not fill it.
+
+ Texinfo also provides a command `@smalldisplay', which is like
+`@display' but uses a smaller font in `@smallbook' format. *Note
+small::.
+
+
+File: texinfo.info, Node: format, Next: exdent, Prev: display, Up: Quotations and Examples
+
+10.9 `@format' and `@smallformat'
+=================================
+
+The `@format' command is similar to `@example' except that, in the
+printed manual, `@format' does not select the fixed-width font and does
+not narrow the margins.
+
+This is an example of text written between an `@format' command
+and an `@end format' command. As you can see
+from this example,
+the `@format' command does not fill the text.
+
+ Texinfo also provides a command `@smallformat', which is like
+`@format' but uses a smaller font in `@smallbook' format. *Note
+small::.
+
+
+File: texinfo.info, Node: exdent, Next: flushleft & flushright, Prev: format, Up: Quotations and Examples
+
+10.10 `@exdent': Undoing a Line's Indentation
+=============================================
+
+The `@exdent' command removes any indentation a line might have. The
+command is written at the beginning of a line and applies only to the
+text that follows the command that is on the same line. Do not use
+braces around the text. In a printed manual, the text on an `@exdent'
+line is printed in the roman font.
+
+ `@exdent' is usually used within examples. Thus,
+
+ @example
+ This line follows an @@example command.
+ @exdent This line is exdented.
+ This line follows the exdented line.
+ The @@end example comes on the next line.
+ @end group
+
+produces
+
+ This line follows an @example command.
+This line is exdented.
+ This line follows the exdented line.
+ The @end example comes on the next line.
+
+ In practice, the `@exdent' command is rarely used. Usually, you
+un-indent text by ending the example and returning the page to its
+normal width.
+
+
+File: texinfo.info, Node: flushleft & flushright, Next: noindent, Prev: exdent, Up: Quotations and Examples
+
+10.11 `@flushleft' and `@flushright'
+====================================
+
+The `@flushleft' and `@flushright' commands line up the ends of lines
+on the left and right margins of a page, but do not fill the text. The
+commands are written on lines of their own, without braces. The
+`@flushleft' and `@flushright' commands are ended by `@end flushleft'
+and `@end flushright' commands on lines of their own.
+
+ For example,
+
+ @flushleft
+ This text is
+ written flushleft.
+ @end flushleft
+
+produces
+
+ This text is
+ written flushleft.
+
+ `@flushright' produces the type of indentation often used in the
+return address of letters. For example,
+
+ @flushright
+ Here is an example of text written
+ flushright. The @code{@flushright} command
+ right justifies every line but leaves the
+ left end ragged.
+ @end flushright
+
+produces
+
+ Here is an example of text written
+ flushright. The `@flushright' command
+ right justifies every line but leaves the
+ left end ragged.
+
+
+File: texinfo.info, Node: noindent, Next: indent, Prev: flushleft & flushright, Up: Quotations and Examples
+
+10.12 `@noindent': Omitting Indentation
+=======================================
+
+An example or other inclusion can break a paragraph into segments.
+Ordinarily, the formatters indent text that follows an example as a new
+paragraph. You can prevent this on a case-by-case basis by writing
+`@noindent' at the beginning of a line, preceding the continuation
+text. You can also disable indentation for all paragraphs globally with
+`@paragraphindent' (*note Paragraph Indenting: paragraphindent.).
+
+ It is best to write `@noindent' on a line by itself, since in most
+environments, spaces following the command will not be ignored. It's ok
+to use it at the beginning of a line, with text following, outside of
+any environment.
+
+ For example:
+
+ @example
+ This is an example
+ @end example
+
+ @noindent
+ This line is not indented. As you can see, the
+ beginning of the line is fully flush left with the line
+ that follows after it. (This whole example is between
+ @code{@@display} and @code{@@end display}.)
+
+produces:
+
+
+ This is an example
+
+ This line is not indented. As you can see, the
+ beginning of the line is fully flush left with the line
+ that follows after it. (This whole example is between
+ `@display' and `@end display'.)
+
+ To adjust the number of blank lines properly in the Info file output,
+remember that the line containing `@noindent' does not generate a blank
+line, and neither does the `@end example' line.
+
+ In the Texinfo source file for this manual, each line that says
+`produces' is preceded by `@noindent'.
+
+ Do not put braces after an `@noindent' command; they are not
+necessary, since `@noindent' is a command used outside of paragraphs
+(*note Command Syntax::).
+
+
+File: texinfo.info, Node: indent, Next: cartouche, Prev: noindent, Up: Quotations and Examples
+
+10.13 `@indent': Forcing Indentation
+====================================
+
+ To complement the `@noindent' command (see the previous section),
+Texinfo provides the `@indent' command that forces a paragraph to be
+indented. This paragraph, for instance, is indented using an `@indent'
+command. The first paragraph of a section is the most likely place to
+use `@indent', to override the normal behavior of no indentation there
+(*note paragraphindent::).
+
+ It is best to write `@indent' on a line by itself, since in most
+environments, spaces following the command will not be ignored. The
+`@indent' line will not generate a blank line in the Info output within
+an environment.
+
+ However, it is ok to use it at the beginning of a line, with text
+following, outside of any environment.
+
+ Do not put braces after an `@indent' command; they are not necessary,
+since `@indent' is a command used outside of paragraphs (*note Command
+Syntax::).
+
+
+File: texinfo.info, Node: cartouche, Prev: indent, Up: Quotations and Examples
+
+10.14 `@cartouche': Rounded Rectangles Around Examples
+======================================================
+
+In a printed manual, the `@cartouche' command draws a box with rounded
+corners around its contents. In HTML, a normal rectangle is drawn
+(that's the best HTML can do). `@cartouche' has no effect in Info
+output.
+
+ You can use this command to further highlight an example or quotation.
+For instance, you could write a manual in which one type of example is
+surrounded by a cartouche for emphasis.
+
+ For example,
+
+ @cartouche
+ @example
+ % pwd
+ /usr/local/share/emacs
+ @end example
+ @end cartouche
+
+surrounds the two-line example with a box with rounded corners, in the
+printed manual.
+
+ The output from the example looks like this (if you're reading this in
+Info, you'll see the `@cartouche' had no effect):
+
+ % pwd
+ /usr/local/info
+
+ For proper output in HTML, it's necessary to put the `@cartouche'
+around the `@example', and not the other way around. This limitation
+of `makeinfo' may be removed one day.
+
+ `@cartouche' also implies `@group' (*note group::).
+
+
+File: texinfo.info, Node: Lists and Tables, Next: Special Displays, Prev: Quotations and Examples, Up: Top
+
+11 Lists and Tables
+*******************
+
+Texinfo has several ways of making lists and tables. Lists can be
+bulleted or numbered; two-column tables can highlight the items in the
+first column; multi-column tables are also supported.
+
+* Menu:
+
+* Introducing Lists:: Texinfo formats lists for you.
+* itemize:: How to construct a simple list.
+* enumerate:: How to construct a numbered list.
+* Two-column Tables:: How to construct a two-column table.
+* Multi-column Tables:: How to construct generalized tables.
+
+
+File: texinfo.info, Node: Introducing Lists, Next: itemize, Up: Lists and Tables
+
+11.1 Introducing Lists
+======================
+
+Texinfo automatically indents the text in lists or tables, and numbers
+an enumerated list. This last feature is useful if you modify the
+list, since you do not need to renumber it yourself.
+
+ Numbered lists and tables begin with the appropriate @-command at the
+beginning of a line, and end with the corresponding `@end' command on a
+line by itself. The table and itemized-list commands also require that
+you write formatting information on the same line as the beginning
+@-command.
+
+ Begin an enumerated list, for example, with an `@enumerate' command
+and end the list with an `@end enumerate' command. Begin an itemized
+list with an `@itemize' command, followed on the same line by a
+formatting command such as `@bullet', and end the list with an `@end
+itemize' command.
+
+ Precede each element of a list with an `@item' or `@itemx' command.
+
+
+Here is an itemized list of the different kinds of table and lists:
+
+ * Itemized lists with and without bullets.
+
+ * Enumerated lists, using numbers or letters.
+
+ * Two-column tables with highlighting.
+
+
+Here is an enumerated list with the same items:
+
+ 1. Itemized lists with and without bullets.
+
+ 2. Enumerated lists, using numbers or letters.
+
+ 3. Two-column tables with highlighting.
+
+
+And here is a two-column table with the same items and their @-commands:
+
+`@itemize'
+ Itemized lists with and without bullets.
+
+`@enumerate'
+ Enumerated lists, using numbers or letters.
+
+`@table'
+`@ftable'
+`@vtable'
+ Two-column tables, optionally with indexing.
+
+
+File: texinfo.info, Node: itemize, Next: enumerate, Prev: Introducing Lists, Up: Lists and Tables
+
+11.2 `@itemize': Making an Itemized List
+========================================
+
+The `@itemize' command produces sequences of indented paragraphs, with
+a bullet or other mark inside the left margin at the beginning of each
+paragraph for which such a mark is desired.
+
+ Begin an itemized list by writing `@itemize' at the beginning of a
+line. Follow the command, on the same line, with a character or a
+Texinfo command that generates a mark. Usually, you will write
+`@bullet' after `@itemize', but you can use `@minus', or any command or
+character that results in a single character in the Info file. If you
+don't want any mark at all, use `@w'. (When you write the mark command
+such as `@bullet' after an `@itemize' command, you may omit the `{}'.)
+If you don't specify a mark command, the default is `@bullet'.
+
+ Write the text of the indented paragraphs themselves after the
+`@itemize', up to another line that says `@end itemize'.
+
+ At the beginning of each paragraph for which a mark in the margin is
+desired, write a line that starts with `@item'. It is ok to have text
+following the `@item'.
+
+ Usually, you should put a blank line before an `@item'. This puts a
+blank line in the Info file. (TeX inserts the proper interline
+whitespace in either case.) Except when the entries are very brief,
+these blank lines make the list look better.
+
+ Here is an example of the use of `@itemize', followed by the output
+it produces. `@bullet' produces an `*' in Info and a round dot in TeX.
+
+ @itemize @bullet
+ @item
+ Some text for foo.
+
+ @item
+ Some text
+ for bar.
+ @end itemize
+
+This produces:
+
+ * Some text for foo.
+
+ * Some text for bar.
+
+ Itemized lists may be embedded within other itemized lists. Here is a
+list marked with dashes embedded in a list marked with bullets:
+
+ @itemize @bullet
+ @item
+ First item.
+
+ @itemize @minus
+ @item
+ Inner item.
+
+ @item
+ Second inner item.
+ @end itemize
+
+ @item
+ Second outer item.
+ @end itemize
+
+This produces:
+
+ * First item.
+
+ - Inner item.
+
+ - Second inner item.
+
+ * Second outer item.
+
+
+File: texinfo.info, Node: enumerate, Next: Two-column Tables, Prev: itemize, Up: Lists and Tables
+
+11.3 `@enumerate': Making a Numbered or Lettered List
+=====================================================
+
+`@enumerate' is like `@itemize' (*note `@itemize': itemize.), except
+that the labels on the items are successive integers or letters instead
+of bullets.
+
+ Write the `@enumerate' command at the beginning of a line. The
+command does not require an argument, but accepts either a number or a
+letter as an option. Without an argument, `@enumerate' starts the list
+with the number `1'. With a numeric argument, such as `3', the command
+starts the list with that number. With an upper or lower case letter,
+such as `a' or `A', the command starts the list with that letter.
+
+ Write the text of the enumerated list in the same way as an itemized
+list: write a line starting with `@item' at the beginning of each
+paragraph that you want enumerated. It is ok to have text following
+the `@item'.
+
+ You should put a blank line between entries in the list. This
+generally makes it easier to read the Info file.
+
+ Here is an example of `@enumerate' without an argument:
+
+ @enumerate
+ @item
+ Underlying causes.
+
+ @item
+ Proximate causes.
+ @end enumerate
+
+This produces:
+
+ 1. Underlying causes.
+
+ 2. Proximate causes.
+
+
+ Here is an example with an argument of `3':
+
+ @enumerate 3
+ @item
+ Predisposing causes.
+
+ @item
+ Precipitating causes.
+
+ @item
+ Perpetuating causes.
+ @end enumerate
+
+This produces:
+
+ 3. Predisposing causes.
+
+ 4. Precipitating causes.
+
+ 5. Perpetuating causes.
+
+
+ Here is a brief summary of the alternatives. The summary is
+constructed using `@enumerate' with an argument of `a'.
+
+ a. `@enumerate'
+
+ Without an argument, produce a numbered list, starting with the
+ number 1.
+
+ b. `@enumerate POSITIVE-INTEGER'
+
+ With a (positive) numeric argument, start a numbered list with that
+ number. You can use this to continue a list that you interrupted
+ with other text.
+
+ c. `@enumerate UPPER-CASE-LETTER'
+
+ With an upper case letter as argument, start a list in which each
+ item is marked by a letter, beginning with that upper case letter.
+
+ d. `@enumerate LOWER-CASE-LETTER'
+
+ With a lower case letter as argument, start a list in which each
+ item is marked by a letter, beginning with that lower case letter.
+
+ You can also nest enumerated lists, as in an outline.
+
+
+File: texinfo.info, Node: Two-column Tables, Next: Multi-column Tables, Prev: enumerate, Up: Lists and Tables
+
+11.4 Making a Two-column Table
+==============================
+
+`@table' is similar to `@itemize' (*note `@itemize': itemize.), but
+allows you to specify a name or heading line for each item. The
+`@table' command is used to produce two-column tables, and is
+especially useful for glossaries, explanatory exhibits, and
+command-line option summaries.
+
+* Menu:
+
+* table:: How to construct a two-column table.
+* ftable vtable:: Automatic indexing for two-column tables.
+* itemx:: How to put more entries in the first column.
+
+
+File: texinfo.info, Node: table, Next: ftable vtable, Up: Two-column Tables
+
+11.4.1 Using the `@table' Command
+---------------------------------
+
+Use the `@table' command to produce two-column tables. It is usually
+listed for "definition lists" of various sorts, where you have a list
+of terms and a brief text with each one.
+
+ Write the `@table' command at the beginning of a line, after a blank
+line, and follow it on the same line with an argument that is a Texinfo
+"indicating" command such as `@code', `@samp', `@var', `@option', or
+`@kbd' (*note Indicating::).
+
+ This command will be applied to the text that goes into the first
+column of each item and thus determines how it will be highlighted.
+For example, `@table @code' will cause the text in the first column to
+be output as if it `@code' command.
+
+ You may also use the `@asis' command as an argument to `@table'.
+`@asis' is a command that does nothing; if you use this command after
+`@table', the first column entries are output without added
+highlighting ("as is").
+
+ The `@table' command works with other commands besides those
+explicitly mentioned here. However, you can only use commands that
+normally take arguments in braces. (In this case, however, you use the
+command name without an argument, because the subsequent `@item''s will
+supply the argument.)
+
+ Begin each table entry with an `@item' command at the beginning of a
+line. Write the first column text on the same line as the `@item'
+command. Write the second column text on the line following the
+`@item' line and on subsequent lines. (You do not need to type
+anything for an empty second column entry.) You may write as many
+lines of supporting text as you wish, even several paragraphs. But
+only the text on the same line as the `@item' will be placed in the
+first column (including any footnotes).
+
+ Normally, you should put a blank line before an `@item' line. This
+puts a blank line in the Info file. Except when the entries are very
+brief, a blank line looks better.
+
+ End the table with a line consisting of `@end table', followed by a
+blank line. TeX will always start a new paragraph after the table, so
+the blank line is needed for the Info output to be analogous.
+
+ The following table, for example, highlights the text in the first
+column with an `@samp' command:
+
+ @table @samp
+ @item foo
+ This is the text for
+ @samp{foo}.
+
+ @item bar
+ Text for @samp{bar}.
+ @end table
+
+This produces:
+
+`foo'
+ This is the text for `foo'.
+
+`bar'
+ Text for `bar'.
+
+ If you want to list two or more named items with a single block of
+text, use the `@itemx' command. (*Note `@itemx': itemx.)
+
+
+File: texinfo.info, Node: ftable vtable, Next: itemx, Prev: table, Up: Two-column Tables
+
+11.4.2 `@ftable' and `@vtable'
+------------------------------
+
+The `@ftable' and `@vtable' commands are the same as the `@table'
+command except that `@ftable' automatically enters each of the items in
+the first column of the table into the index of functions and `@vtable'
+automatically enters each of the items in the first column of the table
+into the index of variables. This simplifies the task of creating
+indices. Only the items on the same line as the `@item' commands are
+indexed, and they are indexed in exactly the form that they appear on
+that line. *Note Indices::, for more information about indices.
+
+ Begin a two-column table using `@ftable' or `@vtable' by writing the
+@-command at the beginning of a line, followed on the same line by an
+argument that is a Texinfo command such as `@code', exactly as you
+would for an `@table' command; and end the table with an `@end ftable'
+or `@end vtable' command on a line by itself.
+
+ See the example for `@table' in the previous section.
+
+
+File: texinfo.info, Node: itemx, Prev: ftable vtable, Up: Two-column Tables
+
+11.4.3 `@itemx'
+---------------
+
+Use the `@itemx' command inside a table when you have two or more first
+column entries for the same item, each of which should appear on a line
+of its own.
+
+ Use `@item' for the first entry, and `@itemx' for all subsequent
+entries; `@itemx' must always follow an `@item' command, with no blank
+line intervening.
+
+ The `@itemx' command works exactly like `@item' except that it does
+not generate extra vertical space above the first column text. If you
+have multiple consecutive `@itemx' commands, do not insert any blank
+lines between them.
+
+ For example,
+
+ @table @code
+ @item upcase
+ @itemx downcase
+ These two functions accept a character or a string as
+ argument, and return the corresponding upper case (lower
+ case) character or string.
+ @end table
+
+This produces:
+
+`upcase'
+`downcase'
+ These two functions accept a character or a string as argument,
+ and return the corresponding upper case (lower case) character or
+ string.
+
+(Note also that this example illustrates multi-line supporting text in
+a two-column table.)
+
+
+File: texinfo.info, Node: Multi-column Tables, Prev: Two-column Tables, Up: Lists and Tables
+
+11.5 `@multitable': Multi-column Tables
+=======================================
+
+`@multitable' allows you to construct tables with any number of
+columns, with each column having any width you like.
+
+ You define the column widths on the `@multitable' line itself, and
+write each row of the actual table following an `@item' command, with
+columns separated by an `@tab' command. Finally, `@end multitable'
+completes the table. Details in the sections below.
+
+* Menu:
+
+* Multitable Column Widths:: Defining multitable column widths.
+* Multitable Rows:: Defining multitable rows, with examples.
+
+
+File: texinfo.info, Node: Multitable Column Widths, Next: Multitable Rows, Up: Multi-column Tables
+
+11.5.1 Multitable Column Widths
+-------------------------------
+
+You can define the column widths for a multitable in two ways: as
+fractions of the line length; or with a prototype row. Mixing the two
+methods is not supported. In either case, the widths are defined
+entirely on the same line as the `@multitable' command.
+
+ 1. To specify column widths as fractions of the line length, write
+ `@columnfractions' and the decimal numbers (presumably less than
+ 1; a leading zero is allowed and ignored) after the `@multitable'
+ command, as in:
+
+ @multitable @columnfractions .33 .33 .33
+
+ The fractions need not add up exactly to 1.0, as these do not.
+ This allows you to produce tables that do not need the full line
+ length.
+
+ 2. To specify a prototype row, write the longest entry for each column
+ enclosed in braces after the `@multitable' command. For example:
+
+ @multitable {some text for column one} {for column two}
+
+ The first column will then have the width of the typeset `some
+ text for column one', and the second column the width of `for
+ column two'.
+
+ The prototype entries need not appear in the table itself.
+
+ Although we used simple text in this example, the prototype
+ entries can contain Texinfo commands; markup commands such as
+ `@code' are particularly likely to be useful.
+
+
+
+File: texinfo.info, Node: Multitable Rows, Prev: Multitable Column Widths, Up: Multi-column Tables
+
+11.5.2 Multitable Rows
+----------------------
+
+After the `@multitable' command defining the column widths (see the
+previous section), you begin each row in the body of a multitable with
+`@item', and separate the column entries with `@tab'. Line breaks are
+not special within the table body, and you may break input lines in
+your source file as necessary.
+
+ You can also use `@headitem' instead of `@item' to produce a "heading
+row". The TeX output for such a row is in bold, and the HTML, XML, and
+Docbook output uses the `<thead>' tag.
+
+ Here is a complete example of a multi-column table (the text is from
+`The GNU Emacs Manual', *note Splitting Windows: (emacs)Split Window.):
+
+ @multitable @columnfractions .15 .45 .4
+ @headitem Key @tab Command @tab Description
+ @item C-x 2
+ @tab @code{split-window-vertically}
+ @tab Split the selected window into two windows,
+ with one above the other.
+ @item C-x 3
+ @tab @code{split-window-horizontally}
+ @tab Split the selected window into two windows
+ positioned side by side.
+ @item C-Mouse-2
+ @tab
+ @tab In the mode line or scroll bar of a window,
+ split that window.
+ @end multitable
+
+produces:
+
+Key Command Description
+---------------------------------------------------------------------------
+C-x 2 `split-window-vertically' Split the selected window
+ into two windows, with one
+ above the other.
+C-x 3 `split-window-horizontally' Split the selected window
+ into two windows positioned
+ side by side.
+C-Mouse-2 In the mode line or scroll
+ bar of a window, split that
+ window.
+
+
+File: texinfo.info, Node: Special Displays, Next: Indices, Prev: Lists and Tables, Up: Top
+
+12 Special Displays
+*******************
+
+The commands in this chapter allow you to write text that is specially
+displayed (output format permitting), outside of the normal document
+flow.
+
+ One set of such commands is for creating "floats", that is, figures,
+tables, and the like, set off from the main text, possibly numbered,
+captioned, and/or referred to from elsewhere in the document. Images
+are often included in these displays.
+
+ Another group of commands is for creating footnotes in Texinfo.
+
+* Menu:
+
+* Floats:: Figures, tables, and the like.
+* Images:: Including graphics and images.
+* Footnotes:: Writing footnotes.
+
+
+File: texinfo.info, Node: Floats, Next: Images, Up: Special Displays
+
+12.1 Floats
+===========
+
+A "float" is a display which is set off from the main text. It is
+typically labelled as being a "Figure", "Table", "Example", or some
+similar type.
+
+ A float is so-named because, in principle, it can be moved to the
+bottom or top of the current page, or to a following page, in the
+printed output. (Floating does not make sense in other output
+formats.) In the present version of Texinfo, however, this floating is
+unfortunately not yet implemented. Instead, the floating material is
+simply output at the current location, more or less as if it were an
+`@group' (*note `@group': group.).
+
+* Menu:
+
+* float:: Producing floating material.
+* caption shortcaption:: Specifying descriptions for floats.
+* listoffloats:: A table of contents for floats.
+
+
+File: texinfo.info, Node: float, Next: caption shortcaption, Up: Floats
+
+12.1.1 `@float' [TYPE][,LABEL]: Floating material
+-------------------------------------------------
+
+To produce floating material, enclose the material you want to be
+displayed separate between `@float' and `@end float' commands, on lines
+by themselves.
+
+ Floating material uses `@image' to display an already-existing
+graphic (*note Images::), or `@multitable' to display a table (*note
+Multi-column Tables::). However, the contents of the float can be
+anything. Here's an example with simple text:
+
+ @float Figure,fig:ex1
+ This is an example float.
+ @end float
+
+And the output:
+
+This is an example float.
+
+Figure 12.1
+
+ As shown in the example, `@float' takes two arguments (separated by a
+comma), TYPE and LABEL. Both are optional.
+
+TYPE
+ Specifies the sort of float this is; typically a word such as
+ "Figure", "Table", etc. If not given, and LABEL is, any
+ cross-referencing will simply use a bare number.
+
+LABEL
+ Specifies a cross-reference label for this float. If given, this
+ float is automatically given a number, and will appear in any
+ `@listofloats' output (*note listoffloats::). Cross-references to
+ LABEL are allowed.
+
+ On the other hand, if LABEL is not given, then the float will not
+ be numbered and consequently will not appear in the
+ `@listoffloats' output or be cross-referenceable.
+
+Normally, you specify both TYPE and LABEL, to get a labeled and
+numbered float.
+
+ In Texinfo, all floats are numbered the same way: with the chapter
+number (or appendix letter), a period, and the float number, which
+simply counts 1, 2, 3, ..., and is reset at each chapter. Each float
+type is counted independently.
+
+ Floats within an `@unnumbered' are numbered, or outside of any
+chapter, are simply numbered consecutively from 1.
+
+ These numbering conventions are not, at present, changeable.
+
+
+File: texinfo.info, Node: caption shortcaption, Next: listoffloats, Prev: float, Up: Floats
+
+12.1.2 `@caption' & `@shortcaption'
+-----------------------------------
+
+You may write an `@caption' anywhere within a `@float' environment, to
+define a caption for the float. It is not allowed in any other
+context. `@caption' takes a single argument, enclosed in braces.
+Here's an example:
+
+ @float
+ An example float, with caption.
+ @caption{Caption for example float.}
+ @end float
+
+The output is:
+
+An example float, with caption.
+
+Caption for example float.
+
+ `@caption' can appear anywhere within the float; it is not processed
+until the `@end float'. The caption text is usually a sentence or two,
+but may consist of several paragraphs if necessary.
+
+ In the output, the caption always appears below the float; this is not
+currently changeable. It is preceded by the float type and/or number,
+as specified to the `@float' command (see the previous section).
+
+ The `@shortcaption' command likewise may be used only within
+`@float', and takes a single argument in braces. The short caption
+text is used instead of the caption text in a list of floats (see the
+next section). Thus, you can write a long caption for the main
+document, and a short title to appear in the list of floats.
+
+
+File: texinfo.info, Node: listoffloats, Prev: caption shortcaption, Up: Floats
+
+12.1.3 `@listoffloats': Tables of contents for floats
+-----------------------------------------------------
+
+You can write a `@listoffloats' command to generate a list of floats
+for a given float type (*note float::), analogous to the document's
+overall table of contents. Typically, it is written in its own
+`@unnumbered' node to provide a heading and structure, rather like
+`@printindex' (*note Printing Indices & Menus::).
+
+ `@listoffloats' takes one optional argument, the float type. Here's
+an example:
+
+ @node List of Figures
+ @unnumbered List of Figures
+ @listoffloats Figure
+
+And the output from `@listoffloats':
+
+* Menu:
+
+* Figure 12.1: fig:ex1.
+
+
+ Without any argument, `@listoffloats' generates a list of floats for
+which no float type was specified, i.e., no first argument to the
+`@float' command (*note float::).
+
+ Each line in the list of floats contains the float type (if any), the
+float number, and the caption, if any--the `@shortcaption' argument, if
+it was specified, else the `@caption' argument. In Info, the result is
+a menu where each float can be selected. In HTML, each line is a link
+to the float. In printed output, the page number is included.
+
+ Unnumbered floats (those without cross-reference labels) are omitted
+from the list of floats.
+
+
+File: texinfo.info, Node: Images, Next: Footnotes, Prev: Floats, Up: Special Displays
+
+12.2 Inserting Images
+=====================
+
+You can insert an image given in an external file with the `@image'
+command. Although images can be used anywhere, including the middle of
+a paragraph, we describe them in this chapter since they are most often
+part of a displayed figure or example.
+
+* Menu:
+
+* Image Syntax::
+* Image Scaling::
+
+
+File: texinfo.info, Node: Image Syntax, Next: Image Scaling, Up: Images
+
+12.2.1 Image Syntax
+-------------------
+
+Here is the basic synopsis of the `@image' command:
+
+ @image{FILENAME[, WIDTH[, HEIGHT[, ALTTEXT[, EXTENSION]]]]}
+
+ The FILENAME argument is mandatory, and must not have an extension,
+because the different processors support different formats:
+
+ * TeX reads the file `FILENAME.eps' (Encapsulated PostScript format).
+
+ * PDFTeX reads `FILENAME.pdf' (Adobe's Portable Document Format).
+
+ * `makeinfo' includes `FILENAME.txt' verbatim for Info output (more
+ or less as if it was an `@example').
+
+ * `makeinfo' uses the optional fifth argument EXTENSION to `@image'
+ for the filename extension, if it is specified. For example:
+
+ @image{foo,,,,.xpm}
+
+ will cause `makeinfo' to look for `foo.xpm' before any others.
+
+
+ The WIDTH and HEIGHT arguments are described in the next section.
+
+ When producing html, `makeinfo' sets the "alt attribute" for inline
+images to the optional ALTTEXT (fourth) argument to `@image', if
+supplied. If not supplied, `makeinfo' uses the full file name of the
+image being displayed. If you want an empty `alt' string, use `@-'.
+The ALTTEXT is taken as Texinfo text, so special characters such as `"'
+and `<' and `&' are escaped in the HTML and XML output.
+
+ If you do not supply the optional EXTENSION (fifth) argument,
+`makeinfo' first tries `FILENAME.png'; if that does not exist, it tries
+`FILENAME.jpg'. If that does not exist either, it complains. (We
+cannot support GIF format directly due to software patents.)
+
+ In Info output, `makeinfo' writes a reference to the binary image
+file (trying FILENAME suffixed with `EXTENSION', `.EXTENSION', `.png',
+or `.jpg', in that order) if one exists. It also literally includes
+the `.txt' file if one exists. This way, Info readers which can
+display images (such as the Emacs Info browser, running under X) can do
+so, whereas Info readers which can only use text (such as the
+standalone Info reader) can display the textual version.
+
+ The implementation of this is to put the following construct into the
+Info output:
+
+ ^@^H[image src="BINARYFILE" text="TXTFILE"
+ alt="ALTTEXT ... ^@^H]
+
+where `^@' and `^H' stand for the actual null and backspace control
+characters. If one of the files is not present, the corresponding
+argument is omitted.
+
+ The reason for mentioning this here is that older Info browsers (this
+feature was introduced in Texinfo version 4.6) will display the above
+literally, which, although not pretty, should not be harmful.
+
+
+File: texinfo.info, Node: Image Scaling, Prev: Image Syntax, Up: Images
+
+12.2.2 Image Scaling
+--------------------
+
+The optional WIDTH and HEIGHT arguments to the `@image' command (see
+the previous section) specify the size to scale the image to. They are
+ignored for Info output. If neither is specified, the image is
+presented in its natural size (given in the file); if only one is
+specified, the other is scaled proportionately; and if both are
+specified, both are respected, thus possibly distorting the original
+image by changing its aspect ratio.
+
+ The WIDTH and HEIGHT may be specified using any valid TeX dimension,
+namely:
+
+pt
+ point (72.27pt = 1in)
+
+pc
+ pica (1pc = 12pt)
+
+bp
+ big point (72bp = 1in)
+
+in
+ inch
+
+cm
+ centimeter (2.54cm = 1in)
+
+mm
+ millimeter (10mm = 1cm)
+
+dd
+ dido^t point (1157dd = 1238pt)
+
+cc
+ cicero (1cc = 12dd)
+
+sp
+ scaled point (65536sp = 1pt)
+
+ For example, the following will scale a file `ridt.eps' to one inch
+vertically, with the width scaled proportionately:
+
+ @image{ridt,,1in}
+
+ For `@image' to work with TeX, the file `epsf.tex' must be installed
+somewhere that TeX can find it. (The standard location is
+`TEXMF/tex/generic/dvips/epsf.tex', where TEXMF is a root of your TeX
+directory tree.) This file is included in the Texinfo distribution and
+is also available from `ftp://tug.org/tex/epsf.tex', among other places.
+
+ `@image' can be used within a line as well as for displayed figures.
+Therefore, if you intend it to be displayed, be sure to leave a blank
+line before the command, or the output will run into the preceding text.
+
+ Image scaling is presently implemented only in TeX, not in HTML or
+any other sort of output.
+
+
+File: texinfo.info, Node: Footnotes, Prev: Images, Up: Special Displays
+
+12.3 Footnotes
+==============
+
+A "footnote" is for a reference that documents or elucidates the
+primary text.(1) Footnotes are distracting; use them sparingly, if at
+all. Standard bibliographical references are better placed in a
+bibliography at the end of a document than in footnotes throughout.
+
+* Menu:
+
+* Footnote Commands:: How to write a footnote in Texinfo.
+* Footnote Styles:: Controlling how footnotes appear in Info.
+
+ ---------- Footnotes ----------
+
+ (1) A footnote should complement or expand upon the primary text, but
+a reader should not need to read a footnote to understand the primary
+text. For a thorough discussion of footnotes, see `The Chicago Manual
+of Style', which is published by the University of Chicago Press.
+
+
+File: texinfo.info, Node: Footnote Commands, Next: Footnote Styles, Up: Footnotes
+
+12.3.1 Footnote Commands
+------------------------
+
+In Texinfo, footnotes are created with the `@footnote' command. This
+command is followed immediately by a left brace, then by the text of
+the footnote, and then by a terminating right brace. Footnotes may be
+of any length (they will be broken across pages if necessary), but are
+usually short. The template is:
+
+ ordinary text@footnote{TEXT OF FOOTNOTE}
+
+ As shown here, the `@footnote' command should come right after the
+text being footnoted, with no intervening space; otherwise, the footnote
+marker might end up starting a line.
+
+ For example, this clause is followed by a sample footnote(1); in the
+Texinfo source, it looks like this:
+
+ ...a sample footnote@footnote{Here is the sample
+ footnote.}; in the Texinfo source...
+
+ As you can see, the source includes two punctuation marks next to each
+other; in this case, `.};' is the sequence. This is normal (the first
+ends the footnote and the second belongs to the sentence being
+footnoted), so don't worry that it looks odd.
+
+ In a printed manual or book, the reference mark for a footnote is a
+small, superscripted number; the text of the footnote appears at the
+bottom of the page, below a horizontal line.
+
+ In Info, the reference mark for a footnote is a pair of parentheses
+with the footnote number between them, like this: `(1)'. The reference
+mark is followed by a cross-reference link to the footnote's text.
+
+ In the HTML output, footnote references are marked with a small,
+superscripted number which is rendered as a hypertext link to the
+footnote text.
+
+ By the way, footnotes in the argument of an `@item' command for a
+`@table' must be on the same line as the `@item' (as usual). *Note
+Two-column Tables::.
+
+ ---------- Footnotes ----------
+
+ (1) Here is the sample footnote.
+
+
+File: texinfo.info, Node: Footnote Styles, Prev: Footnote Commands, Up: Footnotes
+
+12.3.2 Footnote Styles
+----------------------
+
+Info has two footnote styles, which determine where the text of the
+footnote is located:
+
+ * In the `End' node style, all the footnotes for a single node are
+ placed at the end of that node. The footnotes are separated from
+ the rest of the node by a line of dashes with the word `Footnotes'
+ within it. Each footnote begins with an `(N)' reference mark.
+
+ Here is an example of a single footnote in the end of node style:
+
+ --------- Footnotes ---------
+
+ (1) Here is a sample footnote.
+
+ * In the `Separate' node style, all the footnotes for a single node
+ are placed in an automatically constructed node of their own. In
+ this style, a "footnote reference" follows each `(N)' reference
+ mark in the body of the node. The footnote reference is actually
+ a cross reference which you use to reach the footnote node.
+
+ The name of the node with the footnotes is constructed by
+ appending `-Footnotes' to the name of the node that contains the
+ footnotes. (Consequently, the footnotes' node for the `Footnotes'
+ node is `Footnotes-Footnotes'!) The footnotes' node has an `Up'
+ node pointer that leads back to its parent node.
+
+ Here is how the first footnote in this manual looks after being
+ formatted for Info in the separate node style:
+
+ File: texinfo.info Node: Overview-Footnotes, Up: Overview
+
+ (1) The first syllable of "Texinfo" is pronounced like "speck", not
+ "hex". ...
+
+ Unless your document has long and important footnotes (as in, say,
+Gibbon's `Decline and Fall ...'), we recommend the `end' style, as it
+is simpler for readers to follow.
+
+ Use the `@footnotestyle' command to specify an Info file's footnote
+style. Write this command at the beginning of a line followed by an
+argument, either `end' for the end node style or `separate' for the
+separate node style.
+
+ For example,
+
+ @footnotestyle end
+ or
+ @footnotestyle separate
+
+ Write an `@footnotestyle' command before or shortly after the
+end-of-header line at the beginning of a Texinfo file. (If you include
+the `@footnotestyle' command between the start-of-header and
+end-of-header lines, the region formatting commands will format
+footnotes as specified.)
+
+ If you do not specify a footnote style, the formatting commands use
+their default style. Currently, `texinfo-format-buffer' and
+`texinfo-format-region' use the `separate' style and `makeinfo' uses
+the `end' style.
+
+
+File: texinfo.info, Node: Indices, Next: Insertions, Prev: Special Displays, Up: Top
+
+13 Indices
+**********
+
+Using Texinfo, you can generate indices without having to sort and
+collate entries manually. In an index, the entries are listed in
+alphabetical order, together with information on how to find the
+discussion of each entry. In a printed manual, this information
+consists of page numbers. In an Info file, this information is a menu
+entry leading to the first node referenced.
+
+ Texinfo provides several predefined kinds of index: an index for
+functions, an index for variables, an index for concepts, and so on.
+You can combine indices or use them for other than their canonical
+purpose. Lastly, you can define your own new indices.
+
+ *Note Printing Indices & Menus::, for information on how to print
+indices.
+
+* Menu:
+
+* Index Entries:: Choose different words for index entries.
+* Predefined Indices:: Use different indices for different kinds
+ of entries.
+* Indexing Commands:: How to make an index entry.
+* Combining Indices:: How to combine indices.
+* New Indices:: How to define your own indices.
+
+
+File: texinfo.info, Node: Index Entries, Next: Predefined Indices, Up: Indices
+
+13.1 Making Index Entries
+=========================
+
+When you are making index entries, it is good practice to think of the
+different ways people may look for something. Different people _do
+not_ think of the same words when they look something up. A helpful
+index will have items indexed under all the different words that people
+may use. For example, one reader may think it obvious that the
+two-letter names for indices should be listed under "Indices,
+two-letter names", since the word "Index" is the general concept. But
+another reader may remember the specific concept of two-letter names
+and search for the entry listed as "Two letter names for indices". A
+good index will have both entries and will help both readers.
+
+ Like typesetting, the construction of an index is a highly skilled,
+professional art, the subtleties of which are not appreciated until you
+need to do it yourself.
+
+ *Note Printing Indices & Menus::, for information about printing an
+index at the end of a book or creating an index menu in an Info file.
+
+
+File: texinfo.info, Node: Predefined Indices, Next: Indexing Commands, Prev: Index Entries, Up: Indices
+
+13.2 Predefined Indices
+=======================
+
+Texinfo provides six predefined indices. Here are their nominal
+meanings, abbreviations, and the corresponding index entry commands:
+
+`cp'
+ (`@cindex') concept index, for general concepts.
+
+`fn'
+ (`@findex') function index, for function and function-like names
+ (such as entry points of libraries).
+
+`ky'
+ (`@kindex') keystroke index, for keyboard commands.
+
+`pg'
+ (`@pindex') program index, for names of programs.
+
+`tp'
+ (`@tindex') data type index, for type names (such as structures
+ defined in header files).
+
+`vr'
+ (`@vindex') variable index, for variable names (such as global
+ variables of libraries).
+
+Not every manual needs all of these, and most manuals use only two or
+three at most. The present manual, for example, has two indices: a
+concept index and an @-command index (that is actually the function
+index but is called a command index in the chapter heading).
+
+ You are not required to use the predefined indices strictly for their
+canonical purposes. For example, suppose you wish to index some C
+preprocessor macros. You could put them in the function index along
+with actual functions, just by writing `@findex' commands for them;
+then, when you print the "Function Index" as an unnumbered chapter, you
+could give it the title `Function and Macro Index' and all will be
+consistent for the reader.
+
+ On the other hand, it is best not to stray too far from the meaning of
+the predefined indices. Otherwise, in the event that your text is
+combined with other text from other manuals, the index entries will not
+match up. Instead, define your own new index (*note New Indices::).
+
+ We recommend having a single index in the final document whenever
+possible, however many source indices you use, since then readers have
+only one place to look. Two or more source indices can be combined
+into one output index using the `@synindex' or `@syncodeindex' commands
+(*note Combining Indices::).
+
+
+File: texinfo.info, Node: Indexing Commands, Next: Combining Indices, Prev: Predefined Indices, Up: Indices
+
+13.3 Defining the Entries of an Index
+=====================================
+
+The data to make an index come from many individual indexing commands
+scattered throughout the Texinfo source file. Each command says to add
+one entry to a particular index; after formatting, the index will give
+the current page number or node name as the reference.
+
+ An index entry consists of an indexing command at the beginning of a
+line followed, on the rest of the line, by the entry.
+
+ For example, this section begins with the following five entries for
+the concept index:
+
+ @cindex Defining indexing entries
+ @cindex Index entries, defining
+ @cindex Entries for an index
+ @cindex Specifying index entries
+ @cindex Creating index entries
+
+ Each predefined index has its own indexing command--`@cindex' for the
+concept index, `@findex' for the function index, and so on, as listed
+in the previous section.
+
+ Concept index entries consist of text. The best way to write an index
+is to choose entries that are terse yet clear. If you can do this, the
+index often looks better if the entries are not capitalized, but
+written just as they would appear in the middle of a sentence.
+(Capitalize proper names and acronyms that always call for upper case
+letters.) This is the case convention we use in most GNU manuals'
+indices.
+
+ If you don't see how to make an entry terse yet clear, make it longer
+and clear--not terse and confusing. If many of the entries are several
+words long, the index may look better if you use a different convention:
+to capitalize the first word of each entry. But do not capitalize a
+case-sensitive name such as a C or Lisp function name or a shell
+command; that would be a spelling error.
+
+ Whichever case convention you use, please use it consistently!
+
+ Entries in indices other than the concept index are symbol names in
+programming languages, or program names; these names are usually
+case-sensitive, so use upper and lower case as required for them.
+
+ By default, entries for a concept index are printed in a small roman
+font and entries for the other indices are printed in a small `@code'
+font. You may change the way part of an entry is printed with the
+usual Texinfo commands, such as `@file' for file names (*note Marking
+Text::), and `@r' for the normal roman font (*note Fonts::).
+
+ Caution: Do not use a colon in an index entry. In Info, a colon
+ separates the menu entry name from the node name, so a colon in
+ the entry itself confuses Info. *Note Menu Parts::, for more
+ information about the structure of a menu entry.
+
+
+File: texinfo.info, Node: Combining Indices, Next: New Indices, Prev: Indexing Commands, Up: Indices
+
+13.4 Combining Indices
+======================
+
+Sometimes you will want to combine two disparate indices such as
+functions and concepts, perhaps because you have few enough entries
+that a separate index would look silly.
+
+ You could put functions into the concept index by writing `@cindex'
+commands for them instead of `@findex' commands, and produce a
+consistent manual by printing the concept index with the title
+`Function and Concept Index' and not printing the `Function Index' at
+all; but this is not a robust procedure. It works only if your
+document is never included as part of another document that is designed
+to have a separate function index; if your document were to be included
+with such a document, the functions from your document and those from
+the other would not end up together. Also, to make your function names
+appear in the right font in the concept index, you would need to
+enclose every one of them between the braces of `@code'.
+
+* Menu:
+
+* syncodeindex:: How to merge two indices, using `@code'
+ font for the merged-from index.
+* synindex:: How to merge two indices, using the
+ default font of the merged-to index.
+
+
+File: texinfo.info, Node: syncodeindex, Next: synindex, Up: Combining Indices
+
+13.4.1 `@syncodeindex'
+----------------------
+
+When you want to combine functions and concepts into one index, you
+should index the functions with `@findex' and index the concepts with
+`@cindex', and use the `@syncodeindex' command to redirect the function
+index entries into the concept index.
+
+ The `@syncodeindex' command takes two arguments; they are the name of
+the index to redirect, and the name of the index to redirect it to.
+The template looks like this:
+
+ @syncodeindex FROM TO
+
+ For this purpose, the indices are given two-letter names:
+
+`cp'
+ concept index
+
+`fn'
+ function index
+
+`vr'
+ variable index
+
+`ky'
+ key index
+
+`pg'
+ program index
+
+`tp'
+ data type index
+
+ Write an `@syncodeindex' command before or shortly after the
+end-of-header line at the beginning of a Texinfo file. For example, to
+merge a function index with a concept index, write the following:
+
+ @syncodeindex fn cp
+
+This will cause all entries designated for the function index to merge
+in with the concept index instead.
+
+ To merge both a variables index and a function index into a concept
+index, write the following:
+
+ @syncodeindex vr cp
+ @syncodeindex fn cp
+
+ The `@syncodeindex' command puts all the entries from the `from'
+index (the redirected index) into the `@code' font, overriding whatever
+default font is used by the index to which the entries are now
+directed. This way, if you direct function names from a function index
+into a concept index, all the function names are printed in the `@code'
+font as you would expect.
+
+
+File: texinfo.info, Node: synindex, Prev: syncodeindex, Up: Combining Indices
+
+13.4.2 `@synindex'
+------------------
+
+The `@synindex' command is nearly the same as the `@syncodeindex'
+command, except that it does not put the `from' index entries into the
+`@code' font; rather it puts them in the roman font. Thus, you use
+`@synindex' when you merge a concept index into a function index.
+
+ *Note Printing Indices & Menus::, for information about printing an
+index at the end of a book or creating an index menu in an Info file.
+
+
+File: texinfo.info, Node: New Indices, Prev: Combining Indices, Up: Indices
+
+13.5 Defining New Indices
+=========================
+
+In addition to the predefined indices, you may use the `@defindex' and
+`@defcodeindex' commands to define new indices. These commands create
+new indexing @-commands with which you mark index entries. The
+`@defindex' command is used like this:
+
+ @defindex NAME
+
+ The name of an index should be a two letter word, such as `au'. For
+example:
+
+ @defindex au
+
+ This defines a new index, called the `au' index. At the same time,
+it creates a new indexing command, `@auindex', that you can use to make
+index entries. Use this new indexing command just as you would use a
+predefined indexing command.
+
+ For example, here is a section heading followed by a concept index
+entry and two `au' index entries.
+
+ @section Cognitive Semantics
+ @cindex kinesthetic image schemas
+ @auindex Johnson, Mark
+ @auindex Lakoff, George
+
+(Evidently, `au' serves here as an abbreviation for "author".)
+
+ In general, Texinfo constructs the new indexing command by
+concatenating the name of the index with `index'; thus, defining an
+`xy' index leads to the automatic creation of an `@xyindex' command.
+
+ Use the `@printindex' command to print the index, as you do with the
+predefined indices. For example:
+
+ @node Author Index
+ @unnumbered Author Index
+
+ @printindex au
+
+ The `@defcodeindex' is like the `@defindex' command, except that, in
+the printed output, it prints entries in an `@code' font by default
+instead of a roman font.
+
+ You should define new indices before the end-of-header line of a
+Texinfo file, and (of course) before any `@synindex' or `@syncodeindex'
+commands (*note Texinfo File Header::).
+
+
+File: texinfo.info, Node: Insertions, Next: Breaks, Prev: Indices, Up: Top
+
+14 Special Insertions
+*********************
+
+Texinfo provides several commands for inserting characters that have
+special meaning in Texinfo, such as braces, and for other graphic
+elements that do not correspond to simple characters you can type.
+
+* Menu:
+
+* Atsign Braces Comma:: Inserting @ and {} and ,.
+* Inserting Space:: How to insert the right amount of space
+ within a sentence.
+* Inserting Accents:: How to insert accents and special characters.
+* Dots Bullets:: How to insert dots and bullets.
+* TeX and copyright:: How to insert the TeX logo
+ and the copyright symbol.
+* pounds:: How to insert the pounds currency symbol.
+* minus:: How to insert a minus sign.
+* math:: How to format a mathematical expression.
+* Glyphs:: How to indicate results of evaluation,
+ expansion of macros, errors, etc.
+
+
+File: texinfo.info, Node: Atsign Braces Comma, Next: Inserting Space, Up: Insertions
+
+14.1 Inserting @ and {} and ,
+=============================
+
+`@' and curly braces are special characters in Texinfo. To insert
+these characters so they appear in text, you must put an `@' in front
+of these characters to prevent Texinfo from misinterpreting them.
+
+ The comma `,' is a special character only in one uncommon context: it
+separates arguments to commands that take multiple arguments.
+
+* Menu:
+
+* Inserting an Atsign::
+* Inserting Braces::
+* Inserting a Comma::
+
+
+File: texinfo.info, Node: Inserting an Atsign, Next: Inserting Braces, Up: Atsign Braces Comma
+
+14.1.1 Inserting `@' with `@@'
+------------------------------
+
+`@@' stands for a single `@' in either printed or Info output.
+
+ Do not put braces after an `@@' command.
+
+
+File: texinfo.info, Node: Inserting Braces, Next: Inserting a Comma, Prev: Inserting an Atsign, Up: Atsign Braces Comma
+
+14.1.2 Inserting `{' and `}' with `@{' and `@}'
+-----------------------------------------------
+
+`@{' stands for a single `{' in either printed or Info output.
+
+ `@}' stands for a single `}' in either printed or Info output.
+
+ Do not put braces after either an `@{' or an `@}' command.ppp
+
+
+File: texinfo.info, Node: Inserting a Comma, Prev: Inserting Braces, Up: Atsign Braces Comma
+
+14.1.3 Inserting `,' with `@comma{}'
+------------------------------------
+
+Ordinarily, a comma `,' is a normal character that can be simply typed
+in your input where you need it.
+
+ However, Texinfo uses the comma as a special character in one uncommon
+context: some commands, such as `@acronym' (*note acronym::) and
+`@xref' (*note Cross References::), as well as user-defined macros
+(*note Defining Macros::), can take more than one argument. In these
+cases, the comma character is used to separate arguments.
+
+ Since a comma chacter would confuse Texinfo's parsing for these
+commands, you must use the command `,' instead if you want to have an
+actual comma in the output. Here are some examples:
+
+ @acronym{ABC, A Bizarre @comma{}}
+ @xref{Comma,, The @comma{} symbol}
+ @mymac{One argument@comma{} containing a comma}
+
+ Although , can be used anywhere, there is no need for it anywhere
+except in this unusual case.
+
+
+File: texinfo.info, Node: Inserting Space, Next: Inserting Accents, Prev: Atsign Braces Comma, Up: Insertions
+
+14.2 Inserting Space
+====================
+
+The following sections describe commands that control spacing of various
+kinds within and after sentences.
+
+* Menu:
+
+* Not Ending a Sentence:: Sometimes a . doesn't end a sentence.
+* Ending a Sentence:: Sometimes it does.
+* Multiple Spaces:: Inserting multiple spaces.
+* dmn:: How to format a dimension.
+
+
+File: texinfo.info, Node: Not Ending a Sentence, Next: Ending a Sentence, Up: Inserting Space
+
+14.2.1 Not Ending a Sentence
+----------------------------
+
+Depending on whether a period or exclamation point or question mark is
+inside or at the end of a sentence, less or more space is inserted after
+a period in a typeset manual. Since it is not always possible to
+determine when a period ends a sentence and when it is used in an
+abbreviation, special commands are needed in some circumstances.
+Usually, Texinfo can guess how to handle periods, so you do not need to
+use the special commands; you just enter a period as you would if you
+were using a typewriter, which means you put two spaces after the
+period, question mark, or exclamation mark that ends a sentence.
+
+ Use the `@:' command after a period, question mark, exclamation mark,
+or colon that should not be followed by extra space. For example, use
+`@:' after periods that end abbreviations which are not at the ends of
+sentences.
+
+ For example,
+
+ The s.o.p.@: has three parts ...
+ The s.o.p. has three parts ...
+
+produces
+
+ The s.o.p. has three parts ...
+ The s.o.p. has three parts ...
+
+(Incidentally, `s.o.p.' is an abbreviation for "Standard Operating
+Procedure".)
+
+ `@:' has no effect on the Info and HTML output. In Docbook and XML,
+the previous punctuation character (.?!:) is output as an entity
+instead of as the normal character: `&period; &quest; &excl; &colon;'.
+This gives further processors a chance to notice and not add the usual
+extra space.
+
+ Do not put braces after `@:' (or any non-alphabetic command).
+
+
+File: texinfo.info, Node: Ending a Sentence, Next: Multiple Spaces, Prev: Not Ending a Sentence, Up: Inserting Space
+
+14.2.2 Ending a Sentence
+------------------------
+
+Use `@.' instead of a period, `@!' instead of an exclamation point, and
+`@?' instead of a question mark at the end of a sentence that ends with
+a capital letter. Otherwise, TeX will think the letter is an
+abbreviation and will not insert the correct end-of-sentence spacing.
+Here is an example:
+
+ Give it to M.I.B. and to M.E.W@. Also, give it to R.J.C@.
+ Give it to M.I.B. and to M.E.W. Also, give it to R.J.C.
+
+produces
+
+ Give it to M.I.B. and to M.E.W. Also, give it to R.J.C.
+ Give it to M.I.B. and to M.E.W. Also, give it to R.J.C.
+
+ In the Info file output, `@.' is equivalent to a simple `.'; likewise
+for `@!' and `@?'.
+
+ The meanings of `@:' and `@.' in Texinfo are designed to work well
+with the Emacs sentence motion commands (*note Sentences:
+(emacs)Sentences.).
+
+ Do not put braces after any of these commands.
+
+
+File: texinfo.info, Node: Multiple Spaces, Next: dmn, Prev: Ending a Sentence, Up: Inserting Space
+
+14.2.3 Multiple Spaces
+----------------------
+
+Ordinarily, TeX collapses multiple whitespace characters (space, tab,
+and newline) into a single space. Info output, on the other hand,
+preserves whitespace as you type it, except for changing a newline into
+a space; this is why it is important to put two spaces at the end of
+sentences in Texinfo documents.
+
+ Occasionally, you may want to actually insert several consecutive
+spaces, either for purposes of example (what your program does with
+multiple spaces as input), or merely for purposes of appearance in
+headings or lists. Texinfo supports three commands: `@SPACE', `@TAB',
+and `@NL', all of which insert a single space into the output. (Here,
+`@SPACE' represents an `@' character followed by a space, i.e., `@ ',
+and `TAB' and `NL' represent the tab character and end-of-line, i.e.,
+when `@' is the last character on a line.)
+
+ For example,
+ Spacey@ @ @ @
+ example.
+
+produces
+
+ Spacey example.
+
+ Other possible uses of `@SPACE' have been subsumed by `@multitable'
+(*note Multi-column Tables::).
+
+ Do not follow any of these commands with braces.
+
+ To produce a non-breakable space, see *Note `@tie': tie.
+
+
+File: texinfo.info, Node: dmn, Prev: Multiple Spaces, Up: Inserting Space
+
+14.2.4 `@dmn'{DIMENSION}: Format a Dimension
+--------------------------------------------
+
+At times, you may want to write `12pt' or `8.5in' with little or no
+space between the number and the abbreviation for the dimension. You
+can use the `@dmn' command to do this. On seeing the command, TeX
+inserts just enough space for proper typesetting; the Info formatting
+commands insert no space at all, since the Info file does not require
+it.
+
+ To use the `@dmn' command, write the number and then follow it
+immediately, with no intervening space, by `@dmn', and then by the
+dimension within braces. For example,
+
+ A4 paper is 8.27@dmn{in} wide.
+
+produces
+
+ A4 paper is 8.27in wide.
+
+ Not everyone uses this style. Some people prefer `8.27 in.@:' or
+`8.27 inches' to `8.27@dmn{in}' in the Texinfo file. In these cases,
+however, the formatters may insert a line break between the number and
+the dimension, so use `@w' (*note w::). Also, if you write a period
+after an abbreviation within a sentence, you should write `@:' after
+the period to prevent TeX from inserting extra whitespace, as shown
+here. *Note Not Ending a Sentence::.
+
+
+File: texinfo.info, Node: Inserting Accents, Next: Dots Bullets, Prev: Inserting Space, Up: Insertions
+
+14.3 Inserting Accents
+======================
+
+Here is a table with the commands Texinfo provides for inserting
+floating accents. The commands with non-alphabetic names do not take
+braces around their argument (which is taken to be the next character).
+(Exception: `@,' _does_ take braces around its argument.) This is so
+as to make the source as convenient to type and read as possible, since
+accented characters are very common in some languages.
+
+ To get the true accented characters output in Info, and not just the
+ASCII transliterations, you can use the `--enable-encoding' option to
+`makeinfo' (*note makeinfo options::).
+
+Command Output What
+@"o o" umlaut accent
+@'o o' acute accent
+@,{c} c, cedilla accent
+@=o o= macron/overbar accent
+@^o o^ circumflex accent
+@`o o` grave accent
+@~o o~ tilde accent
+@dotaccent{o} o. overdot accent
+@H{o} o'' long Hungarian umlaut
+@ringaccent{o} o* ring accent
+@tieaccent{oo} oo[ tie-after accent
+@u{o} o( breve accent
+@ubaraccent{o} o_ underbar accent
+@udotaccent{o} .o underdot accent
+@v{o} o< hacek/check/caron accent
+
+ This table lists the Texinfo commands for inserting other characters
+commonly used in languages other than English.
+
+@exclamdown{} ! upside-down !
+@questiondown{} ? upside-down ?
+@aa{} @AA{} aa AA a,A with circle
+@ae{} @AE{} ae AE ae,AE ligatures
+@dotless{i} i dotless i
+@dotless{j} j dotless j
+@l{} @L{} /l /L suppressed-L,l
+@o{} @O{} /o /O O,o with slash
+@oe{} @OE{} oe OE oe,OE ligatures
+@ordf{} @ordm{} a o Spanish ordinals
+@ss{} ss es-zet or sharp S
+
+
+File: texinfo.info, Node: Dots Bullets, Next: TeX and copyright, Prev: Inserting Accents, Up: Insertions
+
+14.4 Inserting Ellipsis and Bullets
+===================================
+
+An "ellipsis" (a line of dots) is not typeset as a string of periods,
+so a special command is used for ellipsis in Texinfo. The `@bullet'
+command is special, too. Each of these commands is followed by a pair
+of braces, `{}', without any whitespace between the name of the command
+and the braces. (You need to use braces with these commands because
+you can use them next to other text; without the braces, the formatters
+would be confused. *Note @-Command Syntax: Command Syntax, for further
+information.)
+
+* Menu:
+
+* dots:: How to insert dots ...
+* bullet:: How to insert a bullet.
+
+
+File: texinfo.info, Node: dots, Next: bullet, Up: Dots Bullets
+
+14.4.1 `@dots'{} (...) and `@enddots'{} (....)
+----------------------------------------------
+
+Use the `@dots{}' command to generate an ellipsis, which is three dots
+in a row, appropriately spaced ... like so. Do not simply write three
+periods in the input file; that would work for the Info file output,
+but would produce the wrong amount of space between the periods in the
+printed manual.
+
+ Similarly, the `@enddots{}' command generates an end-of-sentence
+ellipsis, which has different spacing afterwards, .... Look closely to
+see the difference.
+
+
+File: texinfo.info, Node: bullet, Prev: dots, Up: Dots Bullets
+
+14.4.2 `@bullet'{} (*)
+----------------------
+
+Use the `@bullet{}' command to generate a large round dot, or the
+closest possible thing to one. In Info, an asterisk is used.
+
+ Here is a bullet: *
+
+ When you use `@bullet' in `@itemize', you do not need to type the
+braces, because `@itemize' supplies them. (*Note `@itemize': itemize.)
+
+
+File: texinfo.info, Node: TeX and copyright, Next: pounds, Prev: Dots Bullets, Up: Insertions
+
+14.5 Inserting TeX and Legal Symbols: (C), (R)
+==============================================
+
+The logo `TeX' is typeset in a special fashion and it needs an
+@-command. The copyright and registered symbols, `(C)' and `(R)', is
+also special. Each of these commands is followed by a pair of braces,
+`{}', without any whitespace between the name of the command and the
+braces.
+
+* Menu:
+
+* tex:: The TeX logos.
+* copyright symbol:: The copyright symbol (c in a circle).
+* registered symbol:: The registered symbol (R in a circle).
+
+
+File: texinfo.info, Node: tex, Next: copyright symbol, Up: TeX and copyright
+
+14.5.1 `@TeX'{} (TeX) and `@LaTeX'{} (LaTeX)
+--------------------------------------------
+
+Use the `@TeX{}' command to generate `TeX'. In a printed manual, this
+is a special logo that is different from three ordinary letters. In
+Info, it just looks like `TeX'.
+
+ Similarly, use the `@LaTeX{}' command to generate `LaTeX', which is
+even more special in printed manuals (and different from the incorrect
+`La@TeX{}'. In Info, the result is just `LaTeX'. (LaTeX is another
+macro package built on top of TeX, very loosely analogous to Texinfo in
+that it emphasizes logical structure, but much (much) larger.)
+
+ The spelling of these commands are unusual among Texinfo commands in
+that they use both uppercase and lowercase letters.
+
+
+File: texinfo.info, Node: copyright symbol, Next: registered symbol, Prev: tex, Up: TeX and copyright
+
+14.5.2 `@copyright{}' ((C))
+---------------------------
+
+Use the `@copyright{}' command to generate the copyright symbol, `(C)'.
+Where possible, this is a `c' inside a circle; in Info, this is `(C)'.
+
+
+File: texinfo.info, Node: registered symbol, Prev: copyright symbol, Up: TeX and copyright
+
+14.5.3 `@registeredsymbol{}' ((R))
+----------------------------------
+
+Use the `@registeredsymbol{}' command to generate the registered
+symbol, `(R)'. Where possible, this is an `R' inside a circle; in
+Info, this is `(R)'.
+
+
+File: texinfo.info, Node: pounds, Next: minus, Prev: TeX and copyright, Up: Insertions
+
+14.6 `@pounds'{} (#): Pounds Sterling
+=====================================
+
+Use the `@pounds{}' command to generate `#'. In a printed manual, this
+is the symbol for the currency pounds sterling. In Info, it is a `#'.
+Other currency symbols are unfortunately not available.
+
+
+File: texinfo.info, Node: minus, Next: math, Prev: pounds, Up: Insertions
+
+14.7 `@minus'{} (-): Inserting a Minus Sign
+===========================================
+
+Use the `@minus{}' command to generate a minus sign. In a fixed-width
+font, this is a single hyphen, but in a proportional font, the symbol
+is the customary length for a minus sign--a little longer than a
+hyphen, shorter than an em-dash:
+
+ `-' is a minus sign generated with `@minus{}',
+
+ `-' is a hyphen generated with the character `-',
+
+ `--' is an em-dash for text.
+
+In the fixed-width font used by Info, `@minus{}' is the same as a
+hyphen.
+
+ You should not use `@minus{}' inside `@code' or `@example' because
+the width distinction is not made in the fixed-width font they use.
+
+ When you use `@minus' to specify the mark beginning each entry in an
+itemized list, you do not need to type the braces (*note `@itemize':
+itemize.).
+
+
+File: texinfo.info, Node: math, Next: Glyphs, Prev: minus, Up: Insertions
+
+14.8 `@math': Inserting Mathematical Expressions
+================================================
+
+You can write a short mathematical expression with the `@math' command.
+Write the mathematical expression between braces, like this:
+
+ @math{(a + b)(a + b) = a^2 + 2ab + b^2}
+
+This produces the following in Info and HTML:
+
+ (a + b)(a + b) = a^2 + 2ab + b^2
+
+ Thus, the `@math' command has no effect on the Info and HTML output;
+`makeinfo' just reproduces the input, it does not try to interpret the
+mathematics in any way.
+
+ `@math' implies `@tex'. This not only makes it possible to write
+superscripts and subscripts (as in the above example), but also allows
+you to use any of the plain TeX math control sequences. It's
+conventional to use `\' instead of `@' for these commands. As in:
+ @math{\sin 2\pi \equiv \cos 3\pi}
+
+which looks like the input in Info and HTML:
+ \sin 2\pi \equiv \cos 3\pi
+
+ Since `\' is an escape character inside `@math', you can use `@\' to
+get a literal backslash (`\\' will work in TeX, but you'll get the
+literal `\\' in Info). `@\' is not defined outside of `@math', since a
+`\' ordinarily produces a literal `\'.
+
+ For displayed equations, you must at present use TeX directly (*note
+Raw Formatter Commands::).
+
+
+File: texinfo.info, Node: Glyphs, Prev: math, Up: Insertions
+
+14.9 Glyphs for Examples
+========================
+
+In Texinfo, code is often illustrated in examples that are delimited by
+`@example' and `@end example', or by `@lisp' and `@end lisp'. In such
+examples, you can indicate the results of evaluation or an expansion
+using `=>' or `==>'. Likewise, there are commands to insert glyphs to
+indicate printed output, error messages, equivalence of expressions,
+and the location of point.
+
+ The glyph-insertion commands do not need to be used within an
+example, but most often they are. Every glyph-insertion command is
+followed by a pair of left- and right-hand braces.
+
+* Menu:
+
+* Glyphs Summary::
+* result:: How to show the result of expression.
+* expansion:: How to indicate an expansion.
+* Print Glyph:: How to indicate printed output.
+* Error Glyph:: How to indicate an error message.
+* Equivalence:: How to indicate equivalence.
+* Point Glyph:: How to indicate the location of point.
+
+
+File: texinfo.info, Node: Glyphs Summary, Next: result, Up: Glyphs
+
+14.9.1 Glyphs Summary
+---------------------
+
+Here are the different glyph commands:
+
+=>
+ `@result{}' points to the result of an expression.
+
+==>
+ `@expansion{}' shows the results of a macro expansion.
+
+-|
+ `@print{}' indicates printed output.
+
+error-->
+ `@error{}' indicates that the following text is an error message.
+
+==
+ `@equiv{}' indicates the exact equivalence of two forms.
+
+-!-
+ `@point{}' shows the location of point.
+
+* Menu:
+
+* result::
+* expansion::
+* Print Glyph::
+* Error Glyph::
+* Equivalence::
+* Point Glyph::
+
+
+File: texinfo.info, Node: result, Next: expansion, Prev: Glyphs Summary, Up: Glyphs
+
+14.9.2 `@result{}' (=>): Indicating Evaluation
+----------------------------------------------
+
+Use the `@result{}' command to indicate the result of evaluating an
+expression.
+
+ The `@result{}' command is displayed as `=>' in Info and HTML and as
+a true double stemmed arrow in the printed output.
+
+ Thus, the following,
+
+ (cdr '(1 2 3))
+ => (2 3)
+
+may be read as "`(cdr '(1 2 3))' evaluates to `(2 3)'".
+
+
+File: texinfo.info, Node: expansion, Next: Print Glyph, Prev: result, Up: Glyphs
+
+14.9.3 `@expansion{}' (==>): Indicating an Expansion
+----------------------------------------------------
+
+When an expression is a macro call, it expands into a new expression.
+You can indicate the result of the expansion with the `@expansion{}'
+command.
+
+ The `@expansion{}' command is displayed as `==>' in Info and HTML,
+and as a long arrow with a flat base in the printed output.
+
+ For example, the following
+
+ @lisp
+ (third '(a b c))
+ @expansion{} (car (cdr (cdr '(a b c))))
+ @result{} c
+ @end lisp
+
+produces
+
+ (third '(a b c))
+ ==> (car (cdr (cdr '(a b c))))
+ => c
+
+which may be read as:
+
+ `(third '(a b c))' expands to `(car (cdr (cdr '(a b c))))'; the
+ result of evaluating the expression is `c'.
+
+Often, as in this case, an example looks better if the `@expansion{}'
+and `@result{}' commands are indented.
+
+
+File: texinfo.info, Node: Print Glyph, Next: Error Glyph, Prev: expansion, Up: Glyphs
+
+14.9.4 `@print{}' (-|): Indicating Printed Output
+-------------------------------------------------
+
+Sometimes an expression will print output during its execution. You
+can indicate the printed output with the `@print{}' command.
+
+ The `@print{}' command is displayed as `-|' in Info and HTML and
+(similarly) as a horizontal dash butting against a vertical bar in the
+printed output.
+
+ In the following example, the printed text is indicated with `-|',
+and the value of the expression follows on the last line.
+
+ (progn (print 'foo) (print 'bar))
+ -| foo
+ -| bar
+ => bar
+
+In a Texinfo source file, this example is written as follows:
+
+ @lisp
+ (progn (print 'foo) (print 'bar))
+ @print{} foo
+ @print{} bar
+ @result{} bar
+ @end lisp
+
+
+File: texinfo.info, Node: Error Glyph, Next: Equivalence, Prev: Print Glyph, Up: Glyphs
+
+14.9.5 `@error{}' (error-->): Indicating an Error Message
+---------------------------------------------------------
+
+A piece of code may cause an error when you evaluate it. You can
+designate the error message with the `@error{}' command.
+
+ The `@error{}' command is displayed as `error-->' in Info and HTML
+and as the word `error' in a box in the printed output.
+
+ Thus,
+
+ @lisp
+ (+ 23 'x)
+ @error{} Wrong type argument: integer-or-marker-p, x
+ @end lisp
+
+produces
+
+ (+ 23 'x)
+ error--> Wrong type argument: integer-or-marker-p, x
+
+This indicates that the following error message is printed when you
+evaluate the expression:
+
+ Wrong type argument: integer-or-marker-p, x
+
+ `error-->' itself is not part of the error message.
+
+
+File: texinfo.info, Node: Equivalence, Next: Point Glyph, Prev: Error Glyph, Up: Glyphs
+
+14.9.6 `@equiv{}' (==): Indicating Equivalence
+----------------------------------------------
+
+Sometimes two expressions produce identical results. You can indicate
+the exact equivalence of two forms with the `@equiv{}' command.
+
+ The `@equiv{}' command is displayed as `==' in Info and HTML and as a
+standard mathematical equivalence sign (three parallel horizontal
+lines) in the printed output.
+
+ Thus,
+
+ @lisp
+ (make-sparse-keymap) @equiv{} (list 'keymap)
+ @end lisp
+
+produces
+
+ (make-sparse-keymap) == (list 'keymap)
+
+This indicates that evaluating `(make-sparse-keymap)' produces
+identical results to evaluating `(list 'keymap)'.
+
+
+File: texinfo.info, Node: Point Glyph, Prev: Equivalence, Up: Glyphs
+
+14.9.7 `@point{}' (-!-): Indicating Point in a Buffer
+-----------------------------------------------------
+
+Sometimes you need to show an example of text in an Emacs buffer. In
+such examples, the convention is to include the entire contents of the
+buffer in question between two lines of dashes containing the buffer
+name.
+
+ You can use the `@point{}' command to show the location of point in
+the text in the buffer. (The symbol for point, of course, is not part
+of the text in the buffer; it indicates the place _between_ two
+characters where point is located.)
+
+ The `@point{}' command is displayed as `-!-' in Info and HTML and as
+a small five pointed star in the printed output.
+
+ The following example shows the contents of buffer `foo' before and
+after evaluating a Lisp command to insert the word `changed'.
+
+ ---------- Buffer: foo ----------
+ This is the -!-contents of foo.
+ ---------- Buffer: foo ----------
+
+ (insert "changed ")
+ => nil
+ ---------- Buffer: foo ----------
+ This is the changed -!-contents of foo.
+ ---------- Buffer: foo ----------
+
+ In a Texinfo source file, the example is written like this:
+
+ @example
+ ---------- Buffer: foo ----------
+ This is the @point{}contents of foo.
+ ---------- Buffer: foo ----------
+
+ (insert "changed ")
+ @result{} nil
+ ---------- Buffer: foo ----------
+ This is the changed @point{}contents of foo.
+ ---------- Buffer: foo ----------
+ @end example
+
+
+File: texinfo.info, Node: Breaks, Next: Definition Commands, Prev: Insertions, Up: Top
+
+15 Forcing and Preventing Breaks
+********************************
+
+Usually, a Texinfo file is processed both by TeX and by one of the Info
+formatting commands. Line, paragraph, or page breaks sometimes occur
+in the `wrong' place in one or other form of output. You must ensure
+that text looks right both in the printed manual and in the Info file.
+
+ For example, in a printed manual, page breaks may occur awkwardly in
+the middle of an example; to prevent this, you can hold text together
+using a grouping command that keeps the text from being split across
+two pages. Conversely, you may want to force a page break where none
+would occur normally. Fortunately, problems like these do not often
+arise. When they do, use the break, break prevention, or pagination
+commands.
+
+* Menu:
+
+* Break Commands:: Summary of break-related commands.
+* Line Breaks:: Forcing line breaks.
+* - and hyphenation:: Helping TeX with hyphenation points.
+* w:: Preventing unwanted line breaks in text.
+* tie:: Inserting an unbreakable but varying space.
+* sp:: Inserting blank lines.
+* page:: Forcing the start of a new page.
+* group:: Preventing unwanted page breaks.
+* need:: Another way to prevent unwanted page breaks.
+
+
+File: texinfo.info, Node: Break Commands, Next: Line Breaks, Up: Breaks
+
+15.1 Break Commands
+===================
+
+The break commands create or allow line and paragraph breaks:
+
+`@*'
+ Force a line break.
+
+`@sp N'
+ Skip N blank lines.
+
+`@-'
+ Insert a discretionary hyphen.
+
+`@hyphenation{HY-PHEN-A-TED WORDS}'
+ Define hyphen points in HY-PHEN-A-TED WORDS.
+
+ These commands hold text together on a single line:
+
+`@w{TEXT}'
+ Prevent TEXT from being split and hyphenated across two lines.
+
+`@tie{}'
+ Insert a normal interword space at which a line break may not
+ occur.
+
+ The pagination commands apply only to printed output, since Info
+files do not have pages.
+
+`@page'
+ Start a new page in the printed manual.
+
+`@group'
+ Hold text together that must appear on one printed page.
+
+`@need MILS'
+ Start a new printed page if not enough space on this one.
+
+
+File: texinfo.info, Node: Line Breaks, Next: - and hyphenation, Prev: Break Commands, Up: Breaks
+
+15.2 `@*' and `@/': Generate and Allow Line Breaks
+==================================================
+
+The `@*' command forces a line break in both the printed manual and in
+Info. The `@/' command allows a line break (printed manual only).
+
+ Here is an example with `@*':
+
+ This line @* is broken @*in two places.
+
+produces
+
+ This line
+ is broken
+ in two places.
+
+ The `@/' command can be useful within a url (*note `@uref': uref.),
+which tend to be long and are otherwise unbreakable. For example:
+
+ The official Texinfo home page is on the GNU web site:
+ @uref{http://www.gnu.org/@/software/@/gnu/@/texinfo}.
+
+produces
+
+ The official Texinfo home page is on the GNU web site:
+ `http://www.gnu.org/software/gnu/texinfo'.
+
+Without the `@/' commands, TeX would have nowhere to break the line.
+`@/' has no effect in the online output.
+
+
+File: texinfo.info, Node: - and hyphenation, Next: w, Prev: Line Breaks, Up: Breaks
+
+15.3 `@-' and `@hyphenation': Helping TeX Hyphenate
+===================================================
+
+Although TeX's hyphenation algorithm is generally pretty good, it does
+miss useful hyphenation points from time to time. (Or, far more
+rarely, insert an incorrect hyphenation.) So, for documents with an
+unusual vocabulary or when fine-tuning for a printed edition, you may
+wish to help TeX out. Texinfo supports two commands for this:
+
+`@-'
+ Insert a discretionary hyphen, i.e., a place where TeX can (but
+ does not have to) hyphenate. This is especially useful when you
+ notice an overfull hbox is due to TeX missing a hyphenation (*note
+ Overfull hboxes::). TeX will not insert any hyphenation points
+ itself into a word containing `@-'.
+
+`@hyphenation{HY-PHEN-A-TED WORDS}'
+ Tell TeX how to hyphenate HY-PHEN-A-TED WORDS. As shown, you put
+ a `-' at each hyphenation point. For example:
+ @hyphenation{man-u-script man-u-scripts}
+ TeX only uses the specified hyphenation points when the words
+ match exactly, so give all necessary variants.
+
+ Info output is not hyphenated, so these commands have no effect there.
+
+
+File: texinfo.info, Node: w, Next: tie, Prev: - and hyphenation, Up: Breaks
+
+15.4 `@w'{TEXT}: Prevent Line Breaks
+====================================
+
+`@w{TEXT}' outputs TEXT and prohibits line breaks within TEXT, for both
+TeX and `makeinfo'.
+
+ Thus, you can use `@w' to produce a non-breakable space, fixed at the
+width of a normal interword space:
+
+ @w{ } @w{ } @w{ } indentation.
+
+produces:
+
+ indentation.
+
+ The space from `@w{ }', as well as being non-breakable, also will not
+stretch or shrink. Sometimes that is what you want, for instance if
+you're doing indenting manual. However, usually you want a normal
+interword space that does stretch and shrink (in the printed output);
+see the `@tie' command in the next section.
+
+ You can also use the `@w' command to prevent TeX from automatically
+hyphenating a long name or phrase that happens to fall near the end of
+a line. `makeinfo' does not ever hyphenate words.
+
+ You can also use `@w' to avoid unwanted keyword expansion in source
+control systems. For example, to literally write $Id$ in your
+document, use `@w{$}Id$'.
+
+
+File: texinfo.info, Node: tie, Next: sp, Prev: w, Up: Breaks
+
+15.5 `@tie{}': Inserting an Unbreakable Space
+=============================================
+
+The `@tie{}' command produces a normal interword space at which a line
+break may not occur. Always write it with following (empty) braces, as
+usual for commands used within a paragraph. Here's an example:
+
+ @TeX{} was written by Donald E.@tie{}Knuth.
+
+produces:
+
+ TeX was written by Donald E. Knuth.
+
+ There are two important differences between `@tie{}' and `@w{ }':
+
+ * The space produced by `@tie{}' will stretch and shrink slightly
+ along with the normal interword spaces in the paragraph; the space
+ produced by `@w{ }' will not vary.
+
+ * `@tie{}' allows hyphenation of the surrounding words, while
+ `@w{ }' inhibits hyphenation of those words (for TeXnical reasons,
+ namely that it produces an `\hbox').
+
+
+
+File: texinfo.info, Node: sp, Next: page, Prev: tie, Up: Breaks
+
+15.6 `@sp' N: Insert Blank Lines
+================================
+
+A line beginning with and containing only `@sp N' generates N blank
+lines of space in both the printed manual and the Info file. `@sp'
+also forces a paragraph break. For example,
+
+ @sp 2
+
+generates two blank lines.
+
+ The `@sp' command is most often used in the title page.
+
+
+File: texinfo.info, Node: page, Next: group, Prev: sp, Up: Breaks
+
+15.7 `@page': Start a New Page
+==============================
+
+A line containing only `@page' starts a new page in a printed manual.
+The command has no effect on Info files since they are not paginated.
+An `@page' command is often used in the `@titlepage' section of a
+Texinfo file to start the copyright page.
+
+
+File: texinfo.info, Node: group, Next: need, Prev: page, Up: Breaks
+
+15.8 `@group': Prevent Page Breaks
+==================================
+
+The `@group' command (on a line by itself) is used inside an `@example'
+or similar construct to begin an unsplittable vertical group, which
+will appear entirely on one page in the printed output. The group is
+terminated by a line containing only `@end group'. These two lines
+produce no output of their own, and in the Info file output they have
+no effect at all.
+
+ Although `@group' would make sense conceptually in a wide variety of
+contexts, its current implementation works reliably only within
+`@example' and variants, and within `@display', `@format', `@flushleft'
+and `@flushright'. *Note Quotations and Examples::. (What all these
+commands have in common is that each line of input produces a line of
+output.) In other contexts, `@group' can cause anomalous vertical
+spacing.
+
+ This formatting requirement means that you should write:
+
+ @example
+ @group
+ ...
+ @end group
+ @end example
+
+with the `@group' and `@end group' commands inside the `@example' and
+`@end example' commands.
+
+ The `@group' command is most often used to hold an example together
+on one page. In this Texinfo manual, more than 100 examples contain
+text that is enclosed between `@group' and `@end group'.
+
+ If you forget to end a group, you may get strange and unfathomable
+error messages when you run TeX. This is because TeX keeps trying to
+put the rest of the Texinfo file onto the one page and does not start
+to generate error messages until it has processed considerable text.
+It is a good rule of thumb to look for a missing `@end group' if you
+get incomprehensible error messages in TeX.
+
+
+File: texinfo.info, Node: need, Prev: group, Up: Breaks
+
+15.9 `@need MILS': Prevent Page Breaks
+======================================
+
+A line containing only `@need N' starts a new page in a printed manual
+if fewer than N mils (thousandths of an inch) remain on the current
+page. Do not use braces around the argument N. The `@need' command
+has no effect on Info files since they are not paginated.
+
+ This paragraph is preceded by an `@need' command that tells TeX to
+start a new page if fewer than 800 mils (eight-tenths inch) remain on
+the page. It looks like this:
+
+ @need 800
+ This paragraph is preceded by ...
+
+ The `@need' command is useful for preventing orphans (single lines at
+the bottoms of printed pages).
+
+
+File: texinfo.info, Node: Definition Commands, Next: Conditionals, Prev: Breaks, Up: Top
+
+16 Definition Commands
+**********************
+
+The `@deffn' command and the other "definition commands" enable you to
+describe functions, variables, macros, commands, user options, special
+forms and other such artifacts in a uniform format.
+
+ In the Info file, a definition causes the entity
+category--`Function', `Variable', or whatever--to appear at the
+beginning of the first line of the definition, followed by the entity's
+name and arguments. In the printed manual, the command causes TeX to
+print the entity's name and its arguments on the left margin and print
+the category next to the right margin. In both output formats, the
+body of the definition is indented. Also, the name of the entity is
+entered into the appropriate index: `@deffn' enters the name into the
+index of functions, `@defvr' enters it into the index of variables, and
+so on (*note Predefined Indices::).
+
+ A manual need not and should not contain more than one definition for
+a given name. An appendix containing a summary should use `@table'
+rather than the definition commands.
+
+* Menu:
+
+* Def Cmd Template:: Writing descriptions using definition commands.
+* Def Cmd Continuation Lines:: Continuing the heading over source lines.
+* Optional Arguments:: Handling optional and repeated arguments.
+* deffnx:: Group two or more `first' lines.
+* Def Cmds in Detail:: Reference for all the definition commands.
+* Def Cmd Conventions:: Conventions for writing definitions.
+* Sample Function Definition:: An example.
+
+
+File: texinfo.info, Node: Def Cmd Template, Next: Def Cmd Continuation Lines, Up: Definition Commands
+
+16.1 The Template for a Definition
+==================================
+
+The `@deffn' command is used for definitions of entities that resemble
+functions. To write a definition using the `@deffn' command, write the
+`@deffn' command at the beginning of a line and follow it on the same
+line by the category of the entity, the name of the entity itself, and
+its arguments (if any). Then write the body of the definition on
+succeeding lines. (You may embed examples in the body.) Finally, end
+the definition with an `@end deffn' command written on a line of its
+own.
+
+ The other definition commands follow the same format: a line with the
+`@def...' command and whatever arguments are appropriate for that
+command; the body of the definition; and a corresponding `@end' line.
+
+ The template for a definition looks like this:
+
+ @deffn CATEGORY NAME ARGUMENTS...
+ BODY-OF-DEFINITION
+ @end deffn
+
+For example,
+
+ @deffn Command forward-word count
+ This command moves point forward @var{count} words
+ (or backward if @var{count} is negative). ...
+ @end deffn
+
+produces
+
+ -- Command: forward-word count
+ This function moves point forward COUNT words (or backward if
+ COUNT is negative). ...
+
+ Capitalize the category name like a title. If the name of the
+category contains spaces, as in the phrase `Interactive Command',
+enclose it in braces. For example:
+
+ @deffn {Interactive Command} isearch-forward
+ ...
+ @end deffn
+
+Otherwise, the second word will be mistaken for the name of the entity.
+As a general rule, when any of the arguments in the heading line
+_except_ the last one are more than one word, you need to enclose them
+in braces.
+
+ Some of the definition commands are more general than others. The
+`@deffn' command, for example, is the general definition command for
+functions and the like--for entities that may take arguments. When you
+use this command, you specify the category to which the entity belongs.
+Three predefined, specialized variations (`@defun', `@defmac', and
+`@defspec') specify the category for you: "Function", "Macro", and
+"Special Form" respectively. (In Lisp, a special form is an entity
+much like a function.) Similarly, the general `@defvr' command is
+accompanied by several specialized variations for describing particular
+kinds of variables.
+
+ *Note Sample Function Definition::, for a detailed example of a
+function definition, including the use of `@example' inside the
+definition.
+
+ Unfortunately, due to implementation difficulties, macros are not
+expanded in `@deffn' and all the other definition commands.
+
+
+File: texinfo.info, Node: Def Cmd Continuation Lines, Next: Optional Arguments, Prev: Def Cmd Template, Up: Definition Commands
+
+16.2 Definition Command Continuation Lines
+==========================================
+
+The heading line of a definition command can get very long. Therefore,
+Texinfo has a special syntax allowing them to be continued over
+multiple lines of the source file: a lone `@' at the end of each line
+to be continued. Here's an example:
+
+ @defun fn-name @
+ arg1 arg2 arg3
+ This is the basic continued defun.
+ @end defun
+
+produces:
+
+ -- Function: fn-name arg1 arg2 arg3
+ This is the basic continued defun.
+
+As you can see, the continued lines are combined, as if they had been
+typed on one source line.
+
+ Although this example only shows a one-line continuation,
+continuations may extend over any number of lines; simply put an `@' at
+the end of each line to be continued.
+
+ The `@' character does not have to be the last character on the
+physical line: whitespace is allowed (and ignored) afterwards.
+
+ In general, any number of spaces or tabs around the `@' continuation
+character, both on the line with the `@' and on the continued line, are
+collapsed into a single space. There is one exception: the Texinfo
+processors will not fully collapse whitespace around a continuation
+inside braces. For example:
+
+ @deffn {Category @
+ Name} ...
+
+The output (not shown) has excess space between `Category' and `Name'.
+In this case, simply elide any unwanted whitespace in your input, or
+put the continuation `@' outside braces.
+
+ `@' does not (currently) function as a continuation character in
+_any_ other context. Ordinarily, `@' followed by a whitespace
+character (space, tab, newline) produces a normal interword space
+(*note Multiple Spaces::).
+
+
+File: texinfo.info, Node: Optional Arguments, Next: deffnx, Prev: Def Cmd Continuation Lines, Up: Definition Commands
+
+16.3 Optional and Repeated Arguments
+====================================
+
+Some entities take optional or repeated arguments, which may be
+specified by a distinctive glyph that uses square brackets and
+ellipses. For example, a special form often breaks its argument list
+into separate arguments in more complicated ways than a straightforward
+function.
+
+ An argument enclosed within square brackets is optional. Thus,
+[OPTIONAL-ARG] means that OPTIONAL-ARG is optional. An argument
+followed by an ellipsis is optional and may be repeated more than once.
+Thus, REPEATED-ARGS`...' stands for zero or more arguments.
+Parentheses are used when several arguments are grouped into additional
+levels of list structure in Lisp.
+
+ Here is the `@defspec' line of an example of an imaginary special
+form:
+
+ -- Special Form: foobar (VAR [FROM TO [INC]]) BODY...
+
+In this example, the arguments FROM and TO are optional, but must both
+be present or both absent. If they are present, INC may optionally be
+specified as well. These arguments are grouped with the argument VAR
+into a list, to distinguish them from BODY, which includes all
+remaining elements of the form.
+
+ In a Texinfo source file, this `@defspec' line is written like this
+(except it would not be split over two lines, as it is in this example).
+
+ @defspec foobar (@var{var} [@var{from} @var{to}
+ [@var{inc}]]) @var{body}@dots{}
+
+The function is listed in the Command and Variable Index under `foobar'.
+
+
+File: texinfo.info, Node: deffnx, Next: Def Cmds in Detail, Prev: Optional Arguments, Up: Definition Commands
+
+16.4 Two or More `First' Lines
+==============================
+
+To create two or more `first' or header lines for a definition, follow
+the first `@deffn' line by a line beginning with `@deffnx'. The
+`@deffnx' command works exactly like `@deffn' except that it does not
+generate extra vertical white space between it and the preceding line.
+
+ For example,
+
+ @deffn {Interactive Command} isearch-forward
+ @deffnx {Interactive Command} isearch-backward
+ These two search commands are similar except ...
+ @end deffn
+
+produces
+
+ -- Interactive Command: isearch-forward
+ -- Interactive Command: isearch-backward
+ These two search commands are similar except ...
+
+ Each definition command has an `x' form: `@defunx', `@defvrx',
+`@deftypefunx', etc.
+
+ The `x' forms work similarly to `@itemx' (*note itemx::).
+
+
+File: texinfo.info, Node: Def Cmds in Detail, Next: Def Cmd Conventions, Prev: deffnx, Up: Definition Commands
+
+16.5 The Definition Commands
+============================
+
+Texinfo provides more than a dozen definition commands, all of which
+are described in this section.
+
+ The definition commands automatically enter the name of the entity in
+the appropriate index: for example, `@deffn', `@defun', and `@defmac'
+enter function names in the index of functions; `@defvr' and `@defvar'
+enter variable names in the index of variables.
+
+ Although the examples that follow mostly illustrate Lisp, the commands
+can be used for other programming languages.
+
+* Menu:
+
+* Functions Commands:: Commands for functions and similar entities.
+* Variables Commands:: Commands for variables and similar entities.
+* Typed Functions:: Commands for functions in typed languages.
+* Typed Variables:: Commands for variables in typed languages.
+* Data Types:: The definition command for data types.
+* Abstract Objects:: Commands for object-oriented programming.
+
+
+File: texinfo.info, Node: Functions Commands, Next: Variables Commands, Up: Def Cmds in Detail
+
+16.5.1 Functions and Similar Entities
+-------------------------------------
+
+This section describes the commands for describing functions and similar
+entities:
+
+`@deffn CATEGORY NAME ARGUMENTS...'
+ The `@deffn' command is the general definition command for
+ functions, interactive commands, and similar entities that may take
+ arguments. You must choose a term to describe the category of
+ entity being defined; for example, "Function" could be used if the
+ entity is a function. The `@deffn' command is written at the
+ beginning of a line and is followed on the same line by the
+ category of entity being described, the name of this particular
+ entity, and its arguments, if any. Terminate the definition with
+ `@end deffn' on a line of its own.
+
+ For example, here is a definition:
+
+ @deffn Command forward-char nchars
+ Move point forward @var{nchars} characters.
+ @end deffn
+
+ This shows a rather terse definition for a "command" named
+ `forward-char' with one argument, NCHARS.
+
+ `@deffn' and prints argument names such as NCHARS in slanted type
+ in the printed output, because we think of these names as
+ metasyntactic variables--they stand for the actual argument values.
+ Within the text of the description, however, write an argument name
+ explicitly with `@var' to refer to the value of the argument. In
+ the example above, we used `@var{nchars}' in this way.
+
+ In the unusual case when an argument name contains `--', or
+ another character sequence which is treated specially (*note
+ Conventions::), use `@var' around the argument. This causes the
+ name to be printed in slanted typewriter, instead of the regular
+ slanted font, exactly as input.
+
+ The template for `@deffn' is:
+
+ @deffn CATEGORY NAME ARGUMENTS...
+ BODY-OF-DEFINITION
+ @end deffn
+
+`@defun NAME ARGUMENTS...'
+ The `@defun' command is the definition command for functions.
+ `@defun' is equivalent to `@deffn Function ...'. Terminate the
+ definition with `@end defun' on a line of its own. Thus, the
+ template is:
+
+ @defun FUNCTION-NAME ARGUMENTS...
+ BODY-OF-DEFINITION
+ @end defun
+
+`@defmac NAME ARGUMENTS...'
+ The `@defmac' command is the definition command for macros.
+ `@defmac' is equivalent to `@deffn Macro ...' and works like
+ `@defun'.
+
+`@defspec NAME ARGUMENTS...'
+ The `@defspec' command is the definition command for special
+ forms. (In Lisp, a special form is an entity much like a function,
+ *note Special Forms: (elisp)Special Forms.) `@defspec' is
+ equivalent to `@deffn {Special Form} ...' and works like `@defun'.
+
+ All these commands create entries in the index of functions.
+
+
+File: texinfo.info, Node: Variables Commands, Next: Typed Functions, Prev: Functions Commands, Up: Def Cmds in Detail
+
+16.5.2 Variables and Similar Entities
+-------------------------------------
+
+Here are the commands for defining variables and similar entities:
+
+`@defvr CATEGORY NAME'
+ The `@defvr' command is a general definition command for something
+ like a variable--an entity that records a value. You must choose
+ a term to describe the category of entity being defined; for
+ example, "Variable" could be used if the entity is a variable.
+ Write the `@defvr' command at the beginning of a line and follow
+ it on the same line by the category of the entity and the name of
+ the entity.
+
+ Capitalize the category name like a title. If the name of the
+ category contains spaces, as in the name "User Option", enclose it
+ in braces. Otherwise, the second word will be mistaken for the
+ name of the entity. For example,
+
+ @defvr {User Option} fill-column
+ This buffer-local variable specifies
+ the maximum width of filled lines.
+ ...
+ @end defvr
+
+ Terminate the definition with `@end defvr' on a line of its own.
+
+ The template is:
+
+ @defvr CATEGORY NAME
+ BODY-OF-DEFINITION
+ @end defvr
+
+ `@defvr' creates an entry in the index of variables for NAME.
+
+`@defvar NAME'
+ The `@defvar' command is the definition command for variables.
+ `@defvar' is equivalent to `@defvr Variable ...'.
+
+ For example:
+
+ @defvar kill-ring
+ ...
+ @end defvar
+
+ The template is:
+
+ @defvar NAME
+ BODY-OF-DEFINITION
+ @end defvar
+
+ `@defvar' creates an entry in the index of variables for NAME.
+
+`@defopt NAME'
+ The `@defopt' command is the definition command for "user
+ options", i.e., variables intended for users to change according to
+ taste; Emacs has many such (*note Variables: (emacs)Variables.).
+ `@defopt' is equivalent to `@defvr {User Option} ...' and works
+ like `@defvar'. It creates an entry in the index of variables.
+
+
+File: texinfo.info, Node: Typed Functions, Next: Typed Variables, Prev: Variables Commands, Up: Def Cmds in Detail
+
+16.5.3 Functions in Typed Languages
+-----------------------------------
+
+The `@deftypefn' command and its variations are for describing
+functions in languages in which you must declare types of variables and
+functions, such as C and C++.
+
+`@deftypefn CATEGORY DATA-TYPE NAME ARGUMENTS...'
+ The `@deftypefn' command is the general definition command for
+ functions and similar entities that may take arguments and that are
+ typed. The `@deftypefn' command is written at the beginning of a
+ line and is followed on the same line by the category of entity
+ being described, the type of the returned value, the name of this
+ particular entity, and its arguments, if any.
+
+ For example,
+
+ @deftypefn {Library Function} int foobar
+ (int @var{foo}, float @var{bar})
+ ...
+ @end deftypefn
+
+ (where the text before the "...", shown above as two lines, would
+ actually be a single line in a real Texinfo file) produces the
+ following in Info:
+
+ -- Library Function: int foobar (int FOO, float BAR)
+ ...
+
+ This means that `foobar' is a "library function" that returns an
+ `int', and its arguments are FOO (an `int') and BAR (a `float').
+
+ Since in typed languages, the actual names of the arguments are
+ typically scattered among data type names and keywords, Texinfo
+ cannot find them without help. You can either (a) write everything
+ as straight text, and it will be printed in slanted type; (b) use
+ `@var' for the variable names, which will uppercase the variable
+ names in Info and use the slanted typewriter font in printed
+ output; (c) use `@var' for the variable names and `@code' for the
+ type names and keywords, which will be dutifully obeyed.
+
+ The template for `@deftypefn' is:
+
+ @deftypefn CATEGORY DATA-TYPE NAME ARGUMENTS ...
+ BODY-OF-DESCRIPTION
+ @end deftypefn
+
+ Note that if the CATEGORY or DATA TYPE is more than one word then
+ it must be enclosed in braces to make it a single argument.
+
+ If you are describing a procedure in a language that has packages,
+ such as Ada, you might consider using `@deftypefn' in a manner
+ somewhat contrary to the convention described in the preceding
+ paragraphs. For example:
+
+ @deftypefn stacks private push @
+ (@var{s}:in out stack; @
+ @var{n}:in integer)
+ ...
+ @end deftypefn
+
+ (The `@deftypefn' arguments are shown using continuations (*note
+ Def Cmd Continuation Lines::), but could be on a single line in a
+ real Texinfo file.)
+
+ In this instance, the procedure is classified as belonging to the
+ package `stacks' rather than classified as a `procedure' and its
+ data type is described as `private'. (The name of the procedure
+ is `push', and its arguments are S and N.)
+
+ `@deftypefn' creates an entry in the index of functions for NAME.
+
+`@deftypefun DATA-TYPE NAME ARGUMENTS...'
+ The `@deftypefun' command is the specialized definition command
+ for functions in typed languages. The command is equivalent to
+ `@deftypefn Function ...'. The template is:
+
+ @deftypefun TYPE NAME ARGUMENTS...
+ BODY-OF-DESCRIPTION
+ @end deftypefun
+
+ `@deftypefun' creates an entry in the index of functions for NAME.
+
+
+
+File: texinfo.info, Node: Typed Variables, Next: Data Types, Prev: Typed Functions, Up: Def Cmds in Detail
+
+16.5.4 Variables in Typed Languages
+-----------------------------------
+
+Variables in typed languages are handled in a manner similar to
+functions in typed languages. *Note Typed Functions::. The general
+definition command `@deftypevr' corresponds to `@deftypefn' and the
+specialized definition command `@deftypevar' corresponds to
+`@deftypefun'.
+
+`@deftypevr CATEGORY DATA-TYPE NAME'
+ The `@deftypevr' command is the general definition command for
+ something like a variable in a typed language--an entity that
+ records a value. You must choose a term to describe the category
+ of the entity being defined; for example, "Variable" could be used
+ if the entity is a variable.
+
+ The `@deftypevr' command is written at the beginning of a line and
+ is followed on the same line by the category of the entity being
+ described, the data type, and the name of this particular entity.
+
+ For example:
+
+ @deftypevr {Global Flag} int enable
+ ...
+ @end deftypevr
+
+ produces the following in Info:
+
+ -- Global Flag: int enable
+ ...
+
+ The template is:
+
+ @deftypevr CATEGORY DATA-TYPE NAME
+ BODY-OF-DESCRIPTION
+ @end deftypevr
+
+`@deftypevar DATA-TYPE NAME'
+ The `@deftypevar' command is the specialized definition command
+ for variables in typed languages. `@deftypevar' is equivalent to
+ `@deftypevr Variable ...'. The template is:
+
+ @deftypevar DATA-TYPE NAME
+ BODY-OF-DESCRIPTION
+ @end deftypevar
+
+ These commands create entries in the index of variables.
+
+
+File: texinfo.info, Node: Data Types, Next: Abstract Objects, Prev: Typed Variables, Up: Def Cmds in Detail
+
+16.5.5 Data Types
+-----------------
+
+Here is the command for data types:
+
+`@deftp CATEGORY NAME ATTRIBUTES...'
+ The `@deftp' command is the generic definition command for data
+ types. The command is written at the beginning of a line and is
+ followed on the same line by the category, by the name of the type
+ (which is a word like `int' or `float'), and then by names of
+ attributes of objects of that type. Thus, you could use this
+ command for describing `int' or `float', in which case you could
+ use `data type' as the category. (A data type is a category of
+ certain objects for purposes of deciding which operations can be
+ performed on them.)
+
+ In Lisp, for example, "pair" names a particular data type, and an
+ object of that type has two slots called the CAR and the CDR.
+ Here is how you would write the first line of a definition of
+ `pair'.
+
+ @deftp {Data type} pair car cdr
+ ...
+ @end deftp
+
+ The template is:
+
+ @deftp CATEGORY NAME-OF-TYPE ATTRIBUTES...
+ BODY-OF-DEFINITION
+ @end deftp
+
+ `@deftp' creates an entry in the index of data types.
+
+
+File: texinfo.info, Node: Abstract Objects, Prev: Data Types, Up: Def Cmds in Detail
+
+16.5.6 Object-Oriented Programming
+----------------------------------
+
+Here are the commands for formatting descriptions about abstract
+objects, such as are used in object-oriented programming. A class is a
+defined type of abstract object. An instance of a class is a
+particular object that has the type of the class. An instance variable
+is a variable that belongs to the class but for which each instance has
+its own value.
+
+* Menu:
+
+* Variables: Object-Oriented Variables.
+* Methods: Object-Oriented Methods.
+
+
+File: texinfo.info, Node: Object-Oriented Variables, Next: Object-Oriented Methods, Up: Abstract Objects
+
+16.5.6.1 Object-Oriented Variables
+..................................
+
+These commands allow you to define different sorts of variables in
+object-oriented programming languages.
+
+`@defcv CATEGORY CLASS NAME'
+ The `@defcv' command is the general definition command for
+ variables associated with classes in object-oriented programming.
+ The `@defcv' command is followed by three arguments: the category
+ of thing being defined, the class to which it belongs, and its
+ name. For instance:
+
+ @defcv {Class Option} Window border-pattern
+ ...
+ @end defcv
+
+ produces:
+
+ -- Class Option of Window: border-pattern
+ ...
+
+ `@defcv' creates an entry in the index of variables.
+
+`@deftypecv CATEGORY CLASS DATA-TYPE NAME'
+ The `@deftypecv' command is the definition command for typed class
+ variables in object-oriented programming. It is analogous to
+ `@defcv' with the addition of the DATA-TYPE parameter to specify
+ the type of the instance variable. Ordinarily, the data type is a
+ programming language construct that should be marked with `@code'.
+ For instance:
+
+ @deftypecv {Class Option} Window @code{int} border-pattern
+ ...
+ @end deftypecv
+
+ produces:
+
+ -- Class Option of Window: `int' border-pattern
+ ...
+
+ `@deftypecv' creates an entry in the index of variables.
+
+`@defivar CLASS NAME'
+ The `@defivar' command is the definition command for instance
+ variables in object-oriented programming. `@defivar' is
+ equivalent to `@defcv {Instance Variable} ...'. For instance:
+
+ @defivar Window border-pattern
+ ...
+ @end defivar
+
+ produces:
+
+ -- Instance Variable of Window: border-pattern
+ ...
+
+ `@defivar' creates an entry in the index of variables.
+
+`@deftypeivar CLASS DATA-TYPE NAME'
+ The `@deftypeivar' command is the definition command for typed
+ instance variables in object-oriented programming. It is
+ analogous to `@defivar' with the addition of the DATA-TYPE
+ parameter to specify the type of the instance variable.
+ Ordinarily, the data type is a programming language construct that
+ should be marked with `@code'. For instance:
+
+ @deftypeivar Window @code{int} border-pattern
+ ...
+ @end deftypeivar
+
+ produces:
+
+ -- Instance Variable of Window: `int' border-pattern
+ ...
+
+ `@deftypeivar' creates an entry in the index of variables.
+
+
+
+File: texinfo.info, Node: Object-Oriented Methods, Prev: Object-Oriented Variables, Up: Abstract Objects
+
+16.5.6.2 Object-Oriented Methods
+................................
+
+These commands allow you to define different sorts of function-like
+entities resembling methods in object-oriented programming languages.
+These entities take arguments, as functions do, but are associated with
+particular classes of objects.
+
+`@defop CATEGORY CLASS NAME ARGUMENTS...'
+ The `@defop' command is the general definition command for these
+ method-like entities.
+
+ For example, some systems have constructs called "wrappers" that
+ are associated with classes as methods are, but that act more like
+ macros than like functions. You could use `@defop Wrapper' to
+ describe one of these.
+
+ Sometimes it is useful to distinguish methods and "operations".
+ You can think of an operation as the specification for a method.
+ Thus, a window system might specify that all window classes have a
+ method named `expose'; we would say that this window system
+ defines an `expose' operation on windows in general. Typically,
+ the operation has a name and also specifies the pattern of
+ arguments; all methods that implement the operation must accept
+ the same arguments, since applications that use the operation do
+ so without knowing which method will implement it.
+
+ Often it makes more sense to document operations than methods. For
+ example, window application developers need to know about the
+ `expose' operation, but need not be concerned with whether a given
+ class of windows has its own method to implement this operation.
+ To describe this operation, you would write:
+
+ @defop Operation windows expose
+
+ The `@defop' command is written at the beginning of a line and is
+ followed on the same line by the overall name of the category of
+ operation, the name of the class of the operation, the name of the
+ operation, and its arguments, if any.
+
+ The template is:
+ @defop CATEGORY CLASS NAME ARGUMENTS...
+ BODY-OF-DEFINITION
+ @end defop
+
+ `@defop' creates an entry, such as ``expose' on `windows'', in the
+ index of functions.
+
+`@deftypeop CATEGORY CLASS DATA-TYPE NAME ARGUMENTS...'
+ The `@deftypeop' command is the definition command for typed
+ operations in object-oriented programming. It is similar to
+ `@defop' with the addition of the DATA-TYPE parameter to specify
+ the return type of the method. `@deftypeop' creates an entry in
+ the index of functions.
+
+`@defmethod CLASS NAME ARGUMENTS...'
+ The `@defmethod' command is the definition command for methods in
+ object-oriented programming. A method is a kind of function that
+ implements an operation for a particular class of objects and its
+ subclasses.
+
+ `@defmethod' is equivalent to `@defop Method ...'. The command is
+ written at the beginning of a line and is followed by the name of
+ the class of the method, the name of the method, and its
+ arguments, if any.
+
+ For example:
+ @defmethod `bar-class' bar-method argument
+ ...
+ @end defmethod
+
+ illustrates the definition for a method called `bar-method' of the
+ class `bar-class'. The method takes an argument.
+
+ `@defmethod' creates an entry in the index of functions.
+
+`@deftypemethod CLASS DATA-TYPE NAME ARGUMENTS...'
+ The `@deftypemethod' command is the definition command for methods
+ in object-oriented typed languages, such as C++ and Java. It is
+ similar to the `@defmethod' command with the addition of the
+ DATA-TYPE parameter to specify the return type of the method.
+ `@deftypemethod' creates an entry in the index of functions.
+
+
+
+File: texinfo.info, Node: Def Cmd Conventions, Next: Sample Function Definition, Prev: Def Cmds in Detail, Up: Definition Commands
+
+16.6 Conventions for Writing Definitions
+========================================
+
+When you write a definition using `@deffn', `@defun', or one of the
+other definition commands, please take care to use arguments that
+indicate the meaning, as with the COUNT argument to the `forward-word'
+function. Also, if the name of an argument contains the name of a
+type, such as INTEGER, take care that the argument actually is of that
+type.
+
+
+File: texinfo.info, Node: Sample Function Definition, Prev: Def Cmd Conventions, Up: Definition Commands
+
+16.7 A Sample Function Definition
+=================================
+
+A function definition uses the `@defun' and `@end defun' commands. The
+name of the function follows immediately after the `@defun' command and
+it is followed, on the same line, by the parameter list.
+
+ Here is a definition from *Note Calling Functions: (elisp)Calling
+Functions.
+
+ -- Function: apply function &rest arguments
+ `apply' calls FUNCTION with ARGUMENTS, just like `funcall'
+ but with one difference: the last of ARGUMENTS is a list of
+ arguments to give to FUNCTION, rather than a single argument.
+ We also say that this list is "appended" to the other
+ arguments.
+
+ `apply' returns the result of calling FUNCTION. As with
+ `funcall', FUNCTION must either be a Lisp function or a
+ primitive function; special forms and macros do not make
+ sense in `apply'.
+
+ (setq f 'list)
+ => list
+ (apply f 'x 'y 'z)
+ error--> Wrong type argument: listp, z
+ (apply '+ 1 2 '(3 4))
+ => 10
+ (apply '+ '(1 2 3 4))
+ => 10
+
+ (apply 'append '((a b c) nil (x y z) nil))
+ => (a b c x y z)
+
+ An interesting example of using `apply' is found in the
+ description of `mapcar'.
+
+ In the Texinfo source file, this example looks like this:
+
+ @defun apply function &rest arguments
+ @code{apply} calls @var{function} with
+ @var{arguments}, just like @code{funcall} but with one
+ difference: the last of @var{arguments} is a list of
+ arguments to give to @var{function}, rather than a single
+ argument. We also say that this list is @dfn{appended}
+ to the other arguments.
+
+ @code{apply} returns the result of calling
+ @var{function}. As with @code{funcall},
+ @var{function} must either be a Lisp function or a
+ primitive function; special forms and macros do not make
+ sense in @code{apply}.
+
+ @example
+ (setq f 'list)
+ @result{} list
+ (apply f 'x 'y 'z)
+ @error{} Wrong type argument: listp, z
+ (apply '+ 1 2 '(3 4))
+ @result{} 10
+ (apply '+ '(1 2 3 4))
+ @result{} 10
+
+ (apply 'append '((a b c) nil (x y z) nil))
+ @result{} (a b c x y z)
+ @end example
+
+ An interesting example of using @code{apply} is found
+ in the description of @code{mapcar}.
+ @end defun
+
+In this manual, this function is listed in the Command and Variable
+Index under `apply'.
+
+ Ordinary variables and user options are described using a format like
+that for functions except that variables do not take arguments.
+
+
+File: texinfo.info, Node: Conditionals, Next: Internationalization, Prev: Definition Commands, Up: Top
+
+17 Conditionally Visible Text
+*****************************
+
+The "conditional commands" allow you to use different text for
+different output formats, or for general conditions that you define.
+For example, you can use them to specify different text for the printed
+manual and the Info output.
+
+ The conditional commands comprise the following categories.
+
+ * Commands specific to an output format (Info, TeX, HTML, ...).
+
+ * Commands specific to any output format _other_ than a given one
+ (not Info, not TeX, ...).
+
+ * `Raw' formatter text for any output format, passed straight
+ through with no interpretation of @-commands.
+
+ * Format-independent variable substitutions, and testing if a
+ variable is set or clear.
+
+
+* Menu:
+
+* Conditional Commands:: Text for a given format.
+* Conditional Not Commands:: Text for any format other than a given one.
+* Raw Formatter Commands:: Using raw formatter commands.
+* set clear value:: Variable tests and substitutions.
+* Conditional Nesting:: Using conditionals inside conditionals.
+
+
+File: texinfo.info, Node: Conditional Commands, Next: Conditional Not Commands, Up: Conditionals
+
+17.1 Conditional Commands
+=========================
+
+Texinfo has an `@ifFORMAT' environment for each output format, to allow
+conditional inclusion of text for a particular output format.
+
+ `@ifinfo' begins segments of text that should be ignored by TeX when
+it typesets the printed manual, and by `makeinfo' when not producing
+Info output. The segment of text appears only in the Info file and,
+for historical compatibility, the plain text output.
+
+ The environments for the other formats are analogous:
+
+`@ifdocbook ... @end ifdocbook'
+ Text to appear only in the Docbook output.
+
+`@ifhtml ... @end ifhtml'
+ Text to appear only in the HTML output.
+
+`@ifplaintext ... @end ifplaintext'
+ Text to appear only in the plain text output.
+
+`@iftex ... @end iftex'
+ Text to appear only in the printed manual.
+
+`@ifxml ... @end ifxml'
+ Text to appear only in the XML output.
+
+ The `@if...' and `@end if...' commands must appear on lines by
+themselves in your source file.
+
+ Here is an example showing all these conditionals:
+
+ @iftex
+ This text will appear only in the printed manual.
+ @end iftex
+ @ifinfo
+ However, this text will appear only in Info and plain text.
+ @end ifinfo
+ @ifhtml
+ And this text will only appear in HTML.
+ @end ifhtml
+ @ifplaintext
+ Whereas this text will only appear in plain text.
+ @end ifplaintext
+ @ifxml
+ Notwithstanding that this will only appear in XML.
+ @end ifxml
+ @ifdocbook
+ Nevertheless, this will only appear in Docbook.
+ @end ifdocbook
+
+The preceding example produces the following line:
+
+ However, this text will appear only in Info and plain text.
+
+Notice that you only see one of the input lines, depending on which
+version of the manual you are reading.
+
+
+File: texinfo.info, Node: Conditional Not Commands, Next: Raw Formatter Commands, Prev: Conditional Commands, Up: Conditionals
+
+17.2 Conditional Not Commands
+=============================
+
+You can specify text to be included in any output format _other_ than a
+given one with the `@ifnot...' environments:
+
+ @ifnotdocbook ... @end ifnotdocbook
+ @ifnothtml ... @end ifnothtml
+ @ifnotinfo ... @end ifnotinfo
+ @ifnotplaintext ... @end ifnotplaintext
+ @ifnottex ... @end ifnottex
+ @ifnotxml ... @end ifnotxml
+
+The `@ifnot...' command and the `@end' command must appear on lines by
+themselves in your actual source file.
+
+ If the output file is being made in the given format, the region is
+_ignored_. Otherwise, it is included.
+
+ There is one exception (for historical compatibility): `@ifnotinfo'
+text is omitted for both Info and plain text output, not just Info. To
+specify text which appears only in Info and not in plain text, use
+`@ifnotplaintext', like this:
+
+ @ifinfo
+ @ifnotplaintext
+ This will be in Info, but not plain text.
+ @end ifnotplaintext
+ @end ifinfo
+
+ The regions delimited by these commands are ordinary Texinfo source as
+with `@iftex', not raw formatter source as with `@tex' (*note Raw
+Formatter Commands::).
+
+
+File: texinfo.info, Node: Raw Formatter Commands, Next: set clear value, Prev: Conditional Not Commands, Up: Conditionals
+
+17.3 Raw Formatter Commands
+===========================
+
+Inside a region delineated by `@iftex' and `@end iftex', you can embed
+some raw TeX commands. The Texinfo processors will ignore such a
+region unless TeX output is being produced. You can write the TeX
+commands as you would write them in a normal TeX file, except that you
+must replace the `\' used by TeX with an `@'. For example, in the
+`@titlepage' section of a Texinfo file, you can use the TeX command
+`@vskip' to format the copyright page. (The `@titlepage' command
+causes Info to ignore the region automatically, as it does with the
+`@iftex' command.)
+
+ However, most features of plain TeX will not work within `@iftex', as
+they are overridden by Texinfo features. The purpose of `@iftex' is to
+provide conditional processing for the Texinfo source, not provide
+access to underlying formatting features.
+
+ You can enter plain TeX completely, and use `\' in the TeX commands,
+by delineating a region with the `@tex' and `@end tex' commands. All
+plain TeX commands and category codes are restored within an `@tex'
+region. The sole exception is that the `@' character still introduces
+a command, so that `@end tex' can be recognized properly. As with
+`@iftex', Texinfo processors will ignore such a region unless TeX
+output is being produced.
+
+ In complex cases, you may wish to define new TeX macros within
+`@tex'. You must use `\gdef' to do this, not `\def', because `@tex'
+regions are processed in a TeX group.
+
+ As an example, here is a mathematical expression written in plain TeX:
+
+ @tex
+ $$ \chi^2 = \sum_{i=1}^N
+ \left (y_i - (a + b x_i)
+ \over \sigma_i\right)^2 $$
+ @end tex
+
+The output of this example will appear only in a printed manual. If
+you are reading this in Info, you will not see the equation that appears
+in the printed manual.
+
+ Analogously, you can use `@ifhtml ... @end ifhtml' to delimit a
+region to be included in HTML output only, and `@html ... @end html'
+for a region of raw HTML.
+
+ Likewise, you can use `@ifxml ... @end ifxml' to delimit a region to
+be included in XML output only, and `@xml ... @end xml' for a region
+of raw XML.
+
+ Again likewise, you can use `@ifdocbook ... @end ifdocbook' to
+delimit a region to be included in Docbook output only, and `@docbook
+... @end docbook' for a region of raw Docbook.
+
+ In all cases, the exception to the raw processing is that `@' is
+still an escape character, so the `@end' command can be recognized.
+
+
+File: texinfo.info, Node: set clear value, Next: Conditional Nesting, Prev: Raw Formatter Commands, Up: Conditionals
+
+17.4 `@set', `@clear', and `@value'
+===================================
+
+You can direct the Texinfo formatting commands to format or ignore parts
+of a Texinfo file with the `@set', `@clear', `@ifset', and `@ifclear'
+commands.
+
+ Here are brief descriptions of these commands, see the following
+sections for more details:
+
+`@set FLAG [VALUE]'
+ Set the variable FLAG, to the optional VALUE if specifed.
+
+`@clear FLAG'
+ Undefine the variable FLAG, whether or not it was previously
+ defined.
+
+`@ifset FLAG'
+ If FLAG is set, text through the next `@end ifset' command is
+ formatted. If FLAG is clear, text through the following `@end
+ ifset' command is ignored.
+
+`@ifclear FLAG'
+ If FLAG is set, text through the next `@end ifclear' command is
+ ignored. If FLAG is clear, text through the following `@end
+ ifclear' command is formatted.
+
+* Menu:
+
+* set value:: Expand a flag variable to a string.
+* ifset ifclear:: Format a region if a flag is set.
+* value Example:: An easy way to update edition information.
+
+
+File: texinfo.info, Node: set value, Next: ifset ifclear, Up: set clear value
+
+17.4.1 `@set' and `@value'
+--------------------------
+
+You use the `@set' command to specify a value for a flag, which is
+later expanded by the `@value' command.
+
+ A "flag" (aka "variable") is an identifier. It is best to use only
+letters and numerals in a flag name, not `-' or `_'--they will work in
+some contexts, but not all, due to limitations in TeX.
+
+ The value is the remainder of the input line, and can contain
+anything.
+
+ Write the `@set' command like this:
+
+ @set foo This is a string.
+
+This sets the value of the flag `foo' to "This is a string.".
+
+ The Texinfo formatters then replace an `@value{FLAG}' command with
+the string to which FLAG is set. Thus, when `foo' is set as shown
+above, the Texinfo formatters convert this:
+
+ @value{foo}
+to this:
+ This is a string.
+
+ You can write an `@value' command within a paragraph; but you must
+write an `@set' command on a line of its own.
+
+ If you write the `@set' command like this:
+
+ @set foo
+
+without specifying a string, the value of `foo' is the empty string.
+
+ If you clear a previously set flag with `@clear FLAG', a subsequent
+`@value{flag}' command will report an error.
+
+ For example, if you set `foo' as follows:
+
+ @set howmuch very, very, very
+
+then the formatters transform
+
+ It is a @value{howmuch} wet day.
+into
+ It is a very, very, very wet day.
+
+ If you write
+
+ @clear howmuch
+
+then the formatters transform
+
+ It is a @value{howmuch} wet day.
+into
+ It is a {No value for "howmuch"} wet day.
+
+
+File: texinfo.info, Node: ifset ifclear, Next: value Example, Prev: set value, Up: set clear value
+
+17.4.2 `@ifset' and `@ifclear'
+------------------------------
+
+When a FLAG is set, the Texinfo formatting commands format text between
+subsequent pairs of `@ifset FLAG' and `@end ifset' commands. When the
+FLAG is cleared, the Texinfo formatting commands do _not_ format the
+text. `@ifclear' operates analogously.
+
+ Write the conditionally formatted text between `@ifset FLAG' and
+`@end ifset' commands, like this:
+
+ @ifset FLAG
+ CONDITIONAL-TEXT
+ @end ifset
+
+ For example, you can create one document that has two variants, such
+as a manual for a `large' and `small' model:
+
+ You can use this machine to dig up shrubs
+ without hurting them.
+
+ @set large
+
+ @ifset large
+ It can also dig up fully grown trees.
+ @end ifset
+
+ Remember to replant promptly ...
+
+In the example, the formatting commands will format the text between
+`@ifset large' and `@end ifset' because the `large' flag is set.
+
+ When FLAG is cleared, the Texinfo formatting commands do _not_ format
+the text between `@ifset FLAG' and `@end ifset'; that text is ignored
+and does not appear in either printed or Info output.
+
+ For example, if you clear the flag of the preceding example by writing
+an `@clear large' command after the `@set large' command (but before
+the conditional text), then the Texinfo formatting commands ignore the
+text between the `@ifset large' and `@end ifset' commands. In the
+formatted output, that text does not appear; in both printed and Info
+output, you see only the lines that say, "You can use this machine to
+dig up shrubs without hurting them. Remember to replant promptly ...".
+
+ If a flag is cleared with an `@clear FLAG' command, then the
+formatting commands format text between subsequent pairs of `@ifclear'
+and `@end ifclear' commands. But if the flag is set with `@set FLAG',
+then the formatting commands do _not_ format text between an `@ifclear'
+and an `@end ifclear' command; rather, they ignore that text. An
+`@ifclear' command looks like this:
+
+ @ifclear FLAG
+
+
+File: texinfo.info, Node: value Example, Prev: ifset ifclear, Up: set clear value
+
+17.4.3 `@value' Example
+-----------------------
+
+You can use the `@value' command to minimize the number of places you
+need to change when you record an update to a manual. *Note GNU Sample
+Texts::, for the full text of an example of using this to work with
+Automake distributions.
+
+ This example is adapted from *Note Overview: (make)Top.
+
+ 1. Set the flags:
+
+ @set EDITION 0.35 Beta
+ @set VERSION 3.63 Beta
+ @set UPDATED 14 August 1992
+ @set UPDATE-MONTH August 1992
+
+ 2. Write text for the `@copying' section (*note copying::):
+
+ @copying
+ This is Edition @value{EDITION},
+ last updated @value{UPDATED},
+ of @cite{The GNU Make Manual},
+ for @code{make}, version @value{VERSION}.
+
+ Copyright ...
+
+ Permission is granted ...
+ @end copying
+
+ 3. Write text for the title page, for people reading the printed
+ manual:
+
+ @titlepage
+ @title GNU Make
+ @subtitle A Program for Directing Recompilation
+ @subtitle Edition @value{EDITION}, ...
+ @subtitle @value{UPDATE-MONTH}
+ @page
+ @insertcopying
+ ...
+ @end titlepage
+
+ (On a printed cover, a date listing the month and the year looks
+ less fussy than a date listing the day as well as the month and
+ year.)
+
+ 4. Write text for the Top node, for people reading the Info file:
+
+ @ifnottex
+ @node Top
+ @top Make
+
+ @insertcopying
+ ...
+ @end ifnottex
+
+ After you format the manual, the `@value' constructs have been
+ expanded, so the output contains text like this:
+
+ This is Edition 0.35 Beta, last updated 14 August 1992,
+ of `The GNU Make Manual', for `make', Version 3.63 Beta.
+
+ When you update the manual, you change only the values of the flags;
+you do not need to edit the three sections.
+
+
+File: texinfo.info, Node: Conditional Nesting, Prev: set clear value, Up: Conditionals
+
+17.5 Conditional Nesting
+========================
+
+Conditionals can be nested; however, the details are a little tricky.
+The difficulty comes with failing conditionals, such as `@ifhtml' when
+HTML is not being produced, where the included text is to be ignored.
+However, it is not to be _completely_ ignored, since it is useful to
+have one `@ifset' inside another, for example--that is a way to include
+text only if two conditions are met. Here's an example:
+
+ @ifset somevar
+ @ifset anothervar
+ Both somevar and anothervar are set.
+ @end ifset
+ @ifclear anothervar
+ Somevar is set, anothervar is not.
+ @end ifclear
+ @end ifset
+
+ Technically, Texinfo requires that for a failing conditional, the
+ignored text must be properly nested with respect to that failing
+conditional. Unfortunately, it's not always feasible to check that
+_all_ conditionals are properly nested, because then the processors
+could have to fully interpret the ignored text, which defeats the
+purpose of the command. Here's an example illustrating these rules:
+
+ @ifset a
+ @ifset b
+ @ifclear ok - ok, ignored
+ @end junky - ok, ignored
+ @end ifset
+ @c WRONG - missing @end ifset.
+
+ Finally, as mentioned above, all conditional commands must be on lines
+by themselves, with no text (even spaces) before or after. Otherwise,
+the processors cannot reliably determine which commands to consider for
+nesting purposes.
+
+
+File: texinfo.info, Node: Internationalization, Next: Defining New Texinfo Commands, Prev: Conditionals, Up: Top
+
+18 Internationalization
+***********************
+
+Texinfo has some support for writing in languages other than English,
+although this area still needs considerable work.
+
+ For a list of the various accented and special characters Texinfo
+supports, see *Note Inserting Accents::.
+
+* Menu:
+
+* documentlanguage:: Declaring the current language.
+* documentencoding:: Declaring the input encoding.
+
+
+File: texinfo.info, Node: documentlanguage, Next: documentencoding, Up: Internationalization
+
+18.1 `@documentlanguage CC': Set the Document Language
+======================================================
+
+The `@documentlanguage' command declares the current document language.
+Write it on a line by itself, with a two-letter ISO-639 language code
+following (list is included below). If you have a multilingual
+document, the intent is to be able to use this command multiple times,
+to declare each language change. If the command is not used at all,
+the default is `en' for English.
+
+ At present, this command is ignored in Info and HTML output. For
+TeX, it causes the file `txi-CC.tex' to be read (if it exists). Such a
+file appropriately redefines the various English words used in TeX
+output, such as `Chapter', `See', and so on.
+
+ It would be good if this command also changed TeX's ideas of the
+current hyphenation patterns (via the TeX primitive `\language'), but
+this is unfortunately not currently implemented.
+
+ Hereare the valid language codes, from ISO-639.
+
+`aa' Afar `ab' Abkhazian `af' Afrikaans
+`am' Amharic `ar' Arabic `as' Assamese
+`ay' Aymara `az' Azerbaijani `ba' Bashkir
+`be' Byelorussian `bg' Bulgarian `bh' Bihari
+`bi' Bislama `bn' Bengali; Bangla `bo' Tibetan
+`br' Breton `ca' Catalan `co' Corsican
+`cs' Czech `cy' Welsh `da' Danish
+`de' German `dz' Bhutani `el' Greek
+`en' English `eo' Esperanto `es' Spanish
+`et' Estonian `eu' Basque `fa' Persian
+`fi' Finnish `fj' Fiji `fo' Faroese
+`fr' French `fy' Frisian `ga' Irish
+`gd' Scots Gaelic `gl' Galician `gn' Guarani
+`gu' Gujarati `ha' Hausa `he' Hebrew
+`hi' Hindi `hr' Croatian `hu' Hungarian
+`hy' Armenian `ia' Interlingua `id' Indonesian
+`ie' Interlingue `ik' Inupiak `is' Icelandic
+`it' Italian `iu' Inuktitut `ja' Japanese
+`jw' Javanese `ka' Georgian `kk' Kazakh
+`kl' Greenlandic `km' Cambodian `kn' Kannada
+`ks' Kashmiri `ko' Korean `ku' Kurdish
+`ky' Kirghiz `la' Latin `ln' Lingala
+`lt' Lithuanian `lo' Laothian `lv' Latvian, Lettish
+`mg' Malagasy `mi' Maori `mk' Macedonian
+`ml' Malayalam `mn' Mongolian `mo' Moldavian
+`mr' Marathi `ms' Malay `mt' Maltese
+`my' Burmese `na' Nauru `ne' Nepali
+`nl' Dutch `no' Norwegian `oc' Occitan
+`om' (Afan) Oromo `or' Oriya `pa' Punjabi
+`pl' Polish `ps' Pashto, Pushto `pt' Portuguese
+`qu' Quechua `rm' Rhaeto-Romance `rn' Kirundi
+`ro' Romanian `ru' Russian `rw' Kinyarwanda
+`sa' Sanskrit `sd' Sindhi `sg' Sangro
+`sh' Serbo-Croatian `si' Sinhalese `sk' Slovak
+`sl' Slovenian `sm' Samoan `sn' Shona
+`so' Somali `sq' Albanian `sr' Serbian
+`ss' Siswati `st' Sesotho `su' Sundanese
+`sv' Swedish `sw' Swahili `ta' Tamil
+`te' Telugu `tg' Tajik `th' Thai
+`ti' Tigrinya `tk' Turkmen `tl' Tagalog
+`tn' Setswana `to' Tonga `tr' Turkish
+`ts' Tsonga `tt' Tatar `tw' Twi
+`ug' Uighur `uk' Ukrainian `ur' Urdu
+`uz' Uzbek `vi' Vietnamese `vo' Volapuk
+`wo' Wolof `xh' Xhosa `yi' Yiddish
+`yo' Yoruba `za' Zhuang `zh' Chinese
+`zu' Zulu
+
+
+File: texinfo.info, Node: documentencoding, Prev: documentlanguage, Up: Internationalization
+
+18.2 `@documentencoding ENC': Set Input Encoding
+================================================
+
+The `@documentencoding' command declares the input document encoding.
+Write it on a line by itself, with a valid encoding specification
+following.
+
+ At present, Texinfo supports only three encodings:
+
+`US-ASCII'
+ This has no particular effect, but it's included for completeness.
+
+`ISO-8859-1'
+
+`ISO-8859-2'
+ These specify the standard encodings for Western European and
+ Eastern European languages, respectively. A full description of
+ the encodings is beyond our scope here;
+ `http://czyborra.com/charsets/iso8859.html' is one of many useful
+ references.
+
+ Specifying an encoding ENC has the following effects:
+
+ In Info output, if the option `--enable-encoding' is also given to
+`makeinfo', a so-called `Local Variables' section (*note File
+Variables: (emacs)File Variables.) is output including ENC. This
+allows Info readers to set the encoding appropriately:
+
+ Local Variables:
+ coding: ENC
+ End:
+
+ In HTML output, a `<meta>' tag is output, in the `<head>' section of
+the HTML, that specifies ENC. Web servers and browsers cooperate to
+use this information so the correct encoding is used to display the
+page.
+
+ <meta http-equiv="Content-Type" content="text/html;
+ charset=ENC">
+
+ In all other cases, it is recognized but ignored.
+
+
+File: texinfo.info, Node: Defining New Texinfo Commands, Next: Hardcopy, Prev: Internationalization, Up: Top
+
+19 Defining New Texinfo Commands
+********************************
+
+Texinfo provides several ways to define new commands:
+
+ * A Texinfo "macro" allows you to define a new Texinfo command as any
+ sequence of text and/or existing commands (including other
+ macros). The macro can have any number of "parameters"--text you
+ supply each time you use the macro.
+
+ Incidentally, these macros have nothing to do with the `@defmac'
+ command, which is for documenting macros in the subject of the
+ manual (*note Def Cmd Template::).
+
+ * `@alias' is a convenient way to define a new name for an existing
+ command.
+
+ * `@definfoenclose' allows you to define new commands with
+ customized output in the Info file.
+
+
+* Menu:
+
+* Defining Macros:: Defining and undefining new commands.
+* Invoking Macros:: Using a macro, once you've defined it.
+* Macro Details:: Limitations of Texinfo macros.
+* alias:: Command aliases.
+* definfoenclose:: Customized highlighting.
+
+
+File: texinfo.info, Node: Defining Macros, Next: Invoking Macros, Up: Defining New Texinfo Commands
+
+19.1 Defining Macros
+====================
+
+You use the Texinfo `@macro' command to define a macro, like this:
+
+ @macro MACRONAME{PARAM1, PARAM2, ...}
+ TEXT ... \PARAM1\ ...
+ @end macro
+
+ The "parameters" PARAM1, PARAM2, ... correspond to arguments supplied
+when the macro is subsequently used in the document (described in the
+next section).
+
+ For a macro to work consistently with TeX, MACRONAME must consist
+entirely of letters: no digits, hyphens, underscores, or other special
+characters. So, we recommend using only letters. However, `makeinfo'
+will accept anything except `{}_^='; `_' and `^' are excluded so that
+macros can be called in `@math' mode without a following space (*note
+`@math': math.).
+
+ If a macro needs no parameters, you can define it either with an empty
+list (`@macro foo {}') or with no braces at all (`@macro foo').
+
+ The definition or "body" of the macro can contain most Texinfo
+commands, including previously-defined macros. Not-yet-defined macro
+invocations are not allowed; thus, it is not possible to have mutually
+recursive Texinfo macros. Also, a macro definition that defines another
+macro does not work in TeX due to limitations in the design of `@macro'.
+
+ In the macro body, instances of a parameter name surrounded by
+backslashes, as in `\PARAM1\' in the example above, are replaced by the
+corresponding argument from the macro invocation. You can use
+parameter names any number of times in the body, including zero.
+
+ To get a single `\' in the macro expansion, use `\\'. Any other use
+of `\' in the body yields a warning.
+
+ The newlines after the `@macro' line and before the `@end macro' line
+are ignored, that is, not included in the macro body. All other
+whitespace is treated according to the usual Texinfo rules.
+
+ To allow a macro to be used recursively, that is, in an argument to a
+call to itself, you must define it with `@rmacro', like this:
+
+ @rmacro rmac {arg}
+ a\arg\b
+ @end rmacro
+ ...
+ @rmac{1@rmac{text}2}
+
+ This produces the output `a1atextb2b'. With `@macro' instead of
+`@rmacro', an error message is given.
+
+ You can undefine a macro FOO with `@unmacro FOO'. It is not an error
+to undefine a macro that is already undefined. For example:
+
+ @unmacro foo
+
+
+File: texinfo.info, Node: Invoking Macros, Next: Macro Details, Prev: Defining Macros, Up: Defining New Texinfo Commands
+
+19.2 Invoking Macros
+====================
+
+After a macro is defined (see the previous section), you can use
+("invoke") it in your document like this:
+
+ @MACRONAME {ARG1, ARG2, ...}
+
+and the result will be just as if you typed the body of MACRONAME at
+that spot. For example:
+
+ @macro foo {p, q}
+ Together: \p\ & \q\.
+ @end macro
+ @foo{a, b}
+
+produces:
+
+ Together: a & b.
+
+ Thus, the arguments and parameters are separated by commas and
+delimited by braces; any whitespace after (but not before) a comma is
+ignored. The braces are required in the invocation (but not the
+definition), even when the macro takes no arguments, consistent with
+all other Texinfo commands. For example:
+
+ @macro argless {}
+ No arguments here.
+ @end macro
+ @argless{}
+
+produces:
+
+ No arguments here.
+
+ To insert a comma, brace, or backslash in an argument, prepend a
+backslash, as in
+
+ @MACNAME {\\\{\}\,}
+
+which will pass the (almost certainly error-producing) argument `\{},'
+to MACNAME. However, commas in parameters, even if escaped by a
+backslash, might cause trouble in TeX.
+
+ If the macro is defined to take a single argument, and is invoked
+without any braces, the entire rest of the line after the macro name is
+supplied as the argument. For example:
+
+ @macro bar {p}
+ Twice: \p\ & \p\.
+ @end macro
+ @bar aah
+
+produces:
+
+ Twice: aah & aah.
+
+ If the macro is defined to take a single argument, and is invoked with
+braces, the braced text is passed as the argument, regardless of
+commas. For example:
+
+ @macro bar {p}
+ Twice: \p\ & \p\.
+ @end macro
+ @bar{a,b}
+
+produces:
+
+ Twice: a,b & a,b.
+
+
+File: texinfo.info, Node: Macro Details, Next: alias, Prev: Invoking Macros, Up: Defining New Texinfo Commands
+
+19.3 Macro Details
+==================
+
+Due to unavoidable limitations, certain macro-related constructs cause
+problems with TeX. If you get macro-related errors when producing the
+printed version of a manual, try expanding the macros with `makeinfo'
+by invoking `texi2dvi' with the `-E' option (*note Format with
+texi2dvi::).
+
+ * As mentioned earlier, macro names must consist entirely of letters.
+
+ * It is not advisable to redefine any TeX primitive, plain, or
+ Texinfo command name as a macro. Unfortunately this is a very large
+ set of names, and the possible resulting errors are completely
+ random.
+
+ * All macros are expanded inside at least one TeX group. This means
+ that `@set' and other such commands have no effect inside a macro.
+
+ * Macros containing a command which must be on a line by itself,
+ such as a conditional, cannot be invoked in the middle of a line.
+
+ * Commas in macro arguments, even if escaped by a backslash, don't
+ always work.
+
+ * It is best to avoid comments inside macro definitions.
+
+ * Macro arguments cannot cross lines.
+
+ * Macros cannot define macros in the natural way. To do this, you
+ must use conditionals and raw TeX. For example:
+
+ @ifnottex
+ @macro ctor {name, arg}
+ @macro \name\
+ something involving \arg\ somehow
+ @end macro
+ @end macro
+ @end ifnottex
+ @tex
+ \gdef\ctor#1{\ctorx#1,}
+ \gdef\ctorx#1,#2,{\def#1{something involving #2 somehow}}
+ @end tex
+
+
+ The `makeinfo' implementation also has limitations:
+
+ * `@verbatim' and macros do not mix; for instance, you can't start a
+ verbatim block inside a macro and end it outside. (*Note
+ verbatim::.) Starting any environment inside a macro and ending
+ it outside may or may not work, for that matter.
+
+ * Macros that completely define macros are ok, but it's not possible
+ to have incorrectly nested macro definitions. That is, `@macro'
+ and `@end macro' (likewise for `@rmacro') must be correctly
+ paired. For example, you cannot start a macro definition within a
+ macro, and then end the nested definition outside the macro.
+
+ * `@rmacro' is a kludge.
+
+
+ One more limitation is common to both implementations: white space is
+ignored at the beginnings of lines.
+
+ Future major revisions of Texinfo may ease some of these limitations
+(by introducing a new macro syntax).
+
+
+File: texinfo.info, Node: alias, Next: definfoenclose, Prev: Macro Details, Up: Defining New Texinfo Commands
+
+19.4 `@alias NEW=EXISTING'
+==========================
+
+The `@alias' command defines a new command to be just like an existing
+one. This is useful for defining additional markup names, thus
+preserving semantic information in the input even though the output
+result may be the same.
+
+ Write the `@alias' command on a line by itself, followed by the new
+command name, an equals sign, and the existing command name.
+Whitespace around the equals sign is ignored. Thus:
+ @alias NEW = EXISTING
+
+ For example, if your document contains citations for both books and
+some other media (movies, for example), you might like to define a
+macro `@moviecite{}' that does the same thing as an ordinary `@cite{}'
+but conveys the extra semantic information as well. You'd do this as
+follows:
+
+ @alias moviecite = cite
+
+ Macros do not always have the same effect as aliases, due to vagaries
+of argument parsing. Also, aliases are much simpler to define than
+macros. So the command is not redundant. (It was also heavily used in
+the Jargon File!)
+
+ Aliases must not be recursive, directly or indirectly.
+
+ It is not advisable to redefine any TeX primitive, plain, or Texinfo
+command name as an alias. Unfortunately this is a very large set of
+names, and the possible resulting errors are completely random.
+
+
+File: texinfo.info, Node: definfoenclose, Prev: alias, Up: Defining New Texinfo Commands
+
+19.5 `definfoenclose': Customized Highlighting
+==============================================
+
+A `@definfoenclose' command may be used to define a highlighting
+command for Info, but not for TeX. A command defined using
+`@definfoenclose' marks text by enclosing it in strings that precede
+and follow the text. You can use this to get closer control of your
+Info output.
+
+ Presumably, if you define a command with `@definfoenclose' for Info,
+you will create a corresponding command for TeX, either in
+`texinfo.tex', `texinfo.cnf', or within an `@iftex' in your document.
+
+ Write a `@definfoenclose' command on a line and follow it with three
+arguments separated by commas. The first argument to `@definfoenclose'
+is the @-command name (without the `@'); the second argument is the
+Info start delimiter string; and the third argument is the Info end
+delimiter string. The latter two arguments enclose the highlighted
+text in the Info file. A delimiter string may contain spaces. Neither
+the start nor end delimiter is required. If you do not want a start
+delimiter but do want an end delimiter, you must follow the command
+name with two commas in a row; otherwise, the Info formatting commands
+will naturally misinterpret the end delimiter string you intended as
+the start delimiter string.
+
+ If you do a `@definfoenclose' on the name of a pre-defined macro
+(such as `@emph', `@strong', `@t', or `@i'), the enclosure definition
+will override the built-in definition.
+
+ An enclosure command defined this way takes one argument in braces;
+this is intended for new markup commands (*note Marking Text::).
+
+ For example, you can write:
+
+ @definfoenclose phoo,//,\\
+
+near the beginning of a Texinfo file to define `@phoo' as an Info
+formatting command that inserts `//' before and `\\' after the argument
+to `@phoo'. You can then write `@phoo{bar}' wherever you want
+`//bar\\' highlighted in Info.
+
+ Also, for TeX formatting, you could write
+
+ @iftex
+ @global@let@phoo=@i
+ @end iftex
+
+to define `@phoo' as a command that causes TeX to typeset the argument
+to `@phoo' in italics.
+
+ Each definition applies to its own formatter: one for TeX, the other
+for `texinfo-format-buffer' or `texinfo-format-region'. The
+`@definfoenclose' command need not be within `@ifinfo', but the raw TeX
+commands do need to be in `@iftex'.
+
+ Here is another example: write
+
+ @definfoenclose headword, , :
+
+near the beginning of the file, to define `@headword' as an Info
+formatting command that inserts nothing before and a colon after the
+argument to `@headword'.
+
+ `@definfoenclose' definitions must not be recursive, directly or
+indirectly.
+
+
+File: texinfo.info, Node: Hardcopy, Next: Creating and Installing Info Files, Prev: Defining New Texinfo Commands, Up: Top
+
+20 Formatting and Printing Hardcopy
+***********************************
+
+There are three major shell commands for making a printed manual from a
+Texinfo file: one for converting the Texinfo file into a file that will
+be printed, a second for sorting indices, and a third for printing the
+formatted document. When you use the shell commands, you can either
+work directly in the operating system shell or work within a shell
+inside GNU Emacs.
+
+ If you are using GNU Emacs, you can use commands provided by Texinfo
+mode instead of shell commands. In addition to the three commands to
+format a file, sort the indices, and print the result, Texinfo mode
+offers key bindings for commands to recenter the output buffer, show the
+print queue, and delete a job from the print queue.
+
+* Menu:
+
+* Use TeX:: Use TeX to format for hardcopy.
+* Format with tex/texindex:: How to format with explicit shell commands.
+* Format with texi2dvi:: A simpler way to format.
+* Print with lpr:: How to print.
+* Within Emacs:: How to format and print from an Emacs shell.
+* Texinfo Mode Printing:: How to format and print in Texinfo mode.
+* Compile-Command:: How to print using Emacs's compile command.
+* Requirements Summary:: TeX formatting requirements summary.
+* Preparing for TeX:: What to do before you use TeX.
+* Overfull hboxes:: What are and what to do with overfull hboxes.
+* smallbook:: How to print small format books and manuals.
+* A4 Paper:: How to print on A4 or A5 paper.
+* pagesizes:: How to print with customized page sizes.
+* Cropmarks and Magnification:: How to print marks to indicate the size
+ of pages and how to print scaled up output.
+* PDF Output:: Portable Document Format output.
+* Obtaining TeX:: How to Obtain TeX.
+
+
+File: texinfo.info, Node: Use TeX, Next: Format with tex/texindex, Up: Hardcopy
+
+20.1 Use TeX
+============
+
+The typesetting program called TeX is used for formatting a Texinfo
+file. TeX is a very powerful typesetting program and, if used
+correctly, does an exceptionally good job. (*Note How to Obtain TeX:
+Obtaining TeX, for information on how to obtain TeX.)
+
+ The standalone `makeinfo' program and Emacs functions
+`texinfo-format-region' and `texinfo-format-buffer' commands read the
+very same @-commands in the Texinfo file as does TeX, but process them
+differently to make an Info file (*note Creating an Info File::).
+
+
+File: texinfo.info, Node: Format with tex/texindex, Next: Format with texi2dvi, Prev: Use TeX, Up: Hardcopy
+
+20.2 Format with `tex' and `texindex'
+=====================================
+
+You can format the Texinfo file with the shell command `tex' followed
+by the name of the Texinfo file. For example:
+
+ tex foo.texi
+
+TeX will produce a "DVI file" as well as several auxiliary files
+containing information for indices, cross references, etc. The DVI
+file (for "DeVice Independent" file) can be printed on virtually any
+device (see the following sections).
+
+ The `tex' formatting command itself does not sort the indices; it
+writes an output file of unsorted index data. (The `texi2dvi' command
+automatically generates indices; *note Format with `texi2dvi': Format
+with texi2dvi.) To generate a printed index after running the `tex'
+command, you first need a sorted index to work from. The `texindex'
+command sorts indices. (The source file `texindex.c' comes as part of
+the standard Texinfo distribution, among other places.)
+
+ The `tex' formatting command outputs unsorted index files under names
+that obey a standard convention: the name of your main input file with
+any `.tex' (or similar, *note tex invocation: (web2c)tex invocation.)
+extension removed, followed by the two letter names of indices. For
+example, the raw index output files for the input file `foo.texinfo'
+would be `foo.cp', `foo.vr', `foo.fn', `foo.tp', `foo.pg' and `foo.ky'.
+Those are exactly the arguments to give to `texindex'.
+
+ Instead of specifying all the unsorted index file names explicitly,
+you can use `??' as shell wildcards and give the command in this form:
+
+ texindex foo.??
+
+This command will run `texindex' on all the unsorted index files,
+including any that you have defined yourself using `@defindex' or
+`@defcodeindex'. (You may execute `texindex foo.??' even if there are
+similarly named files with two letter extensions that are not index
+files, such as `foo.el'. The `texindex' command reports but otherwise
+ignores such files.)
+
+ For each file specified, `texindex' generates a sorted index file
+whose name is made by appending `s' to the input file name. The
+`@printindex' command looks for a file with that name (*note Printing
+Indices & Menus::). `texindex' does not alter the raw index output
+file.
+
+ After you have sorted the indices, you need to rerun `tex' on the
+Texinfo file. This regenerates the DVI file, this time with up-to-date
+index entries.
+
+ Finally, you may need to run `tex' one more time, to get the page
+numbers in the cross-references correct.
+
+ To summarize, this is a five step process:
+
+ 1. Run `tex' on your Texinfo file. This generates a DVI file (with
+ undefined cross-references and no indices), and the raw index files
+ (with two letter extensions).
+
+ 2. Run `texindex' on the raw index files. This creates the
+ corresponding sorted index files (with three letter extensions).
+
+ 3. Run `tex' again on your Texinfo file. This regenerates the DVI
+ file, this time with indices and defined cross-references, but
+ with page numbers for the cross-references from last time,
+ generally incorrect.
+
+ 4. Sort the indices again, with `texindex'.
+
+ 5. Run `tex' one last time. This time the correct page numbers are
+ written for the cross-references.
+
+ Alternatively, it's a one-step process: run `texi2dvi' (*note Format
+with texi2dvi::).
+
+ You need not run `texindex' each time after you run `tex'. If you do
+not, on the next run, the `tex' formatting command will use whatever
+sorted index files happen to exist from the previous use of `texindex'.
+This is usually ok while you are debugging.
+
+ Sometimes you may wish to print a document while you know it is
+incomplete, or to print just one chapter of a document. In that case,
+the usual auxiliary files that TeX creates and warnings TeX gives when
+cross-references are not satisfied are just nuisances. You can avoid
+them with the `@novalidate' command, which you must give _before_ the
+`@setfilename' command (*note `@setfilename': setfilename.). Thus, the
+beginning of your file would look approximately like this:
+
+ \input texinfo
+ @novalidate
+ @setfilename myfile.info
+ ...
+
+`@novalidate' also turns off validation in `makeinfo', just like its
+`--no-validate' option (*note Pointer Validation::).
+
+
+File: texinfo.info, Node: Format with texi2dvi, Next: Print with lpr, Prev: Format with tex/texindex, Up: Hardcopy
+
+20.3 Format with `texi2dvi'
+===========================
+
+The `texi2dvi' command automatically runs both TeX and `texindex' as
+many times as necessary to produce a DVI file with sorted indices and
+all cross-references resolved. It is therefore simpler than manually
+executing the `tex'--`texindex'--`tex'--`tex' sequence described in the
+previous section.
+
+ To run `texi2dvi' on an input file `foo.texi', do this (where
+`prompt$ ' is your shell prompt):
+
+ prompt$ texi2dvi foo.texi
+
+ As shown in this example, the input filenames to `texi2dvi' must
+include any extension (`.texi', `.texinfo', etc.). Under MS-DOS and
+perhaps in other circumstances, you may need to run `sh texi2dvi
+foo.texi' instead of relying on the operating system to invoke the
+shell on the `texi2dvi' script.
+
+ Perhaps the most useful option to `texi2dvi' is `--command=CMD'.
+This inserts CMD on a line by itself after the `@setfilename' in a
+temporary copy of the input file before running TeX. With this, you
+can specify different printing formats, such as `@smallbook' (*note
+smallbook::), `@afourpaper' (*note A4 Paper::), or `@pagesizes' (*note
+pagesizes::), without actually changing the document source. (You can
+also do this on a site-wide basis with `texinfo.cnf'; *note Preparing
+for TeX: Preparing for TeX.).
+
+ `texi2dvi' can also be used to process LaTeX files; simply run
+`texi2dvi filename.ext'.
+
+ For a list of other options, run `texi2dvi --help'.
+
+
+File: texinfo.info, Node: Print with lpr, Next: Within Emacs, Prev: Format with texi2dvi, Up: Hardcopy
+
+20.4 Shell Print Using `lpr -d'
+===============================
+
+The precise command to print a DVI file depends on your system
+installation. Two common ones are `dvips foo.dvi -o' and `lpr -d
+foo.dvi'.
+
+ For example, the following commands will (perhaps) suffice to sort the
+indices, format, and print the `Bison Manual':
+
+ tex bison.texinfo
+ texindex bison.??
+ tex bison.texinfo
+ lpr -d bison.dvi
+
+(Remember that the shell commands may be different at your site; but
+these are commonly used versions.)
+
+ Using the `texi2dvi' shell script (see the previous section):
+
+ texi2dvi bison.texinfo
+ lpr -d bison.dvi
+ # or perhaps dvips bison.dvi -o
+
+ `lpr' is a standard program on Unix systems, but it is usually absent
+on MS-DOS/MS-Windows. Some network packages come with a program named
+`lpr', but these are usually limited to sending files to a print server
+over the network, and generally don't support the `-d' option. If you
+are unfortunate enough to work on one of these systems, you have
+several alternative ways of printing DVI files:
+
+ * Find and install a Unix-like `lpr' program, or its clone. If you
+ can do that, you will be able to print DVI files just like
+ described above.
+
+ * Send the DVI files to a network printer queue for DVI files. Some
+ network printers have special queues for printing DVI files. You
+ should be able to set up your network software to send files to
+ that queue. In some cases, the version of `lpr' which comes with
+ your network software will have a special option to send a file to
+ specific queues, like this:
+
+ lpr -Qdvi -hprint.server.domain bison.dvi
+
+ * Convert the DVI file to a Postscript or PCL file and send it to
+ your local printer. *Note Invoking Dvips: (dvips)Invoking Dvips,
+ and the man pages for `dvilj', for detailed description of these
+ tools. Once the DVI file is converted to the format your local
+ printer understands directly, just send it to the appropriate
+ port, usually `PRN'.
+
+
+File: texinfo.info, Node: Within Emacs, Next: Texinfo Mode Printing, Prev: Print with lpr, Up: Hardcopy
+
+20.5 From an Emacs Shell
+========================
+
+You can give formatting and printing commands from a shell within GNU
+Emacs. To create a shell within Emacs, type `M-x shell'. In this
+shell, you can format and print the document. *Note Format and Print
+Hardcopy: Hardcopy, for details.
+
+ You can switch to and from the shell buffer while `tex' is running
+and do other editing. If you are formatting a long document on a slow
+machine, this can be very convenient.
+
+ You can also use `texi2dvi' from an Emacs shell. For example, here
+is how to use `texi2dvi' to format and print `Using and Porting GNU CC'
+from a shell within Emacs:
+
+ texi2dvi gcc.texinfo
+ lpr -d gcc.dvi
+
+ See the next section for more information about formatting and
+printing in Texinfo mode.
+
+
+File: texinfo.info, Node: Texinfo Mode Printing, Next: Compile-Command, Prev: Within Emacs, Up: Hardcopy
+
+20.6 Formatting and Printing in Texinfo Mode
+============================================
+
+Texinfo mode provides several predefined key commands for TeX
+formatting and printing. These include commands for sorting indices,
+looking at the printer queue, killing the formatting job, and
+recentering the display of the buffer in which the operations occur.
+
+`C-c C-t C-b'
+`M-x texinfo-tex-buffer'
+ Run `texi2dvi' on the current buffer.
+
+`C-c C-t C-r'
+`M-x texinfo-tex-region'
+ Run TeX on the current region.
+
+`C-c C-t C-i'
+`M-x texinfo-texindex'
+ Sort the indices of a Texinfo file formatted with
+ `texinfo-tex-region'.
+
+`C-c C-t C-p'
+`M-x texinfo-tex-print'
+ Print a DVI file that was made with `texinfo-tex-region' or
+ `texinfo-tex-buffer'.
+
+`C-c C-t C-q'
+`M-x tex-show-print-queue'
+ Show the print queue.
+
+`C-c C-t C-d'
+`M-x texinfo-delete-from-print-queue'
+ Delete a job from the print queue; you will be prompted for the job
+ number shown by a preceding `C-c C-t C-q' command
+ (`texinfo-show-tex-print-queue').
+
+`C-c C-t C-k'
+`M-x tex-kill-job'
+ Kill the currently running TeX job started by either
+ `texinfo-tex-region' or `texinfo-tex-buffer', or any other process
+ running in the Texinfo shell buffer.
+
+`C-c C-t C-x'
+`M-x texinfo-quit-job'
+ Quit a TeX formatting job that has stopped because of an error by
+ sending an <x> to it. When you do this, TeX preserves a record of
+ what it did in a `.log' file.
+
+`C-c C-t C-l'
+`M-x tex-recenter-output-buffer'
+ Redisplay the shell buffer in which the TeX printing and formatting
+ commands are run to show its most recent output.
+
+ Thus, the usual sequence of commands for formatting a buffer is as
+follows (with comments to the right):
+
+ C-c C-t C-b Run `texi2dvi' on the buffer.
+ C-c C-t C-p Print the DVI file.
+ C-c C-t C-q Display the printer queue.
+
+ The Texinfo mode TeX formatting commands start a subshell in Emacs
+called the `*tex-shell*'. The `texinfo-tex-command',
+`texinfo-texindex-command', and `tex-dvi-print-command' commands are
+all run in this shell.
+
+ You can watch the commands operate in the `*tex-shell*' buffer, and
+you can switch to and from and use the `*tex-shell*' buffer as you
+would any other shell buffer.
+
+ The formatting and print commands depend on the values of several
+variables. The default values are:
+
+ Variable Default value
+
+ texinfo-texi2dvi-command "texi2dvi"
+ texinfo-tex-command "tex"
+ texinfo-texindex-command "texindex"
+ texinfo-delete-from-print-queue-command "lprm"
+ texinfo-tex-trailer "@bye"
+ tex-start-of-header "%**start"
+ tex-end-of-header "%**end"
+ tex-dvi-print-command "lpr -d"
+ tex-show-queue-command "lpq"
+
+ You can change the values of these variables with the `M-x
+set-variable' command (*note Examining and Setting Variables:
+(emacs)Examining.), or with your `.emacs' initialization file (*note
+Init File: (emacs)Init File.).
+
+ Beginning with version 20, GNU Emacs offers a user-friendly interface,
+called "Customize", for changing values of user-definable variables.
+*Note Easy Customization Interface: (emacs)Easy Customization, for more
+details about this. The Texinfo variables can be found in the
+`Development/Docs/Texinfo' group, once you invoke the `M-x customize'
+command.
+
+
+File: texinfo.info, Node: Compile-Command, Next: Requirements Summary, Prev: Texinfo Mode Printing, Up: Hardcopy
+
+20.7 Using the Local Variables List
+===================================
+
+Yet another way to apply the TeX formatting command to a Texinfo file
+is to put that command in a "local variables list" at the end of the
+Texinfo file. You can then specify the `tex' or `texi2dvi' commands as
+a `compile-command' and have Emacs run it by typing `M-x compile'.
+This creates a special shell called the `*compilation*' buffer in which
+Emacs runs the compile command. For example, at the end of the
+`gdb.texinfo' file, after the `@bye', you could put the following:
+
+ Local Variables:
+ compile-command: "texi2dvi gdb.texinfo"
+ End:
+
+This technique is most often used by programmers who also compile
+programs this way; see *Note Compilation: (emacs)Compilation.
+
+
+File: texinfo.info, Node: Requirements Summary, Next: Preparing for TeX, Prev: Compile-Command, Up: Hardcopy
+
+20.8 TeX Formatting Requirements Summary
+========================================
+
+Every Texinfo file that is to be input to TeX must begin with a
+`\input' command and must contain an `@setfilename' command:
+
+ \input texinfo
+ @setfilename ARG-NOT-USED-BY-TEX
+
+The first command instructs TeX to load the macros it needs to process
+a Texinfo file and the second command opens auxiliary files.
+
+ Every Texinfo file must end with a line that terminates TeX's
+processing and forces out unfinished pages:
+
+ @bye
+
+ Strictly speaking, these lines are all a Texinfo file needs to be
+processed successfully by TeX.
+
+ Usually, however, the beginning includes an `@settitle' command to
+define the title of the printed manual, an `@setchapternewpage'
+command, a title page, a copyright page, and permissions. Besides an
+`@bye', the end of a file usually includes indices and a table of
+contents. (And of course most manuals contain a body of text as well.)
+
+ For more information, see:
+
+ * *Note `@settitle': settitle.
+
+ * *Note `@setchapternewpage': setchapternewpage.
+
+ * *Note Page Headings: Headings.
+
+ * *Note Titlepage & Copyright Page::.
+
+ * *Note Printing Indices & Menus::.
+
+ * *Note Contents::.
+
+
+File: texinfo.info, Node: Preparing for TeX, Next: Overfull hboxes, Prev: Requirements Summary, Up: Hardcopy
+
+20.9 Preparing for TeX
+======================
+
+TeX needs to know where to find the `texinfo.tex' file that the `\input
+texinfo' command on the first line reads. The `texinfo.tex' file tells
+TeX how to handle @-commands; it is included in all standard GNU
+distributions. The latest version is always available from the Texinfo
+source repository:
+ `http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/doc/texinfo.tex?rev=HEAD'
+
+ Usually, the installer has put the `texinfo.tex' file in the default
+directory that contains TeX macros when GNU Texinfo, Emacs or other GNU
+software is installed. In this case, TeX will find the file and you do
+not need to do anything special. If this has not been done, you can
+put `texinfo.tex' in the current directory when you run TeX, and TeX
+will find it there.
+
+ Also, you should install `epsf.tex', if it is not already installed
+from another distribution. More details are at the end of the
+description of the `@image' command (*note Images::).
+
+ Likewise for `pdfcolor.tex', if it is not already installed and you
+use pdftex.
+
+ Optionally, you may create an additional `texinfo.cnf', and install
+it as well. This file is read by TeX when the `@setfilename' command
+is executed (*note `@setfilename': setfilename.). You can put any
+commands you like there, according to local site-wide conventions. They
+will be read by TeX when processing any Texinfo document. For example,
+if `texinfo.cnf' contains the line `@afourpaper' (*note A4 Paper::),
+then all Texinfo documents will be processed with that page size in
+effect. If you have nothing to put in `texinfo.cnf', you do not need
+to create it.
+
+ If neither of the above locations for these system files suffice for
+you, you can specify the directories explicitly. For `texinfo.tex',
+you can do this by writing the complete path for the file after the
+`\input' command. Another way, that works for both `texinfo.tex' and
+`texinfo.cnf' (and any other file TeX might read), is to set the
+`TEXINPUTS' environment variable in your `.cshrc' or `.profile' file.
+
+ Which you use of `.cshrc' or `.profile' depends on whether you use a
+Bourne shell-compatible (`sh', `bash', `ksh', ...) or C
+shell-compatible (`csh', `tcsh') command interpreter. The latter read
+the `.cshrc' file for initialization information, and the former read
+`.profile'.
+
+ In a `.cshrc' file, you could use the following `csh' command
+sequence:
+
+ setenv TEXINPUTS .:/home/me/mylib:
+
+ In a `.profile' file, you could use the following `sh' command
+sequence:
+
+ TEXINPUTS=.:/home/me/mylib:
+ export TEXINPUTS
+
+ On MS-DOS/MS-Windows, you would say it like this(1):
+
+ set TEXINPUTS=.;d:/home/me/mylib;c:
+
+It is customary for DOS/Windows users to put such commands in the
+`autoexec.bat' file, or in the Windows Registry.
+
+These settings would cause TeX to look for `\input' file first in the
+current directory, indicated by the `.', then in a hypothetical user
+`me''s `mylib' directory, and finally in the system directories. (A
+leading, trailing, or doubled `:' indicates searching the system
+directories at that point.)
+
+ Finally, you may wish to dump a `.fmt' file (*note Memory dumps:
+(web2c)Memory dumps.) so that TeX can load Texinfo faster. (The
+disadvantage is that then updating `texinfo.tex' requires redumping.)
+You can do this by running this command, assuming `epsf.tex' is
+findable by TeX:
+
+ initex texinfo @dump
+
+ (`dump' is a TeX primitive.) Then, move `texinfo.fmt' to wherever
+your `.fmt' files are found; typically, this will be in the
+subdirectory `web2c' of your TeX installation.
+
+ ---------- Footnotes ----------
+
+ (1) Note the use of the `;' character, instead of `:', as directory
+separator on these systems.
+
+
+File: texinfo.info, Node: Overfull hboxes, Next: smallbook, Prev: Preparing for TeX, Up: Hardcopy
+
+20.10 Overfull "hboxes"
+=======================
+
+TeX is sometimes unable to typeset a line without extending it into the
+right margin. This can occur when TeX comes upon what it interprets as
+a long word that it cannot hyphenate, such as an electronic mail
+network address or a very long title. When this happens, TeX prints an
+error message like this:
+
+ Overfull @hbox (20.76302pt too wide)
+
+(In TeX, lines are in "horizontal boxes", hence the term, "hbox".
+`@hbox' is a TeX primitive not needed in the Texinfo language.)
+
+ TeX also provides the line number in the Texinfo source file and the
+text of the offending line, which is marked at all the places that TeX
+considered hyphenation. *Note Catching Errors with TeX Formatting:
+Debugging with TeX, for more information about typesetting errors.
+
+ If the Texinfo file has an overfull hbox, you can rewrite the sentence
+so the overfull hbox does not occur, or you can decide to leave it. A
+small excursion into the right margin often does not matter and may not
+even be noticeable.
+
+ If you have many overfull boxes and/or an antipathy to rewriting, you
+can coerce TeX into greatly increasing the allowable interword spacing,
+thus (if you're lucky) avoiding many of the bad line breaks, like this:
+
+ @tex
+ \global\emergencystretch = .9\hsize
+ @end tex
+
+(You should adjust the fraction as needed.) This huge value for
+`\emergencystretch' cannot be the default, since then the typeset
+output would generally be of noticeably lower quality; the default is
+`.15\hsize'. `\hsize' is the TeX dimension containing the current line
+width.
+
+ For what overfull boxes you have, however, TeX will print a large,
+ugly, black rectangle beside the line that contains the overfull hbox
+unless told otherwise. This is so you will notice the location of the
+problem if you are correcting a draft.
+
+ To prevent such a monstrosity from marring your final printout, write
+the following in the beginning of the Texinfo file on a line of its own,
+before the `@titlepage' command:
+
+ @finalout
+
+
+File: texinfo.info, Node: smallbook, Next: A4 Paper, Prev: Overfull hboxes, Up: Hardcopy
+
+20.11 Printing "Small" Books
+============================
+
+By default, TeX typesets pages for printing in an 8.5 by 11 inch
+format. However, you can direct TeX to typeset a document in a 7 by
+9.25 inch format that is suitable for bound books by inserting the
+following command on a line by itself at the beginning of the Texinfo
+file, before the title page:
+
+ @smallbook
+
+(Since many books are about 7 by 9.25 inches, this command might better
+have been called the `@regularbooksize' command, but it came to be
+called the `@smallbook' command by comparison to the 8.5 by 11 inch
+format.)
+
+ If you write the `@smallbook' command between the start-of-header and
+end-of-header lines, the Texinfo mode TeX region formatting command,
+`texinfo-tex-region', will format the region in "small" book size
+(*note Start of Header::).
+
+ *Note small::, for information about commands that make it easier to
+produce examples for a smaller manual.
+
+ *Note Format with texi2dvi::, and *Note Preparing for TeX: Preparing
+for TeX, for other ways to format with `@smallbook' that do not require
+changing the source file.
+
+
+File: texinfo.info, Node: A4 Paper, Next: pagesizes, Prev: smallbook, Up: Hardcopy
+
+20.12 Printing on A4 Paper
+==========================
+
+You can tell TeX to format a document for printing on European size A4
+paper (or A5) with the `@afourpaper' (or `@afivepaper') command. Write
+the command on a line by itself near the beginning of the Texinfo file,
+before the title page. For example, this is how you would write the
+header for this manual:
+
+ \input texinfo @c -*-texinfo-*-
+ @c %**start of header
+ @setfilename texinfo
+ @settitle Texinfo
+ @afourpaper
+ @c %**end of header
+
+ *Note Format with texi2dvi::, and *Note Preparing for TeX: Preparing
+for TeX, for other ways to format for different paper sizes that do not
+require changing the source file.
+
+ You may or may not prefer the formatting that results from the command
+`@afourlatex'. There's also `@afourwide' for A4 paper in wide format.
+
+
+File: texinfo.info, Node: pagesizes, Next: Cropmarks and Magnification, Prev: A4 Paper, Up: Hardcopy
+
+20.13 `@pagesizes' [WIDTH][, HEIGHT]: Custom Page Sizes
+=======================================================
+
+You can explicitly specify the height and (optionally) width of the main
+text area on the page with the `@pagesizes' command. Write this on a
+line by itself near the beginning of the Texinfo file, before the title
+page. The height comes first, then the width if desired, separated by
+a comma. Examples:
+
+ @pagesizes 200mm,150mm
+ and
+ @pagesizes 11.5in
+
+ This would be reasonable for printing on B5-size paper. To emphasize,
+this command specifies the size of the _text area_, not the size of the
+paper (which is 250mm by 177mm for B5, 14in by 8.5in for legal).
+
+ To make more elaborate changes, such as changing any of the page
+margins, you must define a new command in `texinfo.tex' (or
+`texinfo.cnf', *note Preparing for TeX: Preparing for TeX.).
+
+ *Note Format with texi2dvi::, and *Note Preparing for TeX: Preparing
+for TeX, for other ways to specify `@pagesizes' that do not require
+changing the source file.
+
+ `@pagesizes' is ignored by `makeinfo'.
+
+
+File: texinfo.info, Node: Cropmarks and Magnification, Next: PDF Output, Prev: pagesizes, Up: Hardcopy
+
+20.14 Cropmarks and Magnification
+=================================
+
+You can (attempt to) direct TeX to print cropmarks at the corners of
+pages with the `@cropmarks' command. Write the `@cropmarks' command on
+a line by itself between `@iftex' and `@end iftex' lines near the
+beginning of the Texinfo file, before the title page, like this:
+
+ @iftex
+ @cropmarks
+ @end iftex
+
+ This command is mainly for printers that typeset several pages on one
+sheet of film; but you can attempt to use it to mark the corners of a
+book set to 7 by 9.25 inches with the `@smallbook' command. (Printers
+will not produce cropmarks for regular sized output that is printed on
+regular sized paper.) Since different printing machines work in
+different ways, you should explore the use of this command with a
+spirit of adventure. You may have to redefine the command in
+`texinfo.tex'.
+
+ You can attempt to direct TeX to typeset pages larger or smaller than
+usual with the `\mag' TeX command. Everything that is typeset is
+scaled proportionally larger or smaller. (`\mag' stands for
+"magnification".) This is _not_ a Texinfo @-command, but is a plain
+TeX command that is prefixed with a backslash. You have to write this
+command between `@tex' and `@end tex' (*note Raw Formatter Commands::).
+
+ Follow the `\mag' command with an `=' and then a number that is 1000
+times the magnification you desire. For example, to print pages at 1.2
+normal size, write the following near the beginning of the Texinfo
+file, before the title page:
+
+ @tex
+ \mag=1200
+ @end tex
+
+ With some printing technologies, you can print normal-sized copies
+that look better than usual by giving a larger-than-normal master to
+your print shop. They do the reduction, thus effectively increasing the
+resolution.
+
+ Depending on your system, DVI files prepared with a
+nonstandard-`\mag' may not print or may print only with certain
+magnifications. Be prepared to experiment.
+
+
+File: texinfo.info, Node: PDF Output, Next: Obtaining TeX, Prev: Cropmarks and Magnification, Up: Hardcopy
+
+20.15 PDF Output
+================
+
+You can generate a PDF output file from Texinfo source by using the
+`pdftex' program to process your file instead of plain `tex'. That is,
+run `pdftex foo.texi' instead of `tex foo.texi', or give the `--pdf'
+option to `texi2dvi'.
+
+ "PDF" stands for `Portable Document Format'. It was invented by Adobe
+Systems some years ago for document interchange, based on their
+PostScript language. A PDF reader (http://www.foolabs.com/xpdf/) for
+the X window system is freely available, as is the definition of the
+file format (http://partners.adobe.com/asn/developer/technotes/). At
+present, there are no `@ifpdf' or `@pdf' commands as with the other
+output formats.
+
+ Despite the `portable' in the name, PDF files are nowhere near as
+portable in practice as the plain ASCII formats (Info, HTML) that
+Texinfo supports (DVI portability is arguable). They also tend to be
+much larger. Nevertheless, a PDF file does preserve an actual printed
+document on a screen as faithfully as possible, so it has its place.
+
+
+File: texinfo.info, Node: Obtaining TeX, Prev: PDF Output, Up: Hardcopy
+
+20.16 How to Obtain TeX
+=======================
+
+TeX is freely redistributable. You can obtain TeX for Unix systems via
+anonymous ftp or on physical media. The core material consists of the
+Web2c TeX distribution (`http://tug.org/web2c').
+
+ Instructions for retrieval by anonymous ftp and information on other
+available distributions: `http://tug.org/unixtex.ftp'.
+
+ The Free Software Foundation provides a core distribution on its
+Source Code CD-ROM suitable for printing Texinfo manuals. To order it,
+contact:
+
+ Free Software Foundation, Inc.
+ 59 Temple Place Suite 330
+ Boston, MA 02111-1307
+ USA
+ Telephone: +1-617-542-5942
+ Fax: (including Japan) +1-617-542-2652
+ Free Dial Fax (in Japan):
+ 0031-13-2473 (KDD)
+ 0066-3382-0158 (IDC)
+ Electronic mail: `gnu@gnu.org'
+
+ Many other TeX distributions are available; see `http://tug.org/'.
+
+
+File: texinfo.info, Node: Creating and Installing Info Files, Next: Generating HTML, Prev: Hardcopy, Up: Top
+
+21 Creating and Installing Info Files
+*************************************
+
+This chapter describes how to create and install Info files. *Note
+Info Files::, for general information about the file format itself.
+
+* Menu:
+
+* Creating an Info File::
+* Installing an Info File::
+
+
+File: texinfo.info, Node: Creating an Info File, Next: Installing an Info File, Up: Creating and Installing Info Files
+
+21.1 Creating an Info File
+==========================
+
+`makeinfo' is a program that converts a Texinfo file into an Info file,
+HTML file, or plain text. `texinfo-format-region' and
+`texinfo-format-buffer' are GNU Emacs functions that convert Texinfo to
+Info.
+
+ For information on installing the Info file in the Info system, *note
+Installing an Info File::.
+
+* Menu:
+
+* makeinfo advantages:: `makeinfo' provides better error checking.
+* Invoking makeinfo:: How to run `makeinfo' from a shell.
+* makeinfo options:: Specify fill-column and other options.
+* Pointer Validation:: How to check that pointers point somewhere.
+* makeinfo in Emacs:: How to run `makeinfo' from Emacs.
+* texinfo-format commands:: Two Info formatting commands written
+ in Emacs Lisp are an alternative
+ to `makeinfo'.
+* Batch Formatting:: How to format for Info in Emacs Batch mode.
+* Tag and Split Files:: How tagged and split files help Info
+ to run better.
+
+
+File: texinfo.info, Node: makeinfo advantages, Next: Invoking makeinfo, Up: Creating an Info File
+
+21.1.1 `makeinfo' Preferred
+---------------------------
+
+The `makeinfo' utility creates an Info file from a Texinfo source file
+more quickly than either of the Emacs formatting commands and provides
+better error messages. We recommend it. `makeinfo' is a C program
+that is independent of Emacs. You do not need to run Emacs to use
+`makeinfo', which means you can use `makeinfo' on machines that are too
+small to run Emacs. You can run `makeinfo' in any one of three ways:
+from an operating system shell, from a shell inside Emacs, or by typing
+the `C-c C-m C-r' or the `C-c C-m C-b' command in Texinfo mode in Emacs.
+
+ The `texinfo-format-region' and the `texinfo-format-buffer' commands
+are useful if you cannot run `makeinfo'. Also, in some circumstances,
+they format short regions or buffers more quickly than `makeinfo'.
+
+
+File: texinfo.info, Node: Invoking makeinfo, Next: makeinfo options, Prev: makeinfo advantages, Up: Creating an Info File
+
+21.1.2 Running `makeinfo' from a Shell
+--------------------------------------
+
+To create an Info file from a Texinfo file, invoke `makeinfo' followed
+by the name of the Texinfo file. Thus, to create the Info file for
+Bison, type the following to the shell:
+
+ makeinfo bison.texinfo
+
+ (You can run a shell inside Emacs by typing `M-x shell'.)
+
+ `makeinfo' has many options to control its actions and output; see
+the next section.
+
+
+File: texinfo.info, Node: makeinfo options, Next: Pointer Validation, Prev: Invoking makeinfo, Up: Creating an Info File
+
+21.1.3 Options for `makeinfo'
+-----------------------------
+
+The `makeinfo' program accepts many options. Perhaps the most commonly
+needed are those that change the output format. By default, `makeinfo'
+outputs Info files.
+
+ Each command line option is a word preceded by `--' or a letter
+preceded by `-'. You can use abbreviations for the long option names
+as long as they are unique.
+
+ For example, you could use the following shell command to create an
+Info file for `bison.texinfo' in which each line is filled to only 68
+columns:
+
+ makeinfo --fill-column=68 bison.texinfo
+
+ You can write two or more options in sequence, like this:
+
+ makeinfo --no-split --fill-column=70 ...
+
+This would keep the Info file together as one possibly very long file
+and would also set the fill column to 70.
+
+ The options are:
+
+`-D VAR'
+ Cause the variable VAR to be defined. This is equivalent to `@set
+ VAR' in the Texinfo file (*note set clear value::).
+
+`--commands-in-node-names'
+ Allow `@'-commands in node names. This is not recommended, as it
+ can probably never be implemented in TeX. It also makes
+ `makeinfo' much slower. Also, this option is ignored when
+ `--no-validate' is used. *Note Pointer Validation::, for more
+ details.
+
+`--css-include=FILE'
+ Include the contents of FILE, which should contain cascading style
+ sheets specifications, in the `<style>' block of the HTML output.
+ *Note HTML CSS::. If FILE is `-', read standard input.
+
+`--docbook'
+ Generate Docbook output rather than Info.
+
+`--enable-encoding'
+ Output accented and special characters in Info or plain text output
+ based on `@documentencoding'. *Note `documentencoding':
+ documentencoding, and *Note Inserting Accents::.
+
+`--error-limit=LIMIT'
+`-e LIMIT'
+ Set the maximum number of errors that `makeinfo' will report
+ before exiting (on the assumption that continuing would be
+ useless); default 100.
+
+`--fill-column=WIDTH'
+`-f WIDTH'
+ Specify the maximum number of columns in a line; this is the
+ right-hand edge of a line. Paragraphs that are filled will be
+ filled to this width. (Filling is the process of breaking up and
+ connecting lines so that lines are the same length as or shorter
+ than the number specified as the fill column. Lines are broken
+ between words.) The default value is 72. Ignored with `--html'.
+
+`--footnote-style=STYLE'
+`-s STYLE'
+ Set the footnote style to STYLE, either `end' for the end node
+ style (the default) or `separate' for the separate node style.
+ The value set by this option overrides the value set in a Texinfo
+ file by an `@footnotestyle' command (*note Footnotes::). When the
+ footnote style is `separate', `makeinfo' makes a new node
+ containing the footnotes found in the current node. When the
+ footnote style is `end', `makeinfo' places the footnote references
+ at the end of the current node. Ignored with `--html'.
+
+`--force'
+`-F'
+ Ordinarily, if the input file has errors, the output files are not
+ created. With this option, they are preserved.
+
+`--help'
+`-h'
+ Print a usage message listing all available options, then exit
+ successfully.
+
+`--html'
+ Generate HTML output rather than Info. *Note Generating HTML::.
+ By default, the HTML output is split into one output file per
+ Texinfo source node, and the split output is written into a
+ subdirectory with the name of the top-level info file.
+
+`-I DIR'
+ Append DIR to the directory search list for finding files that are
+ included using the `@include' command. By default, `makeinfo'
+ searches only the current directory. If DIR is not given, the
+ current directory `.' is appended. Note that DIR can actually be
+ a list of several directories separated by the usual path
+ separator character (`:' on Unix, `;' on MS-DOS/MS-Windows).
+
+`--ifdocbook'
+`--ifhtml'
+`--ifinfo'
+`--ifplaintext'
+`--iftex'
+`--ifxml'
+ For the specified format, process `@ifFORMAT' and `@FORMAT'
+ commands even if not generating the given output format. For
+ instance, if `--iftex' is specified, then `@iftex' and `@tex'
+ blocks will be read. This can be useful when postprocessing the
+ output.
+
+`--macro-expand=FILE'
+`-E FILE'
+ Output the Texinfo source with all the macros expanded to the named
+ file. Normally, the results of macro expansion are used
+ internally by `makeinfo' and then discarded. This option is used
+ by `texi2dvi'.
+
+`--no-headers'
+ For Info output, do not include menus or node separator lines in
+ the output, and implicitly `--enable-encoding' (see above). This
+ results in a simple plain text file that you can (for example)
+ send in email without complications, or include in a distribution
+ (as in an `INSTALL' file).
+
+ For HTML output, likewise omit menus. And if `--no-split' is also
+ specified, do not include a navigation links at the top of each
+ node (these are never included in the default case of split
+ output). *Note Generating HTML::.
+
+ In both cases, ignore `@setfilename' and write to standard output
+ by default--can be overridden with `-o'.
+
+`--no-ifdocbook'
+`--no-ifhtml'
+`--no-ifinfo'
+`--no-ifplaintext'
+`--no-iftex'
+`--no-ifxml'
+ Do not process `@ifFORMAT' and `@FORMAT' commands even if
+ generating the given format. For instance, if `--no-ifhtml' is
+ specified, then `@ifhtml' and `@html' blocks will not be read.
+
+`--no-split'
+ Suppress the splitting stage of `makeinfo'. By default, large
+ output files (where the size is greater than 70k bytes) are split
+ into smaller subfiles. For Info output, each one is approximately
+ 50k bytes. For HTML output, each file contains one node (*note
+ Generating HTML::).
+
+`--no-pointer-validate'
+`--no-validate'
+ Suppress the pointer-validation phase of `makeinfo'. This can also
+ be done with the `@novalidate' command (*note Use TeX: Use TeX.).
+ Normally, after a Texinfo file is processed, some consistency
+ checks are made to ensure that cross references can be resolved,
+ etc. *Note Pointer Validation::.
+
+`--no-warn'
+ Suppress warning messages (but _not_ error messages). You might
+ want this if the file you are creating has examples of Texinfo
+ cross references within it, and the nodes that are referenced do
+ not actually exist.
+
+`--number-sections'
+ Output chapter, section, and appendix numbers as in printed
+ manuals.
+
+`--no-number-footnotes'
+ Suppress automatic footnote numbering. By default, `makeinfo'
+ numbers each footnote sequentially in a single node, resetting the
+ current footnote number to 1 at the start of each node.
+
+`--output=FILE'
+`-o FILE'
+ Specify that the output should be directed to FILE and not to the
+ file name specified in the `@setfilename' command found in the
+ Texinfo source (*note setfilename::). If FILE is `-', output goes
+ to standard output and `--no-split' is implied. For split HTML
+ output, FILE is the name for the directory into which all HTML
+ nodes are written (*note Generating HTML::).
+
+`-P DIR'
+ Prepend DIR to the directory search list for `@include'. If DIR
+ is not given, the current directory `.' is prepended. See `-I'
+ for more details.
+
+`--paragraph-indent=INDENT'
+`-p INDENT'
+ Set the paragraph indentation style to INDENT. The value set by
+ this option overrides the value set in a Texinfo file by an
+ `@paragraphindent' command (*note paragraphindent::). The value
+ of INDENT is interpreted as follows:
+
+ `asis'
+ Preserve any existing indentation at the starts of paragraphs.
+
+ `0' or `none'
+ Delete any existing indentation.
+
+ NUM
+ Indent each paragraph by NUM spaces.
+
+`--reference-limit=LIMIT'
+`-r LIMIT'
+ Set the value of the number of references to a node that
+ `makeinfo' will make without reporting a warning. If a node has
+ more than this number of references in it, `makeinfo' will make the
+ references but also report a warning. The default is 1000.
+
+`--split-size=NUM'
+ Keep Info files to at most NUM characters; default is 300,000.
+
+`-U VAR'
+ Cause VAR to be undefined. This is equivalent to `@clear VAR' in
+ the Texinfo file (*note set clear value::).
+
+`--verbose'
+ Cause `makeinfo' to display messages saying what it is doing.
+ Normally, `makeinfo' only outputs messages if there are errors or
+ warnings.
+
+`--version'
+`-V'
+ Print the version number, then exit successfully.
+
+`--xml'
+ Generate XML output rather than Info.
+
+
+ `makeinfo' also reads the environment variable
+`TEXINFO_OUTPUT_FORMAT' to determine the output format, if not
+overridden by a command line option. The possible values are:
+
+ docbook html info plaintext xml
+
+ If not set, Info output is the default.
+
+
+File: texinfo.info, Node: Pointer Validation, Next: makeinfo in Emacs, Prev: makeinfo options, Up: Creating an Info File
+
+21.1.4 Pointer Validation
+-------------------------
+
+If you do not suppress pointer validation with the `--no-validate'
+option or the `@novalidate' command in the source file (*note Use TeX:
+Use TeX.), `makeinfo' will check the validity of the final Info file.
+Mostly, this means ensuring that nodes you have referenced really
+exist. Here is a complete list of what is checked:
+
+ 1. If a `Next', `Previous', or `Up' node reference is a reference to a
+ node in the current file and is not an external reference such as
+ to `(dir)', then the referenced node must exist.
+
+ 2. In every node, if the `Previous' node is different from the `Up'
+ node, then the node pointed to by the `Previous' field must have a
+ `Next' field which points back to this node.
+
+ 3. Every node except the `Top' node must have an `Up' pointer.
+
+ 4. The node referenced by an `Up' pointer must itself reference the
+ current node through a menu item, unless the node referenced by
+ `Up' has the form `(FILE)'.
+
+ 5. If the `Next' reference of a node is not the same as the `Next'
+ reference of the `Up' reference, then the node referenced by the
+ `Next' pointer must have a `Previous' pointer that points back to
+ the current node. This rule allows the last node in a section to
+ point to the first node of the next chapter.
+
+ 6. Every node except `Top' should be referenced by at least one other
+ node, either via the `Previous' or `Next' links, or via a menu or a
+ cross-reference.
+
+ Some Texinfo documents might fail during the validation phase because
+they use commands like `@value' and `@definfoenclose' in node
+definitions and cross-references inconsistently. Consider the
+following example:
+
+ @set nodename Node 1
+
+ @node @value{nodename}, Node 2, Top, Top
+
+ This is node 1.
+
+ @node Node 2, , Node 1, Top
+
+ This is node 2.
+
+Here, the node "Node 1" was referenced both verbatim and through
+`@value'.
+
+ By default, `makeinfo' fails such cases, because node names are not
+fully expanded until they are written to the output file. You should
+always try to reference nodes consistently; e.g., in the above example,
+the second `@node' line should have also used `@value'. However, if,
+for some reason, you _must_ reference node names inconsistently, and
+`makeinfo' fails to validate the file, you can use the
+`--commands-in-node-names' option to force `makeinfo' to perform the
+expensive expansion of all node names it finds in the document. This
+might considerably slow down the program, though; twofold increase in
+conversion time was measured for large documents such as the Jargon
+file.
+
+ The support for `@'-commands in `@node' directives is not general
+enough to be freely used. For example, if the example above redefined
+`nodename' somewhere in the document, `makeinfo' will fail to convert
+it, even if invoked with the `--commands-in-node-names' option.
+
+ `--commands-in-node-names' has no effect if the `--no-validate'
+option is given.
+
+
+File: texinfo.info, Node: makeinfo in Emacs, Next: texinfo-format commands, Prev: Pointer Validation, Up: Creating an Info File
+
+21.1.5 Running `makeinfo' Within Emacs
+--------------------------------------
+
+You can run `makeinfo' in GNU Emacs Texinfo mode by using either the
+`makeinfo-region' or the `makeinfo-buffer' commands. In Texinfo mode,
+the commands are bound to `C-c C-m C-r' and `C-c C-m C-b' by default.
+
+`C-c C-m C-r'
+`M-x makeinfo-region'
+ Format the current region for Info.
+
+`C-c C-m C-b'
+`M-x makeinfo-buffer'
+ Format the current buffer for Info.
+
+ When you invoke `makeinfo-region' the output goes to a temporary
+buffer. When you invoke `makeinfo-buffer' output goes to the file set
+with `@setfilename' (*note setfilename::).
+
+ The Emacs `makeinfo-region' and `makeinfo-buffer' commands run the
+`makeinfo' program in a temporary shell buffer. If `makeinfo' finds
+any errors, Emacs displays the error messages in the temporary buffer.
+
+ You can parse the error messages by typing `C-x `' (`next-error').
+This causes Emacs to go to and position the cursor on the line in the
+Texinfo source that `makeinfo' thinks caused the error. *Note Running
+`make' or Compilers Generally: (emacs)Compilation, for more information
+about using the `next-error' command.
+
+ In addition, you can kill the shell in which the `makeinfo' command
+is running or make the shell buffer display its most recent output.
+
+`C-c C-m C-k'
+`M-x makeinfo-kill-job'
+ Kill the current running `makeinfo' job (from `makeinfo-region' or
+ `makeinfo-buffer').
+
+`C-c C-m C-l'
+`M-x makeinfo-recenter-output-buffer'
+ Redisplay the `makeinfo' shell buffer to display its most recent
+ output.
+
+(Note that the parallel commands for killing and recentering a TeX job
+are `C-c C-t C-k' and `C-c C-t C-l'. *Note Texinfo Mode Printing::.)
+
+ You can specify options for `makeinfo' by setting the
+`makeinfo-options' variable with either the `M-x customize' or the `M-x
+set-variable' command, or by setting the variable in your `.emacs'
+initialization file.
+
+ For example, you could write the following in your `.emacs' file:
+
+ (setq makeinfo-options
+ "--paragraph-indent=0 --no-split
+ --fill-column=70 --verbose")
+
+For more information, see
+*Note Easy Customization Interface: (emacs)Easy Customization,
+*Note Examining and Setting Variables: (emacs)Examining,
+*Note Init File: (emacs)Init File, and
+*Note Options for `makeinfo': makeinfo options.
+
+
+File: texinfo.info, Node: texinfo-format commands, Next: Batch Formatting, Prev: makeinfo in Emacs, Up: Creating an Info File
+
+21.1.6 The `texinfo-format...' Commands
+---------------------------------------
+
+In GNU Emacs in Texinfo mode, you can format part or all of a Texinfo
+file with the `texinfo-format-region' command. This formats the
+current region and displays the formatted text in a temporary buffer
+called `*Info Region*'.
+
+ Similarly, you can format a buffer with the `texinfo-format-buffer'
+command. This command creates a new buffer and generates the Info file
+in it. Typing `C-x C-s' will save the Info file under the name
+specified by the `@setfilename' line which must be near the beginning
+of the Texinfo file.
+
+`C-c C-e C-r'
+``texinfo-format-region''
+ Format the current region for Info.
+
+`C-c C-e C-b'
+``texinfo-format-buffer''
+ Format the current buffer for Info.
+
+ The `texinfo-format-region' and `texinfo-format-buffer' commands
+provide you with some error checking, and other functions can provide
+you with further help in finding formatting errors. These procedures
+are described in an appendix; see *Note Catching Mistakes::. However,
+the `makeinfo' program is often faster and provides better error
+checking (*note makeinfo in Emacs::).
+
+
+File: texinfo.info, Node: Batch Formatting, Next: Tag and Split Files, Prev: texinfo-format commands, Up: Creating an Info File
+
+21.1.7 Batch Formatting
+-----------------------
+
+You can format Texinfo files for Info using `batch-texinfo-format' and
+Emacs Batch mode. You can run Emacs in Batch mode from any shell,
+including a shell inside of Emacs. (*Note Command Arguments:
+(emacs)Command Arguments.)
+
+ Here is a shell command to format all the files that end in
+`.texinfo' in the current directory:
+
+ emacs -batch -funcall batch-texinfo-format *.texinfo
+
+Emacs processes all the files listed on the command line, even if an
+error occurs while attempting to format some of them.
+
+ Run `batch-texinfo-format' only with Emacs in Batch mode as shown; it
+is not interactive. It kills the Batch mode Emacs on completion.
+
+ `batch-texinfo-format' is convenient if you lack `makeinfo' and want
+to format several Texinfo files at once. When you use Batch mode, you
+create a new Emacs process. This frees your current Emacs, so you can
+continue working in it. (When you run `texinfo-format-region' or
+`texinfo-format-buffer', you cannot use that Emacs for anything else
+until the command finishes.)
+
+
+File: texinfo.info, Node: Tag and Split Files, Prev: Batch Formatting, Up: Creating an Info File
+
+21.1.8 Tag Files and Split Files
+--------------------------------
+
+If a Texinfo file has more than 30,000 bytes, `texinfo-format-buffer'
+automatically creates a tag table for its Info file; `makeinfo' always
+creates a tag table. With a "tag table", Info can jump to new nodes
+more quickly than it can otherwise.
+
+ In addition, if the Texinfo file contains more than about 300,000
+bytes, `texinfo-format-buffer' and `makeinfo' split the large Info file
+into shorter "indirect" subfiles of about 300,000 bytes each. Big
+files are split into smaller files so that Emacs does not need to make
+a large buffer to hold the whole of a large Info file; instead, Emacs
+allocates just enough memory for the small, split-off file that is
+needed at the time. This way, Emacs avoids wasting memory when you run
+Info. (Before splitting was implemented, Info files were always kept
+short and "include files" were designed as a way to create a single,
+large printed manual out of the smaller Info files. *Note Include
+Files::, for more information. Include files are still used for very
+large documents, such as `The Emacs Lisp Reference Manual', in which
+each chapter is a separate file.)
+
+ When a file is split, Info itself makes use of a shortened version of
+the original file that contains just the tag table and references to
+the files that were split off. The split-off files are called
+"indirect" files.
+
+ The split-off files have names that are created by appending `-1',
+`-2', `-3' and so on to the file name specified by the `@setfilename'
+command. The shortened version of the original file continues to have
+the name specified by `@setfilename'.
+
+ At one stage in writing this document, for example, the Info file was
+saved as the file `test-texinfo' and that file looked like this:
+
+ Info file: test-texinfo, -*-Text-*-
+ produced by texinfo-format-buffer
+ from file: new-texinfo-manual.texinfo
+
+ ^_
+ Indirect:
+ test-texinfo-1: 102
+ test-texinfo-2: 50422
+ test-texinfo-3: 101300
+ ^_^L
+ Tag table:
+ (Indirect)
+ Node: overview^?104
+ Node: info file^?1271
+ Node: printed manual^?4853
+ Node: conventions^?6855
+ ...
+
+(But `test-texinfo' had far more nodes than are shown here.) Each of
+the split-off, indirect files, `test-texinfo-1', `test-texinfo-2', and
+`test-texinfo-3', is listed in this file after the line that says
+`Indirect:'. The tag table is listed after the line that says `Tag
+table:'.
+
+ In the list of indirect files, the number following the file name
+records the cumulative number of bytes in the preceding indirect files,
+not counting the file list itself, the tag table, or the permissions
+text in each file. In the tag table, the number following the node name
+records the location of the beginning of the node, in bytes from the
+beginning of the (unsplit) output.
+
+ If you are using `texinfo-format-buffer' to create Info files, you
+may want to run the `Info-validate' command. (The `makeinfo' command
+does such a good job on its own, you do not need `Info-validate'.)
+However, you cannot run the `M-x Info-validate' node-checking command
+on indirect files. For information on how to prevent files from being
+split and how to validate the structure of the nodes, see *Note Using
+Info-validate::.
+
+
+File: texinfo.info, Node: Installing an Info File, Prev: Creating an Info File, Up: Creating and Installing Info Files
+
+21.2 Installing an Info File
+============================
+
+Info files are usually kept in the `info' directory. You can read Info
+files using the standalone Info program or the Info reader built into
+Emacs. (*note info: (info)Top, for an introduction to Info.)
+
+* Menu:
+
+* Directory File:: The top level menu for all Info files.
+* New Info File:: Listing a new Info file.
+* Other Info Directories:: How to specify Info files that are
+ located in other directories.
+* Installing Dir Entries:: How to specify what menu entry to add
+ to the Info directory.
+* Invoking install-info:: `install-info' options.
+
+
+File: texinfo.info, Node: Directory File, Next: New Info File, Up: Installing an Info File
+
+21.2.1 The Directory File `dir'
+-------------------------------
+
+For Info to work, the `info' directory must contain a file that serves
+as a top level directory for the Info system. By convention, this file
+is called `dir'. (You can find the location of this file within Emacs
+by typing `C-h i' to enter Info and then typing `C-x C-f' to see the
+pathname to the `info' directory.)
+
+ The `dir' file is itself an Info file. It contains the top level
+menu for all the Info files in the system. The menu looks like this:
+
+ * Menu:
+ * Info: (info). Documentation browsing system.
+ * Emacs: (emacs). The extensible, self-documenting
+ text editor.
+ * Texinfo: (texinfo). With one source file, make
+ either a printed manual using
+ @TeX{} or an Info file.
+ ...
+
+ Each of these menu entries points to the `Top' node of the Info file
+that is named in parentheses. (The menu entry does not need to specify
+the `Top' node, since Info goes to the `Top' node if no node name is
+mentioned. *Note Nodes in Other Info Files: Other Info Files.)
+
+ Thus, the `Info' entry points to the `Top' node of the `info' file
+and the `Emacs' entry points to the `Top' node of the `emacs' file.
+
+ In each of the Info files, the `Up' pointer of the `Top' node refers
+back to the `dir' file. For example, the line for the `Top' node of
+the Emacs manual looks like this in Info:
+
+ File: emacs Node: Top, Up: (DIR), Next: Distrib
+
+In this case, the `dir' file name is written in upper case letters--it
+can be written in either upper or lower case. This is not true in
+general, it is a special case for `dir'.
+
+
+File: texinfo.info, Node: New Info File, Next: Other Info Directories, Prev: Directory File, Up: Installing an Info File
+
+21.2.2 Listing a New Info File
+------------------------------
+
+To add a new Info file to your system, you must write a menu entry to
+add to the menu in the `dir' file in the `info' directory. For
+example, if you were adding documentation for GDB, you would write the
+following new entry:
+
+ * GDB: (gdb). The source-level C debugger.
+
+The first part of the menu entry is the menu entry name, followed by a
+colon. The second part is the name of the Info file, in parentheses,
+followed by a period. The third part is the description.
+
+ The name of an Info file often has a `.info' extension. Thus, the
+Info file for GDB might be called either `gdb' or `gdb.info'. The Info
+reader programs automatically try the file name both with and without
+`.info'(1); so it is better to avoid clutter and not to write `.info'
+explicitly in the menu entry. For example, the GDB menu entry should
+use just `gdb' for the file name, not `gdb.info'.
+
+ ---------- Footnotes ----------
+
+ (1) On MS-DOS/MS-Windows systems, Info will try the `.inf' extension
+as well.
+
+
+File: texinfo.info, Node: Other Info Directories, Next: Installing Dir Entries, Prev: New Info File, Up: Installing an Info File
+
+21.2.3 Info Files in Other Directories
+--------------------------------------
+
+If an Info file is not in the `info' directory, there are three ways to
+specify its location:
+
+ 1. Write the pathname in the `dir' file as the second part of the
+ menu.
+
+ 2. If you are using Emacs, list the name of the file in a second `dir'
+ file, in its directory; and then add the name of that directory to
+ the `Info-directory-list' variable in your personal or site
+ initialization file.
+
+ This variable tells Emacs where to look for `dir' files (the files
+ must be named `dir'). Emacs merges the files named `dir' from
+ each of the listed directories. (In Emacs version 18, you can set
+ the `Info-directory' variable to the name of only one directory.)
+
+ 3. Specify the Info directory name in the `INFOPATH' environment
+ variable in your `.profile' or `.cshrc' initialization file.
+ (Only you and others who set this environment variable will be
+ able to find Info files whose location is specified this way.)
+
+ For example, to reach a test file in the `/home/bob/info' directory,
+you could add an entry like this to the menu in the standard `dir' file:
+
+ * Test: (/home/bob/info/info-test). Bob's own test file.
+
+In this case, the absolute file name of the `info-test' file is written
+as the second part of the menu entry.
+
+ Alternatively, you could write the following in your `.emacs' file:
+
+ (require 'info)
+ (setq Info-directory-list
+ (cons (expand-file-name "/home/bob/info")
+ Info-directory-list))
+
+ This tells Emacs to merge the system `dir' file with the `dir' file
+in `/home/bob/info'. Thus, Info will list the
+`/home/bob/info/info-test' file as a menu entry in the
+`/home/bob/info/dir' file. Emacs does the merging only when `M-x info'
+is first run, so if you want to set `Info-directory-list' in an Emacs
+session where you've already run `info', you must `(setq
+Info-dir-contents nil)' to force Emacs to recompose the `dir' file.
+
+ Finally, you can tell Info where to look by setting the `INFOPATH'
+environment variable in your shell startup file, such as `.cshrc',
+`.profile' or `autoexec.bat'. If you use a Bourne-compatible shell
+such as `sh' or `bash' for your shell command interpreter, you set the
+`INFOPATH' environment variable in the `.profile' initialization file;
+but if you use `csh' or `tcsh', you set the variable in the `.cshrc'
+initialization file. On MS-DOS/MS-Windows systems, you must set
+`INFOPATH' in your `autoexec.bat' file or in the Registry. Each type
+of shell uses a different syntax.
+
+ * In a `.cshrc' file, you could set the `INFOPATH' variable as
+ follows:
+
+ setenv INFOPATH .:~/info:/usr/local/emacs/info
+
+ * In a `.profile' file, you would achieve the same effect by writing:
+
+ INFOPATH=.:$HOME/info:/usr/local/emacs/info
+ export INFOPATH
+
+ * In a `autoexec.bat' file, you write this command(1):
+
+ set INFOPATH=.;%HOME%/info;c:/usr/local/emacs/info
+
+The `.' indicates the current directory as usual. Emacs uses the
+`INFOPATH' environment variable to initialize the value of Emacs's own
+`Info-directory-list' variable. The stand-alone Info reader merges any
+files named `dir' in any directory listed in the `INFOPATH' variable
+into a single menu presented to you in the node called `(dir)Top'.
+
+ However you set `INFOPATH', if its last character is a colon(2), this
+is replaced by the default (compiled-in) path. This gives you a way to
+augment the default path with new directories without having to list all
+the standard places. For example (using `sh' syntax):
+
+ INFOPATH=/local/info:
+ export INFOPATH
+
+will search `/local/info' first, then the standard directories.
+Leading or doubled colons are not treated specially.
+
+ When you create your own `dir' file for use with
+`Info-directory-list' or `INFOPATH', it's easiest to start by copying
+an existing `dir' file and replace all the text after the `* Menu:'
+with your desired entries. That way, the punctuation and special
+CTRL-_ characters that Info needs will be present.
+
+ ---------- Footnotes ----------
+
+ (1) Note the use of `;' as the directory separator, and a different
+syntax for using values of other environment variables.
+
+ (2) On MS-DOS/MS-Windows systems, use semi-colon instead.
+
+
+File: texinfo.info, Node: Installing Dir Entries, Next: Invoking install-info, Prev: Other Info Directories, Up: Installing an Info File
+
+21.2.4 Installing Info Directory Files
+--------------------------------------
+
+When you install an Info file onto your system, you can use the program
+`install-info' to update the Info directory file `dir'. Normally the
+makefile for the package runs `install-info', just after copying the
+Info file into its proper installed location.
+
+ In order for the Info file to work with `install-info', you include
+the commands `@dircategory' and `@direntry'...`@end direntry' in the
+Texinfo source file. Use `@direntry' to specify the menu entries to
+add to the Info directory file, and use `@dircategory' to specify which
+part of the Info directory to put it in. Here is how these commands
+are used in this manual:
+
+ @dircategory Texinfo documentation system
+ @direntry
+ * Texinfo: (texinfo). The GNU documentation format.
+ * install-info: (texinfo)Invoking install-info. ...
+ ...
+ @end direntry
+
+ Here's what this produces in the Info file:
+
+ INFO-DIR-SECTION Texinfo documentation system
+ START-INFO-DIR-ENTRY
+ * Texinfo: (texinfo). The GNU documentation format.
+ * install-info: (texinfo)Invoking install-info. ...
+ ...
+ END-INFO-DIR-ENTRY
+
+The `install-info' program sees these lines in the Info file, and that
+is how it knows what to do.
+
+ Always use the `@direntry' and `@dircategory' commands near the
+beginning of the Texinfo input, before the first `@node' command. If
+you use them later on in the input, `install-info' will not notice them.
+
+ If you use `@dircategory' more than once in the Texinfo source, each
+usage specifies the `current' category; any subsequent `@direntry'
+commands will add to that category.
+
+ When choosing a category name for the `@dircategory' command, we
+recommend consulting the Free Software Directory
+(http://www.gnu.org/directory). If your program is not listed there,
+or listed incorrectly or incompletely, please report the situation to
+the directory maintainers (<bug-directory@gnu.org>) so that the
+category names can be kept in sync.
+
+ Here are a few examples (see the `util/dir-example' file in the
+Texinfo distribution for large sample `dir' file):
+
+ Emacs
+ Localization
+ Printing
+ Software development
+ Software libraries
+ Text creation and manipulation
+
+ Each `Invoking' node for every program installed should have a
+corresponding `@direntry'. This lets users easily find the
+documentation for the different programs they can run, as with the
+traditional `man' system.
+
+
+File: texinfo.info, Node: Invoking install-info, Prev: Installing Dir Entries, Up: Installing an Info File
+
+21.2.5 Invoking `install-info'
+------------------------------
+
+`install-info' inserts menu entries from an Info file into the
+top-level `dir' file in the Info system (see the previous sections for
+an explanation of how the `dir' file works). It's most often run as
+part of software installation, or when constructing a `dir' file for
+all manuals on a system. Synopsis:
+
+ install-info [OPTION]... [INFO-FILE [DIR-FILE]]
+
+ If INFO-FILE or DIR-FILE are not specified, the options (described
+below) that define them must be. There are no compile-time defaults,
+and standard input is never used. `install-info' can read only one
+Info file and write only one `dir' file per invocation.
+
+ If DIR-FILE (however specified) does not exist, `install-info'
+creates it if possible (with no entries).
+
+ If any input file is compressed with `gzip' (*note Invoking gzip:
+(gzip)Invoking gzip.), `install-info' automatically uncompresses it for
+reading. And if DIR-FILE is compressed, `install-info' also
+automatically leaves it compressed after writing any changes. If
+DIR-FILE itself does not exist, `install-info' tries to open
+`DIR-FILE.gz'.
+
+ Options:
+
+`--delete'
+ Delete the entries in INFO-FILE from DIR-FILE. The file name in
+ the entry in DIR-FILE must be INFO-FILE (except for an optional
+ `.info' in either one). Don't insert any new entries.
+
+`--dir-file=NAME'
+`-d NAME'
+ Specify file name of the Info directory file. This is equivalent
+ to using the DIR-FILE argument.
+
+`--entry=TEXT'
+`-e TEXT'
+ Insert TEXT as an Info directory entry; TEXT should have the form
+ of an Info menu item line plus zero or more extra lines starting
+ with whitespace. If you specify more than one entry, they are all
+ added. If you don't specify any entries, they are determined from
+ information in the Info file itself.
+
+`--help'
+`-h'
+ Display a usage message listing basic usage and all available
+ options, then exit successfully.
+
+`--info-file=FILE'
+`-i FILE'
+ Specify Info file to install in the directory. Equivalent to
+ using the INFO-FILE argument.
+
+`--info-dir=DIR'
+`-D DIR'
+ Specify the directory where the directory file `dir' resides.
+ Equivalent to `--dir-file=DIR/dir'.
+
+`--item=TEXT'
+ Same as `--entry=TEXT'. An Info directory entry is actually a
+ menu item.
+
+`--quiet'
+ Suppress warnings.
+
+`--remove'
+`-r'
+ Same as `--delete'.
+
+`--section=SEC'
+`-s SEC'
+ Put this file's entries in section SEC of the directory. If you
+ specify more than one section, all the entries are added in each
+ of the sections. If you don't specify any sections, they are
+ determined from information in the Info file itself.
+
+`--version'
+`-V'
+ Display version information and exit successfully.
+
+
+
+File: texinfo.info, Node: Generating HTML, Next: Command List, Prev: Creating and Installing Info Files, Up: Top
+
+22 Generating HTML
+******************
+
+`makeinfo' generates Info output by default, but given the `--html'
+option, it will generate HTML, for web browsers and other programs.
+This chapter gives some details on such HTML output.
+
+ `makeinfo' can also write in XML and Docbook format, but we do not as
+yet describe these further. *Note Output Formats::, for a brief
+overview of all the output formats.
+
+* Menu:
+
+* HTML Translation:: Details of the HTML output.
+* HTML Splitting:: How HTML output is split.
+* HTML CSS:: Influencing HTML output with Cascading Style Sheets.
+* HTML Xref:: Cross-references in HTML output.
+
+
+File: texinfo.info, Node: HTML Translation, Next: HTML Splitting, Up: Generating HTML
+
+22.1 HTML Translation
+=====================
+
+`makeinfo' will include segments of Texinfo source between `@ifhtml'
+and `@end ifhtml' in the HTML output (but not any of the other
+conditionals, by default). Source between `@html' and `@end html' is
+passed without change to the output (i.e., suppressing the normal
+escaping of input `<', `>' and `&' characters which have special
+significance in HTML). *Note Conditional Commands::.
+
+ The `--footnote-style' option is currently ignored for HTML output;
+footnotes are always linked to the end of the output file.
+
+ By default, a navigation bar is inserted at the start of each node,
+analogous to Info output. The `--no-headers' option suppresses this if
+used with `--no-split'. Header `<link>' elements in split output can
+support info-like navigation with browsers like Lynx and Emacs W3 which
+implement this HTML 1.0 feature.
+
+ The HTML generated is mostly standard (i.e., HTML 2.0, RFC-1866).
+One exception is that HTML 3.2 tables are generated from the
+`@multitable' command, but tagged to degrade as well as possible in
+browsers without table support. The HTML 4 `lang' attribute on the
+`<html>' attribute is also used. (Please report output from an
+error-free run of `makeinfo' which has browser portability problems as
+a bug.)
+
+
+File: texinfo.info, Node: HTML Splitting, Next: HTML CSS, Prev: HTML Translation, Up: Generating HTML
+
+22.2 HTML Splitting
+===================
+
+When splitting output (which is the default), `makeinfo' writes HTML
+output into (generally) one output file per Texinfo source `@node'.
+
+ The output file name is the node name with special characters replaced
+by `-''s, so it can work as a filename. In the unusual case of two
+different nodes having the same name after this treatment, they are
+written consecutively to the same file, with HTML anchors so each can
+be referred to separately. If `makeinfo' is run on a system which does
+not distinguish case in filenames, nodes which are the same except for
+case will also be folded into the same output file.
+
+ When splitting, the HTML output files are written into a subdirectory,
+with the name chosen as follows:
+ 1. `makeinfo' first tries the subdirectory with the base name from
+ `@setfilename' (that is, any extension is removed). For example,
+ HTML output for `@setfilename gcc.info' would be written into a
+ subdirectory named `gcc'.
+
+ 2. If that directory cannot be created for any reason, then
+ `makeinfo' tries appending `.html' to the directory name. For
+ example, output for `@setfilename texinfo' would be written to
+ `texinfo.html'.
+
+ 3. If the `NAME.html' directory can't be created either, `makeinfo'
+ gives up.
+
+
+In any case, the top-level output file within the directory is always
+named `index.html'.
+
+ Monolithic output (`--no-split') is named according to `@setfilename'
+(with any `.info' extension is replaced with `.html') or `--output'
+(the argument is used literally).
+
+
+File: texinfo.info, Node: HTML CSS, Next: HTML Xref, Prev: HTML Splitting, Up: Generating HTML
+
+22.3 HTML CSS
+=============
+
+Cascading Style Sheets (CSS for short) is an Internet standard for
+influencing the display of HTML documents: see
+`http://www.w3.org/Style/CSS/'.
+
+ By default, `makeinfo' includes a few simple CSS commands to better
+implement the appearance of some of the environments. Here are two of
+them, as an example:
+
+ pre.display { font-family:inherit }
+ pre.smalldisplay { font-family:inherit; font-size:smaller }
+
+ A full explanation of CSS is (far) beyond this manual; please see the
+reference above. In brief, however, this specification tells the web
+browser to use a `smaller' font size for `@smalldisplay' text, and to
+use the `inherited' font (generally a regular roman typeface) for both
+`@smalldisplay' and `@display'. By default, the HTML `<pre>' command
+uses a monospaced font.
+
+ You can influence the CSS in the HTML output with the
+`--css-include=FILE' option to `makeinfo'. This includes the contents
+FILE in the HTML output, as you might expect. However, the details are
+somewhat tricky, as described in the following, to provide maximum
+flexibility.
+
+ The CSS file may begin with so-called `@import' directives, which
+link to external CSS specifications for browsers to use when
+interpreting the document. Again, a full description is beyond our
+scope here, but we'll describe how they work syntactically, so we can
+explain how `makeinfo' handles them.
+
+ There can be more than one `@import', but they have to come first in
+the file, with only whitespace and comments interspersed, no normal
+definitions. (Technical exception: an `@charset' directive may precede
+the `@import''s. This does not alter `makeinfo''s behavior, it just
+copies the `@charset' if present.) Comments in CSS files are delimited
+by `/* ... */', as in C. An `@import' directive must be in one of
+these two forms:
+
+ @import url(http://example.org/foo.css);
+ @import "http://example.net/bar.css";
+
+ As far as `makeinfo' is concerned, the crucial characters are the `@'
+at the beginning and the semicolon terminating the directive. When
+reading the CSS file, it simply copies any such `@'-directive into the
+output, as follows:
+
+ * If FILE contains only normal CSS declarations, it is included
+ after `makeinfo''s default CSS, thus overriding it.
+
+ * If FILE begins with `@import' specifications (see below), then the
+ `import''s are included first (they have to come first, according
+ to the standard), and then `makeinfo''s default CSS is included.
+ If you need to override `makeinfo''s defaults from an `@import',
+ you can do so with the `! important' CSS construct, as in:
+ pre.smallexample { font-size: inherit ! important }
+
+ * If FILE contains both `@import' and inline CSS specifications, the
+ `@import''s are included first, then `makeinfo''s defaults, and
+ lastly the inline CSS from FILE.
+
+ * Any @-directive other than `@import' and `@charset' is treated as
+ a CSS declaration, meaning `makeinfo' includes its default CSS and
+ then the rest of the file.
+
+
+ If the CSS file is malformed or erroneous, `makeinfo''s output is
+unspecified. `makeinfo' does not try to interpret the meaning of the
+CSS file in any way; it just looks for the special `@' and `;'
+characters and blindly copies the text into the output. Comments in
+the CSS file may or may not be included in the output.
+
+
+File: texinfo.info, Node: HTML Xref, Prev: HTML CSS, Up: Generating HTML
+
+22.4 HTML Cross-references
+==========================
+
+Cross-references between Texinfo manuals in HTML format amount, in the
+end, to a standard HTML `<a>' link, but the details are unfortunately
+complex. This section describes the algorithm used in detail, so that
+Texinfo can cooperate with other programs, such as `texi2html', by
+writing mutually compatible HTML files.
+
+ This algorithm may or may not be used for links _within_ HTML output
+for a Texinfo file. Since no issues of compatibility arise in such
+cases, we do not need to specify this.
+
+ We try to support references to such "external" manuals in both
+monolithic and split forms. A "monolithic" (mono) manual is entirely
+contained in one file, and a "split" manual has a file for each node.
+(*Note HTML Splitting::.)
+
+ Acknowledgement: this algorithm was primarily devised by Patrice Dumas
+in 2003-04.
+
+* Menu:
+
+* Link Basics: HTML Xref Link Basics.
+* Node Expansion: HTML Xref Node Name Expansion.
+* Command Expansion: HTML Xref Command Expansion.
+* 8-bit Expansion: HTML Xref 8-bit Character Expansion.
+* Mismatch: HTML Xref Mismatch.
+
+
+File: texinfo.info, Node: HTML Xref Link Basics, Next: HTML Xref Node Name Expansion, Up: HTML Xref
+
+22.4.1 HTML Cross-reference Link Basics
+---------------------------------------
+
+For our purposes, an HTML link consists of four components: a host
+name, a directory part, a file part, and a target part. We always
+assume the `http' protocol. For example:
+
+ http://HOST/DIR/FILE.html#TARGET
+
+ The information to construct a link comes from the node name and
+manual name in the cross-reference command in the Texinfo source (*note
+Cross References::), and from "external information", which is
+currently simply hardwired. In the future, it may come from an
+external data file.
+
+ We now consider each part in turn.
+
+ The HOST is hardwired to be the local host. This could either be the
+literal string `localhost', or, according to the rules for HTML links,
+the `http://localhost/' could be omitted entirely.
+
+ The DIR and FILE parts are more complicated, and depend on the
+relative split/mono nature of both the manual being processed and the
+manual that the cross-reference refers to. The underlying idea is that
+there is one directory for Texinfo manuals in HTML, and each manual is
+either available as a monolithic file `manual.html', or a split
+subdirectory `manual/*.html'. Here are the cases:
+
+ * If the present manual is split, and the referent manual is also
+ split, the directory is `../REFERENT/' and the file is the
+ expanded node name (described later).
+
+ * If the present manual is split, and the referent manual is mono,
+ the directory is `../' and the file is `REFERENT.html'.
+
+ * If the present manual is mono, and the referent manual is split,
+ the directory is `REFERENT/' and the file is the expanded node
+ name.
+
+ * If the present manual is mono, and the referent manual is also
+ mono, the directory is `./' (or just the empty string), and the
+ file is `REFERENT.html'.
+
+
+ Any directory part in the filename argument of the source
+cross-reference command is ignored. Thus, `@xref{,,,../foo}' and
+`@xref{,,,foo}' both use `foo' as the manual name. This is because any
+such attempted hardwiring of the directory is very unlikely to be
+useful for both Info and HTML output.
+
+ Finally, the TARGET part is always the expanded node name.
+
+ Whether the present manual is split or mono is determined by user
+option; `makeinfo' defaults to split, with the `--no-split' option
+overriding this.
+
+ Whether the referent manual is split or mono is another bit of the
+external information. For now, `makeinfo' simply assumes the referent
+manual is the same as the present manual.
+
+ There can be a mismatch between the format of the referent manual that
+the generating software assumes, and the format it's actually present
+in. *Note HTML Xref Mismatch::.
+
+
+File: texinfo.info, Node: HTML Xref Node Name Expansion, Next: HTML Xref Command Expansion, Prev: HTML Xref Link Basics, Up: HTML Xref
+
+22.4.2 HTML Cross-reference Node Name Expansion
+-----------------------------------------------
+
+As mentioned in the previous section, the key part of the HTML
+cross-reference algorithm is the conversion of node names in the
+Texinfo source into strings suitable for HTML identifiers and
+filenames. The restrictions are similar for each: plain ASCII letters,
+numbers, and the `-' and `_' characters are all that can be used.
+
+ Cross-references in Texinfo can actually refer either to nodes or
+anchors (*note anchor::), but anchors are treated identically to nodes
+in this context, so we'll continue to say "node" names for simplicity.
+
+ (@-commands and 8-bit characters are not presently handled by
+`makeinfo' for HTML cross-references. See the next section.)
+
+ A special exception: the Top node (*note The Top Node::) is always
+mapped to the file `index.html', to match web server software.
+However, the HTML _target_ is `Top'. Thus (in the split case):
+ @xref{Top, Introduction,, emacs, The GNU Emacs Manual}.
+ => <a href="emacs/index.html#Top">
+
+ 1. The standard ASCII letters (a-z and A-z), and numbers (0-9) are not
+ modified. All other characters are changed as specified below.
+
+ 2. Multiple consecutive space, tab and newline characters are
+ transformed into just one space. (It's not possible to have
+ newlines in node names with the current implementation, but we
+ specify it anyway, just in case.)
+
+ 3. Leading and trailing spaces are removed.
+
+ 4. After the above has been applied, each remaining space character is
+ converted into a `-' character.
+
+ 5. Other ASCII 7-bit characters are transformed into `_00XX', where
+ XX is the ASCII character code in (lowercase) hexadecimal. This
+ includes `_', which is mapped to `_005f'.
+
+
+ For example:
+
+ @node A node --- with _'%
+ => A-node-_002d_002d_002d-with-_005f_0027_0025
+
+ Notice in particular:
+
+ * `_' => `_005f'
+
+ * `-' => `_002d'
+
+ * `A node' => `A-node'
+
+ On case-folding computer systems, nodes differing only by case will be
+mapped to the same file.
+
+ In particular, as mentioned above, Top always maps to the file
+`index.html'. Thus, on a case-folding system, Top and a node named
+`Index' will both be written to `index.html'.
+
+ Fortunately, the targets serve to distinguish these cases, since HTML
+target names are always case-sensitive, independent of operating system.
+
+
+File: texinfo.info, Node: HTML Xref Command Expansion, Next: HTML Xref 8-bit Character Expansion, Prev: HTML Xref Node Name Expansion, Up: HTML Xref
+
+22.4.3 HTML Cross-reference Command Expansion
+---------------------------------------------
+
+In standard Texinfo, node names may not contain @-commands. `makeinfo'
+has an option `--commands-in-node-names' which partially supports it
+(*note Invoking makeinfo::), but it is not robust and not recommended.
+
+ Thus, `makeinfo' also does not fully implement this part of the HTML
+cross-reference algorithm, but it is documented here for the sake of
+completeness.
+
+ First, comments are removed.
+
+ Next, any `@value' commands (*note set value::) and macro invocations
+(*note Invoking Macros::) are fully expanded.
+
+ Then, for the following commands, the command name and braces are
+removed, the text of the argument is recursively transformed:
+ @asis @b @cite @code @command @dfn @dmn @dotless
+ @emph @env @file @indicateurl @kbd @key
+ @samp @sc @strong @t @var @w
+
+For `@sc', any letters are capitalized.
+
+ The following commands are replaced by constant text, as shown. If
+any of these commands have non-empty arguments, as in `@TeX{bad}', it
+is an error, and the result is unspecified. `(space)' means a space
+character, `(nothing)' means the empty string, etc. The notation
+`U+XXXX' means Unicode code point XXXX. There are further
+transformations of many of these expansions for the final file or
+target name, such as space characters to `-', etc., according to the
+other rules.
+
+`@(newline)' (space)
+`@(space)' (space)
+`@(tab)' (space)
+`@!' `!'
+`@*' (space)
+`@-' (nothing)
+`@.' `.'
+`@:' (nothing)
+`@?' `?'
+`@@' `@'
+`@{' `{'
+`@}' `}'
+`@LaTeX' `LaTeX'
+`@TeX' `TeX'
+`@bullet' U+2022
+`@comma' `,'
+`@copyright' U+00A9
+`@dots' U+2026
+`@enddots' `...'
+`@equiv' U+2261
+`@error' `error-->'
+`@exclamdown' U+00A1
+`@expansion' U+2192
+`@minus' U+2212
+`@ordf' U+00AA
+`@ordm' U+00BA
+`@point' U+2217
+`@pounds' U+00A3
+`@print' `-|'
+`@questiondown' U+00BF
+`@registeredsymbol' U+00AE
+`@result' U+21D2
+`@tie' (space)
+
+ An `@acronym' command is replaced by the first argument, followed by
+the second argument in parentheses, if present. *Note acronym::.
+
+ An `@email' command is replaced by the TEXT argument if present, else
+the address. *Note email::.
+
+ An `@image' command is replaced by the filename (first) argument.
+*Note Images::.
+
+ A `@verb' command is replaced by its transformed argument. *Note
+verb::.
+
+ Any other command is an error, and the result is unspecified.
+
+
+File: texinfo.info, Node: HTML Xref 8-bit Character Expansion, Next: HTML Xref Mismatch, Prev: HTML Xref Command Expansion, Up: HTML Xref
+
+22.4.4 HTML Cross-reference 8-bit Character Expansion
+-----------------------------------------------------
+
+Characters other than plain 7-bit ASCII are transformed into the
+corresponding Unicode code point(s), in Normalization Form C, which
+uses precomposed characters where available. (This is the
+normalization form recommended by the W3C and other bodies.)
+
+ These will then be further transformed by the rules above into the
+string `_XXXX', where XXXX is the code point in hex.
+
+ For example, combining this rule and the previous section:
+
+ @node @b{A} @TeX{} @u{B} @point{}@enddots{}
+ => A-TeX-B_0306-_2605_002e_002e_002e
+
+ Notice: 1) `@enddots' expands to three periods which in turn expands
+to three `_002e''s; 2) `@u{B}' is a `B' with a breve accent, which does
+not exist as a pre-accented Unicode character, therefore expands to
+`B_0306' (B with combining breve).
+
+ For the definition of Unicode Normalization Form C, see Unicode report
+UAX#15, `http://www.unicode.org/reports/tr15/'. Many related documents
+and implementations are available elsewhere on the web.
+
+
+File: texinfo.info, Node: HTML Xref Mismatch, Prev: HTML Xref 8-bit Character Expansion, Up: HTML Xref
+
+22.4.5 HTML Cross-reference Mismatch
+------------------------------------
+
+As mentioned earlier (*note HTML Xref Link Basics::), the generating
+software has to guess whether a given manual being cross-referenced is
+available in split or monolithic form--and, inevitably, it might guess
+wrong. However, it is possible when the referent manual itself is
+generated, it is possible to handle at least some mismatches.
+
+ In the case where we assume the referent is split, but it is actually
+available in mono, the only recourse would be to generate a `manual/'
+subdirectory full of HTML files which redirect back to the monolithic
+`manual.html'. Since this is essentially the same as a split manual in
+the first place, it's not very appealing.
+
+ On the other hand, in the case where we assume the referent is mono,
+but it is actually available in split, it is possible to use JavaScript
+to redirect from the putatively monolithic `manual.html' to the
+different `manual/node.html' files. Here's an example:
+
+ function redirect() {
+ switch (location.hash) {
+ case "#Node1":
+ location.replace("manual/Node1.html#Node1"); break;
+ case "#Node2" :
+ location.replace("manual/Node2.html#Node2"); break;
+ ...
+ default:;
+ }
+ }
+
+ Then, in the `<body>' tag of `manual.html':
+
+ <body onLoad="redirect();">
+
+ Once again, this is something the software which generated the
+_referent_ manual has to do in advance, it's not something the software
+generating the actual cross-reference in the present manual can control.
+
+ Ultimately, we hope to allow for an external configuration file to
+control which manuals are available from where, and how.
+
+
+File: texinfo.info, Node: Command List, Next: Tips, Prev: Generating HTML, Up: Top
+
+Appendix A @-Command List
+*************************
+
+Here is an alphabetical list of the @-commands in Texinfo. Square
+brackets, [ ], indicate optional arguments; an ellipsis, `...',
+indicates repeated text.
+
+ More specifics on the general syntax of different @-commands are
+given in the section below.
+
+* Menu:
+
+* Command Syntax:: General syntax for varieties of @-commands.
+
+
+`@WHITESPACE'
+ An `@' followed by a space, tab, or newline produces a normal,
+ stretchable, interword space. *Note Multiple Spaces::.
+
+`@!'
+ Generate an exclamation point that really does end a sentence
+ (usually after an end-of-sentence capital letter). *Note Ending a
+ Sentence::.
+
+`@"'
+`@''
+ Generate an umlaut or acute accent, respectively, over the next
+ character, as in o" and o'. *Note Inserting Accents::.
+
+`@*'
+ Force a line break. *Note Line Breaks::.
+
+`@,{C}'
+ Generate a cedilla accent under C, as in c,. *Note Inserting
+ Accents::.
+
+`@-'
+ Insert a discretionary hyphenation point. *Note - and
+ hyphenation::.
+
+`@.'
+ Produce a period that really does end a sentence (usually after an
+ end-of-sentence capital letter). *Note Ending a Sentence::.
+
+`@/'
+ Produces no output, but allows a line break. *Note Line Breaks::.
+
+`@:'
+ Indicate to TeX that an immediately preceding period, question
+ mark, exclamation mark, or colon does not end a sentence. Prevent
+ TeX from inserting extra whitespace as it does at the end of a
+ sentence. The command has no effect on the Info file output.
+ *Note Not Ending a Sentence::.
+
+`@='
+ Generate a macron (bar) accent over the next character, as in o=.
+ *Note Inserting Accents::.
+
+`@?'
+ Generate a question mark that really does end a sentence (usually
+ after an end-of-sentence capital letter). *Note Ending a
+ Sentence::.
+
+`@@'
+ Stands for an at sign, `@'. *Note Inserting @ and {} and ,:
+ Atsign Braces Comma.
+
+`@\'
+ Stands for a backslash (`\') inside `@math'. *Note `math': math.
+
+`@^'
+`@`'
+ Generate a circumflex (hat) or grave accent, respectively, over
+ the next character, as in o^ and e`. *Note Inserting Accents::.
+
+`@{'
+ Stands for a left brace, `{'. *Note Inserting @ and {} and ,:
+ Atsign Braces Comma.
+
+`@}'
+ Stands for a right-hand brace, `}'.
+ *Note Inserting @ and {} and ,: Atsign Braces Comma.
+
+`@~'
+ Generate a tilde accent over the next character, as in N~. *Note
+ Inserting Accents::.
+
+`@AA{}'
+`@aa{}'
+ Generate the uppercase and lowercase Scandinavian A-ring letters,
+ respectively: AA, aa. *Note Inserting Accents::.
+
+`@acronym{ABBREV}'
+ Tag ABBREV as an acronym, that is, an abbreviation written in all
+ capital letters, such as `NASA'. *Note `acronym': acronym.
+
+`@AE{}'
+`@ae{}'
+ Generate the uppercase and lowercase AE ligatures, respectively:
+ AE, ae. *Note Inserting Accents::.
+
+`@afivepaper'
+ Change page dimensions for the A5 paper size. *Note A4 Paper::.
+
+`@afourlatex'
+`@afourpaper'
+`@afourwide'
+ Change page dimensions for the A4 paper size. *Note A4 Paper::.
+
+`@alias NEW=EXISTING'
+ Make the command `@NEW' an alias for the existing command
+ `@EXISTING'. *Note alias::.
+
+`@anchor{NAME}'
+ Define NAME as the current location for use as a cross-reference
+ target. *Note `@anchor': anchor.
+
+`@appendix TITLE'
+ Begin an appendix. The title appears in the table of contents of
+ a printed manual. In Info, the title is underlined with
+ asterisks. *Note The `@unnumbered' and `@appendix' Commands:
+ unnumbered & appendix.
+
+`@appendixsec TITLE'
+`@appendixsection TITLE'
+ Begin an appendix section within an appendix. The section title
+ appears in the table of contents of a printed manual. In Info,
+ the title is underlined with equal signs. `@appendixsection' is a
+ longer spelling of the `@appendixsec' command. *Note Section
+ Commands: unnumberedsec appendixsec heading.
+
+`@appendixsubsec TITLE'
+ Begin an appendix subsection within an appendix. The title appears
+ in the table of contents of a printed manual. In Info, the title
+ is underlined with hyphens. *Note Subsection Commands:
+ unnumberedsubsec appendixsubsec subheading.
+
+`@appendixsubsubsec TITLE'
+ Begin an appendix subsubsection within an appendix subsection. The
+ title appears in the table of contents of a printed manual. In
+ Info, the title is underlined with periods. *Note The `subsub'
+ Commands: subsubsection.
+
+`@asis'
+ Used following `@table', `@ftable', and `@vtable' to print the
+ table's first column without highlighting ("as is"). *Note Making
+ a Two-column Table: Two-column Tables.
+
+`@author AUTHOR'
+ Typeset AUTHOR flushleft and underline it. *Note The `@title' and
+ `@author' Commands: title subtitle author.
+
+`@b{TEXT}'
+ Print TEXT in bold font. No effect in Info. *Note Fonts::.
+
+`@bullet{}'
+ Generate a large round dot, or the closest possible thing to one.
+ *Note `@bullet': bullet.
+
+`@bye'
+ Stop formatting a file. The formatters do not see the contents of
+ a file following an `@bye' command. *Note Ending a File::.
+
+`@c COMMENT'
+ Begin a comment in Texinfo. The rest of the line does not appear
+ in either the Info file or the printed manual. A synonym for
+ `@comment'. *Note Comments::.
+
+`@caption'
+ Define the full caption for a `@float'. *Note caption
+ shortcaption::.
+
+`@cartouche'
+ Highlight an example or quotation by drawing a box with rounded
+ corners around it. Pair with `@end cartouche'. No effect in
+ Info. *Note Drawing Cartouches Around Examples: cartouche.)
+
+`@center LINE-OF-TEXT'
+ Center the line of text following the command. *Note `@center':
+ titlefont center sp.
+
+`@centerchap LINE-OF-TEXT'
+ Like `@chapter', but centers the chapter title. *Note `@chapter':
+ chapter.
+
+`@chapheading TITLE'
+ Print a chapter-like heading in the text, but not in the table of
+ contents of a printed manual. In Info, the title is underlined
+ with asterisks. *Note `@majorheading' and `@chapheading':
+ majorheading & chapheading.
+
+`@chapter TITLE'
+ Begin a chapter. The chapter title appears in the table of
+ contents of a printed manual. In Info, the title is underlined
+ with asterisks. *Note `@chapter': chapter.
+
+`@cindex ENTRY'
+ Add ENTRY to the index of concepts. *Note Defining the Entries of
+ an Index: Index Entries.
+
+`@cite{REFERENCE}'
+ Highlight the name of a book or other reference that lacks a
+ companion Info file. *Note `@cite': cite.
+
+`@clear FLAG'
+ Unset FLAG, preventing the Texinfo formatting commands from
+ formatting text between subsequent pairs of `@ifset FLAG' and
+ `@end ifset' commands, and preventing `@value{FLAG}' from
+ expanding to the value to which FLAG is set. *Note `@set'
+ `@clear' `@value': set clear value.
+
+`@code{SAMPLE-CODE}'
+ Highlight text that is an expression, a syntactically complete
+ token of a program, or a program name. *Note `@code': code.
+
+`@comma{}'
+ Insert a comma `,' character; only needed when a literal comma
+ would be taken as an argument separator. *Note Inserting a
+ Comma::.
+
+`@command{COMMAND-NAME}'
+ Indicate a command name, such as `ls'. *Note `@command': command.
+
+`@comment COMMENT'
+ Begin a comment in Texinfo. The rest of the line does not appear
+ in either the Info file or the printed manual. A synonym for `@c'.
+ *Note Comments::.
+
+`@contents'
+ Print a complete table of contents. Has no effect in Info, which
+ uses menus instead. *Note Generating a Table of Contents:
+ Contents.
+
+`@copyright{}'
+ Generate the copyright symbol (C). *Note `@copyright{}':
+ copyright symbol.
+
+`@defcodeindex INDEX-NAME'
+ Define a new index and its indexing command. Print entries in an
+ `@code' font. *Note Defining New Indices: New Indices.
+
+`@defcv CATEGORY CLASS NAME'
+`@defcvx CATEGORY CLASS NAME'
+ Format a description for a variable associated with a class in
+ object-oriented programming. Takes three arguments: the category
+ of thing being defined, the class to which it belongs, and its
+ name. *Note Definition Commands::, and *Note Def Cmds in Detail:
+ deffnx.
+
+`@deffn CATEGORY NAME ARGUMENTS...'
+`@deffnx CATEGORY NAME ARGUMENTS...'
+ Format a description for a function, interactive command, or
+ similar entity that may take arguments. `@deffn' takes as
+ arguments the category of entity being described, the name of this
+ particular entity, and its arguments, if any. *Note Definition
+ Commands::.
+
+`@defindex INDEX-NAME'
+ Define a new index and its indexing command. Print entries in a
+ roman font. *Note Defining New Indices: New Indices.
+
+`@definfoenclose NEWCMD, BEFORE, AFTER,'
+ Create new @-command NEWCMD for Info that marks text by enclosing
+ it in strings that precede and follow the text. *Note
+ definfoenclose::.
+
+`@defivar CLASS INSTANCE-VARIABLE-NAME'
+`@defivarx CLASS INSTANCE-VARIABLE-NAME'
+ This command formats a description for an instance variable in
+ object-oriented programming. The command is equivalent to `@defcv
+ {Instance Variable} ...'. *Note Definition Commands::, and *Note
+ Def Cmds in Detail: deffnx.
+
+`@defmac MACRONAME ARGUMENTS...'
+`@defmacx MACRONAME ARGUMENTS...'
+ Format a description for a macro. The command is equivalent to
+ `@deffn Macro ...'. *Note Definition Commands::, and *Note Def
+ Cmds in Detail: deffnx.
+
+`@defmethod CLASS METHOD-NAME ARGUMENTS...'
+`@defmethodx CLASS METHOD-NAME ARGUMENTS...'
+ Format a description for a method in object-oriented programming.
+ The command is equivalent to `@defop Method ...'. Takes as
+ arguments the name of the class of the method, the name of the
+ method, and its arguments, if any. *Note Definition Commands::,
+ and *Note Def Cmds in Detail: deffnx.
+
+`@defop CATEGORY CLASS NAME ARGUMENTS...'
+`@defopx CATEGORY CLASS NAME ARGUMENTS...'
+ Format a description for an operation in object-oriented
+ programming. `@defop' takes as arguments the overall name of the
+ category of operation, the name of the class of the operation, the
+ name of the operation, and its arguments, if any. *Note
+ Definition Commands::, and *Note Abstract Objects::.
+
+`@defopt OPTION-NAME'
+`@defoptx OPTION-NAME'
+ Format a description for a user option. The command is equivalent
+ to `@defvr {User Option} ...'. *Note Definition Commands::, and
+ *Note Def Cmds in Detail: deffnx.
+
+`@defspec SPECIAL-FORM-NAME ARGUMENTS...'
+`@defspecx SPECIAL-FORM-NAME ARGUMENTS...'
+ Format a description for a special form. The command is
+ equivalent to `@deffn {Special Form} ...'. *Note Definition
+ Commands::, and *Note Def Cmds in Detail: deffnx.
+
+`@deftp CATEGORY NAME-OF-TYPE ATTRIBUTES...'
+`@deftpx CATEGORY NAME-OF-TYPE ATTRIBUTES...'
+ Format a description for a data type. `@deftp' takes as arguments
+ the category, the name of the type (which is a word like `int' or
+ `float'), and then the names of attributes of objects of that type.
+ *Note Definition Commands::, and *Note Data Types::.
+
+`@deftypecv CATEGORY CLASS DATA-TYPE NAME'
+`@deftypecvx CATEGORY CLASS DATA-TYPE NAME'
+ Format a description for a typed class variable in object-oriented
+ programming. *Note Definition Commands::, and *Note Abstract
+ Objects::.
+
+`@deftypefn CLASSIFICATION DATA-TYPE NAME ARGUMENTS...'
+`@deftypefnx CLASSIFICATION DATA-TYPE NAME ARGUMENTS...'
+ Format a description for a function or similar entity that may take
+ arguments and that is typed. `@deftypefn' takes as arguments the
+ classification of entity being described, the type, the name of the
+ entity, and its arguments, if any. *Note Definition Commands::,
+ and *Note Def Cmds in Detail: deffnx.
+
+`@deftypefun DATA-TYPE FUNCTION-NAME ARGUMENTS...'
+`@deftypefunx DATA-TYPE FUNCTION-NAME ARGUMENTS...'
+ Format a description for a function in a typed language. The
+ command is equivalent to `@deftypefn Function ...'. *Note
+ Definition Commands::, and *Note Def Cmds in Detail: deffnx.
+
+`@deftypeivar CLASS DATA-TYPE VARIABLE-NAME'
+`@deftypeivarx CLASS DATA-TYPE VARIABLE-NAME'
+ Format a description for a typed instance variable in
+ object-oriented programming. *Note Definition Commands::, and
+ *Note Abstract Objects::.
+
+`@deftypemethod CLASS DATA-TYPE METHOD-NAME ARGUMENTS...'
+`@deftypemethodx CLASS DATA-TYPE METHOD-NAME ARGUMENTS...'
+ Format a description for a typed method in object-oriented
+ programming. *Note Definition Commands::, and *Note Def Cmds in
+ Detail: deffnx.
+
+`@deftypeop CATEGORY CLASS DATA-TYPE NAME ARGUMENTS...'
+`@deftypeopx CATEGORY CLASS DATA-TYPE NAME ARGUMENTS...'
+ Format a description for a typed operation in object-oriented
+ programming. *Note Definition Commands::, and *Note Abstract
+ Objects::.
+
+`@deftypevar DATA-TYPE VARIABLE-NAME'
+`@deftypevarx DATA-TYPE VARIABLE-NAME'
+ Format a description for a variable in a typed language. The
+ command is equivalent to `@deftypevr Variable ...'. *Note
+ Definition Commands::, and *Note Def Cmds in Detail: deffnx.
+
+`@deftypevr CLASSIFICATION DATA-TYPE NAME'
+`@deftypevrx CLASSIFICATION DATA-TYPE NAME'
+ Format a description for something like a variable in a typed
+ language--an entity that records a value. Takes as arguments the
+ classification of entity being described, the type, and the name
+ of the entity. *Note Definition Commands::, and *Note Def Cmds in
+ Detail: deffnx.
+
+`@defun FUNCTION-NAME ARGUMENTS...'
+`@defunx FUNCTION-NAME ARGUMENTS...'
+ Format a description for functions. The command is equivalent to
+ `@deffn Function ...'. *Note Definition Commands::, and *Note Def
+ Cmds in Detail: deffnx.
+
+`@defvar VARIABLE-NAME'
+`@defvarx VARIABLE-NAME'
+ Format a description for variables. The command is equivalent to
+ `@defvr Variable ...'. *Note Definition Commands::, and *Note Def
+ Cmds in Detail: deffnx.
+
+`@defvr CATEGORY NAME'
+`@defvrx CATEGORY NAME'
+ Format a description for any kind of variable. `@defvr' takes as
+ arguments the category of the entity and the name of the entity.
+ *Note Definition Commands::, and *Note Def Cmds in Detail: deffnx.
+
+`@detailmenu'
+ Avoid `makeinfo' confusion stemming from the detailed node listing
+ in a master menu. *Note Master Menu Parts::.
+
+`@dfn{TERM}'
+ Highlight the introductory or defining use of a term. *Note
+ `@dfn': dfn.
+
+`@dircategory DIRPART'
+ Specify a part of the Info directory menu where this file's entry
+ should go. *Note Installing Dir Entries::.
+
+`@direntry'
+ Begin the Info directory menu entry for this file. Pair with
+ `@end direntry'. *Note Installing Dir Entries::.
+
+`@display'
+ Begin a kind of example. Like `@example' (indent text, do not
+ fill), but do not select a new font. Pair with `@end display'.
+ *Note `@display': display.
+
+`@dmn{DIMENSION}'
+ Format a unit of measure, as in 12pt. Causes TeX to insert a thin
+ space before DIMENSION. No effect in Info. *Note `@dmn': dmn.
+
+`@docbook'
+ Enter Docbook completely. Pair with `@end docbook'. *Note Raw
+ Formatter Commands::.
+
+`@documentdescription'
+ Set the document description text, included in the HTML output.
+ Pair with `@end documentdescription'. *Note
+ `@documentdescription': documentdescription.
+
+`@documentencoding ENC'
+ Declare the input encoding to be ENC. *Note `@documentencoding':
+ documentencoding.
+
+`@documentlanguage CC'
+ Declare the document language as the two-character ISO-639
+ abbreviation CC. *Note `@documentlanguage': documentlanguage.
+
+`@dotaccent{C}'
+ Generate a dot accent over the character C, as in o.. *Note
+ Inserting Accents::.
+
+`@dots{}'
+ Insert an ellipsis: `...'. *Note `@dots': dots.
+
+`@email{ADDRESS[, DISPLAYED-TEXT]}'
+ Indicate an electronic mail address. *Note `@email': email.
+
+`@emph{TEXT}'
+ Highlight TEXT; text is displayed in _italics_ in printed output,
+ and surrounded by asterisks in Info. *Note Emphasizing Text:
+ Emphasis.
+
+`@end ENVIRONMENT'
+ Ends ENVIRONMENT, as in `@end example'. *Note @-commands:
+ Formatting Commands.
+
+`@env{ENVIRONMENT-VARIABLE}'
+ Indicate an environment variable name, such as `PATH'. *Note
+ `@env': env.
+
+`@enddots{}'
+ Generate an end-of-sentence of ellipsis, like this .... *Note
+ `@dots{}': dots.
+
+`@enumerate [NUMBER-OR-LETTER]'
+ Begin a numbered list, using `@item' for each entry. Optionally,
+ start list with NUMBER-OR-LETTER. Pair with `@end enumerate'.
+ *Note `@enumerate': enumerate.
+
+`@equiv{}'
+ Indicate to the reader the exact equivalence of two forms with a
+ glyph: `=='. *Note Equivalence::.
+
+`@error{}'
+ Indicate to the reader with a glyph that the following text is an
+ error message: `error-->'. *Note Error Glyph::.
+
+`@evenfooting [LEFT] @| [CENTER] @| [RIGHT]'
+`@evenheading [LEFT] @| [CENTER] @| [RIGHT]'
+ Specify page footings resp. headings for even-numbered (left-hand)
+ pages. *Note How to Make Your Own Headings: Custom Headings.
+
+`@everyfooting [LEFT] @| [CENTER] @| [RIGHT]'
+`@everyheading [LEFT] @| [CENTER] @| [RIGHT]'
+ Specify page footings resp. headings for every page. Not relevant
+ to Info. *Note How to Make Your Own Headings: Custom Headings.
+
+`@example'
+ Begin an example. Indent text, do not fill, and select
+ fixed-width font. Pair with `@end example'. *Note `@example':
+ example.
+
+`@exampleindent INDENT'
+ Indent example-like environments by INDENT number of spaces
+ (perhaps 0). *Note Paragraph Indenting: exampleindent.
+
+`@exclamdown{}'
+ Produce an upside-down exclamation point. *Note Inserting
+ Accents::.
+
+`@exdent LINE-OF-TEXT'
+ Remove any indentation a line might have. *Note Undoing the
+ Indentation of a Line: exdent.
+
+`@expansion{}'
+ Indicate the result of a macro expansion to the reader with a
+ special glyph: `==>'. *Note ==> Indicating an Expansion:
+ expansion.
+
+`@file{FILENAME}'
+ Highlight the name of a file, buffer, node, or directory. *Note
+ `@file': file.
+
+`@finalout'
+ Prevent TeX from printing large black warning rectangles beside
+ over-wide lines. *Note Overfull hboxes::.
+
+`@findex ENTRY'
+ Add ENTRY to the index of functions. *Note Defining the Entries
+ of an Index: Index Entries.
+
+`@float'
+ Environment to define floating material. Pair with `@end float'.
+ *Note Floats::.
+
+`@flushleft'
+`@flushright'
+ Left justify every line but leave the right end ragged. Leave
+ font as is. Pair with `@end flushleft'. `@flushright' analogous.
+ *Note `@flushleft' and `@flushright': flushleft & flushright.
+
+`@footnote{TEXT-OF-FOOTNOTE}'
+ Enter a footnote. Footnote text is printed at the bottom of the
+ page by TeX; Info may format in either `End' node or `Separate'
+ node style. *Note Footnotes::.
+
+`@footnotestyle STYLE'
+ Specify an Info file's footnote style, either `end' for the end
+ node style or `separate' for the separate node style. *Note
+ Footnotes::.
+
+`@format'
+ Begin a kind of example. Like `@display', but do not narrow the
+ margins. Pair with `@end format'. *Note `@example': example.
+
+`@ftable FORMATTING-COMMAND'
+ Begin a two-column table, using `@item' for each entry.
+ Automatically enter each of the items in the first column into the
+ index of functions. Pair with `@end ftable'. The same as
+ `@table', except for indexing. *Note `@ftable' and `@vtable':
+ ftable vtable.
+
+`@group'
+ Hold text together that must appear on one printed page. Pair with
+ `@end group'. Not relevant to Info. *Note `@group': group.
+
+`@H{C}'
+ Generate the long Hungarian umlaut accent over C, as in o''.
+
+`@heading TITLE'
+ Print an unnumbered section-like heading in the text, but not in
+ the table of contents of a printed manual. In Info, the title is
+ underlined with equal signs. *Note Section Commands:
+ unnumberedsec appendixsec heading.
+
+`@headings ON-OFF-SINGLE-DOUBLE'
+ Turn page headings on or off, and/or specify single-sided or
+ double-sided page headings for printing. *Note The `@headings'
+ Command: headings on off.
+
+`@html'
+ Enter HTML completely. Pair with `@end html'. *Note Raw
+ Formatter Commands::.
+
+`@hyphenation{HY-PHEN-A-TED WORDS}'
+ Explicitly define hyphenation points. *Note `@-' and
+ `@hyphenation': - and hyphenation.
+
+`@i{TEXT}'
+ Print TEXT in italic font. No effect in Info. *Note Fonts::.
+
+`@ifclear FLAG'
+ If FLAG is cleared, the Texinfo formatting commands format text
+ between `@ifclear FLAG' and the following `@end ifclear' command.
+ *Note `@set' `@clear' `@value': set clear value.
+
+`@ifdocbook'
+`@ifhtml'
+`@ifinfo'
+ Begin text that will appear only in the given output format.
+ `@ifinfo' output appears in both Info and (for historical
+ compatibility) plain text output. Pair with `@end ifdocbook'
+ resp. `@end ifhtml' resp. `@end ifinfo'. *Note Conditionals::.
+
+`@ifnotdocbook'
+`@ifnothtml'
+`@ifnotinfo'
+`@ifnotplaintext'
+`@ifnottex'
+`@ifnotxml'
+ Begin a stretch of text that will be ignored in one output format
+ but not the others. The text appears in the formats not specified:
+ `@ifnothtml' text is omitted from html output, etc. The exception
+ is `@ifnotinfo' text, which is omitted from plain text output as
+ well as Info output. Pair with the corresponding `@end
+ ifnotFORMAT'. *Note Conditionals::.
+
+`@ifplaintext'
+ Begin text that will appear only in the plain text output. Pair
+ with `@end ifplaintext'. *Note Conditionals::.
+
+`@ifset FLAG'
+ If FLAG is set, the Texinfo formatting commands format text
+ between `@ifset FLAG' and the following `@end ifset' command.
+ *Note `@set' `@clear' `@value': set clear value.
+
+`@iftex'
+ Begin text that will not appear in the Info file or other output,
+ but will be processed only by TeX. Pair with `@end iftex'. *Note
+ Conditionally Visible Text: Conditionals.
+
+`@ifxml'
+ Begin text that will appear only in the XML output. Pair with
+ `@end ifxml'. *Note Conditionals::.
+
+`@ignore'
+ Begin text that will not appear in any output. Pair with `@end
+ ignore'. *Note Comments and Ignored Text: Comments.
+
+`@image{FILENAME, [WIDTH], [HEIGHT], [ALT], [EXT]}'
+ Include graphics image in external FILENAME scaled to the given
+ WIDTH and/or HEIGHT, using ALT text and looking for `FILENAME.EXT'
+ in HTML. *Note Images::.
+
+`@include FILENAME'
+ Incorporate the contents of the file FILENAME into the Info file
+ or printed document. *Note Include Files::.
+
+`@indicateurl{INDICATEURL}'
+ Indicate text that is a uniform resource locator for the World Wide
+ Web. *Note `@indicateurl': indicateurl.
+
+`@inforef{NODE-NAME, [ENTRY-NAME], INFO-FILE-NAME}'
+ Make a cross reference to an Info file for which there is no
+ printed manual. *Note Cross references using `@inforef': inforef.
+
+`\input MACRO-DEFINITIONS-FILE'
+ Use the specified macro definitions file. This command is used
+ only in the first line of a Texinfo file to cause TeX to make use
+ of the `texinfo' macro definitions file. The backslash in `\input'
+ is used instead of an `@' because TeX does not recognize `@' until
+ after it has read the definitions file. *Note Texinfo File
+ Header::.
+
+`@item'
+ Indicate the beginning of a marked paragraph for `@itemize' and
+ `@enumerate'; indicate the beginning of the text of a first column
+ entry for `@table', `@ftable', and `@vtable'. *Note Lists and
+ Tables::.
+
+`@itemize MARK-GENERATING-CHARACTER-OR-COMMAND'
+ Produce a sequence of indented paragraphs, with a mark inside the
+ left margin at the beginning of each paragraph. Pair with `@end
+ itemize'. *Note `@itemize': itemize.
+
+`@itemx'
+ Like `@item' but do not generate extra vertical space above the
+ item text. *Note `@itemx': itemx.
+
+`@kbd{KEYBOARD-CHARACTERS}'
+ Indicate text that is characters of input to be typed by users.
+ *Note `@kbd': kbd.
+
+`@kbdinputstyle STYLE'
+ Specify when `@kbd' should use a font distinct from `@code'.
+ *Note `@kbd': kbd.
+
+`@key{KEY-NAME}'
+ Indicate a name for a key on a keyboard. *Note `@key': key.
+
+`@kindex ENTRY'
+ Add ENTRY to the index of keys. *Note Defining the Entries of an
+ Index: Index Entries.
+
+`@L{}'
+`@l{}'
+ Generate the uppercase and lowercase Polish suppressed-L letters,
+ respectively: /L, /l.
+
+`@LaTeX{}'
+ Insert the logo LaTeX. *Note TeX and LaTeX: tex.
+
+`@lisp'
+ Begin an example of Lisp code. Indent text, do not fill, and
+ select fixed-width font. Pair with `@end lisp'. *Note `@lisp':
+ lisp.
+
+`@listoffloats'
+ Produce a table-of-contents-like listing of `@float's. *Note
+ listoffloats::.
+
+`@lowersections'
+ Change subsequent chapters to sections, sections to subsections,
+ and so on. *Note `@raisesections' and `@lowersections':
+ Raise/lower sections.
+
+`@macro MACRONAME {PARAMS}'
+ Define a new Texinfo command `@MACRONAME{PARAMS}'. Only supported
+ by `makeinfo' and `texi2dvi'. *Note Defining Macros::.
+
+`@majorheading TITLE'
+ Print a chapter-like heading in the text, but not in the table of
+ contents of a printed manual. Generate more vertical whitespace
+ before the heading than the `@chapheading' command. *Note
+ `@majorheading' and `@chapheading': majorheading & chapheading.
+
+`@math{MATHEMATICAL-EXPRESSION}'
+ Format a mathematical expression. *Note `@math': Inserting
+ Mathematical Expressions: math.
+
+`@menu'
+ Mark the beginning of a menu of nodes in Info. No effect in a
+ printed manual. Pair with `@end menu'. *Note Menus::.
+
+`@minus{}'
+ Generate a minus sign, `-'. *Note `@minus': minus.
+
+`@multitable COLUMN-WIDTH-SPEC'
+ Begin a multi-column table. Pair with `@end multitable'. *Note
+ Multitable Column Widths::.
+
+`@need N'
+ Start a new page in a printed manual if fewer than N mils
+ (thousandths of an inch) remain on the current page. *Note
+ `@need': need.
+
+`@node NAME, NEXT, PREVIOUS, UP'
+ Define the beginning of a new node in Info, and serve as a locator
+ for references for TeX. *Note `@node': node.
+
+`@noindent'
+ Prevent text from being indented as if it were a new paragraph.
+ *Note `@noindent': noindent.
+
+`@novalidate'
+ Suppress validation of node references, omit creation of auxiliary
+ files with TeX. Use before `@setfilename'. *Note Pointer
+ Validation::.
+
+`@O{}'
+`@o{}'
+ Generate the uppercase and lowercase O-with-slash letters,
+ respectively: /O, /o.
+
+`@oddfooting [LEFT] @| [CENTER] @| [RIGHT]'
+`@oddheading [LEFT] @| [CENTER] @| [RIGHT]'
+ Specify page footings resp. headings for odd-numbered (right-hand)
+ pages. *Note How to Make Your Own Headings: Custom Headings.
+
+`@OE{}'
+`@oe{}'
+ Generate the uppercase and lowercase OE ligatures, respectively:
+ OE, oe. *Note Inserting Accents::.
+
+`@option{OPTION-NAME}'
+ Indicate a command-line option, such as `-l' or `--help'. *Note
+ `@option': option.
+
+`@page'
+ Start a new page in a printed manual. No effect in Info. *Note
+ `@page': page.
+
+`@pagesizes [WIDTH][, HEIGHT]'
+ Change page dimensions. *Note pagesizes::.
+
+`@paragraphindent INDENT'
+ Indent paragraphs by INDENT number of spaces (perhaps 0); preserve
+ source file indentation if INDENT is `asis'. *Note Paragraph
+ Indenting: paragraphindent.
+
+`@pindex ENTRY'
+ Add ENTRY to the index of programs. *Note Defining the Entries of
+ an Index: Index Entries.
+
+`@point{}'
+ Indicate the position of point in a buffer to the reader with a
+ glyph: `-!-'. *Note Indicating Point in a Buffer: Point Glyph.
+
+`@pounds{}'
+ Generate the pounds sterling currency sign. *Note `@pounds{}':
+ pounds.
+
+`@print{}'
+ Indicate printed output to the reader with a glyph: `-|'. *Note
+ Print Glyph::.
+
+`@printindex INDEX-NAME'
+ Print an alphabetized two-column index in a printed manual or
+ generate an alphabetized menu of index entries for Info. *Note
+ Printing Indices & Menus::.
+
+`@pxref{NODE-NAME, [ENTRY], [TOPIC-OR-TITLE], [INFO-FILE], [MANUAL]}'
+ Make a reference that starts with a lower case `see' in a printed
+ manual. Use within parentheses only. Do not follow command with a
+ punctuation mark--the Info formatting commands automatically insert
+ terminating punctuation as needed. Only the first argument is
+ mandatory. *Note `@pxref': pxref.
+
+`@questiondown{}'
+ Generate an upside-down question mark. *Note Inserting Accents::.
+
+`@quotation'
+ Narrow the margins to indicate text that is quoted from another
+ real or imaginary work. Takes optional argument of prefix text.
+ Pair with `@end quotation'. *Note `@quotation': quotation.
+
+`@r{TEXT}'
+ Print TEXT in roman font. No effect in Info. *Note Fonts::.
+
+`@raisesections'
+ Change subsequent sections to chapters, subsections to sections,
+ and so on. *Note `@raisesections' and `@lowersections':
+ Raise/lower sections.
+
+`@ref{NODE-NAME, [ENTRY], [TOPIC-OR-TITLE], [INFO-FILE], [MANUAL]}'
+ Make a reference. In a printed manual, the reference does not
+ start with a `See'. Follow command with a punctuation mark. Only
+ the first argument is mandatory. *Note `@ref': ref.
+
+`@refill'
+ This command used to refill and indent the paragraph after all the
+ other processing has been done. It is no longer needed, since all
+ formatters now automatically refill as needed, but you may still
+ see it in the source to some manuals, as it does no harm.
+
+`@registeredsymbol{}'
+ Generate the legal symbol (R). *Note `@registeredsymbol{}':
+ registered symbol.
+
+`@result{}'
+ Indicate the result of an expression to the reader with a special
+ glyph: `=>'. *Note `@result': result.
+
+`@ringaccent{C}'
+ Generate a ring accent over the next character, as in o*. *Note
+ Inserting Accents::.
+
+`@samp{TEXT}'
+ Highlight TEXT that is a literal example of a sequence of
+ characters. Used for single characters, for statements, and often
+ for entire shell commands. *Note `@samp': samp.
+
+`@sc{TEXT}'
+ Set TEXT in a printed output in THE SMALL CAPS FONT and set text
+ in the Info file in uppercase letters. *Note Smallcaps::.
+
+`@section TITLE'
+ Begin a section within a chapter. In a printed manual, the section
+ title is numbered and appears in the table of contents. In Info,
+ the title is underlined with equal signs. *Note `@section':
+ section.
+
+`@set FLAG [STRING]'
+ Make FLAG active, causing the Texinfo formatting commands to
+ format text between subsequent pairs of `@ifset FLAG' and `@end
+ ifset' commands. Optionally, set value of FLAG to STRING. *Note
+ `@set' `@clear' `@value': set clear value.
+
+`@setchapternewpage ON-OFF-ODD'
+ Specify whether chapters start on new pages, and if so, whether on
+ odd-numbered (right-hand) new pages. *Note `@setchapternewpage':
+ setchapternewpage.
+
+`@setcontentsaftertitlepage'
+ Put the table of contents after the `@end titlepage' even if the
+ `@contents' command is not there. *Note Contents::.
+
+`@setfilename INFO-FILE-NAME'
+ Provide a name to be used by the Info file. This command is
+ essential for TeX formatting as well, even though it produces no
+ output. *Note `@setfilename': setfilename.
+
+`@setshortcontentsaftertitlepage'
+ Place the short table of contents after the `@end titlepage'
+ command even if the `@shortcontents' command is not there. *Note
+ Contents::.
+
+`@settitle TITLE'
+ Provide a title for page headers in a printed manual, and the
+ default document description for HTML `<head>'. *Note
+ `@settitle': settitle.
+
+`@shortcaption'
+ Define the short caption for a `@float'. *Note caption
+ shortcaption::.
+
+`@shortcontents'
+ Print a short table of contents. Not relevant to Info, which uses
+ menus rather than tables of contents. A synonym for
+ `@summarycontents'. *Note Generating a Table of Contents:
+ Contents.
+
+`@shorttitlepage TITLE'
+ Generate a minimal title page. *Note `@titlepage': titlepage.
+
+`@smallbook'
+ Cause TeX to produce a printed manual in a 7 by 9.25 inch format
+ rather than the regular 8.5 by 11 inch format. *Note Printing
+ Small Books: smallbook. Also, see *Note small::.
+
+`@smalldisplay'
+ Begin a kind of example. Like `@smallexample' (narrow margins, no
+ filling), but do not select the fixed-width font. Pair with `@end
+ smalldisplay'. *Note small::.
+
+`@smallexample'
+ Indent text to indicate an example. Do not fill, select
+ fixed-width font, narrow the margins. In printed manuals, print
+ text in a smaller font than with `@example'. Pair with `@end
+ smallexample'. *Note small::.
+
+`@smallformat'
+ Begin a kind of example. Like `@smalldisplay', but do not narrow
+ the margins. Pair with `@end smallformat'. *Note small::.
+
+`@smalllisp'
+ Begin an example of Lisp code. Same as `@smallexample'. Pair
+ with `@end smalllisp'. *Note small::.
+
+`@sp N'
+ Skip N blank lines. *Note `@sp': sp.
+
+`@ss{}'
+ Generate the German sharp-S es-zet letter, ss. *Note Inserting
+ Accents::.
+
+`@strong {TEXT}'
+ Emphasize TEXT by typesetting it in a *bold* font for the printed
+ manual and by surrounding it with asterisks for Info. *Note
+ Emphasizing Text: emph & strong.
+
+`@subheading TITLE'
+ Print an unnumbered subsection-like heading in the text, but not in
+ the table of contents of a printed manual. In Info, the title is
+ underlined with hyphens. *Note `@unnumberedsubsec'
+ `@appendixsubsec' `@subheading': unnumberedsubsec appendixsubsec
+ subheading.
+
+`@subsection TITLE'
+ Begin a subsection within a section. In a printed manual, the
+ subsection title is numbered and appears in the table of contents.
+ In Info, the title is underlined with hyphens. *Note
+ `@subsection': subsection.
+
+`@subsubheading TITLE'
+ Print an unnumbered subsubsection-like heading in the text, but
+ not in the table of contents of a printed manual. In Info, the
+ title is underlined with periods. *Note The `subsub' Commands:
+ subsubsection.
+
+`@subsubsection TITLE'
+ Begin a subsubsection within a subsection. In a printed manual,
+ the subsubsection title is numbered and appears in the table of
+ contents. In Info, the title is underlined with periods. *Note
+ The `subsub' Commands: subsubsection.
+
+`@subtitle TITLE'
+ In a printed manual, set a subtitle in a normal sized font flush to
+ the right-hand side of the page. Not relevant to Info, which does
+ not have title pages. *Note `@title' `@subtitle' and `@author'
+ Commands: title subtitle author.
+
+`@summarycontents'
+ Print a short table of contents. Not relevant to Info, which uses
+ menus rather than tables of contents. A synonym for
+ `@shortcontents'. *Note Generating a Table of Contents: Contents.
+
+`@syncodeindex FROM-INDEX INTO-INDEX'
+ Merge the index named in the first argument into the index named in
+ the second argument, printing the entries from the first index in
+ `@code' font. *Note Combining Indices::.
+
+`@synindex FROM-INDEX INTO-INDEX'
+ Merge the index named in the first argument into the index named in
+ the second argument. Do not change the font of FROM-INDEX
+ entries. *Note Combining Indices::.
+
+`@t{TEXT}'
+ Print TEXT in a fixed-width, typewriter-like font. No effect in
+ Info. *Note Fonts::.
+
+`@tab'
+ Separate columns in a multitable. *Note Multitable Rows::.
+
+`@table FORMATTING-COMMAND'
+ Begin a two-column table, using `@item' for each entry. Write
+ each first column entry on the same line as `@item'. First column
+ entries are printed in the font resulting from FORMATTING-COMMAND.
+ Pair with `@end table'. *Note Making a Two-column Table:
+ Two-column Tables. Also see *Note `@ftable' and `@vtable': ftable
+ vtable, and *Note `@itemx': itemx.
+
+`@TeX{}'
+ Insert the logo TeX. *Note TeX and LaTeX: tex.
+
+`@tex'
+ Enter TeX completely. Pair with `@end tex'. *Note Raw Formatter
+ Commands::.
+
+`@thischapter'
+`@thischaptername'
+`@thisfile'
+`@thispage'
+`@thistitle'
+ Only allowed in a heading or footing. Stands for the number and
+ name of the current chapter (in the format `Chapter 1: Title'),
+ the chapter name only, the filename, the current page number, and
+ the title of the document, respectively. *Note How to Make Your
+ Own Headings: Custom Headings.
+
+`@tie{}'
+ Generate a normal interword space at which a line break is not
+ allowed. *Note `@tie{}': tie.
+
+`@tieaccent{CC}'
+ Generate a tie-after accent over the next two characters CC, as in
+ `oo['. *Note Inserting Accents::.
+
+`@tindex ENTRY'
+ Add ENTRY to the index of data types. *Note Defining the Entries
+ of an Index: Index Entries.
+
+`@title TITLE'
+ In a printed manual, set a title flush to the left-hand side of the
+ page in a larger than normal font and underline it with a black
+ rule. Not relevant to Info, which does not have title pages.
+ *Note The `@title' `@subtitle' and `@author' Commands: title
+ subtitle author.
+
+`@titlefont{TEXT}'
+ In a printed manual, print TEXT in a larger than normal font. Not
+ relevant to Info, which does not have title pages. *Note The
+ `@titlefont' `@center' and `@sp' Commands: titlefont center sp.
+
+`@titlepage'
+ Indicate to Texinfo the beginning of the title page. Write
+ command on a line of its own. Pair with `@end titlepage'.
+ Nothing between `@titlepage' and `@end titlepage' appears in Info.
+ *Note `@titlepage': titlepage.
+
+`@today{}'
+ Insert the current date, in `1 Jan 1900' style. *Note How to Make
+ Your Own Headings: Custom Headings.
+
+`@top TITLE'
+ In a Texinfo file to be formatted with `makeinfo', identify the
+ topmost `@node' in the file, which must be written on the line
+ immediately preceding the `@top' command. Used for `makeinfo''s
+ node pointer insertion feature. The title is underlined with
+ asterisks. Both the `@node' line and the `@top' line normally
+ should be enclosed by `@ifnottex' and `@end ifnottex'. In TeX and
+ `texinfo-format-buffer', the `@top' command is merely a synonym
+ for `@unnumbered'. *Note Creating Pointers with `makeinfo':
+ makeinfo Pointer Creation.
+
+`@u{C}'
+`@ubaraccent{C}'
+`@udotaccent{C}'
+ Generate a breve, underbar, or underdot accent, respectively, over
+ or under the character C, as in o(, o_, .o. *Note Inserting
+ Accents::.
+
+`@unnumbered TITLE'
+ In a printed manual, begin a chapter that appears without chapter
+ numbers of any kind. The title appears in the table of contents
+ of a printed manual. In Info, the title is underlined with
+ asterisks. *Note `@unnumbered' and `@appendix': unnumbered &
+ appendix.
+
+`@unnumberedsec TITLE'
+ In a printed manual, begin a section that appears without section
+ numbers of any kind. The title appears in the table of contents
+ of a printed manual. In Info, the title is underlined with equal
+ signs. *Note Section Commands: unnumberedsec appendixsec heading.
+
+`@unnumberedsubsec TITLE'
+ In a printed manual, begin an unnumbered subsection within a
+ chapter. The title appears in the table of contents of a printed
+ manual. In Info, the title is underlined with hyphens. *Note
+ `@unnumberedsubsec' `@appendixsubsec' `@subheading':
+ unnumberedsubsec appendixsubsec subheading.
+
+`@unnumberedsubsubsec TITLE'
+ In a printed manual, begin an unnumbered subsubsection within a
+ chapter. The title appears in the table of contents of a printed
+ manual. In Info, the title is underlined with periods. *Note The
+ `subsub' Commands: subsubsection.
+
+`@uref{URL[, DISPLAYED-TEXT][, REPLACEMENT}'
+`@url{URL[, DISPLAYED-TEXT][, REPLACEMENT}'
+ Define a cross reference to an external uniform resource locator
+ for the World Wide Web. *Note `@uref': uref.
+
+`@v{C}'
+ Generate check accent over the character C, as in o<. *Note
+ Inserting Accents::.
+
+`@value{FLAG}'
+ Replace FLAG with the value to which it is set by `@set FLAG'.
+ *Note `@set' `@clear' `@value': set clear value.
+
+`@var{METASYNTACTIC-VARIABLE}'
+ Highlight a metasyntactic variable, which is something that stands
+ for another piece of text. *Note Indicating Metasyntactic
+ Variables: var.
+
+`@verb{DELIM LITERAL DELIM}'
+ Output LITERAL, delimited by the single character DELIM, exactly
+ as is (in the fixed-width font), including any whitespace or
+ Texinfo special characters. *Note `verb': verb.
+
+`@verbatim'
+ Output the text of the environment exactly as is (in the
+ fixed-width font). Pair with `@end verbatim'. *Note `verbatim':
+ verbatim.
+
+`@verbatiminclude FILENAME'
+ Output the contents of FILENAME exactly as is (in the fixed-width
+ font). *Note `verbatiminclude': verbatiminclude.
+
+`@vindex ENTRY'
+ Add ENTRY to the index of variables. *Note Defining the Entries
+ of an Index: Index Entries.
+
+`@vskip AMOUNT'
+ In a printed manual, insert whitespace so as to push text on the
+ remainder of the page towards the bottom of the page. Used in
+ formatting the copyright page with the argument `0pt plus 1filll'.
+ (Note spelling of `filll'.) `@vskip' may be used only in
+ contexts ignored for Info. *Note Copyright::.
+
+`@vtable FORMATTING-COMMAND'
+ Begin a two-column table, using `@item' for each entry.
+ Automatically enter each of the items in the first column into the
+ index of variables. Pair with `@end vtable'. The same as
+ `@table', except for indexing. *Note `@ftable' and `@vtable':
+ ftable vtable.
+
+`@w{TEXT}'
+ Prevent TEXT from being split across two lines. *Note `@w': w.
+
+`@xml'
+ Enter XML completely. Pair with `@end xml'. *Note Raw Formatter
+ Commands::.
+
+`@xref{NODE-NAME, [ENTRY], [TOPIC-OR-TITLE], [INFO-FILE], [MANUAL]}'
+ Make a reference that starts with `See' in a printed manual.
+ Follow command with a punctuation mark. Only the first argument is
+ mandatory. *Note `@xref': xref.
+
+
+File: texinfo.info, Node: Command Syntax, Up: Command List
+
+A.1 @-Command Syntax
+====================
+
+The character `@' is used to start special Texinfo commands. (It has
+the same meaning that `\' has in plain TeX.) Texinfo has four types of
+@-command:
+
+1. Non-alphabetic commands.
+ These commands consist of an @ followed by a punctuation mark or
+ other character that is not part of the alphabet. Non-alphabetic
+ commands are almost always part of the text within a paragraph,
+ and never take any argument. The two characters (@ and the other
+ one) are complete in themselves; none is followed by braces. The
+ non-alphabetic commands are: `@.', `@:', `@*', `@SPACE', `@TAB',
+ `@NL', `@@', `@{', and `@}'.
+
+2. Alphabetic commands that do not require arguments.
+ These commands start with @ followed by a word followed by left-
+ and right-hand braces. These commands insert special symbols in
+ the document; they do not require arguments. For example,
+ `@dots{}' => `...', `@equiv{}' => `==', `@TeX{}' => `TeX', and
+ `@bullet{}' => `*'.
+
+3. Alphabetic commands that require arguments within braces.
+ These commands start with @ followed by a letter or a word,
+ followed by an argument within braces. For example, the command
+ `@dfn' indicates the introductory or defining use of a term; it is
+ used as follows: `In Texinfo, @@-commands are @dfn{mark-up}
+ commands.'
+
+4. Alphabetic commands that occupy an entire line.
+ These commands occupy an entire line. The line starts with @,
+ followed by the name of the command (a word); for example,
+ `@center' or `@cindex'. If no argument is needed, the word is
+ followed by the end of the line. If there is an argument, it is
+ separated from the command name by a space. Braces are not used.
+
+ Thus, the alphabetic commands fall into classes that have different
+argument syntaxes. You cannot tell to which class a command belongs by
+the appearance of its name, but you can tell by the command's meaning:
+if the command stands for a glyph, it is in class 2 and does not
+require an argument; if it makes sense to use the command together with
+other text as part of a paragraph, the command is in class 3 and must
+be followed by an argument in braces; otherwise, it is in class 4 and
+uses the rest of the line as its argument.
+
+ The purpose of having a different syntax for commands of classes 3 and
+4 is to make Texinfo files easier to read, and also to help the GNU
+Emacs paragraph and filling commands work properly. There is only one
+exception to this rule: the command `@refill', which is always used at
+the end of a paragraph immediately following the final period or other
+punctuation character. `@refill' takes no argument and does _not_
+require braces. `@refill' never confuses the Emacs paragraph commands
+because it cannot appear at the beginning of a line. It is also no
+longer needed, since all formatters now refill paragraphs automatically.
+
+
+File: texinfo.info, Node: Tips, Next: Sample Texinfo Files, Prev: Command List, Up: Top
+
+Appendix B Tips and Hints
+*************************
+
+Here are some tips for writing Texinfo documentation:
+
+ * Write in the present tense, not in the past or the future.
+
+ * Write actively! For example, write "We recommend that ..." rather
+ than "It is recommended that ...".
+
+ * Use 70 or 72 as your fill column. Longer lines are hard to read.
+
+ * Include a copyright notice and copying permissions.
+
+Index, Index, Index!
+....................
+
+Write many index entries, in different ways. Readers like indices;
+they are helpful and convenient.
+
+ Although it is easiest to write index entries as you write the body of
+the text, some people prefer to write entries afterwards. In either
+case, write an entry before the paragraph to which it applies. This
+way, an index entry points to the first page of a paragraph that is
+split across pages.
+
+ Here are more hints we have found valuable:
+
+ * Write each index entry differently, so each entry refers to a
+ different place in the document.
+
+ * Write index entries only where a topic is discussed significantly.
+ For example, it is not useful to index "debugging information" in
+ a chapter on reporting bugs. Someone who wants to know about
+ debugging information will certainly not find it in that chapter.
+
+ * Consistently capitalize the first word of every concept index
+ entry, or else consistently use lower case. Terse entries often
+ call for lower case; longer entries for capitalization. Whichever
+ case convention you use, please use one or the other consistently!
+ Mixing the two styles looks bad.
+
+ * Always capitalize or use upper case for those words in an index for
+ which this is proper, such as names of countries or acronyms.
+ Always use the appropriate case for case-sensitive names, such as
+ those in C or Lisp.
+
+ * Write the indexing commands that refer to a whole section
+ immediately after the section command, and write the indexing
+ commands that refer to a paragraph before that paragraph.
+
+ In the example that follows, a blank line comes after the index
+ entry for "Leaping":
+
+ @section The Dog and the Fox
+ @cindex Jumping, in general
+ @cindex Leaping
+
+ @cindex Dog, lazy, jumped over
+ @cindex Lazy dog jumped over
+ @cindex Fox, jumps over dog
+ @cindex Quick fox jumps over dog
+ The quick brown fox jumps over the lazy dog.
+
+ (Note that the example shows entries for the same concept that are
+ written in different ways--`Lazy dog', and `Dog, lazy'--so readers
+ can look up the concept in different ways.)
+
+Blank Lines
+...........
+
+ * Insert a blank line between a sectioning command and the first
+ following sentence or paragraph, or between the indexing commands
+ associated with the sectioning command and the first following
+ sentence or paragraph, as shown in the tip on indexing.
+ Otherwise, a formatter may fold title and paragraph together.
+
+ * Always insert a blank line before an `@table' command and after an
+ `@end table' command; but never insert a blank line after an
+ `@table' command or before an `@end table' command.
+
+ For example,
+
+ Types of fox:
+
+ @table @samp
+ @item Quick
+ Jump over lazy dogs.
+
+ @item Brown
+ Also jump over lazy dogs.
+ @end table
+ @noindent
+ On the other hand, ...
+
+ Insert blank lines before and after `@itemize' ... `@end itemize'
+ and `@enumerate' ... `@end enumerate' in the same way.
+
+Complete Phrases
+................
+
+Complete phrases are easier to read than ...
+
+ * Write entries in an itemized list as complete sentences; or at
+ least, as complete phrases. Incomplete expressions ... awkward
+ ... like this.
+
+ * Write the prefatory sentence or phrase for a multi-item list or
+ table as a complete expression. Do not write "You can set:";
+ instead, write "You can set these variables:". The former
+ expression sounds cut off.
+
+Editions, Dates and Versions
+............................
+
+Include edition numbers, version numbers, and dates in the `@copying'
+text (for people reading the Texinfo file, and for the legal copyright
+in the output files). Then use `@insertcopying' in the `@titlepage'
+section (for people reading the printed output) and the Top node (for
+people reading the online output).
+
+ It is easiest to do this using `@set' and `@value'. *Note `@value'
+Example: value Example, and *Note GNU Sample Texts::.
+
+Definition Commands
+...................
+
+Definition commands are `@deffn', `@defun', `@defmac', and the like,
+and enable you to write descriptions in a uniform format.
+
+ * Write just one definition command for each entity you define with a
+ definition command. The automatic indexing feature creates an
+ index entry that leads the reader to the definition.
+
+ * Use `@table' ... `@end table' in an appendix that contains a
+ summary of functions, not `@deffn' or other definition commands.
+
+Capitalization
+..............
+
+ * Capitalize "Texinfo"; it is a name. Do not write the `x' or `i'
+ in upper case.
+
+ * Capitalize "Info"; it is a name.
+
+ * Write TeX using the `@TeX{}' command. Note the uppercase `T' and
+ `X'. This command causes the formatters to typeset the name
+ according to the wishes of Donald Knuth, who wrote TeX.
+
+Spaces
+......
+
+Do not use spaces to format a Texinfo file, except inside of `@example'
+... `@end example' and other literal environments and commands.
+
+ For example, TeX fills the following:
+
+ @kbd{C-x v}
+ @kbd{M-x vc-next-action}
+ Perform the next logical operation
+ on the version-controlled file
+ corresponding to the current buffer.
+
+so it looks like this:
+
+ `C-x v' `M-x vc-next-action' Perform the next logical operation on
+ the version-controlled file corresponding to the current buffer.
+
+In this case, the text should be formatted with `@table', `@item', and
+`@itemx', to create a table.
+
+@code, @samp, @var, and `---'
+.............................
+
+ * Use `@code' around Lisp symbols, including command names. For
+ example,
+
+ The main function is @code{vc-next-action}, ...
+
+ * Avoid putting letters such as `s' immediately after an `@code'.
+ Such letters look bad.
+
+ * Use `@var' around meta-variables. Do not write angle brackets
+ around them.
+
+ * Use three hyphens in a row, `---', to indicate a long dash. TeX
+ typesets these as a long dash and the Info formatters reduce three
+ hyphens to two.
+
+Periods Outside of Quotes
+.........................
+
+Place periods and other punctuation marks _outside_ of quotations,
+unless the punctuation is part of the quotation. This practice goes
+against publishing conventions in the United States, but enables the
+reader to distinguish between the contents of the quotation and the
+whole passage.
+
+ For example, you should write the following sentence with the period
+outside the end quotation marks:
+
+ Evidently, `au' is an abbreviation for ``author''.
+
+since `au' does _not_ serve as an abbreviation for `author.' (with a
+period following the word).
+
+Introducing New Terms
+.....................
+
+ * Introduce new terms so that a reader who does not know them can
+ understand them from context; or write a definition for the term.
+
+ For example, in the following, the terms "check in", "register" and
+ "delta" are all appearing for the first time; the example sentence
+ should be rewritten so they are understandable.
+
+ The major function assists you in checking in a file to your
+ version control system and registering successive sets of
+ changes to it as deltas.
+
+ * Use the `@dfn' command around a word being introduced, to indicate
+ that the reader should not expect to know the meaning already, and
+ should expect to learn the meaning from this passage.
+
+@pxref
+......
+
+Absolutely never use `@pxref' except in the special context for which
+it is designed: inside parentheses, with the closing parenthesis
+following immediately after the closing brace. One formatter
+automatically inserts closing punctuation and the other does not. This
+means that the output looks right both in printed output and in an Info
+file, but only when the command is used inside parentheses.
+
+Invoking from a Shell
+.....................
+
+You can invoke programs such as Emacs, GCC, and `gawk' from a shell.
+The documentation for each program should contain a section that
+describes this. Unfortunately, if the node names and titles for these
+sections are all different, they are difficult for users to find.
+
+ So, there is a convention to name such sections with a phrase
+beginning with the word `Invoking', as in `Invoking Emacs'; this way,
+users can find the section easily.
+
+ANSI C Syntax
+.............
+
+When you use `@example' to describe a C function's calling conventions,
+use the ANSI C syntax, like this:
+
+ void dld_init (char *@var{path});
+
+And in the subsequent discussion, refer to the argument values by
+writing the same argument names, again highlighted with `@var'.
+
+ Avoid the obsolete style that looks like this:
+
+ #include <dld.h>
+
+ dld_init (path)
+ char *path;
+
+ Also, it is best to avoid writing `#include' above the declaration
+just to indicate that the function is declared in a header file. The
+practice may give the misimpression that the `#include' belongs near
+the declaration of the function. Either state explicitly which header
+file holds the declaration or, better yet, name the header file used
+for a group of functions at the beginning of the section that describes
+the functions.
+
+Bad Examples
+............
+
+Here are several examples of bad writing to avoid:
+
+ In this example, say, " ... you must `@dfn'{check in} the new
+version." That flows better.
+
+ When you are done editing the file, you must perform a
+ `@dfn'{check in}.
+
+ In the following example, say, "... makes a unified interface such as
+VC mode possible."
+
+ SCCS, RCS and other version-control systems all perform similar
+ functions in broadly similar ways (it is this resemblance which
+ makes a unified control mode like this possible).
+
+ And in this example, you should specify what `it' refers to:
+
+ If you are working with other people, it assists in coordinating
+ everyone's changes so they do not step on each other.
+
+And Finally ...
+...............
+
+ * Pronounce TeX as if the `X' were a Greek `chi', as the last sound
+ in the name `Bach'. But pronounce Texinfo as in `speck':
+ "teckinfo".
+
+ * Write notes for yourself at the very end of a Texinfo file after
+ the `@bye'. None of the formatters process text after the `@bye';
+ it is as if the text were within `@ignore' ... `@end ignore'.
+
+
+File: texinfo.info, Node: Sample Texinfo Files, Next: Include Files, Prev: Tips, Up: Top
+
+Appendix C Sample Texinfo Files
+*******************************
+
+The first example is from the first chapter (*note Short Sample::),
+given here in its entirety, without commentary. The second includes
+the full texts to be used in GNU manuals.
+
+* Menu:
+
+* Short Sample Texinfo File::
+* GNU Sample Texts::
+* Verbatim Copying License::
+* All-permissive Copying License::
+
+
+File: texinfo.info, Node: Short Sample Texinfo File, Next: GNU Sample Texts, Up: Sample Texinfo Files
+
+C.1 Short Sample
+================
+
+Here is a complete, short sample Texinfo file, without any commentary.
+You can see this file, with comments, in the first chapter. *Note
+Short Sample::.
+
+ In a nutshell: The `makeinfo' program transforms a Texinfo source
+file such as this into an Info file or HTML; and TeX typesets it for a
+printed manual.
+
+
+ \input texinfo @c -*-texinfo-*-
+ @c %**start of header
+ @setfilename sample.info
+ @settitle Sample Manual 1.0
+ @c %**end of header
+
+ @copying
+ This is a short example of a complete Texinfo file.
+
+ Copyright (C) 2004 Free Software Foundation, Inc.
+ @end copying
+
+ @titlepage
+ @title Sample Title
+ @page
+ @vskip 0pt plus 1filll
+ @insertcopying
+ @end titlepage
+
+ @c Output the table of the contents at the beginning.
+ @contents
+
+ @ifnottex
+ @node Top
+ @top GNU Sample
+
+ @insertcopying
+ @end ifnottex
+
+ @menu
+ * First Chapter:: The first chapter is the
+ only chapter in this sample.
+ * Index:: Complete index.
+ @end menu
+
+
+ @node First Chapter
+ @chapter First Chapter
+
+ @cindex chapter, first
+
+ This is the first chapter.
+ @cindex index entry, another
+
+ Here is a numbered list.
+
+ @enumerate
+ @item
+ This is the first item.
+
+ @item
+ This is the second item.
+ @end enumerate
+
+
+ @node Index
+ @unnumbered Index
+
+ @printindex cp
+
+ @bye
+
+
+File: texinfo.info, Node: GNU Sample Texts, Next: Verbatim Copying License, Prev: Short Sample Texinfo File, Up: Sample Texinfo Files
+
+C.2 GNU Sample Texts
+====================
+
+Following is a sample Texinfo document with the full texts that should
+be used in GNU manuals.
+
+ As well as the legal texts, it also serves as a practical example of
+how many elements in a GNU system can affect the manual. If you're not
+familiar with all these different elements, don't worry. They're not
+required and a perfectly good manual can be written without them.
+They're included here nonetheless because many manuals do (or could)
+benefit from them.
+
+ *Note Short Sample::, for a minimal example of a Texinfo file. *Note
+Beginning a File::, for a full explanation of that minimal example.
+
+ Here are some notes on the example:
+
+ * The `$Id:' comment is for the CVS (*note Overview: (cvs)Top.) or
+ RCS (see rcsintro(1)) version control systems, which expand it
+ into a string such as:
+ $Id: texinfo.txi,v 1.52 2004/04/09 21:30:07 karl Exp $
+ (This is useful in all sources that use version control, not just
+ manuals.) You may wish to include the `$Id:' comment in the
+ `@copying' text, if you want a completely unambiguous reference to
+ the documentation version.
+
+ If you want to literally write $Id$, use `@w': `@w{$}Id$'.
+
+ * The `version.texi' in the `@include' command is maintained
+ automatically by Automake (*note Introduction: (automake)Top.).
+ It sets the `VERSION' and `UPDATED' values used elsewhere. If
+ your distribution doesn't use Automake, but you do use Emacs, you
+ may find the time-stamp.el package helpful (*note Time Stamps:
+ (emacs)Time Stamps.).
+
+ * The `@syncodeindex' command reflects the recommendation to use
+ only one index where possible, to make it easier for readers to
+ look up index entries.
+
+ * The `@dircategory' is for constructing the Info directory. *Note
+ Installing Dir Entries::, which includes a variety of recommended
+ category names.
+
+ * The `Invoking' node is a GNU standard to help users find the basic
+ information about command-line usage of a given program. *Note
+ Manual Structure Details: (standards)Manual Structure Details.
+
+ * It is best to include the entire GNU Free Documentation License in
+ a GNU manual, unless the manual is only a few pages long. Of
+ course this sample is even shorter than that, but it includes the
+ FDL anyway in order to show one conventional way to do so. The
+ `fdl.texi' file is available on the GNU machines and in the
+ Texinfo and other GNU source distributions.
+
+ The FDL provides for omitting itself under certain conditions, but
+ in that case the sample texts given here have to be modified.
+ *Note GNU Free Documentation License::.
+
+ * If your manual has invariant sections (again, see the license
+ itself for details), then don't forget to change the text here
+ accordingly.
+
+ * For documents that express your personal views, feelings or
+ experiences, it is more appropriate to use a license permitting
+ only verbatim copying, rather than the FDL. *Note Verbatim
+ Copying License::.
+
+
+ Here is the sample document:
+
+
+\input texinfo @c -*-texinfo-*-
+@comment $Id: texinfo.txi,v 1.52 2004/04/09 21:30:07 karl Exp $
+@comment %**start of header
+@setfilename sample.info
+@include version.texi
+@settitle GNU Sample @value{VERSION}
+@syncodeindex pg cp
+@comment %**end of header
+@copying
+This manual is for GNU Sample
+(version @value{VERSION}, @value{UPDATED}),
+which is an example in the Texinfo documentation.
+
+Copyright @copyright{} 2004 Free Software Foundation, Inc.
+
+@quotation
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,''
+and with the Back-Cover Texts as in (a) below. A copy of the
+license is included in the section entitled ``GNU Free Documentation
+License.''
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
+this GNU Manual, like GNU software. Copies published by the Free
+Software Foundation raise funds for GNU development.''
+@end quotation
+@end copying
+
+@dircategory Texinfo documentation system
+@direntry
+* sample: (sample)Invoking sample.
+@end direntry
+
+@titlepage
+@title GNU Sample
+@subtitle for version @value{VERSION}, @value{UPDATED}
+@author A.U. Thor (@email{bug-texinfo@@gnu.org})
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+@end titlepage
+
+@contents
+
+@ifnottex
+@node Top
+@top GNU Sample
+
+@insertcopying
+@end ifnottex
+
+@menu
+* Invoking sample::
+* Copying This Manual::
+* Index::
+@end menu
+
+
+@node Invoking sample
+@chapter Invoking sample
+
+@pindex sample
+@cindex invoking @command{sample}
+
+This is a sample manual. There is no sample program to
+invoke, but if there was, you could see its basic usage
+and command line options here.
+
+
+@node Copying This Manual
+@appendix Copying This Manual
+
+@menu
+* GNU Free Documentation License:: License for copying this manual.
+@end menu
+
+@include fdl.texi
+
+
+@node Index
+@unnumbered Index
+
+@printindex cp
+
+@bye
+
+
+File: texinfo.info, Node: Verbatim Copying License, Next: All-permissive Copying License, Prev: GNU Sample Texts, Up: Sample Texinfo Files
+
+C.3 Verbatim Copying License
+============================
+
+For software manuals and other documentation, it is important to use a
+license permitting free redistribution and updating, so that when a free
+program is changed, the documentation can be updated as well.
+
+ On the other hand, for documents that express your personal views,
+feelings or experiences, it is more appropriate to use a license
+permitting only verbatim copying.
+
+ Here is sample text for such a license permitting verbatim copying
+only. This is just the license text itself. For a complete sample
+document, see the previous sections.
+
+
+@copying
+This document is a sample for allowing verbatim copying only.
+
+Copyright @copyright{} 2004 Free Software Foundation, Inc.
+
+@quotation
+Permission is granted to make and distribute verbatim copies
+of this entire document without royalty provided the
+copyright notice and this permission notice are preserved.
+@end quotation
+@end copying
+
+
+File: texinfo.info, Node: All-permissive Copying License, Prev: Verbatim Copying License, Up: Sample Texinfo Files
+
+C.4 All-permissive Copying License
+==================================
+
+For software manuals and other documentation, it is important to use a
+license permitting free redistribution and updating, so that when a free
+program is changed, the documentation can be updated as well.
+
+ On the other hand, for small supporting files, short manuals (under
+300 lines long) and rough documentation (README files, INSTALL files,
+etc.), the full FDL would be overkill. They can use a simple
+all-permissive license.
+
+ Here is sample text for such an all-permissive license. This is just
+the license text itself. For a complete sample document, see the
+previous sections.
+
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved.
+
+
+File: texinfo.info, Node: Include Files, Next: Headings, Prev: Sample Texinfo Files, Up: Top
+
+Appendix D Include Files
+************************
+
+When TeX or an Info formatting command sees an `@include' command in a
+Texinfo file, it processes the contents of the file named by the
+command and incorporates them into the DVI or Info file being created.
+Index entries from the included file are incorporated into the indices
+of the output file.
+
+ Include files let you keep a single large document as a collection of
+conveniently small parts.
+
+* Menu:
+
+* Using Include Files:: How to use the `@include' command.
+* texinfo-multiple-files-update:: How to create and update nodes and
+ menus when using included files.
+* Include Files Requirements:: `texinfo-multiple-files-update' needs.
+* Sample Include File:: A sample outer file with included files
+ within it; and a sample included file.
+* Include Files Evolution:: How use of the `@include' command
+ has changed over time.
+
+
+File: texinfo.info, Node: Using Include Files, Next: texinfo-multiple-files-update, Up: Include Files
+
+D.1 How to Use Include Files
+============================
+
+To include another file within a Texinfo file, write the `@include'
+command at the beginning of a line and follow it on the same line by
+the name of a file to be included. For example:
+
+ @include buffers.texi
+
+ The name of the file is taken literally, with a single exception:
+`@value{VAR}' references are expanded. This makes it possible to
+reliably include files in other directories in a distribution. *Note
+`@verbatiminclude': verbatiminclude, for an example.
+
+ An included file should simply be a segment of text that you expect to
+be included as is into the overall or "outer" Texinfo file; it should
+not contain the standard beginning and end parts of a Texinfo file. In
+particular, you should not start an included file with a line saying
+`\input texinfo'; if you do, that phrase is inserted into the output
+file as is. Likewise, you should not end an included file with an
+`@bye' command; nothing after `@bye' is formatted.
+
+ In the past, you were required to write an `@setfilename' line at the
+beginning of an included file, but no longer. Now, it does not matter
+whether you write such a line. If an `@setfilename' line exists in an
+included file, it is ignored.
+
+ Conventionally, an included file begins with an `@node' line that is
+followed by an `@chapter' line. Each included file is one chapter.
+This makes it easy to use the regular node and menu creating and
+updating commands to create the node pointers and menus within the
+included file. However, the simple Emacs node and menu creating and
+updating commands do not work with multiple Texinfo files. Thus you
+cannot use these commands to fill in the `Next', `Previous', and `Up'
+pointers of the `@node' line that begins the included file. Also, you
+cannot use the regular commands to create a master menu for the whole
+file. Either you must insert the menus and the `Next', `Previous', and
+`Up' pointers by hand, or you must use the GNU Emacs Texinfo mode
+command, `texinfo-multiple-files-update', that is designed for
+`@include' files.
+
+ When an included file does not have any node lines in it, the
+multiple files update command does not try to create a menu entry for
+it. Consequently, you can include any file, such as a version or an
+update file without node lines, not just files that are chapters.
+Small includable files like this are created by Automake (*note GNU
+Sample Texts::).
+
+
+File: texinfo.info, Node: texinfo-multiple-files-update, Next: Include Files Requirements, Prev: Using Include Files, Up: Include Files
+
+D.2 `texinfo-multiple-files-update'
+===================================
+
+GNU Emacs Texinfo mode provides the `texinfo-multiple-files-update'
+command. This command creates or updates `Next', `Previous', and `Up'
+pointers of included files as well as those in the outer or overall
+Texinfo file, and it creates or updates a main menu in the outer file.
+Depending whether you call it with optional arguments, the command
+updates only the pointers in the first `@node' line of the included
+files or all of them:
+
+`M-x texinfo-multiple-files-update'
+ Called without any arguments:
+
+ - Create or update the `Next', `Previous', and `Up' pointers of
+ the first `@node' line in each file included in an outer or
+ overall Texinfo file.
+
+ - Create or update the `Top' level node pointers of the outer or
+ overall file.
+
+ - Create or update a main menu in the outer file.
+
+`C-u M-x texinfo-multiple-files-update'
+ Called with `C-u' as a prefix argument:
+
+ - Create or update pointers in the first `@node' line in each
+ included file.
+
+ - Create or update the `Top' level node pointers of the outer
+ file.
+
+ - Create and insert a master menu in the outer file. The
+ master menu is made from all the menus in all the included
+ files.
+
+`C-u 8 M-x texinfo-multiple-files-update'
+ Called with a numeric prefix argument, such as `C-u 8':
+
+ - Create or update *all* the `Next', `Previous', and `Up'
+ pointers of all the included files.
+
+ - Create or update *all* the menus of all the included files.
+
+ - Create or update the `Top' level node pointers of the outer or
+ overall file.
+
+ - And then create a master menu in the outer file. This is
+ similar to invoking `texinfo-master-menu' with an argument
+ when you are working with just one file.
+
+ Note the use of the prefix argument in interactive use: with a regular
+prefix argument, just `C-u', the `texinfo-multiple-files-update'
+command inserts a master menu; with a numeric prefix argument, such as
+`C-u 8', the command updates *every* pointer and menu in *all* the
+files and then inserts a master menu.
+
+
+File: texinfo.info, Node: Include Files Requirements, Next: Sample Include File, Prev: texinfo-multiple-files-update, Up: Include Files
+
+D.3 Include Files Requirements
+==============================
+
+If you plan to use the `texinfo-multiple-files-update' command, the
+outer Texinfo file that lists included files within it should contain
+nothing but the beginning and end parts of a Texinfo file, and a number
+of `@include' commands listing the included files. It should not even
+include indices, which should be listed in an included file of their
+own.
+
+ Moreover, each of the included files must contain exactly one highest
+level node (conventionally, `@chapter' or equivalent), and this node
+must be the first node in the included file. Furthermore, each of
+these highest level nodes in each included file must be at the same
+hierarchical level in the file structure. Usually, each is an
+`@chapter', an `@appendix', or an `@unnumbered' node. Thus, normally,
+each included file contains one, and only one, chapter or
+equivalent-level node.
+
+ The outer file should contain only _one_ node, the `Top' node. It
+should _not_ contain any nodes besides the single `Top' node. The
+`texinfo-multiple-files-update' command will not process them.
+
+
+File: texinfo.info, Node: Sample Include File, Next: Include Files Evolution, Prev: Include Files Requirements, Up: Include Files
+
+D.4 Sample File with `@include'
+===============================
+
+Here is an example of an outer Texinfo file with `@include' files
+within it before running `texinfo-multiple-files-update', which would
+insert a main or master menu:
+
+ \input texinfo @c -*-texinfo-*-
+ @setfilename include-example.info
+ @settitle Include Example
+
+ ... *Note Sample Texinfo Files::, for
+ examples of the rest of the frontmatter ...
+
+ @ifnottex
+ @node Top
+ @top Include Example
+ @end ifnottex
+
+ @include foo.texinfo
+ @include bar.texinfo
+ @include concept-index.texinfo
+ @bye
+
+ An included file, such as `foo.texinfo', might look like this:
+
+ @node First
+ @chapter First Chapter
+
+ Contents of first chapter ...
+
+ The full contents of `concept-index.texinfo' might be as simple as
+this:
+
+ @node Concept Index
+ @unnumbered Concept Index
+
+ @printindex cp
+
+ The outer Texinfo source file for `The GNU Emacs Lisp Reference
+Manual' is named `elisp.texi'. This outer file contains a master menu
+with 417 entries and a list of 41 `@include' files.
+
+
+File: texinfo.info, Node: Include Files Evolution, Prev: Sample Include File, Up: Include Files
+
+D.5 Evolution of Include Files
+==============================
+
+When Info was first created, it was customary to create many small Info
+files on one subject. Each Info file was formatted from its own
+Texinfo source file. This custom meant that Emacs did not need to make
+a large buffer to hold the whole of a large Info file when someone
+wanted information; instead, Emacs allocated just enough memory for the
+small Info file that contained the particular information sought. This
+way, Emacs could avoid wasting memory.
+
+ References from one file to another were made by referring to the file
+name as well as the node name. (*Note Referring to Other Info Files:
+Other Info Files. Also, see *Note `@xref' with Four and Five
+Arguments: Four and Five Arguments.)
+
+ Include files were designed primarily as a way to create a single,
+large printed manual out of several smaller Info files. In a printed
+manual, all the references were within the same document, so TeX could
+automatically determine the references' page numbers. The Info
+formatting commands used include files only for creating joint indices;
+each of the individual Texinfo files had to be formatted for Info
+individually. (Each, therefore, required its own `@setfilename' line.)
+
+ However, because large Info files are now split automatically, it is
+no longer necessary to keep them small.
+
+ Nowadays, multiple Texinfo files are used mostly for large documents,
+such as `The GNU Emacs Lisp Reference Manual', and for projects in
+which several different people write different sections of a document
+simultaneously.
+
+ In addition, the Info formatting commands have been extended to work
+with the `@include' command so as to create a single large Info file
+that is split into smaller files if necessary. This means that you can
+write menus and cross references without naming the different Texinfo
+files.
+
+
+File: texinfo.info, Node: Headings, Next: Catching Mistakes, Prev: Include Files, Up: Top
+
+Appendix E Page Headings
+************************
+
+Most printed manuals contain headings along the top of every page
+except the title and copyright pages. Some manuals also contain
+footings. (Headings and footings have no meaning to Info, which is not
+paginated.)
+
+* Menu:
+
+* Headings Introduced:: Conventions for using page headings.
+* Heading Format:: Standard page heading formats.
+* Heading Choice:: How to specify the type of page heading.
+* Custom Headings:: How to create your own headings and footings.
+
+
+File: texinfo.info, Node: Headings Introduced, Next: Heading Format, Up: Headings
+
+E.1 Headings Introduced
+=======================
+
+Texinfo provides standard page heading formats for manuals that are
+printed on one side of each sheet of paper and for manuals that are
+printed on both sides of the paper. Typically, you will use these
+formats, but you can specify your own format if you wish.
+
+ In addition, you can specify whether chapters should begin on a new
+page, or merely continue the same page as the previous chapter; and if
+chapters begin on new pages, you can specify whether they must be
+odd-numbered pages.
+
+ By convention, a book is printed on both sides of each sheet of paper.
+When you open a book, the right-hand page is odd-numbered, and chapters
+begin on right-hand pages--a preceding left-hand page is left blank if
+necessary. Reports, however, are often printed on just one side of
+paper, and chapters begin on a fresh page immediately following the end
+of the preceding chapter. In short or informal reports, chapters often
+do not begin on a new page at all, but are separated from the preceding
+text by a small amount of whitespace.
+
+ The `@setchapternewpage' command controls whether chapters begin on
+new pages, and whether one of the standard heading formats is used. In
+addition, Texinfo has several heading and footing commands that you can
+use to generate your own heading and footing formats.
+
+ In Texinfo, headings and footings are single lines at the tops and
+bottoms of pages; you cannot create multiline headings or footings.
+Each header or footer line is divided into three parts: a left part, a
+middle part, and a right part. Any part, or a whole line, may be left
+blank. Text for the left part of a header or footer line is set
+flushleft; text for the middle part is centered; and, text for the
+right part is set flushright.
+
+
+File: texinfo.info, Node: Heading Format, Next: Heading Choice, Prev: Headings Introduced, Up: Headings
+
+E.2 Standard Heading Formats
+============================
+
+Texinfo provides two standard heading formats, one for manuals printed
+on one side of each sheet of paper, and the other for manuals printed
+on both sides of the paper.
+
+ By default, nothing is specified for the footing of a Texinfo file,
+so the footing remains blank.
+
+ The standard format for single-sided printing consists of a header
+line in which the left-hand part contains the name of the chapter, the
+central part is blank, and the right-hand part contains the page number.
+
+ A single-sided page looks like this:
+
+ _______________________
+ | |
+ | chapter page number |
+ | |
+ | Start of text ... |
+ | ... |
+ | |
+
+ The standard format for two-sided printing depends on whether the page
+number is even or odd. By convention, even-numbered pages are on the
+left- and odd-numbered pages are on the right. (TeX will adjust the
+widths of the left- and right-hand margins. Usually, widths are
+correct, but during double-sided printing, it is wise to check that
+pages will bind properly--sometimes a printer will produce output in
+which the even-numbered pages have a larger right-hand margin than the
+odd-numbered pages.)
+
+ In the standard double-sided format, the left part of the left-hand
+(even-numbered) page contains the page number, the central part is
+blank, and the right part contains the title (specified by the
+`@settitle' command). The left part of the right-hand (odd-numbered)
+page contains the name of the chapter, the central part is blank, and
+the right part contains the page number.
+
+ Two pages, side by side as in an open book, look like this:
+
+ _______________________ _______________________
+ | | | |
+ | page number title | | chapter page number |
+ | | | |
+ | Start of text ... | | More text ... |
+ | ... | | ... |
+ | | | |
+
+The chapter name is preceded by the word "Chapter", the chapter number
+and a colon. This makes it easier to keep track of where you are in the
+manual.
+
+
+File: texinfo.info, Node: Heading Choice, Next: Custom Headings, Prev: Heading Format, Up: Headings
+
+E.3 Specifying the Type of Heading
+==================================
+
+TeX does not begin to generate page headings for a standard Texinfo
+file until it reaches the `@end titlepage' command. Thus, the title
+and copyright pages are not numbered. The `@end titlepage' command
+causes TeX to begin to generate page headings according to a standard
+format specified by the `@setchapternewpage' command that precedes the
+`@titlepage' section.
+
+ There are four possibilities:
+
+No `@setchapternewpage' command
+ Cause TeX to specify the single-sided heading format, with chapters
+ on new pages. This is the same as `@setchapternewpage on'.
+
+`@setchapternewpage on'
+ Specify the single-sided heading format, with chapters on new
+ pages.
+
+`@setchapternewpage off'
+ Cause TeX to start a new chapter on the same page as the last page
+ of the preceding chapter, after skipping some vertical whitespace.
+ Also cause TeX to typeset for single-sided printing. (You can
+ override the headers format with the `@headings double' command;
+ see *Note The `@headings' Command: headings on off.)
+
+`@setchapternewpage odd'
+ Specify the double-sided heading format, with chapters on new
+ pages.
+
+Texinfo lacks an `@setchapternewpage even' command.
+
+
+File: texinfo.info, Node: Custom Headings, Prev: Heading Choice, Up: Headings
+
+E.4 How to Make Your Own Headings
+=================================
+
+You can use the standard headings provided with Texinfo or specify your
+own. By default, Texinfo has no footers, so if you specify them, the
+available page size for the main text will be slightly reduced.
+
+ Texinfo provides six commands for specifying headings and footings:
+ * `@everyheading' `@everyfooting' generate page headers and footers
+ that are the same for both even- and odd-numbered pages.
+
+ * `@evenheading' and `@evenfooting' command generate headers and
+ footers for even-numbered (left-hand) pages.
+
+ * `@oddheading' and `@oddfooting' generate headers and footers for
+ odd-numbered (right-hand) pages.
+
+ Write custom heading specifications in the Texinfo file immediately
+after the `@end titlepage' command. You must cancel the predefined
+heading commands with the `@headings off' command before defining your
+own specifications.
+
+ Here is how to tell TeX to place the chapter name at the left, the
+page number in the center, and the date at the right of every header
+for both even- and odd-numbered pages:
+
+ @headings off
+ @everyheading @thischapter @| @thispage @| @today{}
+
+You need to divide the left part from the central part and the central
+part from the right part by inserting `@|' between parts. Otherwise,
+the specification command will not be able to tell where the text for
+one part ends and the next part begins.
+
+ Each part can contain text or @-commands. The text is printed as if
+the part were within an ordinary paragraph in the body of the page.
+The @-commands replace themselves with the page number, date, chapter
+name, or whatever.
+
+ Here are the six heading and footing commands:
+
+`@everyheading LEFT @| CENTER @| RIGHT'
+`@everyfooting LEFT @| CENTER @| RIGHT'
+ The `every' commands specify the format for both even- and
+ odd-numbered pages. These commands are for documents that are
+ printed on one side of each sheet of paper, or for documents in
+ which you want symmetrical headers or footers.
+
+`@evenheading LEFT @| CENTER @| RIGHT'
+`@oddheading LEFT @| CENTER @| RIGHT'
+`@evenfooting LEFT @| CENTER @| RIGHT'
+`@oddfooting LEFT @| CENTER @| RIGHT'
+ The `even' and `odd' commands specify the format for even-numbered
+ pages and odd-numbered pages. These commands are for books and
+ manuals that are printed on both sides of each sheet of paper.
+
+ Use the `@this...' series of @-commands to provide the names of
+chapters and sections and the page number. You can use the `@this...'
+commands in the left, center, or right portions of headers and footers,
+or anywhere else in a Texinfo file so long as they are between `@iftex'
+and `@end iftex' commands.
+
+ Here are the `@this...' commands:
+
+`@thispage'
+ Expands to the current page number.
+
+`@thischaptername'
+ Expands to the name of the current chapter.
+
+`@thischapter'
+ Expands to the number and name of the current chapter, in the
+ format `Chapter 1: Title'.
+
+`@thistitle'
+ Expands to the name of the document, as specified by the
+ `@settitle' command.
+
+`@thisfile'
+ For `@include' files only: expands to the name of the current
+ `@include' file. If the current Texinfo source file is not an
+ `@include' file, this command has no effect. This command does
+ _not_ provide the name of the current Texinfo source file unless
+ it is an `@include' file. (*Note Include Files::, for more
+ information about `@include' files.)
+
+You can also use the `@today{}' command, which expands to the current
+date, in `1 Jan 1900' format.
+
+ Other @-commands and text are printed in a header or footer just as
+if they were in the body of a page. It is useful to incorporate text,
+particularly when you are writing drafts:
+
+ @headings off
+ @everyheading @emph{Draft!} @| @thispage @| @thischapter
+ @everyfooting @| @| Version: 0.27: @today{}
+
+ Beware of overlong titles: they may overlap another part of the
+header or footer and blot it out.
+
+
+File: texinfo.info, Node: Catching Mistakes, Next: Copying This Manual, Prev: Headings, Up: Top
+
+Appendix F Formatting Mistakes
+******************************
+
+Besides mistakes in the content of your documentation, there are two
+kinds of mistake you can make with Texinfo: you can make mistakes with
+@-commands, and you can make mistakes with the structure of the nodes
+and chapters.
+
+ Emacs has two tools for catching the @-command mistakes and two for
+catching structuring mistakes.
+
+ For finding problems with @-commands, you can run TeX or a region
+formatting command on the region that has a problem; indeed, you can
+run these commands on each region as you write it.
+
+ For finding problems with the structure of nodes and chapters, you
+can use `C-c C-s' (`texinfo-show-structure') and the related `occur'
+command and you can use the `M-x Info-validate' command.
+
+* Menu:
+
+* makeinfo Preferred:: `makeinfo' finds errors.
+* Debugging with Info:: How to catch errors with Info formatting.
+* Debugging with TeX:: How to catch errors with TeX formatting.
+* Using texinfo-show-structure:: How to use `texinfo-show-structure'.
+* Using occur:: How to list all lines containing a pattern.
+* Running Info-Validate:: How to find badly referenced nodes.
+
+
+File: texinfo.info, Node: makeinfo Preferred, Next: Debugging with Info, Up: Catching Mistakes
+
+F.1 `makeinfo' Find Errors
+==========================
+
+The `makeinfo' program does an excellent job of catching errors and
+reporting them--far better than `texinfo-format-region' or
+`texinfo-format-buffer'. In addition, the various functions for
+automatically creating and updating node pointers and menus remove many
+opportunities for human error.
+
+ If you can, use the updating commands to create and insert pointers
+and menus. These prevent many errors. Then use `makeinfo' (or its
+Texinfo mode manifestations, `makeinfo-region' and `makeinfo-buffer')
+to format your file and check for other errors. This is the best way
+to work with Texinfo. But if you cannot use `makeinfo', or your
+problem is very puzzling, then you may want to use the tools described
+in this appendix.
+
+
+File: texinfo.info, Node: Debugging with Info, Next: Debugging with TeX, Prev: makeinfo Preferred, Up: Catching Mistakes
+
+F.2 Catching Errors with Info Formatting
+========================================
+
+After you have written part of a Texinfo file, you can use the
+`texinfo-format-region' or the `makeinfo-region' command to see whether
+the region formats properly.
+
+ Most likely, however, you are reading this section because for some
+reason you cannot use the `makeinfo-region' command; therefore, the
+rest of this section presumes that you are using
+`texinfo-format-region'.
+
+ If you have made a mistake with an @-command, `texinfo-format-region'
+will stop processing at or after the error and display an error
+message. To see where in the buffer the error occurred, switch to the
+`*Info Region*' buffer; the cursor will be in a position that is after
+the location of the error. Also, the text will not be formatted after
+the place where the error occurred (or more precisely, where it was
+detected).
+
+ For example, if you accidentally end a menu with the command `@end
+menus' with an `s' on the end, instead of with `@end menu', you will
+see an error message that says:
+
+ @end menus is not handled by texinfo
+
+The cursor will stop at the point in the buffer where the error occurs,
+or not long after it. The buffer will look like this:
+
+ ---------- Buffer: *Info Region* ----------
+ * Menu:
+
+ * Using texinfo-show-structure:: How to use
+ `texinfo-show-structure'
+ to catch mistakes.
+ * Running Info-Validate:: How to check for
+ unreferenced nodes.
+ @end menus
+ -!-
+ ---------- Buffer: *Info Region* ----------
+
+ The `texinfo-format-region' command sometimes provides slightly odd
+error messages. For example, the following cross reference fails to
+format:
+
+ (@xref{Catching Mistakes, for more info.)
+
+In this case, `texinfo-format-region' detects the missing closing brace
+but displays a message that says `Unbalanced parentheses' rather than
+`Unbalanced braces'. This is because the formatting command looks for
+mismatches between braces as if they were parentheses.
+
+ Sometimes `texinfo-format-region' fails to detect mistakes. For
+example, in the following, the closing brace is swapped with the
+closing parenthesis:
+
+ (@xref{Catching Mistakes), for more info.}
+
+Formatting produces:
+ (*Note for more info.: Catching Mistakes)
+
+ The only way for you to detect this error is to realize that the
+reference should have looked like this:
+
+ (*Note Catching Mistakes::, for more info.)
+
+ Incidentally, if you are reading this node in Info and type `f <RET>'
+(`Info-follow-reference'), you will generate an error message that says:
+
+ No such node: "Catching Mistakes) The only way ...
+
+This is because Info perceives the example of the error as the first
+cross reference in this node and if you type a <RET> immediately after
+typing the Info `f' command, Info will attempt to go to the referenced
+node. If you type `f catch <TAB> <RET>', Info will complete the node
+name of the correctly written example and take you to the `Catching
+Mistakes' node. (If you try this, you can return from the `Catching
+Mistakes' node by typing `l' (`Info-last').)
+
+
+File: texinfo.info, Node: Debugging with TeX, Next: Using texinfo-show-structure, Prev: Debugging with Info, Up: Catching Mistakes
+
+F.3 Catching Errors with TeX Formatting
+=======================================
+
+You can also catch mistakes when you format a file with TeX.
+
+ Usually, you will want to do this after you have run
+`texinfo-format-buffer' (or, better, `makeinfo-buffer') on the same
+file, because `texinfo-format-buffer' sometimes displays error messages
+that make more sense than TeX. (*Note Debugging with Info::, for more
+information.)
+
+ For example, TeX was run on a Texinfo file, part of which is shown
+here:
+
+ ---------- Buffer: texinfo.texi ----------
+ name of the Texinfo file as an extension. The
+ @samp{??} are `wildcards' that cause the shell to
+ substitute all the raw index files. (@xref{sorting
+ indices, for more information about sorting
+ indices.)@refill
+ ---------- Buffer: texinfo.texi ----------
+
+(The cross reference lacks a closing brace.) TeX produced the
+following output, after which it stopped:
+
+ ---------- Buffer: *tex-shell* ----------
+ Runaway argument?
+ {sorting indices, for more information about sorting
+ indices.) @refill @ETC.
+ ! Paragraph ended before @xref was complete.
+ <to be read again>
+ @par
+ l.27
+
+ ?
+ ---------- Buffer: *tex-shell* ----------
+
+ In this case, TeX produced an accurate and understandable error
+message:
+
+ Paragraph ended before @xref was complete.
+
+`@par' is an internal TeX command of no relevance to Texinfo. `l.27'
+means that TeX detected the problem on line 27 of the Texinfo file.
+The `?' is the prompt TeX uses in this circumstance.
+
+ Unfortunately, TeX is not always so helpful, and sometimes you must
+truly be a Sherlock Holmes to discover what went wrong.
+
+ In any case, if you run into a problem like this, you can do one of
+three things.
+
+ 1. You can tell TeX to continue running and ignore just this error by
+ typing <RET> at the `?' prompt.
+
+ 2. You can tell TeX to continue running and to ignore all errors as
+ best it can by typing `r <RET>' at the `?' prompt.
+
+ This is often the best thing to do. However, beware: the one error
+ may produce a cascade of additional error messages as its
+ consequences are felt through the rest of the file. To stop TeX
+ when it is producing such an avalanche of error messages, type
+ `C-c' (or `C-c C-c', if you are running a shell inside Emacs).
+
+ 3. You can tell TeX to stop this run by typing `x <RET>' at the `?'
+ prompt.
+
+ If you are running TeX inside Emacs, you need to switch to the shell
+buffer and line at which TeX offers the `?' prompt.
+
+ Sometimes TeX will format a file without producing error messages even
+though there is a problem. This usually occurs if a command is not
+ended but TeX is able to continue processing anyhow. For example, if
+you fail to end an itemized list with the `@end itemize' command, TeX
+will write a DVI file that you can print out. The only error message
+that TeX will give you is the somewhat mysterious comment that
+
+ (@end occurred inside a group at level 1)
+
+However, if you print the DVI file, you will find that the text of the
+file that follows the itemized list is entirely indented as if it were
+part of the last item in the itemized list. The error message is the
+way TeX says that it expected to find an `@end' command somewhere in
+the file; but that it could not determine where it was needed.
+
+ Another source of notoriously hard-to-find errors is a missing `@end
+group' command. If you ever are stumped by incomprehensible errors,
+look for a missing `@end group' command first.
+
+ If the Texinfo file lacks header lines, TeX may stop in the beginning
+of its run and display output that looks like the following. The `*'
+indicates that TeX is waiting for input.
+
+ This is TeX, Version 3.14159 (Web2c 7.0)
+ (test.texinfo [1])
+ *
+
+In this case, simply type `\end <RET>' after the asterisk. Then write
+the header lines in the Texinfo file and run the TeX command again.
+(Note the use of the backslash, `\'. TeX uses `\' instead of `@'; and
+in this circumstance, you are working directly with TeX, not with
+Texinfo.)
+
+
+File: texinfo.info, Node: Using texinfo-show-structure, Next: Using occur, Prev: Debugging with TeX, Up: Catching Mistakes
+
+F.4 Using `texinfo-show-structure'
+==================================
+
+It is not always easy to keep track of the nodes, chapters, sections,
+and subsections of a Texinfo file. This is especially true if you are
+revising or adding to a Texinfo file that someone else has written.
+
+ In GNU Emacs, in Texinfo mode, the `texinfo-show-structure' command
+lists all the lines that begin with the @-commands that specify the
+structure: `@chapter', `@section', `@appendix', and so on. With an
+argument (`C-u' as prefix argument, if interactive), the command also
+shows the `@node' lines. The `texinfo-show-structure' command is bound
+to `C-c C-s' in Texinfo mode, by default.
+
+ The lines are displayed in a buffer called the `*Occur*' buffer,
+indented by hierarchical level. For example, here is a part of what was
+produced by running `texinfo-show-structure' on this manual:
+
+ Lines matching "^@\\(chapter \\|sect\\|subs\\|subh\\|
+ unnum\\|major\\|chapheading \\|heading \\|appendix\\)"
+ in buffer texinfo.texi.
+ ...
+ 4177:@chapter Nodes
+ 4198: @heading Two Paths
+ 4231: @section Node and Menu Illustration
+ 4337: @section The @code{@@node} Command
+ 4393: @subheading Choosing Node and Pointer Names
+ 4417: @subsection How to Write an @code{@@node} Line
+ 4469: @subsection @code{@@node} Line Tips
+ ...
+
+ This says that lines 4337, 4393, and 4417 of `texinfo.texi' begin
+with the `@section', `@subheading', and `@subsection' commands
+respectively. If you move your cursor into the `*Occur*' window, you
+can position the cursor over one of the lines and use the `C-c C-c'
+command (`occur-mode-goto-occurrence'), to jump to the corresponding
+spot in the Texinfo file. *Note Using Occur: (emacs)Other Repeating
+Search, for more information about `occur-mode-goto-occurrence'.
+
+ The first line in the `*Occur*' window describes the "regular
+expression" specified by TEXINFO-HEADING-PATTERN. This regular
+expression is the pattern that `texinfo-show-structure' looks for.
+*Note Using Regular Expressions: (emacs)Regexps, for more information.
+
+ When you invoke the `texinfo-show-structure' command, Emacs will
+display the structure of the whole buffer. If you want to see the
+structure of just a part of the buffer, of one chapter, for example,
+use the `C-x n n' (`narrow-to-region') command to mark the region.
+(*Note Narrowing: (emacs)Narrowing.) This is how the example used
+above was generated. (To see the whole buffer again, use `C-x n w'
+(`widen').)
+
+ If you call `texinfo-show-structure' with a prefix argument by typing
+`C-u C-c C-s', it will list lines beginning with `@node' as well as the
+lines beginning with the @-sign commands for `@chapter', `@section',
+and the like.
+
+ You can remind yourself of the structure of a Texinfo file by looking
+at the list in the `*Occur*' window; and if you have mis-named a node
+or left out a section, you can correct the mistake.
+
+
+File: texinfo.info, Node: Using occur, Next: Running Info-Validate, Prev: Using texinfo-show-structure, Up: Catching Mistakes
+
+F.5 Using `occur'
+=================
+
+Sometimes the `texinfo-show-structure' command produces too much
+information. Perhaps you want to remind yourself of the overall
+structure of a Texinfo file, and are overwhelmed by the detailed list
+produced by `texinfo-show-structure'. In this case, you can use the
+`occur' command directly. To do this, type
+
+ M-x occur
+
+and then, when prompted, type a "regexp", a regular expression for the
+pattern you want to match. (*Note Regular Expressions:
+(emacs)Regexps.) The `occur' command works from the current location
+of the cursor in the buffer to the end of the buffer. If you want to
+run `occur' on the whole buffer, place the cursor at the beginning of
+the buffer.
+
+ For example, to see all the lines that contain the word `@chapter' in
+them, just type `@chapter'. This will produce a list of the chapters.
+It will also list all the sentences with `@chapter' in the middle of
+the line.
+
+ If you want to see only those lines that start with the word
+`@chapter', type `^@chapter' when prompted by `occur'. If you want to
+see all the lines that end with a word or phrase, end the last word
+with a `$'; for example, `catching mistakes$'. This can be helpful
+when you want to see all the nodes that are part of the same chapter or
+section and therefore have the same `Up' pointer.
+
+ *Note Using Occur: (emacs)Other Repeating Search, for more
+information.
+
+
+File: texinfo.info, Node: Running Info-Validate, Prev: Using occur, Up: Catching Mistakes
+
+F.6 Finding Badly Referenced Nodes
+==================================
+
+You can use the `Info-validate' command to check whether any of the
+`Next', `Previous', `Up' or other node pointers fail to point to a
+node. This command checks that every node pointer points to an
+existing node. The `Info-validate' command works only on Info files,
+not on Texinfo files.
+
+ The `makeinfo' program validates pointers automatically, so you do
+not need to use the `Info-validate' command if you are using
+`makeinfo'. You only may need to use `Info-validate' if you are unable
+to run `makeinfo' and instead must create an Info file using
+`texinfo-format-region' or `texinfo-format-buffer', or if you write an
+Info file from scratch.
+
+* Menu:
+
+* Using Info-validate:: How to run `Info-validate'.
+* Unsplit:: How to create an unsplit file.
+* Tagifying:: How to tagify a file.
+* Splitting:: How to split a file manually.
+
+
+File: texinfo.info, Node: Using Info-validate, Next: Unsplit, Up: Running Info-Validate
+
+F.6.1 Running `Info-validate'
+-----------------------------
+
+To use `Info-validate', visit the Info file you wish to check and type:
+
+ M-x Info-validate
+
+Note that the `Info-validate' command requires an upper case `I'. You
+may also need to create a tag table before running `Info-validate'.
+*Note Tagifying::.
+
+ If your file is valid, you will receive a message that says "File
+appears valid". However, if you have a pointer that does not point to
+a node, error messages will be displayed in a buffer called `*problems
+in info file*'.
+
+ For example, `Info-validate' was run on a test file that contained
+only the first node of this manual. One of the messages said:
+
+ In node "Overview", invalid Next: Texinfo Mode
+
+This meant that the node called `Overview' had a `Next' pointer that
+did not point to anything (which was true in this case, since the test
+file had only one node in it).
+
+ Now suppose we add a node named `Texinfo Mode' to our test case but
+we do not specify a `Previous' for this node. Then we will get the
+following error message:
+
+ In node "Texinfo Mode", should have Previous: Overview
+
+This is because every `Next' pointer should be matched by a `Previous'
+(in the node where the `Next' points) which points back.
+
+ `Info-validate' also checks that all menu entries and cross references
+point to actual nodes.
+
+ `Info-validate' requires a tag table and does not work with files
+that have been split. (The `texinfo-format-buffer' command
+automatically splits large files.) In order to use `Info-validate' on
+a large file, you must run `texinfo-format-buffer' with an argument so
+that it does not split the Info file; and you must create a tag table
+for the unsplit file.
+
+
+File: texinfo.info, Node: Unsplit, Next: Tagifying, Prev: Using Info-validate, Up: Running Info-Validate
+
+F.6.2 Creating an Unsplit File
+------------------------------
+
+You can run `Info-validate' only on a single Info file that has a tag
+table. The command will not work on the indirect subfiles that are
+generated when a master file is split. If you have a large file
+(longer than 300,000 bytes or so), you need to run the
+`texinfo-format-buffer' or `makeinfo-buffer' command in such a way that
+it does not create indirect subfiles. You will also need to create a
+tag table for the Info file. After you have done this, you can run
+`Info-validate' and look for badly referenced nodes.
+
+ The first step is to create an unsplit Info file. To prevent
+`texinfo-format-buffer' from splitting a Texinfo file into smaller Info
+files, give a prefix to the `M-x texinfo-format-buffer' command:
+
+ C-u M-x texinfo-format-buffer
+
+or else
+
+ C-u C-c C-e C-b
+
+When you do this, Texinfo will not split the file and will not create a
+tag table for it.
+
+
+File: texinfo.info, Node: Tagifying, Next: Splitting, Prev: Unsplit, Up: Running Info-Validate
+
+F.6.3 Tagifying a File
+----------------------
+
+After creating an unsplit Info file, you must create a tag table for
+it. Visit the Info file you wish to tagify and type:
+
+ M-x Info-tagify
+
+(Note the upper case `I' in `Info-tagify'.) This creates an Info file
+with a tag table that you can validate.
+
+ The third step is to validate the Info file:
+
+ M-x Info-validate
+
+(Note the upper case `I' in `Info-validate'.) In brief, the steps are:
+
+ C-u M-x texinfo-format-buffer
+ M-x Info-tagify
+ M-x Info-validate
+
+ After you have validated the node structure, you can rerun
+`texinfo-format-buffer' in the normal way so it will construct a tag
+table and split the file automatically, or you can make the tag table
+and split the file manually.
+
+
+File: texinfo.info, Node: Splitting, Prev: Tagifying, Up: Running Info-Validate
+
+F.6.4 Splitting a File Manually
+-------------------------------
+
+You should split a large file or else let the `texinfo-format-buffer'
+or `makeinfo-buffer' command do it for you automatically. (Generally
+you will let one of the formatting commands do this job for you. *Note
+Creating an Info File::.)
+
+ The split-off files are called the indirect subfiles.
+
+ Info files are split to save memory. With smaller files, Emacs does
+not have make such a large buffer to hold the information.
+
+ If an Info file has more than 30 nodes, you should also make a tag
+table for it. *Note Using Info-validate::, for information about
+creating a tag table. (Again, tag tables are usually created
+automatically by the formatting command; you only need to create a tag
+table yourself if you are doing the job manually. Most likely, you
+will do this for a large, unsplit file on which you have run
+`Info-validate'.)
+
+ Visit the Info file you wish to tagify and split and type the two
+commands:
+
+ M-x Info-tagify
+ M-x Info-split
+
+(Note that the `I' in `Info' is upper case.)
+
+ When you use the `Info-split' command, the buffer is modified into a
+(small) Info file which lists the indirect subfiles. This file should
+be saved in place of the original visited file. The indirect subfiles
+are written in the same directory the original file is in, with names
+generated by appending `-' and a number to the original file name.
+
+ The primary file still functions as an Info file, but it contains just
+the tag table and a directory of subfiles.
+
+
+File: texinfo.info, Node: Copying This Manual, Next: Command and Variable Index, Prev: Catching Mistakes, Up: Top
+
+Appendix G Copying This Manual
+******************************
+
+* Menu:
+
+* GNU Free Documentation License:: License for copying this manual.
+
+
+File: texinfo.info, Node: GNU Free Documentation License, Up: Copying This Manual
+
+G.1 GNU Free Documentation License
+==================================
+
+ Version 1.2, November 2002
+
+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ 0. PREAMBLE
+
+ The purpose of this License is to make a manual, textbook, or other
+ functional and useful document "free" in the sense of freedom: to
+ assure everyone the effective freedom to copy and redistribute it,
+ with or without modifying it, either commercially or
+ noncommercially. Secondarily, this License preserves for the
+ author and publisher a way to get credit for their work, while not
+ being considered responsible for modifications made by others.
+
+ This License is a kind of "copyleft", which means that derivative
+ works of the document must themselves be free in the same sense.
+ It complements the GNU General Public License, which is a copyleft
+ license designed for free software.
+
+ We have designed this License in order to use it for manuals for
+ free software, because free software needs free documentation: a
+ free program should come with manuals providing the same freedoms
+ that the software does. But this License is not limited to
+ software manuals; it can be used for any textual work, regardless
+ of subject matter or whether it is published as a printed book.
+ We recommend this License principally for works whose purpose is
+ instruction or reference.
+
+ 1. APPLICABILITY AND DEFINITIONS
+
+ This License applies to any manual or other work, in any medium,
+ that contains a notice placed by the copyright holder saying it
+ can be distributed under the terms of this License. Such a notice
+ grants a world-wide, royalty-free license, unlimited in duration,
+ to use that work under the conditions stated herein. The
+ "Document", below, refers to any such manual or work. Any member
+ of the public is a licensee, and is addressed as "you". You
+ accept the license if you copy, modify or distribute the work in a
+ way requiring permission under copyright law.
+
+ A "Modified Version" of the Document means any work containing the
+ Document or a portion of it, either copied verbatim, or with
+ modifications and/or translated into another language.
+
+ A "Secondary Section" is a named appendix or a front-matter section
+ of the Document that deals exclusively with the relationship of the
+ publishers or authors of the Document to the Document's overall
+ subject (or to related matters) and contains nothing that could
+ fall directly within that overall subject. (Thus, if the Document
+ is in part a textbook of mathematics, a Secondary Section may not
+ explain any mathematics.) The relationship could be a matter of
+ historical connection with the subject or with related matters, or
+ of legal, commercial, philosophical, ethical or political position
+ regarding them.
+
+ The "Invariant Sections" are certain Secondary Sections whose
+ titles are designated, as being those of Invariant Sections, in
+ the notice that says that the Document is released under this
+ License. If a section does not fit the above definition of
+ Secondary then it is not allowed to be designated as Invariant.
+ The Document may contain zero Invariant Sections. If the Document
+ does not identify any Invariant Sections then there are none.
+
+ The "Cover Texts" are certain short passages of text that are
+ listed, as Front-Cover Texts or Back-Cover Texts, in the notice
+ that says that the Document is released under this License. A
+ Front-Cover Text may be at most 5 words, and a Back-Cover Text may
+ be at most 25 words.
+
+ A "Transparent" copy of the Document means a machine-readable copy,
+ represented in a format whose specification is available to the
+ general public, that is suitable for revising the document
+ straightforwardly with generic text editors or (for images
+ composed of pixels) generic paint programs or (for drawings) some
+ widely available drawing editor, and that is suitable for input to
+ text formatters or for automatic translation to a variety of
+ formats suitable for input to text formatters. A copy made in an
+ otherwise Transparent file format whose markup, or absence of
+ markup, has been arranged to thwart or discourage subsequent
+ modification by readers is not Transparent. An image format is
+ not Transparent if used for any substantial amount of text. A
+ copy that is not "Transparent" is called "Opaque".
+
+ Examples of suitable formats for Transparent copies include plain
+ ASCII without markup, Texinfo input format, LaTeX input format,
+ SGML or XML using a publicly available DTD, and
+ standard-conforming simple HTML, PostScript or PDF designed for
+ human modification. Examples of transparent image formats include
+ PNG, XCF and JPG. Opaque formats include proprietary formats that
+ can be read and edited only by proprietary word processors, SGML or
+ XML for which the DTD and/or processing tools are not generally
+ available, and the machine-generated HTML, PostScript or PDF
+ produced by some word processors for output purposes only.
+
+ The "Title Page" means, for a printed book, the title page itself,
+ plus such following pages as are needed to hold, legibly, the
+ material this License requires to appear in the title page. For
+ works in formats which do not have any title page as such, "Title
+ Page" means the text near the most prominent appearance of the
+ work's title, preceding the beginning of the body of the text.
+
+ A section "Entitled XYZ" means a named subunit of the Document
+ whose title either is precisely XYZ or contains XYZ in parentheses
+ following text that translates XYZ in another language. (Here XYZ
+ stands for a specific section name mentioned below, such as
+ "Acknowledgements", "Dedications", "Endorsements", or "History".)
+ To "Preserve the Title" of such a section when you modify the
+ Document means that it remains a section "Entitled XYZ" according
+ to this definition.
+
+ The Document may include Warranty Disclaimers next to the notice
+ which states that this License applies to the Document. These
+ Warranty Disclaimers are considered to be included by reference in
+ this License, but only as regards disclaiming warranties: any other
+ implication that these Warranty Disclaimers may have is void and
+ has no effect on the meaning of this License.
+
+ 2. VERBATIM COPYING
+
+ You may copy and distribute the Document in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License
+ applies to the Document are reproduced in all copies, and that you
+ add no other conditions whatsoever to those of this License. You
+ may not use technical measures to obstruct or control the reading
+ or further copying of the copies you make or distribute. However,
+ you may accept compensation in exchange for copies. If you
+ distribute a large enough number of copies you must also follow
+ the conditions in section 3.
+
+ You may also lend copies, under the same conditions stated above,
+ and you may publicly display copies.
+
+ 3. COPYING IN QUANTITY
+
+ If you publish printed copies (or copies in media that commonly
+ have printed covers) of the Document, numbering more than 100, and
+ the Document's license notice requires Cover Texts, you must
+ enclose the copies in covers that carry, clearly and legibly, all
+ these Cover Texts: Front-Cover Texts on the front cover, and
+ Back-Cover Texts on the back cover. Both covers must also clearly
+ and legibly identify you as the publisher of these copies. The
+ front cover must present the full title with all words of the
+ title equally prominent and visible. You may add other material
+ on the covers in addition. Copying with changes limited to the
+ covers, as long as they preserve the title of the Document and
+ satisfy these conditions, can be treated as verbatim copying in
+ other respects.
+
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto
+ adjacent pages.
+
+ If you publish or distribute Opaque copies of the Document
+ numbering more than 100, you must either include a
+ machine-readable Transparent copy along with each Opaque copy, or
+ state in or with each Opaque copy a computer-network location from
+ which the general network-using public has access to download
+ using public-standard network protocols a complete Transparent
+ copy of the Document, free of added material. If you use the
+ latter option, you must take reasonably prudent steps, when you
+ begin distribution of Opaque copies in quantity, to ensure that
+ this Transparent copy will remain thus accessible at the stated
+ location until at least one year after the last time you
+ distribute an Opaque copy (directly or through your agents or
+ retailers) of that edition to the public.
+
+ It is requested, but not required, that you contact the authors of
+ the Document well before redistributing any large number of
+ copies, to give them a chance to provide you with an updated
+ version of the Document.
+
+ 4. MODIFICATIONS
+
+ You may copy and distribute a Modified Version of the Document
+ under the conditions of sections 2 and 3 above, provided that you
+ release the Modified Version under precisely this License, with
+ the Modified Version filling the role of the Document, thus
+ licensing distribution and modification of the Modified Version to
+ whoever possesses a copy of it. In addition, you must do these
+ things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title
+ distinct from that of the Document, and from those of
+ previous versions (which should, if there were any, be listed
+ in the History section of the Document). You may use the
+ same title as a previous version if the original publisher of
+ that version gives permission.
+
+ B. List on the Title Page, as authors, one or more persons or
+ entities responsible for authorship of the modifications in
+ the Modified Version, together with at least five of the
+ principal authors of the Document (all of its principal
+ authors, if it has fewer than five), unless they release you
+ from this requirement.
+
+ C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+
+ D. Preserve all the copyright notices of the Document.
+
+ E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+
+ F. Include, immediately after the copyright notices, a license
+ notice giving the public permission to use the Modified
+ Version under the terms of this License, in the form shown in
+ the Addendum below.
+
+ G. Preserve in that license notice the full lists of Invariant
+ Sections and required Cover Texts given in the Document's
+ license notice.
+
+ H. Include an unaltered copy of this License.
+
+ I. Preserve the section Entitled "History", Preserve its Title,
+ and add to it an item stating at least the title, year, new
+ authors, and publisher of the Modified Version as given on
+ the Title Page. If there is no section Entitled "History" in
+ the Document, create one stating the title, year, authors,
+ and publisher of the Document as given on its Title Page,
+ then add an item describing the Modified Version as stated in
+ the previous sentence.
+
+ J. Preserve the network location, if any, given in the Document
+ for public access to a Transparent copy of the Document, and
+ likewise the network locations given in the Document for
+ previous versions it was based on. These may be placed in
+ the "History" section. You may omit a network location for a
+ work that was published at least four years before the
+ Document itself, or if the original publisher of the version
+ it refers to gives permission.
+
+ K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the
+ section all the substance and tone of each of the contributor
+ acknowledgements and/or dedications given therein.
+
+ L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section
+ titles.
+
+ M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+
+ N. Do not retitle any existing section to be Entitled
+ "Endorsements" or to conflict in title with any Invariant
+ Section.
+
+ O. Preserve any Warranty Disclaimers.
+
+ If the Modified Version includes new front-matter sections or
+ appendices that qualify as Secondary Sections and contain no
+ material copied from the Document, you may at your option
+ designate some or all of these sections as invariant. To do this,
+ add their titles to the list of Invariant Sections in the Modified
+ Version's license notice. These titles must be distinct from any
+ other section titles.
+
+ You may add a section Entitled "Endorsements", provided it contains
+ nothing but endorsements of your Modified Version by various
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
+
+ You may add a passage of up to five words as a Front-Cover Text,
+ and a passage of up to 25 words as a Back-Cover Text, to the end
+ of the list of Cover Texts in the Modified Version. Only one
+ passage of Front-Cover Text and one of Back-Cover Text may be
+ added by (or through arrangements made by) any one entity. If the
+ Document already includes a cover text for the same cover,
+ previously added by you or by arrangement made by the same entity
+ you are acting on behalf of, you may not add another; but you may
+ replace the old one, on explicit permission from the previous
+ publisher that added the old one.
+
+ The author(s) and publisher(s) of the Document do not by this
+ License give permission to use their names for publicity for or to
+ assert or imply endorsement of any Modified Version.
+
+ 5. COMBINING DOCUMENTS
+
+ You may combine the Document with other documents released under
+ this License, under the terms defined in section 4 above for
+ modified versions, provided that you include in the combination
+ all of the Invariant Sections of all of the original documents,
+ unmodified, and list them all as Invariant Sections of your
+ combined work in its license notice, and that you preserve all
+ their Warranty Disclaimers.
+
+ The combined work need only contain one copy of this License, and
+ multiple identical Invariant Sections may be replaced with a single
+ copy. If there are multiple Invariant Sections with the same name
+ but different contents, make the title of each such section unique
+ by adding at the end of it, in parentheses, the name of the
+ original author or publisher of that section if known, or else a
+ unique number. Make the same adjustment to the section titles in
+ the list of Invariant Sections in the license notice of the
+ combined work.
+
+ In the combination, you must combine any sections Entitled
+ "History" in the various original documents, forming one section
+ Entitled "History"; likewise combine any sections Entitled
+ "Acknowledgements", and any sections Entitled "Dedications". You
+ must delete all sections Entitled "Endorsements."
+
+ 6. COLLECTIONS OF DOCUMENTS
+
+ You may make a collection consisting of the Document and other
+ documents released under this License, and replace the individual
+ copies of this License in the various documents with a single copy
+ that is included in the collection, provided that you follow the
+ rules of this License for verbatim copying of each of the
+ documents in all other respects.
+
+ You may extract a single document from such a collection, and
+ distribute it individually under this License, provided you insert
+ a copy of this License into the extracted document, and follow
+ this License in all other respects regarding verbatim copying of
+ that document.
+
+ 7. AGGREGATION WITH INDEPENDENT WORKS
+
+ A compilation of the Document or its derivatives with other
+ separate and independent documents or works, in or on a volume of
+ a storage or distribution medium, is called an "aggregate" if the
+ copyright resulting from the compilation is not used to limit the
+ legal rights of the compilation's users beyond what the individual
+ works permit. When the Document is included in an aggregate, this
+ License does not apply to the other works in the aggregate which
+ are not themselves derivative works of the Document.
+
+ If the Cover Text requirement of section 3 is applicable to these
+ copies of the Document, then if the Document is less than one half
+ of the entire aggregate, the Document's Cover Texts may be placed
+ on covers that bracket the Document within the aggregate, or the
+ electronic equivalent of covers if the Document is in electronic
+ form. Otherwise they must appear on printed covers that bracket
+ the whole aggregate.
+
+ 8. TRANSLATION
+
+ Translation is considered a kind of modification, so you may
+ distribute translations of the Document under the terms of section
+ 4. Replacing Invariant Sections with translations requires special
+ permission from their copyright holders, but you may include
+ translations of some or all Invariant Sections in addition to the
+ original versions of these Invariant Sections. You may include a
+ translation of this License, and all the license notices in the
+ Document, and any Warranty Disclaimers, provided that you also
+ include the original English version of this License and the
+ original versions of those notices and disclaimers. In case of a
+ disagreement between the translation and the original version of
+ this License or a notice or disclaimer, the original version will
+ prevail.
+
+ If a section in the Document is Entitled "Acknowledgements",
+ "Dedications", or "History", the requirement (section 4) to
+ Preserve its Title (section 1) will typically require changing the
+ actual title.
+
+ 9. TERMINATION
+
+ You may not copy, modify, sublicense, or distribute the Document
+ except as expressly provided for under this License. Any other
+ attempt to copy, modify, sublicense or distribute the Document is
+ void, and will automatically terminate your rights under this
+ License. However, parties who have received copies, or rights,
+ from you under this License will not have their licenses
+ terminated so long as such parties remain in full compliance.
+
+ 10. FUTURE REVISIONS OF THIS LICENSE
+
+ The Free Software Foundation may publish new, revised versions of
+ the GNU Free Documentation License from time to time. Such new
+ versions will be similar in spirit to the present version, but may
+ differ in detail to address new problems or concerns. See
+ `http://www.gnu.org/copyleft/'.
+
+ Each version of the License is given a distinguishing version
+ number. If the Document specifies that a particular numbered
+ version of this License "or any later version" applies to it, you
+ have the option of following the terms and conditions either of
+ that specified version or of any later version that has been
+ published (not as a draft) by the Free Software Foundation. If
+ the Document does not specify a version number of this License,
+ you may choose any version ever published (not as a draft) by the
+ Free Software Foundation.
+
+G.1.1 ADDENDUM: How to use this License for your documents
+----------------------------------------------------------
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and license
+notices just after the title page:
+
+ Copyright (C) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+
+ If you have Invariant Sections, Front-Cover Texts and Back-Cover
+Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with
+ the Front-Cover Texts being LIST, and with the Back-Cover Texts
+ being LIST.
+
+ If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+ If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License, to
+permit their use in free software.
+
+
+File: texinfo.info, Node: Command and Variable Index, Next: Concept Index, Prev: Copying This Manual, Up: Top
+
+Command and Variable Index
+**************************
+
+This is an alphabetical list of all the @-commands, assorted Emacs Lisp
+functions, and several variables. To make the list easier to use, the
+commands are listed without their preceding `@'.
+
+
+* Menu:
+
+* ! (end of sentence): Ending a Sentence. (line 6)
+* " (umlaut accent): Inserting Accents. (line 17)
+* ' (umlaut accent): Inserting Accents. (line 17)
+* * (force line break): Line Breaks. (line 6)
+* , (cedilla accent): Inserting Accents. (line 17)
+* - (discretionary hyphen): - and hyphenation. (line 6)
+* . (end of sentence): Ending a Sentence. (line 6)
+* / (allow line break): Line Breaks. (line 6)
+* <colon> (suppress end-of-sentence space): Not Ending a Sentence.
+ (line 16)
+* <newline>: Multiple Spaces. (line 6)
+* <space>: Multiple Spaces. (line 6)
+* <tab>: Multiple Spaces. (line 6)
+* = (macron accent): Inserting Accents. (line 17)
+* ? (end of sentence): Ending a Sentence. (line 6)
+* @ (literal @): Inserting an Atsign. (line 6)
+* \ (literal \ in @math): math. (line 28)
+* \emergencystretch: Overfull hboxes. (line 31)
+* \gdef within @tex: Raw Formatter Commands.
+ (line 29)
+* \input (raw TeX startup): Minimum. (line 24)
+* \mag (raw TeX magnification): Cropmarks and Magnification.
+ (line 24)
+* ^ (circumflex accent): Inserting Accents. (line 17)
+* ` (grave accent): Inserting Accents. (line 17)
+* AA: Inserting Accents. (line 37)
+* aa: Inserting Accents. (line 37)
+* acronym: acronym. (line 6)
+* AE: Inserting Accents. (line 37)
+* ae: Inserting Accents. (line 37)
+* afourlatex: A4 Paper. (line 23)
+* afourpaper: A4 Paper. (line 6)
+* afourwide: A4 Paper. (line 23)
+* alias: alias. (line 6)
+* anchor: anchor. (line 6)
+* appendix: unnumbered & appendix.
+ (line 6)
+* appendixsec: unnumberedsec appendixsec heading.
+ (line 6)
+* appendixsection: unnumberedsec appendixsec heading.
+ (line 18)
+* appendixsubsec: unnumberedsubsec appendixsubsec subheading.
+ (line 6)
+* appendixsubsubsec: subsubsection. (line 6)
+* apply: Sample Function Definition.
+ (line 14)
+* asis: table. (line 20)
+* author: title subtitle author.
+ (line 6)
+* b (bold font): Fonts. (line 6)
+* bullet: bullet. (line 6)
+* bye <1>: File End. (line 6)
+* bye: Ending a File. (line 6)
+* c (comment): Comments. (line 6)
+* caption: caption shortcaption.
+ (line 6)
+* cartouche: cartouche. (line 6)
+* center: titlefont center sp. (line 6)
+* centerchap: chapter. (line 25)
+* chapheading: majorheading & chapheading.
+ (line 6)
+* chapter: chapter. (line 6)
+* cite: cite. (line 6)
+* code: code. (line 6)
+* columnfractions: Multitable Column Widths.
+ (line 11)
+* comma: Inserting a Comma. (line 6)
+* command: command. (line 6)
+* comment: Comments. (line 6)
+* contents: Contents. (line 6)
+* copying: copying. (line 6)
+* copyright <1>: copying. (line 37)
+* copyright: copyright symbol. (line 6)
+* cropmarks: Cropmarks and Magnification.
+ (line 6)
+* defcodeindex: New Indices. (line 6)
+* defcv: Object-Oriented Variables.
+ (line 10)
+* deffn: Functions Commands. (line 9)
+* deffnx: deffnx. (line 6)
+* defindex: New Indices. (line 6)
+* definfoenclose: definfoenclose. (line 6)
+* defivar: Object-Oriented Variables.
+ (line 47)
+* defmac: Functions Commands. (line 58)
+* defmethod: Object-Oriented Methods.
+ (line 80)
+* defop: Object-Oriented Methods.
+ (line 11)
+* defopt: Variables Commands. (line 56)
+* defspec: Functions Commands. (line 63)
+* deftp: Data Types. (line 8)
+* deftypecv: Object-Oriented Variables.
+ (line 28)
+* deftypefn: Typed Functions. (line 10)
+* deftypefun: Typed Functions. (line 76)
+* deftypeivar: Object-Oriented Variables.
+ (line 63)
+* deftypeop: Object-Oriented Methods.
+ (line 51)
+* deftypevar: Typed Variables. (line 40)
+* deftypevr: Typed Variables. (line 12)
+* defun: Functions Commands. (line 48)
+* defvar: Variables Commands. (line 38)
+* defvr: Variables Commands. (line 8)
+* dfn: dfn. (line 6)
+* dircategory: Installing Dir Entries.
+ (line 11)
+* direntry: Installing Dir Entries.
+ (line 11)
+* display: display. (line 6)
+* dmn: dmn. (line 6)
+* docbook: Raw Formatter Commands.
+ (line 53)
+* documentdescription: documentdescription. (line 6)
+* documentencoding: documentencoding. (line 6)
+* documentlanguage: documentlanguage. (line 6)
+* dotaccent: Inserting Accents. (line 17)
+* dotless: Inserting Accents. (line 37)
+* dots: dots. (line 6)
+* email: email. (line 6)
+* emph: emph & strong. (line 6)
+* end <1>: Introducing Lists. (line 20)
+* end: Quotations and Examples.
+ (line 15)
+* end titlepage: end titlepage. (line 6)
+* enddots: dots. (line 6)
+* enumerate: enumerate. (line 6)
+* env: env. (line 6)
+* equiv: Equivalence. (line 6)
+* error: Error Glyph. (line 6)
+* evenfooting: Custom Headings. (line 51)
+* evenheading: Custom Headings. (line 51)
+* everyfooting: Custom Headings. (line 44)
+* everyheading: Custom Headings. (line 44)
+* example: example. (line 6)
+* exampleindent: exampleindent. (line 6)
+* exclamdown: Inserting Accents. (line 37)
+* exdent: exdent. (line 6)
+* expansion: expansion. (line 6)
+* file: file. (line 6)
+* filll TeX dimension: Copyright. (line 12)
+* finalout: Overfull hboxes. (line 46)
+* firstparagraphindent: firstparagraphindent.
+ (line 6)
+* float: float. (line 6)
+* flushleft: flushleft & flushright.
+ (line 6)
+* flushright: flushleft & flushright.
+ (line 6)
+* fn-name: Def Cmd Continuation Lines.
+ (line 19)
+* foobar: Optional Arguments. (line 23)
+* footnote: Footnotes. (line 6)
+* footnotestyle: Footnote Styles. (line 44)
+* format: format. (line 6)
+* forward-word: Def Cmd Template. (line 35)
+* ftable: ftable vtable. (line 6)
+* group: group. (line 6)
+* H (Hungarian umlaut accent): Inserting Accents. (line 17)
+* hbox: Overfull hboxes. (line 14)
+* heading: unnumberedsec appendixsec heading.
+ (line 6)
+* headings: headings on off. (line 6)
+* headitem: Multitable Rows. (line 12)
+* headword: definfoenclose. (line 58)
+* html: Raw Formatter Commands.
+ (line 45)
+* hyphenation: - and hyphenation. (line 6)
+* i (italic font): Fonts. (line 6)
+* ifclear: ifset ifclear. (line 47)
+* ifdocbook <1>: Raw Formatter Commands.
+ (line 53)
+* ifdocbook: Conditional Commands.
+ (line 14)
+* ifhtml <1>: Raw Formatter Commands.
+ (line 45)
+* ifhtml: Conditional Commands.
+ (line 14)
+* ifinfo: Conditional Commands.
+ (line 9)
+* ifnotdocbook: Conditional Not Commands.
+ (line 6)
+* ifnothtml: Conditional Not Commands.
+ (line 6)
+* ifnotinfo: Conditional Not Commands.
+ (line 6)
+* ifnotplaintext: Conditional Not Commands.
+ (line 6)
+* ifnottex: Conditional Not Commands.
+ (line 6)
+* ifnotxml: Conditional Not Commands.
+ (line 6)
+* ifplaintext: Conditional Commands.
+ (line 14)
+* ifset: ifset ifclear. (line 6)
+* iftex: Conditional Commands.
+ (line 14)
+* ifxml <1>: Raw Formatter Commands.
+ (line 49)
+* ifxml: Conditional Commands.
+ (line 14)
+* ignore: Comments. (line 19)
+* image: Images. (line 6)
+* include: Using Include Files. (line 6)
+* indent: indent. (line 6)
+* indicateurl: indicateurl. (line 6)
+* Info-validate: Running Info-Validate.
+ (line 6)
+* inforef: inforef. (line 6)
+* insertcopying: insertcopying. (line 6)
+* isearch-backward: deffnx. (line 22)
+* isearch-forward: deffnx. (line 21)
+* item <1>: Multitable Rows. (line 6)
+* item <2>: table. (line 31)
+* item: itemize. (line 22)
+* itemize: itemize. (line 6)
+* itemx: itemx. (line 6)
+* kbd: kbd. (line 6)
+* kbdinputstyle: kbd. (line 26)
+* key: key. (line 6)
+* l: Inserting Accents. (line 37)
+* L: Inserting Accents. (line 37)
+* LaTeX: tex. (line 6)
+* lisp: lisp. (line 6)
+* listoffloats: listoffloats. (line 6)
+* lowersections: Raise/lower sections.
+ (line 6)
+* macro: Defining Macros. (line 6)
+* majorheading: majorheading & chapheading.
+ (line 6)
+* makeinfo-buffer: makeinfo in Emacs. (line 16)
+* makeinfo-kill-job: makeinfo in Emacs. (line 37)
+* makeinfo-recenter-output-buffer: makeinfo in Emacs. (line 42)
+* makeinfo-region: makeinfo in Emacs. (line 12)
+* math: math. (line 6)
+* menu: Menus. (line 6)
+* minus: minus. (line 6)
+* multitable: Multi-column Tables. (line 6)
+* need: need. (line 6)
+* next-error: makeinfo in Emacs. (line 26)
+* node: node. (line 6)
+* noindent: noindent. (line 6)
+* novalidate: Format with tex/texindex.
+ (line 84)
+* o: Inserting Accents. (line 37)
+* O: Inserting Accents. (line 37)
+* occur: Using occur. (line 6)
+* occur-mode-goto-occurrence: Showing the Structure.
+ (line 22)
+* oddfooting: Custom Headings. (line 51)
+* oddheading: Custom Headings. (line 51)
+* oe: Inserting Accents. (line 37)
+* OE: Inserting Accents. (line 37)
+* option: option. (line 6)
+* ordf: Inserting Accents. (line 37)
+* ordm: Inserting Accents. (line 37)
+* page: page. (line 6)
+* page, within @titlepage: titlepage. (line 17)
+* pagesizes: pagesizes. (line 6)
+* paragraphindent: paragraphindent. (line 6)
+* phoo: definfoenclose. (line 35)
+* point: Point Glyph. (line 6)
+* pounds: pounds. (line 6)
+* print: Print Glyph. (line 6)
+* printindex: Printing Indices & Menus.
+ (line 23)
+* pxref: pxref. (line 6)
+* questiondown: Inserting Accents. (line 37)
+* quotation: quotation. (line 6)
+* r (roman font): Fonts. (line 6)
+* raisesections: Raise/lower sections.
+ (line 6)
+* ref: ref. (line 6)
+* registeredsymbol: registered symbol. (line 6)
+* result: result. (line 6)
+* ringaccent: Inserting Accents. (line 17)
+* rmacro: Defining Macros. (line 44)
+* samp: samp. (line 6)
+* sc (small caps font): Smallcaps. (line 6)
+* section: section. (line 6)
+* setchapternewpage: setchapternewpage. (line 6)
+* setcontentsaftertitlepage: Contents. (line 51)
+* setfilename: setfilename. (line 6)
+* setshortcontentsaftertitlepage: Contents. (line 51)
+* settitle: settitle. (line 6)
+* shortcaption: caption shortcaption.
+ (line 6)
+* shortcontents: Contents. (line 6)
+* shorttitlepage: titlepage. (line 46)
+* smallbook: smallbook. (line 6)
+* smalldisplay <1>: small. (line 6)
+* smalldisplay: display. (line 16)
+* smallexample: small. (line 6)
+* smallformat <1>: format. (line 15)
+* smallformat: small. (line 6)
+* smalllisp: small. (line 6)
+* sp (line spacing): sp. (line 6)
+* sp (titlepage line spacing): titlefont center sp. (line 6)
+* ss: Inserting Accents. (line 37)
+* strong: emph & strong. (line 6)
+* subheading: unnumberedsubsec appendixsubsec subheading.
+ (line 6)
+* subsection: subsection. (line 6)
+* subsubheading: subsubsection. (line 6)
+* subsubsection: subsubsection. (line 6)
+* subtitle: title subtitle author.
+ (line 6)
+* summarycontents: Contents. (line 6)
+* syncodeindex: syncodeindex. (line 6)
+* synindex: synindex. (line 6)
+* t (typewriter font): Fonts. (line 6)
+* tab: Multitable Rows. (line 6)
+* table: Two-column Tables. (line 6)
+* tex: Raw Formatter Commands.
+ (line 21)
+* TeX: tex. (line 6)
+* texinfo-all-menus-update: Updating Commands. (line 112)
+* texinfo-every-node-update: Updating Commands. (line 107)
+* texinfo-format-buffer <1>: texinfo-format commands.
+ (line 23)
+* texinfo-format-buffer: Info Formatting. (line 22)
+* texinfo-format-region <1>: texinfo-format commands.
+ (line 19)
+* texinfo-format-region: Info Formatting. (line 13)
+* texinfo-indent-menu-description: Other Updating Commands.
+ (line 45)
+* texinfo-insert-@code: Inserting. (line 15)
+* texinfo-insert-@dfn: Inserting. (line 19)
+* texinfo-insert-@end: Inserting. (line 23)
+* texinfo-insert-@example: Inserting. (line 62)
+* texinfo-insert-@item: Inserting. (line 30)
+* texinfo-insert-@kbd: Inserting. (line 35)
+* texinfo-insert-@node: Inserting. (line 39)
+* texinfo-insert-@noindent: Inserting. (line 44)
+* texinfo-insert-@samp: Inserting. (line 49)
+* texinfo-insert-@table: Inserting. (line 53)
+* texinfo-insert-@var: Inserting. (line 58)
+* texinfo-insert-braces: Inserting. (line 67)
+* texinfo-insert-node-lines: Other Updating Commands.
+ (line 10)
+* texinfo-make-menu: Updating Commands. (line 93)
+* texinfo-master-menu: Updating Commands. (line 55)
+* texinfo-multiple-files-update: texinfo-multiple-files-update.
+ (line 6)
+* texinfo-multiple-files-update (in brief): Other Updating Commands.
+ (line 34)
+* texinfo-sequential-node-update: Other Updating Commands.
+ (line 54)
+* texinfo-show-structure <1>: Showing the Structure.
+ (line 18)
+* texinfo-show-structure: Using texinfo-show-structure.
+ (line 6)
+* texinfo-start-menu-description: Inserting. (line 94)
+* texinfo-tex-buffer: Printing. (line 21)
+* texinfo-tex-print: Printing. (line 42)
+* texinfo-tex-region: Printing. (line 27)
+* texinfo-update-node: Updating Commands. (line 83)
+* thischapter: Custom Headings. (line 73)
+* thischaptername: Custom Headings. (line 70)
+* thisfile: Custom Headings. (line 81)
+* thispage: Custom Headings. (line 67)
+* thistitle: Custom Headings. (line 77)
+* tie (unbreakable interword space): tie. (line 6)
+* tieaccent: Inserting Accents. (line 17)
+* title: title subtitle author.
+ (line 6)
+* titlefont: titlefont center sp. (line 6)
+* titlepage: titlepage. (line 6)
+* today: Custom Headings. (line 90)
+* top: The Top Node. (line 13)
+* top (@-command): makeinfo top command.
+ (line 6)
+* u (breve accent): Inserting Accents. (line 17)
+* ubaraccent: Inserting Accents. (line 17)
+* udotaccent: Inserting Accents. (line 17)
+* unmacro: Defining Macros. (line 56)
+* unnumbered: unnumbered & appendix.
+ (line 6)
+* unnumberedsec: unnumberedsec appendixsec heading.
+ (line 6)
+* unnumberedsubsec: unnumberedsubsec appendixsubsec subheading.
+ (line 6)
+* unnumberedsubsubsec: subsubsection. (line 6)
+* up-list: Inserting. (line 72)
+* uref: uref. (line 6)
+* v (check accent): Inserting Accents. (line 17)
+* value: set value. (line 6)
+* var: var. (line 6)
+* verb: verb. (line 6)
+* verbatim: verbatim. (line 6)
+* verbatiminclude: verbatiminclude. (line 6)
+* vskip TeX vertical skip: Copyright. (line 12)
+* vtable: ftable vtable. (line 6)
+* w (prevent line break): w. (line 6)
+* xml: Raw Formatter Commands.
+ (line 49)
+* xref: xref. (line 6)
+* { (literal {): Inserting Braces. (line 6)
+* } (literal }): Inserting Braces. (line 6)
+* ~ (tilde accent): Inserting Accents. (line 17)
+
+
+File: texinfo.info, Node: Concept Index, Prev: Command and Variable Index, Up: Top
+
+Concept Index
+*************
+
+
+* Menu:
+
+* !: Inserting Accents. (line 37)
+* $Id: GNU Sample Texts. (line 21)
+* $Id expansion, preventing: w. (line 28)
+* (dir) as Up node of Top node: First Node. (line 13)
+* --commands-in-node-names: makeinfo options. (line 34)
+* --css-include: makeinfo options. (line 41)
+* --delete: Invoking install-info.
+ (line 32)
+* --dir-file=NAME: Invoking install-info.
+ (line 38)
+* --docbook: makeinfo options. (line 46)
+* --enable-encoding <1>: makeinfo options. (line 49)
+* --enable-encoding: documentencoding. (line 26)
+* --entry=TEXT: Invoking install-info.
+ (line 43)
+* --error-limit=LIMIT: makeinfo options. (line 55)
+* --fill-column=WIDTH: makeinfo options. (line 61)
+* --footnote-style, ignored in HTML output: HTML Translation. (line 13)
+* --footnote-style=STYLE: makeinfo options. (line 70)
+* --force: makeinfo options. (line 81)
+* --help <1>: makeinfo options. (line 86)
+* --help: Invoking install-info.
+ (line 51)
+* --html: makeinfo options. (line 90)
+* --ifdocbook: makeinfo options. (line 104)
+* --ifhtml: makeinfo options. (line 105)
+* --ifinfo: makeinfo options. (line 106)
+* --ifplaintext: makeinfo options. (line 107)
+* --iftex: makeinfo options. (line 108)
+* --ifxml: makeinfo options. (line 109)
+* --info-dir=DIR: Invoking install-info.
+ (line 61)
+* --info-file=FILE: Invoking install-info.
+ (line 56)
+* --item=TEXT: Invoking install-info.
+ (line 65)
+* --macro-expand=FILE: makeinfo options. (line 117)
+* --no-headers: makeinfo options. (line 123)
+* --no-ifdocbook: makeinfo options. (line 138)
+* --no-ifhtml: makeinfo options. (line 139)
+* --no-ifinfo: makeinfo options. (line 140)
+* --no-ifplaintext: makeinfo options. (line 141)
+* --no-iftex: makeinfo options. (line 142)
+* --no-ifxml: makeinfo options. (line 143)
+* --no-number-footnotes: makeinfo options. (line 173)
+* --no-pointer-validate: makeinfo options. (line 156)
+* --no-split: makeinfo options. (line 148)
+* --no-validate: makeinfo options. (line 156)
+* --no-warn: makeinfo options. (line 163)
+* --number-sections: makeinfo options. (line 169)
+* --output=FILE: makeinfo options. (line 179)
+* --paragraph-indent=INDENT: makeinfo options. (line 193)
+* --quiet: Invoking install-info.
+ (line 69)
+* --reference-limit=LIMIT: makeinfo options. (line 209)
+* --remove: Invoking install-info.
+ (line 73)
+* --section=SEC: Invoking install-info.
+ (line 77)
+* --split-size=NUM: makeinfo options. (line 215)
+* --verbose: makeinfo options. (line 222)
+* --version <1>: makeinfo options. (line 228)
+* --version: Invoking install-info.
+ (line 84)
+* --xml: makeinfo options. (line 231)
+* -D DIR: Invoking install-info.
+ (line 61)
+* -d NAME: Invoking install-info.
+ (line 38)
+* -D VAR: makeinfo options. (line 30)
+* -E FILE: makeinfo options. (line 117)
+* -e LIMIT: makeinfo options. (line 55)
+* -e TEXT: Invoking install-info.
+ (line 43)
+* -F: makeinfo options. (line 81)
+* -f WIDTH: makeinfo options. (line 61)
+* -h <1>: makeinfo options. (line 86)
+* -h: Invoking install-info.
+ (line 51)
+* -I DIR: makeinfo options. (line 96)
+* -i FILE: Invoking install-info.
+ (line 56)
+* -o FILE: makeinfo options. (line 179)
+* -P DIR: makeinfo options. (line 187)
+* -p INDENT: makeinfo options. (line 193)
+* -r: Invoking install-info.
+ (line 73)
+* -r LIMIT: makeinfo options. (line 209)
+* -s SEC: Invoking install-info.
+ (line 77)
+* -s STYLE: makeinfo options. (line 70)
+* -V <1>: Invoking install-info.
+ (line 84)
+* -V: makeinfo options. (line 228)
+* .cshrc initialization file: Preparing for TeX. (line 6)
+* .profile initialization file: Preparing for TeX. (line 6)
+* /l: Inserting Accents. (line 37)
+* /L: Inserting Accents. (line 37)
+* /O: Inserting Accents. (line 37)
+* /o: Inserting Accents. (line 37)
+* 8-bit characters, in HTML cross-references: HTML Xref 8-bit Character Expansion.
+ (line 6)
+* <acronym> tag: acronym. (line 15)
+* <blockquote> HTML tag: quotation. (line 45)
+* <lineannotation> Docbook tag: Fonts. (line 25)
+* <meta> HTML tag, and charset specification: documentencoding.
+ (line 35)
+* <meta> HTML tag, and document description: documentdescription.
+ (line 6)
+* <note> Docbook tag: quotation. (line 45)
+* <small> tag: Smallcaps. (line 25)
+* <thead> HTML tag: Multitable Rows. (line 12)
+* <title> HTML tag: settitle. (line 21)
+* <URL: convention, not used: uref. (line 71)
+* ?: Inserting Accents. (line 37)
+* @ as continuation in definition commands: Def Cmd Continuation Lines.
+ (line 6)
+* @-command list: Command List. (line 6)
+* @-command syntax: Command Syntax. (line 6)
+* @-commands: Formatting Commands. (line 6)
+* @-commands in @node, limited support: Pointer Validation. (line 36)
+* @-commands in nodename: Node Line Requirements.
+ (line 23)
+* @import specifications, in CSS files: HTML CSS. (line 30)
+* @include file sample: Sample Include File. (line 6)
+* @menu parts: Menu Parts. (line 6)
+* @node line writing: Writing a Node. (line 6)
+* @value in @node lines: Pointer Validation. (line 66)
+* @w, for blank items: itemize. (line 10)
+* \input source line ignored: setfilename. (line 16)
+* a: Inserting Accents. (line 37)
+* A4 paper, printing on: A4 Paper. (line 6)
+* A5 paper, printing on: A4 Paper. (line 6)
+* AA: Inserting Accents. (line 37)
+* aa: Inserting Accents. (line 37)
+* Abbreviations for keys: key. (line 19)
+* Abbreviations, tagging: acronym. (line 6)
+* Abstract of document: documentdescription. (line 6)
+* Accents, inserting: Inserting Accents. (line 6)
+* Acronyms, tagging: acronym. (line 6)
+* Acute accent: Inserting Accents. (line 17)
+* Adding a new Info file: New Info File. (line 6)
+* ae: Inserting Accents. (line 37)
+* AE: Inserting Accents. (line 37)
+* Aliases, command: alias. (line 6)
+* All-permissive copying license: All-permissive Copying License.
+ (line 6)
+* Allow line break: Line Breaks. (line 6)
+* Alphabetical @-command list: Command List. (line 6)
+* Alt attribute for images: Image Syntax. (line 30)
+* Anchors: anchor. (line 6)
+* Another Info directory: Other Info Directories.
+ (line 6)
+* Arguments, repeated and optional: Optional Arguments. (line 6)
+* ASCII text output: makeinfo options. (line 123)
+* Aspect ratio of images: Image Scaling. (line 6)
+* autoexec.bat: Other Info Directories.
+ (line 70)
+* automake, and version info: GNU Sample Texts. (line 32)
+* Automatic pointer creation with makeinfo: makeinfo Pointer Creation.
+ (line 6)
+* Automatically insert nodes, menus: Updating Nodes and Menus.
+ (line 6)
+* Auxiliary files, avoiding: Format with tex/texindex.
+ (line 84)
+* B5 paper, printing on: pagesizes. (line 16)
+* Back-end output formats: Output Formats. (line 6)
+* Backslash in macros: Defining Macros. (line 37)
+* Backslash, and macros: Invoking Macros. (line 23)
+* Badly referenced nodes: Running Info-Validate.
+ (line 6)
+* Bastard title page: titlepage. (line 46)
+* Batch formatting for Info: Batch Formatting. (line 6)
+* Beebe, Nelson: Output Formats. (line 51)
+* Beginning a Texinfo file: Beginning a File. (line 6)
+* Beginning line of a Texinfo file: First Line. (line 6)
+* Berry, Karl: History. (line 6)
+* Big points: Image Scaling. (line 24)
+* Black rectangle in hardcopy: Overfull hboxes. (line 41)
+* Blank lines: sp. (line 6)
+* Blank lines, as paragraph separator: Conventions. (line 16)
+* Body of a macro: Defining Macros. (line 26)
+* Bold font: Fonts. (line 15)
+* Bolio: History. (line 30)
+* Book characteristics, printed: Printed Books. (line 6)
+* Book, printing small: smallbook. (line 6)
+* border-pattern: Object-Oriented Variables.
+ (line 58)
+* border-pattern of Window: Object-Oriented Variables.
+ (line 77)
+* BoTeX: History. (line 30)
+* Box with rounded corners: cartouche. (line 6)
+* Box, ugly black in hardcopy: Overfull hboxes. (line 41)
+* Braces and argument syntax: Command Syntax. (line 40)
+* Braces, in macro arguments: Invoking Macros. (line 38)
+* Braces, inserting: Inserting Braces. (line 6)
+* Braces, when to use: Formatting Commands. (line 50)
+* Breaks in a line: Line Breaks. (line 6)
+* Breve accent: Inserting Accents. (line 17)
+* Buffer formatting and printing: Printing. (line 6)
+* Bugs, reporting: Reporting Bugs. (line 6)
+* Bullets, inserting: Dots Bullets. (line 6)
+* Captions, for floats: caption shortcaption.
+ (line 6)
+* Caron accent: Inserting Accents. (line 17)
+* Cascading Style Sheets, and HTML output: HTML CSS. (line 6)
+* Case in node name: Node Line Requirements.
+ (line 42)
+* Case, not altering in @code: code. (line 19)
+* Catching errors with Info formatting: Debugging with Info. (line 6)
+* Catching errors with TeX formatting: Debugging with TeX. (line 6)
+* Catching mistakes: Catching Mistakes. (line 6)
+* Categories, choosing: Installing Dir Entries.
+ (line 45)
+* Cedilla accent: Inserting Accents. (line 17)
+* Centimeters: Image Scaling. (line 30)
+* Chapter structuring: Structuring. (line 6)
+* Chapters, formatting one at a time: Format with tex/texindex.
+ (line 84)
+* Character set, declaring: documentencoding. (line 6)
+* Characteristics, printed books or manuals: Printed Books. (line 6)
+* Characters, basic input: Conventions. (line 6)
+* Characters, invalid in node name: Node Line Requirements.
+ (line 30)
+* Chassell, Robert J.: History. (line 6)
+* Check accent: Inserting Accents. (line 17)
+* Checking for badly referenced nodes: Running Info-Validate.
+ (line 6)
+* Checklist for bug reports: Reporting Bugs. (line 11)
+* Ciceros: Image Scaling. (line 39)
+* Circumflex accent: Inserting Accents. (line 17)
+* code, value for @kbdinputstyle: kbd. (line 32)
+* Collapsing whitespace around continuations: Def Cmd Continuation Lines.
+ (line 31)
+* Colon in nodename: Node Line Requirements.
+ (line 30)
+* Colon, last in INFOPATH: Other Info Directories.
+ (line 80)
+* Column widths, defining for multitables: Multitable Column Widths.
+ (line 6)
+* Combining indices: Combining Indices. (line 6)
+* Comma in nodename: Node Line Requirements.
+ (line 30)
+* Comma, in macro arguments: Invoking Macros. (line 38)
+* Command aliases: alias. (line 6)
+* Command definitions: Sample Function Definition.
+ (line 6)
+* Command names, indicating: command. (line 6)
+* Command syntax: Command Syntax. (line 6)
+* Commands to insert special characters: Atsign Braces Comma. (line 6)
+* Commands using raw TeX: Raw Formatter Commands.
+ (line 6)
+* Commands, inserting them: Inserting. (line 6)
+* Commas, inserting: Inserting a Comma. (line 6)
+* Comments: Comments. (line 6)
+* Comments, in CSS files: HTML CSS. (line 36)
+* Compile command for formatting: Compile-Command. (line 6)
+* Compressed files, reading: Invoking install-info.
+ (line 22)
+* Conditionally visible text: Conditionals. (line 6)
+* Conditionals, nested: Conditional Nesting. (line 6)
+* Conditions for copying Texinfo: Copying Conditions. (line 6)
+* Contents, after title page: Contents. (line 51)
+* Contents, Table of: Contents. (line 6)
+* Contents-like outline of file structure: Showing the Structure.
+ (line 6)
+* Continuation lines in definition commands: Def Cmd Continuation Lines.
+ (line 6)
+* Conventions for writing definitions: Def Cmd Conventions. (line 6)
+* Conventions, syntactic: Conventions. (line 6)
+* Copying conditions: Copying Conditions. (line 6)
+* Copying Permissions: Document Permissions.
+ (line 6)
+* Copying software: Software Copying Permissions.
+ (line 6)
+* Copying text, including: insertcopying. (line 6)
+* Copyright holder for FSF works: copying. (line 53)
+* Copyright page: Copyright. (line 6)
+* Copyright page, for plain text: Titlepage & Copyright Page.
+ (line 16)
+* Copyright word, always in English: copying. (line 44)
+* Correcting mistakes: Catching Mistakes. (line 6)
+* cp (concept) index: Predefined Indices. (line 10)
+* Create nodes, menus automatically: Updating Nodes and Menus.
+ (line 6)
+* Creating an Info file: Creating an Info File.
+ (line 6)
+* Creating an unsplit file: Unsplit. (line 6)
+* Creating index entries: Indexing Commands. (line 6)
+* Creating pointers with makeinfo: makeinfo Pointer Creation.
+ (line 6)
+* Cropmarks for printing: Cropmarks and Magnification.
+ (line 6)
+* Cross reference parts: Cross Reference Parts.
+ (line 6)
+* Cross references: Cross References. (line 6)
+* Cross references using @inforef: inforef. (line 6)
+* Cross references using @pxref: pxref. (line 6)
+* Cross references using @ref: ref. (line 6)
+* Cross references using @xref: xref. (line 6)
+* Cross-reference targets, arbitrary: anchor. (line 6)
+* Cross-references, in HTML output: HTML Xref. (line 6)
+* CSS, and HTML output: HTML CSS. (line 6)
+* Custom page sizes: pagesizes. (line 6)
+* Customize Emacs package (Development/Docs/Texinfo): Texinfo Mode Printing.
+ (line 92)
+* Customized highlighting: definfoenclose. (line 6)
+* Customizing of TeX for Texinfo: Preparing for TeX. (line 27)
+* CVS $Id: GNU Sample Texts. (line 21)
+* Dashes in source: Conventions. (line 41)
+* Debugging the Texinfo structure: Catching Mistakes. (line 6)
+* Debugging with Info formatting: Debugging with Info. (line 6)
+* Debugging with TeX formatting: Debugging with TeX. (line 6)
+* Defining indexing entries: Indexing Commands. (line 6)
+* Defining macros: Defining Macros. (line 6)
+* Defining new indices: New Indices. (line 6)
+* Defining new Texinfo commands: Defining New Texinfo Commands.
+ (line 6)
+* Definition command headings, continuing: Def Cmd Continuation Lines.
+ (line 6)
+* Definition commands: Definition Commands. (line 6)
+* Definition conventions: Def Cmd Conventions. (line 6)
+* Definition lists, typesetting: table. (line 6)
+* Definition template: Def Cmd Template. (line 6)
+* Definitions grouped together: deffnx. (line 6)
+* Delimiter character, for verbatim: verb. (line 6)
+* Depth of text area: pagesizes. (line 6)
+* Description for menu, start: Inserting. (line 94)
+* Description of document: documentdescription. (line 6)
+* Details of macro usage: Macro Details. (line 6)
+* Dido^t points: Image Scaling. (line 36)
+* Different cross reference commands: Cross Reference Commands.
+ (line 6)
+* Dimension formatting: dmn. (line 6)
+* Dimensions and image sizes: Image Scaling. (line 14)
+* Dir categories, choosing: Installing Dir Entries.
+ (line 45)
+* dir directory for Info installation: Installing an Info File.
+ (line 6)
+* dir file listing: New Info File. (line 6)
+* dir file, creating your own: Other Info Directories.
+ (line 91)
+* dir files and Info directories: Other Info Directories.
+ (line 6)
+* Dir files, compressed: Invoking install-info.
+ (line 22)
+* dir, created by install-info: Invoking install-info.
+ (line 19)
+* Display formatting: display. (line 6)
+* Displayed equations: math. (line 33)
+* distinct, value for @kbdinputstyle: kbd. (line 32)
+* Distorting images: Image Scaling. (line 6)
+* Distribution: Software Copying Permissions.
+ (line 6)
+* Docbook output: Output Formats. (line 70)
+* Docbook, including raw: Raw Formatter Commands.
+ (line 6)
+* Document description: documentdescription. (line 6)
+* Document input encoding: documentencoding. (line 6)
+* Document language, declaring: documentlanguage. (line 6)
+* Document Permissions: Document Permissions.
+ (line 6)
+* Documentation identification: GNU Sample Texts. (line 21)
+* Dot accent: Inserting Accents. (line 17)
+* Dotless i, j: Inserting Accents. (line 37)
+* Dots, inserting <1>: dots. (line 6)
+* Dots, inserting: Dots Bullets. (line 6)
+* Double-colon menu entries: Less Cluttered Menu Entry.
+ (line 6)
+* DTD, for Texinfo XML: Output Formats. (line 60)
+* Dumas, Patrice: HTML Xref. (line 21)
+* Dumping a .fmt file: Preparing for TeX. (line 74)
+* DVI file: Format with tex/texindex.
+ (line 6)
+* DVI output: Output Formats. (line 36)
+* dvips: Output Formats. (line 36)
+* Ellipsis, inserting: Dots Bullets. (line 6)
+* Em dash, compared to minus sign: minus. (line 6)
+* Em dash, producing: Conventions. (line 41)
+* Emacs: Texinfo Mode. (line 6)
+* Emacs shell, format, print from: Within Emacs. (line 6)
+* Emacs-W3: Output Formats. (line 26)
+* Emphasizing text: Emphasis. (line 6)
+* Emphasizing text, font for: emph & strong. (line 6)
+* En dash, producing: Conventions. (line 41)
+* Encoding, declaring: documentencoding. (line 6)
+* End node footnote style: Footnote Styles. (line 9)
+* End of header line: End of Header. (line 6)
+* End titlepage starts headings: end titlepage. (line 6)
+* Ending a Sentence: Ending a Sentence. (line 6)
+* Ending a Texinfo file: Ending a File. (line 6)
+* Entries for an index: Indexing Commands. (line 6)
+* Entries, making index: Index Entries. (line 6)
+* Enumeration: enumerate. (line 6)
+* Environment indentation: exampleindent. (line 6)
+* Environment variable INFOPATH: Other Info Directories.
+ (line 50)
+* Environment variable TEXINFO_OUTPUT_FORMAT: makeinfo options.
+ (line 234)
+* Environment variable TEXINPUTS: Preparing for TeX. (line 37)
+* epsf.tex: Image Scaling. (line 49)
+* epsf.tex, installing: Preparing for TeX. (line 20)
+* Equations, displayed: math. (line 33)
+* Equivalence, indicating: Equivalence. (line 6)
+* Error message, indicating: Error Glyph. (line 6)
+* Errors, parsing: makeinfo in Emacs. (line 26)
+* Es-zet: Inserting Accents. (line 37)
+* European A4 paper: A4 Paper. (line 6)
+* Evaluation glyph: result. (line 6)
+* Example beginning of Texinfo file: Sample Beginning. (line 6)
+* Example indentation: exampleindent. (line 6)
+* Example menu: Menu Example. (line 6)
+* example, value for @kbdinputstyle: kbd. (line 32)
+* Examples in smaller fonts: small. (line 6)
+* Examples, formatting them: example. (line 6)
+* Examples, glyphs for: Glyphs. (line 6)
+* Expanding macros: Invoking Macros. (line 6)
+* Expansion of 8-bit characters in HTML cross-references: HTML Xref 8-bit Character Expansion.
+ (line 6)
+* Expansion, indicating: expansion. (line 6)
+* expansion, of node names in HTML cross-references: HTML Xref Node Name Expansion.
+ (line 6)
+* Expressions in a program, indicating: code. (line 10)
+* F.B.I., as acronym: acronym. (line 6)
+* FDL, GNU Free Documentation License: GNU Free Documentation License.
+ (line 6)
+* Feminine ordinal: Inserting Accents. (line 37)
+* File beginning: Beginning a File. (line 6)
+* File ending: Ending a File. (line 6)
+* File name collision: setfilename. (line 26)
+* File section structure, showing it: Showing the Structure.
+ (line 6)
+* Final output: Overfull hboxes. (line 6)
+* Finding badly referenced nodes: Running Info-Validate.
+ (line 6)
+* Fine-tuning, and hyphenation: - and hyphenation. (line 6)
+* First line of a Texinfo file: First Line. (line 6)
+* First node: First Node. (line 6)
+* First paragraph, suppressing indentation of: firstparagraphindent.
+ (line 6)
+* Fixed-width font: Fonts. (line 18)
+* Float environment: float. (line 6)
+* Floating accents, inserting: Inserting Accents. (line 6)
+* Floating, not yet implemented: Floats. (line 10)
+* Floats, in general: Floats. (line 6)
+* Floats, list of: listoffloats. (line 6)
+* Floats, making unnumbered: float. (line 39)
+* Floats, numbering of: float. (line 46)
+* Flooding: pxref. (line 34)
+* fn (function) index: Predefined Indices. (line 13)
+* Fonts for indices: syncodeindex. (line 52)
+* Fonts for printing, not Info: Fonts. (line 6)
+* Footings: Headings. (line 6)
+* Footnotes: Footnotes. (line 6)
+* Force line break: Line Breaks. (line 6)
+* Forcing indentation: indent. (line 6)
+* Forcing line and page breaks: Breaks. (line 6)
+* Format a dimension: dmn. (line 6)
+* Format and print hardcopy: Hardcopy. (line 6)
+* Format and print in Texinfo mode: Texinfo Mode Printing.
+ (line 6)
+* Format file, dumping: Preparing for TeX. (line 74)
+* Format with the compile command: Compile-Command. (line 6)
+* Format, print from Emacs shell: Within Emacs. (line 6)
+* Formats for images: Image Syntax. (line 10)
+* Formatting a file for Info: Creating an Info File.
+ (line 6)
+* Formatting commands: Formatting Commands. (line 6)
+* Formatting examples: example. (line 6)
+* Formatting for Info: Info Formatting. (line 6)
+* Formatting for printing: Printing. (line 6)
+* Formatting headings and footings: Headings. (line 6)
+* Formatting requirements: Requirements Summary.
+ (line 6)
+* Formatting with tex and texindex: Format with tex/texindex.
+ (line 6)
+* Formulas, mathematical: math. (line 6)
+* Fox, Brian: History. (line 6)
+* Free Documentation License, including entire: GNU Sample Texts.
+ (line 51)
+* Free Software Directory: Installing Dir Entries.
+ (line 45)
+* Frequently used commands, inserting: Inserting. (line 6)
+* Frontmatter, text in: Beginning a File. (line 15)
+* Full texts, GNU: GNU Sample Texts. (line 6)
+* Function definitions: Sample Function Definition.
+ (line 6)
+* General syntactic conventions: Conventions. (line 6)
+* Generating menus with indices: Printing Indices & Menus.
+ (line 6)
+* Generating plain text files: makeinfo options. (line 123)
+* German S: Inserting Accents. (line 37)
+* GIF images, unsupported due to patents: Image Syntax. (line 37)
+* Global Document Commands: Global Document Commands.
+ (line 6)
+* Globbing: Format with tex/texindex.
+ (line 32)
+* Glyphs: Glyphs. (line 6)
+* GNU Emacs: Texinfo Mode. (line 6)
+* GNU Emacs shell, format, print from: Within Emacs. (line 6)
+* GNU Free Documentation License, including entire: GNU Sample Texts.
+ (line 51)
+* GNU sample texts: GNU Sample Texts. (line 6)
+* Going to other Info files' nodes: Other Info Files. (line 6)
+* Grave accent: Inserting Accents. (line 17)
+* Grave accent, vs. left quote: Conventions. (line 35)
+* Group (hold text together vertically): group. (line 6)
+* Grouping two definitions together: deffnx. (line 6)
+* Hacek accent: Inserting Accents. (line 17)
+* Hardcopy, printing it: Hardcopy. (line 6)
+* hboxes, overfull: Overfull hboxes. (line 6)
+* Header for Texinfo files: Texinfo File Header. (line 6)
+* Header of a Texinfo file: First Line. (line 6)
+* Heading row, in table: Multitable Rows. (line 12)
+* Headings: Headings. (line 6)
+* Headings, indentation after: firstparagraphindent.
+ (line 6)
+* Headings, page, begin to appear: end titlepage. (line 6)
+* Height of images: Image Scaling. (line 6)
+* Height of text area: pagesizes. (line 6)
+* help2man: Output Formats. (line 88)
+* Hierarchical documents, and menus: Menu Location. (line 16)
+* Highlighting text: Indicating. (line 6)
+* Highlighting, customized: definfoenclose. (line 6)
+* Hints: Tips. (line 8)
+* History of Texinfo: History. (line 24)
+* Holder of copyright for FSF works: copying. (line 53)
+* Holding text together vertically: group. (line 6)
+* href, producing HTML: uref. (line 6)
+* HTML cross-reference 8-bit character expansion: HTML Xref 8-bit Character Expansion.
+ (line 6)
+* HTML cross-reference command expansion: HTML Xref Command Expansion.
+ (line 6)
+* HTML cross-reference link basics: HTML Xref Link Basics.
+ (line 6)
+* HTML cross-reference mismatch: HTML Xref Mismatch. (line 6)
+* HTML cross-reference node name expansion: HTML Xref Node Name Expansion.
+ (line 6)
+* HTML cross-references: HTML Xref. (line 6)
+* HTML output <1>: Generating HTML. (line 6)
+* HTML output: Output Formats. (line 26)
+* HTML output, and encodings: documentencoding. (line 35)
+* HTML output, browser compatibility of: HTML Translation. (line 22)
+* HTML output, split: HTML Splitting. (line 6)
+* HTML, and CSS: HTML CSS. (line 6)
+* HTML, including raw: Raw Formatter Commands.
+ (line 6)
+* http-equiv, and charset specification: documentencoding. (line 35)
+* Hungarian umlaut accent: Inserting Accents. (line 17)
+* Hurricanes: ref. (line 12)
+* Hyphen, compared to minus: minus. (line 6)
+* Hyphenation patterns, language-dependent: documentlanguage. (line 18)
+* Hyphenation, helping TeX do: - and hyphenation. (line 6)
+* Hyphenation, preventing: w. (line 24)
+* Hyphens in source, two or three in a row: Conventions. (line 41)
+* i (dotless i): Inserting Accents. (line 37)
+* Identification of documentation: GNU Sample Texts. (line 21)
+* If text conditionally visible: Conditionals. (line 6)
+* Ignored before @setfilename: setfilename. (line 16)
+* Ignored text: Comments. (line 19)
+* Image formats: Image Syntax. (line 10)
+* Images, alternate text for: Image Syntax. (line 30)
+* Images, inserting: Images. (line 6)
+* Images, scaling: Image Scaling. (line 6)
+* Inches: Image Scaling. (line 27)
+* Include file sample: Sample Include File. (line 6)
+* Include files: Include Files. (line 6)
+* Include files requirements: Include Files Requirements.
+ (line 6)
+* Include files, and section levels: Raise/lower sections.
+ (line 16)
+* Including a file verbatim: verbatiminclude. (line 6)
+* Including permissions text: insertcopying. (line 6)
+* Indentation undoing: exdent. (line 6)
+* Indentation, forcing: indent. (line 6)
+* Indentation, omitting: noindent. (line 6)
+* Indenting environments: exampleindent. (line 6)
+* Indenting paragraphs, control of: paragraphindent. (line 6)
+* Indenting, suppressing of first paragraph: firstparagraphindent.
+ (line 6)
+* Index entries: Indexing Commands. (line 6)
+* Index entries, making: Index Entries. (line 6)
+* Index entry writing: Indexing Commands. (line 27)
+* Index file names: Format with tex/texindex.
+ (line 24)
+* Index font types: Indexing Commands. (line 48)
+* Indexing table entries automatically: ftable vtable. (line 6)
+* Indicating commands, definitions, etc.: Indicating. (line 6)
+* Indicating evaluation: result. (line 6)
+* Indices: Indices. (line 6)
+* Indices, combining them: Combining Indices. (line 6)
+* Indices, defining new: New Indices. (line 6)
+* Indices, printing and menus: Printing Indices & Menus.
+ (line 6)
+* Indices, sorting: Hardcopy. (line 6)
+* Indices, two letter names: syncodeindex. (line 17)
+* Indirect subfiles: Tag and Split Files. (line 11)
+* Info batch formatting: Batch Formatting. (line 6)
+* Info file installation: Installing an Info File.
+ (line 6)
+* Info file name, choosing: setfilename. (line 26)
+* Info file, listing a new: New Info File. (line 6)
+* Info file, splitting manually: Splitting. (line 6)
+* Info files: Info Files. (line 6)
+* Info format, and menus: Menu Location. (line 10)
+* Info formatting: Info Formatting. (line 6)
+* Info installed in another directory: Other Info Directories.
+ (line 6)
+* Info output: Output Formats. (line 10)
+* Info output, and encoding: documentencoding. (line 26)
+* Info validating a large file: Using Info-validate. (line 6)
+* Info, creating an online file: Creating an Info File.
+ (line 6)
+* Info-directory-list: Other Info Directories.
+ (line 37)
+* Info; other files' nodes: Other Info Files. (line 6)
+* INFOPATH: Other Info Directories.
+ (line 50)
+* Initialization file for TeX input: Preparing for TeX. (line 6)
+* Input encoding, declaring: documentencoding. (line 6)
+* Insert nodes, menus automatically: Updating Nodes and Menus.
+ (line 6)
+* Inserting @ (literal @): Inserting an Atsign. (line 6)
+* Inserting accents: Inserting Accents. (line 6)
+* Inserting dots <1>: Dots Bullets. (line 6)
+* Inserting dots: dots. (line 6)
+* Inserting ellipsis: Dots Bullets. (line 6)
+* Inserting frequently used commands: Inserting. (line 6)
+* Inserting indentation: indent. (line 6)
+* Inserting space: Inserting Space. (line 6)
+* Inserting special characters and symbols: Insertions. (line 6)
+* INSTALL file, generating: makeinfo options. (line 123)
+* install-info: Invoking install-info.
+ (line 6)
+* Installing an Info file: Installing an Info File.
+ (line 6)
+* Installing Info in another directory: Other Info Directories.
+ (line 6)
+* Internationalization: Internationalization.
+ (line 6)
+* Introduction to Texinfo: Using Texinfo. (line 6)
+* Introduction, as part of file: Software Copying Permissions.
+ (line 16)
+* Invalid characters in node names: Node Line Requirements.
+ (line 30)
+* Invoking macros: Invoking Macros. (line 6)
+* Invoking nodes, including in dir file: Installing Dir Entries.
+ (line 62)
+* ISO 639 codes: documentlanguage. (line 22)
+* Italic font: Fonts. (line 12)
+* Itemization: itemize. (line 6)
+* j (dotless j): Inserting Accents. (line 37)
+* JPG image format: Image Syntax. (line 37)
+* Keyboard input: kbd. (line 6)
+* Keys, recommended names: key. (line 19)
+* Keyword expansion, preventing: w. (line 28)
+* Keywords, indicating: code. (line 10)
+* Knuth, Donald: Printed Books. (line 6)
+* ky (keystroke) index: Predefined Indices. (line 17)
+* Language codes: documentlanguage. (line 22)
+* Language, declaring: documentlanguage. (line 6)
+* Larger or smaller pages: Cropmarks and Magnification.
+ (line 24)
+* LaTeX, processing with texi2dvi: Format with texi2dvi.
+ (line 32)
+* Legal paper, printing on: pagesizes. (line 16)
+* Length of file names: setfilename. (line 26)
+* Less cluttered menu entry: Less Cluttered Menu Entry.
+ (line 6)
+* License agreement: Software Copying Permissions.
+ (line 6)
+* License for all-permissive copying: All-permissive Copying License.
+ (line 6)
+* License for verbatim copying: Verbatim Copying License.
+ (line 6)
+* Line breaks <1>: Breaks. (line 6)
+* Line breaks: Line Breaks. (line 6)
+* Line breaks, preventing: w. (line 6)
+* Line length, column widths as fraction of: Multitable Column Widths.
+ (line 11)
+* Line spacing: sp. (line 6)
+* Lisp example: lisp. (line 6)
+* Lisp examples in smaller fonts: small. (line 6)
+* List of @-commands: Command List. (line 6)
+* List of floats: listoffloats. (line 6)
+* Listing a new Info file: New Info File. (line 6)
+* Lists and tables, making: Lists and Tables. (line 6)
+* Local variables: Compile-Command. (line 6)
+* Local Variables: section, for encoding: documentencoding. (line 26)
+* Location of menus: Menu Location. (line 6)
+* Looking for badly referenced nodes: Running Info-Validate.
+ (line 6)
+* Lowering and raising sections: Raise/lower sections.
+ (line 6)
+* lpr (DVI print command): Print with lpr. (line 6)
+* lpr-d, replacements on MS-DOS/MS-Windows: Print with lpr. (line 27)
+* Lynx: Output Formats. (line 26)
+* Macro definitions <1>: Defining Macros. (line 6)
+* Macro definitions: Sample Function Definition.
+ (line 6)
+* Macro details: Macro Details. (line 6)
+* Macro expansion, indicating: expansion. (line 6)
+* Macro invocation: Invoking Macros. (line 6)
+* Macro names, valid characters in: Defining Macros. (line 16)
+* Macron accent: Inserting Accents. (line 17)
+* Macros: Defining New Texinfo Commands.
+ (line 6)
+* Macros in definition commands: Def Cmd Template. (line 66)
+* Macros, undefining: Defining Macros. (line 56)
+* Magnified printing: Cropmarks and Magnification.
+ (line 24)
+* Mailto link: email. (line 10)
+* makeinfo: Invoking makeinfo. (line 6)
+* makeinfo inside Emacs: makeinfo in Emacs. (line 6)
+* makeinfo options: makeinfo options. (line 6)
+* Making a printed manual: Hardcopy. (line 6)
+* Making a tag table automatically: Tag and Split Files. (line 6)
+* Making a tag table manually: Unsplit. (line 26)
+* Making cross references: Cross References. (line 6)
+* Making line and page breaks: Breaks. (line 6)
+* Making lists and tables: Lists and Tables. (line 6)
+* Man page output, not supported: Output Formats. (line 78)
+* Man page, reference to: uref. (line 20)
+* Manual characteristics, printed: Printed Books. (line 6)
+* Margins on page, not controllable: pagesizes. (line 20)
+* Marking text within a paragraph: Marking Text. (line 6)
+* Marking words and phrases: Marking Text. (line 6)
+* Masculine ordinal: Inserting Accents. (line 37)
+* Master menu: Master Menu Parts. (line 6)
+* Mathematical expressions <1>: Raw Formatter Commands.
+ (line 33)
+* Mathematical expressions: math. (line 6)
+* Menu description, start: Inserting. (line 94)
+* Menu entries with two colons: Less Cluttered Menu Entry.
+ (line 6)
+* Menu example: Menu Example. (line 6)
+* Menu location: Menu Location. (line 6)
+* Menu parts: Menu Parts. (line 6)
+* Menu writing: Writing a Menu. (line 6)
+* Menu, master: Master Menu Parts. (line 6)
+* Menus: Menus. (line 6)
+* Menus generated with indices: Printing Indices & Menus.
+ (line 6)
+* Menus, omitting: makeinfo options. (line 123)
+* META key: key. (line 53)
+* Meta-syntactic chars for arguments: Optional Arguments. (line 6)
+* Methods, object-oriented: Object-Oriented Methods.
+ (line 6)
+* Millimeters: Image Scaling. (line 33)
+* Minimal requirements for formatting: Requirements Summary.
+ (line 6)
+* Minimal Texinfo file (requirements): Minimum. (line 6)
+* Mismatched HTML cross-reference source and target: HTML Xref Mismatch.
+ (line 6)
+* Mistakes, catching: Catching Mistakes. (line 6)
+* Mode, using Texinfo: Texinfo Mode. (line 6)
+* Monospace font: Fonts. (line 18)
+* Mozilla: Output Formats. (line 26)
+* Multiple dashes in source: Conventions. (line 41)
+* Multiple spaces: Multiple Spaces. (line 6)
+* Multitable column widths: Multitable Column Widths.
+ (line 6)
+* Multitable rows: Multitable Rows. (line 6)
+* Must have in Texinfo file: Minimum. (line 6)
+* Mutually recursive macros: Defining Macros. (line 26)
+* Names for indices: syncodeindex. (line 17)
+* Names of index files: Format with tex/texindex.
+ (line 24)
+* Names of macros, valid characters of: Defining Macros. (line 16)
+* Names recommended for keys: key. (line 19)
+* Naming a `Top' Node in references: Top Node Naming. (line 6)
+* NASA, as acronym: acronym. (line 6)
+* Navigation bar, in HTML output: HTML Translation. (line 16)
+* Navigation links, omitting: makeinfo options. (line 129)
+* Need space at page bottom: need. (line 6)
+* Nesting conditionals: Conditional Nesting. (line 6)
+* New index defining: New Indices. (line 6)
+* New Info file, listing it in dir file: New Info File. (line 6)
+* New Texinfo commands, defining: Defining New Texinfo Commands.
+ (line 6)
+* Newlines, as blank lines: Conventions. (line 16)
+* Next node of Top node: First Node. (line 30)
+* Node line requirements: Node Line Requirements.
+ (line 6)
+* Node line writing: Writing a Node. (line 6)
+* node name expansion, in HTML cross-references: HTML Xref Node Name Expansion.
+ (line 6)
+* Node name must be unique: Node Line Requirements.
+ (line 8)
+* Node name, should not contain @-commands: Node Line Requirements.
+ (line 23)
+* Node names, choosing: Node Names. (line 6)
+* Node names, invalid characters in: Node Line Requirements.
+ (line 30)
+* Node separators, omitting: makeinfo options. (line 123)
+* Node, `Top': The Top Node. (line 6)
+* Node, defined: node. (line 6)
+* Nodes in other Info files: Other Info Files. (line 6)
+* Nodes, catching mistakes: Catching Mistakes. (line 6)
+* Nodes, checking for badly referenced: Running Info-Validate.
+ (line 6)
+* Non-breakable space, fixed: w. (line 9)
+* Non-breakable space, variable: tie. (line 6)
+* Not ending a sentence: Not Ending a Sentence.
+ (line 6)
+* Numbering of floats: float. (line 46)
+* o: Inserting Accents. (line 37)
+* O'Dea, Brendan: Output Formats. (line 88)
+* Object-oriented programming: Abstract Objects. (line 6)
+* Obtaining TeX: Obtaining TeX. (line 6)
+* Occurrences, listing with @occur: Using occur. (line 6)
+* OE: Inserting Accents. (line 37)
+* oe: Inserting Accents. (line 37)
+* Omitting indentation: noindent. (line 6)
+* Optional and repeated arguments: Optional Arguments. (line 6)
+* Options for makeinfo: makeinfo options. (line 6)
+* Ordinals, Romance: Inserting Accents. (line 37)
+* Ordinary TeX commands, using: Raw Formatter Commands.
+ (line 6)
+* Other Info files' nodes: Other Info Files. (line 6)
+* Outline of file structure, showing it: Showing the Structure.
+ (line 6)
+* Output file splitting: makeinfo options. (line 148)
+* Output formats: Output Formats. (line 6)
+* Output formats, supporting more: Output Formats. (line 95)
+* Overfull hboxes: Overfull hboxes. (line 6)
+* Overview of Texinfo: Overview. (line 6)
+* Owner of copyright for FSF works: copying. (line 53)
+* Page breaks <1>: page. (line 6)
+* Page breaks: Breaks. (line 11)
+* Page delimiter in Texinfo mode: Showing the Structure.
+ (line 40)
+* Page headings: Headings. (line 6)
+* Page numbering: Headings. (line 6)
+* Page sizes for books: smallbook. (line 6)
+* Page sizes, customized: pagesizes. (line 6)
+* page-delimiter: Showing the Structure.
+ (line 40)
+* Pages, starting odd: setchapternewpage. (line 6)
+* Paper size, A4: A4 Paper. (line 6)
+* Paragraph indentation control: paragraphindent. (line 6)
+* Paragraph separator: Conventions. (line 16)
+* Paragraph, marking text within: Marking Text. (line 6)
+* Parameters to macros: Defining Macros. (line 32)
+* Parentheses in nodename: Node Line Requirements.
+ (line 30)
+* Parsing errors: makeinfo in Emacs. (line 26)
+* Part of file formatting and printing: Printing. (line 6)
+* Parts of a cross reference: Cross Reference Parts.
+ (line 6)
+* Parts of a master menu: Master Menu Parts. (line 6)
+* Parts of a menu: Menu Parts. (line 6)
+* Patches, contributing: Reporting Bugs. (line 30)
+* PDF output <1>: PDF Output. (line 6)
+* PDF output: Output Formats. (line 51)
+* pdfcolor.tex, installing: Preparing for TeX. (line 24)
+* pdftex <1>: Output Formats. (line 51)
+* pdftex: PDF Output. (line 6)
+* pdftex, and images: Image Syntax. (line 15)
+* Period in nodename: Node Line Requirements.
+ (line 30)
+* Periods, inserting: Not Ending a Sentence.
+ (line 6)
+* Permissions text, including: insertcopying. (line 6)
+* Permissions, printed: Copyright. (line 6)
+* pg (program) index: Predefined Indices. (line 20)
+* Picas: Image Scaling. (line 21)
+* Pictures, inserting: Images. (line 6)
+* Pinard, Franc,ois: History. (line 14)
+* Plain TeX: Raw Formatter Commands.
+ (line 6)
+* Plain text output <1>: Output Formats. (line 21)
+* Plain text output: makeinfo options. (line 123)
+* PNG image format: Image Syntax. (line 37)
+* Point, indicating in a buffer: Point Glyph. (line 6)
+* Pointer creation with makeinfo: makeinfo Pointer Creation.
+ (line 6)
+* Pointer validation with makeinfo: Pointer Validation. (line 6)
+* Pointer validation, suppressing <1>: makeinfo options. (line 156)
+* Pointer validation, suppressing: Format with tex/texindex.
+ (line 84)
+* Points (dimension): Image Scaling. (line 18)
+* Predefined names for indices: syncodeindex. (line 17)
+* Preparing for TeX: Preparing for TeX. (line 6)
+* Preventing first paragraph indentation: firstparagraphindent.
+ (line 6)
+* Preventing line and page breaks: Breaks. (line 6)
+* Previous node of Top node: First Node. (line 24)
+* Print and format in Texinfo mode: Texinfo Mode Printing.
+ (line 6)
+* Print, format from Emacs shell: Within Emacs. (line 6)
+* Printed book and manual characteristics: Printed Books. (line 6)
+* Printed output, indicating: Print Glyph. (line 6)
+* Printed permissions: Copyright. (line 6)
+* Printing a region or buffer: Printing. (line 6)
+* Printing an index: Printing Indices & Menus.
+ (line 6)
+* Printing cropmarks: Cropmarks and Magnification.
+ (line 6)
+* Printing DVI files, on MS-DOS/MS-Windows: Print with lpr. (line 27)
+* Printing hardcopy: Hardcopy. (line 6)
+* Problems, catching: Catching Mistakes. (line 6)
+* Program names, indicating: command. (line 6)
+* Prototype row, column widths defined by: Multitable Column Widths.
+ (line 22)
+* Quotation characters (`'), in source: Conventions. (line 24)
+* Quotations: quotation. (line 6)
+* Ragged left: flushleft & flushright.
+ (line 6)
+* Ragged right: flushleft & flushright.
+ (line 6)
+* Raising and lowering sections: Raise/lower sections.
+ (line 6)
+* Raw formatter commands: Raw Formatter Commands.
+ (line 6)
+* RCS $Id: GNU Sample Texts. (line 21)
+* Recommended names for keys: key. (line 19)
+* Rectangle, black in hardcopy: Overfull hboxes. (line 41)
+* Recursion, mutual: Defining Macros. (line 26)
+* Recursive macro invocations: Defining Macros. (line 44)
+* Reference to @-commands: Command List. (line 6)
+* References: Cross References. (line 6)
+* References using @inforef: inforef. (line 6)
+* References using @pxref: pxref. (line 6)
+* References using @ref: ref. (line 6)
+* References using @xref: xref. (line 6)
+* Referring to other Info files: Other Info Files. (line 6)
+* Region formatting and printing: Printing. (line 6)
+* Region printing in Texinfo mode: Texinfo Mode Printing.
+ (line 6)
+* Reid, Brian: History. (line 24)
+* Repeated and optional arguments: Optional Arguments. (line 6)
+* Reporting bugs: Reporting Bugs. (line 6)
+* Required in Texinfo file: Minimum. (line 6)
+* Requirements for formatting: Requirements Summary.
+ (line 6)
+* Requirements for include files: Include Files Requirements.
+ (line 6)
+* Requirements for updating commands: Updating Requirements.
+ (line 6)
+* Reserved words, indicating: code. (line 10)
+* Restrictions on node names: Node Line Requirements.
+ (line 6)
+* Result of an expression: result. (line 6)
+* ridt.eps: Image Scaling. (line 44)
+* Ring accent: Inserting Accents. (line 17)
+* Roman font: Fonts. (line 21)
+* Romance ordinals: Inserting Accents. (line 37)
+* Rounded rectangles, around examples: cartouche. (line 6)
+* Rows, of a multitable: Multitable Rows. (line 6)
+* Running an Info formatter: Info Formatting. (line 6)
+* Running Info-validate: Using Info-validate. (line 6)
+* Running macros: Invoking Macros. (line 6)
+* Running makeinfo in Emacs: makeinfo in Emacs. (line 6)
+* Sample @include file: Sample Include File. (line 6)
+* Sample function definition: Sample Function Definition.
+ (line 6)
+* Sample Texinfo file, no comments: Short Sample Texinfo File.
+ (line 6)
+* Sample Texinfo file, with comments: Short Sample. (line 6)
+* Sample Texinfo files: Sample Texinfo Files.
+ (line 6)
+* Sample texts, GNU: GNU Sample Texts. (line 6)
+* Scaled points: Image Scaling. (line 42)
+* Scaling images: Image Scaling. (line 6)
+* Schwab, Andreas: History. (line 14)
+* Scribe: History. (line 24)
+* Sea surges: ref. (line 27)
+* Section structure of a file, showing it: Showing the Structure.
+ (line 6)
+* Sections, raising and lowering: Raise/lower sections.
+ (line 6)
+* Sentence ending punctuation: Ending a Sentence. (line 6)
+* Sentence non-ending punctuation: Not Ending a Sentence.
+ (line 6)
+* Separate footnote style: Footnote Styles. (line 20)
+* SGML-tools output format: Output Formats. (line 95)
+* Sharp S: Inserting Accents. (line 37)
+* Shell formatting with tex and texindex: Format with tex/texindex.
+ (line 6)
+* Shell printing, on MS-DOS/MS-Windows: Print with lpr. (line 27)
+* Shell, format, print from: Within Emacs. (line 6)
+* Shell, running makeinfo in: makeinfo in Emacs. (line 6)
+* Short captions, for lists of floats: caption shortcaption.
+ (line 6)
+* Short table of contents: Contents. (line 6)
+* Showing the section structure of a file: Showing the Structure.
+ (line 6)
+* Showing the structure of a file: Using texinfo-show-structure.
+ (line 6)
+* Shrubbery: ifset ifclear. (line 21)
+* Site-wide Texinfo configuration file: Preparing for TeX. (line 27)
+* Size of printed book: smallbook. (line 6)
+* Slanted typewriter font, for @kbd: kbd. (line 15)
+* Small book size: smallbook. (line 6)
+* Small caps font: Smallcaps. (line 6)
+* Small examples: small. (line 6)
+* Software copying permissions: Software Copying Permissions.
+ (line 6)
+* Sorting indices: Hardcopy. (line 6)
+* Source file format: Using Texinfo. (line 19)
+* Source files, characters used: Conventions. (line 9)
+* Space, inserting horizontal: Multiple Spaces. (line 6)
+* Space, inserting vertical: sp. (line 6)
+* Spaces in macros: Defining Macros. (line 40)
+* Spaces in node name: Node Line Requirements.
+ (line 44)
+* Spaces, in menus: Writing a Menu. (line 25)
+* Spacing, inserting: Inserting Space. (line 6)
+* Special characters, inserting: Atsign Braces Comma. (line 6)
+* Special displays: Special Displays. (line 6)
+* Special insertions: Insertions. (line 6)
+* Special typesetting commands: Dots Bullets. (line 6)
+* Specifying index entries: Indexing Commands. (line 6)
+* Split HTML output: HTML Splitting. (line 6)
+* Splitting an Info file manually: Splitting. (line 6)
+* Splitting of output files: makeinfo options. (line 148)
+* ss: Inserting Accents. (line 37)
+* Stallman, Richard M.: History. (line 6)
+* Start of header line: Start of Header. (line 6)
+* Starting chapters: setchapternewpage. (line 6)
+* Structure of a file, showing it: Showing the Structure.
+ (line 6)
+* Structure, catching mistakes in: Catching Mistakes. (line 6)
+* Structuring of chapters: Structuring. (line 6)
+* Subsection-like commands: unnumberedsubsec appendixsubsec subheading.
+ (line 6)
+* Subsub commands: subsubsection. (line 6)
+* Suggestions for Texinfo, making: Reporting Bugs. (line 6)
+* Summary of document: documentdescription. (line 6)
+* Suppressing first paragraph indentation: firstparagraphindent.
+ (line 6)
+* Suppressing indentation: noindent. (line 6)
+* Syntactic conventions: Conventions. (line 6)
+* Syntactic tokens, indicating: code. (line 6)
+* Syntax, of @-commands: Command Syntax. (line 6)
+* Syntax, optional & repeated arguments: Optional Arguments. (line 6)
+* Table of contents: Contents. (line 6)
+* Table of contents, after title page: Contents. (line 51)
+* Table of contents, for floats: listoffloats. (line 6)
+* Tables and lists, making: Lists and Tables. (line 6)
+* Tables with indexes: ftable vtable. (line 6)
+* Tables, making multi-column: Multi-column Tables. (line 6)
+* Tables, making two-column: Two-column Tables. (line 6)
+* Tabs; don't use!: Conventions. (line 51)
+* Tag table, making automatically: Tag and Split Files. (line 6)
+* Tag table, making manually: Unsplit. (line 26)
+* Targets for cross-references, arbitrary: anchor. (line 6)
+* Template for a definition: Def Cmd Template. (line 6)
+* TeX commands, using ordinary: Raw Formatter Commands.
+ (line 6)
+* TeX index sorting: Hardcopy. (line 6)
+* TeX input initialization: Preparing for TeX. (line 6)
+* TeX, how to obtain: Obtaining TeX. (line 6)
+* texi2dvi: Format with tex/texindex.
+ (line 76)
+* texi2dvi (shell script): Format with texi2dvi.
+ (line 6)
+* texi2roff, unsupported software: Printed Books. (line 59)
+* texindex <1>: Hardcopy. (line 6)
+* texindex: Format with tex/texindex.
+ (line 16)
+* Texinfo commands, defining new: Defining New Texinfo Commands.
+ (line 6)
+* Texinfo file beginning: Beginning a File. (line 6)
+* Texinfo file ending: Ending a File. (line 6)
+* Texinfo file header: Texinfo File Header. (line 6)
+* Texinfo file minimum: Minimum. (line 6)
+* Texinfo file section structure, showing it: Showing the Structure.
+ (line 6)
+* Texinfo history: History. (line 24)
+* Texinfo mode: Texinfo Mode. (line 6)
+* Texinfo overview: Overview. (line 6)
+* Texinfo printed book characteristics: Printed Books. (line 6)
+* Texinfo requires @setfilename: setfilename. (line 6)
+* Texinfo, introduction to: Using Texinfo. (line 6)
+* texinfo.cnf: setfilename. (line 43)
+* texinfo.cnf installation: Preparing for TeX. (line 27)
+* texinfo.dtd: Output Formats. (line 60)
+* texinfo.tex, installing: Preparing for TeX. (line 13)
+* TEXINFO_OUTPUT_FORMAT: makeinfo options. (line 234)
+* TEXINPUTS: Preparing for TeX. (line 37)
+* Text width and height: pagesizes. (line 6)
+* Text, conditionally visible: Conditionals. (line 6)
+* Text, marking up: Marking Text. (line 6)
+* Thin space between number, dimension: dmn. (line 6)
+* Tie-after accent: Inserting Accents. (line 17)
+* Tied space: tie. (line 6)
+* Tilde accent: Inserting Accents. (line 17)
+* time-stamp.el: GNU Sample Texts. (line 32)
+* Tips: Tips. (line 8)
+* Title page: titlepage. (line 6)
+* Title page, bastard: titlepage. (line 46)
+* Title page, for plain text: Titlepage & Copyright Page.
+ (line 16)
+* Titlepage end starts headings: end titlepage. (line 6)
+* Top node: The Top Node. (line 6)
+* Top node example: Top Node Example. (line 6)
+* Top node is first: First Node. (line 6)
+* Top node naming for references: Top Node Naming. (line 6)
+* tp (data type) index: Predefined Indices. (line 23)
+* Tree structuring: Tree Structuring. (line 6)
+* Two `First' Lines for @deffn: deffnx. (line 6)
+* Two letter names for indices: syncodeindex. (line 17)
+* Two named items for @table: itemx. (line 6)
+* Two part menu entry: Less Cluttered Menu Entry.
+ (line 6)
+* txi-CC.tex: documentlanguage. (line 13)
+* Typesetting commands for dots, etc.: Dots Bullets. (line 6)
+* Typewriter font: Fonts. (line 18)
+* Ugly black rectangles in hardcopy: Overfull hboxes. (line 41)
+* Umlaut accent: Inserting Accents. (line 17)
+* Unbreakable space, fixed: w. (line 9)
+* Unbreakable space, variable: tie. (line 6)
+* Uncluttered menu entry: Less Cluttered Menu Entry.
+ (line 6)
+* Undefining macros: Defining Macros. (line 56)
+* Underbar accent: Inserting Accents. (line 17)
+* Underdot accent: Inserting Accents. (line 17)
+* Unicode quotation characters: Conventions. (line 35)
+* Uniform resource locator, indicating: indicateurl. (line 6)
+* Uniform resource locator, referring to: uref. (line 6)
+* Unique nodename requirement: Node Line Requirements.
+ (line 8)
+* Unnumbered float, creating: float. (line 39)
+* Unprocessed text: Comments. (line 19)
+* Unsplit file creation: Unsplit. (line 6)
+* Up node of Top node: First Node. (line 13)
+* UPDATED Automake variable: GNU Sample Texts. (line 32)
+* Updating nodes and menus: Updating Nodes and Menus.
+ (line 6)
+* Updating requirements: Updating Requirements.
+ (line 6)
+* URI syntax for Info: Info Files. (line 78)
+* URL, indicating: indicateurl. (line 6)
+* URL, referring to: uref. (line 6)
+* Usage tips: Tips. (line 8)
+* User input: kbd. (line 15)
+* User options, marking: Variables Commands. (line 57)
+* User-defined Texinfo commands: Defining New Texinfo Commands.
+ (line 6)
+* Using Texinfo in general: Using Texinfo. (line 6)
+* Validating a large file: Using Info-validate. (line 6)
+* Validation of pointers: Pointer Validation. (line 6)
+* Value of an expression, indicating: result. (line 6)
+* Variables, object-oriented: Object-Oriented Variables.
+ (line 6)
+* Verbatim copying license: Verbatim Copying License.
+ (line 6)
+* Verbatim environment: verbatim. (line 6)
+* Verbatim in-line text: verb. (line 6)
+* Verbatim, include file: verbatiminclude. (line 6)
+* VERSION Automake variable: GNU Sample Texts. (line 32)
+* Version control keywords, preventing expansion of: w. (line 28)
+* Version number, for install-info: Invoking install-info.
+ (line 84)
+* Vertically holding text together: group. (line 6)
+* Visibility of conditional text: Conditionals. (line 6)
+* vr (variable) index: Predefined Indices. (line 27)
+* W3 consortium: Output Formats. (line 26)
+* Weinberg, Zack: History. (line 14)
+* Weisshaus, Melissa: History. (line 14)
+* White space in node name: Node Line Requirements.
+ (line 44)
+* White space, excessive: Breaks. (line 11)
+* Whitespace in macros: Defining Macros. (line 40)
+* Whitespace, collapsed around continuations: Def Cmd Continuation Lines.
+ (line 31)
+* Whitespace, inserting: Multiple Spaces. (line 6)
+* Width of images: Image Scaling. (line 6)
+* Width of text area: pagesizes. (line 6)
+* Widths, defining multitable column: Multitable Column Widths.
+ (line 6)
+* Wildcards: Format with tex/texindex.
+ (line 32)
+* Words and phrases, marking them: Marking Text. (line 6)
+* Writing a menu: Writing a Menu. (line 6)
+* Writing an @node line: Writing a Node. (line 6)
+* Writing index entries: Indexing Commands. (line 27)
+* xdvi: Output Formats. (line 36)
+* XML output: Output Formats. (line 60)
+* XML, including raw: Raw Formatter Commands.
+ (line 6)
+* XPM image format: Image Syntax. (line 23)
+* Years, in copyright line: copying. (line 48)
+* Zaretskii, Eli: History. (line 14)
+* Zuhn, David D.: History. (line 14)
+
+
+
+Tag Table:
+Node: Top1485
+Node: Copying Conditions26788
+Node: Overview28855
+Ref: Overview-Footnote-130234
+Node: Reporting Bugs30691
+Node: Using Texinfo32215
+Node: Output Formats33804
+Node: Info Files38893
+Ref: Info Files-Footnote-143301
+Node: Printed Books43480
+Ref: Printed Books-Footnote-146309
+Node: Formatting Commands46643
+Ref: Formatting Commands-Footnote-149496
+Node: Conventions50104
+Node: Comments53438
+Node: Minimum55068
+Node: Six Parts57631
+Node: Short Sample59285
+Node: History63419
+Node: Texinfo Mode65471
+Node: Texinfo Mode Overview66848
+Node: Emacs Editing67618
+Node: Inserting69762
+Node: Showing the Structure74049
+Node: Updating Nodes and Menus76370
+Node: Updating Commands77449
+Node: Updating Requirements83453
+Node: Other Updating Commands85842
+Node: Info Formatting89108
+Node: Printing90374
+Node: Texinfo Mode Summary92682
+Node: Beginning a File97376
+Node: Sample Beginning98795
+Node: Texinfo File Header100392
+Node: First Line101856
+Node: Start of Header102887
+Node: setfilename103878
+Node: settitle106383
+Node: End of Header108644
+Node: Document Permissions108928
+Node: copying109559
+Node: insertcopying112113
+Node: Titlepage & Copyright Page113648
+Node: titlepage115327
+Ref: titlepage-Footnote-1117834
+Node: titlefont center sp118120
+Node: title subtitle author119802
+Node: Copyright122576
+Node: end titlepage124105
+Node: headings on off125759
+Node: Contents127829
+Node: The Top Node131059
+Node: Top Node Example132363
+Node: Master Menu Parts132748
+Node: Global Document Commands134558
+Node: documentdescription135314
+Node: setchapternewpage136130
+Node: paragraphindent139016
+Node: firstparagraphindent140290
+Node: exampleindent141558
+Node: Software Copying Permissions142582
+Node: Ending a File143640
+Node: Printing Indices & Menus144215
+Node: File End147315
+Node: Structuring148001
+Node: Tree Structuring149660
+Node: Structuring Command Types151079
+Node: makeinfo top153574
+Node: chapter154365
+Node: unnumbered & appendix155395
+Node: majorheading & chapheading156246
+Node: section157073
+Node: unnumberedsec appendixsec heading157843
+Node: subsection158840
+Node: unnumberedsubsec appendixsubsec subheading159418
+Node: subsubsection160379
+Node: Raise/lower sections161937
+Node: Nodes164113
+Node: Two Paths165323
+Node: Node Menu Illustration166659
+Node: node170467
+Node: Node Names173226
+Node: Writing a Node174610
+Node: Node Line Tips176656
+Node: Node Line Requirements177460
+Node: First Node179617
+Node: makeinfo top command181435
+Node: makeinfo Pointer Creation182716
+Node: anchor184345
+Node: Menus185821
+Node: Menu Location186887
+Node: Writing a Menu188518
+Node: Menu Parts189581
+Node: Less Cluttered Menu Entry190745
+Node: Menu Example191376
+Node: Other Info Files192886
+Node: Cross References194738
+Node: References195709
+Node: Cross Reference Commands197481
+Node: Cross Reference Parts198546
+Node: xref201402
+Node: Reference Syntax202207
+Node: One Argument203844
+Node: Two Arguments204871
+Node: Three Arguments205996
+Node: Four and Five Arguments208397
+Node: Top Node Naming210819
+Node: ref211835
+Node: pxref213256
+Node: inforef215624
+Node: uref216935
+Node: Marking Text219685
+Node: Indicating220338
+Node: Useful Highlighting222478
+Node: code224101
+Node: kbd227343
+Node: key229563
+Node: samp230907
+Node: verb232388
+Node: var233377
+Node: env235351
+Node: file235862
+Node: command236483
+Node: option237189
+Node: dfn237709
+Node: cite238633
+Node: acronym239101
+Node: indicateurl240384
+Node: email241082
+Node: Emphasis241938
+Node: emph & strong242775
+Node: Smallcaps243990
+Node: Fonts245336
+Node: Quotations and Examples246492
+Node: Block Enclosing Commands248177
+Node: quotation250364
+Node: example252002
+Node: verbatim254321
+Node: verbatiminclude256091
+Node: lisp257085
+Ref: lisp-Footnote-1257824
+Node: small257942
+Node: display259473
+Node: format260275
+Node: exdent260921
+Node: flushleft & flushright262011
+Node: noindent263286
+Node: indent265150
+Node: cartouche266194
+Node: Lists and Tables267390
+Node: Introducing Lists268079
+Node: itemize269741
+Node: enumerate272019
+Node: Two-column Tables274517
+Node: table275214
+Node: ftable vtable277892
+Node: itemx278989
+Node: Multi-column Tables280175
+Node: Multitable Column Widths280884
+Node: Multitable Rows282366
+Node: Special Displays284419
+Node: Floats285208
+Node: float286105
+Ref: fig:ex1286779
+Node: caption shortcaption288050
+Node: listoffloats289361
+Node: Images290764
+Node: Image Syntax291199
+Node: Image Scaling293804
+Node: Footnotes295528
+Ref: Footnotes-Footnote-1296094
+Node: Footnote Commands296374
+Ref: Footnote Commands-Footnote-1298251
+Node: Footnote Styles298287
+Node: Indices300902
+Node: Index Entries302116
+Node: Predefined Indices303241
+Node: Indexing Commands305350
+Node: Combining Indices308063
+Node: syncodeindex309416
+Node: synindex311064
+Node: New Indices311601
+Node: Insertions313370
+Node: Atsign Braces Comma314497
+Node: Inserting an Atsign315065
+Node: Inserting Braces315337
+Node: Inserting a Comma315756
+Node: Inserting Space316790
+Node: Not Ending a Sentence317307
+Node: Ending a Sentence318919
+Node: Multiple Spaces319943
+Node: dmn321234
+Node: Inserting Accents322459
+Node: Dots Bullets324462
+Node: dots325278
+Node: bullet325901
+Node: TeX and copyright326310
+Node: tex326986
+Node: copyright symbol327803
+Node: registered symbol328113
+Node: pounds328435
+Node: minus328806
+Node: math329725
+Node: Glyphs331073
+Node: Glyphs Summary332179
+Node: result332804
+Node: expansion333314
+Node: Print Glyph334276
+Node: Error Glyph335168
+Node: Equivalence336022
+Node: Point Glyph336772
+Node: Breaks338343
+Node: Break Commands339827
+Node: Line Breaks340723
+Node: - and hyphenation341697
+Node: w342963
+Node: tie344071
+Node: sp344975
+Node: page345394
+Node: group345779
+Node: need347531
+Node: Definition Commands348269
+Node: Def Cmd Template349920
+Node: Def Cmd Continuation Lines352645
+Node: Optional Arguments354456
+Node: deffnx356063
+Node: Def Cmds in Detail357006
+Node: Functions Commands358124
+Node: Variables Commands361026
+Node: Typed Functions363169
+Node: Typed Variables366674
+Node: Data Types368395
+Node: Abstract Objects369686
+Node: Object-Oriented Variables370293
+Node: Object-Oriented Methods372926
+Node: Def Cmd Conventions376737
+Node: Sample Function Definition377308
+Node: Conditionals380144
+Node: Conditional Commands381338
+Node: Conditional Not Commands383229
+Node: Raw Formatter Commands384513
+Node: set clear value387141
+Node: set value388355
+Node: ifset ifclear389957
+Node: value Example392088
+Node: Conditional Nesting394105
+Node: Internationalization395646
+Node: documentlanguage396182
+Node: documentencoding400369
+Node: Defining New Texinfo Commands401861
+Node: Defining Macros403039
+Node: Invoking Macros405417
+Node: Macro Details407218
+Node: alias409796
+Node: definfoenclose411220
+Node: Hardcopy413968
+Node: Use TeX416044
+Node: Format with tex/texindex416677
+Node: Format with texi2dvi421043
+Node: Print with lpr422614
+Node: Within Emacs424773
+Node: Texinfo Mode Printing425664
+Node: Compile-Command429333
+Node: Requirements Summary430215
+Node: Preparing for TeX431555
+Ref: Preparing for TeX-Footnote-1435308
+Node: Overfull hboxes435407
+Node: smallbook437566
+Node: A4 Paper438772
+Node: pagesizes439708
+Node: Cropmarks and Magnification440902
+Node: PDF Output442971
+Node: Obtaining TeX444127
+Node: Creating and Installing Info Files445104
+Node: Creating an Info File445498
+Node: makeinfo advantages446726
+Node: Invoking makeinfo447662
+Node: makeinfo options448228
+Node: Pointer Validation457295
+Node: makeinfo in Emacs460427
+Node: texinfo-format commands462910
+Node: Batch Formatting464197
+Node: Tag and Split Files465409
+Node: Installing an Info File468806
+Node: Directory File469645
+Node: New Info File471444
+Ref: New Info File-Footnote-1472558
+Node: Other Info Directories472639
+Ref: Other Info Directories-Footnote-1476914
+Ref: Other Info Directories-Footnote-2477041
+Node: Installing Dir Entries477102
+Node: Invoking install-info479764
+Node: Generating HTML482661
+Node: HTML Translation483442
+Node: HTML Splitting484824
+Node: HTML CSS486507
+Node: HTML Xref489996
+Node: HTML Xref Link Basics491203
+Node: HTML Xref Node Name Expansion494026
+Node: HTML Xref Command Expansion496579
+Node: HTML Xref 8-bit Character Expansion499584
+Node: HTML Xref Mismatch500818
+Node: Command List502636
+Node: Command Syntax545467
+Node: Tips548476
+Node: Sample Texinfo Files559473
+Node: Short Sample Texinfo File559939
+Node: GNU Sample Texts561534
+Node: Verbatim Copying License566809
+Node: All-permissive Copying License567911
+Node: Include Files568941
+Node: Using Include Files570052
+Node: texinfo-multiple-files-update572604
+Node: Include Files Requirements574972
+Node: Sample Include File576226
+Node: Include Files Evolution577463
+Node: Headings579443
+Node: Headings Introduced580100
+Node: Heading Format581977
+Node: Heading Choice584421
+Node: Custom Headings585799
+Node: Catching Mistakes589906
+Node: makeinfo Preferred591213
+Node: Debugging with Info592098
+Node: Debugging with TeX595442
+Node: Using texinfo-show-structure599705
+Node: Using occur602795
+Node: Running Info-Validate604336
+Node: Using Info-validate605403
+Node: Unsplit607213
+Node: Tagifying608272
+Node: Splitting609134
+Node: Copying This Manual610762
+Node: GNU Free Documentation License611025
+Node: Command and Variable Index633432
+Node: Concept Index662680
+
+End Tag Table
diff --git a/Master/texmf/doc/info/web2c.info b/Master/texmf/doc/info/web2c.info
new file mode 100644
index 00000000000..2742d1abb9d
--- /dev/null
+++ b/Master/texmf/doc/info/web2c.info
@@ -0,0 +1,4739 @@
+This is web2c.info, produced by makeinfo version 4.8 from web2c.texi.
+
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* Web2c: (web2c). TeX, Metafont, and companion programs.
+* bibtex: (web2c)bibtex invocation. Maintaining bibliographies.
+* dmp: (web2c)dmp invocation. Troff->MPX (MetaPost pictures).
+* dvicopy: (web2c)dvicopy invocation. Virtual font expansion
+* dvitomp: (web2c)dvitomp invocation. DVI to MPX (MetaPost pictures).
+* dvitype: (web2c)dvitype invocation. DVI to human-readable text.
+* gftodvi: (web2c)gftodvi invocation. Generic font proofsheets.
+* gftopk: (web2c)gftopk invocation. Generic to packed fonts.
+* gftype: (web2c)gftype invocation. GF to human-readable text.
+* makempx: (web2c)makempx invocation. MetaPost label typesetting.
+* mf: (web2c)mf invocation. Creating typeface families.
+* mft: (web2c)mft invocation. Prettyprinting Metafont source.
+* mltex: (web2c)MLTeX. Multi-lingual TeX.
+* mpost: (web2c)mpost invocation. Creating technical diagrams.
+* mpto: (web2c)mpto invocation. MetaPost label extraction.
+* newer: (web2c)newer invocation. Compare modification times.
+* patgen: (web2c)patgen invocation. Creating hyphenation patterns.
+* pktogf: (web2c)pktogf invocation. Packed to generic fonts.
+* pktype: (web2c)pktype invocation. PK to human-readable text.
+* pltotf: (web2c)pltotf invocation. Property list to TFM.
+* pooltype: (web2c)pooltype invocation. Display WEB pool files.
+* tangle: (web2c)tangle invocation. WEB to Pascal.
+* tex: (web2c)tex invocation. Typesetting.
+* tftopl: (web2c)tftopl invocation. TFM -> property list.
+* vftovp: (web2c)vftovp invocation. Virtual font -> virtual pl.
+* vptovf: (web2c)vptovf invocation. Virtual pl -> virtual font.
+* weave: (web2c)weave invocation. WEB to TeX.
+END-INFO-DIR-ENTRY
+
+ 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
+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
+
+
+File: web2c.info, Node: Top, Next: Introduction, Up: (dir)
+
+Web2c
+*****
+
+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 7.5.5, released in June 2005.
+
+* Menu:
+
+* Introduction:: A brief introduction.
+* Installation:: How to compile and install Web2c.
+* Commonalities:: Option syntax, standard options, memory dumps.
+* TeX:: Typesetting.
+* Metafont:: Typeface design.
+* MetaPost:: Technical illustrations.
+* BibTeX:: Reusable bibliographies.
+* WEB:: Literate programming.
+* DVI utilities:: DVI expansion.
+* Font utilities:: Font format conversion.
+* Legalisms:: Blah blah blah.
+* References:: Books and such.
+* Index:: General index.
+
+
+File: web2c.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top
+
+1 Introduction
+**************
+
+This manual corresponds to version 7.5.5 of Web2c, released in
+June 2005.
+
+ "Web2c" is the name of a TeX implementation, originally for Unix,
+but now also running under DOS, Amiga, and other operating systems. By
+"TeX implementation", 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.
+
+ 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 `web2c/lib' directory in the sources).
+Therefore, it will not work without change on an arbitrary WEB program.
+
+ Availability: All of Web2c is freely available--"free" both in the
+sense of no cost (free ice cream) and of having the source code to
+modify and/or redistribute (free speech). *Note unixtex.ftp:
+(kpathsea)unixtex.ftp, for the practical details of how to obtain Web2c.
+
+ 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 (*note Copying:
+(kpathsea)Copying.). The GPL covers the Web2c executables, including
+`tex', 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.
+
+ 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
+`ChangeLog' files.
+
+ Other acknowledgements: The University of Massachusetts at Boston
+(particularly Rick Martin and Bob Morris) has 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.
+
+ Further reading: *Note References::.
+
+
+File: web2c.info, Node: Installation, Next: Commonalities, Prev: Introduction, Up: Top
+
+2 Installation
+**************
+
+(A copy of this chapter is in the distribution file `web2c/INSTALL'.)
+
+Installing Web2c is mostly the same as installing any other
+Kpathsea-using program. Therefore, for the basic steps involved, see
+*Note Installation: (kpathsea)Installation. (A copy is in the file
+`kpathsea/INSTALL'.)
+
+ One peculiarity to Web2c is that the source distribution comes in two
+files: `web.tar.gz' and `web2c.tar.gz'. 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.) *Note
+unixtex.ftp: (kpathsea)unixtex.ftp.
+
+ Another peculiarity is the MetaPost program. Although it has been
+installed previously as `mp', as of Web2c 7.0 the installed name is now
+`mpost', to avoid conflict with the `mp' 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.
+
+ For solutions to common installation problems and information on how
+to report a bug, see the file `kpathsea/BUGS' (*note Bugs:
+(kpathsea)Bugs.). See also the Web2c home page,
+`http://www.tug.org/web2c'.
+
+ Points worth repeating:
+
+ * Before starting the standard compilation and installation you must
+ install the basic fonts, macros, and other library files. *Note
+ Installation: (kpathsea)Installation.
+
+ * If you do not wish to use the standard file locations, see *Note
+ Changing search paths: (kpathsea)Changing search paths.
+
+ * Some Web2c features are enabled or disabled at `configure' time,
+ as described in the first section below.
+
+
+* Menu:
+
+* configure options:: Especially --with and --enable.
+* Compile-time options:: Unusual -D's.
+* Additional targets:: Breaking down the task.
+* Triptrap:: Running the torture tests.
+* Runtime options:: Array sizes and the like.
+
+
+File: web2c.info, Node: configure options, Next: Compile-time options, Up: Installation
+
+2.1 `configure' options
+=======================
+
+This section gives pointers to descriptions of the `--with' and
+`--enable' `configure' arguments that Web2c accepts. Some are specific
+to Web2c, others are generic to all Kpathsea-using programs.
+
+ For a list of all the options `configure' accepts, run `configure
+--help'. The generic options are listed first, and the
+package-specific options come last.
+
+ For a description of the generic options (which mainly allow you to
+specify installation directories) and basic `configure' usage, see
+*Note Running `configure' scripts: (autoconf)Invoking configure, a copy
+is in the file `kpathsea/CONFIGURE'.
+
+`--disable-dump-share'
+ Do not make fmt/base/mem files sharable across different endian
+ architectures. *Note Hardware and memory dumps::.
+
+`--without-maketexmf-default'
+`--without-maketexpk-default'
+`--without-maketextfm-default'
+`--with-maketextex-default'
+ Enable or disable the dynamic generation programs. *Note mktex
+ configuration: (kpathsea)mktex configuration. The defaults are
+ the inverse of the options, i.e., everything is enabled except
+ `mktextex'.
+
+`--enable-shared'
+ Build Kpathsea as a shared library. *Note Shared library:
+ (kpathsea)Shared library.
+
+`--with-editor=CMD'
+ Change the default editor invoked by the `e' interactive command.
+ *Note Editor invocation::.
+
+`--with-epsfwin'
+`--with-hp2627win'
+`--with-mftalkwin'
+`--with-nextwin'
+`--with-regiswin'
+`--with-suntoolswin'
+`--with-tektronixwin'
+`--with-unitermwin'
+`--with-x'
+`--with-x-toolkit=KIT'
+`--with-x11win'
+`--with-x11'
+ Define Metafont graphics support; by default, no graphics support
+ is enabled. *Note Online Metafont graphics::.
+
+`--x-includes=DIR'
+`--x-libraries=DIR'
+ Define the locations of the X11 include files and libraries; by
+ default, `configure' does its best to guess). *Note Optional
+ Features: (autoconf)Optional Features. A copy is in
+ `kpathsea/CONFIGURE'.
+
+
+File: web2c.info, Node: Compile-time options, Next: Additional targets, Prev: configure options, Up: Installation
+
+2.2 Compile-time options
+========================
+
+In addition to the `configure' options listed in the previous section,
+there are a few things that can be affected at compile-time with C
+definitions, rather than with `configure'. Using any of these is
+unusual.
+
+ To specify extra compiler flags (`-DNAME' in this case), the
+simplest thing to do is:
+ make XCFLAGS="CCOPTIONS"
+ You can also set the `CFLAGS' environment variable before running
+`configure'. *Note configure environment: (kpathsea)configure
+environment.
+
+ Anyway, here are the possibilities:
+
+`-DFIXPT'
+`-DNO_MF_ASM'
+ 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 `NO_MF_ASM' is defined), and floating-point routines are
+ used otherwise.
+
+`-DIPC_DEBUG'
+ Report on various interprocess communication activities. *Note
+ IPC and TeX: IPC and TeX.
+
+
+File: web2c.info, Node: Additional targets, Next: Triptrap, Prev: Compile-time options, Up: Installation
+
+2.3 Additional targets
+======================
+
+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 `kpathsea/' and `web2c/'), or in the
+`web2c/' directory.
+
+`c-sources'
+ Make only the C files, translated from the Web sources, presumably
+ because you want to take them to a non-Unix machine.
+
+`formats'
+`install-formats'
+ Make or install all the memory dumps (*note Memory dumps::). By
+ default, the standard plain formats plus `latex.fmt' are made. You
+ can add other formats by redefining the `fmts', `bases', and
+ `mems' variables. See the top of `web2c/Makefile' for the
+ possibilities.
+
+`fmts'
+`install-fmts'
+ Make or install the TeX `.fmt' files. *Note Initial TeX::.
+
+`bases'
+`install-bases'
+ Make or install the Metafont `.base' files. *Note Initial
+ Metafont::.
+
+`mems'
+`install-mems'
+ Make or install the MetaPost `.mem' files. *Note Initial
+ MetaPost::.
+
+`triptrap'
+`trip'
+`trap'
+`mptrap'
+ To run the torture tests for TeX, Metafont, and MetaPost
+ (respectively). See the next section.
+
+
+
+File: web2c.info, Node: Triptrap, Next: Runtime options, Prev: Additional targets, Up: Installation
+
+2.4 Trip, trap, and mptrap: Torture tests
+=========================================
+
+To validate your TeX, Metafont, and MetaPost executables, run `make
+triptrap'. This runs the trip, trap, and mptrap "torture tests". See
+the files `triptrap/tripman.tex', `triptrap/trapman.tex', and
+`triptrap/mptrap.readme' for detailed information and background on the
+tests.
+
+ The differences between your executables' behavior and the standard
+values will show up on your terminal. The usual differences (these are
+all acceptable) are:
+
+ * string usage and table sizes;
+
+ * glue set ratios;
+
+ * `down4', `right4', and `y4' commands in DVItype output;
+
+ * dates and times.
+
+Any other differences are trouble. The most common culprit in the past
+has been compiler bugs, especially when optimizing. *Note TeX or
+Metafont failing: (kpathsea)TeX or Metafont failing.
+
+ The files `trip.diffs', `mftrap.diffs', and `mptrap.diffs' in the
+`triptrap' directory show the standard diffs against the original
+output. If you diff your diffs against these files, you should come up
+clean. For example
+ make trip >&mytrip.diffs
+ diff triptrap/trip.diffs mytrip.diffs
+
+ To run the tests separately, use the targets `trip', `trap', and
+`mptrap'.
+
+ To run simple tests for all the programs as well as the torture
+tests, run `make check'. You can compare the output to the distributed
+file `tests/check.log' if you like.
+
+
+File: web2c.info, Node: Runtime options, Prev: Triptrap, Up: Installation
+
+2.5 Runtime options
+===================
+
+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 `texmf.cnf' runtime file read by
+Kpathsea (*note Config files: (kpathsea)Config files.).
+
+ Rather than exhaustively listing them here, please see the last
+section of the distributed `kpathsea/texmf.cnf'. Some of the more
+interesting values:
+
+`main_memory'
+ Total words of memory available, for TeX, Metafont, and MetaPost.
+ Must remake the format file after changing.
+
+`extra_mem_bot'
+ Extra space for "large" TeX data structures: boxes, glue,
+ breakpoints, et al. If you use PiCTeX, you may well want to set
+ this.
+
+`font_mem_size'
+ Words of font info available for TeX; this is approximately the
+ total size of all TFM files read.
+
+`hash_extra'
+ 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 `hash_extra'.
+
+
+ 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.)
+
+
+File: web2c.info, Node: Commonalities, Next: TeX, Prev: Installation, Up: Top
+
+3 Commonalities
+***************
+
+Many aspects of the TeX system are the same among more than one
+program, so we describe all those pieces together, here.
+
+* Menu:
+
+* Option conventions:: -- or -, = or ` ' for values.
+* Common options:: --help --version --verbose, and TeX/MF/MP options.
+* Path searching:: Features of the common path searching library.
+* Output file location:: TEXMFOUTPUT allows output in places other than `.'.
+* Three programs:: TeX, Metafont, and MetaPost have a lot in common.
+
+
+File: web2c.info, Node: Option conventions, Next: Common options, Up: Commonalities
+
+3.1 Option conventions
+======================
+
+To provide a clean and consistent behavior, we chose to have all these
+programs use the GNU function `getopt_long_only' 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.
+
+ As a result, you can:
+ * use `-' or `--' to start an option name;
+
+ * use any unambiguous abbreviation for an option name;
+
+ * separate option names and values with either `=' or one or more
+ spaces;
+
+ * use filenames that would otherwise look like options by putting
+ them after an option `--'.
+
+ By convention, non-option arguments, if specified, generally define
+the name of an input file, as documented for each program.
+
+ If a particular option with a value is given more than once, it is
+the last value that counts.
+
+ For example, the following command line specifies the options `foo',
+`bar', and `verbose'; gives the value `baz' to the `abc' option, and
+the value `xyz' to the `quux' option; and specifies the filename
+`-myfile-'.
+
+ -foo --bar -verb -abc=baz -quux karl --quux xyz -- -myfile-
+
+
+File: web2c.info, Node: Common options, Next: Path searching, Prev: Option conventions, Up: Commonalities
+
+3.2 Common options
+==================
+
+All of these programs accept the standard GNU `--help' and `--version'
+options, and several programs accept `--verbose'. Rather than writing
+identical descriptions for every program, they are described here.
+
+`--help'
+ Print a usage message listing basic usage and all available
+ options to standard output, then exit successfully.
+
+`--verbose'
+ Print progress reports to standard output.
+
+`--version'
+ Print the version number to standard output, then exit
+ successfully.
+
+ TeX, Metafont, and MetaPost have a number of additional options in
+common:
+
+`-file-line-error'
+`-no-file-line-error'
+ 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 `-file-line-error-style'.
+
+`-fmt=DUMPNAME'
+`-base=DUMPNAME'
+`-mem=DUMPNAME'
+ Use DUMPNAME instead of the program name or a `%&' line to
+ determine the name of the memory dump file read (`fmt' for TeX,
+ `base' for Metafont, `mem' for MetaPost). *Note Memory dumps::.
+ Also sets the program name to DUMPNAME if no `-progname' option
+ was given.
+
+`-halt-on-error'
+ Stop processing and exit when an error occurs, as opposed to the
+ normal process of trying to recover and continue.
+
+`-ini'
+ Enable the "initial" form of the program (*note Initial and
+ virgin::). This is implicitly set if the program name is `initex'
+ resp. `inimf' resp. `inimpost', although these variants are no
+ longer typically installed.
+
+`-interaction=STRING'
+ Set the interaction mode from the command line. The STRING must
+ be one of `batchmode', `nonstopmode', `scrollmode', or
+ `errorstopmode'.
+
+`-jobname=STRING'
+ Set the job name to STRING, instead of deriving it from the name
+ of the input file.
+
+`-kpathsea-debug=NUMBER'
+ Set path searching debugging flags according to the bits of NUMBER
+ (*note Debugging: (kpathsea)Debugging.). You can also specify
+ this in `KPATHSEA_DEBUG' environment variable (for all Web2c
+ programs). (The command line value overrides.) The most useful
+ value is `-1', to get all available output.
+
+`-output-directory=DIRNAME'
+ Specify the directory DIRNAME to which output files are written.
+ Also look for input files in DIRNAME first, before looking along
+ the normal search path. This is useful when you are in some
+ read-only distribution directory, perhaps on a CD-ROM, and want to
+ TeX some documentation, for example. Note that for input files
+ the "search" in DIRNAME does not use the full generality of the
+ search mechanism. This means that some files are not found there
+ even though you might expect them to be.
+
+`-parse-first-line'
+`-no-parse-first-line'
+ Check or disable checking whether the first line of the main input
+ file starts with `%&', and parse it if it does. This line can be
+ used specify the format and/or a TCX file.
+
+`-progname=STRING'
+ Set program (and memory dump) name to STRING. This may affect the
+ search paths and other values used (*note Config files:
+ (kpathsea)Config files.). Using this option is equivalent to
+ making a link named STRING to the binary and then invoking the
+ binary under that name. *Note Memory dumps::.
+
+`-recorder'
+ Enable the filename recorder. This makes the program save a list
+ of the opened files into a file with (by default) extension
+ `.fls'. For Omega, this option is always on, and the file has
+ extension `.ofl'.
+
+`-translate-file=TCXFILE'
+ Use TCXFILE to define which characters are printable and
+ translations between the internal and external character sets.
+ Moreover, TCXFILE can be explicitly declared in the first line of
+ the main input file `%& -translate-file=TCXFILE'. This is the
+ recommended method for portability reasons. *Note TCX files::.
+
+`-8bit'
+ This option specifies that by default all characters should be
+ considered printable. If `-translate-file' was given as well,
+ then the TCX file may mark characters as non-printable.
+
+`-oem'
+ This option is specific to Windows. When specified, TeX engines
+ will use the OEM code page rather than the ANSI one to display
+ their messages.
+
+
+
+File: web2c.info, Node: Path searching, Next: Output file location, Prev: Common options, Up: Commonalities
+
+3.3 Path searching
+==================
+
+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 (*note
+Supported file formats: (kpathsea)Supported file formats.). Reading
+`texmf.cnf' (*note Config files: (kpathsea)Config files.), invoking
+`mktex...' scripts (*note mktex scripts: (kpathsea)mktex scripts.), and
+so on are all handled by Kpathsea.
+
+ The programs which read fonts make use of another Kpathsea feature:
+`texfonts.map', which allows arbitrary aliases for the actual names of
+font files; for example, `Times-Roman' for `ptmr8r.tfm'. The
+distributed (and installed by default) `texfonts.map' includes aliases
+for many widely available PostScript fonts by their PostScript names.
+
+
+File: web2c.info, Node: Output file location, Next: Three programs, Prev: Path searching, Up: Commonalities
+
+3.4 Output file location
+========================
+
+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.
+
+ For example, if you run `tex /tmp/foo', for example, the output will
+be in `./foo.dvi' and `./foo.log', not `/tmp/foo.dvi' and
+`/tmp/foo.log'.
+
+ You can use the `-output-directory' option to cause all output files
+that would normally be written in the current directory to be written
+in the specified directory instead. *Note Common options::.
+
+ If the current directory is not writable, and `-output-directory' is
+not specified, the main programs (TeX, Metafont, MetaPost, and BibTeX)
+make an exception: if the config file value `TEXMFOUTPUT' is set (it is
+not by default), output files are written to the directory specified.
+
+
+File: web2c.info, Node: Three programs, Prev: Output file location, Up: Commonalities
+
+3.5 Three programs: Metafont, MetaPost, and TeX
+===============================================
+
+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 *Note
+Runtime options::.
+
+* Menu:
+
+* Initial and virgin:: Making memory dumps vs. production runs.
+* Memory dumps:: .fmt/.base/.mem files for fast startup.
+* Editor invocation:: The `e' response at errors.
+* \input filenames:: ~ and $ expansion in TeX/MF/MP.
+
+
+File: web2c.info, Node: Initial and virgin, Next: Memory dumps, Up: Three programs
+
+3.5.1 Initial and virgin
+------------------------
+
+The TeX, Metafont, and MetaPost programs each have two main variants,
+called "initial" and "virgin". As of Web2c 7, one executable suffices
+for both variants, and in fact, the `ini...' executables are no longer
+created.
+
+ The initial form is enabled if:
+ 1. the `-ini' option was specified; or
+
+ 2. the program name is `initex' resp. `inimf' resp. `inimpost'
+ (these variants are no longer typically installed); or
+
+ 3. the first line of the main input file is `%&ini';
+ otherwise, the virgin form is used.
+
+ The "virgin" form is the one generally invoked for production use.
+The first thing it does is read a memory dump (*note Determining the
+memory dump to use::), and then proceeds on with the main job.
+
+ The "initial" 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.
+
+
+File: web2c.info, Node: Memory dumps, Next: Editor invocation, Prev: Initial and virgin, Up: Three programs
+
+3.5.2 Memory dumps
+------------------
+
+In typical use, TeX, Metafont, and MetaPost require a large number of
+macros to be predefined; therefore, they support "memory dump" files,
+which can be read much more efficiently than ordinary source code.
+
+* Menu:
+
+* Creating memory dumps::
+* Determining the memory dump to use::
+* Hardware and memory dumps::
+
+
+File: web2c.info, Node: Creating memory dumps, Next: Determining the memory dump to use, Up: Memory dumps
+
+3.5.2.1 Creating memory dumps
+.............................
+
+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 (*note Initial and virgin::), read the source
+file to define the macros, and then execute the `\dump' primitive.
+
+ 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).
+
+ Here is a list of filename extensions with references to examples of
+creating memory dumps:
+
+TeX
+ (`.fmt') *Note Initial TeX: Initial TeX.
+
+Metafont
+ (`.base') *Note Initial Metafont::.
+
+MetaPost
+ (`.mem') *Note Initial MetaPost::.
+
+ 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.
+
+
+File: web2c.info, Node: Determining the memory dump to use, Next: Hardware and memory dumps, Prev: Creating memory dumps, Up: Memory dumps
+
+3.5.2.2 Determining the memory dump to use
+..........................................
+
+The virgin form (*note Initial and virgin::) 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:
+
+ 1. If the first non-option command-line argument begins with `&', the
+ program uses the remainder of that argument as the memory dump
+ name. For example, running `tex \&super' reads `super.fmt'. (The
+ backslash protects the `&' against interpretation by the shell.)
+
+ 2. If the `-fmt' resp. `-base' resp. `-mem' option is specified, its
+ value is used.
+
+ 3. If the `-progname' option is specified, its value is used.
+
+ 4. If the first line of the main input file (which must be specified
+ on the command line, not in response to `**') is `%&DUMP', and
+ DUMP is an existing memory dump of the appropriate type, DUMP is
+ used.
+
+ The first line of the main input file can also specify which
+ character translation file is to be used:
+ `%&-translate-file=TCXFILE' (*note TCX files::).
+
+ These two roles can be combined: `%&DUMP -translate-file=TCXFILE'.
+ If this is done, the name of the dump must be given first.
+
+ 5. Otherwise, the program uses the program invocation name, most
+ commonly `tex' resp. `mf' resp. `mpost'. For example, if `latex'
+ is a link to `tex', and the user runs `latex foo', `latex.fmt'
+ will be used.
+
+
+
+File: web2c.info, Node: Hardware and memory dumps, Prev: Determining the memory dump to use, Up: Memory dumps
+
+3.5.2.3 Hardware and memory dumps
+.................................
+
+By default, memory dump files are generally sharable between
+architectures of different types; specifically, on machines of different
+endianness (*note Byte order: (libc)Byte order.). (This is a feature
+of the Web2c implementation, and is not true of all TeX
+implementations.) If you specify `--disable-dump-share' to
+`configure', however, memory dumps will be endian-dependent.
+
+ 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.
+
+ TeXnically, even without `--disable-dump-share', sharing of `.fmt'
+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,
+...) do not do any glue setting at `.fmt'-creation time. Metafont and
+MetaPost do not use floating point in any dumped value at all.
+
+ 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.
+
+ If you don't know what endianness your machine is, and you're
+curious, here is a little C program to tell you. (The `configure' script
+contains a similar program.) This is from the book `C: A Reference
+Manual', by Samuel P. Harbison and Guy L. Steele Jr. (*note
+References::).
+
+ main ()
+ {
+ /* Are we little or big endian? From Harbison&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);
+ }
+
+
+File: web2c.info, Node: Editor invocation, Next: \input filenames, Prev: Memory dumps, Up: Three programs
+
+3.5.3 Editor invocation
+-----------------------
+
+TeX, Metafont, and MetaPost all (by default) stop and ask for user
+intervention at an error. If the user responds with `e' or `E', the
+program invokes an editor.
+
+ Specifying `--with-editor=CMD' to `configure' sets the default
+editor command string to CMD. The environment variables/configuration
+values `TEXEDIT', `MFEDIT', and `MPEDIT' (respectively) override this.
+If `--with-editor' is not specified, the default is `vi +%d %s'.
+
+ In this string, `%d' is replaced by the line number of the error,
+and `%s' is replaced by the name of the current input file.
+
+
+File: web2c.info, Node: \input filenames, Prev: Editor invocation, Up: Three programs
+
+3.5.4 `\input' filenames
+------------------------
+
+TeX, Metafont, and MetaPost source programs can all read other source
+files with the `\input' (TeX) and `input' (MF and MP) primitives:
+ \input NAME % in TeX
+
+ The file NAME can always be terminated with whitespace; for Metafont
+and MetaPost, the statement terminator `;' also works. (LaTeX and
+other macro packages provide other interfaces to `\input' that allow
+different notation; here we are concerned only with the primitive
+operation.)
+
+ As of Web2c version 7.5.3, double-quote characters can be used to
+include spaces or other special cases. In typical use, the `"'
+characters surround the entire filename:
+ \input "filename with spaces"
+
+ Technically, the quote characters can be used inside the name, and
+can enclose any characters, as in:
+ \input filename" "with" "spaces
+
+ One more point. In LaTeX, the quotes are needed inside the braces,
+thus
+ \input{a b} % fails
+ \input{"a b"} % ok
+
+ This quoting mechanism comes into play _after_ TeX has tokenized and
+expanded the input. So, multiple spaces and tabs may be seen as a
+single space, active characters such as `~' are expanded first, and so
+on. (See below.)
+
+ 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-255) in filenames.
+
+ For maximal portability of your document across systems, use only the
+characters `a'-`z', `0'-`9', and `.', 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.
+
+ Finally, the present Web2c implementation does `~' and `$' expansion
+on NAME, unlike Knuth's original implementation and older versions of
+Web2c. Thus:
+ \input ~jsmith/$foo.bar
+ will dereference the environment variable or Kpathsea config file
+value `foo' and read that file extended with `.bar' in user `jsmith''s
+home directory. You can also use braces, as in `${foo}bar', if you
+want to follow the variable name with a letter, numeral, or `_'.
+
+ (So another way to get a program to read a filename containing
+whitespace is to define an environment variable and dereference it.)
+
+ In all the common TeX formats (plain TeX, LaTeX, AMSTeX), the
+characters `~' and `$' have special category codes, so to actually use
+these in a document you have to change their catcodes or use `\string'.
+(The result is unportable anyway, see the suggestions above.) The
+place where they are most likely to be useful is when typing
+interactively.
+
+
+File: web2c.info, Node: TeX, Next: Metafont, Prev: Commonalities, Up: Top
+
+4 TeX: Typesetting
+******************
+
+TeX is a typesetting system: it was especially designed to handle
+complex mathematics, as well as most ordinary text typesetting.
+
+ TeX is a batch language, like C or Pascal, and not an interactive
+"word processor": 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 `The TeXbook' (*note
+References::). Many other books on TeX, introductory and otherwise,
+are available.
+
+* Menu:
+
+* tex invocation:: Invoking TeX.
+* Initial TeX:: Making format files.
+* Formats:: Major TeX macro packages.
+* Languages and hyphenation:: TeX supports many human languages.
+* IPC and TeX:: DVI output to a socket.
+* TeX extensions:: Changes to the TeX language.
+
+
+File: web2c.info, Node: tex invocation, Next: Initial TeX, Up: TeX
+
+4.1 `tex' invocation
+====================
+
+TeX (usually invoked as `tex') 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 `The TeXbook' (*note References::).
+
+ TeX, Metafont, and MetaPost process the command line (described
+here) and determine their memory dump (fmt) file in the same way (*note
+Memory dumps::). Synopses:
+
+ tex [OPTION]... [TEXNAME[.tex]] [TEX-COMMANDS]
+ tex [OPTION]... \FIRST-LINE
+ tex [OPTION]... &FMT ARGS
+
+ TeX searches the usual places for the main input file TEXNAME (*note
+Supported file formats: (kpathsea)Supported file formats.), extending
+TEXNAME with `.tex' if necessary. To see all the relevant paths, set
+the environment variable `KPATHSEA_DEBUG' to `-1' before running the
+program.
+
+ After TEXNAME is read, TeX processes any remaining TEX-COMMANDS on
+the command line as regular TeX input. Also, if the first non-option
+argument begins with a TeX escape character (usually `\'), TeX
+processes all non-option command-line arguments as a line of regular
+TeX input.
+
+ If no arguments or options are specified, TeX prompts for an input
+file name with `**'.
+
+ TeX writes the main DVI output to the file `BASETEXNAME.dvi', where
+BASETEXNAME is the basename of TEXNAME, or `texput' 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
+(*note Introduction: (dvips)Top.) or an X Window System display (see
+xdvi(1)).
+
+ TeX also reads TFM files for any fonts you load in your document with
+the `\font' primitive. By default, it runs an external program named
+`mktextfm' to create any nonexistent TFM files. You can disable this
+at configure-time or runtime (*note mktex configuration:
+(kpathsea)mktex configuration.). This is enabled mostly for the sake
+of the EC fonts, which can be generated at any size.
+
+ TeX can write output files, via the `\openout' primitive; this opens
+a security hole vulnerable to Trojan horse attack: an unwitting user
+could run a TeX program that overwrites, say, `~/.rhosts'. (MetaPost
+has a `write' primitive with similar implications). To alleviate this,
+there is a configuration variable `openout_any', which selects one of
+three levels of security. When it is set to `a' (for "any"), no
+restrictions are imposed. When it is set to `r' (for "restricted"),
+filenames beginning with `.' are disallowed (except `.tex' because
+LaTeX needs it). When it is set to `p' (for "paranoid") additional
+restrictions are imposed: an absolute filename must refer to a file in
+(a subdirectory) of `TEXMFOUTPUT', and any attempt to go up a directory
+level is forbidden (that is, paths may not contain a `..' component).
+The paranoid setting is the default. (For backwards compatibility, `y'
+and `1' are synonyms of `a', while `n' and `0' are synonyms for `r'.)
+
+ In any case, all `\openout' 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. (If you as a TeX administrator
+wish to implement more stringent rules on `\openout', modifying the
+function `openoutnameok' in `web2c/lib/texmfmp.c' is intended to
+suffice.)
+
+ The program accepts the following options, as well as the standard
+`-help' and `-version' (*note Common options::):
+`-enc'
+`-[no]-file-line-error'
+`-fmt=FMTNAME'
+`-halt-on-error'
+`-ini'
+`-interaction=STRING'
+`-ipc'
+`-ipc-start'
+`-jobname=STRING'
+`-kpathsea-debug=NUMBER'
+`-[no]parse-first-line'
+`-output-directory'
+`-progname=STRING'
+`-recorder'
+`-translate-file=TCXFILE'
+`-8bit'
+ These options are common to TeX, Metafont, and MetaPost. *Note
+ Common options::.
+
+`-enc'
+ Enable encTeX extensions, such as `\mubyte'. This can be used to
+ support Unicode UTF-8 input encoding. See
+ `http://www.olsak.net/enctex.html'.
+
+`-ipc'
+`-ipc-start'
+ With either option, TeX writes its DVI output to a socket as well
+ as to the usual `.dvi' file. With `-ipc-start', TeX also opens a
+ server program at the other end to read the output. *Note IPC and
+ TeX: IPC and TeX.
+
+ These options are available only if the `--enable-ipc' option was
+ specified to `configure' during installation of Web2c.
+
+`-mktex=FILETYPE'
+`-no-mktex=FILETYPE'
+ Turn on or off the `mktex' script associated with FILETYPE. The
+ only values that make sense for FILETYPE are `tex' and `tfm'.
+
+`-mltex'
+ If we are `INITEX' (*note Initial and virgin::), enable MLTeX
+ extensions such as `\charsubdef'. Implicitly set if the program
+ name is `mltex'. *Note MLTeX: MLTeX.
+
+`-output-comment=STRING'
+ Use STRING 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 `output_comment'.
+
+`-shell-escape'
+`-no-shell-escape'
+ Enable (or disable) the `\write18{SHELL-COMMAND}' feature. This
+ is also enabled if the environment variable or config file value
+ `shell_escape' is set to `t' (but the `-no-shell-escape' command
+ line option overrides this). (For backwards compatibility, `y'
+ and `1' are accepted as synonyms of `t'). It is disabled by
+ default to avoid security problems. When enabled, the
+ SHELL-COMMAND string (which first undergoes the usual TeX
+ expansions, just as in `\special') is passed to the command shell
+ (via the C library function `system'). The output of
+ SHELL-COMMAND is not diverted anywhere, so it will not appear in
+ the log file. The system call either happens at `\output' time or
+ right away, according to the absence or presence of the
+ `\immediate' prefix, as usual for `\write'. (If you as a TeX
+ administrator wish to implement more stringent rules on what can
+ be executed, you will need to modify `tex.ch'.)
+
+`-src-specials'
+`-src-specials=STRING'
+ This option makes TeX output specific source information using
+ `\special' commands in the DVI file. These `\special' track the
+ current file name and line number.
+
+ Using the first form of this option, the `\special' commands are
+ inserted automatically.
+
+ In the second form of the option, STRING is a comma separated list
+ of the following values: `cr', `display', `hbox', `math', `par',
+ `parend', `vbox'. You can use this list to specify where you want
+ TeX to output such commands. For example, `-src-specials=cr,math'
+ will output source information every line and every math formula.
+
+ 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.
+
+ This option works by inserting `\special' 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.
+
+ Redefining `\special' will not affect the functioning of this
+ option. The commands inserted into the token stream are
+ hard-coded to always use the `\special' primitive.
+
+ TeX does not pass the trip test when this option is enabled.
+
+
+
+File: web2c.info, Node: Initial TeX, Next: Formats, Prev: tex invocation, Up: TeX
+
+4.2 Initial TeX
+===============
+
+The "initial" form of TeX is invoked by `tex -ini'. It does lengthy
+initializations avoided by the "virgin" (`vir') form, so as to be
+capable of dumping `.fmt' files (*note Memory dumps::). For a detailed
+comparison of virgin and initial forms, *note Initial and virgin::. In
+past releases, a separate program `initex' was installed to invoke the
+initial form, but this is no longer the case.
+
+ For a list of options and other information, *note tex invocation::.
+
+ Unlike Metafont and MetaPost, many format files are commonly used
+with TeX. The standard one implementing the features described in the
+`TeXbook' is `plain.fmt', also known as `tex.fmt' (again, *note Memory
+dumps::). It is created by default during installation, but you can
+also do so by hand if necessary (e.g., if an update to `plain.tex' is
+issued):
+ tex -ini '\input plain \dump'
+ (The quotes prevent interpretation of the backslashes from the
+shell.) Then install the resulting `plain.fmt' in `$(fmtdir)'
+(`/usr/local/share/texmf/web2c' by default), and link `tex.fmt' to it.
+
+ The necessary invocation for generating a format file differs for
+each format, so instructions that come with the format should explain.
+The top-level `web2c' Makefile has targets for making most common
+formats: plain latex amstex texinfo eplain. *Note Formats::, for more
+details on TeX formats.
+
+
+File: web2c.info, Node: Formats, Next: Languages and hyphenation, Prev: Initial TeX, Up: TeX
+
+4.3 Formats
+===========
+
+TeX "formats" are large collections of macros, often dumped into a
+`.fmt' file (*note Memory dumps::) by `tex -ini' (*note Initial TeX::).
+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 `fmts' Make variable; by default, only the `plain' and
+`latex' formats are made.
+
+ You can get the latest versions of most of these formats from the
+CTAN archives in subdirectories of `CTAN:/macros' (for CTAN info, *note
+unixtex.ftp: (kpathsea)unixtex.ftp.). The archive
+`ftp://ftp.tug.org/tex/lib.tar.gz' (also available from CTAN) contains
+most of these formats (although perhaps not the absolute latest
+version), among other things.
+
+latex
+ 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 "emphasize", instead
+ of specific typesetting instructions, such as "use the 10pt
+ Computer Modern italic font". The LaTeX home page:
+ `http://www.latex-project.org'.
+
+context
+ 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:
+ `http://www.pragma-ade.com'.
+
+amstex
+ 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., `Mathematical Reviews'. The AMSTeX home page:
+ `http://www.ams.org/tex'.
+
+texinfo
+ 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:
+ `http://www.gnu.org/software/texinfo'.
+
+eplain
+ The "expanded plain" 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:
+ `http://www.tug.org/eplain'.
+
+slitex
+ An obsolete LaTeX 2.09 format for making slides. It is replaced by
+ the `slides' document class, along with the `beamer', `texpower',
+ and other packages.
+
+
+
+File: web2c.info, Node: Languages and hyphenation, Next: IPC and TeX, Prev: Formats, Up: TeX
+
+4.4 Languages and hyphenation
+=============================
+
+TeX supports most natural languages. See also *Note TeX extensions:
+TeX extensions.
+
+* Menu:
+
+* MLTeX:: Multi-lingual TeX.
+* patgen invocation:: Creating hyphenation patterns.
+* TCX files:: Support for different character sets & fonts.
+
+
+File: web2c.info, Node: MLTeX, Next: patgen invocation, Up: Languages and hyphenation
+
+4.4.1 MLTeX: Multi-lingual TeX
+------------------------------
+
+Multi-lingual TeX (`mltex') 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 `\accent' 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.
+
+ MLTeX works at `.fmt'-creation time: the basic idea is to specify
+the `-mltex' option to TeX when you `\dump' a format. Then, when you
+subsequently invoke TeX and read that `.fmt' file, the MLTeX features
+described below will be enabled.
+
+ Generally, you use special macro files to create an MLTeX `.fmt'
+file.
+
+ The sections below describe the two new primitives that MLTeX
+defines. Aside from these, MLTeX is completely compatible with
+standard TeX.
+
+* Menu:
+
+* \charsubdef:: Character substitution definitions.
+* \tracingcharsubdef:: Tracing substitutions.
+
+
+File: web2c.info, Node: \charsubdef, Next: \tracingcharsubdef, Up: MLTeX
+
+4.4.1.1 `\charsubdef': Character substitutions
+..............................................
+
+The most important primitive MLTeX adds is `\charsubdef', used in a way
+reminiscent of `\chardef':
+ \charsubdef COMPOSITE [=] ACCENT BASE
+
+ Each of COMPOSITE, ACCENT, and BASE are font glyph numbers,
+expressed in the usual TeX syntax: `\e symbolically, '145 for octal,
+"65 for hex, 101 for decimal.
+
+ MLTeX's `\charsubdef' 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 `\char'
+primitive, will be mapped to a font glyph or to an `\accent' glyph
+construction.
+
+ For example, if you assume glyph code 138 (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 `\charsubdef' as follows:
+
+ \charsubdef 138 = 18 101
+
+ For the plain TeX format to make use of this substitution, you have
+to redefine the circumflex accent macro `\^' in such a way that if its
+argument is character `e' the expansion `\char138 ' is used instead of
+`\accent18 e'. Similar `\charsubdef' declaration and macro
+redefinitions have to be done for all other accented characters.
+
+ To disable a previous `\charsubdef C', redefine C as a pair of
+zeros. For example:
+ \charsubdef '321 = 0 0 % disable N tilde
+ (Octal '321 is the ISO Latin-1 value for the Spanish N tilde.)
+
+ `\charsubdef' commands should only be given once. Although in
+principle you can use `\charsubdef' at any time, the result is
+unspecified. If `\charsubdef' declarations are changed, usually either
+incorrect character dimensions will be used or MLTeX will output
+missing character warnings. (The substitution of a `\charsubdef' 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 `\accent' construction at
+`\shipout'-time. In summary, the substitution is accessed often, so
+changing it is not desirable, nor generally useful.)
+
+
+File: web2c.info, Node: \tracingcharsubdef, Prev: \charsubdef, Up: MLTeX
+
+4.4.1.2 `\tracingcharsubdef': Substitution diagnostics
+......................................................
+
+To help diagnose problems with `\charsubdef', MLTeX provides a new
+primitive parameter, `\tracingcharsubdef'. If positive, every use of
+`\charsubdef' will be reported. This can help track down when a
+character is redefined.
+
+ In addition, if the TeX parameter `\tracinglostchars' is 100 or
+more, the character substitutions actually performed at `\shipout'-time
+will be recorded.
+
+
+File: web2c.info, Node: TCX files, Prev: patgen invocation, Up: Languages and hyphenation
+
+4.4.2 TCX files: Character translations
+---------------------------------------
+
+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).
+
+ 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 `xchr' and `xord' 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.
+
+ 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.
+
+ This is entirely independent of the MLTeX extension (*note MLTeX::):
+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 `\accent' 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.
+
+ Information on specifying TCX files:
+
+ * The best way to specify a TCX file is to list it explicitly in the
+ first line of the main document:
+ %& -translate-file=TCXFILE
+
+ * You can also specify a TCX file to be used on a particular TeX run
+ with the command-line option `-translate-file=TCXFILE'.
+
+ * TCX files are searched for along the `WEB2C' path.
+
+ * Initial TeX (*note Initial TeX: Initial TeX.) ignores TCX files.
+
+ The Web2c distribution comes with a number of TCX files. Two
+important ones are `il1-t1.tcx' and `il2-t1.tcx', 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.
+
+ One other notable TCX file is `empty.tcx', 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--which is in fact the case for everything
+but plain TeX in the TeX Live and other distributions. Thus:
+
+ latex somefile8.tex
+ => terminal etc. output with 8-bit chars
+ latex --translate-file=empty.tcx somefile8.tex
+ => terminal etc. output with ^^ notation
+
+ Syntax of TCX files:
+ 1. Line-oriented. Blank lines are ignored.
+
+ 2. Whitespace is ignored except as a separator.
+
+ 3. Comments start with `%' and continue to the end of the line.
+
+ 4. Otherwise, a line consists of one or two character codes,
+ optionally followed by 0 or 1. The last number indicates whether
+ DEST is considered printable.
+ SRC [DEST [PRNT]]
+
+ 5. Each character code may be specified in octal with a leading `0',
+ hexadecimal with a leading `0x', or decimal otherwise. Values must
+ be between 0 and 255, inclusive (decimal).
+
+ 6. If the DEST code is not specified, it is taken to be the same as
+ SRC.
+
+ 7. If the same SRC code is specified more than once, it is the last
+ definition that counts.
+
+ Finally, here's what happens: when TeX sees an input character with
+code SRC, it 1) changes SRC to DEST; and 2) makes the DEST code
+"printable", i.e., printed as-is in diagnostics and the log file rather
+than in `^^' notation.
+
+ By default, no characters are translated, and character codes
+between 32 and 126 inclusive (decimal) are printable.
+
+ Specifying translations for the printable ASCII characters (codes
+32-127) will yield unpredictable results. Additionally you shouldn't
+make the following characters printable: `^^I' (TAB), `^^J' (line
+feed), `^^M' (carriage return), and `^^?' (delete), since TeX uses them
+in various ways.
+
+ Thus, the idea is to specify the input (keyboard) character code for
+SRC, and the output (font) character code for DEST.
+
+ By default, only the printable ASCII characters are considered
+printable by TeX. If you specify the `-8bit' option, all characters are
+considered printable by default. If you specify both the `-8bit'
+option and a TCX file, then the TCX can set specific characters to be
+non-printable.
+
+ Both the specified TCX encoding and whether characters are printable
+are saved in the dump files (like `tex.fmt'). So by giving these
+options in combination with `-ini', you control the defaults seen by
+anyone who uses the resulting dump file.
+
+ When loading a dump, if the `-8bit' option was given, then all
+characters become printable by default.
+
+ 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.
+
+
+File: web2c.info, Node: patgen invocation, Next: TCX files, Prev: MLTeX, Up: Languages and hyphenation
+
+4.4.3 Patgen: Creating hyphenation patterns
+-------------------------------------------
+
+Patgen creates hyphenation patterns from dictionary files for use with
+TeX. Synopsis:
+
+ patgen DICTIONARY PATTERNS OUTPUT TRANSLATE
+
+ Each argument is a filename. No path searching is done. The output is
+written to the file OUTPUT.
+
+ In addition, Patgen prompts interactively for other values.
+
+ For more information, see `Word hy-phen-a-tion by com-puter' by
+Frank Liang (*note References::), and also the `patgen.web' source file.
+
+ The only options are `-help' and `-version' (*note Common options::).
+
+
+File: web2c.info, Node: IPC and TeX, Next: TeX extensions, Prev: Languages and hyphenation, Up: TeX
+
+4.5 IPC and TeX
+===============
+
+(Sorry, but I'm not going to write this unless someone actually uses
+this feature. Let me know.)
+
+ This functionality is available only if the `--enable-ipc' option
+was specified to `configure' during installation of Web2c (*note
+Installation::).
+
+ If you define `IPC_DEBUG' before compilation (e.g., with `make
+XCFLAGS=-DIPC_DEBUG'), TeX will print messages to standard error about
+its socket operations. This may be helpful if you are, well, debugging.
+
+
+File: web2c.info, Node: TeX extensions, Prev: IPC and TeX, Up: TeX
+
+4.6 TeX extensions
+==================
+
+The base TeX program has been extended in many ways. Here's a partial
+list. Please send information on extensions not listed here to the
+address in *Note Reporting bugs: (kpathsea)Reporting bugs.
+
+e-TeX
+ Adds many new primitives, including right-to-left typesetting.
+ Available from `http://www.vms.rhbnc.ac.uk/e-TeX/' and
+ `CTAN:/systems/e-tex'.
+
+Omega
+ Adds Unicode support, right-to-left typesetting, and more.
+ Available from `http://www.ens.fr/omega' and `CTAN:/systems/omega'.
+
+pdfTeX
+ A variant of TeX that produces PDF instead of DVI files. It also
+ includes primitives for hypertext and micro-typography. Available
+ from `CTAN:/systems/pdftex'.
+
+`TeX--XeT'
+ Adds primitives and DVI opcodes for right-to-left typesetting (as
+ used in Arabic, for example). An old version for TeX 3.1415 is
+ available from `CTAN:/systems/knuth/tex--xet'. A newer version is
+ included in e-TeX.
+
+File-handling TeX
+ Adds primitives for creating multiple DVI files in a single run;
+ and appending to output files as well as overwriting. Web2c
+ implementation available in the distribution file
+ `web2c/contrib/file-handling-tex'.
+
+
+File: web2c.info, Node: Metafont, Next: MetaPost, Prev: TeX, Up: Top
+
+5 Metafont: Creating typeface families
+**************************************
+
+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.
+
+ 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 `The METAFONTbook' (*note References::).
+
+* Menu:
+
+* mf invocation:: Invoking Metafont.
+* Initial Metafont:: Making bases.
+* Modes:: Device definitions for Metafont.
+* Online Metafont graphics:: Seeing MF output online.
+* gftodvi invocation:: Making proofsheets for fonts.
+* mft invocation:: Prettyprinting Metafont sources.
+
+
+File: web2c.info, Node: mf invocation, Next: Initial Metafont, Up: Metafont
+
+5.1 `mf' invocation
+===================
+
+Metafont (usually invoked as `mf') 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 `The Metafontbook' (*note References::).
+
+ Metafont processes its command line and determines its memory dump
+(base) file in a way exactly analogous to MetaPost and TeX (*note tex
+invocation::, and *note Memory dumps::). Synopses:
+
+ mf [OPTION]... [MFNAME[.mf]] [MF-COMMANDS]
+ mf [OPTION]... \FIRST-LINE
+ mf [OPTION]... &BASE ARGS
+
+ Most commonly, a Metafont invocation looks like this:
+ mf '\mode:=MODE; mag:=MAGNIFICATION; input MFNAME'
+ (The single quotes avoid unwanted interpretation by the shell.)
+
+ Metafont searches the usual places for the main input file MFNAME
+(*note Supported file formats: (kpathsea)Supported file formats.),
+extending MFNAME with `.mf' if necessary. To see all the relevant
+paths, set the environment variable `KPATHSEA_DEBUG' to `-1' before
+running the program. By default, Metafont runs an external program
+named `mktexmf' to create any nonexistent Metafont source files you
+input. You can disable this at configure-time or runtime (*note mktex
+configuration: (kpathsea)mktex configuration.). This is mostly for the
+sake of the EC fonts, which can be generated at any size.
+
+ Metafont writes the main GF output to the file `BASEMFNAME.NNNgf',
+where NNN is the font resolution in pixels per inch, and BASEMFNAME is
+the basename of MFNAME, or `mfput' 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 (*note gftopk
+invocation::), since PK files contain equivalent information, but are
+more compact. (Metafont output in GF format rather than PK for only
+historical reasons.)
+
+ Metafont also usually writes a metric file in TFM format to
+`BASEMFNAME.tfm'. A TFM file contains character dimensions, kerns, and
+ligatures, and spacing parameters. TeX reads only this .tfm file, not
+the GF file.
+
+ The MODE in the example command above is a name referring to a
+device definition (*note Modes::); for example, `localfont' or
+`ljfour'. These device definitions must generally be precompiled into
+the base file. If you leave this out, the default is `proof' mode, as
+stated in `The Metafontbook', in which Metafont outputs at a resolution
+of 2602dpi; this is usually not what you want. The remedy is simply to
+assign a different mode--`localfont', for example.
+
+ The MAGNIFICATION assignment in the example command above is a
+magnification factor; for example, if the device is 600dpi and you
+specify `mag:=2', Metafont will produce output at 1200dpi. Very often,
+the MAGNIFICATION is an expression such as `magstep(.5)', corresponding
+to a TeX "magstep", which are factors of 1.2 * sqrt(2).
+
+ After running Metafont, you can use the font in a TeX document as
+usual. For example:
+ \font\myfont = newfont
+ \myfont Now I am typesetting in my new font (minimum hamburgers).
+
+ The program accepts the following options, as well as the standard
+`-help' and `-version' (*note Common options::):
+`-[no]-file-line-error'
+`-fmt=FMTNAME'
+`-halt-on-error'
+`-ini'
+`-interaction=STRING'
+`-jobname=STRING'
+`-kpathsea-debug=NUMBER'
+`-[no]parse-first-line'
+`-output-directory'
+`-progname=STRING'
+`-recorder'
+`-translate-file=TCXFILE'
+`-8bit'
+ These options are common to TeX, Metafont, and MetaPost. *Note
+ Common options::.
+
+`-mktex=FILETYPE'
+`-no-mktex=FILETYPE'
+ Turn on or off the `mktex' script associated with FILETYPE. The
+ only value that makes sense for FILETYPE is `mf'.
+
+
+File: web2c.info, Node: Initial Metafont, Next: Modes, Prev: mf invocation, Up: Metafont
+
+5.2 Initial Metafont
+====================
+
+`inimf' is the "initial" form of Metafont, which does lengthy
+initializations avoided by the "virgin" (`vir') form, so as to be
+capable of dumping `.base' files (*note Memory dumps::). For a
+detailed comparison of virgin and initial forms, see *Note Initial and
+virgin::. In past releases, a separate program `inimf' was installed
+to invoke the initial form, but this is no longer the case.
+
+ For a list of options and other information, see *Note mf
+invocation::.
+
+ The only memory dump file commonly used with Metafont is the default
+`plain.base', also known as `mf.base' (again, *note Memory dumps::).
+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):
+ mf -ini '\input plain; input modes; dump'
+ (The quotes prevent interpretation of the backslashes from the
+shell.) Then install the resulting `plain.base' in `$(basedir)'
+(`/usr/local/share/texmf/web2c' by default), and link `mf.base' to it.
+
+ For an explanation of the additional `modes.mf' file, see *Note
+Modes::. This file has no counterpart in TeX or MetaPost.
+
+ In the past, it was sometimes useful to create a base file
+`cmmf.base' (a.k.a. `cm.base'), with the Computer Modern macros also
+included in the base file. Nowadays, however, the additional time
+required to read `cmbase.mf' is exceedingly small, usually not enough
+to be worth the administrative hassle of updating the `cmmf.base' file
+when you install a new version of `modes.mf'. People actually working
+on a typeface may still find it worthwhile to create their own base
+file, of course.
+
+
+File: web2c.info, Node: Modes, Next: Online Metafont graphics, Prev: Initial Metafont, Up: Metafont
+
+5.3 Modes: Device definitions for Metafont
+==========================================
+
+Running Metafont and creating Metafont base files requires information
+that TeX and MetaPost do not: "mode" definitions which specify device
+characteristics, so Metafont can properly rasterize the shapes.
+
+ When making a base file, a file containing modes for
+locally-available devices should be input after `plain.mf'. One
+commonly used file is `ftp://ftp.tug.org/tex/modes.mf'; it includes all
+known definitions.
+
+ If, however, for some reason you have decreased the memory available
+in your Metafont, you may need to copy `modes.mf' 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 `mode_def' and/or `mode_setup'; right now, the amount
+of memory used is approximately four times the total length of the
+`mode_def' names, and that's a lot.)
+
+ If you have a device not included in `modes.mf', please see comments
+in that file for how to create the new definition, and please send the
+definition to <tex-fonts@mail.tug.org> to get it included in the next
+release of `modes.mf'.
+
+ 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
+`smode' instead of `mode', like this:
+ mf '\smode:="newmode.mf"; mag:=MAGNIFICATION; input MFNAME'
+ This is most useful when you are working on the definition of a new
+mode.
+
+ The MAGNIFICATION and MFNAME arguments are explained in *Note mf
+invocation::. In the file `newmode.mf', you should have the following
+(with no `mode_def' or `enddef'), if you are using `modes.mf'
+conventions:
+ mode_param (pixels_per_inch, DPI);
+ mode_param (blacker, B);
+ mode_param (fillin, F);
+ mode_param (o_correction, O);
+ mode_common_setup_;
+ (Of course, you should use real numbers for DPI, B, F, and O.)
+
+ For more information on the use of `smode', or if you are not using
+`modes.mf', see page 269 of `The Metafontbook'.
+
+
+File: web2c.info, Node: Online Metafont graphics, Next: gftodvi invocation, Prev: Modes, Up: Metafont
+
+5.4 Online Metafont graphics
+============================
+
+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.
+
+ Metafont examines the `MFTERM' environment variable or config file
+value at runtime, or the `TERM' environment variable if `MFTERM' is not
+set, to determine the device support to use. Naturally, only the
+devices for which support has been compiled in can be selected.
+
+ Here is a table of the possibilities, showing the `MFTERM' value and
+the corresponding `configure' option(s) in parentheses.
+
+`epsf'
+ (`--with-epsfwin') Pseudo-window server for Encapsulated
+ PostScript (see `web2c/window/epsf.c'). 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.
+
+`hp2627'
+ (`--with-hp2627win') HP2627a color graphics terminals.
+
+`mftalk'
+ (`--with-mftalkwin') Generic window server (see
+ `web2c/window/mftalk.c').
+
+`next'
+ (`--with-next') NeXT window system. This requires a separate
+ program, called `DrawingServant', available separately. See the
+ `web2c/window/next.c'.
+
+`regis'
+ (`--with-regiswin') Regis terminals.
+
+`sun'
+ (`--with-suntoolswin') The old Suntools (not any flavor of X)
+ window system. (You can get the even older SunWindows `gfx' system
+ by using `sun-gfx.c'.)
+
+`tek'
+ (`--with-tektronixwin') Tektronix terminals.
+
+`uniterm'
+ (`--with-unitermwin') 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 `--with-tek'
+ selects.
+
+`xterm'
+ (`--with-x11win', `--with-x', `--with-x11') The X window system
+ (version 11).
+
+ 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 `configure --with-x
+ --with-x-toolkit=no'.
+
+ You cannot specify any of the usual X options (e.g., `-geometry')
+ on the Metafont command line, but you can specify X resources in
+ your `~/.Xdefaults' or `~/.Xresources' file. The class name is
+ `Metafont'. If you're using the Xt support, all the usual X toolkit
+ resources are supported. If you're using the Xlib support, only
+ the `geometry' resource is supported.
+
+ You specify the X display to which Metafont connects in the
+ `DISPLAY' environment variable, as usual.
+
+
+ Writing support for a new device is straightforward. Aside from
+defining the basic drawing routines that Metafont uses (see `mf.web'),
+you only have to add another entry to the tables on the last page of
+`web2c/lib/texmfmp.c'. Or you can write an independent program and use
+MFtalk (see `web2c/window/mftalk.c').
+
+
+File: web2c.info, Node: gftodvi invocation, Next: mft invocation, Prev: Online Metafont graphics, Up: Metafont
+
+5.5 GFtoDVI: Character proofs of fonts
+======================================
+
+GFtoDVI makes "proof sheets" from a GF bitmap file as output by, for
+example, Metafont (*note Metafont::). This is an indispensable aid for
+font designers or Metafont hackers. Synopsis:
+
+ gftodvi [OPTION]... GFNAME[gf]
+
+ The font GFNAME is searched for in the usual places (*note Glyph
+lookup: (kpathsea)Glyph lookup.). To see all the relevant paths, set
+the environment variable `KPATHSEA_DEBUG' to `-1' before running the
+program.
+
+ The suffix `gf' is supplied if not already present. This suffix is
+not an extension; no `.' precedes it: for instance `cmr10.600gf'.
+
+ The output filename is the basename of GFNAME extended with `.dvi',
+e.g., `gftodvi /wherever/foo.600gf' creates `./foo.dvi'.
+
+ The characters from GFNAME appear one per page in the DVI output,
+with labels, titles, and annotations, as specified in Appendix H
+(Hardcopy Proofs) of `The Metafontbook'.
+
+ GFtoDVI uses several fonts besides GFNAME itself:
+
+ * "gray font" (default `gray'): 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.
+
+ * "title font" (default `cmr8'): for the header information at the
+ top of each output page.
+
+ * "label font" (default `cmtt10'): for the labels on key points of
+ the figure.
+
+ * "slant font" (no default): for diagonal lines, which are otherwise
+ simulated using horizontal and vertical rules.
+
+
+ To change the default fonts, you must use `special' commands in your
+Metafont source file.
+
+ The program accepts the following option, as well as the standard
+`-verbose', `-help', and `-version' (*note Common options::):
+`-overflow-label-offset=POINTS'
+ Typeset the so-called overflow labels, if any, POINTS 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.
+
+
+File: web2c.info, Node: mft invocation, Prev: gftodvi invocation, Up: Metafont
+
+5.6 MFT: Prettyprinting Metafont source
+=======================================
+
+MFT translates a Metafont program into a TeX document suitable for
+typesetting, with the aid of TeX macros defined in the file
+`mftmac.tex'. Synopsis:
+
+ mft [OPTION]... MFNAME[.mf]
+
+ MFT searches the usual places for MFNAME (*note Supported file
+formats: (kpathsea)Supported file formats.). To see all the relevant
+paths, set the environment variable `KPATHSEA_DEBUG' to `-1' before
+running the program. The output goes to the basename of MFNAME extended
+with `.tex', e.g., `mft /wherever/foo.mf' creates `./foo.tex'.
+
+ 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.
+
+ Further control is allowed via Metafont comments:
+ * Metafont comments following a single `%' 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 `% |x2r| is the tip of
+ the bowl' will be translated into the TeX `% $x_{2r}$ is the ...',
+ i.e., the `x2r' is treated as an identifier.
+
+ * `%%' 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
+ `mftmac.tex', or to add a line saying `%%\bye' 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.)
+
+ * `%%% TOKEN1 OTHER-TOKENS' introduces a change in MFT's formatting
+ rules; all the OTHER-TOKENS will henceforth be translated
+ according to the current conventions for TOKEN1. The tokens must
+ be symbolic (i.e., not numeric or string tokens). For example, the
+ input line
+ %%% addto fill draw filldraw
+ says to format the `fill', `draw', and `filldraw' operations of
+ plain Metafont just like the primitive token `addto', i.e., in
+ boldface type. Without such reformatting commands, MFT would
+ treat `fill' like an ordinary tag or variable name. In fact, you
+ need a `%%%' command even to get parentheses to act like
+ delimiters.
+
+ * `%%%%' introduces an MFT comment, i.e., MFT ignores the remainder
+ of such a line.
+
+ * Five or more `%' signs should not be used.
+
+ (The above description was edited from `mft.web', written by
+D.E. Knuth.)
+
+ The program accepts the following options, as well as the standard
+`-help' and `-version' (*note Common options::):
+`-change=CHFILE[.ch]'
+ Apply the change file CHFILE as with Tangle and Weave (*note
+ WEB::).
+
+`-style=MFTFILE[.mft]'
+ Read MFTFILE before anything else; a MFT style file typically
+ contains only MFT directives as described above. The default
+ style file is named `plain.mft', which defines this properly for
+ programs using plain Metafont. The MFT files is searched along the
+ `MFTINPUTS' path; see *Note Supported file formats:
+ (kpathsea)Supported file formats.
+
+ Other examples of MFT style files are `cmbase.mft', which defines
+ formatting rules for the macros defined in `cm.base', and `e.mft',
+ which was used in the production of Knuth's Volume E, `Computer
+ Modern Typefaces'.
+
+ 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.
+
+ 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.
+
+
+File: web2c.info, Node: MetaPost, Next: BibTeX, Prev: Metafont, Up: Top
+
+6 MetaPost: Creating technical illustrations
+********************************************
+
+MetaPost is a picture-drawing language similar to Metafont (*note
+Metafont::), but instead of outputting bitmaps in a "font", it outputs
+PostScript commands. It's primarily intended for creating technical
+illustrations.
+
+ 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.
+
+* Menu:
+
+* mpost invocation:: Invoking MetaPost.
+* Initial MetaPost:: Making mems.
+* makempx invocation:: Create MPX files for labels.
+* dvitomp invocation:: DVI-to-MPX translation.
+* dmp invocation:: Ditroff-to-MPX translation.
+* mpto invocation:: Extracting labels from MetaPost programs.
+* newer invocation:: Is one file newer than another?
+
+
+File: web2c.info, Node: mpost invocation, Next: Initial MetaPost, Up: MetaPost
+
+6.1 `mpost' invocation
+======================
+
+MetaPost (installed as `mpost') 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&T technical report CSTR-162, generally available in
+`TEXMF/doc/metapost/', where TEXMF is the root of TeX directory
+structure. See also:
+ * `http://cm.bell-labs.com/who/hobby/MetaPost.html' (the
+ MetaPost author's home page);
+
+ * `http://tug.org/metapost.html' (papers, packages, and
+ related information).
+
+ Also, a standard MetaPost package for drawing graphs is documented in
+AT&T technical report CSTR-164, available as the file `mpgraph.ps',
+generally stored alongside `mpman.ps'.
+
+ MetaPost processes its command line and determines its memory dump
+(mem) file in a way exactly analogous to Metafont and TeX (*note `tex'
+invocation: tex invocation, and *note Memory dumps::). Synopses:
+
+ mpost [OPTION]... [MPNAME[.mp]] [MP-COMMANDS]
+ mpost [OPTION]... \FIRST-LINE
+ mpost [OPTION]... &MEM ARGS
+
+ MetaPost searches the usual places for the main input file MPNAME
+(*note Supported file formats: (kpathsea)Supported file formats.),
+extending MPNAME with `.mp' if necessary. To see all the relevant
+paths, set the environment variable `KPATHSEA_DEBUG' to `-1' before
+running the program.
+
+ MetaPost writes its PostScript output to a series of files
+`BASEMPNAME.NNN' (or perhaps `BASEMPNAME.ps', very occasionally
+`BASEMPNAME.tfm'), where NNN are the figure numbers specified in the
+input, typically to the `beginfig' macro, and BASEMPNAME is the
+basename of MPNAME, or `mpout' if no input file was specified.
+MetaPost uses the `.ps' extension when the figure number is out of
+range, e.g., if you say `beginfig(-1)'.
+
+ 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:
+ \special{psfile="FILENAME"}
+ or by using `epsf.tex' (*note EPSF macros: (dvips)EPSF macros.).
+
+ The MetaPost construct
+ btex ... TEX-INPUT ... etex
+ calls MakeMPX to generate a MPX file containing a MetaPost picture
+expression corresponding to TEX-INPUT (*note makempx invocation::).
+
+ The construct
+ verbatimtex ... TEX-INPUT ... etex
+ simply passes the TEX-INPUT through to MakeMPX and thus to TeX. For
+example, if you are using LaTeX, your MetaPost input file must start
+with a `verbatimtex' block that gives the necessary `\documentclass'
+(or `\documentstyle') `\begin{document}' command. You will also need
+to set the enviroment variable `TEX' to `latex' (*note makempx
+invocation::).
+
+ TEX-INPUT need not be specifically TeX input; it could also be
+Troff. In that case, you will need the `-m pictures' Troff macro
+package (unfortunately absent from many Troff implementations), or an
+equivalent such as the `-m pspic' macros from GNU groff described in
+grops(1).
+
+ Other typesetters can be supported with no change to MetaPost itself;
+only MakeMPX needs to be updated.
+
+ 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.
+
+ 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
+(*note Fonts in figures: (dvips)Fonts in figures.). To help with this,
+the MetaPost distribution provides a small TeX file `mproof.tex' which
+is typically called as:
+ tex mproof MP-OUTPUT-FILES... ; dvips mproof -o
+ The resulting file `mproof.ps' can then be printed or previewed.
+
+ To generate EPSF files, set the internal MetaPost variable
+`prologues' positive. To make the output files self-contained, use
+only standard PostScript fonts. MetaPost reads the same `psfonts.map'
+file as Dvips, to determine PostScript fonts that need to be downloaded
+(*note psfonts.map: (dvips)psfonts.map.).
+
+ MetaPost can write output files, via the `write' primitive; this
+opens a security hole. *Note tex invocation::.
+
+ The program accepts the following options, as well as the standard
+`-help' and `-version' (*note Common options::):
+`-[no]-file-line-error'
+`-fmt=FMTNAME'
+`-halt-on-error'
+`-ini'
+`-interaction=STRING'
+`-jobname=STRING'
+`-kpathsea-debug=NUMBER'
+`-[no]parse-first-line'
+`-output-directory'
+`-progname=STRING'
+`-recorder'
+`-translate-file=TCXFILE'
+`-8bit'
+ These options are common to TeX, Metafont, and MetaPost. *Note
+ Common options::.
+
+`-T'
+`-troff'
+ Set the `prologues' internal variable to `1', and use `makempx
+ -troff' to generate MPX files.
+
+`-tex=TEXPROGRAM'
+ When this option is given, the program TEXPROGRAM is used to
+ typeset the labels.
+
+
+
+File: web2c.info, Node: Initial MetaPost, Next: makempx invocation, Prev: mpost invocation, Up: MetaPost
+
+6.2 Initial MetaPost
+====================
+
+`inimpost' is the "initial" form of MetaPost, which does lengthy
+initializations avoided by the "virgin" (`vir') form, so as to be
+capable of dumping `.mem' files (*note Memory dumps::). For a detailed
+comparison of virgin and initial forms, see *Note Initial and virgin::.
+In past releases, a separate program `inimpost' was installed for the
+initial form, but this is no longer the case.
+
+ For a list of options and other information, see *Note mpost
+invocation::.
+
+ The principal memory dump file used with MetaPost is the default,
+`plain.mem', also known as `mpost.mem' (again, *note Memory dumps::).
+It is created by default during installation, but you can also do so by
+hand if necessary (e.g., if a `plain.mp' update is issued):
+ mpost -ini '\input plain dump'
+ (The quotes prevent interpretation of the backslashes from the
+shell.) Then install the resulting `plain.mem' in `$(memdir)'
+(`/usr/local/share/texmf/web2c' by default), and link `mpost.mem' to it.
+
+ MetaPost also provides a mem file with all the features of plain
+Metafont, called `mfplain.mem'. You can create that in the same way;
+just replace `plain' in the above command with `mfplain'.
+`mfplain.mem' file 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
+(*note gftodvi invocation::).
+
+ Another MetaPost mem file, named MetaFun, provides many advanced
+features. It was developed and maintained by Pragma ADE. The home
+page for MetaFun, and other MetaPost-related things from Pragma:
+`http://www.pragma-ade.com/metapost.htm'.
+
+
+File: web2c.info, Node: makempx invocation, Next: dvitomp invocation, Prev: Initial MetaPost, Up: MetaPost
+
+6.3 MakeMPX: Support MetaPost labels
+====================================
+
+In MetaPost, labels can be typeset using any document processor; the
+Web2c implementation supports TeX and Troff. MakeMPX translates the
+labels from the typesetting language back into low-level MetaPost
+commands in a so-called "mpx file", so text can be manipulated like
+other graphic objects. It is invoked automatically by MetaPost.
+Synopsis:
+
+ makempx [-troff] MPFILE MPXFILE
+
+The input comes from MPFILE (no path searching is done), and the output
+goes to MPXFILE. However, if the file MPXFILE already exists, and is
+newer than MPFILE, then nothing is done (presumably the file is
+up-to-date).
+
+ Otherwise:
+ 1. MPto is run to extract the label text from the MetaPost source
+ file MPFILE (*note mpto invocation::).
+
+ 2. The typesetting program itself is run, either TeX or Troff (see
+ below). If TeX, and the file named by the `MPTEXPRE' environment
+ variable exists (`mptexpre.tex' by default), that file is
+ prepended to the input from the MetaPost file.
+
+ 3. The typesetter output (a DVI file in the case of TeX, Ditroff
+ output for Troff) is translated back to MetaPost, by DVItoMP
+ (*note dvitomp invocation::) or DMP (*note dmp invocation::)
+ respectively.
+
+ If any of the above steps fail, for example if there was a
+typesetting mistake in the original MPFILE, output may be left in files
+named `mpxerr.{log,tex,dvi}' (TeX) or `mpxerr{,.t}' (Troff), so you can
+diagnose the problem.
+
+ The `-troff' option to MPto selects the Troff commands, rather than
+TeX. MetaPost supplies this automatically if the `-T' or `-troff'
+option was specified to MetaPost.
+
+ The MPX file created by MakeMPX is a sequence of MetaPost picture
+expressions, one for every label in the original MetaPost input file.
+
+ The names of the commands run by MakeMPX, and the directory added to
+the shell search `PATH' for the commands' location, are overridden by
+environment variables. Here is a list:
+
+`MAKEMPX_BINDIR'
+ The directory added to the `PATH'. Default is the `$(bindir)'
+ Make directory, which in turn is set from the configure-time
+ `--bindir', `--exec-prefix' and `--prefix' options; if nothing
+ else is specified, the default is file `/usr/local'.
+
+`NEWER'
+ The command run to determine if MPXFILE is out of date with respect
+ to MPFILE; default is `newer'.
+
+`MPTOTEX'
+ The command run to extract MetaPost labels in TeX format; default
+ is `mpto -tex'.
+
+`MPTOTR'
+ Likewise, for Troff; default is `mpto -troff'.
+
+`DVITOMP'
+ The command run to convert TeX output back to MetaPost; default is
+ `dvitomp'.
+
+`DMP'
+ Likewise, for Troff; default is `dmp'.
+
+`TEX'
+ The command run to typeset the labels in TeX; default is `tex'.
+ If you use LaTeX, set this to `latex', and supply an appropriate
+ `verbatimtex' header in the MP source (*note mpost invocation::).
+
+`TROFF'
+ Likewise, for Troff; default is `'eqn -d\$\$ | troff -Tpost''. You
+ may need to replace `-Tpost' by `-TTERM', where TERM is the
+ PostScript device name for your Troff implementation, e.g., `ps'
+ or `psc'; see troff(1).
+
+ If you change this, you will also need to set the `TRFONTS'
+ environment variable or configuration value to point to the
+ appropriate font directory, traditionally `/usr/lib/font/devTERM'.
+
+
+
+File: web2c.info, Node: dvitomp invocation, Next: dmp invocation, Prev: makempx invocation, Up: MetaPost
+
+6.4 DVItoMP: DVI to MPX conversion
+==================================
+
+DVItoMP converts DVI files into low-level MetaPost commands in a
+so-called MPX file. This program is generally invoked only by MakeMPX
+(*note makempx invocation::). Synopsis:
+
+ dvitomp DVIFILE[.dvi] [MPXFILE[.mpx]]
+
+If MPXFILE is not specified, the output goes to the basename of DVIFILE
+extended with `.mpx', e.g., `dvitomp /wherever/foo.dvi' creates
+`./foo.mpx'.
+
+ The only options are `-help' and `-version' (*note Common options::).
+
+
+File: web2c.info, Node: dmp invocation, Next: mpto invocation, Prev: dvitomp invocation, Up: MetaPost
+
+6.5 DMP: Ditroff to MPX conversion
+==================================
+
+DMP converts device-independent Troff (ditroff) output files into
+low-level MetaPost commands in a so-called MPX file. This program is
+generally invoked by MakeMPX (*note makempx invocation::). Synopsis:
+
+ dmp [DITROFF-FILE [MPXFILE]]
+
+If DITROFF-FILE is not specified, input comes from standard input; and
+if MPXFILE is not specified, output goes to standard output.
+
+ DMP was written to process the output of a Troff pipeline fed the
+output of `mpto -troff' (*note mpto invocation::). DMP understands all
+the `DC' graphics functions that `dpost' does, but it ignores `x X'
+device control functions such as `x X SetColor:...', `x X BeginPath:',
+and `x X DrawPath:...'.
+
+ The available font names are defined in the support file
+`trfonts.map', which DMP looks for along the `MPSUPPORT' path.
+
+ Another support file `trchars.adj', also looked for along the
+`MPSUPPORT' path, contains a character adjustment table which should
+reflect the shift amounts found in the standard PostScript prologue for
+Troff and dpost found in the `TRFONTS' directory. Such an adjustment
+table is unnecessary for some Troff implementations, in which case
+`trchars.adj' should be replaced by an empty file--but it must still
+exist.
+
+ DMP was written for one particular Troff implementation, and it
+unfortunately has many built-in assumptions about the output and fonts
+file formats used by Troff, which may not be satisfied in other
+environments. In particular, GNU groff uses some extensions in its file
+formats described in groff_font(5) and groff_out(5) which make its
+output completely unusable for DMP. On the other hand, the Troff
+version found in Sun Solaris 2.x, and perhaps other systems derived from
+System V R4, works fine with the default settings.
+
+ If you run into trouble and want to adapt DMP to other systems, you
+might have to try the following (this is primarily for hackers):
+
+ * If DMP complains about a missing font table (e.g., `Cannot find
+ TR'), your Troff may not support the device `post'.
+
+ Check troff(1) for the devices supported by your Troff and set the
+ `TROFF' environment variable appropriately (see above). Also,
+ locate the appropriate font directory and set the `TRFONTS'
+ variable as needed.
+
+ * If DMP complains about a missing font description file (e.g., `Font
+ TR was not in map file'), your version of Troff may be using
+ internal font names different from those in the distributed
+ `trfonts.map'; e.g., TR and TI instead of R and I for Times-Roman
+ and Times-Italic.
+
+ In this case, you may have to adapt `trfonts.map' and perhaps also
+ `trchars.adj' in the MetaPost support directory
+ (`texmf/metapost/support' by default).
+
+ * If DMP still complains that it cannot parse the font description
+ files or the Troff output (e.g., `TR has a bad line in its
+ description file', you are probably out of luck and have to hack
+ the DMP program (in `web2c/mpware/dmp.c').
+
+ Such problems may be caused by subtle differences in the file
+ formats, such as use of tabs vs. spaces as field separators or
+ decimal vs. octal vs. hex format for font metric data.
+
+ A reasonably good description of the expected Troff file formats
+ can be found in AT&T technical report CSTR-54 (`Troff User's
+ Manual', Revised 1992). Documentation on the subtle differences
+ in other Troff implementation is harder to find except for GNU
+ groff, where it's all documented in the above-mentioned
+ groff_font(5) and groff_out(5).
+
+ Any contributions to improve the portability of DMP or to make it
+ work with GNU groff are welcome, of course.
+
+
+ (Some of the above description was edited from the `dmp.c' source
+file, written by John Hobby.)
+
+ The only options are `--help' and `--version' (*note Common
+options::).
+
+
+File: web2c.info, Node: mpto invocation, Next: newer invocation, Prev: dmp invocation, Up: MetaPost
+
+6.6 MPto: Extract labels from MetaPost input
+============================================
+
+MPto extracts the labels from a MetaPost input file; this is the
+contents of any `btex...etex' and `verbatimtex...etex' sections. This
+program is generally invoked by MakeMPX (*note makempx invocation::).
+Synopsis:
+
+ mpto [OPTION]... MPFILE
+
+The input comes from MPFILE; no path searching is done. The output
+goes to standard output. Leading and trailing spaces and tabs are
+removed, and various predefined typesetter commands are included at the
+beginning of and end of the file and of each section.
+
+ The program accepts the following options, as well as the standard
+`-help' and `-version' (*note Common options::):
+`-troff'
+ Surround the MetaPost sections with Troff commands.
+
+`-tex'
+ Surround the MetaPost sections with TeX commands. This is the
+ default.
+
+
+File: web2c.info, Node: newer invocation, Prev: mpto invocation, Up: MetaPost
+
+6.7 Newer: Compare file modification times
+==========================================
+
+Newer compares file modification times. Synopsis:
+
+ newer SRC1 [ SRC2 ... SRCN ] TARGET
+
+Newer exits successfully if the files SRC1 ... SRCN exist and at least
+one of them is not older than DEPENDENT, i.e., the modification time
+(mtime) of at least one of the source files is greater than or the same
+as that of DEPENDENT. Newer also exits successfully if the file
+DEPENDENT doesn't exist. *Note Attribute Meanings: (libc)Attribute
+Meanings.
+
+ The program accepts the following option, as well as the standard
+`--help' and `--version' (*note Common options::):
+`--quiet'
+ Return result only, do not print any output.
+
+`--verbose'
+ List missing source files to STDERR. This is the default.
+
+ This is used by MakeMPX (*note makempx invocation::).
+
+
+File: web2c.info, Node: BibTeX, Next: WEB, Prev: MetaPost, Up: Top
+
+7 BibTeX: Bibliographies
+************************
+
+BibTeX automates much of the job of typesetting bibliographies, and
+makes bibliography entries reusable in many different contexts.
+
+* Menu:
+
+* bibtex invocation::
+* Basic BibTeX style files:: The standard and semi-standard styles.
+
+
+File: web2c.info, Node: bibtex invocation, Next: Basic BibTeX style files, Up: BibTeX
+
+7.1 BibTeX invocation
+=====================
+
+BibTeX creates a printable bibliography (`.bbl') file from references
+in a `.aux' file, generally written by TeX or LaTeX. The `.bbl' file
+is then incorporated on a subsequent run. The basic bibliographic
+information comes from `.bib' files, and a BibTeX style (`.bst') file
+controls the precise contents of the `.bbl' file. Synopsis:
+
+ bibtex [OPTION]... AUXFILE[.aux]
+
+The output goes to the basename of AUXFILE extended with `.bbl'; for
+example, `bibtex /wherever/foo.aux' creates `./foo.bbl'. BibTeX also
+writes a log file to the basename of AUXFILE extended with `.blg'.
+
+ The names of the `.bib' and `.bst' files are specified in the `.aux'
+file as well, via the `\bibliography' and `\bibliographystyle' (La)TeX
+macros. BibTeX searches for `.bib' files using the `BIBINPUTS' and
+`TEXBIB' paths, and for `.bst' files using `BSTINPUTS' (*note Supported
+file formats: (kpathsea)Supported file formats.). It does no path
+searching for `.aux' files.
+
+ The program accepts the following options, as well as the standard
+`-help' and `-version' (*note Common options::):
+`-terse'
+ Suppress the program banner and progress reports normally output.
+
+`-min-crossrefs=N'
+ If at least N (2 by default) bibliography entries refer to another
+ entry E via their `crossref' field, include E in the .bbl file,
+ even if it was not explicitly referenced in the .aux file. For
+ example, E 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 N a
+ sufficiently large number.
+
+ See also:
+`btxdoc.tex'
+ Basic LaTeXable documentation for general BibTeX users.
+
+`btxhak.tex'
+ LaTeXable documentation for style designers.
+
+`btxdoc.bib'
+ BibTeX database file for the two above documents.
+
+`xampl.bib'
+ Example database file with all the standard entry types.
+
+``ftp://ftp.math.utah.edu/pub/tex/bib/''
+ A very large `.bib' and `.bst' collection, including references
+ for all the standard TeX books and a complete bibliography for
+ TUGboat.
+
+
+File: web2c.info, Node: Basic BibTeX style files, Prev: bibtex invocation, Up: BibTeX
+
+7.2 Basic BibTeX style files
+============================
+
+Here are descriptions of the four standard and four semi-standard basic
+BibTeX styles. `CTAN:/biblio/bibtex' contains these and many more (for
+CTAN info, *note unixtex.ftp: (kpathsea)unixtex.ftp.).
+
+`plain'
+ Sorts entries alphabetically, with numeric labels. Generally
+ formatted according to van Leunen's `A Handbook for Scholars'.
+ The other style files listed here are based on `plain'.
+
+`abbrv'
+ First names, month names, and journal names are abbreviated.
+
+`acm'
+ Names are printed in small caps.
+
+`alpha'
+ Alphanumeric labels, e.g., `Knu66'.
+
+`apalike'
+ No labels at all; instead, the year appears in parentheses after
+ the author. Use this in conjunction with `apalike.tex' (plain
+ TeX) or `apalike.sty' (LaTeX), which also changes the citations in
+ the text to be `(AUTHOR, YEAR)'.
+
+`ieeetr'
+ Numeric labels, entries in citation order, IEEE abbreviations,
+ article titles in quotes.
+
+`siam'
+ Numeric labels, alphabetic order, `Math. Reviews' abbreviations,
+ names in small caps.
+
+`unsrt'
+ Lists entries in citation order, i.e., unsorted.
+
+`btxbst.doc'
+ The template file and documentation for the standard styles.
+
+
+
+File: web2c.info, Node: WEB, Next: DVI utilities, Prev: BibTeX, Up: Top
+
+8 WEB: Literate programming
+***************************
+
+"WEB" 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 "literate
+programming". (The Usenet newsgroup `comp.programming.literate' and
+the mailing list <litprog@shsu.edu> are devoted to this subject; they
+are gatewayed to each other.)
+
+ WEB-like languages have been implemented with many pairs of base
+languages: Cweb provides C and Troff (*note References::); CWEB provides
+C and TeX (`CTAN:/web/c_cpp/cweb'); Spiderweb provides C, C++, Awk,
+Ada, many others, and TeX (`CTAN:/web/spiderweb'); 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.
+
+ The original WEB language is documented in the file `webman.tex',
+which is included in the `ftp://ftp.tug.org/tex/lib.tar.gz' archive
+(and available in many other places, of course).
+
+* Menu:
+
+* tangle invocation::
+* weave invocation::
+* pooltype invocation::
+
+
+File: web2c.info, Node: tangle invocation, Next: weave invocation, Up: WEB
+
+8.1 Tangle: Translate WEB to Pascal
+===================================
+
+Tangle creates a compilable Pascal program from a WEB source file
+(*note WEB::). Synopsis:
+
+ tangle [OPTION]... WEBFILE[.web] [CHANGEFILE[.ch]]
+
+The Pascal output is written to the basename of WEBFILE extended with
+`.p'; for example, `tangle /wherever/foo.web' creates `./foo.p'.
+Tangle applies CHANGEFILE to WEBFILE before writing the output; by
+default, there is no change file.
+
+ If the program makes use of the WEB string facility, Tangle writes
+the string pool to the basename of WEBFILE extended with `.pool'.
+
+ 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.
+
+ The program accepts the following options, as well as the standard
+`--help' and `--version' (*note Common options::):
+
+`-length=NUMBER'
+ The number of characters that are considered significant in an
+ identifier. Whether underline characters are counted depends on
+ the `-underline' option. The default value is 32, the original
+ tangle used 7, but this proved too restrictive for use by Web2c.
+
+`-lowercase'
+`-mixedcase'
+`-uppercase'
+ These options specify the case of identifiers in the output of
+ tangle. If `-uppercase' (`-lowercase') is specified, tangle will
+ convert all identfiers to uppercase (lowercase). The default is
+ `-mixedcase', which specifies that the case will not be changed.
+
+`-underline'
+ When this option is given, tangle does not strip underline
+ characters from identifiers.
+
+`-loose'
+`-strict'
+ These options specify how strict tangle must be when checking
+ identifiers for equality. The default is `-loose', which means
+ that tangle will follow the rules set by the case-smashing and
+ underline options above. If `-strict' is set, then identifiers
+ will always be stripped of underlines and converted to uppercase
+ before checking whether they collide.
+
+
+
+File: web2c.info, Node: weave invocation, Next: pooltype invocation, Prev: tangle invocation, Up: WEB
+
+8.2 Weave: Translate WEB to TeX
+===============================
+
+Weave creates a TeX document from a WEB source file (*note WEB::),
+assuming various macros defined in `webmac.tex'. 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:
+
+ weave [OPTION]... WEBFILE[.web] [CHANGEFILE[.ch]]
+
+The output is to the basename of WEBFILE extended with `.tex'; for
+example, `weave /wherever/foo.web' creates `./foo.tex'. Weave applies
+CHANGEFILE to WEBFILE before writing the output; by default, there is
+no change file.
+
+ The program accepts the following option, as well as the standard
+`-verbose', `-help' and `-version' (*note Common options::):
+`-x'
+ Omit the cross-reference information: the index, the list of WEB
+ module names, and the table of contents (an empty `CONTENTS.tex'
+ file will still be written when the Weave output file is processed
+ by TeX using the default `webmac.tex', though).
+
+ Conventionally, WEB programmers should define the TeX `\title' macro
+at the beginning of the source file. Also, to get output of only
+changed modules, one can say `\let\maybe=\iffalse' (usually as the
+first change in the change file).
+
+
+File: web2c.info, Node: pooltype invocation, Prev: weave invocation, Up: WEB
+
+8.3 Pooltype: Display WEB pool files
+====================================
+
+Pooltype shows the so-called "string number" of each string in a WEB
+pool file (*note WEB::), as output by Tangle (*note tangle
+invocation::), 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:
+
+ pooltype [OPTION]... POOLFILE[.pool]
+
+No path searching is done for POOLFILE. Output is to standard output.
+
+ The only options are `--help' and `--version' (*note Common
+options::).
+
+ As an example of the output, here is the (edited) output for
+`tex.pool':
+ 0: "^^@"
+ 1: "^^A"
+ ...
+ 255: "^^ff"
+ 256: "pool size"
+ ...
+ 1314: "Using character substitution: "
+ (23617 characters in all.)
+
+ In Metafont and MetaPost, the first 256 characters are actually
+represented as single bytes (i.e., themselves), not in the `^^'
+notation. Consider Pooltype as showing the results after conversion for
+output.
+
+
+File: web2c.info, Node: DVI utilities, Next: Font utilities, Prev: WEB, Up: Top
+
+9 DVI utilities
+***************
+
+TeX outputs a file in "DVI" (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 (*note Introduction: (dvips)Top.), PCL printers (see
+dvilj(1)), and X displays (see xdvi(1)). In fact, DVI translators are
+available for virtually all common devices: see `CTAN:/dviware' (for
+CTAN info, *note unixtex.ftp: (kpathsea)unixtex.ftp.).
+
+ For the precise definition of the DVI file format, see (for example)
+the source file `web2c/dvitype.web'.
+
+ The DVI-processing programs in the Web2c distribution are not device
+drivers; they perform generic utility functions.
+
+* Menu:
+
+* dvicopy invocation:: Expand virtual fonts.
+* dvitype invocation:: DVI to human-readable text.
+
+
+File: web2c.info, Node: dvicopy invocation, Next: dvitype invocation, Up: DVI utilities
+
+9.1 DVIcopy: Canonicalize virtual font references
+=================================================
+
+DVIcopy reads a DVI file, expands any references to virtual fonts
+(*note Virtual fonts: (dvips)Virtual fonts.) 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:
+
+ dvicopy [OPTION]... [INDVI[.dvi] [OUTDVI[.dvi]]]
+
+ DVIcopy reads standard input if INDVI is not specified, and writes
+standard output if OUTDVI is not specified.
+
+ The program accepts the following options, as well as the standard
+`-help' and `-version' (*note Common options::):
+`-magnification=INTEGER'
+ Override existing magnification in INDVI with INTEGER; 1000
+ specifies no magnification. This is equivalent to setting TeX's
+ `\mag' parameter.
+
+`-max-pages=N'
+ Process N pages; default is one million.
+
+`-page-start=PAGE-SPEC'
+ Start at the first page matching PAGE-SPEC, which is one or more
+ (signed) integers separated by periods, corresponding to TeX's
+ `\count0...9' parameters at `\shipout' time; `*' matches anything.
+ Examples: `3', `1.*.-4'.
+
+
+File: web2c.info, Node: dvitype invocation, Prev: dvicopy invocation, Up: DVI utilities
+
+9.2 DVItype: Plain text transliteration of DVI files
+====================================================
+
+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:
+
+ dvitype [OPTION]... DVIFILE[.dvi]
+
+DVItype does not read any bitmap files, but it does read TFM files for
+fonts referenced in DVIFILE. The usual places are searched (*note
+Supported file formats: (kpathsea)Supported file formats.). To see all
+the relevant paths, set the environment variable `KPATHSEA_DEBUG' to
+`-1' before running the program.
+
+ Output goes to standard output.
+
+ The program accepts the following options, as well as the standard
+`-help' and `-version' (*note Common options::):
+`-dpi=REAL'
+ Do pixel movement calculations at REAL pixels per inch; default
+ 300.0.
+
+`-magnification=INTEGER'
+ Override existing magnification in INDVI with INTEGER; 1000
+ specifies no magnification. This is equivalent to setting TeX's
+ `\mag' parameter.
+
+`-max-pages=N'
+ Process N pages; default is one million.
+
+`-output-level=N'
+ Verbosity level of output, from 0 to 4 (default 4):
+ * 0: Global document information only.
+
+ * 1: Most DVI commands included, and typeset characters
+ summarized.
+
+ * 2: Character and movement commands explicitly included.
+
+ * 3: DVI stack and current position calculations included.
+
+ * 4: Same information as level 3, but DVItype does random
+ positioning in the file, reading the DVI postamble first.
+
+`-page-start=PAGE-SPEC'
+ Start at the first page matching PAGE-SPEC, which is one or more
+ (signed) integers separated by periods, corresponding to TeX's
+ `\count0...9' parameters at `\shipout' time; `*' matches anything.
+ Examples: `1', `5.*.-9'.
+
+`-show-opcodes'
+ 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
+ `dvitype.web', among others) the opcodes are shown in decimal.
+
+* Menu:
+
+* dvitype output example::
+
+
+File: web2c.info, Node: dvitype output example, Up: dvitype invocation
+
+9.2.1 DVItype output example
+----------------------------
+
+As an example of the output from DVItype (see section above), here is
+its (abridged) translation of the `story.dvi' resulting from running
+the example in `The TeXbook', with `-output-level=4' and
+`-show-opcodes' on.
+
+ ...
+ 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}
+
+ Explanation:
+
+ * The DVItype options are recorded at the beginning, followed by
+ global information about the document, including fonts used.
+
+ * Each DVI command is preceded by its byte position in the file
+ (`42:', `87:', ...), and (because of the `-show-opcodes') followed
+ by its decimal opcode value in braces (`{141}', `{142}', ...).
+
+ * The `level' lines record information about the DVI stack; `h' and
+ `v' define the current position in DVI units, while `hh' and `vv'
+ are the same in pixels.
+
+ * Text sequences are summarized in brackets, as in `[A SHORT STORY]'
+ and the `[ 1]'.
+
+
+File: web2c.info, Node: Font utilities, Next: Legalisms, Prev: DVI utilities, Up: Top
+
+10 Font utilities
+*****************
+
+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.
+
+ The precise definitions of the PK, GF, TFM, PL, VF, and VPL formats
+mentioned below are in the source files that read them; `pktype.web',
+`gftype.web', `tftopl.web', etc.
+
+* Menu:
+
+* Font file formats:: Explanations of GF, PK, TFM, VF, ...
+* gftopk invocation:: GF -> PK (compact)
+* pktogf invocation:: PK -> GF (expand).
+* pktype invocation:: PK -> human-readable text.
+* gftype invocation:: GF -> human-readable text.
+* tftopl invocation:: TFM -> PL (for editing TFM).
+* pltotf invocation:: PL -> TFM (make editing results usable).
+* vftovp invocation:: VF -> VPL (tftopl for virtual fonts).
+* vptovf invocation:: VPL -> VF (pltotf for virtual fonts).
+* Font utilities available elsewhere:: Type 1, BDF, editors, etc.
+
+
+File: web2c.info, Node: Font file formats, Next: gftopk invocation, Up: Font utilities
+
+10.1 Font file formats
+======================
+
+(For another perspective on this, *note Font concepts: (dvips)Font
+concepts.).
+
+ Font files come in several varieties, with suffixes like:
+ .tfm .*pk .*gf .*pxl (obsolete) .pl .mf .vf .vpl
+ Each represents a file format.
+
+ 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.
+
+ 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.
+
+ 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 `.600pk' or `.600gf' or `.3000pxl', where the `600' is
+the horizontal dots-per-inch resolution at which the font was produced,
+and the `pk' or `gf' or `pxl' indicates the font format. Outline fonts
+in PostScript Type 1 format have suffixes such as `.pfa' or `.pfb'.
+
+ 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.
+
+ Font files with the `.pl' (property list) suffix are the plain text
+(human-readable) analog of the binary `.tfm' files. The TFtoPL and
+PLtoTF programs convert between the two formats (*note tftopl
+invocation:: and *Note pltotf invocation::).
+
+ Font files with the `.mf' 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.
+
+ The suffix `.vf' identifies "virtual font" files, for which `.vpl'
+is the human-readable analog. See *Note vftovp invocation::, and *Note
+vptovf invocation::. For further discussion of virtual fonts, see
+`CTAN:/doc/virtual-fonts.knuth', `CTAN:/help/virtualfonts.txt', and
+*Note Virtual fonts: (dvips)Virtual fonts.
+
+ (This section is based on documentation in the original Unix TeX
+distribution by Pierre MacKay and Elizabeth Tachikawa.)
+
+
+File: web2c.info, Node: gftopk invocation, Next: pktogf invocation, Prev: Font file formats, Up: Font utilities
+
+10.2 GFtoPK: Generic to packed font conversion
+==============================================
+
+GFtoPK converts a generic font (GF) file output by, for example,
+Metafont (*note mf invocation::) 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:
+
+ gftopk [OPTION]... GFNAME.DPI[gf] [PKFILE]
+
+The font GFNAME is searched for in the usual places (*note Glyph
+lookup: (kpathsea)Glyph lookup.). To see all the relevant paths, set
+the environment variable `KPATHSEA_DEBUG' to `-1' before running the
+program.
+
+ The suffix `gf' is supplied if not already present. This suffix is
+not an extension; no `.' precedes it: for instance, `cmr10.600gf'.
+
+ If PKFILE is not specified, the output is written to the basename of
+`GFNAME.DPIpk', e.g., `gftopk /wherever/cmr10.600gf' creates
+`./cmr10.600pk'.
+
+ The only options are `--verbose', `--help', and `--version' (*note
+Common options::).
+
+
+File: web2c.info, Node: pktogf invocation, Next: pktype invocation, Prev: gftopk invocation, Up: Font utilities
+
+10.3 PKtoGF: Packed to generic font conversion
+==============================================
+
+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 (*note gftype invocation::) on the
+result, so you can see the bitmap images. Also, a few old utility
+programs do not support PK format. Synopsis:
+
+ pktogf [OPTION]... PKNAME.DPI[pk] [GFFILE]
+
+The font PKNAME is searched for in the usual places (*note Glyph
+lookup: (kpathsea)Glyph lookup.). To see all the relevant paths, set
+the environment variable `KPATHSEA_DEBUG' to `-1' before running the
+program.
+
+ The suffix `pk' is supplied if not already present. This suffix is
+not an extension; no `.' precedes it: for instance, `cmr10.600pk'.
+
+ If GFFILE is not specified, the output is written to the basename of
+`PKNAME.DPIgf', e.g., `pktogf /wherever/cmr10.600pk' creates
+`./cmr10.600gf'.
+
+ The only options are `--verbose', `--help', and `--version' (*note
+Common options::).
+
+
+File: web2c.info, Node: pktype invocation, Next: gftype invocation, Prev: pktogf invocation, Up: Font utilities
+
+10.4 PKtype: Plain text transliteration of packed fonts
+=======================================================
+
+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:
+
+ pktype PKNAME.DPI[pk]
+
+ The font PKNAME is searched for in the usual places (*note Glyph
+lookup: (kpathsea)Glyph lookup.). To see all the relevant paths, set
+the environment variable `KPATHSEA_DEBUG' to `-1' before running the
+program.
+
+ The suffix `pk' is supplied if not already present. This suffix is
+not an extension; no `.' precedes it: for instance, `cmr10.600pk'.
+
+ The translation is written to standard output.
+
+ The only options are `-help' and `-version' (*note Common options::).
+
+ As an example of the output, here is the (abridged) translation of
+the letter `K' in `cmr10', as rendered at 600dpi with the mode `ljfour'
+from `modes.mf' (available from `ftp://ftp.tug.org/tex/modes.mf').
+
+ 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
+
+Explanation:
+
+`955'
+ The byte position in the file where this character starts.
+
+`Flag byte'
+`Dynamic packing variable'
+ Related to the packing for this character; see the source code.
+
+`Character'
+ The character code, in decimal.
+
+`Packet length'
+ The total length of this character definition, in bytes.
+
+`TFM width'
+ 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.
+
+`dx'
+ The device-dependent width, in "scaled pixels", i.e., units of
+ horizontal pixels times 2^16.
+
+`Height'
+`Width'
+ The bitmap height and width, in pixels.
+
+`X-offset'
+`Y-offset'
+ 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 "reference pixel" 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.
+
+`[2]23(16)...'
+ Finally, run lengths of black pixels alternate with parenthesized
+ run lengths of white pixels, and brackets indicate a repeated row.
+
+
+File: web2c.info, Node: gftype invocation, Next: tftopl invocation, Prev: pktype invocation, Up: Font utilities
+
+10.5 GFtype: Plain text transliteration of generic fonts
+========================================================
+
+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:
+
+ gftype [OPTION]... GFNAME.DPI[gf]
+
+ The font GFNAME is searched for in the usual places (*note Glyph
+lookup: (kpathsea)Glyph lookup.). To see all the relevant paths, set
+the environment variable `KPATHSEA_DEBUG' to `-1' before running the
+program.
+
+ The suffix `gf' is supplied if not already present. This suffix is
+not an extension; no `.' precedes it: for instance, `cmr10.600gf'.
+
+ The translation is written to standard output.
+
+ The program accepts the following options, as well as the standard
+`-help' and `-version' (*note Common options::):
+`-images'
+ Show the characters' bitmaps using asterisks and spaces.
+
+`-mnemonics'
+ Translate all commands in the GF file.
+
+ As an example of the output, here is the (abrdiged) translation of
+the letter `K' in `cmr10', as rendered at 600dpi with the mode `ljfour'
+from `modes.mf' (available from `ftp://ftp.tug.org/tex/modes.mf'), with
+both `-mnemonics' and `-images' enabled.
+
+ 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:
+
+ 2033: beginning of char 75: 3<=m<=60 0<=n<=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
+ .<--This pixel's lower left corner is at (3,57) in METAFONT coordinates
+ ************************ ********************
+ ************************ ********************
+ ************************ ********************
+ ************************ ********************
+ ********** *************
+ ******** *********
+ ...
+ ******** ***********
+ ********** ************
+ ************************ **********************
+ ************************ **********************
+ ************************ **********************
+ ************************ **********************
+ .<--This pixel's upper left corner is at (3,0) in METAFONT coordinates
+
+Explanation:
+
+`2033'
+`2043'
+`...'
+ The byte position in the file where each GF command starts.
+
+`beginning of char 75'
+ The character code, in decimal.
+
+`3<=m<=60 0<=n<=56'
+ 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.
+
+`(initially n=56) paint (0)24(12)20'
+ The first row of pixels: 0 white pixels, 24 black pixels, 12 white
+ pixels, etc.
+
+`newrow 0 (n=55) paint 24(12)20'
+ The second row of pixels, with zero leading white pixels on the
+ row.
+
+`eoc'
+ The end of the main character definition.
+
+
+ Here is the GF postamble information that GFtype outputs at the end:
+
+ Character 75: dx 4259840 (65), width 815562 (64.57289), loc 2033
+
+ Explanation:
+
+`dx'
+ The device-dependent width, in "scaled pixels", i.e., units of
+ horizontal pixels times 2^16. The `(65)' is simply the same number
+ rounded. If the vertical escapement is nonzero, it would appear
+ here as a `dy' value.
+
+`width'
+ 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
+ `64.57289' is the same number converted to pixels.
+
+`loc'
+ The byte position in the file where this character starts.
+
+
+
+File: web2c.info, Node: tftopl invocation, Next: pltotf invocation, Prev: gftype invocation, Up: Font utilities
+
+10.6 TFtoPL: TeX font metric to property list conversion
+========================================================
+
+TFtoPL translates a TeX font metric (TFM, *note Metric files:
+(dvips)Metric files.) file (as output by Metafont, for example) to
+"property list format" (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:
+
+ tftopl [OPTION]... TFMNAME[.tfm] [PLFILE[.pl]]
+
+ The font TFMNAME (extended with `.tfm' if necessary) is searched for
+in the usual places (*note Supported file formats: (kpathsea)Supported
+file formats.). To see all the relevant paths, set the environment
+variable `KPATHSEA_DEBUG' to `-1' before running the program.
+
+ If PLFILE (which is extended with `.pl' 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).
+
+ The program accepts the following option, as well as the standard
+`-verbose', `-help' and `-version' (*note Common options::):
+`-charcode-format=TYPE'
+ Output character codes in the PL file according to TYPE: either
+ `octal' or `ascii'. Default is `ascii' for letters and digits,
+ octal for all other characters. Exception: if the font's coding
+ scheme starts with `TeX math sy' or `TeX math ex', all character
+ codes are output in octal.
+
+ In `ascii' format, character codes that correspond to graphic
+ characters, except for left and right parentheses, are output as a
+ `C' followed by the single character: `C K', for example. In
+ octal format, character codes are output as the letter `O' followed
+ by octal digits, as in `O 113' for `K'.
+
+ `octal' format is useful for symbol and other non-alphabetic fonts,
+ where using ASCII characters for the character codes is merely
+ confusing.
+
+ As an example of the output, here is the (abridged) property list
+translation of `cmr10.tfm':
+
+ (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)
+ ...
+ )
+ )
+ ...
+
+ As you can see, the general format is a list of parenthesized
+"properties", nested where necessary.
+
+ * The first few items (`FAMILY', `FACE', and so on) are the
+ so-called "headerbyte" information from Metafont, giving general
+ information about the font.
+
+ * The `FONTDIMEN' property defines the TeX `\fontdimen' values.
+
+ * The `LIGTABLE' property defines the ligature and kerning table.
+ `LIG' properties define ligatures: in the example above, an `f'
+ (in the `LABEL') followed by an `i' 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--presumably the `fi' ligature. `KRN' properties define
+ kerns: if an `f' 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).
+
+ * The `CHARACTER' 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.
+
+
+
+File: web2c.info, Node: pltotf invocation, Next: vftovp invocation, Prev: tftopl invocation, Up: Font utilities
+
+10.7 PLtoTF: Property list to TeX font metric conversion
+========================================================
+
+PLtoTF translates a property list file (as output by TFtoPL, for
+example) to TeX font metric (TFM, *note Metric files: (dvips)Metric
+files.) 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:
+
+ pltotf [OPTION]... PLFILE[.pl] [TFMFILE[.tfm]]
+
+ If TFMFILE (extended with `.tfm' if necessary) is not specified, the
+TFM file is written to the basename of `PLFILE.tfm', e.g., `pltotf
+/wherever/cmr10.pl' creates `./cmr10.tfm'. (Since TFM files are
+binary, writing to standard output by default is undesirable.)
+
+ The only options are `-verbose', `-help', and `-version' (*note
+Common options::).
+
+ For an example of property list format, see the previous section.
+
+
+File: web2c.info, Node: vftovp invocation, Next: vptovf invocation, Prev: pltotf invocation, Up: Font utilities
+
+10.8 VFtoVP: Virtual font to virtual property lists
+===================================================
+
+VFtoVP translates a virtual font metric (VF, *note Virtual fonts:
+(dvips)Virtual fonts.) file and its accompanying TeX font metric (TFM,
+*note Metric files: (dvips)Metric files.) file (as output by VPtoVF, for
+example) to "virtual property list format" (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:
+
+ vftovp [OPTION]... VFNAME[.vf] [TFMNAME[.tfm] [VPLFILE[.vpl]]]
+
+ The fonts VFNAME and TFMNAME (extended with `.vf' and `.tfm' if
+necessary) are searched for in the usual places (*note Supported file
+formats: (kpathsea)Supported file formats.). To see all the relevant
+paths, set the environment variable `KPATHSEA_DEBUG' to `-1' before
+running the program. If TFMNAME is not specified, VFNAME (without a
+trailing `.vf') is used.
+
+ If VPLFILE (extended with `.vpl' 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).
+
+ The program accepts the following option, as well as the standard
+`-verbose', `-help' and `-version' (*note Common options::):
+`-charcode-format=TYPE'
+ Output character codes in the PL file according to TYPE: either
+ `octal' or `ascii'. Default is `ascii' for letters and digits,
+ octal for all other characters. Exception: if the font's coding
+ scheme starts with `TeX math sy' or `TeX math ex', all character
+ codes are output in octal.
+
+ In `ascii' format, character codes that correspond to graphic
+ characters, except for left and right parentheses, are output as a
+ `C' followed by the single character: `C K', for example. In
+ octal format, character codes are output as the letter `O' followed
+ by octal digits, as in `O 113' for `K'.
+
+ `octal' format is useful for symbol and other non-alphabetic fonts,
+ where using ASCII characters for the character codes is merely
+ confusing.
+
+
+File: web2c.info, Node: vptovf invocation, Next: Font utilities available elsewhere, Prev: vftovp invocation, Up: Font utilities
+
+10.9 VPtoVF: Virtual property lists to virtual font
+===================================================
+
+VPtoVF translates a virtual property list file (as output by VFtoVP, for
+example) to virtual font (VF, *note Virtual fonts: (dvips)Virtual
+fonts.) and TeX font metric (TFM, *note Metric files: (dvips)Metric
+files.) 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:
+
+ vptovf [OPTION]... VPLFILE[.vpl] [VFFILE[.vf] [TFMFILE[.tfm]]]
+
+ If VFFILE (extended with `.vf' if necessary) is not specified, the
+VF output is written to the basename of `VPLFILE.vf'; similarly for
+TFMFILE. For example, `vptovf /wherever/ptmr.vpl' creates `./ptmr.vf'
+and `./ptmr.tfm'.
+
+ The only options are `-verbose', `-help', and `-version' (*note
+Common options::).
+
+
+File: web2c.info, Node: Font utilities available elsewhere, Prev: vptovf invocation, Up: Font utilities
+
+10.10 Font utilities available elsewhere
+========================================
+
+The Web2c complement of font utilities merely implements a few basic
+conversions. Many other more sophisticated font utilities exist; most
+are in `CTAN:/fonts/utilities' (for CTAN info, *note unixtex.ftp:
+(kpathsea)unixtex.ftp.). Here are some of the most commonly-requested
+items:
+
+ * AFM (Adobe font metric) to TFM conversion: *note Invoking afm2tfm:
+ (dvips)Invoking afm2tfm, and `CTAN:/fonts/utilities/afmtopl'.
+
+ * BDF (the X bitmap format) conversion:
+ `ftp://ftp.tug.org/tex/bdf.tar.gz'.
+
+ * Creating fonts using MetaPost: MetaType1.
+ `ftp://bop.eps.gda.pl/pub/metatype1'. This is used to create the
+ excellent Latin Modern font family (`CTAN:/fonts/lm'), which
+ extends Computer Modern to a vast repertoire of scripts.
+
+ * Editing of bitmap fonts: Xbfe from the GNU font utilities mentioned
+ below; the X BDF-editing programs available from
+ `ftp://ftp.x.org/R5contrib/xfed.tar.Z' and
+ `ftp://ftp.x.org/R5contrib/xfedor.tar.Z'; and finally, if your
+ fonts have only 128 characters, you can use the old `gftopxl',
+ `pxtoch', and `chtopx' programs from `ftp://ftp.tug.org/tex/web'.
+
+ * Editing of outline fonts: FontForge, `fontforge.sourceforge.net'.
+ This is a very elaborate program with support for many outline
+ formats (Type 1, OpenType, TrueType, ...), and many advanced font
+ editing features.
+
+ * PK bitmaps from PostScript outline fonts: gsftopk from the `xdvi'
+ distribution. Alternatively, `ps2pk', from
+ `CTAN:/fonts/utilities/ps2pk'.
+
+ * PostScript Type 1 font format conversion (i.e., between PFA and PFB
+ formats): `ftp://ftp.tug.org/tex/t1utils.tar.gz'.
+
+ * Scanned image conversion: the (aging) GNU font utilities convert
+ type specimen images to Metafont, PostScript, etc.:
+ `http://www.gnu.org/software/fontutils/'.
+
+ * Tracing bitmaps to fitted outlines: Autotrace
+ (`http://autotrace.sourceforge.net'), Potrace
+ (`http://potrace.sourceforge.net'). For Metafont fonts, either of
+ the two programs `mftrace'
+ (`http://www.xs4all.nl/~hanwen/mftrace') or `textrace'
+ (`http://textrace.sourceforge.net') make the job easier.
+
+ * Virtual font creation: `CTAN:/fonts/utilities/fontinst'.
+
+
+File: web2c.info, Node: Legalisms, Next: References, Prev: Font utilities, Up: Top
+
+Appendix A Legalisms
+********************
+
+In general, each file has its own copyright notice stating the copying
+permissions for that file. Following is a summary.
+
+ The Web2c system itself and most of the original WEB source files are
+public domain.
+
+ `tex.web', the MLTeX code, `mf.web', and `bibtex.web', are
+copyrighted by their authors. They may be copied verbatim, but may be
+modified only through a `.ch' file.
+
+ MetaPost-related files, including `mp.web' itself, are copyrighted
+under X-like terms; the precise notice is included below.
+
+ Finally, the Kpathsea library is covered by the GNU Lesser General
+Public License (*note Introduction: (kpathsea)Introduction.).
+Therefore, the _binaries_ 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 `LGPL' for complete details on the LGPL.
+
+ The following notice must be included by the terms of the MetaPost
+copyright.
+
+ 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&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.
+
+ AT&T disclaims all warranties with regard to this software,
+ including all implied warranties of merchantability and fitness.
+ In no event shall AT&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.
+
+
+File: web2c.info, Node: References, Next: Index, Prev: Legalisms, Up: Top
+
+Appendix B References
+*********************
+
+ 1. Kpathsea: *Note Introduction: (kpathsea)Top.
+
+ 2. Dvips and Afm2tfm: *Note Introduction: (dvips)Top.
+
+ 3. The TeX Users Group: `http://www.tug.org'. For an introduction to
+ the TeX system, see `http://tug.org/begin.html'.
+
+ 4. TUGboat: `http://tug.org/TUGboat'.
+
+ 5. TeX and computer typesetting in general:
+ `ftp://ftp.math.utah.edu/pub/tex/bib/texbook1.bib'.
+
+ 6. For a bibliography of formal articles and technical reports on the
+ TeX project, see the books `TeX: The Program' or `Metafont: The
+ Program' cited below.
+
+ 7. [Bil87] Neenie Billawala. Write-white printing engines and tuning
+ fonts with Metafont. `TUGboat', 8(1):29-32, April 1987.
+
+ 8. [GMS94] Michel Goossens, Frank Mittelbach, and Alexander Samarin.
+ `The LaTeX Companion'. Addison-Wesley, Reading, MA, USA, 1994.
+
+ 9. [Hob89] John D. Hobby. A Metafont-like system with PS output.
+ `TUGboat', 10(4):505-512, December 1989.
+
+ 10. [Hob92] John D. Hobby. A User's Manual for MetaPost. Technical
+ Report CSTR-162, AT&T Bell Laboratories, 1992.
+
+ 11. [Hob93] John D. Hobby. Drawing Graphs with MetaPost. Technical
+ Report CSTR-164, AT&T Bell Laboratories, 1993.
+
+ 12. [HS91] Samuel P. Harbison and Guy L. Steele Jr. `C--A Reference
+ Manual'. 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.
+
+ 13. [KL93] Donald E. Knuth and Silvio Levy. `The CWEB System of
+ Structured Documentation, Version 3.0'. Addison-Wesley, Reading,
+ MA, USA, 1993.
+
+ 14. [Knu84] Donald E. Knuth. A torture test for TeX. Report No.
+ STAN-CS-84-1027, Stanford University, Department of Computer
+ Science, 1984.
+
+ 15. [Knu86a] Donald E. Knuth. A Torture Test for METAFONT. Report
+ No. STAN-CS-86-1095, Stanford University, Department of Computer
+ Science, 1986.
+
+ 16. [Knu86b] Donald E. Knuth. `The TeXbook', volume A of `Computers
+ and Typesetting'. Addison-Wesley, Reading, MA, USA, 1986.
+
+ 17. [Knu86c] Donald E. Knuth. `TeX: The Program', volume B of
+ `Computers and Typesetting'. Addison-Wesley, Reading, MA, USA,
+ 1986.
+
+ 18. [Knu86d] Donald E. Knuth. `The METAFONTbook', volume C of
+ `Computers and Typesetting'. Addison-Wesley, Reading, MA, USA,
+ 1986.
+
+ 19. [Knu86e] Donald E. Knuth. `METAFONT: The Program', volume D of
+ `Computers and Typesetting'. Addison-Wesley, Reading, MA, USA,
+ 1986.
+
+ 20. [Knu86f] Donald E. Knuth. `Computer Modern Typefaces', volume E
+ of `Computers and Typesetting'. Addison-Wesley, Reading, MA,
+ USA, 1986.
+
+ 21. [Knu89] Donald E. Knuth. The errors of TeX. `Software--Practice
+ and Experience', 19(7):607-681, July 1989. This is an updated
+ version of iteKnuth:1988:ET.
+
+ 22. [Knu90] Donald Knuth. Virtual Fonts: More Fun for Grand Wizards.
+ `TUGboat', 11(1):13-23, April 1990.
+
+ 23. [Knu92] Donald E. Knuth. `Literate Programming'. CSLI Lecture
+ Notes Number 27. Stanford University Center for the Study of
+ Language and Information, Stanford, CA, USA, 1992.
+
+ 24. [Lam94] Leslie Lamport. `LaTeX: A Document Preparation System:
+ User's Guide and Reference Manual'. Addison-Wesley, Reading,
+ MA, USA, second edition, 1994. Reprinted with corrections in 1996.
+
+ 25. [Lia83] Franklin Mark Liang. Word hy-phen-a-tion by com-pu-ter.
+ Technical Report STAN-CS-83-977, Stanford University, August 1983.
+
+ 26. [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, `Raster Imaging and
+ Digital Typography II--Papers from the second RIDT meeting, held in
+ Boston, Oct. 14-16, 1991', pages 205-215, New York, 1991.
+ Cambridge University Press.
+
+ 27. [Spi89] Michael D. Spivak. `LAMSTeX, The Synthesis'. The
+ TeXplorators Corporation, 3701 W. Alabama, Suite 450-273, Houston,
+ TX 77027, USA, 1989.
+
+ 28. [Spi90] Michael D. Spivak. `The Joy of TeX--A Gourmet Guide to
+ Typesetting with the AMSTeX macro package'. American
+ Mathematical Society, Providence, RI, USA, 2nd revised edition,
+ 1990.
+
+
+
+File: web2c.info, Node: Index, Prev: References, Up: Top
+
+Index
+*****
+
+
+* Menu:
+
+* #define options: Compile-time options.
+ (line 6)
+* $ expansion in filenames: \input filenames. (line 48)
+* %& magic number: Determining the memory dump to use.
+ (line 20)
+* - starting a filename: Option conventions. (line 19)
+* - starts option names: Option conventions. (line 11)
+* -- starts option names: Option conventions. (line 11)
+* --disable-dump-share configure option: Hardware and memory dumps.
+ (line 6)
+* --enable-ipc configure option: tex invocation. (line 101)
+* --help common option: Common options. (line 11)
+* --quiet (newer): newer invocation. (line 20)
+* --verbose (newer): newer invocation. (line 23)
+* --verbose common option: Common options. (line 15)
+* --version common option: Common options. (line 18)
+* --with-editor=CMD: Editor invocation. (line 10)
+* --with-epsfwin: Online Metafont graphics.
+ (line 20)
+* --with-hp2627win: Online Metafont graphics.
+ (line 28)
+* --with-mftalkwin: Online Metafont graphics.
+ (line 31)
+* --with-next: Online Metafont graphics.
+ (line 35)
+* --with-regiswin: Online Metafont graphics.
+ (line 40)
+* --with-suntoolswin: Online Metafont graphics.
+ (line 43)
+* --with-tektronixwin: Online Metafont graphics.
+ (line 48)
+* --with-unitermwin: Online Metafont graphics.
+ (line 51)
+* --with-x: Online Metafont graphics.
+ (line 57)
+* --with-x-toolkit=KIT: Online Metafont graphics.
+ (line 60)
+* --with-x11: Online Metafont graphics.
+ (line 57)
+* --with-x11win: Online Metafont graphics.
+ (line 57)
+* -8bit: Common options. (line 103)
+* -base=BASE: Determining the memory dump to use.
+ (line 15)
+* -base=DUMPNAME: Common options. (line 34)
+* -change=CHFILE: mft invocation. (line 64)
+* -charcode-format=TYPE <1>: vftovp invocation. (line 31)
+* -charcode-format=TYPE: tftopl invocation. (line 28)
+* -D compiler options: Compile-time options.
+ (line 6)
+* -dpi=REAL: dvitype invocation. (line 24)
+* -enc: tex invocation. (line 95)
+* -file-line-error: Common options. (line 25)
+* -file-line-error-style: Common options. (line 26)
+* -fmt=DUMPNAME: Common options. (line 34)
+* -fmt=FMT: Determining the memory dump to use.
+ (line 15)
+* -geometry, supported with Xt: Online Metafont graphics.
+ (line 66)
+* -halt-on-error: Common options. (line 41)
+* -images: gftype invocation. (line 26)
+* -ini <1>: Initial and virgin. (line 12)
+* -ini: Common options. (line 45)
+* -interaction=STRING: Common options. (line 51)
+* -ipc: tex invocation. (line 101)
+* -ipc-start: tex invocation. (line 101)
+* -jobname=STRING: Common options. (line 56)
+* -kpathsea-debug=NUMBER: Common options. (line 60)
+* -length=NUMBER: tangle invocation. (line 27)
+* -loose: tangle invocation. (line 46)
+* -lowercase: tangle invocation. (line 35)
+* -magnification=INTEGER <1>: dvitype invocation. (line 28)
+* -magnification=INTEGER: dvicopy invocation. (line 20)
+* -max-pages=N <1>: dvitype invocation. (line 33)
+* -max-pages=N: dvicopy invocation. (line 25)
+* -mem=DUMPNAME: Common options. (line 34)
+* -mem=MEM: Determining the memory dump to use.
+ (line 15)
+* -min-crossrefs=N: bibtex invocation. (line 31)
+* -mixedcase: tangle invocation. (line 35)
+* -mktex=FILETYPE <1>: mf invocation. (line 87)
+* -mktex=FILETYPE: tex invocation. (line 111)
+* -mltex: tex invocation. (line 115)
+* -mnemonics: gftype invocation. (line 29)
+* -no-file-line-error: Common options. (line 26)
+* -no-mktex=FILETYPE <1>: mf invocation. (line 87)
+* -no-mktex=FILETYPE: tex invocation. (line 111)
+* -no-parse-first-line: Common options. (line 78)
+* -no-shell-escape: tex invocation. (line 128)
+* -oem: Common options. (line 108)
+* -output-comment=STRING: tex invocation. (line 120)
+* -output-directory <1>: Output file location.
+ (line 15)
+* -output-directory: Common options. (line 67)
+* -output-level=N: dvitype invocation. (line 36)
+* -overflow-label-offset=POINTS: gftodvi invocation. (line 49)
+* -page-start=PAGE-SPEC <1>: dvitype invocation. (line 50)
+* -page-start=PAGE-SPEC: dvicopy invocation. (line 28)
+* -parse-first-line: Common options. (line 77)
+* -progname=STRING <1>: Determining the memory dump to use.
+ (line 18)
+* -progname=STRING: Common options. (line 83)
+* -recorder: Common options. (line 90)
+* -shell-escape: tex invocation. (line 127)
+* -show-opcodes: dvitype invocation. (line 56)
+* -strict: tangle invocation. (line 46)
+* -style=MFTFILE: mft invocation. (line 68)
+* -T: mpost invocation. (line 117)
+* -terse: bibtex invocation. (line 28)
+* -tex: mpto invocation. (line 24)
+* -tex=TEXPROGRAM: mpost invocation. (line 121)
+* -translate-file=TCXFILE: Common options. (line 96)
+* -troff <1>: mpto invocation. (line 21)
+* -troff <2>: makempx invocation. (line 39)
+* -troff: mpost invocation. (line 117)
+* -underline: tangle invocation. (line 41)
+* -uppercase: tangle invocation. (line 35)
+* -x: weave invocation. (line 22)
+* ., used for output: Output file location.
+ (line 6)
+* .2602gf: mf invocation. (line 48)
+* .aux cross-reference files: bibtex invocation. (line 6)
+* .base: Initial Metafont. (line 6)
+* .bbl bibliography files: bibtex invocation. (line 6)
+* .bib bibliography databases: bibtex invocation. (line 6)
+* .blg BibTeX log file: bibtex invocation. (line 14)
+* .fmt: Initial TeX. (line 6)
+* .mem: Initial MetaPost. (line 6)
+* .mf: mf invocation. (line 24)
+* .mp: mpost invocation. (line 31)
+* .NNN PostScript figures: mpost invocation. (line 37)
+* .NNNgf generic fonts: mf invocation. (line 34)
+* .tcx character translation files <1>: TCX files. (line 6)
+* .tcx character translation files: Common options. (line 96)
+* .tex: tex invocation. (line 20)
+* .tfm output <1>: mpost invocation. (line 37)
+* .tfm output: mf invocation. (line 43)
+* .Xdefaults: Online Metafont graphics.
+ (line 66)
+* .Xresources: Online Metafont graphics.
+ (line 66)
+* 2602gf: mf invocation. (line 48)
+* 8 bit clean: Common options. (line 103)
+* 8 bit clean output, specifying: Common options. (line 103)
+* 8-bit characters: TCX files. (line 6)
+* \bibliography: bibtex invocation. (line 18)
+* \bibliographystyle: bibtex invocation. (line 18)
+* \charsubdef and MLTeX: \charsubdef. (line 6)
+* \countN <1>: dvitype invocation. (line 50)
+* \countN: dvicopy invocation. (line 28)
+* \font and dynamic generation: tex invocation. (line 44)
+* \fontdimen: tftopl invocation. (line 100)
+* \immediate\write18: tex invocation. (line 128)
+* \input filenames: \input filenames. (line 6)
+* \mag <1>: dvitype invocation. (line 28)
+* \mag: dvicopy invocation. (line 20)
+* \openout and security: tex invocation. (line 51)
+* \string: \input filenames. (line 60)
+* \tracingcharsubdef and MLTeX: \tracingcharsubdef. (line 6)
+* \tracinglostchars and MLTeX: \tracingcharsubdef. (line 11)
+* \write18 shell escape extension: tex invocation. (line 128)
+* ^^ notation, avoiding: TCX files. (line 88)
+* `Computer Modern Typefaces', production of: mft invocation. (line 75)
+* abbrv.bst: Basic BibTeX style files.
+ (line 16)
+* accented character: TCX files. (line 6)
+* accents, hyphenating words with: MLTeX. (line 6)
+* acknowledgements: Introduction. (line 51)
+* acm.bst: Basic BibTeX style files.
+ (line 19)
+* Ada, WEB for: WEB. (line 14)
+* additional Make targets: Additional targets. (line 6)
+* AFM to TFM conversion: Font utilities available elsewhere.
+ (line 12)
+* afm2tfm: Font utilities available elsewhere.
+ (line 12)
+* afmtopl: Font utilities available elsewhere.
+ (line 12)
+* aliases for fonts: Path searching. (line 15)
+* alpha.bst: Basic BibTeX style files.
+ (line 22)
+* American Mathematical Society, typesetting system: Formats. (line 39)
+* AMSTeX: Formats. (line 39)
+* apalike.bst: Basic BibTeX style files.
+ (line 25)
+* Arabic typesetting: TeX extensions. (line 25)
+* architecture dependencies: Hardware and memory dumps.
+ (line 6)
+* array limit, fixed: Runtime options. (line 36)
+* array sizes: Runtime options. (line 6)
+* assembly language routines: Compile-time options.
+ (line 22)
+* autotrace: Font utilities available elsewhere.
+ (line 46)
+* Awk, WEB for: WEB. (line 14)
+* base file, determining: Determining the memory dump to use.
+ (line 6)
+* base files: Initial Metafont. (line 6)
+* base files, need mode definitions: Modes. (line 6)
+* base files, plain only: Initial Metafont. (line 28)
+* base files, sharing: Hardware and memory dumps.
+ (line 6)
+* bases Make target: Additional targets. (line 29)
+* basic BibTeX style files: Basic BibTeX style files.
+ (line 6)
+* basic fonts and macros: Installation. (line 34)
+* batch languages: TeX. (line 9)
+* BDF and GF conversion: Font utilities available elsewhere.
+ (line 15)
+* beginfig: mpost invocation. (line 37)
+* BeginPath ditroff command: dmp invocation. (line 15)
+* Berry, Karl: Introduction. (line 41)
+* BIBINPUTS, search path for bib files: bibtex invocation. (line 18)
+* bibliographies, creating: BibTeX. (line 6)
+* bibliography: References. (line 6)
+* bibliography items, cross-referenced: bibtex invocation. (line 31)
+* bibtex: bibtex invocation. (line 6)
+* BibTeX: BibTeX. (line 6)
+* BibTeX collection: bibtex invocation. (line 54)
+* BibTeX style files: Basic BibTeX style files.
+ (line 6)
+* BigEndian machines: Hardware and memory dumps.
+ (line 6)
+* binaries, linking: Common options. (line 83)
+* blank lines, in TCX files: TCX files. (line 67)
+* Bourne shell commands in TeX: tex invocation. (line 128)
+* boxes, memory for: Runtime options. (line 20)
+* breakpoints, memory for: Runtime options. (line 20)
+* Breitenlohner, Peter: Introduction. (line 9)
+* BSTINPUTS, search path for bst files: bibtex invocation. (line 18)
+* btex and label extraction: mpto invocation. (line 6)
+* btex for MetaPost labels: mpost invocation. (line 50)
+* btxdoc.bib: bibtex invocation. (line 48)
+* btxdoc.tex: bibtex invocation. (line 42)
+* btxhak.tex: bibtex invocation. (line 45)
+* byte position <1>: gftype invocation. (line 76)
+* byte position: pktype invocation. (line 40)
+* byte swapping: Hardware and memory dumps.
+ (line 13)
+* c-sources Makefile target: Additional targets. (line 12)
+* captions, extracting from MetaPost input: mpto invocation. (line 6)
+* captions, for MetaPost: makempx invocation. (line 6)
+* change files, and MFT: mft invocation. (line 64)
+* change files, and Tangle: tangle invocation. (line 11)
+* change files, and Weave: weave invocation. (line 14)
+* changing error messages style: Common options. (line 26)
+* character codes, in GFtype output: gftype invocation. (line 79)
+* character codes, in PKtype output: pktype invocation. (line 47)
+* character codes, in TCX files: TCX files. (line 78)
+* character proofs of fonts: gftodvi invocation. (line 6)
+* CHARACTER property: tftopl invocation. (line 114)
+* character translation files: TCX files. (line 6)
+* CHARDP property: tftopl invocation. (line 114)
+* CHARHT property: tftopl invocation. (line 114)
+* CHARIC property: tftopl invocation. (line 114)
+* CHARWD property: tftopl invocation. (line 114)
+* chtopx: Font utilities available elsewhere.
+ (line 23)
+* class name for Metafont: Online Metafont graphics.
+ (line 66)
+* cm.base: Initial Metafont. (line 28)
+* cmbase.mf: Initial Metafont. (line 28)
+* cmbase.mft: mft invocation. (line 75)
+* cmmf.base not recommended: Initial Metafont. (line 28)
+* comments, in TCX files: TCX files. (line 71)
+* comments, MFT control: mft invocation. (line 24)
+* common options: Common options. (line 6)
+* commonalities: Commonalities. (line 6)
+* comparing file modification times: newer invocation. (line 6)
+* compilation: Installation. (line 6)
+* compile-time options <1>: Compile-time options.
+ (line 6)
+* compile-time options: configure options. (line 6)
+* Computer Modern fonts, and Troff: mpost invocation. (line 73)
+* Computer Modern macros: Initial Metafont. (line 28)
+* configuration: Installation. (line 6)
+* configuration file reading: Path searching. (line 6)
+* configuration file values: Runtime options. (line 6)
+* configuration, compile-time: configure options. (line 6)
+* configure --with/--enable options: configure options. (line 6)
+* CONTENTS.tex: weave invocation. (line 22)
+* control sequence names, space for: Runtime options. (line 29)
+* conventions for options,: Option conventions. (line 6)
+* conversion, DVI to plain text: dvitype invocation. (line 6)
+* conversion, GF to PK: gftopk invocation. (line 6)
+* conversion, GF to plain text: gftype invocation. (line 6)
+* conversion, PK to GF: pktogf invocation. (line 6)
+* conversion, PK to plain text: pktype invocation. (line 6)
+* conversion, property list to TFM: pltotf invocation. (line 6)
+* conversion, property list to VF: vptovf invocation. (line 6)
+* conversion, TFM to property list: tftopl invocation. (line 6)
+* conversion, VF to VPL: vftovp invocation. (line 6)
+* copyright notices: Legalisms. (line 6)
+* Cork encoding and ISO input: TCX files. (line 49)
+* creating memory dumps: Creating memory dumps.
+ (line 6)
+* cross-referenced bibliography items: bibtex invocation. (line 31)
+* cross-references, omitting: weave invocation. (line 22)
+* current directory, used for output: Output file location.
+ (line 6)
+* Curtis, Pavel: Introduction. (line 41)
+* CWEB: WEB. (line 14)
+* Cweb: WEB. (line 14)
+* D C ditroff graphics: dmp invocation. (line 15)
+* date and time, in memory dumps: Hardware and memory dumps.
+ (line 30)
+* debugging DVI utilities: dvitype invocation. (line 56)
+* debugging flags, specifying: Common options. (line 60)
+* decimal character codes, in TCX files: TCX files. (line 78)
+* dependencies, hardware: Hardware and memory dumps.
+ (line 6)
+* design-size units: tftopl invocation. (line 102)
+* device definitions, for Metafont: Modes. (line 6)
+* device-independent width <1>: gftype invocation. (line 113)
+* device-independent width: pktype invocation. (line 53)
+* directory structure: Installation. (line 34)
+* DISPLAY: Online Metafont graphics.
+ (line 73)
+* ditroff output, converting to MPX: dmp invocation. (line 6)
+* DMP <1>: dmp invocation. (line 6)
+* DMP: makempx invocation. (line 71)
+* DMP, invoked by MakeMPX: makempx invocation. (line 29)
+* dmp.c: dmp invocation. (line 82)
+* dot files, written by TeX programs: tex invocation. (line 51)
+* downloading of fonts for MetaPost labels: mpost invocation. (line 78)
+* dpost: dmp invocation. (line 15)
+* DrawingServant: Online Metafont graphics.
+ (line 35)
+* DrawPath ditroff command: dmp invocation. (line 15)
+* dump file: Common options. (line 34)
+* dumping memory: Memory dumps. (line 6)
+* DVI comment, specifying: tex invocation. (line 120)
+* DVI files, converting to MPX: dvitomp invocation. (line 6)
+* DVI files, creating multiple: TeX extensions. (line 31)
+* DVI files, explained: Font file formats. (line 30)
+* DVI format definition: DVI utilities. (line 14)
+* DVI opcodes, showing: dvitype invocation. (line 56)
+* DVI utilities: DVI utilities. (line 6)
+* dvicopy: dvicopy invocation. (line 6)
+* dvitomp: dvitomp invocation. (line 6)
+* DVITOMP: makempx invocation. (line 67)
+* DVItoMP, invoked by MakeMPX: makempx invocation. (line 29)
+* dvitype DVI validation: dvitype invocation. (line 6)
+* dvitype output example: dvitype output example.
+ (line 6)
+* dvitype.web: DVI utilities. (line 14)
+* dx horizontal escapement <1>: gftype invocation. (line 107)
+* dx horizontal escapement: pktype invocation. (line 57)
+* dy vertical escapement: gftype invocation. (line 107)
+* dynamic array allocation: Runtime options. (line 36)
+* dynamic Metafont mode definitions with smode: Modes. (line 28)
+* dynamic packing variable: pktype invocation. (line 44)
+* e response at error prompt: Editor invocation. (line 6)
+* e-circumflex: \charsubdef. (line 21)
+* e-TeX: TeX extensions. (line 11)
+* e.mft: mft invocation. (line 75)
+* EC fonts <1>: mf invocation. (line 24)
+* EC fonts: tex invocation. (line 44)
+* editing of bitmap fonts: Font utilities available elsewhere.
+ (line 23)
+* editor invoked at error: Editor invocation. (line 6)
+* eight-bit characters in filenames: \input filenames. (line 35)
+* empty.tcx: TCX files. (line 49)
+* endian dependencies: Hardware and memory dumps.
+ (line 6)
+* eoc GF command: gftype invocation. (line 97)
+* Eplain: Formats. (line 54)
+* epsf: Online Metafont graphics.
+ (line 19)
+* errors, editor invoked at: Editor invocation. (line 6)
+* escapement, horizontal <1>: gftype invocation. (line 107)
+* escapement, horizontal: pktype invocation. (line 57)
+* escapement, vertical: gftype invocation. (line 107)
+* etex and label extraction: mpto invocation. (line 6)
+* etex for MetaPost labels: mpost invocation. (line 50)
+* executables, shared initial and virgin: Initial and virgin. (line 6)
+* expanded plain format: Formats. (line 54)
+* extensions to TeX: TeX extensions. (line 6)
+* extra_mem_bot: Runtime options. (line 19)
+* FACE property: tftopl invocation. (line 96)
+* FAMILY property: tftopl invocation. (line 96)
+* Ferguson, Michael: MLTeX. (line 6)
+* file formats for fonts: Font file formats. (line 6)
+* file mtimes, comparing: newer invocation. (line 6)
+* file recorder: Common options. (line 90)
+* File-handling TeX: TeX extensions. (line 31)
+* filename conventions, in input files: \input filenames. (line 6)
+* filenames starting with -: Option conventions. (line 19)
+* first line of the main input file: Common options. (line 96)
+* fixed-point arithmetic: Compile-time options.
+ (line 22)
+* FIXPT: Compile-time options.
+ (line 22)
+* flag byte: pktype invocation. (line 44)
+* floating-point arithmetic: Compile-time options.
+ (line 22)
+* floating-point values: Hardware and memory dumps.
+ (line 22)
+* fmt file, determining: Determining the memory dump to use.
+ (line 6)
+* fmt files: Initial TeX. (line 6)
+* fmt files, sharing: Hardware and memory dumps.
+ (line 6)
+* fmts Make target: Additional targets. (line 25)
+* font aliases: Path searching. (line 15)
+* font character code, translating: TCX files. (line 102)
+* font design: Metafont. (line 6)
+* font downloading for MetaPost labels: mpost invocation. (line 78)
+* font file formats: Font file formats. (line 6)
+* font proofs: gftodvi invocation. (line 6)
+* font utilities: Font utilities. (line 6)
+* font utilities, non-Web2c: Font utilities available elsewhere.
+ (line 6)
+* font_mem_size: Runtime options. (line 24)
+* fontforge: Font utilities available elsewhere.
+ (line 30)
+* fontinst, for creating virtual fonts: Font utilities available elsewhere.
+ (line 53)
+* fonts, basic: Installation. (line 34)
+* fontutils: Font utilities available elsewhere.
+ (line 42)
+* format files: Initial TeX. (line 15)
+* formats for TeX: Formats. (line 6)
+* formats Make target: Additional targets. (line 17)
+* fraction routines: Compile-time options.
+ (line 22)
+* Free Software Foundation documentation system: Formats. (line 47)
+* freedom of Web2c: Introduction. (line 23)
+* ftp.math.utah.edu: bibtex invocation. (line 54)
+* generating source specials: tex invocation. (line 146)
+* geometric designs: Metafont. (line 6)
+* geometric font scaling: Font file formats. (line 22)
+* geometry for Metafont: Online Metafont graphics.
+ (line 66)
+* getopt_long_only: Option conventions. (line 6)
+* GF files, explained: Font file formats. (line 40)
+* GF files, output by Metafont: mf invocation. (line 34)
+* GF format definition: Font utilities. (line 11)
+* GF output: mf invocation. (line 34)
+* GF, converting PK to: pktogf invocation. (line 6)
+* GF, converting to PK: gftopk invocation. (line 6)
+* gftodvi: gftodvi invocation. (line 6)
+* gftopk: gftopk invocation. (line 6)
+* gftopxl: Font utilities available elsewhere.
+ (line 23)
+* gftype GF validation: gftype invocation. (line 6)
+* gftype.web: Font utilities. (line 11)
+* glue ratio representations: Hardware and memory dumps.
+ (line 22)
+* glue, memory for: Runtime options. (line 20)
+* glyph substitutions: MLTeX. (line 6)
+* gray font: gftodvi invocation. (line 29)
+* Gruff, Billy Goat: Triptrap. (line 6)
+* gsftopk: Font utilities available elsewhere.
+ (line 35)
+* Harbison, Samuel P.: Hardware and memory dumps.
+ (line 34)
+* hardware and memory dumps: Hardware and memory dumps.
+ (line 6)
+* hash table, increasing size of: Runtime options. (line 29)
+* hash_extra: Runtime options. (line 28)
+* headerbyte information: tftopl invocation. (line 96)
+* height, in pixels: pktype invocation. (line 62)
+* help, online: Common options. (line 11)
+* Henry, Patrick: Introduction. (line 23)
+* Herberts, Mathias: Online Metafont graphics.
+ (line 20)
+* hex character codes, in TCX files: TCX files. (line 78)
+* history: Introduction. (line 41)
+* Hobby, John <1>: dmp invocation. (line 82)
+* Hobby, John: Introduction. (line 9)
+* horizontal escapement <1>: gftype invocation. (line 107)
+* horizontal escapement: pktype invocation. (line 57)
+* hp2627: Online Metafont graphics.
+ (line 27)
+* human languages, supported in TeX: Languages and hyphenation.
+ (line 6)
+* human-readable text, converting DVI to: dvitype invocation. (line 6)
+* human-readable text, converting GF to: gftype invocation. (line 6)
+* human-readable text, converting PK to: pktype invocation. (line 6)
+* human-readable text, converting TFM to: tftopl invocation. (line 6)
+* human-readable text, converting VF to: vftovp invocation. (line 6)
+* hyphenation and languages: Languages and hyphenation.
+ (line 6)
+* hyphenation patterns, creating: patgen invocation. (line 6)
+* ice cream: Introduction. (line 23)
+* identifier case: tangle invocation. (line 35)
+* identifier collisions: tangle invocation. (line 46)
+* identifier length: tangle invocation. (line 27)
+* identifiers with underlines: tangle invocation. (line 41)
+* ieeetr.bst: Basic BibTeX style files.
+ (line 31)
+* il1-t1.tcx: TCX files. (line 49)
+* il2-t1.tcx: TCX files. (line 49)
+* Info format: Formats. (line 47)
+* initial form, enabling: Common options. (line 45)
+* initial Metafont: Initial Metafont. (line 6)
+* initial MetaPost: Initial MetaPost. (line 6)
+* initial programs: Initial and virgin. (line 24)
+* initial TeX: Initial TeX. (line 6)
+* initializations, lengthy: Initial and virgin. (line 24)
+* input filenames: \input filenames. (line 6)
+* install-bases Make target: Additional targets. (line 29)
+* install-fmts Make target: Additional targets. (line 25)
+* install-formats Make target: Additional targets. (line 17)
+* install-mems Make target: Additional targets. (line 34)
+* installation: Installation. (line 6)
+* interaction between TCX files and -8bit.: TCX files. (line 105)
+* interaction mode: Common options. (line 51)
+* international characters: TCX files. (line 6)
+* introduction: Introduction. (line 6)
+* IPC: IPC and TeX. (line 6)
+* IPC_DEBUG <1>: IPC and TeX. (line 13)
+* IPC_DEBUG: Compile-time options.
+ (line 29)
+* job name: Common options. (line 56)
+* kerning table, in TFM files: tftopl invocation. (line 102)
+* keyboard character code, translating: TCX files. (line 102)
+* Knuth, Donald E. <1>: mft invocation. (line 58)
+* Knuth, Donald E.: Introduction. (line 9)
+* KPATHSEA_DEBUG: Common options. (line 60)
+* KRN property: tftopl invocation. (line 102)
+* label font: gftodvi invocation. (line 36)
+* LABEL property: tftopl invocation. (line 102)
+* labels, extracting from MetaPost input: mpto invocation. (line 6)
+* labels, for MetaPost: makempx invocation. (line 6)
+* language support in TeX: Languages and hyphenation.
+ (line 6)
+* languages, hyphenation rules for: patgen invocation. (line 6)
+* LaTeX: Formats. (line 22)
+* Latin Modern: Font utilities available elsewhere.
+ (line 18)
+* left side bearing <1>: gftype invocation. (line 82)
+* left side bearing: pktype invocation. (line 66)
+* legalisms: Legalisms. (line 6)
+* licensing terms: Introduction. (line 23)
+* LIG property: tftopl invocation. (line 102)
+* ligature table, in TFM files: tftopl invocation. (line 102)
+* LIGTABLE property: tftopl invocation. (line 102)
+* linking binaries: Common options. (line 83)
+* links to binaries: Determining the memory dump to use.
+ (line 32)
+* literate programming: WEB. (line 6)
+* litprog@shsu.edu: WEB. (line 6)
+* LittleEndian machines: Hardware and memory dumps.
+ (line 6)
+* log file, BibTeX: bibtex invocation. (line 14)
+* machine dependencies: Hardware and memory dumps.
+ (line 6)
+* machine-readable, converting property lists to <1>: vptovf invocation.
+ (line 6)
+* machine-readable, converting property lists to: pltotf invocation.
+ (line 6)
+* MacKay, Pierre: Font file formats. (line 63)
+* macro packages, major TeX: Formats. (line 6)
+* macros, basic: Installation. (line 34)
+* macros, predefining in memory dumps: Memory dumps. (line 6)
+* magnification <1>: dvitype invocation. (line 28)
+* magnification: dvicopy invocation. (line 20)
+* main_memory: Runtime options. (line 15)
+* Make targets, additional: Additional targets. (line 6)
+* makempx: makempx invocation. (line 6)
+* MAKEMPX_BINDIR: makempx invocation. (line 50)
+* Martin, Rick: Introduction. (line 51)
+* Mathematical Reviews: Formats. (line 39)
+* mathematical typesetting: TeX. (line 6)
+* mem file, determining: Determining the memory dump to use.
+ (line 6)
+* mem files: Initial MetaPost. (line 6)
+* mem files, plain only: Initial MetaPost. (line 16)
+* mem files, sharing: Hardware and memory dumps.
+ (line 6)
+* memory dump to use, determining: Determining the memory dump to use.
+ (line 6)
+* memory dumps: Memory dumps. (line 6)
+* memory dumps and hardware: Hardware and memory dumps.
+ (line 6)
+* memory dumps, contain date and time: Hardware and memory dumps.
+ (line 30)
+* memory dumps, creating: Creating memory dumps.
+ (line 6)
+* mems Make target: Additional targets. (line 34)
+* meta characters in filenames: \input filenames. (line 35)
+* Metafont: Metafont. (line 6)
+* Metafont geometry: Online Metafont graphics.
+ (line 66)
+* Metafont graphics: Online Metafont graphics.
+ (line 6)
+* Metafont input files: mf invocation. (line 24)
+* Metafont invocation: mf invocation. (line 6)
+* Metafont meets PostScript: MetaPost. (line 6)
+* Metafont online support, new devices: Online Metafont graphics.
+ (line 77)
+* Metafont source, prettyprinting: mft invocation. (line 6)
+* Metafont, compatibility in MetaPost: Initial MetaPost. (line 25)
+* Metafont, initial: Initial Metafont. (line 6)
+* Metafont, MetaPost, and TeX: Three programs. (line 6)
+* MetaFun, enhanced MetaPost: Initial MetaPost. (line 33)
+* metafun.mp: Initial MetaPost. (line 33)
+* MetaPost: MetaPost. (line 6)
+* MetaPost and plain Metafont compatibility: Initial MetaPost.
+ (line 25)
+* MetaPost input files: mpost invocation. (line 31)
+* MetaPost input, extracting labels from: mpto invocation. (line 6)
+* MetaPost invocation: mpost invocation. (line 6)
+* MetaPost labels: makempx invocation. (line 6)
+* MetaPost source, prettyprinting: mft invocation. (line 80)
+* MetaPost, initial: Initial MetaPost. (line 6)
+* MetaPost, TeX, and Metafont: Three programs. (line 6)
+* metatype1: Font utilities available elsewhere.
+ (line 18)
+* mf: mf invocation. (line 6)
+* mf.base: Initial Metafont. (line 16)
+* MFEDIT: Editor invocation. (line 10)
+* mfplain.mem: Initial MetaPost. (line 25)
+* mfput: mf invocation. (line 34)
+* mft: mft invocation. (line 6)
+* mftalk: Online Metafont graphics.
+ (line 30)
+* MFTERM: Online Metafont graphics.
+ (line 11)
+* mftmac.tex: mft invocation. (line 6)
+* mktexmf, disabling: mf invocation. (line 24)
+* mktextfM, disabling: tex invocation. (line 44)
+* mltex: MLTeX. (line 6)
+* MLTeX, enabling: tex invocation. (line 115)
+* mode needed to run Metafont: mf invocation. (line 48)
+* mode_def: Modes. (line 15)
+* mode_setup: Modes. (line 15)
+* modes file needed for Metafont: Modes. (line 6)
+* modes.mf recommended modes file: Modes. (line 10)
+* Morgan, Tim: Introduction. (line 41)
+* Morris, Bob: Introduction. (line 51)
+* MPEDIT: Editor invocation. (line 10)
+* mpgraph.ps: mpost invocation. (line 19)
+* mpman.ps: mpost invocation. (line 6)
+* mpost: mpost invocation. (line 6)
+* mpost, reason for name change: Installation. (line 19)
+* mpost.mem: Initial MetaPost. (line 16)
+* mpout: mpost invocation. (line 37)
+* mproof.tex: mpost invocation. (line 78)
+* MPSUPPORT: dmp invocation. (line 21)
+* MPto: mpto invocation. (line 6)
+* MPto, invoked by MakeMPX: makempx invocation. (line 21)
+* MPTOTEX: makempx invocation. (line 60)
+* MPTOTR: makempx invocation. (line 64)
+* mptrap Make target: Additional targets. (line 41)
+* mptrap test: Triptrap. (line 6)
+* mptrap.readme: Triptrap. (line 6)
+* mpx file, defined: makempx invocation. (line 43)
+* MPX files, converting from DVI files: dvitomp invocation. (line 6)
+* MPX files, creating from ditroff output: dmp invocation. (line 6)
+* mpxerr: makempx invocation. (line 34)
+* mpxerr.dvi: makempx invocation. (line 34)
+* mpxerr.log: makempx invocation. (line 34)
+* mpxerr.t: makempx invocation. (line 34)
+* mpxerr.tex: makempx invocation. (line 34)
+* mtimes of files, comparing: newer invocation. (line 6)
+* Multi-lingual TeX: MLTeX. (line 6)
+* multiple DVI files, creating: TeX extensions. (line 31)
+* N tilde: \charsubdef. (line 37)
+* new graphics support for Metafont: Online Metafont graphics.
+ (line 77)
+* NEWER: makempx invocation. (line 56)
+* newer file comparison: newer invocation. (line 6)
+* newrow GF command: gftype invocation. (line 93)
+* next: Online Metafont graphics.
+ (line 34)
+* NO_X11WIN: Online Metafont graphics.
+ (line 56)
+* non-Unix system, compiling on: Additional targets. (line 12)
+* NUL, not allowed in filenames: \input filenames. (line 35)
+* octal character codes, in TCX files: TCX files. (line 78)
+* offset for overflow labels: gftodvi invocation. (line 49)
+* older-than, file comparisons: newer invocation. (line 6)
+* Omega: TeX extensions. (line 16)
+* online Metafont graphics: Online Metafont graphics.
+ (line 6)
+* opcodes, showing DVI: dvitype invocation. (line 56)
+* optical font scaling: Font file formats. (line 22)
+* option conventions: Option conventions. (line 6)
+* origin: pktype invocation. (line 66)
+* output directory, specifying <1>: Output file location.
+ (line 15)
+* output directory, specifying: Common options. (line 67)
+* output file location: Output file location.
+ (line 6)
+* output files, written by TeX programs: tex invocation. (line 51)
+* output_comment for DVI files: tex invocation. (line 120)
+* overflow label offset: gftodvi invocation. (line 49)
+* packet length: pktype invocation. (line 50)
+* page, starting <1>: dvitype invocation. (line 50)
+* page, starting: dvicopy invocation. (line 28)
+* parsing the first line: Common options. (line 78)
+* Pascal, creating from WEB: tangle invocation. (line 6)
+* patgen: patgen invocation. (line 6)
+* path searching: Path searching. (line 6)
+* path searching debugging: Common options. (line 60)
+* PDF: TeX extensions. (line 20)
+* pdfTeX: TeX extensions. (line 20)
+* permissions, legal: Legalisms. (line 6)
+* PFA and PFB conversion: Font utilities available elsewhere.
+ (line 39)
+* pfaedit: Font utilities available elsewhere.
+ (line 30)
+* PiCTeX, increasing memory for: Runtime options. (line 20)
+* picture expressions: makempx invocation. (line 43)
+* pixel height: pktype invocation. (line 62)
+* pixel width: pktype invocation. (line 62)
+* PK bitmaps from PostScript: Font utilities available elsewhere.
+ (line 35)
+* PK files, explained: Font file formats. (line 40)
+* PK files, not output by Metafont: mf invocation. (line 34)
+* PK format definition: Font utilities. (line 11)
+* PK, converting GF to: gftopk invocation. (line 6)
+* PK, converting to GF: pktogf invocation. (line 6)
+* pktogf: pktogf invocation. (line 6)
+* pktype PK validation: pktype invocation. (line 6)
+* pktype.web: Font utilities. (line 11)
+* PL files, explained: Font file formats. (line 47)
+* plain Metafont, compatibility in MetaPost: Initial MetaPost.
+ (line 25)
+* plain text, converting DVI to: dvitype invocation. (line 6)
+* plain text, converting GF to: gftype invocation. (line 6)
+* plain text, converting PK to: pktype invocation. (line 6)
+* plain text, converting TFM to: tftopl invocation. (line 6)
+* plain text, converting VF to: vftovp invocation. (line 6)
+* plain.base: Initial Metafont. (line 16)
+* plain.bst: Basic BibTeX style files.
+ (line 11)
+* plain.fmt: Initial TeX. (line 15)
+* plain.mem: Initial MetaPost. (line 16)
+* plain.mft: mft invocation. (line 68)
+* pltotf: pltotf invocation. (line 6)
+* pool file, writing: tangle invocation. (line 16)
+* Poole, Simon: Online Metafont graphics.
+ (line 50)
+* pooltype: pooltype invocation. (line 6)
+* portable filenames: \input filenames. (line 41)
+* PostScript fonts, and Troff: mpost invocation. (line 73)
+* PostScript meets Metafont: MetaPost. (line 6)
+* PostScript output: mpost invocation. (line 37)
+* PostScript to PK bitmaps: Font utilities available elsewhere.
+ (line 35)
+* PostScript Type 1 font conversion: Font utilities available elsewhere.
+ (line 39)
+* PostScript, and font scaling: Font file formats. (line 22)
+* potrace: Font utilities available elsewhere.
+ (line 46)
+* Pragma ADE: Initial MetaPost. (line 33)
+* predefined macros and memory dumps: Memory dumps. (line 6)
+* prettyprinting Metafont source: mft invocation. (line 6)
+* prettyprinting WEB programs: weave invocation. (line 6)
+* primitives, new: TeX extensions. (line 11)
+* printable characters, specifying: TCX files. (line 88)
+* printer characteristics, for Metafont: Modes. (line 6)
+* production use: Initial and virgin. (line 20)
+* program name, determines memory dump: Determining the memory dump to use.
+ (line 32)
+* program names, special <1>: tex invocation. (line 115)
+* program names, special: Common options. (line 45)
+* prologues: mpost invocation. (line 117)
+* prologues and Troff in MetaPost: makempx invocation. (line 39)
+* prologues, and EPSF output: mpost invocation. (line 88)
+* proof mode: mf invocation. (line 48)
+* proof sheets, of fonts: gftodvi invocation. (line 6)
+* property list format: tftopl invocation. (line 44)
+* property list, converting TFM to: tftopl invocation. (line 6)
+* property list, converting VF to virtual: vftovp invocation. (line 6)
+* ps2pk: Font utilities available elsewhere.
+ (line 35)
+* psfonts.map, read by MetaPost: mpost invocation. (line 88)
+* PXL files, explained: Font file formats. (line 40)
+* pxtoch: Font utilities available elsewhere.
+ (line 23)
+* Raichle, Bernd: MLTeX. (line 6)
+* reading, additional: Introduction. (line 59)
+* readonly directory, running TeX in: Output file location.
+ (line 15)
+* reallocation of arrays: Runtime options. (line 36)
+* redefined character substitutions: \tracingcharsubdef. (line 6)
+* reference pixel: pktype invocation. (line 66)
+* references: References. (line 6)
+* regis: Online Metafont graphics.
+ (line 39)
+* Regis graphics support: Online Metafont graphics.
+ (line 40)
+* regression testing: tex invocation. (line 120)
+* repeated rows: pktype invocation. (line 76)
+* representation of strings: pooltype invocation. (line 30)
+* right side bearing <1>: gftype invocation. (line 82)
+* right side bearing: pktype invocation. (line 66)
+* right-to-left typesetting: TeX extensions. (line 25)
+* Rokicki, Tomas: Introduction. (line 41)
+* run length encoded bitmaps <1>: gftype invocation. (line 89)
+* run length encoded bitmaps: pktype invocation. (line 76)
+* runtime options: Runtime options. (line 6)
+* scaled pixels <1>: gftype invocation. (line 107)
+* scaled pixels: pktype invocation. (line 57)
+* scaling of fonts: Font file formats. (line 22)
+* scanned images of fonts: Font utilities available elsewhere.
+ (line 42)
+* security, and \openout: tex invocation. (line 51)
+* security, and output files: tex invocation. (line 51)
+* security, and shell escapes: tex invocation. (line 128)
+* SetColor ditroff command: dmp invocation. (line 15)
+* shapes: Metafont. (line 6)
+* sharing memory dumps: Hardware and memory dumps.
+ (line 6)
+* shell commands in TeX: tex invocation. (line 128)
+* shell_escape enabling in TeX: tex invocation. (line 128)
+* siam.bst: Basic BibTeX style files.
+ (line 35)
+* side bearings <1>: gftype invocation. (line 82)
+* side bearings: pktype invocation. (line 66)
+* slant font: gftodvi invocation. (line 39)
+* slides, producing: Formats. (line 61)
+* SliTeX: Formats. (line 61)
+* small Metafont memory and modes: Modes. (line 15)
+* smode and dynamic Metafont mode definition: Modes. (line 28)
+* sockets: IPC and TeX. (line 6)
+* space-terminated filenames: \input filenames. (line 10)
+* Spiderweb: WEB. (line 14)
+* Stallman, Richard: Introduction. (line 51)
+* starting page <1>: dvitype invocation. (line 50)
+* starting page: dvicopy invocation. (line 28)
+* Steele Jr., Guy L.: Hardware and memory dumps.
+ (line 34)
+* stopping at the first error: Common options. (line 41)
+* strategy, overall: Introduction. (line 17)
+* string numbers, displaying: pooltype invocation. (line 6)
+* string pool, writing: tangle invocation. (line 16)
+* string representation: pooltype invocation. (line 30)
+* style design, for BibTeX: bibtex invocation. (line 45)
+* style files: mft invocation. (line 68)
+* substitutions of font glyphs: MLTeX. (line 6)
+* sun: Online Metafont graphics.
+ (line 42)
+* sun-gfx.c: Online Metafont graphics.
+ (line 43)
+* Suntools: Online Metafont graphics.
+ (line 43)
+* SunView: Online Metafont graphics.
+ (line 43)
+* swap space, as array limit: Runtime options. (line 36)
+* swapping bytes: Hardware and memory dumps.
+ (line 13)
+* syntax of TCX files: TCX files. (line 66)
+* system C library function: tex invocation. (line 128)
+* T1 encoding and ISO input: TCX files. (line 49)
+* Tachikawa, Elizabeth: Font file formats. (line 63)
+* tangle: tangle invocation. (line 6)
+* targets, additional Make: Additional targets. (line 6)
+* TCX character translation files: TCX files. (line 6)
+* tek: Online Metafont graphics.
+ (line 47)
+* Tektronix: Online Metafont graphics.
+ (line 48)
+* Tektronix 4014: Online Metafont graphics.
+ (line 51)
+* TERM: Online Metafont graphics.
+ (line 11)
+* terminator for filenames: \input filenames. (line 10)
+* terse output: bibtex invocation. (line 28)
+* TEX: makempx invocation. (line 74)
+* tex: tex invocation. (line 6)
+* TeX, bibliographies for: bibtex invocation. (line 54)
+* TeX, creating from Metafont: mft invocation. (line 6)
+* TeX, creating from WEB: weave invocation. (line 6)
+* TeX, description of: TeX. (line 6)
+* TeX, extensions to: TeX extensions. (line 6)
+* TeX, format packages for: Formats. (line 6)
+* TeX, initial: Initial TeX. (line 6)
+* TeX, input files found: tex invocation. (line 20)
+* TeX, invocation: tex invocation. (line 6)
+* TeX, Metafont, and MetaPost: Three programs. (line 6)
+* TeX, Web2c implementation of: Introduction. (line 9)
+* TeX--XeT: TeX extensions. (line 25)
+* tex.fmt: Initial TeX. (line 15)
+* TEXBIB, search path for bib files: bibtex invocation. (line 18)
+* TEXEDIT: Editor invocation. (line 10)
+* texfonts.map: Path searching. (line 15)
+* Texinfo: Formats. (line 47)
+* texmf.cnf: Path searching. (line 6)
+* texmfmp.c: Online Metafont graphics.
+ (line 77)
+* texmfmp.c and openoutnameok: tex invocation. (line 51)
+* TEXMFOUTPUT, used if . unwritable: Output file location.
+ (line 19)
+* texput: tex invocation. (line 35)
+* text, extracting from MetaPost input: mpto invocation. (line 6)
+* TFM files, converting property lists to: pltotf invocation. (line 6)
+* TFM files, explained: Font file formats. (line 13)
+* TFM files, memory for: Runtime options. (line 25)
+* TFM files, output by Metafont: mf invocation. (line 43)
+* TFM files, output by MetaPost: mpost invocation. (line 37)
+* TFM width of characters <1>: gftype invocation. (line 113)
+* TFM width of characters: pktype invocation. (line 53)
+* tftopl: tftopl invocation. (line 6)
+* three programs: Three programs. (line 6)
+* time and date, in memory dumps: Hardware and memory dumps.
+ (line 30)
+* title font: gftodvi invocation. (line 33)
+* toolkits, X: Online Metafont graphics.
+ (line 60)
+* torture tests: Triptrap. (line 6)
+* translation file for TeX, specifying: Common options. (line 96)
+* translation from WEB to C: Introduction. (line 17)
+* trap Make target: Additional targets. (line 41)
+* trap test: Triptrap. (line 6)
+* trapman.tex: Triptrap. (line 6)
+* trchars.adj: dmp invocation. (line 24)
+* Trickey, Howard: Introduction. (line 41)
+* trip Make target: Additional targets. (line 41)
+* trip test: Triptrap. (line 6)
+* tripman.tex: Triptrap. (line 6)
+* triptrap Make target: Additional targets. (line 41)
+* TROFF: makempx invocation. (line 79)
+* Troff, and MetaPost: mpost invocation. (line 73)
+* Troff, WEB for: WEB. (line 14)
+* Trojan horses and TeX programs: tex invocation. (line 51)
+* TUGboat bibliography: bibtex invocation. (line 54)
+* Type 1 conversion: Font utilities available elsewhere.
+ (line 39)
+* type design, personal: Initial Metafont. (line 33)
+* type programs, DVI: dvitype invocation. (line 6)
+* type programs, GF: gftype invocation. (line 6)
+* type programs, PK: pktype invocation. (line 6)
+* type programs, pool: pooltype invocation. (line 6)
+* typeface families: Metafont. (line 6)
+* typeface specimen sheets: Font utilities available elsewhere.
+ (line 42)
+* typesetting: TeX. (line 6)
+* Unicode: TeX extensions. (line 16)
+* Unicode input: tex invocation. (line 95)
+* uniterm: Online Metafont graphics.
+ (line 50)
+* unsrt.bst: Basic BibTeX style files.
+ (line 39)
+* using local codepage to display messages: Common options. (line 108)
+* UTF-8 input: tex invocation. (line 95)
+* validation, of DVI files: dvitype invocation. (line 6)
+* validation, of GF files: gftype invocation. (line 6)
+* validation, of PK files: pktype invocation. (line 6)
+* validation, of TFM files: tftopl invocation. (line 6)
+* validation, of VF files: vftovp invocation. (line 6)
+* verbatimtex MetaPost command: mpto invocation. (line 6)
+* verbose BibTeX output, suppressing: bibtex invocation. (line 28)
+* verbosity, enabling: Common options. (line 15)
+* version number, finding: Common options. (line 18)
+* vertical escapement: gftype invocation. (line 107)
+* VF files, converting property lists to: vptovf invocation. (line 6)
+* vftovp: vftovp invocation. (line 6)
+* virgin programs: Initial and virgin. (line 20)
+* virtual font creation: Font utilities available elsewhere.
+ (line 53)
+* virtual fonts, expanding: dvicopy invocation. (line 6)
+* virtual-fonts.knuth: Font file formats. (line 57)
+* virtualfonts.txt: Font file formats. (line 57)
+* vptovf: vptovf invocation. (line 6)
+* weave: weave invocation. (line 6)
+* WEB: WEB. (line 6)
+* WEB pool files, displaying: pooltype invocation. (line 6)
+* WEB programs, compiling: tangle invocation. (line 6)
+* WEB programs, typesetting: weave invocation. (line 6)
+* WEB2C, search path for TCX files: TCX files. (line 36)
+* Weber, Olaf: Introduction. (line 41)
+* webmac.tex: weave invocation. (line 22)
+* webman.tex: WEB. (line 14)
+* whitespace, in TCX files: TCX files. (line 69)
+* whitespace-terminated filenames: \input filenames. (line 10)
+* width, device-independent <1>: gftype invocation. (line 113)
+* width, device-independent: pktype invocation. (line 53)
+* width, in pixels: pktype invocation. (line 62)
+* word processor, not: TeX. (line 9)
+* writing memory dumps: Creating memory dumps.
+ (line 6)
+* X bitmap fonts: Font utilities available elsewhere.
+ (line 15)
+* X class name for Metafont: Online Metafont graphics.
+ (line 66)
+* x offset: pktype invocation. (line 66)
+* X resources: Online Metafont graphics.
+ (line 66)
+* X toolkits and Metafont: Online Metafont graphics.
+ (line 60)
+* x X ditroff device control: dmp invocation. (line 15)
+* xampl.bib: bibtex invocation. (line 51)
+* xbfe, bitmap font editor: Font utilities available elsewhere.
+ (line 23)
+* xfed, bitmap font editor: Font utilities available elsewhere.
+ (line 23)
+* xfedor, bitmap font editor: Font utilities available elsewhere.
+ (line 23)
+* Xlib: Online Metafont graphics.
+ (line 56)
+* Xlib support: Online Metafont graphics.
+ (line 60)
+* Xt: Online Metafont graphics.
+ (line 56)
+* Xt support: Online Metafont graphics.
+ (line 60)
+* xterm: Online Metafont graphics.
+ (line 56)
+* y offset: pktype invocation. (line 66)
+* ~ expansion in filenames: \input filenames. (line 48)
+
+
+
+Tag Table:
+Node: Top2967
+Node: Introduction3962
+Node: Installation7139
+Node: configure options9303
+Node: Compile-time options11385
+Node: Additional targets12511
+Node: Triptrap13792
+Node: Runtime options15321
+Node: Commonalities17093
+Node: Option conventions17698
+Node: Common options18922
+Node: Path searching23434
+Node: Output file location24456
+Node: Three programs25496
+Node: Initial and virgin26255
+Node: Memory dumps27355
+Node: Creating memory dumps27822
+Node: Determining the memory dump to use29083
+Node: Hardware and memory dumps30707
+Node: Editor invocation33176
+Node: \input filenames33906
+Node: TeX36899
+Node: tex invocation37989
+Node: Initial TeX45921
+Node: Formats47410
+Node: Languages and hyphenation50349
+Node: MLTeX50777
+Node: \charsubdef52272
+Node: \tracingcharsubdef54598
+Node: TCX files55173
+Node: patgen invocation60597
+Node: IPC and TeX61314
+Node: TeX extensions61915
+Node: Metafont63216
+Node: mf invocation64504
+Node: Initial Metafont68387
+Node: Modes70140
+Node: Online Metafont graphics72395
+Node: gftodvi invocation75668
+Node: mft invocation77927
+Node: MetaPost81982
+Node: mpost invocation83003
+Node: Initial MetaPost88188
+Node: makempx invocation90000
+Node: dvitomp invocation93500
+Node: dmp invocation94129
+Node: mpto invocation98150
+Node: newer invocation99132
+Node: BibTeX100069
+Node: bibtex invocation100430
+Node: Basic BibTeX style files102755
+Node: WEB104097
+Node: tangle invocation105380
+Node: weave invocation107503
+Node: pooltype invocation108911
+Node: DVI utilities110041
+Node: dvicopy invocation110985
+Node: dvitype invocation112283
+Node: dvitype output example114638
+Node: Font utilities117689
+Node: Font file formats118869
+Node: gftopk invocation122168
+Node: pktogf invocation123372
+Node: pktype invocation124551
+Node: gftype invocation127386
+Node: tftopl invocation131902
+Node: pltotf invocation136536
+Node: vftovp invocation137601
+Node: vptovf invocation139885
+Node: Font utilities available elsewhere140939
+Node: Legalisms143359
+Node: References145530
+Node: Index149915
+
+End Tag Table
diff --git a/Master/texmf/doc/man/man1/a2ping.1 b/Master/texmf/doc/man/man1/a2ping.1
new file mode 100644
index 00000000000..ec06d892da8
--- /dev/null
+++ b/Master/texmf/doc/man/man1/a2ping.1
@@ -0,0 +1,380 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "A2PING 1"
+.TH A2PING 1 "2004-05-26" "perl v5.8.1" "User Contributed Perl Documentation"
+.ds pts-dev \*[.T]
+.do if '\*[.T]'ascii' .ds pts-dev tty
+.do if '\*[.T]'ascii8' .ds pts-dev tty
+.do if '\*[.T]'latin1' .ds pts-dev tty
+.do if '\*[.T]'nippon' .ds pts-dev tty
+.do if '\*[.T]'utf8' .ds pts-dev tty
+.do if '\*[.T]'cp1047' .ds pts-dev tty
+.do if '\*[pts-dev]'tty' \{\
+.ll 79
+.pl 33333v
+.nr IN 2n
+.\}
+.ad n
+
+.SH "NAME"
+a2ping.pl \-\- convert between PS, EPS and PDF and other page description
+formats
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\& \fBa2ping.pl\fR [\fB\-\-\fR]\fBhelp\fR
+ \fBa2ping.pl\fR [\fB\-\-\fR]\fBdoc\fR
+ \fBa2ping.pl\fR [\fIoptions\fR] <\fIinputfile\fR> [[\fIoutformat\fR:] \fIoutputfile\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBa2ping\fR is a \s-1UNIX\s0 command line utility written in Perl that
+converts many raster image and vector graphics formats to \s-1EPS\s0 or \s-1PDF\s0 and
+other page description formats. Accepted input file formats are: \s-1PS\s0
+(PostScript), \s-1EPS\s0, \s-1PDF\s0, \s-1PNG\s0, \s-1JPEG\s0, \s-1TIFF\s0, \s-1PNM\s0, \s-1BMP\s0, \s-1GIF\s0, \s-1LBM\s0, \s-1XPM\s0, \s-1PCX\s0,
+\&\s-1TGA\s0. Accepted output formats are: \s-1EPS\s0, \s-1PCL5\s0, \s-1PDF\s0, \s-1PDF1\s0, \s-1PBM\s0, \s-1PGM\s0, \s-1PPM\s0,
+\&\s-1PS\s0, markedEPS, markedPS, \s-1PNG\s0, \s-1XWD\s0, \s-1BMP\s0, \s-1TIFF\s0, \s-1JPEG\s0, \s-1GIF\s0, \s-1XPM\s0.
+\&\fBa2ping\fR delegates the low-level work to
+Ghostscript (\s-1GS\s0), \fBpdftops\fR and \fBsam2p\fR. \fBa2ping\fR fixes many glitches
+during the \s-1EPS\s0 to \s-1EPS\s0 conversion, so its output is often more compatible
+and better embeddable than its input.
+.PP
+Without the \f(CW\*(C`\-\-below\*(C'\fR option, it is guarenteed to start at the 0,0
+coordinate. \f(CW\*(C`\-\-below\*(C'\fR, \f(CW\*(C`\-\-hires\*(C'\fR and \f(CW\*(C`\-v\*(C'\fR are recommended options.
+.PP
+The page size is set exactly corresponding to the BoundingBox.
+This means that when Ghostscript renders it, the result needs no
+cropping, and the \s-1PDF\s0 MediaBox is correct.
+.PP
+If the bounding box is not right, of course, you have problems. If you
+feed crap in, you get crap. But you can supply the
+\&\fB\-\-bboxfrom=compute\-gs\fR option to make \s-1GS\s0 recompute the bounding box.
+.PP
+The name of the input file doesn't matter \*(-- \fBa2ping\fR detects the file
+format based on the first few bytes of the file. The name of the output
+file matters if \fIoutformat\fR is missing from the command line: then the
+extension of the output file determines the FileFormat (\fIoutformat\fR).
+.SH "EXTERNAL PROGRAMS"
+.IX Header "EXTERNAL PROGRAMS"
+The internal file format of \fBa2ping.pl\fR is \s-1PS/EPS\s0. Everything read is
+first converted to \s-1PS\s0 or \s-1EPS\s0, then processed by \fBa2ping.pl\fR, then
+converted to the output format.
+.PP
+To analyse the bounding box and other properties of non-EPS \s-1PS\s0 files
+(and \s-1EPS\s0 files with option \fB\-\-bboxfrom\fR other than \fB=guess\fR), \s-1GS\s0 is
+used. Converting \s-1PS\s0 to \s-1EPS\s0 involves this analysis.
+.PP
+To write \s-1PDF\s0 files, \s-1GS\s0 is used.
+.PP
+To read \s-1PDF\s0 files, \fBpdftops\fR from the \fBxpdf\fR package is used.
+.PP
+Sampled input formats are \s-1PNG\s0, \s-1JPEG\s0, \s-1TIFF\s0, \s-1PNM\s0, \s-1BMP\s0, \s-1GIF\s0, \s-1LBM\s0, \s-1XPM\s0, \s-1PCX\s0
+and \s-1TGA\s0. To read sampled input formats, \fBsam2p\fR is used. \fBsam2p\fR is
+a raster image converter written in \*(C+ by the author of \fBa2ping.pl\fR.
+.PP
+Extra output formats are \s-1PNG\s0, \s-1XWD\s0, \s-1BMP\s0, \s-1TIFF\s0, \s-1JPEG\s0, \s-1GIF\s0 and \s-1XPM\s0. To
+write extra output formats, \fBsam2p\fR and \s-1GS\s0 are used.
+.PP
+\&\s-1PNM\s0 output formats are \s-1PGM\s0, \s-1PGM\s0 and \s-1PPM\s0. To write \s-1PNM\s0 output formats, \s-1GS\s0
+is used.
+.SH "TIPS AND TRICKS"
+.IX Header "TIPS AND TRICKS"
+.IP "\(bu" 2
+Call with the \fB\-v\fR option to see progress and debug messages.
+.IP "\(bu" 2
+If your \s-1EPS\s0 contains a wrong bounding box, you can fix it by running
+\&\f(CW\*(C`a2ping.pl \-v \-\-bboxfrom=compute\-gs thefile.eps \-\-\*(C'\fR
+.IP "\(bu" 2
+You can specify \fB\-\fR as \fIinputfile\fR to get stdin and as \fIoutputfile\fR
+to get stdout. This works even for \s-1PDF\s0 files (which must be seekable),
+because \fBa2ping\fR copies them to a temporary file automatically.
+.IP "\(bu" 2
+If \fIinputfile\fR and \fIoutputfile\fR are the same, \fBa2ping\fR copies the
+\&\fIinputfile\fR to a temporary location first. However, this usage is
+recommended only if there is a backup of the file to be restored in case
+\&\fBa2ping\fR doesn't produce the desired result.
+.IP "\(bu" 2
+If you specify \fB\-\-\fR as \fIoutputfile\fR, it will be the same as \fIinputfile\fR.
+.IP "\(bu" 2
+\&\fBa2ping\fR respects \fB\-\-Duplex\fR for FileFormat \s-1PCL5\s0, even though \s-1GS\s0 doesn't.
+.IP "\(bu" 2
+If you have an incompatible \s-1PS\s0 that \s-1GS\s0 can read but your printer cannot print,
+just run \f(CW\*(C`a2ping.pl foo.ps PDF: \- | a2ping.pl \- PS: foo.ps\*(C'\fR
+.IP "\(bu" 2
+If you have a \s-1PS\s0 coming from Win32 (often with extension \f(CW\*(C`.prn\*(C'\fR), run
+it through \fBa2ping\fR. It will remove the resolution changes and the
+progress text printed to the terminal (which confuses \fIgv\fR\|(1) and makes
+some filters in the print queue emit incorrect output).
+.IP "\(bu" 2
+\&\fBa2ping\fR does antialiasing (\fB\-\-antialias=scale3no\fR) of glyphs and
+curves when emitting a sampled image (FileFormats such as \s-1PGM\s0 and \s-1PPM\s0).
+This improves readability of the glyphs. \fB=yes\fR instructs \s-1GS\s0 to do
+internal antialiasing, but it usually doesn't improve much. \fB=scale3no\fR
+turns off \s-1GS\s0 internal antialiasing, but makes it render everything 3x3
+as big, and then scales it back down. \fB=scale3no\fR turns on both 3x3
+scaling and \s-1GS\s0 internal antialiasing, which results in thicker lines and
+worse quality in general.
+.IP "\(bu" 2
+When creating a \s-1PBM\s0 file, antialiasing usually doesn't improve the
+quality, so it is switched off by default. But if you set
+\&\fB\-\-antialias=scale3no\fR or \fB\-\-antialias=scale3yes\fR, \s-1GS\s0 will render a \s-1PGM\s0 file,
+and the value of \fB\-\-threshold\fR determines the minimum intensity for white in
+the final \s-1PBM\s0.
+.IP "\(bu" 2
+If you need a bigger sampled output file, specify a larger
+\&\fB\-\-Resolution\fR. The default is \fB\-\-Resolution=72\fR. If your sampled output file
+is going to be really big, you should specify \fB\-\-AntiAlias=yes\fR instead of
+the default \fB\-\-AntiAlias=scale3no\fR to speed up conversion.
+.SH "MISC"
+.IX Header "MISC"
+.IP "\(bu" 2
+Doesn't depend on the filename or extension of the input file.
+.IP "\(bu" 2
+Conversion from \s-1EPS\s0 to \s-1PDF:\s0 fixes glitches etc., calls gs
+\&\-sDEVICE=pdfwrite
+.IP "\(bu" 2
+Conversion from \s-1EPS\s0 to \s-1EPS:\s0 fixes various glitches, moves (llx,lly) to
+(0,0), removes binary junk from the beginning of the \s-1EPS\s0 etc.
+.IP "\(bu" 2
+Conversion from \s-1PDF\s0 to \s-1PDF:\s0 keeps the file intact
+.IP "\(bu" 2
+Conversion from \s-1PDF\s0 to \s-1EPS:\s0 calls pdftops \-eps (of the xpdf package)
+.IP "\(bu" 2
+Conversion from \s-1PS\s0 to \s-1EPS:\s0 keeps 1st page only, removes setpagedevice etc.
+.SH "AUTHORS"
+.IX Header "AUTHORS"
+The author of \fBa2ping\fR is Szabó Péter <\fIpts@fazekas.hu\fR>.
+.PP
+\&\fBa2ping\fR is inspired by and historically based on the \fBepstopdf\fR Perl
+script modified by Thomas Esser, Sept. 1998, but his modifications have
+been removed from \fBa2ping\fR, and also \fBa2ping\fR and \fBepstopdf\fR do not
+share common code anymore. \fBepstopdf\fR is written by Sebastian Rahtz,
+for Elsevier Science. \fBepstopdf\fR contained extra tricks from Hans Hagen's
+texutil.
+.SH "HISTORY"
+.IX Header "HISTORY"
+.Sh "1999/05/06 v2.5 (Heiko Oberdiek)"
+.IX Subsection "1999/05/06 v2.5 (Heiko Oberdiek)"
+.Vb 14
+\& * New options: --hires, --exact, --filter, --help.
+\& * Many cosmetics: title, usage, ...
+\& * New code for debug, warning, error
+\& * Detecting of cygwin perl
+\& * Scanning for %%{Hires,Exact,}BoundingBox.
+\& * Scanning only the header in order not to get a wrong
+\& BoundingBox of an included file.
+\& * (atend) supported.
+\& * uses strict; (earlier error detecting).
+\& * changed first comment from '%!PS' to '%!';
+\& * corrected (atend) pattern: '\es*\e(atend\e)'
+\& * using of $bbxpat in all BoundingBox cases,
+\& correct the first white space to '...Box:\es*$bb...'
+\& * corrected first line (one line instead of two before 'if 0;';
+.Ve
+.Sh "2000/11/05 v2.6 (Heiko Oberdiek)"
+.IX Subsection "2000/11/05 v2.6 (Heiko Oberdiek)"
+.Vb 1
+\& * %%HiresBoundingBox corrected to %%HiResBoundingBox
+.Ve
+.Sh "2001/03/05 v2.7 (Heiko Oberdiek)"
+.IX Subsection "2001/03/05 v2.7 (Heiko Oberdiek)"
+.Vb 2
+\& * Newline before grestore for the case that there is no
+\& whitespace at the end of the eps file.
+.Ve
+.Sh "2003/02/02 (Szabó Péter)"
+.IX Subsection "2003/02/02 (Szabó Péter)"
+.Vb 10
+\& * option --below
+\& * removes DOS EPSF binary junk correctly
+\& * adds all 3 BoundingBox DSC comments
+\& * reads all 3 BoundingBox DSC comments, and picks the best
+\& * forces BoundingBox to be an integer
+\& * adds %%EndComments and proper %!PS-Adobe-?-? EPSF-?.? header
+\& * adds %%Pages:
+\& * adds invocation syntax: a2ping <infile.eps> <outfile.eps|pdf>
+\& * can convert PDF to EPS (by calling pdftops(1)) and PDF to PDF
+\& * emulates work for PDF input
+.Ve
+.Sh "2003/04/16 (Szabó Péter)"
+.IX Subsection "2003/04/16 (Szabó Péter)"
+.Vb 7
+\& * added PS and sam2p support, renamed to a2ping
+\& * sam2p and pdftops if $InputFilename eq '-';
+\& * remove PJL UEL header from the beginning
+\& * works for PS non-EPS files for input
+\& * input support for PNG JPEG TIFF PNM BMP GIF LBM XPM PCX TGA via sam2p
+\& * removes ^L (form feed) from end of EPS file
+\& * -x=-c:rle to add sam2p options
+.Ve
+.Sh "2003/04/26 (Szabó Péter)"
+.IX Subsection "2003/04/26 (Szabó Péter)"
+.Vb 14
+\& * omit the unnecessary setpagedevice calls when creating normal eps
+\& * --noverbose --nocompress supported differently
+\& * no more option defaults :-(
+\& * justlib2
+\& * multi-page output with PS:, PDF:, PCL5:
+\& * after `a2ping -pa4', file out.pcl says: `HP PCL printer data - A4 page
+\& size', instead of `US letter'
+\& * justlib2-ified doesn't depend on Getopt::Long anymore
+\& * fully supports filtering (stdin and/or stdout), PDF and PCL5 output to
+\& pipe (!$$ll_zero)
+\& * adds DSC ``%%DocumentMedia: plain 612 792 0 () ()''
+\& * BoundingBox precedence for EPS input: --PageSize, %%*BoundingBox,
+\& setpagedevice. Precedence for other inputs: --PageSize, setpagedevice,
+\& %%*BoundingBox
+.Ve
+.Sh "2003/09/25 (Szabó Péter)"
+.IX Subsection "2003/09/25 (Szabó Péter)"
+.Vb 7
+\& * --bboxfrom=adsc: %%BoundingBox overrides -sDEVICE=bbox
+\& * improved bbox discovery
+\& * many bugfixes
+\& * MetaPost EPS input fixes for prologues:=0;
+\& * a2ping.pl -v --papersize=50,60 --bboxfrom=compute-gs t.ps t2.ps
+\& * consistent bbox, --PageSize, /PageSize handling
+\& * consistent --Resolution and --Duplex handling
+.Ve
+.Sh "2003/12/02 (Szabó Péter)"
+.IX Subsection "2003/12/02 (Szabó Péter)"
+.Vb 1
+\& * --bboxfrom=compute-gs option to fix PS -> EPS bbox (gs -sDEVICE=bbox), tuzv.eps
+.Ve
+.Sh "2004/02/10 v2.77 (Szabó Péter)"
+.IX Subsection "2004/02/10 v2.77 (Szabó Péter)"
+.Vb 7
+\& * the compute-pipe routine is now run unless --bboxfrom=guess with EPS
+\& * added --gsextra=
+\& * added --antialias=
+\& * added FileFormat PBM, PGM, PPM
+\& * separated FileFormat features to FL_* constants
+\& * added --doc
+\& * there is no default FileFormat (PDF) anymore
+.Ve
diff --git a/Master/texmf/doc/man/man1/afm2pl.1 b/Master/texmf/doc/man/man1/afm2pl.1
new file mode 100644
index 00000000000..91c8282166d
--- /dev/null
+++ b/Master/texmf/doc/man/man1/afm2pl.1
@@ -0,0 +1,275 @@
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "AFM2PL" 1 "February 2004" "" "afm2pl"
+.SH NAME
+afm2pl \- convert AFM font metrics to TeX pl font metrics
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 7
+\fBafm2pl\fR [\fB\-p\fR\ \fIencoding_file\fR] [\fB\-o\fR] [\fB\-e\fR\ \fIextension_factor\fR] [\fB\-s\fR\ \fIslant_factor\fR] [\fB\-f\fR\ \fIfont_dimensions\fR] [\fB\-k\fR] [\fB\-m\fR\ \fIletter_spacing\fR] [\fB\-l\fR\ \fIligkern_spec\fR] [\fB\-L\fR\ \fIligkern_spec\fR] {\fIinput_file[\&.afm]\fR} [\fIoutput_file[\&.pl]\fR]
+.ad
+.hy
+.ad l
+.hy 0
+.HP 7
+\fBafm2pl\fR {\fB\-\-help\fR | \fB\-\-version\fR}
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+afm2pl converts an afm (Adobe Font Metric) file into a pl (Property List) file, which in its turn can be converted to a tfm (TeX Font Metric) file\&. It preserves kerns and ligatures\&.
+
+.PP
+afm2pl is meant to be a replacement for afm2tfm, on which it is based\&. With afm2tfm, preserving kerns and ligatures is possible only in a roundabout way\&.
+
+.PP
+For text fonts, Y&Y's texnansi is the recommended encoding to be used with afm2pl\&. This gives you a good character set with all the more important accented characters and many typographic symbols available as single characters, without a need for either virtual fonts or a separate text companion font\&.
+
+.PP
+Full LaTeX support for this encoding is available in the form of the texnansi package, which is already part of TeX Live and teTeX\&. These distributions also contain the encoding file texnansi\&.enc\&.
+
+.PP
+The distribution contains uppercased and lowercased versions of texnansi, viz\&. texnanuc\&.enc and texnanlc\&.enc, to allow font\-based rather than macro\-based uppercasing and lowercasing, and the familiar old ot1 encoding plus some variations in PostScript \&.enc format (I included these because they seem to be absent from teTeX/TeX Live)\&.
+
+.PP
+Return value: 0 if no error; a negative number indicating the number of missing glyphs if conversion was successfull but glyphs are missing, and 1 in case of error\&.
+
+.SH "OPTIONS"
+
+.TP
+\fB\-p\fR \fIencoding_file\fR
+The default is the encoding specified in the afm file, which had better match the encoding in the fontfile (pfa or pfb)\&. The generated mapfile entry (see below) instructs pdftex or the dvi driver to reencode the font on the fly\&. On\-the\-fly reencoding does not require virtual fonts\&.
+
+.TP
+\fB\-o\fR
+Use octal for all character codes in the pl file\&.
+
+.TP
+\fB\-e\fR \fIextend_factor\fR
+Widen or narrow characters by \fIextend_factor\fR\&. Default is 1\&.0 (natural width)\&. Not recommended, except that arguably a narrowed Courier is less jarring than a full\-width Courier, when used in combination with a normal proportional font\&. For Courier, choose \&.833 to match the width of cmtt\&.
+
+.TP
+\fB\-s\fR \fIslant_factor\fR
+Oblique (slant) characters by \fIslant_factor\fR\&. Not recommended\&.
+
+.TP
+\fB\-f\fR \fIfont_dimensions\fR
+The value is either the keyword afm2tfm or a comma\-separated list of up to five integers\&. The parameters are listed below, with their defaults and their value when the afm2tfm keyword is specified\&. 'Space' means the width of a space in the target font, except of course in the last row\&. Keep in mind that the design size is 1000, and that all numbers must be nonnegative integers\&.
+
+.PP
+.TS
+lll
+___
+lll.
+Font dimension Default value Afm2tfm value
+\fIstretch\fR space div 2 300 x \fIextend_factor\fR
+\fIshrink\fR space div 3 100 x \fIextend_factor\fR
+\fIextra space\fR space div 3 missing
+\fIquad\fR 2 x width of '0' 1000 x \fIextend_factor\fR
+\fIspace\fR (space source font) x \fIextend_factor\fR (space source font) x \fIextend_factor\fR
+.TE
+For fixed\-pitch fonts, different values apply:
+
+.PP
+.TS
+lll
+___
+lll.
+Font dimension Default value Afm2tfm value
+\fIstretch\fR 0 0
+\fIshrink\fR 0 0
+\fIextra space\fR space missing
+\fIquad\fR 2 x character width 1000 x \fIextend_factor\fR
+\fIspace\fR character width character width
+.TE
+Specify just a non\-default stretch and shrink with e\&.g\&. 150,70 and just a non\-default extra space with ,,10\&.
+
+.TP
+\fB\-k\fR
+Keep original ligatures\&. This option only has effect in combination with positive letterspacing; see the section on letterspacing and extra ligkern info\&.
+
+.TP
+\fB\-m\fR \fIletter_spacing\fR
+Letterspace by \fIletter_spacing\fR/1000 em (integer)\&. This is useful for making all\-caps typesetting look better\&. Try a value of e\&.g\&. 50 or 100\&. But see the section on letterspacing and extra ligkern info for details\&.
+
+.TP
+\fB\-l\fR \fIligkern_spec\fR, \fB\-L\fR \fIligkern_spec\fR
+See the section on extra ligkern info for details\&.
+
+.TP
+\fB\-V\fR
+Verbose\&. If turned on, it reports the number of missing glyphs to stderr and their names to stdout\&. This is not particularly logical, but this way the glyph names can be captured even under Windows\&.
+
+.TP
+\fB\-\-help\fR
+Display a short usage message\&.
+
+.TP
+\fB\-\-version\fR
+Display the version number of afm2pl\&.
+
+.SH "MAPFILE ENTRIES"
+
+.PP
+afm2pl writes a mapfile entry to a file with the same basename as the pl output file, but with extension \&.map\&. It can be used for the dvips mapfile and for the pdftex mapfile, although, in case of a geometrically transformed font, it may be better to remove the PostScript name for a pdftex mapfile entry\&. It is assumed that the pfb file has the same basename as the afm file and must be downloaded\&. You may have to hand\-edit this entry\&.
+
+.PP
+You can configure dvips and pdftex to read this additional mapfile or otherwise add the entry to an existing mapfile\&. It appears that pdftex automatically will consult a mapfile xxx\&.map for a font xxx\&.
+
+.SH "EXTRA LIGKERN INFO"
+
+.PP
+Most users are well\-advised to leave this mess alone and to accept the default behavior\&.
+
+.PP
+The ligatures and kerns present in the afm file can be modified in various ways\&. Default, the encoding file is scanned for extra ligkern specifications, whose format will be described below\&. If there are no ligkern specifications in the encoding file, then extra ligkern specifications will be read from a file default\&.lig\&. A value of 0 for \fIligkern_spec\fR means that the ligatures and kerns from the afm file won't be tampered with and a value of 1 specifies default behavior\&. One can also specify a comma\-separated list of files with extra ligkerns specs\&.
+
+.PP
+If afm2pl is compiled with the kpathsea library, then these files will be searched for under $TEXMF/fonts/lig\&.
+
+.PP
+Note that ligatures and kerns are hints for the typesetting application; there is no need to download this information to the printer or to make it available to a dvi driver\&.
+
+.PP
+The parser for ligkern info has been inherited from afm2tfm virtually without change\&. A ligkern specification can have one of the following forms:
+
+.IP
+
+\fIglyph_name1\fR \fIglyph_name2\fR \fIlig_op\fR \fIglyph_name3\fR ;
+
+.PP
+This specifies a ligature\&. Possible values for \fIlig_op\fR are =:, |=:, |=:>, =:|, =:|>, |=:|, |=:|> and |=:|>>\&. These correspond to LIG, /LIG, /LIG>, LIG/, LIG/>, /LIG/, /LIG/>, /LIG/>> in \&.pl syntax; see the pltotf documentation and the \&.lig files in the distribution\&.
+
+.IP
+
+\fIglyph_name1\fR <> \fIglyph_name2\fR ;
+
+.PP
+Kern \fIglyph_name1\fR as \fIglyph_name2\fR\&.
+
+.IP
+
+\fIglyph_name1\fR {} \fIglyph_name2\fR ;
+
+.PP
+Remove the kern between \fIglyph_name1\fR and \fIglyph_name2\fR\&. A value of * for either glyph name is interpreted as a wildcard\&.
+
+.IP
+
+|| = \fIglyph\fR ;
+
+.PP
+Set the (right) boundary character to \fIglyph\fR\&. \fIglyph\fR may be either a glyphname or a slot in the encoding vector\&. Choosing a glyph which doesn't occur in the output encoding is equivalent to not specifying a boundarychar at all\&. It is ok to pick an encoded glyphname which does not occur in the afm\&. In fact, this is what default\&.lig does: || = cwm ;\&.
+
+.PP
+You can copy the kerns of an unencoded character to the boundarychar:
+
+.IP
+
+|| <> space ;
+
+.PP
+This ligkern specification should occur before the one that deletes space kerns\&.
+
+.PP
+A ligkern specification should be contained within one line\&. One line may contain several ligkern specifications, separated by spaces\&. Note that ; (space followed by semicolon) is considered part of the ligkern specification\&. See the lig files included in this distribution\&. Example:
+
+.IP
+
+one {} * ; * {} one ; two {} * ; * {} two ;
+
+.PP
+Lines with ligkern specifications inside an encoding file should start with % LIGKERN\&. Ligkern specifications in a lig file may optionally start this way\&.
+
+.SH "LETTERSPACING AND EXTRA LIGKERN INFO"
+
+.PP
+Letterspacing has various side\-effects for ligkern info\&. Instead of simply applying the extra ligkern info (see previous section), the following is done:
+
+.TP 3
+1.
+In case of positive letterspacing, native ligatures are removed, unless the \-k option is specified\&.
+.TP
+2.
+Extra ligkern info is applied as usual, except that in case of positive letterspacing different defaults apply: \-l 0 is quietly ignored, ligkern comments in the encoding file are ignored, and defpre\&.lig is read instead of default\&.lig\&.
+.TP
+3.
+Letterspacing is applied\&. This adds a lot of kerns, and modifies existing kerns\&.
+.TP
+4.
+The extra ligkern info specified with \-L is applied\&. The only ligkern specs which are allowed here, are removals of kerning pairs (with the {} operator)\&. Values 0 and 1 have a similar meaning as for the \-l parameter\&. The tfm format has room for only about 180x180 ligatures and kerning pairs\&. This is enough for OT1 encoding, but for texnansi encoding quite a few ligkern specifications have to be removed\&. The pltotf program will remove all ligkern info if too many ligatures and kerns remain\&. The default lig file is defpost\&.lig\&. This file throws out kerning pairs which are unlikely to be involved in letterspacing, such as kerns involving accents or kerns with a punctuation character or right bracket at the left\&. It does not add letterspacing kerns involving boundarychars\&. Instead, fontspace is increased by twice the letterspacing\&. defpost\&.lig throws out enough kerns in case of texnansi encoding\&. With other encodings, you may have to throw out additional kerning pairs\&.
+.LP
+
+.SH "FONT-BASED UPPER- AND LOWERCASING"
+
+.PP
+The distribution includes encoding vectors texnanuc\&.enc and texnanlc\&.enc which produce all\-uppercase and all\-lowercase fonts\&. The distribution contains an example ucshape\&.tex on how to use such fonts with LaTeX font selection\&.
+
+.PP
+The principal uses for an all\-uppercase font are page headers and section heads\&. If these contain math, then macro\-based uppercasing would create unpleasant complications\&.
+
+.SS "The sz ligature"
+
+.PP
+Note that the texnanuc encoding provides no glyph for the sz ligature; you'll either have to substitute ss or provide a macro\-based solution\&. The following code uses either the usual glyph or substitutes the letters ss, depending on whether the glyph exists in the current font:
+
+.nf
+
+
+\\def\\ss{%
+ \\setbox0\\hbox{\\char25}%
+ \\ifnum\\wd0=0 ss\\else\\box0\\fi
+}
+
+
+.fi
+
+.PP
+In LaTeX, this code appears to work well enough, although on occasion you may need to insert \\protect\&. A better solution might involve the sixth parameter of the \\DeclareFontShape macro, but I failed to get that to work\&.
+
+.SH "AFM2PL, FONTINST AND ARTIFICIAL SMALLCAPS"
+
+.PP
+Afm2pl currently doesn't do virtual fonts\&. That means that for things such as artificial smallcaps you have to turn elsewhere, e\&.g\&. to the fontinst package, which is part of any mainstream TeX distribution\&.
+
+.PP
+Look under texmf/tex/fontinst for fontinst support files, which allow you to generate a smallcaps font (tfm and vf files) from an afm2pl\-generated tfm file\&. This package only supports texnansi encoding\&.
+
+.PP
+There should be no real problem in doing the same for OT1 encoding\&. However, there are several variations of the OT1 encoding to take care of\&. Also, there are as far as I know no officially sanctioned PostScript names for all the variations of the OT1 encoding; the fontinst names contain spaces and are therefore not useable as PostScript names\&.
+
+.SH "FUTURE PLANS"
+
+.PP
+I am considering a revision which makes afm2pl a more complete replacement for afm2tfm\&. In that version, afm2pl can optionally create a second, virtual font, possibly with a different encoding and possibly letterspaced\&. The current option of non\-virtual letterspacing via kerns will be dropped\&. If the encodings differ then it is assumed that the virtual font is intended as a small\-caps version of the main font, and a scaling parameter can be specified for non\-matching glyphs\&.
+
+.SH "COPYRIGHT"
+
+.PP
+The afm2pl distribution is subject to the GNU General Public Licence (GPL)\&. Please refer to the file COPYING for details\&.
+
+.PP
+The afm2pl homepage is http://www\&.ntg\&.nl/afm2pl\&.html: \fIhttp://www.ntg.nl/afm2pl.html\fR\&.
+
+.SH AUTHOR
+Siep Kroonenberg <ntg\-afm2pl@ntg\&.nl>.
diff --git a/Master/texmf/doc/man/man1/afm2tfm.1 b/Master/texmf/doc/man/man1/afm2tfm.1
new file mode 100644
index 00000000000..32822173aa4
--- /dev/null
+++ b/Master/texmf/doc/man/man1/afm2tfm.1
@@ -0,0 +1,25 @@
+.\" man page for afm2tfm
+.TH AFM2TFM 1 "9 August 1990"
+.SH NAME
+afm2tfm \- convert Adobe font metrics to TeX font metrics
+.SH DESCRIPTION
+PostScript fonts are (or should be) accompanied by font metric files
+such as
+.B Times-Roman.afm,
+which describes the characteristics of the font called Times-Roman.
+To use such fonts with TeX, we need TFM files that contain similar
+information. This program does that conversion. For more
+information, print out the dvips manual.
+.SH FILES
+.I psfonts.map
+in the config directory used by dvips (update this).
+.br
+.I ../afm/Makefile
+in the dvips sources (look at this for examples).
+.SH "SEE ALSO"
+dvips(1), tex(1), vptovf(1)
+.SH BUGS
+An option to add letterspacing to the virtual font was rejected by Knuth
+because it would make the fi and fl ligatures break the normal rhythmic pattern.
+.SH AUTHORS
+Tomas Rokicki <rokicki@cs.stanford.edu> and Donald E. Knuth
diff --git a/Master/texmf/doc/man/man1/allcm.1 b/Master/texmf/doc/man/man1/allcm.1
new file mode 100644
index 00000000000..fe75f4ef6d3
--- /dev/null
+++ b/Master/texmf/doc/man/man1/allcm.1
@@ -0,0 +1,28 @@
+.TH allcm 1 "11/94" "teTeX" "teTeX"
+.SH NAME
+allcm \- force the most important Computer\-Modern\-fonts to be calculated
+.SH SYNOPSIS
+.B allcm [-r]
+.SH DESCRIPTION
+.I allcm
+forces a large number of Computer Modern Fonts to be calculated as pixel files.
+This is done through running
+.IR dvips (1)
+over a certain test-file. Therefore, the fonts are created in the resolution
+needed by dvips.
+
+If the \-r flag is specified, the command
+.IR dvired (1)
+will be used instead of dvips.
+
+.I allcm
+does not recalculate existing fonts (as long as the Metafont mode does not change).
+
+.SH "SEE ALSO"
+allec(1),
+allneeded(1),
+dvips(1),
+dvired(1).
+
+.SH AUTHOR
+Thomas Esser <te@dbs.uni-hannover.de>
diff --git a/Master/texmf/doc/man/man1/allec.1 b/Master/texmf/doc/man/man1/allec.1
new file mode 120000
index 00000000000..fa06b6c24bd
--- /dev/null
+++ b/Master/texmf/doc/man/man1/allec.1
@@ -0,0 +1 @@
+allcm.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/allneeded.1 b/Master/texmf/doc/man/man1/allneeded.1
new file mode 100644
index 00000000000..7d9a67548b7
--- /dev/null
+++ b/Master/texmf/doc/man/man1/allneeded.1
@@ -0,0 +1,30 @@
+.TH allneeded 1 "11/94" "teTeX" "teTeX"
+.SH NAME
+allneeded \- force the calculation of all fonts now needed
+.SH SYNOPSIS
+.B allneeded [\-r] files ...
+.SH DESCRIPTION
+.I allneeded
+forces the calculation of all fonts that are needed to preview a set of
+dvi files. Just specify where the program should search for files on the
+commandline.
+The fonts generation is triggered by running
+.IR dvips (1)
+over all accessible dvi\-files. Therefore, the fonts are created in the resolution
+needed by dvips.
+
+If the \-r flag is specified, the command
+.IR dvired (1)
+will be used instead of dvips.
+
+.I allneeded
+does not recalculate existing fonts (as long as the Metafont mode does not change).
+
+.SH "SEE ALSO"
+allec(1),
+allcm(1),
+dvips(1),
+dvired(1).
+
+.SH AUTHOR
+Thomas Esser <te@dbs.uni-hannover.de>
diff --git a/Master/texmf/doc/man/man1/amstex.1 b/Master/texmf/doc/man/man1/amstex.1
new file mode 100644
index 00000000000..68697a02901
--- /dev/null
+++ b/Master/texmf/doc/man/man1/amstex.1
@@ -0,0 +1,69 @@
+.TH AMSTEX 1 "27 December 1992" "Web2C 7.5.5"
+.\"=====================================================================
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX
+.if n .ds AX AmSTeX
+.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX
+.if n .ds AY AmSLaTeX
+.\"=====================================================================
+.SH NAME
+amstex \- structured text formatting and typesetting
+.SH SYNOPSIS
+.B amstex
+[ first line ]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The \*(AX language is described in the book
+.IR "The Joy of \*(OX" .
+\*(AX is a \*(TX macro package, not a modification to the \*(TX source
+program, so all the capabilities described in
+.BR tex (1)
+are present.
+.PP
+The \*(AX macros encourage writers to think about the content of their
+documents, rather than the form. The ideal, not always realized, is to
+have no formatting commands (like ``switch to italic'' or ``skip 2
+picas'') in the document at all; instead, everything is done
+by specific markup instructions: ``emphasize'', ``start a section''.
+.PP
+\*(AX is the official typesetting system of the American Mathematical
+Society, and nearly all of its publications are typeset using \*(AX. The
+online version of AMS Math Reviews uses \*(AX input syntax for display of
+mathematical material. AMS authors can provide editors with
+computer-readable \*(AX files.
+.PP
+For authors more familiar with \*(LX, an AMS-supported package called
+.I amsmath.sty
+is is available.
+.\"=====================================================================
+.SH FILES
+.TP
+.I amsguide.tex"
+Documentation for \*(AX, typesettable by \*(TX.
+.TP
+.I amfndoc.tex"
+Documentation for AMS fonts, typesettable by \*(TX.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR latex (1),
+.BR tex (1),
+.BR slitex (1).
+.br
+Michael Spivak,
+.IR "The Joy of \*(OX" ,
+2nd edition, Addison-Wesley, 1990, ISBN 0-8218-2997-1.
diff --git a/Master/texmf/doc/man/man1/bg5conv.1 b/Master/texmf/doc/man/man1/bg5conv.1
new file mode 100644
index 00000000000..a1925691345
--- /dev/null
+++ b/Master/texmf/doc/man/man1/bg5conv.1
@@ -0,0 +1,94 @@
+.\" man page for bg5conv
+.
+.TH BG5CONV 1 11-Aug-2005 "CJK Version 4.6.0"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+bg5conv \- convert a TeX document in Big\ 5 encoding into `preprocessed'
+form.
+.
+.
+.SH SYNOPSIS
+.B bg5conv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+Big\ 5 encoding for traditional Chinese uses the characters
+.C { ,
+.C } ,
+and
+.C \e
+which have special meanings in \*(TX
+documents.
+.PP
+After processing a \*(LE
+document which contains Big\ 5 characters with
+.B bg5conv
+you need not care about these special characters.
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR \%sjisconv (1),
+.BR \%cefconv (1),
+.BR cef5conv (1),
+.BR \%cefsconv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/Master/texmf/doc/man/man1/bibtex.1 b/Master/texmf/doc/man/man1/bibtex.1
new file mode 100644
index 00000000000..4be5efd8bb5
--- /dev/null
+++ b/Master/texmf/doc/man/man1/bibtex.1
@@ -0,0 +1,146 @@
+.TH BIBTEX 1 "24 November 1994" "Web2C 7.5.5"
+.\"=====================================================================
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\\s-2A\\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+bibtex \- make a bibliography for (La)TeX
+.SH SYNOPSIS
+.B bibtex
+[
+.BI -min-crossrefs =number
+]
+[
+.B -terse
+]
+[
+.I auxname
+]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+\*(BX reads the top-level auxiliary
+.RI ( .aux )
+file that was output during the running of
+.BR latex (1)
+or
+.BR tex (1)
+and creates a bibliography
+.RI ( .bbl )
+file that will be incorporated into the document on subsequent runs of
+\*(LX or \*(TX. The
+.I auxname
+on the command line must be given without the
+.I .aux
+extension. If you don't give the
+.IR auxname ,
+the program prompts you for it.
+.PP
+\*(BX looks up, in bibliographic database
+.RI ( .bib )
+files specified by the \\bibliography command,
+the entries specified by the \\cite and \\nocite commands
+in the \*(LX or \*(TX source file.
+It formats the information from those entries
+according to instructions in a bibliography style
+.RI ( .bst )
+file (specified by the \\bibliographystyle command,
+and it outputs the results to the
+.I .bbl
+file.
+.PP
+The \*(LX manual
+explains what a \*(LX source file must contain to work with \*(BX.
+Appendix B of the manual describes the format of the
+.I .bib
+files. The `\*(BXing' document describes extensions and details of
+this format, and it gives other useful hints for using \*(BX.
+.\"=====================================================================
+.SH OPTIONS
+The
+.B -min-crossrefs
+option defines the minimum number of
+.B crossref
+required for automatic inclusion of the crossref'd entry on the citation
+list; the default is two.
+With the
+.B -terse
+option, \*(BX operates silently. Without it, a banner and progress
+reports are printed on
+.IR stdout .
+.PP
+.\"=====================================================================
+.SH ENVIRONMENT
+\*(BX searches the directories in the
+path defined by the BSTINPUTS environment variable for
+.I .bst
+files. If BSTINPUTS is not set, it uses the system default.
+For
+.I .bib
+files, it uses the BIBINPUTS environment variable if that is set,
+otherwise the default.
+See
+.BR tex (1)
+for the details of the searching.
+.PP
+If the environment variable
+TEXMFOUTPUT is set, \*(BX attempts to put its output
+files in it, if they cannot be put in the current directory. Again, see
+.BR tex (1).
+No special searching is done for the
+.I .aux
+file.
+.\"=====================================================================
+.SH FILES
+.TP
+.I *.bst
+Bibliography style files.
+.TP
+.I btxdoc.tex
+``\*(BXing'' \- \*(LXable documentation for general \*(BX users
+.TP
+.I btxhak.tex
+``Designing \*(BX Styles'' \- \*(LXable documentation for style designers
+.TP
+.I btxdoc.bib
+database file for those two documents
+.TP
+.I xampl.bib
+database file giving examples of all standard entry types
+.TP
+.I btxbst.doc
+template file and documentation for the standard styles
+.PP
+All those files should be available somewhere on your system.
+.PP
+The host math.utah.edu has a vast collection of
+.I .bib
+files available for anonymous ftp, including references for all the
+standard \*(TX books and a complete bibliography for TUGboat.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR latex (1),
+.BR tex (1).
+.br
+Leslie Lamport,
+.IR "\*(LX \- A Document Preparation System" ,
+Addison-Wesley, 1985, ISBN 0-201-15790-X.
+.\"=====================================================================
+.SH AUTHOR
+Oren Patashnik, Stanford University. This man page describes the web2c
+version of \*(BX. Other ports of \*(BX, such as Donald Knuth's version
+using the Sun Pascal compiler, do not have the same path searching
+implementation, or the command-line options.
diff --git a/Master/texmf/doc/man/man1/bzip2.1 b/Master/texmf/doc/man/man1/bzip2.1
new file mode 100644
index 00000000000..623435c2427
--- /dev/null
+++ b/Master/texmf/doc/man/man1/bzip2.1
@@ -0,0 +1,453 @@
+.PU
+.TH bzip2 1
+.SH NAME
+bzip2, bunzip2 \- a block-sorting file compressor, v1.0.2
+.br
+bzcat \- decompresses files to stdout
+.br
+bzip2recover \- recovers data from damaged bzip2 files
+
+.SH SYNOPSIS
+.ll +8
+.B bzip2
+.RB [ " \-cdfkqstvzVL123456789 " ]
+[
+.I "filenames \&..."
+]
+.ll -8
+.br
+.B bunzip2
+.RB [ " \-fkvsVL " ]
+[
+.I "filenames \&..."
+]
+.br
+.B bzcat
+.RB [ " \-s " ]
+[
+.I "filenames \&..."
+]
+.br
+.B bzip2recover
+.I "filename"
+
+.SH DESCRIPTION
+.I bzip2
+compresses files using the Burrows-Wheeler block sorting
+text compression algorithm, and Huffman coding. Compression is
+generally considerably better than that achieved by more conventional
+LZ77/LZ78-based compressors, and approaches the performance of the PPM
+family of statistical compressors.
+
+The command-line options are deliberately very similar to
+those of
+.I GNU gzip,
+but they are not identical.
+
+.I bzip2
+expects a list of file names to accompany the
+command-line flags. Each file is replaced by a compressed version of
+itself, with the name "original_name.bz2".
+Each compressed file
+has the same modification date, permissions, and, when possible,
+ownership as the corresponding original, so that these properties can
+be correctly restored at decompression time. File name handling is
+naive in the sense that there is no mechanism for preserving original
+file names, permissions, ownerships or dates in filesystems which lack
+these concepts, or have serious file name length restrictions, such as
+MS-DOS.
+
+.I bzip2
+and
+.I bunzip2
+will by default not overwrite existing
+files. If you want this to happen, specify the \-f flag.
+
+If no file names are specified,
+.I bzip2
+compresses from standard
+input to standard output. In this case,
+.I bzip2
+will decline to
+write compressed output to a terminal, as this would be entirely
+incomprehensible and therefore pointless.
+
+.I bunzip2
+(or
+.I bzip2 \-d)
+decompresses all
+specified files. Files which were not created by
+.I bzip2
+will be detected and ignored, and a warning issued.
+.I bzip2
+attempts to guess the filename for the decompressed file
+from that of the compressed file as follows:
+
+ filename.bz2 becomes filename
+ filename.bz becomes filename
+ filename.tbz2 becomes filename.tar
+ filename.tbz becomes filename.tar
+ anyothername becomes anyothername.out
+
+If the file does not end in one of the recognised endings,
+.I .bz2,
+.I .bz,
+.I .tbz2
+or
+.I .tbz,
+.I bzip2
+complains that it cannot
+guess the name of the original file, and uses the original name
+with
+.I .out
+appended.
+
+As with compression, supplying no
+filenames causes decompression from
+standard input to standard output.
+
+.I bunzip2
+will correctly decompress a file which is the
+concatenation of two or more compressed files. The result is the
+concatenation of the corresponding uncompressed files. Integrity
+testing (\-t)
+of concatenated
+compressed files is also supported.
+
+You can also compress or decompress files to the standard output by
+giving the \-c flag. Multiple files may be compressed and
+decompressed like this. The resulting outputs are fed sequentially to
+stdout. Compression of multiple files
+in this manner generates a stream
+containing multiple compressed file representations. Such a stream
+can be decompressed correctly only by
+.I bzip2
+version 0.9.0 or
+later. Earlier versions of
+.I bzip2
+will stop after decompressing
+the first file in the stream.
+
+.I bzcat
+(or
+.I bzip2 -dc)
+decompresses all specified files to
+the standard output.
+
+.I bzip2
+will read arguments from the environment variables
+.I BZIP2
+and
+.I BZIP,
+in that order, and will process them
+before any arguments read from the command line. This gives a
+convenient way to supply default arguments.
+
+Compression is always performed, even if the compressed
+file is slightly
+larger than the original. Files of less than about one hundred bytes
+tend to get larger, since the compression mechanism has a constant
+overhead in the region of 50 bytes. Random data (including the output
+of most file compressors) is coded at about 8.05 bits per byte, giving
+an expansion of around 0.5%.
+
+As a self-check for your protection,
+.I
+bzip2
+uses 32-bit CRCs to
+make sure that the decompressed version of a file is identical to the
+original. This guards against corruption of the compressed data, and
+against undetected bugs in
+.I bzip2
+(hopefully very unlikely). The
+chances of data corruption going undetected is microscopic, about one
+chance in four billion for each file processed. Be aware, though, that
+the check occurs upon decompression, so it can only tell you that
+something is wrong. It can't help you
+recover the original uncompressed
+data. You can use
+.I bzip2recover
+to try to recover data from
+damaged files.
+
+Return values: 0 for a normal exit, 1 for environmental problems (file
+not found, invalid flags, I/O errors, &c), 2 to indicate a corrupt
+compressed file, 3 for an internal consistency error (eg, bug) which
+caused
+.I bzip2
+to panic.
+
+.SH OPTIONS
+.TP
+.B \-c --stdout
+Compress or decompress to standard output.
+.TP
+.B \-d --decompress
+Force decompression.
+.I bzip2,
+.I bunzip2
+and
+.I bzcat
+are
+really the same program, and the decision about what actions to take is
+done on the basis of which name is used. This flag overrides that
+mechanism, and forces
+.I bzip2
+to decompress.
+.TP
+.B \-z --compress
+The complement to \-d: forces compression, regardless of the
+invocation name.
+.TP
+.B \-t --test
+Check integrity of the specified file(s), but don't decompress them.
+This really performs a trial decompression and throws away the result.
+.TP
+.B \-f --force
+Force overwrite of output files. Normally,
+.I bzip2
+will not overwrite
+existing output files. Also forces
+.I bzip2
+to break hard links
+to files, which it otherwise wouldn't do.
+
+bzip2 normally declines to decompress files which don't have the
+correct magic header bytes. If forced (-f), however, it will pass
+such files through unmodified. This is how GNU gzip behaves.
+.TP
+.B \-k --keep
+Keep (don't delete) input files during compression
+or decompression.
+.TP
+.B \-s --small
+Reduce memory usage, for compression, decompression and testing. Files
+are decompressed and tested using a modified algorithm which only
+requires 2.5 bytes per block byte. This means any file can be
+decompressed in 2300k of memory, albeit at about half the normal speed.
+
+During compression, \-s selects a block size of 200k, which limits
+memory use to around the same figure, at the expense of your compression
+ratio. In short, if your machine is low on memory (8 megabytes or
+less), use \-s for everything. See MEMORY MANAGEMENT below.
+.TP
+.B \-q --quiet
+Suppress non-essential warning messages. Messages pertaining to
+I/O errors and other critical events will not be suppressed.
+.TP
+.B \-v --verbose
+Verbose mode -- show the compression ratio for each file processed.
+Further \-v's increase the verbosity level, spewing out lots of
+information which is primarily of interest for diagnostic purposes.
+.TP
+.B \-L --license -V --version
+Display the software version, license terms and conditions.
+.TP
+.B \-1 (or \-\-fast) to \-9 (or \-\-best)
+Set the block size to 100 k, 200 k .. 900 k when compressing. Has no
+effect when decompressing. See MEMORY MANAGEMENT below.
+The \-\-fast and \-\-best aliases are primarily for GNU gzip
+compatibility. In particular, \-\-fast doesn't make things
+significantly faster.
+And \-\-best merely selects the default behaviour.
+.TP
+.B \--
+Treats all subsequent arguments as file names, even if they start
+with a dash. This is so you can handle files with names beginning
+with a dash, for example: bzip2 \-- \-myfilename.
+.TP
+.B \--repetitive-fast --repetitive-best
+These flags are redundant in versions 0.9.5 and above. They provided
+some coarse control over the behaviour of the sorting algorithm in
+earlier versions, which was sometimes useful. 0.9.5 and above have an
+improved algorithm which renders these flags irrelevant.
+
+.SH MEMORY MANAGEMENT
+.I bzip2
+compresses large files in blocks. The block size affects
+both the compression ratio achieved, and the amount of memory needed for
+compression and decompression. The flags \-1 through \-9
+specify the block size to be 100,000 bytes through 900,000 bytes (the
+default) respectively. At decompression time, the block size used for
+compression is read from the header of the compressed file, and
+.I bunzip2
+then allocates itself just enough memory to decompress
+the file. Since block sizes are stored in compressed files, it follows
+that the flags \-1 to \-9 are irrelevant to and so ignored
+during decompression.
+
+Compression and decompression requirements,
+in bytes, can be estimated as:
+
+ Compression: 400k + ( 8 x block size )
+
+ Decompression: 100k + ( 4 x block size ), or
+ 100k + ( 2.5 x block size )
+
+Larger block sizes give rapidly diminishing marginal returns. Most of
+the compression comes from the first two or three hundred k of block
+size, a fact worth bearing in mind when using
+.I bzip2
+on small machines.
+It is also important to appreciate that the decompression memory
+requirement is set at compression time by the choice of block size.
+
+For files compressed with the default 900k block size,
+.I bunzip2
+will require about 3700 kbytes to decompress. To support decompression
+of any file on a 4 megabyte machine,
+.I bunzip2
+has an option to
+decompress using approximately half this amount of memory, about 2300
+kbytes. Decompression speed is also halved, so you should use this
+option only where necessary. The relevant flag is -s.
+
+In general, try and use the largest block size memory constraints allow,
+since that maximises the compression achieved. Compression and
+decompression speed are virtually unaffected by block size.
+
+Another significant point applies to files which fit in a single block
+-- that means most files you'd encounter using a large block size. The
+amount of real memory touched is proportional to the size of the file,
+since the file is smaller than a block. For example, compressing a file
+20,000 bytes long with the flag -9 will cause the compressor to
+allocate around 7600k of memory, but only touch 400k + 20000 * 8 = 560
+kbytes of it. Similarly, the decompressor will allocate 3700k but only
+touch 100k + 20000 * 4 = 180 kbytes.
+
+Here is a table which summarises the maximum memory usage for different
+block sizes. Also recorded is the total compressed size for 14 files of
+the Calgary Text Compression Corpus totalling 3,141,622 bytes. This
+column gives some feel for how compression varies with block size.
+These figures tend to understate the advantage of larger block sizes for
+larger files, since the Corpus is dominated by smaller files.
+
+ Compress Decompress Decompress Corpus
+ Flag usage usage -s usage Size
+
+ -1 1200k 500k 350k 914704
+ -2 2000k 900k 600k 877703
+ -3 2800k 1300k 850k 860338
+ -4 3600k 1700k 1100k 846899
+ -5 4400k 2100k 1350k 845160
+ -6 5200k 2500k 1600k 838626
+ -7 6100k 2900k 1850k 834096
+ -8 6800k 3300k 2100k 828642
+ -9 7600k 3700k 2350k 828642
+
+.SH RECOVERING DATA FROM DAMAGED FILES
+.I bzip2
+compresses files in blocks, usually 900kbytes long. Each
+block is handled independently. If a media or transmission error causes
+a multi-block .bz2
+file to become damaged, it may be possible to
+recover data from the undamaged blocks in the file.
+
+The compressed representation of each block is delimited by a 48-bit
+pattern, which makes it possible to find the block boundaries with
+reasonable certainty. Each block also carries its own 32-bit CRC, so
+damaged blocks can be distinguished from undamaged ones.
+
+.I bzip2recover
+is a simple program whose purpose is to search for
+blocks in .bz2 files, and write each block out into its own .bz2
+file. You can then use
+.I bzip2
+\-t
+to test the
+integrity of the resulting files, and decompress those which are
+undamaged.
+
+.I bzip2recover
+takes a single argument, the name of the damaged file,
+and writes a number of files "rec00001file.bz2",
+"rec00002file.bz2", etc, containing the extracted blocks.
+The output filenames are designed so that the use of
+wildcards in subsequent processing -- for example,
+"bzip2 -dc rec*file.bz2 > recovered_data" -- processes the files in
+the correct order.
+
+.I bzip2recover
+should be of most use dealing with large .bz2
+files, as these will contain many blocks. It is clearly
+futile to use it on damaged single-block files, since a
+damaged block cannot be recovered. If you wish to minimise
+any potential data loss through media or transmission errors,
+you might consider compressing with a smaller
+block size.
+
+.SH PERFORMANCE NOTES
+The sorting phase of compression gathers together similar strings in the
+file. Because of this, files containing very long runs of repeated
+symbols, like "aabaabaabaab ..." (repeated several hundred times) may
+compress more slowly than normal. Versions 0.9.5 and above fare much
+better than previous versions in this respect. The ratio between
+worst-case and average-case compression time is in the region of 10:1.
+For previous versions, this figure was more like 100:1. You can use the
+\-vvvv option to monitor progress in great detail, if you want.
+
+Decompression speed is unaffected by these phenomena.
+
+.I bzip2
+usually allocates several megabytes of memory to operate
+in, and then charges all over it in a fairly random fashion. This means
+that performance, both for compressing and decompressing, is largely
+determined by the speed at which your machine can service cache misses.
+Because of this, small changes to the code to reduce the miss rate have
+been observed to give disproportionately large performance improvements.
+I imagine
+.I bzip2
+will perform best on machines with very large caches.
+
+.SH CAVEATS
+I/O error messages are not as helpful as they could be.
+.I bzip2
+tries hard to detect I/O errors and exit cleanly, but the details of
+what the problem is sometimes seem rather misleading.
+
+This manual page pertains to version 1.0.2 of
+.I bzip2.
+Compressed data created by this version is entirely forwards and
+backwards compatible with the previous public releases, versions
+0.1pl2, 0.9.0, 0.9.5, 1.0.0 and 1.0.1, but with the following
+exception: 0.9.0 and above can correctly decompress multiple
+concatenated compressed files. 0.1pl2 cannot do this; it will stop
+after decompressing just the first file in the stream.
+
+.I bzip2recover
+versions prior to this one, 1.0.2, used 32-bit integers to represent
+bit positions in compressed files, so it could not handle compressed
+files more than 512 megabytes long. Version 1.0.2 and above uses
+64-bit ints on some platforms which support them (GNU supported
+targets, and Windows). To establish whether or not bzip2recover was
+built with such a limitation, run it without arguments. In any event
+you can build yourself an unlimited version if you can recompile it
+with MaybeUInt64 set to be an unsigned 64-bit integer.
+
+
+
+.SH AUTHOR
+Julian Seward, jseward@acm.org.
+
+http://sources.redhat.com/bzip2
+
+The ideas embodied in
+.I bzip2
+are due to (at least) the following
+people: Michael Burrows and David Wheeler (for the block sorting
+transformation), David Wheeler (again, for the Huffman coder), Peter
+Fenwick (for the structured coding model in the original
+.I bzip,
+and many refinements), and Alistair Moffat, Radford Neal and Ian Witten
+(for the arithmetic coder in the original
+.I bzip).
+I am much
+indebted for their help, support and advice. See the manual in the
+source distribution for pointers to sources of documentation. Christian
+von Roques encouraged me to look for faster sorting algorithms, so as to
+speed up compression. Bela Lubkin encouraged me to improve the
+worst-case compression performance.
+The bz* scripts are derived from those of GNU gzip.
+Many people sent patches, helped
+with portability problems, lent machines, gave advice and were generally
+helpful.
diff --git a/Master/texmf/doc/man/man1/cef5conv.1 b/Master/texmf/doc/man/man1/cef5conv.1
new file mode 100644
index 00000000000..7f3a8dc87cf
--- /dev/null
+++ b/Master/texmf/doc/man/man1/cef5conv.1
@@ -0,0 +1,111 @@
+.\" man page for cef5conv
+.
+.TH CEF5CONV 1 11-Aug-2005 "CJK Version 4.6.0"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP
+..
+.\}
+.if n \{\
+.de C
+\\$1
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+cef5conv \- convert a TeX document in Big\ 5 encoding containing CEF macros
+into `preprocessed' form.
+.
+.
+.SH SYNOPSIS
+.B cef5conv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+The
+.B Chinese Encoding Framework
+.RB ( CEF )
+developed by Christian Wittern
+.C <cwittern@conline.central.de>
+makes it possible to include CJK characters in various encodings using the
+SGML macros
+.B &CX-aabb;
+for Big\ 5 and CNS encoding and
+.B &U-aabb;
+for Unicode
+.RB ( X
+denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS
+encoding planes 1-7.
+.B aabb
+is either a decimal or hexadecimal number).
+.PP
+.B cef5conv
+converts the CEF macros of a Big\ 5 encoded document together with the Big\
+5 encoding itself into a form which can directly processed with \*(LE.
+It is identical to
+.IP
+.B bg5conv
+<
+.I infile
+|
+.B cefconv
+>
+.I outfile
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR \%sjisconv (1),
+.BR bg5conv (1),
+.BR \%cefconv (1),
+.BR \%cefsconv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/Master/texmf/doc/man/man1/cefconv.1 b/Master/texmf/doc/man/man1/cefconv.1
new file mode 100644
index 00000000000..d5ff6b17abe
--- /dev/null
+++ b/Master/texmf/doc/man/man1/cefconv.1
@@ -0,0 +1,101 @@
+.\" man page for cefconv
+.
+.TH CEFCONV 1 11-Aug-2005 "CJK Version 4.6.0"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP
+..
+.\}
+.if n \{\
+.de C
+\\$1
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+cefconv \- convert a TeX document containing CEF macros into `preprocessed'
+form.
+.
+.
+.SH SYNOPSIS
+.B cefconv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+The
+.B Chinese Encoding Framework
+.RB ( CEF )
+developed by Christian Wittern
+.C <cwittern@conline.central.de>
+makes it possible to include CJK characters in various encodings using the
+SGML macros
+.B &CX-aabb;
+for Big\ 5 and CNS encoding and
+.B &U-aabb;
+for Unicode
+.RB ( X
+denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS
+encoding planes 1-7.
+.B aabb
+is either a decimal or hexadecimal number)
+.PP
+.B \%cefconv
+converts the CEF macros into a form which can directly processed with \*(LE.
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR \%sjisconv (1),
+.BR bg5conv (1),
+.BR cef5conv (1),
+.BR \%cefsconv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/Master/texmf/doc/man/man1/cefsconv.1 b/Master/texmf/doc/man/man1/cefsconv.1
new file mode 100644
index 00000000000..0dddcecb143
--- /dev/null
+++ b/Master/texmf/doc/man/man1/cefsconv.1
@@ -0,0 +1,111 @@
+.\" man page for cefsconv
+.
+.TH CEFSCONV 1 11-Aug-2005 "CJK Version 4.6.0"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP
+..
+.\}
+.if n \{\
+.de C
+\\$1
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+cefsconv \- convert a TeX document in SJIS encoding containing CEF macros
+into `preprocessed' form.
+.
+.
+.SH SYNOPSIS
+.B cefsconv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+The
+.B Chinese Encoding Framework
+.RB ( CEF )
+developed by Christian Wittern
+.C <cwittern@conline.central.de>
+makes it possible to include CJK characters in various encodings using the
+SGML macros
+.B &CX-aabb;
+for Big\ 5 and CNS encoding and
+.B &U-aabb;
+for Unicode
+.RB ( X
+denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS
+encoding planes 1-7.
+.B aabb
+is either a decimal or hexadecimal number).
+.PP
+.B \%cefsconv
+converts the CEF macros of a SJIS encoded document together with the SJIS
+encoding itself into a form which can directly processed with \*(LE.
+It is identical to
+.IP
+.B sjisconv
+<
+.I infile
+|
+.B cefconv
+>
+.I outfile
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR \%sjisconv (1),
+.BR bg5conv (1),
+.BR \%cefconv (1),
+.BR cef5conv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/Master/texmf/doc/man/man1/cfftot1.1 b/Master/texmf/doc/man/man1/cfftot1.1
new file mode 100644
index 00000000000..dbe0512c1da
--- /dev/null
+++ b/Master/texmf/doc/man/man1/cfftot1.1
@@ -0,0 +1,87 @@
+.ds V 2.34
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.de Sp
+.if n .sp
+.if t .sp 0.4
+..
+.TH CFFTOT1 1 "LCDF Typetools" "Version \*V"
+.SH NAME
+cfftot1 \- convert PostScript font from CFF to Type 1
+.SH SYNOPSIS
+.B cfftot1
+\%[\fB\-a\fR]
+\%[\fIinput\fR [\fIoutput\fR]]
+.SH DESCRIPTION
+.BR Cfftot1
+converts PostScript font programs in the Compact Font Format (CFF) into
+Type 1 font programs in PFB or PFA format, preserving all hints that can be
+represented in Type 1. The input file should be a raw CFF file or a
+PostScript-flavored OpenType font. If the file
+.I output
+is not specified output goes to the standard output.
+If the file
+.I input
+is not specified input comes from the standard input.
+'
+.SH OPTIONS
+.PD 0
+.TP 5
+.BI \-a "\fR, " \-\-pfa
+Output font in ASCII PFA format.
+'
+.Sp
+.TP 5
+.BI \-b "\fR, " \-\-pfb
+Output font in binary PFB format. This is the default.
+'
+.Sp
+.TP 5
+.BI \-n " name\fR, " \-\-name " name"
+Output the CFF's component font named
+.IR name .
+CFF files can contain more than one font, although few do. Use this option
+to select a particular font from a multi-font collection. By default
+cfftot1 chooses the collection's first font.
+'
+.Sp
+.TP 5
+.BI \-o " file\fR, " \-\-output " file"
+Write output font to
+.IR file
+instead of the standard output.
+'
+.Sp
+.TP 5
+.BR \-q ", " \-\-quiet
+Do not generate any error messages.
+'
+.Sp
+.TP 5
+.BR \-h ", " \-\-help
+Print usage information and exit.
+'
+.Sp
+.TP 5
+.BR \-v ", " \-\-version
+Print the version number and some short non-warranty information and exit.
+.PD
+'
+.SH "SEE ALSO"
+.LP
+.M t1binary 1 ,
+.M t1ascii 1
+.LP
+.I "Adobe Type 1 Font Format"
+.LP
+Adobe Technical Notes #5176,
+.IR "The Compact Font Format Specification" ,
+and #5177,
+.I "The Type 2 Charstring Format"
+.LP
+.IR "OpenType Specification" ,
+Version 1.4
+'
+.SH AUTHOR
+Eddie Kohler (kohler@icir.org)
diff --git a/Master/texmf/doc/man/man1/cont-de.1 b/Master/texmf/doc/man/man1/cont-de.1
new file mode 100644
index 00000000000..e28b87d88e4
--- /dev/null
+++ b/Master/texmf/doc/man/man1/cont-de.1
@@ -0,0 +1,458 @@
+.TH PDFETEX 1 "21 August 2004" "Web2C 7.5.3"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP\" for troff
+.el .ds OX TeX\" for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX
+.if n .ds AX AmSTeX
+.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX
+.if n .ds AY AmSLaTeX
+.\"=====================================================================
+.SH NAME
+pdfetex, pdfeinitex, pdfevirtex \- PDF output from e-TeX
+.SH SYNOPSIS
+.B pdfetex
+.RI [ options ]
+.RI [ commands ]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+pdfe\*(TX is a version of e-\*(TX that can create
+.I PDF
+files as well as
+.I DVI
+files.
+.PP
+In
+.I DVI
+mode, pdfe\*(TX can be used as a complete replacement of the e-\*(TX
+engine.
+.PP
+The typical use of pdfe\*(TX is with a pregenerated formats for which
+PDF output has been enabled. The
+.B pdfetex
+command uses the equivalent of the plain e-\*(TX format, and the
+.B pdfelatex
+command uses the equivalent of the e-\*(LX format.
+To generate formats, use the
+.B -ini
+switch.
+.PP
+The
+.B pdfeinitex
+and
+.B pdfevirtex
+commands are pdfe\*(TX's analogues to the
+.B einitex
+and
+.B evirtex
+commands. In this installation, they are symbolic links to the
+.B pdfetex
+executable. These symbolic links may not exist at all.
+.PP
+In
+.I PDF
+mode, pdfe\*(TX can natively handle the
+.IR PDF ,
+.IR JPG ,
+and
+.I PNG
+graphics formats.
+pdfe\*(TX's handling of its command-line arguments is similar to that of
+of the other \*(TX programs in the
+.I web2c
+implementation.
+.\"=====================================================================
+.SH OPTIONS
+This version of pdfe\*(TX understands the following command line options.
+.TP
+.BI -fmt \ format
+.rb
+Use
+.I format
+as the name of the format to be used, instead of the name by which
+pdfe\*(TX was called or a
+.I %&
+line.
+.TP
+.B -enc
+.rb
+Enable the enc\*(TX extensions. This option is only effective in
+combination with
+.BR -ini .
+For documentation of the enc\*(TX extensions see
+.BR http://www.olsak.net/enctex.html .
+.TP
+.B -file-line-error
+.rb
+Print error messages in the form
+.I file:line:error
+which is similar to the way many compilers format them.
+.TP
+.B -no-file-line-error
+.rb
+Disable printing error messages in the
+.I file:line:error
+style.
+.TP
+.B -file-line-error-style
+.rb
+This is the old name of the
+.B -file-line-error
+option.
+.TP
+.B -halt-on-error
+.rb
+Exit with an error code when an error is encountered during processing.
+.TP
+.B -help
+.rb
+Print help message and exit.
+.TP
+.B -ini
+.rb
+Start in
+.I INI
+mode, which is used to dump formats. The
+.I INI
+mode can be used for typesetting, but no format is preloaded, and
+basic initializations like setting catcodes may be required.
+.TP
+.BI -interaction \ mode
+.rb
+Sets the interaction mode. The mode can be either
+.IR batchmode ,
+.IR nonstopmode ,
+.IR scrollmode ,
+and
+.IR errorstopmode .
+The meaning of these modes is the same as that of the corresponding
+\ecommands.
+.TP
+.B -ipc
+.rb
+Send DVI or PDF output to a socket as well as the usual output file.
+Whether this option is available is the choice of the installer.
+.TP
+.B -ipc-start
+.rb
+As
+.BR -ipc ,
+and starts the server at the other end as well. Whether this option
+is available is the choice of the installer.
+.TP
+.BI -jobname \ name
+.rb
+Use
+.I name
+for the job name, instead of deriving it from the name of the input file.
+.TP
+.BI -kpathsea-debug \ bitmask
+.rb
+Sets path searching debugging flags according to the bitmask. See the
+.I Kpathsea
+manual for details.
+.TP
+.BI -mktex \ fmt
+.rb
+Enable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.B -mltex
+.rb
+Enable ML\*(TX extensions. Only effective in combination with
+.BR -ini .
+.TP
+.BI -no-mktex \ fmt
+.rb
+Disable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.BI -output-comment \ string
+.rb
+In
+.I DVI
+mode, use
+.I string
+for the
+.I DVI
+file comment instead of the date. This option is ignored
+in
+.I PDF
+mode.
+.TP
+.BI -output-directory \ directory
+.rb Write output files in
+.I directory
+instead of the current directory. Look up input files in
+.I directory
+first, the along the normal search path.
+.TP
+.BI -output-format \ format
+.rb
+Set the output format mode, where
+.I format
+must be either
+.I pdf
+or
+.IR dvi .
+This also influences the set of graphics formats understood by pdfe\*(TX.
+.TP
+.B -parse-first-line
+.rb
+If the first line of the main input file begins with
+.I %&
+parse it to look for a dump name or a
+.B -translate-file
+option.
+.TP
+.B -no-parse-first-line
+.rb
+Disable parsing of the first line of the main input file.
+.TP
+.BI -progname \ name
+.rb
+Pretend to be program
+.IR name .
+This affects both the format used and the search paths.
+.TP
+.B -recorder
+.rb
+Enable the filename recorder.
+This leaves a trace of the files opened for input and output
+in a file with extension
+.IR .fls .
+.TP
+.B -shell-escape
+.rb
+Enable the
+.BI \ewrite18{ command }
+construct. The
+.I command
+can be any shell command. This construct is normally
+disallowed for security reasons.
+.TP
+.B -no-shell-escape
+.rb
+Disable the
+.BI \ewrite18{ command }
+construct, even if it is enabled in the
+.I texmf.cnf
+file.
+.TP
+.B -src-specials
+.rb
+In
+.I DVI
+mode, insert source specials into the
+.I DVI
+file.
+This option is ignored in
+.I PDF
+mode.
+.TP
+.BI -src-specials \ where
+.rb
+In
+.I DVI
+mode, insert source specials in certain placed of the
+.I DVI
+file.
+.I where
+is a comma-separated value list:
+.IR cr ,
+.IR display ,
+.IR hbox ,
+.IR math ,
+.IR par ,
+.IR parent ,
+or
+.IR vbox .
+This option is ignored in
+.I PDF
+mode.
+.TP
+.BI -translate-file \ tcxname
+.rb
+Use the
+.I tcxname
+translation table to set the mapping of input characters and
+re-mapping of output characters.
+.TP
+.BI -default-translate-file \ tcxname
+.rb
+Like
+.B -translate-file
+except that a
+.I %&
+line can overrule this setting.
+.TP
+.B -version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH ENVIRONMENT
+See the Kpathsearch library documentation (the `Path specifications'
+node) for precise details of how the environment variables are used.
+The
+.B kpsewhich
+utility can be used to query the values of the variables.
+.PP
+One caveat: In most pdfe\*(TX formats, you cannot use ~ in a filename you
+give directly to pdfe\*(TX, because ~ is an active character, and hence is
+expanded, not taken as part of the filename. Other programs, such as
+\*(MF, do not have this problem.
+.PP
+.TP
+TEXMFOUTPUT
+Normally, pdfe\*(TX puts its output files in the current directory. If
+any output file cannot be opened there, it tries to open it in the
+directory specified in the environment variable TEXMFOUTPUT.
+There is no default value for that variable. For example, if you say
+.I pdfetex paper
+and the current directory is not writable, if TEXMFOUTPUT has
+the value
+.IR /tmp ,
+pdfe\*(TX attempts to create
+.I /tmp/paper.log
+(and
+.IR /tmp/paper.pdf ,
+if any output is produced.)
+.TP
+TEXINPUTS
+Search path for
+.I \einput
+and
+.I \eopenin
+files.
+This should probably start with ``.'', so
+that user files are found before system files. An empty path
+component will be replaced with the paths defined in the
+.I texmf.cnf
+file. For example, set TEXINPUTS to ".:/home/usr/tex:" to prepend the
+current direcory and ``/home/user/tex'' to the standard search path.
+.TP
+TEXFORMATS
+Search path for format files.
+.TP
+TEXPOOL
+search path for
+.B pdfetex
+internal strings.
+.TP
+TEXEDIT
+Command template for switching to editor. The default, usually
+.BR vi ,
+is set when pdfe\*(TX is compiled.
+.TP
+TFMFONTS
+Search path for font metric
+.RI ( .tfm )
+files.
+.\"=====================================================================
+.SH FILES
+The location of the files mentioned below varies from system to
+system. Use the
+.B kpsewhich
+utility to find their locations.
+.TP
+.I pdfetex.pool
+Text file containing pdfe\*(TX's internal strings.
+.TP
+.I pdftex.map
+Filename mapping definitions.
+.TP
+.I *.tfm
+Metric files for pdfe\*(TX's fonts.
+.TP
+.I *.fmt
+Predigested pdfe\*(TX format (.\|fmt) files.
+.br
+.\"=====================================================================
+.SH BUGS
+This version of pdfe\*(TX implements a number of optional extensions.
+In fact, many of these extensions conflict to a greater or lesser
+extent with the definition of pdfe\*(TX. When such extensions are
+enabled, the banner printed when pdfe\*(TX starts is changed to print
+.B pdfeTeXk
+instead of
+.BR pdfeTeX .
+.PP
+This version of pdfe\*(TX fails to trap arithmetic overflow when
+dimensions are added or subtracted. Cases where this occurs are rare,
+but when it does the generated
+.I DVI
+file will be invalid. Whether a generated
+.I PDF
+file would be usable is unknown.
+.\"=====================================================================
+.SH AVAILABILITY
+pdfe\*(TX is available for a large variety of machine architectures
+and operation systems.
+pdfe\*(TX is part of all major \*(TX distributions.
+.P
+Information on how to get pdfe\*(TX and related information
+is available at the
+.BI "http://tug.org" \ TUG
+website.
+The most recent version of pdfe\*(TX is available for anonymous
+ftp at the
+.B http://www.pdftex.de/tex/pdftex/
+.IR "pdfe\*(TX development site" .
+.P
+The following pdfe\*(TX related mailing list is available:
+.BR pdftex@tug.org .
+This is a majordomo list;
+to subscribe send a message containing
+.I subscribe pdftex
+to
+.BR majordomo@tug.org .
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tex (1),
+.BR mf (1),
+.BR etex (1),
+.BR pdftex (1).
+.\"=====================================================================
+.SH AUTHORS
+The primary authors of pdf\*(TX are Han The Thanh, Petr Sojka, and
+Jiri Zlatuska.
+.PP
+\*(TX was designed by Donald E. Knuth,
+who implemented it using his \*(WB system for Pascal programs.
+It was ported to Unix at Stanford by Howard Trickey, and
+at Cornell by Pavel Curtis.
+The version now offered with the Unix \*(TX distribution is that
+generated by the \*(WB to C system
+.RB ( web2c ),
+originally written by Tomas Rokicki and Tim Morgan.
+.PP
+The enc\*(TX extensions were written by Petr Olsak.
diff --git a/Master/texmf/doc/man/man1/cont-en.1 b/Master/texmf/doc/man/man1/cont-en.1
new file mode 100644
index 00000000000..e28b87d88e4
--- /dev/null
+++ b/Master/texmf/doc/man/man1/cont-en.1
@@ -0,0 +1,458 @@
+.TH PDFETEX 1 "21 August 2004" "Web2C 7.5.3"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP\" for troff
+.el .ds OX TeX\" for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX
+.if n .ds AX AmSTeX
+.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX
+.if n .ds AY AmSLaTeX
+.\"=====================================================================
+.SH NAME
+pdfetex, pdfeinitex, pdfevirtex \- PDF output from e-TeX
+.SH SYNOPSIS
+.B pdfetex
+.RI [ options ]
+.RI [ commands ]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+pdfe\*(TX is a version of e-\*(TX that can create
+.I PDF
+files as well as
+.I DVI
+files.
+.PP
+In
+.I DVI
+mode, pdfe\*(TX can be used as a complete replacement of the e-\*(TX
+engine.
+.PP
+The typical use of pdfe\*(TX is with a pregenerated formats for which
+PDF output has been enabled. The
+.B pdfetex
+command uses the equivalent of the plain e-\*(TX format, and the
+.B pdfelatex
+command uses the equivalent of the e-\*(LX format.
+To generate formats, use the
+.B -ini
+switch.
+.PP
+The
+.B pdfeinitex
+and
+.B pdfevirtex
+commands are pdfe\*(TX's analogues to the
+.B einitex
+and
+.B evirtex
+commands. In this installation, they are symbolic links to the
+.B pdfetex
+executable. These symbolic links may not exist at all.
+.PP
+In
+.I PDF
+mode, pdfe\*(TX can natively handle the
+.IR PDF ,
+.IR JPG ,
+and
+.I PNG
+graphics formats.
+pdfe\*(TX's handling of its command-line arguments is similar to that of
+of the other \*(TX programs in the
+.I web2c
+implementation.
+.\"=====================================================================
+.SH OPTIONS
+This version of pdfe\*(TX understands the following command line options.
+.TP
+.BI -fmt \ format
+.rb
+Use
+.I format
+as the name of the format to be used, instead of the name by which
+pdfe\*(TX was called or a
+.I %&
+line.
+.TP
+.B -enc
+.rb
+Enable the enc\*(TX extensions. This option is only effective in
+combination with
+.BR -ini .
+For documentation of the enc\*(TX extensions see
+.BR http://www.olsak.net/enctex.html .
+.TP
+.B -file-line-error
+.rb
+Print error messages in the form
+.I file:line:error
+which is similar to the way many compilers format them.
+.TP
+.B -no-file-line-error
+.rb
+Disable printing error messages in the
+.I file:line:error
+style.
+.TP
+.B -file-line-error-style
+.rb
+This is the old name of the
+.B -file-line-error
+option.
+.TP
+.B -halt-on-error
+.rb
+Exit with an error code when an error is encountered during processing.
+.TP
+.B -help
+.rb
+Print help message and exit.
+.TP
+.B -ini
+.rb
+Start in
+.I INI
+mode, which is used to dump formats. The
+.I INI
+mode can be used for typesetting, but no format is preloaded, and
+basic initializations like setting catcodes may be required.
+.TP
+.BI -interaction \ mode
+.rb
+Sets the interaction mode. The mode can be either
+.IR batchmode ,
+.IR nonstopmode ,
+.IR scrollmode ,
+and
+.IR errorstopmode .
+The meaning of these modes is the same as that of the corresponding
+\ecommands.
+.TP
+.B -ipc
+.rb
+Send DVI or PDF output to a socket as well as the usual output file.
+Whether this option is available is the choice of the installer.
+.TP
+.B -ipc-start
+.rb
+As
+.BR -ipc ,
+and starts the server at the other end as well. Whether this option
+is available is the choice of the installer.
+.TP
+.BI -jobname \ name
+.rb
+Use
+.I name
+for the job name, instead of deriving it from the name of the input file.
+.TP
+.BI -kpathsea-debug \ bitmask
+.rb
+Sets path searching debugging flags according to the bitmask. See the
+.I Kpathsea
+manual for details.
+.TP
+.BI -mktex \ fmt
+.rb
+Enable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.B -mltex
+.rb
+Enable ML\*(TX extensions. Only effective in combination with
+.BR -ini .
+.TP
+.BI -no-mktex \ fmt
+.rb
+Disable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.BI -output-comment \ string
+.rb
+In
+.I DVI
+mode, use
+.I string
+for the
+.I DVI
+file comment instead of the date. This option is ignored
+in
+.I PDF
+mode.
+.TP
+.BI -output-directory \ directory
+.rb Write output files in
+.I directory
+instead of the current directory. Look up input files in
+.I directory
+first, the along the normal search path.
+.TP
+.BI -output-format \ format
+.rb
+Set the output format mode, where
+.I format
+must be either
+.I pdf
+or
+.IR dvi .
+This also influences the set of graphics formats understood by pdfe\*(TX.
+.TP
+.B -parse-first-line
+.rb
+If the first line of the main input file begins with
+.I %&
+parse it to look for a dump name or a
+.B -translate-file
+option.
+.TP
+.B -no-parse-first-line
+.rb
+Disable parsing of the first line of the main input file.
+.TP
+.BI -progname \ name
+.rb
+Pretend to be program
+.IR name .
+This affects both the format used and the search paths.
+.TP
+.B -recorder
+.rb
+Enable the filename recorder.
+This leaves a trace of the files opened for input and output
+in a file with extension
+.IR .fls .
+.TP
+.B -shell-escape
+.rb
+Enable the
+.BI \ewrite18{ command }
+construct. The
+.I command
+can be any shell command. This construct is normally
+disallowed for security reasons.
+.TP
+.B -no-shell-escape
+.rb
+Disable the
+.BI \ewrite18{ command }
+construct, even if it is enabled in the
+.I texmf.cnf
+file.
+.TP
+.B -src-specials
+.rb
+In
+.I DVI
+mode, insert source specials into the
+.I DVI
+file.
+This option is ignored in
+.I PDF
+mode.
+.TP
+.BI -src-specials \ where
+.rb
+In
+.I DVI
+mode, insert source specials in certain placed of the
+.I DVI
+file.
+.I where
+is a comma-separated value list:
+.IR cr ,
+.IR display ,
+.IR hbox ,
+.IR math ,
+.IR par ,
+.IR parent ,
+or
+.IR vbox .
+This option is ignored in
+.I PDF
+mode.
+.TP
+.BI -translate-file \ tcxname
+.rb
+Use the
+.I tcxname
+translation table to set the mapping of input characters and
+re-mapping of output characters.
+.TP
+.BI -default-translate-file \ tcxname
+.rb
+Like
+.B -translate-file
+except that a
+.I %&
+line can overrule this setting.
+.TP
+.B -version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH ENVIRONMENT
+See the Kpathsearch library documentation (the `Path specifications'
+node) for precise details of how the environment variables are used.
+The
+.B kpsewhich
+utility can be used to query the values of the variables.
+.PP
+One caveat: In most pdfe\*(TX formats, you cannot use ~ in a filename you
+give directly to pdfe\*(TX, because ~ is an active character, and hence is
+expanded, not taken as part of the filename. Other programs, such as
+\*(MF, do not have this problem.
+.PP
+.TP
+TEXMFOUTPUT
+Normally, pdfe\*(TX puts its output files in the current directory. If
+any output file cannot be opened there, it tries to open it in the
+directory specified in the environment variable TEXMFOUTPUT.
+There is no default value for that variable. For example, if you say
+.I pdfetex paper
+and the current directory is not writable, if TEXMFOUTPUT has
+the value
+.IR /tmp ,
+pdfe\*(TX attempts to create
+.I /tmp/paper.log
+(and
+.IR /tmp/paper.pdf ,
+if any output is produced.)
+.TP
+TEXINPUTS
+Search path for
+.I \einput
+and
+.I \eopenin
+files.
+This should probably start with ``.'', so
+that user files are found before system files. An empty path
+component will be replaced with the paths defined in the
+.I texmf.cnf
+file. For example, set TEXINPUTS to ".:/home/usr/tex:" to prepend the
+current direcory and ``/home/user/tex'' to the standard search path.
+.TP
+TEXFORMATS
+Search path for format files.
+.TP
+TEXPOOL
+search path for
+.B pdfetex
+internal strings.
+.TP
+TEXEDIT
+Command template for switching to editor. The default, usually
+.BR vi ,
+is set when pdfe\*(TX is compiled.
+.TP
+TFMFONTS
+Search path for font metric
+.RI ( .tfm )
+files.
+.\"=====================================================================
+.SH FILES
+The location of the files mentioned below varies from system to
+system. Use the
+.B kpsewhich
+utility to find their locations.
+.TP
+.I pdfetex.pool
+Text file containing pdfe\*(TX's internal strings.
+.TP
+.I pdftex.map
+Filename mapping definitions.
+.TP
+.I *.tfm
+Metric files for pdfe\*(TX's fonts.
+.TP
+.I *.fmt
+Predigested pdfe\*(TX format (.\|fmt) files.
+.br
+.\"=====================================================================
+.SH BUGS
+This version of pdfe\*(TX implements a number of optional extensions.
+In fact, many of these extensions conflict to a greater or lesser
+extent with the definition of pdfe\*(TX. When such extensions are
+enabled, the banner printed when pdfe\*(TX starts is changed to print
+.B pdfeTeXk
+instead of
+.BR pdfeTeX .
+.PP
+This version of pdfe\*(TX fails to trap arithmetic overflow when
+dimensions are added or subtracted. Cases where this occurs are rare,
+but when it does the generated
+.I DVI
+file will be invalid. Whether a generated
+.I PDF
+file would be usable is unknown.
+.\"=====================================================================
+.SH AVAILABILITY
+pdfe\*(TX is available for a large variety of machine architectures
+and operation systems.
+pdfe\*(TX is part of all major \*(TX distributions.
+.P
+Information on how to get pdfe\*(TX and related information
+is available at the
+.BI "http://tug.org" \ TUG
+website.
+The most recent version of pdfe\*(TX is available for anonymous
+ftp at the
+.B http://www.pdftex.de/tex/pdftex/
+.IR "pdfe\*(TX development site" .
+.P
+The following pdfe\*(TX related mailing list is available:
+.BR pdftex@tug.org .
+This is a majordomo list;
+to subscribe send a message containing
+.I subscribe pdftex
+to
+.BR majordomo@tug.org .
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tex (1),
+.BR mf (1),
+.BR etex (1),
+.BR pdftex (1).
+.\"=====================================================================
+.SH AUTHORS
+The primary authors of pdf\*(TX are Han The Thanh, Petr Sojka, and
+Jiri Zlatuska.
+.PP
+\*(TX was designed by Donald E. Knuth,
+who implemented it using his \*(WB system for Pascal programs.
+It was ported to Unix at Stanford by Howard Trickey, and
+at Cornell by Pavel Curtis.
+The version now offered with the Unix \*(TX distribution is that
+generated by the \*(WB to C system
+.RB ( web2c ),
+originally written by Tomas Rokicki and Tim Morgan.
+.PP
+The enc\*(TX extensions were written by Petr Olsak.
diff --git a/Master/texmf/doc/man/man1/cont-nl.1 b/Master/texmf/doc/man/man1/cont-nl.1
new file mode 100644
index 00000000000..e28b87d88e4
--- /dev/null
+++ b/Master/texmf/doc/man/man1/cont-nl.1
@@ -0,0 +1,458 @@
+.TH PDFETEX 1 "21 August 2004" "Web2C 7.5.3"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP\" for troff
+.el .ds OX TeX\" for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX
+.if n .ds AX AmSTeX
+.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX
+.if n .ds AY AmSLaTeX
+.\"=====================================================================
+.SH NAME
+pdfetex, pdfeinitex, pdfevirtex \- PDF output from e-TeX
+.SH SYNOPSIS
+.B pdfetex
+.RI [ options ]
+.RI [ commands ]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+pdfe\*(TX is a version of e-\*(TX that can create
+.I PDF
+files as well as
+.I DVI
+files.
+.PP
+In
+.I DVI
+mode, pdfe\*(TX can be used as a complete replacement of the e-\*(TX
+engine.
+.PP
+The typical use of pdfe\*(TX is with a pregenerated formats for which
+PDF output has been enabled. The
+.B pdfetex
+command uses the equivalent of the plain e-\*(TX format, and the
+.B pdfelatex
+command uses the equivalent of the e-\*(LX format.
+To generate formats, use the
+.B -ini
+switch.
+.PP
+The
+.B pdfeinitex
+and
+.B pdfevirtex
+commands are pdfe\*(TX's analogues to the
+.B einitex
+and
+.B evirtex
+commands. In this installation, they are symbolic links to the
+.B pdfetex
+executable. These symbolic links may not exist at all.
+.PP
+In
+.I PDF
+mode, pdfe\*(TX can natively handle the
+.IR PDF ,
+.IR JPG ,
+and
+.I PNG
+graphics formats.
+pdfe\*(TX's handling of its command-line arguments is similar to that of
+of the other \*(TX programs in the
+.I web2c
+implementation.
+.\"=====================================================================
+.SH OPTIONS
+This version of pdfe\*(TX understands the following command line options.
+.TP
+.BI -fmt \ format
+.rb
+Use
+.I format
+as the name of the format to be used, instead of the name by which
+pdfe\*(TX was called or a
+.I %&
+line.
+.TP
+.B -enc
+.rb
+Enable the enc\*(TX extensions. This option is only effective in
+combination with
+.BR -ini .
+For documentation of the enc\*(TX extensions see
+.BR http://www.olsak.net/enctex.html .
+.TP
+.B -file-line-error
+.rb
+Print error messages in the form
+.I file:line:error
+which is similar to the way many compilers format them.
+.TP
+.B -no-file-line-error
+.rb
+Disable printing error messages in the
+.I file:line:error
+style.
+.TP
+.B -file-line-error-style
+.rb
+This is the old name of the
+.B -file-line-error
+option.
+.TP
+.B -halt-on-error
+.rb
+Exit with an error code when an error is encountered during processing.
+.TP
+.B -help
+.rb
+Print help message and exit.
+.TP
+.B -ini
+.rb
+Start in
+.I INI
+mode, which is used to dump formats. The
+.I INI
+mode can be used for typesetting, but no format is preloaded, and
+basic initializations like setting catcodes may be required.
+.TP
+.BI -interaction \ mode
+.rb
+Sets the interaction mode. The mode can be either
+.IR batchmode ,
+.IR nonstopmode ,
+.IR scrollmode ,
+and
+.IR errorstopmode .
+The meaning of these modes is the same as that of the corresponding
+\ecommands.
+.TP
+.B -ipc
+.rb
+Send DVI or PDF output to a socket as well as the usual output file.
+Whether this option is available is the choice of the installer.
+.TP
+.B -ipc-start
+.rb
+As
+.BR -ipc ,
+and starts the server at the other end as well. Whether this option
+is available is the choice of the installer.
+.TP
+.BI -jobname \ name
+.rb
+Use
+.I name
+for the job name, instead of deriving it from the name of the input file.
+.TP
+.BI -kpathsea-debug \ bitmask
+.rb
+Sets path searching debugging flags according to the bitmask. See the
+.I Kpathsea
+manual for details.
+.TP
+.BI -mktex \ fmt
+.rb
+Enable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.B -mltex
+.rb
+Enable ML\*(TX extensions. Only effective in combination with
+.BR -ini .
+.TP
+.BI -no-mktex \ fmt
+.rb
+Disable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.BI -output-comment \ string
+.rb
+In
+.I DVI
+mode, use
+.I string
+for the
+.I DVI
+file comment instead of the date. This option is ignored
+in
+.I PDF
+mode.
+.TP
+.BI -output-directory \ directory
+.rb Write output files in
+.I directory
+instead of the current directory. Look up input files in
+.I directory
+first, the along the normal search path.
+.TP
+.BI -output-format \ format
+.rb
+Set the output format mode, where
+.I format
+must be either
+.I pdf
+or
+.IR dvi .
+This also influences the set of graphics formats understood by pdfe\*(TX.
+.TP
+.B -parse-first-line
+.rb
+If the first line of the main input file begins with
+.I %&
+parse it to look for a dump name or a
+.B -translate-file
+option.
+.TP
+.B -no-parse-first-line
+.rb
+Disable parsing of the first line of the main input file.
+.TP
+.BI -progname \ name
+.rb
+Pretend to be program
+.IR name .
+This affects both the format used and the search paths.
+.TP
+.B -recorder
+.rb
+Enable the filename recorder.
+This leaves a trace of the files opened for input and output
+in a file with extension
+.IR .fls .
+.TP
+.B -shell-escape
+.rb
+Enable the
+.BI \ewrite18{ command }
+construct. The
+.I command
+can be any shell command. This construct is normally
+disallowed for security reasons.
+.TP
+.B -no-shell-escape
+.rb
+Disable the
+.BI \ewrite18{ command }
+construct, even if it is enabled in the
+.I texmf.cnf
+file.
+.TP
+.B -src-specials
+.rb
+In
+.I DVI
+mode, insert source specials into the
+.I DVI
+file.
+This option is ignored in
+.I PDF
+mode.
+.TP
+.BI -src-specials \ where
+.rb
+In
+.I DVI
+mode, insert source specials in certain placed of the
+.I DVI
+file.
+.I where
+is a comma-separated value list:
+.IR cr ,
+.IR display ,
+.IR hbox ,
+.IR math ,
+.IR par ,
+.IR parent ,
+or
+.IR vbox .
+This option is ignored in
+.I PDF
+mode.
+.TP
+.BI -translate-file \ tcxname
+.rb
+Use the
+.I tcxname
+translation table to set the mapping of input characters and
+re-mapping of output characters.
+.TP
+.BI -default-translate-file \ tcxname
+.rb
+Like
+.B -translate-file
+except that a
+.I %&
+line can overrule this setting.
+.TP
+.B -version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH ENVIRONMENT
+See the Kpathsearch library documentation (the `Path specifications'
+node) for precise details of how the environment variables are used.
+The
+.B kpsewhich
+utility can be used to query the values of the variables.
+.PP
+One caveat: In most pdfe\*(TX formats, you cannot use ~ in a filename you
+give directly to pdfe\*(TX, because ~ is an active character, and hence is
+expanded, not taken as part of the filename. Other programs, such as
+\*(MF, do not have this problem.
+.PP
+.TP
+TEXMFOUTPUT
+Normally, pdfe\*(TX puts its output files in the current directory. If
+any output file cannot be opened there, it tries to open it in the
+directory specified in the environment variable TEXMFOUTPUT.
+There is no default value for that variable. For example, if you say
+.I pdfetex paper
+and the current directory is not writable, if TEXMFOUTPUT has
+the value
+.IR /tmp ,
+pdfe\*(TX attempts to create
+.I /tmp/paper.log
+(and
+.IR /tmp/paper.pdf ,
+if any output is produced.)
+.TP
+TEXINPUTS
+Search path for
+.I \einput
+and
+.I \eopenin
+files.
+This should probably start with ``.'', so
+that user files are found before system files. An empty path
+component will be replaced with the paths defined in the
+.I texmf.cnf
+file. For example, set TEXINPUTS to ".:/home/usr/tex:" to prepend the
+current direcory and ``/home/user/tex'' to the standard search path.
+.TP
+TEXFORMATS
+Search path for format files.
+.TP
+TEXPOOL
+search path for
+.B pdfetex
+internal strings.
+.TP
+TEXEDIT
+Command template for switching to editor. The default, usually
+.BR vi ,
+is set when pdfe\*(TX is compiled.
+.TP
+TFMFONTS
+Search path for font metric
+.RI ( .tfm )
+files.
+.\"=====================================================================
+.SH FILES
+The location of the files mentioned below varies from system to
+system. Use the
+.B kpsewhich
+utility to find their locations.
+.TP
+.I pdfetex.pool
+Text file containing pdfe\*(TX's internal strings.
+.TP
+.I pdftex.map
+Filename mapping definitions.
+.TP
+.I *.tfm
+Metric files for pdfe\*(TX's fonts.
+.TP
+.I *.fmt
+Predigested pdfe\*(TX format (.\|fmt) files.
+.br
+.\"=====================================================================
+.SH BUGS
+This version of pdfe\*(TX implements a number of optional extensions.
+In fact, many of these extensions conflict to a greater or lesser
+extent with the definition of pdfe\*(TX. When such extensions are
+enabled, the banner printed when pdfe\*(TX starts is changed to print
+.B pdfeTeXk
+instead of
+.BR pdfeTeX .
+.PP
+This version of pdfe\*(TX fails to trap arithmetic overflow when
+dimensions are added or subtracted. Cases where this occurs are rare,
+but when it does the generated
+.I DVI
+file will be invalid. Whether a generated
+.I PDF
+file would be usable is unknown.
+.\"=====================================================================
+.SH AVAILABILITY
+pdfe\*(TX is available for a large variety of machine architectures
+and operation systems.
+pdfe\*(TX is part of all major \*(TX distributions.
+.P
+Information on how to get pdfe\*(TX and related information
+is available at the
+.BI "http://tug.org" \ TUG
+website.
+The most recent version of pdfe\*(TX is available for anonymous
+ftp at the
+.B http://www.pdftex.de/tex/pdftex/
+.IR "pdfe\*(TX development site" .
+.P
+The following pdfe\*(TX related mailing list is available:
+.BR pdftex@tug.org .
+This is a majordomo list;
+to subscribe send a message containing
+.I subscribe pdftex
+to
+.BR majordomo@tug.org .
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tex (1),
+.BR mf (1),
+.BR etex (1),
+.BR pdftex (1).
+.\"=====================================================================
+.SH AUTHORS
+The primary authors of pdf\*(TX are Han The Thanh, Petr Sojka, and
+Jiri Zlatuska.
+.PP
+\*(TX was designed by Donald E. Knuth,
+who implemented it using his \*(WB system for Pascal programs.
+It was ported to Unix at Stanford by Howard Trickey, and
+at Cornell by Pavel Curtis.
+The version now offered with the Unix \*(TX distribution is that
+generated by the \*(WB to C system
+.RB ( web2c ),
+originally written by Tomas Rokicki and Tim Morgan.
+.PP
+The enc\*(TX extensions were written by Petr Olsak.
diff --git a/Master/texmf/doc/man/man1/ctangle.1 b/Master/texmf/doc/man/man1/ctangle.1
new file mode 120000
index 00000000000..36112227c2d
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ctangle.1
@@ -0,0 +1 @@
+cweb.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/ctie.1 b/Master/texmf/doc/man/man1/ctie.1
new file mode 100644
index 00000000000..8058d364e5a
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ctie.1
@@ -0,0 +1,55 @@
+.TH CTIE 1 20/04/2003
+.SH NAME
+ctie \- merge or apply CWEB change files
+.SH SYNOPSIS
+.B ctie
+.B \-c|\-m
+.I outputfile masterfile changefile...
+
+.SH DESCRIPTION
+The
+.I CTIE
+program is used to process multiple change files used with the CWEB
+system for literate programming. The CWEB programs allow one to apply
+patches to a source file (the
+.IR masterfile )
+by means of a single change file.
+.I CTIE
+can be used to either merge up to 32 change files into a single one or
+to apply the changes to the
+.I masterfile
+in order to create a new master file. Output of either the new change
+file or the patched master file goes into
+.IR outputfile .
+Any include files (indicated using the CWEB
+.I @i
+command) are fully expanded during
+.I CTIE
+processing, which means that the change files are able to modify the
+contents of any included files. Also, if this program has been
+compiled using the
+.I kpathsea
+library, then files are searched for using the
+.I CWEBINPUTS
+environment variable, as described in the
+.I kpathsea
+documentation.
+.SH OPTIONS
+.TP
+.B \-c
+Create a single change file from the given
+.IR changefiles .
+.TP
+.B \-m
+Create a new master file by applying the given
+.IR changefiles .
+.SH "SEE ALSO"
+.BR cweb (1),
+.IR ctiedoc.tex ,
+.BR tie (1),
+.BR web (1).
+.SH "AUTHOR"
+Julian Gilbey, jdg@debian.org. The original TIE program was by Klaus
+Guntermann, TH Darmstadt, Institut f. Theoretische Informatik. The
+TIE man page was by Joachim Schnitter, TH Darmstadt, Phys. Chemie I,
+and was modified for CTIE by Julian Gilbey.
diff --git a/Master/texmf/doc/man/man1/cweave.1 b/Master/texmf/doc/man/man1/cweave.1
new file mode 120000
index 00000000000..36112227c2d
--- /dev/null
+++ b/Master/texmf/doc/man/man1/cweave.1
@@ -0,0 +1 @@
+cweb.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/cweb.1 b/Master/texmf/doc/man/man1/cweb.1
new file mode 100644
index 00000000000..617f92379b4
--- /dev/null
+++ b/Master/texmf/doc/man/man1/cweb.1
@@ -0,0 +1,133 @@
+.TH CWEB 1 "19 December 2004" "Web2C 7.5.5"
+.
+.SH NAME
+ctangle, cweave \- translate CWEB to C and/or TeX
+.
+.SH SYNOPSIS
+.na
+.B ctangle
+[
+.B \-bhp
+] [
+.B +s
+] webfile[.w] [changefile[.ch]] [outputfile[.c]]
+.br
+.B cweave
+[
+.B \-befhpx
+] [
+.B +s
+] webfile[.w] [changefile[.ch]] [outputfile[.tex]]
+.ad
+.
+.SH DESCRIPTION
+The
+.I ctangle
+program converts a CWEB
+source document into a C\ program that may be compiled in the usual way.
+The output file includes #line specifications so that debugging can be
+done in terms of the CWEB source file.
+.PP
+The
+.I cweave
+program converts the same CWEB file into a TeX file that may be
+formatted and printed in the usual way.
+It takes appropriate care of typographic details like page
+layout and the use of indentation, italics, boldface, etc., and it supplies
+extensive cross-index information that it gathers automatically.
+.PP
+CWEB allows you to prepare a single
+document containing all the information that is needed both to produce
+a compilable C\ program and to produce a well-formatted document
+describing the program in as much detail as the writer may desire.
+The user of CWEB ought to be familiar with TeX as well as\ C.
+.PP
+The command line should have one, two, or three names on it.
+The first is taken as the CWEB file (and .w is added if there is no
+extension).
+If that file cannot be opened, the extension .web is tried instead.
+(But .w is recommended, since .web usually implies Pascal.)
+If there is a second name, it is a change file (and .ch is added if there is
+no extension).
+The change file overrides parts of the WEB file,
+as described in the documentation.
+If there is a third name, it overrides
+the default name of the output file, which is ordinarily the same as
+the name of the input file (but on the current directory) with the
+extension .c or .tex.
+.PP
+Options in the command line may be either turned off with\ \-
+(if they are on by default) or turned on with\ + (if they are off by
+default).
+In fact, the options are processed from left to right,
+so a sequence like -f\ +f corresponds to +f (which is the default).
+.PP
+The
+.B \-b
+option suppresses the banner line that normally appears on your terminal
+when ctangle or cweave begins.
+The
+.B \-h
+option suppresses the happy message that normally appears if the processing
+was successful.
+The
+.B \-p
+option suppresses progress reports (starred module numbers) as the processing
+takes place.
+If you say -bhp, you get nothing but error messages.
+.PP
+The
+.B +s
+option prints statistics about memory usage at the end of a run
+(assuming that the programs have been compiled with the -DSTAT switch).
+.PP
+There are three other options applicable to
+.I cweave
+only:
+.B \-f
+means do not force a newline after every statement in the formatted output.
+.B \-e
+inhibits the enclosure of C\ material formatted by
+.I cweave
+in brackets
+\ePB{...}.
+Such brackets are normally inserted so that special hooks
+can be used by
+.I cweb-latex
+and similar programs.
+.B \-x
+means omit the index and table of contents.
+.
+.SH FILES
+The location of the files mentioned below varies from system to
+system. Use the
+.B kpsewhich
+utility to find their locations.
+.TP
+.I cwebmac.tex
+TeX macros used by cweave output.
+.TP
+.I cwebman.tex
+The user manual.
+.
+.SH "SEE ALSO"
+.TP
+.I Literate Programming
+by D. E. Knuth
+.TP
+.I Weaving a Program
+by Wayne Sewell
+.TP
+.I The CWEB System of Structured Documentation
+by Donald E. Knuth and Silvio Levy (hardcopy version of cwebman.tex
+and the source code listings)
+.TP
+tex(1), cc(1)
+.
+.SH AUTHORS
+Don Knuth wrote WEB for TeX and Pascal.
+Silvio Levy designed and developed CWEB
+by adapting the WEB conventions to\ C and by recoding everything in CWEB.
+Knuth began using CWEB and made further refinements.
+Many other helpers are acknowledged in the CWEB manual.
+
diff --git a/Master/texmf/doc/man/man1/detex.1 b/Master/texmf/doc/man/man1/detex.1
new file mode 100644
index 00000000000..93e71005746
--- /dev/null
+++ b/Master/texmf/doc/man/man1/detex.1
@@ -0,0 +1,126 @@
+.TH DETEX 1L "12 August 1993" "Purdue University"
+.SH NAME
+detex \- a filter to strip \fITeX\fP commands from a .tex file.
+.SH SYNOPSIS
+.B detex
+[ \fB\-clnstw\fR ] [ \fB\-e\fI environment-list\fR ] [ \fIfilename\fR[.tex] ... ]
+.SH DESCRIPTION
+.I Detex
+(Version 2.6)
+reads each file in sequence, removes all comments and
+.I TeX
+control sequences
+and writes the remainder on the standard output.
+All text in math mode and display mode is removed.
+By default,
+.I detex
+follows \\input commands.
+If a file cannot be opened, a warning message is
+printed and the command is ignored.
+If the
+.B \-n
+option is used, no \\input or \\include commands will be processed.
+This allows single file processing.
+If no input file is given on the command line,
+.I detex
+reads from standard input.
+.PP
+If the magic sequence ``\\begin{document}'' appears in the text,
+.I detex
+assumes it is dealing with
+.I LaTeX
+source and
+.I detex
+recognizes additional constructs used in
+.IR LaTeX .
+These include the \\include and \\includeonly commands.
+The
+.B \-l
+option can be used to force
+.I LaTeX
+mode and the
+.B \-t
+option can be used to force
+.I TeX
+mode regardless of input content.
+.PP
+Text in various environment modes of
+.I LaTeX
+is ignored. The default modes are array, eqnarray, equation, figure,
+mathmatica, picture, table and verbatim. The
+.B \-e
+option can be used to specify a comma separated
+.I environment-list
+of environments to ignore. The list replaces the defaults so specifying an
+empty list effectively causes no environments to be ignored.
+.PP
+The
+.B \-c
+option can be used in
+.I LaTeX
+mode to have detex echo the arguments to \\cite,
+\\ref, and \\pageref macros. This can be useful when sending the output to
+a style checker.
+.PP
+.I Detex
+assumes the standard character classes are being used for
+.IR TeX .
+.I Detex
+allows white space between control sequences
+and magic characters like `{' when recognizing things like
+.I LaTeX
+environments.
+.PP
+If the
+.B \-w
+flag is given, the output is a word list, one `word' (string of two or more
+letters and apostrophes beginning with a letter)
+per line, and all other characters ignored.
+Without \fB\-w\fR the output follows the original,
+with the deletions mentioned above. Newline characters are
+preserved where possible
+so that the lines of output match the input as closely as possible.
+.PP
+The TEXINPUTS environment variable is used to find \\input and \\include
+files. Like \fITeX\fP, it interprets a leading or trailing `:' as the default
+TEXINPUTS. It does \fInot\fP support the `//' directory expansion magic sequence.
+.PP
+Detex now handles the basic \fITeX\fP ligatures as a special case, replacing the
+ligatures with acceptable charater substitutes. This eliminates
+spelling errors introduced by merely removing them. The ligatures are
+\\aa, \\ae, \\oe, \\ss, \\o, \\l (and their upper-case
+equivalents). The special "dotless" characters \\i and \\j are also
+replaced with i and j respectively.
+.PP
+Note that previous versions of
+.I detex
+would replace control sequences with a space character to prevent words
+from running together.
+However, this caused accents in the middle of words to break words, generating
+"spelling errors" that were not desirable.
+Therefore, the new version merely removes these accents.
+The old functionality can be essentially duplicated by using the
+.B \-s
+option.
+.SH SEE ALSO
+tex(1L)
+.SH DIAGNOSTICS
+Nesting of \\input is allowed but the number of opened files must not
+exceed the system's limit on the number of simultaneously opened files.
+.I Detex
+ignores unrecognized option characters after printing a warning message.
+.SH AUTHOR
+Daniel Trinkle, Computer Science Department, Purdue University
+.SH BUGS
+.I Detex
+is not a complete
+.I TeX
+interpreter, so it can be confused by some constructs.
+Most errors result in too much rather than too little output.
+.PP
+Running \fILaTeX\fR
+source without a ``\\begin{document}''
+through \fIdetex\fR may produce
+errors.
+.PP
+Suggestions for improvements are (mildly) encouraged.
diff --git a/Master/texmf/doc/man/man1/dmp.1 b/Master/texmf/doc/man/man1/dmp.1
new file mode 100644
index 00000000000..69f54d4040b
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dmp.1
@@ -0,0 +1,60 @@
+.TH DMP 1 "4 January 1998" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MP MetaPost
+.if t .ds MP MetaPost
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+dmp \- translate Troff output to low-level MetaPost input
+.SH SYNOPSIS
+.B dmp
+.RI [ option ]
+.I ditrofffile
+.RI [ mpxfile ]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B dmp
+program generates \*(MP source code from the
+.IR ditrofffile .
+The generated code is written in
+.I mpxfile
+if it is specified, and to standard output otherwise.
+.PP
+.B dmp
+is typically called from scripts like
+.BR makempx ,
+not from the command line.
+.\"=====================================================================
+.SH OPTIONS
+.B dmp
+accepts the following options:
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.B --version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR mpost (1),
+.BR makempx (1).
diff --git a/Master/texmf/doc/man/man1/dt2dv.1 b/Master/texmf/doc/man/man1/dt2dv.1
new file mode 100644
index 00000000000..d3b4726d2b7
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dt2dv.1
@@ -0,0 +1,156 @@
+.\" ====================================================================
+.\" @Troff-man-file{
+.\" author = "Nelson H. F. Beebe and Geoffrey R. D. Tobin",
+.\" version = "0.6.0",
+.\" date = "08 March 1995",
+.\" time = "19:57:00 GMT +11",
+.\" filename = "dt2dv.man",
+.\" address = "Center for Scientific Computing
+.\" Department of Mathematics
+.\" University of Utah
+.\" Salt Lake City, UT 84112
+.\" USA",
+.\" telephone = "+1 801 581 5254",
+.\" FAX = "+1 801 581 4148",
+.\" checksum = "03708 156 634 4989",
+.\" email = "beebe@math.utah.edu (Internet)",
+.\" codetable = "ISO/ASCII",
+.\" keywords = "DVI, TeX",
+.\" supported = "no",
+.\" docstring = "This file contains the UNIX manual pages
+.\" for the dt2dv utility, a program for
+.\" converting a DTL text representation of a TeX
+.\" DVI file, usually produced by the companion
+.\" dv2dt utility, back to a binary DVI file.
+.\"
+.\" The checksum field above contains a CRC-16
+.\" checksum as the first value, followed by the
+.\" equivalent of the standard UNIX wc (word
+.\" count) utility output of lines, words, and
+.\" characters. This is produced by Robert
+.\" Solovay's checksum utility.",
+.\" }
+.\" ====================================================================
+.if t .ds Te T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X
+.if n .ds Te TeX
+.TH DT2DV 1 "08 March 1995" "Version 0.6.0"
+.\"======================================================================
+.SH NAME
+dt2dv \- convert a DTL text representation of a TeX DVI file to a binary DVI file
+.\"======================================================================
+.SH SYNOPSIS
+.B dt2dv
+.RB [ \-debug ]
+.RB [ \-group ]
+.RB [ \-si ]
+.RB [ \-so ]
+.I [input-DTL-file]
+.I [output-DVI-file]
+.PP
+In the absence of the
+.B \-si
+and
+.B \-so
+options,
+both file arguments are
+.IR required
+in the order
+.B input-DTL-file output-DVI-file .
+But also see the OPTIONS section below.
+No default file extensions are supplied.
+.\"======================================================================
+.SH DESCRIPTION
+.B dt2dv
+converts a text representation of a \*(Te\& DVI
+file, usually produced by the companion
+.BR dv2dt (1)
+utility, back to a binary DVI file. DTL
+.RI ( "DVI Text Language" )
+files can be edited, with care, and then restored
+to DVI form for processing by any \*(Te\& DVI
+driver program. In DTL files, font directory names
+and font names are preceded by a length field,
+which must be updated if the names are modified.
+.PP
+.BR dvitype (1)
+can also display a textual representation of DVI
+files, but in some implementations at least, it
+cannot be used in batch mode, and its output is
+not well-suited for conversion back to a DVI file.
+.PP
+The format of \*(Te\& DVI files is fully described
+in
+Donald E. Knuth,
+.IR "\*(Te\&: The Program" ,
+Addison-Wesley (1986), ISBN 0-201-13437-3, as well
+as in the
+.BR dvitype (1)
+literate program source code. Brief descriptions
+of the DTL and DVI formats are given in
+.BR dv2dt (1).
+.\"======================================================================
+.SH OPTIONS
+.\"-----------------------------------------------
+.TP \w'\-debug'u+3n
+.B \-debug
+Turn on detailed debugging output.
+.\"-----------------------------------------------
+.TP
+.B \-group
+Expect each DTL command to be in parentheses.
+.\"-----------------------------------------------
+.TP
+.B \-si
+Read all DTL commands from standard input.
+.\"-----------------------------------------------
+.TP
+.B \-so
+Write all DVI commands to standard output.
+.\"======================================================================
+.SH "SEE ALSO"
+.BR dv2dt (1),
+.BR dvitype (1),
+.BR tex (1).
+.\"======================================================================
+.SH FILES
+.TP \w'\fI*.dvi\fP'u+3n
+.I *.dvi
+binary \*(Te\& DVI file.
+.TP
+.I *.dtl
+text representation of a \*(Te\& DVI file in
+.I "DVI Text Language"
+format.
+.\"======================================================================
+.SH AUTHOR
+.B dt2dv
+and
+.BR dv2dt (1)
+were written by
+.RS
+.nf
+Geoffrey Tobin
+Department of Electronic Engineering
+La Trobe University
+Bundoora, Victoria 3083
+Australia
+Tel: +61 3 479 3736
+FAX: +61 3 479 3025
+Email: <G.Tobin@ee.latrobe.edu.au>
+.fi
+.RE
+.PP
+These manual pages were written primarily by
+.RS
+.nf
+Nelson H. F. Beebe, Ph.D.
+Center for Scientific Computing
+Department of Mathematics
+University of Utah
+Salt Lake City, UT 84112
+Tel: +1 801 581 5254
+FAX: +1 801 581 4148
+Email: <beebe@math.utah.edu>
+.fi
+.RE
+.\"==============================[The End]==============================
diff --git a/Master/texmf/doc/man/man1/dv2dt.1 b/Master/texmf/doc/man/man1/dv2dt.1
new file mode 100644
index 00000000000..79f6368b80e
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dv2dt.1
@@ -0,0 +1,715 @@
+.\" ====================================================================
+.\" @Troff-man-file{
+.\" author = "Nelson H. F. Beebe and Geoffrey Tobin",
+.\" version = "0.6.0",
+.\" date = "08 March 1995",
+.\" time = "19:52:00 GMT +11",
+.\" filename = "dv2dt.man",
+.\" address = "Center for Scientific Computing
+.\" Department of Mathematics
+.\" University of Utah
+.\" Salt Lake City, UT 84112
+.\" USA",
+.\" telephone = "+1 801 581 5254",
+.\" FAX = "+1 801 581 4148",
+.\" checksum = "32328 715 2191 12898",
+.\" email = "beebe@math.utah.edu (Internet)",
+.\" codetable = "ISO/ASCII",
+.\" keywords = "DVI, TeX",
+.\" supported = "no",
+.\" docstring = "This file contains the UNIX manual pages
+.\" for the dv2dt utility, a program for
+.\" converting a binary TeX DVI file to an
+.\" editable text representation in DTL (DVI Text
+.\" Language). The companion dt2dv utility can
+.\" convert the output DTL file back to a binary
+.\" DVI file.
+.\"
+.\" The checksum field above contains a CRC-16
+.\" checksum as the first value, followed by the
+.\" equivalent of the standard UNIX wc (word
+.\" count) utility output of lines, words, and
+.\" characters. This is produced by Robert
+.\" Solovay's checksum utility.",
+.\" }
+.\" ====================================================================
+.if t .ds Te T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X
+.if n .ds Te TeX
+.if t .ds Xe X\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'T
+.if n .ds Xe XeT
+.TH DV2DT 1 "08 March 1995" "Version 0.6.0"
+.\"======================================================================
+.SH NAME
+dv2dt \- convert a binary TeX DVI file to DTL text representation
+.\"======================================================================
+.SH SYNOPSIS
+.B dv2dt
+.I input-DVI-file
+.I output-DTL-file
+.PP
+If the filenames are omitted, then
+.I stdin
+and
+.I stdout
+are assumed.
+.\"======================================================================
+.SH DESCRIPTION
+.B dv2dt
+converts a binary \*(Te\& DVI file to an editable
+text file in DTL
+.RI ( "DVI Text Language" )
+format. The companion
+.BR dt2dv (1)
+utility can convert the DTL file back to a binary
+DVI file.
+.\"======================================================================
+.SH "DVI COMMAND DESCRIPTION"
+\*(Te\& DVI files contain a compact binary
+description of typeset pages, as a stream of
+operation code bytes, each immediately followed by
+zero or more parameter bytes. The format of DVI
+files is fully described in Donald E. Knuth,
+.IR "\*(Te\&: The Program" ,
+Addison-Wesley (1986), ISBN 0-201-13437-3, as well
+as in the
+.BR dvitype (1)
+literate program source code.
+.PP
+For convenience, we provide a summary of DVI
+commands here. In the following list, operation
+code bytes are given as unsigned decimal values,
+followed by their symbolic names (not present in
+the DVI file), and a short description. A
+designation like
+.I b[+n]
+means that the operation code byte is followed by
+a parameter
+.I b
+which uses
+.I n
+bytes, and is signed. Without the plus sign, the
+parameter is unsigned. Signed integer parameter
+values are always represented in two's complement
+arithmetic, which is the system followed by most
+computers manufactured today, including all
+personal computers and workstations.
+.if n .TP \w'\fI128_set1__c[1]\fP'u+3n
+.if t .TP \w'\fI243_fnt_def1__k[1]_c[4]_s[4]_d[4]_a[1]_l[1]_n[a+l]\fP'u+3n
+.I "0 set_char_0"
+Set character 0 from current font.
+.TP
+.I .\|.\|.
+.TP
+.I "127 set_char_127"
+Set character 127 from current font.
+.TP
+.I "128 set1 c[1]"
+Set 1-byte unsigned character (uchar) number
+.IR c .
+.TP
+.I "129 set2 c[2]"
+Set 2-byte uchar number
+.IR c .
+.TP
+.I "130 set3 c[3]"
+Set 3-byte uchar number
+.IR c .
+.TP
+.I "131 set4 c[+4]"
+Set 4-byte signed character (schar) number
+.IR c .
+.TP
+.I "132 set_rule a[+4] b[+4]"
+Set rule, height
+.IR a ,
+width
+.IR b .
+.TP
+.I "133 put1 c[1]"
+Put 1-byte uchar
+.IR c .
+.TP
+.I "134 put2 c[2]"
+Put 2-byte uchar
+.IR c .
+.TP
+.I "135 put3 c[3]"
+Put 3-byte uchar
+.IR c .
+.TP
+.I "136 put4 c[+4]"
+Put 4-byte schar
+.IR c .
+.TP
+.I "137 put_rule a[+4] b[+4]"
+Put rule, height
+.IR a ,
+width
+.IR b .
+.TP
+.I "138 nop"
+Do nothing.
+.TP
+.I "139 bop c0[+4] .\|.\|. c9[+4] p[+4]"
+Beginning of page. The parameters
+.I "c0 .\|.\|. c9"
+are the \*(Te\& page counters, the contents of
+\*(Te\& count registers
+.IR "\ecount0 .\|.\|. \ecount9" .
+The parameter
+.I p
+is the byte offset from the beginning of the DVI
+file of the previous
+.I bop
+operation code byte. The first such command in
+the file has
+.IR "p = \-1" .
+.TP
+.I "140 eop"
+End of page.
+.TP
+.I "141 push"
+Push
+.RI ( h,v,w,x,y,z )
+onto stack.
+.TP
+.I "142 pop"
+Pop
+.RI ( h,v,w,x,y,z )
+from stack.
+.TP
+.I "143 right1 b[+1]"
+Move right
+.I b
+units.
+.TP
+.I "144 right2 b[+2]"
+Move right
+.I b
+units.
+.TP
+.I "145 right3 b[+3]"
+Move right
+.I b
+units.
+.TP
+.I "146 right4 b[+4]"
+Move right
+.I b
+units.
+.TP
+.I "147 w0"
+Move right
+.I w
+units.
+.TP
+.I "148 w1 b[+1]"
+Move right
+.I b
+units, and set
+.IR "w = b" .
+.TP
+.I "149 w2 b[+2]"
+Move right
+.I b
+units, and set
+.IR "w = b" .
+.TP
+.I "150 w3 b[+3]"
+Move right
+.I b
+units, and set
+.IR "w = b" .
+.TP
+.I "151 w4 b[+4]"
+Move right
+.I b
+units, and set
+.IR "w = b" .
+.TP
+.I "152 x0"
+Move right
+.I x
+units.
+.TP
+.I "153 x1 b[+1]"
+Move right
+.I b
+units, and set
+.IR "x = b" .
+.TP
+.I "154 x2 b[+2]"
+Move right
+.I b
+units, and set
+.IR "x = b" .
+.TP
+.I "155 x3 b[+3]"
+Move right
+.I b
+units, and set
+.IR "x = b" .
+.TP
+.I "156 x4 b[+4]"
+Move right
+.I b
+units, and set
+.IR "x = b" .
+.TP
+.I "157 down1 a[+1]"
+Move down
+.I a
+units.
+.TP
+.I "158 down2 a[+2]"
+Move down
+.I a
+units.
+.TP
+.I "159 down3 a[+3]"
+Move down
+.I a
+units.
+.TP
+.I "160 down4 a[+4]"
+Move down
+.I a
+units.
+.TP
+.I "161 y0"
+Move right
+.I y
+units.
+.TP
+.I "162 y1 a[+1]"
+Move right
+.I a
+units, and set
+.IR "y = a" .
+.TP
+.I "163 y2 a[+2]"
+Move right
+.I a
+units, and set
+.IR "y = a" .
+.TP
+.I "164 y3 a[+3]"
+Move right
+.I a
+units, and set
+.IR "y = a" .
+.TP
+.I "165 y4 a[+4]"
+Move right
+.I a
+units, and set
+.IR "y = a" .
+.TP
+.I "166 z0"
+Move right
+.I z
+units.
+.TP
+.I "167 z1 a[+1]"
+Move right
+.I a
+units, and set
+.IR "z = a" .
+.TP
+.I "168 z2 a[+2]"
+Move right
+.I a
+units, and set
+.IR "z = a" .
+.TP
+.I "169 z3 a[+3]"
+Move right
+.I a
+units, and set
+.IR "z = a" .
+.TP
+.I "170 z4 a[+4]"
+Move right
+.I a
+units, and set
+.IR "z = a" .
+.TP
+.I "171 fnt_num_0"
+Set current font number
+.IR "(f) = 0" .
+.TP
+.I .\|.\|.
+.TP
+.I "234 fnt_num_63"
+Set
+.IR "f = 63" .
+.TP
+.I "235 fnt1 k[1]"
+Set
+.IR "f = k" .
+.TP
+.I "236 fnt2 k[2]"
+Set
+.IR "f = k" .
+.TP
+.I "237 fnt3 k[3]"
+Set
+.IR "f = k" .
+.TP
+.I "238 fnt4 k[+4]"
+Set
+.IR "f = k" .
+.TP
+.I "239 xxx1 k[1] x[k]"
+Special string
+.I x
+with
+.I k
+bytes.
+.TP
+.I "240 xxx2 k[2] x[k]"
+Special string
+.I x
+with
+.I k
+bytes.
+.TP
+.I "241 xxx3 k[3] x[k]"
+Special string
+.I x
+with
+.I k
+bytes.
+.TP
+.I "242 xxx4 k[4] x[k]"
+Special string
+.I x
+with (unsigned)
+.I k
+bytes.
+.TP
+.I "243 fnt_def1 k[1] c[4] s[4] d[4] a[1] l[1] n[a+l]"
+Define font
+.IR k .
+The parameters are:
+.RS
+.TP \w'\fIm\fP'u+3n
+.I c
+Checksum for TFM file.
+.TP
+.I s
+Scale factor, in DVI units.
+.TP
+.I d
+Design size, in DVI units.
+.TP
+.I a
+Length of the ``area'' or directory.
+.TP
+.I l
+Length of the font name.
+.TP
+.I n
+Area and font name string(s).
+.RE
+.TP
+.I "244 fnt_def2 k[2] c[4] s[4] d[4] a[1] l[1] n[a+l]"
+Define font
+.IR k .
+.TP
+.I "245 fnt_def3 k[3] c[4] s[4] d[4] a[1] l[1] n[a+l]"
+Define font
+.IR k .
+.TP
+.I "246 fnt_def4 k[+4] c[4] s[4] d[4] a[1] l[1] n[a+l]"
+Define font
+.IR k .
+.TP
+.I "247 pre i[1] num[4] den[4] mag[4] k[1] x[k]"
+Begin preamble. The parameters are:
+.RS
+.TP \w'\fInum\fP'u+3n
+.I i
+DVI format. Standard \*(Te\& has
+.IR "ID = 2" ,
+and \*(Te\&-\*(Xe\& has
+.IR "ID = 3" .
+.TP
+.I num
+Numerator of 100 nm / DVI unit.
+.TP
+.I den
+Denominator of 100 nm / DVI unit.
+.TP
+.I mag
+1000 * magnification.
+.TP
+.I k
+Comment length.
+.TP
+.I x
+Comment string.
+.RE
+.TP
+.I "248 post p[4] num[4] den[4] mag[4] l[4] u[4] s[2] t[2]"
+Begin postamble. The parameters are:
+.RS
+.TP \w'\fInum\fP'u+3n
+.I p
+Pointer to final bop.
+.TP
+.I "num, den, mag"
+Duplicates of values in preamble.
+.TP
+.I l
+Height-plus-depth of tallest page, in DVI units.
+.TP
+.I u
+Width of widest page, in DVI units.
+.TP
+.I s
+Maximum stack depth needed to process this DVI file.
+.TP
+.I t
+Total number of pages
+.RI ( bop
+commands) present.
+.RE
+.TP
+.I "249 post_post q[4] i[1] 223 .\|.\|. 223"
+End postamble. The parameters are:
+.RS
+.TP \w'\fI223\fP'u+3n
+.I q
+Byte offset from the beginning of the DVI file to
+the
+.I post
+command that started the postamble.
+.TP
+.I i
+DVI format ID, as in the preamble.
+.TP
+.I
+223
+At least four
+.I 223
+bytes.
+.RE
+.TP
+.I "250"
+Undefined.
+.TP
+.I .\|.\|.
+.TP
+.I "255"
+Undefined.
+.\"======================================================================
+.SH "DTL COMMAND DESCRIPTION"
+A DTL file contains one line per command, with a
+limit of 1024 characters per line. Each command
+contains a symbolic operation name, followed by
+zero or more parameter values. The parameter
+value descriptions are not repeated here; they can
+be found in the previous section.
+.TP \w'\fIw0,_w1,_w2,_w3,_w4\fP'u+3n
+variety <variety-name>
+This command specifies the name of the DTL file
+type; it has no DVI file equivalent.
+.TP
+.I (text)
+Series of set_char commands, for printable ASCII text.
+.TP
+.I \e(
+Literal ASCII left parenthesis in (text).
+.TP
+.I \e)
+Literal ASCII right parenthesis in (text).
+.TP
+.I \e\e
+Literal ASCII backslash in (text).
+.TP
+.I \e"
+Literal ASCII double quote in (text).
+.TP
+.I \eXY
+Set_char for character with hexadecimal code XY,
+not in parentheses, but by itself for readability.
+.TP
+.I "s1, s2, s2, s3"
+Set, with (1,2,3,4)-byte charcodes.
+.TP
+.I sr
+.IR set_rule .
+.TP
+.I "p1, p2, p2, p3"
+Put, with (1,2,3,4)-byte charcodes.
+.TP
+.I pr
+.IR put_rule .
+.TP
+.I nop
+.I nop
+(do nothing).
+.TP
+.I bop
+.I bop
+(beginning of page).
+.TP
+.I eop
+.I eop
+(end of page).
+.TP
+.I [
+Push.
+.TP
+.I ]
+Pop.
+.TP
+.I "r1, r2, r3, r4"
+Right, with (1,2,3,4)-byte argument.
+.TP
+.I "w0, w1, w2, w3, w4"
+As in DVI.
+.TP
+.I "x0, x1, x2, x3, x4"
+As in DVI.
+.TP
+.I "d1, d2, d3, d4"
+Down, with (1,2,3,4)-byte argument.
+.TP
+.I "y0, y1, y2, y3, y4"
+As in DVI.
+.TP
+.I "z0, z1, z2, z3, z4"
+As in DVI.
+.TP
+.I fn
+.I fnt_num
+(set current font to font number in 0 to 63).
+.TP
+.I "f1, f2, f3, f4"
+.I fnt
+(set current font to (1,2,3,4)-byte font number).
+.TP
+.I special
+.I xxx
+(special commands with (1,2,3,4)-byte string length).
+.TP
+.I fd
+.I fnt_def
+(assign a number to a named font).
+.TP
+.I pre
+Preamble.
+.TP
+.I post
+.I post
+(begin postamble).
+.TP
+.I post_post
+.I post_post
+(end postamble).
+.TP
+.I opcode
+Undefined DVI command (250 to 255).
+.\"======================================================================
+.SH "SAMPLE DTL FILE"
+The following 2-line \*(Te\& file
+.RS
+.nf
+Hello.
+\ebye
+.fi
+.RE
+when processed with the commands
+.RS
+.nf
+tex hello.tex
+dv2dt hello.dvi hello.dtl
+.fi
+.RE
+produces this DTL file:
+.RS
+.nf
+variety sequences-6
+pre 2 25400000 473628672 1000 27 ' TeX output 1995.03.02:2334'
+bop 1 0 0 0 0 0 0 0 0 0 -1
+[
+d3 -917504
+]
+d4 42152922
+[
+d4 -41497562
+[
+r3 1310720
+fd1 0 11374260171 655360 655360 0 5 '' 'cmr10'
+fn0
+(Hello.)
+]
+]
+d3 1572864
+[
+r4 15229091
+(1)
+]
+eop
+post 42 25400000 473628672 1000 43725786 30785863 2 1
+fd1 0 11374260171 655360 655360 0 5 'cmr10'
+post_post 152 2 223 223 223 223
+.fi
+.RE
+The command
+.RS
+.nf
+dt2dv hello.dtl hello.dvi
+.fi
+.RE
+will reconstruct the original DVI file.
+.\"======================================================================
+.SH "SEE ALSO"
+.BR dt2dv (1),
+.BR dvitype (1),
+.BR tex (1).
+.\"======================================================================
+.SH FILES
+.TP \w'\fI*.dvi\fP'u+3n
+.I *.dvi
+binary \*(Te\& DVI file.
+.TP
+.I *.dtl
+text representation of a \*(Te\& DVI file in
+.I "DVI Text Language"
+format.
+.\"======================================================================
+.SH AUTHOR
+.B dv2dt
+and
+.BR dt2dv (1)
+were written by
+.RS
+.nf
+Geoffrey Tobin
+Department of Electronic Engineering
+La Trobe University
+Bundoora, Victoria 3083
+Australia
+Tel: +61 3 479 3736
+FAX: +61 3 479 3025
+Email: <G.Tobin@ee.latrobe.edu.au>
+.fi
+.RE
+.PP
+These manual pages were primarily written by
+.RS
+.nf
+Nelson H. F. Beebe, Ph.D.
+Center for Scientific Computing
+Department of Mathematics
+University of Utah
+Salt Lake City, UT 84112
+Tel: +1 801 581 5254
+FAX: +1 801 581 4148
+Email: <beebe@math.utah.edu>
+.fi
+.RE
+.\"==============================[The End]==============================
diff --git a/Master/texmf/doc/man/man1/dvi2fax.1 b/Master/texmf/doc/man/man1/dvi2fax.1
new file mode 100644
index 00000000000..f7c436d6e33
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvi2fax.1
@@ -0,0 +1,22 @@
+.TH DVI2FAX 1 "October 30, 1999"
+.\" man page by Jim Van Zandt <jrv@vanzandt.mv.com> -*- nroff -*-
+.SH NAME
+dvi2fax \- convert a TeX DVI file to G3 fax format
+.SH SYNOPSIS
+\fBdvi2fax\fP [\fB-hi\fP|\fB-lo\fP] \fIfile\fP[.dvi] [\fIoptions for dvips\fP]
+.SH DESCRIPTION
+\fBdvi2fax\fP uses \fBdvips\fP(1) to convert a TeX DVI file to PostScript,
+then \fBgs\fP(1) to convert the PostScript to G3 fax file format.
+.SH OPTIONS
+.LP
+.B -hi
+use high fax resolution (204x196 dpi) (default).
+.LP
+.B -lo
+use low fax resolution (204x98).
+.PP
+\fBdvips\fP options can follow the file name.
+.SH EXAMPLE
+Example: dvi2fax foo -l 2
+.SH SEE ALSO
+\fBdvips\fP(1), \fBgs\fP(1).
diff --git a/Master/texmf/doc/man/man1/dvi2tty.1 b/Master/texmf/doc/man/man1/dvi2tty.1
new file mode 100644
index 00000000000..168a073373d
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvi2tty.1
@@ -0,0 +1,131 @@
+.TH DVI2TTY Local "7 June 1986"
+.SH NAME
+dvi2tty \- preview a dvi\-file on an ordinary ascii terminal
+.SH SYNOPSIS
+.B dvi2tty
+[ options ] dvi\-file
+.SH DESCRIPTION
+.I dvi2tty
+converts a TeX DVI\-file to a format that is apprporiate for terminals
+and lineprinters. The program is intended to be used for
+preliminary proofreading of TeX-ed documents.
+By default the output is directed to the terminal,
+possibly through a pager (depending on how the program was installed),
+but it can be directed to a file or a pipe.
+.PP
+The output leaves much to be desired, but is still
+usefull if you want to avoid walking to the
+laserprinter (or whatever) for each iteration of your
+document.
+.br
+Since
+.I dvi2tty
+produces output for terminals and lineprinters the
+representation of documents is naturally quite primitive.
+Fontchanges are totally ignored, which implies that
+special symbols, such as mathematical symbols, get mapped into the
+characters at the corresponding positions in the "standard" fonts.
+.PP
+If the width of the output text requires more columns than fits
+in one line (c.f. the \-w option) it is broken into several lines by
+.I dvi2tty
+although they will be printed as one line on regular TeX output
+devices (e.g. laserprinters). To show that a broken line is really
+just one logical line an asterisk (``*'') in the last position
+means that the logical line is continued on the next physical
+line output by
+.I dvi2tty.
+Such a continuation line is started with a a space and an asterisk
+in the first two columns.
+.PP
+Options may be specified in the environment variable DVI2TTY.
+Any option on the commandline, conflicting with one in the
+environment, will override the one from the environment.
+.PP
+.B Options:
+.PP
+.TP
+.B \-o file
+Write output to file ``file''.
+.TP
+.B \-p list
+Print the pages chosen by list.
+Numbers refer to TeX\-page numbers (known as \\count0).
+An example of format for list is ``1,3:6,8''
+to choose pages 1, 3 through 6 and 8.
+Negative numbers can be used exactly as in TeX,
+e g \-1 comes before \-4 as in ``\-p-1:-4,17''.
+.TP
+.B \-P list
+Like \-p except that page numbers refer to
+the sequential ordering of the pages in the dvi\-file.
+Negative numbers don't make a lot of sense here...
+.TP
+.B \-w n
+Specify terminal width
+.I n.
+Legal range 16\-132.
+Default is 80. If your terminal has the
+ability to display in 132 columns it might
+be a good idea to use \-w132 and toggle the
+terminal into this mode as output will
+probably look somewhat better.
+.TP
+.B \-q
+Don't pipe the output through a pager.
+This may be the default on some systems
+(depending on the whims of the SA installing the program).
+.TP
+.B \-f
+Pipe through a pager, $PAGER if defined, or whatever your SA compiled
+in (often ``more''). This may be the default, but it is still okay
+to redirect output with ``>'', the pager will not be used if output
+is not going to a terminal.
+.TP
+.B \-F
+Specify the pager program to be used.
+This overides the $PAGER and the default pager.
+.TP
+.B \-Fprog
+Use ``prog'' as program to pipe output into. Can be used to choose an
+alternate pager (e g ``-Fless'').
+.TP
+.B \-l
+Mark pagebreaks with the two-character sequence ``^L''. The default is
+to mark them with a formfeed character.
+.TP
+.B \-u
+Don't make any attempts to find special Scandinavian characters.
+If such characters are in the text they will map to ``a'' and ``o''.
+This is probably the default outside of Scandinavia. (The SA made
+the decision when the program was installed.)
+.TP
+.B \-s
+Try to find the special Scandinavian characters that on most (?)
+terminals in Scandinavia are mapped to ``{|}[\\]''.
+This can be the default, and output from files not containing these
+special characters will be identical regardless of this option.
+.SH FILES
+/usr/ucb/more \ \ \ \
+probably the default pager.
+.SH ENVIRONMENT
+PAGER \ \ \ \ \ \ \ \ \ \ \ \
+the pager to use.
+.br
+DVI2TTY \ \ \ \ \ \ \ \ \ \ \
+can be set to hold commandline options.
+.SH "SEE ALSO"
+TeX, dvi2ps
+.SH AUTHOR
+Svante Lindahl, Royal Institute of Technology, Stockholm
+.br
+Improved C version: Marcel Mol
+.br
+{seismo, mcvax}!enea!ttds!zap
+.br
+marcel@duteca.UUCP
+.SH BUGS
+Blanks between words get lost quite easy. This is less
+likely if you are using a wider output than the default 80.
+.PP
+Only one file may be specified on the commandline.
diff --git a/Master/texmf/doc/man/man1/dvibook.1 b/Master/texmf/doc/man/man1/dvibook.1
new file mode 100644
index 00000000000..dd0bce06108
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvibook.1
@@ -0,0 +1,53 @@
+.TH DVIBOOK 1
+.SH NAME
+dvibook \- rearrange pages in DVI file into signatures
+.SH SYNOPSIS
+.B dvibook
+[
+.B \-q
+] [
+.B \-s\fI<num>
+] [
+.B \-i
+.I infile
+] [
+.B \-o
+.I outfile
+]
+[
+.I infile
+[
+.I outfile
+] ]
+.SH DESCRIPTION
+.I Dvibook
+rearranges pages from a DVI file produced by TeX into ``signatures'' for
+printing books or booklets, creating a new DVI file
+usable by any of the TeX conversion programs.
+.PP
+The
+.I \-s
+option selects the size of signature which will be used. The signature size is
+the number of sides which will be folded and bound together; the number given
+should be a multiple of four. The default is to use one signature for the
+whole file. Extra blank sides will be added if the file does not contain a
+multiple of four pages.
+.PP
+Dvibook normally prints the page numbers of the pages rearranged; the
+.I \-q
+option suppresses this.
+.SH AUTHOR
+Angus Duggan, from dviselect(1), by
+Chris Torek, University of Maryland
+.SH "SEE ALSO"
+dviconcat(1), dviselect(1), latex(1), tex(1)
+.br
+.I "MC-TeX User's Guide"
+.br
+.I "The TeXbook"
+.SH BUGS
+.I Dvibook
+does not adjust the parameters in the postamble; however, since these
+values are normally used only to size certain structures in the output
+conversion programs, and the parameters never need to be adjusted upward,
+this has not proven to be a problem.
diff --git a/Master/texmf/doc/man/man1/dviconcat.1 b/Master/texmf/doc/man/man1/dviconcat.1
new file mode 100644
index 00000000000..9267446095a
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dviconcat.1
@@ -0,0 +1,46 @@
+.TH DVICONCAT 1
+.SH NAME
+dviconcat \- concatenate DVI files
+.SH SYNOPSIS
+.B dviconcat
+[
+.B \-m
+.I magnification
+] [
+.B \-o
+.I outfile
+]
+.I "list of files"
+.SH DESCRIPTION
+.I Dviconcat
+concatenates the named
+.IR file s
+(or standard input, if no file names are given)
+onto the standard output
+or the given
+.IR outfile ,
+creating a new DVI file
+usable by any of the TeX conversion programs,
+or even by
+.I dviconcat
+itself.
+.PP
+The magnification of the output file
+is the same as that of the first input file
+unless the
+.B \-m
+option is given.
+When
+.I dviconcat
+changes the magnification of any input file,
+it prints a warning to this effect.
+.SH AUTHOR
+Chris Torek, University of Maryland
+.SH "SEE ALSO"
+dviselect(1), latex(1), tex(1)
+.br
+.I "MC-TeX User's Guide"
+.SH BUGS
+The program should be called
+.IR dvicat ,
+but that name was taken (for the driver for the C/A/T typesetter).
diff --git a/Master/texmf/doc/man/man1/dvicopy.1 b/Master/texmf/doc/man/man1/dvicopy.1
new file mode 100644
index 00000000000..cd62db37463
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvicopy.1
@@ -0,0 +1,22 @@
+.TH DVICOPY 1 TeX "24 January 1999" "Web2C 7.5.5"
+.SH NAME
+dvicopy \- produce modified copy of DVI file
+.SH SYNOPSIS
+.B dvicopy
+.RI [ options ]
+.RI [ infile\ [ outfile ]]
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+.B dvicopy
+reads a DVI file, expands any references to virtual fonts 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
+.B dvicopy
+first.
+.SH "SEE ALSO"
+dviselect(1)
diff --git a/Master/texmf/doc/man/man1/dvidvi.1 b/Master/texmf/doc/man/man1/dvidvi.1
new file mode 100644
index 00000000000..e9906a6e874
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvidvi.1
@@ -0,0 +1,127 @@
+.TH DVIDVI L "March 1994"
+.SH NAME
+.PP
+dvidvi \- selects and/or re-arranges pages in a TeX dvi file
+.SH SYNOPSIS
+.PP
+dvidvi [param] infile outfile
+.SH DESCRIPTION
+.SS Copyright
+dvidvi 1.0, Copyright (C) 1988-91, Radical Eye Software
+.SS Introduction
+.PP
+The dvidvi program converts a dvi file into another dvi file, with perhaps
+certain changes.
+.br
+.SS Parameters
+.PP
+-f n page n is first page selected
+.br
+-l n page n is last page selected
+.in +10
+.ti -10
+-n n select at most n pages. Notice that n is the number of pages
+selected, independently of the number of pages actually
+contained in a sheet
+.ti -10
+-i { n1..n2 | n1 }[,...]
+.br
+include pages (ranges allowed). When this option is
+used, ONLY the specified pages are selected. However,
+we can exclude from these pages with the option -x
+.ti -10
+-x { n1..n2 | n1 }[,...]
+.br
+exclude pages (ranges allowed)
+.ti -10
+-q work in quiet mode, that is do not print in the screen
+messages of how the work is being done.
+.ti -10
+-r reverse the order of the pages.
+.PP
+The page numbers for the above options -f -l -i and -x can be specified
+in different ways.
+.in +4
+.ti -4
+1) If a number n is given, it is interpreted as the n'th page from the
+beginning of the .dvi file. Of course, this number is independent of the
+page number assigned by TeX.
+.ti -4
+2) TeX page numbers are those who are actually written in the page;
+these page numbers can be modified, for example, by using the TeX commands
+\\pagenumbering, \\setcounter{page}{n}, and \\addtocounter{page}{n}.
+A TeX page number can be specified by preceding the number n with the
+character @. Thus, if you specify -f @25 -l @30 you select the pages
+between 25 and 30, these numbers being those assigned by TeX.
+.ti -4
+3) However, several pages can have the same TeX page number in a .dvi file.
+For example, the introductory pages in a book are numbered i, ii, and so on
+until the first chapter begins and then, the pages are numbered 1, 2, etc.
+In this case, the pages numbered i and 1 in the .dvi file have the same TeX
+page number. If you want to select for example the second occurrence of the
+page numbered 1, you can specify a page number as (@2)1. Thus @1 is equivalent
+to (@1)1. For example, if you specify -f (@2)1 -l(@2)10 you select the pages
+between 1 and 10 of the first chapter, not the introductory pages between
+i and x.
+.PP
+There is another parameter that tells dvidvi how you want to change page
+layout and specifications. This is the -m parameter.
+.in +4
+.ti -4
+* The number preceding the colon is the modulo value. Everything will be
+done in chunks of pages this big. If there is no colon, than the default
+value is assumed to be one. The last chunk of pages is padded with as many
+blank pages as necessary.
+.ti -4
+* Following the colon is a comma-separated list of page numbers. These
+page numbers are with respect to the current chunk of pages, and must lie
+in the range zero to the modulo value less one. If a negative sign
+precedes the number, then the page is taken from the mirror chunk; if there
+are m chunks, then the mirror chunk of chunk n is the chunk numbered m-n-1.
+Put simply, it is the chunk numbered the same, only from the end. This can
+be used to reverse pages. If no number is given, the page number defaults
+to 1.
+.ti -4
+* Following each page number is an optional offset value in parenthesis,
+which consists of a pair of comma-separated dimensions. Each dimension is
+a decimal number with an optional unit of measure. The default unit of
+measure is inches, or the last unit of measure used. All units are in true
+dimensions. Allowable units of measure are the same that TeX allows: in,
+mm, cm, pt, pc, dd, and cc.
+.SH EXAMPLES
+.PP
+.in +10
+.ti -10
+-m - Reverses the order of the pages. This time, both the modulo and the
+page number are defaulted.
+.ti -10
+-m 2:0 Selects the first, third, fifth, etc. pages from the file. Print
+this one after printing the next, taking the paper out of the
+feed tray and reinserting it into the paper feed.
+.ti -10
+-m 2:-1 Selects the second, fourth, etc. pages, and writes them in reverse
+order.
+.ti -10
+-m 4:-1,2(4.25in,0in)
+.ti -10
+-m 4:-3,0(4.25in,0in)
+.br
+Useful for printing a little booklet, four pages to a sheet,
+double-sided, for stapling in the middle. Print the first one,
+put the stack back into the printer upside down, and print the
+second. The `in' specifications are superfluous.
+.ti -10
+-m ,(1pt,1)
+.br
+Scare your system administrator! Actually, things are so blurry with this
+option, you may want to send enemies letters printed like this. *Long*
+letters.
+.ti -10
+-m 4:0(5.5in,4.25),3(0,4.25)
+.ti -10
+-m 4:1(0in,4.25),2(5.5,4.25)
+.br
+Print a four-page card on one sheet. Print the first, rotate the paper 180
+degrees and feed it again. (PostScript people can do funny tricks with
+PostScript so this isn't necessary.)
+
diff --git a/Master/texmf/doc/man/man1/dvihp.1 b/Master/texmf/doc/man/man1/dvihp.1
new file mode 100644
index 00000000000..cd88772978a
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvihp.1
@@ -0,0 +1,49 @@
+.TH DVIHP 1 "October 30, 1999"
+.\" man page by Jim Van Zandt <jrv@vanzandt.mv.com> -*- nroff -*-
+.SH NAME
+dvihp \- convert a TeX DVI file to Hewlett-Packard PCL
+.SH SYNOPSIS
+\fBdvihp\fP [\fIoptions\fP] \fIdvifile\fP[.dvi]
+.SH DESCRIPTION
+\fBdvihp\fP translates the given \fIdvifile\fP to Hewlett-Packard PCL
+using \fBdvicopy\fP(1) then $DVILJ (dvilj4 by default).
+.P
+In the absence of other options, pipe the PCL to $SPOOL (lpr by default).
+.SH OPTIONS
+Options are recognized from dvips where possible:
+.IP \fB-A\fP
+print odd pages
+.IP \fB-B\fP
+print even pages
+.IP "\fB-d\fP \fIn\fP"
+set debug bits to \fIn\fP (see documentation)
+.IP "\fB-D\fP \fIn\fP"
+set resolution to \fIn\fP
+.IP \fB-f\fP
+run as filter
+.IP "\fB-l\fP \fIn\fP"
+don't print pages after \fIn\fP
+.IP \fB-m\fP
+manual feed
+.IP "\fB-n\fP \fIn\fP"
+print \fIn\fP pages
+.IP "\fB-O\fP \fIa\fP,\fIb\fP"
+set/change paper offset to \fIa\fP,\fIb\fP mm.
+.IP "\fB-o\fP \fIs\fP"
+output to \fIs\fP instead of spooling
+.IP "\fB-p\fP \fIn\fP"
+don't print pages before \fIn\fP.
+.IP \fB-Ps\fP
+pass directly to lpr.
+.IP \fB-v\fP
+verbose operation.
+.IP "\fB-x\fP \fIn\fP"
+set magnification to \fIn\fP.
+.IP \fB--help\fP
+write usage summary.
+.P
+Other options are passed to the dvilj program.
+.SH BUGS
+Email bug reports to tex-k@mail.tug.org.
+.SH SEE ALSO
+\fBdvicopy\fP(1), \fBdvilj4\fP(1).
diff --git a/Master/texmf/doc/man/man1/dvilj.1 b/Master/texmf/doc/man/man1/dvilj.1
new file mode 100644
index 00000000000..40de4732e83
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvilj.1
@@ -0,0 +1,275 @@
+.TH DVILJK 1 "10 June 1996"
+.ad b
+.SH NAME
+dvilj4, dvilj4l, dvilj2p, dvilj \- convert a TeX DVI file to PCL, for HP LaserJet printers
+.SH SYNOPSIS
+\f3dvilj\f1
+[\f3\-\-D\f2number\f1]
+[\f3\-c\f2copies\f1]
+[\f3\-d\f2mode\f1]
+[\f3\-D\f1]
+[\f3\-E\f1]
+[\f3\-e\f2outputfile\f1]
+[\f3\-f\f2frompage\f1]
+[\f3\-g\f1]
+[\f3\-h\f2headerfile\f1]
+[\f3\-l\f1]
+[\f3\-M\f2flag\f1]
+[\f3\-m\f2mag\f1]
+[\f3\-p\f2pages\f1]
+[\f3\-q\f1]
+[\f3\-r\f1]
+[\f3\-t\f2topage\f1]
+[\f3\-s\f2pagesize\f1]
+[\f3\-v\f1]
+[\f3\-V\f2mode\f1]
+[\f3\-w\f1]
+[\f3\-x\f2xoff(mm)\f1]
+[\f3\-y\f2yoff(mm)\f1]
+[\f3\-X\f2xoff(dots)\f1]
+[\f3\-Y\f2yoff(dots)\f1]
+[\f3\-z\f1]
+[\f3\-\f1]
+[\f2filename\f1]
+.SH DESCRIPTION
+Dvilj and siblings convert TeX-output .dvi files into PCL (the
+Hewlett-Packard Printer Control Language) commands suitable for printing
+on a HP LaserJet+, HP LaserJet IIP (using dvilj2p), HP LaserJet 4 (using
+dvilj4), and fully compatible printers.
+.PP
+Dvilj4 also provides support for the builtin Intellifont and TrueType
+fonts; TFM and VF files are provided in the distribution.
+Virtual fonts are not supported directly by Dvilj, so you must run
+.BR dvicopy (1)
+first, or otherwise expand the virtual fonts
+.PP
+All programs are generated from one source file dvi2xx.c.
+They are usually called via a shell script or as a line printer
+filter. One such script, dvihp, is included in the distribution. It
+provides command-line options similar to those of dvips(1).
+.SH OPTIONS
+.TP \w'-Dnumber'u+2n
+\f3--D\f2number\f1
+Debug according to the bits of \f2number\f1; see the Kpathsea manual for
+values. Also turns on general verbosity.
+.TP
+\f3-c\f2number\f1
+print each page \f2number\f1 times (including original)
+.TP
+\f3-d\f2number\f1
+print in duplex mode. The option -d\f21\f1 means long edge binding,
+-d\f22\f1 stands for short edge binding. This option is only
+selectable from \fIdvilj2p\fP, and is known to work on the LaserJet IId,
+LaserJet IIId, and LaserJet 4.
+.TP
+\f3-D\f1[-]
+Double-sided printing - see below; -D\f21\f1 prints odd sides only,
+-D\f22\f1 is for even pages, a trailing \f2-\f1 suppresses printing of
+empty padding pages.
+.TP
+\f3-E\f1
+Switch printer into econo mode (dvilj4 only).
+.TP
+\f3-e\f2outfile\f1
+Send output to \f2outfile\f1 instead of the basename of dvi file
+extended with `.lj'.
+If \f2outfile\f1 is `-' (as in `-e-') the output is directed
+to standard output and can be directly piped into a spooler.
+.TP
+\f3-f\f2pagenum\f1
+Print pages with TeX page numbers greater than or equal to \f2pagenum\f1.
+.TP
+\f3-g\f1
+``go'' mode: do not reset printer at start of job.
+.TP
+\f3-h\f2headerfile\f1
+Copy \f2headerfile\f1 to output before translation of the DVI file.
+Used to send arbitrary commands to the laserprinter.
+.TP
+\f3-l\f1
+print output in landscape mode; supported
+only by dvilj2p and dvilj4.
+.TP
+\f3-M\f2flag\f1
+Do (not) call mktexpk to generate fonts on demand. \f3-M\f21\f1 and
+\f3-M\f1 are equivalent. \f3-M\f20\f1 enables invoking mktexpk. (This
+is the same as dvips.) The default behavior (i.e., if no
+\f3-M\f1 option is given) is chosen at compile-time; as distributed,
+mktexpk is enabled. \f3-M\f1 is only valid if
+dvi2xx was compiled with support for mktexpk.
+.TP
+\f3-m\f2magnification\f1
+Specify the magnification to use. The following are available:
+.br
+\f3-m#\f2usermag\f1 e.g., \f3#900\f1
+.br
+\f3-m0\f1 equivalent to \f3-m#1000\f1
+.br
+\f3-mh\f1 equivalent to \f3-m#1095\f1
+.br
+\f3-m1\f1 equivalent to \f3-m#1200\f1
+.br
+\f3-mq\f1 equivalent to \f3-m#1250\f1
+.br
+\f3-m2\f1 equivalent to \f3-m#1440\f1
+.br
+\f3-m3\f1 equivalent to \f3-m#1728\f1
+.br
+\f3-m4\f1 equivalent to \f3-m#2074\f1
+.br
+\f3-m5\f1 equivalent to \f3-m#2488\f1
+.TP
+\f3-p\f2pagecount\f1
+print \f2pagecount\f1 pages after the starting page.
+.TP
+\f3-q\f1
+Quiet operation: omit final statistics, etc.
+.TP
+\f3-r\f1
+toggle page reversal; by default, pages are reversed.
+.TP
+\f3-s\f2pagesize \f1
+Specify the page size:
+.br
+\f3-s1\f1: executive (7.25in x 10.5in)
+.br
+\f3-s2\f1: letter (8.5in x 11in)
+.br
+\f3-s3\f1: legal (8.5in x 14in)
+.br
+\f3-s26\f1: A4 (210mm x 297mm)
+.br
+\f3-s80\f1: monarch (3.875in x 7.5in)
+.br
+\f3-s81\f1: commercial-10 (4.125in x 9.5in)
+.br
+\f3-s90\f1: international DL (110mm x 220mm)
+.br
+\f3-s91\f1: international C5 (162mm x 229mm)
+.br
+All values are from the LJ II technical reference manual.
+If the -s commandline option is omitted, no clipping is performed
+at the bottom of the page.
+.TP
+\f3-t\f2pagenum\f1
+Print pages with TeX page numbers less than or equal to \f2pagenum\f1.
+.TP
+\f3-v\f1
+Verbose mode: list fonts used, etc.
+.TP
+\f3-V\f2mode\f1
+compatibility mode. Use \f2K\f1 for Kyocera, \f2B\f1 for Brother,
+\f26\f1 for LJ6 printers.
+.TP
+\f3-w\f1
+Omit warnings.
+.TP
+\f3-x\f2offset\f1
+global x-offset in mm on output page
+relative to 1 inch/1 inch origin
+.TP
+\f3-y\f2offset\f1
+global y-offset in mm on output page
+relative to 1 inch/1 inch origin
+.TP
+\f3-X\f2offset\f1
+global x-offset in dots on output page
+(overrides 1 inch/1 inch origin)
+.TP
+\f3-Y\f2offset\f1
+global y-offset in dots on output page
+(overrides 1 inch/1 inch origin)
+.TP
+\f3-z\f1
+print a test page with the page counter at end of job
+.TP
+\f3-\f1
+Take input from standard input (must be seekable), write to standard output.
+.PP
+If no arguments are specified a brief usage message is displayed.
+.SH \especial COMMANDS
+TeX `\especial' commands that are implemented:
+.TP \w'\f3\especial{hpfile=<filename>}\f1'u+2n
+\f3\especial{file=<filename>}\f1
+copy specified file to the printer; either vector- or bitmap-graphics PMP
+commands
+.TP
+\f3\especial{hpfile=<filename>}\f1
+Same as `file'.
+.TP 0
+others:
+There are a few other special commands implented for the LJ-series,
+which should only be used in connection with the distributed style
+files (e.g., graybox.sty). They may change in forthcoming versions.
+.PP
+You can include Encapsulated PostScript (EPS) files in the PCL files output
+by dvilj if you convert them to PCL first. The distribution includes a
+script `epspcl' to do this (using Ghostscript, so your Ghostscript must
+have the necessary LaserJet driver(s) compiled in).
+.SH DOUBLE PAGE PRINTING
+The command line option -D causes the printer to print
+in doublepage mode, that is, roughly speaking, printing first
+the even pages and then the odd pages of a document.
+If -D is used to print both even and odd pages (-D is used
+without the optional \f21\f1 or \f22\f1)
+the following will happen after
+half of the pages is printed:
+\f3LJ:\f1
+the printer stops, shows message "FEED" and switches
+on manual feed led. The printer continues when either
+the printed pages are fed into the manual page feeder,
+or the operator pushes the continue button (after placing first
+the printed pages into the paper tray).
+.PP
+If -D1 was specified only odd pages will be printed, -D2 can be used
+for even pages. A trailing `-' (as in -D-, -D1- or -D2-) supresses
+printing of empty pages which are generated for padding otherwise.
+.PP
+The driver allows the -D option for both print-directions (front-to-back
+or back-to-front printing). It tries to be clever in certain cases:
+when a document has an odd number of pages it inserts in the
+right place an empty page
+when a document starts with page 0 the driver inserts an empty
+page after the 0-page
+when a piece of a document is printed that starts with
+an even page-number it prints this page at the backside
+of the first page to ensure that the odd sides are always
+on the frontside. The 0-page is treated like an odd page.
+.PP
+The doubleside option works for all LJs, not only for the
+new D model with does doubleside-printing (actually, I don't
+know whether it makes much sense on the new LJ II D at all).
+.PP
+Caveat on the doubleside-option: When it is used frequently
+or on very large files, it might become necessary to clean
+the printer much more frequently.
+.PP
+The command line option -pX can be used to abort printing
+after the output of X pages (can lead to strange results together
+with -D). I personally dislike this option. The secure way of
+printing a part of a document is using -f (from) and -t (to).
+.SH ENVIRONMENT
+Dviljk uses the same environment variables and algorithms for finding
+font files as TeX and its friends do. See the documentation for the
+Kpathsea library for details. (Repeating it here is too cumbersome.)
+.PP
+DVILJFONTS, if set, overrides all other font paths.
+.PP
+DVILJMAKEPK, if set, overrides `mktexpk' as the name of the command to
+execute to create a PK file if one isn't found.
+.PP
+The DVILJSIZES variable may be set to indicate which sizes of fonts are
+available. It should consist of a list of numbers separated by colons. If
+the list begins with a colon, the system default sizes are used, as well.
+Sizes are expressed in dots per inch; decimals may be used for ``pxl'' files:
+for example, a 300 dots per inch file magnified by half a step comes out to
+1643 dots per five inches, which should be encoded as 328.6. \fIdvilj\fR
+tries the actual size of the font before trying any of the given sizes.
+.PP
+KPATHSEA_DEBUG: Trace Kpathsea lookups; set to -1 for complete tracing.
+.SH AUTHOR
+Gustaf Neumann, Wirtschaftsuniversitaet Wien
+.br
+neumann@wu-wien.ac.at
+.PP
+dviljk changes by kb@mail.tug.org; email bug reports to tex\-k@mail.tug.org.
diff --git a/Master/texmf/doc/man/man1/dvilj2p.1 b/Master/texmf/doc/man/man1/dvilj2p.1
new file mode 120000
index 00000000000..67bb7d80a78
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvilj2p.1
@@ -0,0 +1 @@
+dvilj.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/dvilj4.1 b/Master/texmf/doc/man/man1/dvilj4.1
new file mode 120000
index 00000000000..67bb7d80a78
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvilj4.1
@@ -0,0 +1 @@
+dvilj.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/dvilj4l.1 b/Master/texmf/doc/man/man1/dvilj4l.1
new file mode 120000
index 00000000000..67bb7d80a78
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvilj4l.1
@@ -0,0 +1 @@
+dvilj.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/dvilj6.1 b/Master/texmf/doc/man/man1/dvilj6.1
new file mode 120000
index 00000000000..67bb7d80a78
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvilj6.1
@@ -0,0 +1 @@
+dvilj.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/dvipdfm.1 b/Master/texmf/doc/man/man1/dvipdfm.1
new file mode 100644
index 00000000000..674a15790a0
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvipdfm.1
@@ -0,0 +1,322 @@
+.de EX
+.sp
+.in +5
+.nf
+.ft CW
+..
+.de EE
+.in -5
+.ft R
+.sp
+.fi
+..
+.TH dvipdfm 1 5/28/2001
+.SH NAME
+dvipdfm \- Produce PDF files directly from DVI files
+
+.SH SYNOPSIS
+.B dvipdfm
+.RI [ options ]
+.IR file [.dvi]
+
+.SH DESCRIPTION
+The program
+.B dvipdfm
+generates a
+.SM PDF
+file from a
+.SM DVI
+file.
+.SM DVI
+files are the output format
+produced by TeX.
+Output from
+.B groff
+can be converted to
+.SM DVI
+format
+using
+.BR grodvi .
+
+The program
+.B dvipdfm
+recognizes several commonly used
+.BR \especial
+commands, which are extensions to the
+.SM DVI
+format.
+Specifically, it understands
+color specials, papersize specials,
+tpic specials (which allow it to be used with
+.BR pic ),
+hypertex specials, and some PostScript
+specials. These extensions allow documents
+to contain color, figures, and hyperlinks.
+The program tries to mimic
+the behavior of
+.B dvips
+so that many
+macro packages produced for use with
+.B dvips
+will work with
+.B dvipdfm.
+Dvipdfm understands its own specific
+.B \especial
+commands to allow access to PDF features
+such as annotations and bookmarks.
+For more details, consult the
+.I "Dvipdfm User's Manual,"
+which is distributed with
+.B dvipdfm.
+
+.SH OPTIONS
+
+.TP 5
+.B \-\^c
+Ignore color
+.BR \especials .
+The
+.B \-\^c
+toggles a flag that disables color
+.B \especial
+processing.
+Unless changed in the configuration file,
+that flag is off, and color
+.BR \especial "s"
+are interpreted normally.
+The
+.B \-\^c
+option may be used to produce a black and white document
+from a document containing color TeX
+.B \especial
+commands.
+
+.TP 5
+.B \-\^d
+Remove thumbnail images after including them.
+(See the
+.B \-\^t
+option for more information.)
+
+.TP 5
+.B \-\^e
+Toggle partial font embedding flag. If partial
+font embedding is off, embedded fonts are
+.I fully
+embedded.
+The default, if not changed in the configuration file,
+is to embed only those glyphs actually used in the document.
+
+.TP 5
+.B \-\^f map_file
+Set the name of the font map file to
+.IR map_file .
+The format of the font map file
+is documented in the
+.IR "Dvipdfm User's Manual" .
+
+.TP 5
+.B \-\^l
+Select landscape mode. In other words, exchange the
+.I x
+and
+.I y
+dimensions of the paper.
+
+.TP 5
+.B \-\^m " mag"
+Magnify the input document by
+.IR mag .
+
+.TP 5
+.B \-\^o " name"
+Generate PDF output file having the name
+.IR name .
+By default, the name of the output
+file is
+.IR file .pdf.
+
+.TP 5
+.B \-\^p " paper"
+Select the papersize by name (e.g.,
+.BR letter ", " legal ", " ledger ", " tabloid ", " a3 ", " a4 ", or " a5
+)
+
+.TP 5
+.B \-\^r " size"
+Set resolution of bitmapped fonts to
+.B size
+dots per inch. Bitmapped fonts are generated
+by the Kpathsea library, which uses MetaFont. Bitmapped
+fonts are included as type 3 fonts in the PDF output file.
+
+.TP 5
+.B \-\^s " page_specifications"
+Select the pages of the
+.SM DVI
+file to be converted.
+The
+.I page_specifications
+consists of a comma separated list of
+.I page_ranges:
+
+.EX
+.IR "page_specifications := page_specification" "[," page_specifications "]"
+.EE
+
+where
+
+.EX
+.IR "page_specification := single_page" | page_range
+
+.IR "page_range := " [ first_page ]\^\-\^[ last_page ]
+.EE
+
+An empty
+.I first_page
+is implied to be the first page of the
+.SM DVI
+file.
+An empty
+.I last_page
+is treated as the last page of the
+.SM DVI
+file.
+
+Examples:
+.RS
+.TP 5
+.B "\-\^s 1,3,5"
+includes pages 1, 3, and 5;
+.TP 5
+.B "\-\^s \-"
+includes all pages;
+.TP 5
+.B "\-\^s \-,\-"
+includes two copies of all pages in the
+.SM DVI
+file;
+and
+.TP 5
+.B "\-\^s 1\-10"
+includes the first ten pages of the
+.SM DVI
+file.
+.RE
+.TP 5
+.B \-\^t
+Search for thumbnail images of each page
+in the directory named by the
+.B TMPDIR
+environment variable.
+The thumbnail images must be named in a specific format.
+They must have the same base name
+as the
+.SM DVI
+file and they must have the page number as the extension
+to the file name. Dvipdfm does not
+generate the thumbnails itself, but it is distributed with a wrapper
+program named
+.B dvipdft
+that does so.
+
+.TP 5
+.B \-\^v
+Increase verbosity.
+Results of the
+.B \-\^v
+option are cumulative (e.g.,
+.B \-\^vv
+) increases the verbosity by two increments.
+
+.TP 5
+.B \-\^x x_offset
+Set the left margin to
+.IR x_offset .
+The default left margin is
+.BR 1.0in .
+The dimension may be specified in any units understood by TeX (e.g.,
+.BR bpt ", " pt ", " in ", " cm
+)
+
+.TP 5
+.B \-\^y y_offset
+Set the top margin to
+.IR y_offset .
+The default top margin is
+.BR 1.0in .
+The dimension may be specified in any units understood by TeX (e.g.,
+.BR bpt ", " pt ", " in ", " cm
+)
+
+.TP 5
+.B \-\^z compression_level
+Set the compression level to
+.IR compression_level .
+Compressions levels range from 0 (no compression) to
+9 (maximum compression) and correspond to the values understood by zlib.
+
+.SH ENVIRONMENT
+
+.B Dvipdfm
+uses the
+.B kpathsea
+library for locating the files that it opens. Hence,
+the environment variables documented in the
+.I Kpathsea library
+documentation influence
+.B dvipdfm.
+
+Dvipdfm also reads the following environment variables:
+
+.TP 5
+TMP
+The directory to search for thumbnail images of each page.
+
+.SH FILES
+The precise location of the following files is determined by the
+.I Kpathsea library
+configuration. The location may be determined by using kpsewhich, e.g.,
+.nf
+.B kpsewhich \-progname=dvipdfm \-format='other text files' config
+.fi
+
+.TP 5
+.I config
+Startup options
+
+.TP 5
+.I t1fonts.map
+The default font map file (this name may be changed in the config file).
+
+.TP 5
+.I *.tfm
+TeX font metrics
+
+.TP 5
+.I *.vf
+TeX virtual font files
+
+.TP 5
+.I *.pfb
+PostScript Type 1 font files
+
+.TP 5
+.I
+texmf.cnf
+The Kpathsea library configuration file.
+The location of this file may be found by typing
+.nf
+.B kpsewhich texmf.cnf
+.fi
+
+
+.SH "SEE ALSO"
+.BR tex "(1), " dvips "(1), " groff "(1), " grodvi "(1), " pic "(1), "
+and the
+.I "Kpathsea library"
+info documentation.
+
+.SH AUTHOR
+Mark A. Wicks <mwicks@kettering.edu>
+
diff --git a/Master/texmf/doc/man/man1/dvipdft.1 b/Master/texmf/doc/man/man1/dvipdft.1
new file mode 100644
index 00000000000..803db249e4e
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvipdft.1
@@ -0,0 +1,36 @@
+.TH "dvipdft" "1" "May 2004" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+dvipdft \- create thumbnail images for use with dvipdfm
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBdvipdft\fP [ \fI DVIPDFM-OPTIONS\fP \&.\&.\&. ] \fI filename.dvi\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBdvipdft\fP creates thumbnail pictures of the pages in your file
+and subsequently runs dvipdfm to create a PDF file with these
+thumbnails.
+.PP
+.SH "OPTIONS"
+.HP
+All options are simply handed on to dvipdfm
+.HP
+.SH "SEE ALSO"
+.IP
+\fBdvipdfm\fP(1)
+.PP
+.SH "BUGS"
+.PP
+None known\&.
+.PP
+.SH "AUTHOR"
+.PP
+\fBdvipdft\fP was written by Mark A. Wicks and Thomas Esser.
+.PP
+This manual page was written by Frank Küster <frank@kuesterei\&.ch>,
+for the Debian GNU/Linux system\&. It may be used by others without
+contacting the author\&. Any mistakes or omissions in the manual page
+are my fault; inquiries about or corrections to this manual page
+should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/dvipng.1 b/Master/texmf/doc/man/man1/dvipng.1
new file mode 100644
index 00000000000..a0862bd5abe
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvipng.1
@@ -0,0 +1,483 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "DVIPNG 1"
+.TH DVIPNG 1 "2005-04-04" "dvipng 1.6" "User commands"
+.SH "NAME"
+dvipng \- A DVI\-to\-PNG translator
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+dvipng [options] filename
+.PP
+dvipng [options] [filename] \-
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+This program makes \s-1PNG\s0 and/or \s-1GIF\s0 graphics from \s-1DVI\s0 files as obtained
+from TeX and its relatives.
+.PP
+If \s-1GIF\s0 support is enabled, \s-1GIF\s0 output is chosen by using the
+\&\fBdvigif\fR binary or with the \fB\-\-gif\fR option.
+.PP
+The benefits of \fBdvipng\fR/\fBdvigif\fR include
+.IP "\(bu" 4
+Speed. It is a very fast bitmap-rendering code for \s-1DVI\s0 files. On a
+fairly low-end laptop, it takes less than a second to generate 150
+one-formula images. This makes dvipng suitable for generating large
+amounts of images on\-the\-fly, as needed in preview\-latex, WeBWorK and
+others.
+.IP "\(bu" 4
+It does not read the postamble, so it can be started before TeX
+finishes. There is a \-\-follow switch that makes dvipng wait at \s-1EOF\s0 for
+further output, unless it finds the \s-1POST\s0 marker that indicates the end
+of the \s-1DVI\s0.
+.IP "\(bu" 4
+Interactive query of options. dvipng can read options interactively
+through stdin, and all options are usable. It is even possible to change
+the input file through this interface.
+.IP "\(bu" 4
+Supports \s-1PK\s0, \s-1VF\s0, PostScript Type1, and TrueType fonts, color specials
+and simple PostScript inclusion specials.
+.IP "\(bu" 4
+and more...
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+Many of the parameterless options listed here can be turned off by
+suffixing the option with a zero (\fB0\fR); for instance, to turn off
+page reversal, use \fB\-r0\fR. Such options are marked with a trailing
+\&\fB*\fR.
+.IP "\fB\-\fR" 4
+.IX Item "-"
+Read additional options from standard input after processing the command
+line.
+.IP "\fB\-\-help\fR" 4
+.IX Item "--help"
+Print a usage message and exit.
+.IP "\fB\-\-version\fR" 4
+.IX Item "--version"
+Print the version number and exit.
+.IP "\fB\-bd\fR \fInum\fR" 4
+.IX Item "-bd num"
+.PD 0
+.IP "\fB\-bd\fR \fIcolor_spec\fR" 4
+.IX Item "-bd color_spec"
+.IP "\fB\-bd '\fR\fInum\fR\fB \fR\fIcolor_spec\fR\fB'\fR" 4
+.IX Item "-bd 'num color_spec'"
+.PD
+Set the pixel width of the transparent border (default 0). Using this
+option will make the image edges transparent, but it only affects pixels
+with the background color. Giving a \fIcolor_spec\fR will set the
+fallback color, to be used in viewers that cannot handle transparency
+(the default is the background color). The color spec should be in
+TeX color \especial syntax, e.g., 'rgb 1.0 0.0 0.0'. Setting the
+fallback color makes the default border width 1 px.
+.IP "\fB\-\-bdpi\fR \fInum\fR" 4
+.IX Item "--bdpi num"
+Set the base (Metafont) resolution, both horizontal and vertical, to
+\&\fInum\fR dpi (dots per inch). This option is necessary when manually
+selecting Metafont mode with the \-\-mode option (see below).
+.IP "\fB\-bg\fR \fIcolor_spec\fR" 4
+.IX Item "-bg color_spec"
+Choose background color for the images. This option will be ignored if
+there is a background color \especial in the \s-1DVI\s0. The color spec should
+be in TeX color \especial syntax, e.g., 'rgb 1.0 0.0 0.0'. You can
+also specify 'Transparent' or 'transparent' which will give you a
+transparent background with the normal background as a fallback color. A
+capitalized 'Transparent' will give a full-alpha transparency, while an
+all-lowercase 'transparent' will give a simple fully transparent
+background with non-transparent antialiased pixels. The latter would be
+suitable for viewers who cannot cope with a true alpha channel. \s-1GIF\s0
+images do not support full alpha transparency, so in case of \s-1GIF\s0 output,
+both variants will use the latter behaviour.
+.IP "\fB\-d\fR \fInum\fR" 4
+.IX Item "-d num"
+Set the debug flags, showing what dvipng (thinks it) is doing. This will
+work unless dvipng has been compiled without the \fB\s-1DEBUG\s0\fR option
+(not recommended). Set the flags as you need them, use \fB\-d \-1\fR as
+the first option for maximum output.
+.IP "\fB\-D\fR \fInum\fR" 4
+.IX Item "-D num"
+Set the output resolution, both horizontal and vertical, to \fInum\fR
+dpi (dots per inch).
+.Sp
+One may want to adjust this to fit a certain text font size (e.g., on
+a web page), and for a text font height of \fIfont_px\fR pixels (in
+Mozilla) the correct formula is
+.Sp
+.Vb 1
+\& <dpi> = <font_px> * 72.27 / 10 [px * TeXpt/in / TeXpt]
+.Ve
+.Sp
+The last division by ten is due to the standard font height 10pt in
+your document, if you use 12pt, divide by 12. Unfortunately, some
+proprietary browsers have font height in pt (points), not pixels. You
+have to rescale that to pixels, using the screen resolution (default
+is usually 96 dpi) which means the formula is
+.Sp
+.Vb 1
+\& <font_px> = <font_pt> * 96 / 72 [pt * px/in / (pt/in)]
+.Ve
+.Sp
+On some high-res screens, the value is instead 120 dpi. Good luck!
+.IP "\fB\-\-depth*\fR" 4
+.IX Item "--depth*"
+Report the depth of the image. This only works reliably when the
+LaTeX style \fBpreview.sty\fR from preview-latex is used. It
+reports the number of pixels from the bottom of the image to the
+baseline of the image. This can be used for vertical positioning of the
+image in, e.g., web documents, where one would use (Cascading
+StyleSheets 1)
+.Sp
+.Vb 1
+\& <IMG SRC="<filename.png>" STYLE="vertical\-align: \-<depth>px">
+.Ve
+.Sp
+The depth is a negative offset in this case, so the minus sign is
+necessary, and the unit is pixels (px).
+.IP "\fB\-\-dvinum*\fR" 4
+.IX Item "--dvinum*"
+Set this option to make the output page number be the TeX page
+numbers rather than the physical page number. See the \fB\-o\fR switch.
+.IP "\fB\-fg\fR \fIcolor_spec\fR" 4
+.IX Item "-fg color_spec"
+Choose foreground color for the images. This option will be ignored if
+there is a foreground color \especial in the \s-1DVI\s0. The color spec should
+be in TeX color \especial syntax, e.g., 'rgb 1.0 0.0 0.0'.
+.IP "\fB\-\-follow*\fR" 4
+.IX Item "--follow*"
+Enable follow mode. One of the benefits of dvipng is that it does not
+read the postamble, so it can be started before TeX finishes. This
+switch makes dvipng wait at \s-1EOF\s0 for further output, unless it finds the
+\&\s-1POST\s0 marker that indicates the end of the \s-1DVI\s0. This is similar to
+\&\fBtail \-f\fR but for DVI-to-PNG conversion.
+.IP "\fB\-\-freetype*\fR" 4
+.IX Item "--freetype*"
+Enable/disable FreeType font rendering (default on). This option is
+available if the FreeType2 font library was present at compilation time.
+If this is the case, dvipng will have direct support for PostScript
+Type1 and TrueType fonts internally, rather than using \fBgsftopk\fR
+for rendering the fonts. If you have PostScript versions of Computer
+Modern installed, there will be no need to generate bitmapped variants
+on disk of these. Then, you can render images at different (and unusual)
+resolutions without cluttering the disk with lots of bitmapped fonts.
+Note that if you have both FreeType and T1lib on your system, FreeType
+will be preferred by dvipng. If you for some reason would want to use
+T1lib rendering, use this option.
+.IP "\fB\-\-gamma\fR \fInum\fR" 4
+.IX Item "--gamma num"
+Control the interpolation of colors in the greyscale anti-aliasing
+color palette. Default value is 1.0. For 0 < \fInum\fR < 1, the
+fonts will be lighter (more like the background), and for \fInum\fR >
+1, the fonts will be darker (more like the foreground).
+.IP "\fB\-\-gif*\fR" 4
+.IX Item "--gif*"
+The images are output in the \s-1GIF\s0 format, if \s-1GIF\s0 support is
+enabled. This is the default for the \fBdvigif\fR binary, which only
+will be available when \s-1GIF\s0 support is enabled. See also the
+\&\fB\-\-png\fR option.
+.IP "\fB\-\-height*\fR" 4
+.IX Item "--height*"
+Report the height of the image. This only works reliably when the
+LaTeX style \fBpreview.sty\fR from preview-latex is used. It
+reports the number of pixels from the top of the image to the
+baseline of the image. The total height of the image is obtained as the
+sum of the values reported from \-\-height and the \-\-depth.
+.IP "\fB\-l [=]\fR\fInum\fR" 4
+.IX Item "-l [=]num"
+The last page printed will be the first one numbered \fInum\fR. Default
+is the last page in the document. If \fInum\fR is prefixed by an equals
+sign, then it (and the argument to the \fB\-p\fR option, if specified)
+is treated as a physical (absolute) page number, rather than a value to
+compare with the TeX \fB\ecount0\fR values stored in the \s-1DVI\s0 file.
+Thus, using \fB\-l =9\fR will end with the ninth page of the document,
+no matter what the pages are actually numbered.
+.IP "\fB\-\-mode\fR \fImode\fR" 4
+.IX Item "--mode mode"
+Use \fImode\fR as the Metafont device name for the \s-1PK\s0 fonts (both for
+path searching and font generation). This needs to be augmented with the
+base device resolution, given with the \fB\-\-bdpi\fR option. See the
+file <\fBftp://ftp.tug.org/tex/modes.mf\fR> for a list of resolutions and
+mode names for most devices.
+.IP "\fB\-M*\fR" 4
+.IX Item "-M*"
+Turns off automatic \s-1PK\s0 font generation (\fImktexpk\fR). This will have
+no effect when using PostScript fonts, since no \s-1PK\s0 font generation will
+be done anyway.
+.IP "\fB\-\-noghostscript*\fR" 4
+.IX Item "--noghostscript*"
+This switch prohibits the internal call to GhostScript for displaying
+PostScript specials. \fB\-\-noghostscript0\fR turns the call back on.
+.IP "\fB\-\-nogssafer*\fR" 4
+.IX Item "--nogssafer*"
+Normally, if GhostScript is used to render PostScript specials, the
+GhostScript interpreter is run with the option \fB\-dSAFER\fR. The
+\&\fB\-nogssafer\fR option runs GhostScript without \fB\-dSAFER\fR. The
+\&\fB\-dSAFER\fR option in Ghostscript disables PostScript operators such
+as deletefile, to prevent possibly malicious PostScript programs from
+having any effect.
+.IP "\fB\-o\fR \fIname\fR" 4
+.IX Item "-o name"
+Send output to the file \fIname\fR. A single occurrence of \fB%d\fR or
+\&\fB%01d\fR, ..., \fB%09d\fR will be exchanged for the physical
+page number (this can be changed, see the \fB\-\-dvinum\fR switch). The
+default output filename is \fIfile\fR\fB%d.png\fR where the input \s-1DVI\s0
+file was \fIfile\fR\fB.dvi\fR.
+.IP "\fB\-O\fR \fIx\-offset\fR\fB,\fR\fIy\-offset\fR" 4
+.IX Item "-O x-offset,y-offset"
+Move the origin by \fIx\-offset\fR,\fIy\-offset\fR, a comma-separated
+pair of dimensions such as \fB.1in,\-.3cm\fR.
+The origin of the page is shifted from the default position
+(of one inch down, one inch to the right from the upper left corner of
+the paper) by this amount.
+.IP "\fB\-p [=]\fR\fInum\fR" 4
+.IX Item "-p [=]num"
+The first page printed will be the first one numbered \fInum\fR. Default
+is the first page in the document. If \fInum\fR is prefixed by an
+equals sign, then it (and the argument to the \fB\-l\fR option, if
+specified) is treated as a physical (absolute) page number, rather than
+a value to compare with the TeX \fB\ecount0\fR values stored in the
+\&\s-1DVI\s0 file. Thus, using \fB\-p =3\fR will start with the third page of
+the document, no matter what the pages are actually numbered.
+.IP "\fB\-\-picky*\fR" 4
+.IX Item "--picky*"
+No images are output when a warning occurs. Normally, dvipng will
+output an image in spite of a warning, but there may be something
+missing in this image. One reason to use this option would be if you
+have a more complete but slower fallback converter. Mainly, this is
+useful for failed figure inclusion and unknown \especial occurrences,
+but warnings will also occur for missing or unknown color specs and
+missing \s-1PK\s0 fonts.
+.IP "\fB\-\-png*\fR" 4
+.IX Item "--png*"
+The images are output in the \s-1PNG\s0 format. This is the default for the
+\&\fBdvipng\fR binary. See also the \fB\-\-gif\fR option.
+.IP "\fB\-pp\fR \fIfirstpage\fR\fB\-\fR\fIlastpage\fR" 4
+.IX Item "-pp firstpage-lastpage"
+Print pages \fIfirstpage\fR through \fIlastpage\fR; but not quite
+equivalent to \fB\-p\fR \fIfirstpage\fR \fB\-l\fR \fIlastpage\fR. For example,
+when rendering a book, there may be several instances of a page in the
+\&\s-1DVI\s0 file (one in \f(CW\*(C`\efrontmatter\*(C'\fR, one in \f(CW\*(C`\emainmatter\*(C'\fR, and one
+in \f(CW\*(C`\ebackmatter\*(C'\fR). In case of several pages matching, \fB\-pp\fR
+\&\fIfirstpage\fR\fB\-\fR\fIlastpage\fR will render \fIall\fR pages that
+matches the specified range, while \fB\-p\fR \fIfirstpage\fR \fB\-l\fR
+\&\fIlastpage\fR will render the pages from the \fIfirst\fR occurrence
+of \fIfirstpage\fR to the \fIfirst\fR occurrence of \fIlastpage\fR.
+This is the (undocumented) behaviour of dvips. In dvipng you can give
+both kinds of options, in which case you get all pages that matches the
+range in \fB\-pp\fR between the pages from \fB\-p\fR to \fB\-l\fR. Also
+multiple \fB\-pp\fR options accumulate, unlike \fB\-p\fR and \fB\-l\fR.
+The \fB\-\fR separator can also be \fB:\fR. Note that \fB\-pp \-1\fR
+will be interpreted as \*(L"all pages up to and including 1\*(R", if you want a
+page numbered \-1 (only the table of contents, say) put \fB\-pp \-1\-\-1\fR,
+or more readable, \fB\-pp \-1:\-1\fR.
+.IP "\fB\-q*\fR" 4
+.IX Item "-q*"
+Run quietly. Don't chatter about pages converted, etc. to standard
+output; report no warnings (only errors) to standard error.
+.IP "\fB\-Q\fR \fInum\fR" 4
+.IX Item "-Q num"
+Set the quality to \fInum\fR. That is, choose the number of antialiasing
+levels for \s-1PK\s0 and T1lib rendering to be \fInum\fR*\fInum\fR. The default
+value is 4 which gives 16 levels of antialiasing for antialiased fonts
+from these two. If FreeType is available, its rendering is unaffected by
+this option.
+.IP "\fB\-r*\fR" 4
+.IX Item "-r*"
+Toggle output of pages in reverse/forward order. By default, the first
+page in the \s-1DVI\s0 is output first.
+.IP "\fB\-T\fR \fIimage_size\fR" 4
+.IX Item "-T image_size"
+Set the image size to \fIimage_size\fR which can be either of
+\&\fBbbox\fR, \fBtight\fR, or a comma-separated pair of dimensions
+\&\fIhsize\fR,\fIvsize\fR such as \fB.1in,.3cm\fR. The default is
+\&\fBbbox\fR which produces a \s-1PNG\s0 that includes all ink put on the page
+and in addition the \s-1DVI\s0 origin, located 1in from the top and 1in from
+the left edge of the paper. This usually gives whitespace above and to
+the left in the produced image. The value \fBtight\fR will make dvipng
+only include all ink put on the page, producing neat images.
+This option overrides any papersize special in the \s-1DVI\s0 file.
+.IP "\fB\-\-t1lib*\fR" 4
+.IX Item "--t1lib*"
+Enable/disable T1lib font rendering (default on). This option is
+available if the T1lib font library was present at compilation time. If
+this is the case, dvipng will have direct support for PostScript Type1
+fonts internally, rather than using \fBgsftopk\fR for rendering the
+fonts. If you have PostScript versions of Computer Modern installed,
+there will be no need to generate bitmapped variants on disk of these.
+Then, you can render images at different (and unusual) resolutions
+without cluttering the disk with lots of bitmapped fonts. Note that if
+you have both FreeType and T1lib on your system FreeType will be
+preferred by dvipng, and if you for some reason rather want to use
+T1lib, give the option \fB\-\-freetype0\fR (see above).
+.IP "\fB\-\-truecolor*\fR" 4
+.IX Item "--truecolor*"
+On systems with a fairly new \fBlibgd\fR, one can choose to generate
+truecolor output. This will not be necessary in general unless you
+include truecolor images via a PostScript special (i.e., the
+\&\fBgraphics\fR or \fBgraphicx\fR package). It will lead to longer
+execution time, mostly because more data is written to disk.
+.IP "\fB\-v*\fR" 4
+.IX Item "-v*"
+Enable verbose operation. This will currently indicate what fonts is
+used, in addition to the usual output.
+.IP "\fB\-x\fR \fInum\fR" 4
+.IX Item "-x num"
+Set the x magnification ratio to \fInum\fR/1000. Overrides
+the magnification specified in the \s-1DVI\s0 file. Must be between 10 and
+100000. It is recommended that you use standard magstep values (1095,
+1200, 1440, 1728, 2074, 2488, 2986, and so on) to help reduce the total
+number of \s-1PK\s0 files generated. \fInum\fR may be a real number, not an
+integer, for increased precision.
+.IP "\fB\-z\fR \fInum\fR" 4
+.IX Item "-z num"
+Set the \s-1PNG\s0 compression level to \fInum\fR. This option is enabled if
+your \fBlibgd\fR is new enough. The default compression level is 1,
+which selects maximum speed at the price of slightly larger PNGs. For an
+older \fBlibgd\fR, the hard-soldered value 5 is used. The include file
+\&\fBpng.h\fR says
+``Currently, valid values range from 0 \- 9, corresponding directly to
+the zlib compression levels 0 \- 9 (0 \- no compression, 9 \- \*(L"maximal\*(R"
+compression). Note that tests have shown that zlib compression levels
+3\-6 usually perform as well as level 9 for \s-1PNG\s0 images, and do
+considerably fewer calculations. In the future, these values may not
+correspond directly to the zlib compression levels.''
+.SH "NOTES"
+.IX Header "NOTES"
+The full manual is accessible in the info format, on most systems by typing
+.PP
+.Vb 1
+\& info dvipng
+.Ve
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+This program is released under the \s-1GNU\s0 General Public License, see the
+\&\s-1COPYING\s0 file in the dvipng distribution or
+<\fBhttp://www.gnu.org/licenses/gpl.html\fR>.
+.PP
+Copyright (c) 2002\-2005 Jan\-Ake Larsson
diff --git a/Master/texmf/doc/man/man1/dvips.1 b/Master/texmf/doc/man/man1/dvips.1
new file mode 100644
index 00000000000..1ff6e3f0e64
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvips.1
@@ -0,0 +1,517 @@
+.TH DVIPS 1 "27 May 2004"
+.SH NAME
+dvips \- convert a TeX DVI file to PostScript
+.SH SYNOPSIS
+.B dvips
+[
+.I options
+]
+.IR file [\fB.dvi\fP]
+.SH DESCRIPTION
+THIS MAN PAGE IS OBSOLETE!
+See the Texinfo documentation instead.
+You can read it either in Emacs or with the standalone
+.B info
+program which comes with the GNU texinfo distribution as
+prep.ai.mit.edu:pub/gnu/texinfo*.tar.gz.
+.PP
+The program
+.B dvips
+takes a DVI file
+.IR file [\fB.dvi\fP]
+produced by TeX (or by some other processor such as GFtoDVI) and
+converts it to PostScript, normally sending the result directly to the
+(laser)printer. The DVI file may be specified without the
+.B .dvi
+extension. Fonts used may either be resident in the printer or defined
+as bitmaps in PK files, or a `virtual' combination of both. If the
+.B mktexpk
+program is installed,
+.B dvips
+will automatically invoke METAFONT to generate fonts that don't already
+exist.
+.PP
+For more information, see the Texinfo manual
+.IR dvips.texi ,
+which should be installed somewhere on your system, hopefully accessible
+through the standard Info tree.
+.SH OPTIONS
+.TP
+.B -a
+Conserve memory by making three passes over the .dvi file instead of two
+and only loading those characters actually used. Generally only useful
+on machines with a very limited amount of memory, like some PCs.
+.TP
+.B -A
+Print only odd pages (TeX pages, not sequence pages).
+.TP
+.B -b num
+Generate
+.I num
+copies of each page, but duplicating the page body rather than using the
+.I #numcopies
+option. This can be useful in conjunction with a header file setting
+.I \ebop-hook
+to do color separations or other neat tricks.
+.TP
+.B -B
+Print only even pages (TeX pages, not sequence pages).
+.TP
+.B -c num
+Generate
+.I num
+copies of every page. Default is 1. (For collated copies, see the
+.I -C
+option below.)
+.TP
+.B -C num
+Create
+.I num
+copies, but collated (by replicating the data in the PostScript file).
+Slower than the
+.I -c
+option, but easier on the hands, and faster than resubmitting the same
+PostScript file multiple times.
+.TP
+.B -d num
+Set the debug flags. This is intended only for emergencies or for
+unusual fact-finding expeditions; it will work only if
+.B dvips
+has been compiled with the DEBUG option. If nonzero, prints additional
+information on standard error. The number is taken as a set of
+independent bits. The meaning of each bit follows. 1=specials;
+2=paths; 4=fonts; 8=pages; 16=headers; 32=font compression; 64=files;
+128=memory; 256=Kpathsea stat(2) calls; 512=Kpathsea hash table lookups;
+1024=Kpathsea path element expansion; 2048=Kpathsea searches. To trace
+everything having to do with file searching and opening, use 3650 (2048
++ 1024 + 512 + 64 + 2). To track all classes, you can use `-1' (output
+is extremely voluminous).
+.TP
+.B -D num
+Set the resolution in dpi (dots per inch) to
+.IR num .
+This affects the choice of bitmap fonts that are loaded and also the
+positioning of letters in resident PostScript fonts. Must be between 10
+and 10000. This affects both the horizontal and vertical resolution.
+If a high resolution (something greater than 400 dpi, say) is selected,
+the
+.I -Z
+flag should probably also be used.
+.TP
+.B -e num
+Make sure that each character is placed at most this many pixels from
+its `true' resolution-independent position on the page. The default
+value of this parameter is resolution dependent. Allowing individual
+characters to `drift' from their correctly rounded positions by a few
+pixels, while regaining the true position at the beginning of each new
+word, improves the spacing of letters in words.
+.TP
+.B -E
+makes
+.B dvips
+attempt to generate an EPSF file with a tight bounding box. This only
+works on one-page files, and it only looks at marks made by characters
+and rules, not by any included graphics. In addition, it gets the glyph
+metrics from the
+.I tfm
+file, so characters that lie outside their enclosing
+.I tfm
+box may confuse it. In addition, the bounding box might be a bit too
+loose if the character glyph has significant left or right side
+bearings. Nonetheless, this option works well for creating small EPSF
+files for equations or tables or the like. (Note, of course, that
+.B dvips
+output is resolution dependent and thus does not make very good EPSF
+files, especially if the images are to be scaled; use these EPSF files
+with a great deal of care.)
+.TP
+.B -f
+Run as a filter. Read the
+.I .dvi
+file from standard input and write the PostScript to standard output.
+The standard input must be seekable, so it cannot be a pipe. If you
+must use a pipe, write a shell script that copies the pipe output to a
+temporary file and then points
+.B dvips
+at this file. This option also disables the automatic reading of the
+.I PRINTER
+environment variable, and turns off the automatic sending of control D
+if it was turned on with the
+.I -F
+option or in the configuration file; use
+.I -F
+after this option if you want both.
+.TP
+.B -F
+Causes Control-D (ASCII code 4) to be appended as the very last
+character of the PostScript file. This is useful when
+.B dvips
+is driving the printer directly instead of working through a spooler,
+as is common on extremely small systems. NOTE! DO NOT USE THIS OPTION!
+.TP
+.B -G
+Causes
+.B dvips
+to shift non-printing characters to higher-numbered positions.
+This may be useful sometimes.
+.TP
+.B -h name
+Prepend file
+.I name
+as an additional header file. (However, if the name is simply `-'
+suppress all header files from the output.) This header file gets added
+to the PostScript
+.IR userdict .
+.TP
+.B -i
+Make each section be a separate file. Under certain circumstances,
+.B dvips
+will split the document up into `sections' to be processed
+independently; this is most often done for memory reasons. Using this
+option tells
+.B dvips
+to place each section into a separate file; the new file names are
+created replacing the suffix of the supplied output file name by a
+three-digit sequence number. This option is most often used in
+conjunction with the
+.I -S
+option which sets the maximum section length in pages. For instance,
+some phototypesetters cannot print more than ten or so consecutive pages
+before running out of steam; these options can be used to automatically
+split a book into ten-page sections, each to its own file.
+.TP
+.B -j
+Download only needed characters from Type 1 fonts. This is the
+default in the current release. Some debugging flags trace this operation.
+You can also control partial downloading on a per-font basis, via the
+.B psfonts.map
+file.
+.TP
+.B -k
+Print crop marks. This option increases the paper size (which should be
+specified, either with a paper size special or with the
+.I -T
+option) by a half inch in each dimension. It translates each page by a
+quarter inch and draws cross-style crop marks. It is mostly useful with
+typesetters that can set the page size automatically.
+.TP
+.B -K
+This option causes comments in included PostScript graphics, font files,
+and headers to be removed. This is sometimes necessary to get around
+bugs in spoolers or PostScript post-processing programs. Specifically,
+the %%Page comments, when left in, often cause difficulties. Use of
+this flag can cause some included graphics to fail, since the PostScript
+header macros from some software packages read portions of the input
+stream line by line, searching for a particular comment. This option
+has been turned off by default because PostScript previewers and
+spoolers have been getting better.
+.TP
+.B -l num
+The last page printed will be the first one numbered
+.I num
+Default is the last page in the document. If the
+.I num
+is prefixed by an equals sign, then it (and any argument to the
+.I -p
+option) is treated as a sequence number, rather than a value to compare
+with
+.I \ecount0
+values. Thus, using
+.I -l =9
+will end with the ninth page of the document, no matter what the pages
+are actually numbered.
+.TP
+.B -m
+Specify manual feed for printer.
+.TP
+.B -mode mode
+Use
+.I mode
+as the Metafont device name for path searching and font
+generation. This overrides any value from configuration files. With
+the default paths, explicitly specifying the mode also makes the program
+assume the fonts are in a subdirectory named
+.IR mode .
+.TP
+.B -M
+Turns off the automatic font generation facility. If any fonts are
+missing, commands to generate the fonts are appended to the file
+.I missfont.log
+in the current directory; this file can then be executed and deleted to
+create the missing fonts.
+.TP
+.B -n num
+At most
+.I num
+pages will be printed. Default is 100000.
+.TP
+.B -N
+Turns off structured comments; this might be necessary on some systems
+that try to interpret PostScript comments in weird ways, or on some
+PostScript printers. Old versions of TranScript in particular cannot
+handle modern Encapsulated PostScript.
+.TP
+.B -noomega
+This will disable the use of Omega extensions when interpreting DVI files.
+By default, the additional opcodes
+.I 129
+and
+.I 134
+are recognized by dvips as Omega extensions and interpreted as requests to
+set 2-byte characters. The only drawback is that the virtual font array will
+(at least temporarily) require 65536 positions instead of the default 256
+positions, i.e. the memory requirements of dvips will be slightly larger. If
+you find this unacceptable or encounter another problem with the Omega
+extensions, you can switch this extension off by using
+.B -noomega
+(but please do send a bug report if you find such problems - see the bug
+address in the
+.B AUTHORS
+section below).
+.TP
+.B -o name
+The output will be sent to file
+.I name
+If no file name is given, the default name is
+.I file.ps
+where the .dvi file was called
+.IR file.dvi ;
+if this option isn't given, any default in the configuration file is
+used. If the first character of the supplied output file name is an
+exclamation mark, then the remainder will be used as an argument to
+.IR popen ;
+thus, specifying
+.I !lpr
+as the output file will automatically queue the file for printing.
+This option also disables the automatic reading of the
+.I PRINTER
+environment variable, and turns off the automatic sending of control D
+if it was turned on with the
+.I -F
+option or in the configuration file; use
+.I -F
+after this option if you want both.
+.TP
+.B -O offset
+Move the origin by a certain amount. The
+.I offset
+is a comma-separated pair of dimensions, such as
+.I .1in,-.3cm
+(in the same syntax used in the
+.I papersize
+special). The origin of the page is shifted from the
+default position (of one inch down, one inch to the right from the upper
+left corner of the paper) by this amount.
+.TP
+.B -p num
+The first page printed will be the first one numbered
+.IR num .
+Default is the first page in the document. If the
+.I num
+is prefixed by an equals sign, then it (and any argument to the
+.I -l
+option) is treated as a sequence number, rather than a value to compare
+with
+.I \ecount0
+values. Thus, using
+.I -p =3
+will start with the third page of the document, no matter what the pages
+are actually numbered.
+.TP
+.B -pp pagelist
+A comma-separated list of pages and ranges (a-b) may be given, which
+will be interpreted as
+.I \ecount0
+values. Pages not specified will not be printed. Multiple
+.B -pp
+options may be specified or all pages and page ranges can be
+specified with one
+.B -pp
+option.
+.TP
+.B -P printername
+Sets up the output for the appropriate printer. This is implemented by
+reading in
+.I config.printername
+, which can then set the output pipe (as in,
+.I !lpr -Pprintername
+as well as the font paths and any other
+.I config.ps
+defaults for that printer only. Note that
+.I config.ps
+is read before
+.I config.printername
+In addition, another file called
+.I ~/.dvipsrc
+is searched for immediately after
+.IR config.ps ;
+this file is intended for user defaults. If no
+.I -P
+command is given, the environment variable
+.I PRINTER
+is checked. If that variable exists, and a corresponding configuration
+file exists, that configuration file is read in.
+.TP
+.B -q
+Run in quiet mode. Don't chatter about pages converted, etc.; report
+nothing but errors to standard error.
+.TP
+.B -r
+Stack pages in reverse order. Normally, page 1 will be printed first.
+.TP
+.B -R
+Run in secure mode. This means that ``backtick'' commands from a
+.I \especial{}
+or
+.I \epsffile{}
+macro in the (La)TeX source like
+.I \especial{psfile="`zcat foo.ps.Z"}
+or
+.I \epsffile[72 72 540 720]{"`zcat screendump.ps.gz"}
+are not executed.
+.TP
+.B -s
+Causes the entire global output to be enclosed in a save/restore pair.
+This causes the file to not be truly conformant, and is thus not
+recommended, but is useful if you are driving the printer directly and
+don't care too much about the portability of the output.
+.TP
+.B -S num
+Set the maximum number of pages in each `section'. This option is most
+commonly used with the
+.I -i
+option; see that documentation above for more information.
+.TP
+.B -t papertype
+This sets the paper type to
+.IR papertype .
+The
+.I papertype
+should be defined in one of the configuration files, along with the
+appropriate code to select it. (Currently known types include
+.BR letter ,
+.BR legal ,
+.BR ledger ,
+.BR a4 ,
+.BR a3 ).
+You can also specify
+.BR -t " " landscape ,
+which rotates a document by 90 degrees. To rotate a document whose size
+is not letter, you can use the
+.I -t
+option twice, once for the page size, and once for landscape.
+You should not use any
+.I -t
+option when the DVI file already contains a
+.I papersize
+special, as is done by some LaTeX packages, notably hyperref.sty.
+
+The upper left corner of each page in the
+.I .dvi
+file is placed one inch from the left and one inch from the top. Use of
+this option is highly dependent on the configuration file. Note that
+executing the
+.B letter
+or
+.B a4
+or other PostScript operators cause the document to be nonconforming and
+can cause it not to print on certain printers, so the paper size should
+not execute such an operator if at all possible.
+.TP
+.B -T papersize
+Set the paper size to the given pair of dimensions. This option takes
+its arguments in the same style as
+.IR -O .
+It overrides any paper size special in the dvi file.
+.TP
+.B -u psmapfile
+Set
+.I psmapfile
+to be the file that dvips uses for looking up PostScript font aliases. If
+.I psmapfile
+begins with a
+.B +
+character, then the rest of the name is used as the name of the map file,
+and the map file is appended to the list of map files (instead of replacing
+the list). In either case, if
+.I psmapfile
+has no extension, then
+.B .map
+is added at the end.
+.TP
+.B -U
+Disable a PostScript virtual memory saving optimization that stores the
+character metric information in the same string that is used to store
+the bitmap information. This is only necessary when driving the Xerox
+4045 PostScript interpreter. It is caused by a bug in that interpreter
+that results in `garbage' on the bottom of each character. Not
+recommended unless you must drive this printer.
+.TP
+.B -v
+Print the
+.B dvips
+version number and exit.
+.TP
+.B -V
+Download non-resident PostScript fonts as bitmaps. This requires use of
+`gsftopk' or `pstopk' or some other such program(s) in order to generate
+the required bitmap fonts; these programs are supplied with
+.BR dvips .
+.TP
+.B -x num
+Set the
+magnification ratio to
+.IR num /1000.
+Overrides the magnification specified in the .dvi file. Must be
+between 10 and 100000. Instead of an integer,
+.I num
+may be a real number for increased precision.
+.TP
+.B -X num
+Set the horizontal resolution in dots per inch to
+.IR num .
+.TP
+.B -y num
+Set the
+magnification ratio to
+.IR num /1000
+times the magnification specified in the .dvi file.
+See
+.B -x
+above.
+.TP
+.B -Y num
+Set the vertical resolution in dots per inch to
+.IR num .
+.TP
+.B -z
+Pass
+.B html
+hyperdvi specials through to the output for eventual
+distillation into PDF. This is not enabled by default to avoid
+including the header files unnecessarily, and use of temporary files in
+creating the output.
+.TP
+.B -Z
+Causes bitmapped fonts to be compressed before they are downloaded,
+thereby reducing the size of the PostScript font-downloading
+information. Especially useful at high resolutions or when very large
+fonts are used. Will slow down printing somewhat, especially on early
+68000-based PostScript printers.
+.SH "SEE ALSO"
+mf(1), afm2tfm(1), tex(1), latex(1), lpr(1),
+.IR dvips.texi .
+.SH ENVIRONMENT
+Dvipsk uses the same environment variables and algorithms for finding
+font files as TeX and its friends do. See the documentation for the
+Kpathsea library for details. (Repeating it here is too cumbersome.)
+.PP
+KPATHSEA_DEBUG: Trace Kpathsea lookups; set to -1 for complete tracing.
+.PP
+PRINTER: see above.
+.SH NOTES
+PostScript is a registered trademark of Adobe Systems Incorporated.
+.SH AUTHOR
+Tomas Rokicki <rokicki@cs.stanford.edu>; extended to virtual fonts
+by Don Knuth. Path searching and configuration modifications by
+kb@mail.tug.org.
diff --git a/Master/texmf/doc/man/man1/dvired.1 b/Master/texmf/doc/man/man1/dvired.1
new file mode 100644
index 00000000000..f76e58087a3
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvired.1
@@ -0,0 +1,63 @@
+.TH dvired 1 "09/94" "teTeX" "teTeX"
+.SH NAME
+dvired \- print dvi-files
+.SH SYNOPSIS
+.B dvired
+[
+.B options
+]
+.B file
+.SH DESCRIPTION
+.I dvired
+behaves like
+.IR dvips ,
+except for the fact that two logical pages are put onto each physical
+sheet of paper.
+
+For
+.IR options ,
+see
+.IR dvips (1).
+This program only interprets the following options:
+
+.I \-o file
+\- redirect output into
+.I file.
+
+.I \-P printer
+\- direct output to
+.I printer.
+
+.I \-f
+\- direct output to stdout.
+
+Any other option is passed directly to
+.IR dvips .
+
+.SH EXAMPLES
+It is assumed that the PRINTER-variable is set.
+
+.B dvired \-Plw foo
+\- send output to printer
+.IR lw .
+.br
+.B dvired \-o foo.ps foo
+\- send output to file
+.IR foo.ps .
+.br
+.B dvired \-pp4-7 foo
+\- send 4 pages (reduced onto 2 sheets) of
+.I foo
+to the printer.
+.br
+.B dvired foo \-f | ghostview \-
+\- preview output with ghostview.
+
+.SH "SEE ALSO"
+.IR dvips (1)
+.SH BUGS
+.I dvired
+is fixed on A4 paper size. If you want to use it with other paper, you have
+to change the settings within the source.
+.SH AUTHOR
+Thomas Esser <te@dbs.uni-hannover.de>
diff --git a/Master/texmf/doc/man/man1/dviselect.1 b/Master/texmf/doc/man/man1/dviselect.1
new file mode 100644
index 00000000000..814f102308a
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dviselect.1
@@ -0,0 +1,129 @@
+.TH DVISELECT 1
+.SH NAME
+dviselect \- extract pages from DVI files
+.SH SYNOPSIS
+.B dviselect
+[
+.B \-s
+] [
+.B \-i
+.I infile
+] [
+.B \-o
+.I outfile
+]
+.I "list of pages"
+[
+.I infile
+[
+.I outfile
+] ]
+.SH DESCRIPTION
+.I Dviselect
+selects pages from a DVI file produced by TeX,
+creating a new DVI file
+usable by any of the TeX conversion programs,
+or even by
+.I dviselect
+itself.
+.PP
+A
+.I range
+is a string of the form
+.IR even ,
+.IR odd ,
+or
+.I first:last
+where both
+.I first
+and
+.I last
+are optional numeric strings, with negative numbers indicated by
+a leading underscore character ``_''. If both
+.I first
+and
+.I last
+are omitted, the colon may also be omitted, or may be replaced
+with an asterisk ``*''. A
+.I page range
+is a list of ranges separated by periods. A
+.I "list of pages"
+is described by a set of page ranges separated by commas and/or white space.
+.PP
+.I Dviselect
+actually looks at the ten
+.I count
+variables that TeX writes; the first of these (\ecount0) is the
+page number, with \ecount1 through \ecount9 having varied uses
+depending on which macro packages are in use. (Typically \ecount1
+might be a chapter or section number.) A page is included in
+.IR dviselect 's
+output if all its \ecount values match any one of the ranges
+listed on the command line. For example, the command
+``dviselect *.1,35:''
+might select everything in chapter 1, as well as pages 35 and up.
+``dviselect 10:30'' would select pages 10 through 30 (inclusive).
+``:43'' means everything up to and including page 43 (including
+negative-numbered pages).
+To get all even-numbered pages, use ``even'';
+to get all odd-numbered pages, use ``odd''.
+If a Table of Contents has negative page numbers, ``:_1'' will select it.
+Note that ``*'' must be quoted from the shell;
+the empty string is more convenient to use, if harder to read.
+.PP
+Instead of \ecount values,
+.I dviselect
+can also select by ``absolute page number'', where the first page
+is page 1, the second page 2, and so forth. Absolute page numbers
+are indicated by a leading equal sign ``=''. Ranges of absolute
+pages are also allowed: ``dviselect =3:7'' will extract the third
+through seventh pages. Dot separators are not legal in absolute
+ranges, and there are no negative absolute page numbers.
+Even/odd specifiers, however, are legal;
+``dviselect =even'' selects every other page,
+starting with the second.
+.PP
+More precisely, an asterisk or an empty string implies no limit;
+an equal sign means absolute page number rather than \ecounts;
+a leading colon means everything up to and including the given page; a
+trailing colon means everything from the given page on;
+the word ``even'' means only even values shall be accepted;
+the word ``odd'' means only odd values shall be accepted; and
+a period indicates that the next \ecount should be examined.
+If fewer than 10 ranges are specified, the remaining \ecounts
+are left unrestricted (that is, ``1:5'' and ``1:5.*'' are equivalent).
+A single number \fIn\fP is treated as if it were the range \fIn:n\fP.
+An arbitrary number of page selectors may be given, separated by commas
+or whitespace; a page is selected if any of the selectors matches
+its \ecounts or absolute page number.
+.PP
+Dviselect normally prints the page numbers of the pages selected; the
+.I \-s
+option suppresses this.
+.SH AUTHOR
+Chris Torek, University of Maryland
+.SH "SEE ALSO"
+dviconcat(1), latex(1), tex(1)
+.br
+.I "MC-TeX User's Guide"
+.br
+.I "The TeXbook"
+.SH BUGS
+A leading ``-'' ought to be allowed for negative numbers, but it
+is currently used as a synonym for ``:'', for backwards compatibility.
+.PP
+Section or subsection selection will sometimes fail, for the DVI
+file lists only the \ecount values that were active when the page
+ended. Clever macro packages can alleviate this by making use of
+other ``free'' \ecount registers. Chapters normally begin on new
+pages, and do not suffer from this particular problem.
+.PP
+The heuristic that decides which arguments are page selectors
+and which are file names is often wrong.
+Using shell redirection or the \-i and \-o options is safest.
+.PP
+.I Dviselect
+does not adjust the parameters in the postamble; however, since these
+values are normally used only to size certain structures in the output
+conversion programs, and the parameters never need to be adjusted upward,
+this has not proven to be a problem.
diff --git a/Master/texmf/doc/man/man1/dvitodvi.1 b/Master/texmf/doc/man/man1/dvitodvi.1
new file mode 100644
index 00000000000..549b5a5e8c7
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvitodvi.1
@@ -0,0 +1,137 @@
+.TH DVITODVI 1
+.SH NAME
+dvitodvi \- rearrange pages in a DVI file
+.SH SYNOPSIS
+.B dvitodvi
+[
+.B \-q
+] [
+.B \-i
+.I infile
+] [
+.B \-o
+.I outfile
+]
+[
+.B \-w\fIwidth\fR
+]
+[
+.B \-h\fIheight\fR
+]
+.I pagespecs
+[
+.I infile
+[
+.I outfile
+] ]
+.SH DESCRIPTION
+.I Dvitodvi
+rearranges pages from a DVI file, creating a new DVI file.
+.I Dvitodvi
+can be used to perform a large number of arbitrary re-arrangements of
+Documents, including arranging for printing 2-up, 4-up, booklets, reversing,
+selecting front or back sides of documents, scaling, etc.
+.PP
+.I pagespecs
+follow the syntax:
+.RS
+.TP 12
+.I pagespecs
+.I = [modulo:][mag@]specs
+.TP
+.I specs
+.I = spec[+specs][,specs]
+.TP
+.I spec
+.I = [-]pageno[(xoff,yoff)]
+.RE
+.sp
+.I modulo
+is the number of pages in each block. The value of
+.I modulo
+should be greater than 0; the default value is 1.
+The optional
+.I mag
+parameter adjusts the file's magnification by the magnification specified. The
+magnification and modulo can be specified in reverse order if desired.
+.I specs
+are the page specifications for the pages in each block. The value of the
+.I pageno
+in each
+.I spec
+should be between 0 (for the first page in the block) and \fImodulo\fR-1
+(for the last page in each block) inclusive.
+The optional dimensions
+.I xoff
+and
+.I yoff
+shift the page by the specified (positive) amount.
+.I xoff
+and
+.I yoff
+are in PostScript's points, but may be followed by the units
+.B "cm"
+or
+.B "in"
+to convert to centimetres or inches, or the flag
+.B "w"
+or
+.B "h"
+to specify as a multiple of the width or height.
+If the optional minus sign is specified, the page is relative to the end of
+the document, instead of the start.
+
+If page \fIspec\fRs are separated by
+.B \+
+the pages will be merged into one page; if they are separated by
+.B \,
+they will be on separate pages.
+If there is only one page specification, with
+.I pageno
+zero, the \fIpageno\fR may be omitted.
+.PP
+The
+.I \-w
+option gives the width which is used by the
+.B "w"
+dimension specifier, and the
+.I \-h
+option gives the height which is used by the
+.B "h"
+dimension specifier. These dimensions are also used (after scaling) to set the
+clipping path for each page.
+.PP
+Dvitodvi normally prints the page numbers of the pages re-arranged; the
+.I \-q
+option suppresses this.
+.SH EXAMPLES
+This section contains some sample re-arrangements. To put two pages on one
+sheet (of landscaped A3 paper), the pagespec to use is:
+.sp
+.ce
+2:0+1(21cm,0)
+.sp
+To reduce an A3 page to A4 size, the pagespec to use is:
+.sp
+.ce
+700@(-.3in,-.3in)
+.sp
+To select all of the odd pages in reverse order, use:
+.sp
+.ce
+2:-0
+.sp
+.SH AUTHOR
+Angus Duggan, from dviselect(1), by
+Chris Torek, University of Maryland
+.SH "SEE ALSO"
+dviconcat(1), dvibook(1), dviselect(1), latex(1), tex(1)
+.br
+.I "MC-TeX User's Guide"
+.br
+.I "The TeXbook"
+.SH BUGS
+.I Dvitodvi
+does not adjust some of the parameters in the postamble. This may be a problem
+if these values are used to size certain structures in the output
+conversion programs.
diff --git a/Master/texmf/doc/man/man1/dvitomp.1 b/Master/texmf/doc/man/man1/dvitomp.1
new file mode 100644
index 00000000000..a6b74030943
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvitomp.1
@@ -0,0 +1,17 @@
+.TH DVITOMP 1 "October 30, 1999"
+.\" man page by Jim Van Zandt <jrv@vanzandt.mv.com> -*- nroff -*-
+.SH NAME
+dvitomp \- convert a TeX DVI file to a MetaPost MPXFILE
+.SH SYNOPSIS
+\fBdvitomp\fP [\fIoptions\fP] \fIdvifile\fP[.dvi] [\fImpxfile\fP[.mpx]]
+.SH DESCRIPTION
+\fBdvitomp\fP translates the given \fIdvifile\fP to a MetaPost
+MPXFILE. The default \fImpxfile\fP is the basename of \fIdvifile\fP
+extended with ".mpx".
+.SH OPTIONS
+.IP \fB-help\fP
+write usage summary and exit.
+.IP \fB-version\fP
+output version information and exit.
+.SH BUGS
+Email bug reports to tex-k@mail.tug.org.
diff --git a/Master/texmf/doc/man/man1/dvitype.1 b/Master/texmf/doc/man/man1/dvitype.1
new file mode 100644
index 00000000000..a68e4f34ec3
--- /dev/null
+++ b/Master/texmf/doc/man/man1/dvitype.1
@@ -0,0 +1,74 @@
+.TH DVITYPE 1 "19 December 1994" "Web2C 7.5.5"
+.\"=====================================================================
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+dvitype \- translate a dvi file for humans
+.SH SYNOPSIS
+.B dvitype
+.I dvi_name[.dvi]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B dvitype
+program translates a DVI (DeVice Independent) file output by (for example)
+.BR tex (1)
+or
+.BR gftodvi (1),
+to a file that humans can read. It also serves as a DVI file-validating
+program (i.e., if
+.B dvitype
+can read it, it's correct) and as an example of a DVI-reading
+program for future device drivers.
+.PP
+The output file can include all commands, just the important
+ones, or none at all (in which case only errors are reported).
+A subinterval of pages may be selected for transliteration; the
+magnification and resolution of the ``output device'' may be
+changed; and so on. All options are specified with an on-line dialog.
+.PP
+The
+.I .dvi
+extension is supplied if omitted from
+.IR dvi_name .
+The output goes to
+.IR stdout .
+.\"=====================================================================
+.SH ENVIRONMENT
+The environment variable TEXFONTS is used to search for the TFM files
+used in the DVI file. See
+.BR tex (1)
+for the details of the searching.
+If TEXFONTS is not set, it uses the system default.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR gftype (1),
+.BR pktype (1).
+.br
+Donald E. Knuth,
+.IR \*(OXware .
+.\"=====================================================================
+.SH BUGS
+The interactive dialog should be replaced by command-line options, as
+with
+.BR gftype .
+.SH AUTHORS
+Donald E. Knuth wrote the program. It was published as part of the
+.I \*(OXware
+technical report, available from the \*(TX Users Group.
+Howard Trickey and Pavel Curtis originally ported it to Unix.
diff --git a/Master/texmf/doc/man/man1/e2pall.1 b/Master/texmf/doc/man/man1/e2pall.1
new file mode 100644
index 00000000000..b102568b53a
--- /dev/null
+++ b/Master/texmf/doc/man/man1/e2pall.1
@@ -0,0 +1,55 @@
+.TH "e2pall" "1" "August 2000" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+e2pall \- convert all EPS files in a LaTeX document to PDF
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBe2pall\fP \fITEXFILE\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBe2pall\fP searches through \fITEXFILE\fP for \eincludegraphics
+commands to find the base names of image files\&. When it finds one,
+\fBe2pall\fP runs \fBepstopdf\fP(1) to create a PDF file from the EPS
+file\&.
+.PP
+\fBe2pall\fP will check to be sure that an existing PDF file is
+up-to-date with the EPS file, and will not run \fBepstopdf\fP(1) if
+the PDF file is newer than the EPS file\&.
+.PP
+.SH "BUGS"
+.PP
+.IP ""
+Seems to be broken
+.IP ""
+Cannot handle \einput{\fIfilename\fP} or
+\eincludegraphics{\fIfilename\fP} split over more than one
+line
+.IP ""
+Must be run from same directory as the LaTeX file
+.IP ""
+Does not look down $TEXINPUTS
+.IP ""
+Cannot handle documents that use \einclude commands
+.IP ""
+Assumes \fIall\fP files included with \eincludegraphics are EPS
+files
+.IP
+.PP
+.SH "SEE ALSO"
+.PP
+\fBepstopdf\fP(1)
+.PP
+.SH "AUTHOR"
+.PP
+\fBe2pall\fP was written by Jody Klymak <jklymak@apl\&.washington\&.edu> and published in a posting to
+the <pdftex@tug\&.org> (mailing list)\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<c@eskimo\&.com>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
+.PP
diff --git a/Master/texmf/doc/man/man1/ebb.1 b/Master/texmf/doc/man/man1/ebb.1
new file mode 100644
index 00000000000..1a44ed97e20
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ebb.1
@@ -0,0 +1,34 @@
+.TH "ebb" "1" "May 2004" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+ebb \- extract a bounding box from JPEG, PNG, and PDF files
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBebb\fP [ \fI -v\fP | \fI-b\fP ] \fI graphic_file\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBebb\fP extracts the bounding box from JPEG, PNG, and PDF files
+(with lower- or uppercase extensions) and writes it into a file with
+the extension \fB.bb\fP, together with some header information. These
+files can then be used by \fBdvipdfm\fP or other programs.
+.PP
+.SH "OPTIONS"
+.HP
+\fB\-v\fR : be verbose
+.HP
+\fB\-b\fR : Write .bb file in binary mode (has no effect on Linux and
+other systems conforming to POSIX).
+.HP
+.PP
+.SH "AUTHOR"
+.PP
+\fBebb\fP was written by Mark A. Wicks.
+.PP
+This manual page was written by Frank Küster <frank@kuesterei\&.ch>,
+for the Debian GNU/Linux system\&. It may be used and modified by
+others without contacting the author\&. Any mistakes or omissions in
+the manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary
+author)\&.
diff --git a/Master/texmf/doc/man/man1/eplain.1 b/Master/texmf/doc/man/man1/eplain.1
new file mode 100644
index 00000000000..ec798867b6d
--- /dev/null
+++ b/Master/texmf/doc/man/man1/eplain.1
@@ -0,0 +1,103 @@
+.TH EPLAIN 1 "14 December 1993" "Web2C 7.5.5"
+.\"=====================================================================
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX
+.if n .ds AX AmSTeX
+.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX
+.if n .ds AY AmSLaTeX
+.\"=====================================================================
+.SH NAME
+eplain \- extended plain TeX
+.SH SYNOPSIS
+.B eplain
+[ first-line ]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+.B eplain
+is an extension of plain \*(TX described in the book
+.IR "\*(OX for the Impatient" .
+It adds these features (among others) to plain \*(TX:
+.TP \w'\(bu'u+2n
+\(bu
+left-justified displays
+.TP
+\(bu
+double-column output
+.TP
+\(bu
+tables of contents
+.TP
+\(bu
+.I \ehrule
+and
+.I \evrule
+with a different default than 0.4pt
+.TP
+\(bu
+time of day
+.TP
+\(bu
+verbatim file listing
+.TP
+\(bu
+generalized footnotes
+.TP
+\(bu
+blank and black boxes
+.TP
+\(bu
+citations using \*(BX
+.\"=====================================================================
+.SH FILES
+.TP
+.I eplain/doc/eplain.texi
+\*(TXable documentation of
+.B etex
+macros in
+.B texinfo
+format.
+.TP
+.I eplain.info*
+Online GNU Emacs
+.BR info (1)
+files produced from
+.IR eplain.texi .
+.PP
+The complete
+.I eplain
+distribution is available via anonymous ftp to the Internet host
+.I ftp.cs.umb.edu
+from the file
+.I pub/tex/eplain.tar.Z
+which is linked to another file containing the most recent version of
+the package. Major \*(TX archive sites should also have it.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR emacs (1),
+.BR info (1),
+.BR initex (1),
+.BR tex (1),
+.BR xinfo (1).
+.br
+Karl Berry,
+.IR eplain ,
+TUGboat 11(4), 571--572, 1990.
+.br
+Paul W. Abrahams with Karl Berry and Kathryn A. Hargreaves,
+.IR "\*(OX for the Impatient" ,
+Addison-Wesley, 1990, ISBN 0-201-51375-7.
diff --git a/Master/texmf/doc/man/man1/epsffit.1 b/Master/texmf/doc/man/man1/epsffit.1
new file mode 100644
index 00000000000..f708df244e3
--- /dev/null
+++ b/Master/texmf/doc/man/man1/epsffit.1
@@ -0,0 +1,51 @@
+.TH EPSFFIT 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+epsffit \- fit encapsulated PostScript file (EPSF) into constrained size
+.SH SYNOPSIS
+.B epsffit
+[
+.B \-c
+] [
+.B \-r
+] [
+.B \-a
+] [
+.B \-m
+] [
+.B \-s
+]
+.I "llx lly urx ury"
+[
+.B infile
+[
+.B outfile
+] ]
+.SH DESCRIPTION
+.I Epsffit
+fits an EPSF file (encapsulated PostScript) to a given bounding box.
+The coordinates of the box are given by \fB(llx,lly)\fR for the lower
+left, and \fB(urx,ury)\fR for the upper right, in PostScript units (points).
+.PP
+If no input or output files are specified,
+.I epsffit
+read from the standard input and writes to the standard output.
+.SH OPTIONS
+.IP \fB\-c\fP 1i
+Center the image in the given bounding box.
+.IP \fB\-r\fP 1i
+Rotate the image by 90 degrees counter-clockwise.
+.IP \fB\-a\fP 1i
+Adjust the aspect ratio to fit the bounding box. The default is to preserve
+the aspect ratio.
+.IP \fB\-m\fP 1i
+Rotates the image to maximise the size if it would fit the specified bounding
+box better.
+.IP \fB\-s\fP 1i
+Add a \fIshowpage\fP at the end of the file to force the image to print.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
diff --git a/Master/texmf/doc/man/man1/epstopdf.1 b/Master/texmf/doc/man/man1/epstopdf.1
new file mode 100644
index 00000000000..451e5a3ca1e
--- /dev/null
+++ b/Master/texmf/doc/man/man1/epstopdf.1
@@ -0,0 +1,54 @@
+.TH EPSTOPDF 1 "October 30, 1999"
+.\" man page by Jim Van Zandt <jrv@vanzandt.mv.com> -*- nroff -*-
+.SH NAME
+epstopdf \- convert an EPS file to PDF
+.SH SYNOPSIS
+\fBepstopdf\fP [\fIoptions\fP] \fIepsfile\fP
+.SH DESCRIPTION
+\fBepstopdf\fP transforms the Encapsulated PostScript file
+\fIepsfile\fP so that it is guaranteed to start at the 0,0 coordinate,
+and it sets a page size exactly corresponding to the BoundingBox.
+This means that when Ghostscript renders it, the result needs no
+cropping, and the PDF MediaBox is correct. The result is piped to
+Ghostscript and a PDF version written.
+.P
+If the bounding box is not right, of course, you have problems...
+.SH OPTIONS
+.IP "\fB--outfile\fP=\fIfile\fP"
+write result to \fIfile\fP instead of standard output.
+.IP "\fB--\fP[\fBno\fP]\fBfilter\fP"
+read standard input (default: --nofilter).
+.IP "\fB--\fP[\fBno\fP]\fBgs\fP"
+run ghostscript (default: --gs).
+.IP "\fB--\fP[\fBno\fP]\fBcompress\fP"
+use compression (default: --compress).
+.IP "\fB--\fP[\fBno\fP]\fBhires\fP"
+scan HiresBoundingBox (default: --nohires).
+.IP "\fB--\fP[\fBno\fP]\fBexact\fP"
+scan ExactBoundingBox (default: --noexact).
+.IP "\fB--\fP[\fBno\fP]\fBdebug\fP"
+debug informations (default: --nodebug).
+.IP "\fB--help\fP
+print usage
+.SH EXAMPLE
+Examples for producing "test.pdf":
+.nf
+
+epstopdf test.eps
+produce postscript | epstopdf --filter >test.pdf
+produce postscript | epstopdf -f -d -o=test.pdf
+
+.fi
+Example: look for HiresBoundingBox and produce corrected PostScript:
+.nf
+
+epstopdf -d --nogs -hires test.ps>testcorr.ps
+.fi
+.SH BUGS
+The only thing I have not allowed for is the case of
+"%%BoundingBox: (atend)", which is more complicated.
+.SH SEE ALSO
+\fBgs\fP(1).
+.SH AUTHOR
+Sebastian Rahtz, for Elsevier Science.
+Now with extra tricks from Hans Hagen's texutil.
diff --git a/Master/texmf/doc/man/man1/etex.1 b/Master/texmf/doc/man/man1/etex.1
new file mode 100644
index 00000000000..16277a606cc
--- /dev/null
+++ b/Master/texmf/doc/man/man1/etex.1
@@ -0,0 +1,429 @@
+.TH ETEX 1 "21 August 2004" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX
+.if n .ds AX AmSTeX
+.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX
+.if n .ds AY AmSLaTeX
+.\"=====================================================================
+.SH NAME
+etex, einitex, evirtex \- extended TeX
+.SH SYNOPSIS
+.B etex
+.RI [ options ]
+[\fB&\fR \fIformat\fR ]
+[ \fIfile\fR | \fB\e\fR \fIcommands\fR ]
+.\"=====================================================================
+.SH DESCRIPTION
+Run the e-\*(TX typesetter on
+.IR file ,
+usually creating
+.IR file.dvi .
+If the file argument has no extension, ".tex" will be appended to it.
+Instead of a filename, a set of e-\*(TX commands can be given, the first
+of which must start with a backslash.
+With a
+.BI & format
+argument e-\*(TX uses a different set of precompiled commands,
+contained in
+.IR format.fmt ;
+it is usually better to use the
+.B -fmt
+.I format
+option instead.
+.PP
+e-\*(TX is the first concrete result of an international research &
+development project, the NTS Project, which was established under the
+aegis of DANTE e.V. during 1992. The aims of the project are to
+perpetuate and develop the spirit and philosophy of \*(TX, whilst
+respecting Knuth's wish that \*(TX should remain frozen.
+.PP
+e-\*(TX can be used in two different modes: in
+.I compatibility mode
+it is supposed to be completely interchangable with standard \*(TX.
+In
+.I extended mode
+several new primitives are added that facilitate (among other things)
+bidirectional typesetting.
+.PP
+An extended mode format is generated by prefixing the name of the
+source file for the format with an asterisk (*). Such formats are
+often prefixed with an `e', hence
+.B etex
+as the extended version of
+.B tex
+and
+.B elatex
+as the extended version of
+.BR latex .
+However,
+.B eplain
+is an exception to this rule.
+.PP
+The
+.B einitex
+and
+.B evirtex
+commands are e-\*(TX's analogues to the
+.B initex
+and
+.B virtex
+commands. In this installation, they are symbolic links to the
+.B etex
+executable. These symbolic links may not exist at all.
+.PP
+e-\*(TX's handling of its command-line arguments is similar to that of
+the other \*(TX programs in the
+.I web2c
+implementation.
+.\"=====================================================================
+.SH OPTIONS
+This version of e-\*(TX understands the following command line options.
+.TP
+.BI -fmt \ format
+.rb
+Use
+.I format
+as the name of the format to be used, instead of the name by which
+e-\*(TX was called or a
+.I %&
+line.
+.TP
+.B -enc
+.rb
+Enable the enc\*(TX extensions. This option is only effective in
+combination with
+.BR -ini .
+For documentation of the enc\*(TX extensions see
+.BR http://www.olsak.net/enctex.html .
+.TP
+.B -etex
+.rb
+Enable the e-\*(TX extensions. This option is only effective in
+combination with
+.BR -ini .
+.TP
+.B -file-line-error
+.rb
+Print error messages in the form
+.I file:line:error
+which is similar to the way many compilers format them.
+.TP
+.B -no-file-line-error
+.rb
+Disable printing error messages in the
+.I file:line:error
+style.
+.TP
+.B -file-line-error-style
+.rb
+This is the old name of the
+.B -file-line-error
+option.
+.TP
+.B -halt-on-error
+.rb
+Exit with an error code when an error is encountered during processing.
+.TP
+.B -help
+.rb
+Print help message and exit.
+.TP
+.B -ini
+.rb
+Start in
+.I INI
+mode, which is used to dump formats. The
+.I INI
+mode can be used for typesetting, but no format is preloaded, and
+basic initializations like setting catcodes may be required.
+.TP
+.BI -interaction \ mode
+.rb
+Sets the interaction mode. The mode can be either
+.IR batchmode ,
+.IR nonstopmode ,
+.IR scrollmode ,
+and
+.IR errorstopmode .
+The meaning of these modes is the same as that of the corresponding
+\ecommands.
+.TP
+.B -ipc
+.rb
+Send DVI output to a socket as well as the usual output file. Whether
+this option is available is the choice of the installer.
+.TP
+.B -ipc-start
+.rb
+As
+.BR -ipc ,
+and starts the server at the other end as well. Whether this option
+is available is the choice of the installer.
+.TP
+.BI -jobname \ name
+.rb
+Use
+.I name
+for the job name, instead of deriving it from the name of the input file.
+.TP
+.BI -kpathsea-debug \ bitmask
+.rb
+Sets path searching debugging flags according to the bitmask. See the
+.I Kpathsea
+manual for details.
+.TP
+.BI -mktex \ fmt
+.rb
+Enable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.B -mltex
+.rb
+Enable ML\*(TX extensions. Only effective in combination with
+.BR -ini .
+.TP
+.BI -no-mktex \ fmt
+.rb
+Disable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.BI -output-comment \ string
+.rb
+Use
+.I string
+for the
+.I DVI
+file comment instead of the date.
+.TP
+.BI -output-directory \ directory
+.rb Write output files in
+.I directory
+instead of the current directory. Look up input files in
+.I directory
+first, the along the normal search path.
+.TP
+.B -parse-first-line
+.rb
+If the first line of the main input file begins with
+.I %&
+parse it to look for a dump name or a
+.B -translate-file
+option.
+.TP
+.B -no-parse-first-line
+.rb
+Disable parsing of the first line of the main input file.
+.TP
+.BI -progname \ name
+.rb
+Pretend to be program
+.IR name .
+This affects both the format used and the search paths.
+.TP
+.B -recorder
+.rb
+Enable the filename recorder. This leaves a trace of the files opened
+for input and output in a file with extension
+.IR .fls .
+.TP
+.B -shell-escape
+.rb
+Enable the
+.BI \ewrite18{ command }
+construct. The
+.I command
+can be any shell command. This construct is normally
+disallowed for security reasons.
+.TP
+.B -no-shell-escape
+.rb
+Disable the
+.BI \ewrite18{ command }
+construct, even if it is enabled in the
+.I texmf.cnf
+file.
+.TP
+.B -src-specials
+.rb
+Insert source specials into the
+.I DVI
+file.
+.TP
+.BI -src-specials \ where
+.rb
+Insert source specials in certain placed of the
+.I DVI
+file.
+.I where
+is a comma-separated value list:
+.IR cr ,
+.IR display ,
+.IR hbox ,
+.IR math ,
+.IR par ,
+.IR parent ,
+or
+.IR vbox .
+.TP
+.BI -translate-file \ tcxname
+.rb
+Use the
+.I tcxname
+translation table to set the mapping of input characters and
+re-mapping of output characters.
+.TP
+.BI -default-translate-file \ tcxname
+.rb
+Like
+.B -translate-file
+except that a
+.I %&
+line can overrule this setting.
+.TP
+.B -version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH ENVIRONMENT
+See the Kpathsearch library documentation (the `Path specifications'
+node) for precise details of how the environment variables are used.
+The
+.B kpsewhich
+utility can be used to query the values of the variables.
+.PP
+One caveat: In most e-\*(TX formats, you cannot use ~ in a filename you
+give directly to e-\*(TX, because ~ is an active character, and hence is
+expanded, not taken as part of the filename. Other programs, such as
+\*(MF, do not have this problem.
+.PP
+.TP
+TEXMFOUTPUT
+Normally, e-\*(TX puts its output files in the current directory. If
+any output file cannot be opened there, it tries to open it in the
+directory specified in the environment variable TEXMFOUTPUT.
+There is no default value for that variable. For example, if you say
+.I etex paper
+and the current directory is not writable, if TEXMFOUTPUT has
+the value
+.IR /tmp ,
+e-\*(TX attempts to create
+.I /tmp/paper.log
+(and
+.IR /tmp/paper.dvi ,
+if any output is produced.)
+.TP
+TEXINPUTS
+Search path for
+.I \einput
+and
+.I \eopenin
+files.
+This should probably start with ``.'', so
+that user files are found before system files. An empty path
+component will be replaced with the paths defined in the
+.I texmf.cnf
+file. For example, set TEXINPUTS to ".:/home/usr/tex:" to prepend the
+current direcory and ``/home/user/tex'' to the standard search path.
+.TP
+TEXFORMATS
+Search path for format files.
+.TP
+TEXPOOL
+search path for
+.B etex
+internal strings.
+.TP
+TEXEDIT
+Command template for switching to editor. The default, usually
+.BR vi ,
+is set when e-\*(TX is compiled.
+.TP
+TFMFONTS
+Search path for font metric
+.RI ( .tfm )
+files.
+.\"=====================================================================
+.SH FILES
+The location of the files mentioned below varies from system to
+system. Use the
+.B kpsewhich
+utility to find their locations.
+.TP
+.I etex.pool
+Text file containing e-\*(TX's internal strings.
+.TP
+.I texfonts.map
+Filename mapping definitions.
+.TP
+.I *.tfm
+Metric files for e-\*(TX's fonts.
+.TP
+.I *.fmt
+Predigested e-\*(TX format (.\|fmt) files.
+.br
+.\"=====================================================================
+.SH NOTES
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of e-\*(TX can be found in the info
+manual
+.IR "Web2C: A TeX implementation" .
+.\"=====================================================================
+.SH BUGS
+This version of e-\*(TX implements a number of optional extensions.
+In fact, many of these extensions conflict to a greater or lesser
+extent with the definition of e-\*(TX. When such extensions are
+enabled, the banner printed when e-\*(TX starts is changed to print
+.B e-TeXk
+instead of
+.BR e-TeX .
+.PP
+This version of e-\*(TX fails to trap arithmetic overflow when
+dimensions are added or subtracted. Cases where this occurs are rare,
+but when it does the generated
+.I DVI
+file will be invalid.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tex (1),
+.BR mf (1).
+.\"=====================================================================
+.SH AUTHORS
+e-\*(TX was developed by Peter Breitenlohner (and the NTS team).
+.PP
+\*(TX was designed by Donald E. Knuth,
+who implemented it using his \*(WB system for Pascal programs.
+It was ported to Unix at Stanford by Howard Trickey, and
+at Cornell by Pavel Curtis.
+The version now offered with the Unix \*(TX distribution is that
+generated by the \*(WB to C system
+.RB ( web2c ),
+originally written by Tomas Rokicki and Tim Morgan.
+.PP
+The enc\*(TX extensions were written by Petr Olsak.
diff --git a/Master/texmf/doc/man/man1/extconv.1 b/Master/texmf/doc/man/man1/extconv.1
new file mode 100644
index 00000000000..8bc5a66cc78
--- /dev/null
+++ b/Master/texmf/doc/man/man1/extconv.1
@@ -0,0 +1,94 @@
+.\" man page for bg5conv
+.
+.TH EXTCONV 1 11-Aug-2005 "CJK Version 4.6.0"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+extconv \- convert a TeX document in either Big\ 5+ or GBK encoding into
+`preprocessed' form.
+.
+.
+.SH SYNOPSIS
+.B extconv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+Big\ 5+ and GBK encodings use the characters
+.C { ,
+.C } ,
+and
+.C \e
+which have special meanings in \*(TX
+documents.
+.PP
+After processing a \*(LE
+document which contains such characters with
+.B \%extconv
+you need not care about these special characters.
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR bg5conv (1),
+.BR \%sjisconv (1),
+.BR \%cefconv (1),
+.BR cef5conv (1),
+.BR \%cefsconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/Master/texmf/doc/man/man1/extractres.1 b/Master/texmf/doc/man/man1/extractres.1
new file mode 100644
index 00000000000..86252b6b5b0
--- /dev/null
+++ b/Master/texmf/doc/man/man1/extractres.1
@@ -0,0 +1,47 @@
+.TH EXTRACTRES 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+extractres \- filter to extract resources from a PostScript document
+.SH SYNOPSIS
+.B extractres
+[
+.B \-m
+] <
+.I document.ps
+>
+.I output.ps
+.SH DESCRIPTION
+.I Extractres
+extracts resources (fonts, procsets, patterns, files, etc) appearing in a
+PostScript document, and puts appropriate
+.I %%IncludeResource
+comments in the document prologue. The extracted resources are written to
+files with the same name as the resource, and an appropriate extension. The
+pipeline
+.sp
+.ce
+extractres file.ps | includeres >out.ps
+.sp
+will move all resources appearing in a document to the document prologue,
+removing redundant copies. The output file can then be put through page
+re-arrangement filters such as
+.I psnup
+or
+.I pstops
+safely.
+.PP
+The
+.B \-m
+option combines the resources of the same name into one file; this must be
+used for some programs which download fonts a bit at a time.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
+.SH BUGS
+.I extractres
+does not alter the
+.I %%DocumentSuppliedResources
+comments.
diff --git a/Master/texmf/doc/man/man1/fdf2tex.1 b/Master/texmf/doc/man/man1/fdf2tex.1
new file mode 100644
index 00000000000..d306652f34a
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fdf2tex.1
@@ -0,0 +1,31 @@
+.TH FDF2TEX "1" "May 2004" "teTeX " "ConTeXt"
+.SH NAME
+fdf2tex \- Convert PDF formular data (FDF) into something (Con)TeX(t) can
+handle
+.PP
+.SH "SYNOPSIS"
+\fBfdf2tex\fP \fIinfile\fP [ \fIoutfile\fP ]
+.PP
+\fBfdf2tan\fP \fIinfile\fP
+.PP
+.SH DESCRIPTION
+.PP
+Converts PDF formular data (FDF) into something (Con)TeX(t) can
+handle. These commands are usually called indirectly during ConTeXt
+file processing.
+.HP
+.SH "BUGS"
+.PP
+Probably none - all errors are in this manpage
+.PP
+.SH "SEE ALSO"
+.PP
+\fBtexexec\fP(1)\&.
+.PP
+The TeXExec manual, \fImtexexec\&.pdf\fP\&.
+.PP
+.SH "AUTHOR"
+.IP
+This manual page was written by Frank Küster <frank@kuesterei\&.ch>,
+for the Debian GNU/Linux system\&. It may be used and modified by
+others without contacting the author\&.
diff --git a/Master/texmf/doc/man/man1/fixdlsrps.1 b/Master/texmf/doc/man/man1/fixdlsrps.1
new file mode 100644
index 00000000000..35f0e0593c1
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fixdlsrps.1
@@ -0,0 +1,24 @@
+.TH FIXDLSRPS 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+fixdlsrps \- filter to fix DviLaser/PS documents to work with PSUtils
+.SH SYNOPSIS
+.B fixdlsrps
+<
+.I dvilaser.ps
+>
+.I Fixed.ps
+.SH DESCRIPTION
+.I Fixdlsrps
+is a
+.I perl
+filter which "fixes" PostScript generated from the DviLaser/PS driver so
+that it works correctly with Angus Duggan's
+.B psutils
+package.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
diff --git a/Master/texmf/doc/man/man1/fixfmps.1 b/Master/texmf/doc/man/man1/fixfmps.1
new file mode 100644
index 00000000000..0f031b2d763
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fixfmps.1
@@ -0,0 +1,24 @@
+.TH FIXFMPS 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+fixfmps \- filter to fix Framemaker documents so PSUtils work
+.SH SYNOPSIS
+.B fixfmps
+<
+.I Framemaker.ps
+>
+.I Fixed.ps
+.SH DESCRIPTION
+.I Fixfmps
+is a
+.I perl
+filter which "fixes" PostScript from Framemaker so
+that it works correctly with Angus Duggan's
+.B psutils
+package.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
diff --git a/Master/texmf/doc/man/man1/fixmacps.1 b/Master/texmf/doc/man/man1/fixmacps.1
new file mode 100644
index 00000000000..97efc859999
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fixmacps.1
@@ -0,0 +1,27 @@
+.TH FIXMACPS 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+fixmacps \- filter to fix Macintosh documents with saner version of md
+.SH SYNOPSIS
+.B fixmacps
+<
+.I Macintosh.ps
+>
+.I Fixed.ps
+.SH DESCRIPTION
+.I Fixmacps
+is a
+.I perl
+filter which "fixes" PostScript generated from a Macintosh PC
+that it works correctly with Angus Duggan's
+.B psutils
+package.
+.SH FILES
+md68_0.ps, md71_0.ps - sanitised versions of the md
+prologue.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
diff --git a/Master/texmf/doc/man/man1/fixpsditps.1 b/Master/texmf/doc/man/man1/fixpsditps.1
new file mode 100644
index 00000000000..3945b7ad193
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fixpsditps.1
@@ -0,0 +1,24 @@
+.TH FIXPSDITPS 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+fixpsditps \- filter to fix Transcript psdit documents so PSUtils work
+.SH SYNOPSIS
+.B fixpsditps
+<
+.I psdit.ps
+>
+.I Fixed.ps
+.SH DESCRIPTION
+.I Fixpsditps
+is a
+.I perl
+filter which "fixes" PostScript from Transcript's psdit program so
+that it works correctly with Angus Duggan's
+.B psutils
+package.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
diff --git a/Master/texmf/doc/man/man1/fixpspps.1 b/Master/texmf/doc/man/man1/fixpspps.1
new file mode 100644
index 00000000000..ead4f0bcf14
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fixpspps.1
@@ -0,0 +1,24 @@
+.TH FIXPSPPS 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+fixpspps \- filter to fix PSPrint PostScript so PSUtils work
+.SH SYNOPSIS
+.B fixpspps
+<
+.I PSPrint.ps
+>
+.I Fixed.ps
+.SH DESCRIPTION
+.I Fixpspps
+is a
+.I perl
+filter which "fixes" PostScript from PSPrint so
+that it works correctly with Angus Duggan's
+.B psutils
+package.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
diff --git a/Master/texmf/doc/man/man1/fixscribeps.1 b/Master/texmf/doc/man/man1/fixscribeps.1
new file mode 100644
index 00000000000..a3fcec62ae2
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fixscribeps.1
@@ -0,0 +1,24 @@
+.TH FIXSCRIBEPS 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+fixscribeps \- filter to fix Scribe documents so PSUtils work
+.SH SYNOPSIS
+.B fixscribeps
+<
+.I Scribe.ps
+>
+.I Fixed.ps
+.SH DESCRIPTION
+.I Fixscribeps
+is a
+.I perl
+filter which "fixes" PostScript from Scribe so
+that it works correctly with Angus Duggan's
+.B psutils
+package.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
diff --git a/Master/texmf/doc/man/man1/fixtpps.1 b/Master/texmf/doc/man/man1/fixtpps.1
new file mode 100644
index 00000000000..c65bb070fba
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fixtpps.1
@@ -0,0 +1,24 @@
+.TH FIXTPPS 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+fixtpps \- filter to fix Tpscript documents to work with PSUtils
+.SH SYNOPSIS
+.B fixtpps
+<
+.I Tpscript.ps
+>
+.I Fixed.ps
+.SH DESCRIPTION
+.I Fixtpps
+is a
+.I perl
+filter which "fixes" PostScript generated from the Troff Tpscript driver so
+that it works correctly with Angus Duggan's
+.B psutils
+package.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
diff --git a/Master/texmf/doc/man/man1/fixwfwps.1 b/Master/texmf/doc/man/man1/fixwfwps.1
new file mode 100644
index 00000000000..31e71500cf4
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fixwfwps.1
@@ -0,0 +1,24 @@
+.TH FIXWFWPS 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+fixwfwps \- filter to fix Word for Windows documents so PSUtils work
+.SH SYNOPSIS
+.B fixwfwps
+<
+.I WordforWindows.ps
+>
+.I Fixed.ps
+.SH DESCRIPTION
+.I Fixwfwps
+is a
+.I perl
+filter which "fixes" PostScript from Word for Windows so
+that it works correctly with Angus Duggan's
+.B psutils
+package.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
diff --git a/Master/texmf/doc/man/man1/fixwpps.1 b/Master/texmf/doc/man/man1/fixwpps.1
new file mode 100644
index 00000000000..61052fc68f7
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fixwpps.1
@@ -0,0 +1,24 @@
+.TH FIXWPPS 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+fixwpps \- filter to fix WP documents so PSUtils work
+.SH SYNOPSIS
+.B fixwpps
+<
+.I WordPerfect.ps
+>
+.I Fixed.ps
+.SH DESCRIPTION
+.I Fixwpps
+is a
+.I perl
+filter which "fixes" PostScript from WordPerfect 5.0 and 5.1 so
+that it works correctly with Angus Duggan's
+.B psutils
+package.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
diff --git a/Master/texmf/doc/man/man1/fixwwps.1 b/Master/texmf/doc/man/man1/fixwwps.1
new file mode 100644
index 00000000000..ed58e11f94b
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fixwwps.1
@@ -0,0 +1,24 @@
+.TH FIXWWPS 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+fixwwps \- filter to fix Windows Write documents so PSUtils work
+.SH SYNOPSIS
+.B fixwwps
+<
+.I WinWrite.ps
+>
+.I Fixed.ps
+.SH DESCRIPTION
+.I Fixwwps
+is a
+.I perl
+filter which "fixes" PostScript from Windows Write so
+that it works correctly with Angus Duggan's
+.B psutils
+package.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
diff --git a/Master/texmf/doc/man/man1/fmtutil-sys.1 b/Master/texmf/doc/man/man1/fmtutil-sys.1
new file mode 120000
index 00000000000..240dee18655
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fmtutil-sys.1
@@ -0,0 +1 @@
+fmtutil.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/fmtutil.1 b/Master/texmf/doc/man/man1/fmtutil.1
new file mode 100644
index 00000000000..dfb96086a74
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fmtutil.1
@@ -0,0 +1,80 @@
+.TH "fmtutil" "8" "February 2005" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+fmtutil \- utility for maintaining TeX format files
+.PP
+fmtutil-sys \- utility for maintaining TeX format files system\-wide
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBfmtutil\fP [ \fIOPTION\fP\&.\&.\&. ] \fICOMMAND\fP
+.PP
+\fBfmtutil-sys\fP [ \fIOPTION\fP\&.\&.\&. ] \fICOMMAND\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBfmtutil\fP is used to create or recreate format and hyphenation
+files or show information about format files\&.
+.PP
+\fICOMMAND\fP is one of:
+.PP
+.IP "\fB--all\fP"
+recreate all format files
+.IP "\fB--byfmt\fP \fIformatname\fP"
+(re)create the format for
+format \fIformatname\fP
+.IP "\fB--byhyphen\fP \fIhyphenfile\fP"
+(re)create formats that
+depend on the hyphenation file
+\fIhyphenfile\fP
+.IP "\fB--help\fP"
+print a summary of commands and options
+.IP "\fB--missing\fP"
+create any missing format files
+.IP "\fB--showhyphen\fP \fIformatname\fP"
+print the name of the
+hyphenation file for the format
+\fIformatname\fP
+.PP
+.SH "OPTIONS"
+.PP
+.IP "\fB--cnffile\fP \fIfile\fP"
+specify the configuration
+\fIfile\fP \fBfmtutil\fP should use
+.IP "\fB--dolinks\fP"
+(not implemented, just for compatibility)
+.IP "\fB--fmtdir\fP \fIdirectory\fP"
+set the destination
+directory for format files generated by
+\fBfmtutil\fP to \fIdirectory\fP
+.IP "\fB--force\fP"
+(not implemented, just for compatibility)
+.IP "\fB--quiet\fP"
+(not implemented, just for compatibility)
+.IP "\fB--test\fP"
+(not implemented, just for compatibility)
+.PP
+.SH "FILES"
+.PP
+.IP "\fIfmtutil\&.cnf\fP"
+default configuration file
+.PP
+.SH "SEE ALSO"
+.PP
+\fBkpsewhich\fP(1)
+.PP
+Web page: <http://tug\&.org/teTeX/>
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+.PP
+.SH "AUTHOR"
+.PP
+\fBfmtutil\fP was written by Thomas Esser
+<te@dbs\&.uni-hannover\&.de> and is Copyright 1998 Thomas
+Esser\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<c@eskimo\&.com>, for
+the Debian GNU/Linux system and later slightly adapted for the teTeX 3 release\&.
diff --git a/Master/texmf/doc/man/man1/fontinst.1 b/Master/texmf/doc/man/man1/fontinst.1
new file mode 100644
index 00000000000..b907280d90d
--- /dev/null
+++ b/Master/texmf/doc/man/man1/fontinst.1
@@ -0,0 +1,45 @@
+.TH "fontinst" "1" "May 2000" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+fontinst \- utility to run TeX as fontinst
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBfontinst\fP \fIpackage\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBfontinst\fP runs \fBtex\fP(1) with the \fB--progname\fP flag set to
+pretend to be the program fontinst (affecting Karl Berry paths)\&.
+.PP
+Typing
+.PP
+\f(CWfontinst fontinst\&.sty\fP
+.PP
+will start \fBtex\fP(1) and give the user an interactive prompt
+(\f(CW*\fP) where fontinst commands can be typed (such as
+\f(CW\elatinfamily{ptm}{}\ebye\fP)\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBtex\fP(1)
+.PP
+The fontinst manual, \fIfontinst\&.tex\fP\&.
+.PP
+Web page: <http://tug\&.org/applications/fontinst/>
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to tex-fonts@tug\&.org (mailing list)\&.
+.PP
+.SH "AUTHOR"
+.PP
+Thomas Esser
+<te@dbs\&.uni-hannover\&.de>
+.PP
+This manual page was written by C\&.M\&. Connelly
+<c@eskimo\&.com>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/getafm.1 b/Master/texmf/doc/man/man1/getafm.1
new file mode 100644
index 00000000000..33da5ca88ed
--- /dev/null
+++ b/Master/texmf/doc/man/man1/getafm.1
@@ -0,0 +1,29 @@
+.TH GETAFM 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+getafm \- create an AFM file for a PostScript font.
+.SH SYNOPSIS
+.B getafm
+.I FontName
+>
+.I output.ps
+.SH DESCRIPTION
+.I Getafm
+generates a PostScript file which prints an AFM file for a font to the
+printer's output channel. The output of
+.I getafm
+should be sent to a printer, or to GhostScript. For example,
+.sp
+.ce
+getafm Times-Roman | gsnd - >Times-Roman.afm
+.sp
+.SH AUTHOR
+Robert Joop (rj@rainbow.in-berlin.de), Angus Duggan
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
+.SH BUGS
+Kerning information is not generated by
+.I getafm;
+it is best to use original AFM files if possible.
diff --git a/Master/texmf/doc/man/man1/getnonfreefonts.1 b/Master/texmf/doc/man/man1/getnonfreefonts.1
new file mode 100644
index 00000000000..c7506d616d1
--- /dev/null
+++ b/Master/texmf/doc/man/man1/getnonfreefonts.1
@@ -0,0 +1,182 @@
+.TH getnonfreefonts 1 "October 2005" "TeXLive" "TeXLive"
+.SH NAME
+getnonfreefonts \- download and install fonts which cannot be
+distributed on a CD
+.LP
+getnonfreefonts-sys \- download and install fonts system\-wide which
+cannot be distributed on a CD
+.SH SYNOPSIS
+.B getnonfreefonts
+.RI
+[options] [font]
+.LP
+.B getnonfreefonts-sys
+.RI
+[options] [font]
+.SH DESCRIPTION
+Some font suppliers provided fonts which can be used freely but they
+disallow that money is charged for the distribution. Hence, for
+distributions on CD or DVD it is usually impossible to include
+these fonts.
+
+.BI getnonfreefonts
+is a script which downloads and installs these fonts. Actually, it
+first downloads the program
+.BI getfont
+from CTAN which is then executed.
+.BI getfont
+does the real work. It will be updated occasionally to support more
+fonts.
+
+.BI getnonfreefonts
+and
+.BI getnonfreefonts-sys
+are identical except that
+.BI getnonfreefonts
+installs files to
+.RI $TEXMFHOME
+while
+.BI getnonfreefonts-sys
+installs files to
+.RI $TEXMFLOCAL
+\.
+
+.BI getfont
+will not be installed permanently on your system. It only
+exists while
+.BI getnonfreefonts
+is running.
+.BI getnonfreefonts
+passes all arguments to
+.BI getfont.
+
+If a font is specified, only this font will be installed, otherwise
+all supported fonts will be installed.
+
+To get a list of supported fonts, run
+.BI getnonfreefonts
+.BI --lsfonts
+
+.SH OPTIONS
+Only the options evaluated by
+.BI getnonfreefonts
+are described here. Run
+.BI getnonfreefonts
+.BI --help
+to get a complete list.
+
+.TP
+.B --ctan=<CTAN-node>
+.rg
+.B <CTAN-node>
+can be either
+.B
+de
+for ftp://ftp.dante.de (Hamburg, Germany),
+.B
+uk
+for ftp://tex.ac.uk (Cambridge, UK),
+or
+.B us
+for ftp://ctan.tug.org (Colchester, VT, US)
+
+The default is ftp://tex.ac.uk.
+
+.TP
+.B --afm
+.rg
+Install AFM files as well. They are not installed by default. You do
+not need them if you don't know what they are good for.
+
+.TP
+.B -n, --noinstall
+.rg
+Do not install anything. Useful to check whether fonts are available
+which are not installed yet.
+
+
+.TP
+.B --shell
+.rg
+Run
+.BI getnonfreefonts
+in a shell.
+.BI getfont
+can be called directly and will exist on your system until you leave
+the shell. If your internet connection is very slow, you can save some time.
+Run
+.BI getfont --help
+first.
+
+
+.TP
+.B -h, --help
+.rg
+Get a complete list of options. This list will be more complete and
+more up-to-date than this manual page.
+
+.SH ENVIRONMENT
+If the environt variable
+.BI CTAN
+is set to
+.B ftp://<CTAN-node>
+then this will be the default. The argument is an URL.
+
+.BI Example:
+If your
+.BI ~/.profile
+contains the line
+.BI CTAN=ftp://ftp.dante.de
+then this will be the default.
+If you are at a university which mirrors CTAN, you can set
+.BI CTAN
+to this mirror. It will work only if the mirror has the same
+directory structure as CTAN, i.e if the directory
+.BI tex-archive
+is not omitted.
+
+.SH EXAMPLES
+.TP
+.B getnonfreefonts --help
+.rg
+Display all options and a list of supported fonts. Note that the
+program
+.B getfont
+is installed temporarily and executed. You get more information than
+this manual page can provide.
+
+.TP
+.B getnonfreefonts
+.rg
+Install all supported fonts which are not installed yet.
+
+.TP
+.B getnonfreefonts utopia
+.rg
+Install Adobe Utopia if it is not installed yet.
+
+.TP
+.B getnonfreefonts --force --afm utopia
+.rg
+Install Adobe Utopia and the corresponding AFM files even if Utopia is
+already installed.
+
+.TP
+.B getnonfreefonts --noinstall
+.rg
+No fonts will be installed. Instead you are told which fonts are
+available and which of them are already installed.
+
+.TP
+.B getnonfreefonts --shell
+.rg
+No fonts are installed. You'll get an interactive shell where you can
+invoke
+.BI getfont
+manually. Run
+.B getfont --help
+first.
+
+
+.SH BUGS
+Please send bug reports to Reinhard Kotucha <reinhard.kotucha@web.de>.
diff --git a/Master/texmf/doc/man/man1/gftodvi.1 b/Master/texmf/doc/man/man1/gftodvi.1
new file mode 100644
index 00000000000..ae7f4c0e3b5
--- /dev/null
+++ b/Master/texmf/doc/man/man1/gftodvi.1
@@ -0,0 +1,167 @@
+.TH GFTODVI 1 "14 December 1993" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+gftodvi \- make proof sheets from generic font files
+.SH SYNOPSIS
+.B gftodvi
+[
+.BI \-overflow-label-offset =real
+]
+[
+.B \-verbose
+]
+[
+.I gf_file_name
+]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B gftodvi
+program converts a generic font
+.RI ( gf )
+file output by, for example,
+.BR mf (1),
+to a device independent (DVI) file (that can then be typeset using the same
+software that has already been written for \*(TX). The characters in the
+.I gf
+file will appear one per page, with labels, titles, and annotations
+as specified in Appendix H (Hardcopy Proofs) of
+.IR "The \*(MFbook" .
+.PP
+.B gftodvi
+uses other fonts in addition to the main
+.I gf
+file.
+A `gray' font is used to typeset the
+pixels that actually make up the character. (We wouldn't
+want all the pixels to be simply black, since then labels,
+key points, and other information would be lost.) A `title' font
+is used for the information at the top of the page. A `label' font
+is used for the labels on key points of the figure. A `slant'
+font is used to typeset diagonal lines, which
+otherwise have to be simulated using horizontal and vertical rules.
+The default gray, title, and label fonts are
+.IR gray ,
+.IR cmr8 ,
+and
+.IR cmtt10 ,
+respectively; there is no default slant font.
+.PP
+To change the default fonts, you can give
+.BR special
+commands in your
+\*(MF source file, or you can change the fonts online. An online dialog
+ensues if you end the
+.I gf_file_name
+with a `/'. For example,
+.br
+.ti +2
+gftodvi cmr10.300gf/
+.br
+.ti +2
+Special font substitution: grayfont black
+.br
+.ti +2
+OK; any more? grayfontarea /home/art/don/
+.br
+.ti +2
+OK; any more? slantfont /home/fonts/slantimagen6
+.br
+.ti +2
+OK; any more? <RET>
+.br
+will use
+.I /home/art/don/black
+as the `gray' font and
+.I /home/fonts/slantimagen6
+as the `slant' font (this name indicates
+a font for lines with slope 1/6 at the resolution of an Imagen printer).
+.PP
+The
+.I gf_file_name
+on the command line must be complete. (The program prompts
+you for it if you don't give it.) Because
+the resolution is part of the extension, it would not make
+sense to append a default extension as is done with \*(TX or
+DVI-reading software. The output file name defaults to the same
+root as the
+.I gf
+file, with the
+.I dvi
+extension added. For example, the input file
+.I cmr10.2602gf
+would become
+.IR cmr10.dvi .
+.\"=====================================================================
+.SH OPTIONS
+The argument to
+.B \-overflow-label-offset
+specifies the distance from the right edge of the character
+bounding box at which the overflow equations (if any) are typeset.
+The value is given in \*(TX points. The default is a little over two
+inches.
+.PP
+Without the
+.B \-verbose
+option,
+.B gftodvi
+operates silently. With it, a banner and progress report are printed on
+.IR stdout .
+.\"=====================================================================
+.SH ENVIRONMENT
+.B gftodvi
+looks for
+.I gf_file_name
+using the
+environment variable GFFONTS. If that is not set, it uses the variable
+TEXFONTS. If that is not set, it uses the system default.
+.PP
+See
+.BR tex (1)
+for the details of the searching.
+.\"=====================================================================
+.SH FILES
+.TP
+.I {gray.tfm,.\|.\|.}
+The default fonts.
+.TP
+.I {gray.mf,.\|.\|.}
+The \*(MF sources.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tex (1),
+.BR mf (1).
+.br
+Donald E. Knuth,
+.I "The \*(MFbook"
+(Volume C of
+.IR "Computers and Typesetting" ),
+Addison-Wesley, 1986, ISBN 0-201-13445-4.
+.br
+Donald E. Knuth et al.,
+.IR \*(MFware .
+.\"=====================================================================
+.SH AUTHORS
+Donald E. Knuth wrote the program. It was published as part of the
+.I \*(MFware
+technical report, available from the \*(TX Users Group.
+Paul Richards ported it to Unix.
diff --git a/Master/texmf/doc/man/man1/gftopk.1 b/Master/texmf/doc/man/man1/gftopk.1
new file mode 100644
index 00000000000..38b2d1084d1
--- /dev/null
+++ b/Master/texmf/doc/man/man1/gftopk.1
@@ -0,0 +1,103 @@
+.TH GFTOPK 1 "14 December 1993" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+gftopk \- convert generic font files to packed font files
+.SH SYNOPSIS
+.B gftopk
+[
+.B \-v
+]
+.I gf_file_name
+[
+.I pk_file_name
+]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B gftopk
+program converts a generic font file output by, for example,
+.BR mf (1),
+to a
+packed font file for use by DVI-reading programs. Packed
+font files
+.RI ( pk " files)"
+are much smaller than the corresponding
+.I gf
+files,
+so they are generally the font format of choice.
+.PP
+The
+.I gf_file_name
+on the command line must be complete. Because
+the resolution is part of the extension, it would not make
+sense to append a default extension as is done with \*(TX or
+DVI-reading software. The
+.I pk_file_name
+defaults to the same (stripped) name as
+.IR gf_file_name ,
+and it is placed in the current
+working directory with the
+.I pk
+suffix replacing
+.IR gf .
+For example, the input file
+.I cmr10.300gf
+would become
+.IR cmr10.300pk .
+.\"=====================================================================
+.SH OPTIONS
+Unless the
+.B \-v
+switch is given,
+.B gftopk
+operates silently. With
+.BR \-v ,
+the version number of the program and statistics about the
+packing are output to
+.IR stdout .
+.\"=====================================================================
+.SH ENVIRONMENT
+.B gftopk
+looks for
+.I gf_file_name
+first in the current directory. If it is not present there, it uses the
+environment variable GFFONTS. If that is not set, it uses the variable
+TEXFONTS. If that is not set, it uses the system default.
+.PP
+See
+.BR tex (1)
+for the details of the searching.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR gftype (1),
+.BR pktogf (1),
+.BR pktype (1).
+.br
+Donald E. Knuth et al.,
+.IR \*(MFware .
+.\"=====================================================================
+.SH AUTHORS
+Tomas Rokicki wrote the program. It was published as
+part of the
+.I \*(MFware
+technical report, available from the \*(TX Users Group.
+Paul Richards originally ported it to Unix.
diff --git a/Master/texmf/doc/man/man1/gftype.1 b/Master/texmf/doc/man/man1/gftype.1
new file mode 100644
index 00000000000..41a203badd1
--- /dev/null
+++ b/Master/texmf/doc/man/man1/gftype.1
@@ -0,0 +1,97 @@
+.TH GFTYPE 1 "14 December 1993" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+gftype \- translate a generic font file for humans to read
+.SH SYNOPSIS
+.B gftype
+[
+.B \-i
+]
+[
+.B \-m
+]
+.I gf_file_name
+[
+.I output_file_name
+]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B gftype
+program
+translates a
+.I gf
+(generic font) file output by, for example,
+.BR mf (1),
+to a file that humans can read.
+It also serves as a
+.I gf
+file-validating
+program (i.e., if
+.B gftype
+can read it, it's correct) and as an example of a
+.IR gf -reading
+program for other software that wants to read
+.I gf
+files.
+.PP
+The
+.I gf_file_name
+on the command line must be complete. Because
+the resolution is part of the extension, it would not make
+sense to append a default extension as is done with \*(TX or
+DVI-reading software. If no
+.I output_file_name
+is specified, the output goes to
+.IR stdout .
+.\"=====================================================================
+.SH OPTIONS
+The output file includes
+bitmap images of the characters, if
+.B \-i
+is given on the command line, and a symbolic listing of the
+.I gf
+commands, if
+.B \-m
+is specified.
+.\"=====================================================================
+.SH ENVIRONMENT
+.B gftype
+looks for
+.I gf_file_name
+using the
+environment variable GFFONTS. If that is not set, it uses the variable
+TEXFONTS. If that is not set, it uses the system default.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR dvitype (1),
+.BR pktype (1).
+.br
+Donald E. Knuth et al.,
+.IR \*(MFware .
+.\"=====================================================================
+.SH AUTHORS
+David Fuchs and Don Knuth wrote the program. It was published as
+part of the
+.I \*(MFware
+technical report, available from the \*(TX Users Group.
+Paul Richards originally ported it to Unix.
diff --git a/Master/texmf/doc/man/man1/gsftopk.1 b/Master/texmf/doc/man/man1/gsftopk.1
new file mode 100644
index 00000000000..cbbafa8e609
--- /dev/null
+++ b/Master/texmf/doc/man/man1/gsftopk.1
@@ -0,0 +1,301 @@
+.\" Copyright (c) 1993-1998 Paul Vojta
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a copy
+.\" of this software and associated documentation files (the "Software"), to
+.\" deal in the Software without restriction, including without limitation the
+.\" rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+.\" sell copies of the Software, and to permit persons to whom the Software is
+.\" furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included in
+.\" all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" PAUL VOJTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+.\" IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+.\" CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+.\"
+
+.\" small and boldface (not all -man's provide it)
+.de SB
+\&\fB\s-1\&\\$1 \\$2\s0\fR
+..
+.TH GSFTOPK 1 "28 November 1998"
+.SH NAME
+gsftopk \- render a ghostscript font in TeX pk form
+.SH SYNOPSIS
+.B gsftopk
+[\-i \fIpath\fP]
+[\-q]
+[\-t]
+[\-\-debug=\fIn\fP]
+[\-\-dosnames]
+[\-\-interpreter=\fIpath\fP]
+[\-\-mapline=\fIline\fP]
+[\-\-mapfile=\fIfile\fP]
+[\-\-quiet]
+[\-\-test]
+[\-\-help]
+[\-\-version]
+.I font
+.I dpi
+.SH ARGUMENTS
+.IP \fIfont\fP \w'\fIfont\fP'u+2m
+Name of the font to be created.
+.IP \fIdpi\fP
+Desired resolution of the font to be created, in dots per inch. This may
+be a real number.
+.SH DESCRIPTION
+.B gsftopk
+is a program which calls up the ghostscript program
+.BR gs (1)
+to render a given font at a given resolution. It packs the resulting
+characters into the
+.B pk
+file format and writes them to a file whose name is formed from the font
+name and the resolution (rounded to the nearest integer). The font may
+be in any format acceptable to Ghostscript, including
+.RI . pfa ,
+.RI . pfb ,
+.RI . gsf ,
+and
+.RI . ttf
+files.
+.PP
+This program should normally be called by a script, such as
+.BR mktexpk ,
+to create fonts on demand.
+.PP
+.B gsftopk
+obtains the character widths from the
+.RI . tfm
+file, which must exist in the standard search path. It also must be
+able to find the font in a map file (such as
+.BR psfonts.map ),
+formatted as in
+.BR dvips (1)),
+unless the
+.B \-\-mapline
+option is used. The set of map files is given by the
+.B \-\-mapfile
+option, or in the files
+.BR config.ps ,
+.BR $HOME/.dvipsrc ,
+and
+.B config.gsftopk
+(as would be used by
+.BR "dvips -Pgsftopk" ).
+.PP
+The following
+.B pk
+"specials" are added at the end of the output file, to provide an internal
+check on the contents of the file:
+"\fBjobname=\fP\fIfont\fP",
+"\fBmag=1\fP",
+"\fBmode=modeless\fP", and
+"\fBpixels_per_inch=\fP\fIdpi\fP".
+This is in accordance with the TeX Directory Standard (TDS).
+.SH OPTIONS
+.TP
+.B \-\-debug=\fIn\fP
+Set the
+.B Kpathsea
+debug flags according to the integer
+.IR n .
+.TP
+.B \-\-dosnames
+Use a name of the form
+.IB font .pk
+instead of
+.IB font . dpi pk\fR.\fP
+.TP
+.B \-h\fR,\fP \-\-help
+Print a brief help synopsis and exit.
+.TP
+.B \-i \fIpath\fP\fR,\fP \-\-interpreter=\fIpath\fP
+Use
+.I path
+as the Ghostscript interpreter.
+.TP
+.B \-\-mapfile=\fIfile\fP
+Use
+.I file
+to look for the map information for
+.IR font .
+This should be the full name of the file (in other words, no path searching
+algorithms are applied).
+.TP
+.B \-\-mapline=\fIline\fP
+Use
+.I line
+instead of looking for an entry in a map file.
+The first word of
+.I line
+must match
+.IR font .
+.TP
+.B \-q\fR,\fP \-\-quiet
+Operate quietly; i.e., without writing any messages to the standard output.
+.TP
+.B \-t\fR,\fP \-\-test
+Test run: return zero status if the font can be found in the map file(s),
+and nonzero status if it cannot. If this option is specified, then the
+.I dpi
+argument is optional (since the font will not be generated).
+.TP
+.B \-v\fR,\fP \-\-version
+Print the version number and exit.
+.SH ENVIRONMENT VARIABLES
+.IP \fBDVIPSRC\fP \w'\fBGSFTOPKHEADERS\fP'u+2m
+Name of file to read instead of
+.BR $HOME/.dvipsrc .
+This should be the full name of the file (in other words, no path searching
+algorithms are applied).
+.IP \fBGSFTOPKFONTS\fP
+See
+.SB TFMFONTS.
+.IP \fBGSFTOPKHEADERS\fP
+See
+.SB TEXPSHEADERS.
+.IP \fBPSHEADERS\fP
+See
+.SB TEXPSHEADERS.
+.IP \fBTEXCONFIG\fP
+Colon-separated list of paths to search for map files.
+An extra colon in the list will include the
+compiled-in default paths at that point. A double slash will enable recursive
+subdirectory searching at that point in the path.
+.IP \fBTFMFONTS\fP
+Colon-separated list of paths to search for the
+.RI . tfm
+file associated with the font. Double slashes and extra colons behave as with
+.SB TEXCONFIG.
+This information may also be supplied by using the environment variables
+.SB TFMFONTS
+or
+.SB GSFTOPKFONTS.
+These environment variables are checked in the order
+.SB GSFTOPKFONTS,
+.SB TFMFONTS,
+.SB TFMFONTS;
+the first one (if any) having a value is used.
+.IP \fBTEXPSHEADERS\fP
+Colon-separated list of paths to search for the Ghostscript driver file
+.B render.ps
+and for any PostScript header or font files
+.RI (. enc ,
+.RI . pfa ,
+.RI . pfb ,
+.RI . gsf ,
+or
+.RI . ttf
+files). Double slashes and extra colons behave as with
+.SB TEXCONFIG.
+This information may also be supplied by using the environment variables
+.SB PSHEADERS
+or
+.SB GSFTOPKHEADERS.
+These environment variables are checked in the order
+.SB GSFTOPKHEADERS,
+.SB TEXPSHEADERS,
+.SB PSHEADERS;
+the first one (if any) having a value is used.
+.IP \fBTFMFONTS\fP
+See
+.SB TFMFONTS.
+.SH CONFIGURATION
+In order to determine the set of map files to be used and the path for
+finding PostScript files,
+.B gsftopk
+reads, in order, the files
+.BR config.ps ,
+.BR .dvipsrc ,
+and
+.BR config.gsftopk .
+The files
+.B config.ps
+and
+.B config.gsftopk
+are searched for using the environment variable
+.SB TEXCONFIG,
+the
+.B Kpathsea
+configuration file,
+or the compiled-in default paths. The file
+.B .dvipsrc
+is searched for in the user's home directory.
+.PP
+These files are in the same format as for
+.B dvips
+(as well as being in the same locations). The entries used by
+.B gsftopk
+are as follows.
+.TP
+.RI "H " path
+Indicates that the Ghostscript driver file
+.B render.ps
+and the PostScript header and font files are to be searched for using
+.IR path .
+.TP
+.RI "p " file
+Indicates that the list of map files is to be erased and replaced by
+.IR file .
+.TP
+.RI "p +" file
+Indicates that
+.I file
+is to be added to the list of map files.
+.PP
+All other entries are ignored.
+.PP
+This is similar to the handling of these options when running
+.BR "dvips -Pgsftopk" .
+For more details, see the
+.B Kpathsea
+manual.
+.SH BUGS
+.B gsftopk
+sometimes has trouble with fonts with very complicated characters
+(such as the Seal of the University of California). This is because
+.B gsftopk
+uses the
+.B charpath
+operator to determine the bounding box of each character. If the character
+is too complicated, then old versions of Ghostscript fail, causing
+.B gsftopk
+to terminate with an error message
+.IP
+.B "Call to gs stopped by signal 10"
+.LP
+(The number may vary from system to system; it corresponds to a bus error
+or a segmentation fault.) The best way to fix this bug is to install a
+current version of ghostscript. As an alternative,
+.B gsftopk
+can be instructed to use the bounding box provided with the font (if one
+exists) instead of finding a bounding box for each character. To do this,
+include the string
+.IP
+.B /usefontbbox true def
+.LP
+in the font map file;
+.IR e.g. ,
+.IP
+.B ucseal """/usefontbbox true def"""
+.LP
+This will not affect use of the font by
+.BR dvips .
+.SH SEE ALSO
+.BR gs (1),
+.BR gftopk (1),
+.BR tex (1),
+.BR xdvi (1),
+.BR dvips (1)
+.SH AUTHOR
+Written by Paul Vojta. This program was inspired by Karl Berry's
+.BR gsrenderfont .
+.SH MODIFICATIONS
+Modified by Yves Arrouye to use Karl Berry's
+.B Kpathsea
+library.
diff --git a/Master/texmf/doc/man/man1/gzip.1 b/Master/texmf/doc/man/man1/gzip.1
new file mode 100644
index 00000000000..6fa79862bfc
--- /dev/null
+++ b/Master/texmf/doc/man/man1/gzip.1
@@ -0,0 +1,478 @@
+.PU
+.TH GZIP 1 local
+.SH NAME
+gzip, gunzip, zcat \- compress or expand files
+.SH SYNOPSIS
+.ll +8
+.B gzip
+.RB [ " \-acdfhlLnNrtvV19 " ]
+.RB [ \-S\ suffix ]
+[
+.I "name \&..."
+]
+.ll -8
+.br
+.B gunzip
+.RB [ " \-acfhlLnNrtvV " ]
+.RB [ \-S\ suffix ]
+[
+.I "name \&..."
+]
+.br
+.B zcat
+.RB [ " \-fhLV " ]
+[
+.I "name \&..."
+]
+.SH DESCRIPTION
+.I Gzip
+reduces the size of the named files using Lempel-Ziv coding (LZ77).
+Whenever possible,
+each file is replaced by one with the extension
+.B "\&.gz,"
+while keeping the same ownership modes, access and modification times.
+(The default extension is
+.B "\-gz"
+for VMS,
+.B "z"
+for MSDOS, OS/2 FAT, Windows NT FAT and Atari.)
+If no files are specified, or if a file name is "-", the standard input is
+compressed to the standard output.
+.I Gzip
+will only attempt to compress regular files.
+In particular, it will ignore symbolic links.
+.PP
+If the compressed file name is too long for its file system,
+.I gzip
+truncates it.
+.I Gzip
+attempts to truncate only the parts of the file name longer than 3 characters.
+(A part is delimited by dots.) If the name consists of small parts only,
+the longest parts are truncated. For example, if file names are limited
+to 14 characters, gzip.msdos.exe is compressed to gzi.msd.exe.gz.
+Names are not truncated on systems which do not have a limit on file name
+length.
+.PP
+By default,
+.I gzip
+keeps the original file name and timestamp in the compressed file. These
+are used when decompressing the file with the
+.B \-N
+option. This is useful when the compressed file name was truncated or
+when the time stamp was not preserved after a file transfer.
+.PP
+Compressed files can be restored to their original form using
+.I gzip -d
+or
+.I gunzip
+or
+.I zcat.
+If the original name saved in the compressed file is not suitable for its
+file system, a new name is constructed from the original one to make it
+legal.
+.PP
+.I gunzip
+takes a list of files on its command line and replaces each
+file whose name ends with .gz, -gz, .z, -z, _z or .Z
+and which begins with the correct magic number with an uncompressed
+file without the original extension.
+.I gunzip
+also recognizes the special extensions
+.B "\&.tgz"
+and
+.B "\&.taz"
+as shorthands for
+.B "\&.tar.gz"
+and
+.B "\&.tar.Z"
+respectively.
+When compressing,
+.I gzip
+uses the
+.B "\&.tgz"
+extension if necessary instead of truncating a file with a
+.B "\&.tar"
+extension.
+.PP
+.I gunzip
+can currently decompress files created by
+.I gzip, zip, compress, compress -H
+or
+.I pack.
+The detection of the input format is automatic. When using
+the first two formats,
+.I gunzip
+checks a 32 bit CRC. For
+.I pack, gunzip
+checks the uncompressed length. The standard
+.I compress
+format was not designed to allow consistency checks. However
+.I gunzip
+is sometimes able to detect a bad .Z file. If you get an error
+when uncompressing a .Z file, do not assume that the .Z file is
+correct simply because the standard
+.I uncompress
+does not complain. This generally means that the standard
+.I uncompress
+does not check its input, and happily generates garbage output.
+The SCO compress -H format (lzh compression method) does not include a CRC
+but also allows some consistency checks.
+.PP
+Files created by
+.I zip
+can be uncompressed by gzip only if they have a single member compressed
+with the 'deflation' method. This feature is only intended to help
+conversion of tar.zip files to the tar.gz format. To extract zip files
+with several members, use
+.I unzip
+instead of
+.I gunzip.
+.PP
+.I zcat
+is identical to
+.I gunzip
+.B \-c.
+(On some systems,
+.I zcat
+may be installed as
+.I gzcat
+to preserve the original link to
+.I compress.)
+.I zcat
+uncompresses either a list of files on the command line or its
+standard input and writes the uncompressed data on standard output.
+.I zcat
+will uncompress files that have the correct magic number whether
+they have a
+.B "\&.gz"
+suffix or not.
+.PP
+.I Gzip
+uses the Lempel-Ziv algorithm used in
+.I zip
+and PKZIP.
+The amount of compression obtained depends on the size of the
+input and the distribution of common substrings.
+Typically, text such as source code or English
+is reduced by 60\-70%.
+Compression is generally much better than that achieved by
+LZW (as used in
+.IR compress ),
+Huffman coding (as used in
+.IR pack ),
+or adaptive Huffman coding
+.RI ( compact ).
+.PP
+Compression is always performed, even if the compressed file is
+slightly larger than the original. The worst case expansion is
+a few bytes for the gzip file header, plus 5 bytes every 32K block,
+or an expansion ratio of 0.015% for large files. Note that the actual
+number of used disk blocks almost never increases.
+.I gzip
+preserves the mode, ownership and timestamps of files when compressing
+or decompressing.
+
+.SH OPTIONS
+.TP
+.B \-a --ascii
+Ascii text mode: convert end-of-lines using local conventions. This option
+is supported only on some non-Unix systems. For MSDOS, CR LF is converted
+to LF when compressing, and LF is converted to CR LF when decompressing.
+.TP
+.B \-c --stdout --to-stdout
+Write output on standard output; keep original files unchanged.
+If there are several input files, the output consists of a sequence of
+independently compressed members. To obtain better compression,
+concatenate all input files before compressing them.
+.TP
+.B \-d --decompress --uncompress
+Decompress.
+.TP
+.B \-f --force
+Force compression or decompression even if the file has multiple links
+or the corresponding file already exists, or if the compressed data
+is read from or written to a terminal. If the input data is not in
+a format recognized by
+.I gzip,
+and if the option --stdout is also given, copy the input data without change
+to the standard ouput: let
+.I zcat
+behave as
+.I cat.
+If
+.B \-f
+is not given,
+and when not running in the background,
+.I gzip
+prompts to verify whether an existing file should be overwritten.
+.TP
+.B \-h --help
+Display a help screen and quit.
+.TP
+.B \-l --list
+For each compressed file, list the following fields:
+
+ compressed size: size of the compressed file
+ uncompressed size: size of the uncompressed file
+ ratio: compression ratio (0.0% if unknown)
+ uncompressed_name: name of the uncompressed file
+
+The uncompressed size is given as -1 for files not in gzip format,
+such as compressed .Z files. To get the uncompressed size for such a file,
+you can use:
+
+ zcat file.Z | wc -c
+
+In combination with the --verbose option, the following fields are also
+displayed:
+
+ method: compression method
+ crc: the 32-bit CRC of the uncompressed data
+ date & time: time stamp for the uncompressed file
+
+The compression methods currently supported are deflate, compress, lzh
+(SCO compress -H) and pack. The crc is given as ffffffff for a file
+not in gzip format.
+
+With --name, the uncompressed name, date and time are
+those stored within the compress file if present.
+
+With --verbose, the size totals and compression ratio for all files
+is also displayed, unless some sizes are unknown. With --quiet,
+the title and totals lines are not displayed.
+.TP
+.B \-L --license
+Display the
+.I gzip
+license and quit.
+.TP
+.B \-n --no-name
+When compressing, do not save the original file name and time stamp by
+default. (The original name is always saved if the name had to be
+truncated.) When decompressing, do not restore the original file name
+if present (remove only the
+.I gzip
+suffix from the compressed file name) and do not restore the original
+time stamp if present (copy it from the compressed file). This option
+is the default when decompressing.
+.TP
+.B \-N --name
+When compressing, always save the original file name and time stamp; this
+is the default. When decompressing, restore the original file name and
+time stamp if present. This option is useful on systems which have
+a limit on file name length or when the time stamp has been lost after
+a file transfer.
+.TP
+.B \-q --quiet
+Suppress all warnings.
+.TP
+.B \-r --recursive
+Travel the directory structure recursively. If any of the file names
+specified on the command line are directories,
+.I gzip
+will descend into the directory and compress all the files it finds there
+(or decompress them in the case of
+.I gunzip
+).
+.TP
+.B \-S .suf --suffix .suf
+Use suffix .suf instead of .gz. Any suffix can be given, but suffixes
+other than .z and .gz should be avoided to avoid confusion when files
+are transferred to other systems. A null suffix forces gunzip to try
+decompression on all given files regardless of suffix, as in:
+
+ gunzip -S "" * (*.* for MSDOS)
+
+Previous versions of gzip used
+the .z suffix. This was changed to avoid a conflict with
+.IR pack "(1)".
+.TP
+.B \-t --test
+Test. Check the compressed file integrity.
+.TP
+.B \-v --verbose
+Verbose. Display the name and percentage reduction for each file compressed
+or decompressed.
+.TP
+.B \-V --version
+Version. Display the version number and compilation options then quit.
+.TP
+.B \-# --fast --best
+Regulate the speed of compression using the specified digit
+.IR # ,
+where
+.B \-1
+or
+.B \-\-fast
+indicates the fastest compression method (less compression)
+and
+.B \-9
+or
+.B \-\-best
+indicates the slowest compression method (best compression).
+The default compression level is
+.BR \-6
+(that is, biased towards high compression at expense of speed).
+.SH "ADVANCED USAGE"
+Multiple compressed files can be concatenated. In this case,
+.I gunzip
+will extract all members at once. For example:
+
+ gzip -c file1 > foo.gz
+ gzip -c file2 >> foo.gz
+
+Then
+ gunzip -c foo
+
+is equivalent to
+
+ cat file1 file2
+
+In case of damage to one member of a .gz file, other members can
+still be recovered (if the damaged member is removed). However,
+you can get better compression by compressing all members at once:
+
+ cat file1 file2 | gzip > foo.gz
+
+compresses better than
+
+ gzip -c file1 file2 > foo.gz
+
+If you want to recompress concatenated files to get better compression, do:
+
+ gzip -cd old.gz | gzip > new.gz
+
+If a compressed file consists of several members, the uncompressed
+size and CRC reported by the --list option applies to the last member
+only. If you need the uncompressed size for all members, you can use:
+
+ gzip -cd file.gz | wc -c
+
+If you wish to create a single archive file with multiple members so
+that members can later be extracted independently, use an archiver
+such as tar or zip. GNU tar supports the -z option to invoke gzip
+transparently. gzip is designed as a complement to tar, not as a
+replacement.
+.SH "ENVIRONMENT"
+The environment variable
+.B GZIP
+can hold a set of default options for
+.I gzip.
+These options are interpreted first and can be overwritten by
+explicit command line parameters. For example:
+ for sh: GZIP="-8v --name"; export GZIP
+ for csh: setenv GZIP "-8v --name"
+ for MSDOS: set GZIP=-8v --name
+
+On Vax/VMS, the name of the environment variable is GZIP_OPT, to
+avoid a conflict with the symbol set for invocation of the program.
+.SH "SEE ALSO"
+znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1),
+pack(1), compact(1)
+.SH "DIAGNOSTICS"
+Exit status is normally 0;
+if an error occurs, exit status is 1. If a warning occurs, exit status is 2.
+.PP
+Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
+.in +8
+Invalid options were specified on the command line.
+.in -8
+.IR file :
+not in gzip format
+.in +8
+The file specified to
+.I gunzip
+has not been compressed.
+.in -8
+.IR file:
+Corrupt input. Use zcat to recover some data.
+.in +8
+The compressed file has been damaged. The data up to the point of failure
+can be recovered using
+.in +8
+zcat file > recover
+.in -16
+.IR file :
+compressed with
+.I xx
+bits, can only handle
+.I yy
+bits
+.in +8
+.I File
+was compressed (using LZW) by a program that could deal with
+more
+.I bits
+than the decompress code on this machine.
+Recompress the file with gzip, which compresses better and uses
+less memory.
+.in -8
+.IR file :
+already has .gz suffix -- no change
+.in +8
+The file is assumed to be already compressed.
+Rename the file and try again.
+.in -8
+.I file
+already exists; do you wish to overwrite (y or n)?
+.in +8
+Respond "y" if you want the output file to be replaced; "n" if not.
+.in -8
+gunzip: corrupt input
+.in +8
+A SIGSEGV violation was detected which usually means that the input file has
+been corrupted.
+.in -8
+.I "xx.x%"
+.in +8
+Percentage of the input saved by compression.
+(Relevant only for
+.BR \-v
+and
+.BR \-l \.)
+.in -8
+-- not a regular file or directory: ignored
+.in +8
+When the input file is not a regular file or directory,
+(e.g. a symbolic link, socket, FIFO, device file), it is
+left unaltered.
+.in -8
+-- has
+.I xx
+other links: unchanged
+.in +8
+The input file has links; it is left unchanged. See
+.IR ln "(1)"
+for more information. Use the
+.B \-f
+flag to force compression of multiply-linked files.
+.in -8
+.SH CAVEATS
+When writing compressed data to a tape, it is generally necessary to
+pad the output with zeroes up to a block boundary. When the data is
+read and the whole block is passed to
+.I gunzip
+for decompression,
+.I gunzip
+detects that there is extra trailing garbage after the compressed data
+and emits a warning by default. You have to use the --quiet option to
+suppress the warning. This option can be set in the
+.B GZIP
+environment variable as in:
+ for sh: GZIP="-q" tar -xfz --block-compress /dev/rst0
+ for csh: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0
+
+In the above example, gzip is invoked implicitly by the -z option of
+GNU tar. Make sure that the same block size (-b option of tar) is used
+for reading and writing compressed data on tapes. (This example
+assumes you are using the GNU version of tar.)
+.SH BUGS
+The --list option reports incorrect sizes if they exceed 2 gigabytes.
+The --list option reports sizes as -1 and crc as ffffffff if the
+compressed file is on a non seekable media.
+
+In some rare cases, the --best option gives worse compression than
+the default compression level (-6). On some highly redundant files,
+.I compress
+compresses better than
+.I gzip.
diff --git a/Master/texmf/doc/man/man1/hbf2gf.1 b/Master/texmf/doc/man/man1/hbf2gf.1
new file mode 100644
index 00000000000..f36ae3c7cea
--- /dev/null
+++ b/Master/texmf/doc/man/man1/hbf2gf.1
@@ -0,0 +1,736 @@
+.\" man page for hbf2gf
+.
+.TH HBF2GF 1 11-Aug-2005 "CJK Version 4.6.0"
+.SH NAME
+hbf2gf \- convert a CJK bitmap font into subfonts usable by TeX and Omega.
+.
+.
+.SH SYNOPSIS
+.na
+.nh
+.B hbf2gf
+.RB [ -q ]
+.IR \%configuration-file [ .cfg ]
+.br
+.B hbf2gf
+'in +\n(.ku
+.RB [ -q ]
+.RB [ -p ]
+.RB [ -g ]
+.RB [ -n ]
+.I \%subfont-name \%x-resolution
+.RI [ \%y-scale \ | \ \%y-resolution ]
+.br
+.in
+.B hbf2gf
+.B -t
+.RB [ -q ]
+.I \%subfont-name
+.br
+.B "hbf2gf --version"
+|
+.B --help
+.ad
+.hy
+.
+.
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\h'-0.1667m'\v'0.20v'E\v'-0.20v'\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a definition for \Delta
+.if t .ds DE \(*D
+.if n .ds DE Delta_
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" an addition to .TP to allow two labels for the same item
+.de TQ
+.br
+.ns
+.TP
+..
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH DESCRIPTION
+CJK bitmap fonts can't be directly used with \*(TX
+because the number of characters in such fonts exceeds\ 256, the limit of a
+\*(TX
+font.
+Thus it is necessary to split these fonts into subfonts, and this is
+exactly what
+.B hbf2gf
+does.
+.PP
+As the name says,
+.B hbf2gf
+uses CJK fonts in a certain format which is called
+.B Hanzi Bitmap Font
+.RB ( HBF )
+format.
+It simply consists of the CJK bitmap file(s) and a text file in a format
+very similar to the BDF format of the X\ Window System which describes the
+bitmap font files: the encoding, the size, etc.
+The produced
+.C GF
+files can then be converted with
+.B gftopk
+into standard
+.C PK
+files.
+.PP
+.B hbf2gf
+can be called in three modes:
+.
+.PP
+.in +2m
+.B hbf2gf
+.RB [ -q ]
+.IR configuration-file [ .cfg ]
+.PP
+.in +5m
+This call normally creates a set of
+.C GF
+files, one
+.C PL
+file, and a batch file which must be executed after
+.B hbf2gf
+has finished.
+This script will then call
+.B gftopk
+to convert all
+.C GF
+files into
+.C PK
+files, and it will call
+.B pltotf
+to convert the
+.C PL
+file into a
+.C TFM
+file.
+Finally it will copy the
+.C TFM
+file so that each
+.C PK
+file has its
+.C TFM
+file (which are all identical).
+.PP
+.in +5m
+If
+.B ofm_file
+is set to `yes' in the configuration file,
+.C OFM
+and
+.C OVF
+files will be created too.
+.
+.PP
+.in +5m
+.B -q
+makes
+.B hbf2gf
+quiet.
+.PP
+.in +2m
+.na
+.nh
+.B hbf2gf
+'in +\n(.ku
+.RB [ -q ]
+.RB [ -p ]
+.RB [ -g ]
+.RB [ -n ]
+.I \%subfont-name \%x-resolution
+.RI [ \%y-scale \ | \ \%y-resolution ]
+.ad
+.hy
+.PP
+.in +5m
+This mode is intended for use with
+.B \%mktexpk
+and its derivates.
+Only one
+.C GF
+file together with a
+.C PL
+file for the given subfont will be computed, taking the horizontal
+resolution and a vertical scaling factor (if the value is smaller than\ 10)
+resp. the vertical resolution (otherwise) from the command line, ignoring
+the
+.B nmb_fonts
+parameter of the configuration file.
+The last two characters (which are interpreted as the subfont number) are
+stripped to get the name for the configuration file (which must end with
+`\c
+.C \&.cfg ').
+No job file will be created.
+If option
+.B -p
+is set, no
+.C PL
+file is created.
+If
+.B -g
+is set, no
+.C GF
+file is created.
+The extension can be controlled with
+.BR -n ;
+if set, the extension is `\c
+.C \&.gf ',
+otherwise `\c
+.C \&. <\c
+.IR resolution >\c
+.C gf '.
+.B -q
+makes
+.B hbf2gf
+quiet.
+.
+.PP
+.in +2m
+.na
+.nh
+.B hbf2gf
+'in +\n(.ku
+.B -t
+.RB [ -q ]
+.I \%subfont-name
+.ad
+.hy
+.PP
+.in +5m
+This mode is intended for use with scripts like
+.BR \%mktexpk ;
+it tests whether the specified subfont name leads to an
+.B hbf2gf
+configuration file.
+It returns 0 on success and prints out the name of that configuration file
+(provided the
+.B -q
+switch isn't set).
+This test isn't a thorough one; it only removes the last two characters
+and checks whether a configuration file with that name exists.
+.PP
+See the next section for more details about configuration files.
+.PP
+Specifying the option
+.B --version
+returns the current version of
+.B hbf2gf
+and the used file search library (e.g.\ \c
+.BR kpathsea ).
+Usage information is shown with the
+.B --help
+parameter.
+.
+.
+.SH "CONFIGURATION FILE"
+Here a sample configuration file (\c
+.C gsfs14.cfg )
+for a 56\(mu56 Chinese font in GB encoding; note that all information
+about the font is in the
+.C jfs56.hbf
+file.
+See the
+.B "FILE SEARCHING"
+section how HBF fonts and
+.B hbf2gf
+configuration files are found.
+See the
+.B AVAILABILITY
+section where to get CJK fonts together with its
+.C HBF
+files:
+.PP
+.if t \fC
+.nf
+ hbf_header jfs56.hbf
+ mag_x 1
+ threshold 128
+ comment jianti fansongti 56x56 pixel font
+
+ design_size 14.4
+
+ y_offset -13
+
+ nmb_files -1
+
+ output_name gsfs14
+
+ checksum 123456789
+
+ dpi_x 300
+
+ pk_files no
+ tfm_files yes
+
+ coding codingscheme GuoBiao encoded TeX text
+
+ pk_directory $HBF_TARGET/pk/modeless/gb2312/gsfs14/
+ tfm_directory $HBF_TARGET/tfm/gb2312/gsfs14/
+.fi
+.if t \fP
+.PP
+A configuration file is a plain text file consisting of keywords and its
+arguments.
+A keyword must start a line, otherwise the whole line will be ignored.
+If the word starting a line is not a keyword, the line will be ignored too.
+Empty lines will also be skipped.
+The search for keywords is case insensitive; in contrast, the arguments will
+be taken exactly as given (except `yes' and `no' which can be written with
+uppercase or lowercase letters).
+Each keyword has one argument which must be separated by whitespace (blanks
+or tabs) from the keyword and must be on the same line.
+Each line must not be longer than 256 characters.
+.PP
+You can use environment variables in the configuration file.
+The escape character starting an environment variable in the configuration
+file is always `\c
+.C $ ',
+even for operating systems like DOS which has other conventions.
+.B hbf2gf
+recognizes only environment variable names which start with a letter or an
+underscore, followed by alphanumeric characters or underscores.
+You can surround the variable with braces to indicate where the variable
+name ends, for example
+.C ${FOO} .
+To get a dollar sign you must write `\c
+.C $$ '.
+The expansion of environment variables in hbf2gf itself (without the help of
+either kpathsea, emtexdir, or MiKTeX searching routines) is very limited;
+this feature has been carried over from previous versions.
+It can't expand variables set in texmf.cnf; it also can't handle more than
+one directory as the variable's value.
+.B Don't use it except for the `pk_directory' and `tfm_directory'
+.B parameters!
+.PP
+This is the list of all necessary keywords:
+.TP
+.B hbf_header
+The HBF header file name of the input font(s).
+.B hbf2gf
+uses the given searching mechanism (kpathsea, emtexdir, or MiKTeX) to locate
+this file.
+.TP
+.B output_name
+The name stem of the output files.
+A running two digit decimal number starting with `\c
+.C 01 '
+will be appended.
+For Unicode fonts see the keyword
+.B unicode
+below.
+This value is in almost all cases identical to the name of the configuration
+file.
+.PP
+And now all optional keywords:
+.TP
+.B x_offset
+Increases the character width.
+Will be applied on both sides; default for non-rotated glyphs is the value
+given in the HBF header
+.RB ( HBF_BITMAP_BOUNDING_BOX )
+scaled to
+.B design_size
+(in pixels).
+.TP
+.B y_offset
+Shifts all characters up or down; default for non-rotated glyphs is the value
+given in the HBF header
+.RB ( HBF_BITMAP_BOUNDING_BOX )
+scaled to
+.B design_size
+(in pixels).
+.TP
+.B design_size
+The design size (in points) of the font.
+.B x_offset
+and
+.B y_offset
+refer to this size.
+Default is\ 10.0.
+.TP
+.B slant
+The slant of the font (given as \*(DEx\ /\ \*(DEy).
+Only values in the range 0\ \(<=\ \fBslant\fP\ \(<=\ 1 are allowed.
+Default is\ 0.0.
+.TP
+.B rotation
+If set to `yes', all glyphs will be rotated 90\ degrees counter-clockwise.
+The default offsets as given in the HBF header will be ignored (and set
+to\ 0).
+Default is `no'.
+.TP
+.B mag_x
+.TQ
+.B mag_y
+Scaling values of the characters to reach design size.
+If only one magnification is given, x and y values are assumed to be equal.
+Default is \fBmag_x\fP\ =\ \fBmag_y\fP\ =\ 1.0.
+.PP
+.TP
+.B threshold
+A value between 1 and\ 254 defining a threshold for converting the internal
+graymap into the output bitmap; lower values cut more pixels.
+Default value is\ 128.
+.PP
+.TP
+.B comment
+A comment describing the font; default is none.
+.PP
+.TP
+.B nmb_fonts
+The number of subfonts to create.
+Default value is -1 for creating all fonts.
+.TP
+.B unicode
+If `yes', a two digit hexadecimal number will be used as a running number,
+starting with the value of the first byte of the first code range.
+Default is `no'.
+.TP
+.B min_char
+The minimum value of the encoding.
+You should set this value to get correct subfile offsets if it is not
+identical to the lowest character code in the HBF file.
+.PP
+.TP
+.B dpi_x
+.TQ
+.B dpi_y
+The horizontal and vertical resolution (in dpi) of the printer.
+If only one resolution is given, x and y values are assumed to be equal.
+Default is\ 300.
+.TP
+.B checksum
+A checksum to identify the
+.C GF
+files with the appropriate
+.C TFM
+files.
+The default value of this unsigned 32bit integer is\ 0.
+.TP
+.B coding
+A comment describing the coding scheme; default is none.
+.PP
+.TP
+.B pk_directory
+The destination directory of the
+.C PK
+files; default: none.
+Attention!
+The batch file will not check whether this directory exists.
+.TP
+.B tfm_directory
+The destination directory of the
+.C TFM
+files; default: none.
+Attention!
+The batch file will not check whether this directory exists.
+.TP
+.B pk_files
+Whether to create
+.C PK
+files or not; default is `yes'.
+.TP
+.B tfm_files
+Whether to create
+.C TFM
+files or not; default is `yes'.
+.TP
+.B ofm_file
+Whether to create an
+.C OPL
+file or not; default is `no'.
+The batch file will then use
+.B ovp2ovf
+of the Omega distribution to convert it into an
+.C OFM
+and an
+.C OVF
+file.
+The
+.C OPL
+file simply maps all subfonts back to a single Omega font.
+.TP
+.B long_extension
+If `yes',
+.C PK
+files will include the resolution in the extension (e.g.
+.C gsso1201.300pk ).
+This affects the batch file only (default is `yes').
+.TP
+.B rm_command
+The shell command to remove files; default: `rm'.
+.TP
+.B cp_command
+The shell command to copy files; default: `cp'.
+.TP
+.B job_extension
+The extension of the batch file which calls
+.B gftopk
+and
+.B pltotf
+to convert the
+.C GF
+and the
+.C PL
+files into
+.C PK
+and
+.C TFM
+files respectively; default is none.
+.
+.
+.SH "FILE SEARCHING"
+.B hbf2gf
+uses either the
+.BR kpathsea ,
+.BR emtexdir ,
+or
+.B MiKTeX
+library for searching files
+.RB ( emtexdir
+will work only on operating systems which have an MS-DOSish background,
+i.e., MS-DOS, OS/2, Windows;
+.B MiKTeX
+is for Win32 systems).
+.
+.SS kpathsea
+Please note that older versions of
+.B kpathsea
+(<3.2) have no special means to seach for program related files.
+Additionally, versions older than 3.3 have no default path for miscellaneous
+fonts, thus we use the paths for PostScript related stuff if necessary for
+fonts resp. configuration files.
+The actual version of kpathsea is displayed on screen if you call
+.B hbf2gf
+.BR --version .
+.PP
+Here is a table of the file type and the corresponding
+.B kpathsea
+variables.
+.PP
+Version\ 3.3 and newer (this won't change again in the future!):
+.PP
+.in +4m
+.ta 2i
+.br
+.C "\&.hbf MISCFONTS"
+.br
+.C "\&.cfg HBF2GFINPUTS"
+.PP
+Version\ 3.2:
+.PP
+.in +4m
+.ta 2i
+.br
+.C "\&.hbf T1FONTS"
+.br
+.C "\&.cfg HBF2GFINPUTS"
+.PP
+And here the same for pre-3.2-versions of
+.B kpathsea:
+.PP
+.in +4m
+.ta 2i
+.br
+.C "\&.hbf T1FONTS"
+.br
+.C "\&.cfg TEXCONFIG"
+.PP
+Finally, the same for versions\ \(<=2.6:
+.PP
+.in +4m
+.ta 2i
+.br
+.C "\&.hbf DVIPSHEADERS"
+.br
+.C "\&.cfg TEXCONFIG"
+.PP
+Please consult the info files of
+.B kpathsea
+for details on these variables.
+The decision which naming scheme to use for variables will be done during
+compilation.
+.PP
+You should set the
+.C TEXMFCNF
+variable to the directory where your
+.C texmf.cnf
+configuration file resides.
+.PP
+Here is the proper command to find out to which value a
+.B kpathsea
+variable is set (we use
+.C MISCFONTS
+as an example).
+This is especially useful if a variable isn't set in
+.C texmf.cnf
+or in the environment, thus pointing to the default value which is
+hard-coded into the
+.B kpathsea
+library.
+.PP
+.in +2m
+.C "kpsewhich -progname=hbf2gf -expand-var='$MISCFONTS'"
+.PP
+We select the program name also since it is possible to specify
+variables which are searched only for a certain program -- in our
+example it would be
+.C MISCFONTS.hbf2gf .
+.PP
+A similar but not identical method is to say
+.PP
+.in +2m
+.C "kpsewhich -progname=hbf2gf -show-path='misc fonts'"
+.PP
+[A full list of format types can be obtained by saying `\c
+.C "kpsewhich --help" '
+on the command line prompt.]
+This is exactly the how
+.B hbf2gf
+searches for files; the disadvantage is that all variables are expanded
+which can cause very long strings.
+.
+.SS emtexdir
+.PP
+Here the list of suffixes and its related environment variables to be set in
+.C autoexec.bat
+(resp. in
+.C config.sys
+for OS/2):
+.PP
+.in +4m
+.ta 2i
+.br
+.C "\&.hbf HBFONTS"
+.br
+.C "\&.cfg HBFCFG"
+.PP
+If one of the variables isn't set, a warning message is emitted.
+The current directory will always be searched.
+As usual, one exclamation mark appended to a directory path causes
+subdirectories one level deep to be searched, two exclamation marks causes
+all subdirectories to be searched.
+Example:
+.PP
+.in +2m
+.C HBFONTS=c:\\\\fonts\\\\hbf!!;d:\\\\myfonts\\\\hbf!
+.PP
+Constructions like `\c
+.C c:\\\\fonts!!\\\\hbf '
+aren't possible.
+.
+.SS MikTeX
+.PP
+Please consult the documentation files of
+.B MiKTeX
+for more details.
+.
+.
+.SH LIMITATIONS
+The x and y output size must not exceed
+.BR MAX_CHAR_SIZE ,
+which is defined at compile time; its default value is 1023\ (pixel).
+.
+.
+.SH "SEE ALSO"
+.BR ttf2pk (1)
+.PP
+.C hbf2gf.w :
+'in +\n(.ku
+this is the source code written in
+.B CWEB
+which can be converted into a pretty-printed \*(TX
+document using
+.BR cweave .
+The CJK package also contains a preformatted
+.C hbf2gf.dvi
+file.
+.PP
+the
+.B CJK
+documentation files (\c
+.C hbf2gf.txt ).
+.PP
+the
+.B Hanzi Bitmap File
+.RB ( HBF )
+standard version\ 1.3; available at
+.C ftp.ifcss.org
+.PP
+the Omega documentation available at
+.C ftp.ens.fr
+and the CTAN hosts and mirrors.
+.
+.
+.SH FILES
+.TP
+.C *.cfg
+The
+.B hbf2gf
+configuration scripts
+.TP
+.C *.hbf
+HBF header files which describe fixed-width bitmap fonts.
+Note that the bitmap font name(s) themselves as specified in the header files
+are irrelevant for
+.BR hbf2gf .
+.
+.
+.SH AVAILABILITY
+.B hbf2gf
+is part of the CJK macro package for \*(LE
+available at the CTAN hosts and its mirrors.
+.PP
+CJK fonts together with HBF header files can be found at
+.C ftp.ifcss.org
+and its mirrors.
+.
+.
+.SH AUTHORS
+Werner Lemberg
+.C <wl@gnu.org>
+.br
+Ross Paterson (the HBF API)
+.C <ross@soi.city.ac.uk>
diff --git a/Master/texmf/doc/man/man1/includeres.1 b/Master/texmf/doc/man/man1/includeres.1
new file mode 100644
index 00000000000..eb1eb04f27a
--- /dev/null
+++ b/Master/texmf/doc/man/man1/includeres.1
@@ -0,0 +1,41 @@
+.TH INCLUDERES 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+includeres \- filter to include resources in a PostScript document
+.SH SYNOPSIS
+.B includeres
+<
+.I document.ps
+>
+.I output.ps
+.SH DESCRIPTION
+.I Includeres
+includes resources (fonts, procsets, patterns, files, etc) in place of
+.I %%IncludeResource
+comments in a PostScript document. The resources are searched for in the
+current directory and the system default directory under the resource name,
+and with an appropriate extension.
+The pipeline
+.sp
+.ce
+extractres file.ps | includeres >out.ps
+.sp
+will move all resources appearing in a document to the document prologue,
+removing redundant copies. The output file can then be put through page
+re-arrangement filters such as
+.I psnup
+or
+.I pstops
+safely.
+.SH FILES
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
+.SH BUGS
+.I includeres
+does not alter the
+.I %%DocumentNeededResources
+comments.
diff --git a/Master/texmf/doc/man/man1/info.1 b/Master/texmf/doc/man/man1/info.1
new file mode 100644
index 00000000000..39ca1d32ac3
--- /dev/null
+++ b/Master/texmf/doc/man/man1/info.1
@@ -0,0 +1,89 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.34.
+.TH INFO "1" "December 2004" "info 4.8" "User Commands"
+.SH NAME
+info \- read Info documents
+.SH SYNOPSIS
+.B info
+[\fIOPTION\fR]... [\fIMENU-ITEM\fR...]
+.SH DESCRIPTION
+Read documentation in Info format.
+.SH OPTIONS
+.TP
+\fB\-\-apropos\fR=\fISTRING\fR
+look up STRING in all indices of all manuals.
+.TP
+\fB\-d\fR, \fB\-\-directory\fR=\fIDIR\fR
+add DIR to INFOPATH.
+.TP
+\fB\-\-dribble\fR=\fIFILENAME\fR
+remember user keystrokes in FILENAME.
+.TP
+\fB\-f\fR, \fB\-\-file\fR=\fIFILENAME\fR
+specify Info file to visit.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+display this help and exit.
+.TP
+\fB\-\-index\-search\fR=\fISTRING\fR
+go to node pointed by index entry STRING.
+.TP
+\fB\-n\fR, \fB\-\-node\fR=\fINODENAME\fR
+specify nodes in first visited Info file.
+.TP
+\fB\-o\fR, \fB\-\-output\fR=\fIFILENAME\fR
+output selected nodes to FILENAME.
+.TP
+\fB\-R\fR, \fB\-\-raw\-escapes\fR
+output "raw" ANSI escapes (default).
+.TP
+\fB\-\-no\-raw\-escapes\fR
+output escapes as literal text.
+.TP
+\fB\-\-restore\fR=\fIFILENAME\fR
+read initial keystrokes from FILENAME.
+.TP
+\fB\-O\fR, \fB\-\-show\-options\fR, \fB\-\-usage\fR
+go to command\-line options node.
+.TP
+\fB\-\-subnodes\fR
+recursively output menu items.
+.TP
+\fB\-w\fR, \fB\-\-where\fR, \fB\-\-location\fR
+print physical location of Info file.
+.TP
+\fB\-\-vi\-keys\fR
+use vi\-like and less\-like key bindings.
+.TP
+\fB\-\-version\fR
+display version information and exit.
+.PP
+The first non\-option argument, if present, is the menu entry to start from;
+it is searched for in all `dir' files along INFOPATH.
+If it is not present, info merges all `dir' files and shows the result.
+Any remaining arguments are treated as the names of menu
+items relative to the initial node visited.
+.SH EXAMPLES
+.TP
+info
+show top\-level dir menu
+.TP
+info emacs
+start at emacs node from top\-level dir
+.TP
+info emacs buffers
+start at buffers node within emacs manual
+.TP
+info \fB\-\-show\-options\fR emacs
+start at node with emacs' command line options
+.TP
+info \fB\-f\fR ./foo.info
+show file ./foo.info, not searching dir
+.SH "REPORTING BUGS"
+Email bug reports to bug\-texinfo@gnu.org,
+general questions and discussion to help\-texinfo@gnu.org.
+Texinfo home page: http://www.gnu.org/software/texinfo/
+.SH COPYRIGHT
+Copyright \(co 2004 Free Software Foundation, Inc.
+There is NO warranty. You may redistribute this software
+under the terms of the GNU General Public License.
+For more information about these matters, see the files named COPYING.
diff --git a/Master/texmf/doc/man/man1/infokey.1 b/Master/texmf/doc/man/man1/infokey.1
new file mode 100644
index 00000000000..fb8f4634f40
--- /dev/null
+++ b/Master/texmf/doc/man/man1/infokey.1
@@ -0,0 +1,41 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.34.
+.TH INFOKEY "1" "December 2004" "infokey 4.8" "User Commands"
+.SH NAME
+infokey \- compile customizations for Info
+.SH SYNOPSIS
+.B infokey
+[\fIOPTION\fR]... [\fIINPUT-FILE\fR]
+.SH DESCRIPTION
+Compile infokey source file to infokey file. Reads INPUT\-FILE (default
+$HOME/.infokey) and writes compiled key file to (by default) $HOME/.info.
+.SH OPTIONS
+.TP
+\fB\-\-output\fR FILE
+output to FILE instead of $HOME/.info
+.TP
+\fB\-\-help\fR
+display this help and exit.
+.TP
+\fB\-\-version\fR
+display version information and exit.
+.SH "REPORTING BUGS"
+Email bug reports to bug\-texinfo@gnu.org,
+general questions and discussion to help\-texinfo@gnu.org.
+Texinfo home page: http://www.gnu.org/software/texinfo/
+.SH COPYRIGHT
+Copyright \(co 2003 Free Software Foundation, Inc.
+There is NO warranty. You may redistribute this software
+under the terms of the GNU General Public License.
+For more information about these matters, see the files named COPYING.
+.SH "SEE ALSO"
+The full documentation for
+.B infokey
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B infokey
+programs are properly installed at your site, the command
+.IP
+.B info infokey
+.PP
+should give you access to the complete manual.
diff --git a/Master/texmf/doc/man/man1/install-info.1 b/Master/texmf/doc/man/man1/install-info.1
new file mode 100644
index 00000000000..004d5d0f97d
--- /dev/null
+++ b/Master/texmf/doc/man/man1/install-info.1
@@ -0,0 +1,78 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.34.
+.TH INSTALL-INFO "1" "December 2004" "install-info 4.8" "User Commands"
+.SH NAME
+install-info \- update info/dir entries
+.SH SYNOPSIS
+.B install-info
+[\fIOPTION\fR]... [\fIINFO-FILE \fR[\fIDIR-FILE\fR]]
+.SH DESCRIPTION
+Install or delete dir entries from INFO\-FILE in the Info directory file
+DIR\-FILE.
+.SH OPTIONS
+.TP
+\fB\-\-delete\fR
+delete existing entries for INFO\-FILE from DIR\-FILE;
+don't insert any new entries.
+.TP
+\fB\-\-dir\-file\fR=\fINAME\fR
+specify file name of Info directory file.
+This is equivalent to using the DIR\-FILE argument.
+.TP
+\fB\-\-entry\fR=\fITEXT\fR
+insert TEXT as an Info directory entry.
+TEXT should have the form of an Info menu item line
+plus zero or more extra lines starting with whitespace.
+If you specify more than one entry, they are all added.
+If you don't specify any entries, they are determined
+from information in the Info file itself.
+.TP
+\fB\-\-help\fR
+display this help and exit.
+.TP
+\fB\-\-info\-file\fR=\fIFILE\fR
+specify Info file to install in the directory.
+This is equivalent to using the INFO\-FILE argument.
+.TP
+\fB\-\-info\-dir\fR=\fIDIR\fR
+same as \fB\-\-dir\-file\fR=\fIDIR\fR/dir.
+.TP
+\fB\-\-item\fR=\fITEXT\fR
+same as \fB\-\-entry\fR TEXT.
+An Info directory entry is actually a menu item.
+.TP
+\fB\-\-quiet\fR
+suppress warnings.
+.TP
+\fB\-\-remove\fR
+same as \fB\-\-delete\fR.
+.TP
+\fB\-\-section\fR=\fISEC\fR
+put this file's entries in section SEC of the directory.
+If you specify more than one section, all the entries
+are added in each of the sections.
+If you don't specify any sections, they are determined
+from information in the Info file itself.
+.TP
+\fB\-\-version\fR
+display version information and exit.
+.SH "REPORTING BUGS"
+Email bug reports to bug\-texinfo@gnu.org,
+general questions and discussion to help\-texinfo@gnu.org.
+Texinfo home page: http://www.gnu.org/software/texinfo/
+.SH COPYRIGHT
+Copyright \(co 2004 Free Software Foundation, Inc.
+There is NO warranty. You may redistribute this software
+under the terms of the GNU General Public License.
+For more information about these matters, see the files named COPYING.
+.SH "SEE ALSO"
+The full documentation for
+.B install-info
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B install-info
+programs are properly installed at your site, the command
+.IP
+.B info install-info
+.PP
+should give you access to the complete manual.
diff --git a/Master/texmf/doc/man/man1/kpseaccess.1 b/Master/texmf/doc/man/man1/kpseaccess.1
new file mode 100644
index 00000000000..3ef9af6b2aa
--- /dev/null
+++ b/Master/texmf/doc/man/man1/kpseaccess.1
@@ -0,0 +1,63 @@
+.TH KPSEACCESS 1 "4 January 1998" "Kpathsea 3.5.5"
+.\"=====================================================================
+.if n .ds MP MetaPost
+.if t .ds MP MetaPost
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+kpseaccess \- determine whether a file can be accessed
+.SH SYNOPSIS
+.B kpseaccess
+.I [-rwx]
+.I file
+.\"=====================================================================
+.SH DESCRIPTION
+Exit successfully if
+.I file
+can be accessed with the specified mode.
+The mode is one or more letters of
+.IR rwx ,
+where
+.I r
+is for readable,
+.I w
+is for writable, and
+.I x
+is for executable.
+.PP
+The difference between
+.B kpseaccess
+and
+.B test
+is that the latter looks at the permission bits, while the former
+checks using the
+.BR access (2)
+system call. This makes a difference when file systems have been
+mounted read-only.
+.\"=====================================================================
+.SH OPTIONS
+.B kpseaccess
+accepts the following additional options:
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.B --version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR access (2)
diff --git a/Master/texmf/doc/man/man1/kpsepath.1 b/Master/texmf/doc/man/man1/kpsepath.1
new file mode 120000
index 00000000000..007e1178459
--- /dev/null
+++ b/Master/texmf/doc/man/man1/kpsepath.1
@@ -0,0 +1 @@
+kpsetool.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/kpsereadlink.1 b/Master/texmf/doc/man/man1/kpsereadlink.1
new file mode 100644
index 00000000000..3a2e65ea0dc
--- /dev/null
+++ b/Master/texmf/doc/man/man1/kpsereadlink.1
@@ -0,0 +1,32 @@
+.TH KPSEREADLINK 1 "4 January 1998" "Kpathsea 3.5.5"
+.\"=====================================================================
+.SH NAME
+kpsereadlink \- print contents of symbolic link
+.SH SYNOPSIS
+.B kpsereadlink
+.I file
+.\"=====================================================================
+.SH DESCRIPTION
+If
+.I file
+is a symbolic link, print its contents (what it links to), and exit
+successfully. Exit with a failure otherwise.
+.PP
+On systems that do not support symbolic links,
+.B kpsereadlink
+will always fail.
+.\"=====================================================================
+.SH OPTIONS
+.B kpsereadlink
+accepts the following additional options:
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.B --version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR readlink (2)
diff --git a/Master/texmf/doc/man/man1/kpsestat.1 b/Master/texmf/doc/man/man1/kpsestat.1
new file mode 100644
index 00000000000..5d4c7a2a54c
--- /dev/null
+++ b/Master/texmf/doc/man/man1/kpsestat.1
@@ -0,0 +1,53 @@
+.TH KPSESTAT 1 "4 January 1998" "Kpathsea 3.5.5"
+.\"=====================================================================
+.if n .ds MP MetaPost
+.if t .ds MP MetaPost
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+kpsestat \- compute octal mode from mode of existing file
+.SH SYNOPSIS
+.B kpsestat
+.I mode
+.I file
+.\"=====================================================================
+.SH DESCRIPTION
+.B kpsestat
+prints the octal permission of
+.I file
+modified according to
+.I mode
+on standard output. The
+.I mode
+parameter accepts a subset of the symbolic permissions accepted by
+.BR chmod (1).
+Use
+.I =
+as the mode to obtain the unchanged permissions.
+.\"=====================================================================
+.SH OPTIONS
+.B kpsestat
+accepts the following additional options:
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.B --version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR chmod (1).
diff --git a/Master/texmf/doc/man/man1/kpsetool.1 b/Master/texmf/doc/man/man1/kpsetool.1
new file mode 100644
index 00000000000..addd9b08344
--- /dev/null
+++ b/Master/texmf/doc/man/man1/kpsetool.1
@@ -0,0 +1,106 @@
+.TH "kpsetool" "1" "September 2000" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+kpsetool \- script to make teTeX-style \fBkpsetool\fP,
+\fBkpsexpand\fP, and \fBkpsepath\fP available
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBkpsetool \fP [ \fIOPTIONS\fP\&.\&.\&. ] \fICOMMAND\fP
+.PP
+\fBkpsexpand\fP [ \fIOPTIONS\fP\&.\&.\&. ] \fISTRING\fP
+.PP
+\fBkpsepath\fP [ \fIOPTIONS\fP\&.\&.\&. ] \fIPATHTYPE\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBkpsetool\fP is a Bourne shell script that makes a teTeX-style
+\fBkpsetool\fP, \fBkpsexpand\fP, and \fBkpsepath\fP available\&.
+\fBkpsetool\fP uses \fBweb2c\fP\'s (new) \fBkpsexpand\fP binary, so the
+syntax for \fBkpsexpand\fP is incompatible with teTeX\'s as of version
+0\&.4\&.
+.PP
+.SH "OPTIONS"
+.PP
+.IP "\fB-m\fP \fImode\fP"
+set Metafont mode
+.IP "\fB-n\fP \fIprogname\fP"
+pretend to be \fIprogname\fP to kpathsea
+.IP "\fB-p\fP"
+act like \fBkpsepath\fP(1)
+.IP "\fB-v\fP"
+act like \fBkpsexpand\fP(1)
+.IP "\fB-w\fP"
+act like \fBkpsewhich\fP(1)
+.PP
+.SH "USAGE"
+.PP
+\fIPATHTYPE\fP can be
+.PP
+.IP "\fBbase\fP"
+Metafont memory dump
+.IP "\fBbib\fP"
+BibTeX bibliography source
+.IP "\fBbst\fP"
+BibTeX style files
+.IP "\fBcnf\fP"
+Kpathsea runtime configuration files
+.IP "\fBdvips_config\fP"
+dvips config files
+.IP "\fBdvips_header\fP"
+dvips header files
+.IP "\fBfmt\fP"
+TeX memory dump
+.IP "\fBgf\fP"
+generic font bitmap
+.IP "\fBmem\fP"
+MetaPost memory dump
+.IP "\fBmf\fP"
+Metafont source
+.IP "\fBmfpool\fP"
+Metafont program strings
+.IP "\fBmp\fP"
+MetaPost source
+.IP "\fBmppool\fP"
+MetaPost program strings
+.IP "\fBmpsupport\fP"
+MetaPost support files
+.IP "\fBpict\fP"
+Other kinds of figures
+.IP "\fBpk\fP"
+packed bitmap font
+.IP "\fBtex\fP"
+TeX source
+.IP "\fBtexpool\fP"
+TeX program strings
+.IP "\fBtfm\fP"
+TeX font metrics
+.IP "\fBtroff_font\fP"
+troff fonts
+.IP "\fBvf\fP"
+virtual font
+.PP
+.SH "SEE ALSO"
+.PP
+\fBkpsewhich\fP(1)
+.PP
+\fIKpathsea: A library for path searching\fP (info or DVI file)
+.PP
+Web page: <http://tug\&.org/teTeX/>
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+.PP
+.SH "AUTHOR"
+.PP
+\fBkpsetool\fP was written by Thomas Esser
+<te@dbs\&.uni-hannover\&.de> in March, 1997\&. \fBkpsetool\fP
+is in the public domain\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<c@eskimo\&.com>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/kpsewhere.1 b/Master/texmf/doc/man/man1/kpsewhere.1
new file mode 100644
index 00000000000..76700ed33fe
--- /dev/null
+++ b/Master/texmf/doc/man/man1/kpsewhere.1
@@ -0,0 +1,50 @@
+.TH "kpsewhere" "1" "March 2004" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+kpsewhere \- Expanding \fBkpsewhich\fP to separately iterate over each
+texmf tree listed in $TEXMF.
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBkpsewhere \fP [ \fIkpsewhich-OPTIONS\fP\&.\&.\&. ] \fICOMMAND\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBkpsewhere\fP is an extension to \fBkpsewhich\fP (as \fBwhere\fP is
+for \fBwhich\fP in tcsh). The intention is to provide a way to check
+for conflicts/shadowed files. It will, however, only find \fBone\fP
+file per TEXMF tree.
+.PP
+.SH "OPTIONS"
+.PP
+.IP "\fB-h|--help\fP"
+show a short help message
+.IP "\fB\&*\fP"
+all other options are directly handed to kpsewhich
+.PP
+.SH "SEE ALSO"
+.PP
+\fBkpsewhich\fP(1)
+.PP
+\fIKpathsea: A library for path searching\fP (info or DVI file)
+.PP
+Web page: <http://tug\&.org/teTeX/>
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+.PP
+.SH "AUTHOR"
+.PP
+\fBkpsewhere\fP was written by Hans Fredrik Nordhaug
+<hans\&.fredrik@nordhaug\&.no>, additions by
+Thomas Esser
+<te@dbs\&.uni-hannover\&.de>, in 2003 and 2004\&. \fBkpsewhere\fP
+is in the public domain\&.
+.PP
+This manual page was written by Frank Küster <frank@kuesterei\&.ch>,
+for the Debian GNU/Linux system\&. It is also in the public domain
+and may be used and changed by others without contacting the author\&.
+Any mistakes or omissions in the manual page are my fault; inquiries
+about or corrections to this manual page should be directed to me (and
+not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/kpsewhich.1 b/Master/texmf/doc/man/man1/kpsewhich.1
new file mode 100644
index 00000000000..86ac0357676
--- /dev/null
+++ b/Master/texmf/doc/man/man1/kpsewhich.1
@@ -0,0 +1,160 @@
+.TH KPSEWHICH 1 "4 January 1998" "Kpathsea 3.5.5"
+.\"=====================================================================
+.if n .ds MP MetaPost
+.if t .ds MP MetaPost
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+kpsewhich \- standalone path lookup and and expansion for kpathsea
+.SH SYNOPSIS
+.B kpsewhich
+.RI [ options ]
+.RI [ filenames ]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Kpathsea: A library for path searching" .
+.PP
+.B kpsewhich
+is used as a standalone front-end of the kpathsea library that can be
+used to examine variables and find files. When the
+.B -format
+option is not given, the search path used when looking for a file is
+inferred from the name given, by looking for a known extension. If
+no known extension is found, the search path for \*(TX source files is
+used.
+.\"=====================================================================
+.SH OPTIONS
+.B kpsewhich
+accepts the following options:
+.TP
+.BI -debug \ num
+.rb
+Set debugging flags.
+.TP
+.BI -D \ num
+.rb
+Use a base resolution of
+.IR num ;
+the default, set by the installer, is typically 600.
+.TP
+.BI -dpi \ num
+As
+.BR -D.
+.TP
+.BI -engine \ string
+.rb
+Set
+.I $engine
+in the environment, which is used in some search paths.
+.TP
+.BI -expand-braces \ string
+.rb
+Print variable and brace expansion of
+.IR string .
+.TP
+.BI -expand-path \ string
+.rb
+Print complete path expansion of
+.IR string .
+.TP
+.BI -expand-var \ string
+.rb
+Print variable expansion of
+.IR string .
+.TP
+.BI -format \ name
+.rb
+Use file type
+.IR name .
+See the info manual for a list of valid names, or use the
+.B -help
+option to print the list.
+.TP
+.B -help
+.rb
+Print help message and exit.
+.TP
+.B -interactive
+.rb
+Ask for additional filenames to look up.
+.TP
+.BI -mktex \ fmt
+.rb
+enable
+.RI mktex fmt
+generation.
+.RI ( fmt =pk/mf/tex/tfm)
+.TP
+.BI -mode \ string
+.rb
+Set device name for
+.I $MAKETEX_MODE
+to
+.IR string ;
+no default.
+.TP
+.B -must-exist
+.rb
+Search the disk as well as ls-R if necessary.
+.TP
+.BI -no-mktex \ fmt
+.rb
+disable
+.RI mktex fmt
+generation.
+.RI ( fmt =pk/mf/tex/tfm)
+.TP
+.BI -path \ string
+Search in the path
+.IR string .
+.TP
+.BI -progname \ string
+.rb
+Set program name to
+.IR string .
+.\" .TP
+.\" .BI -separator \ string
+.\" .rb
+.\" .I string
+.\" separates components in
+.\" .B -path
+.\" output; default is
+.\" .I :
+.\" on UNIX systems.
+.TP
+.BI -show-path \ name
+.rb
+Output search path for file type
+.IR name .
+See the info manual for a list of valid names, or use the
+.B -help
+option to print the list.
+.TP
+.BI -var-value \ variable
+.rb
+Print the expansion of
+.IR variable .
+.B -version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR mktexlsr (1),
+.BR mktexmf (1),
+.BR mktexpk (1),
+.BR mktextfm (1).
diff --git a/Master/texmf/doc/man/man1/kpsexpand.1 b/Master/texmf/doc/man/man1/kpsexpand.1
new file mode 120000
index 00000000000..007e1178459
--- /dev/null
+++ b/Master/texmf/doc/man/man1/kpsexpand.1
@@ -0,0 +1 @@
+kpsetool.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/lacheck.1 b/Master/texmf/doc/man/man1/lacheck.1
new file mode 100644
index 00000000000..9679e294e60
--- /dev/null
+++ b/Master/texmf/doc/man/man1/lacheck.1
@@ -0,0 +1,113 @@
+.TH "LaCheck" "1" "10/26/05" "Release 1.26"
+.SH NAME
+lacheck - A consistency checker for LaTeX documents.
+.SH SYNOPSIS
+.B lacheck
+.I filename
+[
+.I .tex
+]
+.SH DESCRIPTION
+LaCheck is a general purpose consistency checker for LaTeX documents.
+It reads a LaTeX document and displays warning messages, if it finds
+bad sequences. It should be noted, that the badness is
+.I very
+subjective. LaCheck is designed to help find common mistakes in LaTeX
+documents, especially those made by beginners.
+.LP
+The things checked are:
+.LP
+Mismatched groups (braces), environments and math mode
+delimiters. When a mismatch is found, line numbers for
+.I "both"
+start and end of the mismatch is given. The error messages comes in
+pairs, one for the end match and one for the beginning, marked with
+\`<-\' and \`->\' respectively.
+.LP
+Bad spacing including missing a \`\\ \' after an abbreviation, missing
+an \`\\@\' before a punctuation mark in a paragraph that is ended by
+an capital letter, double spaces like \` \~\', bad usage of ellipsis
+(like using ... instead of \\ldots, or using \\ldots where \\cdots
+should be used), missing \~ before a \\cite or \\ref commands, space
+before footnotes, italic corrections before comma, point, or italic
+text, italic correction after normal text, missing italic correction
+when switching from italic to normal text, and double italic
+correction.
+.LP
+Badly placed punctuation marks around end of math mode
+delimiters. This is, punctuation placed right after display math end
+or punctuation placed right before text math end. Sequences of
+whitespace followed by punctuation marks are also caught.
+.LP
+Bad use of quotation characters, i.e. constructs like "\'word" or
+"word\`" are warned about, tabs in verbatim environments are caught,
+certain TeX primitives are frowned upon, attempts to give font
+specifiers arguments such as \\em{text} are noted, and use of @ in
+LaTeX macros are reported.
+.LP
+LaCheck will read files that are input using \\input or \\include.
+Files with suffix \`.sty\' are omitted, as they probably will cause
+LaCheck to crash.
+.LP
+LaCheck may be invoked from within Emacs(1) using compile:
+
+To run:
+.B "M-x compile RET lacheck RET"
+, and then
+.B "C-x `"
+to parse the messages
+
+.SH OUTPUT
+The output is UNIX-error like, and may be parsed using Emacs(1)
+compile mode. Here is a sample:
+
+.PD 0
+lacheck compiler
+.TP
+"/usr/mef/compiler.tex", line 34: missing \`\\\\\\\\ \' after "etc."
+.TP
+"/usr/mef/compiler.tex", line 179: double space at " ~"
+.TP
+"/usr/mef/compiler.tex", line 186: <- unmatched "}"
+.TP
+"/usr/mef/compiler.tex", line 181: -> unmatched "$$"
+.PD 1
+.LP
+A control space \`\\ \' should be inserted at line 34, to prevent an
+end-of-sentence space.
+Also, at line 179, the first space of the sequence " ~" should
+probably be deleted.
+The last two lines is an example, where the user mistyped, and
+probably inserted an extra "}" somewhere.
+
+.SH DIAGNOSTICS
+Some special cases should be explained. In cases where a sentence ends
+with something that LaCheck thinks is an abbreviation an missing \`\\
+\' error may also occur, if the following sentence begins with a
+lowercase letter.
+.LP
+A mismatch error may cause more to follow, due to the chosen
+algorithm. In such cases just correct the
+.I "first"
+error and run LaCheck again
+.LP
+Braces, environments and math mode must be balanced within a file.
+.LP
+LaCheck may be confused by unmatched stuff placed inside verbatim-like
+environments called something else than exactly \`verbatim\'.
+.SH FILES
+lacheck
+.SH SEE ALSO
+tex(1), emacs(1), latex(1)
+.SH BUGS
+LaCheck gets confused by advanced macros, is fooled by simple macros,
+can't figure out if you use a non-standard way to switch italic on or
+off, does not like TeX at all, does not provide any options to turn
+off specific warnings, and is at best a crude approximation.
+.LP
+Ideas for improvements and bug reports are very welcome. Such
+should be directed to the maintainers, their email address is
+<auc-tex_mgr@sunsite.auc.dk>.
+.SH AUTHOR
+Kresten Krab Thorup with modifications by Per Abrahamsen.
+
diff --git a/Master/texmf/doc/man/man1/lambda.1 b/Master/texmf/doc/man/man1/lambda.1
new file mode 100644
index 00000000000..29d0bbb1c10
--- /dev/null
+++ b/Master/texmf/doc/man/man1/lambda.1
@@ -0,0 +1,292 @@
+.TH OMEGA 1 "27 December 1997" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX
+.if n .ds AX AmSTeX
+.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX
+.if n .ds AY AmSLaTeX
+.\"=====================================================================
+.SH NAME
+omega, iniomega, viromega \- extended unicode TeX
+.SH SYNOPSIS
+.B omega
+.RI [ options ]
+[\fB&\fR \fIformat\fR ]
+[ \fIfile\fR | \fB\e\fR \fIcommands\fR ]
+.\"=====================================================================
+.SH DESCRIPTION
+Run the Omega typesetter on
+.IR file ,
+usually creating
+.IR file.dvi .
+If the file argument has no extension, ".tex" will be appended to it.
+Instead of a filename, a set of Omega commands can be given, the first
+of which must start with a backslash.
+With a
+.BI & format
+argument Omega uses a different set of precompiled commands,
+contained in
+.IR format.fmt ;
+it is usually better to use the
+.B -fmt
+.I format
+option instead.
+.PP
+Omega is a version of the \*(TX program modified for multilingual
+typesetting. It uses unicode, and has additional primitives for
+(among other things) bidirectional typesetting.
+.PP
+The
+.B iniomega
+and
+.B viromega
+commands are Omega's analogues to the
+.B initex
+and
+.B virtex
+commands. In this installation, they are symlinks to the
+.B omega
+executable.
+.PP
+Omega's command line options are similar to those of \*(TX.
+.PP
+Omega is experimental software.
+.\"=====================================================================
+.SH OPTIONS
+This version of Omega understands the following command line options.
+.TP
+.BI --oft \ format
+.rb
+Use
+.I format
+as the name of the format to be used, instead of the name by which
+Omega was called or a
+.I %&
+line.
+.TP
+.B -halt-on-error
+.rb
+Exit with an error code when an error is encountered during processing.
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.B --ini
+.rb
+Be
+.BR iniomega ,
+for dumping formats; this is implicitly true if the program is called
+as
+.BR iniomega .
+.TP
+.BI --interaction \ mode
+.rb
+Sets the interaction mode. The mode can be one of
+.IR batchmode ,
+.IR nonstopmode ,
+.IR scrollmode ,
+and
+.IR errorstopmode .
+The meaning of these modes is the same as that of the corresponding
+\ecommands.
+.TP
+.B --ipc
+.rb
+Send DVI output to a socket as well as the usual output file. Whether
+this option is available is the choice of the installer.
+.TP
+.B --ipc-start
+.rb
+As
+.BR --ipc ,
+and starts the server at the other end as well. Whether this option
+is available is the choice of the installer.
+.TP
+.BI --kpathsea-debug \ bitmask
+.rb
+Sets path searching debugging flags according to the bitmask. See the
+.I Kpathsea
+manual for details.
+.TP
+.BI --maketex \ fmt
+.rb
+Enable
+.RI mktex fmt ,
+where
+.I fmt
+must be one of
+.I tex
+or
+.IR tfm .
+.TP
+.BI --no-maketex \ fmt
+.rb
+Disable
+.RI mktex fmt ,
+where
+.I fmt
+must be one of
+.I tex
+or
+.IR tfm .
+.TP
+.BI --output-comment \ string
+.rb
+Use
+.I string
+for the DVI file comment instead of the date.
+.TP
+.BI -output-directory \ directory
+.rb Write output files in
+.I directory
+instead of the current directory. Look up input files in
+.I directory
+first, the along the normal search path.
+.TP
+.B --parse-first-line
+.rb
+If the first line of the main input file begins with
+.I %&
+parse it to look for a dump name.
+.TP
+.BI --progname \ name
+.rb
+Pretend to be program
+.IR name .
+This affects both the format used and the search paths.
+.TP
+.B --recorder
+.rb
+Enable the filename recorder. This leaves a trace of the files opened
+for input and output in a file with extension
+.IR .ofl .
+(This option is always on.)
+.TP
+.B --shell-escape
+.rb
+Enable the
+.BI \ewrite18{ command }
+construct. The
+.I command
+can be any Bourne shell command. This construct is normally
+disallowed for security reasons.
+.TP
+.B --version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH ENVIRONMENT
+See the Kpathsearch library documentation (the `Path specifications'
+node) for precise details of how the environment variables are used.
+The
+.B kpsewhich
+utility can be used to query the values of the variables.
+.PP
+One caveat: In most Omega formats, you cannot use ~ in a filename you
+give directly to Omega, because ~ is an active character, and hence is
+expanded, not taken as part of the filename. Other programs, such as
+\*(MF, do not have this problem.
+.PP
+.TP
+TEXMFOUTPUT
+Normally, Omega puts its output files in the current directory. If
+any output file cannot be opened there, it tries to open it in the
+directory specified in the environment variable TEXMFOUTPUT.
+There is no default value for that variable. For example, if you say
+.I tex paper
+and the current directory is not writable, if TEXMFOUTPUT has
+the value
+.IR /tmp ,
+Omega attempts to create
+.I /tmp/paper.log
+(and
+.IR /tmp/paper.dvi ,
+if any output is produced.)
+.TP
+TEXINPUTS
+Search path for
+.I \einput
+and
+.I \eopenin
+files.
+This should probably start with ``.'', so
+that user files are found before system files. An empty path
+component will be replaced with the paths defined in the
+.I texmf.cnf
+file. For example, set TEXINPUTS to ".:/home/usr/tex:" to prepend the
+current direcory and ``/home/user/tex'' to the standard search path.
+.TP
+TEXEDIT
+Command template for switching to editor. The default, usually
+.BR vi ,
+is set when Omega is compiled.
+.\"=====================================================================
+.SH FILES
+The location of the files mentioned below varies from system to
+system. Use the
+.B kpsewhich
+utility to find their locations.
+.TP
+.I omega.pool
+Encoded text of Omega's messages.
+.TP
+.I *.oft
+Predigested Omega format (.\|oft) files.
+.br
+.\"=====================================================================
+.SH NOTES
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of Omega can be found in the info
+manual
+.IR "Web2C: A TeX implementation" .
+.\"=====================================================================
+.SH BUGS
+This version of Omega implements a number of optional extensions.
+In fact, many of these extensions conflict to a greater or lesser
+extent with the definition of Omega. When such extensions are
+enabled, the banner printed when Omega starts is changed to print
+.B Omegak
+instead of
+.BR Omega .
+.PP
+This version of Omega fails to trap arithmetic overflow when
+dimensions are added or subtracted. Cases where this occurs are rare,
+but when it does the generated
+.I DVI
+file will be invalid.
+.PP
+The
+.I DVI
+files produced by Omega may use extensions which make them incompatible
+with most software designed to handle
+.I DVI
+files. In order to print or preview them, you should use
+.B odvips
+to generate a PostScript file.
+.PP
+Omega is experimental software, and if you are an active user it is
+strongly recommended that you subscribe to the Omega mailing list.
+Visit the Omega website
+.B http://omega.cse.unsw.edu.au
+for information on how to subscribe.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tex (1),
+.BR mf (1),
+.RB odvips (1),
+.\"=====================================================================
+.SH AUTHORS
+The primary authors of Omega are John Plaice and Yannis Haralambous.
diff --git a/Master/texmf/doc/man/man1/latex.1 b/Master/texmf/doc/man/man1/latex.1
new file mode 100644
index 00000000000..89d63058631
--- /dev/null
+++ b/Master/texmf/doc/man/man1/latex.1
@@ -0,0 +1,70 @@
+.TH LATEX 1 "29 March 1999" "Web2C 7.5.5"
+.\"=====================================================================
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP\" for troff
+.el .ds OX TeX\" for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+latex, elatex, lambda, pdflatex \- structured text formatting and typesetting
+.SH SYNOPSIS
+.B latex
+[ first line ]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The \*(LX language is described in the book
+.IR "\*(LX \- A Document Preparation System" .
+\*(LX is a \*(TX macro package, not a modification to the \*(TX source
+program, so all the capabilities described in
+.BR tex (1)
+are present.
+.PP
+The \*(LX macros encourage writers to think about the content of their
+documents, rather than the form. The ideal, very difficult to realize, is to
+have no formatting commands (like ``switch to italic'' or ``skip 2
+picas'') in the document at all; instead, everything is done
+by specific markup instructions: ``emphasize'', ``start a section''.
+.PP
+The primary source of documentation for \*(LX is the \*(LX manual
+referenced below, and the local guide in the file
+.I local-guide.tex
+or
+.I local.tex
+or some such.
+.PP
+.B elatex
+is the e-\*(TX extended mode version of \*(LX format.
+.PP
+.B lambda
+is the Omega version of the \*(LX format.
+.PP
+.B pdflatex
+is the pdf\*(TX version of the \*(LX format.
+.PP
+On some systems
+.B latex209
+and
+.B slitex
+are available for compatibility with older versions of \*(LX. These
+should not be used for new texts.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR amslatex (1),
+.BR amstex (1),
+.BR tex (1),
+.br
+Leslie Lamport,
+.IR "\*(LX \- A Document Preparation System" ,
+Addison-Wesley, 1985, ISBN 0-201-15790-X.
diff --git a/Master/texmf/doc/man/man1/mag.1 b/Master/texmf/doc/man/man1/mag.1
new file mode 100644
index 00000000000..8d9f2d4a261
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mag.1
@@ -0,0 +1,68 @@
+.\" e
+.TH MAG 1 UMFT
+.de EX
+.sp
+.in +5
+.nf
+.ft CW
+..
+.de EE
+.in -5
+.ft R
+.sp
+.fi
+..
+.SH NAME
+mag \- computes fontsizes and magsteps
+.SH SYNOPSIS
+.B
+mag
+[-\fBR\fIdpi\fP\fP] magstep . . .
+
+.B
+mag
+[-\fBr\fP] [-\fBR\fP\fIdpi\fP] fontsize . . .
+
+.SH DESCRIPTION
+.EQ
+delim $$
+.EN
+This tool calculates fontsizes given magsteps. TeXfonts are provided as
+true sized fonts or as magnifications. The fontsize of a true sized
+font equals the resolution of the printer (ex. 300). The fontsize
+of a font magnified $n$ \fImagsteps\fP equals:
+.EQ
+1.2 sup{n} times 300
+delim off
+.EN
+rounded to its nearest integer value. Fontnames for TeX fonts normally
+consists of the name (\fIcmr\fP), pointsize (\fI10\fP), type (\fIpk\fP)
+and fontsize (\fI360\fP), for example: \fIcmr10.360pk\fP.
+
+.SH EXAMPLES
+The result of \fImag -R240 -2 0 0.5 1\fP will be:
+.EX
+167 240 263 288
+.EE
+
+The inverse function is computed with the \fI-r\fP option. The result of
+\fImag -r -R240 167 240 263 288\fP
+will be the fontsteps:
+.EX
+-2 0 0.5 1
+.EE
+
+The UNIX shells allow command substitution. One can write:
+.EX
+mag -r -R240 `mag -R240 -2 0 0.5 1`
+.EE
+
+.SH DATE
+18 December, 1989
+
+.SH AUTHOR
+.nf
+Piet Tutelaers
+University of Technology Eindhoven
+<rcpt@urc.tue.nl>
+
diff --git a/Master/texmf/doc/man/man1/makeindex.1 b/Master/texmf/doc/man/man1/makeindex.1
new file mode 100644
index 00000000000..1404df6cf74
--- /dev/null
+++ b/Master/texmf/doc/man/man1/makeindex.1
@@ -0,0 +1,1203 @@
+.if t .ds LX L\\h'-0.36m'\\v'-0.15v'\\s-2A\\s+2\\h'-0.15m'\\v'0.15v'T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X
+.if n .ds LX LaTeX
+.if t .ds TX T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X
+.if n .ds TX TeX
+.ds Ts T\s-2RAN\s+2S\s-2CRIPT\s+2
+.if t .ds Uc \fIU\\h'-0.12m'C\\v'0.27m'\\h'-.23m'S\\h'-0.11m'F\\v'-0.27m'\fP
+.if n .ds Uc UCSF
+.ds Et \\f(boE\\h'-0.1667m'\\v'-0.20v'T\\v'0.20v'\\h'-0.125m'T\\fP
+.TH MAKEINDEX 1L "10 December 1991"
+.\"=====================================================================
+.SH NAME
+makeindex \- a general purpose, formatter-independent index processor
+.SH SYNOPSIS
+.B makeindex
+.BR [ \-c ]
+.BR [ \-g ]
+.BR [ \-i ]
+.BR [ \-l ]
+.BR [ \-o
+.IR ind ]
+.BR [ \-p
+.IR num ]
+.BR [ \-q ]
+.BR [ \-r ]
+.BR [ \-s
+.IR sfile ]
+.BR [ \-t
+.IR log ]
+.BR [ \-L ]
+.BR [ \-T ]
+.BI [ idx0
+.I idx1
+.IR idx2 .\|.\|.]
+.\"=====================================================================
+.SH DESCRIPTION
+The program
+.I makeindex
+is a general purpose hierarchical index generator; it accepts one or
+more input files (often produced by a text formatter such as \*(TX
+.RI ( tex (1L))
+or
+.IR troff (1),
+sorts the entries, and produces an output file which can be formatted.
+The index can have up to three levels (0, 1, and 2) of subitem nesting.
+The way in which words are flagged for indexing within the main document
+is specific to the formatter used;
+.I makeindex
+does
+.I not
+automate the process of selecting these words. As the output index
+is hierarchical,
+.I makeindex
+can be considered complimentary to the
+.IR awk (1)-based
+.IR make.index (1L)
+system of Bentley and Kernighan, which is specific to
+.IR troff (1),
+generates non-hierarchical indices, and employs a much simpler syntax
+for indicating index entries. For illustration of use with
+.I troff
+and
+.IR \*(TX ,
+see the section \s-2EXAMPLES\s+2 below.
+.LP
+The formats of the input and output files are
+specified in a style file; by default, input is assumed to be a
+.I \&.idx
+file, as generated by \*(LX.
+.LP
+Unless specified explicitly, the base name of the first input file
+.RI ( idx0 )
+is used to determine the names of other files. For each input file
+name specified, a file of that name is sought. If this file is not
+found and the file name has no extension, the extension
+.I \&.idx
+is appended. If no file with this name is found,
+.I makeindex
+aborts.
+.LP
+If exactly one input file was given and no explicit style file was
+specified using
+.BR \-s ,
+.I makeindex
+uses a file with the extension
+.I \&.mst
+as default style file (when present).
+.LP
+For important notes on how to select index keywords, see the document
+by Lamport cited below. As an issue separate from selecting index
+keywords, a systematic mechanism for placing index terms in a document
+is suggested in
+.IR "Index Preparation and Processing" ,
+a paper cited below.
+.\"=====================================================================
+.SH OPTIONS
+.TP 10
+.B \-c
+Compress intermediate blanks (ignoring leading and trailing blanks and
+tabs). By default, blanks in the index key are retained.
+.TP 10
+.B \-g
+Employ German word ordering in the index, in accord with rules set forth
+in DIN 5007. By default,
+.I makeindex
+employs a word ordering in which precedence is: symbols, numbers,
+uppercase letters, lowercase letters. The sequence in German word
+ordering is: symbols, lowercase letters, uppercase letters, numbers.
+Additionally, this option enables
+.I makeindex
+to recognize the German \*(TX-commands {"a, "o, "u and "s} as {ae, oe,
+ue and ss} during the sorting of the entries. The quote character
+must be redefined in a style file (for example, redefine quote
+as '+'). If the quote character is not redefined,
+.I makeindex
+will produce an error message and abort.
+.TP 10
+.B \-i
+Take input from
+.IR stdin .
+When this option is specified and
+.B \-o
+is not, output is written to
+.IR stdout .
+.TP 10
+.B \-l
+Letter ordering; by default, word ordering is used (see
+the \s-2ORDERING\s+2 section).
+.TP 10
+.BI \-o " ind"
+Employ
+.I ind
+as the output index file. By default, the file name
+is created by appending the extension
+.I .ind
+to the base name of
+the first input file
+.RI ( idx0 ).
+.TP 10
+.BI \-p " num"
+Set the starting page number of the output index file to be
+.I num
+(useful when the index file is to be formatted separately). The
+argument
+.I num
+may be numerical or one of the following:
+.RS
+.TP 10
+.I any
+The starting page is the last source page number plus 1.
+.TP
+.I odd
+The starting page is the first odd page following the last source page
+number.
+.TP
+.I even
+The starting page is the first even page following the last source
+page number.
+.RE
+.IP
+The last source page is obtained by searching backward in the log file
+for the first instance of a number included within paired square
+brackets
+.RB ( [ .\|.\|. ] ).
+If a page number is missing or the log file is not found, no attempt
+will be made to set the starting page number. The source log file
+name is determined by appending the extension
+.I \&.log
+to the base name of the first input file
+.RI ( idx0 ).
+.TP 10
+.B \-q
+Quiet mode; send no messages to
+.IR stderr .
+By default, progress
+and error messages are sent to
+.I stderr
+as well as to the
+transcript file.
+.TP 10
+.B \-r
+Disable implicit page range formation; page ranges must be created by
+using explicit range operators; see \s-2SPECIAL EFFECTS\s+2 below. By
+default, three or more successive pages are automatically abbreviated
+as a range (e.g. 1\(em5).
+.TP 10
+.BR \-s " sty"
+Employ
+.I sty
+as the style file (no default). The environment
+variable \s-2INDEXSTYLE\s+2 defines the path where the style file
+should be found.
+.TP 10
+.BR \-t " log"
+Employ
+.I log
+as the transcript file. By default, the file name is
+created by appending the extension
+.I .ilg
+to the base name of the
+first input file
+.RI ( idx0 ).
+.TP 10
+.BR \-L
+sort based on locale settings. Not available on all systems.
+.TP 10
+.BR \-T
+special support for Thai documents. Not available on all systems.
+.\"=====================================================================
+.SH "STYLE FILE"
+The style file informs
+.I makeindex
+about the format of the
+.I \&.idx
+input files and the intended format of the final output file; examples
+appear below. This file can reside anywhere in the path defined by
+the environment variable \s-2INDEXSTYLE\s+2. The style file contains
+a list of
+.RI < specifier , " attribute" >
+pairs. There are two types of specifiers: input and output.
+Pairs do not have to appear in any particular order.
+A line begun by `%' is a comment. In the following list of
+specifiers and arguments, <string> is an arbitrary string delimited by
+double quotes (".\|.\|."), <char> is a single letter embraced by
+single quotes ('.\|.\|.'), and <number> is a nonnegative integer.
+The maximum length of a <string> is 2048. A literal backslash or
+quote must be escaped (by a backslash). Anything not specified in the
+style file will be assigned a default value, which is shown at the
+head of the rightmost column.
+.\"----------------------------------------------------------------------
+.SS "INPUT STYLE SPECIFIERS"
+.TP 25
+.BR actual " <char>"
+\'@\'
+.RS
+Symbol indicating that the next entry is to appear in the output file.
+.RE
+.TP
+.BR arg_close " <char>"
+\'}\'
+.RS
+Closing delimiter for the index entry argument.
+.RE
+.TP
+.BR arg_open " <char>"
+\'{\'
+.RS
+Opening delimiter for the index entry argument.
+.RE
+.TP
+.BR encap " <char>"
+\'|\'
+.RS
+Symbol indicating that the rest of the argument list
+is to be used as the encapsulating command for the page number.
+.RE
+.TP
+.BR escape " <char>"
+\'\\\\\'
+.RS
+Symbol which escapes the following letter, unless its preceding letter
+is
+.BR escape .
+Note:
+.B quote
+is used to escape the letter which immediately follows it, but if it is
+preceded by
+.BR escape ,
+it is treated as a ordinary character. These two symbols
+.I must
+be distinct.
+.RE
+.TP
+.BR keyword " <string>"
+"\\\\indexentry"
+.RS
+Command which tells
+.I makeindex
+that its argument is an index entry.
+.RE
+.TP
+.BR level " <char>"
+\'!\'
+.RS
+Delimiter denoting a new level of subitem.
+.RE
+.TP
+.BR quote " <char>"
+\'"\'
+.RS
+Note:
+.B quote
+is used to escape the letter which immediately follows it, but if it is
+preceded by
+.BR escape ,
+it is treated as a ordinary character. These two symbols
+.I must
+be distinct.
+.RE
+.TP
+.BR range_close " <char>"
+\')\'
+.RS
+Closing delimiter indicating the end of an explicit page range.
+.RE
+.TP
+.BR range_open " <char>"
+\'(\'
+.RS
+Opening delimiter indicating the beginning of an explicit page range.
+.RE
+.\"---------------------------------------------------------------------
+.SS "OUTPUT STYLE SPECIFIERS"
+.TP 25
+.BR preamble " <string>"
+"\\\\begin{theindex}\\n"
+.RS
+Preamble of output file.
+.RE
+.TP
+.BR postamble " <string>"
+"\\n\\n\\\\end{theindex}\\n"
+.RS
+Postamble of output file.
+.RE
+.TP
+.BR setpage_prefix " <string>"
+"\\n \\\\setcounter{page}{"
+.RS
+Prefix of command which sets the starting page number.
+.RE
+.TP
+.BR setpage_suffix " <string>"
+"}\\n"
+.RS
+Suffix of command which sets the starting page number.
+.RE
+.TP
+.BR group_skip " <string>"
+"\\n\\n \\\\indexspace\\n"
+.RS
+Vertical space to be inserted before a new group begins.
+.RE
+.TP
+.BR headings_flag " <string>"
+0
+.RS
+Flag indicating treatment of new group headers, which are inserted
+when before a new group (symbols, numbers, and the 26 letters):
+positive values cause an uppercase letter to be inserted between
+prefix and suffix, and negative values cause a lowercase letter to be
+inserted (default is 0, which produces no header).
+.RE
+.TP
+.BR heading_prefix " <string>"
+""
+.RS
+Header prefix to be inserted before a new letter begins.
+.RE
+.TP
+.BR symhead_positive " <string>"
+"Symbols"
+.RS
+Heading for symbols to be inserted if
+.B headings_flag
+is positive.
+.RE
+.TP
+.BR symhead_negative " <string>"
+"symbols"
+.RS
+Heading for symbols to be inserted if
+.B headings_flag
+is negative.
+.RE
+.TP
+.BR numhead_positive " <string>"
+"Numbers"
+.RS
+Heading for numbers to be inserted if
+.B headings_flag
+is positive.
+.RE
+.TP
+.BR numhead_negative " <string>"
+"numbers"
+.RS
+Heading for numbers to be inserted if
+.B headings_flag
+is negative.
+.RE
+.TP
+.BR item_0 " <string>"
+"\\n \\\\item "
+.RS
+Command to be inserted between two primary (level 0) items.
+.RE
+.TP
+.BR item_1 " <string>"
+"\\n \\\\subitem "
+.RS
+Command to be inserted between two secondary (level 1) items.
+.RE
+.TP
+.BR item_2 " <string>"
+"\\n \\\\subsubitem "
+.RS
+Command to be inserted between two level 2 items.
+.RE
+.TP
+.B item_01 " <string>"
+"\\n \\\\subitem "
+.RS
+Command to be inserted between a level 0 item and a level 1 item.
+.RE
+.TP
+.BR item_x1 " <string>"
+"\\n \\\\subitem "
+.RS
+Command to be inserted between a level 0 item and a level 1 item,
+where the level 0 item does not have associated page numbers.
+.RE
+.TP
+.BR item_12 " <string>"
+"\\n \\\\subsubitem "
+.RS
+Command to be inserted between a level 1 item and a level 2 item.
+.RE
+.TP
+.BR item_x2 " <string>"
+"\\n \\\\subsubitem "
+.RS
+Command to be inserted between a level 1 item and a level 2 item,
+where the level 1 item does not have associated page numbers.
+.RE
+.TP
+.BR delim_0 " <string>"
+", "
+.RS
+Delimiter to be inserted between a level 0 key and its first page number
+(default: comma followed by a blank).
+.RE
+.TP
+.BR delim_1 " <string>"
+", "
+.RS
+Delimiter to be inserted between a level 1 key and its first page number
+(default: comma followed by a blank).
+.RE
+.TP
+.BR delim_2 " <string>"
+", "
+.RS
+Delimiter to be inserted between a level 2 key and its first page number
+(default: comma followed by a blank).
+.RE
+.TP
+.BR delim_n " <string>"
+", "
+.RS
+Delimiter to be inserted between two page numbers for the same key
+in any level (default: comma followed by a blank).
+.RE
+.TP
+.BR delim_r " <string>"
+"--"
+.RS
+Delimiter to be inserted between the starting and ending page numbers
+of a range.
+.RE
+.TP
+.BR delim_t " <string>"
+""
+.RS
+Delimiter to be inserted at the end of a page list. This delimiter
+has no effect on entries which have no associated page list.
+.RE
+.TP
+.BR encap_prefix " <string>"
+"\\\\"
+.RS
+First part of prefix for the command which encapsulates the page number.
+.RE
+.TP
+.BR encap_infix " <string>"
+"{"
+.RS
+Second part of prefix for the command which encapsulates the page
+number.
+.RE
+.TP
+.BR encap_suffix " <string>"
+"}".
+.RS
+Suffix for the command which encapsulates the page number.
+.RE
+.TP
+.BR line_max " <number>"
+72
+.RS
+Maximum length of a line in the output, beyond which a line wraps.
+.RE
+.TP
+.BR indent_space " <string>"
+"\\t\\t"
+.RS
+Space to be inserted in front of a wrapped line (default: two tabs).
+.RE
+.TP
+.BR indent_length " <number>"
+16
+.RS
+Length of
+.B indent_space
+(default: 16, equivalent to 2 tabs).
+.RE
+.TP
+.BR suffix_2p " <string>"
+""
+.RS
+Delimiter to replace the range delimiter and the second page number of
+a two page list. When present, it overrides
+.BR delim_r .
+Example: "f.".
+.RE
+.TP
+.BR suffix_3p " <string>"
+""
+.RS
+Delimiter to replace the range delimiter and the second page number of
+a three page list. When present, it overrides
+.B delim_r
+and
+.BR suffix_mp .
+Example: "ff.".
+.RE
+.TP
+.BR suffix_mp " <string>"
+""
+.RS
+Delimiter to replace the range delimiter and the second page number of
+a multiple page list (three or more pages). When present, it overrides
+.BR delim_r .
+Example: "f.".
+.RE
+.\"=====================================================================
+.SH EXAMPLES
+.\"---------------------------------------------------------------------
+.SS "\*(TX EXAMPLE"
+The following example shows a style file called
+.IR book.ist ,
+which defines an index for a book which can be formatted independently
+of the main source:
+.LP
+.RS
+.nf
+\fCpreamble
+"\\\\documentstyle[12pt]{book}
+\\\\begin{document}
+\\\\begin{theindex}
+{\\\\small\\n"
+postamble
+"\\n\\n}
+\\\\end{theindex}
+\\\\end{document}\\n\fP"
+.fi
+.RE
+.LP
+Assuming that a particular book style requires the index (as well as any
+chapters) to start from an odd page number, and that the input file is
+named
+.IR foo.idx ,
+the following command line produces output in file
+.IR footmp.ind :
+.LP
+.RS
+\fCmakeindex \-s book.ist \-o footmp.ind \-p odd foo\fP
+.RE
+.LP
+Here a non-default output file name is used to avoid clobbering the
+output for the book itself (presumably
+.IR foo.dvi ,
+which would have been the default name for the index output file!).
+.\"---------------------------------------------------------------------
+.SS "TROFF EXAMPLE"
+A sample control file for creating an index, which we will assume
+resides in the file
+.IR sample.ist :
+.LP
+.RS
+.nf
+\&\fCkeyword "IX:"
+\&preamble
+\&".\\\\\\" start of index output
+\&\\".\\\\\\" enter two column mode
+\&.2C
+\&.SH
+\&.ce
+\&INDEX
+\&.XS
+\&INDEX
+\&.XE
+\&.R
+\&.ps 9p
+\&.vs 11p
+\&.sp
+\&.de I1
+\&.ti 0.25i
+\&..
+\&.de I2
+\&.ti 0.5i
+\&.."
+\&postamble "\\n.\\\\\\" end of index output"
+\&setpage_prefix "\\n.nr % "
+\&setpage_suffix ""
+\&group_skip "\\n.sp 1.0"
+\&headings_flag 1
+\&heading_prefix "\\n.IS\\n"
+\&heading_suffix "\\n.IE"
+\&item_0 "\\n.br\\n"
+\&item_1 "\\n.I1\\n"
+\&item_2 "\\n.I2\\n"
+\&item_01 "\\n.I1\\n"
+\&item_x1 "\\n.I1\\n"
+\&item_12 "\\n.I2\\n"
+\&item_x2 "\\n.I2\\n"
+\&delim_0 ", "
+\&delim_1 ", "
+\&delim_2 ", "
+\&delim_r "-"
+\&delim_t "."
+\&encap_prefix "\\\\fB"
+\&encap_infix ""
+\&encap_suffix "\\\\fP"
+\&indent_space ""
+\&indent_length 0\fP
+.fi
+.RE
+.LP
+The local macro package may require modification, as in this example
+of an extension to the
+.B \-ms
+macros (note that at some sites, this macro should
+.I replace
+a pre-existing macro of the same name):
+.LP
+.RS
+.nf
+\fC\&.\" IX - index words to stderr
+\&.de IX
+\&.ie '\\\\n(.z'' .tm IX: \\\\$1 \\\\$2 \\\\$3 \\\\$4 \\\\$5 \\\\$6 \\\\$7 \\\\$8 \\\\$9 {\\\\n(PN}
+\&.el \\\\!.IX \\\\$1 \\\\$2 \\\\$3 \\\\$4 \\\\$5 \\\\$6 \\\\$7 \\\\$8 \\\\$9 {\\\\n(PN}
+\&..\fP
+.fi
+.RE
+.LP
+(note that the string {\fC\\\\n(PN\fP} is separated from the rest of the
+line by a tab.
+If your local macro package does not contain this extension,
+just include those lines at the beginning of your file.
+Here is a simple
+.IR troff (1)
+input file, which we will assume is named
+.IR sample.txt :
+.LP
+.RS
+.nf
+\fC\&This is a sample file to test the \\fImakeindex\\fP(1L)
+\&program, and see
+\&.IX {indexing!programs!C language}
+\&.IX {makeindex@\\fImakeindex\\fP(1L)}
+\&.bp
+\&.rs
+\&.IX {Knuth}
+\&.IX {typesetting!computer-aided}
+\&how well it functions in the \\fItroff\\fP(1) environment.\fP
+.fi
+.RE
+.LP
+Note that index entries are indicated by the
+.B .IX
+macro, which
+causes the following text to be written to
+.I stdout
+along with the
+current page number.
+.\"---------------------------------------------------------------------
+.SS "CREATING THE INDEX FILE IN THE BOURNE SHELL"
+To create an input file for
+.IR makeindex ,
+.B "in the Bourne shell"
+environment, do the equivalent at your site of the command:
+.LP
+.nf
+\fCpsroff -ms -Tpsc -t sample.txt > /dev/null 2> sample.tmp\fP
+.fi
+.LP
+Some sites will require
+.I ditroff
+instead of
+.IR psroff .
+To filter out any genuine error messages, invoke
+.IR grep (1):
+.LP
+.RS
+\fCgrep '^IX: ' sample.tmp > sample.idx\fP
+.RE
+.\"---------------------------------------------------------------------
+.SS "CREATING THE INDEX FILE USING \*(Uc ENHANCED TROFF/\*(Ts"
+With \*(Uc Enhanced troff/\*(Ts, the
+.B \-I
+option of
+.IR psroff (1L)
+can produce both formatter output and an index file:
+.LP
+.RS
+\fCpsroff -ms -I sample.inp -Tpsc sample.txt\fP
+.RE
+.LP
+If it is wished to suppress the formatter output:
+.RS
+.LP
+.nf
+\fCpsroff -ms -I sample.inp -Tpsc -t sample.txt > /dev/null\fP
+.fi
+.RE
+.\"---------------------------------------------------------------------
+.SS "COMPLETING THE INDEX"
+Any of the above procedures leaves the input for
+.I makeindex
+in
+.IR sample.inp .
+The next step is to invoke
+.IR makeindex :
+.LP
+.RS
+\fCmakeindex -s sample.ist sample.idx\fP
+.RE
+.LP
+This leaves
+.IR troff (1)-ready
+output in the file
+.IR sample.ind .
+.\"=====================================================================
+.SH "ORDERING"
+By default,
+.I makeindex
+assumes
+.IR "word ordering" ;
+if the
+.B \-l
+option is in effect,
+.I "letter ordering"
+is used. In word ordering, a blank precedes any letter in the
+alphabet, whereas in letter ordering, it does not count at all. This
+is illustrated by the following example:
+.LP
+.RS
+\fIword order letter order\fP
+.br
+sea lion seal
+.br
+seal sea lion
+.RE
+.LP
+Numbers are always sorted in numeric order. For instance,
+.LP
+.RS
+9 (nine), 123
+.br
+10 (ten), see Derek, Bo
+.RE
+.LP
+Letters are first sorted without regard to case; when words are
+identical, the uppercase version precedes its lowercase counterpart.
+.LP
+A special symbol is defined here to be any character not appearing in
+the union of digits and the English alphabetic characters. Patterns
+starting with special symbols precede numbers, which precede patterns
+starting with letters. As a special case, a string starting with a
+digit but mixed with non-digits is considered to be a pattern starting
+with a special character.
+.\"=====================================================================
+.SH "SPECIAL EFFECTS"
+Entries such as
+.LP
+.RS
+.nf
+\fC\\indexentry{alpha}{1}
+\\indexentry{alpha!beta}{3}
+\\indexentry{alpha!beta!gamma}{10}\fP
+.fi
+.RE
+.LP
+in the input file will be converted to
+.LP
+.RS
+.nf
+\fC\\item alpha, 1
+\0\0\0\\subitem beta, 3
+\0\0\0\0\0\0\\subsubitem gamma, 10\fP
+.fi
+.RE
+.LP
+in the output index file.
+Notice that the
+.B level
+symbol (`!') is used above to delimit
+hierarchical levels.
+.LP
+It is possible to make an item appear in a designated form by
+using the
+.B actual
+(`@') operator. For instance,
+.LP
+.RS
+\fC\\indexentry{alpha@{\\it alpha\\/}}{1}\fP
+.RE
+.LP
+will become
+.LP
+.RS
+\fC\\item {\\it alpha\\/}, 1\fP
+.RE
+.LP
+after processing. The pattern preceding `@' is
+used as sort key, whereas the one following it is written to the
+output file. Note that two appearances of the same key, one with and
+one without the
+.B actual
+operator, are regarded as
+.I distinct
+entries.
+.LP
+The item, subitem, and subsubitem fields may have individual sort keys:
+.LP
+.RS
+.nf
+\fC\\indexentry{aa@{\\it aa\\/}!bb@{\\it bb\\/}!cc@{\\it cc\\/}}{1}\fP
+.fi
+.RE
+.LP
+This will be converted to
+.LP
+.RS
+.nf
+\fC\\item {\\it aa}, 1
+\0\0\0\\subitem {\\it bb}, 3
+\0\0\0\0\0\0\\subsubitem {\\it cc}, 10\fP
+.fi
+.RE
+.LP
+It is possible to encapsulate a page number with a designated
+command using the
+.B encap
+(`|') operator:
+.LP
+.RS
+\fC\\indexentry{alpha|bold}{1}\fP
+.RE
+.LP
+will be converted to
+.LP
+.RS
+\fC\\item alpha, \\bold{1}\fP
+.RE
+.LP
+where, with a suitable definition for \*(TX, \fC\\bold{n}\fP
+will expand to \fC{\\bf n}\fP.
+In this example, the three output attributes associated with page
+encapsulation
+.BR encap_prefix ,
+.BR encap_infix ,
+and
+.BR encap_suffix ,
+correspond to backslash, left brace, and right brace, respectively.
+This mechanism allows page numbers to be set in different fonts. For
+example, the page where the definition of a keyword appears can be in
+one font, the location of a primary example can be in another font,
+and other appearances in yet a third font.
+.LP
+The
+.B encap
+operator can also be used to create cross references in
+the index:
+.LP
+.RS
+\fC\\indexentry{alpha|see{beta}}{1}\fP
+.RE
+.LP
+will become
+.LP
+.RS
+\fC\\item alpha, \\see{beta}{1}\fP
+.RE
+.LP
+in the output file, where
+.LP
+.RS
+\fC\\see{beta}{1}\fP
+.RE
+.LP
+will expand to
+.LP
+.RS
+\fC{\\it see\\/} beta\fP
+.RE
+.LP
+Note that in a cross reference like this the page number disappears.
+.LP
+A pair of
+.B encap
+concatenated with
+.B range_open
+(`|(') and
+.B range_close
+(`|)') creates an explicit page range:
+.LP
+.RS
+.nf
+\fC\\indexentry{alpha|(}{1}
+\\indexentry{alpha|)}{5}\fP
+.fi
+.RE
+.LP
+will become
+.LP
+.RS
+\fC\\item alpha, 1\(em5\fP
+.RE
+.LP
+Intermediate pages indexed by the same key will be merged into the
+range implicitly. This is especially useful when an entire section
+about a particular subject is to be indexed, in which case only the
+range opening and closing operators need to be inserted at the
+beginning and end of the section. Explicit page range formation can
+also include an extra command to set the page range in a designated
+font:
+.LP
+.RS
+.nf
+\fC\\indexentry{alpha|(bold}{1}
+\\indexentry{alpha|)}{5}\fP
+.fi
+.RE
+.LP
+will become
+.LP
+.RS
+\fC\\item alpha, \\bold{1--5}\fP
+.RE
+.LP
+Several potential problems are worth mentioning. First, entries like
+.LP
+.RS
+.nf
+\fC\\indexentry{alpha|(}{1}
+\\indexentry{alpha|bold}{3}
+\\indexentry{alpha|)}{5}\fP
+.fi
+.RE
+.LP
+will be interpreted as
+.LP
+.RS
+\fC\\item alpha, \\bold{3}, 1--5\fP
+.RE
+.LP
+but with a warning message in the transcript about encountering an
+inconsistent page encapsulator.
+An explicit range beginning in a Roman page number and ending
+in Arabic is also considered an error. In this instance, (if
+possible) the range is broken into two subranges, one in Roman and the
+other in Arabic. For instance,
+.LP
+.RS
+.nf
+\fC\\indexentry{alpha|(}{i}
+\\indexentry{alpha}{iv}
+\\indexentry{alpha}{3}
+\\indexentry{alpha|)}{7}\fP
+.fi
+.RE
+.LP
+will be turned into
+.LP
+.RS
+\fC\\item alpha, i--iv, 3--7\fP
+.RE
+.LP
+with a warning message in the transcript file complaining about an
+illegal range formation.
+.LP
+Finally, every special symbol mentioned in this section may be
+escaped by the
+.B quote
+operator (`"'). Thus
+.LP
+.RS
+\fC\\indexentry{alpha"@beta}{1}\fP
+.RE
+.LP
+will actually become
+.LP
+.RS
+\fC\\item alpha@beta, 1\fP
+.RE
+.LP
+as a result of executing
+.IR makeindex .
+The quoting power of
+.B quote
+is eliminated if it is immediately preceded
+by
+.B escape
+(`\\'). For example,
+.LP
+.RS
+\fC\\indexentry{f\\"ur}{1}\fP
+.RE
+.LP
+becomes
+.LP
+.RS
+\fC\\item f\\"ur, 1\fP
+.RE
+.LP
+which represents an umlaut-accented `u' to the \*(TX family of
+processors.
+.PP
+From version 2.11 of
+.IR makeindex ,
+the
+.B quote
+operator may quote
+.I any
+character in the range 1 .\|.\|. 255. Character 0 is excluded because
+it is used internally in the
+.I makeindex
+source code as a string terminator. With this change, sort keys can
+be created for all eight-bit characters except 0. The sorting order
+is
+.RS
+.nf
+
+punctuation characters (in ASCII order),
+digits,
+control characters (1 .\|.\|. 31),
+space (32),
+letters (ignoring case),
+characters 127 .\|.\|. 255.
+
+.fi
+.RE
+Here is an example showing the indexing of all printable ASCII
+characters other than letters and digits, assuming the default
+\*(TX format. For convenience, the page number references are
+the corresponding ASCII ordinal values.
+.RS
+.nf
+
+\fC\\indexentry{" @" (space)}{32}
+\\indexentry{"!@"! (exclamation point)}{33}
+\\indexentry{""@"" (quotation mark)}{34}
+\\indexentry{"#@"\\# (sharp sign)}{35}
+\\indexentry{"$@"\\$ (dollar sign)}{36}
+\\indexentry{"%@"\\% (percent sign)}{37}
+\\indexentry{"&@"\\& (ampersand)}{38}
+\\indexentry{"<@"$<$ (left angle bracket)}{60}
+\\indexentry{"=@"= (equals)}{61}
+\\indexentry{">@"$>$ (right angle bracket)}{62}
+\\indexentry{"?@"? (query)}{63}
+\\indexentry{"@@"@ (at sign)}{64}
+\\indexentry{"[@"[ (left square bracket)}{91}
+\\indexentry{"\\@"\\verb=\\= (backslash)}{92}
+\\indexentry{"]@"] (right square bracket)}{93}
+\\indexentry{"^@"\\verb=^= (caret)}{94}
+\\indexentry{"_@"\\verb=_= (underscore)}{95}
+\\indexentry{"`@"\\verb=~= (grave accent)}{96}
+\\indexentry{"{@"\\"{ (left brace)}{123}
+\\indexentry{"|@"\\verb="|= (vertical bar)}{124}
+\\indexentry{"}@"\\"} (right brace)}{125}
+\\indexentry{"~@"\\verb=~= (tilde)}{126}\fP
+
+.fi
+.RE
+Characters in the actual fields following the `@' character which
+have special significance to \*(TX must be represented as control
+sequences, or as math mode characters. Note particularly how the
+entries for the at sign, left and right braces, and the vertical
+bar, are coded. The index file output by
+.I makeindex
+for this example looks like this:
+.RS
+.nf
+
+\fC\\begin{theindex}
+
+ \\item ! (exclamation point), 33
+ \\item " (quotation mark), 34
+ \\item \\# (sharp sign), 35
+ \\item \\$ (dollar sign), 36
+ \\item \\% (percent sign), 37
+ \\item \\& (ampersand), 38
+ \\item $<$ (left angle bracket), 60
+ \\item = (equals), 61
+ \\item $>$ (right angle bracket), 62
+ \\item ? (query), 63
+ \\item @ (at sign), 64
+ \\item [ (left square bracket), 91
+ \\item \\verb=\\= (backslash), 92
+ \\item ] (right square bracket), 93
+ \\item \\verb=^= (caret), 94
+ \\item \\verb=_= (underscore), 95
+ \\item \\verb=~= (grave accent), 96
+ \\item \\{ (left brace), 123
+ \\item \\verb=|= (vertical bar), 124
+ \\item \\} (right brace), 125
+ \\item \\verb=~= (tilde), 126
+
+ \\indexspace
+
+ \\item (space), 32
+
+\\end{theindex}\fP
+.fi
+.RE
+.\"=====================================================================
+.SH "FILES"
+.TP 2.2i
+.I makeindex
+executable file
+.TP
+.I $TEXMFMAIN/tex/plain/misc/idxmac.tex
+\*(TX macro file used by
+.I makeindex
+.TP
+.I $TEXMFMAIN/tex/latex/base/makeidx.sty
+\*(TX macro file used by
+.I makeindex
+.\"=====================================================================
+.SH "SEE ALSO"
+ditroff(1L),
+latex(1L),
+make.index (1L),
+qsort(3),
+tex(1L),
+troff(1L)
+.LP
+.IR "\*(Uc Enhanced troff/\*(Ts \(em An Overview" ,
+R. P. C. Rodgers and Conrad Huang, LSMB Technical Report 90-2,
+UCSF School of Pharmacy, San Francisco, 1990.
+.LP
+.IR "Index Preparation and Processing" ,
+Pehong Chen and Michael A. Harrison,
+.IR "Software: Practice and Experience" ,
+.BR 19 (9),
+897\(en915,
+September 1988.
+.LP
+.IR "Automating Index Preparation" ,
+Pehong Chen and Michael A. Harrison. Technical Report 87/347,
+Computer Science Division, University of California, Berkeley, 1987
+(a \*(LX document supplied with
+.IR makeindex ).
+.LP
+.IR "MakeIndex: An Index Processor for \*(LX" ,
+Leslie Lamport, February 1987 (a \*(LX document supplied
+with
+.IR makeindex ).
+.LP
+.IR "Tools for Printing Indices" ,
+Jon L. Bentley and Brian W. Kernighan,
+.IR "Electronic Publishing \(em Origination, Dissemination, and Design" ,
+1(1), 3\(en18, June 1988 (also available as: Computing Science
+Technical Report No. 128,
+AT&T Bell Laboratories, Murray Hill, NJ 07974, 1986).
+.\"=====================================================================
+.SH "AUTHOR"
+Pehong Chen, Chen & Harrison International Systems, Inc.
+Palo Alto, California, USA <chen@renoir.berkeley.edu>.
+.br
+Manual page extensively revised and corrected, and
+.IR troff (1)
+examples created by Rick P. C. Rodgers, UCSF School
+of Pharmacy <rodgers@cca.ucsf.edu>.
+.\"=====================================================================
+.SH ACKNOWLEDGMENTS
+Leslie Lamport contributed significantly to the design.
+Michael Harrison provided valuable comments and suggestions.
+Nelson Beebe improved on the portable version, and maintains the
+source distribution for the \*(TX Users Group.
+Andreas Brosig contributed to the German word ordering.
+The modification to the
+.B \-ms
+macros was derived from a method proposed by Ravi Sethi of AT&T
+Bell Laboratories.
+The
+.I LOG
+and
+.I CONTRIB
+files in the
+.I makeindex
+source distribution record other contributions.
diff --git a/Master/texmf/doc/man/man1/makeinfo.1 b/Master/texmf/doc/man/man1/makeinfo.1
new file mode 100644
index 00000000000..7b46491e0a6
--- /dev/null
+++ b/Master/texmf/doc/man/man1/makeinfo.1
@@ -0,0 +1,205 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.34.
+.TH MAKEINFO "1" "December 2004" "makeinfo 4.8" "User Commands"
+.SH NAME
+makeinfo \- translate Texinfo documents
+.SH SYNOPSIS
+.B makeinfo
+[\fIOPTION\fR]... \fITEXINFO-FILE\fR...
+.SH DESCRIPTION
+Translate Texinfo source documentation to various other formats, by default
+Info files suitable for reading online with Emacs or standalone GNU Info.
+.SS "General options:"
+.TP
+\fB\-\-error\-limit\fR=\fINUM\fR
+quit after NUM errors (default 100).
+.TP
+\fB\-\-force\fR
+preserve output even if errors.
+.TP
+\fB\-\-help\fR
+display this help and exit.
+.TP
+\fB\-\-no\-validate\fR
+suppress node cross\-reference validation.
+.TP
+\fB\-\-no\-warn\fR
+suppress warnings (but not errors).
+.TP
+\fB\-\-reference\-limit\fR=\fINUM\fR
+warn about at most NUM references (default 1000).
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+explain what is being done.
+.TP
+\fB\-\-version\fR
+display version information and exit.
+.SS "Output format selection (default is to produce Info):"
+.TP
+\fB\-\-docbook\fR
+output Docbook XML rather than Info.
+.TP
+\fB\-\-html\fR
+output HTML rather than Info.
+.TP
+\fB\-\-xml\fR
+output Texinfo XML rather than Info.
+.TP
+\fB\-\-plaintext\fR
+output plain text rather than Info.
+.SS "General output options:"
+.TP
+\fB\-E\fR, \fB\-\-macro\-expand\fR FILE
+output macro\-expanded source to FILE.
+ignoring any @setfilename.
+.TP
+\fB\-\-no\-headers\fR
+suppress node separators, Node: lines, and menus
+from Info output (thus producing plain text)
+or from HTML (thus producing shorter output);
+also, write to standard output by default.
+.TP
+\fB\-\-no\-split\fR
+suppress splitting of Info or HTML output,
+generate only one output file.
+.TP
+\fB\-\-number\-sections\fR
+output chapter and sectioning numbers.
+.TP
+\fB\-o\fR, \fB\-\-output\fR=\fIFILE\fR
+output to FILE (directory if split HTML),
+.SS "Options for Info and plain text:"
+.TP
+\fB\-\-enable\-encoding\fR
+output accented and special characters in
+Info output based on @documentencoding.
+.TP
+\fB\-\-fill\-column\fR=\fINUM\fR
+break Info lines at NUM characters (default 72).
+.TP
+\fB\-\-footnote\-style\fR=\fISTYLE\fR
+output footnotes in Info according to STYLE:
+`separate' to put them in their own node;
+`end' to put them at the end of the node
+.IP
+in which they are defined (default).
+.TP
+\fB\-\-paragraph\-indent\fR=\fIVAL\fR
+indent Info paragraphs by VAL spaces (default 3).
+If VAL is `none', do not indent; if VAL is
+`asis', preserve existing indentation.
+.TP
+\fB\-\-split\-size\fR=\fINUM\fR
+split Info files at size NUM (default 300000).
+.SS "Options for HTML:"
+.TP
+\fB\-\-css\-include\fR=\fIFILE\fR
+include FILE in HTML <style> output;
+read stdin if FILE is \-.
+.SS "Options for XML and Docbook:"
+.TP
+\fB\-\-output\-indent\fR=\fIVAL\fR
+indent XML elements by VAL spaces (default 2).
+If VAL is 0, ignorable whitespace is dropped.
+.SS "Input file options:"
+.TP
+\fB\-\-commands\-in\-node\-names\fR
+allow @ commands in node names.
+.TP
+\fB\-D\fR VAR
+define the variable VAR, as with @set.
+.TP
+\fB\-I\fR DIR
+append DIR to the @include search path.
+.TP
+\fB\-P\fR DIR
+prepend DIR to the @include search path.
+.TP
+\fB\-U\fR VAR
+undefine the variable VAR, as with @clear.
+.SS "Conditional processing in input:"
+.TP
+\fB\-\-ifdocbook\fR
+process @ifdocbook and @docbook even if
+not generating Docbook.
+.TP
+\fB\-\-ifhtml\fR
+process @ifhtml and @html even if not generating HTML.
+.TP
+\fB\-\-ifinfo\fR
+process @ifinfo even if not generating Info.
+.TP
+\fB\-\-ifplaintext\fR
+process @ifplaintext even if not generating plain text.
+.TP
+\fB\-\-iftex\fR
+process @iftex and @tex; implies \fB\-\-no\-split\fR.
+.TP
+\fB\-\-ifxml\fR
+process @ifxml and @xml.
+.TP
+\fB\-\-no\-ifdocbook\fR
+do not process @ifdocbook and @docbook text.
+.TP
+\fB\-\-no\-ifhtml\fR
+do not process @ifhtml and @html text.
+.TP
+\fB\-\-no\-ifinfo\fR
+do not process @ifinfo text.
+.TP
+\fB\-\-no\-ifplaintext\fR
+do not process @ifplaintext text.
+.TP
+\fB\-\-no\-iftex\fR
+do not process @iftex and @tex text.
+.TP
+\fB\-\-no\-ifxml\fR
+do not process @ifxml and @xml text.
+.IP
+Also, for the \fB\-\-no\-ifFORMAT\fR options, do process @ifnotFORMAT text.
+.IP
+The defaults for the @if... conditionals depend on the output format:
+if generating HTML, \fB\-\-ifhtml\fR is on and the others are off;
+if generating Info, \fB\-\-ifinfo\fR is on and the others are off;
+if generating plain text, \fB\-\-ifplaintext\fR is on and the others are off;
+if generating XML, \fB\-\-ifxml\fR is on and the others are off.
+.SH EXAMPLES
+.TP
+makeinfo foo.texi
+write Info to foo's @setfilename
+.TP
+makeinfo \fB\-\-html\fR foo.texi
+write HTML to @setfilename
+.TP
+makeinfo \fB\-\-xml\fR foo.texi
+write Texinfo XML to @setfilename
+.TP
+makeinfo \fB\-\-docbook\fR foo.texi
+write DocBook XML to @setfilename
+.TP
+makeinfo \fB\-\-no\-headers\fR foo.texi
+write plain text to standard output
+.IP
+makeinfo \fB\-\-html\fR \fB\-\-no\-headers\fR foo.texi write html without node lines, menus
+makeinfo \fB\-\-number\-sections\fR foo.texi write Info with numbered sections
+makeinfo \fB\-\-no\-split\fR foo.texi write one Info file however big
+.SH "REPORTING BUGS"
+Email bug reports to bug\-texinfo@gnu.org,
+general questions and discussion to help\-texinfo@gnu.org.
+Texinfo home page: http://www.gnu.org/software/texinfo/
+.SH COPYRIGHT
+Copyright \(co 2004 Free Software Foundation, Inc.
+There is NO warranty. You may redistribute this software
+under the terms of the GNU General Public License.
+For more information about these matters, see the files named COPYING.
+.SH "SEE ALSO"
+The full documentation for
+.B makeinfo
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B makeinfo
+programs are properly installed at your site, the command
+.IP
+.B info makeinfo
+.PP
+should give you access to the complete manual.
diff --git a/Master/texmf/doc/man/man1/makempx.1 b/Master/texmf/doc/man/man1/makempx.1
new file mode 100644
index 00000000000..fe968665fb3
--- /dev/null
+++ b/Master/texmf/doc/man/man1/makempx.1
@@ -0,0 +1,89 @@
+.TH MAKEMPX 1 "4 January 1998" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MP MetaPost
+.if t .ds MP MetaPost
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+makempx \- typeset labels in MetaPost pictures with TeX or Troff
+.SH SYNOPSIS
+.B makempx
+.RI [ --tex | --troff ]
+.I mpfile mpxfile
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+If
+.I mpxfile
+is older than
+.IR mpfile ,
+translate the labels from the \*(MP input file
+.I mpfile
+to low-level commands in
+.IR MPXFILE ,
+by running
+.BR "mpto -tex" ,
+.BR tex ,
+and
+.B dvitomp
+by default; or, if
+.B -troff
+is specified,
+.BR "mpto -troff" ,
+.BR "eqn -d\e$\e$ | troff -Tpost" ,
+and
+.BR dmp .
+.PP
+The current directory is used for writing temporary files. Errors are
+left in
+.IR mpxerr.{tex,log,dvi} .
+.PP
+If the file named in
+.I $MPTEXPRE
+(mptexpre.tex by default) exists, it is prepended to the output in tex
+mode.
+.PP
+.B makempx
+is typically called by
+.BR mpost ,
+not from the command line.
+.\"=====================================================================
+.SH OPTIONS
+.B makempx
+accepts the following options:
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.B --tex
+.rb
+Assume input file contains \*(TX commands.
+.TP
+.B --troff
+.rb
+Assume input file contains Troff commands.
+.TP
+.B --version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR mpost (1),
+.BR mpto (1).
diff --git a/Master/texmf/doc/man/man1/makempy.1 b/Master/texmf/doc/man/man1/makempy.1
new file mode 100644
index 00000000000..02cae248c54
--- /dev/null
+++ b/Master/texmf/doc/man/man1/makempy.1
@@ -0,0 +1,60 @@
+.TH makempy "1" "May 2004" "teTeX " "ConTeXt"
+.SH NAME
+makempy \- Helper script for conversion of (PDF or PostScript) text to
+\fBMetapost\fP graphics
+.PP
+.SH "SYNOPSIS"
+\fBmakempy\fP \fIfilenam\fP
+.PP
+.SH DESCRIPTION
+.PP
+\fBmakempy\fP takes \fBMetapost\fP output files (*\&.mpo) and
+translates them to *\&.mpy files. In order to include text as a
+graphic into a file typeset with (Con)TeX(t), you extract the text
+from Postscript of PDF files using \fBpdftops\fP and \fBpstoedit\fP,
+creating a Metapost input file.
+.PP
+This file can then be processed by \fBmakempy\fP. The \fBmakempy\fP
+script does its work without user intervention. When it deduces that
+there are no changes, it will not run at all, otherwise it will report
+its steps and/or encountered error.
+.SH "OPTIONS"
+.IP
+.IP "\fB--help\fP"
+returns some basic help information
+.IP
+.IP "\fB--silent\fP"
+don t report status messages
+.IP
+.IP "\fB--force\fP"
+always process the file (no checksum test)
+.IP
+.IP "\fB--noclean\fP"
+don t remove temporary files when finished
+.IP
+.IP "\fB--acrobat\fP"
+use ACROBAT for conversion (only unix)
+.IP
+.IP "\fB--pdftops\fP"
+use PDFTOPS for conversion
+.IP
+.IP "\fB--ghostscript\fP"
+use GHOSTSCRIPT for conversion
+.IP
+.SH "VARIABLES"
+.PP
+When set, the environment variables GS and GS_PROG will be used to
+identify GHOSTSCRIPT. If needed, the names of the other programs that
+are used can be set with PDFTOPS, ACROREAD and PSTOEDIT.
+.HP
+.SH "SEE ALSO"
+.PP
+\fBtexexec\fP(1)\&.
+.PP
+The makempy manual, \fImmakempy\&.pdf\fP\&.
+.PP
+.SH "AUTHOR"
+.IP
+This manual page was written by Frank Küster <frank@kuesterei\&.ch>,
+for the Debian GNU/Linux system\&. It may be used and modified by
+others without contacting the author\&.
diff --git a/Master/texmf/doc/man/man1/mf-nowin.1 b/Master/texmf/doc/man/man1/mf-nowin.1
new file mode 120000
index 00000000000..48261aa3d6e
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mf-nowin.1
@@ -0,0 +1 @@
+mf.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/mf.1 b/Master/texmf/doc/man/man1/mf.1
new file mode 100644
index 00000000000..9909f89db14
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mf.1
@@ -0,0 +1,501 @@
+.\" t
+.TH MF 1 "10 November 2001" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if n .ds WB Web
+.if t .ds WB W\s-2EB\s0
+.\"=====================================================================
+.SH NAME
+mf, mf-nowin, inimf, virmf \- Metafont, a language for font and logo design
+.SH SYNOPSIS
+.B mf
+.RI [ options ]
+.RI [ commands ]
+.\"=====================================================================
+.SH DESCRIPTION
+\*(MF reads the program in the specified files
+and outputs font rasters (in
+.I gf
+format) and font metrics (in
+.I tfm
+format). The \*(MF
+language is described in
+.IR "The \*(MF\^book" .
+.PP
+Like
+\*(TX, \*(MF
+is normally used with a large body of precompiled macros, and font generation
+in particular requires the support of several macro files. This
+version of \*(MF looks at its command line to see what name it was
+called under. Both
+.B inimf
+and
+.B virmf
+are symlinks to the
+.B mf
+executable. When called as
+.BR inimf
+(or when the
+.B -ini
+option is given) it can be used to precompile macros into a
+.I .base
+file. When called as
+.B virmf
+it will use the
+.I plain
+base. When called under any other name, \*(MF will use that name as
+the name of the base to use. For example, when called as
+.B mf
+the
+.I mf
+base is used, which is identical to the
+.I plain
+base. Other bases than
+.I plain
+are rarely used.
+.PP
+The
+.I commands
+given on the command line to the \*(MF program are passed to it as the
+first input line. (But it is often easier to type extended arguments
+as the first input line, since UNIX shells tend to gobble up or
+misinterpret \*(MF's favorite symbols, like semicolons, unless you
+quote them.) As described in
+.IR "The \*(MF\^book" ,
+that first line should begin with a filename, a
+.RI \e controlsequence ,
+or a
+.IR &basename .
+.PP
+The normal usage is to say
+.IP
+\fBmf\ \fP '\\\|mode=<printengine>\^;\^ [\^mag=magstep(\fI\^n\fP\^)\^;\^]' input\ \^\fI font \fP
+.PP
+to start processing
+.IR font.mf .
+The single quotes are the best way of keeping the Unix
+shell from misinterpreting the semicolons and
+from removing the \\ character, which is needed here to
+keep \*(MF from thinking that you want to produce a font called
+.IR mode .
+(Or you can just say
+.I mf
+and give the other stuff on the next line, without quotes.) Other
+control sequences, such as
+.I batchmode
+(for silent operation) can also appear.
+The name
+.I font
+will be the ``jobname'', and is used in forming
+output file names.
+If \*(MF doesn't get a file name in the first line,
+the jobname is
+.IR mfput .
+The default extension,
+.IR .mf ,
+can be overridden by specifying an extension explicitly.
+.PP
+A log of error messages goes into the file \fIjobname\fP\fB\^.\^\fP\fIlog\fP.
+The output files are \fIjobname\fP\fB\^.\^\fP\fItfm\fP and
+\fIjobname\fP\fB\^.\^\fP\fI<\fP\^number\^\fI>gf\fP, where <number> depends on
+the resolution and magnification of the font. The
+.I mode
+in this
+example is shown generically as <printengine>, a symbolic term for which
+the name of an actual device or, most commonly, the name
+.I localfont
+(see below) must
+be substituted. If the mode is not specified or is not valid for your
+site, \*(MF will default to
+.I proof
+mode which produces
+large character images for use in font design and refinement. Proof
+mode can be recognized by the suffix
+.I .2602gf
+after the jobname. Examples of proof mode output can be found
+in
+.I "Computer Modern Typefaces"
+(Volume E of
+.IR "Computers and Typesetting" ).
+The system of
+.I magsteps
+is identical to the system used by
+\*(TX,
+with values generally in the range 0.5, 1.0, 2.0, 3.0, 4.0 and 5.0.
+A listing of
+.I gf
+numbers for 118-dpi, 240-dpi and 300-dpi fonts
+is shown below.
+.TS
+tab(:);
+c c c c
+l l l l.
+MAGSTEP:118 dpi:240 dpi:300 dpi
+mag=magstep(0):118:240:300
+mag=magstep(0.5):129:263:329
+mag=magstep(1):142:288:360
+mag=magstep(2):170:346:432
+mag=magstep(3):204:415:518
+mag=magstep(4):245:498:622
+mag=magstep(5):294:597:746
+.TE
+.PP
+Magnification can also be specified not as a magstep but as an
+arbitrary value, such as 1.315, to create special character sizes.
+.PP
+Before font production can begin, it is necessary to set up the
+appropriate base files. The minimum set of components for font
+production for a given print-engine is the
+.I plain.mf
+macro file
+and the local
+.I mode_def
+file. The macros in
+.I plain.mf
+can be
+studied in an appendix to the
+.IR "\*(MF\^book" ;
+they were developed by Donald E. Knuth, and this file should never be
+altered except when it is officially upgraded.
+Each
+.I mode_def
+specification helps adapt fonts to a particular print-engine.
+There is a regular discussion of
+.IR mode_def s
+in
+.IR TUGboat ,
+the journal of the
+\*(TX
+Users Group.
+The local ones in use on this computer should be in
+.IR modes.mf .
+.PP
+The
+.I e
+response to \*(MF\|'s error-recovery mode invokes the
+system default
+editor at the erroneous line of the source file.
+There is an environment variable, MFEDIT,
+that overrides the default editor.
+It should contain a string with "%s" indicating where the
+filename goes and "%d" indicating where the decimal linenumber (if any) goes.
+For example, an MFEDIT string for the
+.B vi
+editor can be set with the
+.B csh
+command
+.RS
+\fIsetenv MFEDIT "vi +%d %s"\fP
+.RE
+.PP
+A convenient file in the library is
+.IR null.mf ,
+containing nothing.
+When
+.B mf
+can't find the file it thinks you want to input, it keeps
+asking you for another file name; responding `null' gets you out
+of the loop if you don't want to input anything.
+.\"=====================================================================
+.SH "ONLINE GRAPHICS OUTPUT"
+\*(MF can use most modern displays, so you can see its output
+without printing. Chapter 23 of
+.I "The \*(MF\^book"
+describes what you can do. This implementation of \*(MF uses
+environment variables to determine which display device you want to use.
+First it looks for a variable MFTERM, and then for TERM.
+If it can't find either, you get no online output. Otherwise, the value
+of the variable determines the device to use:
+.BR hp2627 ,
+.B sun
+(for old SunView),
+.BR tek ,
+.B uniterm
+(for an Atari ST Tek 4014 emulator),
+.B xterm
+(for either X10 or X11).
+Some of these devices may not be supported in all \*(MF
+executables; the choice is made at compilation time.
+.PP
+On some systems, there are two \*(MF binaries,
+.B mf
+and
+.BR mf-nowin .
+On those systems the
+.B mf
+binary supports graphics, while the
+.B mf-nowin
+binary does not. The
+.B mf-nowin
+binary is used by scripts like
+.B mktexpk
+where graphics support is a nuisance rather than something helpful.
+.\"=====================================================================
+.SH OPTIONS
+This version of \*(MF understands the following command line options.
+.TP
+.BI -base \ base
+.rb
+Use
+.I base
+as the name of the base to be used, instead of the name by which
+\*(MF was called or a
+.I %&
+line.
+.TP
+.B -file-line-error
+.rb
+Print error messages in the form
+.I file:line:error
+which is similar to the way many compilers format them.
+.TP
+.B -no-file-line-error
+.rb
+Disable printing error messages in the
+.I file:line:error
+style.
+.TP
+.B -file-line-error-style
+.rb
+This is the old name of the
+.B -file-line-error
+option.
+.TP
+.B -halt-on-error
+.rb
+Exit with an error code when an error is encountered during processing.
+.TP
+.B -help
+.rb
+Print help message and exit.
+.TP
+.B -ini
+.rb
+Be
+.BR inimf ,
+for dumping bases; this is implicitly true if the program is called
+as
+.BR inimf .
+.TP
+.BI -interaction \ mode
+.rb
+Sets the interaction mode. The mode can be one of
+.IR batchmode ,
+.IR nonstopmode ,
+.IR scrollmode ,
+and
+.IR errorstopmode .
+The meaning of these modes is the same as that of the corresponding
+commands.
+.TP
+.BI -jobname \ name
+.rb
+Use
+.I name
+for the job name, instead of deriving it from the name of the input file.
+.TP
+.BI -kpathsea-debug \ bitmask
+.rb
+Sets path searching debugging flags according to the bitmask. See the
+.I Kpathsea
+manual for details.
+.TP
+.BI -maketex \ fmt
+.rb
+Enable
+.RI mktex fmt ,
+where
+.I fmt
+must be
+.IR mf .
+.TP
+.BI -no-maketex \ fmt
+.rb
+Disable
+.RI mktex fmt ,
+where
+.I fmt
+must be
+.IR mf .
+.TP
+.BI -output-directory \ directory
+.rb Write output files in
+.I directory
+instead of the current directory. Look up input files in
+.I directory
+first, the along the normal search path.
+.TP
+.B -parse-first-line
+.rb
+If the first line of the main input file begins with
+.I %&
+parse it to look for a dump name or a
+.B -translate-file
+option.
+.TP
+.B -no-parse-first-line
+.rb
+Disable parsing of the first line of the main input file.
+.TP
+.BI -progname \ name
+.rb
+Pretend to be program
+.IR name .
+This affects both the format used and the search paths.
+.TP
+.B -recorder
+.rb
+Enable the filename recorder. This leaves a trace of the files opened
+for input and output in a file with extension
+.IR .fls .
+.TP
+.BI -translate-file \ tcxname
+.rb
+Use the
+.I tcxname
+translation table.
+.TP
+.B -version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH ENVIRONMENT
+See the Kpathsearch library documentation (the `Path specifications'
+node) for the details of how the environment variables are use when
+searching. The
+.B kpsewhich
+utility can be used to query the values of the variables.
+.PP
+If the environment variable
+TEXMFOUTPUT is set, \*(MF attempts to put its output
+files in it, if they cannot be put in the current directory. Again, see
+.BR tex (1).
+.TP
+MFINPUTS
+Search path for
+.I input
+and
+.I openin
+files.
+.TP
+MFEDIT
+Command template for switching to editor.
+.TP
+MFTERM
+Determines the online graphics display. If MFTERM is not set,
+and DISPLAY is set, the Metafont window support for X is used.
+(DISPLAY must be set to a valid X server specification, as usual.)
+If neither MFTERM nor DISPLAY is set, TERM is used to guess the window
+support to use.
+.\"=====================================================================
+.SH "FONT UTILITIES"
+A number of utility programs are available.
+The following is a partial list of available utilities and their purpose.
+Consult your local \*(MF guru for details.
+.br
+.TP \w'gftodvi'u+2n
+.B gftopk
+Takes a
+.I gf
+file and produces a more tightly packed
+.I pk
+font file.
+.TP
+.B gftodvi
+Produces proof sheets for fonts.
+.TP
+.B gftype
+Displays the contents of a
+.I gf
+file in mnemonics and/or images.
+.TP
+.B pktype
+Mnemonically displays the contents of a
+.I pk
+file.
+.TP
+.B mft
+Formats a source file as shown in
+.IR "Computer Modern Typefaces" .
+.\"=====================================================================
+.SH "FILES"
+.TP
+.I "mf.pool"
+Encoded text of \*(MF's messages.
+.TP
+.I *.base
+Predigested \*(MF base files.
+.TP
+.I $TEXMFMAIN/metafont/base/plain.mf
+The standard base.
+.TP
+.I $TEXMFMAIN/metafont/misc/modes.mf
+The file of
+.IR mode_def s
+for your site's various printers
+.\"=====================================================================
+.SH NOTES
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(MF can be found in the info manual
+.IR "Web2C: A TeX implementation" .
+.\"=====================================================================
+.SH BUGS
+On January 4, 1986 the ``final'' bug in \*(MF was discovered
+and removed. If an error still lurks in the code, Donald E. Knuth promises to
+pay a finder's fee which doubles every year to the first person who finds
+it. Happy hunting.
+.\"=====================================================================
+.SH "SUGGESTED READING"
+Donald E. Knuth,
+.I "The \*(MF\^book"
+(Volume C of
+.IR "Computers and Typesetting" ),
+Addison-Wesley, 1986, ISBN 0-201-13445-4.
+.br
+Donald E. Knuth,
+.I "\*(MF:\^ The Program"
+(Volume D of
+.IR "Computers and Typesetting" ),
+Addison-Wesley, 1986, ISBN 0-201-13438-1.
+.br
+Donald E. Knuth,
+.I Computer Modern Typefaces
+(Volume E of
+.IR "Computers and Typesetting" ),
+Addison-Wesley, 1986, ISBN 0-201-13446-2.
+.br
+.I TUGboat
+(the journal of the \*(TX Users Group).
+.\"=====================================================================
+.SH COMMENTS
+Warning: ``Type design can be hazardous to your other interests.
+Once you get hooked, you will develop intense feelings about letterforms;
+the medium will intrude on the messages that you read.
+And you will perpetually be thinking of improvements to the fonts that
+you see everywhere, especially those of your own design.''
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR gftopk (1),
+.BR gftodvi (1),
+.BR gftype (1),
+.BR mft (1),
+.BR pltotf (1),
+.BR tftopl (1).
+.\"=====================================================================
+.SH AUTHORS
+\*(MF was designed by Donald E. Knuth, who implemented it
+using his \*(WB system for Pascal programs. It was originally
+ported to Unix by Paul Richards at the University of Illinois at
+Urbana-Champaign. This page was mostly written by Pierre MacKay.
diff --git a/Master/texmf/doc/man/man1/mft.1 b/Master/texmf/doc/man/man1/mft.1
new file mode 100644
index 00000000000..db552fa1c4e
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mft.1
@@ -0,0 +1,134 @@
+.TH MFT 1 "14 December 1993" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+mft \- translate Metafont code to TeX code for prettyprinting
+.SH SYNOPSIS
+.B mft
+.I mf_file_name[.mf]
+[
+[
+.B \-c
+]
+or
+[
+.I change_file_name[.ch]
+]
+]
+[
+[
+.B \-s
+]
+or
+[
+.I style_file_name[.mft]
+]
+]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B mft
+program creates a \*(TX file from a \*(MF program.
+It takes appropriate care of typographic details like page
+layout and the use of indentation, italics, boldface, etc., as illustrated
+in the book
+.IR "Computer Modern Typefaces" .
+Special conventions in \*(MF comments allow you to control things that
+would not otherwise come out right; section 1 of the MFT source program
+in the
+.I \*(MFware
+report explains these rules.
+.PP
+The command line has one required file name and two optional file names.
+The required
+one is a \*(MF source file; there is also an optional change file
+(which works just as the change files to
+.BR tangle (1)
+and
+.BR weave (1)
+do)
+and an optional style file (which is prepended to everything).
+.PP
+A file name that doesn't contain a dot is always given an extension,
+either
+.I .mf
+(\*(MF) or
+.I .ch
+(change) or
+.I .mft
+(style). If no style file is specified, the style file
+.I plain.mft
+is automatically used. The
+.I change_file_name
+is not searched for using any paths. The
+.I .mf
+file is searched for using the MFINPUTS environment variable if you
+have set it, or else the system default. The style file is searched
+for using the TEXINPUTS environment variable. See
+.BR tex (1)
+for the details of the searching.
+.PP
+The output \*(TX file name is formed by using
+.I .tex
+in place of the extension of
+.IR mf_file_name .
+.\"=====================================================================
+.SH OPTIONS
+Specify command-line options
+.B \-c
+to suppress the reading of a change file, and
+.B \-s
+to suppress the reading of a style file.
+.\"=====================================================================
+.SH FILES
+.TP
+.I mftmac.tex
+\*(TX macros used by
+.B mft
+output.
+.TP
+.I plain.mft
+Default style file.
+.TP
+.I cmbase.mft
+Style file for Computer Modern.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR mf (1),
+.BR weave (1).
+.br
+Donald E. Knuth,
+.I Computer Modern Typefaces
+(Volume E of
+.IR "Computers and Typesetting" ),
+Addison-Wesley, 1986, ISBN 0-201-13446-2.
+.br
+Donald E. Knuth et al.,
+.IR \*(MFware .
+.\"=====================================================================
+.SH AUTHORS
+Donald E. Knuth wrote the program, and he ported it to Unix with the help of
+Pierre MacKay and the Unix port of
+.B weave
+by Howard Trickey and Pavel Curtis.
+The program is published in the
+.I \*(MFware
+technical report, available from the \*(TX Users Group.
diff --git a/Master/texmf/doc/man/man1/mkindex.1 b/Master/texmf/doc/man/man1/mkindex.1
new file mode 100644
index 00000000000..503b70020fd
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mkindex.1
@@ -0,0 +1,42 @@
+.TH "mkindex" "1" "September 2000" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+mkindex \- script to process LaTeX index and glossary files
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBmkindex\fP \fIBASENAME\fP[\&.idx] \&.\&.\&.
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBmkindex\fP runs \fBmakeindex\fP(1) on any index
+(\f(CW\&.idx\fP) or glossary (\f(CW\&.glo\fP) files created by TeXing the file
+\fI\fIBASENAME\fP\&.tex\fP\&.
+.PP
+.SH "FILES"
+.IP "\fIgind\&.ist\fP"
+MakeIndex index style file
+.IP
+.IP "\fIgglo\&.ist\fP"
+MakeIndex glossary style file
+.IP
+.PP
+.SH "SEE ALSO"
+.PP
+\fBmakeindex\fP(1)
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to <tetex@informatik\&.uni-hannover\&.de> (mailing list)\&.
+.PP
+.SH "AUTHOR"
+.PP
+Written by Thomas Esser
+<te@informatik\&.uni-hannover\&.de>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<c@eskimo\&.com>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/mkocp.1 b/Master/texmf/doc/man/man1/mkocp.1
new file mode 100644
index 00000000000..c35c967225e
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mkocp.1
@@ -0,0 +1,50 @@
+.TH "mkocp" "1" "September 2000" "Omega" "Omega"
+.PP
+.SH "NAME"
+mkocp \- frontend to \fBotp2ocp\fP(1)
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBmkocp\fP \fIOTPFILE\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBmkocp\fP is used to create or recreate Omega Compiled Process files
+(binary) from Omega Translation Process (text) files\&.
+.PP
+Omega Translation Processes are used to translate one character set to
+another and to choose between characters with one or more
+context-sensitive variants\&. OTPs could also be used to change the
+case or hyphenation of text\&.
+.PP
+OTPs are defined in text files, and compiled into binary code (OCPs)
+using \fBmkocp\fP (this script) or directly with \fBotp2ocp\fP(1)\&.
+.PP
+.SH "FILES"
+.IP "\fIOTPFILE\fP"
+An Omega Typesetting Process filter file\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBomega\fP(1), \fBotp2ocp\fP(1)\&.
+.PP
+\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&.
+.PP
+Web page: <http://www\&.gutenberg\&.eu\&.org/omega/>
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to <omega@ens\&.fr> (mailing list)\&.
+.PP
+.SH "AUTHOR"
+.PP
+\fBmkocp\fP is part of Omega\&. The primary authors of Omega are John Plaice
+<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous
+<yannis@fluxus-virus\&.com>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<cmc@debian\&.org>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/mkofm.1 b/Master/texmf/doc/man/man1/mkofm.1
new file mode 100644
index 00000000000..9c38a4301a6
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mkofm.1
@@ -0,0 +1,33 @@
+.TH "mkofm" "1" "September 2000" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+mkofm \- front end to \fBmktextfm\fP(1)
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBmkofm\fP \fIARGS\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBmkofm\fP takes all \fIARGS\fP and passes them to
+\fBmktextfm\fP(1)\&. For more information about appropriate
+arguments, see \fBmktextfm\fP(1)\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBmktextfm\fP(1)
+.PP
+.SH "BUGS"
+.PP
+None known\&.
+.PP
+.SH "AUTHOR"
+.PP
+Author unknown\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<cmc@debian\&.org>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/mktexfmt.1 b/Master/texmf/doc/man/man1/mktexfmt.1
new file mode 120000
index 00000000000..240dee18655
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mktexfmt.1
@@ -0,0 +1 @@
+fmtutil.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/mktexlsr.1 b/Master/texmf/doc/man/man1/mktexlsr.1
new file mode 100644
index 00000000000..ececa268140
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mktexlsr.1
@@ -0,0 +1,46 @@
+.TH MKTEXLSR 1 "4 January 1998" "Kpathsea 3.5.5"
+.\"=====================================================================
+.if n .ds MP MetaPost
+.if t .ds MP MetaPost
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+mktexlsr \- create ls-R databases
+.SH SYNOPSIS
+.B mktexlsr
+.RI [ directories ]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Kpathsea: A library for path searching" .
+.PP
+.B mktexlsr
+is used to generate the ls-R databases used by the kpathsea library.
+It will create them for the specified directories, or for a default
+list if no directories are specified.
+.\"=====================================================================
+.SH OPTIONS
+.B mktexlsr
+accepts the following options:
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.B --version
+.rb
+Print version information and exit.
diff --git a/Master/texmf/doc/man/man1/mktexmf.1 b/Master/texmf/doc/man/man1/mktexmf.1
new file mode 100644
index 00000000000..502a41ac325
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mktexmf.1
@@ -0,0 +1,59 @@
+.TH MKTEXMF 1 "4 January 1998" "Kpathsea 3.5.5"
+.\"=====================================================================
+.if n .ds MP MetaPost
+.if t .ds MP MetaPost
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+mktexmf \- create a Metafont source file
+.SH SYNOPSIS
+.B mktexmf
+.I font
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Kpathsea: A library for path searching" .
+.PP
+.B mktexmf
+is used to generate the \*(MF source file for
+.IR font ,
+if possible. For example,
+.I ecrm1200
+or
+.IR cmr11 .
+.PP
+The name of the generated file is printed on standard output.
+.PP
+.B mktexmf
+is typically called by other programs, rather than from the command
+line.
+.\"=====================================================================
+.SH OPTIONS
+.B mktexmf
+accepts the following options:
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.B --version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR mktexpk (1),
+.BR mktextfm (1).
diff --git a/Master/texmf/doc/man/man1/mktexpk.1 b/Master/texmf/doc/man/man1/mktexpk.1
new file mode 100644
index 00000000000..99a5a71cd3a
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mktexpk.1
@@ -0,0 +1,122 @@
+.TH MKTEXPK 1 "4 January 1998" "Kpathsea 3.5.5"
+.\"=====================================================================
+.if n .ds MP MetaPost
+.if t .ds MP MetaPost
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+mktexpk \- create a PK file for a font
+.SH SYNOPSIS
+.B mktexpk
+.RI [ options ]
+.I font
+.RI [ redirect ]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Kpathsea: A library for path searching" .
+.PP
+.B mktexpk
+is used to generate a
+.I pk
+file from the \*(MF source files or type1 sources for
+.IR font ,
+if possible.
+.PP
+If
+.I redirect
+is given, it must be string of the form
+.I >&n
+where
+.I n
+is the number of the file descriptor which is to receive, instead of
+standard output, the name of the generated file.
+.PP
+.B mktexpk
+is typically called by other programs, rather than from the command
+line.
+.\"=====================================================================
+.SH OPTIONS
+.B mktexpk
+accepts the following options:
+.TP
+.BI --bdpi \ num
+Set the base device resolution.
+.rb
+.TP
+.BI --dpi \ num
+Generate the font at resolution
+.IR num .
+.rb
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.BI --mag \ mag
+The \*(MF magnification that corresponds to the combination of
+.I bdpi
+and
+.I dpi
+that has been specified.
+.rb
+.TP
+.BI --mfmode \ mode
+The \*(MF mode to use.
+.rb
+.TP
+.BI --destdir \ dir
+A directory name. If the directory is absolute, it is used as-is.
+Otherwise, it is appended to the root destination directory set in the
+script.
+.rb
+.TP
+.B --version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH BUGS
+If the
+.I mode
+is not specified,
+.B mktexpk
+tries to determine it from
+.IR bdpi .
+The manner in which this is done is primitive. Since
+.I bpdi
+doesn't provide sufficient information to uniquely determine a
+.I mode
+it is strongly recommended that it be specified explicitly.
+.PP
+If the
+.I mode
+and
+.I bpdi
+don't match, the
+.I mode
+is discarded.
+.PP
+The
+.I dpi
+parameter is redundant, but is not checked for consistency. Worse,
+the program will fail if the wrong
+.I dpi
+is specified.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR mktexmf (1),
+.BR mktextfm (1).
diff --git a/Master/texmf/doc/man/man1/mktextfm.1 b/Master/texmf/doc/man/man1/mktextfm.1
new file mode 100644
index 00000000000..e8566899004
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mktextfm.1
@@ -0,0 +1,68 @@
+.TH MKTEXTFM 1 "4 January 1998" "Kpathsea 3.5.5"
+.\"=====================================================================
+.if n .ds MP MetaPost
+.if t .ds MP MetaPost
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+mktextfm \- create a TFM file for a font
+.SH SYNOPSIS
+.B mktextfm
+.RI [options]
+.I font
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Kpathsea: A library for path searching" .
+.PP
+.B mktextfm
+is used to generate a
+.I tfm
+file from the \*(MF source files for
+.IR font ,
+if possible. If
+.I destdir
+is given, the generated file will be installed there, otherwise a
+(rather complicated) heuristic is used.
+.PP
+The name of the generated file is printed on standard output.
+.PP
+.B mktextfm
+is typically called by other programs, rather than from the command
+line.
+.\"=====================================================================
+.SH OPTIONS
+.B mktextfm
+accepts the following options:
+.TP
+.BI --destdir \ dir
+.rb
+A directory name. If the directory is absolute, it is used as-is.
+Otherwise, it is appended to the root destination directory set in the
+script.
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.B --version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR mktexmf (1),
+.BR mktexpk (1).
diff --git a/Master/texmf/doc/man/man1/mmafm.1 b/Master/texmf/doc/man/man1/mmafm.1
new file mode 100644
index 00000000000..a837a4fa3c8
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mmafm.1
@@ -0,0 +1,183 @@
+.\" -*-nroff-*-
+.ds V 2.34
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.ds E " \-\-
+.if t .ds E \(em
+.de OP
+.BR "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de OA
+.IR "\fB\\$1\& \|\fI\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de OY
+.BI "\\$1\fR=" "\\$2\fR, " "\\$3\& " "\\$4" "\\$5" "\\$6"
+..
+.de OL
+.BI "\\$1\fR=" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de Sp
+.if n .sp
+.if t .sp 0.4
+..
+.de Es
+.Sp
+.RS 5
+.nf
+..
+.de Ee
+.fi
+.RE
+.PP
+..
+.TH MMAFM 1 "LCDF Typetools" "Version \*V"
+.SH NAME
+mmafm \- creates AFM font metrics for multiple master fonts
+'
+.SH SYNOPSIS
+.B mmafm
+\%[OPTIONS...]
+.I font
+'
+.SH DESCRIPTION
+.B Mmafm
+creates AFM font metrics for PostScript multiple master fonts by
+interpolation. You pass it an AMFM file (multiple master font metrics) and
+options specifying the design point you want, and it writes the resulting
+AFM file to the standard output.
+.PP
+Each
+.I font
+argument is either the filename of an AFM or AMFM font metrics file, or a
+PostScript font name. If you give a font name,
+.B mmafm
+will look up the actual font metrics file using the PSRESOURCEPATH
+environment variable. This colon-separated path is searched for `PSres.upr'
+files, an Adobe method for indexing PostScript resources.
+.PP
+You can also give the name of a multiple master font instance, like
+`MinionMM_367_400_12_'.
+.B Mmafm
+will parse the font name and create that instance for you. `PSres.upr'
+files must be set up for this to work.
+.PP
+Any multiple master font should be distributed with a single AMFM file and
+several AFM files (one for each master). For Myriad, for example, the AMFM
+file is MyriadMM.amfm and the AFM files are MyriadMM-LightCn.afm,
+MyriadMM-LightSemiEx.afm, MyriadMM-BlackCn.afm, and
+MyriadMM-BlackSemiEx.afm.
+.B Mmafm
+needs to find all these files to function. For fonts in the Adobe type
+library, you can download the necessary files from
+<http://www.lcdf.org/type>; look for the mm-metrics package.
+.PP
+You must always supply the AMFM file (or its font name) on the command
+line, but
+.B mmafm
+will look for any required AFM files you don't supply yourself. It tries
+the PSRESOURCEPATH environment variable, and also looks for files named
+`\fIFontName\fR.afm' or `\fIFontName\fR.AFM' in the directory that
+contained the AMFM file. (The Myriad filenames given above fit this
+pattern.)
+.PP
+.B Mmafm
+supports fonts with intermediate masters, like Adobe Jenson and Kepler. If
+your PSRESOURCEPATH environment variable is set up, it will handle these
+fonts automatically. Otherwise, you must first run
+.RB ` "mmpfb \-\-amcp\-info" '
+on the font outline files to create auxiliary AMCP files for these fonts.
+Each AMCP file should be in the same directory as its corresponding AMFM
+file and should have the same root filename, but with a `.amcp' extension
+instead of `.amfm'. See
+.M mmpfb 1
+for more information.
+'
+'
+.SH EXAMPLE
+'
+.nf
+% mmafm \-\-weight=400 \-\-width=600 MyriadMM.amfm > MyriadMM_400_600_.afm
+.fi
+'
+.SH OPTIONS
+Long options may be abbreviated to their unique prefixes.
+'
+.TP 5
+.OY \-\-output file \-o file
+Send output to
+.I file
+instead of standard output.
+'
+.TP
+.OY \-\-weight N \-w N
+Set the weight axis to
+.IR N .
+'
+.TP
+.OY \-\-width N \-W N
+Set the width axis to
+.IR N .
+'
+.TP
+.OY \-\-optical\-size N \-O N
+Set the optical size axis to
+.IR N .
+'
+.TP
+.OL \-\-style N
+Set the style axis to
+.IR N .
+.TP
+\fB\-\-1\fR=\fIN\fR (\fB\-\-2\fR=\fIN\fR, \fB\-\-3\fR=\fIN\fR, \fB\-\-4\fR=\fIN\fR)
+Set the first (second, third, fourth) axis to
+.IR N .
+'
+.TP
+.OY \-\-precision N \-p N
+Round output numbers so they have at most
+.I N
+digits after the decimal point. Smaller numbers are less precise; `\fB\-p
+\fR0' rounds all numbers to integers. The default precision is 3.
+'
+.TP
+.OY \-\-min\-kern N \-k N
+Only output kerning pairs whose absolute value is
+.IR N
+or larger. Smaller minimum kerns make kerning more precise and the output
+AFM file bigger. The default minimum kern is 2.0.
+'
+.SH TROUBLESHOOTING
+.PP
+Some programs, such as TeX's
+.BR fontinst ,
+can choke on AFM files that include fractional numbers. Therefore, if you
+have trouble with an AFM file, try rerunning
+.B mmafm
+with the
+.OP \-\-precision=0
+option.
+'
+.SH SEE ALSO
+.M mmpfb 1
+'
+.SH DIAGNOSTICS
+.TP 5
+\fIFont\fR requires intermediate master conversion programs
+You haven't yet created an AMCP file for \fIFont\fR.
+'
+.SH AUTHOR
+.na
+Eddie Kohler, kohler@icir.org
+.br
+http://www.pdos.lcs.mit.edu/~eddietwo/
+.PP
+The latest version is available from:
+.br
+http://www.lcdf.org/type/
+.br
+AMFM and AFM files for Adobe Type Library fonts are also available at that
+URL.
+.PP
+Thanks to Melissa O'Neill <oneill@cs.sfu.ca> for suggestions and patient
+debugging.
diff --git a/Master/texmf/doc/man/man1/mmpfb.1 b/Master/texmf/doc/man/man1/mmpfb.1
new file mode 100644
index 00000000000..23bac8dd967
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mmpfb.1
@@ -0,0 +1,211 @@
+.\" -*-nroff-*-
+.ds V 2.34
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.ds E " \-\-
+.if t .ds E \(em
+.de OP
+.BR "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de OA
+.IR "\fB\\$1\& \|\fI\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de OY
+.BI "\\$1\fR=" "\\$2\fR, " "\\$3\& " "\\$4" "\\$5" "\\$6"
+..
+.de OL
+.BI "\\$1\fR=" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de Sp
+.if n .sp
+.if t .sp 0.4
+..
+.TH MMPFB 1 "LCDF Typetools" "Version \*V"
+.SH NAME
+mmpfb \- creates single-master fonts from multiple master fonts
+'
+.SH SYNOPSIS
+.B mmpfb
+\%[OPTIONS...]
+.I font
+'
+.SH DESCRIPTION
+.B Mmpfb
+creates a normal, single-master PostScript font from a multiple master font
+by interpolation. You pass it a PFB or PFA font and options specifying the
+design point you want; it writes the resulting PFB or PFA font to the
+standard output.
+.PP
+The fonts
+.B mmpfb
+creates are interpolated at a low level to remove multiple master
+instructions from individual characters. Therefore, they can be used by
+programs that don't normally understand multiple master fonts, like
+.BR ps2pk (1).
+.PP
+.B Mmpfb
+supports fonts with intermediate masters, like Adobe Jenson and Kepler. It
+can also create AMCP (Adobe Multiple Master Conversion Program) files for
+use by
+.M mmafm 1 ;
+see
+.B \-\-amcp\-info
+below.
+.PP
+The
+.I font
+argument is either the name of a PFA or PFB font file, or a PostScript font
+name. If you give a font name,
+.B mmpfb
+will find the actual outline file using the PSRESOURCEPATH environment
+variable. This colon-separated path is searched for `PSres.upr' files, an
+Adobe method for indexing PostScript resources.
+.PP
+You can also give the name of a multiple
+master font instance, like `MinionMM_367_400_12_'.
+.B Mmpfb
+will parse the font name and create that instance for you. `PSres.upr'
+files must be set up for this to work.
+'
+'
+.SH EXAMPLE
+'
+.nf
+% mmpfb \-\-weight=400 \-\-width=600 MyriadMM.pfb > MyriadMM_400_600_.pfb
+.fi
+'
+.SH OPTIONS
+Long options may be abbreviated to their unique prefixes.
+'
+.TP 5
+.OY \-\-output file \-o file
+'
+Send output to
+.I file
+instead of standard output.
+'
+.TP
+.BR \-\-pfb ", " \-b
+'
+Output a PFB font. This is the default.
+'
+.TP
+.BR \-\-pfa ", " \-a
+'
+Output a PFA font.
+'
+.TP
+.OP \-\-amcp\-info
+'
+Do not create a font; instead, output an AMCP file for use by
+.M mmafm 1 .
+A message is printed if the font doesn't have intermediate masters, in
+which case no AMCP file is necessary.
+'
+.TP
+.OY \-\-weight N \-w N
+'
+Set the weight axis to
+.IR N .
+'
+.TP
+.OY \-\-width N \-W N
+'
+Set the width axis to
+.IR N .
+'
+.TP
+.OY \-\-optical\-size N \-O N
+'
+Set the optical size axis to
+.IR N .
+'
+.TP
+.OL \-\-style N
+'
+Set the style axis to
+.IR N .
+.TP
+\fB\-\-1\fR=\fIN\fR (\fB\-\-2\fR=\fIN\fR, \fB\-\-3\fR=\fIN\fR, \fB\-\-4\fR=\fIN\fR)
+'
+Set the first (second, third, fourth) axis to
+.IR N .
+'
+.TP
+.OY \-\-precision N \-p N
+'
+Set the output precision to
+.IR N .
+Higher values mean the control points in the output font will be more
+exactly aligned; lower values (1 or 2) create smaller output font
+files, and are close enough for most purposes. A precision of
+.IR N
+means that each point will be within
+.RI 1/ N
+font units of the exact interpolated value. (A font unit is generally
+1/7200 inch for a 10-point font.) The default is 5.
+'
+.TP
+.OL \-\-subrs N
+'
+Limit the output font to at most
+.IR N
+subroutines. 256 is a good value for
+.IR N .
+'
+.TP
+.BR \-\-no\-minimize
+'
+Do not minimize the output font definition. By default,
+.B mmpfb
+removes extra PostScript code and dictionary definitions from the font.
+Supply the
+.B \-\-no\-minimize
+option to avoid this behavior.
+'
+.SH TROUBLESHOOTING
+.LP
+The "IBM" Type 1 font interpreter shipped as part of the X font server and
+.B ps2pk
+(among others) is inappropriately strict about PostScript code embedded in
+a font. The
+.B \-\-minimize
+option (now the default) fixes this problem.
+.LP
+Some versions of Adobe Acrobat Distiller may report "Warning: unable to
+embed font X. Invalid character outline data" when distilling an instance
+generated by
+.BR mmpfb .
+This is due to a limitation in the number of font subroutines Distiller can
+accept. (Multiple master fonts, and the single-master fonts generated by
+.BR mmpfb ,
+tend to have a lot of subroutines.) Try limiting the number of subroutines
+in the generated font with the
+.OP \-\-subrs
+option.
+'
+.SH SEE ALSO
+.M mmafm 1
+'
+.SH DIAGNOSTICS
+.TP 5
+reducing \fIfont\fR to minimum number of subroutines (\fIN\fR)
+You tried to reduce the number of subroutines to less than \fIN\fR using
+the
+.OP \-\-subrs
+option, but the font needs at least \fIN\fR to function. The output font
+will have \fIN\fR subroutines.
+'
+.SH AUTHOR
+.na
+Eddie Kohler, kohler@icir.org
+.br
+http://www.pdos.lcs.mit.edu/~eddietwo/
+.PP
+The latest version is available from:
+.br
+http://www.lcdf.org/type/
+.PP
+Thanks to Melissa O'Neill <oneill@cs.sfu.ca> for suggestions and patient
+debugging.
diff --git a/Master/texmf/doc/man/man1/mpost.1 b/Master/texmf/doc/man/man1/mpost.1
new file mode 100644
index 00000000000..b784a64df5a
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mpost.1
@@ -0,0 +1,478 @@
+.TH MPOST 1 "10 November 2001" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MP MetaPost
+.if t .ds MP MetaPost
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if n .ds WB Web
+.if t .ds WB W\s-2EB\s0
+.\"=====================================================================
+.SH NAME
+mpost, inimpost, virmpost \- MetaPost, a system for drawing pictures
+.SH SYNOPSIS
+.B mpost
+.RI [ options ]
+.RI [ commands ]
+.\"=====================================================================
+.SH DESCRIPTION
+\*(MP interprets the \*(MP language and produces PostScript
+pictures. The \*(MP language is similar to Knuth's \*(MF
+with additional features for including
+.BR tex (1)
+or
+.BR troff (1)
+commands and accessing features of PostScript not found in \*(MF.
+.PP
+Like \*(TX and \*(MF, \*(MP is normally used with a large body of
+precompiled macros. This version of \*(MP looks at its command line
+to see what name it was called under. Both
+.B inimpost
+and
+.B virmpost
+are symlinks to the
+.B mpost
+executable. When called as
+.BR inimpost
+(or when the
+.B -ini
+option is given) it can be used to precompile macros into a
+.I .mem
+file. When called as
+.B virmpost
+it will use the
+.I plain
+mem. When called under any other name, \*(MP will use that name as
+the name of the mem to use. For example, when called as
+.B mpost
+the
+.I mpost
+mem is used, which is identical to the
+.I plain
+mem. Other mems than
+.I plain
+are rarely used.
+.PP
+The
+.I commands
+given on the command line to the \*(MP program are passed to it as the
+first input line. (But it is often easier to type extended arguments
+as the first input line, since UNIX shells tend to gobble up or
+misinterpret \*(MP's favorite symbols, like semicolons, unless you
+quote them.) The first line should begin with a filename, a
+.RI \e controlsequence ,
+or a
+.IR &memname .
+.PP
+The normal usage is to say
+.I mpost figs
+to process the file
+.IR figs.mp .
+The basename of
+.I figs
+becomes the ``jobname'',
+and is used in forming output file names. If no file is named, the
+jobname becomes
+.IR mpout .
+The default extension,
+.IR .mp ,
+can be overridden by specifying an extension explicitly.
+.PP
+There is normally one output file for each picture generated,
+and the output files are named \fIjobname\fP\fB\^.\^\fP\fInnn\fP,
+where \fInnn\fP
+is a number passed to the
+.I beginfig
+macro. The output file name
+can also be \fIjobname\fP\fB\^.\^\fP\fIps\fP
+if this number is negative.
+.PP
+The output files can be used as figures in a \*(TX document by including
+.ce
+.BI "\especial{psfile=" jobname.nnn }
+in the \*(TX document. Alternatively, one can
+.B \einput epsf.tex
+and then use the macro
+.ce
+.BI "\eepsfbox{" jobname.nnn }
+to produce a box of the appropriate size containing the figure.
+.TP
+.BI btex " TeX commands " etex
+This causes
+.I mpost
+to generate a \*(MP picture expression that corresponds to the
+\*(TX commands. If the \*(TX commands generate
+more than one line of text, it must be in a
+.I \evbox
+or a minipage environment.
+.TP
+.BI verbatimtex " TeX commands " etex
+This is ignored by
+.I mpost
+except that the \*(TX commands are passed on to \*(TX. When using \*(LX
+instead of \*(TX the input file must start with a
+.I verbatimtex
+block that gives the
+.I \edocumentstyle
+and
+.I "\ebegin{document}"
+commands. You can use the `%&' construct in the first verbatimtex
+block to ensure that the correct \*(TX format is used to process the
+commands.
+.PP
+Since most \*(TX fonts have to be downloaded as bitmaps, the
+.I btex
+feature works best when the output of
+.I mpost
+is to be included in a \*(TX document so that
+.BR dvips (1)
+can download the fonts. For self-contained PostScript output that can be
+used directly or included in a
+.I troff
+document, start your \*(MP input file with the command
+.I "prologues:=1"
+and stick to standard PostScript fonts. \*(TX and \*(MP use the names in the
+third column of the file
+.IR trfonts.map ,
+which can be found in the directories with support files for \*(MP.
+.PP
+\*(MP output can be included in a
+.I troff
+document via the
+.I "-m pictures"
+macro package. In this case
+.I mpost
+should be invoked with the
+.B -T
+flag so that the commands between
+.I btex
+and
+.I etex
+or between
+.I verbatimtex
+and
+.I etex
+are interpreted as
+.I troff
+instead of \*(TX. (This automatically sets
+.I "prologues:=1"
+).
+.\"=====================================================================
+.SH OPTIONS
+This version of \*(MP understands the following command line options.
+.TP
+.B -file-line-error
+.rb
+Print error messages in the form
+.I file:line:error
+which is similar to the way many compilers format them.
+.TP
+.B -no-file-line-error
+.rb
+Disable printing error messages in the
+.I file:line:error
+style.
+.TP
+.B -file-line-error-style
+.rb
+This is the old name of the
+.B -file-line-error
+option.
+.TP
+.B -halt-on-error
+.rb
+Exit with an error code when an error is encountered during processing.
+.TP
+.B -help
+.rb
+Print help message and exit.
+.TP
+.B -ini
+.rb
+Be
+.BR inimpost ,
+for dumping bases; this is implicitly true if the program is called
+as
+.BR inimpost .
+.TP
+.BI -interaction \ mode
+.rb
+Sets the interaction mode. The mode can be one of
+.IR batchmode ,
+.IR nonstopmode ,
+.IR scrollmode ,
+and
+.IR errorstopmode .
+The meaning of these modes is the same as that of the corresponding
+commands.
+.TP
+.BI -jobname \ name
+.rb
+Use
+.I name
+for the job name, instead of deriving it from the name of the input file.
+.TP
+.BI -kpathsea-debug \ bitmask
+.rb
+Sets path searching debugging flags according to the bitmask. See the
+.I Kpathsea
+manual for details.
+.TP
+.BI -mem \ mem
+.rb
+Use
+.I mem
+as the name of the mem to be used, instead of the name by which
+\*(MP was called or a
+.I %&
+line.
+.TP
+.BI -output-directory \ directory
+.rb Write output files in
+.I directory
+instead of the current directory. Look up input files in
+.I directory
+first, the along the normal search path.
+.TP
+.B -parse-first-line
+.rb
+If the first line of the main input file begins with
+.I %&
+parse it to look for a dump name or a
+.B -translate-file
+option.
+.TP
+.B -no-parse-first-line
+.rb
+Disable parsing of the first line of the main input file.
+.TP
+.BI -progname \ name
+.rb
+Pretend to be program
+.IR name .
+This affects both the format used and the search paths.
+.TP
+.B -recorder
+.rb
+Enable the filename recorder. This leaves a trace of the files opened
+for input and output in a file with extension
+.IR .fls .
+.TP
+.B -T
+.rb
+Produce TROFF output.
+.TP
+.BI -translate-file \ tcxname
+.rb
+Use the
+.I tcxname
+translation table.
+.TP
+.B -troff
+.rb
+As
+.BR -T .
+.TP
+.B -version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH ENVIRONMENT
+See the Kpathsearch library documentation (the `Path specifications'
+node) for the details of how the environment variables are use when
+searching. The
+.B kpsewhich
+utility can be used to query the values of the variables.
+.PP
+If the environment variable
+TEXMFOUTPUT is set, \*(MP attempts to put its output
+files in it, if they cannot be put in the current directory.
+.PP
+Here is a list of the environment variables affect the behavior of
+.IR mpost :
+.TP
+.TP
+MPINPUTS
+Search path for
+.I input
+files.
+.TP
+MFINPUTS
+Auxiliary search path for
+.I input
+files with
+.I .mf
+extensions.
+.TP
+MPSUPPORT
+Directory for various tables for handling included
+.I tex
+and
+.IR troff .
+.TP
+MPXCOMMAND
+The name of a shell script that converts embedded typesetting commands
+to a form that \*(MP understands. Defaults:
+.I makempx
+for
+.I tex
+and
+.I troffmpx
+for
+.IR troff .
+.TP
+TEX
+The version of \*(TX \- or \*(LX \- to use when processing
+.I btex
+and
+.I verbatimtex
+commands. Default
+.IR tex .
+This version of \*(MP allows you to use a `%&format' line instead.
+.TP
+TROFF
+The
+.I troff
+pipeline for
+.I btex
+and
+.I verbatimtex
+commands. Default
+.I eqn -d\e$\e$ | troff
+.TP
+MPEDIT
+A command template for invoking an editor.
+.PP
+A
+.I .mem
+file is a binary file that permits fast loading of macro packages.
+.I mpost
+reads the default
+.I plain.mem
+unless another
+.I .mem
+file is specified at the start of the first line with an
+.I &
+just before it. There is also an
+.I mfplain.mem
+that simulates plain \*(MF so that
+.I mpost
+can read
+.I .mf
+fonts. (Plain \*(MF is described in
+.IR "The \*(MF\^book" ).
+.PP
+Experts can create
+.I .mem
+files be invoking
+.I inimpost
+and giving macro definitions followed by a
+.I dump
+command.
+.PP
+The \*(MP language is similar to \*(MF, but the manual
+.I A User's Manual for \*(MP
+assumes no knowledge of \*(MF. \*(MP does not have bitmap
+output commands or \*(MF's online display mechanism.
+.\"=====================================================================
+.SH FILES
+.TP
+.I mpost.pool
+Encoded text of \*(MP's messages.
+.TP
+.I *.mem
+Predigested \*(MP mem files.
+.TP
+.I plain.mp
+The standard mem file.
+.TP
+.I mfplain.mp
+The \*(MF-compatible mem file. This is loaded when
+.I virmp
+is invoked via a symbolic link as
+.IR mfmp .
+.TP
+.I $TEXMFMAIN/metapost/base/*.mp
+The standard \*(MP macros included in the original distribution.
+.TP
+.I $TEXMFMAIN/metapost/support/*
+Various tables for handling included
+.I tex
+and
+.IR troff .
+.TP
+.I $TEXMFMAIN/metapost/support/trfonts.map
+Table of corresponding font names for
+.I troff
+and PostScript.
+.TP
+.I psfonts.map
+Table of corresponding font names for
+.I tex
+and PostScript.
+.TP
+.I $TEXMFMAIN/doc/metapost/examples.mp
+The source file for a few sample figures
+that are part of a \*(LX document
+.I $TEXMFMAIN/doc/metapost/mpintro.tex
+that describes the \*(MP system
+in a little more detail.
+.\"=====================================================================
+.SH NOTES
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(MP can be found in the info manual
+.IR "Web2C: A TeX implementation" .
+.\"=====================================================================
+.SH "SUGGESTED READING"
+Donald E. Knuth,
+.I "The \*(MF\^book"
+(Volume C of
+.IR "Computers and Typesetting" ),
+Addison-Wesley, 1986, ISBN 0-201-13445-4.
+.br
+John D. Hobby,
+.IR "A User's Manual for \*(MP" ,
+CSTR 162, AT&T Bell Labs,
+.br
+John D. Hobby,
+.IR "Drawing Graphs with \*(MP" ,
+CSTR 164, AT&T Bell Labs,
+.br
+.I TUGboat
+(the journal of the \*(TX Users Group).
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tex (1),
+.BR mf (1),
+.BR dvips (1).
+.\"=====================================================================
+.SH AUTHORS
+\*(MP was designed by John D. Hobby, incorporating algorithms from
+\*(MF by Donald E. Knuth. It was originally implemented on Unix,
+incorporating system-dependent routines from
+.BR web2c ,
+while not relying on it except for the actual \*(WB-to-C translator.
+.PP
+Ulrik Vieth adapted \*(MP to take advantage of the advanced path
+searching features in more recent versions of
+.B web2c
+and worked towards fully integrating \*(MP into the canonical Unix
+\*(TX distribution. He also updated and extended this manual page.
+.\"=====================================================================
+.SH TRIVIA
+Unlike \*(TX and \*(MF, \*(MP originally didn't use any fancy logo.
+John Hobby says he prefers the spelling ``MetaPost'', yet Don Knuth
+has updated the \*(MF
+.I logo.mf
+font to be able to typeset a proper \*(MP logo similar to the \*(MF
+logo. Feel free to use whatever you think is more appropriate!
diff --git a/Master/texmf/doc/man/man1/mpto.1 b/Master/texmf/doc/man/man1/mpto.1
new file mode 100644
index 00000000000..8c7e5fe58fa
--- /dev/null
+++ b/Master/texmf/doc/man/man1/mpto.1
@@ -0,0 +1,68 @@
+.TH MPTO 1 "4 January 1998" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MP MetaPost
+.if t .ds MP MetaPost
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+mpto \- extract labels in MetaPost pictures for typesetting
+.SH SYNOPSIS
+.B mpto
+.RI [ -tex | -troff ]
+.I mpfile
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+Strip
+.I btex..etex
+and
+.I verbatimtex...etex
+parts from \*(MP input file
+.IR mpfile ,
+converting to either \*(TX or Troff (\*(TX by default). The generated
+code is dumped on standard output.
+.PP
+.B mpto
+is typically called by
+.BR makempx ,
+not from the command line.
+.\"=====================================================================
+.SH OPTIONS
+.B mpto
+accepts the following options:
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.B -tex
+.rb
+Assume input file contains \*(TX commands.
+.TP
+.B -troff
+.rb
+Assume input file contains Troff commands.
+.TP
+.B --version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR mpost (1),
+.BR makempx (1).
diff --git a/Master/texmf/doc/man/man1/newer.1 b/Master/texmf/doc/man/man1/newer.1
new file mode 100644
index 00000000000..0a5b1c2f375
--- /dev/null
+++ b/Master/texmf/doc/man/man1/newer.1
@@ -0,0 +1,41 @@
+.TH NEWER 1 "21 June 2005" "Web2C 7.5.5"
+.\"=====================================================================
+.SH NAME
+newer \- compare file modification times
+.SH SYNOPSIS
+.B newer
+.RI [ option ]
+.I src1
+[
+.I src2 ... srcN
+]
+.I target
+.\"=====================================================================
+.SH DESCRIPTION
+Exit successfully if files
+.I src1 ... srcN
+exist and at least one of them is not older than
+.IR target .
+Also exit successfully if
+.I target
+doesn't exist.
+.\"=====================================================================
+.SH OPTIONS
+.B newer
+accepts the following options:
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.B --quiet, -q
+.rb
+Do not print any output, including error messages.
+.TP
+.B --version
+.rb
+Print version information and exit.
+.TP
+.B --verbose, -v
+.rb
+List missing source files. This is the default.
diff --git a/Master/texmf/doc/man/man1/odvicopy.1 b/Master/texmf/doc/man/man1/odvicopy.1
new file mode 120000
index 00000000000..84bac04a557
--- /dev/null
+++ b/Master/texmf/doc/man/man1/odvicopy.1
@@ -0,0 +1 @@
+dvicopy.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/odvips.1 b/Master/texmf/doc/man/man1/odvips.1
new file mode 120000
index 00000000000..bb895a1c4e5
--- /dev/null
+++ b/Master/texmf/doc/man/man1/odvips.1
@@ -0,0 +1 @@
+dvips.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/odvitype.1 b/Master/texmf/doc/man/man1/odvitype.1
new file mode 120000
index 00000000000..d077e7784b4
--- /dev/null
+++ b/Master/texmf/doc/man/man1/odvitype.1
@@ -0,0 +1 @@
+dvitype.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/ofm2opl.1 b/Master/texmf/doc/man/man1/ofm2opl.1
new file mode 100644
index 00000000000..adc4de3ec3c
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ofm2opl.1
@@ -0,0 +1,91 @@
+.TH "ofm2opl" "1" "September 2000" "Omega" "Omega"
+.PP
+.SH "NAME"
+ofm2opl \- convert Omega and TeX font-metric files to
+property-list files
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBofm2opl\fP [ \fIOPTION\fP\&.\&.\&. ] \fIOFMNAME\fP[\&.ofm] [
+\fIOPLFILE\fP[\&.opl] ]
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBofm2opl\fP translates a binary Omega Font Metrics file,
+\fIOFMNAME\fP, into a human-readable property-list form\&. The
+program writes to standard output (by default) or to a file specified
+as \fIOPLFILE\fP\&.
+.PP
+The program also works with TeX TFM files, producing TeX PL files\&.
+(\fBofm2opl\fP is based on the WEB source code for \fBtftopl\fP(1)\&.)
+.PP
+.SH "OPTIONS"
+.PP
+.IP
+.IP "\fB-charcode-format=\fP\fITYPE\fP"
+output character codes
+according to \fITYPE\fP,
+which can be either `hex\&'
+or `ascii\&'\&. Default is
+`hex\&'\&. ascii specifes all
+ASCII letters and digits;
+hex gets you everything
+else\&.
+.IP
+.IP "\fB-help\fP"
+display a brief summary of syntax and options
+.IP "\fB-verbose\fP"
+display progress reports
+.IP "\fB-version\fP"
+output version information and exit
+.IP
+.PP
+.SH "FILES"
+.PP
+.IP "\fIOFMNAME\fP"
+an Omega Font Metric file
+.IP "\fIOPLFILE\fP"
+an Omega Property List file
+.PP
+.SH "BUGS"
+.PP
+None known, but report any found to <omega@ens\&.fr> (mailing list)\&. You may also want to
+check to see if the same bug is present in \fBpltotf\fP(1)\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBomega\fP(1), \fBopl2ofm\fP(1), \fBpltotf\fP(1),
+\fBtftopl\fP(1)\&.
+.PP
+\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&.
+.PP
+Web page: <http://www\&.gutenberg\&.eu\&.org/omega/>
+.PP
+.SH "AUTHOR"
+.PP
+According to the WEB documentation:
+.PP
+.RS
+The first \fBTFtoPL\fP program was designed by Leo Guibas in the
+summer of 1978\&. Contributions by Frank Liang, Doug Wyatt, and Lyle
+Ramshaw also had a significant effect on the evolution of the present
+code\&.
+.PP
+Extensions for an enhanced ligature mechanism were added by D\&.E\&. Knuth
+in 1989\&.
+.PP
+Extensions to handle extended font metric files (``OFM\&'\&') were added
+by John Plaice in December 1995 and January 1996, resulting in the new
+program \fBOFM2OPL\fP\&.
+.RE
+.PP
+The primary authors of Omega are John Plaice
+<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous
+<yannis@fluxus-virus\&.com>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<cmc@debian\&.org>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/omega.1 b/Master/texmf/doc/man/man1/omega.1
new file mode 100644
index 00000000000..29d0bbb1c10
--- /dev/null
+++ b/Master/texmf/doc/man/man1/omega.1
@@ -0,0 +1,292 @@
+.TH OMEGA 1 "27 December 1997" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX
+.if n .ds AX AmSTeX
+.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX
+.if n .ds AY AmSLaTeX
+.\"=====================================================================
+.SH NAME
+omega, iniomega, viromega \- extended unicode TeX
+.SH SYNOPSIS
+.B omega
+.RI [ options ]
+[\fB&\fR \fIformat\fR ]
+[ \fIfile\fR | \fB\e\fR \fIcommands\fR ]
+.\"=====================================================================
+.SH DESCRIPTION
+Run the Omega typesetter on
+.IR file ,
+usually creating
+.IR file.dvi .
+If the file argument has no extension, ".tex" will be appended to it.
+Instead of a filename, a set of Omega commands can be given, the first
+of which must start with a backslash.
+With a
+.BI & format
+argument Omega uses a different set of precompiled commands,
+contained in
+.IR format.fmt ;
+it is usually better to use the
+.B -fmt
+.I format
+option instead.
+.PP
+Omega is a version of the \*(TX program modified for multilingual
+typesetting. It uses unicode, and has additional primitives for
+(among other things) bidirectional typesetting.
+.PP
+The
+.B iniomega
+and
+.B viromega
+commands are Omega's analogues to the
+.B initex
+and
+.B virtex
+commands. In this installation, they are symlinks to the
+.B omega
+executable.
+.PP
+Omega's command line options are similar to those of \*(TX.
+.PP
+Omega is experimental software.
+.\"=====================================================================
+.SH OPTIONS
+This version of Omega understands the following command line options.
+.TP
+.BI --oft \ format
+.rb
+Use
+.I format
+as the name of the format to be used, instead of the name by which
+Omega was called or a
+.I %&
+line.
+.TP
+.B -halt-on-error
+.rb
+Exit with an error code when an error is encountered during processing.
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.B --ini
+.rb
+Be
+.BR iniomega ,
+for dumping formats; this is implicitly true if the program is called
+as
+.BR iniomega .
+.TP
+.BI --interaction \ mode
+.rb
+Sets the interaction mode. The mode can be one of
+.IR batchmode ,
+.IR nonstopmode ,
+.IR scrollmode ,
+and
+.IR errorstopmode .
+The meaning of these modes is the same as that of the corresponding
+\ecommands.
+.TP
+.B --ipc
+.rb
+Send DVI output to a socket as well as the usual output file. Whether
+this option is available is the choice of the installer.
+.TP
+.B --ipc-start
+.rb
+As
+.BR --ipc ,
+and starts the server at the other end as well. Whether this option
+is available is the choice of the installer.
+.TP
+.BI --kpathsea-debug \ bitmask
+.rb
+Sets path searching debugging flags according to the bitmask. See the
+.I Kpathsea
+manual for details.
+.TP
+.BI --maketex \ fmt
+.rb
+Enable
+.RI mktex fmt ,
+where
+.I fmt
+must be one of
+.I tex
+or
+.IR tfm .
+.TP
+.BI --no-maketex \ fmt
+.rb
+Disable
+.RI mktex fmt ,
+where
+.I fmt
+must be one of
+.I tex
+or
+.IR tfm .
+.TP
+.BI --output-comment \ string
+.rb
+Use
+.I string
+for the DVI file comment instead of the date.
+.TP
+.BI -output-directory \ directory
+.rb Write output files in
+.I directory
+instead of the current directory. Look up input files in
+.I directory
+first, the along the normal search path.
+.TP
+.B --parse-first-line
+.rb
+If the first line of the main input file begins with
+.I %&
+parse it to look for a dump name.
+.TP
+.BI --progname \ name
+.rb
+Pretend to be program
+.IR name .
+This affects both the format used and the search paths.
+.TP
+.B --recorder
+.rb
+Enable the filename recorder. This leaves a trace of the files opened
+for input and output in a file with extension
+.IR .ofl .
+(This option is always on.)
+.TP
+.B --shell-escape
+.rb
+Enable the
+.BI \ewrite18{ command }
+construct. The
+.I command
+can be any Bourne shell command. This construct is normally
+disallowed for security reasons.
+.TP
+.B --version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH ENVIRONMENT
+See the Kpathsearch library documentation (the `Path specifications'
+node) for precise details of how the environment variables are used.
+The
+.B kpsewhich
+utility can be used to query the values of the variables.
+.PP
+One caveat: In most Omega formats, you cannot use ~ in a filename you
+give directly to Omega, because ~ is an active character, and hence is
+expanded, not taken as part of the filename. Other programs, such as
+\*(MF, do not have this problem.
+.PP
+.TP
+TEXMFOUTPUT
+Normally, Omega puts its output files in the current directory. If
+any output file cannot be opened there, it tries to open it in the
+directory specified in the environment variable TEXMFOUTPUT.
+There is no default value for that variable. For example, if you say
+.I tex paper
+and the current directory is not writable, if TEXMFOUTPUT has
+the value
+.IR /tmp ,
+Omega attempts to create
+.I /tmp/paper.log
+(and
+.IR /tmp/paper.dvi ,
+if any output is produced.)
+.TP
+TEXINPUTS
+Search path for
+.I \einput
+and
+.I \eopenin
+files.
+This should probably start with ``.'', so
+that user files are found before system files. An empty path
+component will be replaced with the paths defined in the
+.I texmf.cnf
+file. For example, set TEXINPUTS to ".:/home/usr/tex:" to prepend the
+current direcory and ``/home/user/tex'' to the standard search path.
+.TP
+TEXEDIT
+Command template for switching to editor. The default, usually
+.BR vi ,
+is set when Omega is compiled.
+.\"=====================================================================
+.SH FILES
+The location of the files mentioned below varies from system to
+system. Use the
+.B kpsewhich
+utility to find their locations.
+.TP
+.I omega.pool
+Encoded text of Omega's messages.
+.TP
+.I *.oft
+Predigested Omega format (.\|oft) files.
+.br
+.\"=====================================================================
+.SH NOTES
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of Omega can be found in the info
+manual
+.IR "Web2C: A TeX implementation" .
+.\"=====================================================================
+.SH BUGS
+This version of Omega implements a number of optional extensions.
+In fact, many of these extensions conflict to a greater or lesser
+extent with the definition of Omega. When such extensions are
+enabled, the banner printed when Omega starts is changed to print
+.B Omegak
+instead of
+.BR Omega .
+.PP
+This version of Omega fails to trap arithmetic overflow when
+dimensions are added or subtracted. Cases where this occurs are rare,
+but when it does the generated
+.I DVI
+file will be invalid.
+.PP
+The
+.I DVI
+files produced by Omega may use extensions which make them incompatible
+with most software designed to handle
+.I DVI
+files. In order to print or preview them, you should use
+.B odvips
+to generate a PostScript file.
+.PP
+Omega is experimental software, and if you are an active user it is
+strongly recommended that you subscribe to the Omega mailing list.
+Visit the Omega website
+.B http://omega.cse.unsw.edu.au
+for information on how to subscribe.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tex (1),
+.BR mf (1),
+.RB odvips (1),
+.\"=====================================================================
+.SH AUTHORS
+The primary authors of Omega are John Plaice and Yannis Haralambous.
diff --git a/Master/texmf/doc/man/man1/opl2ofm.1 b/Master/texmf/doc/man/man1/opl2ofm.1
new file mode 100644
index 00000000000..425ff8e0adc
--- /dev/null
+++ b/Master/texmf/doc/man/man1/opl2ofm.1
@@ -0,0 +1,74 @@
+.TH "opl2ofm" "1" "September 2000" "Omega" "Omega"
+.PP
+.SH "NAME"
+opl2ofm \- convert Omega and TeX property-list files to
+font-metric files
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBopl2ofm\fP [ \fIOPTION\fP\&.\&.\&. ] \fIOPLFILE\fP[\&.opl] [
+\fIOFMFILE\fP[\&.ofm] ]
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBopl2ofm\fP translates a property-list format file, \fIOPLFILE\fP,
+into the binary Omega Font Metric format\&. The program writes to
+standard output (by default) or to a file specified as
+\fIOFMFILE\fP\&.
+.PP
+The program also works with TeX PL files, producing TeX TFM files\&.
+(\fBopl2ofm\fP is based on the WEB source code for \fBpltotf\fP(1)\&.)
+.PP
+.SH "OPTIONS"
+.PP
+.IP
+.IP "\fB-help\fP"
+display a brief summary of syntax and options
+.IP "\fB-verbose\fP"
+display progress reports
+.IP "\fB-version\fP"
+output version information and exit
+.IP
+.PP
+.SH "BUGS"
+.PP
+None known, but report any found to <omega@ens\&.fr> (mailing list)\&. You should also
+check to see if the bug is present in \fBpltotf\fP(1)\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBomega\fP(1), \fBofm2opl\fP(1), \fBpltotf\fP(1),
+\fBtftopl\fP(1)\&.
+.PP
+\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&.
+.PP
+Web page: <http://www\&.gutenberg\&.eu\&.org/omega/>
+.PP
+.SH "AUTHOR"
+.PP
+According to the WEB documentation:
+.PP
+.RS
+The first \fBPLtoTF\fP program was designed by Leo Guibas in the
+summer of 1978\&. Contributions by Frank Liang, Doug Wyatt, and Lyle
+Ramshaw also had a significant effect on the evolution of the present
+code\&.
+.PP
+Extensions for an enhanced ligature mechanism were added by D\&.E\&. Knuth
+in 1989\&.
+.PP
+Extensions to handle extended font metric files (``OFM\&'\&') were added
+by John Plaice in December 1995 and January 1996, resulting in the new
+program \fBOPL2OFM\fP\&.
+.RE
+.PP
+The primary authors of Omega are John Plaice
+<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous
+<yannis@fluxus-virus\&.com>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<cmc@debian\&.org>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/otfinfo.1 b/Master/texmf/doc/man/man1/otfinfo.1
new file mode 100644
index 00000000000..e0bbcd10886
--- /dev/null
+++ b/Master/texmf/doc/man/man1/otfinfo.1
@@ -0,0 +1,143 @@
+'\"t
+.ds V 2.34
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.de Sp
+.if n .sp
+.if t .sp 0.4
+..
+.TH OTFINFO 1 "LCDF Typetools" "Version \*V"
+.SH NAME
+otfinfo \- report information about OpenType fonts
+.SH SYNOPSIS
+.B otfinfo
+\%[\fB-sfzpg\fR]
+\%[\fIFILE...\fR]
+'
+.SH DESCRIPTION
+.BR Otfinfo
+reports information about the named OpenType font
+.IR FILE s
+(or standard input, if no
+.IR FILE s
+are given). Results are printed to standard output. Each line is prefaced
+with the relevant
+.I FILE
+if more than one
+.I FILE
+was supplied.
+'
+.SH OPTIONS
+With long options, you need type only as many characters as will make the
+option unique.
+.SS Query options
+.PD 0
+.PD 0
+.TP 5
+.BR \-s ", " \-\-scripts
+Print supported scripts and language systems. The scripts are printed one
+per line, with human-readable descriptions; for example:
+.nf
+ cyrl Cyrillic
+ grek Greek
+ latn Latin
+ latn.TUR Latin/Turkish
+.fi
+'
+.Sp
+.TP 5
+.BR \-f ", " \-\-features
+Print GSUB and GPOS features supported by the selected script (see the
+.B \-\-script
+option below). The scripts are printed one per line, with human-readable
+descriptions; for example:
+.nf
+ aalt Access All Alternates
+ c2sc Small Capitals From Capitals
+ case Case-Sensitive Forms
+ cpsp Capital Spacing
+ \&...
+ zero Slashed Zero
+.fi
+'
+.Sp
+.TP 5
+.BR \-z ", " \-\-optical\-size
+Print optical size information. For example:
+.nf
+ design size 11 pt, size range (8.4 pt, 13 pt], subfamily ID 11, subfamily name Semibold Italic
+.fi
+'
+.Sp
+.TP 5
+.BR \-p ", " \-\-postscript\-name
+Print each font's PostScript name. For example:
+.nf
+ MinionPro-SemiboldItCapt
+.fi
+'
+.Sp
+.TP 5
+.BR \-g ", " \-\-glyphs
+Print the name of every glyph in each font, one per line. For example:
+.nf
+ \&.notdef
+ space
+ exclam
+ \&...
+ ncommaaccent.end
+ lje.alt
+.fi
+Works for PostScript-flavored OpenType fonts only.
+'
+.PD
+'
+'
+.SS Miscellaneous options
+'
+.PD 0
+.TP 5
+.BI \-\-script= "script\fR[.\fIlang\fR]"
+Select the script system
+.I script
+and language system
+.IR lang
+used to look up features by
+.BR \-\-features .
+Examples include "latn" (Latin script), "grek" (Greek script), and "yi.YIC"
+(Yi script with classic characters). If
+.I lang
+is not specified, otfinfo will use the default language system for that
+script. Defaults to "latn".
+'
+.Sp
+.TP 5
+.BR \-V ", " \-\-verbose
+Write progress messages to standard error.
+'
+.Sp
+.TP 5
+.BR \-q ", " \-\-quiet
+Do not generate any error messages.
+'
+.Sp
+.TP 5
+.BR \-h ", " \-\-help
+Print usage information and exit.
+'
+.Sp
+.TP 5
+.BR \-\-version
+Print the version number and some short non-warranty information and exit.
+.PD
+'
+.SH "SEE ALSO"
+.LP
+.M otftotfm 1
+.LP
+.IR "OpenType Specification" ,
+Version 1.4
+'
+.SH AUTHOR
+Eddie Kohler (kohler@icir.org)
diff --git a/Master/texmf/doc/man/man1/otftotfm.1 b/Master/texmf/doc/man/man1/otftotfm.1
new file mode 100644
index 00000000000..a5450d3e290
--- /dev/null
+++ b/Master/texmf/doc/man/man1/otftotfm.1
@@ -0,0 +1,1473 @@
+'\"t
+.ds V 2.34
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.de Sp
+.if n .sp
+.if t .sp 0.4
+..
+.de BUP
+.IP \(bu 3n
+..
+.TH OTFTOTFM 1 "LCDF Typetools" "Version \*V"
+.SH NAME
+otftotfm \- create TeX font metrics from PostScript OpenType fonts
+.SH SYNOPSIS
+.B otftotfm
+\%[\fB\-a\fR]
+\%[\fBoptions\fR]
+\%\fIfontfile\fR.otf [\fItexname\fR]
+'
+.SH DESCRIPTION
+.BR Otftotfm
+creates the font metric and encoding files required to use an OpenType font
+with TeX. You supply an OpenType ".otf" font file, a base ".enc" encoding,
+and a TeX name "\fItexname\fR" for the resulting font, and say which
+OpenType features should be turned on. Then
+.B otftotfm
+generates and installs the corresponding TeX-related metric files
+(".tfm" TeX font metrics, ".vf" virtual fonts, and ".enc"
+encoding files). It only works on PostScript-flavored OpenType fonts.
+.LP
+The easiest way to use
+.B otftotfm
+is with the
+.B \-a
+option; see Automatic Mode below. Without
+.BR \-a ,
+.B otftotfm
+writes all its output files to the current directory.
+.LP
+After running "\fBotftotfm\fR \fIfontfile\fR.otf \fItexname\fR" and
+installing the results (manually or with
+.BR \-a ),
+you can use the OpenType font in plain TeX with a command like this:
+.Sp
+.nf
+ \efont\emyfont=\fItexname\fR at 10pt
+ {\emyfont This text uses the OpenType font.}
+.fi
+.Sp
+LaTeX users will generally make a ".fd" input file so that commands like
+"\erenewcommand{\ermdefault}{TeXName}" work correctly. See the EXAMPLE
+section for more; check the DIAGNOSTICS and FREQUENTLY ASKED QUESTIONS
+sections if you have trouble.
+'
+.SS "OpenType Features"
+.LP
+OpenType fonts support optional
+.I features
+that change their appearance. Use the
+.B \-f
+option to turn on selected features. For example, "\fB\-f\fRsmcp" replaces
+lower-case letters with the corresponding small capitals, in fonts that
+support this.
+'
+.PP
+You'll generally provide at least the "\fB\-f\fRkern" and "\fB\-f\fRliga"
+options, which activate pair kerns and f-ligatures. Other interesting
+features include "\fB\-f\fRcpsp", for capital spacing; "\fB\-f\fRdlig", for
+optional ligatures; "\fB\-f\fRlnum", "\fB\-f\fRonum", "\fB\-f\fRpnum", and
+"\fB\-f\fRtnum", to control digit glyphs; "\fB\-f\fRsmcp", for small
+capitals; "\fB\-f\fRswsh", for swash variants; and "\fB\-f\fRcswh", for
+contextual swash. See the FEATURE DIRECTORY section below for more. The
+.M otfinfo 1
+program will report which features a font supports; run "\fBotfinfo\fR
+\fB\-f\fR \fIfontfile\fR.otf".
+'
+.PP
+Feature options can also apply a feature to a subset of characters in the
+font. For example, "\fB\-\-lf\fR smcp"
+.I only
+replaces letters with small capitals, whereas "\fB\-f\fRsmcp" might
+additionally replace digits and punctuation marks with small-capital
+versions.
+'
+.SS Automatic Mode
+.PP
+Automatic mode, triggered by the
+.BR \-a / \-\-automatic
+option, installs font metrics and encoding files where TeX can find them,
+and additionally installs a Type 1 font and mapping for
+.M dvips 1 .
+This requires a TeX installation that follows the TeX Directory Structure
+standard (http://www.tug.org/tds/), such as most Unix TeX installations.
+'
+.PP
+Automatic mode should run seamlessly out of the box.
+.B Otftotfm
+will install metrics files, encodings, map files, and Type\~1 fonts into
+.I $HOME/.texmf-var
+or any other writable TEXMF directory, and run
+.M updmap 1
+to update the global lists of installed fonts. (On older teTeX
+installations, you may first need to copy the system's
+.I updmap.cfg
+file to
+.I $HOME/texmf/web2c
+and run
+.M mktexlsr 1 .)
+You can then run "\fBotftotfm\fR
+.B \-a
+.IR file .otf
+.IR texname \&"
+and immediately refer to the font in TeX using the
+.I texname
+you supplied. Again, you will have to write ".fd" files and/or typescripts
+to make the font conveniently accessible from LaTeX or ConTeXt. See the
+DIAGNOSTICS section if you have problems with these instructions.
+'
+.PP
+In automatic mode,
+.B otftotfm
+searches your $TEXMFVAR or $TEXMF path for a writable directory, then
+installs files under that directory tree as follows:
+'
+.TS
+l l l .
+\fBFile type\fR \fBDirectory\fR \fBFilename\fR
+TFM TEXMF/fonts/tfm/\fIvendor\fR/\fItypeface\fR/ \fItexname\fR[--base].tfm
+VF TEXMF/fonts/vf/\fIvendor\fR/\fItypeface\fR/ \fItexname\fR.vf
+PL TEXMF/fonts/pl/\fIvendor\fR/\fItypeface\fR/ \fItexname\fR[--base].pl
+VPL TEXMF/fonts/vpl/\fIvendor\fR/\fItypeface\fR/ \fItexname\fR.vpl
+encoding TEXMF/fonts/enc/dvips/\fIvendor\fR/ a_\fIsignature\fR.enc
+ or TEXMF/dvips/\fIvendor\fR/
+PFB font TEXMF/fonts/type1/\fIvendor\fR/\fItypeface\fR/ \fIPStexname\fR.pfb
+font map TEXMF/fonts/map/dvips/\fIvendor\fR/ \fIvendor\fR.map
+ or TEXMF/dvips/\fIvendor\fR/
+.TE
+.PP
+"TEXMF" stands for the writable TEXMF directory. \fITexname\fR is the
+font name supplied as
+.BR otftotfm 's
+second argument, and \fIPStexname\fR is the PostScript name of the input
+font. The \fIvendor\fR and \fItypeface\fR strings are required by TDS;
+they default to "lcdftools" and the font's family name, respectively, but
+see the
+.B \-\-vendor
+and
+.B \-\-typeface
+options. \fISignature\fR is an opaque 6-character encoding signature.
+.PP
+You can override these directories with environment variables and options
+as follows. Options take precedence over environment variables.
+'
+.TS
+l l l .
+\fBFile type\fR \fBEnvironment variable\fR \fBOption\fR
+TFM TFMDESTDIR \-\-tfm\-directory
+VF VFDESTDIR \-\-vf\-directory
+PL PLDESTDIR \-\-pl\-directory
+VPL VPLDESTDIR \-\-vpl\-directory
+encoding ENCODINGDESTDIR \-\-encoding\-directory
+PFB font T1DESTDIR \-\-type1\-directory
+font map \- \-\-map\-file
+.TE
+.PP
+.B Otftotfm
+will update the
+.I TEXMF/ls-R
+file when installing files under TEXMF. It will also run the
+.M updmap 1
+program after changing a map file, unless the
+.B \-\-no\-updmap
+option was supplied. However, if an executable file called
+.IR TEXMF/dvips/updmap
+exists, this file is executed (from the
+.I TEXMF/dvips
+directory) rather than the global
+.BR updmap .
+This is so you can write a fast, customized version of
+.B updmap
+if desired.
+'
+.SH EXAMPLE
+This section uses MinionPro to show one way to install OpenType fonts for
+LaTeX. We begin with six fonts: "MinionPro-Regular.otf",
+"MinionPro-It.otf", "MinionPro-Semibold.otf", "MinionPro-SemiboldIt.otf",
+"MinionPro-Bold.otf", and "MinionPro-BoldIt.otf".
+.PP
+Our first task is to decide how to encode the fonts. The "encoding scheme"
+is used by TeX to decide how to typeset accents and symbols like "$". The
+"LY1" encoding scheme is a good choice for many OpenType fonts; it
+corresponds to the "texnansx.enc" encoding file, so we will supply
+.B otftotfm
+with the "\fB\-e\fR texnansx" option.
+.PP
+Next, we decide on a naming scheme for the font metric files. Let's use
+the OpenType font names as a base. (There's generally no need to follow
+the six-character "Karl Berry" naming scheme.) Just in case we come back
+later and add a different encoding scheme, we'll prepend "LY1--" to each
+name.
+.PP
+We're now ready to run
+.B otftotfm
+for the first set of fonts. Note the "\fB\-f\fRkern \fB\-f\fRliga"
+options, which access pair kerns and the default "f" ligatures.
+.Sp
+.nf
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-Regular.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga LY1--MinionPro-Regular
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-It.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga LY1--MinionPro-It
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-Semibold.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga LY1--MinionPro-Semibold
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-SemiboldIt.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga LY1--MinionPro-SemiboldIt
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-Bold.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga LY1--MinionPro-Bold
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-BoldIt.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga LY1--MinionPro-BoldIt
+.fi
+.Sp
+The small-caps fonts are generated with an additional "\fB\-f\fRsmcp"
+option. We append "--fsmcp" to the font metric names as well,
+differentiating them from the regular fonts. Although MinionPro's italic
+fonts support small-caps, the LaTeX font selection scheme can't access them
+easily, so we've left them off.
+.Sp
+.nf
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-Regular.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga \fB\-f\fRsmcp LY1--MinionPro-Regular--fsmcp
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-Semibold.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga \fB\-f\fRsmcp LY1--MinionPro-Semibold--fsmcp
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-Bold.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga \fB\-f\fRsmcp LY1--MinionPro-Bold--fsmcp
+.fi
+.Sp
+To get old-style numerals, just add the "\fB\-f\fRonum" option to each
+invocation -- and, to reduce confusion, append "--fonum" to the font metric
+names.
+.PP
+At this point, all our font metric files are installed, and it's finally
+time to create the ".fd" file. (The ".fd" format is documented in
+.IR "The LaTeX Companion" .)
+Let's call the LaTeX font family "MinionPro". Then the ".fd" file is
+"LY1MinionPro.fd", and it contains:
+.Sp
+.nf
+ \eDeclareFontFamily{LY1}{MinionPro}{}
+ \eDeclareFontShape{LY1}{MinionPro}{m}{n}%
+ { <\-> LY1--MinionPro-Regular }{}
+ \eDeclareFontShape{LY1}{MinionPro}{m}{it}{ <\-> LY1--MinionPro-It }{}
+ \eDeclareFontShape{LY1}{MinionPro}{m}{sc}%
+ { <\-> LY1--MinionPro-Regular--fsmcp }{}
+ \eDeclareFontShape{LY1}{MinionPro}{sb}{n}%
+ { <\-> LY1--MinionPro-Semibold }{}
+ \eDeclareFontShape{LY1}{MinionPro}{sb}{it}%
+ { <\-> LY1--MinionPro-SemiboldIt }{}
+ \eDeclareFontShape{LY1}{MinionPro}{sb}{sc}%
+ { <\-> LY1--MinionPro-Semibold--fsmcp }{}
+ \eDeclareFontShape{LY1}{MinionPro}{b}{n}{ <\-> LY1--MinionPro-Bold }{}
+ \eDeclareFontShape{LY1}{MinionPro}{b}{it}%
+ { <\-> LY1--MinionPro-BoldIt }{}
+ \eDeclareFontShape{LY1}{MinionPro}{b}{sc}%
+ { <\-> LY1--MinionPro-Bold--fsmcp }{}
+ \eDeclareFontShape{LY1}{MinionPro}{bx}{n}%
+ { <\-> ssub * MinionPro/b/n }{}
+ \eDeclareFontShape{LY1}{MinionPro}{bx}{it}%
+ { <\-> ssub * MinionPro/b/it }{}
+ \eDeclareFontShape{LY1}{MinionPro}{bx}{sc}%
+ { <\-> ssub * MinionPro/b/sc }{}
+.fi
+.PP
+We're now ready to use MinionPro in LaTeX, with lines like this in the
+document preamble:
+.Sp
+.nf
+ \eusepackage[LY1]{fontenc}
+ \erenewcommand{\ermdefault}{MinionPro}
+ \erenewcommand{\ebfdefault}{b}
+.fi
+.PP
+Of course, we're free at any time to add more MinionPro variants with
+.BR otftotfm ;
+they'll become accessible to LaTeX as soon as we edit the "MinionPro.fd"
+file.
+'
+.SH OPTIONS
+With long options, you need type only as many characters as will make the
+option unique.
+.SS Font Feature and Transformation Options
+.PD 0
+.TP 5
+.BI \-s " script\fR[.\fIlang\fR], " \-\-script= "script\fR[.\fIlang\fR]"
+Apply features suitable to the script system
+.I script
+and language system
+.IR lang .
+Scripts and language systems are two-to-four-letter names assigned by
+Microsoft and Adobe. Examples include "latn" (Latin script), "grek" (Greek
+script), and "yi.YIC" (Yi script with classic characters). If
+.I lang
+is not specified,
+.B otftotfm
+will use the default language system for that
+script. You can give this option multiple times. Run "\fBotfinfo\fR
+\-s \fIfont\fR" to see the list of scripts and languages a
+font supports. Defaults to "latn".
+'
+.Sp
+.TP 5
+.BI \-f " feature\fR, " \-\-feature= "feature"
+Activate the feature named
+.IR feature .
+Features are four-letter names assigned by Microsoft and Adobe; they are
+meant to correspond to font behaviors, such as kerning or small-capitals.
+Examples include "liga" (default ligatures), "dlig" (discretionary
+ligatures), "kern" (kerning), and "c2sc" (replacing capitals with small
+capitals). Give this option multiple times to apply multiple features. Run
+"\fBotfinfo\fR \-f [\-\-script option] \fIfont\fR" to see the list
+of features a font supports for a specified script.
+Defaults to any features required by the selected scripts.
+'
+.Sp
+.TP 5
+.BI \-\-lf " feature\fR, " \-\-letter\-feature= "feature"
+Activate the feature named
+.IR feature ,
+but only for letters. For instance, the "\-f smcp" option will apply the
+small-caps feature to all characters in the encoding; this may result in
+changes to punctuation and numbers as well as letters. The "\-\-lf smcp"
+option will apply the small-caps feature only to letters, meaning
+characters with the "Letter" Unicode property.
+'
+.Sp
+.TP 5
+.BI \-\-subs\-filter " pattern"
+.TP 5
+.BI \-\-include\-subs " pattern"
+.TP 5
+.BI \-\-exclude\-subs " pattern"
+.TP 5
+.BI \-\-clear\-subs
+Limit the characters that
+.B otftotfm
+will substitute. Substitution is allowed on an input character if it
+matches at least one of the
+.B \-\-include
+patterns, and none of the
+.B \-\-exclude
+patterns. Each pattern applies to all following features, except that the
+.B \-\-clear
+option clears any accumulated patterns. The
+.BI \-\-subs\-filter " pattern"
+option acts like
+.B \-\-clear\-subs
+followed by
+.BI \-\-include\-subs " pattern\fR. "
+For pattern syntax, see CHARACTER PATTERNS, below.
+.Sp
+In the command line below, the '<Number>' pattern will force the "onum"
+feature to substitute only numbers (and not, for example, punctuation).
+The "salt" feature can still substitute any character.
+.nf
+ \fBotftotfm\fR \fB\-f\fRsalt \fB\-\-include\-subs\fR='<Number>' \fB\-f\fRonum \.\.\.
+.fi
+'
+.Sp
+.TP 5
+.BI \-E " fac\fR, " \-\-extend= fac
+Widen, or extend, the font by a factor of
+.IR fac .
+Like
+.M afm2tfm 1 's
+.B \-e
+option.
+'
+.Sp
+.TP 5
+.BI \-S " amt\fR, " \-\-slant= amt
+Oblique, or slant, the font by
+.IR amt .
+Like
+.M afm2tfm 1 's
+.B \-s
+option.
+'
+.Sp
+.TP 5
+.BI \-L " amt\fR, " \-\-letterspacing= amt
+Letterspace each character by
+.IR amt
+units, where 1000 units equals one em. The width of each character
+increases by
+.IR amt ,
+with half the space distributed to each sidebearing. Boundary-character
+kerns are added to maintain alignment at the ends of lines.
+'
+.Sp
+.TP 5
+.BR \-\-math\-spacing "[=\fIskewchar\fR]"
+Ignore the font's claimed character widths, deriving horizontal metrics
+from bounding boxes instead. This results in similar spacing as the
+Computer Modern Math Italic font, with increased sidebearings for letters
+like f and j.
+.Sp
+If you provide
+.IR skewchar ,
+a number between 0 and 255 or a single character, then
+.B otftotfm
+adds heuristically-derived kerns to the font that may improve accent
+positions in math mode. To get the benefits, you must tell TeX about the
+.I skewchar
+with a command like "\eskewchar\efont=\fIskewchar\fR".
+'
+.Sp
+.TP 5
+.BI "\-k " "N\fR, " \-\-min\-kern= N
+Only output kerning pairs whose absolute value is
+.IR N
+or larger. Larger minimum kerns make kerning less precise, but shrink the
+output TFM file. The default minimum kern is 2.0, or 0.002 em.
+'
+.Sp
+.TP 5
+.BI \-\-space\-factor= fac
+Scale the width of the inter-word space by a factor of
+.IR fac .
+'
+.Sp
+.TP 5
+.BI \-\-design\-size= size
+Set the output font's design size to
+.IR size ,
+a value in TeX points. This value is mostly just documentation, since LaTeX
+essentially ignores fonts' design sizes, but plain TeX may occasionally use
+the design size to decide how large a font should be. (Loading a font in
+TeX "at" a particular size effectively ignores the design size; loading a
+font plain or "scaled" by a given factor uses the design size.) The default
+is taken from the input font's optical size feature, or 10pt if it has no
+such feature.
+.PD
+'
+'
+.SS Encoding Options
+'
+.PD 0
+.TP 5
+.BI \-e " encoding\fR, " \-\-encoding= encoding
+Select the output metrics's base
+.M dvips 1
+encoding.
+.B Otftotfm
+will search for
+.IR encoding [.enc]
+the same way that
+.B dvips
+would, so you may not need to give a full pathname. Say
+.B \-e \-
+to start with the font's default encoding.
+See ENCODINGS, below,
+for more information.
+'
+.Sp
+.TP 5
+.BI \-\-literal\-encoding= encoding
+Select the
+.M dvips 1
+encoding used for the font. No glyph substitutions will be permitted, so
+the output encoding will equal the input encoding (and
+.B otftotfm
+will not generate an output encoding).
+'
+.Sp
+.TP 5
+.BI \-\-ligkern= command
+Execute the specified LIGKERN
+.IR command
+in addition to any in the encoding. For example, "\fB\-\-ligkern\fR 'T {L}
+h'" suppresses any T_h ligature in the font. You can supply multiple
+.B \-\-ligkern
+options. See ENCODINGS, below.
+'
+.Sp
+.TP 5
+.BI \-\-position= command
+Execute the specified POSITION
+.IR command
+in addition to any in the encoding. For example, "\fB\-\-position\fR 'T 10
+0 20'" adds ten units of space to either side of the "T" character. You
+can supply multiple
+.B \-\-position
+options. See ENCODINGS, below.
+'
+.Sp
+.TP 5
+.BI \-\-unicoding= command
+Execute the specified UNICODING
+.IR command
+in addition to any in the encoding. For example, "\fB\-\-unicoding\fR 'pi1
+=: uni03D6'" tells
+.B otftotfm
+to encode "/pi1" as U+03D6 GREEK PI SYMBOL. You can supply multiple
+.B \-\-unicoding
+options. See ENCODINGS, below.
+'
+.Sp
+.TP 5
+.BI \-\-no\-encoding\-commands
+Ignore any LIGKERN and/or UNICODING commands in the encoding file.
+'
+.Sp
+.TP 5
+.BI \-\-no\-default\-ligkern
+Don't include
+.BR otftotfm 's
+default LIGKERN commands.
+'
+.Sp
+.TP 5
+.BI \-\-coding\-scheme= scheme
+Set the font's TFM coding scheme to
+.IR scheme ,
+which must be a string less than 40 characters long containing no
+parentheses. The default is the encoding's PostScript name. Most tools
+ignore the coding scheme, so you probably don't need to worry about this
+command unless you are using fontinst.
+'
+.Sp
+.TP 5
+.BI \-\-boundary\-char= char
+Set the font's boundary character to
+.IR char ,
+which should either be a single non-digit character, or a number between \-1
+and 255. The default is taken from the encoding.
+'
+.Sp
+.TP 5
+.BI \-\-altselector\-char= char
+Set the font's alternate-selector character to
+.IR char ,
+which should either be a single non-digit character, or a number between \-1
+and 255. Use an alternate selector if you want to choose between different
+versions of a character from within a TeX file. For instance, say that your
+font provides three versions of "A". If you want to access them all, pick a
+character to be your alternate selector -- say "*". Then give
+.B otftotfm
+the
+.BR \-\-altselector\-char= '*'
+option. In TeX, "A" will produce the normal version, "A*" will produce the
+first alternate, and "A**" will produce the second alternate. Furthermore,
+"s*t" will activate any discretionary "s_t" ligature in the font. The
+default alternate-selector character is taken from the encoding.
+.Sp
+The
+.B \-\-altselector\-char
+mechanism uses the features specified by
+.BR \-\-altselector\-feature
+options. You don't need to turn on those features if you use
+.BR \-\-altselector .
+.Sp
+See Sivan Toledo's article cited in the SEE ALSO section for more
+information.
+'
+.Sp
+.TP 5
+.BI \-\-altselector\-feature= feature
+Activate the feature named
+.I feature
+for the
+.B \-\-altselector\-char
+mechanism. Give this option multiple times to activate multiple
+features. This option activates features only for use with
+.BR \-\-altselector\-char ;
+use the
+.B \-\-feature
+option to activate features globally. Defaults to the
+.I salt
+and
+.I dlig
+features.
+'
+.Sp
+.TP 5
+.BI \-\-alternates\-filter= pattern
+.TP 5
+.BI \-\-include\-alternates= pattern
+.TP 5
+.BI \-\-exclude\-alternates= pattern
+.TP 5
+.BI \-\-clear\-alternates
+Limit the alternate characters that
+.B otftotfm
+will select. An alternate is used if it matches at least one of the
+.B \-\-include
+patterns, and none of the
+.B \-\-exclude
+patterns. Each pattern applies to all following features, except that the
+.B \-\-clear
+option clears any accumulated patterns. The
+.BI \-\-alternates\-filter " pattern"
+option acts like
+.B \-\-clear\-alternates
+followed by
+.BI \-\-include\-alternates " pattern\fR. "
+For pattern syntax, see CHARACTER PATTERNS, below.
+.Sp
+OpenType fonts can have many alternates per character, most of which aren't
+interesting. For example, the character "a" in WarnockPro-Regular has five
+alternates, "ordfeminine", "Asmall", "asuperior", "a.end", and
+"orn.013". The
+.B \-\-altselector\-char
+option lets you cycle through these alternates, but it's better to leave
+out the ones you don't want, to avoid overfull encodings. Thus, if you were
+only interested in ".end" variants, you might supply an
+.BR \-\-include\-alternates= "'*.end'"
+option.
+.Sp
+In the command line below, the '*.end' pattern will apply to "aalt"
+alternates, but not to "salt" alternates.
+.nf
+ \fBotftotfm\fR \fB\-f\fRsalt \fB\-\-include\-alternates\fR='*.end' \fB\-f\fRaalt \.\.\.
+.fi
+'
+.PD
+'
+'
+.SS Automatic Mode Options
+'
+.PD 0
+.TP 5
+.BI \-a "\fR, " \-\-automatic
+Select automatic mode.
+'
+.Sp
+.TP 5
+.BI \-v " vendor\fR, " \-\-vendor= vendor
+Set the font vendor name, which is used to locate files within the TDS.
+Defaults to "lcdftools".
+.Sp
+In automatic mode, TeX and friends will generally find required font files
+independently of the vendor you select.
+'
+.Sp
+.TP 5
+.BI \-\-typeface= typeface
+Set the font typeface name, which is used to locate files within the TDS.
+Defaults to the current font's family name with unsuiable characters
+removed.
+'
+.Sp
+.TP 5
+.BI \-\-no\-type1
+Do not use
+.M cfftot1 1
+to create Type 1 fonts corresponding to the OpenType input fonts.
+'
+.Sp
+.TP 5
+.BI \-\-no\-dotlessj
+Do not use
+.M t1dotlessj 1
+to create a special dotless-j font when the input font doesn't have
+dotless-j.
+'
+.Sp
+.TP 5
+.BI \-\-no\-updmap
+Do not run an
+.M updmap 1
+program. This can be useful if you're installing a bunch of fonts; it is
+much faster to run
+.B updmap
+once, at the end, than to run it once per font.
+.PD
+'
+'
+.SS Output Options
+.PD 0
+.TP 5
+.BI \-n " texname\fR, " \-\-name= texname
+Set the TeX name of the output font, which is used in font map files and,
+in automatic mode, to generate the output filename. The default is derived
+from the OpenType font's name and the features you selected.
+'
+.Sp
+.TP 5
+.BI \-p "\fR, " \-\-pl
+Output human-readable PL and VPL metrics, not binary TFM and VF metrics.
+Note:
+.BR Otftotfm 's
+PL and VPL output files are legal, but the
+.B fontinst
+program may not accept them (it has a picky parser). Make sure to supply a
+.BR \-\-coding\-scheme ;
+if that doesn't help, run the TFM output through
+.M tftopl 1 .
+'
+.Sp
+.TP 5
+.BI \-\-no\-virtual
+Do not generate virtual fonts (VFs and VPLs).
+.B Otftotfm
+will warn if the selected font features cannot be implemented without
+virtual fonts.
+'
+.Sp
+.TP 5
+.BI \-\-no\-encoding
+Do not generate an encoding file.
+'
+.Sp
+.TP 5
+.BR \-\-output\-encoding [=\fIfile\fR]
+Only generate an encoding file; do not generate any other output. The
+encoding file is written to
+.IR file ,
+or to standard output if no
+.I file
+argument is supplied.
+'
+.Sp
+.TP 5
+.BI \-\-no\-map
+Do not generate a font map line for the font.
+.PD
+'
+'
+.SS File Location Options
+.PD 0
+.TP 5
+.BI \-\-tfm\-directory= dir
+.TP 5
+.BI \-\-pl\-directory= dir
+.TP 5
+.BI \-\-vf\-directory= dir
+.TP 5
+.BI \-\-vpl\-directory= dir
+.TP 5
+.BI \-\-encoding\-directory= dir
+.TP 5
+.BI \-\-type1\-directory= dir
+Set the directory used for various output types. Each directory may be set
+by an environment variable, and defaults to a TDS directory in automatic
+mode, or to "." otherwise. Environment variable names and default TDS
+locations are described in the Automatic Mode section above.
+'
+.Sp
+.TP 5
+.BI \-\-map\-file= filename
+Set file in which
+.B otftotfm
+will write a font map
+line for the font. The default is the standard output in manual mode, and
+"TEXMF/fonts/map/dvips/\fIvendor\fR/\fIvendor\fR.map" (or
+"TEXMF/dvips/\fIvendor\fR/\fIvendor\fR.map" on older installations) in
+automatic mode.
+.PD
+'
+'
+.SS Miscellaneous Options
+.PD 0
+.TP 5
+.BI \-\-glyphlist= file
+Use
+.I file
+as the Adobe glyph list, which helps translate glyph names to Unicode code
+points. See ENCODINGS, below, for more information.
+'
+.Sp
+.TP 5
+.BR \-V ", " \-\-verbose
+Write progress messages to standard error.
+'
+.Sp
+.TP 5
+.BR \-\-no\-create
+Do not create or modify any files. Instead, write messages about the
+program's hypothetical progress to standard error.
+'
+.Sp
+.TP 5
+.BR \-\-force
+Generate all files, even if it looks like versions are already installed.
+'
+.Sp
+.TP 5
+.BR \-q ", " \-\-quiet
+Do not generate any error messages.
+'
+.Sp
+.TP 5
+.BI \-\-kpathsea\-debug= flags
+Set path searching debugging flags. See the
+.I Kpathsea
+manual for details.
+'
+.Sp
+.TP 5
+.BR \-h ", " \-\-help
+Print usage information and exit.
+'
+.Sp
+.TP 5
+.BR \-\-version
+Print the version number and some short non-warranty information and exit.
+.PD
+'
+.SH ENCODINGS
+.B Otftotfm
+interprets encoding files as Unicode. For example, if an input encoding
+has "/dotlessi" at position 10, then
+.B otftotfm
+detects that the user wants to encode Unicode character U+0131 LATIN SMALL
+LETTER DOTLESS I at position 10. The output encoding will use whatever
+glyph the font suggests for that Unicode character, given the collection of
+features you chose.
+.PP
+You can control this process with "UNICODING" comments in the input
+encoding file. UNICODING comments have the following format:
+.nf
+ % UNICODING \fIglyph\fR =: \fIchoice1\fR [\fIchoice2\fR ...] ;
+.fi
+\fIGlyph\fR and the
+.IR choice s
+are PostScript glyph names. This comment tells
+.B otftotfm
+that the glyph named
+.I glyph
+translates into the first Unicode value in the
+.I choice
+list that has a character in the font. For example,
+.nf
+ % UNICODING pi1 =: uni03D6 ;
+.fi
+tells otftotfm that the character "/pi1" encodes as U+03D6 GREEK PI SYMBOL,
+and
+.nf
+ % UNICODING Delta =: uni0394 uni2206 ;
+.fi
+tells it that U+0394 GREEK CAPITAL LETTER DELTA should be preferred to
+U+2206 INCREMENT as an encoding for "/Delta". You can also supply regular
+glyph names:
+.nf
+ % UNICODING Delta =: Deltagreek Delta ;
+.fi
+.B Otftotfm
+uses Adobe's
+.I glyphlist.txt
+file to translate glyph names to Unicode; see
+.IR http://partners.adobe.com/asn/developer/type/unicodegn.html .
+.LP
+You can map a glyph to nothing to remove that glyph from the input
+encoding. This is useful to remove optional characters; for instance:
+.nf
+ % UNICODING ff =: ; fi =: ; fl =: ; ffi =: ; ffl =: ;
+.fi
+The f-ligatures will be added back to the encoding, preferably at their
+original locations, if some font feature requires them.
+.LP
+Map a glyph to 'emptyslot' if you don't want
+.B otftotfm
+to use the slot for a ligature character. For example, given this
+UNICODING,
+.nf
+ % UNICODING ff =: ff emptyslot ;
+.fi
+.B otftotfm
+will leave the 'ff' encoding slot unused if the font has no 'ff' glyph.
+(Note that most OpenType fonts provide a visible representation for unused
+encoding slots, namely a box with an X inside.)
+.LP
+Each UNICODING line can contain multiple commands, separated by spaced
+semicolons.
+.PP
+LIGKERN comments in the encoding can add ligatures and inhibit kerns, as in
+.M afm2tfm 1 .
+To add a ligature, say:
+.nf
+ % LIGKERN \fIglyph1\fR \fIglyph2\fR =: \fIresult\fR ;
+.fi
+The "=:" operator indicates a normal ligature, where both the input glyphs
+are removed and replaced by
+.IR result .
+To preserve the left-hand glyph, for an effect like "\fIglyph1\fR
+\fIglyph2\fR =: \fIglyph1\fR \fIresult\fR", use "|=:" instead; to preserve
+the right-hand glyph, use "=:|". The other five ligature operators are not
+yet supported.
+To remove all kerns between two characters, say:
+.nf
+ % LIGKERN \fIglyph1\fR {} \fIglyph2\fR ;
+.fi
+A "*" matches any character, so
+.nf
+ % LIGKERN a {} * ;
+.fi
+removes all kerns with "a" as the left-hand character, and
+.nf
+ % LIGKERN * {} * ;
+.fi
+removes all kerns.
+.PP
+.B Otftotfm
+also supports extended syntax for setting kern values and inhibiting
+ligatures. To add an \fIn\fR-unit kern between two glyphs, say:
+.nf
+ % LIGKERNX \fIglyph1\fR {\fIn\fR} \fIglyph2\fR ;
+.fi
+where \fIn\fR is an integer. This:
+.nf
+ % LIGKERNX \fIglyph1\fR {L} \fIglyph2\fR ;
+.fi
+inhibits any ligature between
+.I glyph1
+and
+.IR glyph2 .
+"{LK}" and "{KL}" inhibit both ligatures and kerns.
+.PP
+You can set the
+.B \-\-boundary\-char
+and
+.B \-\-altselector\-char
+from an encoding file with commands like this:
+.nf
+ % LIGKERN || = \fIboundarychar\fR ;
+ % LIGKERNX ^^ = \fIaltselectorchar\fR ;
+.fi
+As with UNICODING, each LIGKERN or LIGKERNX line can contain multiple
+commands, separated by spaced semicolons.
+.PP
+The POSITION command shifts a glyph within its bounding box. The syntax is
+.nf
+ % POSITION \fIglyph\fR \fIpdx\fR \fIpdy\fR \fIadx\fR ;
+.fi
+This will add
+.I pdx
+units of space to
+.IR glyph 's
+left edge; raise it up by
+.I pdy
+units; and add
+.I adx
+units to its width. For example, to add 10 units of space to either side
+of the "T" glyph, supply
+.nf
+ % POSITION T 10 0 20
+.fi
+To move the "degree" symbol up by 20 units, supply
+.nf
+ % POSITION degree 0 20 0
+.fi
+.PP
+Finally, the CODINGSCHEME command specifies a default
+.B \-\-coding\-scheme
+for the encoding; for example:
+.nf
+ % CODINGSCHEME EXTENDED TEX FONT ENCODING
+.fi
+.PP
+The
+.BR \-\-unicoding ,
+.BR \-\-ligkern ,
+and
+.B \-\-position
+options let you add virtual UNICODING, LIGKERN/LIGKERNX, and POSITION
+comments to an encoding.
+.PP
+.B Otftotfm
+has a default set of eight ligatures, namely:
+.nf
+ space l =: lslash ; space L =: Lslash ;
+ question quoteleft =: questiondown ; exclam quoteleft =: exclamdown ;
+ hyphen hyphen =: endash ; endash hyphen =: emdash ;
+ quoteleft quoteleft =: quotedblleft ;
+ quoteright quoteright =: quotedblright
+.fi
+LIGKERN commands in the encoding file and
+.B \-\-ligkern
+options can override these defaults, or supply the
+.B \-\-no\-default\-ligkern
+option to turn them off.
+.PP
+Some common encoding files have commands that are inappropriate for
+OpenType fonts. For example, "t1.enc" hard-codes f-ligatures, which can
+cause problems with small-cap fonts. Supply the
+.B \-\-no\-encoding\-commands
+option to ignore all commands from the encoding file. Explicit
+.B \-\-ligkern
+and
+.B \-\-unicoding
+options are processed in any case.
+'
+.SS New Glyphs
+.PP
+New glyphs, such as ligatures and contextual substitutions, are added to
+the encoding in any empty spaces, using their original locations when
+possible. If the encoding doesn't have enough space for all new glyphs,
+shorter ligatures composed of unaccented letters get precedence.
+'
+.SS Synthetic Glyphs
+.PP
+.B Otftotfm
+can synthesize some glyphs using virtual font manipulations, if a required
+glyph is not available in the input font. Specifically, it will synthesize:
+.Sp
+.PD 0
+.TP 22
+cwm
+TeX's compound word mark (a zero-width "strut" rule with height equal to the font's x-height)
+.TP
+ascendercompwordmark
+"cwm" with height equal to the font's ascenders
+.TP
+capitalcompwordmark
+"cwm" with height equal to the font's capitals
+.TP
+visualspace
+A square cup used to represent spaces
+.TP
+dotlessj
+A dotless "j", synthesized with
+.M t1dotlessj 1
+.TP
+dblbracketleft
+Kerned version of "[["
+.TP
+dblbracketright
+Kerned version of "]]"
+.TP
+bardbl
+The parallel symbol "||"
+.TP
+asteriskmath
+Vertically-centered "*"
+.TP
+twelveudash
+2/3-em-wide dash
+.TP
+threequartersemdash
+3/4-em-wide dash
+.TP
+centigrade
+"(degrees)C"
+.TP
+interrobang
+Combined "?!" symbol
+.TP
+interrobangdown
+Inverted interrobang
+.TP
+pertenthousand
+Per-ten-thousand sign (% with two extra 0s)
+.TP
+IJ
+"IJ" ligature
+.TP
+ij
+"ij" ligature
+.TP
+Germandbls
+"SS" (a capital sharp-s)
+.TP
+SSsmall
+Small-capital version of "SS"
+.TP
+FFsmall
+Small-capital version of "FF"
+.TP
+FIsmall
+Small-capital version of "FI"
+.TP
+FLsmall
+Small-capital version of "FL"
+.TP
+FFIsmall
+Small-capital version of "FFI"
+.TP
+FFIsmall
+Small-capital version of "FFL"
+.PD
+'
+'
+.SH "GLYPH PATTERNS"
+.LP
+The
+.BR \-\-include\-subs
+and
+.BR \-\-include\-alternates
+options, and their
+.B \-\-exclude
+variants, accept the following types of pattern.
+.BUP
+Glyph names. Example: "Aacute". Use
+.M otfinfo 1 's
+.B \-g
+option to see a font's glyph names, and "\fBcfftot1\fR \fIfont\fR.otf |
+\fBt1testpage\fR" to generate a PostScript file showing each glyph.
+.BUP
+Glyph name patterns using the shell-style glob-matching rules: "*" matches
+any number of characters, "?" matches any single character, and "[...]"
+matches any character in a set. Example: "*.end".
+.BUP
+Unicode category properties in angle brackets. Examples: "<Letter>",
+"<UppercaseLetter>", "<Lu>". The complete list of both short and long
+names: Letter/L, UppercaseLetter/Lu, LowercaseLetter/Ll,
+TitlecaseLetter/Lt, ModifierLetter/Lm, OtherLetter/Lo; Number/N,
+DecimalNumber/Nd, LetterNumber/Nl, OtherNumber/No; Punctuation/P,
+ConnectorPunctuation/Pc, DashPunctuation/Pd, OpenPunctuation/Ps,
+ClosePunctuation/Pe, InitialPunctuation/Pi, FinalPunctuation/Pf,
+OtherPunctuation/Po; Symbol/S, MathSymbol/Sm, CurrencySymbol/Sc,
+ModifierSymbol/Sk, OtherSymbol/So; Mark/M, SpacingMark/Mc,
+EnclosingMark/Me, NonspacingMark/Mn; Separator/Z, SpaceSeparator/Zs,
+LineSeparator/Zl, ParagraphSeparator/Zp; Other/C, Surrogate/Cs, Format/Cf,
+Control/Cc, PrivateUse/Co, Unassigned/Cn. Category values current as of
+Unicode 4.0.
+.BUP
+Unicode ranges. Example: "U+007f-U+008C".
+.PP
+The "!" prefix negates a pattern, and you can separate multiple patterns by
+spaces.
+'
+.SH "FEATURE DIRECTORY"
+.LP
+This section lists features common to Western OpenType fonts and describes
+how
+.B otftotfm
+handles them for common fonts. Please send the author mail if
+.B otftotfm
+does not handle a feature you need, or you believe it handles some feature
+incorrectly.
+.Sp
+.PD 0
+.TP 5
+.IR aalt ", Access All Alternates"
+Lets the user choose between all available alternate forms for a character.
+This includes things like superscript and subscript variants, different
+styles (swash, for example), and even ornaments. The
+.BR \-\-altselector\-feature= aalt
+option can help an
+.BR \-\-altselector\-char
+provide useful access to alternates, but the
+.I aalt
+feature isn't usually useful on its own. Try the
+.IR salt " and " calt
+features instead.
+.TP 5
+.IR c2sc ", Small Capitals From Capitals"
+Replaces capital letters with small capitals: a sort of converse of the
+more conventional
+.I smcp
+feature, which replaces lower-case letters with small capitals. Supported.
+.TP 5
+.IR calt ", Contextual Alternates"
+Lets the user choose between context-appropriate swash forms for each
+character. For example, given the word "DREW" in a cursive typeface, the "R
+E W" might be translated to calmer forms than the initial "D". There may be
+more than one choice for a given letter, in which case the user should be
+able to select among them. TeX can't support complex contextual alternates,
+or alternate selection, but
+.B otftotfm
+supports some fonts quite well. The input encoding should have lots of
+empty space for variants, and it should specify a boundary character. See
+also
+.IR cswh .
+.TP 5
+.IR case ", Case-Sensitive Forms"
+Shifts punctuation marks up to a position that works well with
+all-capital-letter sequences. For example, the hyphen character, which
+generally centers vertically on the x-height, is raised up to center
+vertically on a capital letter. Also replaces text figures with lining
+figures, and accent marks with forms more appropriate for capitals.
+Supported.
+.TP 5
+.IR cpsp ", Capital Spacing"
+Adds a bit of space on either side of each capital letter. Supported.
+(However, the OpenType tag registry suggests that
+.I cpsp
+be on by default, but applying to all-caps text only; TeX cannot easily
+implement that contextual intelligence.)
+.TP 5
+.IR cswh ", Contextual Swash"
+Lets the user choose between context-appropriate swash forms for each
+character. For example, in the words "Ab AC", the first "A" might be
+translated to a swash form, while the second might not. There may be more
+than one choice for a given letter, in which case the user should be able
+to select among them. TeX can't support complex contextual swashes, or
+alternate selection, but
+.B otftotfm
+supports some fonts quite well. The input encoding should have lots of
+empty space for swash variants, and it should specify a boundary
+character. See also
+.IR calt .
+.TP 5
+.IR dlig ", Discretionary Ligatures"
+Activates uncommon ligatures, such as "c_t", "s_p", and "s_t". Supported.
+.TP 5
+.IR dnom ", Denominators"
+Replaces digits and some punctuation marks with smaller forms sitting on
+the baseline, intended for fraction denominators. Supported.
+.TP 5
+.IR fina ", Terminal Forms"
+Substitutes appropriate forms for letters occurring at the ends of words.
+This feature doesn't select swash variants; it's intended for normal use,
+and the specification recommends that it be on by default. Partially
+supported: TeX will only treat spaces as the ends of words, where a correct
+implementation would probably include punctuation too. See
+.IR cswh
+for selecting swash variants active at the ends of words.
+.TP 5
+.IR frac ", Fractions"
+Replaces simple sequences like "1/2" with nice-looking fractions.
+Supported, but beware: many fonts will translate "11/32" into "1" + "1/3" +
+"2".
+.TP 5
+.IR hist ", Historical Forms"
+Replaces characters with historical variants. Usually, this means at least
+translating regular "s" to long "s". Supported.
+.TP 5
+.IR kern ", Kerning"
+Adjusts the space between characters (pair kerning). Generally supported,
+and you should probably turn it on.
+.TP 5
+.IR liga ", Standard Ligatures"
+Activates common ligatures, such as "f_f", "f_i", "f_f_j", and (in some
+Adobe fonts) "T_h". Generally supported, and you should probably turn it
+on.
+.TP 5
+.IR lnum ", Lining Figures"
+Uses lining figures, the set of digits that are all about as high as
+capital letters.
+Supported. Compare
+.IR onum ;
+see also
+.IR pnum
+and
+.IR tnum.
+.TP 5
+.IR numr ", Numerators"
+Replaces digits and some punctuation marks with smaller, raised forms
+intended for fraction numerators. Supported, but not usually useful.
+.TP 5
+.IR onum ", Oldstyle Figures"
+Uses old-style figures, also known as text figures. This is the set of
+digits that have ascenders and descenders like lower-case letters.
+Supported. Compare
+.IR lnum ;
+see also
+.IR pnum
+and
+.IR tnum .
+.TP 5
+.IR ordn ", Ordinals"
+Designed for Spanish and French. Replaces ordinal numbers, such as "2.o",
+with forms where the "o" is raised, and replaces the sequence "No" with an
+integrated glyph. Supported.
+.TP 5
+.IR ornm ", Ornaments"
+Replaces some alphabetic characters in the font with ornaments, and links
+the bullet character to a set of all bullet-like ornaments, from which the
+user can choose. Partially supported: TeX can handle alphabetic
+substitutions, but not bullet choice.
+.TP 5
+.IR pnum ", Proportional Figures"
+Digits will have different widths. Supported. Compare
+.IR tnum ;
+see also
+.IR lnum
+and
+.IR onum.
+.TP 5
+.IR salt ", Stylistic Alternates"
+Lets the user choose between stylistic alternate forms for a character.
+The
+.BR \-\-altselector\-char
+mechanism provides useful access to this feature. If you turn on
+.IR salt
+globally,
+.B otftotfm
+takes the first alternate form whenever there's more than one choice. See
+also
+.IR aalt
+and
+.IR ss01 ;
+.IR salt
+is generally more useful than
+.IR aalt
+for TeX, since it refers exclusively to stylistic alternates.
+.TP 5
+.IR sinf ", Scientific Inferiors"
+Replaces digits and some punctuation marks with smaller, lowered forms
+intended for subscripts. Supported.
+.TP 5
+.IR size ", Optical Size"
+This feature stores information about the range of optical sizes for which
+the font was intended. There is no point in selecting it with
+.BR otftotfm ,
+since it should not change the font's appearance in any way.
+.TP 5
+.IR smcp ", Small Capitals"
+Replaces lower-case letters with small capitals. Supported. Compare
+.IR c2sc .
+.TP 5
+.IR ss01 - ss20 ", Stylistic Sets 1-20"
+Replaces characters with a uniform set of stylistic alternates. Differs
+from features like
+.I salt
+in that a Stylistic Set is uniform: an
+.I ssXX
+feature should never involve selection from a set of possible alternate
+characters. Supported.
+.TP 5
+.IR sups ", Superscript"
+Replaces digits, some punctuation marks, and some lower-case letters with
+smaller, raised forms intended for superscripts. Supported.
+.TP 5
+.IR swsh ", Swash"
+Activates all swash forms for each character. There may be more than one
+swash form, in which case
+.B otftotfm
+will pick the first one listed. Supported, except that swash variants
+other than the first are inaccessible.
+.TP 5
+.IR tnum ", Tabular Figures"
+All digits will have the same width, so that tables and the like will align
+visually. Supported. Compare
+.IR pnum ;
+see also
+.IR lnum
+and
+.IR onum.
+.TP 5
+.IR zero ", Slashed Zero"
+Replaces the zero character with a slashed zero. Supported.
+.PD
+'
+.SH "DIAGNOSTICS AND TROUBLESHOOTING"
+'
+.TP 5
+no writable directory found in $TEXMF
+'
+.B Otftotfm
+could not find a writable directory in your $TEXMFVAR or $TEXMF path. Did
+you create a
+.I $HOME/.texmf-var
+or
+.I $HOME/texmf
+directory? If so, run the command "kpsewhich \-\-expand\-path='$TEXMF'" to
+verify that directory is not being found. You may need to set your TEXMF
+environment variable, to '{!!'"$HOME"'/texmf,!!$TEXMFMAIN}', for instance
+(note the different kinds of quotes; on my machine, this expands to
+\&'{!!/home/kohler/texmf,!!$TEXMFMAIN}').
+'
+.TP 5
+\&'\fIchar\fR' has no encoding, ignoring kern removal
+.PD 0
+.TP 5
+(or ligature removal, lig/kern removal, or ligature)
+.PD
+'
+These messages indicate a slight problem with your encoding file: one of
+the LIGKERN commands referred to a character not present in the encoding.
+This might be due to a misspelling in the LIGKERN command or the encoding
+file, or it might be an oversight. Either fix the encoding file or ignore
+the warning.
+'
+.TP 5
+can't map '\fIchar\fR' to Unicode
+'
+Another encoding file problem: One of the glyph names in an UNICODING block
+could not be converted to Unicode. This is problematic since UNICODING
+exists wholly to translate glyph names into Unicode. Fix the encoding file
+or ignore the warning.
+'
+.TP 5
+not enough room in encoding, ignoring \fIN\fR glyph(s) ...
+'
+There wasn't space in the encoding for all the glyphs referred to by the
+features you selected. For example, maybe the font had more ligatures than
+there were empty slots in the encoding. Fix this warning by selecting fewer
+features, or by using an encoding with more empty slots, such as the 7t.enc
+encoding distributed with
+.BR otftotfm .
+'
+.SH "FREQUENTLY ASKED QUESTIONS"
+.TP 5
+How can I get a small-caps "SS" in place of the German sharp-S?
+'
+Supply the option "\fB\-\-unicoding\fR 'germandbls =: SSsmall'".
+'
+.TP 5
+How can I prevent f-ligatures from forming in a small-caps font?
+'
+This should happen automatically, but some overzealous encoding files add
+f-ligatures even when the font doesn't request them. Try the
+"\fB\-\-no\-encoding\-commands\fR" option if this is a problem for you.
+'
+.TP 5
+\fBOtftotfm\fR seems to take a long time.
+'
+Use the
+.B \-V
+option to see what it's doing. Often the culprit is the
+.M updmap 1
+program; if you're planning to run
+.B otftotfm
+multiple times, give it the
+.B \-\-no\-updmap
+option and run
+.B updmap
+manually when you're done.
+'
+.SH "BUGS"
+.\" .LP
+.\" Presumably some context-sensitive positionings and ligatures could be
+.\" implemented with TeX's boundary character, but
+.\" .B otftotfm
+.\" doesn't do that yet.
+.LP
+See the documentation for
+.B \-\-pl
+above if you have problems running
+.BR otftotfm 's
+output through
+.BR fontinst .
+'
+.SH "SEE ALSO"
+.LP
+.M pltotf 1 ,
+.M tftopl 1 ,
+.M vptovf 1 ,
+.M afm2tfm 1 ,
+.M dvips 1 ,
+.M cfftot1 1 ,
+.M otfinfo 1 ,
+.M t1dotlessj 1 ,
+.M t1testpage 1 ,
+.M kpsewhich 1 ,
+.M updmap 1
+.LP
+.I "Adobe Type 1 Font Format"
+.LP
+Adobe Technical Notes #5176,
+.IR "The Compact Font Format Specification" ,
+and #5177,
+.I "The Type 2 Charstring Format"
+.LP
+.IR "OpenType Specification" ,
+Version 1.4
+.LP
+.IR "A Directory Structure for TeX Files" ,
+http://www.tug.org/tds/
+.LP
+.IR "Kpathsea: A library for path searching" ,
+http://www.tug.org/kpathsea/
+.LP
+Sivan Toledo,
+.IR "Exploiting Rich Fonts" ,
+TUGboat 21(2), 2000,
+http://www.tug.org/TUGboat/Articles/tb21-2/tb67tole.pdf
+.LP
+Michel Goossens, Frank Mittelbach, and Alexander Samarin,
+.IR "The LaTeX Companion"
+(for information on the .fd file format).
+'
+.SH AUTHOR
+Eddie Kohler (kohler@cs.ucla.edu)
+.PP
+Thanks to Karl Berry, Marco Kuhlmann, Adam Lindsay, Bruce D'Arcus, Thomas
+Esser, Claire Connelly, Nelson H.F. Beebe, and Ryuji Suzuki for
+suggestions, bug reports, and help. Particular thanks to Achim Blumensath
+and Michael Zedler for suggestions and patches, some of them extensive.
+
diff --git a/Master/texmf/doc/man/man1/otp2ocp.1 b/Master/texmf/doc/man/man1/otp2ocp.1
new file mode 100644
index 00000000000..c111acc49d3
--- /dev/null
+++ b/Master/texmf/doc/man/man1/otp2ocp.1
@@ -0,0 +1,41 @@
+.TH "otp2ocp" "1" "September 2000" "Omega" "Omega"
+.PP
+.SH "NAME"
+otp2ocp \- convert Omega Translation Process files to Omega
+Compiled Process files
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBotp2ocp\fP \fIOTPFILE\fP[\&.otp] [ \fIOCPFILE\fP[\&.ocp] ]
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBotp2ocp\fP is used to create or recreate Omega Compiled Process
+files (binary) from Omega Translation Process (text) files\&.
+.PP
+Omega Translation Processes are rules used to translate one character
+set to another and to choose between characters with one or more
+context-sensitive variants\&. OTPs could also be used to change the
+case or hyphenation of text\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBmkocp\fP(1), \fBomega\fP(1)\&.
+.PP
+\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&.
+.PP
+Web page: <http://www\&.gutenberg\&.eu\&.org/omega/>
+.PP
+.SH "AUTHOR"
+.PP
+The primary authors of Omega are John Plaice
+<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous
+<yannis@fluxus-virus\&.com>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<cmc@debian\&.org>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
+.PP
diff --git a/Master/texmf/doc/man/man1/outocp.1 b/Master/texmf/doc/man/man1/outocp.1
new file mode 100644
index 00000000000..ee803d9be67
--- /dev/null
+++ b/Master/texmf/doc/man/man1/outocp.1
@@ -0,0 +1,44 @@
+.TH "outocp" "1" "September 2000" "Omega" "Omega"
+.PP
+.SH "NAME"
+outocp \- debug an OCP file
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBoutocp\fP \fIOCPFILE\fP[\&.ocp]
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBoutocp\fP is used for debugging Omega Compiled Translation Process
+(OCP) files\&. It generates some statistics about the OCP file, and
+then runs through the states that the file defines\&.
+.PP
+Omega Translation Processes are rules used to translate one character
+set to another and to choose between characters with one or more
+context-sensitive variants\&. OTPs could also be used to change the
+case or hyphenation of text\&.
+.PP
+.SH "BUGS"
+.PP
+None known, but report any found to <omega@ens\&.fr> (mailing list)\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBocp2otp\fP(1), \fBotp2ocp\fP(1), \fBomega\fP(1)\&.
+.PP
+\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&.
+.PP
+Web page: <http://www\&.gutenberg\&.eu\&.org/omega/>
+.PP
+.SH "AUTHOR"
+.PP
+The primary authors of Omega are John Plaice
+<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous
+<yannis@fluxus-virus\&.com>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<cmc@debian\&.org>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/ovf2ovp.1 b/Master/texmf/doc/man/man1/ovf2ovp.1
new file mode 100644
index 00000000000..86fbbb56dd9
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ovf2ovp.1
@@ -0,0 +1,87 @@
+.TH "ovf2ovp" "1" "September 2000" "Omega" "Omega"
+.PP
+.SH "NAME"
+ovf2ovp \- convert a virtual font file and its associated
+font metric file into property-list format
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBovf2ovp\fP [ \fIOPTION\fP\&.\&.\&. ] \fIOVFNAME\fP[\&.ovf] [ [
+\fIOFMNAME\fP[\&.ofm] ] [ \fIOVPFILE\fP[\&.ovp] ] ]
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBovf2ovp\fP translates a virtual font (OVF) file, \fIOVFNAME\fP,
+and its companion font metric (OFM) file, \fIOFMNAME\fP, into a
+human-readable property-list format\&. The program writes to standard
+output (by default) or to a file specified as \fIOVPNAME\fP\&.
+.PP
+The program also works with TeX VF and TFM files, producing TeX VP
+files\&. (\fBovf2ovp\fP is based on the WEB source code for
+\fBvftovp\fP(1)\&.)
+.PP
+.SH "OPTIONS"
+.PP
+.IP
+.IP "\fB-charcode-format=\fP\fITYPE\fP"
+output character codes
+according to \fITYPE\fP, which can be either `hex\&' or `ascii\&'\&.
+Default is `hex\&'\&. ascii specifes all ASCII letters and digits; hex
+gets you everything else\&.
+.IP
+.IP "\fB-help\fP"
+display a brief summary of syntax and options
+.IP "\fB-verbose\fP"
+display progress reports
+.IP "\fB-version\fP"
+output version information and exit
+.IP
+.PP
+.SH "FILES"
+.PP
+.IP "\fIOVPFILE\fP"
+Omega Virtual Property List file
+.IP "\fIOFMNAME\fP"
+Omega Font Metric file
+.IP "\fIOVFNAME\fP"
+Omega Virtual Font file
+.PP
+.SH "BUGS"
+.PP
+None known, but report any found to <omega@ens\&.fr> (mailing list)\&. You should also
+check to see if the bug is also in \fBvftovp\fP(1)\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBomega\fP(1), \fBofm2opl\fP(1), \fBovp2ovf\fP(1),
+\fBpltotf\fP(1), \fBtftopl\fP(1), \fBvftovp\fP(1),
+\fBvptovf\fP(1)
+.PP
+\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&.
+.PP
+Web page: <http://www\&.gutenberg\&.eu\&.org/omega/>
+.PP
+.SH "AUTHOR"
+.PP
+According to the WEB documentation:
+.PP
+.RS
+\fBVFtoVP\fP is an extended version of the program \fBTFtoPL\fP,
+which is part of the standard tex()ware library\&. The idea of a
+virtual font was inspired by the work of David R\&. Fuchs who designed a
+similar set of conventions in 1984 while developing a device driver
+for ArborText, Inc\&. He wrote a somewhat similar program called
+\fBAMFtoXPL\fP\&.
+.RE
+.PP
+The primary authors of Omega are John Plaice
+<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous
+<yannis@fluxus-virus\&.com>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<cmc@debian\&.org>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
+.PP
diff --git a/Master/texmf/doc/man/man1/ovp2ovf.1 b/Master/texmf/doc/man/man1/ovp2ovf.1
new file mode 100644
index 00000000000..2793db27eda
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ovp2ovf.1
@@ -0,0 +1,78 @@
+.TH "ovp2ovf" "1" "September 2000" "Omega" "Omega"
+.PP
+.SH "NAME"
+ovp2ovf \- convert a virtual property-list file into a
+virtual font file and its associated font metric file
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBovp2ovf\fP [ \fIOPTION\fP\&.\&.\&. ] \fIOVPFILE\fP[\&.ovp] [ [
+\fIOVFFILE\fP[\&.ovf] ] [ \fIOFMFILE\fP[\&.ofm] ] ]
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBovp2ovf\fP translates a human-readable virtual property list (OVP)
+file, \fIOVPFILE\fP, into a virtual font (OVF) file, \fIOVFFILE\fP
+and its companion font metric (OFM) file, \fIOFMFILE\fP\&.
+.PP
+The program also works with TeX VP files, producing VF and TFM files\&.
+(\fBovp2ovf\fP is based on the WEB source code for \fBvptovf\fP(1)\&.)
+.PP
+.SH "OPTIONS"
+.PP
+.IP "\fB-help\fP"
+display a brief summary of syntax and options
+.IP "\fB-verbose\fP"
+display progress reports
+.IP "\fB-version\fP"
+output version information and exit
+.IP
+.PP
+.SH "FILES"
+.IP "\fIOFMFILE\fP"
+Omega Font Metric file
+.IP "\fIOVFFILE\fP"
+Omega Virtual Font file
+.IP "\fIOVPFILE\fP"
+Omega Virtual Property List file
+.PP
+.SH "BUGS"
+.PP
+None known, but report any found to <omega@ens\&.fr> (mailing list)\&. You should also
+check to see if the bug is in \fBvptovf\fP(1)\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBomega\fP(1), \fBofm2opl\fP(1), \fBovf2ovp\fP(1),
+\fBpltotf\fP(1), \fBtftopl\fP(1), \fBvftovp\fP(1),
+\fBvptovf\fP(1)
+.PP
+\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&.
+.PP
+Web page: <http://www\&.gutenberg\&.eu\&.org/omega/>
+.PP
+.SH "AUTHOR"
+.PP
+According to the WEB documentation:
+.PP
+.RS
+\fBVPtoVF\fP is an extended version of the program \fBPLtoTF\fP,
+which is part of the standard TeXware library\&. \fBOVP2OVF\fP is an
+extended version of \fBVPtoVF\fP that allows much larger fonts\&. The
+idea of a virtual font was inspired by the work of David R\&. Fuchs who
+designed a similar set of conventions in 1984 while developing a
+device driver for ArborText, Inc\&. He wrote a somewhat similar program
+called \fBPLFONT\fP\&.
+.RE
+.PP
+The primary authors of Omega are John Plaice
+<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous
+<yannis@fluxus-virus\&.com>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<cmc@debian\&.org>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
+.PP
diff --git a/Master/texmf/doc/man/man1/oxdvi.1 b/Master/texmf/doc/man/man1/oxdvi.1
new file mode 120000
index 00000000000..33de598c928
--- /dev/null
+++ b/Master/texmf/doc/man/man1/oxdvi.1
@@ -0,0 +1 @@
+xdvi.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/patgen.1 b/Master/texmf/doc/man/man1/patgen.1
new file mode 100644
index 00000000000..ac33a0852e5
--- /dev/null
+++ b/Master/texmf/doc/man/man1/patgen.1
@@ -0,0 +1,170 @@
+.TH PATGEN 1 "23 August 2004" "Web2C 7.5.5"
+.\"=====================================================================
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+patgen \- generate patterns for TeX hyphenation
+.SH SYNOPSIS
+.B patgen
+.I dictionary_file pattern_file patout_file translate_file
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B patgen
+program reads the
+.I dictionary_file
+containing a list of hyphenated words and the
+.I pattern_file
+containing previously-generated patterns (if any) for a particular
+language, and produces the
+.I patout_file
+with (previously- plus newly-generated) hyphenation patterns for that
+language. The
+.I translate_file
+defines language specific values for the parameters
+.IR left_hyphen_min " and " right_hyphen_min
+used by \*(TX's hyphenation algorithm and the external representation
+of the lower and upper case version(s) of all \`letters' of that
+language. Further details of the pattern generation process such as
+hyphenation levels and pattern lengths are requested interactively from
+the user's terminal. Optionally
+.B patgen
+creates a new dictionary file
+.BI pattmp. n
+showing the good and bad hyphens found by the generated patterns, where
+.I n
+is the highest hypenation level.
+.PP
+The patterns generated by
+.B patgen
+can be read by
+.B initex
+for use in hyphenating words. For a (very) long example of
+.IR patgen 's
+output, see
+.IR $TEXMFMAIN/tex/generic/hyphen/hyphen.tex ,
+which contains the patterns \*(TX uses for English.
+At some sites, patterns for several other languages may be available,
+and the local
+.B tex
+programs may have them preloaded; consult your
+.I Local Guide
+or your system administrator for details.
+.PP
+All filenames must be complete; no adding of default
+extensions or path searching is done.
+.\"=====================================================================
+.SH FILE FORMATS
+.TP \w'@@'u+2n
+.B Letters
+When
+.B initex
+digests hyphenation patterns, \*(TX first expands macros and the result
+must entirely consist of digits (hyphenation levels), dots (\`.', edge
+of a word), and letters. In pattern files for non-English languages
+letters are often represented by macros or other expandable constructs.
+For the purpose of
+.B patgen
+these are just character sequences, subject to the condition that no
+such sequence is a prefix of another one.
+.TP \w'@@'u+2n
+.B Dictionary file
+A dictionary file contains a weighted list of hyphenated words, one word
+per line starting in column 1. A digit in column 1 indicates a global
+word weight (initially =1) applicable to all following words up to the
+next global word weight. A digit at some intercharacter position
+indicates a weight for that position only.
+
+The hyphens in a word are indicated by \`-', \`*', or \`.' (or their
+replacements as defined in the translate file) for hyphens yet to be
+found, \`good' hyphens (correctly found by the patterns), and \`bad'
+hyphens (erroneously found by the patterns) respectively; when reading a
+dictionary file \`*' is treated like \`-' and \`.' is ignored.
+.TP \w'@@'u+2n
+.B Translate file
+A translate file starts with a line containing the values of
+.I left_hypen_min
+in columns 1-2,
+.I right_hyphen_min
+in columns 3-4, and either a blank or the replacement for one of the
+"hyphen" characters \`-', \`*', and \`.' in columns 5, 6, and 7. (Input
+lines are padded with blanks as for many \*(TX related programs.)
+
+Each following line defines one \`letter': an arbitrary delimiter
+character in column 1, followed by one or more external representations
+of that character (first the \`lower' case one used for output), each
+one terminated by the delimiter and the whole sequence terminated by
+another delimiter.
+
+If the translate file is empty, the values
+.IR left_hypen_min "=2, " right_hyphen_min "=3,"
+and the 26 lower case letters
+.IR a ... z
+with their upper case representations
+.IR A ... Z
+are assumed.
+.TP \w'@@'u+2n
+.B Terminal input
+After reading the
+.I translate_file
+and any previously-generated patterns from
+.IR pattern_file,
+.B patgen
+requests input from the user's terminal.
+
+First the integer values of
+.IR hyph_start " and " hyph_finish ,
+the lowest and highest hyphenation level for which patterns are to be
+generated. The value of
+.I hyph_start
+should be larger than any hyphenation level already present in
+.IR pattern_file .
+
+Then, for each hyphenation level, the integer values of
+.IR pat_start " and " pat_finish ,
+the smallest and largest pattern length to be analyzed, as well as
+.IR "good weight" ", " "bad weight" ", and " threshold ,
+the weights for good and bad hyphens and a weight threshold for useful
+patterns.
+
+Finally the decision (\`y' or \`Y' vs. anything else) whether or not to
+produce a hypenated word list.
+.\"=====================================================================
+.SH FILES
+.TP \w'@@'u+2n
+.I $TEXMFMAIN/tex/generic/hyphen/hyphen.tex
+Patterns for English.
+.\"=====================================================================
+.SH "SEE ALSO"
+Frank Liang,
+.IR "Word hy-phen-a-tion by com-puter" ,
+STAN-CS-83-977,
+Stanford University Ph.D. thesis, 1983.
+.br
+Donald E. Knuth,
+.IR "The \*(OXbook" ,
+Addison-Wesley, 1986, ISBN 0-201-13447-0, Appendix H.
+.\"=====================================================================
+.SH AUTHORS
+Frank Liang wrote the first version of this program. Peter
+Breitenlohner made a
+substantial revision in 1991 for \*(TX 3.
+The first version was published as the appendix to the
+.I \*(OXware
+technical report, available from the \*(TX Users Group. Howard Trickey
+originally ported it to Unix.
diff --git a/Master/texmf/doc/man/man1/pdfetex.1 b/Master/texmf/doc/man/man1/pdfetex.1
new file mode 100644
index 00000000000..fb532c5e01e
--- /dev/null
+++ b/Master/texmf/doc/man/man1/pdfetex.1
@@ -0,0 +1,487 @@
+.TH PDFETEX 1 "21 August 2004" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP\" for troff
+.el .ds OX TeX\" for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX
+.if n .ds AX AmSTeX
+.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX
+.if n .ds AY AmSLaTeX
+.\"=====================================================================
+.SH NAME
+pdfetex, pdfeinitex, pdfevirtex \- PDF output from e-TeX
+.SH SYNOPSIS
+.B pdfetex
+.RI [ options ]
+[\fB&\fR \fIformat\fR ]
+[ \fIfile\fR | \fB\e\fR \fIcommands\fR ]
+.\"=====================================================================
+.SH DESCRIPTION
+Run the pdfe\*(TX typesetter on
+.IR file ,
+usually creating
+.IR file.pdf .
+If the file argument has no extension, ".tex" will be appended to it.
+Instead of a filename, a set of pdfe\*(TX commands can be given, the first
+of which must start with a backslash.
+With a
+.BI & format
+argument pdfe\*(TX uses a different set of precompiled commands,
+contained in
+.IR format.fmt ;
+it is usually better to use the
+.B -fmt
+.I format
+option instead.
+.PP
+pdfe\*(TX is a version of e-\*(TX that can create
+.I PDF
+files as well as
+.I DVI
+files.
+.PP
+In
+.I DVI
+mode, pdfe\*(TX can be used as a complete replacement of the e-\*(TX
+engine.
+.PP
+The typical use of pdfe\*(TX is with a pregenerated formats for which
+PDF output has been enabled. The
+.B pdfetex
+command uses the equivalent of the plain e-\*(TX format, and the
+.B pdfelatex
+command uses the equivalent of the e-\*(LX format.
+To generate formats, use the
+.B -ini
+switch.
+.PP
+The
+.B pdfeinitex
+and
+.B pdfevirtex
+commands are pdfe\*(TX's analogues to the
+.B einitex
+and
+.B evirtex
+commands. In this installation, they are symbolic links to the
+.B pdfetex
+executable. These symbolic links may not exist at all.
+.PP
+In
+.I PDF
+mode, pdfe\*(TX can natively handle the
+.IR PDF ,
+.IR JPG ,
+and
+.I PNG
+graphics formats.
+pdfe\*(TX's handling of its command-line arguments is similar to that of
+of the other \*(TX programs in the
+.I web2c
+implementation.
+.\"=====================================================================
+.SH OPTIONS
+This version of pdfe\*(TX understands the following command line options.
+.TP
+.B -enc
+.rb
+Enable the enc\*(TX extensions. This option is only effective in
+combination with
+.BR -ini .
+For documentation of the enc\*(TX extensions see
+.BR http://www.olsak.net/enctex.html .
+.TP
+.B -etex
+.rb
+Enable the e-\*(TX extensions. This option is only effective in
+combination with
+.BR -ini .
+.TP
+.B -file-line-error
+.rb
+Print error messages in the form
+.I file:line:error
+which is similar to the way many compilers format them.
+.TP
+.B -no-file-line-error
+.rb
+Disable printing error messages in the
+.I file:line:error
+style.
+.TP
+.B -file-line-error-style
+.rb
+This is the old name of the
+.B -file-line-error
+option.
+.TP
+.BI -fmt \ format
+.rb
+Use
+.I format
+as the name of the format to be used, instead of the name by which
+pdfe\*(TX was called or a
+.I %&
+line.
+.TP
+.B -halt-on-error
+.rb
+Exit with an error code when an error is encountered during processing.
+.TP
+.B -help
+.rb
+Print help message and exit.
+.TP
+.B -ini
+.rb
+Start in
+.I INI
+mode, which is used to dump formats. The
+.I INI
+mode can be used for typesetting, but no format is preloaded, and
+basic initializations like setting catcodes may be required.
+.TP
+.BI -interaction \ mode
+.rb
+Sets the interaction mode. The mode can be either
+.IR batchmode ,
+.IR nonstopmode ,
+.IR scrollmode ,
+and
+.IR errorstopmode .
+The meaning of these modes is the same as that of the corresponding
+\ecommands.
+.TP
+.B -ipc
+.rb
+Send DVI or PDF output to a socket as well as the usual output file.
+Whether this option is available is the choice of the installer.
+.TP
+.B -ipc-start
+.rb
+As
+.BR -ipc ,
+and starts the server at the other end as well. Whether this option
+is available is the choice of the installer.
+.TP
+.BI -jobname \ name
+.rb
+Use
+.I name
+for the job name, instead of deriving it from the name of the input file.
+.TP
+.BI -kpathsea-debug \ bitmask
+.rb
+Sets path searching debugging flags according to the bitmask. See the
+.I Kpathsea
+manual for details.
+.TP
+.BI -mktex \ fmt
+.rb
+Enable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.B -mltex
+.rb
+Enable ML\*(TX extensions. Only effective in combination with
+.BR -ini .
+.TP
+.BI -no-mktex \ fmt
+.rb
+Disable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.BI -output-comment \ string
+.rb
+In
+.I DVI
+mode, use
+.I string
+for the
+.I DVI
+file comment instead of the date. This option is ignored
+in
+.I PDF
+mode.
+.TP
+.BI -output-directory \ directory
+.rb Write output files in
+.I directory
+instead of the current directory. Look up input files in
+.I directory
+first, the along the normal search path.
+.TP
+.BI -output-format \ format
+.rb
+Set the output format mode, where
+.I format
+must be either
+.I pdf
+or
+.IR dvi .
+This also influences the set of graphics formats understood by pdfe\*(TX.
+.TP
+.B -parse-first-line
+.rb
+If the first line of the main input file begins with
+.I %&
+parse it to look for a dump name or a
+.B -translate-file
+option.
+.TP
+.B -no-parse-first-line
+.rb
+Disable parsing of the first line of the main input file.
+.TP
+.BI -progname \ name
+.rb
+Pretend to be program
+.IR name .
+This affects both the format used and the search paths.
+.TP
+.B -recorder
+.rb
+Enable the filename recorder.
+This leaves a trace of the files opened for input and output
+in a file with extension
+.IR .fls .
+.TP
+.B -shell-escape
+.rb
+Enable the
+.BI \ewrite18{ command }
+construct. The
+.I command
+can be any shell command. This construct is normally
+disallowed for security reasons.
+.TP
+.B -no-shell-escape
+.rb
+Disable the
+.BI \ewrite18{ command }
+construct, even if it is enabled in the
+.I texmf.cnf
+file.
+.TP
+.B -src-specials
+.rb
+In
+.I DVI
+mode, insert source specials into the
+.I DVI
+file.
+This option is ignored in
+.I PDF
+mode.
+.TP
+.BI -src-specials \ where
+.rb
+In
+.I DVI
+mode, insert source specials in certain placed of the
+.I DVI
+file.
+.I where
+is a comma-separated value list:
+.IR cr ,
+.IR display ,
+.IR hbox ,
+.IR math ,
+.IR par ,
+.IR parent ,
+or
+.IR vbox .
+This option is ignored in
+.I PDF
+mode.
+.TP
+.BI -translate-file \ tcxname
+.rb
+Use the
+.I tcxname
+translation table to set the mapping of input characters and
+re-mapping of output characters.
+.TP
+.BI -default-translate-file \ tcxname
+.rb
+Like
+.B -translate-file
+except that a
+.I %&
+line can overrule this setting.
+.TP
+.B -version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH ENVIRONMENT
+See the Kpathsearch library documentation (the `Path specifications'
+node) for precise details of how the environment variables are used.
+The
+.B kpsewhich
+utility can be used to query the values of the variables.
+.PP
+One caveat: In most pdfe\*(TX formats, you cannot use ~ in a filename you
+give directly to pdfe\*(TX, because ~ is an active character, and hence is
+expanded, not taken as part of the filename. Other programs, such as
+\*(MF, do not have this problem.
+.PP
+.TP
+TEXMFOUTPUT
+Normally, pdfe\*(TX puts its output files in the current directory. If
+any output file cannot be opened there, it tries to open it in the
+directory specified in the environment variable TEXMFOUTPUT.
+There is no default value for that variable. For example, if you say
+.I pdfetex paper
+and the current directory is not writable, if TEXMFOUTPUT has
+the value
+.IR /tmp ,
+pdfe\*(TX attempts to create
+.I /tmp/paper.log
+(and
+.IR /tmp/paper.pdf ,
+if any output is produced.)
+.TP
+TEXINPUTS
+Search path for
+.I \einput
+and
+.I \eopenin
+files.
+This should probably start with ``.'', so
+that user files are found before system files. An empty path
+component will be replaced with the paths defined in the
+.I texmf.cnf
+file. For example, set TEXINPUTS to ".:/home/usr/tex:" to prepend the
+current direcory and ``/home/user/tex'' to the standard search path.
+.TP
+TEXFORMATS
+Search path for format files.
+.TP
+TEXPOOL
+search path for
+.B pdfetex
+internal strings.
+.TP
+TEXEDIT
+Command template for switching to editor. The default, usually
+.BR vi ,
+is set when pdfe\*(TX is compiled.
+.TP
+TFMFONTS
+Search path for font metric
+.RI ( .tfm )
+files.
+.\"=====================================================================
+.SH FILES
+The location of the files mentioned below varies from system to
+system. Use the
+.B kpsewhich
+utility to find their locations.
+.TP
+.I pdfetex.pool
+Text file containing pdfe\*(TX's internal strings.
+.TP
+.I pdftex.map
+Filename mapping definitions.
+.TP
+.I *.tfm
+Metric files for pdfe\*(TX's fonts.
+.TP
+.I *.fmt
+Predigested pdfe\*(TX format (.\|fmt) files.
+.br
+.\"=====================================================================
+.SH NOTES
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of pdfe\*(TX can be found in the info
+manual
+.IR "Web2C: A TeX implementation" .
+.\"=====================================================================
+.SH BUGS
+This version of pdfe\*(TX implements a number of optional extensions.
+In fact, many of these extensions conflict to a greater or lesser
+extent with the definition of pdfe\*(TX. When such extensions are
+enabled, the banner printed when pdfe\*(TX starts is changed to print
+.B pdfeTeXk
+instead of
+.BR pdfeTeX .
+.PP
+This version of pdfe\*(TX fails to trap arithmetic overflow when
+dimensions are added or subtracted. Cases where this occurs are rare,
+but when it does the generated
+.I DVI
+file will be invalid. Whether a generated
+.I PDF
+file would be usable is unknown.
+.\"=====================================================================
+.SH AVAILABILITY
+pdfe\*(TX is available for a large variety of machine architectures
+and operation systems.
+pdfe\*(TX is part of all major \*(TX distributions.
+.P
+Information on how to get pdfe\*(TX and related information
+is available at the
+.BI "http://tug.org" \ TUG
+website.
+The most recent version of pdfe\*(TX is available for anonymous
+ftp at the
+.B http://www.pdftex.org/
+.IR "pdfe\*(TX development site" .
+.P
+The following pdfe\*(TX related mailing list is available:
+.BR pdftex@tug.org .
+This is a mailman list;
+to subscribe send a message containing
+.I subscribe
+to
+.BR pdftex-request@tug.org .
+More about the list can be found at the
+.B "http://tug.org/mailman/listinfo/pdftex"
+.I mailing list
+website.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tex (1),
+.BR mf (1),
+.BR etex (1),
+.BR pdftex (1).
+.\"=====================================================================
+.SH AUTHORS
+The primary authors of pdf\*(TX are Han The Thanh, Petr Sojka, and
+Jiri Zlatuska.
+.PP
+\*(TX was designed by Donald E. Knuth,
+who implemented it using his \*(WB system for Pascal programs.
+It was ported to Unix at Stanford by Howard Trickey, and
+at Cornell by Pavel Curtis.
+The version now offered with the Unix \*(TX distribution is that
+generated by the \*(WB to C system
+.RB ( web2c ),
+originally written by Tomas Rokicki and Tim Morgan.
+.PP
+The enc\*(TX extensions were written by Petr Olsak.
diff --git a/Master/texmf/doc/man/man1/pdflatex.1 b/Master/texmf/doc/man/man1/pdflatex.1
new file mode 120000
index 00000000000..8237fbd3a07
--- /dev/null
+++ b/Master/texmf/doc/man/man1/pdflatex.1
@@ -0,0 +1 @@
+pdfetex.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/pdftex.1 b/Master/texmf/doc/man/man1/pdftex.1
new file mode 100644
index 00000000000..56ca5798215
--- /dev/null
+++ b/Master/texmf/doc/man/man1/pdftex.1
@@ -0,0 +1,479 @@
+.TH PDFTEX 1 "25 March 2004" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX
+.if n .ds AX AmSTeX
+.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX
+.if n .ds AY AmSLaTeX
+.\"=====================================================================
+.SH NAME
+pdftex, pdfinitex, pdfvirtex \- PDF output from TeX
+.SH SYNOPSIS
+.B pdftex
+.RI [ options ]
+[\fB&\fR \fIformat\fR ]
+[ \fIfile\fR | \fB\e\fR \fIcommands\fR ]
+.\"=====================================================================
+.SH DESCRIPTION
+Run the pdf\*(TX typesetter on
+.IR file ,
+usually creating
+.IR file.pdf .
+If the file argument has no extension, ".tex" will be appended to it.
+Instead of a filename, a set of pdf\*(TX commands can be given, the first
+of which must start with a backslash.
+With a
+.BI & format
+argument pdf\*(TX uses a different set of precompiled commands,
+contained in
+.IR format.fmt ;
+it is usually better to use the
+.B -fmt
+.I format
+option instead.
+.PP
+pdf\*(TX is a version of \*(TX that can create
+.I PDF
+files as well as
+.I DVI
+files.
+.PP
+In
+.I DVI
+mode, pdf\*(TX can be used as a complete replacement of the \*(TX
+engine.
+.PP
+The typical use of pdf\*(TX is with a pregenerated formats for which
+PDF output has been enabled. The
+.B pdftex
+command uses the equivalent of the plain \*(TX format, and the
+.B pdflatex
+command uses the equivalent of the \*(LX format.
+To generate formats, use the
+.B -ini
+switch.
+.PP
+The
+.B pdfinitex
+and
+.B pdfvirtex
+commands are pdf\*(TX's analogues to the
+.B initex
+and
+.B virtex
+commands. In this installation, they are symbolic links to the
+.B pdftex
+executable. These symbolic links may not exist at all.
+.PP
+In
+.I PDF
+mode, pdf\*(TX can natively handle the
+.IR PDF ,
+.IR JPG ,
+and
+.I PNG
+graphics formats.
+pdf\*(TX's handling of its command-line arguments is similar to that of
+of the other \*(TX programs in the
+.I web2c
+implementation.
+.\"=====================================================================
+.SH OPTIONS
+This version of pdf\*(TX understands the following command line options.
+.TP
+.B -enc
+.rb
+Enable the enc\*(TX extensions. This option is only effective in
+combination with
+.BR -ini .
+For documentation of the enc\*(TX extensions see
+.BR http://www.olsak.net/enctex.html .
+.TP
+.B -file-line-error
+.rb
+Print error messages in the form
+.I file:line:error
+which is similar to the way many compilers format them.
+.TP
+.B -no-file-line-error
+.rb
+Disable printing error messages in the
+.I file:line:error
+style.
+.TP
+.B -file-line-error-style
+.rb
+This is the old name of the
+.B -file-line-error
+option.
+.TP
+.BI -fmt \ format
+.rb
+Use
+.I format
+as the name of the format to be used, instead of the name by which
+pdf\*(TX was called or a
+.I %&
+line.
+.TP
+.B -halt-on-error
+.rb
+Exit with an error code when an error is encountered during processing.
+.TP
+.B -help
+.rb
+Print help message and exit.
+.TP
+.B -ini
+.rb
+Start in
+.I INI
+mode, which is used to dump formats. The
+.I INI
+mode can be used for typesetting, but no format is preloaded, and
+basic initializations like setting catcodes may be required.
+.TP
+.BI -interaction \ mode
+.rb
+Sets the interaction mode. The mode can be either
+.IR batchmode ,
+.IR nonstopmode ,
+.IR scrollmode ,
+and
+.IR errorstopmode .
+The meaning of these modes is the same as that of the corresponding
+\ecommands.
+.TP
+.B -ipc
+.rb
+Send DVI or PDF output to a socket as well as the usual output file.
+Whether this option is available is the choice of the installer.
+.TP
+.B -ipc-start
+.rb
+As
+.BR -ipc ,
+and starts the server at the other end as well. Whether this option
+is available is the choice of the installer.
+.TP
+.BI -jobname \ name
+.rb
+Use
+.I name
+for the job name, instead of deriving it from the name of the input file.
+.TP
+.BI -kpathsea-debug \ bitmask
+.rb
+Sets path searching debugging flags according to the bitmask. See the
+.I Kpathsea
+manual for details.
+.TP
+.BI -mktex \ fmt
+.rb
+Enable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.B -mltex
+.rb
+Enable ML\*(TX extensions. Only effective in combination with
+.BR -ini .
+.TP
+.BI -no-mktex \ fmt
+.rb
+Disable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.BI -output-comment \ string
+.rb
+In
+.I DVI
+mode, use
+.I string
+for the
+.I DVI
+file comment instead of the date. This option is ignored
+in
+.I PDF
+mode.
+.TP
+.BI -output-directory \ directory
+.rb Write output files in
+.I directory
+instead of the current directory. Look up input files in
+.I directory
+first, the along the normal search path.
+.TP
+.BI -output-format \ format
+.rb
+Set the output format mode, where
+.I format
+must be either
+.I pdf
+or
+.IR dvi .
+This also influences the set of graphics formats understood by pdf\*(TX.
+.TP
+.B -parse-first-line
+.rb
+If the first line of the main input file begins with
+.I %&
+parse it to look for a dump name or a
+.B -translate-file
+option.
+.TP
+.B -no-parse-first-line
+.rb
+Disable parsing of the first line of the main input file.
+.TP
+.BI -progname \ name
+.rb
+Pretend to be program
+.IR name .
+This affects both the format used and the search paths.
+.TP
+.B -recorder
+.rb
+Enable the filename recorder.
+This leaves a trace of the files opened for input and output
+in a file with extension
+.IR .fls .
+.TP
+.B -shell-escape
+.rb
+Enable the
+.BI \ewrite18{ command }
+construct. The
+.I command
+can be any shell command. This construct is normally
+disallowed for security reasons.
+.TP
+.B -no-shell-escape
+.rb
+Disable the
+.BI \ewrite18{ command }
+construct, even if it is enabled in the
+.I texmf.cnf
+file.
+.TP
+.B -src-specials
+.rb
+In
+.I DVI
+mode, insert source specials into the
+.I DVI
+file.
+This option is ignored in
+.I PDF
+mode.
+.TP
+.BI -src-specials \ where
+.rb
+In
+.I DVI
+mode, insert source specials in certain placed of the
+.I DVI
+file.
+.I where
+is a comma-separated value list:
+.IR cr ,
+.IR display ,
+.IR hbox ,
+.IR math ,
+.IR par ,
+.IR parent ,
+or
+.IR vbox .
+This option is ignored in
+.I PDF
+mode.
+.TP
+.BI -translate-file \ tcxname
+.rb
+Use the
+.I tcxname
+translation table to set the mapping of input characters and
+re-mapping of output characters.
+.TP
+.BI -default-translate-file \ tcxname
+.rb
+Like
+.B -translate-file
+except that a
+.I %&
+line can overrule this setting.
+.TP
+.B -version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH ENVIRONMENT
+See the Kpathsearch library documentation (the `Path specifications'
+node) for precise details of how the environment variables are used.
+The
+.B kpsewhich
+utility can be used to query the values of the variables.
+.PP
+One caveat: In most pdf\*(TX formats, you cannot use ~ in a filename you
+give directly to pdf\*(TX, because ~ is an active character, and hence is
+expanded, not taken as part of the filename. Other programs, such as
+\*(MF, do not have this problem.
+.PP
+.TP
+TEXMFOUTPUT
+Normally, pdf\*(TX puts its output files in the current directory. If
+any output file cannot be opened there, it tries to open it in the
+directory specified in the environment variable TEXMFOUTPUT.
+There is no default value for that variable. For example, if you say
+.I pdftex paper
+and the current directory is not writable, if TEXMFOUTPUT has
+the value
+.IR /tmp ,
+pdf\*(TX attempts to create
+.I /tmp/paper.log
+(and
+.IR /tmp/paper.pdf ,
+if any output is produced.)
+.TP
+TEXINPUTS
+Search path for
+.I \einput
+and
+.I \eopenin
+files.
+This should probably start with ``.'', so
+that user files are found before system files. An empty path
+component will be replaced with the paths defined in the
+.I texmf.cnf
+file. For example, set TEXINPUTS to ".:/home/usr/tex:" to prepend the
+current direcory and ``/home/user/tex'' to the standard search path.
+.TP
+TEXFORMATS
+Search path for format files.
+.TP
+TEXPOOL
+search path for
+.B pdftex
+internal strings.
+.TP
+TEXEDIT
+Command template for switching to editor. The default, usually
+.BR vi ,
+is set when pdf\*(TX is compiled.
+.TP
+TFMFONTS
+Search path for font metric
+.RI ( .tfm )
+files.
+.\"=====================================================================
+.SH FILES
+The location of the files mentioned below varies from system to
+system. Use the
+.B kpsewhich
+utility to find their locations.
+.TP
+.I pdftex.pool
+Text file containing pdf\*(TX's internal strings.
+.TP
+.I pdftex.map
+Filename mapping definitions.
+.TP
+.I *.tfm
+Metric files for pdf\*(TX's fonts.
+.TP
+.I *.fmt
+Predigested pdf\*(TX format (.\|fmt) files.
+.br
+.\"=====================================================================
+.SH NOTES
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of pdf\*(TX can be found in the info
+manual
+.IR "Web2C: A TeX implementation" .
+.\"=====================================================================
+.SH BUGS
+This version of pdf\*(TX implements a number of optional extensions.
+In fact, many of these extensions conflict to a greater or lesser
+extent with the definition of pdf\*(TX. When such extensions are
+enabled, the banner printed when pdf\*(TX starts is changed to print
+.B pdfTeXk
+instead of
+.BR pdfTeX .
+.PP
+This version of pdf\*(TX fails to trap arithmetic overflow when
+dimensions are added or subtracted. Cases where this occurs are rare,
+but when it does the generated
+.I DVI
+file will be invalid. Whether a generated
+.I PDF
+file would be usable is unknown.
+.\"=====================================================================
+.SH AVAILABILITY
+pdf\*(TX is available for a large variety of machine architectures
+and operation systems.
+pdf\*(TX is part of all major \*(TX distributions.
+.P
+Information on how to get pdfe\*(TX and related information
+is available at the
+.BI "http://tug.org" \ TUG
+website.
+The most recent version of pdf\*(TX is available for anonymous
+ftp at the
+.B http://www.pdftex.org/
+.IR "pdf\*(TX development site" .
+.P
+The following pdfe\*(TX related mailing list is available:
+.BR pdftex@tug.org .
+This is a mailman list;
+to subscribe send a message containing
+.I subscribe
+to
+.BR pdftex-request@tug.org .
+More about the list can be found at the
+.B "http://tug.org/mailman/listinfo/pdftex"
+.I mailing list
+website.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tex (1),
+.BR mf (1).
+.\"=====================================================================
+.SH AUTHORS
+The primary authors of pdf\*(TX are Han The Thanh, Petr Sojka, and
+Jiri Zlatuska.
+.PP
+\*(TX was designed by Donald E. Knuth,
+who implemented it using his \*(WB system for Pascal programs.
+It was ported to Unix at Stanford by Howard Trickey, and
+at Cornell by Pavel Curtis.
+The version now offered with the Unix \*(TX distribution is that
+generated by the \*(WB to C system
+.RB ( web2c ),
+originally written by Tomas Rokicki and Tim Morgan.
+.PP
+The enc\*(TX extensions were written by Petr Olsak.
diff --git a/Master/texmf/doc/man/man1/pfb2pfa.1 b/Master/texmf/doc/man/man1/pfb2pfa.1
new file mode 100644
index 00000000000..f81abb8ed2f
--- /dev/null
+++ b/Master/texmf/doc/man/man1/pfb2pfa.1
@@ -0,0 +1,19 @@
+.TH PFB2PFA 1 TeX
+.SH NAME
+pfb2pfa \- convert a type1 pfb file (binary MSDOS) into a pfa (ASCII)
+.SH SYNOPSIS
+pfb2pfa [-v] pfbfile [pfafile]
+.SH DESCRIPTION
+Program converts a binary MSDOS representation for a type1 PostScript
+font into a readable ASCII version. The MSDOS newline (\\r) is converted
+into the UNIX newline (\\n). The output is written in a file whose name
+is the name that is provided on the command line or the basename of the
+input file plus extension ".pfa".
+.PP
+With the -v option you get some information about what the
+program is doing.
+.SH AUTHOR
+.nf
+Piet Tutelaers <rcpt@urc.tue.nl>
+
+
diff --git a/Master/texmf/doc/man/man1/pk2bm.1 b/Master/texmf/doc/man/man1/pk2bm.1
new file mode 100644
index 00000000000..5b9c6d599db
--- /dev/null
+++ b/Master/texmf/doc/man/man1/pk2bm.1
@@ -0,0 +1,39 @@
+.TH PK2BM 1 TeX
+.SH NAME
+pk2bm \- create a bitmap from a TeX pkfont
+.SH SYNOPSIS:
+pk2bm [-bh] [-W\fIwidth\fP] [-H\fIheight\fP] -c\fIchar\fP pkfont
+
+pk2bm [-bh] [-W\fIwidth\fP] [-H\fIheight\fP] -o\fIoctchar\fP pkfont
+.SH DESCRIPTION
+This program generates a bitmap (ASCII file) which can be used
+to create X11 applications. The bitmap file consists of all pixels
+of the specified character (via the -c or -o option) from
+the given pkfont. The format is described in bitmap(X11).
+.PP
+The pkfont is a packed fontfile generated by gftopk(TeX) from a
+gffont. A gffont is the output of METAFONT a program to design fonts
+in a device independant way.
+.PP
+With the -b flag a bitmap is generated in which all black pixels are
+drawn as a `*' and all white bits as a `.'. With the -h flag a
+hexadecimal bitmap dump is generated.
+.PP
+The -W and/or -H options can be used to create a bitmap of
+respectivally `width' and `height' pixels. The pk-bitmap will in
+this case be centered according to these new dimensions.
+.PP
+The output is written to the standard output.
+.SH SEE ALSO
+.nf
+`METAFONT', Donald Knuth.
+`The PKtype processor', belonging to the METAFONTware.
+bitmap(X11),
+gftopk(TeX),
+pktype(TeX),
+ps2pk(1)
+
+.SH AUTHOR
+.nf
+Piet Tutelaers <rcpt@urc.tue.nl>
+
diff --git a/Master/texmf/doc/man/man1/pktogf.1 b/Master/texmf/doc/man/man1/pktogf.1
new file mode 100644
index 00000000000..f341a3a2c8e
--- /dev/null
+++ b/Master/texmf/doc/man/man1/pktogf.1
@@ -0,0 +1,103 @@
+.TH PKTOGF 1 "14 December 1993" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+pktogf \- convert packed font files to generic font files
+.SH SYNOPSIS
+.B pktogf
+[
+.B \-v
+]
+.I pk_file_name
+[
+.I gf_file_name
+]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B pktogf
+program converts a packed font file
+.RI ( pk )
+to a generic font file
+.RI ( gf ).
+Packed
+font files are much smaller than the corresponding
+.I gf
+files,
+but some DVI readers only understand
+.I gf
+files.
+.PP
+The
+.I pk_file_name
+on the command line must be complete. Because
+the resolution is part of the extension, it would not make
+sense to append a default extension as is done with \*(TX or
+DVI-reading software. The
+.I gf_file_name
+defaults to the same (stripped) name as
+.IR pk_file_name ,
+and it is placed in the current
+working directory with the
+.I gf
+suffix replacing
+.IR pk .
+For example, the input file
+.I io.300pk
+would become
+.IR io.300gf .
+.\"=====================================================================
+.SH OPTIONS
+Unless the
+.B \-v
+switch is given,
+.B pktogf
+operates silently. With
+.BR \-v ,
+the version number of the program and statistics about the
+unpacking are output to
+.IR stdout .
+.\"=====================================================================
+.SH ENVIRONMENT
+.B pktogf
+looks for
+.I pk_file_name
+using the
+environment variable PKFONTS. If that is not set, it uses the variable
+TEXPKS. If that is not set, it uses TEXFONTS. If that is not set, it
+uses the system default.
+.PP
+See
+.BR tex (1)
+for the details of the searching.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR gftopk (1),
+.BR gftype (1),
+.BR pktype (1).
+.br
+Donald E. Knuth et al.,
+.IR \*(MFware .
+.\"=====================================================================
+.SH AUTHORS
+Tomas Rokicki wrote the program.
+Pierre MacKay adapted it for compilation with
+.BR web2c .
diff --git a/Master/texmf/doc/man/man1/pktype.1 b/Master/texmf/doc/man/man1/pktype.1
new file mode 100644
index 00000000000..60bb34540aa
--- /dev/null
+++ b/Master/texmf/doc/man/man1/pktype.1
@@ -0,0 +1,85 @@
+.TH PKTYPE 1 "13 March 1996" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+pktype \- verify and translate a packed font bitmap file to plain text
+.SH SYNOPSIS
+.B pktype
+.I pk_file
+[
+.I output_file
+]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B pktype
+program translates a packed font file
+.RI ( pk )
+(output by, for example,
+.BR gftopk (1)
+to a file that humans can read. It also serves as a
+.I pk
+file-validating program (i.e., if
+.B pktype
+can read it, it's correct) and as an example of a
+.IR pk -reading
+program for other software that wants to read
+.I pk
+files.
+.PP
+The
+.I pk_file
+on the command line must be complete. Because
+the resolution is part of the extension, it would not make
+sense to append a default extension as is done with \*(TX or
+DVI-reading software. If no
+.I output_file
+is specified, the plain text translation is written to standard output.
+.PP
+The output file gives a compact encoding of the packed encoding, using
+conventions described in the source code. Run lengths of black pixels
+alternate with parenthesized run lengths of white pixels, and brackets
+are used to indicate when a row should be repeated.
+.\"=====================================================================
+.SH ENVIRONMENT
+.B pktype
+looks for
+.I pk_file
+using the environment variable PKFONTS. If that is not set, it uses
+the variable TEXPKS. If that is not set, it uses TEXFONTS. If that
+is not set, it uses the system default.
+.PP
+See
+.BR tex (1)
+for the details of the searching.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR dvitype (1),
+.BR gftopk (1),
+.BR gftype (1).
+.br
+Donald E. Knuth et al.,
+.IR \*(MFware .
+.\"=====================================================================
+.SH AUTHORS
+Tomas Rokicki wrote the program.
+Donald E. Knuth originally ported it to Unix.
+Pierre MacKay adapted it for compilation with Web2c.
diff --git a/Master/texmf/doc/man/man1/pltotf.1 b/Master/texmf/doc/man/man1/pltotf.1
new file mode 100644
index 00000000000..497f565770f
--- /dev/null
+++ b/Master/texmf/doc/man/man1/pltotf.1
@@ -0,0 +1,74 @@
+.TH PLTOTF 1 "27 December 1992" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if n .ds WB Web
+.if t .ds WB W\s-2EB\s0
+.\"=====================================================================
+.SH NAME
+pltotf \- convert property list files to TeX font metric (tfm) format
+.SH SYNOPSIS
+.B pltotf
+[
+.B \-verbose
+]
+.I pl_file_name
+.I tfm_file_name
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B pltotf
+program translates a (human-oriented) \*(WB property list file to a
+(program-oriented) \*(TX font metric file. Thus, after editing the property
+list file, a TFM file can be generated for use with, for example,
+.BR tex (1).
+.PP
+Both the
+.I pl_file_name
+and the
+.I tfm_file_name
+must be complete; no adding of default extensions or path searching is done.
+.\"=====================================================================
+.SH OPTIONS
+Without the
+.B \-verbose
+option,
+.B pltotf
+operates silently. With it, a banner and progress report are printed on
+.IR stdout .
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tftopl (1).
+.br
+Donald E. Knuth,
+.IR "\*(OXware" .
+.br
+Donald E. Knuth,
+.IR "The \*(MFbook" ,
+(Volume C of
+.IR "Computers and Typesetting" ),
+Addison-Wesley, 1986, ISBN 0-201-13445-4.
+.\"=====================================================================
+.SH AUTHORS
+Donald E. Knuth wrote the program. It was published as
+part of the
+.I \*(OXware
+technical report, available from the \*(TX Users Group.
+Howard Trickey, Pavel Curtis, and Richard Furuta originally ported it to
+Unix.
diff --git a/Master/texmf/doc/man/man1/pooltype.1 b/Master/texmf/doc/man/man1/pooltype.1
new file mode 100644
index 00000000000..2f50fdbc582
--- /dev/null
+++ b/Master/texmf/doc/man/man1/pooltype.1
@@ -0,0 +1,45 @@
+.TH POOLTYPE 1 "27 December 1992" "Web2C 7.5.5"
+.\"=====================================================================
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if n .ds WB Web
+.if t .ds WB W\s-2EB\s0
+.\"=====================================================================
+.SH NAME
+pooltype \- display a WEB pool file
+.SH SYNOPSIS
+.B pooltype
+.I pool_file_name
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B pooltype
+program translates a (program-oriented) \*(WB string pool file to a
+(human-oriented) text file.
+.PP
+The
+.I pool_file_name
+must be complete; no adding of default extensions or path searching is done.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tangle (1).
+.\"=====================================================================
+.SH AUTHORS
+Donald E. Knuth wrote the program and originally ported it to Unix. It was
+published as part of the
+.I \*(OXware
+technical report, available from the \*(TX Users Group.
diff --git a/Master/texmf/doc/man/man1/ps2frag.1 b/Master/texmf/doc/man/man1/ps2frag.1
new file mode 100644
index 00000000000..b572c5733c1
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ps2frag.1
@@ -0,0 +1,41 @@
+.TH ps2frag 1 "Feb 95" TeXware
+.SH NAME
+ps2frag - obsolete shell script for the PSfrag system.
+.SH IMPORTANT NOTICE
+The new PSfrag system no longer requires the ps2frag script; instead, it
+handles the processing entirely within TeX/LaTeX and DVIPS. I'm sure you
+will agree that never needing to run ps2frag again is a nice convenience!
+.P
+However, there are two significant differences in the way this new version
+of PSfrag works. Please make yourself aware of them:
+.P
+1) XDvi is no longer able to determine where your PSfrag replacements
+should
+go, so instead it lines them up in a vertical list to the left of the
+figure. This allows you to confirm that they have been typeset properly, at
+least. However, to confirm that PSfrag
+.B positions
+your replacements properly, you will have to view the PostScript
+version of your file with a viewer like GhostView, or print it out.
+This seems to be the
+only disadvantage to the elimination of the pre-processing step.
+.P
+2) If you embed '\\tex' commands inside your figures, you now need to
+explicitly _tell_ PSfrag to process these commands. To do so, use
+\\usepackage[scanall]{psfrag}
+instead of
+\\usepackage{psfrag}
+at the beginning of your LaTeX file.
+.P
+If you only use '\\tex' commands in a small number of figures, then a
+more efficient might be to turn on '\\tex'-scanning only for those
+figures. To do that, add the command '\\psfragscanon' immediately before
+each relevant \\includegraphics or \\epsfbox command.
+.P
+.SH NOTES
+See the PSfrag documentation for further information.
+.SH "SEE ALSO"
+dvips(1), gs(1), ghostview(1), latex(1)
+.SH AUTHORS
+.IP psfrag@rascals.stanford.edu
+The PSfrag maintainer's mailing list.
diff --git a/Master/texmf/doc/man/man1/ps2pk.1 b/Master/texmf/doc/man/man1/ps2pk.1
new file mode 100644
index 00000000000..dbeed0cdbfc
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ps2pk.1
@@ -0,0 +1,156 @@
+.TH PS2PK 1 TeX
+.SH NAME
+ps2pk \- creates a TeX pkfont from a type1 PostScript font
+.SH SYNOPSIS
+ps2pk
+[ -v ]
+[ -e\fIenc\fP ]
+[ -X\fIxres\fP ]
+[ -E\fIexpansion\fP ]
+[ -S\fIslant\fP ]
+[ -P\fIpointsize\fP ]
+[ -R\fIbaseres\fP ]
+[ -r\fIaspectratio\fP ]
+[ -Y\fIyres\fP ]
+[ -a\fIAFMfile\fP ]
+[ -m\fImodename\fP ]
+type1 [pkfont]
+.SH DESCRIPTION
+This program renders a given type1 PostScript font at a given pointsize
+(default 10.0 points) and resolution (default 300dpi) into a TeX pkfont.
+.PP
+To generate the pkfont ps2pk needs a valid type1 font file (for
+example Utopia-Regular, Utopia-Regula.pfb or Utopia-Regula.pfa) and
+its corresponding AFM-file (Utopia-Regular.afm) with the font metrics.
+The program accepts both the binary type1 format (Utopia-Regula.pfb)
+and its ASCII equivalent (Utopia-Regular or Utopia-Regula.pfa). To
+locate the files, ps2pk uses the kpathsea library (see the info page
+on kpathsea). Additionally, pfb and pfa files are searched for in the
+directory specified in the environment variable T1INPUTS, and afm
+files are searched in AFMFONTS, if they are set (the -v flag will
+report which filenames are looked for).
+.PP
+The program will make a pkfont in which the character codes are derived
+from their AFM (Adobe Font Metrics) defined values. This can be
+overruled by specifying an explicit encoding file via the -e option.
+The encoding file \fIenc\fP
+should contain a valid PostScript encoding containing PostScript names
+like /hyphen. Here is an incomplete example (see afm2tfm for complete
+syntax):
+
+.RS
+.nf
+% This is the EC encoding.
+/ECEncoding [ % now 256 chars follow
+% 0x00
+ /grave /acute /circumflex /tilde /dieresis /hungarumlaut
+ /ring /caron /breve /macron /dotaccent /cedilla
+ /ogonek /quotesinglbase /guilsinglleft /guilsinglright
+
+ (Rest of lines omitted.)
+
+% 0xF0
+ /eth /ntilde /ograve /oacute /ocircumflex /otilde
+ /odieresis /oe /oslash /ugrave /uacute /ucircumflex
+ /udieresis /yacute /thorn /germandbls ] def
+.fi
+.RE
+.PP
+Options and arguments:
+.IP -a\fIAFMfile\fP 12
+Overrules the name that is used to locate the AFM file.
+
+.IP -e\fIenc\fP 12
+Name of a file containing an encoding scheme
+(default \- the encoding named in the AFM-file is used).
+The actual PostScript name of the encoding scheme is written
+as a "special" at the end of the pkfont.
+
+.IP -E\fIextension\fP 12
+The extension factor (real value, default 1.0).
+
+.IP -m\fImodename\fP 12
+A modename such as would be used by METAFONT (default "Unknown mode").
+
+.IP -P\fIpointsize\fP 12
+The desired pointsize (real value, default 10.0 points).
+
+.IP -R\fIbaseres\fP 12
+The desired base resolution (integer value, default 300 dpi).
+If this differs from the value of \fIxres\fP, the appropriate
+magnification will be shown in the "specials" at the end
+of the pkfont. If possible, this will be expressed as a
+magstep, otherwise as a real number. For example, a pkfont with an \fIxres\fP
+of 329, using the default base resolution of 300,
+will include the "special" text "mag=magstep(0.5)" at the
+end of the font.
+
+.IP -r\fIaspectratio\fP 12
+The desired aspect ratio (expression, integerY/integerX, default 300/300).
+This will be shown in the "specials" at the end
+of the pkfont. Setting the aspect ratio creates a value for
+\fIyres\fP but an explicit \fIyres\fP value will take precedence.
+Argument must be in "" if spaces are left around `/'.
+
+.IP -S\fIslant\fP 12
+The slant (real value, default 0.0).
+
+.IP -X\fIxres\fP 12
+The resolution in the X direction (integer value, default 300 dpi).
+
+.IP -Y\fIyres\fP 12
+The resolution in the Y direction (integer value, default the value
+of \fIxres\fP). If \fIyres\fP differs from \fIxres\fP, a "special"
+text giving the aspect ratio will be written at the end of the
+pkfont.
+
+.IP -v 12
+Verbose flag. (Tells what the program is doing.)
+
+.IP type1 12
+The name of the PostScript type1 font. The name of the AFM-file will be
+constructed from this name by removing the extension (if suplied) and
+adding ".afm". The PostScript "FontName" is extracted from the
+AFM-file and written into a "special" at the end of the pkfont.
+
+.IP [pkfont] 12
+The name of the resulting pkfont can be overruled with this name. The
+default name of pkfont is derived from the basename of the type1
+font, the pointsize and \fIxres\fP. For example
+`ps2pk -P17.28 Utopia-Regular' will result in `Utopia-Regular17.300pk'.
+An explicit value for the name of the pkfont is necessary when
+the type1 font name already shows the point size, otherwise
+the \fIpointsize\fP value is catenated on to the pkfont basename
+which is usually not what is wanted.
+
+.PP
+The following PK "specials" provide an internal check on the
+characteristics of the pkfont, in accordance with the recommendations
+of the TeX Working Group on the TeX Directory Standard (TWG-TDS):
+.br
+"fontid=\fIFontName\fP", "codingscheme=\fIEncoding\fP", "fontfacebyte", "mag",
+"mode=(ps2pk)\fImodename\fP", "pixels-per-inch", and "aspect-ratio" if it
+is other than unity.
+
+.SH ACKNOWLEDGEMENT
+This program uses the type1 hinting and rendering software IBM
+has donated to the X-consortium.
+
+.SH SEE ALSO
+.nf
+`METAFONT: The Program', Donald Knuth.
+`The GFtoPK processor', belonging to the METAFONTware.
+`Adobe Font Metric Files', Version 3.0, PostScript Developer
+Support Group.
+afm2tfm(1)
+pk2bm(1)
+kpsewhich(1)
+info kpathsea
+
+.SH VERSION
+1.4 (January 1994)
+
+.SH AUTHOR
+Piet Tutelaers <rcpt@urc.tue.nl>.
+Modified for ps2pkm by Pierre A. Mackay <mackay@cs.washington.edu>,
+This manpage was adapted to teTeX by Frank Kuester <frank@kuesterei.ch>.
diff --git a/Master/texmf/doc/man/man1/psbook.1 b/Master/texmf/doc/man/man1/psbook.1
new file mode 100644
index 00000000000..97cf6229455
--- /dev/null
+++ b/Master/texmf/doc/man/man1/psbook.1
@@ -0,0 +1,42 @@
+.TH PSBOOK 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+psbook \- rearrange pages in PostScript file into signatures
+.SH SYNOPSIS
+.B psbook
+[
+.B \-q
+] [
+.B \-s\fIsignature\fR
+] [
+.I infile
+[
+.I outfile
+] ]
+.SH DESCRIPTION
+.I Psbook
+rearranges pages from a PostScript document into ``signatures'' for
+printing books or booklets, creating a new PostScript file. The
+input PostScript file should follow the Adobe Document Structuring
+Conventions.
+.PP
+The
+.I \-s
+option selects the size of signature which will be used. The signature size is
+the number of sides which will be folded and bound together; the number given
+should be a multiple of four. The default is to use one signature for the
+whole file. Extra blank sides will be added if the file does not contain a
+multiple of four pages.
+.PP
+Psbook normally prints the page numbers of the pages rearranged; the
+.I \-q
+option suppresses this.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
+.SH BUGS
+.I Psbook
+does not accept all DSC comments.
diff --git a/Master/texmf/doc/man/man1/pslatex.1 b/Master/texmf/doc/man/man1/pslatex.1
new file mode 100644
index 00000000000..c206596a6a0
--- /dev/null
+++ b/Master/texmf/doc/man/man1/pslatex.1
@@ -0,0 +1,44 @@
+.TH "pslatex" "1" "September 2000" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+pslatex \- utility to typeset LaTeX files using PostScript fonts
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBpslatex\fP [\fILATEXARGS\fP] \fILATEXFILE\fP[\&.tex]
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBpslatex\fP allows you to typeset a LaTeX source file using basic
+Adobe Type 1 PostScript fonts (Times, Helvetica, and Courier)
+\fIwithout\fP editing the file to load the necessary packages\&.
+.PP
+It takes any arguments that \fBlatex\fP(1) can take\&.
+.PP
+.SH "OPTIONS"
+.PP
+None\&.
+.PP
+.SH "FILES"
+.PP
+Many\&. See the readme file for \fIpslatex\&.sty\fP\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBlatex\fP(1), \fI\fITEXMF\fP/latex/pslatex/00readme\&.txt\fP
+.PP
+.SH "BUGS"
+.PP
+None known\&. Report any found to the author\&.
+.PP
+.SH "AUTHOR"
+.PP
+\fBpslatex\fP was written by David Carlisle
+<david@dcarlisle\&.demon\&.co\&.uk>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<c@eskimo\&.com>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/psmerge.1 b/Master/texmf/doc/man/man1/psmerge.1
new file mode 100644
index 00000000000..1f4b564930d
--- /dev/null
+++ b/Master/texmf/doc/man/man1/psmerge.1
@@ -0,0 +1,36 @@
+.TH PSMERGE 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+psmerge \- filter to merge several PostScript files into one
+.SH SYNOPSIS
+.B psmerge
+[
+.B \-o\fIout.ps\fB
+]
+[
+.I file.ps ...
+]
+.SH DESCRIPTION
+.I Psmerge
+merges PostScript documents into a single document. It only works in the
+specific case the the files were created using the same application, with the
+same device setup and resources (fonts, procsets, patterns, files, etc)
+loaded.
+
+If the
+.B \-o
+option is used, output will be sent to the file named, otherwise it will go to
+standard output.
+
+.I Psmerge
+will merge multiple files concatenated into a single file as if they
+were in separate files.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
+.SH BUGS
+.I psmerge
+is for a very specific case; it does not merge files in the general case.
diff --git a/Master/texmf/doc/man/man1/psnup.1 b/Master/texmf/doc/man/man1/psnup.1
new file mode 100644
index 00000000000..c90227c6070
--- /dev/null
+++ b/Master/texmf/doc/man/man1/psnup.1
@@ -0,0 +1,160 @@
+.TH PSNUP 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+psnup \- multiple pages per sheet
+.SH SYNOPSIS
+.B psnup
+[
+.B \-w\fIwidth\fR
+] [
+.B \-h\fIheight\fR
+] [
+.B \-p\fIpaper\fR
+] [
+.B \-W\fIwidth\fR
+] [
+.B \-H\fIheight\fR
+] [
+.B \-P\fIpaper\fR
+] [
+.B \-l
+] [
+.B \-r
+] [
+.B \-f
+] [
+.B \-c
+] [
+.B \-m\fImargin\fR
+] [
+.B \-b\fIborder\fR
+] [
+.B \-d\fIlwidth\fR
+] [
+.B \-s\fIscale\fR
+] [
+.B \-\fInup\fR
+] [
+.B \-q
+] [
+.I infile
+[
+.I outfile
+] ]
+.SH DESCRIPTION
+.I Psnup
+puts multiple logical pages onto each physical sheet of paper.
+The input PostScript file should follow the Adobe Document Structuring
+Conventions.
+.PP
+The
+.I \-w
+option gives the paper width, and the
+.I \-h
+option gives the paper height,
+normally specified in
+.B "cm"
+or
+.B "in"
+to convert
+PostScript's points (1/72 of an inch)
+to centimeters or inches.
+The
+.I \-p
+option can be used as an alternative, to set the paper size to
+.B a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto
+or
+.B 10x14.
+The default paper size is
+.B a4.
+The
+.I \-W, \-H,
+and
+.I \-P
+options set the input paper size, if it is different from the output
+size. This makes it easy to impose pages of one size on a different size of
+paper.
+.PP
+The
+.I \-l
+option should be used for pages which are in landscape orientation (rotated 90
+degrees anticlockwise). The
+.I \-r
+option should be used for pages which are in seascape orientation (rotated 90
+degrees clockwise), and the
+.I \-f
+option should be used for pages which have the width and height interchanged,
+but are not rotated.
+.PP
+.I Psnup
+normally uses `row-major' layout, where adjacent pages are placed in rows
+across the paper.
+The
+.I \-c
+option changes the order to `column-major', where successive pages are placed
+in columns down the paper.
+.PP
+A margin to leave around the whole page can be specified with the
+.I \-m
+option. This is useful for sheets of `thumbnail' pages, because the normal
+page margins are reduced by putting multiple pages on a single sheet.
+.PP
+The
+.I \-b
+option is used to specify an additional margin around each page on a sheet.
+.PP
+The
+.I \-d
+option draws a line around the border of each page, of the specified width.
+If the \fIlwidth\fR parameter is omitted, a default linewidth of 1 point is
+assumed. The linewidth is relative to the original page dimensions,
+\fIi.e.\fR it is scaled down with the rest of the page.
+.PP
+The scale chosen by
+.I psnup
+can be overridden with the
+.I \-s
+option. This is useful to merge pages which are already reduced.
+.PP
+The
+.I \-\fInup\fR
+option selects the number of logical pages to put on each sheet of paper. This
+can be any whole number;
+.I psnup
+tries to optimise the layout so that the minimum amount of space is wasted. If
+.I psnup
+cannot find a layout within its tolerance limit, it will abort with an error
+message. The alternative form
+.I \i \fInup\fR
+can also be used, for compatibility with other n-up programs.
+.PP
+.I Psnup
+normally prints the page numbers of the pages re-arranged; the
+.I \-q
+option suppresses this.
+.SH EXAMPLES
+The potential use of this utility is varied but one particular
+use is in conjunction with
+.I psbook(1).
+For example, using groff to create a PostScript document and lpr as
+the
+.SM UNIX
+print spooler a typical command line might look like this:
+.sp
+groff -Tps -ms \fIfile\fP | psbook | psnup -2 | lpr
+.sp
+Where file is a 4 page document this command will result in a
+two page document printing two pages of \fIfile\fP per page and
+rearranges the page order to match the input pages 4 and 1
+on the first output page and
+pages 2 then 3 of the input document
+on the second output page.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
+.SH BUGS
+.I Psnup
+does not accept all DSC comments.
diff --git a/Master/texmf/doc/man/man1/psresize.1 b/Master/texmf/doc/man/man1/psresize.1
new file mode 100644
index 00000000000..034ab27d54c
--- /dev/null
+++ b/Master/texmf/doc/man/man1/psresize.1
@@ -0,0 +1,81 @@
+.TH PSRESIZE 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+psresize \- multiple pages per sheet
+.SH SYNOPSIS
+.B psresize
+[
+.B \-w\fIwidth\fR
+] [
+.B \-h\fIheight\fR
+] [
+.B \-p\fIpaper\fR
+] [
+.B \-W\fIwidth\fR
+] [
+.B \-H\fIheight\fR
+] [
+.B \-P\fIpaper\fR
+] [
+.B \-q
+] [
+.I infile
+[
+.I outfile
+] ]
+.SH DESCRIPTION
+.I Psresize
+rescales and centres a document on a different size of paper.
+The input PostScript file should follow the Adobe Document Structuring
+Conventions.
+.PP
+The
+.I \-w
+option gives the output paper width, and the
+.I \-h
+option gives the output paper height, normally specified in
+.B "cm"
+or
+.B "in"
+to convert
+PostScript's points (1/72 of an inch)
+to centimeters or inches.
+The
+.I \-p
+option can be used as an alternative, to set the output paper size to
+.B a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto
+or
+.B 10x14.
+The default output paper size is
+.B a4.
+.PP
+The
+.I \-W
+option gives the input paper width, and the
+.I \-H
+option gives the input paper height.
+The
+.I \-P
+option can be used as an alternative, to set the input paper size.
+The default input paper size is
+.B a4.
+.PP
+.I Psresize
+normally prints the page numbers of the pages output; the
+.I \-q
+option suppresses this.
+.SH EXAMPLES
+The following command can be used to convert a document on A4 size paper to
+letter size paper:
+.sp
+psresize -PA4 -pletter in.ps out.ps
+.sp
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
+.SH BUGS
+.I Psresize
+does not accept all DSC comments.
diff --git a/Master/texmf/doc/man/man1/psselect.1 b/Master/texmf/doc/man/man1/psselect.1
new file mode 100644
index 00000000000..22a70bd6826
--- /dev/null
+++ b/Master/texmf/doc/man/man1/psselect.1
@@ -0,0 +1,84 @@
+.TH PSSELECT 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+psselect \- select pages from a PostScript file
+.SH SYNOPSIS
+.B psselect
+[
+.B \-q
+] [
+.B \-e
+] [
+.B \-o
+] [
+.B \-r
+] [
+.B \-p\fIpages\fR
+] [
+.I pages
+] [
+.I infile
+[
+.I outfile
+] ]
+.SH DESCRIPTION
+.I Psselect
+selects pages from a PostScript document, creating a new PostScript file. The
+input PostScript file should follow the Adobe Document Structuring
+Conventions.
+.PP
+The
+.I \-e
+option selects all of the even pages; it may be used in conjunction with the
+other page selection options to select the even pages from a range of pages.
+.PP
+The
+.I \-o
+option selects all of the odd pages; it may be used in conjunction with the
+other page selection options.
+.PP
+The
+.I \-p\fIpages\fR
+option specifies the pages which are to be selected.
+.I Pages
+is a comma separated list of page ranges, each of which may be a page number,
+or a page range of the form \fIfirst\fR-\fIlast\fR. If \fIfirst\fR is omitted,
+the
+first page is assumed, and if \fIlast\fR is omitted, the last page is assumed.
+
+The prefix character `_' indicates that the page number is relative to the end
+of the document, counting backwards. If just this character with no page
+number is used, a blank page will be inserted.
+.PP
+The
+.I \-r
+option causes
+.I psselect
+to output the selected pages in reverse order.
+.PP
+Psselect normally prints the page numbers of the pages rearranged; the
+.I \-q
+option suppresses this.
+.PP
+If any of the
+.I \-r, \-e,
+or
+.I \-o
+options are specified, the page range must be given with the
+.I \-p
+option. This is for backwards compatibility with previous versions.
+
+.SH NOTES
+The page number given to
+.I psselect
+is the number of the page counting from the start or end of the file, starting
+at one. The actual page number in the document may be different.
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
+.SH BUGS
+.I Psselect
+does not accept all DSC comments.
diff --git a/Master/texmf/doc/man/man1/pstops.1 b/Master/texmf/doc/man/man1/pstops.1
new file mode 100644
index 00000000000..2b3cbe2bf3f
--- /dev/null
+++ b/Master/texmf/doc/man/man1/pstops.1
@@ -0,0 +1,166 @@
+.TH PSTOPS 1 "PSUtils Release 1 Patchlevel 17"
+.SH NAME
+pstops \- shuffle pages in a PostScript file
+.SH SYNOPSIS
+.B pstops
+[
+.B \-q
+] [
+.B \-b
+] [
+.B \-w\fIwidth\fR
+] [
+.B \-h\fIheight\fR
+] [
+.B \-p\fIpaper\fR
+] [
+.B \-d\fIlwidth\fR
+]
+.I pagespecs
+[
+.I infile
+[
+.I outfile
+] ]
+.SH DESCRIPTION
+.I Pstops
+rearranges pages from a PostScript document, creating a new PostScript file.
+The input PostScript file should follow the Adobe Document Structuring
+Conventions.
+.I Pstops
+can be used to perform a large number of arbitrary re-arrangements of
+Documents, including arranging for printing 2-up, 4-up, booklets, reversing,
+selecting front or back sides of documents, scaling, etc.
+.PP
+.I pagespecs
+follow the syntax:
+.RS
+.TP 12
+.I pagespecs
+.I = [modulo:]specs
+.TP
+.I specs
+.I = spec[+specs][,specs]
+.TP
+.I spec
+.I = [-]pageno[L][R][U][@scale][(xoff,yoff)]
+.RE
+.sp
+.I modulo
+is the number of pages in each block. The value of
+.I modulo
+should be greater than 0; the default value is 1.
+.I specs
+are the page specifications for the pages in each block. The value of the
+.I pageno
+in each
+.I spec
+should be between 0 (for the first page in the block) and \fImodulo\fR-1
+(for the last page in each block) inclusive.
+The optional dimensions
+.I xoff
+and
+.I yoff
+shift the page by the specified amount.
+.I xoff
+and
+.I yoff
+are in PostScript's points, but may be followed by the units
+.B "cm"
+or
+.B "in"
+to convert to centimetres or inches, or the flag
+.B "w"
+or
+.B "h"
+to specify as a multiple of the width or height.
+The optional parameters \fIL\fR, \fIR\fR, and \fIU\fR rotate the page left,
+right, or upside-down.
+The optional
+.I scale
+parameter scales the page by the fraction specified.
+If the optional minus sign is specified, the page is relative to the end of
+the document, instead of the start.
+
+If page \fIspec\fRs are separated by
+.B \+
+the pages will be merged into one page; if they are separated by
+.B \,
+they will be on separate pages.
+If there is only one page specification, with
+.I pageno
+zero, the \fIpageno\fR may be omitted.
+
+The shift, rotation, and scaling are performed
+in that order regardless of which order
+they appear on the command line.
+.PP
+The
+.I \-w
+option gives the width which is used by the
+.B "w"
+dimension specifier, and the
+.I \-h
+option gives the height which is used by the
+.B "h"
+dimension specifier. These dimensions are also used (after scaling) to set the
+clipping path for each page.
+The
+.I \-p
+option can be used as an alternative, to set the paper size to
+.B a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto
+or
+.B 10x14.
+The default paper size is
+.B a4.
+.PP
+The
+.I \-b
+option prevents any
+.B bind
+operators in the PostScript prolog from binding. This may be needed in cases
+where complex multi-page re-arrangements are being done.
+.PP
+The
+.I \-d
+option draws a line around the border of each page, of the specified width.
+If the \fIlwidth\fR parameter is omitted, a default linewidth of 1 point is
+assumed. The linewidth is relative to the original page dimensions,
+\fIi.e.\fR it is scaled up or down with the rest of the page.
+.PP
+Pstops normally prints the page numbers of the pages re-arranged; the
+.I \-q
+option suppresses this.
+.SH EXAMPLES
+This section contains some sample re-arrangements. To put two pages on one
+sheet (of A4 paper), the pagespec to use is:
+.sp
+.ce
+2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)
+.sp
+To select all of the odd pages in reverse order, use:
+.sp
+.ce
+2:-0
+.sp
+To re-arrange pages for printing 2-up booklets, use
+.sp
+.ce
+4:-3L@.7(21cm,0)+0L@.7(21cm,14.85cm)
+.sp
+for the front sides, and
+.sp
+.ce
+4:1L@.7(21cm,0)+-2L@.7(21cm,14.85cm)
+.sp
+for the reverse sides (or join them with a comma for duplex printing).
+.SH AUTHOR
+Copyright (C) Angus J. C. Duggan 1991-1995
+.SH "SEE ALSO"
+psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
+.SH TRADEMARKS
+.B PostScript
+is a trademark of Adobe Systems Incorporated.
+.SH BUGS
+.I Pstops
+does not accept all DSC comments.
diff --git a/Master/texmf/doc/man/man1/rubibtex.1 b/Master/texmf/doc/man/man1/rubibtex.1
new file mode 100644
index 00000000000..0142072a769
--- /dev/null
+++ b/Master/texmf/doc/man/man1/rubibtex.1
@@ -0,0 +1,63 @@
+.TH "rubibtex" "1" "October 2000" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+rubibtex \- make a bibliography for (La)TeX using Russian
+letters as item names
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBrubibtex\fP \fIBASENAME\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBrubibtex\fP is used to run \fBbibtex\fP(1) on auxiliary files with
+Russian characters in item names (citation keys)\&. It is part of the
+T2 package\&.
+.PP
+\fBrubibtex\fP copies the auxiliary file to \fI/tmp\fP, uses
+\fBsed\fP(1) to convert Cyrillic character commands to their 8-bit
+ASCII equivalents; runs \fBbibtex\fP(1) on the modified file; and
+finally moves the original auxiliary file back (overwriting the
+modified file)\&.
+.PP
+\fBrubibtex\fP assumes that the \fBbibtex\fP(1) database (\f(CWbib\fP)
+files are encoded with the KOI8-R encoding\&.
+.PP
+.SH "FILES"
+.PP
+.IP
+.IP "\fIbasename\&.aux\fP"
+LaTeX auxiliary file
+.IP
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to the authors\&.
+.PP
+.SH "COPYRIGHT"
+.PP
+The T2 package is Copyright 1997-1999 Werner Lemberg, Vladimir
+Volovich and any individual authors listed elsewhere in package files\&.
+.PP
+It may be distributed under the conditions of the LaTeX Project Public
+License, either version 1\&.1 of this license or (at your option) any
+later version\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBbibtex\fP(1), \fBsed\fP(1),
+<ftp://ftp\&.vsu\&.ru/pub/tex/T2/README>\&.
+.PP
+.SH "AUTHOR"
+.PP
+Werner Lemberg
+<wl@gnu\&.org>, Vladimir Volovich
+<TeX@vvv\&.vsu\&.ru>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<c@eskimo\&.com>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
+.PP
diff --git a/Master/texmf/doc/man/man1/rumakeindex.1 b/Master/texmf/doc/man/man1/rumakeindex.1
new file mode 100644
index 00000000000..0fb271841d0
--- /dev/null
+++ b/Master/texmf/doc/man/man1/rumakeindex.1
@@ -0,0 +1,63 @@
+.TH "rumakeindex" "1" "September 2000" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+rumakeindex \- process a LaTeX index using Russian Cyrillic
+characters
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBrumakeindex\fP \fIbasename\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBrumakeindex\fP is used to run \fBmakeindex\fP(1) on \f(CWidx\fP files
+that use Russian characters\&. It is part of the T2 package\&.
+.PP
+\fBrumakeindex\fP runs \fBsed\fP(1) on the \f(CWidx\fP file to convert
+Cyrillic character commands to 8-bit ASCII characters; pipes the
+results through \fBmakeindex\fP(1); and then through \fBtr\fP(1)
+to do some final conversions\&. The results are placed in a KOI8-R
+encoded \f(CWind\fP file\&.
+.PP
+.SH "FILES"
+.PP
+.IP
+.IP "\fIbasename\&.idx\fP"
+LaTeX index entry file
+.IP "\fIbasename\&.ilg\fP"
+LaTeX index log file
+.IP "\fIbasename\&.ind\fP"
+LaTeX processed index file
+.IP
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to the authors\&.
+.PP
+.SH "COPYRIGHT"
+.PP
+The T2 package is Copyright 1997-1999 Werner Lemberg, Vladimir
+Volovich and any individual authors listed elsewhere in package files\&.
+.PP
+It may be distributed under the conditions of the LaTeX Project Public
+License, either version 1\&.1 of this license or (at your option) any
+later version\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBmakeindex\fP(1), \fBsed\fP(1), \fBtr\fP(1),
+<ftp://ftp\&.vsu\&.ru/pub/tex/T2/README>\&.
+.PP
+.SH "AUTHOR"
+.PP
+Werner Lemberg
+<wl@gnu\&.org>, Vladimir Volovich
+<TeX@vvv\&.vsu\&.ru>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<c@eskimo\&.com>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
+.PP
diff --git a/Master/texmf/doc/man/man1/sjisconv.1 b/Master/texmf/doc/man/man1/sjisconv.1
new file mode 100644
index 00000000000..99436936cd2
--- /dev/null
+++ b/Master/texmf/doc/man/man1/sjisconv.1
@@ -0,0 +1,94 @@
+.\" man page for sjisconv
+.
+.TH SJISCONV 1 11-Aug-2005 "CJK Version 4.6.0"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+sjisconv \- convert a TeX document in SJIS encoding into `preprocessed'
+form.
+.
+.
+.SH SYNOPSIS
+.B sjisconv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+SJIS encoding for Japanese uses the characters
+.C { ,
+.C } ,
+and
+.C \e
+which have special meanings in \*(TX
+documents.
+.PP
+After processing a \*(LE
+document which contains SJIS characters with
+.B \%sjisconv
+you need not care about these special characters.
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR bg5conv (1),
+.BR \%cefconv (1),
+.BR cef5conv (1),
+.BR \%cefsconv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/Master/texmf/doc/man/man1/t1ascii.1 b/Master/texmf/doc/man/man1/t1ascii.1
new file mode 100644
index 00000000000..0ae4d3eed57
--- /dev/null
+++ b/Master/texmf/doc/man/man1/t1ascii.1
@@ -0,0 +1,51 @@
+.ds V 1.32
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.TH T1ASCII 1 "" "Version \*V"
+.SH NAME
+t1ascii \- convert PostScript Type 1 font from binary to ASCII
+.SH SYNOPSIS
+.B t1ascii
+\%[\fB\-l\fR \fIlength\fR]
+\%[\fIinput\fR [\fIoutput\fR]]
+.SH DESCRIPTION
+.BR t1ascii
+converts Adobe Type 1 font programs in PFB (binary) format to PFA
+(hexadecimal) format. If the file
+.I output
+is not specified output goes to the standard output.
+If the file
+.I input
+is not specified input comes from the standard input.
+'
+.SH OPTIONS
+.TP 5
+.BI \-\-line\-length= "num\fR, " \-l " num"
+Set the maximum length of encrypted lines in the output to
+.I num.
+(These are the lines consisting wholly of hexadecimal digits.) The default
+is 64.
+'
+.TP 5
+.BR \-\-warnings ", " \-w
+Warn when the input font contains lines longer than 255 characters.
+Long lines don't strictly conform to Adobe's Document Structuring
+Conventions, and may cause problems with older software.
+'
+.SH "SEE ALSO"
+.LP
+.M t1binary 1 ,
+.M t1unmac 1 ,
+.M t1mac 1 ,
+.M t1asm 1 ,
+.M t1disasm 1
+.LP
+.I "Adobe Type 1 Font Format"
+.SH AUTHORS
+Lee Hetherington (ilh@lcs.mit.edu)
+.br
+Eddie Kohler (kohler@icir.org)
+.PP
+Ported to Microsoft C/C++ Compiler and MS-DOS operating system by
+Kai-Uwe Herbing (herbing@netmbx.netmbx.de).
diff --git a/Master/texmf/doc/man/man1/t1asm.1 b/Master/texmf/doc/man/man1/t1asm.1
new file mode 100644
index 00000000000..59d4db5e790
--- /dev/null
+++ b/Master/texmf/doc/man/man1/t1asm.1
@@ -0,0 +1,96 @@
+.ds V 1.32
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.TH T1ASM 1 "" "Version \*V"
+.SH NAME
+t1asm \- assemble PostScript Type 1 font
+.SH SYNOPSIS
+.B t1asm
+\%[\fB\-a\fR|\fB\-b\fR]
+\%[\fB\-l\fR \fIlength\fR]
+\%[\fIinput\fR [\fIoutput\fR]]
+.SH DESCRIPTION
+.B t1asm
+assembles Adobe Type 1 font programs into either PFA (hexadecimal) or PFB
+(binary) formats from a human-readable form. If the file
+.I output
+is not specified output goes to the standard output. If the file
+.I input
+is not specified input comes from the standard input.
+
+.B t1asm
+tokenizes the charstring data and performs eexec and charstring encryption
+as specified in the ``black book,''
+.I "Adobe Type 1 Font Format."
+
+The input must have a line of the form
+.RS
+.nf
+.ft B
+/-|{string currentfile exch readstring pop}executeonly def
+.ft R
+.fi
+.RE
+which defines the command, in this case `\-|', that is to start charstring
+data. It is an error not to define such a command. Another common name for
+this command is `RD'.
+
+After the start of the
+.B Subrs
+array in the input, all open braces `{' not in a comment begin a
+charstring. Such a charstring is terminated by the next non-comment close
+brace `}'. Within such a charstring, only comments, integers, and valid
+charstring commands are allowed. Valid charstring command names can be
+found in
+.I "Adobe Type 1 Font Format"
+and other documents describing the newer Type 2 opcodes. The format within
+a charstring is unimportant as long as integers and commands are separated
+by at least a one whitespace (space, tab, newline) character. Note that
+within charstrings, comments are discarded because they cannot be encoded.
+.SH OPTIONS
+.TP 5
+.BR \-\-pfa ", " \-a
+Output in PFA (ASCII) format.
+.TP 5
+.BR \-\-pfb ", " \-b
+Output in PFB (binary) format. This is the default.
+.TP
+.BI \-\-block\-length= "num\fR, " \-l " num"
+PFB only: Set the maximum output block length to
+.I num.
+The default length is as large as memory allows.
+.TP
+.BI \-\-line\-length= "num\fR, " \-l " num"
+PFA only: Set the maximum length of encrypted lines in the output to
+.I num.
+(These are the lines consisting wholly of hexadecimal digits.) The default
+is 64.
+.SH EXAMPLES
+.LP
+.nf
+% t1asm Utopia-Regular.raw > Utopia-Regular.pfb
+% t1asm -a Utopia-Regular.raw > Utopia-Regular.pfa
+.fi
+.SH "SEE ALSO"
+.LP
+.M t1disasm 1 ,
+.M t1ascii 1 ,
+.M t1binary 1 ,
+.M t1unmac 1 ,
+.M t1mac 1
+.LP
+.I "Adobe Type 1 Font Format"
+is available free from Adobe as a PDF file.
+http://partners.adobe.com/asn/developer/PDFS/TN/T1_SPEC.PDF
+.LP
+.I "The Type 2 Charstring Format,"
+also available from Adobe as a PDF file, describes the newer Type 2
+operators, which are also used in some multiple-master Type 1 fonts like
+Adobe Jenson and Kepler.
+http://partners.adobe.com/asn/developer/PDFS/TN/5177.Type2.pdf
+'
+.SH AUTHORS
+Lee Hetherington (ilh@lcs.mit.edu)
+.br
+Eddie Kohler (kohler@icir.org)
diff --git a/Master/texmf/doc/man/man1/t1binary.1 b/Master/texmf/doc/man/man1/t1binary.1
new file mode 100644
index 00000000000..fc41bcacc87
--- /dev/null
+++ b/Master/texmf/doc/man/man1/t1binary.1
@@ -0,0 +1,42 @@
+.ds V 1.32
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.TH T1BINARY 1 "" "Version \*V"
+.SH NAME
+t1binary \- convert PostScript Type 1 font from ASCII to binary
+.SH SYNOPSIS
+.B t1binary
+\%[\fB\-l\fR \fIlength\fR]
+\%[\fIinput\fR [\fIoutput\fR]]
+.SH DESCRIPTION
+.B t1binary
+converts Adobe Type 1 font programs in PFA (hexadecimal) format to PFB
+(binary) format. If the file
+.I output
+is not specified output goes to the standard output.
+If the file
+.I input
+is not specified input comes from the standard input.
+.SH OPTIONS
+.TP 5
+.BI \-\-block\-length= "length\fR, " \-l " length"
+Set the maximum length of sections in PFB output to
+.I length.
+The default length is as large as memory allows.
+.SH "SEE ALSO"
+.LP
+.M t1ascii 1 ,
+.M t1unmac 1 ,
+.M t1mac 1 ,
+.M t1disasm 1 ,
+.M t1asm 1
+.LP
+.I "Adobe Type 1 Font Format"
+.SH AUTHORS
+Lee Hetherington (ilh@lcs.mit.edu)
+.br
+Eddie Kohler (kohler@icir.org)
+.PP
+Ported to Microsoft C/C++ Compiler and MS-DOS operating system by
+Kai-Uwe Herbing (herbing@netmbx.netmbx.de).
diff --git a/Master/texmf/doc/man/man1/t1disasm.1 b/Master/texmf/doc/man/man1/t1disasm.1
new file mode 100644
index 00000000000..381bfb1b607
--- /dev/null
+++ b/Master/texmf/doc/man/man1/t1disasm.1
@@ -0,0 +1,96 @@
+.ds V 1.32
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.TH T1DISASM 1 "" "Version \*V"
+.SH NAME
+t1disasm \- disassemble PostScript Type 1 font
+.SH SYNOPSIS
+.B t1disasm
+\%[\fIinput\fR [\fIoutput\fR]]
+.SH DESCRIPTION
+.B t1disasm
+disassembles Adobe Type 1 font programs in either PFA (hexadecimal) or PFB
+(binary) formats into human-readable form. If the file
+.I output
+is not specified output goes to the standard output.
+If the file
+.I input
+is not specified input comes from the standard input.
+
+.B t1disasm
+performs eexec and charstring decryption as specified in the ``black
+book'',
+.I "Adobe Type 1 Font Format."
+Additionally, the charstring binary tokens are expanded into human-readable
+text form, using the names given in the black book and later documents
+describing Type 2 opcodes.
+.SH EXAMPLES
+.LP
+.nf
+% t1disasm Utopia-Regular.pfb Utopia-Regular.raw
+% t1disasm Utopia-Regular.pfa Utopia-Regular.raw
+.fi
+
+In
+.B Subrs
+entries in Utopia-Regular.raw will look like
+.RS
+.nf
+.ft B
+dup 5 {
+ 8 111 vstem
+ -12 128 hstem
+ 707 -20 hstem
+ return
+ } |
+.ft R
+.fi
+.RE
+and the
+.B CharStrings
+entries like
+.RS
+.nf
+.ft B
+/exclam {
+ 58 242 hsbw
+ 6 callsubr
+ 5 4 callsubr
+ 63 707 rmoveto
+ -54 0 -5 -22 4 -45 rrcurveto
+ 40 -431 rlineto
+ 29 hlineto
+ 42 431 rlineto
+ 4 45 -5 22 -55 0 rrcurveto
+ closepath
+ 6 4 callsubr
+ -719 vmoveto
+ 243 callsubr
+ endchar
+ } |-
+.ft R
+.fi
+.RE
+.SH "SEE ALSO"
+.LP
+.M t1asm 1 ,
+.M t1ascii 1 ,
+.M t1binary 1 ,
+.M t1unmac 1 ,
+.M t1mac 1
+.LP
+.I "Adobe Type 1 Font Format"
+is available free from Adobe as a PDF file:
+http://partners.adobe.com/asn/developer/PDFS/TN/T1_SPEC.PDF
+.LP
+.I "The Type 2 Charstring Format,"
+also available from Adobe as a PDF file, describes the newer Type 2
+operators, which are also used in some multiple-master Type 1 fonts like
+Adobe Jenson and Kepler:
+http://partners.adobe.com/asn/developer/PDFS/TN/5177.Type2.pdf
+'
+.SH AUTHORS
+Lee Hetherington (ilh@lcs.mit.edu)
+.br
+Eddie Kohler (kohler@icir.org)
diff --git a/Master/texmf/doc/man/man1/t1dotlessj.1 b/Master/texmf/doc/man/man1/t1dotlessj.1
new file mode 100644
index 00000000000..fd5778f88a3
--- /dev/null
+++ b/Master/texmf/doc/man/man1/t1dotlessj.1
@@ -0,0 +1,96 @@
+.ds V 2.34
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.de Sp
+.if n .sp
+.if t .sp 0.4
+..
+.TH T1DOTLESSJ 1 "LCDF Typetools" "Version \*V"
+.SH NAME
+t1dotlessj \- create a dotless-j PostScript Type 1 font
+.SH SYNOPSIS
+.B t1dotlessj
+\%[OPTIONS...]
+.I font
+.RI [ outputfile ]
+.SH DESCRIPTION
+.BR T1dotlessj
+creates a PostScript Type\~1 font whose only character is a dotless 'j'
+matching the input font's design. It works simply by removing the dot from
+the input font's 'j'. The output font has three characters: '.notdef',
+\&'space', and 'uni0237', where 'uni0237' is the dotless 'j'. The command
+fails if the input font already has a dotless 'j' character, or if there
+seems to be no dot to remove. T1dotlessj writes the created PFA or PFB font
+to the standard output (but see the
+.B \-\-output
+option); if no input file is supplied, it reads a PFA or PFB font from the
+standard input.
+'
+.SH OPTIONS
+.PD 0
+.TP 5
+.BR \-\-output "=\fIfile\fR, " \-o " \fIfile"
+Send output to
+.I file
+instead of standard output.
+'
+.Sp
+.TP 5
+.BR \-\-pfb ", " \-b
+Output a PFB font. This is the default.
+'
+.Sp
+.TP 5
+.BR \-\-pfa ", " \-a
+Output a PFA font.
+'
+.Sp
+.TP 5
+.BR \-\-name "=\fIname\fR, " \-n " \fIname"
+Set the output font's PostScript name to
+.IR name .
+The default is
+.IR InputFontName "LCDFJ."
+'
+.Sp
+.TP 5
+.BR \-q ", " \-\-quiet
+Do not generate any error messages.
+'
+.Sp
+.TP 5
+.BR \-h ", " \-\-help
+Print usage information and exit.
+'
+.Sp
+.TP 5
+.BR \-v ", " \-\-version
+Print the version number and some short non-warranty information and exit.
+.PD
+'
+.SH "RETURN VALUES"
+.B T1dotlessj
+exits with one of the following values:
+.TP 5
+0
+A dotless-j font was successfully generated.
+.TP 5
+1
+The font already contained a dotless-j character.
+.TP 5
+2
+The font's "j" character had no dot to remove.
+.TP 5
+3
+The font had no "j" character.
+.TP 5
+>3
+An error occurred.
+'
+.SH "SEE ALSO"
+.LP
+.I "Adobe Type 1 Font Format"
+'
+.SH AUTHOR
+Eddie Kohler (kohler@icir.org)
diff --git a/Master/texmf/doc/man/man1/t1lint.1 b/Master/texmf/doc/man/man1/t1lint.1
new file mode 100644
index 00000000000..54077ee6728
--- /dev/null
+++ b/Master/texmf/doc/man/man1/t1lint.1
@@ -0,0 +1,48 @@
+.ds V 2.34
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.de Sp
+.if n .sp
+.if t .sp 0.4
+..
+.TH T1LINT 1 "LCDF Typetools" "Version \*V"
+.SH NAME
+t1lint \- check a PostScript Type 1 font for correctness
+.SH SYNOPSIS
+.B t1lint
+\%\fIfont\fR [\fIfont\fR...]
+.SH DESCRIPTION
+.BR T1lint
+checks PostScript Type 1 font programs for correctness. Any errors or
+variances from the specification are reported to standard error. If there
+are no errors, the command prints nothing. It exits with status 0 if all
+fonts were OK, and status 1 otherwise. If no input files are supplied,
+t1lint reads a font from the standard input.
+'
+.SH OPTIONS
+.PD 0
+.TP 5
+.BR \-q ", " \-\-quiet
+Do not generate any error messages. The only output will be the exit
+status.
+'
+.Sp
+.TP 5
+.BR \-h ", " \-\-help
+Print usage information and exit.
+'
+.Sp
+.TP 5
+.BR \-v ", " \-\-version
+Print the version number and some short non-warranty information and exit.
+.PD
+'
+.SH "SEE ALSO"
+.LP
+.M t1disasm 1
+.LP
+.I "Adobe Type 1 Font Format"
+'
+.SH AUTHOR
+Eddie Kohler (kohler@icir.org)
diff --git a/Master/texmf/doc/man/man1/t1mac.1 b/Master/texmf/doc/man/man1/t1mac.1
new file mode 100644
index 00000000000..63a196da720
--- /dev/null
+++ b/Master/texmf/doc/man/man1/t1mac.1
@@ -0,0 +1,62 @@
+.ds V 1.32
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.TH T1MAC 1 "" "Version \*V"
+.SH NAME
+t1mac \- translate a PFA or PFB PostScript Type 1 font into Macintosh format
+.SH SYNOPSIS
+.B t1mac
+\%[\fB\-\-macbinary\fR | \fB\-\-applesingle\fR |
+\fB\-\-appledouble\fR | \fB\-\-binhex\fR | \fB\-\-raw\fR]
+\%[\fB\-\-filename\fR \fIname\fR]
+\%[\fIinput\fR [\fIoutput\fR]]
+.SH DESCRIPTION
+.B t1mac
+reads a PFA (hexadecimal) or PFB (binary) PostScript Type 1 font file and
+generates an equivalent Macintosh Type 1 font file. The output file can be
+in MacBinary II, AppleSingle, AppleDouble, or BinHex format, or it can be a
+raw resource fork. The default is MacBinary II; use an option to choose a
+different format. If the
+.I output
+file is not specified output goes to the standard output.
+.PP
+WARNING: The output of
+.B t1mac
+is not sufficient to use the font, since Macintoshes can't read raw Type 1
+fonts. You will need to create a font suitcase containing bitmap fonts if
+you do not have such a suitcase for the font already.
+.B t1mac
+cannot help you do this.
+.SH OPTIONS
+.TP 5
+.BR \-\-raw ", " \-r
+Indicates that output should be a raw resource fork.
+.TP 5
+.BR \-\-macbinary
+Indicates that output should be in MacBinary I or II format. This is the
+default.
+.TP 5
+.BR \-\-applesingle
+Indicates that output should be in AppleSingle format.
+.TP 5
+.BR \-\-appledouble
+Indicates that output should be in AppleDouble format.
+.TP 5
+.BR \-\-binhex
+Indicates that output should be in BinHex 4.0 format.
+.TP 5
+.BR \-\-filename "=\fIname\fR, " \-n " \fIname\fR"
+Sets the Macintosh filename of the output font to \fIname\fR. The default
+is to construct the filename from the font's name using established
+Macintosh conventions. This option is not useful when output is a raw
+resource fork.
+.SH "SEE ALSO"
+.LP
+.M t1unmac 1 ,
+.M t1ascii 1 ,
+.M t1binary 1 ,
+.M t1asm 1 ,
+.M t1disasm 1
+.SH AUTHORS
+Eddie Kohler (kohler@icir.org)
diff --git a/Master/texmf/doc/man/man1/t1reencode.1 b/Master/texmf/doc/man/man1/t1reencode.1
new file mode 100644
index 00000000000..784a329a0e9
--- /dev/null
+++ b/Master/texmf/doc/man/man1/t1reencode.1
@@ -0,0 +1,149 @@
+.ds V 2.34
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.de Sp
+.if n .sp
+.if t .sp 0.4
+..
+.TH T1REENCODE 1 "LCDF Typetools" "Version \*V"
+.SH NAME
+t1reencode \- reencode a PostScript Type 1 font
+.SH SYNOPSIS
+.B t1reencode
+\%\-e ENCODING
+\%[OPTIONS...]
+.I font
+.RI [ outputfile ]
+.SH DESCRIPTION
+.BR T1reencode
+changes a PostScript Type\~1 font's embedded encoding. The reencoded font
+is written to the standard output (but see the
+.B \-\-output
+option). If no input font file is supplied,
+.B t1reencode
+reads a PFA or PFB font from the standard input.
+'
+.SH OPTIONS
+.PD 0
+.TP 5
+.BR \-\-encoding "=\fIfile\fR, " \-e " \fIfile"
+Read the encoding from
+.IR file ,
+which must contain an encoding in
+.M dvips 1
+format. Alternatively,
+.I file
+can be one of "StandardEncoding", "ISOLatin1Encoding", "ExpertEncoding",
+"ExpertSubsetEncoding", or "SymbolEncoding", in which case the
+corresponding standard encoding is used.
+'
+.Sp
+.TP 5
+.BR \-\-encoding\-text "=\fItext\fR, " \-E " \fItext"
+Use the encoding in the
+.I text
+argument, which must be formatted as a
+.M dvips 1
+encoding. One of
+.B \-\-encoding
+and
+.B \-\-encoding\-text
+must be supplied.
+'
+.Sp
+.TP 5
+.BR \-\-name "=\fIname\fR, " \-n " \fIname"
+Set the output font's PostScript name to
+.IR name .
+The default is the input font name followed by the encoding's name.
+'
+.Sp
+.TP 5
+.BR \-\-full-name "=\fIname\fR, " \-N " \fIname"
+Set the output font's FullName to
+.IR name .
+The default is the input FullName followed by the encoding's name.
+'
+.Sp
+.TP 5
+.BR \-\-output "=\fIfile\fR, " \-o " \fIfile"
+Send output to
+.I file
+instead of standard output.
+'
+.Sp
+.TP 5
+.BR \-\-pfb ", " \-b
+Output a PFB font. This is the default.
+'
+.Sp
+.TP 5
+.BR \-\-pfa ", " \-a
+Output a PFA font.
+'
+.Sp
+.TP 5
+.BR \-h ", " \-\-help
+Print usage information and exit.
+'
+.Sp
+.TP 5
+.BR \-\-version
+Print the version number and some short non-warranty information and exit.
+.PD
+'
+.SH "RETURN VALUES"
+.B T1reencode
+exits with value 0 if a reencoded font was successfully generated, and 1
+otherwise.
+'
+.SH "NOTES"
+.LP
+.B T1reencode
+should be used only in special situations. It's generally much better to
+use PostScript commands to reencode a font; for instance, executing the
+PostScript commands to generate two differently-encoded versions of a
+single font will take up much less memory than loading two
+.BR t1reencode d
+fonts.
+'
+.SH "EXAMPLES"
+.PP
+This command reencodes Frutiger Roman in the ISO Latin\~1 encoding. The new
+font will have the PostScript name Frutiger-RomanISOLatin1Encoding.
+.Sp
+.nf
+ \fBt1reencode\fR \fB\-e\fR ISOLatin1Encoding FrutiRom.pfb \e
+ \fB\-o\fR FrutiRomISOL1.pfb
+.fi
+.Sp
+This series of commands, which use
+.M cfftot1 1
+and
+.M otftotfm 1
+as well as
+.B t1reencode
+itself, generate a version of Warnock Pro Regular with old-style figures in
+the slots for numbers (because of
+.BR otftotfm 's
+.BR \-f onum
+option). The new font will be called WarnockPro-RegularOsF.
+.Sp
+.nf
+ \fBotftotfm\fR \fB\-f\fRonum WarnockPro-Regular.otf \e
+ \fB\-\-output\-encoding\fR /tmp/osf.enc
+ \fBcfftot1\fR WarnockPro-Regular.otf | \fBt1reencode\fR \fB\-e\fR /tmp/osf.enc \e
+ \fB\-n\fR WarnockPro-RegularOsF \fB\-N\fR "Warnock Pro Regular OsF" \e
+ \fB\-o\fR WarnoProRegOsF.pfb
+.fi
+'
+.SH "SEE ALSO"
+.LP
+.IR "Adobe Type 1 Font Format" ,
+.M dvips 1 ,
+.M cfftot1 1 ,
+.M otftotfm 1
+'
+.SH AUTHOR
+Eddie Kohler (kohler@cs.ucla.edu)
diff --git a/Master/texmf/doc/man/man1/t1testpage.1 b/Master/texmf/doc/man/man1/t1testpage.1
new file mode 100644
index 00000000000..87816fe364f
--- /dev/null
+++ b/Master/texmf/doc/man/man1/t1testpage.1
@@ -0,0 +1,62 @@
+.ds V 2.34
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.de Sp
+.if n .sp
+.if t .sp 0.4
+..
+.TH T1TESTPAGE 1 "LCDF Typetools" "Version \*V"
+.SH NAME
+t1testpage \- create a PostScript proof for a Type 1 font
+.SH SYNOPSIS
+.B t1testpage
+\%[\fIfont\fR]
+.SH DESCRIPTION
+.BR T1testpage
+creates a PostScript proof document for the specified Type 1 font file and
+writes it to the standard output. The proof shows every glyph in the
+font, including its glyph name and encoding. The
+.I font
+argument should be the name of a PFA or PFB font file. If it is omitted,
+t1testpage will read a font file from the standard input.
+.PP
+T1testpage is preliminary software.
+'
+.SH OPTIONS
+.PD 0
+.TP 5
+.BR \-g " \fIglyphs\fR, " \-\-glyph= \fIglyphs
+Print only glyphs matching
+.IR glyphs .
+The argument is a glyph pattern, using shell-like matching rules; thus,
+.BR "\-g " 'A*'
+will match the glyphs 'A', 'Atilde', and 'Ampersand', among others. You
+can give this option multiple times, or supply multiple space-separated
+patterns in a single option.
+'
+.Sp
+.TP 5
+.BR \-s ", " \-\-smoke
+Print smoke proofs, one glyph per page. This option is preliminary.
+'
+.Sp
+.TP 5
+.BR \-o " \fIfile\fR, " \-\-output= \fIfile
+Write the output proof to
+.I file
+instead of the standard output.
+'
+.Sp
+.TP 5
+.BR \-h ", " \-\-help
+Print usage information and exit.
+'
+.Sp
+.TP 5
+.BR \-v ", " \-\-version
+Print the version number and some short non-warranty information and exit.
+.PD
+'
+.SH AUTHOR
+Eddie Kohler (kohler@icir.org)
diff --git a/Master/texmf/doc/man/man1/t1unmac.1 b/Master/texmf/doc/man/man1/t1unmac.1
new file mode 100644
index 00000000000..deb6f252136
--- /dev/null
+++ b/Master/texmf/doc/man/man1/t1unmac.1
@@ -0,0 +1,71 @@
+.ds V 1.32
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.TH T1UNMAC 1 "" "Version \*V"
+.SH NAME
+t1unmac \- translate a Mac PostScript Type 1 font into PFA or PFB format
+.SH SYNOPSIS
+.B t1unmac
+\%[\fB\-a\fR|\fB\-b\fR]
+\%[\fB\-r\fR]
+\%[\fIinput\fR [\fIoutput\fR]]
+.SH DESCRIPTION
+.B t1unmac
+extracts POST resources from a Macintosh PostScript font file and creates a
+PFA (hexadecimal) or PFB (binary) font file. The file
+.I input
+should be in MacBinary I or II, AppleSingle, AppleDouble, or BinHex format,
+or it can be a raw resource fork. If the file is a raw resource fork, you
+need to give the `\-\-raw' option; otherwise
+.B t1unmac
+should automatically figure out what kind of file you have. If the file
+.I output
+is not specified output goes to the standard output.
+.SH OPTIONS
+.TP 5
+.BR \-\-pfa ", " \-a
+Output in PFA (ASCII) format.
+.TP 5
+.BR \-\-pfb ", " \-b
+Output in PFB (binary) format. This is the default.
+.TP 5
+.BR \-\-raw ", " \-r
+Indicates that the input is a raw resource fork.
+.TP 5
+.BR \-\-macbinary
+Indicates that the input is in MacBinary I or II format.
+.TP 5
+.BR \-\-applesingle
+Indicates that the input is in AppleSingle format.
+.TP 5
+.BR \-\-appledouble
+Indicates that the input is in AppleDouble format.
+.TP 5
+.BR \-\-binhex
+Indicates that the input is in BinHex 4.0 format.
+.TP
+.BI \-\-block\-length= "num\fR, " \-l " num"
+PFB only: Set the maximum output block length to
+.I num.
+The default length is as large as memory allows.
+.TP
+.BI \-\-line\-length= "num\fR, " \-l " num"
+PFA only: Set the maximum length of encrypted lines in the output to
+.I num.
+(These are the lines consisting wholly of hexadecimal digits.) The default
+is 64.
+.SH "SEE ALSO"
+.LP
+.M t1mac 1 ,
+.M t1ascii 1 ,
+.M t1binary 1 ,
+.M t1asm 1 ,
+.M t1disasm 1
+.SH AUTHORS
+Lee Hetherington (ilh@lcs.mit.edu)
+.br
+Eddie Kohler (kohler@icir.org)
+.PP
+Ported to Microsoft C/C++ Compiler and MS-DOS operating system by
+Kai-Uwe Herbing (herbing@netmbx.netmbx.de).
diff --git a/Master/texmf/doc/man/man1/tangle.1 b/Master/texmf/doc/man/man1/tangle.1
new file mode 100644
index 00000000000..43a5da6f3e8
--- /dev/null
+++ b/Master/texmf/doc/man/man1/tangle.1
@@ -0,0 +1,180 @@
+.TH TANGLE 1 "20 October 2002" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if n .ds WB Web
+.if t .ds WB W\s-2EB\s0
+.\"=====================================================================
+.SH NAME
+tangle \- translate WEB to Pascal
+.SH SYNOPSIS
+.B tangle
+[
+.RI options
+]
+.I webfile[.web]
+[
+.I changefile[.ch]
+]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B tangle
+program converts a \*(WB
+source document into a Pascal program that may be compiled in the usual
+way with the on-line Pascal compiler (e.g.,
+.BR pc (1)).
+The output file 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.
+.PP
+The \*(WB language allows you to prepare a single document containing all
+the information that is needed both to produce a compilable Pascal
+program and to produce a well-formatted document describing the program
+in as much detail as the writer may desire. The user of \*(WB must be
+familiar with both \*(TX and Pascal. \*(WB also provides a relatively
+simple, although adequate, macro facility that permits a Pascal program
+to be written in small easily-understood modules.
+.PP
+The command line should have either one or two names on it.
+The first is taken as the \*(WB file (and
+.I .web
+is added if there is no
+extension).
+If there is another name, it is a change file (and
+.I .ch
+is added if there is
+no extension). The change file overrides parts of the \*(WB file,
+as described in the \*(WB system documentation.
+.PP
+The output files are a Pascal file and a string pool file,
+whose names are formed by adding
+.I .p
+and
+.I .pool
+respectively to the root of the \*(WB file name.
+.\"=====================================================================
+.SH "OPTIONS"
+This version of
+.B tangle
+understands the following options. Note that some of these options
+may render the output unsuitable for processing by a Pascal compiler.
+.TP
+.B --help
+.rb
+Print help message and exit.
+.TP
+.BI --length \ number
+.rb
+Compare only the first
+.I number
+characters of identifiers when checking for collisions. The default
+is 32, the original
+.B tangle
+used 7.
+.TP
+.B --loose
+.rb
+When checking for collisions between identifiers, honor the settings
+of the
+.BR --lowercase ,
+.BR --mixedcase ,
+.BR --uppercase ,
+and
+.B --underline
+options. This is the default.
+.TP
+.B --lowercase
+.rb
+Convert all identifiers to lowercase.
+.TP
+.B --mixedcase
+.rb
+Retain the case of identifiers. This is the default.
+.TP
+.B --strict
+.rb
+When checking for collisions between identifiers, strip underlines and
+convert all identifiers to uppercase first.
+.TP
+.B --underline
+.rb
+Retain underlines (also known as underscores) in identifiers.
+.TP
+.B --uppercase
+.rb
+Convert all identifiers to uppercase. This is the behaviour of the
+original
+.BR tangle .
+.TP
+.B --version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR pc (1),
+.BR pxp (1)
+(for formatting
+.B tangle
+output when debugging),
+.BR tex (1).
+.PP
+Donald E. Knuth,
+.IR "The \*(WB System of Structured Documentation" .
+.PP
+Donald E. Knuth,
+.IR "Literate Programming" ,
+Computer Journal
+.BR 27 ,
+97\-111, 1984.
+.PP
+Wayne Sewell,
+.IR "Weaving a Program" ,
+Van Nostrand Reinhold, 1989, ISBN 0-442-31946-0.
+.PP
+Donald E. Knuth,
+.I "\*(OX: The Program"
+(Volume B of
+.IR "Computers and Typesetting" ),
+Addison-Wesley, 1986, ISBN 0-201-13437-3.
+.PP
+Donald E. Knuth,
+.I "\*(MF: The Program"
+(Volume D of
+.IR "Computers and Typesetting" ),
+Addison-Wesley, 1986, ISBN 0-201-13438-1.
+.PP
+These last two are by far the largest extant examples of \*(WB
+programs.
+.PP
+There is an active Internet electronic mail discussion list on the
+subject of literate programming; send a subscription request to
+.I litprog-request@shsu.edu
+to join.
+.\"=====================================================================
+.SH AUTHORS
+\*(WB was designed by Donald E. Knuth, based on an earlier system
+called DOC (implemented by Ignacio Zabala).
+The
+.B tangle
+and
+.B weave
+programs are themselves written in \*(WB. The system
+was originally ported to Unix at Stanford by Howard Trickey, and at
+Cornell by Pavel Curtis.
diff --git a/Master/texmf/doc/man/man1/tcdialog.1 b/Master/texmf/doc/man/man1/tcdialog.1
new file mode 100644
index 00000000000..73931f1c4ca
--- /dev/null
+++ b/Master/texmf/doc/man/man1/tcdialog.1
@@ -0,0 +1,217 @@
+.TH DIALOG 1 "10 January 1994"
+.SH NAME
+dialog \- display dialog boxes from shell scripts
+.SH SYNOPSIS
+.B dialog --clear
+.br
+.BI "dialog --create-rc " file
+.br
+.B dialog
+[
+.B \-\-title
+.I title
+]
+[
+.B \-\-clear
+]
+.B box-options
+.SH DESCRIPTION
+.B Dialog
+is a program that will let you to present a variety of questions or
+display messages using dialog boxes from a shell script. Currently,
+these types of dialog boxes are implemented:
+.LP
+.BR yes/no " box," " menu" " box," " input" " box,"
+.BR message " box," " text" " box," " info" " box, and"
+.BR checklist " box."
+.SH OPTIONS
+.TP
+.B \-\-clear
+The screen will be cleared to the
+.BR "screen attribute" " on exit."
+.TP
+.BI \-\-create-rc " file"
+.RB "Since " dialog " supports run-time configuration,"
+this can be used to dump a sample configuration file to the file specified
+by
+.IR file "."
+.TP
+.BI \-\-title " title"
+Specifies a
+.I title
+string to be displayed at the top of the dialog box.
+.TP
+.B Box Options
+.TP
+.BI \-\-yesno " text height width"
+.RB A " yes/no" " dialog box of size"
+.I height
+rows by
+.I width
+columns will be displayed. The string specified by
+.I text
+is displayed inside the dialog box. If this string is too long to be fitted
+in one line, it will be automatically divided into multiple lines at
+appropriate places. The
+.I text
+string may also contain the sub-string
+.I
+"\en"
+or newline characters
+.I `\en\'
+to control line breaking explicitly. This dialog box is useful for
+asking questions that require the user to answer either yes or no.
+.RB "The dialog box has a" " Yes" " button and a " No
+button, in which the user can switch between by pressing the
+.IR TAB " key."
+.TP
+.BI \-\-msgbox " text height width"
+.RB A " message" " box is very similar to a" " yes/no" " box."
+The only difference between a
+.B message
+box and a
+.B yes/no
+box is that a
+.B message
+box has only a single
+.B OK
+button. You can use this dialog box to display any message you like.
+After reading the message, the user can press the
+.I ENTER
+key so that
+.B dialog
+will exit and the calling shell script can continue its operation.
+.TP
+.BI \-\-infobox " text height width"
+.RB An " info" " box is basically a" " message" " box."
+However, in this case,
+.B dialog
+will exit immediately after displaying the message to the user. The
+screen is not cleared when
+.B dialog
+exits, so that the message will remain on the screen until the calling
+shell script clears it later. This is useful when you want to inform
+the user that some operations are carrying on that may require some
+time to finish.
+.TP
+.BI \-\-inputbox " text height width"
+.RB "An " input " box is useful when you want to ask questions that"
+require the user to input a string as the answer. When inputing the
+string, the
+.I BACKSPACE
+key can be used to correct typing errors. If the input string is longer than
+can be fitted in the dialog box, the input field will be scrolled. On exit,
+the input string will be printed on
+.IR stderr "."
+.TP
+.BI \-\-textbox " file height width"
+.RB A " text" " box lets you display the contents of a text file in a"
+dialog box. It is like a simple text file viewer. The user can move
+through the file by using the
+.IR UP/DOWN ", " PGUP/PGDN
+.RI and " HOME/END" " keys available on most keyboards."
+If the lines are too long to be displayed in the box, the
+.I LEFT/RIGHT
+keys can be used to scroll the text region horizontally. For more
+convenience, forward and backward searching functions are also provided.
+.IP "\fB\-\-menu \fItext height width menu-height \fR[ \fItag item \fR] \fI..."
+As its name suggests, a
+.B menu
+box is a dialog box that can be used to present a list of choices in
+the form of a menu for the user to choose. Each menu entry consists of a
+.IR tag " string and an " item " string. The"
+.I tag
+gives the entry a name to distinguish it from the other entries in the
+menu. The
+.I item
+is a short description of the option that the entry represents. The
+user can move between the menu entries by pressing the
+.I UP/DOWN
+keys, the first letter of the
+.I tag
+as a hot-key, or the number keys
+.IR 1-9 ". There are"
+.I menu-height
+entries displayed in the menu at one time, but the menu will be
+scrolled if there are more entries than that. When
+.B dialog
+exits, the
+.I tag
+of the chosen menu entry will be printed on
+.IR stderr "."
+.IP "\fB\-\-checklist \fItext height width list-height \fR[ \fItag item status \fR] \fI..."
+.RB "A " checklist " box is similar to a " menu " box in that there are"
+multiple entries presented in the form of a menu. Instead of choosing
+one entry among the entries, each entry can be turned on or off by the
+user. The initial on/off state of each entry is specified by
+.IR status "."
+On exit, a list of the
+.I tag
+strings of those entries that are turned on will be printed on
+.IR stderr "."
+.SH "RUN-TIME CONFIGURATION"
+.TP 4
+1.
+Create a sample configuration file by typing:
+.LP
+.in +1i
+"dialog --create-rc <file>"
+.TP 4
+2.
+At start,
+.B dialog
+determines the settings to use as follows:
+.RS
+.TP 4
+a)
+if environment variable
+.B DIALOGRC
+is set, it's value determines the name of the configuration file.
+.TP 4
+b)
+if the file in (a) can't be found, use the file
+.I $HOME/.dialogrc
+as the configuration file.
+.TP 4
+c)
+if the file in (b) can't be found, use compiled in defaults.
+.RE
+.TP 4
+3.
+Edit the sample configuration file and copy it to some place that
+.B dialog
+can find, as stated in step 2 above.
+.SH ENVIROMENT
+.TP 15
+.B DIALOGRC
+Define this variable if you want to specify the name of the configuration file
+to use.
+.SH FILES
+.TP 20
+.I $HOME/.dialogrc
+default configuration file
+.SH DIAGNOSTICS
+Exit status is 0 if
+.BR dialog " is exited by pressing the " Yes " or " OK
+button, and 1 if the
+.BR No " or " Cancel
+button is pressed. Otherwise, if errors occur inside
+.B dialog
+or
+.B dialog
+is exited by pressing the
+.I ESC
+key, the exit status is -1.
+.SH BUGS
+Text files containing
+.I tab
+characters may cause problems with
+.B text
+box.
+.I Tab
+characters in text files must first be expanded to spaces before being
+.RB "displayed by " text " box."
+.TP
+Screen update is too slow.
+.SH AUTHOR
+Savio Lam <lam836@cs.cuhk.hk>
diff --git a/Master/texmf/doc/man/man1/tex.1 b/Master/texmf/doc/man/man1/tex.1
new file mode 100644
index 00000000000..e13fecc48b3
--- /dev/null
+++ b/Master/texmf/doc/man/man1/tex.1
@@ -0,0 +1,541 @@
+.TH TEX 1 "21 August 2004" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.if n .ds WB Web
+.if t .ds WB W\s-2EB\s0
+.\" EX and EE are used for displays that are pure code
+.de EX
+.nf
+.ft CW
+..
+.de EE
+.ft R
+.fi
+..
+.\"=====================================================================
+.SH NAME
+tex, virtex, initex \- text formatting and typesetting
+.SH SYNOPSIS
+.B tex
+.RI [ options ]
+[\fB&\fR \fIformat\fR ]
+[ \fIfile\fR | \fB\e\fR \fIcommands\fR ]
+.\"=====================================================================
+.SH DESCRIPTION
+Run the \*(TX typesetter on
+.IR file ,
+usually creating
+.IR file.dvi .
+If the file argument has no extension, ".tex" will be appended to it.
+Instead of a filename, a set of \*(TX commands can be given, the first
+of which must start with a backslash.
+With a
+.BI & format
+argument \*(TX uses a different set of precompiled commands,
+contained in
+.IR format.fmt ;
+it is usually better to use the
+.B -fmt
+.I format
+option instead.
+.PP
+\*(TX
+formats the interspersed text and commands contained in the named
+files
+and outputs a typesetter independent file (called
+.IR DVI ,
+which is short for
+.IR "DeVice Independent" ).
+\*(TX's capabilities and language are described in
+.IR "The \*(OXbook" .
+\*(TX
+is normally used with a large body of precompiled macros,
+and there are several specific formatting systems, such as
+\*(LX,
+which require the support of several macro files.
+.PP
+This version of \*(TX looks at its command line to see what name it
+was called under. If they exist, then both
+.B initex
+and
+.B virtex
+are symbolic links to the
+.B tex
+executable. When called as
+.BR initex
+(or when the
+.B -ini
+option is given) it can be used to precompile macros into a
+.I .fmt
+file. When called as
+.B virtex
+it will use the
+.I plain
+format. When called under any other name, \*(TX will use that name as
+the name of the format to use. For example, when called as
+.B tex
+the
+.I tex
+format is used, which is identical to the
+.I plain
+format. The commands defined by the
+.I plain
+format are documented in
+.IR "The \*(OXbook" .
+Other formats that are often available include
+.I latex
+and
+.IR amstex .
+.PP
+The non-option command line arguments to the
+\*(TX
+program are passed to it as the first input line. (But it is often
+easier to type extended arguments as the first input line, since UNIX
+shells tend to gobble up or misinterpret \*(TX's favorite symbols,
+like backslashes, unless you quote them.)
+As described in
+.IR "The \*(OXbook" ,
+that first line should begin with a filename, a
+.IR \econtrolsequence ,
+or a
+.IR &formatname .
+.PP
+The normal usage is to say
+.EX
+tex paper
+.EE
+to start processing
+.IR paper.tex .
+The name
+.I paper
+will be the ``jobname'', and is used in forming
+output filenames.
+If \*(TX doesn't get a filename in the first line, the jobname is
+.IR texput .
+When looking for a file, \*(TX looks for the name with and without the
+default extension
+.RI ( .tex )
+appended, unless the name already contains that extension. If
+.I paper
+is the ``jobname'',
+a log of error messages, with rather more detail than normally appears
+on the screen, will appear in
+.IR paper.log ,
+and the output file will be in
+.IR paper.dvi .
+.PP
+This version of \*(TX can look in the first line of the file
+.I paper.tex
+to see if it begins with the magic sequence
+.IR %& .
+If the first line begins with
+.BI %& format
+.BI -translate-file \ tcxname
+then \*(TX will use the named format and transation table
+.I tcxname
+to process the source file. Either the format name or the
+.B -translate-file
+specification may be omitted, but not both. This overrides the
+format selection based on the name by which the program is invoked.
+The
+.B -parse-first-line
+option or the
+.B parse_first_line
+configuration variable controls whether this behaviour is enabled.
+.PP
+The
+.I e
+response to \*(TX's error prompt causes the system default editor to
+start up at the current line of the current file. The environment
+variable TEXEDIT can be used to change the editor used. It may
+contain a string with "%s" indicating where the filename goes and "%d"
+indicating where the decimal line number (if any) goes. For example,
+a TEXEDIT string for
+.B emacs
+can be set with the
+.B sh
+command
+.EX
+\fITEXEDIT="emacs +%d %s"; export TEXEDIT\fP
+.EE
+.PP
+A convenient file in the library is
+.IR null.tex ,
+containing nothing.
+When \*(TX can't find a file it thinks you want to input, it keeps
+asking you for another filename; responding `null' gets you out
+of the loop if you don't want to input anything. You can also type your
+EOF character (usually control-D).
+.PP
+.\"=====================================================================
+.SH OPTIONS
+This version of \*(TX understands the following command line options.
+.TP
+.B -enc
+.rb
+Enable the enc\*(TX extensions. This option is only effective in
+combination with
+.BR -ini .
+For documentation of the enc\*(TX extensions see
+.BR http://www.olsak.net/enctex.html .
+.TP
+.B -file-line-error
+.rb
+Print error messages in the form
+.I file:line:error
+which is similar to the way many compilers format them.
+.TP
+.B -no-file-line-error
+.rb
+Disable printing error messages in the
+.I file:line:error
+style.
+.TP
+.B -file-line-error-style
+.rb
+This is the old name of the
+.B -file-line-error
+option.
+.TP
+.BI -fmt \ format
+.rb
+Use
+.I format
+as the name of the format to be used, instead of the name by which
+\*(TX was called or a
+.I %&
+line.
+.TP
+.B -halt-on-error
+.rb
+Exit with an error code when an error is encountered during processing.
+.TP
+.B -help
+.rb
+Print help message and exit.
+.TP
+.B -ini
+.rb
+Start in
+.I INI
+mode, which is used to dump formats. The
+.I INI
+mode can be used for typesetting, but no format is preloaded, and
+basic initializations like setting catcodes may be required.
+.TP
+.BI -interaction \ mode
+.rb
+Sets the interaction mode. The mode can be either
+.IR batchmode ,
+.IR nonstopmode ,
+.IR scrollmode ,
+and
+.IR errorstopmode .
+The meaning of these modes is the same as that of the corresponding
+\ecommands.
+.TP
+.B -ipc
+.rb
+Send DVI output to a socket as well as the usual output file. Whether
+this option is available is the choice of the installer.
+.TP
+.B -ipc-start
+.rb
+As
+.BR -ipc ,
+and starts the server at the other end as well. Whether this option
+is available is the choice of the installer.
+.TP
+.BI -jobname \ name
+.rb
+Use
+.I name
+for the job name, instead of deriving it from the name of the input file.
+.TP
+.BI -kpathsea-debug \ bitmask
+.rb
+Sets path searching debugging flags according to the bitmask. See the
+.I Kpathsea
+manual for details.
+.TP
+.BI -mktex \ fmt
+.rb
+Enable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.B -mltex
+.rb
+Enable ML\*(TX extensions. Only effective in combination with
+.BR -ini .
+.TP
+.BI -no-mktex \ fmt
+.rb
+Disable
+.RI mktex fmt ,
+where
+.I fmt
+must be either
+.I tex
+or
+.IR tfm .
+.TP
+.BI -output-comment \ string
+.rb
+Use
+.I string
+for the
+.I DVI
+file comment instead of the date.
+.TP
+.BI -output-directory \ directory
+.rb Write output files in
+.I directory
+instead of the current directory. Look up input files in
+.I directory
+first, the along the normal search path.
+.TP
+.B -parse-first-line
+.rb
+If the first line of the main input file begins with
+.I %&
+parse it to look for a dump name or a
+.B -translate-file
+option.
+.TP
+.B -no-parse-first-line
+.rb
+Disable parsing of the first line of the main input file.
+.TP
+.BI -progname \ name
+.rb
+Pretend to be program
+.IR name .
+This affects both the format used and the search paths.
+.TP
+.B -recorder
+.rb
+Enable the filename recorder. This leaves a trace of the files opened
+for input and output in a file with extension
+.IR .fls .
+.TP
+.B -shell-escape
+.rb
+Enable the
+.BI \ewrite18{ command }
+construct. The
+.I command
+can be any shell command. This construct is normally
+disallowed for security reasons.
+.TP
+.B -no-shell-escape
+.rb
+Disable the
+.BI \ewrite18{ command }
+construct, even if it is enabled in the
+.I texmf.cnf
+file.
+.TP
+.B -src-specials
+.rb
+Insert source specials into the
+.I DVI
+file.
+.TP
+.BI -src-specials \ where
+.rb
+Insert source specials in certain places of the
+.I DVI
+file.
+.I where
+is a comma-separated value list:
+.IR cr ,
+.IR display ,
+.IR hbox ,
+.IR math ,
+.IR par ,
+.IR parent ,
+or
+.IR vbox .
+.TP
+.BI -translate-file \ tcxname
+.rb
+Use the
+.I tcxname
+translation table to set the mapping of input characters and
+re-mapping of output characters.
+.TP
+.BI -default-translate-file \ tcxname
+.rb
+Like
+.B -translate-file
+except that a
+.I %&
+line can overrule this setting.
+.TP
+.B -version
+.rb
+Print version information and exit.
+.\"=====================================================================
+.SH ENVIRONMENT
+See the Kpathsearch library documentation (the `Path specifications'
+node) for precise details of how the environment variables are used.
+The
+.B kpsewhich
+utility can be used to query the values of the variables.
+.PP
+One caveat: In most \*(TX formats, you cannot use ~ in a filename you
+give directly to \*(TX, because ~ is an active character, and hence is
+expanded, not taken as part of the filename. Other programs, such as
+\*(MF, do not have this problem.
+.PP
+.TP
+TEXMFOUTPUT
+Normally, \*(TX puts its output files in the current directory. If
+any output file cannot be opened there, it tries to open it in the
+directory specified in the environment variable TEXMFOUTPUT.
+There is no default value for that variable. For example, if you say
+.I tex paper
+and the current directory is not writable, if TEXMFOUTPUT has
+the value
+.IR /tmp ,
+\*(TX attempts to create
+.I /tmp/paper.log
+(and
+.IR /tmp/paper.dvi ,
+if any output is produced.)
+.TP
+TEXINPUTS
+Search path for
+.I \einput
+and
+.I \eopenin
+files.
+This should probably start with ``.'', so
+that user files are found before system files. An empty path
+component will be replaced with the paths defined in the
+.I texmf.cnf
+file. For example, set TEXINPUTS to ".:/home/usr/tex:" to prepend the
+current direcory and ``/home/user/tex'' to the standard search path.
+.TP
+TEXFORMATS
+Search path for format files.
+.TP
+TEXPOOL
+search path for
+.B tex
+internal strings.
+.TP
+TEXEDIT
+Command template for switching to editor. The default, usually
+.BR vi ,
+is set when \*(TX is compiled.
+.TP
+TFMFONTS
+Search path for font metric
+.RI ( .tfm )
+files.
+.\"=====================================================================
+.SH FILES
+The location of the files mentioned below varies from system to
+system. Use the
+.B kpsewhich
+utility to find their locations.
+.TP
+.I texmf.cnf
+Configuration file. This contains definitions of search paths as well
+as other configuration parameters like
+.BR parse_first_line .
+.TP
+.I tex.pool
+Text file containing \*(TX's internal strings.
+.TP
+.I texfonts.map
+Filename mapping definitions.
+.TP
+.I *.tfm
+Metric files for \*(TX's fonts.
+.TP
+.I *.fmt
+Predigested \*(TX format (.\|fmt) files.
+.TP
+.I $TEXMFMAIN/tex/plain/base/plain.tex
+The basic macro package described in the \*(OXbook.
+.br
+.\"=====================================================================
+.SH NOTES
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info manual
+.IR "Web2C: A TeX implementation" .
+.\"=====================================================================
+.SH BUGS
+This version of \*(TX implements a number of optional extensions.
+In fact, many of these extensions conflict to a greater or lesser
+extent with the definition of \*(TX. When such extensions are
+enabled, the banner printed when \*(TX starts is changed to print
+.B TeXk
+instead of
+.BR TeX .
+.PP
+This version of \*(TX fails to trap arithmetic overflow when
+dimensions are added or subtracted. Cases where this occurs are rare,
+but when it does the generated
+.I DVI
+file will be invalid.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR mf (1),
+.br
+Donald E. Knuth,
+.IR "The \*(OXbook" ,
+Addison-Wesley, 1986, ISBN 0-201-13447-0.
+.br
+Leslie Lamport,
+.IR "\*(LX \- A Document Preparation System" ,
+Addison-Wesley, 1985, ISBN 0-201-15790-X.
+.br
+K. Berry,
+.IR "Eplain: Expanded plain \*(TX" ,
+ftp://ftp.cs.umb.edu/pub/tex/eplain/doc.
+.br
+Michael Spivak,
+.IR "The Joy of \*(OX" ,
+2nd edition, Addison-Wesley, 1990, ISBN 0-8218-2997-1.
+.br
+.I TUGboat
+(the journal of the \*(TX Users Group).
+.\"=====================================================================
+.SH TRIVIA
+\*(TX, pronounced properly, rhymes with ``blecchhh.'' The proper
+spelling in typewriter-like fonts is ``TeX'' and not ``TEX'' or ``tex.''
+.\"=====================================================================
+.SH AUTHORS
+\*(TX was designed by Donald E. Knuth,
+who implemented it using his \*(WB system for Pascal programs.
+It was ported to Unix at Stanford by Howard Trickey, and
+at Cornell by Pavel Curtis.
+The version now offered with the Unix \*(TX distribution is that
+generated by the \*(WB to C system
+.RB ( web2c ),
+originally written by Tomas Rokicki and Tim Morgan.
+.PP
+The enc\*(TX extensions were written by Petr Olsak.
diff --git a/Master/texmf/doc/man/man1/texconfig-sys.1 b/Master/texmf/doc/man/man1/texconfig-sys.1
new file mode 120000
index 00000000000..5d3f79303b2
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texconfig-sys.1
@@ -0,0 +1 @@
+texconfig.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/texconfig.1 b/Master/texmf/doc/man/man1/texconfig.1
new file mode 100644
index 00000000000..30cb0ea7e90
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texconfig.1
@@ -0,0 +1,27 @@
+.TH texconfig 1 "February 2005" "teTeX" "teTeX"
+.SH NAME
+texconfig \- configures teTeX
+.LP
+texconfig-sys \- configures teTeX system\-wide
+.SH SYNOPSIS
+.B texconfig
+.LP
+.B texconfig-sys
+.SH DESCRIPTION
+.I texconfig
+allows to configure and maintain
+.I teTeX
+in an easy and convenient manner. It uses the
+.I dialog
+program to draw nice input boxes. After answering the dialoges, the
+appropriate files are changed automatically and all necessary
+steps are involved to apply the new settings.
+.SH "SEE ALSO"
+.IR dialog (1),
+.IR initex (1),
+.IR mf (1),
+.IR vi (1),
+.IR EDITOR
+environment-variable.
+.SH AUTHOR
+Thomas Esser <te@dbs.uni-hannover.de>
diff --git a/Master/texmf/doc/man/man1/texdoc.1 b/Master/texmf/doc/man/man1/texdoc.1
new file mode 100644
index 00000000000..9d680c35b0d
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texdoc.1
@@ -0,0 +1,94 @@
+.\" EX and EE are used for displays that are pure code
+.de EX
+.nf
+.ft CW
+.in +5
+..
+.de EE
+.in -5
+.ft R
+.fi
+..
+.TH "texdoc" "1" "September 2000" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+texdoc \- Utility to look up TeX documentation
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBtexdoc\fP [ \fIOPTION\fP \&.\&.\&. ] \fINAME\fP [ \&.\&.\&. ]
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBtexdoc\fP seaches for \fINAME\fP in the TeX documentation and
+starts an appropriate viewer\&.
+.PP
+\fINAME\fP should be the name of a command or package in the teTeX
+distribution\&.
+.PP
+.SH "OPTIONS"
+.PP
+.IP "\fB--help\fP"
+Display a brief summary of options\&.
+.IP
+.IP "\fB-l\fP"
+List matching files\&. Does not start a viewer\&.
+.IP "\fB-v\fP"
+Sets verbose mode\&. Shows the command being used to
+display the documentation\&.
+.PP
+.SH "ENVIRONMENT"
+.PP
+.IP "\fB$TEXDOCVIEW_dvi\fP"
+DVI viewer\&. Defaults to \fBxdvi\fP(1)\&.
+.IP "\fB$TEXDOCVIEW_pdf\fP"
+PDF viewer\&. Defaults to \fBacroread\fP(1)\&.
+.IP "\fB$TEXDOCVIEW_ps\fP"
+PostScript viewer\&. Defaults to
+\fBghostview\fP(1)\&.
+.IP "\fB$TEXDOCVIEW_html\fP"
+HTML viewer\&. Defaults to \fBnetscape\fP(1)\&.
+.IP "\fB$TEXDOCVIEW_txt\fP"
+Text viewer\&. Defaults to \fB$PAGER-more\fP\&.
+.PP
+The environment variables should be set with a ``%s\&'\&' as a placeholder
+for the name of the file\&. For example,
+.PP
+.EX
+hostname% setenv TEXDOCVIEW_pdf "gv %s"
+.EE
+.PP
+or
+.PP
+.EX
+hostname$ TEXDOCVIEW_html="mozilla %s"
+
+hostname$ export TEXDOCVIEW_html
+.EE
+.PP
+.SH "SEE ALSO"
+.PP
+\fBacroread\fP(1), \fBgv\fP(1), \fBkpsewhich\fP(1),
+\fBless\fP(1), \fBmore\fP(1), \fBxdvi\fP(1)
+.PP
+Web page: <http://tug\&.org/teTeX/>
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+.PP
+.SH "AUTHOR"
+.PP
+\fBtexdoc\fP was written by Thomas Esser
+<te@dbs\&.uni-hannover\&.de>, David Aspinall
+<da@dcs\&.ed\&.ac\&.uk>, and
+Simon Wilkinson
+<sxw@dcs\&.ed\&.ac\&.uk> during 1998 and 1999\&. \fBtexdoc\fP is in the public
+domain\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<c@eskimo\&.com>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/texdoctk.1 b/Master/texmf/doc/man/man1/texdoctk.1
new file mode 100644
index 00000000000..03bb298c7a4
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texdoctk.1
@@ -0,0 +1,217 @@
+.TH TEXDOCTK 1
+.SH NAME
+texdoctk \- GUI for easier access of TeX package and program documentations
+.SH SYNOPSIS
+.B texdoctk
+-[aq]
+.SH "DESCRIPTION"
+.B texdoctk
+is a GUI for easier access to a large part of the vast amount
+of package and program documentations and tutorials for TeX and its
+different derivates (mainly LaTeX). It is optimized and included in
+the teTeX and fpTeX distributions and also available with TeXLive.
+.PP
+The documentation is grouped into 17 categories; the 18th button of the main
+panel is inactive by default and intended for use with local additions (see
+section
+.B CONFIGURATION
+below).
+.PP
+In the settings window you see a checkbox in the html->ps and text->ps
+converter menus for switching on/off output redirect. This is due to the fact
+that some converters do not write their output into a file but to stdout by
+default, so a redirect is needed, e.g.
+.PP
+a2ps myfile.txt >myfile.ps
+.SH "OPTIONS"
+.TP
+.I "\-v"
+verbose: enable some viewer messages which are otherwise sent to stderr,
+as well as some warning popup windows. This can also be set in a
+configuration file.
+.TP
+.I "\-a"
+autoview: autostart viewer if a listbox contains only one item (this will
+frequently happen in search results). This can also be set in a configuration
+file.
+.SH "CONFIGURATION"
+.PP
+The configuration is controlled by the system default concfiguration file
+($TEXMFMAIN)/texdoctk/texdocrc.defaults, most of whose entries can though be
+overridden by the users' own optional ~/.texdocrc files and/or command line
+options.
+.SS The Settings menu and configuration files
+.PP
+The Settings menu is used to change the user-definable settings of \fBtexdoctk\fP
+for the duration of the programm call or as new defaults. The latter case is
+the purpose of the Save button, which generates or rewrites the user's own
+~/.texdocrc file. The system defaults cannot be edited with the Settings
+menu.
+.TP
+Paths
+The TEXMF-type paths on the system are reported, and the user can specify the
+name of the subdirectory of $HOMETEXMF, where the personal documentation is
+stored.
+.TP
+General viewer behaviour
+
+.I Suppress error messages
+toggle verbose mode (see option -v); default is off.
+
+.I Autostart viewer for one-item listboxes
+if a listbox contains only one item (see option -a)
+
+.I Use text viewer for unknown file format
+i.e. treat the file as plain text. \fBtexdoctk\fP should recognize the usual file
+formats and also relate names like README to plain text, but some docs may have
+freely invented names. Default is on; if switched off, trying to view such
+files will raise an error. The switch does not influence printing: unrecognized
+formats cannot be printed.
+
+.I Change viewer colours
+using either RGB triplets in the format #rrggbb or the standardized names.
+.TP
+DVI/PostScript/PDF/HTML/Plain text
+For text files, \fBtexdoctk\fP provides an own viewer. If this viewer is disabled,
+but no alternative viewer is specified, \fBtexdoctk\fP tries to read the content
+of the environment variable $PAGER.
+
+If you want to print the documentations, you will need converters to turn
+non-PS files into PostScript. Here are some suggestions:
+
+\& dvi->ps:
+dvips (is part of teTeX) (http://www.radicaleye.com/dvips.html)
+
+\& pdf->ps:
+pdf2ps (http://www.cs.wisc.edu/~ghost) or
+Acrobat Reader (http://www.adobe.com)
+
+\& html->ps: html2ps (http://user.it.uu.se/~jan/html2ps.html)
+
+\& plain text->ps: a2ps (http://www-inf.enst.fr/~demaille/a2ps/)
+
+The html->ps and text->ps converter menus for switching on/off output redirect.
+This is due to the fact that some converters do not write their output into a
+file but to stdout by default, so a redirect is needed, e.g.
+.B a2ps myfile.txt >myfile.ps
+.PP
+The system-wide configuration file is ($TEXMFMAIN)/texdoctk/texdocrc.defaults
+and should only be writeable by the administrator of the installation using any
+text editor. The optional user configuration file is ~/.texdocrc and can
+override all but those system settings which affect the installation as a
+whole. The preferred way of changing it is through the Settings menu.
+.SS The databases
+\fBtexdoctk\fP comes with a default database file ($TEXMFMAIN)/texdoctk/texdoctk.dat
+with a special format. It is divided into 17 sections corresponding to the
+17 buttons that are active by default. Each section begins with a line
+
+@\fIsection_name\fP
+
+where
+.I section_name
+is the text as it appears in the button. This title is
+followed by the descriptive entries for each documentation, which have this
+format:
+
+\fIpackage-label\fP;Short description for listbox (opt. \fIpackage-name\fP);path in doc directory;optional keywords
+
+(without breaking the line!). Comments (initiated with a #) and empty lines
+are ignored by the program. The second field is the text displayed in the
+selection listboxes of \fBtexdoctk\fP, and you will usually want to mention the name
+of the package in parens along with it; the first field is a \fBunique\fP label
+for the package for internal use of the program which will usually be chosen
+identical to the package name, but can be different if there is more than one
+documentation file coming with a package.
+.PP
+The administrator will probably install additional packages in the local texmf
+tree. The corresponding documentation can be made accessible by an additional
+database $TEXMFLOCAL/texdoctk/texdoctk-local.dat. Furthermore, individual
+users possibly install additional packages in an texmf subdirectory of their
+$HOME, for which they can make an individual database themselves as
+$TEXMFHOME/texdoctk/texdoctk-pers.dat. After creating such files, texhash
+must be executed.
+.PP
+Both types of databases must have the same structure as the system database,
+although they need (and should) not include all its sections if there are no
+additional entries. For example, if the the package
+.I foo
+is added to the local tree such that its documentation file is
+($TEXMFLOCAL)/doc/latex/foo/foo.dvi and it is decided that it fits best into
+the existing category Graphics, texdoctk-local.dat would look like this:
+
+@Graphics
+.br
+foo;Create bells and whistles (foo);latex/foo/foo.dvi;decoration
+
+The entry for
+.I foo
+will then be appended to the list of entries in the Graphics category. The 18th
+button can be activated in the same way, but using a new category name;
+possible entries at the beginning of the database which have not been assigned
+to a category will be assigned to the default Miscellaneous, making the 18th
+button active with that label. Note that you cannot have more than 18
+categories; if there are more, only the one defined last will appear and be
+used.
+.PP
+If the documentation is included in the .sty file instead of a proper
+documentation file, the optional keywords should start with
+-?- directly after the semicolon, where ? is 0, 1, 2 or 3; these are flags
+which indicate in which part of the .sty the instructions are placed and
+should help \fBtexdoctk\fP to extract the documentation from the style and present
+it without the code, which would normally be of little use.
+.TP
+0
+no specific place, scattered between the code
+.TP
+1
+at end, behind \\endinput; some .sty files have well-organized documentation
+behind the end of the actual code, where TeX doesn't see it upon compilation
+.TP
+2
+at beginning, terminated by %%%%%%; in some other cases, some usage information
+is at the beginning of the .sty as a comment terminated by a line full of %
+.TP
+3
+as 2, but with a blank line as termination
+.PP
+See the system database for plenty of examples.
+
+.SH "FILES"
+.PP
+\& $TEXMFMAIN/texdoctk/texdocrc.defaults
+system-wide configuration file
+.PP
+\& ~/.texdocrc
+(optional) personal configuration file; can also be created with the Settings menu
+.PP
+\& $TEXMFMAIN/texdoctk/texdoctk.dat
+default database file for documentation files of the distribution
+.PP
+\& $TEXMFLOCAL/texdoctk/texdoctk-local.dat
+(optional) local database file for documentation files
+.PP
+\& $TEXMFHOME/texdoctk/texdoctk-pers.dat
+(optional) personal database file of individual users for documentation files
+.SH BUGS
+Widget placement in topic toplevels becomes ugly when the toplevel is stretched
+or shrunk.
+.PP
+The font in the frame labels of the Settings menu are not forced to the default
+font; this will become visible e.g. at hi-res screens, where the label font is
+not scaled up.
+.PP
+Netscape and Mozilla error output will be written to stderr even if the quiet
+mode was set.
+.SH AUTHOR
+.B texdoctk
+was written by Thomas Ruedas <tr@geol.ku.dk>.
+.PP
+This manual page was originally written by Adrian Bunk <bunk@fs.tum.de> for
+the Debian GNU/Linux system (but may be used by others). It is now maintained
+by Thomas Ruedas.
+
+.SH COPYRIGHT
+Copyright (C) 2000-2004 Thomas Ruedas
+.br
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/Master/texmf/doc/man/man1/texexec.1 b/Master/texmf/doc/man/man1/texexec.1
new file mode 100644
index 00000000000..2d8593b674c
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texexec.1
@@ -0,0 +1,574 @@
+.de EX
+.sp
+.in +5
+.nf
+.ft CW
+..
+.de EE
+.in -5
+.ft R
+.sp
+.fi
+..
+.TH "texexec" "1" "October 2000" "ConTeXt" "ConTeXt"
+.PP
+.SH "NAME"
+texexec \- ConTeXt and PDF auxiliary program and batch processor
+.PP
+.SH "SYNOPSIS"
+\fBtexexec\fP [ \fIOPTION\fP \&.\&.\&. ] \fIFILE\fP [ \&.\&.\&. ]
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBtexexec\fP is a Perl script that provides several functions:
+.IP o
+Process a TeX file\&. This includes performing as many runs as
+necessary of \fBtex\fP(1), \fBtexutil\fP(1), and
+\fBmetapost\fP(1)\&. Options allow you to select the output
+format, the pages to process, paper size, and so forth\&.
+.IP o
+Create new ConTeXt formats (with \fB--format\fP)\&.
+.IP o
+Post-process existing PDF files, including merging multiple
+files, and extracting and rearranging pages within a file
+(similar to the functions provided by \fBpsnup\fP(1) and
+\fBpdfmerge\fP(1))\&.
+.IP o
+Extract or strip documentation from com{ConTeXt} source files
+(using \fBtexutil\fP(1))\&.
+.IP o
+Run METAPOST (\fBmpost\fP(1)) to generate figures from METAPOST
+source\&.
+.IP o
+Produce ``proof sheets\'\' of figures used in a \fBConTeXt\fP source
+file\&.
+.IP
+.PP
+.SH "OPTIONS"
+.PP
+All switches are specified in full, but can be abbreviated to the
+shortest unique string\&. Thus, \fB--ver\fP works the same as
+\fB--verbose\fP\&.
+.PP
+.SH "General Options"
+.PP
+.IP "\fB--alone\fP"
+Avoid calling other programs when possible\&. For
+example, \fB--alone\fP will prevent \fBtexexec\fP from
+using \fBfmtutil\fP(1) to generate formats (which can
+be handy when tracing installation problems)\&.
+.IP "\fB--environment=\fP\fIENVIRONMENT\fP"
+Specify a ConTeXt
+\fIENVIRONMENT\fP to use when processing the file\&.
+This option can be useful when converting from
+non-ConTeXt file formats where no environment or layout
+settings are present in the file\&.
+.IP "\fB--help\fP [ \fISWITCH\fP ]"
+Produce a summary of switches
+and arguments\&. Many switches have additional
+information that can be seen by typing ``\f(CWtexexec
+--help optvar(SWITCH)\fP\'\'\&.
+.IP "\fB--interface=\fP\fILANGUAGE\fP"
+Specify the language
+\fBConTeXt\fP should use to communicate with you\&.
+Options are
+.IP
+.RS
+.IP "\fBen\fP"
+US English
+.IP "\fBnl\fP"
+Dutch
+.IP "\fBde\fP"
+German
+.IP "\fBuk\fP"
+British English
+.IP "\fBcz\fP"
+Czech
+.IP "\fBit\fP"
+Italian
+.RE
+.IP "\fB--once\fP"
+Process a file once and only once\&. (By default,
+\fBtexexec\fP processes the file as many times as
+necessary to sort out all references, typeset
+\fBMETAPOST\fP code, and so forth\&.)
+.IP "\fB--output=\fP\fIDRIVER\fP"
+Specify the output \fIDRIVER\fP
+for use with \f(CW\especial\fP primitives\&. Defaults to the setting in
+the local \fIcont-sys\&.tex\fP file, but can be set to one of
+.IP
+.RS
+.IP "\fBpdftex\fP"
+Native \fBpdftex\fP(1) code
+.IP "\fBdvips\fP"
+For \fBdvips\fP(1) (the default)
+.IP "\fBdvipsone\fP"
+For \fBdvipsone\fP
+.IP "\fBdviwindo\fP"
+For \fBdviwindo\fP, the oldest
+\fBConTeXt\fP drivers
+.IP "\fBdviview\fP"
+For \fBdviview\fP (experimental)
+.IP
+.RE
+.IP
+There may be other supported drivers -- check the most
+recent \fBConTeXt\fP documentation\&.
+.IP "\fB--pages=\fP\fIPAGENUMBERLIST\fP"
+Specify the pages or page
+range to appear in the output file\&.
+\fIPAGENUMBERLIST\fP may be the keyword \fBodd\fP
+or \fBeven\fP; one or more pages separated by commas
+(\f(CWx,y\fP); or a page range in the form \f(CW:z\fP\&.
+.IP "\fB--passon=\fP\fISTRING\fP"
+Pass additional command-line
+switches and arguments to the \fBtex\fP(1) process
+run by \fBtexexec\fP\&.
+.IP
+For example, the \fBMikTeX\fP TeX system (for
+DOS/Windows) can embed information in the DVI file that
+will allow you to find the line in a source code file
+corresponding to the line in the typeset output\&. It
+uses a switch called ``--src\'\' to activate this
+functionality, and can be used from \fBtexexec\fP as
+.IP
+.EX
+\f(CWtexexec --passon="--src" somefile\fP
+.EE
+.IP
+The double quotes (\f(CW"\fP) are required to prevent
+\fBtexexec\fP from using the switch itself\&.
+.IP "\fB--program\fP"
+The name of the TeX program to use
+(\fBtex\fP(1), by default)\&.
+.IP "\fB--result=\fP\fIFILENAME\fP"
+Allows you to change the
+basename of the output file\&. See
+\fB--mode\fP for an example\&.
+.IP "\fB--runs=\fP\fINUMBER\fP"
+Specify the number of runs to
+perform on a file\&. Overrides
+\fBtexexec\fP\'s calculations\&.
+.IP "\fB--silent\fP"
+Suppress diagnostic and progress messages\&.
+.IP "\fB--suffix=\fP\fISUFFIX\fP"
+Specify the suffix of the output file\&.
+.IP "\fB--tex=\fP\fIPROGRAMNAME\fP"
+Allows you specify the program
+to use instead of \fBtex\fP(1)\&. Useful for trying
+different versions of \fBtex\fP(1) installed on the
+same machine\&.
+.IP "\fB--texutil\fP"
+Force a run of \fBtexutil\fP(1)\&.
+.IP "\fB--verbose\fP"
+Output diagnostic information, including the
+contents of \fItexexec\&.ini\fP\&.
+.IP
+.PP
+.SH "Processing \fBConTeXt\fP Source Files"
+.PP
+Including specifying paper sizes, formats, and so forth\&.
+.PP
+.IP "\fB--arrange\fP"
+Don\'t perform page rearrangements (e\&.g\&., for
+producing a booklet) until the last run\&.
+.IP "\fB--batch\fP"
+Process the file in batch mode -- continue to
+typeset the document after finding errors\&. More
+imformation about batch mode can be found in Donald
+E\&. Knuth\'s \fITeXbook\fP\&.
+.IP "\fB--bodyfont\fP"
+The name of a font to preload for use in
+setting the body of the text\&.
+.IP "\fB--centerpage\fP"
+Center the document image on the page\&.
+.IP "\fB--color\fP"
+Turn on color mode\&. Color mode can also be set by
+commands embedded in the document\&. These commands
+override the \fB--color\fP option\&.
+.IP "\fB--convert=\fP\fIFORMAT\fP"
+Convert the input file to
+ConTeXt format from \fIFORMAT\fP before
+processing\&. In most cases, this conversion will result
+in a TeX file\&. Currently supported input
+\fIFORMAT\fPs are \fBxml\fP and
+\fBsgml\fP\&.
+.IP "\fB--dvi\fP"
+Shortcut for \fB--output=dvi\fP\&.
+.IP "\fB--fast\fP"
+Typeset the document(s) as fast as possible without
+causing problems\&.
+.IP "\fB--final\fP"
+Perform a final run without skipping anything\&.
+This option is typically used with \fB--fast\fP\&.
+.IP "\fB--language=\fP\fILANGUAGE\fP"
+Set the language for
+hyphenation\&. Can be specified in your source file\&.
+Options are the same as those for \fB--interface\fP\&.
+.IP "\fB--mode=\fP\fIMODELIST\fP"
+Allows you to change the mode
+(page size and resolution) of the output file\&.
+.IP
+.EX
+\f(CWtexexec --pdf --mode=A4 --result=pdftex-a pdftex-t\fP
+\f(CWtexexec --pdf --mode=letter --result=pdftex-l pdftex-t\fP
+\f(CWtexexec --pdf --mode=screen --result=pdftex-s pdftex-t\fP
+.EE
+.IP
+Here the mode switch tells \fBConTeXt\fP to obey
+the mode directives in the layout specifications\&. The
+\fB--result\fP flag allows you to
+rename the output file\&.
+.IP "\fB--noarrange\fP"
+Ignore arrangement commands in the source
+file\&.
+.IP "\fB--paper=\fP\fIKEY\fP"
+For typesetting multiple pages on a
+single piece of paper\&. \fIKEY\fP can be \fBa4a3\fP
+(for printing A4 pages on A3 paper) or \fBa5a4\fP
+(for printing A5 pages on A4 paper)\&. The actual layout
+of the pages is specified with the
+\fB--print\fP switch\&.
+.IP "\fB--pdf\fP"
+Shorthand for \fB--output=pdftex\fP\&.
+.IP "\fB--print=\fP\fIKEY\fP"
+Specify the layout of the final
+output\&. \fIKEY\fP can be \fBup\fP, resulting in 2
+pages per sheet, double sided, or \fBdown\fP, resulting
+in 2 rotated pages per sheet, double sided\&. Use the
+--paper switch to specify the original page
+and sheet size\&.
+.IP
+.PP
+.SH "Creating \fBConTeXt\fP Format Files"
+.PP
+.IP "\fB--format=\fP\fIFORMATFILE\fP"
+Specify a \fIFORMATFILE\fP
+to use when typesetting\&. \fBtexexec\fP will prepend the
+string \f(CWcont- \fP to the name you give, so you can
+type \f(CWplain\fP instead of \f(CWcont-plain\fP, as in
+.IP
+.EX
+\f(CWtexexec --format=plain --program=pdftex somefile\fP
+.EE
+.IP "\fB--make\fP"
+Generate a \fBConTeXt\fP format file\&.
+.PP
+.SH "Postprocess PDF Files"
+.PP
+.IP "\fB--combination=\fP\fIROWS\fP\fB*\fP\fICOLS\fP"
+Specify
+the number of pages to show on a single page\&. Use with
+\fB--pdfcombine\fP\&.
+.IP "\fB--pdfarrange\fP"
+For rearranging pages in PDF files\&.
+.IP
+.EX
+\f(CWtexexec --pdfarrange --paper=a5a4 --print=up foo\&.pdf\fP
+.EE
+.IP
+This command creates an A5 booklet from a PDF file
+\fIfoo\&.pdf\fP\&. \fB--pdfarrange\fP is used in
+conjunction with the following switches:
+.IP "\fB--paperoffset\fP"
+Adjust the space between the
+edge of the pages and the beginning of the text block\&.
+.IP "\fB--backspace\fP"
+Adjust the inside (``gutter\'\')
+margins\&.
+.IP "\fB--topspace\fP"
+Adjust the top and bottom
+margin\&.
+.IP "\fB--markings\fP"
+Add crop marks\&.
+.IP "\fB--addempty=\fP\fIPAGES\fP"
+Add empty pages
+after the pages specified in \fIPAGES\fP\&. (Useful
+for, among other things, adding blank pages after a
+table of contents\&.)
+.IP "\fB--textwidth=\fP\fIWIDTH\fP"
+Set the width of
+the original text\&. Specifying this parameter with a
+single-sided original will allow \fBConTeXt\fP to adjust
+the page layout for double-sided output, producing much
+more attractive results\&.
+.IP
+With the \fB--pdfarrange\fP flag, specifying more
+than one file will result in all of the files being
+combined in the final result, allowing you to add title
+pages, decorated part separators, and so forth\&.
+.IP
+You can also do more complex manipulations, such as
+adding additional text to the page by setting up a
+small file with layout definitions and a simple figure
+insertion loop\&.
+.IP "\fB--pdfcombine\fP"
+Combine multiple pages\&. Requires you to
+specify the
+\fB--combination\fP
+switch\&.
+.IP "\fB--pdfselect\fP"
+Extract pages from a file\&. Use in combination with
+the \fB--selection\fP switch, as
+in
+.IP
+.RS
+\f(CWtexexec --pdfselect --paper=S6
+--selection=1,9,14 file-1\fP
+.RE
+.IP
+which extracts pages 1, 9, and 14 from
+\fIfile-1\&.pdf\fP, and places them in
+\fItexexec\&.pdf\fP (the default output filename if
+an output file isn\'t specified)\&.
+.IP
+See \fB--pdfarrange\fP for other
+options\&.
+.IP "\fB--selection=\fP\fIPAGES\fP"
+Specify pages to be affected by
+another option\&. See \fB--pdfarrange\fP and
+\fB--pdfselect\fP for examples\&.
+.PP
+.SH "Extract or Strip Out Documentation"
+.PP
+.IP "\fB--listing\fP"
+Produce a typeset version of the source code in
+\fIFILE\fP\&. You can specify the form of the output
+file, as in
+.RS
+\f(CWtexexec --listing --pdf readme\&.now\fP
+.RE
+.IP
+which will produce a PDF file called
+\fItexexec\&.pdf\fP\&. Without the
+\fB--pdf\fP flag, \fBtexexec\fP will
+produce a DVI file\&.
+.IP
+See also \fB--backspace\fP and
+\fB--topspace\fP\&.
+.IP "\fB--module\fP"
+Create documentation for \fBConTeXt\fP,
+\fBMetaPost\fP (see \fBmpost\fP(1)), and Perl modules\&.
+Converts the documentation to \fBConTeXt\fP format and
+then typesets that documentation\&. See
+\fBtexutil\fP(1) for more information about the
+format of the documentation strings\&.
+.PP
+.SH "Process METAPOST Figures"
+.PP
+.IP "\fB--mpformat\fP"
+The name of a \fBMetaPost\fP format file\&.
+.IP "\fB--mptex\fP"
+Strips out and typesets TeX code embedded in a
+\fBMetaPost\fP file\&.
+.IP "\fB--nomp\fP"
+Do not run \fBMetaPost\fP, even if needed\&.
+.IP "\fB--nomprun\fP"
+Do not run \fBmpost\fP(1) on embedded
+\fBMetaPost\fP code\&.
+.PP
+.SH "Producing Proof Sheets of Figures"
+.PP
+.IP "\fB--figures=\fP\fIALTERNATIVE\fP"
+Specify one of three
+options to produce a document containing the images
+used in the source file:
+.IP
+.RS
+.IP "\fBa\fP"
+A proof sheet with additional
+information provided for each figure
+.IP "\fBb\fP"
+A proof sheet with the graphics only
+.IP "\fBc\fP"
+One figure per page, with the page
+clipped to the bounding box of the
+figure
+.IP
+See also \fB--paperoffset\fP,
+which allows you to specify an offset to be added to
+the page, as in
+.IP
+.EX
+\f(CWtexexec --figures=c --paperoffset=\&.5cm *\&.pdf
+*\&.png *\&.jpg\fP
+.EE
+.IP
+.RE
+.IP
+\fBtexexec\fP uses \fBtexutil\fP(1) to obtain the list
+of figures to process\&.
+.PP
+.SH "USAGE"
+.PP
+.IP o
+Each \fBConTeXt\fP user interface (language) has its own format\&. The
+following command generates two formats, one using the English
+interface for typesetting in English, and one for Dutch:
+.IP
+.EX
+\f(CWtexexec --make en nl\fP
+.EE
+.IP
+By default, the language used for typesetting matches the
+user-interface language (set with
+\fB--interface\fP\&. It\'s possible to use one
+language for typesetting and another for messages by changing the
+relevant settings in \fIcont-usr\&.tex\fP, but these languages can
+also be changed on the command line with a command such as
+.IP
+.RS
+\f(CWtexexec --make --language=pl,cz,sk --bodyfont=plr en\fP
+.RE
+.IP
+That command generates a \fBConTeXt\fP format file with an English user
+interface, and the main language set to Polish (\fBpl\fP)\&. The
+default body font is the Polish version of Computer Modern Roman
+(\fBplr\fP)\&. Czech and Slovak hyphenation patterns are also loaded
+so that Czech and Slovak text included in a source file will be
+typeset properly (\fBcz\fP and \fBsk\fP)\&.
+.IP o
+When the appropriate formats are present, a file can be typeset
+by typing
+.IP
+.EX
+\f(CWtexexec test\fP
+.EE
+.IP
+\fBtexexec\fP tries to determine what interface it should use to
+typeset \fItest\&.tex\fP by looking for a line such as
+.IP
+.EX
+\f(CW% interface=en tex=pdfetex output=pdftex\fP
+.EE
+.IP
+at the top of the file (i\&.e\&., on the very first line)\&. This line is
+equivalent to \fBTeX\fP\'s format line, ``&\fIFORMAT\fP\'\')\&.
+.IP
+By default, \fBtexexec\fP will produce a DVI file\&. The
+\fB--pdf\fP flag tells \fBtexexec\fP to produce a PDF
+file, instead (by running \fBpdftex\fP(1))\&. You can also be more
+specific about what drivers \fBtexexec\fP should use, by specifying a
+command line such as
+.IP
+.EX
+\f(CWtexexec --output=dvips,acrobat test\fP
+.EE
+.IP
+which specifies the use of the \fBdvips\fP driver (which is the
+default), combined with the use of Acrobat-specific PDF instructions\&.
+.IP
+After an error-free run, \fBtexexec\fP will run \fBtexutil\fP(1) to
+determine whether additional runs of \fBtex\fP(1) (or
+\fBpdftex\fP(1)) or any utility programs (e\&.g\&., \fBbibtex\fP(1),
+\fBmakeindex\fP(1)) are necessary\&. You can suppress these
+additional runs by specifying the \fB--once\fP or
+\fB--runs\fP flags:
+.IP
+.EX
+\f(CWtexexec --once test\fP
+\f(CWtexexec --runs=2 test\fP
+.EE
+.IP
+.SH "INITIALIZATION"
+.IP
+When starting, \fBtexexec\fP first looks for the file
+\fItexexec\&.ini\fP, which specifies the location of various
+programs and configuration files, and specifies the programs to use\&.
+The \fB--verbose\fP flag causes \fBtexexec\fP to print
+the information in \fItexexec\&.ini\fP to the terminal and the log
+file\&.
+.IP
+\fBtexexec\fP requires Perl\&. On Unix and Unix-like systems, no special
+steps have to be taken to get \fBtexexec\fP to work beyond installing
+Perl and having the \fBperl\fP(1) binary in your path\&. On Windows
+systems, however, you may need to run Perl by typing commands such as
+``\f(CWperl texexec\&.pl optvar(ARGS)\fP\'\'\&.
+.IP
+The \fBfpTeX\fP distribution comes with a program called
+\fBrunperl\&.exe\fP that can be copied and renamed to \fBtexexec\&.exe\fP\&.
+You will also have to rename a copy to \fBtexutil\&.exe\fP (see
+\fBtexutil\fP(1))\&. The \fBteTeX\fP and \fBfpTeX\fP distributions, at
+least, should perform the necessary steps as part of their
+installation sequence -- if you have problems, however, you may need
+to follow the advice given here\&.
+.IP
+The file \fItexexec\&.rme\fP contains default configuration
+information\&. If no file \fItexexec\&.ini\fP exists (in
+\fITEXMF/context/config/\fP, you should copy \fItexexec\&.rme\fP
+to that directory and rename it to \fItexexec\&.ini\fP\&. Make any
+necessary changes to this file to reflect the layout of programs and
+directories on your system\&.
+.SH "ENCODINGS"
+.IP
+Some languages require specific character encodings to represent their
+alphabets (beyond the basic ASCII encoding)\&. Although you can use TeX
+commands to represent these characters, such as ``\f(CW\e\&.z\fP\'\', it\'s
+easier to use a text editor that includes direct support for these
+characters and let \fBConTeXt\fP translate them to the necessary TeX
+commands\&. For some languages, this approach can also improve the
+performance of TeX\'s hyphenation algorithms\&.
+.IP
+\fBConTeXt\fP supports several of the most commonly used encodings\&.
+Check the files beginning with \fIenco-\fP, \fIlang-\fP, and
+\fIfont-\fP in the \fBConTeXt\fP distribution for more information\&.
+.IP
+\fBweb2c\fP distributions (such as \fBteTeX\fP) support a mechanism to
+map document encodings to \fBConTeXt\fP\'s internal encoding, font
+encodings, and hyphenation patterns\&. \fBtexexec\fP provides a document
+option and a command-line flag to pass the necessary information to
+\fBtex\fP(1) or \fBpdftex\fP(1)\&. You can add lines such as
+.IP
+.EX
+\f(CW%& --translate-file=cp1250pl\fP
+.EE
+or
+.IP
+.EX
+\f(CW% --translate=cp1250pl\fP
+.EE
+.IP
+to the beginning of your document, or specify the \fB--translate\fP
+flag on the command line, as
+.IP
+.EX
+\f(CWtexexec --translate=il2pl somefile\fP
+.EE
+.IP
+Note that using language-specific encodings will make your file less
+portable than using ASCII\&. It may not be possible for other people to
+typeset your documents on their systems\&.
+.SH "FILES"
+.IP
+.IP "\fITEXMF/context/config/texexec\&.ini\fP"
+TeXExec configuration file
+.IP "\fITEXMF/context/config/texexec\&.rme\fP"
+TeXExec configuration file defaults
+.IP
+.SH "SEE ALSO"
+.IP
+\fBbibtex\fP(1), \fBdvips\fP(1), \fBfmtutil\fP(1),
+\fBmakeindex\fP(1), \fBmetapost\fP(1), \fBmpost\fP(1),
+\fBpdfetex\fP(1), \fBpdfmerge\fP(1), \fBpdftex\fP(1),
+\fBperl\fP(1), \fBpsnup\fP(1), \fBtex\fP(1), \fBtexshow\fP(1),
+\fBtexutil\fP(1)\&.
+.IP
+The TeXExec manual, \fImtexexec\&.pdf\fP\&.
+.IP
+The TeXExec configuration README files:
+.IP o
+\fITEXMF/context/config/texexec\&.rme\fP
+.IP o
+\fITEXMF/context/perltk/texexec\&.rme\fP
+.IP
+Donald E\&. Knuth\'s \fIThe TeXbook\fP\&.
+.SH "AUTHOR"
+.IP
+This manpage was written by Tobias Burnus
+<burnus@gmx\&.de> and C\&.M\&. Connelly
+<c@eskimo\&.com>\&. It is based on
+the \fBTeXExec\fP manual written by Hans Hagen
+<pragma@wxs\&.nl>\&.
+.IP
+The PDF manual and \fBtexexec\fP itself can be obtained from
+<http://www\&.pragma-ade\&.com/pragma-ade/texexec\&.htm>
diff --git a/Master/texmf/doc/man/man1/texfind.1 b/Master/texmf/doc/man/man1/texfind.1
new file mode 100644
index 00000000000..d9e88940cdf
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texfind.1
@@ -0,0 +1,72 @@
+.TH "texfind" "1" "April 2004" "ConTeXt" "teTeX"
+.PP
+.SH "NAME"
+texfind \- graphical tool to search for text in TeX input files
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBtexfind\fP [ \fIOPTION\fP \&.\&.\&. ]
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBtexfind\fP is a graphical, interactive tool that helps you
+searching through TeX input files, including subdirectories, and
+allows you to do search/replace tasks using Perl regular
+expressions. It opens two windows: One displays the directory
+hierarchy and allows to select different search directories. The
+second window is used to enter the query and display the results.
+.PP
+.SH "SEARCHING"
+.PP
+Enter a search string in the input box at the top, choose the file
+extension (*tex by default) and hit ENTER to start the search. The
+results will be displayed below.
+.PP
+The search string is actually a perl regular expression. This gives
+you lots of flexibility. The search-and-replace function also uses
+Perl regex syntax, but you can also just use simple strings. Currently
+there is no way to save changed files.
+.PP
+.SH "MENU"
+.PP
+Use the right mouse button to open a menu.
+.HP
+\fBFile\fP : Currently only used to exit the program
+.HP
+\fBEdit\fP : Copy selections, select or unselect all
+.HP
+\fBSearch\fP : Open a \fBFind\fP dialog that allows further searching
+through the displayed results. The \fBReplace\fP option can be used to
+replace single or all occurrences of a string, but currently it is not
+possible to change the file.
+.PP
+\fBView\fP : Select specific lines, and adjust word or character
+wrapping.
+.PP
+.SH "OPTIONS"
+.HP
+\fB\-\-font\fR : specify the font used for the menu. Default is
+courier.
+.HP
+Other options probably exist - I appreciate input by the program
+authors, experienced users or perl geeks.
+.HP
+.SH "SEE ALSO"
+.IP
+\fBperlre\fP(1)
+.PP
+.SH "BUGS"
+.PP
+None known\&. Well - the replace function isn't the most useful one.
+.PP
+.SH "AUTHOR"
+.PP
+\fBtexfind\fP was written for the ConTeXt package by Hans Hagen and
+Ton Otten, PRAGMA\&.
+.PP
+This manual page was written by Frank Küster <frank@kuesterei\&.ch>,
+for the Debian GNU/Linux system\&. It may be used and modified by
+others without contacting the author\&. Any mistakes or omissions in
+the manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary
+author)\&.
diff --git a/Master/texmf/doc/man/man1/texfont.1 b/Master/texmf/doc/man/man1/texfont.1
new file mode 100644
index 00000000000..692d5bcf3d9
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texfont.1
@@ -0,0 +1,84 @@
+.TH TEXFONT "1" "May 2004" "teTeX " "texfont.pdf"
+.SH NAME
+texfont \- font installation tool for ConTeXt
+.PP
+.SH "SYNOPSIS"
+\fBtexfont\fP [ \fIOPTION\fP \&.\&.\&. ]
+.PP
+.SH DESCRIPTION
+.PP
+TeXFont is a perl script that helps to set up and install TeX fonts.
+It was designed for use with ConTeXt, but may also be helpful for
+users of other formats, like plain TeX or LaTeX. Its use is described
+in detail in the files mtexfont.pdf and mfont.pdf.
+.PP
+.SH "OPTIONS"
+.PP
+.HP
+\fB\-\-fontroot\fR=\fIpath\fR : texmf font root (automatically determined)
+.HP
+\fB\-\-sourcepath\fR=\fIpath\fR : when installing, copy from this path (default: .)
+.HP
+\fB\-\-sourcepath\fR=\fIauto\fR : locate and use vendor/collection
+.HP
+\fB\-\-vendor\fR=\fIname\fR : vendor name (first level directory)
+.HP
+\fB\-\-collection\fR=\fIname\fR : font collection (second level
+directory)
+.HP
+\fB\-\-encoding\fR=\fIname\fR : encoding vector (default: texnansi)
+.HP
+\fB\-\-slant\fR=\fIs\fR : slant glyphs in font by factor (0.0 - 1.5)
+.HP
+\fB\-\-extend\fR=\fIs\fR : extend glyphs in font by factor (0.0 - 1.5)
+.HP
+\fB\-\-caps\fR=\fIs\fR : capitalize lowercase chars by factor (0.5 - 1.0)
+.HP
+\fB\-\-noligs\fR : remove ligatures
+.HP
+\fB\-\-install\fR : copy files from source to font tree
+.HP
+\fB\-\-listing\fR : list files on auto sourcepath
+.HP
+\fB\-\-remove\fR : remove files on auto sourcepath
+.HP
+\fB\-\-makepath\fR : when needed, create the paths
+.HP
+\fB\-\-test\fR : use test paths for vendor/collection
+.HP
+\fB\-\-show\fR : run tex on texfont.tex
+.HP
+\fB\-\-batch\fR : process given batch file
+.HP
+\fB\-\-weight\fR : multiple master weight
+.HP
+\fB\-\-width\fR : multiple master width
+.HP
+\fB\-\-expert\fR : also handle expert fonts
+.HP
+\fB\-\-help\fR : show some more info
+.HP
+.SH "SEE ALSO"
+.PP
+\fBtexexec\fP(1), \fBfontinst\fP(1), \fBtexshow\fP(1),
+\fBtexutil\fP(1)\&.
+.PP
+The TeXFont manual, \fImtexfont\&.pdf\fP\&
+.PP
+The ConTeXt Font manual, \fImfonts\&.pdf\fP\&
+.PP
+The TeXExec manual, \fImtexexec\&.pdf\fP\&.
+.PP
+Donald E\&. Knuth\'s \fIThe TeXbook\fP\&.
+.PP
+.SH "AUTHOR"
+.IP
+This manual page was written by Frank Küster <frank@kuesterei\&.ch>,
+for the Debian GNU/Linux system\&. It may be used and modified by
+others without contacting the author\&. Any mistakes or omissions in
+the manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary
+author)\&.
+.IP
+The PDF manual and \fBtexfont\fP itself can be obtained from
+<http://www\&.pragma-ade\&.com>
diff --git a/Master/texmf/doc/man/man1/texhash.1 b/Master/texmf/doc/man/man1/texhash.1
new file mode 120000
index 00000000000..ac860c268d1
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texhash.1
@@ -0,0 +1 @@
+mktexlsr.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/texi2dvi.1 b/Master/texmf/doc/man/man1/texi2dvi.1
new file mode 100644
index 00000000000..41fae2f7d5e
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texi2dvi.1
@@ -0,0 +1,95 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.33.
+.TH TEXI2DVI "1" "February 2005" "texi2dvi 1.39" "User Commands"
+.SH NAME
+texi2dvi \- print Texinfo documents
+.SH SYNOPSIS
+.B texi2dvi
+[\fIOPTION\fR]... \fIFILE\fR...
+.SH DESCRIPTION
+Run each Texinfo or LaTeX FILE through TeX in turn until all
+cross-references are resolved, building all indices. The directory
+containing each FILE is searched for included files. The suffix of FILE
+is used to determine its language (LaTeX or Texinfo).
+.PP
+Makeinfo is used to perform Texinfo macro expansion before running TeX
+when needed.
+.SS "Operation modes:"
+.TP
+\fB\-b\fR, \fB\-\-batch\fR
+no interaction
+.TP
+\fB\-c\fR, \fB\-\-clean\fR
+remove all auxiliary files
+.TP
+\fB\-D\fR, \fB\-\-debug\fR
+turn on shell debugging (set \fB\-x\fR)
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+display this help and exit successfully
+.TP
+\fB\-o\fR, \fB\-\-output\fR=\fIOFILE\fR
+leave output in OFILE (implies \fB\-\-clean\fR);
+Only one input FILE may be specified in this case
+.TP
+\fB\-q\fR, \fB\-\-quiet\fR
+no output unless errors (implies \fB\-\-batch\fR)
+.TP
+\fB\-s\fR, \fB\-\-silent\fR
+same as \fB\-\-quiet\fR
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+display version information and exit successfully
+.TP
+\fB\-V\fR, \fB\-\-verbose\fR
+report on what is done
+.SS "TeX tuning:"
+.TP
+-@
+use @input instead of \einput; for preloaded Texinfo
+.TP
+\fB\-e\fR, \fB\-E\fR, \fB\-\-expand\fR
+force macro expansion using makeinfo
+.TP
+\fB\-I\fR DIR
+search DIR for Texinfo files
+.TP
+\fB\-l\fR, \fB\-\-language\fR=\fILANG\fR
+specify the LANG of FILE (LaTeX or Texinfo)
+.TP
+\fB\-p\fR, \fB\-\-pdf\fR
+use pdftex or pdflatex for processing
+.TP
+\fB\-r\fR, \fB\-\-recode\fR
+call recode before TeX to translate input characters
+.TP
+\fB\-t\fR, \fB\-\-command\fR=\fICMD\fR
+insert CMD in copy of input file
+.TP
+or \fB\-\-texinfo\fR=\fICMD\fR
+multiple values accumulate
+.PP
+The values of the BIBTEX, LATEX (or PDFLATEX), MAKEINDEX, MAKEINFO,
+TEX (or PDFTEX), TEXINDEX, and THUMBPDF environment variables are used
+to run those commands, if they are set. Any CMD strings are added
+after @setfilename for Texinfo input, in the first line for LaTeX input.
+.SH "REPORTING BUGS"
+Email bug reports to <bug-texinfo@gnu.org>,
+general questions and discussion to <help-texinfo@gnu.org>.
+Texinfo home page: http://www.gnu.org/software/texinfo/
+.SH COPYRIGHT
+Copyright \(co 2005 Free Software Foundation, Inc.
+There is NO warranty. You may redistribute this software
+under the terms of the GNU General Public License.
+For more information about these matters, see the files named COPYING.
+.SH "SEE ALSO"
+The full documentation for
+.B texi2dvi
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B texi2dvi
+programs are properly installed at your site, the command
+.IP
+.B info texi2dvi
+.PP
+should give you access to the complete manual.
diff --git a/Master/texmf/doc/man/man1/texi2html.1 b/Master/texmf/doc/man/man1/texi2html.1
new file mode 100644
index 00000000000..d5f080f0301
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texi2html.1
@@ -0,0 +1,164 @@
+.TH TEXI2HTML 1 "4 February 2005"
+.AT 3
+.SH NAME
+texi2html \- a Texinfo to HTML converter
+.SH SYNOPSIS
+.B texi2html [options] file
+.SH DESCRIPTION
+.I Texi2html
+converts the given Texinfo file to a set of HTML files. It tries to handle
+most of the Texinfo commands. It creates hypertext links for cross-references,
+footnotes...
+.PP
+.I Texi2html
+may furthermore use latex2html to generate HTML (code and/or images) for @math
+and @iftex tags (see the
+.B \-\-l2h
+option).
+.PP
+.I Texi2html
+creates several files depending on the contents of the Texinfo file and on
+the chosen options (see FILES).
+.PP
+The HTML files created by
+.I texi2html
+are closer to TeX than to Info.
+.SH OPTIONS
+Options may be abbreviated to th shortests unique prefix. The
+following is only an incomplete list of the available options:
+.TP 12
+.B \-\-help [1|2]
+Print usage instructions and list the most important, all relevant,
+or all recognised (including obsolete) command-line options, and exit.
+.TP
+.B \-\-ifinfo \-\-iftex \-\-ifxml \-\-ifplaintext \-\-ifhtml
+Expand @ifinfo, @iftex and @tex, @ifxml and @xml, @ifplaintext,
+@ifhtml and @html regions, and don't expand @ifnot
+corresponding regions (default: ifhtml).
+.TP
+.B \-\-no\-ifinfo \-\-no\-iftex \-\-no\-ifxml \-\-no\-ifplaintext \-\-no\-html
+Don't expand @ifinfo, @iftex, @ifxml, @ifplaintext regions and expand
+@ifnot corresponding regions.
+.TP
+.B \-I \fIdir\fP
+Append \fIdir\fP to the directory list searched for included files.
+.TP
+.B \-P \fIdir\fP
+Prepend \fIdir\fP to the directory list searched for included files.
+.TP
+.B \-\-no\-menu
+Don't show the Texinfo menus; by default they are shown.
+.TP
+.B \-\-no\-number
+Don't number the sections.
+.TP
+.B \-\-split chapter|section|node
+Split the output into several HTML files (one per main chapter/section or node).
+.TP
+.B \-\-l2h
+Use latex2html for content of @math and @tex tags. Content must be such that
+both, latex and tex, can translate it correctly. I.e., no tex-only constructs
+must be used.
+.TP
+.B \-\-l2h\-l2h \fIprog\fP
+Use \fIprog\fP as latex2html program (default \fIlatex2html\fP).
+Program must be executable.
+.TP
+.B \-\-l2h\-init \fIfile\fP
+Use \fIfile\fP as latex2html init file. \fIfile\fP should be used to specify in which way latex2html handles mathematical expressions and formulas.
+
+Note that latex2html locates
+(and uses) init-files in the following order (provided they exist):
+(1) global init file (usually in latex2html source dir)
+(2) $HOME/.latex2html_init
+(3) ./.latex2html_init
+(4) init file given on command line.
+.TP
+.B \-\-l2h\-tmp \fIdir\fP
+Use \fIdir\fP as tmp dir for latex2html. This directory (resp. its path)
+must not contain a dot (i.e., a ".").
+.TP
+.B \-\-l2h\-clean
+remove all intermediate files generated by latex2html (prevents caching!)
+.TP
+.B \-\-l2h\-skip
+Do not really run latex2html. Use (kept) files of previous runs, instead.
+.TP
+.B \-\-Verbose
+Give a verbose output.
+.TP
+.B \-\-version
+Print version and exit.
+.PP
+.SH FILES
+Initialisation options are read first from ${prefix}/etc/texi2html/Config
+(the exact location being changeable with the
+.RI --sysconfdir= dir
+option to the configure script), then from $HOME/.texi2html/Config,
+then any command-line options including \-\-init\-file options;
+with later settings overriding earlier ones.
+.P
+By default
+.I texi2html
+my creates the following files (foo being the name of the Texinfo file):
+.TP 16
+.B foo_toc.html
+The table of contents (if @contents is present).
+.TP
+.B foo.html
+The document's contents or the Top element.
+.TP
+.B foo_fot.html
+The footnotes (if any).
+.TP
+.B foo_abt.html
+An help section.
+.TP
+.B foo_l2h_img*
+Images generated by latex2html (if any).
+.PP
+When used with the
+.B \-\-split
+option, it creates several files (one per chapter or node), named
+.B foo_n.html
+(n being the index of the chapter or node), and the
+.B foo.html
+file contains the Top element.
+.PP
+Otherwise it creates only one file:
+.B foo.html
+.SH VERSION
+This is \fItexi2html\fP version 1.76, 4 February 2005.
+.SH AUTHOR
+Texi2html was originally written by is Lionel Cons, CERN IT/DIS/OSE,
+Lionel.Cons@cern.ch. Over time, many other people around the net
+contributed to this program. Its current maintainer is Olaf Bachmann,
+obachman@mathematik.uni-kl.de.
+.SH AVAILABILITY
+The latest version of this program, as well as support in the form of mailing
+lists with archives, bug tracking, documentation, and other tools can be found
+at:
+ http://texi2html.cvshome.org/
+.SH COPYRIGHT
+Copyright \(co 1999, 2000, 2003 Free Software Foundation, Inc.
+There is NO warranty. You may redistribute this software
+under the terms of the GNU General Public License.
+For more information about these matters, see the file named COPYING.
+.SH "SEE ALSO"
+GNU Texinfo Documentation Format
+.br
+http://texinfo.org/
+.br
+World Wide Web (WWW),
+HyperText Markup Language (HTML)
+.br
+http://www.w3.org
+.br
+LaTeX2HTML
+.br
+http://www-dsed.llnl.gov/files/programs/unix/latex2html
+.SH BUGS
+This man-page is not up-to-date and there exists no up-to-date documentation, yet.
+Until it exists, see the beginning of the texi2html.init file for remarks about
+command-line options and configurations.
+.ex
diff --git a/Master/texmf/doc/man/man1/texi2pdf.1 b/Master/texmf/doc/man/man1/texi2pdf.1
new file mode 120000
index 00000000000..24af14aff5d
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texi2pdf.1
@@ -0,0 +1 @@
+texi2dvi.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/texindex.1 b/Master/texmf/doc/man/man1/texindex.1
new file mode 100644
index 00000000000..732e12b8874
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texindex.1
@@ -0,0 +1,47 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.34.
+.TH TEXINDEX "1" "December 2004" "texindex 4.8" "User Commands"
+.SH NAME
+texindex \- sort Texinfo index files
+.SH SYNOPSIS
+.B texindex
+[\fIOPTION\fR]... \fIFILE\fR...
+.SH DESCRIPTION
+Generate a sorted index for each TeX output FILE.
+Usually FILE... is specified as `foo.??' for a document `foo.texi'.
+.SH OPTIONS
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+display this help and exit
+.TP
+\fB\-k\fR, \fB\-\-keep\fR
+keep temporary files around after processing
+.TP
+\fB\-\-no\-keep\fR
+do not keep temporary files around after processing (default)
+.TP
+\fB\-o\fR, \fB\-\-output\fR FILE
+send output to FILE
+.TP
+\fB\-\-version\fR
+display version information and exit
+.SH "REPORTING BUGS"
+Email bug reports to bug\-texinfo@gnu.org,
+general questions and discussion to help\-texinfo@gnu.org.
+Texinfo home page: http://www.gnu.org/software/texinfo/
+.SH COPYRIGHT
+Copyright \(co 2004 Free Software Foundation, Inc.
+There is NO warranty. You may redistribute this software
+under the terms of the GNU General Public License.
+For more information about these matters, see the files named COPYING.
+.SH "SEE ALSO"
+The full documentation for
+.B texindex
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B texindex
+programs are properly installed at your site, the command
+.IP
+.B info texindex
+.PP
+should give you access to the complete manual.
diff --git a/Master/texmf/doc/man/man1/texlinks.1 b/Master/texmf/doc/man/man1/texlinks.1
new file mode 100644
index 00000000000..d195b2c888e
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texlinks.1
@@ -0,0 +1,65 @@
+.TH "texlinks" "8" "September 2000" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+texlinks \- maintain symbolic links from format to engine
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBtexlinks\fP [ \fIOPTIONS\fP\&.\&.\&. ] \fIDIRECTORIES\fP\&.\&.\&.
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBtexlinks\fP is used to create or recreate symbolic links from
+formats to engines according to the information in
+\fIfmtutil\&.cnf\fP or a file specified with \fB--cnffile\fP\&.
+.PP
+\fIDIRECTORIES\fP is an optional list of directories in which to
+operate\&. If no directories are specified the list of directories
+depends on the \fB--multiplatform\fP option\&.
+.PP
+.SH "OPTIONS"
+.PP
+.IP "\fB--help\fP or \fB-h\fP"
+show some help text
+.IP "\fB--cnffile\fP \fIFILE\fP or \fB-f\fP \fIFILE\fP"
+use
+file as configuration file (default:
+\fIfmtutil\&.cnf\fP)
+.IP "\fB--verbose\fP or \fB-v\fP"
+set verbose mode on (default: off)
+.IP "\fB--multiplatform\fP or \fB-m\fP"
+operate in all
+platform-specific directories (default:
+operate only in the directory for this
+platform)
+.IP "\fB--silent\fP or \fB-s\fP"
+silently skip over existing
+scripts/binaries instead of printing a warning
+.PP
+.SH "FILES"
+.PP
+.IP "\fIfmtutil\&.cnf\fP"
+default configuration file
+.PP
+.SH "SEE ALSO"
+.PP
+\fBfmtutil\fP(1), \fBfmtutil\&.cnf\fP(5)
+.PP
+Web page: <http://tug\&.org/teTeX/>
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+.PP
+.SH "AUTHOR"
+.PP
+\fBtexlinks\fP was written by Thomas Esser
+<te@dbs\&.uni-hannover\&.de> and is Copyright © 1999\&.
+\fBtexlinks\fP has been released into the public domain\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<c@eskimo\&.com>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/texshow.1 b/Master/texmf/doc/man/man1/texshow.1
new file mode 100644
index 00000000000..1fda1f952c8
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texshow.1
@@ -0,0 +1,69 @@
+.TH "texshow" "1" "Oct 2000" "ConTeXt" "CONTEXT"
+.PP
+.SH "NAME"
+texshow \- ConTeXt command and parameter reference
+.PP
+.SH "SYNOPSIS"
+\fBtexshow\fP [ \fIOPTION\fP ] [ \fICOMMAND\fP ]
+[ \fILANGUAGE\fP ]
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBtexshow\fP uses \fBperl\fP(1) and PerlTk (see \fBTk\fP(3pm)) to
+show a overview of the commands and parameters of those\&. In the Tk
+window you can search for a command and by switching the interface,
+you can see the equivalent in another interface language\&.
+.PP
+\fICOMMAND\fP is a \fBConTeXt\fP command to search for in the
+database\&. Note that Plain TeX commands are not (yet) in this database
+although they can be used in \fBConTeXt\fP source files\&.
+.PP
+\fILANGUAGE\fP can be one of \fBcz\fP (Czech), \fBde\fP
+(German), \fBen\fP (US-English) or \fBnl\fP (Dutch)\&. The default
+language is Dutch\&.
+.PP
+You can also set the interface language with the
+\fB--interface\fP switch\&.
+.PP
+.SH "OPTIONS"
+.PP
+.IP "\fB--help\fP"
+Print a brief syntax summary
+.IP "\fB--interface=\fP\fILANGUAGE\fP"
+Primary interface language\&.
+See DESCRIPTION for \fILANGUAGE\fP options\&.
+.PP
+.SH "FILES"
+.PP
+.IP "\fITEXMF/context/perltk/cont_mis\&.pm\fP"
+Perl module for
+formatting data
+.IP "\fITEXMF/context/perltk/cont_set\&.pm\fP"
+Perl module for
+defining and constructing Tk interface
+.IP "\fITEXMF/context/data/cont-\fIXX\fP\&.tws\fP"
+The database
+file\&. At this writing, \fIXX\fP can be one of \fBcz\fP (Czech),
+\fBde\fP (German), \fBen\fP (English), \fBit\fP (Italian), or
+\fBnl\fP (Dutch)\&. Which file is used is determined by the
+\fILANGUAGE\fP specified on the command line\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBtexexec\fP(1), \fBtexutil\fP(1), \fBpdfetex\fP(1),
+\fBpdftex\fP(1)\&.
+.PP
+Web page: <http://www\&.pragma-ade\&.com/>
+.PP
+.SH "AUTHOR"
+.PP
+\fBtexshow\fP was written by Hans Hagen
+<pragma@wxs\&.nl>\&.
+.PP
+This manpage was written by Tobias Burnus
+<burnus@gmx\&.de> and C\&.M\&. Connelly
+<c@eskimo\&.com>\&.
+.PP
+\fBtexshow\fP is part of \fBTeXWork\fP and \fBConTeXt\fP and is available
+from <http://www\&.pragma-ade\&.com/pragma-ade/>\&.
+.PP
diff --git a/Master/texmf/doc/man/man1/texutil.1 b/Master/texmf/doc/man/man1/texutil.1
new file mode 100644
index 00000000000..5a6ea8d365e
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texutil.1
@@ -0,0 +1,266 @@
+.TH TEXUTIL 1 UMFT
+.de EX
+.sp
+.in +5
+.nf
+.ft CW
+..
+.de EE
+.in -5
+.ft R
+.sp
+.fi
+..
+.TH "texutil" "1" "October 2000" "ConTeXt" "CONTEXT"
+.PP
+.SH "NAME"
+texutil \- ConTeXt auxiliary program
+.PP
+.SH "SYNOPSIS"
+\fBtexutil\fP [ \fIOPTION\fP\&.\&.\&. ] \fIFILENAME\fP[\&.\&.\&.]
+.PP
+.SH "DESCRIPTION"
+.PP
+When processing a source file, \fBConTeXt\fP (via \fBtexexec\fP(1))
+saves information (including table of contents, tables of figures and
+tables, index entries, cross-references) in a ``utility file\'\' called
+\fIFILENAME\fP\fI\&.tui\fP\&. After each successful run, this
+utility file is postprocessed by \fBtexutil\fP to organize the
+information for the next run\&.
+.PP
+\fBtexutil\fP performs a number of useful functions:
+.PP
+.IP o
+Postprocessing references, including sorting index and list
+entries (with \fB--references\fP)
+.IP o
+Extracting documentation and other types of information from
+\fBConTeXt\fP source files (with
+\fB--documents\fP)
+.IP o
+Logfile analysis (with \fB--logfile\fP)
+.IP o
+Collecting information about graphic files to help with
+typesetting (with \fB--figures\fP)
+.IP o
+Converting EPS files to a PDF format suitable for inclusion in
+PDF files generated with \fBpdftex\fP(1) (with
+--\fB--epspage\fP and
+\fB--epstopdf\fP)
+.PP
+.SH "OPTIONS"
+.PP
+All switches are specified here in full, but can be abbreviated to the
+shortest unique string\&. Thus, \fB--ver\fP works the same as
+\fB--verbose\fP provided that there is no other flag beginning with
+``\f(CWver\fP\'\'\&.
+.PP
+.SH "General Options"
+.PP
+.IP "\fB--help\fP"
+Print a usage summary to stdout\&.
+.IP "\fB--interface=\fP\fILANGUAGECODE\fP"
+Specify the language for
+messages\&. One of \fBen\fP (English), \fBde\fP (German), or
+\fBnl\fP (Dutch)\&. The default language is English\&.
+.IP "\fB--outputfile=\fP\fIFILENAME\fP"
+Specify the name of the
+output file\&.
+.IP "\fB--purge\fP [ \fIBASENAME\fP ]"
+Delete temporary files\&.
+Specifying an optional \fIBASENAME\fP will only
+affect the temporary files that begin with that
+\fIBASENAME\fP\&.
+.IP "\fB--silent\fP"
+Redirects stdout to the \fIlog\fP file
+(\fItexutil\&.log\fP, by default)\&. When used with
+\fB--verbose\fP, a summary is printed to stdout, while
+any other output is written to the \fIlog\fP file\&.
+.IP
+For example,
+.IP
+.EX
+\f(CWtexutil --figures --silent --verbose somefile\&.png\fP
+.EE
+.IP
+will output something like
+.IP
+.EX
+\f(CWn=somefile\&.png t=png x=0bp y=0bp w=443bp h=591bp\fP
+.EE
+.IP
+to stdout, placing other output into
+\fItexutil\&.log\fP\&. This information can be piped
+into another program for further processing\&.
+.IP "\fB--type=\fP\fISUFFIX\fP"
+Specify the \fISUFFIX\fP of the
+file you want \fBtexutil\fP to process\&.
+.IP "\fB--verbose\fP"
+Print diagnostic messages to the screen\&.
+.PP
+.SH "Postprocessing References"
+.PP
+The \fB--references\fP flag instructs \fBtexutil\fP to process
+information about cross-references, index entries, and other data
+requiring more than one pass to process in the \fBConTeXt\fP utility
+file\&.
+.PP
+Index and sorted list entries are sorted before being written out;
+redundant index entries are removed\&.
+.PP
+\fBtexutil\fP is called automatically by \fBtexexec\fP(1) during its
+processing runs unless you specify otherwise\&. \fBtexutil\fP can also
+be run by hand, using the form
+.PP
+.EX
+\f(CWtexutil --references\fP \fIFILENAME\fP
+.EE
+.PP
+This command would cause \fBtexutil\fP to load the utility file
+\fIFILENAME\fP\fI\&.tui\fP, sort and convert the contents of that
+file, and write the results to \fIFILENAME\fP\fI\&.tuo\fP\&.
+.PP
+Options specific to this mode are:
+.IP "\fB--ij\fP"
+Sort ``\f(CWIJ\fP\'\' as ``\f(CWY\fP\'\'\&. Often used when
+processing files written in Dutch\&.
+.IP "\fB--high\fP"
+Convert ``high\'\' ASCII values into equivalent TeX
+commands\&. This switch is provided for backward
+compatibility\&.
+.IP "\fB--quotes\fP"
+Take \fBtex\fP(1) accent commands into
+consideration when sorting\&. (Otherwise, quotes are
+considered to be boundary characters for strings\&.)
+.IP "\fB--tcxpath=\fP\fIPATH\fP"
+Specify path to \fItcx\fP
+filter files for translating
+between encodings\&.
+.PP
+.SH "Extracting Information from ConTeXt Source Files"
+.PP
+\fBConTeXt\fP source files often contain documentation (see
+USAGE for more information about the format) or other
+information that can be extracted by \fBtexutil\fP when called with the
+\fB--documents\fP flag:
+.PP
+.EX
+\f(CWtexutil --documents\fP \fIFILENAME\fP
+.EE
+.PP
+This command produces a file called \fIFILENAME\fP\fI\&.ted\fP
+from a ConTeXt file called \fIFILENAME\fP\fI\&.tex\fP\&.
+.PP
+The \fB--sources\fP flag does the opposite: Documentation lines are
+stripped out of the output, which is written to a file called
+\fIFILENAME\fP\fI\&.tes\fP\&.
+.PP
+Historically, \fBConTeXt\fP source files included other forms of
+information -- such as syntax definitions, macro definitions, and
+editor templates -- that can be extracted with the following flags:
+.PP
+.IP "\fB--infos\fP"
+Extract TeXEdit macro information
+(\fItex\fP->\fItud\fP -- see
+USAGE)
+.IP "\fB--setups\fP"
+Extract \fBConTeXt\fP syntax definitions
+(\fItex\fP->\fItexutil\&.tus\fP)
+.IP "\fB--templates\fP"
+Extract TeXEdit editor templates
+(\fItex\fP->\fItud\fP)
+.PP
+.SH "Analyzing Log Files"
+.PP
+Calling \fBtexutil\fP with the \fB--logfile\fP option allows you to
+extract information about problems with your \fBConTeXt\fP source file
+from the log file produced during a \fBtexexec\fP(1) run\&.
+.PP
+You can specify what information \fBtexutil\fP should report with the
+following options:
+.IP "\fB--box\fP"
+Extract information about overfull boxes\&. By
+default, this flag will cause \fBtexedit\fP to report both
+horizontal and vertical overfull boxes\&. If you\'re only
+interested in one kind, you can specify \fB--hbox\fP or
+\fB--vbox\fP instead\&.
+.IP "\fB--criterium=\fP\fISIZE\fP"
+Exclude reports about boxes that
+are less than \fISIZE\fP points too large\&.
+.IP "\fB--unknown\fP"
+Extract messages about missing references or
+figures\&.
+.PP
+.SH "Gathering Information about Figures"
+.PP
+The \fB--figures\fP flag tells \fBtexutil\fP to generate information
+about one or more (non-EPS) graphics files for use in typesetting\&.
+Called as, for example,
+.PP
+.EX
+\f(CWtexutil --figures *\&.png *\&.tif\fP
+.EE
+.PP
+\fBtexutil\fP will scan the current directory for PNG and TIFF files
+and extract some useful information about their sizes and types\&. By
+default, this information is stored in a file called
+\fItexutil\&.tuf\fP, which is consulted by \fBConTeXt\fP when
+typesetting a page with a non-EPS image file -- see the example given
+for the \fB--silent\fP flag for an alternative\&.
+.PP
+This flag is especially useful when you plan to typeset a file of
+previews of graphic files -- see the discussion of the
+\fB--figures\fP flag in the \fBtexexec\fP(1) manpage\&.
+.PP
+.SH "Converting EPS Files for PDF Inclusion"
+.PP
+\fBtexutil\fP can also convert EPS files to PDF format for inclusion in
+PDF files generated with \fBpdftex\fP(1) or \fBpdfetex\fP(1)\&.
+.PP
+.IP "\fB--epspage\fP"
+Adjust the bounding box of an EPS file to the
+dimensions of the output page\&. This option also removes some
+redundant information and marks files as converted so that they
+will not be affected by subsequent runs\&.
+.IP "\fB--epstopdf\fP"
+Calls \fBgs\fP(1) to convert the specified
+EPS graphic files into PDF format\&.
+.PP
+.SH "USAGE"
+.PP
+.SH "Embedded Documentation Format"
+.PP
+Documentation lines included in \fBConTeXt\fP source files can be
+specified by beginning lines with the following strings:
+.IP "\f(CW%C\fP"
+Copyright information
+.IP "\f(CW%D\fP"
+Documentation lines
+.IP "\f(CW%I\fP"
+TeXEdit information lines (mostly in Dutch)
+.IP "\f(CW%M\fP"
+Macro code needed to processs the documentation
+.IP "\f(CW%S\fP"
+``Suppressed\'\' lines
+.PP
+The same forms can be used for Perl scripts, except that the
+``\f(CW%\fP\'\' characters are replaced by ``\f(CW#\fP\'\' characters\&. See
+the source for \fBtexutil\fP for an example\&.
+.PP
+.SH "SEE ALSO"
+.PP
+\fBgs\fP(1), \fBpdfetex\fP(1), \fBpdftex\fP(1),
+\fBtexexec\fP(1), \fBtexshow\fP(1)\&.
+.PP
+Web page: <http://www\&.pragma-ade\&.com/>
+.PP
+.SH "AUTHOR"
+.PP
+This manpage was written by C\&.M\&. Connelly
+<c@eskimo\&.com> and Tobias Burnus
+<burnus@gmx\&.de>\&. It is based on
+the \fBtexutil\fP manual written by Hans Hagen
+<pragma@wxs\&.nl>\&.
+.PP
+The PDF manual and \fBtexutil\fP itself can be obtained at
+<http://www\&.pragma-ade\&.com/pragma-ade/texutil\&.htm>\&.
diff --git a/Master/texmf/doc/man/man1/tftopl.1 b/Master/texmf/doc/man/man1/tftopl.1
new file mode 100644
index 00000000000..8f66a461e1b
--- /dev/null
+++ b/Master/texmf/doc/man/man1/tftopl.1
@@ -0,0 +1,117 @@
+.TH TFTOPL 1 "17 December 1994" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+tftopl \- convert TeX font metric (tfm) files to property lists
+.SH SYNOPSIS
+.B tftopl
+[
+.BI \-charcode-format =format
+]
+[
+.B \-verbose
+]
+.I tfm_name[.tfm]
+[
+.I pl_name[.pl]
+]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B tftopl
+program translates a (program-oriented) font metric file to a
+(human-oriented) property list file. Thus, you can edit the contents of
+the TFM files, if the font designer has not done his or her job
+properly, or if you're encountering strange difficulties, or if you're
+just curious. It also serves as a TFM-file validating program, i.e., if
+no error messages are given, the input file is correct.
+.PP
+The
+.I pl_name
+is extended with
+.I .pl
+if it lacks a suffix.
+If
+.I pl_name
+is not given, standard output is used. Likewise,
+.I tfm_name
+is extended with
+.I .tfm
+if it lacks a suffix. Also, path searching is done for the
+.I .tfm
+file
+using the environment variable TEXFONTS. If that is not set,
+.B tftopl
+uses the system default.
+.PP
+See
+.BR tex (1)
+for the details of the searching.
+.\"=====================================================================
+.SH OPTIONS
+The argument
+.I format
+to
+.B \-charcode-format
+specifies how character codes are output in the PL file. By
+default, only letters and digits are output using the
+.B C
+integer code (i.e., in ASCII); the others are output in octal. (Unless
+the font's coding scheme starts with
+.B "TeX math sy"
+or
+.BR "TeX math ex" ,
+in which case all character codes are output in octal.) If
+.I format
+is
+.BR ascii ,
+all character codes that correspond to graphic characters, besides the
+left and right parentheses, are output in ASCII. Finally, if
+.I format
+is
+.BR octal ,
+all character codes are output in octal.
+.PP
+Without the
+.B \-verbose
+option,
+.B tftopl
+operates silently. With it, a banner and progress report are printed on
+.IR stdout .
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR pltotf (1),
+.br
+Donald E. Knuth,
+.IR "\*(OXware" .
+.br
+Donald E. Knuth,
+.I "The \*(MFbook"
+(Volume C of
+.IR "Computers and Typesetting" ),
+Addison-Wesley, 1986, ISBN 0-201-13445-4.
+.\"=====================================================================
+.SH AUTHORS
+Donald E. Knuth wrote the program. It was published as
+part of the
+.I \*(OXware
+technical report, available from the \*(TX Users Group.
+Howard Trickey and Pavel Curtis originally ported it to Unix.
diff --git a/Master/texmf/doc/man/man1/thumbpdf.1 b/Master/texmf/doc/man/man1/thumbpdf.1
new file mode 100644
index 00000000000..d1d7e358f9a
--- /dev/null
+++ b/Master/texmf/doc/man/man1/thumbpdf.1
@@ -0,0 +1,100 @@
+.TH "thumbpdf" "1" "September 2000" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+thumbpdf \- generate thumbnail images for a PDF file
+created with \fBpdftex\fP
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBthumbpdf\fP [ \fIOPTION\fP\&.\&.\&. ] \fIPDF_FILE\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBthumbpdf\fP is used to create thumbnail images of individual pages
+within a PDF (Portable Document Format) document\&.
+.PP
+.SH "USAGE"
+.PP
+First run \fBpdftex\fP(1) on your document to create a PDF file\&.
+Then run \fBthumbpdf\fP to generate the thumbnails, a PDF file
+containing the thumbnails, and a pdfTeX file to include the thumbnails
+in the PDF file\&. Finally, run \fBpdftex\fP(1) on your file again to
+create the final PDF file\&.
+.PP
+\fBthumbpdf\fP calls \fBgs\fP(1) to generate PNG images of the pages
+within \fIPDF_FILE\fP, and \fBpdftex\fP(1) to create a PDF file
+containing the thumbnail images\&.
+.PP
+.SH "OPTIONS"
+.PP
+.IP "\fB--help\fP"
+print usage
+.IP "\fB--(no)makepng\fP"
+make PNG thumbnail images (default: true)
+.IP "\fB--(no)makepdf\fP"
+generate new PDF file containing the
+thumbnails (default: true)
+.IP "\fB--(no)makedef\fP"
+create a TeX file for \fBpdftex\fP(1) to
+read in (default: true)
+.IP "\fB--(no)quiet\fP"
+suppress messages (default: false)
+.IP "\fB--(no)verbose\fP"
+verbose messages (default: false)
+.IP "\fB--(no)debug\fP"
+print debugging information while parsing
+(default: false)
+.IP "\fB--resolution\fP \fIres\fP"
+resolution for GhostScript step
+(default: 9)
+.IP "\fB--compress\fP \fIn\fP"
+\epdfcompresslevel for \fBthumbpdf\&.pdf\fP
+(0-9; default: 9)
+.IP "\fB--device\fP | \fBpng\fP\fIdev\fP"
+GhostScript PNG device;
+\fIdev\fP = `mono\', `gray\',
+`16\', `256\', `16m\' (default:
+`png16m\')
+.PP
+.SH "FILES"
+.PP
+.IP "\fIthumb\fPnn\fI\&.png\fP"
+PNG thumbnail images
+.IP "\fIthumbpdf\&.pdf\fP"
+PDF file containing thumbnail images
+.IP "\fIthumbpdf\&.tex\fP"
+A pdfTeX program to include the thumbnails
+file
+.IP "\fIthumbpdf\&.log\fP"
+pdfTeX log file
+.IP "\fIthumbpdf\&.sty\fP"
+a LaTeX package to be included in files
+for which a user wants to generate thumbnails
+.PP
+.SH "SEE ALSO"
+.PP
+\fBgs\fP(1), \fBpdftex\fP(1)\&.
+.PP
+Web page: <http://tug\&.org/teTeX/>
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to the author\&.
+.PP
+.SH "COPYRIGHT"
+.PP
+Copyright © 1999\&. \fBthumbpdf\fP is distributed under
+version 1, or (at your option) a later version of the LaTeX Project
+Public License\&.
+.PP
+.SH "AUTHOR"
+.PP
+\fBthumbpdf\fP was written by Heiko Oberdiek
+<oberdiek@ruf\&.uni-freiburg\&.de>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<c@eskimo\&.com>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/tie.1 b/Master/texmf/doc/man/man1/tie.1
new file mode 100644
index 00000000000..13d132d8ed6
--- /dev/null
+++ b/Master/texmf/doc/man/man1/tie.1
@@ -0,0 +1,39 @@
+.TH TIE 1L 9/24/92
+.SH NAME
+tie \- merge or apply WEB change files
+.SH SYNOPSIS
+.B tie
+.B \-c|\-m
+.I outputfile masterfile changefile...
+
+.SH DESCRIPTION
+The
+.I tie
+program is used to process multiple change files used with the WEB
+system for literate programming. The WEB programs allow to apply
+patches to a source file (the
+.IR masterfile )
+by means of a number of change files (often only a single change file
+is allowed).
+.I Tie
+can be used to either merge up to nine change files into a single one
+or to apply the changes to the
+.I masterfile
+in order to create a new one. Output of either the new change file or
+the patched master file goes into
+.I outputfile.
+.SS OPTIONS
+.TP
+.B \-c
+Create a single change file from the given
+.I changefiles.
+.TP
+.B \-m
+Create a new master file by applying the given
+.I changefiles.
+.SH "SEE ALSO"
+.br
+web(1), cweb(1l).
+.SH "AUTHOR"
+Klaus Guntermann, TH Darmstadt, Institut f. Theoretische Informatik. Man page
+by Joachim Schnitter, TH Darmstadt, Phys. Chemie I.
diff --git a/Master/texmf/doc/man/man1/ttf2afm.1 b/Master/texmf/doc/man/man1/ttf2afm.1
new file mode 100644
index 00000000000..7cf15df3ab0
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ttf2afm.1
@@ -0,0 +1,74 @@
+.TH "ttf2afm" "1" "September 2000" "pdfTeX" "pdfTeX"
+.PP
+.SH "NAME"
+ttf2afm \- utility to generate AFM files for TrueType fonts
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBttf2afm\fP [ \fIOPTION\fP\&.\&.\&. ] \fIFONTFILE\fP
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBttf2afm\fP is used to generate Adobe Font Metrics (AFM) files for
+TrueType (TTF) fonts to allow them to be used with TeX\&.
+.PP
+\fBttf2afm\fP takes the name of a TrueType font file as a required
+argument\&. It may also take one or more options from the list below
+(note that \fB-d\fP and \fB-h\fP are mutually exclusive)\&.
+.PP
+.SH "OPTIONS"
+.PP
+.IP "\fB-a\fP"
+print all glyphs
+.IP "\fB-i\fP"
+read names in encoding vector in form
+`index\fInum\fP\&'
+.IP "\fB-d\fP"
+print glyph names in the form
+`index\fIdecimal_num\fP\&'
+.IP "\fB-h\fP"
+print glyph names in the form
+`index\fIhex_num\fP\&'
+.IP "\fB-c\fP \fIname\fP"
+print encoding tables to file
+\fIname\&.eMN\fP, where \fIM\fP is the platform
+number and \fIN\fP is the encoding
+.IP "\fB-e\fP \fIenc\fP"
+use encoding from file \fIenc\fP
+.IP "\fB-o\fP \fIoutput\fP"
+output to file \fIoutput\fP instead
+of stdout
+.PP
+Platform numbers can be one of
+.IP "0"
+Apple Unicode
+.IP "1"
+Macintosh
+.IP "2"
+ISO
+.IP "3"
+Microsoft
+.PP
+Encodings can be
+.IP "0"
+Roman (if platform is Macintosh)
+.IP "0"
+Symbol (if platform is Microsoft)
+.IP "1"
+Unicode (if platform is Microsoft)
+.PP
+.SH "BUGS"
+.PP
+None known, but submit bug reports to <pdftex@tug\&.org> (mailing list)\&.
+.PP
+.SH "AUTHOR"
+.PP
+\fBttf2afm\fP is part of pdfTeX and was written by Han The Thanh
+<thanh@informatics\&.muni\&.cz>\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<cmc@debian\&.org>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man1/ttf2pk.1 b/Master/texmf/doc/man/man1/ttf2pk.1
new file mode 100644
index 00000000000..516a3081223
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ttf2pk.1
@@ -0,0 +1,311 @@
+.\" man page for ttf2pk
+.
+.TH TTF2PK 1 10-Jan-2002 "FreeType version 1.5"
+.SH NAME
+ttf2pk \- convert a TrueType font into TeX's PK format
+.SH SYNOPSIS
+.na
+.nh
+.B ttf2pk
+.RB [ \-q ]
+.RB [ \-n ]
+.I "\%font-name \%resolution"
+.br
+.B ttf2pk
+.B \-t
+.RB [ \-q ]
+.I \%font-name
+.br
+.B "ttf2pk \-\^\-version"
+|
+.B \-\^\-help
+.ad
+.hy
+.
+.
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH DESCRIPTION
+This program converts a TrueType font into a
+.C PK
+file; the created font can then be used with \*(TX
+or \*(LX.
+.PP
+CJKV (Chinese/Japanese/Korean/old Vietnamese) subfonts as created by
+.B ttf2tfm
+are also supported.
+.PP
+.B ttf2pk
+always assumes 10pt as the design size for the written \*(TX
+font.
+.
+.
+.SH PARAMETERS
+.TP
+.B \-q
+This optional switch makes
+.B ttf2pk
+quiet.
+It suppresses any informational output except warning and error
+messages.
+.TP
+.B \-n
+Use only `\c
+.C \&.pk '
+as the extension instead of `\c
+.C \&. \c
+.RI < \%resolution >\c
+.C pk '.
+.TP
+.B \-t
+Test for the existence of
+.IR \%font-name .
+Returns 0 on success and prints out the corresponding line of
+a map file (default:
+.C \%ttfonts.map ),
+provided the
+.B \-q
+switch isn't set.
+.TP
+.I font-name
+The \*(TX
+name of the font.
+.B ttf2pk
+looks this name up in a map file (see below) for further information how
+to process the font.
+.TP
+.I resolution
+The resolution, given in dots per inch.
+Currently the horizontal resolution is equal to the vertical
+resolution.
+The design size is always assumed to be 10pt.
+.TP
+.B \-\^\-version
+Shows the current version of
+.B ttf2pk
+and the used file search library (e.g.\ \c
+.BR kpathsea ).
+.TP
+.B \-\^\-help
+Shows usage information.
+.PP
+Environment variables for file searching are described in the manual page
+of
+.BR ttf2tfm .
+.
+.
+.SH "THE CONFIGURATION FILE"
+.B ttf2pk
+uses a small configuration file called
+.C ttf2pk.cfg ;
+in each line it contains a keyword with its value, separated by whitespace.
+Comment lines can start with any of the following characters: `*', `#',
+`;', and `%'.
+Leading whitespace is ignored.
+.PP
+Currently, only one keyword, `map', is recognized in this file; it takes
+a map file name as a parameter.
+If no extension is given to the map file name,
+.C \&.map
+is appended.
+No whitespace is allowed in the map file name.
+The `map' keyword can be given more than once to specify multiple map
+files; if the map file name is prepended by a plus sign, it is added to
+the list of map files to be used.
+Example:
+.PP
+.in +2m
+.C "map foo"
+.br
+.C "map +bar"
+.PP
+This makes
+.B ttf2pk
+to first read
+.C foo.map ,
+then
+.C bar.map .
+.PP
+If the configuration file is not found,
+.B ttf2pk
+tries to use
+.C \%ttfonts.map
+instead.
+.
+.
+.SH "MAP FILES"
+Parameters specified to
+.B ttf2tfm
+are preserved for
+.B ttf2pk
+in map files\(em\c
+.B ttf2tfm
+writes out to standard output, as the last line, a proper entry for a
+map file.
+.PP
+As an example, a call to
+.PP
+.in +2m
+.C "ttf2tfm arial -p T1.enc -s 0.25 -P 1 -E 0 arials"
+.PP
+will produce the following line:
+.PP
+.in +2m
+.C "arials arial Slant=0.25 Pid=1 Eid=0 Encoding=T1.enc"
+.PP
+See
+.BR ttf2tfm (1)
+and
+.BR afm2tfm (1)
+of the
+.B dvips
+package for a detailed description of encoding files.
+.PP
+Here a table listing the various
+.B ttf2tfm
+parameters and the corresponding entries in a map file:
+.PP
+.in +4m
+.ta 2i
+-s Slant
+.br
+-e Extend
+.br
+-p Encoding
+.br
+-f Fontindex
+.br
+-P Pid
+.br
+-E Eid
+.br
+-n PS=Yes
+.br
+-N PS=Only
+.br
+-R Replacement
+.br
+-x Rotate=Yes
+.br
+-y Y-Offset
+.PP
+Single replacement glyph names given to
+.B ttf2tfm
+with `\c
+.BI \-r \ old-glyphname\ new-glyphname\c
+\&'
+are directly specified with `\c
+.IR old-glyphname = new-glyphname '.
+They will be ignored if in subfont mode or if no encoding file is given.
+.PP
+One additional parameter in a map file is unique to
+.BR ttf2pk :
+`Hinting', which can take the values `On' or `Off'.
+Some fonts (e.g.\ the CJK part of
+.C \%cyberbit.ttf )
+are rendered incorrectly if hinting is activated.
+Default is `On' (you can also use `Yes', `No', `1', and `0').
+.PP
+For a description of subfonts (i.e., entries of the form `\c
+.I <namestem>\c
+.C @\c
+.I <sfd-filename>\c
+.C @ ')
+please refer to
+.BR ttf2tfm (1).
+.PP
+The format of a map file is simple.
+Each line defines a font; first comes the \*(TX
+font name, then its TrueType font file name, followed by the
+parameters in any order.
+Case is significant (even for parameter names); the parameters are
+separated from its values by an equal sign, with whitespace possibly
+surrounding it.
+.B ttf2pk
+reads in all map files line by line in the order given in the
+configuration file, continuing until the \*(TX font specified on the
+command line is found, otherwise the programs exits with error code\ 2.
+Thus you can use any character invalid in a \*(TX
+font name to start a comment line.
+.PP
+You can use `\\' as the final character of a line to indicate that the
+input is continued on the next line.
+The backslash and the following newline character will be removed.
+.PP
+.B ttf2pk
+will abort if it can't find or read the \*(TX
+font metrics file of the given \*(TX
+font name.
+.
+.
+.SH "RETURN VALUE"
+If the call was successful, 0\ will be returned.
+In case of error, the return value is\ 1.
+Finally, if the font can't be found in the map files,
+2\ is returned.
+This simplifies the inclusion of
+.B ttf2pk
+into scripts like
+.B mktexpk
+for automatic font generation.
+.
+.
+.SH "SEE ALSO"
+.BR ttf2tfm (1),
+.BR afm2tfm (1)
+.
+.
+.SH AVAILABILITY
+.B ttf2pk
+is part of the FreeType\ 1 package, a high quality TrueType rendering
+library.
+.
+.
+.SH AUTHORS
+Werner LEMBERG
+.C <wl@gnu.org>
+.br
+Fr\('ed\('eric LOYER
+.C <loyer@ensta.fr>
diff --git a/Master/texmf/doc/man/man1/ttf2pt1.1 b/Master/texmf/doc/man/man1/ttf2pt1.1
new file mode 100644
index 00000000000..86a36074b8c
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ttf2pt1.1
@@ -0,0 +1,619 @@
+.rm #[ #] #H #V #F C
+.SH "NAME"
+TTF2PT1 \- A True Type to PostScript Type 1 Font Converter
+.SH "SYNOPSIS"
+\f(CWttf2pt1 \fI[-options] ttffont.ttf [Fontname]\fR\fR
+.PP
+or
+.PP
+\f(CWttf2pt1 \fI[-options] ttffont.ttf -\fR\fR
+.SH "DESCRIPTION"
+Ttf2pt1 is a font converter from the True Type format (and some other formats
+supported by the FreeType library as well) to the Adobe Type1 format.
+.PP
+The versions 3.0 and later got rather extensive post-processing algorithm that
+brings the converted fonts to the requirements of the Type1 standard, tries to
+correct the rounding errors introduced during conversions and some simple
+kinds of bugs that are typical for the public domain TTF fonts. It
+also generates the hints that enable much better rendering of fonts in
+small sizes that are typical for the computer displays. But everything
+has its price, and some of the optimizations may not work well for certain
+fonts. That's why the options were added to the converter, to control
+the performed optimizations.
+.SH "OPTIONS"
+The first variant creates the file \f(CWFontname.pfa\fR (or \f(CWFontname.pfb\fR if the
+option \*(L'\fB\-b\fR\*(R' was used) with the converted font and \f(CWFontname.afm\fR with the
+font metrics, the second one prints the font or another file (if the option
+\&\*(R'\fB\-G\fR\*(R' was used) on the standard output from where it can be immediately
+piped through some filter. If no \f(CWFontname\fR is specified for the first
+variant, the name is generated from \f(CWttffont\fR by replacing the \f(CW.ttf\fR
+filename suffix.
+.PP
+Most of the time no options are neccessary (with a possible exception
+of \*(L'\fB\-e\fR'). But if there are some troubles with the resulting font, they
+may be used to control the conversion.
+The \fBoptions\fR are:
+.Ip "\(bu" 2
+\f(CW\fB-a\fR\fR \- Include all the glyphs from the source file into the converted
+file. If this option is not specified then only the glyphs that have
+been assigned some encoding are included, because the rest of glyphs
+would be inaccessible anyway and would only consume the disk space.
+But some applications are clever enough to change the encoding on
+the fly and thus use the other glyphs, in this case they could
+benefit from using this option. But there is a catch: the X11 library
+has rather low limit for the font size. Including more glyphs increases
+the file size and thus increases the chance of hitting this limit.
+See \f(CWapp/X11/README\fR for the description of a
+patch to X11 which fixes this problem.
+.Ip "\(bu" 2
+\f(CW\fB-b\fR\fR \- Encode the resulting font to produce a ready \f(CW.pfb\fR file.
+.Ip "\(bu" 2
+\f(CW\fB-d \fIsuboptions\fR\fR\fR \- Debugging options. The suboptions are:
+.Sp
+\f(CW\fBa\fR\fR \- Print out the absolute coordinates of dots in outlines. Such
+a font can not be used by any program (that's why this option is
+incompatible with \*(L'\fB\-e\fR') but it has proven to be a valuable debuging
+information.
+.Sp
+\f(CW\fBr\fR\fR \- Do not reverse the direction of outlines. The \s-1TTF\s0 fonts have
+the standard direction of outlines opposite to the Type1 fonts. So
+they should be reversed during proper conversion. This option
+may be used for debugging or to handle a \s-1TTF\s0 font with wrong
+direction of outlines (possibly, converted in a broken way from
+a Type1 font). The first signs of the wrong direction are the
+letters like \*(L"P\*(R" or \*(L"B\*(R" without the unpainted \*(L"holes\*(R" inside.
+.Ip "\(bu" 2
+\f(CW\fB-e\fR\fR \- Assemble the resulting font to produce a ready \f(CW.pfa\fR file.
+.Sp
+[ S.B.: Personally I don't think that this option is particularly useful.
+The same result may be achieved by piping the unassembled data
+through t1asm, the Type 1 assembler. And, anyways, it's good to
+have the t1utils package handy. But Mark and many users think that
+this functionality is good and it took not much time to add this option. ]
+.Ip "\(bu" 2
+\f(CW\fB-F\fR\fR \- Force the Unicode encoding: any type of \s-1MS\s0 encoding specified
+in the font is ignored and the font is treated like it has Unicode
+encoding. \fB\s-1WARNING\s0:\fR this option is intended for buggy fonts
+which actually are in Unicode but are marked as something else. The
+effect on the other fonts is unpredictable.
+.Ip "\(bu" 2
+\f(CW\fB-G \fIsuboptions\fR\fR\fR \- File generation options. The suboptions may be lowercase
+or uppercase, the lowercase ones disable the generation of particular
+files, the corresponding uppercase suboptions enable the generation of the
+same kind of files. If the result of ttf2pt1 is requested to be printed on
+the standard output, the last enabling suboption of \fB\-G\fR determines
+which file will be written to the standard output and the rest of files
+will be discarded. For example, \fB\-G A\fR will request the \s-1AFM\s0 file.
+The suboptions to disable/enable the generation of the files are:
+.Sp
+\f(CW\fBf/F\fR\fR \- The font file. Depending on the other options this file
+will have one of the suffixes \f(CW.t1a\fR, \f(CW.pfa\fR or \f(CW.pfb\fR. If the conversion result
+is requested on the standard output ('\f(CW-\fR\*(R' is used as the output file name)
+then the font file will also be written there by default, if not overwritten
+by another suboption of \fB\-G\fR.
+\fBDefault: enabled\fR
+.Sp
+\f(CW\fBa/A\fR\fR \- The Adobe font metrics file (\f(CW.afm\fR).
+\fBDefault: enabled\fR
+.Sp
+\f(CW\fBe/E\fR\fR \- The dvips encoding file (\f(CW.enc\fR).
+\fBDefault: disabled\fR
+.Ip "\(bu" 2
+\f(CW\fB-l \fIlanguage\fR[+\fIargument\fR]\fR\fR \- Extract the fonts for the specified language from a
+multi-language Unicode font. If this option is not used the converter
+tries to guess the language by the values of the shell variable \s-1LANG\s0.
+If it is not able to guess the language by \s-1LANG\s0 it tries all the
+languages in the order they are listed.
+.Sp
+After the plus sign an optional argument for the language extractor
+may be specified. The format of the argument is absolutely up to
+the particular language converter. The primary purpose of the
+argument is to support selection of planes for the multi-plane
+Eastern encodings but it can also be used in any other way. The
+language extractor may decide to add the plane name in some form
+to the name of the resulting font. None of the currently supported
+languages make any use of the argument yet.
+.Sp
+As of now the following languages are supported:
+.Sp
+\ \ \f(CWlatin1\fR \- for all the languages using the Latin-1 encoding
+.Sp
+\ \ \f(CWlatin2\fR \- for the Central European languages
+.Sp
+\ \ \f(CWlatin4\fR \- for the Baltic languages
+.Sp
+\ \ \f(CWlatin5\fR \- for the Turkish language
+.Sp
+\ \ \f(CWcyrillic\fR \- for the languages with Cyrillic alphabet
+.Sp
+\ \ \f(CWrussian\fR \- historic synonym for cyrillic
+.Sp
+\ \ \f(CWbulgarian\fR \- historic synonym for cyrillic
+.Sp
+\ \ \f(CWadobestd\fR \- for the AdobeStandard encoding used by TeX
+.Sp
+\ \ \f(CWplane+\fIargument\fR\fR \- to select one plane from a multi-byte encoding
+.Sp
+The argument of the \*(L"\f(CWplane\fR\*(R" language may be in one of three forms:
+.Sp
+\ \ \f(CWplane+\fBpid=\fR\fI<pid>\fR\fB,eid=\fR\fI<eid>\fR\fR
+.Sp
+\ \ \f(CWplane+\fBpid=\fR\fI<pid>\fR\fB,eid=\fR\fI<eid>\fR\fB,\fR\fI<plane_number>\fR\fR
+.Sp
+\ \ \f(CWplane+\fI<plane_number>\fR\fR
+.Sp
+Pid (\s-1TTF\s0 platform id) and eid (\s-1TTF\s0 encoding id) select a particular
+\s-1TTF\s0 encoding table in the original font. They are specified as decimal
+numbers. If this particular encoding table is not present in the font
+file then the conversion fails. The native ("ttf") front-end parser supports
+only pid=3 (Windows platform), the FreeType-based ("ft") front-end supports
+any platform. If pid/eid is not specified then the \s-1TTF\s0 encoding table is
+determined as usual: Unicode encoding if it's first or an 8-bit encoding
+if not (and for an 8-bit encoding the plane number is silently ignored).
+To prevent the converter from falling back to an 8-bit encoding, specify
+the Unicode pid/eid value explicitly.
+.Sp
+Plane_number is a hexadecimal (if starts with \*(L"\fB0x\fR") or decimal number.
+It gives the values of upper bytes for which 256 characters will be
+selected. If not specified, defaults to 0. It is also used as a font
+name suffix (the leading \*(L"0x\*(R" is not included into the suffix).
+.Sp
+\fB\s-1NOTE\s0:\fR
+You may notice that the language names are not uniform: some are the
+names of particular languages and some are names of encodings. This
+is because of the different approaches. The original idea was to
+implement a conversion from Unicode to the appropriate Windows
+encoding for a given language. And then use the translation tables
+to generate the fonts in whatever final encodings are needed. This
+would allow to pile together the Unicode fonts and the non-Unicode
+Windows fonts for that language and let the program to sort them out
+automatically. And then generate fonts in all the possible encodings
+for that language. An example of this approach is the Russian language
+support. But if there is no multiplicity of encodings used for some
+languages and if the non-Unicode fonts are not considered important
+by the users, another way would be simpler to implement: just provide
+only one table for extraction of the target encoding from Unicode
+and don't bother with the translation tables. The latin* \*(L"languages\*(R"
+are examples of this approach. If somebody feels that he needs the
+Type1 fonts both in Latin-* and Windows encodings he or she is absolutely
+welcome to submit the code to implement it.
+.Sp
+\fB\s-1WARNING\s0:\fR
+Some of the glyphs included into the AdobeStandard encoding are not
+included into the Unicode standard. The most typical examples of such
+glyphs are ligatures like \*(L'fi\*(R', \*(L'fl\*(R' etc. Because of this the font
+designers may place them at various places. The converter tries to
+do its best, if the glyphs have honest Adobe names and/or are
+placed at the same codes as in the Microsoft fonts they will be
+picked up. Otherwise a possible solution is to use the option \*(L'\fB\-L\fR\*(R'
+with an external map.
+.Ip "\(bu" 2
+\f(CW\fB-L \fIfile\fR[+[pid=\fI<pid>\fR,eid=\fI<eid>\fR,][\fIplane\fR]]\fR\fR \- Extract the fonts for the specified
+language from a multi-language font using the map from this file. This is
+rather like the option \*(L'\fB\-l\fR\*(R' but the encoding map is not
+compiled into the program, it's taken from that file, so it's
+easy to edit. Examples of such files are provided in
+\f(CWmaps/adobe-standard-encoding.map\fR, \f(CWCP1250.map\fR. (\fB\s-1NOTE\s0:\fR
+the \*(L'standard encoding\*(R' map does not include all the glyphs of the
+AdobeStandard encoding, it's provided only as an example.) The
+description of the supported map formats is in the file
+\f(CWmaps/unicode-sample.map\fR.
+.Sp
+Likewise to \*(L'\fB\-l\fR\*(R', an argument may be specified after the map file
+name. But in this case the argument has fixed meaning: it selects the
+original \s-1TTF\s0 encoding table (the syntax is the same as in \*(L'\fB\-l plane\fR')
+and/or a plane of the map file. The plane name also gets added after dash
+to the font name. The plane is a concept used in the Eastern fonts with big
+number of glyphs: one \s-1TTF\s0 font gets divided into multiple Type1 fonts,
+each containing one plane of up to 256 glyphs. But with a little
+creativity this concept may be used for other purposes of combining
+multiple translation maps into one file. To extract multiple planes
+from a \s-1TTF\s0 font \f(CWttf2pt1\fR must be run multiple times, each time with
+a different plane name specified.
+.Sp
+The default original \s-1TTF\s0 encoding table used for the option \*(L'\fB\-L\fR\*(R' is
+Unicode. The map files may include directives to specify different original
+\s-1TTF\s0 encodings. However if the pid/eid pair is specified with
+it overrides any original encoding specified in the map file.
+.Ip "\(bu" 2
+\f(CW\fB-m \fItype\fR=\fIvalue\fR\fR\fR \- Set maximal or minimal limits of resources.
+These limits control the the font generation by limiting the resources
+that the font is permitted to require from the PostScript interpreter.
+The currently supported types of limits are:
+.Sp
+\f(CW\fBh\fR\fR \- the maximal hint stack depth for the substituted hints.
+The default value is 128, according to the limitation in X11. This seems to
+be the lowest (and thus the safest) widespread value. To display the
+hint stack depth required by each glyph in a \f(CW.t1a\fR file use the script
+\f(CWscripts/cntstems.pl\fR.
+.Ip "\(bu" 2
+\f(CW\fB-O \fIsuboptions\fR\fR\fR \- Outline processing options. The suboptions
+may be lowercase or uppercase, the lowercase ones disable the features,
+the corresponding uppercase suboptions enable the same features.
+The suboptions to disable/enable features are:
+.Sp
+\f(CW\fBb/B\fR\fR \- Guessing of the ForceBold parameter. This parameter helps
+the Type1 engine to rasterize the bold fonts properly at small sizes.
+But the algorithm used to guess the proper value of this flag makes
+that guess based solely on the font name. In rare cases that may cause
+errors, in these cases you may want to disable this guessing.
+\fBDefault: enabled\fR
+.Sp
+\f(CW\fBh/H\fR\fR \- Autogeneration of hints. The really complex outlines
+may confuse the algorithm, so theoretically it may be useful
+sometimes to disable them. Although up to now it seems that
+even bad hints are better than no hints at all.
+\fBDefault: enabled\fR
+.Sp
+\f(CW\fBu/U\fR\fR \- Hint substitution. Hint substitution is a technique
+permitting generation of more detailed hints for the rasterizer. It allows
+to use different sets of hints for different parts of a glyph and change
+these sets as neccessary during rasterization (that's why \*(L"substituted").
+So it should improve the quality of the fonts rendered at small sizes.
+But there are two catches: First, the X11 library has rather low limit for
+the font size. More detailed hints increase the file size and thus increase
+the chance of hitting this limit (that does not mean that you shall hit it
+but you may if your fonts are particularly big). This is especially
+probable for Unicode fonts converted with option \*(L'\fB\-a\fR\*(R', so you may want to
+use \*(L'\fB\-a\fR\*(R' together with \*(L'\fB\-Ou\fR\*(R'. See \f(CWapp/X11/README\fR for the description of
+a patch to X11 which fixes this problem. Second, some rasterizers (again,
+X11 is the typical example) have a limitation for total number of hints
+used when drawing a glyph (also known as the hint stack depth). If that
+stack overflows the glyph is ignored. Starting from version 3.22 \f(CWttf2pt1\fR
+uses algorithms to minimizing this depth, with the trade-off of slightly
+bigger font files. The glyphs which still exceed the limit set by option
+\&\*(R'\fB\-mh\fR\*(R' have all the substituted hints removed and only base hints left.
+The algorithms seem to have been refined far enough to make the fonts with
+substituted hints look better than the fonts without them or at least the
+same. Still if the original fonts are not well-designed the detailed
+hinting may emphasize the defects of the design, such as non-even thickness
+of lines. So provided that you are not afraid of the X11 bug the best idea
+would be to generate a font with this feature and without it, then compare
+the results using the program \f(CWother/cmpf\fR (see the description
+in \f(CWother/README\fR) and decide which one looks better.
+\fBDefault: enabled\fR
+.Sp
+\f(CW\fBo/O\fR\fR \- Space optimization of the outlines\*(R' code. This kind of optimization
+never hurts, and the only reason to disable this feature is for comparison
+of the generated fonts with the fonts generated by the previous versions of
+converter. Well, it _almost_ never hurts. As it turned out there exist
+some brain-damaged printers which don't understand it. Actually this
+feature does not change the outlines at all. The Type 1 font manual
+provides a set of redundant operators that make font description shorter,
+such as \*(L'10 hlineto\*(R' instead of \*(L'0 10 rlineto\*(R' to describe a horizontal
+line. This feature enables use of these operators.
+\fBDefault: enabled\fR
+.Sp
+\f(CW\fBs/S\fR\fR \- Smoothing of outlines. If the font is broken in some
+way (even the ones that are not easily noticeable), such smoothing
+may break it further. So disabling this feature is the first thing to be
+tried if some font looks odd. But with smoothing off the hint generation
+algorithms may not work properly too.
+\fBDefault: enabled\fR
+.Sp
+\f(CW\fBt/T\fR\fR \- Auto-scaling to the 1000x1000 Type1 standard matrix. The
+\s-1TTF\s0 fonts are described in terms of an arbitrary matrix up to
+4000x4000. The converted fonts must be scaled to conform to
+the Type1 standard. But the scaling introduces additional rounding
+errors, so it may be curious sometimes to look at the font in its
+original scale.
+\fBDefault: enabled\fR
+.Sp
+\f(CW\fBw/W\fR\fR \- Glyphs\*(R' width corection. This option is designed to be
+used on broken fonts which specify too narrow widths for the
+letters. You can tell that a font can benefit from this option
+if you see that the characters are smashed together without
+any whitespace between them. This option causes the converter
+to set the character widths to the actual width of this character
+plus the width of a typical vertical stem. But on the other hand
+the well-designed fonts may have characters that look better if
+their widths are set slightly narrower. Such well-designed fonts
+will benefit from disabling this feature. You may want to convert
+a font with and without this feature, compare the results and
+select the better one. This feature may be used only on proportional
+fonts, it has no effect on the fixed-width fonts.
+\fBDefault: disabled\fR
+.Ip "\(bu" 2
+\f(CW\fB-p \fIparser_name\fR\fR\fR \- Use the specified front-end parser to read the font file.
+If this option is not used, ttf2pt1 selects the parser automatically based
+on the suffix of the font file name, it uses the first parser in its
+list that supports this font type. Now two parsers are supported:
+.Sp
+\ \ \f(CWttf\fR \- built-in parser for the ttf files (suffix \f(CW.ttf\fR)
+.Sp
+\ \ \f(CWbdf\fR \- built-in parser for the \s-1BDF\s0 files (suffix \f(CW.bdf\fR)
+.Sp
+\ \ \f(CWft\fR \- parser based on the FreeType-2 library (suffixes \f(CW.ttf\fR,
+\&\f(CW.otf\fR, \f(CW.pfa\fR, \f(CW.pfb\fR)
+.Sp
+The parser \f(CWft\fR is \fB\s-1NOT\s0\fR linked in by default. See \f(CWMakefile\fR
+for instructions how to enable it. We do no support this parser on
+Windows: probably it will work but nobody tried and nobody knows how
+to build it.
+.Sp
+The conversion of the bitmap fonts (such as \s-1BDF\s0) is simplistic yet,
+producing jagged outlines. When converting such fonts, it might be
+a good idea to turn off the hint substitution (using option \fB\-Ou\fR)
+because the hints produced will be huge but not adding much to the
+quality of the fonts.
+.Ip "\(bu" 2
+\f(CW\fB-u \fInumber\fR\fR\fR \- Mark the font with this value as its
+UniqueID. The UniqueID is used by the printers with the hard disks
+to cache the rasterized characters and thus significantly
+speed-up the printing. Some of those printers just can't
+store the fonts without UniqueID on their disk.The problem
+is that the \s-1ID\s0 is supposed to be unique, as it name says. And
+there is no easy way to create a guaranteed unique \s-1ID\s0. Adobe specifies
+the range 4000000-4999999 for private IDs but still it's difficult
+to guarantee the uniqueness within it. So if you don't really need the
+UniqueID don't use it, it's optional. Luckily there are a few millions of
+possible IDs, so the chances of collision are rather low.
+If instead of the number a special value \*(L'\f(CW\fBA\fR\fR\*(R' is given
+then the converter generates the value of UniqueID automatically,
+as a hash of the font name. (\fB\s-1NOTE\s0:\fR in the version 3.22 the
+algorithm for autogeneration of UniqueID was changed to fit the values
+into the Adobe-spacified range. This means that if UniqueIDs were used
+then the printer's cache may need to be flushed before replacing the
+fonts converted by an old version with fonts converted by a newer version).
+A simple way to find if any of the fonts in a given directory have
+duplicated UniqueIDs is to use the command:
+.Sp
+\f(CW\ \ cat *.pf[ab] | grep UniqueID | sort | uniq -c | grep -v ' 1 '\fR
+.Sp
+Or if you use \f(CWscripts/convert\fR it will do that for you automatically
+plus it will also give the exact list of files with duplicate UIDs.
+.Ip "\(bu" 2
+\f(CW\fB-v \fIsize\fR\fR\fR \- Re-scale the font to get the size of a typical uppercase
+letter somewhere around the specified size. Actually, it re-scales
+the whole font to get the size of one language-dependent letter to be
+at least of the specified size. Now this letter is \*(L"A\*(R" in all the
+supported languages. The size is specified in the points of the
+Type 1 coordinate grids, the maximal value is 1000. This is an
+experimental option and should be used with caution. It tries to
+increase the visible font size for a given point size and thus make
+the font more readable. But if overused it may cause the fonts to
+look out of scale. As of now the interesting values of size for
+this option seem to be located mostly between 600 and 850. This
+re-scaling may be quite useful but needs more experience to
+understand the balance of its effects.
+.Ip "\(bu" 2
+\f(CW\fB-W \fIlevel\fR\fR\fR \- Select the verbosity level of the warnings.
+Currently the levels from 0 to 4 are supported. Level 0 means no warnings
+at all, level 4 means all the possible warnings. The default level is 3.
+Other levels may be added in the future, so using the level number 99 is
+recommended to get all the possible warnings. Going below level 2 is
+not generally recommended because you may miss valuable information about
+the problems with the fonts being converted.
+.Ip "\(bu" 2
+\fBObsolete option:\fR
+\f(CW\fB-A\fR\fR \- Print the font metrics (.afm file) instead of the font on \s-1STDOUT\s0.
+Use \fB\-\s-1GA\s0\fR instead.
+.Ip "\(bu" 2
+\fBVery obsolete option:\fR
+.Sp
+The algorithm that implemented the forced fixed width had major
+flaws, so it was disabled. The code is still in the program and
+some day it will be refined and returned back. Meanwhile the
+option name \*(L'\fB\-f\fR\*(R' was reused for another option. The old version was:
+.Sp
+\f(CW\fB-f\fR\fR \- Don't try to force the fixed width of font. Normally the converter
+considers the fonts in which the glyph width deviates by not more
+than 5% as buggy fixed width fonts and forces them to have really
+fixed width. If this is undesirable, it can be disabled by this option.
+.PP
+The \f(CW.pfa\fR font format supposes that the description of the characters
+is binary encoded and encrypted. This converter does not encode or
+encrypt the data by default, you have to specify the option \*(L'\fB\-e\fR\*(R'
+or use the \f(CWt1asm\fR program to assemble (that means, encode and
+encrypt) the font program. The \f(CWt1asm\fR program that is included with
+the converter is actually a part of the \f(CWt1utils\fR package, rather old
+version of which may be obtained from
+.PP
+http://ttf2pt1.sourceforge.net/t1utils.tar.gz
+.PP
+Note that \f(CWt1asm\fR from the old version of that package won't work properly
+with the files generated by \f(CWttf2pt1\fR version 3.20 and later. Please use
+\f(CWt1asm\fR packaged with \f(CWttf2pt1\fR or from the new version \f(CWt1utils\fR
+instead. For a newer version of \f(CWt1utils\fR please look at
+.PP
+http://www.lcdf.org/~eddietwo/type/
+.SH "EXAMPLES"
+So, the following command lines:
+.PP
+\f(CWttf2pt1 -e ttffont.ttf t1font\fR
+.PP
+\f(CWttf2pt1 ttffont.ttf - | t1asm >t1font.pfa\fR
+.PP
+represent two ways to get a working font. The benefit of the second form
+is that other filters may be applied to the font between the converter
+and assembler.
+.SH "FILES"
+.Ip "\(bu" 2
+\s-1TTF2PT1_LIBXDIR/\s0t1asm
+.Ip "\(bu" 2
+\s-1TTF2PT1_SHAREDIR\s0/*
+.Ip "\(bu" 2
+\s-1TTF2PT1_SHAREDIR/\s0scripts/*
+.Ip "\(bu" 2
+\s-1TTF2PT1_SHAREDIR/\s0other/*
+.Ip "\(bu" 2
+\s-1TTF2PT1_SHAREDIR/README\s0
+.Ip "\(bu" 2
+\s-1TTF2PT1_SHAREDIR/FONTS\s0
+.SH "SEE ALSO"
+.Ip "\(bu" 4
+the \fIttf2pt1_convert(1)\fR manpage
+.Ip "\(bu" 4
+the \fIttf2pt1_x2gs(1)\fR manpage
+.Ip "\(bu" 4
+the \fIt1asm(1)\fR manpage
+.Ip "\(bu" 4
+ttf2pt1-announce@lists.sourceforge.net
+.Sp
+The mailing list with announcements about ttf2pt1. It is a moderated mailing
+with extremely low traffic. Everyone is encouraged to subscribe to keep in
+touch with the current status of project. To subscribe use the Web interface
+at http://lists.sourceforge.net/mailman/listinfo/ttf2pt1-announce.
+If you have only e-mail access to the Net then send a subscribe request to
+the development mailing list ttf2pt1-devel@lists.sourceforge.net and somebody
+will help you with subscription.
+.Ip "\(bu" 4
+ttf2pt1-devel@lists.sourceforge.net
+.Sp
+ttf2pt1-users@lists.sourceforge.net
+.Sp
+The ttf2pt1 mailing lists for development and users issues. They have not
+that much traffic either. To subscribe use the Web interface at
+http://lists.sourceforge.net/mailman/listinfo/ttf2pt1-devel
+and http://lists.sourceforge.net/mailman/listinfo/ttf2pt1-users.
+If you have only e-mail access to the Net then send a subscribe request to
+the development mailing list ttf2pt1-devel@lists.sourceforge.net and somebody
+will help you with subscription.
+.Ip "\(bu" 4
+http://ttf2pt1.sourceforge.net
+.Sp
+http://www.netspace.net.au/~mheath/ttf2pt1/
+.Sp
+The primary copies of the main page of the project.
+.SH "BUGS"
+It seems that many Eastern fonts use features of the TTF format that are
+not supported by the ttf2pt1's built-in front-end parser. Because of
+this for now we recommend using the FreeType-based parser (option
+\&\*(R'\fB\-p ft\fR') with the \*(L"\f(CWplane\fR\*(R" language.
+.Sh "Troubleshooting and bug reports"
+Have problems with conversion of some font ? The converter dumps core ? Or your
+printer refuses to understand the converted fonts ? Or some characters are
+missing ? Or some characters look strange ?
+.PP
+Send the bug reports to the ttf2pt1 development mailing list at
+ttf2pt1-devel@lists.sourceforge.net.
+.PP
+Try to collect more information about the problem and include it into
+the bug report. (Of course, even better if you would provide a ready
+fix, but just a detailed bug report is also good). Provide detailed
+information about your problem, this will speed up the response greatly.
+Don't just write \*(L"this font looks strange after conversion\*(R" but describe
+what's exactly wrong with it: for example, what characters look wrong
+and what exactly is wrong about their look. Providing a link to the
+original font file would be also a good idea. Try to do a little
+troublehooting and report its result. This not only would help with
+the fix but may also give you a temporary work-around for the bug.
+.PP
+First, enable full warnings with option \*(L'\fB\-W99\fR\*(R', save them to
+a file and read carefully. Sometimes the prolem is with a not implemented
+feature which is reported in the warnings. Still, reporting about such
+problems may be a good idea: some features were missed to cut corners,
+in hope that no real font is using them. So a report about a font using
+such a feature may motivate someone to implement it. Of course, you
+may be the most motivated person: after all, you are the one wishing
+to convert that font. ;\-) Seriously, the philosophy \*(L"scrath your own itch\*(R"
+seems to be the strongest moving force behind the Open Source software.
+.PP
+The next step is playing with the options. This serves a dual purpose:
+on one hand, it helps to localize the bug, on the other hand you may be
+able to get a working version of the font for the meantime while the
+bug is being fixed. The typical options to try out are: first \*(L'\fB\-Ou\fR\*(R', if
+it does not help then \*(L'\fB\-Os\fR\*(R', then \*(L'\fB\-Oh\fR\*(R', then \*(L'\fB\-Oo\fR\*(R'.
+They are described in a bit more detail above. Try them one by one
+and in combinations. See if with them the resulting fonts look better.
+.PP
+On some fonts ttf2pt1 just crashes. Commonly that happens because the
+font being converted is highly defective (although sometimes the bug
+is in ttf2pt1 itself). In any case it should not crash, so the reports
+about such cases will help to handle these defects properly in future.
+.PP
+We try to respond to the bug reports in a timely fashion but alas, this
+may not always be possible, especially if the problem is complex.
+This is a volunteer project and its resources are limited. Because
+of this we would appreciate bug reports as detailed as possible,
+and we would appreciate the ready fixes and contributions even more.
+.SH "HISTORY"
+Based on ttf2pfa by Andrew Weeks, and help from Frank Siegert.
+.PP
+Modification by Mark Heath.
+.PP
+Further modification by Sergey Babkin.
+.PP
+The Type1 assembler by I. Lee Hetherington with modifications by
+Kai-Uwe Herbing.
+
+.rn }` ''
+.IX Title "TTF2PT1 1"
+.IX Name "TTF2PT1 - A True Type to PostScript Type 1 Font Converter"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "OPTIONS"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Header "EXAMPLES"
+
+.IX Header "FILES"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Header "SEE ALSO"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
+.IX Header "BUGS"
+
+.IX Subsection "Troubleshooting and bug reports"
+
+.IX Header "HISTORY"
+
diff --git a/Master/texmf/doc/man/man1/ttf2tfm.1 b/Master/texmf/doc/man/man1/ttf2tfm.1
new file mode 100644
index 00000000000..a1edc31eaae
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ttf2tfm.1
@@ -0,0 +1,1182 @@
+.\" man page for ttf2tfm
+.
+.TH TTF2TFM 1 10-Jan-2002 "FreeType version 1.5"
+.SH NAME
+ttf2tfm \- build TeX metric files from a TrueType font
+.SH SYNOPSIS
+.na
+.nh
+.B ttf2tfm
+'in +\n(.ku
+.IR ttffile [ .ttf | .ttc ]
+[\c
+.BI \-c \ \%caps-height-factor\c
+]
+[\c
+.BI \-e \ \%extension-factor\c
+]
+[\c
+.BI \-E \ \%encoding-id\^\c
+]
+[\c
+.BI \-f \ \%font-index\c
+]
+[\c
+.B \-l\c
+]
+[\c
+.B \-L\ \c
+.IR \%ligature-file [ .sfd ]\c
+]
+[\c
+.B \-n\c
+]
+[\c
+.B \-N\c
+]
+[\c
+.B \-O\c
+]
+[\c
+.B \-p\ \c
+.IR \%inencfile [ .enc ]\c
+]
+[\c
+.BI \-P \ \%platform-id\^\c
+]
+[\c
+.B \-q\c
+]
+[\c
+.BI \-r \ \%old-glyphname\ \%new-glyphname\c
+]
+[\c
+.B \-R\ \c
+.IR \%replacement-file [ .rpl ]\c
+]
+[\c
+.BI \-s \ \%slant-factor\c
+]
+[\c
+.B \-t\ \c
+.IR \%outencfile [ .enc ]\c
+]
+[\c
+.B \-T\ \c
+.IR \%inoutencfile [ .enc ]\c
+]
+[\c
+.B \-u\c
+]
+[\c
+.B \-v\ \c
+.IR \%vplfile [ .vpl ]\c
+]
+[\c
+.B \-V\ \c
+.IR \%scvplfile [ .vpl ]\c
+]
+[\c
+.B \-w\c
+]
+[\c
+.B \-x\c
+]
+[\c
+.BI \-y \ \%vertical-shift-factor\c
+]
+[\c
+.IR \%tfmfile [ .tfm ]\c
+]
+.br
+.in
+.B "ttf2tfm \-\^\-version"
+|
+.B \-\^\-help
+.ad
+.hy
+.
+.
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX L\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\*(TX
+.el .ds LX L\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2\fC\\$3\fP\\$4
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2\\$3\\$4
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH DESCRIPTION
+This program extracts the metric and kerning information of a TrueType
+font and converts it into metric files usable by \*(TX
+(quite similar to
+.B afm2tfm
+which is part of the
+.B dvips
+package; please consult its info files for more details on the various
+parameters (especially encoding files).
+.PP
+Since a TrueType font often contains more than 256\ glyphs, some means
+are necessary to map a subset of the TrueType glyphs onto a \*(TX
+font.
+To do this, two mapping tables are needed: the first (called `input' or
+`raw' encoding) maps the TrueType font to a raw \*(TX font (this mapping
+table is used by both
+.B ttf2tfm
+and
+.BR ttf2pk ),
+and the second (called `output' or `virtual' encoding) maps the raw \*(TX
+font to another (virtual) \*(TX
+font, providing all kerning and ligature information needed by \*(TX.
+.PP
+This two stage mapping has the advantage that one raw font can be
+accessed with various \*(LX
+encodings (e.g.\ T1 and OT1) via the virtual font mechanism, and just
+one
+.C PK
+file is necessary.
+.PP
+For CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts, a different
+mechanism is provided (see
+.B "SUBFONT DEFINITION FILES"
+below).
+.
+.
+.SH PARAMETERS
+Most of the command line switch names are the same as in
+.B afm2tfm
+for convenience.
+One or more space characters between an option and its value is mandatory;
+options can't be concatenated.
+For historical reasons, the first parameter can
+.I not
+be a switch but must be the font name.
+.TP
+.BI \-c \ caps-height-factor
+The height of small caps made with the
+.B \-V
+switch.
+Default value of this real number is\ 0.8 times the height of uppercase
+glyphs.
+.IP
+Will be ignored in subfont mode.
+.TP
+.BI \-e \ extension-factor
+The extension factor to stretch the characters horizontally.
+Default value of this real number is\ 1.0; if less than\ 1.0, you get a
+condensed font.
+.TP
+.BI \-E \ encoding-id
+The TrueType encoding ID.
+Default value of this non-negative integer is\ 1.
+.IP
+Will be ignored if
+.B \-N
+is used.
+.TP
+.BI \-f \ font-index
+The font index in a TrueType Collection.
+Default is the first font (index\ 0).
+[TrueType collections are usually found in some CJK fonts; e.g.\ the first
+font index specifies glyphs and metrics for horizontal writing, and the
+second font index does the same for vertical writing.
+TrueType collections usually have the extension `\c
+.C \&.ttc '.]
+.IP
+Will be ignored for ordinary TrueType fonts.
+.TP
+.B \-l
+Create ligatures in subfonts between first and second bytes of all the
+original character codes.
+Example: Character code\ 0xABCD maps to character position\ 123 in
+subfont\ 45.
+Then a ligature in subfont\ 45 between position 0xAB and\ 0xCD pointing
+to character\ 123 will be produced.
+The fonts of the Korean H\*(LX
+package use this feature.
+Note that this option generates correct ligatures only for TrueType fonts
+where the input cmap is identical to the output encoding.
+In case of H\*(LX, TTFs must have platform ID\ 3 and encoding ID\ 5.
+.IP
+Will be ignored if not in subfont mode.
+.TP
+.BI \-L \ ligature-file
+Same as
+.BR \-l ,
+but character codes for ligatures are specified in
+.IR \%ligature-file .
+For example, `\c
+.C \-L\ \%KS-HLaTeX '
+generates correct ligatures for the Korean H\*(LX
+package regardless of the platform and encoding ID of the used TrueType
+font (the file
+.C KS-HLaTeX.sfd
+is part of the ttf2pk package).
+.IP
+Ligature files have the same format and extension as
+.C SFD
+files.
+This option will be ignored if not in subfont mode.
+.TP
+.B \-n
+Use PS names (of glyphs) of the TrueType font.
+Only glyphs with a valid entry in the selected cmap are used.
+.IP
+Will be ignored in subfont mode.
+.TP
+.B \-N
+Use only PS names of the TrueType font.
+No cmap is used, thus the switches
+.B \-E
+and
+.B \-P
+have no effect, causing a warning message.
+.IP
+Will be ignored in subfont mode.
+.TP
+.B \-O
+Use octal values for all character codes in the
+.C VPL
+file rather than names; this is useful for symbol or CJK fonts where
+character names such as `A' are meaningless.
+.TP
+.BI \-p \ inencfile
+The input encoding file name for the TTF\(->raw\ \*(TX
+mapping.
+This parameter has to be specified in a map file
+(default:
+.C \%ttfonts.map )
+recorded in
+.C \%ttf2pk.cfg
+for successive
+.B ttf2pk
+calls.
+.IP
+Will be ignored in subfont mode.
+.TP
+.BI \-P \ platform-id
+The TrueType platform ID.
+Default value of this non-negative integer is\ 3.
+.IP
+Will be ignored if
+.B \-N
+is used.
+.TP
+.B \-q
+Make
+.B ttf2tfm
+quiet.
+It suppresses any informational output except warning and error
+messages.
+For CJK fonts, the output can get quite large if you don't specify
+this switch.
+.TP
+.BI \-r \ old-glyphname\ new-glyphname
+Replaces
+.I \%old-glyphname
+with
+.IR \%new-glyphname .
+This switch is useful if you want to give an unnamed glyph (i.e., a glyph
+which can be represented with `.gXXX' or `.cXXX' only) a name or if you want
+to rename an already existing glyph name.
+You can't use the `.gXXX' or `.cXXX' glyph name constructs for
+.IR \%new-glyphname ;
+multiple occurrences of
+.B \-r
+are possible.
+.IP
+If in subfont mode or if no encoding file is specified, this switch is
+ignored.
+.TP
+.BI \-R \ replacement-file
+Use this switch if you have many replacement pairs; they can be collected
+in a file which should have `\c
+.C \&.rpl '
+as extension.
+The syntax used in such replacement files is simple: Each non-empty
+line must contain a pair `\c
+.IR "\%old-glyphname \%new-glyphname" '
+separated by whitespace (without the quotation marks).
+A percent sign starts a line comment; you can continue a line on the next
+line with a backslash as the last character.
+.IP
+If in subfont mode or if no encoding file is specified, this switch is
+ignored.
+.TP
+.BI \-s \ slant-factor
+The obliqueness factor to slant the font, usually much smaller than\ 1.
+Default of this real number is\ 0.0; if the value is larger than zero,
+the characters slope to the right, otherwise to the left.
+.TP
+.BI \-t \ outencfile
+The output encoding file name for the virtual font(s).
+Only characters in the raw \*(TX
+font are used.
+.IP
+Will be ignored in subfont mode.
+.TP
+.BI \-T \ inoutencfile
+This is equivalent to
+.RB ` \-p
+.I inoutencfile
+.B \-t
+.IR inoutencfile '.
+.IP
+Will be ignored in subfont mode.
+.TP
+.B \-u
+Use only those characters specified in the output encoding, and no
+others.
+By default,
+.B ttf2tfm
+tries to include all characters in the virtual font, even those not
+present in the encoding for the virtual font (it puts them into
+otherwise-unused positions, rather arbitrarily).
+.IP
+Will be ignored in subfont mode.
+.TP
+.BI \-v \ vplfile
+Output a
+.C VPL
+file in addition to the
+.C TFM
+file.
+If no output encoding file is specified,
+.B ttf2tfm
+uses a default font encoding (cmtt10).
+.B Note:
+Be careful to use different names for the virtual font and the raw font!
+.IP
+Will be ignored in subfont mode.
+.TP
+.BI \-V \ scvplfile
+Same as
+.BR \-v ,
+but the virtual font generated is a pseudo small caps font obtained by
+scaling uppercase letters by\ 0.8 (resp. the value specified with
+.BR \-c )
+to typeset lowercase.
+This font handles accented letters and retains proper kerning.
+.IP
+Will be ignored in subfont mode.
+.TP
+.B \-w
+Generate PostScript encoding vectors containing glyph indices, primarily
+used to embed TrueType fonts in pdf\*(TX.
+.B ttf2tfm
+takes the
+.C TFM
+names and replaces the suffix with
+.C \&.enc ;
+that is, for files
+.C foo01.tfm ,
+.C foo02.tfm ,\ \&.\|.\|.\&
+it creates
+.C foo01.enc ,
+.C foo02.enc ,\ \&.\|.\|.\|\&
+at the same place.
+.IP
+Will be ignored if not in subfont mode.
+.TP
+.B \-x
+Rotate all glyphs by 90 degrees counter-clockwise.
+If no
+.B \-y
+parameter is given, the rotated glyphs are shifted down vertically
+by\ 0.25em.
+.IP
+Will be ignored if not in subfont mode.
+.TP
+.BI \-y \ vertical-shift-factor
+Shift down rotated glyphs by the given amount (the unit is
+.IR em ).
+.IP
+Ignored if not in subfont mode or glyphs are not rotated.
+.TP
+.B \-\^\-version
+Shows the current version of
+.B ttf2tfm
+and the used file search library (e.g.
+.BR kpathsea ).
+.TP
+.B \-\^\-help
+Shows usage information.
+.PP
+If no
+.C TFM
+file name is given, the name of the
+.C TTF
+file is used, including the full path and replacing the extension with `\c
+.C \&.tfm '.
+.
+.
+.SH CMAPS
+Contrary to Type\ 1 PostScript fonts (but similar to the new CID
+PostScript font format), most TrueType fonts have more than one native
+mapping table, also called `cmap', which maps the (internal) TTF glyph
+indices to the (external) TTF character codes.
+Common examples are a mapping table to Unicode encoded character
+positions, and the standard Macintosh mapping.
+
+To specify a TrueType mapping table, use the options
+.B \-P
+and
+.BR \-E .
+With
+.B \-P
+you specify the platform ID; defined values are:
+.PP
+.in +4m
+.ta 3iC
+.I "platform platform ID (pid)"
+.sp
+.ta 3iR
+Apple Unicode 0
+.br
+Macintosh 1
+.br
+ISO 2
+.br
+Microsoft 3
+.PP
+The encoding ID depends on the platform.
+For pid=0, we ignore the
+.B \-E
+parameter (setting it to zero) since the mapping table is always
+Unicode version\ 2.0.
+For pid=1, the following table lists the defined values:
+.PP
+.in +4m
+.ta 3iC
+.ti -2m
+platform ID = 1
+.sp
+.I "script encoding ID (eid)"
+.sp
+.ta 3iR
+Roman 0
+.br
+Japanese 1
+.br
+Chinese 2
+.br
+Korean 3
+.br
+Arabic 4
+.br
+Hebrew 5
+.br
+Greek 6
+.br
+Russian 7
+.br
+Roman Symbol 8
+.br
+Devanagari 9
+.br
+Gurmukhi 10
+.br
+Gujarati 11
+.br
+Oriya 12
+.br
+Bengali 13
+.br
+Tamil 14
+.br
+Telugu 15
+.br
+Kannada 16
+.br
+Malayalam 17
+.br
+Sinhalese 18
+.br
+Burmese 19
+.br
+Khmer 20
+.br
+Thai 21
+.br
+Laotian 22
+.br
+Georgian 23
+.br
+Armenian 24
+.br
+Maldivian 25
+.br
+Tibetan 26
+.br
+Mongolian 27
+.br
+Geez 28
+.br
+Slavic 29
+.br
+Vietnamese 30
+.br
+Sindhi 31
+.br
+Uninterpreted 32
+.PP
+Here are the ISO encoding IDs:
+.PP
+.in +4m
+.ta 3iC
+.ti -2m
+platform ID = 2
+.sp
+.I "encoding encoding ID (eid)"
+.sp
+.ta 3iR
+ASCII 0
+.br
+ISO 10646 1
+.br
+ISO 8859-1 2
+.PP
+And finally, the Microsoft encoding IDs:
+.PP
+.in +4m
+.ta 3iC
+.ti -2m
+platform ID = 3
+.sp
+.I "encoding encoding ID (eid)"
+.sp
+.ta 3iR
+Symbol 0
+.br
+Unicode 2.0 1
+.br
+Shift JIS 2
+.br
+GB 2312 (1980) 3
+.br
+Big 5 4
+.br
+KS X 1001 (Wansung) 5
+.br
+KS X 1001 (Johab) 6
+.br
+UCS-4 10
+.PP
+The program will abort if you specify an invalid platform/encoding ID
+pair.
+It will then show the possible pid/eid pairs.
+Please note that most fonts have at most two or three cmaps, usually
+corresponding to the pid/eid pairs (1,0), (3,0), or (3,1) in case of
+Latin based fonts.
+Valid Microsoft fonts should have a (3,1) mapping table, but some
+fonts exist (mostly Asian fonts) which have a (3,1) cmap not encoded
+in Unicode.
+The reason for this strange behavior is the fact that some old
+MS\ Windows versions will reject fonts having a non-(3,1) cmap (since
+all non-Unicode Microsoft encoding IDs are for Asian MS\ Windows
+versions).
+.PP
+The
+.B \-P
+and
+.B \-E
+options of
+.B ttf2tfm
+must be equally specified for
+.BR ttf2pk ;
+the corresponding parameters in a map file are `Pid' and `Eid',
+respectively.
+.PP
+The default pid/eid pair is (3,1).
+.PP
+Similarly, an
+.B \-f
+option must be specified as `Fontindex' parameter in a map file.
+.PP
+If you use the
+.B \-N
+switch, all cmaps are ignored, using only the PostScript names in the
+TrueType font.
+The corresponding option in a map file is \%`PS=Only'.
+If you use the
+.B \-n
+switch, the default glyph names built into
+.B ttf2tfm
+are replaced with the PS glyph names found in the font.
+In many cases this is not what you want because the glyph names in the
+font are often incorrect or non-standard.
+The corresponding option in a map file is \%`PS=Yes'.
+.PP
+Single replacement glyph names specified with
+.B \-r
+must be given directly as `\c
+.IR "old-glyphname new-glyphname" '
+in a map file;
+.B \-R
+is equivalent to the `Replacement' option.
+.
+.
+.SH INPUT AND OUTPUT ENCODINGS
+You must specify the encoding vectors from the TrueType font to the
+raw \*(TX
+font and from the raw \*(TX
+font to the virtual \*(TX
+font exactly as with
+.BR afm2tfm ,
+but you have more possibilities to address the character codes.
+[With `encoding vector' a mapping table with 256\ entries in form of a
+PostScript vector is meant; see the file
+.C \%T1-WGL4.enc
+of this package for an example.]
+With
+.BR afm2tfm ,
+you must access each glyph with its Adobe glyph name, e.g.\ \c
+\%`/quotedsingle' or \%`/Acircumflex'.
+This has been extended with
+.BR ttf2tfm ;
+now you can (and sometimes must) access the code points and/or glyphs
+directly, using the following syntax for specifying the character position
+in decimal, octal, or hexadecimal notation:
+`/.c\c
+.IR <decimal-number> ',
+`/.c0\c
+.IR <octal-number> ',
+or `/.c0x\c
+.IR <hexadecimal-number> '.
+Examples: \%`/.c72', \%`/.c0646', \%`/.c0x48'.
+To access a glyph index directly, use the character `g' instead of `c' in
+the just introduced notation.
+Example: \%`/.g0x32'.
+[Note: The `.cXXX' notation makes no sense if
+.B \-N
+is used.]
+.PP
+For pid/eid pairs (1,0) and (3,1), both
+.B ttf2tfm
+and
+.B ttf2pk
+recognize built-in default Adobe glyph names; the former follows the names
+given in Appendix\ E of the book `Inside Macintosh', volume\ 6, the latter
+uses the names given in the TrueType Specification (WGL4, a Unicode subset).
+Note that Adobe names for a given glyph are often not unique and do
+sometimes differ, e.g., many PS fonts have the glyph `mu', whereas this
+glyph is called `mu1' in the WGL4 character set to distinguish it from the
+real Greek letter mu.
+Be also aware that OpenType (i.e. TrueType\ 2.0) fonts use an updated WGL4
+table; we use the data from the latest published TrueType specification
+(1.66).
+You can find those mapping tables in the source code file
+.C \%ttfenc.c .
+.PP
+On the other hand, the switches
+.B \-n
+and
+.B \-N
+makes
+.B ttf2tfm
+read in and use the PostScript names in the TrueType font itself (stored
+in the `post' table) instead of the default Adobe glyph names.
+.PP
+Use the
+.B \-r
+switch to remap single glyph names and
+.B \-R
+to specify a file containing replacement glyph name pairs.
+.PP
+If you don't select an input encoding, the first 256\ glyphs of the
+TrueType font with a valid entry in the selected cmap will be mapped
+to the \*(TX
+raw font (without the
+.B \-q
+option,
+.B ttf2tfm
+prints this mapping table to standard output), followed by all glyphs
+not yet addressed in the selected cmap.
+However, some code points for the (1,0) pid/eid pair are omitted since
+they do not represent glyphs useful for \*(TX:
+0x00 (null), 0x08 (backspace), 0x09 (horizontal tabulation), 0x0d
+(carriage return), and 0x1d (group separator).
+The `invalid character' with glyph index\ 0 will be omitted too.
+.PP
+If you select the
+.B \-N
+switch, the first 256\ glyphs of the TrueType font with a valid PostScript
+name will be used in case no input encoding is specified.
+Again, some glyphs are omitted: `.notdef', `.null', and
+`nonmarkingreturn'.
+.PP
+If you don't select an output encoding,
+.B ttf2tfm
+uses the same mapping table as
+.B afm2tfm
+would use (you can find it in the source code file
+.C \%texenc.c );
+it corresponds to \*(TX
+typewriter text.
+Unused positions (either caused by empty code points in the mapping
+table or missing glyphs in the TrueType font) will be filled (rather
+arbitrarily) with characters present in the input encoding but not
+specified in the output encoding (without the
+.B \-q
+option
+.B ttf2tfm
+prints the final output encoding to standard output).
+Use the
+.B \-u
+option if you want only glyphs in the virtual font which are defined
+in the output encoding file, and nothing more.
+.PP
+One feature missing in
+.B afm2tfm
+has been added which is needed by \*(LX's T1 encoding:
+.B ttf2tfm
+will construct the glyph `Germandbls' (by simply concatenating two `S'
+glyphs) even for normal fonts if possible.
+It appears in the glyph list as the last item, marked with an asterisk.
+Since this isn't a real glyph it will be available only in the virtual
+font.
+.PP
+For both input and output encoding, an empty code position is
+represented by the glyph name \%`/.notdef'.
+.PP
+In encoding files, you can use `\\' as the final character of a line to
+indicate that the input is continued on the next line.
+The backslash and the following newline character will be removed.
+.PP
+.
+.
+.SH SUBFONT DEFINITION FILES
+CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts usually contain
+several thousand glyphs; to use them with \*(TX
+it is necessary to split such large fonts into subfonts.
+Subfont definition files (usually having the extension `\c
+.C \&.sfd ')
+are a simple means to do this smoothly.
+.PP
+A subfont file name usually consists of a prefix, a subfont infix, and
+a postfix (which is empty in most cases), e.g.
+.PP
+.in +2m
+ntukai23 \(-> prefix: ntukai, infix: 23, postfix: (empty)
+.PP
+Here the syntax of a line in an
+.C SFD
+file, describing one subfont:
+.in +2m
+.TP
+.I <whitespace> <infix> <whitespace> <ranges> <whitespace>
+.sp
+.TP
+.IR <infix> \ :=
+anything except whitespace.
+It is best to use only alphanumerical characters.
+.TP
+.IR <whitespace> \ :=
+space, formfeed, carriage return, horizontal and vertical tabs -- no
+newline characters.
+.TP
+.IR <ranges> \ :=
+.IR "<ranges> <whitespace> <codepoint>" \ |
+.br
+.IR "<ranges> <whitespace> <range>" \ |
+.br
+.I <ranges> <whitespace> <offset> <whitespace> <range>
+.TP
+.IR <codepoint> \ :=
+.I <number>
+.br
+.TP
+.IR <range> \ :=
+.IR <number> \ `_' \ <number>
+.br
+.TP
+.IR <offset> \ :=
+.IR <number> \ `:'
+.TP
+.IR <number> \ :=
+hexadecimal (prefix `0x'), decimal, or octal (prefix `0')
+.PP
+A line can be continued on the next line with a backslash ending the line.
+The ranges must not overlap; offsets have to be in the range 0-255.
+.PP
+Example:
+.PP
+.in +2m
+The line
+.PP
+.in +4m
+.C "03 10: 0x2349 0x2345_0x2347"
+.PP
+.in +2m
+assigns to the code positions 10, 11, 12, and\ 13 of the subfont
+having the infix `03' the character codes 0x2349, 0x2345, 0x2346, and
+0x2347 respectively.
+.PP
+The
+.C SFD
+files in the distribution are customized for the CJK package for
+\*(LX.
+.PP
+You have to embed the
+.C SFD
+file name into the
+.C TFM
+font name (at the place where the infix will appear) surrounded by two
+`@' signs, on the command line resp.\ a map file;
+both
+.B ttf2tfm
+and
+.B ttf2pk
+switch then to subfont mode.
+.PP
+It is possible to use more than a single
+.C SFD
+file by separating them with commata and no whitespace; for a given
+subfont, the first file is scanned for an entry, then the next file,
+and so on.
+Later entries override entries found earlier (possibly only partially).
+For example, the first
+.C SFD
+file sets up range 0x10-0xA0, and the next one modifies entries
+0x12 and 0x25.
+As can be easily seen, this algorithm allows for adding and replacing,
+but not for removing entries.
+.PP
+Subfont mode disables the options
+.BR \-n , \ \-N , \ \-p ,
+.BR \-r , \ \-R , \ \-t ,
+.BR \-T , \ \-u , \ \-v , \ \-V
+and
+.B \-w
+for
+.BR ttf2tfm ;
+similarly, no `Encoding' or `Replacement' parameter is allowed in
+a map file.
+Single replacement glyph names are ignored too.
+.PP
+.B ttf2tfm
+will create all subfont
+.C TFM
+files specified in the
+.C SFD
+files (provided the subfont contains glyphs) in one run.
+.PP
+Example:
+.PP
+.in +2m
+The call
+.PP
+.in +4m
+.C "ttf2tfm ntukai.ttf ntukai@Big5,Big5-supp@"
+.PP
+.in +2m
+will use
+.C Big5.sfd
+and
+.C Big5-supp.sfd ,
+producing
+.I all
+subfont files
+.C ntukai01.tfm ,
+.C ntukai02.tfm ,
+etc.
+.
+.
+.SH "RETURN VALUE"
+ttf2tfm returns 0 on success and 1 on error; warning and error
+messages are written to standard error.
+.
+.
+.SH "SOME NOTES ON FILE SEARCHING"
+Both
+.B ttf2pk
+and
+.B ttf2tfm
+use either the
+.BR kpathsea ,
+.BR emtexdir ,
+or
+.B MiK\*(TX
+library for searching files
+.RB ( emtexdir
+will work only on operating systems which have an MS-DOSish background, i.e.
+MS-DOS, OS/2, Windows;
+.B Mik\*(TX
+is specific to MS Windows).
+.PP
+As a last resort, both programs can be compiled without a search library;
+the searched files must be then in the current directory or specified with a
+path.
+Default extensions will be appended also (with the exception that only `\c
+.C \&.ttf '
+is appended and not `\c
+.C \&.ttc ').
+.
+.
+.SS kpathsea
+Please note that older versions of
+.B kpathsea
+(<3.2) have no special means to seach for TrueType fonts and related
+files, thus we use the paths for PostScript related stuff.
+The actual version of kpathsea is displayed on screen if you call
+either
+.B ttf2pk
+or
+.B ttf2tfm
+with the
+.B \-\^\-version
+command line switch.
+.PP
+Here is a table of the file type and the corresponding
+.B kpathsea
+variables.
+.C TTF2PKINPUTS
+and
+.C TTF2TFMINPUTS
+are program specific environment variables introduced in
+.B kpathsea
+version\ 3.2:
+.PP
+.in +4m
+.ta 2i
+.C \&.ttf \ and "\ .ttc TTFONTS"
+.br
+.C "ttf2pk.cfg TTF2PKINPUTS"
+.br
+.C "\&.map TTF2PKINPUTS"
+.br
+.C "\&.enc TTF2PKINPUTS, TTF2TFMINPUTS"
+.br
+.C "\&.rpl TTF2PKINPUTS, TTF2TFMINPUTS"
+.br
+.C "\&.tfm TFMFONTS"
+.br
+.C "\&.sfd TTF2PKINPUTS, TTF2TFMINPUTS"
+.PP
+And here the same for pre-3.2-versions of
+.B kpathsea:
+.PP
+.in +4m
+.ta 2i
+.C \&.ttf \ and "\ .ttc T1FONTS"
+.br
+.C "ttf2pk.cfg TEXCONFIG"
+.br
+.C "\&.map TEXCONFIG"
+.br
+.C "\&.enc TEXPSHEADERS"
+.br
+.C "\&.rpl TEXPSHEADERS"
+.br
+.C "\&.tfm TFMFONTS"
+.br
+.C "\&.sfd TEXPSHEADERS"
+.PP
+Finally, the same for pre-3.0-versions (as used e.g. in te\*(TX\ 0.4):
+.PP
+.in +4m
+.ta 2i
+.C \&.ttf \ and "\ .ttc DVIPSHEADERS"
+.br
+.C "ttf2pk.cfg TEXCONFIG"
+.br
+.C "\&.map TEXCONFIG"
+.br
+.C "\&.enc DVIPSHEADERS"
+.br
+.C "\&.rpl DVIPSHEADERS"
+.br
+.C "\&.tfm TFMFONTS"
+.br
+.C "\&.sfd DVIPSHEADERS"
+.PP
+Please consult the info files of
+.B kpathsea
+for details on these variables.
+The decision whether to use the old or the new scheme will be done
+during compilation.
+.PP
+You should set the
+.C TEXMFCNF
+variable to the directory where your
+.C texmf.cnf
+configuration file resides.
+.PP
+Here is the proper command to find out to which value a
+.B kpathsea
+variable is set (we use
+.C TTFONTS
+as an example).
+This is especially useful if a variable isn't set in
+.C texmf.cnf
+or in the environment, thus pointing to the default value which is
+hard-coded into the
+.B kpathsea
+library.
+.PP
+.in +2m
+.C "kpsewhich -progname=ttf2tfm -expand-var='$TTFONTS'"
+.PP
+We select the program name also since it is possible to specify
+variables which are searched only for a certain program -- in our
+example it would be
+.C TTFONTS.ttf2tfm .
+.PP
+A similar but not identical method is to say
+.PP
+.in +2m
+.C "kpsewhich -progname=ttf2tfm -show-path='truetype fonts'"
+.PP
+[A full list of format types can be obtained by saying `\c
+.C "kpsewhich --help" '
+on the command line prompt.]
+This is exactly how
+.B ttf2tfm
+(and
+.BR ttf2pk )
+searches for files; the disadvantage is that all variables are expanded
+which can cause very long strings.
+.
+.
+.SS emtexdir
+Here the list of suffixes and their related environment variables to be
+set in
+.C autoexec.bat
+(resp. in
+.C config.sys
+for OS/2):
+.PP
+.in +4m
+.ta 2i
+.C \&.ttf \ and "\ .ttc TTFONTS"
+.br
+.C "ttf2pk.cfg TTFCFG"
+.br
+.C "\&.map TTFCFG"
+.br
+.C "\&.enc TTFCFG"
+.br
+.C "\&.rpl TTFCFG"
+.br
+.C "\&.tfm TEXTFM"
+.br
+.C "\&.sfd TTFCFG"
+.PP
+If one of the variables isn't set, a warning message is emitted.
+The current directory will always be searched.
+As usual, one exclamation mark appended to a directory path causes
+subdirectories one level deep to be searched, two exclamation marks cause
+all subdirectories to be searched.
+Example:
+.PP
+.in +2m
+.C TTFONTS=c:\\\\fonts\\\\truetype!!;d:\\\\myfonts\\\\truetype!
+.PP
+Constructions like `\c
+.C c:\\\\fonts!!\\\\truetype '
+aren't possible.
+.
+.
+.SS MiK\*(TX
+Both
+.B ttf2tfm
+and
+.B ttf2pk
+have been fully integrated into
+.BR MiK\*(TX .
+Please refer to the documentation of
+.B MiK\*(TX
+for more details on file searching.
+.
+.
+.SH PROBLEMS
+Many
+.B vptovf
+implementations allow only 100\ bytes for the
+.C TFM
+header (the limit is 1024 in the
+.C TFM
+file format itself): 8\ bytes for checksum and design size, 40\ bytes for the
+family name, 20\ bytes for the encoding, and 4\ bytes for a face byte.
+There remain only 28\ bytes for some additional information which is used by
+.B ttf2tfm
+for an identification string (which is essentially a copy of the command
+line), and this limit is always exceeded.
+
+The optimal solution is to increase the value of
+.I \%max_header_bytes
+in the file
+.C vptovf.web
+(and probably
+.C pltotf.web
+too) to, say,\ 400
+and recompile
+.B vptovf
+(and
+.BR pltotf ).
+Otherwise you'll get some (harmless) error messages like
+.PP
+.in +2m
+.C "This HEADER index is too big for my present table size"
+.PP
+which can be safely ignored.
+.
+.
+.SH "SEE ALSO"
+.BR ttf2pk (1),
+.BR afm2tfm (1),
+.BR vptovf (1),
+.br
+the info pages for
+.B dvips
+and
+.B kpathsea
+.
+.
+.SH AVAILABILITY
+.B ttf2tfm
+is part of the FreeType\ 1 package, a high quality TrueType rendering
+library.
+.
+.
+.SH AUTHORS
+Werner LEMBERG
+.C <wl@gnu.org>
+.br
+Fr\('ed\('eric LOYER
+.C <loyer@ensta.fr>
diff --git a/Master/texmf/doc/man/man1/ttfdump.1 b/Master/texmf/doc/man/man1/ttfdump.1
new file mode 100644
index 00000000000..e3916ecb211
--- /dev/null
+++ b/Master/texmf/doc/man/man1/ttfdump.1
@@ -0,0 +1,124 @@
+.TH TTFDUMP 1 "18 Feb 1997" "ILX Project"
+.SH NAME
+ttfdump \- Dumping the contents of a TrueType Font file
+.SH SYNOPSIS
+\fBttfdump\fR [-h] [-t \fItablename\fP] [-g \fIglyphnumber\fP] [-c \fIcollection\fP] [-i] \fIttfile\fR [-o \fIdumpfile\fR]
+.SH DESCRIPTION
+\fBttfdump\fP dumps the contents of a TrueType font file in ASCII form.
+A TrueType font file is consist of various tables. Those table are divided into
+two categories - \fIRequired Tables\fP and \fIOptional Tables\fP. Mulitiple
+TrueType fonts and be merged to a TrueType Collection.
+.SS Options
+.TP
+\fB-h\fP
+Print a help message on standard output and exit.
+.TP
+\fB-t\fI tablename\fR
+If this option is specified then dump the table \fI"tablename"\fP, otherwise
+dump every tables in \fIttfile\fP.
+\fITablename\fP can be one of the following:
+.RS
+.TP
+\fBRequired Tables\fR
+.TP
+\fIcmap\fP
+character to glhph mapping table
+.TP
+\fIglyf\fP
+glyph data
+.TP
+\fIhead\fP
+font header
+.TP
+\fIhhea\fP
+horizontal header
+.TP
+\fIhmtx\fP
+horizontal metrics
+.TP
+\fIloca\fP
+index to location
+.TP
+\fImaxp\fP
+maximum profile
+.TP
+\fIname\fP
+naming table
+.TP
+\fIpost\fP
+PostScript information
+.TP
+\fIOS/2\fP
+OS/2 and windows specific metrics
+.TP
+\fBOptional Tables\fR
+.TP
+\fIcvt\fP
+control value table
+.TP
+\fIfpgm\fP
+font program; \fInot implemented yet.\fP
+.TP
+\fIgasp\fP
+grid-fitting and scan conversion procedure (grayscale)
+.TP
+\fIhdmx\fP
+horizontal device metrics
+.TP
+\fIkern\fP
+kerning table
+.TP
+\fILTSH\fP
+Linear threshold table
+.TP
+\fIprep\fP
+CVT program; \fInot implemented yet\fP
+.TP
+\fIPCLT\fP
+PCL5 table
+.TP
+\fIVDMX\fP
+Vertical Device Metrics table
+.TP
+\fIvhea\fP
+vertical metrics header
+.TP
+\fIvmtx\fP
+vertical metrics
+.RE
+.TP
+\fB-g\fI glyphnumber\fR
+If this option is specified then dump the glyph with index \fIglyphnumber\fP,
+otherwise dump all glyphs in \fIttfile\fP.
+.TP
+\fB-c\fI collection\fR
+Select a TrueType font in a TrueType Collection.
+.TP
+\fB-i\fI ttfile\fR
+TrueType font file to be dumped.
+.TP
+\fB-o\fI dumpfile\fR
+Output of the dump. If this option is not specified, dump to stdout.
+.RE
+.SH EXAMPLE
+To dump all information in the TrueType font file times.ttf:
+.RS
+ttfdump times.ttf
+.RE
+
+To dump the required table \fIcmap\fP in the file:
+.RS
+ttfdump -t cmap times.ttf
+.RE
+
+To dump a single glyph with index 50:
+.RS
+ttfdump -g 50 times.ttf
+.RE
+
+.SH SEE ALSO
+TrueType 1.0 Font Files, \fI Technical Specification Revision 1.66 November 1995\fR
+.SH NOTE
+Instruction disassembler in not implemented.
+.SH AOTHOR
+Li-Da Lho, ollie@ms1.hinet.net
diff --git a/Master/texmf/doc/man/man1/updmap-sys.1 b/Master/texmf/doc/man/man1/updmap-sys.1
new file mode 120000
index 00000000000..60ebe4f8025
--- /dev/null
+++ b/Master/texmf/doc/man/man1/updmap-sys.1
@@ -0,0 +1 @@
+updmap.1 \ No newline at end of file
diff --git a/Master/texmf/doc/man/man1/updmap.1 b/Master/texmf/doc/man/man1/updmap.1
new file mode 100644
index 00000000000..7ee7cbdf77f
--- /dev/null
+++ b/Master/texmf/doc/man/man1/updmap.1
@@ -0,0 +1,260 @@
+.TH "updmap" "1" "February 2005" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+updmap \- Update font map files for TeX output drivers\&.
+.PP
+updmap-sys \- Update font map files for TeX output drivers system\-wide\&.
+.PP
+.SH "SYNOPSIS"
+.PP
+\fBupdmap\fP [ \fIOPTION\fP \&.\&.\&. ] [
+\fICOMMAND\fP \&.\&.\&. ]
+.PP
+\fBupdmap-sys\fP [ \fIOPTION\fP \&.\&.\&. ] [
+\fICOMMAND\fP \&.\&.\&. ]
+.PP
+.SH "DESCRIPTION"
+.PP
+\fBupdmap\fP is a utility that creates font configuration files for
+\fBdvips\fP(1), \fBpdftex\fP(1), \fBxdvi\fP(1),
+\fBps2pk\fP(1), \fBgsftopk\fP(1), \fBdvipdfm\fP(1) and (soon) \fBdvipdfmx\fP(1)\&.
+In an ideal world, updmap would be unnecessary -- each of these
+programs would read the same configuration file to learn what fonts
+are available and how they should be treated\&. As things stand,
+however, each of these tools has subtly different requirements and
+thereby needs its own font configuration file\&. \fBupdmap\fP creates
+font configuration files for all of these programs from a single
+source, allowing you to easily keep all the different configuration
+files in sync\&.
+.PP
+\fBupdmap\fP reads a configuration file, \fBupdmap\&.cfg\fP(5) and,
+depending on the options specified in that file and on the command
+line, \fBupdmap\fP will write generated map files to a directory of
+your choosing (via one of the \fB--*outputdir\fP options), or automatically
+determine where to place the files\&. In the latter case, it tries to
+use the tree where the variable TEXMFVAR points to.
+When used with the options \fB--edit\fP, \fB--setoption\fP,
+\fB--enable\fP, \fB--disable\fP, or \fB--syncwithtrees\fP, \fBupdmap\fP will first write
+\fBupdmap\&.cfg\fP(5) and regenerate the map files only if this file
+has been changed\&.
+.PP
+.SH "OPTIONS"
+.PP
+The following command-line options are available:
+.IP
+.IP "\fB--cnffile\fP \fIfile\fP"
+Specify a configuration \fIfile\fP\&.
+.IP
+.IP "\fB--dvipsoutputdir\fP \fIdirectory\fP"
+Specify the output
+\fIdirectory\fP for map files generated with dvips syntax\&.
+.IP
+.IP "\fB--pdftexoutputdir\fP \fIdirectory\fP"
+Specify the output
+\fIdirectory\fP for map files generated with pdftex syntax\&.
+.IP
+.IP "\fB--dvipdfmoutputdir\fP \fIdirectory\fP"
+Specify the output
+\fIdirectory\fP for map files generated with dvipdfm syntax\&.
+.IP
+.IP "\fB--outputdir\fP \fIdirectory\fP"
+Specify the output
+\fIdirectory\fP for all generated map files\&.
+.IP
+.IP "\fB--nohash\fP"
+Do not run \fBtexhash\fP(1)\&.
+.IP
+.IP "\fB--nomkmap\fP"
+Do not recreate existing map files\&.
+.IP
+.IP "\fB--quiet\fP"
+Reduce verbosity\&.
+.IP
+.PP
+The following commands can be substituted for \fICOMMAND\fP:
+.IP
+.IP "\fB--edit\fP"
+Edit the \fIupdmap\&.cfg\fP file\&.
+.IP
+.IP "\fB--help\fP"
+Show a command and option summary\&.
+.IP
+.IP "\fB--showoptions\fP \fIitem\fP"
+Show alternatives for option
+\fIitem\fP\&.
+.IP
+.IP "\fB--setoption\fP \fIoption\fP \fIvalue\fP"
+Set
+\fIoption\fP to \fIvalue\fP, where \fIoption\fP is one of:
+.IP ""
+\fBdvipsPreferOutline\fP
+.IP ""
+\fBLW35\fP
+.IP ""
+\fBdvipsDownloadBase35\fP
+.IP ""
+\fBpdftexDownloadBase14\fP
+.IP ""
+\fBdvipdfmDownloadBase14\fP
+.IP
+.IP "\fB--enable\fP \fImaptype\fP \fImapfile\fP"
+Add or enable a \fBMap\fP or \fBMixedMap\fP for \fImapfile\fP\&.
+.IP
+.IP "\fB--enable Map=\fImapfile\fP"
+Add or enable a Map for \fImapfile\fP\&.
+.IP
+.IP "\fB--enable MixedMap=\fP\fImapfile\fP"
+Add or enable a MixedMap for \fImapfile\fP\&.
+.IP
+.IP "\fB--disable\fP \fImapfile\fP"
+Disable Map or MixedMap for \fImapfile\fP\&.
+.IP
+.IP "\fB--syncwithtrees\fP"
+Disable entries in the config file that refer to map files which are
+unavailable\&.
+.IP
+.IP "\fB--listmaps\fP"
+List all active and inactive maps\&.
+.IP
+.IP "\fB--listavailablemaps\fP"
+List all active and inactive maps, but restrict output to map files
+that are available in one of the texmf trees\&.
+.PP
+.SH "FILES"
+.PP
+Configuration and input files:
+.IP "\fIupdmap\&.cfg\fP"
+Main configuration file\&. In
+\fItexmf/web2c\fP by default, but may be located elsewhere
+depending on your distribution\&.
+.IP
+.IP "\fIdvips35\&.map\fP"
+Map file for standard 35 PostScript fonts for
+use with \fBdvips\fP(1)\&.
+.IP
+.IP "\fIpdftex35\&.map\fP"
+Map file for standard 35 PostScript fonts for
+use with \fBpdftex\fP(1)\&.
+.IP
+.IP "\fIdvipdfm35\&.map\fP"
+Map file for standard 35 PostScript fonts for
+use with \fBdvipdfm\fP(1)\&.
+.IP
+.IP "\fIps2pk35\&.map\fP"
+Map file for standard 35 PostScript fonts for
+use with \fBps2pk\fP(1)\&.
+.IP
+.PP
+Output files:
+.IP
+.IP "\fIpsfonts\&.map\fP"
+For \fBdvips\fP(1)\&.
+Soft link
+against \fIpsfonts_t1\&.map\fP if option \fBdvipsPreferOutline\fP active,
+else against \fIpsfonts_pk\&.map\fP.
+.IP
+.IP "\fIpsfonts_pk\&.map\fP"
+For \fBdvips\fP(1)\&.
+Without information from MixedMap files\&.
+(Setting of \fBdvipsPreferOutline\fP ignored\&.)
+.IP
+.IP "\fIpsfonts_t1\&.map\fP"
+For \fBdvips\fP(1)\&.
+With information from MixedMap files\&.
+(Setting of \fBdvipsPreferOutline\fP ignored\&.)
+.IP
+.IP "\fIdownload35\&.map\fP"
+For \fBdvips\fP(1)\&.
+Always downloads the standard 35 fonts\&.
+(Setting of \fBdvipsDownloadBase35\fP ignored\&.)
+.IP
+.IP "\fIbuiltin35\&.map\fP"
+For \fBdvips\fP(1)\&.
+Never downloads the standard 35 fonts\&.
+(Setting of \fBdvipsDownloadBase35\fP ignored\&.)
+.IP
+.IP "\fIpdftex\&.map\fP"
+For \fBpdftex\fP(1)\&.
+Soft link
+against \fIpdftex_dl14\&.map\fP if option \fBpdftexDownloadBase14\fP active,
+else against \fIpdftex_ndl14\&.map\fP.
+.IP
+.IP "\fIpdftex_dl14\&.map\fP"
+For \fBpdftex\fP(1)\&.
+Always downloads the standard 14 fonts\&.
+.IP
+.IP "\fIpdftex_ndl14\&.map\fP"
+For \fBpdftex\fP(1)\&.
+Never downloads the standard 14 fonts\&.
+.IP
+.IP "\fIdvipdfm\&.map\fP"
+For \fBdvipdfm\fP(1)\&.
+Soft link
+against \fIdvipdfm_dl14\&.map\fP if option \fBdvipdfmDownloadBase14\fP active,
+else against \fIdvipdfm_ndl14\&.map\fP.
+.IP "\fIdvipdfm_dl14\&.map\fP"
+For \fBdvipdfm\fP(1)\&.
+Always downloads the standard 14 fonts\&.
+.IP
+.IP "\fIdvipdfm_ndl14\&.map\fP"
+For \fBdvipdfm\fP(1)\&.
+Never downloads the standard 14 fonts\&.
+.IP
+.IP "\fIps2pk\&.map\fP"
+Similar to \fIpsfonts.map\fP file, but
+forces all fonts to be downloaded, so this map file can be used with
+\fBxdvi\fP(1) and \fBps2pk\fP(1)\&.
+.IP
+.PP
+teTeX configuration files for \fBdvips\fP(1) tuned for use with \fBupdmap\fP:
+.IP
+.IP "\fIconfig\&.builtin35\fP"
+Loads \fIbuildin35\&.map\fP instead
+of \fIpsfonts\&.map\fP\&.
+.IP
+.IP "\fIconfig\&.download35\fP"
+Loads \fIdownload35\&.map\fP instead
+of \fIpsfonts\&.map\fP\&.
+.IP
+.IP "\fIconfig\&.outline\fP"
+Loads \fIpsfonts_t1\&.map\fP instead
+of \fIpsfonts\&.map\fP\&.
+.IP
+.IP "\fIconfig\&.pdf\fP"
+Loads \fIpsfonts_t1\&.map\fP instead
+of \fIpsfonts\&.map\fP and has additional optimizations for PDF generation\&.
+.IP
+.IP "\fIconfig\&.pk\fP"
+Loads \fIpsfonts_pk\&.map\fP instead
+of \fIpsfonts\&.map\fP\&.
+.IP
+.IP "\fIconfig\&.www\fP"
+Loads \fIpsfonts_t1\&.map\fP instead
+of \fIpsfonts\&.map\fP\&.
+(For compatibility with previous versions of teTeX\&.)
+.IP
+.IP "\fIconfig\&.gstopk\fP"
+Loads \fIpsfonts_t1\&.map\fP instead
+of \fIpsfonts\&.map\fP\&.
+.IP
+.PP
+.SH "SEE ALSO"
+.PP
+\fBupdmap\&.cfg\fP(5), \fBdvipdfm\fP(1), \fBdvips\fP(1),
+\fBgsftopk\fP(1), \fBpdftex\fP(1), \fBps2pk\fP(1),
+\fBtexhash\fP(1), \fBxdvi\fP(1)\&.
+.PP
+Web page: \fI<http://tug\&.org/teTeX/>\fP
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+.PP
+.SH "AUTHOR"
+.PP
+\fBupdmap\fP was written by Thomas Esser
+<te@dbs\&.uni-hannover\&.de> and is in the public domain\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<cmc@debian\&.org>, for
+the Debian GNU/Linux system and later slightly adapted for teTeX 3\&.
diff --git a/Master/texmf/doc/man/man1/vftovp.1 b/Master/texmf/doc/man/man1/vftovp.1
new file mode 100644
index 00000000000..3306e1d8c66
--- /dev/null
+++ b/Master/texmf/doc/man/man1/vftovp.1
@@ -0,0 +1,100 @@
+.TH VFTOVP 1 "19 December 1994" "Web2C 7.5.5"
+.\"=====================================================================
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+vftovp \- convert virtual font (vf) files to virtual property lists (vpl)
+.SH SYNOPSIS
+.B vftovp
+[
+.BI \-charcode-format =format
+]
+[
+.B \-verbose
+]
+.I vf_name[.vf]
+.I tfm_name[.tfm]
+[
+.I vpl_name[.vpl]
+]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B vftovp
+program translates a (program-oriented) virtual font file and its
+accompanying \*(TX font metric file to a (human-oriented) property list file.
+Thus, the virtual font can be edited, and its exact contents can be
+displayed mnemonically. It also serves as a VF-file validating program;
+if no error messages are given, the input files are correct.
+.PP
+The filenames are extended with the appropriate extension if necessary.
+.\"=====================================================================
+.SH OPTIONS
+The argument
+.I format
+to
+.B \-charcode-format
+specifies how character codes are output in the VPL file. By
+default, only letters and digits are output using the
+.B C
+integer code (i.e., in ASCII); the others are output in octal. (Unless
+the font's coding scheme starts with
+.B "TeX math sy"
+or
+.BR "TeX math ex" ,
+when all are output in octal.) If
+.I format
+is
+.BR ascii ,
+all character codes that correspond to graphic characters, besides the
+left and right parentheses, are output in ASCII. On the other hand, if
+.I format
+is
+.BR octal ,
+all character codes are output in octal.
+.PP
+Without the
+.B \-verbose
+option,
+.B vftovp
+operates silently. With it, a banner and progress report are printed on
+.IR stdout .
+.\"=====================================================================
+.SH ENVIRONMENT
+.B vftovp
+looks for
+.I vf_name
+using the
+environment variable VFFONTS. If that is not set, it uses the variable
+TEXFONTS. If that is not set, it uses the system default.
+.PP
+See
+.BR tex (1)
+for the details of the searching.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR pltotf (1),
+.BR tftopl (1),
+.BR vptovf (1).
+.\"=====================================================================
+.SH AUTHORS
+Donald E. Knuth wrote the program, based in part on an idea of David Fuchs,
+starting with the code for
+.BR tftopl (1).
+Karl Berry adapted it for compilation with
+.BR web2c .
diff --git a/Master/texmf/doc/man/man1/vlna.1 b/Master/texmf/doc/man/man1/vlna.1
new file mode 100644
index 00000000000..4bbe9f70ffc
--- /dev/null
+++ b/Master/texmf/doc/man/man1/vlna.1
@@ -0,0 +1,130 @@
+.\" $Id$
+.TH VLNA 1 "4. unora 1998"
+.nh
+.SH NAZEV
+vlna \- pridani vlnek za neslabicne predlozky v TeXu
+.SH POUZITI
+.B vlna
+[\fIvolby\fP]
+[\fIsoubory\fP]
+.SH POPIS
+Program
+.B vlna
+pridava vlnky (misto puvodnich mezer) za neslabicne predlozky
+ve vstupnich souborech pro TeX, coz zabrani zlomu radku v nezadoucich mistech.
+.PP
+Veskere aktivity programu je mozne vypnout sekvenci \fB%~-\fP a zapnout
+sekvenci \fB%~+\fP (mezi uvedenymi znaky muze byt libovolne mnozstvi mezer).
+.PP
+Pred predlozkou se muze nachazet libovolne mnozstvi oteviracich zavorek,
+pred kterymi se musi nachazet mezera nebo zacatek radku. Pred
+oteviraci svorkou muze byt take misto mezery TeXova
+\(lq\\sekvence\(rq (od verze 1.2).
+Napr. za \(lq([{(V\(rq na pocatku radku bude vlnka pridana.
+Stejne tak se text \(lq\\uv{V lese}\(rq promeni na
+\(lq\\uv{V~lese}\(rq.
+.PP
+Program kontroluje konzistenci matematickych prostredi (neni-li uveden
+parametr \fB\-m\fP).
+Vstup do \fIdisplay\fP rezimu (\fB$$\fP) uvnitr \fItext\fP rezimu (\fB$\fP)
+(napr. \fB$\fP...\fB$$\fP...\fB$\fP) znamena varovani a prechod do
+\fIdisplay\fP.
+Podobne prazdny radek uvnitr \fItext\fP nebo \fIdisplay\fP rezimu znamena
+vypis varovani a prechod do nematematickeho (standardniho) rezimu.
+Uvnitr rezimu \fIdisplay\fP se ignoruji vyskyty samostatneho znaku \fB$\fP,
+jelikoz byva vetsinou soucasti konstrukce \fB\\hbox\fP.
+.PP
+Program kontroluje konzistenci verbatim rezimu na konci souboru.
+Nebyl-li ukoncen, vypise se varovani.
+Kontrola se neprovadi, pokud je pouzita volba \fB\-n\fP nebo \fB\-w\fP.
+.PP
+Program nedoplnuje vlnky za samostatna pismena, ktera jako predlozky vypadaji,
+ale nasleduji bezprostredne za sekvencemi \fB\\TeX\fP nebo \fB\\LaTeX\fP.
+Napr. do textu \(lq\fBVlastnosti \\TeX u jsou\fP\(rq nebude zadna vlnka
+doplnena.
+.SH VOLBY
+Volby jsou nepovinne a mohou byt uvedeny v libovolnem poradi, ale nemohou
+byt spojovany.
+.TP
+.B \-f
+Filtr. Jmena souboru jsou interpretovana takto:
+.RS
+.TP 4
+.B vlna \-f \fIsoubor1 soubor2\fP
+Vstup je \fIsoubor1\fP, vystup \fIsoubor2\fP.
+.TP 4
+.B vlna \-f \fIsoubor1\fP
+Vstup je \fIsoubor1\fP, vystup \fIstdout\fP.
+.TP 4
+.B vlna \-f
+Vstup je \fIstdin\fP, vystup \fIstdout\fP.
+.TP 4
+\fBvlna\fP \fIsoubor1\fP [\fIsoubor2\fP [\fIsoubor3\fP ...]]
+Neni-li uveden parametr \fB\-f\fP, kazdy soubor je zpracovavan samostatne.
+.RE
+.TP
+.B \-s
+Tichy rezim. Program potlaci vypis uvodni zpravy, varovnych zprav a
+statistik o zmenach v souborech
+(bez uvedeni parametru jsou zpravy vypisovany na \fIstderr\fP).
+V tichem rezimu se vypise jen chyba, ktera predcasne ukonci
+cinnost programu.
+.TP
+.B \-r
+Nevytvaret (mazat) zalohy.
+Parametr \fB\-r\fP nema vliv, pokud je uveden spolu s \fB\-f\fP.
+V opacnem pripade se ke kazdemu souboru vytvari zaloha s vlnkou na konci jmena
+a parametr \fB\-r\fP zpusobi, ze na konci zpracovani jsou tyto zalohy mazany.
+.TP
+.B \-v \fIznaky\fP
+Znaky povazovane za neslabicne predlozky, za ktere ma byt pridavana
+vlnka. Implicitni hodnota je \fB\-v\ KkSsVvZzOoUuAI\fP. (Mezi
+\fB\-v\fP a skupinou znaku musi byt mezera.)
+.TP
+.B \-m
+Ignorovani prechodu do matematickych prostredi
+(\fB$\fP...\fB$\fP a \fB$$\fP...\fB$$\fP).
+Parametr \fB\-m\fP zpusobi vlnkovani i v matematickych prostredich, ktera
+se implicitne vynechavaji.
+.TP
+.B \-n
+Ignorovani verbatim rezimu (\fB\\verb\fP\fI<znak>\fP...\fI<znak>\fP,
+\fB\\begtt\fP...\fB\\endtt\fP).
+Parametr \fB\-n\fP zpusobi vlnkovani i ve verbatim rezimu, ktery se
+implicitne vynechava.
+.TP
+.B \-l
+LaTeX. Pro rozpoznani matematickeho rezimu jsou pridana prostredi
+\fB\\begin{display}\fP...\fB\\end{display}\fP a
+\fB\\begin{equation}\fP...\fB\\end{equation}\fP.
+Pro rozpoznani verbatim rezimu je pridano LaTeXove prostredi
+\fB\\begin{verbatim}\fP...\fB\\end{verbatim}\fP.
+.TP
+.B \-w
+Web. Pro rozpoznani verbatim rezimu jsou pridany sekvence
+\fB@<\fP, \fB@d\fP...\fB@*\fP, \fB@\fP\fImezera\fP nebo \fB@>|\fP.
+Ve zdrojovem kodu se tedy nevlnkuje program, ale jen komentare.
+.SH PRIKLADY
+.TP
+.B vlna \-m \-n \-s \-r \fIsoubor\fP
+Volani priblizne odpovida volani puvodniho programu \fBvlna\fP.
+(Navic se neprovadi vlnkovani za sekvencemi \fB\\TeX\fP a \fB\\LaTeX\fP.)
+.TP
+.B vlna *.tex
+Vlnkovani vsech souboru s priponou \fBtex\fP.
+(Pouze na UNIXu.)
+.TP
+.B vlna \-f soubor > /dev/null
+Test konzistence matematickeho a verbatim rezimu bez provedeni zmen.
+(Pouze na UNIXu.)
+.SH SOUBORY
+.PD 0
+.TP
+.I c:Program FilesTeXLivebinwin32/vlna
+spustitelny program
+.TP
+.I c:Program FilesTeXLivetexmfdocman/vlna.1
+manualova stranka
+.PD
+.SH AUTOR
+Petr Olsak <olsak@math.feld.cvut.cz>. Manualovou stranku a Makefile vytvoril Rulolf Cejka
diff --git a/Master/texmf/doc/man/man1/vptovf.1 b/Master/texmf/doc/man/man1/vptovf.1
new file mode 100644
index 00000000000..3d85680e9ba
--- /dev/null
+++ b/Master/texmf/doc/man/man1/vptovf.1
@@ -0,0 +1,68 @@
+.TH VPTOVF 1 "16 December 1994" "Web2C 7.5.5"
+.\"=====================================================================
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.el .ds OX TeX for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+vptovf \- convert virtual property lists to virtual font metrics
+.SH SYNOPSIS
+.B vptovf
+[
+.B \-verbose
+]
+.I vpl_name[.vpl]
+.I vfm_name[.vf]
+.I tfm_name[.tfm]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B vptovf
+program translates a (human-oriented) property list file to a pair of
+(program-oriented) files in the VF (virtual font) and TFM (\*(TX font metric)
+formats. Thus, a virtual font
+file can be edited and its exact contents
+can be displayed mnemonically.
+New virtual fonts, which map characters as seen by \*(TX into an arbitrary
+sequence of low-level typesetting operations,
+can also be created in this way.
+.PP
+All three filenames,
+.I vpl_name,
+.I vf_name,
+and
+.I tfm_name,
+are extended with the appropriate suffix, if they lack one.
+.\"=====================================================================
+.SH OPTIONS
+Without the
+.B \-verbose
+option,
+.B vptovf
+operates silently. With it, a banner and progress report are printed on
+.IR stdout .
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR pltotf (1),
+.BR tftopl (1),
+.BR vftovp (1).
+.\"=====================================================================
+.SH AUTHORS
+Donald E. Knuth wrote the program, based in part on an idea of David Fuchs,
+starting with the code for
+.BR pltotf (1).
+Karl Berry adapted it for compilation with
+.BR web2c .
diff --git a/Master/texmf/doc/man/man1/weave.1 b/Master/texmf/doc/man/man1/weave.1
new file mode 100644
index 00000000000..5837755e54d
--- /dev/null
+++ b/Master/texmf/doc/man/man1/weave.1
@@ -0,0 +1,77 @@
+.TH WEAVE 1 "4 May 1993" "Web2C 7.5.5"
+.\"=====================================================================
+.if n .ds MF Metafont
+.if t .ds MF M\s-2ETAFONT\s0
+.if n .ds TX TeX
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.\" the same but obliqued
+.el .ds OX TeX for nroff
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
+.\" BX definition must follow TX so BX can use TX
+.if n .ds BX BibTeX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.\" LX definition must follow TX so LX can use TX
+.if n .ds LX LaTeX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds WB Web
+.if t .ds WB W\s-2EB\s0
+.\"=====================================================================
+.SH NAME
+weave \- translate WEB to TeX
+.SH SYNOPSIS
+.B weave
+[
+.B \-x
+]
+.I webfile[.web]
+[
+.I changefile[.ch]
+]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+The
+.B weave
+program is used to create a \*(TX file for viewing a \*(WB program.
+It takes appropriate care of typographic details like page
+layout and the use of indentation, italics, boldface, etc., and it supplies
+extensive cross-index information that it gathers automatically.
+The command line arguments are the same as for
+.B tangle
+except for the option:
+.B \-x
+says to omit the index, module name list, and table of contents pages.
+(A
+.I CONTENTS.tex
+file will still be written when the \*(TX file is processed,
+however, unless some macros in
+.I webmac.tex
+are redefined.)
+.PP
+The output \*(TX file name is formed by adding
+.I .tex
+to the root of the \*(WB file name.
+.PP
+There are several macros
+that probably should be redefined by
+the programmer at the beginning of the \*(WB file.
+It is a good idea to set \\title
+to the name of the program.
+And, to cause output of only changed modules, one can say
+\\let\\maybe=\\iffalse (usually as the first change in the
+change file).
+.\"=====================================================================
+.SH FILES
+.TP \w'@@'u+2n
+.I $TEXMFMAIN/tex/plain/base/webmac.tex
+\*(TX macros used by
+.B weave
+output.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR tangle (1)
+for references, authors, and other information.
diff --git a/Master/texmf/doc/man/man1/xdvi.1 b/Master/texmf/doc/man/man1/xdvi.1
new file mode 100644
index 00000000000..8922ee1febe
--- /dev/null
+++ b/Master/texmf/doc/man/man1/xdvi.1
@@ -0,0 +1,4101 @@
+.\" Copyright (c) 1990-2004 Paul Vojta and others
+.\"
+.\" This is Paul's license, included here only for reference, it does not apply
+.\" to all parts of the k version.
+.\" ----
+.\" Permission is hereby granted, free of charge, to any person obtaining a copy
+.\" of this software and associated documentation files (the "Software"), to
+.\" deal in the Software without restriction, including without limitation the
+.\" rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+.\" sell copies of the Software, and to permit persons to whom the Software is
+.\" furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included in
+.\" all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" PAUL VOJTA OR ANY OTHER AUTHOR OF THIS SOFTWARE BE LIABLE FOR ANY CLAIM,
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\" ----
+.\" This is the xdvik license:
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" following is UGLY ... use La\*(Te\& instead:
+.\" .if t .ds La L\\h'-0.1667m'\\v'-0.20v'A\\v'0.20v'\\h'-0.1667m'T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X
+.\" .if n .ds La LaTeX
+.if t .ds Te T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X
+.if n .ds Te TeX
+' # small and boldface (not all -man's provide it)
+.de SB
+\&\fB\s-1\&\\$1 \\$2\s0\fR
+..
+.TH XDVI 1 "2005/04/28" "Xdvik 22.84.10"
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH NAME
+xdvi \- DVI Previewer for the X Window System
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH SYNOPSIS
+.B xdvi
+.nh
+[\fB+\fP[\fIpage\fP]]
+[\fB\--help\fP]
+[\fB\-allowshell\fP]
+[\fB\-altfont\fP \fIfont\fP]
+[\fB\-base\fP \fIbase URL\fP]
+.\" [\fB\-bd\fP \fIcolor\fP]
+[\fB\-bg\fP \fIcolor\fP]
+[\fB\-browser\fP \fIWWWbrowser\fP]
+[\fB\-bw\fP \fIwidth\fP]
+[\fB\-bw\fP \fIwidth\fP]
+[\fB\-copy\fP]
+[\fB\-cr\fP \fIcolor\fP]
+[\fB\-debug\fP \fIbitmask\fP|\fIstring[,string ...]\fP]
+[\fB\-display\fP \fIhost:display\fP]
+[\fB\-dvipspath\fP \fIpath\fP]
+[\fB\-editor\fP \fIcommand\fP]
+[\fB\-expertmode\fP \fIflag\fP]
+[\fB\-fg\fP \fIcolor\fP]
+[\fB\-findstring\fP \fIstring\fP]
+[\fB\-font\fP \fIfont\fP]
+[\fB\-fullscreen \fP]
+[\fB\-gamma\fP \fIg\fP]
+[\fB\-geometry\fP \fIgeometry\fP]
+[\fB\-gsalpha\fP]
+[\fB\-gspalette\fP \fIpalette\fP]
+[\fB\-h\fP]
+[\fB\-help\fP]
+[\fB\-hl\fP \fIcolor\fP]
+[\fB\-href\fP \fIanchor\fP]
+[\fB\-hush\fP]
+[\fB\-hushchars\fP]
+[\fB\-hushchecksums\fP]
+[\fB\-hushspecials\fP]
+[\fB\-hushstdout\fP]
+[\fB\-icongeometry\fP \fIgeometry\fP]
+[\fB\-iconic\fP]
+[\fB\-install\fP]
+[\fB\-interpreter\fP \fIpath\fP]
+[\fB\-keep\fP]
+[\fB\-l\fP]
+[\fB\-linkcolor\fP \fIcolor\fP]
+[\fB\-linkstyle\fP \fI0|1|2|3\fP]
+[\fB\-margins\fP \fIdimen\fP]
+[\fB\-mfmode\fP \fImode-def\fP[\fB:\fP\fIdpi\fP]]
+[\fB\-mgs\fP[\fIn\fP] \fIsize\fP]
+[\fB\-mousemode\fP \fI0|1|2\fP]
+[\fB\-nocolor\fP]
+[\fB\-nofork\fP]
+[\fB\-noghostscript\fP]
+[\fB\-nogrey\fP]
+[\fB\-nogssafer\fP]
+[\fB\-noinstall\fP]
+[\fB\-nomakepk\fP]
+[\fB\-nomatchinverted\fP]
+[\fB\-noomega\fP]
+[\fB\-noscan\fP]
+[\fB\-not1lib\fP]
+[\fB\-notempfile\fP]
+[\fB\-offsets\fP \fIdimen\fP]
+[\fB\-p\fP \fIpixels\fP]
+[\fB\-paper\fP \fIpapertype\fP]
+[\fB\-pause\fP]
+[\fB\-pausespecial\fP \fIspecial-string\fP]
+[\fB\-postscript\fP \fIflag\fP]
+[\fB\-rulecolor\fP \fIcolor\fP]
+[\fB\-rv\fP]
+[\fB\-S\fP \fIdensity\fP]
+[\fB\-s\fP \fIshrink\fP]
+[\fB\-safer\fP]
+[\fB\-sidemargin\fP \fIdimen\fP]
+[\fB\-sourceposition\fP \fIline\fP[\fB:\fP\fIcol\fP][\ ]\fIfilename\fP]
+[\fB\-statusline\fP]
+[\fB\-thorough\fP]
+[\fB\-topmargin\fP \fIdimen\fP]
+[\fB\-unique\fP]
+[\fB\-version\fP]
+[\fB\-visitedlinkcolor\fP \fIcolor\fP]
+[\fB\-warnspecials\fP]
+[\fB\-watchfile\fP \fIsecs\fP]
+[\fB\-wheelunit\fP \fIpixels\fP]
+[\fB\-xoffset\fP \fIdimen\fP]
+[\fB\-yoffset\fP \fIdimen\fP]
+[\fIdvi_file\fP]
+.hy
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH DESCRIPTION
+.B Xdvi
+is a program for previewing
+.I dvi
+files, as produced e.g. by the
+.BR tex (1)
+program, under the X window system.
+.PP
+.B Xdvi
+can show the file shrunken by various
+integer factors, and it has a ``magnifying glass'' for viewing
+parts of the page enlarged (see the section MAGNIFIER below). This version
+of
+.B xdvi
+is also referred to as
+.B xdvik
+since it uses the kpathsea library to locate and generate font files.
+In addition to that, it supports the following features:
+.RS 2
+.TP 2
+-
+hyperlinks in DVI files (section HYPERLINKS),
+.TP
+-
+direct rendering of Postscript<tm> Type1 fonts (section T1LIB),
+.TP
+-
+source specials in the DVI file (section SOURCE SPECIALS),
+.TP
+-
+string search in DVI files (section STRING SEARCH),
+.TP
+-
+saving or printing (parts of) the DVI file (sections PRINT DIALOG and SAVE DIALOG).
+.RE
+.PP
+Xdvi can be compiled with the Motif toolkit or the Xaw (Athena) toolkit
+(and variants of it), and the Motif version has a slightly different GUI;
+these differences are noted below.
+.PP
+Before displaying a page of a DVI file,
+.B xdvi
+will check to see if the file has changed since the last time it was
+displayed. If this is the case, it will reload the file. This
+feature allows you to preview many versions of the same file while
+running
+.B xdvi
+only once. Since it cannot read partial DVI files,
+.B xdvik
+versions starting from 22.74.3 will create a temporary copy of the
+DVI file being viewed, to ensure that the file can be viewed without
+interruptions. (The
+.B \-notempfile
+can be used to turn off this feature).
+.PP
+.B Xdvi
+can show PostScript<tm> specials by any of three methods.
+It will try first to use Display PostScript<tm>, then NeWS, then it
+will try to use Ghostscript to render the images. All of these options
+depend on additional software to work properly; moreover, some of them
+may not be compiled into this copy of
+.BR xdvi .
+.PP
+For performance reasons,
+.B xdvi
+does not render PostScript specials in the magnifying glass.
+.PP
+If no file name has been specified on the command line,
+xdvi will try to open the most recently opened file; if the file
+history (accessible via the
+.B File > Open Recent
+menu) is empty, or if none of the files in the history are valid DVI files,
+it will pop up a file selector for choosing a file name.
+(In previous versions, which didn't have a file history, the file selector
+was always used; you can set the X resource
+.B noFileArgUseHistory
+to
+.I false
+to get back the old behaviour.)
+.PP
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH OPTIONS
+In addition to specifying the
+.I dvi
+file (with or without the
+.B .dvi
+extension),
+.B xdvi
+supports the following command line options. If the option begins with a
+.RB ` + '
+instead of a
+.RB ` \- ',
+the option is restored to its default value. By default, these options can
+be set via the resource names given in parentheses in the description of
+each option.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI + page
+Specifies the first page to show. If
+.B +
+is given without a number, the last page is assumed; the first page is
+the default.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-allowshell
+.RB ( .allowShell )
+This option enables the shell escape in PostScript specials.
+(For security reasons, shell escapes are disabled by default.)
+This option should be rarely used; in particular it should not be used just
+to uncompress files: that function is done automatically if the file name
+ends in
+.BR .Z ,
+.BR .gz ,
+or
+.BR .bz2 .
+Shell escapes are always turned off if the
+.B \-safer
+option is used.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-altfont " font"
+.RB ( .altFont )
+Declares a default font to use when the font in the
+.I dvi
+file cannot be found. This is useful, for example, with PostScript <tm> fonts.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-background " color"
+.RB ( .background )
+Determines the color of the background. Same as
+.BR -bg .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\" .TP
+.\" .BI \-bd " color"
+.\" .RB ( .borderColor )
+.\" Determines the color of the window border.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-bg " color"
+.RB ( .background )
+Determines the color of the background.
+.\" .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\" .TP
+.\" .BI \-bordercolor " color"
+.\" Same as
+.\" .BR -bd .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-borderwidth " width"
+.RB ( .borderWidth )
+Specifies the width of the border of the window. Same as
+.BR -bw .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-browser " browser"
+.RB ( .wwwBrowser )
+Defines the web browser used for handling external URLs. The value of this
+option or resource has the same syntax as the
+.B BROWSER
+environment variable; see the explanation of that variable in the
+section `ENVIRONMENT' below for a detailed description.
+If neither the option nor the X resource
+.I wwwBrowser
+is specified, the environment variables
+.B BROWSER
+and
+.B WWWBROWSER
+(in that order) are used to determine the browser command. If these are
+not set either, the following default value is used:
+.SB netscape -raise -remote "openURL(%s,new-window)":xterm -e lynx %s:xterm -e wget %s
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-bw " width"
+.RB ( .borderWidth )
+Specifies the width of the border of the window.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-copy
+.RB ( .copy )
+Always use the
+.I copy
+operation when writing characters to the display.
+This option may be necessary for correct operation on a color display, but
+overstrike characters will be incorrect.
+If greyscale anti-aliasing is in use, the
+.B \-copy
+operation will disable the use of colorplanes and make overstrikes come
+out incorrectly.
+See also
+.BR \-thorough .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-cr " color"
+.RB ( .cursorColor )
+Determines the color of the mouse cursor. The default is the same as
+the foreground color.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-debug " bitmask|string[,string ...]"
+.RB ( .debugLevel )
+If nonzero, prints additional information on standard output. The
+argument can be either a bitmask specified as a decimal number, or
+comma-separated list of strings.
+.br
+For the bitmask representation, multiple values can
+be specified by adding the numbers that represent the individual bits;
+e.g. to debug all all file searching and opening commands, use 4032
+(= 2048 + 1024 + 512 + 256 + 128 + 64). Use -1 to turn on debugging
+of everything (this will produce huge output).
+.br
+For the string representation, use the strings listed in the following
+table, with a comma to separate the values; e.g. to debug
+all file searching and opening commands, use
+.BR search,expand,paths,hash,stat,open .
+(The option `kpathsea' is provided as a shorthand for these.)
+Note that such a list may need to be quoted to prevent the shell
+from interpreting commas or spaces in the list.
+.br
+The individual numbers and strings have the following meanings:
+.nf
+.sp 1n
+.ta 1L +8L +12L
+ 1 bitmap Bitmap creation
+ 2 dvi DVI translation
+ 4 pk PK fonts
+ 8 batch Batch mode: Exit after
+ reading the DVI file
+ 16 event Event handling
+ 32 ps PostScript interpreter calls
+ 64 stat Kpathsea stat(2) calls
+ 128 hash Kpathsea hash table lookups
+ 256 open Kpathsea file opening
+ 512 paths Kpathsea path definitions
+ 1024 expand Kpathsea path expansion
+ 2048 search Kpathsea searching
+ 4032 kpathsea All Kpathsea options
+ 4096 htex Hypertex specials
+ 8192 src Source specials
+ 16384 client Client/server mode (see -unique
+ and -sourceposition options)
+ 32768 t1 Type1 font library messages
+ 65536 t1_verbose Verbose Type1 library messages
+ 131072 gui GUI elements
+.sp 1n
+.fi
+Some of the Kpathsea debugging options are actually provided by Kpathsea;
+see the Debugging section in the Kpathsea manual for more information on
+these.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-density " density"
+.RB ( .densityPercent )
+Determines the density used when shrinking bitmaps for fonts.
+A higher value produces a lighter font. The default value is 40.
+If greyscaling is in use, this argument does not apply; use
+.B \-gamma
+instead.
+See also the
+.RB ` S '
+keystroke.
+Same as
+.BR \-S .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-display " host" : display
+Specifies the host and screen to be used for displaying the
+.I dvi
+file. By default this is obtained from the environment variable
+.SB DISPLAY.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-dvipspath " path"
+.RB ( .dvipsPath )
+Use
+.I path
+as the
+.B dvips
+program to use when printing. The default for this is
+.BR dvips .
+The program or script should read the DVI file from standard input,
+and write the Postscript file to standard output.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-editor " editor"
+.RB ( .editor )
+Specifies the editor that will be invoked when the
+.I source-special()
+action is triggered to start a reverse search (by default via Ctrl-Mouse 1).
+The argument to this option is a format string in which occurrences of
+.RB `` %f ''
+are replaced by the file name, occurrences of
+.RB `` %l ''
+are replaced by the line number within the file, and optional
+occurrences of
+.RB `` %c ''
+are replaced by the column number within the line.
+.sp
+If neither the option nor the X resource
+.I .editor
+is specified, the following environment variables are checked
+to determine the editor command:
+.BR XEDITOR ,
+.BR VISUAL ,
+and
+.B EDITOR
+(in this sequence). If the string is found as the value
+of the
+.SB VISUAL
+or
+.SB EDITOR
+environment variables, then
+.RI `` "xterm -e "''
+is prepended to the string; if the editor is specified by other means, then
+it must be in the form of a shell command to pop up an X window with an
+editor in it. If none of these variables is set, a warning message is displayed
+and the command
+.RI `` "xterm -e vi +%l %f"''
+is used.
+.sp
+If no
+.RB `` %f ''
+or
+.RB `` %l ''
+occurs in the string, the missing format strings are appended automatically.
+(This is for compatibility with other programs when using one of the environment
+variables).
+.sp
+A new instance of the editor is started each time this command is used;
+therefore it is preferrable to use an editor that can be invoked in
+`client' mode to load new files into the same instance. Example
+settings are:
+.RS 7
+.TP 7
+.SB emacsclient --no-wait
+(older Emacsen)
+.TP
+.SB gnuclient -q
+(XEmacs and newer Emacsen)
+.TP
+.SB gvim --servername xdvi --remote
+(VIM v6.0+; the `--servername xdvi' option will cause gvim to run a
+dedicated instance for the files opened by xdvi.)
+.TP
+.SB nc
+(nedit)
+.PP
+.sp
+Note that those strings need to be enclosed
+into quotes when using them on the command-line
+to protect them from the shell; when using them
+as argument for the
+.I .editor
+resource in an X resource file, no quotes should be used.
+.sp
+.B NOTE ON SECURITY:
+The argument of this option isn't executed as a shell command,
+but via
+.I exec()
+to prevent evil tricks with the contents of source specials.
+.RE
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-expert
+This option is only supported for backwards compatibility;
+it is equivalent to
+.BR "\-expertmode 0" ,
+which should be preferred.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-expertmode " flag"
+.RB ( .expertMode )
+With an argument of
+.IR 0 ,
+this option switches off the display of the buttons, scrollbars,
+the toolbar (Motif only),
+the statusline and the page list. These GUI elements
+can also be (de)activated separately, by combining the
+appropriate values in the
+.I flag
+argument. This acts similar to the
+.B \-debug
+option: The integer
+.I flag
+is treated as a bitmap where each bit represents one
+element. If the bit has the value
+.IR 1 ,
+the element is switched on, if it has the value
+.IR 0 ,
+the element is switched off. The meaning of the bits
+is as follows:
+.nf
+.sp 1n
+.ta 1L +8L +12L
+ 1 statusline
+ 2 scrollbars
+ 4 Motif: pagelist, Xaw: buttons and pagelist
+ 8 toolbar (Motif only)
+ 16 menubar (Motif only)
+.sp 1n
+.fi
+For example, to turn on only the statusline and the scrollbars,
+use 3 (= 1 + 2).
+See also the
+.RB ` x '
+keystroke, where the bits are addressed by their positions, from 1 to
+3 (Xaw) or 5 (Motif), respectively.
+.PP
+If the statusline is not active, all messages
+that would normally be printed to the statusline will be printed to
+.IR stdout ,
+unless the
+.B \-hushstdout
+option is used.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-fg " color"
+.RB ( .foreground )
+Determines the color of the text (foreground).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-findstring\fP \fIstring\fP
+This option triggers a search for
+.I string
+in the DVI file mentioned on the command-line, similar to forward search
+(see the description of the
+.B sourceposition
+option):
+If there is already another
+instance of
+.B xdvi
+running on the displaying that DVI file, it will cause that instance
+to perform the search instead. The search starts at the top of the current
+page of the DVI file.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-font " font"
+.RB ( *font )
+Sets the font used in menus, buttons etc., as described in the
+.I X(7x)
+man page. The font for child windows can be set separately,
+e.g.:
+.RS 7
+.nf
+.ft 3
+.sp 1n
+xdvi*statusline*font: \e
+ -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
+.sp 1n
+.ft
+.fi
+.RE
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-foreground " color"
+Same as
+.BR -fg .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-fullscreen
+When this option is used, xdvi will (try to) run in fullscreen mode, with
+no window decorations.
+This option is not guaranteed to work with all windowmanagers/desktops;
+if you're experiencing problems with it, please use the
+.B \-geometry
+option instead, and a suitable window manager setting to remove
+the window decorations.
+When using this option for presentations, you might want
+to get rid of all the control widgets as well, using the
+.B -expertmode
+option. This option can also be toggled at runtime using the
+.B fullscreen
+action (by default bound to Ctrl-l).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-gamma " gamma"
+.RB ( .gamma )
+Controls the interpolation of colors in the greyscale anti-aliasing color
+palette. Default value is 1.0. For 0 <
+.I gamma
+< 1, the fonts will be lighter (more like the background), and for
+.I gamma
+> 1, the fonts will be darker (more like the foreground). Negative
+values behave the same way, but use a slightly different algorithm.
+For color and grayscale displays; for monochrome, see
+.BR \-density .
+See also the
+.RB ` S '
+keystroke.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-geometry " geometry"
+.RB ( .geometry )
+Specifies the initial geometry of the main window,
+as described in the
+.I X(7x)
+man page. The geometry of child windows can be set
+separately, e.g.:
+.br
+.I xdvi*helpwindow.geometry: 600x800
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-gsalpha
+.RB ( .gsAlpha )
+Causes
+.B Ghostscript
+to be called with the
+.B x11alpha
+driver instead of the
+.B x11
+driver. The
+.B x11alpha
+driver enables anti-aliasing in PostScript specials, for a nicer appearance.
+It is available on newer versions of
+.BR Ghostscript .
+This option can also be toggled with the
+.RB ` V '
+keystroke.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-gspalette " palette"
+.RB ( .palette )
+Specifies the palette to be used when using Ghostscript for rendering
+PostScript specials. Possible values are
+.BR Color ,
+.BR Greyscale ,
+and
+.BR Monochrome .
+The default is
+.BR Color .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BR \-h , " \-help" , " \--help"
+Prints a short help text with an overview of the command-line options
+to standard output.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-hl " color"
+.RB ( .highlight )
+Determines the color of the page border, of the ruler in `ruler mode',
+and of the highlighting markers in forward search and string search.
+The default is the foreground color.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-href " anchor"
+Jump to
+.I anchor
+after opening the DVI file. This is only useful when invoking
+.B xdvi
+from other applications.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-hush
+.RB ( .Hush )
+Causes
+.B xdvi
+to suppress all suppressible warnings.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-hushchars
+.RB ( .hushLostChars )
+Causes
+.B xdvi
+to suppress warnings about references to characters which are not defined
+in the font.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-hushchecksums
+.RB ( .hushChecksums )
+Causes
+.B xdvi
+to suppress warnings about checksum mismatches between the
+.I dvi
+file and the font file.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-hushspecials
+.RB ( .hushSpecials )
+Causes
+.B xdvi
+to suppress warnings about
+.B \especial
+strings that it cannot process.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-hushstdout
+.RB ( .hushStdout )
+Suppresses printing of status messages to
+.IR stdout .
+Note that errors or warnings will still be printed to
+.I stderr
+even if this option is used.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-icongeometry " geometry"
+.RB ( .iconGeometry )
+Specifies the initial position for the icon.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-iconic
+.RB ( .iconic )
+Causes the
+.B xdvi
+window to start in the iconic state. The default is to start with the
+window open.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-install
+.RB ( .install )
+If
+.B xdvi
+is running under a
+.B PseudoColor
+visual, then (by default) it will check for
+.B TrueColor
+visuals with more bits per pixel, and switch to such a visual if one exists.
+If no such visual exists, it will use the current visual and colormap. If
+.B \-install
+is selected, however, it will still use a
+.B TrueColor
+visual with a greater depth, if one is available; otherwise, it will
+install its own colormap on the current visual. If the current visual is not
+.BR PseudoColor ,
+then
+.B xdvi
+will not switch the visual or colormap, regardless of its options.
+The default value of the
+.B install
+resource is the special value,
+.BR maybe .
+There is no
+.B +install
+option. See also
+.BR \-noinstall ,
+and the GREYSCALING AND COLORMAPS section.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-interpreter " filename"
+.RB ( .interpreter )
+Use
+.I filename
+as the Ghostscript interpreter. By default it uses
+.BR gs .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-keep
+.RB ( .keepPosition )
+Sets a flag to indicate that
+.B xdvi
+should not move to the home position when moving to a new page. See also the
+.RB ` k '
+keystroke. This flag is only honoured by the
+.B up()
+and
+.B down()
+actions, not by
+.B up-or-previous()
+and
+.BR down-or-next() .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-l
+.RB ( .listFonts )
+List the names of all fonts used.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-linkcolor
+.RB ( .linkColor )
+Color used for unvisited hyperlinks (`Blue2' by default). Hyperlinks
+are unvisited before you click on them, or after the DVI file has been reloaded.
+The value should be either a valid X color name (such as
+.IR DarkGoldenrod4 )
+or a hexadecimal color string (such as
+.IR #8b6508 ). See also
+.B \-visitedlinkcolor
+and
+.BR \-linkstyle .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-linkstyle
+.RB ( .LinkStyle )
+Determines the style in which hyperlinks are displayed. Possible
+values and their meanings are:
+.nf
+.sp 1n
+.ta 1L +8L
+ 0 No highlighting of links
+ 1 Underline links with \fIlink color\fR
+ 2 No underlining, color text with \fIlink color\fR
+ 3 Underline and display text colored with
+ \fIlink color\fR
+.sp 1n
+.fi
+The values for \fIlink color\fR are specified by the options/resources
+.BI \-linkcolor
+and
+.BI \-visitedlinkcolor
+(which see).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-margins " dimen"
+.RB ( .Margin )
+Specifies the size of both the top margin and side margin.
+This determines the ``home'' position of the page within the window as
+follows. If the entire page fits in the window, then the margin settings
+are ignored. If, even after removing the margins from the left, right,
+top, and bottom, the page still cannot fit in the window, then the page
+is put in the window such that the top and left margins are hidden, and
+presumably the upper left-hand corner of the text on the page will be
+in the upper left-hand corner of the window.
+Otherwise, the text is centered in the window.
+The dimension should be a decimal number optionally followed by
+any of the two-letter abbreviations for units accepted by \*(Te\&
+.RB ( pt ,
+.BR pc ,
+.BR in ,
+.BR bp ,
+.BR cm ,
+.BR mm ,
+.BR dd ,
+.BR cc ,
+or
+.BR sp ).
+By default, the unit will be
+.BR cm " (centimeters)".
+See also
+.BR \-sidemargin ", " \-topmargin ,
+and the keystroke
+.RB ` M .'
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-mfmode " mode-def"
+.RB ( .mfMode )
+Specifies a
+.I mode-def
+string, which can be used in searching for fonts (see ENVIRONMENT, below).
+Generally, when changing the
+.IR mode-def ,
+it is also necessary to change the font size to the appropriate value
+for that mode. This is done by adding a colon and the value in dots per inch;
+for example,
+.BR "\-mfmode ljfour:600" .
+This method overrides any value given by the
+.B pixelsPerInch
+resource or the
+.B \-p
+command-line argument.
+The metafont mode is also passed to
+.B metafont
+during automatic creation of fonts.
+By default, it is
+.BR "unspecified" .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-mgs " size"
+Same as
+.BR \-mgs1 .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-mgs[ n ] " size"
+.RB ( .magnifierSize\fR[\fIn\fR] )
+Specifies the size of the window to be used for the ``magnifying glass''
+for Button
+.IR n .
+The size may be given as an integer (indicating that the magnifying glass
+is to be square), or it may be given in the form
+.IR width x height .
+See the MOUSE ACTIONS section. Defaults are 200x150, 400x250, 700x500,
+1000x800, and 1200x1200.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-mousemode " " [ 0 | 1 | 2 ]
+.RB ( .mouseMode )
+Specifies the default mode of xdvi at startup: Magnifier (0), Text Selection Mode (1)
+or Ruler Mode (2). See the section
+.BR MODES ,
+below, for more information.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-nocolor
+.RB ( .color )
+Turns off the use of color specials. This option can be toggled with the
+.RB ` C '
+keystroke.
+(Note:
+.B \-nocolor
+corresponds to
+.BR color:off ;
+.B +nocolor
+to
+.BR color:on .)
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-nofork
+.RB ( .fork )
+With the
+.B \-sourceposition
+and
+.B \-unique
+options, the default behavior is for
+.B xdvi
+to put itself into the background (like a daemon) if there
+is no appropriate instance of
+.B xdvi
+already running.
+This argument makes it run in the foreground instead. This is useful
+for debugging, or if your client application cannot deal well with
+a program self-backgrounding itself in this way -- e.g., the IPC functions
+in
+.B emacs
+are known to have problems with this.
+If no
+.B \-sourceposition
+or
+.B \-unique
+argument is given, then this option has no effect.
+(Note:
+.B \-nofork
+corresponds to
+.BR fork:off ;
+.B +nofork
+to
+.BR fork:on .)
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-noghostscript
+.RB ( .ghostscript )
+Inhibits the use of Ghostscript for displaying PostScript<tm> specials.
+(Note:
+.B \-noghostscript
+corresponds to
+.BR ghostscript:off ;
+.B +noghostscript
+to
+.BR ghostscript:on .)
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-nogrey
+.RB ( .grey )
+Turns off the use of greyscale anti-aliasing when printing shrunken bitmaps.
+(Note:
+.B \-nogrey
+corresponds to
+.BR grey:off ;
+.B +nogrey
+to
+.BR grey:on .)
+See also the
+.RB ` G '
+keystroke.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-nogssafer
+.RB ( .gsSafer )
+Normally, if Ghostscript is used to render PostScript specials, the Ghostscript
+interpreter is run with the option
+.BR \-dSAFER .
+The
+.B \-nogssafer
+option runs Ghostscript without
+.BR \-dSAFER .
+The
+.B \-dSAFER
+option in Ghostscript disables PostScript operators such as
+.BR deletefile ,
+to prevent possibly malicious PostScript programs from having any effect.
+If the
+.B \-safer
+option is specified, then this option has no effect; in that case Ghostscript
+is always run with
+.BR \-dSAFER .
+(Note:
+.B \-nogssafer
+corresponds to
+.BR gsSafer:off ;
+.B +nogssafer
+to
+.BR gsSafer:on .)
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-noinstall
+.RB ( .install )
+Inhibit the default behavior of switching to a
+.B TrueColor
+visual if one is available with more bits per pixel than the current visual.
+(Note:
+\-noinstall
+corresponds
+.BR install:off ;
+there is no
+.B +noinstall
+option.)
+See also
+.BR \-install ,
+and the GREYSCALING AND COLORMAPS section.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-nomakepk
+.RB ( .makePk )
+Turns off automatic generation of font files that cannot be found by other
+means.
+(Note:
+.B \-nomakepk
+corresponds to
+.BR makePk:off ;
+.B +nomakepk
+to
+.BR makePK:on .)
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-nomatchinverted
+.RB ( .matchInverted )
+Don't highlight string search matches in inverted color; instead, draw a rectangle in
+.I highlight
+color (see the
+.B \-hl
+option) around the match. This option is activated automatically if
+the display isn't running in TrueColor.
+(Note:
+.B \-nomatchinverted
+corresponds to
+.BR matchInverted:off ;
+.B +nomatchinverted
+to
+.BR matchInverted:on .)
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-noomega
+.RB ( .omega )
+This will disable the use of Omega extensions when interpreting DVI files.
+By default, the additional opcodes
+.I 129
+and
+.I 134
+are recognized by xdvi as Omega extensions and interpreted as requests
+to set 2-byte characters. The only drawback is that the virtual font
+array will require 65536 positions instead of the default 256 positions,
+i.e. the memory requirements of xdvi will be slightly larger. If you find
+this unacceptable or encounter another problem with the Omega extensions,
+you can switch this extension off by using
+.B \-noomega
+(but please do send a bug report if you find such problems - see the bug
+address in the
+.B AUTHORS
+section below).
+.br
+(Note:
+.B \-noomega
+corresponds to
+.BR "omega: off" ;
+.B +noomega
+to
+.BR "omega: on" .)
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-noscan
+.RB ( .prescan )
+By default,
+.B xdvi
+does a preliminary scan of the
+.I dvi
+file to process any
+.B papersize
+specials; this is especially important at startup since the paper size may be
+needed to determine the window size.
+If PostScript<tm> is in use, then prescanning is also necessary in order to
+properly process header files.
+In addition, prescanning is needed to correctly determine the background color
+of a page.
+This option turns off such prescanning.
+(Prescanning will be automatically be turned back on if
+.B xdvi
+detects any of the specials mentioned above.)
+(Note:
+.B \-noscan
+corresponds to
+.BR prescan:off ;
+.B +noscan
+to
+.BR prescan:on .)
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-not1lib
+.RB ( .t1lib )
+This will disable the use of T1Lib to display PostScript<tm> fonts.
+Use this option as a workaround when you encounter problems with the
+display of T1Lib (but please don't forget to send a bug report in
+this case, to the URL mentioned in the section AUTHORS below).
+.br
+(Note:
+.B \-not1lib
+corresponds to
+.BR t1lib:off ;
+.B +not1lib
+to
+.BR t1lib:on .)
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-notempfile
+.RB ( .tempFile )
+As mentined in the section
+.B DESCRIPTION
+above, xdvi will create a temporary copy of the DVI file so that it
+can be accessed without interruptions even while the file is being
+rewritten by
+.BR TeX .
+Since this introduces the overhead of copying the file every time
+it has changed, the
+.B \-notempfile
+allows you to turn off this behaviour. In this case, exposing parts of the
+window while the DVI file is being written by \*(Te\& will erase the current
+window contents until the DVI file can be completely reread.
+.br
+(Note:
+.B \-notempfile
+corresponds to
+.BR tempFile:off ;
+.B +notempfile
+to
+.BR tempFile:on .)
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-offsets " dimen"
+.RB ( .Offset )
+Specifies the size of both the horizontal and vertical offsets of the
+output on the page. By decree of the Stanford \*(Te\& Project,
+the default \*(Te\& page origin is always 1 inch over and down from
+the top-left page corner, even when non-American paper sizes are used.
+Therefore, the default offsets are 1.0 inch.
+The argument
+.I dimen
+should be a decimal number optionally followed by any of the two-letter
+abbreviations for units accepted by \*(Te\&
+.RB ( pt ,
+.BR pc ,
+.BR in ,
+.BR bp ,
+.BR cm ,
+.BR mm ,
+.BR dd ,
+.BR cc ,
+or
+.BR sp ).
+By default, the unit will be
+.BR cm " (centimeters)".
+See also
+.B \-xoffset
+and
+.BR \-yoffset .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-p " pixels"
+.RB ( .pixelsPerInch )
+Defines the size of the fonts to use, in pixels per inch. The
+default value is 600. This option is provided only for backwards
+compatibility; the preferred way is to set both the resolution
+and the Metafont mode via the
+.B \-mfmode
+option (which see).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-paper " papertype"
+.RB ( .paper )
+Specifies the size of the printed page. Note that in most cases it's
+best to specify the paper size in the TeX input file via the line
+.sp
+.B \eusepackage[dvips]{geometry}
+.sp
+which will be recognized by both dvips and xdvi; in that case the
+use of a `-paper' option should be unneccessary.
+.br
+The paper size may be specified in the form
+\fIwidth\fBx\fIheight\fR optionally followed by a unit, where
+.I width
+and
+.I height
+are decimal numbers giving the width and height of the paper, respectively,
+and the unit is any of the two-letter abbreviations for units accepted
+by \*(Te\&
+.RB ( pt ,
+.BR pc ,
+.BR in ,
+.BR bp ,
+.BR cm ,
+.BR mm ,
+.BR dd ,
+.BR cc ,
+or
+.BR sp ).
+By default, the unit is
+.BR cm " (centimeters)"\fR.
+.br
+There are also synonyms which may be used:
+.B us
+(8.5x11in),
+.B legal
+(8.5x14in),
+.B foolscap
+(13.5x17in),
+as well as the ISO sizes
+.BR a1 - a7 ,
+.BR b1 - b7 ,
+.BR c1 - c7 .
+Each of these also has a landscape or `rotated' variant:
+.B usr
+(11x8.5in),
+.BR a1r - a7r ,
+etc. For compatibility with
+.BR dvips ,
+the formats
+.B letter
+(8.5x11in),
+.B ledger
+(17x11in)
+and
+.B tabloid
+(11x17in)
+are also supported (these don't have rotated variants).
+.br
+Any of the above sizes may be preceded by a plus sign
+.RB (` + ');
+this causes the paper size given here to override any paper size given in the
+.I dvi
+file. The default paper size is 21 x 29.7 cm (A4 size).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-pause
+.RB ( .pause )
+This option provides a simple implementation of incremental
+(stepwise) display, which can be used for presentations.
+When this option is used,
+.B xdvi
+will pause the display of the current page whenever it encounters a
+special
+.I special-string
+.RI ( xdvi:pause
+by default; the string can be customized via
+.IR \-pausespecial ,
+see below), and the cursor will change its shape. The action
+.B unpause-or-next()
+(by default bound to the
+.B Space
+key) will display the next portion of the page up to the following
+.IR special-string ,
+or until the end of the page is reached.
+When the option is not used, specials containing
+.I special-string
+will be ignored.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-pausespecial " special-string"
+.RB ( .pauseSpecial )
+Sets the special string that causes xdvi to pause when the
+.I -pause
+option is active. The default value of
+.I special-string
+is
+.IR xdvi:pause .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-postscript " flag"
+.RB ( .postscript )
+If
+.I flag = 0,
+rendering of PostScript<tm> specials is disabled; instead, bounding
+boxes will be displayed (if available). A value of
+.I 1
+(the default) switches PostScript<tm> specials on. With a value of
+.IR 2 ,
+the PostScript<tm> specials are displayed along with their
+bounding boxes; this allows you to visually check the correctness
+of the bounding boxes. The values can also be toggled at runtime
+with the
+.RB ` v '
+keystroke and the corresponding numerical prefix arguments 0, 1 and 2.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-ps2pdfpath " path"
+.RB ( .ps2pdfPath )
+Use
+.I path
+as a conversion program from Postscript to PDF. The program or script
+should accept two command-line arguments: The Postscript file as first
+argument, and the PDF output file as second argument.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-rulecolor " color"
+.RB ( .ruleColor )
+Determines the color of the rules used for the the magnifier
+(default: foreground color).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-q
+.RB ( .noInitFile )
+Ignore the
+.I $HOME/.xdvirc
+startup file (i.e. don't read it at startup, and don't write it
+at exit). This forces the defaults defined in
+.I $HOME/.Xdefaults
+to be used. See
+.B FILES
+for more information on
+.IR $HOME/.xdvirc .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-rv
+.RB ( .reverseVideo )
+Causes the page to be displayed with white characters on a black background,
+instead of vice versa.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-S " density"
+.RB ( .densityPercent )
+Same as
+.B \-density
+(which see).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-s " shrink"
+.RB ( .shrinkFactor )
+Defines the initial shrink factor. The default value is 8. If
+.I shrink
+is given as 0, then the initial shrink factor is computed so that the
+page fits within the window (as if the `s' keystroke were given without
+a number).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-safer
+.RB ( .safer )
+This option turns on all available security options; it is designed for use when
+.B xdvi
+is called by a browser that obtains a
+.I dvi
+or \*(Te\& file from another site.
+This option selects
+.B +nogssafer
+and
+.BR +allowshell .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-sidemargin " dimen"
+.RB ( .sideMargin )
+Specifies the side margin (see
+.BR \-margins ).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-sourceposition " line" [: col "][ ]" filename
+This option makes
+.B xdvi
+search in the
+.I dvi
+file for the place corresponding to the indicated line (and, optionally,
+column) in the .tex source file, and highlight the place found by drawing a
+rectangle in the
+.I highlight
+color (see the
+.B \-hl
+option) around the corresponding text. In addition, when run with this
+argument (and the
+.B \-nofork
+option is not given, which see),
+.B xdvi
+will always return immediately: if it finds another instance of
+.B xdvi
+already showing
+.I dvi_file,
+then it will cause that instance to raise its window and move to the given
+place in the
+.I dvi
+file; otherwise it will start up its own instance in the background.
+If several instances of xdvi are displaying the respective
+.I dvi
+file, the instance which was last raised to the foreground will be used.
+.sp
+The space before
+.I filename
+is only needed if the filename starts
+with a digit. When the space is used, the argument
+needs to be encosed in quotes to prevent the shell from
+misinterpreting the space as argument separator.
+.sp
+This option requires that
+.I dvi_file
+be prepared with source special information. See the section on SOURCE SPECIALS
+for details on how to do this.
+.sp
+Here is a more detailed description of how the filename in the
+.I \-sourceposition
+argument is matched with the filename in the source specials:
+.RS 7
+.TP 3
+1.
+If neither of the filenames contains a path name component, the filenames
+are compared ignoring the
+.RI ` .tex '
+extensions in both filenames.
+.TP
+2.
+Otherwise, if one of the filenames does contain a path component (e.g.:
+.IR ./test.tex ,
+.IR ../test.tex ,
+.IR /my/homedir/tex/test.tex
+or any combination of these), both filenames are expanded to a full path,
+with any occurences of
+.I ../
+and
+.I ./
+expanded, and multiple slashes removed.
+.br
+The pathname in the
+.I \-sourceposition
+is expanded relative to the current working directory of the
+.I xdvi \-sourceposition
+invocation, and the pathnames in the source specials are expanded
+relative to the path of the current DVI file being viewed.
+.br
+The path names are then compared ignoring the
+.RI ` .tex '
+extensions in both path names.
+.RE
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-statusline\fP
+.RB ( .statusline )
+This option is obsolete; use
+\fB\-expertmode \fP \fIflag\fP
+instead (which see).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-thorough
+.RB ( .thorough )
+.B Xdvi
+will usually try to ensure that overstrike characters
+.RI ( e.g. ,
+.BR \enotin )
+are printed correctly. On monochrome displays, this is always possible
+with one logical operation, either
+.I and
+or
+.IR or .
+On color displays, however, this may take two operations, one to set the
+appropriate bits and one to clear other bits. If this is the case, then
+by default
+.B xdvi
+will instead use the
+.I copy
+operation, which does not handle overstriking correctly. The
+.B \-thorough
+option chooses the slower but more correct choice. See also
+.BR \-copy .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-topmargin " dimen"
+.RB ( .topMargin )
+Specifies the top and bottom margins (see
+.BR \-margins ).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-unique
+.RB ( .unique )
+This option will make another instance of xdvi running on the same display
+act as a `server'. For example, the invocation
+.sp
+.B xdvi -unique +5 file.dvi
+.sp
+will cause this other instance to load
+.I file.dvi
+on page 5 in place of the file that it is currently displaying. If there is
+already another instance of xdvi already displaying the file
+.IR file.dvi ,
+then it will just jump to page 5.
+If the other instance of xdvi is displaying a different file, it will load
+.I file.dvi
+instead. Otherwise, if no other instance of
+xdvi is currently running on the display, this option instead
+starts a new instance of xdvi in the background (unless the
+.I \-nofork
+option is specified, which see) displaying page 5 of
+.IR file.dvi .
+.br
+The filename and the
+.B +n
+option for the page number are the only options available for
+controlling a remote instance of xdvi like this; all other options are
+currently ignored.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-useTeXpages
+Use logical \*(Te\& pages (the values of the
+.I \ecount0
+register) instead of physical pages for the pagelist lables and
+when jumping to a page in a document with the `g' keystroke (or the
+.B goto-page()
+action).
+This option can be toggled via the
+.RB ` T '
+keystroke.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-version
+Print information on the version of
+.BR xdvi .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-visitedlinkcolor
+.RB ( .visitedLinkColor )
+Color used for visited hyperlinks (`Purple4' by default). Hyperlinks become
+visited once you click on them. As for
+.BR linkColor ,
+the value should be either a valid X color name or a hexadecimal color string.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B \-warnspecials
+.RB ( .warnSpecials )
+Causes
+.B xdvi
+to issue warnings about
+.B \especial
+strings that it cannot process.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-watchfile " n"
+.RB ( .watchFile )
+If this option is set to a value larger than 0, xdvi will check
+the DVI file for changes every
+.I n
+seconds. If the DVI file has been completely written by TeX, it will
+be reloaded automatically. Fractional values (e.g. `2.5') are
+possible. The default for this option is 0, i.e. no watching.
+.br
+Since xdvi cannot handle partial DVI files, it tries not to reload
+the file while it is being rewritten. However, use of the magnifier
+or switching of pages requires reading (a part of) the DVI file, and
+if the
+.B tempfile
+option is switched off, this will erase the current contents of the window
+until the DVI file can be read entirely.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-wheelunit " pixels"
+.RB ( .wheelUnit )
+Sets the number of pixels that a motion of a wheel mouse will move the
+image up or down. If set to zero, the wheel mouse functionality is disabled.
+The default value is 80.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-xoffset " dimen"
+.RB ( .xOffset )
+Specifies the size of the horizontal offset of the output on the page. See
+.BR \-offsets .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BI \-yoffset " dimen"
+.RB ( .yOffset )
+Specifies the size of the vertical offset of the output on the page. See
+.BR -offsets .
+.PP
+
+
+
+.SH KEYSTROKES
+.B Xdvi
+recognizes the following keystrokes when typed in its window.
+Each may optionally be preceded by a (positive or negative) number, a
+`prefix argument', whose interpretation will depend on the particular keystroke.
+This prefix argument can be discarded by pressing the ``Escape'' key.
+If present, the ``Help'', ``Prior'' and ``Next'' keys are synonyms for
+.RB ` ? ',
+.RB ` b ',
+and
+.RB ` f '
+keys, respectively.
+.PP
+The key bindings listed here are those that
+.B xdvi
+assigns by default. The names appearing in brackets at the beginning
+of the descriptions are the names of the actions associated with the
+keys; these can be used to customize the key bindings, as explained in
+more detail in the section
+.B CUSTOMIZATION
+below. If only a lowercase binding is listed, both upper- and lowercase
+keys will work for that binding.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"
+.\" SPECIAL KEYS
+.\"
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BR ESC " key"
+.RB [ discard-number() ]
+The escape key discards the numerical prefix for all actions
+(useful when you mistyped a number).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BR Delete " key"
+.RB [ up-or-previous() ]
+Moves down two-thirds of a window-full, or to the top of the previous page
+if already at the bottom of the page. With a float argument, moves down the
+corresponding fraction of a window-full. By default, the
+.I Space
+key is bound to the action
+.B unpause-or-next()
+which does a similar thing; see there.
+.br
+The `keep' flag is ignored by these actions.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BR Space " key"
+.RB [ unpause-or-next() ]
+Moves down two-thirds of a window-full, or to the next page if already at
+the bottom of the page.
+.br
+When the option
+.BI \-pause " special-string"
+is used and the display is currenlty paused, this key will instead
+display the next portion of the page until the next
+.I special-string
+or the end of the page is encountered. See the description of the
+.B \-pause
+option for details.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BR Ctrl-Home " (Xaw), " Ctrl-osfBeginLine " (Motif)"
+.RB [ goto-page(1) ]
+Moves to the first page of the document.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BR Ctrl-End " (Xaw), " Ctrl-osfEndLine " (Motif)"
+.RB [ goto-page() ]
+Moves to the last page of the document.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BR Home " (Xaw), " osfBeginLine " (Motif)"
+.RB [ home-or-top() ]
+Move to the ``home'' position of the page, or to the top of the page if
+the
+.I keep
+flag is set (in this case, the page doesn't scroll horizontally).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BR End " (Xaw), " osfEndLine " (Motif)"
+.RB [ end-or-bottom() ]
+Move to the ``end'' position of the page (the lower right-hand corner),
+or to the bottom of the page if the
+.I keep
+flag is set (in this case, the page doesn't scroll horizontally).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"
+.\" ARROW KEYS
+.\"
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Down arrow
+.RB [ down(0.015) ]
+Scrolls page down.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Up arrow
+.RB [ up(0.015) ]
+Scrolls page up.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Right arrow
+.RB [ right(0.015) ]
+Scrolls page right.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Left arrow
+.RB [ left(0.015) ]
+Scrolls page left.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"
+.\" ORDINARY KEYS. Note that the special symbols ([ ] + - etc.) are not in
+.\" strict ASCII order (found that more intuitive). Sequence for each letter
+.\" is: Alt-Ctrl, Ctrl, uppercase, lowercase.
+.\"
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Alt-Ctrl-+
+.RB [ change-density(25) ]
+Increase the darkness of the fonts in the DVI window by adding to the gamma value
+(see also the
+.RB ` S '
+keystroke).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Alt-Ctrl--
+.RB [ change-density(-25) ]
+Decrease the darkness of the fonts in the DVI window by subtracting from the gamma value
+(see also the
+.RB ` S '
+keystroke).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-+
+.RB [ set-shrink-factor(+) ]
+Increase the shrink factor (see also the
+.RB ` s '
+keystroke).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl--
+.RB [ set-shrink-factor(-) ]
+Decrease the shrink factor (see also the
+.RB ` s '
+keystroke).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctr-[
+.RB [ pagehistory-delete-backward() ]
+Delete the current item in the page history and move to the history
+item before the deleted one. With a prefix argument
+.BR n ,
+delete
+.B n
+previous history items. See
+.B PAGE HISTORY
+for details.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B [
+.RB [ pagehistory-back() ]
+Move back in the page history (see
+.B PAGE HISTORY
+for details). With a prefix argument
+.BR n ,
+move back
+.B n
+history items.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctr-]
+.RB [ pagehistory-delete-forward() ]
+Delete the current item in the page history and move to the history
+item after the deleted one. With a prefix argument
+.BR n ,
+delete
+.B n
+next history items. See
+.B PAGE HISTORY
+for details.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B ]
+.RB [ pagehistory-forward() ]
+Move forward in the page history (see
+.B PAGE HISTORY
+for details). With a prefix argument
+.BR n ,
+move forward
+.B n
+history items.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.BR ^
+.RB [ home() ]
+Move to the ``home'' position of the page. This is normally the upper
+left-hand corner of the page, depending on the margins as described in the
+.B \-margins
+option, above.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B ?
+.RB [ help() ]
+Same as the
+.B h
+key (which see).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B B
+.RB [ htex-back() ]
+This key jumps back to the previous hyperlink anchor. See the
+section
+.B HYPERLINKS
+for more information on navigating the links.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B b
+.RB [ back-page() ]
+Moves to the previous page (or back
+.I n
+pages). Synonyms are
+.RB ` p '
+and
+.BR Ctrl-h .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B C
+.RB [ set-color() ]
+This key toggles the use of color specials. The key sequences
+.RB ` 0C '
+and
+.RB ` 1C '
+turn interpretation of color specials off and on, respectively.
+See also the
+.B \-nocolor
+option.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B c
+.RB [ center() ]
+Moves the page so that the point currently beneath the mouse cursor is moved to
+the middle of the window, and warps the mouse cursor to the same place.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B d
+.RB [ down() ]
+Moves page down two thirds of a window-full. With a float argument to ``down'',
+moves down the corresponding fraction of a window-full.
+.\" Therefore, a more
+.\" ``smooth'' scrolling using the ``Up'' and ``Down'' keys can be
+.\" achieved by the the following setting:
+.\" .sp
+.\" xdvi.mainTranslations: #override\e
+.\" .br
+.\" <Key>Up:up(0.01)\en\e
+.\" .br
+.\" <Key>Down:down(0.01)\en
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-f
+.RB [ find() ]
+Pop up a window to search for a string in the DVI file. See the section
+.BR "STRING SEARCH" ,
+below, for more details.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B f
+.RB [ forward-page() ]
+Moves to the next page (or to the
+.IR n th
+next page if a number is given). Synonyms are
+.RB ` n ',
+Return, and Line Feed.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B G
+.RB [ set-greyscaling() ]
+This key toggles the use of greyscale anti-aliasing for displaying shrunken
+bitmaps. In addition, the key sequences
+.RB ` 0G '
+and
+.RB ` 1G '
+clear and set this flag, respectively. See also the
+.B \-nogrey
+option.
+.sp
+If given a numeric argument that is not 0 or 1, greyscale anti-aliasing is
+turned on, and the gamma resource is set to the value divided by
+100. E.g.,
+.RB ` 150G '
+turns on greyscale and sets gamma to 1.5.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-g
+.RB [ find-next() ]
+Find the next match string in the DVI file; this can be used instead
+of pressing the `Find' button in the search window.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B g
+.RB [ goto-page() ]
+Moves to the page with the given number. If no page number is given, xdvi jumps to the last page.
+.br
+If the option/resource
+.B useTeXpages
+is active, the numbers correspond the the actual page numbers in the TeX file;
+otherwise, absolute page numbers (starting from 1) are used. In the latter case,
+the page numbers can be changed with the
+.RB ` P '
+keystroke, below.
+Note that with the
+.B useTeXpages
+option it is possible that the same page number occurs multiple
+times; in such a case, xdvi will use the first page number that matches.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B h
+Pops up a help window with a short explanation of the most important key
+bindings and concepts.
+.\"
+.\" Ummh, surely nobody will use the following ...
+.\"
+.\" For I18n purposes, the help texts and menu entries are configurable
+.\" via the following X resources:
+.\" .BR helpGeneral ,
+.\" #ifhyper
+.\" .BR helpHypertex ,
+.\" #endif
+.\" .BR helpOthercommands ,
+.\" .BR helpMarking ,
+.\" .BR helpPagemotion ,
+.\" .BR helpMousebuttons ,
+.\" .BR helpRulermode ,
+.\" .BR helpSearch and
+.\" .BR helpSourcespecials .
+.\" The values of this resource should be a text string, the first line of
+.\" which should contain two fields separated by `\en'. The first field is
+.\" used as list entry for the list of help topics on the left of the help
+.\" window, and the second field is used as the heading on the right-hand side.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B k
+.RB [ set-keep-flag() ]
+Normally when
+.B xdvi
+switches pages, it moves to the home position as well. The
+.RB ` k '
+keystroke toggles a `keep-position' flag which, when set, will keep
+the same position when moving between pages. Also
+.RB ` 0k '
+and
+.RB ` 1k '
+clear and set this flag, respectively. See also the
+.B \-keep
+option.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-l
+.RB [ fullscreen(toggle) ]
+Toggles fullscreen mode (see the description of the
+.B \-fullscreen
+option for more information on this). This is even more flaky than
+using the command-line option: There is no universal standard
+how a window could change its own geometry or window decorations at
+run-time, so this will not work with most window managers or
+desktops. Generally, it's better to use the window manager controls to
+change the size or decorations of the xdvi window.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B l
+.RB [ left() ]
+Moves page left two thirds of a window-full.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B M
+.RB [ set-margins() ]
+Sets the margins so that the point currently under the mouse cursor defines
+the upper left-hand corner of the text in the page. Note that the command
+does
+.I not
+move the image, but only determines the margins
+for the page switching commands. For details on how the margins
+are used, see the
+.B \-margins
+option.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B m
+.RB [ toggle-mark() ]
+Toggles the mark for the current page in the page list. When a page
+is marked, it is displayed with a small star `*' next to the page number.
+The marked pages can then be printed or saved to a file.
+A page or several pages can also be marked by clicking or dragging
+.B Mouse-2
+in the page list.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-n
+.RB [ toggle-mark()forward-page() ]
+Toggles the mark for the current page in the page list, and moves to
+the next page. This lets you quickly mark a series of subsequent pages.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B n
+.RB [ forward-page() ]
+Moves to the next page (or to the
+.IR n th
+next page if a number is given). Synonyms are
+.RB ` f ',
+Return, and Line Feed.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-o
+.RB [ select-dvi-file() ]
+Read a new
+.I dvi
+file. A file-selection widget is popped up for you to choose the DVI
+file from. If a prefix argument
+.I n
+is given, the
+.I n th
+file from the file history is opened instead.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B P
+.RB [ declare-page-number() ]
+``This is page number
+.IR n .''
+This can be used to make the
+.RB ` g '
+keystroke refer to a different page number than the physical page.
+(If you want to use `logical' or \*(Te\& page numbers instead of physical pages,
+consider using the option
+.B \-useTeXpages
+instead.)
+The argument
+.I n
+should be given as prefix to this key.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-p
+.RB [ print() ]
+Opens a popup window for printing the DVI file, or parts of it.
+See the section
+.B PRINT DIALOG
+for an explanation of the options available, and the resources to customize
+the default behaviour.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B p
+.RB [ back-page() ]
+Moves to the previous page (or back
+.I n
+pages). Synonyms are
+.RB ` b '
+and
+.BR Ctrl-h .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B q
+.RB [ quit() ]
+Quits the program.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-r
+.RB [ forward-page(0) ]
+Redisplays the current page.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B R
+.RB [ reread-dvi-file() ]
+Forces the
+.I dvi
+file to be reread. This allows you to preview many versions of the same
+file while running
+.B xdvi
+only once.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B r
+.RB [ right() ]
+Moves page right two thirds of a window-full.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-s
+.RB [ save() ]
+Opens a popup window for saving the DVI file, or parts of it. See the section
+SAVE DIALOG below for more information on this.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B S
+.RB [ set-density() ]
+Sets the density factor to be used when shrinking bitmaps. This should
+be a number between 0 and 100; higher numbers produce lighter characters.
+If greyscaling mode is in effect, this changes the value of gamma instead.
+The new value of gamma is the given number divided by 100; negative values
+are allowed.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B s
+.RB [ set-shrink-factor() ]
+Changes the shrink factor to the given number. If no number is given, the
+smallest factor that makes the entire page fit in the window will be used.
+(Margins are ignored in this computation.)
+.\" NOTE: following only works in action string, not interactively!!!
+.\" Two special values are
+.\" .B +
+.\" and
+.\" .B -
+.\" which zoom in and out respectively, by decrementing/incrementing the
+.\" shrinkfactor by one step.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B T
+.RB [ use-tex-pages() ]
+Use logical \*(Te\& pages (the values of the
+.I \ecount0
+register) instead of physical pages for the pagelist labels and
+when jumping to a page in a document via
+.BR goto-page() .
+See also the
+.B \-useTeXpages
+option.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B t
+.RB [ switch-magnifier-units() ]
+Switches the units used for the magnifier tick marks, and for reporting
+the distance between the mouse pointer and the ruler centre in
+ruler mode (see the section
+.BR MODES ).
+The default value is specified by the X resource
+.B tickUnits
+(`mm' by default). The units toggle through the following
+values; except for `px', they all correspond to \*(Te\&'s units:
+.I mm
+(millimeters)
+.I pt
+(\*(Te\& points),
+.I in
+(inches),
+.I sp
+(scaled points, the unit used internally by \*(Te\&)
+.I bp
+(big points or `Postscript points'),
+.I cc
+(cicero points),
+.I dd
+(didot points),
+.I pc
+(pica), and
+.I px
+(screen pixels).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-u
+.RB [ back-page()toggle-mark() ]
+Moves to the previous page, and toggles the mark for that page. This
+is the dual action to
+.BR Ctrl-n .
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B u
+.RB [ up() ]
+Moves page up two thirds of a window-full. With a float argument to ``up'',
+moves up the corresponding fraction of a window-full.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-v
+.RB [ show-source-specials() ]
+Show bounding boxes for every source special on the current page, and print
+the strings contained in these specials to stderr. With prefix 1,
+show every bounding box on the page. This is for debugging purposes mainly.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B V
+.RB [ set-gs-alpha() ]
+This key toggles the anti-aliasing of PostScript<tm> specials when
+.B Ghostscript
+is used as renderer. In addition the key sequences
+.RB ` 0V '
+and
+.RB ` 1V '
+clear and set this flag, respectively. See also the
+.B \-gsalpha
+option.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B v
+.RB [ set-ps() ]
+This key toggles the rendering of PostScript<tm> specials between 3 states:
+.RS 7
+.TP 0
+.SB - specials (like EPS graphics) are displayed;
+.TP
+.SB - specials are displayed along with their bounding box (if available);
+.TP
+.SB - only the bounding box is displayed.
+.PP
+.sp
+The states can also be selected directly by using
+.RB ` 1v ',
+.RB ` 2v '
+and
+.RB ` 0v '
+respectively.
+See also the
+.B \-postscript
+option.
+.RE
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-x
+.RB [ source-what-special() ]
+Display information about the source special next to the mouse cursor in the
+statusline. This is the same special that would be found by
+.I source-special() ,
+but without invoking the editor. For debugging purposes.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B x
+.RB [ set-expert-mode() ]
+Toggles expert mode, in which
+the statusline, the scrollbars, the menu buttons, the toolbar (Motif only)
+and the page list are not shown.
+Typing
+.RB ` 1x '
+toggles the display of the statusline at the bottom of
+the window. Typing
+.RB ` 2x '
+toggles the scrollbars (if available). For Xaw,
+.RB ` 3x '
+toggles the menu buttons and the page list, for Motif,
+it toggles the page list. In Motif, the additional bindings
+.RB ` 4x '
+toggle the toolbar, and
+.RB ` 5x '
+the menu bar.
+.br
+Without a prefix argument, all of the mentioned GUI elements are either
+switched on (if they had been invisible before) or off.
+.br
+Toggling the scrollbars may behave erratically with the
+Xaw widgets; e.g. the scrollbars may reappear after
+resizing the window, and at certain window sizes one of the
+scrollbars may fail to disappear.
+.br
+See also the option
+.B \-expertmode
+(the numbers above correspond to the bits in the argument to
+.BR \-expertmode ).
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH MOUSE ACTIONS IN THE MAIN WINDOW
+.TP
+.B Mouse-1
+.RB [ do-href()magnifier(*1) ]
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Mouse-2
+.RB [ do-href-newwindow()magnifier(*2) ]
+Usually, if a binding specifies more then one action, all actions
+are executed in a sequence. The hyperlink bindings
+.B do-href()
+and
+.B do-href-newwindow()
+are special in that they are used as an
+.I alternative
+to other actions that might follow them
+.I if
+the mouse is currently located on a hyperlink.
+In this case, none of the other actions will be executed.
+Otherwise,
+.I only
+the other actions are executed.
+.br
+The action
+.B do-href()
+jumps to the link target in the current xdvi
+window (eventually switching to another page), and
+.B do-href-newwindow()
+opens a new instance of xdvi for the link target.
+In both cases, the location of the target is
+indicated by a small arrow drawn in the same color
+as a visited link
+in the left corner of the window.
+.TP
+.B Mouse-3
+.RB [ magnifier(*3) ]
+The actions
+.B magnifier(n)
+will pop up a ``magnifying glass'' which shows the unshrunk
+image of the region around the mouse pointer. The magnifier disappears when
+the mouse button is released. Moving the mouse cursor while holding the button down will move the
+magnifier.
+.br
+In \fB`Ruler Mode'\fR, the first button moves or sets a ruler cross instead;
+see the section
+.BR MODES ,
+below, for details.
+.br
+Different mouse buttons produce different sized
+windows, as indicated by the
+the argument of the
+.I magnifier()
+action. Its argument is either a string of the form
+.IR width x height ,
+as in the
+.BI \-mgs n
+command-line option, or one of the strings
+.B *1
+through
+.BR *5 ,
+referring to the value specified by the corresponding
+.BI \-mgs n
+option. Note that in order to assign magnifier actions to
+the buttons 4 or 5, you need to use the resource
+.B wheelTranslations
+(more about this resource below), e.g.:
+.sp
+xdvi.wheelTranslations: <Btn4Down>: magnifier(*4)\en\e
+ <Btn5Down>: magnifier(*5)\en
+.sp
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Shift-Mouse-1
+.RB [ drag(+) ]
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Shift-Mouse-2
+.RB [ drag(|) ]
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Shift-Mouse-3
+.RB [ drag(-) ]
+Drags the page with the mouse. Shift-Mouse 1 allows dragging in all directions,
+Shift-Mouse 2 allows vertical dragging only, and Shift-Mouse 3 allows
+horizontal dragging only. To access these actions via customization, use the
+.B drag
+action. This action should have one parameter, the character
+.RB `` | '',
+.RB `` - '',
+or
+.RB `` + '',
+indicating vertical dragging, horizontal dragging, or dragging in both
+directions.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Ctrl-Mouse-1
+.RB [ source-special() ]
+Holding down the
+.I Ctrl
+key and clicking mouse button 1 starts a ``reverse search'',
+opening the editor at the location in the \*(Te\& file corresponding
+to the pointer location in the DVI file.
+See the section on SOURCE SPECIALS, below, for more information on this.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH UNBOUND ACTIONS
+The following actions are not bound to a key by default, but are available
+for customization.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B quit-confirm()
+Pops up a confirmation window to quit xdvi. To bind it to the
+.RB ` q '
+key instead of the default `quit()' action, put the following into your
+.I ~/.Xdefaults
+file:
+.sp
+xdvi.mainTranslations: #override\e
+.br
+<Key>q: quit-confirm()\en
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B down-or-next()
+Similar to
+.IR unpause-or-next() :
+Moves down two-thirds of a window-full, or to the next page if already
+at the bottom of the page.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B shrink-to-dpi()
+This action takes one (required) argument. It sets the shrink factor to
+an integer so as to approximate the use of fonts with the corresponding
+number of dots per inch. If
+.B xdvi
+is using fonts scaled for
+.I p
+dots per inch, and the argument to
+.B shrink-to-dpi
+is
+.IR n ,
+then the corresponding shrink factor is the ratio
+.IR p / n ,
+rounded to the nearest integer.
+.PP
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH CUSTOMIZATION
+Key and mouse button assignments can be changed by setting the
+.B mainTranslations
+resource to a string of translations as defined in the documentation for the
+X toolkit. The actions should take the form of action names listed in the
+KEYSTROKES and MOUSE ACTIONS sections.
+.PP
+An exception to this are the Motif keys
+.IR osfPageUp " (" PgUp ),
+.IR osfPageDown " (" PgDown ),
+.IR osfBeginLine " (" Home )
+and
+.IR osfEndLine " (" End )
+which are currently not customizable in the Motif version.
+.PP
+Key actions will usually be without arguments; if they are passed an argument,
+it represents the optional number or `prefix argument' typed prior to the action.
+.PP
+Some key actions may take special arguments, as follows: The argument of
+.B goto-page
+may be the letter
+.RB ` e ',
+indicating the action of going to the end of the document.
+The argument of
+.B set-shrink-factor
+may be the letter
+.RB ` a ',
+indicating that the shrink factor should be set to the smallest value such that
+the page will fit in the window, or one of the signs
+.RB ` + '
+or
+.RB ` - ',
+indicating that the shrink factor should be increased or decreased, respectively.
+Finally, actions that would perform a toggle, such as
+.BR set-keep-flag ,
+may receive an argument
+.RB ` t ',
+indicating that the action should toggle regardless of the current prefix argument.
+.PP
+Mouse actions should refer only to
+.B ButtonPress
+events (e.g.,
+.BR "<Btn1Down>:magnifier(*1)" ).
+The corresponding motion and release events will be handled internally.
+A key action may be bound to a mouse event, but not vice versa.
+.PP
+Usually the string of translations should begin with
+.RB `` #override '',
+indicating that the default key and mouse button assignments should not
+be discarded.
+.PP
+When keys or mouse buttons involving modifiers (such as Ctrl or Shift)
+are customized together with their non-modified equivalents, the modified
+keys should come first, for example:
+.RS 5
+.nf
+.ft 3
+.sp 1n
+xdvi.mainTranslations: #override \e
+Ctrl<Btn1Down>: magnifier(*3)\en\e
+Shift<Btn1Down>: magnifier(*2)\en\e
+<Btn1Down>: magnifier(*1)\en
+.sp 1n
+.ft
+.fi
+.RE
+.PP
+Note: The additional `Modes' for Mouse-1 (Ruler Mode, Text Mode - see
+the section
+.BR MODES )
+only work if Mouse-1 has the magnifier() action bound to it.
+.PP
+Because
+.B xdvi
+needs to capture pointer motion events, and because the X Toolkit
+translations mechanism cannot accommodate both motion events and double-click
+events at the same time, it is not possible to specify double-click
+actions in
+.B xdvi
+customizations. For information on this and other aspects of translations,
+see the X Toolkit Intrinsics documentation.
+.PP
+There is no command-line option to set the
+.B mainTranslations
+resource, since changing this resource on the command line would be cumbersome.
+To set the resource for testing purposes, use the
+.B -xrm
+command-line option provided by the X toolkit. For example,
+\fBxdvi \-xrm 'XDvi.mainTranslations: #override "z":quit()' ...\fR
+or
+.B "xdvi \-xrm 'XDvi.mainTranslations: #override <Key>z:quit()' ..."
+will cause the key
+.RB ` z '
+to quit
+.BR xdvi .
+.PP
+Support of wheel mice is controlled by the
+.B wheelTranslations
+resource. Generally the only action routine called by this resource should be
+.BR wheel .
+The default value is
+``\fB<Btn4Down>:wheel(-1.)\en<Btn5Down>:wheel(1.)\fR''.
+Because this resource is implemented differently from the others, it should
+not begin with
+.RB ``#override '';
+when specifying a value for this resource, all wheel actions should be
+included.
+.\" #ifxaw
+.\" NOTE: following is different with Motif, and will change for Xaw too ...
+.\" removed for the time being.
+.\"
+.\" .PP
+.\" The menu entries and actions may also be customized, in a similar manner.
+.\" In this case the resource
+.\" .B menuTranslations
+.\" should consist of a string describing the pulldown menu names, submenu entries
+.\" and the associated actions. Currently, only one level of submenus is provided for.
+.\" The description consists of lines (substrings separated by the newline character
+.\" `\fB\\n\fP'),
+.\" where each line describes one menu entry. Each line consists of a colon-separated
+.\" list containing the following elements:
+.\" .RS 2
+.\" .TP 2
+.\" -
+.\" the name of the menu;
+.\" .TP
+.\" -
+.\" the name of the submenu;
+.\" .TP
+.\" -
+.\" an accelerator for the action (the accelerator is currently not displayed in the menu, but it might be in future versions);
+.\" .TP
+.\" -
+.\" one of the actions mentioned in the sections on KEYSTROKES above.
+.\" .RE
+.\" .PP
+.\" Instead of a submenu and an action, an entry may also contain the string
+.\" .RB `` SEP '' ;
+.\" in this case, a separator line is inserted after the preceding menu entry.
+.\" .PP
+.\" The default value of this resource is as follows:
+.\" .RS 5
+.\" .nf
+.\" .ft 3
+.\" .sp 1n
+.\" xdvi.menuTranslations: \e
+.\" File:Open ...:Ctrl-o:select-dvi-file()\en\e
+.\" File:Find ...:Ctrl-f:find()\en\e
+.\" File:Reload:R:reread-dvi-file()\en\e
+.\" File:Print ...:Ctrl-p:print()\en\e
+.\" File:Save as ...::save()\en\e
+.\" File:Quit:q:quit()\en\e
+.\" Navigate:First:1 g:goto-page(1)\en\e
+.\" Navigate:Page-10:10 p:back-page(10)\en\e
+.\" Navigate:Page-5:5 p:back-page(10)\en\e
+.\" Navigate:Prev:p:back-page(1)\en\e
+.\" Navigate:SEP:\en\e
+.\" Navigate:Next:n:forward-page(1)\en\e
+.\" Navigate:Page+5:5 n:forward-page(5)\en\e
+.\" Navigate:Page+10:10 n:forward-page(10)\en\e
+.\" Navigate:Last:g:goto-page()\en\e
+.\" Navigate:SEP:\en\e
+.\" Navigate:Back Hyperlink:B:htex-back()\en\e
+.\" Mark:Mark all:-1 m:toggle-mark(-1)\en\e
+.\" Mark:Unmark all:0 m:toggle-mark(0)\en\e
+.\" Mark:SEP:\en\e
+.\" Mark:Toggle odd:1 m:toggle-mark(1)\en\e
+.\" Mark:Toggle even:2 m:toggle-mark(2)\en\e
+.\" Mark:Toggle current:m:toggle-mark()\en\e
+.\" Zoom:Zoom in:Ctrl-+:set-shrink-factor(+)\en\e
+.\" Zoom:Zoom out:Ctrl--:set-shrink-factor(-)\en\e
+.\" Zoom:SEP:\en\e
+.\" Zoom:Fit in window:s:set-shrink-factor(a)\en\e
+.\" Zoom:SEP:\en\e
+.\" Zoom:$#:1 s:set-shrink-factor(1)\en\e
+.\" Zoom:$#:2 s:set-shrink-factor(2)\en\e
+.\" Zoom:$#:3 s:set-shrink-factor(3)\en\e
+.\" Zoom:$#:4 s:set-shrink-factor(4)\en\e
+.\" Zoom:$#:5 s:set-shrink-factor(5)\en\e
+.\" Zoom:$#:6 s:set-shrink-factor(6)\en\e
+.\" Zoom:$#:7 s:set-shrink-factor(7)\en\e
+.\" Zoom:$#:8 s:set-shrink-factor(8)\en\e
+.\" Zoom:$#:9 s:set-shrink-factor(9)\en\e
+.\" Options:View PS:1 v:set-ps(1)\en\e
+.\" Options:View PS + bbox:2 v:set-ps(2)\en\e
+.\" Options:No PS, bbox only:0 v:set-ps(0)\en\e
+.\" Options:SEP:\en\e
+.\" Options:Keep position:k:set-keep-flag(toggle)\en\e
+.\" Options:SEP:\en\e
+.\" Options:Fonts darker:Alt-Ctrl-+:change-density(25)\en\e
+.\" Options:Fonts lighter:Alt-Ctrl--:change-density(-25)\en\e
+.\" Help:About ...::help(helpGeneral)\en\e
+.\" Help:Page Motion ...::help(helpPagemotion)\en\e
+.\" Help:Other Commands ...::help(helpOthercommands)\en\e
+.\" Help:Mouse Buttons ...::help(helpMousebuttons)\en\e
+.\" Help:HyperTeX commands ...::help(helpHypertex)\en\e
+.\" Help:Source specials ...::help(helpSourcespecials)\en
+.\" .sp 1n
+.\" .ft
+.\" .fi
+.\" .RE
+.\" .PP
+.\" The label string may contain a colon if it is escaped by a backslash
+.\" (`\fB\\\fP'). (Note: Since the internal handling of menus requires
+.\" every menu label to be unique, xdvi's special strings for customizing
+.\" shrink factors in the buttons --
+.\" .RB ` $# ',
+.\" .RB ` $% '
+.\" and
+.\" .RB ' $_ '
+.\" -- are not supported by xdvik).
+.\" endif
+.PP
+Some resources are provided to allow customization of the geometry of
+the Xaw command buttons. Again, they are not changeable via command-line
+options, other than via the
+.B \-xrm
+option. All of these resources take integer values.
+.TP
+.B buttonSideSpacing
+The number of pixels to be placed on either side of the buttons.
+The default value is 6.
+.TP
+.B buttonTopSpacing
+The number of pixels between the top button and the top of the window.
+The default value is 50.
+.TP
+.B buttonBetweenSpacing
+The number of pixels between the buttons.
+The default value is 20.
+.TP
+.B buttonBetweenExtra
+The number of pixels of additional space to be inserted if the
+.B buttonTranslations
+resource string contains an extra newline character.
+The default value is 50.
+.TP
+.B buttonBorderWidth
+The border width of the button windows. The default value is 1.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH PAGE LIST
+The scrollable page list on the right of the main window allows you to
+jump directly to a page in the DVI file.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Mouse-1
+Jumps to the page the mouse is located on.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B Mouse-2
+.RB [ toggle-mark() ]
+Toggle the mark of the current page. The marks are used by the `Print'
+and `Save to file' dialogs to select only marked pages from the DVI file.
+.PP
+When the mouse pointer is inside the page list, the mouse wheel switches
+to the next or previous page.
+.PP
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH SCROLLBARS
+The scrollbars (if present) behave in the standard way: pushing Button 2
+in a scrollbar moves the top or left edge of the scrollbar to that point
+and optionally drags it;
+pushing Button 1 moves the image up or right by an amount equal to the distance
+from the button press to the upper left-hand corner of the window; pushing
+Button 3 moves the image down or left by the same amount.
+.PP
+The scrollbars can be removed via the
+.I -expertmode
+flag/keystroke (which see).
+.PP
+Wheel mice are supported: motion of the wheel on such a mouse moves the
+image up or down by the number of pixels indicated by the
+.B \-wheelunit
+option. To access this option via customization, use the
+.B wheel
+action. This action takes one parameter, giving the distance to scroll
+the image. If the parameter contains a decimal point, the distance is given
+in wheel units; otherwise, pixels.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH MAGNIFIER
+By default, the mouse buttons 1 to 5 will pop up a ``magnifying glass''
+that shows an unshrunken image of the page (i.e. an image at the resolution
+determined by the option/X resource
+.B pixels
+or
+.BR mfmode )
+at varying sizes. When the magnifier is moved, small ruler-like
+tick marks are displayed at the edges of the magnifier (unless
+the X resource
+.B delayRulers
+is set to false, in which case the tick marks will always be displayed).
+The unit of the marks is determined by the X resource
+.B tickUnits
+(mm by default). This unit can be changed at runtime via the action
+.BR switch-magnifier-units() ,
+by default bound to the keystroke
+.RB ` t '
+(see the description of that key, and of switch-magnifier-units() for
+more details on the units available).
+.br
+The length of the tick marks can be changed via the X resource
+.B tickLength
+(4 by default). A zero or negative value suppresses the tick marks.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH PAGE HISTORY
+Xdvi keeps a history of viewed pages, and you can move through the history
+and delete items using the keys
+.B [
+.RI ( pagehistory-back() ),
+.B ]
+.RI ( pagehistory-forward() ),
+.B Ctr-[
+.RI ( pagehistory-delete-backward() )
+and
+.B Ctr-]
+.RI ( pagehistory-delete-forward() ).
+.PP
+When one of the history commands is used, the page history is displayed
+in the status line at the bottom of the window, with the current list
+item marked by square brackets `[', `]' and a left and right context of
+at most 10 items. File boundaries are marked by `#'.
+.PP
+The size of the history can be customized with the X resource
+.B pageHistorySize
+(the default size is 1000 items). If the size is set to 0, the
+history commands are disabled.
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH HYPERLINKS
+The actions
+.B do-href()
+and
+.B do-href-newwindow()
+(by default bound to Mouse-1 and Mouse-2 if the pointer is currently located
+on a hyperlink) can be used to open the link target in the same window
+.RB ( do-href() )
+or in a new window
+.RB ( do-href-newwindow() ).
+.PP
+If the link target is not a file on the local disk,
+xdvi tries to launch a web browser (as specified by the
+.B -browser
+command line option, the
+.B BROWSER
+environment variable or the
+.B wwwBrowser
+X resource, in this order) to retrieve the document. See the description
+of the
+.B BROWSER
+environment variable, below, for an example setting.
+.PP
+If the file is a local file, xdvi tries to determine if it is a DVI
+file. If it is, xdvi will try to display the file; otherwise it will
+try to determine the MIME type of the file, and from that an
+application suitable for opening the file.
+This is done by parsing the files specified by the environment variable
+.B EXTENSIONMAPS
+for a mapping of filename extensions to MIME types,
+and the files determined by the environment variable
+.B MAILCAPS
+for a mapping of MIME types to application programs.
+See the descriptions of these variables in the section
+.BR ENVIRONMENT ,
+below, for a more detailed description and the default values of these
+variables. If no suitable files are found, a set of built-in default
+MIME types and applications is used.
+.PP
+Xdvi currently uses no heuristics apart from the filename suffix
+to determine the mime type of a file. If a filename has no suffix,
+the value of the resource
+.B noMimeSuffix
+is used (by default
+.IR application/x-unknown ).
+If the suffix doesn't match any of the suffixes in
+.BR mime.types ,
+the value of the resource
+.B unknownMimeSuffix
+is used (by default
+.IR application/x-unknown ).
+If the
+.B mailcap
+entries do not list a viewer for a given mime type, xdvi will show
+a warning popup. If you want to avoid this warning, and for example
+want to always use the netscape browser for unknown MIME types,
+you could add the following line to your ~/.mailcap file:
+.RS 4
+.nf
+.ft 3
+.sp 1n
+application/xdvi-unknown; \e
+ netscape -raise -remote 'openURL(%s,new-window)'
+.sp 1n
+.ft
+.fi
+.RE
+.\" As an example, consider the following settings, which are the default
+.\" settings for buttons 1 and 2:
+.\" .RS 5
+.\" .nf
+.\" .ft 3
+.\" .sp 1n
+.\" xdvi.mainTranslations: #override \e
+.\" <Btn1Down>: do-href()magnifier(*1)\en\e
+.\" <Btn2Down>: do-href-newwindow()magnifier(*2)\en\e
+.\" <Btn3Down>: magnifier(*3)\en
+.\" .sp 1n
+.\" .ft
+.\" .fi
+.\" .RE
+.\" .PP
+.\" If a link points to a file which is not a DVI file (e.g. HTML, or
+.\" PostScript), the files
+.\" .B mime.types
+.\" and
+.\" .B mailcap
+.\" are parsed to determine a suitable viewer; if no suitable
+.\" .B mailcap
+.\" entry was found, if the
+.\" .SB WWWBROWSER
+.\" environment variable is set, or
+.\" .B \-browser
+.\" was specified on the command line, the browser is launched to load the file.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH STRING SEARCH
+The keystroke
+.I Ctrl-f
+or the menu entry
+.I File > Find ...
+(or the `Binoculars' symbol in the toolbar, for Motif)
+opens a dialog window to search for a text string or
+a regular expression in the DVI file.
+The keystroke
+.I Ctrl-g
+jumps to the next match (like pressing the `Find' button in the search window).
+.PP
+By default, the matches are highlighted in inverted color.
+If the display isn't running in TrueColor, or if the X resouce
+.B matchHighlightInverted
+is set to false or the command-line option
+.B \-nomatchinverted
+is used, xdvi will instead draw a rectangle in
+.I highlight
+color (see the
+.B \-hl
+option) around the match.
+.PP
+If a match crosses a page boundary, only the part on the
+first page is highlighted.
+.B Xdvi
+will scan up to 2 adjacent pages to match strings crossing page
+boundaries; but note that header or footer
+lines, or intervening float pages will be treated as parts of the
+scanned text. Such text will usually cause multi-page matching to fail.
+.PP
+This emphasizes the fact that searching in the
+formatted text (the DVI output) works differently from
+searching in the source text: Searching in the DVI file makes it easier to
+skip formatting instructions, and makes it possible to search for e.g.
+hyphenation and equation numbers; but sometimes the
+formatting results can also get in the way, e.g. in the case of
+footnotes. In these cases it's better to search in the \*(Te\& source
+instead. The use of
+.I source specials
+will make switching between the
+xdvi display and the editor with the \*(Te\& source easier; see the
+section
+.B SOURCE SPECIALS
+below for more information on this.
+.PP
+The text extracted from the DVI file is in encoded in UTF-8
+(you can view that text by saving the file in UTF-8 format via the
+.I File > Save as ...
+menu item).
+If xdvi has been compiled with locale,
+.I nl_langinfo()
+and
+.I iconv
+support, the search term is converted from the character set
+specified by the current locale into UTF-8. (See the output of
+.B locale -a
+for a list of locale settings available on your system).
+If
+.I nl_langinfo()
+is not available, but
+.I iconv
+is, you can specify the input encoding for
+.I iconv
+via the X resource
+.I textEncoding
+(see the output of
+.B iconv -l
+for a list of valid encodings). If
+.I iconv
+support is not available, only the encodings
+.I ISO-8859-1
+and
+.I UTF-8
+are supported (these names are case-insensitive).
+.PP
+Ideographic characters from CJKV fonts are treated specially: All white space
+(spaces and newlines) before and after such characters is ignored in
+the search string and in the DVI file.
+.PP
+To match a newline character, use \fI\en\fR in the search string;
+to match the string \fI\en\fR, use \fI\e\en\fR.
+.PP
+If the checkbox
+.I Regular Expression
+is activated, the string is treated as a regular expression in
+extended POSIX syntax, with the following properties:
+.RS 2
+.TP 2
+-
+\fIa?\fR matches \fIa\fR zero or one times.
+.TP
+-
+\fIa*\fR matches \fIa\fR zero or more times.
+.TP
+-
+\fIa+\fR matches \fIa\fR one or more times.
+Note that \fI*\fR and \fI+\fR are greedy, i.e. they match the longest possible substring.
+.TP
+-
+The pattern \fI.\fR matches any character except for newline. To also match a newline, use `\fI(.|\en)\fR'.
+.TP
+-
+\fIa{n}\fR matches \fIa\fR exactly n times.
+.TP
+-
+\fIa{n,m}\fR matches \fIa\fR at least n and no more than m times.
+.TP
+-
+\fIa|b\fR matches \fIa\fR or \fIb\fR. Brackets can be used
+for grouping, e.g.: \fI(a|b)|c\fR.
+.TP
+-
+The string matched by the nth group can be referenced by \fI\en\fR, e.g. \fI\e1\fR refers to the
+first match.
+.TP
+-
+The characters \fI^\fR and \fI$\fR match the beginning and the end of a line, respectively.
+.TP
+-
+\fI[abc]\fR matches any of the letters a, b, c, and \fI[a-z]\fR matches all characters from a to z.
+.TP
+-
+Each item in a regular expression can also be one of the following POSIX
+character classes:
+.br
+.nf
+.I [[:alnum:]] [[:alpha:]] [[:blank:]] [[:cntrl:]] [[:digit:]]
+.I [[:graph:]] [[:lower:]] [[:print:]] [[:space:]] [[:upper:]]
+.fi
+
+
+These can be negated by inserting a \fI^\fR symbol after the first bracket:
+.I [^[:alpha:]]
+
+For more details on POSIX regular expressions, see e.g. the
+.B IEEE Std 1003.1
+standard definition available online from:
+
+.nf
+http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap09.html
+.fi
+.TP
+-
+As a non-standard extension, the following Perl-like abbreviations
+can be used instead of the POSIX classes:
+.nf
+.sp 1n
+.ta 1L +8L +30L
+Symbol Meaning POSIX Class
+
+ \fI\ew\fR an alphanumeric character \fI[[:alnum:]]\fR
+ \fI\eW\fR a non-alphanumeric character \fI[^[:alnum:]]\fR
+ \fI\ed\fR a digit character \fI[[:digit:]]\fR
+ \fI\eD\fR a non-digit character \fI[^[:digit:]]\fR
+ \fI\es\fR a whitespace character \fI[[:space:]]\fR
+ \fI\eS\fR a non-whitespace character \fI[^[:space:]]\fR
+.sp 1n
+.fi
+.TP
+-
+The following characters are special symbols; they need to be escaped
+with \fI\e\fR in order to match them literally: \fI ( ) [ ] . * ? + ^ $ \e\fR.
+.TP
+-
+Matches of length zero are silently skipped.
+.RE
+.PP
+The dialog also provides checkboxes to:
+.RS 2
+.TP 2
+-
+search backwards;
+.TP
+-
+match in a case-sensitive manner (the default is to ignore case, i.e. a search
+string
+.I Test
+will match both the strings
+.I test
+and
+.I TEST
+in the DVI file);
+.TP
+-
+ignore line breaks and hyphens: This removes all hyphens at the ends
+of lines and the following newline characters, and replaces all
+remaining newline characters by white spaces. So hyphenated words will
+appear as one word to the search, and a search for two words with a space
+in between will also match the words if they are separated by a linebreak.
+.br
+Note that the hyphen removal may cause unwanted side effects for compound words
+containing hyphens that are wrapped after the hyphen, and that replacing the
+newlines affects the interpretation of regular expressions as follows:
+The \fI.\fR pattern will also match newlines, and \fI^\fR and \fI$\fR won't match
+begin and end of lines any more. (Since currently there is no option for turning
+off the greediness of \fI*\fR and \fI+\fR, turing on this option will usually
+result in matches that are longer than desired.)
+.RE
+.PP
+The current checkbox settings are saved in the
+.I ~/.xdvirc
+file.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH PRINT DIALOG
+The print dialog window allows you to print all pages, marked pages
+(click or drag Mouse-2 in the page list to mark them), or a range
+of pages. Note that the page numbers always refer to physical pages,
+so if you're using the option `use TeX pages', you may want to disable
+it to make it easier to determine the correct page numbers (or avoid this
+problem altogether by marking the pages to be printed).
+.PP
+The value of the
+.B Printer
+text filed is passed to
+.B dvips
+via the
+.B -o!
+mechanism, as a single argument after the `!'. Any arguments
+listed in the
+.B Dvips options
+field are segmeted at whitespaces and passed as separate arguments to dvips.
+If you e.g. want to print the file 2-up, you should enter
+the following string into the
+.B Printer
+field:
+.RS 5
+.nf
+.sp 1n
+ \fIpsnup -2 -q | lpr -Plp\fP
+.sp 1n
+.fi
+.RE
+.PP
+There are several resources for customizing the behaviour and the default entries
+of the print dialog:
+.TP
+.B dvipsPrinterString
+.TP
+.B dvipsOptionsString
+These can be used to provide default entries for the
+.B Printer
+and the
+.B Dvips options
+text fields, respectively. If no paper size is specified in the DVI file
+(via e.g. \eusepackage[dvips]{geometry} - this is the preferred method),
+the input field is initialized with the current value of the
+command line option/X resource
+.BR paper .
+E.g., the option
+.I -paper a4r
+is translated into the dvips options
+.IR "-t a4 -t landscape" .
+Note that no check is performed whether dvips actually understands these
+options (it will ignore them if it can't); currently not all options
+used by xdvi are also covered by dvips.
+.TP
+.B dvipsHangTime
+.TP
+.B dvipsFailHangTime
+These specify the time (in milliseconds) that the printing progress window will
+stay open after the
+.B dvips
+process has terminated. The value of
+.BR dvipsHangTime
+is used if the process terminates successfully;
+.B dvipsFailHangTime
+is used if it terminates with an error. The default values are 1.5 and 5 seconds, respectively.
+If both values are negative, the window will stay open until it is closed by the user.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH SAVE DIALOG
+This dialog allows you to save all or selected/marked pages in the current
+DVI file. You can save in one of the following formats:
+.RS 2
+.TP 2
+-
+Postscript (uses
+.B dvips
+to convert the DVI file to a Postscript file, just like when printing
+to a Postscript file).
+.TP
+-
+PDF (first uses
+.B dvips
+to convert the DVI file to a Postscript file, then uses
+.B ps2pdf
+to convert the Postscript file to PDF).
+.TP
+-
+Plain text in ISO-8859-1 or UTF-8 encoding (the latter will preserve more
+of the special LaTeX characters e.g. from mathematical mode).
+If a character cannot be displayed in the selected
+charset, it is replaced by `\e' followed by the hexadecimal character code.
+If a character is not recognized at all, it is replaced by `?'.
+If you think that xdvi should recognize a character but doesn't,
+please send a feature request to the address given in
+.B AUTHORS
+below. Likewise, if you observe spurious spaces or unwanted linebreaks in
+the output, please report this as a bug.
+.RE
+.PP
+The programs for Postscript and PDF conversion can be customized via
+the command line options or X resources
+.BR -dvipspath / .dvipsPath
+and
+.BR -ps2pdfpath / .ps2pdfPath ,
+respectively; see the explanation of these options above for more details.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH MODES
+The keystroke
+.B Ctrl-m
+[\fBswitch-mode()\fR]
+switches between three different bindings for
+.BR Mouse-1 ,
+which can also be activated via the
+.B Modes
+menu (in Motif, this is a submenu of the
+.B Options
+menu called
+.BR "Mouse Mode" ).
+The default mode at startup can be customized via the X resource
+.B mouseMode
+or the command-line option
+.BR \-mousemode .
+The default startup mode is Magnifier Mode.
+.PP
+.B Note:
+The modes are implemented by changing the
+.I magnifier()
+action. Switching the mode will not work if
+.B Mouse-1
+has been customized to an action sequence that does
+not contain the magnifier() action.
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B "Magnifier Mode"
+In this mode, the mouse buttons 1 to 5 pop up a ``magnifying glass''
+that shows an unshrunken image of the page (i.e. an image at the resolution
+determined by the option/X resource
+.B pixels
+or
+.BR mfmode )
+at varying sizes. When the magnifier is moved, small ruler-like
+tick marks are displayed at the edges of the magnifier (unless
+the X resource
+.B delayRulers
+is set to false, in which case the tick marks are always displayed).
+The unit of the marks is determined by the X resource
+.B tickUnits
+(mm by default). This unit can be changed at runtime via the action
+.BR switch-magnifier-units() ,
+by default bound to the keystroke
+.RB ` t '
+(see the description of that key, and of switch-magnifier-units() for
+more details on the units available).
+.br
+The length of the tick marks can be changed via the X resource
+.B tickLength
+(4 by default). A zero or negative value suppresses the tick marks.
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B "Text Selection Mode"
+This mode allows you to select a rectangular region of text in the DVI
+file by holding down
+.B Mouse-1
+and moving the mouse. The text is put into
+the X primary selection so that it can be pasted into other X applications
+with
+.B Mouse-2
+as usual.
+.br
+If xdvi has been compiled with locale,
+.I nl_langinfo()
+and
+.I iconv
+support, the selected text is converted into the character set of the
+current locale (see the output of
+.B locale -a
+for a list of locale settings available on your system).
+If
+.I nl_langinfo()
+is not available, but
+.I iconv
+is, you can specify the input encoding for
+.I iconv
+via the X resource
+.I textEncoding
+(see the output of
+.B iconv -l
+for a list of valid encodings). If
+.I iconv
+support is not available, only the encodings
+.I ISO-8859-1
+and
+.I UTF-8
+are supported (these names are case-insensitive).
+.br
+Note that UTF-8 is
+the only encoding that can render all characters (e.g. mathematical
+symbols) of a DVI file. If ISO-8859-1 is active, characters that cannot be displayed
+are replaced by `\e' followed by the hexadecimal character code.
+For other encodings, such characters may trigger iconv error messages.
+If a character is not recognized at all, it is replaced by `?'.
+.br
+To extract larger portions of text, you can alternatively
+save selected pages or the entire file in text format via the
+.B File > Save as ...
+menu.
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.B "Ruler Mode"
+This mode provides a simple way of measuring distances on the page.
+.br
+When this mode is activated, the mouse cursor changes into a
+thin cross, and a larger, cross-shaped ruler is drawn in the
+highlight color at the mouse location. The ruler doesn't have
+units attached to it; instead, the current distance between the
+ruler and the mouse cursor is continously printed to the
+statusline.
+.br
+When activating Ruler Mode, the ruler is at first attached to
+the mouse and can be moved around. It can then be positioned at
+a fixed place by clicking
+.BR Mouse-1 .
+After that, the mouse cursor
+can be moved to measure the horizontal
+.RI ( dx ),
+vertical
+.RI ( dy )
+and direct (shortest)
+.RI ( dr )
+distance between the ruler center point and the mouse.
+.br
+Clicking
+.B Mouse-1
+again will move the ruler to the current mouse
+position, and holding down
+.B Mouse-1
+will drag the ruler around.
+.br
+In Ruler Mode, the following special keybindings extend or
+replace the default bindings:
+.RS 7
+.TP 7
+.B o
+.RB [ ruler-snap-origin() ]
+Snap the ruler back to the origin coordinate (0,0).
+.TP
+.B t
+\fR[overrides \fBswitch-magnifier-units()\fP]
+Toggle between various ruler units, which can be specified by the X
+resource
+.B tickUnits
+(`mm' by default).
+.TP
+.B P
+\fR[overrides \fBdeclare-page-number()\fP]
+Print the distances shown in the statusline to standard output.
+.RE
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH TOOLBAR (Motif only)
+The Motif toolbar can also be customized. The XPM file used for the
+toolbar icons can be specified via the resource
+.BR toolbarPixmapFile ,
+which should contain a filename that can be found in one of
+.B XFILESEARCHPATH
+or
+.B XDVIINPUTS
+(see the section
+.B FILE SEARCHING
+below for more information on these variables).
+Xdvi will try to split this pixmap horizontally into
+.I n
+pieces, where each piece is as wide as the pixmap is high
+and is treated as an image for toolbar button
+.IR n .
+This means that each icon should be a square, and that the entire
+pixmap should have width
+\fIn\fR x \fIh\fR if \fIh\fR is the height of the pixmap.
+.PP
+The resource
+.B toolbarTranslations
+can be used to map icons/buttons to specific actions.
+The resource should contain a string separated by newline characters,
+similar to the resources
+.B mainTranslations
+and
+.BR menuTranslations .
+Every line must contain either a spacer definition, or an icon definition:
+.PP
+A spacer definition is a string \fBSPACER(\fIn\fB)\fR,
+where
+.I n
+is the number of pixels inserted as separator to the following button.
+.PP
+An icon definition is a colon-separated list containing the following elements:
+.RS 2
+.TP 2
+.SB - the index of an icon in the pixmap file (starting from zero);
+.TP
+.SB - a long tooltip string, displayed in the status area;
+.TP
+.SB - a short tooltip string, displayed as popup;
+.TP
+.SB - a sequence of actions to be performed when the corresponding toolbar button is pushed.
+.RE
+.PP
+To illustrate this, the default value of
+.B toolbarTranslations
+looks as follows:
+.RS 5
+.nf
+.ft 3
+.sp 1n
+xdvi.toolbarTranslations: \e
+ SPACER(5)\en\e
+ 0:Open a new document (Key\e\e: Ctrl-f):\e
+ Open file:select-dvi-file()\en\e
+ SPACER(10)\en\e
+ 1:Reread this document (Key\e\e: R):\e
+ Reread file:reread-dvi-file()\en\e
+ SPACER(10)\en\e
+ 2:Go to the first page of this document (Key\e\e: 1g):\e
+ Go to first page:goto-page(1)\en\e
+ 3:Go to the previous page of this document (Key\e\e: p):\e
+ Go to previous page:back-page(1)\en\e
+ 4:Go to the next page of this document (Key\e\e: n):\e
+ Go to next page:forward-page(1)\en\e
+ 5:Go to the last page of this document (Key\e\e: g):\e
+ Go to last page:goto-page()\en\e
+ SPACER(10)\en\e
+ 6:Enlarge the display (Key\e\e: Ctrl-+):Zoom in:\e
+ set-shrink-factor(+)\en\e
+ 7:Shrink the display (Key\e\e: Ctrl--):Zoom out:\e
+ set-shrink-factor(-)\en\e
+ SPACER(10)\en\e
+ 8:Jump back to the previous hyperlink (Key\e\e: B):\e
+ Back hyperlink:htex-back()\en\e
+ SPACER(10)\en\e
+ 10:Print this document:Print:print()\en\e
+ SPACER(10)\en\e
+ 11:Toggle marks for odd pages (Key\e\e: 1m):\e
+ Toggle odd:toggle-mark(1)\en\e
+ 12:Toggle marks for even pages (Key\e\e: 2m):\e
+ Toggle even:toggle-mark(2)\en\e
+ 13:Toggle mark for current page (Key\e\e: 2m):\e
+ Toggle current:toggle-mark()\en\e
+ 14:Unmark all pages (Key\e\e: 0m):\e
+ Unmark all:toggle-mark(0)\en\e
+ SPACER(10)\en\e
+ 18:Display fonts darker (Key\e\e: Alt-Ctrl-+):\e
+ Fonts darker:change-density(5)\en\e
+ 19:Display fonts lighter (Key\e\e: Alt-Ctrl--):\e
+ Fonts lighter:change-density(-5)\en
+.sp 1n
+.ft
+.fi
+.RE
+.PP
+When the mouse remains over a toolbar button for a certain period, a `tooltip'
+window is shown, describing what the button does using the
+.I short tooltip string
+from the above resource. At the same time, the
+.I long tooltip string
+is displayed in the statusline.
+The appearance and behaviour of these tooltips can be customized via
+the following resources:
+.TP
+.B tipShell.background
+Background color of the tooltip window.
+.TP
+.B tipShell.fontSet
+Font used for the tooltip.
+.TP
+.B tipShell.waitPeriod
+The time (in milliseconds) the mouse pointer needs to be over
+the button before the tooltip is shown. Set it to a negative value
+to suppress the tooltips altogether.
+
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH GREYSCALING AND COLORMAPS
+The greyscale anti-aliasing feature in
+.B xdvi
+will not work at its best if the display does not have enough colors available.
+This can happen if other applications are using most of the colormap
+(even if they are iconified). If this occurs, then
+.B xdvi
+will print an error message and turn on the
+.B -copy
+option. This will result in overstrike characters appearing wrong;
+it may also result in poor display quality if the number of available
+colors is very small.
+.PP
+Typically this problem occurs on displays that allocate eight bits
+of video memory per pixel. To see how many bits per pixel your display
+uses, type
+.B xwininfo
+in an
+.B xterm
+window, and then click the mouse on the root window when asked. The
+``Depth:'' entry will tell you how many bits are allocated per pixel.
+.PP
+Displays using at least 15 bits per pixel are typically
+.B TrueColor
+visuals, which do not have this problem, since their colormap is
+permanently allocated and available to all applications. (The visual
+class is also displayed by
+.BR xwininfo .)
+For more information on visual classes see the documentation for the
+X Window System.
+.PP
+To alleviate this problem, therefore, one may (a) run with more bits
+per pixel (this may require adding more video memory or replacing the video
+card), (b) shut down other applications that may be using much of the colormap
+and then restart
+.BR xdvi ,
+or (c) run
+.B xdvi
+with the
+.B \-install
+option.
+.PP
+One application which is often the cause of this problem is
+.BR Netscape .
+In this case there are two more alternatives to remedying the situation.
+One can run
+.RB `` "netscape -install" ''
+to cause
+.B Netscape
+to install a private colormap. This can cause colors to change in
+bizarre ways when the mouse is moved to a different window.
+Or, one can run
+.RB `` "netscape -ncols 220" ''
+to limit
+.B Netscape
+to a smaller number of colors. A smaller number will ensure that
+other applications have more colors available, but will degrade the
+color quality in the
+.B Netscape
+window.
+
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH HANDLING OF POSTSCRIPT FIGURES
+.B Xdvi
+can display Encapsulated PostScript (EPS) files included in the
+.I dvi
+file. Such files are first searched for in the directory where the
+.I dvi
+file is, and then using normal
+.B Kpathsea
+rules. There is an exception to this, however: if the file name begins
+with a backtick
+.RB ( ` ),
+then the remaining characters in the file name give a shell command (often
+.BR zcat )
+which is executed; its standard output is then sent to be interpreted as
+PostScript.
+Since the execution of arbitrary shell commands with the user's
+permissions is a huge security risk, evaluation of these backtick
+commands is disabled by default. It needs to be activated via the
+.B \-allowshell
+command-line option.
+.B NOTE:
+You should never use this option when viewing documents that you
+didn't compile yourself. The backtick specials are not needed for
+uncompressing gzipped Postscript files, since
+.B xdvi
+can do that on the fly if the filename ends with
+.I .eps.gz
+or
+.I .eps.Z
+(and if the first bytes of the file indicate that the file is indeed
+compressed). This is both safer and more flexible than the backtick
+approach, since the default file searching rules will apply to such
+filenames too.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH T1LIB
+Using T1Lib, a library written by Rainer Menzner
+(see ftp://sunsite.unc.edu/pub/Linux/libs/graphics/),
+.B xdvi
+can render Postscript<tm> Type1 fonts directly, without the
+route via \*(Te\& pixel (pk)
+fonts. The advantage of this is that only one size of each font needs
+to be stored on disk.
+Unless the
+.B -not1lib
+option is used,
+.B xdvi
+will try to render every font using T1Lib. Only as a fallback it will
+invoke an external program (like
+.BR mktexpk ,
+which in turn may invoke utilities like
+.B ps2pk
+or
+.BR gsftopk )
+to generate a pixel font from the Type1 source. The direct rendering
+of the
+.B Computer Modern
+fonts should work out-of-the box, whereas other Type1 fonts such as
+the 35 `standard' Postscript<tm> fonts resident in printers may need
+to be made accessible for use with xdvi, unless your system
+administrator or TeX distribution has already done so (which is the case
+e.g. for current teTeX systems). The
+.B xdvik
+distribution comes with a utility called
+.B t1mapper
+to make these fonts available for xdvi;
+see the manual page for t1mapper(1) for usage details.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH SPECIALS (GENERALLY)
+Any of the specials used by
+.B xdvi
+may be preceded by the characters
+.RB `` xdvi: ''.
+Doing so does not change the behavior of the special under
+.BR xdvi ,
+but it tells other dvi drivers (such as e.g. dvips) to ignore the special.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH SOURCE SPECIALS
+Some \*(Te\& implementations or macro packages provide the facility to
+automatically include so-called `source specials' into a DVI file.
+These contain the line number, eventually a column number, and the
+filename of the .tex source. This makes it possible to jump from a .dvi
+file to the corresponding place in the .tex source and vice versa (also
+called `inverse search' - jumping from the DVI file to the TeX file is
+also known as `reverse search', and jumping from the TeX file to the
+DVI file as `forward search').
+.P
+To be usable with
+.BR xdvi ,
+source specials in the
+.I dvi
+file must have one of the following formats:
+.RS 5
+.nf
+.sp 1n
+ \fBsrc:\fP\fIline\fP[ ]\fIfilename\fP
+ \fBsrc:\fP\fIline\fP\fB:\fP\fIcol\fP[ ]\fIfilename\fP
+ \fBsrc:\fP\fIline\fP
+ \fBsrc:\fP\fIline\fP\fB:\fP\fIcol\fP
+ \fBsrc::\fP\fIcol\fP
+.sp 1n
+.fi
+.RE
+If
+.I filename
+or
+.I line
+are omitted, the most recent values are used. The first source special on
+each page must be in one of the first two forms, since defaults are not
+inherited across pages.
+.sp
+You will need a \*(Te\& implementation that provides an appropriate
+switch (e.g.
+.IR -src )
+or a macro package
+(such as
+.I srcltx.sty
+or
+.IR srctex.sty ,
+available from CTAN:macros/latex/contrib/supported/srcltx/)
+to insert such source specials into the DVI file.
+.sp
+For reverse search, the combination
+.I Ctrl-Mouse 1
+will make xdvi open an editor (the value of the
+.I \-editor
+command line option) with the file and the line number of the .tex
+source. See the description of the
+.I \-editor
+option for more information
+and example settings.
+.P
+For forward search,
+.B xdvi
+has a
+.I \-sourceposition
+option that makes
+.B xdvi
+jump to the page in
+the DVI file corresponding to the given line (or the closest
+line having a source special) of the specified file and highlight
+the found region. See the description of the
+.I \-sourceposition
+option for more details.
+.PP
+More information on setting up various editors for use with source
+specials can be found at:
+.RS 5
+.nf
+.sp 1n
+http://xdvi.sourceforge.net/inverse-search.html
+.sp 1n
+.fi
+.RE
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH PAPERSIZE SPECIALS
+.B xdvi
+accepts specials to set the paper size for the document. These specials
+should be of the form
+.RS 5
+.nf
+.sp 1n
+ \fBpapersize=\fP[\fB*\fP]\fIwidth\fP,\fIheight\fP
+.sp 1n
+.fi
+.RE
+.PP
+where
+.I width
+and
+.I height
+give the width and height of the paper, respectively. Each of these should
+appear in the form of a decimal number followed by any of the two-letter
+abbreviations for units accepted by \*(Te\&
+.RB ( pt ,
+.BR pc ,
+.BR in ,
+.BR bp ,
+.BR cm ,
+.BR mm ,
+.BR dd ,
+.BR cc ,
+or
+.BR sp ).
+If an asterisk
+.RB ( * )
+appears just before the width, then the measurements refer to the document
+dimensions (e.g.,
+.B pt
+as opposed to
+.BR truept ).
+This allows a macro package to vary the page size according to elements
+of the document; e.g.,
+.RS 5
+.ft 3
+.nf
+.sp 1n
+\especial{xdvi: papersize=*\enumber\ewd\emybox sp,
+ \enumber\eht\emybox sp}
+.sp 1n
+.ft
+.fi
+.RE
+.PP
+Except for the asterisk, this format is compatible with
+.BR dvips .
+.P
+The last
+.B papersize
+special on a page determines the size of that page. If there is no such
+special on a given page, the most recent
+.B papersize
+is used, or, if there are no
+.B papersize
+specials on any preceding page, then the value of the
+.B paper
+resource (or
+.B \-paper
+option on the command line) is used. Thus the paper size may vary for
+different pages of the
+.I dvi
+file.
+.P
+If the
+.B paper
+resource (or
+.B \-paper
+command-line option) begins with a plus sign
+.RB (` + '),
+then all
+.B papersize
+specials in the
+.I dvi
+file are ignored.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH COLOR SPECIALS
+The color specials supported by
+.B xdvi
+are the same as those supported by
+.BR dvips ,
+except that the literal PostScript color specification (as in the
+.B AggiePattern
+example in the
+.B dvips
+documentation) is not supported.
+There are also some restrictions due to the way xdvi's drawing routines
+are implemented; e.g. the \ecolorbox and \efcolorbox macros don't work
+with xdvi. See the section LIMITATIONS below for more information on these
+restrictions.
+Xdvi supports the same list of named colors as with
+.BR dvips ,
+namely:
+.P
+.BR Apricot ,
+.BR Aquamarine ,
+.BR Bittersweet ,
+.BR Black ,
+.BR Blue ,
+.BR BlueGreen ,
+.BR BlueViolet ,
+.BR BrickRed ,
+.BR Brown ,
+.BR BurntOrange ,
+.BR CadetBlue ,
+.BR CarnationPink ,
+.BR Cerulean ,
+.BR CornflowerBlue ,
+.BR Cyan ,
+.BR Dandelion ,
+.BR DarkOrchid ,
+.BR Emerald ,
+.BR ForestGreen ,
+.BR Fuchsia ,
+.BR Goldenrod ,
+.BR Gray ,
+.BR Green ,
+.BR GreenYellow ,
+.BR JungleGreen ,
+.BR Lavender ,
+.BR LimeGreen ,
+.BR Magenta ,
+.BR Mahogany ,
+.BR Maroon ,
+.BR Melon ,
+.BR MidnightBlue ,
+.BR Mulberry ,
+.BR NavyBlue ,
+.BR OliveGreen ,
+.BR Orange ,
+.BR OrangeRed ,
+.BR Orchid ,
+.BR Peach ,
+.BR Periwinkle ,
+.BR PineGreen ,
+.BR Plum ,
+.BR ProcessBlue ,
+.BR Purple ,
+.BR RawSienna ,
+.BR Red ,
+.BR RedOrange ,
+.BR RedViolet ,
+.BR Rhodamine ,
+.BR RoyalBlue ,
+.BR RoyalPurple ,
+.BR RubineRed ,
+.BR Salmon ,
+.BR SeaGreen ,
+.BR Sepia ,
+.BR SkyBlue ,
+.BR SpringGreen ,
+.BR Tan ,
+.BR TealBlue ,
+.BR Thistle ,
+.BR Turquoise ,
+.BR Violet ,
+.BR VioletRed ,
+.BR White ,
+.BR WildStrawberry ,
+.BR Yellow ,
+.BR YellowGreen ,
+.BR YellowOrange .
+.P
+Note that these names are case sensitive.
+.P
+The documentation of the La\*(Te\&
+.B color
+package provides more details on how to use such specials with
+La\*(Te\&; see the
+.B dvips
+documentation for a detailed description of the
+syntax and semantics of the color specials.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH SIGNALS
+When
+.B xdvi
+receives a
+.SB SIGUSR1
+signal, it rereads the
+.I dvi
+file.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH ENVIRONMENT
+.B Xdvik
+uses the same environment variables and algorithms for searching for
+font files as \*(Te\& and friends. See the documentation for the
+.B Kpathsea
+library,
+.BR kpathsea.dvi ,
+for a detailed description of these.
+.PP
+In addition,
+.B xdvik
+accepts the following variables:
+.TP
+.SB DISPLAY
+Specifies which graphics display terminal to use.
+.TP
+.SB KPATHSEA_DEBUG
+Trace
+.B Kpathsea
+lookups; set it to
+.B -1
+(= all bits on) for complete tracing.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.SB EXTENSIONMAPS
+A list of files to be searched for mime types entries (as for Acrobat Reader).
+Earlier entries in one of these files override later ones.
+If this variable is not set, the following default path is used:
+.RS 7
+.nf
+.ft 3
+.sp 1n
+$HOME/.mime.types:/etc/mime.types:\e
+ /usr/etc/mime.types:/usr/local/etc/mimetypes
+.sp 1n
+.ft
+.fi
+.RE
+
+.TP
+.SB MAILCAPS
+A list of files to be searched for mailcap entries, as defined by RFC
+1343. See this RFC or the
+.BR mailcap (4)
+manual page for a detailed description of the mailcap file format.
+Currently, only the following mailcap features are supported:
+.RS 7
+.TP 7
+.BI test= command
+The entry is only used if
+.I command
+can be executed via the
+.B system()
+call and if the system() call returns with value 0 (success).
+The
+.I command
+string may contain the format string
+.IR %s ,
+which will be replaced by the file name.
+.TP
+.BI needsterminal
+If this flag is used, the command will be executed in a new xterm
+window by prepending
+.RI `` "xterm -e "''
+to the command string.
+.RE
+.PP
+.RS 7
+All other fields in the mailcap entry are ignored by xdvi.
+Earlier entries in one of these files override later ones.
+If the variable is not defined, the following default path is used:
+.RS 4
+.nf
+.ft 3
+.sp 1n
+$HOME/.mailcap:/etc/mailcap:/usr/etc/mailcap:\e
+ /usr/local/etc/mailcap
+.sp 1n
+.ft
+.fi
+.RE
+.br
+For security reasons, some special characters (i.e.: ( ) ` \e ;)
+are escaped in the argument before passing it to
+.BR system() .
+.RE
+.TP
+.SB BROWSER
+Determines the web browser used to open external links (i.e., all URLs that don't
+start with the
+.RI ` file: '
+scheme and are not relative links in the local DVI file), and to open links
+for which no viewer has been specified in the
+.B mailcap
+files. The value of this variable is a colon-separated list of commands. Xdvi
+will try each of them in sequence until one succeeds (i.e. doesn't immediately
+return with status 0). This allows you to
+specify your favourite browser at the beginning,
+and fallback browsers at the end. Every occurrence of
+.I %s
+in the string is replaced by the target URL; every occurrence of
+.I %%
+is replaced by a single
+.IR % .
+If no
+.I %s
+is present, the URL string is added as an extra argument.
+.br
+An example setting is:
+.RS 7
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP 7
+.SB "netscape -raise -remote 'openURL(%s,new-window)':xterm -e lynx %s:xterm -e wget %s:lynx %s:wget %s"
+.TP
+See
+.TP
+.SB http://www.catb.org/~esr/BROWSER/
+.PP
+for more details on the
+.B BROWSER
+environment variable.
+.RE
+.TP
+.SB TMPDIR
+The directory to use for storing temporary files created when uncompressing
+PostScript files.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.SB XEDITOR
+Determines the editor command used for source special `reverse
+search', if neither the
+.I \-editor
+command-line option
+nor the
+.I .editor
+resource are specified. See the description of the
+.I \-editor
+command line option for details on the format.
+.TP
+.SB VISUAL
+Determines an editor to be opened in an xterm
+window if neither of
+.IR -editor ,
+.IR .editor ,
+or
+.I XEDITOR
+is specified.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.SB EDITOR
+Determines an editor to be opened in an xterm
+window if neither of
+.IR -editor ,
+.IR .editor ,
+.I XEDITOR
+or
+.I VISUAL
+is specified.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
+.SB WWWBROWSER
+Obsolete; use
+.B BROWSER
+instead.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.SH LIMITATIONS
+.B xdvi
+accepts many but not all types of PostScript specials accepted by
+.BR dvips .
+For example, it accepts most specials generated by
+.B epsf
+and
+.BR psfig .
+It does not, however, support
+.B bop\-hook
+or
+.BR eop\-hook ,
+nor does it allow PostScript commands to affect the rendering of things that
+are not PostScript (for example, the ``NEAT'' and rotated ``A'' examples in the
+.B dvips
+manual). These restrictions are due to the design of
+.BR xdvi ;
+in all likelihood they will always remain.
+.PP
+La\*(Te\&2e rotation specials are currently not supported.
+.PP
+.B MetaPost
+files containing included text are not supported.
+.PP
+.BR Xdvi 's
+color handling doesn't support the
+.B \ecolorbox
+and
+.B \efcolorbox
+macros; this is not likely to change in the near future. This also
+means that e.g. colored tables (as created by the
+.I colortbl
+package) may render incorrectly: Text in colors different from the
+default foreground color may not not be displayed. When the page is
+redrawn (e.g. after using the magnifier), the background color of the
+cells may overdraw the text.
+.SH FILES
+.TP
+.SB $HOME/.xdvirc
+A file that holds all settings that the user changed via the keys, the `Options'
+and the Xaw `Modes' menu and the dialogs, as X resources. These resources override the
+settings in
+.BR $HOME/.Xdefaults .
+This file is ignored if the
+.B \-q
+option is used or the
+.B noInitFile
+X resource is set.
+.TP
+.SB xdvi.cfg
+A configuration file for the T1 font setup which needs to be supplied
+in the directory determined by the
+.B XDVIINPUTS
+environment variable. Please see the file
+.B http://xdvi.sourceforge.net/README.t1fonts
+if that file is missing.
+.SH SEE ALSO
+.BR X (1),
+.BR dvips (1),
+.BR mktexpk (1),
+.BR ps2pk (1),
+.BR gsftopk (1),
+.BR t1mapper (1),
+.BR mailcap (4),
+the
+.B Kpathsea
+documentation,
+and the Xdvik home page at
+.BR http://xdvi.sourceforge.net/ .
+.SH AUTHORS
+Eric Cooper, CMU, did a version for direct output to a QVSS. Modified
+for X by Bob Scheifler, MIT Laboratory for Computer Science. Modified
+for X11 by Mark Eichin, MIT SIPB. Additional enhancements by many
+others.
+.PP
+The current maintainer of the original
+.B xdvi
+is Paul Vojta, U.C. Berkeley.
+.PP
+Code for the xdvik variant has been contributed
+by many people, whose names are scattered across the
+source files. Xdvik is hosted on
+.B CTAN:dviware/xdvik
+and on SourceForge; for the most up-to-date information, please
+visit:
+.PP
+.B http://xdvi.sourceforge.net
+.PP
+Please report all bugs to the SourceForge bug tracker:
+.PP
+.nf
+.B http://sourceforge.net/tracker/?func=add&group_id=23164&atid=377580
+.PP
+
diff --git a/Master/texmf/doc/man/man1/xdvizilla.1 b/Master/texmf/doc/man/man1/xdvizilla.1
new file mode 100644
index 00000000000..62b0d91c2de
--- /dev/null
+++ b/Master/texmf/doc/man/man1/xdvizilla.1
@@ -0,0 +1,115 @@
+.\" Copyright (c) 2002-2004 Paul Vojta
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a copy
+.\" of this software and associated documentation files (the "Software"), to
+.\" deal in the Software without restriction, including without limitation the
+.\" rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+.\" sell copies of the Software, and to permit persons to whom the Software is
+.\" furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included in
+.\" all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" PAUL VOJTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+.\" IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+.\" CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.TH XDVIZILLA 1 "11 October 2002" "X Version 11"
+.SH NAME
+xdvizilla \- Helper application for running xdvi
+.SH SYNOPSIS
+.B xdvizilla
+[\fB\-no\-rm\fP]
+.I file
+.SH DESCRIPTION
+Presently (October 2002), Mozilla has some bugs with helper applications:
+it passes gzipped
+.RB ( .gz )
+files directly to the helper application without uncompressing, and it
+passes compressed
+.RB ( .Z )
+files as empty files.
+.PP
+To work around these problems,
+.B xdvizilla
+was written to look at files and decompress them correctly (depending on
+their file types).
+.PP
+In addition, some sites produced tarred
+.I dvi
+files (including the
+.I dvi
+file as well as some included figures), and
+.B xdvizilla
+correctly handles those files as well.
+.SH OPTIONS
+Only one option is supported:
+.TP
+.B \-no\-rm
+Normally
+.B xdvizilla
+will remove
+.I file
+before finishing. This option inhibits this behavior.
+.SH INSTALLATION
+In addition to installing
+.B xdvizilla
+in a directory on the default search path, it is necessary to set it up
+as a helper application within the browser.
+.PP
+For
+.BR "Netscape 4.x" ,
+add the following lines to the
+.B mailcap
+file:
+.RS 5
+.nf
+.ft 3
+.sp 1n
+application/x-dvi; xdvi -safer %s
+application/x-dvi-tar; xdvizilla -no-rm %s
+.sp 1n
+.ft
+.fi
+.RE
+.PP
+For
+.BR "Netscape 6.x" ,
+.BR "Netscape 7.x" ,
+or
+.BR "Mozilla 1.x" ,
+add the following lines to the
+.B mailcap
+file:
+.RS 5
+.nf
+.ft 3
+.sp 1n
+application/x-dvi; xdvizilla %s
+application/x-dvi-tar; xdvizilla %s
+.sp 1n
+.ft
+.fi
+.RE
+.PP
+In addition, it would be useful to check that the following line is included
+in the
+.B mime.types
+file:
+.RS 5
+.nf
+.ft 3
+.sp 1n
+type=application/x-dvi exts="dvi" desc="TeX dvi file"
+.sp 1n
+.ft
+.fi
+.RE
+.SH SEE ALSO
+.BR X (1),
+.BR xdvi (1).
+.SH AUTHOR
+Paul Vojta, U.C. Berkeley.
diff --git a/Master/texmf/doc/man/man3/zlib.3 b/Master/texmf/doc/man/man3/zlib.3
new file mode 100644
index 00000000000..890098449dd
--- /dev/null
+++ b/Master/texmf/doc/man/man3/zlib.3
@@ -0,0 +1,159 @@
+.TH ZLIB 3 "17 November 2003"
+.SH NAME
+zlib \- compression/decompression library
+.SH SYNOPSIS
+[see
+.I zlib.h
+for full description]
+.SH DESCRIPTION
+The
+.I zlib
+library is a general purpose data compression library.
+The code is thread safe.
+It provides in-memory compression and decompression functions,
+including integrity checks of the uncompressed data.
+This version of the library supports only one compression method (deflation)
+but other algorithms will be added later
+and will have the same stream interface.
+.LP
+Compression can be done in a single step if the buffers are large enough
+(for example if an input file is mmap'ed),
+or can be done by repeated calls of the compression function.
+In the latter case,
+the application must provide more input and/or consume the output
+(providing more output space) before each call.
+.LP
+The library also supports reading and writing files in
+.IR gzip (1)
+(.gz) format
+with an interface similar to that of stdio.
+.LP
+The library does not install any signal handler.
+The decoder checks the consistency of the compressed data,
+so the library should never crash even in case of corrupted input.
+.LP
+All functions of the compression library are documented in the file
+.IR zlib.h .
+The distribution source includes examples of use of the library
+in the files
+.I example.c
+and
+.IR minigzip.c .
+.LP
+Changes to this version are documented in the file
+.I ChangeLog
+that accompanies the source,
+and are concerned primarily with bug fixes and portability enhancements.
+.LP
+A Java implementation of
+.I zlib
+is available in the Java Development Kit 1.1:
+.IP
+http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html
+.LP
+A Perl interface to
+.IR zlib ,
+written by Paul Marquess (pmqs@cpan.org),
+is available at CPAN (Comprehensive Perl Archive Network) sites,
+including:
+.IP
+http://www.cpan.org/modules/by-module/Compress/
+.LP
+A Python interface to
+.IR zlib ,
+written by A.M. Kuchling (amk@magnet.com),
+is available in Python 1.5 and later versions:
+.IP
+http://www.python.org/doc/lib/module-zlib.html
+.LP
+A
+.I zlib
+binding for
+.IR tcl (1),
+written by Andreas Kupries (a.kupries@westend.com),
+is availlable at:
+.IP
+http://www.westend.com/~kupries/doc/trf/man/man.html
+.LP
+An experimental package to read and write files in .zip format,
+written on top of
+.I zlib
+by Gilles Vollant (info@winimage.com),
+is available at:
+.IP
+http://www.winimage.com/zLibDll/unzip.html
+and also in the
+.I contrib/minizip
+directory of the main
+.I zlib
+web site.
+.SH "SEE ALSO"
+The
+.I zlib
+web site can be found at either of these locations:
+.IP
+http://www.zlib.org
+.br
+http://www.gzip.org/zlib/
+.LP
+The data format used by the zlib library is described by RFC
+(Request for Comments) 1950 to 1952 in the files:
+.IP
+http://www.ietf.org/rfc/rfc1950.txt (concerning zlib format)
+.br
+http://www.ietf.org/rfc/rfc1951.txt (concerning deflate format)
+.br
+http://www.ietf.org/rfc/rfc1952.txt (concerning gzip format)
+.LP
+These documents are also available in other formats from:
+.IP
+ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
+.LP
+Mark Nelson (markn@ieee.org) wrote an article about
+.I zlib
+for the Jan. 1997 issue of Dr. Dobb's Journal;
+a copy of the article is available at:
+.IP
+http://dogma.net/markn/articles/zlibtool/zlibtool.htm
+.SH "REPORTING PROBLEMS"
+Before reporting a problem,
+please check the
+.I zlib
+web site to verify that you have the latest version of
+.IR zlib ;
+otherwise,
+obtain the latest version and see if the problem still exists.
+Please read the
+.I zlib
+FAQ at:
+.IP
+http://www.gzip.org/zlib/zlib_faq.html
+.LP
+before asking for help.
+Send questions and/or comments to zlib@gzip.org,
+or (for the Windows DLL version) to Gilles Vollant (info@winimage.com).
+.SH AUTHORS
+Version 1.2.1
+Copyright (C) 1995-2003 Jean-loup Gailly (jloup@gzip.org)
+and Mark Adler (madler@alumni.caltech.edu).
+.LP
+This software is provided "as-is,"
+without any express or implied warranty.
+In no event will the authors be held liable for any damages
+arising from the use of this software.
+See the distribution directory with respect to requirements
+governing redistribution.
+The deflate format used by
+.I zlib
+was defined by Phil Katz.
+The deflate and
+.I zlib
+specifications were written by L. Peter Deutsch.
+Thanks to all the people who reported problems and suggested various
+improvements in
+.IR zlib ;
+who are too numerous to cite here.
+.LP
+UNIX manual page by R. P. C. Rodgers,
+U.S. National Library of Medicine (rodgers@nlm.nih.gov).
+.\" end of man page
diff --git a/Master/texmf/doc/man/man5/fmtutil.cnf.5 b/Master/texmf/doc/man/man5/fmtutil.cnf.5
new file mode 100644
index 00000000000..7c5aeb905d2
--- /dev/null
+++ b/Master/texmf/doc/man/man5/fmtutil.cnf.5
@@ -0,0 +1,75 @@
+.TH "fmtutil\&.cnf" "5" "October 2000" "teTeX" "teTeX"
+.PP
+.SH "NAME"
+fmtutil\&.cnf \- configuration file for fmtutil
+.PP
+.SH "DESCRIPTION"
+.PP
+The \fIfmtutil\&.cnf\fP file contains the configuration information
+for \fBfmtutil\fP(8)\&. Each line contains the name of the format
+(e\&.g\&., ``tex\'\', ``latex\'\', ``omega\'\'), the name of the engine that
+is used by that format (e\&.g\&., ``tex\'\', ``etex\'\', ``omega\'\'), the pattern
+file (e\&.g\&., \fIlanguage\&.dat\fP, \fIlanguage\&.def\fP), and any
+arguments (name of an \fI\&.ini\fP file)\&.
+.PP
+Fields are separated by whitespace\& and complete lines can be commented
+out with ``#\'\'\&. The ``pattern file\'\' field cannot be used to
+define a file that is used while building the format\&.
+It tells \fBfmtutil\fP which file the
+format creation procedure reads\& and it has an effect to the options
+\fI--showhyphen\fP and \fI--byhyphen\fP\&.
+If the format has no way to
+customize hyphenation, a ``-\'\' can be used to indicate this\&.
+.PP
+.SH "NOTES"
+.PP
+The \fBtex\fP(1) and \fBamstex\fP(1) formats always load
+\fIhyphen\&.tex\fP\&. No customization by a pattern file is available
+for these formats\&. Therefore, the pattern-file field for the
+\fBtex\fP and \fBamstex\fP is usually indicated to be empty (``-\'\')\&.
+.PP
+You can, however, build customized formats on top of plain
+\fBtex\fP(1) or \fBamstex\fP(1) by using \fIbplain\&.tex\fP instead of
+\fIplain\&.tex\fP (b for the \fIBabel\fP system). See, for example,
+the \fIbplain\&.ini\fP file for the bplain format)\&.
+.PP
+\fBetex\fP(1) loads \fIlanguage\&.def\fP, not
+\fIlanguage\&.dat\fP\&.
+.PP
+Symbolic links to the correct engines (e\&.g\&., bplain -> tex)
+are generated by the \fBtexlinks\fP(8) script\&. Remember to run
+\fBtexlinks\fP(8) if you run \fBfmtutil\fP(8) yourself, rather
+than using the FORMATS option in \fBtexconfig\fP(8)\&.
+.PP
+.SH "FILES"
+.PP
+.IP "\fIfmtutil\&.cnf\fP"
+default configuration file
+.IP "\fIlanguage\&.dat\fP"
+hyphenation pattern file
+.IP "\fIlanguage\&.def\fP"
+hyphenation pattern file
+.PP
+.SH "SEE ALSO"
+.PP
+\fBamstex\fP(1), \fBetex\fP(1), \fBfmtutil\fP(8),
+\fBtex\fP(1), \fBtexconfig\fP(8), \fBtexlinks\fP(8)\&.
+.PP
+Web page: <http://tug\&.org/teTeX/>
+.PP
+.SH "BUGS"
+.PP
+None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+.PP
+.SH "AUTHOR"
+.PP
+\fIfmtutil\&.cnf\fP was written by Thomas Esser
+<te@dbs\&.uni-hannover\&.de>, and is Copyright 1998,
+1999 but released into the public domain\&.
+.PP
+This manual page was written by C\&.M\&. Connelly
+<c@eskimo\&.com>, for
+the Debian GNU/Linux system\&. It may be used by other distributions
+without contacting the author\&. Any mistakes or omissions in the
+manual page are my fault; inquiries about or corrections to this
+manual page should be directed to me (and not to the primary author)\&.
diff --git a/Master/texmf/doc/man/man5/info.5 b/Master/texmf/doc/man/man5/info.5
new file mode 100644
index 00000000000..08fd289908f
--- /dev/null
+++ b/Master/texmf/doc/man/man5/info.5
@@ -0,0 +1,72 @@
+.\" info(5)
+.\" $Id: info.5,v 1.2 2004/04/11 17:56:45 karl Exp $
+.\"
+.\" Copyright (C) 1998 Free Software Foundation, Inc.
+.\"
+.\" 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 approved by the Foundation.
+.\"
+.de EX
+.nf
+.ft CW
+.in +5
+..
+.de EE
+.in -5
+.ft R
+.fi
+..
+.TH INFO 5 "GNU Info" "FSF"
+.SH NAME
+info \- readable online documentation
+.SH DESCRIPTION
+The Info file format is an easily-parsable representation for online
+documents. It can be read by
+.I emacs(1)
+and
+.I info(1)
+among other programs.
+.PP
+Info files are usually created from
+.I texinfo(5)
+sources by
+.IR makeinfo(1) ,
+but can be created from scratch if so desired.
+.PP
+For a full description of the Texinfo language and associated tools,
+please see the Texinfo manual (written in Texinfo itself). Most likely,
+running this command from your shell:
+.EX
+info texinfo
+.EE
+or this key sequence from inside Emacs:
+.EX
+M-x info RET m texinfo RET
+.EE
+will get you there.
+.SH AVAILABILITY
+ftp://ftp.gnu.org/pub/gnu/texinfo-<version>.tar.gz
+.br
+or any GNU mirror site.
+.SH "REPORTING BUGS"
+Please send bug reports to bug-texinfo@gnu.org,
+general questions and discussion to help-texinfo@gnu.org.
+.SH "SEE ALSO"
+info(1), install-info(1), makeinfo(1), texi2dvi(1),
+.br
+texindex(1).
+.br
+emacs(1), tex(1).
+.br
+texinfo(5).
diff --git a/Master/texmf/doc/man/man5/texinfo.5 b/Master/texmf/doc/man/man5/texinfo.5
new file mode 100644
index 00000000000..0ca35cac0d5
--- /dev/null
+++ b/Master/texmf/doc/man/man5/texinfo.5
@@ -0,0 +1,61 @@
+.\" texinfo(5)
+.\" $Id: texinfo.5,v 1.2 2004/04/11 17:56:45 karl Exp $
+.\"
+.\" Copyright (C) 1998, 1999, 2002 Free Software Foundation, Inc.
+.\"
+.\" 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 approved by the Foundation.
+.\"
+.de EX
+.nf
+.ft CW
+.in +5
+..
+.de EE
+.in -5
+.ft R
+.fi
+..
+.TH TEXINFO 5 "GNU Texinfo" "FSF"
+.SH NAME
+texinfo \- software documentation system
+.SH DESCRIPTION
+Texinfo is a documentation system that uses a single source file to
+produce both online information and printed output. It is primarily
+designed for writing software manuals.
+.PP
+For a full description of the Texinfo language and associated tools,
+please see the Texinfo manual (written in Texinfo itself). Most likely,
+running this command from your shell:
+.EX
+info texinfo
+.EE
+or this key sequence from inside Emacs:
+.EX
+M-x info RET m texinfo RET
+.EE
+will get you there.
+.SH AVAILABILITY
+ftp://ftp.gnu.org/gnu/texinfo/
+.br
+or any GNU mirror site.
+.SH "REPORTING BUGS"
+Please send bug reports to bug-texinfo@gnu.org,
+general questions and discussion to help-texinfo@gnu.org.
+.SH "SEE ALSO"
+info(1), install-info(1), makeinfo(1), texi2dvi(1), texindex(1).
+.br
+emacs(1), tex(1).
+.br
+info(5).
diff --git a/Master/texmf/doc/man/man5/updmap.cfg.5 b/Master/texmf/doc/man/man5/updmap.cfg.5
new file mode 100644
index 00000000000..67d6412fcc1
--- /dev/null
+++ b/Master/texmf/doc/man/man5/updmap.cfg.5
@@ -0,0 +1,137 @@
+.\" Hey, Emacs! This is an -*- nroff -*- source file.
+.\"
+.\" Copyright (C) 2004 Hilmar Preusse <hille42@web.de>
+.\"
+.\" This is free software; you can redistribute it and/or modify it under
+.\" the terms of the GNU General Public License as published by the Free
+.\" Software Foundation; either version 2, or (at your option) any later
+.\" version.
+.\"
+.\" This is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+.\" for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License with
+.\" your Debian GNU/Linux system, in /usr/share/common-licenses/GPL, or with
+.\" the dpkg source package as the file COPYING. If not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+.\"
+.TH "UPDMAP.CFG" "5" "AUGUST 2005" "Debian/GNU Linux" ""
+.SH "NAME"
+\fBupdmap.cfg\fR \- configuration of font mapping/inclusion for dvips and
+friends.
+.SH "DESCRIPTION"
+The file \fBupdmap.cfg\fR is the central font configuration file of a
+teTeX system and is read by \fBupdmap\fP(1). It describes if and how
+fonts should be included (or not included) into PS-/PDF-files. This
+works for Outline (Postscript Type1) and Bitmap Fonts (Postscript
+Type3) mostly coming from MetaFont.
+.PP
+\fBupdmap\fP is a utility that creates font configuration files for
+\fBdvips\fP(1), \fBpdftex\fP(1), \fBxdvi\fP(1), \fBps2pk\fP(1),
+\fBgsftopk\fP(1), \fBdvipdfm\fP(1) and (soon) \fBdvipdfmx\fP(1)\&. In
+an ideal world, updmap would be unnecessary -- each of these programs
+would read the same configuration file to learn what fonts are
+available and how they should be treated\&. As things stand, however,
+each of these tools has subtly different requirements and thereby
+needs its own font configuration file\&. \fBupdmap\fP creates font
+configuration files for all of these programs from a single source,
+\fBupdmap.cfg\fR, allowing you to easily keep all the different
+configuration files in sync\&.
+.P
+\fBdvipsPreferOutline\fR
+.br
+Configures if \fBdvips\fR (by default) should prefer bitmap fonts or outline fonts
+if both are available? Independent of this setting, outlines can be forced
+by putting "p psfonts_t1.map" into a config file that dvips reads. Bitmaps
+can be forced by putting "p psfonts_pk.map" into a config file. We provide
+such config files which can be enabled via
+\fBdvips\fR \fI-Poutline\fR ... resp. \fBdvips\fR \fI-Ppk\fR ...
+.br
+Valid settings for dvipsPreferOutline are \fItrue\fR / \fIfalse\fR.
+.P
+\fBLW35\fR
+.br
+Which fonts of the "Basic 35 Laserwriter Fonts" do you want to use and
+how are the filenames chosen? Valid settings:
+.br
+URW: URW fonts with "vendor" filenames (e.g. n019064l.pfb)
+.br
+URWkb: URW fonts with "berry" filenames (e.g. uhvbo8ac.pfb)
+.br
+ADOBE: Adobe fonts with "vendor" filenames (e.g. hvnbo___.pfb)
+.br
+ADOBEkb: Adobe fonts with "berry" filenames (e.g. phvbo8an.pfb)
+.P
+\fBdvipsDownloadBase\fR
+.br
+Configures if \fBdvips\fR (by default) should download the standard 35 LaserWriter
+fonts into the document (set \fItrue\fR) or should these fonts be used from the ps
+interpreter / printer (set \fIfalse\fR).
+.br
+The user can override the default by specifying \fBdvips\fR \fI-Pdownload35\fR
+... resp. \fBdvips\fR \fI-Pbuiltin35\fR ... to either download the LW35 fonts resp. use the
+built-in fonts.
+.br
+Valid settings are \fItrue\fR / \fIfalse\fR.
+.P
+\fBpdftexDownloadBase14\fR
+.br
+Should \fBpdftex\fR download the base 14 pdf fonts? Since some configurations
+(ps / pdf tools / printers) use bad default fonts, it is safer to download
+the fonts. The pdf files will get bigger, though.
+.br
+Valid settings are \fItrue\fR (download the fonts) or \fIfalse\fR (don't
+download the fonts). Adobe recomments to embed all fonts.
+.P
+\fBdvipdfmDownloadBase14\fR
+.br
+Should \fBdvipdfm\fR download the base 14 pdf fonts? Since some configurations
+(ps / pdf tools / printers) use bad default fonts, it is safer to download
+the fonts. The pdf files will get bigger, though.
+.br
+Valid settings are \fItrue\fR (download the fonts) or \fIfalse\fR (don't
+download the fonts).
+.P
+\fBMap\fR
+.br
+Points to a map file, which describes a mapping from a font (called in the TeX
+document) to the pfb file containing the Postscript code.
+.br
+Usage: \fBMap\fR filename.map
+.P
+The syntax of map files is the same as \fBdvips\fP(1) uses, see
+section 6.4, "'psfonts.map': PostScript font catalog" in the manual of
+\fBdvips\fP(1), available as info and pdf file.
+.P
+\fBMixedMap\fR
+.br
+Similar to \fBMap\fR. It should be used when there is Type1 and a bitmap
+implementation of the font (the latter mostly coming from MetaFont). These
+entries will not be used in the default map of \fBdvips\fR if
+\fBdvipsPreferOutline\fR is set to \fIfalse\fR.
+.br
+Usage: \fBMixedMap\fR filename.map
+.P
+The sign \fB#\fR precedes a comment.
+.P
+Not used Map files should be commented out using the string \fB#!\fR at the
+beginning of the line. These entries can be (de-)activaed using \fBupdmap\fR
+with the options \fI--enable\fR and \fI--disable\fR.
+.SH "SPECIAL TO DEBIAN"
+In Debian the file \fBupdmap.cfg\fR is a generated file sitting in /var. It is
+generated by concatenating the *.cfg files from /etc/texmf/updmap.d/. These
+files follow the syntax of updmap.cfg, but contain only parts of it.
+.SH "AUTHOR"
+This manual page was written by Hilmar Preusse <hille42@web.de>, for
+the Debian GNU/Linux system by simply copying the comments from
+\fBupdmap.cfg\fR and rewriting some of them. It may be used by other
+distributions without contacting the author. Any mistakes or omissions in
+the manual page are my fault; inquiries about or corrections to this manual
+page should be directed to me (and not to the primary author).
+.SH "SEE ALSO"
+updmap(1), info page of dvips(1)
+.SH "THANKS TO"
+Frank Kuester,
+Thomas Esser.
diff --git a/Master/texmf/doc/pdftex/NEWS b/Master/texmf/doc/pdftex/NEWS
new file mode 100644
index 00000000000..643b9119b2b
--- /dev/null
+++ b/Master/texmf/doc/pdftex/NEWS
@@ -0,0 +1,400 @@
+-------------------------------------------------
+pdfTeX 3.141592-1.30.4 was released on 2005-10-17
+-------------------------------------------------
+- bugfix: whitespaces in filenames didn't work on Unix anymore (bug 377)
+- bugfix: two \immediates cancel themselves (bug 437)
+- bugfix: wrong file name in error messages of image inclusion (bug 435)
+
+-------------------------------------------------
+pdfTeX 3.141592-1.30.3 was released on 2005-09-04
+-------------------------------------------------
+- bugfix: \write18
+
+-------------------------------------------------
+pdfTeX 3.141592-1.30.2 was released on 2005-08-25
+-------------------------------------------------
+- fixed some build problems and minor bugs introduced in 1.30.1
+
+-------------------------------------------------
+pdfTeX 3.141592-1.30.1 was released on 2005-08-21
+-------------------------------------------------
+- the eTeX extensions can now be enabled with the cmdline switch -etex
+- pdfTeX uses xpdf 3.01
+
+-------------------------------------------------
+pdfTeX 3.141592-1.30.0 was released on 2005-08-01
+-------------------------------------------------
+- pdfxtex (introduced with 1.20a) is gone; all extensions are now in pdf(e)tex.
+- Some primitives have been renamed; the old names will still work, but are
+ deprecated and some give a warning that they are obsolete:
+ \pdfoptionpdfminorversion -> \pdfminorversion
+ \pdfoptionalwaysusepdfpagebox -> \pdfforcepagebox
+ \pdfoptionpdfinclusionerrorlevel -> \pdfinclusionerrorlevel
+- pdftex knows two new units:
+ - new Didot (1nd=0.375mm)
+ - new Cicero (1nc=12nd)
+- New primitives:
+ - Inclusion of pngs has been greatly improved: It now does
+ - alpha channel and transparency (only if %!PDF >=1.4)
+ - 16-bit colour (only if %!PDF >=1.5); this must be enabled by setting
+ \pdfimagehicolor to 1.
+ - gamma correction; this must be enabled by setting \pdfimageapplygamma to
+ 1. The device gamma is taken from \pdfgamma. If no embedded value can be
+ found in the png image, then the value of \pdfimagegamma is used instead.
+ - fast direct embedding of png streams, if their structure allows this; the
+ automatic fall-back is to decompress and re-compress as before.
+ - pdfTeX now has an interface to the precise system time (if available) as an
+ aid in benchmarking TeX macro code.
+ - \pdfelapsedtime is a read-only integer that (initially) returns the
+ amount of time passed since the start of this run. This amount is given
+ in `scaled seconds': the value 65536 counts as one second. If more time
+ has passed than 32767 seconds, (2^31)-1 will be returned.
+ - \pdfresettimer updates the internal timer, such that subsequent calls to
+ \pdfelapsedtime will restart from 0.
+ - pdfTeX can now generate random numbers:
+ - \pdfuniformdeviate <count> generates a uniformly distributed random
+ integer value between 0 (inclusive) and <count> (exclusive).
+ - \pdfnormaldeviate expands to a random integer value with a mean of 0 and
+ a unit of 65536.
+ - \pdfrandomseed allows access to the current seed value.
+ - \pdfsetrandomseed <count> sets the random seed to a specific value.
+ - \pdfnoligatures\f disables ligatures for the loaded font \f.
+ - Escaping strings:
+ - \pdfescapestring{<a>} escapes the string <a> so that it can be used as
+ PDF string.
+ - \pdfescapename{<a>} escapes the string <a> so that it can be used as PDF
+ name.
+ - \pdfescapehex{<a>} converts the string <a> to uppercase hexadecimal
+ representation.
+ - \pdfunescapehex{<b>} reverses the effect of \pdfescapehex
+ - \pdfcreationdate expands to the date string that pdfTeX uses in the info
+ dict as default.
+ - \pdffilemoddate{<file>} expands to the modification date of <file> in the
+ same format as \pdfcreationdate (PDF date format).
+ - \pdffilesize{<file>} expands to the size of <file> as string.
+ - \pdfmdfivesum{<abc>} or \pdfmdfivesum file {<file>} calculates the md5
+ sum (of a string or a file) and converts it to uppercase hexadecimal format
+ (same as \pdfescapehex).
+ - \pdffiledump [offset <int>] [length <int>] <general text>
+ Expands to a hex dump of the file given in <general text>, starting at
+ given offset or 0 with given length.
+ - \pdfshellescape is a read-only integer that is 1 if \write18 is enabled, 0
+ otherwise.
+ - \pdfxformname <object number>, which expands to the number in the
+ corresponding form XObject name.
+ - \leftmarginkern <box number> and \rightmarginkern <box number> tell the
+ margin kern at the left and right side of the horizontal list stored in box
+ <box number>.
+ - \pdfpkmode is a token register that sets the MF mode for pixel font
+ generation. The contents of this register is dumped into the format, so one
+ can (optionally) preset it e.g. in part of pdftexconfig.tex.
+ - \pdftracingfonts: An integer variable controlling the tracing of font
+ expansion. It is zero by default; then we get a log (with fontexpansion)
+ like this
+ ...\tenrm t
+ ...\tenrm (+20) e
+ Without font expansion, this default should be compatible with TeX's
+ original log output.
+ If \pdftracingfonts is set to 1 (or greater), we get a more verbose log:
+ ...\xivtt (cmtt10@14.0pt) t
+ ...\xivtt (cmtt10+20@14.0pt) e
+ See also bug 304.
+- New experimental primitives:
+ - \pdfmatch [icase] [subcount <number>}] {<pattern>}{<string>}
+ Implements pattern matching using the POSIX regex.
+ It returns the same values as \pdfstrcmp, but with the following semantics:
+ -1: error case (invalid pattern, ...)
+ 0: no match
+ 1: match found
+ Options:
+ * icase: case insensitive matching
+ * subcount: it sets the table size for found subpatterns.
+ A number "-1" resets the table size to the start default.
+ - \pdflastmatch <number>
+ The result of \pdfmatch is stored in an array. The entry "0" contains the
+ match, the following entries submatches. The positions of the matches are
+ also available. They are encoded:
+ <position> "->" <match string>
+ The position "-1" with an empty string indicates that this entry is not
+ set.
+ - \pdfstrcmp{<a>}{<b>} compares two strings and returns the strings "0" if
+ <a> equals <b>, "-1" if <a> is less than <b>, "1" if <a> is greater than
+ <b>
+- The primitive \pdfmovechars has been removed (bug 294)
+- Bugfixes:
+ - empty strings are not supressed anymore (bug 335)
+ - \unhboxing and character protusion didn't work well together (bug 292)
+ - --jobname didn't work if there was no filename at all (bug 302)
+ - Some problem with fonts on solaris (bug 315)
+ - Dangling font objects with non-replacable fonts (bug 311).
+ - \pdfxform didn't work with box>255 (bug 310)
+ - cmap: unicode ???? is mapped to multiple glyphs (bug 306).
+- pdfTeX uses zlib 1.2.3
+
+------------------------------------------------
+pdfTeX 3.141592-1.21a was released on 2005-02-04
+------------------------------------------------
+- ttf2afm 1.0:
+ - added support for refering to glyphs via unicode in encoding files (ie 'uniXXX')
+ - added some more info to the AFM output
+ - some minor bug fixes
+ - a short documentation available
+- pdftex now understand forms 'uniXXXX' in encoding files (only makes sense
+ with TrueType fonts)
+- added subset tag for TrueType fonts
+- PDF strings are now printed as following:
+ (This is a string) -> (This is a string)
+ This is a string -> (This is a string)
+ <a1b245c1a2...> -> <a1b245c1a2...>
+- check for double newline char to get rid of empty lines in PDF output
+- Fixed a bug in the scanning of map lines introduced in the fix of bug #242 in
+ 1.20b.
+- Fixed three problems in xpdf; xpdf is now 3.00pl3
+- \ifeof18 is a simple method to test if \write18 is enabled.
+- a few extensions in pdfxtex:
+ - \pdflastximagecolordepth returns the last color depth
+ - \pdfximage supports a keyword "colorspace" following an object number
+ representing a ColorSpace object
+ - \pdfstrcmp compares two strings
+ - \pdfescapestring/\pdflastescapedstring provide a way to escape string
+ - \pdffirstlineheight/\pdflastlinedepth/\pdfeachlineheight/\pdfeachlinedepth
+ allow fixing line dimen
+ - patches from Taco
+ - px dimen unit
+ - tagcode patch
+ - quitvmode patch
+
+------------------------------------------------
+pdfTeX 3.141592-1.20b was released on 2004-12-22
+------------------------------------------------
+- Fixed some minor bugs, mostly with hz
+- The info line "output format initialized to PDF/DVI" isn't shown anymore, as
+ this info wasn't reliable (bug 112).
+- Now the PDF-related statistics (PDF objects...) in the .log file is only
+ shown in PDF output mode. It start with a line "PDF statistics:".
+- \pdfimageresolution is not limited to 2400 [dpi] anymore, can now be between
+ 0 and 65535 [dpi].
+- pdfTeX uses xpdf 3.00pl2
+- pdfTeX uses libpng 1.2.8, which fixes some png-related bugs.
+
+------------------------------------------------
+pdfTeX 3.141592-1.20a was released on 2004-09-06
+------------------------------------------------
+- There is a new program pdfxtex, which contains experimental features which
+ might end up in pdftex in the future.
+- Most distributions now use eTeX as the default engine, so when you call
+ pdftex you will get pdfeTeX. Most distributions now also use pdfTeX as the
+ default engine, so when you call latex you will get pdfeTeX running LaTeX.:-)
+- We are setting up pdfTeX as a project at sarovar
+ (http://sarovar.org/projects/pdftex/). Please report bugs etc. through the
+ site.
+- Support for the file pdftex.cfg is gone completely. All parameters that had
+ previously been set by it can be set through primitives; their values are
+ dumped to the format file.
+- The searchpath for encoding and mapfiles has been changed.
+ See http://tug.org/pipermail/tex-live/2004-January/004734.html and
+ http://tug.org/pipermail/tex-live/2004-January/004791.html
+- eTeX is now version 2.2, incorporating the last changes to TeX (3.141592).
+- New options for \pdfmapfile:
+ General functionality: Map items (map files, new: also single map lines; see
+ \pdfmapline) are put in list of pending map items. During the next shipout,
+ pending map items are sequentially scanned for their map entries, and an
+ internal map entry database is updated, using the modes below. Then the list
+ of pending map items is cleared. Map entries of fonts already in use are left
+ untouched. New: All \pdfmapfile and \pdfmapline commands can also be given
+ after shipout of the first page.
+ - \pdfmapfile {foo.map} clears the list of pending map items and starts a new
+ list with the only pending file foo.map. When the map entry lines of
+ foo.map are scanned, duplicate map entries are ignored and a warning is
+ issued. This is the old behaviour.
+ - \pdfmapfile {+foo.map} puts foo.map in the list of pending map items. When
+ the map entry lines of foo.map are scanned, duplicate map entries are
+ ignored and a warning is issued.
+ - \pdfmapfile {=foo.map} puts foo.map in the list of pending map items. When
+ foo.map is scanned, matching map entries in database are replaced by new
+ entries from foo.map.
+ - \pdfmapfile {-foo.map} puts foo.map in the list of pending map items. When
+ foo.map is scanned, matching map entries are deleted from database.
+ - \pdfmapfile {} clears the list of pending map items. It does not affect map
+ entries already registered into the database. This is the old behaviour.
+- New command \pdfmapline {line}. It's like \pdfmapfile but here you can set
+ single map lines like in the map files directly. The modifiers (+-=) have the
+ same effect as with \pdfmapfile.
+- Simplified the handling of the 14 Type 1 "standard fonts" (Times,
+ Helvetica...): They are now more or less handled like any other Type 1 font.
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000648.html
+- hz: So far the font expansion feature required that the user must be able to
+ create expanded tfms (eg cmr10+10.tfm). Now font expansion can be used
+ without creating these tfms.
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html
+- hz: Changed \pdffontexpand primitive --> the expand factor is now fixed to
+ 1000 and the argument is ignored. This will lead to spurious texts of "1000"
+ in your output if you compile old documents.
+- New command \pdftexbanner which returns a string with the full banner of the
+ current binary (e.g. "This is pdfTeX, Version 3.141592-1.20a (Web2C 7.5.3)
+ kpathsea version 3.5.3")
+- The PTEX.FullBanner key is now inserted in the document info dict instead of
+ the catalog. Newer versions of Acrobat display it.
+- Now includes support for encTeX.
+- Extended \pdfannot to use reserveobjnum/useobjnum
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2004-March/000424.html
+- Bugfix: pdfTeX would read an .xpdfrc when including pdfs.
+ See http://tug.org/pipermail/pdftex/2004-March/004835.html
+- Bugfix: The strings in /ID would sometimes be empty.
+- Bugfix: Even when mapfiles or encodings or PostScript font files were
+ missing, pdfTeX still produced a (most often corrupt) pdf. Now it aborts with
+ an error in these cases.
+- numerous small bugfixes.
+- pdfTeX now uses the GNU libavl from Ben Pfaff for managing of fontmap
+ entries.
+- pdfTeX uses zlib 1.2.1
+- pdfTeX uses xpdf 3.00
+- pdfTeX uses libpng 1.2.7
+
+------------------------------------------------
+pdfTeX 3.141592-1.11b was released on 2003-10-06
+------------------------------------------------
+- Bugfix: The handling of /Rotate produced displaced images when /Rotate was 90
+ or 270.
+
+------------------------------------------------
+pdfTeX 3.141592-1.11a was released on 2003-08-02
+------------------------------------------------
+- New command \pdftrailer analogue to \pdfcatalog whose argument ends up in the
+ trailer dictionary.
+- The behaviour when an included pdf has a newer version than the one specified
+ with \pdfoptionpdfminorversion can be controlled by the new internal integer
+ \pdfoptionpdfinclusionerrorlevel: If it's 0, pdfTeX gives only a warning; if
+ it's 1, it raises an error.
+ This can also be set in pdftex.cfg with pdf_inclusion_errorlevel
+- The syntax for outlines has been extended to allow attributes:
+ <outline spec> --> <attr spec> <action spec> [count <number>] <general text>
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2003-June/000165.html
+- The syntax of \pdfobj has been extended:
+ \pdfobj <object type spec> (h, v, m)
+ <object type spec> --> reserveobjnum
+ | [useobjnum <number>] [<attr spec>] [stream [<attr spec>]] <object contents>
+ <object contents> --> <file spec>
+ | <general text>
+ When the optional keyword `reserveobjnum' and `useobjnum' is not given, the
+ behaviour is unchanged.
+ See also http://tug.org/mailman/htdig/pdftex/2003-March/003814.html
+- Bugfix: /CreationDate didn't care for the timezone and could be fooled.
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2003-July/000223.html
+- Bugfix: The translation of 8-bit characters in included pdfs that had their
+ eighth bit set sometimes got wrong because of a missing typecast.
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2003-July/000216.html
+- Bugfix: pdfTeX -ini would crash with a minimal file because it didn't read
+ it's config and so didn't know anything about fonts.
+ See http://tug.org/pipermail/pdftex/2003-July/004262.html
+- Bugfix: \pdfstartlink would produce spurious /NewWindow entries. Also the
+ syntax of <action spec> and <goto-action spec> has been cleaned up.
+ See http://www.ntg.nl/pipermail/ntg-pdftex/2003-June/000167.html
+- Bugfix: \pdffontattr was not used for T3 fonts.
+ See http://tug.org/pipermail/pdftex/2003-June/004127.html
+- Bugfix: The cropbox of an included pdf would sometimes not be used.
+ See http://tug.org/pipermail/pdftex/2003-May/004037.html
+- pdfTeX uses xpdf 2.02
+
+------------------------------------------------
+pdfTeX 3.141592-1.10b was released on 2003-02-26
+------------------------------------------------
+- The numbers in transformation matrices are allways written with maximum
+ precision (see http://tug.org/pipermail/pdftex/2003-February/003596.html).
+- Incorporated the new version of TeX: 3.141592
+- Bugfix: Numbers in pdfs would sometimes be just a wee bit of (changed
+ implementation of pdftoepdf.convertNumToPDF).
+- Bugfix: When setting the /Producer, /Creator or /CreationDate keys with
+ /pdfinfo pdfTeX would also insert default values which caused duplicate keys
+ in the info dict (see
+ http://tug.org/pipermail/pdftex/2003-February/003524.html).
+- The reading of mapfiles is much faster (see
+ http://tug.org/pipermail/pdftex/2002-July/002843.html).
+- Bugfix: AR5 had problems with the CTM when displaying in "fit visible" mode
+ (see http://tug.org/pipermail/pdftex/2002-May/002688.html).
+- Bugfix: str_in_str had wrong indices (see
+ http://tug.org/pipermail/pdftex/2002-March/002367.html).
+- Bugfix: decimal_digits defaulted to 0, which caused problems with included
+ images when including pdfs (see
+ http://tug.org/pipermail/pdftex/2003-February/003518.html).
+ It now defaults to 4.
+- Bugfix: the type of included images was decided based only on the extensions;
+ now pdfTeX looks for magic bytes at the start of files (see
+ http://tug.org/pipermail/pdftex/2003-February/003519.html)
+
+-----------------------------------------------
+pdfTeX 3.14159-1.10a was released on 2003-01-16
+-----------------------------------------------
+- pdfTeX is now able to produce pdf1.4 (which is also the default) and has
+ almost complete support for including pdf1.4 files:
+ - Additional attributes like MetaData are copied from included pdfs.
+ - Currently the Page Group attribute (see sections 7.3.6 and 7.5.5 of the pdf
+ 1.4 reference) of included pdfs is NOT copied (as we don't know how to
+ handle this when imposing pdfs).
+ This means including pdfs with transparency features will work as long as
+ the included pdf doesn't use Page Groups; if it does, the result might not
+ be what is expected (One application known to use Page Groups is Adobe
+ Illustrator v9++). The distributed pdfTeX binaries will give a warning
+ about any occurance of a Page Group in an included pdf and ignore the Page
+ Group (thus producing syntactically correct pdfs but probably not the
+ intended output).
+ Acrobat 5++ and newer versions of Jaws display files without Page Groups
+ correctly, so this might not really be a problem.
+ See pdftoepdf.cc for preprocessor flags which allow this behaviour to be
+ changed (copying the Page Group (most likely producing incorrect pdf) or
+ treating Page Groups as errors).
+- The new primitive \pdfoptionpdfminorversion sets the pdf version of the
+ generated file and the latest allowed pdf version of included pdfs:
+ \pdfoptionpdfminorversion=3
+ tells pdfTeX to set the pdf version to 1.3 and allows only included pdfs with
+ versions <= 1.3 .
+ The default for \pdfoptionpdfminorversion is 4 for pdf 1.4
+ This must appear before any data is written to the generated pdf file, so
+ you should put it at the very start of your files.
+ This can also be set in pdftex.cfg with pdf_minorversion
+- It is now possible to specify the pdf page box to use when including pdfs.
+ The syntax has been extended:
+ \pdfximage [<image attr spec>] <general text> (h, v, m)
+ <image attr spec> --> [<rule spec>] [<attr spec>] [<page spec>] [<pdf box spec>]
+ <pdf box spec> --> mediabox|cropbox|bleedbox|trimbox|artbox
+ The default is cropbox (which defaults to mediabox), to be compatible with
+ previous versions of pdfTeX.
+ The page box specified at \pdfximage can be globally overridden with the
+ config parameter always_use_pdfpagebox and the command
+ \pdfoptionalwaysusepdfpagebox <integer>, where 0 is the default (use whatever
+ is specified with \pdfximage), 1 is media, 2 is crop, 3 is bleed, 4 is trim
+ and 5 is artbox. This can only be set once per object, i.e. the value used at
+ \pdfximage is remembered.
+ See the pdf reference for an explanation of the boxes.
+- The support for the inclusion of jpeg images has been extended to allow the
+ inclusion of JPEG/Exif files which are produced by digital photo cameras
+ (thanks to Hartmut Henkel).
+- The support for the inclusion of tif images has been removed as it was of
+ limited use (it worked only for gray-scale and rgb images) and produced wrong
+ results (all other images types where treated as rgb images).
+ Tif images can be converted on *nix on-the-fly to pngs with the help of
+ ImageMagick, epstopdf.sty or pdftex.def v0.4 or newer, and this rule:
+ \DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `basename #1 .tif`.png}
+- The extensions for pdf encryption have been removed, since they make the
+ pdfTeX code overly complex. Those needing pdf encryption are encouraged to
+ produce a standalone program for encrypting pdfs.
+- pdfTeX now writes a usage statistic about the pdfTeX specific memory to the
+ log.
+- numerous bugfixes, most of them in the inclusion of pdfs.
+- pdfTeX uses xpdf 2.01
+- pdfTeX uses libpng 1.2.5
+
+---------------------------------------------------------------------
+pdfTeX 3.14159-1.00a-pretest-20011127-ojmw was released on 2002-01-29
+---------------------------------------------------------------------
+
+----------------------------------------------------------------
+pdfTeX 3.14159-1.00a-pretest-20010806 was released on 2001-08-06
+----------------------------------------------------------------
+
+----------------------------------------------------------------
+pdfTeX 3.14159-1.00a-pretest-20010804 was released on 2001-08-04
+----------------------------------------------------------------
+
+$Id: //depot/Build/source.development/TeX/texk/web2c/pdftexdir/NEWS#86 $
+// vim: tw=79:ts=2:expandtab:autoindent
diff --git a/Master/texmf/doc/pdftex/README b/Master/texmf/doc/pdftex/README
new file mode 100644
index 00000000000..b855a68d22b
--- /dev/null
+++ b/Master/texmf/doc/pdftex/README
@@ -0,0 +1,90 @@
+pdfTeX
+======
+
+README for version 3.14159-1.30.4 of $Date: 2005/08/23 $
+========================================================
+
+This directory contains the version 1.30.4 of pdfTeX, an extended version of
+TeX that can create PDF directly from TeX source files and enhance the
+result of TeX typesetting with the help of PDF. When PDF output is not
+selected, pdfTeX produces normal DVI output, otherwise it produces PDF
+output that looks identical to the DVI output. An important aspect of this
+project is to investigate alternative justification algorithms, optionally
+making use of multiple master fonts.
+
+pdfeTeX is an even more extended version of TeX than pdfTeX because it is
+not based on TeX but on eTeX, an extended version of TeX.
+
+pdfTeX is based on the original TeX sources and Web2c, and has been
+successfully compiled on Unix, Win32 and DOS systems. It is still under
+development and features may change; it produces reasonable PDF code.
+
+See the file NEWS for changes to the program.
+
+Documentation about pdfTeX can be found at http://www.pdftex.org
+
+There is also a mailing list on pdfTeX; go to
+http://tug.org/mailman/listinfo/pdftex for more information about it. Its
+searchable archive can be found at http://tug.org/pipermail/pdftex/
+Please read http://www.catb.org/~esr/faqs/smart-questions.html before
+asking any questions on the pdfTeX mailing list.
+
+A mailing list for the developement of pdfTeX can be found at
+http://www.ntg.nl/mailman/listinfo/ntg-pdftex
+
+
+LEGAL ISSUES
+============
+
+pdfTeX is copyright (c) 1996-2005 Han The Thanh, <thanh@pdftex.org>
+
+pdfTeX is free software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+pdfTeX is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+details.
+
+You should have received a copy of the GNU General Public License along
+with pdfTeX; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+pdfTeX uses code from TeX; for these parts the original copyright by Don
+Knuth applies. See the source files for details.
+
+pdfeTeX uses code from eTeX; for these parts the original copyright by
+Peter Breitenlohner applies. See the source files for details.
+
+
+WHAT TO DO IF YOU BELIEVE YOU HAVE FOUND A BUG IN pdfTeX
+========================================================
+
+Please read http://www.chiark.greenend.org.uk/~sgtatham/bugs.html and
+follow the guidelines there. Then go to the sarovar site of pdfTeX
+(http://sarovar.org/projects/pdftex/) and submit your bug report there.
+Here you can also report feature requests or patches.
+
+
+CONTRIBUTORS
+============
+
+Peter Breitenlohner, Ricardo Sanchez Carmenes, Otfried Cheong, Thomas
+Esser, Hans Hagen, Hartmut Henkel, Taco Hoekwater, Pawel Jackowski, Tom
+Kacvinsky, Akira Kakuto, Reinhard Kotucha, Derek B. Noonburg, Heiko
+Oberdiek, Jiri Osoba, Fabrice Popineau, Sebastian Rahtz, Tomas Rokicki,
+Martin Schröder, Petr Sojka, Olaf Weber, Jiri Zlatuska.
+
+pdfTeX is built on top of TeX, written by Donald Knuth cum suis (Liang and
+so), and eTeX, written by Peter Breitenlohner cum suis; part of the
+paragraph optimization is inspired by the work of Hermann Zapf.
+
+
+------------------------------------------------------------------------------
+
+Please send bug reports, offers of help, etc. to martin@pdftex.org
+
+$Id: //depot/Build/source.development/TeX/texk/web2c/pdftexdir/README#30 $
+// vim: tw=75
diff --git a/Master/texmf/doc/pdftex/manual/makefiles.cmd b/Master/texmf/doc/pdftex/manual/makefiles.cmd
new file mode 100644
index 00000000000..5bda71136c3
--- /dev/null
+++ b/Master/texmf/doc/pdftex/manual/makefiles.cmd
@@ -0,0 +1,13 @@
+rem texexec --format=plain pdftex-x
+rem copy pdf file to pdftex-y and edit that file
+rem texexec --format=plain pdftex-z
+
+texexec --pdf --result=pdftex-a pdftex-t
+texexec --pdf --result=pdftex-b pdftex-a --pdfarrange --print=up --paper=A4A3 --addempty=1,2
+
+texexec --pdf --result=pdftex-l pdftex-t --mode=letter
+texexec --pdf --result=pdftex-s pdftex-t --mode=screen
+
+del /q pdftex.zip
+
+zip pdftex pdftex-a.pdf pdftex-l.pdf pdftex-s.pdf pdftex-t.tex pdftex-i.tex pdftex-t.txt makefiles.cmd
diff --git a/Master/texmf/doc/pdftex/manual/pdftex-t.tex b/Master/texmf/doc/pdftex/manual/pdftex-t.tex
new file mode 100644
index 00000000000..3dbb8048258
--- /dev/null
+++ b/Master/texmf/doc/pdftex/manual/pdftex-t.tex
@@ -0,0 +1,4833 @@
+% interface=english modes=letter,screen output=pdftex
+% vim: tw=79
+
+% $Id: pdftex-t.tex,v 1.624 2005/10/23 23:28:37 hhenkel Exp $
+
+% The number of lines on the titlepage depends on the kind of
+% \PDF\ code that \PDFTEX\ generates.
+
+\setvariables[pdftex][titlepagelines=63]
+
+%D We use a multi purpose style (using modes) that enable us
+%D to generate an A4, letter and screen version.
+%D
+%D Default A4 size manual:
+%D
+%D texexec --result pdftex-a.pdf pdftex-t
+%D
+%D Letter size manual:
+%D
+%D texexec --mode=letter --result=pdftex-l.pdf pdftex-t
+%D
+%D Booklet (given that A4 document is available):
+%D
+%D texexec --pdfarrange --paper=a5a4 --print=up --addempty=1,2 --result=pdftex-b.pdf pdftex-a
+%D
+%D Screen version
+%D
+%D texexec --mode=screen pdftex-t
+
+%D This is the \PDFTEX\ manual, so it makes sense to force \PDF\ output here.
+
+\setupoutput
+ [pdftex]
+
+%D ConTeXt defaults to 1.5; we want to be backwards compatible (and we don't
+%D use any features from 1.4++ anyway, do we?)
+\pdfminorversion=3
+
+%D First we define ourselves some abbreviations, if only to force
+%D consistency and to save typing. We use real small capitals, not pseudo
+%D ones.
+
+\setupsynonyms
+ [abbreviation]
+ [textstyle=smallcaps,
+ style=smallcaps,
+ location=left,
+ width=broad,
+ sample=\POSTSCRIPT]
+
+\setupcapitals
+ [title=no]
+
+%***********************************************************************
+
+\def\rcsscan $#1 #2,v #3 #4/#5/#6 #7${
+ \def\rcsrevision{#3}
+ \def\rcsyear{#4}
+ \def\rcsmonth{#5}
+ \def\rcsday{{\count0=#6\relax\the\count0}}
+ \def\rcsmonthname{\ifcase\rcsmonth ERROR\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\else ERROR\fi}
+}
+
+\rcsscan $Id: pdftex-t.tex,v 1.624 2005/10/23 23:28:37 hhenkel Exp $
+
+\def\currentpdftex{1.30.4}
+
+%***********************************************************************
+
+\def\eTeX{{$\varepsilon$}-\kern-.125em\TeX}
+\def\eg{e.\,g.}
+\def\Eg{E.\,g.}
+
+\abbreviation [AFM] {afm} {Adobe Font Metrics}
+%\abbreviation [AMIGA] {Amiga} {Amiga hardware platform}
+%\abbreviation [AMIWEB] {AmiWeb2c} {\AMIGA\ distribution}
+\abbreviation [ASCII] {ascii} {American Standard Code for Information Interchange}
+\abbreviation [CMACTEX] {CMac\TeX} {\MAC\ \WEBC\ distribution}
+\abbreviation [CONTEXT] {\ConTeXt} {general purpose macro package}
+\abbreviation [CTAN] {CTAN} {global \TEX\ archive server}
+%\abbreviation [DJGPP] {djgpp} {DJ Delorie's \GNU\ Programming Platform}
+\abbreviation [DVI] {dvi} {native \TEX\ Device Independent file format}
+\abbreviation [ENCTEX] {enc\TeX} {enc\TeX\ extension to \TEX}
+\abbreviation [EPSTOPDF] {epstopdf} {\EPS\ to \PDF\ conversion tool}
+\abbreviation [EPS] {eps} {Encapsulated PostScript}
+\abbreviation [ETEX] {\eTeX} {an extension to \TEX}
+\abbreviation [EXIF] {exif} {Exchangeable Image File format (JPEG file variant)}
+\abbreviation [FPTEX] {fp\TeX} {\WIN\ \WEBC\ distribution}
+\abbreviation [GHOSTSCRIPT] {Ghostscript} {\PS\ and \PDF\ language interpreter}
+\abbreviation [GNU] {gnu} {GNU's Not Unix}
+\abbreviation [HZ] {hz} {Hermann Zapf optimization}
+\abbreviation [JPEG] {jpeg} {Joint Photographic Expert Group}
+\abbreviation [LATEX] {\LaTeX} {general purpose macro package}
+\abbreviation [MAC] {Macintosh} {Macintosh hardware platform}
+\abbreviation [MACOSX] {Mac\,OS\,X} {Macintosh operating system version 10}
+\abbreviation [MDFIVE] {md5} {MD5 message-digest algorithm}
+\abbreviation [METAFONT] {\MetaFont} {graphic programming environment, bitmap output}
+\abbreviation [METAPOST] {\MetaPost} {graphic programming environment, vector output}
+\abbreviation [MIKTEX] {MikTeX} {\WIN\ distribution}
+\abbreviation [MLTEX] {ML\TeX} {ML\TeX\ extension to \TEX}
+\abbreviation [MPTOPDF] {mptopdf} {\METAPOST\ to \PDF\ conversion tool}
+\abbreviation [MSDOS] {MSDos} {Microsoft DOS platform (Intel)}
+\abbreviation [PDFETEX] {pdfe\TeX} {\ETEX\ extension producing \PDF\ output}
+\abbreviation [PDFLATEX] {pdf\LaTeX} {\TEX\ extension producing \PDF\ output (\LATEX\ format loaded)}
+\abbreviation [PDFTEX] {pdf\TeX} {\TEX\ extension producing \PDF\ output}
+\abbreviation [PDF] {pdf} {Portable Document Format}
+\abbreviation [PERL] {Perl} {Perl programming environment}
+\abbreviation [PFA] {PFA} {Adobe PostScript Font format (ASCII)}
+\abbreviation [PFB] {PFB} {Adobe PostScript Font format (Binary)}
+\abbreviation [PGC] {pgc} {\PDF\ Glyph Container}
+\abbreviation [PK] {pk} {Packed bitmap font}
+\abbreviation [PNG] {png} {Portable Network Graphics}
+\abbreviation [PS] {ps} {PostScript}
+\abbreviation [POSTSCRIPT] {PostScript} {PostScript}
+\abbreviation [PSTOPDF] {PStoPDF} {PostScript to \PDF\ converter (on top of GhostScript)}
+\abbreviation [RGB] {rgb} {Red Green Blue color specification}
+\abbreviation [TCX] {tcx} {\TEX\ Character Translation}
+\abbreviation [TDS] {tds} {\TEX\ Directory Standard}
+\abbreviation [TETEX] {te\TeX} {\TEX\ distribution for \UNIX\ (based on \WEBC)}
+\abbreviation [TEXEXEC] {\TeX exec} {\CONTEXT\ command line interface}
+\abbreviation [TEXINFO] {Texinfo} {generate typeset documentation from info pages}
+\abbreviation [TEXUTIL] {\TeX util} {\CONTEXT\ utility tool}
+\abbreviation [TEX] {\TeX} {typographic language and program}
+\abbreviation [TEXLIVE] {\TeX\ Live} {\TeX-Live distribution (multiple platform)}
+\abbreviation [TFM] {tfm} {\TEX\ Font Metrics}
+\abbreviation [TIF] {tiff} {Tagged Interchange File format}
+\abbreviation [TUG] {tug} {\TEX\ Users Group}
+\abbreviation [UNIX] {Unix} {Unix platform}
+\abbreviation [URL] {url} {Uniform Resource Locator}
+\abbreviation [WEBC] {Web2c} {official multi||platform \WEB\ environment}
+\abbreviation [WEB] {web} {literate programming environment}
+\abbreviation [WIN] {Win32} {Microsoft Windows platform}
+\abbreviation [ZIP] {zip} {compressed file format}
+
+%D It makes sense to predefine the name of the author of \PDFTEX, doesn't it?
+
+\def\THANH{H\`an Th\^e\llap{\raise 0.5ex\hbox{\'{}}} Th\`anh}
+
+%D Because they are subjected to changes and spoil the visual appearance of
+%D the \TEX\ source, \URL's are defined here.
+
+\useURL [ptex_org] [http://www.pdftex.org] % links to ptex_examples
+\useURL [ptex_ctan] [ctan:systems/pdftex]
+%\useURL [ptex_devel] [http://pdftex.sarovar.org/current/]
+\useURL [ptex_sarovar] [http://sarovar.org/projects/pdftex/]
+%\useURL [ptex_examples] [http://www.tug.org/applications/pdftex/]
+\useURL [tex_showcase] [http://www.tug.org/texshowcase]
+
+\useURL [tetex] [http://www.tug.org/teTeX/]
+\useURL [texlive] [http://www.tug.org/tex-live/]
+\useURL [ctan_systems] [ctan:systems]
+\useURL [win32] [ctan:systems/win32]
+%\useURL [amiga] [ctan:systems/amiga/amiweb2c/]
+
+\useURL [fabrice] [mailto:popineau@supelec.fr]
+\useURL [thomas] [mailto:te@dbs.uni-hannover.de]
+\useURL [andreas] [mailto:andreas.scherer@pobox.com]
+\useURL [christian] [mailto:cschenk@berlin.snafu.de]
+\useURL [context] [http://www.pragma-ade.com]
+
+% where the bug reports should go:
+\useURL [ptex_bugs] [mailto:pdftex@tug.org] [] [pdftex@tug.org]
+% anything else pdftex related:
+\useURL [ptex_list] [mailto:pdftex@tug.org] [] [pdftex@tug.org]
+
+\useURL [sebastian] [mailto:s.rahtz@elsevier.co.uk] [] [s.rahtz@elsevier.co.uk]
+\useURL [sebastian] [mailto:sebastian.rahtz@computing-services.oxford.ac.uk] [] [sebastian.rahtz@computing-services.oxford.ac.uk]
+\useURL [thanh] [mailto:thanh@informatics.muni.cz] [] [thanh@informatics.muni.cz]
+\useURL [thanh] [mailto:hanthethanh@myrealbox.com] [] [hanthethanh@myrealbox.com]
+\useURL [martin] [mailto:martin@pdftex.org] [] [martin@pdftex.org]
+\useURL [hans] [mailto:pragma@wxs.nl] [] [pragma@wxs.nl]
+\useURL [hartmut] [mailto:hartmut_henkel@gmx.de] [] [hartmut\_henkel@gmx.de]
+\useURL [pawel] [mailto:p.jackowski@gust.org.pl] [] [p.jackowski@gust.org.pl]
+
+%D The primitive definitions are specified a bit fuzzy using the next set of
+%D commands. Some day I'll write some proper macros to deal with this.
+
+\def\Sugar #1{\unskip\unskip\unskip\kern.25em{#1}\kern.25em\ignorespaces}
+\def\Something#1{\Sugar{\mathematics{\langle\hbox{#1}\rangle}}}
+\def\Lbrace {\Sugar{\tttf\leftargument}}
+\def\Rbrace {\Sugar{\tttf\rightargument}}
+\def\Or {\Sugar{\mathematics{\vert}}}
+\def\Optional #1{\Sugar{\mathematics{[\hbox{#1}]}}}
+\def\Means {\Sugar{\mathematics{\rightarrow}}}
+\def\Tex #1{\Sugar{\type{#1}}}
+\def\Literal #1{\Sugar{\type{#1}}}
+\def\Syntax #1{\strut\kern-.25em{#1}\kern-.25em}
+\def\Next {\crlf\hbox to 2em{}\nobreak}
+\def\Whatever #1{\Sugar{\mathematics{(\hbox{#1})}}}
+
+% hyphenates
+
+\def\Something#1{\Sugar{\mathematics{\langle}\prewordbreak{#1}\prewordbreak\mathematics{\rangle}}}
+
+% introduced
+\def\introduced#1{The primitive has been introduced in \PDFTEX\ #1.}
+
+%D We typeset the \URL's in a monospaced font.
+
+\setupurl
+ [style=type]
+
+%D The basic layout is pretty simple. Because we want non european readers to
+%D read the whole text as well, a letter size based alternative is offered
+%D too. Mode switching is taken care of at the command line when running
+%D \TEXEXEC.
+
+\startmode[letter]
+
+ \setuppapersize
+ [letter][letter]
+
+\stopmode
+
+\setuplayout
+ [topspace=1.5cm,
+ backspace=2.5cm,
+ leftmargin=2.5cm,
+ width=middle,
+ footer=1.5cm,
+ header=1.5cm,
+ height=middle]
+
+%D For the moment we use the description mechanism to typeset keywords etc.
+%D Well, I should have used capitals.
+
+\definedescription
+ [description]
+ [location=serried,
+ width=broad]
+
+\definedescription
+ [PathDescription]
+ [location=left,
+ sample=TEXPSHEADERS,
+ width=broad,
+ headstyle=type]
+
+\definehead
+ [pdftexprimitive]
+ [subsubsection]
+
+\setuphead
+ [pdftexprimitive]
+ [style=,
+ before=\blank,
+ after=\blank,
+ numbercommand=\SubSub]
+
+%D This is typically a document where we want to save pages,
+%D so we don't start any matter (part) on a new page.
+
+\setupsectionblock [frontpart] [page=]
+\setupsectionblock [bodypart] [page=]
+\setupsectionblock [backpart] [page=]
+
+%D The \type{\SubSub} command is rather simple and generates a triangle.
+%D This makes the primitives stand out a bit more.
+
+\def\SubSub#1{\mathematics{\blacktriangleright}}
+
+%D But, for non Lucida users, the next one is more safe:
+
+\def\SubSub#1{\goforwardcharacter}
+
+%D I could have said:
+%D
+%D \starttyping
+%D \setupsection[section-5][previousnumber=no,bodypartconversion=empty]
+%D \setuplabeltext[subsubsection=\mathematics{\blacktriangleright}]
+%D \stoptyping
+%D
+%D but this is less clear.
+
+%D We use white space, but not too much.
+
+\setupwhitespace
+ [medium]
+
+\setupblank
+ [medium]
+
+%D Verbatim things get a small margin.
+
+\setuptyping
+ [margin=standard]
+
+\definetype
+ [esctype]
+\setuptype
+ [esctype]
+ [option=commands,escape=@]
+
+\definetyping
+ [esctyping]
+\setuptyping
+ [esctyping]
+ [margin=standard,option=commands,escape=@]
+
+%D Due to the lots of verbatim we will be a bit more tolerant in breaking
+%D paragraphs into lines.
+
+\setuptolerance
+ [verytolerant,stretch]
+
+%D We put the chapter and section numbers in the margin and use bold fonts.
+
+\setupheads
+ [alternative=margin]
+
+\setuphead
+ [section]
+ [style=\bfb]
+
+\setuphead
+ [subsection]
+ [style=\bfa]
+
+%D The small table of contents is limited to section titles and is fully
+%D interactive.
+
+\setuplist
+ [section]
+ [criterium=all,
+ interaction=all,
+ width=2em,
+ aligntitle=yes,
+ alternative=a]
+
+%D Ah, this manual is in english!
+
+\mainlanguage
+ [en]
+
+%D We use Palatino fonts, because they look so well on the screen. The
+%D version generated at \PRAGMA\ uses Optima Nova instead. Both fonts are
+%D designed by Hermann Zapf.
+
+\setupfonthandling [hz] [min=25,max=25,step=5]
+
+\setupalign
+ [hz,hanging]
+
+\startnotmode[atpragma]
+
+ \setupfontsynonym [Serif] [handling=quality]
+ \setupfontsynonym [SerifBold] [handling=quality]
+ \setupfontsynonym [SerifSlanted] [handling=quality]
+ \setupfontsynonym [SerifItalic] [handling=quality]
+ \setupfontsynonym [SerifBoldSlanted] [handling=quality]
+ \setupfontsynonym [SerifBoldItalic] [handling=quality]
+
+ %setupfontsynonym [Mono] [handling=quality] % sloooow
+
+ % We use adobe metrics instead of urw metrics because tetex only
+ % ships the former. Beware, these metrics differ!
+
+ \loadmapfile[context-base.map]
+ \usetypescript [adobekb] [\defaultencoding]
+ \usetypescript [palatino][\defaultencoding]
+
+ \setupbodyfont
+ [palatino,10pt]
+
+ \definefontsynonym[TitleFont][SerifBold]
+
+\stopnotmode
+
+\startmode[atpragma]
+
+ \usetypescriptfile[type-ghz]
+
+ \setupfontsynonym [Sans] [handling=quality]
+ \setupfontsynonym [SansBold] [handling=quality]
+ \setupfontsynonym [SansSlanted] [handling=quality]
+ \setupfontsynonym [SansItalic] [handling=quality]
+ \setupfontsynonym [SansBoldSlanted] [handling=quality]
+ \setupfontsynonym [SansBoldItalic] [handling=quality]
+
+ %setupfontsynonym [Mono] [handling=quality] % sloooow
+
+ \definetypeface[optima][ss][sans][optima-nova] [default][encoding=\defaultencoding]
+ \definetypeface[optima][tt][mono][latin-modern][default][encoding=\defaultencoding,rscale=1.1]
+
+ \setupbodyfont[optima,10pt,ss]
+
+ \definefontsynonym[TitleFont][SansBold]
+
+\stopmode
+
+%D This document is mildly interactive. Yes, Thanh's name will end up ok in
+%D the document information data.
+
+\setupinteraction
+ [state=start,
+ style=normal,
+ color=,
+ page=yes,
+ openaction=firstpage,
+ title=the pdfTeX users manual,
+ author={H\`an Th\^e Th\`anh, Sebastian Rahtz, Hans Hagen, Hartmut Henkel, Pawe\l\ Jackowski}]
+
+\setupinteractionscreen % still needed?
+
+\startnotmode[screen]
+
+\setupinteractionscreen
+ [option=bookmark]
+
+\stopnotmode
+
+%D Some headers and footers will complete the layout.
+
+\setupheadertexts
+ [The pdf\TeX\ user manual]
+
+\setupfootertexts
+ [pagenumber]
+
+%D For Tobias Burnus, who loves bookmarks, I've enabled them.
+
+\placebookmarks
+ [section,subsection,pdftexprimitive]
+
+%D Let's also define a screen layout:
+
+\startmode[screen] \environment pdftex-i \stopmode
+
+%D We auto-cross link the paper and screen version:
+
+\startnotmode[screen]
+
+%\coupledocument
+% [screenversion]
+% [pdftex-s]
+% [section,subsection,subsubsection,pdftexprimitive]
+% [the screen version]
+
+\setuphead
+ [section,subsection,subsubsection,pdftexprimitive]
+ [file=screenversion]
+
+\setuplist
+ [section]
+ [alternative=c]
+
+\stopnotmode
+
+%D The text starts here!
+
+\starttext
+
+%D Being lazy, I don't split the file, so paper and screen get
+%D mixed in one document.
+
+\startmode[screen] \getbuffer[screen] \stopmode
+
+\startnotmode[screen]
+
+%D But first we typeset the title page. It has a background. This
+%D background, showing a piece of \PDF\ code, will be referred to
+%D later on.
+
+%D We can use more modern \CONTEXT\ features, but for the moment
+%D stick to the old style and methods.
+
+\NormalizeFontWidth
+ \TitleFont
+ {\hskip.5mm The pdf\TeX\ user manual} % \hskip is fake offset
+ \paperheight
+ {TitleFont}
+
+\setupbackgrounds
+ [page]
+ [background={title,joke,names,content}]
+
+\defineoverlay
+ [title]
+ [\hbox to \paperwidth
+ {\hfill
+ \TitleFont\setstrut
+ \rotate{The pdf\TeX\ user manual}%
+ \hskip.5cm}] % \dp\strutbox}]
+
+% \defineoverlay
+% [joke]
+% [\hbox to \paperwidth
+% {\TitleFont\setstrut
+% \dimen0=\overlaywidth
+% \advance\dimen0 by -\ht\strutbox
+% \advance\dimen0 by -\dp\strutbox
+% \advance\dimen0 by -1cm
+% \dimen2=\overlayheight
+% \advance\dimen2 by -1cm
+% \hskip.5cm\expanded{\externalfigure
+% [pdftex-z.pdf]
+% [width=\the\dimen0,height=\the\dimen2]}%
+% \hfill}]
+
+% \defineoverlay
+% [names]
+% [\vbox to \paperheight
+% {\dontcomplain
+% \TitleFont\setstrut
+% \setbox0=\hbox{\TeX}%
+% \hsize\paperwidth
+% \rightskip\ht0
+% \advance\rightskip\dp\strutbox
+% \advance\rightskip\dp\strutbox
+% \bfa \setupinterlinespace
+% \vfill
+% \hfill \THANH \endgraf
+% \hfill Sebastian Rahtz \endgraf
+% \hfill Hans Hagen
+% \hfill Hartmut Henkel
+% \hfill Pawe\l\ Jackowski
+% \vskip 1ex
+% \hfill \currentdate
+% \vskip 2ex}]
+
+\defineoverlay
+ [content]
+ [\overlaybutton{contents}]
+
+% title page
+
+\definelayout
+ [titlepage]
+ [backspace=.5cm,
+ cutspace=3.5cm,
+ topspace=.5cm,
+ bottomspace=.5cm,
+ header=0pt,
+ footer=0pt,
+ lines=\getvariable{pdftex}{titlepagelines},
+ grid=yes,
+ width=middle]
+
+\definecolumnset
+ [titlepage]
+ [n=2,distance=0.5cm]
+
+\start
+
+ \chardef\fontdigits=2
+ \switchtobodyfont[10pt,tt]
+ \setupinterlinespace[line=\dimexpr((\paperheight-1cm)/\getvariable{pdftex}{titlepagelines})]
+ \setuptyping[margin=,color=]
+ \setuplayout[titlepage]
+
+ \startcolumnset[titlepage]
+ \typefile{pdftex-t.txt}
+ \stopcolumnset
+
+ \page
+ \setuplayout
+
+\stop
+
+% \startstandardmakeup
+%
+% %D The titlepage is generated using the background overlay mechanism. This
+% %D saves me the trouble of determining funny skips and alignments. So no text
+% %D goes here.
+%
+% \stopstandardmakeup
+
+\setupbackgrounds
+ [page]
+ [background=]
+
+%D The inside title page is as follows.
+
+\startstandardmakeup[footerstate=none]
+
+ \dontcomplain
+
+ \setupalign[left]
+
+ \start
+
+ \bfd The pdf\TeX\ user manual
+
+ \bfa \setupinterlinespace
+
+ \vskip4ex
+
+ \THANH\par
+ Sebastian Rahtz\par
+ Hans Hagen\par
+ Hartmut Henkel\par
+ Pawe\l\ Jackowski\par
+
+ \vskip3ex
+
+ \rcsmonthname\ \rcsday, \rcsyear\par
+ \vskip1ex
+ Rev.\ \rcsrevision
+
+ \stop
+
+ \vfill
+
+ \startlines
+ The title page of this manual
+ represents the plain \TeX\ coded
+ text ``Welcome to pdf\TeX !''
+ \stoplines
+
+ \blank[2*big] \setuptyping[after=]
+
+ \starttyping
+ \pdfoutput=1
+ \pdfcompresslevel=0
+ \font\tenrm=ptmr8r
+ \tenrm
+ Welcome to pdf\TeX!
+ \bye
+ \stoptyping
+
+\stopstandardmakeup
+
+\setuppagenumber[number=1] % added in case of single sided usage
+
+%D So far for non screen mode.
+
+\stopnotmode
+
+%D We start with a small table of contents, typeset in double column format.
+
+\startfrontmatter
+
+\subject[contents]{Contents}
+
+\startcolumns[distance=3em]
+ \placelist[section]
+\stopcolumns
+
+\stopfrontmatter
+
+%D And here it is: the main piece of text.
+
+\startbodymatter
+
+%***********************************************************************
+
+\section{Introduction}
+
+The main purpose of the \PDFTEX\ project is to create and maintain
+an extension of \TEX\ that can produce \PDF\ directly from \TEX\
+source files and improve|/|enhance the result of \TEX\ typesetting
+with the help of \PDF. When \PDF\ output is not selected, \PDFTEX\
+produces normal \DVI\ output, otherwise it generates \PDF\ output
+that looks identical to the \DVI\ output. An important aspect of this
+project is to investigate alternative justification algorithms (\eg\
+a~font expansion algorithm akin to the \HZ\ micro||typography algorithm by
+Prof.~Hermann Zapf), optionally making use of multiple master fonts.
+
+\PDFTEX\ is based on the original \TEX\ sources and \WEBC, and has been
+successfully compiled on \UNIX, \WIN\ and \MSDOS\ systems. It is under
+active development, with new features trickling in. Great care is taken
+to keep new \PDFTEX\ versions backward compatible with earlier ones.
+
+For some years there has been a~\quote {moderate} successor to \TEX\
+available, called \ETEX. Because mainstream macro packages such as
+\LATEX\ have started supporting this welcome extension, \PDFTEX\ also
+is available as \PDFETEX. Although in this document we will speak of
+\PDFTEX, we advise users to use \PDFETEX\ when available. That way they
+get the best of all worlds and are ready for the future. Starting with
+\TEXLIVE\ 2004, that future has arrived: \PDFETEX\ is now the primary
+\TEX\ engine.
+
+Other extensions to \PDFTEX\ are \MLTEX\ and \ENCTEX; recent \PDFTEX\
+engines have these often included.
+
+\PDFTEX\ is maintained by \THANH, Martin Schr\"oder, Hans Hagen,
+Hartmut Henkel, and others. The \PDFTEX\ homepage is \from [ptex_org].
+Please send \PDFTEX\ comments and bug reports to the mailing list
+\from [ptex_bugs].
+
+We thank all readers who send us corrections and suggestions. We also
+wish to express the hope that \PDFTEX\ will be of as much use to you
+as it is to us. Since \PDFTEX\ is still being improved and extended,
+we suggest you to keep track of updates.
+
+%***********************************************************************
+
+\subsection{About this manual}
+
+This manual revision (\rcsrevision) tries to keep track with the recent
+\PDFTEX\ development up to version \currentpdftex. Main text updates
+were done regarding the new configuration scheme, font mapping, and new
+or updated primitives. The primary repository for the manual and its
+sources is at \from[ptex_sarovar]. Copies in \PDF\ format can also be
+found at the CTAN network in directory \from[ptex_ctan].
+
+Thanks to Karl Berry for proof reading and submitting a~long changes
+list. New errors might have slipped in afterwards by the editor.
+Please send questions or suggestions by email to \from[ptex_bugs].
+
+%***********************************************************************
+
+\subsection{Legal Notice}
+
+Copyright \copyright\ 1996||2005 \THANH.
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+A~copy of the license is included in the section entitled ``GNU
+Free Documentation License''.
+
+%***********************************************************************
+
+\section{About \PDF}
+
+The cover of this manual lists an almost minimal \PDF\ file generated
+by \PDFTEX, with the corresponding source file on the next page. Unless
+compression is enabled, such a~\PDF\ file is rather verbose and readable.
+The first line specifies the version used; currently \PDFTEX\ produces
+level 1.4 output by default. \PDF\ viewers are supposed to silently skip
+over all elements they cannot handle.
+
+A~\PDF\ file consist of objects. These objects can be recognized by their
+number and keywords:
+
+\starttyping
+7 0 obj << /Type /Catalog /Pages 5 0 R >> endobj
+\stoptyping
+
+Here \typ{7 0 obj ... endobj} is the object capsule. The first number is
+the object number. Later we will see that \PDFTEX\ gives access to this
+number. One can for instance create an object by using \type{\pdfobj} after
+which \type{\pdflastobj} returns the number. So
+
+\starttyping
+\pdfobj{/Type /Catalog /Pages 5 0 R}
+\stoptyping
+
+inserts an object into the file, while \type{\pdflastobj} returns the
+number \PDFTEX\ assigned to this object. The sequence \type{5 0 R} is
+an object reference, a~pointer to another object (no.~5). The second
+number (here a~zero) is currently not used in \PDFTEX; it is the version
+number of the object. It is for instance used by \PDF\ editors, when they
+replace objects by new ones. The version numbers permit a~roll||back. (An
+example of a~graphic editor that uses \PDF\ as storage format is the
+Adobe Illustrator.)
+
+In general this rather direct way of pushing objects in the files is not very
+useful, and only makes sense when implementing, say, fill||in field
+support or annotation content reuse. We will come to that later. Unless such
+direct objects are part of something larger, they will end up as isolated
+entities, not doing any harm but not doing any good either.
+
+When a~viewer opens a~\PDF\ file, it first goes to the end of the file. There
+it finds the keyword \type{startxref}, the signal where to look for the so
+called \quote {object cross reference table}. This table provides fast access
+to the objects that make up the file. The actual starting point of the file
+is defined after the \type{trailer}. The \type{/Root} entry points to the
+catalog. In this catalog the viewer can find the page list. In our example we
+have only one page. The trailer also holds an \type{/Info} entry, which tells
+ a~bit more about the document. Just follow the thread:
+
+\startnarrower
+\type{/Root} $\longrightarrow$ object~7 $\longrightarrow$
+\type{/Pages} $\longrightarrow$ object~5 $\longrightarrow$
+\type{/Kids} $\longrightarrow$ object~2 $\longrightarrow$
+\type{/Contents} $\longrightarrow$ object~3
+\stopnarrower
+
+As soon as we add annotations, a~fancy word for hyperlinks and the like, some
+more entries are present in the catalog. We invite users to take a~look at
+the \PDF\ code of this file to get an impression of that.
+
+The page content is a~stream of drawing operations. Such a~stream
+can be compressed, where the level of compression can be set with
+\type {\pdfcompresslevel}. Let's take a~closer look at this stream
+in object~3. Often there is a~transformation matrix, six numbers
+followed by \type{cm}. As in \POSTSCRIPT, the operator comes after
+the operands. Between \type{BT} and \type{ET} comes the text. A~font
+is selected by a~\type{Tf} operator, which is given a~resource name
+\type{/F..} and the font size. The actual text goes into \type{()}
+bracket pairs so that it creates a~\POSTSCRIPT\ string. The numbers
+inbetween bracket pairs provide fine glyph positioning (kerning). When
+one analyzes a~file produced by a~less sophisticated typesetting engine,
+whole sequences of words can be recognized. In \PDF\ files generated by
+\PDFTEX\ however, the words comes out rather fragmented, mainly because
+a~lot of kerning takes place. \PDF\ viewers in search mode simply ignore the
+kerning information in these text streams. When a~document is searched,
+the search engine reconstructs the text from these (string) snippets.
+
+This one page example uses an Adobe Times||Roman font. This is one of
+the 14 so||called standard fonts that are always present in the viewer
+application, and therefore need not be embedded in the \PDF\ file.
+However, when we use for instance Computer Modern Roman, we have to
+make sure that this font is available, and the best way to do this is
+to embed it. Just let your eyes follow the object thread and see how
+ a~font is described. The only thing removed from this example is the
+(partially) embedded glyph description file, which for the 14 standard
+fonts is not needed.
+
+In this simple file, we don't specify in what way the file should be opened,
+for instance full screen or clipped. A~closer look at the page object no.~2
+(\typ{/Type /Page}) shows that a~mediabox (\typ{/MediaBox}) is part of the
+page description. A~mediabox acts like the (high-resolution) bounding box
+in a~\POSTSCRIPT\ file. \PDFTEX\ users can add dictionary stuff to page
+objects by the \type{\pdfpageattr} primitive.
+
+Although in most cases macro packages will shield users from these internals,
+\PDFTEX\ provides access to many of the entries described here, either
+automatically by translating the \TEX\ data structures into \PDF\ ones, or
+manually by pushing entries to the catalog, page, info or self created
+objects. Those who, after this introduction, feel unsure how to
+proceed, are advised to read on but skip \in{section}[primitives]. Before we
+come to that section, we will describe how to get started with \PDFTEX.
+
+%***********************************************************************
+
+\section{Getting started}
+
+This section describes the steps needed to get \PDFTEX\ running on
+a~system where \PDFTEX\ is not yet installed. Nowadays virtually all \TEX\
+distributions have \PDFTEX\ as a~component, such as \TEXLIVE, \TETEX,
+\FPTEX, \MIKTEX, and \CMACTEX. The ready to run \TEXLIVE\ distribution
+comes with \PDFTEX\ versions for many \UNIX, \WIN, and \MACOSX\ systems; more
+information can be found at \from[texlive]. \TETEX\ by Thomas Esser is
+ a~source distribution with an automated compilation process for \UNIX\
+systems; see \from[tetex]. For \WIN\ systems there are also two separate
+distributions that contain \PDFTEX, both in \from[win32]: \FPTEX\ by
+Fabrice Popineau and \MIKTEX\ by Christian Schenk. So when you use
+any of these distributions, you don't need to bother with the \PDFTEX\
+installation procedure in the next sections.
+
+If there is no precompiled binary of \PDFTEX\ for your system, or the
+version coming with a~distribution is not the current one and you would
+like to try out a~fresh \PDFTEX\ immediately, you will need to build
+\PDFTEX\ from sources; read on. You should already have a~working \TEX\
+system, \eg\ \TETEX, into which the freshly compiled \PDFTEX\ will
+be integrated. Note that the installation description in this manual
+is \WEBC||specific.
+
+%***********************************************************************
+
+\subsection{Getting sources and binaries}
+
+The latest sources of \PDFTEX\ are currently distributed for compilation
+on \UNIX\ systems (including Linux), and \WIN\ systems (Windows 95,
+98, NT, 2000, XP). The primary location where one can fetch the latest
+released code is at the developers' homepage \from[ptex_sarovar], where
+you also find bug tracking information, and the manual sources. Download
+the \PDFTEX\ archive from there.
+
+The \PDFTEX\ sources can also be found at their canonical place in
+the CTAN network, \from[ptex_ctan].
+Separate \PDFTEX\ binaries for various systems might also be available,
+check out the subdirectories below \from[ctan_systems].
+
+%***********************************************************************
+
+\subsection{Compiling}
+
+The compilation is expected to be easy on \UNIX||like systems and
+can be described best by example. Assuming that the file \filename
+{pdftex.zip} is downloaded to some working directory, \eg\
+\filename {\$HOME/pdftex}, on a~\UNIX\ system the following steps are
+needed to compile \PDFTEX:
+
+\startesctyping
+cd $HOME/pdftex
+unzip pdftex-@currentpdftex.zip
+cd pdftex-@currentpdftex
+./Build
+\stopesctyping
+
+The binaries \filename{pdftex} and \filename{pdfetex} are then
+built in the subdirectory \filename{build/texk/web2c}. In the same
+directory also the corresponding pool files \filename{pdftex.pool}
+and \filename{pdfetex.pool} are generated, that are needed for creating
+formats.
+
+%***********************************************************************
+
+\subsection{Placing files}
+
+The next step is to put the freshly compiled binaries and pool
+files into their proper places within the \TDS\ structure
+of the \TEX\ system. Put the files \filename{pdftex} and
+\filename{pdfetex} into the directory (\eg\ for a~typical \TETEX\ system)
+\filename{/usr/local/teTeX/bin/i686-pc-linux-gnu}, and the pool files
+into \filename{/usr/local/teTeX/share/texmf/web2c}.
+
+Don't forget to do a~\filename{texconfig-sys init} afterwards,
+so that all formats are regenerated system-wide with the fresh binaries.
+
+%***********************************************************************
+
+\subsection{Setting search paths}
+
+\WEBC||based programs, including \PDFTEX, use the \WEBC\ run||time
+configuration file called \filename {texmf.cnf}. The location
+of this file is the appropriate position within the \TDS\ tree
+relative to the place of the \PDFTEX\ binary; on a~\TETEX\ system,
+file \filename{texmf.cnf} typically is located either in directory
+\filename{texmf/web2c} or \filename{texmf-local/web2c}. The path to
+file \filename{texmf.cnf} can also be set up by the environment variable
+\type{TEXMFCNF}.
+
+Next you might need to edit \filename {texmf.cnf} so that \PDFTEX\
+can find all necessary files, but the \filename{texmf.cnf} files
+coming with the major \TEX\ distributions should already be set up for
+normal use. You might check into the file \filename{texmf.cnf} to see
+where the various bits and pieces are going.
+
+\PDFTEX\ uses the search path variables shown in \in{table}[tbl:spathvar].
+
+\startbuffer
+\starttabulate[|l|l|]
+\HL
+\NC \bf used for \NC \bf texmf.cnf \NC\NR
+\HL
+\NC output files \NC \type{TEXMFOUTPUT} \NC\NR
+\NC input files, images \NC \type{TEXINPUTS} \NC\NR
+\NC format files \NC \type{TEXFORMATS} \NC\NR
+\NC text pool files \NC \type{TEXPOOL} \NC\NR
+\NC encoding files \NC \type{ENCFONTS} \NC\NR
+\NC font map files \NC \type{TEXFONTMAPS} \NC\NR
+\NC \TFM\ files \NC \type{TFMFONTS} \NC\NR
+\NC virtual fonts \NC \type{VFFONTS} \NC\NR
+\NC type1 fonts \NC \type{T1FONTS} \NC\NR
+\NC TrueType fonts \NC \type{TTFONTS} \NC\NR
+\NC pixel fonts \NC \type{PKFONTS} \NC\NR
+\HL
+\stoptabulate
+\stopbuffer
+
+\placetable[here][tbl:spathvar]
+ {The \WEBC\ variables.}
+ {\getbuffer}
+
+\PathDescription {TEXMFOUTPUT} Normally, \PDFTEX\ puts its output files
+in the current directory. If any output file cannot be opened there, it
+tries to open it in the directory specified in the environment variable
+\type{TEXMFOUTPUT}. There is no default value for that variable. For
+example, if you type \type{pdfetex paper} and the current directory is
+not writable, if \type{TEXMFOUTPUT} has the value \type{/tmp}, \PDFTEX\
+attempts to create \type{/tmp/paper.log} (and \type{/tmp/paper.pdf},
+if any output is produced.)
+
+\PathDescription {TEXINPUTS} This variable specifies where \PDFTEX\ finds
+its input files. Image files are considered
+input files and searched for along this path.
+
+\PathDescription {TEXFORMATS} Search path for format (\type{.fmt}) files.
+
+\PathDescription {TEXPOOL} Search path for pool (\type{.pool}) files.
+
+\PathDescription {ENCFONTS} Search path for encoding (\type{.enc}) files.
+
+\PathDescription {TEXFONTMAPS} Search path for font map (\type{.map}) files.
+
+\PathDescription {TFMFONTS} Search path for font metric (\type{.tfm}) files.
+
+\PathDescription {VFFONTS} Search path for virtual font (\type{.vf})
+files. Virtual fonts are fonts made up of other fonts.
+Because \PDFTEX\ produces the
+final output code, it must consult those files.
+
+\PathDescription {T1FONTS} Search path for Type~1 font files (\type{.pfa}
+and \type{.pfb}). These outline (vector) fonts are to be preferred over
+bitmap \PK\ fonts. In most cases Type~1 fonts are used and this variable
+tells \PDFTEX\ where to find them.
+
+\PathDescription {TTFFONTS} Search path for TrueType font (\type{.ttf})
+files. Like Type~1 fonts, TrueType fonts are also outlines.
+
+\PathDescription {PKFONTS} Search path for packed (bitmap) font
+(\type{.pk}) files.
+Unfortunately bitmap fonts are still displayed poorly by some \PDF\
+viewers, so when possible one should use outline fonts. When no outline
+is available, \PDFTEX\ tries to locate a~suitable \PK\ font (or invoke
+ a~process that generates it).
+
+%***********************************************************************
+
+\subsection[cfg]{The \PDFTEX\ configuration}
+
+One has to keep in mind that, as opposed to \TEX\ with its \DVI\ output,
+the \PDFTEX\ program does not require a~separate postprocessing stage
+to transform the \TEX\ input into a~\PDF\ file. As a~consequence, all
+data needed for building a~ready \PDF\ page must be available
+during the \PDFTEX\ run, in particular information on media dimensions
+and offsets, graphics files for embedding, and font information (font
+files, encodings).
+
+When \TEX\ builds a~page, it places items relative to the top left page
+corner (the \DVI\ reference point). Separate \DVI\ postprocessors allow
+specifying the paper size (\eg\ \quote {A4} or \quote{letter}), so
+that this reference point is moved to the correct position on the paper,
+and the text ends up at the right place.
+
+In \PDF, the paper dimensions are part of the page definition, and
+\PDFTEX\ therefore requires that they be defined at the beginning of
+the \PDFTEX\ run. As with pages described by \POSTSCRIPT, the \PDF\
+reference point is in the lower||left corner.
+
+Formerly, these dimensions and other \PDFTEX\ parameters were read
+in from a~configuration file named \filename{pdftex.cfg}, which had
+a~special (non-\TEX) format, at the start of processing. Nowadays such
+a~file is ignored by \PDFTEX. Instead, the page dimensions and offsets,
+as well as many other parameters, can be set by \PDFTEX\ primitives
+during the \PDFTEX\ format building process, so that the settings are
+dumped into the fresh format and consequently will be used when \PDFTEX\
+is later called with that format. All settings from the format can
+still be overridden during a~\PDFTEX\ run by using the same primitives.
+This new configuration concept is a~more unified approach, as it avoids
+the configuration file with a~special format.
+
+A~list of \PDFTEX\ primitives relevant for setting up the \PDFTEX\ engine
+is given in \in{table}[tbl:configparms]. All primitives are described in
+detail within later sections. \in{Figure}[in:pdftexconfig] shows a~recent
+configuration file (\type{pdftexconfig.tex}) in \TEX\ format, using the
+primitives from \in{table}[tbl:configparms], which typically is read
+in during the format building process. It enables \PDF\ output, sets paper
+dimensions and the default pixel density for \PK\ font inclusion. The default
+values are chosen so that \PDFTEX\ often can be used (\eg\ in \type{-ini} mode)
+even without setting any parameters.
+
+\startbuffer
+\starttabulate[|l|l|l|l|l|]
+\HL
+\NC \bf internal name \NC \bf type \NC\bf default\NC\bf comment\NC\NR
+\HL
+\NC \type{\pdfoutput} \NC integer \NC 0 \NC \DVI \NC\NR
+\NC \type{\pdfadjustspacing} \NC integer \NC 0 \NC off \NC\NR
+\NC \type{\pdfcompresslevel} \NC integer \NC 9 \NC best \NC\NR
+\NC \type{\pdfdecimaldigits} \NC integer \NC 4 \NC max. \NC\NR
+\NC \type{\pdfimageresolution} \NC integer \NC 72 \NC dpi \NC\NR
+\NC \type{\pdfpkresolution} \NC integer \NC 0 \NC 72\,dpi \NC\NR
+\NC \type{\pdfpkmode} \NC token reg.\NC empty \NC mode set in \type{mktex.cnf} \NC\NR
+\NC \type{\pdfuniqueresname} \NC integer \NC 0 \NC \NC\NR
+\NC \type{\pdfprotrudechars} \NC integer \NC 0 \NC \NC\NR
+\NC \type{\pdfminorversion} \NC integer \NC 4 \NC \PDF\ 1.4 \NC\NR
+\NC \type{\pdfforcepagebox} \NC integer \NC 0 \NC \NC\NR
+\NC \type{\pdfinclusionerrorlevel} \NC integer \NC 0 \NC \NC\NR
+%-----------------------------------------------------------------------
+\NC \type{\pdfhorigin} \NC dimension \NC 1\,in \NC \NC\NR
+\NC \type{\pdfvorigin} \NC dimension \NC 1\,in \NC \NC\NR
+\NC \type{\pdfpagewidth} \NC dimension \NC 0\,pt \NC \NC\NR
+\NC \type{\pdfpageheight} \NC dimension \NC 0\,pt \NC \NC\NR
+\NC \type{\pdflinkmargin} \NC dimension \NC 0\,pt \NC \NC\NR
+\NC \type{\pdfdestmargin} \NC dimension \NC 0\,pt \NC \NC\NR
+\NC \type{\pdfthreadmargin} \NC dimension \NC 0\,pt \NC \NC\NR
+\NC \type{\pdfmapfile} \NC text \NC \filename{pdftex.map} \NC not dumped\NC\NR
+\HL
+\stoptabulate
+\stopbuffer
+
+\placetable[here][tbl:configparms]
+ {The set of \PDFTEX\ configuration parameters.}
+ {\getbuffer}
+
+\startbuffer
+\tx\setupinterlinespace
+\startframedtext
+\starttyping
+% Set pdfTeX parameters for pdf mode (replacing pdftex.cfg file).
+% Thomas Esser, 2004. public domain.
+\pdfoutput=1
+\pdfpagewidth=210 true mm
+\pdfpageheight=297 true mm
+\pdfpkresolution=600
+\endinput
+\stoptyping
+\stopframedtext
+\stopbuffer
+
+\placefigure[here][in:pdftexconfig]
+ {A typical configuration file (\filename{pdftexconfig.tex}).}
+ {\getbuffer}
+
+Independent of whether such a~configuration file is read or not, the
+first action in a~\PDFTEX\ run is that the program reads the global \WEBC\
+configuration file (\filename{texmf.cnf}), which is common to all programs
+in the \WEB2C\ system. This file mainly defines file search paths, the
+memory layout (\eg\ pool and hash size), and other general parameters.
+
+%***********************************************************************
+
+\subsection{Creating format files}
+
+\startbuffer
+\tx\setupinterlinespace
+\startframedtext
+\starttyping
+% Thomas Esser, 1998, 2004. public domain.
+\ifx\pdfoutput\undefined
+\else
+ \ifx\pdfoutput\relax
+ \else
+ \input pdftexconfig
+ \pdfoutput=0
+ \fi
+\fi
+\input etex.src
+\dump
+\endinput
+\stoptyping
+\stopframedtext
+\stopbuffer
+
+\placefigure[here][in:etexini]
+ {File \type{etex.ini} for \ETEX\ format with \DVI\ output.}
+ {\getbuffer}
+
+\startbuffer
+\tx\setupinterlinespace
+\startframedtext
+\starttyping
+\ifx\pdfoutput\undefined
+\else
+ \ifx\pdfoutput\relax
+ \else
+ \input pdftexconfig
+ \pdfoutput=1
+ \fi
+\fi
+\scrollmode
+\input latex.ltx
+\endinput
+\stoptyping
+\stopframedtext
+\stopbuffer
+
+\placefigure[here][in:pdflatexini]
+ {File \type{pdflatex.ini} for \LATEX\ format with \PDF\ output.}
+ {\getbuffer}
+
+Both \PDFTEX\ and \PDFETEX\ engines allow building formats for \DVI\ and
+\PDF\ output in the same way as the classical \TEX\ engine does for \DVI.
+Format generation is enabled by the \type{-ini} option. The default mode
+(\DVI\ or \PDF) can be chosen either on the command line by setting
+the option \type{-output-format} to \type{dvi} or \type{pdf}, or by
+setting the \type{\pdfoutput} parameter. The format file then inherits
+this setting, so that a~later call to \PDFTEX\ with this format starts
+in the preselected mode (which still can be overrun then). A~format
+file can be read in only by the engine that has generated it; a~format
+incompatible with an engine leads to a~fatal error. Often the \PDFTEX\
+program is a~mere link to the \PDFETEX\ engine; then also a~\PDFTEX\
+call generates an extended format.
+
+It is customary to package the configuration and macro file input
+into a~\type{.ini} file. \Eg, the file \type{etex.ini} in
+\in{figure}[in:etexini] is for generating an \ETEX\ format with \DVI\
+output (it contains a~few comparisons to be safe also for \TEX\ engines).
+ A~similar file \type{pdflatex.ini} can be used for generating a~\LATEX\
+format with \PDF\ output; refer to \in{figure}[in:pdflatexini].
+One can see how the primitive \type{\pdfoutput} is used to override
+the output mode set by file \type{pdftexconfig.tex}. The corresponding
+\PDFTEX\ calls for format generation are:
+
+\starttyping
+pdfetex -ini *etex.ini
+pdftex -ini pdflatex.ini
+\stoptyping
+
+These calls produce format files \filename{etex.fmt} and
+\filename{pdflatex.fmt}, as the default format file name is taken from
+the input file name. You can overrule this with the \type{-jobname}
+option. The asterisk \type{*} in the first example line tells the
+\PDFETEX\ engine to go into extended \type{-ini} mode; otherwise it
+stays in non||extended mode. The \PDFTEX\ engine can't be brought into
+extended mode at all; it interprets an asterisk \type{*} in front
+of a~file name as part of the file name. So, if you want a~\PDFLATEX\
+format with \PDF\ output and \ETEX\ extensions available (format file
+\filename{pdfelatex.fmt}), you would need to type \eg:
+
+\starttyping
+pdfetex -ini -jobname=pdfelatex *pdflatex.ini
+\stoptyping
+
+In \CONTEXT\ the generation depends on the interface used. A~format using the
+English user interface is generated with
+
+\starttyping
+pdfetex -ini cont-en
+\stoptyping
+
+When properly set up, one can also use the \CONTEXT\ command line interface
+\TEXEXEC\ to generate one or more formats, like:
+
+\starttyping
+texexec --make en
+\stoptyping
+
+for an English format, or
+
+\starttyping
+texexec --make en de
+\stoptyping
+
+for an English and German one. Most users will simply say:
+
+\starttyping
+texexec --make --all [--alone]
+\stoptyping
+
+and so generate the \TEX\ and \METAPOST\ related formats that \CONTEXT\
+needs. Whatever macro package used, the formats should be placed in the \type
+{TEXFORMATS} path.
+
+\subsection{Testing the installation}
+
+When everything is set up, you can test the installation. In the distribution
+there is a~plain \TEX\ test file \filename {example.tex}. Process this file
+by typing:
+
+\starttyping
+pdftex example
+\stoptyping
+
+If the installation is ok, this run should produce a~file called \filename
+{example.pdf}. The file \filename {example.tex} is also a~good place to look
+for how to use \PDFTEX's primitives.
+
+%***********************************************************************
+
+\subsection{Common problems}
+
+The most common problem with installations is that \PDFTEX\ complains that
+something cannot be found. In such cases make sure that \type{TEXMFCNF} is
+set correctly, so \PDFTEX\ can find \filename {texmf.cnf}. The next best
+place to look|/|edit is the file \type{texmf.cnf}. When still in deep
+trouble, set \type{KPATHSEA_DEBUG=255} before running \PDFTEX\ or run
+\PDFTEX\ with option \type{-k 255}. This will cause \PDFTEX\ to write a~lot
+of debugging information that can be useful to trace problems. More options
+can be found in the \WEBC\ documentation.
+
+Variables in \filename {texmf.cnf} can be overwritten by environment
+variables. Here are some of the most common problems you can encounter when
+getting started:
+
+\startitemize
+
+\head \type{I can't read pdftex.pool; bad path?}
+
+ \type{TEXMFCNF} is not set correctly and so \PDFTEX\ cannot find
+ \type{texmf.cnf}, or \type{TEXPOOL} in \filename {texmf.cnf}
+ doesn't contain a~path to the pool file \filename {pdftex.pool} or
+ \type{pdfetex.pool} when you use \PDFETEX.
+
+\head \type{You have to increase POOLSIZE.}
+
+ \PDFTEX\ cannot find \filename {texmf.cnf}, or the value of \type
+ {pool_size} specified in \filename {texmf.cnf} is not large enough
+ and must be increased. If \type{pool_size} is not specified in
+ \filename {texmf.cnf} then you can add something like
+
+\starttyping
+pool_size=500000
+\stoptyping
+
+\head \type{I can't find the format file `pdftex.fmt'!} \crlf
+ \type{I can't find the format file `pdflatex.fmt'!}
+
+ The format file is not created (see above how to do that) or
+ is not properly placed. Make sure that \type{TEXFORMATS} in
+ \filename {texmf.cnf} contains the path to \filename {pdftex.fmt}
+ or \filename {pdflatex.fmt}.
+
+\head \type{---! xx.fmt was written by tex} \crlf
+ \type{Fatal format file error; I'm stymied}
+
+ This appears \eg\ if you forgot to regenerate the \type{.fmt}
+ files after installing a~new version of the \PDFTEX\ binary and
+ \filename {pdftex.pool}. The first line tells by which engine
+ the offending format was generated.
+
+\head \type{TEX.POOL doesn't match; TANGLE me again!} \crlf
+ \type{TEX.POOL doesn't match; TANGLE me again (or fix the path).}
+
+ This might appear if you forgot to install the proper \filename
+ {pdftex.pool} when installing a~new version of the \PDFTEX\
+ binary. \Eg\ under \TETEX\ then run \type{texconfig-sys init}.
+
+\head \type{! I can't find file `*pdftex.ini'.} \crlf
+ \type{<*> *pdftex.ini}
+
+ This typically appears when you try to generate an extended format
+ with the \PDFTEX\ engine (it does not know about the special asterisk
+ \type{*} notation). Use the \PDFETEX\ engine instead.
+
+\head \PDFTEX\ cannot find one or more map files (\type{*.map}),
+ encoding vectors (\type{*.enc}), virtual fonts, Type~1 fonts,
+ TrueType fonts or some image file.
+
+ Make sure that the required file exists and the corresponding variable
+ in \filename {texmf.cnf} contains a~path to the file. See above which
+ variables \PDFTEX\ needs apart from the ones \TEX\ uses.
+
+ When you have installed new fonts, and your \PDF\ viewer complains
+ about missing fonts, you should take a~look at the log file produced
+ by \PDFTEX. Missing fonts, map files, encoding vectors as well as
+ missing characters (glyphs) are reported there.
+
+\stopitemize
+
+%MS it would be nice if we could get the number of objects directly from TeX,
+%MS but currently even the line given at the end of the log "PDF objects out
+%MS of" is only a minimum as it doesn't include all the objects from the page
+%MS tree and document info...
+Normally the page content takes one object. This means that one seldom finds
+more than a~few hundred objects in a~simple file. This document for instance
+uses about 900 objects. In demanding applications this number can grow quite
+rapidly, especially when one uses a~lot of widget annotations, shared
+annotations or other shared things. In these situations in \filename
+{texmf.cnf} one can enlarge \PDFTEX 's internal object table by adding a~line
+in \filename {texmf.cnf}, for instance:
+
+\starttyping
+obj_tab_size=400000
+\stoptyping
+
+%***********************************************************************
+
+\section{Macro packages supporting \PDFTEX}
+
+As \PDFTEX\ generates the final \PDF\ output without help of
+a~postprocessor, macro packages that take care of these \PDF\ features
+have to be set up properly. Typical tasks are handling color,
+graphics, hyperlink support, threading, font||inclusion, as well as
+page imposition and manipulation. All these \PDF||specific tasks can be
+commanded by \PDFTEX's own primitives (a few also by a~\PDFTEX||specific
+\type{\special{pdf: ...}} primitive). Any other \type{\special{}} commands,
+like the ones defined for various \DVI\ postprocessors, are simply
+ignored by \PDFTEX\ when in \PDF\ output mode; a~warning is given only
+for non||empty \type{\special{}} commands.
+
+When a~macro package already written for classical \TEX\ with \DVI\ output
+is to be modified for use with \PDFTEX, it is very helpful to get some
+insight to what extent \PDFTEX||specific support is needed. This info can
+be gathered \eg\ by outputting the various \type{\special} commands
+as \type{\message}. Simply type
+
+\starttyping
+\pdfoutput=1 \let\special\message
+\stoptyping
+
+or, if this leads to confusion,
+
+\starttyping
+\pdfoutput=1 \def\special#1{\write16{special: #1}}
+\stoptyping
+
+and see what happens. As soon as one \quote {special} message turns up, one
+knows for sure that some kind of \PDFTEX\ specific support is needed, and
+often the message itself gives a~indication of what is needed.
+
+Currently all mainstream macro packages offer \PDFTEX\ support, with
+automatic detection of \PDFTEX\ as engine. So there is normally no need
+to turn on \PDFTEX\ support explicitly.
+
+\startitemize
+
+\item For \LATEX\ users, Sebastian Rahtz' and Heiko Oberdiek's \type
+ {hyperref} package has substantial support for \PDFTEX\ and
+ provides access to most of its features. In the simplest and
+ most common case, the user merely needs to load \type{hyperref},
+ and all cross||references will be converted to \PDF\ hypertext
+ links. \PDF\ output is automatically selected, compression is
+ turned on, and the page size is set up correctly. Bookmarks are
+ created to match the table of contents.
+
+\item The standard \LATEX\ \type{graphics}, \type{graphicx}, and
+ \type{color} packages also have automatic \pdfTeX\ support, which
+ allow use of color, text rotation, and graphics inclusion commands.
+
+\item The \CONTEXT\ macro package by Hans Hagen has very full support
+ for \PDFTEX\ in its generalized hypertext features. Support for
+ \PDFTEX\ is implemented as a~special driver, and is invoked by
+ typing \type{\setupoutput[pdftex]} or feeding \TEXEXEC\ with the
+ \type{--pdf} option.
+
+\item \PDF\ from \TEXINFO\ documents can be created by running \PDFTEX\ on
+ the \TEXINFO\ file, instead of \TEX. Alternatively, run the shell
+ command \type{texi2pdf} instead of \type{texi2dvi}.
+
+\item A~small modification of \filename {webmac.tex}, called \filename
+ {pdfwebmac.tex}, allows production of hyperlinked \PDF\ versions
+ of the program code written in \WEB.
+
+\stopitemize
+
+Some nice samples of \PDFTEX\ output can be found at
+\from[ptex_org], \from[context], and \from[tex_showcase].
+
+%***********************************************************************
+
+\section{Setting up fonts}
+
+\PDFTEX\ can work with Type~1 and TrueType fonts, but a~source must be
+available for all fonts used in the document, except for the 14 standard
+fonts supplied by the \PDF\ reader (Times, Helvetica, Courier, Symbol
+and Dingbats). It is possible to use \METAFONT||generated fonts in
+\PDFTEX\ --- but it is strongly recommended not to use these fonts if an
+equivalent is available in Type~1 or TrueType format, if only because
+bitmap Type~3 fonts render very poorly in (older versions of) Adobe
+Reader. Given the
+free availability of Type~1 versions of all the Computer Modern fonts,
+and the ability to use standard \POSTSCRIPT\ fonts, there is rarely
+ a~need to use bitmap fonts in \PDFTEX.
+
+%***********************************************************************
+
+\subsection[mapfile]{Map files}
+
+Font map files provide the connection between \TEX\ \TFM\ font files
+and the outline font file names. They contain also information about
+re||encoding arrays, partial downloading, and character transformation
+parameters (like SlantFont and ExtendFont). Those map files were first
+created for \DVI\ postprocessors. But, as \PDFTEX\ in \PDF\ output mode
+includes all \PDF\ processing steps, it also needs to know about font
+mapping, and therefore reads in one or more map files. Map files are
+not read in when \PDFTEX\ is in \DVI\ mode. Pixel fonts can be used
+without being listed in the map file.
+
+By default, \PDFTEX\ reads the map file \filename{pdftex.map}. In \WEBC,
+map files are searched for using the \type{TEXFONTMAPS} config file value
+and environment variable. By default, the current directory and various
+system directories are searched.
+
+Within the map file, each font is listed on an individual line. The syntax of
+each line is upward||compatible with \type{dvips} map files and can contain
+the following fields (some are optional; explanations follow):
+
+\startnarrower
+{\em tfmname basename fontflags special encodingfile fontfile}
+\stopnarrower
+
+It is mandatory that {\em tfmname} is the first field. If
+ a~{\em basename} is given, it must be the second field. Similarly if
+{\em fontflags} is given it must be the third field (if {\em basename}
+is present) or the second field (if {\em basename} is left out). It is
+possible to mix the positions of {\em special}, {\em encodingfile},
+and {\em fontfile}, however the first three fields must be given in
+fixed order.
+
+\startdescription {tfmname}
+
+sets the name of the \TFM\ file for a~font --- the name \TEX\ sees.
+This name must always
+be given.
+
+\stopdescription
+
+\startdescription {basename}
+
+sets the base (\POSTSCRIPT) font name. The {\em basename} field is
+checked against the BaseName entry of fonts coming with embedded \PDF\
+files. If there is a~match, the font will be removed from the embedded
+file, and a~local font is opened, which will contain the glyphs from the
+embedded file. This collecting mechanism helps keeping the resulting \PDF\
+file size small, if many files with similar fonts are to be embedded.
+Therefore it is recommended always to set the {\em basename} field.
+
+If a~{\em basename} field is given, also a~{\em fontfile} field must
+be there, unless the {\em basename} matches one of the 14 standard font
+names; then the {\em fontfile} field is optional. If the {\em fontfile}
+name is given, this font will be embedded (depending on flags, see below).
+If the {\em fontfile} name for a~standard font is missing, the font will
+be quietly left out, which is fine, as \PDF\ viewers will later render
+the text with their own versions of the font.
+
+\stopdescription
+
+\startdescription {fontflags}
+
+specify some characteristics of the font. The following description of
+these flags is taken, with slight modification, from the \PDF\ Reference
+Manual (the section on font descriptor flags). Viewers can adapt their
+rendering to these flags, especially when they substitute a~replacements
+for not embedded fonts.
+
+\startnarrower
+
+The value of the flags key in a~font descriptor is a~32||bit integer that
+contains a~collection of boolean attributes. These attributes are true if the
+corresponding bit is set to~1. \in{Table}[flags] specifies the meanings of
+the bits, with bit~1 being the least significant. Reserved bits must be set
+to zero.
+
+\startbuffer
+\starttabulate[|c|l|]
+\HL
+\NC \bf bit position \NC \bf semantics \NC\NR
+\HL
+\NC 1 \NC Fixed||width font \NC\NR
+\NC 2 \NC Serif font \NC\NR
+\NC 3 \NC Symbolic font \NC\NR
+\NC 4 \NC Script font \NC\NR
+\NC 5 \NC Reserved \NC\NR
+\NC 6 \NC Uses the Adobe Standard Roman Character Set \NC\NR
+\NC 7 \NC Italic \NC\NR
+\NC 8--16 \NC Reserved \NC\NR
+\NC 17 \NC All||cap font \NC\NR
+\NC 18 \NC Small||cap font \NC\NR
+\NC 19 \NC Force bold at small text sizes \NC\NR
+\NC 20--32 \NC Reserved \NC\NR
+\HL
+\stoptabulate
+\stopbuffer
+
+\placetable
+ [here][flags]
+ {The meaning of flags in the font descriptor.}
+ {\getbuffer}
+
+All characters in a~{\em fixed||width} font have the same width, while
+characters in a~proportional font have different widths. Characters in a~{\em
+serif font} have short strokes drawn at an angle on the top and bottom of
+character stems, while sans serif fonts do not have such strokes. A~{\em
+symbolic font} contains symbols rather than letters and numbers. Characters
+in a~{\em script font} resemble cursive handwriting. An {\em all||cap} font,
+which is typically used for display purposes such as titles or headlines,
+contains no lowercase letters. It differs from a~{\em small||cap} font in
+that characters in the latter, while also capital letters, have been sized
+and their proportions adjusted so that they have the same size and stroke
+weight as lowercase characters in the same typeface family.
+
+Bit~6 in the flags field indicates that the font's character set
+conforms to the
+Adobe Standard Roman Character Set, or a~subset of that, and that it uses
+the standard names for those characters.
+
+Finally, bit~19 is used to determine whether or not bold characters are
+drawn with extra pixels even at very small text sizes. Typically, when
+characters are drawn at small sizes on very low resolution devices such
+as display screens, features of bold characters may appear only one pixel
+wide. Because this is the minimum feature width on a~pixel||based device,
+ordinary non||bold characters also appear with one||pixel wide features,
+and thus cannot be distinguished from bold characters. If bit~19 is set,
+features of bold characters may be thickened at small text sizes.
+
+\stopnarrower
+
+If the font flags are not given, \PDFTEX\ treats it as being~4,
+a~symbolic font. If you do not know the correct value, it is best not to
+specify it at all, as specifying a~bad value of font flags may cause
+troubles in viewers. On the other hand this option is not absolutely
+useless because it provides backward compatibility with older map files
+(see the {\em fontfile} description below).
+
+\stopdescription
+
+\startdescription {special}
+
+instructions can be used to manipulate fonts similar to the way
+\type{dvips} does. Currently only the keywords \type{SlantFont}
+and \type{ExtendFont} are interpreted, other instructions (as
+\type{ReEncodeFont} with parameters, see {\em encoding} below) are
+just ignored. The permitted \type{SlantFont} range is $-$1..1;
+for \type{ExtendFont} it's $-$2..2. The block of {\em special}
+instruction must be enclosed by double quotes \type{"}.
+
+\stopdescription
+
+\startdescription {encoding}
+
+specifies the name of the file containing the external encoding vector to be
+used for the font. The file name may be preceded by a~\type{<}, but the
+effect is the same. The format of the encoding vector is identical to that
+used by \type{dvips}. If no encoding is specified, the font's built||in
+default encoding is used. It may be omitted if you are sure that the font
+resource has the correct built||in encoding. In general this option is highly
+preferred and is {\em required} when subsetting a~TrueType font.
+
+\stopdescription
+
+\startdescription {fontfile}
+
+sets the name of the font source file. This must be a~Type~1 or TrueType font
+file. The font file name can be preceded by one or two special characters,
+which says how the font file should be handled.
+
+\startitemize
+
+\item If the font file name is preceded by a~\type{<} the font file
+ will be partially downloaded, meaning that only used glyphs
+ (characters) are
+ embedded to the font. This is the most common use and is
+ {\em strongly recommended} for any font, as it ensures the
+ portability and reduces the size of the \PDF\ output. Partial fonts
+ are included in such a~way that name and cache clashes are minimized.
+
+\item If the font file name is preceded by a~double \type{<<}, the font
+ file will be included entirely --- all glyphs of the font are
+ embedded, including the ones that are not used in the document. Apart
+ from causing large size \PDF\ output, this option may cause troubles
+ with TrueType fonts, so it is not recommended. It might be useful
+ in case the font is atypical and can not be subsetted well by
+ \PDFTEX. {\em Beware: some font vendors forbid full font inclusion.}
+
+\item If nothing precedes the font file name, the font file is read but
+ nothing is embedded, only the font parameters are extracted to
+ generate the so||called font descriptor, which is used by the \PDF\
+ reader to simulate the font if needed. This option is useful only when
+ you do not want to embed the font (i.\,e.~to reduce the output size),
+ but wish to use the font metrics and let the \PDF\ reader generate
+ instances that look close to the used font in case the font resource
+ is not installed on the system where the \PDF\ output will be viewed
+ or printed. To use this feature the font flags {\em must} be
+ specified, and it must have the bit~6 set on, which means that only
+ fonts with the Adobe Standard Roman Character Set can be simulated.
+ The only exception is the case of a~Symbolic font, which is not very
+ useful.
+
+\stopitemize
+
+When one suffers from invalid lookups, for instance when \PDFTEX\ tries
+to open a~\type{.pfa} file instead of a~\type{.pfb} one, one can add
+the suffix to the filename. In this respect, \PDFTEX\ completely relies
+on the \type{kpathsea} libraries.
+
+\stopdescription
+
+%HE Huh? pgc?
+If a~used font is not present in the map files, first \PDFTEX\ will
+look for a~source with suffix \type{.pgc}, which is a~so||called \PGC\
+source (\PDF\ Glyph Container) \footnote {This is a~text file containing
+ a~\PDF\ Type~3 font, created by \METAPOST\ using some utilities by Hans
+Hagen. In general \PGC\ files can contain whatever is allowed in a \PDF\ page
+description, which may be used to support fonts that are not available
+in \METAFONT. \PGC\ fonts are not widely useful, as vector Type~3 fonts
+are not displayed very well in older versions of Acrobat Reader, but may
+be more useful when better Type~3 font handling is more common.}. If no
+\PGC\ source is available, \PDFTEX\ will try to use \PK~fonts as \DVI\
+drivers do, creating \PK~fonts on||the||fly if needed.
+
+Lines containing nothing apart from {\em tfmname} stand for scalable Type~3
+fonts. For scalable fonts as Type~1, TrueType and scalable Type~3 font, all
+the fonts loaded from a~\TFM\ at various sizes will be included only once in
+the \PDF\ output. Thus if a~font, let's say \type{csr10}, is described in one
+of the map files, then it will be treated as scalable. As a~result the font
+source for csr10 will be included only once for \type{csr10}, \type{csr10
+at 12pt} etc. So \PDFTEX\ tries to do its best to avoid multiple downloading
+of identical font sources. Thus vector \PGC\ fonts should be specified as
+scalable Type~3 in map files like:
+
+\starttyping
+csr10
+\stoptyping
+
+It doesn't hurt much if a~scalable Type~3 font is not given in map files,
+except that the font source will be downloaded multiple times for various
+sizes, which causes a~much larger \PDF\ output. On the other hand if a~font
+in the map files is defined as scalable Type~3 font and its \PGC\ source
+is not scalable or not available, \PDFTEX\ will use \PK\ fonts instead; the
+\PDF\ output is still valid but some fonts may look ugly because of the
+scaled bitmap.
+
+To summarize this rather confusing story, we include a~some example lines.
+First we use two fonts from the 14 standard fonts with font||specific
+encoding, i.\,e.~no external encoding is given. In the first line, the
+fontfile is missing, so viewers will use their own font. The ZapfDingbats
+font is taken from the given font file.
+
+\starttyping
+psyr Symbol
+pzdr ZapfDingbats <pzdr.pfb
+\stoptyping
+
+Similarly, two standard fonts with an external encoding. The \type{<}
+preceding the encoding file name may be left out.
+
+\starttyping
+ptmr8r Times-Roman <8r.enc
+ptmri8r Times-Italic <8r.enc <ptmri8a.pfb
+\stoptyping
+
+ A~SlantFont is specified similarly as for \type{dvips}. The \type
+{SlantFont} or \type{ExtendFont} entries work only with embedded
+font files.
+
+\starttyping
+psyro ".167 SlantFont" <usyr.pfb
+pcrr8rn Courier ".85 ExtendFont" <8r.enc <pcrr8a.pfb
+\stoptyping
+
+Partially download a~font without re||encoding:
+
+\starttyping
+pgsr8a GillSans <pgsr8a.pfb
+\stoptyping
+
+Download a~font entirely without re||encoding:
+
+\starttyping
+pgsr8a GillSans <<pgsr8a.pfb
+\stoptyping
+
+Partially download a~font with re||encoding:
+
+\starttyping
+pgsr8r GillSans <8r.enc <pgsr8a.pfb
+\stoptyping
+
+Entirely download a~font with re||encoding:
+
+\starttyping
+pgsr8r GillSans <8r.enc <<pgsr8a.pfb
+\stoptyping
+
+Sometimes we do not want to include a~font, but need to extract parameters
+from the font file and re||encode the font as well. This only works for
+fonts with Adobe Standard Encoding. The font flags specify how such
+a~font looks like, so \eg\ the Adobe Reader can generate a~similar instance
+if the font resource is not available on the target system.
+
+\starttyping
+pgsr8r GillSans 32 <8r.enc pgsr8a.pfb
+\stoptyping
+
+Do not embed the font --- only extract the font parameters:
+
+\starttyping
+pgsr8a GillSans pgsr8a.pfb
+\stoptyping
+
+ A~TrueType font can be used in the same way as a~Type~1 font:
+
+\starttyping
+verdana8r Verdana <8r.enc <verdana.ttf
+\stoptyping
+
+\subsection{TrueType fonts}
+
+As mentioned above, \PDFTEX\ can work with TrueType fonts. Defining
+TrueType fonts is similar to Type~1. The only extra thing to do
+with TrueType is to create a~\TFM\ file. There is a~program called
+\type{ttf2afm} in the \PDFTEX\ distribution which can be used to
+extract \AFM\ from TrueType fonts (another conversion program is
+\type{ttf2pt1}). Usage of \type{ttf2afm} is simple:
+
+\starttyping
+ttf2afm -e <encoding vector> -o <afm outputfile> <ttf input file>
+\stoptyping
+
+ A~TrueType file can be recognized by its suffix \filename {ttf}. The optional
+{\em encoding} specifies the encoding, which is the same as the encoding
+vector used in map files for \PDFTEX\ and \type{dvips}. If the encoding is
+not given, all the glyphs of the \AFM\ output will be mapped to \type
+{/.notdef}. \type{ttf2afm} writes the output \AFM\ to standard output. If we
+need to know which glyphs are available in the font, we can run \type
+{ttf2afm} without encoding to get all glyph names. The resulting \AFM\ file
+can be used to generate a~\TFM\ one by applying \filename {afm2tfm}.
+
+To use a~new TrueType font the minimal steps may look like below. We suppose
+that \filename {test.map} is used.
+
+\starttyping
+ttf2afm -e 8r.enc -o times.afm times.ttf
+afm2tfm times.afm -T 8r.enc
+echo "times TimesNewRomanPSMT <8r.enc <times.ttf" >>test.map
+\stoptyping
+
+There are a~few limitations with TrueType fonts in comparison with
+Type~1 fonts:
+
+\startitemize[a,packed]
+\item The special effects SlantFont|/|ExtendFont cannot be used.
+\item To subset a~TrueType font, the font must be specified as re||encoded,
+ therefore an encoding vector must be given.
+\item TrueType fonts coming with embedded \PDF\ files are kept
+ untouched; they are not replaced by local ones.
+\stopitemize
+
+%***********************************************************************
+
+\section{Formal syntax specification}
+
+This section formally specifies the \PDFTEX\ specific extensions to
+the \TEX\ macro programming language. All primitives are prefixed by
+\type {pdf} except for \type{\efcode}, \type{\lpcode}, \type{\rpcode},
+\type{\leftmarginkern}, and \type{\rightmarginkern}. The general
+definitions and syntax rules follow after the list of primitives.
+
+%%S This is the list of new or extended primitives provided by pdftex.
+%%S Don't edit this file, as it is now auto-generated from the
+%%S pdfTeX documentation file pdftex-t.tex by script syntaxform.awk.
+%%S Used convention for syntax rules is borrowed from `TeXbook naruby'
+%%S by Petr Olsak.
+%%S $Id: pdftex-t.tex,v 1.624 2005/10/23 23:28:37 hhenkel Exp $
+%%S NL
+%%S integer registers:
+
+\subsubject{Integer registers}
+
+\startpacked
+
+\Syntax {
+\Tex {\pdfoutput} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfminorversion} \Whatever{integer}
+}
+
+%\Syntax {
+%\Tex {\pdfoptionpdfminorversion} \Whatever{integer}
+%}
+
+\Syntax {
+\Tex {\pdfcompresslevel} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfdecimaldigits} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfimageresolution} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfpkresolution} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdftracingfonts} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfuniqueresname} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfadjustspacing} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfprotrudechars} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\efcode} \Something{font} \Something{8-bit number} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\lpcode} \Something{font} \Something{8-bit number} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\rpcode} \Something{font} \Something{8-bit number} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfforcepagebox} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfoptionalwaysusepdfpagebox} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfinclusionerrorlevel} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfoptionpdfinclusionerrorlevel} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfimagehicolor} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfimageapplygamma} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfgamma} \Whatever{integer}
+}
+
+\Syntax {
+\Tex {\pdfimagegamma} \Whatever{integer}
+}
+
+\stoppacked
+
+%%S NL
+%%S dimen registers:
+
+\subsubject{Dimen registers}
+
+\startpacked
+
+\Syntax {
+\Tex {\pdfhorigin} \Whatever{dimen}
+}
+
+\Syntax {
+\Tex {\pdfvorigin} \Whatever{dimen}
+}
+
+\Syntax {
+\Tex {\pdfpagewidth} \Whatever{dimen}
+}
+
+\Syntax {
+\Tex {\pdfpageheight} \Whatever{dimen}
+}
+
+\Syntax {
+\Tex {\pdflinkmargin} \Whatever{dimen}
+}
+
+\Syntax {
+\Tex {\pdfdestmargin} \Whatever{dimen}
+}
+
+\Syntax {
+\Tex {\pdfthreadmargin} \Whatever{dimen}
+}
+
+\stoppacked
+
+%%S NL
+%%S token registers:
+
+\subsubject{Token registers}
+
+\startpacked
+
+\Syntax {
+\Tex {\pdfpagesattr} \Whatever{tokens}
+}
+
+\Syntax {
+\Tex {\pdfpageattr} \Whatever{tokens}
+}
+
+\Syntax {
+\Tex {\pdfpageresources} \Whatever{tokens}
+}
+
+\Syntax {
+\Tex {\pdfpkmode} \Whatever{tokens}
+}
+
+\stoppacked
+
+%%S NL
+%%S expandable commands:
+
+\subsubject{Expandable commands}
+
+\startpacked
+
+\Syntax {
+\Tex {\pdftexrevision} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdftexbanner} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdfcreationdate} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdfpageref} \Something{page number} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdfxformname} \Something{object number} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdffontname} \Something{font} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdffontobjnum} \Something{font} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdffontsize} \Something{font} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdfincludechars} \Something{font} \Something{general text} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\leftmarginkern} \Something{box number} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\rightmarginkern} \Something{box number} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdfescapestring} \Something{general text} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdfescapename} \Something{general text} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdfescapehex} \Something{general text} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdfunescapehex} \Something{general text} \Whatever{expandable}
+}
+
+% Currently it's only experimental, so don't really document it
+\iffalse
+\Syntax {
+\Tex {\pdfstrcmp} \Something{general text} \Something{general text} \Whatever{expandable}
+}
+\fi
+
+\Syntax {
+\Tex {\pdfuniformdeviate} \Something{number} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdfnormaldeviate} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdfmdfivesum} \Optional{file} \Something{general text} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdffilemoddate} \Something{general text} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdffilesize} \Something{general text} \Whatever{expandable}
+}
+
+\Syntax {
+\Tex {\pdffiledump} \Optional{offset \Something{number}} \Optional{length \Something{number}} \Something{general text}
+\Whatever{expandable}
+}
+
+\stoppacked
+
+%%S NL
+%%S read-only integers:
+
+\subsubject{Read||only integers}
+
+\startpacked
+
+\Syntax {
+\Tex {\pdftexversion} \Whatever{read||only integer}
+}
+
+\Syntax {
+\Tex {\pdflastobj} \Whatever{read||only integer}
+}
+
+\Syntax {
+\Tex {\pdflastxform} \Whatever{read||only integer}
+}
+
+\Syntax {
+\Tex {\pdflastximage} \Whatever{read||only integer}
+}
+
+\Syntax {
+\Tex {\pdflastximagepages} \Whatever{read||only integer}
+}
+
+\Syntax {
+\Tex {\pdflastannot} \Whatever{read||only integer}
+}
+
+\Syntax {
+\Tex {\pdflastxpos} \Whatever{read||only integer}
+}
+
+\Syntax {
+\Tex {\pdflastypos} \Whatever{read||only integer}
+}
+
+\Syntax {
+\Tex {\pdflastdemerits} \Whatever{read||only integer}
+}
+
+\Syntax {
+\Tex {\pdfelapsedtime} \Whatever{read||only integer}
+}
+
+\Syntax {
+\Tex {\pdfrandomseed} \Whatever{read||only integer}
+}
+
+\Syntax {
+\Tex {\pdfshellescape} \Whatever{read||only integer}
+}
+
+% No longer available
+%\Syntax {
+%\Tex {\pdflastvbreakpenalty} \Whatever{read||only integer}
+%}
+
+\stoppacked
+
+%%S NL
+%%S general commands:
+
+\subsubject{General commands}
+
+\startpacked
+
+\Syntax {
+\Tex {\pdfobj} \Something{object type spec} \Whatever{h, v, m}
+}
+
+\Syntax {
+\Tex {\pdfrefobj} \Something{object number} \Whatever{h, v, m}
+}
+
+\Syntax {
+\Tex {\pdfxform} \Optional{\Something{xform attr spec}} \Something{box number} \Whatever{h, v, m}
+}
+
+\Syntax {
+\Tex {\pdfrefxform} \Something{object number} \Whatever{h, v, m}
+}
+
+\Syntax {
+\Tex {\pdfximage} \Optional{\Something{image attr spec}} %
+ \Something{general text} \Whatever{h, v, m}
+}
+
+\Syntax {
+\Tex {\pdfrefximage} \Something{object number} \Whatever{h, v, m}
+}
+
+\Syntax {
+\Tex {\pdfannot} \Something{annot type spec} \Whatever{h, v, m}
+}
+
+\Syntax {
+\Tex {\pdfstartlink} %
+ \Optional{\Something{rule spec}} %
+ \Optional{\Something{attr spec}} \Something{action spec} \Whatever{h, m}
+}
+
+\Syntax {
+\Tex {\pdfendlink} \Whatever{h, m}
+}
+
+\Syntax {
+\Tex {\pdfoutline} \Something{outline spec} \Whatever{h, v, m}
+}
+
+\Syntax {
+\Tex {\pdfdest} \Something{dest spec} \Whatever{h, v, m}
+}
+
+\Syntax {
+\Tex {\pdfthread} \Something{thread spec} \Whatever{h, v, m}
+}
+
+\Syntax {
+\Tex {\pdfstartthread} \Something{thread spec} \Whatever{v, m}
+}
+
+\Syntax {
+\Tex {\pdfendthread} \Whatever{v, m}
+}
+
+\Syntax {
+\Tex {\pdfsavepos} \Whatever{h, v, m}
+}
+
+\Syntax {
+\Tex {\pdfinfo} \Something{general text}
+}
+
+\Syntax {
+\Tex {\pdfcatalog} \Something{general text} %
+ \Optional{\Something{open-action spec}}
+}
+
+\Syntax {
+\Tex {\pdfnames} \Something{general text}
+}
+
+\Syntax {
+\Tex {\pdfmapfile} \Something{map spec}
+}
+
+\Syntax {
+\Tex {\pdfmapline} \Something{map spec}
+}
+
+\Syntax {
+\Tex {\pdffontattr} \Something{font} \Something{general text}
+}
+
+\Syntax {
+\Tex {\pdftrailer} \Something{general text}
+}
+
+\Syntax {
+\Tex {\pdffontexpand} \Something{font} \Something{expand spec}
+}
+
+\Syntax {
+\Tex {\vadjust} \Optional{\Something{pre spec}} \Something{filler} \Lbrace \Something{vertical mode material} \Rbrace \Whatever{h, m}
+}
+
+\Syntax {
+\Tex {\pdfliteral} \Optional{\Literal {direct}} \Something{general text} \Whatever{h, v, m}
+}
+
+\Syntax {
+\Tex {\special} \Something{pdfspecial spec}
+}
+
+\Syntax {
+\Tex {\pdfresettimer}
+}
+
+\Syntax {
+\Tex {\pdfsetrandomseed} \Something{number}
+}
+
+\Syntax {
+\Tex {\pdfnoligatures} \Something{font}
+}
+
+\stoppacked
+
+\subsubject{General definitions and syntax rules}
+
+\startpacked
+
+%%S NL
+%%S syntax rules:
+
+\Syntax {
+\Something{general text} \Means %
+ \Lbrace \Something{balanced text} \Rbrace
+}
+
+\Syntax {
+\Something{attr spec} \Means %
+ \Literal {attr} \Something{general text}
+}
+
+\Syntax {
+\Something{resources spec} \Means %
+ \Literal {resources} \Something{general text}
+}
+
+\Syntax {
+\Something{rule spec} \Means %
+ (\Literal {width} \Or \Literal {height} \Or \Literal {depth}) %
+ \Something{dimension} \Optional{\Something{rule spec}}
+}
+
+%\Syntax {\Something{object type spec} \Means
+% \Optional{\Literal {stream}
+% \Optional{\Something{attr spec}}} \Something{object contents}}
+
+\Syntax {
+\Something{object type spec} \Means %
+ \Literal{reserveobjnum}
+ \Or \Next %
+ \Optional{\Literal{useobjnum} \Something{number}} \Next %
+ \Optional{\Literal{stream} \Optional{\Something{attr spec}}} %
+ \Something{object contents}
+}
+
+\Syntax {
+\Something{annot type spec} \Means %
+ \Literal{reserveobjnum}
+ \Or \Next %
+ \Optional{\Literal{useobjnum} \Something{number}} %
+ \Optional{\Something{rule spec}} %
+ \Something{general text}
+}
+
+\Syntax {
+\Something{object contents} \Means %
+ \Something{file spec}
+ \Or \Something{general text}
+}
+
+\Syntax {
+\Something{xform attr spec} \Means %
+ \Optional{\Something{attr spec}} \Optional{\Something{resources spec}}
+}
+
+\Syntax {
+\Something{image attr spec} \Means %
+ \Optional{\Something{rule spec}} %
+ \Optional{\Something{attr spec}} %
+ \Optional{\Something{page spec}} %
+ \Optional{\Something{colorspace spec}} %
+ \Optional{\Something{pdf box spec}}
+}
+
+\Syntax {
+\Something{outline spec} \Means %
+ \Optional{\Something{attr spec}} %
+ \Something{action spec} %
+ \Optional{\Literal{count} \Something{number}} %
+ \Something{general text}
+}
+
+\Syntax {
+\Something{action spec} \Means %
+ \Literal {user} \Something{user-action spec}
+ \Or \Literal {goto} \Something{goto-action spec}
+ \Or \Next \Literal {thread} \Something{thread-action spec}
+}
+
+\Syntax {
+\Something{user-action spec} \Means %
+ \Something{general text}
+}
+
+%HE Check:
+\Syntax {
+\Something{goto-action spec} \Means %
+ \Something{numid}
+ \Or \Next \Optional{\Something{file spec}} \Something{nameid}
+ \Or \Next \Optional{\Something{file spec}} \Optional{\Something{page spec}} \Something{general text}
+ \Or \Next \Something{file spec} \Something{nameid} \Something{newwindow spec}
+ \Or \Next \Something{file spec} \Optional{\Something{page spec}} \Something{general text} \Something{newwindow spec}
+}
+
+\Syntax {
+\Something{thread-action spec} \Means %
+ \Optional{\Something{file spec}} \Something{numid}
+ \Or \Optional{\Something{file spec}} \Something{nameid}
+}
+
+\Syntax {
+\Something{open-action spec} \Means %
+ \Literal {openaction} \Something{action spec}
+}
+
+\Syntax {
+\Something{colorspace spec} \Means %
+ \Literal {colorspace} \Something{number}
+}
+
+\Syntax{
+\Something{pdf box spec} \Means %
+ \Literal{mediabox} %
+ \Or \Literal{cropbox} %
+ \Or \Literal{bleedbox} %
+ \Or \Literal{trimbox} %
+ \Or \Literal{artbox}
+}
+
+\Syntax{
+\Something{map spec} \Means %
+ \Lbrace \Optional{\Something{map modifier}} %
+ \Something{balanced text} \Rbrace
+}
+
+\Syntax{
+\Something{map modifier} \Means %
+ \Literal{+} \Or \Literal{=} \Or \Literal{-}
+}
+
+\Syntax {
+\Something{numid} \Means %
+ \Literal {num} \Something{number}
+}
+
+\Syntax {
+\Something{nameid} \Means %
+ \Literal {name} \Something{general text}
+}
+
+\Syntax {
+\Something{newwindow spec} \Means %
+ \Literal {newwindow} \Or \Literal {nonewwindow}
+}
+
+\Syntax {
+\Something{dest spec} \Means %
+ \Something{numid} \Something{dest type}
+ \Or \Something{nameid} \Something{dest type}
+}
+
+\Syntax {
+\Something{dest type} \Means %
+ \Literal {xyz} \Optional{\Literal {zoom} \Something{number}}
+ \Or \Literal {fitr} \Something{rule spec}
+ \Or \Next \Literal {fitbh}
+ \Or \Literal {fitbv}
+ \Or \Literal {fitb}
+ \Or \Literal {fith}
+ \Or \Literal {fitv}
+ \Or \Literal {fit}
+}
+
+\Syntax {
+\Something{thread spec} \Means %
+ \Optional{\Something{rule spec}} %
+ \Optional{\Something{attr spec}} %
+ \Something{id spec}
+}
+
+\Syntax {
+\Something{id spec} \Means %
+ \Something{numid} \Or \Something{nameid}
+}
+
+\Syntax {
+\Something{file spec} \Means %
+ \Literal {file} \Something{general text}
+}
+
+\Syntax {
+\Something{page spec} \Means %
+ \Literal {page} \Something{number}
+}
+
+\Syntax {
+\Something{expand spec} \Means %
+ \Something{stretch} %
+ \Something{shrink} %
+ \Something{step} %
+ \Optional{\Literal{autoexpand}}
+}
+
+\Syntax {
+\Something{stretch} \Means %
+ \Something{number}
+}
+
+\Syntax {
+\Something{shrink} \Means %
+ \Something{number}
+}
+
+\Syntax {
+\Something{step} \Means %
+ \Something{number}
+}
+
+\Syntax {
+\Something{pre spec} \Means %
+ \Literal{pre}
+}
+
+\Syntax {
+\Something{pdfspecial spec} \Means %
+ \Lbrace \Optional{\Something{pdfspecial id} \Optional{\Something{pdfspecial modifier}}} %
+ \Something{balanced text} \Rbrace
+}
+
+\Syntax {
+\Something{pdfspecial id} \Means %
+ \Literal{pdf:} \Or \Literal{PDF:}
+}
+
+\Syntax {
+\Something{pdfspecial modifier} \Means %
+ \Literal{direct:}
+}
+
+\stoppacked
+
+ A~\Something {general text} is expanded immediately, like \type{\special}
+in traditional \TEX, unless explicitly mentioned otherwise.
+
+Some of the object and image related primitives can be prefixed by
+\type {\immediate}. More about that in the next sections.
+
+%***********************************************************************
+
+\section[primitives]{\PDFTEX\ primitives}
+
+Here follows a~short description of the primitives added by \PDFTEX\
+to the original \TEX\ engine (other extensions by \MLTEX\ and \ENCTEX\
+are not listed). One way to learn more about how to use these new
+primitives is to have a~look at the file \filename {samplepdf.tex} in the
+\PDFTEX\ distribution.
+
+Note that if the output is \DVI\ then the \PDFTEX\ specific dimension
+parameters are not used at all. However some \PDFTEX\ integer parameters
+can affect the \DVI\ as well as \PDF\ output (currently \type{\pdfoutput}
+and \type{\pdfadjustspacing}).
+
+%A warning to macro writers: The \PDFTEX-team reserves the namespaces
+%\type{\pdf*} and \type{\ptex*} for use by \PDFTEX; if you define macros
+%whose names start with \type{\pdf} or \type{\ptex}, you risk nameclashes
+%with new primitives introduced in future versions of \PDFTEX.
+
+General warning: many of these new primitives, for example
+\type{\pdfdest} and \type{\pdfoutline}, write their arguments directly
+to the \PDF\ output file (when producing \PDF), as \PDF\ string
+constants. This means that {\em you} (or, more likely, the macros you
+write) must escape characters as necessary (namely \type{\}, \type{(},
+and \type{)}. Otherwise, an invalid \PDF\ file may result. The
+\type{hyperref} and \TEXINFO\ packages have code which may serve as
+a~starting point for implementing
+this, although it will certainly need to be adapted to any particular
+situation.
+
+%***********************************************************************
+
+\subsection{Document setup}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfoutput} \Whatever{integer}}}
+
+\bookmark{\type{\pdfoutput}}
+
+This parameter specifies whether the output format should be \DVI\ or
+\PDF. A~positive value means \PDF\ output, otherwise (default 0) one gets
+\DVI\ output. This primitive is the only one that must be set to produce
+\PDF\ output (unless the commandline option \type{-output-format=pdf}
+is used); all other primitives are optional. This parameter cannot be
+specified {\em after} shipping out the first page. In other words, if
+we want \PDF\ output, we have to set \type{\pdfoutput} before \PDFTEX\
+ships out the first page.
+
+When \PDFTEX\ starts complaining about specials, one can be rather sure
+that a~macro package is not aware of the \PDF\ mode. A~simple way of
+making macros aware of \PDFTEX\ in \PDF\ or \DVI\ mode is:
+
+\starttyping
+\ifx\pdfoutput\undefined \csname newcount\endcsname\pdfoutput \fi
+\ifcase\pdfoutput DVI CODE \else PDF CODE \fi
+\stoptyping
+
+Using the \type{ifpdf.sty} file, which works with both \LATEX\ and plain
+\TeX, is a~cleaner way of doing this. Historically, the simple test
+\type{\ifx\pdfoutput\undefined} was defined; but nowadays, the \PDFTEX\
+engine is used in distributions also for non-\PDF\ formats (\eg\
+\LATEX), so \type{\pdfoutput} may be defined even when the output format
+is \DVI.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfminorversion} \Whatever{integer}}}
+
+\bookmark{\type{\pdfminorversion}}
+
+This primitive sets the \PDF\ version of the generated file and the latest
+allowed \PDF\ version of included \PDF{}s. \Eg, \type{\pdfminorversion=3} tells
+\PDFTEX\ to set the \PDF\ version to 1.3 and allows only included \PDF\ files
+with versions numbers up to 1.3. The default for \type{\pdfminorversion} is 4,
+producing files with \PDF\ version 1.4. If specified, this primitive must
+appear before any data is to be written to the generated \PDF\ file, so you
+should put it at the very start of your files. The command has been introduced
+in \PDFTEX\ 1.30.0 as a~shortened synonym of \type{\pdfoptionpdfminorversion}
+command, that is obsolete by now.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfcompresslevel} \Whatever{integer}}}
+
+\bookmark{\type{\pdfcompresslevel}}
+
+This integer parameter specifies the level of stream compression (text,
+in||line graphics, and embedded \PNG\ images (only if they are un- and
+re||compressed during the embedding process); all done by the \type{zlib}
+library). Zero means no compression, 1~means fastest, 9~means best, 2..8
+means something in between. A~value outside this range will be adjusted to
+the nearest meaningful value. This parameter is read each time \PDFTEX\
+starts a~stream. Setting \type{\pdfcompresslevel=0} is great for \PDF\
+stream debugging.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfdecimaldigits} \Whatever{integer}}}
+
+\bookmark{\type{\pdfdecimaldigits}}
+
+This integer parameter specifies the numeric accuracy of real coordinates as written
+to the \PDF\ file. It gives the maximal number of decimal digits after the
+decimal point. Valid values are in range 0..4. A~higher value means
+more precise output, but also results in a~larger file size and more
+time to display or print. In most cases the optimal value is~2. This
+parameter does not influence the precision of numbers used in raw \PDF\ code,
+like that used in \type{\pdfliteral} and annotation action specifications;
+also multiplication items (\eg\ scaling factors)
+are not affected and are always output with best precision.
+This parameter is read when \PDFTEX\ writes a~real number to the \PDF\ output.
+
+When including huge \METAPOST\ images using \filename {supp-pdf.tex}, one can
+limit the accuracy to two digits by typing: \type{\twodigitMPoutput}.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfhorigin} \Whatever{dimension}}}
+
+\bookmark{\type{\pdfhorigin}}
+
+This parameter can be used to set the horizontal offset the output box
+from the top left corner of the page. A~value of 1~inch corresponds to the
+normal \TEX\ offset. This parameter is read when \PDFTEX\ starts shipping
+out a~page to the \PDF\ output.
+
+For standard purposes, this parameter should always be kept at
+1~true inch. If you want to shift text on the page, use \TEX's
+own \type{\hoffset} primitive. To avoid surprises, after global
+magnification has been changed by the \type{\mag} primitive, the
+\type{\pdfhorigin} parameter should still be 1~true inch, \eg\
+by typing \type{\pdfhorigin=1 true in} after issuing the \type{\mag}
+command. Or, you can preadjust the \type{\pdfhorigin} value before typing
+\type{\mag}, so that its value after the \type{\mag} command ends up at
+1~true inch again.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfvorigin} \Whatever{dimension}}}
+
+\bookmark{\type{\pdfvorigin}}
+
+This parameter is the vertical companion of \type{\pdfhorigin}, and the
+notes above regarding \type{\mag} and true dimensions apply. Also keep
+in mind that the \TEX\ coordinate system starts in the top left corner
+(downward), while \PDF\ coordinates start at the bottom left corner
+(upward).
+
+\pdftexprimitive {\Syntax {\Tex {\pdfpagewidth} \Whatever{dimension}}}
+
+\bookmark{\type{\pdfpagewidth}}
+
+This dimension parameter specifies the page width of the \PDF\ output
+(the screen, the paper, etc.). \PDFTEX\ reads this parameter when it
+starts shipping out a~page. After magnification has been changed by
+the \type{\mag} primitive, check that this parameter reflects the wished
+true page width.
+
+If the value is set to zero, the page width is calculated as
+$w_{\hbox{\txx box being shipped out}} + 2 \times (\hbox{horigin} +
+\hbox{\type{\hoffset}})$. When part of the page falls off the paper or
+screen, you can be rather sure that this parameter is set wrong.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfpageheight} \Whatever{dimension}}}
+
+\bookmark{\type{\pdfpageheight}}
+
+Similar to the previous item, this dimension parameter specifies the
+page height of the \PDF\ output. If set to zero, the page height will
+be calculated analogously to the above. After magnification has been
+changed by the \type{\mag} primitive, check that this parameter reflects
+the wished true page height.
+
+\subsection{The document info and catalog}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfinfo} \Something{general text}}}
+
+\bookmark{\type{\pdfinfo}}
+
+This primitive allows the user to add information to the document info
+section; if this information is provided, it can be extracted, \eg\ by the
+pdfinfo program, or by the Adobe Reader (version 7.0: menu option {\em File
+$\longrightarrow$ Document Properties}). The \Something{general text} is
+a~collection of key||value||pairs. The key names are preceded by a~\type{/},
+and the values, being strings, are given between parentheses. All keys
+are optional. Possible keys are \type{/Author}, \type{/CreationDate}
+(defaults to current date including time zone info), \type{/ModDate},
+\type{/Creator} (defaults to \type {TeX}), \type{/Producer} (defaults
+to \esctype{pdfTeX-@currentpdftex} or \esctype{pdfeTeX-@currentpdftex}),
+\type{/Title}, \type{/Subject}, and \type{/Keywords}.
+
+\type{/CreationDate} and \type{/ModDate} are expressed in the form
+\type{D:YYYYMMDDhhmmssTZ..}, where \type{YYYY} is the year, \type{MM} is
+the month, \type{DD} is the day, hh is the hour, \type{mm} is the minutes,
+\type{ss} is the seconds, and \type{TZ..} is an optional string denoting
+the time zone. An example of this format is shown below. For details
+please refer to the \PDF\ Reference.
+
+Multiple appearances of \type{\pdfinfo} will be concatenated. In general, if
+a~key is given more than once, one may expect that the first appearance will be used.
+Be aware however, that this behaviour is viewer dependent. Except expansion,
+\PDFTEX\ does not perform any further operations on \Something{general text} provided
+by the user.
+
+An example of the use of \type{\pdfinfo} is:
+
+\startesctyping
+\pdfinfo
+ { /Title (example.pdf)
+ /Creator (TeX)
+ /Producer (pdfeTeX @currentpdftex)
+ /Author (Tom and Jerry)
+ /CreationDate (D:20050428154343+01'00')
+ /ModDate (D:20050428155343+01'00')
+ /Subject (Example)
+ /Keywords (mouse, cat) }
+\stopesctyping
+
+\pdftexprimitive {\Syntax {\Tex {\pdfcatalog} \Something{general text}
+\Optional{\Something{open-action spec}}}}
+
+\bookmark{\type{\pdfcatalog}}
+
+Similar to the document info section is the document catalog, where keys
+are \type{/URI}, which provides the base \URL\ of the document, and \type
+{/PageMode}, which determines how the \PDF\ viewer displays the document
+on startup. The possibilities for the latter are explained in \in {Table}
+[pagemode]:
+
+\startbuffer
+\starttabulate[|l|l|]
+\HL
+\NC \bf value \NC \bf meaning \NC\NR
+\HL
+\NC \tt /UseNone \NC neither outline nor thumbnails visible \NC\NR
+\NC \tt /UseOutlines \NC outline visible \NC\NR
+\NC \tt /UseThumbs \NC thumbnails visible \NC\NR
+\NC \tt /FullScreen \NC full||screen mode \NC\NR
+\HL
+\stoptabulate
+\stopbuffer
+
+\placetable
+ [here][pagemode]
+ {Supported \type{/PageMode} values.}
+ {\getbuffer}
+
+In full||screen mode, there is no menu bar, window controls, nor any other
+window present. The default setting is \type{/UseNone}.
+
+The \Something{openaction} is the action provided when opening the
+document and is specified in the same way as internal links, see \in
+{section} [linking]. Instead of using this method, one can also write the
+open action directly into the catalog.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfnames} \Something{general text}}}
+
+\bookmark{\type{\pdfnames}}
+
+This primitive inserts the \Something{general text} to the \type
+{/Names} array. The text must
+conform to the specifications as laid down in the \PDF\ Reference Manual,
+otherwise the document can be invalid.
+
+\pdftexprimitive {\Syntax {\Tex {\pdftrailer} \Something{general text}}}
+
+\bookmark{\type{\pdftrailer}}
+
+This command puts its argument text verbatim into the file trailer
+dictionary. \introduced{1.11a}
+
+%***********************************************************************
+
+\subsection{Fonts}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfpkresolution} \Whatever{integer}}}
+
+\bookmark{\type{\pdfpkresolution}}
+
+This integer parameter specifies the default resolution of embedded \PK\
+fonts and is read when \PDFTEX\ downloads a~\PK\ font during finishing
+the \PDF\ output. As bitmap fonts are still rendered poorly by some \PDF\
+viewers, it is best to use Type~1 fonts when available.
+
+\pdftexprimitive {\Syntax {\Tex {\pdffontexpand}
+\Something{font} \Something{stretch} \Something{shrink}
+\Something{step} \Optional{\Literal{autoexpand}}}}
+
+\bookmark{\type{\pdffontexpand}}
+
+This extension to \TEX's font definitions controls a~\PDFTEX\ automatism
+called {\em font expansion}. We describe this by an example:
+
+\starttyping
+\font\somefont=sometfm at 10pt
+\pdffontexpand\somefont 30 20 10 autoexpand
+\pdfadjustspacing=2
+\stoptyping
+
+The \type{30 20 10} means this: \quotation {hey \TEX, when line
+breaking is going badly, you may stretch the glyphs in this font as
+much as 3\,\% or shrink them by 2\,\%}. Because \PDFTEX\ uses internal
+data structures with fixed widths, each additional width also means an
+additional font. For practical reasons \PDFTEX\ uses discrete steps,
+in this example, 1\,\%. This means that for font \type{sometfm} up to~6
+differently scaled alternatives may be used. When no step is specified,
+0.5\,\% steps are used.
+
+Roughly spoken, the trick is as follows. Consider a~text typeset in
+triple column mode. When \TEX\ cannot break a~line in the appropriate
+way, the unbreakable parts of the word will stick into the margin. When
+\PDFTEX\ notes this, it will try to scale (shrink) the glyphs in that
+line using fixed steps, until the line fits. When lines are too spacy,
+the opposite happens: \PDFTEX\ starts scaling (stretching) the glyphs
+until the white space gaps is acceptable. This glyph stretching and
+shrinking is called {\em font expansion}.
+
+The additional expanded fonts get artificial names by adding the font
+expansion value to the tfmname of the base font, \eg\ \type{sometfm+10}
+for 1\,\% stretch or \type {sometfm-15} for 1.5\,\% shrink. If the
+\type{autoexpand} option is not given, \TFM\ files with these names and
+appropriate dimensions must be available. So, each expanded variant
+of a~font must have its own \TFM\ file! Expanded \TFM\ names like
+\type{sometfm+10} must not be mentioned in the map file (but the \TFM\
+name of the base font without expansion must be there). When no \TFM\
+file can be found, \PDFTEX\ will try to generate it by executing the
+script \type{mktextfm}, where available and supported.
+
+The font expansion is greatly simplified, if the \type{autoexpand}
+option is there. Then no expanded \TFM\ file versions are needed;
+instead, \PDFTEX\ generates expanded copies of the unexpanded \TFM\
+data structures and keeps them in its memory.
+
+\PDFTEX\ requires only unexpanded Type~1 font files for font expansion,
+from which all expanded font versions are internally generated and
+included (subsetted) into the \PDF\ output file. To enable font
+expansion, don't forget to set \type{\pdfadjustspacing} to a~value
+greater than zero.
+
+The font expansion mechanism is inspired by an optimization first
+introduced by Prof.~Hermann Zapf, which in itself goes back to
+optimizations used in the early days of typesetting: use different
+glyphs to optimize the grayness of a~page. So, there are many, slightly
+different~a's, e's, etc. For practical reasons \PDFTEX\ does not use
+such huge glyph collections; it uses horizontal scaling instead. This is
+sub||optimal, and for many fonts, possibly offensive to the design. But,
+when using \PDF, it's not illogical: \PDF\ viewers use so||called
+Multiple Master fonts when no fonts are embedded and|/|or can be found
+on the target system. Such fonts are designed to adapt their design to
+the different scaling parameters. It is up to the user to determine
+to what extent mixing slightly remastered fonts can be used without
+violating the design. Think of an~O: when geometrically stretched, the
+vertical part of the glyph becomes thicker, and looks incompatible with
+an unscaled original. With a~multiple master situation, one can stretch
+while keeping this thickness compatible.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfadjustspacing} \Whatever{integer}}}
+
+\bookmark{\type{\pdfadjustspacing}}
+
+This primitive provides a~switch for enabling font expansion. By default,
+\type{\pdfadjustspacing} is set to~0; then font expansion is disabled,
+so that the \PDFTEX\ output is identical to that from the original \TEX\
+engine.
+
+Font expansion can be activated in two modes. When
+\type{\pdfadjustspacing} is set to~1, font expansion is applied {\em
+after} \TEX's normal paragraph breaking routines have broken the paragraph
+into lines. In this case, line breaks are identical to standard \TEX\
+behaviour.
+
+When set to~2, the width changes that are the result of stretching and
+shrinking are taken into account {\em while} the paragraph is broken into
+lines. In this case, line breaks are likely to be different from those of
+standard \TEX. In fact, paragraphs may even become longer or shorter.
+
+Both alternatives require a~collection of \TFM\ files that are
+related to the \Something{stretch} and \Something{shrink} settings
+for the \type{\pdffontexpand} primitive, unless this is given with the
+\type{autoexpand} option.
+
+\pdftexprimitive {\Syntax {\Tex {\efcode} \Something{font} \Whatever{integer}}}
+
+\bookmark{\type{\efcode}}
+
+We didn't yet tell the whole story. One can imagine that some glyphs
+are visually more sensitive to stretching or shrinking than others. Then
+the \type{\efcode} primitive can be used to influence the expandability
+of individual glyphs within a~given font, as a~factor to the expansion
+setting from the \type{\pdffontexpand} primitive. The syntax is similar
+to \type{\sfcode} (but with the \Something{font} required), and it
+defaults to~1000, meaning 100\,\% expandability. The given integer value
+is clipped to the range 0..1000, corresponding to a~usable expandability
+range of 0..100\,\%. Example:
+
+\starttyping
+\efcode\somefont`A=800
+\efcode\somefont`O=0
+\stoptyping
+
+Here an~A may stretch or shrink only by 80\,\% of the current expansion
+value for that font, and expansion for the~O is disabled. The actual
+expansion is still bound to the steps as defined by \type{\pdffontexpand}
+primitive, otherwise one would end up with more possible font inclusions
+than would be comfortable.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfprotrudechars} \Whatever{integer}}}
+
+\bookmark{\type{\pdfprotrudechars}}
+
+Yet another way of optimizing paragraph breaking is to let certain
+characters move into the margin (`character protrusion'). When
+\type{\pdfprotrudechars=1}, the glyphs qualified as such will make
+this move when applicable, without changing the line-breaking. When
+\type{\pdfprotrudechars=2} (or greater), character protrusion will
+be taken into account while considering breakpoints, so line-breaking
+might be changed. This qualification and the amount of shift are set by
+the primitives \type{\rpcode} and \type{\lpcode}. Character protrusion
+is disabled when \type{\pdfprotrudechars=0} (or negative).
+
+If you want to protrude some item other than a~character (\eg\
+ a~\type{\hbox}), you can do so by padding the item with an invisible
+zero||width character, for which protrusion is activated.
+
+\pdftexprimitive {\Syntax {\Tex {\rpcode} \Something{font} \Whatever{integer}}}
+
+\bookmark{\type{\rpcode}}
+
+The amount that a~character from a~given font may shift into the right
+margin (`character protrusion') is set by the primitive \type {\rpcode}.
+The protrusion distance is the integer value given to \type {\rpcode},
+multiplied with 0.001\,em from the current font. The given integer
+value is clipped to the range $-$1000..1000, corresponding to a~usable
+protrusion range of $-$1\,em..1\,em. Example:
+
+\starttyping
+\rpcode\somefont`,=200
+\rpcode\somefont`-=150
+\stoptyping
+
+Here the comma may shift by 0.2\,em into the margin and the hyphen by
+0.15\,em. All these small bits and pieces will help \PDFTEX\ to give
+you better paragraphs (use \type{\rpcode} judiciously; don't overdo it).
+
+Remark: old versions of \PDFTEX\ use the character width as measure. This
+was changed to a~proportion of the em-width after \THANH\ finished his
+master's thesis.
+
+\pdftexprimitive {\Syntax {\Tex {\lpcode} \Something{font}
+\Whatever{integer}}}
+
+\bookmark{\type{\lpcode}}
+
+This is similar to \type{\rpcode}, but affects the amount by which
+characters may protrude into the left margin. Also here the given integer
+value is clipped to the range $-$1000..1000.
+
+\pdftexprimitive {\Syntax {\Tex {\leftmarginkern} \Something{box number} \Whatever{expandable}}}
+
+\bookmark{\type{\leftmarginkern}}
+
+The \Tex{\leftmarginkern} \Something{box number} primitive expands to the
+width of the margin kern at the left side of the horizontal list stored
+in \Tex{\box} \Something{box number}. The expansion string includes the
+unit \type{pt}. \Eg, when the left margin kern of \type{\box0} amounts
+to $-$10\,pt, \type{\leftmarginkern0} will expand to \type{-10pt}.
+A~similar primitive \type{\rightmarginkern} exists for the right margin.
+\introduced{1.30.0}
+
+These are auxiliary primitives to make character protrusion
+more versatile. When using the \TEX\ primitive \type{\unhbox} or
+\type{\unhcopy}, the margin kerns at either end of the unpackaged
+hbox will be removed (\eg\ to avoid weird effects if several
+hboxes are unpackaged behind each other into the same horizontal
+list). These \type{\unhbox} or \type{\unhcopy} are often used together
+with \type{\vsplit} for dis- and re||assembling of paragraphs, \eg\ to
+add line numbers. Paragraphs treated like this do not show character
+protrusion by default, as the margin kerns have been removed during the
+unpackaging process.
+
+The \type{\leftmarginkern} and \type{\rightmarginkern} primitives allow
+to access the margin kerns and store them away before unpackaging the
+hbox. \Eg\, the following code snipplet restores margin kerning of
+a~horizontal list stored in \type{\box\testline}, resulting in a~hbox with
+proper margin kerning (which is then done by ordinary kerns).
+
+\starttyping
+\dimen0=\leftmarginkern\testline
+\dimen1=\rightmarginkern\testline
+\hbox to\hsize{\kern\dimen0\unhcopy\testline\kern\dimen1}
+\stoptyping
+
+\pdftexprimitive {\Syntax {\Tex {\rightmarginkern} \Something{box number} \Whatever{expandable}}}
+
+\bookmark{\type{\rightmarginkern}}
+
+The \Tex{\rightmarginkern} \Something{box number} primitive expands to
+the width of the margin kern at the right side of the horizontal list
+stored in \Tex{\box} \Something{box number}. See \type{\leftmarginkern}
+for more details.
+\introduced{1.30.0}
+
+\pdftexprimitive {\Syntax {\Tex {\pdffontattr} \Something{font} \Something{general text}}}
+
+\bookmark{\type{\pdffontattr}}
+
+This primitive inserts the \Something{general text} to the \type {/Font}
+dictionary. The text must conform to the specifications as laid down in the
+\PDF\ Reference Manual, otherwise the document can be invalid.
+
+\pdftexprimitive {\Syntax {\Tex {\pdffontname} \Something{font} \Whatever
+{expandable}}}
+
+\bookmark{\type{\pdffontname}}
+
+In \PDF\ files produced by \PDFTEX\ one can recognize a~font resource
+by the prefix~\type{/F} followed by a~number, for instance \type{/F12}
+or \type{/F54}. For a~given \TEX\ \Something{font}, this primitive
+expands to the number from the corresponding font resource name.
+\Eg, if \type{/F12} corresponds to some \TEX\ font \type{\foo}, the
+\type{\pdffontname\foo} expands to the number~\type{12}.
+
+In the current implementation, when \type{\pdfuniqueresname} (see below)
+is set to a~positive value, the \type{\pdffontname} still returns only the
+number from the font resource name, but not the appended random string.
+
+\pdftexprimitive {\Syntax {\Tex {\pdffontobjnum} \Something{font} \Whatever
+{expandable}}}
+
+\bookmark{\type{\pdffontobjnum}}
+
+This command is similar to \type{\pdffontname}, but it returns the
+\PDF\ object number of the font dictionary instead of the number from
+the font resource name. \Eg, if the font dictionary (\type{/Type
+/Font}) in \PDF\ object~3 corresponds to some \TEX\ font \type{\foo},
+the \type{\pdffontobjnum\foo} gives the number~\type{3}.
+
+Use of \type{\pdffontname} and \type {\pdffontobjnum} allows users full
+access to all the font resources used in the document.
+
+\pdftexprimitive {\Syntax {\Tex {\pdffontsize} \Something{font} \Whatever
+{expandable}}}
+
+\bookmark{\type{\pdffontsize}}
+
+This primitive expands to the font size of the given font, with unit
+\type{pt}. \Eg, when using the plain \TeX\ macro package, the call
+\type{\pdffontsize\tenrm} expands to \type{10.0pt}.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfincludechars} \Something{font}
+\Something{general text}}}
+
+\bookmark{\type{\pdfincludechars}}
+
+This command causes \PDFTEX\ to treat the characters in \Something{general
+text} as if they were used with \Something{font}\unkern, which means that the
+corresponding glyphs will be embedded into the font resources in the \PDF\
+output. Nothing is appended to the list being built.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfuniqueresname} \Whatever{integer}}}
+
+\bookmark{\type{\pdfuniqueresname}}
+
+When this primitive is assigned a~positive number, \PDF\ resource names
+will be made reasonably unique by appending a~random string consisting
+of six \ASCII\ characters.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfmapfile} \Something{map spec}}}
+
+\bookmark{\type{\pdfmapfile}}
+
+This primitive is used for managing font map files, to make them known
+to \PDFTEX\ so that they can be read in. If no \type{\pdfmapfile}
+primitive is given, the default map file \filename{pdftex.map} will be
+read in by \PDFTEX.
+
+Normally there is no need for the \PDFTEX\ user to bother about the
+\type{\pdfmapfile} primitive, as the main \TEX\ distributions provide
+nice helper tools that automatically assemble the default font map file.
+One prominent tool example is the script \type{updmap} coming with \TETEX.
+
+The operation mode of the \type{\pdfmapfile} primitive is selected by
+a~flag letter (\type{+}, \type{=}, \type{-}, or omitted). This flag defines
+how a~map file is going to be handled, and how a~collision between an
+existing map entry and a~newer one is resolved; either ignoring a~later
+entry, or replacing or deleting an existing entry. But in any case,
+map entries of fonts already in use are kept untouched. The companion
+primitive \type{\pdfmapline} allows something similar, only that a~single
+map line for one font (instead of a~map file name) is given as argument.
+Here are two examples:
+
+\starttyping
+\pdfmapfile{+myfont.map}
+\pdfmapline{+ptmri8r Times-Italic <8r.enc <ptmri8a.pfb}
+\stoptyping
+
+The general map handling function is that map items, which are either map
+file names or single font map lines (in case of the \type{\pdfmapline}
+primitive) are put into an auxiliary list of pending map items. During
+the next page shipout, this list is processed and all pending map items
+are sequentially scanned for their map entries, and an internal map
+entry database is updated, using one of the modes described below. Then
+the list of pending map items is cleared. All \type{\pdfmapfile}
+and \type{\pdfmapline} commands can also be given after shipout of the
+first page.
+
+If your map file isn't in the current directory (or a~standard system
+directory), you will need to set the \type{TEXFONTMAPS} variable (in
+\WEBC) or give an explicit path so that it will be found.
+
+\type{\pdfmapfile{foo.map}} (\type{+}/\type{=}/\type{-} flags omitted)
+clears the list of pending map items and starts a~new list with the only
+pending file \type{foo.map}. When the file \filename{foo.map} is scanned,
+duplicate map entries are ignored and a~warning is issued. When this
+command is given at the beginning of a~\TEX\ run, the default map file
+\filename{pdftex.map} will {\em not} be read in. This is compatible
+with the former behaviour.
+
+If you want to add support for a~new font through an additional font map
+file while keeping all the existing mappings, don't use this version
+of command, but instead type either \type{\pdfmapfile{+myfont.map}}
+or \type{\pdfmapfile{=myfont.map}}, as described below.
+
+\type{\pdfmapfile {+foo.map}} puts the file \filename{foo.map} into the
+list of pending map items. When the file \filename{foo.map} is scanned,
+duplicate map entries are ignored and a~warning is issued. This is
+compatible with the former behaviour.
+
+\type{\pdfmapfile {=foo.map}} puts the file \filename{foo.map} into the
+list of pending map items. When the file \filename{foo.map} is scanned,
+matching map entries in the database are replaced by new entries from
+\filename{foo.map}.
+
+\type{\pdfmapfile {-foo.map}} puts the file \filename{foo.map} into the
+list of pending map items. When the file \filename{foo.map} is scanned,
+matching map entries are deleted from the database.
+
+\type{\pdfmapfile {}} clears the list of pending map items. It does
+not affect map entries already registered into the database. This is
+compatible with the former behaviour. When this command is given at the
+beginning of a~\PDFTEX\ run, the default map file \filename{pdftex.map}
+will {\em not} be read in. This may help with quick program startup,
+if no fonts are required.
+
+If you want to use a~base map file name other than \type{pdftex.map},
+or change its processing options through a~\PDFTEX\ format, you can do
+this by appending the \type{\pdfmapfile} command to the
+\type{\everyjob{}} token list for the \type{-ini} run, \eg:
+
+\starttyping
+\everyjob\expandafter{\the\everyjob\pdfmapfile{+myspecial.map}}
+\dump
+\stoptyping
+
+\pdftexprimitive {\Syntax {\Tex {\pdfmapline} \Something{map spec}}}
+
+\bookmark{\type{\pdfmapline}}
+
+Similar to \type{\pdfmapfile}, but here you can give a~single
+map line (like the ones in map files) as an argument. The modifiers
+(\type{+-=}) have the same effect as with \type{\pdfmapfile}; see also
+the description above. Example:
+
+\starttyping
+\pdfmapline{+ptmri8r Times-Italic <8r.enc <ptmri8a.pfb}
+\stoptyping
+
+This primitive (especially the \type{\pdfmapline{=...}} variant) allows
+quick checks of a~new font map entry, before writing it into
+a~map file.
+
+\type{\pdfmapline {}} clears the list of pending map items a~similar
+way as \type{\pdfmapfile{}} does. \introduced{1.20a}
+
+\pdftexprimitive {\Syntax {\Tex {\pdftracingfonts} \Whatever{integer}}}
+
+\bookmark{\type{\pdftracingfonts}}
+
+This integer parameter specifies the level of verbosity for info about
+expanded fonts given in the log, \eg\ when \type{\tracingoutput=1}.
+If \type{\pdftracingfonts=0}, which is the default, the log shows the
+actual non-zero signed expansion value for each expanded letter within
+brackets, \eg:
+
+\starttyping
+...\xivtt (+20) t
+\stoptyping
+
+If \type{\pdftracingfonts=1}, also the name of the \TFM\ file is listed,
+together with the font size, \eg:
+
+\starttyping
+...\xivtt (cmtt10+20@14.0pt) t
+\stoptyping
+
+Setting \type{\pdftracingfonts} to a~value other than~0 or~1 is not
+recommended, to allow future extensions. \introduced{1.30.0}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfmovechars} \Whatever{integer}}}
+
+\bookmark{\type{\pdfmovechars}}
+
+Since \PDFTEX\ version 1.30.0 the primitive \type{\pdfmovechars} is obsolete,
+and its use merely leads to a~warning. (This primitive specified whether
+\PDFTEX\ should try to move characters in range 0..31 to higher slots;
+its sole purpose was to remedy certain bugs of early \PDF\ viewers.)
+
+\pdftexprimitive {\Syntax {\Tex {\pdfpkmode} \Whatever{tokens}}}
+
+\bookmark{\type{\pdfpkmode}}
+
+The \type{\pdfpkmode} is a~token register that sets the \METAFONT\ mode for
+pixel font generation. The contents of this register is dumped into the
+format, so one can (optionally) preset it \eg\ in \type{pdftexconfig.tex}.
+\introduced{1.30.0}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfnoligatures} \Something{font}}}
+
+\bookmark{\type{\pdfnoligatures}}
+
+This diables all ligatures in the loaded font \Something{font}.
+\introduced{1.30.0}
+
+%***********************************************************************
+
+\subsection{\PDF\ objects}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfobj} \Something{object type spec}}}
+
+\bookmark{\type{\pdfobj}}
+
+This command creates a~raw \PDF\ object that is written to the \PDF\ file as
+\type{1 0 obj} \unknown\ \type{endobj}. The object is written to \PDF\ output as
+provided by the user. When \Something{object type spec} is not given, \PDFTEX\
+does not any longer create a~dictionary object with contents \Something{general text},
+as it was in the past.
+
+When however \Something{object type spec} is given as \Something{attr spec}
+\Literal{stream}, the object will be created as a~stream with contents
+\Something{general text} and additional attributes in \Something{attr
+spec}\unkern.
+
+When \Something{object type spec} is given as \Something{attr spec}
+\Literal{file}, then the \Something{general text} will be treated as a~file
+name and its contents will be copied into the stream contents.
+
+When \Something{object type spec} is given as \type{reserveobjnum},
+just a~new object number is reserved. The number of the reserved object
+is accessible via \type{\pdflastobj}. The object can later be filled
+with contents by \Syntax{\Tex{\pdfobj} \Literal{useobjnum}
+\Something{number} \Lbrace\Something{balanced text}\Rbrace}.
+But the reserved object number can already be be used before by other
+objects, which provides a~forward||referencing mechanism.
+
+The object is kept in memory and will be written to the \PDF\ output only
+when its number is referred to by \type{\pdfrefobj} or when \type{\pdfobj}
+is preceded by \type{\immediate}. Nothing is appended to the list being
+built. The number of the most recently created object is accessible via
+\type{\pdflastobj}.
+
+\pdftexprimitive {\Syntax {\Tex {\pdflastobj} \Whatever{read||only integer}}}
+
+\bookmark{\type{\pdflastobj}}
+
+This command returns the object number of the last object created by \type
+{\pdfobj}.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfrefobj} \Something{object number}}}
+
+\bookmark{\type{\pdfrefobj}}
+
+This command appends a~whatsit node to the list being built. When the whatsit
+node is searched at shipout time, \PDFTEX\ will write the object
+\Something{object number}
+to the \PDF\ output if it has not been written yet.
+
+%***********************************************************************
+
+\subsection{Page and pages objects}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfpagesattr} \Whatever{tokens}}}
+
+\bookmark{\type{\pdfpagesattr}}
+
+\PDFTEX\ expands this token list when it finishes the \PDF\ output and adds
+the resulting character stream to the root \type{Pages} object. When defined,
+these are applied to all pages in the document. Some examples of attributes
+are \type{/MediaBox}, the rectangle specifying the natural size of the page,
+\type{/CropBox}, the rectangle specifying the region of the page being
+displayed and printed, and \type{/Rotate}, the number of degrees (in
+multiples of 90) the page should be rotated clockwise when it is displayed or
+printed.
+
+% /MediaBox is not a good example, since will never take an effect
+
+\starttyping
+\pdfpagesattr
+ { /Rotate 90 % rotate all pages by 90 degrees
+ /CropBox [0 0 612 792] } % the crop size of all pages (in bp)
+\stoptyping
+
+\pdftexprimitive {\Syntax {\Tex {\pdfpageattr} \Whatever{tokens}}}
+
+\bookmark{\type{\pdfpageattr}}
+
+This is similar to \type{\pdfpagesattr}, but has priority over it.
+It can be used to override any attribute given by \type{\pdfpagesattr}
+for individual pages. The token list is expanded when \PDFTEX\ ships out
+a~page. The contents are added to the attributes of the current page.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfpageref} \Something{page number} \Whatever{expandable}}}
+
+\bookmark{\type{\pdfpageref}}
+
+This primitive expands to the number of the page object that contains the
+dictionary for page \Something{page number}. If the page \Something{page
+number} does not exist, a~warning will be issued, a fresh unused \PDF\
+object will be generated, and \type{\pdfpageref} will expand to that
+object number.
+
+\Eg, if the dictionary for page~5 of the \TEX\ document is contained in
+\PDF\ object no.~18, \tex{pdfpageref5} expands to the number 18.
+
+%***********************************************************************
+
+\subsection{Form XObjects}
+
+The next three primitives support a~\PDF\ feature called \quote {object
+reuse} in \PDFTEX. The idea is first to create a~`form XObject' in
+\PDF. The content of this object corresponds to the content of a~\TEX\
+box; it can contain pictures and references to other form XObjects
+as well. After creation, the form XObject can be used multiple times
+by simply referring to its object number. This feature can be useful
+for large documents with many similar elements, as it can reduce the
+duplication of identical objects.
+
+These commands behave similarly to \type{\pdfobj}, \type{\pdfrefobj}
+and \type{\pdflastobj}, but instead of taking raw \PDF\ code, they handle
+text typeset by \TEX.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfxform} \Optional{\Something{attr
+spec}} \Optional{\Something{resources spec}} \Something{box number}}}
+
+\bookmark{\type{\pdfxform}}
+
+This command creates a~form XObject corresponding to the contents of the
+box \Something{box number}. The box can contain other raw objects, form
+XObjects, or images as well. It can however {\em not} contain annotations
+because they are laid out on a~separate layer, are positioned absolutely,
+and have dedicated housekeeping. \type{\pdfxform} makes the box void,
+as \type{\box} does.
+
+When \Something{attr spec} is given, the text will be written
+as additional attribute into the form XObject dictionary. The
+\Something{resources spec} is similar, but the text will be added
+to the resources dictionary of the form XObject. The text given by
+\Something{attr spec} or \Something{resources spec} is written before
+other entries of the form dictionary and|/|or the resources dictionary
+and takes priority over later ones.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfrefxform} \Something{object number}}}
+
+\bookmark{\type{\pdfrefxform}}
+
+The form XObject is kept in memory and will be written to the \PDF\
+output only when its object number is referred to by \type{\pdfrefxform}
+or when \type{\pdfxform} is preceded by \type{\immediate}. Nothing is
+appended to the list being built. The number of the most recently created
+form XObject is accessible via \type {\pdflastxform}.
+
+When issued, \type{\pdfrefxform} appends a~whatsit node to the list being
+built. When the whatsit node is searched at shipout time, \PDFTEX\ will
+write the form \Something{object number} to the \PDF\ output if it is
+not written yet.
+
+\pdftexprimitive {\Syntax {\Tex {\pdflastxform}} \Whatever{read||only integer}}
+
+\bookmark{\type{\pdflastxform}}
+
+The object number of the most recently created form XObject is accessible
+via \type {\pdflastxform}.
+
+As said, this feature can be used for reusing information. This mechanism
+also plays a~role in typesetting fill||in forms. Such widgets sometimes
+depends on visuals that show up on user request, but are hidden otherwise.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfxformname} \Something{object number} \Whatever{expandable}}}
+
+\bookmark{\type{\pdfxformname}}
+
+In \PDF\ files produced by \PDFTEX\ one can recognize a~form Xobject by
+the prefix~\type{/Fm} followed by a~number, for instance \type{/Fm2}.
+For a~given form XObject number, this primitive expands to the number
+in the corresponding form XObject name. \Eg, if \type{/Fm2} corresponds
+to some form XObject with object number 7, the \type{\pdfxformname7}
+expands to the number~\type{2}. \introduced{1.30.0}
+
+%***********************************************************************
+
+\subsection{Graphics inclusion}
+
+\PDF\ provides a~mechanism for embedding graphic and textual objects: form
+XObjects. In \PDFTEX\ this mechanism is accessed by means of \type{\pdfxform},
+\type{\pdflastxform} and \type{\pdfrefxform}. A~special kind of XObjects
+are bitmap graphics and for manipulating them similar commands are provided.
+
+\pdftexprimitive {\Syntax {
+ \Tex {\pdfximage}
+ \Optional{\Something{rule spec}}
+ \Optional{\Something{attr spec}}
+ \Optional{\Something{page spec}}
+ \Optional{\Something{colorspace spec}}
+ \Optional{\Something{pdf box spec}}
+ \Something{general text}
+}}
+
+\bookmark{\type{\pdfximage}}
+
+This command creates an image object. The dimensions of the image can be
+controlled via \Something{rule spec}\unkern. The default values are zero for depth
+and \quote {running} for height and width. If all of them are given, the
+image will be scaled to fit the specified values. If some (but not
+all) are given, the rest will be set to a~value corresponding to the
+remaining ones so as to make the image size to yield the same proportion of
+$width : (height+depth)$ as the original image size, where depth is treated
+as zero. If none are given then the image will take its natural size.
+
+An image inserted at its natural size often has a~resolution of \type
+{\pdfimageresolution} (see below) given in dots per inch in the output file,
+but some images may contain data specifying the image resolution, and in such
+a~case the image will be scaled to the correct resolution. The dimensions of
+an image can be accessed by enclosing the \type{\pdfrefximage} command to
+a~box and checking the dimensions of the box:
+
+\starttyping
+\setbox0=\hbox{\pdfximage{somefile.png}\pdfrefximage\pdflastximage}
+\stoptyping
+
+Now we can use \type{\wd0} and \type{\ht0} to question the natural size of
+the image as determined by \PDFTEX. When dimensions are specified before the
+\type{{somefile.png}}, the graphic is scaled to fit these. Note that, unlike
+the \eg\ \type{\input} primitive, the filename is supplied between
+braces.
+
+The image type is specified by the extension of the given file name: \type
+{.png} stands for \PNG\ image, \type{.jpg} for \JPEG, and \type{.pdf} for \PDF\
+file. But once \PDFTEX\ has opened the file, it checks the file type first by
+looking to the magic number at the file start, which gets precedence over the
+file name extension. This gives a~certain degree of fault tolerance, if the
+file name extension is stated wrongly.
+
+Similarly to \type{\pdfxform}, the optional text given by \Something{attr spec}
+will be written as additional attributes of the image before other keys of the
+image dictionary. One should be aware, that slightly different type of PDF
+object is created while including \PNG\ or \JPEG\ bitmaps and \PDF\ images.
+
+While working with \PDF\ image, \Something{page spec} allows to decide which
+page of the document is to be included. Starting from \PDFTEX\ 1.11 one may
+also decide which \PDF\ page box of the image is to be treated as a~final
+bounding box. If \Something{pdf box spec} is present, overrides default
+behaviour specified by \type{\pdfforcepagebox} parameter. Both options are
+irrelevant for non||\PDF\ inclusions.
+
+Starting from \PDFTEX\ 1.21, \type{\pdfximage} command supports
+\type{colorspace} keyword followed by an object number (user||defined
+colorspace for the image being included). This feature works for \JPEG\ images
+only. \PNG s are \RGB\ palettes and \PDF\ images have always self||contained
+color space information.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfrefximage} \Something{integer}}}
+
+\bookmark{\type{\pdfrefximage}}
+
+The image is kept in memory and will be written to the \PDF\ output only when
+its number is referred to by \type{\pdfrefximage} or \type{\pdfximage} is
+preceded by \type{\immediate}. Nothing is appended to the list being built.
+
+\type{\pdfrefximage} appends a~whatsit node to the list being built. When
+the whatsit node is searched at shipout time, \PDFTEX\ will write the image
+with number \Something{integer} to the \PDF\ output if it has not been
+written yet.
+
+\pdftexprimitive {\Syntax {\Tex {\pdflastximage} \Whatever{read||only
+integer}}}
+
+\bookmark{\type{\pdflastximage}}
+
+The number of the most recently created XObject image is accessible via \type
+{\pdflastximage}.
+
+\pdftexprimitive {\Syntax {\Tex {\pdflastximagepages} \Whatever{read||only
+integer}}}
+
+\bookmark{\type{\pdflastximagepages}}
+
+This read||only register returns the highest page number from a~file
+previously accessed via the \type{\pdfximage} command.
+This is useful only for \PDF\ files; it always returns \type{1}
+for \PNG\ or \JPEG\ files.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfimageresolution} \Whatever{integer}}}
+
+\bookmark{\type{\pdfimageresolution}}
+
+The integer \type{\pdfimageresolution} parameter (unit: dots per
+inch, dpi) is a~last resort value, used only for bitmap (\JPEG,
+\PNG) images, but not for \PDF{}s. The priorities are as follows:
+Often one image dimension (\type{width} or \type{height}) is stated
+explicitely in the \TEX\ file. Then the image is properly scaled so
+that the aspect ratio is kept. If both image dimensions are given,
+the image will be stretched accordingly, whereby the aspect ratio might
+get distorted. Only if no image dimension is given in the \TEX\ file,
+the image size will be calculated from its width and height in pixels,
+using the $x$ and $y$ resolution values normally contained in the image
+file. If one of these resolution values is missing or weird (either
+$<$~0 or $>$~65535), the \type{\pdfimageresolution} value will be used
+for both $x$ and $y$ resolution, when calculating the image size. And
+if the \type{\pdfimageresolution} is zero, finally a~default resolution
+of 72\,dpi would be taken. The \type{\pdfimageresolution} is read when
+\PDFTEX\ creates an image via \type{\pdfximage}. The given value is
+clipped to the range 0..65535\,[dpi].
+
+Currently this parameter is used particularily for calculating the
+dimensions of \JPEG\ images in \EXIF\ format (unless at least one
+dimension is stated explicitely); the resolution values coming with \EXIF\
+files are currently ignored.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfforcepagebox} \Whatever{integer}}}
+
+\bookmark{\type{\pdfforcepagebox}}
+
+%- It is now possible to specify the pdf page box to use when including pdfs.
+% The syntax has been extended:
+% \pdfximage [<image attr spec>] <general text> (h, v, m)
+% <image attr spec> --> [<rule spec>] [<attr spec>] [<page spec>] [<pdf box spec>]
+% <pdf box spec> --> mediabox|cropbox|bleedbox|trimbox|artbox
+% The default is cropbox (which defaults to mediabox), to be compatible with
+% previous versions of pdfTeX.
+% The page box specified at \pdfximage can be globally overridden with the
+% config parameter always_use_pdfpagebox and the command
+% \pdfoptionalwaysusepdfpagebox <integer>, where 0 is the default (use whatever
+% is specified with \pdfximage), 1 is media, 2 is crop, 3 is bleed, 4 is trim
+% and 5 is artbox. This can only be set once per object, i.\,e.\ the value used at
+% \pdfximage is remembered.
+% See the pdf reference for an explanation of the boxes.
+
+When \PDF\ files are included, the command \type{\pdfximage} allows the selection
+of which \PDF\ page box to use in the optional field \Something{image attr
+spec}\unkern. The integer primitive \type{\pdfforcepagebox} allows to globally
+override this choice by giving them one of the following values: (1) media box,
+(2) crop box, (3) bleed box, (4) trim box, and (5) artbox. The command is
+available starting from \PDFTEX\ 1.30.0, as a~shortened synonym of obsolete
+\type{\pdfoptionalwaysusepdfpagebox} instruction.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfinclusionerrorlevel} \Whatever{integer}}}
+
+\bookmark{\type{\pdfinclusionerrorlevel}}
+
+This controls the behaviour of \PDFTEX\ when a~\PDF\ file is included
+that has a~newer version than the one specified by this primitive:
+If it is set to~0, \pdfTeX\ gives only a~warning; if it's~1, \pdfTeX\
+raises an error. The command has been introduced in \PDFTEX\ 1.30.0 as
+a~shortened synonym of \type{\pdfoptionpdfinclusionerrorlevel}, that is
+now obsolete.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfimagehicolor} \Whatever{integer}}}
+
+\bookmark{\type{\pdfimagehicolor}}
+
+This primitive, when set to~1, enables embedding of \PNG\ images with
+16~bit wide color channels at their full color resolution. As such
+an embedding mode is defined only from \PDF\ version~1.5 onwards,
+the \type{\pdfimagehicolor} functionality is automatically disabled
+in \PDFTEX\ if \type{\pdfminorversion}~$<$~5; then each 16~bit
+color channel is reduced to a~width of 8~bit by stripping the lower 8~bits
+before embedding. The same stripping happens when \type{\pdfimagehicolor}
+is set to~0. For \type{\pdfminorversion}~$\ge$~5 the default
+value of \type{\pdfimagehicolor} is~1. If specified, the parameter
+must appear before any data is written to the \PDF\ output.
+\introduced{1.30.0}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfimageapplygamma} \Whatever{integer}}}
+
+\bookmark{\type{\pdfimageapplygamma}}
+
+This primitive, when set to~1, enables gamma correction while embedding
+\PNG\ images, taking the values of the primitives \type {\pdfgamma} as
+well as the gamma value embedded in the \PNG\ image into account. When
+\type{\pdfimageapplygamma} is set to~0, no gamma correction is performed.
+If specified, the parameter must appear before any data is written to the
+\PDF\ output.
+\introduced{1.30.0}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfgamma} \Whatever{integer}}}
+
+\bookmark{\type{\pdfgamma}}
+
+This primitive defines the `device gamma' for \PDFTEX. Values are in
+promilles (same as for \type{\mag}). The default value of this primitive
+is~1000, defining a~device gamma value of~1.0.
+
+When \type{\pdfimageapplygamma} is set to~1, then whenever a~\PNG\ image
+is included, \PDFTEX\ applies a~gamma correction. This correction is
+based on the value of the \type{\pdfgamma} primitive and the `assumed
+device gamma' that is derived from the value embedded in the actual
+image. If no embedded value can be found in the \PNG\ image, then the
+value of \type{\pdfimagegamma} is used instead.
+If specified, the parameter must appear before any data is written to the
+\PDF\ output.
+\introduced{1.30.0}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfimagegamma} \Whatever{integer}}}
+
+\bookmark{\type{\pdfimagegamma}}
+
+This primitive gives a~default `assumed gamma' value for \PNG\ images.
+Values are in promilles (same as for \type{\pdfamma}). The default value
+of this primitive is~2200, implying an assumed gamma value of~2.2.
+
+When \PDFTEX\ is applying gamma corrections, images that do not have an
+embedded `assumed gamma' value are assumed to have been created for
+a~device with a~gamma of 2.2. Experiments show that this default setting
+is correct for a~large number of images; however, if your images come
+out too dark, you probably want to set \type{\pdfimagegamma} to a~lower
+value, like~1000.
+If specified, the parameter must appear before any data is written to the
+\PDF\ output.
+\introduced{1.30.0}
+
+%***********************************************************************
+
+\subsection{Annotations}
+
+\PDF\ 1.4 provides four basic kinds of annotations:
+
+\startitemize[packed]
+\item hyperlinks, general navigation
+\item text clips (notes)
+\item movies
+\item sound fragments
+\stopitemize
+
+The first type differs from the other three in that there is a~designated
+area involved on which one can click, or when moved over some action occurs.
+\PDFTEX\ is able to calculate this area, as we will see later. All
+annotations can be supported using the next two general annotation
+primitives.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfannot} \Something{annot type spec}}}
+
+\bookmark{\type{\pdfannot}}
+
+This command appends a~whatsit node corresponding to an annotation to the
+list being built. The dimensions of the annotation can be controlled via the
+\Something{rule spec}. The default values are running for all width, height
+and depth. When an annotation is written out, running dimensions will take
+the corresponding values from the box containing the whatsit node
+representing the annotation. The \Something{general text} is inserted as raw
+\PDF\ code to the contents of annotation. The annotation is written out only
+if the corresponding whatsit node is searched at shipout time.
+
+\pdftexprimitive {\Syntax {\Tex {\pdflastannot} \Whatever{read||only
+integer}}}
+
+\bookmark{\type{\pdflastannot}}
+
+This primitive returns the object number of the last annotation created by
+\type{\pdfannot}. These two primitives allow users to create any annotation
+that cannot be created by \type{\pdfstartlink} (see below).
+
+%***********************************************************************
+
+\subsection[linking]{Destinations and links}
+
+The first type of annotation, mentioned above, is implemented by three
+primitives. The first one is used to define a~specific location as being
+referred to. This location is tied to the page, not the exact location on the
+page. The main reason for this is that \PDF\ maintains a~dedicated list of
+these annotations |<|and some more when optimized|>| for the sole purpose of
+speed.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfdest} \Something{dest spec}}}
+
+\bookmark{\type{\pdfdest}}
+
+This primitive appends a~whatsit node which establishes a~destination for
+links and bookmark outlines; the link is identified by either a~number or
+a~symbolic name, and the way the viewer is to display the page must be
+specified in \Something{dest type}\unkern, which must be one of those mentioned in
+\in{table}[appearance].
+
+\startbuffer
+\starttabulate[|l|l|]
+\HL
+\NC \bf keyword \NC \bf meaning \NC\NR
+\HL
+\NC \tt fit \NC fit the page in the window \NC\NR
+\NC \tt fith \NC fit the width of the page \NC\NR
+\NC \tt fitv \NC fit the height of the page \NC\NR
+\NC \tt fitb \NC fit the \quote{Bounding Box} of the page \NC\NR
+\NC \tt fitbh \NC fit the width of \quote{Bounding Box} of the page \NC\NR
+\NC \tt fitbv \NC fit the height of \quote{Bounding Box} of the page \NC\NR
+\NC \tt xyz \NC goto the current position (see below) \NC\NR
+\HL
+\stoptabulate
+\stopbuffer
+
+\placetable
+ [here][appearance]
+ {Options for display of outline and destinations.}
+ {\getbuffer}
+
+The specification \Literal {xyz} can optionally be followed by \Literal
+{zoom} \Something{integer} to provide a~fixed zoom||in. The \Something
+{integer} is processed like \TEX\ magnification, i.\,e.\ 1000 is the
+normal page view. When \Literal {zoom} \Something{integer} is given,
+the zoom factor changes to 0.001 of the \Something{integer} value,
+otherwise the current zoom factor is kept unchanged.
+
+The destination is written out only if the corresponding whatsit node is
+searched at shipout time.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfstartlink} \Optional{\Something{rule
+spec}} \Optional{\Something{attr spec}} \Something{action spec}}}
+
+\bookmark{\type{\pdfstartlink}}
+
+This primitive is used along with \type{\pdfendlink} and appends a~whatsit
+node corresponding to the start of a~hyperlink. The whatsit node representing
+the end of the hyperlink is created by \type{\pdfendlink}. The dimensions of
+the link are handled in the similar way as in \type{\pdfannot}. Both \type
+{\pdfstartlink} and \type{\pdfendlink} must be in the same level of box
+nesting. A~hyperlink with running width can be multi||line or even
+multi||page, in which case all horizontal boxes with the same nesting level
+as the boxes containing \type{\pdfstartlink} and \type{\pdfendlink} will be
+treated as part of the hyperlink. The hyperlink is written out only if the
+corresponding whatsit node is searched at shipout time.
+
+Additional attributes, which are explained in great detail in the \PDF\
+Reference Manual, can be given via \Something{attr spec}\unkern. Typically, the
+attributes specify the color and thickness of any border around the link.
+Thus \typ {/C [0.9 0 0] /Border [0 0 2]} specifies a~color (in \RGB) of dark
+red, and a~border thickness of 2~points.
+
+While all graphics and text in a~\PDF\ document have relative positions,
+annotations have internally hard||coded absolute positions. Again this
+is for the sake of speed optimization. The main disadvantage is that these
+annotations do {\em not} obey transformations issued by \type
+{\pdfliteral}'s.
+
+The \Something{action spec} specifies the action that should be performed
+when the hyperlink is activated while the \Something{user-action spec}
+performs a~user||defined action. A~typical use of the latter is to specify
+a~\URL, like \typ {/S /URI /URI (http://www.tug.org/)}, or a~named action like
+\typ {/S /Named /N /NextPage}.
+
+ A~\Something{goto-action spec} performs a~GoTo action. Here \Something
+{numid} and \Something{nameid} specify the destination identifier (see
+below). The \Something{page spec} specifies the page number of the
+destination, in this case the zoom factor is given by \Something{general
+text}\unkern. A~destination can be performed in another \PDF\ file by specifying
+\Something{file spec}\unkern, in which case \Something{newwindow spec} specifies
+whether the file should be opened in a~new window. A~\Something{file spec}
+can be either a~\type{(string)} or a~\type{<<dictionary>>}. The default
+behaviour of the \Something{newwindow spec} depends on the browser setting.
+
+ A~\Something{thread-action spec} performs an article thread reading. The
+thread identifier is similar to the destination identifier. A~thread can be
+performed in another \PDF\ file by specifying a~\Something{file spec}\unkern.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfendlink}}}
+
+\bookmark{\type{\pdfendlink}}
+
+This primitive ends a~link started with \type{\pdfstartlink}. All text
+between \type{\pdfstartlink} and \type{\pdfendlink} will be treated as part
+of this link. \PDFTEX\ may break the result across lines (or pages), in which
+case it will make several links with the same content.
+
+\pdftexprimitive {\Syntax {\Tex {\pdflinkmargin} \Whatever{dimension}}}
+
+\bookmark{\type{\pdflinkmargin}}
+
+This dimension parameter specifies the margin of the box representing
+a~hyperlink and is read when a~page containing hyperlinks is shipped out.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfdestmargin} \Whatever{dimension}}}
+
+\bookmark{\type{\pdfdestmargin}}
+
+Margin added to the dimensions of the rectangle around the destinations.
+
+%***********************************************************************
+
+\subsection{Bookmarks}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfoutline}
+\Optional{\Something{attr spec}} \Something{action spec}
+\Optional{\Literal {count} \Something{integer}} \Something{general text}}}
+
+\bookmark{\type{\pdfoutline}}
+
+This primitive creates an outline (or bookmark) entry. The first parameter
+specifies the action to be taken, and is the same as that allowed for \type
+{\pdfstartlink}. The \Something{count} specifies the number of direct
+subentries under this entry; specify~0 or omit it if this entry has no
+subentries. If the number is negative, then all subentries will be closed and
+the absolute value of this number specifies the number of subentries. The
+\Something{text} is what will be shown in the outline window. Note that this
+is limited to characters in the \PDF\ Document Encoding vector. The outline
+is written to the \PDF\ output immediately.
+
+%***********************************************************************
+
+\subsection{Article threads}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfthread}
+\Optional{\Something{rule spec}} \Optional
+{\Something{attr spec}} \Something{id spec}}}
+
+\bookmark{\type{\pdfthread}}
+
+Defines a~bead within an article thread. Thread beads with same
+identifiers (spread across the document) will be joined together.
+
+\pdftexprimitive {\Syntax {\Tex {\pdftstarthread}
+\Optional{\Something{rule spec}} \Optional
+{\Something{attr spec}} \Something{id spec}}}
+
+\bookmark{\type{\pdfstartthread}}
+
+This uses the same syntax as \type{\pdfthread}, apart that it must be
+followed by a~\type{\pdfendthread}. \type{\pdfstartthread} and the
+corresponding \type{\pdfendthread} must end up in vboxes with the same
+nesting level; all vboxes between them will be added into the thread.
+Note that during output runtime if there are other newly created
+boxes which have the same nesting level as the vbox/vboxes containing
+\type{\pdfstartthread} and \type{\pdfendthread}, they will be also added
+into the thread, which is probably not what you want. To avoid such
+unconsidered behaviour, it's often enough to wrap boxes that shouldn't
+belong to the thread by a~box to change their box nesting level.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfendthread}}}
+
+\bookmark{\type{\pdfendthread}}
+
+This ends an article thread started before by \type{\pdfstartthread}.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfthreadmargin} \Whatever{dimension}}}
+
+\bookmark{\type{\pdfthreadmargin}}
+
+Specifies a~margin to be added to the dimensions of a~bead within
+an article thread.
+
+%***********************************************************************
+
+\subsection{Literals and specials}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfliteral } \Optional{\Literal {direct}}
+\Something{general text}}}
+
+\bookmark{\type{\pdfliteral}}
+
+Like \type{\special} in normal \TEX, this command inserts raw \PDF\ code
+into the output. This allows support of color and text transformation. This
+primitive is heavily used in the \METAPOST\ inclusion macros. Normally
+\PDFTEX\ ends a~text section in the \PDF\ output and resets the
+transformation matrix before inserting \Something{general text}\unkern, however this
+can be turned off by giving the optional keyword \Literal {direct}. This
+command appends a~whatsit node to the list being built. \Something{general
+text} is expanded when the whatsit node is created and not when it is shipped
+out, as with \type{\special}.
+
+% HE: \unkern is a kludge here; wanted to have tight "{pdf:"
+\pdftexprimitive {\Syntax {\Tex {\special} \Lbrace\unkern\type{pdf:} \Something{text} \Rbrace}}
+
+\bookmark{\type{\special}}
+
+This is equivalent to \Syntax{\Tex{\pdfliteral} \Lbrace \Something{text} \Rbrace}.
+
+\pdftexprimitive {\Syntax {\Tex {\special} \Lbrace\unkern\type{pdf:direct:} \Something{text} \Rbrace}}
+
+\bookmark{\type{\special\ direct}}
+
+This is equivalent to \Syntax{\Tex{\pdfliteral} \Literal{direct} \Lbrace \Something{text} \Rbrace}.
+
+%***********************************************************************
+
+\subsection{Strings}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfescapestring} \Something {general text}}}
+
+\bookmark{\type{\pdfescapestring}}
+
+Starting from version 1.30.0, \PDFTEX\ provides a~mechanism for converting
+a~general text into \PDF\ string. Many characters that may be needed inside
+such a~text (especially parenthesis), have a~special meaning inside a~\PDF\
+string object and thus, can't be used literally. The primitive replaces each
+special \PDF\ character by its literal representation by inserting a~backslash
+before that character. Some characters (\eg space) are also converted into
+3||digit octal number. In example, \type{\pdfescapestring{Text (1)}} will be
+expanded to \type{Text\040\(1\)}. This ensures a~literal interpretation of the
+text by the \PDF\ viewer.
+\introduced{1.30.0}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfescapename} \Something {general text}}}
+
+\bookmark{\type{\pdfescapename}}
+
+In analogy to \type{\pdfescapestring}, \type{\pdfescapename} replaces each
+special \PDF\ character inside the general text by its hexadecimal
+representation preceded by \type{#} character. This ensures the proper
+interpretation of the text if used as a~\PDF\ name object. In example,
+\type{Text (1)} will be replaced by \type{Text#20#281#29}.
+\introduced{1.30.0}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfescapehex} \Something {general text}}}
+
+\bookmark{\type{\pdfescapehex}}
+
+This command converts each character of \Something{general text} into its
+hexadecimal representation. Each character of the argument becomes a~pair of
+hexadecimal digits. \introduced{1.30.0}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfunescapehex} \Something {general text}}}
+
+\bookmark{\type{\pdfunescapehex}}
+
+This command treats each character pair of \Something {general text} as
+a~hexadecimal number and returns an \ASCII\ character of this code.
+\introduced{1.30.0}
+
+% Currently it's only experimental, so don't really document it
+\iffalse
+\pdftexprimitive {\Syntax {\Tex {\pdfstrcmp} \Something{general text}
+\Something{general text} \Whatever{expandable}}}
+
+\bookmark{\type{\pdfstrcmp}}
+
+This command compares two strings and expands to 0 if the strings are
+equal, to $-1$ if the first string is $<$ then the second, and to $+1$ if
+the first is $>$ than the second.
+\introduced{1.30.0}
+\fi
+
+\pdftexprimitive{\Syntax {\Tex {\pdfmdfivesum} \Something{general text}
+\Whatever{expandable}}}
+
+\bookmark{\type{\pdfmdfivesum}}
+
+This command expands to the \MDFIVE\ of \Something{general text} in uppercase
+hexadecimal format (same as \type{\pdfescapehex}).
+\introduced{1.30.0}
+
+%***********************************************************************
+
+\subsection{Timekeeping}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfelapsedtime}} \Whatever{read||only
+integer}}
+
+\bookmark{\type{\pdfelapsedtime}}
+
+The command expands to a~number that represents the time elapsed from the
+moment of run start. The elapsed time is returned in `scaled seconds', that
+means seconds divided by 65536, \eg\ \PDFTEX\ has run for \the\pdfelapsedtime\
+`scaled seconds' when this paragraph was typeset. Obviously, the command will
+never return a value greater than the highest number available in \TeX: if
+the time exceeds 32767 seconds, the constant value $2^{31}-1$ will be returned.
+\introduced{1.30.0}
+
+\pdftexprimitive{\type{\pdfresettimer}}
+
+\bookmark{\type{\pdfresettimer}}
+
+The command resets the internal timer so that \type{\pdfelapsedtime}
+starts returning micro||time from~0 again. \introduced{1.30.0}
+
+%***********************************************************************
+
+\subsection{Random numbers}
+
+\pdftexprimitive{\Syntax {\Tex {\pdfuniformdeviate} \Something{number} \Whatever{expandable}}}
+
+\bookmark{\type{\pdfuniformdeviate}}
+
+The commands generates a uniformly distributed random integer value between
+0 (inclusive) and \Something{number} (exclusive). This primitive expands to
+a list of tokens. \introduced{1.30.0}
+
+\pdftexprimitive{\Syntax {\Tex {\pdfnormaldeviate} \Whatever{expandable}}}
+
+\bookmark{\type{\pdfnormaldeviate}}
+
+%MS Hopefully the random number doesn't influce the length of this paragraph;
+%MS otherwise texexec could loop :-)
+The commands generates a random integer value with a mean of 0 and a unit
+of 65\,536, \eg\ $\pdfnormaldeviate$. This primitive expands to a list of
+tokens. \introduced{1.30.0}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfrandomseed}} \Whatever{read||only
+integer}}
+
+\bookmark{\type{\pdfrandomseed}}
+
+You can use \type{\the\pdfrandomseed} to query the current seed value, so
+you can \eg\ write the value to the log file.
+The initial value of the seed is derived from the system time, and is not
+more than 1\,000\,999\,999 (this ensures that the value can be used with
+commands like \type{\count}). \introduced{1.30.0}
+
+\pdftexprimitive{\Syntax {\Tex {\pdfsetrandomseed} \Something{number}}}
+
+\bookmark{\type{\pdfsetrandomseed}}
+
+This sets the random seed (\type{\pdfrandomseed}) to a specific value,
+allowing you to re-play sequences of semi-randoms at a later moment.
+\introduced{1.30.0}
+
+%***********************************************************************
+
+\subsection{Files}
+
+\pdftexprimitive{\Syntax {\Tex {\pdffilemoddate} \Something{general text}
+\Whatever{expandable}}}
+
+\bookmark{\type{\pdffilemoddate}}
+
+Expands to the modification date of file \Something{general text} in the same
+format as for \type{\pdfcreationdate}, \eg\ it's {\tt \pdffilemoddate
+{./pdftex-t.tex}} for the source of this manual.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax {\Tex {\pdffilesize} \Something{general text}
+\Whatever{expandable}}}
+
+\bookmark{\type{\pdffilesize}}
+
+Expands to the size of file \Something{general text}, \eg\ it's {\tt
+\pdffilesize {./pdftex-t.tex}} for the source of this manual.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax {\Tex {\pdfmdfivesum} file \Something{general text}
+\Whatever{expandable}}}
+
+\bookmark{\type{\pdfmdfivesum\ file}}
+
+Expands to the \MDFIVE\ of file \Something{general text} in uppercase
+hexadecimal format (same as \type{\pdfescapehex}), \eg\ it's {\tt
+\pdfmdfivesum file {./pdftex-t.tex}} for the source of this manual.
+\introduced{1.30.0}
+
+\pdftexprimitive{\Syntax {\Tex {\pdffiledump} \Optional{offset
+\Something{number}} \Optional{length \Something{number}} \Something{general
+text} \Whatever{expandable}}}
+
+\bookmark{\type{\pdffiledump}}
+
+Expands to the dump of the file \Something{general text} in uppercase
+hexadecimal format (same as \type{\pdfescapehex}), starting at offset
+\Something{number} or 0 with length \Something{number}, if given. The first ten
+bytes of the source of this manual are {\tt \pdffiledump length 10
+{./pdftex-t.tex}}. \introduced{1.30.0}
+
+%***********************************************************************
+
+\subsection{Miscellaneous}
+
+\pdftexprimitive {\Syntax {\Tex {\vadjust}
+ \Optional{\Something{pre spec}} \Something{filler}
+ \Lbrace \Something{vertical mode material} \Rbrace }}
+
+\bookmark{\type{\vadjust}}
+
+The \type{\vadjust} implementation of \PDFTEX\ adds an optional
+qualifier \Something{pre spec} (which is the string \type{pre}) to
+the original \TEX\ primitive with the same name. As long as there is
+no \type{pre} given, \type{\vadjust} behaves exactly as the original
+(see the \TEX book, p.~281); it appends an adjustment item created
+from \Something{vertical mode material} to the current list {\em after}
+the line in which \type{\vadjust} appears. However with the qualifier
+\type{pre}, the adjustment item is put {\em before} the line in which
+\type{\vadjust pre} appears.
+
+\pdftexprimitive {\Syntax {\Tex {\pdfsavepos}}}
+
+\bookmark{\type{\pdfsavepos}}
+
+This primitive marks the current absolute ($x,y$) position on the
+media, with the reference point in the lower left corner. It is active
+only during page shipout, when the page is finally assembled. The
+position coordinates can then be retrieved by the \type{\pdflastxpos}
+and \type{\pdflastypos} primitives, and \eg\ written out to some
+auxiliary file. The coordinates can be used only after the current
+\type{\shipout} has been finalized, therefore normally two \PDFTEX\
+runs are required to utilize these primitives.
+
+\pdftexprimitive {\Syntax {\Tex {\pdflastxpos}} \Whatever{read||only
+integer}}
+
+\bookmark{\type{\pdflastxpos}}
+
+This primitive returns an integer number representing the absolute $x$
+coordinate of the last point marked by \type{\pdfsavepos}. The unit is
+`scaled points' (sp).
+
+\pdftexprimitive {\Syntax {\Tex {\pdflastypos}} \Whatever{read||only
+integer}}
+
+\bookmark{\type{\pdflastypos}}
+
+This primitive works similar to \type{\pdflastxpos}, only it returns
+the $y$ coordinate.
+
+\pdftexprimitive {\Syntax {\Tex {\pdftexversion} \Whatever{read||only integer}}}
+
+\bookmark{\type{\pdftexversion}}
+\def\versplit#1#2#3{#1.#2#3}
+
+Returns the version of \PDFTEX\ multiplied by 100, \eg\ for \PDFTEX\
+version \expandafter\versplit\the\pdftexversion.\pdftexrevision\ used to
+produce this document, it returns {\tt \number\pdftexversion}.
+
+\pdftexprimitive {\Syntax {\Tex {\pdftexrevision} \Whatever{expandable}}}
+
+\bookmark{\type{\pdftexrevision}}
+
+Returns the revision letter of \PDFTEX, \eg\ for \PDFTEX\ version
+\expandafter\versplit\the\pdftexversion.\pdftexrevision\ used to produce
+this document, it returns the letter {\tt \pdftexrevision}.
+
+\pdftexprimitive {\Syntax {\Tex {\pdftexbanner} \Whatever{expandable}}}
+
+\bookmark{\type{\pdftexbanner}}
+
+Returns the \PDFTEX\ banner message, \eg\ for the version used here:
+{\tt \pdftexbanner}. \introduced{1.20a}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfcreationdate} \Whatever{expandable}}}
+
+\bookmark{\type{\pdfcreationdate}}
+
+Expands to the date string \PDFTEX\ uses in the info dictionary of the
+document, \eg\ for this file {\tt\pdfcreationdate}. \introduced{1.30.0}
+
+\pdftexprimitive {\Syntax {\Tex {\pdfshellescape} \Whatever{read||only
+integer}}}
+
+\bookmark{\type{\pdfshellescape}}
+
+This primitive is~1 if \type{\write18} is enabled, 0 otherwise.
+\type{\write18} was \ifnum\pdfshellescape=0\relax not \fi enabled when this
+manual was typeset.
+\introduced{1.30.0}
+
+%***********************************************************************
+
+\section{Graphics and color}
+
+\PDFTEX\ supports inclusion of pictures in \PNG, \JPEG, and \PDF\ format;
+ a~few differences between these are discussed below. The most common
+technique with \TEX\ |<|the inclusion of \EPS\ figures|>| is replaced by
+\PDF\ inclusion. \EPS\ files can be converted to \PDF\ by \GHOSTSCRIPT,
+Adobe Distiller or other \POSTSCRIPT||to||\PDF\ converters.
+
+The \PDF\ format is currently the most versatile source format for
+graphics embedding. \PDFTEX\ allows to insert arbitrary pages from
+\PDF\ files with their own fonts, graphics, and pixel images into
+a~document. The cover page of this manual is an example of such an insert,
+being a~one page document generated by \PDFTEX.
+
+By default \PDFTEX\ takes the BoundingBox of a~\PDF\ file from its CropBox
+if available, otherwise from its MediaBox. This can be influenced by
+the \Something{pdf box spec} option to the \type{\pdfximage} primitive,
+or by setting the \type{\pdfforcepagebox} primitive to
+a~value corresponding to the wanted box type.
+
+To get the right BoundingBox from a~\EPS\ file, before converting to \PDF,
+it is necessary to transform the \EPS\ file so that the start point is
+at the (0,0)~coordinate and the page size is set exactly corresponding
+to the BoundingBox. A~\PERL\ script (\EPSTOPDF) for this purpose has been
+written. The \TEXUTIL\ utility script and the \PSTOPDF\ program that comes
+with \GHOSTSCRIPT\ can so a~similar job. (Concerning this conversion,
+they can handle complete directories, remove some garbage from files,
+takes precautions against duplicate conversion, etc.)
+
+The lossless compressing \PNG\ format is great for embedding crisp pixel
+graphics (\eg\ line scans, screen shots). Since \PDFTEX\ 1.30.0 also the
+alpha-channel of \PNG\ images is processed if available; this allows
+embedding of images with simple transparency. The \PNG\ format does not
+support the CMYK color model, which is sometimes required for print media
+(this often can be replaced by four component \JPEG\ in high quality or
+lossless compression mode). Photos in \PNG\ format have a~rather weak
+compression; here the \JPEG\ format is preferable.
+
+Embedding \PNG\ images in the general case requires \PDFTEX\ to uncompress
+the pixel array and to re||compress it to the \PDF\ requirements; this
+process often takes a~noticeable amount of time. Since \PDFTEX\ 1.30.0
+there is now a~fast \PNG\ embedding mode that goes without uncompressing;
+the image data are directly copied into the \PDF\ stream, resulting in
+ a~much higher embedding speed. However this mode is only activated, if
+the image array structure of the \PNG\ file is compatible with the \PDF\
+image structure (\eg\ an interlaced \PNG\ image requires uncompressing to
+re||arrange the image lines). Luckily it seems that the most common \PNG\
+files also allow fast copying. The use of gamma correction disables fast
+copying, as it requires calculations with individual pixels. Whether the
+fast copy mode is used for a~\PNG\ image can be seen from the log file,
+which then shows the string `(PNG copy)' after the \PNG\ file name.
+
+The \JPEG\ format is normally used in lossy mode; then it's ideal for
+embedding photos; it's not recommended for crisp images from synthetic
+sources with a~limited amount of colors.
+
+Other options for graphics in \PDFTEX\ are:
+
+\description {\LATEX\ picture mode} Since this is implemented simply in terms
+of font characters, it works in exactly the same way as usual.
+
+\description {Xy||pic} If the \POSTSCRIPT\ back||end is not requested, Xy||pic
+uses its own Type~1 fonts, and needs no special attention.
+
+\description {tpic} The \quote {tpic} \type{\special} commands (used in some
+macro packages) can be redefined to produce literal \PDF, using some macros
+written by Hans Hagen.
+
+\description {\METAPOST} Although the output of \METAPOST\ is \POSTSCRIPT,
+it is in a~highly simplified form, and a~\METAPOST\ to \PDF\ conversion
+(\MPTOPDF, written by Hans Hagen and Tanmoy Bhattacharya) is implemented
+as a~set of macros which reads \METAPOST\ output and supports all of
+its features.
+
+For new work, the \METAPOST\ route is highly recommended. For the future,
+Adobe has announced that they will define a~specification for \quote
+{encapsulated \PDF}.
+
+The inclusion of raw \POSTSCRIPT\ commands |<|a technique utilized
+by for instance the \type{pstricks} package|>| cannot directly be
+supported. Although \PDF\ is direct a~descendant of \POSTSCRIPT, it
+lacks any programming language commands, and cannot deal with arbitrary
+\POSTSCRIPT.
+
+%***********************************************************************
+
+\section{Character translation}
+
+Characters that are input to \PDFTEX\ are subject to optional
+\TEX\ character translation (\TCX) under control of a~\TCX\ file.
+The \TCX\ maps the input character codes (\eg\ from \type{\input} or
+\type{\read}) to the character codes as seen by \PDFTEX. This mapping
+takes place before the characters enter \PDFTEX's `mouth'. If no \TCX\
+file is read, the input characters enter \PDFTEX\ directly; no mapping
+is done.
+
+\TCX\ files consist of lines each containing one or two integer numbers
+in the range 0..255, either in decimal or hex notation.
+% strtol() C-function
+ A~comment sign \type{%} in a~\TCX\ line starts a~comment until the
+end of line. The first number in each line is for matching the input
+character code, the second, optional number is the corresponding \TEX\
+character code. If a~line contains only one number, characters with
+this code enter \PDFTEX\ unchanged; no mapping is done.
+
+\TCX\ mapping also influences \PDFTEX\ output streams for \type{\message} and
+\type{\write}. Without \TCX\ mapping, only characters that are within
+the range 32..126 are flagged as `printable', meaning that these
+characters are output directly by \type{\message} and \type{\write}
+primitives. Characters outside the range 32..126 are instead output
+in escaped form, \eg\ as \type{^^A} for a~character with code
+\type{0x01}. When a~character code is mentioned in the 2nd column of the
+\TCX\ file, or as the only value in a~line, it is flagged as `printable'.
+During \type{\message} and \type{\write}, output characters are mapped
+in reverse direction: they are looked up in the 2nd column of the \TCX\
+file and the corresponding values from the 1st column are output. Again,
+if a~\PDFTEX\ character code is found as the only number in a~line, no
+mapping is done. Mentioning a~character code as the only number on
+a~line has the sole purpose to flag this code `printable'; remember that
+character within the range 32..126 are `printable' anyway.
+
+The characters output into the \PDF\ file, \eg\ by \type{\pdfliteral}
+or \type{\special} primitives, are not subject to \TCX\ output remapping.
+
+Beware: Character translation interferes with the \ENCTEX\ primitives; to
+avoid surprises, don't use \ENCTEX\ and \TCX\ mapping at the same time.
+Further details about \TCX\ file loading can be found in the \TETEX\
+manual.
+
+%***********************************************************************
+
+\section{Limitations of \PDFTEX}
+
+\PDFTEX\ currently lacks a~colorstack.
+This can be overcome by the \type{pdfcolmk} package.
+
+%***********************************************************************
+
+\stopbodymatter
+
+%D We did use some abbreviations. Only those really used will end up in the
+%D following list.
+
+\startbackmatter
+
+\writebetweenlist[section]{\blank[line]}
+
+%***********************************************************************
+
+\section{Abbreviations}
+
+In this document we used a~few abbreviations. For convenience we mention
+their meaning here.
+
+\placelistofabbreviations
+
+%***********************************************************************
+
+\start \setupalign[nothanging,nohz]
+
+\section{Examples of HZ and protruding}
+
+In the following sections we will demonstrate \PDFTEX's protruding and
+\HZ\ features, using a~text from E.~Tufte. This sample text has a~lot
+of punctuation and often needs hyphenation. Former \PDFTEX\ versions
+had sometimes problems with combining these features, but from version
+1.21a on it should be ok. If you still encounter problems, please try
+to prepare a~small test file that demonstrates the problem and send it
+to one of the maintainers.
+
+\startbuffer
+ \input tufte
+ \blank
+ \startcolumns
+ \input tufte
+ \stopcolumns
+\stopbuffer
+
+\subsection{Normal} \start \getbuffer \stop
+\subsection{HZ} \start \setupalign[hz] \getbuffer \stop
+\subsection{Protruding} \start \setupalign[hanging] \getbuffer \stop
+\subsection{Both} \start \setupalign[hz,hanging] \getbuffer \stop
+
+\stop
+
+%***********************************************************************
+
+\section{Additional \PDF\ keys}
+
+{\em This section is based on the manual on keys written by Martin
+Schr\"oder, one of the maintainers of \PDFTEX.}
+
+ A~\PDF\ document should contain only the structures and attributes defined
+in the \PDF\ specification. However, the specification allows applications
+to insert additional keys, provided they follow certain rules.
+
+The most important rule is that developers have to register with Adobe
+prefixes for the keys they want to insert. Hans Hagen has registered the
+prefix \type {PTEX} for \PDFTEX.
+
+\PDFTEX\ generates an XObject for every included \PDF. The dictionary of
+this object contains these additional keys:
+
+\starttabulate[|lT|l|p|]
+\HL
+\NC \bf key \NC \bf type \NC meaning \NC \NR
+\HL
+\NC PTEX.FileName \NC string \NC The name of the included file as seen by
+ \PDFTEX. \NC \NR
+\NC PTEX.InfoDict \NC dictionary \NC The document information dictionary of the included
+ \PDF\ (an indirect object). \NC \NR
+\NC PTEX.PageNumber \NC integer \NC The page number of the included file. \NC \NR
+\HL
+\stoptabulate
+
+The \PDF\ reference manual says: \quotation {Although viewer applications
+can store custom metadata in the document information dictionary, it is
+inappropriate to store private content or structural information there;
+such information should be stored in the document catalog instead.}
+
+Although it would seem more natural to put this infomation in the document
+information dictionary, we have to obey the rules laid down in the \PDF\
+reference. The following key ends up in the document catalog.
+
+\starttabulate[|lT|l|p|]
+\HL
+\NC \bf key \NC \bf type \NC meaning \NC \NR
+\HL
+\NC PTEX.Fullbanner \NC string \NC The full version of the \pt binary that
+produced the file as displayed by \typ {pdftex --version}, \eg\
+{\tt\pdftexbanner}. This is necessary because the string in the
+\type {Producer} key in the info dictionary is rather short,
+\eg\ {\tt pdfeTeX-\currentpdftex}. \NC \NR
+\HL
+\stoptabulate
+
+%***********************************************************************
+
+\section{Colophon}
+
+This manual is typeset in \CONTEXT. One can generate an A4 version from
+the source code by typing:
+
+\starttyping
+texexec --result=pdftex-a.pdf pdftex-t
+\stoptyping
+
+Or in letter size:
+
+\starttyping
+texexec --mode=letter --result=pdftex-l.pdf pdftex-t
+\stoptyping
+
+Given that the A4 version is typeset, one can generate an A5 booklet by
+typing:
+
+\starttyping
+texexec --pdfarrange --paper=a5a4 --print=up --addempty=1,2
+ --result=pdftex-b.pdf pdftex-a
+\stoptyping
+
+Odd and even page sets for non-duplex printers can be generated using
+\type{--pages=odd} and \type{--pages=even} options
+(which might require some disciplined shuffling of sheet).
+
+This also demonstrates that \PDFTEX\ can be used for page imposition
+purposes (given that \PDFTEX\ and the fonts are set up properly).
+
+%***********************************************************************
+
+\page
+
+% The next section is sponsored by the paper producing industry -)
+% I will make this proper \quotation's some day
+
+\definehead[gnusection][subsection]
+\definehead[gnusubject][subsubject]
+
+\setuphead[gnusection,gnusubject][style=\bfa,before=\blank,after=\blank,align={right,broad,nothyphenated}]
+
+\setuphead[gnusection][ownnumber=yes]
+
+\section{GNU Free Documentation License}
+
+\startnotmode[screen]
+ \switchtobodyfont[7pt]
+ \setuplayout[grid=yes]
+ \setupcolumns[n=3]
+\stopnotmode
+
+\startmode[screen]
+ \setupcolumns[n=2]
+\stopmode
+
+\startcolumns[tolerance=verytolerant,distance=12pt] \widowpenalty10000 \clubpenalty10000
+
+\startlines
+Version 1.2, November 2002
+Copyright \copyright\ 2000, 2001, 2002
+Free Software Foundation, Inc.
+59 Temple Place, Suite 330,
+Boston, MA 02111-1307 USA
+\stoplines
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+\gnusubject{Preamble}
+
+The purpose of this License is to make a~manual, textbook, or other
+functional and useful document ``free'' in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a~way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a~kind of ``copyleft'', which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a~copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a~free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a~printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+\gnusection{1}{APPLICABILITY AND DEFINITIONS}
+
+This License applies to any manual or other work, in any medium, that
+contains a~notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a~notice grants
+a~world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The {\bf ``Document''}, below,
+refers to any such manual or work. Any member of the public is
+a~licensee, and is addressed as {\bf ``you''}. You accept the license if you
+copy, modify or distribute the work in a~way requiring permission
+under copyright law.
+
+ A~{\bf ``Modified Version''} of the Document means any work containing the
+Document or a~portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+ A~{\bf ``Secondary Section''} is a~named appendix or a~front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject. (Thus, if the Document is in part
+a~textbook of mathematics, a~Secondary Section may not explain any
+mathematics.) The relationship could be a~matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The {\bf ``Invariant Sections''} are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If
+a~section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The {\bf ``Cover Texts''} are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A~Front-Cover Text may
+be at most 5 words, and a~Back-Cover Text may be at most 25 words.
+
+ A~{\bf ``Transparent''} copy of the Document means a~machine-readable copy,
+represented in a~format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a~variety of formats suitable for input
+to text formatters. A~copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A~copy that is not ``Transparent'' is called {\bf ``Opaque''}.
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a~publicly available DTD, and standard-conforming simple
+HTML, \POSTSCRIPT\ or \PDF\ designed for human modification. Examples of
+transparent image formats include PNG, XCF and JPG. Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, \POSTSCRIPT\ or \PDF\ produced by some word
+processors for output purposes only.
+
+The {\bf ''Title Page''} means, for a~printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, ``Title Page'' means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+ A~section {\bf ``Entitled XYZ''} means a~named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for
+a~specific section name mentioned below, such as {\bf ``Acknowledgements''},
+{\bf ``Dedications''}, {\bf ``Endorsements''}, or {\bf ``History''}.)
+To {\bf ``Preserve the Title''}
+of such a~section when you modify the Document means that it remains
+a~section ``Entitled XYZ'' according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+
+\gnusection{2}{VERBATIM COPYING}
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a~large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+\gnusection{3}{COPYING IN QUANTITY}
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a~machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+ a~computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+ a~complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a~chance to provide you with an updated version of the Document.
+
+
+\gnusection{4}{MODIFICATIONS}
+
+You may copy and distribute a~Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a~copy
+of it. In addition, you must do these things in the Modified Version:
+
+\startitemize[A,packed]
+\item
+ Use in the Title Page (and on the covers, if any) a~title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a~previous version
+ if the original publisher of that version gives permission.
+
+\item
+ List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has fewer than five),
+ unless they release you from this requirement.
+
+\item
+ State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+
+\item
+ Preserve all the copyright notices of the Document.
+
+\item
+ Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+
+\item
+ Include, immediately after the copyright notices, a~license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+
+\item
+ Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+
+\item
+ Include an unaltered copy of this License.
+
+\item
+ Preserve the section Entitled ``History'', Preserve its Title, and add
+ to it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section Entitled ``History'' in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+
+\item
+ Preserve the network location, if any, given in the Document for
+ public access to a~Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the ``History'' section.
+ You may omit a~network location for a~work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+
+\item
+ For any section Entitled ``Acknowledgements'' or ``Dedications'',
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+
+\item
+ Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+
+\item
+ Delete any section Entitled ``Endorsements''. Such a~section
+ may not be included in the Modified Version.
+
+\item
+ Do not retitle any existing section to be Entitled ``Endorsements''
+ or to conflict in title with any Invariant Section.
+
+\item
+ Preserve any Warranty Disclaimers.
+\stopitemize
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a~section Entitled ``Endorsements'', provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of
+a~standard.
+
+You may add a~passage of up to five words as a~Front-Cover Text, and
+a~passage of up to 25 words as a~Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a~cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+\gnusection{5}{COMBINING DOCUMENTS}
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a~single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a~unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled ``History''
+in the various original documents, forming one section Entitled
+``History''; likewise combine any sections Entitled ``Acknowledgements'',
+and any sections Entitled ``Dedications''. You must delete all sections
+Entitled ``Endorsements''.
+
+\gnusection{6}{COLLECTIONS OF DOCUMENTS}
+
+You may make a~collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a~single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a~single document from such a~collection, and distribute
+it individually under this License, provided you insert a~copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+\gnusection{7}{AGGREGATION WITH INDEPENDENT WORKS}
+
+ A~compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a~volume of a~storage or
+distribution medium, is called an ``aggregate'' if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+\gnusection{8}{TRANSLATION}
+
+Translation is considered a~kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include
+a~translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a~disagreement between
+the translation and the original version of this License or a~notice
+or disclaimer, the original version will prevail.
+
+If a~section in the Document is Entitled ``Acknowledgements'',
+``Dedications'', or ``History'', the requirement (section 4) to Preserve
+its Title (section~1) will typically require changing the actual
+title.
+
+\gnusection{9}{TERMINATION}
+
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License. Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License. However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+\gnusection{10}{FUTURE REVISIONS OF THIS LICENSE}
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a~distinguishing version number.
+If the Document specifies that a~particular numbered version of this
+License ``or any later version'' applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a~draft) by the
+Free Software Foundation. If the Document does not specify a~version
+number of this License, you may choose any version ever published (not
+as a~draft) by the Free Software Foundation.
+\stopcolumns
+
+%***********************************************************************
+
+\stopbackmatter
+
+%D And then we're done.
+
+\stoptext
diff --git a/Master/texmf/doc/pdftex/manual/pdftex-w.pdf b/Master/texmf/doc/pdftex/manual/pdftex-w.pdf
new file mode 100644
index 00000000000..e0d7c6a5afa
--- /dev/null
+++ b/Master/texmf/doc/pdftex/manual/pdftex-w.pdf
@@ -0,0 +1,66 @@
+%PDF-1.4
+%ÐÔÅØ
+3 0 obj <<
+/Length 147
+>>
+stream
+BT
+/F51 9.963 Tf 91.925 759.927 Td[(W)80(elcome)-250(to)-250(pdfT)]TJ 67.818 -2.241 Td[(E)]TJ 4.842 2.241 Td[(X!)]TJ 138.924 -654.747 Td[(1)]TJ
+ET
+endstream
+endobj
+2 0 obj <<
+/Type /Page
+/Contents 3 0 R
+/Resources 1 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5 0 R
+>> endobj
+1 0 obj <<
+/Font << /F51 4 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6 0 obj <<
+/Type /Encoding
+/Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity/lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 128/Euro/integral/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/Omega/radical/approxequal 144/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe/Delta/lozenge/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
+>> endobj
+4 0 obj <<
+/Type /Font
+/Subtype /Type1
+/Encoding 6 0 R
+/BaseFont /Times-Roman
+>> endobj
+5 0 obj <<
+/Type /Pages
+/Count 1
+/Kids [2 0 R]
+>> endobj
+7 0 obj <<
+/Type /Catalog
+/Pages 5 0 R
+>> endobj
+8 0 obj <<
+/Producer (pdfeTeX-1.30.4)
+/Creator (TeX)
+/CreationDate (D:20051024013807+02'00')
+/PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.30.4-2.2 (Web2C 7.5.5) kpathsea version 3.5.5)
+>> endobj
+xref
+0 9
+0000000000 65535 f
+0000000330 00000 n
+0000000219 00000 n
+0000000015 00000 n
+0000002284 00000 n
+0000002372 00000 n
+0000000398 00000 n
+0000002429 00000 n
+0000002478 00000 n
+trailer
+<< /Size 9
+/Root 7 0 R
+/Info 8 0 R
+/ID [<DEDA359EDAD4320634FF9A471637DD88> <DEDA359EDAD4320634FF9A471637DD88>] >>
+startxref
+2682
+%%EOF
diff --git a/Master/texmf/doc/pdftex/manual/samplepdf/pdfcolor.tex b/Master/texmf/doc/pdftex/manual/samplepdf/pdfcolor.tex
new file mode 100644
index 00000000000..f09ecbcb750
--- /dev/null
+++ b/Master/texmf/doc/pdftex/manual/samplepdf/pdfcolor.tex
@@ -0,0 +1,158 @@
+% Very simple macros to show how to use colors with pdftex
+
+\def\cmykGreenYellow{0.15 0 0.69 0}
+\def\cmykYellow{0 0 1 0}
+\def\cmykGoldenrod{0 0.10 0.84 0}
+\def\cmykDandelion{0 0.29 0.84 0}
+\def\cmykApricot{0 0.32 0.52 0}
+\def\cmykPeach{0 0.50 0.70 0}
+\def\cmykMelon{0 0.46 0.50 0}
+\def\cmykYellowOrange{0 0.42 1 0}
+\def\cmykOrange{0 0.61 0.87 0}
+\def\cmykBurntOrange{0 0.51 1 0}
+\def\cmykBittersweet{0 0.75 1 0.24}
+\def\cmykRedOrange{0 0.77 0.87 0}
+\def\cmykMahogany{0 0.85 0.87 0.35}
+\def\cmykMaroon{0 0.87 0.68 0.32}
+\def\cmykBrickRed{0 0.89 0.94 0.28}
+\def\cmykRed{0 1 1 0}
+\def\cmykOrangeRed{0 1 0.50 0}
+\def\cmykRubineRed{0 1 0.13 0}
+\def\cmykWildStrawberry{0 0.96 0.39 0}
+\def\cmykSalmon{0 0.53 0.38 0}
+\def\cmykCarnationPink{0 0.63 0 0}
+\def\cmykMagenta{0 1 0 0}
+\def\cmykVioletRed{0 0.81 0 0}
+\def\cmykRhodamine{0 0.82 0 0}
+\def\cmykMulberry{0.34 0.90 0 0.02}
+\def\cmykRedViolet{0.07 0.90 0 0.34}
+\def\cmykFuchsia{0.47 0.91 0 0.08}
+\def\cmykLavender{0 0.48 0 0}
+\def\cmykThistle{0.12 0.59 0 0}
+\def\cmykOrchid{0.32 0.64 0 0}
+\def\cmykDarkOrchid{0.40 0.80 0.20 0}
+\def\cmykPurple{0.45 0.86 0 0}
+\def\cmykPlum{0.50 1 0 0}
+\def\cmykViolet{0.79 0.88 0 0}
+\def\cmykRoyalPurple{0.75 0.90 0 0}
+\def\cmykBlueViolet{0.86 0.91 0 0.04}
+\def\cmykPeriwinkle{0.57 0.55 0 0}
+\def\cmykCadetBlue{0.62 0.57 0.23 0}
+\def\cmykCornflowerBlue{0.65 0.13 0 0}
+\def\cmykMidnightBlue{0.98 0.13 0 0.43}
+\def\cmykNavyBlue{0.94 0.54 0 0}
+\def\cmykRoyalBlue{1 0.50 0 0}
+\def\cmykBlue{1 1 0 0}
+\def\cmykCerulean{0.94 0.11 0 0}
+\def\cmykCyan{1 0 0 0}
+\def\cmykProcessBlue{0.96 0 0 0}
+\def\cmykSkyBlue{0.62 0 0.12 0}
+\def\cmykTurquoise{0.85 0 0.20 0}
+\def\cmykTealBlue{0.86 0 0.34 0.02}
+\def\cmykAquamarine{0.82 0 0.30 0}
+\def\cmykBlueGreen{0.85 0 0.33 0}
+\def\cmykEmerald{1 0 0.50 0}
+\def\cmykJungleGreen{0.99 0 0.52 0}
+\def\cmykSeaGreen{0.69 0 0.50 0}
+\def\cmykGreen{1 0 1 0}
+\def\cmykForestGreen{0.91 0 0.88 0.12}
+\def\cmykPineGreen{0.92 0 0.59 0.25}
+\def\cmykLimeGreen{0.50 0 1 0}
+\def\cmykYellowGreen{0.44 0 0.74 0}
+\def\cmykSpringGreen{0.26 0 0.76 0}
+\def\cmykOliveGreen{0.64 0 0.95 0.40}
+\def\cmykRawSienna{0 0.72 1 0.45}
+\def\cmykSepia{0 0.83 1 0.70}
+\def\cmykBrown{0 0.81 1 0.60}
+\def\cmykTan{0.14 0.42 0.56 0}
+\def\cmykGray{0 0 0 0.50}
+\def\cmykBlack{0 0 0 1}
+\def\cmykWhite{0 0 0 0}
+
+\def\GreenYellow{\pdfsetcolor{\cmykGreenYellow}}
+\def\Yellow{\pdfsetcolor{\cmykYellow}}
+\def\Goldenrod{\pdfsetcolor{\cmykGoldenrod}}
+\def\Dandelion{\pdfsetcolor{\cmykDandelion}}
+\def\Apricot{\pdfsetcolor{\cmykApricot}}
+\def\Peach{\pdfsetcolor{\cmykPeach}}
+\def\Melon{\pdfsetcolor{\cmykMelon}}
+\def\YellowOrange{\pdfsetcolor{\cmykYellowOrange}}
+\def\Orange{\pdfsetcolor{\cmykOrange}}
+\def\BurntOrange{\pdfsetcolor{\cmykBurntOrange}}
+\def\Bittersweet{\pdfsetcolor{\cmykBittersweet}}
+\def\RedOrange{\pdfsetcolor{\cmykRedOrange}}
+\def\Mahogany{\pdfsetcolor{\cmykMahogany}}
+\def\Maroon{\pdfsetcolor{\cmykMaroon}}
+\def\BrickRed{\pdfsetcolor{\cmykBrickRed}}
+\def\Red{\pdfsetcolor{\cmykRed}}
+\def\OrangeRed{\pdfsetcolor{\cmykOrangeRed}}
+\def\RubineRed{\pdfsetcolor{\cmykRubineRed}}
+\def\WildStrawberry{\pdfsetcolor{\cmykWildStrawberry}}
+\def\Salmon{\pdfsetcolor{\cmykSalmon}}
+\def\CarnationPink{\pdfsetcolor{\cmykCarnationPink}}
+\def\Magenta{\pdfsetcolor{\cmykMagenta}}
+\def\VioletRed{\pdfsetcolor{\cmykVioletRed}}
+\def\Rhodamine{\pdfsetcolor{\cmykRhodamine}}
+\def\Mulberry{\pdfsetcolor{\cmykMulberry}}
+\def\RedViolet{\pdfsetcolor{\cmykRedViolet}}
+\def\Fuchsia{\pdfsetcolor{\cmykFuchsia}}
+\def\Lavender{\pdfsetcolor{\cmykLavender}}
+\def\Thistle{\pdfsetcolor{\cmykThistle}}
+\def\Orchid{\pdfsetcolor{\cmykOrchid}}
+\def\DarkOrchid{\pdfsetcolor{\cmykDarkOrchid}}
+\def\Purple{\pdfsetcolor{\cmykPurple}}
+\def\Plum{\pdfsetcolor{\cmykPlum}}
+\def\Violet{\pdfsetcolor{\cmykViolet}}
+\def\RoyalPurple{\pdfsetcolor{\cmykRoyalPurple}}
+\def\BlueViolet{\pdfsetcolor{\cmykBlueViolet}}
+\def\Periwinkle{\pdfsetcolor{\cmykPeriwinkle}}
+\def\CadetBlue{\pdfsetcolor{\cmykCadetBlue}}
+\def\CornflowerBlue{\pdfsetcolor{\cmykCornflowerBlue}}
+\def\MidnightBlue{\pdfsetcolor{\cmykMidnightBlue}}
+\def\NavyBlue{\pdfsetcolor{\cmykNavyBlue}}
+\def\RoyalBlue{\pdfsetcolor{\cmykRoyalBlue}}
+\def\Blue{\pdfsetcolor{\cmykBlue}}
+\def\Cerulean{\pdfsetcolor{\cmykCerulean}}
+\def\Cyan{\pdfsetcolor{\cmykCyan}}
+\def\ProcessBlue{\pdfsetcolor{\cmykProcessBlue}}
+\def\SkyBlue{\pdfsetcolor{\cmykSkyBlue}}
+\def\Turquoise{\pdfsetcolor{\cmykTurquoise}}
+\def\TealBlue{\pdfsetcolor{\cmykTealBlue}}
+\def\Aquamarine{\pdfsetcolor{\cmykAquamarine}}
+\def\BlueGreen{\pdfsetcolor{\cmykBlueGreen}}
+\def\Emerald{\pdfsetcolor{\cmykEmerald}}
+\def\JungleGreen{\pdfsetcolor{\cmykJungleGreen}}
+\def\SeaGreen{\pdfsetcolor{\cmykSeaGreen}}
+\def\Green{\pdfsetcolor{\cmykGreen}}
+\def\ForestGreen{\pdfsetcolor{\cmykForestGreen}}
+\def\PineGreen{\pdfsetcolor{\cmykPineGreen}}
+\def\LimeGreen{\pdfsetcolor{\cmykLimeGreen}}
+\def\YellowGreen{\pdfsetcolor{\cmykYellowGreen}}
+\def\SpringGreen{\pdfsetcolor{\cmykSpringGreen}}
+\def\OliveGreen{\pdfsetcolor{\cmykOliveGreen}}
+\def\RawSienna{\pdfsetcolor{\cmykRawSienna}}
+\def\Sepia{\pdfsetcolor{\cmykSepia}}
+\def\Brown{\pdfsetcolor{\cmykBrown}}
+\def\Tan{\pdfsetcolor{\cmykTan}}
+\def\Gray{\pdfsetcolor{\cmykGray}}
+\def\Black{\pdfsetcolor{\cmykBlack}}
+\def\White{\pdfsetcolor{\cmykWhite}}
+
+\def\pdfsetcolor#1{\pdfliteral{#1 k}}
+\def\setcolor#1{\mark{#1}\pdfsetcolor{#1}}
+
+\pdfoutput=1
+\def\maincolor{\cmykBlack}
+\pdfsetcolor{\maincolor}
+
+\def\makefootline{
+ \baselineskip24pt
+ \line{\pdfsetcolor{\maincolor}\the\footline}}
+
+\def\makeheadline{%
+ \edef\M{\topmark}
+ \ifx\M\empty\let\M=\maincolor\fi
+ \vbox to 0pt{\vskip-22.5pt
+ \line{\vbox to8.5pt{}%
+ \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\M}}\vss}%
+ \nointerlineskip}
diff --git a/Master/texmf/doc/pdftex/manual/samplepdf/pic.pdf b/Master/texmf/doc/pdftex/manual/samplepdf/pic.pdf
new file mode 100644
index 00000000000..4f20d12a6d0
--- /dev/null
+++ b/Master/texmf/doc/pdftex/manual/samplepdf/pic.pdf
Binary files differ
diff --git a/Master/texmf/doc/pdftex/manual/samplepdf/rgb.icc b/Master/texmf/doc/pdftex/manual/samplepdf/rgb.icc
new file mode 100644
index 00000000000..d9c712f6905
--- /dev/null
+++ b/Master/texmf/doc/pdftex/manual/samplepdf/rgb.icc
Binary files differ
diff --git a/Master/texmf/doc/pdftex/manual/samplepdf/samplepdf.0 b/Master/texmf/doc/pdftex/manual/samplepdf/samplepdf.0
new file mode 100644
index 00000000000..9622d8d13fd
--- /dev/null
+++ b/Master/texmf/doc/pdftex/manual/samplepdf/samplepdf.0
@@ -0,0 +1,24 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: -2 -2 403 252
+%%HiResBoundingBox: -1.99992 -2 402.00008 252
+%%Creator: MetaPost 0.901
+%%CreationDate: 2005.06.23:1538
+%%Pages: 1
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0.6 0 setrgbcolor 0 4 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
+gsave newpath 400.00008 0 moveto
+388.05362 20.69193 369.76968 36.62247 350.00008 50 curveto
+236.22455 126.98863 70.53836 127.82376 0.00008 250 curveto
+-1 1 scale stroke grestore
+ 0 2 dtransform truncate idtransform setlinewidth pop
+gsave newpath 350.00008 50 moveto
+309.8453 199.85959 97.68582 152.31425 0.00008 250 curveto
+-1 1 scale stroke grestore
+gsave newpath 350.00008 50 moveto
+195.84702 50 37.96687 108.30608 0.00008 250 curveto
+-1 1 scale stroke grestore
+showpage
+%%EOF
diff --git a/Master/texmf/doc/pdftex/manual/samplepdf/samplepdf.tex b/Master/texmf/doc/pdftex/manual/samplepdf/samplepdf.tex
new file mode 100644
index 00000000000..a9e2d655774
--- /dev/null
+++ b/Master/texmf/doc/pdftex/manual/samplepdf/samplepdf.tex
@@ -0,0 +1,1161 @@
+% This example shows how to use pdfTeX primitives. High-level macros are provided
+% by macros packages like LaTeX or ConTeXt. We present basic set of commands,
+% extended with some more sophisticated issues (like MP to PDF conversion). All
+% the functionality other than provided by pdfTeX itself is commented by default.
+% Please follow the code below and uncomment fragments you want.
+
+% Many new features has been implemented since the first release of pdfTeX. To
+% make this sample version independent, we use compatibility sections.
+
+\def\ifversion#1.#2#3#4 {% 1.20, 1.30.0 ...
+ \ifnum\pdftexversion<#1#2#3
+ \notsupported
+ \else
+ \supported
+ \fi}
+
+\def\supported{\expandafter\iftrue}
+\def\notsupported{\expandafter\iffalse}
+
+\def\feature#1.#2#3#4#{\dofeature{#1#2#3}{#1.#2#3#4}}
+\long\def\dofeature#1#2#3#4\endfeature{%
+ \ifnum#1>\pdftexversion
+ #3 not supported by this version of \pdfTeX.\par
+ \else#4\fi}
+
+\def\pdfTeX{pdf\TeX}
+\def\primitive#1{{\tt\char92\relax#1}}
+\def\newpage{\null\vfill\eject}
+
+\parindent=0pt
+
+\input pdfcolor.tex % simple macros to use color with pdftex;
+ % color names derived from dvicolor.tex
+
+% Unless mentioned explicitly, the default values of new parameters
+% are: 1) zero for integer/dimension parameters; 2) empty for tokens
+% parameters.
+
+% In previous versions of pdfTeX, integer parameters took their corresponding
+% values from pdftex.cfg config file. Starting from pdfTeX 1.20, the config file
+% id not read at all. All the parameters are specified in TeX code, optionally
+% dumped into format file.
+
+\pdfoutput=1 % positive value turns on PDF output;
+ % this parameter can not be changed after the pdf
+ % output has been opened
+
+\pdfcompresslevel=0 % compression level for text and image; allowed
+ % values are 0..9;
+ % 0 = no compression
+ % 1 = fastest compression
+ % 9 = best compression
+ % 2..8 = something between
+ % numbers out of range will be fixed to the most
+ % closed allowed value. Recommended value for most
+ % cases is 6 or 7.
+
+\pdfdecimaldigits=3 % number of digits after decimal point for real
+ % number in pdf output; the larger value the
+ % better accuracy but also larger output size;
+ % allowed range of values is 0..4
+
+%\pdfmovechars=2 % 1 turns on moving lower chars 0..32 to higher
+ % slots for fonts with last char code < 128,
+ % 2 or larger even for fonts with last char code > 127
+ % (rather obsolete)
+
+\pdfpkresolution=300 % resolution for bitmap (PK) fonts; allowed values
+ % are 72..1200, default is 600
+
+\pdfuniqueresname=0 % positive value turns on prepending unique
+ % prefix for each named resources
+ % pdftex-0.14[ef] has a bug with this feature
+ % turned on
+
+% dimension parameters
+
+\pdfhorigin=1in % horizontal origin (offset);
+ % for common purposes it is advised to use
+ % \hoffset
+
+\pdfvorigin=1in % vertical origin (offset); similar to \pdfhorigin,
+ % advised to use \voffset
+
+
+\pdfpagewidth=8.5in % paper size of the pdf output (letter in this case)
+\pdfpageheight=11in
+
+\pdflinkmargin=1pt % margin added to dimensions of link (see below)
+
+\pdfdestmargin=10pt % margin added to dimensions of destination (see
+ % below)
+
+\pdfthreadmargin=1em % margin added to dimensions of bead in article thread
+ % (see below)
+
+% tokens registers
+
+\pdfpagesattr={/MyPageAttribute /MyValue}
+ % optional attributes for the root Pages object;
+ % all pages inherit these attributes
+
+\pdfpageattr={/MyPagesAttribute /MyValue}
+ % optional attributes for individual pages;
+ % attributes specified here overwrite any
+ % attributes given by `\pdfpagesattr' (see PDF spec for details)
+
+\pdfpageresources{/MyPageResourceAttribute /MyValue}
+ % optional page resources dict content
+
+% And some more parameters that need special care.
+
+\ifversion 1.30.0 \else
+ \let\pdfforcepagebox\pdfoptionalwaysusepdfpagebox
+\fi
+
+\pdfforcepagebox=0 % a page box of PDF inclusions to be used
+ % as a clipping area. Here we use default (CropBox)
+ % \pdfforcepagebox is a shortened synonym of
+ % obsolete \pdfoptionalwaysusepdfpagebox.
+
+\ifversion 1.30.0 \else
+ \let\pdfminorversion\pdfoptionpdfminorversion
+\fi
+
+\pdfminorversion=5 % version of created PDF files and allowed PDF inclusions.
+ % The default value is 4 that is enough in most cases (PDF 1.4).
+ % However, some pdfTeX features presented here requires
+ % PDF 1.5. Starting from pdfTeX 1.30.0, the command is called
+ % \pdfminorversion.
+
+
+
+\ifversion 1.30.0 \else
+ \let\pdfinclusionerrorlevel\pdfoptionpdfinclusionerrorlevel
+\fi
+
+\pdfinclusionerrorlevel=0 % If the version of included PDF is greater than
+ % the one being typeset, by default an error is issued.
+ % If \pdfinclusionerrorlevel is set to one, warning only
+ % (synonym of obsolete \pdfoptionpdfinclusionerrorlevel).
+
+\ifversion1.30.0
+\pdfimagehicolor=1 % enables 16-bit colors for PNG inclusions;
+ % defaults to 1 if \pdfminorversion>=5,
+\pdfimageapplygamma=1 % enables gamma correction for PNG inclusions,
+\pdfgamma=1000 % sets pdfTeX `device gamma,'
+\pdfimagegamma=2200 % sets image gamma, if can't be taken from the image itself.
+\fi % (see below for details).
+
+% Version of pdftex can be accessed via \pdftexversion and \pdftexrevision.
+
+This is version \the\pdftexversion\ (revision \pdftexrevision) of \pdfTeX.
+
+% Version of created PDF (and the highest allowed version of PDF inclusions)
+% can be controlled with \pdfminorversion. In pdfTeX versions below 1.30.0, the
+% primitive was called \pdfoptionpdfminorversion.
+
+This file is PDF version 1.\the\pdfminorversion.
+\bigskip
+
+% Font resource in the pdf output has the form
+% "/F<number> <object number> 0 R", where <number> is accessible via
+% \pdffontname and <object number> via \pdffontobjnum.
+
+Font \fontname\font\ has resource name tag
+\pdffontname\font\ and object number \pdffontobjnum\font\ in the PDF output.
+Font size is \pdffontsize\font.\par
+
+\feature 1.30.0 {Disabling ligatures}
+
+Ligatures: ffont, fint, flint\par
+{\font\noli=cmr10 at\pdffontsize\font
+ \pdfnoligatures\noli No ligatures: ffont, fint, flint}
+\bigskip
+
+\endfeature
+
+% \pdfincludechars can be used to ensure certain characters to be
+% included in the font file. Normally only used characters are
+% included (subset is created).
+
+\pdfincludechars\font{ABCDEF}
+
+% pdfTeX ignores \special's text if \pdfoutput is set, unless they have
+% prefix "pdf:" or "PDF:" (in this case the prefix is not written out, of
+% course). \pdfliteral is intended to replace \special in pdf output mode.
+
+Changing color can be done by inserting `raw' PDF code, like
+\pdfliteral direct{0 1 1 0 k} % switch color to red; using \pdfliteral is
+this. % recommended
+
+\special{PDF:0 g} % switch color back to black; \special can be
+ % used with prefix "pdf:" or "PDF:", optionally appended with
+ % "direct:"
+ % A `direct' keyword is optional; it ensures that what one
+ % types into \pdfliteral is inserted literally indeed.
+ % Otherwise pdfTeX moves the space origin to the place after
+ % the last types item on the page, inserts the user code and
+ % restores its internal position.
+
+A simple picture:
+\pdfliteral {q 1 j 0 1 0 rg 0 0 1 RG 0 0 10 10 re B Q}
+
+% Roughly speaking, pdfTeX typeset text having an origin in lower-left corner of
+% the page (native PDF space origin). \pdfliteral used without `direct' keyword
+% changes this position temporarily to the point user probably expect. Thanks to
+% that, the rectangle painted above appears in-line, not in the lower-left corner
+% of the page. If one say \pdfliteral{...}\pdfliteral{...}, pdfTeX makes the
+% offset only once; it moves to current point of the page before the first
+% literal content, and comes back after the last one.
+
+\bigskip
+
+% User-defined object can be inserted into the pdf output by \pdfobj. The
+% object is written out as specified, apart from case when \pdfobj is used with
+% "stream" option. An object created by \pdfobj is held in memory and will
+% not be written to the pdf output, unless 1) the object is referenced by
+% saying \pdfrefobj <object number>; or 2) \pdfobj is preceded by
+% \immediate. The object number of the last object created by \pdfobj is
+% accessible via \pdflastobj
+
+\pdfobj{Hello} % the simplest case
+\pdfrefobj \pdflastobj % mark the object to be written out; it can be
+ % understood as a reference to the object
+
+\immediate \pdfobj stream % create the object as a stream a write it to
+ {Hello} % the pdf output immediately
+
+\pdfobj stream % create the object as a stream with
+ attr {/MyStreamAttribute /MyValue} % additional attributes
+ {Hello}
+\pdfrefobj \pdflastobj
+
+\pdfobj file {obj.dat} % read the object contents from file obj.dat
+\pdfrefobj \pdflastobj
+
+\pdfobj stream % read the stream contents from file obj.dat
+ file {obj.dat}
+\pdfrefobj \pdflastobj
+
+\pdfobj stream % read the stream contents from file obj.dat
+ attr {/MyStreamAttribute /MyValue} % with additional attributes
+ file {obj.dat}
+\pdfrefobj \pdflastobj
+
+% \pdflastobj is always global, as all others \pdflast* read-only integers (see
+% below). PDF object numbers are unique within the document. One may notice, that
+% if \pdfobj is preceded by \immediate, \pdflastobj seems to return subsequent
+% values (i.e 5,6,7,8...). Since \pdfobj is not the only command that creates PDF
+% objects, one can't simply assume, that if current \pdflastobj returns 5, the
+% next one will always return 6. Thus, pdfTeX provides a forward-referencing
+% mechanism (introduced in pdfTeX 1.20).
+
+\feature 1.20 {Forward object referencing}
+
+\pdfobj reserveobjnum
+We have an access to PDF object numbers, even before defining those objects.
+\pdfobj useobjnum\pdflastobj {(This is object number \the\pdflastobj)}
+\pdfrefobj\pdflastobj
+
+\endfeature
+
+% TeX boxes can be written into so-called XObject form, which is very
+% similar to a normal page in the pdf output. Additional data can be
+% inserted to the XObject form dictionary itself as well as the Resource
+% dictionary of the XObject form
+
+\setbox0=\hbox{This is a box saved as a XObject form}
+\pdfxform
+ attr {/MyXObjectFormAttribute /MyValue}
+ resources {/MyXObjectFormResourceAttribute /MyValue}
+ 0
+
+% Similarly to \pdfobj, the object created by \pdfxform is held in memory
+% and is not written to the pdf output, unless 1) the object is referenced
+% by saying \pdfrefxform <object number>; or 2) \pdfxform is preceded by
+% \immediate. The object number of the last XObject form created
+% by \pdfxform is accessible via \pdflastxform. Note that
+% \immediate\pdfxform does not typeset anything; it just ensures that the
+% XObject form is written out to the output. To display the form, it is
+% necessary to say \pdfrefxform <object number> in the intended place.
+% Another point is that \pdfrefxform acts similarly rather to rules than to
+% boxes concerning dimensions and space setting. It's highly recommended to
+% wrap \pdfrefxform by a box in order to ensure spacing will be correct.
+
+\hbox{\pdfrefxform \pdflastxform}
+
+% Similarly to \pdflastobj, \pdflastxform returns the PDF object number assigned
+% for XObject form just created. pdfTeX also provides \pdfxformname primitive, that
+% returns a resource name identifier of the XObject written to PDF output with given
+% object number.
+
+XObject above has been written as object \the\pdflastxform.
+
+\feature 1.30.0 {Access to XObject names}
+
+Its resource name tag is \pdfxformname\pdflastxform\
+({\tt/Fm\pdfxformname\pdflastxform\ \the\pdflastxform\space 0 R}
+entry in page resources dictionary).
+
+\endfeature
+
+\bigskip
+
+% Thanks to Taco Hoekwater pdfTeX 1.30.0 and higher provides precise time
+% measuring mechanism. \pdfelapsedtime primitive returns the time elapsed from
+% the current run start. Time is measured in `scaled seconds' meaning that 65536
+% scaled seconds is 1 second. There is also \pdfresettimer primitive that causes
+% zeroing the internal clock.
+
+{\catcode`\p=12 \catcode`\t=12 \gdef\WITHOUTPT#1pt{#1}}
+ \def\withoutpt#1{\expandafter\WITHOUTPT#1} % returns float-like string
+
+\feature 1.30.0 {Precise timer}
+
+\dimen0=\pdfelapsedtime sp
+\pdfresettimer
+It took \withoutpt\the\dimen0 \ seconds to typeset the whole stuff above.
+To typeset the last two sentences it took \the\pdfelapsedtime\ `scaled seconds'
+(1s/65536).
+\bigskip
+
+\endfeature
+
+% Taco Hoekwater has also implemented random number support (introduced in 1.30.0)
+
+\feature 1.30.0 {Random numbers}
+
+Random seed initialized to \the\pdfrandomseed.
+\pdfsetrandomseed\dimen0 % just saved elapsed time
+We may change it, lets say to \the\pdfrandomseed.\par
+
+10 uniformly distributed random numbers [0..100]:
+\count100=0 \loop
+ \pdfuniformdeviate101
+ \advance\count100 by1
+ \ifnum\count100<10,
+\repeat.\par
+
+10 normally distributed random numbers:
+\count100=0 \loop
+ \dimen0=\pdfnormaldeviate sp
+ $\withoutpt\the\dimen0$%
+ \advance\count100 by1
+ \ifnum\count100<10,
+\repeat.\par
+
+\bigskip
+
+\endfeature
+
+% Starting from pdfTeX 1.30.0, there is an expandable string comparison in pdfTeX.
+% You can compare two strings lexicographically using \pdfstrcmp{<str1>}{<str2>}.
+% The command returns -1, 0, or 1 as a comparison result.
+% Both strings are expanded before being compared.
+% \feature 1.30.0 {String comparison}
+% \pdfstrcmp{a}{aa} returns -1 since 'a'<'aa'
+% \pdfstrcmp{aa}{aa} returns 0 since 'aa'='aa'
+% \pdfstrcmp{aaa}{abc} returns -1 since 'aaa'<'abc'
+% \pdfstrcmp{abc}{ABC} returns 1 since 'aaa'>'ABC'
+% \endfeature
+% This is still experimental, as well as regex support
+
+% Thanks to Heiko Oberdiek, starting from pdfTeX 1.30.0 a set of expandable
+% string handlers are available. \pdfescapestring converts its parameter into a
+% form readable for PDF interpreters, escaping those characters that can be used
+% in PDF string objects without quotation. Similarly, \pdfescapename converts its
+% argument into PDF name, replacing special PDF characters with their hexadecimal
+% representation preceded by `#'. \pdfescapehex takes an ASCII code of each
+% character of its argument and converts this number into hexadecimal form. Last
+% but not least, \pdfunescapehex treats each pair of characters as a hexadecimal
+% number and returns an ASCII characters of given codes. All those commands
+% expand their arguments before applying conversion.
+
+\feature 1.30.0 {PDF string handling}
+
+\def\sometext{Some text/(1)}
+If there is a text `{\tt\sometext}',\par
+in PDF string one should use {\tt(\pdfescapestring{\sometext}},\par
+and in PDF name it would be {\tt/\pdfescapename {\sometext}}.\par
+In hex form it looks like {\tt<\pdfescapehex{\sometext}>},\par
+but you can always reverse it to get {\tt\pdfunescapehex{\pdfescapehex{\sometext}}}.
+\bigskip
+
+\endfeature
+
+% Also handling external files has been greatly improved. Starting from pdfTeX 1.30.0
+% you can check external files modification date, file size and even md5 check sum.
+
+\feature 1.30.0 {External file handling}
+
+The source of this document is {\tt\pdffilesize{\jobname}} bytes long. Last modification date
+is {\tt\pdffilemoddate{\jobname}}. The md5 sum is {\tt\pdfmdfivesum{\jobname}}.
+Bytes 7 to 13 of the source are hex {\tt\pdffiledump offset 7 length 7{\jobname}}
+(string `\pdfunescapehex{\pdffiledump offset 7 length 7 {\jobname}}').
+
+\endfeature
+
+% \pdfsavepos saves coordinates of the current position on the page relative to
+% lower-left corner. \pdflastxpos and \pdflastypos are available while shipping
+% out the page. Both are integers; the position is expressed in scaled points.
+
+\pdfsavepos
+\write16{Position: X=\number\pdflastxpos sp, Y=\number\pdflastypos sp.}
+
+\newpage
+
+% pdfTeX 1.20 and higher allows to get the object number of already typeset page
+
+\feature 1.20 {Page object reference}
+
+The previous page has been written as object \pdfpageref1.
+
+\endfeature
+
+% Images can be included with pdftex using \pdfximage. Supported formats
+% are determined by file name extension:
+% .pdf/.PDF: PDF
+% .png/.PNG: PNG
+% .jpg/.JPG/.jpeg/.JPEG: JPEG
+%
+% Sorry, TIFF files are no longer supported.
+%
+% pdfTeX itself does not support EPS and Postscript codes at all, however
+% it's possible to include Metapost output. EPS files can be converted to
+% PDF for use with pdfTeX. See below for further info about using Metapost
+% and EPS.
+
+\pdfximage {pic.pdf} % read image pic.pdf (search for it in TEXINPUTS path)
+
+% It also possible to select which page to include. Pages are numbered from
+% 1. Out-of-range values are fixed to 1 and bitmapped images have always 1
+% page. To include let's say the 2nd page of a pdf image, one can use
+% \pdfximage page 2 {file.pdf}
+
+% Similarly to \pdfobj, the image created by \pdfximage is held in memory
+% and is not written to the pdf output, unless 1) the image is referenced
+% by saying \pdfrefximage <object number>; or 2) \pdfximage is preceded by
+% \immediate. The object number of the last image created by \pdfximage is
+% accessible via \pdflastximage. Note that \immediate\pdfximage does not
+% typeset anything; it just ensures that the image is written out to the
+% output. To display the image, it is necessary to say
+% \pdfrefximage <object number> in the intended place. Another point is
+% \pdfrefximage act similarly rather to rules than to boxes concerning
+% dimensions and space setting. In order to make images act as boxes
+% (concerning dimensions and spacing), it's necessary to wrap them into a
+% box.
+
+\hbox{\pdfrefximage \pdflastximage}
+
+% Since a pdf image may have more than 1 page, the number of the last image
+% opened by \pdfximage is accessible via \pdflastximagepages
+
+The last image has \the\pdflastximagepages\ page(s).
+
+% The dimensions of the image can be also controlled via <rule spec>. The
+% default values are zero for depth and `running' for height and width. If
+% all of them are given, the image will be scaled to fit the specified
+% values. If some of them (but not all) are given, the rest will be set to
+% a value corresponding to the remaining ones so as to make the image size
+% to yield the same proportion of width : (height + depth) as the original
+% image size, where depth is treated as zero. If none of them is given then
+% the image will take its natural size. An image inserted at its natural
+% size often has a resolution of \pdfimageresolution (or 72 if
+% \pdfimageresolution is set to zero) given in dots per inch in the output
+% file, but some images may contain data specifying the image resolution,
+% and in such a case the image will be scaled to the original resolution.
+% The dimension of the image can be accessed by enclosing the \pdfrefximage
+% command to a box and checking the dimensions of the box.
+
+\pdfximage width 6cm {pic.pdf} % set the image width and keep the
+\pdfrefximage \pdflastximage % `nature' proportion width : height
+
+\pdfximage height 4cm {pic.png} % set the image height and keep the
+ % `nature' proportion width : height
+
+\edef\MyImg{\the\pdflastximage} % save the image number for later reuse
+\pdfrefximage\MyImg
+
+\pdfximage width 6cm height 4cm % set both image width and height; the
+ {pic.jpg} % final proportion width : height may be
+ % different from the `nature' one
+
+\pdfimageresolution=72 % to open an image at 72 dpi
+\pdfximage {pic.pdf}
+\setbox0=\hbox{\pdfrefximage\pdflastximage} % get dimensions of the image
+ % in order to include the image
+ % at a specific resolution
+\dimen0=.06\wd0 % calculate the image width at 1200 dpi (0.06 = 72/1200)
+\pdfximage % include the image at resolution 1200 dpi
+ width \dimen0 {pic.pdf} % by setting image width to the calculated value
+\pdfrefximage \pdflastximage
+
+\newpage
+
+% While embedding PDF image one may decide which area of the image (mediabox,
+% cropbox, bleedbox, trimbox or artbox) should be treated as a final (visible)
+% bounding box. There is \pdfoptionalwaysusepdfpagebox parameter that specifies
+% the default behaviour (1 for mediabox, 2 for cropbox, 3 for bleedbox, 4 for
+% trimbox and 5 for artbox). For sake of backward compatibility, if set to 0
+% cropbox is used. Starting from pdfTeX 1.30.0, a synonym \pdfforcepagebox is
+% used. One may also override the default settings by providing page box
+% specification in \pdfximage syntax. In example, \pdfximage trimbox {<file>}
+% causes clipping the image to the trimbox area. Obviously, those settings take an
+% effect only if the desired box page is defined in the image being included.
+% According to PDF spec, PDF page boxes act as follows:
+% mediabox % the entire page area (the only one always present)
+% cropbox % the visible page area (defaults to mediabox)
+% bleedbox % the page area with trimming margins (defaults to cropbox)
+% trimbox % the page area without bleeds (defaults to cropbox)
+% artbox % the logical page content (defaults to cropbox)
+
+% pdfTeX takes care about version of included PDF images. By default, an error is
+% issued if this version is newer than the PDF being created (controlled by
+% \pdfminorversion). If the \pdfoptionpdfinclusionerrorlevel is set to 0, only
+% warning is issued. Starting pdfTeX 1.30.0 \pdfinclusionerrorlevel synonym is used
+% instead.
+
+% Thanks to Taco Hoekwater pdfTeX 1.30.0 and higher provides advanced PNG
+% inclusions handling. Nonzero \pdfimagehicolor parameter enables embedding
+% of PNG images with 16 bit wide color channels at their full color resolution.
+% This functionality is automatically disabled if \pdfminorversion<5, and automatically
+% enabled if \pdfminorversion>=5
+% Another primitive -- \pdfimageapplygamma -- enables gamma correction of embedded
+% PNG files on the base of two parameters:
+% \pdfgamma % device gamma for pdfTex
+% \pdfimagegamma % image gamma (used if one can't be derived from the image)
+% Both values are integers measured in promile (1000 = gamma 1.0)
+% All the parameters of gamma correction have to be set before any data
+% is written to the PDF output; thus we put them at the very beginning of this sample.
+
+% \ifx\undefined\quitvmode % primitive `\leavevmode' introduced in pdfTeX 1.30.0
+% \let\quitvmode\leavevmode
+% \fi
+
+\pdfximage width8cm {pic16.png}%
+\pdfrefximage\pdflastximage
+The image had originally 16 bits-per-channel.
+
+\feature 1.21 {Image color depth info}
+Embedded one has \the\pdflastximagecolordepth\ bits-per-channel;
+\endfeature
+
+\feature 1.30.0 {16-bit color mode for PNG inclusions}
+the image has been read in 16-bit color resolution.
+\endfeature
+
+\feature 1.30.0 {Gamma correction}
+Try out different gamma parameters. % we have to set them before any data
+\endfeature % is written to the output
+
+\bigskip
+
+% From pdfTeX 1.21 \pdfximage command can be followed by `colorspace <objnum>',
+% where <objnum> is a number of user-defined color space object. Simply speaking,
+% we may instructs the viewer, how the image should be rendered. However, this
+% works only for JPEGs. Here we perform some sort of `color management' by
+% applying a color profile to the JPEG image.
+
+% Be aware; this is viewer dependent.
+
+\feature 1.21 {User-defined image color space hook}
+
+\immediate\pdfobj
+ stream
+ attr {/N 3 /Alternate /DeviceRGB}
+ file {rgb.icc} % color profile
+
+\immediate\pdfobj{[/ICCBased \the\pdflastobj\space 0 R]}
+
+\edef\objnum{\the\pdflastobj}
+
+\pdfximage width 8cm colorspace\objnum {pic.jpg}
+\pdfrefximage\pdflastximage
+The image is calibrated with ICC profile.
+
+\immediate\pdfobj
+ stream attr
+ {/FunctionType 4
+ /Domain [0 1 0 1 0 1]
+ /Range [0 1 0 1 0 1]}{{exch pop exch pop 0 exch 0 exch}}
+
+\immediate\pdfobj % don't treat it serious %)
+ {[/DeviceN [/Red /Green /Blue] /DeviceRGB \the\pdflastobj\space 0 R]}
+
+\edef\objnum{\the\pdflastobj}
+
+\pdfximage width8cm colorspace\objnum {pic.jpg}
+\pdfrefximage\pdflastximage
+Hacked image color space.
+
+\endfeature
+
+\newpage
+
+% Thanks to Hans Hagen pictures created by Metapost can be easily used with
+% pdftex. The following files come from ConTeXt distribution. Another
+% place to get them is http://www.tug.org/applications/pdftex/, where
+% is also possible to get the latest driver file for using LaTeX graphicx
+% package with pdftex.
+
+\input supp-mis.tex % supp-mis.tex is loaded by supp-pdf.tex
+\input supp-pdf.tex % automatically, so the above line could be left
+ % out (it's given here to make clear what all files
+ % are needed to use \convertMPtoPDF)
+
+% the figure cmr10.103 was created by running Metapost on cmr10.mf
+
+% \convertMPtoPDF {filename} {x scale} {y scale}
+\convertMPtoPDF{cmr10.103}{1}{1}
+\newpage
+
+% It is possible to have Metapost code inside the tex sources and call
+% Metapost to generate the figure before calling \convertMPtoPDF.
+
+% define some contants that will be used in the Metapost code
+\def\pointA{(50, 50)}
+\def\pointB{(400, 250)}
+
+\newwrite\mpfile % temporary file for metapost code
+\immediate\openout\mpfile = \jobname.mp
+
+\immediate \write \mpfile {%
+prologues := 1;
+def drawleaf(expr A, B, C) =
+ pickup pencircle scaled 4bp;
+ draw (0, 0) {dir 60} .. A .. {dir 60} B withcolor C;
+ pickup pencircle scaled 2bp;
+ draw A {dir 75} .. {dir 45} B withcolor C;
+ draw A {right} .. {dir 75} B withcolor C;
+enddef;
+beginfig(0);
+ drawleaf(\pointA, \pointB, .6green);
+ d := .5 xpart \pointB;
+ currentpicture := currentpicture reflectedabout ((d, 0), (d, 1));
+endfig;
+beginfig(1);
+ drawleaf(\pointA, \pointB, .6blue);
+ currentpicture := currentpicture reflectedabout (\pointA, \pointB);
+endfig;
+end;
+}
+\immediate \closeout \mpfile % close the file before running Metapost
+
+% Now we call Metapost to generate the ps output; this is system-dependent
+% and has been tested for web2c only. It is necessary to have
+%
+% shell_escape = t
+%
+% in texmf.cnf in order to run it.
+%
+% Starting from pdfTeX 1.21a, one may test if this option is enabled using
+% \ifeof condition (distribution dependent):
+
+\feature 1.21 {Shell escape detection (via \primitive{ifeof})}
+Shell escape (via \primitive{ifeof}) seems to be
+\ifeof18 disabled\else enabled\fi.
+\endfeature
+
+% ...pdfTeX 1.30.0 introduces its own primitive integer flag
+
+\feature 1.30.0 {Shell escape detection (via \primitive{pdfshellescape})}
+Shell escape (via \primitive{pdfshellescape}) seems to be
+\ifnum\pdfshellescape=1 disabled\else enabled\fi.
+\endfeature
+
+% Uncomment line below, if there is Metapost available in your system (should be!)
+% \immediate \write 18 {mpost \jobname.mp} % call Metapost on \jobname.mp
+\convertMPtoPDF{\jobname.0}{1}{1}
+\convertMPtoPDF{\jobname.1}{1}{1}
+
+\newpage
+
+% EPS pictures cannot be inserted directly by pdfTeX, but it's possible to
+% convert them to PDF using a Postscript-to-PDF converter, like Acrobat
+% Distiller or Ghostscript. The below example calls epstopdf (available
+% from http://www.tug.org/applications/pdftex), which preprocess the EPS
+% and afterwards uses Ghostscript to convert to PDF. In order to convert
+% EPS with embedded Type 1 fonts, a later version (beta) of Ghostscript is
+% required.
+
+% Uncomment line below, if there is epstopdf utility available in your system
+
+%\immediate \write 18 {epstopdf --outfile=tmp.pdf cmr10.103} % call epstopdf
+\pdfximage height \vsize {tmp.pdf} % insert the PDF converted from EPS
+\topskip=0pt
+\pdfrefximage \pdflastximage
+\newpage
+
+% some text to try using threads
+
+\def\text{%
+Ah! perhaps a burning match might be some good, if she could draw it from
+the bundle and strike it against the wall, just to warm her fingers. She
+drew one out---"scratch!" how it sputtered as it burnt! It gave a warm,
+bright light, like a little candle, as she held her hand over it. It was
+really a wonderful light. It seemed to the little girl that she was sitting
+by a large iron stove, with polished brass feet and a brass ornament. How
+the fire burned! and seemed so beautifully warm that the child stretched
+out her feet as if to warm them, when, lo! the flame of the match went out,
+the stove vanished, and she had only the remains of the half-burnt match in
+her hand.
+
+ She rubbed another match on the wall. It burst into a flame, and
+where its light fell upon the wall it became as transparent as a veil,
+and she could see into the room. The table was covered with a snowy
+white table-cloth, on which stood a splendid dinner service, and a
+steaming roast goose, stuffed with apples and dried plums. And what
+was still more wonderful, the goose jumped down from the dish and
+waddled across the floor, with a knife and fork in its breast, to
+the little girl. Then the match went out, and there remained nothing
+but the thick, damp, cold wall before her.
+
+ She lighted another match, and then she found herself sitting
+under a beautiful Christmas-tree. It was larger and more beautifully
+decorated than the one which she had seen through the glass door at
+the rich merchant's. Thousands of tapers were burning upon the green
+branches, and colored pictures, like those she had seen in the
+show-windows, looked down upon it all. The little one stretched out
+her hand towards them, and the match went out.
+
+ The Christmas lights rose higher and higher, till they looked to
+her like the stars in the sky. Then she saw a star fall, leaving
+behind it a bright streak of fire. "Some one is dying," thought the
+little girl, for her old grandmother, the only one who had ever
+loved her, and who was now dead, had told her that when a star
+falls, a soul was going up to God.
+
+ She again rubbed a match on the wall, and the light shone round
+her; in the brightness stood her old grandmother, clear and shining,
+yet mild and loving in her appearance. "Grandmother," cried the little
+one, "O take me with you; I know you will go away when the match burns
+out; you will vanish like the warm stove, the roast goose, and the
+large, glorious Christmas-tree." And she made haste to light the whole
+bundle of matches, for she wished to keep her grandmother there. And
+the matches glowed with a light that was brighter than the noon-day,
+and her grandmother had never appeared so large or so beautiful. She
+took the little girl in her arms, and they both flew upwards in
+brightness and joy far above the earth, where there was neither cold
+nor hunger nor pain, for they were with God.
+}
+
+\pdfannot % generic annotation
+ %
+ width 10cm % the dimension of the annotation can be controlled
+ height 0cm % via <rule spec>; if some of dimensions in
+ depth 4cm % <rule spec> is not given, the corresponding
+ % value of the parent box will be used.
+{ %
+ /Subtype /Text % text annotation
+ % /Open true % if given then the text annotation will be opened
+ % by default
+ /Contents % text contents
+ (This text is from THE LITTLE MATCH-SELLER by Hans Christian
+ Andersen)
+}
+
+\def\colsep{\qquad} % column separator
+\setbox0=\vbox{%
+ \baselineskip=1.2em plus 1pt minus 1pt
+ \hsize=2in
+ \tolerance=1000
+ \rightskip=0pt plus 1em
+ \hfuzz=1em
+ \parskip=\baselineskip
+ \null % will use \vsplit to remove this null box and
+ % insert \splittopskip glue to top of the
+ % first column. I don't know how to make the
+ % first column have the same height as other
+ % columns so have to use this trick to ensure
+ % that all columns will have \splittopskip glue
+ % properly inserted at the top
+ \text
+ \vfil}
+
+\setbox1=\vsplit0 to 0pt % remove the null box and insert \splittopskip glue
+\setbox3=\copy0 % make a copy of box0 for later use
+
+% Using thread by explicit determination which boxes will belong to a thread
+
+\setbox2=\hbox{}
+\loop
+ \setbox1=\vsplit0 to .75\vsize
+ \setbox2=\hbox{\unhbox2 \vtop{%
+ \pdfthread % add a bead to the thread with id=`num 1' (given
+ % below)
+ % <rule spec> % dimensions of the bead can be controlled
+ % via <rule spec>; if some of dimensions in
+ % <rule spec> is not given, the corresponding
+ % value of the parent box will be used. If
+ % \pdfthreadmargin is not zero then its value
+ % will be added to the margins of the bead
+ %
+ % additional attributes of thread
+ attr {/I <</Title (THE LITTLE MATCH-SELLER by Hans Christian)>>}
+ %
+ % identifier specification (exactly one of the
+ % following must be specified):
+ %
+ num 1 % num identifier (must be positive), or
+ % name {thread1} % name identifier; \pdfthread with the same id
+ % will be joined together. Attributes of the
+ % final thread is the last one if any was
+ % given.
+ \unvbox1}\colsep}
+\ifdim \ht0 > 0pt \repeat
+\box2
+
+\newpage
+
+% Using thread by automatic determination which boxes will belong to a
+% thread; \pdfstartthread has the same syntax as \pdfthread, apart that it
+% must be followed by a \pdfendthread. \pdfstartthread and the
+% corresponding \pdfendthread must end up in vboxes with the same
+% nesting level; all vboxes between them with the same nesting level will
+% be added into the thread. Note that during output routine if there are
+% other newly created boxes which have the same nesting level as vboxes
+% containing \pdfstartthread and \pdfendthread, they will be also added
+% into the thread, which is probably not what we want. To avoid such
+% unconsidered behaviour, it's often enough to wrap the box that shouldn't
+% belong to the thread by another box to change the nesting level.
+
+\setbox0=\vbox{%
+ \pdfstartthread
+ attr {/I <</Title (THE LITTLE MATCH-SELLER by Hans Christian)>>}%
+ name {thread2}%
+ \unvbox3
+ \pdfendthread
+}
+\setbox2=\hbox{}
+\loop
+ \setbox1=\vsplit0 to .75\vsize
+ \setbox2=\hbox{\unhbox2 \vtop{\unvbox1}\colsep}
+\ifdim \ht0 > 0pt \repeat
+\box2
+
+\newpage
+
+\pdfdest % destination for link and outlines
+ %
+ % identifier specification (exactly one of the
+ % following must be specified):
+ %
+ num 1 % num identifier (must be positive), or
+ % name {dest1} % name identifier. Must be unique in one document
+ %
+ % appearance of destination (exactly one of the
+ % following must be specified):
+ %
+ fit % fit whole page in window
+ % fith % fit whole width of page
+ % fitv % fit whole height of page
+ % fitb % fit whole "Bounding Box" page
+ % fitbh % fit whole width of "Bounding Box" of page
+ % fitbv % fit whole height of "Bounding Box" of page
+ % fitr <rule spec> % fit the rectangle specified by <rule spec>; if
+ % some of dimensions in <rule spec> is not given,
+ % the corresponding value of the parent box will be
+ % used. If \pdfdestmargin is not zero then its
+ % value will be added to the margins of the
+ % rectangle
+ % xyz % goto the current position
+
+This is a page containing destination `num 1'
+
+\newpage
+
+% \pdfstartlink and \pdfendlink are similar to \pdfstartthread and
+% \pdfendthread, but they must end up in hboxes instead of vboxes
+
+\leftline{This is a link to destination
+\pdfstartlink % start a link
+ %
+ height 10pt % dimensions of the link can be controlled
+ depth 3pt % via <rule spec>; if some of dimensions in
+ % <rule spec> is not given, the corresponding
+ % value of the parent box will be used. If
+ % \pdflinkmargin is not zero then its value
+ % will be added to the margins of the link
+ %
+ attr{/C [0.9 0 0] % additional attributes of link
+ /Border [0 0 2]} %
+ %
+ % action specification (exactly one of the
+ % following must be specified):
+ %
+ goto % goto action
+ %
+ % file{file.pdf} % optional file specification; can be used only with
+ % `goto' action or `thread' action (see below). If
+ % action identifier is name then there should be a
+ % destination or a thread with same name identifier
+ % in the file; if action identifier is number then it
+ % means page number for `goto' action (in this case it
+ % will take effect as `fitb' specification) and index
+ % number of thread for `thread' action (the first
+ % thread in a document has index number 0)
+ %
+ % goto action identifier (exactly one of the following
+ % must be specified):
+ %
+ num 1 % goto destination with num identifier
+ % name{dest1} % goto destination with name identifier
+ % page 1 {/Fit} % goto page 1 and fit the whole page
+ %
+ %
+ % thread % thread action; start to read a thread
+ %
+ %file{file.pdf} % optional file specification
+ %
+ % thread action type (exactly one of the following
+ % must be specified):
+ %
+ % num 1 % read thread with num identifier id=`num 1'
+ % name{thread2} % read thread with name identifier id=`name{thread2}'
+ %
+ %
+ % user{ % user-defined action; a URI action can be specified
+ % % as below
+ % /Subtype /Link
+ % /A <<
+ % /Type /Action
+ % /S /URI
+ % /URI (http://www.tug.org/)
+ % >>}
+`num 1'%
+\pdfendlink % end of link; if \pdfstartlink and
+ % \pdfendlink end up in different hboxes (in this
+ % case the boxes must have the same box nesting
+ % level), all hboxes between them will be treated
+ % as part of the link. Line breaks and even page
+ % breaks are allowed between \pdfstartlink and
+ % \pdfendlink
+}
+
+% more link examples
+
+\leftline{%
+ This is a link to the
+ \pdfstartlink
+ goto
+ page 1 {/FitB}% % goto the 1st page and fit the page BBox in the
+ % window
+ first page%
+ \pdfendlink}
+
+\leftline{%
+ This is a link to the
+ \pdfstartlink
+ thread num 1 % read the thread `num 1'
+ thread `num 1'%
+ \pdfendlink}
+
+\leftline{%
+ This is a link to
+ \pdfstartlink
+ attr{ /Border [0 0 0]} % make the bbox of the link invisible
+ user {% % a named action (undocumented in PDF spec)
+ /Subtype /Link
+ /A <<
+ /S /Named
+ /N /GoBack
+ >>}%
+ \Cyan the previous view\Black % color text inside the link
+ \pdfendlink}
+
+\leftline{%
+ This is a link to
+ \pdfstartlink user{%
+ /Subtype /Link
+ /A <<
+ /Type /Action
+ /S /URI
+ /URI (http://www.fi.muni.cz/)
+ >>}%
+ \Red our faculty\Black
+ \pdfendlink}
+
+{\hsize2in \raggedright \noindent
+ This is an example of
+ \pdfstartlink
+ attr{ /Border [0 0 0]} % make the bbox of the link invisible
+ goto page 1 {/FitB}%
+ \Red multiple line link. Make sure that the link and
+ its end must be in horizontal mode and the parent boxes must have the
+ same box nesting level.\Black
+ \pdfendlink
+ A common mistake here is using \primitive{pdfstartlink} at the
+ beginning of the text without \primitive{indent}, \primitive{noindent}
+ or \primitive{leavevmode}, so \primitive{pdfstartlink}
+ will end up in vertical mode and cause an error.
+ \par}
+
+% A sound or movie annotation can be created as below. Using such kinds of
+% annotation or Java script causes the pdf output to be system-dependent.
+% More info about this topic can be found in PDF spec.
+
+% \leftline{%
+% \pdfannot width 4in height 0in depth 3in {%
+% /Subtype /Movie
+% /Movie << /F (MovieFile.mov) >>}
+% An example of movie annotation}
+
+% \leftline{%
+% \pdfannot width 0in height 0in depth 0in {%
+% /Subtype /Sound
+% /Sound << /F (SoundFile.wav) >>}
+% An example of sound annotation}
+
+% \leftline{%
+% \pdfannot width 0in height 0in depth 0in {%
+% /Subtype /Movie
+% /Movie << /F (SoundFile.wav) >>}
+% Sound can be also embedded using Movie annotation}
+
+% outlines (bookmarks):
+\pdfoutline % outline entry specification
+ %
+ goto num 1 % action specification. This is the same as the action
+ % specification of `\pdfstartlink'
+ %
+ count 3 % number of direct subentries of this entry, 0 if this
+ % entry has no subentries (in this case it may be
+ % omitted). If after `count' follows an negative number
+ % then all subentries will be closed and the absolute
+ % value of this number specifies the number of
+ % direct subentries (see the following entries)
+ %
+ {Outline 1} % text contents of outline entry
+
+ \pdfoutline goto num 1 count -2{Outline 1.1}
+ \pdfoutline goto num 1 {Outline 1.1.1}
+ \pdfoutline goto num 1 {Outline 1.1.2}
+ \pdfoutline goto num 1 {Outline 1.2}
+ \pdfoutline goto num 1 {Outline 1.3}
+\pdfoutline goto page 1 {/Fit} {Outline 2}
+
+\newpage
+
+% Transformations are done by changing transformation matrices. See PDF spec for
+% more details how to use it. Generally, a transformation matrix is given as six
+% real numbers followed by operator `cm'. Before doing any transformation we must
+% store current graphic state (by operator `q') and restore it (by operator `Q')
+% after transformation. `q' and `Q' operators acts more or less like `gsave' and
+% `grestore' in Postscript. See examples below. Make sure that *no spacing*
+% can be produced during transformation and afterwards we must adjust spacing `by
+% hand'.
+
+\font\f=cmb10 at 50pt
+\setbox0=\hbox{\f Rotated text}
+\setbox1=\hbox{\f Scaled text}
+\setbox2=\hbox{\f Skewed text}
+
+\newdimen\d
+\newbox\tmpbox
+\def\avoidboxdimen#1{%
+ \setbox\tmpbox=\hbox{\box#1}%
+ \wd\tmpbox=0pt
+ \ht\tmpbox=0pt
+ \dp\tmpbox=0pt
+ \box\tmpbox}
+
+\hrule
+
+% rotation by `t' degrees counterclockwise is specified as
+% `cos(t) sin(t) -sin(t) cos(t) 0 0'.
+\vskip\wd0
+\leftline{\hskip\ht0\hskip\dp0%
+\pdfliteral{q 0 1 -1 0 0 0 cm}%
+\avoidboxdimen 0
+\pdfliteral{Q}}
+
+\hrule
+
+% scaling is specified as `Sx 0 0 Sy 0 0'
+\d=\ht1 \advance\d by \dp1
+\vskip3\d
+\pdfliteral{q 2 0 0 3 0 0 cm}%
+\avoidboxdimen 1
+\pdfliteral{Q}%
+
+\hrule
+
+% skewing x-axis by `u' degrees and y-axis by `v' degrees is specified as
+% `1 tan(u) tan(v) 1 0 0'.
+\d=\ht2 \advance\d by \dp2
+\vskip\d
+\d=0.57735\wd2 %tan(30) = 0.57735
+\pdfliteral{q 1 -0.57735 0 1 0 0 cm}%
+\avoidboxdimen 2
+\pdfliteral{Q}
+\vskip\d
+
+% To have a smoothly readable PDF output one may use a newline character to
+% separate entries written directly do PDF code. No matter for the viewer.
+
+\def\n{^^J}
+
+% If the file is modified are released oftenly (as this one) it might be convenient to
+% keep trace of modification time. In pdfTeX 1.30.0 there is a
+% \pdfcreationdate that returns a date of the file being created.
+% Date is formated in PDF way.
+
+\ifversion 1.30.0 \else
+
+\count100=\time
+\divide\count100 by60
+\edef\pdfcreationdate{\ifnum\count100<10 0\fi\the\count100} % hours
+\multiply\count100 by-60
+\advance\count100 by\time
+\edef\pdfcreationdate{%
+ \pdfcreationdate
+ \ifnum\count100<10 0\fi\the\count100 00} % minutes (seconds zeroed)
+\edef\pdfcreationdate{%
+ D:\the\year
+ \ifnum\month<10 0\fi\the\month
+ \ifnum\day<10 0\fi\the\day
+ \pdfcreationdate} % time zone discarded
+
+\fi
+
+\pdfinfo{% % Info dictionary of PDF output;
+ % all keys are optional.
+ /Author (Han The Thanh)
+ \n/CreationDate (D:20001212000000) % (D:YYYYMMDDhhmmss)
+ % YYYY year
+ % MM month
+ % DD day
+ % hh hour
+ % mm minutes
+ % ss seconds
+ %
+ % default: the actual date
+ %
+ \n/ModDate (\pdfcreationdate) % ModDate is similar
+ \n/Creator (TeX) % default: "TeX"
+ \n/Producer (pdfTeX) % default: "pdfTeX" + pdftex version
+ \n/Title (samplepdf.pdf) %
+ \n/Subject (Example) %
+ \n/Keywords (PDF TeX) %
+}
+
+\pdfcatalog{ % Catalog dictionary of PDF output.
+ /PageMode /UseOutlines %
+ /URI (http://www.fi.muni.cz/) %
+% pdfscreen-like setting might look like:
+% /PageMode /none
+% /ViewerPreferences <<
+% /HideToolbar true
+% /HideMenubar true
+% /HideWindowUI true
+% /FitWindow true
+% /CenterWindow true
+% >>
+}
+openaction goto page 1 {/Fit} % the action to be activated when
+ % opening the document; this is the
+ % same as <action spec> for links
+ % and outlines
+\end
diff --git a/Master/texmf/doc/pdftex/manual/samplepdf/supp-mis.tex b/Master/texmf/doc/pdftex/manual/samplepdf/supp-mis.tex
new file mode 100644
index 00000000000..ab089a297e1
--- /dev/null
+++ b/Master/texmf/doc/pdftex/manual/samplepdf/supp-mis.tex
@@ -0,0 +1,695 @@
+%D \module
+%D [ file=supp-mis,
+%D version=2004.10.26, % 1997.01.04,
+%D title=\CONTEXT\ Support Macros,
+%D subtitle=Missing (For Generic Use),
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D Some support modules are more or less independant. This
+%D module, which is not part of plain \CONTEXT, provides the
+%D missing macros and declarations of registers.
+
+\ifx \undefined \writestatus \else \expandafter \endinput \fi
+
+%D Because \LATEX\ has no safe package loading mechanism, we
+%D need to take care of possible interference.
+
+\def\StartLatexHack
+ {\edef\StopLatexHack
+ {\catcode`\noexpand/=\the\catcode`/
+ \catcode`\noexpand:=\the\catcode`:
+ \catcode`\noexpand;=\the\catcode`;
+ \catcode`\noexpand"=\the\catcode`"
+ \catcode`\noexpand<=\the\catcode`<
+ \catcode`\noexpand>=\the\catcode`>}%
+ \catcode`/=12 \catcode`:=12 \catcode`;=12
+ \catcode`"=12 \catcode`<=12 \catcode`>=12 }
+
+%D This hack is needed especially for \LATEX\ users who use
+%D the Babel package. The Germans have active \type {"}'s, the
+%D Poles have \type {/}, while the French have \type {:} and
+%D \type {;} defines as command (thanks to Daniel Flipo for
+%D pointing that out and testing). Potentially active \type
+%D {?}'s and \type {!}'s are less dangerous since they are
+%D handled by the \type {\protect} and \type {\unprotect}
+%D macros.
+
+\StartLatexHack
+
+%D \macros
+%D {ifnocontextobject}
+%D
+%D First we take care of redundant defining. The next set of
+%D macros are a bit complicated by the fact that Plain
+%D \TEX\ defines the \type{\new}||macros as being outer.
+%D Furthermore nested \type{\if}'s can get us into
+%D trouble.
+
+\def\definecontextobject
+ {\iftrue}
+
+\def\gobblecontextobject
+ {\setbox0\hbox
+ \bgroup
+ \long\def\gobblecontextobject##1\fi{\egroup}%
+ \expandafter\gobblecontextobject\string}
+
+\long\def\ifnocontextobject#1\do
+ {\ifx#1\undefined
+ \expandafter\definecontextobject
+ \else
+ %\writestatus{system}{beware of conflicting \string#1}%
+ \expandafter\gobblecontextobject
+ \fi}
+
+%D \macros
+%D {beginETEX,beginTEX}
+%D
+%D Outside \CONTEXT\ we will not be \ETEX||aware.
+
+\long\def\beginETEX #1\endETEX {}
+\long\def\beginOMEGA#1\endOMEGA{}
+
+\let\beginTEX\relax \let\endTEX\relax
+
+%D \macros
+%D {writestatus}
+%D
+%D We start each module with a message. Normally the output is
+%D formatted, but here we keep things simple.
+
+\ifnocontextobject \writestatus \do
+
+ \def\writestatus#1#2%
+ {\immediate\write16{#1 : #2}}
+
+\fi
+
+%D Let's see if it works.
+
+\writestatus{loading}{Context Support Macros / Miscellaneous (2004.10.26)}
+
+%D \macros
+%D {protect,unprotect}
+%D
+%D Next we present a poor mans alternative for \type{\protect}
+%D and \type{\unprotect}, two commands that enable us to use
+%D the characters \type{@}, \type{!} and \type{?} in macro
+%D names.
+
+\ifnocontextobject \protect \do
+
+ \let\protect\relax
+
+\fi
+
+\newcount\protectiondepth
+
+\ifnocontextobject \unprotect \do
+
+ \def\unprotect
+ {\advance\protectiondepth 1
+ \ifnum\protectiondepth=1
+ \let\normalprotect=\protect
+ \def\protect
+ {\ifnum\protectiondepth>0
+ \advance\protectiondepth -1
+ \ifnum\protectiondepth=0
+ \doprotect
+ \let\protect=\normalprotect
+ \fi
+ \fi}
+ \edef\doprotect
+ {\catcode`\noexpand @=\the\catcode`@\relax
+ \catcode`\noexpand !=\the\catcode`!\relax
+ \catcode`\noexpand ?=\the\catcode`?\relax}
+ \catcode`@=11
+ \catcode`!=11
+ \catcode`?=11
+ \fi}
+
+\fi
+
+%D We start using this one it at once.
+
+\unprotect
+
+%D \macros
+%D {scratch...,if...,next...}
+%D
+%D We need some scratch registers. Users are free to use them,
+%D but can never be sure of their value once another macro is
+%D called. We only allocate things when they are yet
+%D undefined. This way we can't mess up other macro packages,
+%D but of course previous definitions can mess up our modules.
+
+\ifnocontextobject \donetrue \do \newif\ifdone \fi
+
+% no time now, will do a better test later (based on dimendef)
+
+\def\!!stringa{plain} \ifx\!!stringa\fmtname \donetrue \else
+\def\!!stringa{babel-plain} \ifx\!!stringa\fmtname \donetrue \else
+ \donefalse \fi \fi
+
+\ifdone
+ % plain defines some 15 dimens, so we need to define a few
+ % dummies in order to get out of the scratch area
+ \newdimen\scratchdimen % 16
+ \newdimen\scratchdimen % 17
+ \newdimen\scratchdimen % 18
+ \newdimen\scratchdimen % 19
+ \newdimen\scratchdimen % 20
+ \newdimen\scratchdimen % 21
+\fi
+
+\ifnocontextobject \scratchcounter \do \newcount \scratchcounter \fi
+\ifnocontextobject \scratchtoks \do \newtoks \scratchtoks \fi
+\ifnocontextobject \scratchdimen \do \newdimen \scratchdimen \fi
+\ifnocontextobject \scratchskip \do \newskip \scratchskip \fi
+\ifnocontextobject \scratchmuskip \do \newmuskip \scratchmuskip \fi
+\ifnocontextobject \scratchbox \do \newbox \scratchbox \fi
+\ifnocontextobject \scratchread \do \newread \scratchread \fi
+\ifnocontextobject \scratchwrite \do \newwrite \scratchwrite \fi
+
+%D Watch out, in the past we ran into troubles with \type {\onepoint}
+%D (and others) mening something different in \LATEX\ then here. In
+%D such situations clashes are bound to happen. For this reason the
+%D assignments are no inside the test. We try to catch those situations
+%D but we cannot keep ahead of teh future.
+
+\ifnocontextobject \zeropoint \do \newdimen \zeropoint \zeropoint = 0pt \fi % else problems with dimen12
+\ifnocontextobject \onepoint \do \newdimen \onepoint \onepoint = 1pt \fi
+\ifnocontextobject \onebasepoint \do \newdimen \onebasepoint \onebasepoint = 1bp \fi
+\ifnocontextobject \zerocount \do \chardef \zerocount = 0 \fi
+\ifnocontextobject \plusone \do \chardef \plusone = 1 \fi
+\ifnocontextobject \minusone \do \newcount \minusone \minusone = -1 \fi
+\ifnocontextobject \thousandpoint \do \newdimen \thousandpoint \thousandpoint = 1000pt \fi
+\ifnocontextobject \onerealpoint \do \newdimen \onerealpoint \onerealpoint = 1pt \fi % latex has a funny \onepoint
+
+\ifnocontextobject \emptytoks \do \newtoks \emptytoks \fi
+\ifnocontextobject \nextbox \do \newbox \nextbox \fi
+\ifnocontextobject \nextdepth \do \newdimen \nextdepth \fi
+
+\ifnocontextobject \CONTEXTtrue \do \newif\ifCONTEXT \fi
+\ifnocontextobject \eightbitcharacterstrue \do \newif\ifeightbitcharacters \fi
+\ifnocontextobject \MPdrawingdonetrue \do \newif\ifMPdrawingdone \fi
+
+\ifnocontextobject \ifzeropt \do \let\ifzeropt\ifcase \fi
+
+%D \macros
+%D {@@...}
+%D
+%D We use symbolic name for \CATCODES. They can only be used
+%D when we are in unprotected state.
+
+\ifnocontextobject \@@escape \do \chardef\@@escape = 0 \fi
+\ifnocontextobject \@@begingroup \do \chardef\@@begingroup = 1 \fi
+\ifnocontextobject \@@endgroup \do \chardef\@@endgroup = 2 \fi
+\ifnocontextobject \@@endofline \do \chardef\@@endofline = 5 \fi
+\ifnocontextobject \@@ignore \do \chardef\@@ignore = 9 \fi
+\ifnocontextobject \@@space \do \chardef\@@space = 10 \fi
+\ifnocontextobject \@@letter \do \chardef\@@letter = 11 \fi
+\ifnocontextobject \@@other \do \chardef\@@other = 12 \fi
+\ifnocontextobject \@@active \do \chardef\@@active = 13 \fi
+\ifnocontextobject \@@comment \do \chardef\@@comment = 14 \fi
+
+\def\s!sp{sp}
+\def\s!pt{pt}
+\def\s!bp{bp}
+
+%D \macros
+%D {@EA,expanded,expandoneargafter,expandtwoargsafter}
+%D
+%D Also needed:
+
+\let\@EA=\expandafter \let\@@expanded\empty
+
+\def\expanded#1%
+ {\long\xdef\@@expanded{\noexpand#1}\@@expanded}
+
+\def\expandoneargafter#1#2%
+ {\@EA#1\@EA{#2}}
+
+\def\expandtwoargsafter#1#2#3%
+ {\@EA\@EA\@EA#1\@EA\@EA\@EA{\@EA#2\@EA}\@EA{#3}}
+
+\def\@EAEAEA{\@EA\@EA\@EA}
+
+%D \macros
+%D {everyline,EveryLine,EveryPar}
+%D
+%D In \CONTEXT\ we use \type{\everypar} for special purposes
+%D and provide \type{\EveryPar} as an alternative. The same
+%D goes for \type{\everyline} and \type{\EveryLine}.
+
+\ifnocontextobject \everyline \do \newtoks\everyline \fi
+\ifnocontextobject \EveryPar \do \let\EveryPar =\everypar \fi
+\ifnocontextobject \EveryLine \do \let\EveryLine=\everyline \fi
+
+%D \macros
+%D {globallet}
+
+\def\globallet{\global\let}
+
+%D \macros
+%D {!!...}
+%D
+%D We reserve ourselves some scratch strings (i.e. macros)
+%D and some more counters.
+
+\ifnocontextobject \!!stringa \do \def\!!stringa {} \fi
+\ifnocontextobject \!!stringb \do \def\!!stringb {} \fi
+\ifnocontextobject \!!stringc \do \def\!!stringc {} \fi
+\ifnocontextobject \!!stringd \do \def\!!stringd {} \fi
+
+\ifnocontextobject \!!counta \do \newcount\!!counta {} \fi
+\ifnocontextobject \!!countb \do \newcount\!!countb {} \fi
+
+%D \macros
+%D {!!...}
+%D
+%D The next set of definitions speed up processing a bit.
+%D Furthermore it saves memory.
+
+\ifnocontextobject \!!zeropoint \do \def\!!zeropoint {0pt} \fi
+\ifnocontextobject \!!zerocount \do \def\!!zerocount {0} \fi
+\ifnocontextobject \!!tenthousand \do \def\!!tenthousand {10000} \fi
+
+\ifnocontextobject \!!width \do \def\!!width {width} \fi
+\ifnocontextobject \!!height \do \def\!!height {height} \fi
+\ifnocontextobject \!!depth \do \def\!!depth {depth} \fi
+
+\ifnocontextobject \!!plus \do \def\!!plus {plus} \fi
+\ifnocontextobject \!!minus \do \def\!!minus {minus} \fi
+\ifnocontextobject \!!to \do \def\!!to {to} \fi
+
+%D \macros
+%D {smashbox}
+%D
+%D The system modules offer a range of smashing macros, of
+%D which we only copied \type{\smashbox}.
+
+\ifnocontextobject \smashbox \do
+
+ \def\smashbox#1%
+ {\wd#1\zeropoint
+ \ht#1\zeropoint
+ \dp#1\zeropoint}
+
+\fi
+
+%D \macros
+%D {dowithnextbox}
+%D
+%D Also without further comment, we introduce a macro that
+%D gets the next box and does something usefull with it.
+%D Because the \type{\afterassignment} is executed inside the
+%D box, we have to use a \type{\aftergroup} too.
+
+\ifnocontextobject \dowithnextbox \do
+
+ \def\dowithnextbox#1%
+ {\def\dodowithnextbox{#1}%
+ \afterassignment\dododowithnextbox
+ \setbox\nextbox}
+
+ \def\dododowithnextbox%
+ {\aftergroup\dodowithnextbox}
+
+\fi
+
+%D \macros
+%D {setvalue,setevalue,setxvalue,,setgvalue,
+%D getvalue,
+%D letvalue,letgvalue}
+%D
+%D The next two macros expand their argument to
+%D \type{\argument}. The first one is used to define macro's
+%D the second one executes them.
+
+\ifnocontextobject \setvalue \do
+
+ \def\setvalue #1{\expandafter\def\csname#1\endcsname}
+ \def\setevalue#1{\expandafter\edef\csname#1\endcsname}
+ \def\setgvalue#1{\expandafter\gdef\csname#1\endcsname}
+ \def\setxvalue#1{\expandafter\xdef\csname#1\endcsname}
+ \def\getvalue #1{\csname#1\endcsname}
+ \def\letvalue #1{\expandafter\let\csname#1\endcsname}
+ \def\letgvalue#1{\global\expandafter\let\csname#1\endcsname}
+\fi
+
+%D \macros
+%D {unexpanded}
+%D
+%D The next command can be used as prefixed for commands that
+%D need protection during tests and writing to files. This
+%D is a very \CONTEXT\ specific one.
+
+\ifnocontextobject \unexpanded \do
+
+ \let\unexpanded\relax
+
+\fi
+
+%D \macros
+%D {convertargument}
+%D
+%D The original one offers a bit more, like global assignment, the
+%D the next implementation is however a bit more byte saving.
+
+\ifnocontextobject \convertargument \do
+
+ \def\doconvertargument#1>{}
+
+ \long\def\convertargument#1\to#2%
+ {\long\def\convertedargument{#1}%
+ \edef#2{\expandafter\doconvertargument\meaning\convertedargument}}
+
+\fi
+
+%D \macros
+%D {forgetall}
+%D
+%D Sometimes we have to disable interference of whatever kind
+%D of skips and mechanisms. The next macro resets some.
+
+\ifnocontextobject \forgetall \do
+
+ \def\forgetall
+ {\parskip\zeropoint
+ \leftskip\zeropoint
+ \parindent\zeropoint
+ \everypar{}}
+
+\fi
+
+%D \macros
+%D {withoutpt,
+%D ScaledPointsToBigPoints,ScaledPointsToWholeBigPoints}
+%D
+%D \TEX\ lacks some real datastructure. We can however use
+%D \DIMENSIONS. This kind of trickery is needed when we want
+%D \TEX\ to communicate with the outside world (by means of
+%D \type{\specials}).
+
+\ifnocontextobject \withoutpt \do
+
+ {\catcode`\.=\@@other
+ \catcode`\p=\@@other
+ \catcode`\t=\@@other
+ \gdef\WITHOUTPT#1pt{#1}}
+
+ \def\withoutpt#1%
+ {\expandafter\WITHOUTPT#1}
+
+ \def\ScaledPointsToBigPoints#1#2%
+ {\scratchdimen=#1sp\relax
+ \scratchdimen=.996264\scratchdimen
+ \edef#2{\withoutpt{\the\scratchdimen}}}
+
+ \def\ScaledPointsToWholeBigPoints#1#2%
+ {\scratchdimen=#1sp
+ \scratchdimen=.996264\scratchdimen
+ \scratchcounter=\scratchdimen
+ \advance\scratchcounter by 32768
+ \divide\scratchcounter by 65536
+ \edef#2{\the\scratchcounter}}
+
+\fi
+
+%D \macros
+%D {doprocessfile}
+%D
+%D This macro takes three arguments: the file number, the
+%D filename and a macro that handles the content of a read
+%D line.
+
+\newif\iffileprocessed
+
+\ifnocontextobject \doprocessfile \do
+
+ \def\doprocessfile#1#2#3%
+ {\openin#1=#2\relax
+ \ifeof#1%
+ \fileprocessedfalse
+ \closein#1\relax
+ \else
+ \fileprocessedtrue
+ \gdef\dofinishfile%
+ {\closein#1\relax
+ \global\let\doprocessline\relax}%
+ \gdef\doprocessline%
+ {\ifeof#1%
+ \dofinishfile
+ \else
+ \global\read#1 to \fileline
+ #3\relax
+ \expandafter\doprocessline
+ \fi}%
+ \expandafter\doprocessline
+ \fi}
+
+\fi
+
+%D \macros
+%D {uncatcodespecials}
+%D
+%D This one is taken from the \TEX\ book. The \CONTEXT\
+%D alternative is a bit different, but we hope this one works
+%D here.
+
+\ifx\dospecials\undefined
+
+ \def\dospecials
+ {\do\ \do\\\do\{\do\}\do\$%
+ \do\#\do\^\do\_\do\&\do\%%
+ \do\~\do\^^A\do\^^K}
+
+\fi
+
+\ifnocontextobject \uncatcodespecials \do
+
+ \def\uncatcodespecials
+ {\def\do##1{\catcode`##1=12 }\dospecials
+ \catcode`\ =\@@space
+ \catcode`\^^L=\@@ignore
+ \catcode`\^^M=\@@endofline
+ \catcode`\^^?=\@@ignore}
+
+\fi
+
+\ifnocontextobject \setnaturalcatcodes \do
+
+\def\setnaturalcatcodes
+ {\catcode`\!=\@@other \catcode`\?=\@@other \catcode`\@=\@@other
+ \catcode`\#=\@@other \catcode`\&=\@@other \catcode`\|=\@@other
+ \catcode`\$=\@@other \catcode`\^=\@@other \catcode`\_=\@@other
+ \catcode`\*=\@@other \catcode`\/=\@@other
+ \catcode`\-=\@@other \catcode`+=\@@other
+ \catcode`\==\@@other \catcode`\<=\@@other \catcode`\>=\@@other
+ \catcode`\"=\@@other \catcode`\'=\@@other \catcode`\`=\@@other
+ \catcode`\:=\@@other \catcode`\;=\@@other
+ \catcode`\,=\@@other \catcode`\.=\@@other \catcode`\~=\@@other
+ \catcode`\(=\@@other \catcode`\)=\@@other
+ \catcode`\{=\@@other \catcode`\}=\@@other
+ \catcode`\\=\@@other \catcode`\%=\@@other }
+
+\fi
+
+%D \macros
+%D {doglobal}
+%D
+%D Some \CONTEXT\ low level macros can have a \type{\doglobal}
+%D prefix. Let's just forget about that here:
+
+\ifnocontextobject \doglobal \do \let\doglobal\relax \fi
+
+%D The next obscure one is needed in the generic verbatim
+%D environment. When we end up with more of these, it's time
+%D to load the module \type{syst-gen}.
+
+\ifnocontextobject \doifincsnameelse \do
+
+ \def\dodoifincsnameelse#1#2%
+ {\def\dododoifincsnameelse##1#1##2##3\war%
+ {\csname\if##2@iffalse\else iftrue\fi\endcsname}%
+ \expandafter\dododoifincsnameelse#2#1@@\war}
+
+ \long\def\doifincsnameelse#1#2#3#4%
+ {\edef\@@instring{#1}%
+ \expandafter\dodoifincsnameelse\expandafter{\@@instring}{#2}%
+ #3%
+ \else
+ #4%
+ \fi}
+
+\fi
+
+%D \macros
+%D {dostepwiserecurse, dorecurse, doloop, exitloop}
+%D
+%D The next loop macro is a real weak one, and does not offer
+%D the full \CONTEXT\ functionality, let alone nesting, but
+%D for simple purposes, its behaviour is acceptable.
+
+\newcount\recursecounter
+
+\def\dostepwiserecurse#1#2#3#4% very weak and rubishly version
+ {\ifnum#2<#1\relax\else\dodostepwiserecurse{#1}{#2}{#3}{#4}\fi}
+
+\def\dodostepwiserecurse#1#2#3#4% very weak and rubishly version
+ {\recursecounter=#1\relax
+ \loop
+ \edef\recurselevel{\the\recursecounter}%
+ #4\relax
+ \ifnum\recursecounter<#2\relax
+ \advance\recursecounter by #3\relax
+ \repeat}
+
+\def\dorecurse#1%
+ {\dostepwiserecurse{1}{#1}{1}}
+
+\def\doloop
+ {\dostepwiserecurse{1}{\maxdimen}{1}}
+
+\def\exitloop
+ {\recursecounter=\maxdimen}
+
+%D \macros
+%D {ifundefined,doifdefined,doifundefined,
+%D doifdefinedelse,doifundefinedelse}
+%D
+%D These alteratives are not robust but suitable for simple
+%D usage. The official ones are a bit faster.
+
+\ifnocontextobject \doifdefined \do
+
+ \def\ifundefined#1%
+ {\expandafter\ifx\csname#1\endcsname\relax}
+
+ \def\doifdefinedelse#1#2#3%
+ {\expandafter\ifx\csname#1\endcsname\relax#3\else#2\fi}
+
+ \def\doifundefinedelse#1#2#3%
+ {\expandafter\ifx\csname#1\endcsname\relax#2\else#3\fi}
+
+ \def\doifdefined#1#2%
+ {\expandafter\ifx\csname#1\endcsname\relax\else#2\fi}
+
+ \def\doifundefined#1#2%
+ {\expandafter\ifx\csname#1\endcsname\relax#2\fi}
+
+\fi
+
+%D \macros
+%D {doifinstringelse}
+%D
+%D It seems like we end up with more and more macros here.
+%D Sigh.
+
+\ifnocontextobject \doifinstringelse \do
+
+ \def\p!doifinstringelse#1#2%
+ {\def\pp!doifinstringelse##1#1##2##3\war%
+ {\csname if\if##2@fals\else tru\fi e\endcsname}%
+ \expanded{\pp!doifinstringelse#2#1@@\noexpand\war}}
+
+ \long\def\doifinstringelse#1#2#3#4%
+ {\edef\@@@instring{#1}%
+ \@EA\p!doifinstringelse\@EA{\@@@instring}{#2}#3\else#4\fi}
+
+\fi
+
+%D \macros
+%D {twodigitrounding}
+%D
+%D We don't support rounding outside \CONTEXT. Sorry.
+
+\def\twodigitrounding#1{#1}
+
+%D \macros
+%D {lineheight}
+%D
+%D In \CONTEXT\ we have \type{\lineheight}, which in many
+%D cases matches \type {\baselineskip}.
+
+\ifnocontextobject \lineheight \do
+
+ \def\lineheight{\baselineskip}
+
+\fi
+
+%D \macros
+%D {dohandletokens}
+%D
+%D The following macro is the simplified version, but good
+%D enough for day to day hacks.
+%D
+%D \starttyping
+%D \dohandletokens some text\with\somemacro
+%D \stoptyping
+
+\ifnocontextobject \dohandletokens \do
+
+\def\dodohandletokens
+ {\ifx\next\end \else
+ \docommando{\next}%
+ \expandafter\dohandletokens
+ \fi}
+
+\def\dohandletokens
+ {\afterassignment\dodohandletokens\let\next= }
+
+\long\def\handletokens#1\with#2%
+ {\let\docommando=#2%
+ \dohandletokens#1\end}
+
+\fi
+
+%D Very reduced:
+
+\long\def\appendtoks#1\to#2%
+ {\scratchtoks{#1}\expanded{#2{\the#2\the\scratchtoks}}}
+
+%D Well, also handy.
+
+\def\doiffileelse#1#2#3%
+ {\immediate\openin\scratchread=#1\relax
+ \ifeof\scratchread
+ \def\next{#3}%
+ \else
+ \def\next{#2}%
+ \fi
+ \immediate\closein\scratchread
+ \next}
+
+%D New.
+
+\let\donothing\empty
+
+%D Also new:
+
+\def\letempty #1{\let#1\empty}
+\def\globalletempty#1{\global\let#1\empty}
+
+\def\letvalueempty #1{\expandafter\let\csname#1\endcsname\empty}
+\def\letgvalueempty#1{\global\expandafter\let\csname#1\endcsname\empty}
+
+%D Sigh
+
+\def\settrue #1{\chardef#1\zerocount}
+\def\setfalse#1{\chardef#1\plusone}
+
+\let\newconditional = \setfalse
+\let\ifconditional = \ifcase
+
+%D That's it. Please forget this junk and take a look at how
+%D it should be done.
+
+\StopLatexHack \protect \endinput
diff --git a/Master/texmf/doc/pdftex/manual/samplepdf/supp-pdf.tex b/Master/texmf/doc/pdftex/manual/samplepdf/supp-pdf.tex
new file mode 100644
index 00000000000..184cfb81582
--- /dev/null
+++ b/Master/texmf/doc/pdftex/manual/samplepdf/supp-pdf.tex
@@ -0,0 +1,2191 @@
+%D \module
+%D [ file=supp-pdf,
+%D version=2004.12.16,
+%D title=\CONTEXT\ Support Macros,
+%D subtitle=\METAPOST\ to \PDF\ conversion,
+%D author=Hans Hagen \& others (see text),
+%D date=\currentdate,
+%D copyright=\PRAGMA]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D These macros are written as generic as possible. Some
+%D general support macro's are loaded from a small module
+%D especially made for non \CONTEXT\ use. In this module I
+%D use a matrix transformation macro written by Tanmoy
+%D Bhattacharya. Thanks to extensive testing by Sebastian
+%D Ratz I was able to complete this module within reasonable
+%D time. This module has support for \METAPOST\ extensions
+%D built in.
+%D
+%D Daniel H. Luecking came up with a better (more precise)
+%D transformation method. You can recognize his comment by
+%D his initials. (We keep the old code around because it's a
+%D nice illustration on how a module like this evolves.)
+
+% Beware, we cannot use \zeropoint here since it may be
+% defined in the range \dimen 0 - 20 which we happen to use
+% as scratch registers; inside context we may consider
+% using dedicated registers.
+
+% fails: ( ) vect10 9.96265 fshow % \040\040\040\040
+%
+% some optimizations are possible, but we need to be generic
+
+%D First we take care of non||\CONTEXT\ use (newlines needed,
+%D expandafter not -).
+
+\ifx \undefined \writestatus \input supp-mis.tex \relax \fi
+
+\ifx \undefined \convertMPtoPDF \else \expandafter \endinput \fi
+
+\ifx \undefined \StartLatexHack \else \StartLatexHack \fi
+
+%D This module handles some \PDF\ conversion and insertions
+%D topics. By default, the macros use the \PDFTEX\ primitive
+%D \type{\pdfliteral} when available. Since \PDFTEX\ is now the
+%D default engine for \TEX\ distributions, we need a more complex
+%D test.
+
+\writestatus{loading}{Context Support Macros / PDF (2004.03.26)}
+
+\unprotect
+
+\ifx\PDFcode\undefined
+ \ifx\pdfliteral\undefined
+ \def\PDFcode#1{\special{PDF: #1}}
+ \else\ifx\pdfoutput\undefined
+ \def\PDFcode#1{\special{PDF: #1}}
+ \else\ifcase\pdfoutput
+ \def\PDFcode#1{\special{PDF: #1}}
+ \else % pdftex as well as in pdf mode
+ \let\PDFcode\pdfliteral
+ \fi\fi\fi
+\else
+ % we probably use context
+\fi
+
+%D First we define a handy constant:
+
+\bgroup \catcode`\%=\@@other \xdef\letterpercent{\string%} \egroup
+
+%D \macros
+%D {pdfimage,pdfimages,pdfclippedimage}
+%D
+%D Starting with pdftex version 14, images are included more
+%D natural to the form embedding. This enables alternative
+%D images to be embedded.
+%D
+%D \starttyping
+%D \pdfimage <optional dimensions> {file}
+%D \pdfimages <optional dimensions> {high res file} {low res file}
+%D \stoptyping
+%D
+%D The first one replaces the pre||version||14 original,
+%D while the latter provides alternative images.
+%D
+%D The next macro is dedicated to Maarten Gelderman, who
+%D needed to paste prepared \PDF\ pages into conference
+%D proceedings.
+%D
+%D \starttyping
+%D \pdfclippedimage <optional dimensions> {file} {l} {r} {t} {b}
+%D \stoptyping
+
+% \ifx\pdftexversion\undefined % no \m!systems for the sake of latex
+% \writestatus{systems}{Why not use pdf(e)TeX binaries?}
+% \protect
+% \expandafter\endinput
+% \fi
+
+\ifx\pdftexversion\undefined \else \ifnum\pdftexversion>13
+
+ \def\pdfimage#1#%
+ {\dopdfimage{#1}}
+
+ \def\dopdfimage#1#2%
+ {\immediate\pdfximage#1{#2}%
+ \pdfrefximage\pdflastximage}
+
+ \def\pdfimages#1#%
+ {\dopdfimages{#1}}
+
+ \def\dopdfimages#1#2#3%
+ {\immediate\pdfximage#1{#2}%
+ \immediate\pdfobj
+ {[ << /Image \the\pdflastximage\space0 R
+ /DefaultForPrinting true >> ]}%
+ \immediate\pdfximage#1
+ attr {/Alternates \the\pdflastobj\space0 R}{#3}%
+ \pdfrefximage\pdflastximage}
+
+ \def\pdfclippedimage#1#% specs {file}{left}{right}{top}{bottom}
+ {\dopdfclippedimage{#1}}
+
+ \def\dopdfclippedimage#1#2#3#4#5#6%
+ {\bgroup
+ \pdfximage#1{#2}%
+ \setbox\scratchbox\hbox
+ {\pdfrefximage\pdflastximage}%
+ \hsize\wd\scratchbox
+ \advance\hsize -#3
+ \advance\hsize -#4
+ \vsize\ht\scratchbox
+ \advance\vsize -#5
+ \advance\vsize -#6
+ \setbox\scratchbox\vbox to \vsize
+ {\vskip-#5\hbox to \hsize{\hskip-#3\box\scratchbox\hss}}%
+ \pdfxform\scratchbox
+ \pdfrefxform\pdflastxform
+ \egroup}
+
+\fi \fi
+
+%D If you want to save a few hash entries, you may prefer the
+%D less readable alternatives, like:
+%D
+%D \starttyping
+%D \def\pdfimage#1#% This one is less readable but needs no additional
+%D {\bgroup % hash entry for the second stage macro.
+%D \def\pdfimage##1%
+%D {\immediate\pdfximage##1{#2}%
+%D \pdfrefximage\pdflastximage\egroup}}
+%D \stoptyping
+
+%D For old times sake we provide a few aliases. These will be
+%D removed some day.
+
+\ifx\pdftexversion\undefined \else \ifnum\pdftexversion>13
+
+ \let\pdfform =\pdfxform
+ \let\pdflastform=\pdflastxform
+ \let\pdfrefform =\pdfrefxform
+
+\fi \fi
+
+%D \macros
+%D {convertPDFtoPDF}
+%D
+%D \PDFTEX\ supports verbatim inclusion of \PDF\ code. The
+%D following macro takes care of inserting externally defined
+%D illustrations in \PDF\ format. According to a suggestion
+%D Tanmoy Bhattacharya posted to the \PDFTEX\ mailing list, we
+%D first skip lines until \type{stream} is reached and then
+%D copy lines until \type{endstream} is encountered. This
+%D scheme only works with vectorized graphics in which no
+%D indirect references to objects are used. Bitmaps also don't
+%D work. Interpreting their specifications is beyond the
+%D current implementation.
+%D
+%D \starttyping
+%D \convertPDFtoPDF
+%D {filename}
+%D {x scale} {y scale}
+%D {x offset } {y offset}
+%D {width} {height}
+%D \stoptyping
+%D
+%D When the scales are set to~1, the last last four values
+%D are the same as the bounding box, e.g.
+%D
+%D \starttyping
+%D \convertPDFtoPDF{mp-pra-1.pdf} {1} {1}{-1bp}{-1bp}{398bp}{398bp}
+%D \convertPDFtoPDF{mp-pra-1.pdf}{.5}{.5} {0bp} {0bp}{199bp}{199bp}
+%D \stoptyping
+%D
+%D Keep in mind, that this kind of copying only works for
+%D pure and valid pdf code (without fonts).
+
+%D The scanning and copying is straightforward and quite fast.
+%D To speed up things we use two constants.
+
+\def\@@PDFstream@@ {stream}
+\def\@@PDFendstream@@ {endstream}
+
+%D \macros
+%D {PDFmediaboxprefered}
+%D
+%D If needed, the macros can scan for the mediabox that
+%D specifies the dimensions and offsets of the graphic. When
+%D we say:
+%D
+%D \starttyping
+%D \PDFmediaboxpreferedtrue
+%D \stoptyping
+%D
+%D the mediabox present in the file superseded the user
+%D specified, already scaled and calculated offset and
+%D dimensions. Beware: the user supplied values are not the
+%D bounding box ones!
+
+%D This code has become obsolete.
+
+% \newif\ifPDFmediaboxprefered
+
+\def\setPDFboundingbox#1#2#3#4#5#6%
+ {\dimen0=#1\dimen0=#5\dimen0
+ \ScaledPointsToBigPoints{\number\dimen0}\PDFxoffset
+ \dimen0=#3\dimen0=#5\dimen0
+ \xdef\PDFwidth{\the\dimen0}%
+ \dimen0=#2\dimen0=#6\dimen0
+ \ScaledPointsToBigPoints{\number\dimen0}\PDFyoffset
+ \dimen0=#4\dimen0=#6\dimen0
+ \xdef\PDFheight{\the\dimen0}%
+ \global\let\PDFxoffset\PDFxoffset
+ \global\let\PDFyoffset\PDFyoffset}
+
+\def\setPDFmediabox#1[#2 #3 #4 #5]#6\done
+ {\dimen2=#2bp\dimen2=-\dimen2 % \dimen2=-#2bp also works since tex handles --
+ \dimen4=#3bp\dimen4=-\dimen4 % \dimen4=-#3bp also works since tex handles --
+ \dimen6=#4bp\advance\dimen6 \dimen2
+ \dimen8=#5bp\advance\dimen8 \dimen4
+ \setPDFboundingbox{\dimen2}{\dimen4}{\dimen6}{\dimen8}\PDFxscale\PDFyscale}
+
+% \def\checkPDFmediabox#1/MediaBox#2#3\done
+% {\ifx#2\relax \else
+% \message{mediabox}%
+% \setPDFmediabox#2#3\done
+% \fi}
+
+%D We use the general macro \type{\doprocessfile} and feed this
+%D with a line handling macro that changes it's behavior when
+%D the stream operators are encountered.
+
+% \def\handlePDFline
+% {\ifx\@@PDFstream@@\fileline
+% \let\doprocessPDFline\copyPDFobject
+% \startPDFtoPDF
+% \else\ifPDFmediaboxprefered
+% \expandafter\checkPDFmediabox\fileline/MediaBox\relax\done
+% \fi\fi}
+
+% \def\copyPDFobject
+% {\ifx\@@PDFendstream@@\fileline
+% \ifPDFmediaboxprefered
+% \let\doprocessPDFline\findPDFmediabox
+% \else
+% \let\doprocessPDFline\relax
+% \fi
+% \else
+% \advance\scratchcounter 1
+% \PDFcode{\fileline}%
+% \fi}
+
+% \def\findPDFmediabox
+% {\expandafter\checkPDFmediabox\fileline/MediaBox\relax\done}
+
+%D The main conversion macro wraps the \PDF\ codes in a box
+%D that is output as an object. The graphics are embedded
+%D in~\type{q} and~\type{Q} and are scaled and positioned using
+%D one transform call (\type{cm}). This saves some additional
+%D scaling.
+
+%D \starttyping
+%D \def\startPDFtoPDF%
+%D {\setbox0=\vbox\bgroup
+%D \message{[PDF to PDF \PDFfilename}%
+%D \forgetall
+%D \scratchcounter=0
+%D \let\stopPDFtoPDF=\dostopPDFtoPDF}
+%D
+%D \def\dostopPDFtoPDF%
+%D {\ifnum\scratchcounter<0 \scratchcounter=1 \fi
+%D \message{(\the\scratchcounter\space lines)]}%
+%D \egroup
+%D \wd0=\PDFwidth
+%D \vbox to \PDFheight
+%D {\forgetall
+%D \vfill
+%D \PDFcode{q}%
+%D \PDFcode{1 0 0 1 \PDFxoffset\space \PDFyoffset\space cm}%
+%D \PDFcode{\PDFxscale\space 0 0 \PDFyscale\space 0 0 cm}%
+%D \box0
+%D \PDFcode{Q}}}
+%D
+%D \def\stopPDFtoPDF%
+%D {\message{[PDF to PDF \PDFfilename\space not found]}}
+%D
+%D \def\convertPDFtoPDF#1#2#3#4#5#6#7%
+%D {\bgroup
+%D \def\PDFfilename{#1}%
+%D \def\PDFxscale {#2}%
+%D \def\PDFyscale {#3}%
+%D \setPDFboundingbox{#4}{#5}{#6}{#7}{1}{1}%
+%D \uncatcodespecials
+%D \endlinechar=-1
+%D \let\doprocessPDFline=\handlePDFline
+%D \doprocessfile\scratchread\PDFfilename\doprocessPDFline
+%D \stopPDFtoPDF
+%D \egroup}
+
+\def\convertPDFtoPDF#1#2#3#4#5#6#7%
+ {\message{[PDF to PDF use \string\PDFcode instead]}%
+ \vbox{use the direct method instead}}
+
+%D \macros
+%D {dogetPDFmediabox}
+%D
+%D The next macro can be used to find the mediabox of a \PDF\
+%D illustration.
+%D
+%D \starttyping
+%D \dogetPDFmediabox
+%D {filename}
+%D {new dimen}{new dimen}{new dimen}{new dimen}
+%D \stoptyping
+%D
+%D Beware of dimen clashes: this macro uses the 5~default
+%D scratch registers! When no file or mediabox is found, the
+%D dimensions are zeroed.
+
+\def\dogetPDFmediabox#1#2#3#4#5%
+ {\bgroup
+ \def\PDFxscale{1}%
+ \def\PDFyscale{1}%
+ \uncatcodespecials
+ \endlinechar\minusone
+ \def\checkPDFtypepage##1/Type /Page##2##3\done%
+ {\ifx##2\relax
+ \else\if##2s% accept /Page and /Pages
+ \let\doprocessPDFline\findPDFmediabox
+ \else
+ \let\doprocessPDFline\findPDFmediabox
+ \fi\fi}%
+ \def\findPDFtypepage
+ {\expandafter\checkPDFtypepage\fileline/Type /Page\relax\done}%
+ \def\checkPDFmediabox##1/MediaBox##2##3\done%
+ {\ifx##2\relax \else
+ \setPDFmediabox##2##3\done
+ \fileprocessedtrue
+ \fi}%
+ \def\findPDFmediabox
+ {\expandafter\checkPDFmediabox\fileline/MediaBox\relax\done}%
+ \let\doprocessPDFline\findPDFtypepage
+ \doprocessfile\scratchread{#1}\doprocessPDFline
+ \egroup
+ \ifx\PDFxoffset\undefined
+ #2\zeropoint
+ #3\zeropoint
+ #4\zeropoint
+ #5\zeropoint
+ \else
+ #2=\PDFxoffset\onebasepoint
+ #3=\PDFyoffset\onebasepoint
+ #4=\PDFwidth
+ #5=\PDFheight
+ \fi}
+
+%D \macros
+%D {convertMPtoPDF}
+%D
+%D The next set of macros implements \METAPOST\ to \PDF\
+%D conversion. Because we want to test as fast as possible, we
+%D first define the \POSTSCRIPT\ operators that \METAPOST\
+%D uses. We don't define irrelevant ones, because these are
+%D skipped anyway.
+
+%D The converter can be made a bit faster by replacing the
+%D two test macros (the ones with the many \type {\if's}) by
+%D a call to named branch macros (something \typ {\getvalue
+%D {xPSmoveto}}. For everyday documents with relatively
+%D small graphics the gain in speed can be neglected.
+
+\def \PScurveto {curveto}
+\def \PSlineto {lineto}
+\def \PSmoveto {moveto}
+\def \PSshowpage {showpage}
+\def \PSnewpath {newpath}
+\def \PSfshow {fshow}
+\def \PSclosepath {closepath}
+\def \PSfill {fill}
+\def \PSstroke {stroke}
+\def \PSclip {clip}
+\def \PSrlineto {rlineto}
+\def \PSsetlinejoin {setlinejoin}
+\def \PSsetlinecap {setlinecap}
+\def \PSsetmiterlimit {setmiterlimit}
+\def \PSsetgray {setgray}
+\def \PSsetrgbcolor {setrgbcolor}
+\def \PSsetcmykcolor {setcmykcolor}
+\def \PSsetdash {setdash}
+\def \PSgsave {gsave}
+\def \PSgrestore {grestore}
+\def \PStranslate {translate}
+\def \PSscale {scale}
+\def \PSconcat {concat}
+\def \PSdtransform {dtransform}
+\def \PSsetlinewidth {setlinewidth}
+\def \PSpop {pop}
+
+\def \PSnfont {nfont} % was needed for TUG98 proceedings
+\def \PSspecial {special} % extensions to MetaPost
+
+%D A previous version set \type {%} to ignore, which
+%D simplified the following definitions. At the start of
+%D conversion the percent character was made active again.
+%D Because the whole graphic is one paragraph (there are no
+%D empty lines) this does not give the desired effect. This
+%D went unnoticed untill Scott Pakin sent me a test file
+%D percent characters in a string. So, from now on we have
+%D to prefix the following strings with percentages.
+
+\edef \PSBoundingBox {\letterpercent\letterpercent BoundingBox:}
+\edef \PSHiResBoundingBox {\letterpercent\letterpercent HiResBoundingBox:}
+\edef \PSExactBoundingBox {\letterpercent\letterpercent ExactBoundingBox:}
+\edef \PSMetaPostSpecial {\letterpercent\letterpercent MetaPostSpecial:}
+\edef \PSMetaPostSpecials {\letterpercent\letterpercent MetaPostSpecials:}
+\edef \PSPage {\letterpercent\letterpercent Page:}
+
+%D By the way, the \type {setcmykcolor} operator is not
+%D output by \METAPOST\ but can result from converting the
+%D \cap{RGB} color specifications, as implemented in
+%D \type{supp-mps}.
+
+%D In \POSTSCRIPT\ arguments precede the operators. Due to the
+%D fact that in some translations we need access to those
+%D arguments, and also because sometimes we have to skip them,
+%D we stack them up. The stack is one||dimensional for non path
+%D operators and two||dimensional for operators inside a path.
+%D This is because we have to save the whole path for
+%D (optional) postprocessing. Values are pushed onto the stack
+%D by:
+%D
+%D \starttyping
+%D \setMPargument {value}
+%D \stoptyping
+%D
+%D They can be retrieved by the short named macros:
+%D
+%D \starttyping
+%D \gMPa {number}
+%D \gMPs {number}
+%D \stoptyping
+%D
+%D When scanning a path specification, we also save the
+%D operator, using
+%D
+%D \starttyping
+%D \setMPkeyword {n}
+%D \stoptyping
+%D
+%D The path drawing operators are coded for speed: \type{clip},
+%D \type{stroke}, \type{fill} and \type{fillstroke} become
+%D 1, 2, 3 and~4.
+%D
+%D When processing the path this code can be retrieved
+%D using
+%D
+%D \starttyping
+%D \getMPkeyword % {n}
+%D \stoptyping
+%D
+%D When setting an argument, the exact position on the stack
+%D depends on the current value of the \COUNTERS\
+%D \type{\nofMPsegments} and \type{\nofMParguments}.
+
+\newcount\nofMPsegments
+\newcount\nofMParguments
+
+%D These variables hold the coordinates. The argument part of
+%D the stack is reset by:
+%D
+%D \starttyping
+%D \resetMPstack
+%D \stoptyping
+%D
+%D We use the prefix \type{@@MP} to keep the stack from
+%D conflicting with existing macros. To speed up things a bit
+%D more, we use the constant \type{\@@MP}.
+
+\def\@@MP{@@MP}
+
+\def\setMPargument% #1%
+ {\advance\nofMParguments \plusone
+ \expandafter\def
+ \csname\@@MP\the\nofMPsegments\the\nofMParguments\endcsname} % {#1}
+
+\def\letMPargument
+ {\advance\nofMParguments \plusone
+ \expandafter\let
+ \csname\@@MP\the\nofMPsegments\the\nofMParguments\endcsname}
+
+\def\setMPsequence#1 %
+ {\advance\nofMParguments \plusone
+ \expandafter\def
+ \csname\@@MP\the\nofMPsegments\the\nofMParguments\endcsname{#1}%
+ \handleMPsequence}
+
+\def\gMPa#1%
+ {\csname\@@MP0\number#1\endcsname}
+
+\def\gMPs#1%
+ {\csname\@@MP\the\nofMPsegments\number#1\endcsname}
+
+\def\dogMPa#1%
+ {\@EAEAEA\do\csname\@@MP0\number#1\endcsname}
+
+\def\setMPkeyword#1 %
+ {\expandafter\def\csname\@@MP\the\nofMPsegments0\endcsname{#1}%
+ \advance\nofMPsegments \plusone
+ \nofMParguments\zerocount}
+
+\def\getMPkeyword% #1%
+ {\csname\@@MP\the\nofMPsegments0\endcsname} % {\csname\@@MP#10\endcsname}
+
+%D When we reset the stack, we can assume that all further
+%D comment is to be ignored and handled in strings.
+%D By redefining the reset macro after the first call, we
+%D save some run time. Only use this macro after all
+%D comments are processed and use the simple alternative
+%D when dealing with comments.
+
+\def\doresetMPstack
+ {\nofMParguments\zerocount}
+
+\def\resetMPstack
+ {\let\handleMPgraphic\handleMPendgraphic
+ \let\resetMPstack\doresetMPstack
+ \resetMPstack}
+
+%D The arguments are saved with the preceding command
+%D \type{\do}. By default this command expands to nothing, but
+%D when we deal with strings it's used to strip off the
+%D \type{(} and \type{)}.
+%D
+%D Strings are kind of tricky, because characters can be
+%D passed verbatim \type{(hello)}, by octal number
+%D \type{(\005)} or as command \type{(\()}. We therefore
+%D cannot simply ignore \type{(} and \type{)}, the way we do
+%D with \type{[} and \type{]}. Another complication is that
+%D strings may contain characters that normally have a
+%D special meaning in \TEX, like \type{$} and \type{{}}.
+%D
+%D A previous solution made \type{\} an active character and
+%D let it look ahead for a number or characters. We had to
+%D abandon this scheme because of the need for verbatim
+%D support. The next solution involved some \CATCODE\
+%D trickery but works well.
+
+\def\octalMPcharacter#1#2#3%
+ {\char'#1#2#3\relax}
+
+\bgroup
+\catcode`\|=\@@comment
+\catcode`\%=\@@active
+\catcode`\[=\@@active
+\catcode`\]=\@@active
+\catcode`\{=\@@active
+\catcode`\}=\@@active
+\catcode`B=\@@begingroup
+\catcode`E=\@@endgroup
+\gdef\ignoreMPspecials|
+ B\let%\letterpercent|
+ \def[BE|
+ \def]BE|
+ \def{BE|
+ \def}BEE
+\gdef\obeyMPspecials|
+ B\def%B\char 37\relax E|
+ \def[B\char 91\relax E|
+ \def]B\char 93\relax E|
+ \def{B\char123\relax E|
+ \def}B\char125\relax EE
+\gdef\setMPspecials|
+ B\setnaturalcatcodes
+ \catcode`\\=\@@escape
+ \catcode`\%=\@@active
+ \catcode`\[=\@@active
+ \catcode`\]=\@@active
+ \catcode`\{=\@@active
+ \catcode`\}=\@@active
+ \lccode`\-=0 | latex sets this to `\-
+ \lccode`\%=`\% | otherwise it's seen as a number
+ \def\(B\char40\relax E|
+ \def\)B\char41\relax E|
+ \def\\B\char92\relax E|
+ \def\0B\octalMPcharacter0E|
+ \def\1B\octalMPcharacter1E|
+ \def\2B\octalMPcharacter2E|
+ \def\3B\octalMPcharacter3E|
+ \def\4B\octalMPcharacter4E|
+ \def\5B\octalMPcharacter5E|
+ \def\6B\octalMPcharacter6E|
+ \def\7B\octalMPcharacter7E|
+ \def\8B\octalMPcharacter8E|
+ \def\9B\octalMPcharacter9EE
+\egroup
+
+%D We use the comment symbol as a sort of trigger. Beware!
+%D The whole graphic is seen as on eparagraph, which means
+%D that we cannot change the catcodes in between.
+
+\bgroup
+\catcode`\%=\@@active
+\gdef\startMPscanning{\let%=\startMPconversion}
+\egroup
+
+%D In earlier versions we used the sequence
+%D
+%D \starttyping
+%D \expandafter\handleMPsequence\input filename\relax
+%D \stoptyping
+%D
+%D Persistent problems in \LATEX\ however forced us to use a
+%D different scheme. Every \POSTSCRIPT\ file starts with a
+%D \type{%}, so we temporary make this an active character
+%D that starts the scanning and redefines itself. (The problem
+%D originates in the redefinition by \LATEX\ of the
+%D \type{\input} primitive.)
+
+\def\startMPconversion
+ {\ignoreMPspecials
+ \handleMPsequence}
+
+%D Here comes the main loop. Most arguments are numbers. This
+%D means that they can be recognized by their \type{\lccode}.
+%D This method saves a lot of processing time. We could
+%D speed up the conversion by handling the \type{path}
+%D seperately.
+
+\def\@EAEAEA{\expandafter\expandafter\expandafter} % to be sure
+
+\def\dohandleMPsequence#1%
+ {\ifdone
+ \ifcase\lccode`#1\relax
+ \@EAEAEA\dohandleMPsequenceA
+ \else
+ \@EAEAEA\dohandleMPsequenceB
+ \fi
+ \else
+ \@EA\dohandleMPsequenceC
+ \fi#1}
+
+%\def\dohandleMPsequenceA#1 %
+% {\setMPargument{#1}%
+% \handleMPsequence}
+
+\let\dohandleMPsequenceA\setMPsequence
+
+\def\dohandleMPsequenceB#1 %
+ {\edef\somestring{#1}%
+ \ifx\somestring\PSmoveto
+ \edef\lastMPmoveX{\gMPa1}%
+ \edef\lastMPmoveY{\gMPa2}%
+ \PDFcode{\!MPgMPa1 \!MPgMPa2 m}%
+ \resetMPstack
+ \else\ifx\somestring\PSnewpath
+ \let\handleMPsequence\handleMPpath
+ \else\ifx\somestring\PSgsave
+ \PDFcode{q}%
+ \resetMPstack
+ \else\ifx\somestring\PSgrestore
+ \PDFcode{Q}%
+ \resetMPstack
+ \else\ifx\somestring\PSdtransform % == setlinewidth
+ \let\handleMPsequence\handleMPdtransform
+ % after that we will encounter more tokens until setlinewidth+pop
+ % or pop+setlinewidth which we catch next; we explicitly need to
+ % reset the stack since [] n setdash may follow; a more clever
+ % approach would be to read on till the condition is met, but it's
+ % the only pop / setlinewidth we will encounter so ...
+ \else\ifx\somestring\PSsetlinewidth
+ % already handled in dtransform
+ \resetMPstack
+ \else\ifx\somestring\PSpop
+ % already handled in dtransform
+ \resetMPstack
+ \else\ifx\somestring\PSconcat
+ \PDFcode{\gMPa1 \gMPa2 \gMPa3 \gMPa4 \gMPa5 \gMPa6 cm}%
+ \resetMPstack
+ \else\ifx\somestring\PSsetrgbcolor
+ \handleMPrgbcolor
+ \resetMPstack
+ \else\ifx\somestring\PSsetcmykcolor
+ \handleMPcmykcolor
+ \resetMPstack
+ \else\ifx\somestring\PSsetgray
+ \handleMPgraycolor
+ \resetMPstack
+ \else\ifx\somestring\PStranslate
+ \PDFcode{1 0 0 1 \gMPa1 \gMPa2 cm}%
+ \resetMPstack
+ \else\ifx\somestring\PSsetdash
+ \handleMPsetdash
+ \resetMPstack
+ \else\ifx\somestring\PSsetlinejoin
+ \PDFcode{\gMPa1 j}%
+ \resetMPstack
+ \else\ifx\somestring\PSsetmiterlimit
+ \PDFcode{\gMPa1 M}%
+ \resetMPstack
+ \else\ifx\somestring\PSfshow
+ \PDFcode{n}%
+ \handleMPfshow
+ \resetMPstack
+ \else\ifx\somestring\PSsetlinecap
+ \PDFcode{\gMPa1 J}%
+ \resetMPstack
+ \else\ifx\somestring\PSrlineto
+ \PDFcode{\!MP\lastMPmoveX\space\!MP\lastMPmoveY\space l S}%
+ \resetMPstack
+ \else\ifx\somestring\PSscale
+ \PDFcode{\gMPa1 0 0 \gMPa2 0 0 cm}%
+ \resetMPstack
+ \else\ifx\somestring\PSspecial
+ \handleMPspecialcommand
+ \resetMPstack
+ \else
+ \handleMPgraphic% {#1}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \handleMPsequence}
+
+\def\dohandleMPsequenceC#1 %
+ {\edef\somestring{#1}%
+ \handleMPgraphic % {#1}%
+ \handleMPsequence}
+
+%D Since colors are not sensitive to transformations, they
+%D are sometimes used for signaling. Therefore, we handle them
+%D separately. The next macro can be redefined if needed.
+
+\def\handleMPrgbcolor
+ {\PDFcode{\!MPgMPa1 \!MPgMPa2 \!MPgMPa3 rg
+ \!MPgMPa1 \!MPgMPa2 \!MPgMPa3 RG}}
+
+\def\handleMPcmykcolor
+ {\PDFcode{\!MPgMPa1 \!MPgMPa2 \!MPgMPa3 \!MPgMPa4 k
+ \!MPgMPa1 \!MPgMPa2 \!MPgMPa3 \!MPgMPa4 K}}
+
+\def\handleMPgraycolor
+ {\PDFcode{\!MPgMPa1 g
+ \!MPgMPa1 G}}
+
+\def\handleMPspotcolor
+ {\PDFcode{0 g
+ 0 G}}
+
+%D Beginning and ending the graphics is taken care of by the
+%D macro \type{\handleMPgraphic}, which is redefined when
+%D the first graphics operator is met.
+
+\def\handleMPendgraphic % #1%
+ {\ifx\somestring\PSshowpage
+ \let\handleMPsequence\finishMPgraphic
+ \else
+ \letMPargument\somestring % {#1}%
+ \fi}
+
+\def\handleMPbegingraphic % #1%
+ {\ifx\somestring\PSBoundingBox
+ \def\handleMPsequence{\handleMPboundingbox1}%
+ \else\ifx\somestring\PSHiResBoundingBox
+ \def\handleMPsequence{\handleMPboundingbox2}%
+ \else\ifx\somestring\PSExactBoundingBox
+ \def\handleMPsequence{\handleMPboundingbox3}%
+ \else\ifx\somestring\PSshowpage
+ \let\handleMPsequence\finishMPgraphic
+ \else\ifx\somestring\PSPage
+ \let\handleMPsequence\handleMPpage
+ \else\ifx\somestring\PSMetaPostSpecials
+ \let\handleMPsequence\handleMPspecialscomment
+ \else\ifx\somestring\PSMetaPostSpecial
+ \let\handleMPsequence\handleMPspecialcomment
+ \else
+ \letMPargument\somestring % {#1}%
+ \fi\fi\fi\fi\fi\fi\fi}
+
+\let\handleMPgraphic=\handleMPbegingraphic
+
+%D We check for three kind of bounding boxes: the normal one
+%D and two high precision ones:
+%D
+%D \starttyping
+%D BoundingBox: llx lly ucx ucy
+%D HiResBoundingBox: llx lly ucx ucy
+%D ExactBoundingBox: llx lly ucx ucy
+%D \stoptyping
+%D
+%D The original as well as the recalculated dimensions are
+%D saved for later use.
+
+\newif\ifskipemptyMPgraphic \skipemptyMPgraphicfalse
+
+\chardef\currentMPboundingbox=0
+
+\def\handleMPboundingbox#1#2 #3 #4 #5
+ {\ifnum#1>\currentMPboundingbox
+ \xdef\MPllx{#2}\xdef\MPlly{#3}%
+ \xdef\MPurx{#4}\xdef\MPury{#5}%
+ \dimen0=#2\onepoint
+ \dimen0=-\MPxscale\dimen0
+ \dimen2=#3\onepoint
+ \dimen2=-\MPyscale\dimen2
+ \xdef\MPxoffset{\withoutpt\the\dimen0}%
+ \xdef\MPyoffset{\withoutpt\the\dimen2}%
+ \dimen0=#2\onebasepoint
+ \dimen0=-\dimen0
+ \dimen2=#3\onebasepoint
+ \dimen2=-\dimen2
+ \advance\dimen0 #4\onebasepoint
+ \dimen0=\MPxscale\dimen0
+ \xdef\MPwidth{\the\dimen0}%
+ \advance\dimen2 #5\onebasepoint
+ \xdef\MPyshift{\the\dimen2}% unscaled
+ \dimen2=\MPyscale\dimen2
+ \xdef\MPheight{\the\dimen2}%
+ \chardef\currentMPboundingbox#1\relax
+ \fi
+ \doresetMPstack
+ \let\handleMPsequence\dohandleMPsequence
+ \let\next\handleMPsequence
+ \ifskipemptyMPgraphic
+ \ifdim\MPheight=\zeropoint\relax\ifdim\MPwidth=\zeropoint\relax
+ \def\next{\endinput\finishMPgraphic}%
+ \fi\fi
+ \fi
+ \next}
+
+%D Unless defined otherwise, we simply ignore specialcomments.
+
+\def\handleMPspecialcomment
+ {\doresetMPstack
+ \let\handleMPsequence\dohandleMPsequence
+ \handleMPsequence}
+
+\let\handleMPspecialscomment\handleMPspecialcomment
+
+%D We use the \type{page} comment as a signal that
+%D stackbuilding can be started.
+
+\def\handleMPpage #1 #2
+ {\doresetMPstack
+ \donetrue
+ \let\handleMPsequence\dohandleMPsequence
+ \handleMPsequence}
+
+%D The same applies to the special extensions.
+
+\def\handleMPspecialcommand
+ {\doresetMPstack
+ \let\handleMPsequence\dohandleMPsequence
+ \handleMPsequence}
+
+%D \METAPOST\ draws its dots by moving to a location and
+%D invoking \type{0 0 rlineto}. This operator is not
+%D available in \PDF. Our solution is straightforward: we draw
+%D a line from $(current\_x, current\_y)$ to itself. This
+%D means that the arguments of the preceding \type{moveto} have
+%D to be saved.
+
+\def\lastMPmoveX{0}
+\def\lastMPmoveY{0}
+
+%D These saved coordinates are also used when we handle the
+%D texts. Text handling proved to be a bit of a nuisance, but
+%D finally I saw the light. It proved that we also had to
+%D take care of \type{(split arguments)}.
+
+\def\setMPfshowfont#1#2%
+ {\font\temp=#1\space at #2\relax\temp}
+
+\let\MPfshowcommand\empty
+
+\def\dohandleMPfshow
+ {\bgroup
+ \setbox\scratchbox\hbox
+ {\obeyMPspecials
+ \edef\size{\gMPa\nofMParguments}%
+ \ifx\size\PSnfont % round font size (to pt)
+ \advance\nofMParguments \minusone
+ \expandafter\scratchdimen\gMPa\nofMParguments\onepoint\relax
+ \ifdim\scratchdimen<\onepoint
+ \def\size{1pt}%
+ \else
+ \advance\scratchdimen .5\onepoint
+ \def\size##1.##2\relax{\def\size{##1pt}}%
+ \expandafter\size\the\scratchdimen\relax
+ \fi
+ \else
+ \edef\size{\size bp}%
+ \fi
+ \advance\nofMParguments \minusone
+ %\font\temp=\gMPa\nofMParguments\space at \size
+ \let\temp\relax % to be sure
+ \setMPfshowfont{\gMPa\nofMParguments}\size
+ \advance\nofMParguments \minusone
+ \temp
+ \MPfshowcommand
+ {\ifnum\nofMParguments=\plusone
+ \def\do(##1){##1}%
+ \dogMPa1%
+ \else
+ % we need to catch ( a ) (a a a) (\123 \123 \123) etc
+ \scratchcounter\plusone
+ \def\dodo##1% Andreas Fieger's bug: (\304...)
+ {\edef\!!stringa{##1\empty\empty}% and another one: ( 11) -> \ifx 11
+ \ifx\!!stringa\MPspacechar\MPspacechar\else\expandafter##1\fi}%
+ \def\do(##1{\dodo{##1}}%
+ \dogMPa\scratchcounter\MPspacechar
+ \let\do\relax
+ \loop
+ \advance\scratchcounter \plusone
+ \ifnum\scratchcounter<\nofMParguments\relax
+ \gMPa\scratchcounter\MPspacechar
+ \repeat
+ \def\do##1){\dodo{##1}}%
+ \dogMPa\scratchcounter
+ \fi
+ \unskip}}%
+ %
+ % this fails in some versions of pdftex
+ %
+ % \dimen0=\lastMPmoveY bp
+ % \advance\dimen0 by \ht0
+ % \ScaledPointsToBigPoints{\number\dimen0}\lastMPmoveY
+ % \PDFcode{n q 1 0 0 1 \lastMPmoveX\space\lastMPmoveY\space cm}%
+ % \dimen0=\ht0
+ % \advance\dimen0 by \dp0
+ % \box0
+ % \vskip-\dimen0
+ % \PDFcode{Q}%
+ % \egroup}
+ %
+ \setbox\scratchbox\hbox
+ {\hskip\lastMPmoveX\onebasepoint\raise\lastMPmoveY\onebasepoint\box\scratchbox}%
+ \ht\scratchbox\zeropoint
+ \dp\scratchbox\zeropoint
+ \wd\scratchbox\zeropoint
+ \box\scratchbox
+ \egroup}
+
+\let\handleMPfshow\dohandleMPfshow % so we can overload this one later
+
+%D You could consider the following definition to be the most
+%D natural one.
+
+% \def\MPspacechar{\space} % normal case
+
+\def\MPspacechar{\char32\relax} % old solution does not work with math
+
+%D However, the following implementation is more robust, since
+%D some fonts have funny visible spaces in the space slot. This
+%D gives a mismatch between the space that \METAPOST\ took into
+%D account and the \quote {natural} space. This only happens in
+%D labels, since \type {btex}||\type {etex} thingies don't have
+%D spaces. This phenomena showed up when preparing the
+%D \METAFUN\ manual, where Palatino fonts are used. We can
+%D safely assume that \METAPOST\ considers \type {\char32} to
+%D be the space.
+
+\def\MPspacechar{\setbox\scratchbox\hbox{\char32}\kern\wd\scratchbox}
+
+%D Well, this does not work with math fonts, so:
+
+\def\MPspacechar{\char32\relax}
+
+%D Most operators are just converted and keep their
+%D arguments. Dashes however need a bit different treatment,
+%D otherwise \PDF\ viewers complain loudly. Another
+%D complication is that one argument comes after the \type{]}.
+%D When reading the data, we simply ignore the array boundary
+%D characters. We save ourselves some redundant newlines and
+%D at the same time keep the output readable by packing the
+%D literals.
+
+\def\handleMPsetdash
+ {\bgroup
+ \def\somestring{[}%
+ \scratchcounter\plusone
+ \loop
+ \ifnum\scratchcounter<\nofMParguments
+ \edef\somestring{\somestring\space\gMPa\scratchcounter}%
+ \advance\scratchcounter \plusone
+ \repeat
+ \edef\somestring{\somestring]\gMPa\scratchcounter\space d}%
+ \PDFcode{\somestring}%
+ \egroup}
+
+%D The \type{setlinewidth} commands looks a bit complicated. There are
+%D two alternatives, that result in a similar look in both
+%D $x$- and $y$-dorection. As John Hobby says:
+%D
+%D \startnarrower \switchtobodyfont[ss]
+%D \starttyping
+%D x 0 dtransform exch truncate exch idtransform pop setlinewidth
+%D 0 y dtransform truncate idtransform setlinewidth pop
+%D \stoptyping
+%D
+%D These are just fancy versions of \type{x setlinewidth} and
+%D \type{y setlinewidth}. The \type{x 0 ...} form is used if
+%D the path is {\em primarily vertical}. It rounds the width
+%D so that vertical lines come out an integer number of pixels
+%D wide in device space. The \type{0 y ...} form does the same
+%D for paths that are {\em primarily horizontal}. The reason
+%D why I did this is Knuth insists on getting exactly the
+%D widths \TEX\ intends for the horizontal and vertical rules
+%D in \type{btex...etex} output. (Note that PostScript scan
+%D conversion rules cause a horizontal or vertical line of
+%D integer width $n$ in device space to come out $n+1$ pixels
+%D wide, regardless of the phase relative to the pixel grid.)
+%D \stopnarrower
+%D
+%D The common operator in these sequences is \type{dtransform},
+%D so we can use this one to trigger setting the linewidth.
+
+\def\handleMPdtransform
+ {\ifdim\gMPa1\onepoint>\zeropoint
+ \PDFcode{\gMPa1 w}%
+ \def\next##1 ##2 ##3 ##4 ##5 ##6 {\handleMPsequence}%
+ \else
+ \PDFcode{\gMPa2 w}%
+ \def\next##1 ##2 ##3 ##4 {\handleMPsequence}%
+ \fi
+ \let\handleMPsequence\dohandleMPsequence
+ \resetMPstack
+ \next}
+
+%D The most complicated command is \type{concat}. \METAPOST\
+%D applies this operator to \type{stroke}. At that moment the
+%D points set by \type{curveto} and \type{moveto}, are already
+%D fixed. In \PDF\ however the \type{cm} operator affects the
+%D points as well as the pen (stroke). Like more \PDF\
+%D operators, \type{cm} is defined in a bit ambiguous way.
+%D The only save route for non||circular penshapes, is saving
+%D the path, recalculating the points and applying the
+%D transformation matrix in such a way that we can be sure
+%D that its behavior is well defined. This comes down to
+%D inverting the path and applying \type{cm} to that path as
+%D well as the pen. This all means that we have to save the
+%D path.
+
+%D In \METAPOST\ there are three ways to handle a path $p$:
+%D
+%D \starttyping
+%D draw p; fill p; filldraw p;
+%D \stoptyping
+%D
+%D The last case outputs a \type{gsave fill grestore} before
+%D \type{stroke}. Handling the path outside the main loops
+%D saves about 40\% run time.\footnoot{We can save some more by
+%D following the \METAPOST\ output routine, but for the moment
+%D we keep things simple.} Switching between the main loop and
+%D the path loop is done by means of the recursely called
+%D macro \type{\handleMPsequence}.
+
+\def\handleMPpath
+ {\chardef\finiMPpath0
+ \let\closeMPpath\relax
+ \let\flushMPpath\flushnormalMPpath
+ \resetMPstack
+ \nofMPsegments\plusone
+ \let\handleMPsequence\dohandleMPpath
+ \dohandleMPpath}
+
+%D Most paths are drawn with simple round pens. Therefore we've
+%D split up the routine in two.
+
+\def\flushnormalMPsegment
+ {\ifcase\getMPkeyword\relax
+ \PDFcode{\!MPgMPs1 \!MPgMPs2 l}%
+ \or
+ \PDFcode{\!MPgMPs1 \!MPgMPs2 \!MPgMPs3 \!MPgMPs4 \!MPgMPs5 \!MPgMPs6 c}%
+ \or
+ \PDFcode{\!MP\lastMPmoveX\space\!MP\lastMPmoveY\space l S}%
+ \or
+ \edef\lastMPmoveX{\gMPs1}% evt \!MP here
+ \edef\lastMPmoveY{\gMPs2}%
+ \PDFcode{\!MP\lastMPmoveX\space \!MP\lastMPmoveY\space m}%
+ \fi}
+
+\def\flushconcatMPsegment
+ {\ifcase\getMPkeyword\relax
+ \doMPconcat{\gMPs1}\a{\gMPs2}\b%
+ \PDFcode{\!MP\a\space\!MP\b\space l}%
+ \or
+ \doMPconcat{\gMPs1}\a{\gMPs2}\b%
+ \doMPconcat{\gMPs3}\c{\gMPs4}\d%
+ \doMPconcat{\gMPs5}\e{\gMPs6}\f%
+ \PDFcode{\!MP\a\space\!MP\b\space
+ \!MP\c\space\!MP\d\space
+ \!MP\e\space\!MP\f\space c}%
+ \or
+ \bgroup
+ \noMPtranslate
+ \doMPconcat\lastMPmoveX\a\lastMPmoveY\b%
+ \PDFcode{\!MP\a\space\!MP\b\space l S}%
+ \egroup
+ \or
+ \edef\lastMPmoveX{\gMPs1}%
+ \edef\lastMPmoveY{\gMPs2}%
+ \doMPconcat\lastMPmoveX\a\lastMPmoveY\b%
+ \PDFcode{\!MP\a\space\!MP\b\space m}%
+ \fi}
+
+% \def\flushnormalMPpath
+% {\scratchcounter\nofMPsegments
+% \nofMPsegments\plusone
+% \loop
+% \flushnormalMPsegment
+% \advance\nofMPsegments \plusone
+% \ifnum\nofMPsegments<\scratchcounter
+% \repeat}
+%
+% \def\flushconcatMPpath
+% {\scratchcounter\nofMPsegments
+% \nofMPsegments\plusone
+% \loop
+% \flushconcatMPsegment
+% \advance\nofMPsegments \plusone
+% \ifnum\nofMPsegments<\scratchcounter
+% \repeat}
+%
+% an alternative is presented below: (no \def assignment)
+
+\def\doflushsomeMPpath
+ {\dodoflushsomeMPpath
+ \advance\nofMPsegments \plusone
+ \ifnum\nofMPsegments<\scratchcounter
+ \expandafter\doflushsomeMPpath
+ \fi}
+
+\def\flushsomeMPpath
+ {\scratchcounter\nofMPsegments
+ \nofMPsegments\plusone
+ \doflushsomeMPpath}
+
+\def\flushnormalMPpath{\let\dodoflushsomeMPpath\flushnormalMPsegment\flushsomeMPpath}
+
+%OLD \def\flushconcatMPpath{\let\dodoflushsomeMPpath\flushconcatMPsegment\flushsomeMPpath}
+
+%NEW pre-calculate 1/D so it needn't be repeated for each control point.
+
+\def\flushconcatMPpath
+ {\MPreciprocaldeterminant
+ \let\dodoflushsomeMPpath\flushconcatMPsegment\flushsomeMPpath}
+
+%D The transformation of the coordinates is handled by one of
+%D the macros Tanmoy posted to the \PDFTEX\ mailing list.
+%D I rewrote and optimized the original macro to suit the other
+%D macros in this module.
+%D
+%D \starttyping
+%D \doMPconcat {x position} \xresult {y position} \yresult
+%D \stoptyping
+%D
+%D By setting the auxiliary \DIMENSIONS\ \type{\dimen0} upto
+%D \type{\dimen10} only once per path, we save over 20\% run
+%D time. Some more speed was gained by removing some parameter
+%D passing. These macros can be optimized a bit more by using
+%D more constants. There is however not much need for further
+%D optimization because penshapes usually are round and
+%D therefore need no transformation. Nevertheless we move the
+%D factor to the outer level and use a bit different \type{pt}
+%D removal macro. Although the values represent base points,
+%D we converted them to pure points, simply because those can
+%D be converted back.
+
+%OLD \mathchardef\MPconcatfactor=256 % beware don't remove spaces before it
+
+%OLD \def\doMPreducedimen#1
+%OLD {\count0\MPconcatfactor
+%OLD \advance\dimen#1 \ifdim\dimen#1>\zeropoint .5\else -.5\fi\count0
+%OLD \divide\dimen#1 \count0\relax}
+
+%OLD % too inaccurate (see old pragma logo)
+%OLD
+%OLD \def\doMPreducedimen#1
+%OLD {\count0=\MPconcatfactor
+%OLD \divide\dimen#1 \count0\relax}
+
+%OLD \def\doMPreducedimen#1
+%OLD {\advance\dimen#1 \ifdim\dimen#1>\zeropoint .5\else -.5\fi\MPconcatfactor
+%OLD \divide\dimen#1 \MPconcatfactor}
+
+%D The transformation code is rewritten by Daniel H. Luecking who
+%D describes his patch as follows:
+%D
+%D We would like to divide 1 by $X4, but all divisions are integer so
+%D for accuracy we want to convert to large integers and make sure the
+%D integer quotient has as many significant digits as possible. Thus we
+%D need to replace $1/X$ with $M/N$ where $N$ is as large as possible
+%D and $M/N$ is as large as possible. Also for simplicity $M$ should be
+%D a power of 2. So we make $M = 2^{30}$ \footnote{$2^{31} - 1$ is the
+%D largest legal integer. Using it (and simply ignoring the inaccuracy
+%D caused by $-1$) turns out to be at least as accurate in all cases,
+%D and more accurate in some.} (largest legal power of 2) and adjust
+%D $X4 downward (if necessary) to the the range $1-2^{16}$. This gives
+%D at least 15 significant binary digits, (almost as accurate as
+%D \METAPOST\ for numbers near 1) or almost 5 significant figures
+%D (decimal).
+
+\newcount\MPscratchCnt
+\newdimen\MPscratchDim % will be assigned global
+
+\def\MPadjustdimen % sets \MPscratchDim and \MPscratchCnt
+ {\MPscratchCnt\zerocount
+ \doMPadjustdimen}
+
+\def\doMPadjustdimen
+ {\ifdim\MPscratchDim>\onepoint
+ \divide\MPscratchDim 2
+ \advance\MPscratchCnt \plusone
+ \expandafter\doMPadjustdimen
+ \fi}
+
+%OLD \def\doMPexpanddimen#1
+%OLD {\multiply\dimen#1 \MPconcatfactor\relax}
+
+%D DHL: When viewed as an integer, $1 \hbox{pt}=2^{16}$ so $2^{32}/X$
+%D is the right way to do $(1 \hbox{pt})/(X \hbox{pt})$ and get the
+%D answer in points. But we are limited to $2^{30}/X$. However, we
+%D actually do $[ 2^{30} / (X/2^K) ]*2^{2-K}$ where $K$ is the number
+%D of halvings it takes to bring $X4 below $1 \hbox{pt}$. If $K$ is 0
+%D or 1 we readjust by multiplying by 4 or 2, otherwise by halving
+%D $(K-2)$ times \type {\MPscratchCnt} holds the value of $K$ from
+%D \type {\MPadjustdimen}.
+
+\def\MPreadjustdimen % acts on \MPscratchDim and MPscratchCnt
+ {\ifcase\MPscratchCnt
+ \multiply\MPscratchDim 4
+ \or
+ \multiply\MPscratchDim 2
+ \else
+ \expandafter\doMPreadjustdimen
+ \fi}
+
+\def\doMPreadjustdimen
+ {\ifnum\MPscratchCnt > 2
+ \divide\MPscratchDim 2
+ \advance\MPscratchCnt \minusone
+ \expandafter\doMPreadjustdimen
+ \fi}
+
+\def\MPreciprocaldeterminant
+ {\MPscratchDim\withoutpt\the\dimen0 \dimen6 % s_x*s_y
+ \advance\MPscratchDim - \withoutpt\the\dimen2 \dimen4 % s_x*s_y - r_x*r_y
+ \ifdim\MPscratchDim<\zeropoint % we need a positive dimension
+ \MPscratchDim-\MPscratchDim % for \MPadjustdimen
+ \doMPreciprocal
+ \MPscratchDim-\MPscratchDim
+ \else
+ \doMPreciprocal
+ \fi}
+
+\newcount\MPnumerator \MPnumerator = 1073741824 % 2^{30}
+
+% todo: dimexpr
+
+\def\doMPreciprocal % replace \MPscratchDim with its reciprocal
+ {\ifdim\MPscratchDim=\onepoint \else
+ \MPadjustdimen
+ \scratchcounter\MPnumerator
+ \divide\scratchcounter\MPscratchDim
+ \MPscratchDim1\scratchcounter % 1 needed !
+ \MPreadjustdimen
+ \fi}
+
+%OLD \def\presetMPconcat
+%OLD {\dimen 0=\gMPs1\onepoint \doMPreducedimen 0 % r_x
+%OLD \dimen 2=\gMPs2\onepoint \doMPreducedimen 2 % s_x
+%OLD \dimen 4=\gMPs3\onepoint \doMPreducedimen 4 % s_y
+%OLD \dimen 6=\gMPs4\onepoint \doMPreducedimen 6 % r_y
+%OLD \dimen 8=\gMPs5\onepoint \doMPreducedimen 8 % t_x
+%OLD \dimen10=\gMPs6\onepoint \doMPreducedimen10 } % t_y
+%OLD
+%OLD \def\presetMPscale
+%OLD {\dimen 0=\gMPs1\onepoint \doMPreducedimen 0
+%OLD \dimen 2 \zeropoint
+%OLD \dimen 4 \zeropoint
+%OLD \dimen 6=\gMPs2\onepoint \doMPreducedimen 6
+%OLD \dimen 8 \zeropoint
+%OLD \dimen10 \zeropoint}
+
+\def\presetMPconcat
+ {\dimen 0=\gMPs1\onepoint % s_x
+ \dimen 2=\gMPs2\onepoint % r_x
+ \dimen 4=\gMPs3\onepoint % r_y
+ \dimen 6=\gMPs4\onepoint % s_y
+ \dimen 8=\gMPs5\onepoint % t_x
+ \dimen10=\gMPs6\onepoint} % t_y
+
+\def\presetMPscale
+ {\dimen 0=\gMPs1\onepoint
+ \dimen 2 \zeropoint
+ \dimen 4 \zeropoint
+ \dimen 6=\gMPs2\onepoint
+ \dimen 8 \zeropoint
+ \dimen10 \zeropoint}
+
+\def\noMPtranslate % use this one grouped
+ {\dimen 8 \zeropoint % t_x
+ \dimen10 \zeropoint} % t_y
+
+%D \starttyping
+%D \def\doMPconcat#1#2#3#4%
+%D {\dimen12=#1 pt \doMPreducedimen12 % p_x
+%D \dimen14=#3 pt \doMPreducedimen14 % p_y
+%D %
+%D \dimen16 \dimen 0
+%D \multiply \dimen16 \dimen 6
+%D \dimen20 \dimen 2
+%D \multiply \dimen20 \dimen 4
+%D \advance \dimen16 -\dimen20
+%D %
+%D \dimen18 \dimen12
+%D \multiply \dimen18 \dimen 6
+%D \dimen20 \dimen14
+%D \multiply \dimen20 \dimen 4
+%D \advance \dimen18 -\dimen20
+%D \dimen20 \dimen 4
+%D \multiply \dimen20 \dimen10
+%D \advance \dimen18 \dimen20
+%D \dimen20 \dimen 6
+%D \multiply \dimen20 \dimen 8
+%D \advance \dimen18 -\dimen20
+%D %
+%D \multiply \dimen12 -\dimen 2
+%D \multiply \dimen14 \dimen 0
+%D \advance \dimen12 \dimen14
+%D \dimen20 \dimen 2
+%D \multiply \dimen20 \dimen 8
+%D \advance \dimen12 \dimen20
+%D \dimen20 \dimen 0
+%D \multiply \dimen20 \dimen10
+%D \advance \dimen12 -\dimen20
+%D %
+%D \doMPreducedimen16
+%D \divide \dimen18 \dimen16 \doMPexpanddimen18
+%D \divide \dimen12 \dimen16 \doMPexpanddimen12
+%D %
+%D \edef#2{\withoutpt\the\dimen18}% % p_x^\prime
+%D \edef#4{\withoutpt\the\dimen12}} % p_y^\prime
+%D \stoptyping
+
+%D The following optimization resulted from some tests by
+%D and email exchanges with Sanjoy Mahajan.
+%D
+%D \starttyping
+%D \def\doMPconcat#1#2#3#4%
+%D {\dimen12=#1 pt \doMPreducedimen12 % p_x
+%D \dimen14=#3 pt \doMPreducedimen14 % p_y
+%D %
+%D \dimen16 \dimen 0
+%D \multiply \dimen16 \dimen 6
+%D \dimen20 \dimen 2
+%D \multiply \dimen20 \dimen 4
+%D \advance \dimen16 -\dimen20
+%D %
+%D \dimen18 \dimen12
+%D \multiply \dimen18 \dimen 6
+%D \dimen20 \dimen14
+%D \multiply \dimen20 \dimen 4
+%D \advance \dimen18 -\dimen20
+%D \dimen20 \dimen 4
+%D \multiply \dimen20 \dimen10
+%D \advance \dimen18 \dimen20
+%D \dimen20 \dimen 6
+%D \multiply \dimen20 \dimen 8
+%D \advance \dimen18 -\dimen20
+%D %
+%D \multiply \dimen12 -\dimen 2
+%D \multiply \dimen14 \dimen 0
+%D \advance \dimen12 \dimen14
+%D \dimen20 \dimen 2
+%D \multiply \dimen20 \dimen 8
+%D \advance \dimen12 \dimen20
+%D \dimen20 \dimen 0
+%D \multiply \dimen20 \dimen10
+%D \advance \dimen12 -\dimen20
+%D %
+%D %\ifdim\dimen16>1pt % oeps, can be < 1pt too
+%D \ifdim\dimen16=1pt \else
+%D \ifdim\dimen16>\MPconcatfactor pt
+%D \doMPreducedimen16
+%D \divide \dimen18 \dimen16 \doMPexpanddimen18
+%D \divide \dimen12 \dimen16 \doMPexpanddimen12
+%D \else
+%D \divide \dimen18 \dimen16 \doMPexpanddimen18 \doMPexpanddimen18
+%D \divide \dimen12 \dimen16 \doMPexpanddimen12 \doMPexpanddimen12
+%D \fi
+%D \fi
+%D %
+%D \edef#2{\withoutpt\the\dimen18}% % p_x^\prime
+%D \edef#4{\withoutpt\the\dimen12}} % p_y^\prime
+%D \stoptyping
+%D
+%D But, this one is still too inaccurate, so we now have:
+
+% \def\doMPconcat#1#2#3#4%
+% {\dimen12=#1pt % p_x
+% \dimen14=#3pt % p_y
+% %
+% % we should test for >-1024 too, but for the moment take the gamble
+% \chardef\MPfactor1\ifdim\dimen12<1024pt \ifdim\dimen14<1024pt 6\fi\fi
+% %
+% \multiply\dimen12 \MPfactor
+% \multiply\dimen14 \MPfactor
+% %
+% \doMPreducedimen12
+% \doMPreducedimen14
+% %
+% \dimen16 \dimen 0
+% \multiply \dimen16 \dimen 6
+% \dimen20 \dimen 2
+% \multiply \dimen20 \dimen 4
+% \advance \dimen16 -\dimen20
+% %
+% \dimen18 \dimen12
+% \multiply \dimen18 \dimen 6
+% \dimen20 \dimen14
+% \multiply \dimen20 \dimen 4
+% \advance \dimen18 -\dimen20
+% \dimen20 \dimen 4
+% \multiply \dimen20 \dimen10
+% \advance \dimen18 \dimen20
+% \dimen20 \dimen 6
+% \multiply \dimen20 \dimen 8
+% \advance \dimen18 -\dimen20
+% %
+% \multiply \dimen12 -\dimen 2
+% \multiply \dimen14 \dimen 0
+% \advance \dimen12 \dimen14
+% \dimen20 \dimen 2
+% \multiply \dimen20 \dimen 8
+% \advance \dimen12 \dimen20
+% \dimen20 \dimen 0
+% \multiply \dimen20 \dimen10
+% \advance \dimen12 -\dimen20
+% %
+% \ifdim\dimen16=1pt \else
+% \ifdim\dimen16>\MPconcatfactor pt
+% \doMPreducedimen16
+% \divide \dimen18 \dimen16 \doMPexpanddimen18
+% \divide \dimen12 \dimen16 \doMPexpanddimen12
+% \else
+% \divide \dimen18 \dimen16 \doMPexpanddimen18 \doMPexpanddimen18
+% \divide \dimen12 \dimen16 \doMPexpanddimen12 \doMPexpanddimen12
+% \fi
+% \fi
+% %
+% \divide\dimen18 \MPfactor
+% \divide\dimen12 \MPfactor
+% %
+% \edef#2{\withoutpt\the\dimen18}% % p_x^\prime
+% \edef#4{\withoutpt\the\dimen12}} % p_y^\prime
+
+%D We cannot use \type {\beginETEX} here since in plain we
+%D get \type {\outer} problems, sigh.
+
+%OLD \beginTEX
+%OLD
+%OLD \def\MPcriteriumA {512pt} % scale
+%OLD \def\MPcriteriumB {2pt} % scale
+%OLD
+%OLD \endTEX
+%OLD
+%OLD \ifx\MPcriteriumA\undefined
+%OLD
+%OLD \newdimen\MPcriteriumA \MPcriteriumA=512pt
+%OLD \newdimen\MPcriteriumB \MPcriteriumB= 2pt
+%OLD
+%OLD \fi
+
+%OLD \def\doMPconcat#1#2#3#4%
+%OLD {\dimen12=#1pt % p_x
+%OLD \dimen14=#3pt % p_y
+%OLD %
+%OLD \chardef\MPfactor\zerocount
+%OLD \ifdim\dimen4<\MPcriteriumB\ifdim\dimen4>-\MPcriteriumB
+%OLD \ifdim\dimen6<\MPcriteriumB\ifdim\dimen6>-\MPcriteriumB
+%OLD \ifdim\dimen8<\MPcriteriumB\ifdim\dimen8>-\MPcriteriumB
+%OLD \ifdim\dimen10<\MPcriteriumB\ifdim\dimen10>-\MPcriteriumB
+%OLD \chardef\MPfactor\plusone
+%OLD \fi\fi
+%OLD \fi\fi
+%OLD \fi\fi
+%OLD \fi\fi
+%OLD \ifcase\MPfactor % spurious 0 removed
+%OLD \chardef\MPfactor\plusone
+%OLD \ifdim\dimen12<\MPcriteriumA\ifdim\dimen12>-\MPcriteriumA
+%OLD \ifdim\dimen14<\MPcriteriumA\ifdim\dimen14>-\MPcriteriumA
+%OLD \chardef\MPfactor16
+%OLD \fi\fi
+%OLD \fi\fi
+%OLD \fi
+%OLD %
+%OLD \multiply\dimen12 \MPfactor
+%OLD \multiply\dimen14 \MPfactor
+%OLD %
+%OLD \doMPreducedimen12
+%OLD \doMPreducedimen14
+%OLD %
+%OLD \dimen16 \dimen 0
+%OLD \multiply \dimen16 \dimen 6
+%OLD \dimen20 \dimen 2
+%OLD \multiply \dimen20 \dimen 4
+%OLD \advance \dimen16 -\dimen20
+%OLD %
+%OLD \dimen18 \dimen12
+%OLD \multiply \dimen18 \dimen 6
+%OLD \dimen20 \dimen14
+%OLD \multiply \dimen20 \dimen 4
+%OLD \advance \dimen18 -\dimen20
+%OLD \dimen20 \dimen 4
+%OLD \multiply \dimen20 \dimen10
+%OLD \advance \dimen18 \dimen20
+%OLD \dimen20 \dimen 6
+%OLD \multiply \dimen20 \dimen 8
+%OLD \advance \dimen18 -\dimen20
+%OLD %
+%OLD \multiply \dimen12 -\dimen 2
+%OLD \multiply \dimen14 \dimen 0
+%OLD \advance \dimen12 \dimen14
+%OLD \dimen20 \dimen 2
+%OLD \multiply \dimen20 \dimen 8
+%OLD \advance \dimen12 \dimen20
+%OLD \dimen20 \dimen 0
+%OLD \multiply \dimen20 \dimen10
+%OLD \advance \dimen12 -\dimen20
+%OLD %
+%OLD \ifdim\dimen16=\onepoint \else
+%OLD \ifdim\dimen16>\MPconcatfactor \onepoint \relax
+%OLD \doMPreducedimen16
+%OLD \divide \dimen18 \dimen16 \doMPexpanddimen18
+%OLD \divide \dimen12 \dimen16 \doMPexpanddimen12
+%OLD \else
+%OLD \divide \dimen18 \dimen16 \doMPexpanddimen18 \doMPexpanddimen18
+%OLD \divide \dimen12 \dimen16 \doMPexpanddimen12 \doMPexpanddimen12
+%OLD \fi
+%OLD \fi
+%OLD %
+%OLD \divide\dimen18 \MPfactor
+%OLD \divide\dimen12 \MPfactor
+%OLD %
+%OLD \edef#2{\withoutpt\the\dimen18}% % p_x^\prime
+%OLD \edef#4{\withoutpt\the\dimen12}} % p_y^\prime
+
+%D DHL: Ideally, $r_x$, $r_y$, $s_x4, $s_y$ should be in macros, not
+%D dimensions (they are scalar quantities after all, not lengths). I
+%D suppose the authors decided to do calculations with integer
+%D arithmetic instead of using real factors because it's faster.
+%D However, the actual macros test slower, possibly because I've
+%D omitted three nested loops. In my test files, my approach is more
+%D accurate. It is also far simpler and overflow does not seem to be a
+%D significant concern. The scale factors written by Metapost are (?)
+%D always $<=1$ (it scales coordinates internally) and coordinates are
+%D always likely to be less than \type {\maxdimen}.
+%D
+%D If this should ever cause problems, the scale factors can be reduced.
+
+\def\doMPconcat#1#2#3#4%
+ {\dimen12=#1pt % p_x % #1\onepoint
+ \dimen14=#3pt % p_y % #3\onepoint
+ \advance\dimen12 -\dimen8 % p_x - t_x
+ \advance\dimen14 -\dimen10 % p_y - t_y
+ \dimen18=\withoutpt\the\dimen6 \dimen12 % s_y(p_x - t_x)
+ \advance\dimen18 -\withoutpt\the\dimen4 \dimen14 % - r_y(p_y-t_y)
+ \dimen14=\withoutpt\the\dimen0 \dimen14 % s_x(p_y-t_y)
+ \advance\dimen14 -\withoutpt\the\dimen2 \dimen12 % - r_x(p_x-t_x)
+ % \MPscratchDim contains precomputed 1/D:
+ \dimen18=\withoutpt\the\MPscratchDim \dimen18
+ \dimen14=\withoutpt\the\MPscratchDim \dimen14
+ \edef#2{\withoutpt\the\dimen18}% % p_x^\prime
+ \edef#4{\withoutpt\the\dimen14}} % p_y^\prime
+
+%D One reason for Daniel to write this patch was that at small sizes
+%D the accuracy was less than optimal. Here is a test that demonstrates
+%D that his alternative is pretty good:
+%D
+%D \startlinecorrection
+%D \startMPcode
+%D for i = 5cm,1cm,5mm,1mm,.5mm,.1mm,.01mm :
+%D draw fullcircle scaled i withpen pencircle xscaled (i/10) yscaled (i/20) rotated 45 ;
+%D endfor ;
+%D \stopMPcode
+%D \stoplinecorrection
+
+%D The following explanation of the conversion process was
+%D posted to the \PDFTEX\ mailing list by Tanmoy. The original
+%D macro was part of a set of macro's that included sinus and
+%D cosinus calculations as well as scaling and translating. The
+%D \METAPOST\ to \PDF\ conversion however only needs
+%D transformation.
+
+%M \start \switchtobodyfont [ss]
+
+%D Given a point $(U_x, U_y)$ in user coordinates, the business
+%D of \POSTSCRIPT\ is to convert it to device space. Let us say
+%D that the device space coordinates are $(D_x, D_y)$. Then, in
+%D \POSTSCRIPT\ $(D_x, D_y)$ can be written in terms of
+%D $(U_x, U_y)$ in matrix notation, either as
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{D_x&D_y&1\cr} = \pmatrix{U_x&U_y&1\cr}
+%D \pmatrix{s_x&r_x&0\cr
+%D r_y&s_y&0\cr
+%D t_x&t_y&1\cr}
+%D \stopformula
+%D
+%D or
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{D_x\cr D_y\cr 1} = \pmatrix{s_x&r_y&t_x\cr
+%D r_x&s_y&t_y\cr
+%D 0 &0 &1 \cr}
+%D \pmatrix{U_x\cr
+%D U_y\cr
+%D 1 \cr}
+%D \stopformula
+%D
+%D both of which is a shorthand for the same set of equations:
+%D
+%D \placeformula
+%D \startformula
+%D D_x = s_x U_x + r_y U_y + t_x
+%D \stopformula
+%D
+%D \placeformula
+%D \startformula
+%D D_y = r_x U_x + s_y U_y + t_y
+%D \stopformula
+%D
+%D which define what is called an `affine transformation'.
+%D
+%D \POSTSCRIPT\ represents the `transformation matrix' as a
+%D six element matrix instead of a $3\times 3$ array because
+%D three of the elements are always~0, 0 and~1. Thus the above
+%D transformation is written in postscript as $[s_x\, r_x\,
+%D r_y\, s_y\, t_x\, t_y]$. However, when doing any
+%D calculations, it is useful to go back to the original
+%D matrix notation (whichever: I will use the second) and
+%D continue from there.
+%D
+%D As an example, if the current transformation matrix is
+%D $[s_x\, r_x\, r_y\, s_y\, t_x\, t_y]$ and you say \typ{[a b
+%D c d e f] concat}, this means:
+%D
+%D \startnarrower
+%D Take the user space coordinates and transform them to an
+%D intermediate set of coordinates using array $[a\, b\, c\, d\,
+%D e\, f]$ as the transformation matrix.
+%D
+%D Take the intermediate set of coordinates and change them to
+%D device coordinates using array $[s_x\, r_x\, r_y\, s_y\, t_x\, t_y]$
+%D as the transformation matrix.
+%D \stopnarrower
+%D
+%D Well, what is the net effect? In matrix notation, it is
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{I_x\cr I_y\cr 1\cr} = \pmatrix{a&c&e\cr
+%D b&d&f\cr
+%D 0&0&1\cr}
+%D \pmatrix{U_x\cr
+%D U_y\cr
+%D 1 \cr}
+%D \stopformula
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{D_y\cr D_y\cr 1\cr} = \pmatrix{s_x&r_y&t_x\cr
+%D r_x&s_y&t_y\cr
+%D 0 &0 &1 \cr}
+%D \pmatrix{I_x\cr
+%D I_y\cr
+%D 1 \cr}
+%D \stopformula
+%D
+%D where $(I_x, I_y)$ is the intermediate coordinate.
+%D
+%D Now, the beauty of the matrix notation is that when there is
+%D a chain of such matrix equations, one can always compose
+%D them into one matrix equation using the standard matrix
+%D composition law. The composite matrix from two matrices can
+%D be derived very easily: the element in the $i$\high{th}
+%D horizontal row and $j$\high{th} vertical column is
+%D calculated by`multiplying' the $i$\high{th} row of the first
+%D matrix and the $j$\high{th} column of the second matrix (and
+%D summing over the elements). Thus, in the above:
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{D_x\cr D_y\cr 1} = \pmatrix{s_x^\prime&r_y^\prime&t_x^\prime\cr
+%D r_x^\prime&s_y^\prime&t_y^\prime\cr
+%D 0 &0 &0 \cr}
+%D \pmatrix{U_x\cr
+%D U_y\cr
+%D 1 \cr}
+%D \stopformula
+%D
+%D with
+%D
+%D \placeformula
+%D \startformula
+%D \eqalign
+%D {s_x^\prime & = s_x a + r_y b \cr
+%D r_x^\prime & = r_x a + s_y b \cr
+%D r_y^\prime & = s_x c + r_y d \cr
+%D s_y^\prime & = r_x c + s_y d \cr
+%D t_x^\prime & = s_x e + r_y f + t_x \cr
+%D t_y^\prime & = r_x e + s_y f + t_y \cr}
+%D \stopformula
+
+%D In fact, the same rule is true not only when one is going
+%D from user coordinates to device coordinates, but whenever
+%D one is composing two `transformations' together
+%D (transformations are `associative'). Note that the formula
+%D is not symmetric: you have to keep track of which
+%D transformation existed before (i.e.\ the equivalent of
+%D $[s_x\, r_x\, r_y\, s_y\, t_x\, t_y]$) and which was
+%D specified later (i.e.\ the equivalent of $[a\, b\, c\, d\,
+%D e\, f]$). Note also that the language can be rather
+%D confusing: the one specified later `acts earlier',
+%D converting the user space coordinates to intermediate
+%D coordinates, which are then acted upon by the pre||existing
+%D transformation. The important point is that order of
+%D transformation matrices cannot be flipped (transformations
+%D are not `commutative').
+%D
+%D Now what does it mean to move a transformation matrix
+%D before a drawing? What it means is that given a point
+%D $(P_x, P_y)$ we need a different set of coordinates
+%D $(P_x^\prime, P_y^\prime)$ such that if the transformation
+%D acts on $(P_x^\prime, P_y^\prime)$, they produce $(P_x,
+%D P_y)$. That is we need to solve the set of equations:
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{P_x\cr P_y\cr 1\cr} = \pmatrix{s_x&r_y&t_x\cr
+%D r_x&s_y&t_y\cr
+%D 0 &0 &1 \cr}
+%D \pmatrix{P_x^\prime\cr
+%D P_y^\prime\cr
+%D 1 \cr}
+%D \stopformula
+%D
+%D Again matrix notation comes in handy (i.e. someone has
+%D already solved the problem for us): we need the inverse
+%D transformation matrix. The inverse transformation matrix can
+%D be calculated very easily:
+%D
+%D \placeformula
+%D \startformula
+%D \pmatrix{P_x^\prime\cr P_y^\prime\cr 1\cr} =
+%D \pmatrix{s_x^\prime&r_y^\prime&t_x^\prime\cr
+%D r_x^\prime&s_y^\prime&t_y^\prime\cr
+%D 0 &0 &1 \cr}
+%D \pmatrix{P_x\cr
+%D P_y\cr
+%D 1 \cr}
+%D \stopformula
+%D
+%D where, the inverse transformation matrix is given by
+%D
+%D \placeformula
+%D \startformula
+%D \eqalign
+%D {D & = s_x s_y - r_x r_y \cr
+%D s_x^\prime & = s_y / D \cr
+%D s_y^\prime & = s_x / D \cr
+%D r_x^\prime & = - r_x / D \cr
+%D r_y^\prime & = - r_y / D \cr
+%D t_x^\prime & = ( - s_y t_x + r_y t_y ) / D \cr
+%D t_y^\prime & = ( r_x t_x - s_x t_y ) / D \cr}
+%D \stopformula
+%D
+%D And you can see that when expanded out, this does
+%D give the formulas:
+%D
+%D \placeformula
+%D \startformula
+%D P_x^\prime = { { s_y(p_x-t_x) + r_y(t_y-p_y) } \over
+%D { s_x s_y-r_x r_y } }
+%D \stopformula
+%D
+%D \placeformula
+%D \startformula
+%D P_y^\prime = { { s_x(p_y-t_y) + r_x(t_x-p_x) } \over
+%D { s_x*s_y-r_x*r_y } }
+%D \stopformula
+%D
+%D The code works by representing a real number by converting
+%D it to a dimension to be put into a \DIMENSION\ register: 2.3 would
+%D be represented as 2.3pt for example. In this scheme,
+%D multiplying two numbers involves multiplying the \DIMENSION\
+%D registers and dividing by 65536. Accuracy demands that the
+%D division be done as late as possible, but overflow
+%D considerations need early division.
+%D
+%D Division involves dividing the two \DIMENSION\ registers and
+%D multiplying the result by 65536. Again, accuracy would
+%D demand that the numerator be multiplied (and|/|or the
+%D denominator divided) early: but that can lead to overflow
+%D which needs to be avoided.
+%D
+%D If nothing is known about the numbers to start with (in
+%D concat), I have chosen to divide the 65536 as a 256 in each
+%D operand. However, in the series calculating the sine and
+%D cosine, I know that the terms are small (because I never
+%D have an angle greater than 45 degrees), so I chose to
+%D apportion the factor in a different way.
+
+%M \stop
+
+%D The path is output using the values saved on the stack. If
+%D needed, all coordinates are recalculated.
+
+\def\finishMPpath
+ {\PDFcode{\ifcase\finiMPpath W n\or S\or f\or B\fi}}
+
+\def\processMPpath
+ {\checkMPpath
+ \ifcase\nofMPsegments\else
+ \flushMPpath
+ \closeMPpath
+ \finishMPpath
+ \fi
+ \let\handleMPsequence\dohandleMPsequence
+ \resetMPstack
+ \nofMPsegments\zerocount
+ \handleMPsequence}
+
+%D The following \METAPOST\ code is quite valid but, when
+%D processed and converted to \PDF, will make a file
+%D unprintable on a Hewlett Packard printer (from Acrobat
+%D $v<=5$). Who is to blame, the driver of the OS layer in
+%D between, is hard to determine, so we add an additional
+%D check.
+%D
+%D \starttyping
+%D clip currentpicture to origin -- cycle ;
+%D setbounds currentpicture to fullsquare scaled 5cm ;
+%D \stoptyping
+
+\def\checkMPpath
+ {\ifcase\finiMPpath
+ \ifnum\nofMPsegments<3 % n is one ahead
+ \message{omitting zero clip path}%
+ \nofMPsegments\zerocount
+ \fi
+ \fi}
+
+%D In \PDF\ the \type{cm} operator must precede the path
+%D specification. We therefore can output the \type{cm} at
+%D the moment we encounter it.
+
+\def\handleMPpathconcat
+ {\presetMPconcat
+ \PDFcode{\gMPs1 \gMPs2 \gMPs3 \gMPs4 \gMPs5 \gMPs6 cm}%
+ \resetMPstack}
+
+\def\handleMPpathscale
+ {\presetMPscale
+ \PDFcode{\gMPs1 0 0 \gMPs2 0 0 cm}%
+ \resetMPstack}
+
+%D This macro interprets the path and saves it as compact as
+%D possible.
+
+\def\dohandleMPpath#1%
+ {\ifcase\lccode`#1\relax
+ \@EA\dohandleMPpathA
+ \else
+ \@EA\dohandleMPpathB
+ \fi#1}
+
+%\def\dohandleMPpathA#1 %
+% {\setMPargument{#1}%
+% \handleMPsequence}
+
+\let\dohandleMPpathA\setMPsequence
+
+\def\dohandleMPpathB#1 %
+ {\def\somestring{#1}%
+ \ifx\somestring\PSlineto
+ \setMPkeyword0
+ \else\ifx\somestring\PScurveto
+ \setMPkeyword1
+ \else\ifx\somestring\PSrlineto
+ \setMPkeyword2
+ \else\ifx\somestring\PSmoveto
+ \setMPkeyword3
+ \else\ifx\somestring\PSclip
+ % \chardef\finiMPpath0 % already
+ \let\handleMPsequence\processMPpath
+ \else\ifx\somestring\PSgsave
+ \chardef\finiMPpath3
+ \else\ifx\somestring\PSgrestore
+ \else\ifx\somestring\PSfill
+ \ifcase\finiMPpath
+ \chardef\finiMPpath2
+ \let\handleMPsequence\processMPpath
+ \fi
+ \else\ifx\somestring\PSstroke
+ \ifcase\finiMPpath
+ \chardef\finiMPpath1
+ \fi
+ \let\handleMPsequence\processMPpath
+ \else\ifx\somestring\PSclosepath
+ \def\closeMPpath{\PDFcode{h}}%
+ \else\ifx\somestring\PSconcat
+ \let\flushMPpath\flushconcatMPpath
+ \handleMPpathconcat
+ \else\ifx\somestring\PSscale
+ \let\flushMPpath\flushconcatMPpath
+ \handleMPpathscale
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \handleMPsequence}
+
+%D The main conversion command is:
+%D
+%D \starttyping
+%D \convertMPtoPDF {filename} {x scale} {y scale}
+%D \stoptyping
+%D
+%D The dimensions are derived from the bounding box. So we
+%D only have to say:
+%D
+%D \starttyping
+%D \convertMPtoPDF{mp-pra-1.eps}{1}{1}
+%D \convertMPtoPDF{mp-pra-1.eps}{.5}{.5}
+%D \stoptyping
+
+%D \macros
+%D {makeMPintoPDFobject,lastPDFMPobject}
+%D
+%D For experts there are a few more options. When attributes
+%D are to be added, the code must be embedded in an object
+%D accompanied with the appropriate directives. One can
+%D influence this process with \type {\makeMPintoPDFobject}.
+%D
+%D This option defaults to~0, because \CONTEXT\ takes care
+%D of objects at another level, which saves some bytes.
+%D
+%D \starttabulate[|l|l|p|]
+%D \NC 0 \NC never \NC don't use an object \NC\NR
+%D \NC 1 \NC always \NC always use an object \NC\NR
+%D \NC 2 \NC optional \NC use object when needed \NC\NR
+%D \stoptabulate
+%D
+%D The last object number used is avaliable in the macro
+%D \type {\lastPDFMPobject}.
+
+\ifx\makeMPintoPDFobject\undefined \chardef\makeMPintoPDFobject=0 \fi
+
+\def\lastPDFMPobject{0}
+
+%D The additional code needed can be made available in the
+%D (global) macro \type {\currentPDFresources}.
+
+\let\currentPDFresources\empty
+
+\newtoks\everyMPtoPDFconversion
+
+\def\convertMPtoPDF % #1#2#3%
+ {\bgroup
+ \ifx\pdfdecimaldigits\undefined\else \pdfdecimaldigits=5 \fi % new
+ \setbox\scratchbox\vbox\bgroup
+ \forgetall
+ \offinterlineskip
+ \startMPresources
+ \doprocessMPtoPDFfile} %
+
+%D The next one is kind of private and probably will become obsolete):
+
+\def\processMPtoPDFfile % file xscale yscale
+ {\bgroup
+ \let\finishMPgraphic\egroup
+ \doprocessMPtoPDFfile}
+
+\def\doprocessMPtoPDFfile#1#2#3% file xscale yscale
+ {% the following line is needed for latex where onepoint is not
+ % onepoint but a number (maxdimen); some day i'll make a latex
+ % variant of this file so that i no longer have to deal with such
+ % issues; then i'll also speed up this module using a few context
+ % tricks
+ %
+ \let\onepoint\onerealpoint
+ %
+ \setMPspecials
+ \the\everyMPtoPDFconversion
+ \catcode`\^^M=\@@endofline
+ \startMPscanning
+ \let\do\empty
+ \xdef\MPxscale{#2}%
+ \xdef\MPyscale{#3}%
+ \xdef\MPxoffset{0}%
+ \xdef\MPyoffset{0}%
+ \xdef\MPyshift{\zeropoint}%
+ \donefalse
+ \let\handleMPsequence\dohandleMPsequence
+ \message{[MP to PDF]}% was: [MP to PDF #1] but there is a (#1) anyway
+ \input#1\relax}
+
+% strange rounding/clip in pdftex/viewer
+%
+% \def\finishMPgraphic
+% {\stopMPresources
+% \egroup
+% \ifx\pdftexversion\undefined\else\ifnum\pdftexversion<14 % for the moment
+% \chardef\makeMPintoPDFobject=0
+% \fi\fi
+% \ifcase\makeMPintoPDFobject\or\or\ifx\currentPDFresources\empty\else
+% \chardef\makeMPintoPDFobject=1
+% \fi\fi
+% \setbox\scratchbox=\vbox
+% {\forgetall
+% \hbox
+% {\PDFcode{q \MPxscale\space 0 0 \MPyscale\space \MPxoffset\space \MPyoffset\space cm}%
+% \lower\MPyshift\box\scratchbox % unscaled shift
+% \PDFcode{Q}}}%
+% \ht\scratchbox\MPheight
+% \wd\scratchbox\MPwidth
+% \dp\scratchbox\zeropoint
+% \ifcase\makeMPintoPDFobject
+% \box\scratchbox
+% \or
+% \immediate\pdfxform resources{\currentPDFresources}\scratchbox
+% \xdef\lastPDFMPobject{\the\pdflastxform}%
+% \pdfrefxform\lastPDFMPobject
+% \global\let\currentPDFresources\empty
+% \else
+% \box\scratchbox
+% \fi
+% \egroup}
+%
+% funny clip in viewer
+%
+% \setbox\scratchbox=\vbox
+% {\forgetall
+% \dimen0=\MPllx bp
+% \dimen2=\MPlly bp
+% \setbox\scratchbox=\hbox{\hskip-\dimen0\raise-\dimen2\box\scratchbox}%
+% \ht\scratchbox=\zeropoint
+% \dp\scratchbox=\zeropoint
+% \wd\scratchbox=\zeropoint
+% \hbox
+% {\PDFcode{q \MPxscale\space 0 0 \MPyscale\space 0 0 cm}%
+% \lower\MPshift\box\scratchbox
+% \PDFcode{Q}}}%
+
+% \let\PDFMPformoffset\zeropoint
+
+\def\PDFMPformoffset
+ {\ifx\objectoffset\undefined\zeropoint\else\objectoffset\fi}
+
+\def\finishMPgraphic
+ {\stopMPresources
+ \egroup
+ \setbox\scratchbox\vbox
+ {\forgetall
+ \hbox
+ {\PDFcode{q \MPxscale\space 0 0 \MPyscale\space \MPxoffset\space \MPyoffset\space cm}%
+ \lower\MPyshift\box\scratchbox % unscaled shift
+ \PDFcode{Q}}}%
+ \ht\scratchbox\MPheight
+ \wd\scratchbox\MPwidth
+ \dp\scratchbox\zeropoint\relax
+ \dopackageMPgraphic\scratchbox
+ \egroup
+ \endinput}
+
+%D Alternative for \PDFTEX. We cannot come up with something more contexy
+%D because this module is also used in \LATEX.
+
+\def\dopackageMPgraphic#1% #1 = boxregister
+ {%\ifx\pdfxform\undefined
+ % \chardef\makeMPintoPDFobject\zerocount % no pdftex at all
+ %\else\ifx\pdftexversion\undefined
+ % \chardef\makeMPintoPDFobject\zerocount % no pdftex at all
+ %\else\ifnum\pdftexversion<14
+ % \chardef\makeMPintoPDFobject\zerocount % no resource support
+ %\else
+ % % keep the default value
+ %\fi\fi\fi
+ \ifcase\makeMPintoPDFobject\or\or\ifx\currentPDFresources\empty\else
+ % an existing value of 2 signals object support (set elsewhere)
+ \chardef\makeMPintoPDFobject\plusone
+ \fi\fi
+ \ifcase\makeMPintoPDFobject
+ \box#1%
+ \or
+ \scratchdimen\PDFMPformoffset\relax
+ \ifdim\scratchdimen>\zeropoint % compensate for error
+ \setbox#1\vbox spread 2\scratchdimen
+ {\forgetall\vss\hbox spread 2\scratchdimen{\hss\box#1\hss}\vss}%
+ \fi
+ \setMPPDFobject{\currentPDFresources}{#1}%
+ \ifdim\scratchdimen>\zeropoint % compensate for error
+ \vbox to \MPheight
+ {\forgetall\vss\hbox to \MPwidth{\hss\getMPPDFobject\hss}\vss}%
+ \else
+ \getMPPDFobject
+ \fi
+ \global\let\currentPDFresources\empty
+ \else
+ \box#1%
+ \fi}
+
+\def\setMPPDFobject#1#2% resources boxnumber
+ {\ifx\pdfxform\undefined
+ \def\getMPPDFobject{\box#2}%
+ \else\ifx\pdftexversion\undefined
+ \def\getMPPDFobject{\box#2}%
+ \else\ifnum\pdftexversion<14
+ \def\getMPPDFobject{\box#2}%
+ \else
+ \immediate\pdfxform resources{#1}#2%
+ \edef\getMPPDFobject{\noexpand\pdfrefxform\the\pdflastxform}%
+ \fi\fi\fi}
+
+\let\getMPPDFobject\relax
+
+%D \macros
+%D {deleteMPgraphic,
+%D startMPresources,
+%D stopMPresources}
+%D
+%D Here are a few hooks for \CONTEXT\ specific things.
+
+\ifx\deleteMPgraphic\undefined
+ \def\deleteMPgraphic#1{}
+\fi
+
+\ifx\startMPresources\undefined
+ \let\startMPresources\relax
+ \let\stopMPresources\relax
+\fi
+
+%D \macros
+%D {twodigitMPoutput}
+%D
+%D We can limit the precision to two digits after the comma
+%D by saying:
+%D
+%D \starttyping
+%D \twodigitMPoutput
+%D \stoptyping
+%D
+%D This option only works in \CONTEXT\ combined with \ETEX.
+
+\def\twodigitMPoutput
+ {\let\!MP \twodigitrounding
+ \def\!MPgMPs##1{\twodigitrounding{\gMPs##1}}%
+ \def\!MPgMPa##1{\twodigitrounding{\gMPa##1}}}
+
+\let\!MP \empty
+\let\!MPgMPa\gMPa
+\let\!MPgMPs\gMPs
+
+%D This kind of conversion is possible because \METAPOST\
+%D does all the calculations. Converting other \POSTSCRIPT\
+%D files would drive both me and \TEX\ crazy.
+
+\ifx\undefined\StopLatexHack \else \StopLatexHack \fi
+
+\protect \endinput
diff --git a/Master/texmf/doc/pdftex/manual/samplepdf/tmp.pdf b/Master/texmf/doc/pdftex/manual/samplepdf/tmp.pdf
new file mode 100644
index 00000000000..3ce979ebf0c
--- /dev/null
+++ b/Master/texmf/doc/pdftex/manual/samplepdf/tmp.pdf
Binary files differ
diff --git a/Master/texmf/doc/pdftex/pdftex-pdfkeys/Makefile b/Master/texmf/doc/pdftex/pdftex-pdfkeys/Makefile
new file mode 100644
index 00000000000..b2ce911283e
--- /dev/null
+++ b/Master/texmf/doc/pdftex/pdftex-pdfkeys/Makefile
@@ -0,0 +1,29 @@
+# $Id: //depot/Master/texmf-dist/doc/pdftex/base/pdftex-pdfkeys/Makefile#1 $
+
+SOURCE = pdftex-pdfkeys
+PDFLATEX = pdflatex
+THUMBPDF = thumbpdf
+BIBTEX = bibtex
+
+SRCS = ${SOURCE}.tex fdl.tex
+
+##########################################################
+# Rules
+
+all: ${SOURCE}.pdf
+
+${SOURCE}.bbl: ${SOURCE}.tex
+ ${PDFLATEX} ${SOURCE}.tex
+ ${BIBTEX} ${SOURCE}
+
+${SOURCE}.pdf: ${SRCS} ${SOURCE}.bbl
+ ${PDFLATEX} ${SOURCE}.tex
+ ${PDFLATEX} ${SOURCE}.tex
+ ${THUMBPDF} ${SOURCE}.pdf
+ ${PDFLATEX} ${SOURCE}.tex
+
+clean:
+ rm -f *.aux *.blg *.log *.lot *.ilg *.toc *.gls *.glo *.idx *.ind *.brf *.out *.tpt *.inc
+
+realclean: clean
+ rm -f *.tex *.drv *.dvi *.pdf
diff --git a/Master/texmf/doc/pdftex/pdftex-pdfkeys/fdl.tex b/Master/texmf/doc/pdftex/pdftex-pdfkeys/fdl.tex
new file mode 100644
index 00000000000..bbccbb2e73d
--- /dev/null
+++ b/Master/texmf/doc/pdftex/pdftex-pdfkeys/fdl.tex
@@ -0,0 +1,368 @@
+% fdl.tex
+% This file is a chapter. It must be included in a larger document to work
+% properly.
+
+\chapter{GNU Free Documentation License}
+\label{chap:fdl}
+
+Version 1.1, March 2000
+
+ Copyright \copyright\ 2000 Free Software Foundation, Inc.\\
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\\
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+\section*{Preamble}
+
+The purpose of this License is to make a manual, textbook, or other
+written document ``free'' in the sense of freedom: to assure everyone
+the effective freedom to copy and redistribute it, with or without
+modifying it, either commercially or noncommercially. Secondarily,
+this License preserves for the author and publisher a way to get
+credit for their work, while not being considered responsible for
+modifications made by others.
+
+This License is a kind of ``copyleft'', which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+\section{Applicability and Definitions}
+
+This License applies to any manual or other work that contains a
+notice placed by the copyright holder saying it can be distributed
+under the terms of this License. The ``Document'', below, refers to any
+such manual or work. Any member of the public is a licensee, and is
+addressed as ``you''.
+
+A ``Modified Version'' of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A ``Secondary Section'' is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject. (For example, if the Document is in part a
+textbook of mathematics, a Secondary Section may not explain any
+mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The ``Invariant Sections'' are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License.
+
+The ``Cover Texts'' are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License.
+
+A ``Transparent'' copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, whose contents can be viewed and edited directly and
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup has been designed to thwart or discourage
+subsequent modification by readers is not Transparent. A copy that is
+not ``Transparent'' is called ``Opaque''.
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, \LaTeX~input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML designed for human modification. Opaque formats include
+PostScript, PDF, proprietary formats that can be read and edited only
+by proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML produced by some word processors for output
+purposes only.
+
+The ``Title Page'' means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, ``Title Page'' means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+
+\section{Verbatim Copying}
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+\section{Copying in Quantity}
+
+If you publish printed copies of the Document numbering more than 100,
+and the Document's license notice requires Cover Texts, you must enclose
+the copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a publicly-accessible computer-network location containing a complete
+Transparent copy of the Document, free of added material, which the
+general network-using public has access to download anonymously at no
+charge using public-standard network protocols. If you use the latter
+option, you must take reasonably prudent steps, when you begin
+distribution of Opaque copies in quantity, to ensure that this
+Transparent copy will remain thus accessible at the stated location
+until at least one year after the last time you distribute an Opaque
+copy (directly or through your agents or retailers) of that edition to
+the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+
+
+\section{Modifications}
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+\begin{itemize}
+
+\item Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+\item List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has less than five).
+\item State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+\item Preserve all the copyright notices of the Document.
+\item Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+\item Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+\item Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+\item Include an unaltered copy of this License.
+\item Preserve the section entitled ``History'', and its title, and add to
+ it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section entitled ``History'' in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+\item Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the ``History'' section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+\item In any section entitled ``Acknowledgements'' or ``Dedications'',
+ preserve the section's title, and preserve in the section all the
+ substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+\item Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+\item Delete any section entitled ``Endorsements''. Such a section
+ may not be included in the Modified Version.
+\item Do not retitle any existing section as ``Endorsements''
+ or to conflict in title with any Invariant Section.
+
+\end{itemize}
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section entitled ``Endorsements'', provided it contains
+nothing but endorsements of your Modified Version by various
+parties -- for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+\section{Combining Documents}
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections entitled ``History''
+in the various original documents, forming one section entitled
+``History''; likewise combine any sections entitled ``Acknowledgements'',
+and any sections entitled ``Dedications''. You must delete all sections
+entitled ``Endorsements.''
+
+
+\section{Collections of Documents}
+
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+
+
+\section{Aggregation With Independent Works}
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, does not as a whole count as a Modified Version
+of the Document, provided no compilation copyright is claimed for the
+compilation. Such a compilation is called an ``aggregate'', and this
+License does not apply to the other self-contained works thus compiled
+with the Document, on account of their being thus compiled, if they
+are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one quarter
+of the entire aggregate, the Document's Cover Texts may be placed on
+covers that surround only the Document within the aggregate.
+Otherwise they must appear on covers around the whole aggregate.
+
+
+\section{Translation}
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License provided that you also include the
+original English version of this License. In case of a disagreement
+between the translation and the original English version of this
+License, the original English version will prevail.
+
+
+\section{Termination}
+
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License. Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License. However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+
+\section{Future Revisions of This License}
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+
+\section*{ADDENDUM: How to use this License for your documents}
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+\begin{quote}
+
+ Copyright \copyright\ YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.1
+ or any later version published by the Free Software Foundation;
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+ A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+
+\end{quote}
+
+If you have no Invariant Sections, write ``with no Invariant Sections''
+instead of saying which ones are invariant. If you have no
+Front-Cover Texts, write ``no Front-Cover Texts'' instead of
+``Front-Cover Texts being LIST''; likewise for Back-Cover Texts.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
+
diff --git a/Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.bbl b/Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.bbl
new file mode 100644
index 00000000000..d66386716ab
--- /dev/null
+++ b/Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.bbl
@@ -0,0 +1,16 @@
+\input bibnames.sty \input path.sty \ifx \POSTSCRIPT \undefined \def
+ \POSTSCRIPT {{Post\-Script}} \fi\hyphenation{Ker-n-i-ghan Port-able
+ Post-Script Pren-tice Richt-er Spring-er}
+\begin{thebibliography}{1}
+
+\bibitem{Adobe:2000:PRA}
+{Adobe Systems Incorporated}.
+\newblock {\em {PDF} reference: {Adobe} portable document format, version 1.3}.
+\newblock Ad{\-d}i{\-s}on-Wes{\-l}ey, Reading, MA, USA, second edition, 2000.
+
+\bibitem{Adobe:2001:PRA}
+{Adobe Systems Incorporated}.
+\newblock {\em {PDF} reference: {Adobe} portable document format, version 1.4}.
+\newblock Ad{\-d}i{\-s}on-Wes{\-l}ey, Reading, MA, USA, third edition, 2001.
+
+\end{thebibliography}
diff --git a/Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.pdf b/Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.pdf
new file mode 100644
index 00000000000..f25cd03da51
--- /dev/null
+++ b/Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.pdf
Binary files differ
diff --git a/Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.tex b/Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.tex
new file mode 100644
index 00000000000..246b4329318
--- /dev/null
+++ b/Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.tex
@@ -0,0 +1,210 @@
+% $Id: //depot/Master/texmf-dist/doc/pdftex/base/pdftex-pdfkeys/pdftex-pdfkeys.tex#1 $
+% Copyright (c) 2001 Martin Schröder
+% Permission is granted to copy, distribute and/or modify this document
+% under the terms of the GNU Free Documentation License, Version 1.1 or
+% any later version published by the Free Software Foundation; with with
+% no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+% Texts.
+% A copy of the license is included in the appendix entitled "GNU Free
+% Documentation License".
+%
+% The layout of this document tries to mimic that of the PDF reference.
+\pdfoutput=1
+\pdfcompresslevel=9
+\pdfdecimaldigits=5
+\documentclass[a4paper,oneside,bibtotoc,openany,pdftex]{scrbook}
+\usepackage[latin1]{inputenc}
+\usepackage[pdfpagelabels]{hyperref}
+\usepackage{thumbpdf}
+\usepackage{filecontents}
+\usepackage{ltxtable,booktabs}
+\usepackage{xspace}
+\usepackage{relsize}
+\usepackage{prelim2e}
+\newcommand{\documentversion}{0.12}
+\renewcommand{\PrelimText}{%
+ \textnormal{%
+ \footnotesize%
+ \PrelimTextStyle%
+ Version \documentversion{} -- 2002-05-10
+ }%
+ }
+
+%--------------
+
+\hypersetup{colorlinks,
+ bookmarksnumbered,
+ pdftitle={Additional PDF keys inserted by pdfTeX},
+ pdfauthor={Martin Schröder}}
+
+\newenvironment{keytable}[1]
+% Usage:
+% \begin{filecontents}{foo}
+% \begin{keytable}{caption}
+% \pdfkey...
+% \end{keytable}
+% \end{filecontents}
+% \LTXtable{\textwidth}{foo}
+ {%
+ \begin{longtable}{ll>{\raggedright}X}
+ \caption{#1}\belowpdfbookmark{Table \thetable{} #1}{table:\thetable}\\
+ \toprule
+ \sffamily\slshape Key & \sffamily\slshape Type & \sffamily\slshape Semantics \tabularnewline
+ \midrule\addlinespace[1ex]
+ \endfirsthead
+ \caption[]{(continued)}\\
+ \toprule
+ \sffamily\slshape Key & \sffamily\slshape Type & \sffamily\slshape Semantics \tabularnewline
+ \midrule\addlinespace[1ex]
+ \endhead
+ \bottomrule
+ \endfoot
+ }{\end{longtable}%
+ }
+\newcommand*{\pdfkey}[3]{\bfseries #1 & #2 & #3\tabularnewline}
+
+\newenvironment{history}
+ {%
+ \begin{longtable}{lll>{\raggedright}X}
+ \caption{History}\belowpdfbookmark{Table \thetable{} History}{table:\thetable}\\
+ \toprule
+ Version & When & Who & What \tabularnewline
+ \midrule\addlinespace[1ex]
+ \endfirsthead
+ \caption[]{(continued)}\\
+ \toprule
+ Version & When & Who & What \tabularnewline
+ \midrule\addlinespace[1ex]
+ \endhead
+ \bottomrule
+ \endfoot
+ }{\end{longtable}%
+ }
+\newcommand*{\historyentry}[4]{#1 & #2 & #3 & #4\tabularnewline}
+
+%--------------
+
+\deffootnote{1em}{1em}{\textsuperscript{\normalfont{\thefootnotemark}}}
+
+%--------------
+
+\newcommand{\pt}{pdf\TeX\xspace}
+\newcommand{\eg}{e.\,g.\xspace}
+\newcommand*{\key}[1]{\textsf{\textbf{#1}}\xspace}
+
+%--------------
+\begin{document}
+\frontmatter
+\title{Additional PDF keys inserted by \pt\\[1ex]
+ \relsize{-2} Version \documentversion}
+\author{Martin Schröder%
+ \thanks{ArtCom GmbH\newline
+ Grazer Straße 8\newline
+ 28359 Bremen\newline
+ Germany\newline
+ \texttt{ms@artcom-gmbh.de}}
+ }
+\maketitle
+
+\tableofcontents
+\listoftables
+
+%--------------
+
+\chapter*{Copyright}
+
+Permission is granted to copy, distribute and/or modify this document under the
+terms of the GNU Free Documentation License, Version 1.1 or any later version
+published by the Free Software Foundation; with no Invariant Sections, with no
+Front-Cover Texts, and with no Back-Cover Texts.
+A copy of the license is included in appendix \ref{chap:fdl}.
+
+%--------------
+\mainmatter
+\chapter{Introduction}
+
+A PDF document should contain only the structures and attributes defined in
+the PDF specification \cite{Adobe:2001:PRA}.
+But the specification allows applications to insert additional keys,
+provided they follow certain rules \cite[Appendix F]{Adobe:2001:PRA}.
+
+The most important rule is that developers have to register with Adobe prefixes
+for the keys they want to insert.
+This has been done for \pt: Hans Hagen has registered the prefix ``PTEX''.
+
+As this prefix is all caps keys should start with an additional ``.''.
+
+\section{History}
+\begin{filecontents}{ltxtable.inc}
+\begin{history}
+\historyentry{0.12}
+ {2002-05-10}
+ {Martin Schr\"oder}
+ {Fixed typo in Copyright; refer to \cite{Adobe:2001:PRA}
+ instead of \cite{Adobe:2000:PRA} and updated the terminology.}
+\historyentry{0.11}
+ {2001-11-05}
+ {Martin Schr\"oder}
+ {Added \key{PTEX.InfoDict}}
+\historyentry{0.1}
+ {2001-10-10}
+ {Martin Schr\"oder}
+ {Initial version}
+\end{history}
+\end{filecontents}
+\LTXtable{\textwidth}{ltxtable.inc}
+
+%--------------
+\chapter{XObjects (included PDF)}
+
+\pt generates an XObject for every included PDF.
+The dictionary of this object contains these additional keys:
+
+\begin{filecontents}{ltxtable.inc}
+\begin{keytable}{Attributes in XObjects of included PDF}
+\pdfkey{PTEX.FileName}{string}{The name of the included file as seen by \pt.}
+\pdfkey{PTEX.InfoDict}{dictionary}{\emph{(Indirect)} The document
+ information dictionary of the included
+ PDF.}
+\pdfkey{PTEX.PageNumber}{integer}{The page number of the included file.}
+\end{keytable}
+\end{filecontents}
+\LTXtable{\textwidth}{ltxtable.inc}
+
+%--------------
+\chapter{Document Catalog}
+
+Although it would seem more natural to put this infomation in the document
+information dictionary, the PDF reference says
+\cite[p.\,575]{Adobe:2001:PRA}:
+\begin{quote}
+Although viewer applications can store custom metadata in the document
+information dictionary, it is inappropriate to store private content or
+structural information there; such information should be stored in the
+document catalog instead (see Section 3.6.1, Document Catalog).
+\end{quote}
+
+\begin{filecontents}{ltxtable.inc}
+\begin{keytable}{Catalog attributes}
+\pdfkey{PTEX.Fullbanner}{string}{The full version of the \pt binary that
+ produced the file as displayed by
+ \texttt{pdftex -\/-version}, \eg\ ``This is
+ pdfTeX, Version
+ 3.14159-1.00a-pretest-ArtCom-20011008''.\newline
+ This is necessary because the string in the
+ \key{Producer} key in the Info dictionary
+ is rather short, \eg\ ``pdfTeX-1.0a-pdfcrypt''.}
+\end{keytable}
+\end{filecontents}
+\LTXtable{\textwidth}{ltxtable.inc}
+
+%--------------
+\appendix
+\include{fdl}
+
+%--------------
+\backmatter
+\bibliographystyle{plain}
+\bibliography{postscri}
+
+\end{document}