From a540e256be85df29c60ac323d4460c6cde1d9350 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 3 Jan 2006 00:00:18 +0000 Subject: trunk/Master/texmf/doc git-svn-id: svn://tug.org/texlive/trunk@42 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf/doc/bzip2/bzip2.html | 2141 +++ Master/texmf/doc/bzip2/bzip2.pdf | Bin 0 -> 210902 bytes Master/texmf/doc/bzip2/manual.html | 117 + Master/texmf/doc/cefconv/cefconv.pdf | Bin 0 -> 45803 bytes Master/texmf/doc/cefconv/man/pdf/cefconv.pdf | Bin 0 -> 2917 bytes Master/texmf/doc/cefsconv/cefsconv.pdf | Bin 0 -> 47228 bytes Master/texmf/doc/cefsconv/man/pdf/cefsconv.pdf | Bin 0 -> 3071 bytes Master/texmf/doc/chktex/ChkTeX.html | 4263 +++++ Master/texmf/doc/chktex/ChkTeX.pdf | Bin 0 -> 201168 bytes Master/texmf/doc/dvipng/dvipng.html | 1063 ++ Master/texmf/doc/gzip/gzip.html | 802 + Master/texmf/doc/gzip/gzip.pdf | Bin 0 -> 119215 bytes Master/texmf/doc/hbf2gf/hbf2gf.pdf | Bin 0 -> 217933 bytes Master/texmf/doc/hbf2gf/hbf2gf.txt | 384 + Master/texmf/doc/hbf2gf/man/pdf/hbf2gf.pdf | Bin 0 -> 17395 bytes Master/texmf/doc/info/dir | 71 + Master/texmf/doc/info/dvipng.info | 977 + Master/texmf/doc/info/dvips.info | 4675 +++++ Master/texmf/doc/info/eplain.info | 6422 +++++++ Master/texmf/doc/info/fontname.info | 15489 ++++++++++++++++ Master/texmf/doc/info/info-stnd.info | 2620 +++ Master/texmf/doc/info/info.info | 1410 ++ Master/texmf/doc/info/kpathsea.info | 4647 +++++ Master/texmf/doc/info/latex.info | 4309 +++++ Master/texmf/doc/info/tds.info | 1714 ++ Master/texmf/doc/info/texdraw.info | 2429 +++ Master/texmf/doc/info/texi2html.info | 3637 ++++ Master/texmf/doc/info/texinfo.info | 18328 +++++++++++++++++++ Master/texmf/doc/info/web2c.info | 4739 +++++ Master/texmf/doc/man/man1/a2ping.1 | 380 + Master/texmf/doc/man/man1/afm2pl.1 | 275 + Master/texmf/doc/man/man1/afm2tfm.1 | 25 + Master/texmf/doc/man/man1/allcm.1 | 28 + Master/texmf/doc/man/man1/allec.1 | 1 + Master/texmf/doc/man/man1/allneeded.1 | 30 + Master/texmf/doc/man/man1/amstex.1 | 69 + Master/texmf/doc/man/man1/bg5conv.1 | 94 + Master/texmf/doc/man/man1/bibtex.1 | 146 + Master/texmf/doc/man/man1/bzip2.1 | 453 + Master/texmf/doc/man/man1/cef5conv.1 | 111 + Master/texmf/doc/man/man1/cefconv.1 | 101 + Master/texmf/doc/man/man1/cefsconv.1 | 111 + Master/texmf/doc/man/man1/cfftot1.1 | 87 + Master/texmf/doc/man/man1/cont-de.1 | 458 + Master/texmf/doc/man/man1/cont-en.1 | 458 + Master/texmf/doc/man/man1/cont-nl.1 | 458 + Master/texmf/doc/man/man1/ctangle.1 | 1 + Master/texmf/doc/man/man1/ctie.1 | 55 + Master/texmf/doc/man/man1/cweave.1 | 1 + Master/texmf/doc/man/man1/cweb.1 | 133 + Master/texmf/doc/man/man1/detex.1 | 126 + Master/texmf/doc/man/man1/dmp.1 | 60 + Master/texmf/doc/man/man1/dt2dv.1 | 156 + Master/texmf/doc/man/man1/dv2dt.1 | 715 + Master/texmf/doc/man/man1/dvi2fax.1 | 22 + Master/texmf/doc/man/man1/dvi2tty.1 | 131 + Master/texmf/doc/man/man1/dvibook.1 | 53 + Master/texmf/doc/man/man1/dviconcat.1 | 46 + Master/texmf/doc/man/man1/dvicopy.1 | 22 + Master/texmf/doc/man/man1/dvidvi.1 | 127 + Master/texmf/doc/man/man1/dvihp.1 | 49 + Master/texmf/doc/man/man1/dvilj.1 | 275 + Master/texmf/doc/man/man1/dvilj2p.1 | 1 + Master/texmf/doc/man/man1/dvilj4.1 | 1 + Master/texmf/doc/man/man1/dvilj4l.1 | 1 + Master/texmf/doc/man/man1/dvilj6.1 | 1 + Master/texmf/doc/man/man1/dvipdfm.1 | 322 + Master/texmf/doc/man/man1/dvipdft.1 | 36 + Master/texmf/doc/man/man1/dvipng.1 | 483 + Master/texmf/doc/man/man1/dvips.1 | 517 + Master/texmf/doc/man/man1/dvired.1 | 63 + Master/texmf/doc/man/man1/dviselect.1 | 129 + Master/texmf/doc/man/man1/dvitodvi.1 | 137 + Master/texmf/doc/man/man1/dvitomp.1 | 17 + Master/texmf/doc/man/man1/dvitype.1 | 74 + Master/texmf/doc/man/man1/e2pall.1 | 55 + Master/texmf/doc/man/man1/ebb.1 | 34 + Master/texmf/doc/man/man1/eplain.1 | 103 + Master/texmf/doc/man/man1/epsffit.1 | 51 + Master/texmf/doc/man/man1/epstopdf.1 | 54 + Master/texmf/doc/man/man1/etex.1 | 429 + Master/texmf/doc/man/man1/extconv.1 | 94 + Master/texmf/doc/man/man1/extractres.1 | 47 + Master/texmf/doc/man/man1/fdf2tex.1 | 31 + Master/texmf/doc/man/man1/fixdlsrps.1 | 24 + Master/texmf/doc/man/man1/fixfmps.1 | 24 + Master/texmf/doc/man/man1/fixmacps.1 | 27 + Master/texmf/doc/man/man1/fixpsditps.1 | 24 + Master/texmf/doc/man/man1/fixpspps.1 | 24 + Master/texmf/doc/man/man1/fixscribeps.1 | 24 + Master/texmf/doc/man/man1/fixtpps.1 | 24 + Master/texmf/doc/man/man1/fixwfwps.1 | 24 + Master/texmf/doc/man/man1/fixwpps.1 | 24 + Master/texmf/doc/man/man1/fixwwps.1 | 24 + Master/texmf/doc/man/man1/fmtutil-sys.1 | 1 + Master/texmf/doc/man/man1/fmtutil.1 | 80 + Master/texmf/doc/man/man1/fontinst.1 | 45 + Master/texmf/doc/man/man1/getafm.1 | 29 + Master/texmf/doc/man/man1/getnonfreefonts.1 | 182 + Master/texmf/doc/man/man1/gftodvi.1 | 167 + Master/texmf/doc/man/man1/gftopk.1 | 103 + Master/texmf/doc/man/man1/gftype.1 | 97 + Master/texmf/doc/man/man1/gsftopk.1 | 301 + Master/texmf/doc/man/man1/gzip.1 | 478 + Master/texmf/doc/man/man1/hbf2gf.1 | 736 + Master/texmf/doc/man/man1/includeres.1 | 41 + Master/texmf/doc/man/man1/info.1 | 89 + Master/texmf/doc/man/man1/infokey.1 | 41 + Master/texmf/doc/man/man1/install-info.1 | 78 + Master/texmf/doc/man/man1/kpseaccess.1 | 63 + Master/texmf/doc/man/man1/kpsepath.1 | 1 + Master/texmf/doc/man/man1/kpsereadlink.1 | 32 + Master/texmf/doc/man/man1/kpsestat.1 | 53 + Master/texmf/doc/man/man1/kpsetool.1 | 106 + Master/texmf/doc/man/man1/kpsewhere.1 | 50 + Master/texmf/doc/man/man1/kpsewhich.1 | 160 + Master/texmf/doc/man/man1/kpsexpand.1 | 1 + Master/texmf/doc/man/man1/lacheck.1 | 113 + Master/texmf/doc/man/man1/lambda.1 | 292 + Master/texmf/doc/man/man1/latex.1 | 70 + Master/texmf/doc/man/man1/mag.1 | 68 + Master/texmf/doc/man/man1/makeindex.1 | 1203 ++ Master/texmf/doc/man/man1/makeinfo.1 | 205 + Master/texmf/doc/man/man1/makempx.1 | 89 + Master/texmf/doc/man/man1/makempy.1 | 60 + Master/texmf/doc/man/man1/mf-nowin.1 | 1 + Master/texmf/doc/man/man1/mf.1 | 501 + Master/texmf/doc/man/man1/mft.1 | 134 + Master/texmf/doc/man/man1/mkindex.1 | 42 + Master/texmf/doc/man/man1/mkocp.1 | 50 + Master/texmf/doc/man/man1/mkofm.1 | 33 + Master/texmf/doc/man/man1/mktexfmt.1 | 1 + Master/texmf/doc/man/man1/mktexlsr.1 | 46 + Master/texmf/doc/man/man1/mktexmf.1 | 59 + Master/texmf/doc/man/man1/mktexpk.1 | 122 + Master/texmf/doc/man/man1/mktextfm.1 | 68 + Master/texmf/doc/man/man1/mmafm.1 | 183 + Master/texmf/doc/man/man1/mmpfb.1 | 211 + Master/texmf/doc/man/man1/mpost.1 | 478 + Master/texmf/doc/man/man1/mpto.1 | 68 + Master/texmf/doc/man/man1/newer.1 | 41 + Master/texmf/doc/man/man1/odvicopy.1 | 1 + Master/texmf/doc/man/man1/odvips.1 | 1 + Master/texmf/doc/man/man1/odvitype.1 | 1 + Master/texmf/doc/man/man1/ofm2opl.1 | 91 + Master/texmf/doc/man/man1/omega.1 | 292 + Master/texmf/doc/man/man1/opl2ofm.1 | 74 + Master/texmf/doc/man/man1/otfinfo.1 | 143 + Master/texmf/doc/man/man1/otftotfm.1 | 1473 ++ Master/texmf/doc/man/man1/otp2ocp.1 | 41 + Master/texmf/doc/man/man1/outocp.1 | 44 + Master/texmf/doc/man/man1/ovf2ovp.1 | 87 + Master/texmf/doc/man/man1/ovp2ovf.1 | 78 + Master/texmf/doc/man/man1/oxdvi.1 | 1 + Master/texmf/doc/man/man1/patgen.1 | 170 + Master/texmf/doc/man/man1/pdfetex.1 | 487 + Master/texmf/doc/man/man1/pdflatex.1 | 1 + Master/texmf/doc/man/man1/pdftex.1 | 479 + Master/texmf/doc/man/man1/pfb2pfa.1 | 19 + Master/texmf/doc/man/man1/pk2bm.1 | 39 + Master/texmf/doc/man/man1/pktogf.1 | 103 + Master/texmf/doc/man/man1/pktype.1 | 85 + Master/texmf/doc/man/man1/pltotf.1 | 74 + Master/texmf/doc/man/man1/pooltype.1 | 45 + Master/texmf/doc/man/man1/ps2frag.1 | 41 + Master/texmf/doc/man/man1/ps2pk.1 | 156 + Master/texmf/doc/man/man1/psbook.1 | 42 + Master/texmf/doc/man/man1/pslatex.1 | 44 + Master/texmf/doc/man/man1/psmerge.1 | 36 + Master/texmf/doc/man/man1/psnup.1 | 160 + Master/texmf/doc/man/man1/psresize.1 | 81 + Master/texmf/doc/man/man1/psselect.1 | 84 + Master/texmf/doc/man/man1/pstops.1 | 166 + Master/texmf/doc/man/man1/rubibtex.1 | 63 + Master/texmf/doc/man/man1/rumakeindex.1 | 63 + Master/texmf/doc/man/man1/sjisconv.1 | 94 + Master/texmf/doc/man/man1/t1ascii.1 | 51 + Master/texmf/doc/man/man1/t1asm.1 | 96 + Master/texmf/doc/man/man1/t1binary.1 | 42 + Master/texmf/doc/man/man1/t1disasm.1 | 96 + Master/texmf/doc/man/man1/t1dotlessj.1 | 96 + Master/texmf/doc/man/man1/t1lint.1 | 48 + Master/texmf/doc/man/man1/t1mac.1 | 62 + Master/texmf/doc/man/man1/t1reencode.1 | 149 + Master/texmf/doc/man/man1/t1testpage.1 | 62 + Master/texmf/doc/man/man1/t1unmac.1 | 71 + Master/texmf/doc/man/man1/tangle.1 | 180 + Master/texmf/doc/man/man1/tcdialog.1 | 217 + Master/texmf/doc/man/man1/tex.1 | 541 + Master/texmf/doc/man/man1/texconfig-sys.1 | 1 + Master/texmf/doc/man/man1/texconfig.1 | 27 + Master/texmf/doc/man/man1/texdoc.1 | 94 + Master/texmf/doc/man/man1/texdoctk.1 | 217 + Master/texmf/doc/man/man1/texexec.1 | 574 + Master/texmf/doc/man/man1/texfind.1 | 72 + Master/texmf/doc/man/man1/texfont.1 | 84 + Master/texmf/doc/man/man1/texhash.1 | 1 + Master/texmf/doc/man/man1/texi2dvi.1 | 95 + Master/texmf/doc/man/man1/texi2html.1 | 164 + Master/texmf/doc/man/man1/texi2pdf.1 | 1 + Master/texmf/doc/man/man1/texindex.1 | 47 + Master/texmf/doc/man/man1/texlinks.1 | 65 + Master/texmf/doc/man/man1/texshow.1 | 69 + Master/texmf/doc/man/man1/texutil.1 | 266 + Master/texmf/doc/man/man1/tftopl.1 | 117 + Master/texmf/doc/man/man1/thumbpdf.1 | 100 + Master/texmf/doc/man/man1/tie.1 | 39 + Master/texmf/doc/man/man1/ttf2afm.1 | 74 + Master/texmf/doc/man/man1/ttf2pk.1 | 311 + Master/texmf/doc/man/man1/ttf2pt1.1 | 619 + Master/texmf/doc/man/man1/ttf2tfm.1 | 1182 ++ Master/texmf/doc/man/man1/ttfdump.1 | 124 + Master/texmf/doc/man/man1/updmap-sys.1 | 1 + Master/texmf/doc/man/man1/updmap.1 | 260 + Master/texmf/doc/man/man1/vftovp.1 | 100 + Master/texmf/doc/man/man1/vlna.1 | 130 + Master/texmf/doc/man/man1/vptovf.1 | 68 + Master/texmf/doc/man/man1/weave.1 | 77 + Master/texmf/doc/man/man1/xdvi.1 | 4101 +++++ Master/texmf/doc/man/man1/xdvizilla.1 | 115 + Master/texmf/doc/man/man3/zlib.3 | 159 + Master/texmf/doc/man/man5/fmtutil.cnf.5 | 75 + Master/texmf/doc/man/man5/info.5 | 72 + Master/texmf/doc/man/man5/texinfo.5 | 61 + Master/texmf/doc/man/man5/updmap.cfg.5 | 137 + Master/texmf/doc/pdftex/NEWS | 400 + Master/texmf/doc/pdftex/README | 90 + Master/texmf/doc/pdftex/manual/makefiles.cmd | 13 + Master/texmf/doc/pdftex/manual/pdftex-t.tex | 4833 +++++ Master/texmf/doc/pdftex/manual/pdftex-w.pdf | 66 + .../texmf/doc/pdftex/manual/samplepdf/pdfcolor.tex | 158 + Master/texmf/doc/pdftex/manual/samplepdf/pic.pdf | Bin 0 -> 36792 bytes Master/texmf/doc/pdftex/manual/samplepdf/rgb.icc | Bin 0 -> 744 bytes .../texmf/doc/pdftex/manual/samplepdf/samplepdf.0 | 24 + .../doc/pdftex/manual/samplepdf/samplepdf.tex | 1161 ++ .../texmf/doc/pdftex/manual/samplepdf/supp-mis.tex | 695 + .../texmf/doc/pdftex/manual/samplepdf/supp-pdf.tex | 2191 +++ Master/texmf/doc/pdftex/manual/samplepdf/tmp.pdf | Bin 0 -> 3031 bytes Master/texmf/doc/pdftex/pdftex-pdfkeys/Makefile | 29 + Master/texmf/doc/pdftex/pdftex-pdfkeys/fdl.tex | 368 + .../doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.bbl | 16 + .../doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.pdf | Bin 0 -> 132564 bytes .../doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.tex | 210 + 243 files changed, 122012 insertions(+) create mode 100644 Master/texmf/doc/bzip2/bzip2.html create mode 100644 Master/texmf/doc/bzip2/bzip2.pdf create mode 100644 Master/texmf/doc/bzip2/manual.html create mode 100644 Master/texmf/doc/cefconv/cefconv.pdf create mode 100644 Master/texmf/doc/cefconv/man/pdf/cefconv.pdf create mode 100644 Master/texmf/doc/cefsconv/cefsconv.pdf create mode 100644 Master/texmf/doc/cefsconv/man/pdf/cefsconv.pdf create mode 100644 Master/texmf/doc/chktex/ChkTeX.html create mode 100644 Master/texmf/doc/chktex/ChkTeX.pdf create mode 100644 Master/texmf/doc/dvipng/dvipng.html create mode 100644 Master/texmf/doc/gzip/gzip.html create mode 100644 Master/texmf/doc/gzip/gzip.pdf create mode 100644 Master/texmf/doc/hbf2gf/hbf2gf.pdf create mode 100644 Master/texmf/doc/hbf2gf/hbf2gf.txt create mode 100644 Master/texmf/doc/hbf2gf/man/pdf/hbf2gf.pdf create mode 100644 Master/texmf/doc/info/dir create mode 100644 Master/texmf/doc/info/dvipng.info create mode 100644 Master/texmf/doc/info/dvips.info create mode 100644 Master/texmf/doc/info/eplain.info create mode 100644 Master/texmf/doc/info/fontname.info create mode 100644 Master/texmf/doc/info/info-stnd.info create mode 100644 Master/texmf/doc/info/info.info create mode 100644 Master/texmf/doc/info/kpathsea.info create mode 100644 Master/texmf/doc/info/latex.info create mode 100644 Master/texmf/doc/info/tds.info create mode 100644 Master/texmf/doc/info/texdraw.info create mode 100644 Master/texmf/doc/info/texi2html.info create mode 100644 Master/texmf/doc/info/texinfo.info create mode 100644 Master/texmf/doc/info/web2c.info create mode 100644 Master/texmf/doc/man/man1/a2ping.1 create mode 100644 Master/texmf/doc/man/man1/afm2pl.1 create mode 100644 Master/texmf/doc/man/man1/afm2tfm.1 create mode 100644 Master/texmf/doc/man/man1/allcm.1 create mode 120000 Master/texmf/doc/man/man1/allec.1 create mode 100644 Master/texmf/doc/man/man1/allneeded.1 create mode 100644 Master/texmf/doc/man/man1/amstex.1 create mode 100644 Master/texmf/doc/man/man1/bg5conv.1 create mode 100644 Master/texmf/doc/man/man1/bibtex.1 create mode 100644 Master/texmf/doc/man/man1/bzip2.1 create mode 100644 Master/texmf/doc/man/man1/cef5conv.1 create mode 100644 Master/texmf/doc/man/man1/cefconv.1 create mode 100644 Master/texmf/doc/man/man1/cefsconv.1 create mode 100644 Master/texmf/doc/man/man1/cfftot1.1 create mode 100644 Master/texmf/doc/man/man1/cont-de.1 create mode 100644 Master/texmf/doc/man/man1/cont-en.1 create mode 100644 Master/texmf/doc/man/man1/cont-nl.1 create mode 120000 Master/texmf/doc/man/man1/ctangle.1 create mode 100644 Master/texmf/doc/man/man1/ctie.1 create mode 120000 Master/texmf/doc/man/man1/cweave.1 create mode 100644 Master/texmf/doc/man/man1/cweb.1 create mode 100644 Master/texmf/doc/man/man1/detex.1 create mode 100644 Master/texmf/doc/man/man1/dmp.1 create mode 100644 Master/texmf/doc/man/man1/dt2dv.1 create mode 100644 Master/texmf/doc/man/man1/dv2dt.1 create mode 100644 Master/texmf/doc/man/man1/dvi2fax.1 create mode 100644 Master/texmf/doc/man/man1/dvi2tty.1 create mode 100644 Master/texmf/doc/man/man1/dvibook.1 create mode 100644 Master/texmf/doc/man/man1/dviconcat.1 create mode 100644 Master/texmf/doc/man/man1/dvicopy.1 create mode 100644 Master/texmf/doc/man/man1/dvidvi.1 create mode 100644 Master/texmf/doc/man/man1/dvihp.1 create mode 100644 Master/texmf/doc/man/man1/dvilj.1 create mode 120000 Master/texmf/doc/man/man1/dvilj2p.1 create mode 120000 Master/texmf/doc/man/man1/dvilj4.1 create mode 120000 Master/texmf/doc/man/man1/dvilj4l.1 create mode 120000 Master/texmf/doc/man/man1/dvilj6.1 create mode 100644 Master/texmf/doc/man/man1/dvipdfm.1 create mode 100644 Master/texmf/doc/man/man1/dvipdft.1 create mode 100644 Master/texmf/doc/man/man1/dvipng.1 create mode 100644 Master/texmf/doc/man/man1/dvips.1 create mode 100644 Master/texmf/doc/man/man1/dvired.1 create mode 100644 Master/texmf/doc/man/man1/dviselect.1 create mode 100644 Master/texmf/doc/man/man1/dvitodvi.1 create mode 100644 Master/texmf/doc/man/man1/dvitomp.1 create mode 100644 Master/texmf/doc/man/man1/dvitype.1 create mode 100644 Master/texmf/doc/man/man1/e2pall.1 create mode 100644 Master/texmf/doc/man/man1/ebb.1 create mode 100644 Master/texmf/doc/man/man1/eplain.1 create mode 100644 Master/texmf/doc/man/man1/epsffit.1 create mode 100644 Master/texmf/doc/man/man1/epstopdf.1 create mode 100644 Master/texmf/doc/man/man1/etex.1 create mode 100644 Master/texmf/doc/man/man1/extconv.1 create mode 100644 Master/texmf/doc/man/man1/extractres.1 create mode 100644 Master/texmf/doc/man/man1/fdf2tex.1 create mode 100644 Master/texmf/doc/man/man1/fixdlsrps.1 create mode 100644 Master/texmf/doc/man/man1/fixfmps.1 create mode 100644 Master/texmf/doc/man/man1/fixmacps.1 create mode 100644 Master/texmf/doc/man/man1/fixpsditps.1 create mode 100644 Master/texmf/doc/man/man1/fixpspps.1 create mode 100644 Master/texmf/doc/man/man1/fixscribeps.1 create mode 100644 Master/texmf/doc/man/man1/fixtpps.1 create mode 100644 Master/texmf/doc/man/man1/fixwfwps.1 create mode 100644 Master/texmf/doc/man/man1/fixwpps.1 create mode 100644 Master/texmf/doc/man/man1/fixwwps.1 create mode 120000 Master/texmf/doc/man/man1/fmtutil-sys.1 create mode 100644 Master/texmf/doc/man/man1/fmtutil.1 create mode 100644 Master/texmf/doc/man/man1/fontinst.1 create mode 100644 Master/texmf/doc/man/man1/getafm.1 create mode 100644 Master/texmf/doc/man/man1/getnonfreefonts.1 create mode 100644 Master/texmf/doc/man/man1/gftodvi.1 create mode 100644 Master/texmf/doc/man/man1/gftopk.1 create mode 100644 Master/texmf/doc/man/man1/gftype.1 create mode 100644 Master/texmf/doc/man/man1/gsftopk.1 create mode 100644 Master/texmf/doc/man/man1/gzip.1 create mode 100644 Master/texmf/doc/man/man1/hbf2gf.1 create mode 100644 Master/texmf/doc/man/man1/includeres.1 create mode 100644 Master/texmf/doc/man/man1/info.1 create mode 100644 Master/texmf/doc/man/man1/infokey.1 create mode 100644 Master/texmf/doc/man/man1/install-info.1 create mode 100644 Master/texmf/doc/man/man1/kpseaccess.1 create mode 120000 Master/texmf/doc/man/man1/kpsepath.1 create mode 100644 Master/texmf/doc/man/man1/kpsereadlink.1 create mode 100644 Master/texmf/doc/man/man1/kpsestat.1 create mode 100644 Master/texmf/doc/man/man1/kpsetool.1 create mode 100644 Master/texmf/doc/man/man1/kpsewhere.1 create mode 100644 Master/texmf/doc/man/man1/kpsewhich.1 create mode 120000 Master/texmf/doc/man/man1/kpsexpand.1 create mode 100644 Master/texmf/doc/man/man1/lacheck.1 create mode 100644 Master/texmf/doc/man/man1/lambda.1 create mode 100644 Master/texmf/doc/man/man1/latex.1 create mode 100644 Master/texmf/doc/man/man1/mag.1 create mode 100644 Master/texmf/doc/man/man1/makeindex.1 create mode 100644 Master/texmf/doc/man/man1/makeinfo.1 create mode 100644 Master/texmf/doc/man/man1/makempx.1 create mode 100644 Master/texmf/doc/man/man1/makempy.1 create mode 120000 Master/texmf/doc/man/man1/mf-nowin.1 create mode 100644 Master/texmf/doc/man/man1/mf.1 create mode 100644 Master/texmf/doc/man/man1/mft.1 create mode 100644 Master/texmf/doc/man/man1/mkindex.1 create mode 100644 Master/texmf/doc/man/man1/mkocp.1 create mode 100644 Master/texmf/doc/man/man1/mkofm.1 create mode 120000 Master/texmf/doc/man/man1/mktexfmt.1 create mode 100644 Master/texmf/doc/man/man1/mktexlsr.1 create mode 100644 Master/texmf/doc/man/man1/mktexmf.1 create mode 100644 Master/texmf/doc/man/man1/mktexpk.1 create mode 100644 Master/texmf/doc/man/man1/mktextfm.1 create mode 100644 Master/texmf/doc/man/man1/mmafm.1 create mode 100644 Master/texmf/doc/man/man1/mmpfb.1 create mode 100644 Master/texmf/doc/man/man1/mpost.1 create mode 100644 Master/texmf/doc/man/man1/mpto.1 create mode 100644 Master/texmf/doc/man/man1/newer.1 create mode 120000 Master/texmf/doc/man/man1/odvicopy.1 create mode 120000 Master/texmf/doc/man/man1/odvips.1 create mode 120000 Master/texmf/doc/man/man1/odvitype.1 create mode 100644 Master/texmf/doc/man/man1/ofm2opl.1 create mode 100644 Master/texmf/doc/man/man1/omega.1 create mode 100644 Master/texmf/doc/man/man1/opl2ofm.1 create mode 100644 Master/texmf/doc/man/man1/otfinfo.1 create mode 100644 Master/texmf/doc/man/man1/otftotfm.1 create mode 100644 Master/texmf/doc/man/man1/otp2ocp.1 create mode 100644 Master/texmf/doc/man/man1/outocp.1 create mode 100644 Master/texmf/doc/man/man1/ovf2ovp.1 create mode 100644 Master/texmf/doc/man/man1/ovp2ovf.1 create mode 120000 Master/texmf/doc/man/man1/oxdvi.1 create mode 100644 Master/texmf/doc/man/man1/patgen.1 create mode 100644 Master/texmf/doc/man/man1/pdfetex.1 create mode 120000 Master/texmf/doc/man/man1/pdflatex.1 create mode 100644 Master/texmf/doc/man/man1/pdftex.1 create mode 100644 Master/texmf/doc/man/man1/pfb2pfa.1 create mode 100644 Master/texmf/doc/man/man1/pk2bm.1 create mode 100644 Master/texmf/doc/man/man1/pktogf.1 create mode 100644 Master/texmf/doc/man/man1/pktype.1 create mode 100644 Master/texmf/doc/man/man1/pltotf.1 create mode 100644 Master/texmf/doc/man/man1/pooltype.1 create mode 100644 Master/texmf/doc/man/man1/ps2frag.1 create mode 100644 Master/texmf/doc/man/man1/ps2pk.1 create mode 100644 Master/texmf/doc/man/man1/psbook.1 create mode 100644 Master/texmf/doc/man/man1/pslatex.1 create mode 100644 Master/texmf/doc/man/man1/psmerge.1 create mode 100644 Master/texmf/doc/man/man1/psnup.1 create mode 100644 Master/texmf/doc/man/man1/psresize.1 create mode 100644 Master/texmf/doc/man/man1/psselect.1 create mode 100644 Master/texmf/doc/man/man1/pstops.1 create mode 100644 Master/texmf/doc/man/man1/rubibtex.1 create mode 100644 Master/texmf/doc/man/man1/rumakeindex.1 create mode 100644 Master/texmf/doc/man/man1/sjisconv.1 create mode 100644 Master/texmf/doc/man/man1/t1ascii.1 create mode 100644 Master/texmf/doc/man/man1/t1asm.1 create mode 100644 Master/texmf/doc/man/man1/t1binary.1 create mode 100644 Master/texmf/doc/man/man1/t1disasm.1 create mode 100644 Master/texmf/doc/man/man1/t1dotlessj.1 create mode 100644 Master/texmf/doc/man/man1/t1lint.1 create mode 100644 Master/texmf/doc/man/man1/t1mac.1 create mode 100644 Master/texmf/doc/man/man1/t1reencode.1 create mode 100644 Master/texmf/doc/man/man1/t1testpage.1 create mode 100644 Master/texmf/doc/man/man1/t1unmac.1 create mode 100644 Master/texmf/doc/man/man1/tangle.1 create mode 100644 Master/texmf/doc/man/man1/tcdialog.1 create mode 100644 Master/texmf/doc/man/man1/tex.1 create mode 120000 Master/texmf/doc/man/man1/texconfig-sys.1 create mode 100644 Master/texmf/doc/man/man1/texconfig.1 create mode 100644 Master/texmf/doc/man/man1/texdoc.1 create mode 100644 Master/texmf/doc/man/man1/texdoctk.1 create mode 100644 Master/texmf/doc/man/man1/texexec.1 create mode 100644 Master/texmf/doc/man/man1/texfind.1 create mode 100644 Master/texmf/doc/man/man1/texfont.1 create mode 120000 Master/texmf/doc/man/man1/texhash.1 create mode 100644 Master/texmf/doc/man/man1/texi2dvi.1 create mode 100644 Master/texmf/doc/man/man1/texi2html.1 create mode 120000 Master/texmf/doc/man/man1/texi2pdf.1 create mode 100644 Master/texmf/doc/man/man1/texindex.1 create mode 100644 Master/texmf/doc/man/man1/texlinks.1 create mode 100644 Master/texmf/doc/man/man1/texshow.1 create mode 100644 Master/texmf/doc/man/man1/texutil.1 create mode 100644 Master/texmf/doc/man/man1/tftopl.1 create mode 100644 Master/texmf/doc/man/man1/thumbpdf.1 create mode 100644 Master/texmf/doc/man/man1/tie.1 create mode 100644 Master/texmf/doc/man/man1/ttf2afm.1 create mode 100644 Master/texmf/doc/man/man1/ttf2pk.1 create mode 100644 Master/texmf/doc/man/man1/ttf2pt1.1 create mode 100644 Master/texmf/doc/man/man1/ttf2tfm.1 create mode 100644 Master/texmf/doc/man/man1/ttfdump.1 create mode 120000 Master/texmf/doc/man/man1/updmap-sys.1 create mode 100644 Master/texmf/doc/man/man1/updmap.1 create mode 100644 Master/texmf/doc/man/man1/vftovp.1 create mode 100644 Master/texmf/doc/man/man1/vlna.1 create mode 100644 Master/texmf/doc/man/man1/vptovf.1 create mode 100644 Master/texmf/doc/man/man1/weave.1 create mode 100644 Master/texmf/doc/man/man1/xdvi.1 create mode 100644 Master/texmf/doc/man/man1/xdvizilla.1 create mode 100644 Master/texmf/doc/man/man3/zlib.3 create mode 100644 Master/texmf/doc/man/man5/fmtutil.cnf.5 create mode 100644 Master/texmf/doc/man/man5/info.5 create mode 100644 Master/texmf/doc/man/man5/texinfo.5 create mode 100644 Master/texmf/doc/man/man5/updmap.cfg.5 create mode 100644 Master/texmf/doc/pdftex/NEWS create mode 100644 Master/texmf/doc/pdftex/README create mode 100644 Master/texmf/doc/pdftex/manual/makefiles.cmd create mode 100644 Master/texmf/doc/pdftex/manual/pdftex-t.tex create mode 100644 Master/texmf/doc/pdftex/manual/pdftex-w.pdf create mode 100644 Master/texmf/doc/pdftex/manual/samplepdf/pdfcolor.tex create mode 100644 Master/texmf/doc/pdftex/manual/samplepdf/pic.pdf create mode 100644 Master/texmf/doc/pdftex/manual/samplepdf/rgb.icc create mode 100644 Master/texmf/doc/pdftex/manual/samplepdf/samplepdf.0 create mode 100644 Master/texmf/doc/pdftex/manual/samplepdf/samplepdf.tex create mode 100644 Master/texmf/doc/pdftex/manual/samplepdf/supp-mis.tex create mode 100644 Master/texmf/doc/pdftex/manual/samplepdf/supp-pdf.tex create mode 100644 Master/texmf/doc/pdftex/manual/samplepdf/tmp.pdf create mode 100644 Master/texmf/doc/pdftex/pdftex-pdfkeys/Makefile create mode 100644 Master/texmf/doc/pdftex/pdftex-pdfkeys/fdl.tex create mode 100644 Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.bbl create mode 100644 Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.pdf create mode 100644 Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.tex (limited to 'Master') 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 @@ + + +Untitled + + + + + + + + + +
+


+Up: (dir) +
+
+ +

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. + +

————————– START OF THE LICENSE ————————– + +

This program, bzip2, +and associated library libbzip2, are +Copyright (C) 1996-2002 Julian R Seward. All rights reserved. + +

Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +

+ 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. + +

Julian Seward, Cambridge, UK. + +

jseward@acm.org + +

bzip2/libbzip2 version 1.0.2 of 30 December 2001. + +

————————– END OF THE LICENSE ————————– + +

Web sites: + +

http://sources.redhat.com/bzip2 + +

http://www.cacheprof.org + +

PATENTS: To the best of my knowledge, bzip2 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. + +

1 Introduction

+ +

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. + +

bzip2 is built on top of libbzip2, a flexible library +for handling compressed data in the bzip2 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. + +

Chapter 2 describes how to use bzip2; 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. + +

2 How to use bzip2

+ +

This chapter contains a copy of the bzip2 man page, +and nothing else. + +

+ +
NAME
+ + + +
SYNOPSIS
+ + + +
DESCRIPTION
+ +

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 GNU +gzip, but they are not identical. + +

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. + +

bzip2 and bunzip2 will by default not overwrite existing +files. If you want this to happen, specify the -f flag. + +

If no file names are specified, bzip2 compresses from standard +input to standard output. In this case, bzip2 will decline to +write compressed output to a terminal, as this would be entirely +incomprehensible and therefore pointless. + +

bunzip2 (or bzip2 -d) decompresses all +specified files. Files which were not created by bzip2 +will be detected and ignored, and a warning issued. +bzip2 attempts to guess the filename for the decompressed file +from that of the compressed file as follows: +

+ If the file does not end in one of the recognised endings, +.bz2, .bz, +.tbz2 or .tbz, bzip2 complains that it cannot +guess the name of the original file, and uses the original name +with .out appended. + +

As with compression, supplying no +filenames causes decompression from standard input to standard output. + +

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 bzip2 version 0.9.0 or +later. Earlier versions of bzip2 will stop after decompressing +the first file in the stream. + +

bzcat (or bzip2 -dc) decompresses all specified files to +the standard output. + +

bzip2 will read arguments from the environment variables +BZIP2 and 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, 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 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 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 bzip2 to panic. + +

OPTIONS
+ +
+
-c --stdout
Compress or decompress to standard output. +
-d --decompress
Force decompression. bzip2, bunzip2 and 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 bzip2 to decompress. +
-z --compress
The complement to -d: forces compression, regardless of the +invokation name. +
-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. +
-f --force
Force overwrite of output files. Normally, bzip2 will not overwrite +existing output files. Also forces 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. +

-k --keep
Keep (don't delete) input files during compression +or decompression. +
-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. +

-q --quiet
Suppress non-essential warning messages. Messages pertaining to +I/O errors and other critical events will not be suppressed. +
-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. +
-L --license -V --version
Display the software version, license terms and conditions. +
-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. +
--
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. +
--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. +
+ +
MEMORY MANAGEMENT
+ +

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 +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 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, bunzip2 +will require about 3700 kbytes to decompress. To support decompression +of any file on a 4 megabyte machine, 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
+     
+
RECOVERING DATA FROM DAMAGED FILES
+ +

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. + +

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 bzip2 -t to test the +integrity of the resulting files, and decompress those which are +undamaged. + +

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. + +

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. + +

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. + +

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 bzip2 will perform best on machines with very large +caches. + +

CAVEATS
+ +

I/O error messages are not as helpful as they could be. 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 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. + +

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. + +

AUTHOR
+ +

Julian Seward, jseward@acm.org. + +

http://sources.redhat.com/bzip2 + +

The ideas embodied in 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 bzip, +and many refinements), and Alistair Moffat, Radford Neal and Ian Witten +(for the arithmetic coder in the original 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. + +

+ +

3 Programming with libbzip2

+ +

This chapter describes the programming interface to libbzip2. + +

For general background information, particularly about memory +use and performance aspects, you'd be well advised to read Chapter 2 +as well. + +

3.1 Top-level structure

+ +

libbzip2 is a flexible library for compressing and decompressing +data in the bzip2 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. + +

The structure of libbzip2's interfaces is similar to +that of Jean-loup Gailly's and Mark Adler's excellent zlib +library. + +

All externally visible symbols have names beginning BZ2_. +This is new in version 1.0. The intention is to minimise pollution +of the namespaces of library clients. + +

3.1.1 Low-level summary

+ +

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 stdio.h, which may be helpful for embedded applications. + +

The low-level part of the library has no global variables and +is therefore thread-safe. + +

Six routines make up the low level interface: +BZ2_bzCompressInit, BZ2_bzCompress, and
BZ2_bzCompressEnd +for compression, +and a corresponding trio BZ2_bzDecompressInit,
BZ2_bzDecompress +and BZ2_bzDecompressEnd for decompression. +The *Init functions allocate +memory for compression/decompression and do other +initialisations, whilst the *End functions close down operations +and release memory. + +

The real work is done by BZ2_bzCompress and BZ2_bzDecompress. +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. + +

3.1.2 High-level summary

+ +

This interface provides some handy wrappers around the low-level +interface to facilitate reading and writing bzip2 format +files (.bz2 files). The routines provide hooks to facilitate +reading files in which the bzip2 data stream is embedded +within some larger-scale file structure, or where there are +multiple bzip2 data streams concatenated end-to-end. + +

For reading files, BZ2_bzReadOpen, BZ2_bzRead, +BZ2_bzReadClose and
BZ2_bzReadGetUnused are supplied. For +writing files, BZ2_bzWriteOpen, BZ2_bzWrite and +BZ2_bzWriteFinish are available. + +

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 errno to determine the cause of +the error. In that case, you'd need a C library which correctly +supports errno in a multithreaded environment. + +

To make the library a little simpler and more portable, +BZ2_bzReadOpen and BZ2_bzWriteOpen require you to pass them file +handles (FILE*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. + +

3.1.3 Utility functions summary

+ +

For very simple needs, BZ2_bzBuffToBuffCompress and +BZ2_bzBuffToBuffDecompress 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. + +

Yoshioka Tsuneo (QWF00133@niftyserve.or.jp / +tsuneo-y@is.aist-nara.ac.jp) has contributed some functions to +give better zlib compatibility. These functions are +BZ2_bzopen, BZ2_bzread, BZ2_bzwrite, BZ2_bzflush, +BZ2_bzclose, +BZ2_bzerror and BZ2_bzlibVersion. 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. + +

Yoshioka also contributed modifications to allow the library to be +built as a Windows DLL. + +

3.2 Error handling

+ +

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. + +

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. + +

The file bzlib.h contains all definitions needed to use +the library. In particular, you should definitely not include +bzlib_private.h. + +

In bzlib.h, 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 – 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. +

+
BZ_OK
The requested action was completed successfully. +
BZ_RUN_OK
BZ_FLUSH_OK
BZ_FINISH_OK
In BZ2_bzCompress, the requested flush/finish/nothing-special action +was completed successfully. +
BZ_STREAM_END
Compression of data was completed, or the logical stream end was +detected during decompression. +
+ +

The following return values indicate an error of some kind. +

+
BZ_CONFIG_ERROR
Indicates that the library has been improperly compiled on your +platform – a major configuration error. Specifically, it means +that sizeof(char), sizeof(short) and sizeof(int) +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 – that is, where sizeof(long) +and sizeof(void*) are 8. Under LP64, sizeof(int) is +still 4, so libbzip2, which doesn't use the long type, +is OK. +
BZ_SEQUENCE_ERROR
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. libbzip2 checks as much as it can to ensure this is +happening, and returns BZ_SEQUENCE_ERROR 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. +
BZ_PARAM_ERROR
Returned when a parameter to a function call is out of range +or otherwise manifestly incorrect. As with BZ_SEQUENCE_ERROR, +this denotes a bug in the client code. The distinction between +BZ_PARAM_ERROR and BZ_SEQUENCE_ERROR is a bit hazy, but still worth +making. +
BZ_MEM_ERROR
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 BZ2_bzDecompress and +BZ2_bzRead may return BZ_MEM_ERROR even though some of +the compressed data has been read. The same is not true for +compression; once BZ2_bzCompressInit or BZ2_bzWriteOpen have +successfully completed, BZ_MEM_ERROR cannot occur. +
BZ_DATA_ERROR
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. +
BZ_DATA_ERROR_MAGIC
As a special case of BZ_DATA_ERROR, it is sometimes useful to +know when the compressed stream does not start with the correct +magic bytes ('B' 'Z' 'h'). +
BZ_IO_ERROR
Returned by BZ2_bzRead and BZ2_bzWrite when there is an error +reading or writing in the compressed file, and by BZ2_bzReadOpen +and BZ2_bzWriteOpen for attempts to use a file for which the +error indicator (viz, ferror(f)) is set. +On receipt of BZ_IO_ERROR, the caller should consult +errno and/or perror to acquire operating-system +specific information about the problem. +
BZ_UNEXPECTED_EOF
Returned by BZ2_bzRead when the compressed file finishes +before the logical end of stream is detected. +
BZ_OUTBUFF_FULL
Returned by BZ2_bzBuffToBuffCompress and +BZ2_bzBuffToBuffDecompress to indicate that the output data +will not fit into the output buffer provided. +
+ +

3.3 Low-level interface

+ +

3.3.1 BZ2_bzCompressInit

+ +
     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 );
+     
+
+

Prepares for compression. The bz_stream structure +holds all data pertaining to the compression activity. +A bz_stream structure should be allocated and initialised +prior to the call. +The fields of bz_stream +comprise the entirety of the user-visible data. state +is a pointer to the private data structures required for compression. + +

Custom memory allocators are supported, via fields bzalloc, +bzfree, +and opaque. The value +opaque is passed to as the first argument to +all calls to bzalloc and bzfree, but is +otherwise ignored by the library. +The call bzalloc ( opaque, n, m ) is expected to return a +pointer p to +n * m bytes of memory, and bzfree ( opaque, p ) +should free +that memory. + +

If you don't want to use a custom memory allocator, set bzalloc, +bzfree and +opaque to NULL, +and the library will then use the standard malloc/free +routines. + +

Before calling BZ2_bzCompressInit, fields bzalloc, +bzfree and opaque should +be filled appropriately, as just described. Upon return, the internal +state will have been allocated and initialised, and total_in_lo32, +total_in_hi32, total_out_lo32 and +total_out_hi32 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 _hi32 fields to store the upper 32 bits +of the count. So, for example, the total amount of data in +is (total_in_hi32 << 32) + total_in_lo32. + +

Parameter blockSize100k 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. + +

Parameter verbosity 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 +-DBZ_NO_STDIO, no such output will appear for any verbosity +setting. + +

Parameter workFactor 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. + +

Lower values of workFactor 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. + +

Allowable values range from 0 to 250 inclusive. 0 is a special case, +equivalent to using the default value of 30. + +

Note that the compressed output generated is the same regardless of +whether or not the fallback algorithm is used. + +

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. + +

Possible return values: +

           BZ_CONFIG_ERROR
+              if the library has been mis-compiled
+           BZ_PARAM_ERROR
+              if strm is NULL
+              or blockSize < 1 or blockSize > 9
+              or verbosity < 0 or verbosity > 4
+              or workFactor < 0 or workFactor > 250
+           BZ_MEM_ERROR
+              if not enough memory is available
+           BZ_OK
+              otherwise
+
+

Allowable next actions: +

           BZ2_bzCompress
+              if BZ_OK is returned
+           no specific action needed in case of error
+
+

3.3.2 BZ2_bzCompress

+ +
        int BZ2_bzCompress ( bz_stream *strm, int action );
+
+

Provides more input and/or output buffer space for the library. The +caller maintains input and output buffers, and calls BZ2_bzCompress to +transfer data between them. + +

Before each call to BZ2_bzCompress, next_in should point at +the data to be compressed, and avail_in should indicate how many +bytes the library may read. BZ2_bzCompress updates next_in, +avail_in and total_in to reflect the number of bytes it +has read. + +

Similarly, next_out should point to a buffer in which the +compressed data is to be placed, with avail_out indicating how +much output space is available. BZ2_bzCompress updates +next_out, avail_out and total_out to reflect the +number of bytes output. + +

You may provide and remove as little or as much data as you like on each +call of BZ2_bzCompress. 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. + +

A second purpose of BZ2_bzCompress is to request a change of mode of the +compressed stream. + +

Conceptually, a compressed stream can be in one of four states: IDLE, +RUNNING, FLUSHING and FINISHING. Before initialisation +(BZ2_bzCompressInit) and after termination (BZ2_bzCompressEnd), a +stream is regarded as IDLE. + +

Upon initialisation (BZ2_bzCompressInit), the stream is placed in the +RUNNING state. Subsequent calls to BZ2_bzCompress should pass +BZ_RUN as the requested action; other actions are illegal and +will result in BZ_SEQUENCE_ERROR. + +

At some point, the calling program will have provided all the input data +it wants to. It will then want to finish up – in effect, asking the +library to process any data it might have buffered internally. In this +state, BZ2_bzCompress will no longer attempt to read data from +next_in, but it will want to write data to next_out. +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 BZ2_bzCompress. + +

Instead, the calling program passes BZ_FINISH as an action to +BZ2_bzCompress. This changes the stream's state to FINISHING. Any +remaining input (ie, next_in[0 .. avail_in-1]) is compressed and +transferred to the output buffer. To do this, BZ2_bzCompress must be +called repeatedly until all the output has been consumed. At that +point, BZ2_bzCompress returns BZ_STREAM_END, and the stream's +state is set back to IDLE. BZ2_bzCompressEnd should then be +called. + +

Just to make sure the calling program does not cheat, the library makes +a note of avail_in at the time of the first call to +BZ2_bzCompress which has BZ_FINISH 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 avail_in over +subsequent calls to BZ2_bzCompress, the library can detect any +attempts to slip in more data to compress. Any calls for which this is +detected will return BZ_SEQUENCE_ERROR. This indicates a +programming mistake which should be corrected. + +

Instead of asking to finish, the calling program may ask +BZ2_bzCompress 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 BZ2_bzCompress with an action of +BZ_FLUSH, remove output data, and persist with the +BZ_FLUSH action until the value BZ_RUN is returned. As +with finishing, BZ2_bzCompress detects any attempt to provide more +input data once the flush has begun. + +

Once the flush is complete, the stream returns to the normal RUNNING +state. + +

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 – it can be inferred from the +values returned by BZ2_bzCompress. +

     IDLE/any
+           Illegal.  IDLE state only exists after BZ2_bzCompressEnd or
+           before BZ2_bzCompressInit.
+           Return value = BZ_SEQUENCE_ERROR
+     
+     RUNNING/BZ_RUN
+           Compress from next_in to next_out as much as possible.
+           Next state = RUNNING
+           Return value = BZ_RUN_OK
+     
+     RUNNING/BZ_FLUSH
+           Remember current value of next_in.  Compress from next_in
+           to next_out as much as possible, but do not accept any more input.
+           Next state = FLUSHING
+           Return value = BZ_FLUSH_OK
+     
+     RUNNING/BZ_FINISH
+           Remember current value of next_in.  Compress from next_in
+           to next_out as much as possible, but do not accept any more input.
+           Next state = FINISHING
+           Return value = BZ_FINISH_OK
+     
+     FLUSHING/BZ_FLUSH
+           Compress from next_in to next_out 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 = BZ_RUN_OK
+           else
+              Next state = FLUSHING; Return value = BZ_FLUSH_OK
+     
+     FLUSHING/other
+           Illegal.
+           Return value = BZ_SEQUENCE_ERROR
+     
+     FINISHING/BZ_FINISH
+           Compress from next_in to next_out 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 = BZ_STREAM_END
+           else
+              Next state = FINISHING; Return value = BZ_FINISHING
+     
+     FINISHING/other
+           Illegal.
+           Return value = BZ_SEQUENCE_ERROR
+
+

That still looks complicated? Well, fair enough. The usual sequence +of calls for compressing a load of data is: +

+ If the data you want to compress fits into your input buffer all +at once, you can skip the calls of BZ2_bzCompress ( ..., BZ_RUN ) and +just do the BZ2_bzCompress ( ..., BZ_FINISH ) calls. + +

All required memory is allocated by BZ2_bzCompressInit. The +compression library can accept any data at all (obviously). So you +shouldn't get any error return values from the BZ2_bzCompress calls. +If you do, they will be BZ_SEQUENCE_ERROR, and indicate a bug in +your programming. + +

Trivial other possible return values: +

           BZ_PARAM_ERROR
+              if strm is NULL, or strm->s is NULL
+
+

3.3.3 BZ2_bzCompressEnd

+ +
     int BZ2_bzCompressEnd ( bz_stream *strm );
+
+

Releases all memory associated with a compression stream. + +

Possible return values: +

        BZ_PARAM_ERROR    if strm is NULL or strm->s is NULL
+        BZ_OK    otherwise
+
+

3.3.4 BZ2_bzDecompressInit

+ +
     int BZ2_bzDecompressInit ( bz_stream *strm, int verbosity, int small );
+
+

Prepares for decompression. As with BZ2_bzCompressInit, a +bz_stream record should be allocated and initialised before the +call. Fields bzalloc, bzfree and opaque should be +set if a custom memory allocator is required, or made NULL for +the normal malloc/free routines. Upon return, the internal +state will have been initialised, and total_in and +total_out will be zero. + +

For the meaning of parameter verbosity, see BZ2_bzCompressInit. + +

If small 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. + +

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 BZ2_bzDecompressInit succeeds, a subsequent +BZ2_bzDecompress could fail with BZ_MEM_ERROR. + +

Possible return values: +

           BZ_CONFIG_ERROR
+              if the library has been mis-compiled
+           BZ_PARAM_ERROR
+              if (small != 0 && small != 1)
+              or (verbosity < 0 || verbosity > 4)
+           BZ_MEM_ERROR
+              if insufficient memory is available
+
+

Allowable next actions: +

           BZ2_bzDecompress
+              if BZ_OK was returned
+           no specific action required in case of error
+
+

3.3.5 BZ2_bzDecompress

+ +
     int BZ2_bzDecompress ( bz_stream *strm );
+
+

Provides more input and/out output buffer space for the library. The +caller maintains input and output buffers, and uses BZ2_bzDecompress +to transfer data between them. + +

Before each call to BZ2_bzDecompress, next_in +should point at the compressed data, +and avail_in should indicate how many bytes the library +may read. BZ2_bzDecompress updates next_in, avail_in +and total_in +to reflect the number of bytes it has read. + +

Similarly, next_out should point to a buffer in which the uncompressed +output is to be placed, with avail_out indicating how much output space +is available. BZ2_bzCompress updates next_out, +avail_out and total_out to reflect +the number of bytes output. + +

You may provide and remove as little or as much data as you like on +each call of BZ2_bzDecompress. +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. + +

Use of BZ2_bzDecompress is simpler than BZ2_bzCompress. + +

You should provide input and remove output as described above, and +repeatedly call BZ2_bzDecompress until BZ_STREAM_END is +returned. Appearance of BZ_STREAM_END denotes that +BZ2_bzDecompress has detected the logical end of the compressed +stream. BZ2_bzDecompress will not produce BZ_STREAM_END until +all output data has been placed into the output buffer, so once +BZ_STREAM_END appears, you are guaranteed to have available all +the decompressed output, and BZ2_bzDecompressEnd can safely be +called. + +

If case of an error return value, you should call BZ2_bzDecompressEnd +to clean up and release memory. + +

Possible return values: +

           BZ_PARAM_ERROR
+              if strm is NULL or strm->s is NULL
+              or strm->avail_out < 1
+           BZ_DATA_ERROR
+              if a data integrity error is detected in the compressed stream
+           BZ_DATA_ERROR_MAGIC
+              if the compressed stream doesn't begin with the right magic bytes
+           BZ_MEM_ERROR
+              if there wasn't enough memory available
+           BZ_STREAM_END
+              if the logical end of the data stream was detected and all
+              output in has been consumed, eg s->avail_out > 0
+           BZ_OK
+              otherwise
+
+

Allowable next actions: +

           BZ2_bzDecompress
+              if BZ_OK was returned
+           BZ2_bzDecompressEnd
+              otherwise
+
+

3.3.6 BZ2_bzDecompressEnd

+ +
     int BZ2_bzDecompressEnd ( bz_stream *strm );
+
+

Releases all memory associated with a decompression stream. + +

Possible return values: +

           BZ_PARAM_ERROR
+              if strm is NULL or strm->s is NULL
+           BZ_OK
+              otherwise
+
+

Allowable next actions: +

           None.
+
+

3.4 High-level interface

+ +

This interface provides functions for reading and writing +bzip2 format files. First, some general points. + +

+ +

3.4.1 BZ2_bzReadOpen

+ +
        typedef void BZFILE;
+     
+        BZFILE *BZ2_bzReadOpen ( int *bzerror, FILE *f,
+                                 int small, int verbosity,
+                                 void *unused, int nUnused );
+
+

Prepare to read compressed data from file handle f. f +should refer to a file which has been opened for reading, and for which +the error indicator (ferror(f))is not set. If small is 1, +the library will try to decompress using less memory, at the expense of +speed. + +

For reasons explained below, BZ2_bzRead will decompress the +nUnused bytes starting at unused, before starting to read +from the file f. At most BZ_MAX_UNUSED bytes may be +supplied like this. If this facility is not required, you should pass +NULL and 0 for unused and nUnused +respectively. + +

For the meaning of parameters small and verbosity, +see BZ2_bzDecompressInit. + +

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 +BZ2_bzReadOpen returns BZ_OK but a subsequent call of +BZ2_bzRead will return BZ_MEM_ERROR. + +

Possible assignments to bzerror: +

           BZ_CONFIG_ERROR
+              if the library has been mis-compiled
+           BZ_PARAM_ERROR
+              if f is NULL
+              or small is neither 0 nor 1
+              or (unused == NULL && nUnused != 0)
+              or (unused != NULL && !(0 <= nUnused <= BZ_MAX_UNUSED))
+           BZ_IO_ERROR
+              if ferror(f) is nonzero
+           BZ_MEM_ERROR
+              if insufficient memory is available
+           BZ_OK
+              otherwise.
+
+

Possible return values: +

           Pointer to an abstract BZFILE
+              if bzerror is BZ_OK
+           NULL
+              otherwise
+
+

Allowable next actions: +

           BZ2_bzRead
+              if bzerror is BZ_OK
+           BZ2_bzClose
+              otherwise
+
+

3.4.2 BZ2_bzRead

+ +
        int BZ2_bzRead ( int *bzerror, BZFILE *b, void *buf, int len );
+
+

Reads up to len (uncompressed) bytes from the compressed file +b into +the buffer buf. If the read was successful, +bzerror is set to BZ_OK +and the number of bytes read is returned. If the logical end-of-stream +was detected, bzerror will be set to BZ_STREAM_END, +and the number +of bytes read is returned. All other bzerror values denote an error. + +

BZ2_bzRead will supply len 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 bzerror after every call and watch out for +BZ_STREAM_END. + +

Internally, BZ2_bzRead copies data from the compressed file in chunks +of size BZ_MAX_UNUSED bytes +before decompressing it. If the file contains more bytes than strictly +needed to reach the logical end-of-stream, BZ2_bzRead will almost certainly +read some of the trailing data before signalling BZ_SEQUENCE_END. +To collect the read but unused data once BZ_SEQUENCE_END has +appeared, call BZ2_bzReadGetUnused immediately before BZ2_bzReadClose. + +

Possible assignments to bzerror: +

           BZ_PARAM_ERROR
+              if b is NULL or buf is NULL or len < 0
+           BZ_SEQUENCE_ERROR
+              if b was opened with BZ2_bzWriteOpen
+           BZ_IO_ERROR
+              if there is an error reading from the compressed file
+           BZ_UNEXPECTED_EOF
+              if the compressed file ended before the logical end-of-stream was detected
+           BZ_DATA_ERROR
+              if a data integrity error was detected in the compressed stream
+           BZ_DATA_ERROR_MAGIC
+              if the stream does not begin with the requisite header bytes (ie, is not
+              a bzip2 data file).  This is really a special case of BZ_DATA_ERROR.
+           BZ_MEM_ERROR
+              if insufficient memory was available
+           BZ_STREAM_END
+              if the logical end of stream was detected.
+           BZ_OK
+              otherwise.
+
+

Possible return values: +

           number of bytes read
+              if bzerror is BZ_OK or BZ_STREAM_END
+           undefined
+              otherwise
+
+

Allowable next actions: +

           collect data from buf, then BZ2_bzRead or BZ2_bzReadClose
+              if bzerror is BZ_OK
+           collect data from buf, then BZ2_bzReadClose or BZ2_bzReadGetUnused
+              if bzerror is BZ_SEQUENCE_END
+           BZ2_bzReadClose
+              otherwise
+
+

3.4.3 BZ2_bzReadGetUnused

+ +
        void BZ2_bzReadGetUnused ( int* bzerror, BZFILE *b,
+                                   void** unused, int* nUnused );
+
+

Returns data which was read from the compressed file but was not needed +to get to the logical end-of-stream. *unused is set to the address +of the data, and *nUnused to the number of bytes. *nUnused will +be set to a value between 0 and BZ_MAX_UNUSED inclusive. + +

This function may only be called once BZ2_bzRead has signalled +BZ_STREAM_END but before BZ2_bzReadClose. + +

Possible assignments to bzerror: +

           BZ_PARAM_ERROR
+              if b is NULL
+              or unused is NULL or nUnused is NULL
+           BZ_SEQUENCE_ERROR
+              if BZ_STREAM_END has not been signalled
+              or if b was opened with BZ2_bzWriteOpen
+          BZ_OK
+              otherwise
+
+

Allowable next actions: +

           BZ2_bzReadClose
+
+

3.4.4 BZ2_bzReadClose

+ +
        void BZ2_bzReadClose ( int *bzerror, BZFILE *b );
+
+

Releases all memory pertaining to the compressed file b. +BZ2_bzReadClose does not call fclose on the underlying file +handle, so you should do that yourself if appropriate. +BZ2_bzReadClose should be called to clean up after all error +situations. + +

Possible assignments to bzerror: +

           BZ_SEQUENCE_ERROR
+              if b was opened with BZ2_bzOpenWrite
+           BZ_OK
+              otherwise
+
+

Allowable next actions: +

           none
+
+

3.4.5 BZ2_bzWriteOpen

+ +
        BZFILE *BZ2_bzWriteOpen ( int *bzerror, FILE *f,
+                                  int blockSize100k, int verbosity,
+                                  int workFactor );
+
+

Prepare to write compressed data to file handle f. +f should refer to +a file which has been opened for writing, and for which the error +indicator (ferror(f))is not set. + +

For the meaning of parameters blockSize100k, +verbosity and workFactor, see +
BZ2_bzCompressInit. + +

All required memory is allocated at this stage, so if the call +completes successfully, BZ_MEM_ERROR cannot be signalled by a +subsequent call to BZ2_bzWrite. + +

Possible assignments to bzerror: +

           BZ_CONFIG_ERROR
+              if the library has been mis-compiled
+           BZ_PARAM_ERROR
+              if f is NULL
+              or blockSize100k < 1 or blockSize100k > 9
+           BZ_IO_ERROR
+              if ferror(f) is nonzero
+           BZ_MEM_ERROR
+              if insufficient memory is available
+           BZ_OK
+              otherwise
+
+

Possible return values: +

           Pointer to an abstract BZFILE
+              if bzerror is BZ_OK
+           NULL
+              otherwise
+
+

Allowable next actions: +

           BZ2_bzWrite
+              if bzerror is BZ_OK
+              (you could go directly to BZ2_bzWriteClose, but this would be pretty pointless)
+           BZ2_bzWriteClose
+              otherwise
+
+

3.4.6 BZ2_bzWrite

+ +
        void BZ2_bzWrite ( int *bzerror, BZFILE *b, void *buf, int len );
+
+

Absorbs len bytes from the buffer buf, eventually to be +compressed and written to the file. + +

Possible assignments to bzerror: +

           BZ_PARAM_ERROR
+              if b is NULL or buf is NULL or len < 0
+           BZ_SEQUENCE_ERROR
+              if b was opened with BZ2_bzReadOpen
+           BZ_IO_ERROR
+              if there is an error writing the compressed file.
+           BZ_OK
+              otherwise
+
+

3.4.7 BZ2_bzWriteClose

+ +
        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 );
+
+

Compresses and flushes to the compressed file all data so far supplied +by BZ2_bzWrite. The logical end-of-stream markers are also written, so +subsequent calls to BZ2_bzWrite are illegal. All memory associated +with the compressed file b is released. +fflush is called on the +compressed file, but it is not fclose'd. + +

If BZ2_bzWriteClose 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 fflush the compressed file. You can force this +behaviour to happen even in the case of no error, by passing a nonzero +value to abandon. + +

If nbytes_in is non-null, *nbytes_in will be set to be the +total volume of uncompressed data handled. Similarly, nbytes_out +will be set to the total volume of compressed data written. For +compatibility with older versions of the library, BZ2_bzWriteClose +only yields the lower 32 bits of these counts. Use +BZ2_bzWriteClose64 if you want the full 64 bit counts. These +two functions are otherwise absolutely identical. + +

Possible assignments to bzerror: +

           BZ_SEQUENCE_ERROR
+              if b was opened with BZ2_bzReadOpen
+           BZ_IO_ERROR
+              if there is an error writing the compressed file
+           BZ_OK
+              otherwise
+
+

3.4.8 Handling embedded compressed data streams

+ +

The high-level library facilitates use of +bzip2 data streams which form some part of a surrounding, larger +data stream. +

+ +

This mechanism makes it easy to decompress multiple bzip2 +streams placed end-to-end. As the end of one stream, when BZ2_bzRead +returns BZ_STREAM_END, call BZ2_bzReadGetUnused 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 BZ2_bzReadOpen again, +feeding in the unused data via the unused/nUnused +parameters. +Keep doing this until BZ_STREAM_END return coincides with the +physical end of file (feof(f)). In this situation +BZ2_bzReadGetUnused +will of course return no data. + +

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. + +

3.4.9 Standard file-reading/writing code

+ +

Here's how you'd write data to a compressed file: +

     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 ( &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 ( &bzerror, b, buf, nBuf );
+        if (bzerror == BZ_IO_ERROR) {
+           BZ2_bzWriteClose ( &bzerror, b );
+           /* handle error */
+        }
+     }
+     
+     BZ2_bzWriteClose ( &bzerror, b );
+     if (bzerror == BZ_IO_ERROR) {
+        /* handle error */
+     }
+
+

And to read from a compressed file: +

     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 ( &bzerror, f, 0, NULL, 0 );
+     if (bzerror != BZ_OK) {
+        BZ2_bzReadClose ( &bzerror, b );
+        /* handle error */
+     }
+     
+     bzerror = BZ_OK;
+     while (bzerror == BZ_OK && /* arbitrary other conditions */) {
+        nBuf = BZ2_bzRead ( &bzerror, b, buf, /* size of buf */ );
+        if (bzerror == BZ_OK) {
+           /* do something with buf[0 .. nBuf-1] */
+        }
+     }
+     if (bzerror != BZ_STREAM_END) {
+        BZ2_bzReadClose ( &bzerror, b );
+        /* handle error */
+     } else {
+        BZ2_bzReadClose ( &bzerror );
+     }
+
+

3.5 Utility functions

+ +

3.5.1 BZ2_bzBuffToBuffCompress

+ +
        int BZ2_bzBuffToBuffCompress( char*         dest,
+                                      unsigned int* destLen,
+                                      char*         source,
+                                      unsigned int  sourceLen,
+                                      int           blockSize100k,
+                                      int           verbosity,
+                                      int           workFactor );
+
+

Attempts to compress the data in source[0 .. sourceLen-1] +into the destination buffer, dest[0 .. *destLen-1]. +If the destination buffer is big enough, *destLen is +set to the size of the compressed data, and BZ_OK is +returned. If the compressed data won't fit, *destLen +is unchanged, and BZ_OUTBUFF_FULL is returned. + +

Compression in this manner is a one-shot event, done with a single call +to this function. The resulting compressed data is a complete +bzip2 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. + +

For the meaning of parameters blockSize100k, verbosity +and workFactor,
see BZ2_bzCompressInit. + +

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. + +

BZ2_bzBuffToBuffDecompress will not write data at or +beyond dest[*destLen], even in case of buffer overflow. + +

Possible return values: +

           BZ_CONFIG_ERROR
+              if the library has been mis-compiled
+           BZ_PARAM_ERROR
+              if dest is NULL or destLen is NULL
+              or blockSize100k < 1 or blockSize100k > 9
+              or verbosity < 0 or verbosity > 4
+              or workFactor < 0 or workFactor > 250
+           BZ_MEM_ERROR
+              if insufficient memory is available
+           BZ_OUTBUFF_FULL
+              if the size of the compressed data exceeds *destLen
+           BZ_OK
+              otherwise
+
+

3.5.2 BZ2_bzBuffToBuffDecompress

+ +
        int BZ2_bzBuffToBuffDecompress ( char*         dest,
+                                         unsigned int* destLen,
+                                         char*         source,
+                                         unsigned int  sourceLen,
+                                         int           small,
+                                         int           verbosity );
+
+

Attempts to decompress the data in source[0 .. sourceLen-1] +into the destination buffer, dest[0 .. *destLen-1]. +If the destination buffer is big enough, *destLen is +set to the size of the uncompressed data, and BZ_OK is +returned. If the compressed data won't fit, *destLen +is unchanged, and BZ_OUTBUFF_FULL is returned. + +

source is assumed to hold a complete bzip2 format +data stream.
BZ2_bzBuffToBuffDecompress tries to decompress +the entirety of the stream into the output buffer. + +

For the meaning of parameters small and verbosity, +see BZ2_bzDecompressInit. + +

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. + +

BZ2_bzBuffToBuffDecompress will not write data at or +beyond dest[*destLen], even in case of buffer overflow. + +

Possible return values: +

           BZ_CONFIG_ERROR
+              if the library has been mis-compiled
+           BZ_PARAM_ERROR
+              if dest is NULL or destLen is NULL
+              or small != 0 && small != 1
+              or verbosity < 0 or verbosity > 4
+           BZ_MEM_ERROR
+              if insufficient memory is available
+           BZ_OUTBUFF_FULL
+              if the size of the compressed data exceeds *destLen
+           BZ_DATA_ERROR
+              if a data integrity error was detected in the compressed data
+           BZ_DATA_ERROR_MAGIC
+              if the compressed data doesn't begin with the right magic bytes
+           BZ_UNEXPECTED_EOF
+              if the compressed data ends unexpectedly
+           BZ_OK
+              otherwise
+
+

3.6 zlib compatibility functions

+ +

Yoshioka Tsuneo has contributed some functions to +give better zlib compatibility. These functions are +BZ2_bzopen, BZ2_bzread, BZ2_bzwrite, BZ2_bzflush, +BZ2_bzclose, +BZ2_bzerror and BZ2_bzlibVersion. +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. +

     typedef void BZFILE;
+     
+     const char * BZ2_bzlibVersion ( void );
+
+

Returns a string indicating the library version. +

     BZFILE * BZ2_bzopen  ( const char *path, const char *mode );
+     BZFILE * BZ2_bzdopen ( int        fd,    const char *mode );
+
+

Opens a .bz2 file for reading or writing, using either its name +or a pre-existing file descriptor. +Analogous to fopen and fdopen. +

     int BZ2_bzread  ( BZFILE* b, void* buf, int len );
+     int BZ2_bzwrite ( BZFILE* b, void* buf, int len );
+
+

Reads/writes data from/to a previously opened BZFILE. +Analogous to fread and fwrite. +

     int  BZ2_bzflush ( BZFILE* b );
+     void BZ2_bzclose ( BZFILE* b );
+
+

Flushes/closes a BZFILE. BZ2_bzflush doesn't actually do +anything. Analogous to fflush and fclose. + +

     const char * BZ2_bzerror ( BZFILE *b, int *errnum )
+
+

Returns a string describing the more recent error status of +b, and also sets *errnum to its numerical value. + +

3.7 Using the library in a stdio-free environment

+ +

3.7.1 Getting rid of stdio

+ +

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 BZ_NO_STDIO +defined. Doing this gives you a library containing only the following +eight functions: + +

BZ2_bzCompressInit, BZ2_bzCompress, BZ2_bzCompressEnd
+BZ2_bzDecompressInit, BZ2_bzDecompress, BZ2_bzDecompressEnd
+BZ2_bzBuffToBuffCompress, BZ2_bzBuffToBuffDecompress + +

When compiled like this, all functions will ignore verbosity +settings. + +

3.7.2 Critical error handling

+ +

libbzip2 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 BZ_NO_STDIO set. + +

For a normal compile, an assertion failure yields the message +

        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.
+
+

where N is some error code number. If N == 1007, 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). + +

exit(3) is then called. + +

For a stdio-free library, assertion failures result +in a call to a function declared as: +

        extern void bz_internal_error ( int errcode );
+
+

The relevant code is passed as a parameter. You should supply +such a function. + +

In either case, once an assertion failure has occurred, any +bz_stream records involved can be regarded as invalid. +You should not attempt to resume normal operation with them. + +

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. + +

3.8 Making a Windows DLL

+ +

Everything related to Windows has been contributed by Yoshioka Tsuneo +
(QWF00133@niftyserve.or.jp / +tsuneo-y@is.aist-nara.ac.jp), so you should send your queries to +him (but perhaps Cc: me, jseward@acm.org). + +

My vague understanding of what to do is: using Visual C++ 5.0, +open the project file libbz2.dsp, and build. That's all. + +

If you can't +open the project file for some reason, make a new one, naming these files: +blocksort.c, bzlib.c, compress.c, +crctable.c, decompress.c, huffman.c,
+randtable.c and libbz2.def. You will also need +to name the header files bzlib.h and bzlib_private.h. + +

If you don't use VC++, you may need to define the proprocessor symbol +_WIN32. + +

Finally, dlltest.c is a sample program using the DLL. It has a +project file, dlltest.dsp. + +

If you just want a makefile for Visual C, have a look at +makefile.msc. + +

Be aware that if you compile bzip2 itself on Win32, you must set +BZ_UNIX to 0 and BZ_LCCWIN32 to 1, in the file +bzip2.c, before compiling. Otherwise the resulting binary won't +work correctly. + +

I haven't tried any of this stuff myself, but it all looks plausible. + +

4 Miscellanea

+ +

These are just some random thoughts of mine. Your mileage may +vary. + +

4.1 Limitations of the compressed file format

+ +

bzip2-1.0, 0.9.5 and 0.9.0 +use exactly the same file format as the previous +version, bzip2-0.1. This decision was made in the interests of +stability. Creating yet another incompatible compressed file format +would create further confusion and disruption for users. + +

Nevertheless, this is not a painless decision. Development +work since the release of bzip2-0.1 in August 1997 +has shown complexities in the file format which slow down +decompression and, in retrospect, are unnecessary. These are: +

+ It would be fair to say that the bzip2 format was frozen +before I properly and fully understood the performance +consequences of doing so. + +

Improvements which I was able to incorporate into +0.9.0, despite using the same file format, are: +

+ 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. + +

4.2 Portability issues

+ +

After some consideration, I have decided not to use +GNU autoconf to configure 0.9.5 or 1.0. + +

autoconf, admirable and wonderful though it is, +mainly assists with portability problems between Unix-like +platforms. But bzip2 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. +autoconf doesn't help in those cases, and brings in a +whole load of new complexity. + +

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. + +

There are a couple of __inline__ directives in the code. GNU C +(gcc) 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 #define __inline__ to be /* */. One +easy way to do this is to compile with the flag -D__inline__=, +which should be understood by most Unix compilers. + +

If you still have difficulties, try compiling with the macro +BZ_STRICT_ANSI 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 +bzip2's checks against compressing directories, symbolic links, +devices, and other not-really-a-file entities. This could cause +filesystem corruption! + +

One other thing: if you create a bzip2 binary for public +distribution, please try and link it statically (gcc -s). This +avoids all sorts of library-version issues that others may encounter +later on. + +

If you build bzip2 on Win32, you must set BZ_UNIX to 0 and +BZ_LCCWIN32 to 1, in the file bzip2.c, before compiling. +Otherwise the resulting binary won't work correctly. + +

4.3 Reporting bugs

+ +

I tried pretty hard to make sure bzip2 is +bug free, both by design and by testing. Hopefully +you'll never need to read this section for real. + +

Nevertheless, if bzip2 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. +

+ +

If you've incorporated libbzip2 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. + +

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 +

        bzip2 crashed with segmentation fault on my machine
+
+

and absolutely nothing else. Needless to say, a such a report +is totally, utterly, completely and comprehensively 100% useless; +a waste of your time, my time, and net bandwidth. +With no details at all, there's no way I can possibly begin +to figure out what the problem is. + +

The rules of the game are: facts, facts, facts. Don't omit +them because "oh, they won't be relevant". At the bare +minimum: +

        Machine type.  Operating system version.
+        Exact version of bzip2 (do bzip2 -V).
+        Exact version of the compiler used.
+        Flags passed to the compiler.
+
+

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. + +

Please remember that I connect to the Internet with a modem, so +you should contact me before mailing me huge files. + +

4.4 Did you get the right package?

+ +

bzip2 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. + +

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. + +

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, zlib-1.1.3 and +gzip-1.2.4. Look for them at + +

http://www.zlib.org and +http://www.gzip.org respectively. + +

For something faster and lighter still, you might try Markus F X J +Oberhumer's LZO real-time compression/decompression library, at +
http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html. + +

If you want to use the bzip2 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 +e2compr-0.40, an on-the-fly disk compressor for the Linux +ext2 filesystem. Look at +http://www.netspace.net.au/~reiter/e2compr. + +

4.5 Testing

+ +

A record of the tests I've done. + +

First, some data sets: +

+ 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. + +

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. +

    +
  1. Data set H, with + buffer size of 1 byte, and block size of 23 bytes. +
  2. Data set B, buffer sizes 1 byte, block size 1 byte. +
  3. As (2) but small-mode decompression. +
  4. As (2) with block size 2 bytes. +
  5. As (2) with block size 3 bytes. +
  6. As (2) with block size 4 bytes. +
  7. As (2) with block size 5 bytes. +
  8. As (2) with block size 6 bytes and small-mode decompression. +
  9. H with buffer size of 1 byte, but normal block + size (up to 900000 bytes). +
+Then some tests with unmodified source code. +
    +
  1. H, all settings normal. +
  2. As (1), with small-mode decompress. +
  3. H, compress with flag -1. +
  4. H, compress with flag -s, decompress with flag -s. +
  5. Forwards compatibility: H, bzip2-0.1pl2 compressing, + bzip2-0.9.5 decompressing, all settings normal. +
  6. Backwards compatibility: H, bzip2-0.9.5 compressing, + bzip2-0.1pl2 decompressing, all settings normal. +
  7. Bigger tests: A, all settings normal. +
  8. As (7), using the fallback (Sadakane-like) sorting algorithm. +
  9. As (8), compress with flag -1, decompress with flag + -s. +
  10. H, using the fallback sorting algorithm. +
  11. Forwards compatibility: A, bzip2-0.1pl2 compressing, + bzip2-0.9.5 decompressing, all settings normal. +
  12. Backwards compatibility: A, bzip2-0.9.5 compressing, + bzip2-0.1pl2 decompressing, all settings normal. +
  13. Misc test: about 400 megabytes of .tar files with + bzip2 compiled with Checker (a memory access error + detector, like Purify). +
  14. Misc tests to make sure it builds and runs ok on non-Linux/x86 + platforms. +
+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. + +

4.6 Further reading

+ +

bzip2 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. + +

Four documents describe essentially all the ideas behind bzip2: +

     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
+
+

The following paper gives valuable additional insights into the +algorithm, but is not immediately the basis of any code +used in bzip2. +

     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
+
+

Kunihiko Sadakane's sorting algorithm, mentioned above, +is available from: +

     http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz
+
+

The Manber-Myers suffix array construction +algorithm is described in a paper +available from: +

     http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps
+
+

Finally, the following paper documents some recent investigations +I made into the performance of sorting algorithms: +

     Julian Seward:
+        On the Performance of BWT Sorting Algorithms
+        Proceedings of the IEEE Data Compression Conference 2000
+          Snowbird, Utah.  28-30 March 2000.
+
+
+

Table of Contents

+ +
+ + + diff --git a/Master/texmf/doc/bzip2/bzip2.pdf b/Master/texmf/doc/bzip2/bzip2.pdf new file mode 100644 index 00000000000..e48ed05e1da Binary files /dev/null and b/Master/texmf/doc/bzip2/bzip2.pdf 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 @@ + + + + + +Untitled Document: Untitled Document + + + + + + + + + + + + + + + + + +
[Top][Contents][Index][ ? ]
+

Untitled Document

+ +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. +

+ +@bf{------------------ START OF THE LICENSE ------------------} +

+ +This program, bzip2, +and associated library libbzip2, are +Copyright (C) 1996-2002 Julian R Seward. All rights reserved. +

+ +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +

+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. +

+ +Julian Seward, Cambridge, UK. +

+ +jseward@acm.org +

+ +bzip2/libbzip2 version 1.0.2 of 30 December 2001. +

+ +@bf{------------------ END OF THE LICENSE ------------------} +

+ +Web sites: +

+ +http://sources.redhat.com/bzip2 +

+ +http://www.cacheprof.org +

+ +PATENTS: To the best of my knowledge, bzip2 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. +

+ +


+
+ +This document was generated +on May, 24 2004 +using texi2html + + + diff --git a/Master/texmf/doc/cefconv/cefconv.pdf b/Master/texmf/doc/cefconv/cefconv.pdf new file mode 100644 index 00000000000..c0c9e349d0f Binary files /dev/null and b/Master/texmf/doc/cefconv/cefconv.pdf 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 Binary files /dev/null and b/Master/texmf/doc/cefconv/man/pdf/cefconv.pdf differ diff --git a/Master/texmf/doc/cefsconv/cefsconv.pdf b/Master/texmf/doc/cefsconv/cefsconv.pdf new file mode 100644 index 00000000000..0be589ad9bf Binary files /dev/null and b/Master/texmf/doc/cefsconv/cefsconv.pdf 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 Binary files /dev/null and b/Master/texmf/doc/cefsconv/man/pdf/cefsconv.pdf 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 @@ + + +ChkTeX v1.6.1 + + + + + + + + +
+ + +

ChkTEX v1.6.1

+
Jens T. Berger Thielemann
+
+
October 26, 2004
+
+

1 Introduction

+

This program has been written in frustration because some constructs in LATEX are +sometimes non-intuitive, and easy to forget. It is not a replacement for the built-in +checker in LATEX; however it catches some typographic errors LATEX oversees. In +other words, it is Lint for LATEX. Filters are also provided for checking the +LATEX parts of CWEB documents. +

It is written in ANSI C and compiles silently under GCC using “-Wall -ansi +-pedantic” and almost all warning flags. This means that you can compile & use the +program on your favorite machine. Full source included. +

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-TEX Emacs mode, CygnusED, GoldEd and +various Amiga message browsers. +

The program itself does not have any machine requirements; Amiga, MSDOS and +OS/2 binaries are available. Of course, you’ll need ARexx and ScMsg or VBrowse to +benefit from the ARexx scripts. +

+

2 Features

+

ChkTEX begins to get quite a few bells & whistles now. However, you should be aware +of that in most cases, all this is transparent to the user. As you will see, ChkTEX offers +the ability to adapt to many environments and configurations. +

+

2.1 New features

+

Modifications and additions since v1.6: +

+ +

Modifications and additions since v1.5: +

+

Modifications and additions since v1.4: +

+

2.1.1 Program
+

Modifications to the executable itself: +

+

+

2.1.2 Resource file
+

New concepts introduced in the setup file: +

+

+

2.1.3 Other
+

Various other stuff I’ve done to the product: +

+

+

2.2 Feature list

+ +

Still, it is important to realize that the output from ChkTEX is only intended as a guide +to fixing faults. However, it is by no means always correct. This means that correct +LATEX code may produce errors in ChkTEX, and vice versa: Incorrect LATEX code +may pass silently through. +

+

3 Legal stuff

+

ChkTEX, documentation, installations scripts, CWEB filters and other materials +provided are copyright © 1995-96 Jens T. Berger Thielemann, unless explicitly stated +otherwise. +

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

+

+

3.1 Registration

+

‘ChkTEX’ is made available under the concept of Gift-Ware, which is a variant of +Share-Ware. Share-Ware software authors often release ‘crippled’ versions of their +products, i.e. 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 ‘pay for the software you are using’ in Share-Ware terms. With Gift-Ware registration +it is different, you are not required to contribute money, but a gift will do. With +‘ChkTEX’ you always get a fully functional program, there is no ‘crippled’ test release +which you can try for a limited time and then have to pay for in order to receive the +working registered version. +

It may seem as if ‘ChkTEX’ 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’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 ‘ChkTEX’. 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. + +

Send your contribution to the following address: +

+

Jens Berger +
Spektrumvn. 4 +
N-0666 Oslo +
Norway

+

+

4 Installation

+

A few words on installation on various platforms: +

+

+Amiga:
Use the supplied Installer script. +
+MS-DOS & OS/2:
Copy the binary (“ChkTeX.exe”) to somewhere in your path, + and place the “chktexrc” file in the same directory. +

If you’re running Emacs, you may wish to copy the file “chktex.el” to + your elisp source directory, and add the following line to your “.emacs” + file: + +
+ (require 'chktex) +
+
+

+

+UNIX:
Type “configure”, “make” and finally “make install”. To make sure + everything proceeded correctly, type “make check”. If you don’t have superuser + privileges and thus access to the default system areas, you should type + “configure --help” to help you set up correct paths. +

If you haven’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. + :-) +

We assume that you have put the archive (“chktex.tar.gz”) in a subdir of yours, + with path “~/tmp”. We further assume that your shell is “csh” or “tcsh”. Do the + following: +

+

    +
  1. First of all, unpack the archive contents. + +
    + > cd ~/tmp +  
    > gunzip chktex.tar.gz +  
    > tar xf chktex.tar +
    +
    +

    +

  2. +
  3. Now, we can configure the program. There are some configuration options you + should know about: +
    + --enable-emacs-hack”:
    Install a small file which adds ChkTEX to + the command menu of AUC-TEX. This is to be considered as a hack, + and may break in future versions of AUC-TEX. It works fine under + AUC-TEX v2.9, though. +

    This option needs the path of your elisp directory as argument, e.g. + “--enable-emacs-hack=/home/myself/elisp” or similar. +

    You’ll also have to add the following line to your “.emacs” file: + +
    + (require 'chktex) +
    +
    +

    You can now access ChkTEX from the “Command” menu in AUC-TEX. To + cycle through the messages, type C-x `. +

    + --enable-lacheck-replace
    This enables a quick hack for making the + AUC-TEX Emacs mode use ChkTEX instead of lacheck. This is done by + installing a stub script which “overrides” the original lacheck + executable. +

    While more stable than the previous solution, this is also significantly + less elegant -- in computing terms, this is the “brute force” + approach. +

    + --enable-debug-info
    ChkTEX has an ability to spit out various + diagnostic messages using the “-d” flag. This behaviour is on by default. + By adding the flag “--disable-debug-info” to the commandline, this + will not be compiled in. +

    This may be useful if you’re running short of disk space (the time savings + are neglible).

    +

    If you are installing the program on your local account, use the following + command: + +
    + > configure --prefix ~/ +
    +
    +

    +

    Add eventual extra flags as specified above. This command will generate a + significant amount of output, this can usually be ignored. +

  4. +
  5. Finally, we can just build the program and install it. + +
    + > make +  
    > make install +
    +
    +

    +

  6. +
  7. 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. + +
    + > rehash +
    +
    +

    +

    To make the remaining parts of your system aware of this, you’ll have to log + out and re-log in, I’m afraid. However, you should delay this until you’ve + completed this installation procedure. +

  8. +
  9. If you wish to make sure that everything is OK (you ought to), you may now + ask ChkTEX to do a self-test: + +
    + > make check +
    +
    +

    +

+
+Other platforms:
First of all, you have to copy the “config.h.in” file to a file + named “config.h”. Then, edit it to reflect your system. Do the same + with “OpSys.h” (this file has been reduced significantly). If you wish, you + may define “DATADIR” to the path you want the global resource file to be + put. +

Now, I would suggest that you take a peak at the “OpSys.c” file, and edit it + appropiately, for more comfort. This should not be necessary, though, at least not + the first time. +

Finally, you may now compile and link all .c files. Define “HAVE_CONFIG_H” to 1 + (on the command-line, for instance). If the “config.h” you wish to use has + another name, define “CONFIG_H_NAME” to that (in that case, don’t define + “HAVE_CONFIG_H”). +

Put the directory path of the “chktexrc” file in a environment variable named + “CHKTEXRC”. The files “deweb.in” and “chkweb” should be moved to a directory in + your path. These files may need further setup, as they haven’t got the location of + perl initialized. +

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. +

+

    +
  1. Increase the preprocessor buffers and line buffers. The ChkTEX sources + define macros sized 3-4k (expanding to about the same), and passes + arguments sized about 1k. +
  2. +
  3. Use the magic switch which lets us use large “switch(...){...}” + statements; some of these statements have about 120 “case” entries. +
  4. +
  5. The sources require that at least the first 12 of each identifier is + significant.
+
+

Note: You must install the new “chktexrc” file; ChkTEX will fail to function +unless! +

After doing this, you may enhance ChkTEX’ behaviour by reading/editing the +“chktexrc” file. +

+

5 Usage

+ +

+

5.1 ChkTEX

+

Amiga v2.04+ users may wish to note that you may pass the files that ChkTEX is to +process by shift-clicking them. In addition, you may specify the arguments as tooltypes to +the main program icon, using the Info menu option. For instance, if you wish to make the +‘fancy’ output the default when starting from Workbench, enter the following as a +tooltype: + +
+Verbosity=2 +
+
+

We use the WB2Argv package (also developed by me, available on Aminet as +“dev/c/WB2Argv.lha”), and will fold case until the “=” character, in tradition with the +case-insensitivity of Amiga OS. In all other respects (and platforms), the options listed +below are case-sensitive. +

+

5.1.1 Synopsis
+

A UNIX-compliant template format follows: + +
chktex

[-hiqrW] + [-v[0-...]] + [-l <rcfile>] + [-[wemn] <[1-42]|all>] + [-d[0-...]] + [-p <pseudoname>] + [-o <outputfile>] + [-[btxgI][0|1]] + file1 + file2 + ...

+

+

5.1.2 Options
+

These are the options ChkTEX currently accepts. Please note that single-lettered +options requiring a numerical or no argument may be concatenated. E.g. saying +“-v0qb0w2” is the same as saying “-v0 -q -b0 -w2”, except for being less to +type. +

Enough general talk; here’s a rather detailed description of all options: +

+Misc. options:
General options which aren’t related to some specific subpart of + ChkTEX. +
+ -h [--help]
Gives you a command summary. +
+ -i [--license]
Shows distribution information. +
+ -l [--localrc]
Reads a resource-file formatted as the global resource-file + “chktexrc”, in addition to the global resource-file. This option needs the + name of the resource-file as a parameter. See also -g. +
+ -r [--reset]
This will reset all settings to their defaults. This may be useful + if you use the CMDLINE directive in your “chktexrc” file, and wish to do + something unusual. + +
+ -d [--debug]
Needs a numeric argument; a bitmask telling what to output. + The values below may be added in order to output multiple debugging + info. + + + + + + + +
Value

Dumps. . .

1

All warnings available and their current status.

2

Statistics for all lists in the resource file.

4

The contents of all lists in the resource file.

8

Misc. other status information.

16

Run-time info (note that this isn’t widely used).

+ The info is produced after all switches and resource files have been + processed. +

It is possible to install versions of ChkTEX that ignore this flag; this means + that it is not certain that this flag works. +

+ -W [--version]
Displays version information, and exits.
+
+Muting warning messages:
Controls whether and in what form error messages will + appear. Usually they accept a specific warning number (e.g. “-w2”), but + you may also say “all” (e.g. “-wall”) which does the operation on all + warnings. +
+ -w [--warnon]
Makes the message number passed as parameter a warning + and turns it on. +
+ -e [--erroron]
Makes the message number passed as parameter an error + and turns it on. +
+ -m [--msgon]
Makes the message number passed as parameter a message + and turns it on. Messages are not counted. +
+ -n [--nowarn]
Turns the warning/error number passed as a parameter off.
+
+Output control flags:
Determines the appearance and destination of the error + reports. +
+ -q [--quiet]
Shuts up about copyright information. +
+ -o [--output]
Normally, all errors are piped to stdout. Using this option + with a parameter, errors will be sent to the named file instead. Only + information relative to the LATEX file will be sent to that file. Memory + problems and similar will as as always be sent to stderr. If a file with + the name given already exists, it will be renamed to “foobar.bak” + (“foobar.$cl” under MS-DOS), “foobar” being the name of the file. + See also “-b”. +
+ -v [--verbosity]
Specifies how much and how you wish the error reports + to be displayed. This is specified in the “chktexrc” file; we’ll list the + + default values below. If you wish, you may thus edit the “chktexrc” file + to add or modify new formats. +

The default is mode 1 (that is, the second entry in the “chktexrc” file), + using -v without any parameter will give you mode 2. +

+

+ 0
Will show the information in a way that should be suitable for further + parsing by awk, sed or similar. The format is as follows: + +
+ File:Line:Column:Warning number:Warning message +
+
+

The colons may be replaced with another string; use the -s switch for + this. +

As the program does not output all errors in quite order, this output + format is also suitable for piping through “sort”. +

+ 1
Shows the information in a way which is more comprehensible + for humans, but which still doesn’t need anything but a glass + tty. +
+ 2
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 + “ChkTeX.h” at compilation time. UNIX boxes, however, will find the + information automatically. +
+ 3
Shows the information suitable for parsing by Emacs; this is the same + format as lacheck uses. More formally, it is the following: + +
+ "File", line Line: Warning message +
+
+

+

To utilize this, type M-x compile RET. Delete whatever is written in the + minibuffer, and type chktex -v3 texfile.tex, and you should be able + to browse through the error messages. Use C-x ` to parse the + messages. +

+ 4
More or less the same as -v3, but also includes information on where the + error actually was found. Takes somewhat longer time to parse, but much + more informative in use.
+
+ -f [--format]
Specifies the format of the output. This is done using a + format similar to “printf()”, where we support the specifiers listed + below. + + + + + + + + + + + + + + + +
Code

Description

%b

String to print between fields (from -s option).

%c

Column position of error.

%d

Length of error (digit).

%f

Current filename.

%i

Turn on inverse printing mode.

%I

Turn off inverse printing mode.

%k

kind of error (warning, error, message).

%l

line number of error.

%m

Warning message.

%n

Warning number.

%u

An underlining line (like the one which appears when + using “-v1”).

%r

Part of line in front of error (‘S’ - 1).

%s

Part of line which contains error (string).

%t

Part of line after error (‘S’ + 1).

+

Other characters will be passed literally; thus you can say “%%” to achieve a + single percent sign in the output. Please note that we may introduce + other specifiers in the future, so don’t abuse this feature for other + characters. +

Also, note that we do not support field lengths (yet). This may come in the + future, if I get the time... +

The -v command is implemented by indexing into the “chktexrc” 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 + “chktexrc” file instead. +

+ -V [--pipeverb]
Which entry we’ll use in the “chktexrc” file whenever stdout + isn’t a terminal. +

The default is to use the same mode as specified with the -v switch; using -V + without any parameter will give you mode 1. +

This switch was implemented because GNU less has problems with the escape + codes ChkTEX uses for displaying inverse text. Under UNIX, there’s another + + way around, though, which is slightly more elegant. Add the following line to + your “.envir” file: + +
+ setenv LESS -r +
+
+

+

+ -p [--pseudoname]
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’s #line + directive. +

We will only assume this name for the uppermost file; files that this one in + turn \input are presented under their original names. This seems most logical + to me. +

+ -s [--splitchar]
String to use instead of the colons when doing -v0; e.g. this + string will be output between the fields. +
+
+Boolean switches:
Common for all of these are that they take an optional parameter. + If it is 0, the feature will be disabled, if it is 1, it will be enabled. All + these features are on by default; and are toggled if you don’t give any + parameter. +

+

+ -b [--backup]
If you use the -o switch, and the named outputfile exists, it + will be renamed to filename.bak. +
+ -I [--inputfiles]
Execute \input statements; e.g. include the file in the + input. Our input parsing does of course nest; we use an input-stack to + keep track of this. +
+ -H [--headererr]
Show errors found in front of the \begin{document} line. + Some people keep lots of pure TEX code there, which errors can’t be + detected reliably (in other words, we will in most cases just produce a + lot of garbage). +
+ -g [--globalrc]
Read in the global resource file. This switch may be useful + together with the -l option. +
+ -t [--tictoc]
Display a twirling baton, to show that we’re working. -v0 + does an -t0, too, as it assumes that the user then uses the program + non-interactively. This is now a no-op. +
+ -x [--wipeverb]
Ignore the “\verb” + command found within the LATEX file and its argument is completely + by the checking routines. This is done by simply overwriting them. If you + somehow don’t like that (for instance, you would like to count brackets + inside those commands, too), use this switch.
+ +
+

If you don’t specify any input LATEX-files on the commandline, we’ll read from +stdin. To abort stdin input, press the following keycombinations: +

+ + +
Machine Key-combination
Amiga Ctrl + \
UNIX Ctrl + D
MS-DOS Ctrl + Z, followed by return.
+
+

By default, we’re using the 1994 version of GNU’s “getopt()” routine. For those +of you who have only used the Amiga’s “ReadArgs()”, here are some quick +instructions: +

+

+

5.1.3 The “chktexrc” file
+

You should also take a look at the “chktexrc” 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 finding it, however, has grown rather complex. An outline is given +below. +

If ChkTEX finds multiple files when searching, each and everyone will be read in the +order specified below. The “Keyword ={ item item ...}” may thus be necessary to +reset previously defined lists. +

In this list, “$foo” is assumed to be the environment variable “foo”: +

+

    +
  1. First, we’ll take a look at the directory which was specified as “DATADIR” + during compilation (this does not happen on Amiga machines). On UNIX + boxes, this usually evaluates to “/usr/local/share/chktexrc” or similar, + under MS-DOS it is set to “\emtex\data\chktexrc”. +
  2. +
  3. Look in the following system directories: +
    + + + + +
    Machine Directory
    2.04+ Amiga ENV:.chktexrc
    1.3 Amiga S:.chktexrc
    UNIX $HOME/.chktexrc” or “$LOGDIR/.chktexrc
    MSDOS Program installation path
    + +
  4. +
  5. Look for it in the directory pointed to by an environment variable, as specified in + the table below: + + + + +
    Machine

    Directory

    Amiga

    $CHKTEXRC/.chktexrc

    UNIX

    $CHKTEXRC/.chktexrc

    MSDOS

    $CHKTEXRC\chktexrc”, + “$CHKTEX_HOME\chktexrc” + or + “$EMTEXDIR\data\chktexrc

    +
  6. +
  7. Look for it in the current directory. On UNIX and Amiga boxes, we expect the + filename to be “.chktexrc”; on other machines “chktexrc”. +
+

If you for some reason wish to undo what the previous files may have done, you may +say “CmdLine { -g0 -r }” somewhere in the “chktexrc” file; this will reset all previous +settings. +

+

5.1.4 Hints
+

I’ve tried to collect some advice that may be useful -- if you have a favourite hint, feel +free to send it to me! +

+

+

5.1.5 Bugs
+

No fatal ones, I think, but the program currently has some problems when a +LATEX 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 +“cover” 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 “can’t happen” lines, +though. +

We’ve got some problems when isolating the arguments of a command. Although +improved, it will certainly fail in certain cases; ChkTEX can for instance not handle +arguments stretching over two lines. This also means that “WIPEARG” entries in the +“chktexrc” 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. +

Before submitting a bug report, please first see whether the problem can be solved by +editing the “chktexrc” file appropiately. +

+

5.2 ChkWEB

+

This shell script is provided for checking CWEB files. The template is as follows: + +
+chkweb [options] file1 file2 ... +
+
+

As you may see from the script, it is only a trivial interface towards deweb and ChkTEX. +It does not support any individual options on the command line -- all options found will +be passed onto ChkTEX. If “--” or a filename is found, the remaining parameters will be +ignored. The only real intelligence it features is that it will try to append .w to filenames +it can’t find. +

If no filenames are given, we will read from stdin. +

+

5.3 DeWEB

+

This program strips away C code and CWEB commands from CWEB sources. It is called +with the following synopsis: + +
+deweb file1 file2 ... +
+
+

+

deweb filters away all C & CWEB commands from a CWEB source code. This leaves +only the LATEX code. This stripped code, in turn, may then be passed to a suitable +syntax checker for LATEX, like ChkTEX and lacheck, or spell-checkers like +ispell. +

When deweb strips away the C code from your CWEB source, it tries to preserve line +breaks. This means that the error reports from your favorite tool 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 LATEX source (in contrast to +the output from cweave, which output is truly difficult to figure anything out +from). +

deweb accepts a list of filenames on the argument line, and will send its output to +stdout. If no filenames are given, it will read from stdin, acting as a filter. No options are +currently accepted. +

Macho users may try to pipe the output from deweb directly into LATEX, +theoretically, this should work. This would ease the debugging of the LATEX code +significantly, as when LATEX complains about wrong syntax, you’ll be able to find the +erroneous line much more easily. Don’t expect that the output looks very much like the +final one, though. +

deweb should now understand all correct CWEB opcodes. If it complains about not +understanding a correct opcode, please inform the author. +

+

5.3.1 Bugs
+

deweb will not even compile under Perl versions before perl v5. Unfortunately, this means +that we can’t even tell the user why we failed; Perl will just complain about not being +able to compile the regexps. +

+

6 Explanation of error messages

+

Below is a description of all error-messages ChkTEX outputs. Error messages set in italic +type are turned off by default. Where margin paragraphs are listed in the text, +they refer to the keyword in the “chktexrc” file which controls the discussed +warning. +

+

+
Silent

+
Warning 1:

Command + terminated + with + space.

+
+ +

You tried to terminate a command with a blank space. Usually, this is + an error as these are ignored by LATEX. In most cases, you would like + to have a real space there. +

+

+ \LaTeXis a typesetter.
+LATEXis a typesetter.
+\LaTeX\ is a typesetter.
+LATEX is a typesetter.
+

+
+
+

+
Linker

+
Warning 2:

Non-breaking + space + (`~') + should + have + been + used.

+
+

When reading a document, it is not very pretty when references are split + across lines. If you use the ~ character, LATEX will assign a very high + penalty for splitting a line at that point. ChkTEX issues this warning + if you have forgot to do this. +

+

+ Please refer to figure \ref{foo}.
+Please refer to figure 11.
+Please refer to figure~\ref{foo}.
+Please refer to figure 11.
+

+
+

+
Warning 3:

You + should + enclose + the + previous + parenthesis + with + `{}'.

+ +

+

This is a warning which you may ignore, but for maximum aestethic + pleasure, you should enclose your bracket characters with ‘{}’s. +

+

+ $ [(ab)^{-1}] \^{-2}$
+[(ab)-1]-2
+${[{(ab)}^{-1}]}^{-2}$
+[(ab)-1]-2
+

+
+
+

+
Italic +
ItalCmd +
NonItalic

+
Warning 4:

Italic + correction + (`\/') + found + in + non-italic + buffer.

+
+

If you try to use the \/ command when ChkTEX believes that the + buffer is not outputted as italic, you’ll get this warning. +

+

+ This is an\/ example
+This is an example.
+This is an example.
+This is an example.
+

+
+
+

+
Italic +
ItalCmd + +
NonItalic

+
Warning 5:

Italic + correction + (`\/') + found + more + than + once.

+
+

If the buffer is italic, and you try to use the \/ command more than + once, you’ll get this warning. +

+

+ This {\it example\/\/} is not amusing.
+This example is not amusing.
+This {\it example\/} is not amusing.
+This example is not amusing.
+

+
+
+

+
Italic +
ItalCmd +
NonItalic

+
Warning 6:

No + italic + correction + (`\/') + found.

+
+

You get this error if ChkTEX believes that you are switching from italic + to non-italic, and you’ve forgot to use the \/ command to insert that + extra little spacing. If you use the “em” option, you may ignore this + warning. +

+

+ This {\it example } is not amusing, either.
+This example is not amusing, either.
+This {\it example\/} is not amusing, either.
+This example is not amusing, either.
+

+
+ +
+

+
IJAccent

+
Warning 7:

Accent + command + `command' + needs + use + of + `command'.

+
+

If you’re using accenting commands, ‘i’ and ‘j’ should lose their dots + before they get accented. This is accomplished by using the \i, \j, + \imath and \jmath command. +

+

+ This is an example of use of accents: \'{i}.
+This is an example of use of accents: í.
+This is an example of use of accents: \'{\i}.
+This is an example of use of accents: í.
+

+
+
+

+
HyphDash +
NumDash +
WordDash

+
Warning 8:

Wrong + length + of + dash + may + have + been + used.

+
+

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. +

If they are of the same type, ChkTEX will determine which keyword + to use in the “chktexrc” file. If not, it will shut up and accept that it + doesn’t know. + +

+ + + + +
Character type Keyword in “chktexrc file
Space WordDash
Number NumDash
Alphabetic character HyphDash
+

This is more or less correct, according to my references. Hopefully this check + can be even more improved (suggestions?). +

+

+ It wasn't anything - just a 2---3 star--shots.
+It wasn’t anything - just a 2--3 star-shots.
+It wasn't anything --- just a 2--3 star-shots
+It wasn’t anything -- just a 2-3 star-shots.
+

+
+

+
Warning 9:

`%s' + expected, + found + `%s'.

+ +
Warning 10:

Solo + `%s' + found.

+

+

You get this warning whenever brackets or environments don’t match. + ChkTEX expect to find matching brackets/environments in the same + order as their opposites were found, and no closing delimiters which + haven’t been preceded by an opening one. +

While bracket matching is not an explicit error, it is usually a sign that + something is wrong. +

+
+

+
CenterDots +
LowDots

+
Warning 11:

You + should + use + `%s' + to + achieve + an + ellipsis.

+ +
+

Simply typing three “.” in a row will not give a perfect spacing withing + the between the dots. The \ldots is much more suitable for this. +

In math mode, you should also distinguish between \cdots and \ldots; + take a look at the example below. +

+

+ Foo...bar. $1,...,3$. $1+...+3$. $1,\cdots,3$.
+Foo...bar. 1,...,3. 1 + ... + 3. 1,...,3.
+Foo\dots bar. $1,\ldots,3$. $1+\cdots+3$. $1,\ldots,3$.
+Foo...bar. 1,...,3. 1 + ... + 3. 1,...,3.
+

+
+
+

+
Abbrev

+
Warning 12:

Interword + spacing + (`\ ') + should + perhaps + be + used.

+
+

One of the specified abbreviations were found. Unless you have + previously said \frenchspacing, you’ll have incorrect spacing, which + one should avoid if possible. +

+

+ This is an example, i.e. an demonstration.
+This is an example, i.e. an demonstration.
+This is an example, i.e.\ an demonstration.
+This is an example, i.e. an demonstration.
+

+
+

+
Warning 13:

Intersentence + spacing + (`\@') + should + perhaps + be + used.

+ +

+

LATEX’ detection of whether a period ends a sentence or not, is only + based upon the character in front of the period. If it’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. ChkTEX thus outputs this + warning in every such case. +

+

+ I've seen an UFO! Right over there!
+I’ve seen an UFO! Right over there!
+I've seen an UFO\@! Right over there!
+I’ve seen an UFO! Right over there!
+

+
+

+
Warning 14:

Could + not + find + argument + for + command.

+

+

ChkTEX will in some cases need the argument of a function to detect an + error. As ChkTEX currently processes the LATEX file on a line-by-line + basis, it won’t find the argument if the command which needed it was + on the previous line. On the other hand, this may also be an error; you + ought to check it to be safe. +

+

+ $\hat$
+This will give a LATEX error...
+$\hat{a}$
+â
+

+
+

+
Warning 15:

No + match + found + for + `%s'.

+ +

+

This warning is triggered if we find a single, opening bracket or + environment. While bracket matching is not an explicit error, it is + usually a sign that something is wrong. +

+
+

+
MathEnvir

+
Warning 16:

Mathmode + still + on + at + end + of + LaTeX + file.

+
+

This error is triggered if you at some point have turned on mathmode, + and ChkTEX couldn’t see that you remembered to turn it off. +

+

+
Warning 17:

Number + of + `character' + doesn't + match + the + number + of + `character'.

+

+

Should be self-explanatory. ChkTEX didn’t find the same number of an + opening bracket as it found of a closing bracket. +

+ +

+
Warning 18:

You + should + use + either + `` + or + '' + as + an + alternative + to + `"'.

+

+

Self-explanatory. Look in the example, and you’ll understand why. +

+

+ This is an "example"
+This is an ”example”
+This is an ``example''
+This is an “example”
+

+
+

+
Warning 19:

You + should + use + "'" + (ASCII + 39) + instead + of + "'" + (ASCII + 180).

+

+

On some keyboards you might get the wrong quote. This quote looks, + IMHO, ugly compared to the standard quotes, it doesn’t even come out + as a quote! Just see in the example. +

+ +

+ ``There's quotes and there's quotes ''
+“Theres quotes and theres quotes
+``There's quotes and there's quotes''
+“There’s quotes and there’s quotes”
+

+
+
+

+
Userwarn

+
Warning 20:

User-specified + pattern + found.

+
+

A substring you’ve specified using USERWARN in the “chktexrc” file, has + been found.

+

+
Warning 21:

This + command + might + not + be + intended.

+

+

I implemented this because a friend of mine kept on making these + mistakes. Easily done if you haven’t gotten quite into the syntax of + LATEX. +

+

+ \LaTeX\ is an extension of \TeX\. Right?
+LATEX is an extension of TEXṘight?
+\LaTeX\ is an extension of \TeX. Right?
+LATEX is an extension of TEX. Right?
+

+
+

+
Warning 22:

Comment + displayed.

+

+

ChkTEX 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 “comment” environment is better suited. +

+ +

+
Warning 23:

Either + ''\,' + or + '\,'' + will + look + better.

+

+

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. +

+

+ ```Hello', I heard him said'', she remembered.
+“‘Hello’, I heard him said”, she remembered.
+``\,`Hello', I heard him said'', she remembered.
+“ ‘Hello’, I heard him said”, she remembered.

+
+
+

+
PostLink

+
Warning 24:

Delete + this + space + to + maintain + correct + pagereferences.

+
+

This message, issued when a space is found in front of a \index, \label + or similar command (can be set in the “chktexrc” file). Sometimes, + this space may cause that the word and the index happens on separate + pages, if a pagebreak happens just there. +

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. +

+

+ Indexing text \index{text} is fun!
+Indexing text\index{text} is fun!
+

+
+ +

+
Warning 25:

You + might + wish + to + put + this + between + a + pair + of + `{}'

+

+

This warning is given whenever ChkTEX finds a “^  ”’ or a “_” + followed by either two or more numberic digits or two or more alphabetic + characters. In most situations, this means that you’ve forgotten some + {}’s. +

+

+ $5\cdot10^10$
+5 . 1010
+$5\cdot10^{10}$
+5 . 1010

+
+

+
Warning 26:

You + ought + to + remove + spaces + in + front + of + punctuation.

+

+

This warning is issued if ChkTEX finds space in front of an + end-of-sentence character. +

+

+ + Do you understand ?
+Do you understand ?
+Do you understand?
+Do you understand?
+

+
+

+
Warning 27:

Could + not + execute + LaTeX + command.

+

+

Some LATEX commands will be interpreted by ChkTEX; however, + some of them are sensible to errors in the LATEX source. Most notably, + the \input command relies on that the input file exists... +

+
+

+
Italic +
ItalCmd +
NonItalic

+
Warning 28:

Don't + use + \/ + in + front + of + small + punctuation.

+
+

Italic correction should generally not be used in front of small + punctuation characters like ‘.’ and ‘,’; as it looks better when the + preceding italic character leans “over” the punctum or comma. +

+

+ It is just a {\it test\/}, don't think anything else.
+It is just a test, don’t think anything else.
+It is just a {\it test}, don't think anything else.
+It is just a test, don’t think anything else.

+
+ +

+
Warning 29:

$\times$ + may + look + prettier + here.

+

+

In ASCII environments, it is usual to use the ‘x’ character as an infix + operator to denote a dimension. The mathemathical symbol × provided + by the $\times$ command is better suited for this. +

+

+ The program opens a screen sized 640x200 pixels.
+The program opens a screen sized 640x200 pixels.
+The program opens a screen sized $640\times200$ pixels.
+The program opens a screen sized 640 × 200 pixels.

+
+

+
Warning 30:

Multiple + spaces + detected + in + output.

+

+

This warning, intended for the novice, will remind you that even if you + type multiple spaces in your input, only a single space will come out. + Some ways to come around this is listed below. +

+

+ White           is a beautiful colour.
+White is a beautiful colour.
+White~~~~~{ }{ }{ }\ \ \ is a beautiful colour.
+White         is a beautiful colour.
+

+
+
+

+
VerbEnvir

+
Warning 31:

This + text + may + be + ignored.

+ +
+

Certain implementations of the verbatim environment and derivations + of that, ignore all text on the same line as \end{verbatim}. This will + warn you about this. +

+

+
Warning 32:

Use + ` + to + begin + quotation, + not + '.

+
+
Warning 33:

Use + ' + to + end + quotation, + not + `.

+
+
Warning 34:

Don't + mix + quotes.

+

+

Proper quotations should start with a ` and end with a '; anything else + isn’t very pretty. Both these warnings are relative to this; look in the + example below. +

+

+ There are `'examples'' and there are ``examples``.
+There are ‘’examples” and there are “examples“.
+There are ``examples'' and there are ``examples''.
+There are “examples” and there are “examples”.

+
+
+

+
MathRoman

+
Warning 35:

You + should + perhaps + use + `cmd' + instead.

+ +
+

Most mathematical operators should be set as standard roman font, + instead of the math italic LATEX uses for variables. For many + operators, LATEX provides a pre-defined command which will typeset + the operator correctly. Look below for an illustration of the point. +

+

+ $sin^2 x + cos^2 x = 1$
+sin2x + cos2x = 1
+$\sin^2 x + \cos^2 x = 1$
+sin2x + cos2x = 1

+
+

+
Warning 36:

You + should + put + a + space + in + front + of/after + parenthesis.

+
+
Warning 37:

You + should + avoid + spaces + in + front + of/after + parenthesis.

+

+

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. +

+

+ This( an example( Nuff said )), illustrates( ``my'' )point.
+This( an example( Nuff said )), illustrates( “my” )point.
+This (an example (Nuff said)), illustrates (``my'') point.
+This (an example (Nuff said)), illustrates (“my”) point.
+

+ +
+
+

+
QuoteStyle

+
Warning 38:

You + should + not + use + punctuation + in + front + of/after + quotes.

+
+

For best looking documents, you should decide on how you wish to put quotes + relative to punctuation. ChkTEX recognizes two styles; you may specify + which you use in the “chktexrc” file. A description on each style + follows: +

+Traditional:
This style is the most visually pleasing. It always puts + the punctuation in front of the quotes, which gives a continuous + bottom line. +

However, it may in certain cases be ambigious. Consider the following + example from a fictious “vi(1)” tutorial (quote taken from the Jargon + file): +

+

+ Then delete a line from the file by typing ``dd.''
+Then delete a line from the file by typing “dd.”

+

That would be very bad -- because the reader would be prone to type + the string d-d-dot, and it happens that in “vi(1)” dot repeats the last + command accepted. The net result would be to delete two lines! + This problem is avoided using logical style, described below. +

+Logical:
This style uses quotes as balanced delimiters like parentheses. While + this is not the most visual pleasing, it is can’t be misunderstood. The + above sentence would then become: +
+

+ Then delete a line from the file by typing ``dd''.
+Then delete a line from the file by typing “dd”.

+
+
+ +

+
Warning 39:

Double + space + found.

+

+

This warning is triggered whenever ChkTEX finds a space in front of + a hard space, or vice versa. This will be rendered as two spaces (which + you usually don’t wish). +

+

+ For output codes, see table ~ \ref{foo}.
+For output codes, see table   1.1.
+For output codes, see table~\ref{foo}.
+For output codes, see table 1.1.

+
+
+

+
MathEnvir

+
Warning 40:

You + should + put + punctuation + outside + inner/inside + display + math + mode.

+
+

As recommended in the TEXbook, you should try to put punctuation + outside inner math mode, as this is gets formatted better. +

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 + TEXbook: +

+

+ for $x = a,b$, or $c$.
+for x = a,b, or c.
+for $x = a$, $b$, or $c$.
+for x = a, b, or c.
+

+
+ +
+

+
Primitives

+
Warning 41:

You + ought + to + not + use + primitive + TeX + in + LaTeX + code.

+
+

This warning is triggered whenever you use a raw TEX command which + has been replaced by a LATEX equivalent. If you consider yourself a + purist (or want to be sure your code works under LATEX3), you should + use the LATEX equivalent.

+
+

+
NotPreSpaced

+
Warning 42:

You + should + remove + spaces + in + front + of + `%s'

+
+

Some commands should not be prepended by a space character, for + cosmetical reasons. This notes you of this whenever this has happened. +

+

+ This is a footnote \footnotemark[1] mark.
+This is a footnote 1 mark.
+This is a footnote\footnotemark[1] mark.
+This is a footnote1 mark.
+

+
+ +
+

+
NoCharNext

+
Warning 43:

`%s' + is + normally + not + followed + by + `%c'.

+
+

LATEX’ error message when calling \left \{ instead of left \{ is + unfortunately rather poor. This warning detects this and similar errors.

+

+

7 Future plans

+

In a somewhat prioritized sequence, this is what I’d like to put into the program -- if I +have the time. +

+ +

+

8 Notes

+

+

8.1 Wish to help?

+

As most other living creatures, I have only a limited amount of time. If you like +ChkTEX and would like to help improving it, here’s a few things I would like to receive. +The following ideas are given: +

+

Of course, people doing any of this will be mentioned in this document, and thus +receive eternal glory and appreciation. +

+

8.2 Caps and stuff

+

This program uses the “getopt()” 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 #ifdef’ed out, have now been commented +out. +

Where trademarks have been used, the author is aware of that they belong to +someone, and has tried to stick to the original caps. +

+

9 About the author

+

A quick summary of who I am and what I do: +

I’m 21 years old, and live in Oslo, the capital of Norway. I’m currently studying maths +and computer science at the University of 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’96 my studies consist of mathematical analysis, +statistics & probability calculations plus studying the relationship between society and +computers. +

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 80286 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. +

Most of the time in front of these computers (including SGI Indy’s and SPARC +stations at our university) is spent on C and shell programming, plus some +text-processing. +

C and shell programming are not my only knowledge areas regarding computers, +however. I write the following languages more or less: Perl, Motorola 68000 assembly +code, ARexx, Simula, C++, LATEX, HTML, AmigaGuide, Amos Basic and Installer +LISP. Once I also mastered Commodore Basic V2, the “language” included with my +VIC-20. + +

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 ‘Ulven’ scout-group; Norwegian Scouts +Association. I am also a active rover in ‘Vålerenga’ scout-group. +

Certainly a lot more to tell (I play the piano and like cross-country skiing, for +instance); but I’ll stop here before you fall asleep...:-) +

+

10 Thanks

+

The author wishes to thank the following people (in alphabetical order): +

+

+
+ + +
Russ Bubley
russ@scs.leeds.ac.uk
+
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 ChkTEX is well-behaved and free from bugs, send warm thoughts + to Russ. He has also provided ideas for enhanced checks and so forth. +

In addition, he sent me a huge list of 238 common English abbreviations, for + inclusion in the “chktexrc” file! Together with the enhanced abbreviation + recognizer, I do now believe most abbreviations should be catched...:-)  +

Finally, he has also given me valuable hints for improving the program’s + outputting routine, and given me lots of suggestions for filtering + unnecessary/false warnings away. +

+
+ + +
Gerd Böhm
Gerd.Boehm@physik.uni-regensburg.de
+
Improved and bug-fixed the MS-DOS port of ChkTEX v1.4, sending me + ready-to-yank code patches. The original port didn’t respect all the peculiarities + of the MS-DOS file-system, unfortunately. +
+
+ + +
Lars Frellesen
frelle@math-tech.dk
+
Sent a few bug reports regarding the filtering of messages. He has also helped + me to expand the “SILENT” keyword in the “chktexrc” file. +
+
+ + +
Wolfgang Fritsch
fritsch@hmi.de
+
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). +
+ +
+ + +
Stefan Gerberding
stefan@inferenzsysteme.informatik.th-darmstadt.de
+
First one to report the Enforcer hit in v1.2 when using ChkTEX as a pipe. + Also came with suggestions to make ChkTEX more easily compile on early + gcc compilers. +

He has also kept on beta-testing later versions of ChkTEX, giving me + bug-reports and enhancements requests. +

+
+ + +
Kasper B. Graversen
kbg2001@internet.dk
+
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. +

Has also provided some OS-oriented code. +

+
+ + +
Frank Luithle
f_luithle@outside.sb.sub.de
+
Wrote a translation for v1.0. Unfortunately, he remained unreachable after + that...:-/ +
+
+ + +
Nat
nat@nataa.frmug.fr.net
+
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’t + unambigious; at least the getenv() call seem to be open for interpretations. + Many possible incompatibilities have been removed due to these lessons. +
+
+ + +
Michael Sanders
sanders@umich.edu
+
Has found some of the bugs in this beast; both obscure and long-lived. Has + also provided motivation to clarify this document. +
+
+ + +
Bjørn Ove Thue
bjort@ifi.uio.no
+
Author of the MSDOS port; please direct questions regarding strictly to that + port to him (I would like to receive a carbon copy, though). +
+
+ + +
Martin Ward
Martin.Ward@durham.ac.uk
+
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 ChkTEX. In addition, he sent me the source code + + for lacheck; which also inspired some of the warnings.
+

+

11 Contacting the author

+

If you wish to contact me for any reason or would like to participate in the development +of ChkTEX, please write to: +

+

Jens Berger +
Spektrumvn. 4 +
N-0666 Oslo +
Norway +
E-mail: <jensthi@ifi.uio.no>

+

Any signs of intelligent life are welcomed; that should exclude piracy. +

Since the original author is unreachable, the maintainer these days is: +

+

Baruch Even +
E-mail: <chktex@ev-en.org>

+

Have fun. + + + + + diff --git a/Master/texmf/doc/chktex/ChkTeX.pdf b/Master/texmf/doc/chktex/ChkTeX.pdf new file mode 100644 index 00000000000..a6bdf6a8ef0 Binary files /dev/null and b/Master/texmf/doc/chktex/ChkTeX.pdf 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 @@ + + +A DVI-to-PNG translator + + + + + + + + + +

A DVI-to-PNG translator

+ + + + +
+


+ +Next: , +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-Åke Larsson + +

+ +
+


+ +Next: , +Previous: 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 + +

+ + +
+


+ +Next: , +Previous: Introduction, +Up: Top + +
+ +

2 Installation

+ +

+ + + + +

Installing dvipng should be simple: merely ./configure, +make, and make install. + +

+ +
+


+ +Next: , +Up: Installation + +
+ +

2.1 Prerequisites

+ + + +
+


+ +Next: , +Previous: 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. + +

+


+ + +Next: , +Previous: 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. + +

+


+ +Next: , +Previous: 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. + +

+ +

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. + +

+


+ +Next: , +Previous: 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. See Unable to generate fonts.) + +

Many options are available (see the next section). For a brief summary +of available options, just type + +

     dvipng --help
+
+
+


+ + +Next: , +Previous: 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. + +

+ +
+


+ +Next: , +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)
+     
+
+
+


+ +Previous: 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. See 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. See 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. See 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'. +See 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. See 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. +
+
+ + +
+


+ +Next: , +Previous: 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, see Common 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 +(see 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 + +
+ +
+


+ +Previous: 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. + +

+


+ +Next: , +Previous: 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. + +

+ +
+


+ +Next: , +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. +See Option details. + +

+


+ +Previous: 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. + +

+


+ +Next: , +Previous: 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 Ridderström, +Ezra Peisach, William H Wheeler, Thomas Klausner, Harald Koenig, Adrian +Bunk, Kevin Smith, and Jason Riedy. + +

+


+ +Next: , +Previous: 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 © 2002-2005 Jan-Åke Larsson + +
+


+ +Previous: Credits, +Up: Top + +
+ +

Index

+ + + 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 @@ + + +Gzip User's Manual + + + + + + + + + +

Gzip User's Manual

+
+


+Up: (dir) +
+
+ + + +
+


+Next: , +Up: Top +
+
+ +

GNU GENERAL PUBLIC LICENSE

+ +
Version 2, June 1991
+ +
     Copyright © 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.
+
+

Preamble

+ +

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—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. + +

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. + +

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. + +

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. + +

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. + +

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. + +

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. + +

The precise terms and conditions for copying, distribution and +modification follow. + +

    +
  1. 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 “Program”, below, +refers to any such program or work, and a “work based on the Program” +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 “modification”.) Each licensee is addressed as “you”. + +

    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. + +

  2. 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. + +

    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. + +

  3. 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: + +
      +
    1. You must cause the modified files to carry prominent notices +stating that you changed the files and the date of any change. + +
    2. 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. + +
    3. 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.) +
    + +

    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. + +

    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. + +

    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. + +

  4. 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: + +
      +
    1. 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, + +
    2. 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, + +
    3. 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.) +
    + +

    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. + +

    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. + +

  5. 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. + +
  6. 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. + +
  7. 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. + +
  8. 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. + +

    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. + +

    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. + +

    This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +

  9. 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. + +
  10. 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. + +

    Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and “any +later version”, 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. + +

  11. 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. + +
  12. 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 “AS IS” 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. + +
  13. 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. +
+ +

How to Apply These Terms to Your New Programs

+ +

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. + +

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 “copyright” line and a pointer to where the full notice is found. + +

     one line to give the program's name and an idea of what it does.
+     Copyright (C) 19yy  name of author
+     
+     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.
+
+

Also add information on how to contact you by electronic and paper mail. + +

If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + +

     Gnomovision version 69, Copyright (C) 19yy name of author
+     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.
+
+

The hypothetical commands show w and show c should show +the appropriate parts of the General Public License. Of course, the +commands you use may be called something other than show w and +show c; they could even be mouse-clicks or menu items—whatever +suits your program. + +

You should also get your employer (if you work as a programmer) or your +school, if any, to sign a “copyright disclaimer” for the program, if +necessary. Here is a sample; alter the names: + +

     Yoyodyne, Inc., hereby disclaims all copyright
+     interest in the program `Gnomovision'
+     (which makes passes at compilers) written
+     by James Hacker.
+     
+     signature of Ty Coon, 1 April 1989
+     Ty Coon, President of Vice
+
+

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. + +

+


+Next: , +Previous: Copying, +Up: Top +
+
+ +

1 Overview

+ +

+gzip reduces the size of the named files using Lempel-Ziv coding +(LZ77). Whenever possible, each file is replaced by one with the +extension .gz, while keeping the same ownership modes, access and +modification times. (The default extension is -gz for VMS, +z 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. gzip will only attempt to compress regular files. In +particular, it will ignore symbolic links. + +

If the new file name is too long for its file system, gzip +truncates it. 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. + +

By default, gzip keeps the original file name and timestamp in +the compressed file. These are used when decompressing the file with the +-N option. This is useful when the compressed file name was +truncated or when the time stamp was not preserved after a file +transfer. + +

Compressed files can be restored to their original form using gzip -d +or gunzip or 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. + +

gunzip takes a list of files on its command line and replaces +each file whose name ends with .gz, .z, .Z, +-gz, -z or _z and which begins with the correct +magic number with an uncompressed file without the original extension. +gunzip also recognizes the special extensions .tgz and +.taz as shorthands for .tar.gz and .tar.Z +respectively. When compressing, gzip uses the .tgz +extension if necessary instead of truncating a file with a .tar +extension. + +

gunzip can currently decompress files created by gzip, +zip, compress or pack. The detection of the input +format is automatic. When using the first two formats, gunzip +checks a 32 bit CRC (cyclic redundancy check). For pack, +gunzip checks the uncompressed length. The compress format +was not designed to allow consistency checks. However 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 uncompress does not complain. +This generally means that the standard 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. + +

Files created by 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 unzip instead of gunzip. + +

zcat is identical to gunzip -c. zcat +uncompresses either a list of files on the command line or its standard +input and writes the uncompressed data on standard output. zcat +will uncompress files that have the correct magic number whether they +have a .gz suffix or not. + +

gzip uses the Lempel-Ziv algorithm used in 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 compress), Huffman +coding (as used in pack), or adaptive Huffman coding +(compact). + +

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. gzip preserves the mode, +ownership and timestamps of files when compressing or decompressing. + +

+


+Next: , +Previous: Overview, +Up: Top +
+
+ +

2 Sample Output

+ +

+Here are some realistic examples of running gzip. + +

This is the output of the command gzip -h: + +

     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.
+
+

This is the output of the command gzip -v texinfo.tex: + +

     texinfo.tex:             71.6% -- replaced with texinfo.tex.gz
+
+

The following command will find all gzip files in the current +directory and subdirectories, and extract them in place without +destroying the original: + +

     find . -name '*.gz' -print | sed 's/^\(.*\)[.]gz$/gunzip < "&" > "\1"/' | sh
+
+
+


+Next: , +Previous: Sample, +Up: Top +
+
+ +

3 Invoking gzip

+ +

+The format for running the gzip program is: + +

     gzip option ...
+
+

gzip supports the following options: + +

+
--stdout
--to-stdout
-c
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. + +
--decompress
--uncompress
-d
Decompress. + +
--force
-f
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 gzip, and if the option --stdout is also +given, copy the input data without change to the standard output: let +zcat behave as cat. If -f is not given, and +when not running in the background, gzip prompts to verify +whether an existing file should be overwritten. + +
--help
-h
Print an informative help message describing the options then quit. + +
--list
-l
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 (deflate,compress,lzh,pack)
+          crc: the 32-bit CRC of the uncompressed data
+          date & time: time stamp for the uncompressed file
+     
+

The crc is given as ffffffff for a file not in gzip format. + +

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. + +

--license
-L
Display the gzip license then quit. + +
--no-name
-n
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 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. + +
--name
-N
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. + +
--quiet
-q
Suppress all warning messages. + +
--recursive
-r
Travel the directory structure recursively. If any of the file names +specified on the command line are directories, gzip will descend +into the directory and compress all the files it finds there (or +decompress them in the case of gunzip). + +
--suffix suf
-S 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 pack. + +

--test
-t
Test. Check the compressed file integrity. + +
--verbose
-v
Verbose. Display the name and percentage reduction for each file compressed. + +
--version
-V
Version. Display the version number and compilation options, then quit. + +
--fast
--best
-n
Regulate the speed of compression using the specified digit n, +where -1 or --fast indicates the fastest compression +method (less compression) and --best or -9 indicates the +slowest compression method (optimal compression). The default +compression level is -6 (that is, biased towards high compression at +expense of speed). +
+ +
+


+Next: , +Previous: Invoking gzip, +Up: Top +
+
+ +

4 Advanced usage

+ +

+Multiple compressed files can be concatenated. In this case, +gunzip 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. + +

This is an example of concatenating gzip files: + +

     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: + +

     zcat 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: + +

     zcat 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. + +

+


+Next: , +Previous: Advanced usage, +Up: Top +
+
+ +

5 Environment

+ +

+The environment variable GZIP can hold a set of default options for +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. + +

+


+Next: , +Previous: Environment, +Up: Top +
+
+ +

6 Using gzip on tapes

+ +

+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 gunzip for decompression, +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 +GZIP environment variable, as in: + +

     for sh:    GZIP="-q"  tar -xfz --block-compress /dev/rst0
+     for csh:   (setenv GZIP "-q"; tar -xfz --block-compress /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.) + +

+


+Next: , +Previous: Tapes, +Up: Top +
+
+ +

7 Reporting Bugs

+ +

+If you find a bug in gzip, please send electronic mail to +bug-gzip@gnu.org. Include the version number, +which you can find by running gzip -V. Also include in your +message the hardware and operating system, the compiler used to compile +gzip, +a description of the bug behavior, and the input to gzip that triggered +the bug. + +

+


+Previous: Problems, +Up: Top +
+
+ +

Concept Index

+ + + + + + diff --git a/Master/texmf/doc/gzip/gzip.pdf b/Master/texmf/doc/gzip/gzip.pdf new file mode 100644 index 00000000000..bf19bbd312f Binary files /dev/null and b/Master/texmf/doc/gzip/gzip.pdf differ diff --git a/Master/texmf/doc/hbf2gf/hbf2gf.pdf b/Master/texmf/doc/hbf2gf/hbf2gf.pdf new file mode 100644 index 00000000000..bc8005220aa Binary files /dev/null and b/Master/texmf/doc/hbf2gf/hbf2gf.pdf 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= \ + --with-kpathsea-lib= + 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 /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 Binary files /dev/null and b/Master/texmf/doc/hbf2gf/man/pdf/hbf2gf.pdf 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" 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) + + 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 . + + Questions, suggestions for new features, pleas for help, and/or +praise should go to . For more information on this +mailing list, send a message with just the word `help' as subject or +body to or look at +`http://lists.nongnu.org/mailman/listinfo/dvipng'. + + Offers to support further development will be appreciated. For +developer access, ask on . + + 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 +***** + +[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 + % 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 + 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 + . + + + + [1] [2] [3] [4] + + An entry like "" 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 (), Tanmoy Bhattacharya, and Paul +Ginsparg originally proposed and implemented the following: + html: + html: + html: + html: + html: + + 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:} + 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:}\TeX\ Users + Group\special{html:} + 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:}Paradise\special{html:} + 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 ' 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 `'), 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 <, 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 +***** + +[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 . +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 + 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 . + \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 <>}} + \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 +*********** + +[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 +************* + +[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 +. Email 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 . +% 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" : 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. + + (`next-line') + (an arrow key) + Move the cursor down to the next line. + + (`prev-line') + (an arrow key) + Move the cursor up to the previous line. + + (`beginning-of-line') + (on DOS/Windows only) + Move the cursor to the start of the current line. + + (`end-of-line') + (on DOS/Windows only) + Move the cursor to the end of the current line. + + (`forward-char') + (an arrow key) + Move the cursor forward a character. + + (`backward-char') + (an arrow key) + Move the cursor backward a character. + + (`forward-word') +`C-' (on DOS/Windows only) + Move the cursor forward a word. + + (`backward-word') +`C-' (on DOS/Windows only) + Move the cursor backward a word. + + (`beginning-of-node') +> (on DOS/Windows only) + +, vi-like operation + Move the cursor to the start of the current node. + +> (`end-of-node') +> (on DOS/Windows only) + + Move the cursor to the end of the current node. + + (`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". + + (`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, + 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, takes you to the + "next" node, so that you can read an entire manual from start to + finish by repeating . + + 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. + + (an arrow key) (`scroll-forward-page-only') + +, vi-like operation +, vi-like operation +, vi-like operation + Shift the text in this window up. This is identical to the + operation above, except that it never scrolls beyond the end of the + current node. + + The key is known as the key on some keyboards. + + (`scroll-forward-page-only-set-window', vi-like operation) + Scroll forward, like with , but if a numeric argument is + specified, it becomes the default scroll size for subsequent + `scroll-forward' and `scroll-backward' commands and their ilk. + + (`scroll-backward') + Shift the text in this window down. The inverse of + `scroll-forward'. If you are at the start of a node, takes + you to the "previous" node, so that you can read an entire manual + from finish to start by repeating . 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. + + (arrow key) (`scroll-backward-page-only') + (arrow key) + +, vi-like operation +, 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. + + (`scroll-backward-page-only-set-window', vi-like operation) + Scroll backward, like with , but if a numeric argument is + specified, it becomes the default scroll size for subsequent + `scroll-forward' and `scroll-backward' commands. + + (`down-line', vi-like operation) +, vi-like operation +, vi-like operation +, vi-like operation +, vi-like operation + Scroll forward by one line. With a numeric argument, scroll + forward that many lines. + + (`up-line', vi-like operation) +, vi-like operation +, vi-like operation +, vi-like operation +, vi-like operation +, vi-like operation + Scroll backward one line. With a numeric argument, scroll + backward that many lines. + + (`scroll-half-screen-down', vi-like operation) +, 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. + + (`scroll-half-screen-up', vi-like operation) +, 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 while viewing the end of a node, or 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 key is the key on many keyboards. Emacs +refers to it by the name . When you use or to +scroll, Info never scrolls beyond the beginning of the current node. + + If your keyboard lacks the key, look for a key called , or +`BackSpace', sometimes designated with an arrow which points to the +left, which should perform the same function. + + (`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 ' (`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: + + (`next-node') +`C-' (on DOS/Windows only) +`C-x ', vi-like operation + Select the `Next' node. + + The key is known as the key on some keyboards. + +

(`prev-node') +`C-' (on DOS/Windows only) + Select the `Prev' node. + + The key is known as the key on some keyboards. + + (`up-node') +`C-' (an arrow key on DOS/Windows only) +`C-x ', 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. + + (`history-node') +> (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'. + + (`top-node') +, vi-like operation + Select the node `Top' in the current Info file. + + (`dir-node') +, 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') +, 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') +, 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 +and ; *Note `scroll-behavior': Variables, for more information. + + (`goto-node') +`C-x ', 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'. + + (`goto-invocation' + + 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) ' and then `I makeinfo '. 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. + + (`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 + + 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 ' (`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 ' (`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. + + (`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. + + (`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 ' (`search-next') +, 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 ' (`search-previous') +, 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. + + (`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. + + (`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. + + (`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 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> +, vi-like operation + ... , 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 . + +<0> (`last-menu-item') +, vi-like operation + Select the last item in the current node's menu. + + (`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. + + (`xref-item') + + +, vi-like operation +`C-x ', 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: + + (`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 + (`select-reference-this-line') to select the menu or note + reference. + + (`move-to-prev-xref') +> (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-' key is an alias for + `M-'. This key is sometimes called `BackTab'. + + (`select-reference-this-line') +, 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 ' (`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 ' (`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 ' (`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: + + (`echo-area-forward') + (an arrow key) +, vi-like operation + Move forward a character. + + (`echo-area-backward') + (an arrow key) +, vi-like operation + Move backward a character. + + (`echo-area-beg-of-line') +, vi-like operation + Move to the start of the input line. + + (`echo-area-end-of-line') +, vi-like operation + Move to the end of the input line. + + (`echo-area-forward-word') +> (DOS/Windows only) +, vi-like operation + Move forward a word. + + On DOS/Windows, `C-' moves forward by words. + + (`echo-area-backward-word') +> (DOS/Windows only) + Move backward a word. + + On DOS/Windows, `C-' moves backward by words. + + (`echo-area-delete') +, vi-like operation + Delete the character under the cursor. + + (`echo-area-rubout') + Delete the character behind the cursor. + + On some keyboards, this key is designated , for `BackSpace'. + Those keyboards will usually bind in the echo area to + `echo-area-delete'. + + (`echo-area-abort') +, 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. + + (`echo-area-newline') + Accept (or forces completion of) the current input line. + + (`echo-area-quoted-insert') +, 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. + + (`echo-area-tab-insert') +> (on DOS/Windows only) + Insert a TAB character. + + On DOS/Windows only, the `Shift-' key is an alias for + `M-'. This key is sometimes called `BackTab'. + + (`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. + + (`echo-area-kill-word') +, vi-like operation + Kill the word following the cursor. + + (`echo-area-backward-kill-word') +> + Kill the word preceding the cursor. + + On some keyboards, the `Backspace' key is used instead of `DEL', + so `M-' has the same effect as `M-'. + + (`echo-area-kill-line') + Kill the text from the cursor to the end of the line. + +`C-x ' (`echo-area-backward-kill-line') + Kill the text from the cursor to the beginning of the line. + + (`echo-area-yank') + Yank back the contents of the last kill. + + (`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: + + (`echo-area-complete') + + 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 or + 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'. + + (`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. + + (`get-help-window') + + (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. + + (`get-info-help-node') +, 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: + + (`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. + + (`add-digit-to-numeric-arg') +<1>, vi-like operation + ... +<2> ... <9>, vi-like operation + +<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 + + (`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. + + (`abort-key') +, 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'. + + (`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: + + (`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 +**************** + +[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 , 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 and 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 ), 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 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 , (or )(1) and `b' commands exist to allow +you to "move around" in a node that does not all fit on the screen at +once. moves forward, to show what was below the bottom of the +screen. or 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 (afterward, type a to + return here). + + When you type the , the two lines that were at the bottom of the +screen appear at the top, followed by more lines. or +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. + + and not only move forward and backward through the +current node. They also move between nodes. at the end of a +node moves to the next node; (or ) 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 , and +move backward through the entire manual from bottom to top by typing + (or ). + + In this sequence, a node's subnodes appear following their parent. +If a node has a menu, 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, 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 and (or ). However, and + 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 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 key (or ) 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 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 repeatedly. + +>> Type a now. Press to see consecutive screenfuls of + the list until finished. Then type 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 , type an `x', then release +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 and 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 or 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 `', because, when you scroll to the bottom of a +node and type another `', 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, `' 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), `', `', `]' +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 to find the menu in this node, then come back to + the front with a `b' and some 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 once the menu appears on the screen, it will +move to another node (the first one in the menu). If that happens, +type 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 + 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 . +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 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 , 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 yet. + + While you are typing the item name, you can use the (or +) key to cancel one character at a time if you make a +mistake. + +>> Press 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 . + + After visiting `Help-FOO', you should return here. + + Another way to move to the menu subtopic lines and between them is to +type . Each time you type a , you move to the next subtopic +line. To move to a previous subtopic line, type `M-'--that is, +press and hold the key and then press . (On some +keyboards, the key might be labeled `Alt'.) + + Once you move cursor to a subtopic line, press 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 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 , just as in a menu. 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 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 . + + As you enter the reference name, you can use the (or +) 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 . + + 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 and `M-' 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 . Thus, `gTop' would go to the node called `Top' in this +file. (This is equivalent to `t', see *Note Help-Int::.) +`gAdvanced' 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 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' would go to the Info Directory node, which is the node +`Top' in the Info file `dir'. Likewise, `g(emacs)Top' 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*' or all of any other file with +`g(FILENAME)'. + +`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 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 ). If you want to +catch index entries that refer to "complete", "completion", and +"completing", you could type `icomplet'. + + 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 +'. 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 . To search +for the same string again, just `s' followed by 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 FACE ', 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, and (or ) 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 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. + +[index] +* 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: + +* 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 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 . + + * 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 . + + +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 + 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 +, 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 +. To join, email 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 (via mail to +). + + If you are looking for general TeX help, such as how to use LaTeX, +please use the mailing list 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 ', 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 +***** + +[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 +. + + The LaTeX2e version was adapted from this by Torsten Martinsen +. + + 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 +************* + +[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 +************* + +[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 +. 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 + / name of a package + bst/ BibTeX style files + base/ base distribution (e.g., `plain.bst', `acm.bst') + misc/ single-file styles + / name of a package + doc/ see Section *Note Documentation:: and the summary below + fonts/ font-related files + / file type (e.g., `pk') + / type of output device (for `pk' and `gf' only) + / name of a font supplier (e.g., `public') + / name of a typeface (e.g., `cm') + dpi/ font resolution (for `pk' and `gf' only) + / 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') + / name of a package (e.g., `mfpic') + metapost/ MetaPost input and support files + base/ base distribution (e.g., `plain.mp') + misc/ single-file packages + / name of a package + support/ support files for MetaPost-related utilities + mft/ `MFT' inputs (e.g., `plain.mft') + / TeX-related programs, by name (e.g., `dvips') + source/ program source code by name (e.g., `latex', `web2c') + tex/ TeX input files + / name of an engine (e.g., `aleph'); can also be lower + / 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' + / 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'). + / 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' + / name of a TeX format (e.g., `generic', `latex') + base/ for the base distribution + misc/ for contributed single-file package documentation + / 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 + / 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 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: + + / 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 and 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 {}' + 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 . 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 + 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', +where `' is replaced by the literal name of the region (for +example, `--iftex'). Symetrically, if `--no-if' is specified, +the `' 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: + + And for the frameset doctype: + + +`--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 = '


'; + $DEFAULT_RULE = '
'; + $MIDDLE_RULE = '
'; + $BIG_RULE = '
'; + + 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'} = ' > '; + 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 `' HTML +elements, by defining the variable `$EXTRA_HEAD'. Similarly it is +possible to add text just after the `' 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 `' 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 `' + 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 `' 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 `' + 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 `
' 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 `­' to be outputted for `@-' in
+normal and preformatted context, write in your init file:
+
+     $simple_map{'-'} = '­';
+     $simple_map_pre{'-'} = '­';
+
+
+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 `ARG'.
+
+     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
+     `ARG'.
+
+     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 `ARG'.  Similarly `"quoted' leads to
+     ``ARG''.
+
+   * 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
+     `ARG'.
+
+
+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 `'
+     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 `•'.  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
+************************************
+
+[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:                            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:                         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
+*************************
+
+[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
+************************
+
+[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 .  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  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  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 `' 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  and leave the cursor after the
+     .
+
+`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
+`'.  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: `. ? ! :'.
+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 `@'.
+
+�[index�]
+* 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
+*************
+
+�[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
+*****
+
+�[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
Binary files /dev/null and b/Master/texmf/doc/pdftex/manual/samplepdf/pic.pdf 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
Binary files /dev/null and b/Master/texmf/doc/pdftex/manual/samplepdf/rgb.icc 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 <>}
+                            %
+                            % 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 <>}%
+        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     % fit the rectangle specified by ; if
+                        % some of dimensions in  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 ; if some of dimensions in
+                        %  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  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   {file}
+%D \pdfimages  {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  {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
Binary files /dev/null and b/Master/texmf/doc/pdftex/manual/samplepdf/tmp.pdf 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
Binary files /dev/null and b/Master/texmf/doc/pdftex/pdftex-pdfkeys/pdftex-pdfkeys.pdf 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}
-- 
cgit v1.2.3