summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/info
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-04-07 18:26:53 +0000
committerKarl Berry <karl@freefriends.org>2013-04-07 18:26:53 +0000
commitb04c2e1a42573e9735547702356c7b9a769a6855 (patch)
treec0753443f39500a062d7698fe6b94359c813f871 /Master/texmf-dist/doc/info
parentfb0bf13304a356f197bfc1add17f98c07e96f17b (diff)
texmf -> texmf-dist: doc
git-svn-id: svn://tug.org/texlive/trunk@29714 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/info')
-rw-r--r--Master/texmf-dist/doc/info/asy-faq.info1671
-rw-r--r--Master/texmf-dist/doc/info/asymptote.info9963
-rw-r--r--Master/texmf-dist/doc/info/dir69
-rw-r--r--Master/texmf-dist/doc/info/dvipng.info1211
-rw-r--r--Master/texmf-dist/doc/info/dvips.info4802
-rw-r--r--Master/texmf-dist/doc/info/eplain.info8187
-rw-r--r--Master/texmf-dist/doc/info/epspdf.infobin0 -> 22867 bytes
-rw-r--r--Master/texmf-dist/doc/info/fontname.info16120
-rw-r--r--Master/texmf-dist/doc/info/kpathsea.info4763
-rw-r--r--Master/texmf-dist/doc/info/latex2e-es.info8019
-rw-r--r--Master/texmf-dist/doc/info/latex2e.info7503
-rw-r--r--Master/texmf-dist/doc/info/latex2man.info1055
-rw-r--r--Master/texmf-dist/doc/info/mf2pt1.info714
-rw-r--r--Master/texmf-dist/doc/info/tds.info1714
-rw-r--r--Master/texmf-dist/doc/info/texdraw.info2429
-rw-r--r--Master/texmf-dist/doc/info/web2c.info4515
16 files changed, 72735 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/info/asy-faq.info b/Master/texmf-dist/doc/info/asy-faq.info
new file mode 100644
index 00000000000..ce35b88fc2b
--- /dev/null
+++ b/Master/texmf-dist/doc/info/asy-faq.info
@@ -0,0 +1,1671 @@
+Info file: asy-faq.info, -*-Text-*-
+produced by bfnnconv.pl from the Bizarre Format With No Name.
+
+INFO-DIR-SECTION Languages
+START-INFO-DIR-ENTRY
+* asymptote FAQ: (asy-faq). Asymptote Frequently Asked Questions.
+END-INFO-DIR-ENTRY
+
+
+File: asy-faq.info, Node: Top, Next: Question 1.1, Up: (dir)
+
+ ASYMPTOTE FREQUENTLY ASKED QUESTIONS
+ 30 May 2012
+
+This is the list of Frequently Asked Questions about Asymptote (asy).
+
+Index
+
+* Menu:
+* Section 1:: About Asymptote
+* Section 2:: Questions about installation and setup
+* Section 3:: Questions about paths
+* Section 4:: Questions about labels
+* Section 5:: Questions about arrows
+* Section 6:: Questions about 2D graphs
+* Section 7:: Questions about programming
+* Section 8:: Questions about differences between Asymptote and
+ MetaPost
+* Section 9:: Questions about output
+
+Section 1, About Asymptote
+* Question 1.1:: What is Asymptote?
+* Question 1.2:: How do I obtain Asymptote?
+* Question 1.3:: Where can I ask questions about Asymptote?
+* Question 1.4:: Why was the name Asymptote chosen?
+* Question 1.5:: In the internal Asymptote source code, what does the
+ name camp refer to?
+
+Section 2, Questions about installation and setup
+* Question 2.1:: Is it possible to install Asymptote on Mac OS X?
+* Question 2.2:: Why do I get the error Bad CPU type in executable on
+ installing Asymptote from the MAC OS binary?
+* Question 2.3:: What do I do if I get the error: Error: pdfetex (file
+ pdftex.cfg): cannot open config file...texinfo.tex
+ appears to be broken?
+* Question 2.4:: What do I do if I get the error: ! Undefined control
+ sequence. l.6 @copying?
+* Question 2.5:: Is it possible to integrate Asymptote into LaTeX?
+* Question 2.6:: Is it possible to integrate Asymptote into latex or
+ pdflatex?
+* Question 2.7:: Do I need the tkinter package to install an Asymptote
+ rpm binary?
+* Question 2.8:: What does the path %USERPROFILE%\.asy\config.asy mean?
+* Question 2.9:: Why do I get the error "string not terminated" when I
+ try to set settings.dir="C:\asymptote\";?
+* Question 2.10:: How do I change environment variables in Microsoft
+ Windows, for example, in order to change the default
+ PostScript viewer?
+* Question 2.11:: Under Microsoft Windows XP, why do I get an error like
+ "Invalid Parameter - 432x432"?
+* Question 2.12:: Why does Asymptote freeze upon trying to draw a label
+ with my MikTex installation under Microsoft Windows?
+
+Section 3, Questions about paths
+* Question 3.1:: Why do I get a syntax error message when I specify an
+ integer value for the path tension?
+* Question 3.2:: Shouldn't dots always be the same size?
+
+Section 4, Questions about labels
+* Question 4.1:: How do I get Greek letters like omega to show up in my
+ labels?
+* Question 4.2:: Can Asymptote use matrices as labels?
+* Question 4.3:: How do I tell Asymptote to load a particular LaTeX
+ package, like mathptmx?
+* Question 4.4:: How can I use international fonts in Asymptote labels?
+* Question 4.5:: How can I use Fourier fonts?
+* Question 4.6:: Is there any way to change the default appearance of
+ the decimal separator, using a comma instead of a dot?
+* Question 4.7:: How can I get a rotated label with the filled box
+ rotated as well so that it fits the text?
+* Question 4.8:: How can I rotate labels in a 3D figure?
+* Question 4.9:: How can I draw some squares and circles of a fixed
+ size and put a label in the middle of them?
+* Question 4.10:: The binary operator * can be used to scale the color
+ of a pen by a real number. Does this scaling factor
+ have to be less than 1?
+* Question 4.11:: Why is the space after the comma decimal separator in
+ my locale so large?
+* Question 4.12:: How can I prevent
+ texpreamble("\usepackage[pdftex]{hyperref}") from
+ changing the page size?
+
+Section 5, Questions about arrows
+* Question 5.1:: How do I draw two arrows at arbitrary positions along
+ a path?
+* Question 5.2:: How do I reverse the direction of an arrowhead?
+* Question 5.3:: How do I change the size of all arrows?
+* Question 5.4:: Can I create other arrowhead styles?
+
+Section 6, Questions about 2D graphs
+* Question 6.1:: How can I draw x axis ticks on the right side, with
+ the tick labels on the left side (relative to the axis
+ path)?
+* Question 6.2:: How can I reposition the x axis label to
+ three-quarters along the axis length?
+* Question 6.3:: How can I move the x axis label down 10bp?
+* Question 6.4:: Can I use different pens for the axis, the axis label,
+ and the tick labels?
+* Question 6.5:: How can I change the font type of the axes label?
+* Question 6.6:: How can I change the font type of the tick labels on
+ an axis?
+* Question 6.7:: How can I prevent axes tick labels from rendering on
+ top of each other?
+* Question 6.8:: How do I make the plot region of a graph, ignoring
+ labels and legends, have a fixed size?
+* Question 6.9:: How can I plot a function f(x) within [0,1]x[0,2]
+ without explicitly calculating the x values for which
+ f(x) hits the boundary?
+* Question 6.10:: Is it possible to define customized palettes?
+* Question 6.11:: Is there an easy way to graph factorial functions
+ nicely?
+* Question 6.12:: How do I indicate that a certain length should be
+ exactly the size I prescribe with no rescaling, within
+ a picture which has its own size?
+* Question 6.13:: How can I make the y axis display base-2 logarithmic
+ values?
+* Question 6.14:: How can I align the x axes of two graphs on the same
+ figure?
+* Question 6.15:: How can I change the direction of the y-axis, such
+ that negatives values are on the upper y-axis?
+* Question 6.16:: How can I fill a path with a function that defines the
+ color of each location?
+* Question 6.17:: Is there a way to draw a function that is not
+ explicitly given, such as (y - 2)^2 = x - 1 ?
+* Question 6.18:: Is it possible to reverse or stretch an axis?
+* Question 6.19:: Why can't I use the UnFill option to draw graphs with
+ empty markers?
+* Question 6.20:: How can I force several images to use the same palette
+ range (e.g. the entire 0-255 grayscale range)?
+
+Section 7, Questions about programming
+* Question 7.1:: Is Asymptote an interpreter or a compiler?
+* Question 7.2:: What is the difference between a frame and a picture?
+* Question 7.3:: What is the difference between a path and a guide?
+* Question 7.4:: What is a convenient way to declare and initialize an
+ array of pictures?
+* Question 7.5:: Is there a way to define functions that act on arrays
+ in general (i.e. work for arrays of any type)?
+* Question 7.6:: Is there any way to declare structures ahead of their
+ definition, e.g. where struct A performs some
+ operation on struct B, but B contains an A member?
+* Question 7.7:: Where are static variables in for loops allocated?
+* Question 7.8:: Is there a debugger for asy?
+* Question 7.9:: Do you accept patches for Asymptote?
+
+Section 8, Questions about differences between Asymptote and
+ MetaPost
+* Question 8.1:: What is the equivalent of the MetaPost c[a,b]
+ interpolation operator?
+* Question 8.2:: How does picture scaling differ in Asymptote and
+ MetaPost?
+* Question 8.3:: How can I avoid automatic scaling of a picture?
+* Question 8.4:: What is the equivalent of MetaPost ... command?
+* Question 8.5:: What is the equivalent of the MetaPost pickup command?
+* Question 8.6:: What is the equivalent of the MetaPost whatever
+ command?
+* Question 8.7:: What is the equivalent for the MetaPost command for
+ lray - horiz*v - verti*u = whatever*(LightSource - R),
+ a system of three linear equations for three unknowns:
+ horiz, verti, whatever?
+* Question 8.8:: In MetaPost, it is possible to have a drawing remain
+ the same size in different pictures by defining a unit
+ u and explicitly multiply all the coordinates by u. Is
+ there a better way to do this in Asymptote?
+* Question 8.9:: In MetaPost, one could produce tiling pictures by
+ generating a picture, and then clipping the picture to
+ a rectangle of fixed dimensions around the center of
+ the picture. How is that done in Asymptote?
+
+Section 9, Questions about output
+* Question 9.1:: How can I disable automatic invocation of the PS
+ viewer after an asy file is done processing?
+* Question 9.2:: How do I output jpeg images?
+* Question 9.3:: Can I embed bitmaps (photos) into my drawings and
+ position and scale them?
+* Question 9.4:: Does Asymptote support direct PDF output?
+* Question 9.5:: How to I produce large pictures of high quality in
+ raster format (e.g. png, giff etc).
+* Question 9.6:: Is it possible to produce multi-page documents with
+ asymptote?
+
+
+
+File: asy-faq.info, Node: Section 1, Next: Section 2, Previous: Top, Up: Top
+
+About Asymptote
+
+* Menu:
+* Question 1.1:: What is Asymptote?
+* Question 1.2:: How do I obtain Asymptote?
+* Question 1.3:: Where can I ask questions about Asymptote?
+* Question 1.4:: Why was the name Asymptote chosen?
+* Question 1.5:: In the internal Asymptote source code, what does the
+ name camp refer to?
+
+
+
+File: asy-faq.info, Node: Question 1.1, Next: Question 1.2, Previous: Top, Up: Section 1
+
+Question 1.1. What is Asymptote?
+
+Asymptote is a vector graphics language designed for technical graphics,
+inspired by MetaPost but with IEEE floating-point numerics, native
+three-dimensional graphics, Grayscale/RGB/CMYK colourspaces, and a
+C++-like syntax. Unlike MetaPost, it natively supports multiple-segment
+paths (and hence regions other than simply connected ones), tiling
+patterns, Gouraud shading, tensor patch shading, and PostScript images.
+
+
+File: asy-faq.info, Node: Question 1.2, Next: Question 1.3, Previous: Question 1.1, Up: Section 1
+
+Question 1.2. How do I obtain Asymptote?
+
+Binary releases are available for Linux, MacOS X, and Microsoft Windows
+platforms, in addition to full source code, from the website
+http://asymptote.sourceforge.net/. Many Linux distributions (such as
+RedHat and Debian) now include an Asymptote package (check your
+distribution's documentation for further information about this).
+
+
+File: asy-faq.info, Node: Question 1.3, Next: Question 1.4, Previous: Question 1.2, Up: Section 1
+
+Question 1.3. Where can I ask questions about Asymptote?
+
+If you have a question, please try to find an answer in this FAQ, in the
+extensive Asymptote documentation at
+http://asymptote.sourceforge.net/doc/, or search the forum:
+http://sourceforge.net/forum/forum.php?forum_id=409349.
+
+
+File: asy-faq.info, Node: Question 1.4, Next: Question 1.5, Previous: Question 1.3, Up: Section 1
+
+Question 1.4. Why was the name Asymptote chosen?
+
+Well, it isn't the perfect graphics package, but we do think it is getting
+there asymptotically...
+
+
+File: asy-faq.info, Node: Question 1.5, Next: Question 2.1, Previous: Question 1.4, Up: Section 1
+
+Question 1.5. In the internal Asymptote source code, what does the name camp refer to?
+
+That was our original tentative name for this project, which stood for
+"C's Answer to MetaPost" (the language that inspired Asymptote). However,
+we eventually decided that the name Asymptote better emphasizes the
+mathematical and graphical nature of this language.
+
+
+File: asy-faq.info, Node: Section 2, Next: Section 3, Previous: Section 1, Up: Top
+
+Questions about installation and setup
+
+* Menu:
+* Question 2.1:: Is it possible to install Asymptote on Mac OS X?
+* Question 2.2:: Why do I get the error Bad CPU type in executable on
+ installing Asymptote from the MAC OS binary?
+* Question 2.3:: What do I do if I get the error: Error: pdfetex (file
+ pdftex.cfg): cannot open config file...texinfo.tex
+ appears to be broken?
+* Question 2.4:: What do I do if I get the error: ! Undefined control
+ sequence. l.6 @copying?
+* Question 2.5:: Is it possible to integrate Asymptote into LaTeX?
+* Question 2.6:: Is it possible to integrate Asymptote into latex or
+ pdflatex?
+* Question 2.7:: Do I need the tkinter package to install an Asymptote
+ rpm binary?
+* Question 2.8:: What does the path %USERPROFILE%\.asy\config.asy mean?
+* Question 2.9:: Why do I get the error "string not terminated" when I
+ try to set settings.dir="C:\asymptote\";?
+* Question 2.10:: How do I change environment variables in Microsoft
+ Windows, for example, in order to change the default
+ PostScript viewer?
+* Question 2.11:: Under Microsoft Windows XP, why do I get an error like
+ "Invalid Parameter - 432x432"?
+* Question 2.12:: Why does Asymptote freeze upon trying to draw a label
+ with my MikTex installation under Microsoft Windows?
+
+
+
+File: asy-faq.info, Node: Question 2.1, Next: Question 2.2, Previous: Question 1.5, Up: Section 2
+
+Question 2.1. Is it possible to install Asymptote on Mac OS X?
+
+It is easy to compile Asymptote directly from the source code at
+http://sourceforge.net/project/showfiles.php?group_id=120000 We recommend
+first upgrading to the latest GNU readline library, unless you don't care
+about interactive readline support (in which case configure will
+automatically detect and disable obsolete versions of the readline
+library). Marius Schamschula also maintains a binary package for various
+MacOS X platforms
+http://www.hmug.org/pub/MacOS_X/X/Applications/Publishing/asymptote.
+
+
+File: asy-faq.info, Node: Question 2.2, Next: Question 2.3, Previous: Question 2.1, Up: Section 2
+
+Question 2.2. Why do I get the error Bad CPU type in executable on installing Asymptote from the MAC OS binary?
+
+This means either that you have a binary distribution for another MAC
+architecture, or (according to Marius Schamschula) that you may have a
+missing library. The simplest solution is to compile Asymptote directly
+from the official source:
+http://sourceforge.net/project/showfiles.php?group_id=120000.
+
+
+File: asy-faq.info, Node: Question 2.3, Next: Question 2.4, Previous: Question 2.2, Up: Section 2
+
+Question 2.3. What do I do if I get the error: Error: pdfetex (file pdftex.cfg): cannot open config file...texinfo.tex appears to be broken?
+
+Simply put http://asymptote.sourceforge.net/asymptote.pdf in the directory
+doc and repeat the command make all. Or, if you don't want to build a
+local copy of the documentation, simply proceed with make install-asy.
+
+
+File: asy-faq.info, Node: Question 2.4, Next: Question 2.5, Previous: Question 2.3, Up: Section 2
+
+Question 2.4. What do I do if I get the error: ! Undefined control sequence. l.6 @copying?
+
+Either upgrade your texinfo package or follow one of the easy work arounds
+in *Note Question 2.3:: `What do I do if I get the error: Error: pdfetex
+(file pdftex.cfg): cannot open config file...texinfo.tex appears to be
+broken?'.
+
+
+File: asy-faq.info, Node: Question 2.5, Next: Question 2.6, Previous: Question 2.4, Up: Section 2
+
+Question 2.5. Is it possible to integrate Asymptote into LaTeX?
+
+Yes, see the example latexusage.tex. Dario Teixeira has also written a
+detailed guide on the topic. You can download it from
+http://dario.dse.nl/projects/asylatex/.
+
+Philippe Ivaldi has contributed an Asymptote mode for Emacs users
+http://asymptote.sourceforge.net/doc/Editing-modes.html, which includes a
+lasy-mode that allows one to compile and view the output of one
+\begin{asy}...\end{asy} section at a time.
+
+
+File: asy-faq.info, Node: Question 2.6, Next: Question 2.7, Previous: Question 2.5, Up: Section 2
+
+Question 2.6. Is it possible to integrate Asymptote into latex or pdflatex?
+
+Yes, as of version 1.14, Asymptote supports latex and pdflatex (both in
+EPS/PDF and inline mode), as illustrated by the example latexusage.tex:
+
+pdflatex latexusage
+asy latexusage
+pdflatex latexusage
+
+File: asy-faq.info, Node: Question 2.7, Next: Question 2.8, Previous: Question 2.6, Up: Section 2
+
+Question 2.7. Do I need the tkinter package to install an Asymptote rpm binary?
+
+No, you don't need tkinter unless you want to try out the GUI xasy. Try
+
+rpm -Uvh --nodeps asymptote-x.xx-1.i386.rpm
+where x.xx represents the version number.
+
+
+File: asy-faq.info, Node: Question 2.8, Next: Question 2.9, Previous: Question 2.7, Up: Section 2
+
+Question 2.8. What does the path %USERPROFILE%\.asy\config.asy mean?
+
+That is the way that Microsoft Windows refers to the user profile
+directory. There's nothing really to understand here, just put your
+configuration commands in the file config.asy in a new folder
+%USERPROFILE%\.asy.
+
+
+File: asy-faq.info, Node: Question 2.9, Next: Question 2.10, Previous: Question 2.8, Up: Section 2
+
+Question 2.9. Why do I get the error "string not terminated" when I try to set settings.dir="C:\asymptote\";?
+
+The backslash is an escape character here, so \" is interpreted as a
+verbatim quotation mark, leaving the string without a terminating
+quotation mark. Fortunately, this is the only escaped character in
+double-quoted strings. A final backslash isn't needed here anyway, but
+should you really want one somewhere, you can say:
+settings.dir="C:\asymptote"+'\\';.
+
+
+File: asy-faq.info, Node: Question 2.10, Next: Question 2.11, Previous: Question 2.9, Up: Section 2
+
+Question 2.10. How do I change environment variables in Microsoft Windows, for example, in order to change the default PostScript viewer?
+
+While it is easier to set the corresponding Asymptote configuration
+variable in your config.asy file, here is the procedure for changing
+Microsoft Windows environment variables:
+
+Click on the [Start] button
+
+* RIGHT-click on 'My Computer'
+
+* Choose 'Properties' from the popup menu
+
+* Click the 'Advanced' tab
+
+* Click the 'Environment Variables' button.
+
+
+File: asy-faq.info, Node: Question 2.11, Next: Question 2.12, Previous: Question 2.10, Up: Section 2
+
+Question 2.11. Under Microsoft Windows XP, why do I get an error like "Invalid Parameter - 432x432"?
+
+This means that ImageMagick wasn't properly installed and you are using
+the MSDOS convert program rather than the ImageMagick one. Or you may have
+installed ImageMagick but ran Asymptote from an existing MSDOS window. In
+that case, simply open a new window and try again. If that doesn't work,
+check that
+
+convert --version
+returns something like
+
+Version: ImageMagick 6.2.8 06/27/06 Q16 http://www.imagemagick.org
+
+File: asy-faq.info, Node: Question 2.12, Next: Question 3.1, Previous: Question 2.11, Up: Section 2
+
+Question 2.12. Why does Asymptote freeze upon trying to draw a label with my MikTex installation under Microsoft Windows?
+
+Likely, this means that latex and dvips are not in your default path. Try
+adding the appropriate paths in your config.asy file, for example:
+
+import settings;
+latex="C:\Program Files\MiKTeX 2.7\miktex\bin\latex.exe";
+dvips="C:\Program Files\MiKTeX 2.7\miktex\bin\dvips.exe";
+
+File: asy-faq.info, Node: Section 3, Next: Section 4, Previous: Section 2, Up: Top
+
+Questions about paths
+
+* Menu:
+* Question 3.1:: Why do I get a syntax error message when I specify an
+ integer value for the path tension?
+* Question 3.2:: Shouldn't dots always be the same size?
+
+
+
+File: asy-faq.info, Node: Question 3.1, Next: Question 3.2, Previous: Question 2.12, Up: Section 3
+
+Question 3.1. Why do I get a syntax error message when I specify an integer value for the path tension?
+
+What is happening here is that
+
+draw((0,0)..tension 2..(0,50)..(100,100));
+is read as
+
+draw((0,0)..tension 2. .(0,50)..(100,100));
+So the first . after the two is treated as a decimal point. Just put a
+space after the integer tension value:
+
+draw((0,0)..tension 2 ..(0,50)..(100,100));
+
+File: asy-faq.info, Node: Question 3.2, Next: Question 4.1, Previous: Question 3.1, Up: Section 3
+
+Question 3.2. Shouldn't dots always be the same size?
+
+From the documentation:
+
+"The dot command defined in the module plain draws a dot having a diameter
+equal to an explicit pen linewidth or the default linewidth magnified by
+dotfactor (6 by default)."
+
+Thus, when you use the default pen, the dot will have size 6*linewidth,
+but when you give a pen with an explicit width specified, you will have a
+dot of size linewidth. If you want the first case to behave like the
+second, you may set dotfactor=1.
+
+
+File: asy-faq.info, Node: Section 4, Next: Section 5, Previous: Section 3, Up: Top
+
+Questions about labels
+
+* Menu:
+* Question 4.1:: How do I get Greek letters like omega to show up in my
+ labels?
+* Question 4.2:: Can Asymptote use matrices as labels?
+* Question 4.3:: How do I tell Asymptote to load a particular LaTeX
+ package, like mathptmx?
+* Question 4.4:: How can I use international fonts in Asymptote labels?
+* Question 4.5:: How can I use Fourier fonts?
+* Question 4.6:: Is there any way to change the default appearance of
+ the decimal separator, using a comma instead of a dot?
+* Question 4.7:: How can I get a rotated label with the filled box
+ rotated as well so that it fits the text?
+* Question 4.8:: How can I rotate labels in a 3D figure?
+* Question 4.9:: How can I draw some squares and circles of a fixed
+ size and put a label in the middle of them?
+* Question 4.10:: The binary operator * can be used to scale the color
+ of a pen by a real number. Does this scaling factor
+ have to be less than 1?
+* Question 4.11:: Why is the space after the comma decimal separator in
+ my locale so large?
+* Question 4.12:: How can I prevent
+ texpreamble("\usepackage[pdftex]{hyperref}") from
+ changing the page size?
+
+
+
+File: asy-faq.info, Node: Question 4.1, Next: Question 4.2, Previous: Question 3.2, Up: Section 4
+
+Question 4.1. How do I get Greek letters like omega to show up in my labels?
+
+In (La)TeX, Greek letters can be obtained in math mode by prepending a
+backslash to the letter name. So for a omega symbol, use "$\omega$".
+Everything between the dollar signs is considered to be a math formula.
+Uppercase Greek letters can be used by capitalizing the first letter of
+the name:
+
+label("$\omega$",(0,0));
+label("$\Omega$",(20,0));
+
+File: asy-faq.info, Node: Question 4.2, Next: Question 4.3, Previous: Question 4.1, Up: Section 4
+
+Question 4.2. Can Asymptote use matrices as labels?
+
+Yes:
+usepackage("amsmath");
+label("$\begin{matrix} 1 & 2 \\\ 1 & 1 \end{matrix}$",(0,0));
+
+File: asy-faq.info, Node: Question 4.3, Next: Question 4.4, Previous: Question 4.2, Up: Section 4
+
+Question 4.3. How do I tell Asymptote to load a particular LaTeX package, like mathptmx?
+
+Put
+
+usepackage("mathptmx");
+at the beginning of your file. Note: to enable the Adobe Times Roman font
+for text, you will also need to say:
+defaultpen(TimesRoman());
+
+File: asy-faq.info, Node: Question 4.4, Next: Question 4.5, Previous: Question 4.3, Up: Section 4
+
+Question 4.4. How can I use international fonts in Asymptote labels?
+
+See http://asymptote.sourceforge.net/doc/unicode.html.
+
+
+File: asy-faq.info, Node: Question 4.5, Next: Question 4.6, Previous: Question 4.4, Up: Section 4
+
+Question 4.5. How can I use Fourier fonts?
+
+usepackage("fourier");
+defaultpen(font("T1","fut\textfamilyextension","m","n"));
+
+File: asy-faq.info, Node: Question 4.6, Next: Question 4.7, Previous: Question 4.5, Up: Section 4
+
+Question 4.6. Is there any way to change the default appearance of the decimal separator, using a comma instead of a dot?
+
+Just set your locale appropriately:
+
+locale("it_IT");
+usepackage("icomma");
+label(format(0.5));
+
+File: asy-faq.info, Node: Question 4.7, Next: Question 4.8, Previous: Question 4.6, Up: Section 4
+
+Question 4.7. How can I get a rotated label with the filled box rotated as well so that it fits the text?
+
+frame f;
+label(f,"This is some text",white,Fill(blue));
+add(rotate(65)*f);
+
+File: asy-faq.info, Node: Question 4.8, Next: Question 4.9, Previous: Question 4.7, Up: Section 4
+
+Question 4.8. How can I rotate labels in a 3D figure?
+
+You need to first project the triple to a pair like this:
+
+import three;
+size(100,100);
+
+draw(rotate(90,project(Z))*"A",O--X);
+
+File: asy-faq.info, Node: Question 4.9, Next: Question 4.10, Previous: Question 4.8, Up: Section 4
+
+Question 4.9. How can I draw some squares and circles of a fixed size and put a label in the middle of them?
+
+Fixed-size objects should be drawn on a separate picture and then added to
+currentpicture. Here is one way (see also
+http://asymptote.sourceforge.net/gallery/subpictures.asy and
+http://asymptote.sourceforge.net/gallery/mosquito.asy):
+
+real u=2cm;
+
+picture square;
+draw(square,scale(u)*shift(-0.5,-0.5)*unitsquare);
+
+picture circle;
+draw(circle,scale(0.5u)*unitcircle);
+
+void add(picture pic=currentpicture, Label L, picture object, pair z) {
+add(pic,object,z);
+label(pic,L,z);
+}
+
+add("square",square,(0,0));
+add("circle",circle,(5cm,0));
+
+File: asy-faq.info, Node: Question 4.10, Next: Question 4.11, Previous: Question 4.9, Up: Section 4
+
+Question 4.10. The binary operator * can be used to scale the color of a pen by a real number. Does this scaling factor have to be less than 1?
+
+The scaling factor can be greater than 1. But keep in mind that the rgb
+color components saturate at 1.
+
+Try
+write(cyan); write(0.8*cyan); write(1.5*cyan);
+and you will quickly see what is going on.
+
+To get a lighter cyan you can say white+cyan, which yields rgb(0.5,1,1).
+If you want something even lighter specify the rgb colors directly, for
+example, rgb(0.9,1,1).
+
+Alternatively, work in cmyk colour space, which is nicer in that it
+handles saturation separately from hue:
+
+0.1*Cyan is light and 0.9*Cyan is dark. You can also say 0.1*cmyk(red).
+
+
+File: asy-faq.info, Node: Question 4.11, Next: Question 4.12, Previous: Question 4.10, Up: Section 4
+
+Question 4.11. Why is the space after the comma decimal separator in my locale so large?
+
+LaTeX is treating the comma as punctuation and not as a decimal separator.
+The solution is to load the icomma package near the beginning of your
+file:
+usepackage("icomma");
+
+File: asy-faq.info, Node: Question 4.12, Next: Question 5.1, Previous: Question 4.11, Up: Section 4
+
+Question 4.12. How can I prevent texpreamble("\usepackage[pdftex]{hyperref}") from changing the page size?
+
+texpreamble("\usepackage[pdftex,setpagesize=false]{hyperref}");
+
+File: asy-faq.info, Node: Section 5, Next: Section 6, Previous: Section 4, Up: Top
+
+Questions about arrows
+
+* Menu:
+* Question 5.1:: How do I draw two arrows at arbitrary positions along
+ a path?
+* Question 5.2:: How do I reverse the direction of an arrowhead?
+* Question 5.3:: How do I change the size of all arrows?
+* Question 5.4:: Can I create other arrowhead styles?
+
+
+
+File: asy-faq.info, Node: Question 5.1, Next: Question 5.2, Previous: Question 4.12, Up: Section 5
+
+Question 5.1. How do I draw two arrows at arbitrary positions along a path?
+
+Assuming that at least one of the arrowheads is to be filled, you can do
+this:
+
+size(200);
+path g = (0,0)..(1,3)..(3,0);
+draw(g,Arrow(Relative(0.9)));
+add(arrow(g,invisible,FillDraw(black),Relative(0.5)));
+add(arrow(reverse(g),invisible,FillDraw(white,black),Relative(0.9)));
+If both of the arrowheads are to be drawn with filltype NoFill, one will
+need to create a specialized version of the arrow routine in
+plain_arrows.asy:
+
+void arrow(frame f, arrowhead arrowhead=DefaultHead,
+ path g, pen p=currentpen, real size=0,
+ real angle=arrowangle, filltype filltype=arrowhead.defaultfilltype,
+ position position=EndPoint, bool forwards=true,
+ margin margin=NoMargin, bool center=false);
+
+File: asy-faq.info, Node: Question 5.2, Next: Question 5.3, Previous: Question 5.1, Up: Section 5
+
+Question 5.2. How do I reverse the direction of an arrowhead?
+
+Simply reverse the direction of the path.
+
+path g=((0,0)--(5cm,0));
+draw(reverse(g),Arrow(Relative(0.55)));
+
+File: asy-faq.info, Node: Question 5.3, Next: Question 5.4, Previous: Question 5.2, Up: Section 5
+
+Question 5.3. How do I change the size of all arrows?
+
+To override the arrowsize you can give every Arrow drawing attribute a
+real size argument. If you want to do this globally, you can override the
+pen-dependent arrowsize function like this:
+
+arrowsize=new real(pen p=currentpen) {return 2mm;};
+
+File: asy-faq.info, Node: Question 5.4, Next: Question 6.1, Previous: Question 5.3, Up: Section 5
+
+Question 5.4. Can I create other arrowhead styles?
+
+Yes, you can build custom arrowheads like this (see the predefined
+arrowhead styles in plain_arrows.asy for further examples):
+
+arrowhead DotHead;
+DotHead.head=new path(path g, position position=EndPoint, pen p=currentpen,
+ real size=0, real angle=arrowangle) {
+ if(size == 0) size=DotHead.size(p);
+ bool relative=position.relative;
+ real position=position.position.x;
+ if(relative) position=reltime(g,position);
+ path r=subpath(g,position,0);
+ pair x=point(r,0);
+ real t=arctime(r,size);
+ pair y=point(r,t);
+ return circle(0.5(x+y),0.5size);
+};
+
+size(100);
+draw((0,0)..(1,1)..(2,0),Arrow(DotHead));
+dot((2,0),red);
+If you submit your alternate arrowheads to the Forum or the Patch
+Tracking System, we'll consider including them in a future release.
+
+
+File: asy-faq.info, Node: Section 6, Next: Section 7, Previous: Section 5, Up: Top
+
+Questions about 2D graphs
+
+* Menu:
+* Question 6.1:: How can I draw x axis ticks on the right side, with
+ the tick labels on the left side (relative to the axis
+ path)?
+* Question 6.2:: How can I reposition the x axis label to
+ three-quarters along the axis length?
+* Question 6.3:: How can I move the x axis label down 10bp?
+* Question 6.4:: Can I use different pens for the axis, the axis label,
+ and the tick labels?
+* Question 6.5:: How can I change the font type of the axes label?
+* Question 6.6:: How can I change the font type of the tick labels on
+ an axis?
+* Question 6.7:: How can I prevent axes tick labels from rendering on
+ top of each other?
+* Question 6.8:: How do I make the plot region of a graph, ignoring
+ labels and legends, have a fixed size?
+* Question 6.9:: How can I plot a function f(x) within [0,1]x[0,2]
+ without explicitly calculating the x values for which
+ f(x) hits the boundary?
+* Question 6.10:: Is it possible to define customized palettes?
+* Question 6.11:: Is there an easy way to graph factorial functions
+ nicely?
+* Question 6.12:: How do I indicate that a certain length should be
+ exactly the size I prescribe with no rescaling, within
+ a picture which has its own size?
+* Question 6.13:: How can I make the y axis display base-2 logarithmic
+ values?
+* Question 6.14:: How can I align the x axes of two graphs on the same
+ figure?
+* Question 6.15:: How can I change the direction of the y-axis, such
+ that negatives values are on the upper y-axis?
+* Question 6.16:: How can I fill a path with a function that defines the
+ color of each location?
+* Question 6.17:: Is there a way to draw a function that is not
+ explicitly given, such as (y - 2)^2 = x - 1 ?
+* Question 6.18:: Is it possible to reverse or stretch an axis?
+* Question 6.19:: Why can't I use the UnFill option to draw graphs with
+ empty markers?
+* Question 6.20:: How can I force several images to use the same palette
+ range (e.g. the entire 0-255 grayscale range)?
+
+
+
+File: asy-faq.info, Node: Question 6.1, Next: Question 6.2, Previous: Question 5.4, Up: Section 6
+
+Question 6.1. How can I draw x axis ticks on the right side, with the tick labels on the left side (relative to the axis path)?
+
+import graph;
+
+size(250,200,IgnoreAspect);
+
+draw(graph(exp,-1,1),red);
+
+xaxis("$x$",RightTicks(Label(align=left)));
+yaxis("$y$",RightTicks);
+
+File: asy-faq.info, Node: Question 6.2, Next: Question 6.3, Previous: Question 6.1, Up: Section 6
+
+Question 6.2. How can I reposition the x axis label to three-quarters along the axis length?
+
+import graph;
+
+size(250,200,IgnoreAspect);
+
+draw(graph(exp,-1,1),red);
+
+xaxis(Label("$x$",0.75),LeftTicks);
+yaxis("$y$",RightTicks);
+
+File: asy-faq.info, Node: Question 6.3, Next: Question 6.4, Previous: Question 6.2, Up: Section 6
+
+Question 6.3. How can I move the x axis label down 10bp?
+
+import graph;
+size(250,200,IgnoreAspect);
+
+draw(graph(exp,-1,1),red);
+
+xaxis(shift(0,-10)*"$x$",LeftTicks);
+yaxis("$y$",RightTicks);
+
+File: asy-faq.info, Node: Question 6.4, Next: Question 6.5, Previous: Question 6.3, Up: Section 6
+
+Question 6.4. Can I use different pens for the axis, the axis label, and the tick labels?
+
+Yes:
+
+import graph;
+size(300,200,IgnoreAspect);
+
+xlimits(-50,50);
+ylimits(0,100);
+
+xaxis(Label("$x$",MidPoint,red),Bottom,blue,LeftTicks(green));
+yaxis("$y$",Left,RightTicks);
+
+File: asy-faq.info, Node: Question 6.5, Next: Question 6.6, Previous: Question 6.4, Up: Section 6
+
+Question 6.5. How can I change the font type of the axes label?
+
+import graph;
+size(300,200,IgnoreAspect);
+
+xlimits(-50,50);
+ylimits(0,100);
+
+xaxis("x",Bottom,Courier("m","n"),LeftTicks);
+yaxis("$y$",Left,RightTicks);
+
+File: asy-faq.info, Node: Question 6.6, Next: Question 6.7, Previous: Question 6.5, Up: Section 6
+
+Question 6.6. How can I change the font type of the tick labels on an axis?
+
+Tick labels are by default typeset in (TeX) math mode, so to use other
+fonts you need to override the default tick format:
+
+import graph;
+size(300,200,IgnoreAspect);
+
+xlimits(-50,50);
+ylimits(0,100);
+
+xaxis("$x$",Bottom,LeftTicks("%.4g",Courier("m","n")+fontsize(12)));
+yaxis("$y$",Left,RightTicks);
+
+File: asy-faq.info, Node: Question 6.7, Next: Question 6.8, Previous: Question 6.6, Up: Section 6
+
+Question 6.7. How can I prevent axes tick labels from rendering on top of each other?
+
+Either:
+
+(i) give LeftTicks/RightTicks/Ticks the arguments beginlabel=false and/or
+endlabel=false;
+
+(ii) explicitly remove specific ticks and their labels (drawing them
+manually; see
+http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/base/graph.asy
+for the definition of NoZero):
+
+import graph;
+
+size(10cm);
+
+real f(real x) {return x^2;}
+
+draw(graph(f,-2,2));
+
+xaxis(Ticks(NoZero));
+yaxis(Ticks(NoZero));
+
+label("$0$",(0,0),SW);
+(iii) explicitly remove specific tick labels and draw them manually (see
+http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/base/graph.asy
+for the definition of NoZeroFormat):
+
+import graph;
+
+size(10cm);
+
+real f(real x) {return x^2;}
+
+draw(graph(f,-2,2));
+
+xaxis(Ticks(NoZeroFormat));
+yaxis(Ticks(NoZeroFormat));
+
+label("$0$",(0,0),SW);
+(iv) use the xasy GUI to move overlapping labels;
+
+(v) change the Label argument of LeftTicks, RightTicks, or Ticks to:
+
+Label(currentpen+overwrite(Move))
+Solution (v) will move labels that might otherwise overwrite a previous
+label. Other possible overwrite arguments are Allow (allows overlapping
+labels; the default), Suppress (an overlapping label will not be written
+at all), SuppressQuiet, and MoveQuiet. The last two achieve the same
+result as the non-quiet types, but will not notify you which labels are
+overlapping. See: http://asymptote.sourceforge.net/doc/Pens.html.
+
+In the case of a user-specified tick array, you can change which labels
+get suppressed/moved by changing the order of array entries.
+
+
+File: asy-faq.info, Node: Question 6.8, Next: Question 6.9, Previous: Question 6.7, Up: Section 6
+
+Question 6.8. How do I make the plot region of a graph, ignoring labels and legends, have a fixed size?
+
+Either:
+
+i) Specify an explicit unitsize, which overrides any call to size:
+unitsize(x=1cm,y=2cm);
+ii) Explicitly tell Asymptote to map the plot region to a specific size:
+import graph;
+real[] x={0,1,2,3};
+real[] y=x^2;
+draw(graph(x,y),red);
+xaxis("$x$",BottomTop,LeftTicks);
+yaxis("$y$",LeftRight,RightTicks);
+
+size(5cm,5cm,point(SW),point(NE));
+
+label("$f_\mathrm{T}$",point(N),2N);
+iii) Specify the points in user coordinates that should correspond to a
+given picture size:
+
+import graph;
+
+size(250,200,IgnoreAspect);
+
+draw(graph(exp,-1,1),red);
+
+xaxis("$x$",BottomTop,LeftTicks);
+yaxis("$y$",LeftRight,RightTicks);
+
+fixedscaling((-1.5,-0.5),(1.5,3.5));
+In this example, the user coordinate (-1.5,-0.5) will end up being the
+lower left corner of the figure and (1.5,3.5) will be the upper right
+corner. You can use this option to ensure multiple figures have the same
+scaling and same resulting figure size (just ensure the two coordinates
+given to fixedscaling() leaves room for any labels).
+
+See also http://asymptote.sourceforge.net/doc/Frames-and-pictures.html.
+
+
+File: asy-faq.info, Node: Question 6.9, Next: Question 6.10, Previous: Question 6.8, Up: Section 6
+
+Question 6.9. How can I plot a function f(x) within [0,1]x[0,2] without explicitly calculating the x values for which f(x) hits the boundary?
+
+Call limits with the Crop option before drawing the graph:
+import graph;
+
+size(250,200,IgnoreAspect);
+
+draw(graph(exp,-1,1),red);
+
+limits((0,0),(1,2),Crop);
+
+xaxis("$x$",BottomTop,LeftTicks);
+yaxis("$y$",LeftRight,RightTicks);
+See also http://asymptote.sourceforge.net/doc/graph.html.
+
+
+File: asy-faq.info, Node: Question 6.10, Next: Question 6.11, Previous: Question 6.9, Up: Section 6
+
+Question 6.10. Is it possible to define customized palettes?
+
+Yes, you may generate your own pen[] array. For example:
+
+int NColors=32768;
+pen[] MyPalette=new pen[NColors];
+real step=1/(NColors-1.0);
+// Start at black: rgb(0,0,0)
+// End at yellow: rgb(1,1,0)
+for(int i=0; i < NColors; ++i) {
+ real rgval=i*step;
+ MyPalette[i]=rgb(rgval,rgval,0.0);
+}
+
+File: asy-faq.info, Node: Question 6.11, Next: Question 6.12, Previous: Question 6.10, Up: Section 6
+
+Question 6.11. Is there an easy way to graph factorial functions nicely?
+
+The example below shows a continuous function and two methods for placing
+markers at integer values of x:
+
+import graph;
+
+size(200,200,IgnoreAspect);
+
+real factorial(real t) {return gamma(t+1);}
+
+scale(Linear,Log);
+
+// Graph the factorial function.
+draw(graph(factorial,0,10));
+
+// Method 1: Draw nodes, but hide line
+pair F(int t) {return (t,factorial(t));}
+// Graph of factorial function from 0 to 10
+pair[] z=sequence(F,11);
+draw(graph(z),invisible,marker(scale(0.8mm)*unitcircle,blue,Fill));
+
+// Method 2: Nongraphing routines require explicit scaling:
+pair dotloc(int t) {return Scale(F(t));}
+pair[] dotlocs=sequence(dotloc,11);
+dot(dotlocs);
+
+xaxis("$x$",BottomTop,LeftTicks);
+yaxis("$y$",LeftRight,RightTicks);
+
+File: asy-faq.info, Node: Question 6.12, Next: Question 6.13, Previous: Question 6.11, Up: Section 6
+
+Question 6.12. How do I indicate that a certain length should be exactly the size I prescribe with no rescaling, within a picture which has its own size?
+
+Here's an easy way to do this.
+
+size(12cm,0);
+
+void distance(picture pic=currentpicture, pair A, pair B, Label L="", real n=0,
+ pen p=currentpen)
+{
+ real d=3mm;
+ path g=A--B;
+ transform T=shift(-n*d*unit(B-A)*I);
+ pic.add(new void(frame f, transform t) {
+ picture opic;
+ path G=T*t*g;
+ draw(opic,Label(L,Center,UnFill(1)),G,p,Arrows(NoFill),Bars,PenMargins);
+ add(f,opic.fit());
+ });
+ pic.addBox(min(g),max(g),T*min(p),T*max(p));
+}
+
+pair A=(0,0), B=(3,3);
+
+dot(A);
+dot(B);
+
+distance(A,B,"$\ell$",1);
+
+File: asy-faq.info, Node: Question 6.13, Next: Question 6.14, Previous: Question 6.12, Up: Section 6
+
+Question 6.13. How can I make the y axis display base-2 logarithmic values?
+
+See the example http://asymptote.sourceforge.net/gallery/2D
+graphs/log2graph.asy.
+
+
+File: asy-faq.info, Node: Question 6.14, Next: Question 6.15, Previous: Question 6.13, Up: Section 6
+
+Question 6.14. How can I align the x axes of two graphs on the same figure?
+
+An easy way to do this, if the axes to be aligned have the same scaling
+and size, is illustrated in the example
+http://asymptote.sourceforge.net/gallery/2D graphs/alignedaxis.asy.
+
+Here is a more general solution to the problem of aligning two arbitrary
+axes. One fits the second picture to a frame based on the horizontal
+scaling for the first picture:
+
+import graph;
+
+real width=15cm;
+real aspect=0.3;
+
+picture pic1,pic2;
+
+size(pic1,width,aspect*width,IgnoreAspect);
+size(pic2,width,aspect*width,IgnoreAspect);
+
+scale(pic1,false);
+scale(pic2,false);
+
+real xmin1=6;
+real xmax1=9;
+real xmin2=8;
+real xmax2=16;
+
+real a1=1;
+real a2=0.001;
+
+real f1(real x) {return a1*sin(x/2*pi);}
+real f2(real x) {return a2*sin(x/4*pi);}
+
+draw(pic1,graph(pic1,f1,xmin1,xmax1));
+draw(pic2,graph(pic2,f2,xmin2,xmax2));
+
+xaxis(pic1,Bottom,LeftTicks());
+yaxis(pic1,"$f_1(x)$",Left,RightTicks);
+
+xaxis(pic2,"$x$",Bottom,LeftTicks(Step=4));
+yaxis(pic2,"$f_2(x)$",Left,RightTicks);
+
+yequals(pic1,0,Dotted);
+yequals(pic2,0,Dotted);
+
+pair min1=point(pic1,SW);
+pair max1=point(pic1,NE);
+
+pair min2=point(pic2,SW);
+pair max2=point(pic2,NE);
+
+real scale=(max1.x-min1.x)/(max2.x-min2.x);
+real shift=min1.x/scale-min2.x;
+
+transform t1=pic1.calculateTransform();
+transform t2=pic2.calculateTransform();
+transform T=xscale(scale*t1.xx)*yscale(t2.yy);
+
+add(pic1.fit());
+real height=truepoint(N,user=false).y-truepoint(S,user=false).y;
+add(shift(0,-height)*(shift(shift)*pic2).fit(T));
+
+File: asy-faq.info, Node: Question 6.15, Next: Question 6.16, Previous: Question 6.14, Up: Section 6
+
+Question 6.15. How can I change the direction of the y-axis, such that negatives values are on the upper y-axis?
+
+Here is a simple example (see also the example
+http://asymptote.sourceforge.net/gallery/2D graphs/diatom.asy or the
+discussion of Linear(-1) in the documentation):
+
+import graph;
+size(250,200,IgnoreAspect);
+
+scale(Linear,Linear(-1));
+
+draw(graph(log,0.1,10),red);
+
+xaxis("$x$",LeftTicks);
+yaxis("$y$",RightTicks);
+
+File: asy-faq.info, Node: Question 6.16, Next: Question 6.17, Previous: Question 6.15, Up: Section 6
+
+Question 6.16. How can I fill a path with a function that defines the color of each location?
+
+Use functionshade with a PDF tex engine, as illustrated by the example
+{functionshading.asy}.
+
+If you want to produce PostScript output, an approximate solution for now
+would be to superimpose a fine grid and specify colors to latticeshade
+that depend on position as a single pen[][] lattice. Alternatively, it may
+be more efficient to use tensorshade}.
+
+
+File: asy-faq.info, Node: Question 6.17, Next: Question 6.18, Previous: Question 6.16, Up: Section 6
+
+Question 6.17. Is there a way to draw a function that is not explicitly given, such as (y - 2)^2 = x - 1 ?
+
+Yes, use the parametric form
+
+y=t
+x=(t-2)^2+1
+See the example http://asymptote.sourceforge.net/gallery/2D
+graphs/parametricgraph.asy.
+
+
+File: asy-faq.info, Node: Question 6.18, Next: Question 6.19, Previous: Question 6.17, Up: Section 6
+
+Question 6.18. Is it possible to reverse or stretch an axis?
+
+The real scaling argument to Linear is used to stretch (or reverse) the
+axis. To see the effect of axis stretching, be sure not to specify
+IgnoreAspect in the picture size command.
+
+A secondary axis has the same length as the primary axis, so stretching
+cannot have any effect. But one can still reverse the axis, with
+Linear(-1).
+
+
+File: asy-faq.info, Node: Question 6.19, Next: Question 6.20, Previous: Question 6.18, Up: Section 6
+
+Question 6.19. Why can't I use the UnFill option to draw graphs with empty markers?
+
+UnFill won't work here because it only affects the local frame the markers
+are initially drawn on, before being added to currentpicture. Here is a
+way of achieving the desired effect (assuming a white background):
+
+import graph;
+size(10cm,0);
+pair[] z={(0,0),(0.5,0.5),(1,1)};
+path g=graph(z);
+
+draw(shift(0,.5)*g,marker(scale(5)*unitcircle,FillDraw(white)));
+
+xaxis(BottomTop,LeftTicks);
+yaxis(LeftRight,RightTicks);
+
+File: asy-faq.info, Node: Question 6.20, Next: Question 7.1, Previous: Question 6.19, Up: Section 6
+
+Question 6.20. How can I force several images to use the same palette range (e.g. the entire 0-255 grayscale range)?
+
+The palette color space corresponds to a range of values specified by the
+argument range, which can be Full, Automatic or an explicit range
+Range(pair min, pair max). Here Full} specifies a range varying from the
+minimum to maximum values of the function over the sampling interval,
+while Automatic selects "nice" limits.
+
+
+File: asy-faq.info, Node: Section 7, Next: Section 8, Previous: Section 6, Up: Top
+
+Questions about programming
+
+* Menu:
+* Question 7.1:: Is Asymptote an interpreter or a compiler?
+* Question 7.2:: What is the difference between a frame and a picture?
+* Question 7.3:: What is the difference between a path and a guide?
+* Question 7.4:: What is a convenient way to declare and initialize an
+ array of pictures?
+* Question 7.5:: Is there a way to define functions that act on arrays
+ in general (i.e. work for arrays of any type)?
+* Question 7.6:: Is there any way to declare structures ahead of their
+ definition, e.g. where struct A performs some
+ operation on struct B, but B contains an A member?
+* Question 7.7:: Where are static variables in for loops allocated?
+* Question 7.8:: Is there a debugger for asy?
+* Question 7.9:: Do you accept patches for Asymptote?
+
+
+
+File: asy-faq.info, Node: Question 7.1, Next: Question 7.2, Previous: Question 6.20, Up: Section 7
+
+Question 7.1. Is Asymptote an interpreter or a compiler?
+
+Asymptote compiles Asymptote commands into its own virtual machine code.
+It then runs this pseudocode on a virtual machine to produce PostScript
+code.
+
+
+File: asy-faq.info, Node: Question 7.2, Next: Question 7.3, Previous: Question 7.1, Up: Section 7
+
+Question 7.2. What is the difference between a frame and a picture?
+
+Frames are canvases for drawing in PostScript coordinates. While working
+with frames directly is occasionally necessary for constructing deferred
+drawing routines, pictures are usually more convenient to work with. See
+*Note Question 8.8:: `In MetaPost, it is possible to have a drawing remain
+the same size in different pictures by defining a unit u and explicitly
+multiply all the coordinates by u. Is there a better way to do this in
+Asymptote?'.
+
+
+File: asy-faq.info, Node: Question 7.3, Next: Question 7.4, Previous: Question 7.2, Up: Section 7
+
+Question 7.3. What is the difference between a path and a guide?
+
+A path is a cubic spline with fixed endpoint conditions.
+
+A guide is an unresolved cubic spline (list of cubic-spline nodes and
+control points). A guide is like a path except that the computation of the
+cubic spline is deferred until drawing time (when it is resolved into a
+path); this allows two guides with free endpoint conditions to be joined
+together smoothly.
+
+
+File: asy-faq.info, Node: Question 7.4, Next: Question 7.5, Previous: Question 7.3, Up: Section 7
+
+Question 7.4. What is a convenient way to declare and initialize an array of pictures?
+
+You could write yourself a routine such as:
+picture[] picture(int n) {
+ picture[] pic;
+ for(int i=0; i < n; ++i) {
+ pic[i]=new picture;
+ size(pic[i],19cm,0);
+ }
+ return pic;
+}
+
+picture[] pic=picture(6);
+
+File: asy-faq.info, Node: Question 7.5, Next: Question 7.6, Previous: Question 7.4, Up: Section 7
+
+Question 7.5. Is there a way to define functions that act on arrays in general (i.e. work for arrays of any type)?
+
+Generic types aren't yet implemented.
+
+But for now you can at least say
+typedef string T;
+include F;
+
+typedef real T;
+include F;
+where F.asy contains some type-dependent code like
+T[] operator $(T A, T B) {return new T[] {A,B};}
+
+File: asy-faq.info, Node: Question 7.6, Next: Question 7.7, Previous: Question 7.5, Up: Section 7
+
+Question 7.6. Is there any way to declare structures ahead of their definition, e.g. where struct A performs some operation on struct B, but B contains an A member?
+
+Asymptote does not support forward declaration of types. You can, however,
+nest structures, so that both types are visible for parts of the bodies of
+both structure definitions. For example:
+
+struct B {
+ typedef void someroutine(B b);
+
+ static struct A {
+ someroutine routine;
+ void operator init(someroutine routine) {
+ this.routine=routine;
+ }
+ }
+
+ string test="Testing";
+}
+
+typedef B.A A;
+
+A a=B.A(new void(B b){write(b.test);});
+
+B b;
+a.routine(b);
+
+File: asy-faq.info, Node: Question 7.7, Next: Question 7.8, Previous: Question 7.6, Up: Section 7
+
+Question 7.7. Where are static variables in for loops allocated?
+
+In the example
+
+void f() {
+ for(int i=0; i < 3; ++i) {
+ static int n;
+ ++n;
+ write(n);
+ }
+}
+
+f(); // Writes 1, 2, 3
+the static qualifier means that n is allocated not just outside of the for
+loop, but also outside the function. This is clear if you call f multiple
+times; there is still only one instance of n.
+
+The "level" of a variable (where it is allocated) has nothing to do with
+the "scope" of a variable (how long it can be referred to by name). The
+curly braces enclosing a block affect only a variable's scope, not its
+level.
+
+Static modifiers are meaningless at the top level; they generate a warning
+and are simply ignored:
+
+for(int i=0; i < 3; ++i) {
+ static int n;
+ ++n;
+ write(n);
+}
+// Writes warning about top-level static modifier and then 1, 1, 1
+Since version 1.22, non-static variables allocated in a loop body are
+allocated anew every iteration. This is only noticable in obscure cases
+where a variable in a loop is accessed in the closure of a function
+defined in the loop:
+
+int f();
+
+for(int i=0; i < 10; ++i) {
+ int j=10*i;
+ if(i == 5)
+ f=new int() {return j;};
+}
+
+write(f()); // Writes 50
+Variables in the body of a loop last as long as that iteration of the
+loop, unless they are kept alive by a function closure as in the example
+above. In a function body, variables will last at least as long as the
+function call, though because of closures and garbage collection, they may
+last longer than that. If defined at the top level of a file or at the
+interactive prompt, they will last at least until the end of the file or
+prompt's run.
+
+
+File: asy-faq.info, Node: Question 7.8, Next: Question 7.9, Previous: Question 7.7, Up: Section 7
+
+Question 7.8. Is there a debugger for asy?
+
+Yes, Asymptote includes a line-based debugger:
+
+http://asymptote.sourceforge.net/doc/Debugger.html
+
+
+File: asy-faq.info, Node: Question 7.9, Next: Question 8.1, Previous: Question 7.8, Up: Section 7
+
+Question 7.9. Do you accept patches for Asymptote?
+
+Yes, in fact we would prefer that users submit patches for customized
+features (to http://sourceforge.net/tracker/?atid=685685&group_id=120000)
+instead of relying on us to do all of the coding. Development will proceed
+faster that way.
+
+
+File: asy-faq.info, Node: Section 8, Next: Section 9, Previous: Section 7, Up: Top
+
+Questions about differences between Asymptote and MetaPost
+
+* Menu:
+* Question 8.1:: What is the equivalent of the MetaPost c[a,b]
+ interpolation operator?
+* Question 8.2:: How does picture scaling differ in Asymptote and
+ MetaPost?
+* Question 8.3:: How can I avoid automatic scaling of a picture?
+* Question 8.4:: What is the equivalent of MetaPost ... command?
+* Question 8.5:: What is the equivalent of the MetaPost pickup command?
+* Question 8.6:: What is the equivalent of the MetaPost whatever
+ command?
+* Question 8.7:: What is the equivalent for the MetaPost command for
+ lray - horiz*v - verti*u = whatever*(LightSource - R),
+ a system of three linear equations for three unknowns:
+ horiz, verti, whatever?
+* Question 8.8:: In MetaPost, it is possible to have a drawing remain
+ the same size in different pictures by defining a unit
+ u and explicitly multiply all the coordinates by u. Is
+ there a better way to do this in Asymptote?
+* Question 8.9:: In MetaPost, one could produce tiling pictures by
+ generating a picture, and then clipping the picture to
+ a rectangle of fixed dimensions around the center of
+ the picture. How is that done in Asymptote?
+
+
+
+File: asy-faq.info, Node: Question 8.1, Next: Question 8.2, Previous: Question 7.9, Up: Section 8
+
+Question 8.1. What is the equivalent of the MetaPost c[a,b] interpolation operator?
+
+interp(a,b,c);
+
+File: asy-faq.info, Node: Question 8.2, Next: Question 8.3, Previous: Question 8.1, Up: Section 8
+
+Question 8.2. How does picture scaling differ in Asymptote and MetaPost?
+
+Asymptote includes an optional facility to do automatic scaling of
+pictures to achieve a given overall picture size, whereas Metapost only
+supports manual scaling. Asymptote defers drawing of objects drawn to
+pictures and distinguishes between true-size objects and objects that
+should scale with the picture size. The resulting linear programming
+problem is solved via the Simplex method.
+
+See the http://asymptote.sourceforge.net/gallery/dimension.asy example for
+an example of how deferred drawing is used to accomodate both user and
+true-size (PostScript) coordinates.
+
+
+File: asy-faq.info, Node: Question 8.3, Next: Question 8.4, Previous: Question 8.2, Up: Section 8
+
+Question 8.3. How can I avoid automatic scaling of a picture?
+
+If you really like Metapost-style manual (hard-wired) scaling either:
+
+(i) use the default size(0,0) for the entire picture and do all of the
+scaling by hand, just like in MetaPost;
+
+(ii) draw to a separate picture pic and add(pic.fit());
+
+(iii) use frames.
+
+
+File: asy-faq.info, Node: Question 8.4, Next: Question 8.5, Previous: Question 8.3, Up: Section 8
+
+Question 8.4. What is the equivalent of MetaPost ... command?
+
+The connector :: is a macro for tension atleast 1:
+
+size(100);
+pair z0=(0,0);
+pair z1=(1,0.25);
+pair z2=(2,0);
+draw(z0{up}::z1{right}::z2{down});
+
+File: asy-faq.info, Node: Question 8.5, Next: Question 8.6, Previous: Question 8.4, Up: Section 8
+
+Question 8.5. What is the equivalent of the MetaPost pickup command?
+
+Just say, for example:
+
+currentpen=red;
+
+File: asy-faq.info, Node: Question 8.6, Next: Question 8.7, Previous: Question 8.5, Up: Section 8
+
+Question 8.6. What is the equivalent of the MetaPost whatever command?
+
+Asymptote does not implicitly solve linear equations and therefore does
+not have the notion of a whatever unknown. Such a facility could certainly
+be added (perhaps using the notation ?= since = means assignment).
+However, the most common uses of whatever in MetaPost are covered by
+functions like extension in math.asy:
+pair extension(pair P, pair Q, pair p, pair q);
+this returns the intersection point of the extensions of the line segments
+PQ and pq. We find using routines like extension more explicit and less
+confusing to new users. But we could be persuaded to add something similar
+if someone can justify the need. In the meantime, one can always use the
+explicit built-in linear solver solve (see
+http://asymptote.sourceforge.net/doc/solve.html), which uses LU
+decomposition.
+
+
+File: asy-faq.info, Node: Question 8.7, Next: Question 8.8, Previous: Question 8.6, Up: Section 8
+
+Question 8.7. What is the equivalent for the MetaPost command for lray - horiz*v - verti*u = whatever*(LightSource - R), a system of three linear equations for three unknowns: horiz, verti, whatever?
+
+Since horiz*v+verti*u spans a plane, you could use
+real intersect(vector P, vector Q, vector n, vector Z);
+to find the intersection time for the line lray-whatever*(LightSource -
+R) and then extract the three desired values from there. (You'll still
+need to use the built-in explicit linear solver to solve a 2x2 system to
+get horiz and verti.)
+
+
+File: asy-faq.info, Node: Question 8.8, Next: Question 8.9, Previous: Question 8.7, Up: Section 8
+
+Question 8.8. In MetaPost, it is possible to have a drawing remain the same size in different pictures by defining a unit u and explicitly multiply all the coordinates by u. Is there a better way to do this in Asymptote?
+
+Yes, Asymptote has a better way: you definitely don't want to manually
+scale all of your coordinates. To make the user coordinates represent
+multiples of exactly 1cm:
+
+unitsize(1cm);
+draw(unitsquare);
+One can also specify different x and y unit sizes:
+
+unitsize(x=1cm,y=2cm);
+draw(unitsquare);
+Another way is to draw your fixed size object to a frame and add it to
+currentpicture like this:
+
+path p=(0,0)--(1,0);
+frame object;
+draw(object,scale(100)*p);
+
+add(object);
+add(object,(0,-10));
+To understand the difference between frames and pictures, try this:
+
+size(300,300);
+
+path p=(0,0)--(1,0);
+picture object;
+draw(object,scale(100)*p);
+
+add(object);
+add(object,(0,-10)); // Adds truesize object to currentpicture
+
+File: asy-faq.info, Node: Question 8.9, Next: Question 9.1, Previous: Question 8.8, Up: Section 8
+
+Question 8.9. In MetaPost, one could produce tiling pictures by generating a picture, and then clipping the picture to a rectangle of fixed dimensions around the center of the picture. How is that done in Asymptote?
+
+If you are using currentpicture the way one would in MetaPost (drawing in
+raw PostScript coordinates), you can simply do something like:
+
+fill((0,0)--(100,100)--(200,0)--cycle);
+
+pair center(picture pic=currentpicture) {return 0.5*(pic.min()+pic.max());}
+
+real height=100;
+real width=100;
+pair delta=0.5(width,height);
+pair c=center();
+clip(box(c-delta,c+delta));
+However, drawing in PostScript coordinates is often inconvenient. Here's
+the Asymptote way of doing the same thing, using deferred drawing:
+
+size(200,100);
+fill((0,0)--(1,1)--(2,0)--cycle);
+
+void clip(picture pic=currentpicture, real width, real height)
+{
+ pic.clip(new void (frame f, transform) {
+ pair center=0.5(min(f)+max(f));
+ pair delta=0.5(width,height);
+ clip(f,box(center-delta,center+delta));
+ });
+}
+
+clip(100,100);
+See also the discussion of tilings in the documentation:
+http://asymptote.sourceforge.net/doc/Pens.html.
+
+
+File: asy-faq.info, Node: Section 9, Previous: Section 8, Up: Top
+
+Questions about output
+
+* Menu:
+* Question 9.1:: How can I disable automatic invocation of the PS
+ viewer after an asy file is done processing?
+* Question 9.2:: How do I output jpeg images?
+* Question 9.3:: Can I embed bitmaps (photos) into my drawings and
+ position and scale them?
+* Question 9.4:: Does Asymptote support direct PDF output?
+* Question 9.5:: How to I produce large pictures of high quality in
+ raster format (e.g. png, giff etc).
+* Question 9.6:: Is it possible to produce multi-page documents with
+ asymptote?
+
+
+
+File: asy-faq.info, Node: Question 9.1, Next: Question 9.2, Previous: Question 8.9, Up: Section 9
+
+Question 9.1. How can I disable automatic invocation of the PS viewer after an asy file is done processing?
+
+It's actually not on by default, unless you happen to be using Microsoft
+Windows (because that is what most Microsoft Windows users expect).
+Microsoft Windows users can turn this feature off with the command-line
+option -noV or by putting
+
+import settings;
+interactiveView=false;
+batchView=false;
+in their config.asy file. See
+http://asymptote.sourceforge.net/doc/Options.html.
+
+
+File: asy-faq.info, Node: Question 9.2, Next: Question 9.3, Previous: Question 9.1, Up: Section 9
+
+Question 9.2. How do I output jpeg images?
+
+If you have the ImageMagick convert program installed, simply type
+
+asy -f jpg test.asy
+
+File: asy-faq.info, Node: Question 9.3, Next: Question 9.4, Previous: Question 9.2, Up: Section 9
+
+Question 9.3. Can I embed bitmaps (photos) into my drawings and position and scale them?
+
+Convert them to eps format and use the graphic(string) function just like
+a Label:
+
+label(graphic("file"),(0,0));
+See the example http://asymptote.sourceforge.net/gallery/orthocenter.asy
+and http://asymptote.sourceforge.net/doc/label.html.
+
+
+File: asy-faq.info, Node: Question 9.4, Next: Question 9.5, Previous: Question 9.3, Up: Section 9
+
+Question 9.4. Does Asymptote support direct PDF output?
+
+Yes, PDF output can be produced by the -f pdf option or -tex pdflatex
+option. This supports transparency, annotations, embedded movies, and
+U3D/PRC content.
+
+
+File: asy-faq.info, Node: Question 9.5, Next: Question 9.6, Previous: Question 9.4, Up: Section 9
+
+Question 9.5. How to I produce large pictures of high quality in raster format (e.g. png, giff etc).
+
+Try using some of the options to convert, mainly -geometry and -density.
+For example:
+convert -geometry 1000x3000 example.eps example.png
+You can also change the default resolution of the image with:
+convert -geometry 1000x3000 -density 300 -units PixelsPerInch example.eps example.png
+This does not change the number of pixels in the image, but just gives a
+hint as to how large each pixel should be displayed.
+
+If you include the -density option without the -geometry option, convert
+will keep the image size constant (so a 4cm x 3cm eps figure will
+generate a 4cm x 3cm png image).
+
+
+File: asy-faq.info, Node: Question 9.6, Previous: Question 9.5, Up: Section 9
+
+Question 9.6. Is it possible to produce multi-page documents with asymptote?
+
+Yes, simply call the newpage() function. This is used by the slide.asy
+package to produce high-quality slide presentations (easier to use than
+Prosper).
+
diff --git a/Master/texmf-dist/doc/info/asymptote.info b/Master/texmf-dist/doc/info/asymptote.info
new file mode 100644
index 00000000000..ee7d4f40b51
--- /dev/null
+++ b/Master/texmf-dist/doc/info/asymptote.info
@@ -0,0 +1,9963 @@
+This is asymptote.info, produced by makeinfo version 4.13 from
+../asymptote.texi.
+
+This file documents `Asymptote', version 2.16.
+
+ `http://asymptote.sourceforge.net'
+
+ Copyright (C) 2004-11 Andy Hammerlindl, John Bowman, and Tom Prince.
+
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Lesser General Public License
+ (see the file LICENSE in the top-level source directory).
+
+
+INFO-DIR-SECTION Languages
+START-INFO-DIR-ENTRY
+* asymptote: (asymptote/asymptote). Vector graphics language.
+END-INFO-DIR-ENTRY
+
+
+File: asymptote.info, Node: Top, Next: Description, Up: (dir)
+
+Asymptote
+*********
+
+This file documents `Asymptote', version 2.16.
+
+ `http://asymptote.sourceforge.net'
+
+ Copyright (C) 2004-11 Andy Hammerlindl, John Bowman, and Tom Prince.
+
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Lesser General Public License
+ (see the file LICENSE in the top-level source directory).
+
+
+* Menu:
+
+* Description:: What is `Asymptote'?
+* Installation:: Downloading and installing
+* Tutorial:: Getting started
+* Drawing commands:: Four primitive graphics commands
+* Bezier curves:: Path connectors and direction specifiers
+* Programming:: The `Asymptote' vector graphics language
+* LaTeX usage:: Embedding `Asymptote' commands within `LaTeX'
+* Base modules:: Base modules shipped with `Asymptote'
+* Options:: Command-line options
+* Interactive mode:: Typing `Asymptote' commands interactively
+* GUI:: Graphical user interface
+* PostScript to Asymptote:: `Asymptote' backend to `pstoedit'
+* Help:: Where to get help and submit bug reports
+* Debugger:: Squish those bugs!
+* Credits:: Contributions and acknowledgments
+* Index:: General index
+
+ --- The Detailed Node Listing ---
+
+Installation
+
+* UNIX binary distributions:: Prebuilt `UNIX' binaries
+* MacOS X binary distributions:: Prebuilt `MacOS X' binaries
+* Microsoft Windows:: Prebuilt `Microsoft Windows' binary
+* Configuring:: Configuring `Asymptote' for your system
+* Search paths:: Where `Asymptote' looks for your files
+* Compiling from UNIX source:: Building `Asymptote' from scratch
+* Editing modes:: Convenient `emacs' and `vim' modes
+* Subversion:: Getting the latest development source
+* Uninstall:: Goodbye, `Asymptote'!
+
+Drawing commands
+
+* draw:: Draw a path on a picture or frame
+* fill:: Fill a cyclic path on a picture or frame
+* clip:: Clip a picture or frame to a cyclic path
+* label:: Label a point on a picture
+
+Programming
+
+* Data types:: void, bool, int, real, pair, triple, string
+* Paths and guides::
+* Pens:: Colors, line types, line widths, font sizes
+* Transforms:: Affine transforms
+* Frames and pictures:: Canvases for immediate and deferred drawing
+* Files:: Reading and writing your data
+* Variable initializers:: Initialize your variables
+* Structures:: Organize your data
+* Operators:: Arithmetic and logical operators
+* Implicit scaling:: Avoiding those ugly *s
+* Functions:: Traditional and high-order functions
+* Arrays:: Dynamic vectors
+* Casts:: Implicit and explicit casts
+* Import:: Importing external `Asymptote' modules
+* Static:: Where to allocate your variable?
+
+Operators
+
+* Arithmetic & logical:: Basic mathematical operators
+* Self & prefix operators:: Increment and decrement
+* User-defined operators:: Overloading operators
+
+Functions
+
+* Default arguments:: Default values can appear anywhere
+* Named arguments:: Assigning function arguments by keyword
+* Rest arguments:: Functions with a variable number of arguments
+* Mathematical functions:: Standard libm functions
+
+
+Arrays
+
+* Slices:: Python-style array slices
+
+Base modules
+
+* plain:: Default `Asymptote' base file
+* simplex:: Linear programming: simplex method
+* math:: Extend `Asymptote''s math capabilities
+* interpolate:: Interpolation routines
+* geometry:: Geometry routines
+* trembling:: Wavy lines
+* stats:: Statistics routines and histograms
+* patterns:: Custom fill and draw patterns
+* markers:: Custom path marker routines
+* tree:: Dynamic binary search tree
+* binarytree:: Binary tree drawing module
+* drawtree:: Tree drawing module
+* syzygy:: Syzygy and braid drawing module
+* feynman:: Feynman diagrams
+* roundedpath:: Round the sharp corners of paths
+* animation:: Embedded PDF and MPEG movies
+* embed:: Embedding movies, sounds, and 3D objects
+* slide:: Making presentations with `Asymptote'
+* MetaPost:: `MetaPost' compatibility routines
+* unicode:: Accept `unicode' (UTF-8) characters
+* latin1:: Accept `ISO 8859-1' characters
+* babel:: Interface to `LaTeX' `babel' package
+* labelpath:: Drawing curved labels
+* labelpath3:: Drawing curved labels in 3D
+* annotate:: Annotate your PDF files
+* CAD:: 2D CAD pen and measurement functions (DIN 15)
+* graph:: 2D linear & logarithmic graphs
+* palette:: Color density images and palettes
+* three:: 3D vector graphics
+* obj:: 3D obj files
+* graph3:: 3D linear & logarithmic graphs
+* grid3:: 3D grids
+* solids:: 3D solid geometry
+* tube:: 3D rotation minimizing tubes
+* flowchart:: Flowchart drawing routines
+* contour:: Contour lines
+* contour3:: Contour surfaces
+* slopefield:: Slope fields
+* ode:: Ordinary differential equations
+
+Graphical User Interface
+
+* GUI installation:: Installing `xasy'
+* GUI usage::
+
+
+File: asymptote.info, Node: Description, Next: Installation, Prev: Top, Up: Top
+
+1 Description
+*************
+
+`Asymptote' is a powerful descriptive vector graphics language that
+provides a mathematical coordinate-based framework for technical
+drawings. Labels and equations are typeset with `LaTeX', for overall
+document consistency, yielding the same high-quality level of
+typesetting that `LaTeX' provides for scientific text. By default it
+produces `PostScript' output, but it can also generate any format that
+the `ImageMagick' package can produce.
+
+ A major advantage of `Asymptote' over other graphics packages is
+that it is a high-level programming language, as opposed to just a
+graphics program: it can therefore exploit the best features of the
+script (command-driven) and graphical-user-interface (GUI) methods for
+producing figures. The rudimentary GUI `xasy' included with the package
+allows one to move script-generated objects around. To make `Asymptote'
+accessible to the average user, this GUI is currently being developed
+into a full-fledged interface that can generate objects directly.
+However, the script portion of the language is now ready for general
+use by users who are willing to learn a few simple `Asymptote' graphics
+commands (*note Drawing commands::).
+
+ `Asymptote' is mathematically oriented (e.g. one can use complex
+multiplication to rotate a vector) and uses `LaTeX' to do the
+typesetting of labels. This is an important feature for scientific
+applications. It was inspired by an earlier drawing program (with a
+weaker syntax and capabilities) called `MetaPost'.
+
+ The `Asymptote' vector graphics language provides:
+
+ * a standard for typesetting mathematical figures, just as
+ TeX/`LaTeX' is the de-facto standard for typesetting equations.
+
+ * `LaTeX' typesetting of labels, for overall document consistency;
+
+ * the ability to generate and embed 3D vector PRC graphics within
+ PDF files;
+
+ * a natural coordinate-based framework for technical drawings,
+ inspired by `MetaPost', with a much cleaner, powerful C++-like
+ programming syntax;
+
+ * compilation of figures into virtual machine code for speed, without
+ sacrificing portability;
+
+ * the power of a script-based language coupled to the convenience of
+ a GUI;
+
+ * customization using its own C++-like graphics programming language;
+
+ * sensible defaults for graphical features, with the ability to
+ override;
+
+ * a high-level mathematically oriented interface to the `PostScript'
+ language for vector graphics, including affine transforms and
+ complex variables;
+
+ * functions that can create new (anonymous) functions;
+
+ * deferred drawing that uses the simplex method to solve overall size
+ constraint issues between fixed-sized objects (labels and
+ arrowheads) and objects that should scale with figure size;
+
+
+ Many of the features of `Asymptote' are written in the `Asymptote'
+language itself. While the stock version of `Asymptote' is designed for
+mathematics typesetting needs, one can write `Asymptote' modules that
+tailor it to specific applications. A scientific graphing module has
+already been written (*note graph::). Examples of `Asymptote' code and
+output, including animations, are available at
+
+ `http://asymptote.sourceforge.net/gallery/'.
+ Links to many external resources, including an excellent user-written
+`Asymptote' tutorial can be found at
+
+ `http://asymptote.sourceforge.net/links.html'.
+ A quick reference card for `Asymptote' is available at
+
+ `http://asymptote.sourceforge.net/asyRefCard.pdf'.
+
+
+File: asymptote.info, Node: Installation, Next: Tutorial, Prev: Description, Up: Top
+
+2 Installation
+**************
+
+* Menu:
+
+* UNIX binary distributions:: Prebuilt `UNIX' binaries
+* MacOS X binary distributions:: Prebuilt `MacOS X' binaries
+* Microsoft Windows:: Prebuilt `Microsoft Windows' binary
+* Configuring:: Configuring `Asymptote' for your system
+* Search paths:: Where `Asymptote' looks for your files
+* Compiling from UNIX source:: Building `Asymptote' from scratch
+* Editing modes:: Convenient `emacs' and `vim' modes
+* Subversion:: Getting the latest development source
+* Uninstall:: Goodbye, `Asymptote'!
+
+ After following the instructions for your specific distribution,
+please see also *note Configuring::.
+
+We recommend subscribing to new release announcements at
+
+ `http://freshmeat.net/projects/asy'
+ Users may also wish to monitor the `Asymptote' forum:
+
+ `http://sourceforge.net/projects/asymptote/forums/forum/409349'
+
+
+File: asymptote.info, Node: UNIX binary distributions, Next: MacOS X binary distributions, Up: Installation
+
+2.1 UNIX binary distributions
+=============================
+
+We release both `tgz' and RPM binary distributions of `Asymptote'. The
+root user can install the `Linux i386' `tgz' distribution of version
+`x.xx' of `Asymptote' with the commands:
+tar -C / -zxf asymptote-x.xx.i386.tgz
+texhash
+ The `texhash' command, which installs LaTeX style files, is optional.
+The executable file will be `/usr/local/bin/asy') and example code will
+be installed by default in `/usr/local/share/doc/asymptote/examples'.
+
+Fedora users can easily install the most recent version of `Asymptote'
+with the command
+yum --enablerepo=rawhide install asymptote
+
+To install the latest version of `Asymptote' on a Debian-based
+distribution (e.g. Ubuntu, Mepis, Linspire) follow the instructions for
+compiling from `UNIX' source (*note Compiling from UNIX source::).
+Alternatively, Debian users can install one of Hubert Chan's prebuilt
+`Asymptote' binaries from
+
+ `http://ftp.debian.org/debian/pool/main/a/asymptote'
+
+
+File: asymptote.info, Node: MacOS X binary distributions, Next: Microsoft Windows, Prev: UNIX binary distributions, Up: Installation
+
+2.2 MacOS X binary distributions
+================================
+
+`MacOS X' users can either compile the `UNIX' source code (*note
+Compiling from UNIX source::) or install the contributed `Asymptote'
+binary available at
+
+`http://www.hmug.org/pub/MacOS_X/X/Applications/Publishing/asymptote/'
+
+Because these preconfigured binary distributions have strict
+architecture and library dependencies that many installations do not
+satisfy, we recommend installing `Asymptote' directly from the official
+source:
+
+ `http://sourceforge.net/project/showfiles.php?group_id=120000'
+
+Note that many `MacOS X' (and FreeBSD) systems lack the GNU `readline'
+library. For full interactive functionality, GNU `readline' version 4.3
+or later must be installed.
+
+
+File: asymptote.info, Node: Microsoft Windows, Next: Configuring, Prev: MacOS X binary distributions, Up: Installation
+
+2.3 Microsoft Windows
+=====================
+
+Users of the `Microsoft Windows' operating system can install the
+self-extracting `Asymptote' executable `asymptote-x.xx-setup.exe',
+where `x.xx' denotes the latest version.
+
+ A working TeX implementation (such as the one available at
+`http://www.miktex.org') will be required to typeset labels. You will
+also need to install `GPL Ghostscript' from
+`http://sourceforge.net/projects/ghostscript/'.
+
+ To view the default `PostScript' output, you can install the program
+`gsview' available from `http://www.cs.wisc.edu/~ghost/gsview/'. A
+better (and free) `PostScript' viewer available at
+`http://psview.sourceforge.net/' (which in particular works properly in
+interactive mode) unfortunately currently requires some manual
+configuration. Specifically, if version `x.xx' of `psview' is extracted
+to the directory `c:\Program Files' one needs to put
+import settings;
+psviewer="c:\Program Files\psview-x.xx\psv.exe";
+ in the optional `Asymptote' configuration file; *note configuration
+file::).
+
+ The `ImageMagick' package from
+
+ `http://www.imagemagick.org/script/binary-releases.php'
+
+is required to support output formats other than EPS, PDF, SVG, and PNG
+(*note convert::). The `Python' interpreter from
+`http://www.python.org' is only required if you wish to try out the
+graphical user interface (*note GUI::).
+
+Example code will be installed by default in the `examples'
+subdirectory of the installation directory (by default, `C:\Program
+Files\Asymptote').
+
+
+File: asymptote.info, Node: Configuring, Next: Search paths, Prev: Microsoft Windows, Up: Installation
+
+2.4 Configuring
+===============
+
+In interactive mode, or when given the `-V' option (the default when
+running `Asymptote' on a single file under `MSDOS'), `Asymptote' will
+automatically invoke the `PostScript' viewer `gv' (under `UNIX') or
+`gsview' (under `MSDOS' to display graphical output. These defaults may
+be overridden with the configuration variable `psviewer'. The
+`PostScript' viewer should be capable of automatically redrawing
+whenever the output file is updated. The default `UNIX' `PostScript'
+viewer `gv' supports this (via a `SIGHUP' signal). Version `gv-3.6.3'
+or later (from `http://ftp.gnu.org/gnu/gv/') is required for
+interactive mode to work properly. Users of `ggv' will need to enable
+`Watch file' under `Edit/Postscript Viewer Preferences'. Users of
+`gsview' will need to enable `Options/Auto Redisplay' (however, under
+`MSDOS' it is still necessary to click on the `gsview' window; under
+`UNIX' one must manually redisplay by pressing the `r' key). A better
+(and free) multiplatform alternative to `gsview' is `psview' (*note
+psview::).
+
+ Configuration variables are most easily set as `Asymptote' variables
+in an optional configuration file `config.asy' *note configuration
+file::). Here are the default values of several important configuration
+variables under `UNIX':
+
+
+import settings;
+psviewer="gv";
+pdfviewer="acroread";
+gs="gs";
+
+Under `MSDOS', the (installation-dependent) default values of these
+configuration variables are determined automatically from the
+`Microsoft Windows' registry. Viewer settings (such as `psviewer' and
+`pdfviewer') can be set to the string `cmd' to request the application
+normally associated with the corresponding file type.
+
+ For PDF format output, the `gs' setting specifies the location of
+the `PostScript'-to-PDF processor `Ghostscript', available from
+`http://sourceforge.net/projects/ghostscript/'.
+
+ The setting `pdfviewer' specifies the location of the PDF viewer. On
+`UNIX' systems, to support automatic document reloading in `Adobe
+Reader', we recommend copying the file `reload.js' from the `Asymptote'
+system directory (by default, `/usr/local/share/asymptote' under `UNIX'
+to `~/.adobe/Acrobat/x.x/JavaScripts/', where `x.x' represents the
+appropriate `Adobe Reader' version number. The automatic document
+reload feature must then be explicitly enabled by putting
+import settings;
+pdfreload=true;
+pdfreloadOptions="-tempFile";
+ in the `Asymptote' configuration file. This reload feature is not
+useful under `MSDOS' since the document cannot be updated anyway on
+that operating system until it is first closed by `Adobe Reader'.
+
+ The configuration variable `dir' can be used to adjust the search
+path (*note Search paths::).
+
+ By default, `Asymptote' attempts to center the figure on the page,
+assuming that the paper type is `letter'. The default paper type may be
+changed to `a4' with the configuration variable `papertype'. Alignment
+to other paper sizes can be obtained by setting the configuration
+variables `paperwidth' and `paperheight'.
+
+ The following configuration variables normally do not require
+adjustment:
+texpath
+texcommand
+dvips
+dvisvgm
+convert
+display
+animate
+ Warnings (such as "writeoverloaded") may be enabled or disabled with
+the functions
+warn(string s);
+nowarn(string s);
+ or by directly modifying the string array `settings.suppress', which
+lists all disabled warnings.
+
+ Configuration variables may also be set or overwritten with a
+command-line option:
+asy -psviewer=gsview -V venn
+
+ Alternatively, system environment versions of the above configuration
+variables may be set in the conventional way. The corresponding
+environment variable name is obtained by converting the configuration
+variable name to upper case and prepending `ASYMPTOTE_': for example,
+to set the environment variable
+ASYMPTOTE_PSVIEWER="C:\Program Files\Ghostgum\gsview\gsview32.exe";
+ under `Microsoft Windows XP':
+ 1. Click on the `Start' button;
+
+ 2. Right-click on `My Computer';
+
+ 3. Choose `View system information';
+
+ 4. Click the `Advanced' tab;
+
+ 5. Click the `Environment Variables' button.
+
+
+File: asymptote.info, Node: Search paths, Next: Compiling from UNIX source, Prev: Configuring, Up: Installation
+
+2.5 Search paths
+================
+
+In looking for `Asymptote' system files, `asy' will search the
+following paths, in the order listed:
+ 1. The current directory;
+
+ 2. A list of one or more directories specified by the configuration
+ variable `dir' or environment variable `ASYMPTOTE_DIR' (separated
+ by `:' under UNIX and `;' under `MSDOS');
+
+ 3. The directory specified by the environment variable
+ `ASYMPTOTE_HOME'; if this variable is not set, the directory
+ `.asy' in the user's home directory (`%USERPROFILE%\.asy' under
+ `MSDOS') is used;
+
+ 4. The `Asymptote' system directory (by default,
+ `/usr/local/share/asymptote' under `UNIX' and `C:\Program
+ Files\Asymptote' under `MSDOS').
+
+
+File: asymptote.info, Node: Compiling from UNIX source, Next: Editing modes, Prev: Search paths, Up: Installation
+
+2.6 Compiling from UNIX source
+==============================
+
+To compile and install a `UNIX' executable from a source release
+`x.xx', first execute the commands:
+gunzip asymptote-x.xx.src.tgz
+tar -xf asymptote-x.xx.src.tar
+cd asymptote-x.xx
+ By default the system version of the Boehm garbage collector will be
+used; if it is old we recommend first putting
+`http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2b.tar.gz'
+in the `Asymptote' source directory.
+
+If your graphics card supports multisampling, we recommend using version
+`2.6.0' of `freeglut' to support antialiasing in `Asymptote''s adaptive
+`OpenGL' 3D renderer (`MacOS X' users can skip this step since
+`Asymptote' is configured to use the native glut library on that
+platform). Download
+
+ `http://prdownloads.sourceforge.net/freeglut/freeglut-2.6.0.tar.gz'
+ and type (as the root user):
+tar -zxf freeglut-2.6.0.tar.gz
+cd freeglut-2.6.0
+./configure --prefix=/usr
+make install
+cd ..
+ Then compile `Asymptote' with the commands
+./configure
+make all
+make install
+ Be sure to use GNU `make' (on non-GNU systems this command may be
+called `gmake'). To build the documentation, you may need to install
+the `texinfo-tex' package. If you get errors from a broken `texinfo' or
+`pdftex' installation, simply put
+
+ `http://asymptote.sourceforge.net/asymptote.pdf'
+ in the directory `doc' and repeat the command `make all'.
+
+For a (default) system-wide installation, the last command should be
+done as the root user. To install without root privileges, change the
+`./configure' command to
+./configure --prefix=$HOME/asymptote
+ One can disable use of the Boehm garbage collector by configuring with
+`./configure --disable-gc'. For a list of other configuration options,
+say `./configure --help'. For example, one can tell configure to look
+for header files and libraries in nonstandard locations:
+./configure CFLAGS=-I/opt/usr/include LDFLAGS=-L/opt/usr/lib
+
+ If you are compiling `Asymptote' with `gcc', you will need a
+relatively recent version (e.g. 3.4.4 or later). For full interactive
+functionality, you will need version 4.3 or later of the GNU `readline'
+library. The file `gcc3.3.2curses.patch' in the `patches' directory can
+be used to patch the broken curses.h header file (or a local copy
+thereof in the current directory) on some `AIX' and `IRIX' systems.
+
+ The `FFTW' library is only required if you want `Asymptote' to be
+able to take Fourier transforms of data (say, to compute an audio power
+spectrum). The `GSL' library is only required if you require the
+special functions that it supports.
+
+ If you don't want to install `Asymptote' system wide, just make sure
+the compiled binary `asy' and GUI script `xasy' are in your path and
+set the configuration variable `dir' to point to the directory `base'
+(in the top level directory of the `Asymptote' source code).
+
+
+File: asymptote.info, Node: Editing modes, Next: Subversion, Prev: Compiling from UNIX source, Up: Installation
+
+2.7 Editing modes
+=================
+
+Users of `emacs' can edit `Asymptote' code with the mode `asy-mode',
+after enabling it by putting the following lines in their `.emacs'
+initialization file, replacing `ASYDIR' with the location of the
+`Asymptote' system directory (by default, `/usr/local/share/asymptote'
+or `C:\Program Files\Asymptote' under `MSDOS'):
+(add-to-list 'load-path "ASYDIR")
+(autoload 'asy-mode "asy-mode.el" "Asymptote major mode." t)
+(autoload 'lasy-mode "asy-mode.el" "hybrid Asymptote/Latex major mode." t)
+(autoload 'asy-insinuate-latex "asy-mode.el" "Asymptote insinuate LaTeX." t)
+(add-to-list 'auto-mode-alist '("\\.asy$" . asy-mode))
+
+ Particularly useful key bindings in this mode are `C-c C-c', which
+compiles and displays the current buffer, and the key binding `C-c ?',
+which shows the available function prototypes for the command at the
+cursor. For full functionality you should also install the Apache
+Software Foundation package `two-mode-mode':
+
+ `http://www.dedasys.com/freesoftware/files/two-mode-mode.el'
+ Once installed, you can use the hybrid mode `lasy-mode' to edit a
+LaTeX file containing embedded `Asymptote' code (*note LaTeX usage::).
+This mode can be enabled within `latex-mode' with the key sequence `M-x
+lasy-mode <RET>'. On `UNIX' systems, additional keywords will be
+generated from all `asy' files in the space-separated list of
+directories specified by the environment variable `ASYMPTOTE_SITEDIR'.
+Further documentation of `asy-mode' is available within `emacs' by
+pressing the sequence keys `C-h f asy-mode <RET>'.
+
+ Fans of `vim' can customize `vim' for `Asymptote' with
+
+`cp /usr/local/share/asymptote/asy.vim ~/.vim/syntax/asy.vim'
+
+and add the following to their `~/.vimrc' file:
+augroup filetypedetect
+au BufNewFile,BufRead *.asy setf asy
+augroup END
+filetype plugin on
+
+ If any of these directories or files don't exist, just create them.
+To set `vim' up to run the current asymptote script using `:make' just
+add to `~/.vim/ftplugin/asy.vim':
+setlocal makeprg=asy\ %
+setlocal errorformat=%f:\ %l.%c:\ %m
+
+ Syntax highlighting support for the KDE editor `Kate' can be enabled
+by running `asy-kate.sh' in the `/usr/local/share/asymptote' directory
+and putting the generated `asymptote.xml' file in
+`~/.kde/share/apps/katepart/syntax/'.
+
+
+File: asymptote.info, Node: Subversion, Next: Uninstall, Prev: Editing modes, Up: Installation
+
+2.8 Subversion (SVN)
+====================
+
+The following commands are needed to install the latest development
+version of `Asymptote' using `Subversion':
+svn co http://asymptote.svn.sourceforge.net/svnroot/asymptote/trunk/asymptote
+cd asymptote
+./autogen.sh
+./configure
+make all
+make install
+
+To compile without optimization, use the command `make CFLAGS=-g'.
+
+
+File: asymptote.info, Node: Uninstall, Prev: Subversion, Up: Installation
+
+2.9 Uninstall
+=============
+
+To uninstall an `Linux i386' binary distribution, use the commands
+tar -zxvf asymptote-x.xx.i386.tgz | xargs --replace=% rm /%
+texhash
+
+To uninstall all `Asymptote' files installed from a source
+distribution, use the command
+make uninstall
+
+
+File: asymptote.info, Node: Tutorial, Next: Drawing commands, Prev: Installation, Up: Top
+
+3 Tutorial
+**********
+
+3.1 Drawing in batch mode
+=========================
+
+To draw a line from coordinate (0,0) to coordinate (100,100), create a
+text file `test.asy' containing
+
+draw((0,0)--(100,100));
+ Then execute the command
+asy -V test
+ Alternatively, `MSDOS' users can drag and drop `test.asy' onto the
+Desktop `asy' icon (or make `Asymptote' the default application for the
+extension `asy').
+
+This method, known as _batch mode_, outputs a `PostScript' file
+`test.eps'. If you prefer PDF output, use the command line
+asy -V -f pdf test
+ In either case, the `-V' option opens up a viewer window so you can
+immediately view the result:
+
+
+Here, the `--' connector joins the two points `(0,0)' and `(100,100)'
+with a line segment.
+
+3.2 Drawing in interactive mode
+===============================
+
+Another method is _interactive mode_, where `Asymptote' reads
+individual commands as they are entered by the user. To try this out,
+enter `Asymptote''s interactive mode by clicking on the `Asymptote'
+icon or typing the command `asy'. Then type
+draw((0,0)--(100,100));
+ followed by `Enter', to obtain the above image. At this point you can
+type further `draw' commands, which will be added to the displayed
+figure, `erase' to clear the canvas,
+input test;
+ to execute all of the commands contained in the file `test.asy', or
+`quit' to exit interactive mode. You can use the arrow keys in
+interactive mode to edit previous lines. The tab key will
+automatically complete unambiguous words; otherwise, hitting tab again
+will show the possible choices. Further commands specific to
+interactive mode are described in *note Interactive mode::.
+
+3.3 Figure size
+===============
+
+In `Asymptote', coordinates like `(0,0)' and `(100,100)', called
+_pairs_, are expressed in `PostScript' "big points" (1 `bp' = 1/72
+`inch') and the default line width is `0.5bp'. However, it is often
+inconvenient to work directly in `PostScript' coordinates. The next
+example produces identical output to the previous example, by scaling
+the line `(0,0)--(1,1)' to fit a rectangle of width `100.5 bp' and
+height `100.5 bp' (the extra `0.5bp' accounts for the line width):
+size(100.5,100.5);
+draw((0,0)--(1,1));
+
+
+
+One can also specify the size in `pt' (1 `pt' = 1/72.27 `inch'), `cm',
+`mm', or `inches'. Two nonzero size arguments (or a single size
+argument) restrict the size in both directions, preserving the aspect
+ratio. If 0 is given as a size argument, no restriction is made in
+that direction; the overall scaling will be determined by the other
+direction (*note size::):
+
+size(0,100.5);
+draw((0,0)--(2,1),Arrow);
+
+
+
+To connect several points and create a cyclic path, use the `cycle'
+keyword:
+
+size(3cm);
+draw((0,0)--(1,0)--(1,1)--(0,1)--cycle);
+
+
+For convenience, the path `(0,0)--(1,0)--(1,1)--(0,1)--cycle' may be
+replaced with the predefined variable `unitsquare', or equivalently,
+`box((0,0),(1,1))'.
+
+ To make the user coordinates represent multiples of exactly `1cm':
+unitsize(1cm);
+draw(unitsquare);
+
+3.4 Labels
+==========
+
+Adding labels is easy in `Asymptote'; one specifies the label as a
+double-quoted `LaTeX' string, a coordinate, and an optional alignment
+direction:
+
+size(3cm);
+draw(unitsquare);
+label("$A$",(0,0),SW);
+label("$B$",(1,0),SE);
+label("$C$",(1,1),NE);
+label("$D$",(0,1),NW);
+
+
+
+`Asymptote' uses the standard compass directions `E=(1,0)', `N=(0,1)',
+`NE=unit(N+E)', and `ENE=unit(E+NE)', etc., which along with the
+directions `up', `down', `right', and `left' are defined as pairs in
+the `Asymptote' base module `plain' (a user who has a local variable
+named `E' may access the compass direction `E' by prefixing it with the
+name of the module where it is defined: `plain.E').
+
+3.5 Paths
+=========
+
+This example draws a path that approximates a quarter circle,
+terminated with an arrowhead:
+
+size(100,0);
+draw((1,0){up}..{left}(0,1),Arrow);
+
+
+Here the directions `up' and `left' in braces specify the incoming and
+outgoing directions at the points `(1,0)' and `(0,1)', respectively.
+
+ In general, a path is specified as a list of points (or other paths)
+interconnected with `--', which denotes a straight line segment, or
+`..', which denotes a cubic spline (*note Bezier curves::). Specifying
+a final `..cycle' creates a cyclic path that connects smoothly back to
+the initial node, as in this approximation (accurate to within 0.06%)
+of a unit circle:
+path unitcircle=E..N..W..S..cycle;
+
+An `Asymptote' path, being connected, is equivalent to a `Postscript
+subpath'. The `^^' binary operator, which requests that the pen be
+moved (without drawing or affecting endpoint curvatures) from the final
+point of the left-hand path to the initial point of the right-hand
+path, may be used to group several `Asymptote' paths into a `path[]'
+array (equivalent to a `PostScript' path):
+
+size(0,100);
+path unitcircle=E..N..W..S..cycle;
+path g=scale(2)*unitcircle;
+filldraw(unitcircle^^g,evenodd+yellow,black);
+
+
+
+The `PostScript' even-odd fill rule here specifies that only the region
+bounded between the two unit circles is filled (*note fillrule::). In
+this example, the same effect can be achieved by using the default zero
+winding number fill rule, if one is careful to alternate the
+orientation of the paths:
+filldraw(unitcircle^^reverse(g),yellow,black);
+
+ The `^^' operator is used by the `box(triple, triple)' function in
+the module `three.asy' to construct the edges of a cube `unitbox'
+without retracing steps (*note three::):
+
+import three;
+
+currentprojection=orthographic(5,4,2,center=true);
+
+size(5cm);
+size3(3cm,5cm,8cm);
+
+draw(unitbox);
+
+dot(unitbox,red);
+
+label("$O$",(0,0,0),NW);
+label("(1,0,0)",(1,0,0),S);
+label("(0,1,0)",(0,1,0),E);
+label("(0,0,1)",(0,0,1),Z);
+
+
+
+See section *note graph:: (or the online `Asymptote' gallery and
+external links posted at `http://asymptote.sourceforge.net') for
+further examples, including two-dimensional and interactive
+three-dimensional scientific graphs. Additional examples have been
+posted by Philippe Ivaldi at `http://www.piprime.fr/asymptote'. A
+user-written `Asymptote' tutorial is available at
+http://www.artofproblemsolving.com/Wiki/index.php/Asymptote:_Basics
+
+
+File: asymptote.info, Node: Drawing commands, Next: Bezier curves, Prev: Tutorial, Up: Top
+
+4 Drawing commands
+******************
+
+All of `Asymptote''s graphical capabilities are based on four primitive
+commands. The three `PostScript' drawing commands `draw', `fill', and
+`clip' add objects to a picture in the order in which they are
+executed, with the most recently drawn object appearing on top. The
+labeling command `label' can be used to add text labels and external
+EPS images, which will appear on top of the `PostScript' objects (since
+this is normally what one wants), but again in the relative order in
+which they were executed. After drawing objects on a picture, the
+picture can be output with the `shipout' function (*note shipout::).
+
+ If you wish to draw `PostScript' objects on top of labels (or
+verbatim `tex' commands; *note tex::), the `layer' command may be used
+to start a new `PostScript/LaTeX' layer:
+void layer(picture pic=currentpicture);
+
+ The `layer' function gives one full control over the order in which
+objects are drawn. Layers are drawn sequentially, with the most recent
+layer appearing on top. Within each layer, labels, images, and verbatim
+`tex' commands are always drawn after the `PostScript' objects in that
+layer.
+
+ While some of these drawing commands take many options, they all
+have sensible default values (for example, the picture argument
+defaults to currentpicture).
+
+* Menu:
+
+* draw:: Draw a path on a picture or frame
+* fill:: Fill a cyclic path on a picture or frame
+* clip:: Clip a picture or frame to a cyclic path
+* label:: Label a point on a picture
+
+
+File: asymptote.info, Node: draw, Next: fill, Up: Drawing commands
+
+4.1 draw
+========
+
+void draw(picture pic=currentpicture, Label L="", path g,
+ align align=NoAlign, pen p=currentpen,
+ arrowbar arrow=None, arrowbar bar=None, margin margin=NoMargin,
+ Label legend="", marker marker=nomarker);
+
+Draw the path `g' on the picture `pic' using pen `p' for drawing, with
+optional drawing attributes (Label `L', explicit label alignment
+`align', arrows and bars `arrow' and `bar', margins `margin', legend,
+and markers `marker'). Only one parameter, the path, is required. For
+convenience, the arguments `arrow' and `bar' may be specified in either
+order. The argument `legend' is a Label to use in constructing an
+optional legend entry.
+
+ Bars are useful for indicating dimensions. The possible values of
+`bar' are `None', `BeginBar', `EndBar' (or equivalently `Bar'), and
+`Bars' (which draws a bar at both ends of the path). Each of these bar
+specifiers (except for `None') will accept an optional real argument
+that denotes the length of the bar in `PostScript' coordinates. The
+default bar length is `barsize(pen)'.
+
+ The possible values of `arrow' are `None', `Blank' (which draws no
+arrows or path), `BeginArrow', `MidArrow', `EndArrow' (or equivalently
+`Arrow'), and `Arrows' (which draws an arrow at both ends of the path).
+All of the arrow specifiers except for `None' and `Blank' may be given
+the optional arguments arrowhead `arrowhead' (one of the predefined
+arrowhead styles `DefaultHead', `SimpleHead', `HookHead', `TeXHead'),
+real `size' (arrowhead size in `PostScript' coordinates), real `angle'
+(arrowhead angle in degrees), filltype `filltype' (one of `FillDraw',
+`Fill', `NoFill', `UnFill', `Draw') and (except for `MidArrow' and
+`Arrows') a real `position' (in the sense of `point(path p, real t)')
+along the path where the tip of the arrow should be placed. The default
+arrowhead size when drawn with a pen `p' is `arrowsize(p)'. There are
+also arrow versions with slightly modified default values of `size' and
+`angle' suitable for curved arrows: `BeginArcArrow', `EndArcArrow' (or
+equivalently `ArcArrow'), `MidArcArrow', and `ArcArrows'.
+
+ Margins can be used to shrink the visible portion of a path by
+`labelmargin(p)' to avoid overlap with other drawn objects. Typical
+values of `margin' are `NoMargin', `BeginMargin', `EndMargin' (or
+equivalently `Margin'), and `Margins' (which leaves a margin at both
+ends of the path). One may use `Margin(real begin, real end)' to
+specify the size of the beginning and ending margin, respectively, in
+multiples of the units `labelmargin(p)' used for aligning labels.
+Alternatively, `BeginPenMargin', `EndPenMargin' (or equivalently
+`PenMargin'), `PenMargins', `PenMargin(real begin, real end)' specify a
+margin in units of the pen line width, taking account of the pen line
+width when drawing the path or arrow. For example, use `DotMargin', an
+abbreviation for `PenMargin(-0.5*dotfactor,0.5*dotfactor)', to draw
+from the usual beginning point just up to the boundary of an end dot of
+width `dotfactor*linewidth(p)'. The qualifiers `BeginDotMargin',
+`EndDotMargin', and `DotMargins' work similarly. The qualifier
+`TrueMargin(real begin, real end)' allows one to specify a margin
+directly in `PostScript' units, independent of the pen line width.
+
+ The use of arrows, bars, and margins is illustrated by the examples
+`Pythagoras.asy', `sqrtx01.asy', and `triads.asy'.
+
+ The legend for a picture `pic' can be fit and aligned to a frame
+with the routine:
+frame legend(picture pic=currentpicture, int perline=1,
+ real xmargin=legendmargin, real ymargin=xmargin,
+ real linelength=legendlinelength,
+ real hskip=legendhskip, real vskip=legendvskip,
+ real maxwidth=0, real maxheight=0,
+ bool hstretch=false, bool vstretch=false, pen p=currentpen);
+ Here `xmargin' and `ymargin' specify the surrounding x and y margins,
+`perline' specifies the number of entries per line (default 1; 0 means
+choose this number automatically), `linelength' specifies the length of
+the path lines, `hskip' and `vskip' specify the line skip (as a
+multiple of the legend entry size), `maxwidth' and `maxheight' specify
+optional upper limits on the width and height of the resulting legend
+(0 means unlimited), `hstretch' and `vstretch' allow the legend to
+stretch horizontally or vertically, and `p' specifies the pen used to
+draw the bounding box. The legend frame can then be added and aligned
+about a point on a picture `dest' using `add' or `attach' (*note add
+about::).
+
+ To draw a dot, simply draw a path containing a single point. The
+`dot' command defined in the module `plain' draws a dot having a
+diameter equal to an explicit pen line width or the default line width
+magnified by `dotfactor' (6 by default), using the specified filltype
+(*note filltype::):
+void dot(picture pic=currentpicture, pair z, pen p=currentpen,
+ filltype filltype=Fill);
+void dot(picture pic=currentpicture, Label L, pair z, align align=NoAlign,
+ string format=defaultformat, pen p=currentpen, filltype filltype=Fill);
+void dot(picture pic=currentpicture, Label[] L=new Label[], pair[] z,
+ align align=NoAlign, string format=defaultformat, pen p=currentpen,
+ filltype filltype=Fill)
+void dot(picture pic=currentpicture, Label L, pen p=currentpen,
+ filltype filltype=Fill);
+
+ If the variable `Label' is given as the `Label' argument to the
+second routine, the `format' argument will be used to format a string
+based on the dot location (here `defaultformat' is `"$%.4g$"'). The
+third routine draws a dot at every point of a pair array `z'. One can
+also draw a dot at every node of a path:
+void dot(picture pic=currentpicture, Label[] L=new Label[],
+ path g, align align=RightSide, string format=defaultformat,
+ pen p=currentpen, filltype filltype=Fill);
+ See *note pathmarkers:: and *note markers:: for more general methods
+for marking path nodes.
+
+ To draw a fixed-sized object (in `PostScript' coordinates) about the
+user coordinate `origin', use the routine
+void draw(pair origin, picture pic=currentpicture, Label L="", path g,
+ align align=NoAlign, pen p=currentpen, arrowbar arrow=None,
+ arrowbar bar=None, margin margin=NoMargin, Label legend="",
+ marker marker=nomarker);
+
+
+File: asymptote.info, Node: fill, Next: clip, Prev: draw, Up: Drawing commands
+
+4.2 fill
+========
+
+void fill(picture pic=currentpicture, path g, pen p=currentpen);
+
+Fill the interior region bounded by the cyclic path `g' on the picture
+`pic', using the pen `p'.
+
+ There is also a convenient `filldraw' command, which fills the path
+and then draws in the boundary. One can specify separate pens for each
+operation:
+void filldraw(picture pic=currentpicture, path g, pen fillpen=currentpen,
+ pen drawpen=currentpen);
+
+ This fixed-size version of `fill' allows one to fill an object
+described in `PostScript' coordinates about the user coordinate
+`origin':
+void fill(pair origin, picture pic=currentpicture, path g, pen p=currentpen);
+
+This is just a convenient abbreviation for the commands:
+picture opic;
+fill(opic,g,p);
+add(pic,opic,origin);
+
+ The routine
+void filloutside(picture pic=currentpicture, path g, pen p=currentpen);
+ fills the region exterior to the path `g', out to the current boundary
+of picture `pic'.
+
+ Lattice gradient shading varying smoothly over a two-dimensional
+array of pens `p', using fill rule `fillrule', can be produced with
+void latticeshade(picture pic=currentpicture, path g, bool stroke=false,
+ pen fillrule=currentpen, pen[][] p)
+ If `stroke=true', the region filled is the same as the region that
+would be drawn by `draw(pic,g,fillrule+zerowinding)'; in this case the
+path `g' need not be cyclic. The pens in `p' must belong to the same
+color space. One can use the functions `rgb(pen)' or `cmyk(pen)' to
+promote pens to a higher color space, as illustrated in the example file
+`latticeshading.asy'.
+
+ Axial gradient shading varying smoothly from `pena' to `penb' in the
+direction of the line segment `a--b' can be achieved with
+void axialshade(picture pic=currentpicture, path g, bool stroke=false,
+ pen pena, pair a,
+ pen penb, pair b);
+
+ Radial gradient shading varying smoothly from `pena' on the circle
+with center `a' and radius `ra' to `penb' on the circle with center `b'
+and radius `rb' is similar:
+void radialshade(picture pic=currentpicture, path g, bool stroke=false,
+ pen pena, pair a, real ra,
+ pen penb, pair b, real rb);
+ Illustrations of radial shading are provided in the example files
+`shade.asy', `ring.asy', and `shadestroke.asy'.
+
+ Gouraud shading using fill rule `fillrule' and the vertex colors in
+the pen array `p' on a triangular lattice defined by the vertices `z'
+and edge flags `edges' is implemented with
+void gouraudshade(picture pic=currentpicture, path g, bool stroke=false,
+ pen fillrule=currentpen, pen[] p, pair[] z,
+ int[] edges);
+void gouraudshade(picture pic=currentpicture, path g, bool stroke=false,
+ pen fillrule=currentpen, pen[] p, int[] edges);
+ In the second form, the elements of `z' are taken to be successive
+nodes of path `g'. The pens in `p' must belong to the same color space.
+Illustrations of Gouraud shading are provided in the example file
+`Gouraud.asy' and in the solid geometry module `solids.asy'. The edge
+flags used in Gouraud shading are documented here:
+
+ `http://partners.adobe.com/public/developer/en/ps/sdk/TN5600.SmoothShading.pdf'.
+
+ Tensor product shading using fill rule `fillrule' on patches bounded
+by the n cyclic paths of length 4 in path array `b', using the vertex
+colors specified in the n \times 4 pen array `p' and internal control
+points in the n \times 4 array `z', is implemented with
+void tensorshade(picture pic=currentpicture, path g, bool stroke=false,
+ pen fillrule=currentpen, pen[][] p, path[] b=g,
+ pair[][] z=new pair[][]);
+ If the array `z' is empty, Coons shading, in which the color control
+points are calculated automatically, is used. The pens in `p' must
+belong to the same color space. A simpler interface for the case of a
+single patch (n=1) is also available:
+void tensorshade(picture pic=currentpicture, path g, bool stroke=false,
+ pen fillrule=currentpen, pen[] p, path b=g,
+ pair[] z=new pair[]);
+ One can also smoothly shade the regions between consecutive paths of a
+sequence using a given array of pens:
+void draw(picture pic=currentpicture, pen fillrule=currentpen, path[] g,
+ pen[] p);
+ Illustrations of tensor product and Coons shading are provided in the
+example files `tensor.asy', `Coons.asy', `BezierSurface.asy', and
+`rainbow.asy'.
+
+ More general shading possibilities are available with the `pdflatex',
+`context', and `pdftex' TeX engines: the routine
+void functionshade(picture pic=currentpicture, path[] g, bool stroke=false,
+ pen fillrule=currentpen, string shader);
+ shades on picture `pic' the interior of path `g' according to fill
+rule `fillrule' using the `PostScript' calculator routine specified by
+the string `shader'; this routine takes 2 arguments, each in [0,1], and
+returns `colors(fillrule).length' color components. Function shading
+is illustrated in the example `functionshading.asy'.
+
+ The following routine uses `evenodd' clipping together with the `^^'
+operator to unfill a region:
+
+void unfill(picture pic=currentpicture, path g);
+
+
+File: asymptote.info, Node: clip, Next: label, Prev: fill, Up: Drawing commands
+
+4.3 clip
+========
+
+void clip(picture pic=currentpicture, path g, stroke=false,
+ pen fillrule=currentpen);
+
+Clip the current contents of picture `pic' to the region bounded by the
+path `g', using fill rule `fillrule' (*note fillrule::). If
+`stroke=true', the clipped portion is the same as the region that would
+be drawn with `draw(pic,g,fillrule+zerowinding)'; in this case the path
+`g' need not be cyclic. For an illustration of picture clipping, see
+the first example in *note LaTeX usage::.
+
+
+File: asymptote.info, Node: label, Prev: clip, Up: Drawing commands
+
+4.4 label
+=========
+
+void label(picture pic=currentpicture, Label L, pair position,
+ align align=NoAlign, pen p=currentpen, filltype filltype=NoFill)
+
+Draw Label `L' on picture `pic' using pen `p'. If `align' is `NoAlign',
+the label will be centered at user coordinate `position'; otherwise it
+will be aligned in the direction of `align' and displaced from
+`position' by the `PostScript' offset `align*labelmargin(p)'. The
+constant `Align' can be used to align the bottom-left corner of the
+label at `position'. The Label `L' can either be a string or the
+structure obtained by calling one of the functions
+Label Label(string s="", pair position, align align=NoAlign,
+ pen p=nullpen, embed embed=Rotate, filltype filltype=NoFill);
+Label Label(string s="", align align=NoAlign,
+ pen p=nullpen, embed embed=Rotate, filltype filltype=NoFill);
+Label Label(Label L, pair position, align align=NoAlign,
+ pen p=nullpen, embed embed=L.embed, filltype filltype=NoFill);
+Label Label(Label L, align align=NoAlign,
+ pen p=nullpen, embed embed=L.embed, filltype filltype=NoFill);
+ The text of a Label can be scaled, slanted, rotated, or shifted by
+multiplying it on the left by an affine transform (*note Transforms::).
+For example, `rotate(45)*xscale(2)*L' first scales `L' in the x
+direction and then rotates it counterclockwise by 45 degrees. The final
+position of a Label can also be shifted by a `PostScript' coordinate
+translation: `shift(10,0)*L'. An explicit pen specified within the
+Label overrides other pen arguments. The `embed' argument determines
+how the Label should transform with the embedding picture:
+`Shift'
+ only shift with embedding picture;
+
+`Rotate'
+ only shift and rotate with embedding picture (default);
+
+`Rotate(pair z)'
+ rotate with (picture-transformed) vector `z'.
+
+`Slant'
+ only shift, rotate, slant, and reflect with embedding picture;
+
+`Scale'
+ shift, rotate, slant, reflect, and scale with embedding picture.
+
+
+ To add a label to a path, use
+void label(picture pic=currentpicture, Label L, path g, align align=NoAlign,
+ pen p=currentpen, filltype filltype=NoFill);
+ By default the label will be positioned at the midpoint of the path.
+An alternative label position (in the sense of `point(path p, real t)')
+may be specified as a real value for `position' in constructing the
+Label. The position `Relative(real)' specifies a location relative to
+the total arclength of the path. These convenient abbreviations are
+predefined:
+position BeginPoint=Relative(0);
+position MidPoint=Relative(0.5);
+position EndPoint=Relative(1);
+
+ Path labels are aligned in the direction `align', which may be
+specified as an absolute compass direction (pair) or a direction
+`Relative(pair)' measured relative to a north axis in the local
+direction of the path. For convenience `LeftSide', `Center', and
+`RightSide' are defined as `Relative(W)', `Relative((0,0))', and
+`Relative(E)', respectively. Multiplying `LeftSide', `Center',
+`RightSide' on the left by a real scaling factor will move the label
+further away from or closer to the path.
+
+ A label with a fixed-size arrow of length `arrowlength' pointing to
+`b' from direction `dir' can be produced with the routine
+void arrow(picture pic=currentpicture, Label L="", pair b, pair dir,
+ real length=arrowlength, align align=NoAlign,
+ pen p=currentpen, arrowbar arrow=Arrow, margin margin=EndMargin);
+ If no alignment is specified (either in the Label or as an explicit
+argument), the optional Label will be aligned in the direction `dir',
+using margin `margin'.
+
+ The function `string graphic(string name, string options="")'
+returns a string that can be used to include an encapsulated
+`PostScript' (EPS) file. Here, `name' is the name of the file to
+include and `options' is a string containing a comma-separated list of
+optional bounding box (`bb=llx lly urx ury'), width (`width=value'),
+height (`height=value'), rotation (`angle=value'), scaling
+(`scale=factor'), clipping (`clip=bool'), and draft mode (`draft=bool')
+parameters. The `layer()' function can be used to force future objects
+to be drawn on top of the included image:
+label(graphic("file.eps","width=1cm"),(0,0),NE);
+layer();
+
+ The `string baseline(string s, string template="\strut")' function
+can be used to enlarge the bounding box of labels to match a given
+template, so that their baselines will be typeset on a horizontal line.
+See `Pythagoras.asy' for an example.
+
+ One can prevent labels from overwriting one another with the
+`overwrite' pen attribute (*note overwrite::).
+
+ The structure `object' defined in `plain_Label.asy' allows Labels
+and frames to be treated in a uniform manner. A group of objects may
+be packed together into single frame with the routine
+frame pack(pair align=2S ... object inset[]);
+ To draw or fill a box (or ellipse or other path) around a Label and
+return the bounding object, use one of the routines
+object draw(picture pic=currentpicture, Label L, envelope e,
+ real xmargin=0, real ymargin=xmargin, pen p=currentpen,
+ filltype filltype=NoFill, bool above=true);
+object draw(picture pic=currentpicture, Label L, envelope e, pair position,
+ real xmargin=0, real ymargin=xmargin, pen p=currentpen,
+ filltype filltype=NoFill, bool above=true);
+ Here `envelope' is a boundary-drawing routine such as `box',
+`roundbox', or `ellipse' defined in `plain_boxes.asy' (*note
+envelope::).
+
+ The function `path[] texpath(Label L)' returns the path array that
+TeX would fill to draw the Label `L'.
+
+ The `string minipage(string s, width=100pt)' function can be used to
+format string `s' into a paragraph of width `width'. This example uses
+`minipage', `clip', and `graphic' to produce a CD label:
+
+
+size(11.7cm,11.7cm);
+asy(nativeformat(),"logo");
+fill(unitcircle^^(scale(2/11.7)*unitcircle),
+ evenodd+rgb(124/255,205/255,124/255));
+label(scale(1.1)*minipage(
+"\centering\scriptsize \textbf{\LARGE {\tt Asymptote}\\
+\smallskip
+\small The Vector Graphics Language}\\
+\smallskip
+\textsc{Andy Hammerlindl, John Bowman, and Tom Prince}
+http://asymptote.sourceforge.net\\
+",8cm),(0,0.6));
+label(graphic("logo."+nativeformat(),"height=7cm"),(0,-0.22));
+clip(unitcircle^^(scale(2/11.7)*unitcircle),evenodd);
+
+
+File: asymptote.info, Node: Bezier curves, Next: Programming, Prev: Drawing commands, Up: Top
+
+5 Bezier curves
+***************
+
+Each interior node of a cubic spline may be given a direction prefix or
+suffix `{dir}': the direction of the pair `dir' specifies the direction
+of the incoming or outgoing tangent, respectively, to the curve at that
+node. Exterior nodes may be given direction specifiers only on their
+interior side.
+
+ A cubic spline between the node z_0, with postcontrol point c_0, and
+the node z_1, with precontrol point c_1, is computed as the Bezier curve
+
+
+
+As illustrated in the diagram below, the third-order midpoint (m_5)
+constructed from two endpoints z_0 and z_1 and two control points c_0
+and c_1, is the point corresponding to t=1/2 on the Bezier curve formed
+by the quadruple (z_0, c_0, c_1, z_1). This allows one to recursively
+construct the desired curve, by using the newly extracted third-order
+midpoint as an endpoint and the respective second- and first-order
+midpoints as control points:
+
+
+
+Here m_0, m_1 and m_2 are the first-order midpoints, m_3 and m_4 are
+the second-order midpoints, and m_5 is the third-order midpoint. The
+curve is then constructed by recursively applying the algorithm to
+(z_0, m_0, m_3, m_5) and (m_5, m_4, m_2, z_1).
+
+ In fact, an analogous property holds for points located at any
+fraction t in [0,1] of each segment, not just for midpoints (t=1/2).
+
+ The Bezier curve constructed in this manner has the following
+properties:
+ * It is entirely contained in the convex hull of the given four
+ points.
+
+ * It starts heading from the first endpoint to the first control
+ point and finishes heading from the second control point to the
+ second endpoint.
+
+
+ The user can specify explicit control points between two nodes like
+this:
+draw((0,0)..controls (0,100) and (100,100)..(100,0));
+
+ However, it is usually more convenient to just use the `..'
+operator, which tells `Asymptote' to choose its own control points
+using the algorithms described in Donald Knuth's monograph, The
+MetaFontbook, Chapter 14. The user can still customize the guide (or
+path) by specifying direction, tension, and curl values.
+
+ The higher the tension, the straighter the curve is, and the more it
+approximates a straight line. One can change the spline tension from
+its default value of 1 to any real value greater than or equal to 0.75
+(cf. John D. Hobby, Discrete and Computational Geometry 1, 1986):
+draw((100,0)..tension 2 ..(100,100)..(0,100));
+draw((100,0)..tension 2 and 1 ..(100,100)..(0,100));
+draw((100,0)..tension atleast 1 ..(100,100)..(0,100));
+
+ The curl parameter specifies the curvature at the endpoints of a path
+(0 means straight; the default value of 1 means approximately circular):
+draw((100,0){curl 0}..(100,100)..{curl 0}(0,100));
+
+ The `MetaPost ...' path connector, which requests, when possible, an
+inflection-free curve confined to a triangle defined by the endpoints
+and directions, is implemented in `Asymptote' as the convenient
+abbreviation `::' for `..tension atleast 1 ..' (the ellipsis `...' is
+used in `Asymptote' to indicate a variable number of arguments; *note
+Rest arguments::). For example, compare
+
+draw((0,0){up}..(100,25){right}..(200,0){down});
+
+
+with
+
+draw((0,0){up}::(100,25){right}::(200,0){down});
+
+
+
+The `---' connector is an abbreviation for `..tension atleast
+infinity..' and the `&' connector concatenates two paths, after first
+stripping off the last node of the first path (which normally should
+coincide with the first node of the second path).
+
+
+File: asymptote.info, Node: Programming, Next: LaTeX usage, Prev: Bezier curves, Up: Top
+
+6 Programming
+*************
+
+Here is a short introductory example to the `Asymptote' programming
+language that highlights the similarity of its control structures with
+those of C, C++, and Java:
+// This is a comment.
+
+// Declaration: Declare x to be a real variable;
+real x;
+
+// Assignment: Assign the real variable x the value 1.
+x=1.0;
+
+// Conditional: Test if x equals 1 or not.
+if(x == 1.0) {
+ write("x equals 1.0");
+} else {
+ write("x is not equal to 1.0");
+}
+
+// Loop: iterate 10 times
+for(int i=0; i < 10; ++i) {
+ write(i);
+}
+
+ `Asymptote' supports `while', `do', `break', and `continue'
+statements just as in C/C++. It also supports the Java-style shorthand
+for iterating over all elements of an array:
+
+// Iterate over an array
+int[] array={1,1,2,3,5};
+for(int k : array) {
+ write(k);
+}
+ In addition, it supports many features beyond the ones found in those
+languages.
+
+* Menu:
+
+* Data types:: void, bool, int, real, pair, triple, string
+* Paths and guides::
+* Pens:: Colors, line types, line widths, font sizes
+* Transforms:: Affine transforms
+* Frames and pictures:: Canvases for immediate and deferred drawing
+* Files:: Reading and writing your data
+* Variable initializers:: Initialize your variables
+* Structures:: Organize your data
+* Operators:: Arithmetic and logical operators
+* Implicit scaling:: Avoiding those ugly *s
+* Functions:: Traditional and high-order functions
+* Arrays:: Dynamic vectors
+* Casts:: Implicit and explicit casts
+* Import:: Importing external `Asymptote' modules
+* Static:: Where to allocate your variable?
+
+
+File: asymptote.info, Node: Data types, Next: Paths and guides, Up: Programming
+
+6.1 Data types
+==============
+
+`Asymptote' supports the following data types (in addition to
+user-defined types):
+
+`void'
+ The void type is used only by functions that take or return no
+ arguments.
+
+`bool'
+ a boolean type that can only take on the values `true' or `false'.
+ For example: bool b=true;
+
+ defines a boolean variable `b' and initializes it to the value
+ `true'. If no initializer is given: bool b;
+
+ the value `false' is assumed.
+
+`bool3'
+ an extended boolean type that can take on the values `true',
+ `default', or `false'. A bool3 type can be cast to or from a bool.
+ The default initializer for bool3 is `default'.
+
+`int'
+ an integer type; if no initializer is given, the implicit value `0'
+ is assumed. The minimum allowed value of an integer is `intMin'
+ and the maximum value is `intMax'.
+
+`real'
+ a real number; this should be set to the highest-precision native
+ floating-point type on the architecture. The implicit initializer
+ for reals is `0.0'. Real numbers have precision `realEpsilon',
+ with `realDigits' significant digits. The smallest positive real
+ number is `realMin' and the largest positive real number is
+ `realMax'. The variable `inf' and function `bool isnan(real x)'
+ are useful when floating-point exceptions are masked with the
+ `-mask' command-line option (the default in interactive mode).
+
+`pair'
+ complex number, that is, an ordered pair of real components
+ `(x,y)'. The real and imaginary parts of a pair `z' can read as
+ `z.x' and `z.y'. We say that `x' and `y' are virtual members of
+ the data element pair; they cannot be directly modified, however.
+ The implicit initializer for pairs is `(0.0,0.0)'.
+
+ There are a number of ways to take the complex conjugate of a pair:
+ pair z=(3,4);
+ z=(z.x,-z.y);
+ z=z.x-I*z.y;
+ z=conj(z);
+
+ Here `I' is the pair `(0,1)'. A number of built-in functions are
+ defined for pairs:
+
+ `pair conj(pair z)'
+ returns the conjugate of `z';
+
+ `real length(pair z)'
+ returns the complex modulus `|z|' of its argument `z'. For
+ example,
+ pair z=(3,4);
+ length(z);
+ returns the result 5. A synonym for `length(pair)' is
+ `abs(pair)';
+
+ `real angle(pair z, bool warn=true)'
+ returns the angle of `z' in radians in the interval
+ [-`pi',`pi'] or `0' if `warn' is `false' and `z=(0,0)'
+ (rather than producing an error);
+
+ `real degrees(pair z, bool warn=true)'
+ returns the angle of `z' in degrees in the interval [0,360)
+ or `0' if `warn' is `false' and `z=(0,0)' (rather than
+ producing an error);
+
+ `pair unit(pair z)'
+ returns a unit vector in the direction of the pair `z';
+
+ `pair expi(real angle)'
+ returns a unit vector in the direction `angle' measured in
+ radians;
+
+ `pair dir(real degrees)'
+ returns a unit vector in the direction `degrees' measured in
+ degrees;
+
+ `real xpart(pair z)'
+ returns `z.x';
+
+ `real ypart(pair z)'
+ returns `z.y';
+
+ `pair realmult(pair z, pair w)'
+ returns the element-by-element product `(z.x*w.x,z.y*w.y)';
+
+ `real dot(explicit pair z, explicit pair w)'
+ returns the dot product `z.x*w.x+z.y*w.y';
+
+ `pair minbound(pair z, pair w)'
+ returns `(min(z.x,w.x),min(z.y,w.y))';
+
+ `pair maxbound(pair z, pair w)'
+ returns `(max(z.x,w.x),max(z.y,w.y))'.
+
+
+`triple'
+ an ordered triple of real components `(x,y,z)' used for
+ three-dimensional drawings. The respective components of a triple
+ `v' can read as `v.x', `v.y', and `v.z'. The implicit initializer
+ for triples is `(0.0,0.0,0.0)'.
+
+ Here are the built-in functions for triples:
+ `real length(triple v)'
+ returns the length `|v|' of the vector `v'. A synonym for
+ `length(triple)' is `abs(triple)';
+
+ `real polar(triple v, bool warn=true)'
+ returns the colatitude of `v' measured from the z axis in
+ radians or `0' if `warn' is `false' and `v=O' (rather than
+ producing an error);
+
+ `real azimuth(triple v, bool warn=true)'
+ returns the longitude of `v' measured from the x axis in
+ radians or `0' if `warn' is `false' and `v.x=v.y=0' (rather
+ than producing an error);
+
+ `real colatitude(triple v, bool warn=true)'
+ returns the colatitude of `v' measured from the z axis in
+ degrees or `0' if `warn' is `false' and `v=O' (rather than
+ producing an error);
+
+ `real latitude(triple v, bool warn=true)'
+ returns the latitude of `v' measured from the xy plane in
+ degrees or `0' if `warn' is `false' and `v=O' (rather than
+ producing an error);
+
+ `real longitude(triple v, bool warn=true)'
+ returns the longitude of `v' measured from the x axis in
+ degrees or `0' if `warn' is `false' and `v.x=v.y=0' (rather
+ than producing an error);
+
+ `triple unit(triple v)'
+ returns a unit triple in the direction of the triple `v';
+
+ `triple expi(real polar, real azimuth)'
+ returns a unit triple in the direction `(polar,azimuth)'
+ measured in radians;
+
+ `triple dir(real colatitude, real longitude)'
+ returns a unit triple in the direction
+ `(colatitude,longitude)' measured in degrees;
+
+ `real xpart(triple v)'
+ returns `v.x';
+
+ `real ypart(triple v)'
+ returns `v.y';
+
+ `real zpart(triple v)'
+ returns `v.z';
+
+ `real dot(triple u, triple v)'
+ returns the dot product `u.x*v.x+u.y*v.y+u.z*v.z';
+
+ `triple cross(triple u, triple v)'
+ returns the cross product
+
+ `(u.y*v.z-u.z*v.y,u.z*v.x-u.x*v.z,u.x*v.y-v.x*u.y)';
+
+ `triple minbound(triple u, triple v)'
+ returns `(min(u.x,v.x),min(u.y,v.y),min(u.z,v.z))';
+
+ `triple maxbound(triple u, triple v)'
+ returns `(max(u.x,v.x),max(u.y,v.y),max(u.z,v.z)').
+
+
+`string'
+ a character string, implemented using the STL `string' class.
+
+ Strings delimited by double quotes (`"') are subject to the
+ following mappings to allow the use of double quotes in TeX (e.g.
+ for using the `babel' package, *note babel::):
+
+ * \" maps to "
+
+ * \\ maps to \\
+
+ Strings delimited by single quotes (`'') have the same mappings as
+ character strings in ANSI `C':
+
+ * \' maps to '
+
+ * \" maps to "
+
+ * \? maps to ?
+
+ * \\ maps to backslash
+
+ * \a maps to alert
+
+ * \b maps to backspace
+
+ * \f maps to form feed
+
+ * \n maps to newline
+
+ * \r maps to carriage return
+
+ * \t maps to tab
+
+ * \v maps to vertical tab
+
+ * \0-\377 map to corresponding octal byte
+
+ * \x0-\xFF map to corresponding hexadecimal byte
+
+ The implicit initializer for strings is the empty string `""'.
+ Strings may be concatenated with the `+' operator. In the following
+ string functions, position `0' denotes the start of the string:
+ `int length(string s)'
+ returns the length of the string `s';
+
+ `int find(string s, string t, int pos=0)'
+ returns the position of the first occurrence of string `t' in
+ string `s' at or after position `pos', or -1 if `t' is not a
+ substring of `s';
+
+ `int rfind(string s, string t, int pos=-1)'
+ returns the position of the last occurrence of string `t' in
+ string `s' at or before position `pos' (if `pos'=-1, at the
+ end of the string `s'), or -1 if `t' is not a substring of
+ `s';
+
+ `string insert(string s, int pos, string t)'
+ returns the string formed by inserting string `t' at position
+ `pos' in `s';
+
+ `string erase(string s, int pos, int n)'
+ returns the string formed by erasing the string of length `n'
+ (if `n'=-1, to the end of the string `s') at position `pos'
+ in `s';
+
+ `string substr(string s, int pos, int n=-1)'
+ returns the substring of `s' starting at position `pos' and
+ of length `n' (if `n'=-1, until the end of the string `s');
+
+ `string reverse(string s)'
+ returns the string formed by reversing string `s';
+
+ `string replace(string s, string before, string after)'
+ returns a string with all occurrences of the string `before'
+ in the string `s' changed to the string `after';
+
+ `string replace(string s, string[][] table)'
+ returns a string constructed by translating in string `s' all
+ occurrences of the string `before' in an array `table' of
+ string pairs {`before',`after'} to the corresponding string
+ `after';
+
+ `string[] split(string s, string delimiter="")'
+ returns an array of strings obtained by splitting `s' into
+ substrings delimited by `delimiter' (an empty delimiter
+ signifies a space, but with duplicate delimiters discarded);
+
+ `string format(string s, int n, string locale="")'
+ returns a string containing `n' formatted according to the
+ C-style format string `s' using locale `locale' (or the
+ current locale if an empty string is specified);
+
+ `string format(string s=defaultformat, string s=defaultseparator, real x, string locale="")'
+ returns a string containing `x' formatted according to the
+ C-style format string `s' using locale `locale' (or the
+ current locale if an empty string is specified), following
+ the behaviour of the C function `fprintf'), except that only
+ one data field is allowed, trailing zeros are removed by
+ default (unless `#' is specified), and (if the format string
+ specifies math mode) TeX is used to typeset scientific
+ notation using the `defaultseparator="\!\times\!";';
+
+ `int hex(string s);'
+ casts a hexidecimal string `s' to an integer;
+
+ `int ascii(string s);'
+ returns the ASCII code for the first character of string `s';
+
+ `string string(real x, int digits=realDigits)'
+ casts `x' to a string using precision `digits' and the C
+ locale;
+
+ `string locale(string s="")'
+ sets the locale to the given string, if nonempty, and returns
+ the current locale;
+
+ `string time(string format="%a %b %d %T %Z %Y")'
+ returns the current time formatted by the ANSI C routine
+ `strftime' according to the string `format' using the current
+ locale. Thus time();
+ time("%a %b %d %H:%M:%S %Z %Y");
+
+ are equivalent ways of returning the current time in the
+ default format used by the `UNIX' `date' command;
+
+ `int seconds(string t="", string format="")'
+ returns the time measured in seconds after the Epoch (Thu Jan
+ 01 00:00:00 UTC 1970) as determined by the ANSI C routine
+ `strptime' according to the string `format' using the current
+ locale, or the current time if `t' is the empty string. Note
+ that the `"%Z"' extension to the POSIX `strptime'
+ specification is ignored by the current GNU C Library. If an
+ error occurs, the value -1 is returned. Here are some
+ examples: seconds("Mar 02 11:12:36 AM PST 2007","%b %d %r PST %Y");
+ seconds(time("%b %d %r %z %Y"),"%b %d %r %z %Y");
+ seconds(time("%b %d %r %Z %Y"),"%b %d %r "+time("%Z")+" %Y");
+ 1+(seconds()-seconds("Jan 1","%b %d"))/(24*60*60);
+ The last example returns today's ordinal date, measured from
+ the beginning of the year.
+
+ `string time(int seconds, string format="%a %b %d %T %Z %Y")'
+ returns the time corresponding to `seconds' seconds after the
+ Epoch (Thu Jan 01 00:00:00 UTC 1970) formatted by the ANSI C
+ routine `strftime' according to the string `format' using the
+ current locale. For example, to return the date corresponding
+ to 24 hours ago: time(seconds()-24*60*60);
+
+ `int system(string s)'
+
+ `int system(string[] s)'
+ if the setting `safe' is false, call the arbitrary system
+ command `s';
+
+ `void asy(string format, bool overwrite=false ... string[] s)'
+ conditionally process each file name in array `s' in a new
+ environment, using format `format', overwriting the output
+ file only if `overwrite' is true;
+
+ `void abort(string s="")'
+ aborts execution (with a non-zero return code in batch mode);
+ if string `s' is nonempty, a diagnostic message constructed
+ from the source file, line number, and `s' is printed;
+
+ `void assert(bool b, string s="")'
+ aborts execution with an error message constructed from `s' if
+ `b=false';
+
+ `void exit()'
+ exits (with a zero error return code in batch mode);
+
+ `void sleep(int seconds)'
+ pauses for the given number of seconds;
+
+ `void usleep(int microseconds)'
+ pauses for the given number of microseconds;
+
+ `void beep()'
+ produces a beep on the console;
+
+
+
+ As in C/C++, complicated types may be abbreviated with `typedef'
+(see the example in *note Functions::).
+
+
+File: asymptote.info, Node: Paths and guides, Next: Pens, Prev: Data types, Up: Programming
+
+6.2 Paths and guides
+====================
+
+`path'
+ a cubic spline resolved into a fixed path. The implicit
+ initializer for paths is `nullpath'.
+
+ For example, the routine `circle(pair c, real r)', which returns a
+ Bezier curve approximating a circle of radius `r' centered on `c',
+ is based on `unitcircle' (*note unitcircle::): path circle(pair c, real r)
+ {
+ return shift(c)*scale(r)*unitcircle;
+ }
+ If high accuracy is needed, a true circle may be produced with the
+ routine `Circle' defined in the module `graph.asy': import graph;
+ path Circle(pair c, real r, int n=nCircle);
+
+ A circular arc consistent with `circle' centered on `c' with
+ radius `r' from `angle1' to `angle2' degrees, drawing
+ counterclockwise if `angle2 >= angle1', can be constructed with path arc(pair c, real r, real angle1, real angle2);
+ One may also specify the direction explicitly: path arc(pair c, real r, real angle1, real angle2, bool direction);
+ Here the direction can be specified as CCW (counter-clockwise) or
+ CW (clockwise). For convenience, an arc centered at `c' from pair
+ `z1' to `z2' (assuming `|z2-c|=|z1-c|') in the may also be
+ constructed with path arc(pair c, explicit pair z1, explicit pair z2,
+ bool direction=CCW)
+
+ If high accuracy is needed, true arcs may be produced with routines
+ in the module `graph.asy' that produce Bezier curves with `n'
+ control points: import graph;
+ path Arc(pair c, real r, real angle1, real angle2, bool direction,
+ int n=nCircle);
+ path Arc(pair c, real r, real angle1, real angle2, int n=nCircle);
+ path Arc(pair c, explicit pair z1, explicit pair z2,
+ bool direction=CCW, int n=nCircle);
+
+ An ellipse can be drawn with the routine path ellipse(pair c, real a, real b)
+ {
+ return shift(c)*scale(a,b)*unitcircle;
+ }
+
+ This example illustrates the use of all five guide connectors
+ discussed in *note Tutorial:: and *note Bezier curves::: size(300,0);
+ pair[] z=new pair[10];
+
+ z[0]=(0,100); z[1]=(50,0); z[2]=(180,0);
+
+ for(int n=3; n <= 9; ++n)
+ z[n]=z[n-3]+(200,0);
+
+ path p=z[0]..z[1]---z[2]::{up}z[3]
+ &z[3]..z[4]--z[5]::{up}z[6]
+ &z[6]::z[7]---z[8]..{up}z[9];
+
+ draw(p,grey+linewidth(4mm));
+
+ dot(z);
+
+
+
+ Here are some useful functions for paths:
+
+ `int length(path p);'
+ This is the number of (linear or cubic) segments in path `p'.
+ If `p' is cyclic, this is the same as the number of nodes in
+ `p'.
+
+ `int size(path p);'
+ This is the number of nodes in the path `p'. If `p' is
+ cyclic, this is the same as `length(p)'.
+
+ `bool cyclic(path p);'
+ returns `true' iff path `p' is cyclic.
+
+ `bool straight(path p, int i);'
+ returns `true' iff the segment of path `p' between node `i'
+ and node `i+1' is straight.
+
+ `bool piecewisestraight(path p)'
+ returns `true' iff the path `p' is piecewise straight.
+
+ `pair point(path p, int t);'
+ If `p' is cyclic, return the coordinates of node `t' mod
+ `length(p)'. Otherwise, return the coordinates of node `t',
+ unless `t' < 0 (in which case `point(0)' is returned) or `t'
+ > `length(p)' (in which case `point(length(p))' is returned).
+
+ `pair point(path p, real t);'
+ This returns the coordinates of the point between node
+ `floor(t)' and `floor(t)+1' corresponding to the cubic spline
+ parameter `t-floor(t)' (*note Bezier curves::). If `t' lies
+ outside the range [0,`length(p)'], it is first reduced modulo
+ `length(p)' in the case where `p' is cyclic or else converted
+ to the corresponding endpoint of `p'.
+
+ `pair dir(path p, int t, int sign=0, bool normalize=true);'
+ If `sign < 0', return the direction (as a pair) of the
+ incoming tangent to path `p' at node `t'; if `sign > 0',
+ return the direction of the outgoing tangent. If `sign=0',
+ the mean of these two directions is returned.
+
+ `pair dir(path p, real t, bool normalize=true);'
+ returns the direction of the tangent to path `p' at the point
+ between node `floor(t)' and `floor(t)+1' corresponding to the
+ cubic spline parameter `t-floor(t)' (*note Bezier curves::).
+
+ `pair dir(path p)'
+ returns dir(p,length(p)).
+
+ `pair dir(path p, path q)'
+ returns unit(dir(p)+dir(q)).
+
+ `pair accel(path p, int t, int sign=0);'
+ If `sign < 0', return the acceleration of the incoming path
+ `p' at node `t'; if `sign > 0', return the acceleration of
+ the outgoing path. If `sign=0', the mean of these two
+ accelerations is returned.
+
+ `pair accel(path p, real t);'
+ returns the acceleration of the path `p' at the point `t'.
+
+ `real radius(path p, real t);'
+ returns the radius of curvature of the path `p' at the point
+ `t'.
+
+ `pair precontrol(path p, int t);'
+ returns the precontrol point of `p' at node `t'.
+
+ `pair precontrol(path p, real t);'
+ returns the effective precontrol point of `p' at parameter
+ `t'.
+
+ `pair postcontrol(path p, int t);'
+ returns the postcontrol point of `p' at node `t'.
+
+ `pair postcontrol(path p, real t);'
+ returns the effective postcontrol point of `p' at parameter
+ `t'.
+
+ `real arclength(path p);'
+ returns the length (in user coordinates) of the piecewise
+ linear or cubic curve that path `p' represents.
+
+ `real arctime(path p, real L);'
+ returns the path "time", a real number between 0 and the
+ length of the path in the sense of `point(path p, real t)',
+ at which the cumulative arclength (measured from the
+ beginning of the path) equals `L'.
+
+ `real arcpoint(path p, real L);'
+ returns `point(p,arctime(p,L))'.
+
+ `real dirtime(path p, pair z);'
+ returns the first "time", a real number between 0 and the
+ length of the path in the sense of `point(path, real)', at
+ which the tangent to the path has the direction of pair `z',
+ or -1 if this never happens.
+
+ `real reltime(path p, real l);'
+ returns the time on path `p' at the relative fraction `l' of
+ its arclength.
+
+ `pair relpoint(path p, real l);'
+ returns the point on path `p' at the relative fraction `l' of
+ its arclength.
+
+ `pair midpoint(path p);'
+ returns the point on path `p' at half of its arclength.
+
+ `path reverse(path p);'
+ returns a path running backwards along `p'.
+
+ `path subpath(path p, int a, int b);'
+ returns the subpath of `p' running from node `a' to node `b'.
+ If `a' < `b', the direction of the subpath is reversed.
+
+ `path subpath(path p, real a, real b);'
+ returns the subpath of `p' running from path time `a' to path
+ time `b', in the sense of `point(path, real)'. If `a' < `b',
+ the direction of the subpath is reversed.
+
+ `real[] intersect(path p, path q, real fuzz=-1);'
+ If `p' and `q' have at least one intersection point, return a
+ real array of length 2 containing the times representing the
+ respective path times along `p' and `q', in the sense of
+ `point(path, real)', for one such intersection point (as
+ chosen by the algorithm described on page 137 of `The
+ MetaFontbook'). The computations are performed to the
+ absolute error specified by `fuzz', or if `fuzz < 0', to
+ machine precision. If the paths do not intersect, return a
+ real array of length 0.
+
+ `real[][] intersections(path p, path q, real fuzz=-1);'
+ Return all (unless there are infinitely many) intersection
+ times of paths `p' and `q' as a sorted array of real arrays
+ of length 2 (*note sort::). The computations are performed to
+ the absolute error specified by `fuzz', or if `fuzz < 0', to
+ machine precision.
+
+ `real[] intersections(path p, explicit pair a, explicit pair b, real fuzz=-1);'
+ Return all (unless there are infinitely many) intersection
+ times of path `p' with the (infinite) line through points `a'
+ and `b' as a sorted array. The intersections returned are
+ guaranteed to be correct to within the absolute error
+ specified by `fuzz', or if `fuzz < 0', to machine precision.
+
+ `real[] times(path p, real x)'
+ returns all intersection times of path `p' with the vertical
+ line through `(x,0)'.
+
+ `real[] times(path p, explicit pair z)'
+ returns all intersection times of path `p' with the
+ horizontal line through `(0,z.y)'.
+
+ `real[] mintimes(path p)'
+ returns an array of length 2 containing times at which path
+ `p' reaches its minimal horizontal and vertical extents,
+ respectively.
+
+ `real[] maxtimes(path p)'
+ returns an array of length 2 containing the times at which
+ path `p' reaches its maximal horizontal and vertical extents,
+ respectively.
+
+ `pair intersectionpoint(path p, path q, real fuzz=-1);'
+ returns the intersection point
+ `point(p,intersect(p,q,fuzz)[0])'.
+
+ `pair[] intersectionpoints(path p, path q, real fuzz=-1);'
+ returns an array containing all intersection points of the
+ paths `p' and `q'.
+
+ `pair extension(pair P, pair Q, pair p, pair q);'
+ returns the intersection point of the extensions of the line
+ segments `P--Q' and `p--q', or if the lines are parallel,
+ `(infinity,infinity)'.
+
+ `slice cut(path p, path knife, int n);'
+ returns the portions of path `p' before and after the `n'th
+ intersection of `p' with path `knife' as a structure `slice'
+ (if no intersection exist is found, the entire path is
+ considered to be `before' the intersection): struct slice {
+ path before,after;
+ }
+ The argument `n' is treated as modulo the number of
+ intersections.
+
+ `slice firstcut(path p, path knife);'
+ equivalent to `cut(p,knife,0);' Note that `firstcut.after'
+ plays the role of the `MetaPost cutbefore' command.
+
+ `slice lastcut(path p, path knife);'
+ equivalent to `cut(p,knife,-1);' Note that `lastcut.before'
+ plays the role of the `MetaPost cutafter' command.
+
+ `path buildcycle(... path[] p);'
+ This returns the path surrounding a region bounded by a list
+ of two or more consecutively intersecting paths, following
+ the behaviour of the `MetaPost buildcycle' command.
+
+ `pair min(path p);'
+ returns the pair (left,bottom) for the path bounding box of
+ path `p'.
+
+ `pair max(path p);'
+ returns the pair (right,top) for the path bounding box of
+ path `p'.
+
+ `int windingnumber(path p, pair z);'
+ returns the winding number of the cyclic path `p' relative to
+ the point `z'. The winding number is positive if the path
+ encircles `z' in the counterclockwise direction. If `z' lies
+ on `p' the constant `undefined' (defined to be the largest
+ odd integer) is returned.
+
+ `bool interior(int windingnumber, pen fillrule)'
+ returns true if `windingnumber' corresponds to an interior
+ point according to `fillrule'.
+
+ `bool inside(path p, pair z, pen fillrule=currentpen);'
+ returns `true' iff the point `z' lies inside or on the edge of
+ the region bounded by the cyclic path `p' according to the
+ fill rule `fillrule' (*note fillrule::).
+
+ `int inside(path p, path q, pen fillrule=currentpen);'
+ returns `1' if the cyclic path `p' strictly contains `q'
+ according to the fill rule `fillrule' (*note fillrule::), `-1'
+ if the cyclic path `q' strictly contains `p', and `0'
+ otherwise.
+
+ `pair inside(path p, pen fillrule=currentpen);'
+ returns an arbitrary point strictly inside a cyclic path `p'
+ according to the fill rule `fillrule' (*note fillrule::).
+
+ `path[] strokepath(path g, pen p=currentpen);'
+ returns the path array that `PostScript' would fill in
+ drawing path `g' with pen `p'.
+
+
+`guide'
+ an unresolved cubic spline (list of cubic-spline nodes and control
+ points). The implicit initializer for a guide is `nullpath'; this
+ is useful for building up a guide within a loop.
+
+ A guide is similar to a path except that the computation of the
+ cubic spline is deferred until drawing time (when it is resolved
+ into a path); this allows two guides with free endpoint conditions
+ to be joined together smoothly. The solid curve in the following
+ example is built up incrementally as a guide, but only resolved at
+ drawing time; the dashed curve is incrementally resolved at each
+ iteration, before the entire set of nodes (shown in red) is known:
+
+ size(200);
+
+ real mexican(real x) {return (1-8x^2)*exp(-(4x^2));}
+
+ int n=30;
+ real a=1.5;
+ real width=2a/n;
+
+ guide hat;
+ path solved;
+
+ for(int i=0; i < n; ++i) {
+ real t=-a+i*width;
+ pair z=(t,mexican(t));
+ hat=hat..z;
+ solved=solved..z;
+ }
+
+ draw(hat);
+ dot(hat,red);
+ draw(solved,dashed);
+
+
+
+ We point out an efficiency distinction in the use of guides and
+ paths: guide g;
+ for(int i=0; i < 10; ++i)
+ g=g--(i,i);
+ path p=g;
+
+ runs in linear time, whereas path p;
+ for(int i=0; i < 10; ++i)
+ p=p--(i,i);
+
+ runs in quadratic time, as the entire path up to that point is
+ copied at each step of the iteration.
+
+ The following routines can be used to examine the individual
+ elements of a guide without actually resolving the guide to a
+ fixed path (except for internal cycles, which are resolved):
+
+ `int size(guide g);'
+ Analogous to `size(path p)'.
+
+ `int length(guide g);'
+ Analogous to `length(path p)'.
+
+ `bool cyclic(path p);'
+ Analogous to `cyclic(path p)'.
+
+ `pair point(guide g, int t);'
+ Analogous to `point(path p, int t)'.
+
+ `guide reverse(guide g);'
+ Analogous to `reverse(path p)'. If `g' is cyclic and also
+ contains a secondary cycle, it is first solved to a path,
+ then reversed. If `g' is not cyclic but contains an internal
+ cycle, only the internal cycle is solved before reversal. If
+ there are no internal cycles, the guide is reversed but not
+ solved to a path.
+
+ `pair[] dirSpecifier(guide g, int i);'
+ This returns a pair array of length 2 containing the outgoing
+ (in element 0) and incoming (in element 1) direction
+ specifiers (or `(0,0)' if none specified) for the segment of
+ guide `g' between nodes `i' and `i+1'.
+
+ `pair[] controlSpecifier(guide g, int i);'
+ If the segment of guide `g' between nodes `i' and `i+1' has
+ explicit outgoing and incoming control points, they are
+ returned as elements 0 and 1, respectively, of a two-element
+ array. Otherwise, an empty array is returned.
+
+ `tensionSpecifier tensionSpecifier(guide g, int i);'
+ This returns the tension specifier for the segment of guide
+ `g' between nodes `i' and `i+1'. The individual components of
+ the `tensionSpecifier' type can be accessed as the virtual
+ members `in', `out', and `atLeast'.
+
+ `real[] curlSpecifier(guide g);'
+ This returns an array containing the initial curl specifier
+ (in element 0) and final curl specifier (in element 1) for
+ guide `g'.
+
+
+ As a technical detail we note that a direction specifier given to
+ `nullpath' modifies the node on the other side: the guides a..{up}nullpath..b;
+ c..nullpath{up}..d;
+ e..{up}nullpath{down}..f;
+ are respectively equivalent to a..nullpath..{up}b;
+ c{up}..nullpath..d;
+ e{down}..nullpath..{up}f;
+
+
+
+File: asymptote.info, Node: Pens, Next: Transforms, Prev: Paths and guides, Up: Programming
+
+6.3 Pens
+========
+
+In `Asymptote', pens provide a context for the four basic drawing
+commands (*note Drawing commands::). They are used to specify the
+following drawing attributes: color, line type, line width, line cap,
+line join, fill rule, text alignment, font, font size, pattern,
+overwrite mode, and calligraphic transforms on the pen nib. The default
+pen used by the drawing routines is called `currentpen'. This provides
+the same functionality as the `MetaPost' command `pickup'. The
+implicit initializer for pens is `defaultpen'.
+
+ Pens may be added together with the nonassociative binary operator
+`+'. This will add the colors of the two pens. All other non-default
+attributes of the rightmost pen will override those of the leftmost
+pen. Thus, one can obtain a yellow dashed pen by saying
+`dashed+red+green' or `red+green+dashed' or `red+dashed+green'. The
+binary operator `*' can be used to scale the color of a pen by a real
+number, until it saturates with one or more color components equal to 1.
+
+ * Colors are specified using one of the following colorspaces:
+ `pen gray(real g);'
+ This produces a grayscale color, where the intensity `g' lies
+ in the interval [0,1], with 0.0 denoting black and 1.0
+ denoting white.
+
+ `pen rgb(real r, real g, real b);'
+ This produces an RGB color, where each of the red, green, and
+ blue intensities `r', `g', `b', lies in the interval [0,1].
+
+ `pen cmyk(real c, real m, real y, real k);'
+ This produces a CMYK color, where each of the cyan, magenta,
+ yellow, and black intensities `c', `m', `y', `k', lies in the
+ interval [0,1].
+
+ `pen invisible;'
+ This special pen writes in invisible ink, but adjusts the
+ bounding box as if something had been drawn (like the
+ `\phantom' command in TeX). The function `bool
+ invisible(pen)' can be used to test whether a pen is
+ invisible.
+
+
+ The default color is `black'; this may be changed with the routine
+ `defaultpen(pen)'. The function `colorspace(pen p)' returns the
+ colorspace of pen `p' as a string (`"gray"', `"rgb"', `"cmyk"', or
+ `""').
+
+ The function `real[] colors(pen)' returns the color components of
+ a pen. The functions `pen gray(pen)', `pen rgb(pen)', and `pen
+ cmyk(pen)' return new pens obtained by converting their arguments
+ to the respective color spaces. The function
+ `colorless(pen=currentpen)' returns a copy of its argument with
+ the color attributes stripped (to avoid color mixing).
+
+ A 6-character RGB hexidecimal string can be converted to a pen with
+ the routine pen rgb(string s);
+ A pen can be converted to a hexidecimal string with
+
+ * string hex(pen p);
+
+ Various shades and mixtures of the grayscale primary colors
+ `black' and `white', RGB primary colors `red', `green', and
+ `blue', and RGB secondary colors `cyan', `magenta', and `yellow'
+ are defined as named colors, along with the CMYK primary colors
+ `Cyan', `Magenta', `Yellow', and `Black', in the module `plain':
+
+
+
+ The standard 140 RGB `X11' colors can be imported with the command import x11colors;
+ and the standard 68 CMYK TeX colors can be imported with the
+ command import texcolors;
+ Note that there is some overlap between these two standards and
+ the definitions of some colors (e.g. `Green') actually disagree.
+
+ `Asymptote' also comes with a `asycolors.sty' `LaTeX' package that
+ defines to `LaTeX' CMYK versions of `Asymptote''s predefined
+ colors, so that they can be used directly within `LaTeX' strings.
+ Normally, such colors are passed to `LaTeX' via a pen argument;
+ however, to change the color of only a portion of a string, say
+ for a slide presentation, (*note slide::) it may be desirable to
+ specify the color directly to `LaTeX'. This file can be passed to
+ `LaTeX' with the `Asymptote' command usepackage("asycolors");
+
+ The structure `hsv' defined in `plain_pens.asy' may be used to
+ convert between HSV and RGB spaces, where the hue `h' is an angle
+ in [0,360) and the saturation `s' and value `v' lie in `[0,1]': pen p=hsv(180,0.5,0.75);
+ write(p); // ([default], red=0.375, green=0.75, blue=0.75)
+ hsv q=p;
+ write(q.h,q.s,q.v); // 180 0.5 0.75
+
+ * Line types are specified with the function `pen linetype(real[] a,
+ real offset=0, bool scale=true, bool adjust=true)', where `a' is
+ an array of real array numbers. The optional parameter `offset'
+ specifies where in the pattern to begin. The first number
+ specifies how far (if `scale' is `true', in units of the pen line
+ width; otherwise in `PostScript' units) to draw with the pen on,
+ the second number specifies how far to draw with the pen off, and
+ so on. If `adjust' is `true', these spacings are automatically
+ adjusted by `Asymptote' to fit the arclength of the path. Here are
+ the predefined line types: pen solid=linetype(new real[]);
+ pen dotted=linetype(new real[] {0,4});
+ pen dashed=linetype(new real[] {8,8});
+ pen longdashed=linetype(new real[] {24,8});
+ pen dashdotted=linetype(new real[] {8,8,0,8});
+ pen longdashdotted=linetype(new real[] {24,8,0,8});
+ pen Dotted(pen p=currentpen) {return linetype(new real[] {0,3})+2*linewidth(p);}
+ pen Dotted=Dotted();
+
+
+
+ The default line type is `solid'; this may be changed with
+ `defaultpen(pen)'. The line type of a pen can be determined with
+ the functions `real[] linetype(pen p=currentpen)', `real
+ offset(pen p)', `bool scale(pen p)', and `bool adjust(pen p)'.
+
+ * The pen line width is specified in `PostScript' units with `pen
+ linewidth(real)'. The default line width is 0.5 bp; this value may
+ be changed with `defaultpen(pen)'. The line width of a pen is
+ returned by `real linewidth(pen p=currentpen)'. For convenience,
+ in the module `plain_pens' we define void defaultpen(real w) {defaultpen(linewidth(w));}
+ pen operator +(pen p, real w) {return p+linewidth(w);}
+ pen operator +(real w, pen p) {return linewidth(w)+p;}
+ so that one may set the line width like this: defaultpen(2);
+ pen p=red+0.5;
+
+ * A pen with a specific `PostScript' line cap is returned on calling
+ `linecap' with an integer argument: pen squarecap=linecap(0);
+ pen roundcap=linecap(1);
+ pen extendcap=linecap(2);
+
+ The default line cap, `roundcap', may be changed with
+ `defaultpen(pen)'. The line cap of a pen is returned by `int
+ linecap(pen p=currentpen)'.
+
+ * A pen with a specific `PostScript' join style is returned on
+ calling `linejoin' with an integer argument: pen miterjoin=linejoin(0);
+ pen roundjoin=linejoin(1);
+ pen beveljoin=linejoin(2);
+
+ The default join style, `roundjoin', may be changed with
+ `defaultpen(pen)'.The join style of a pen is returned by `int
+ linejoin(pen p=currentpen)'.
+
+ * A pen with a specific `PostScript' miter limit is returned by
+ calling `miterlimit(real)'. The default miterlimit, `10.0', may
+ be changed with `defaultpen(pen)'. The miter limit of a pen is
+ returned by `real miterlimit(pen p=currentpen)'.
+
+ * A pen with a specific `PostScript' fill rule is returned on
+ calling `fillrule' with an integer argument: pen zerowinding=fillrule(0);
+ pen evenodd=fillrule(1);
+
+ The fill rule, which identifies the algorithm used to determine the
+ insideness of a path or array of paths, only affects the `clip',
+ `fill', and `inside' functions. For the `zerowinding' fill rule, a
+ point `z' is outside the region bounded by a path if the number of
+ upward intersections of the path with the horizontal line
+ `z--z+infinity' minus the number of downward intersections is
+ zero. For the `evenodd' fill rule, `z' is considered to be outside
+ the region if the total number of such intersections is even. The
+ default fill rule, `zerowinding', may be changed with
+ `defaultpen(pen)'. The fill rule of a pen is returned by `int
+ fillrule(pen p=currentpen)'.
+
+ * A pen with a specific text alignment setting is returned on
+ calling `basealign' with an integer argument: pen nobasealign=basealign(0);
+ pen basealign=basealign(1);
+
+ The default setting, `nobasealign',which may be changed with
+ `defaultpen(pen)', causes the label alignment routines to use the
+ full label bounding box for alignment. In contrast, `basealign'
+ requests that the TeX baseline be respected. The base align
+ setting of a pen is returned by `int basealigin(pen p=currentpen)'.
+
+ * The font size is specified in TeX points (1 pt = 1/72.27 inches)
+ with the function `pen fontsize(real size, real
+ lineskip=1.2*size)'. The default font size, 12pt, may be changed
+ with `defaultpen(pen)'. Nonstandard font sizes may require
+ inserting import fontsize;
+ at the beginning of the file (this requires the `type1cm' package
+ available from
+
+ `http://www.ctan.org/tex-archive/macros/latex/contrib/type1cm/'
+ and included in recent `LaTeX' distributions). The font size and
+ line skip of a pen can be examined with the routines `real
+ fontsize(pen p=currentpen)' and `real lineskip(pen p=currentpen)',
+ respectively.
+
+ * A pen using a specific `LaTeX' `NFSS' font is returned by calling
+ the function `pen font(string encoding, string family, string
+ series, string shape)'. The default setting,
+ `font("OT1","cmr","m","n")', corresponds to 12pt Computer Modern
+ Roman; this may be changed with `defaultpen(pen)'. The font
+ setting of a pen is returned by `string font(pen p=currentpen)'.
+ Support for standardized international characters is provided by
+ the `unicode' package (*note unicode::).
+
+ Alternatively, one may select a fixed-size TeX font (on which
+ `fontsize' has no effect) like `"cmr12"' (12pt Computer Modern
+ Roman) or `"pcrr"' (Courier) using the function `pen font(string
+ name)'. An optional size argument can also be given to scale the
+ font to the requested size: `pen font(string name, real size)'.
+
+ A nonstandard font command can be generated with `pen
+ fontcommand(string)'.
+
+ A convenient interface to the following standard `PostScript'
+ fonts is also provided: pen AvantGarde(string series="m", string shape="n");
+ pen Bookman(string series="m", string shape="n");
+ pen Courier(string series="m", string shape="n");
+ pen Helvetica(string series="m", string shape="n");
+ pen NewCenturySchoolBook(string series="m", string shape="n");
+ pen Palatino(string series="m", string shape="n");
+ pen TimesRoman(string series="m", string shape="n");
+ pen ZapfChancery(string series="m", string shape="n");
+ pen Symbol(string series="m", string shape="n");
+ pen ZapfDingbats(string series="m", string shape="n");
+
+ * The transparency of a pen can be changed with the command: pen opacity(real opacity=1, string blend="Compatible");
+ The opacity can be varied from `0' (fully transparent) to the
+ default value of `1' (opaque), and `blend' specifies one of the
+ following foreground-background blending operations: "Compatible","Normal","Multiply","Screen","Overlay","SoftLight",
+ "HardLight","ColorDodge","ColorBurn","Darken","Lighten","Difference",
+ "Exclusion","Hue","Saturation","Color","Luminosity",
+ as described in
+
+ `http://partners.adobe.com/public/developer/en/pdf/PDFReference16.pdf'.
+ Since `PostScript' does not support transparency, this feature is
+ only effective with the `-f pdf' output format option; other
+ formats can be produced from the resulting PDF file with the
+ `ImageMagick' `convert' program. Labels are always drawn with an
+ `opacity' of 1. A simple example of transparent filling is
+ provided in the example file `transparency.asy'.
+
+ * `PostScript' commands within a `picture' may be used to create a
+ tiling pattern, identified by the string `name', for `fill' and
+ `draw' operations by adding it to the global `PostScript' frame
+ `currentpatterns', with optional left-bottom margin `lb' and
+ right-top margin `rt'. import patterns;
+ void add(string name, picture pic, pair lb=0, pair rt=0);
+
+ To `fill' or `draw' using pattern `name', use the pen
+ `pattern("name")'. For example, rectangular tilings can be
+ constructed using the routines `picture tile(real Hx=5mm, real
+ Hy=0, pen p=currentpen, filltype filltype=NoFill)', `picture
+ checker(real Hx=5mm, real Hy=0, pen p=currentpen)', and `picture
+ brick(real Hx=5mm, real Hy=0, pen p=currentpen)' defined in
+ `patterns.asy': size(0,90);
+ import patterns;
+
+ add("tile",tile());
+ add("filledtilewithmargin",tile(6mm,4mm,red,Fill),(1mm,1mm),(1mm,1mm));
+ add("checker",checker());
+ add("brick",brick());
+
+ real s=2.5;
+ filldraw(unitcircle,pattern("tile"));
+ filldraw(shift(s,0)*unitcircle,pattern("filledtilewithmargin"));
+ filldraw(shift(2s,0)*unitcircle,pattern("checker"));
+ filldraw(shift(3s,0)*unitcircle,pattern("brick"));
+
+
+
+ Hatch patterns can be generated with the routines `picture
+ hatch(real H=5mm, pair dir=NE, pen p=currentpen)', `picture
+ crosshatch(real H=5mm, pen p=currentpen)': size(0,100);
+ import patterns;
+
+ add("hatch",hatch());
+ add("hatchback",hatch(NW));
+ add("crosshatch",crosshatch(3mm));
+
+ real s=1.25;
+ filldraw(unitsquare,pattern("hatch"));
+ filldraw(shift(s,0)*unitsquare,pattern("hatchback"));
+ filldraw(shift(2s,0)*unitsquare,pattern("crosshatch"));
+
+
+
+ You may need to turn off aliasing in your `PostScript' viewer for
+ patterns to appear correctly. Custom patterns can easily be
+ constructed, following the examples in `patterns.asy'. The tiled
+ pattern can even incorporate shading (*note gradient shading::),
+ as illustrated in this example (not included in the manual because
+ not all printers support `PostScript' 3): size(0,100);
+ import patterns;
+
+ real d=4mm;
+ picture tiling;
+ path square=scale(d)*unitsquare;
+ axialshade(tiling,square,white,(0,0),black,(d,d));
+ fill(tiling,shift(d,d)*square,blue);
+ add("shadedtiling",tiling);
+
+ filldraw(unitcircle,pattern("shadedtiling"));
+
+
+
+ * One can specify a custom pen nib as an arbitrary polygonal path
+ with `pen makepen(path)'; this path represents the mark to be
+ drawn for paths containing a single point. This pen nib path can be
+ recovered from a pen with `path nib(pen)'. Unlike in `MetaPost',
+ the path need not be convex:
+
+ size(200);
+ pen convex=makepen(scale(10)*polygon(8))+grey;
+ draw((1,0.4),convex);
+ draw((0,0)---(1,1)..(2,0)--cycle,convex);
+
+ pen nonconvex=scale(10)*
+ makepen((0,0)--(0.25,-1)--(0.5,0.25)--(1,0)--(0.5,1.25)--cycle)+red;
+ draw((0.5,-1.5),nonconvex);
+ draw((0,-1.5)..(1,-0.5)..(2,-1.5),nonconvex);
+
+
+
+ The value `nullpath' represents a circular pen nib (the default);
+ an elliptical pen can be achieved simply by multiplying the pen by
+ a transform: `yscale(2)*currentpen'.
+
+ * One can prevent labels from overwriting one another by using the
+ pen attribute `overwrite', which takes a single argument:
+
+ `Allow'
+ Allow labels to overwrite one another. This is the default
+ behaviour (unless overridden with `defaultpen(pen)'.
+
+ `Suppress'
+ Suppress, with a warning, each label that would overwrite
+ another label.
+
+ `SuppressQuiet'
+ Suppress, without warning, each label that would overwrite
+ another label.
+
+ `Move'
+ Move a label that would overwrite another out of the way and
+ issue a warning. As this adjustment is during the final
+ output phase (in `PostScript' coordinates) it could result in
+ a larger figure than requested.
+
+ `MoveQuiet'
+ Move a label that would overwrite another out of the way,
+ without warning. As this adjustment is during the final
+ output phase (in `PostScript' coordinates) it could result in
+ a larger figure than requested.
+
+
+
+ The routine `defaultpen()' returns the current default pen
+attributes. Calling the routine `resetdefaultpen()' resets all pen
+default attributes to their initial values.
+
+
+File: asymptote.info, Node: Transforms, Next: Frames and pictures, Prev: Pens, Up: Programming
+
+6.4 Transforms
+==============
+
+`Asymptote' makes extensive use of affine transforms. A pair `(x,y)' is
+transformed by the transform `t=(t.x,t.y,t.xx,t.xy,t.yx,t.yy)' to
+`(x',y')', where
+x' = t.x + t.xx * x + t.xy * y
+y' = t.y + t.yx * x + t.yy * y
+ This is equivalent to the `PostScript' transformation `[t.xx t.yx t.xy
+t.yy t.x t.y]'.
+
+ Transforms can be applied to pairs, guides, paths, pens, strings,
+transforms, frames, and pictures by multiplication (via the binary
+operator `*') on the left (*note circle:: for an example). Transforms
+can be composed with one another and inverted with the function
+`transform inverse(transform t)'; they can also be raised to any
+integer power with the `^' operator.
+
+ The built-in transforms are:
+
+`transform identity();'
+ the identity transform;
+
+`transform shift(pair z);'
+ translates by the pair `z';
+
+`transform shift(real x, real y);'
+ translates by the pair `(x,y)';
+
+`transform xscale(real x);'
+ scales by `x' in the x direction;
+
+`transform yscale(real y);'
+ scales by `y' in the y direction;
+
+`transform scale(real s);'
+ scale by `s' in both x and y directions;
+
+`transform scale(real x, real y);'
+ scale by `x' in the x direction and by `y' in the y direction;
+
+`transform slant(real s);'
+ maps `(x,y)' -> `(x+s*y,y)';
+
+`transform rotate(real angle, pair z=(0,0));'
+ rotates by `angle' in degrees about `z';
+
+`transform reflect(pair a, pair b);'
+ reflects about the line `a--b'.
+
+ The implicit initializer for transforms is `identity()'. The
+routines `shift(transform t)' and `shiftless(transform t)' return the
+transforms `(t.x,t.y,0,0,0,0)' and `(0,0,t.xx,t.xy,t.yx,t.yy)'
+respectively.
+
+
+File: asymptote.info, Node: Frames and pictures, Next: Files, Prev: Transforms, Up: Programming
+
+6.5 Frames and pictures
+=======================
+
+`frame'
+ Frames are canvases for drawing in `PostScript' coordinates. While
+ working with frames directly is occasionally necessary for
+ constructing deferred drawing routines, pictures are usually more
+ convenient to work with. The implicit initializer for frames is
+ `newframe'. The function `bool empty(frame f)' returns `true' only
+ if the frame `f' is empty. A frame may be erased with the
+ `erase(frame)' routine. The functions `pair min(frame)' and `pair
+ max(frame)' return the (left,bottom) and (right,top) coordinates
+ of the frame bounding box, respectively. The contents of frame
+ `src' may be appended to frame `dest' with the command void add(frame dest, frame src);
+ or prepended with void prepend(frame dest, frame src);
+ A frame obtained by aligning frame `f' in the direction `align',
+ in a manner analogous to the `align' argument of `label' (*note
+ label::), is returned by frame align(frame f, pair align);
+
+ To draw or fill a box or ellipse around a label or frame and
+ return the boundary as a path, use one of the predefined
+ `envelope' routines path box(frame f, Label L="", real xmargin=0,
+ real ymargin=xmargin, pen p=currentpen,
+ filltype filltype=NoFill, bool above=true);
+ path roundbox(frame f, Label L="", real xmargin=0,
+ real ymargin=xmargin, pen p=currentpen,
+ filltype filltype=NoFill, bool above=true);
+ path ellipse(frame f, Label L="", real xmargin=0,
+ real ymargin=xmargin, pen p=currentpen,
+ filltype filltype=NoFill, bool above=true);
+
+`picture'
+ Pictures are high-level structures (*note Structures::) defined in
+ the module `plain' that provide canvases for drawing in user
+ coordinates. The default picture is called `currentpicture'. A
+ new picture can be created like this: picture pic;
+ Anonymous pictures can be made by the expression `new picture'.
+
+ The `size' routine specifies the dimensions of the desired picture:
+
+ void size(picture pic=currentpicture, real x, real y=x,
+ bool keepAspect=Aspect);
+
+ If the `x' and `y' sizes are both 0, user coordinates will be
+ interpreted as `PostScript' coordinates. In this case, the
+ transform mapping `pic' to the final output frame is `identity()'.
+
+ If exactly one of `x' or `y' is 0, no size restriction is imposed
+ in that direction; it will be scaled the same as the other
+ direction.
+
+ If `keepAspect' is set to `Aspect' or `true', the picture will be
+ scaled with its aspect ratio preserved such that the final width
+ is no more than `x' and the final height is no more than `y'.
+
+ If `keepAspect' is set to `IgnoreAspect' or `false', the picture
+ will be scaled in both directions so that the final width is `x'
+ and the height is `y'.
+
+ To make the user coordinates of picture `pic' represent multiples
+ of `x' units in the x direction and `y' units in the y direction,
+ use void unitsize(picture pic=currentpicture, real x, real y=x);
+ When nonzero, these `x' and `y' values override the corresponding
+ size parameters of picture `pic'.
+
+ The routine void size(picture pic=currentpicture, real xsize, real ysize,
+ pair min, pair max);
+ forces the final picture scaling to map the user coordinates
+ `box(min,max)' to a region of width `xsize' and height `ysize'
+ (when these parameters are nonzero).
+
+ Alternatively, calling the routine transform fixedscaling(picture pic=currentpicture, pair min,
+ pair max, pen p=nullpen, bool warn=false);
+ will cause picture `pic' to use a fixed scaling to map user
+ coordinates in `box(min,max)' to the (already specified) picture
+ size, taking account of the width of pen `p'. A warning will be
+ issued if the final picture exceeds the specified size.
+
+ A picture `pic' can be fit to a frame and output to a file
+ `prefix'.`format' using image format `format' by calling the
+ `shipout' function: void shipout(string prefix=defaultfilename, picture pic=currentpicture,
+ orientation orientation=orientation,
+ string format="", bool wait=false, bool view=true,
+ string options="", string script="",
+ light light=currentlight, projection P=currentprojection)
+ The default output format, `PostScript', may be changed with the
+ `-f' or `-tex' command-line options. The `options', `script', and
+ `projection' parameters are only relevant for 3D pictures. If
+ `defaultfilename' is an empty string, the prefix `outprefix()'
+ will be used.
+
+ A `shipout()' command is added implicitly at file exit if no
+ previous `shipout' commands have been executed. The default page
+ orientation is `Portrait'; this may be modified by changing the
+ variable `orientation'. To output in landscape mode, simply set
+ the variable `orientation=Landscape' or issue the command shipout(Landscape);
+
+ To rotate the page by -90 degrees, use the orientation `Seascape'. The
+ orientation `UpsideDown' rotates the page by 180 degrees.
+
+ A picture `pic' can be explicitly fit to a frame by calling frame pic.fit(real xsize=pic.xsize, real ysize=pic.ysize,
+ bool keepAspect=pic.keepAspect);
+ The default size and aspect ratio settings are those given to the
+ `size' command (which default to `0', `0', and `true',
+ respectively). The transformation that would currently be used to
+ fit a picture `pic' to a frame is returned by the member function
+ `pic.calculateTransform()'.
+
+ In certain cases (e.g. 2D graphs) where only an approximate size
+ estimate for `pic' is available, the picture fitting routine frame pic.scale(real xsize=this.xsize, real ysize=this.ysize,
+ bool keepAspect=this.keepAspect);
+ (which scales the resulting frame, including labels and fixed-size
+ objects) will enforce perfect compliance with the requested size
+ specification, but should not normally be required.
+
+ To draw a bounding box with margins around a picture, fit the
+ picture to a frame using the function frame bbox(picture pic=currentpicture, real xmargin=0,
+ real ymargin=xmargin, pen p=currentpen,
+ filltype filltype=NoFill);
+ Here `filltype' specifies one of the following fill types:
+ `FillDraw'
+ Fill the interior and draw the boundary.
+
+ `FillDraw(real xmargin=0, real ymargin=xmargin, pen fillpen=nullpen,'
+ `pen drawpen=nullpen)' If `fillpen' is `nullpen', fill with
+ the drawing pen; otherwise fill with pen `fillpen'. If
+ `drawpen' is `nullpen', draw the boundary with `fillpen';
+ otherwise with `drawpen'. An optional margin of `xmargin' and
+ `ymargin' can be specified.
+
+ `Fill'
+ Fill the interior.
+
+ `Fill(real xmargin=0, real ymargin=xmargin, pen p=nullpen)'
+ If `p' is `nullpen', fill with the drawing pen; otherwise
+ fill with pen `p'. An optional margin of `xmargin' and
+ `ymargin' can be specified.
+
+ `NoFill'
+ Do not fill.
+
+ `Draw'
+ Draw only the boundary.
+
+ `Draw(real xmargin=0, real ymargin=xmargin, pen p=nullpen)'
+ If `p' is `nullpen', draw the boundary with the drawing pen;
+ otherwise draw with pen `p'. An optional margin of `xmargin'
+ and `ymargin' can be specified.
+
+ `UnFill'
+ Clip the region.
+
+ `UnFill(real xmargin=0, real ymargin=xmargin)'
+ Clip the region and surrounding margins `xmargin' and
+ `ymargin'.
+
+ `RadialShade(pen penc, pen penr)'
+ Fill varying radially from `penc' at the center of the
+ bounding box to `penr' at the edge.
+
+ `RadialShadeDraw(real xmargin=0, real ymargin=xmargin, pen penc,'
+ `pen penr, pen drawpen=nullpen)' Fill with RadialShade and
+ draw the boundary.
+
+
+ For example, to draw a bounding box around a picture with a 0.25 cm
+ margin and output the resulting frame, use the command: shipout(bbox(0.25cm));
+ A `picture' may be fit to a frame with the background color pen
+ `p', using the function `bbox(p,Fill)'.
+
+ The functions pair min(picture pic, user=false);
+ pair max(picture pic, user=false);
+ pair size(picture pic, user=false);
+ calculate the bounds that picture `pic' would have if it were
+ currently fit to a frame using its default size specification. If
+ `user' is `false' the returned value is in `PostScript'
+ coordinates, otherwise it is in user coordinates.
+
+ The function pair point(picture pic=currentpicture, pair dir, bool user=true);
+ is a convenient way of determining the point on the bounding box
+ of `pic' in the direction `dir' relative to its center, ignoring
+ the contributions from fixed-size objects (such as labels and
+ arrowheads). If `user' is `true' the returned value is in user
+ coordinates, otherwise it is in `PostScript' coordinates.
+
+ The function pair truepoint(picture pic=currentpicture, pair dir, bool user=true);
+ is identical to `point', except that it also accounts for
+ fixed-size objects, using the scaling transform that picture `pic'
+ would have if currently fit to a frame using its default size
+ specification. If `user' is `true' the returned value is in user
+ coordinates, otherwise it is in `PostScript' coordinates.
+
+ Sometimes it is useful to draw objects on separate pictures and
+ add one picture to another using the `add' function: void add(picture src, bool group=true,
+ filltype filltype=NoFill, bool above=true);
+ void add(picture dest, picture src, bool group=true,
+ filltype filltype=NoFill, bool above=true);
+ The first example adds `src' to `currentpicture'; the second one
+ adds `src' to `dest'. The `group' option specifies whether or not
+ the graphical user interface `xasy' should treat all of the
+ elements of `src' as a single entity (*note GUI::), `filltype'
+ requests optional background filling or clipping, and `above'
+ specifies whether to add `src' above or below existing objects.
+
+ There are also routines to add a picture or frame `src' specified
+ in postscript coordinates to another picture `dest' (or
+ `currentpicture') about the user coordinate `position': void add(picture src, pair position, bool group=true,
+ filltype filltype=NoFill, bool above=true);
+ void add(picture dest, picture src, pair position,
+ bool group=true, filltype filltype=NoFill, bool above=true);
+ void add(picture dest=currentpicture, frame src, pair position=0,
+ bool group=true, filltype filltype=NoFill, bool above=true);
+ void add(picture dest=currentpicture, frame src, pair position,
+ pair align, bool group=true, filltype filltype=NoFill,
+ bool above=true);
+
+ The optional `align' argument in the last form specifies a
+ direction to use for aligning the frame, in a manner analogous to
+ the `align' argument of `label' (*note label::). However, one key
+ difference is that when `align' is not specified, labels are
+ centered, whereas frames and pictures are aligned so that their
+ origin is at `position'. Illustrations of frame alignment can be
+ found in the examples *note errorbars:: and *note image::. If you
+ want to align three or more subpictures, group them two at a time:
+
+ picture pic1;
+ real size=50;
+ size(pic1,size);
+ fill(pic1,(0,0)--(50,100)--(100,0)--cycle,red);
+
+ picture pic2;
+ size(pic2,size);
+ fill(pic2,unitcircle,green);
+
+ picture pic3;
+ size(pic3,size);
+ fill(pic3,unitsquare,blue);
+
+ picture pic;
+ add(pic,pic1.fit(),(0,0),N);
+ add(pic,pic2.fit(),(0,0),10S);
+
+ add(pic.fit(),(0,0),N);
+ add(pic3.fit(),(0,0),10S);
+
+
+
+ Alternatively, one can use `attach' to automatically increase the
+ size of picture `dest' to accommodate adding a frame `src' about
+ the user coordinate `position': void attach(picture dest=currentpicture, frame src,
+ pair position=0, bool group=true,
+ filltype filltype=NoFill, bool above=true);
+ void attach(picture dest=currentpicture, frame src,
+ pair position, pair align, bool group=true,
+ filltype filltype=NoFill, bool above=true);
+
+ To erase the contents of a picture (but not the size
+ specification), use the function void erase(picture pic=currentpicture);
+
+ To save a snapshot of `currentpicture', `currentpen', and
+ `currentprojection', use the function `save()'.
+
+ To restore a snapshot of `currentpicture', `currentpen', and
+ `currentprojection', use the function `restore()'.
+
+ Many further examples of picture and frame operations are provided
+ in the base module `plain'.
+
+ It is possible to insert verbatim `PostScript' commands in a
+ picture with one of the routines void postscript(picture pic=currentpicture, string s);
+ void postscript(picture pic=currentpicture, string s, pair min,
+ pair max)
+ Here `min' and `max' can be used to specify explicit bounds
+ associated with the resulting `PostScript' code.
+
+ Verbatim TeX commands can be inserted in the intermediate `LaTeX'
+ output file with one of the functions void tex(picture pic=currentpicture, string s);
+ void tex(picture pic=currentpicture, string s, pair min, pair max)
+ Here `min' and `max' can be used to specify explicit bounds
+ associated with the resulting TeX code.
+
+ To issue a global TeX command (such as a TeX macro definition) in
+ the TeX preamble (valid for the remainder of the top-level module)
+ use: void texpreamble(string s);
+
+ The TeX environment can be reset to its initial state, clearing all
+ macro definitions, with the function void texreset();
+
+ The routine void usepackage(string s, string options="");
+ provides a convenient abbreviation for texpreamble("\usepackage["+options+"]{"+s+"}");
+ that can be used for importing `LaTeX' packages.
+
+
+
+File: asymptote.info, Node: Files, Next: Variable initializers, Prev: Frames and pictures, Up: Programming
+
+6.6 Files
+=========
+
+`Asymptote' can read and write text files (including comma-separated
+value) files and portable XDR (External Data Representation) binary
+files.
+
+ An input file must first be opened with
+input(string name="", bool check=true, string comment="#", string mode="");
+ reading is then done by assignment:
+file fin=input("test.txt");
+real a=fin;
+
+ If the optional boolean argument `check' is `false', no check will
+be made that the file exists. If the file does not exist or is not
+readable, the function `bool error(file)' will return `true'. The
+first character of the string `comment' specifies a comment character.
+If this character is encountered in a data file, the remainder of the
+line is ignored. When reading strings, a comment character followed
+immediately by another comment character is treated as a single literal
+comment character.
+
+ One can change the current working directory for read operations to
+the contents of the string `s' with the function `string cd(string s)',
+which returns the new working directory. If `string s' is empty, the
+path is reset to the value it had at program startup.
+
+ When reading pairs, the enclosing parenthesis are optional. Strings
+are also read by assignment, by reading characters up to but not
+including a newline. In addition, `Asymptote' provides the function
+`string getc(file)' to read the next character (treating the comment
+character as an ordinary character) and return it as a string.
+
+ A file named `name' can be open for output with
+file output(string name="", bool update=false, string comment="#", string mode="");
+ If `update=false', any existing data in the file will be erased and
+only write operations can be used on the file. If `update=true', any
+existing data will be preserved, the position will be set to the
+end-of-file, and both reading and writing operations will be enabled.
+For security reasons, writing to files in directories other than the
+current directory is allowed only if the `-globalwrite' (or `-nosafe')
+command-line option is specified. The function `string mktemp(string
+s)' may be used to create and return the name of a unique temporary
+file in the current directory based on the string `s'.
+
+ There are two special files: `stdin', which reads from the keyboard,
+and `stdout', which writes to the terminal. The implicit initializer
+for files is `null'.
+
+ Data of a built-in type `T' can be written to an output file by
+calling one of the functions
+write(string s="", T x, suffix suffix=endl ... T[]);
+write(file file, string s="", T x, suffix suffix=none ... T[]);
+write(file file=stdout, string s="", explicit T[] x ... T[][]);
+write(file file=stdout, T[][]);
+write(file file=stdout, T[][][]);
+write(suffix suffix=endl);
+write(file file, suffix suffix=none);
+ If `file' is not specified, `stdout' is used and terminated by default
+with a newline. If specified, the optional identifying string `s' is
+written before the data `x'. An arbitrary number of data values may be
+listed when writing scalars or one-dimensional arrays. The `suffix' may
+be one of the following: `none' (do nothing), `flush' (output buffered
+data), `endl' (terminate with a newline and flush), `newl' (terminate
+with a newline), `DOSendl' (terminate with a DOS newline and flush),
+`DOSnewl' (terminate with a DOS newline), `tab' (terminate with a tab),
+or `comma' (terminate with a comma). Here are some simple examples of
+data output:
+file fout=output("test.txt");
+write(fout,1); // Writes "1"
+write(fout); // Writes a new line
+write(fout,"List: ",1,2,3); // Writes "List: 1 2 3"
+ A file may be opened with `mode="xdr"', to read or write double
+precision (64-bit) reals and single precision (32-bit) integers in Sun
+Microsystem's XDR (External Data Representation) portable binary format
+(available on all `UNIX' platforms). Alternatively, a file may also be
+opened with `mode="binary"' to read or write double precision reals and
+single precision integers in the native (nonportable) machine binary
+format. The virtual member functions `file singlereal(bool b=true)'
+and `file singleint(bool b=true)' be used to change the precision of
+real and integer I/O operations, respectively, for an XDR or binary
+file `f'. Similarly, the function `file signedint(bool b=true)' can be
+used to modify the signedness of integer reads and writes for an XDR or
+binary file `f'.
+
+ The virtual members `name', `mode', `singlereal', `singleint', and
+`signedint' may be used to query the respective parameters for a given
+file.
+
+ One can test a file for end-of-file with the boolean function
+`eof(file)', end-of-line with `eol(file)', and for I/O errors with
+`error(file)'. One can flush the output buffers with `flush(file)',
+clear a previous I/O error with `clear(file)', and close the file with
+`close(file)'. The function `int precision(file file=stdout, int
+digits=0)' sets the number of digits of output precision for `file' to
+`digits', provided `digits' is nonzero, and returns the previous
+precision setting. The function `int tell(file)' returns the current
+position in a file relative to the beginning. The routine `seek(file
+file, int pos)' can be used to change this position, where a negative
+value for the position `pos' is interpreted as relative to the
+end-of-file. For example, one can rewind a file `file' with the command
+`seek(file,0)' and position to the final character in the file with
+`seek(file,-1)'. The command `seekeof(file)' sets the position to the
+end of the file.
+
+ Assigning `settings.scroll=n' for a positive integer `n' requests a
+pause after every `n' output lines to `stdout'. One may then press
+`Enter' to continue to the next `n' output lines, `s' followed by
+`Enter' to scroll without further interruption, or `q' followed by
+`Enter' to quit the current output operation. If `n' is negative, the
+output scrolls a page at a time (i.e. by one less than the current
+number of display lines). The default value, `settings.scroll=0',
+specifies continuous scrolling.
+
+ The routines
+string getstring(string name="", string default="", string prompt="",
+ bool store=true);
+int getint(string name="", int default=0, string prompt="",
+ bool store=true);
+real getreal(string name="", real default=0, string prompt="",
+ bool store=true);
+pair getpair(string name="", pair default=0, string prompt="",
+ bool store=true);
+triple gettriple(string name="", triple default=(0,0,0), string prompt="",
+ bool store=true);
+ defined in the module `plain' may be used to prompt for a value from
+`stdin' using the GNU `readline' library. If `store=true', the history
+of values for `name' is stored in the file `".asy_history_"+name'
+(*note history::). The most recent value in the history will be used to
+provide a default value for subsequent runs. The default value
+(initially `default') is displayed after `prompt'. These functions are
+based on the internal routines
+string readline(string prompt="", string name="", bool tabcompletion=false);
+void saveline(string name, string value, bool store=true);
+ Here, `readline' prompts the user with the default value formatted
+according to `prompt', while `saveline' is used to save the string
+`value' in a local history named `name', optionally storing the local
+history in a file `".asy_history_"+name'.
+
+ The routine `history(string name, int n=1)' can be used to look up
+the `n' most recent values (or all values up to `historylines' if
+`n=0') entered for string `name'. The routine `history(int n=0)'
+returns the interactive history. For example,
+write(output("transcript.asy"),history());
+ outputs the interactive history to the file `transcript.asy'.
+
+ The function `int delete(string s)' deletes the file named by the
+string `s'. Unless the `-globalwrite' (or `-nosafe') option is enabled,
+the file must reside in the current directory. The function `int
+rename(string from, string to)' may be used to rename file `from' to
+file `to'. Unless the `-globalwrite' (or `-nosafe') option is enabled,
+this operation is restricted to the current directory. The functions
+int convert(string args="", string file="", string format="");
+int animate(string args="", string file="", string format="");
+ call the `ImageMagick' commands `convert' and `animate', respectively,
+with the arguments `args' and the file name constructed from the
+strings `file' and `format'.
+
+
+File: asymptote.info, Node: Variable initializers, Next: Structures, Prev: Files, Up: Programming
+
+6.7 Variable initializers
+=========================
+
+A variable can be assigned a value when it is declared, as in `int
+x=3;' where the variable `x' is assigned the value `3'. As well as
+literal constants such as `3', arbitary expressions can be used as
+initializers, as in `real x=2*sin(pi/2);'.
+
+ A variable is not added to the namespace until after the initializer
+is evaluated, so for example, in
+int x=2;
+int x=5*x;
+ the `x' in the initializer on the second line refers to the variable
+`x' declared on the first line. The second line, then, declares a
+variable `x' shadowing the original `x' and initializes it to the value
+`10'.
+
+ Variables of most types can be declared without an explicit
+initializer and they will be initialized by the default initializer of
+that type:
+
+ * Variables of the numeric types `int', `real', and `pair' are all
+ initialized to zero; variables of type `triple' are initialized to
+ `O=(0,0,0)'.
+
+ * `boolean' variables are initialized to `false'.
+
+ * `string' variables are initialized to the empty string.
+
+ * `transform' variables are initialized to the identity
+ transformation.
+
+ * `path' and `guide' variables are initialized to `nullpath'.
+
+ * `pen' variables are initialized to the default pen.
+
+ * `frame' and `picture' variables are initialized to empty frames
+ and pictures, respectively.
+
+ * `file' variables are initialized to `null'.
+
+ The default initializers for user-defined array, structure, and
+function types are explained in their respective sections. Some types,
+such as `code', do not have default initializers. When a variable of
+such a type is introduced, the user must initialize it by explicitly
+giving it a value.
+
+ The default initializer for any type `T' can be redeclared by
+defining the function `T operator init()'. For instance, `int'
+variables are usually initialized to zero, but in
+int operator init() {
+ return 3;
+}
+int y;
+
+the variable `y' is initialized to `3'. This example was given for
+illustrative purposes; redeclaring the initializers of built-in types
+is not recommended. Typically, `operator init' is used to define
+sensible defaults for user-defined types.
+
+ The special type `var' may be used to infer the type of a variable
+from its initializer. If the initializer is an expression of a unique
+type, then the variable will be defined with that type. For instance,
+var x=5;
+var y=4.3;
+var reddash=red+dashed;
+ is equivalent to
+int x=5;
+real y=4.3;
+pen reddash=red+dashed;
+
+ `var' may also be used with the extended `for' loop syntax.
+
+int[] a = {1,2,3};
+for (var x : a)
+ write(x);
+
+
+File: asymptote.info, Node: Structures, Next: Operators, Prev: Variable initializers, Up: Programming
+
+6.8 Structures
+==============
+
+Users may also define their own data types as structures, along with
+user-defined operators, much as in C++. By default, structure members
+are `public' (may be read and modified anywhere in the code), but may be
+optionally declared `restricted' (readable anywhere but writeable only
+inside the structure where they are defined) or `private' (readable and
+writable only inside the structure). In a structure definition, the
+keyword `this' can be used as an expression to refer to the enclosing
+structure. Any code at the top-level scope within the structure is
+executed on initialization.
+
+ Variables hold references to structures. That is, in the example:
+struct T {
+ int x;
+}
+
+T foo=new T;
+T bar=foo;
+bar.x=5;
+
+ The variable `foo' holds a reference to an instance of the structure
+`T'. When `bar' is assigned the value of `foo', it too now holds a
+reference to the same instance as `foo' does. The assignment `bar.x=5'
+changes the value of the field `x' in that instance, so that `foo.x'
+will also be equal to `5'.
+
+ The expression `new T' creates a new instance of the structure `T'
+and returns a reference to that instance. In creating the new
+instance, any code in the body of the record definition is executed.
+For example:
+int Tcount=0;
+struct T {
+ int x;
+ ++Tcount;
+}
+
+T foo=new T;
+
+ Here, the expression `new T' will produce a new instance of the
+class, but will also cause `Tcount' to be incremented, so that it keeps
+track of the number of instances produced.
+
+ The expression `null' can be cast to any structure type to yield a
+null reference, a reference that does not actually refer to any
+instance of the structure. Trying to use a field of a null reference
+will cause an error.
+
+ The function `bool alias(T,T)' checks to see if two structure
+references refer to the same instance of the structure (or both to
+`null'). For example, in the example code at the start of the section,
+`alias(foo,bar)' would return true, but `alias(foo,new T)' would return
+false, as `new T' creates a new instance of the structure `T'. The
+boolean operators `==' and `!=' are by default equivalent to `alias' and
+`!alias' respectively, but may be overwritten for a particular type
+(for example, to do a deep comparison).
+
+ After the definition of a structure `T', a variable of type `T' is
+initialized to a new instance (`new T') by default. During the
+definition of the structure, however, variables of type `T' are
+initialized to `null' by default. This special behaviour is to avoid
+infinite recursion of creating new instances in code such as
+struct tree {
+ int value;
+ tree left;
+ tree right;
+}
+
+ Here is a simple example that illustrates the use of structures:
+struct S {
+ real a=1;
+ real f(real a) {return a+this.a;}
+}
+
+S s; // Initializes s with new S;
+
+write(s.f(2)); // Outputs 3
+
+S operator + (S s1, S s2)
+{
+ S result;
+ result.a=s1.a+s2.a;
+ return result;
+}
+
+write((s+s).f(0)); // Outputs 2
+
+ It is often convenient to have functions that construct new
+instances of a structure. Say we have a `Person' structure:
+struct Person {
+ string firstname;
+ string lastname;
+}
+
+Person joe=new Person;
+joe.firstname="Joe";
+joe.lastname="Jones";
+ Creating a new Person is a chore; it takes three lines to create a new
+instance and to initialize its fields (that's still considerably less
+effort than creating a new person in real life, though).
+
+ We can reduce the work by defining a constructor function
+`Person(string,string)':
+struct Person {
+ string firstname;
+ string lastname;
+
+ static Person Person(string firstname, string lastname) {
+ Person p=new Person;
+ p.firstname=firstname;
+ p.lastname=lastname;
+ return p;
+ }
+}
+
+Person joe=Person.Person("Joe", "Jones");
+
+ While it is now easier than before to create a new instance, we still
+have to refer to the constructor by the qualified name `Person.Person'.
+If we add the line
+from Person unravel Person;
+ immediately after the structure definition, then the constructor can
+be used without qualification: `Person joe=Person("Joe", "Jones");'.
+
+ The constructor is now easy to use, but it is quite a hassle to
+define. If you write a lot of constructors, you will find that you are
+repeating a lot of code in each of them. Fortunately, your friendly
+neighbourhood Asymptote developers have devised a way to automate much
+of the process.
+
+ If, in the body of a structure, Asymptote encounters the definition
+of a function of the form `void operator init(ARGS)', it implicitly
+defines a constructor function of the arguments `ARGS' that uses the
+`void operator init' function to initialize a new instance of the
+structure. That is, it essentially defines the following constructor
+(assuming the structure is called `Foo'):
+
+ static Foo Foo(ARGS) {
+ Foo instance=new Foo;
+ instance.operator init(ARGS);
+ return instance;
+ }
+
+ This constructor is also implicitly copied to the enclosing scope
+after the end of the structure definition, so that it can used
+subsequently without qualifying it by the structure name. Our `Person'
+example can thus be implemented as:
+struct Person {
+ string firstname;
+ string lastname;
+
+ void operator init(string firstname, string lastname) {
+ this.firstname=firstname;
+ this.lastname=lastname;
+ }
+}
+
+Person joe=Person("Joe", "Jones");
+
+ The use of `operator init' to implicitly define constructors should
+not be confused with its use to define default values for variables
+(*note Variable initializers::). Indeed, in the first case, the return
+type of the `operator init' must be `void' while in the second, it must
+be the (non-`void') type of the variable.
+
+ The function `cputime()' returns a structure `cputime' with
+cumulative CPU times broken down into the fields `parent.user',
+`parent.system', `child.user', and `child.system'. For convenience, the
+incremental fields `change.user' and `change.system' indicate the
+change in the corresponding total parent and child CPU times since the
+last call to `cputime()'. The function
+void write(file file=stdout, string s="", cputime c,
+ string format=cputimeformat, suffix suffix=none);
+ displays the incremental user cputime followed by "u", the incremental
+system cputime followed by "s", the total user cputime followed by "U",
+and the total system cputime followed by "S".
+
+ Much like in C++, casting (*note Casts::) provides for an elegant
+implementation of structure inheritance, including virtual functions:
+struct parent {
+ real x;
+ void operator init(int x) {this.x=x;}
+ void virtual(int) {write(0);}
+ void f() {virtual(1);}
+}
+
+void write(parent p) {write(p.x);}
+
+struct child {
+ parent parent;
+ real y=3;
+ void operator init(int x) {parent.operator init(x);}
+ void virtual(int x) {write(x);}
+ parent.virtual=virtual;
+ void f()=parent.f;
+}
+
+parent operator cast(child child) {return child.parent;}
+
+parent p=parent(1);
+child c=child(2);
+
+write(c); // Outputs 2;
+
+p.f(); // Outputs 0;
+c.f(); // Outputs 1;
+
+write(c.parent.x); // Outputs 2;
+write(c.y); // Outputs 3;
+
+ For further examples of structures, see `Legend' and `picture' in
+the `Asymptote' base module `plain'.
+
+
+File: asymptote.info, Node: Operators, Next: Implicit scaling, Prev: Structures, Up: Programming
+
+6.9 Operators
+=============
+
+* Menu:
+
+* Arithmetic & logical:: Basic mathematical operators
+* Self & prefix operators:: Increment and decrement
+* User-defined operators:: Overloading operators
+
+
+File: asymptote.info, Node: Arithmetic & logical, Next: Self & prefix operators, Up: Operators
+
+6.9.1 Arithmetic & logical operators
+------------------------------------
+
+`Asymptote' uses the standard binary arithmetic operators. However,
+when one integer is divided by another, both arguments are converted to
+real values before dividing and a real quotient is returned (since this
+is usually what is intended). The function `int quotient(int x, int y)'
+returns the greatest integer less than or equal to `x/y'. In all other
+cases both operands are promoted to the same type, which will also be
+the type of the result:
+`+'
+ addition
+
+`-'
+ subtraction
+
+`*'
+ multiplication
+
+`/'
+ division
+
+`%'
+ modulo; the result always has the same sign as the divisor. In
+ particular, this makes `q*quotient(p,q)+p%q == p' for all integers
+ `p' and nonzero integers `q'.
+
+`^'
+ power; if the exponent (second argument) is an int, recursive
+ multiplication is used; otherwise, logarithms and exponentials are
+ used (`**' is a synonym for `^').
+
+
+ The usual boolean operators are also defined:
+`=='
+ equals
+
+`!='
+ not equals
+
+`<'
+ less than
+
+`<='
+ less than or equals
+
+`>='
+ greater than or equals
+
+`>'
+ greater than
+
+`&&'
+ and (with conditional evaluation of right-hand argument)
+
+`&'
+ and
+
+`||'
+ or (with conditional evaluation of right-hand argument)
+
+`|'
+ or
+
+`^'
+ xor
+
+`!'
+ not
+
+ `Asymptote' also supports the C-like conditional syntax:
+bool positive=(pi > 0) ? true : false;
+
+ The function `T interp(T a, T b, real t)' returns `(1-t)*a+t*b' for
+nonintegral built-in arithmetic types `T'. If `a' and `b' are pens,
+they are first promoted to the same color space.
+
+ `Asymptote' also defines bitwise functions `int AND(int,int)', `int
+OR(int,int)', `int XOR(int,int)', `int NOT(int)', `int CLZ(int)' (count
+leading zeros), and `int CTZ(int)' (count trailing zeros).
+
+
+File: asymptote.info, Node: Self & prefix operators, Next: User-defined operators, Prev: Arithmetic & logical, Up: Operators
+
+6.9.2 Self & prefix operators
+-----------------------------
+
+As in C, each of the arithmetic operators `+', `-', `*', `/', `%', and
+`^' can be used as a self operator. The prefix operators `++'
+(increment by one) and `--' (decrement by one) are also defined. For
+example,
+int i=1;
+i += 2;
+int j=++i;
+
+is equivalent to the code
+int i=1;
+i=i+2;
+int j=i=i+1;
+
+ However, postfix operators like `i++' and `i--' are not defined
+(because of the inherent ambiguities that would arise with the `--'
+path-joining operator). In the rare instances where `i++' and `i--' are
+really needed, one can substitute the expressions `(++i-1)' and
+`(--i+1)', respectively.
+
+
+File: asymptote.info, Node: User-defined operators, Prev: Self & prefix operators, Up: Operators
+
+6.9.3 User-defined operators
+----------------------------
+
+The following symbols may be used with `operator' to define or redefine
+operators on structures and built-in types:
+- + * / % ^ ! < > == != <= >= & | ^^ .. :: -- --- ++
+<< >> $ $$ @ @@
+ The operators on the second line have precedence one higher than the
+boolean operators `<', `>', `<=', and `>='.
+
+ Guide operators like `..' may be overloaded, say, to write a user
+function that produces a new guide from a given guide:
+guide dots(... guide[] g)=operator ..;
+
+guide operator ..(... guide[] g) {
+ guide G;
+ if(g.length > 0) {
+ write(g[0]);
+ G=g[0];
+ }
+ for(int i=1; i < g.length; ++i) {
+ write(g[i]);
+ write();
+ G=dots(G,g[i]);
+ }
+ return G;
+}
+
+guide g=(0,0){up}..{SW}(100,100){NE}..{curl 3}(50,50)..(10,10);
+write("g=",g);
+
+
+File: asymptote.info, Node: Implicit scaling, Next: Functions, Prev: Operators, Up: Programming
+
+6.10 Implicit scaling
+=====================
+
+If a numeric literal is in front of certain types of expressions, then
+the two are multiplied:
+int x=2;
+real y=2.0;
+real cm=72/2.540005;
+
+write(3x);
+write(2.5x);
+write(3y);
+write(-1.602e-19 y);
+write(0.5(x,y));
+write(2x^2);
+write(3x+2y);
+write(3(x+2y));
+write(3sin(x));
+write(3(sin(x))^2);
+write(10cm);
+
+ This produces the output
+6
+5
+6
+-3.204e-19
+(1,1)
+8
+10
+18
+2.72789228047704
+2.48046543129542
+283.464008929116
+
+
+File: asymptote.info, Node: Functions, Next: Arrays, Prev: Implicit scaling, Up: Programming
+
+6.11 Functions
+==============
+
+`Asymptote' functions are treated as variables with a signature
+(non-function variables have null signatures). Variables with the same
+name are allowed, so long as they have distinct signatures.
+
+ Functions arguments are passed by value. To pass an argument by
+reference, simply enclose it in a structure (*note Structures::).
+
+ Here are some significant features of `Asymptote' functions:
+
+ 1. Variables with signatures (functions) and without signatures
+ (nonfunction variables) are distinct: int x, x();
+ x=5;
+ x=new int() {return 17;};
+ x=x(); // calls x() and puts the result, 17, in the scalar x
+
+ 2. Traditional function definitions are allowed: int sqr(int x)
+ {
+ return x*x;
+ }
+ sqr=null; // but the function is still just a variable.
+
+ 3. Casting can be used to resolve ambiguities: int a, a(), b, b(); // Valid: creates four variables.
+ a=b; // Invalid: assignment is ambiguous.
+ a=(int) b; // Valid: resolves ambiguity.
+ (int) (a=b); // Valid: resolves ambiguity.
+ (int) a=b; // Invalid: cast expressions cannot be L-values.
+
+ int c();
+ c=a; // Valid: only one possible assignment.
+
+ 4. Anonymous (so-called "high-order") functions are also allowed: typedef int intop(int);
+ intop adder(int m)
+ {
+ return new int(int n) {return m+n;};
+ }
+ intop addby7=adder(7);
+ write(addby7(1)); // Writes 8.
+
+ 5. One may redefine a function `f', even for calls to `f' in
+ previously declared functions, by assigning another (anonymous or
+ named) function to it. However, if `f' is overloaded by a new
+ function definition, previous calls will still access the original
+ version of `f', as illustrated in this example: void f() {
+ write("hi");
+ }
+
+ void g() {
+ f();
+ }
+
+ g(); // writes "hi"
+
+ f=new void() {write("bye");};
+
+ g(); // writes "bye"
+
+ void f() {write("overloaded");};
+
+ f(); // writes "overloaded"
+ g(); // writes "bye"
+
+ 6. Anonymous functions can be used to redefine a function variable
+ that has been declared (and implicitly initialized to the null
+ function) but not yet explicitly defined: void f(bool b);
+
+ void g(bool b) {
+ if(b) f(b);
+ else write(b);
+ }
+
+ f=new void(bool b) {
+ write(b);
+ g(false);
+ };
+
+ g(true); // Writes true, then writes false.
+
+
+ `Asymptote' is the only language we know of that treats functions as
+variables, but allows overloading by distinguishing variables based on
+their signatures.
+
+ Functions are allowed to call themselves recursively. As in C++,
+infinite nested recursion will generate a stack overflow (reported as a
+segmentation fault, unless a fully working version of the GNU library
+`libsigsegv' (e.g. 2.4 or later) is installed at configuration time).
+
+* Menu:
+
+* Default arguments:: Default values can appear anywhere
+* Named arguments:: Assigning function arguments by keyword
+* Rest arguments:: Functions with a variable number of arguments
+* Mathematical functions:: Standard libm functions
+
+
+File: asymptote.info, Node: Default arguments, Next: Named arguments, Up: Functions
+
+6.11.1 Default arguments
+------------------------
+
+`Asymptote' supports a more flexible mechanism for default function
+arguments than C++: they may appear anywhere in the function prototype.
+Because certain data types are implicitly cast to more sophisticated
+types (*note Casts::) one can often avoid ambiguities by ordering
+function arguments from the simplest to the most complicated. For
+example, given
+real f(int a=1, real b=0) {return a+b;}
+ then `f(1)' returns 1.0, but `f(1.0)' returns 2.0.
+
+ The value of a default argument is determined by evaluating the
+given `Asymptote' expression in the scope where the called function is
+defined.
+
+
+File: asymptote.info, Node: Named arguments, Next: Rest arguments, Prev: Default arguments, Up: Functions
+
+6.11.2 Named arguments
+----------------------
+
+It is sometimes difficult to remember the order in which arguments
+appear in a function declaration. Named (keyword) arguments make calling
+functions with multiple arguments easier. Unlike in the C and C++
+languages, an assignment in a function argument is interpreted as an
+assignment to a parameter of the same name in the function signature,
+_not within the local scope_. The command-line option `-d' may be used
+to check `Asymptote' code for cases where a named argument may be
+mistaken for a local assignment.
+
+ When matching arguments to signatures, first all of the keywords are
+matched, then the arguments without names are matched against the
+unmatched formals as usual. For example,
+int f(int x, int y) {
+ return 10x+y;
+}
+write(f(4,x=3));
+ outputs 34, as `x' is already matched when we try to match the unnamed
+argument `4', so it gets matched to the next item, `y'.
+
+ For the rare occasions where it is desirable to assign a value to
+local variable within a function argument (generally _not_ a good
+programming practice), simply enclose the assignment in parentheses.
+For example, given the definition of `f' in the previous example,
+int x;
+write(f(4,(x=3)));
+ is equivalent to the statements
+int x;
+x=3;
+write(f(4,3));
+ and outputs 43.
+
+ Parameters can be specified as "keyword-only" by putting `keyword'
+immediately before the parameter name, as in `int f(int keyword x)' or
+`int f(int keyword x=77)'. This forces the caller of the function to
+use a named argument to give a value for this parameter. That is,
+`f(x=42)' is legal, but `f(25)' is not. Keyword-only parameters must
+be listed after normal parameters in a function definition.
+
+ As a technical detail, we point out that, since variables of the same
+name but different signatures are allowed in the same scope, the code
+int f(int x, int x()) {
+ return x+x();
+}
+int seven() {return 7;}
+ is legal in `Asymptote', with `f(2,seven)' returning 9. A named
+argument matches the first unmatched formal of the same name, so
+`f(x=2,x=seven)' is an equivalent call, but `f(x=seven,2)' is not, as
+the first argument is matched to the first formal, and `int ()' cannot
+be implicitly cast to `int'. Default arguments do not affect which
+formal a named argument is matched to, so if `f' were defined as
+int f(int x=3, int x()) {
+ return x+x();
+}
+ then `f(x=seven)' would be illegal, even though `f(seven)' obviously
+would be allowed.
+
+
+File: asymptote.info, Node: Rest arguments, Next: Mathematical functions, Prev: Named arguments, Up: Functions
+
+6.11.3 Rest arguments
+---------------------
+
+Rest arguments allow one to write functions that take a variable number
+of arguments:
+// This function sums its arguments.
+int sum(... int[] nums) {
+ int total=0;
+ for(int i=0; i < nums.length; ++i)
+ total += nums[i];
+ return total;
+}
+
+sum(1,2,3,4); // returns 10
+sum(); // returns 0
+
+// This function subtracts subsequent arguments from the first.
+int subtract(int start ... int[] subs) {
+ for(int i=0; i < subs.length; ++i)
+ start -= subs[i];
+ return start;
+}
+
+subtract(10,1,2); // returns 7
+subtract(10); // returns 10
+subtract(); // illegal
+
+ Putting an argument into a rest array is called _packing_. One can
+give an explicit list of arguments for the rest argument, so `subtract'
+could alternatively be implemented as
+int subtract(int start ... int[] subs) {
+ return start - sum(... subs);
+}
+
+ One can even combine normal arguments with rest arguments:
+sum(1,2,3 ... new int[] {4,5,6}); // returns 21
+ This builds a new six-element array that is passed to `sum' as `nums'.
+The opposite operation, _unpacking_, is not allowed:
+subtract(... new int[] {10, 1, 2});
+ is illegal, as the start formal is not matched.
+
+ If no arguments are packed, then a zero-length array (as opposed to
+`null') is bound to the rest parameter. Note that default arguments are
+ignored for rest formals and the rest argument is not bound to a
+keyword.
+
+ In some cases, keyword-only parameters are helpful to avoid
+arguments intended for the rest parameter to be assigned to other
+parameters. For example, here the use of `keyword' is to avoid
+`pnorm(1.0,2.0,0.3)' matching `1.0' to `p'.
+real pnorm(real keyword p=2.0 ... real[] v)
+{
+ return sum(v^p)^(1/p);
+}
+
+ The overloading resolution in `Asymptote' is similar to the function
+matching rules used in C++. Every argument match is given a score.
+Exact matches score better than matches with casting, and matches with
+formals (regardless of casting) score better than packing an argument
+into the rest array. A candidate is maximal if all of the arguments
+score as well in it as with any other candidate. If there is one
+unique maximal candidate, it is chosen; otherwise, there is an
+ambiguity error.
+
+int f(path g);
+int f(guide g);
+f((0,0)--(100,100)); // matches the second; the argument is a guide
+
+int g(int x, real y);
+int g(real x, int x);
+
+g(3,4); // ambiguous; the first candidate is better for the first argument,
+ // but the second candidate is better for the second argument
+
+int h(... int[] rest);
+int h(real x ... int[] rest);
+
+h(1,2); // the second definition matches, even though there is a cast,
+ // because casting is preferred over packing
+
+int i(int x ... int[] rest);
+int i(real x, real y ... int[] rest);
+
+i(3,4); // ambiguous; the first candidate is better for the first argument,
+ // but the second candidate is better for the second one
+
+
+File: asymptote.info, Node: Mathematical functions, Prev: Rest arguments, Up: Functions
+
+6.11.4 Mathematical functions
+-----------------------------
+
+`Asymptote' has built-in versions of the standard `libm' mathematical
+real(real) functions `sin', `cos', `tan', `asin', `acos', `atan',
+`exp', `log', `pow10', `log10', `sinh', `cosh', `tanh', `asinh',
+`acosh', `atanh', `sqrt', `cbrt', `fabs', `expm1', `log1p', as well as
+the identity function `identity'. `Asymptote' also defines the order
+`n' Bessel functions of the first kind `Jn(int n, real)' and second kind
+`Yn(int n, real)', as well as the gamma function `gamma', the error
+function `erf', and the complementary error function `erfc'. The
+standard real(real, real) functions `atan2', `hypot', `fmod',
+`remainder' are also included.
+
+ The functions `degrees(real radians)' and `radians(real degrees)'
+can be used to convert between radians and degrees. The function
+`Degrees(real radians)' returns the angle in degrees in the interval
+[0,360). For convenience, `Asymptote' defines variants `Sin', `Cos',
+`Tan', `aSin', `aCos', and `aTan' of the standard trigonometric
+functions that use degrees rather than radians. We also define complex
+versions of the `sqrt', `sin', `cos', `exp', `log', and `gamma'
+functions.
+
+ The functions `floor', `ceil', and `round' differ from their usual
+definitions in that they all return an int value rather than a real
+(since that is normally what one wants). The functions `Floor',
+`Ceil', and `Round' are respectively similar, except that if the result
+cannot be converted to a valid int, they return `intMax' for positive
+arguments and `intMin' for negative arguments, rather than generating
+an integer overflow. We also define a function `sgn', which returns
+the sign of its real argument as an integer (-1, 0, or 1).
+
+ There is an `abs(int)' function, as well as an `abs(real)' function
+(equivalent to `fabs(real)'), an `abs(pair)' function (equivalent to
+`length(pair)').
+
+ Random numbers can be seeded with `srand(int)' and generated with
+the `int rand()' function, which returns a random integer between 0 and
+the integer `randMax'. The `unitrand()' function returns a random
+number uniformly distributed in the interval [0,1]. A Gaussian random
+number generator `Gaussrand' and a collection of statistics routines,
+including `histogram', are provided in the base file `stats.asy'. The
+functions `factorial(int n)', which returns n!, and `choose(int n, int
+k)', which returns n!/(k!(n-k)!), are also defined.
+
+ When configured with the GNU Scientific Library (GSL), available from
+`http://www.gnu.org/software/gsl/', `Asymptote' contains an internal
+module `gsl' that defines the airy functions `Ai(real)', `Bi(real)',
+`Ai_deriv(real)', `Bi_deriv(real)', `zero_Ai(int)', `zero_Bi(int)',
+`zero_Ai_deriv(int)', `zero_Bi_deriv(int)', the Bessel functions
+`I(int, real)', `K(int, real)', `j(int, real)', `y(int, real)',
+`i_scaled(int, real)', `k_scaled(int, real)', `J(real, real)', `Y(real,
+real)', `I(real, real)', `K(real, real)', `zero_J(real, int)', the
+elliptic functions `F(real, real)', `E(real, real)', and `P(real,
+real)', the Jacobi elliptic functions `real[] sndncn(real,real)', the
+exponential/trigonometric integrals `Ei', `Si', and `Ci', the Legendre
+polynomials `Pl(int, real)', and the Riemann zeta function
+`zeta(real)'. For example, to compute the sine integral `Si' of 1.0:
+import gsl;
+write(Si(1.0));
+
+ `Asymptote' also provides a few general purpose numerical routines:
+
+``real newton(int iterations=100, real f(real), real fprime(real), real x, bool verbose=false);''
+ Use Newton-Raphson iteration to solve for a root of a real-valued
+ differentiable function `f', given its derivative `fprime' and an
+ initial guess `x'. Diagnostics for each iteration are printed if
+ `verbose=true'. If the iteration fails after the maximum allowed
+ number of loops (`iterations'), `realMax' is returned.
+
+``real newton(int iterations=100, real f(real), real fprime(real), real x1, real x2, bool verbose=false);''
+ Use bracketed Newton-Raphson bisection to solve for a root of a
+ real-valued differentiable function `f' within an interval
+ [`x1',`x2'] (on which the endpoint values of `f' have opposite
+ signs), given its derivative `fprime'. Diagnostics for each
+ iteration are printed if `verbose=true'. If the iteration fails
+ after the maximum allowed number of loops (`iterations'),
+ `realMax' is returned.
+
+``real simpson(real f(real), real a, real b, real acc=realEpsilon, real dxmax=b-a)''
+ returns the integral of `f' from `a' to `b' using adaptive Simpson
+ integration.
+
+
+
+File: asymptote.info, Node: Arrays, Next: Casts, Prev: Functions, Up: Programming
+
+6.12 Arrays
+===========
+
+* Menu:
+
+* Slices:: Python-style array slices
+
+ Appending `[]' to a built-in or user-defined type yields an array.
+The array element `i' of an array `A' can be accessed as `A[i]'. By
+default, attempts to access or assign to an array element using a
+negative index generates an error. Reading an array element with an
+index beyond the length of the array also generates an error; however,
+assignment to an element beyond the length of the array causes the
+array to be resized to accommodate the new element. One can also index
+an array `A' with an integer array `B': the array `A[B]' is formed by
+indexing array `A' with successive elements of array `B'. A convenient
+Java-style shorthand exists for iterating over all elements of an
+array; see *note array iteration::.
+
+ The declaration
+real[] A;
+
+initializes `A' to be an empty (zero-length) array. Empty arrays should
+be distinguished from null arrays. If we say
+real[] A=null;
+
+then `A' cannot be dereferenced at all (null arrays have no length and
+cannot be read from or assigned to).
+
+ Arrays can be explicitly initialized like this:
+real[] A={0,1,2};
+
+ Array assignment in `Asymptote' does a shallow copy: only the
+pointer is copied (if one copy if modified, the other will be too).
+The `copy' function listed below provides a deep copy of an array.
+
+ Every array `A' of type `T[]' has the virtual members
+ * `int length',
+
+ * `int cyclic',
+
+ * `int[] keys',
+
+ * `T push(T x)',
+
+ * `void append(T[] a)',
+
+ * `T pop()',
+
+ * `void insert(int i ... T[] x)',
+
+ * `void delete(int i, int j=i)',
+
+ * `void delete()', and
+
+ * `bool initialized(int n)'.
+
+ The member `A.length' evaluates to the length of the array. Setting
+`A.cyclic=true' signifies that array indices should be reduced modulo
+the current array length. Reading from or writing to a nonempty cyclic
+array never leads to out-of-bounds errors or array resizing.
+
+ The member `A.keys' evaluates to an array of integers containing the
+indices of initialized entries in the array in ascending order. Hence,
+for an array of length `n' with all entries initialized, `A.keys'
+evaluates to `{0,1,...,n-1}'. A new keys array is produced each time
+`A.keys' is evaluated.
+
+ The functions `A.push' and `A.append' append their arguments onto
+the end of the array, while `A.insert(int i ... T[] x)' inserts `x'
+into the array at index `i'. For convenience `A.push' returns the
+pushed item. The function `A.pop()' pops and returns the last element,
+while `A.delete(int i, int j=i)' deletes elements with indices in the
+range [`i',`j'], shifting the position of all higher-indexed elements
+down. If no arguments are given, `A.delete()' provides a convenient way
+of deleting all elements of `A'. The routine `A.initialized(int n)' can
+be used to examine whether the element at index `n' is initialized.
+Like all `Asymptote' functions, `push', `append', `pop', `insert',
+`delete', and `initialized' can be "pulled off" of the array and used
+on their own. For example,
+int[] A={1};
+A.push(2); // A now contains {1,2}.
+A.append(A); // A now contains {1,2,1,2}.
+int f(int)=A.push;
+f(3); // A now contains {1,2,1,2,3}.
+int g()=A.pop;
+write(g()); // Outputs 3.
+A.delete(0); // A now contains {2,1,2}.
+A.delete(0,1); // A now contains {2}.
+A.insert(1,3); // A now contains {2,3}.
+A.insert(1 ... A); // A now contains {2,2,3,3}
+A.insert(2,4,5); // A now contains {2,2,4,5,3,3}.
+
+ The `[]' suffix can also appear after the variable name; this is
+sometimes convenient for declaring a list of variables and arrays of
+the same type:
+real a,A[];
+ This declares `a' to be `real' and implicitly declares `A' to be of
+type `real[]'.
+
+ In the following list of built-in array functions, `T' represents a
+generic type. Note that the internal functions `alias', `array',
+`copy', `concat', `sequence', `map', and `transpose', which depend on
+type `T[]', are defined only after the first declaration of a variable
+of type `T[]'.
+
+`new T[]'
+ returns a new empty array of type `T[]';
+
+`new T[] {list}'
+ returns a new array of type `T[]' initialized with `list' (a comma
+ delimited list of elements).
+
+`new T[n]'
+ returns a new array of `n' elements of type `T[]'. These `n'
+ array elements are not initialized unless they are arrays
+ themselves (in which case they are each initialized to empty
+ arrays).
+
+`T[] array(int n, T value, int depth=intMax)'
+ returns an array consisting of `n' copies of `value'. If `value'
+ is itself an array, a deep copy of `value' is made for each entry.
+ If `depth' is specified, this deep copying only recurses to the
+ specified number of levels.
+
+`int[] sequence(int n)'
+ if `n >= 1' returns the array `{0,1,...,n-1}' (otherwise returns a
+ null array);
+
+`int[] sequence(int n, int m)'
+ if `m >= n' returns an array `{n,n+1,...,m}' (otherwise returns a
+ null array);
+
+`T[] sequence(T f(int), int n)'
+ if `n >= 1' returns the sequence `{f_i :i=0,1,...n-1}' given a
+ function `T f(int)' and integer `int n' (otherwise returns a null
+ array);
+
+`T[] map(T f(T), T[] a)'
+ returns the array obtained by applying the function `f' to each
+ element of the array `a'. This is equivalent to `sequence(new
+ T(int i) {return f(a[i]);},a.length)'.
+
+`int[] reverse(int n)'
+ if `n >= 1' returns the array `{n-1,n-2,...,0}' (otherwise returns
+ a null array);
+
+`int[] complement(int[] a, int n)'
+ returns the complement of the integer array `a' in
+ `{0,1,2,...,n-1}', so that `b[complement(a,b.length)]' yields the
+ complement of `b[a]'.
+
+`real[] uniform(real a, real b, int n)'
+ if `n >= 1' returns a uniform partition of `[a,b]' into `n'
+ subintervals (otherwise returns a null array);
+
+`int find(bool[], int n=1)'
+ returns the index of the `n'th `true' value or -1 if not found.
+ If `n' is negative, search backwards from the end of the array for
+ the `-n'th value;
+
+`int search(T[] a, T key)'
+ For built-in ordered types `T', searches a sorted array `a' of `n'
+ elements for k, returning the index `i' if `a[i] <= key < a[i+1]',
+ `-1' if `key' is less than all elements of `a', or `n-1' if `key'
+ is greater than or equal to the last element of `a'.
+
+`int search(T[] a, T key, bool less(T i, T j))'
+ searches an array `a' sorted in ascending order such that element
+ `i' precedes element `j' if `less(i,j)' is true;
+
+`T[] copy(T[] a)'
+ returns a deep copy of the array `a';
+
+`T[] concat(... T[][] a)'
+ returns a new array formed by concatenating the given
+ one-dimensional arrays given as arguments;
+
+`bool alias(T[] a, T[] b)'
+ returns `true' if the arrays `a' and `b' are identical;
+
+`T[] sort(T[] a)'
+ For built-in ordered types `T', returns a copy of `a' sorted in
+ ascending order;
+
+`T[][] sort(T[][] a)'
+ For built-in ordered types `T', returns a copy of `a' with the rows
+ sorted by the first column, breaking ties with successively higher
+ columns. For example: string[][] a={{"bob","9"},{"alice","5"},{"pete","7"},
+ {"alice","4"}};
+ // Row sort (by column 0, using column 1 to break ties):
+ write(sort(a));
+
+ produces alice 4
+ alice 5
+ bob 9
+ pete 7
+
+`T[] sort(T[] a, bool less(T i, T j))'
+ returns a copy of `a' stably sorted in ascending order such that
+ element `i' precedes element `j' if `less(i,j)' is true.
+
+`T[][] transpose(T[][] a)'
+ returns the transpose of `a'.
+
+`T[][][] transpose(T[][][] a, int[] perm)'
+ returns the 3D transpose of `a' obtained by applying the
+ permutation `perm' of `new int[]{0,1,2}' to the indices of each
+ entry.
+
+`T sum(T[] a)'
+ For arithmetic types `T', returns the sum of `a'. In the case
+ where `T' is `bool', the number of true elements in `a' is
+ returned.
+
+`T min(T[] a)'
+
+`T min(T[][] a)'
+
+`T min(T[][][] a)'
+ For built-in ordered types `T', returns the minimum element of `a'.
+
+`T max(T[] a)'
+
+`T max(T[][] a)'
+
+`T max(T[][][] a)'
+ For built-in ordered types `T', returns the maximum element of `a'.
+
+`T[] min(T[] a, T[] b)'
+ For built-in ordered types `T', and arrays `a' and `b' of the same
+ length, returns an array composed of the minimum of the
+ corresponding elements of `a' and `b'.
+
+`T[] max(T[] a, T[] b)'
+ For built-in ordered types `T', and arrays `a' and `b' of the same
+ length, returns an array composed of the maximum of the
+ corresponding elements of `a' and `b'.
+
+`pair[] pairs(real[] x, real[] y);'
+ For arrays `x' and `y' of the same length, returns the pair array
+ `sequence(new pair(int i) {return (x[i],y[i]);},x.length)'.
+
+`pair[] fft(pair[] a, int sign=1)'
+ returns the Fast Fourier Transform of `a' (if the optional `FFTW'
+ package is installed), using the given `sign'. Here is a simple
+ example: int n=4;
+ pair[] f=sequence(n);
+ write(f);
+ pair[] g=fft(f,-1);
+ write();
+ write(g);
+ f=fft(g,1);
+ write();
+ write(f/n);
+
+`real dot(real[] a, real[] b)'
+ returns the dot product of the vectors `a' and `b'.
+
+`pair dot(pair[] a, pair[] b)'
+ returns the complex dot product `sum(a*conj(b))' of the vectors
+ `a' and `b'.
+
+`real[] tridiagonal(real[] a, real[] b, real[] c, real[] f);'
+ Solve the periodic tridiagonal problem L`x'=`f' and return the
+ solution `x', where `f' is an n vector and L is the n \times n
+ matrix [ b[0] c[0] a[0] ]
+ [ a[1] b[1] c[1] ]
+ [ a[2] b[2] c[2] ]
+ [ ... ]
+ [ c[n-1] a[n-1] b[n-1] ]
+ For Dirichlet boundary conditions (denoted here by `u[-1]' and
+ `u[n]'), replace `f[0]' by `f[0]-a[0]u[-1]' and
+ `f[n-1]-c[n-1]u[n]'; then set `a[0]=c[n-1]=0'.
+
+`real[] solve(real[][] a, real[] b, bool warn=true)'
+ Solve the linear equation `a'x=`b' by LU decomposition and return
+ the solution x, where `a' is an n \times n matrix and `b' is an
+ array of length n. For example: import math;
+ real[][] a={{1,-2,3,0},{4,-5,6,2},{-7,-8,10,5},{1,50,1,-2}};
+ real[] b={7,19,33,3};
+ real[] x=solve(a,b);
+ write(a); write();
+ write(b); write();
+ write(x); write();
+ write(a*x);
+ If `a' is a singular matrix and `warn' is `false', return an
+ empty array. If the matrix `a' is tridiagonal, the routine
+ `tridiagonal' provides a more efficient algorithm (*note
+ tridiagonal::).
+
+`real[][] solve(real[][] a, real[][] b, bool warn=true)'
+ Solve the linear equation `a'x=`b' and return the solution x,
+ where `a' is an n \times n matrix and `b' is an n \times m matrix.
+ If `a' is a singular matrix and `warn' is `false', return an empty
+ matrix.
+
+`real[][] identity(int n);'
+ returns the n \times n identity matrix.
+
+`real[][] diagonal(... real[] a)'
+ returns the diagonal matrix with diagonal entries given by a.
+
+`real[][] inverse(real[][] a)'
+ returns the inverse of a square matrix `a'.
+
+``real[] quadraticroots(real a, real b, real c);''
+ This numerically robust solver returns the real roots of the
+ quadratic equation ax^2+bx+c=0, in ascending order. Multiple roots
+ are listed separately.
+
+``pair[] quadraticroots(explicit pair a, explicit pair b, explicit pair c);''
+ This numerically robust solver returns the complex roots of the
+ quadratic equation ax^2+bx+c=0.
+
+``real[] cubicroots(real a, real b, real c, real d);''
+ This numerically robust solver returns the real roots of the cubic
+ equation ax^3+bx^2+cx+d=0. Multiple roots are listed separately.
+
+
+ `Asymptote' includes a full set of vectorized array instructions for
+arithmetic (including self) and logical operations. These
+element-by-element instructions are implemented in C++ code for speed.
+Given
+real[] a={1,2};
+real[] b={3,2};
+ then `a == b' and `a >= 2' both evaluate to the vector `{false, true}'. To
+test whether all components of `a' and `b' agree, use the boolean
+function `all(a == b)'. One can also use conditionals like `(a >= 2) ?
+a : b', which returns the array `{3,2}', or `write((a >= 2) ? a :
+null', which returns the array `{2}'.
+
+ All of the standard built-in `libm' functions of signature
+`real(real)' also take a real array as an argument, effectively like an
+implicit call to `map'.
+
+ As with other built-in types, arrays of the basic data types can be
+read in by assignment. In this example, the code
+file fin=input("test.txt");
+real[] A=fin;
+
+reads real values into `A' until the end-of-file is reached (or an I/O
+error occurs).
+
+ The virtual members `dimension', `line', `csv', `word', and `read'
+of a file are useful for reading arrays. For example, if line mode is
+set with `file line(bool b=true)', then reading will stop once the end
+of the line is reached instead
+file fin=input("test.txt");
+real[] A=fin.line();
+
+ Since string reads by default read up to the end of line anyway,
+line mode normally has no effect on string array reads. However, there
+is a white-space delimiter mode for reading strings, `file word(bool
+b=true)', which causes string reads to respect white-space delimiters,
+instead of the default end-of-line delimiter:
+file fin=input("test.txt").line().word();
+real[] A=fin;
+
+ Another useful mode is comma-separated-value mode, `file csv(bool
+b=true)', which causes reads to respect comma delimiters:
+file fin=csv(input("test.txt"));
+real[] A=fin;
+
+ To restrict the number of values read, use the `file dimension(int)'
+function:
+file fin=input("test.txt");
+real[] A=dimension(fin,10);
+
+ This reads 10 values into A, unless end-of-file (or end-of-line in
+line mode) occurs first. Attempting to read beyond the end of the file
+will produce a runtime error message. Specifying a value of 0 for the
+integer limit is equivalent to the previous example of reading until
+end-of-file (or end-of-line in line mode) is encountered.
+
+ Two- and three-dimensional arrays of the basic data types can be read
+in like this:
+file fin=input("test.txt");
+real[][] A=fin.dimension(2,3);
+real[][][] B=fin.dimension(2,3,4);
+ Again, an integer limit of zero means no restriction.
+
+ Sometimes the array dimensions are stored with the data as integer
+fields at the beginning of an array. Such 1, 2, or 3 dimensional arrays
+can be read in with the virtual member functions `read(1)', `read(2)',
+or `read(3)', respectively:
+file fin=input("test.txt");
+real[] A=fin.read(1);
+real[][] B=fin.read(2);
+real[][][] C=fin.read(3);
+
+ One, two, and three-dimensional arrays of the basic data types can be
+output with the functions `write(file,T[])', `write(file,T[][])',
+`write(file,T[][][])', respectively.
+
+
+File: asymptote.info, Node: Slices, Up: Arrays
+
+6.12.1 Slices
+-------------
+
+Asymptote allows a section of an array to be addressed as a slice using
+a Python-like syntax. If `A' is an array, the expression `A[m:n]'
+returns a new array consisting of the elements of `A' with indices from
+`m' up to but not including `n'. For example,
+int[] x={0,1,2,3,4,5,6,7,8,9};
+int[] y=x[2:6]; // y={2,3,4,5};
+int[] z=x[5:10]; // z={5,6,7,8,9};
+
+ If the left index is omitted, it is taken be `0'. If the right
+index is omitted it is taken to be the length of the array. If both
+are omitted, the slice then goes from the start of the array to the
+end, producing a non-cyclic deep copy of the array. For example:
+int[] x={0,1,2,3,4,5,6,7,8,9};
+int[] y=x[:4]; // y={0,1,2,3}
+int[] z=x[5:]; // z={5,6,7,8,9}
+int[] w=x[:]; // w={0,1,2,3,4,5,6,7,8,9}, distinct from array x.
+
+ If A is a non-cyclic array, it is illegal to use negative values for
+either of the indices. If the indices exceed the length of the array,
+however, they are politely truncated to that length.
+
+ For cyclic arrays, the slice `A[m:n]' still consists of the cells
+with indices in the set [`m',`n'), but now negative values and values
+beyond the length of the array are allowed. The indices simply wrap
+around. For example:
+
+int[] x={0,1,2,3,4,5,6,7,8,9};
+x.cyclic=true;
+int[] y=x[8:15]; // y={8,9,0,1,2,3,4}.
+int[] z=x[-5:5]; // z={5,6,7,8,9,0,1,2,3,4}
+int[] w=x[-3:17]; // w={7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6}
+
+ Notice that with cyclic arrays, it is possible to include the same
+element of the original array multiple times within a slice.
+Regardless of the original array, arrays produced by slices are always
+non-cyclic.
+
+ If the left and right indices of a slice are the same, the result is
+an empty array. If the array being sliced is empty, the result is an
+empty array. Any slice with a left index greater than its right index
+will yield an error.
+
+ Slices can also be assigned to, changing the value of the original
+array. If the array being assigned to the slice has a different length
+than the slice itself, elements will be inserted or removed from the
+array to accommodate it. For instance:
+string[] toppings={"mayo", "salt", "ham", "lettuce"};
+toppings[0:2]=new string[] {"mustard", "pepper"};
+ // Now toppings={"mustard", "pepper", "ham", "lettuce"}
+toppings[2:3]=new string[] {"turkey", "bacon" };
+ // Now toppings={"mustard", "pepper", "turkey", "bacon", "lettuce"}
+toppings[0:3]=new string[] {"tomato"};
+ // Now toppings={"tomato", "bacon", "lettuce"}
+
+ If an array is assigned to a slice of itself, a copy of the original
+array is assigned to the slice. That is, code such as `x[m:n]=x' is
+equivalent to `x[m:n]=copy(x)'. One can use the shorthand `x[m:m]=y'
+to insert the contents of the array `y' into the array `x' starting at
+the location just before `x[m]'.
+
+ For a cyclic array, a slice is bridging if it addresses cells up to
+the end of the array and then continues on to address cells at the
+start of the array. For instance, if `A' is a cyclic array of length
+10, `A[8:12]', `A[-3:1]', and `A[5:25]' are bridging slices whereas
+`A[3:7]', `A[7:10]', `A[-3:0]' and `A[103:107]' are not. Bridging
+slices can only be assigned to if the number of elements in the slice
+is exactly equal to the number of elements we are assigning to it.
+Otherwise, there is no clear way to decide which of the new entries
+should be `A[0]' and an error is reported. Non-bridging slices may be
+assigned an array of any length.
+
+ For a cyclic array `A' an expression of the form
+`A[A.length:A.length]' is equivalent to the expression `A[0:0]' and so
+assigning to this slice will insert values at the start of the array.
+`A.append()' can be used to insert values at the end of the array.
+
+ It is illegal to assign to a slice of a cyclic array that repeats
+any of the cells.
+
+
+File: asymptote.info, Node: Casts, Next: Import, Prev: Arrays, Up: Programming
+
+6.13 Casts
+==========
+
+`Asymptote' implicitly casts `int' to `real', `int' to `pair', `real'
+to `pair', `pair' to `path', `pair' to `guide', `path' to `guide',
+`guide' to `path', `real' to `pen', `pair[]' to `guide[]', `pair[]' to
+`path[]', `path' to `path[]', and `guide' to `path[]', along with
+various three-dimensional casts defined in `three.asy'. Implicit casts
+are automatically attempted on assignment and when trying to match
+function calls with possible function signatures. Implicit casting can
+be inhibited by declaring individual arguments `explicit' in the
+function signature, say to avoid an ambiguous function call in the
+following example, which outputs 0:
+int f(pair a) {return 0;}
+int f(explicit real x) {return 1;}
+
+write(f(0));
+
+ Other conversions, say `real' to `int' or `real' to `string',
+require an explicit cast:
+int i=(int) 2.5;
+string s=(string) 2.5;
+
+real[] a={2.5,-3.5};
+int[] b=(int []) a;
+write(stdout,b); // Outputs 2,-3
+
+ Casting to user-defined types is also possible using `operator cast':
+struct rpair {
+ real radius;
+ real angle;
+}
+
+pair operator cast(rpair x) {
+ return (x.radius*cos(x.angle),x.radius*sin(x.angle));
+}
+
+rpair x;
+x.radius=1;
+x.angle=pi/6;
+
+write(x); // Outputs (0.866025403784439,0.5)
+
+ One must use care when defining new cast operators. Suppose that in
+some code one wants all integers to represent multiples of 100. To
+convert them to reals, one would first want to multiply them by 100.
+However, the straightforward implementation
+real operator cast(int x) {return x*100;}
+ is equivalent to an infinite recursion, since the result `x*100' needs
+itself to be cast from an integer to a real. Instead, we want to use
+the standard conversion of int to real:
+real convert(int x) {return x*100;}
+real operator cast(int x)=convert;
+
+ Explicit casts are implemented similarly, with `operator ecast'.
+
+
+File: asymptote.info, Node: Import, Next: Static, Prev: Casts, Up: Programming
+
+6.14 Import
+===========
+
+While `Asymptote' provides many features by default, some applications
+require specialized features contained in external `Asymptote' modules.
+For instance, the lines
+access graph;
+graph.axes();
+ draw x and y axes on a two-dimensional graph. Here, the command looks
+up the module under the name `graph' in a global dictionary of modules
+and puts it in a new variable named `graph'. The module is a
+structure, and we can refer to its fields as we usually would with a
+structure.
+
+ Often, one wants to use module functions without having to specify
+the module name. The code
+from graph access axes;
+ adds the `axes' field of `graph' into the local name space, so that
+subsequently, one can just write `axes()'. If the given name is
+overloaded, all types and variables of that name are added. To add
+more than one name, just use a comma-separated list:
+from graph access axes, xaxis, yaxis;
+ Wild card notation can be used to add all non-private fields and types
+of a module to the local name space:
+
+from graph access *;
+
+ Similarly, one can add the non-private fields and types of a
+structure to the local environment with the `unravel' keyword:
+struct matrix {
+ real a,b,c,d;
+}
+
+real det(matrix m) {
+ unravel m;
+ return a*d-b*c;
+}
+ Alternatively, one can unravel selective fields:
+real det(matrix m) {
+ from m unravel a,b,c as C,d;
+ return a*d-b*C;
+}
+
+ The command
+import graph;
+ is a convenient abbreviation for the commands
+access graph;
+unravel graph;
+ That is, `import graph' first loads a module into a structure called
+`graph' and then adds its non-private fields and types to the local
+environment. This way, if a member variable (or function) is
+overwritten with a local variable (or function of the same signature),
+the original one can still be accessed by qualifying it with the module
+name.
+
+ Wild card importing will work fine in most cases, but one does not
+usually know all of the internal types and variables of a module, which
+can also change as the module writer adds or changes features of the
+module. As such, it is prudent to add `import' commands at the start
+of an `Asymptote' file, so that imported names won't shadow locally
+defined functions. Still, imported names may shadow other imported
+names, depending on the order in which they were imported, and imported
+functions may cause overloading resolution problems if they have the
+same name as local functions defined later.
+
+ To rename modules or fields when adding them to the local
+environment, use `as':
+access graph as graph2d;
+from graph access xaxis as xline, yaxis as yline;
+
+ The command
+import graph as graph2d;
+ is a convenient abbreviation for the commands
+access graph as graph2d;
+unravel graph2d;
+
+ Except for a few built-in modules, such as `settings', all modules
+are implemented as `Asymptote' files. When looking up a module that
+has not yet been loaded, `Asymptote' searches the standard search paths
+(*note Search paths::) for the matching file. The file corresponding
+to that name is read and the code within it is interpreted as the body
+of a structure defining the module.
+
+ If the file name contains nonalphanumeric characters, enclose it
+with quotation marks:
+
+`access "/usr/local/share/asymptote/graph.asy" as graph;'
+
+`from "/usr/local/share/asymptote/graph.asy" access axes;'
+
+`import "/usr/local/share/asymptote/graph.asy" as graph;'
+
+ It is an error if modules import themselves (or each other in a
+cycle). The module name to be imported must be known at compile time.
+
+ However, you can import an `Asymptote' module determined by the
+string `s' at runtime like this:
+eval("import "+s,true);
+
+ To conditionally execute an array of asy files, use
+void asy(string format, bool overwrite ... string[] s);
+ The file will only be processed, using output format `format', if
+overwrite is `true' or the output file is missing.
+
+ One can evaluate an `Asymptote' expression (without any return
+value, however) contained in the string `s' with:
+void eval(string s, bool embedded=false);
+ It is not necessary to terminate the string `s' with a semicolon. If
+`embedded' is `true', the string will be evaluated at the top level of
+the current environment. If `embedded' is `false' (the default), the
+string will be evaluated in an independent environment, sharing the same
+`settings' module (*note settings::).
+
+ One can evaluate arbitrary `Asymptote' code (which may contain
+unescaped quotation marks) with the command
+void eval(code s, bool embedded=false);
+ Here `code' is a special type used with `quote {}' to enclose
+`Asymptote code' like this:
+real a=1;
+code s=quote {
+ write(a);
+};
+eval(s,true); // Outputs 1
+
+ To include the contents of an existing file `graph' verbatim (as if
+the contents of the file were inserted at that point), use one of the
+forms:
+include graph;
+
+`include "/usr/local/share/asymptote/graph.asy";'
+
+ To list all global functions and variables defined in a module named
+by the contents of the string `s', use the function
+void list(string s, bool imports=false);
+ Imported global functions and variables are also listed if `imports'
+is `true'.
+
+
+File: asymptote.info, Node: Static, Prev: Import, Up: Programming
+
+6.15 Static
+===========
+
+Static qualifiers allocate the memory address of a variable in a higher
+enclosing level.
+
+ For a function body, the variable is allocated in the block where the
+function is defined; so in the code
+struct s {
+ int count() {
+ static int c=0;
+ ++c;
+ return c;
+ }
+}
+
+there is one instance of the variable `c' for each object `s' (as
+opposed to each call of `count').
+
+ Similarly, in
+int factorial(int n) {
+ int helper(int k) {
+ static int x=1;
+ x *= k;
+ return k == 1 ? x : helper(k-1);
+ }
+ return helper(n);
+}
+
+there is one instance of `x' for every call to `factorial' (and not for
+every call to `helper'), so this is a correct, but ugly, implementation
+of factorial.
+
+ Similarly, a static variable declared within a structure is
+allocated in the block where the structure is defined. Thus,
+struct A {
+ struct B {
+ static pair z;
+ }
+}
+
+creates one object `z' for each object of type `A' created.
+
+ In this example,
+int pow(int n, int k) {
+ struct A {
+ static int x=1;
+ void helper() {
+ x *= n;
+ }
+ }
+ for(int i=0; i < k; ++i) {
+ A a;
+ a.helper();
+ }
+ return A.x;
+}
+
+there is one instance of `x' for each call to `pow', so this is an ugly
+implementation of exponentiation.
+
+ Loop constructs allocate a new frame in every iteration. This is so
+that higher-order functions can refer to variables of a specific
+iteration of a loop:
+void f();
+for(int i=0; i < 10; ++i) {
+ int x=i;
+ if(x==5) {
+ f=new void () { write(x); }
+ }
+}
+f();
+
+ Here, every iteration of the loop has its own variable `x', so `f()'
+will write `5'. If a variable in a loop is declared static, it will be
+allocated where the enclosing function or structure was defined (just
+as if it were declared static outside of the loop). For instance, in:
+void f() {
+ static int x;
+ for(int i=0; i < 10; ++i) {
+ static int y;
+ }
+}
+ both `x' and `y' will be allocated in the same place, which is also
+where `f' is also allocated.
+
+ Statements may also be declared static, in which case they are run
+at the place where the enclosing function or structure is defined.
+Declarations or statements not enclosed in a function or structure
+definition are already at the top level, so static modifiers are
+meaningless. A warning is given in such a case.
+
+ Since structures can have static fields, it is not always clear for
+a qualified name whether the qualifier is a variable or a type. For
+instance, in:
+
+struct A {
+ static int x;
+}
+pair A;
+
+int y=A.x;
+ does the `A' in `A.x' refer to the structure or to the pair variable.
+It is the convention in Asymptote that, if there is a non-function
+variable with the same name as the qualifier, the qualifier refers to
+that variable, and not to the type. This is regardless of what fields
+the variable actually possesses.
+
+
+File: asymptote.info, Node: LaTeX usage, Next: Base modules, Prev: Programming, Up: Top
+
+7 `LaTeX' usage
+***************
+
+`Asymptote' comes with a convenient `LaTeX' style file `asymptote.sty'
+that makes `LaTeX' `Asymptote'-aware. Entering `Asymptote' code
+directly into the `LaTeX' source file, at the point where it is needed,
+keeps figures organized and avoids the need to invent new file names
+for each figure. Simply add the line `\usepackage{asymptote}' at the
+beginning of your file and enclose your `Asymptote' code within a
+`\begin{asy}...\end{asy}' environment. As with the `LaTeX' `comment'
+environment, the `\end{asy}' command must appear on a line by itself,
+with no trailing commands/comments. A blank line is not allowed after
+`\begin{asy}'.
+
+ The sample `LaTeX' file below, named `latexusage.tex', can be run as
+follows:
+latex latexusage
+asy latexusage-*.asy
+latex latexusage
+
+or
+pdflatex latexusage
+asy latexusage-*.asy
+pdflatex latexusage
+ To switch between using inline Asymptote code with `latex' and
+`pdflatex' you may first need to remove the files `latexusage-*.tex'.
+
+ An even better method for processing a `LaTeX' file with embedded
+`Asymptote' code is to use the `latexmk' utility from
+
+ `http://www.ctan.org/tex-archive/support/latexmk/'
+ after putting the contents of
+`http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/doc/latexmkrc'
+in a file `latexmkrc' in the same directory. The command
+latexmk -pdf latexusage
+ will then call `Asymptote' automatically, recompiling only the figures
+that have changed. Since each figure is compiled in a separate system
+process, this method also tends to use less memory. To store the
+figures in a separate directory named `asy', one can define
+\def\asydir{asy}
+ in `latexusage.tex' and put the contents of
+`http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/doc/latexmkrc_asydir'
+in a file `latexmkrc' in the same directory. External `Asymptote' code
+in `filename.asy' should be included with
+\asyinclude[<options>]{<filename.asy>}
+ so that `latexmk' will recognize when the code is changed. Note that
+`latemk' requires `perl', available from `http://www.perl.org/'.
+
+ One can specify `width', `height', `keepAspect', `viewportwidth',
+`viewportheight', `attach', and `inline'. `keyval'-style options to
+the `asy' and `asyinclude' environments. Three-dimensional PRC files
+may either be embedded within the page (the default) or attached as
+annotated (but printable) attachments, using the `attach' option and
+the `attachfile2' (or older `attachfile') `LaTeX' package. The
+`inline' option generates inline `LaTeX' code instead of EPS or PDF
+files. This makes 2D LaTeX symbols visible to the
+`\begin{asy}...\end{asy}' environment. In this mode, Asymptote
+correctly aligns 2D LaTeX symbols defined outside of
+`\begin{asy}...\end{asy}', but treats their size as zero; an optional
+second string can be given to `Label' to provide an estimate of the
+unknown label size.
+
+ Note that if the `latex' TeX engine is used with the `inline'
+option, labels might not show up in DVI viewers that cannot handle raw
+`PostScript' code. One can use `dvips'/`dvipdf' to produce
+`PostScript'/PDF output (we recommend using the modified version of
+`dvipdf' in the `Asymptote' patches directory, which accepts the `dvips
+-z' hyperdvi option).
+
+ Here now is `latexusage.tex':
+
+\documentclass[12pt]{article}
+
+% Use this form to include EPS (latex) or PDF (pdflatex) files:
+\usepackage{asymptote}
+
+% Use this form with latex or pdflatex to include inline LaTeX code by default:
+%\usepackage[inline]{asymptote}
+
+% Use this form with latex or pdflatex to create PDF attachments by default:
+%\usepackage[attach]{asymptote}
+
+% Enable this line to support the attach option:
+%\usepackage[dvips]{attachfile2}
+
+\begin{document}
+
+% Optional subdirectory for asy files (no spaces):
+\def\asydir{}
+
+\begin{asydef}
+// Global Asymptote definitions can be put here.
+import three;
+usepackage("bm");
+texpreamble("\def\V#1{\bm{#1}}");
+// One can globally override the default toolbar settings here:
+// settings.toolbar=true;
+\end{asydef}
+
+Here is a venn diagram produced with Asymptote, drawn to width 4cm:
+
+\def\A{A}
+\def\B{\V{B}}
+
+%\begin{figure}
+\begin{center}
+\begin{asy}
+size(4cm,0);
+pen colour1=red;
+pen colour2=green;
+
+pair z0=(0,0);
+pair z1=(-1,0);
+pair z2=(1,0);
+real r=1.5;
+path c1=circle(z1,r);
+path c2=circle(z2,r);
+fill(c1,colour1);
+fill(c2,colour2);
+
+picture intersection=new picture;
+fill(intersection,c1,colour1+colour2);
+clip(intersection,c2);
+
+add(intersection);
+
+draw(c1);
+draw(c2);
+
+//draw("$\A$",box,z1); // Requires [inline] package option.
+//draw(Label("$\B$","$B$"),box,z2); // Requires [inline] package option.
+draw("$A$",box,z1);
+draw("$\V{B}$",box,z2);
+
+pair z=(0,-2);
+real m=3;
+margin BigMargin=Margin(0,m*dot(unit(z1-z),unit(z0-z)));
+
+draw(Label("$A\cap B$",0),conj(z)--z0,Arrow,BigMargin);
+draw(Label("$A\cup B$",0),z--z0,Arrow,BigMargin);
+draw(z--z1,Arrow,Margin(0,m));
+draw(z--z2,Arrow,Margin(0,m));
+
+shipout(bbox(0.25cm));
+\end{asy}
+%\caption{Venn diagram}\label{venn}
+\end{center}
+%\end{figure}
+
+Each graph is drawn in its own environment. One can specify the width
+and height to \LaTeX\ explicitly. This 3D example can be viewed
+interactively either with Adobe Reader or Asymptote's fast OpenGL-based
+renderer. To support {\tt latexmk}, 3D figures should specify
+\verb+inline=true+. It is sometimes desirable to embed 3D files as annotated
+attachments; this requires the \verb+attach=true+ option as well as the
+\verb+attachfile2+ \LaTeX\ package.
+\begin{center}
+\begin{asy}[height=4cm,inline=true,attach=false,viewportwidth=\linewidth]
+currentprojection=orthographic(5,4,2);
+draw(unitcube,blue);
+label("$V-E+F=2$",(0,1,0.5),3Y,blue+fontsize(17pt));
+\end{asy}
+\end{center}
+
+One can also scale the figure to the full line width:
+\begin{center}
+\begin{asy}[width=\the\linewidth,inline=true]
+pair z0=(0,0);
+pair z1=(2,0);
+pair z2=(5,0);
+pair zf=z1+0.75*(z2-z1);
+
+draw(z1--z2);
+dot(z1,red+0.15cm);
+dot(z2,darkgreen+0.3cm);
+label("$m$",z1,1.2N,red);
+label("$M$",z2,1.5N,darkgreen);
+label("$\hat{\ }$",zf,0.2*S,fontsize(24pt)+blue);
+
+pair s=-0.2*I;
+draw("$x$",z0+s--z1+s,N,red,Arrows,Bars,PenMargins);
+s=-0.5*I;
+draw("$\bar{x}$",z0+s--zf+s,blue,Arrows,Bars,PenMargins);
+s=-0.95*I;
+draw("$X$",z0+s--z2+s,darkgreen,Arrows,Bars,PenMargins);
+\end{asy}
+\end{center}
+\end{document}
+
+
+File: asymptote.info, Node: Base modules, Next: Options, Prev: LaTeX usage, Up: Top
+
+8 Base modules
+**************
+
+`Asymptote' currently ships with the following base modules:
+
+* Menu:
+
+* plain:: Default `Asymptote' base file
+* simplex:: Linear programming: simplex method
+* math:: Extend `Asymptote''s math capabilities
+* interpolate:: Interpolation routines
+* geometry:: Geometry routines
+* trembling:: Wavy lines
+* stats:: Statistics routines and histograms
+* patterns:: Custom fill and draw patterns
+* markers:: Custom path marker routines
+* tree:: Dynamic binary search tree
+* binarytree:: Binary tree drawing module
+* drawtree:: Tree drawing module
+* syzygy:: Syzygy and braid drawing module
+* feynman:: Feynman diagrams
+* roundedpath:: Round the sharp corners of paths
+* animation:: Embedded PDF and MPEG movies
+* embed:: Embedding movies, sounds, and 3D objects
+* slide:: Making presentations with `Asymptote'
+* MetaPost:: `MetaPost' compatibility routines
+* unicode:: Accept `unicode' (UTF-8) characters
+* latin1:: Accept `ISO 8859-1' characters
+* babel:: Interface to `LaTeX' `babel' package
+* labelpath:: Drawing curved labels
+* labelpath3:: Drawing curved labels in 3D
+* annotate:: Annotate your PDF files
+* CAD:: 2D CAD pen and measurement functions (DIN 15)
+* graph:: 2D linear & logarithmic graphs
+* palette:: Color density images and palettes
+* three:: 3D vector graphics
+* obj:: 3D obj files
+* graph3:: 3D linear & logarithmic graphs
+* grid3:: 3D grids
+* solids:: 3D solid geometry
+* tube:: 3D rotation minimizing tubes
+* flowchart:: Flowchart drawing routines
+* contour:: Contour lines
+* contour3:: Contour surfaces
+* slopefield:: Slope fields
+* ode:: Ordinary differential equations
+
+
+File: asymptote.info, Node: plain, Next: simplex, Up: Base modules
+
+8.1 `plain'
+===========
+
+This is the default `Asymptote' base file, which defines key parts of
+the drawing language (such as the `picture' structure).
+
+ By default, an implicit `private import plain;' occurs before
+translating a file and before the first command given in interactive
+mode. This also applies when translating files for module definitions
+(except when translating `plain', of course). This means that the
+types and functions defined in `plain' are accessible in almost all
+`Asymptote' code. Use the `-noautoplain' command-line option to disable
+this feature.
+
+
+File: asymptote.info, Node: simplex, Next: math, Prev: plain, Up: Base modules
+
+8.2 `simplex'
+=============
+
+This package solves the two-variable linear programming problem using
+the simplex method. It is used by the module `plain' for automatic
+sizing of pictures.
+
+
+File: asymptote.info, Node: math, Next: interpolate, Prev: simplex, Up: Base modules
+
+8.3 `math'
+==========
+
+This package extends `Asymptote''s mathematical capabilities with
+useful functions such as
+
+`void drawline(picture pic=currentpicture, pair P, pair Q, pen p=currentpen);'
+ draw the visible portion of the (infinite) line going through `P'
+ and `Q', without altering the size of picture `pic', using pen `p'.
+
+`real intersect(triple P, triple Q, triple n, triple Z);'
+ returns the intersection time of the extension of the line segment
+ `PQ' with the plane perpendicular to `n' and passing through `Z'.
+
+`triple intersectionpoint(triple n0, triple P0, triple n1, triple P1);'
+ Return any point on the intersection of the two planes with normals
+ `n0' and `n1' passing through points `P0' and `P1', respectively.
+ If the planes are parallel, return `(infinity,infinity,infinity)'.
+
+`pair[] quarticroots(real a, real b, real c, real d, real e);'
+ returns the four complex roots of the quartic equation
+ ax^4+bx^3+cx^2+dx+e=0.
+
+`pair[][] fft(pair[][] a, int sign=1)'
+ returns the two-dimensional Fourier transform of a using the given
+ `sign'.
+
+`real time(path g, real x, int n=0)'
+ returns the `n'th intersection time of path `g' with the vertical
+ line through x.
+
+`real time(path g, explicit pair z, int n=0)'
+ returns the `n'th intersection time of path `g' with the horizontal
+ line through `(0,z.y)'.
+
+`real value(path g, real x, int n=0)'
+ returns the `n'th `y' value of `g' at `x'.
+
+`real value(path g, real x, int n=0)'
+ returns the `n'th `x' value of `g' at `y=z.y'.
+
+`real slope(path g, real x, int n=0)'
+ returns the `n'th slope of `g' at `x'.
+
+`real slope(path g, explicit pair z, int n=0)'
+ returns the `n'th slope of `g' at `y=z.y'.
+
+ int[][] segment(bool[] b) returns the indices of consecutive
+ true-element segments of bool[] `b'.
+
+`real[] partialsum(real[] a)'
+ returns the partial sums of a real array `a'.
+
+`real[] partialsum(real[] a, real[] dx)'
+ returns the partial `dx'-weighted sums of a real array `a'.
+
+`bool increasing(real[] a, bool strict=false)'
+ returns, if `strict=false', whether `i > j' implies `a[i] >=
+ a[j]', or if `strict=true', whether `i > j' implies implies `a[i]
+ > a[j]'.
+
+`int unique(real[] a, real x)'
+ if the sorted array `a' does not contain `x', insert it
+ sequentially, returning the index of `x' in the resulting array.
+
+`bool lexorder(pair a, pair b)'
+ returns the strict lexicographical partial order of `a' and `b'.
+
+`bool lexorder(triple a, triple b)'
+ returns the strict lexicographical partial order of `a' and `b'.
+
+
+File: asymptote.info, Node: interpolate, Next: geometry, Prev: math, Up: Base modules
+
+8.4 `interpolate'
+=================
+
+This module implements Lagrange, Hermite, and standard cubic spline
+interpolation in `Asymptote', as illustrated in the example
+`interpolate1.asy'.
+
+
+File: asymptote.info, Node: geometry, Next: trembling, Prev: interpolate, Up: Base modules
+
+8.5 `geometry'
+==============
+
+This module, written by Philippe Ivaldi, provides an extensive set of
+geometry routines, including `perpendicular' symbols and a `triangle'
+structure. Link to the documentation for the `geometry' module are
+posted here: `http://asymptote.sourceforge.net/links.html', including
+an extensive set of examples,
+`http://www.piprime.fr/files/asymptote/geometry/', and an index:
+
+ `http://www.piprime.fr/files/asymptote/geometry/modules/geometry.asy.index.type.html'
+
+
+File: asymptote.info, Node: trembling, Next: stats, Prev: geometry, Up: Base modules
+
+8.6 `trembling'
+===============
+
+This module, written by Philippe Ivaldi and illustrated in the example
+`floatingdisk.asy', allows one to draw wavy lines, as if drawn by hand.
+Further examples are posted at
+`http://www.piprime.fr/files/asymptote/trembling/'
+
+
+File: asymptote.info, Node: stats, Next: patterns, Prev: trembling, Up: Base modules
+
+8.7 `stats'
+===========
+
+This package implements a Gaussian random number generator and a
+collection of statistics routines, including `histogram' and
+`leastsquares'.
+
+
+File: asymptote.info, Node: patterns, Next: markers, Prev: stats, Up: Base modules
+
+8.8 `patterns'
+==============
+
+This package implements `Postscript' tiling patterns and includes
+several convenient pattern generation routines.
+
+
+File: asymptote.info, Node: markers, Next: tree, Prev: patterns, Up: Base modules
+
+8.9 `markers'
+=============
+
+This package implements specialized routines for marking paths and
+angles. The principal mark routine provided by this package is
+markroutine markinterval(int n=1, frame f, bool rotated=false);
+ which centers `n' copies of frame `f' within uniformly space intervals
+in arclength along the path, optionally rotated by the angle of the
+local tangent.
+
+ The `marker' (*note marker::) routine can be used to construct new
+markers from these predefined frames:
+
+frame stickframe(int n=1, real size=0, pair space=0, real angle=0,
+ pair offset=0, pen p=currentpen);
+
+frame circlebarframe(int n=1, real barsize=0,
+ real radius=0,real angle=0,
+ pair offset=0, pen p=currentpen,
+ filltype filltype=NoFill, bool above=false);
+
+frame crossframe(int n=3, real size=0, pair space=0,
+ real angle=0, pair offset=0, pen p=currentpen);
+
+frame tildeframe(int n=1, real size=0, pair space=0,
+ real angle=0, pair offset=0, pen p=currentpen);
+
+ For convenience, this module also constructs the markers
+`StickIntervalMarker', `CrossIntervalMarker',
+`CircleBarIntervalMarker', and `TildeIntervalMarker' from the above
+frames. The example `markers1.asy' illustrates the use of these markers:
+
+
+
+
+This package also provides a routine for marking an angle AOB:
+void markangle(picture pic=currentpicture, Label L="",
+ int n=1, real radius=0, real space=0,
+ pair A, pair O, pair B, arrowbar arrow=None,
+ pen p=currentpen, margin margin=NoMargin,
+ marker marker=nomarker);
+ as illustrated in the example `markers2.asy'.
+
+
+
+
+
+File: asymptote.info, Node: tree, Next: binarytree, Prev: markers, Up: Base modules
+
+8.10 `tree'
+===========
+
+This package implements an example of a dynamic binary search tree.
+
+
+File: asymptote.info, Node: binarytree, Next: drawtree, Prev: tree, Up: Base modules
+
+8.11 `binarytree'
+=================
+
+This module can be used to draw an arbitrary binary tree and includes an
+input routine for the special case of a binary search tree, as
+illustrated in the example `binarytreetest.asy':
+
+import binarytree;
+
+picture pic,pic2;
+
+binarytree bt=binarytree(1,2,4,nil,5,nil,nil,0,nil,nil,3,6,nil,nil,7);
+draw(pic,bt);
+
+binarytree st=searchtree(10,5,2,1,3,4,7,6,8,9,15,13,12,11,14,17,16,18,19);
+draw(pic2,st,blue);
+
+add(pic.fit(),(0,0),10N);
+add(pic2.fit(),(0,0),10S);
+
+
+
+
+File: asymptote.info, Node: drawtree, Next: syzygy, Prev: binarytree, Up: Base modules
+
+8.12 `drawtree'
+===============
+
+This is a simple tree drawing module used by the example `treetest.asy'.
+
+
+File: asymptote.info, Node: syzygy, Next: feynman, Prev: drawtree, Up: Base modules
+
+8.13 `syzygy'
+=============
+
+This module automates the drawing of braids, relations, and syzygies,
+along with the corresponding equations, as illustrated in the example
+`knots.asy'.
+
+
+File: asymptote.info, Node: feynman, Next: roundedpath, Prev: syzygy, Up: Base modules
+
+8.14 `feynman'
+==============
+
+This package, contributed by Martin Wiebusch, is useful for drawing
+Feynman diagrams, as illustrated by the examples `eetomumu.asy' and
+`fermi.asy'.
+
+
+File: asymptote.info, Node: roundedpath, Next: animation, Prev: feynman, Up: Base modules
+
+8.15 `roundedpath'
+==================
+
+This package, contributed by Stefan Knorr, is useful for rounding the
+sharp corners of paths, as illustrated in the example file
+`roundpath.asy'.
+
+
+File: asymptote.info, Node: animation, Next: embed, Prev: roundedpath, Up: Base modules
+
+8.16 `animation'
+================
+
+This module allows one to generate animations, as illustrated by the
+files `wheel.asy', `wavepacket.asy', and `cube.asy' in the `animations'
+subdirectory of the examples directory. These animations use the
+`ImageMagick' `convert' program to merge multiple images into a GIF or
+MPEG movie.
+
+ The related `animate' module, derived from the `animation' module,
+generates higher-quality portable clickable PDF movies, with optional
+controls. This requires installing the package
+
+ `http://www.ctan.org/tex-archive/macros/latex/contrib/animate/animate.sty'
+ (version 2007/11/30 or later) in a new directory `animate' in the
+local `LaTeX' directory (for example, in
+`/usr/local/share/texmf/tex/latex/animate'). On `UNIX' systems, one
+must then execute the command `texhash'.
+
+ The example `pdfmovie.asy' in the `animations' directory, along with
+the slide presentations `slidemovies.asy' and `intro.asy', illustrate
+the use of embedded PDF movies. The examples `inlinemovie.tex' and
+`inlinemovie3.tex' show how to generate and embed PDF movies directly
+within a `LaTeX' file (*note LaTeX usage::). The member function
+string pdf(fit fit=NoBox, real delay=animationdelay, string options="",
+ bool keep=settings.keep, bool multipage=true);
+ of the `animate' structure accepts any of the `animate.sty' options,
+as described here:
+
+ `http://www.ctan.org/tex-archive/macros/latex/contrib/animate/doc/animate.pdf'
+
+
+File: asymptote.info, Node: embed, Next: slide, Prev: animation, Up: Base modules
+
+8.17 `embed'
+============
+
+This module provides an interface to the `LaTeX' package (included with
+`MikTeX')
+
+ `http://www.ctan.org/tex-archive/macros/latex/contrib/movie15'
+ for embedding movies, sounds, and 3D objects into a PDF document. However,
+`XeLaTeX' users need to rename the modified version
+`movie15_dvipdfmx.sty' from
+
+ `http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/patches/'
+ to `movie15.sty' and place it in their `LaTeX' path.
+
+ The latest version of the `movie15' package requires both `pdflatex'
+version 1.20 or later and the file
+
+ `http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ifdraft.dtx'
+ which can be installed by placing it in a directory `ifdraft' in the
+local `LaTeX' directory (e.g.
+`/usr/local/share/texmf/tex/latex/ifdraft') and executing in that
+directory the commands:
+tex ifdraft.dtx
+texhash
+
+ A more portable method for embedding movie files, which should work
+on any platform and does not require the `movie15' or `ifdraft'
+packages, is provided by using the `external' module instead of
+`embed'. An example of these interfaces is provided in the file
+`embeddedmovie.asy' and `externalmovie.asy' in the `animations'
+subdirectory of the examples directory. For a higher quality movie
+generated directly by `Asymptote', use the `animate' module along with
+the `animate.sty' package to embed a portable PDF animation (*note
+animate::).
+
+ An example of embedding `U3D' code is provided in the file
+`embeddedu3d.asy'.
+
+
+File: asymptote.info, Node: slide, Next: MetaPost, Prev: embed, Up: Base modules
+
+8.18 `slide'
+============
+
+This package provides a simple yet high-quality facility for making
+presentation slides, including portable embedded PDF animations (see
+the file `slidemovies.asy'). A simple example is provided in the file
+`slidedemo.asy'.
+
+
+File: asymptote.info, Node: MetaPost, Next: unicode, Prev: slide, Up: Base modules
+
+8.19 `MetaPost'
+===============
+
+This package provides some useful routines to help `MetaPost' users
+migrate old `MetaPost' code to `Asymptote'. Further contributions here
+are welcome.
+
+ Unlike `MetaPost', `Asymptote' does not implicitly solve linear
+equations and therefore does not have the notion of a `whatever'
+unknown. The routine `extension' (*note extension::) provides a useful
+replacement for a common use of `whatever': finding the intersection
+point of the lines through `P', `Q' and `p', `q'. For less common
+occurrences of `whatever', one can use the built-in explicit linear
+equation solver `solve' instead.
+
+
+File: asymptote.info, Node: unicode, Next: latin1, Prev: MetaPost, Up: Base modules
+
+8.20 `unicode'
+==============
+
+Import this package at the beginning of the file to instruct `LaTeX' to
+accept `unicode' (UTF-8) standardized international characters. To use
+Cyrillic fonts, you will need to change the font encoding:
+import unicode;
+texpreamble("\usepackage{mathtext}\usepackage[russian]{babel}");
+defaultpen(font("T2A","cmr","m","n"));
+ Support for Chinese, Japanese, and Korean fonts is provided by the CJK
+package:
+
+ `http://www.ctan.org/tex-archive/languages/chinese/CJK/'
+ The following commands enable the CJK song family (within a label,
+you can also temporarily switch to another family, say kai, by
+prepending `"\CJKfamily{kai}"' to the label string):
+texpreamble("\usepackage{CJK}
+\AtBeginDocument{\begin{CJK*}{GBK}{song}}
+\AtEndDocument{\clearpage\end{CJK*}}");
+
+
+File: asymptote.info, Node: latin1, Next: babel, Prev: unicode, Up: Base modules
+
+8.21 `latin1'
+=============
+
+If you don't have `LaTeX' support for `unicode' installed, you can
+enable support for Western European languages (ISO 8859-1) by importing
+the module `latin1'. This module can be used as a template for
+providing support for other ISO 8859 alphabets.
+
+
+File: asymptote.info, Node: babel, Next: labelpath, Prev: latin1, Up: Base modules
+
+8.22 `babel'
+============
+
+This module implements the `LaTeX' `babel' package in `Asymptote'. For
+example:
+import babel;
+babel("german");
+
+
+File: asymptote.info, Node: labelpath, Next: labelpath3, Prev: babel, Up: Base modules
+
+8.23 `labelpath'
+================
+
+This module uses the `PSTricks' `pstextpath' macro to fit labels along
+a path (properly kerned, as illustrated in the example file
+`curvedlabel.asy'), using the command
+void labelpath(picture pic=currentpicture, Label L, path g,
+ string justify=Centered, pen p=currentpen);
+ Here `justify' is one of `LeftJustified', `Centered', or
+`RightJustified'. The x component of a shift transform applied to the
+Label is interpreted as a shift along the curve, whereas the y
+component is interpreted as a shift away from the curve. All other
+Label transforms are ignored. This package requires the `latex' tex
+engine and inherits the limitations of the `PSTricks' `\pstextpath'
+macro.
+
+
+File: asymptote.info, Node: labelpath3, Next: annotate, Prev: labelpath, Up: Base modules
+
+8.24 `labelpath3'
+=================
+
+This module, contributed by Jens Schwaiger, implements a 3D version of
+`labelpath' that does not require the `PSTricks' package. An example
+is provided in `curvedlabel3.asy'.
+
+
+File: asymptote.info, Node: annotate, Next: CAD, Prev: labelpath3, Up: Base modules
+
+8.25 `annotate'
+===============
+
+This module supports PDF annotations for viewing with `Adobe Reader',
+via the function
+void annotate(picture pic=currentpicture, string title, string text,
+ pair position);
+ Annotations are illustrated in the example file `annotation.asy'.
+Currently, annotations are only implemented for the `latex' (default)
+and `tex' TeX engines.
+
+
+File: asymptote.info, Node: CAD, Next: graph, Prev: annotate, Up: Base modules
+
+8.26 `CAD'
+==========
+
+This package, contributed by Mark Henning, provides basic pen
+definitions and measurement functions for simple 2D CAD drawings
+according to DIN 15. It is documented separately, in the file `CAD.pdf'.
+
+
+File: asymptote.info, Node: graph, Next: palette, Prev: CAD, Up: Base modules
+
+8.27 `graph'
+============
+
+This package implements two-dimensional linear and logarithmic graphs,
+including automatic scale and tick selection (with the ability to
+override manually). A graph is a `guide' (that can be drawn with the
+draw command, with an optional legend) constructed with one of the
+following routines:
+
+ * guide graph(picture pic=currentpicture, real f(real), real a, real b,
+ int n=ngraph, real T(real)=identity,
+ interpolate join=operator --);
+ guide[] graph(picture pic=currentpicture, real f(real), real a, real b,
+ int n=ngraph, real T(real)=identity, bool3 cond(real),
+ interpolate join=operator --);
+
+ Returns a graph using the scaling information for picture `pic'
+ (*note automatic scaling::) of the function `f' on the interval
+ [`T'(`a'),`T'(`b')], sampling at `n' points evenly spaced in
+ [`a',`b'], optionally restricted by the bool3 function `cond' on
+ [`a',`b']. If `cond' is:
+ * `true', the point is added to the existing guide;
+
+ * `default', the point is added to a new guide;
+
+ * `false', the point is omitted and a new guide is begun.
+ The points are connected using the interpolation specified by
+ `join':
+ * `operator --' (linear interpolation; the abbreviation
+ `Straight' is also accepted);
+
+ * `operator ..' (piecewise Bezier cubic spline interpolation;
+ the abbreviation `Spline' is also accepted);
+
+ * `Hermite' (standard cubic spline interpolation using boundary
+ condition `notaknot', `natural', `periodic', `clamped(real
+ slopea, real slopeb)'), or `monotonic'. The abbreviation
+ `Hermite' is equivalent to `Hermite(notaknot)' for
+ nonperiodic data and `Hermite(periodic)' for periodic data).
+
+
+ * guide graph(picture pic=currentpicture, real x(real), real y(real),
+ real a, real b, int n=ngraph, real T(real)=identity,
+ interpolate join=operator --);
+ guide[] graph(picture pic=currentpicture, real x(real), real y(real),
+ real a, real b, int n=ngraph, real T(real)=identity,
+ bool3 cond(real), interpolate join=operator --);
+
+ Returns a graph using the scaling information for picture `pic' of
+ the parametrized function (`x'(t),`y'(t)) for t in the interval
+ [`T'(`a'),`T'(`b')], sampling at `n' points evenly spaced in
+ [`a',`b'], optionally restricted by the bool3 function `cond' on
+ [`a',`b'], using the given interpolation type.
+
+ * guide graph(picture pic=currentpicture, pair z(real), real a, real b,
+ int n=ngraph, real T(real)=identity,
+ interpolate join=operator --);
+ guide[] graph(picture pic=currentpicture, pair z(real), real a, real b,
+ int n=ngraph, real T(real)=identity, bool3 cond(real),
+ interpolate join=operator --);
+
+ Returns a graph using the scaling information for picture `pic' of
+ the parametrized function `z'(t) for t in the interval
+ [`T'(`a'),`T'(`b')], sampling at `n' points evenly spaced in
+ [`a',`b'], optionally restricted by the bool3 function `cond' on
+ [`a',`b'], using the given interpolation type.
+
+ * guide graph(picture pic=currentpicture, pair[] z,
+ interpolate join=operator --);
+ guide[] graph(picture pic=currentpicture, pair[] z, bool3[] cond,
+ interpolate join=operator --);
+
+ Returns a graph using the scaling information for picture `pic' of
+ the elements of the array `z', optionally restricted to those
+ indices for which the elements of the boolean array `cond' are
+ `true', using the given interpolation type.
+
+ * guide graph(picture pic=currentpicture, real[] x, real[] y,
+ interpolate join=operator --);
+ guide[] graph(picture pic=currentpicture, real[] x, real[] y,
+ bool3[] cond, interpolate join=operator --);
+
+ Returns a graph using the scaling information for picture `pic' of
+ the elements of the arrays (`x',`y'), optionally restricted to
+ those indices for which the elements of the boolean array `cond'
+ are `true', using the given interpolation type.
+
+ * guide polargraph(picture pic=currentpicture, real f(real), real a,
+ real b, int n=ngraph, interpolate join=operator --);
+
+ Returns a polar-coordinate graph using the scaling information for
+ picture `pic' of the function `f' on the interval [`a',`b'],
+ sampling at `n' evenly spaced points, with the given interpolation
+ type.
+
+ * guide polargraph(picture pic=currentpicture, real[] r, real[] theta,
+ interpolate join=operator--);
+ Returns a polar-coordinate graph using the scaling information for
+ picture `pic' of the elements of the arrays (`r',`theta'), using
+ the given interpolation type.
+
+
+
+
+ An axis can be drawn on a picture with one of the following commands:
+
+ * void xaxis(picture pic=currentpicture, Label L="", axis axis=YZero,
+ real xmin=-infinity, real xmax=infinity, pen p=currentpen,
+ ticks ticks=NoTicks, arrowbar arrow=None, bool above=false);
+
+ Draw an x axis on picture `pic' from x=`xmin' to x=`xmax' using
+ pen `p', optionally labelling it with Label `L'. The relative
+ label location along the axis (a real number from [0,1]) defaults
+ to 1 (*note Label::), so that the label is drawn at the end of the
+ axis. An infinite value of `xmin' or `xmax' specifies that the
+ corresponding axis limit will be automatically determined from the
+ picture limits. The optional `arrow' argument takes the same
+ values as in the `draw' command (*note arrows::). The axis is
+ drawn before any existing objects in `pic' unless `above=true'.
+ The axis placement is determined by one of the following `axis'
+ types:
+
+ `YZero(bool extend=true)'
+ Request an x axis at y=0 (or y=1 on a logarithmic axis)
+ extending to the full dimensions of the picture, unless
+ `extend'=false.
+
+ `YEquals(real Y, bool extend=true)'
+ Request an x axis at y=`Y' extending to the full dimensions
+ of the picture, unless `extend'=false.
+
+ `Bottom(bool extend=false)'
+ Request a bottom axis.
+
+ `Top(bool extend=false)'
+ Request a top axis.
+
+ `BottomTop(bool extend=false)'
+ Request a bottom and top axis.
+
+
+ Custom axis types can be created by following the examples in
+ `graph.asy'. One can easily override the default values for the
+ standard axis types: import graph;
+
+ YZero=new axis(bool extend=true) {
+ return new void(picture pic, axisT axis) {
+ real y=pic.scale.x.scale.logarithmic ? 1 : 0;
+ axis.value=I*pic.scale.y.T(y);
+ axis.position=1;
+ axis.side=right;
+ axis.align=2.5E;
+ axis.value2=Infinity;
+ axis.extend=extend;
+ };
+ };
+ YZero=YZero();
+
+ The default tick option is `NoTicks'. The options `LeftTicks',
+ `RightTicks', or `Ticks' can be used to draw ticks on the left,
+ right, or both sides of the path, relative to the direction in
+ which the path is drawn. These tick routines accept a number of
+ optional arguments: ticks LeftTicks(Label format="", ticklabel ticklabel=null,
+ bool beginlabel=true, bool endlabel=true,
+ int N=0, int n=0, real Step=0, real step=0,
+ bool begin=true, bool end=true, tickmodifier modify=None,
+ real Size=0, real size=0, bool extend=false,
+ pen pTick=nullpen, pen ptick=nullpen);
+
+ If any of these parameters are omitted, reasonable defaults will
+ be chosen:
+ `Label format'
+ override the default tick label format (`defaultformat',
+ initially "$%.4g$"), rotation, pen, and alignment (for
+ example, `LeftSide', `Center', or `RightSide') relative to
+ the axis. To enable `LaTeX' math mode fonts, the format
+ string should begin and end with `$' *note format::. If the
+ format string is `trailingzero', trailing zeros will be added
+ to the tick labels; if the format string is `"%"', the tick
+ label will be suppressed;
+
+ `ticklabel'
+ is a function `string(real x)' returning the label (by
+ default, format(format.s,x)) for each major tick value `x';
+
+ `bool beginlabel'
+ include the first label;
+
+ `bool endlabel'
+ include the last label;
+
+ `int N'
+ when automatic scaling is enabled (the default; *note
+ automatic scaling::), divide a linear axis evenly into this
+ many intervals, separated by major ticks; for a logarithmic
+ axis, this is the number of decades between labelled ticks;
+
+ `int n'
+ divide each interval into this many subintervals, separated
+ by minor ticks;
+
+ `real Step'
+ the tick value spacing between major ticks (if `N'=`0');
+
+ `real step'
+ the tick value spacing between minor ticks (if `n'=`0');
+
+ `bool begin'
+ include the first major tick;
+
+ `bool end'
+ include the last major tick;
+
+ `tickmodifier modify;'
+ an optional function that takes and returns a `tickvalue'
+ structure having real[] members `major' and `minor'
+ consisting of the tick values (to allow modification of the
+ automatically generated tick values);
+
+ `real Size'
+ the size of the major ticks (in `PostScript' coordinates);
+
+ `real size'
+ the size of the minor ticks (in `PostScript' coordinates);
+
+ `bool extend;'
+ extend the ticks between two axes (useful for drawing a grid
+ on the graph);
+
+ `pen pTick'
+ an optional pen used to draw the major ticks;
+
+ `pen ptick'
+ an optional pen used to draw the minor ticks.
+
+
+ For convenience, the predefined tickmodifiers `OmitTick(... real[]
+ x)', `OmitTickInterval(real a, real b)', and
+ `OmitTickIntervals(real[] a, real[] b)' can be used to remove
+ specific auto-generated ticks and their labels. The
+ `OmitFormat(string s=defaultformat ... real[] x)' ticklabel can be
+ used to remove specific tick labels but not the corresponding
+ ticks. The tickmodifier `NoZero' is an abbreviation for
+ `OmitTick(0)' and the ticklabel `NoZeroFormat' is an abbrevation
+ for `OmitFormat(0)'.
+
+ It is also possible to specify custom tick locations with
+ `LeftTicks', `RightTicks', and `Ticks' by passing explicit real
+ arrays `Ticks' and (optionally) `ticks' containing the locations
+ of the major and minor ticks, respectively: ticks LeftTicks(Label format="", ticklabel ticklabel=null,
+ bool beginlabel=true, bool endlabel=true,
+ real[] Ticks, real[] ticks=new real[],
+ real Size=0, real size=0, bool extend=false,
+ pen pTick=nullpen, pen ptick=nullpen)
+
+ * void yaxis(picture pic=currentpicture, Label L="", axis axis=XZero,
+ real ymin=-infinity, real ymax=infinity, pen p=currentpen,
+ ticks ticks=NoTicks, arrowbar arrow=None, bool above=false,
+ bool autorotate=true);
+
+ Draw a y axis on picture `pic' from y=`ymin' to y=`ymax' using pen
+ `p', optionally labelling it with a Label `L' that is autorotated
+ unless `autorotate=false'. The relative location of the label (a
+ real number from [0,1]) defaults to 1 (*note Label::). An infinite
+ value of `ymin' or `ymax' specifies that the corresponding axis
+ limit will be automatically determined from the picture limits.
+ The optional `arrow' argument takes the same values as in the
+ `draw' command (*note arrows::). The axis is drawn before any
+ existing objects in `pic' unless `above=true'. The tick type is
+ specified by `ticks' and the axis placement is determined by one
+ of the following `axis' types:
+
+ `XZero(bool extend=true)'
+ Request a y axis at x=0 (or x=1 on a logarithmic axis)
+ extending to the full dimensions of the picture, unless
+ `extend'=false.
+
+ `XEquals(real X, bool extend=true)'
+ Request a y axis at x=`X' extending to the full dimensions of
+ the picture, unless `extend'=false.
+
+ `Left(bool extend=false)'
+ Request a left axis.
+
+ `Right(bool extend=false)'
+ Request a right axis.
+
+ `LeftRight(bool extend=false)'
+ Request a left and right axis.
+
+
+ * For convenience, the functions void xequals(picture pic=currentpicture, Label L="", real x,
+ bool extend=false, real ymin=-infinity, real ymax=infinity,
+ pen p=currentpen, ticks ticks=NoTicks, bool above=true,
+ arrowbar arrow=None);
+ and void yequals(picture pic=currentpicture, Label L="", real y,
+ bool extend=false, real xmin=-infinity, real xmax=infinity,
+ pen p=currentpen, ticks ticks=NoTicks, bool above=true,
+ arrowbar arrow=None);
+ can be respectively used to call `yaxis' and `xaxis' with the
+ appropriate axis types `XEquals(x,extend)' and
+ `YEquals(y,extend)'. This is the recommended way of drawing
+ vertical or horizontal lines and axes at arbitrary locations.
+
+ * void axes(picture pic=currentpicture, Label xlabel="", Label ylabel="",
+ pair min=(-infinity,-infinity), pair max=(infinity,infinity),
+ pen p=currentpen, arrowbar arrow=None, bool above=false);
+ This convenience routine draws both x and y axes on picture `pic'
+ from `min' to `max', with optional labels `xlabel' and `ylabel'
+ and any arrows specified by `arrow'. The axes are drawn on top of
+ existing objects in `pic' only if `above=true'.
+
+ * void axis(picture pic=currentpicture, Label L="", path g,
+ pen p=currentpen, ticks ticks, ticklocate locate,
+ arrowbar arrow=None, int[] divisor=new int[],
+ bool above=false, bool opposite=false);
+
+ This routine can be used to draw on picture `pic' a general axis
+ based on an arbitrary path `g', using pen `p'. One can optionally
+ label the axis with Label `L' and add an arrow `arrow'. The tick
+ type is given by `ticks'. The optional integer array `divisor'
+ specifies what tick divisors to try in the attempt to produce
+ uncrowded tick labels. A `true' value for the flag `opposite'
+ identifies an unlabelled secondary axis (typically drawn opposite
+ a primary axis). The axis is drawn before any existing objects in
+ `pic' unless `above=true'. The tick locator `ticklocate' is
+ constructed by the routine ticklocate ticklocate(real a, real b, autoscaleT S=defaultS,
+ real tickmin=-infinity, real tickmax=infinity,
+ real time(real)=null, pair dir(real)=zero);
+ where `a' and `b' specify the respective tick values at
+ `point(g,0)' and `point(g,length(g))', `S' specifies the
+ autoscaling transformation, the function `real time(real v)'
+ returns the time corresponding to the value `v', and `pair
+ dir(real t)' returns the absolute tick direction as a function of
+ `t' (zero means draw the tick perpendicular to the axis).
+
+ * These routines are useful for manually putting ticks and labels on
+ axes (if the variable `Label' is given as the `Label' argument,
+ the `format' argument will be used to format a string based on the
+ tick location): void xtick(picture pic=currentpicture, Label L="", explicit pair z,
+ pair dir=N, string format="",
+ real size=Ticksize, pen p=currentpen);
+ void xtick(picture pic=currentpicture, Label L="", real x,
+ pair dir=N, string format="",
+ real size=Ticksize, pen p=currentpen);
+ void ytick(picture pic=currentpicture, Label L="", explicit pair z,
+ pair dir=E, string format="",
+ real size=Ticksize, pen p=currentpen);
+ void ytick(picture pic=currentpicture, Label L="", real y,
+ pair dir=E, string format="",
+ real size=Ticksize, pen p=currentpen);
+ void tick(picture pic=currentpicture, pair z,
+ pair dir, real size=Ticksize, pen p=currentpen);
+ void labelx(picture pic=currentpicture, Label L="", explicit pair z,
+ align align=S, string format="", pen p=currentpen);
+ void labelx(picture pic=currentpicture, Label L="", real x,
+ align align=S, string format="", pen p=currentpen);
+ void labelx(picture pic=currentpicture, Label L,
+ string format="", explicit pen p=currentpen);
+ void labely(picture pic=currentpicture, Label L="", explicit pair z,
+ align align=W, string format="", pen p=currentpen);
+ void labely(picture pic=currentpicture, Label L="", real y,
+ align align=W, string format="", pen p=currentpen);
+ void labely(picture pic=currentpicture, Label L,
+ string format="", explicit pen p=currentpen);
+
+ Here are some simple examples of two-dimensional graphs:
+
+ 1. This example draws a textbook-style graph of y= exp(x), with the y
+ axis starting at y=0: import graph;
+ size(150,0);
+
+ real f(real x) {return exp(x);}
+ pair F(real x) {return (x,f(x));}
+
+ xaxis("$x$");
+ yaxis("$y$",0);
+
+ draw(graph(f,-4,2,operator ..),red);
+
+ labely(1,E);
+ label("$e^x$",F(1),SE);
+
+
+
+ 2. The next example draws a scientific-style graph with a legend.
+ The position of the legend can be adjusted either explicitly or by
+ using the graphical user interface `xasy' (*note GUI::). If an
+ `UnFill(real xmargin=0, real ymargin=xmargin)' or `Fill(pen)'
+ option is specified to `add', the legend will obscure any
+ underlying objects. Here we illustrate how to clip the portion of
+ the picture covered by a label:
+
+ import graph;
+
+ size(400,200,IgnoreAspect);
+
+ real Sin(real t) {return sin(2pi*t);}
+ real Cos(real t) {return cos(2pi*t);}
+
+ draw(graph(Sin,0,1),red,"$\sin(2\pi x)$");
+ draw(graph(Cos,0,1),blue,"$\cos(2\pi x)$");
+
+ xaxis("$x$",BottomTop,LeftTicks);
+ yaxis("$y$",LeftRight,RightTicks(trailingzero));
+
+ label("LABEL",point(0),UnFill(1mm));
+
+ add(legend(),point(E),20E,UnFill);
+
+
+
+ To specify a fixed size for the graph proper, use `attach': import graph;
+
+ size(250,200,IgnoreAspect);
+
+ real Sin(real t) {return sin(2pi*t);}
+ real Cos(real t) {return cos(2pi*t);}
+
+ draw(graph(Sin,0,1),red,"$\sin(2\pi x)$");
+ draw(graph(Cos,0,1),blue,"$\cos(2\pi x)$");
+
+ xaxis("$x$",BottomTop,LeftTicks);
+ yaxis("$y$",LeftRight,RightTicks(trailingzero));
+
+ label("LABEL",point(0),UnFill(1mm));
+
+ attach(legend(),truepoint(E),20E,UnFill);
+ A legend can have multiple entries per line: import graph;
+ size(8cm,6cm,IgnoreAspect);
+
+ typedef real realfcn(real);
+ realfcn F(real p) {
+ return new real(real x) {return sin(p*x);};
+ };
+
+ for(int i=1; i < 5; ++i)
+ draw(graph(F(i*pi),0,1),Pen(i),
+ "$\sin("+(i == 1 ? "" : (string) i)+"\pi x)$");
+ xaxis("$x$",BottomTop,LeftTicks);
+ yaxis("$y$",LeftRight,RightTicks(trailingzero));
+
+ attach(legend(2),(point(S).x,truepoint(S).y),10S,UnFill);
+
+
+
+ 3. This example draws a graph of one array versus another (both of
+ the same size) using custom tick locations and a smaller font size
+ for the tick labels on the y axis. import graph;
+
+ size(200,150,IgnoreAspect);
+
+ real[] x={0,1,2,3};
+ real[] y=x^2;
+
+ draw(graph(x,y),red);
+
+ xaxis("$x$",BottomTop,LeftTicks);
+ yaxis("$y$",LeftRight,
+ RightTicks(Label(fontsize(8pt)),new real[]{0,4,9}));
+
+
+
+ 4. This example shows how to graph columns of data read from a file. import graph;
+
+ size(200,150,IgnoreAspect);
+
+ file in=input("filegraph.dat").line();
+ real[][] a=in.dimension(0,0);
+ a=transpose(a);
+
+ real[] x=a[0];
+ real[] y=a[1];
+
+ draw(graph(x,y),red);
+
+ xaxis("$x$",BottomTop,LeftTicks);
+ yaxis("$y$",LeftRight,RightTicks);
+
+
+
+ 5. The next example draws two graphs of an array of coordinate pairs,
+ using frame alignment and data markers. In the left-hand graph, the
+ markers, constructed with marker marker(path g, markroutine markroutine=marknodes,
+ pen p=currentpen, filltype filltype=NoFill,
+ bool above=true);
+ using the path `unitcircle' (*note filltype::), are drawn below
+ each node. Any frame can be converted to a marker, using marker marker(frame f, markroutine markroutine=marknodes,
+ bool above=true);
+ In the right-hand graph, the unit n-sided regular polygon
+ `polygon(int n)' and the unit n-point cyclic cross `cross(int n,
+ bool round=true, real r=0)' (where `r' is an optional "inner"
+ radius) are used to build a custom marker frame. Here
+ `markuniform(bool centered=false, int n, bool rotated=false)' adds
+ this frame at `n' uniformly spaced points along the arclength of
+ the path, optionally rotated by the angle of the local tangent to
+ the path (if centered is true, the frames will be centered within
+ `n' evenly spaced arclength intervals). Alternatively, one can use
+ markroutine `marknodes' to request that the marks be placed at each
+ Bezier node of the path, or markroutine `markuniform(pair z(real
+ t), real a, real b, int n)' to place marks at points `z(t)' for n
+ evenly spaced values of `t' in `[a,b]'.
+
+ These markers are predefined: marker[] Mark={
+ marker(scale(circlescale)*unitcircle),
+ marker(polygon(3)),marker(polygon(4)),
+ marker(polygon(5)),marker(invert*polygon(3)),
+ marker(cross(4)),marker(cross(6))
+ };
+
+ marker[] MarkFill={
+ marker(scale(circlescale)*unitcircle,Fill),marker(polygon(3),Fill),
+ marker(polygon(4),Fill),marker(polygon(5),Fill),
+ marker(invert*polygon(3),Fill)
+ };
+
+ The example also illustrates the `errorbar' routines:
+
+ void errorbars(picture pic=currentpicture, pair[] z, pair[] dp,
+ pair[] dm={}, bool[] cond={}, pen p=currentpen,
+ real size=0);
+
+ void errorbars(picture pic=currentpicture, real[] x, real[] y,
+ real[] dpx, real[] dpy, real[] dmx={}, real[] dmy={},
+ bool[] cond={}, pen p=currentpen, real size=0);
+
+ Here, the positive and negative extents of the error are given by
+ the absolute values of the elements of the pair array `dp' and the
+ optional pair array `dm'. If `dm' is not specified, the positive
+ and negative extents of the error are assumed to be equal. import graph;
+
+ picture pic;
+ real xsize=200, ysize=140;
+ size(pic,xsize,ysize,IgnoreAspect);
+
+ pair[] f={(5,5),(50,20),(90,90)};
+ pair[] df={(0,0),(5,7),(0,5)};
+
+ errorbars(pic,f,df,red);
+ draw(pic,graph(pic,f),"legend",
+ marker(scale(0.8mm)*unitcircle,red,FillDraw(blue),above=false));
+
+ scale(pic,true);
+
+ xaxis(pic,"$x$",BottomTop,LeftTicks);
+ yaxis(pic,"$y$",LeftRight,RightTicks);
+ add(pic,legend(pic),point(pic,NW),20SE,UnFill);
+
+ picture pic2;
+ size(pic2,xsize,ysize,IgnoreAspect);
+
+ frame mark;
+ filldraw(mark,scale(0.8mm)*polygon(6),green,green);
+ draw(mark,scale(0.8mm)*cross(6),blue);
+
+ draw(pic2,graph(pic2,f),marker(mark,markuniform(5)));
+
+ scale(pic2,true);
+
+ xaxis(pic2,"$x$",BottomTop,LeftTicks);
+ yaxis(pic2,"$y$",LeftRight,RightTicks);
+
+ yequals(pic2,55.0,red+Dotted);
+ xequals(pic2,70.0,red+Dotted);
+
+ // Fit pic to W of origin:
+ add(pic.fit(),(0,0),W);
+
+ // Fit pic2 to E of (5mm,0):
+ add(pic2.fit(),(5mm,0),E);
+
+
+
+ 6. A custom mark routine can be also be specified: import graph;
+
+ size(200,100,IgnoreAspect);
+
+ markroutine marks() {
+ return new void(picture pic=currentpicture, frame f, path g) {
+ path p=scale(1mm)*unitcircle;
+ for(int i=0; i <= length(g); ++i) {
+ pair z=point(g,i);
+ frame f;
+ if(i % 4 == 0) {
+ fill(f,p);
+ add(pic,f,z);
+ } else {
+ if(z.y > 50) {
+ pic.add(new void(frame F, transform t) {
+ path q=shift(t*z)*p;
+ unfill(F,q);
+ draw(F,q);
+ });
+ } else {
+ draw(f,p);
+ add(pic,f,z);
+ }
+ }
+ }
+ };
+ }
+
+ pair[] f={(5,5),(40,20),(55,51),(90,30)};
+
+ draw(graph(f),marker(marks()));
+
+ scale(true);
+
+ xaxis("$x$",BottomTop,LeftTicks);
+ yaxis("$y$",LeftRight,RightTicks);
+
+
+
+ 7. This example shows how to label an axis with arbitrary strings. import graph;
+
+ size(400,150,IgnoreAspect);
+
+ real[] x=sequence(12);
+ real[] y=sin(2pi*x/12);
+
+ scale(false);
+
+ string[] month={"Jan","Feb","Mar","Apr","May","Jun",
+ "Jul","Aug","Sep","Oct","Nov","Dec"};
+
+ draw(graph(x,y),red,MarkFill[0]);
+
+ xaxis(BottomTop,LeftTicks(new string(real x) {
+ return month[round(x % 12)];}));
+ yaxis("$y$",LeftRight,RightTicks(4));
+
+
+
+ 8. The next example draws a graph of a parametrized curve. The calls
+ to xlimits(picture pic=currentpicture, real min=-infinity,
+ real max=infinity, bool crop=NoCrop);
+ and the analogous function `ylimits' can be uncommented to set
+ the respective axes limits for picture `pic' to the specified
+ `min' and `max' values. Alternatively, the function void limits(picture pic=currentpicture, pair min, pair max, bool crop=NoCrop);
+ can be used to limit the axes to the box having opposite vertices
+ at the given pairs). Existing objects in picture `pic' will be
+ cropped to lie within the given limits if `crop'=`Crop'. The
+ function `crop(picture pic)' can be used to crop a graph to the
+ current graph limits. import graph;
+
+ size(0,200);
+
+ real x(real t) {return cos(2pi*t);}
+ real y(real t) {return sin(2pi*t);}
+
+ draw(graph(x,y,0,1));
+
+ //xlimits(0,1,Crop);
+ //ylimits(-1,0,Crop);
+
+ xaxis("$x$",BottomTop,LeftTicks);
+ yaxis("$y$",LeftRight,RightTicks(trailingzero));
+
+
+
+ The next example illustrates how one can extract a common axis
+ scaling factor. import graph;
+
+ axiscoverage=0.9;
+ size(200,IgnoreAspect);
+
+ real[] x={-1e-11,1e-11};
+ real[] y={0,1e6};
+
+ real xscale=round(log10(max(x)));
+ real yscale=round(log10(max(y)))-1;
+
+ draw(graph(x*10^(-xscale),y*10^(-yscale)),red);
+
+ xaxis("$x/10^{"+(string) xscale+"}$",BottomTop,LeftTicks);
+ yaxis("$y/10^{"+(string) yscale+"}$",LeftRight,RightTicks(trailingzero));
+
+
+
+ Axis scaling can be requested and/or automatic selection of the
+ axis limits can be inhibited with one of these `scale' routines: void scale(picture pic=currentpicture, scaleT x, scaleT y);
+
+ void scale(picture pic=currentpicture, bool xautoscale=true,
+ bool yautoscale=xautoscale, bool zautoscale=yautoscale);
+
+ This sets the scalings for picture `pic'. The `graph' routines
+ accept an optional `picture' argument for determining the
+ appropriate scalings to use; if none is given, it uses those set
+ for `currentpicture'.
+
+ Two frequently used scaling routines `Linear' and `Log' are
+ predefined in `graph'.
+
+ All picture coordinates (including those in paths and those given
+ to the `label' and `limits' functions) are always treated as linear
+ (post-scaled) coordinates. Use pair Scale(picture pic=currentpicture, pair z);
+ to convert a graph coordinate into a scaled picture coordinate.
+
+ The x and y components can be individually scaled using the
+ analogous routines real ScaleX(picture pic=currentpicture, real x);
+ real ScaleY(picture pic=currentpicture, real y);
+
+ The predefined scaling routines can be given two optional boolean
+ arguments: `automin=false' and `automax=automin'. These default to
+ `false' but can be respectively set to `true' to enable automatic
+ selection of "nice" axis minimum and maximum values. The `Linear'
+ scaling can also take as optional final arguments a multiplicative
+ scaling factor and intercept (e.g. for a depth axis, `Linear(-1)'
+ requests axis reversal).
+
+ For example, to draw a log/log graph of a function, use
+ `scale(Log,Log)': import graph;
+
+ size(200,200,IgnoreAspect);
+
+ real f(real t) {return 1/t;}
+
+ scale(Log,Log);
+
+ draw(graph(f,0.1,10));
+
+ //xlimits(1,10,Crop);
+ //ylimits(0.1,1,Crop);
+
+ dot(Label("(3,5)",align=S),Scale((3,5)));
+
+ xaxis("$x$",BottomTop,LeftTicks);
+ yaxis("$y$",LeftRight,RightTicks);
+
+
+
+ By extending the ticks, one can easily produce a logarithmic grid: import graph;
+ size(200,200,IgnoreAspect);
+
+ real f(real t) {return 1/t;}
+
+ scale(Log,Log);
+ draw(graph(f,0.1,10),red);
+ pen thin=linewidth(0.5*linewidth());
+ xaxis("$x$",BottomTop,LeftTicks(begin=false,end=false,extend=true,
+ ptick=thin));
+ yaxis("$y$",LeftRight,RightTicks(begin=false,end=false,extend=true,
+ ptick=thin));
+
+
+
+ One can also specify custom tick locations and formats for
+ logarithmic axes: import graph;
+
+ size(300,175,IgnoreAspect);
+ scale(Log,Log);
+ draw(graph(identity,5,20));
+ xlimits(5,20);
+ ylimits(1,100);
+ xaxis("$M/M_\odot$",BottomTop,LeftTicks(DefaultFormat,
+ new real[] {6,10,12,14,16,18}));
+ yaxis("$\nu_{\rm upp}$ [Hz]",LeftRight,RightTicks(DefaultFormat));
+
+
+
+ It is easy to draw logarithmic graphs with respect to other bases: import graph;
+ size(200,IgnoreAspect);
+
+ // Base-2 logarithmic scale on y-axis:
+
+ real log2(real x) {static real log2=log(2); return log(x)/log2;}
+ real pow2(real x) {return 2^x;}
+
+ scaleT yscale=scaleT(log2,pow2,logarithmic=true);
+ scale(Linear,yscale);
+
+ real f(real x) {return 1+x^2;}
+
+ draw(graph(f,-4,4));
+
+ yaxis("$y$",ymin=1,ymax=f(5),RightTicks(Label(Fill(white))),EndArrow);
+ xaxis("$x$",xmin=-5,xmax=5,LeftTicks,EndArrow);
+
+
+
+ Here is an example of "broken" linear x and logarithmic y axes
+ that omit the segments [3,8] and [100,1000], respectively. In the
+ case of a logarithmic axis, the break endpoints are automatically
+ rounded to the nearest integral power of the base. import graph;
+
+ size(200,150,IgnoreAspect);
+
+ // Break the x axis at 3; restart at 8:
+ real a=3, b=8;
+
+ // Break the y axis at 100; restart at 1000:
+ real c=100, d=1000;
+
+ scale(Broken(a,b),BrokenLog(c,d));
+
+ real[] x={1,2,4,6,10};
+ real[] y=x^4;
+
+ draw(graph(x,y),red,MarkFill[0]);
+
+ xaxis("$x$",BottomTop,LeftTicks(Break(a,b)));
+ yaxis("$y$",LeftRight,RightTicks(Break(c,d)));
+
+ label(rotate(90)*Break,(a,point(S).y));
+ label(rotate(90)*Break,(a,point(N).y));
+ label(Break,(point(W).x,ScaleY(c)));
+ label(Break,(point(E).x,ScaleY(c)));
+
+
+
+ 9. `Asymptote' can draw secondary axes with the routines picture secondaryX(picture primary=currentpicture, void f(picture));
+ picture secondaryY(picture primary=currentpicture, void f(picture));
+
+ In this example, `secondaryY' is used to draw a secondary linear y
+ axis against a primary logarithmic y axis: import graph;
+ texpreamble("\def\Arg{\mathop {\rm Arg}\nolimits}");
+
+ size(10cm,5cm,IgnoreAspect);
+
+ real ampl(real x) {return 2.5/(1+x^2);}
+ real phas(real x) {return -atan(x)/pi;}
+
+ scale(Log,Log);
+ draw(graph(ampl,0.01,10));
+ ylimits(0.001,100);
+
+ xaxis("$\omega\tau_0$",BottomTop,LeftTicks);
+ yaxis("$|G(\omega\tau_0)|$",Left,RightTicks);
+
+ picture q=secondaryY(new void(picture pic) {
+ scale(pic,Log,Linear);
+ draw(pic,graph(pic,phas,0.01,10),red);
+ ylimits(pic,-1.0,1.5);
+ yaxis(pic,"$\Arg G/\pi$",Right,red,
+ LeftTicks("$% #.1f$",
+ begin=false,end=false));
+ yequals(pic,1,Dotted);
+ });
+ label(q,"(1,0)",Scale(q,(1,0)),red);
+ add(q);
+
+
+
+ A secondary logarithmic y axis can be drawn like this: import graph;
+
+ size(9cm,6cm,IgnoreAspect);
+ string data="secondaryaxis.csv";
+
+ file in=input(data).line().csv();
+
+ string[] titlelabel=in;
+ string[] columnlabel=in;
+
+ real[][] a=in.dimension(0,0);
+ a=transpose(a);
+ real[] t=a[0], susceptible=a[1], infectious=a[2], dead=a[3], larvae=a[4];
+ real[] susceptibleM=a[5], exposed=a[6],infectiousM=a[7];
+
+ scale(true);
+
+ draw(graph(t,susceptible,t >= 10 & t <= 15));
+ draw(graph(t,dead,t >= 10 & t <= 15),dashed);
+
+ xaxis("Time ($\tau$)",BottomTop,LeftTicks);
+ yaxis(Left,RightTicks);
+
+ picture secondary=secondaryY(new void(picture pic) {
+ scale(pic,Linear(true),Log(true));
+ draw(pic,graph(pic,t,infectious,t >= 10 & t <= 15),red);
+ yaxis(pic,Right,red,LeftTicks(begin=false,end=false));
+ });
+
+ add(secondary);
+ label(shift(5mm*N)*"Proportion of crows",point(NW),E);
+
+
+
+ 10. Here is a histogram example, which uses the `stats' module. import graph;
+ import stats;
+
+ size(400,200,IgnoreAspect);
+
+ int n=10000;
+ real[] a=new real[n];
+ for(int i=0; i < n; ++i) a[i]=Gaussrand();
+
+ draw(graph(Gaussian,min(a),max(a)),blue);
+
+ // Optionally calculate "optimal" number of bins a la Shimazaki and Shinomoto.
+ int N=bins(a);
+
+ histogram(a,min(a),max(a),N,normalize=true,low=0,lightred,black,bars=false);
+
+ xaxis("$x$",BottomTop,LeftTicks);
+ yaxis("$dP/dx$",LeftRight,RightTicks(trailingzero));
+
+
+
+ 11. Here is an example of reading column data in from a file and a
+ least-squares fit, using the `stats' module. size(400,200,IgnoreAspect);
+
+ import graph;
+ import stats;
+
+ file fin=input("leastsquares.dat").line();
+
+ real[][] a=fin.dimension(0,0);
+ a=transpose(a);
+
+ real[] t=a[0], rho=a[1];
+
+ // Read in parameters from the keyboard:
+ //real first=getreal("first");
+ //real step=getreal("step");
+ //real last=getreal("last");
+
+ real first=100;
+ real step=50;
+ real last=700;
+
+ // Remove negative or zero values of rho:
+ t=rho > 0 ? t : null;
+ rho=rho > 0 ? rho : null;
+
+ scale(Log(true),Linear(true));
+
+ int n=step > 0 ? ceil((last-first)/step) : 0;
+
+ real[] T,xi,dxi;
+
+ for(int i=0; i <= n; ++i) {
+ real first=first+i*step;
+ real[] logrho=(t >= first & t <= last) ? log(rho) : null;
+ real[] logt=(t >= first & t <= last) ? -log(t) : null;
+
+ if(logt.length < 2) break;
+
+ // Fit to the line logt=L.m*logrho+L.b:
+ linefit L=leastsquares(logt,logrho);
+
+ T.push(first);
+ xi.push(L.m);
+ dxi.push(L.dm);
+ }
+
+ draw(graph(T,xi),blue);
+ errorbars(T,xi,dxi,red);
+
+ crop();
+
+ ylimits(0);
+
+ xaxis("$T$",BottomTop,LeftTicks);
+ yaxis("$\xi$",LeftRight,RightTicks);
+
+
+
+ 12. Here is an example that illustrates the general `axis' routine. import graph;
+ size(0,100);
+
+ path g=ellipse((0,0),1,2);
+
+ scale(true);
+
+ axis(Label("C",align=10W),g,LeftTicks(endlabel=false,8,end=false),
+ ticklocate(0,360,new real(real v) {
+ path h=(0,0)--max(abs(max(g)),abs(min(g)))*dir(v);
+ return intersect(g,h)[0];}));
+
+
+
+ 13. To draw a vector field of `n' arrows evenly spaced along the
+ arclength of a path, use the routine picture vectorfield(path vector(real), path g, int n, bool truesize=false,
+ pen p=currentpen, arrowbar arrow=Arrow);
+ as illustrated in this simple example of a flow field: import graph;
+ defaultpen(1.0);
+
+ size(0,150,IgnoreAspect);
+
+ real arrowsize=4mm;
+ real arrowlength=2arrowsize;
+
+ typedef path vector(real);
+
+ // Return a vector interpolated linearly between a and b.
+ vector vector(pair a, pair b) {
+ return new path(real x) {
+ return (0,0)--arrowlength*interp(a,b,x);
+ };
+ }
+
+ real f(real x) {return 1/x;}
+
+ real epsilon=0.5;
+ path g=graph(f,epsilon,1/epsilon);
+
+ int n=3;
+ draw(g);
+ xaxis("$x$");
+ yaxis("$y$");
+
+ add(vectorfield(vector(W,W),g,n,true));
+ add(vectorfield(vector(NE,NW),(0,0)--(point(E).x,0),n,true));
+ add(vectorfield(vector(NE,NE),(0,0)--(0,point(N).y),n,true));
+
+
+
+ 14. To draw a vector field of `nx'\times`ny' arrows in `box(a,b)', use
+ the routine picture vectorfield(path vector(pair), pair a, pair b,
+ int nx=nmesh, int ny=nx, bool truesize=false,
+ real maxlength=truesize ? 0 : maxlength(a,b,nx,ny),
+ bool cond(pair z)=null, pen p=currentpen,
+ arrowbar arrow=Arrow, margin margin=PenMargin)
+ as illustrated in this example: import graph;
+ size(100);
+
+ pair a=(0,0);
+ pair b=(2pi,2pi);
+
+ path vector(pair z) {return (0,0)--(sin(z.x),cos(z.y));}
+
+ add(vectorfield(vector,a,b));
+
+
+
+ 15. The following scientific graphs, which illustrate many features of
+ `Asymptote''s graphics routines, were generated from the examples
+ `diatom.asy' and `westnile.asy', using the comma-separated data in
+ `diatom.csv' and `westnile.csv'.
+
+
+
+File: asymptote.info, Node: palette, Next: three, Prev: graph, Up: Base modules
+
+8.28 `palette'
+==============
+
+`Asymptote' can also generate color density images and palettes. The
+following palettes are predefined in `palette.asy':
+
+`pen[] Grayscale(int NColors=256)'
+ a grayscale palette;
+
+`pen[] Rainbow(int NColors=32766)'
+ a rainbow spectrum;
+
+`pen[] BWRainbow(int NColors=32761)'
+ a rainbow spectrum tapering off to black/white at the ends;
+
+`pen[] BWRainbow2(int NColors=32761)'
+ a double rainbow palette tapering off to black/white at the ends,
+ with a linearly scaled intensity.
+
+`pen[] Wheel(int NColors=32766)'
+ a full color wheel palette;
+
+`pen[] Gradient(int NColors=256 ... pen[] p)'
+ a palette varying linearly over the specified array of pens, using
+ NColors in each interpolation interval;
+
+
+ The function `cmyk(pen[] Palette)' may be used to convert any of
+these palettes to the CMYK colorspace.
+
+ A color density plot using palette `palette' can be generated from a
+function `f'(x,y) and added to a picture `pic':
+bounds image(picture pic=currentpicture, real f(real, real),
+ range range=Full, pair initial, pair final,
+ int nx=ngraph, int ny=nx, pen[] palette, bool antialias=false)
+ The function `f' will be sampled at `nx' and `ny' evenly spaced points
+over a rectangle defined by the points `initial' and `final',
+respecting the current graphical scaling of `pic'. The color space is
+scaled according to the z axis scaling (*note automatic scaling::). A
+bounds structure for the function values is returned:
+struct bounds {
+ real min;
+ real max;
+ // Possible tick intervals:
+ int[] divisor;
+}
+ This information can be used for generating an optional palette bar.
+The palette color space corresponds to a range of values specified by
+the argument `range', which can be `Full', `Automatic', or an explicit
+range `Range(real min, real max)'. Here `Full' specifies a range
+varying from the minimum to maximum values of the function over the
+sampling interval, while `Automatic' selects "nice" limits. The
+example `imagecontour.asy' illustrates how level sets (contour lines)
+can be drawn on a color density plot (*note contour::).
+
+ A color density plot can also be generated from an explicit real[][]
+array `data':
+bounds image(picture pic=currentpicture, real[][] f, range range=Full,
+ pair initial, pair final, pen[] palette,
+ bool transpose=(initial.x < final.x && initial.y < final.y),
+ bool copy=true, bool antialias=false);
+ If the initial point is to the left and below the final point, by
+default the array indices are interpreted according to the Cartesian
+convention (first index: x, second index: y) rather than the usual
+matrix convention (first index: -y, second index: x).
+
+ To construct an image from an array of irregularly spaced points and
+an array of values `f' at these points, use one of the routines
+bounds image(picture pic=currentpicture, pair[] z, real[] f,
+ range range=Full, pen[] palette)
+bounds image(picture pic=currentpicture, real[] x, real[] y, real[] f,
+ range range=Full, pen[] palette)
+
+ An optionally labelled palette bar may be generated with the routine
+void palette(picture pic=currentpicture, Label L="", bounds bounds,
+ pair initial, pair final, axis axis=Right, pen[] palette,
+ pen p=currentpen, paletteticks ticks=PaletteTicks,
+ bool copy=true, bool antialias=false);
+ The color space of `palette' is taken to be over bounds `bounds' with
+scaling given by the z scaling of `pic'. The palette orientation is
+specified by `axis', which may be one of `Right', `Left', `Top', or
+`Bottom'. The bar is drawn over the rectangle from `initial' to
+`final'. The argument `paletteticks' is a special tick type (*note
+ticks::) that takes the following arguments:
+paletteticks PaletteTicks(Label format="", ticklabel ticklabel=null,
+ bool beginlabel=true, bool endlabel=true,
+ int N=0, int n=0, real Step=0, real step=0,
+ pen pTick=nullpen, pen ptick=nullpen);
+
+ The image and palette bar can be fit to a frame and added and
+optionally aligned to a picture at the desired location:
+
+size(12cm,12cm);
+
+import graph;
+import palette;
+
+int n=256;
+real ninv=2pi/n;
+real[][] v=new real[n][n];
+
+for(int i=0; i < n; ++i)
+ for(int j=0; j < n; ++j)
+ v[i][j]=sin(i*ninv)*cos(j*ninv);
+
+pen[] Palette=BWRainbow();
+
+picture bar;
+
+bounds range=image(v,(0,0),(1,1),Palette);
+palette(bar,"$A$",range,(0,0),(0.5cm,8cm),Right,Palette,
+ PaletteTicks("$%+#.1f$"));
+add(bar.fit(),point(E),30E);
+
+
+
+Here is an example that uses logarithmic scaling of the function values:
+
+import graph;
+import palette;
+
+size(10cm,10cm,IgnoreAspect);
+
+real f(real x, real y) {
+ return 0.9*pow10(2*sin(x/5+2*y^0.25)) + 0.1*(1+cos(10*log(y)));
+}
+
+scale(Linear,Log,Log);
+
+pen[] Palette=BWRainbow();
+
+bounds range=image(f,Automatic,(0,1),(100,100),nx=200,Palette);
+
+xaxis("$x$",BottomTop,LeftTicks,above=true);
+yaxis("$y$",LeftRight,RightTicks,above=true);
+
+palette("$f(x,y)$",range,(0,200),(100,250),Top,Palette,
+ PaletteTicks(ptick=linewidth(0.5*linewidth())));
+
+
+
+One can also draw an image directly from a two-dimensional pen array or
+a function `pen f(int, int)':
+void image(picture pic=currentpicture, pen[][] data,
+ pair initial, pair final,
+ bool transpose=(initial.x < final.x && initial.y < final.y),
+ bool copy=true, bool antialias=false);
+void image(picture pic=currentpicture, pen f(int, int), int width, int height,
+ pair initial, pair final,
+ bool transpose=(initial.x < final.x && initial.y < final.y),
+ bool antialias=false);
+ as illustrated in the following examples:
+
+size(200);
+
+import palette;
+
+int n=256;
+real ninv=2pi/n;
+pen[][] v=new pen[n][n];
+
+for(int i=0; i < n; ++i)
+ for(int j=0; j < n; ++j)
+ v[i][j]=rgb(0.5*(1+sin(i*ninv)),0.5*(1+cos(j*ninv)),0);
+
+image(v,(0,0),(1,1));
+
+
+
+import palette;
+
+size(200);
+
+real fracpart(real x) {return (x-floor(x));}
+
+pair pws(pair z) {
+ pair w=(z+exp(pi*I/5)/0.9)/(1+z/0.9*exp(-pi*I/5));
+ return exp(w)*(w^3-0.5*I);
+}
+
+int N=512;
+
+pair a=(-1,-1);
+pair b=(0.5,0.5);
+real dx=(b-a).x/N;
+real dy=(b-a).y/N;
+
+pen f(int u, int v) {
+ pair z=a+(u*dx,v*dy);
+ pair w=pws(z);
+ real phase=degrees(w,warn=false);
+ real modulus=w == 0 ? 0: fracpart(log(abs(w)));
+ return hsv(phase,1,sqrt(modulus));
+}
+
+image(f,N,N,(0,0),(300,300),antialias=true);
+
+
+
+For convenience, the module `palette' also defines functions that may
+be used to construct a pen array from a given function and palette:
+pen[] palette(real[] f, pen[] palette);
+pen[][] palette(real[][] f, pen[] palette);
+
+
+File: asymptote.info, Node: three, Next: obj, Prev: palette, Up: Base modules
+
+8.29 `three'
+============
+
+This module fully extends the notion of guides and paths in `Asymptote'
+to three dimensions. It introduces the new types guide3, path3, and
+surface. Guides in three dimensions are specified with the same syntax
+as in two dimensions except that triples `(x,y,z)' are used in place of
+pairs `(x,y)' for the nodes and direction specifiers. This
+generalization of John Hobby's spline algorithm is shape-invariant under
+three-dimensional rotation, scaling, and shifting, and reduces in the
+planar case to the two-dimensional algorithm used in `Asymptote',
+`MetaPost', and `MetaFont' [cf. J. C. Bowman, Proceedings in Applied
+Mathematics and Mechanics, 7:1, 2010021-2010022 (2007)].
+
+ For example, a unit circle in the XY plane may be filled and drawn
+like this:
+
+import three;
+
+size(100);
+
+path3 g=(1,0,0)..(0,1,0)..(-1,0,0)..(0,-1,0)..cycle;
+draw(g);
+draw(O--Z,red+dashed,Arrow3);
+draw(((-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle));
+dot(g,red);
+
+
+and then distorted into a saddle:
+
+import three;
+
+size(100,0);
+path3 g=(1,0,0)..(0,1,1)..(-1,0,0)..(0,-1,1)..cycle;
+draw(g);
+draw(((-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle));
+dot(g,red);
+
+
+Module `three' provides constructors for converting two-dimensional
+paths to three-dimensional ones, and vice-versa:
+path3 path3(path p, triple plane(pair)=XYplane);
+path path(path3 p, pair P(triple)=xypart);
+
+ A Bezier surface, the natural two-dimensional generalization of
+Bezier curves, is defined in `three_surface.asy' as a structure
+containing an array of Bezier patches. Surfaces may drawn with one of
+the routines
+void draw(picture pic=currentpicture, surface s, int nu=1, int nv=1,
+ material surfacepen=currentpen, pen meshpen=nullpen,
+ light light=currentlight, light meshlight=light, string name="",
+ render render=defaultrender);
+void draw(picture pic=currentpicture, surface s, int nu=1, int nv=1,
+ material[] surfacepen, pen meshpen,
+ light light=currentlight, light meshlight=light, string name="",
+ render render=defaultrender);
+void draw(picture pic=currentpicture, surface s, int nu=1, int nv=1,
+ material[] surfacepen, pen[] meshpen=nullpens,
+ light light=currentlight, light meshlight=light, string name="",
+ render render=defaultrender);
+
+ The parameters `nu' and `nv' specify the number of subdivisions for
+drawing optional mesh lines for each Bezier patch. The optional `name'
+parameter is used as a prefix for naming the surface patches in the PRC
+model tree. Here material is a structure defined in `three_light.asy':
+struct material {
+ pen[] p; // diffusepen,ambientpen,emissivepen,specularpen
+ real opacity;
+ real shininess;
+...
+}
+ These material properties are used to implement `OpenGL'-style
+lighting, based on the Phong-Blinn specular model. Sample Bezier
+surfaces are contained in the example files `BezierSurface.asy',
+`teapot.asy', and `parametricsurface.asy'. The structure `render'
+contains specialized rendering options documented at the beginning of
+module `three.asy'.
+
+ The examples `elevation.asy' and `sphericalharmonic.asy' illustrate
+how to draw a surface with patch-dependent colors. The examples
+`vertexshading' and `smoothelevation' illustrate vertex-dependent
+colors, which is supported for both `Asymptote''s native `OpenGL'
+renderer and two-dimensional projections. Since the PRC output format
+does not currently support vertex shading of Bezier surfaces, PRC
+patches are shaded with the mean of the four vertex colors.
+
+ A surface can be constructed from a cyclic `path3' with the
+constructor
+surface surface(path3 external, triple[] internal=new triple[],
+ triple[] normals=new triple[], pen[] colors=new pen[],
+ bool3 planar=default);
+ and then filled:
+draw(surface(path3(polygon(5))),red,nolight);
+draw(surface(unitcircle3),red,nolight);
+draw(surface(unitcircle3,new pen[] {red,green,blue,black}),nolight);
+ The last example constructs a patch with vertex-specific colors. A
+three-dimensional planar surface in the plane `plane' can be
+constructed from a two-dimensional cyclic path `g' with the constructor
+surface surface(path p, triple plane(pair)=XYplane);
+ and then filled:
+draw(surface((0,0)--E+2N--2E--E+N..0.2E..cycle),red);
+ Planar Bezier surfaces patches are constructed using Orest Shardt's
+`bezulate' routine, which decomposes (possibly nonsimply connected)
+regions bounded (according to the `zerowinding' fill rule) by simple
+cyclic paths (intersecting only at the endpoints) into subregions
+bounded by cyclic paths of length `4' or less.
+
+ Arbitrary thick three-dimensional curves and line caps (which the
+`OpenGL' standard does not require implementations to provide) are
+constructed with
+tube tube(path3 p, real width, render render=defaultrender);
+ this returns a tube structure representing a tube of diameter `width'
+centered approximately on `g'. The tube structure consists of a surface
+`s' and the actual tube center, path3 `center'. Drawing thick lines as
+tubes can be slow to render, especially with the `Adobe Reader'
+renderer. The setting `thick=false' can be used to disable this feature
+and force all lines to be drawn with `linewidth(0)' (one pixel wide,
+regardless of the resolution). By default, mesh and contour lines in
+three-dimensions are always drawn thin, unless an explicit line width
+is given in the pen parameter or the setting `thin' is set to `false'.
+The pens `thin()' and `thick()' defined in plain_pens.asy can also be
+used to override these defaults for specific draw commands.
+
+There are four choices for viewing 3D `Asymptote' output:
+ 1. Use the native `Asymptote' adaptive `OpenGL'-based renderer (with
+ the command-line option `-V' and the default settings
+ `outformat=""' and `render=-1'). If you encounter warnings from
+ your graphics card driver, try specifying `-glOptions=-indirect'
+ on the command line. On `UNIX' systems with graphics support for
+ multisampling, we recommend installing the latest SVN (antialiased)
+ version of the `freeglut' library (*note multisampling::); the
+ sample width can be controlled with the setting `multisample'. An
+ initial screen position can be specified with the pair setting
+ `position', where negative values are interpreted as relative to
+ the corresponding maximum screen dimension. The default settings import settings;
+ leftbutton=new string[] {"rotate","zoom","shift","pan"};
+ middlebutton=new string[] {"menu"};
+ rightbutton=new string[] {"zoom/menu","rotateX","rotateY","rotateZ"};
+ wheelup=new string[] {"zoomin"};
+ wheeldown=new string[] {"zoomout"};
+ bind the mouse buttons as follows:
+ * Left: rotate
+
+ * Shift Left: zoom
+
+ * Ctrl Left: shift viewport
+
+ * Alt Left: pan
+
+ * Middle: menu (must be unmodified; ignores Shift, Ctrl, and
+ Alt)
+
+ * Wheel Up: zoom in
+
+ * Wheel Down: zoom out
+
+ * Right: zoom/menu (must be unmodified)
+
+ * Right double click: menu
+
+ * Shift Right: rotate about the X axis
+
+ * Ctrl Right: rotate about the Y axis
+
+ * Alt Right: rotate about the Z axis
+
+ The keyboard shortcuts are:
+ * h: home
+
+ * f: toggle fitscreen
+
+ * x: spin about the X axis
+
+ * y: spin about the Y axis
+
+ * z: spin about the Z axis
+
+ * s: stop spinning
+
+ * m: rendering mode (solid/mesh/patch)
+
+ * e: export
+
+ * c: show camera parameters
+
+ * p: play animation
+
+ * r: reverse animation
+
+ * : step animation
+
+ * +: expand
+
+ * =: expand
+
+ * >: expand
+
+ * -: shrink
+
+ * _: shrink
+
+ * <: shrink
+
+ * q: exit
+
+ * Ctrl-q: exit
+
+ 2. Render the scene to a specified rasterized format `outformat' at
+ the resolution of `n' pixels per `bp', as specified by the setting
+ `render=n'. A negative value of `n' is interpreted as `|2n|' for
+ EPS and PDF formats and `|n|' for other formats. The default value
+ of `render' is -1. By default, the scene is internally rendered
+ at twice the specified resolution; this can be disabled by setting
+ `antialias=1'. High resolution rendering is done by tiling the
+ image. If your graphics card allows it, the rendering can be made
+ more efficient by increasing the maximum tile size `maxtile' to
+ your screen dimensions (indicated by `maxtile=(0,0)'. If your
+ video card generates unwanted black stripes in the output, try
+ setting the horizontal and vertical components of `maxtiles' to
+ something less than your screen dimensions. The tile size is also
+ limited by the setting `maxviewport', which restricts the maximum
+ width and height of the viewport. On `UNIX' systems some graphics
+ drivers support batch mode (`-noV') rendering in an iconified
+ window; this can be enabled with the setting `iconify=true'. Some
+ (broken) `UNIX' graphics drivers may require the command line
+ setting `-glOptions=-indirect', which requests (slower) indirect
+ rendering.
+
+ 3. Embed the 3D PRC format in a PDF file and view the resulting PDF
+ file with version `9.0' or later of `Adobe Reader'. In addition
+ to the default `settings.prc=true', this requires
+ `settings.outformat="pdf"', which can be specified by the command
+ line option `-f pdf', put in the `Asymptote' configuration file
+ (*note configuration file::), or specified in the script before
+ `three.asy' (or `graph3.asy') is imported. Version 2008/10/08 or
+ later of the `movie15' package is also required (*note embed::).
+ The example `pdb.asy' illustrates how one can generate a list of
+ predefined views (see `100d.views'). A stationary preview image
+ with a resolution of `n' pixels per `bp' can be embedded with the
+ setting `render=n'; this allows the file to be viewed with other
+ `PDF' viewers. Alternatively, the file `externalprc.tex'
+ illustrates how the resulting PRC and rendered image files can be
+ extracted and processed in a separate `LaTeX' file. However, see
+ *note LaTeX usage:: for an easier way to embed three-dimensional
+ `Asymptote' pictures within `LaTeX'. The open-source PRC
+ specification is available from
+ `http://livedocs.adobe.com/acrobat_sdk/9/Acrobat9_HTMLHelp/API_References/PRCReference/PRC_Format_Specification/'.
+
+ 4. Project the scene to a two-dimensional vector (EPS or PDF) format
+ with `render=0'. Only limited hidden surface removal facilities
+ are currently available with this approach (*note PostScript3D::).
+
+
+ Automatic picture sizing in three dimensions is accomplished with
+double deferred drawing. The maximal desired dimensions of the scene in
+each of the three dimensions can optionally be specified with the
+routine
+void size3(picture pic=currentpicture, real x, real y=x, real z=y,
+ bool keepAspect=pic.keepAspect);
+ The resulting simplex linear programming problem is then solved to
+produce a 3D version of a frame (actually implemented as a 3D picture).
+The result is then fit with another application of deferred drawing to
+the viewport dimensions corresponding to the usual two-dimensional
+picture `size' parameters. The global pair `viewportmargin' may be used
+to add horizontal and vertical margins to the viewport dimensions.
+Alternatively, a minimum `viewportsize' may be specified. A 3D picture
+`pic' can be explicitly fit to a 3D frame by calling
+frame pic.fit3(projection P=currentprojection);
+ and then added to picture `dest' about `position' with
+void add(picture dest=currentpicture, frame src, triple position=(0,0,0));
+
+ For convenience, the `three' module defines `O=(0,0,0)',
+`X=(1,0,0)', `Y=(0,1,0)', and `Z=(0,0,1)', along with a unitcircle in
+the XY plane:
+path3 unitcircle3=X..Y..-X..-Y..cycle;
+
+ A general (approximate) circle can be drawn perpendicular to the
+direction `normal' with the routine
+path3 circle(triple c, real r, triple normal=Z);
+
+ A circular arc centered at `c' with radius `r' from
+`c+r*dir(theta1,phi1)' to `c+r*dir(theta2,phi2)', drawing
+counterclockwise relative to the normal vector
+`cross(dir(theta1,phi1),dir(theta2,phi2))' if `theta2 > theta1' or if
+`theta2 == theta1' and `phi2 >= phi1', can be constructed with
+path3 arc(triple c, real r, real theta1, real phi1, real theta2, real phi2,
+ triple normal=O);
+ The normal must be explicitly specified if `c' and the endpoints are
+colinear. If `r' < 0, the complementary arc of radius `|r|' is
+constructed. For convenience, an arc centered at `c' from triple `v1'
+to `v2' (assuming `|v2-c|=|v1-c|') in the direction CCW
+(counter-clockwise) or CW (clockwise) may also be constructed with
+path3 arc(triple c, triple v1, triple v2, triple normal=O,
+ bool direction=CCW);
+ When high accuracy is needed, the routines `Circle' and `Arc' defined
+in `graph3' may be used instead. See *note GaussianSurface:: for an
+example of a three-dimensional circular arc.
+
+ The representation `O--O+u--O+u+v--O+v--cycle' of the plane passing
+through point `O' with normal `cross(u,v)' is returned by
+path3 plane(triple u, triple v, triple O=O);
+ A three-dimensional box with opposite vertices at triples `v1' and
+`v2' may be drawn with the function
+path3[] box(triple v1, triple v2);
+ For example, a unit box is predefined as
+path3[] unitbox=box(O,(1,1,1));
+ `Asymptote' also provides optimized definitions for the
+three-dimensional paths `unitsquare3' and `unitcircle3', along with the
+surfaces `unitdisk', `unitplane', `unitcube', `unitcylinder',
+`unitcone', `unitsolidcone', `unitfrustum(real t1, real t2)',
+`unitsphere', and `unithemisphere'.
+
+These projections to two dimensions are predefined:
+`oblique'
+
+`oblique(real angle)'
+ The point `(x,y,z)' is projected to `(x-0.5z,y-0.5z)'. If an
+ optional real argument is given, the negative z axis is drawn at
+ this angle in degrees. The projection `obliqueZ' is a synonym for
+ `oblique'.
+
+`obliqueX'
+
+`obliqueX(real angle)'
+ The point `(x,y,z)' is projected to `(y-0.5x,z-0.5x)'. If an
+ optional real argument is given, the negative x axis is drawn at
+ this angle in degrees.
+
+`obliqueY'
+
+`obliqueY(real angle)'
+ The point `(x,y,z)' is projected to `(x+0.5y,z+0.5y)'. If an
+ optional real argument is given, the positive y axis is drawn at
+ this angle in degrees.
+
+`orthographic(triple camera, triple up=Z, triple target=O,
+ real zoom=1, pair viewportshift=0, bool showtarget=true,
+ bool center=false)'
+ This projects from three to two dimensions using the view as seen
+ at a point infinitely far away in the direction `unit(camera)',
+ orienting the camera so that, if possible, the vector `up' points
+ upwards. Parallel lines are projected to parallel lines. The
+ bounding volume is expanded to include `target' if
+ `showtarget=true'. If `center=true', the target will be adjusted
+ to the center of the bounding volume.
+
+`orthographic(real x, real y, real z, triple up=Z, triple target=O,
+ real zoom=1, pair viewportshift=0, bool showtarget=true,
+ bool center=false)'
+ This is equivalent to orthographic((x,y,z),up,target,zoom,viewportshift,showtarget,center)
+
+ The routine triple camera(real alpha, real beta);
+ can be used to compute the camera position with the x axis below
+ the horizontal at angle `alpha', the y axis below the horizontal
+ at angle `beta', and the z axis up.
+
+`perspective(triple camera, triple up=Z, triple target=O,
+ real zoom=1, real angle=0, pair viewportshift=0,
+ bool showtarget=true, bool autoadjust=true,
+ bool center=autoadjust)'
+ This projects from three to two dimensions, taking account of
+ perspective, as seen from the location `camera' looking at
+ `target', orienting the camera so that, if possible, the vector
+ `up' points upwards. If `render=0', projection of
+ three-dimensional cubic Bezier splines is implemented by
+ approximating a two-dimensional nonuniform rational B-spline
+ (NURBS) with a two-dimensional Bezier curve containing additional
+ nodes and control points. If `autoadjust=true', the camera will
+ automatically be adjusted to lie outside the bounding volume for
+ all possible interactive rotations about `target'. If
+ `center=true', the target will be adjusted to the center of the
+ bounding volume.
+
+`perspective(real x, real y, real z, triple up=Z, triple target=O,
+ real zoom=1, real angle=0, pair viewportshift=0,
+ bool showtarget=true, bool autoadjust=true,
+ bool center=autoadjust)'
+ This is equivalent to perspective((x,y,z),up,target,zoom,angle,viewportshift,showtarget,
+ autoadjust,center)
+
+The default projection, `currentprojection', is initially set to
+`perspective(5,4,2)'.
+
+ We also define standard orthographic views used in technical drawing:
+projection LeftView=orthographic(-X,showtarget=true);
+projection RightView=orthographic(X,showtarget=true);
+projection FrontView=orthographic(-Y,showtarget=true);
+projection BackView=orthographic(Y,showtarget=true);
+projection BottomView=orthographic(-Z,showtarget=true);
+projection TopView=orthographic(Z,showtarget=true);
+ The function
+void addViews(picture dest=currentpicture, picture src,
+ projection[][] views=SixViewsUS,
+ bool group=true, filltype filltype=NoFill);
+ adds to picture `dest' an array of views of picture `src' using the
+layout projection[][] `views'. The default layout `SixViewsUS' aligns
+the projection `FrontView' below `TopView' and above `BottomView', to
+the right of `LeftView' and left of `RightView' and `BackView'. The
+predefined layouts are:
+projection[][] ThreeViewsUS={{TopView},
+ {FrontView,RightView}};
+
+projection[][] SixViewsUS={{null,TopView},
+ {LeftView,FrontView,RightView,BackView},
+ {null,BottomView}};
+
+projection[][] ThreeViewsFR={{RightView,FrontView},
+ {null,TopView}};
+
+projection[][] SixViewsFR={{null,BottomView},
+ {RightView,FrontView,LeftView,BackView},
+ {null,TopView}};
+
+projection[][] ThreeViews={{FrontView,TopView,RightView}};
+
+projection[][] SixViews={{FrontView,TopView,RightView},
+ {BackView,BottomView,LeftView}};
+
+ A triple or path3 can be projected to a pair or path, with
+`project(triple, projection P=currentprojection)' or `project(path3,
+projection P=currentprojection)'.
+
+ It is occasionally useful to be able to invert a projection, sending
+a pair `z' onto the plane perpendicular to `normal' and passing through
+`point':
+triple invert(pair z, triple normal, triple point,
+ projection P=currentprojection);
+ A pair `z' on the projection plane can be inverted to a triple with
+the routine
+triple invert(pair z, projection P=currentprojection);
+ A pair direction `dir' on the projection plane can be inverted to a
+triple direction relative to a point `v' with the routine
+triple invert(pair dir, triple v, projection P=currentprojection).
+
+ Three-dimensional objects may be transformed with one of the
+following built-in transform3 types (the identity transformation is
+`identity4'):
+
+`shift(triple v)'
+ translates by the triple `v';
+
+`xscale3(real x)'
+ scales by `x' in the x direction;
+
+`yscale3(real y)'
+ scales by `y' in the y direction;
+
+`zscale3(real z)'
+ scales by `z' in the z direction;
+
+`scale3(real s)'
+ scales by `s' in the x, y, and z directions;
+
+`scale(real x, real y, real z)'
+ scales by `x' in the x direction, by `y' in the y direction, and
+ by `z' in the z direction;
+
+`rotate(real angle, triple v)'
+ rotates by `angle' in degrees about an axis `v' through the origin;
+
+`rotate(real angle, triple u, triple v)'
+ rotates by `angle' in degrees about the axis `u--v';
+
+`reflect(triple u, triple v, triple w)'
+ reflects about the plane through `u', `v', and `w'.
+
+ When not multiplied on the left by a transform3, three-dimensional
+TeX Labels are drawn as Bezier surfaces directly on the projection
+plane:
+void label(picture pic=currentpicture, Label L, triple position,
+ align align=NoAlign, pen p=currentpen,
+ light light=nolight, string name="",
+ render render=defaultrender, interaction interaction=
+ settings.autobillboard ? Billboard : Embedded)
+ The optional `name' parameter is used as a prefix for naming the label
+patches in the PRC model tree. The default interaction is `Billboard',
+which means that labels are rotated interactively so that they always
+face the camera. The interaction `Embedded' means that the label
+interacts as a normal `3D' surface, as illustrated in the example
+`billboard.asy'. Alternatively, a label can be transformed from the
+`XY' plane by an explicit transform3 or mapped to a specified
+two-dimensional plane with the predefined transform3 types `XY', `YZ',
+`ZX', `YX', `ZY', `ZX'. There are also modified versions of these
+transforms that take an optional argument `projection
+P=currentprojection' that rotate and/or flip the label so that it is
+more readable from the initial viewpoint.
+
+ A transform3 that projects in the direction `dir' onto the plane
+with normal `n' through point `O' is returned by
+transform3 planeproject(triple n, triple O=O, triple dir=n);
+ One can use
+triple normal(path3 p);
+ to find the unit normal vector to a planar three-dimensional path `p'.
+As illustrated in the example `planeproject.asy', a transform3 that
+projects in the direction `dir' onto the plane defined by a planar path
+`p' is returned by
+transform3 planeproject(path3 p, triple dir=normal(p));
+
+ The functions
+surface extrude(path p, triple axis=Z);
+surface extrude(Label L, triple axis=Z);
+ return the surface obtained by extruding path `p' or Label `L' along
+`axis'.
+
+ Three-dimensional versions of the path functions `length', `size',
+`point', `dir', `accel', `radius', `precontrol', `postcontrol',
+`arclength', `arctime', `reverse', `subpath', `intersect',
+`intersections', `intersectionpoint', `intersectionpoints', `min',
+`max', `cyclic', and `straight' are also defined.
+
+ The routine
+real[][] intersections(path3 p, surface s, real fuzz=-1);
+ returns the intersection times of a path `p' with a surface `s' as a
+sorted array of real arrays of length 2, and
+triple[] intersectionpoints(path3 p, surface s, real fuzz=-1);
+ returns the corresponding intersection points. Here, the computations
+are performed to the absolute error specified by `fuzz', or if `fuzz <
+0', to machine precision.
+
+ Here is an example showing all five guide3 connectors:
+
+import graph3;
+
+size(200);
+
+currentprojection=orthographic(500,-500,500);
+
+triple[] z=new triple[10];
+
+z[0]=(0,100,0); z[1]=(50,0,0); z[2]=(180,0,0);
+
+for(int n=3; n <= 9; ++n)
+ z[n]=z[n-3]+(200,0,0);
+
+path3 p=z[0]..z[1]---z[2]::{Y}z[3]
+&z[3]..z[4]--z[5]::{Y}z[6]
+&z[6]::z[7]---z[8]..{Y}z[9];
+
+draw(p,grey+linewidth(4mm),currentlight);
+
+xaxis3(Label(XY()*"$x$",align=-3Y),red,above=true);
+yaxis3(Label(XY()*"$y$",align=-3X),red,above=true);
+
+
+
+Three-dimensional versions of bars or arrows can be drawn with one of
+the specifiers `None', `Blank', `BeginBar3', `EndBar3' (or equivalently
+`Bar3'), `Bars3', `BeginArrow3', `MidArrow3', `EndArrow3' (or
+equivalently `Arrow3'), `Arrows3', `BeginArcArrow3', `EndArcArrow3' (or
+equivalently `ArcArrow3'), `MidArcArrow3', and `ArcArrows3'.
+Three-dimensional bars accept the optional arguments `(real size=0,
+triple dir=O)'. If `size=O', the default bar length is used; if
+`dir=O', the bar is drawn perpendicular to the path and the initial
+viewing direction. The predefined three-dimensional arrowhead styles
+are `DefaultHead3', `HookHead3', `TeXHead3'. Versions of the
+two-dimensional arrowheads lifted to three-dimensional space and
+aligned according to the initial viewpoint (or an optionally specified
+`normal' vector) are also defined: `DefaultHead2(triple normal=O)',
+`HookHead2(triple normal=O)', `TeXHead2(triple normal=O)'. These are
+illustrated in the example `arrows3.asy'.
+
+ Module `three' also defines the three-dimensional margins
+`NoMargin3', `BeginMargin3', `EndMargin3', `Margin3', `Margins3',
+`BeginPenMargin2', `EndPenMargin2', `PenMargin2', `PenMargins2',
+`BeginPenMargin3', `EndPenMargin3', `PenMargin3', `PenMargins3',
+`BeginDotMargin3', `EndDotMargin3', `DotMargin3', `DotMargins3',
+`Margin3', and `TrueMargin3'.
+
+ The routine
+void pixel(picture pic=currentpicture, triple v, pen p=currentpen,
+ real width=1);
+ can be used to draw on picture `pic' a pixel of width `width' at
+position `v' using pen `p'.
+
+ Further three-dimensional examples are provided in the files
+`near_earth.asy', `conicurv.asy', and (in the `animations'
+subdirectory) `cube.asy'.
+
+ Limited support for projected vector graphics (effectively
+three-dimensional nonrendered `PostScript') is available with the
+setting `render=0'. This currently only works for piecewise planar
+surfaces, such as those produced by the parametric `surface' routines
+in the `graph3' module. Surfaces produced by the `solids' package will
+also be properly rendered if the parameter `nslices' is sufficiently
+large.
+
+ In the module `bsp', hidden surface removal of planar pictures is
+implemented using a binary space partition and picture clipping. A
+planar path is first converted to a structure `face' derived from
+`picture'. A `face' may be given to a two-dimensional drawing routine
+in place of any `picture' argument. An array of such faces may then be
+drawn, removing hidden surfaces:
+void add(picture pic=currentpicture, face[] faces,
+ projection P=currentprojection);
+ Labels may be projected to two dimensions, using projection `P', onto
+the plane passing through point `O' with normal `cross(u,v)' by
+multiplying it on the left by the transform
+transform transform(triple u, triple v, triple O=O,
+ projection P=currentprojection);
+
+ Here is an example that shows how a binary space partition may be
+used to draw a two-dimensional vector graphics projection of three
+orthogonal intersecting planes:
+
+size(6cm,0);
+import bsp;
+
+real u=2.5;
+real v=1;
+
+currentprojection=oblique;
+
+path3 y=plane((2u,0,0),(0,2v,0),(-u,-v,0));
+path3 l=rotate(90,Z)*rotate(90,Y)*y;
+path3 g=rotate(90,X)*rotate(90,Y)*y;
+
+face[] faces;
+filldraw(faces.push(y),project(y),yellow);
+filldraw(faces.push(l),project(l),lightgrey);
+filldraw(faces.push(g),project(g),green);
+
+add(faces);
+
+
+
+
+File: asymptote.info, Node: obj, Next: graph3, Prev: three, Up: Base modules
+
+8.30 `obj'
+==========
+
+This module allows one to construct surfaces from simple obj files, as
+illustrated in the example files `galleon.asy' and `triceratops.asy'.
+
+
+File: asymptote.info, Node: graph3, Next: grid3, Prev: obj, Up: Base modules
+
+8.31 `graph3'
+=============
+
+This module implements three-dimensional versions of the functions in
+`graph.asy'. To draw an x axis in three dimensions, use the routine
+void xaxis3(picture pic=currentpicture, Label L="", axis axis=YZZero,
+ real xmin=-infinity, real xmax=infinity, pen p=currentpen,
+ ticks3 ticks=NoTicks3, arrowbar3 arrow=None, bool above=false);
+ Analogous routines `yaxis' and `zaxis' can be used to draw y and z
+axes in three dimensions. There is also a routine for drawing all
+three axis:
+void axes3(picture pic=currentpicture,
+ Label xlabel="", Label ylabel="", Label zlabel="",
+ triple min=(-infinity,-infinity,-infinity),
+ triple max=(infinity,infinity,infinity),
+ pen p=currentpen, arrowbar3 arrow=None);
+
+The predefined three-dimensional axis types are
+axis YZEquals(real y, real z, triple align=O, bool extend=false);
+axis XZEquals(real x, real z, triple align=O, bool extend=false);
+axis XYEquals(real x, real y, triple align=O, bool extend=false);
+axis YZZero(triple align=O, bool extend=false);
+axis XZZero(triple align=O, bool extend=false);
+axis XYZero(triple align=O, bool extend=false);
+axis Bounds(int type=Both, int type2=Both, triple align=O, bool extend=false);
+ The optional `align' parameter to these routines can be used to
+specify the default axis and tick label alignments. The `Bounds' axis
+accepts two type parameters, each of which must be one of `Min', `Max',
+or `Both'. These parameters specify which of the four possible
+three-dimensional bounding box edges should be drawn.
+
+ The three-dimensional tick options are `NoTicks3', `InTicks',
+`OutTicks', and `InOutTicks'. These specify the tick directions for the
+`Bounds' axis type; other axis types inherit the direction that would
+be used for the `Bounds(Min,Min)' axis.
+
+ Here is an example of a helix and bounding box axes with ticks and
+axis labels, using orthographic projection:
+
+import graph3;
+
+size(0,200);
+size3(200,IgnoreAspect);
+
+currentprojection=orthographic(4,6,3);
+
+real x(real t) {return cos(2pi*t);}
+real y(real t) {return sin(2pi*t);}
+real z(real t) {return t;}
+
+path3 p=graph(x,y,z,0,2.7,operator ..);
+
+draw(p,Arrow3);
+
+scale(true);
+
+xaxis3(XZ()*"$x$",Bounds,red,InTicks(Label,2,2));
+yaxis3(YZ()*"$y$",Bounds,red,InTicks(beginlabel=false,Label,2,2));
+zaxis3(XZ()*"$z$",Bounds,red,InTicks);
+
+
+
+The next example illustrates three-dimensional x, y, and z axes,
+without autoscaling of the axis limits:
+
+import graph3;
+
+size(0,200);
+size3(200,IgnoreAspect);
+
+currentprojection=perspective(5,2,2);
+
+scale(Linear,Linear,Log);
+
+xaxis3("$x$",0,1,red,OutTicks(2,2));
+yaxis3("$y$",0,1,red,OutTicks(2,2));
+zaxis3("$z$",1,30,red,OutTicks(beginlabel=false));
+
+
+
+One can also place ticks along a general three-dimensional axis:
+
+import graph3;
+
+size(0,100);
+
+path3 g=yscale3(2)*unitcircle3;
+currentprojection=perspective(10,10,10);
+
+axis(Label("C",position=0,align=15X),g,InTicks(endlabel=false,8,end=false),
+ ticklocate(0,360,new real(real v) {
+ path3 h=O--max(abs(max(g)),abs(min(g)))*dir(90,v);
+ return intersect(g,h)[0];},
+ new triple(real t) {return cross(dir(g,t),Z);}));
+
+
+
+Surface plots of matrices and functions over the region `box(a,b)' in
+the XY plane are also implemented:
+surface surface(real[][] f, pair a, pair b, bool[][] cond={});
+surface surface(real[][] f, pair a, pair b, splinetype xsplinetype,
+ splinetype ysplinetype=xsplinetype, bool[][] cond={});
+surface surface(real[][] f, real[] x, real[] y,
+ splinetype xsplinetype=null, splinetype ysplinetype=xsplinetype,
+ bool[][] cond={})
+surface surface(triple[][] f, bool[][] cond={});
+surface surface(real f(pair z), pair a, pair b, int nx=nmesh, int ny=nx,
+ bool cond(pair z)=null);
+surface surface(real f(pair z), pair a, pair b, int nx=nmesh, int ny=nx,
+ splinetype xsplinetype, splinetype ysplinetype=xsplinetype,
+ bool cond(pair z)=null);
+surface surface(triple f(pair z), real[] u, real[] v,
+ splinetype[] usplinetype, splinetype[] vsplinetype=Spline,
+ bool cond(pair z)=null);
+surface surface(triple f(pair z), pair a, pair b, int nu=nmesh, int nv=nu,
+ bool cond(pair z)=null);
+surface surface(triple f(pair z), pair a, pair b, int nu=nmesh, int nv=nu,
+ splinetype[] usplinetype, splinetype[] vsplinetype=Spline,
+ bool cond(pair z)=null);
+ The final two versions draw parametric surfaces for a function f(u,v)
+over the parameter space `box(a,b)', as illustrated in the example
+`parametricsurface.asy'. An optional splinetype `Spline' may be
+specified. The boolean array or function `cond' can be used to control
+which surface mesh cells are actually drawn (by default all mesh cells
+over `box(a,b)' are drawn). Surface lighting is illustrated in the
+example files `parametricsurface.asy' and `sinc.asy'. Lighting can be
+disabled by setting `light=nolight', as in this example of a Gaussian
+surface:
+
+import graph3;
+
+size(200,0);
+
+currentprojection=perspective(10,8,4);
+
+real f(pair z) {return 0.5+exp(-abs(z)^2);}
+
+draw((-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle);
+
+draw(arc(0.12Z,0.2,90,60,90,25),ArcArrow3);
+
+surface s=surface(f,(-1,-1),(1,1),nx=5,Spline);
+
+xaxis3(Label("$x$"),red,Arrow3);
+yaxis3(Label("$y$"),red,Arrow3);
+zaxis3(XYZero(extend=true),red,Arrow3);
+
+draw(s,lightgray,meshpen=black+thick(),nolight,render(merge=true));
+
+label("$O$",O,-Z+Y,red);
+
+
+A mesh can be drawn without surface filling by specifying `nullpen' for
+the surfacepen.
+
+ A vector field of `nu'\times`nv' arrows on a parametric surface `f'
+over `box(a,b)' can be drawn with the routine
+picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b,
+ int nu=nmesh, int nv=nu, bool truesize=false,
+ real maxlength=truesize ? 0 : maxlength(f,a,b,nu,nv),
+ bool cond(pair z)=null, pen p=currentpen,
+ arrowbar3 arrow=Arrow3, margin3 margin=PenMargin3)
+ as illustrated in the examples `vectorfield3.asy' and
+`vectorfieldsphere.asy'.
+
+
+File: asymptote.info, Node: grid3, Next: solids, Prev: graph3, Up: Base modules
+
+8.32 `grid3'
+============
+
+This module, contributed by Philippe Ivaldi, can be used for drawing 3D
+grids. Here is an example (further examples can be found in `grid3.asy'
+and at `http://www.piprime.fr/files/asymptote/grid3/'):
+
+import grid3;
+
+size(8cm,0,IgnoreAspect);
+currentprojection=orthographic(0.5,1,0.5);
+
+scale(Linear, Linear, Log);
+
+limits((-2,-2,1),(0,2,100));
+
+grid3(XYZgrid);
+
+xaxis3(Label("$x$",position=EndPoint,align=S),Bounds(Min,Min),
+ OutTicks());
+yaxis3(Label("$y$",position=EndPoint,align=S),Bounds(Min,Min),OutTicks());
+zaxis3(Label("$z$",position=EndPoint,align=(-1,0.5)),Bounds(Min,Min),
+ OutTicks(beginlabel=false));
+
+
+
+
+File: asymptote.info, Node: solids, Next: tube, Prev: grid3, Up: Base modules
+
+8.33 `solids'
+=============
+
+This solid geometry package defines a structure `revolution' that can
+be used to fill and draw surfaces of revolution. The following example
+uses it to display the outline of a circular cylinder of radius 1 with
+axis `O--1.5unit(Y+Z)' with perspective projection:
+
+import solids;
+
+size(0,100);
+
+revolution r=cylinder(O,1,1.5,Y+Z);
+draw(r,heavygreen);
+
+
+
+Further illustrations are provided in the example files `cylinder.asy',
+`cones.asy', `hyperboloid.asy', and `torus.asy'.
+
+ The structure `skeleton' contains the three-dimensional wireframe
+used to visualize a volume of revolution:
+struct skeleton {
+ struct curve {
+ path3[] front;
+ path3[] back;
+ }
+ // transverse skeleton (perpendicular to axis of revolution)
+ curve transverse;
+ // longitudinal skeleton (parallel to axis of revolution)
+ curve longitudinal;
+}
+
+
+File: asymptote.info, Node: tube, Next: flowchart, Prev: solids, Up: Base modules
+
+8.34 `tube'
+===========
+
+This package extends the `tube' surfaces constructed in
+`three_arrows.asy' to arbitrary cross sections, colors, and spine
+transformations. The routine
+surface tube(path3 g, coloredpath section,
+ transform T(real)=new transform(real t) {return identity();},
+ real corner=1, real relstep=0);
+ draws a tube along `g' with cross section `section', after applying
+the transformation `T(t)' at `relpoint(g,t)'. The parameter `corner'
+controls the number of elementary tubes at the angular points of `g'. A
+nonzero value of `relstep' specifies a fixed relative time step (in the
+sense of `relpoint(g,t)') to use in constructing elementary tubes along
+`g'. The type `coloredpath' is a generalization of `path' to which a
+`path' can be cast:
+struct coloredpath
+{
+ path p;
+ pen[] pens(real);
+ int colortype=coloredSegments;
+}
+ Here `p' defines the cross section and the method `pens(real t)'
+returns an array of pens (interpreted as a cyclic array) used for
+shading the tube patches at `relpoint(g,t)'. If
+`colortype=coloredSegments', the tube patches are filled as if each
+segment of the section was colored with the pen returned by `pens(t)',
+whereas if `colortype=coloredNodes', the tube components are vertex
+shaded as if the nodes of the section were colored.
+
+ A `coloredpath' can be constructed with one of the routines:
+coloredpath coloredpath(path p, pen[] pens(real),
+ int colortype=coloredSegments);
+coloredpath coloredpath(path p, pen[] pens=new pen[] {currentpen},
+ int colortype=coloredSegments);
+coloredpath coloredpath(path p, pen pen(real));
+ In the second case, the pens are independent of the relative time. In
+the third case, the array of pens contains only one pen, which depends
+of the relative time.
+
+ The casting of `path' to `coloredpath' allows the use of a `path'
+instead of a `coloredpath'; in this case the shading behaviour is the
+default shading behavior for a surface.
+
+ An example of `tube' is provided in the file `trefoilknot.asy'.
+Further examples can be found at
+`http://www.piprime.fr/files/asymptote/tube/'.
+
+
+File: asymptote.info, Node: flowchart, Next: contour, Prev: tube, Up: Base modules
+
+8.35 `flowchart'
+================
+
+This package provides routines for drawing flowcharts. The primary
+structure is a `block', which represents a single block on the
+flowchart. The following eight functions return a position on the
+appropriate edge of the block, given picture transform `t':
+
+pair block.top(transform t=identity());
+pair block.left(transform t=identity());
+pair block.right(transform t=identity());
+pair block.bottom(transform t=identity());
+pair block.topleft(transform t=identity());
+pair block.topright(transform t=identity());
+pair block.bottomleft(transform t=identity());
+pair block.bottomright(transform t=identity());
+
+
+To obtain an arbitrary position along the boundary of the block in user
+coordinates, use:
+pair block.position(real x, transform t=identity());
+
+
+The center of the block in user coordinates is stored in `block.center'
+and the block size in `PostScript' coordinates is given by `block.size'.
+
+A frame containing the block is returned by
+frame block.draw(pen p=currentpen);
+
+
+ The following block generation routines accept a Label, string, or
+frame for their object argument:
+
+"rectangular block with an optional header (and padding `dx' around header and body):"
+ block rectangle(object header, object body, pair center=(0,0),
+ pen headerpen=mediumgray, pen bodypen=invisible,
+ pen drawpen=currentpen,
+ real dx=3, real minheaderwidth=minblockwidth,
+ real minheaderheight=minblockwidth,
+ real minbodywidth=minblockheight,
+ real minbodyheight=minblockheight);
+ block rectangle(object body, pair center=(0,0),
+ pen fillpen=invisible, pen drawpen=currentpen,
+ real dx=3, real minwidth=minblockwidth,
+ real minheight=minblockheight);
+
+"parallelogram block:"
+ block parallelogram(object body, pair center=(0,0),
+ pen fillpen=invisible, pen drawpen=currentpen,
+ real dx=3, real slope=2,
+ real minwidth=minblockwidth,
+ real minheight=minblockheight);
+
+"diamond-shaped block:"
+ block diamond(object body, pair center=(0,0),
+ pen fillpen=invisible, pen drawpen=currentpen,
+ real ds=5, real dw=1,
+ real height=20, real minwidth=minblockwidth,
+ real minheight=minblockheight);
+
+"circular block:"
+ block circle(object body, pair center=(0,0), pen fillpen=invisible,
+ pen drawpen=currentpen, real dr=3,
+ real mindiameter=mincirclediameter);
+
+"rectangular block with rounded corners:"
+ block roundrectangle(object body, pair center=(0,0),
+ pen fillpen=invisible, pen drawpen=currentpen,
+ real ds=5, real dw=0, real minwidth=minblockwidth,
+ real minheight=minblockheight);
+
+"rectangular block with beveled edges:"
+ block bevel(object body, pair center=(0,0), pen fillpen=invisible,
+ pen drawpen=currentpen, real dh=5, real dw=5,
+ real minwidth=minblockwidth, real minheight=minblockheight);
+
+
+ To draw paths joining the pairs in `point' with right-angled lines,
+use the routine:
+path path(pair point[] ... flowdir dir[]);
+ The entries in `dir' identify whether successive segments between the
+pairs specified by `point' should be drawn in the `Horizontal' or
+`Vertical' direction.
+
+ Here is a simple flowchart example (see also the example
+`controlsystem.asy'):
+
+size(0,300);
+
+import flowchart;
+
+block block1=rectangle(Label("Example",magenta),
+ pack(Label("Start:",heavygreen),"",Label("$A:=0$",blue),
+ "$B:=1$"),(-0.5,3),palegreen,paleblue,red);
+block block2=diamond(Label("Choice?",blue),(0,2),palegreen,red);
+block block3=roundrectangle("Do something",(-1,1));
+block block4=bevel("Don't do something",(1,1));
+block block5=circle("End",(0,0));
+
+draw(block1);
+draw(block2);
+draw(block3);
+draw(block4);
+draw(block5);
+
+add(new void(picture pic, transform t) {
+ blockconnector operator --=blockconnector(pic,t);
+ // draw(pic,block1.right(t)--block2.top(t));
+ block1--Right--Down--Arrow--block2;
+ block2--Label("Yes",0.5,NW)--Left--Down--Arrow--block3;
+ block2--Right--Label("No",0.5,NE)--Down--Arrow--block4;
+ block4--Down--Left--Arrow--block5;
+ block3--Down--Right--Arrow--block5;
+ });
+
+
+
+
+File: asymptote.info, Node: contour, Next: contour3, Prev: flowchart, Up: Base modules
+
+8.36 `contour'
+==============
+
+This package draws contour lines. To construct contours corresponding
+to the values in a real array `c' for a function `f' on `box(a,b)', use
+the routine
+guide[][] contour(real f(real, real), pair a, pair b,
+ real[] c, int nx=ngraph, int ny=nx,
+ interpolate join=operator --, int subsample=1);
+ The integers `nx' and `ny' define the resolution. The default
+resolution, `ngraph x ngraph' (here `ngraph' defaults to `100') can be
+increased for greater accuracy. The default interpolation operator is
+`operator --' (linear). Spline interpolation (`operator ..') may
+produce smoother contours but it can also lead to overshooting. The
+`subsample' parameter indicates the number of interior points that
+should be used to sample contours within each `1 x 1' box; the default
+value of `1' is usually sufficient.
+
+ To construct contours for an array of data values on a uniform
+two-dimensional lattice on `box(a,b)', use
+guide[][] contour(real[][] f, pair a, pair b, real[] c,
+ interpolate join=operator --, int subsample=1);
+
+ To construct contours for an array of data values on a nonoverlapping
+regular mesh specified by the two-dimensional array `z',
+guide[][] contour(pair[][] z, real[][] f, real[] c,
+ interpolate join=operator --, int subsample=1);
+
+ To construct contours for an array of values `f' specified at
+irregularly positioned points `z', use the routine
+guide[][] contour(pair[] z, real[] f, real[] c,
+ interpolate join=operator --, int subsample=1);
+ The contours themselves can be drawn with one of the routines
+void draw(picture pic=currentpicture, Label[] L=new Label[],
+ guide[][] g, pen p=currentpen);
+
+void draw(picture pic=currentpicture, Label[] L=new Label[],
+ guide[][] g, pen[] p);
+
+ The following simple example draws the contour at value `1' for the
+function z=x^2+y^2, which is a unit circle:
+
+import contour;
+size(75);
+
+real f(real a, real b) {return a^2+b^2;}
+draw(contour(f,(-1,-1),(1,1),new real[] {1}));
+
+
+
+The next example draws and labels multiple contours for the function
+z=x^2-y^2 with the resolution `100 x 100', using a dashed pen for
+negative contours and a solid pen for positive (and zero) contours:
+
+import contour;
+
+size(200);
+
+real f(real x, real y) {return x^2-y^2;}
+int n=10;
+real[] c=new real[n];
+for(int i=0; i < n; ++i) c[i]=(i-n/2)/n;
+
+pen[] p=sequence(new pen(int i) {
+ return (c[i] >= 0 ? solid : dashed)+fontsize(6pt);
+ },c.length);
+
+Label[] Labels=sequence(new Label(int i) {
+ return Label(c[i] != 0 ? (string) c[i] : "",Relative(unitrand()),(0,0),
+ UnFill(1bp));
+ },c.length);
+
+draw(Labels,contour(f,(-1,-1),(1,1),c),p);
+
+
+
+The next example illustrates how contour lines can be drawn on color
+density images:
+
+import graph;
+import palette;
+import contour;
+
+size(10cm,10cm,IgnoreAspect);
+
+pair a=(0,0);
+pair b=(2pi,2pi);
+
+real f(real x, real y) {return cos(x)*sin(y);}
+
+int N=200;
+int Divs=10;
+int divs=2;
+
+defaultpen(1bp);
+pen Tickpen=black;
+pen tickpen=gray+0.5*linewidth(currentpen);
+pen[] Palette=BWRainbow();
+
+bounds range=image(f,Automatic,a,b,N,Palette);
+
+// Major contours
+
+real[] Cvals=uniform(range.min,range.max,Divs);
+draw(contour(f,a,b,Cvals,N,operator --),Tickpen);
+
+// Minor contours
+real[] cvals;
+for(int i=0; i < Cvals.length-1; ++i)
+ cvals.append(uniform(Cvals[i],Cvals[i+1],divs)[1:divs]);
+draw(contour(f,a,b,cvals,N,operator --),tickpen);
+
+xaxis("$x$",BottomTop,LeftTicks,above=true);
+yaxis("$y$",LeftRight,RightTicks,above=true);
+
+palette("$f(x,y)$",range,point(NW)+(0,0.5),point(NE)+(0,1),Top,Palette,
+ PaletteTicks(N=Divs,n=divs,Tickpen,tickpen));
+
+
+
+Finally, here is an example that illustrates the construction of
+contours from irregularly spaced data:
+
+import contour;
+
+size(200);
+
+int n=100;
+
+real f(real a, real b) {return a^2+b^2;}
+
+srand(1);
+
+real r() {return 1.1*(rand()/randMax*2-1);}
+
+pair[] points=new pair[n];
+real[] values=new real[n];
+
+for(int i=0; i < n; ++i) {
+ points[i]=(r(),r());
+ values[i]=f(points[i].x,points[i].y);
+}
+
+draw(contour(points,values,new real[]{0.25,0.5,1},operator ..),blue);
+
+
+
+In the above example, the contours of irregularly spaced data are
+constructed by first creating a triangular mesh from an array `z' of
+pairs:
+
+int[][] triangulate(pair[] z);
+
+size(200);
+int np=100;
+pair[] points;
+
+real r() {return 1.2*(rand()/randMax*2-1);}
+
+for(int i=0; i < np; ++i)
+ points.push((r(),r()));
+
+int[][] trn=triangulate(points);
+
+for(int i=0; i < trn.length; ++i) {
+ draw(points[trn[i][0]]--points[trn[i][1]]);
+ draw(points[trn[i][1]]--points[trn[i][2]]);
+ draw(points[trn[i][2]]--points[trn[i][0]]);
+}
+
+for(int i=0; i < np; ++i)
+ dot(points[i],red);
+
+
+
+The example `Gouraudcontour' illustrates how to produce color density
+images over such irregular triangular meshes. `Asymptote' uses a
+robust version of Paul Bourke's Delaunay triangulation algorithm based
+on the public-domain exact arithmetic predicates written by Jonathan
+Shewchuk.
+
+
+File: asymptote.info, Node: contour3, Next: slopefield, Prev: contour, Up: Base modules
+
+8.37 `contour3'
+===============
+
+This package draws surfaces described as the null space of real-valued
+functions of (x,y,z) or real[][][] matrices. Its usage is illustrated
+in the example file `magnetic.asy'.
+
+
+File: asymptote.info, Node: slopefield, Next: ode, Prev: contour3, Up: Base modules
+
+8.38 `slopefield'
+=================
+
+To draw a slope field for the differential equation dy/dx=f(x,y) (or
+dy/dx=f(x)), use:
+picture slopefield(real f(real,real), pair a, pair b,
+ int nx=nmesh, int ny=nx,
+ real tickfactor=0.5, pen p=currentpen,
+ arrowbar arrow=None);
+ Here, the points `a' and `b' are the lower left and upper right
+corners of the rectangle in which the slope field is to be drawn, `nx'
+and `ny' are the respective number of ticks in the x and y directions,
+`tickfactor' is the fraction of the minimum cell dimension to use for
+drawing ticks, and `p' is the pen to use for drawing the slope fields.
+The return value is a picture that can be added to `currentpicture' via
+the `add(picture)' command.
+
+ The function
+path curve(pair c, real f(real,real), pair a, pair b);
+ takes a point (`c') and a slope field-defining function `f' and
+returns, as a path, the curve passing through that point. The points
+`a' and `b' represent the rectangular boundaries over which the curve
+is interpolated.
+
+ Both `slopefield' and `curve' alternatively accept a function `real
+f(real)' that depends on x only, as seen in this example:
+
+import slopefield;
+
+size(200);
+
+real func(real x) {return 2x;}
+add(slopefield(func,(-3,-3),(3,3),20,Arrow));
+draw(curve((0,0),func,(-3,-3),(3,3)),red);
+
+
+
+
+File: asymptote.info, Node: ode, Prev: slopefield, Up: Base modules
+
+8.39 `ode'
+==========
+
+The `ode' module, illustrated in the example `odetest.asy', implements
+a number of explicit numerical integration schemes for ordinary
+differential equations.
+
+
+File: asymptote.info, Node: Options, Next: Interactive mode, Prev: Base modules, Up: Top
+
+9 Command-line options
+**********************
+
+Type `asy -h' to see the full list of command-line options supported by
+`Asymptote':
+
+Usage: ../asy [options] [file ...]
+
+Options (negate by replacing - with -no):
+
+-V,-View View output; command-line only
+-a,-align C|B|T|Z Center, Bottom, Top, or Zero page alignment [C]
+-antialias n Antialiasing width for rasterized output [2]
+-arcballradius pixels Arcball radius [750]
+-auto3D Automatically activate 3D scene [true]
+-autobillboard 3D labels always face viewer by default [true]
+-autoimport string Module to automatically import
+-autoplain Enable automatic importing of plain [true]
+-autoplay Autoplay 3D animations [false]
+-autorotate Enable automatic PDF page rotation [false]
+-batchMask Mask fpu exceptions in batch mode [false]
+-batchView View output in batch mode [false]
+-bw Convert all colors to black and white [false]
+-cd directory Set current directory; command-line only
+-cmyk Convert rgb colors to cmyk [false]
+-c,-command string Command to autoexecute
+-compact Conserve memory at the expense of speed [false]
+-d,-debug Enable debugging messages [false]
+-divisor n Garbage collect using purge(divisor=n) [2]
+-doubleclick ms Emulated double-click timeout [200]
+-embed Embed rendered preview image [true]
+-exitonEOF Exit interactive mode on EOF [true]
+-fitscreen Fit rendered image to screen [true]
+-framedelay ms Additional frame delay [0]
+-framerate frames/s Animation speed [30]
+-globalwrite Allow write to other directory [false]
+-gray Convert all colors to grayscale [false]
+-h,-help Show summary of options; command-line only
+-historylines n Retain n lines of history [1000]
+-iconify Iconify rendering window [false]
+-inlineimage Generate inline embedded image [false]
+-inlinetex Generate inline TeX code [false]
+-interactiveMask Mask fpu exceptions in interactive mode [true]
+-interactiveView View output in interactive mode [true]
+-interactiveWrite Write expressions entered at the prompt to stdout [true]
+-k,-keep Keep intermediate files [false]
+-keepaux Keep intermediate LaTeX .aux files [false]
+-level n Postscript level [3]
+-l,-listvariables List available global functions and variables [false]
+-localhistory Use a local interactive history file [false]
+-loop Loop 3D animations [false]
+-m,-mask Mask fpu exceptions; command-line only
+-maxtile pair Maximum rendering tile size [(1024,768)]
+-maxviewport pair Maximum viewport size [(2048,2048)]
+-multiline Input code over multiple lines at the prompt [false]
+-multipleView View output from multiple batch-mode files [false]
+-multisample n Multisampling width for screen images [4]
+-offscreen Use offscreen rendering [false]
+-O,-offset pair PostScript offset [(0,0)]
+-f,-outformat format Convert each output file to specified format
+-o,-outname name Alternative output directory/filename
+-p,-parseonly Parse file [false]
+-pdfreload Automatically reload document in pdfviewer [false]
+-pdfreloaddelay usec Delay before attempting initial pdf reload [750000]
+-position pair Initial 3D rendering screen position [(0,0)]
+-prc Embed 3D PRC graphics in PDF output [true]
+-prompt string Prompt [> ]
+-prompt2 string Continuation prompt for multiline input [..]
+-q,-quiet Suppress welcome message [false]
+-render n Render 3D graphics using n pixels per bp (-1=auto) [-1]
+-resizestep step Resize step [1.2]
+-reverse reverse 3D animations [false]
+-rgb Convert cmyk colors to rgb [false]
+-safe Disable system call [true]
+-scroll n Scroll standard output n lines at a time [0]
+-spinstep deg/s Spin speed [60]
+-svgemulation Emulate unimplemented SVG shading [false]
+-tabcompletion Interactive prompt auto-completion [true]
+-tex engine latex|pdflatex|xelatex|tex|pdftex|context|none [latex]
+-thick Render thick 3D lines [true]
+-thin Render thin 3D lines [true]
+-threads Use POSIX threads for 3D rendering [true]
+-toolbar Show 3D toolbar in PDF output [true]
+-s,-translate Show translated virtual machine code [false]
+-twice Run LaTeX twice (to resolve references) [false]
+-twosided Use two-sided 3D lighting model for rendering [true]
+-u,-user string General purpose user string
+-v,-verbose Increase verbosity level (can specify multiple times) [0]
+-version Show version; command-line only
+-wait Wait for child processes to finish before exiting [false]
+-warn string Enable warning; command-line only
+-where Show where listed variables are declared [false]
+-zoomfactor factor Zoom step factor [1.05]
+-zoomstep step Mouse motion zoom step [0.1]
+
+ All boolean options can be negated by prepending `no' to the option
+name.
+
+ If no arguments are given, `Asymptote' runs in interactive mode
+(*note Interactive mode::). In this case, the default output file is
+`out.eps'.
+
+ If `-' is given as the file argument, `Asymptote' reads from
+standard input.
+
+ If multiple files are specified, they are treated as separate
+`Asymptote' runs.
+
+ If the string `autoimport' is nonempty, a module with this name is
+automatically imported for each run as the final step in loading module
+`plain'.
+
+ Default option values may be entered as `Asymptote' code in a
+configuration file named `config.asy' (or the file specified by the
+environment variable `ASYMPTOTE_CONFIG' or `-config' option).
+`Asymptote' will look for this file in its usual search path (*note
+Search paths::). Typically the configuration file is placed in the
+`.asy' directory in the user's home directory (`%USERPROFILE%\.asy'
+under `MSDOS'). Configuration variables are accessed using the long
+form of the option names:
+import settings;
+outformat="pdf";
+batchView=false;
+interactiveView=true;
+batchMask=false;
+interactiveMask=true;
+ Command-line options override these defaults. Most configuration
+variables may also be changed at runtime. The advanced configuration
+variables `dvipsOptions', `hyperrefOptions', `convertOptions',
+`gsOptions', `psviewerOptions', `pdfviewerOptions', and `glOptions'
+allow specialized options to be passed as a string to the respective
+applications or libraries. The default value of `hyperrefOptions' is
+`setpagesize=false,unicode,pdfborder=0 0 0'.
+
+ If you insert
+import plain;
+settings.autoplain=true;
+ at the beginning of the configuration file, it can contain arbitrary
+`Asymptote' code.
+
+ The default output format is EPS for the (default) `latex' and `tex'
+tex engine and PDF for the `pdflatex', `xelatex', and `context' tex
+engines. Alternative output formats may be produced using the `-f'
+option (or `outformat' setting). To produce SVG output, first install
+`dvisvgm' (version 0.8.7 or later) from
+`http://dvisvgm.sourceforge.net/down.html' and be sure to use the
+`latex' or `tex' tex engine.
+
+ `Asymptote' can also produce any output format supported by the
+`ImageMagick' `convert' program (version 6.3.5 or later recommended; an
+`Invalid Parameter' error message indicates that the `MSDOS' utility
+`convert' is being used instead of the one that comes with
+`ImageMagick'). The optional setting `-render n' requests an output
+resolution of `n' pixels per `bp'. Antialiasing is controlled by the
+parameter `antialias', which by default specifies a sampling width of 2
+pixels. To give other options to `convert', use the `convertOptions'
+setting or call convert manually. This example emulates how `Asymptote'
+produces antialiased `tiff' output at one pixel per `bp':
+asy -o - venn | convert -alpha Off -density 144x144 -geometry 50%x eps:- venn.tiff
+
+ If the option `-nosafe' is given, `Asymptote' runs in unsafe mode.
+This enables the `int system(string s)' and `int system(string[] s)'
+calls, allowing one to execute arbitrary shell commands. The default
+mode, `-safe', disables this call.
+
+ A `PostScript' offset may be specified as a pair (in `bp' units)
+with the `-O' option:
+asy -O 0,0 file
+ The default offset is zero. The default value of the page alignment
+setting `align' is `Center'.
+
+ The `-c' (`command') option may be used to execute arbitrary
+`Asymptote' code on the command line as a string. It is not necessary
+to terminate the string with a semicolon. Multiple `-c' options are
+executed in the order they are given. For example
+asy -c 2+2 -c "sin(1)" -c "size(100); draw(unitsquare)"
+ produces the output
+4
+0.841470984807897
+ and draws a unitsquare of size `100'.
+
+ The `-u' (`user') option may be used to specify arbitrary
+`Asymptote' settings on the command line as a string. It is not
+necessary to terminate the string with a semicolon. Multiple `-u'
+options are executed in the order they are given. Command-line code like
+`-u x=sqrt(2)' can be executed within a module like this:
+real x;
+usersetting();
+write(x);
+
+ When the `-l' (`listvariables') option is used with file arguments,
+only global functions and variables defined in the specified file(s)
+are listed.
+
+ Additional debugging output is produced with each additional `-v'
+option:
+`-v'
+ Display top-level module and final output file names.
+
+`-vv'
+ Also display imported and included module names and final `LaTeX'
+ and `dvips' processing information.
+
+`-vvv'
+ Also output `LaTeX' bidirectional pipe diagnostics.
+
+`-vvvv'
+ Also output knot guide solver diagnostics.
+
+`-vvvvv'
+ Also output `Asymptote' traceback diagnostics.
+
+
+File: asymptote.info, Node: Interactive mode, Next: GUI, Prev: Options, Up: Top
+
+10 Interactive mode
+*******************
+
+Interactive mode is entered by executing the command `asy' with no file
+arguments. When the `-multiline' option is disabled (the default), each
+line must be a complete `Asymptote' statement (unless explicitly
+continued by a final backslash character `\'); it is not necessary to
+terminate input lines with a semicolon. If one assigns
+`settings.multiline=true', interactive code can be entered over
+multiple lines; in this mode, the automatic termination of interactive
+input lines by a semicolon is inhibited. Multiline mode is useful for
+cutting and pasting `Asymptote' code directly into the interactive
+input buffer.
+
+ Interactive mode can be conveniently used as a calculator:
+expressions entered at the interactive prompt (for which a
+corresponding `write' function exists) are automatically evaluated and
+written to `stdout'. If the expression is non-writable, its type
+signature will be printed out instead. In either case, the expression
+can be referred to using the symbol `%' in the next line input at the
+prompt. For example:
+> 2+3
+5
+> %*4
+20
+> 1/%
+0.05
+> sin(%)
+0.0499791692706783
+> currentpicture
+<picture currentpicture>
+> %.size(200,0)
+>
+
+ The `%' symbol, when used as a variable, is shorthand for the
+identifier `operator answer', which is set by the prompt after each
+written expression evaluation.
+
+ The following special commands are supported only in interactive mode
+and must be entered immediately after the prompt:
+
+`help'
+ view the manual;
+
+`erase'
+ erase `currentpicture';
+
+`reset'
+ reset the `Asymptote' environment to its initial state, except for
+ changes to the settings module (*note settings::), the current
+ directory (*note cd::), and breakpoints (*note Debugger::);
+
+`input FILE'
+ does an interactive reset, followed by the command `include FILE'.
+ If the file name `FILE' contains nonalphanumeric characters,
+ enclose it with quotation marks. A trailing semi-colon followed
+ by optional `Asymptote' commands may be entered on the same line.
+
+`quit'
+ exit interactive mode (`exit' is a synonym; the abbreviation `q'
+ is also accepted unless there exists a top-level variable named
+ `q'). A history of the most recent 1000 (this number can be
+ changed with the `historylines' configuration variable) previous
+ commands will be retained in the file `.asy/history' in the user's
+ home directory (unless the command-line option `-localhistory' was
+ specified, in which case the history will be stored in the file
+ `.asy_history' in the current directory).
+
+
+ Typing `ctrl-C' interrupts the execution of `Asymptote' code and
+returns control to the interactive prompt.
+
+ Interactive mode is implemented with the GNU `readline' library,
+with command history and auto-completion. To customize the key
+bindings, see:
+`http://cnswww.cns.cwru.edu/php/chet/readline/readline.html'
+
+ The file `asymptote.py' in the `Asymptote' system directory provides
+an alternative way of entering `Asymptote' commands interactively,
+coupled with the full power of `Python'. Copy this file to your `Python
+path' and then execute from within `Python' the commands
+from asymptote import *
+g=asy()
+g.size(200)
+g.draw("unitcircle")
+g.send("draw(unitsquare)")
+g.fill("unitsquare, blue")
+g.clip("unitcircle")
+g.label("\"$O$\", (0,0), SW")
+
+
+File: asymptote.info, Node: GUI, Next: PostScript to Asymptote, Prev: Interactive mode, Up: Top
+
+11 Graphical User Interface
+***************************
+
+In the event that adjustments to the final figure are required, the
+preliminary Graphical User Interface (GUI) `xasy' included with
+`Asymptote' allows you to move graphical objects and draw new ones.
+The modified figure can then be saved as a normal `Asymptote' file.
+
+* Menu:
+
+* GUI installation:: Installing `xasy'
+* GUI usage::
+
+
+File: asymptote.info, Node: GUI installation, Next: GUI usage, Up: GUI
+
+11.1 GUI installation
+=====================
+
+As `xasy' is written in the interactive scripting language `Python/TK',
+it requires `Python' (`http://www.python.org'), the `Python Imaging
+Library' (`http://www.pythonware.com/products/pil/'), and the `tkinter'
+package (included with `Python' under `Microsoft Windows') be
+installed. `Fedora Linux' users can either install `tkinter' with the
+commands
+yum install tkinter
+yum install tk-devel
+ or manually install the `tkinter', `tix', `tk', and `tk-devel'
+packages.
+
+ Pictures are deconstructed into the PNG image format, which supports
+full alpha channel transparency. Under `Microsoft Windows', this
+requires `Python 2.7.3' and the `Python Imaging Library':
+
+ `http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi'
+
+ `http://effbot.org/downloads/PIL-1.1.7.win32-py2.7.exe'.
+ On `UNIX' systems, place
+`http://effbot.org/downloads/Imaging-1.1.7.tar.gz' in the `Asymptote'
+source directory, and type (as the root user):
+tar -zxf Imaging-1.1.7.tar.gz
+cd Imaging-1.1.7
+python setup.py install
+
+
+File: asymptote.info, Node: GUI usage, Prev: GUI installation, Up: GUI
+
+11.2 GUI usage
+==============
+
+A wheel mouse is convenient for raising and lowering objects within
+`xasy', to expose the object to be moved. If a wheel mouse is not
+available, mouse `Button-2' can be used to repeatedly lower an object
+instead. When run from the command line, `xasy' accepts a command line
+option `-x n', which sets the initial magnification to `n'.
+
+ Deconstruction of compound objects (such as arrows) can be prevented
+by enclosing them within the commands
+void begingroup(picture pic=currentpicture);
+void endgroup(picture pic=currentpicture);
+ By default, the elements of a picture or frame will be grouped
+together on adding them to a picture. However, the elements of a frame
+added to another frame are not grouped together by default: their
+elements will be individually deconstructed (*note add::).
+
+
+File: asymptote.info, Node: PostScript to Asymptote, Next: Help, Prev: GUI, Up: Top
+
+12 `PostScript' to `Asymptote'
+******************************
+
+The excellent `PostScript' editor `pstoedit' (version 3.50 or later;
+available from `http://sourceforge.net/projects/pstoedit/') includes an
+`Asymptote' backend. Unlike virtually all other `pstoedit' backends,
+this driver includes native clipping, even-odd fill rule, `PostScript'
+subpath, and full image support. Here is an example: `asy -V
+/usr/local/share/doc/asymptote/examples/venn.asy'
+pstoedit -f asy venn.eps test.asy
+asy -V test
+
+If the line widths aren't quite correct, try giving `pstoedit' the
+`-dis' option. If the fonts aren't typeset correctly, try giving
+`pstoedit' the `-dt' option.
+
+
+File: asymptote.info, Node: Help, Next: Debugger, Prev: PostScript to Asymptote, Up: Top
+
+13 Help
+*******
+
+A list of frequently asked questions (FAQ) is maintained at
+
+ `http://asymptote.sourceforge.net/FAQ'
+ Questions on installing and using `Asymptote' that are not addressed
+in the FAQ should be sent to the `Asymptote' forum:
+
+ `http://sourceforge.net/projects/asymptote/forums/forum/409349'
+ Including an example that illustrates what you are trying to do will
+help you get useful feedback. `LaTeX' problems can often be diagnosed
+with the `-vv' or `-vvv' command-line options. Contributions in the
+form of patches or `Asymptote' modules can be posted here:
+
+ `http://sourceforge.net/tracker/?atid=685685&group_id=120000'
+ To receive announcements of upcoming releases, please subscribe to
+`Asymptote' at
+
+ `http://freshmeat.net/projects/asy'
+ If you find a bug in `Asymptote', please check (if possible) whether
+the bug is still present in the latest `Subversion' developmental code
+(*note Subversion::) before submitting a bug report. New bugs can be
+submitted using the Bug Tracking System at
+
+ `http://sourceforge.net/projects/asymptote'
+ To see if the bug has already been fixed, check bugs with Status
+`Closed' and recent lines in
+
+ `http://asymptote.sourceforge.net/ChangeLog'
+ `Asymptote' can be configured with the optional GNU library
+`libsigsegv', available from `http://libsigsegv.sourceforge.net', which
+allows one to distinguish user-generated `Asymptote' stack overflows
+(*note stack overflow::) from true segmentation faults (due to internal
+C++ programming errors; please submit the `Asymptote' code that
+generates such segmentation faults along with your bug report).
+
+
+File: asymptote.info, Node: Debugger, Next: Credits, Prev: Help, Up: Top
+
+14 Debugger
+***********
+
+Asymptote now includes a line-based (as opposed to code-based) debugger
+that can assist the user in following flow control. To set a break
+point in file `file' at line `line', use the command
+
+void stop(string file, int line, code s=quote{});
+ The optional argument `s' may be used to conditionally set the variable
+`ignore' in `plain_debugger.asy' to `true'. For example, the first 10
+instances of this breakpoint will be ignored (the variable `int
+count=0' is defined in `plain_debugger.asy'):
+stop("test",2,quote{ignore=(++count <= 10);});
+
+ To set a break point in file `file' at the first line containing the
+string `text', use
+
+void stop(string file, string text, code s=quote{});
+ To list all breakpoints, use:
+void breakpoints();
+ To clear a breakpoint, use:
+void clear(string file, int line);
+ To clear all breakpoints, use:
+void clear();
+
+ The following commands may be entered at the debugging prompt:
+
+``h''
+ help;
+
+``c''
+ continue execution;
+
+``i''
+ step to the next instruction;
+
+``s''
+ step to the next executable line;
+
+``n''
+ step to the next executable line in the current file;
+
+``f''
+ step to the next file;
+
+``r''
+ return to the file associated with the most recent breakpoint;
+
+``t''
+ toggle tracing (`-vvvvv') mode;
+
+``q''
+ quit debugging and end execution;
+
+``x''
+ exit the debugger and run to completion.
+
+ Arbitrary `Asymptote' code may also be entered at the debugging
+prompt; however, since the debugger is implemented with `eval',
+currently only top-level (global) variables can be displayed or
+modified.
+
+ The debugging prompt may be entered manually with the call
+void breakpoint(code s=quote{});
+
+
+File: asymptote.info, Node: Credits, Next: Index, Prev: Debugger, Up: Top
+
+15 Acknowledgments
+******************
+
+Financial support for the development of `Asymptote' was generously
+provided by the Natural Sciences and Engineering Research Council of
+Canada, the Pacific Institute for Mathematical Sciences, and the
+University of Alberta Faculty of Science.
+
+ We also would like to acknowledge the previous work of John D. Hobby,
+author of the program `MetaPost' that inspired the development of
+`Asymptote', and Donald E. Knuth, author of TeX and `MetaFont' (on
+which `MetaPost' is based).
+
+ The authors of `Asymptote' are Andy Hammerlindl, John Bowman, and
+Tom Prince. Sean Healy designed the `Asymptote' logo. Other
+contributors include Michail Vidiassov, Radoslav Marinov, Orest Shardt,
+Chris Savage, Philippe Ivaldi, Olivier Guibe', Jacques Pienaar, Mark
+Henning, Steve Melenchuk, Martin Wiebusch, and Stefan Knorr.
+
+
+File: asymptote.info, Node: Index, Prev: Credits, Up: Top
+
+Index
+*****
+
+
+* Menu:
+
+* !: Arithmetic & logical.
+ (line 68)
+* != <1>: Arithmetic & logical.
+ (line 38)
+* !=: Structures. (line 52)
+* % <1>: Interactive mode. (line 17)
+* %: Arithmetic & logical.
+ (line 23)
+* %=: Self & prefix operators.
+ (line 6)
+* & <1>: Arithmetic & logical.
+ (line 56)
+* &: Bezier curves. (line 83)
+* &&: Arithmetic & logical.
+ (line 53)
+* * <1>: Arithmetic & logical.
+ (line 17)
+* *: Pens. (line 15)
+* **: Arithmetic & logical.
+ (line 31)
+* *=: Self & prefix operators.
+ (line 6)
+* + <1>: Arithmetic & logical.
+ (line 13)
+* +: Pens. (line 15)
+* ++: Self & prefix operators.
+ (line 6)
+* +=: Self & prefix operators.
+ (line 6)
+* -: Arithmetic & logical.
+ (line 14)
+* -- <1>: Self & prefix operators.
+ (line 6)
+* --: Tutorial. (line 127)
+* ---: Bezier curves. (line 83)
+* -=: Self & prefix operators.
+ (line 6)
+* -c: Options. (line 174)
+* -l: Options. (line 193)
+* -u: Options. (line 184)
+* -V <1>: Tutorial. (line 19)
+* -V: Configuring. (line 6)
+* ..: Tutorial. (line 127)
+* .asy: Search paths. (line 14)
+* /: Arithmetic & logical.
+ (line 20)
+* /=: Self & prefix operators.
+ (line 6)
+* 2D graphs: graph. (line 6)
+* 3D graphs: graph3. (line 6)
+* 3D grids: grid3. (line 6)
+* 3D PostScript: three. (line 581)
+* 3D rendering: Compiling from UNIX source.
+ (line 16)
+* :: Arithmetic & logical.
+ (line 73)
+* ::: Bezier curves. (line 67)
+* <: Arithmetic & logical.
+ (line 41)
+* <=: Arithmetic & logical.
+ (line 44)
+* == <1>: Arithmetic & logical.
+ (line 37)
+* ==: Structures. (line 52)
+* >: Arithmetic & logical.
+ (line 50)
+* >=: Arithmetic & logical.
+ (line 47)
+* ?: Arithmetic & logical.
+ (line 73)
+* ^: Arithmetic & logical.
+ (line 28)
+* ^=: Self & prefix operators.
+ (line 6)
+* ^^: Tutorial. (line 134)
+* a4: Configuring. (line 61)
+* abort: Data types. (line 339)
+* abs <1>: Mathematical functions.
+ (line 35)
+* abs: Data types. (line 62)
+* accel <1>: three. (line 507)
+* accel: Paths and guides. (line 115)
+* access: Import. (line 6)
+* acknowledgments: Credits. (line 6)
+* aCos: Mathematical functions.
+ (line 20)
+* acos: Mathematical functions.
+ (line 6)
+* acosh: Mathematical functions.
+ (line 6)
+* add <1>: three. (line 271)
+* add: Frames and pictures. (line 196)
+* addViews: three. (line 393)
+* adjust: Pens. (line 115)
+* Ai: Mathematical functions.
+ (line 48)
+* Ai_deriv: Mathematical functions.
+ (line 48)
+* Airy: Mathematical functions.
+ (line 48)
+* alias <1>: Arrays. (line 181)
+* alias: Structures. (line 52)
+* align: Options. (line 168)
+* Align: label. (line 12)
+* all: Arrays. (line 329)
+* Allow: Pens. (line 327)
+* AND: Arithmetic & logical.
+ (line 80)
+* and: Bezier curves. (line 56)
+* angle: Data types. (line 70)
+* animate <1>: animation. (line 12)
+* animate <2>: Files. (line 154)
+* animate: Configuring. (line 67)
+* animation: animation. (line 6)
+* annotate: annotate. (line 6)
+* antialias <1>: Options. (line 143)
+* antialias: three. (line 210)
+* antialiasing: Compiling from UNIX source.
+ (line 16)
+* append <1>: Arrays. (line 39)
+* append: Files. (line 36)
+* arc: three. (line 283)
+* Arc: Paths and guides. (line 32)
+* arc: Paths and guides. (line 22)
+* ArcArrow: draw. (line 26)
+* ArcArrow3: three. (line 548)
+* ArcArrows: draw. (line 26)
+* ArcArrows3: three. (line 548)
+* arclength <1>: three. (line 507)
+* arclength: Paths and guides. (line 142)
+* arcpoint: Paths and guides. (line 152)
+* arctime <1>: three. (line 507)
+* arctime: Paths and guides. (line 146)
+* arguments: Default arguments. (line 6)
+* arithmetic operators: Arithmetic & logical.
+ (line 6)
+* array: Arrays. (line 122)
+* array iteration: Programming. (line 33)
+* arrays: Arrays. (line 6)
+* arrow: label. (line 71)
+* Arrow: draw. (line 26)
+* arrow: Drawing commands. (line 31)
+* arrow keys: Tutorial. (line 37)
+* Arrow3: three. (line 548)
+* Arrows: draw. (line 26)
+* arrows: draw. (line 26)
+* Arrows3: three. (line 548)
+* as: Import. (line 68)
+* ascii: Data types. (line 286)
+* aSin: Mathematical functions.
+ (line 20)
+* asin: Mathematical functions.
+ (line 6)
+* asinh: Mathematical functions.
+ (line 6)
+* Aspect: Frames and pictures. (line 54)
+* assert: Data types. (line 344)
+* assignment: Programming. (line 8)
+* asy <1>: Import. (line 102)
+* asy: Data types. (line 334)
+* asy-mode: Editing modes. (line 6)
+* asy.vim: Editing modes. (line 33)
+* asyinclude: LaTeX usage. (line 46)
+* asymptote.sty: LaTeX usage. (line 6)
+* asymptote.xml: Editing modes. (line 49)
+* ASYMPTOTE_CONFIG: Options. (line 115)
+* aTan: Mathematical functions.
+ (line 20)
+* atan: Mathematical functions.
+ (line 6)
+* atan2: Mathematical functions.
+ (line 6)
+* atanh: Mathematical functions.
+ (line 6)
+* atleast: Bezier curves. (line 56)
+* attach <1>: graph. (line 415)
+* attach: LaTeX usage. (line 51)
+* autoadjust: three. (line 359)
+* autoimport: Options. (line 111)
+* automatic scaling: graph. (line 682)
+* axialshade: fill. (line 43)
+* axis <1>: graph3. (line 66)
+* axis: graph. (line 880)
+* azimuth: Data types. (line 126)
+* babel: babel. (line 6)
+* background color: Frames and pictures. (line 168)
+* BackView: three. (line 386)
+* Bar: draw. (line 19)
+* Bar3: three. (line 548)
+* Bars: draw. (line 19)
+* Bars3: three. (line 548)
+* barsize: draw. (line 19)
+* base modules: Base modules. (line 6)
+* basealign: Pens. (line 168)
+* baseline: label. (line 91)
+* batch mode: Tutorial. (line 6)
+* beep: Data types. (line 357)
+* BeginArcArrow: draw. (line 26)
+* BeginArcArrow3: three. (line 548)
+* BeginArrow: draw. (line 26)
+* BeginArrow3: three. (line 548)
+* BeginBar: draw. (line 19)
+* BeginBar3: three. (line 548)
+* BeginDotMargin: draw. (line 42)
+* BeginDotMargin3: three. (line 564)
+* BeginMargin: draw. (line 42)
+* BeginMargin3: three. (line 564)
+* BeginPenMargin: draw. (line 42)
+* BeginPenMargin2: three. (line 564)
+* BeginPenMargin3: three. (line 564)
+* BeginPoint: label. (line 56)
+* Bessel: Mathematical functions.
+ (line 48)
+* bevel: flowchart. (line 75)
+* beveljoin: Pens. (line 138)
+* Bezier curves: Bezier curves. (line 6)
+* bezulate: three. (line 104)
+* Bi: Mathematical functions.
+ (line 48)
+* Bi_deriv: Mathematical functions.
+ (line 48)
+* Billboard: three. (line 477)
+* binary: Files. (line 75)
+* binary format: Files. (line 75)
+* binary operators: Arithmetic & logical.
+ (line 6)
+* binarytree: binarytree. (line 6)
+* black stripes: three. (line 210)
+* Blank: draw. (line 26)
+* block.bottom: flowchart. (line 19)
+* block.bottomleft: flowchart. (line 19)
+* block.bottomright: flowchart. (line 19)
+* block.center: flowchart. (line 26)
+* block.draw: flowchart. (line 31)
+* block.left: flowchart. (line 19)
+* block.position: flowchart. (line 24)
+* block.right: flowchart. (line 19)
+* block.top: flowchart. (line 19)
+* block.topleft: flowchart. (line 19)
+* block.topright: flowchart. (line 19)
+* bool: Data types. (line 14)
+* bool3: Data types. (line 23)
+* boolean operators: Arithmetic & logical.
+ (line 6)
+* Bottom: graph. (line 134)
+* BottomTop: graph. (line 140)
+* BottomView: three. (line 386)
+* bounding box: Frames and pictures. (line 168)
+* Bounds: graph3. (line 20)
+* box <1>: three. (line 305)
+* box: Frames and pictures. (line 22)
+* bp: Tutorial. (line 26)
+* break: Programming. (line 29)
+* breakpoints: Debugger. (line 21)
+* brick: Pens. (line 251)
+* broken axis: graph. (line 783)
+* bug reports: Help. (line 23)
+* buildcycle: Paths and guides. (line 258)
+* Button-1: GUI. (line 6)
+* Button-2: GUI. (line 6)
+* BWRainbow: palette. (line 15)
+* BWRainbow2: palette. (line 18)
+* C string: Data types. (line 191)
+* CAD: CAD. (line 6)
+* calculateTransform: Frames and pictures. (line 107)
+* camera: three. (line 354)
+* casts: Casts. (line 6)
+* cbrt: Mathematical functions.
+ (line 6)
+* cd: Files. (line 25)
+* ceil: Mathematical functions.
+ (line 26)
+* center: three. (line 338)
+* Center: label. (line 61)
+* checker: Pens. (line 251)
+* Chinese: unicode. (line 12)
+* choose: Mathematical functions.
+ (line 39)
+* Ci: Mathematical functions.
+ (line 48)
+* circle <1>: flowchart. (line 64)
+* circle: three. (line 279)
+* Circle: Paths and guides. (line 17)
+* circle: Paths and guides. (line 10)
+* circlebarframe: markers. (line 18)
+* CJK: unicode. (line 12)
+* clamped: graph. (line 37)
+* clear <1>: Debugger. (line 23)
+* clear: Files. (line 92)
+* clip: fill. (line 111)
+* CLZ: Arithmetic & logical.
+ (line 80)
+* cm: Tutorial. (line 63)
+* cmd: Configuring. (line 34)
+* cmyk: Pens. (line 34)
+* colatitude: Data types. (line 131)
+* color: Pens. (line 23)
+* coloredNodes: tube. (line 25)
+* coloredpath: tube. (line 18)
+* coloredSegments: tube. (line 25)
+* colorless: Pens. (line 54)
+* colors: Pens. (line 51)
+* comma: Files. (line 61)
+* comma-separated-value mode: Arrays. (line 362)
+* command-line options <1>: Options. (line 6)
+* command-line options: Configuring. (line 83)
+* comment character: Files. (line 16)
+* compass directions: Tutorial. (line 106)
+* Compiling from UNIX source: Compiling from UNIX source.
+ (line 6)
+* complement: Arrays. (line 150)
+* concat: Arrays. (line 177)
+* conditional <1>: Arithmetic & logical.
+ (line 73)
+* conditional: Programming. (line 8)
+* config: Options. (line 115)
+* configuration file <1>: Options. (line 115)
+* configuration file: Configuring. (line 23)
+* configuring: Configuring. (line 6)
+* conj: Data types. (line 59)
+* constructors: Structures. (line 91)
+* context: Options. (line 143)
+* continue <1>: Debugger. (line 31)
+* continue: Programming. (line 29)
+* contour: contour. (line 9)
+* contour3: contour3. (line 6)
+* controls <1>: three. (line 6)
+* controls: Bezier curves. (line 45)
+* controlSpecifier: Paths and guides. (line 382)
+* convert <1>: Options. (line 143)
+* convert <2>: animation. (line 6)
+* convert <3>: Files. (line 154)
+* convert: Configuring. (line 67)
+* convertOptions: Options. (line 130)
+* Coons shading: fill. (line 74)
+* copy: Arrays. (line 174)
+* Cos: Mathematical functions.
+ (line 20)
+* cos: Mathematical functions.
+ (line 6)
+* cosh: Mathematical functions.
+ (line 6)
+* cputime: Structures. (line 169)
+* crop: graph. (line 636)
+* cropping graphs: graph. (line 636)
+* cross <1>: graph. (line 484)
+* cross: Data types. (line 169)
+* crossframe: markers. (line 23)
+* crosshatch: Pens. (line 267)
+* csv: Arrays. (line 362)
+* CTZ: Arithmetic & logical.
+ (line 80)
+* cubicroots: Arrays. (line 318)
+* curl <1>: three. (line 6)
+* curl: Bezier curves. (line 63)
+* curlSpecifier: Paths and guides. (line 394)
+* currentpen: Pens. (line 6)
+* currentprojection: three. (line 383)
+* curve: slopefield. (line 20)
+* custom axis types: graph. (line 144)
+* custom mark routine: graph. (line 576)
+* custom tick locations: graph. (line 249)
+* cut: Paths and guides. (line 240)
+* cycle <1>: three. (line 6)
+* cycle: Tutorial. (line 75)
+* cyclic <1>: three. (line 507)
+* cyclic <2>: Arrays. (line 39)
+* cyclic: Paths and guides. (line 74)
+* Cyrillic: unicode. (line 7)
+* dashdotted: Pens. (line 95)
+* dashed: Pens. (line 95)
+* data types: Data types. (line 6)
+* date: Data types. (line 298)
+* Debian: UNIX binary distributions.
+ (line 19)
+* debugger: Debugger. (line 6)
+* declaration: Programming. (line 8)
+* deconstruct: GUI usage. (line 6)
+* default arguments: Default arguments. (line 6)
+* defaultformat: graph. (line 175)
+* DefaultHead: draw. (line 26)
+* DefaultHead3: three. (line 548)
+* defaultpen: Pens. (line 46)
+* defaultrender: three. (line 47)
+* deferred drawing: simplex. (line 6)
+* Degrees: Mathematical functions.
+ (line 17)
+* degrees <1>: Mathematical functions.
+ (line 17)
+* degrees: Data types. (line 75)
+* delete <1>: Arrays. (line 39)
+* delete: Files. (line 149)
+* description: Description. (line 6)
+* diagonal: Arrays. (line 303)
+* diamond: flowchart. (line 57)
+* dimension: Arrays. (line 367)
+* dir <1>: three. (line 507)
+* dir <2>: Paths and guides. (line 98)
+* dir <3>: Data types. (line 87)
+* dir: Search paths. (line 10)
+* direction specifier: Bezier curves. (line 6)
+* directory: Files. (line 25)
+* dirSpecifier: Paths and guides. (line 376)
+* dirtime: Paths and guides. (line 155)
+* display: Configuring. (line 67)
+* do: Programming. (line 29)
+* DOSendl: Files. (line 61)
+* DOSnewl: Files. (line 61)
+* dot <1>: Arrays. (line 259)
+* dot <2>: Data types. (line 100)
+* dot: draw. (line 83)
+* DotMargin: draw. (line 42)
+* DotMargin3: three. (line 564)
+* DotMargins: draw. (line 42)
+* DotMargins3: three. (line 564)
+* dotted: Pens. (line 95)
+* double deferred drawing: three. (line 256)
+* double precision: Files. (line 75)
+* Draw: Frames and pictures. (line 147)
+* draw: draw. (line 110)
+* Draw: draw. (line 26)
+* draw: Drawing commands. (line 31)
+* drawing commands: Drawing commands. (line 6)
+* drawline: math. (line 9)
+* drawtree: drawtree. (line 9)
+* dvips: Configuring. (line 67)
+* dvipsOptions: Options. (line 130)
+* dvisvgm: Configuring. (line 67)
+* E <1>: Mathematical functions.
+ (line 48)
+* E: Tutorial. (line 106)
+* Editing modes: Editing modes. (line 6)
+* Ei: Mathematical functions.
+ (line 48)
+* ellipse <1>: Frames and pictures. (line 22)
+* ellipse: Paths and guides. (line 39)
+* elliptic functions: Mathematical functions.
+ (line 48)
+* else: Programming. (line 8)
+* emacs: Editing modes. (line 6)
+* embed: embed. (line 6)
+* Embedded: three. (line 477)
+* empty: Frames and pictures. (line 7)
+* EndArcArrow: draw. (line 26)
+* EndArcArrow3: three. (line 548)
+* EndArrow: draw. (line 26)
+* EndArrow3: three. (line 548)
+* EndBar: draw. (line 19)
+* EndBar3: three. (line 548)
+* EndDotMargin: draw. (line 42)
+* EndDotMargin3: three. (line 564)
+* endl: Files. (line 61)
+* EndMargin: draw. (line 42)
+* EndMargin3: three. (line 564)
+* EndPenMargin: draw. (line 42)
+* EndPenMargin2: three. (line 564)
+* EndPenMargin3: three. (line 564)
+* EndPoint: label. (line 56)
+* envelope: Frames and pictures. (line 22)
+* environment variables: Configuring. (line 87)
+* eof <1>: Arrays. (line 344)
+* eof: Files. (line 92)
+* eol <1>: Arrays. (line 344)
+* eol: Files. (line 92)
+* EPS <1>: Options. (line 143)
+* EPS: label. (line 79)
+* erase <1>: Frames and pictures. (line 7)
+* erase <2>: Data types. (line 241)
+* erase: Tutorial. (line 37)
+* erf: Mathematical functions.
+ (line 6)
+* erfc: Mathematical functions.
+ (line 6)
+* error: Files. (line 16)
+* error bars: graph. (line 532)
+* errorbars: graph. (line 484)
+* eval: Import. (line 98)
+* evenodd <1>: Pens. (line 152)
+* evenodd: Tutorial. (line 148)
+* exit <1>: Debugger. (line 57)
+* exit <2>: Interactive mode. (line 59)
+* exit: Data types. (line 348)
+* exp: Mathematical functions.
+ (line 6)
+* expi: Data types. (line 83)
+* explicit: Casts. (line 6)
+* explicit casts: Casts. (line 21)
+* expm1: Mathematical functions.
+ (line 6)
+* exponential integral: Mathematical functions.
+ (line 48)
+* extendcap: Pens. (line 129)
+* extension <1>: MetaPost. (line 10)
+* extension: Paths and guides. (line 235)
+* external: embed. (line 28)
+* extrude: three. (line 501)
+* F: Mathematical functions.
+ (line 48)
+* fabs: Mathematical functions.
+ (line 6)
+* face: three. (line 589)
+* factorial: Mathematical functions.
+ (line 39)
+* Fedora: UNIX binary distributions.
+ (line 15)
+* feynman: feynman. (line 6)
+* fft <1>: math. (line 26)
+* fft: Arrays. (line 246)
+* FFTW: Compiling from UNIX source.
+ (line 58)
+* file <1>: Debugger. (line 45)
+* file: Files. (line 6)
+* Fill: Frames and pictures. (line 133)
+* fill <1>: fill. (line 17)
+* fill: draw. (line 116)
+* Fill: draw. (line 26)
+* FillDraw: Frames and pictures. (line 123)
+* filldraw: fill. (line 11)
+* FillDraw: draw. (line 26)
+* filloutside: fill. (line 27)
+* fillrule: Pens. (line 152)
+* find <1>: Arrays. (line 159)
+* find: Data types. (line 226)
+* firstcut: Paths and guides. (line 250)
+* fit: Frames and pictures. (line 103)
+* fit3: three. (line 269)
+* fixedscaling: Frames and pictures. (line 74)
+* floor: Mathematical functions.
+ (line 26)
+* flowchart: flowchart. (line 6)
+* flush: Files. (line 61)
+* fmod: Mathematical functions.
+ (line 6)
+* font: Pens. (line 192)
+* font command: Pens. (line 192)
+* fontcommand: Pens. (line 207)
+* fontsize: Pens. (line 178)
+* for: Programming. (line 8)
+* format <1>: Options. (line 143)
+* format: Data types. (line 269)
+* forum: Help. (line 6)
+* frame: Frames and pictures. (line 7)
+* freeglut: Compiling from UNIX source.
+ (line 16)
+* from: Import. (line 17)
+* FrontView: three. (line 386)
+* function declarations: Functions. (line 67)
+* function shading: fill. (line 96)
+* Function shading: fill. (line 96)
+* functions <1>: Mathematical functions.
+ (line 6)
+* functions: Functions. (line 6)
+* functionshade: fill. (line 96)
+* gamma: Mathematical functions.
+ (line 6)
+* Gaussrand: Mathematical functions.
+ (line 39)
+* geometry: geometry. (line 6)
+* getc: Files. (line 30)
+* getpair: Files. (line 117)
+* getreal: Files. (line 117)
+* getstring: Files. (line 117)
+* gettriple: Files. (line 117)
+* glOptions <1>: Options. (line 130)
+* glOptions: three. (line 210)
+* GNU Scientific Library: Mathematical functions.
+ (line 48)
+* gouraudshade: fill. (line 58)
+* Gradient: palette. (line 25)
+* gradient shading: fill. (line 32)
+* graph: graph. (line 6)
+* graph3: graph3. (line 6)
+* graphic: label. (line 79)
+* graphical user interface: GUI. (line 6)
+* gray: Pens. (line 25)
+* Grayscale: palette. (line 9)
+* grayscale: Pens. (line 25)
+* grid <1>: graph. (line 734)
+* grid: Pens. (line 251)
+* grid3: grid3. (line 6)
+* gs: Configuring. (line 6)
+* gsl: Mathematical functions.
+ (line 48)
+* GSL: Compiling from UNIX source.
+ (line 58)
+* gsOptions: Options. (line 130)
+* GUI: GUI. (line 6)
+* GUI installation: GUI installation. (line 6)
+* GUI usage: GUI usage. (line 6)
+* guide: Paths and guides. (line 303)
+* guide3: three. (line 6)
+* hatch: Pens. (line 267)
+* height: LaTeX usage. (line 51)
+* help <1>: Debugger. (line 30)
+* help <2>: Help. (line 6)
+* help: Interactive mode. (line 44)
+* Hermite: graph. (line 37)
+* Hermite(splinetype splinetype: graph. (line 37)
+* hex <1>: Pens. (line 60)
+* hex: Data types. (line 283)
+* hexidecimal <1>: Pens. (line 59)
+* hexidecimal: Data types. (line 283)
+* hidden surface removal: three. (line 589)
+* histogram: Mathematical functions.
+ (line 39)
+* history <1>: Interactive mode. (line 59)
+* history: Files. (line 142)
+* historylines: Interactive mode. (line 64)
+* HookHead: draw. (line 26)
+* HookHead3: three. (line 548)
+* Horizontal: flowchart. (line 81)
+* hyperrefOptions: Options. (line 130)
+* hypot: Mathematical functions.
+ (line 6)
+* I: Mathematical functions.
+ (line 48)
+* i_scaled: Mathematical functions.
+ (line 48)
+* iconic: three. (line 210)
+* identity <1>: Arrays. (line 300)
+* identity <2>: Mathematical functions.
+ (line 6)
+* identity: Transforms. (line 24)
+* identity4: three. (line 437)
+* if: Programming. (line 8)
+* IgnoreAspect: Frames and pictures. (line 58)
+* image: palette. (line 34)
+* ImageMagick <1>: Options. (line 143)
+* ImageMagick <2>: animation. (line 6)
+* ImageMagick: Configuring. (line 67)
+* images: palette. (line 6)
+* implicit casts: Casts. (line 6)
+* implicit linear solver: MetaPost. (line 10)
+* implicit scaling: Implicit scaling. (line 6)
+* import: Import. (line 46)
+* inches: Tutorial. (line 63)
+* include: Import. (line 127)
+* including images: label. (line 79)
+* increasing: math. (line 59)
+* inf: Data types. (line 33)
+* inheritance: Structures. (line 181)
+* initialized: Arrays. (line 39)
+* initializers: Variable initializers.
+ (line 6)
+* inline: LaTeX usage. (line 51)
+* InOutTicks: graph3. (line 34)
+* input <1>: Interactive mode. (line 48)
+* input: Files. (line 10)
+* insert <1>: Arrays. (line 39)
+* insert: Data types. (line 237)
+* inside: Paths and guides. (line 282)
+* inst: Debugger. (line 36)
+* installation: Installation. (line 6)
+* int: Data types. (line 28)
+* integer division: Arithmetic & logical.
+ (line 6)
+* interactive mode: Interactive mode. (line 6)
+* interior: Paths and guides. (line 278)
+* international characters: unicode. (line 6)
+* interp: Arithmetic & logical.
+ (line 76)
+* interpolate: interpolate. (line 6)
+* intersect <1>: three. (line 507)
+* intersect <2>: math. (line 13)
+* intersect: Paths and guides. (line 184)
+* intersectionpoint <1>: three. (line 507)
+* intersectionpoint <2>: math. (line 17)
+* intersectionpoint: Paths and guides. (line 227)
+* intersectionpoints <1>: three. (line 507)
+* intersectionpoints: Paths and guides. (line 231)
+* intersections <1>: three. (line 507)
+* intersections: Paths and guides. (line 195)
+* InTicks: graph3. (line 34)
+* intMax: Data types. (line 28)
+* intMin: Data types. (line 28)
+* inverse <1>: Arrays. (line 306)
+* inverse: Transforms. (line 16)
+* invert: three. (line 427)
+* invisible: Pens. (line 39)
+* isnan: Data types. (line 33)
+* J: Mathematical functions.
+ (line 6)
+* Japanese: unicode. (line 12)
+* K: Mathematical functions.
+ (line 48)
+* k_scaled: Mathematical functions.
+ (line 48)
+* Kate: Editing modes. (line 49)
+* KDE editor: Editing modes. (line 49)
+* keepAspect <1>: LaTeX usage. (line 51)
+* keepAspect: Frames and pictures. (line 54)
+* keyboard bindings:: three. (line 169)
+* keys: Arrays. (line 39)
+* keyword: Named arguments. (line 37)
+* keyword-only: Named arguments. (line 37)
+* keywords: Named arguments. (line 6)
+* Korean: unicode. (line 12)
+* label: three. (line 471)
+* Label <1>: graph. (line 342)
+* Label: label. (line 14)
+* label: clip. (line 16)
+* Label: draw. (line 98)
+* labelpath: labelpath. (line 6)
+* labelpath3: labelpath3. (line 6)
+* labelx: graph. (line 342)
+* labely: graph. (line 342)
+* Landscape: Frames and pictures. (line 95)
+* lastcut: Paths and guides. (line 254)
+* lasy-mode: Editing modes. (line 6)
+* latex: Options. (line 143)
+* LaTeX fonts: Pens. (line 192)
+* LaTeX usage: LaTeX usage. (line 6)
+* latexmk: LaTeX usage. (line 30)
+* latin1: latin1. (line 6)
+* latitude: Data types. (line 136)
+* latticeshade: fill. (line 32)
+* layer: Drawing commands. (line 16)
+* leastsquares <1>: graph. (line 902)
+* leastsquares: stats. (line 6)
+* Left: graph. (line 284)
+* LeftRight: graph. (line 290)
+* LeftSide: label. (line 61)
+* LeftTicks: graph. (line 161)
+* LeftView: three. (line 386)
+* legend <1>: graph. (line 431)
+* legend <2>: draw. (line 64)
+* legend: Drawing commands. (line 31)
+* Legendre: Mathematical functions.
+ (line 48)
+* length <1>: three. (line 507)
+* length <2>: Arrays. (line 39)
+* length <3>: Paths and guides. (line 65)
+* length: Data types. (line 62)
+* letter: Configuring. (line 61)
+* lexorder: math. (line 68)
+* libm routines: Mathematical functions.
+ (line 6)
+* libsigsegv <1>: Help. (line 33)
+* libsigsegv: Functions. (line 88)
+* limits: graph. (line 636)
+* line: Arrays. (line 344)
+* line mode: Arrays. (line 344)
+* Linear: graph. (line 682)
+* linecap: Pens. (line 129)
+* linejoin: Pens. (line 138)
+* lineskip: Pens. (line 178)
+* linetype: Pens. (line 115)
+* linewidth: Pens. (line 119)
+* locale: Data types. (line 293)
+* Log: graph. (line 682)
+* log: Mathematical functions.
+ (line 6)
+* log-log graph: graph. (line 713)
+* log10: Mathematical functions.
+ (line 6)
+* log1p: Mathematical functions.
+ (line 6)
+* log2 graph: graph. (line 763)
+* logarithmic graph: graph. (line 713)
+* logical operators: Arithmetic & logical.
+ (line 6)
+* longdashdotted: Pens. (line 95)
+* longdashed: Pens. (line 95)
+* longitude: Data types. (line 141)
+* loop: Programming. (line 8)
+* MacOS X binary distributions: MacOS X binary distributions.
+ (line 6)
+* makepen: Pens. (line 300)
+* map: Arrays. (line 141)
+* Margin: draw. (line 42)
+* Margin3: three. (line 564)
+* margins: three. (line 262)
+* Margins: draw. (line 42)
+* Margins3: three. (line 564)
+* mark: graph. (line 484)
+* markangle: markers. (line 38)
+* marker: graph. (line 484)
+* markers: markers. (line 6)
+* marknodes: graph. (line 484)
+* markuniform: graph. (line 484)
+* mask: Data types. (line 33)
+* math: math. (line 6)
+* mathematical functions: Mathematical functions.
+ (line 6)
+* max <1>: three. (line 507)
+* max <2>: Arrays. (line 225)
+* max <3>: Frames and pictures. (line 7)
+* max: Paths and guides. (line 267)
+* maxbound: Data types. (line 106)
+* maxtile: three. (line 210)
+* maxtimes: Paths and guides. (line 222)
+* maxviewport: three. (line 210)
+* MetaPost: MetaPost. (line 6)
+* MetaPost ... : Bezier curves. (line 67)
+* MetaPost cutafter: Paths and guides. (line 255)
+* MetaPost cutbefore: Paths and guides. (line 251)
+* MetaPost pickup: Pens. (line 6)
+* MetaPost whatever: MetaPost. (line 10)
+* Microsoft Windows: Microsoft Windows. (line 6)
+* MidArcArrow: draw. (line 26)
+* MidArcArrow3: three. (line 548)
+* MidArrow: draw. (line 26)
+* MidArrow3: three. (line 548)
+* midpoint: Paths and guides. (line 169)
+* MidPoint: label. (line 56)
+* min <1>: three. (line 507)
+* min <2>: Arrays. (line 218)
+* min <3>: Frames and pictures. (line 7)
+* min: Paths and guides. (line 263)
+* minbound: Data types. (line 103)
+* minipage: label. (line 118)
+* mintimes: Paths and guides. (line 217)
+* miterjoin: Pens. (line 138)
+* miterlimit: Pens. (line 147)
+* mktemp: Files. (line 44)
+* mm: Tutorial. (line 63)
+* mode: Files. (line 75)
+* monotonic: graph. (line 37)
+* mouse: GUI. (line 6)
+* mouse bindings: three. (line 137)
+* Move: Pens. (line 339)
+* MoveQuiet: Pens. (line 345)
+* multisample: three. (line 127)
+* multisampling: Compiling from UNIX source.
+ (line 16)
+* N: Tutorial. (line 106)
+* name: Files. (line 88)
+* named arguments: Named arguments. (line 6)
+* natural: graph. (line 37)
+* new <1>: Arrays. (line 109)
+* new: Structures. (line 6)
+* newframe: Frames and pictures. (line 7)
+* newl: Files. (line 61)
+* newton: Mathematical functions.
+ (line 66)
+* next: Debugger. (line 42)
+* NFSS: Pens. (line 192)
+* nobasealign: Pens. (line 168)
+* NoFill <1>: Frames and pictures. (line 141)
+* NoFill: draw. (line 26)
+* NoMargin: draw. (line 42)
+* NoMargin3: three. (line 564)
+* none: Files. (line 61)
+* None: draw. (line 19)
+* normal: three. (line 493)
+* nosafe: Options. (line 163)
+* NOT: Arithmetic & logical.
+ (line 80)
+* notaknot: graph. (line 37)
+* NoTicks: graph. (line 161)
+* NoTicks3: graph3. (line 34)
+* null: Structures. (line 6)
+* nullpen <1>: Frames and pictures. (line 127)
+* nullpen: label. (line 14)
+* NURBS: three. (line 363)
+* O: three. (line 274)
+* obj: obj. (line 9)
+* oblique: three. (line 319)
+* obliqueX: three. (line 327)
+* obliqueY: three. (line 334)
+* obliqueZ: three. (line 319)
+* ode: ode. (line 9)
+* offset <1>: Options. (line 168)
+* offset: Pens. (line 115)
+* OmitTick: graph. (line 239)
+* OmitTickInterval: graph. (line 239)
+* OmitTickIntervals: graph. (line 239)
+* opacity: Pens. (line 222)
+* open: Files. (line 12)
+* OpenGL: three. (line 127)
+* operator: User-defined operators.
+ (line 6)
+* operator --: graph. (line 31)
+* operator ..: graph. (line 34)
+* operator answer: Interactive mode. (line 37)
+* operator cast: Casts. (line 30)
+* operator ecast: Casts. (line 57)
+* operator init <1>: Structures. (line 134)
+* operator init: Variable initializers.
+ (line 6)
+* operators: Operators. (line 6)
+* options: Options. (line 6)
+* OR: Arithmetic & logical.
+ (line 80)
+* orientation: Frames and pictures. (line 95)
+* orthographic: three. (line 338)
+* outformat: three. (line 127)
+* outprefix: Frames and pictures. (line 83)
+* output <1>: Options. (line 143)
+* output: Files. (line 36)
+* OutTicks: graph3. (line 34)
+* overloading functions: Functions. (line 44)
+* overwrite: Pens. (line 324)
+* P: Mathematical functions.
+ (line 48)
+* pack: label. (line 101)
+* packing: Rest arguments. (line 30)
+* pair <1>: Data types. (line 43)
+* pair: Tutorial. (line 51)
+* pairs: Arrays. (line 242)
+* paperheight: Configuring. (line 61)
+* papertype: Configuring. (line 61)
+* paperwidth: Configuring. (line 61)
+* parallelogram: flowchart. (line 50)
+* parametric surface: graph3. (line 100)
+* parametrized curve: graph. (line 636)
+* partialsum: math. (line 53)
+* patch-dependent colors: three. (line 81)
+* path <1>: flowchart. (line 81)
+* path <2>: three. (line 43)
+* path: Paths and guides. (line 7)
+* path markers: graph. (line 484)
+* path3: three. (line 6)
+* path[]: Tutorial. (line 134)
+* patterns <1>: patterns. (line 6)
+* patterns: Pens. (line 238)
+* PDF: Options. (line 143)
+* pdflatex: Options. (line 143)
+* pdfviewer: Configuring. (line 6)
+* pdfviewerOptions: Options. (line 130)
+* pen: Pens. (line 6)
+* PenMargin: draw. (line 42)
+* PenMargin2: three. (line 564)
+* PenMargin3: three. (line 564)
+* PenMargins: draw. (line 42)
+* PenMargins2: three. (line 564)
+* PenMargins3: three. (line 564)
+* periodic: graph. (line 37)
+* perl: LaTeX usage. (line 30)
+* perpendicular: geometry. (line 6)
+* perspective: three. (line 363)
+* picture: Frames and pictures. (line 35)
+* picture alignment: Frames and pictures. (line 209)
+* piecewisestraight: Paths and guides. (line 81)
+* pixel: three. (line 571)
+* Pl: Mathematical functions.
+ (line 48)
+* plain: plain. (line 6)
+* planar: three. (line 89)
+* plane: three. (line 301)
+* planeproject: three. (line 490)
+* point <1>: three. (line 507)
+* point: Paths and guides. (line 84)
+* polar: Data types. (line 121)
+* polargraph: graph. (line 90)
+* polygon: graph. (line 484)
+* pop: Arrays. (line 39)
+* Portrait: Frames and pictures. (line 95)
+* postcontrol <1>: three. (line 507)
+* postcontrol: Paths and guides. (line 135)
+* postfix operators: Self & prefix operators.
+ (line 19)
+* postscript: Frames and pictures. (line 271)
+* PostScript fonts: Pens. (line 210)
+* PostScript subpath: Tutorial. (line 134)
+* pow10: Mathematical functions.
+ (line 6)
+* prc: three. (line 231)
+* precision: Files. (line 92)
+* precontrol <1>: three. (line 507)
+* precontrol: Paths and guides. (line 128)
+* prefix operators: Self & prefix operators.
+ (line 6)
+* private: Structures. (line 6)
+* programming: Programming. (line 6)
+* pstoedit: PostScript to Asymptote.
+ (line 6)
+* psview: Microsoft Windows. (line 16)
+* psviewer: Configuring. (line 6)
+* psviewerOptions: Options. (line 130)
+* pt: Tutorial. (line 63)
+* public: Structures. (line 6)
+* push: Arrays. (line 39)
+* Python usage: Interactive mode. (line 80)
+* quadraticroots: Arrays. (line 309)
+* quarticroots: math. (line 22)
+* quick reference: Description. (line 80)
+* quit <1>: Debugger. (line 54)
+* quit <2>: Interactive mode. (line 59)
+* quit: Tutorial. (line 37)
+* quote: Import. (line 116)
+* quotient: Arithmetic & logical.
+ (line 6)
+* RadialShade: Frames and pictures. (line 159)
+* radialshade: fill. (line 49)
+* RadialShadeDraw: Frames and pictures. (line 163)
+* radians: Mathematical functions.
+ (line 17)
+* radius <1>: three. (line 507)
+* radius: Paths and guides. (line 124)
+* Rainbow: palette. (line 12)
+* rand: Mathematical functions.
+ (line 39)
+* randMax: Mathematical functions.
+ (line 39)
+* read: Arrays. (line 385)
+* reading: Files. (line 12)
+* reading string arrays: Arrays. (line 354)
+* readline: Files. (line 134)
+* real: Data types. (line 33)
+* realDigits: Data types. (line 33)
+* realEpsilon: Data types. (line 33)
+* realMax: Data types. (line 33)
+* realMin: Data types. (line 33)
+* realmult: Data types. (line 97)
+* rectangle: flowchart. (line 37)
+* recursion: Functions. (line 88)
+* reference: Description. (line 80)
+* reflect: Transforms. (line 51)
+* Relative: label. (line 51)
+* relpoint: Paths and guides. (line 165)
+* reltime: Paths and guides. (line 161)
+* remainder: Mathematical functions.
+ (line 6)
+* rename: Files. (line 151)
+* render <1>: Options. (line 143)
+* render: three. (line 47)
+* replace: Data types. (line 254)
+* resetdefaultpen: Pens. (line 353)
+* rest arguments: Rest arguments. (line 6)
+* restore: Frames and pictures. (line 265)
+* restricted: Structures. (line 6)
+* return: Debugger. (line 48)
+* reverse <1>: three. (line 507)
+* reverse <2>: Arrays. (line 146)
+* reverse <3>: Paths and guides. (line 172)
+* reverse: Data types. (line 250)
+* rewind: Files. (line 92)
+* rfind: Data types. (line 231)
+* rgb: Pens. (line 30)
+* Riemann zeta function: Mathematical functions.
+ (line 48)
+* Right: graph. (line 287)
+* RightSide: label. (line 61)
+* RightTicks: graph. (line 161)
+* RightView: three. (line 386)
+* rotate: three. (line 458)
+* Rotate: label. (line 36)
+* Rotate(pair z): label. (line 39)
+* round: Mathematical functions.
+ (line 26)
+* roundcap: Pens. (line 129)
+* roundedpath: roundedpath. (line 6)
+* roundjoin: Pens. (line 138)
+* roundrectangle: flowchart. (line 69)
+* RPM: UNIX binary distributions.
+ (line 6)
+* runtime imports: Import. (line 98)
+* Russian: unicode. (line 7)
+* S: Tutorial. (line 106)
+* safe: Options. (line 163)
+* save: Frames and pictures. (line 262)
+* saveline: Files. (line 134)
+* scale: three. (line 457)
+* Scale: graph. (line 698)
+* scale <1>: graph. (line 682)
+* scale <2>: Transforms. (line 39)
+* scale: Pens. (line 115)
+* Scale: label. (line 45)
+* scale3: three. (line 454)
+* scaled graph: graph. (line 663)
+* scientific graph: graph. (line 396)
+* scroll: Files. (line 108)
+* search: Arrays. (line 164)
+* search paths: Search paths. (line 6)
+* Seascape: Frames and pictures. (line 100)
+* secondary axis: graph. (line 813)
+* secondaryX: graph. (line 813)
+* secondaryY: graph. (line 813)
+* seconds: Data types. (line 306)
+* seek: Files. (line 92)
+* seekeof: Files. (line 92)
+* segment: math. (line 50)
+* segmentation fault: Help. (line 33)
+* self operators: Self & prefix operators.
+ (line 6)
+* sequence: Arrays. (line 128)
+* settings <1>: Options. (line 115)
+* settings: Configuring. (line 23)
+* sgn: Mathematical functions.
+ (line 26)
+* shading: fill. (line 32)
+* shift <1>: three. (line 442)
+* shift: Transforms. (line 27)
+* Shift: label. (line 33)
+* shiftless: Transforms. (line 53)
+* shipout: Frames and pictures. (line 83)
+* showtarget: three. (line 338)
+* Si: Mathematical functions.
+ (line 48)
+* signedint: Files. (line 75)
+* SimpleHead: draw. (line 26)
+* simplex: simplex. (line 6)
+* simpson: Mathematical functions.
+ (line 82)
+* Sin: Mathematical functions.
+ (line 20)
+* sin: Mathematical functions.
+ (line 6)
+* single precision: Files. (line 75)
+* singleint: Files. (line 75)
+* singlereal: Files. (line 75)
+* sinh: Mathematical functions.
+ (line 6)
+* SixViews: three. (line 401)
+* SixViewsFR: three. (line 401)
+* SixViewsUS: three. (line 401)
+* size <1>: Options. (line 143)
+* size <2>: three. (line 507)
+* size <3>: Frames and pictures. (line 43)
+* size: Paths and guides. (line 70)
+* size3: three. (line 259)
+* slant: Transforms. (line 45)
+* Slant: label. (line 42)
+* sleep: Data types. (line 351)
+* slice: Paths and guides. (line 240)
+* slices: Slices. (line 6)
+* slide: slide. (line 6)
+* slope: math. (line 44)
+* slopefield: slopefield. (line 6)
+* sndncn: Mathematical functions.
+ (line 48)
+* solid: Pens. (line 95)
+* solids: solids. (line 9)
+* solve: Arrays. (line 278)
+* sort: Arrays. (line 184)
+* Spline <1>: graph3. (line 100)
+* Spline: graph. (line 34)
+* split: Data types. (line 263)
+* sqrt: Mathematical functions.
+ (line 6)
+* squarecap: Pens. (line 129)
+* srand: Mathematical functions.
+ (line 39)
+* stack overflow <1>: Help. (line 33)
+* stack overflow: Functions. (line 88)
+* static: Static. (line 6)
+* stats: stats. (line 6)
+* stdin: Files. (line 48)
+* stdout: Files. (line 48)
+* step: Debugger. (line 39)
+* stickframe: markers. (line 16)
+* stop: Debugger. (line 10)
+* straight: three. (line 507)
+* Straight: graph. (line 31)
+* straight: Paths and guides. (line 77)
+* strftime: Data types. (line 298)
+* string: Data types. (line 181)
+* stroke: fill. (line 36)
+* strokepath: Paths and guides. (line 297)
+* strptime: Data types. (line 306)
+* struct: Structures. (line 6)
+* structures: Structures. (line 6)
+* subpath <1>: three. (line 507)
+* subpath: Paths and guides. (line 175)
+* subpictures: Frames and pictures. (line 103)
+* substr: Data types. (line 246)
+* Subversion: Subversion. (line 6)
+* sum: Arrays. (line 213)
+* superpath: Tutorial. (line 134)
+* Suppress: Pens. (line 331)
+* SuppressQuiet: Pens. (line 335)
+* surface <1>: graph3. (line 100)
+* surface: three. (line 47)
+* SVG: Options. (line 143)
+* SVN: Subversion. (line 6)
+* system <1>: Options. (line 163)
+* system: Data types. (line 328)
+* syzygy: syzygy. (line 6)
+* tab: Files. (line 61)
+* tab completion: Tutorial. (line 37)
+* Tan: Mathematical functions.
+ (line 20)
+* tan: Mathematical functions.
+ (line 6)
+* tanh: Mathematical functions.
+ (line 6)
+* target: three. (line 338)
+* tell: Files. (line 92)
+* tension <1>: three. (line 6)
+* tension: Bezier curves. (line 56)
+* tensionSpecifier: Paths and guides. (line 388)
+* tensor product shading: fill. (line 74)
+* tensorshade: fill. (line 74)
+* tex <1>: Options. (line 143)
+* tex: Frames and pictures. (line 278)
+* TeX fonts: Pens. (line 201)
+* TeX string: Data types. (line 181)
+* texcommand: Configuring. (line 67)
+* TeXHead: draw. (line 26)
+* TeXHead3: three. (line 548)
+* texpath <1>: label. (line 115)
+* texpath: Configuring. (line 67)
+* texpreamble: Frames and pictures. (line 286)
+* texreset: Frames and pictures. (line 289)
+* textbook graph: graph. (line 371)
+* tgz: UNIX binary distributions.
+ (line 6)
+* thick: three. (line 110)
+* thin: three. (line 110)
+* this: Structures. (line 6)
+* three: three. (line 6)
+* ThreeViews: three. (line 401)
+* ThreeViewsFR: three. (line 401)
+* ThreeViewsUS: three. (line 401)
+* tick: graph. (line 342)
+* Ticks: graph. (line 161)
+* ticks: graph. (line 161)
+* tildeframe: markers. (line 26)
+* tile: Pens. (line 251)
+* tilings: Pens. (line 238)
+* time <1>: math. (line 30)
+* time: Data types. (line 298)
+* times: Paths and guides. (line 209)
+* Top: graph. (line 137)
+* TopView: three. (line 386)
+* trace: Debugger. (line 51)
+* trailingzero: graph. (line 175)
+* transform <1>: three. (line 482)
+* transform: Transforms. (line 6)
+* transform3: three. (line 437)
+* transparency: Pens. (line 222)
+* transpose: Arrays. (line 205)
+* tree: tree. (line 9)
+* trembling: trembling. (line 6)
+* triangle: geometry. (line 6)
+* triangulate: contour. (line 157)
+* tridiagonal: Arrays. (line 266)
+* trigonometric integrals: Mathematical functions.
+ (line 48)
+* triple: Data types. (line 110)
+* TrueMargin: draw. (line 42)
+* TrueMargin3: three. (line 564)
+* tube <1>: tube. (line 6)
+* tube: three. (line 110)
+* tutorial: Tutorial. (line 6)
+* type1cm: Pens. (line 178)
+* typedef <1>: Functions. (line 36)
+* typedef: Data types. (line 361)
+* U3D: embed. (line 38)
+* undefined: Paths and guides. (line 271)
+* UnFill: Frames and pictures. (line 152)
+* unfill: fill. (line 106)
+* UnFill: draw. (line 26)
+* unicode: unicode. (line 6)
+* uniform: Arrays. (line 155)
+* Uninstall: Uninstall. (line 6)
+* unique: math. (line 64)
+* unit: Data types. (line 80)
+* unitbox <1>: three. (line 307)
+* unitbox: Tutorial. (line 155)
+* unitcircle <1>: three. (line 274)
+* unitcircle: Tutorial. (line 128)
+* unitrand: Mathematical functions.
+ (line 39)
+* unitsize <1>: Frames and pictures. (line 64)
+* unitsize: Tutorial. (line 86)
+* UNIX binary distributions: UNIX binary distributions.
+ (line 6)
+* unpacking: Rest arguments. (line 39)
+* unravel: Import. (line 30)
+* up: three. (line 338)
+* update: Files. (line 36)
+* UpsideDown: Frames and pictures. (line 95)
+* usepackage: Frames and pictures. (line 291)
+* user coordinates: Tutorial. (line 86)
+* user-defined operators: User-defined operators.
+ (line 6)
+* usleep: Data types. (line 354)
+* value: math. (line 38)
+* var: Variable initializers.
+ (line 63)
+* variable initializers: Variable initializers.
+ (line 6)
+* vectorfield: graph. (line 975)
+* vectorfield3: graph3. (line 159)
+* vectorization: Arrays. (line 323)
+* verbatim: Frames and pictures. (line 271)
+* vertex-dependent colors: three. (line 81)
+* Vertical: flowchart. (line 81)
+* viewportheight: LaTeX usage. (line 51)
+* viewportmargin: three. (line 262)
+* viewportsize: three. (line 262)
+* viewportwidth: LaTeX usage. (line 51)
+* views: three. (line 231)
+* vim: Editing modes. (line 33)
+* virtual functions: Structures. (line 181)
+* void: Data types. (line 10)
+* W: Tutorial. (line 106)
+* whatever: Paths and guides. (line 235)
+* Wheel: palette. (line 22)
+* wheel mouse: GUI. (line 6)
+* while: Programming. (line 29)
+* white-space string delimiter mode: Arrays. (line 354)
+* width: LaTeX usage. (line 51)
+* windingnumber: Paths and guides. (line 271)
+* word: Arrays. (line 354)
+* write <1>: Arrays. (line 394)
+* write: Files. (line 53)
+* X: three. (line 274)
+* xasy: GUI. (line 6)
+* xaxis3: graph3. (line 7)
+* xdr: Files. (line 75)
+* xelatex <1>: Options. (line 143)
+* xelatex: embed. (line 10)
+* xequals: graph. (line 294)
+* XEquals: graph. (line 280)
+* xlimits: graph. (line 636)
+* XOR: Arithmetic & logical.
+ (line 80)
+* xpart: Data types. (line 91)
+* xscale: Transforms. (line 33)
+* xscale3: three. (line 445)
+* xtick: graph. (line 342)
+* XY: three. (line 467)
+* XYEquals: graph3. (line 20)
+* XYZero: graph3. (line 20)
+* XZEquals: graph3. (line 20)
+* XZero: graph. (line 275)
+* XZZero: graph3. (line 20)
+* Y <1>: three. (line 274)
+* Y: Mathematical functions.
+ (line 6)
+* yaxis3: graph3. (line 7)
+* yequals: graph. (line 294)
+* YEquals: graph. (line 130)
+* ylimits: graph. (line 636)
+* ypart: Data types. (line 94)
+* yscale: Transforms. (line 36)
+* yscale3: three. (line 448)
+* ytick: graph. (line 342)
+* YX: three. (line 482)
+* YZ: three. (line 482)
+* YZEquals: graph3. (line 20)
+* YZero: graph. (line 125)
+* YZZero: graph3. (line 20)
+* Z: three. (line 274)
+* zaxis3: graph3. (line 7)
+* zero_Ai: Mathematical functions.
+ (line 48)
+* zero_Ai_deriv: Mathematical functions.
+ (line 48)
+* zero_Bi: Mathematical functions.
+ (line 48)
+* zero_Bi_deriv: Mathematical functions.
+ (line 48)
+* zero_J: Mathematical functions.
+ (line 48)
+* zerowinding: Pens. (line 152)
+* zeta: Mathematical functions.
+ (line 48)
+* zpart: Data types. (line 163)
+* zscale3: three. (line 451)
+* ZX: three. (line 482)
+* ZY: three. (line 482)
+* |: Arithmetic & logical.
+ (line 62)
+* ||: Arithmetic & logical.
+ (line 59)
+
+
+
+Tag Table:
+Node: Top575
+Node: Description6834
+Node: Installation10450
+Node: UNIX binary distributions11503
+Node: MacOS X binary distributions12609
+Node: Microsoft Windows13493
+Ref: psview14203
+Node: Configuring15135
+Node: Search paths19349
+Node: Compiling from UNIX source20191
+Ref: multisampling20781
+Node: Editing modes23176
+Node: Subversion25608
+Node: Uninstall26071
+Node: Tutorial26421
+Ref: unitcircle30719
+Node: Drawing commands32655
+Node: draw34366
+Ref: arrows35514
+Node: fill40757
+Ref: gradient shading41801
+Node: clip46029
+Node: label46621
+Ref: Label47219
+Node: Bezier curves53022
+Node: Programming56599
+Ref: array iteration57413
+Node: Data types58494
+Ref: format67691
+Node: Paths and guides71944
+Ref: circle72198
+Ref: extension81622
+Node: Pens88305
+Ref: fillrule95673
+Ref: basealign96570
+Ref: transparency99396
+Ref: makepen102839
+Ref: overwrite103677
+Node: Transforms104887
+Node: Frames and pictures106678
+Ref: envelope107819
+Ref: size108902
+Ref: unitsize109889
+Ref: shipout110949
+Ref: filltype113282
+Ref: add116419
+Ref: add about117365
+Ref: tex120303
+Node: Files121177
+Ref: cd122160
+Ref: scroll126834
+Node: Variable initializers129749
+Node: Structures132474
+Node: Operators139918
+Node: Arithmetic & logical140232
+Node: Self & prefix operators142205
+Node: User-defined operators142993
+Node: Implicit scaling143904
+Node: Functions144467
+Ref: stack overflow147220
+Node: Default arguments147784
+Node: Named arguments148523
+Node: Rest arguments151094
+Node: Mathematical functions154215
+Node: Arrays158880
+Ref: sort165869
+Ref: tridiagonal168273
+Ref: solve169501
+Node: Slices173694
+Node: Casts177584
+Node: Import179549
+Node: Static184786
+Node: LaTeX usage187680
+Node: Base modules194092
+Node: plain196592
+Node: simplex197244
+Node: math197517
+Node: interpolate200222
+Node: geometry200501
+Node: trembling201095
+Node: stats201446
+Node: patterns201706
+Node: markers201942
+Node: tree203725
+Node: binarytree203913
+Node: drawtree204502
+Node: syzygy204706
+Node: feynman204980
+Node: roundedpath205255
+Node: animation205538
+Ref: animate205958
+Node: embed207097
+Node: slide208700
+Node: MetaPost209040
+Node: unicode209756
+Node: latin1210644
+Node: babel211012
+Node: labelpath211241
+Node: labelpath3212061
+Node: annotate212372
+Node: CAD212843
+Node: graph213153
+Ref: ticks220282
+Ref: pathmarkers233576
+Ref: marker234041
+Ref: markuniform234392
+Ref: errorbars236183
+Ref: automatic scaling240239
+Node: palette250885
+Ref: images251003
+Ref: image255175
+Ref: logimage255653
+Ref: penimage256714
+Ref: penfunctionimage256935
+Node: three257659
+Ref: PostScript3D282639
+Node: obj284331
+Node: graph3284583
+Ref: GaussianSurface289708
+Node: grid3290812
+Node: solids291552
+Node: tube292500
+Node: flowchart294735
+Node: contour299304
+Node: contour3304429
+Node: slopefield304736
+Node: ode306173
+Node: Options306433
+Ref: configuration file312421
+Ref: settings312421
+Ref: convert313622
+Node: Interactive mode316589
+Ref: history318742
+Node: GUI320047
+Node: GUI installation320550
+Node: GUI usage321680
+Node: PostScript to Asymptote322583
+Node: Help323339
+Node: Debugger325075
+Node: Credits326860
+Node: Index327792
+
+End Tag Table
diff --git a/Master/texmf-dist/doc/info/dir b/Master/texmf-dist/doc/info/dir
new file mode 100644
index 00000000000..9132b9981a3
--- /dev/null
+++ b/Master/texmf-dist/doc/info/dir
@@ -0,0 +1,69 @@
+This is the file .../info/dir, which contains the
+topmost node of the Info hierarchy, called (dir)Top.
+The first time you invoke Info you start off looking at this node.
+
+File: dir, Node: Top This is the top of the INFO tree
+
+ This (the Directory node) gives a menu of major topics.
+ Typing "q" exits, "?" lists all Info commands, "d" returns here,
+ "h" gives a primer for first-timers,
+ "mEmacs<Return>" visits the Emacs manual, etc.
+
+ In Emacs, you can click mouse button 2 on a menu item or cross reference
+ to select it.
+
+* Menu:
+
+Science
+* Asymptote: (asymptote). Vector graphics language.
+* Asymptote FAQ: (asy-faq). FAQ for Asymptote.
+
+TeX
+* Dvipng: (dvipng). DVI to Portable Network Graphics (PNG).
+* Dvips: (dvips). Translating TeX DVI files to PostScript.
+* Eplain: (eplain). Expanding on plain TeX.
+* EpsPDF: (epspdf). Portable GUI&cmdline EPS/PS/PDF conversion.
+* Kpathsea: (kpathsea). File lookup along search paths.
+* LaTeX2e: (latex2e). LaTeX2e unofficial reference manual.
+* LaTeX2e-es: (latex2e-es). Spanish translation of LaTeX2e.
+* Mf2pt1: (mf2pt1). Make PostScript Type 1 fonts from Metafont.
+* 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.
+
+Individual utilities
+* afm2tfm: (dvips)Invoking afm2tfm. Adobe to TeX font metrics.
+* bibtex: (web2c)bibtex invocation. Managing 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.
+* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching.
+* latex2man: (latex2man)Top. Convert man pages in LaTeX.
+* 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-dist/doc/info/dvipng.info b/Master/texmf-dist/doc/info/dvipng.info
new file mode 100644
index 00000000000..62d070278ad
--- /dev/null
+++ b/Master/texmf-dist/doc/info/dvipng.info
@@ -0,0 +1,1211 @@
+This is dvipng.info, produced by makeinfo version 4.13 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.14
+
+ 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
+* Graphics:: Including PostScript and/or bitmaps
+* Color:: Using color with dvipng
+* Diagnosing problems:: Problems?
+* Credits:: People who have contributed
+* Copying:: GNU Lesser General Public License
+* 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://www.gnu.org/software/auctex/preview-latex.html'.
+
+ 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'.
+
+ A more recent addition to the dvipng-using applications out there is
+MediaWiki, the software behind Wikipedia and many other wikis out
+there. Dvipng is used to render mathematical formulae from version
+1.8.0 of MediaWiki, see `http://www.mediawiki.org'.
+
+ 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, which
+ makes it 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
+ end-of-file 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, subfonts
+ (i.e., as used in CJK-LaTeX), color specials, and inclusion of
+ PostScript, PNG, JPEG or GIF images.
+
+ * 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.
+
+ * The font-rendering library FreeType 2
+
+ While not strictly necessary, a recent FreeType 2 is recommended
+ since dvipng currently will produce better-quality images when
+ this library is available. To take advantage of this, you should
+ have at least FreeType 2.1.9.
+
+ FreeType 2 will enable direct support for PostScript and TrueType
+ fonts, so that dvipng will not need to generate bitmapped variants
+ on disk of the TeX fonts since modern TeX distributions include
+ PostScript versions of them. Then, you can render images at
+ different (and unusual) resolutions without cluttering the disk
+ with lots of bitmapped fonts.
+
+ Finally, it will enable subfont support in dvipng. That is, if you
+ want to render CJK-LaTeX characters, you must have FreeType 2
+ installed.
+
+ * The font-rendering library T1lib
+
+ An alternative to FreeType 2 is T1lib, but this will enable only
+ PostScript fonts in dvipng and will not include subfont support.
+ Also here, 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.)
+
+ 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' and `MANPATH' variables 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, dvipng
+will use bitmapped (PK) fonts, and if you use PK 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: Graphics, 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.14 Copyright 2002-2010 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
+ -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
+ -T c Image size (also accepts '-T bbox' and '-T tight')
+ -v* Verbose operation
+ - 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)
+ -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* Wait for data at end-of-file
+ --freetype* FreeType font rendering (preferred, default on)
+ --gamma # Control color interpolation
+ --gif Output GIF images (dvigif default)
+ --height* Output the image height on stdout
+ --nogs* Don't use ghostscript for PostScript specials
+ --nogssafer* Don't use -dSAFER in ghostscript calls
+ --norawps* Don't convert raw PostScript specials
+ --palette* Force palette output
+ --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)
+ --width* Output the image width on stdout
+ -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'
+ This option only has an effect when using bitmapped (PK) fonts. The
+ option sets 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 with the
+ `active' option. It reports the number of pixels from the bottom
+ of the image to the baseline of the image. This can be used for
+ vertical positioning of the image in, e.g., web documents, where
+ one would use (Cascading StyleSheets 1)
+ <IMG SRC="FILENAME.PNG" STYLE="vertical-align: -DEPTHpx">
+ The depth is a negative offset in this case, so the minus sign is
+ necessary, and the unit is pixels (px).
+
+`--dvinum*'
+ Set this option to make the output page number be the TeX page
+ numbers rather than the physical page number. See the `-o' switch.
+
+`-fg COLOR_SPEC'
+ Choose foreground color for the images. This option will be
+ ignored if there is a foreground color \special in the DVI. The
+ color spec should be in TeX color \special syntax, e.g., 'rgb 1.0
+ 0.0 0.0'. *Note Color::.
+
+`--follow*'
+ Wait for data at end-of-file. 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 end-of-file 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 (PK) 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. GIF images are palette
+ images (see the `--palette' option) and does not support true alpha
+ channels (see the `--bg' option). 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 with the
+ `active' option. 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 `--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'
+ This option only has an effect when using bitmapped (PK) fonts. 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*'
+ This option only has an effect when using bitmapped (PK) fonts. It
+ turns off automatic PK font generation (`mktexpk').
+
+`--nogs*'
+ This switch prohibits the internal call to GhostScript for
+ displaying PostScript specials. `--nogs0' 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.
+
+`--norawps*'
+ Some packages generate raw PostScript specials, even non-rendering
+ such specials. This switch turns off the internal call to
+ GhostScript intended to display these raw PostScript specials.
+ `--norawps0' turns the call back on.
+
+`-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.
+
+`--palette*'
+ When an external image is included, `dvipng' will automatically
+ switch to truecolor mode, to avoid unnecessary delay and quality
+ reduction, and enable the EPS translator to draw on a transparent
+ background and outside of the boundingbox. This switch will force
+ palette (256-color) output and make `dvipng' revert to opaque
+ clipped image inclusion. This will also override the `--truecolor'
+ switch if present.
+
+`--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 bitmapped fonts (PK) and fonts rendered using T1lib, to
+ be NUM*NUM+1. The default value is 4 which gives 17 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.
+
+`--strict*'
+ The program exits 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. See the
+ `--picky' option above for a list of when warnings occur.
+
+`-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.
+
+`--t1lib*'
+ Enable 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*'
+ This will make `dvipng' generate truecolor output. Note that
+ truecolor output is automatic if you include an external image in
+ your DVI, e.g., via a PostScript special (i.e., the `graphics' or
+ `graphicx' package). This switch is overridden by the `--palette'
+ switch.
+
+`-v*'
+ Enable verbose operation. This will currently indicate what fonts
+ is used, in addition to the usual output.
+
+`--width*'
+ Report the width of the image. See also `--height' and `--depth'.
+
+`-x NUM'
+ This option is deprecated; it should not be used. It is much
+ better to select the output resolution directly with the `-D'
+ option. This option sets the magnification ratio to NUM/1000 and
+ 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: Graphics, Next: Color, Prev: Command-line options, Up: Top
+
+5 Graphics
+**********
+
+`dvipng' attempts to handle graphics as included by the `graphicx' and
+`graphics' packages, without the need of specifying a driver to these
+packages. This means that it recognizes the encapsulated postscript
+inclusion meant for `dvips', but is also able (from version 1.8) to
+include bitmapped graphics. It also tries to handle some of the raw
+PostScript that is output from various packages. Some of the
+possibilities and problems are mentioned below.
+
+* Menu:
+
+* Encapsulated PostScript:: An internal call to GhostScript
+* Bitmapped graphics:: PNG, JPEG and GIF
+* Raw PostScript:: Ignore or give to GhostScript
+
+
+File: dvipng.info, Node: Encapsulated PostScript, Next: Bitmapped graphics, Up: Graphics
+
+5.1 Encapsulated PostScript
+===========================
+
+When an EPS file is included, a call to GhostScript is performed to
+produce a bitmapped image that can be included. The default is to
+produce an image with transparent background, at the same size as the
+DVI page currently being converted to PNG, and include that as
+foreground on the PNG. Of course, if the image is to be cropped, that
+is done. The included image will be a truecolor image, so for maximum
+performance the output PNG will be in truecolor mode as well.
+
+ This conversion needs the `pngalpha' output device to be present in
+your copy of GhostScript. If that device is not present, or you use the
+`--palette' switch or request GIF output, the fallback is to use the
+`png16m' device to produce a cropped opaque image for inclusion. Other
+relevant switches are `--noghostscript' and `--nogssafer'. *Note Option
+details::.
+
+ 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 adjusted boundingbox
+can be specified in the `\includegraphics' call, as in this example
+(using `graphicx'):
+
+ \includegraphics[bb=10 20 100 200]{imagename.eps}
+
+
+File: dvipng.info, Node: Bitmapped graphics, Next: Raw PostScript, Prev: Encapsulated PostScript, Up: Graphics
+
+5.2 Bitmapped graphics
+======================
+
+dvipng can include PNG, JPEG and GIF graphics. When including such
+images via `\includegraphics' you need to specify the bounding box
+since TeX itself cannot read them from the files in question. The
+bounding box size should be given as `0 0 w h' in pixels, e.g., if the
+file `imagename.png' is 300x400 pixels, the inclusion would read
+
+ \includegraphics[bb=0 0 300 400]{imagename.png}
+
+ The default size is the image size in bp ("big points" in TeX
+nomenclature or PostScript points as other people have it, 72 per inch).
+That is, default resolution will be 72 dpi for included bitmaps, which
+is the default size in the few other bitmap-capable drivers that are
+known to me (dvipdfm and PDFLaTeX).
+
+ If you want 100 dpi you need to specify the width accordingly. You
+just divide your image width by 100: a 135 pixel wide image at 100 dpi
+will take up 1.35 inches. If you want 200 dpi you divide by 200, and so
+on. Simple, eh? The example above at 200 dpi would be 1.5 inches wide:
+
+ \includegraphics[bb=0 0 300 400,witdh=1.5in]{imagename.png}
+
+
+File: dvipng.info, Node: Raw PostScript, Prev: Bitmapped graphics, Up: Graphics
+
+5.3 Raw PostScript
+==================
+
+dvipng attempts to handle raw PostScript. Rendering raw PostScript
+specials is done on top of the page by including a transparent image
+generated by the `pngalpha' device in GhostScript (automatically
+selecting `truecolor' mode in dvipng).
+
+ Included PostScript headers are respected, and if the header
+`tex.pro' is included, dvipng also throws in `color.pro' and
+`special.pro'. The package `xcolor' includes its own headers with color
+names, and this is not only kept as a PostScript header, but is also
+read and interpreted by dvipng itself. An attempt is also made to
+respect the PGF header. The non-rendering specials from `hyperref' are
+handled via some heuristics and do not give an error.
+
+ Really rendering and moving things with raw PostScript specials is
+more troublesome. The \rotatebox macro serves as a good example. The
+dvips driver of the graphicx package surrounds DVI glyphs with
+PostScript code so that after conversion by dvips, the glyphs (now
+themselves in PostScript) will be rotated in the desired way. dvipng
+does not handle this, at present. An attempt has been made to handle
+the rendering specials output by PGF (tikz), and also PSTricks. Some
+things work, but others do not. This is especially clear when mixing
+PostScript and DVI rendering commands such as glyphs. dvipng cannot at
+present detect if PostScript code moves `currentpoint' or rotates the
+frame since GhostScript does not return such information. A
+recommendation would be to produce images from these packages as EPS
+files and include them into your document in the standard manner.
+
+ Another way to handle this would be to use a slower fallback (with
+dvips and gs, for example). If you want to disable raw PostScript
+handling in dvipng, use the switch `--norawps'. This switch turns off
+the internal call to GhostScript intended to display these raw
+PostScript specials. Further, when dvipng encounters raw PostScript and
+the gs call is turned off, it gives a warning. It is now possible to
+use the switch `--picky' to disable page rendering of pages with
+warnings, and use the slower fallback for these pages.
+
+
+File: dvipng.info, Node: Color, Next: Diagnosing problems, Prev: Graphics, Up: Top
+
+6 Color
+*******
+
+To support color, dvipng recognizes a certain set of specials as
+generated by the `color' and `xcolor' style files. 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 model 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). See the `xcolor' documentation for a list of names and the
+corresponding colors.
+
+ On the command-line, the name `Transparent' can also be used 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 form 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: Diagnosing problems, Next: Credits, Prev: Color, Up: Top
+
+7 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.
+
+* Menu:
+
+* Contact information:: Who to ask.
+* Debug options:: Getting diagnostics.
+
+
+File: dvipng.info, Node: Contact information, Next: Debug options, Up: Diagnosing problems
+
+7.1 Contact information
+=======================
+
+Bug reports should be sent to <dvipng@nongnu.org>.
+
+ Questions, suggestions for new features, pleas for help, and/or
+praise should go to <dvipng@nongnu.org>. For more information on this
+mailing list, send a message with just the word `help' as subject or
+body to <dvipng-request@nongnu.org> or look at
+`http://lists.nongnu.org/mailman/listinfo/dvipng'.
+
+ Offers to support further development will be appreciated. For
+developer access, ask on <dvipng@nongnu.org>.
+
+ For details on the TeX path-searching library, and `mktexpk'
+problems, *note Common problems: (kpathsea)Common problems.
+
+
+File: dvipng.info, Node: Debug options, Prev: Contact information, Up: Diagnosing problems
+
+7.2 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: Credits, Next: Copying, Prev: Diagnosing problems, Up: Top
+
+8 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), Karl Berry and Peter Breitenlohner (TeX Live), David Harvey
+(hinting in Freetype), Neal Harmon, 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, Jason Riedy, Wolfram Krause, Reinhard
+Kotucha, Takeshi Abe, and Waldeck Schutzer.
+
+ Use of the `gd' library requires inclusion of the following
+copyright notice, which applies to the `gd' library:
+
+ Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ 2002, 2003, 2004 by Cold Spring Harbor Laboratory. Funded under
+ Grant P41-RR02188 by the National Institutes of Health.
+
+ Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+ 2004 by Boutell.Com, Inc.
+
+ Portions relating to GD2 format copyright 1999, 2000, 2001, 2002,
+ 2003, 2004 Philip Warner.
+
+ Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003,
+ 2004 Greg Roelofs.
+
+ Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002,
+ 2003, 2004 John Ellson (ellson@graphviz.org).
+
+ Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John
+ Ellson (ellson@graphviz.org).
+
+ Portions relating to JPEG and to color quantization copyright
+ 2000, 2001, 2002, 2003, 2004, Doug Becker and copyright (C) 1994,
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas
+ G. Lane. This software is based in part on the work of the
+ Independent JPEG Group. See the file README-JPEG.TXT for more
+ information.
+
+ Portions relating to GIF compression copyright 1989 by Jef
+ Poskanzer and David Rowley, with modifications for thread safety
+ by Thomas Boutell.
+
+ Portions relating to GIF decompression copyright 1990, 1991, 1993
+ by David Koblas, with modifications for thread safety by Thomas
+ Boutell.
+
+ Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004
+ Maurice Szmurlo and Johan Van den Brande.
+
+ Portions relating to GIF animations copyright 2004 Jaakko
+ Hyva"dtti (jaakko.hyvatti@iki.fi)
+
+ Permission has been granted to copy, distribute and modify gd in
+ any context without fee, including a commercial application,
+ provided that this notice is present in user-accessible supporting
+ documentation.
+
+ This does not affect your ownership of the derived work itself,
+ and the intent is to assure proper credit for the authors of gd,
+ not to interfere with your productive use of gd. If you have
+ questions, ask. "Derived works" includes all programs that utilize
+ the library. Credit must be given in user-accessible documentation.
+
+ This software is provided "AS IS." The copyright holders disclaim
+ all warranties, either express or implied, including but not
+ limited to implied warranties of merchantability and fitness for a
+ particular purpose, with respect to this code and accompanying
+ documentation.
+
+ Although their code does not appear in the current release, the
+ authors also wish to thank Hutchison Avenue Software Corporation
+ for their prior contributions.
+
+
+File: dvipng.info, Node: Copying, Next: Index, Prev: Credits, Up: Top
+
+9 Copying
+*********
+
+This program is free software: you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as published
+by the Free Software Foundation, either version 3 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 Lesser
+General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+License along with this program. If not, see
+<http://www.gnu.org/licenses/>.
+
+
+
+Copyright (C) 2002-2010 Jan-AAke Larsson
+
+
+File: dvipng.info, Node: Index, Prev: Copying, Up: Top
+
+Index
+*****
+
+
+* Menu:
+
+* -dSAFER: Option details. (line 168)
+* absolute page number, and -l: Option details. (line 142)
+* absolute page number, and -p: Option details. (line 195)
+* antialiasing levels, number of: Option details. (line 248)
+* background color (option): Option details. (line 42)
+* base resolution, setting: Option details. (line 35)
+* baseline reporting: Option details. (line 78)
+* color specifications: Color specifications.
+ (line 6)
+* command-line options: Command-line options.
+ (line 6)
+* compilation: Installation. (line 6)
+* compression: Option details. (line 314)
+* configuration, of dvipng: Installation. (line 6)
+* dark fonts: Option details. (line 121)
+* debugging <1>: Diagnosing problems. (line 6)
+* debugging: Option details. (line 56)
+* depth reporting: Option details. (line 78)
+* exit on erroneous images: Option details. (line 259)
+* first page printed: Option details. (line 195)
+* follow mode: Option details. (line 99)
+* font generation, avoiding: Option details. (line 160)
+* forcing palette output: Option details. (line 204)
+* foreground color (option): Option details. (line 93)
+* FreeType font rendering: Option details. (line 107)
+* fuzzy images: Option details. (line 121)
+* gamma: Option details. (line 121)
+* GhostScript and -dSAFER: Option details. (line 168)
+* GhostScript, turning off: Option details. (line 164)
+* GIF image format: Option details. (line 127)
+* height reporting: Option details. (line 134)
+* installation, of dvipng: Installation. (line 6)
+* invoking dvipng: Basic usage. (line 6)
+* last page printed: Option details. (line 142)
+* light fonts: Option details. (line 121)
+* magnification, overriding DVI: Option details. (line 304)
+* Metafont mode, specifying: Option details. (line 151)
+* mktexpk, avoiding: Option details. (line 160)
+* mode name, specifying: Option details. (line 151)
+* no erroneous images: Option details. (line 213)
+* offset pages: Option details. (line 189)
+* option, details of: Option details. (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 62)
+* output, redirecting: Option details. (line 182)
+* page range: Option details. (line 226)
+* page, first printed: Option details. (line 195)
+* page, last printed: Option details. (line 142)
+* physical page number, and -l: Option details. (line 142)
+* physical page number, and -p: Option details. (line 195)
+* PNG image format: Option details. (line 222)
+* PostScript inclusion problems: Encapsulated PostScript.
+ (line 21)
+* PostScript, turning off raw PostScript specials: Option details.
+ (line 176)
+* problems: Diagnosing problems. (line 6)
+* quality: Option details. (line 248)
+* quiet operation: Option details. (line 244)
+* reverse pagination: Option details. (line 255)
+* silent operation: Option details. (line 244)
+* standard input, reading options from: Option details. (line 11)
+* standard output, output to: Option details. (line 182)
+* T1lib font rendering: Option details. (line 276)
+* 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 290)
+* warnings, suppressing: Option details. (line 244)
+* width reporting: Option details. (line 301)
+
+
+
+Tag Table:
+Node: Top297
+Node: Introduction1192
+Node: Installation3431
+Node: Prerequisites3778
+Node: Configure6268
+Node: Build/install8307
+Node: Installation outside the texmf tree8775
+Node: Advice for non-privileged users9482
+Node: Basic usage10490
+Node: Command-line options11662
+Node: Option summary12086
+Node: Option details14512
+Node: Graphics30430
+Node: Encapsulated PostScript31182
+Node: Bitmapped graphics32525
+Node: Raw PostScript33748
+Node: Color35987
+Node: Color specifications36375
+Node: Color specials37474
+Node: Diagnosing problems38886
+Node: Contact information39369
+Node: Debug options40110
+Node: Credits41145
+Node: Copying45146
+Node: Index45926
+
+End Tag Table
diff --git a/Master/texmf-dist/doc/info/dvips.info b/Master/texmf-dist/doc/info/dvips.info
new file mode 100644
index 00000000000..fd8b2fac5ee
--- /dev/null
+++ b/Master/texmf-dist/doc/info/dvips.info
@@ -0,0 +1,4802 @@
+This is ../../../texk/dvipsk/dvips.info, produced by makeinfo version
+4.13 from ../../../texk/dvipsk/dvips.texi.
+
+This manual documents Dvips version 5.992 (May 2012), a program to
+translate a DVI file into PostScript. You may freely use, modify
+and/or distribute this file.
+
+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.992 (May 2012), a program to
+translate a DVI file into PostScript. You may freely use, modify
+and/or distribute this file.
+
+* 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
+**************
+
+Installing Dvips is mostly the same as installing any Kpathsea-using
+program. Therefore, for the basic steps involved, *note Installation:
+(kpathsea)Installation.
+
+ 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
+configuration 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. (Public domain.)
+
+ % How to print, maybe with lp instead lpr, etc.
+ o |lpr
+
+ % Default resolution of this device, in dots per inch.
+ D 600
+
+ % Metafont mode. (This is completely different from the -M command-line
+ % option, which controls whether MakeTeXPK is invoked.) Get
+ % `ftp://ftp.tug.org/tex/modes.mf' for a list of mode names. This mode
+ % and the D number above must agree, or MakeTeXPK will get confused.
+ M ljfour
+
+ % Memory available. Download the three-line PostScript file:
+ % %! Hey, we're PostScript
+ % /Times-Roman findfont 30 scalefont setfont 144 432 moveto
+ % vmstatus exch sub 40 string cvs show pop showpage
+ % to determine this number. (It will be the only thing printed.)
+ m 3500000
+
+ % Correct printer offset. You can use testpage.tex from the LaTeX
+ % distribution to find these numbers. Print testpage.dvi more than once.
+ O 0pt,0pt
+
+ % Partially download Type 1 fonts by default. Only reason not to do
+ % this is if you encounter bugs. (Please report them to
+ % <tex-k@tug.org> if you do.)
+ j
+
+ % Also look for fonts at these resolutions.
+ R 300 600
+
+ % With a high resolution and a RISC cpu, better to compress the bitmaps.
+ Z
+
+ % Uncomment these if you have and want to use PostScript versions of the
+ % fonts.
+ %p +cmfonts.map
+ %p +lafonts.map
+ %p +cyrfonts.map
+ %p +eufonts.map
+
+ % To include another configuration file here.
+ %c FILENAME
+
+ % You will also want definitions for alternative paper sizes -- A4,
+ % legal, and such. Examples in `contrib/papersize.level2' and
+ % `contrib/papersize.simple'.
+
+
+File: dvips.info, Node: PostScript font installation, Next: Ghostscript installation, Prev: config.ps installation, Up: Installation
+
+2.2 PostScript font installation
+================================
+
+To use PostScript fonts with TeX and Dvips, you need both metric files
+(`.tfm' and `.vf') and the outlines (`.pfa' or `.pfb'). *Note Font
+concepts::.
+
+ To support the basic PostScript font set, the recommended (and
+simplest) approach is to install the files at
+`http://www.ctan.org/tex-archive/fonts/psfonts/lw35nfsx.zip'. This
+archive contains metrics, outlines, and bitmaps (for previewing) for
+the 35 de facto standard fonts donated by URW and the additional
+high-quality freely available PostScript fonts donated by Adobe,
+Bitstream, and URW, including geometrically-created variants such as
+oblique and small caps.
+
+ `CTAN:/fonts/psfonts' contains support for many additional fonts for
+which you must buy outlines (Adobe, Bigelow & Holmes, Monotype,
+Softkey, Y&Y). (For CTAN info, *note unixtex.ftp:
+(kpathsea)unixtex.ftp.; a copy is in the top-level file `INSTALL'.)
+
+ If you have additional PostScript fonts, you can make them available
+to Dvips by (1) giving them with appropriate filenames; and (2) running
+Afm2tfm (*note Making a font available::) to make TFM and VF metrics for
+TeX and Dvips to use. Also add them to `psfonts.map' if necessary
+(*note psfonts.map::); it contains everything contained in
+`lw35nfsx.zip' and most fonts that come with Unix systems.
+
+ Following are locations for vendor-supplied fonts. Please mail
+<tex-k@tug.org> if you find fonts elsewhere on your system.
+
+DEC Ultrix
+ /usr/lib/DPS/outline/decwin
+
+DEC Digital Unix
+ /usr/lib/X11/fonts/Type1Adobe
+
+HP HP-UX 9, 10
+ /usr/lib/X11/fonts/type1.st/typefaces
+
+IBM AIX
+ /usr/lpp/DPS/fonts/outlines
+ /usr/lpp/X11/lib/X11/fonts/Type1
+ /usr/lpp/X11/lib/X11/fonts/Type1/DPS
+
+NeXT
+ /NextLibrary/Fonts/outline
+
+SGI IRIX
+ /usr/lib/DPS/outline/base /usr/lib/X11/fonts/Type1
+
+Sun SunOS 4.x
+ (NeWSprint only)
+ newsprint_2.5/SUNWsteNP/reloc/$BASEDIR/
+ NeWSprint/small_openwin/lib/fonts
+ /usr/openwin/lib/X11/fonts/Type1/outline
+
+Sun Solaris 2
+ /usr/openwin/lib/X11/fonts/Type1/outline
+
+VMS
+ SYS$COMMON:[SYSFONT.XDPS.OUTLINE]
+
+The NeXT system supplies more fonts than any others, but there's a lot
+of overlap.
+
+ Finally, if you have an Hewlett-Packard printer, you should be able
+to get Type 1 font files for the standard 35 fonts from HP, if the
+freely available URW Type 1's do not satisfy for whatever reason. The
+phone number for HP Printer Drivers is (in the United States)
+303-339-7009. The driver set to ask for is Adobe Type Manager 2.51,
+and the disk set number is `MP210en3'. Mentioning anything other than
+Microsoft Windows when you ask for the driver set will likely lead to
+great confusion on the other end.
+
+
+File: dvips.info, Node: Ghostscript installation, Next: Diagnosing problems, Prev: PostScript font installation, Up: Installation
+
+2.3 Ghostscript installation
+============================
+
+Ghostscript is a PostScript interpreter freely available to end-users,
+written by Peter Deutsch. It can read the PostScript produced by Dvips
+and render it on your monitor, or for another device (e.g., an Epson
+printer) that does not support PostScript, or in PDF format. The latest
+version is available via `http://www.cs.wisc.edu/~ghost/index.html' and
+`ftp://ftp.cs.wisc.edu/pub/ghost/aladdin/'.
+
+ A somewhat older version of Ghostscript is available under the GNU
+General Public License, free to everyone. You can get that from
+`ftp://prep.ai.mit.edu/pub/gnu/'.
+
+ The program Ghostview, written by Tim Theisen, provides typical
+previewing capabilities (next page/previous page, magnification, etc.).
+It requires Ghostscript to run, and files in structured Postscript,
+specifically with `%%Page' comments (no `N' in `config.ps'). You can
+get Ghostview from the same places as Ghostscript.
+
+
+File: dvips.info, Node: Diagnosing problems, Prev: Ghostscript installation, Up: Installation
+
+2.4 Diagnosing problems
+=======================
+
+You've gone through all the trouble of installing Dvips, carefully read
+all the instructions in this manual, and still can't get something to
+work. The following sections provide some helpful hints if you find
+yourself in such a situation.
+
+ For details on effective bug reporting, common installation problems,
+and `mktexpk' problems, *note Bugs: (kpathsea)Bugs.
+
+ A good first debugging operation is to set the environment variable
+`DVIPSDEBUG', which will display any configuration and map files read
+by Dvips. This way you can be sure it's finding the files and settings
+you expect.
+
+* 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,
+specify 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'.
+
+ You can also set the environment variable `KPATHSEA_DEBUG' instead
+of using `-d'. 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
+ (omitted)
+
+256
+ config files
+
+512
+ Kpathsea `stat' calls
+
+1024
+ Kpathsea hash table lookups
+
+2048
+ Kpathsea path element expansion
+
+4096
+ 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. The
+default output is to a corresponding file `foo.ps'; Dvips may also have
+been locally configured to output directly to a printer by default.
+
+ 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]
+Convert DVI input files to PostScript.
+See http://tug.org/dvips/ for the full manual and other information.
+
+Options:
+-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
+-noptex Disable pTeX 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 was useful to work around bugs in old versions of
+ Adobe's PDF reader. It's more likely to cause problems nowadays.
+
+`-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'
+ Disable the use of Omega extensions when interpreting DVI files.
+ By default, the additional opcodes `129' and `134' are recognized
+ by Dvips as Omega or pTeX extensions and interpreted as requests
+ to set 2-byte characters.
+
+`-noptex'
+ Disable the use of pTeX extensions when interpreting DVI files. By
+ default, the additional opcodes `130' and `135' are recognized by
+ Dvips as Omega extensions and interpreted as requests to set
+ 3-byte characters, and `255' as request to change the typesetting
+ direction.
+
+ The only drawback is that the virtual font array will (at least
+ temporarily) require 65536 or more positions instead of the default
+ 256 positions, i.e., the memory requirements of Dvips will be
+ somewhat larger. If you find this unacceptable or encounter
+ another problem with the Omega or pTeX extensions, you can switch
+ off the pTeX extension by using `-noptex', or both 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
+ (i.e., it is the last thing on the command line), 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. `-R2' disables both 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 or `..'-relative
+ filenames. `-R1', the default, forbids shell escapes but allows
+ absolute filenames. `-R0' allows both.
+
+`-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'.
+
+ - In general, you should not use any `-t' option when using a
+ `papersize' special, which some LaTeX packages (e.g.,
+ `hyperref') insert.
+
+ - One exception is when using a nonstandard paper size that is
+ not already defined in `config.ps'; in this case, you need to
+ specify `-t unknown'.
+
+ - Another exception is when producing multi-page files for
+ further processing; use `-t nopaper' to omit any paper size
+ information in the output. (If you just have a single page
+ document, you can use `-E' to get pure EPSF output.)
+
+`-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. Be careful, as
+ the paper size will stick to a predefined size if there is one
+ close enough. To disable this behavior, use `-tunknown'.
+
+`-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.
+
+`DVIPSDEBUG'
+ Write the absolute path names of any configuration or map files to
+ standard output, for debugging. This isn't done by default because
+ these files are read even before the banner is printed. For
+ voluminous additional debugging, set the environment variable
+ `KPATHSEA_DEBUG' to `-1' (*note Debugging: (kpathsea)Debugging.).
+ (If `KPATHSEA_DEBUG' is set to any value, it automatically turns
+ on `DVIPSDEBUG'.)
+
+`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::.
+
+`c FILENAME'
+ Include FILENAME as an additional configuration file, read
+ immediately.
+
+`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::.
+
+`G*'
+ Shift low-numbered characters; obsolete. Same as `-G', *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 `-R' is specified on the command line, that takes
+ precedence.
+
+
+
+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 local
+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 in these cases 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.
+
+ When using the `papersize' special, you generally should not also
+specify `-t' on the command line (*note Option details::). The
+exception is when using a nonstandard paper size that isn't predefined;
+in this case, use `-t unknown'.
+
+ The `papersize' special must occur somewhere on the first page of
+the document. Some packages, notably `hyperref', insert this special.
+
+
+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 best match found (from the paper
+size information in the configuration file) is used. The dimensions
+must match within 5bp.
+
+ If nothing matches, a warning is printed and the first paper size
+with zero dimensions is used; this should be the `unknown' paper size
+definition mentioned below, resulting in the actual dimensions being
+used.
+
+ 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. 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. So paper size entries should typically specify both.
+
+ When using a paper size that is not already defined in `config.ps',
+you probably want to say `-t unknown' on the command line; the
+`unknown' paper size definition in `config.ps' has the requisite
+PostScript incantation to set the PostScript page size, as just
+described.
+
+ If you want no paper size information in the output at all, use
+`-t nopaper'. This is useful with multi-page output that will be
+processed further. If you just have a single page document, you can
+use `-E' to get pure EPSF output.
+
+ The Perl 5 script `contrib/configs/mkdvipspapers' in the
+distribution directory may help in determining appropriate paper size
+definitions.
+
+ Notwithstanding the above, the default `letter' and `a4' paper size
+definitions in `config.ps' execute the `setpagedevice' operator if it
+exists (it was defined in PostScript Level 2), or the `letter' or `a4'
+operator if they exist (they are nonstandard and thus perhaps cause
+failures on certain (unknown) printers). Not executing any page size
+definition at all confuses PostScript conversion programs such as
+`ps2pdf', so we want to execute one if we can.
+
+ The `letterSize' and `A4Size' paper size definitions are now
+synonyms for `letter' and `a4'.
+
+
+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, as a percentage (default 100).
+
+`vscale'
+ The vertical scaling factor, as a percentage (default 100).
+
+`angle'
+ The rotation, in degrees (default 0).
+
+`clip'
+ Enable clipping to the bounding box (default disabled).
+
+`llx, lly, urx, ury'
+ Bounding box of the included image, just as in a `%%BoundingBox'
+ comment. Values are in big points, and may be fractional.
+
+`rhi, rwi'
+ Desired width and height of the resulting figure in the output, in
+ tenths of big points (720 to the inch); may be fractional.
+
+ If both `rwi' and `rhi' are nonzero, the picture is scaled,
+ possibly losing aspect ratio. If only one of `rwi' and `rhi' is
+ nonzero, the picture is scaled, preserving aspect ratio.
+
+
+ The offsets and sizes are given in PostScript units (big points).
+Thus, for example:
+
+ \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}
+ \special{ps::[nobreak]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]'.
+
+ Literal PostScript instructions after `ps::[nobreak]' are _not_
+broken into lines. This feature may be used to include PostScript
+comments, for example.
+
+ In addition, the variant
+
+ \special{ps: plotfile FILENAME}
+
+inserts the contents of FILENAME verbatim into the output (except for
+omitting lines that begin with %). An example of the proper use of
+literal specials can be found in the file `rotate.tex', which makes it
+easy to typeset text turned in multiples of 90 degrees.
+
+
+File: dvips.info, Node: Literal headers, Next: Literal examples, Prev: PostScript hooks, Up: Literal PS
+
+5.3.3 Literal headers: `!' `\special'
+-------------------------------------
+
+You can download literal PostScript header code in your TeX document,
+for use with (for example) literal graphics code that you include later.
+The text of a `\special' beginning with an `!' is copied into the
+output file. A dictionary `SDict' will be current when this code is
+executed; Dvips arranges for `SDict' to be first on the dictionary
+stack when any PostScript graphic is included, whether literally (the
+`"' special) or through macros (e.g., `epsf.tex').
+
+ For example:
+
+ \special{! /reset { 0 0 moveto} def}
+
+
+File: dvips.info, Node: PostScript hooks, Next: Literal headers, Prev: ps special, Up: Literal PS
+
+5.3.4 PostScript hooks
+----------------------
+
+Besides including literal PostScript at a particular place in your
+document (as described in the previous section), you can also arrange to
+execute arbitrary PostScript code at particular times while the
+PostScript is printing.
+
+ If any of the PostScript names `bop-hook', `eop-hook', `start-hook',
+or `end-hook' are defined in `userdict', they will be executed at the
+beginning of a page, end of a page, start of the document, and end of a
+document, respectively.
+
+ When these macros are executed, the default PostScript coordinate
+system and origin is in effect. Such macros can be defined in headers
+added by the `-h' option or the `header=' special, and might be useful
+for writing, for instance, `DRAFT' across the entire page, or, with the
+aid of a shell script, dating the document. These macros are executed
+outside of the save/restore context of the individual pages, so it is
+possible for them to accumulate information, but if a document must be
+divided into sections because of memory constraints, such added
+information will be lost across section breaks.
+
+ The single argument to `bop-hook' is the physical page number; the
+first page gets zero, the second one, etc. `bop-hook' must leave this
+number on the stack. None of the other hooks are passed arguments.
+
+ As an example of what can be done, the following special will write
+a light grey `DRAFT' across each page in the document:
+
+ \special{!userdict begin /bop-hook{gsave 200 30 translate
+ 65 rotate /Times-Roman findfont 216 scalefont setfont
+ 0 0 moveto 0.7 setgray (DRAFT) show grestore}def end}
+
+ Using `bop-hook' or `eop-hook' to preserve information across pages
+breaks compliance with the Adobe document structuring conventions, so
+if you use any such tricks, you may also want to use the `-N' option to
+turn off structured comments (such as `%%Page'). Otherwise, programs
+that read your file will assume its pages are independent.
+
+
+File: dvips.info, Node: Literal examples, Prev: Literal headers, Up: Literal PS
+
+5.3.5 Literal examples
+----------------------
+
+To finish off this section, the following examples of literal PostScript
+are presented without explanation:
+
+ \def\rotninety{\special{ps:currentpoint currentpoint translate 90
+ rotate neg exch neg exch translate}}\font\huge=cmbx10 at 14.4truept
+ \setbox0=\hbox to0pt{\huge A\hss}\vskip16truept\centerline{\copy0
+ \special{ps:gsave}\rotninety\copy0\rotninety\copy0\rotninety
+ \box0\special{ps:grestore}}\vskip16truept
+
+ [ There are 4 `A' characters, each rotated 90 degrees about a
+common center point ]
+
+ \vbox to 2truein{\special{ps:gsave 0.3 setgray}\hrule height 2in
+ width\hsize\vskip-2in\special{ps:grestore}\font\big=cminch\big
+ \vss\special{ps:gsave 1 setgray}\vbox to 0pt{\vskip2pt
+ \line{\hss\hskip4pt NEAT\hss}\vss}\special{ps:0 setgray}%
+ \hbox{\raise2pt\line{\hss NEAT\hss}\special{ps:grestore}}\vss}
+
+ [ There is a big gray box with the word `NEAT' inside in big letters
+]
+
+ Some caveats are in order, however. Make sure that each `gsave' is
+matched with a `grestore' on the same page. Do not use `save' and
+`restore'; they can interact with the PostScript generated by Dvips if
+care is not taken. Try to understand what the above macros are doing
+before writing your own. The `\rotninety' macro especially has a
+useful trick that appears again and again.
+
+
+File: dvips.info, Node: Hypertext, Prev: Literal PS, Up: Interaction with PostScript
+
+5.4 HyperTeXt
+=============
+
+Dvips has support for producing hypertext PostScript documents. If you
+specify the `-z' option, the `html:' specials described below will be
+converted into `pdfmark' PostScript operators to specify links.
+Without `-z', `html:' specials are ignored.
+
+ The resulting PostScript can then be processed by a distiller
+program to make a PDF file. (It can still be handled by ordinary
+PostScript interpreters as well.) Various versions of both PC and Unix
+distillers are supported; Ghostscript includes limited distiller support
+(*note Ghostscript installation::).
+
+ Macros you can use in your TeX document to insert the specials in the
+first place are available from `CTAN:/support/hypertex'. For CTAN
+info, *note unixtex.ftp: (kpathsea)unixtex.ftp.
+
+ This hypertext support (and original form of the documentation) was
+written by Mark Doyle and Tanmoy Bhattacharya as the `dvihps' program.
+You can retrieve their software and additional documentation via the
+CTAN reference above. You may also be interested in the Java previewer
+IDVI, available at `http://www.win.tue.nl/~dickie/idvi', and/or in
+`http://www.emrg.com/texpdf.html', which describes the process of
+making PDF files from TeX files in more detail.
+
+ Mail archives for the original project are at
+`http://math.albany.edu:8800/hm/ht/'.
+
+* Menu:
+
+* Hypertext caveats:: Font quality, missing character psi.
+* Hypertext specials:: The details on the specials.
+
+
+File: dvips.info, Node: Hypertext caveats, Next: Hypertext specials, Up: Hypertext
+
+5.4.1 Hypertext caveats
+-----------------------
+
+If you intend to go all the way to PDF, you may want to use the standard
+35 PostScript fonts exclusively, since other fonts are embedded as
+bitmaps by default. The Adobe PDF readers are extremely slow when
+dealing with bitmap fonts and the results look terrible on the screen.
+Printouts will probably look fine, but may not take full advantage of a
+high-resolution printer. Alternatively, you can have your fonts
+embedded as Type 1 scalable outlines. The resulting PostScript files
+may be larger, but can be effectively rasterized at any resolution.
+They can also be converted to PDF files that can be used effectively at
+any screen or printer resolution.
+
+ To get the TeX fonts embedded in the PostScript file as Type 1 fonts,
+add `-Ppdf' to the dvips command line switches. The printout for a run
+should look something like this:
+
+ dvips report -Ppdf -o report.ps
+ This is dvips(k) 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com)
+ ' TeX output 2001.06.15:0837' -> report.ps
+ <tex.pro><alt-rule.pro><texc.pro><texps.pro><special.pro>.
+ <cmbx9.pfb><cmsy6.pfb><cmsy7.pfb><cmr5.pfb><cmex10.pfb><cmr9.pfb>
+ <cmmi7.pfb><cmsy10.pfb><cmmib10.pfb><cmmi10.pfb><cmti10.pfb>
+ <cmr7.pfb><cmbx10.pfb><cmr10.pfb><cmti9.pfb><cmr12.pfb><cmbx12.pfb>
+ [1] [2<mean1.ps>] [3<bounce1-00.ps>] [4]
+
+ An entry like "<cmr10.pfb>" indicates success: dvips found the
+Computer Modern Roman 10 point font in a PostScript Font Binary file,
+translated it to an ASCII encoding, and embedded it. You can confirm
+this by examining the PostScript output file, looking for the section
+starting `%%BeginFont: CMR10' followed by an entry `/FontType 1 def'.
+
+ The `-Ppdf' option requires that the relevant outline (`.pfa' or
+`.pfb') files be installed (*note Font concepts::). For example, the
+`cmr10' file might be in
+`/usr/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb'. Your TeX
+distribution may make those fonts available in a separate optional
+package (e.g., `tetex-extra' in Debian). Failing that, commercial
+versions of the Computer Modern fonts are available from Blue Sky;
+public domain versions - in particular, the lm fonts, and the cm-super
+fonts, are available from CTAN sites (for CTAN info, *note unixtex.ftp:
+(kpathsea)unixtex.ftp.).
+
+ You can convert a PostScript file to PDF using `distill', which
+comes with Adobe Acrobat, or `ps2pdf', which comes with Ghostscript.
+The `ps2pdf' that comes with `Ghostscript' version 6.0 or earlier will
+not embed Type 1 fonts. Current recommendations are GNU Ghostscript
+6.51 or Aladdin Ghostscript 7.0. You can check the fonts in a PDF file
+with Acrobat Reader by selecting the menu entries `File|Document
+Info|Fonts'.
+
+ Also, the Adobe distillers prior to 2.1 drop trailing space
+characters (character code 32) from strings. Unfortunately, the
+PostScript fonts use this character code for characters other than
+space (notably the Greek letter psi in the `Symbol' font), and so these
+characters are dropped. This bug is fixed in version 2.1.
+
+ If you can't upgrade, One workaround is to change all the trailing
+blanks in strings to a character code that isn't in the font. This works
+because the default behavior is to substitute a blank for a missing
+character, i.e., the distiller is fooled into substituting the right
+character. For instance, with the Blue Sky fonts, you can globally
+replace ` )' with `\200)' (with `sed', for example) and get the desired
+result. With the public domain fonts, you will probably have to use a
+character code in the range 128 to 191 since these fonts duplicate the
+first 32 characters starting at 192 to avoid MS-DOS problems.
+
+ For more information on the use of TeX to produce PDF files, see the
+article "Creating quality Adobe PDF files from TeX with DVIPS" by
+Kendall Whitehouse of Adobe. Adobe seems not to offer the article any
+more, but copies are available elsewhere:
+ `http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html'
+ `http://www.utdallas.edu/~cantrell/online/543e.html'
+
+ You may also want to check "Notes on converting (La)TeX documents to
+robust PDF using Rokicki's dvips and Acrobat Distiller" by Timothy P.
+Van Zandt:
+`http://www.emrg.com/texpdf.htmlhttp://zandtwerk.insead.fr/tex2pdf.html'.
+
+
+File: dvips.info, Node: Hypertext specials, Prev: Hypertext caveats, Up: Hypertext
+
+5.4.2 Hypertext specials
+------------------------
+
+Current support for the World Wide Web in the TeX system does not
+involve modifying TeX itself. We need only define some specials;
+Arthur Smith (<apsmith@aps.org>), Tanmoy Bhattacharya, and Paul
+Ginsparg originally proposed and implemented the following:
+ html:<a href="XURL">
+ html:<a name="NAME">
+ html:</a>
+ html:<img src="XURL">
+ html:<base href="XURL">
+
+ Like all TeX `\special''s, these produce no visible output, and are
+uninterpreted by TeX itself. They are instructions to DVI processors
+only.
+
+ Here, XURL is a standard WWW uniform resource locator (URL),
+possibly extended with a `#TYPE.STRING' construct, where TYPE is
+`page', `section', `equation', `reference' (for bibliographic
+references), `figure', `table', etc. For example,
+ \special{html:<a href="http://www.maths.tcd.ie/~tim/ch1.dvi#equation.1.1">}
+ is a link to equation (1.1) in an example document by Tim Murphy.
+
+ See the URL
+`http://www.w3.org/hypertext/WWW/Addressing/Addressing.html' for a
+precise description of base URL's.
+
+ Descriptions of the `\special''s:
+`href'
+ Creates links in your TeX document. For example:
+ \special{html:<a href="http://www.tug.org/">}\TeX\ Users
+ Group\special{html:</a>}
+ The user will be able to click on the text `TeX Users Group' while
+ running Xdvi and get to the TUG home page. (By the way, this is
+ for illustration. In practice, you most likely want to use macros
+ to insert the `\special' commands; reference above.)
+
+`name'
+ Defines URL targets in your TeX documents, so links can be
+ resolved. For example:
+ \special{html:<a name="paradise">}Paradise\special{html:</a>}
+ is exactly where you are right now.
+ This will resolve an `href="#paradise"'. You'll also have to
+ change the catcode of `#', etc. It's usually easiest to use
+ existing macro packages which take care of all the details, such as
+ `hyperref' for LaTeX. The HyperTeX FAQ
+ (http://arxiv.org/hypertex/) has more information.
+
+`img'
+ Links to an arbitrary external file. Interactively, a viewer is
+ spawned to read the file according to the file extension and your
+ `mailcap' file (see the Xdvi documentation).
+
+`base'
+ Defines a base URL that is prepended to all the `name' targets.
+ Typically unnecessary, as the name of the DVI file being read is
+ used by default.
+
+ The `img' and `base' tags are not yet implemented in Dvips or the
+NeXTSTEP DVI viewer.
+
+
+File: dvips.info, Node: PostScript fonts, Next: Color, Prev: Interaction with PostScript, Up: Top
+
+6 PostScript fonts
+******************
+
+Dvips supports the use of PostScript fonts in TeX documents. To use a
+PostScript font conveniently, you need to prepare a corresponding
+virtual font; the program Afm2tfm, supplied with Dvips, helps with that.
+
+ All the necessary support for the standard 35 PostScript fonts
+(`AvantGarde-Book' through `ZapfDingbats'), plus other freely or
+commonly available PostScript fonts is available along with Dvips. To
+use these fonts, you need do nothing beyond what is mentioned in the
+installation procedure (*note Installation::). This chapter is
+therefore relevant only if you are installing new PostScript fonts not
+supplied with Dvips. (Or if you're curious.)
+
+* Menu:
+
+* Font concepts:: Metrics, glyphs, virtual fonts, and encodings.
+* Making a font available:: Installing and using a PostScript font.
+* Invoking afm2tfm:: Creating TFM and AFM files for a virtual font.
+* psfonts.map:: Defining available PostScript fonts.
+
+
+File: dvips.info, Node: Font concepts, Next: Making a font available, Up: PostScript fonts
+
+6.1 Font concepts
+=================
+
+The information needed to typeset using a particular font is contained
+in two files: a "metric file" that contains shape-independent
+information and a "glyph file" that contains the actual shapes of the
+font's characters. A "virtual font" is an optional additional file
+that can specify special ways to construct the characters. TeX itself
+(or LaTeX) look only at the metric file, but DVI drivers such as Dvips
+look at all three of these files.
+
+ An "encoding file" defines the correspondence between the code
+numbers of the characters in a font and their descriptive names. Two
+encoding files used together can describe a reencoding that rearranges,
+i.e., renumbers, the characters of a font.
+
+* Menu:
+
+* Metric files:: Shape-independent font information.
+* Glyph files:: Character shapes.
+* Virtual fonts:: Constructing one font from others.
+* Encodings:: Character codes and character names.
+* PostScript typesetting:: How PostScript typesets a character.
+
+
+File: dvips.info, Node: Metric files, Next: Glyph files, Up: Font concepts
+
+6.1.1 Metric files
+------------------
+
+A "metric file" describes properties of the font that are independent
+of what the characters actually look like. Aside from general
+information about the font itself, a metric file has two kinds of
+information: information about individual characters, organized by
+character code, and information about sequences of characters.
+
+ The per-character information specifies the width, height, depth, and
+italic correction of each character in the font. Any might be zero.
+
+ In addition to information on individual characters, the metric file
+specifies "kerning", i.e., adding or removing space between particular
+character pairs. It further specifies "ligature" information: when a
+sequence of input characters should be typeset as a single (presumably
+different) "ligature" character. For example, it's traditional for the
+input `fi' to be typeset as `fi', not as `fi' (with the dot of the `i'
+colliding with `f'). (In English, the only common ligatures are fi,
+fl, ff, ffi, and ffl.)
+
+ Different typesetting systems use different metric file formats:
+
+ * Each Postscript font has an "Adobe font metrics" (`.afm') file.
+ These files are plain text, so you can inspect them easily. You
+ can get AFM files for Adobe's fonts from
+ `ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs'.
+
+ * TeX uses "TeX font metrics" (`.tfm') files. When you say `\font =
+ FONT' in your TeX document, TeX reads a file named `FONT.tfm'.
+ (Well, except for the `texfonts.map' feature; *note Fontmap:
+ (kpathsea)Fontmap.). TeX can then calculate the space occupied by
+ characters from the font when typesetting. In addition, the DVI
+ drivers you use to print or view the DVI file produced by TeX may
+ need to look at the TFM file.
+
+ TFM files are binary (and hence are typically much smaller than AFM
+ files). You can use the `tftopl' program (*note tftopl invocation:
+ (web2c)tftopl invocation.) that comes with TeX to transform a TFM
+ file into a human-readable "property list" (`.pl') file. You can
+ also edit a PL file and transform it back to a TeX-readable TFM
+ with the companion program `pltotf' (*note pltotf invocation:
+ (web2c)pltotf invocation.). Editing metrics by hand is not
+ something you're likely to want to do often, but the capability is
+ there.
+
+ * ATM and other typesetting systems use "printer font metric"
+ (`.pfm') files. These are binary files. They are irrelevant in the
+ TeX world, and not freely available, so we will not discuss them
+ further.
+
+
+ The Afm2tfm program distributed with Dvips converts an AFM file to a
+TFM file and performs other useful transformations as well. *Note
+Invoking afm2tfm::.
+
+
+File: dvips.info, Node: Glyph files, Next: Virtual fonts, Prev: Metric files, Up: Font concepts
+
+6.1.2 Glyph files
+-----------------
+
+Although a metric file (see the previous section) contains information
+about the spatial and other properties of the character at position 75,
+say, it contains nothing about what the character at position 75
+actually looks like. The glyphs--the actual shapes of the letterforms
+in a font--are defined by other files, which we call glyph files. TeX
+itself only reads the TFM file for a font; it does not need to know
+character shapes.
+
+ A "glyph file" is a file that defines the shapes of the characters
+in a font. The shapes can be defined either by outlines or by bitmaps.
+
+ PostScript fonts are defined as "outline fonts": Each character in
+the font is defined by giving the mathematical curves (lines, arcs, and
+splines) that define its contours. Different sizes of a character are
+generated by linearly scaling a single shape. For example, a 10-point
+`A' is simply half the size of a 20-point `A'. Nowadays, outline fonts
+usually also contain "hints"--additional information to improve the
+appearance of the font at small sizes or low resolutions.
+
+ Although various kinds of PostScript outline fonts exist, by far the
+most common, and the only one we will consider, is called "Type 1".
+The glyph files for Postscript Type 1 fonts typically have names ending
+in `.pfa' ("printer font ASCII") or `.pfb' ("printer font binary").
+
+ In contrast, glyph files for Computer Modern and the other standard
+TeX fonts are "bitmap fonts", generated from Metafont (`.mf')
+descriptions. The Metafont program distributed with TeX generates
+bitmaps from these descriptions.
+
+ The glyph files for TeX bitmap fonts are usually stored in "packed
+font" (PK) files. The names of these files end in `.NNNpk', where NNN
+is the resolution of the font in dots per inch. For example,
+`cmr10.600pk' contains the bitmaps for the `cmr10' font at a resolution
+of 600dpi. (On DOS filesystems, it's more likely `dpi600\cmr10.pk'.)
+
+ Metafont actually outputs "generic font" (GF) files, e.g.,
+`cmr10.600gf', but the GF files are usually converted immediately to PK
+format (using the `gftopk' utility that comes with TeX) since PK files
+are smaller and contain the same information. (The GF format is a
+historical artifact.)
+
+
+File: dvips.info, Node: Virtual fonts, Next: Encodings, Prev: Glyph files, Up: Font concepts
+
+6.1.3 Virtual fonts
+-------------------
+
+A "virtual font" is constructed by extracting characters from one or
+more existing fonts and rearranging them, or synthesizing new characters
+in various ways. The explanation in this manual is intended to suffice
+for understanding enough about virtual fonts to use them with Dvips. It
+isn't a reference manual on virtual fonts. For more information: The
+primary document on virtual fonts is Donald E. Knuth, `TUGboat' 11(1),
+Apr. 1990, pp. 13-23, "Virtual Fonts: More Fun for Grand Wizards"
+(`CTAN:/info/virtual-fonts.knuth'; for CTAN info, *note unixtex.ftp:
+(kpathsea)unixtex.ftp.). (Don't be intimidated by the subtitle.)
+
+ A virtual font (`.vf') file specifies, for each character in the
+virtual font, a recipe for typesetting that character. A VF file, like
+a TFM file, is in a compressed binary format. The `vftovp' and
+`vptovf' programs convert a VF file to a human-readable VPL (virtual
+property list) format and back again. *Note vftovp invocation:
+(web2c)vftovp invocation, and *note vptovf invocation: (web2c)vptovf
+invocation.
+
+ In the case of a PostScript font F being used in a straightforward
+way, the recipe says: character I in the VF font is character J in font
+F. The font F is called a "base font". For example, the VF file could
+remap the characters of the PostScript font to the positions where TeX
+expects to find them. *Note Encodings::.
+
+ Since TeX reads only TFM files, not VF's, each VF must have a
+corresponding TFM for use with TeX. This corresponding TFM is created
+when you run `vptovf'.
+
+ You can "expand" virtual fonts into their base fonts with DVIcopy
+(*note dvicopy invocation: (web2c)dvicopy invocation.). This is useful
+if you are using a DVI translator that doesn't understand vf's itself.
+
+
+File: dvips.info, Node: Encodings, Next: PostScript typesetting, Prev: Virtual fonts, Up: Font concepts
+
+6.1.4 Encodings
+---------------
+
+Every font, whatever its type, has an "encoding", that specifies the
+correspondence between "logical" characters and character codes. For
+example, the ASCII encoding specifies that the character numbered 65
+(decimal) is an uppercase `A'. The encoding does not specify what the
+character at that position looks like; there are lots of ways to draw an
+`A', and a glyph file (*note Glyph files::) tells how. Nor does it
+specify how much space that character occupies; that information is in a
+metric file (*note Metric files::).
+
+ TeX implicitly assumes a particular encoding for the fonts you use
+with it. For example, the plain TeX macro `\'', which typesets an
+acute accent over the following letter, assumes the acute accent is at
+position 19 (decimal). This happens to be true of standard TeX fonts
+such as Computer Modern, as you might expect, but it is not true of
+normal PostScript fonts.
+
+ It's possible but painful to change all the macros that assume
+particular character positions. A better solution is to create a new
+font with the information for the acute accent at position 19, where
+TeX expects it to be. *Note Making a font available::.
+
+ PostScript represents encodings as a sequence of 256 character names
+called an "encoding vector". An "encoding file" (`.enc') gives such a
+vector, together with ligature and kerning information (with which we
+are not concerned at the moment). These encoding files are used by the
+Afm2tfm program. Encoding files are also downloaded to the PostScript
+interpreter in your printer if you use one of them in place of the
+default encoding vector for a particular PostScript font.
+
+ Examples of encodings: the `dvips.enc' encoding file that comes with
+the Fontname distribution (`http://tug.org/fontname') is a good (but
+not perfect) approximation to the TeX encoding for TeX's Computer
+Modern text fonts. This is the encoding of the fonts that originated
+with Dvips, such as `ptmr.tfm'. The distribution includes many other
+encoding files; for example, `8r.enc', which is the base font for the
+current PostScript font distribution, and three corresponding to the
+TeX mathematics fonts: `texmext.enc' for math extensions,
+`texmital.enc' for math italics, and `texmsym.enc' for math symbols.
+
+
+File: dvips.info, Node: PostScript typesetting, Prev: Encodings, Up: Font concepts
+
+6.1.5 How PostScript typesets a character
+-----------------------------------------
+
+The output of Dvips is a program in the PostScript language that
+instructs your (presumably PostScript-capable) printer how to typeset
+your document by transforming it into toner on paper. Your printer, in
+turn, contains a PostScript interpreter that carries out the
+instructions in this typesetting program.
+
+ The program must include the definition of any PostScript fonts that
+you use in your document. Fonts built into your printer (probably the
+standard 35: `Times-Roman', `ZapfDingbats', ...) are defined within the
+interpreter itself. Other fonts must be downloaded as pfa or pfb files
+(*note Glyph files::) from your host (the computer on which you're
+running Dvips).
+
+ You may be wondering exactly how a PostScript interpreter figures out
+what character to typeset, with this mass of metrics, glyphs, encodings,
+and other information. (If you're not wondering, skip this section ...)
+
+ The basic PostScript operator for imaging characters is `show'.
+Suppose you've asked TeX to typeset an `S'. This will eventually wind
+up in the Dvips output as the equivalent of this PostScript operation:
+
+ (S) show
+
+Here is how PostScript typesets the `S':
+
+ 1. PostScript interpreters use ASCII; therefore `S' is represented as
+ the integer 83. (Any of the 256 possible characters representable
+ in a standard 8-bit byte can be typeset.)
+
+ 2. A PostScript "dictionary" is a mapping of names to arbitrary
+ values. A font, to the interpreter, is a dictionary which
+ contains entries for certain names. (If these entries are
+ missing, the interpreter refuses to do anything with that font.)
+
+ PostScript has a notion of "the current font"--whatever font is
+ currently being typeset in.
+
+ 3. One of the mandatory entries in a font dictionary is `Encoding',
+ which defines the encoding vector (*note Encodings::) for that
+ font. This vector of 256 names maps each possible input character
+ to a name.
+
+ 4. The interpreter retrieves the entry at position 83 of the encoding
+ vector. This value is a PostScript name: `/S'.
+
+ 5. For Type 1 fonts (we're not going to discuss anything else), the
+ interpreter now looks up `/S' as a key in a dictionary named
+ `CharStrings', another mandatory entry in a font dictionary.
+
+ 6. The value of `S' in `CharStrings' is the equivalent of a series of
+ standard PostScript commands like `curveto', `lineto', `fill', and
+ so on. These commands are executed to draw the character. There
+ can also be "hint information" that helps adapt the character to
+ low-resolution rasters. (*Note Glyph files::.) The commands are
+ actually represented in a more compact way than standard
+ PostScript source; see the Type 1 book for details.
+
+
+ This method for typesetting characters is used in both Level 1 and
+Level 2 PostScript. See the PostScript reference manuals for more
+information.
+
+
+File: dvips.info, Node: Making a font available, Next: Invoking afm2tfm, Prev: Font concepts, Up: PostScript fonts
+
+6.2 Making a PostScript font available
+======================================
+
+To make a PostScript font available in a TeX document, you need to
+install the font on your system and then define it within the document.
+Once you have installed the font, of course, it is available for any
+document thereafter and you don't need to reinstall it. You must have
+an AFM file for any font you install. Unless the font is built into your
+printer, you must also have a PFA or PFB file.
+
+ In the following examples, we use the font `Times-Roman' to
+illustrate the process. But you should use the prebuilt fonts for Times
+and the other standard fonts, rather than rebuilding them. The prebuilt
+fonts are made using a more complicated process than that described
+here, to make them work as well as possible with TeX. So following the
+steps in this manual will not generate files identical to the
+distributed ones. *Note PostScript font installation::, for pointers to
+the prebuilt fonts.
+
+ Installation of a PostScript font proceeds in three steps. *Note
+Font concepts::, for descriptions of the various files involved.
+
+ 1. Run `afm2tfm' to create a TFM file for the original font, and the
+ VPL form of the virtual font:
+ afm2tfm Times-Roman -v ptmr rptmr
+
+ 2. Run `vptovf' to generate a VF and TFM file for the virtual font
+ from the VPL file:
+ vptovf ptmr.vpl ptmr.vf ptmr.tfm
+
+ 3. Insert an entry for the font in `psfonts.map' (*note
+ psfonts.map::):
+ rptmr Times-Roman <ptmr8a.pfa
+
+ 4. Install the files in the standard locations, as in:
+ cp ptmr.vf FONTDIR/vf/...
+ cp *ptmr.tfm FONTDIR/tfm/...
+ cp ptmr.afm FONTDIR/afm/...
+ cp ptmr.pf? FONTDIR/type1/...
+
+ The simplest invocation of Afm2tfm to make virtual fonts goes
+something like this:
+
+ afm2tfm Times-Roman -v ptmr rptmr
+
+This reads the file `Times-Roman.afm', and produces two files as
+output, namely the virtual property list'file `ptmr.vpl', and the "raw"
+font metric file `rptmr.tfm'. To use the font in TeX, you first run
+
+ vptovf ptmr.vpl ptmr.vf ptmr.tfm
+
+You should then install the virtual font file `ptmr.vf' where Dvips
+will see it and install `ptmr.tfm' and `rptmr.tfm' where TeX and Dvips
+will see them.
+
+ Using these raw fonts is not recommended; there are no raw fonts in
+the prebuilt PostScript fonts distributed along with Dvips. But
+nevertheless, that's how Afm2tfm presently operates, so that's what we
+document here. The `r' prefix convention is likewise historical
+accident.
+
+ You can also make more complex virtual fonts by editing `ptmr.vpl'
+before running `vptovf'; such editing might add the uppercase Greek
+characters in the standard TeX positions, for instance. (This has
+already been done for the prebuilt fonts.)
+
+ Once the files have been installed, you're all set. You can now do
+things like this in TeX:
+ \font\myfont = ptmr at 12pt
+ \myfont Hello, I am being typeset in 12-point Times-Roman.
+
+ Thus, we have two fonts, one actual (`rptmr', which is analogous to
+the font in the printer) and one virtual (`ptmr', which has been
+remapped to the standard TeX encoding (almost)), and has typesetting
+know-how added. You could also say
+
+ \font\raw = rptmr at 10pt
+
+and typeset directly with that, but then you would have no ligatures or
+kerning, and you would have to use Adobe character positions for special
+letters like the ligature `AE'. The virtual font `ptmr' not only has
+ligatures and kerning, and most of the standard accent conventions of
+TeX, it also has a few additional features not present in the Computer
+Modern fonts. For example, it includes all the Adobe characters (such
+as the Polish ogonek and the French guillemots). The only things you
+lose from ordinary TeX text fonts are the dotless `j' (which can be
+hacked into the VPL file with literal PostScript specials if you have
+the patience) and uppercase Greek letters (which just don't exist
+unless you buy them separately). *Note Reencoding with Afm2tfm::.
+
+ As a final step you need to record information about both the virtual
+font and the original font (if you ever might want to use it) in the
+`psfonts.map' file (*note psfonts.map::). For our example, you'd
+insert the following into `psfonts.map':
+ rptmr Times-Roman <ptmr8a.pfa
+
+Of course, `Times-Roman' is already built in to most every printer, so
+there's no need to download any Type 1 file for it. But if you are
+actually following these instructions for new fonts, most likely they
+are not built in to the printer.
+
+ These PostScript fonts can be scaled to any size. Go wild! Using
+PostScript fonts, however, does use up a great deal of the printer's
+memory and it does take time. You may find downloading bitmap fonts
+(possibly compressed, with the `Z' option) to be faster than using the
+built-in PostScript fonts.
+
+
+File: dvips.info, Node: Invoking afm2tfm, Next: psfonts.map, Prev: Making a font available, Up: PostScript fonts
+
+6.3 Invoking Afm2tfm
+====================
+
+The Afm2tfm program converts an AFM file for a PostScript font to a TFM
+file and a VPL file for a corresponding virtual font (or, in its
+simplest form, to a TFM file for the PostScript font itself). The
+results of the conversion are affected by the command-line options and
+especially by the reencodings you can specify with those options. You
+can also obtain special effects such as an oblique font.
+
+ An alternative to Afm2tfm for creating virtual fonts is Alan
+Jeffrey's `fontinst' program, available from
+`CTAN:fonts/utilities/fontinst' (for CTAN info, *note unixtex.ftp:
+(kpathsea)unixtex.ftp.).
+
+* Menu:
+
+* Changing font encodings:: Reencoding with -t, -p, -T.
+* Special font effects:: Oblique fonts, small caps, and such.
+* Afm2tfm options:: afm2tfm command-line options.
+
+
+File: dvips.info, Node: Changing font encodings, Next: Special font effects, Up: Invoking afm2tfm
+
+6.3.1 Changing font encodings
+-----------------------------
+
+Afm2tfm allows you to specify a different encoding for a PostScript font
+(for a general introduction to encodings, *note Encodings::). The `-t'
+option changes the TeX encoding, `-p' changes the PostScript encoding,
+and `-T' changes both simultaneously, as detailed in the sections below.
+
+* Menu:
+
+* Changing TeX encodings:: Where TeX finds a character.
+* Changing PostScript encodings:: Where PostScript finds a character.
+* Changing both encodings:: One and the same, simultaneously.
+* Reencoding with Afm2tfm:: Problems with the default encoding.
+* Encoding file format:: Syntax of an encoding file.
+
+
+File: dvips.info, Node: Changing TeX encodings, Next: Changing PostScript encodings, Up: Changing font encodings
+
+6.3.1.1 `-t': Changing TeX encodings
+....................................
+
+To build a virtual font with Afm2tfm, you specify the `-v' or `-V'
+option. You can then specify an encoding for that virtual font with `-t
+TEX-ENC'. (`-t' is ignored if neither `-v' nor `-V' is present.) Any
+ligature and kerning information you specify in TEX-ENC will be used in
+the VPL, in addition to the ligature and kerning information from the
+AFM file.
+
+ If the AFM file has no entry for a character specified in TEX-ENC,
+that character will be omitted from the output VPL.
+
+ The `-t' option is likely to be needed when you have a PostScript
+font corresponding to a TeX font other than a normal text font such as
+Computer Modern. For instance, if you have a PostScript font that
+contains math symbols, you'd probably want to use the encoding in the
+`texmsym.enc' file supplied with Dvips. (For a start; to actually get
+usable math fonts, you have to define much more than just an encoding.)
+
+
+File: dvips.info, Node: Changing PostScript encodings, Next: Changing both encodings, Prev: Changing TeX encodings, Up: Changing font encodings
+
+6.3.1.2 `-p': Changing PostScript encodings
+...........................................
+
+By default, Afm2tfm uses the encoding it finds in the AFM file. You can
+specify a different PostScript encoding with `-p PS-ENC'. This makes
+the raw TFM file (the one output by Afm2tfm) have the encoding
+specified in the encoding file PS-ENC. Any ligature or kern
+information specified in PS-ENC is ignored by Afm2tfm, since ligkern
+info is always omitted from the raw TFM.
+
+ If you use this option, you must also arrange to download PS-ENC as
+part of any document that uses this font. You do this by adding a line
+like the following one to `psfonts.map' (*note psfonts.map::):
+ zpopr Optima "MyEncoding ReEncodeFont" <myenc.enc
+
+ Using `-p' is the only way to access characters in a PostScript font
+that are neither encoded in the AFM file nor constructed from other
+characters. For instance, Adobe's `Times-Roman' font contains the
+extra characters `trademark' and `registered' (among others); these can
+only be accessed through such a PostScript reencoding.
+
+ The `8r' base encoding used for the current PostScript font
+distribution does do this reencoding, for precisely this reason.
+
+
+File: dvips.info, Node: Changing both encodings, Next: Reencoding with Afm2tfm, Prev: Changing PostScript encodings, Up: Changing font encodings
+
+6.3.1.3 `-T': Changing both TeX and PostScript encodings
+........................................................
+
+The option `-T ENC-FILE' is equivalent to `-p ENC-FILE -t ENC-FILE'.
+If you make regular use of a private non-standard reencoding `-T' is
+usually a better idea than the individual options, to avoid unexpected
+inconsistencies in mapping otherwise. An example of when you might use
+this option is a dingbats font: when you have a TeX encoding that is
+designed to be used with a particular PostScript font.
+
+
+File: dvips.info, Node: Reencoding with Afm2tfm, Next: Encoding file format, Prev: Changing both encodings, Up: Changing font encodings
+
+6.3.1.4 Reencoding with Afm2tfm
+...............................
+
+The Afm2tfm program creates the TFM and VF files for the virtual font
+corresponding to a PostScript font by "reencoding" the PostScript font.
+Afm2tfm generates these files from two encodings: one for TeX and one
+for PostScript. The TeX encoding is used to map character numbers to
+character names while the PostScript encoding is used to map each
+character name to a possibly different number. In combination, you can
+get access to any character of a PostScript font at any position for
+TeX typesetting.
+
+ In the default case, when you specify none of the `-t', `-p', or
+`-T' options, Afm2tfm uses a default TeX encoding (which mostly
+corresponds to the Computer Modern text fonts) and the PostScript
+encoding found in the AFM file being read. The reencoding is also
+sometimes called a "remapping".
+
+ For example, the default encodings reencode the acute accent in two
+steps: first the default TeX encoding maps the number 19 to the
+character name `acute'; then the default PostScript encoding, as found
+in the AFM file for an ordinary PostScript font, maps the character
+name `acute' to the number 194. (The PostScript encoding works in
+reverse, by looking in the encoding vector for the name and then
+yielding the corresponding number.) The combined mapping of 19 to 194
+shows up explicitly in the VF file and also implicitly in the fact that
+the properties of PostScript character 194 appear in position 19 of the
+TFM file for the virtual font.
+
+ The default encoding of the distributed fonts (e.g., `ptmr.tfm')
+mostly follows plain TeX conventions for accents. The exceptions: the
+Hungarian umlaut (which is at position `0x7D' in `cmr10', but position
+`0xCD' in `ptmr'); the dot accent (at positions `0x5F' and `0xC7',
+respectively); and the Scandinavian A ring `\AA', whose definition
+needs different tweaking. In order to use these accents with
+PostScript fonts or in math mode when `\textfont0' is a PostScript
+font, you will need to use the following definitions. These
+definitions will not work with the Computer Modern fonts for the
+relevant accents. They are already part of the distributed
+`psfonts.sty' for use with LaTeX.
+
+ \def\H#1{{\accent"CD #1}}
+ \def\.#1{{\accent"C7 #1}}
+ \def\dot{\mathaccent"70C7 }
+ \newdimen\aadimen
+ \def\AA{\leavevmode\setbox0\hbox{h}\aadimen\ht0
+ \advance\aadimen-1ex\setbox0\hbox{A}\rlap{\raise.67\aadimen
+ \hbox to \wd0{\hss\char'27\hss}}A}
+
+ As a kind of summary, here are the `CODINGSCHEME's that result from
+the various possible choices for reencoding.
+
+default encoding
+ (CODINGSCHEME TeX text + AdobeStandardEncoding)
+
+`-p dc.enc'
+ (CODINGSCHEME TeX text + DCEncoding)
+
+`-t dc.enc'
+ (CODINGSCHEME DCEncoding + AdobeStandardEncoding)
+
+`-T dc.enc'
+ (CODINGSCHEME DCEncoding + DCEncoding)
+
+
+The `CODINGSCHEME' line appears in the VPL file but is ignored by Dvips.
+
+
+File: dvips.info, Node: Encoding file format, Prev: Reencoding with Afm2tfm, Up: Changing font encodings
+
+6.3.1.5 Encoding file format
+............................
+
+Afm2tfm's encoding files have the same format as an encoding vector in a
+PostScript font. Here is a skeletal example:
+
+ % Comments are ignored, unless the first word after the percent sign
+ % is `LIGKERN'; see below.
+ /MyEncoding [ % exactly 256 entries follow, each with a leading `/'
+ /Alpha /Beta /Gamma /Delta ...
+ /A /B ... /Z
+ ... /.notdef /xfooaccent /yfooaccent /zfooaccent
+ ] def
+
+ These encoding files are downloaded as part of changing the encoding
+at the PostScript level (see the previous section).
+
+ Comments, which start with a percent sign and continue until the end
+of the line, are ignored unless they start with `LIGKERN' (see below).
+
+ The first non-comment word of the file must start with a forward
+slash `/' (i.e., a PostScript literal name) and defines the name of the
+encoding. The next word must be an left bracket `['. Following that
+must be precisely 256 character names; use `/.notdef' for any that you
+want to leave undefined. Then there must be a matching right bracket
+`]'. A final `def' token is optional. All names are case-sensitive.
+
+ Any ligature or kern information is given as a comment. If the first
+word after the `%' is `LIGKERN', then the entire rest of the line is
+parsed for ligature and kern information. This ligature and kern
+information is given in groups of words: each group is terminated by a
+space and a semicolon and (unless the semicolon is at the end of a
+line) another space.
+
+ In these `LIGKERN' statements, three types of information may be
+specified. These three types are ligature pairs, kerns to ignore, and
+the character value of this font's boundary character.
+
+ Throughout a `LIGKERN' statement, the boundary character is
+specified as `||'. To set the font's boundary character value for TeX:
+
+ % LIGKERN || = 39 ;
+
+ To indicate a kern to remove, give the names of the two characters
+(without the leading slash) separated by `{}', as in `one {} one ;'.
+This is intended to be reminiscent of the way you might use `{}' in a
+TeX file to turn off ligatures or kerns at a particular location.
+Either or both of the character names can be given as `*', which is a
+wild card matching any character; thus, all kerns can be removed with
+`* {} * ;'.
+
+ To specify a ligature, specify the names of the pair of characters,
+followed by the ligature operation (as in Metafont), followed by the
+replacing character name. Either (but not both) of the first two
+characters can be `||' to indicate a word boundary.
+
+ The most common operation is `=:' meaning that both characters are
+removed and replaced by the third character, but by adding the `|'
+character on either side of the `=:', you can retain either or both of
+the two leading characters. In addition, by suffixing the ligature
+operation with one or two `>' signs, you can make the ligature scanning
+operation skip that many resulting characters before proceeding. This
+works just like in Metafont. For example, the `fi' ligature is
+specified with `f i =: fi ;'. A more convoluted ligature is `one one
+|=:|>> exclam ;' which separates a pair of adjacent `1''s with an
+exclamation point, and then skips over two of the resulting characters
+before continuing searching for ligatures and kerns. You cannot give
+more >'s than |'s in an ligature operation, so there are a total of
+eight possibilities:
+
+ =: |=: |=:> =:| =:|> |=:| |=:|> |=:|>>
+
+ The default set of ligatures and kerns built in to Afm2tfm is:
+
+ % LIGKERN question quoteleft =: questiondown ;
+ % LIGKERN exclam quoteleft =: exclamdown ;
+ % LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+ % LIGKERN quoteleft quoteleft =: quotedblleft ;
+ % LIGKERN quoteright quoteright =: quotedblright ;
+ % LIGKERN space {} * ; * {} space ; 0 {} * ; * {} 0 ;
+ % LIGKERN 1 {} * ; * {} 1 ; 2 {} * ; * {} 2 ; 3 {} * ; * {} 3 ;
+ % LIGKERN 4 {} * ; * {} 4 ; 5 {} * ; * {} 5 ; 6 {} * ; * {} 6 ;
+ % LIGKERN 7 {} * ; * {} 7 ; 8 {} * ; * {} 8 ; 9 {} * ; * {} 9 ;
+
+
+File: dvips.info, Node: Special font effects, Next: Afm2tfm options, Prev: Changing font encodings, Up: Invoking afm2tfm
+
+6.3.2 Special font effects
+--------------------------
+
+Besides the reencodings described in the previous section, Afm2tfm can
+do other manipulations. (Again, it's best to use the prebuilt fonts
+rather than attempting to remake them.)
+
+ `-s SLANT' makes an obliqued variant, as in:
+
+ afm2tfm Times-Roman -s .167 -v ptmro rptmro
+
+This creates `ptmro.vpl' and `rptmro.tfm'. To use this font, put the
+line
+
+ rptmro Times-Roman ".167 SlantFont"
+
+into `psfonts.map'. Then `rptmro' (our name for the obliqued Times)
+will act as if it were a resident font, although it is actually
+constructed from Times-Roman via the PostScript routine `SlantFont'
+(which will slant everything 1/6 to the right, in this case).
+
+ Similarly, you can get an expanded font with
+
+ afm2tfm Times-Roman -e 1.2 -v ptmrre rptmrre
+
+and by recording the pseudo-resident font
+
+ rptmrre Times-Roman "1.2 ExtendFont"
+
+in `psfonts.map'.
+
+ You can also create a small caps font with a command such as
+
+ afm2tfm Times-Roman -V ptmrc rptmrc
+
+This will generate a set of pseudo-small caps mapped into the usual
+lowercase positions and scaled down to 0.8 of the normal cap
+dimensions. You can also specify the scaling as something other than
+the default 0.8:
+
+ afm2tfm Times-Roman -c 0.7 -V ptmrc rptmrc
+
+ It is unfortunately not possible to increase the width of the small
+caps independently of the rest of the font. If you want a really
+professional looking set of small caps, you need to acquire a small caps
+font.
+
+ To change the `PaintType' in a font from filled (0) to outlined (2),
+you can add `"/PaintType 2 store"' to `psfonts.map', as in the
+following:
+
+ rphvrl Helvetica "/PaintType 2 store"
+
+ Afm2tfm writes to standard output the line you need to add to
+`psfonts.map' to use that font, assuming the font is resident in the
+printer; if the font is not resident, you must add the `<FILENAME'
+command to download the font. Each identical line only needs to be
+specified once in the `psfonts.map' file, even though many different
+fonts (small caps variants, or ones with different output encodings)
+may be based on it.
+
+
+File: dvips.info, Node: Afm2tfm options, Prev: Special font effects, Up: Invoking afm2tfm
+
+6.3.3 Afm2tfm options
+---------------------
+
+Synopsis:
+ afm2tfm [OPTION]... AFMFILE[.afm] [TFMFILE[.tfm]]
+
+ Afm2tfm reads AFMFILE and writes a corresponding (but raw) TFM file.
+If TFMFILE is not supplied, the base name of the AFM file is extended
+with `.tfm' to get the output filename.
+
+ The simplest example:
+
+ afm2tfm Times-Roman rptmr
+
+The TFM file thus created is "raw" because it omits ligature and kern
+information, and does no character remapping; it simply contains the
+character information in the AFM file in TFM form, which is the form
+that TeX understands. The characters have the same code in the TFM
+file as in the AFM file. For text fonts, this means printable ASCII
+characters will work ok, but little else, because standard PostScript
+fonts have a different encoding scheme than the one that plain TeX
+expects (*note Encodings::). Although both schemes agree for the
+printable ASCII characters, other characters such as ligatures and
+accents vary. Thus, in practice, it's almost always desirable to create
+a virtual font as well with the `-v' or `-V' option. *Note Making a
+font available::.
+
+ The command line options to Afm2tfm:
+
+`-c RATIO'
+ See `-V'; overrides the default ratio of 0.8 for the scaling of
+ small caps.
+
+`-e RATIO'
+ Stretch characters horizontally by RATIO; if less than 1.0, you
+ get a condensed font.
+
+`-O'
+ Output all character codes in the `vpl' file as octal numbers, not
+ names; this is useful for symbol or other special-purpose fonts
+ where character names such as `A' have no meaning.
+
+`-p PS-ENC'
+ Use PS-ENC for the destination (PostScript) encoding of the font;
+ PS-ENC must be mentioned as a header file for the font in
+ `psfonts.map'. *Note Changing PostScript encodings::.
+
+`-s SLANT'
+ Slant characters to the right by SLANT. If SLANT is negative, the
+ letters slope to the left (or they might be upright if you start
+ with an italic font).
+
+`-t TEX-ENC'
+ Use TEX-ENC for the target (TeX) encoding of the font. Ligature
+ and kern information may also be specified in FILE. FILE is not
+ mentioned in `psfonts.map'.
+
+`-T PS-TEX-ENC'
+ Use PS-TEX-ENC for both the PostScript and target TeX encodings of
+ the font. Equivalent to `-p FILE -t FILE'.
+
+`-u'
+ Use only those characters specified in the TeX encoding, and no
+ others. By default, Afm2tfm tries to include all characters in the
+ input font, even those not present in the TeX encoding (it puts
+ them into otherwise-unused positions, arbitrarily).
+
+`-v VPL-FILE'
+ Output a VPL (virtual property list) file, as well as a TFM file.
+
+`-V VPL-FILE'
+ Same as `-v', but the virtual font generated is a pseudo small caps
+ font obtained by scaling uppercase letters by 0.8 to typeset
+ lowercase. This font handles accented letters and retains proper
+ kerning.
+
+
+File: dvips.info, Node: psfonts.map, Prev: Invoking afm2tfm, Up: PostScript fonts
+
+6.4 `psfonts.map': PostScript font catalog
+==========================================
+
+The `psfonts.map' file associates a PostScript font with related files
+and constructs. Each line has the format:
+
+ FILENAME POSTSCRIPT-NAME OPTIONS
+
+ For example, the line
+ rpstrn StoneInformal <StoneInformal.pfb
+ causes Dvips to download `StoneInformal.pfb' (just as if it were a
+header file, *note Header files::) if the DVI file (or a virtual font,
+*note Virtual fonts::) references the TFM file `rpstrn'. The
+PostScript `/FontName' of the font defined inside the `pfb' file should
+be `StoneInformal'.
+
+ You can generate transformed fonts with a line like this:
+ rpstrc StoneInformal <StoneInformal.pfb ".8 ExtendFont"
+
+*Note Special font effects::, for a complete list of font effects.
+
+ You can change the encoding of the Type 1 font at the PostScript
+level with a `ReEncodeFont' instruction, plus the name of the encoding
+file. This allows you access to characters that may be present in the
+Type 1 font file, but not encoded by default--most of the preaccented
+characters, for example. An example:
+ pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" <8r.enc <pstrn8a.pfb
+
+ The `8r' encoding mentioned here has been designed to serve as a
+base for all downloadable fonts; it allows access to all the characters
+commonly present in a Type 1 font. For more details, see the `8r.enc'
+source file that comes with (and is installed with) Dvips.
+
+ You may notice that the same syntax is used for downloading encoding
+vectors and Type 1 font files. To make your intentions clear, you can
+also use `<[' to explicitly indicate you are downloading an encoding
+vector, as in:
+ pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" <[8r.enc <pstrn8a.pfb
+
+ If the filename of your encoding vector does not end in `.enc', and
+you are using partial font downloading, you must use the `<[' syntax,
+or Dvips will not download the font properly.
+
+ Similarly, the name of the Type 1 font file itself must have
+extension `.pfa' or `.pfb' for partial downloading to work properly.
+
+ When using PFB files, Dvips is smart enough to unpack the binary PFB
+format into printable ASCII so there is no need to perform this
+conversion yourself. In addition, Dvips scans the font to determine its
+memory usage, just as it does for other header files (*note Header
+files::).
+
+ If the `j' config file or command-line option is enabled (as it is
+by default), `StoneInformal.pfb' will be "partially downloaded"--only
+those characters your document actually uses will be extracted and
+downloaded, and the remainder discarded. *Note Option details::.
+
+ Adobe Multiple Master fonts, such as Minion, cannot be partially
+downloaded. To partially download in general, but avoid partial
+downloading for individual fonts, use `<<' instead `<':
+ pmnr8r Minion <<Minion.pfb
+
+ Here is a brief summary of how `psfonts.map' is read:
+
+ 1. If a line is empty or begins with a space, percent, asterisk,
+ semicolon, or hash mark, it is ignored.
+
+ 2. Otherwise, the line is separated into words, where words are
+ separated by spaces or tabs, except that if a word begins with a
+ double quote, it extends until the next double quote or the end of
+ the line.
+
+ 3. If a word starts with `<<', it is taken as a font file to be
+ wholly downloaded. Use this to avoid partial downloading, as
+ described above.
+
+ 4. If a word starts with `<[', it is taken as an encoding file to be
+ downloaded. Use this if the name of the encoding file does end in
+ `.enc', also as described above.
+
+ 5. If a word starts with a `<' character, it is treated as a header
+ file that needs to be downloaded. If the name ends in `.pfa' or
+ `.pfb', it is taken as Type 1 font file that will be partially
+ downloaded if the `j' option is in effect. There can be more than
+ one such header for a given font. If a `<' is a word by itself,
+ the next word is taken as the name of the header file.
+
+ 6. If a word starts with a `"' character, it is taken as PostScript
+ code used in generating that font, and is inserted into the output
+ verbatim at the appropriate point. (And the double quotes
+ beginning and ending the word are removed.)
+
+ 7. Otherwise the word is a name. The first such name is the TFM file,
+ that either a DVI file or a virtual font file can refer to. If
+ there is a second name, it is used as the PostScript name and
+ should match what is defined in the downloaded file; if there is
+ only one name, it is used for both the TeX name and the PostScript
+ name.
+
+
+
+File: dvips.info, Node: Color, Next: Index, Prev: PostScript fonts, Up: Top
+
+7 Color
+*******
+
+Dvips supports one-pass multi-color printing of TeX documents on any
+color PostScript device. Initially added by Jim Hafner, IBM Research,
+<hafner@almaden.ibm.com>, the color support has gone through many
+changes by Tomas Rokicki. Besides the source code support itself, there
+are additional TeX macro files: `colordvi.tex' and `blackdvi.tex', and
+corresponding `.sty' versions for use with LaTeX.
+
+ In this section we describe the use of color from the document
+preparer's point of view and then add some instructions on installation
+for the TeX administrator.
+
+* Menu:
+
+* Color macro files:: TeX macro definitions.
+* User-definable colors:: Adding your own colors.
+* Color subtleties:: Subtleties in using color.
+* Ted Turner:: Printing in black/white after colorizing.
+* Color device configuration:: Configuring Dvips for color devices.
+* Color support details:: Color support details
+
+
+File: dvips.info, Node: Color macro files, Next: User-definable colors, Up: Color
+
+7.1 Color macro files
+=====================
+
+All the color macro commands are defined in `colordvi.tex' (or
+`colordvi.sty'). To access these macros simply add to the top of your
+plain TeX file the command:
+ \input colordvi
+ For (the obsolete) LaTeX 2.09, add the `colordvi' style option as in:
+ \documentstyle[12pt,colordvi]{article}
+ For LaTeX 2e, these examples are not applicable. Instead, please see
+the documentation for the graphics package, available from
+`CTAN:doc/latex/graphics/'. See also `CTAN:doc/epslatex.ps'.
+
+ These macros provide two basic kinds of color macros: ones for local
+color changes (a few words, a single symbol) and one for global color
+changes (the whole document). All the color names use a mixed case
+scheme to avoid conflicts with other macros. There are 68 predefined
+colors, with names taken primarily from the Crayola crayon box of 64
+colors, and one pair of macros for the user to set his own color pattern
+(*note User-definable colors::). You can browse the file
+`colordvi.tex' for a list of the predefined colors. The comments in
+this file also show a rough correspondence between the crayon names and
+Pantones.
+
+ A local color command has the form
+
+ \COLORNAME{this is the color COLORNAME}
+
+where COLORNAME is the name of a predefined color, e.g., `Blue'. As
+shown, these macros take one argument, the text to print in the
+specified color. This can be used for nested color changes since it
+restores the original color state when it completes. For example:
+
+ This text is normal but here we are \Red{switching to red,
+ \Blue{nesting blue}, recovering the red} and back to original.
+
+The color nesting level has no hard limit, but it is not advisable to
+nest too deeply lest you and the reader lose track of the color history.
+
+ The global color command has the form
+
+ \textCOLORNAME
+
+These macros take no arguments and changes the default color from that
+point on to COLORNAME. This of course can be overridden globally by
+another such command or locally by local color commands. For example,
+expanding on the example above, we might have
+
+ \textGreen
+ This text is green but here we are \Red{switching to red,
+ \Blue{nesting blue}, recovering the red} and back to
+ original green.
+ \textCyan
+ The text from here on will be cyan until
+ \Yellow{locally changed to yellow}. Now we are back to cyan.
+
+ The color commands will even work in math mode and across math mode
+boundaries. This means that if you have a color before going into math
+mode, the mathematics will be set in that color as well. In alignment
+environments like `\halign', `tabular' or `eqnarray', local color
+commands cannot extend beyond the alignment characters.
+
+ Because local color commands respect only some environment and
+delimiter changes besides their own, care must be taken in setting
+their scope. It is best not to have them stretch too far.
+
+ At the present time there are no macros for color environments in
+LaTeX which might have a larger range. This is primarily to keep the
+TeX and LaTeX use compatible.
+
+
+File: dvips.info, Node: User-definable colors, Next: Color subtleties, Prev: Color macro files, Up: Color
+
+7.2 User-definable colors
+=========================
+
+There are two ways for the user to specify colors not already defined.
+For local changes, there is the command `\Color' which takes two
+arguments. The first argument is four numbers between zero and one and
+specifies the intensity of cyan, magenta, yellow and black (CMYK) in
+that order. The second argument is the text that should appear in the
+given color. For example, suppose you want the words "this color is
+pretty" to appear in a color which is 50% cyan, 85% magenta, 40% yellow
+and 20% black. You would use the command
+
+ \Color{.5 .85 .4 .2}{this color is pretty}
+
+ For global color changes, there is a command `\textColor' which
+takes one argument, the CMYK quadruple of relative color intensities.
+For example, if you want the default color to be as above, then the
+command
+
+ \textColor{.5 .85 .4 .2}
+ The text from now on will be this pretty color
+
+will do the trick.
+
+ Making a global color change in the midst of nested local colors is
+highly discouraged. Consequently, Dvips will give you warning message
+and do its best to recover by discarding the current color history.
+
+
+File: dvips.info, Node: Color subtleties, Next: Ted Turner, Prev: User-definable colors, Up: Color
+
+7.3 Color subtleties
+====================
+
+Color macros are defined via `\special' keywords. As such, they are
+put in the `.dvi' file only as explicit message strings to the driver.
+The (unpleasant) result is that certain unprotected regions of the text
+can have unwanted color side effects. For example, if a color region
+is split by TeX across a page boundary, then the footers of the current
+page (e.g., the page number) and the headers of the next page can
+inherit that color. To avoid this effect globally, users should make
+sure that these special regions of the text are defined with their own
+local color commands. For example, to protect the header and footer in
+plain TeX, use
+
+ \headline{\Black{My Header}}
+ \footline{\Black{\hss\tenrm\folio\hss}}
+
+ This warning also applies to figures and other insertions, so be
+careful!
+
+ Of course, in LaTeX, this is much more difficult to do because of the
+complexity of the macros that control these regions. This is
+unfortunate but inevitable, because TeX and LaTeX were not written with
+color in mind.
+
+ Even when writing your own macros, much care must be taken. The
+macros that `colorize' a portion of the text work prefix the text work
+by outputting one `\special' command to turn the color on before the
+text, and outputting another `\special' command afterwards to restore
+the original color. It is often useful to ensure that TeX is in
+horizontal mode before the first special command is issued; this can be
+done by prefixing the color command with `\leavevmode'.
+
+
+File: dvips.info, Node: Ted Turner, Next: Color device configuration, Prev: Color subtleties, Up: Color
+
+7.4 Printing in black/white after colorizing
+============================================
+
+If you have a TeX or LaTeX document written with color macros and you
+want to print it in black and white there are two options. On all
+(good) PostScript devices, printing a color file will print in
+corresponding gray levels. This is useful to get a rough idea of the
+colors without using expensive color printing devices. The second
+option is to replace the call to input `colordvi.tex' with
+`blackdvi.tex' (and similarly for the `.sty' files). So in the above
+example, replacing the word `colordvi' with `blackdvi' suffices.
+`blackdvi.tex' defines the color macros as no-ops, and so will produce
+normal black/white printing. By this simple mechanism, the user can
+switch to all black/white printing without having to ferret out the
+color commands. Also, some device drivers, particularly non-PostScript
+ones like screen previewers, will simply ignore the color commands and
+so print in black/white. Hopefully, in the future screen previewers
+for color displays will be compatible with some form of color support.
+
+
+File: dvips.info, Node: Color device configuration, Next: Color support details, Prev: Ted Turner, Up: Color
+
+7.5 Color device configuration
+==============================
+
+To configure Dvips for a particular color device you need to fine tune
+the color parameters to match your device's color rendition. To do
+this, you will need a Pantone chart for your device. The header file
+`color.lpro' shows a (rough) correspondence between the Crayola crayon
+names and the Pantone numbers and also defines default CMYK values for
+each of the colors. Note that these colors must be defined in CMYK
+terms and not RGB, as Dvips outputs PostScript color commands in CMYK.
+This header file also defines (if they are not known to the
+interpreter) the PostScript commands `setcmykcolor' and
+`currentcmykcolor' in terms of a RGB equivalent so if your device only
+understands RGB, there should be no problem.
+
+ The parameters set in this file were determined by comparing the
+Pantone chart of a Tektronix Phaser printer with the actual Crayola
+Crayons. Because these were defined for a particular device, the
+actual color rendition on your device may be very different. There are
+two ways to adjust this. One is to use the PAntone chart for your
+device to rewrite `color.lpro' prior to compilation and installation.
+A better alternative, which supports multiple devices, is to add a
+header file option in the configuration file (*note Configuration file
+commands::) for each device that defines, in `userdict', the color
+parameters for those colors that need redefining.
+
+ For example, if you need to change the parameters defining
+`Goldenrod' (approximately Pantone 109 on the Phaser) for your device
+`mycolordev', do the following. In the Pantone chart for your device,
+find the CMYK values for Pantone 109. Let's say they are `{\ 0 0.10
+0.75 0.03 }'. Then create a header file named `mycolordev.pro' with the
+commands
+
+ userdict begin
+ /Goldenrod { 0 0.10 0.75 0.03 setcmykcolor} bind def
+
+Finally, in `config.mycolordev' add the line
+
+ h mycolordev.pro
+
+This will then define `Goldenrod' in your device's CMYK values in
+`userdict' which is checked before defining it in `TeXdict' by
+`color.pro'. (On MS-DOS, you will have to call this file
+`mycolordev.cfg'.)
+
+ This mechanism, together with additions to `colordvi.tex' and
+`blackdvi.tex' (and the `.sty' files), can also be used to predefine
+other colors for your users.
+
+
+File: dvips.info, Node: Color support details, Prev: Color device configuration, Up: Color
+
+7.6 Color support details
+=========================
+
+To support color, Dvips recognizes a certain set of specials. These
+specials start with the keyword `color' or the keyword `background',
+followed by a color specification.
+
+* Menu:
+
+* Color specifications::
+* Color specials::
+
+
+File: dvips.info, Node: Color specifications, Next: Color specials, Up: Color support details
+
+7.6.1 Color specifications
+--------------------------
+
+What is a color specification? One of three things. First, it might be
+a PostScript procedure as defined in a PostScript header file. The
+`color.pro' file defines 64 of these, including `Maroon'. This
+PostScript procedure must set the current color to be some value; in
+this case, `Maroon' is defined as `0 0.87 0.68 0.32 setcmykcolor'.
+
+ The second possibility is the name of a color model (initially, one
+of `rgb', `hsb', `cmyk', or `gray') followed by the appropriate number
+of parameters. When Dvips encounters such a macro, it sends out the
+parameters first, followed by the string created by prefixing
+`TeXcolor' to the color model. Thus, the color specification `rgb 0.3
+0.4 0.5' would generate the PostScript code `0.3 0.4 0.5 TeXrgbcolor'.
+Note that the case of zero arguments is disallowed, as that is handled
+by the single keyword case (`Maroon') above, where no changes to the
+name are made before it is sent to the PostScript file.
+
+ The third and final type of color specification is a double quote
+followed by any sequence of PostScript. The double quote is stripped
+from the output. For instance, the color specification `"AggiePattern
+setpattern' will set the `color' to the Aggie logo pattern (assuming
+such exists.)
+
+
+File: dvips.info, Node: Color specials, Prev: Color specifications, Up: Color support details
+
+7.6.2 Color specials
+--------------------
+
+We will describe `background' first, since it is the simplest. The
+`background' keyword must be followed by a color specification. That
+color specification is used as a fill color for the background. The
+last `background' special on a page is the one that gets issued, and it
+gets issued at the very beginning of the page, before any text or
+specials are sent. (This is possible because the prescan phase of
+Dvips notices all of the color specials so that the appropriate
+information can be written out during the second phase.)
+
+ The `color' special itself has three forms. The first is just
+`color' followed by a color specification. In this case, the current
+global color is set to that color; the color stack must be empty when
+such a command is executed.
+
+ The second form is `color push' followed by a color specification.
+This saves the current color on the color stack and sets the color to be
+that given by the color specification. This is the most common way to
+set a color.
+
+ The final version of the `color' special is just `color pop', with
+no color specification; this says to pop the color last pushed on the
+color stack from the color stack and set the current color to be that
+color.
+
+ Dvips correctly handles these color specials across pages, even when
+the pages are repeated or reversed.
+
+ These color specials can be used for things such as patterns or
+screens as well as simple colors. However, note that in the
+PostScript, only one color specification can be active at a time. For
+instance, at the beginning of a page, only the bottommost entry on the
+color stack is sent; also, when a color is popped, all that is done is
+that the color specification from the previous stack entry is sent. No
+`gsave' or `grestore' is used. This means that you cannot easily mix
+usage of the `color' specials for screens and colors, just one or the
+other. This may be addressed in the future by adding support for
+different categories of color-like state.
+
+
+File: dvips.info, Node: Index, Prev: Color, Up: Top
+
+Index
+*****
+
+
+* Menu:
+
+* ! special (literal PS header): Literal headers. (line 6)
+* ! starting output filename: Option details. (line 233)
+* " 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 198)
+* %%Page, removing: Option details. (line 154)
+* %%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 109)
+* -: Option details. (line 11)
+* - as output filename: Option details. (line 233)
+* --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 122)
+* -i: Option details. (line 127)
+* -j for partial font downloading: Option details. (line 140)
+* -K: Option details. (line 154)
+* -k for cropmarks: Option details. (line 146)
+* -l [=]NUM: Option details. (line 163)
+* -M: Option details. (line 184)
+* -m: Option details. (line 172)
+* -mode: Option details. (line 175)
+* -mode MODE: Option details. (line 175)
+* -N: Option details. (line 198)
+* -n NUM: Option details. (line 195)
+* -noomega: Option details. (line 206)
+* -noptex: Option details. (line 212)
+* -O: Afm2tfm options. (line 41)
+* -o NAME: Option details. (line 228)
+* -O X-OFFSET,Y-OFFSET: Option details. (line 245)
+* -p [=]NUM: Option details. (line 263)
+* -P PRINTER: Option details. (line 277)
+* -p PS-ENC <1>: Afm2tfm options. (line 46)
+* -p PS-ENC: Changing PostScript encodings.
+ (line 6)
+* -pp FIRST-LAST: Option details. (line 272)
+* -pp RANGE: Option details. (line 272)
+* -PPRINTER, and config file searching: Configuration file searching.
+ (line 27)
+* -q: Option details. (line 296)
+* -R: Option details. (line 303)
+* -r: Option details. (line 300)
+* -s: Option details. (line 311)
+* -S NUM: Option details. (line 318)
+* -s SLANT: Afm2tfm options. (line 51)
+* -T ENC-FILE: Changing both encodings.
+ (line 6)
+* -T HSIZE,VSIZE: Option details. (line 347)
+* -t PAPERTYPE: Option details. (line 323)
+* -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 362)
+* -u PSMAPFILE: Option details. (line 354)
+* -V: Option details. (line 373)
+* -v: Option details. (line 370)
+* -V VPL-FILE: Afm2tfm options. (line 74)
+* -v VPL-FILE: Afm2tfm options. (line 71)
+* -X NUM: Option details. (line 390)
+* -x NUM: Option details. (line 382)
+* -Y NUM: Option details. (line 397)
+* -z: Hypertext. (line 6)
+* -Z for compressing bitmap fonts: Option details. (line 406)
+* -z for recognizing hyperdvi: Option details. (line 400)
+* ..-relative filenames: Option details. (line 303)
+* .afm Adobe metric files: Metric files. (line 26)
+* .dvipsrc, searched for: Configuration file searching.
+ (line 14)
+* .enc extension for encoding vectors: psfonts.map. (line 42)
+* .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 46)
+* .pfa printer font ascii files: Glyph files. (line 25)
+* .pfb extension required for partial downloading: psfonts.map.
+ (line 46)
+* .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 31)
+* 8r.enc: Encodings. (line 35)
+* < font downloading: psfonts.map. (line 11)
+* << whole font downloading: psfonts.map. (line 60)
+* <[ encoding vector downloading: psfonts.map. (line 36)
+* =: 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 323)
+* a4 paper size: Config file paper sizes.
+ (line 84)
+* a4 papertype: Option details. (line 323)
+* A4size paper size: Config file paper sizes.
+ (line 92)
+* absolute filenames, disabling: Option details. (line 303)
+* absolute page number, and -l: Option details. (line 163)
+* absolute page number, and -p: Option details. (line 263)
+* 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)
+* angle (psfile special option): psfile special. (line 36)
+* 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 31)
+* 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 <2>: EPSF scaling. (line 75)
+* bop-hook: Paper trays. (line 6)
+* bop-hook, and offset pages: Option details. (line 258)
+* 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)
+* c include additional config file: Configuration file commands.
+ (line 27)
+* 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)
+* clip (psfile special option): psfile special. (line 39)
+* 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 154)
+* compilation: Installation. (line 6)
+* compressed PostScript: Dynamic creation of graphics.
+ (line 6)
+* compressing bitmap fonts: Option details. (line 406)
+* 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 277)
+* config.ps installation: config.ps installation.
+ (line 6)
+* config.ps paper sizes: Config file paper sizes.
+ (line 84)
+* 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 56)
+* 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 146)
+* cropmarks: Option details. (line 146)
+* current font, in PostScript: PostScript typesetting.
+ (line 35)
+* D config command (dpi): Configuration file commands.
+ (line 31)
+* dated output: PostScript hooks. (line 16)
+* datestamp, in output: Configuration file commands.
+ (line 37)
+* debugging <1>: Option details. (line 52)
+* debugging: Diagnosing problems. (line 6)
+* debugging options: Debug options. (line 6)
+* default resolutions: Configuration file commands.
+ (line 131)
+* default_texsizes Make variable: Configuration file commands.
+ (line 147)
+* Deutsch, Peter: Ghostscript installation.
+ (line 6)
+* device dependency, and virtual fonts: Configuration file commands.
+ (line 170)
+* 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 400)
+* 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 55)
+* 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)
+* DVIPSDEBUG: Environment variables.
+ (line 17)
+* DVIPSFONTS: Environment variables.
+ (line 26)
+* DVIPSHEADERS: Environment variables.
+ (line 31)
+* DVIPSHEADERS, overrides H: Configuration file commands.
+ (line 55)
+* DVIPSMAKEPK: Environment variables.
+ (line 35)
+* DVIPSRC: Environment variables.
+ (line 41)
+* DVIPSSIZES: Environment variables.
+ (line 46)
+* DVIPSSIZES, overrides R: Configuration file commands.
+ (line 144)
+* dynamic creation of graphics: Dynamic creation of graphics.
+ (line 6)
+* e config command (maxdrift): Configuration file commands.
+ (line 34)
+* E config command (shell escape): Configuration file commands.
+ (line 37)
+* 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 19)
+* 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 45)
+* f config command (filter): Configuration file commands.
+ (line 45)
+* 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 131)
+* 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 263)
+* font concepts: Font concepts. (line 6)
+* font generation, avoiding: Option details. (line 184)
+* 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)
+* G character shifting config command: Configuration file commands.
+ (line 48)
+* 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 118)
+* 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 374)
+* h header downloading config command: Configuration file commands.
+ (line 52)
+* H header path config command: Configuration file commands.
+ (line 55)
+* Hafner, Jim: Color. (line 6)
+* header file, downloading: Option details. (line 122)
+* header files, defined: Header files. (line 6)
+* header path, defining: Configuration file commands.
+ (line 55)
+* 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)
+* hoffset (psfile special option): psfile special. (line 18)
+* 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)
+* hscale (psfile special option): psfile special. (line 30)
+* hsize (psfile special option): psfile special. (line 24)
+* html specials: Hypertext. (line 6)
+* html specials, and -z: Option details. (line 400)
+* 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 400)
+* 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 59)
+* 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 63)
+* Java DVI reader: Hypertext. (line 21)
+* Jeffrey, Alan: Invoking afm2tfm. (line 13)
+* K config command (comment-removal): Configuration file commands.
+ (line 67)
+* kerning, defined: Metric files. (line 15)
+* KPATHSEA_DEBUG: Environment variables.
+ (line 18)
+* landscape orientation, defined: Paper size and landscape.
+ (line 11)
+* landscape papertype: Option details. (line 323)
+* landscape, as \special: papersize special. (line 16)
+* last page printed: Option details. (line 163)
+* last-resort font scaling, with DVIPSSIZES: Environment variables.
+ (line 47)
+* last-resort scaling, with R: Configuration file commands.
+ (line 131)
+* ledger papertype: Option details. (line 323)
+* legal papertype: Option details. (line 323)
+* letter paper size: Config file paper sizes.
+ (line 84)
+* letter papertype: Option details. (line 323)
+* letterhead tray: Paper trays. (line 10)
+* letterSize paper size: Config file paper sizes.
+ (line 92)
+* 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)
+* llx (psfile special option): psfile special. (line 42)
+* lly (psfile special option): psfile special. (line 42)
+* long documents not printing: Long documents fail. (line 6)
+* low characters, shifting: Option details. (line 117)
+* lpr spooler, MS-DOS emulation: Option details. (line 233)
+* Lucida, installing: PostScript font installation.
+ (line 10)
+* m config command (available memory): Configuration file commands.
+ (line 71)
+* M config command (mf mode): Configuration file commands.
+ (line 90)
+* 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 382)
+* magnification, vertical: Option details. (line 393)
+* mailcap and hypertext: Hypertext specials. (line 53)
+* manual feed: Option details. (line 172)
+* maxdrift: Option details. (line 71)
+* maximum pages printed: Option details. (line 195)
+* media: Option details. (line 323)
+* memory available: Configuration file commands.
+ (line 71)
+* 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 175)
+* Metafont source files: Glyph files. (line 30)
+* metric files: Metric files. (line 6)
+* Minion typeface family: psfonts.map. (line 60)
+* missfont.log: Option details. (line 184)
+* MISSFONT_LOG: Option details. (line 187)
+* Mitsubishi Shinko CHC-S446i printer: No output. (line 14)
+* mkdvipspapers: Config file paper sizes.
+ (line 80)
+* mktexpk, avoiding: Option details. (line 184)
+* mktexpk, changing name: Environment variables.
+ (line 36)
+* mode name, specifying: Option details. (line 175)
+* Monotype fonts: PostScript font installation.
+ (line 10)
+* Monotype fonts, installing: PostScript font installation.
+ (line 19)
+* mtpk: Option details. (line 374)
+* multiple master fonts: psfonts.map. (line 60)
+* multiple output files: Option details. (line 127)
+* multiple paper trays: Paper trays. (line 6)
+* Murphy, Tim: Hypertext specials. (line 20)
+* N EPS-disabling config command: Configuration file commands.
+ (line 93)
+* name: Hypertext specials. (line 41)
+* narrow fonts: psfonts.map. (line 19)
+* no output at all: No output. (line 6)
+* non-printing characters, shifting: Option details. (line 117)
+* non-resident fonts: psfonts.map. (line 6)
+* nopaper, paper format for -t: Config file paper sizes.
+ (line 75)
+* O config command (offset): Configuration file commands.
+ (line 106)
+* o config command (output file): Configuration file commands.
+ (line 98)
+* 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 245)
+* Omega extensions: Option details. (line 206)
+* 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 98)
+* output files, multiple: Option details. (line 127)
+* output, inverted: Small or inverted. (line 6)
+* output, none: No output. (line 6)
+* output, redirecting: Option details. (line 228)
+* output, too small: Small or inverted. (line 6)
+* p config command (font aliases): Configuration file commands.
+ (line 109)
+* P config command (PK path): Configuration file commands.
+ (line 118)
+* page range: Option details. (line 272)
+* page, first printed: Option details. (line 263)
+* page, last printed: Option details. (line 163)
+* pages, maximum printed: Option details. (line 195)
+* 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 323)
+* papersize special: papersize special. (line 6)
+* papersize special, and no -t: Option details. (line 323)
+* partial font downloading: psfonts.map. (line 55)
+* 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 400)
+* pdfmark: Hypertext. (line 6)
+* pfa files: Glyph files. (line 25)
+* pfb files: Glyph files. (line 25)
+* pfb files, automatically unpacked: psfonts.map. (line 49)
+* 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 163)
+* physical page number, and -p: Option details. (line 263)
+* 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 118)
+* plotfile, ps subspecial: ps special. (line 30)
+* pltotf: Metric files. (line 39)
+* popen for output: Option details. (line 233)
+* portrait orientation, defined: Paper size and landscape.
+ (line 11)
+* 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 109)
+* PostScript font alias file: Option details. (line 354)
+* 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 50)
+* 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 71)
+* printer memory exhausted: Printer errors. (line 14)
+* printer offset: Option details. (line 245)
+* 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 374)
+* pTeX extensions: Option details. (line 206)
+* Q config command (quiet): Configuration file commands.
+ (line 125)
+* q config command (quiet): Configuration file commands.
+ (line 125)
+* quiet operation: Option details. (line 296)
+* r config command (page reversal): Configuration file commands.
+ (line 128)
+* R fallback resolution config command: Configuration file commands.
+ (line 131)
+* reencode/*.enc: Encodings. (line 35)
+* reencoding: Reencoding with Afm2tfm.
+ (line 6)
+* reencoding PostScript fonts: psfonts.map. (line 24)
+* 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 109)
+* resident fonts, different in different printers: Option details.
+ (line 354)
+* resolution: Option details. (line 390)
+* resolution, setting: Option details. (line 58)
+* reverse pagination: Option details. (line 300)
+* rhi (psfile special option): psfile special. (line 46)
+* Rokicki, Tomas: Why Dvips. (line 68)
+* rotate.tex: ps special. (line 34)
+* rwi (psfile special option): psfile special. (line 46)
+* S config command (pict path): Configuration file commands.
+ (line 156)
+* s config command (save/restore): Configuration file commands.
+ (line 153)
+* 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 311)
+* scaleunit: psfile special. (line 67)
+* 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 67)
+* 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 127)
+* security: Option details. (line 303)
+* shell command execution, disabling: Option details. (line 303)
+* shell escape, in config file: Configuration file commands.
+ (line 37)
+* Shinko CHC-S446i printer: No output. (line 14)
+* show PostScript operator: PostScript typesetting.
+ (line 23)
+* silent operation: Option details. (line 296)
+* 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 233)
+* standard I/O: Option details. (line 98)
+* standard input, reading options from: Option details. (line 11)
+* standard output, output to: Option details. (line 228)
+* standard PostScript, required by Ghostview: Ghostscript installation.
+ (line 17)
+* start-hook: PostScript hooks. (line 11)
+* structured comments: Option details. (line 198)
+* system in config file: Configuration file commands.
+ (line 37)
+* T config command (TFM path): Configuration file commands.
+ (line 161)
+* Tektronix Phaser printer, used for color calibration: Color device configuration.
+ (line 18)
+* testpage.tex: Option details. (line 252)
+* TeX encoding, changing: Changing TeX encodings.
+ (line 6)
+* TeX, including headers in: Including headers from TeX.
+ (line 6)
+* TEXCONFIG: Environment variables.
+ (line 55)
+* TEXFONTS, overrides P: Configuration file commands.
+ (line 118)
+* TEXFONTS, overrides T: Configuration file commands.
+ (line 161)
+* TEXINPUTS, overrides S: Configuration file commands.
+ (line 156)
+* texmext.enc: Encodings. (line 35)
+* TEXMFOUTPUT: Option details. (line 187)
+* texmital.enc: Encodings. (line 35)
+* texmsym.enc <1>: Changing TeX encodings.
+ (line 16)
+* texmsym.enc: Encodings. (line 35)
+* TEXPICTS: Environment variables.
+ (line 62)
+* TEXPICTS, overrides S: Configuration file commands.
+ (line 156)
+* TEXPKS, overrides P: Configuration file commands.
+ (line 118)
+* TEXSIZES, overrides R: Configuration file commands.
+ (line 144)
+* text in figures, chopped off: EPSF clipping. (line 6)
+* tfm files: Metric files. (line 31)
+* TFMFONTS, overrides T: Configuration file commands.
+ (line 161)
+* 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 198)
+* transforming downloaded fonts: psfonts.map. (line 19)
+* 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 166)
+* uncollated copies: Option details. (line 41)
+* uncompressing PostScript: Dynamic creation of graphics.
+ (line 6)
+* uniform resource locator: Hypertext specials. (line 20)
+* unknown, paper format for -t <1>: Config file paper sizes.
+ (line 69)
+* unknown, paper format for -t: papersize special. (line 29)
+* URL, definition: Hypertext specials. (line 27)
+* URL, extended for TeX: Hypertext specials. (line 20)
+* urx (psfile special option): psfile special. (line 42)
+* ury (psfile special option): psfile special. (line 42)
+* usage, basic: Basic usage. (line 6)
+* user-definable colors: User-definable colors.
+ (line 6)
+* userdict, and dictionary files: Header files. (line 21)
+* userdict, used for header files: Option details. (line 122)
+* V config command (vf path): Configuration file commands.
+ (line 170)
+* 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 170)
+* 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)
+* voffset (psfile special option): psfile special. (line 21)
+* vpl files: Virtual fonts. (line 16)
+* vptovf: Making a font available.
+ (line 52)
+* vscale (psfile special option): psfile special. (line 33)
+* vsize (psfile special option): psfile special. (line 27)
+* W config command (warning): Configuration file commands.
+ (line 175)
+* warning messages, defining: Configuration file commands.
+ (line 175)
+* warnings, suppressing: Option details. (line 296)
+* whole font downloading: psfonts.map. (line 60)
+* wide fonts: psfonts.map. (line 19)
+* X config command (horizontal resolution): Configuration file commands.
+ (line 182)
+* Xerox 4045: Option details. (line 362)
+* Y config command (vertical resolution): Configuration file commands.
+ (line 185)
+* Y&Y fonts, installing: PostScript font installation.
+ (line 19)
+* Z config command (compression): Configuration file commands.
+ (line 188)
+* z config command (secure mode): Configuration file commands.
+ (line 191)
+* | starting output filename: Option details. (line 233)
+
+
+
+Tag Table:
+Node: Top559
+Node: Why Dvips1303
+Node: Installation4751
+Node: config.ps installation5772
+Node: PostScript font installation8396
+Node: Ghostscript installation11270
+Node: Diagnosing problems12367
+Node: Debug options13462
+Node: No output14488
+Node: Small or inverted15956
+Node: Printer errors16675
+Node: Long documents fail18007
+Node: Including graphics fails18348
+Node: Invoking Dvips19586
+Node: Basic usage20177
+Node: Command-line options21205
+Node: Option summary21654
+Node: Option details23850
+Node: Environment variables43214
+Node: Config files46173
+Node: Configuration file searching46856
+Node: Configuration file commands50156
+Node: Paper size and landscape57365
+Node: papersize special58963
+Node: Config file paper sizes60372
+Node: Paper trays64527
+Node: Interaction with PostScript65861
+Node: PostScript figures66514
+Node: Bounding box67240
+Node: \includegraphics70611
+Node: EPSF macros72902
+Node: EPSF scaling74872
+Node: EPSF clipping77442
+Node: psfile special78084
+Node: Dynamic creation of graphics80477
+Node: Fonts in figures81795
+Node: Header files83455
+Node: Including headers from TeX84661
+Node: Including headers from the command line86695
+Node: Headers and memory usage87795
+Node: Literal PS88505
+Node: " special89087
+Node: ps special89828
+Node: Literal headers91326
+Node: PostScript hooks92041
+Node: Literal examples94131
+Node: Hypertext95583
+Node: Hypertext caveats97141
+Node: Hypertext specials101538
+Node: PostScript fonts104172
+Node: Font concepts105288
+Node: Metric files106455
+Node: Glyph files109281
+Node: Virtual fonts111637
+Node: Encodings113527
+Node: PostScript typesetting115930
+Node: Making a font available119012
+Node: Invoking afm2tfm124042
+Node: Changing font encodings125012
+Node: Changing TeX encodings125802
+Node: Changing PostScript encodings126902
+Node: Changing both encodings128246
+Node: Reencoding with Afm2tfm128919
+Node: Encoding file format132023
+Node: Special font effects136226
+Node: Afm2tfm options138489
+Node: psfonts.map141474
+Node: Color146206
+Node: Color macro files147250
+Node: User-definable colors150448
+Node: Color subtleties151723
+Node: Ted Turner153374
+Node: Color device configuration154599
+Node: Color support details157041
+Node: Color specifications157419
+Node: Color specials158822
+Node: Index160951
+
+End Tag Table
diff --git a/Master/texmf-dist/doc/info/eplain.info b/Master/texmf-dist/doc/info/eplain.info
new file mode 100644
index 00000000000..5b27ad3c3ae
--- /dev/null
+++ b/Master/texmf-dist/doc/info/eplain.info
@@ -0,0 +1,8187 @@
+This is eplain.info, produced by texi2any version 4.13.96+dev from
+eplain.texi.
+
+This manual documents the Eplain macros, version 3.5, February 2013.
+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 originally 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. Adam Lewenberg has made
+additions and corrections. Oleg Katsitadze wrote the section on LaTeX
+packages and the chapter on hyperlinks, and updates throughout.
+INFO-DIR-SECTION TeX
+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.5, February 2013.
+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 originally 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. Adam Lewenberg
+has made additions and corrections. Oleg Katsitadze wrote the section
+on LaTeX packages and the chapter on hyperlinks, and updates throughout.
+
+ The Eplain home page is <http://tug.org/eplain>.
+
+* 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.
+* Demo files:: Sample documents demonstrating Eplain.
+* 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.
+* Loading LaTeX packages:: Support for LaTeX packages under plain TeX.
+
+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.
+
+Contents
+
+* Writing the .toc file::
+* Reading the .toc file::
+* Changing the .toc file's root name::
+* Alternative contents files::
+
+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.
+* Index entries with special characters::
+* Proofing index terms:: Noting index entries in the margins.
+
+Loading LaTeX packages
+
+* 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.
+
+Hyperlinks
+
+* Introduction to hyperlinks::
+* Explicit hyperlinks::
+* Implicit hyperlinks::
+* Hyperlink drivers::
+* Setting hyperlink types and options::
+* Turning hyperlinks on/off::
+
+Implicit hyperlinks
+
+* General hyperlinks:: hrefint, hrefext
+* 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 driver hypertex::
+* Hyperlink drivers pdftex and dvipdfm::
+* Hyperlink driver nolinks::
+
+Hyperlink driver hypertex::
+
+* Destination types for hypertex::
+* Destination options for hypertex::
+* Link types for hypertex::
+* Link options for hypertex::
+
+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' and 'while' 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::
+* \ifempty::
+* \ifinteger and \isinteger::
+* \futurenonspacelet::
+
+Demo files
+
+* Hyperlinks (xhyper.tex)::
+* Highlighting TeX comments in listings (lscommnt.tex)::
+
+
+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. Its home on the web is <http://tug.org/eplain>.
+
+ This manual describes the definitions that you, as either an author
+or a macro writer, might like to use. It doesn't discuss the
+implementation; see comments in the source code ('xeplain.tex') for
+that.
+
+ Eplain is not intended to provide "generic" typesetting capabilities,
+as do LaTeX (written by Leslie Lamport) or Texinfo (written by Richard
+Stallman and others). Instead, it provides definitions that are
+intended to be useful regardless of the high-level commands that you use
+when you actually prepare your manuscript.
+
+ For example, Eplain does not have a command '\section', which would
+format section headings in an "appropriate" way, such as LaTeX's
+'\section'. The philosophy of Eplain is that some people will always
+need or want to go beyond the macro designer's idea of "appropriate".
+Such canned macros are fine--as long as you are willing to accept the
+resulting output. If you don't like the results, or if you are trying
+to match a different format, you are out of luck.
+
+ On the other hand, almost everyone would like capabilities such as
+cross-referencing by labels, so that you don't have to put actual page
+numbers in the manuscript. The author of Eplain is not aware of any
+generally available macro packages that (1) do not force their
+typographic style on an author, and yet (2) provide such capabilities.
+
+ Besides such generic macros as cross-referencing, Eplain contains
+another set of definitions: ones that change the conventions of plain
+TeX's output. For example, math displays in TeX are, by default,
+centered. If you want your displays to come out left-justified, you
+have to plow through 'The TeXbook' to find some way to do it, and then
+adapt the code to your own needs. Eplain tries to take care of the
+messy details of such things, while still leaving the detailed
+appearance of the output up to you.
+
+ Finally, numerous definitions turned out to be useful as Eplain was
+developed. They are also documented in this manual, on the chance that
+people writing other macros will be able to use them.
+
+ You can send bug reports or suggestions to <tex-eplain@tug.org>. The
+current version number of Eplain is defined as the macro '\fmtversion'
+at the end of the source file 'eplain.tex'. When corresponding, please
+refer to it.
+
+ To get on this mailing list yourself, email
+<tex-eplain-request@tug.org> with a message whose body contains a line
+
+ subscribe YOU@YOUR.PREFERRED.ADDRESS
+
+or visit <http://tug.org/mailman/listinfo/tex-eplain>.
+
+ David Walden had reported his experience with Eplain as a new user.
+The article is available online at
+<http://tug.org/pracjourn/2005-4/walden>. An introductory article
+(written for TUGboat) is also available online at
+<http://tug.org/eplain/misc/tb84katsi.pdf>.
+
+
+File: eplain.info, Node: Installation, Next: Invoking Eplain, Prev: Introduction, Up: Top
+
+2 Installation
+**************
+
+Your TeX installation should already contain a version of Eplain
+('eplain.tex') in its main 'texmf' tree (usually under
+'/usr/share/texmf/tex/eplain/' on Unix systems). To install a newer
+version of Eplain, put the new 'eplain.tex' (included in Eplain
+distributions) in the 'tex/eplain/' subdirectory of your local 'texmf'
+tree. The newer version you install in the local tree should override
+the older one in the main tree.
+
+ The location of the local 'texmf' tree obviously depends on your
+operating system and TeX installation. On Unix systems the usual
+location is '/usr/local/share/texmf/'. If you don't have write
+permissions for '/usr/local/share/texmf/', many installations read the
+'texmf' tree in the user's home directory; 'eplain.tex' then should go
+under '~/texmf/tex/eplain/'. For more information about TeX directory
+structure, please see
+<http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds>.
+
+ If you prefer to install 'eplain.tex' in a non-standard place, set an
+environment variable ('TEXINPUTS' for the Web2C port of TeX to Unix) to
+tell TeX how to find it.
+
+ 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 your local
+'texmf' tree or set an environment variable to tell TeX how to find it.
+For the Web2C port of TeX to Unix, format files are usually installed
+under '/usr/local/share/texmf/web2c/' or '/var/lib/texmf/web2c/'; the
+environment variable is 'TEXFORMATS'.
+
+
+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. The original sources can be found in Eplain source
+zip archive in your TeX distribution, on CTAN or on Eplain's home page
+at <http://tug.org/eplain>.
+
+ 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 conveniently, 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'.
+
+ On the other hand, if your document's bibliography is very simple,
+you may prefer to create the '.bbl' file yourself, by hand, instead of
+using BibTeX. An annotated example of this approach is also given
+below.
+
+ 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 above '\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::).
+
+ For simple documents you might choose to write the '.bbl' file
+yourself, instead of running BibTeX. For this scenario, the following
+commands should suffice:
+
+ $ tex citex (read citex.bbl, produces undefined citation messages)
+ $ tex citex (one more time, to resolve the references)
+
+ 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.
+* Commands from LaTeX:: LaTeX commands defined by 'btxmac'.
+
+
+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, Next: Commands from LaTeX, 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.
+
+'\biblabelprecontents'
+'\biblabelpostcontents'
+ Macros expanded before and after '\biblabelcontents', respectively.
+ For example, to get left-justified numeric labels (they are
+ right-justified by default):
+
+ \def\biblabelprecontents{\relax}
+ \def\biblabelpostcontents{\hss}
+
+'\bblrm'
+ The default font used for printing the bibliography.
+
+'\bblem'
+ The font used for printing the titles and other "emphasized"
+ material.
+
+'\bblemph'
+ Typesets its argument using '\bblem', then inserts an italic
+ correction.
+
+'\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 desperate, of course you can also hand-edit the .bbl file
+that BibTeX produces to do anything you wish.
+
+
+File: eplain.info, Node: Commands from LaTeX, Prev: Formatting bibliographies, Up: Citations
+
+4.3.3 Commands from LaTeX
+-------------------------
+
+Because of the historical connection between BibTeX and LaTeX, in
+practice many bibliography styles and bibliographies use LaTeX commmands
+that are not part of bibliography handling, per se.
+
+ To support this, 'btxmac.tex' (and thus Eplain) define the following.
+In all cases, an existing definition (e.g., from 'miniltx.tex', *note
+Loading LaTeX packages: Loading LaTeX packages.) will not be
+overwritten. Here is the list:
+
+'\newcommand'
+'\renewcommand'
+'\providecommand'
+ Defining new commands in various ways. The Eplain versions do not
+ support the *-form of these; use 'miniltx' for that.
+
+'\em'
+'\emph'
+'\sc'
+'\textbf'
+ Selecting fonts.
+
+'\mbox'
+ A horizontal box.
+
+'\newblock'
+ Starts elements of a bibliography entry.
+
+ For full information about these, see the LaTeX manual and sources.
+
+
+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'.
+
+ Eplain defines '\eqnum' and '\eqalignnum' which can be set up to
+produce either left-aligned or right-aligned equation numbers.
+'\lefteqnumbers' ('\righteqnumbers') will define '\eqnum' to expand to
+'\eqno' ('\leqno'), and '\eqalignnum' to expand to '\eqalignno'
+('\leqalignno'). Default is '\righteqnumbers' (right-aligned equation
+numbers).
+
+* 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).
+
+ '\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.
+
+ Normally, the '\listing' command will add a final empty line at the
+end of the output, even if the file does not end in a newline. To
+suppress this final line, you can say '\let\setuplistinghook =
+\nolastlinelisting'. This also works with line numbers (say
+'\def\setuplistinghook{\linenumberedlisting \nolastlinelisting}'), but
+only if '\printlistinglineno' consists exclusively of boxes at the top
+level (i.e., any '\kern's or glue should be wrapped up in a box).
+
+ You can use the form feed control character (ASCII code 12, typed as
+'CTRL-L') in the file to force a page break in the output.
+
+ 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'.
+
+ To reset the category code of all special characters to 12 ("other"),
+'\verbatim' uses '\uncatcodespecials' (*note Category codes::). If you
+make additional characters "special", you should extend '\dospecials' to
+include those characters, lest they be given special treatment inside
+verbatim environments. For example,
+
+ \catcode`\A=\active
+ % Try commenting out the following line.
+ \expandafter\def\expandafter\dospecials\expandafter{\dospecials\do\A}
+ \verbatimA#$%_^|endverbatim
+
+ 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.
+
+* Menu:
+
+* Writing the .toc file::
+* Reading the .toc file::
+* Changing the .toc file's root name::
+* Alternative contents files::
+
+
+File: eplain.info, Node: Writing the .toc file, Next: Reading the .toc file, Up: Contents
+
+4.8.1 Writing the .toc file
+---------------------------
+
+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}' (unless PART is an integer, see
+below). 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}
+
+ A variation on '\writenumberedtocentry' is '\writenumberedtocline',
+differing only in the order of the parameters it takes and writes for
+the '\tocPARTentry' control sequences. To continue the previous example:
+
+ \writenumberedtocline{chapter}{\the\chapno}{A $\sin$ wave}
+
+writes the following to the .toc file:
+
+ \tocchapterentry{3}{A $\sin$ wave}{8}
+
+Such ordering of the parameters allows the '\tocPARTentry' macros to
+typeset the text of the entry without actually reading it as an
+argument. This is required for entries which need to change character
+catcodes, e.g., to produce verbatim text (*note Verbatim listing::).
+
+ Each of '\writetocentry', '\writenumberedtocentry' and
+'\writenumberedtocline' processes a numeric PART argument specially. If
+you pass PART expanding to an integer, these macros write into the .toc
+file an entry that starts with '\tocentry{PART}'. Thus, you can define a
+single '\tocentry' macro which formats all entries for a table of
+contents. To continue the previous examples:
+
+ \writenumberedtocentry{1}{A $\sin$ wave}{\the\chapno}
+ \writenumberedtocline{1}{\the\chapno}{A $\sin$ wave}
+ \writetocentry{2}{A section title}
+
+writes the following to the .toc file:
+
+ \tocentry{1}{A $\sin$ wave}{3}{8}
+ \tocentry{1}{3}{A $\sin$ wave}{8}
+ \tocentry{2}{A section title}{9}
+
+
+File: eplain.info, Node: Reading the .toc file, Next: Changing the .toc file's root name, Prev: Writing the .toc file, Up: Contents
+
+4.8.2 Reading the .toc file
+---------------------------
+
+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', '\writenumberedtocentry' and
+'\writenumberedtocline' 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'.
+
+
+File: eplain.info, Node: Changing the .toc file's root name, Next: Alternative contents files, Prev: Reading the .toc file, Up: Contents
+
+4.8.3 Changing the .toc file's root name
+----------------------------------------
+
+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'.
+
+ Note that '\writetocentry', '\writenumberedtocentry' and
+'\writenumberedtocline' will open the contents file for writing only at
+the first call, using the value of '\tocfilebasename' at that time.
+Changing the value of '\tocfilebasename' afterwards will not affect
+which file gets _written_, although it will affect which file gets
+_read_ by '\readcontentsfile'. In case you need to write several
+contents files from a single TeX job, use '\definecontentsfile' (*note
+Alternative contents files::).
+
+
+File: eplain.info, Node: Alternative contents files, Prev: Changing the .toc file's root name, Up: Contents
+
+4.8.4 Alternative contents files
+--------------------------------
+
+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 '\eqnum' command
+ (*note Displays::). (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 '\eqnum' 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
+want 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.
+
+ As another example, consider the following requirement: we want to
+include chapter number in all equation references, and additionally we
+want to include the part number when referencing an equation from any
+part other than the one where the equation appears. For example,
+references to the third equation in chapter 2 of part 1 should be
+typeset as '(2.3)' throughout part 1, but as '(I.2.3)' in any other
+part. Let's assume we have the current chapter and part numbers in count
+registers '\chapnum' and '\partnum', respectively.
+
+ The idea is to have '\eqconstruct' store the part number of the
+equation (that is, the part number _at the time of definition_), so that
+later '\eqprint' can compare the stored number with the current part
+number (that is, the part number _at the time of reference_). The
+complicating factor is that internally, the result of '\eqconstruct' is
+both expanded and written out to the '.aux' file, _and_ used to typeset
+the equation number, so the commands that store the part number should
+behave correctly in both situations. This is difficult to achieve with
+expandable commands; therefore, to avoid expansion problems, we are
+going to use only TeX primitives, which are non-expandable:
+
+ \newcount\eqpartnum
+
+ \def\eqconstruct#1{%
+ \global\eqpartnum=\the\partnum\relax
+ \number\chapnum.#1%
+ }
+
+ \def\eqprint#1{%
+ \setbox0=\hbox{#1}%
+ (\ifnum\partnum=\eqpartnum \else
+ \uppercase\expandafter{\romannumeral\eqpartnum}.%
+ \fi
+ \box0)%
+ }%
+
+In '\eqconstruct', besides constructing the base equation number (e.g.,
+'1.2'), we also store the part number of the equation in the count
+register '\eqpartnum' ('\the\partnum' is expanded when the equation
+number is written to the '.aux' file, so the equation label definition
+in the '.aux' file will contain the actual part number). In '\eqprint',
+we need to know the equation's part number before we typeset the base
+equation number, therefore we first put the argument in a box, thus
+causing '\eqpartnum' to be set.
+
+
+File: eplain.info, Node: Subequation references, Prev: Formatting equation references, Up: Equation references
+
+4.11.2 Subequation references
+-----------------------------
+
+Eplain also provides for one level of substructure for equations. That
+is, you might want to define a related group of equations with numbers
+like '2.1' and '2.2', and then be able to refer to the group as a whole:
+"... in the system of equations (2)...".
+
+ The commands to do this are '\eqsubdef' and '\eqsubdefn'. They take
+one LABEL argument like their counterparts above, and generally behave
+in the same way. The difference is in how they construct the equation
+number: instead of using just '\eqnumber', they also use another
+counter, '\subeqnumber'. This counter is advanced by one at every
+'\eqsubdef' or '\eqsubdefn', and reset to zero at every '\eqdef' or
+'\eqdefn'.
+
+ You use '\eqref' to refer to subequations as well as main equations.
+
+ To put the two together to construct the text that the label will
+produce, they use a macro '\eqsubreftext'. This macros takes two
+arguments, the "main" equation number (which, because the equation label
+can be defined as arbitrary text, as described in the previous section,
+might be anything at all) and the "sub" equation number (which is always
+just a number). Eplain's default definition just puts a period between
+them:
+
+ \def\eqsubreftext#1#2{#1.#2}%
+
+You can redefine '\eqsubreftext' to print however you like. For example,
+this definition makes the labels print as '2a', '2b', and so on.
+
+ \newcount\subref
+ \def\eqsubreftext#1#2{%
+ \subref = #2 % The space stops a <number>.
+ \advance\subref by 96 % `a' is character code 97.
+ #1\char\subref
+ }
+
+Sadly, we must define a new count register, '\subref', instead of using
+the scratch count register '\count255', because '#1' might include other
+macro calls which use '\count255'.
+
+
+File: eplain.info, Node: Indexing, Next: Justification, Prev: Equation references, Up: User definitions
+
+4.12 Indexing
+=============
+
+Eplain provides support for generating raw material for an index, and
+for typesetting a sorted index. A separate program must do the actual
+collection and sorting of terms, because TeX itself has no support for
+sorting.
+
+ Eplain can create hypertext links pointing from the index to the
+index terms (*note Index hyperlinks::).
+
+ Eplain's indexing commands were designed to work with the program
+MakeIndex, available from CTAN hosts in
+'tex-archive/indexing/makeindex'; MakeIndex is also commonly included in
+prepackaged TeX distributions. It is beyond the scope of this manual to
+explain how to run MakeIndex, and all of its many options. See
+<http://www.ctan.org/tex-archive/indexing/makeindex>.
+
+ The basic strategy for indexing works like this:
+
+ 1. For a document 'foo.tex', Eplain's indexing commands (e.g., '\idx';
+ see the section 'Indexing terms' below) write the raw index
+ material to 'foo.idx'.
+
+ 2. MakeIndex reads 'foo.idx', collects and sorts the index, and writes
+ the result to 'foo.ind'.
+
+ 3. Eplain reads and typesets 'foo.ind' on a subsequent run of TeX. See
+ the section 'Typesetting an index' below.
+
+The 'texi2dvi' program can help you automate this process (*note
+Invoking Eplain::).
+
+ If your document needs more than one index, each must have its own
+file. Therefore, Eplain provides the command '\defineindex', which takes
+an argument that is a single letter, which replaces 'i' in the filenames
+and in the indexing command names described below. For example,
+
+ \defineindex{m}
+
+defines the command '\mdx' to write to the file 'foo.mdx'. Eplain simply
+does '\defineindex{i}' to define the default commands.
+
+ Note that MakeIndex does not use the above naming scheme for multiple
+indexes. Unless instructed otherwise, MakeIndex always writes its output
+to a file with extension '.ind'. For example, if you define an
+additional index with the command '\defineindex{j}', you'll need to run
+MakeIndex like this:
+
+ $ makeindex book.jdx -o book.jnd
+
+ For each index defined with '\defineindex{N}', Eplain provides a
+switch '\ifNdx' which controls whether indexing commands write index
+entries to the corresponding index file. However, even when index term
+writing is disabled, indexing commands still do all other processing of
+their arguments, including typesetting of proof index terms (*note
+Proofing index terms::.
+
+ For example, if you write '\idxfalse' near the beginning of a
+document 'foo.tex' (before the first indexing command), Eplain will not
+open the default index file ('foo.idx') and the corresponding indexing
+commands ('\idx', '\sidx', etc.) will not write index entries there.
+This may be useful for draft compilations of a manuscript, e.g., to
+avoid the overhead of index file input/output.
+
+* 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.
+* Index entries with special characters::
+* 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: Index entries with special characters, 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. The normal index entries
+ have to be created separately--'seealso' does _not_ contribute a
+ page number to the index entry. For example, if you have indexed a
+ term on pages 75, 97 and 114, and then add a 'seealso' entry for
+ the term:
+
+ \sidx[seealso]{archetypal criticism}[elements of]{dichotomies}
+
+ the index will contain
+
+ 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: Index entries with special characters, Next: Proofing index terms, Prev: Modifying index entries, Up: Indexing terms
+
+4.12.1.3 Index entries with special characters
+..............................................
+
+Indexing terms with special characters can become quite cumbersome
+because you have to keep both TeX and MakeIndex happy at the same time.
+For example, while '!' has no special meaning for TeX, it is a subentry
+separator for MakeIndex, therefore you'd have to escape occurrences of
+literal '!' in index terms. Things get even more interesting with
+characters which are special in both TeX and MakeIndex.
+
+ This in turn has some implications for the non-silent forms of the
+indexing commands (*note Indexing terms::), since TeX and MakeIndex use
+different conventions for escaping characters. For example, this will
+not typeset the exclamation point correctly within the text, while it
+will come out right inside the index, after MakeIndex strips the quoting
+character ('"'):
+
+ \idx{"!}
+
+This would have to be rewritten using the silent command:
+
+ !\sidx{"!}
+
+In general, it is a good idea to eschew the non-silent commands whenever
+index term contains anything unusual.
+
+ To understand this keep in mind that indexing commands read the terms
+verbatim so that the terms can embed almost any character, and that's
+what gets written into the '.idx' file. The non-silent forms then
+typeset the term by rescanning the verbatim copy, hence for the
+non-silent commands the term, besides being a valid MakeIndex input,
+must also represent a valid TeX input. The silent commands don't have
+this restriction--their terms only need to become valid TeX input
+_after_ MakeIndex processes the '.idx' file and writes the '.ind' file.
+This is what makes the non-silent commands less powerful and more
+troublesome when dealing with special characters.
+
+ Here's an example showing that terms for the silent commands can
+contain almost any character:
+
+ \sidx[see]{comments}[with %@with \verbatim %"|endverbatim]
+ {commenting with \verbatim %"|endverbatim}
+
+We didn't have to escape '%' in the sort string for MakeIndex, while we
+had to put it inside the verbatim environment (*note Verbatim listing::)
+in the part which MakeIndex will pass back to TeX. Also, we had to
+escape the '|' character because it is special for MakeIndex. If you
+have trouble understanding the reasons for the different types of
+escaping used, it is best to examine the '.idx' and '.ind' files
+resulting from processing the above input.
+
+ As was mentioned, index terms can embed "almost any character", so
+now we'll describe the exceptions.
+
+ The following characters are reset to their usual meanings because
+they are not useful verbatim: multiple consequent spaces are converted
+into a single space; ASCII tab characters are treated as spaces; ASCII
+return is treated as end-of-line (this means, among other things, that
+long terms can be broken across several lines).
+
+ You have to be careful with the begin- and end-group characters ('{'
+and '}' by default). If they are matched, you don't have to do anything
+special. For example:
+
+ \sidx {braces {, }@braces
+ \verbatim {"|endverbatim, \verbatim }"|endverbatim}
+
+However, if they are not matched you have two problems on hand. The
+first one is TeX--you have to instruct TeX to use something else as
+begin- and/or end-group characters. Eplain provides an easy way to do
+this: just define '\idxargopen' and/or '\idxargclose' to the begin- and
+end-group characters you are going to use with indexing macros, and use
+braces inside index terms without any restrictions. Here's an example:
+
+ \def\idxargopen{`\<}
+ \def\idxargclose{`\>}
+ \sidx <left brace "{@left brace \verbatim "{"|endverbatim>
+
+In this example we've also dealt with the second problem--braces are
+MakeIndex's grouping characters as well (by default), so we have escaped
+unmatched braces with '"'.
+
+ And the final note: if you need a subentry containing brackets ('['
+and ']'), avoid the optional argument of '\sidx' and friends, and use
+instead MakeIndex's subentry separator to create the subentry with the
+brackets in it:
+
+ \sidx{entry!subentry with a bracket [}
+
+
+File: eplain.info, Node: Proofing index terms, Prev: Index entries with special characters, Up: Indexing terms
+
+4.12.1.4 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
+contained in 'trimsee' distributed with Eplain in the 'util' 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 LaTeX styles and macro
+packages tackle more difficult applications. The 'autorows' feature of
+the Memoir package provides similar functionality to this.
+
+ 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 an unbreakable space of (essentially) size '\@normalvsize' minus
+'\pagetotal' (where '\@normalvsize' is 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 space (during the column splitting operation when the whole page is
+output). Bugs are easily possible, unfortunately.
+
+ 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 '\AMSLaTeX', '\AMSTeX', '\BibTeX' '\eTeX', '\ExTeX',
+'\LAMSTeX', '\LaTeX', '\MF', '\SLiTeX', '\XeLaTeX', and '\XeTeX' to
+produce their respective logos. (Sorry, the logos are not shown here.)
+Some spelling variants of these are also supported.
+
+ Most of 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:: Packages supported with Eplain.
+* 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 a concept 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.
+
+ Both the 'miniltx.tex' file used by Eplain and some LaTeX packages
+redefine TeX's primitive '\input' to be a macro. Under plain TeX, users
+probably expect the primitive '\input'. Therefore, at the beginning of
+the '\beginpackages...\endpackages' block Eplain saves the meaning of
+'\input' as '\eplaininput' and restores the original '\input' at the end
+of the block. This usually means that the primitive '\input' is
+restored, unless you (or some other macro package you've loaded
+directly) have redefined it before calling '\beginpackages'. In case you
+need to access the package-provided '\input', Eplain saves it as
+'\packageinput'.
+
+ Along the same lines, Eplain restores the catcode of '@' at
+'\endpackages' to whatever it was before (using '\resetatcatcode', as
+defined by 'miniltx.tex'). This is needed because 'miniltx.tex', read by
+'\beginpackages', does not restore the catcode of '@', but leaves it as
+11 (letter).
+
+ Sometimes you may encounter packages which make conflicting
+redefinitions of '\input'. Common symptoms are TeX spewing
+incomprehensible error messages or hanging in a loop at a call to
+'\input'. This sometimes cna be cured by restoring '\input' to
+'\eplaininput' before loading each package. For example:
+
+ \beginpackages
+ \usepackage{pack1}
+ \let\input\eplaininput
+ \usepackage{pack2}
+ \endpackages
+
+
+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/misc/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.
+
+ *Warning 1:* If you encounter problems loading one of these
+ packages under pdfTeX (more specifically, when pdfTeX reads
+ 'supp-mis.tex'), the cause may be an outdated 'supp-mis.tex' (part
+ of ConTeXt, a typesetting system for TeX) installed on your system.
+ The problem was fixed in 'supp-mis.tex' version 2004.10.26. You can
+ obtain up-to-date versions of 'supp-mis.tex' and the accompanying
+ 'supp-pdf.tex' from
+ <http://www.ctan.org/tex-archive/macros/pdftex/graphics>. To
+ convince TeX to use the new files, you have the following options
+ in the decreasing order of preference:
+
+ 1. put the new files in the same directory with your document;
+
+ 2. overwrite the outdated files installed by your TeX
+ distribution;
+
+ 3. install the new 'supp-mis.tex' and 'supp-pdf.tex' files in the
+ relevant subdirectory of your local 'texmf' tree (for info on
+ TeX directory structure see
+ <http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds>);
+
+ 4. upgrade your ConTeXt installation.
+
+ Note that option 1 is the safest but provides the fix only for your
+ current document. Options 2 and 3 will usually suffice for Eplain
+ but may break ConTeXt. Option 4 is the most general but is more
+ complicated than the first three. Be sure to backup any files you
+ overwrite. Also keep in mind that upgrading your TeX distribution
+ may overwrite files you install in the system 'texmf' tree.
+ *End of warning 1.*
+
+ *Warning 2:* If you encounter problems using the '\pagecolor'
+ command from the 'color.sty' package under pdfTeX, the cause may be
+ an outdated pdfTeX color and graphics driver 'pdftex.def'. The
+ problem was fixed in 'pdftex.def' version 0.03p. You can obtain an
+ up-to-date version from
+ <http://www.ctan.org/tex-archive/graphics/pdftex/pdftex.def>.
+ *End of warning 2.*
+
+ The 'graphics'/'graphicx' packages have the option 'draft' which
+ instructs '\includegraphics' not to include the graphics but
+ instead typeset a box with the dimensions of the graphics and the
+ name of the graphics file in typewriter type at the center of the
+ box. These packages expect the LaTeX-provided command '\ttfamily'
+ to switch to the typewrite type. This command is not defined by
+ 'miniltx.tex', therefore Eplain defines it and makes it equivalent
+ to plain TeX's '\tt'.
+
+ *Note Hyperlinks (xhyper.tex)::, for the demonstration of text
+ rotation and graphics inclusion using the 'graphicx' package, and
+ using the 'color' package to colorize hypertext links.
+
+ Klaus Ho"ppner has written a nice introduction to the LaTeX
+ graphics packages and different graphics formats. You can download
+ it from
+ <http://www.tug.org/pracjourn/2005-3/hoeppner>
+
+epstopdf ('2009/07/16 v2.2 Conversion with epstopdf on the fly (HO)')
+ <http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek>
+
+ This package does on-the-fly conversion of Encapsulated PostScript
+ (EPS) graphics into Portable Document Format (PDF) graphics for
+ inclusion with the '\includegraphics' command from the
+ 'graphics'/'graphicx' packages, so that you do not have to
+ explicitly call the 'epstopdf' script.
+
+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.
+
+soul ('2003/11/17 v2.4 letterspacing/underlining (mf)')
+ <http://www.ctan.org/tex-archive/macros/latex/contrib/soul>
+
+ This package provides hyphenatable letterspacing (spacing out),
+ underlining, and some derivatives. The package is optimized for
+ LaTeX, but works with plain TeX--you don't actually need to load it
+ with the '\usepackage' command, just say '\input soul.sty'. If you
+ intend to use the highlighting macros of 'soul', don't forget to
+ load the 'color' package.
+
+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::).
+
+ Be sure to get a version dated at least 2005/06/27, as older
+ versions have problems in plain TeX.
+
+
+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:
+
+hyperref
+ <http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref>
+
+ This package depends heavily on LaTeX, so that it is mostly
+ unusable outside of LaTeX. Eplain provides its own macros for
+ creating hyperlinks, see *note Hyperlinks::.
+
+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 (a.k.a.
+hypertext links). 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 three drivers: 'hypertex' (implementation of the HyperTeX
+standard, see <http://arxiv.org/hypertex>), and 'pdftex' and 'dvipdfm'
+(named after the programs which process the hyperlink commands, pdfTeX
+and dvipdfm). Therefore, Eplain can only produce HyperTeX commands and
+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 'hypertex' 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 or the HyperTeX
+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::).
+
+ The LABEL argument of both '\hldest' and '\hlstart' can contain
+special characters (such as '#', '%', '&', '~', etc.) without any
+escaping. This is especially important for URL links supported by some
+drivers (*note Hyperlink drivers::).
+
+ 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.
+
+ *Note Hyperlinks (xhyper.tex)::, for a demonstration of the usage of
+explicit hyperlinks.
+
+
+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:
+
+ hrefint, hrefext, url, cite, ref, xref, eq, idx, foot, footback.
+
+ And here are the destgroups:
+
+ bib, li, definexref, xrdef, eq, idx, foot, footback.
+
+ *Note Hyperlinks (xhyper.tex)::, for a demonstration of the usage of
+implicit hyperlinks.
+
+ The following subsections describe each of the linkgroups and
+destgroups and the hyperlink support provided.
+
+* Menu:
+
+* General hyperlinks:: hrefint, hrefext
+* 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: General hyperlinks, Next: URL hyperlinks, Up: Implicit hyperlinks
+
+5.3.1 General hyperlinks: hrefint, hrefext
+------------------------------------------
+
+'\href{URL}{TEXT}' typesets TEXT as a link to URL. It basically does
+what the explicit hyperlink macros do (*note Explicit hyperlinks::), but
+is more convenient (at the expense of flexibility).
+
+ If URL starts with '#', the rest of URL is assumed to be a local
+hyperlink destination name (destination within the same document).
+Parameters for these links can be set by customizing the 'hrefint'
+linkgroup. For example:
+
+ See \href{#intro}{Introduction}
+
+will make 'Introduction' into an internal link, which might have been
+created, e.g., with '\xrdef{intro}'.
+
+ If URL does not start with '#', it is assumed to be a URL link.
+Parameters for these links can be set by customizing the 'hrefext'
+linkgroup. The special characters (such as '#' and '~') in the URL don't
+need to be escaped. For example:
+
+ \href{http://tug.org/eplain/doc/eplain.html#Hyperlinks}{Hyperlinks
+ in Eplain}
+ \href{mailto:tex-eplain@tug.org}{Eplain mailing list}
+
+*Note URL hyperlinks::, for another way to create URL hyperlinks.
+
+ The TEXT argument of '\href' can contain verbatim text (*note
+Verbatim listing::) or other macros which manipulate character catcodes.
+For example:
+
+ \href{#WeirdChars}{The weird chars \verbatim #&%$~|endverbatim}
+
+ '\href' does not currently handle other link types, such as 'file:'
+and 'run:' links.
+
+
+File: eplain.info, Node: URL hyperlinks, Next: Citation hyperlinks, Prev: General hyperlinks, Up: Implicit hyperlinks
+
+5.3.2 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::).
+
+ By default, URL (and other types of) links are boxed, so that they
+are visually marked even if you do not load the LaTeX 'color' package
+(*note Loading LaTeX packages::) and therefore link text is not colored.
+You can see the effect by compiling the following code snippet (be sure
+to get a modern 'url.sty', older versions do not work in plain TeX;
+*note Packages known to work::):
+
+ \input eplain
+ \beginpackages
+ \usepackage{url}
+ \endpackages
+
+ \enablehyperlinks
+
+ \url{http://foo/bar}
+
+ \url{mailto:foobar@example.org}
+
+ \bye
+
+ If the hyperlink driver you use supports the link option 'bwidth'
+(*note Hyperlink drivers::), you can produce colored links with no
+border around them. Try this:
+
+ \input eplain
+ \beginpackages
+ \usepackage{url}
+ \usepackage{color}
+ \endpackages
+
+ \enablehyperlinks
+ \hlopts{bwidth=0}
+
+ \url{http://foo/bar}
+
+ \url{mailto:foobar@example.org}
+
+ \bye
+
+The command '\hlopts{bwidth=0}' sets border width to zero as the default
+for all links, and loading the 'color' package automatically colors
+links using the default color (*note Options supported by all
+drivers::). If you want the border width setting to apply to URL links
+only, say '\hlopts[url]{bwidth=0}' (*note Setting hyperlink types and
+options::).
+
+
+File: eplain.info, Node: Citation hyperlinks, Next: List hyperlinks, Prev: URL hyperlinks, Up: Implicit hyperlinks
+
+5.3.3 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.4 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.5 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.6 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.7 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.8 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.8.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.8.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.8.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.8.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.8.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.9 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.
+
+ Generally, footnote hyperlinks are not of much use, because the
+footnotes are usually placed on the same page as the footnote mark.
+Therefore, footnote hyperlinks are disabled by default. Here is how you
+can turn them on selectively, without affecting the other kinds of
+hyperlinks (*note Turning hyperlinks on/off for a group::):
+
+ \hldeston[foot,footback]
+ \hlon[foot,footback]
+
+
+File: eplain.info, Node: Contents hyperlinks, Prev: Footnote hyperlinks, Up: Implicit hyperlinks
+
+5.3.10 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 driver hypertex::
+* Hyperlink drivers pdftex and dvipdfm::
+* Hyperlink driver nolinks::
+
+
+File: eplain.info, Node: Options supported by all drivers, Next: Hyperlink driver hypertex, 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 driver hypertex, Next: Hyperlink drivers pdftex and dvipdfm, Prev: Options supported by all drivers, Up: Hyperlink drivers
+
+5.4.2 Hyperlink driver 'hypertex'
+---------------------------------
+
+HyperTeX is a standard for inclusion of hyperlink information in TeX
+(and LaTeX) documents (see <http://arxiv.org/hypertex>). This standard
+defines a set of hyperlink tags implemented as '\special' commands
+written into the DVI file. The major advantage of such standard is that
+a single '.dvi' file containing HyperTeX commands can be viewed by any
+HyperTeX-enabled viewer (e.g., any more or less modern version of
+'xdvi') or converted to other file formats (e.g., PDF) by any
+HyperTeX-enabled DVI converter (e.g., 'dvipdfmx' or 'dvips' with
+Ghostscript's 'ps2pdf' script).
+
+ The downside to the standard is that it is by design "the common
+factor" of other formats supporting hyperlinks, so many features of a
+particular file format cannot be supported by HyperTeX. Therefore, if
+you need to use special features of a particular format, HyperTeX is not
+a good choice. For the PDF file format, Eplain provides the 'pdftex' and
+'dvipdfm' drivers which provide fine control over the PDF options (*note
+Hyperlink drivers pdftex and dvipdfm::).
+
+ For more information on programs which support the HyperTeX standard,
+please see
+
+ <http://arxiv.org/hypertex>
+ <http://www.tug.org/tex-archive/support/hypertex/hypertex>
+
+For convenience, we list a few HyperTeX-enabled converters:
+
+'dvips'
+ Note that you need to pass the '-z' option to 'dvips' to tell it to
+ preserve the information about the hyperlinks. To generate a '.pdf'
+ file with hyperlinks, you can use the 'ps2pdf' script of
+ Ghostscript. For example, if 'foo.tex' is a TeX file using HyperTeX
+ commands, then
+
+ prompt$ tex foo.tex
+ prompt$ dvips -z foo.dvi -o
+ prompt$ ps2pdf foo.ps
+
+ will produce 'foo.pdf' with hyperlinks.
+
+'dvipdfm'
+'dvipdfmx'
+ No special command line arguments are required, these programs
+ automatically detect the HyperTeX commands.
+
+ One more note is in place: support for the HyperTeX commands varies
+from one previewer/converter to another, so you might need to experiment
+to see if what you need is supported by the program(s) you intend to
+use. For example, dvips(k) as of version 5.92b converts all internal
+hyperlinks into page links pointing to a page containing the
+destination, so that "exact" linking to destinations is not possible
+(this was confirmed to be a bug and most probably has already been fixed
+in later versions of dvips(k)); dvipdfm as of version 0.13.2c and
+dvipdfmx as of version 20040411 do not correctly parse links to external
+local files, and produce a URL link instead of a file link.
+
+* Menu:
+
+* Destination types for hypertex::
+* Destination options for hypertex::
+* Link types for hypertex::
+* Link options for hypertex::
+
+
+File: eplain.info, Node: Destination types for hypertex, Next: Destination options for hypertex, Up: Hyperlink driver hypertex
+
+5.4.2.1 Destination types for 'hypertex'
+........................................
+
+'xyz'
+ "Current position". This is the default type.
+
+ Example: '\hldest{xyz}{}{dest123}'
+
+'raw'
+ The destination specification (in the form of a HyperTeX
+ '\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 in a direct call to
+ '\hldest'--you can just call the raw command.
+
+ Example:
+
+ \makeatletter
+ \def\mydest{\special{html:<a name="\@hllabel">}%
+ \special{html:</a>}}
+ \resetatcatcode
+ \indent\hldest{raw}{cmd=mydest}{SpecialDest}
+ Special destination.
+
+
+File: eplain.info, Node: Destination options for hypertex, Next: Link types for hypertex, Prev: Destination types for hypertex, Up: Hyperlink driver hypertex
+
+5.4.2.2 Destination options for 'hypertex'
+..........................................
+
+'cmd'
+ Name of the macro (without the leading '\') containing a HyperTeX
+ '\special' for the 'raw' destination.
+
+ *Note Destination types for hypertex::, the description of the
+ 'raw' destination, for an example.
+
+
+File: eplain.info, Node: Link types for hypertex, Next: Link options for hypertex, Prev: Destination options for hypertex, Up: Hyperlink driver hypertex
+
+5.4.2.3 Link types for 'hypertex'
+.................................
+
+'name'
+ Go to a "named destination". The label is the destination name. All
+ destinations in HyperTeX are named destinations. This is the
+ default type.
+
+ Example: '\hlstart{name}{}{dest123}Link to dest123\hlend'
+
+'url'
+ Go to a URL. The label is the URL.
+
+ Example:
+
+ \hlstart{url}{}{http://tug.org/eplain/}Eplain home\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.
+ The file name extension can be specified separately by the 'ext'
+ option. The idea is to set the 'ext' option globally at the
+ beginning of the document to avoid hard-coding the extension
+ together with the file name within each link--HyperTeX is not
+ restricted to any single output format, it can be DVI, PDF,
+ possibly other formats.
+
+ Example:
+
+ \hlopts{ext=.pdf}
+ \hlstart{filename}{file=book}{dest123}
+ Link to dest123 in file `book.pdf'\hlend
+
+'raw'
+ The link specification (in the form of a HyperTeX '\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. Use the predefined command '\hlhash' to
+ insert the '#' characters. This option is intended to be used with
+ linkgroups (*note Setting hyperlink types and options::), as it
+ does not make sense in a direct call to '\hlstart'--you can just
+ call the raw command.
+
+ Example:
+
+ \makeatletter
+ \def\mylink{\special{html:<a href="\hlhash\@hllabel">}}
+ \resetatcatcode
+ \hlstart{raw}{cmd=mylink}{SpecialDest}
+ Link to the special destination.\hlend
+
+
+File: eplain.info, Node: Link options for hypertex, Prev: Link types for hypertex, Up: Hyperlink driver hypertex
+
+5.4.2.4 Link options for 'hypertex'
+...................................
+
+'cmd'
+ Name of the macro (without the leading '\') containing a HyperTeX
+ '\special' for the 'raw' link.
+
+ *Note Link types for hypertex::, the description of the 'raw' link,
+ for an example.
+
+'file'
+ File name for the 'filename' link type. See also the 'ext' option.
+
+ *Note Link types for hypertex::, the description of the 'filename'
+ link, for an example.
+
+'ext'
+ File name extension for the 'filename' link type. The idea is to
+ set the 'ext' option globally at the beginning of the document to
+ avoid hard-coding the extension together with the file name within
+ each link--HyperTeX is not restricted to any single output format,
+ it can be DVI, PDF, possibly other formats.
+
+ *Note Link types for hypertex::, the description of the 'filename'
+ link, for an example.
+
+
+File: eplain.info, Node: Hyperlink drivers pdftex and dvipdfm, Next: Hyperlink driver nolinks, Prev: Hyperlink driver hypertex, Up: Hyperlink drivers
+
+5.4.3 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.3.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 in a direct call to
+ '\hldest'--you can just call the raw command.
+
+ Example for 'pdftex':
+
+ \makeatletter
+ \def\mydest{\pdfdest name{\@hllabel} xyz}
+ \resetatcatcode
+ \hldesttype{raw}
+ \hldestopts{cmd=mydest}
+
+ Example for 'dvipdfm':
+
+ \makeatletter
+ \def\mydest{\special{pdf: dest (\@hllabel)
+ [@thispage /XYZ @xpos @ypos 0]}}
+ \resetatcatcode
+ \hldesttype{raw}
+ \hldestopts{cmd=mydest}
+
+
+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.3.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.
+
+ *Note Destination types for pdftex and dvipdfm::, the description
+ of the 'raw' destination, for an example.
+
+'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.3.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 (*note
+ Explicit hyperlinks::). This is the default type.
+
+ Example: '\hlstart{name}{}{dest123}Link to dest123\hlend'
+
+'url'
+ Go to a URL. The label is the URL.
+
+ Example: '\hlstart{url}{}{http://tug.org/eplain/}Eplain home\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
+
+'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. In the definition
+ of '\CS', use '\@hllabel' to refer to the hyperlink label. This
+ option is intended to be used with linkgroups (*note Setting
+ hyperlink types and options::), as it does not make sense in a
+ direct call to '\hlstart'--you can just call the raw command.
+
+ Example for 'pdftex':
+
+ % Redirect all \url links to the first page
+ \def\mycmd{\pdfstartlink goto page 1 {/Fit}}
+ \hltype[url]{raw}
+ \hlopts[url]{cmd=mycmd}
+
+ Example for 'dvipdfm':
+
+ % Redirect all \url links to the first page
+ \def\mycmd{\special{pdf: beginann <</Type/Annot /Subtype/Link
+ /Dest[0 /Fit]>>}}
+ \hltype[url]{raw}
+ \hlopts[url]{cmd=mycmd}
+
+'pdftex'-specific link types
+............................
+
+'num'
+ Go to a "numbered destination". The label is the destination
+ number.
+
+ Example: '\hlstart{num}{}{123}Link to 123\hlend'
+
+
+File: eplain.info, Node: Link options for pdftex and dvipdfm, Prev: Link types for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm
+
+5.4.3.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.
+
+ *Note Link types for pdftex and dvipdfm::, the description of the
+ 'raw' link, for an example.
+
+'file'
+ File name for the 'filename' and 'filepage' link types.
+
+ *Note Link types for pdftex and dvipdfm::, the descriptions of the
+ 'filename' and 'filepage' links, for an example.
+
+'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.
+
+ *Note Link types for pdftex and dvipdfm::, the descriptions of the
+ 'filename' and 'filepage' links, for an example.
+
+'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.
+
+ *Note Link types for pdftex and dvipdfm::, the descriptions of the
+ 'page' and 'filepage' links, for an example.
+
+'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.4 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.
+
+ So, if you are planning to produce versions of your PDF document both
+with and without hyperlinks, here is the recommended way to enable the
+hyperlinks under pdfTeX:
+
+ \ifpdf
+ \enablehyperlinks
+ \else
+ \enablehyperlinks[nolinks]%
+ \fi
+
+
+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.
+
+ Many people regard the default boxed links as not aesthetic and
+intruding on page layout. The reason why boxed links are the default is
+that the links are not colored until you load the LaTeX 'color' package
+(*note Loading LaTeX packages::) or use other means to define the
+'\color' command; therefore, not producing any kind of link border may
+result in the links not being marked in any way. However, when the links
+are actually colored, there is no need to produce the link boxes
+anymore; to avoid the boxes, you can set the default border width to
+zero (if the driver you use supports the link option 'bwidth'; *note
+Hyperlink drivers::):
+
+ \hlopts{bwidth=0}
+
+
+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: Demo files, 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' and 'while' 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.
+For notes on the usage, *note Verbatim listing::.
+
+ 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. To strip
+leading spaces off the items, use '\For':
+
+ \For\name:=
+ karl,
+ kathy\do{%
+ \message{\name}%
+ }%
+
+Note that trailing spaces are still _not_ ignored.
+
+ Both '\for' and '\For' expand the first token of the item list fully,
+so this is equivalent to the above:
+
+ \def\namelist{karl,kathy}%
+ \for\name:=\namelist\do ...
+
+However, this won't work, either with '\for' or with '\For':
+
+ \def\namelist{karl,kathy}%
+ \For\name:= \namelist\do ...
+
+because '\for' and '\For' expand the first token after ':=' which is
+space, not '\namelist'.
+
+ Eplain provides another kind of loops, which is an extension of plain
+TeX's '\loop'. If you say:
+
+ \loop
+ LOOP-TEXT
+ \if CONDITION
+ IF-TEXT
+ \repeat
+
+then LOOP-TEXT will be repeated as long as CONDITION is satisfied ('\if'
+can be any of the TeX's conditional commands, without the matching
+'\fi'). Eplain extends this with the optional else clause:
+
+ \loop
+ LOOP-TEXT
+ \if CONDITION
+ IF-TEXT
+ \else
+ ELSE-TEXT
+ \repeat
+
+Here, LOOP-TEXT will be repeated as long as CONDITION is _not_
+satisfied. This extension is from Victor Eijkhout's TeX by Topic
+(page 104).
+
+
+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
+ }
+
+ It's possible to define macros that appear to accept optional
+arguments intermixed with mandatory arguments in any imaginable way. For
+example:
+
+ \makeatletter
+ % \mo{m}[o]
+ \def\mo#1{\def\mo@arg{#1}\@getoptionalarg\fin@mo}
+ \def\fin@mo{\vskip1pc
+ ARG: \mo@arg \par
+ OPTARG: \@optionalarg \par
+ }
+ % \mom{m}[o]{m}
+ \def\mom#1{\def\mom@arg{#1}\@getoptionalarg\fin@mom}
+ \def\fin@mom#1{\vskip1pc
+ ARG1: \mom@arg \par
+ OPTARG: \@optionalarg \par
+ ARG2: #1\par
+ }
+ % \omo[o]{m}[o]
+ \def\omo{\@getoptionalarg\fin@omo}
+ \def\fin@omo#1{\let\omo@optarg\@optionalarg
+ \def\omo@arg{#1}\@getoptionalarg\@fin@omo}
+ \def\@fin@omo{\vskip1pc
+ OPTARG1: \omo@optarg \par
+ ARG: \omo@arg \par
+ OPTARG2: \@optionalarg \par
+ }
+ \makeatother
+
+ 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::
+* \ifempty::
+* \ifinteger and \isinteger::
+* \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: \ifempty, 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: \ifempty, Next: \ifinteger and \isinteger, Prev: \ifundefined, Up: Expansion
+
+7.6.7 '\ifempty'
+----------------
+
+'\ifempty{ARG} T \else F \fi' expands the T text if ARG is the empty
+string, and the F text otherwise. This macro is useful when you need to
+test for empty arguments to your macros, for example:
+
+ \def\foo#1{\ifempty{#1} T \else F \fi}
+
+ Since '\ifempty' 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.
+
+ Note that the following code
+
+ \def\empty{}
+ \ifempty\empty\message{empty}\else\message{not empty}\fi
+
+will produce the message 'not empty'.
+
+
+File: eplain.info, Node: \ifinteger and \isinteger, Next: \futurenonspacelet, Prev: \ifempty, Up: Expansion
+
+7.6.8 '\ifinteger' and '\isinteger'
+-----------------------------------
+
+'\ifinteger{ARG} T \else F \fi' expands the T text if ARG is an integer,
+and the F text otherwise. This macro can detect positive and negative
+integers.
+
+ Since '\ifinteger' 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. For
+such situations Eplain provides '\isinteger', which can be used as
+follows:
+
+ \if\isinteger{ARG} T \else F \fi
+
+ Although '\ifinteger' and '\isinteger' work well with regular input,
+they are not bullet-proof. For example, the following code
+
+ \ifinteger{12_ab}integer\else not integer\fi
+
+will expand to 'ab_integer' (and thus would not even compile outside
+math mode).
+
+ These macros come from TeX Frequently Asked Question
+(<http://www.tex.ac.uk/cgi-bin/texfaq2html>).
+
+
+File: eplain.info, Node: \futurenonspacelet, Prev: \ifinteger and \isinteger, Up: Expansion
+
+7.6.9 '\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: Demo files, Next: Macro index, Prev: Programming definitions, Up: Top
+
+8 Demo files
+************
+
+This chapter contains listings of source files, along with the output
+they produce (where appropriate), which illustrate various aspects of
+Eplain. The files can be found in the 'demo' subdirectory of Eplain
+distribution. These demos, both the sources and the compiled PDF and PS
+files, are also available from <http://tug.org/eplain/demo>.
+
+* Menu:
+
+* Hyperlinks (xhyper.tex)::
+* Highlighting TeX comments in listings (lscommnt.tex)::
+
+
+File: eplain.info, Node: Hyperlinks (xhyper.tex), Next: Highlighting TeX comments in listings (lscommnt.tex), Up: Demo files
+
+8.1 Hyperlinks ('xhyper.tex')
+=============================
+
+
+
+% (This file is public domain.)
+%
+% This file demonstrates the following features of Eplain:
+%
+% - explicit and implicit hyperlinks;
+% - symbolic cross-references;
+% - inserting external graphics using |\includegraphics| from
+% the \LaTeX\ package |graphicx.sty|.
+% - rotating text using |\rotatebox| from |graphicx.sty|.
+%
+% The compiled demo can be downloaded from
+%
+% http://tug.org/eplain/demo
+%
+% In order to compile this file yourself, you will need the CTAN lion
+% drawing by Duane Bibby from
+%
+% ftp://tug.ctan.org/ftpmaint/CTAN_lion/ctan_lion_350x350.png
+%
+% (thanks, |www.ctan.org|). Place the image file in the same
+% directory with this file, and change to that directory. Now, to
+% produce a PDF, run twice the command
+%
+% pdftex xhyper.tex
+%
+% During the first run, Eplain will write the information about the
+% cross-references into |xhyper.aux|, and during the second run this
+% information will be read by Eplain to typeset the references.
+%
+% Demo case:
+%
+% Suppose you are using pdf\TeX, have a figure you want to insert
+% scaled to $200\,pt$ horizontally, and you want this figure to
+% completely fill the PDF viewer's window whenever the reader
+% selects a link pointing to this figure. Additionally, you want to
+% typeset some text as live hyperlinks, clicking on which will start
+% a Web browser and open a URL.
+
+\input eplain
+
+% Load \LaTeX\ packages.
+\beginpackages
+ % |url.sty| provides the |\url| command which we will use to typeset
+ % a URL. We request that |url.sty| be the version from June~27,
+ % 2005, or later, because earlier versions had problems interacting
+ % with plain \TeX.
+ \usepackage{url}[2005/06/27]
+ % |color.sty| provides support for colored text; all hyperlinks are
+ % automatically colored by Eplain when this package is loaded. We give
+ % the |dvipsnames| option because we want to use named colors from the
+ % |dvips| graphics driver.
+ \usepackage[dvipsnames]{color}
+ % Finally, we load |graphicx.sty|, for the macros |\includegraphics|
+ % and |\rotatebox|.
+ \usepackage{graphicx}
+\endpackages
+
+% Remember that hyperlinks are off by default. Therefore, we need to
+% enable them.
+\enablehyperlinks
+
+% Customize some hyperlink options. First, we set border width to~$0$
+% for all links to get rid of the default boxes around links (we
+% prefer colored links over the boxed links). Next, we say that all
+% links created by the |url| hyperlink group (which means the |\url|
+% command from |url.sty|) must be colored using the named color
+% |BlueViolet|.
+\hlopts{bwidth=0}
+\hlopts[url]{colormodel=named,color=BlueViolet}
+
+% Inhibit page numbering (we have only one page).
+\nopagenumbers
+
+% Define a class word for the cross-reference class |figure|. This
+% word, when defined, will be automatically prepended by Eplain to the
+% reference created by |\ref| (read on to see its use).
+\def\figureword{fig.}
+
+% Allocate a count register for the figure's number, and a box
+% register which we'll use to measure dimensions of the image.
+\newcount\fignumber
+\newbox\imgbox
+
+% Now comes the fun part--constructing the figure for the image of the
+% \CTAN\ lion. We define a macro
+%
+% \fig{LABEL}{FILENAME}{CAPTION}{WIDTH}
+%
+% which creates a figure using LABEL for the cross-reference and
+% hyperlink label, reading the image from file FILENAME, using CAPTION
+% to name the figure, and WIDTH to scale the image horizontally.
+\def\fig#1#2#3#4{%
+ % Leave some space above the figure. This will also ensure that we
+ % are in the vertical mode before we produce a |\vbox|.
+ \medskip
+ % Advance the figure number. |\global| ensures that the change to
+ % the count register is global, even when |\fig| is buried inside a
+ % group.
+ \global\advance\fignumber by 1
+ % We use |\includegraphics| (from |graphicx.sty|) to load the image,
+ % scaled to the specified width, into our ``measuring'' box
+ % |\imgbox|.
+ \setbox\imgbox = \hbox{\includegraphics[width=#4]{#2}}%
+ % To make the demo even more exciting, let's put the figure's
+ % caption to the left of the image into the |\indent| space of the
+ % new paragraph, and rotate the caption~$90^\circ$.
+ \textindent{%
+ \rotatebox{90}{F{\sc IGURE}~\the\fignumber. #3}%
+ }%
+ % Continue the paragraph by constructing a |\vbox| with the image of
+ % the lion. We use |\definexref| to define the cross-reference
+ % label.
+ \vbox{%
+ % In addition to the cross-reference label, |\definexref| will
+ % create a hyperlink destination with the same label. Therefore,
+ % we customize this destination to do what we need. We say that
+ % destination type for the hyperlink group |definexref| (to which
+ % |\definexref| belongs) should be |fitr|. This destination type
+ % will magnify the rectangle specified by the options |width|,
+ % |height| and |depth| to the PDF viewer's window. Therefore, we
+ % set those options accordingly with |\hldestopts| (notice the use
+ % of |depth| instead of |height|---we will want the rectangle to
+ % extend {\it downward}, to cover the image which will come
+ % next). Notice that these settings will be isolated within the
+ % current group (i.e., the |\vbox| we're constructing).
+ \hldesttype[definexref]{fitr}%
+ \hldestopts[definexref]{width=\wd\imgbox,height=0pt,depth=\ht\imgbox}%
+ % We define a symbolic label so that we can later refer
+ % to the figure with |\ref|. The command |\definexref| does
+ % exactly that. The last argument to |\definexref| specifies
+ % class of the label, which determines the word used by |\ref| in
+ % front of the reference text (remember that we've defined
+ % |\figureword| above).
+ \definexref{#1}{\the\fignumber}{figure}%
+ % Finally, produce the image which we've been stashing in the box
+ % register |\imgbox|.
+ \box\imgbox
+ }%
+ \medskip
+}
+
+% Create the figure.
+\fig{CTANlion}{ctan_lion_350x350}{Lion in the archives}{200pt}
+
+% Finished with the fun part, we can relax and typeset some
+% hyperlinks. The easiest way to do that is to use the |\ref|
+% cross-reference command. We can even pass an optional argument
+% (|the lion in|), which will be placed before the class word (|fig.|)
+% and become part of the link (to make sure the reader does not have
+% to aim too hard).
+Show me \ref[the lion in]{CTANlion}.
+
+% If you are the restless kind, here's another way to create a
+% hyperlink to the image: we create a link explicitly by using
+% |\hlstart ... \hlend|. We don't specify the link type, therefore
+% the default type |name| will be used (these are ``named links'',
+% i.e., links pointing to destinations identified by labels). In the
+% options argument, we specify that the border of the link should be
+% inverted when the user clicks the link (|hlight=O|), and also set
+% special color for this link, overriding the default dark-red. The
+% label for the destination is the same as the cross-reference label,
+% |CTANlion|.
+Show me
+\hlstart{}{hlight=O,colormodel=named,color=OliveGreen}{CTANlion}
+ the CTAN lion\hlend.
+
+% Let's now point somewhere outside our document. Eplain homepage is
+% a good target. In the similar spirit, let's consider two
+% approaches. The easy one is to use the |\url| command from
+% |url.sty|. Remember that we have customized the color of |url|
+% hyperlinks, so this one will show up with a different color than the
+% default dark-red.
+Take me to \url{http://tug.org/eplain}.
+
+% The second approach is to create an explicit URL link. We specify
+% yet another border highlighting mode, |P|, which means that the
+% region underneath the bounding box of the link will be drawn inset
+% into the page. Also, let's set the color of the hyperlink to an RGB
+% color |0.4,0.1,0.4|. Since we cannot use commas to separate the
+% color elements inside the options parameter to |\hlstart| (commas
+% there separate options), we have to first create a user-defined
+% color with |\definecolor| from |color.sty|, and use that in
+% |\hlstart|.
+\definecolor{mycolor}{rgb}{0.4,0.1,0.4}
+
+Take me to
+\hlstart{url}{hlight=P,colormodel=,color=mycolor}{http://tug.org/eplain}
+ Eplain homepage\hlend.
+
+\bye
+
+
+File: eplain.info, Node: Highlighting TeX comments in listings (lscommnt.tex), Prev: Hyperlinks (xhyper.tex), Up: Demo files
+
+8.2 Highlighting TeX comments in listings ('lscommnt.tex')
+==========================================================
+
+
+
+% (This file is public domain.)
+% Demonstrate how Eplain can be used to include a TeX source file
+% verbatim, typesetting comments in colored italic typewriter type.
+
+% Load Eplain and LaTeX's color.sty package.
+\input eplain
+\beginpackages \usepackage{color} \endpackages
+\nopagenumbers % Disable page numbers.
+\font\commentfont = cmitt10 % Font for the comments (italic \tt).
+% We'll define some `protected' macros with `@' in their names.
+\makeatletter
+% Define an equivalent of Eplain's \letreturn, to be able to assign
+% various actions to the (active) percent character.
+\begingroup \makeactive\%
+ \gdef\letpercent{\let%}
+\endgroup
+% The listing hook to be called in \setuplistinghook, see below. It
+% makes `%' active and assigns it a `start comment' action.
+\def\hlightcommentslisting{\makeactive\% \letpercent\start@comment}%
+% This is what `%' is aliased to before a comment is started.
+\def\start@comment{%
+ \leavevmode % Needed in the very first line of the input to process
+ % the new par (possibly inserting line number) before we
+ % kick in with the color and stuff.
+ \begingroup % Isolate color and font changes and the redefinitions.
+ \commentfont
+ \color[cmyk]{0.28,1,1,0.35}%
+ \percentchar % Produce the actual `%' and
+ \letpercent\percentchar % make all following `%'s do the same.
+ \letreturn\end@comment % Call \end@comment at end-of-line.
+}
+% \end@comment (alias for ^^M inside a comment) will end the comment
+% started by \start@comment. We make ^^M active temporarily so that
+% the active version of ^^M gets "frozen" into \end@comment.
+\begingroup \makeactive\^^M % Avoid ^^M's from here on.
+ \gdef\end@comment{\endgroup ^^M}%
+\endgroup
+\resetatcatcode % Make `@' again inaccessible for use in macro names.
+
+% Define \setuplistinghook to setup comments highlighting, line
+% numbering and omitting the last (empty) line of input.
+\def\setuplistinghook{\hlightcommentslisting \linenumberedlisting
+ \nolastlinelisting}
+% Isn't this fun? This file typesets itself, with the extra bonus of
+% the pretty-printed comments and numbered source lines!
+\listing{lscommnt}
+\bye
+
+
+File: eplain.info, Node: Macro index, Next: Concept index, Prev: Demo files, Up: Top
+
+Macro index
+***********
+
+
+* Menu:
+
+* @hllabel: Destination types for hypertex.
+ (line 14)
+* @hllabel <1>: Link types for hypertex.
+ (line 39)
+* @hllabel <2>: Destination types for pdftex and dvipdfm.
+ (line 84)
+* @hllabel <3>: Link types for pdftex and dvipdfm.
+ (line 67)
+* @indexproof insertion class: Proofing index terms.
+ (line 28)
+* abovecolumnskip: Multiple columns. (line 33)
+* abovecolumnspenalty: Tables. (line 30)
+* abovelistpenalty: Formatting lists. (line 29)
+* abovelistskip: Formatting lists. (line 29)
+* abovelistskipamount: Formatting lists. (line 10)
+* adjarrow: Arrows and morphisms.
+ (line 113)
+* adjmapdown: Arrows and morphisms.
+ (line 91)
+* adjmapleft: Arrows and morphisms.
+ (line 66)
+* adjmapright: Arrows and morphisms.
+ (line 63)
+* adjmapup: Arrows and morphisms.
+ (line 94)
+* advancebottommargin: Margins. (line 26)
+* advanceleftmargin: Margins. (line 26)
+* advancerightmargin: Margins. (line 26)
+* advancetopmargin: Margins. (line 26)
+* afterindexterm: Customizing indexing.
+ (line 6)
+* afterindexterm hook: Indexing commands. (line 62)
+* AMSLaTeX: Logos. (line 10)
+* AMSTeX: Logos. (line 10)
+* arrow: Arrows and morphisms.
+ (line 20)
+* arrow <1>: Arrows and morphisms.
+ (line 104)
+* bblem: Formatting bibliographies.
+ (line 41)
+* bblemph: Formatting bibliographies.
+ (line 45)
+* bblfilebasename: Citations. (line 30)
+* bblhook: Formatting bibliographies.
+ (line 67)
+* bblnewblock: Formatting bibliographies.
+ (line 53)
+* bblrm: Formatting bibliographies.
+ (line 38)
+* bblsc: Formatting bibliographies.
+ (line 49)
+* bcolor (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 13)
+* bdash (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 19)
+* bdash (hyperlink option) <1>: Link options for pdftex and dvipdfm.
+ (line 32)
+* begin for index entries: Modifying index entries.
+ (line 22)
+* beginindex hook: Typesetting an index.
+ (line 30)
+* beginlist: Formatting lists. (line 50)
+* 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 34)
+* belowfootnoterulespace: Footnotes. (line 46)
+* belowlistskip: Formatting lists. (line 30)
+* belowlistskipamount: Formatting lists. (line 10)
+* biarrow: Arrows and morphisms.
+ (line 110)
+* biblabelcontents: Formatting bibliographies.
+ (line 23)
+* biblabelextraspace: Formatting bibliographies.
+ (line 61)
+* biblabelpostcontents: Formatting bibliographies.
+ (line 30)
+* biblabelprecontents: Formatting bibliographies.
+ (line 30)
+* biblabelprint: Formatting bibliographies.
+ (line 17)
+* biblabelwidth: Formatting bibliographies.
+ (line 11)
+* bibliography: Citations. (line 61)
+* bibliography (hyperlinks): Citation hyperlinks. (line 11)
+* bibliographystyle: Citations. (line 68)
+* BibTeX: Logos. (line 10)
+* bihline: Arrows and morphisms.
+ (line 69)
+* bimapdown: Arrows and morphisms.
+ (line 85)
+* bimapleft: Arrows and morphisms.
+ (line 60)
+* bimapright: Arrows and morphisms.
+ (line 57)
+* bimapup: Arrows and morphisms.
+ (line 88)
+* bisline: Arrows and morphisms.
+ (line 116)
+* bivline: Arrows and morphisms.
+ (line 97)
+* blackbox: Boxes. (line 7)
+* blanklineskipamount in justified text: Justification. (line 23)
+* blanklineskipamount in obeyed text: Obeying spaces. (line 16)
+* bottom (destination option): Destination types for pdftex and dvipdfm.
+ (line 65)
+* bottom (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 56)
+* bottommargin: Margins. (line 17)
+* boxit: Boxes. (line 28)
+* boxitspace: Boxes. (line 30)
+* bstyle (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 25)
+* bwidth (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 49)
+* catcode: Category codes. (line 13)
+* center: Justification. (line 7)
+* centereddisplays: Displays. (line 13)
+* channelwidth: Arrows and morphisms.
+ (line 119)
+* channelwidth <1>: Commutative diagram parameters.
+ (line 36)
+* cite: Citations. (line 42)
+* cite (hyperlinks): Citation hyperlinks. (line 6)
+* cmd (destination option): Destination types for hypertex.
+ (line 14)
+* cmd (destination option) <1>: Destination options for hypertex.
+ (line 7)
+* cmd (destination option) <2>: Destination types for pdftex and dvipdfm.
+ (line 83)
+* cmd (destination option) <3>: Destination options for pdftex and dvipdfm.
+ (line 14)
+* cmd (hyperlink option): Link types for hypertex.
+ (line 39)
+* cmd (hyperlink option) <1>: Link options for hypertex.
+ (line 7)
+* cmd (hyperlink option) <2>: Link types for pdftex and dvipdfm.
+ (line 66)
+* cmd (hyperlink option) <3>: Link options for pdftex and dvipdfm.
+ (line 56)
+* color (hyperlink option): Options supported by all drivers.
+ (line 37)
+* colormodel (hyperlink option): Options supported by all drivers.
+ (line 37)
+* columnfill: Multiple columns. (line 14)
+* commdiag: Construction of commutative diagrams.
+ (line 9)
+* commdiagbaselines: Construction of commutative diagrams.
+ (line 64)
+* commdiagbaselines <1>: Commutative diagram parameters.
+ (line 43)
+* csn: \csn and \ece. (line 6)
+* definecolor: Hyperlinks (xhyper.tex).
+ (line 7)
+* definecontentsfile: Alternative contents files.
+ (line 6)
+* defineindex: Indexing. (line 36)
+* definexref: Defining generic references.
+ (line 6)
+* definexref <1>: Hyperlinks (xhyper.tex).
+ (line 7)
+* definexref (hyperlinks): Cross-reference hyperlinks.
+ (line 6)
+* depth (destination option): Destination types for pdftex and dvipdfm.
+ (line 61)
+* depth (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 34)
+* depth (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 122)
+* discretionaries: Paths. (line 20)
+* displaylines: Displays. (line 18)
+* dospecials: Verbatim listing. (line 57)
+* doublecolumns: Multiple columns. (line 7)
+* drawline: Slanted lines and vectors.
+ (line 6)
+* drawvector: Slanted lines and vectors.
+ (line 6)
+* dvipdfm (hyperlink driver): Hyperlink drivers pdftex and dvipdfm.
+ (line 6)
+* eattoken: Macro arguments. (line 23)
+* ece: \csn and \ece. (line 10)
+* edefappend: \edefappend. (line 6)
+* ehrule: Rules. (line 17)
+* em: Commands from LaTeX. (line 25)
+* emph: Commands from LaTeX. (line 25)
+* enablehyperlinks: Introduction to hyperlinks.
+ (line 42)
+* enablehyperlinks <1>: Choosing destination placement.
+ (line 7)
+* enablehyperlinks <2>: Hyperlink driver nolinks.
+ (line 48)
+* end for index entries: Modifying index entries.
+ (line 22)
+* endlist: Formatting lists. (line 52)
+* endnumberedlist: Lists. (line 13)
+* endorderedlist: Lists. (line 13)
+* endpackages: Environment for loading packages.
+ (line 6)
+* endunorderedlist: Lists. (line 20)
+* end{picture}: Packages known to work.
+ (line 14)
+* end{theindex}: Typesetting an index.
+ (line 17)
+* eplain: Invoking Eplain. (line 30)
+* eplaininput: Environment for loading packages.
+ (line 24)
+* eqalignno: Displays. (line 18)
+* eqalignno <1>: Displays. (line 23)
+* eqalignnum: Displays. (line 23)
+* 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)
+* eqno: Displays. (line 23)
+* eqnum: Displays. (line 23)
+* eqnum <1>: Equation references. (line 15)
+* eqnum <2>: Equation references. (line 38)
+* eqnumber: Equation references. (line 8)
+* eqprint: Formatting equation references.
+ (line 12)
+* eqref: Equation references. (line 46)
+* eqref <1>: Equation reference hyperlinks.
+ (line 20)
+* eqrefn: Equation references. (line 51)
+* eqrefn <1>: Equation reference hyperlinks.
+ (line 20)
+* 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)
+* eTeX: Logos. (line 10)
+* everyfootnote: Footnotes. (line 35)
+* evrule: Rules. (line 18)
+* expandonce: \expandonce. (line 6)
+* ext (hyperlink option): Link types for hypertex.
+ (line 23)
+* ext (hyperlink option) <1>: Link options for hypertex.
+ (line 20)
+* ExTeX: Logos. (line 10)
+* file (hyperlink option): Link types for hypertex.
+ (line 22)
+* file (hyperlink option) <1>: Link options for hypertex.
+ (line 14)
+* file (hyperlink option) <2>: Link types for pdftex and dvipdfm.
+ (line 40)
+* file (hyperlink option) <3>: Link types for pdftex and dvipdfm.
+ (line 52)
+* file (hyperlink option) <4>: Link options for pdftex and dvipdfm.
+ (line 63)
+* fileexists (conditional): Auxiliary files. (line 10)
+* filename (hyperlink type): Link types for hypertex.
+ (line 21)
+* filename (hyperlink type) <1>: Link types for pdftex and dvipdfm.
+ (line 39)
+* filepage (hyperlink type): Link types for pdftex and dvipdfm.
+ (line 51)
+* 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 50)
+* footnote (hyperlinks): Footnote hyperlinks. (line 7)
+* footnotemarkseparation: Footnotes. (line 25)
+* footnoteruleheight: Footnotes. (line 44)
+* footnoterulewidth: Footnotes. (line 44)
+* for: Iteration. (line 6)
+* For: Iteration. (line 15)
+* frac: Fractions. (line 6)
+* fullmonthname: Time of day. (line 13)
+* futurenonspacelet: \futurenonspacelet. (line 6)
+* getproperty: Properties. (line 18)
+* gloggingall: Diagnostics. (line 22)
+* gobble: Macro arguments. (line 7)
+* gobbletwo: Macro arguments. (line 7)
+* gridcommdiag: Construction of commutative diagrams.
+ (line 88)
+* gtracingall: Diagnostics. (line 22)
+* gutter: Multiple columns. (line 23)
+* gutterbox: Multiple columns. (line 24)
+* hangindent for index entries: Typesetting an index.
+ (line 45)
+* harrowlength: Arrows and morphisms.
+ (line 27)
+* harrowlength <1>: Commutative diagram parameters.
+ (line 11)
+* hchannel: Commutative diagram parameters.
+ (line 39)
+* height (destination option): Destination types for pdftex and dvipdfm.
+ (line 60)
+* height (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 37)
+* height (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 125)
+* hgrid: Construction of commutative diagrams.
+ (line 108)
+* hgrid <1>: Commutative diagram parameters.
+ (line 47)
+* hldest: Explicit hyperlinks. (line 6)
+* hldest <1>: Destination types for hypertex.
+ (line 17)
+* hldest <2>: Destination types for pdftex and dvipdfm.
+ (line 86)
+* hldest <3>: Setting hyperlink types and options.
+ (line 7)
+* hldestoff: Hyperlink driver nolinks.
+ (line 10)
+* hldestoff <1>: Turning low-level commands on/off.
+ (line 6)
+* hldeston: Turning low-level commands on/off.
+ (line 6)
+* hldestopts: Setting default types and options.
+ (line 15)
+* hldestopts <1>: Setting group options.
+ (line 10)
+* hldestopts <2>: Hyperlinks (xhyper.tex).
+ (line 7)
+* hldesttype: Setting default types and options.
+ (line 6)
+* hldesttype <1>: Setting group types. (line 6)
+* hldesttype <2>: Hyperlinks (xhyper.tex).
+ (line 7)
+* hlend: Explicit hyperlinks. (line 25)
+* hlend <1>: Hyperlinks (xhyper.tex).
+ (line 7)
+* hlfootbacklabel: Footnote hyperlinks. (line 12)
+* hlfootlabel: Footnote hyperlinks. (line 12)
+* hlfootlabelnumber: Footnote hyperlinks. (line 15)
+* hlhash: Link types for hypertex.
+ (line 40)
+* 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)
+* hlightcommentslisting: Highlighting TeX comments in listings (lscommnt.tex).
+ (line 7)
+* hline: Arrows and morphisms.
+ (line 54)
+* hloff: Hyperlink driver nolinks.
+ (line 10)
+* hloff <1>: Turning low-level commands on/off.
+ (line 6)
+* hlon: Turning low-level commands on/off.
+ (line 6)
+* hlopts: Setting default types and options.
+ (line 15)
+* hlopts <1>: Setting group options.
+ (line 10)
+* hlopts <2>: Hyperlinks (xhyper.tex).
+ (line 7)
+* hlstart: Explicit hyperlinks. (line 25)
+* hlstart <1>: Link types for hypertex.
+ (line 43)
+* hlstart <2>: Link types for pdftex and dvipdfm.
+ (line 70)
+* hlstart <3>: Setting hyperlink types and options.
+ (line 7)
+* hlstart <4>: Hyperlinks (xhyper.tex).
+ (line 7)
+* hltype: Setting default types and options.
+ (line 6)
+* hltype <1>: Setting group types. (line 6)
+* hmorphposn: Arrows and morphisms.
+ (line 32)
+* hmorphposn <1>: Commutative diagram parameters.
+ (line 20)
+* hmorphposndn: Arrows and morphisms.
+ (line 38)
+* hmorphposndn <1>: Commutative diagram parameters.
+ (line 22)
+* hmorphposnlft: Arrows and morphisms.
+ (line 39)
+* hmorphposnlft <1>: Commutative diagram parameters.
+ (line 23)
+* hmorphposnrt: Arrows and morphisms.
+ (line 39)
+* hmorphposnrt <1>: Commutative diagram parameters.
+ (line 22)
+* hmorphposnup: Arrows and morphisms.
+ (line 38)
+* hmorphposnup <1>: Commutative diagram parameters.
+ (line 22)
+* hoffset: Proofing index terms.
+ (line 21)
+* hookaction: Hooks. (line 14)
+* hookactiononce: Hooks. (line 21)
+* hookappend: Hooks. (line 15)
+* hookprepend: Hooks. (line 16)
+* hookrun: Hooks. (line 37)
+* href: General hyperlinks. (line 6)
+* hruledefaultdepth: Rules. (line 9)
+* hruledefaultheight: Rules. (line 9)
+* hsize: Margins. (line 32)
+* hypertex (hyperlink driver): Hyperlink driver hypertex.
+ (line 6)
+* hyphenpenalty for index entries: Typesetting an index.
+ (line 45)
+* identity: Macro arguments. (line 28)
+* idx: Indexing commands. (line 8)
+* idx (hyperlinks): Index hyperlinks. (line 6)
+* idxargclose: Index entries with special characters.
+ (line 73)
+* idxargopen: Index entries with special characters.
+ (line 73)
+* idxbeginrangemark: Customizing indexing.
+ (line 41)
+* idxencapoperator: Customizing indexing.
+ (line 38)
+* idxendrangemark: Customizing indexing.
+ (line 44)
+* 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 49)
+* idxpagerangedelimiter: Page list and page range parsers.
+ (line 23)
+* idxpagerangedelimiter <1>: Page list and page range parsers.
+ (line 30)
+* 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 35)
+* idxsubmarked: Indexing commands. (line 40)
+* idxsubmarked (hyperlinks): Index hyperlinks. (line 6)
+* ifempty: \ifempty. (line 6)
+* iffileexists: Auxiliary files. (line 10)
+* ifidx: Indexing. (line 54)
+* ifindexproofing: Proofing index terms.
+ (line 12)
+* ifinteger: \ifinteger and \isinteger.
+ (line 6)
+* ifpdf: Checking for PDF output.
+ (line 10)
+* ifpdf <1>: Introduction to hyperlinks.
+ (line 51)
+* ifrewritetocfile: Reading the .toc file.
+ (line 26)
+* ifundefined: \ifundefined. (line 6)
+* includegraphics: Hyperlinks (xhyper.tex).
+ (line 7)
+* 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)
+* indexproofingfalse: Proofing index terms.
+ (line 12)
+* indexproofingtrue: Proofing index terms.
+ (line 12)
+* indexproofterm: Proofing index terms.
+ (line 12)
+* indexproofunbox: Proofing index terms.
+ (line 28)
+* indexsee: Customizing indexing.
+ (line 53)
+* indexsee <1>: Hyperlinks in see and see also entries.
+ (line 8)
+* indexseealso: Customizing indexing.
+ (line 53)
+* indexseealso <1>: Hyperlinks in see and see also entries.
+ (line 8)
+* indexseealsowords: Customizing indexing.
+ (line 53)
+* indexseeword: Customizing indexing.
+ (line 53)
+* indexsetmargins: Proofing index terms.
+ (line 21)
+* indexspace: Typesetting an index.
+ (line 54)
+* innerdef: Allocation macros. (line 28)
+* innerinnerdef: Allocation macros. (line 39)
+* innernewbox: Allocation macros. (line 21)
+* innernewcount: Allocation macros. (line 21)
+* innernewdimen: Allocation macros. (line 21)
+* innernewfam: Allocation macros. (line 22)
+* innernewhelp: Allocation macros. (line 22)
+* innernewif: Allocation macros. (line 22)
+* innernewinsert: Allocation macros. (line 22)
+* innernewlanguage: Allocation macros. (line 23)
+* innernewread: Allocation macros. (line 24)
+* innernewskip: Allocation macros. (line 24)
+* innernewtoks: Allocation macros. (line 24)
+* innernewwrite: Allocation macros. (line 24)
+* input: Environment for loading packages.
+ (line 24)
+* insidemargin: Proofing index terms.
+ (line 21)
+* interfootnoteskip: Footnotes. (line 29)
+* interitemskip: Formatting lists. (line 30)
+* interitemskipamount: Formatting lists. (line 14)
+* isinteger: \ifinteger and \isinteger.
+ (line 13)
+* 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: Citations. (line 17)
+* jobname <1>: Typesetting an index.
+ (line 11)
+* jobname <2>: Auxiliary files. (line 9)
+* LAMSTeX: Logos. (line 11)
+* LaTeX: Logos. (line 11)
+* lbracechar: Category codes. (line 57)
+* left (destination option): Destination types for pdftex and dvipdfm.
+ (line 11)
+* left (destination option) <1>: Destination types for pdftex and dvipdfm.
+ (line 33)
+* left (destination option) <2>: Destination types for pdftex and dvipdfm.
+ (line 54)
+* left (destination option) <3>: Destination types for pdftex and dvipdfm.
+ (line 65)
+* left (destination option) <4>: Destination options for pdftex and dvipdfm.
+ (line 60)
+* leftdisplayindent: Displays. (line 11)
+* leftdisplays: Displays. (line 9)
+* leftdisplaysetup: Formatting displays. (line 8)
+* lefteqnumbers: Displays. (line 23)
+* leftmargin: Margins. (line 17)
+* leqalignno: Displays. (line 19)
+* leqalignno <1>: Displays. (line 23)
+* leqno: Displays. (line 23)
+* letreturn: Category codes. (line 40)
+* letter: Category codes. (line 10)
+* lft: Arrows and morphisms.
+ (line 15)
+* li: Lists. (line 27)
+* li (hyperlinks): List hyperlinks. (line 6)
+* linenumberedlisting: Verbatim listing. (line 17)
+* linenumberedlisting <1>: Highlighting TeX comments in listings (lscommnt.tex).
+ (line 7)
+* listcompact: Lists. (line 38)
+* listing: Verbatim listing. (line 7)
+* listing <1>: Highlighting TeX comments in listings (lscommnt.tex).
+ (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 11)
+* loop: Iteration. (line 40)
+* makeactive: Category codes. (line 13)
+* makeatletter: Category codes. (line 22)
+* makeatother: Category codes. (line 31)
+* makeblankbox: Boxes. (line 12)
+* makecolumns: Tables. (line 6)
+* makeheadline: Proofing index terms.
+ (line 28)
+* mapdown: Arrows and morphisms.
+ (line 13)
+* mapdown <1>: Arrows and morphisms.
+ (line 76)
+* mapleft: Arrows and morphisms.
+ (line 6)
+* mapleft <1>: Arrows and morphisms.
+ (line 51)
+* mapright: Arrows and morphisms.
+ (line 6)
+* mapright <1>: Arrows and morphisms.
+ (line 48)
+* mapup: Arrows and morphisms.
+ (line 13)
+* mapup <1>: Arrows and morphisms.
+ (line 79)
+* matrix: Construction of commutative diagrams.
+ (line 10)
+* mbox: Commands from LaTeX. (line 28)
+* MF: Logos. (line 11)
+* monthname: Time of day. (line 10)
+* morphdist: Arrows and morphisms.
+ (line 33)
+* morphdist <1>: Commutative diagram parameters.
+ (line 32)
+* name (hyperlink type): Link types for hypertex.
+ (line 7)
+* name (hyperlink type) <1>: Link types for pdftex and dvipdfm.
+ (line 18)
+* new...: Allocation macros. (line 8)
+* newblock: Commands from LaTeX. (line 31)
+* newcommand: Commands from LaTeX. (line 18)
+* newwin (hyperlink option): Link types for pdftex and dvipdfm.
+ (line 41)
+* newwin (hyperlink option) <1>: Link types for pdftex and dvipdfm.
+ (line 53)
+* newwin (hyperlink option) <2>: Link options for pdftex and dvipdfm.
+ (line 90)
+* noarrow: Invoking Eplain. (line 84)
+* noauxfile: Invoking Eplain. (line 89)
+* nobibtex: Invoking Eplain. (line 73)
+* nocite: Citations. (line 58)
+* nolastlinelisting: Verbatim listing. (line 25)
+* nolastlinelisting <1>: Highlighting TeX comments in listings (lscommnt.tex).
+ (line 7)
+* nolinks (hyperlink driver): Hyperlink driver nolinks.
+ (line 6)
+* normalbaselineskip: Options supported by all drivers.
+ (line 19)
+* num (hyperlink type): Link types for pdftex and dvipdfm.
+ (line 91)
+* numberedfootnote: Footnotes. (line 7)
+* numberedfootnote (hyperlinks): Footnote hyperlinks. (line 6)
+* numberedlist: Lists. (line 13)
+* numberedlistdepth: Formatting lists. (line 41)
+* numberedmarker: Formatting lists. (line 37)
+* numbername: Writing out numbers. (line 6)
+* obeywhitespace: Obeying spaces. (line 6)
+* orderedlist: Lists. (line 13)
+* 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 30)
+* pagefit (hyperlink option): Link types for pdftex and dvipdfm.
+ (line 31)
+* pagefit (hyperlink option) <1>: Link types for pdftex and dvipdfm.
+ (line 41)
+* pagefit (hyperlink option) <2>: Link types for pdftex and dvipdfm.
+ (line 53)
+* pagefit (hyperlink option) <3>: Link options for pdftex and dvipdfm.
+ (line 107)
+* pageno: Proofing index terms.
+ (line 21)
+* pagetotal: Multiple columns. (line 14)
+* paperheight: Margins. (line 43)
+* paperwidth: Margins. (line 46)
+* parindent in indexes: Typesetting an index.
+ (line 24)
+* path: Paths. (line 13)
+* pdfoutput: Checking for PDF output.
+ (line 20)
+* pdftex (hyperlink driver): Hyperlink drivers pdftex and dvipdfm.
+ (line 6)
+* percentchar: Category codes. (line 54)
+* phantomeqlabel: Equation reference hyperlinks.
+ (line 14)
+* phantomeqnumber: Equation reference hyperlinks.
+ (line 14)
+* previouseverydisplay: Formatting displays. (line 14)
+* printbetweencitations: Formatting citations.
+ (line 20)
+* printcitefinish: Formatting citations.
+ (line 15)
+* printcitenote: Formatting citations.
+ (line 26)
+* printcitestart: Formatting citations.
+ (line 15)
+* printitem: Formatting lists. (line 51)
+* printlistinglineno: Verbatim listing. (line 19)
+* printlistinglineno <1>: Verbatim listing. (line 27)
+* providecommand: Commands from LaTeX. (line 18)
+* quadcolumns: Multiple columns. (line 7)
+* raggedright for index entries: Typesetting an index.
+ (line 45)
+* raise (hyperlink option): Options supported by all drivers.
+ (line 13)
+* raise (hyperlink option) <1>: Setting group options.
+ (line 33)
+* raw (destination type): Destination types for hypertex.
+ (line 12)
+* raw (destination type) <1>: Destination types for pdftex and dvipdfm.
+ (line 81)
+* raw (hyperlink type): Link types for hypertex.
+ (line 37)
+* raw (hyperlink type) <1>: Link types for pdftex and dvipdfm.
+ (line 64)
+* rbracechar: Category codes. (line 58)
+* readindexfile: Typesetting an index.
+ (line 6)
+* readindexfile (hyperlinks): Index hyperlinks. (line 9)
+* readtocfile: Reading the .toc file.
+ (line 6)
+* ref: Using generic references.
+ (line 16)
+* ref <1>: Hyperlinks (xhyper.tex).
+ (line 7)
+* 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 22)
+* refs (hyperlinks): Cross-reference hyperlinks.
+ (line 26)
+* refspace: Cross-reference hyperlinks.
+ (line 24)
+* refspace <1>: Page reference hyperlinks.
+ (line 10)
+* reftie: Cross-reference hyperlinks.
+ (line 16)
+* reftie <1>: Cross-reference hyperlinks.
+ (line 23)
+* reftie <2>: Equation reference hyperlinks.
+ (line 20)
+* renewcommand: Commands from LaTeX. (line 18)
+* repeat: Iteration. (line 42)
+* resetatcatcode: Environment for loading packages.
+ (line 35)
+* resetatcatcode <1>: Category codes. (line 23)
+* rewritetocfile (conditional): Reading the .toc file.
+ (line 26)
+* right (destination option): Destination types for pdftex and dvipdfm.
+ (line 66)
+* right (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 64)
+* righteqnumbers: Displays. (line 23)
+* rightmargin: Margins. (line 17)
+* rotatebox: Hyperlinks (xhyper.tex).
+ (line 7)
+* rt: Arrows and morphisms.
+ (line 14)
+* sanitize: Converting to characters.
+ (line 22)
+* sarrowlength: Arrows and morphisms.
+ (line 28)
+* sarrowlength <1>: Commutative diagram parameters.
+ (line 17)
+* sc: Commands from LaTeX. (line 25)
+* see for index entries: Modifying index entries.
+ (line 36)
+* see for index entries <1>: Customizing indexing.
+ (line 62)
+* seealso for index entries: Modifying index entries.
+ (line 49)
+* seevariant: Customizing indexing.
+ (line 53)
+* 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)
+* setuplistinghook <1>: Highlighting TeX comments in listings (lscommnt.tex).
+ (line 7)
+* 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)
+* sline <1>: Arrows and morphisms.
+ (line 107)
+* SLiTeX: Logos. (line 11)
+* special: Introduction to hyperlinks.
+ (line 9)
+* specialpathdelimiters (conditional): Paths. (line 28)
+* 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)
+* textbf: Commands from LaTeX. (line 25)
+* timestamp: Time of day. (line 18)
+* timestring: Time of day. (line 16)
+* toc...entry: Writing the .toc file.
+ (line 9)
+* toc...entry <1>: Writing the .toc file.
+ (line 54)
+* tocfilebasename: Changing the .toc file's root name.
+ (line 10)
+* today: Time of day. (line 21)
+* top (destination option): Destination types for pdftex and dvipdfm.
+ (line 11)
+* top (destination option) <1>: Destination types for pdftex and dvipdfm.
+ (line 25)
+* top (destination option) <2>: Destination types for pdftex and dvipdfm.
+ (line 46)
+* top (destination option) <3>: Destination types for pdftex and dvipdfm.
+ (line 66)
+* top (destination option) <4>: Destination options for pdftex and dvipdfm.
+ (line 68)
+* topmargin: Margins. (line 17)
+* tracingall: Diagnostics. (line 8)
+* tracingboxes: Diagnostics. (line 16)
+* tracingoff: Diagnostics. (line 18)
+* triplecolumns: Multiple columns. (line 7)
+* tt: Packages known to work.
+ (line 77)
+* ttfamily: Packages known to work.
+ (line 73)
+* uncatcodespecials: Verbatim listing. (line 57)
+* uncatcodespecials <1>: Category codes. (line 49)
+* unorderedlist: Lists. (line 20)
+* unorderedlistdepth: Formatting lists. (line 41)
+* unorderedmarker: Formatting lists. (line 37)
+* url: Hyperlinks (xhyper.tex).
+ (line 7)
+* url (hyperlink type): Link types for hypertex.
+ (line 14)
+* url (hyperlink type) <1>: Link types for pdftex and dvipdfm.
+ (line 25)
+* url (hyperlinks): URL hyperlinks. (line 6)
+* usepackage: The \usepackage command.
+ (line 6)
+* varrowlength: Arrows and morphisms.
+ (line 28)
+* varrowlength <1>: Commutative diagram parameters.
+ (line 14)
+* vchannel: Commutative diagram parameters.
+ (line 39)
+* verbatim: Verbatim listing. (line 34)
+* verbatimescapechar: Verbatim listing. (line 47)
+* vgrid: Construction of commutative diagrams.
+ (line 108)
+* vgrid <1>: Commutative diagram parameters.
+ (line 51)
+* vline: Arrows and morphisms.
+ (line 82)
+* vmorphposn: Arrows and morphisms.
+ (line 33)
+* vmorphposn <1>: Commutative diagram parameters.
+ (line 26)
+* vmorphposndn: Arrows and morphisms.
+ (line 38)
+* vmorphposndn <1>: Commutative diagram parameters.
+ (line 28)
+* vmorphposnlft: Arrows and morphisms.
+ (line 40)
+* vmorphposnlft <1>: Commutative diagram parameters.
+ (line 29)
+* vmorphposnrt: Arrows and morphisms.
+ (line 39)
+* vmorphposnrt <1>: Commutative diagram parameters.
+ (line 28)
+* vmorphposnup: Arrows and morphisms.
+ (line 38)
+* vmorphposnup <1>: Commutative diagram parameters.
+ (line 28)
+* vpenalty: Mode-specific penalties.
+ (line 9)
+* vruledefaultwidth: Rules. (line 10)
+* width (destination option): Destination types for pdftex and dvipdfm.
+ (line 60)
+* width (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 40)
+* width (hyperlink option): Link options for pdftex and dvipdfm.
+ (line 128)
+* writenumberedtocentry: Writing the .toc file.
+ (line 13)
+* writenumberedtocline: Writing the .toc file.
+ (line 36)
+* writetocentry: Writing the .toc file.
+ (line 7)
+* XeLaTeX: Logos. (line 11)
+* XeTeX: Logos. (line 11)
+* 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: Page references. (line 18)
+* xrefpageword <1>: Page reference hyperlinks.
+ (line 10)
+* xrefwarning conditional: Using generic references.
+ (line 14)
+* xrefwarningfalse: Citations. (line 78)
+* xrlabel: Converting to characters.
+ (line 6)
+* xyz (destination type): Destination types for hypertex.
+ (line 7)
+* xyz (destination type) <1>: Destination types for pdftex and dvipdfm.
+ (line 7)
+* zoom (destination option): Destination types for pdftex and dvipdfm.
+ (line 7)
+* zoom (destination option) <1>: Destination options for pdftex and dvipdfm.
+ (line 21)
+
+
+File: eplain.info, Node: Concept index, Prev: Macro index, Up: Top
+
+Concept index
+*************
+
+
+* Menu:
+
+* *-form of LaTeX commands: Commands from LaTeX. (line 18)
+* .aux file: Citations. (line 17)
+* .aux file <1>: Cross-references. (line 11)
+* .bbl file: Citations. (line 21)
+* .bib file: Citations. (line 20)
+* .bst files: Citations. (line 70)
+* .cls files: Loading LaTeX packages.
+ (line 6)
+* .eps files: Packages known to work.
+ (line 91)
+* .eps files <1>: Packages known to work.
+ (line 100)
+* .fmt file: Installation. (line 27)
+* .fmt file <1>: Invoking Eplain. (line 14)
+* .idx files: Indexing. (line 23)
+* .idx files <1>: Index hyperlinks. (line 14)
+* .ind files: Indexing. (line 27)
+* .ind files <1>: Index hyperlinks. (line 25)
+* .pdf files: Checking for PDF output.
+ (line 6)
+* .pdf files <1>: Packages known to work.
+ (line 91)
+* .pdf files <2>: Introduction to hyperlinks.
+ (line 13)
+* .ps files: Introduction to hyperlinks.
+ (line 13)
+* .sty files: Loading LaTeX packages.
+ (line 6)
+* .toc file: Contents. (line 10)
+* 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 128)
+* AMSLaTeX: Logos. (line 10)
+* amsppt.sty: Invoking Eplain. (line 92)
+* AMSTeX: Logos. (line 10)
+* AMSTeX conflicts: Invoking Eplain. (line 92)
+* arguments, ignoring: Macro arguments. (line 6)
+* arrows: Arrows and morphisms.
+ (line 6)
+* atom: Properties. (line 6)
+* autopict.sty: Packages known to work.
+ (line 12)
+* avoiding boxed links: URL hyperlinks. (line 17)
+* avoiding boxed links <1>: Setting default types and options.
+ (line 25)
+* 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 30)
+* beveled hyperlink border: Link options for pdftex and dvipdfm.
+ (line 25)
+* bibliographies: Citations. (line 6)
+* bibliography fonts: Formatting bibliographies.
+ (line 38)
+* bibliography items, extra space between: Formatting bibliographies.
+ (line 67)
+* bibliography, formatting the: Formatting bibliographies.
+ (line 6)
+* bibliography, hyperlinks: Citation hyperlinks. (line 11)
+* bibtex: Invoking Eplain. (line 103)
+* BibTeX: Citations. (line 9)
+* BibTeX <1>: Logos. (line 10)
+* black boxes: Boxes. (line 6)
+* Borceux, Francis: Construction of commutative diagrams.
+ (line 79)
+* border color, hyperlink: Link options for pdftex and dvipdfm.
+ (line 13)
+* border style, hyperlink: Link options for pdftex and dvipdfm.
+ (line 19)
+* border style, hyperlink <1>: Link options for pdftex and dvipdfm.
+ (line 25)
+* border width, hyperlink: Link options for pdftex and dvipdfm.
+ (line 49)
+* Bott, Raoul: Construction of commutative diagrams.
+ (line 13)
+* boxed links, avoiding: URL hyperlinks. (line 17)
+* boxed links, avoiding <1>: Setting default types and options.
+ (line 25)
+* boxes, open: Boxes. (line 12)
+* braces, inside index entries: Index entries with special characters.
+ (line 63)
+* brackets, inside index entries: Index entries with special characters.
+ (line 85)
+* Brockett, Roger W.: Construction of commutative diagrams.
+ (line 38)
+* Butterfly Lemma: Construction of commutative diagrams.
+ (line 121)
+* Carlisle, David: Loading LaTeX packages.
+ (line 14)
+* catcode of '@': Environment for loading packages.
+ (line 35)
+* category codes: Category codes. (line 6)
+* centering: Justification. (line 6)
+* characters, converting to: Converting to characters.
+ (line 6)
+* characters, special: Verbatim listing. (line 57)
+* citations: Citations. (line 6)
+* citations, formatting: Formatting citations.
+ (line 6)
+* citations, hyperlinks: Citation hyperlinks. (line 6)
+* citations, undefined: Citations. (line 48)
+* cmtt8: Proofing index terms.
+ (line 12)
+* color: Packages known to work.
+ (line 25)
+* color, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* color, hyperlink border: Link options for pdftex and dvipdfm.
+ (line 13)
+* color, hyperlinks: URL hyperlinks. (line 17)
+* color, hyperlinks <1>: Options supported by all drivers.
+ (line 37)
+* color, hyperlinks <2>: Setting default types and options.
+ (line 25)
+* color, problems with pdfTeX: Packages known to work.
+ (line 29)
+* color.sty: Packages known to work.
+ (line 21)
+* color.sty <1>: URL hyperlinks. (line 18)
+* color.sty <2>: Hyperlink driver nolinks.
+ (line 34)
+* color.sty <3>: Setting default types and options.
+ (line 27)
+* color.sty <4>: Hyperlinks (xhyper.tex).
+ (line 7)
+* colored links: URL hyperlinks. (line 17)
+* colored links <1>: Options supported by all drivers.
+ (line 37)
+* colored links <2>: Setting default types and options.
+ (line 25)
+* 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 62)
+* comments, highlighting in listings: Highlighting TeX comments in listings (lscommnt.tex).
+ (line 7)
+* commutative diagrams: Commutative diagrams.
+ (line 6)
+* contents: Contents. (line 6)
+* contents, and verbatim text: Writing the .toc file.
+ (line 49)
+* contents, hyperlinks: Contents hyperlinks. (line 6)
+* ConTeXt: Packages known to work.
+ (line 29)
+* 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: Defining generic references.
+ (line 6)
+* cross-references, defining general <1>: Using generic references.
+ (line 6)
+* cross-references, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* cross-references, hyperlinks: Cross-reference hyperlinks.
+ (line 6)
+* cross-referencing index entries: Modifying index entries.
+ (line 36)
+* cross-referencing index entries <1>: Customizing indexing.
+ (line 62)
+* 'CTRL-L', and verbatim listing: Verbatim listing. (line 30)
+* cube: Construction of commutative diagrams.
+ (line 89)
+* customizing indexing: Customizing indexing.
+ (line 6)
+* dashed hyperlink border: Link options for pdftex and dvipdfm.
+ (line 19)
+* dashed hyperlink border <1>: Link options for pdftex and dvipdfm.
+ (line 25)
+* date: Time of day. (line 6)
+* default hyperlink options: Setting hyperlink types and options.
+ (line 6)
+* default hyperlink options <1>: Setting group types. (line 17)
+* default hyperlink type: Setting hyperlink types and options.
+ (line 6)
+* default hyperlink type <1>: Setting group types. (line 17)
+* defining general references: Defining generic references.
+ (line 6)
+* defining general references <1>: Using generic references.
+ (line 6)
+* definitions, global: Category codes. (line 37)
+* demo files: Demo files. (line 6)
+* destgroup: Implicit hyperlinks. (line 10)
+* destgroup options: Setting hyperlink types and options.
+ (line 12)
+* destgroup options <1>: Setting group options.
+ (line 6)
+* destgroup options, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* destgroup type: Setting hyperlink types and options.
+ (line 12)
+* destgroup type <1>: Setting group types. (line 6)
+* destgroup type, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* 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)
+* destination group: Implicit hyperlinks. (line 10)
+* destination options: Introduction to hyperlinks.
+ (line 105)
+* destination options, common: Options supported by all drivers.
+ (line 12)
+* destination options, 'dvipdfm': Destination options for pdftex and dvipdfm.
+ (line 6)
+* destination options, 'hypertex': Destination options for hypertex.
+ (line 6)
+* destination options, 'pdftex': Destination options for pdftex and dvipdfm.
+ (line 6)
+* destination type: Introduction to hyperlinks.
+ (line 88)
+* destination types, 'dvipdfm': Destination types for pdftex and dvipdfm.
+ (line 6)
+* destination types, 'hypertex': Destination types for hypertex.
+ (line 6)
+* destination types, 'pdftex': Destination types for pdftex and dvipdfm.
+ (line 6)
+* destinations, default options: Setting hyperlink types and options.
+ (line 6)
+* destinations, default options <1>: Setting group types. (line 17)
+* destinations, default type: Setting hyperlink types and options.
+ (line 6)
+* destinations, default type <1>: Setting group types. (line 17)
+* destinations, dimensions: Destination options for pdftex and dvipdfm.
+ (line 34)
+* destinations, dimensions <1>: Destination options for pdftex and dvipdfm.
+ (line 37)
+* destinations, dimensions <2>: Destination options for pdftex and dvipdfm.
+ (line 40)
+* destinations, dimensions <3>: Destination options for pdftex and dvipdfm.
+ (line 56)
+* destinations, dimensions <4>: Destination options for pdftex and dvipdfm.
+ (line 60)
+* destinations, dimensions <5>: Destination options for pdftex and dvipdfm.
+ (line 64)
+* destinations, dimensions <6>: Destination options for pdftex and dvipdfm.
+ (line 68)
+* destinations, disabling: Hyperlink driver nolinks.
+ (line 6)
+* destinations, disabling <1>: Turning hyperlinks on/off.
+ (line 6)
+* destinations, group options: Setting hyperlink types and options.
+ (line 12)
+* destinations, group options <1>: Setting group options.
+ (line 6)
+* destinations, group options, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* destinations, group type: Setting hyperlink types and options.
+ (line 12)
+* destinations, group type <1>: Setting group types. (line 6)
+* destinations, group type, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* destinations, in another file: Link types for hypertex.
+ (line 21)
+* destinations, in another file <1>: Link types for pdftex and dvipdfm.
+ (line 39)
+* destinations, in another file <2>: Link types for pdftex and dvipdfm.
+ (line 51)
+* destinations, large operators: Options supported by all drivers.
+ (line 27)
+* destinations, large operators <1>: Setting group options.
+ (line 33)
+* destinations, magnification: Destination options for pdftex and dvipdfm.
+ (line 21)
+* destinations, named: Link types for hypertex.
+ (line 7)
+* destinations, named <1>: Link types for pdftex and dvipdfm.
+ (line 18)
+* destinations, numbered: Link types for pdftex and dvipdfm.
+ (line 91)
+* destinations, page: Link types for pdftex and dvipdfm.
+ (line 30)
+* destinations, raising: Options supported by all drivers.
+ (line 13)
+* destinations, URL: Link types for hypertex.
+ (line 14)
+* destinations, URL <1>: Link types for pdftex and dvipdfm.
+ (line 25)
+* detecting numbers: \ifinteger and \isinteger.
+ (line 6)
+* diagnostics: Diagnostics. (line 6)
+* Diagram, macros for LaTeX: Construction of commutative diagrams.
+ (line 79)
+* dimensions, hyperlink: Link options for pdftex and dvipdfm.
+ (line 122)
+* dimensions, hyperlink <1>: Link options for pdftex and dvipdfm.
+ (line 125)
+* dimensions, hyperlink <2>: Link options for pdftex and dvipdfm.
+ (line 128)
+* dimensions, hyperlink destination: Destination options for pdftex and dvipdfm.
+ (line 34)
+* dimensions, hyperlink destination <1>: Destination options for pdftex and dvipdfm.
+ (line 37)
+* dimensions, hyperlink destination <2>: Destination options for pdftex and dvipdfm.
+ (line 40)
+* dimensions, hyperlink destination <3>: Destination options for pdftex and dvipdfm.
+ (line 56)
+* dimensions, hyperlink destination <4>: Destination options for pdftex and dvipdfm.
+ (line 60)
+* dimensions, hyperlink destination <5>: Destination options for pdftex and dvipdfm.
+ (line 64)
+* dimensions, hyperlink destination <6>: Destination options for pdftex and dvipdfm.
+ (line 68)
+* disabling hyperlinks: Hyperlink driver nolinks.
+ (line 6)
+* disabling hyperlinks <1>: Turning hyperlinks on/off.
+ (line 6)
+* disabling indexes: Indexing. (line 54)
+* displayed math and hyperlinks: Options supported by all drivers.
+ (line 27)
+* displayed math and hyperlinks <1>: Setting group options.
+ (line 33)
+* displays, left-justifying: Displays. (line 6)
+* do...while loops: Iteration. (line 6)
+* double column output: Multiple columns. (line 6)
+* double columns in indexes: Typesetting an index.
+ (line 24)
+* 'draft', option for 'graphics.sty': Packages known to work.
+ (line 69)
+* driver 'dvipdfm': Hyperlink drivers pdftex and dvipdfm.
+ (line 6)
+* driver 'hypertex': Hyperlink driver hypertex.
+ (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: Introduction to hyperlinks.
+ (line 36)
+* dvipdfm <1>: Hyperlink driver hypertex.
+ (line 13)
+* dvipdfm <2>: Hyperlink driver hypertex.
+ (line 47)
+* '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)
+* dvips: Hyperlink driver hypertex.
+ (line 13)
+* dvips <1>: Hyperlink driver hypertex.
+ (line 32)
+* Eijkhout, Victor: Iteration. (line 61)
+* eject in multicolumns: Multiple columns. (line 14)
+* electronic mail addresses, breaking: Paths. (line 6)
+* electronic mail addresses, breaking <1>: Packages known to work.
+ (line 121)
+* empty argument, checking for: \ifempty. (line 6)
+* empty equation labels: Equation references. (line 22)
+* empty equation labels, referring to: Equation references. (line 27)
+* empty string, checking for: \ifempty. (line 6)
+* Encapsulated PostScript: Packages known to work.
+ (line 91)
+* Encapsulated PostScript <1>: Packages known to work.
+ (line 100)
+* 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)
+* Eplain, upgrading: Installation. (line 6)
+* eplain.aux: Installation. (line 40)
+* eplain.fmt: Installation. (line 27)
+* EPS: Packages known to work.
+ (line 91)
+* EPS <1>: Packages known to work.
+ (line 100)
+* epstopdf: Packages known to work.
+ (line 91)
+* epstopdf.sty: Packages known to work.
+ (line 89)
+* equation labels, characters valid in: Equation references. (line 54)
+* equation numbers, formatting of: Formatting equation references.
+ (line 6)
+* equation numbers, left-alignment: Displays. (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 24)
+* error on '\input': Environment for loading packages.
+ (line 41)
+* escape character, changing verbatim: Verbatim listing. (line 47)
+* eTeX: Logos. (line 10)
+* exact index hyperlinks: Exact destinations for index terms.
+ (line 28)
+* expansion, one-level: \expandonce. (line 6)
+* explicit hyperlinks: Explicit hyperlinks. (line 6)
+* explicit hyperlinks, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* ExTeX: Logos. (line 10)
+* file, hyperlink to: Link types for hypertex.
+ (line 21)
+* file, hyperlink to <1>: Link types for pdftex and dvipdfm.
+ (line 39)
+* file, hyperlink to <2>: Link types for pdftex and dvipdfm.
+ (line 51)
+* 'file:' links: General hyperlinks. (line 37)
+* filenames, breaking: Paths. (line 6)
+* filenames, breaking <1>: Packages known to work.
+ (line 121)
+* files, verbatim listing of: Verbatim listing. (line 6)
+* files, verbatim listing of, demo: Highlighting TeX comments in listings (lscommnt.tex).
+ (line 7)
+* 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)
+* form feed character, and verbatim listing: Verbatim listing.
+ (line 30)
+* format file: Installation. (line 27)
+* formatting index entries: Typesetting an index.
+ (line 35)
+* fractions: Fractions. (line 6)
+* Ghostscript: Hyperlink driver hypertex.
+ (line 13)
+* Ghostscript <1>: Hyperlink driver hypertex.
+ (line 35)
+* gobbling arguments: Macro arguments. (line 6)
+* golden mean: Construction of commutative diagrams.
+ (line 59)
+* golden mean <1>: Construction of commutative diagrams.
+ (line 59)
+* Graham, Ronald L.: Citations. (line 91)
+* graphics collection, LaTeX: Loading LaTeX packages.
+ (line 14)
+* graphics collection, LaTeX <1>: Packages known to work.
+ (line 25)
+* graphics collection, LaTeX <2>: Hyperlink driver nolinks.
+ (line 34)
+* graphics collection, LaTeX, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* graphics, omitting typesetting of: Packages known to work.
+ (line 69)
+* graphics, problems with pdfTeX: Packages known to work.
+ (line 29)
+* graphics.sty: Packages known to work.
+ (line 22)
+* graphicx.sty: Packages known to work.
+ (line 23)
+* graphicx.sty <1>: Hyperlinks (xhyper.tex).
+ (line 7)
+* grid: Construction of commutative diagrams.
+ (line 79)
+* group option list: Setting group options.
+ (line 48)
+* group options, hyperlink: Setting hyperlink types and options.
+ (line 12)
+* group options, hyperlink <1>: Setting group options.
+ (line 6)
+* group options, hyperlink, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* group type, hyperlink: Setting hyperlink types and options.
+ (line 12)
+* group type, hyperlink <1>: Setting group types. (line 6)
+* group type, hyperlink, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* 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': Equation reference hyperlinks.
+ (line 6)
+* group 'eq' <1>: Equation reference hyperlinks.
+ (line 20)
+* group 'eq' <2>: Setting group options.
+ (line 34)
+* group 'foot': Footnote hyperlinks. (line 6)
+* group 'footback': Footnote hyperlinks. (line 6)
+* group 'hrefext': General hyperlinks. (line 21)
+* group 'hrefint': General hyperlinks. (line 12)
+* 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, destination: Implicit hyperlinks. (line 10)
+* group, disabling hyperlinks: Turning hyperlinks on/off for a group.
+ (line 6)
+* group, link: Implicit hyperlinks. (line 10)
+* group, preserving option list: Setting group options.
+ (line 21)
+* groups, specifying all: Setting group types. (line 26)
+* hanging on '\input': Environment for loading packages.
+ (line 41)
+* help messages: Diagnostics. (line 24)
+* highlight modes, hyperlink: Link options for pdftex and dvipdfm.
+ (line 69)
+* highlighting: Packages known to work.
+ (line 111)
+* highlighting, in listings: Highlighting TeX comments in listings (lscommnt.tex).
+ (line 7)
+* Ho"ppner, Klaus: Packages known to work.
+ (line 83)
+* hooks: Hooks. (line 6)
+* hyperlink border color: Link options for pdftex and dvipdfm.
+ (line 13)
+* hyperlink color: URL hyperlinks. (line 17)
+* hyperlink color <1>: Options supported by all drivers.
+ (line 37)
+* hyperlink color <2>: Setting default types and options.
+ (line 25)
+* hyperlink destination, dimensions: Destination options for pdftex and dvipdfm.
+ (line 34)
+* hyperlink destination, dimensions <1>: Destination options for pdftex and dvipdfm.
+ (line 37)
+* hyperlink destination, dimensions <2>: Destination options for pdftex and dvipdfm.
+ (line 40)
+* hyperlink destination, dimensions <3>: Destination options for pdftex and dvipdfm.
+ (line 56)
+* hyperlink destination, dimensions <4>: Destination options for pdftex and dvipdfm.
+ (line 60)
+* hyperlink destination, dimensions <5>: Destination options for pdftex and dvipdfm.
+ (line 64)
+* hyperlink destination, dimensions <6>: Destination options for pdftex and dvipdfm.
+ (line 68)
+* hyperlink destination, magnification: Destination options for pdftex and dvipdfm.
+ (line 21)
+* hyperlink destination, named: Link types for hypertex.
+ (line 7)
+* hyperlink destination, named <1>: Link types for pdftex and dvipdfm.
+ (line 18)
+* hyperlink destination, numbered: Link types for pdftex and dvipdfm.
+ (line 91)
+* hyperlink destination, page: Link types for pdftex and dvipdfm.
+ (line 30)
+* hyperlink destination, raising: Options supported by all drivers.
+ (line 13)
+* hyperlink dimensions: Link options for pdftex and dvipdfm.
+ (line 122)
+* hyperlink dimensions <1>: Link options for pdftex and dvipdfm.
+ (line 125)
+* hyperlink dimensions <2>: Link options for pdftex and dvipdfm.
+ (line 128)
+* hyperlink driver 'dvipdfm': Hyperlink drivers pdftex and dvipdfm.
+ (line 6)
+* hyperlink driver 'hypertex': Hyperlink driver hypertex.
+ (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 21)
+* 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 19)
+* hyperlinks, border style <1>: Link options for pdftex and dvipdfm.
+ (line 25)
+* hyperlinks, border width: Link options for pdftex and dvipdfm.
+ (line 49)
+* hyperlinks, citations: Citation hyperlinks. (line 6)
+* hyperlinks, cross-references: Cross-reference hyperlinks.
+ (line 6)
+* hyperlinks, default options: Setting hyperlink types and options.
+ (line 6)
+* hyperlinks, default options <1>: Setting group types. (line 17)
+* hyperlinks, default type: Setting hyperlink types and options.
+ (line 6)
+* hyperlinks, default type <1>: Setting group types. (line 17)
+* hyperlinks, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* hyperlinks, disabling: Hyperlink driver nolinks.
+ (line 6)
+* hyperlinks, disabling <1>: Turning hyperlinks on/off.
+ (line 6)
+* hyperlinks, equations: Equation reference hyperlinks.
+ (line 6)
+* hyperlinks, explicit: Explicit hyperlinks. (line 6)
+* hyperlinks, explicit, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* 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 48)
+* hyperlinks, group options: Setting hyperlink types and options.
+ (line 12)
+* hyperlinks, group options <1>: Setting group options.
+ (line 6)
+* hyperlinks, group options, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* hyperlinks, group type: Setting hyperlink types and options.
+ (line 12)
+* hyperlinks, group type <1>: Setting group types. (line 6)
+* hyperlinks, highlight mode: Link options for pdftex and dvipdfm.
+ (line 69)
+* hyperlinks, implicit: Implicit hyperlinks. (line 6)
+* hyperlinks, implicit, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* 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: Options supported by all drivers.
+ (line 27)
+* hyperlinks, large operators <1>: Setting group options.
+ (line 33)
+* 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 hypertex.
+ (line 21)
+* hyperlinks, to another file <1>: Link types for pdftex and dvipdfm.
+ (line 39)
+* hyperlinks, to another file <2>: Link types for pdftex and dvipdfm.
+ (line 51)
+* hyperlinks, URL: General hyperlinks. (line 20)
+* hyperlinks, URL <1>: URL hyperlinks. (line 6)
+* hyperlinks, URL <2>: Link types for hypertex.
+ (line 14)
+* hyperlinks, URL <3>: Link types for pdftex and dvipdfm.
+ (line 25)
+* hyperref.sty: Packages known not to work.
+ (line 9)
+* 'hypertex', destination options: Destination options for hypertex.
+ (line 6)
+* 'hypertex', destination types: Destination types for hypertex.
+ (line 6)
+* 'hypertex', hyperlink driver: Hyperlink driver hypertex.
+ (line 6)
+* 'hypertex', link options: Link options for hypertex.
+ (line 6)
+* 'hypertex', link types: Link types for hypertex.
+ (line 6)
+* hypertext links: Hyperlinks. (line 6)
+* identifying numbers: \ifinteger and \isinteger.
+ (line 6)
+* idxuniq: Exact destinations for index terms.
+ (line 33)
+* ignoring arguments: Macro arguments. (line 6)
+* implicit hyperlinks: Implicit hyperlinks. (line 6)
+* implicit hyperlinks, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* inaccessible macros: Category codes. (line 19)
+* index entries and ranges: Modifying index entries.
+ (line 22)
+* index entries containing braces: Index entries with special characters.
+ (line 63)
+* index entries containing brackets: Index entries with special characters.
+ (line 85)
+* index entries with special characters: Index entries with special characters.
+ (line 6)
+* index entries' page numbers, modifying: Modifying index entries.
+ (line 6)
+* index entries, and cross-referencing: Modifying index entries.
+ (line 36)
+* index entries, and cross-referencing <1>: Customizing indexing.
+ (line 62)
+* index entries, proofing: Proofing index terms.
+ (line 6)
+* index entries, with verbatim text: Index entries with special characters.
+ (line 40)
+* index entry continuations: Typesetting an index.
+ (line 35)
+* index entry formatting: Typesetting an index.
+ (line 35)
+* index entry general sorting: Indexing commands. (line 50)
+* index fonts: Typesetting an index.
+ (line 24)
+* index groupings: Typesetting an index.
+ (line 54)
+* index hyperlink: Index hyperlinks. (line 6)
+* index typesetting: Typesetting an index.
+ (line 6)
+* index, and verbatim text: Index entries with special characters.
+ (line 40)
+* 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, disabling: Indexing. (line 54)
+* indexes, multiple: Indexing. (line 36)
+* 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 38)
+* inset hyperlink border: Link options for pdftex and dvipdfm.
+ (line 25)
+* installation: Installation. (line 6)
+* integers, detecting: \ifinteger and \isinteger.
+ (line 6)
+* italic correction: Formatting bibliographies.
+ (line 45)
+* item labels, changing: Formatting lists. (line 53)
+* iteration: Iteration. (line 6)
+* justification: Justification. (line 6)
+* Knuth, Donald Ervin: Citations. (line 91)
+* Knuth, Donald Ervin <1>: Category codes. (line 7)
+* labels on items, changing: Formatting lists. (line 53)
+* 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 15)
+* LAMSTeX: Logos. (line 11)
+* Lang, Serge: Arrows and morphisms.
+ (line 126)
+* Lang, Serge <1>: Construction of commutative diagrams.
+ (line 121)
+* large operators and hyperlinks: Options supported by all drivers.
+ (line 27)
+* large operators and hyperlinks <1>: Setting group options.
+ (line 33)
+* LaTeX: Introduction. (line 15)
+* LaTeX <1>: Citations. (line 10)
+* LaTeX <2>: Logos. (line 11)
+* LaTeX <3>: Slanted lines and vectors.
+ (line 7)
+* LaTeX commands, in 'btxmac.tex': Commands from LaTeX. (line 6)
+* LaTeX graphics collection: Loading LaTeX packages.
+ (line 14)
+* LaTeX graphics collection <1>: Packages known to work.
+ (line 25)
+* LaTeX graphics collection <2>: Hyperlink driver nolinks.
+ (line 34)
+* LaTeX graphics collection, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* LaTeX packages: Loading LaTeX packages.
+ (line 6)
+* LaTeX packages <1>: Packages known to work.
+ (line 6)
+* LaTeX packages <2>: Packages known not to work.
+ (line 6)
+* LaTeX packages, restoring '\input': Environment for loading packages.
+ (line 24)
+* left-alignment of equation numbers: Displays. (line 6)
+* left-justification: Justification. (line 6)
+* left-justification of displays: Displays. (line 6)
+* letterspacing: Packages known to work.
+ (line 111)
+* 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 105)
+* link options, common: Options supported by all drivers.
+ (line 35)
+* link options, 'dvipdfm': Link options for pdftex and dvipdfm.
+ (line 6)
+* link options, 'hypertex': Link options for hypertex.
+ (line 6)
+* link options, 'pdftex': Link options for pdftex and dvipdfm.
+ (line 6)
+* link type: Introduction to hyperlinks.
+ (line 88)
+* link types, 'dvipdfm': Link types for pdftex and dvipdfm.
+ (line 6)
+* link types, 'hypertex': Link types for hypertex.
+ (line 6)
+* link types, 'pdftex': Link types for pdftex and dvipdfm.
+ (line 6)
+* link, group options: Setting hyperlink types and options.
+ (line 12)
+* link, group options <1>: Setting group options.
+ (line 6)
+* link, group options, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* link, group type: Setting hyperlink types and options.
+ (line 12)
+* link, group type <1>: Setting group types. (line 6)
+* linkgroup: Implicit hyperlinks. (line 10)
+* linkgroup options: Setting hyperlink types and options.
+ (line 12)
+* linkgroup options <1>: Setting group options.
+ (line 6)
+* linkgroup options, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* linkgroup type: Setting hyperlink types and options.
+ (line 12)
+* linkgroup type <1>: Setting group types. (line 6)
+* linkgroup 'cite': Citation hyperlinks. (line 6)
+* linkgroup 'eq': Equation reference hyperlinks.
+ (line 20)
+* linkgroup 'eq' <1>: Setting group options.
+ (line 34)
+* linkgroup 'foot': Footnote hyperlinks. (line 6)
+* linkgroup 'footback': Footnote hyperlinks. (line 6)
+* linkgroup 'hrefext': General hyperlinks. (line 21)
+* linkgroup 'hrefint': General hyperlinks. (line 12)
+* 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)
+* links, hypertext: Hyperlinks. (line 6)
+* list of figures: Alternative contents files.
+ (line 6)
+* list of tables: Alternative contents files.
+ (line 6)
+* listing files: Verbatim listing. (line 6)
+* listing files, demo: Highlighting TeX comments in listings (lscommnt.tex).
+ (line 7)
+* lists: Lists. (line 6)
+* lists, formatting: Formatting lists. (line 6)
+* lists, hyperlinks: List hyperlinks. (line 6)
+* loading packages, environment for: Environment for loading packages.
+ (line 6)
+* logos: Logos. (line 6)
+* lookahead without spaces: \futurenonspacelet. (line 6)
+* loops: Iteration. (line 6)
+* lscommnt.tex: Highlighting TeX comments in listings (lscommnt.tex).
+ (line 7)
+* magnification, hyperlink destination: Destination options for pdftex and dvipdfm.
+ (line 21)
+* makeindex: Invoking Eplain. (line 103)
+* makeindex <1>: Indexing. (line 14)
+* makeindex <2>: Index hyperlinks. (line 12)
+* margins, changing: Margins. (line 6)
+* margins, index terms in: Proofing index terms.
+ (line 6)
+* mathematics displays, formatting: Displays. (line 6)
+* mathematics displays, hyperlinks: Options supported by all drivers.
+ (line 27)
+* mathematics displays, hyperlinks <1>: Setting group options.
+ (line 33)
+* Metafont: Logos. (line 11)
+* miniltx.tex: Loading LaTeX packages.
+ (line 14)
+* 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 36)
+* named destination: Link types for hypertex.
+ (line 7)
+* named destination <1>: 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 26)
+* newlines, obeying: Obeying spaces. (line 6)
+* 'nolinks', hyperlink driver: Hyperlink driver nolinks.
+ (line 6)
+* numbered destination: Link types for pdftex and dvipdfm.
+ (line 91)
+* numbered lists: Lists. (line 6)
+* numbered references: Citations. (line 91)
+* numbers, detecting: \ifinteger and \isinteger.
+ (line 6)
+* numbers, written form of: Writing out numbers. (line 6)
+* Oberdiek, Heiko: Checking for PDF output.
+ (line 24)
+* omitting hyperlinks: Hyperlink driver nolinks.
+ (line 6)
+* omitting hyperlinks <1>: Turning hyperlinks on/off.
+ (line 6)
+* omitting typesetting of graphics: Packages known to work.
+ (line 69)
+* open boxes: Boxes. (line 12)
+* option list, group: Setting group options.
+ (line 48)
+* option list, preserving for group: Setting group options.
+ (line 21)
+* options, destination, common: Options supported by all drivers.
+ (line 12)
+* options, destination, 'dvipdfm': Destination options for pdftex and dvipdfm.
+ (line 6)
+* options, destination, 'hypertex': Destination options for hypertex.
+ (line 6)
+* options, destination, 'pdftex': Destination options for pdftex and dvipdfm.
+ (line 6)
+* options, link and destination: Introduction to hyperlinks.
+ (line 105)
+* options, link, common: Options supported by all drivers.
+ (line 35)
+* options, link, 'dvipdfm': Link options for pdftex and dvipdfm.
+ (line 6)
+* options, link, 'hypertex': Link options for hypertex.
+ (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)
+* overstriking: Packages known to work.
+ (line 111)
+* packages, LaTeX: Loading LaTeX packages.
+ (line 6)
+* packages, LaTeX <1>: Packages known to work.
+ (line 6)
+* packages, LaTeX <2>: Packages known not to work.
+ (line 6)
+* page destination: Link types for pdftex and dvipdfm.
+ (line 30)
+* 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: Paths. (line 6)
+* pathnames, breaking <1>: Packages known to work.
+ (line 121)
+* PDF: Packages known to work.
+ (line 91)
+* PDF output: Checking for PDF output.
+ (line 6)
+* pdftex: Invoking Eplain. (line 114)
+* pdftex <1>: Checking for PDF output.
+ (line 6)
+* pdftex <2>: Introduction to hyperlinks.
+ (line 35)
+* '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)
+* pdfTeX, problems using color and graphics: Packages known to work.
+ (line 29)
+* pdfTeX, problems with 'supp-mis.tex': Packages known to work.
+ (line 29)
+* pict2e.sty: Packages known not to work.
+ (line 16)
+* picture mode: Packages known to work.
+ (line 14)
+* picture mode <1>: Slanted lines and vectors.
+ (line 7)
+* Portable Document Format: Packages known to work.
+ (line 91)
+* PostScript point: Destination types for pdftex and dvipdfm.
+ (line 66)
+* PostScript point <1>: Destination options for pdftex and dvipdfm.
+ (line 50)
+* PostScript point <2>: Link options for pdftex and dvipdfm.
+ (line 49)
+* proofing index terms: Proofing index terms.
+ (line 6)
+* properties: Properties. (line 6)
+* ps2pdf: Hyperlink driver hypertex.
+ (line 14)
+* ps2pdf <1>: Hyperlink driver hypertex.
+ (line 35)
+* psfrag.sty: Packages known to work.
+ (line 98)
+* quadruple column output: Multiple columns. (line 6)
+* Rahtz, Sebastian: Loading LaTeX packages.
+ (line 14)
+* raising hyperlink destinations: Options supported by all drivers.
+ (line 13)
+* raising hyperlink destinations <1>: Setting group options.
+ (line 33)
+* ranges and index entry: Modifying index entries.
+ (line 22)
+* recognizing numbers: \ifinteger and \isinteger.
+ (line 6)
+* rectangles: Boxes. (line 6)
+* references, alphanumeric: Citations. (line 128)
+* references, defining general: Defining generic references.
+ (line 6)
+* references, defining general <1>: Using generic references.
+ (line 6)
+* references, numbered: Citations. (line 91)
+* register allocation: Allocation macros. (line 6)
+* restoring '\input', LaTeX packages: Environment for loading packages.
+ (line 24)
+* return character: Category codes. (line 40)
+* right-justification: Justification. (line 6)
+* rms: Introduction. (line 16)
+* rotation: Packages known to work.
+ (line 25)
+* rotation, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* rule thickness: Rules. (line 7)
+* 'run:' links: General hyperlinks. (line 38)
+* scaling: Packages known to work.
+ (line 25)
+* scaling, demo: Hyperlinks (xhyper.tex).
+ (line 7)
+* sed: Customizing indexing.
+ (line 64)
+* see also index entries and hyperlinks: Hyperlinks in see and see also entries.
+ (line 6)
+* see also index entries and sorting: Customizing indexing.
+ (line 49)
+* see, and index entries: Modifying index entries.
+ (line 36)
+* see, and index entries <1>: Customizing indexing.
+ (line 62)
+* 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)
+* skipping tokens <1>: \ifempty. (line 12)
+* SLiTeX: Logos. (line 11)
+* Snake Lemma: Arrows and morphisms.
+ (line 130)
+* solid hyperlink border: Link options for pdftex and dvipdfm.
+ (line 25)
+* sorting an index: Indexing. (line 6)
+* sorting of index entries: Indexing commands. (line 50)
+* soul.sty: Packages known to work.
+ (line 109)
+* 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 out: Packages known to work.
+ (line 111)
+* spacing, preserving with hyperlinks: Hyperlink driver nolinks.
+ (line 6)
+* special characters: Verbatim listing. (line 57)
+* special characters, in index entries: Index entries with special characters.
+ (line 6)
+* special characters, in table of contents: Writing the .toc file.
+ (line 49)
+* Stallman, Richard: Introduction. (line 16)
+* striking out: Packages known to work.
+ (line 111)
+* style, hyperlink border: Link options for pdftex and dvipdfm.
+ (line 25)
+* subequations, referring to: Subequation references.
+ (line 6)
+* subterm in indexing: Indexing terms. (line 13)
+* supp-mis.tex, problems with pdfTeX: Packages known to work.
+ (line 29)
+* supp-pdf.tex: Packages known to work.
+ (line 29)
+* table of contents: Contents. (line 6)
+* table of contents, and verbatim text: Writing the .toc file.
+ (line 49)
+* table of contents, hyperlinks: Contents hyperlinks. (line 6)
+* table of contents, short: Reading the .toc file.
+ (line 19)
+* table of contents, short <1>: Macro arguments. (line 10)
+* tables: Tables. (line 6)
+* tabs: Obeying spaces. (line 22)
+* TeX by Topic: Iteration. (line 61)
+* TeX Frequently Asked Question: \ifinteger and \isinteger.
+ (line 26)
+* TEXFORMATS: Installation. (line 43)
+* texi2dvi: Invoking Eplain. (line 103)
+* texi2dvi <1>: Citations. (line 102)
+* texi2dvi <2>: Indexing. (line 33)
+* Texinfo: Introduction. (line 15)
+* TEXINPUTS: Installation. (line 23)
+* time of day: Time of day. (line 6)
+* 'toc' files, writing several: Changing the .toc file's root name.
+ (line 12)
+* tracing: Diagnostics. (line 6)
+* trailing spaces and indexing commands: Indexing terms. (line 20)
+* trimsee: Customizing indexing.
+ (line 65)
+* triple column output: Multiple columns. (line 6)
+* Tu, Loring W.: Construction of commutative diagrams.
+ (line 13)
+* TUGboat: Introduction. (line 64)
+* type, link and destination: Introduction to hyperlinks.
+ (line 88)
+* types, destination, 'dvipdfm': Destination types for pdftex and dvipdfm.
+ (line 6)
+* types, destination, 'hypertex': Destination types for hypertex.
+ (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, 'hypertex': Link types for hypertex.
+ (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 40)
+* underline hyperlink border: Link options for pdftex and dvipdfm.
+ (line 25)
+* underlining: Packages known to work.
+ (line 111)
+* 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)
+* upgrading: Installation. (line 6)
+* URL for 'ifpdf.sty': Checking for PDF output.
+ (line 24)
+* URL for MakeIndex: Indexing. (line 14)
+* URL for 'path.sty': Paths. (line 33)
+* URL for pdfTeX: Checking for PDF output.
+ (line 6)
+* URL for 'texnames.sty': Logos. (line 15)
+* URL hyperlink: General hyperlinks. (line 20)
+* URL hyperlink <1>: URL hyperlinks. (line 6)
+* URL hyperlink <2>: Link types for hypertex.
+ (line 14)
+* URL hyperlink <3>: Link types for pdftex and dvipdfm.
+ (line 25)
+* url.sty: Packages known to work.
+ (line 119)
+* url.sty <1>: URL hyperlinks. (line 6)
+* url.sty <2>: Hyperlinks (xhyper.tex).
+ (line 7)
+* user-inaccessible macros: Category codes. (line 19)
+* vectors: Slanted lines and vectors.
+ (line 15)
+* verbatim listing: Verbatim listing. (line 6)
+* verbatim listing, demo: Highlighting TeX comments in listings (lscommnt.tex).
+ (line 7)
+* verbatim text, in index: Index entries with special characters.
+ (line 40)
+* verbatim text, in table of contents: Writing the .toc file.
+ (line 49)
+* version number: Introduction. (line 50)
+* Walden, David: Introduction. (line 61)
+* Warner, Frank W.: Construction of commutative diagrams.
+ (line 25)
+* whatsits made by hyperlinks: Hyperlink driver nolinks.
+ (line 25)
+* whatsits made by index entries: Indexing commands. (line 62)
+* while loops: Iteration. (line 6)
+* whitespace: Obeying spaces. (line 6)
+* width, hyperlink border: Link options for pdftex and dvipdfm.
+ (line 49)
+* writing several 'toc' files: Changing the .toc file's root name.
+ (line 12)
+* xcolor.sty: Packages known not to work.
+ (line 19)
+* xdvi: Hyperlink driver hypertex.
+ (line 11)
+* XeLaTeX: Logos. (line 11)
+* xeplain.tex: Introduction. (line 6)
+* XeTeX: Logos. (line 11)
+* xhyper.tex: Hyperlinks (xhyper.tex).
+ (line 7)
+* Zassenhaus, Hans: Construction of commutative diagrams.
+ (line 121)
+* zooming, hyperlink destination: Destination options for pdftex and dvipdfm.
+ (line 21)
+
+
+
+Tag Table:
+Node: Top809
+Node: Introduction8254
+Node: Installation11274
+Node: Invoking Eplain13326
+Node: User definitions17923
+Node: Diagnostics19750
+Node: Rules21315
+Node: Citations22146
+Node: Formatting citations28574
+Node: Formatting bibliographies30111
+Node: Commands from LaTeX33347
+Node: Displays34321
+Node: Formatting displays35708
+Node: Time of day36341
+Node: Lists37100
+Node: Formatting lists39240
+Node: Verbatim listing41523
+Node: Contents44743
+Node: Writing the .toc file45412
+Node: Reading the .toc file48274
+Node: Changing the .toc file's root name49677
+Node: Alternative contents files50693
+Node: Cross-references51257
+Node: Defining generic references52743
+Node: Using generic references53619
+Node: Page references54903
+Node: Equation references55722
+Node: Formatting equation references58487
+Node: Subequation references62837
+Node: Indexing64753
+Node: Indexing terms67861
+Node: Indexing commands68973
+Node: Modifying index entries71992
+Node: Index entries with special characters74962
+Node: Proofing index terms79204
+Node: Typesetting an index81017
+Node: Customizing indexing83483
+Node: Justification87179
+Node: Tables88849
+Node: Margins91340
+Node: Multiple columns93493
+Node: Footnotes95530
+Node: Fractions98105
+Node: Paths98888
+Node: Logos100490
+Node: Boxes101220
+Node: Checking for PDF output103006
+Node: Loading LaTeX packages104094
+Node: The \usepackage command105451
+Node: Environment for loading packages106537
+Node: Packages known to work108877
+Node: Packages known not to work115252
+Node: Hyperlinks116013
+Node: Introduction to hyperlinks116594
+Node: Explicit hyperlinks122130
+Node: Implicit hyperlinks124415
+Node: General hyperlinks126236
+Node: URL hyperlinks127758
+Node: Citation hyperlinks129858
+Node: List hyperlinks130585
+Node: Cross-reference hyperlinks130976
+Node: Page reference hyperlinks132347
+Node: Equation reference hyperlinks133008
+Node: Index hyperlinks134398
+Node: Exact destinations for index terms136156
+Node: Page destinations for index terms138323
+Node: Choosing destination placement140941
+Node: Index page list and page range parsers141730
+Node: Hyperlinks in see and see also entries142282
+Node: Footnote hyperlinks143080
+Node: Contents hyperlinks144274
+Node: Hyperlink drivers144657
+Node: Options supported by all drivers145291
+Node: Hyperlink driver hypertex148087
+Node: Destination types for hypertex151031
+Node: Destination options for hypertex152065
+Node: Link types for hypertex152547
+Node: Link options for hypertex154554
+Node: Hyperlink drivers pdftex and dvipdfm155576
+Node: Destination types for pdftex and dvipdfm156221
+Node: Destination options for pdftex and dvipdfm159700
+Node: Link types for pdftex and dvipdfm162151
+Node: Link options for pdftex and dvipdfm165665
+Node: Hyperlink driver nolinks169303
+Node: Setting hyperlink types and options171706
+Node: Setting default types and options172707
+Node: Setting group types174133
+Node: Setting group options175322
+Node: Turning hyperlinks on/off177803
+Node: Turning low-level commands on/off178441
+Node: Turning hyperlinks on/off for a group178954
+Node: Arrow theoretic diagrams180107
+Node: Slanted lines and vectors180485
+Node: Commutative diagrams182558
+Node: Arrows and morphisms183167
+Node: Construction of commutative diagrams187623
+Node: Commutative diagram parameters194779
+Node: Programming definitions196595
+Node: Category codes197601
+Node: Allocation macros200246
+Node: Iteration202381
+Node: Macro arguments204033
+Node: Converting to characters207400
+Node: Expansion208785
+Node: \csn and \ece209408
+Node: \edefappend209973
+Node: Hooks210520
+Node: Properties212694
+Node: \expandonce213773
+Node: \ifundefined214221
+Node: \ifempty214785
+Node: \ifinteger and \isinteger215527
+Node: \futurenonspacelet216562
+Node: Obeying spaces217157
+Node: Writing out numbers218181
+Node: Mode-specific penalties218504
+Node: Auxiliary files219233
+Node: User-defined environments220152
+Node: Page list and page range parsers221365
+Node: Demo files223497
+Node: Hyperlinks (xhyper.tex)224063
+Node: Highlighting TeX comments in listings (lscommnt.tex)232412
+Node: Macro index234868
+Node: Concept index302707
+
+End Tag Table
diff --git a/Master/texmf-dist/doc/info/epspdf.info b/Master/texmf-dist/doc/info/epspdf.info
new file mode 100644
index 00000000000..0ede27f4058
--- /dev/null
+++ b/Master/texmf-dist/doc/info/epspdf.info
Binary files differ
diff --git a/Master/texmf-dist/doc/info/fontname.info b/Master/texmf-dist/doc/info/fontname.info
new file mode 100644
index 00000000000..13a167eb1b1
--- /dev/null
+++ b/Master/texmf-dist/doc/info/fontname.info
@@ -0,0 +1,16120 @@
+This is fontname.info, produced by makeinfo version 4.13 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 the Fontname document, a naming scheme for (the base part of)
+external TeX font filenames. Last update 5 July 2009.
+
+* 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.
+* 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.
+* dvips:: Dvips.
+* ec:: EC (aka Cork, TeX Latin 1, tex256).
+* qx:: QX, from GUST.
+* t5:: Vietnamese, from vntex.
+* texmext:: TeX math extension.
+* texmsym:: TeX math symbol.
+* texmital:: TeX math italic.
+* texnansi:: From Y&Y.
+* texnansx:: From Y&Y.
+* xl2:: OT1 + ISO Latin 2 (extended).
+* xt2:: Typewriter version of xl2.
+
+
+File: fontname.info, Node: Introduction, Next: Filenames for fonts, Prev: Top, Up: Top
+
+1 Introduction
+**************
+
+This is Fontname, a naming scheme for (the base part of) external TeX
+font filenames. This makes at most eight-character names from (almost)
+arbitrarily complex font names, thus helping portability of TeX
+documents. We point out some shortcomings of the scheme, and ways of
+dealing with them.
+
+ Please send additions, corrections, or other comments to
+<tex-fonts@tug.org>. Email <tex-fonts-request@tug.org> to join the
+list.
+
+ Besides this document, the Fontname distribution includes various
+encoding files, mapping files, and utilities. See the file `README'
+for details. You can retrieve the most up-to-date version of these
+lists from `http://tug.org/fontname'. It is also mirrored on all CTAN
+hosts in the directory `tex-archive/doc/fontname'. For a list of CTAN
+mirrors, see `http://www.ctan.org/tex-archive/CTAN.sites'.
+
+ This document is in the public domain and may be used freely.
+
+* Menu:
+
+* History::
+* References::
+
+
+File: fontname.info, Node: History, Next: References, Up: Introduction
+
+1.1 History
+===========
+
+The original inspiration for Fontname was Frank Mittelbach and Rainer
+Schoepf's article in `TUGboat' 11(2) (June 1990), which led to my
+article in `TUGboat' 11(4) (November 1990), pages 512-519. Mittelbach
+wrote another article criticizing the scheme below in `TUGboat' 13(1)
+(April 1992), pages 51-53; most of his points are well-taken, but I saw
+no alternative then, and see no alternative now. Others of his points
+are addressed in the appropriate sections below.
+
+ In August 1995, Fontname version 2 was released, concomitantly with
+a new release of the PostScript fonts for use with LaTeX and Dvips.
+After several years of experience, several modifications of the original
+distribution seemed desirable: more precise specification of encodings
+(*note Variants::); machine-readable mapping files (the `*.map' files
+in the distribution) and standardizing directory names as well as font
+filenames (included in `supplier.map' and `typeface.map').
+
+ In Fontname version 1, some encoding variant characters (`0', `2',
+etc.) have been reassigned to a `7' or `8' sequence (*note Variants::).
+Although this is an incompatible change, the advantages of (1)
+consistency in naming encoding variants, and (2) having some free
+variants makes it worthwhile. Also, not so coincidentally, new metrics
+for PostScript fonts in the Cork encoding were issued--same encoding,
+different metrics. So a new name served a practical purpose as well.
+
+ Many people have contributed to this work. In particular, I
+gratefully acknowledge Nelson Beebe, Barbara Beeton, Rocky Bernstein,
+Thierry Bouche, Damian Cugley, Berthold K.P. Horn, Alan Jeffrey,
+Russell Lang, Pierre MacKay, Sebastian Rahtz, Jean Rivlin, and Tom
+Rokicki.
+
+
+File: fontname.info, Node: References, Prev: History, Up: Introduction
+
+1.2 References
+==============
+
+Related files and distributions:
+
+ * The TeX Directory Structure (TDS) standard, available at
+ (`http://tug.org/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 Fontinst distribution (`http://tug.org/applications/fontinst'
+ supports quite general creation of virtual fonts, named according
+ to the scheme given here.
+
+ * The Dvips translator (`http://tug.org/dvips') supports resident
+ and downloadable PostScript fonts. Dvips was the first place where
+ Fontname became widely known. Dvips also includes Afm2tfm, another
+ program that can create virtual fonts.
+
+ * The Dviljk processor (included in TeX Live) 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
+*********************
+
+In this scheme, names may consist of only the letters (monocase a-z),
+numerals (0-9), and underscore. Having two names which differ only in
+case is undesirable, since it results in clashes on common Windows
+filesystems.
+
+ Here is the basic scheme (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. In my opinion, the
+ increased range does not make up for the unreadability of the
+ common sizes (e.g., 10pt fonts would have a suffix `a' (in hex),
+ or `j' (in base 36)).
+
+
+ We used to try to limit font names to eight characters. This was
+never completely possible, and since DOS filesystems have become rare,
+it's no longer an issue.
+
+ 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)
+ q texgyre TeX Gyre fonts from GUST Typefoundry
+ r - raw (for [obsolete] use with virtual fonts)
+ s sun Storm Type
+ t paragrap ParaGraph
+ u urw URW
+ v sil SIL
+ w wolfram Wolfram
+ y arkandis Arkandis Digital Foundry
+ 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.
+
+@c @mapfile{
+@c email = "tex-fonts@tug.org",
+@c date = "18jul10",
+@c url = "http://tug.org/fontname/typeface.map",
+@c supported = "yes",
+@c docstring = "Typeface abbreviations for the TeX Fontname scheme.",
+@c license = "public domain",
+@c }
+@c
+@c
+a0 arnopro ArnoPro
+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 @r{Adobe Caslon}
+ad agaramon AGaramond @r{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
+cj charis SILCharis TeXChariot
+ck caslonbe CaslonBookBE
+cl cloister Cloister
+cm cm @r{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
+dg dogma Dogma
+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 y:Electrum
+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
+fv futurans FuturaNoStarchPress
+fx felixttl FelixTitling
+fy flyer Flyer
+g0 gando Gando
+g1 gothic13 GothicThirteen
+g2 giddyup Giddyup
+g3 garamon3 GaramondThree b:AmericanGaramondBT @r{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
+gn gentium Gentium
+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
+i4 inconsol Inconsolata
+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
+ir Irianis IrianisADF
+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
+k0 calibri Calibri
+k1 cambria Cambria
+k2 candara Candara
+k3 consolas Consolas
+k4 constant Constantia
+k5 corbel Corbel
+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
+lm lmodern LatinModern
+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 @r{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
+ny nyala Nyala
+nz neuzeits NeuzeitS
+o0 oldreadf OldDreadfulNo7
+o1 oranda Oranda
+o2 orbitb OrbitB
+o3 colonna Colonna
+o4 oceansan OceanSans
+o5 comic Comic
+o6 colombine Colombine l:ColombineLT
+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 u:Classico
+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 @r{pi fonts---see text and @file{*.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
+rd romande RomandeADF
+re requiem Requiem
+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
+s9 segoescr SegoeScript
+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 @r{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
+ts thesansm TheSansMono
+tu doulos SILDoulos TeXToulouse
+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
+v1 venturissans VenturisSansADF
+v2 venturis2 VenturisADFNo2
+v3 venturissans2 VenturisSansADFNo2
+va activa Activa
+vc vectora Vectora
+vd vandijck VanDijck
+ve veraseri VeraSerif
+vg visigoth Visigoth
+vi victoria Victoria
+vj veljovic Veljovic
+vl versaill Versailles
+vm veramono VeraSansMono
+vn verdana Verdana
+vo venturisold VenturisOldADF
+vr vagrnd VAGRounded
+vs verasans VeraSans
+vt venturis VenturisADF
+vv viva Viva
+w0 weddingt WeddingT
+w1 wiesbswi WiesbadenSwing
+w9 wastrel Wastrel
+wb walbaum Walbaum
+wc snowcap SnowCap
+wd weideman Weidemann
+wg wlklgth WilhelmKlingsporGotisch
+wh wendy Wendy
+wi wingding Wingdings
+wk wilke Wilke
+wn windsor Windsor
+wp warnockp WarnockPro
+wr wittenbe WitternbergerFrakt
+ws weiss Weiss
+wt watertit WatersTitling
+ww willow Willow
+xc eccentri Eccentric
+xl linuxlib LinuxLibertine
+xp exponto ExPonto
+yg centuryg CenturyGothic
+yh strayhor Strayhorn
+ym stymie Stymie
+ys goudysan GoudySans
+za zantiqua ZAntiqua l:ZapfRenaisSH l:ZapfRenaisSB l:ZapfRenSwaSH
+zc zapfchan ZapfChancery m:ZapfChanceryPS u:URWChanceryL
+zd zapfding ZapfDingbats m:ZapfDingbatsPS u:Dingbats
+zf zapfino Zapfino l:LinotypeZapfino-{One,Two,Three,Four,Ligature,Ornaments}
+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 @r{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
+ 2 proportional digits, not tabular
+ obsolete [3=>7f] Fraction
+ obsolete [4 fax; now typeface `lx', Lucida Fax]
+ 5 escape for (presently) phonetic encodings
+ 6 escape for (mostly) 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 lc only, or 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 underline or unslanted italic
+ v MathExtension
+ w Script Handwritten Swash Calligraphy Cursive Tango Ligature
+ 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
+ 6g LGR Greek font 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
+ 8g groff
+ 8i TS0 Intersection of TS1/Adobe Standard
+ 8m Macintosh standard encoding
+ 8n LM1 Textures
+ 8q encqxoosix QX, from GUST
+ 8r TeXBase1Encoding (*note 8r::)
+ 8t ECEncoding CorkEncoding (*note ec::), aka tex256.enc
+ 8u XT2Encoding cmtt + Latin 2, see `xl2.enc'
+ 8v TeXVietnamese T5
+ 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
+ semiextended, 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 Semicondensed
+ 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
+ y Semiexpanded
+
+
+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 to 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: General index, 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'.
+
+ A tutorial on character code issues in general is available at
+`http://www.cs.tut.fi/~jkorpela/chars.html'.
+
+ 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:
+
+* 6w:: CP-1251 (Cyrillic).
+* 8a:: Adobe standard.
+* 8r:: TeX base.
+* dvips:: Dvips.
+* ec:: EC (aka COrk, TeX Latin 1, tex256).
+* groff:: 8g.
+* 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: 6w, Next: 8a, Up: Encodings
+
+B.1 `6w.enc': Cyrillic CP-1251
+==============================
+
+% @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: 8a, Next: 8r, Prev: 6w, Up: Encodings
+
+B.2 `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: dvips, Prev: 8a, Up: Encodings
+
+B.3 `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 = "27nov06",
+% 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
+% 0xB0
+ /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: dvips, Next: ec, Prev: 8r, 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: ec, Next: groff, Prev: dvips, Up: Encodings
+
+B.5 `ec.enc': Cork encoding
+===========================
+
+% @@psencodingfile@{
+% date = "24feb10",
+% filename = "ec.enc",
+% email = "tex-fonts@@tug.org",
+% docstring = "This is the EC (aka Cork aka T1) encoding vector
+% for 8-bit fonts to be used with TeX."
+% @}
+%
+% The original paper can be found on
+% https://www.tug.org/TUGboat/Articles/tb11-4/tb30ferguson.pdf
+%
+% Names of the glyphs try to comply with:
+% Adobe Glyph List For New Fonts, ver. 1.6, 30 Januaury 2006
+% http://partners.adobe.com/public/developer/en/opentype/aglfn13.txt
+% but some exceptions are listed below.
+%
+% The following characters are not present in Unicode:
+% - /perthousandzero = used to compose /perthousand, /pertenthousand, ... out of /percent + this character
+% - Germandbls = now there is a related character in Unicode,
+% U+1E9E - LATIN CAPITAL LETTER SHARP S
+% but probably /S_S ligature name should be used instead
+%
+% The following two characters have different Unicode mappings than on the AGL:
+% - /tcedilla = U+0163 - LATIN SMALL LETTER T WITH CEDILLA
+% according to AGL it should be /tcommaaccent
+% - /Tcedilla = U+0162 - LATIN CAPITAL LETTER T WITH CEDILLA
+% according to AGL it should be /Tcommaaccent
+% But having /scedilla and /tcommaaccent mixed is even more ugly.
+%
+% The following characters are not present on the AGL:
+% - /dotlessj = U+0237 - LATIN SMALL LETTER DOTLESS J
+% - /cwm = U+200B - ZERO WIDTH SPACE
+% - /visiblespace = U+2423 - OPEN BOX
+% and should probably better be labeled with uniXXXX notation
+% (though hardly any font has those glyphs anyway).
+%
+% The following ligatures are deprecated by recent AGL:
+% - /ff, /fi, /fl, /ffi, /ffl = /f_i and similar should have been used instead
+%
+% Hyphen character:
+% There are two character named "hyphen". The original article explains
+% the background of this decision (if one wanted to use a different
+% hyphenation character and still be able to use the dash). So the first
+% character should serve as "hyphen char" and the other one as "dash" in
+% compound words. The character 0x2D is supposed to be the hyphen char,
+% but since there used to be two characters of the same name in this
+% file for some time, the tools like afmtotfm have been confused and
+% remapped the hyphen char to 0x7F automatically. After the second
+% character's name was changed, hyphenation characters in existing
+% tfm fonts (generated with the old ec.enc) have disappeared, so the
+% second character has been renamed back to "hyphen". Anyone generating
+% tfm fonts is strongly encouraged to make a copy of this file, rename
+% it and change glyph names as required for their font.
+%
+% Other remarks:
+% - /Eth = U+00D0 - LATIN CAPITAL LETTER ETH
+% must also be used as /Dcroat
+% U+0110 - LATIN CAPITAL LETTER D WITH STROKE
+%
+% Misleading names and shapes of letters (that lead to different names in past)
+% - /lcaron = U+013E - LATIN SMALL LETTER L WITH CARON
+% /lquoteright
+% - /Lcaron = U+013D - LATIN CAPITAL LETTER L WITH CARON
+% /Lquoteright
+% - /dcaron = U+010F - LATIN SMALL LETTER D WITH CARON
+% /dquoteright
+% - /tcaron = U+0165 - LATIN SMALL LETTER T WITH CARON
+% /tquoteright
+% - /dcroat = U+0111 - LATIN SMALL LETTER D WITH STROKE
+% /dbar, /dmacron
+%
+% - /cwm - /bom, /zerowidthnobreakspace
+% - /underscore - /underline
+% - /hyphen.alt - /sfthyphen, /hyphen, /dash
+%
+%
+% Turkish & Romanian
+% --------------------
+% EC encoding has been defined to include /tcedilla and /scedilla.
+% For Turkish one needs /scedilla, while for Romanian one would need
+% "t with comma below" (/tcommaaccent) and "s with comma below" (/scommaaccent).
+% "t with cedilla" in not used in any language except in inferior
+% Romanian typography that can use cedillas instead of commas below.
+% AGL has a strange mapping as well.
+%
+% Without adding an additional character, it is impossible to support both
+% languages at the same time, so EC is not really best choice for Romanians,
+% even though it can be "misused" if one replaces both /scedilla and /tcedilla
+% with /scommaaccent and /tcommaaccent.
+%
+% Characters that have been renamed in July 2008:
+% 0x18 /zeroinferior -> /perthousandzero
+% 0x20 U+2423 /visualspace -> /visiblespace (if font doesn't have it, use /space)
+% 0x8D U+014A /Ng -> /Eng
+% 0x9E U+0111 /dbar -> /dcroat
+% 0xAD U+014B /ng -> /eng
+% 0xB4 U+0165 /tquoteright -> /tcaron
+%
+% Although these ligatures and kerns are somewhat questionable to have
+% in an encoding file, they've been here forever, and they are
+% traditional in the TeX world, so we preserve them.
+%
+% 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 blow away 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 ;
+%
+/ECEncoding [ % now 256 chars follow
+/grave % 0x00 U+0060
+/acute % 0x01 U+00B4
+/circumflex % 0x02 U+02C6
+/tilde % 0x03 U+02DC
+/dieresis % 0x04 U+00A8
+/hungarumlaut % 0x05 U+02DD
+/ring % 0x06 U+02DA
+/caron % 0x07 U+02C7
+/breve % 0x08 U+02D8
+/macron % 0x09 U+00AF
+/dotaccent % 0x0A U+02D9
+/cedilla % 0x0B U+00B8
+/ogonek % 0x0C U+02DB
+/quotesinglbase % 0x0D U+201A
+/guilsinglleft % 0x0E U+2039
+/guilsinglright % 0x0F U+203A
+/quotedblleft % 0x10 U+201C
+/quotedblright % 0x11 U+201D
+/quotedblbase % 0x12 U+201E
+/guillemotleft % 0x13 U+00AB
+/guillemotright % 0x14 U+00BB
+/endash % 0x15 U+2013
+/emdash % 0x16 U+2014
+/cwm % 0x17 U+200B
+/perthousandzero % 0x18 ______
+/dotlessi % 0x19 U+0131
+/dotlessj % 0x1A U+0237
+/ff % 0x1B U+FB00
+/fi % 0x1C U+FB01
+/fl % 0x1D U+FB02
+/ffi % 0x1E U+FB03
+/ffl % 0x1F U+FB04
+/visiblespace % 0x20 U+2423
+/exclam % 0x21
+/quotedbl % 0x22
+/numbersign % 0x23
+/dollar % 0x24
+/percent % 0x25
+/ampersand % 0x26
+/quoteright % 0x27 U+2019
+/parenleft % 0x28
+/parenright % 0x29
+/asterisk % 0x2A
+/plus % 0x2B
+/comma % 0x2C
+/hyphen % 0x2D
+/period % 0x2E
+/slash % 0x2F
+/zero % 0x30
+/one % 0x31
+/two % 0x32
+/three % 0x33
+/four % 0x34
+/five % 0x35
+/six % 0x36
+/seven % 0x37
+/eight % 0x38
+/nine % 0x39
+/colon % 0x3A
+/semicolon % 0x3B
+/less % 0x3C
+/equal % 0x3D
+/greater % 0x3E
+/question % 0x3F
+/at % 0x40
+/A % 0x41
+/B % 0x42
+/C % 0x43
+/D % 0x44
+/E % 0x45
+/F % 0x46
+/G % 0x47
+/H % 0x48
+/I % 0x49
+/J % 0x4A
+/K % 0x4B
+/L % 0x4C
+/M % 0x4D
+/N % 0x4E
+/O % 0x4F
+/P % 0x50
+/Q % 0x51
+/R % 0x52
+/S % 0x53
+/T % 0x54
+/U % 0x55
+/V % 0x56
+/W % 0x57
+/X % 0x58
+/Y % 0x59
+/Z % 0x5A
+/bracketleft % 0x5B
+/backslash % 0x5C
+/bracketright % 0x5D
+/asciicircum % 0x5E
+/underscore % 0x5F
+/quoteleft % 0x60 U+2018
+/a % 0x61
+/b % 0x62
+/c % 0x63
+/d % 0x64
+/e % 0x65
+/f % 0x66
+/g % 0x67
+/h % 0x68
+/i % 0x69
+/j % 0x6A
+/k % 0x6B
+/l % 0x6C
+/m % 0x6D
+/n % 0x6E
+/o % 0x6F
+/p % 0x70
+/q % 0x71
+/r % 0x72
+/s % 0x73
+/t % 0x74
+/u % 0x75
+/v % 0x76
+/w % 0x77
+/x % 0x78
+/y % 0x79
+/z % 0x7A
+/braceleft % 0x7B
+/bar % 0x7C
+/braceright % 0x7D
+/asciitilde % 0x7E
+/hyphen % 0x7F U+002D (explicit "hyphen char")
+/Abreve % 0x80 U+0102
+/Aogonek % 0x81 U+0104
+/Cacute % 0x82 U+0106
+/Ccaron % 0x83 U+010C
+/Dcaron % 0x84 U+010E
+/Ecaron % 0x85 U+011A
+/Eogonek % 0x86 U+0118
+/Gbreve % 0x87 U+011E
+/Lacute % 0x88 U+0139
+/Lcaron % 0x89 U+013D
+/Lslash % 0x8A U+0141
+/Nacute % 0x8B U+0143
+/Ncaron % 0x8C U+0147
+/Eng % 0x8D U+014A
+/Ohungarumlaut % 0x8E U+0150
+/Racute % 0x8F U+0154
+/Rcaron % 0x90 U+0158
+/Sacute % 0x91 U+015A
+/Scaron % 0x92 U+0160
+/Scedilla % 0x93 U+015E
+/Tcaron % 0x94 U+0164
+/Tcedilla % 0x95 U+0162
+/Uhungarumlaut % 0x96 U+0170
+/Uring % 0x97 U+016E
+/Ydieresis % 0x98 U+0178
+/Zacute % 0x99 U+0179
+/Zcaron % 0x9A U+017D
+/Zdotaccent % 0x9B U+017B
+/IJ % 0x9C U+0132
+/Idotaccent % 0x9D U+0130
+/dcroat % 0x9E U+0111
+/section % 0x9F U+00A7
+/abreve % 0xA0 U+0103
+/aogonek % 0xA1 U+0105
+/cacute % 0xA2 U+0107
+/ccaron % 0xA3 U+010D
+/dcaron % 0xA4 U+010F
+/ecaron % 0xA5 U+011B
+/eogonek % 0xA6 U+0119
+/gbreve % 0xA7 U+011F
+/lacute % 0xA8 U+013A
+/lcaron % 0xA9 U+013E
+/lslash % 0xAA U+0142
+/nacute % 0xAB U+0144
+/ncaron % 0xAC U+0148
+/eng % 0xAD U+014B
+/ohungarumlaut % 0xAE U+0151
+/racute % 0xAF U+0155
+/rcaron % 0xB0 U+0159
+/sacute % 0xB1 U+015B
+/scaron % 0xB2 U+0161
+/scedilla % 0xB3 U+015F
+/tcaron % 0xB4 U+0165
+/tcedilla % 0xB5 U+0163
+/uhungarumlaut % 0xB6 U+0171
+/uring % 0xB7 U+016F
+/ydieresis % 0xB8 U+00FF
+/zacute % 0xB9 U+017A
+/zcaron % 0xBA U+017E
+/zdotaccent % 0xBB U+017C
+/ij % 0xBC U+0133
+/exclamdown % 0xBD U+00A1
+/questiondown % 0xBE U+00BF
+/sterling % 0xBF U+00A3
+/Agrave % 0xC0
+/Aacute % 0xC1
+/Acircumflex % 0xC2
+/Atilde % 0xC3
+/Adieresis % 0xC4
+/Aring % 0xC5
+/AE % 0xC6
+/Ccedilla % 0xC7
+/Egrave % 0xC8
+/Eacute % 0xC9
+/Ecircumflex % 0xCA
+/Edieresis % 0xCB
+/Igrave % 0xCC
+/Iacute % 0xCD
+/Icircumflex % 0xCE
+/Idieresis % 0xCF
+/Eth % 0xD0
+/Ntilde % 0xD1
+/Ograve % 0xD2
+/Oacute % 0xD3
+/Ocircumflex % 0xD4
+/Otilde % 0xD5
+/Odieresis % 0xD6
+/OE % 0xD7 U+0152
+/Oslash % 0xD8
+/Ugrave % 0xD9
+/Uacute % 0xDA
+/Ucircumflex % 0xDB
+/Udieresis % 0xDC
+/Yacute % 0xDD
+/Thorn % 0xDE
+/Germandbls % 0xDF (U+1E9E, /S_S)
+/agrave % 0xE0
+/aacute % 0xE1
+/acircumflex % 0xE2
+/atilde % 0xE3
+/adieresis % 0xE4
+/aring % 0xE5
+/ae % 0xE6
+/ccedilla % 0xE7
+/egrave % 0xE8
+/eacute % 0xE9
+/ecircumflex % 0xEA
+/edieresis % 0xEB
+/igrave % 0xEC
+/iacute % 0xED
+/icircumflex % 0xEE
+/idieresis % 0xEF
+/eth % 0xF0
+/ntilde % 0xF1
+/ograve % 0xF2
+/oacute % 0xF3
+/ocircumflex % 0xF4
+/otilde % 0xF5
+/odieresis % 0xF6
+/oe % 0xF7 U+0153
+/oslash % 0xF8
+/ugrave % 0xF9
+/uacute % 0xFA
+/ucircumflex % 0xFB
+/udieresis % 0xFC
+/yacute % 0xFD
+/thorn % 0xFE
+/germandbls % 0xFF U+00DF
+] def
+
+
+File: fontname.info, Node: groff, Next: t5, Prev: ec, Up: Encodings
+
+B.6 `groff.enc': groff encoding
+===============================
+
+%!PS-Adobe-3.0 Resource-Encoding
+%
+% @psencodingfile{
+% author = "Werner Lemberg, Michail Vidiassov",
+% version = "1.0",
+% date = "2006-Feb-03",
+% filename = "groff.enc",
+% license = "public domain",
+% email = "groff@gnu.org",
+% docstring = "Groff default text encoding. Used with MetaPost."
+% }
+
+%%BeginResource: encoding groffEncoding
+/groffEncoding [
+% 0x00 | 0
+ /asciicircum /asciitilde /Scaron /Zcaron
+ /scaron /zcaron /Ydieresis /trademark
+ /quotesingle /Euro /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef
+% 0x10 | 16
+ /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef
+% 0x20 | 32
+ /space /exclam /quotedbl /numbersign
+ /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus
+ /comma /hyphen /period /slash
+% 0x30 | 48
+ /zero /one /two /three
+ /four /five /six /seven
+ /eight /nine /colon /semicolon
+ /less /equal /greater /question
+% 0x40 | 64
+ /at /A /B /C
+ /D /E /F /G
+ /H /I /J /K
+ /L /M /N /O
+% 0x50 | 80
+ /P /Q /R /S
+ /T /U /V /W
+ /X /Y /Z /bracketleft
+ /backslash /bracketright /circumflex /underscore
+% 0x60 | 96
+ /quoteleft /a /b /c
+ /d /e /f /g
+ /h /i /j /k
+ /l /m /n /o
+% 0x70 | 112
+ /p /q /r /s
+ /t /u /v /w
+ /x /y /z /braceleft
+ /bar /braceright /tilde /.notdef
+% 0x80 | 128
+ /quotesinglbase /guillemotleft /guillemotright /bullet
+ /florin /fraction /perthousand /dagger
+ /daggerdbl /endash /emdash /ff
+ /fi /fl /ffi /ffl
+% 0x90 | 144
+ /dotlessi /dotlessj /grave /hungarumlaut
+ /dotaccent /breve /caron /ring
+ /ogonek /quotedblleft /quotedblright /oe
+ /lslash /quotedblbase /OE /Lslash
+% 0xA0 | 160
+ /.notdef /exclamdown /cent /sterling
+ /currency /yen /brokenbar /section
+ /dieresis /copyright /ordfeminine /guilsinglleft
+ /logicalnot /minus /registered /macron
+% 0xB0 | 176
+ /degree /plusminus /twosuperior /threesuperior
+ /acute /mu /paragraph /periodcentered
+ /cedilla /onesuperior /ordmasculine /guilsinglright
+ /onequarter /onehalf /threequarters /questiondown
+% 0xC0 | 192
+ /Agrave /Aacute /Acircumflex /Atilde
+ /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis
+ /Igrave /Iacute /Icircumflex /Idieresis
+% 0xD0 | 208
+ /Eth /Ntilde /Ograve /Oacute
+ /Ocircumflex /Otilde /Odieresis /multiply
+ /Oslash /Ugrave /Uacute /Ucircumflex
+ /Udieresis /Yacute /Thorn /germandbls
+% 0xE0 | 224
+ /agrave /aacute /acircumflex /atilde
+ /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis
+ /igrave /iacute /icircumflex /idieresis
+% 0xF0 | 240
+ /eth /ntilde /ograve /oacute
+ /ocircumflex /otilde /odieresis /divide
+ /oslash /ugrave /uacute /ucircumflex
+ /udieresis /yacute /thorn /ydieresis
+] def
+%%EndResource
+
+% eof
+
+
+File: fontname.info, Node: t5, Next: qx, Prev: groff, Up: Encodings
+
+B.7 `t5.enc': T5 encoding
+=========================
+
+% Copyright 2000-2005 Werner Lemberg <wl@gnu.org>.
+% This file is part of vntex. License: LPPL, version 1.3 or newer,
+% according to http://www.latex-project.org/lppl.txt
+%
+%
+% t5.enc
+%
+%
+% This is LaTeX T5 encoding for Vietnamese
+%
+% history:
+% version 1.0 (28-Jan-2000):
+% First version.
+%
+% version 1.1 (29-Apr-2002):
+% Rewritten to make it AGL compliant.
+%
+% version 1.2 (01-May-2002):
+% Use uni2423 instead uni2420.
+%
+% version 1.3 (27-Sep-2002):
+% . Changed the following glyph names to Unicode entities:
+% 0xB3 uni1EBD etilde
+% 0x93 uni1EBC Etilde
+% . Ytilde (uni1EF8) was used in slot for ytilde (uni1EF9).
+% . Using .notdef in slot for compound word mark (on position 0x17)
+% caused some problems so it was changed to cwm (for compatibilty
+% with ec.enc).
+% . Use sfthyphen in slot 127 instead of hyphen.
+%
+% version 1.4 (20-Apr-2005):
+% Add copyright.
+% Minor documentation updates.
+%
+% LIGKERN hyphen hyphen =: endash ;
+% LIGKERN endash hyphen =: emdash ;
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN comma comma =: quotedblbase ;
+%
+% We blow away kerns to and from spaces (TeX doesn't have a
+% space) and also remove any kerns from the numbers.
+%
+% LIGKERN space {} * ; * {} space ;
+% LIGKERN zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ;
+% LIGKERN two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ;
+% LIGKERN four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ;
+% LIGKERN six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ;
+% LIGKERN eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+%
+%
+% Some notes on the glyph names:
+%
+% . We follow the Adobe Glyph List (AGL), also using its associated
+% algorithm.
+%
+% . The glyphs `spacing dot below' (on position 0x05), `spacing hook above'
+% (on position 0x0C), and `compound word mark' (on position 0x17) are not
+% in Unicode. We call them `dotbelow', `hookabove', and `cwm',
+% respectively.
+%
+% . The following glyphs have no special name in the AGL (or names which
+% should not be used in general) and are thus represented as a Unicode
+% entity:
+%
+% 0x1A uni1EF6 Y hook above
+% 0x1B uni1EF7 y hook above
+% 0x1C uni1EF4 Y dot below
+% 0x1D uni1EF5 y dot below
+%
+% 0x20 uni2423 graphic symbol for space
+%
+% 0x83 uni1EA2 A hook above
+% 0x84 uni1EA0 A dot below
+% 0x86 uni1EA6 A circumflex grave
+% 0x87 uni1EA4 A circumflex acute
+% 0x88 uni1EAA A circumflex tilde
+% 0x89 uni1EA8 A circumflex hook above
+% 0x8A uni1EAC A circumflex dot below
+% 0x8C uni1EB0 A breve grave
+% 0x8D uni1EAE A breve acute
+% 0x8E uni1EB4 A breve tilde
+% 0x8F uni1EB2 A breve hook above
+% 0x90 uni1EB6 A breve dot below
+%
+% 0x93 uni1EBC E tilde
+% 0x94 uni1EBA E hook above
+% 0x95 uni1EB8 E dot below
+% 0x97 uni1EC0 E circumflex grave
+% 0x98 uni1EBE E circumflex acute
+% 0x99 uni1EC4 E circumflex tilde
+% 0x9A uni1EC2 E circumflex hook above
+% 0x9B uni1EC6 E circumflex dot below
+%
+% 0x9F uni1EC8 I hook above
+%
+% 0xA3 uni1EA3 a hook above
+% 0xA4 uni1EA1 a dot below
+% 0xA6 uni1EA7 a circumflex grave
+% 0xA7 uni1EA5 a circumflex acute
+% 0xA8 uni1EAB a circumflex tilde
+% 0xA9 uni1EA9 a circumflex hook above
+% 0xAA uni1EAD a circumflex dot below
+% 0xAC uni1EB1 a breve grave
+% 0xAD uni1EAF a breve acute
+% 0xAE uni1EB5 a breve tilde
+% 0xAF uni1EB3 a breve hook above
+% 0xB0 uni1EB7 a breve dot below
+%
+% 0xB3 uni1EBD e tilde
+% 0xB4 uni1EBB e hook above
+% 0xB5 uni1EB9 e dot below
+% 0xB7 uni1EC1 e circumflex grave
+% 0xB8 uni1EBF e circumflex acute
+% 0xB9 uni1EC5 e circumflex tilde
+% 0xBA uni1EC3 e circumflex hook above
+% 0xBB uni1EC7 e circumflex dot below
+%
+% 0xBF uni1EC9 i hook above
+%
+% 0xC0 uni1ECA I dot below
+%
+% 0xC4 uni1ECE O hook above
+% 0xC5 uni1ECC O dot below
+% 0xC7 uni1ED2 O circumflex grave
+% 0xC8 uni1ED0 O circumflex acute
+% 0xC9 uni1ED6 O circumflex tilde
+% 0xCA uni1ED4 O circumflex hook above
+% 0xCB uni1ED8 O circumflex dot below
+% 0xCD uni1EDC O horn grave
+% 0xCE uni1EDA O horn acute
+% 0xCF uni1EE0 O horn tilde
+% 0xD0 uni1EDE O horn hook above
+% 0xD1 uni1EE2 O horn dot below
+%
+% 0xD5 uni1EE6 U hook above
+% 0xD6 uni1EE4 U dot below
+% 0xD8 uni1EEA U horn grave
+% 0xD9 uni1EE8 U horn acute
+% 0xDA uni1EEE U horn tilde
+% 0xDB uni1EEC U horn hook above
+% 0xDC uni1EF0 U horn dot below
+%
+% 0xDF uni1EF8 Y tilde
+%
+% 0xE0 uni1ECB i dot below
+%
+% 0xE4 uni1ECF o hook above
+% 0xE5 uni1ECD o dot below
+% 0xE7 uni1ED3 o circumflex grave
+% 0xE8 uni1ED1 o circumflex acute
+% 0xE9 uni1ED7 o circumflex tilde
+% 0xEA uni1ED5 o circumflex hook above
+% 0xEB uni1ED9 o circumflex dot below
+% 0xED uni1EDD o horn grave
+% 0xEE uni1EDB o horn acute
+% 0xEF uni1EE1 o horn tilde
+% 0xF0 uni1EDF o horn hook above
+% 0xF1 uni1EE3 o horn dot below
+%
+% 0xF5 uni1EE7 u hook above
+% 0xF6 uni1EE5 u dot below
+% 0xF8 uni1EEB u horn grave
+% 0xF9 uni1EE9 u horn acute
+% 0xFA uni1EEF u horn tilde
+% 0xFB uni1EED u horn hook above
+% 0xFC uni1EF1 u horn dot below
+%
+% 0xFF uni1EF9 y tilde
+/T5Encoding [
+% 0x00
+ /grave /acute /circumflex /tilde
+ /dieresis /dotbelow /ring /caron
+ /breve /macron /dotaccent /cedilla
+ /hookabove /quotesinglbase /guilsinglleft /guilsinglright
+% 0x10
+ /quotedblleft /quotedblright /quotedblbase /guillemotleft
+ /guillemotright /endash /emdash /cwm
+ /zeroinferior /dotlessi /uni1EF6 /uni1EF7
+ /uni1EF4 /uni1EF5 /Dcroat /dcroat
+% 0x20
+ /uni2423 /exclam /quotedbl /numbersign
+ /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus
+ /comma /hyphen /period /slash
+% 0x30
+ /zero /one /two /three
+ /four /five /six /seven
+ /eight /nine /colon /semicolon
+ /less /equal /greater /question
+% 0x40
+ /at /A /B /C
+ /D /E /F /G
+ /H /I /J /K
+ /L /M /N /O
+% 0x50
+ /P /Q /R /S
+ /T /U /V /W
+ /X /Y /Z /bracketleft
+ /backslash /bracketright /asciicircum /underscore
+% 0x60
+ /quoteleft /a /b /c
+ /d /e /f /g
+ /h /i /j /k
+ /l /m /n /o
+% 0x70
+ /p /q /r /s
+ /t /u /v /w
+ /x /y /z /braceleft
+ /bar /braceright /asciitilde /sfthyphen
+% 0x80
+ /Agrave /Aacute /Atilde /uni1EA2
+ /uni1EA0 /Acircumflex /uni1EA6 /uni1EA4
+ /uni1EAA /uni1EA8 /uni1EAC /Abreve
+ /uni1EB0 /uni1EAE /uni1EB4 /uni1EB2
+% 0x90
+ /uni1EB6 /Egrave /Eacute /uni1EBC
+ /uni1EBA /uni1EB8 /Ecircumflex /uni1EC0
+ /uni1EBE /uni1EC4 /uni1EC2 /uni1EC6
+ /Igrave /Iacute /Itilde /uni1EC8
+% 0xA0
+ /agrave /aacute /atilde /uni1EA3
+ /uni1EA1 /acircumflex /uni1EA7 /uni1EA5
+ /uni1EAB /uni1EA9 /uni1EAD /abreve
+ /uni1EB1 /uni1EAF /uni1EB5 /uni1EB3
+% 0xB0
+ /uni1EB7 /egrave /eacute /uni1EBD
+ /uni1EBB /uni1EB9 /ecircumflex /uni1EC1
+ /uni1EBF /uni1EC5 /uni1EC3 /uni1EC7
+ /igrave /iacute /itilde /uni1EC9
+% 0xC0
+ /uni1ECA /Ograve /Oacute /Otilde
+ /uni1ECE /uni1ECC /Ocircumflex /uni1ED2
+ /uni1ED0 /uni1ED6 /uni1ED4 /uni1ED8
+ /Ohorn /uni1EDC /uni1EDA /uni1EE0
+% 0xD0
+ /uni1EDE /uni1EE2 /Ugrave /Uacute
+ /Utilde /uni1EE6 /uni1EE4 /Uhorn
+ /uni1EEA /uni1EE8 /uni1EEE /uni1EEC
+ /uni1EF0 /Ygrave /Yacute /uni1EF8
+% 0xE0
+ /uni1ECB /ograve /oacute /otilde
+ /uni1ECF /uni1ECD /ocircumflex /uni1ED3
+ /uni1ED1 /uni1ED7 /uni1ED5 /uni1ED9
+ /ohorn /uni1EDD /uni1EDB /uni1EE1
+% 0xF0
+ /uni1EDF /uni1EE3 /ugrave /uacute
+ /utilde /uni1EE7 /uni1EE5 /uhorn
+ /uni1EEB /uni1EE9 /uni1EEF /uni1EED
+ /uni1EF1 /ygrave /yacute /uni1EF9
+] def
+
+% end of t5.enc
+
+
+File: fontname.info, Node: qx, Next: texmext, Prev: t5, Up: Encodings
+
+B.8 `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.9 `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.10 `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.11 `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.12 `texnansi.enc'
+===================
+
+From Y&Y.
+
+% @psencodingfile{
+% date = "22apr09",
+% filename = "texnansi.enc",
+% email = "tex-fonts@tug.org",
+% author = "Y&Y, Inc.",
+% version = "1.1",
+% codetable = "ISO/ASCII",
+% docstring = "texnansi (aka LY1) encoding vector for Type 1 fonts to
+% be used with TeX, following ASCII and Windows ANSI."
+% }
+%
+% The idea is to have all 228 characters normally included in Type 1 text
+% fonts (plus a few more) available for typesetting. This is effectively
+% the character set in Adobe Standard Encoding, ISO Latin 1, plus a few more.
+%
+% Character code assignments were made as follows:
+%
+% (1) The character layout largely matches `ASCII' in the 32 -- 126 range,
+% except for `circumflex' in 94 and `tilde' in 126, to match `TeX text'
+% (`asciicircumflex' and `asciitilde' appear in 158 and 142 instead).
+%
+% (2) The character layout matches `Windows ANSI' in almost all places,
+% except for `quoteright' in 39 and `quoteleft' in 96 to match ASCII
+% (`quotesingle' and `grave' appear in 129 and 18 instead).
+%
+% (3) The character layout matches `TeX typewriter' used by CM text fonts
+% in most places (except for discordant positions such as hungarumlaut
+% (instead of braceright), dotaccent (instead of underscore) etc.
+%
+% (4) Remaining characters are assigned arbitrarily to the `control character'
+% range (0 -- 31), avoiding 0, 9, 10 and 13 in case we meet dumb software
+% - similarly one should really avoid 127 and 128 if possible.
+% In addition, the 8 open slots in Windows ANSI between 128 and 159 are used.
+%
+% (5) Y&Y Lucida Bright includes some extra ligatures and such; ff, ffi, ffl,
+% and `dotlessj,' these are included 11 -- 15, and 17.
+%
+% (6) Hyphen appears both at 45 and 173 for compatibility with both ASCII
+% and Windows ANSI.
+%
+% (7) It doesn't really matter where ligatures appear (both real, such as ffi,
+% and pseudo such as ---) since these should not be accessed directly, only
+% via ligature information in the TFM file.
+%
+% SAMPLE USAGE (in `psfonts.map' file for DVIPS):
+%
+% lbr LucidaBright "TeXnANSIEncoding ReEncodeFont" <texnansi.enc <lbr.pfb
+%
+% This tells DVIPS that the font called `lbr' in TeX has PostScript
+% FontName `LucidaBright.' It also asks DVIPS to expand the file `lbr.pfb'
+% into PFA form, to include the attached `texnansi.enc' encoding vector,
+% and to then actually reencode the font based on that encoding vector.
+%
+% Revised 2009 April 20 with doc changes only (Uni20AC -> uni20ac).
+% Revised 2009 March 9 with doc changes only.
+% Revised 1996 June 1 by adding second position for `fl' to avoid Acrobat bug.
+% Revised 1996 June 1 by adding second position for `fraction' for same reason.
+% Revised 1997 Oct 1 by adding cwm (used in boundary char TFM code).
+% Revised 1998 Mar 1 by adding Unicode for Euro character.
+% emacs-page
+%
+/TeXnANSIEncoding [ % now 256 chars follow
+/.notdef % 0x00 0
+/Euro % 0x01 1 /uni20AC
+/.notdef % 0x02 2
+/.notdef % 0x03 3
+/fraction % 0x04 4
+/dotaccent % 0x05 5
+/hungarumlaut % 0x06 6
+/ogonek % 0x07 7
+/fl % 0x08 8
+/.notdef % 0x09 9 /fraction at 4, backward compatibility only
+/cwm % 0x0A 10 not used, except boundary char internally
+/ff % 0x0B 11
+/fi % 0x0C 12
+/.notdef % 0x0D 13 /fl at 8, backward compatibility only
+/ffi % 0x0E 14
+/ffl % 0x0F 15
+/dotlessi % 0x10 16
+/dotlessj % 0x11 17
+/grave % 0x12 18
+/acute % 0x13 19
+/caron % 0x14 20
+/breve % 0x15 21
+/macron % 0x16 22
+/ring % 0x17 23
+/cedilla % 0x18 24
+/germandbls % 0x19 25
+/ae % 0x1A 26
+/oe % 0x1B 27
+/oslash % 0x1C 28
+/AE % 0x1D 29
+/OE % 0x1E 30
+/Oslash % 0x1F 31
+/space % 0x20 32 /suppress in TeX text
+/exclam % 0x21 33
+/quotedbl % 0x22 34 /quotedblright in TeX text
+/numbersign % 0x23 35
+/dollar % 0x24 36
+/percent % 0x25 37
+/ampersand % 0x26 38
+/quoteright % 0x27 39 /quotesingle in ANSI
+/parenleft % 0x28 40
+/parenright % 0x29 41
+/asterisk % 0x2A 42
+/plus % 0x2B 43
+/comma % 0x2C 44
+/hyphen % 0x2D 45
+/period % 0x2E 46
+/slash % 0x2F 47
+/zero % 0x30 48
+/one % 0x31 49
+/two % 0x32 50
+/three % 0x33 51
+/four % 0x34 52
+/five % 0x35 53
+/six % 0x36 54
+/seven % 0x37 55
+/eight % 0x38 56
+/nine % 0x39 57
+/colon % 0x3A 58
+/semicolon % 0x3B 59
+/less % 0x3C 60 /exclamdown in Tex text
+/equal % 0x3D 61
+/greater % 0x3E 62 /questiondown in TeX text
+/question % 0x3F 63
+/at % 0x40 64
+/A % 0x41 65
+/B % 0x42 66
+/C % 0x43 67
+/D % 0x44 68
+/E % 0x45 69
+/F % 0x46 70
+/G % 0x47 71
+/H % 0x48 72
+/I % 0x49 73
+/J % 0x4A 74
+/K % 0x4B 75
+/L % 0x4C 76
+/M % 0x4D 77
+/N % 0x4E 78
+/O % 0x4F 79
+/P % 0x50 80
+/Q % 0x51 81
+/R % 0x52 82
+/S % 0x53 83
+/T % 0x54 84
+/U % 0x55 85
+/V % 0x56 86
+/W % 0x57 87
+/X % 0x58 88
+/Y % 0x59 89
+/Z % 0x5A 90
+/bracketleft % 0x5B 91
+/backslash % 0x5C 92 /quotedblleft in TeX text
+/bracketright % 0x5D 93
+/circumflex % 0x5E 94 /asciicircum in ASCII
+/underscore % 0x5F 95 /dotaccent in TeX text
+/quoteleft % 0x60 96 /grave accent in ANSI
+/a % 0x61 97
+/b % 0x62 98
+/c % 0x63 99
+/d % 0x64 100
+/e % 0x65 101
+/f % 0x66 102
+/g % 0x67 103
+/h % 0x68 104
+/i % 0x69 105
+/j % 0x6A 106
+/k % 0x6B 107
+/l % 0x6C 108
+/m % 0x6D 109
+/n % 0x6E 110
+/o % 0x6F 111
+/p % 0x70 112
+/q % 0x71 113
+/r % 0x72 114
+/s % 0x73 115
+/t % 0x74 116
+/u % 0x75 117
+/v % 0x76 118
+/w % 0x77 119
+/x % 0x78 120
+/y % 0x79 121
+/z % 0x7A 122
+/braceleft % 0x7B 123 /endash in TeX text
+/bar % 0x7C 124 /emdash in TeX test
+/braceright % 0x7D 125 /hungarumlaut in TeX text
+/tilde % 0x7E 126 /asciitilde in ASCII
+/dieresis % 0x7F 127 also at 168
+/Lslash % 0x80 128 position is unfortunate, but too late to fix
+/quotesingle % 0x81 129
+/quotesinglbase % 0x82 130
+/florin % 0x83 131
+/quotedblbase % 0x84 132
+/ellipsis % 0x85 133
+/dagger % 0x86 134
+/daggerdbl % 0x87 135
+/circumflex % 0x88 136
+/perthousand % 0x89 137
+/Scaron % 0x8A 138
+/guilsinglleft % 0x8B 139
+/OE % 0x8C 140
+/Zcaron % 0x8D 141
+/asciicircum % 0x8E 142
+/minus % 0x8F 143
+/lslash % 0x90 144
+/quoteleft % 0x91 145
+/quoteright % 0x92 146
+/quotedblleft % 0x93 147
+/quotedblright % 0x94 148
+/bullet % 0x95 149
+/endash % 0x96 150
+/emdash % 0x97 151
+/tilde % 0x98 152
+/trademark % 0x99 153
+/scaron % 0x9A 154
+/guilsinglright % 0x9B 155
+/oe % 0x9C 156
+/zcaron % 0x9D 157
+/asciitilde % 0x9E 158
+/Ydieresis % 0x9F 159
+/nbspace % 0xA0 160 no break space
+/exclamdown % 0xA1 161
+/cent % 0xA2 162
+/sterling % 0xA3 163
+/currency % 0xA4 164
+/yen % 0xA5 165
+/brokenbar % 0xA6 166
+/section % 0xA7 167
+/dieresis % 0xA8 168
+/copyright % 0xA9 169
+/ordfeminine % 0xAA 170
+/guillemotleft % 0xAB 171
+/logicalnot % 0xAC 172
+/sfthyphen % 0xAD 173 /hyphen (hanging hyphen)
+/registered % 0xAE 174
+/macron % 0xAF 175
+/degree % 0xB0 176
+/plusminus % 0xB1 177
+/twosuperior % 0xB2 178
+/threesuperior % 0xB3 179
+/acute % 0xB4 180
+/mu % 0xB5 181
+/paragraph % 0xB6 182
+/periodcentered % 0xB7 183
+/cedilla % 0xB8 184
+/onesuperior % 0xB9 185
+/ordmasculine % 0xBA 186
+/guillemotright % 0xBB 187
+/onequarter % 0xBC 188
+/onehalf % 0xBD 189
+/threequarters % 0xBE 190
+/questiondown % 0xBF 191
+/Agrave % 0xC0 192
+/Aacute % 0xC1 193
+/Acircumflex % 0xC2 194
+/Atilde % 0xC3 195
+/Adieresis % 0xC4 196
+/Aring % 0xC5 197
+/AE % 0xC6 198
+/Ccedilla % 0xC7 199
+/Egrave % 0xC8 200
+/Eacute % 0xC9 201
+/Ecircumflex % 0xCA 202
+/Edieresis % 0xCB 203
+/Igrave % 0xCC 204
+/Iacute % 0xCD 205
+/Icircumflex % 0xCE 206
+/Idieresis % 0xCF 207
+/Eth % 0xD0 208
+/Ntilde % 0xD1 209
+/Ograve % 0xD2 210
+/Oacute % 0xD3 211
+/Ocircumflex % 0xD4 212
+/Otilde % 0xD5 213
+/Odieresis % 0xD6 214
+/multiply % 0xD7 215 OE in T1
+/Oslash % 0xD8 216
+/Ugrave % 0xD9 217
+/Uacute % 0xDA 218
+/Ucircumflex % 0xDB 219
+/Udieresis % 0xDC 220
+/Yacute % 0xDD 221
+/Thorn % 0xDE 222
+/germandbls % 0xDF 223
+/agrave % 0xE0 224
+/aacute % 0xE1 225
+/acircumflex % 0xE2 226
+/atilde % 0xE3 227
+/adieresis % 0xE4 228
+/aring % 0xE5 229
+/ae % 0xE6 230
+/ccedilla % 0xE7 231
+/egrave % 0xE8 232
+/eacute % 0xE9 233
+/ecircumflex % 0xEA 234
+/edieresis % 0xEB 235
+/igrave % 0xEC 236
+/iacute % 0xED 237
+/icircumflex % 0xEE 238
+/idieresis % 0xEF 239
+/eth % 0xF0 240
+/ntilde % 0xF1 241
+/ograve % 0xF2 242
+/oacute % 0xF3 243
+/ocircumflex % 0xF4 244
+/otilde % 0xF5 245
+/odieresis % 0xF6 246
+/divide % 0xF7 247 oe in T1
+/oslash % 0xF8 248
+/ugrave % 0xF9 249
+/uacute % 0xFA 250
+/ucircumflex % 0xFB 251
+/udieresis % 0xFC 252
+/yacute % 0xFD 253
+/thorn % 0xFE 254
+/ydieresis % 0xFF 255 germandbls in T1
+] def
+
+
+File: fontname.info, Node: texnansx, Next: xl2, Prev: texnansi, Up: Encodings
+
+B.13 `texnansx.enc'
+===================
+
+From Y&Y. `texnansi' without repeats.
+
+% @psencodingfile{
+% author = "Y&Y, Inc.",
+% version = "1.3",
+% date = "22apr09",
+% filename = "texnansx.enc",
+% email = "tex-fonts@tug.org",
+% codetable = "ISO/ASCII",
+% docstring = "Encoding for fonts in Adobe Type 1 format for use with TeX."
+% }
+% MODIFIED FOR AFM2TFM to avoid repeated encodings, namely these
+% positions have become .notdef:
+%
+% 137/circumflex 141/OE 146/quoteleft 147/quoteright 153/tilde 157/oe
+% 169/dieresis 176/macron 181/acute 185/cedilla 199/AE 217/Oslash
+% 224/germandbls 231/ae 249/oslash
+%
+% 22apr09 document the precise differences from texnansi.
+% 17aug08 change /Uni20AC (wrong capitalization of /Uni) to /Euro for
+% consistency with other encodings. tex-live mail from Vasile Gaburici,
+% 16 Aug 2008 20:44:08.
+%
+/TeXnANSIEncoding [
+/.notdef % 0
+/Euro % /uni20AC 1
+/.notdef % 2
+/.notdef % 3
+/fraction % 4
+/dotaccent % 5
+/hungarumlaut % 6
+/ogonek % 7
+/fl % 8
+/.notdef % /fraction % 9 not used (see 4), backward compatability only
+/cwm % 10 not used, except boundary char internally maybe
+/ff % 11
+/fi % 12
+/.notdef % /fl % 13 not used (see 8), backward compatability only
+/ffi % 14
+/ffl % 15
+/dotlessi % 16
+/dotlessj % 17
+/grave % 18
+/acute % 19
+/caron % 20
+/breve % 21
+/macron % 22
+/ring % 23
+/cedilla % 24
+/germandbls % 25
+/ae % 26
+/oe % 27
+/oslash % 28
+/AE % 29
+/OE % 30
+/Oslash % 31
+/space % 32 % /suppress in TeX text
+/exclam % 33
+/quotedbl % 34 % /quotedblright in TeX text
+/numbersign % 35
+/dollar % 36
+/percent % 37
+/ampersand % 38
+/quoteright % 39 % /quotesingle in ANSI
+/parenleft % 40
+/parenright % 41
+/asterisk % 42
+/plus % 43
+/comma % 44
+/hyphen % 45
+/period % 46
+/slash % 47
+/zero % 48
+/one % 49
+/two % 50
+/three % 51
+/four % 52
+/five % 53
+/six % 54
+/seven % 55
+/eight % 56
+/nine % 57
+/colon % 58
+/semicolon % 59
+/less % 60 % /exclamdown in Tex text
+/equal % 61
+/greater % 62 % /questiondown in TeX text
+/question % 63
+/at % 64
+/A % 65
+/B % 66
+/C % 67
+/D % 68
+/E % 69
+/F % 70
+/G % 71
+/H % 72
+/I % 73
+/J % 74
+/K % 75
+/L % 76
+/M % 77
+/N % 78
+/O % 79
+/P % 80
+/Q % 81
+/R % 82
+/S % 83
+/T % 84
+/U % 85
+/V % 86
+/W % 87
+/X % 88
+/Y % 89
+/Z % 90
+/bracketleft % 91
+/backslash % 92 % /quotedblleft in TeX text
+/bracketright % 93
+/circumflex % 94 % /asciicircum in ASCII
+/underscore % 95 % /dotaccent in TeX text
+/quoteleft % 96 % /grave accent in ANSI
+/a % 97
+/b % 98
+/c % 99
+/d % 100
+/e % 101
+/f % 102
+/g % 103
+/h % 104
+/i % 105
+/j % 106
+/k % 107
+/l % 108
+/m % 109
+/n % 110
+/o % 111
+/p % 112
+/q % 113
+/r % 114
+/s % 115
+/t % 116
+/u % 117
+/v % 118
+/w % 119
+/x % 120
+/y % 121
+/z % 122
+/braceleft % 123 % /endash in TeX text
+/bar % 124 % /emdash in TeX test
+/braceright % 125 % /hungarumlaut in TeX text
+/tilde % 126 % /asciitilde in ASCII
+/dieresis % 127 not used (see 168), use higher up instead
+/Lslash % 128 this position is unfortunate, but now too late to fix
+/quotesingle % 129
+/quotesinglbase % 130
+/florin % 131
+/quotedblbase % 132
+/ellipsis % 133
+/dagger % 134
+/daggerdbl % 135
+/.notdef % /circumflex % 136
+/perthousand % 137
+/Scaron % 138
+/guilsinglleft % 139
+/.notdef % /OE % 140
+/Zcaron % 141
+/asciicircum % 142
+/minus % 143
+/lslash % 144
+/.notdef % /quoteleft % 145
+/.notdef % /quoteright % 146
+/quotedblleft % 147
+/quotedblright % 148
+/bullet % 149
+/endash % 150
+/emdash % 151
+/.notdef % /tilde % 152
+/trademark % 153
+/scaron % 154
+/guilsinglright % 155
+/.notdef % /oe % 156
+/zcaron % 157
+/asciitilde % 158
+/Ydieresis % 159
+/nbspace % 160 % /space (no break space)
+/exclamdown % 161
+/cent % 162
+/sterling % 163
+/currency % 164
+/yen % 165
+/brokenbar % 166
+/section % 167
+/.notdef % /dieresis % 168
+/copyright % 169
+/ordfeminine % 170
+/guillemotleft % 171
+/logicalnot % 172
+/sfthyphen % 173 % /hyphen (hanging hyphen)
+/registered % 174
+/.notdef % /macron % 175
+/degree % 176
+/plusminus % 177
+/twosuperior % 178
+/threesuperior % 179
+/.notdef % /acute % 180
+/mu % 181
+/paragraph % 182
+/periodcentered % 183
+/.notdef % /cedilla % 184
+/onesuperior % 185
+/ordmasculine % 186
+/guillemotright % 187
+/onequarter % 188
+/onehalf % 189
+/threequarters % 190
+/questiondown % 191
+/Agrave % 192
+/Aacute % 193
+/Acircumflex % 194
+/Atilde % 195
+/Adieresis % 196
+/Aring % 197
+/.notdef % /AE % 198
+/Ccedilla % 199
+/Egrave % 200
+/Eacute % 201
+/Ecircumflex % 202
+/Edieresis % 203
+/Igrave % 204
+/Iacute % 205
+/Icircumflex % 206
+/Idieresis % 207
+/Eth % 208
+/Ntilde % 209
+/Ograve % 210
+/Oacute % 211
+/Ocircumflex % 212
+/Otilde % 213
+/Odieresis % 214
+/multiply % 215 % OE in T1
+/.notdef % /Oslash % 216
+/Ugrave % 217
+/Uacute % 218
+/Ucircumflex % 219
+/Udieresis % 220
+/Yacute % 221
+/Thorn % 222
+/.notdef % /germandbls % 223
+/agrave % 224
+/aacute % 225
+/acircumflex % 226
+/atilde % 227
+/adieresis % 228
+/aring % 229
+/.notdef % /ae % 230
+/ccedilla % 231
+/egrave % 232
+/eacute % 233
+/ecircumflex % 234
+/edieresis % 235
+/igrave % 236
+/iacute % 237
+/icircumflex % 238
+/idieresis % 239
+/eth % 240
+/ntilde % 241
+/ograve % 242
+/oacute % 243
+/ocircumflex % 244
+/otilde % 245
+/odieresis % 246
+/divide % 247 % oe in T1
+/.notdef % /oslash % 248
+/ugrave % 249
+/uacute % 250
+/ucircumflex % 251
+/udieresis % 252
+/yacute % 253
+/thorn % 254
+/ydieresis % 255 % germandbls in T1
+] def
+
+
+File: fontname.info, Node: xl2, Next: xt2, Prev: texnansx, Up: Encodings
+
+B.14 `xl2.enc': OT1 + ISO Latin 2 extended
+==========================================
+
+% @psencodingfile{
+% author = "Petr Olsak, Zdenek Wagner",
+% date = "27aug05",
+% filename = "xl2.enc",
+% license = "public domain",
+% email = "tex-fonts@tug.org",
+% codetable = "ISO/ASCII",
+% docstring = "
+% some of our (CSTUG- czech TeX Users Group) users want to support
+% 8bit font coding such that:
+% -- lower 7bit is exactly OT1 (but with differences imposed
+% by DEK -- e.g. layout of cmr is different from cmtt)
+% -- upper part is taken from ISO-Latin 2 (iso 8859-2),
+% but some of empty positions are filled with useful characters
+% usually available in type-1 font (permill sign etc.)
+% "
+% }
+%
+% 27aug05 - record Petr Olsak and Zdenek Wagner as the authors.
+% 12jun05 - remove Texinfo @'s from LIGKERN's.
+%
+/XL2encoding [
+%%%%% '000 = "00
+ /Gamma
+ /Delta
+ /Theta
+ /Lambda
+ /Xi
+ /Pi
+ /Sigma
+ /Upsilon
+%%%%% '010 = "08
+ /Phi
+ /Psi
+ /Omega
+ /ff
+ /fi
+ /fl
+ /ffi
+ /ffl
+%%%%% '020 = "10
+ /dotlessi
+ /dotlessj
+ /grave
+ /acute
+ /caron
+ /breve
+ /macron
+ /ring
+%%%%% '030 = "18
+ /cedilla
+ /germandbls
+ /ae
+ /oe
+ /oslash
+ /AE
+ /OE
+ /Oslash
+%%%%% '040 = "20
+ /.notdef
+ /exclam
+ /quotedblright
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
+%%%%% '050 = "28
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
+%%%%% '060 = "30
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
+%%%%% '070 = "38
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /exclamdown
+ /equal
+ /questiondown
+ /question
+%%%%% '100 = "40
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
+%%%%% '110 = "48
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
+%%%%% '120 = "50
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
+%%%%% '130 = "58
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /quotedblleft
+ /bracketright
+ /circumflex
+ /dotaccent
+%%%%% '140 = "60
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
+%%%%% '150 = "68
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
+%%%%% '160 = "70
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
+%%%%% '170 = "78
+ /x
+ /y
+ /z
+ /endash
+ /emdash
+ /hungarumlaut
+ /tilde
+ /dieresis
+%%%%% '200 = "80
+ /ellipsis
+ /dagger
+ /daggerdbl
+ /bullet
+ /sterling
+ /paragraph
+ /.notdef
+ /.notdef
+%%%%% '210 = "88
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /perthousand
+ /.notdef
+ /.notdef
+%%%%% '220 = "90
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+%%%%% '230 = "98
+ /Agrave
+ /.notdef
+ /.notdef
+ /.notdef
+ /hyphen
+ /ogonek
+ /guillemotleft
+ /guillemotright
+%%%%% '240 = "A0
+ /.notdef
+ /Aogonek
+ /breve
+ /Lslash
+ /currency
+ /Lcaron
+ /Sacute
+ /section
+%%%%% '250 = "A8
+ /dieresis
+ /Scaron
+ /Scedilla
+ /Tcaron
+ /Zacute
+ /.notdef
+ /Zcaron
+ /Zdotaccent
+%%%%% '260 = "B0
+ /ring
+ /aogonek
+ /cedilla
+ /lslash
+ /acute
+ /lcaron
+ /sacute
+ /caron
+%%%%% '270 = "B8
+ /agrave
+ /scaron
+ /scedilla
+ /tcaron
+ /zacute
+ /hungarumlaut
+ /zcaron
+ /zdotaccent
+%%%%% '300 = "C0
+ /Racute
+ /Aacute
+ /Acircumflex
+ /Abreve
+ /Adieresis
+ /Lacute
+ /Cacute
+ /Ccedilla
+%%%%% '310 = "C8
+ /Ccaron
+ /Eacute
+ /Eogonek
+ /Edieresis
+ /Ecaron
+ /Iacute
+ /Icircumflex
+ /Dcaron
+%%%%% '320 = "D0
+ /Eth
+ /Nacute
+ /Ncaron
+ /Oacute
+ /Ocircumflex
+ /Ohungarumlaut
+ /Odieresis
+ /multiply
+%%%%% '330 = "D8
+ /Rcaron
+ /Uring
+ /Uacute
+ /Uhungarumlaut
+ /Udieresis
+ /Yacute
+ /Togonek
+ /germandbls
+%%%%% '340 = "E0
+ /racute
+ /aacute
+ /acircumflex
+ /abreve
+ /adieresis
+ /lacute
+ /cacute
+ /ccedilla
+%%%%% '350 = "E8
+ /ccaron
+ /eacute
+ /eogonek
+ /edieresis
+ /ecaron
+ /iacute
+ /icircumflex
+ /dcaron
+%%%%% '360 = "F0
+ /eth
+ /nacute
+ /ncaron
+ /oacute
+ /ocircumflex
+ /ohungarumlaut
+ /odieresis
+ /divide
+%%%%% '370 = "F8
+ /rcaron
+ /uring
+ /uacute
+ /uhungarumlaut
+ /udieresis
+ /yacute
+ /quotedblbase
+ /quotedblleft
+] def
+
+% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN exclamdown exclamdown =: guillemotleft ;
+% frenchdblquotes
+% LIGKERN questiondown questiondown =: guillemotright ;
+% csquoteleft
+% LIGKERN comma comma =: quotedblbase ;
+% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+% LIGKERN question {} quoteleft ; exclam {} quoteleft ;
+
+
+File: fontname.info, Node: xt2, Prev: xl2, Up: Encodings
+
+B.15 `xt2.enc': typewriter OT1 + ISO Latin 2 extended
+=====================================================
+
+% @psencodingfile{
+% author = "Petr Olsak, Zdenek Wagner",
+% date = "27aug05",
+% filename = "xt2.enc",
+% license = "public domain",
+% email = "tex-fonts@tug.org",
+% codetable = "ISO/ASCII",
+% docstring = "This is the typewriter version of xl2."
+% }
+%
+% 27aug05 - record Petr Olsak and Zdenek Wagner as the authors.
+% 12jun05 - remove Texinfo @'s from LIGKERN's.
+%
+/XT2encoding [
+%%%%% '000 = "00
+ /Gamma
+ /Delta
+ /Theta
+ /Lambda
+ /Xi
+ /Pi
+ /Sigma
+ /Upsilon
+%%%%% '010 = "08
+ /Phi
+ /Psi
+ /Omega
+ /arrowup
+ /arrowdown
+ /quotesingle
+ /exclamdown
+ /questiondown
+%%%%% '020 = "10
+ /dotlessi
+ /dotlessj
+ /grave
+ /acute
+ /caron
+ /breve
+ /macron
+ /ring
+%%%%% '030 = "18
+ /cedilla
+ /germandbls
+ /ae
+ /oe
+ /oslash
+ /AE
+ /OE
+ /Oslash
+%%%%% '040 = "20
+ /.notdef
+ /exclam
+ /quotedblright
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
+%%%%% '050 = "28
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
+%%%%% '060 = "30
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
+%%%%% '070 = "38
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /less
+ /equal
+ /greater
+ /question
+%%%%% '100 = "40
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
+%%%%% '110 = "48
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
+%%%%% '120 = "50
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
+%%%%% '130 = "58
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /backslash
+ /bracketright
+ /circumflex
+ /underscore
+%%%%% '140 = "60
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
+%%%%% '150 = "68
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
+%%%%% '160 = "70
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
+%%%%% '170 = "78
+ /x
+ /y
+ /z
+ /braceleft
+ /bar
+ /braceright
+ /tilde
+ /dieresis
+%%%%% '200 = "80
+ /ellipsis
+ /dagger
+ /daggerdbl
+ /bullet
+ /sterling
+ /paragraph
+ /.notdef
+ /.notdef
+%%%%% '210 = "88
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /perthousand
+ /.notdef
+ /.notdef
+%%%%% '220 = "90
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+%%%%% '230 = "98
+ /Agrave
+ /.notdef
+ /.notdef
+ /.notdef
+ /hyphen
+ /ogonek
+ /guillemotleft
+ /guillemotright
+%%%%% '240 = "A0
+ /.notdef
+ /Aogonek
+ /breve
+ /Lslash
+ /currency
+ /Lcaron
+ /Sacute
+ /section
+%%%%% '250 = "A8
+ /dieresis
+ /Scaron
+ /Scedilla
+ /Tcaron
+ /Zacute
+ /.notdef
+ /Zcaron
+ /Zdotaccent
+%%%%% '260 = "B0
+ /ring
+ /aogonek
+ /cedilla
+ /lslash
+ /acute
+ /lcaron
+ /sacute
+ /caron
+%%%%% '270 = "B8
+ /agrave
+ /scaron
+ /scedilla
+ /tcaron
+ /zacute
+ /hungarumlaut
+ /zcaron
+ /zdotaccent
+%%%%% '300 = "C0
+ /Racute
+ /Aacute
+ /Acircumflex
+ /Abreve
+ /Adieresis
+ /Lacute
+ /Cacute
+ /Ccedilla
+%%%%% '310 = "C8
+ /Ccaron
+ /Eacute
+ /Eogonek
+ /Edieresis
+ /Ecaron
+ /Iacute
+ /Icircumflex
+ /Dcaron
+%%%%% '320 = "D0
+ /Eth
+ /Nacute
+ /Ncaron
+ /Oacute
+ /Ocircumflex
+ /Ohungarumlaut
+ /Odieresis
+ /multiply
+%%%%% '330 = "D8
+ /Rcaron
+ /Uring
+ /Uacute
+ /Uhungarumlaut
+ /Udieresis
+ /Yacute
+ /Togonek
+ /germandbls
+%%%%% '340 = "E0
+ /racute
+ /aacute
+ /acircumflex
+ /abreve
+ /adieresis
+ /lacute
+ /cacute
+ /ccedilla
+%%%%% '350 = "E8
+ /ccaron
+ /eacute
+ /eogonek
+ /edieresis
+ /ecaron
+ /iacute
+ /icircumflex
+ /dcaron
+%%%%% '360 = "F0
+ /eth
+ /nacute
+ /ncaron
+ /oacute
+ /ocircumflex
+ /ohungarumlaut
+ /odieresis
+ /divide
+%%%%% '370 = "F8
+ /rcaron
+ /uring
+ /uacute
+ /uhungarumlaut
+ /udieresis
+ /yacute
+ /quotedblbase
+ /quotedblleft
+] def
+
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN exclamdown exclamdown =: guillemotleft ;
+% frenchdblquotes
+% LIGKERN questiondown questiondown =: guillemotright ;
+% csquoteleft
+% LIGKERN comma comma =: quotedblbase ;
+% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+% LIGKERN question {} quoteleft ; exclam {} quoteleft ;
+% LIGKERN f {} f ; f {} i ; f {} l ;
+
+
+File: fontname.info, Node: General index, Prev: Encodings, Up: Top
+
+General index
+*************
+
+
+* Menu:
+
+* 35 standard PostScript fonts: Standard PostScript fonts.
+ (line 6)
+* 62.enc: 6w. (line 6)
+* 7-bit encodings: Variants. (line 44)
+* 8-bit encodings: Variants. (line 44)
+* 8a.enc: 8a. (line 6)
+* 8r.enc: 8r. (line 6)
+* 9s variant: Variants. (line 44)
+* Adobe standard encoding: 8a. (line 6)
+* adobe.map: Adobe fonts. (line 6)
+* Afm2tfm encoding: Variants. (line 67)
+* apple.map: Apple fonts. (line 6)
+* attribution of fonts, missing: Suppliers. (line 19)
+* automatic expansion: Widths. (line 13)
+* Avant Garde: Suppliers. (line 9)
+* base encoding, for TeX: 8r. (line 6)
+* Beebe, Nelson: History. (line 30)
+* Beeton, Barbara: History. (line 30)
+* Bernstein, Rocky: History. (line 30)
+* bitstrea.map: Bitstream fonts. (line 6)
+* bizarre font names: Suppliers. (line 31)
+* Bouche, Thierry: History. (line 30)
+* bright variant: Variants. (line 28)
+* bugs, reporting: Introduction. (line 12)
+* category codes: Long naming scheme. (line 34)
+* character scaling, automatic: Widths. (line 13)
+* compression: Widths. (line 6)
+* contributors: History. (line 30)
+* Cork encoding: ec. (line 6)
+* CP-1251 encoding: 6w. (line 6)
+* Cugley, Damian: History. (line 30)
+* Cyrillic encoding: 6w. (line 6)
+* Cyrillic encodings: Variants. (line 44)
+* Cyrillic fonts: Variants. (line 86)
+* design size specification: Filenames for fonts. (line 40)
+* distribution: Introduction. (line 16)
+* dtc.map: DTC fonts. (line 6)
+* Dviljk translator: References. (line 26)
+* Dvips encoding: dvips. (line 6)
+* Dvips translator: References. (line 21)
+* dvips.enc: dvips. (line 6)
+* EC encoding: ec. (line 6)
+* ec.enc: ec. (line 6)
+* encoding files: Introduction. (line 16)
+* encoding vectors: Encodings. (line 6)
+* encoding, Dvips: dvips. (line 6)
+* encoding, Groff: groff. (line 6)
+* encoding, T5: t5. (line 6)
+* encodings, Adobe standard: 8a. (line 6)
+* encodings, Cork: ec. (line 6)
+* encodings, Cyrillic CP-1251: 6w. (line 6)
+* encodings, EC: ec. (line 6)
+* encodings, qx: qx. (line 6)
+* encodings, TeX base: 8r. (line 6)
+* encodings, TeX Latin 1: ec. (line 6)
+* encodings, TeX math italic: texmital. (line 6)
+* encodings, TeX math symbol <1>: texmsym. (line 6)
+* encodings, TeX math symbol: texmext. (line 6)
+* encodings, texnansi: texnansi. (line 6)
+* encodings, texnansx: texnansx. (line 6)
+* encodings, unspecified: Variants. (line 67)
+* 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 scaling: Filenames for fonts. (line 40)
+* font_coding_scheme: Long naming scheme. (line 30)
+* Fontinst distribution: References. (line 17)
+* FontName: Typefaces. (line 49)
+* fontname mapping file: Name mapping file. (line 6)
+* Fontname version 2: History. (line 14)
+* foundries: Suppliers. (line 6)
+* Garamond, versions of: Typefaces. (line 16)
+* Greek fonts: Variants. (line 86)
+* Groff encoding: groff. (line 6)
+* groff.enc: groff. (line 6)
+* hexadecimal design size: Filenames for fonts. (line 40)
+* history: History. (line 6)
+* Horn, Berthol: History. (line 30)
+* individual font designers: Suppliers. (line 19)
+* informal variant: Variants. (line 102)
+* introduction: Introduction. (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)
+* letterspacing: Variants. (line 17)
+* ligatures and encodings: Variants. (line 53)
+* 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)
+* 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)
+* multiple variants: Variants. (line 9)
+* nonstandard names, escape for: Suppliers. (line 31)
+* phonetic encodings: Variants. (line 44)
+* pi fonts: Typefaces. (line 42)
+* PostScript encoding vectors: Encodings. (line 6)
+* PostScript fonts, standard: Standard PostScript fonts.
+ (line 6)
+* 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)
+* reporting bugs: Introduction. (line 12)
+* Rivlin, Jean: History. (line 30)
+* Rokicki, Tom: History. (line 30)
+* 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 29)
+* standard PostScript fonts: Standard PostScript fonts.
+ (line 6)
+* Stone Informal: Variants. (line 102)
+* 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 29)
+* TeX base encoding: 8r. (line 6)
+* TeX Directory Structure standard: References. (line 8)
+* TeX Latin 1 encoding: ec. (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)
+* type foundries: Suppliers. (line 6)
+* typeface.map: Typefaces. (line 49)
+* typefaces: Typefaces. (line 6)
+* typewriter variant: Variants. (line 117)
+* unattributed fonts: Suppliers. (line 19)
+* 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)
+* 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: Top260
+Node: Introduction1969
+Node: History3036
+Node: References4851
+Node: Filenames for fonts6171
+Node: Suppliers7913
+Node: Typefaces10494
+Node: Weights31558
+Node: Variants32371
+Node: Widths42651
+Node: Long names44059
+Node: Name mapping file44618
+Node: Long naming scheme46199
+Node: Font name lists47955
+Node: Standard PostScript fonts48414
+Node: Adobe fonts49876
+Node: Apple fonts239856
+Node: Bitstream fonts240190
+Node: DTC fonts300954
+Node: ITC fonts301871
+Node: Linotype fonts347511
+Node: Monotype fonts603537
+Node: URW fonts690094
+Node: Encodings693293
+Node: 6w695351
+Node: 8a697836
+Node: 8r700346
+Node: dvips705330
+Node: ec709136
+Node: groff721911
+Node: t5726845
+Node: qx734796
+Node: texmext776268
+Node: texmsym780124
+Node: texmital783307
+Node: texnansi786041
+Node: texnansx798460
+Node: xl2803809
+Node: xt2808796
+Node: General index813423
+
+End Tag Table
diff --git a/Master/texmf-dist/doc/info/kpathsea.info b/Master/texmf-dist/doc/info/kpathsea.info
new file mode 100644
index 00000000000..54e179d0f3d
--- /dev/null
+++ b/Master/texmf-dist/doc/info/kpathsea.info
@@ -0,0 +1,4763 @@
+This is ../../../../texk/kpathsea/doc/kpathsea.info, produced by
+makeinfo version 4.13 from ../../../../texk/kpathsea/doc/kpathsea.texi.
+
+This file documents the Kpathsea library for path searching.
+
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+2005, 2007, 2008, 2009, 2010, 2011, 2012 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 TeX Users Group.
+
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* Kpathsea: (kpathsea). File lookup along search paths.
+* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching.
+* mktexfmt: (kpathsea)mktex scripts. Format (fmt/base/mem) generation.
+* 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.
+END-INFO-DIR-ENTRY
+
+
+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 6.1.0, released in
+May 2012.
+
+* 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 6.1.0 of the Kpathsea library,
+released in May 2012.
+
+ 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 accompanying files 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, thanks!). 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. See `http://tug.org' for information.
+
+* 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.
+
+
+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.)
+
+
+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::). These are collectively
+known as "`mktex' scripts", since most of them are named `mktex...'.
+
+ For example, this is 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.
+Building all fonts in advance is therefore impractical, if not
+impossible.
+
+ It is also useful for the TeX `.fmt' (and Metafont `.base' and
+Metapost `.mem' files, *note Memory dumps: (Web2c)Memory dumps.), where
+pre-generating every format consumes a lot of both time and space.
+
+ 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:
+
+* config: mktex configuration.
+* names: mktex script names.
+* args: mktex script arguments.
+
+
+File: kpathsea.info, Node: mktex configuration, Next: mktex script names, Up: mktex scripts
+
+2.2.9.1 `mktex' configuration
+.............................
+
+The list of file types and program names that can run an external
+program to create missing files is listed in the next section. 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-mktexfmt-default
+ --without-mktexmf-default
+ --without-mktexocp-default
+ --without-mktexofm-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::).
+
+ `mktexfmt' reads a file `fmtutil.cnf', typically located in
+`texmf/web2c/' to glean its configuration information. The rest of the
+files and features in this section are primarily intended for the font
+generation scripts.
+
+ 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 of
+the file types which support runtime generation.
+
+`mktexfmt'
+ (`.fmt', `.base', `.mem') TeX/Metafont/MetaPost formats. This
+ script is also named `fmtutil', and reads `fmtutil.cnf' for
+ configuration information.
+
+`mktexmf'
+ (`.mf') Metafont input files.
+
+`mkocp'
+ (`.ocp') Omega compiled process files.
+
+`mkofm'
+ (`.ofm') Omega font metric files.
+
+`mktexpk'
+ (`pk') Glyph fonts.
+
+`mktextex'
+ (`.tex') TeX input files (disabled by default).
+
+`mktextfm'
+ (`.tfm') TFM files.
+
+These names can be 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 "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 13 June 2010.
+Also available as `http://www.tug.org/unixtex.ftp'. Email
+<tex-k@tug.org> with comments or questions.
+
+ The principal free TeX distribution for Unix-like systems is TeX
+Live, on the web at `http://tug.org/texlive'. The pages there describe
+many ways to acquire TeX, over the Internet or on physical media, both
+the sources and precompiled binaries for many systems, either
+standalone or as part of various operating system distributions.
+
+ Web2C, Kpathsea, Dvips, and Dviljk are no longer released as a
+separate packages. Their sources are now maintained as part of TeX
+Live.
+
+ The host ftp.cs.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 a
+larger package. In any case, that ftp site is not the canonical source
+for anything except what was created as part of Stanford TeX project,
+so do not rely on the other files available there being up-to-date.
+
+
+File: kpathsea.info, Node: Reporting bugs, Prev: unixtex.ftp, Up: Installation
+
+2.6 Reporting bugs
+==================
+
+(A copy of this chapter is in the file `kpathsea/BUGS'.)
+
+If you have problems or suggestions, please report them to
+<tex-k@tug.org> using the bug checklist below.
+
+ Please report bugs in the documentation; not only factual errors or
+inconsistent behavior, but unclear or incomplete explanations, typos,
+wrong fonts, ...
+
+* Menu:
+
+* Bug checklist:: What to include in a good bug report.
+* Mailing lists:: Joining the bugs or announcements mailing lists.
+* Debugging:: Analyzing runtime problems.
+* Logging:: Recording searches.
+* Common problems:: When things go wrong.
+
+
+File: kpathsea.info, Node: Bug checklist, Next: Mailing lists, Up: Reporting bugs
+
+2.6.1 Bug checklist
+-------------------
+
+Before reporting a bug, please check below to be sure it isn't already
+known (*note Common problems::).
+
+ Bug reports should be sent via electronic mail to <tex-k@tug.org>.
+
+ 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.
+
+ * If you are sending a patch (do so if you can!), please do so in
+ the form of a context diff (`diff -c') against the original
+ distribution source. Any other form of diff is either not as
+ complete or harder for me to understand. Please also include a
+ `ChangeLog' entry.
+
+ * If the bug involved is an actual crash (i.e., core dump), it is
+ easy and useful to include a stack trace from a debugger (I
+ recommend the GNU debugger GDB, available from
+ `ftp://prep.ai.mit.edu/pub/gnu'). If the cause is apparent (a
+ `NULL' value being dereferenced, for example), please send the
+ details along. If the program involved is TeX or Metafont, and
+ the crash is happening at apparently-sound code, however, the bug
+ may well be in the compiler, rather than in the program or the
+ library (*note TeX or Metafont failing: TeX or Metafont failing.).
+
+ * Any additional information that will be helpful in reproducing,
+ diagnosing, or fixing the bug.
+
+
+File: kpathsea.info, Node: Mailing lists, Next: Debugging, Prev: Bug checklist, Up: Reporting bugs
+
+2.6.2 Mailing lists
+-------------------
+
+Web2c and Kpathsea in general are discussed on the mailing list
+<tex-k@tug.org>. To join, email <tex-k-request@tug.org> with a line
+consisting of
+
+ subscribe YOU@YOUR.PREFERRED.EMAIL.ADDRESS
+
+in the body of the message.
+
+ You do not need to join to submit a report, nor will it affect
+whether you get a response. There is no Usenet newsgroup equivalent
+(if you can be the one to set this up, email `tex-k-request'). Traffic
+on the list is fairly light, and is mainly bug reports and enhancement
+requests to the software. The best way to decide if you want to join
+or not is read some of the archives from
+`ftp://ftp.tug.org/mail/archives/tex-k/'.
+
+ Be aware that large data files are sometimes included in bug reports.
+If this is a problem for you, do not join the list.
+
+ If you are looking for general TeX help, such as how to use LaTeX,
+please use the mailing list <texhax@tug.org> mailing list
+(`http://lists.tug.org/texhax') 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 instance variable `kpse->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.
+
+ In addition to this Kpathsea-specific logging, `pdftex' provides an
+option `-recorder' to write the names of all files accessed during a
+run to the file `BASEFILE.fls'.
+
+ Finally, most systems provide a general tool to output each system
+call, thus including opening and closing files. It might be named
+`strace', `truss', `struss', or something else.
+
+
+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
+machines 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 might very
+well 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 not 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 any read permission (for
+example, a `lost+found' directory). 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'.
+
+ If Kpathsea cannot find any `texmf.cnf' file, it reports a warning
+including all the directories it checked. If you don't want to see
+this warning, set the environment variable `KPATHSEA_WARNING' to the
+single character `0' (zero, not oh).
+
+ 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 `%', either at the beginning of a line or
+ preceded by whitespace, and continue to the end of the line. That
+ is, as with most shells, a `%' in the "middle" of a value does not
+ start a comment. Examples:
+
+ % this is a comment
+ var = a%b % but the value of var will be "a%b".
+
+ * 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,bat,cmd,...}'. Most
+ notably, this allows different flavors of TeX to have different
+ search paths.
+
+ * 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 Windows.
+
+ * 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
+
+ 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.
+However, there seemed little advantage in 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. On Windows,
+the environment variable `USERPROFILE' is checked instead of `HOME'.
+
+ 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 instead 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'.
+
+
+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 `ST_NLINK_TRICK' 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, in practice searching
+each possible directory in typical TeX installations takes an
+excessively long time.
+
+ Therefore, Kpathsea can use an externally-built "filename 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.
+* Specially-recognized files:: Default formats for texmf.cnf, etc.
+* Auxiliary tasks:: Path and variable expansion.
+* Standard options:: --help and --version.
+
+
+File: kpathsea.info, Node: Path searching options, Next: Specially-recognized files, 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.
+
+ Various options alter the path searching behavior:
+
+`--all'
+ Report all matches found, one per line. By default, if there is
+ more than one match, just one will be reported (chosen effectively
+ at random).
+
+`--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.
+
+ In particular, since the memory dump files (`.fmt'/`.base'/`.mem')
+ are now stored in subdirectories named for the engine (`tex',
+ `pdftex', `xetex', etc.), you must specify an engine name in order
+ to find them. For example, `cont-en.fmt' typically exists for both
+ `pdftex' and `xetex'. With the default path settings, you can use
+ `--engine=/' to look for any dump file, regardless of engine; if a
+ dump file exists for more than one engine, it's indeterminate
+ which one is returned. (The `/' ends up specifying a normal
+ recursive search along the path where the dumps are stored, namely
+ `$TEXMF/web2c{/$engine,}'.)
+
+`--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.
+
+ The strings in parentheses are abbreviations recognized only by
+ `kpsewhich' (not the underlying library calls). They are provided
+ when it would otherwise require an argument containing a space to
+ specify the format, to simplify quoting of calls from shells.
+
+ gf: gf
+ pk: pk
+ bitmap font (bitmapfont):
+ tfm: .tfm
+ afm: .afm
+ base: .base
+ bib: .bib
+ bst: .bst
+ cnf: .cnf
+ ls-R: ls-R ls-r
+ fmt: .fmt
+ map: .map
+ mem: .mem
+ mf: .mf
+ mfpool: .pool
+ mft: .mft
+ mp: .mp
+ mppool: .pool
+ MetaPost support (mpsupport):
+ ocp: .ocp
+ ofm: .ofm .tfm
+ opl: .opl .pl
+ otp: .otp
+ ovf: .ovf .vf
+ ovp: .ovp .vpl
+ graphic/figure: .eps .epsi
+ tex: .tex .sty .cls .fd .aux .bbl .def .clo .ldf
+ TeX system documentation (doc):
+ texpool: .pool
+ TeX system sources (source): .dtx .ins
+ PostScript header: .pro
+ Troff fonts (trofffont):
+ type1 fonts: .pfa .pfb
+ vf: .vf
+ dvips config (dvipsconfig):
+ ist: .ist
+ truetype fonts: .ttf .ttc .TTF .TTC .dfont
+ type42 fonts: .t42 .T42
+ web2c files (web2c):
+ other text files (othertext):
+ other binary files (otherbin):
+ misc fonts (miscfont):
+ web: .web .ch
+ cweb: .w .web .ch
+ enc files: .enc
+ cmap files (cmap):
+ subfont definition files: .sfd
+ opentype fonts: .otf
+ pdftex config (pdftexconfig):
+ lig files: .lig
+ texmfscripts:
+ lua: .luc .luctex .texluc .lua .luatex .texlua
+ font feature files: .fea
+ cid maps: .cid .cidmap
+ mlbib: .mlbib .bib
+ mlbst: .mlbst .bst
+ clua: .dll .so
+ ris: .ris
+ bltxml: .bltxml
+
+ 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. Usual
+ values for FILETYPE are `pk', `mf', `tex', and `tfm'. By default,
+ all are off in Kpsewhich, even if they are enabled for TeX. This
+ option implies setting `--must-exist'. *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 and running the `mktex' scripts. 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' and `--show-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::).
+
+`--safe-in-name=NAME'
+`--safe-out-name=NAME'
+ Exit successfully if NAME is safe to open for reading or writing,
+ respectively, else unsuccessfully. No output is written. These
+ tests take account of the related Kpathsea configuration settings
+ (*note Calling sequence::).
+
+`--subdir=STRING'
+ Report only those matches whose directory part _ends_ with STRING
+ (compared literally, except case is ignored on a case-insensitive
+ operating system). For example, suppose there are two matches for
+ a given name:
+
+ kpsewhich foo.sty
+ => /some/where/foo.sty
+ /another/place/foo.sty
+
+ Then we can narrow the result to what we are interested in with
+ `--subdir':
+
+ kpsewhich --subdir=where foo.sty
+ => /some/where/foo.sty
+
+ kpsewhich --subdir=place foo.sty
+ => /another/place/foo.sty
+
+ The string to match must be at the end of the directory part of the
+ match, and it is taken literally, with no pattern matching:
+
+ kpsewhich --subdir=another foo.sty
+ =>
+
+ The string to match may cross directory components:
+
+ kpsewhich --subdir=some/where foo.sty
+ => /some/where/foo.sty
+
+ `--subdir' implies `--all'; if there is more than one match, they
+ will all be reported (in our example, both `where' and `place' end
+ in `e'):
+
+ kpsewhich --subdir=e
+ => /some/where/foo.sty
+ /another/place/foo.sty
+
+ Because of the above rules, the presence of a leading `/' is
+ important, since it "anchors" the match to a full component name:
+
+ kpsewhich --subdir=/lace foo.sty
+ =>
+
+ However, a trailing `/' is immaterial (and ignored), since the
+ match always takes place at the end of the directory part:
+
+ kpsewhich --subdir=lace/ foo.sty
+ => /another/place/foo.sty
+
+ The purpose of these rules is to make it convenient to find results
+ only within a particular area of the tree. For instance, a given
+ script named `foo.lua' might exist within both
+ `texmf-dist/scripts/pkg1/' and `texmf-dist/scripts/pkg2/'. By
+ specifying, say, `--subdir=/pkg1', you can be sure of getting the
+ one you are interested in.
+
+ We only match at the end because a site might happen to install TeX
+ in `/some/coincidental/pkg1/path/', and we wouldn't want to match
+ `texmf-dist/scripts/pkg2/' that when searching for `/pkg1'.
+
+
+
+File: kpathsea.info, Node: Specially-recognized files, Next: Auxiliary tasks, Prev: Path searching options, Up: Invoking kpsewhich
+
+3.5.2 Specially-recognized files for `kpsewhich'
+------------------------------------------------
+
+`kpsewhich' recognizes a few special filenames on the command line and
+defaults to using the `known' file formats for them, merely to save the
+time and trouble of specifying the format. This is only a feature of
+`kpsewhich'; when using the Kpathsea library itself, none of these
+special filenames are recognized, and it's still up to the caller to
+specify the desired format.
+
+ Here is the list of special filenames to `kpsewhich', along with
+their corresponding format:
+
+`config.ps'
+ `dvips config'
+
+`dvipdfmx.cfg'
+ `other text files'
+
+`fmtutil.cnf'
+ `web2c files'
+
+`glyphlist.txt'
+ `map'
+
+`mktex.cnf'
+ `web2c files'
+
+`pdfglyphlist.txt'
+ `map'
+
+`pdftex.cfg'
+ `pdftex config' (although `pdftex.cfg' is not used any more; look
+ for the file `pdftexconfig.tex' instead.)
+
+`texmf.cnf'
+ `cnf'
+
+`XDvi'
+ `other text files'
+
+
+ A user-specified format will override the above defaults.
+
+ Another useful configuration file in this regard is `tcfmgr.map',
+found in `texmf/texconfig/tcfmgr.map', which records various
+information about the above configuration files (among others).
+
+
+File: kpathsea.info, Node: Auxiliary tasks, Next: Standard options, Prev: Specially-recognized files, Up: Invoking kpsewhich
+
+3.5.3 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' outputs the value of VARIABLE, expanding
+ `$' (*note Variable expansion:: and `~' (*note Tilde expansion::)
+ constructs, but not performing other expansions.
+
+ * `--expand-braces=STRING' outputs the variable and brace expansion
+ of STRING. *Note Path expansion::.
+
+ * `--expand-var=STRING' outputs the variable and tilde 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,
+ with each element separated by the usual path separator on the
+ current system (`;' on Windows, `:' otherwise). This may be
+ useful to construct a custom search path for a format not
+ otherwise supported. To retrieve the search path for a format
+ that is already supported, see `--show-path', next.
+
+ 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.4 Standard options
+----------------------
+
+Kpsewhich accepts the standard GNU options:
+
+ * `--help' prints a help message on standard output and exits
+ successfully.
+
+ * `--version' prints the Kpathsea version number and exits
+ successfully.
+
+
+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, *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'.
+
+`font cid map'
+ (CJK mapping) `FONTCIDMAPS' suffix `.cid'.
+
+`font feature files'
+ (primarily for OpenType font features) `FONTFEATURES' suffix
+ `.fea'.
+
+`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'
+
+`mlbib'
+ (MlBibTeX bibliography source) `MLBIBINPUTS', `BIBINPUTS',
+ `TEXBIB'; suffixes `.mlbib', `.mlbib'.
+
+`mlbst'
+ (MlBibTeX style) `MLBSTINPUTS', `BSTINPUTS'; suffixes `.mlbst',
+ `.bst'.
+
+`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
+ trees) `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' and `.TTF',
+ `.ttc' and `.TTC', `.dfont'.
+
+`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. Example: given `foo.bar', look for
+ `foo.bar.tex'.
+
+ 2. Search for NAME, and if necessary for alternative names found in
+ the fontmaps. Example: given `foo.bar', we also look for
+ `foo.bar'.
+
+ 3. If the file format defines a program to invoke to create missing
+ files, run it (*note mktex scripts::).
+
+ The order in which we search for "suffixed" name (item 1) or the
+"as-is" name (item 2) is controlled by the `try_std_extension_first'
+configuration value. The default set in `texmf.cnf' is true, since
+common suffixes are already recognized: `babel.sty' will only look for
+`babel.sty', not `babel.sty.tex', regardless of this setting.
+
+ When the suffix is unknown (e.g., `foo.bar'), both names are always
+tried; the difference is the order in which they are tried.
+
+ `try_std_extension_first' only affects names being looked up which
+*already* have an extension. A name without an extension (e.g., `tex
+story') will always have an extension added first.
+
+ This algorithm is implemented in the function `kpathsea_find_file'
+in the source file `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 `kpathsea_find_glyph' 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 calling `kpathsea_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 that 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.
+
+ When looking at these program sources, you should know that previous
+versions of the library had a different programming interface, to
+support re-entrancy. In that interface the library function names were
+prefixed with `kpse_' instead of `kpathsea_', and they did not need an
+instance variable as first argument. This change was made in 2009.
+Some of the programs mentioned above may still be using the previous
+interface.
+
+ Beyond these examples, the `.h' files in the Kpathsea source
+describe the interfaces and functionality (and of course the `.c' files
+define the actual routines, which are the ultimate documentation).
+`pathsearch.h' declares the basic searching routine. `tex-file.h' and
+`tex-glyph.h' define the interfaces for looking up particular kinds of
+files. In view of the way the headers depend on each other, it is
+recommended to use `#include <kpathsea/kpathsea.h>', which includes
+every Kpathsea header.
+
+ If you want to include only specific headers, you should still
+consider including `kpathsea/config.h' before including any other
+Kpathsea header, as it provides symbols used in the other headers.
+Note that `kpathsea/config.h' includes `kpathsea/c-auto.h', which is
+generated by Autoconf.
+
+ The library provides no way for an external program to register new
+file types: `tex-file.[ch]' must be modified to do this. For example,
+Kpathsea has support for looking up Dvips config files, even though no
+program other than Dvips will likely ever want to do so. I felt this
+was acceptable, since along with new file types should also come new
+defaults in `texmf.cnf' (and its descendant `paths.h'), since it's
+simplest for users if they can modify one configuration file for all
+kinds of paths.
+
+ Kpathsea does not parse any formats itself; it barely opens any
+files. Its primary purpose is to return filenames. The GNU font
+utilities does contain libraries to read TFM, GF, and PK files, as do
+the programs above, of course.
+
+
+File: kpathsea.info, Node: Calling sequence, Next: Program-specific files, Prev: Programming overview, Up: Programming
+
+5.2 Calling sequence
+====================
+
+The typical way to use Kpathsea in your program goes something like
+this:
+
+ 1. Call `kpathsea_new' to create a new library instance. This variable
+ must be passed as the first argument to all the following library
+ functions. The rest of this manual will be using `kpse' as a
+ placeholder for the name of this variable.
+
+ 2. Call `kpathsea_set_program_name' with `argv[0]' as the second
+ argument; the third argument is a string or `NULL'. The third
+ argument is used by Kpathsea as the program name for the
+ `.PROGRAM' feature of config files (*note Config files::). If the
+ third argument is `NULL', the value of the second argument is
+ used. This function must be called before any other use of the
+ Kpathsea library.
+
+ `kpathsea_set_program_name' always sets the variables
+ `kpse->invocation_name' and `kpse->invocation_short_name'. These
+ variables are used in the error message macros defined in
+ `kpathsea/lib.h'. It sets the 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 environment 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. You can use `kpsewhich --expand-var=\$SELFAUTOLOC',
+ etc., to see the values.
+
+ 3. Set debugging options. *Note Debugging::. If your program doesn't
+ have a debugging option already, you can define one and set
+ `kpse->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 `kpathsea_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
+ `kpathsea_find_file'. You can call `kpathsea_find_file' after
+ doing only the first and second 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 routine is
+ `kpathsea_find_glyph', defined in `tex-glyph.h'. This returns 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
+ `kpathsea_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.
+
+ 9. 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'. Analogous security holes exist for many other
+ programs. 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'.) The function
+ `kpathsea_out_name_ok', with a filename as second argument,
+ returns `true' if that filename is acceptable to be opend for
+ output or `false' otherwise.
+
+ 10. Similarly, the function `kpathsea_in_name_ok', with a filename as
+ second argument, returns `true' if that filename is acceptable to
+ be opend for input or `false' otherwise, depending on the value of
+ the configuration variable `openin_any' (with `a' as default).
+
+ 11. To close the kpathsea library instance you are using, call
+ `kpathsea_finish'. This function closes any open log files and
+ frees the memory used by the instance.
+
+
+ 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 and
+probably Automake for configuring and building your software if you use
+Kpathsea; I strongly recommend using Autoconf and Automake regardless.
+They are available from `ftp://ftp.gnu.og/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 formats, `kpse_program_text_format' and
+`kpse_program_binary_format', 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
+`kpathsea_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
+`kpathsea_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 `kpathsea_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 `kpathsea_cnf_get' (declared in `kpathsea/cnf.h') with
+the string VAR.
+
+ No initialization calls are needed.
+
+
+File: kpathsea.info, Node: Index, Prev: Programming, Up: Top
+
+Index
+*****
+
+
+* Menu:
+
+* !! in path specifications: ls-R. (line 52)
+* $ expansion: Variable expansion. (line 6)
+* --all: Path searching options.
+ (line 12)
+* --color=tty: ls-R. (line 21)
+* --debug=NUM: Auxiliary tasks. (line 9)
+* --disable-static: configure options. (line 31)
+* --dpi=NUM: Path searching options.
+ (line 17)
+* --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 22)
+* --expand-braces=STRING: Auxiliary tasks. (line 16)
+* --expand-path=STRING: Auxiliary tasks. (line 24)
+* --expand-var=STRING: Auxiliary tasks. (line 19)
+* --format=NAME: Path searching options.
+ (line 38)
+* --help: Standard options. (line 8)
+* --interactive: Path searching options.
+ (line 120)
+* --mktex=FILETYPE: Path searching options.
+ (line 125)
+* --mode=STRING: Path searching options.
+ (line 131)
+* --must-exist: Path searching options.
+ (line 136)
+* --no-mktex=FILETYPE: Path searching options.
+ (line 125)
+* --path=STRING: Path searching options.
+ (line 141)
+* --progname=NAME: Path searching options.
+ (line 150)
+* --safe-in-name=NAME: Path searching options.
+ (line 156)
+* --safe-out-name=NAME: Path searching options.
+ (line 156)
+* --show-path=NAME: Auxiliary tasks. (line 41)
+* --srcdir, for building multiple architectures: configure scenarios.
+ (line 18)
+* --subdir=STRING: Path searching options.
+ (line 162)
+* --var-value=VARIABLE: Auxiliary tasks. (line 12)
+* --version: Standard options. (line 11)
+* --with options: configure options. (line 16)
+* --with-mktextex-default: mktex configuration. (line 12)
+* --without-mktexfmt-default: mktex configuration. (line 12)
+* --without-mktexmf-default: mktex configuration. (line 12)
+* --without-mktexocp-default: mktex configuration. (line 12)
+* --without-mktexofm-default: mktex configuration. (line 12)
+* --without-mktexpk-default: mktex configuration. (line 12)
+* --without-mktextfm-default: mktex configuration. (line 12)
+* -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 17)
+* -dynamic: ShellWidgetClass. (line 43)
+* -g, compiling without: configure scenarios. (line 32)
+* -L option to ls: ls-R. (line 38)
+* -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)
+* .cid: Supported file formats.
+ (line 58)
+* .cmap: Supported file formats.
+ (line 36)
+* .cnf: Supported file formats.
+ (line 39)
+* .enc: Supported file formats.
+ (line 51)
+* .eps: Supported file formats.
+ (line 69)
+* .epsi: Supported file formats.
+ (line 69)
+* .fea: Supported file formats.
+ (line 61)
+* .fmt: Supported file formats.
+ (line 54)
+* .ist: Supported file formats.
+ (line 74)
+* .lig: Supported file formats.
+ (line 78)
+* .map: Supported file formats.
+ (line 84)
+* .mem: Supported file formats.
+ (line 87)
+* .mf: Supported file formats.
+ (line 95)
+* .mft: Supported file formats.
+ (line 103)
+* .mlbib: Supported file formats.
+ (line 111)
+* .mlbst: Supported file formats.
+ (line 115)
+* .mp: Supported file formats.
+ (line 119)
+* .ocp: Supported file formats.
+ (line 127)
+* .ofm: Supported file formats.
+ (line 131)
+* .opl: Supported file formats.
+ (line 138)
+* .otp: Supported file formats.
+ (line 141)
+* .ovf: Supported file formats.
+ (line 144)
+* .ovp: Supported file formats.
+ (line 147)
+* .pfa: Supported file formats.
+ (line 200)
+* .pfb: Supported file formats.
+ (line 200)
+* .pk: Supported file formats.
+ (line 154)
+* .pool: Supported file formats.
+ (line 99)
+* .pro: Supported file formats.
+ (line 160)
+* .rhosts, writable by TeX: Security. (line 10)
+* .sfd: Supported file formats.
+ (line 164)
+* .tex: Supported file formats.
+ (line 167)
+* .tex file, included in ls-R: ls-R. (line 33)
+* .tfm: Supported file formats.
+ (line 187)
+* .ttc: Supported file formats.
+ (line 196)
+* .ttf: Supported file formats.
+ (line 196)
+* .vf: Supported file formats.
+ (line 208)
+* .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 19)
+* //: 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 114)
+* 2602gf: Unable to generate fonts.
+ (line 36)
+* 8.3 filenames, using: mktex configuration. (line 69)
+* : 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 37)
+* \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)
+* 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)
+* all matches, finding: Path searching options.
+ (line 12)
+* alphabetical order, not: Subdirectory expansion.
+ (line 6)
+* Amiga support: Custom installation. (line 19)
+* Andrew File System, installing with: Installing files. (line 32)
+* announcement mailing list: Mailing lists. (line 6)
+* ANSI C: TeX or Metafont failing.
+ (line 30)
+* API, re-entrant: Programming overview.
+ (line 16)
+* append-only directories and mktexpk: Security. (line 36)
+* appendonlydir: mktex configuration. (line 61)
+* 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 14)
+* ash, losing with configure: configure shells. (line 19)
+* autoconf, recommended: Calling sequence. (line 119)
+* 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)
+* backslash-newline: Config files. (line 37)
+* 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)
+* blank lines, in texmf.cnf: Config files. (line 35)
+* 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 119)
+* c-auto.h: Programming overview.
+ (line 33)
+* 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)
+* CFLAGS: configure environment.
+ (line 14)
+* ChangeLog entry: Bug checklist. (line 55)
+* 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 47)
+* 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 86)
+* 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 27)
+* 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 25)
+* 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 47)
+* config files, programming with: Programming with config files.
+ (line 6)
+* config.h: Programming overview.
+ (line 33)
+* config.log: Bug checklist. (line 27)
+* config.ps: Specially-recognized files.
+ (line 16)
+* config.ps, search path for: Supported file formats.
+ (line 47)
+* config.status: Bug checklist. (line 30)
+* configuration: Installation. (line 6)
+* configuration bugs: Bug checklist. (line 30)
+* configuration compiler options: configure environment.
+ (line 23)
+* configuration file, source for path: Path sources. (line 17)
+* configuration files as shell scripts.: Config files. (line 79)
+* 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 12)
+* configure, running: Running configure. (line 6)
+* context diff: Bug checklist. (line 55)
+* continuation character: Config files. (line 37)
+* core dumps, reporting: Bug checklist. (line 61)
+* CPPFLAGS: configure environment.
+ (line 22)
+* crashes, reporting: Bug checklist. (line 61)
+* 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 61)
+* debugging: Debugging. (line 6)
+* debugging options, in Kpathsea-using program: Calling sequence.
+ (line 39)
+* 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 62)
+* 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)
+* dlclose: dlopen. (line 6)
+* dlopen: dlopen. (line 6)
+* dlsym: dlopen. (line 6)
+* dlsym.c: dlopen. (line 21)
+* doc files: Supported file formats.
+ (line 173)
+* DOS compatible names: mktex configuration. (line 69)
+* DOS support: Custom installation. (line 19)
+* dosnames: mktex configuration. (line 68)
+* dot files: ls-R. (line 33)
+* doubled colons: Default expansion. (line 6)
+* dpiNNN directories: mktex configuration. (line 69)
+* DVI drivers: Kpathsea application distributions.
+ (line 12)
+* DVILJMAKEPK: mktex script names. (line 32)
+* DVILJSIZES: Fallback font. (line 6)
+* dvipdfmx.cfg: Specially-recognized files.
+ (line 19)
+* DVIPSFONTS: Supported file formats.
+ (line 243)
+* DVIPSHEADERS: Supported file formats.
+ (line 200)
+* DVIPSMAKEPK: mktex script names. (line 32)
+* 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)
+* enabling mktex scripts: mktex configuration. (line 6)
+* ENCFONTS: Supported file formats.
+ (line 51)
+* engine name: Path searching options.
+ (line 22)
+* 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 22)
+* excessive startup time: Slow path searching. (line 6)
+* expand.c: Brace expansion. (line 26)
+* expanding symlinks: Calling sequence. (line 31)
+* 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)
+* extensions, filename: File lookup. (line 24)
+* 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 35)
+* 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 39)
+* 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)
+* fmtutil: mktex script names. (line 10)
+* fmtutil.cnf: Specially-recognized files.
+ (line 22)
+* fmtutils.cnf: mktex configuration. (line 24)
+* 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)
+* FONTCIDMAPS: Supported file formats.
+ (line 58)
+* FONTFEATURES: Supported file formats.
+ (line 61)
+* fontmap files: Fontmap. (line 6)
+* fontmaps: mktex configuration. (line 87)
+* fontname: mktex configuration. (line 88)
+* fontnames, arbitrary length: Fontmap. (line 15)
+* fonts, being created: Simple installation. (line 79)
+* FOOINPUTS: Supported file formats.
+ (line 225)
+* fopen, redefined: Debugging. (line 54)
+* format of external database: Database format. (line 6)
+* FreeBSD configure error: Empty Makefiles. (line 6)
+* FreeBSD shells and configure: configure shells. (line 19)
+* ftp.cs.stanford.edu: unixtex.ftp. (line 20)
+* 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 61)
+* generation of filename database: Filename database generation.
+ (line 6)
+* get_applicationShellWidgetClass: ShellWidgetClass. (line 6)
+* get_wmShellWidgetClass: ShellWidgetClass. (line 6)
+* gf: Supported file formats.
+ (line 65)
+* GFFONTS: Supported file formats.
+ (line 65)
+* 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 65)
+* glyphlist.txt: Specially-recognized files.
+ (line 25)
+* 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 112)
+* hash_summary_only variable for debugging: Debugging. (line 105)
+* help, mailing list for general TeX: Mailing lists. (line 25)
+* 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 47)
+* illegal pointer combination warnings: Pointer combination warnings.
+ (line 6)
+* include fontmap directive: Fontmap. (line 33)
+* INDEXSTYLE: Supported file formats.
+ (line 74)
+* info-tex@shsu.edu: Mailing lists. (line 25)
+* input lines, reading: Calling sequence. (line 112)
+* 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 120)
+* 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: unixtex.ftp. (line 20)
+* Korn shell, losing with configure: configure shells. (line 14)
+* kpathsae_var_value: Programming with config files.
+ (line 10)
+* Kpathsea config file, source for path: Path sources. (line 17)
+* Kpathsea version number: Kpathsea application distributions.
+ (line 6)
+* kpathsea.h: Programming overview.
+ (line 24)
+* kpathsea/README.CONFIGURE: Running configure. (line 15)
+* kpathsea_cnf_get: Programming with config files.
+ (line 23)
+* KPATHSEA_DEBUG <1>: Calling sequence. (line 28)
+* KPATHSEA_DEBUG: Debugging. (line 18)
+* kpathsea_find_file <1>: Calling sequence. (line 62)
+* kpathsea_find_file: File lookup. (line 37)
+* kpathsea_find_glyph: Glyph lookup. (line 26)
+* kpathsea_finish: Calling sequence. (line 107)
+* kpathsea_in_name_ok: Calling sequence. (line 102)
+* kpathsea_init_prog <1>: Calling sequence. (line 53)
+* kpathsea_init_prog: Fallback font. (line 15)
+* kpathsea_new: Calling sequence. (line 9)
+* kpathsea_open_file: Calling sequence. (line 74)
+* kpathsea_out_name_ok: Calling sequence. (line 82)
+* kpathsea_set_program_name: Calling sequence. (line 14)
+* KPATHSEA_WARNING: Config files. (line 18)
+* kpse->debug: Debugging. (line 6)
+* kpse->debug variable: Calling sequence. (line 39)
+* kpse->format_info: Calling sequence. (line 47)
+* kpse->invocation_name: Calling sequence. (line 22)
+* kpse->invocation_short_name: Calling sequence. (line 22)
+* kpse->program_name: Calling sequence. (line 22)
+* KPSE_BITMAP_TOLERANCE: Basic glyph lookup. (line 15)
+* 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_format_info_type: Debugging. (line 61)
+* kpse_init_prog, and MAKETEX_MODE: Default path features.
+ (line 25)
+* kpsewhich: Invoking kpsewhich. (line 6)
+* Kpsewhich, and debugging: Debugging. (line 31)
+* ksh, losing with configure: configure shells. (line 14)
+* LaserJet drive: Kpathsea application distributions.
+ (line 13)
+* last-resort font: Fallback font. (line 6)
+* LaTeX help mailing list: Mailing lists. (line 25)
+* 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 78)
+* lines, reading arbitrary-length: Calling sequence. (line 112)
+* Linux File System Standard: mktex configuration. (line 114)
+* Linux shells and configure: configure shells. (line 19)
+* 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 81)
+* 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)
+* 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 112)
+* metafont driver files: mktex configuration. (line 94)
+* 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 95)
+* MFPOOL: Supported file formats.
+ (line 99)
+* MFTINPUTS: Supported file formats.
+ (line 103)
+* MISCFONTS: Supported file formats.
+ (line 107)
+* mismatched checksum warnings: Suppressing warnings.
+ (line 17)
+* missfont.log: mktex script names. (line 35)
+* MISSFONT_LOG: mktex script names. (line 40)
+* missing character warnings: Suppressing warnings.
+ (line 20)
+* mkocp: mktex script names. (line 18)
+* mkofm: mktex script names. (line 21)
+* mktex script configuration: mktex configuration. (line 6)
+* mktex script names: mktex script names. (line 6)
+* mktex scripts: mktex scripts. (line 6)
+* mktex.cnf <1>: Specially-recognized files.
+ (line 28)
+* mktex.cnf: mktex configuration. (line 29)
+* mktex.opt: mktex configuration. (line 29)
+* mktexdir: mktex configuration. (line 62)
+* mktexfmt: mktex script names. (line 10)
+* mktexmf: mktex script names. (line 15)
+* mktexpk: mktex script names. (line 24)
+* mktexpk , initial runs: Simple installation. (line 79)
+* mktexpk can't guess mode: Unable to generate fonts.
+ (line 12)
+* mktextex: mktex script names. (line 27)
+* mktextfm: mktex script names. (line 30)
+* MLBIBINPUTS: Supported file formats.
+ (line 111)
+* MLBSTINPUTS: Supported file formats.
+ (line 115)
+* mode directory, omitting: mktex configuration. (line 99)
+* Morgan, Tim: History. (line 12)
+* mostlyclean Make target: Cleaning up. (line 10)
+* MPINPUTS: Supported file formats.
+ (line 119)
+* MPMEMS: Supported file formats.
+ (line 87)
+* MPPOOL: Supported file formats.
+ (line 123)
+* MPSUPPORT: Supported file formats.
+ (line 91)
+* MT_FEATURES: mktex configuration. (line 40)
+* 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 25)
+* NeXT sed error: Empty Makefiles. (line 6)
+* NeXT, lacking X11: Kpathsea application distributions.
+ (line 6)
+* NFS and ls-R: ls-R. (line 40)
+* nomfdrivers: mktex configuration. (line 93)
+* nomode: mktex configuration. (line 98)
+* 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 61)
+* numeric debugging values: Debugging. (line 34)
+* obtaining TeX: unixtex.ftp. (line 6)
+* OCPINPUTS: Supported file formats.
+ (line 127)
+* OFMFONTS: Supported file formats.
+ (line 131)
+* online Metafont display, spurious: Unable to generate fonts.
+ (line 36)
+* OPENTYPEFONTS: Supported file formats.
+ (line 135)
+* 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)
+* OTPINPUTS: Supported file formats.
+ (line 141)
+* overview of path searching: Searching overview. (line 6)
+* overview of programming with Kpathsea: Programming overview.
+ (line 6)
+* OVFFONTS: Supported file formats.
+ (line 144)
+* OVPFONTS: Supported file formats.
+ (line 147)
+* 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 24)
+* pc Pascal compiler: History. (line 12)
+* PCL driver: Kpathsea application distributions.
+ (line 13)
+* PDF generation: Kpathsea application distributions.
+ (line 16)
+* pdfglyphlist.txt: Specially-recognized files.
+ (line 31)
+* pdftex.cfg: Specially-recognized files.
+ (line 34)
+* PDFTEXCONFIG: Supported file formats.
+ (line 151)
+* pdftexconfig.tex: Specially-recognized files.
+ (line 34)
+* permission denied: Searching overview. (line 56)
+* permissions, directory: Security. (line 51)
+* permissions, file: Security. (line 47)
+* PKFONTS: Supported file formats.
+ (line 154)
+* 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)
+* 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 53)
+* program-varying paths: Supported file formats.
+ (line 12)
+* 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 160)
+* pxp Pascal preprocessor: History. (line 12)
+* quoting variable values: Variable expansion. (line 17)
+* re-entrant API: Programming overview.
+ (line 16)
+* readable: Suppressing warnings.
+ (line 26)
+* reading arbitrary-length lines: Calling sequence. (line 112)
+* README.CONFIGURE: Running configure. (line 15)
+* 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 47)
+* resolution, setting: Path searching options.
+ (line 17)
+* resolutions, last-resort: Fallback font. (line 6)
+* retrieving TeX: unixtex.ftp. (line 6)
+* right-hand side of variable assignments: Config files. (line 56)
+* Rokicki, Tom: History. (line 12)
+* root user: Tilde expansion. (line 19)
+* 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 31)
+* SELFAUTOLOC: Calling sequence. (line 31)
+* SELFAUTOPARENT: Calling sequence. (line 31)
+* sending patches: Bug checklist. (line 55)
+* setgid scripts: Security. (line 40)
+* SFDFONTS: Supported file formats.
+ (line 164)
+* sh5, ok with configure: configure shells. (line 25)
+* shared library, making: Shared library. (line 6)
+* shell scripts as configuration files: Config files. (line 79)
+* 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 29)
+* 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 176)
+* sources for search paths: Path sources. (line 6)
+* special: Suppressing warnings.
+ (line 30)
+* st_nlink: Subdirectory expansion.
+ (line 26)
+* ST_NLINK_TRICK: Subdirectory expansion.
+ (line 38)
+* stack trace: Bug checklist. (line 61)
+* 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 112)
+* strip: mktex configuration. (line 108)
+* stripsupplier: mktex configuration. (line 102)
+* striptypeface: mktex configuration. (line 105)
+* subdirectory searching: Subdirectory expansion.
+ (line 6)
+* suffixes, filename: File lookup. (line 24)
+* suggestions, making: Introduction. (line 27)
+* Sun 2: History. (line 12)
+* Sun OpenWin patches: ShellWidgetClass. (line 29)
+* supplier directory, omitting: mktex configuration. (line 103)
+* 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 31)
+* 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 200)
+* T1INPUTS: Supported file formats.
+ (line 200)
+* T42FONTS: Supported file formats.
+ (line 205)
+* tcfmgr.map: Specially-recognized files.
+ (line 47)
+* TDS <1>: TeX directory structure.
+ (line 6)
+* TDS: Default path features.
+ (line 41)
+* testing, post-installation: Installation testing.
+ (line 6)
+* tests, simple: Simple installation. (line 79)
+* TeX directory structure <1>: TeX directory structure.
+ (line 6)
+* TeX directory structure: Default path features.
+ (line 41)
+* 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 25)
+* TeX hierarchy, one: configure scenarios. (line 13)
+* TeX support: TeX support. (line 6)
+* TeX Users Group: Introduction. (line 39)
+* tex-file.c: File lookup. (line 37)
+* tex-file.h: Programming overview.
+ (line 24)
+* tex-glyph.c: Glyph lookup. (line 26)
+* tex-glyph.h: Programming overview.
+ (line 24)
+* tex-k-request@tug.org: Mailing lists. (line 7)
+* tex-k@tug.org (bug address): Reporting bugs. (line 8)
+* tex.web: unixtex.ftp. (line 20)
+* 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 173)
+* TEXFONTMAPS: Supported file formats.
+ (line 84)
+* TEXFONTS: Supported file formats.
+ (line 65)
+* texfonts.map: Fontmap. (line 6)
+* TEXFORMATS: Supported file formats.
+ (line 54)
+* TEXINDEXSTYLE: Supported file formats.
+ (line 74)
+* TEXINPUTS: Supported file formats.
+ (line 69)
+* TEXMF: TeX directory structure.
+ (line 6)
+* texmf.cnf: Specially-recognized files.
+ (line 38)
+* texmf.cnf missing, warning about: Config files. (line 18)
+* 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 81)
+* TEXMFDBS: ls-R. (line 6)
+* TEXMFINI: Supported file formats.
+ (line 24)
+* TEXMFLOG: Logging. (line 10)
+* TEXMFOUTPUT: mktex script names. (line 40)
+* TEXMFSCRIPTS: Supported file formats.
+ (line 179)
+* TEXMFVAR: mktex configuration. (line 124)
+* texmfvar: mktex configuration. (line 123)
+* TEXPICTS: Supported file formats.
+ (line 69)
+* TEXPKS: Supported file formats.
+ (line 154)
+* TEXPOOL: Supported file formats.
+ (line 183)
+* TEXPSHEADERS: Supported file formats.
+ (line 160)
+* TEXSIZES: Fallback font. (line 6)
+* TEXSOURCES: Supported file formats.
+ (line 176)
+* TFMFONTS: Supported file formats.
+ (line 187)
+* tilde expansion: Tilde expansion. (line 6)
+* tilde.c: Tilde expansion. (line 25)
+* 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 19)
+* trailing colons: Default expansion. (line 6)
+* TRFONTS: Supported file formats.
+ (line 192)
+* trick for detecting leaf directories: Subdirectory expansion.
+ (line 22)
+* trojan horse attack: Security. (line 10)
+* try_std_extension_first: File lookup. (line 24)
+* TTFONTS: Supported file formats.
+ (line 196)
+* tug.org: unixtex.ftp. (line 6)
+* typeface directory, omitting: mktex configuration. (line 106)
+* 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 20)
+* universe, BSD vs. system V: Running make. (line 44)
+* 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 129)
+* USE_VARTEXFONTS: mktex configuration. (line 119)
+* Usenet TeX newsgroup: Mailing lists. (line 25)
+* USERPROFILE, as ~ expansion: Tilde expansion. (line 6)
+* varfonts: mktex configuration. (line 113)
+* variable expansion: Variable expansion. (line 6)
+* variable.c: Variable expansion. (line 32)
+* variable.h: Programming with config files.
+ (line 10)
+* VARTEXFONTS: mktex configuration. (line 114)
+* VAX 11/750: History. (line 12)
+* version number, of Kpathsea: Kpathsea application distributions.
+ (line 6)
+* version numbers, determining: Bug checklist. (line 15)
+* VF files, not found: Searching overview. (line 31)
+* VFFONTS: Supported file formats.
+ (line 208)
+* VMS support: Custom installation. (line 19)
+* Vojta, Paul: History. (line 30)
+* Walsh, Norman: History. (line 57)
+* warning about unusable ls-R: ls-R. (line 45)
+* warning, about missing texmf.cnf: Config files. (line 18)
+* 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 216)
+* Weber, Olaf: History. (line 74)
+* WEBINPUTS: Supported file formats.
+ (line 212)
+* whitespace, in fontmap files: Fontmap. (line 28)
+* whitespace, not ignored on continuation lines: Config files.
+ (line 37)
+* 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)
+* XDvi: Specially-recognized files.
+ (line 41)
+* XDVIFONTS: Supported file formats.
+ (line 243)
+* XDVIMAKEPK: mktex script names. (line 32)
+* 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: Top1627
+Node: Introduction2269
+Node: History4090
+Node: Installation8182
+Node: Simple installation8972
+Node: Custom installation12555
+Node: Disk space13729
+Node: Kpathsea application distributions14613
+Node: Changing search paths15728
+Node: Default path features16910
+Node: Default path generation18993
+Node: Running configure20436
+Node: configure shells21487
+Node: configure options22539
+Node: configure environment24046
+Node: configure scenarios25848
+Node: Shared library27434
+Node: Running make28448
+Node: Installing files30495
+Node: Cleaning up32442
+Node: Filename database generation33490
+Node: mktex scripts34057
+Node: mktex configuration35334
+Node: mktex script names41153
+Node: mktex script arguments42544
+Node: Installation testing43430
+Node: Security43794
+Node: TeX directory structure46361
+Node: unixtex.ftp50783
+Node: Reporting bugs52117
+Node: Bug checklist52852
+Node: Mailing lists56549
+Node: Debugging57758
+Node: Logging62836
+Node: Common problems64706
+Node: Unable to find files65537
+Node: Slow path searching67948
+Node: Unable to generate fonts69325
+Node: TeX or Metafont failing71834
+Node: Empty Makefiles73713
+Node: XtStrings74950
+Node: dlopen75786
+Node: ShellWidgetClass76604
+Node: Pointer combination warnings78236
+Node: Path searching78625
+Node: Searching overview79272
+Node: Path sources82668
+Node: Config files83739
+Node: Path expansion87666
+Node: Default expansion88615
+Node: Variable expansion90685
+Node: Tilde expansion92088
+Node: Brace expansion93068
+Node: KPSE_DOT expansion93993
+Node: Subdirectory expansion94506
+Node: Filename database96857
+Node: ls-R97911
+Node: Filename aliases100805
+Node: Database format101983
+Node: Invoking kpsewhich102996
+Node: Path searching options103942
+Node: Specially-recognized files112159
+Node: Auxiliary tasks113515
+Node: Standard options115340
+Node: TeX support115696
+Node: Supported file formats116987
+Node: File lookup124541
+Node: Glyph lookup126290
+Node: Basic glyph lookup127414
+Node: Fontmap128293
+Node: Fallback font130910
+Node: Suppressing warnings131823
+Node: Programming132928
+Node: Programming overview133441
+Node: Calling sequence136135
+Node: Program-specific files142658
+Node: Programming with config files143681
+Node: Index144993
+
+End Tag Table
diff --git a/Master/texmf-dist/doc/info/latex2e-es.info b/Master/texmf-dist/doc/info/latex2e-es.info
new file mode 100644
index 00000000000..d6a5b3440d9
--- /dev/null
+++ b/Master/texmf-dist/doc/info/latex2e-es.info
@@ -0,0 +1,8019 @@
+This is latex2e-es.info, produced by makeinfo version 4.13 from
+latex2e-es.texi.
+
+Este documento es un manual de referencia extraoficial para LaTeX, un
+sistema de preparación de documentos, para la versión de Julio 2010.
+
+ Esto se tradujo originalmente del archivo `LATEX.HLP' v1.0a de la
+Biblioteca de Ayuda VMS. La versión pretraducción fue escrita por
+George D. Greenwade de Sam Houston State University. La versión de
+LaTeX 2.09 fue escrita por Stephen Gilmore. La versión de LaTeX2e fue
+adaptada por Torsten Martinsen. Karl Berry hizo la actualización y
+posteriores adiciones, y reconoce su agradecimiento a la utilización de
+`Hypertext Help con LaTeX', por Sheldon Green, y el `LaTeX Command
+Summary' (para LaTeX 2.09) por L. Botway y C. Biemesderfer (publicada
+por el Grupo de Usuarios TeX como `TeXniques' número 10), como material
+de referencia (no se copió texto directamente).
+
+ Copyright © 2010 Nacho Pacheco —Traducción.
+Copyright © 2007, 2008, 2009, 2010 Karl Berry.
+Copyright © 1988, 1994, 2007 Stephen Gilmore.
+Copyright © 1994, 1995, 1996 Torsten Martinsen.
+
+ Se concede permiso para hacer y distribuir copias literales de este
+manual siempre que el aviso de copyright y esta nota de permiso se
+conserven en todas las copias.
+
+ Se concede permiso para copiar y distribuir versiones modificadas de
+este manual bajo las condiciones para una copia literal, a condición de
+que todo el trabajo derivado resultante se distribuya bajo los términos
+de una nota de permiso idéntica a ésta.
+
+ Se concede permiso para copiar y distribuir traducciones de este
+manual a otro idioma, con las condiciones anteriores para versiones
+modificadas.
+
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* LaTeX2e-es: (latex2e-es). Manual de extraoficial de LaTeX.
+END-INFO-DIR-ENTRY
+
+
+File: latex2e-es.info, Node: Top, Next: Descripción, Up: (dir)
+
+LaTeX2e
+*******
+
+Este documento es un manual de referencia extraoficial para LaTeX, un
+sistema de preparación de documentos, versión Julio 2010. Este se
+pretende que cubra LaTeX2e, que ha sido la versión estándar de LaTeX por
+muchos años.
+
+ LaTeX está implementado como un paquete de macros por Donald E.
+Knuth's para el programa de composición tipográfica TeX. LaTeX
+originalmente fue creado por Leslie Lamport; este ahora es mantenido por
+un grupo de voluntarios en (`http://latex-project.org'). La
+documentación oficial escrita por el proyecto LaTeX está disponible
+allí. Una vez más, el presente documento no es oficial y no ha sido
+revisado por los responsables del proyecto LaTeX.
+
+* Menu:
+
+* Descripción:: ¿Qués es LaTeX?
+* Iniciando y Finalizando:: El principio y final estándar de un documento.
+* Clases de Documento:: Algunas de las diferentes clases disponibles.
+* Tipos de Letra:: Y tipos de letra, como negrita, cursiva, etc.
+* Diseño:: Controlando el diseño de la página.
+* Seccionado:: Cómo seccionar adecuadamente.
+* Referencias Cruzadas:: Referencias automáticas.
+* Entornos:: Tal como enumerate e itemize.
+* Saltos de Línea:: Influyendo en los saltos de línea.
+* Saltos de Página:: Influyendo en los saltos de página.
+* Notas al Pie:: Cómo producir notas al pie.
+* Definiciones:: Definiendo sus propias instrucciones, etc.
+* Contadores:: Contadores internos utilizados por LaTeX.
+* Longitudes:: Las instrucciones de longitud.
+* Haciendo Párrafos:: Instrucciones de Párrafo.
+* Fórmulas Matemáticas:: Cómo crear fórmulas matemáticas.
+* Modos:: Modos Párrafo, Matemáticas o de Escritura de Izquierda a Derecha.
+* Estilos de Página:: Varios estilos de diseño de página.
+* Espacios:: Espacio horizontal y vertical.
+* Cajas:: Haciendo cajas.
+* Inserciones Especiales:: Insertando caracteres reservados y especiales.
+* Dividiendo la Entrada:: Manejo de archivos de gran tamaño mediante su fraccionamiento.
+* Asuntos de Portada/Contraportada:: Tablas de contenido, glosarios, índices.
+* Cartas:: La clase letter.
+* Entrada/Salida a la Terminal:: Interacción del usuario.
+* Línea de Órdenes:: Comportamiento independiente del sistema de la línea de órdenes.
+* Plantillas de Documento:: Principales plantillas para diversas clases de documento.
+* Ãndice de Conceptos:: Ãndice general.
+* Ãndice de Instrucciones:: Lista alfabética de instrucciones LaTeX.
+
+
+File: latex2e-es.info, Node: Descripción, Next: Iniciando y Finalizando, Prev: Top, Up: Top
+
+1 Descripción de LaTeX
+**********************
+
+Las instrucciones LaTeX componen tipográficamente un archivo de texto
+usando el programa TeX y el “paquete de macros†LaTeX para TeX. Para
+ser más específicos, este procesa un archivo de entrada que contiene el
+texto de un documento con instrucciones intercaladas que describen cómo
+se debe dar formato al texto. Este produce al menos tres archivos de
+salida:
+
+ 1. Un archivo de salida principal, que es uno de:
+
+ 1. Si se invoca como `latex', un archivo “independiente del
+ dispositivo†(`.dvi'). Este contiene las instrucciones que se
+ pueden traducir en órdenes para una variedad de dispositivos
+ de salida. Usted puede ver estos archivos `.dvi' producidos
+ por LaTeX utilizando un programa como `xdvi' (visualización
+ directa) o `dvips' (los convierte a PostScript).
+
+ 2. Si es invocado como `pdflatex', produce un archivo de
+ “Documento de Formato Portátil†(`.pdf'). Normalmente, este
+ es un archivo autocontenido, con todos los tipos de letra e
+ imágenes incrustadas. Este puede ser muy útil, pero hace que
+ produzca un archivo mucho más grande que el `.dvi' producido a
+ partir del mismo documento.
+
+ Existen otras variantes menos comunes de LaTeX (y TeX), de modo que
+ puede producir HTML, XML y otras cosas.
+
+ 2. Un archivo de“transcripción†o `.log' que contiene información
+ resumida y mensajes de diagnóstico para cualquier error descubierto
+ en el archivo de entrada.
+
+ 3. Un archivo “auxiliar†o `.aux'. Este es usado por LaTeX mismo, para
+ diversas cosas como el seccionado.
+
+ Una instrucción LaTeX comienza con el nombre de la instrucción, la
+cual consiste de una `\' seguida por o bien (a) una cadena de letras o
+(b) un único carácter no letra. Los argumentos que figuran entre
+corchetes, `[]', son opcionales, mientras que los argumentos contenidos
+entre llaves, `{}', son obligatorios.
+
+ LaTeX es sensible a mayúsculas y minúsculas. Ingrese todas las
+instrucciones en minúsculas a menos que explícitamente se diga otra
+cosa.
+
+
+File: latex2e-es.info, Node: Iniciando y Finalizando, Next: Clases de Documento, Prev: Descripción, Up: Top
+
+2 Iniciando y Finalizando
+*************************
+
+Un archivo de entrada mínimo tiene el siguiente aspecto:
+
+ \documentclass{clase}
+ \begin{document}
+ su texto
+ \end{document}
+
+donde clase es una clase de documento válida para LaTeX. *Note Clases
+de Documento::, para detalles de varias clases de documento disponibles
+localmente.
+
+ Usted puede incluir otras instrucciones LaTeX entre las instrucciones
+`\documentclass' y `\begin{document}' (esta área se llama el
+"preámbulo").
+
+
+File: latex2e-es.info, Node: Clases de Documento, Next: Tipos de Letra, Prev: Iniciando y Finalizando, Up: Top
+
+3 Clases de Documento
+*********************
+
+La clase de un determinado documento se define con la instrucción:
+
+ \documentclass[opciones]{clase}
+
+La instrucción `\documentclass' debe ser la primer instrucción en un
+archivo fuente LaTeX.
+
+ Los nombres integrados de clases de documento LaTeX (muchas otras
+clases de documento están disponibles como complementos; *note
+Descripción::):
+
+ article report book letter slides
+
+ Las opciones estándar están descritas más adelante.
+
+* Menu:
+
+* Opciones de Clase de Documento:: Opciones globales.
+
+
+File: latex2e-es.info, Node: Opciones de Clase de Documento, Up: Clases de Documento
+
+3.1 Opciones de Clase de Documento
+==================================
+
+Usted puede especificar las así llamadas "opciones globales" u "opciones
+de clase" en la instrucción `\documentclass' encerrándolas entre
+corchetes de la manera usual. Para especificar más de una opción,
+deberá separarlas con una coma:
+
+ \documentclass[opción1,opción2,...]{clase}
+
+ Esta es la lista de las opciones de clase estándar.
+
+ Todas las clases estándar salvo `slides' aceptan las siguientes
+opciones para seleccionar el tamaño del tipo de letra (el predeterminado
+es `10pt'):
+
+ 10pt 11pt 12pt
+
+ Todas las clases estándar aceptan estas opciones para seleccionar el
+tamaño del papel (el predeterminado es `letterpaper'):
+
+ a4paper a5paper b5paper executivepaper legalpaper letterpaper
+
+ Otras opciones diversas:
+
+`draft, final'
+ marca/no marca el desbordamiento de cajas con una gran caja negra;
+ el predeterminado es `final'.
+
+`fleqn'
+ Coloca las fórmulas mostradas alineadas a la izquierda; el
+ predeterminado es centrado.
+
+`landscape'
+ Selecciona el formato apaisado; el predeterminado es vertical.
+
+`leqno'
+ Coloca los números de ecuación en el lado izquierdo de las
+ ecuaciones; el predeterminado es el lado derecho.
+
+`openbib'
+ Usa el formato de bibliografía “abiertoâ€.
+
+`titlepage, notitlepage'
+ Especifica si la página de título es independiente; de manera
+ predeterminada depende de la clase.
+
+ Estas opciones no están disponibles con la clase slides:
+
+`onecolumn'
+`twocolumn'
+ Composición tipográfica en una o dos columnas; el predeterminado es
+ `onecolumn'.
+
+`oneside'
+`twoside'
+ Selecciona el diseño de una o dos caras; el predeterminado es
+ `oneside', excepto para la clase `book'.
+
+ El parámetro `\evensidemargin' (`\oddsidemargin' determina la
+ distancia en páginas par (impar) numeradas entre el lado izquierdo
+ de la página y el margen excedente del texto. Los valores
+ predeterminados varían con el tamaño del papel y si el diseño
+ seleccionado es de uno o dos lados. Para imprimir texto en un lado
+ es centrado, para dos lados, `\oddsidemargin' es 40% de la
+ diferencia entre `\paperwidth' y `\textwidth' con el resto de
+ `\evensidemargin'.
+
+`openright'
+`openany'
+ Determina si un capítulo debe iniciar en una página del lado
+ derecho; para book, el predeterminado es `openright'.
+
+ La clase `slides' ofrece la opción `clock' para imprimir la hora en
+la parte inferior de cada nota.
+
+ Los paquetes adicionales se cargan de la siguiente manera:
+
+ \usepackage[opciones]{paquete}
+
+ Para especificar más de un paquete, usted puede separarlos con una
+coma, o utilizar múltiples instrucciones`\usepackage'.
+
+ Cualquiera de las opciones que figuran en la instrucción
+`\documentclass' que no son conocidas por la clase de documento
+seleccionada son transmitidas a los paquetes cargados con `\usepackage'.
+
+
+File: latex2e-es.info, Node: Tipos de Letra, Next: Diseño, Prev: Clases de Documento, Up: Top
+
+4 Tipos de Letra
+****************
+
+Dos aspectos importantes de la selección de un "tipo de letra" son la
+especificación del tamaño y el estilo. Las instrucciones LaTeX para
+hacer esto se describen a continuación.
+
+* Menu:
+
+* Estilos del Tipo de Letra:: Seleccionar romana, cursiva, etc.
+* Tamaños del Tipo de Letra:: Seleccionando el tamaño del punto.
+* Instrucciones de Bajo Nivel para el Tipo de Letra:: Seleccionando codificación, familia, series, apariencia.
+
+
+File: latex2e-es.info, Node: Estilos del Tipo de Letra, Next: Tamaños del Tipo de Letra, Up: Tipos de Letra
+
+4.1 Estilos del Tipo de Letra
+=============================
+
+Las siguientes instrucciones para el estilo del tipo de letra son
+compatibles con LaTeX.
+
+ Estas instrucciones se utilizan como `\textit{texto en cursiva}'.
+Las instrucciones correspondientes entre paréntesis son la “forma
+declarativaâ€, la cual no toma argumentos. El ámbito de aplicación de la
+forma de declaración dura hasta la instrucción “end†del estilo del tipo
+de letra o hasta el final del grupo actual.
+
+ Las formas declarativas son acumulativas; es decir, usted puede decir
+ya sea `\sffamily\bfseries' o `\bfseries\sffamily' para obtener sans
+serif en negrita.
+
+ También puede utilizar la forma de entorno de las formas
+declarativas; por ejemplo, `\begin{ttfamily}...\end{ttfamily}'.
+
+`\textrm (\rmfamily)'
+ Romana.
+
+`\textit (\itshape)'
+ cursivas.
+
+`\emph'
+ Énfasis (cambia entre `\textit' y `\textrm').
+
+`\textmd (\mdseries)'
+ Peso medio (predeterminado).
+
+`\textbf (\bfseries)'
+ Negrita.
+
+`\textup (\upshape)'
+ Vertical (predeterminado). Lo opuesto a inclinada.
+
+`\textsl (\slshape)'
+ Oblicua.
+
+`\textsf (\sffamily)'
+ Sans serif.
+
+`\textsc (\scshape)'
+ Versales.
+
+`\texttt (\ttfamily)'
+ Máquina de escribir.
+
+`\textnormal (\normalfont)'
+ Tipo de letra principal del documento.
+
+`\mathrm'
+ Romana, para usar en modo math.
+
+`\mathbf'
+ Negrita, para usarse en modo math.
+
+`\mathsf'
+ Sans serif, para usarse en modo math.
+
+`\mathtt'
+ Máquina de escribir, para usarse en modo math.
+
+`\mathit'
+`(\mit)'
+ cursivas, para utilizarse en modo math.
+
+`\mathnormal'
+ Para usarse en modo math, por ejemplo dentro de otra declaración de
+ estilo de letra.
+
+`\mathcal'
+ Letras `caligráficas', para usarse en modo math.
+
+ Además, la instrucción `\mathversion{bold}' se pude utilizar para
+cambiar a letras y símbolos en negrita dentro de fórmulas.
+`\mathversion{normal}' restablece el valor predeterminado.
+
+ LaTeX también proporciona estas instrucciones, que incondicionalmente
+cambian a determinado estilo, es decir, _no_ son acumulativas. Estas se
+utilizan de forma diferente que las instrucciones anteriores, también:
+`{\instrucción ...}' en lugar de `\instrucción{...}'. Son dos cosas muy
+distintas.
+
+`\bf'
+ Cambia a tipo de letra negrita.
+
+`\cal'
+ Cambia a letras caligráficas para math.
+
+`\em'
+ Énfasis (cursivas con romana, romana con cursivas).
+
+`\it'
+ cursivas.
+
+`\rm'
+ Romana.
+
+`\sc'
+ Versales.
+
+`\sf'
+ Sans serif.
+
+`\sl'
+ Oblicua (oblicua).
+
+`\tt'
+ Máquina de escribir (monoespacio, de ancho fijo).
+
+
+File: latex2e-es.info, Node: Tamaños del Tipo de Letra, Next: Instrucciones de Bajo Nivel para el Tipo de Letra, Prev: Estilos del Tipo de Letra, Up: Tipos de Letra
+
+4.2 Tamaños del Tipo de Letra
+=============================
+
+Las siguientes instrucciones para el tamaño del tipo de letra estándar
+son compatibles con LaTeX. La tabla muestra el nombre de la instrucción
+y el tamaño real (en puntos) del tipo de letra correspondiente utilizado
+con las opciones de tamaño del documento `10pt', `11pt' y `12pt',
+respectivamente (*note Opciones de Clase de Documento:: ).
+
+Instrucción `10pt' `11pt' `12pt'
+---------------------------------------------------------
+`\tiny' 5 6 6
+`\scriptsize' 7 8 8
+`\footnotesize' 8 9 10
+`\small' 9 10 10.95
+`\normalsize' (predeterminado) 10 10.95 12
+`\large' 12 12 14.4
+`\Large' 14.4 14.4 17.28
+`\LARGE' 14.4 14.4 17.28
+`\huge' 20.74 20.74 24.88
+`\Huge' 24.88 24.88 24.88
+
+ Las instrucciones tal como están listadas aquí son “formas
+declarativasâ€. El ámbito de aplicación de la forma declarativa dura
+hasta la instrucción “end†del estilo del tipo de letra o hasta el final
+del grupo actual. También puede utilizar la forma de entorno en estas
+instrucciones; por ejemplo, `\begin{tiny}...\end{tiny}'.
+
+
+File: latex2e-es.info, Node: Instrucciones de Bajo Nivel para el Tipo de Letra, Prev: Tamaños del Tipo de Letra, Up: Tipos de Letra
+
+4.3 Instrucciones de Bajo Nivel para el Tipo de Letra
+=====================================================
+
+Estas instrucciones están destinadas principalmente para los escritores
+de macros y paquetes. Las instrucciones listadas anteriormente son sólo
+un subconjunto de las disponibles.
+
+`\fontencoding{codificación}'
+ Selecciona la codificación del tipo de letra. Las codificaciones
+ válidas incluyen a `OT1' y `T1'.
+
+`\fontfamily{familia}'
+ Selecciona la familia del tipo de letra. Las familias válidas
+ incluyen:
+
+ • `cmr' para Romana de Computadora Moderna
+
+ • `cmss' para Sans Serif de Computadora Moderna
+
+ • `cmtt' para Máquina de Escribir de Computadora Moderna
+
+ y muchas otras.
+
+`\fontseries{series}'
+ Selecciona las series del tipo de letra. Las series válidas
+ incluyen:
+
+ • `m' Mediana (normal)
+
+ • `b' Negrita
+
+ • `c' Condensada
+
+ • `bc' Negrita condensada
+
+ • `bx' Negrita extendida
+
+ y otras combinaciones diferentes.
+
+`\fontshape{forma}'
+ Selecciona la forma del tipo de letra. Las formas válidas son:
+
+ • `n' Vertical (normal)
+
+ • `it' Cursiva
+
+ • `sl' Oblicua (oblicua)
+
+ • `sc' Versales
+
+ • `ui' Cursiva vertical
+
+ • `ol' Esquema
+
+ Las dos últimas formas no están disponibles para la mayoría de las
+ familias de tipos de letra.
+
+`\fontsize{tamaño}{espaciado}'
+ Establece el tamaño de letra. El primer parámetro es el tamaño a
+ cambiar el tipo de letra y el segundo es el espaciado de línea a
+ usar; este se almacena en un parámetro denominado `\baselineskip'.
+ La unidad de ambos parámetros de manera predeterminada es pt. El
+ valor predeterminado de `\baselineskip' para el tipo de letra
+ Computadora Moderna es 1.2 veces `\fontsize'.
+
+ El interlineado de espacio doble también es multiplicado por el
+ valor del parámetro `\baselinestretch' cuando cambia el tamaño del
+ tipo de letra; el predeterminado es 1. Sin embargo, la mejor
+ manera de hacer un documento con “doble espacioâ€, si tiene la
+ suficiente mala suerte de tener que producirlo, es usar el paquete
+ `setspace'; vea
+ `http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespace'.
+
+`\linespread{factor}'
+ Equivalente a `\renewcommand{\baselinestretch}{factor}', y por lo
+ tanto debe estar seguido por `\selectfont' para que tenga algún
+ efecto. Es mejor especificarlo en el preámbulo, o utilizar el
+ paquete `setspace', justo como se acaba de describir anteriormente.
+
+ Las modificaciones introducidas por llamar a la fuente de las
+ instrucciones descritas anteriormente no entrará en vigor sino
+ hasta que se invoque a `\selectfont'.
+
+`\usefont{codificación}{familia}{series}{forma}'
+ Lo mismo que invocar a `\fontencoding', `\fontfamily',
+ `\fontseries' y `\fontshape' con los parámetros dados, seguida por
+ `\selectfont'.
+
+
+File: latex2e-es.info, Node: Diseño, Next: Seccionado, Prev: Tipos de Letra, Up: Top
+
+5 Diseño
+********
+
+Varias instrucciones para controlar el diseño general de la página.
+
+* Menu:
+
+* \onecolumn:: Utiliza un diseño de una columna.
+* \twocolumn:: Utiliza un diseño de dos columanas.
+* \flushbottom:: Hace que todas las páginas del texto tengan la misma altura.
+* \raggedbottom:: Permite que las páginas de texto tengan diferente altura.
+* Parámetros para el Diseño de Página:: \headheight \footskip.
+
+
+File: latex2e-es.info, Node: \onecolumn, Next: \twocolumn, Up: Diseño
+
+5.1 `\onecolumn'
+================
+
+La declaración `\onecolumn' comienza una nueva página y la produce con
+una sola columna. Este es el valor predeterminado.
+
+
+File: latex2e-es.info, Node: \twocolumn, Next: \flushbottom, Prev: \onecolumn, Up: Diseño
+
+5.2 `\twocolumn'
+================
+
+Sinopsis:
+
+ \twocolumn[textocolumna1]
+
+ La declaración `\twocolumn' comienza una nueva página y la produce
+con dos columnas. Si el argumento opcional textocolumna1 está presente,
+esta es compuesta en modo de una columna antes de comenzar la
+composición de las dos columnas.
+
+ Estos parámetros controlan la tipografía en la producción de dos
+columnas:
+
+`\columnsep'
+ La distancia entre las columnas (de manera predeterminada a 35pt).
+
+`\columnseprule'
+ El ancho de la regla entre columnas; el predeterminado es 0pt, por
+ lo tanto no hay regla.
+
+`\columnwidth'
+ El ancho de la columna actual; este es igual a `\textwidth' en
+ texto de una sola columna.
+
+ Estos parámetros controlan el comportamiento de la flotación de las
+dos columnas producidas:
+
+`\dbltopfraction'
+ Máxima fracción en la parte superior de una página de dos columna
+ que pueden ocupar los flotantes. El predeterminado es `.7', puede
+ ser útil redefinirlo a (digamos) `.9' para evitar llegar tan pronto
+ a páginas flotantes.
+
+`\dblfloatpagefraction'
+ La mínima fracción de una página con flotantes que deben ocupar los
+ flotantes, para una página de dos columnas con flotantes. El
+ predeterminado es `.5'.
+
+`\dblfloatsep'
+ Distancia entre flotantes en la parte superior o inferior de una
+ página de dos columnas con flotantes. Predeterminado a `12pt
+ plus2pt minus2pt' para `10pt' y `11pt' para documentos, `14pt
+ plus2pt minus4pt' para `12pt'.
+
+`\dbltextfloatsep'
+ Distancia entre un flotante multicolumna en la parte superior o
+ inferior de una página y el texto principal. De manera
+ predeterminada es `20pt plus2pt minus4pt'.
+
+
+File: latex2e-es.info, Node: \flushbottom, Next: \raggedbottom, Prev: \twocolumn, Up: Diseño
+
+5.3 `\flushbottom'
+==================
+
+La declaración `\flushbottom' hace que todas las páginas tengan la misma
+altura, añadiendo espacio vertical extra donde sea necesario para llenar
+la página.
+
+ Este es el predeterminado si se selecciona el modo `twocolumn' (*note
+Opciones de Clase de Documento::).
+
+
+File: latex2e-es.info, Node: \raggedbottom, Next: Parámetros para el Diseño de Página, Prev: \flushbottom, Up: Diseño
+
+5.4 `\raggedbottom'
+===================
+
+La declaración `\raggedbottom' hace que todas las páginas tengan la
+altura natural del material en esa página. Sin longitudes flexibles que
+se deban ajustar.
+
+
+File: latex2e-es.info, Node: Parámetros para el Diseño de Página, Prev: \raggedbottom, Up: Diseño
+
+5.5 Parámetros para el Diseño de Página
+=======================================
+
+`\headheight'
+ Altura de la caja que contiene el encabezado. El predeterminado es
+ `30pt', salvo en la clase `book', donde este varía con el tamaño de
+ letra.
+
+`\headsep'
+ Distancia vertical entre la línea inferior de la cabecera y la
+ parte superior del texto principal. El predeterminado es `25pt',
+ salvo en la clase `book', donde este varía con el tamaño de letra.
+
+`\footskip'
+ Distancia desde la línea base de la última línea de texto a la
+ línea base del pié de página. El predeterminado es `30pt', salvo
+ en la clase `book', donde este varía con el tamaño de letra.
+
+`\linewidth'
+ Ancho de la línea actual; el predeterminado varía con el tamaño de
+ fuente, el ancho del papel, el modo two-column, etc. Para un
+ documento `article' en `10pt', este se establece a `345pt'; en modo
+ two-column, este cambia a `229.5pt'.
+
+`\textheight'
+ La altura vertical normal del cuerpo de la página; el
+ predeterminado varía con el tamaño de letra, clase de documento,
+ etc. Para un documento `article' o `report' en `10pt', este se
+ fija a `43\baselineskip'; para `book', es `41\baselineskip'. Para
+ `11pt', es `38\baselineskip' y para `12pt', `36\baselineskip'.
+
+`\textwidth'
+ El ancho horizontal normal del cuerpo de la página; el
+ predeterminado varía de la manera usual. Para un documento
+ `article' o `report', es `345pt' en `10pt', `360pt' en `11pt' y
+ `390pt' en `12pt'. Para un documento `book', es `4.5in' en `10pt'
+ y `5in' en `11pt' o `12pt'.
+
+`\topmargin'
+ Espacio entre la parte superior de la página TeX (de manera
+ predeterminada, una pulgada en la parte superior del papel) y en la
+ parte superior del encabezado. El predeterminado se calcula
+ basándose en muchos otros parámetros: `\paperheight − 2in −
+ \headheight − \headsep − \textheight − \footskip', y luego se
+ divide entre dos.
+
+`\topskip'
+ La distancia mínima entre la parte superior del cuerpo de la página
+ y la línea base de la primer línea de texto. Para clases estándar,
+ el predeterminado es el mismo que el tamaño de letra, por ejemplo,
+ `10pt' en `10pt'.
+
+
+File: latex2e-es.info, Node: Seccionado, Next: Referencias Cruzadas, Prev: Diseño, Up: Top
+
+6 Seccionado
+************
+
+Las instrucciones de seccionado proporcionan los medios para estructurar
+su texto en unidades:
+
+`\part'
+
+`\chapter'
+ (únicamente las clases report y book)
+
+`\section'
+
+`\subsection'
+
+`\subsubsection'
+
+`\paragraph'
+
+`\subparagraph'
+
+ Todas las instrucciones de seccionado tienen la misma forma general,
+por ejemplo,
+
+ \chapter[títulobreve]{título}
+
+ Además de proporcionar el encabezado título en el texto principal, el
+título de la sección puede aparecer en otros dos lugares:
+
+ 1. La tabla de contenido.
+
+ 2. El título breve en la parte superior de la página.
+
+ Tal vez no quiera el mismo texto en estos lugares como en el texto
+principal. Para controlar esto, las instrucciones de seccionado tienen
+un argumento opcional, toctitle que, cuando se proporciona, especifica
+el texto de esos otros lugares.
+
+ Además, todas las instrucciones de seccionado tienen formas con `*'
+que imprimen el título de la manera usual, pero no incluyen un número y
+no producen una entrada en la tabla de contenido. Por ejemplo:
+
+ \section*{Preámbulo}
+
+ La instrucción `\appendix' cambia la manera en que se numeran las
+siguientes unidades de sección. La instrucción `\appendix' en sí misma
+no genera texto y no afecta la númeración de las partes. El uso normal
+de esta instrucción es algo así como:
+
+ \chapter{Un Capítulo}
+ …
+ \appendix
+ \chapter{El Primer Apéndice}
+
+ El contador `secnumdepth' controla la impresión de los números de
+sección. La configuración
+
+ \setcounter{secnumdepth}{nivel}
+
+suprime los números en encabezados y cualquier profundidad > nivel,
+donde `chapter' es el nivel cero. (*Note \setcounter::.)
+
+
+File: latex2e-es.info, Node: Referencias Cruzadas, Next: Entornos, Prev: Seccionado, Up: Top
+
+7 Referencias Cruzadas
+**********************
+
+Una razón para numerar cosas como figuras y ecuaciones es para referir
+al lector a ellas, como en “Vea la Figura 3 para más detallesâ€.
+
+* Menu:
+
+* \label:: Asigna un nombre simbólico a una parte del texto.
+* \pageref:: Referencia a un número de página.
+* \ref:: Referencia a una sección, figura o similar.
+
+
+File: latex2e-es.info, Node: \label, Next: \pageref, Up: Referencias Cruzadas
+
+7.1 `\label'
+============
+
+Sinopsis:
+
+ \label{clave}
+
+ Una instrucción `\label' que aparece en un texto normal asigna a
+clave el número de la unidad de sección actual; que aparece dentro de un
+entorno numerado asignando ese número a clave.
+
+ Un nombre de clave puede consistir de cualquier secuencia de letras,
+dígitos, o caracteres de puntuación. Distingue entre letras mayúsculas
+y minúsculas.
+
+ Para evitar la creación accidental de dos etiquetas con el mismo
+nombre, es común el uso de etiquetas que consisten de un prefijo y un
+sufijo, separados por una coma o un punto. Algunos prefijos utilizados
+convencionalmente:
+
+`ch'
+ para capítulos
+
+`sec'
+ para instrucciones de seccionado de bajo nivel
+
+`fig'
+ para figuras
+
+`tab'
+ para tablas
+
+`eq'
+ para ecuaciones
+
+ Por lo tanto, una etiqueta para una figura parecería como `fig:snark'
+o `fig.snark'.
+
+
+File: latex2e-es.info, Node: \pageref, Next: \ref, Prev: \label, Up: Referencias Cruzadas
+
+7.2 `\pageref{clave}'
+=====================
+
+Sinopsis:
+
+ \pageref{clave}
+
+ La instrucción `\pageref'{clave} produce el número de página del
+lugar en el texto en donde aparece la instrucción `\label'{clave}.
+
+
+File: latex2e-es.info, Node: \ref, Prev: \pageref, Up: Referencias Cruzadas
+
+7.3 `\ref{clave}'
+=================
+
+Sinopsis:
+
+ \ref{clave}
+
+ La instrucción `\ref' produce el número de la unidad de sección de la
+ecuación, pie de página, figura, …, de la instrucción `\label'
+correspondiente (*note \label::). Esta no produce ningún texto, como
+por ejemplo la palabra `Sección' o `figura', únicamente el número.
+
+
+File: latex2e-es.info, Node: Entornos, Next: Saltos de Línea, Prev: Referencias Cruzadas, Up: Top
+
+8 Entornos
+**********
+
+LaTeX proporciona muchos entornos para marcar cierto texto. Cada
+entorno comienza y termina de la misma manera:
+
+ \begin{nombreentorno}
+ ...
+ \end{nombreentorno}
+
+* Menu:
+
+* abstract:: Produce un resumen.
+* array:: Matrices Matemáticas.
+* center:: Líneas centradas.
+* description:: Listas etiquetadas.
+* displaymath:: Fórmulas que aparecen en su propia línea.
+* document:: Encierra todo el documento.
+* enumerate:: Listas numeradas.
+* eqnarray:: Secuencias de ecuaciones alineadas.
+* equation:: Ecuación mostrada.
+* figure:: Figuras flotantes.
+* flushleft:: Líneas alineada a la izquierda.
+* flushright:: Líneas alineadas a la derecha.
+* itemize:: Listas con viñetas.
+* letter:: Cartas
+* list:: Entorno lista genérica.
+* math:: Matemáticas en línea.
+* minipage:: Página miniatura.
+* picture:: Imagen con texto, flechas, líneas y círculos.
+* quotation:: Entorno con sangría y párrafo con sangría.
+* quote:: Entorno con sangría sin sangría de párrafo.
+* tabbing:: Alineación de texto de manera arbitraria.
+* table:: Tablas flotantes.
+* tabular:: Alinea texto en columnas.
+* thebibliography:: Bibliografía o lista de referencia.
+* theorem:: Teoremas, lemas, etc.
+* titlepage:: Para elaborar portadas a mano.
+* verbatim:: Simulación de entrada con máquina de escribir.
+* verse:: Para poesía y otras cosas.
+
+
+File: latex2e-es.info, Node: abstract, Next: array, Up: Entornos
+
+8.1 `abstract'
+==============
+
+Sinopsis:
+ \begin{abstract}
+ ...
+ \end{abstract}
+
+ Entorno para producir un resumen, posiblemente de varios párrafos.
+
+
+File: latex2e-es.info, Node: array, Next: center, Prev: abstract, Up: Entornos
+
+8.2 `array'
+===========
+
+Sinopsis:
+
+ \begin{array}{plantilla}
+ texto col1&texto col1&coln}\\
+ ...
+ \end{array}
+
+ Las matrices matemáticas se producen con el entorno `array',
+normalmente dentro de un entorno `equation' (*note equation::). Tiene
+un único argumento plantilla obligatorio que describe el número de
+columnas y la alineación dentro de ellas. Cada columna col se
+especifica por una sola letra que indica el número de elementos y deben
+tener el formato de la siguiente manera:
+
+`c'
+ centrada
+
+`l'
+ alineada a la izquierda
+
+`r'
+ alineada a la derecha
+
+ La entradas de columna son separadas con `&'. Las entradas de
+columna pueden incluir otras instrucciones LaTeX. Cada fila de la
+matriz se termina con `\\'.
+
+ En la plantilla, la construcción `@{texto}' coloca texto entre
+columnas en cada fila.
+
+ He aquí un ejemplo:
+
+ \begin{equation}
+ \begin{array}{lrc}
+ izquierda1 & derecha1 & centrado1 \\
+ izquierda2 & derecha2 & centrado2 \\
+ \end{array}
+ \end{equation}
+
+ El parámetro `\arraycolsep' define la mitad del ancho del espacio de
+separación entre columnas; el predeterminado es `5pt'. *Note tabular::,
+para otros parámetros que afectan el formato en entornos `array', a
+saber `\arrayrulewidth' y `\arraystretch'.
+
+ El entorno `array' únicamente se puede utilizar en modo math.
+
+
+File: latex2e-es.info, Node: center, Next: description, Prev: array, Up: Entornos
+
+8.3 `center'
+============
+
+Sinopsis:
+
+ \begin{center}
+ línea1 \\
+ línea2 \\
+ \end{center}
+
+ El entorno `center' le permite crear un párrafo consistente de líneas
+que están centradas respecto al margen izquierdo y derecho de la página
+actual. Cada línea es terminada con dobles barras inversas `\\'.
+
+* Menu:
+
+* \centering:: Forma declarativa para el entorno `center'.
+
+
+File: latex2e-es.info, Node: \centering, Up: center
+
+8.3.1 `\centering'
+------------------
+
+La declaración `\centering' corresponde al entorno `center'. Esta
+declaración se puede utilizar dentro de un entorno tal como `quote' o en
+un `parbox'. Por lo tanto, el texto de una figura o una tabla se puede
+centrar en la página poniendo una instrucción `\centering' al principio
+de la figura o en el entorno table.
+
+ A diferencia del entorno `center', la instrucción `\centering' no
+comienza un nuevo párrafo; esta simplemente cambia el formato que LaTeX
+aplica a las unidades de párrafo. Para afectar el formato de la unidad
+de párrafo, el alcance de la declaración debe contener una línea en
+blanco o la instrucción `\end' (de un entorno tal como quote), que
+finaliza la unidad de párrafo.
+
+ He aquí un ejemplo:
+
+ \begin{quote}
+ \centering
+ primer línea \\
+ segunda línea \\
+ \end{quote}
+
+
+File: latex2e-es.info, Node: description, Next: displaymath, Prev: center, Up: Entornos
+
+8.4 `description'
+=================
+
+Sinopsis:
+
+ \begin{description}
+ \item [etiqueta1] elemento1
+ \item [etiqueta2] elemento2
+ ...
+ \end{description}
+
+ El entorno `description' se utiliza para hacer listas etiquetadas.
+Cada etiqueta es compuesta tipográficamente en negrita, alineada a la
+derecha. El texto del elemento puede contener múltiples párrafos.
+
+ Otra variación: debido a que el estilo negrita se aplica a las
+etiquetas, si usted compone una etiqueta en máquina de escribir usando
+`\texttt', obtendrá una máquina de escribir en negrita:
+`\item[\texttt{máquina de escribir y negrita}]'. Esta también puede
+estar en negrita, entre otras cuestiones. Para obtener sólo en máquina
+de escribir, use `\tt', que restablece todas las variaciones de otros
+estilos: `\item[{\tt máquina de escribir simple}]'.
+
+ Para detalles acerca del espaciado en listas, vea *note itemize::.
+
+
+File: latex2e-es.info, Node: displaymath, Next: document, Prev: description, Up: Entornos
+
+8.5 `displaymath'
+=================
+
+Sinopsis:
+
+ \begin{displaymath}
+ fórmula matemática
+ \end{displaymath}
+
+o
+
+ \[math\]
+
+ El entorno `displaymath' (`\[...\]' es un sinónimo) de composición
+tipográfica de texto math en una línea independiente, centrada de manera
+predeterminada. La opción global `fleqn' produce ecuaciones alineadas a
+la izquierda; vea *note Opciones de Clase de Documento::.
+
+ No se añade un número de ecuación al texto de `displaymath'; Para
+obtener un número de ecuación, utilice el entorno `equation' (*note
+equation::).
+
+
+File: latex2e-es.info, Node: document, Next: enumerate, Prev: displaymath, Up: Entornos
+
+8.6 `document'
+==============
+
+El entorno `document' encierra el cuerpo de un documento. este es
+obligatorio en cada documento LaTeX. *Note Iniciando y Finalizando::.
+
+
+File: latex2e-es.info, Node: enumerate, Next: eqnarray, Prev: document, Up: Entornos
+
+8.7 `enumerate'
+===============
+
+Sinopsis:
+
+ \begin{enumerate}
+ \item elemento1
+ \item elemento2
+ ...
+ \end{enumerate}
+
+ El entorno `enumerate' produce una lista numerada. Las enumeraciones
+se pueden anidar unas dentro de otras, hasta cuatro niveles de
+profundidad. Estas también se pueden anidar en otros entornos de
+párrafo, tal como `itemize' (*note itemize::) y `description' (*note
+description::).
+
+ Cada elemento de una lista enumerada comienza con una instrucción
+`\item'. En el entorno por lo menos debe haber una instrucción `\item'.
+
+ De manera predeterminada, la numeración de cada nivel se hace de la
+siguiente manera:
+
+ 1. 1., 2., …
+
+ 2. (a), (b), …
+
+ 3. i., ii., …
+
+ 4. A., B., …
+
+ El entorno `enumerate' usa los contadores `\enumi' hasta `\enumiv'
+(*note Contadores::). Si se proporciona el argumento opcional a
+`\item', el contador no se incrementa por cada elemento.
+
+ El entorno `enumerate' utiliza las instrucciones desde `\labelenumi'
+hasta `\labelenumiv' para producir la etiqueta predeterminada. Por lo
+tanto, usted puede usar `\renewcommand' para cambiar las etiquetas
+(*note \newcommand y \renewcommand::). Por ejemplo, para hacer que el
+primer nivel use letras mayúsculas:
+
+ \renewcommand{\labelenumi}{\Alph{enumi}}
+
+
+File: latex2e-es.info, Node: eqnarray, Next: equation, Prev: enumerate, Up: Entornos
+
+8.8 `eqnarray'
+==============
+
+ \begin{eqnarray} (o `eqnarray*')
+ fórmula1 \\
+ fórmula2 \\
+ ...
+ \end{eqnarray}
+
+ El entorno `eqnarray' se utiliza para mostrar una secuencia de
+ecuaciones o desigualdades. Es muy parecido a un entorno `array' de
+tres columnas, con filas consecutivas separadas por `\\' y elementos
+consecutivos en una fila, separados por un `&'.
+
+ también puede utilizar `\\*' para separar ecuaciones independientes,
+con su propósito normal de no permitir saltos de página en esa línea.
+
+ Se coloca un número de ecuación en cada línea a menos que la línea
+tenga una instrucción `\nonumber'. Alternativamente, la forma del
+entorno con `*' (`\begin{eqnarray*} ... \end{eqnarray*}') debe omitir
+por completo la numeración de la ecuación, al tiempo que el mismo
+comienza con `eqnarray'.
+
+ La instrucción `\lefteqn' se utiliza para dividir grandes fórmulas a
+través de varias líneas. Su argumento de composición tipográfica en el
+estilo de visualización alinea a la izquierda en una caja de ancho cero.
+
+
+File: latex2e-es.info, Node: equation, Next: figure, Prev: eqnarray, Up: Entornos
+
+8.9 `equation'
+==============
+
+Sinopsis:
+
+ \begin{equation}
+ fórmula-matemática
+ \end{equation}
+
+ El entorno `equation' comienza un entorno `displaymath' (*note
+displaymath::), por ejemplo, centrando en la página el texto math, y
+además colocando el número de ecuación en el margen derecho.
+
+
+File: latex2e-es.info, Node: figure, Next: flushleft, Prev: equation, Up: Entornos
+
+8.10 `figure'
+=============
+
+ \begin{figure[*]}[úbicación]
+ figbody
+ \label{etiqueta}
+ \caption[títulobreve]{texto}
+ \end{figure}
+
+ Las figuras son objetos que no forman parte del texto normal, y en su
+lugar son “flotados†a un lugar conveniente, como en la parte superior
+de una página. Las figuras no se dividen entre dos páginas.
+
+ Cuando se compone tipográficamente en columnas dobles, la forma
+favorita produce un ancho completo (a través de las dos columnas).
+
+ El argumento opcional `[ubicación]' determina donde debe tratar de
+colocar LaTeX su figura. Hay cuatro lugares donde LaTeX, posiblemente,
+pueda colocar un flotante:
+
+`t'
+ (Top)—en lo alto de una página de texto.
+
+`b'
+ (Bottom)—en la parte inferior de una página de texto. No obstante,
+ `b' no se permite para flotantes de ancho completo (`figure*') en
+ entornos con columnas dobles. Para mejorar esto, utilice el
+ paquete `stfloats' o `dblfloatfix', pero vea el debate de
+ advertencias en el FAQ:
+ `http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat'.
+
+`h'
+ (Here)—aquí, en la posición donde aparece el entorno figure en el
+ texto. Sin embargo, este no está permitido por sí mismo,
+ automáticamente se añade `t'. Para forzar que una figura
+ absolutamente aparezca “aquíâ€, utilice el paquete `float' y use la
+ letra de ubicación `H'. (Este paquete también ofrece otras
+ opciones).
+
+`p'
+ (Página de flotantes)—en una página de flotantes separada, misma
+ que es una página que no contiene texto, únicamente flotantes.
+
+ Las clases estándar report y article utilizan la ubicación
+predeterminada `tbp'.
+
+ El cuerpo de la figura se compone de cualquier texto, instrucciones
+LaTeX, etc., que desee.
+
+ La instrucción `\caption' especifica el texto del título de la
+figura. El título de manera predeterminada lleva el número. Si
+loftitle está presente, esta se utiliza en la lista de figuras en lugar
+del texto (*note Tablas de Contenido::).
+
+ La fracción máxima de la página que se permite sea ocupada por
+ flotantes en la parte inferior; el predeterminado es `.3'.
+
+`\floatpagefraction'
+ La fracción mínima de una página flotante que deben ocupar los
+ flotantes; predeterminado a `.5'.
+
+`\floatsep'
+ Espacio entre flotantes en la parte superior o inferior de una
+ página; predeterminado a `12pt plus2pt minus2pt'.
+
+`\intextsep'
+ Espacio por encima y por debajo de un flotante en medio del texto
+ principal; predeterminado a `12pt plus2pt minus2pt' para estilos de
+ `10pt' y `11pt', `14pt plus4pt minus4pt' para `12pt'.
+
+`\textfloatsep'
+ Espacio entre el último/primero flotante en la parte
+ superior/inferior de una página; de manera predeterminada a `20pt
+ plus2pt minus4pt'.
+
+`\textfraction'
+ Mínima fracción de una página que debe ser texto; si los flotantes
+ ocupan mucho espacio preserva tanto texto como sea posible, para
+ que los flotantes sean trasladados a una página diferente. El
+ predeterminado es `.2'.
+
+`\topfraction'
+ Máxima fracción en la parte superior de una página que se puede
+ ocupar antes de los flotantes; el predeterminado es `.7'.
+
+
+File: latex2e-es.info, Node: flushleft, Next: flushright, Prev: figure, Up: Entornos
+
+8.11 `flushleft'
+================
+
+ \begin{flushleft}
+ línea1 \\
+ línea2 \\
+ ...
+ \end{flushleft}
+
+ El entorno `flushleft' le permite crear un párrafo consistente de
+líneas que están alineadas en el margen de la mano izquierda y no están
+justificadas a la derecha. Cada línea se debe terminar con `\\'.
+
+* Menu:
+
+* \raggedright:: Forma declarativa del entorno `flushleft'.
+
+
+File: latex2e-es.info, Node: \raggedright, Up: flushleft
+
+8.11.1 `\raggedright'
+---------------------
+
+La declaración `\raggedright' corresponde al entorno `flushleft'. Esta
+declaración se puede utilizar dentro de un entorno tal como `quote' o en
+un `parbox'.
+
+ A diferencia del entorno `flushleft', la instrucción `\raggedright'
+no comienza un nuevo párrafo; esta únicamente cambia como aplica LaTeX
+el formato a las unidades de párrafo. Para afectar el formato de la
+unidad párrafo, el alcance de la declaración debe contener una línea en
+blanco o la instrucción `\end' que termina la unidad de párrafo.
+
+
+File: latex2e-es.info, Node: flushright, Next: itemize, Prev: flushleft, Up: Entornos
+
+8.12 `flushright'
+=================
+
+ \begin{flushright}
+ línea1 \\
+ línea2 \\
+ ...
+ \end{flushright}
+
+ El entorno `flushright' le permite crear un párrafo consistente de
+líneas que están alineadas en el margen a mano derecha e irregulares a
+la izquierda. Cada línea se debe terminar con `\\'.
+
+* Menu:
+
+* \raggedleft:: Forma declarativa del entorno `flushright'.
+
+
+File: latex2e-es.info, Node: \raggedleft, Up: flushright
+
+8.12.1 `\raggedleft'
+--------------------
+
+La declaración `\raggedleft' corresponde al entorno `flushright'. Esta
+declaración se puede utilizar dentro de un entorno tal como `quote' o en
+un `parbox'.
+
+ A diferencia del entorno `flushright', la instrucción `\raggedleft'
+no comienza un nuevo párrafo; esta únicamente cambia como aplica LaTeX
+el formato a las unidades de párrafo. Para afectar el formato de la
+unidad párrafo, el alcance de la declaración debe contener una línea en
+blanco o la instrucción `\end' que termina la unidad de párrafo.
+
+
+File: latex2e-es.info, Node: itemize, Next: letter, Prev: flushright, Up: Entornos
+
+8.13 `itemize'
+==============
+
+Sinopsis:
+
+ \begin{itemize}
+ \item elemento1
+ \item elemento2
+ ...
+ \end{itemize}
+
+ El entorno `itemize' produce una lista “no ordenadaâ€, “con viñetasâ€.
+Se pueden anidar entorno itemize dentro de otros, hasta cuatro niveles
+de profundidad. También se pueden anidar en otros entornos que marcan
+párrafos, tal como `enumerate' (*note enumerate::).
+
+ Cada elemento de una lista `itemize' comienza con una instrucción
+`\item'. En el entorno por lo menos debe haber una instrucción `\item'.
+
+ De forma predeterminada, las marcas en cada nivel tienen esta
+apariencia:
+
+ 1. • (bala)
+
+ 2. -- (guión en negrita)
+
+ 3. * (asterisco)
+
+ 4. . (punto centrado, aquí representado como un punto)
+
+ El entorno `itemize' utiliza las instrucciones desde `\labelitemi'
+hasta `\labelitemiv' para producir la etiqueta predeterminada. De modo
+que, usted puede usar `\renewcommand' para cambiar las etiquetas. Por
+ejemplo, para que en primer nivel utilice diamantes:
+
+ \renewcommand{\labelitemi}{$\diamond$}
+
+ Los parámetros desde `\leftmargini' hasta `\leftmarginvi' definen la
+distancia entre el margen izquierdo del entorno envolvente y el margen
+izquierdo de la lista. Por convención, `\leftmargin' se fija al
+`\leftmarginN' adecuado cuando ingresa a un nuevo nivel de anidamiento.
+
+ El predeterminado varía desde `.5em' (el nivel de anidamiento
+superior) a `2.5em' (el primer nivel), y se reduce un poco en modo
+two-column. En este ejemplo se reduce mucho el espacio del margen para
+las listas anidadas:
+
+ \setlength{\leftmargini}{1.25em} % predeterminado 2.5em
+
+ Algunos parámetros que afectan el formato de la lista:
+
+`\itemindent'
+ Sangrado extra antes de cada elemento de una lista; predeterminado
+ a cero.
+
+`\labelsep'
+ Espacio entre la etiqueta y el texto de un elemento; predeterminado
+ a `.5em'.
+
+`\labelwidth'
+ Ancho de la etiqueta; predeterminado a `2em', o `1.5em' en modo
+ two-column.
+
+`\listparindent'
+ Sangría extra añadida al segundo y subsecuentes párrafos, dentro de
+ un elemento de la lista; predeterminado a `0pt'.
+
+`\rightmargin'
+ Distancia horizontal entre el margen derecho de la lista y el
+ entorno envolvente; de manera predeterminada `0pt', salbo en los
+ entornos `quote', `quotation' y `verse', donde se hace igual a
+ `\leftmargin'.
+
+ Parámetros que afectan el espaciamiento vertical entre elementos de
+la lista (más bien libre, de manera predeterminada).
+
+`\itemsep'
+ Espacio vertical entre elementos. El predeterminado es `2pt
+ plus1pt minus1pt' para `10pt' documentos, `3pt plus2pt minus1pt'
+ para `11pt' y `4.5pt plus2pt minus1pt' para `12pt'.
+
+`\parsep'
+ Espacio vertical extra entre párrafos dentro de un elemento de la
+ lista. Los predeterminados son los mismos que para `\itemsep'.
+
+`\topsep'
+ Espacio vertical entre el primer elemento y el párrafo anterior.
+
+ Para listas de nivel superior, el predeterminado es `8pt plus2pt
+ minus4pt' para `10pt' documentos, `9pt plus3pt minus5pt' para
+ `11pt' y `10pt plus4pt minus6pt' para `12pt'. Estos se reducen en
+ listas anidadas.
+
+`\partopsep'
+ Espacio extra añadido a `\topsep' cuando el entorno lista comienza
+ un párrafo. El valor predeterminado es `2pt plus1pt minus1pt' para
+ `10pt' documentos, `3pt plus1pt minus1pt' para `11pt' y `3pt
+ plus2pt minus2pt' para `12pt'.
+
+ Sobre todo para listas con elementos cortos, puede ser conveniente
+eludir los espacios entre ellos. He aquí un ejemplo de una definición
+del entorno `itemize*' sin espacio extra entre elementos o entre
+párrafos dentro de un solo elemento (`\parskip' no es específico de la
+lista, *note \parskip::):
+
+ \newenvironment{itemize*}%
+ {\begin{itemize}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\parsep}{0pt}}%
+ \setlength{\parskip}{0pt}}%
+ {\end{itemize}}
+
+
+File: latex2e-es.info, Node: letter, Next: list, Prev: itemize, Up: Entornos
+
+8.14 Entorno `letter': Escribiendo Cartas
+=========================================
+
+Este entorno se utiliza para crear cartas. *Note Cartas::.
+
+
+File: latex2e-es.info, Node: list, Next: math, Prev: letter, Up: Entornos
+
+8.15 `list'
+===========
+
+El entorno `list' es un entorno genérico que se utiliza para definir
+mucho de los entornos más específicos. Este rara vez se utiliza en
+documentos, pero a muy menudo en las macros.
+
+ \begin{list}{etiquetado}{espaciado}
+ \item elemento1
+ \item elemento2
+ ...
+ \end{list}
+
+ El argumento obligatorio etiquetado especifica como se deben
+etiquetar los elementos (a menos que se especifique el argumento
+opcional `\item'). Este argumento es una pieza de texto que se inserta
+en una caja para formar la etiqueta. Este se puede y suele contener
+otras instrucciones LaTeX.
+
+ El argumento obligatorio spacing contiene instrucciones para cambiar
+los parámetros de espaciado para la lista. Este argumento por lo
+regular está vacío, es decir, `{}', lo cual deja el espaciado
+predeterminado.
+
+
+File: latex2e-es.info, Node: math, Next: minipage, Prev: list, Up: Entornos
+
+8.16 `math'
+===========
+
+Sinopsis:
+
+ \begin{math}
+ fórmula-matemática
+ \end{math}
+
+ El entorno `math' inserta la fórmula math dada dentro del texto
+actual. `\(...\))' y `$...$' son sinónimos. *Note Fórmulas
+Matemáticas::.
+
+
+File: latex2e-es.info, Node: minipage, Next: picture, Prev: math, Up: Entornos
+
+8.17 `minipage'
+===============
+
+ \begin{minipage}[posición][alto][pos-interna]{ancho}
+ texto
+ \end{minipage}
+
+ El entorno `minipage' compone tipográficamente su cuerpo de texto en
+un bloque que no debe abarcar varias páginas. Este es similar a la
+instrucción `\parbox' (*note \parbox::), pero a diferencia de `\parbox',
+se pueden utilizar otros entornos de marcado de párrafos dentro de una
+minipágina.
+
+ Los argumentos son los mismos que para `\parbox' (*note \parbox::).
+
+ De forma predeterminada, en el entorno `minipage' los párrafos no
+tienen sangría. Usted puede restablecer la sangría con una instrucción
+tal como `\setlength{\parindent}{1pc}'.
+
+ La notas al pie en un entorno `minipage' son manipuladas de una
+manera que es especialmente útil para poner notas en figuras o tablas.
+Una instrucción `\footnote' o `\footnotetext' coloca la nota al pie en
+la parte inferior de la minipágina en lugar de en la parte inferior de
+la página, y esta utiliza el contador `\mpfootnote' en lugar del
+contador normal `footnote' (*note Contadores::).
+
+ No obstante, no ponga una minipágina dentro de otra si usted está
+usando notas al pie; estas pueden terminar mal en la parte inferior de
+la minipágina.
+
+
+File: latex2e-es.info, Node: picture, Next: quotation, Prev: minipage, Up: Entornos
+
+8.18 `picture'
+==============
+
+ \begin{picture}(ancho,alto)(desplazamiento x,desplazamiento y)
+ … instrucciones de imagen …
+ \end{picture}
+
+ El entorno `picture' le permite crear casi cualquier clase de imagen
+que desee que contenga su texto, lineas, flechas y círculos. Usted le
+dice a LaTeX dónde colocar las cosas en la imagen especificando sus
+coordenadas. Una coordenada es un número que puede tener un punto
+decimal y un signo menos — un número como `5', `0.3' o `-3.1416'. Una
+coordenada especifica una longitud en múltiplos de la unidad de longitud
+`\unitlength', por lo que si `\unitlength' se ha establecido en `1cm',
+entonces la coordenada 2.54 especifica una longitud de 2.54 centímetros.
+Sólo debe cambiar el valor de `\unitlength', utilizando la instrucción
+`\setlength', fuera del entorno `picture'.
+
+ Una posición es un par de coordenadas, por ejemplo, `(2.4, -5)', que
+especifican el punto con coordenada x `2.4' y coordenada y `-5'. Las
+coordenadas se especifican en la forma habitual con respecto a un
+origen, que normalmente está en la esquina inferior izquierda de la
+imagen. Tenga en cuenta que cuando una posición se presenta como un
+argumento, no se encierra entre llaves; los paréntesis sirven para
+delimitar el argumento.
+
+ El entorno `picture' tiene un argumento obligatorio, el cual es una
+`posición'. este especifica el tamaño de la imagen. El entorno produce
+una caja rectangular con la anchura y altura determinada por los
+argumentos de las coordenadas x e y.
+
+ El entorno `picture' también tiene un argumento opcional `posición',
+seguido del argumento `tamaño', que puede cambiar el origen. (A
+diferencia de los argumentos opcionales, este argumento no está
+contenido entre corchetes). El argumento opcional proporciona las
+coordenadas del punto en la esquina inferior izquierda de la imagen (con
+el cual se determina el origen). Por ejemplo, si `\unitlength' se ha
+fijado a `1mm', la instrucción
+
+ \begin{picture}(100,200)(10,20)
+
+produce una imagen de 100 milímetros de ancho y 200 milímetros de
+altura, cuya esquina inferior izquierda está en el punto (10,20) y cuya
+esquina superior derecha está en el punto (110,220). La primera vez que
+haga un dibujo, normalmente se omite el argumento opcional, dejando el
+origen en el ángulo inferior izquierdo. Si a continuación desea
+modificar su imagen, trasladando todo, basta con añadir el argumento
+opcional apropiado.
+
+ El argumento obligatorio del entorno determina el tamaño nominal de
+la imagen. Esta no necesita tener ninguna relación con el tamaño de la
+imagen real; Felizmente LaTeX le permitirá poner cosas fuera de la
+imagen, o incluso fuera de la página. El tamaño nominal de la imagen lo
+utiliza LaTeX para determinar cuánto espacio dejar para ello.
+
+ Todo lo que aparece en una imagen es dibujado por la instrucción
+`\put'. La instrucción
+
+ \put (11.3,-.3){...}
+
+coloca el objeto especificado por `...' en la imagen, con su punto de
+referencia en las coordenadas (11.3, -.3). Los puntos de referencia
+para distintos objetos se describen a continuación.
+
+ La instrucción `\put' crea una "caja LR". Puede poner cualquier cosa
+que vaya en una `\mbox' (*note \mbox::) en el argumento texto de la
+instrucción `\put'. Al hacer esto, el punto de referencia será la
+esquina inferior izquierda de la caja.
+
+ Las instrucciones para `picture' están descritas en las siguientes
+secciones.
+
+* Menu:
+
+* \circle:: Dibuja un círculo.
+* \makebox (imagen):: Dibuja un cuadro del tamaño especificado.
+* \framebox (imagen):: Dibuja una caja rodeada con un marco.
+* \dashbox:: Dibuja un cuadro de líneas discontinuas.
+* \frame:: Dibuja un marco alrededor de un objeto.
+* \line:: Dibuja una línea recta.
+* \linethickness:: Ajusta el grosor de la línea.
+* \thicklines:: Una línea de espesor más grueso.
+* \thinlines:: El grosor de la línea predeterminado.
+* \multiput:: Dibuja varias instancias de un objeto.
+* \oval:: Dibuja una elipse.
+* \put:: Coloca un objeto en un determinado lugar.
+* \shortstack:: Hace un montón de objetos.
+* \vector:: Dibuja una línea con una flecha.
+
+
+File: latex2e-es.info, Node: \circle, Next: \makebox (imagen), Up: picture
+
+8.18.1 `\circle'
+----------------
+
+ \circle[*]{diámetro}
+
+ La instrucción `\circle' produce un círculo con un diámetro lo más
+cercano posible al especificado. La forma con `*' de la instrucción
+dibuja un círculo sólido.
+
+ Se pueden dibujar círculos de hasta 40 pt.
+
+
+File: latex2e-es.info, Node: \makebox (imagen), Next: \framebox (imagen), Prev: \circle, Up: picture
+
+8.18.2 `\makebox'
+-----------------
+
+`\makebox(ancho,alto)[posición]{...}'
+
+ La instrucción `\makebox' para el entorno picture es similar a la
+instrucción normal `\makebox' excepto que usted debe especificar el
+`ancho' y `alto' en múltiplos de `\unitlength'.
+
+ El argumento opcional, `[posición]', especifica el cuadrante en el
+que debe aparecer el texto. Usted puede seleccionar hasta dos de los
+siguientes:
+
+`t'
+ Mueve el elemento a la parte superior del rectángulo.
+
+`b'
+ Mueve el elemento a la parte inferior.
+
+`l'
+ Mueve el elemento a la izquierda.
+
+`r'
+ Mueve el elemento hacia la derecha.
+
+ *Note \makebox::.
+
+
+File: latex2e-es.info, Node: \framebox (imagen), Next: \dashbox, Prev: \makebox (imagen), Up: picture
+
+8.18.3 `\framebox'
+------------------
+
+Sinopsis:
+
+ \framebox(ancho,alto)[posición]{...}
+
+ La instrucción `\framebox' es como `\makebox' (vea la sección
+anterior), excepto que esta coloca un marco en el exterior alrededor de
+la caja que crea.
+
+ La instrucción `\framebox' produce una regla de espesor `\fboxrule',
+y deja un espacio `\fboxsep' entre la regla y el contenido de la caja.
+
+
+File: latex2e-es.info, Node: \dashbox, Next: \frame, Prev: \framebox (imagen), Up: picture
+
+8.18.4 `\dashbox'
+-----------------
+
+Dibuja un cuadro con una línea discontinua. Sinopsis:
+
+ \dashbox{dlargo}(rancho,ralto)[posición]{texto}
+
+ `\dashbox' crea un rectángulo discontinuo alrededor del texto en un
+entorno `picture'. Los guiones son de dlargo unidades de largo, y el
+rectángulo tiene una anchura total de rancho y una altura de ralto. El
+texto es posicionado en la posición opcional.
+
+ Un cuadro de líneas discontinuas se ve mejor cuando `rancho' y
+`ralto' son múltiplos de `dlargo'.
+
+
+File: latex2e-es.info, Node: \frame, Next: \line, Prev: \dashbox, Up: picture
+
+8.18.5 `\frame'
+---------------
+
+Sinopsis:
+
+ \frame{texto}
+
+ La instrucción `\frame' coloca un marco rectangular alrededor de
+texto. El punto de referencia es la esquina inferior izquierda del
+marco. No añade espacio extra entre el marco y el objeto.
+
+
+File: latex2e-es.info, Node: \line, Next: \linethickness, Prev: \frame, Up: picture
+
+8.18.6 `\line'
+--------------
+
+Sinopsis:
+
+ \line(declivex,declivey){longitud}
+
+ La instrucción `\line' dibuja una línea con la longitud dada y
+declive declivex/declivey.
+
+ LaTeX estándar únicamente puede dibujar líneas con declive = x/y,
+donde x y y tienen valores enteros desde −6 hasta 6. Para líneas de
+cualquier declive, por no hablar de otras formas, vea el paquete
+`curve2e' y muchos, muchos otros paquetes en CTAN.
+
+
+File: latex2e-es.info, Node: \linethickness, Next: \thicklines, Prev: \line, Up: picture
+
+8.18.7 `\linethickness'
+-----------------------
+
+La instrucción `\linethickness{espesor}' declara el grosor de las líneas
+horizontales y verticales en un entorno picture para que sean de
+espesor, el cual debe ser una longitud positiva.
+
+ `\linethickness' no afecta el espesor de las líneas inclinadas,
+círculos o los cuartos de círculo dibujados por `\oval'.
+
+
+File: latex2e-es.info, Node: \thicklines, Next: \thinlines, Prev: \linethickness, Up: picture
+
+8.18.8 `\thicklines'
+--------------------
+
+La instrucción `\thicklines' es un espesor de línea alternativo para
+líneas horizontales y verticales en un entorno picture; compárese *note
+\linethickness:: y *note \thinlines::.
+
+
+File: latex2e-es.info, Node: \thinlines, Next: \multiput, Prev: \thicklines, Up: picture
+
+8.18.9 `\thinlines'
+-------------------
+
+La instrucción `\thinlines' es el espesor de línea predeterminado para
+líneas horizontales y verticales en un entorno picture; compárese *note
+\linethickness:: y *note \thicklines::.
+
+
+File: latex2e-es.info, Node: \multiput, Next: \oval, Prev: \thinlines, Up: picture
+
+8.18.10 `\multiput'
+-------------------
+
+Sinopsis:
+ \multiput(x,y)(delta_x,delta_y){n}{obj}
+
+ La instrucción `\multiput' copia el objeto obj en un patrón regular
+entre imágenes. primero se coloca obj en la posición (x,y), luego en la
+posición (x+\delta x,y+\delta y) y así sucesivamente, n veces.
+
+
+File: latex2e-es.info, Node: \oval, Next: \put, Prev: \multiput, Up: picture
+
+8.18.11 `\oval'
+---------------
+
+Sinopsis:
+
+ \oval(ancho,alto)[porción]
+
+ La instrucción `\oval' produce un rectángulo con esquinas
+redondeadas. El argumento opcional porción le permite seleccionar la
+parte del óvalo vía las siguientes letras:
+
+`t'
+ selecciona la parte superior;
+
+`b'
+ selecciona la parte inferior;
+
+`r'
+ selecciona la parte derecha;
+
+`l'
+ selecciona la parte izquierda.
+
+ Las “esquinas†del óvalo se hacen con cuartos de círculo con un radio
+máximo de 20pt, por lo tanto los “óvalos†grandes se parecen más a cajas
+con esquinas redondeadas.
+
+
+File: latex2e-es.info, Node: \put, Next: \shortstack, Prev: \oval, Up: picture
+
+8.18.12 `\put'
+--------------
+
+`\put(x coord,y coord){ ... }'
+
+ La instrucción `\put' coloca el elemento especificado por el
+argumento obligatorio en las coordenadas proporcionadas.
+
+
+File: latex2e-es.info, Node: \shortstack, Next: \vector, Prev: \put, Up: picture
+
+8.18.13 `\shortstack'
+---------------------
+
+Sinopsis:
+
+ \shortstack[posición]{...\\...\\...}
+
+ La instrucción `\shortstack' produce un montón de objetos. Las
+posiciones válidas son:
+
+`r'
+ Mueve los objetos a la derecha de la pila.
+
+`l'
+ Mueve los objetos a la izquierda de la pila
+
+`c'
+ Mueve los objetos hacia el centro de la pila (predeterminado)
+
+ Los objetos son separados con `\\'.
+
+
+File: latex2e-es.info, Node: \vector, Prev: \shortstack, Up: picture
+
+8.18.14 `\vector'
+-----------------
+
+Sinopsis:
+
+ \vector(declive-x,declive-y){longitud}
+
+ La instrucción `\vector' dibuja una línea con una flecha de la
+longitud y declive especificados. Los valores x e y deben estar entre
+−4 y +4 incluido.
+
+
+File: latex2e-es.info, Node: quotation, Next: quote, Prev: picture, Up: Entornos
+
+8.19 `quotation'
+================
+
+Sinopsis:
+
+ \begin{quotation}
+ texto
+ \end{quotation}
+
+ A los márgenes del entorno `quotation' se les aplica una sangría en
+ambos lados izquierdo y derecho. El texto está justificado en ambos
+márgenes. Dejar una línea en blanco entre el texto produce un nuevo
+párrafo.
+
+ A diferencia del entorno `quote', cada párrafo normalmente tiene
+sangría.
+
+
+File: latex2e-es.info, Node: quote, Next: tabbing, Prev: quotation, Up: Entornos
+
+8.20 `quote'
+============
+
+Sinopsis:
+
+ \begin{quote}
+ texto
+ \end{quote}
+
+ A los márgenes del entorno `quote' se les aplica una sangría en ambos
+lados izquierdo y derecho. El texto está justificado en ambos márgenes.
+Dejar una línea en blanco entre el texto produce un nuevo párrafo.
+
+ A diferencia del entorno `quotation', a los párrafos no se les aplica
+una sangría.
+
+
+File: latex2e-es.info, Node: tabbing, Next: table, Prev: quote, Up: Entornos
+
+8.21 `tabbing'
+==============
+
+Sinopsis:
+
+ \begin{tabbing}
+ fila1col1 \= fila1col2 \= fila1col3 \= fila1col4 \\
+ fila2col1 \> \> fila2col3 \\
+ ...
+ \end{tabbing}
+
+ El entorno `tabbing' proporciona una manera de alinear el texto en
+columnas. Funciona mediante el establecimiento de tabuladores y
+tabulación tanto como si se hubiera hecho en una máquina de escribir
+común. Es el más adecuado para los casos en que el ancho de cada
+columna es constante y conocido de antemano.
+
+ Este entorno se puede dividir en varias páginas, a diferencia del
+entorno `tabular'.
+
+ Las siguientes instrucciones se pueden utilizar dentro de un entorno
+`tabbing':
+
+`\\ tabbing'
+ Final de línea.
+
+`\= (tabbing)'
+ Establece una tabulación en la posición actual.
+
+`\> (tabbing)'
+ Avanza a la siguiente tabulación.
+
+`\<'
+ Coloca el siguiente texto a la izquierda del margen local (sin
+ necesidad de cambiar el margen). Sólo se puede usar al comienzo de
+ la línea.
+
+`\+'
+ Mueve hacia la derecha el margen izquierdo del siguiente y todas
+ las subsecuentes instrucciones de tabulación, empezando la línea de
+ tabulación, de ser necesario.
+
+`\-'
+ Mueve el margen izquierdo hacia la izquierda de la siguiente y
+ todas las subsecuentes instrucciones de tabulación, comenzando con
+ la línea de tabulación si es necesario.
+
+`\' (tabbing)'
+ Mueve todo lo que ha escrito hasta ahora en la columna actual, es
+ decir, cualquier cosa desde la instrucción `\>', `\<', `\'', `\\' o
+ `\kill' más reciente, a la derecha de la columna anterior, a ras de
+ la tabulación de la columna actual.
+
+`\` (tabbing)'
+ Permite poner texto alineado a la derecha contra cualquier
+ tabulación, incluyendo la tabulación 0. Sin embargo, no puede
+ mover el texto a la derecha de la última columna porque allí no hay
+ tabulación. La instrucción `\`' mueve todo el texto que le sigue,
+ hasta la instrucción `\\' o `\end{tabbing}' que termina la línea,
+ al margen derecho del entorno tabbing. No debe haber instrucción
+ `\>' o `\'' entre el `\`' y la instrucción que termina la línea.
+
+`\a (tabbing)'
+ En un entorno `tabbing', las instrucciones `\=', `\'' y `\`' no
+ producen acentos en la manera usual (*note Acentos::). En su
+ lugar, se utilizan estas instrucciones `\a=', `\a'' y `\a`'.
+
+`\kill'
+ Fija una tabulación sin producir texto. Trabaja igual que `\\'
+ salvo que esta desecha la línea actual en lugar de producir algo
+ útil. El efecto de cualquier instrucción `\=', `\+' o `\-' en esa
+ línea seguirá en vigor.
+
+`\poptabs'
+ Restaura las posiciones de tabulación salvadas por la última
+ `\pushtabs'.
+
+`\pushtabs'
+ Guarda todas las posiciones de tabulación actuales. Útil para
+ cambiar temporalmente las posiciones de tabulación en medio de un
+ entorno `tabbing'.
+
+`\tabbingsep'
+ Distancia a la izquierda de la tabulación movida por `\''.
+
+ En este ejemplo se compone tipográficamente una función de Pascal en
+el formato tradicional:
+
+ \begin{tabbing}
+ function \= fact(n : integer) : integer;\\
+ \> begin \= \+ \\
+ \> if \= n $>$ 1 then \+ \\
+ fact := n * fact(n-1) \- \\
+ else \+ \\
+ fact := 1; \-\- \\
+ end;\\
+ \end{tabbing}
+
+
+File: latex2e-es.info, Node: table, Next: tabular, Prev: tabbing, Up: Entornos
+
+8.22 `table'
+============
+
+Sinopsis:
+
+ \begin{table}[ubicación]
+
+ cuerpo de la tabla
+
+ \caption{título de la tabla}
+ \end{table}
+
+ Las tablas son objetos que no forman parte del texto normal, y por lo
+general “flotan†a un lugar conveniente, como la parte superior de una
+página. Las tablas no se dividen en dos páginas.
+
+ El argumento opcional `[ubicación]' determina dónde LaTeX trata de
+colocar su tabla. Hay cuatro lugares donde LaTeX, posiblemente, pueda
+colocar un flotante:; estos son los mismo que los utilizados con el
+entorno `figure', y se describen allí (*note figure::).
+
+ Las clases `report' y `article' estándar utilizan la ubicación
+`[tbp]' predeterminada.
+
+ El cuerpo de la tabla se compone de cualquier texto, instrucciones
+LaTeX, etc., que usted desee. La instrucción `\caption' le permite
+colocar un título a su tabla.
+
+
+File: latex2e-es.info, Node: tabular, Next: thebibliography, Prev: table, Up: Entornos
+
+8.23 `tabular'
+==============
+
+Sinopsis:
+
+ \begin{tabular}[ubicación]{columnas}
+ columna 1 entrada & columna 2 entrada ... & columna n entrada n \\
+ ...
+ \end{tabular}
+
+ o
+
+ \begin{tabular*}{ancho}[posición]{columnas}
+ columna 1 entrada & columna 2 entrada ... & columna n entrada n \\
+ ...
+ \end{tabular*}
+
+ Estos entornos producen una caja consiste de una secuencia de filas
+de elementos, alineadas verticalmente en columnas.
+
+ Se debe utilizar `\\' para especificar el final de cada fila de la
+tabla, salvo por la última, en que esta es opcional —a menos que le siga
+una instrucción `\hline' (para colocar una raya bajo la tabla).
+
+ Los argumentos obligatorios y opcionales consisten de:
+
+`ancho'
+ Especifica la anchura del entorno `tabular*'. Este debe tener
+ espacio entre las columnas que se puede estirar para llenar el
+ ancho especificado.
+
+`posición'
+ Especifica la posición vertical; de manera predeterminada alinea al
+ centro el entorno.
+
+ `t'
+ alineado en la fila superior
+
+ `b'
+ alineado en la fila inferior
+
+`columnas'
+ Especifica el formato de columna. Este consiste en una secuencia
+ de los siguientes especificadores, correspondientes a la secuencia
+ de columnas y el material intercolumna.
+
+ `l'
+ Una columna de elementos alineados a la izquierda.
+
+ `r'
+ Una columna de elementos alineados a la derecha.
+
+ `'
+ Una columna de elementos centrados.
+
+ `|'
+ Una línea vertical que llena la altura y profundidad total del
+ entorno.
+
+ `@{texto}'
+ Esta inserta texto en cada fila. Una @-expresión suprime el
+ espacio intercolumnas insertado normalmente entre columnas;
+ cualquier espacio deseado entre el texto insertado y los
+ elementos adyacentes se deberá incluir en texto. Una
+ instrucción `\extracolsep{ancho}' en una @-expresión provoca
+ que aparezca un espacio extra de ancho `ancho' a la izquierda
+ de todas las columnas subsecuentes, hasta que se anule por
+ otra instrucción `\extracolsep'. A diferencia del espacio
+ intercolumna ordinario, este espacio adicional no se suprime
+ por una @-expresión. Una instrucción `\extracolsep'
+ únicamente se pude utilizar en una @-expresión en el argumento
+ `columnas'.
+
+ `p{ancho}'
+ Produce una columna con cada elemento compuesto
+ tipográficamente en una parbox de ancho ancho, como si fuera
+ el argumento de una instrucción `\parbox[t]{ancho}'. Sin
+ embargo, una `\\' en el elemento no puede, salvo en las
+ siguientes situaciones:
+
+ 1. Dentro de un entorno como `minipage', `array' o
+ `tabular'.
+
+ 2. Dentro de una `\parbox' explícita.
+
+ 3. En el alcance de una declaración `\centering',
+ `\raggedright' o `\raggedleft'. La última declaración
+ debe aparecer dentro de llaves o un entorno cuando se
+ utiliza en un elemento `p'-columna.
+
+ `*{número}{columnas}'
+ Equivalente a número de copias de columnas, donde número es un
+ entero positivo y columnas es cualquier lista de
+ especificadores de columna, la cual puede contener otra
+ `*-expresión'.
+
+ Parámetros que controlan el formato:
+
+`\arrayrulewidth'
+ El espesor de la línea creada por `|', `\hline' y `\vline' en los
+ entornos `tabular' y `array'; el predeterminado es `.4pt'.
+
+`\arraystretch'
+ El factor para escalar el espaciado entre hileras en los entornos
+ `tabular' y `array'; el predeterminado es `1', para no escalar.
+
+`\doublerulesep'
+ Distancia horizontal entre las líneas verticles producidas por `||'
+ en los entornos `tabular' y `array'; el predeterminado es `2pt'.
+
+`\tabcolsep'
+ La mitad de la anchura del espacio entre las columnas; el
+ predeterminado es `6pt'.
+
+ Estas instrucciones se pueden utilizar en el interior de un entorno
+`tabular':
+
+* Menu:
+
+* \multicolumn:: Hace que un elemento abarque varias columnas.
+* \cline:: Dibuja una línea horizontal que abarca algunas columnas.
+* \hline:: Dibuja una línea horizontal que abarca todas las columnas.
+* \vline:: Dibuja una línea vertical.
+
+
+File: latex2e-es.info, Node: \multicolumn, Next: \cline, Up: tabular
+
+8.23.1 `\multicolumn'
+---------------------
+
+Sinopsis:
+ \multicolumn{columnas}{posición}{texto}
+
+ La instrucción `\multicolumn' provoca que una entrada se extienda por
+varias columnas. El primer argumento obligatorio, columnas, especifica
+es el número de columnas por abarcar. El segundo argumento obligatorio,
+posición, especifica el formato de la entrada; `c' para centrado, `l'
+para alineado a la izquierda, `r' para alineado a la derecha. El tercer
+argumento obligatorio, texto, especifica el texto a colocar en la
+entrada.
+
+ He aquí un ejemplo que muestra dos columnas separadas por un doble
+guión; `\multicolumn' se utiliza para el encabezado:
+
+ \begin{tabular}{r@{--}l}
+ \multicolumn{2}{c}{\bf Unicode}\cr
+ 0x80&0x7FF \cr
+ 0x800&0xFFFF \cr
+ 0x10000&0x1FFFF \cr
+ \end{tabular}
+
+
+File: latex2e-es.info, Node: \cline, Next: \hline, Prev: \multicolumn, Up: tabular
+
+8.23.2 `\cline'
+---------------
+
+Sinopsis:
+
+ \cline{i-j}
+
+ La instrucción `\cline' dibuja un línea horizontal a través de las
+columnas especificadas, comenzando en la colúmna i y terminando en la
+columna j, que son especificadas en el argumento obligatorio.
+
+
+File: latex2e-es.info, Node: \hline, Next: \vline, Prev: \cline, Up: tabular
+
+8.23.3 `\hline'
+---------------
+
+La instrucción `\hline' dibuja una línea horizontal del ancho del
+entorno `tabular' o `array' especificado. Se utiliza comúnmente para
+para dibujar una línea en la parte superior, inferior y entre filas de
+la tabla.
+
+
+File: latex2e-es.info, Node: \vline, Prev: \hline, Up: tabular
+
+8.23.4 `\vline'
+---------------
+
+La instrucción `\vline' dibuja una línea vertical extendida a la altura
+y profundidad total de su fila. Una instrucción `\hfill' se puede
+utilizar para mover la línea hasta el borde de la columna. También se
+puede utilizar en una @-expresión.
+
+
+File: latex2e-es.info, Node: thebibliography, Next: theorem, Prev: tabular, Up: Entornos
+
+8.24 `thebibliography'
+======================
+
+Sinopsis:
+
+ \begin{thebibliography}{etiqueta-más-amplia}
+ \bibitem[etiqueta]{clave-de-cita}
+ ...
+ \end{thebibliography}
+
+ El entorno `thebibliography' produce una bibliografía o lista de
+referencia.
+
+ En las clase `article', esta lista de referencia es etiquetada como
+“Referenciasâ€; en la clase `report', esta es etiquetada como
+“Bibliografíaâ€. Usted puede cambiar la etiqueta (en las clases
+estándar) redefiniendo la instrucción `\refname'. Por ejemplo, la
+siguiente instrucción la elimina por completo:
+
+ \renewcommand{\refname}{}
+
+ El argumento obligatorio etiqueta-más-amplia es texto que, al momento
+de componerla tipográficamente, es tan ancho como la etiqueta producida
+por la instrucción `\bibitem'. Se suele dar como `9' para bibliografías
+de menos de 10 referencias, `99' para las que tienen menos de 100, etc.
+
+* Menu:
+
+* \bibitem:: Especifica un elemento de la bibliografía.
+* \cite:: Hace referencia a un elemento bibliográfico.
+* \nocite:: Incluye un elemento en la bibliografía.
+* Usando BibTeX:: Generando bibliografías automáticamente.
+
+
+File: latex2e-es.info, Node: \bibitem, Next: \cite, Up: thebibliography
+
+8.24.1 `\bibitem'
+-----------------
+
+Sinopsis:
+ \bibitem[etiqueta]{clave-de-cita}
+
+ La instrucción `\bibitem' genera una entrada etiquetada por etiqueta.
+Si se omite el argumento etiqueta, automáticamente se genera un número
+utilizando el contador `enumi'. La clave-de-cita es cualquier secuencia
+de letras, números y signos de puntuación que no contenga una coma.
+
+ Esta instrucción escribe una entrada al archivo `.aux' que contiene
+los elementos clave-de-cita y etiqueta. Cuando la instrucción
+`\begin{document}' lee el archivo `.aux', los elementos `etiqueta' son
+asociados con `clave-de-cita', produciendo referencias a clave-de-cita
+con una instrucción `\cite' (vea la siguiente sección) para producir la
+etiqueta asociada.
+
+
+File: latex2e-es.info, Node: \cite, Next: \nocite, Prev: \bibitem, Up: thebibliography
+
+8.24.2 `\cite'
+--------------
+
+Sinopsis:
+
+ \cite[subcita]{claves
+
+ El argumento claves es una lista de una o más claves de cita,
+separadas por comas. Esta instrucción genera una cita en el texto para
+referencias asociadas con claves por medio de entradas en el archivo
+`.aux'.
+
+ El argumento de texti opcional subcita aparece después de la cita.
+Por ejemplo, `\cite[p.~314]{knuth}' podría producir `[Knuth, p. 314]'.
+
+
+File: latex2e-es.info, Node: \nocite, Next: Usando BibTeX, Prev: \cite, Up: thebibliography
+
+8.24.3 `\nocite'
+----------------
+
+`\nocite{lista-de-claves}'
+
+ La instrucción `\nocite' no produce texto, pero escribe en el archivo
+`.aux' la `lista-de-claves', que es una lista de una o más etiquetas de
+cita.
+
+
+File: latex2e-es.info, Node: Usando BibTeX, Prev: \nocite, Up: thebibliography
+
+8.24.4 Usando BibTeX
+--------------------
+
+Si usted utiliza el programa BibTeX escrito por Oren Patashnik
+(altamente recomendable si necesita una bibliografía de más de un par de
+títulos) para mantener su bibliografía, no utilice el entorno
+`thebibliography' (*note thebibliography::). En su lugar, incluya las
+líneas
+
+ \bibliographystyle{estilo-de-bibliografía}
+ \bibliography{archivo-de-bibliografía-1,archivo-de-bibliografía-2}
+
+ La instrucción `\bibliographystyle' por sí misma no produce salida
+alguna. Por el contrario, define el estilo en que se producirá la
+bibliografía: estilo-de-bibliografía se refiere a un archivo
+`estilo-de-bibliografía.bst', en el que se define qué apariencia tendrán
+las citas. Los nombres de estilo estándar distribuidos con BibTeX son:
+
+`alpha'
+ Ordenadas alfabéticamente. Las etiquetas están formadas por el
+ nombre del autor y año de publicación.
+
+`plain'
+ Ordenadas alfabéticamente. Las etiquetas son numéricas.
+
+`unsrt'
+ Al igual que `plain', pero las entradas están en el orden citado.
+
+`abbrv'
+ Igual que `plain', pero con etiquetas más compactas.
+
+ Además, existen muchos otros archivos de estilo BibTeX adaptados a
+las demandas de diversas publicaciones. Vea
+`http://www.ctan.org/tex-archive/biblio/bibtex/contrib'.
+
+ La instrucción `\bibliography' es la que realmente produce la
+bibliografía. El argumento `\bibliography' se refiere a archivos con el
+nombre `archivo-de-bibliografía.bib', el cual debe contener la base de
+datos en formato BibTeX. Sólo las entradas referidas a través de
+`\cite' y `\nocite' serán incluidas en la bibliografía.
+
+
+File: latex2e-es.info, Node: theorem, Next: titlepage, Prev: thebibliography, Up: Entornos
+
+8.25 `theorem'
+==============
+
+Sinopsis:
+
+ \begin{theorem}
+ texto-del-teorema
+ \end{theorem}
+
+ El entorno `theorem' produce “Teorema n†en negrita seguido por el
+texto-del-teorema, donde las posibilidades de numeración para n se
+describen bajo `\newtheorem' (*note \newtheorem::).
+
+
+File: latex2e-es.info, Node: titlepage, Next: verbatim, Prev: theorem, Up: Entornos
+
+8.26 `titlepage'
+================
+
+Sinopsis:
+
+ \begin{titlepage}
+ texto
+ \end{titlepage}
+
+ El entorno `titlepage' crea una página de título, es decir, una
+página en la cual no se imprime el número de página ni el encabezado.
+También provoca que la página siguiente sea numerada como la página uno.
+El formato de la página del título se deja bajo su responsabilidad. La
+instrucción `\today' puede ser útil en las páginas de título (*note
+\today::).
+
+ Usted puede utilizar la instrucción `\maketitle' (*note \maketitle::)
+para producir una página de título estándar sin un entorno `titlepage'.
+
+
+File: latex2e-es.info, Node: verbatim, Next: verse, Prev: titlepage, Up: Entornos
+
+8.27 `verbatim'
+===============
+
+Sinopsis:
+
+ \begin{verbatim}
+ texto-literal
+ \end{verbatim}
+
+ El entorno `verbatim' es un entorno para crear párrafos en el cual
+LaTeX produce exactamente lo que usted escriba en él; Por ejemplo el
+carácter `\' produce una `\' impresa. Este cambia el modo en que LaTeX
+imprime los que usted escriba con retornos de carro y espacios en blanco
+con el mismo efecto que tendría en una máquina de escribir.
+
+ El entorno `verbatim' utiliza una composición tipográfica con tipo de
+letra monoespacio (`\tt').
+
+* Menu:
+
+* \verb:: La forma macro del entorno `verbatim'.
+
+
+File: latex2e-es.info, Node: \verb, Up: verbatim
+
+8.27.1 `\verb'
+--------------
+
+Sinopsis:
+
+ \verbcaráctertexto-literalcarácter
+ \verb*caráctertexto-literalcarácter
+
+ La instrucción `\verb' compone tipográficamente el texto-literal como
+este se ha ingresado incluyendo caracteres especiales y espacios,
+utilizando el tipo de letra de máquina de escribir (`\tt'). No se
+permiten espacios entre `\verb' o `\verb*' y el carácter delimitador, el
+cual comienza y termina el texto literal. El delimitador no debe
+aparecer en el texto-literal.
+
+ La forma con `*' difiere únicamente en que los espacios son impresos
+con un carácter de “espacio visibleâ€.
+
+
+File: latex2e-es.info, Node: verse, Prev: verbatim, Up: Entornos
+
+8.28 `verse'
+============
+
+Sinopsis:
+
+ \begin{verse}
+ línea1 \\
+ línea2 \\
+ ...
+ \end{verse}
+
+ El entorno `verse' está diseñado para poesía, aunque es posible que
+usted le encuentre alguna otra utilidad.
+
+ Los márgenes tienen sangría a la izquierda y derecha, a los párrafos
+no se les aplica sangría y el texto no está justificado. Separe las
+líneas de cada estrofa con `\\' y use una o más líneas en blanco para
+separar las estrofas.
+
+
+File: latex2e-es.info, Node: Saltos de Línea, Next: Saltos de Página, Prev: Entornos, Up: Top
+
+9 Saltos de Línea
+*****************
+
+Lo primero que hace LaTeX cuando procesa texto normal es traducir el
+archivo de entrada en una secuencia de unidades gráficas y espacios.
+Para producir un documento impreso, esta secuencia se debe partir en
+líneas (y esas línea se deben dividir en páginas).
+
+ Normalmente LaTeX se encarga de los saltos de línea (y página), pero
+en algunos entornos, usted mismo determina los saltos de líneas con la
+instrucción `\\', y siempre puede forzar los saltos de línea
+manualmente.
+
+* Menu:
+
+* \\:: Inicia una nueva línea.
+* \obeycr y \restorecr:: Provoca que cada línea ingresada comience una nueva línea.
+* \newline:: Divide la línea \- (hyphenation):: Inserta un guión en la sílaba explicita.
+* \- (hyphenation)::
+* \fussy:: Es quisquilloso con la separación de línea.
+* \sloppy:: Es descuidado en la separación de la líneas.
+* \hyphenation:: Le dice a LaTeX cómo insertar un guión para separar una palabra.
+* \linebreak y \nolinebreak:: Forzando y evitando saltos de línea.
+
+
+File: latex2e-es.info, Node: \\, Next: \obeycr y \restorecr, Up: Saltos de Línea
+
+9.1 `\\'[*][más-espacio]
+========================
+
+La instrucción `\\' le dice a LaTeX que comience una nueva línea. Esta
+tiene un argumento opcional, más-espacio, que especifica la cantidad de
+espacio vertical extra que se debe insertar antes de la siguiente línea.
+Este puede ser una cantidad negativa.
+
+ La instrucción `\\*' es la misma que la instrucción ordinaria `\\'
+salvo que esta le dice a LaTeX que no comience una nueva página después
+de la línea.
+
+
+File: latex2e-es.info, Node: \obeycr y \restorecr, Next: \newline, Prev: \\, Up: Saltos de Línea
+
+9.2 `\obeycr' y `\restorecr'
+============================
+
+La instrucción `\obeycr' genera un retorno de carro en el archivo de
+entrada (`^^M', internamente) lo mismo que `\\' (seguido por `\relax').
+Por lo tanto, cada nueva línea en la entrada también será una nueva
+línea en la salida.
+
+ `\restorecr' restaura el comportamiento de saltos de línea normal.
+
+
+File: latex2e-es.info, Node: \newline, Next: \- (hyphenation), Prev: \obeycr y \restorecr, Up: Saltos de Línea
+
+9.3 `\newline'
+==============
+
+La instrucción `\newline' rompe la línea en el punto actual, sin
+justificar el texto anterior. Sólo se puede utilizar en modo párrafo.
+
+
+File: latex2e-es.info, Node: \- (hyphenation), Next: \fussy, Prev: \newline, Up: Saltos de Línea
+
+9.4 `\-' (división silábica discrecional)
+=========================================
+
+La instrucción `\-' le dice a LaTeX que puede dividir la palabra con un
+guión en ese punto. LaTeX cuenta con una muy buena separación silábica
+con guión, y por lo general en la mayoría de los casos encuentra los
+puntos correctos en la división de palabras, y casi nunca utiliza uno
+incorrecto. La instrucción `\-' se utiliza para casos excepcionales.
+
+ Cuando usted inserta la instrucción `\-' en una palabra, la palabra
+únicamente se debe dividir con guión en esos puntos y en ninguno de los
+puntos que LaTeX pudiera haber elegido de otro modo.
+
+
+File: latex2e-es.info, Node: \fussy, Next: \sloppy, Prev: \- (hyphenation), Up: Saltos de Línea
+
+9.5 `\fussy'
+============
+
+La declaración `\fussy' (que es la predeterminada) provoca que TeX sea
+quisquilloso con los saltos de línea. Esto por lo general también evita
+el espacio entre palabras, a costa de un ocasional desbordamiento de
+caja.
+
+ Esta instrucción cancela el efecto de una instrucción `\sloppy'
+previa (*note \sloppy::.
+
+
+File: latex2e-es.info, Node: \sloppy, Next: \hyphenation, Prev: \fussy, Up: Saltos de Línea
+
+9.6 `\sloppy'
+=============
+
+La declaración `\sloppy' provoca que TeX sea menos cuidadoso con los
+saltos de línea. Esto evitará el desbordamiento de cajas, a costa de un
+mayor espaciamiento entre palabras.
+
+ Dura hasta que se utilice una instrucción `\fussy' (*note \fussy::).
+
+
+File: latex2e-es.info, Node: \hyphenation, Next: \linebreak y \nolinebreak, Prev: \sloppy, Up: Saltos de Línea
+
+9.7 `\hyphenation'
+==================
+
+Sinopsis:
+
+ \hyphenation{palabra-uno palabra-dos}
+
+ La instrucción `\hyphenation' declara los puntos dónde se permite la
+división de palabras por medio de un carácter `-' en las palabras
+proporcionadas. Las palabras están separadas por espacios. TeX
+únicamente debe separar las palabras si la palabra coincide exactamente,
+sin juzgar las inflexiones. Múltiples instrucciones `\hyphenation' son
+acumulativas. Algunos ejemplos (los patrones de separación silábica de
+TeX no se aplican a esas palabras):
+
+ \hyphenation{ap-én-dice col-umnas hiper-fragilís-tico-espiali-doso}
+
+
+File: latex2e-es.info, Node: \linebreak y \nolinebreak, Prev: \hyphenation, Up: Saltos de Línea
+
+9.8 `\linebreak' y `\nolinebreak'
+=================================
+
+Sinopsis:
+
+ \linebreak[prioridad]
+ \nolinebreak[prioridad]
+
+ De manera predeterminada, la instrucción `\linebreak'
+(`\nolinebreak') fuerza (previene) un salto de línea en la posición
+actual. Para `\linebreak', los espacios en la línea se expanden hasta
+el margen derecho de la manera normal.
+
+ Con el argumento opcional prioridad, usted puede convertir la
+instrucción de una petición a una demanda. La prioridad debe ser un
+número desde 0 hasta 4. Cuanto mayor sea el número, es más insistente
+la petición.
+
+
+File: latex2e-es.info, Node: Saltos de Página, Next: Notas al Pie, Prev: Saltos de Línea, Up: Top
+
+10 Saltos de Página
+*******************
+
+LaTeX inicia nuevas páginas asincronicamente, cuando ha acumulado
+suficiente material para llenar una página. Por lo general, esto ocurre
+automáticamente, pero a veces, posiblemente, usted quiera influir en los
+saltos de página.
+
+* Menu:
+
+* \cleardoublepage:: Inicia una nueva página a mano derecha.
+* \clearpage:: Inicia una nueva página.
+* \newpage:: Inicia una nueva página.
+* \enlargethispage:: Amplía un poco la página actual.
+* \pagebreak y \nopagebreak:: Forzando y evitando saltos de página.
+
+
+File: latex2e-es.info, Node: \cleardoublepage, Next: \clearpage, Up: Saltos de Página
+
+10.1 `\cleardoublepage'
+=======================
+
+La instrucción `\cleardoublepage' termina la página actual y provoca que
+se impriman todas las imágenes y tablas que han aparecido hasta el
+momento en el texto. En un estilo de Impresión a doble cara, este
+también hace que la siguiente página sea a mano derecha, página
+(impares), produciendo una página en blanco si es necesario.
+
+
+File: latex2e-es.info, Node: \clearpage, Next: \newpage, Prev: \cleardoublepage, Up: Saltos de Página
+
+10.2 `\clearpage'
+=================
+
+La instrucción `\clearpage' termina la página actual y provoca que todas
+la imágenes y tablas que han aparecido hasta ahora en la entrada sean
+impresas.
+
+
+File: latex2e-es.info, Node: \newpage, Next: \enlargethispage, Prev: \clearpage, Up: Saltos de Página
+
+10.3 `\newpage'
+===============
+
+La instrucción `\newpage' termina la página actual, pero no descarga
+flotantes (vea `\clearpage' arriba).
+
+
+File: latex2e-es.info, Node: \enlargethispage, Next: \pagebreak y \nopagebreak, Prev: \newpage, Up: Saltos de Página
+
+10.4 `\enlargethispage'
+=======================
+
+`\enlargethispage{tamaño}'
+
+ `\enlargethispage*{tamaño}'
+
+ Amplía el `\textheight' para la página actual por la cantidad
+especificada; por ejemplo `\enlargethispage{\baselineskip}' permitirá
+una línea adicional.
+
+ La forma favorita trata de apretar el material en la página tanto
+como sea posible. Esta normalmente se utiliza junto con un `\pagebreak'
+explícito.
+
+
+File: latex2e-es.info, Node: \pagebreak y \nopagebreak, Prev: \enlargethispage, Up: Saltos de Página
+
+10.5 `\pagebreak' y `\nopagebreak'
+==================================
+
+Sinopsis:
+
+ \pagebreak[prioridad]
+ \nopagebreak[prioridad]
+
+ De forma predeterminada, la instrucción `\pagebreak' (`\nopagebreak')
+fuerza (impide) un salto de página en la posición actual. Para
+`\linebreak', el espacio vertical en la página se estira cuanto sea
+posible de modo que se extienda hasta el margen inferior normal.
+
+ Con el argumento opcional prioridad, puede convertir la instrucción
+`\pagebreak' desde una petición a una demanda. El número debe ser un
+número desde 0 hasta 4. Cuanto mayor sea el número, más insistente es
+la petición.
+
+
+File: latex2e-es.info, Node: Notas al Pie, Next: Definiciones, Prev: Saltos de Página, Up: Top
+
+11 Notas al Pie
+***************
+
+Las notas al pie se pueden producir en una de dos maneras. Se pueden
+producir con una sola instrucción, la instrucción `\footnote'. También
+se pueden producir con dos instrucciones, las instrucciones
+`\footnotemark' y `\footnotetext'.
+
+* Menu:
+
+* \footnote:: Inserta una nota al pie.
+* \footnotemark:: Solamente Inserta la marca de nota.
+* \footnotetext:: Solamente Inserta el texto la nota.
+* Notas al Pie Simbólicas:: Usando símbolos en lugar de números para las notas.
+* Parámetros para Footnote:: Parámetros para el formato de la nota al pie.
+
+
+File: latex2e-es.info, Node: \footnote, Next: \footnotemark, Up: Notas al Pie
+
+11.1 `\footnote'
+================
+
+Sinopsis:
+
+ \footnote[número]{texto}
+
+ La instrucción `\footnote' coloca una nota numerada con el texto al
+pie de la página actual. El argumento opcional número cambia el número
+predeterminado de la nota.
+
+ Esta instrucción sólo puede utilizarse fuera del modo párrafo; es
+decir, no se puede utilizar en el instrucciones de seccionado tal como
+`\chapter', en figuras, tablas o en un entorno `tabular'. (Vea las
+siguientes secciones).
+
+
+File: latex2e-es.info, Node: \footnotemark, Next: \footnotetext, Prev: \footnote, Up: Notas al Pie
+
+11.2 `\footnotemark'
+====================
+
+Sin argumento opcional, la instrucción `\footnotemark' coloca el número
+de nota actual en el texto. Esta instrucción se puede utilizar en modo
+párrafo. Usted proporciona el texto de la nota por separado, con la
+instrucción `\footnotetext'.
+
+ Esta instrucción se puede utilizar para producir varios marcadores de
+nota consecutivos refiriéndose a la misma nota
+
+ \footnotemark[\value{footnote}]
+
+después de la primer instrucción `\footnote'.
+
+
+File: latex2e-es.info, Node: \footnotetext, Next: Notas al Pie Simbólicas, Prev: \footnotemark, Up: Notas al Pie
+
+11.3 `\footnotetext'
+====================
+
+Sinopsis:
+
+ \footnotetext[número]{texto}
+
+ La instrucción `\footnotetext' coloca el texto en la parte inferior
+de la página como una nota al pie. Esta instrucción puede venir en
+cualquier lugar después de la instrucción `\footnotemark'. La
+instrucción `\footnotetext' debe aparecer en el exterior del modo
+párrafo.
+
+ El argumento opcional número cambia el número predeterminado de la
+nota.
+
+
+File: latex2e-es.info, Node: Notas al Pie Simbólicas, Next: Parámetros para Footnote, Prev: \footnotetext, Up: Notas al Pie
+
+11.4 Notas al Pie Simbólicas
+============================
+
+Si desea utilizar símbolos para las notas al pie, en lugar de un número
+creciente, redefina `\thefootnote' así:
+
+ \renewcommand{\thefootnote}{\fnsymbol{nota-al-pie}}
+
+ La instrucción `\fnsymbol' produce a serie predefinida de símbolos
+(*note \alph \Alph \arabic \roman \Roman \fnsymbol::). Si desea
+utilizar un símbolo diferente como su marca de nota al pie, necesitará
+redefinir `\fnsymbol'.
+
+
+File: latex2e-es.info, Node: Parámetros para Footnote, Prev: Notas al Pie Simbólicas, Up: Notas al Pie
+
+11.5 Parámetros para Footnote
+=============================
+
+`\footnoterule'
+ Produce la línea que separa el texto principal en una página de las
+ notas al pie de la página. Dimensiones predeterminadas: `0.4pt'
+ espesor (o ancho), y longitud de `0.4\columnwidth' en las clases de
+ documento estándar (salvo en slides, donde esta no aparece).
+
+`\footnotesep'
+ La altura donde se coloca el puntal al comienzo de la nota al pie.
+ De forma predeterminada, se establece en el puntal del tipo de
+ letra normal `\footnotesize' (*note Tamaños del Tipo de Letra::,
+ por lo tanto no hay espacio extra entre las notas. Este es
+ `6.65pt' para `10pt', `7.7pt' para `11pt' y `8.4pt' para `12pt'.
+
+
+File: latex2e-es.info, Node: Definiciones, Next: Contadores, Prev: Notas al Pie, Up: Top
+
+12 Definiciones
+***************
+
+LaTeX tiene la capacidad para crear nuevas instrucciones de muchos tipos
+diferentes.
+
+* Menu:
+
+* \newcommand y \renewcommand:: (Re)define una nueva instrucción.
+* \newcounter:: Define un nuevo contador.
+* \newlength:: Define una nueva longitud.
+* \newsavebox:: Define una nueva caja.
+* \newenvironment y \renewenvironment:: Definen un nuevo entorno.
+* \newtheorem:: Definen un nuevo entorno -como teorema.
+* \newfont:: Define un nuevo nombre de tipo de letra.
+* \protect:: Usando instrucciones astutas.
+
+
+File: latex2e-es.info, Node: \newcommand y \renewcommand, Next: \newcounter, Up: Definiciones
+
+12.1 `\newcommand' y `\renewcommand'
+====================================
+
+`\newcommand' y `\renewcommand' define y redefine una instrucción,
+respectivamente.
+
+ Sinopsis:
+
+ \newcommand{instrucción}[n-argumentos]{definición}
+ \renewcommand{instrucción}[n-argumentos]{definición}
+ \newcommand{instrucción}[n-argumentos][predeterminado]{definición}
+ \renewcommand{instrucción}[n-argumentos][predeterminado]{definición}
+
+instrucción
+ El nombre de la instrucción comenzando con `\'. Para
+ `\newcommand', este no se debe haber definido y no debe comenzar
+ con `\end'; para `\renewcommand', este ya tiene que estar definido.
+
+n-argumentos
+ Un entero opcional entre 1 y 9 especificando el número de
+ argumentos que debe tomar la instrucción. El valor predeterminado
+ es para que la instrucción no tome argumentos.
+
+predeterminado
+ Si este parámetro opcional está presente, significa que el primer
+ argumento del comando es opcional. Cuando se invoca a la nueva
+ instrucción, el valor predeterminado del argumento opcional (es
+ decir, si no se especifica en la llamada) es la cadena
+ `definición'.
+
+definición
+ El texto con el que se sustituirá cada aparición de `instrucción';
+ una construcción de la forma `#n' en definición es reemplazada por
+ el texto del enésimo argumento.
+
+
+File: latex2e-es.info, Node: \newcounter, Next: \newlength, Prev: \newcommand y \renewcommand, Up: Definiciones
+
+12.2 `\newcounter'
+==================
+
+Sinopsis:
+
+ \newcounter{contador}[nombre-contador]
+
+ La instrucción `\newcounter' define un nuevo contador llamado
+contador. El nuevo contador se inicializa a cero.
+
+ Dado el argumento opcional `[nombre-contador]', (contador se
+restablecerá cuando nombre-contador se incremente.
+
+ *Note Contadores::, para mayor información.
+
+
+File: latex2e-es.info, Node: \newlength, Next: \newsavebox, Prev: \newcounter, Up: Definiciones
+
+12.3 `\newlength'
+=================
+
+Sinopsis:
+
+ \newlength{\argumento}
+
+ La instrucción `\newlength' define el argumento obligatorio como una
+instrucción `length' con un valor de `0in'. El argumento debe ser una
+secuencia de control, como en `\newlength{\foo}'. Ocurre un error si
+`\foo' ya está definido.
+
+ *Note Longitudes::, para saber cómo fijar la nueva longitud a un
+valor distinto de cero, y para más información acerca de las longitudes
+en general.
+
+
+File: latex2e-es.info, Node: \newsavebox, Next: \newenvironment y \renewenvironment, Prev: \newlength, Up: Definiciones
+
+12.4 `\newsavebox'
+==================
+
+Sinopsis:
+
+ \newsavebox{instrucción}
+
+ Define `\instrucción', el cual debe ser un nombre de instrucción que
+no se haya definido, para referirse a una nueva bandeja para almacenar
+cajas.
+
+
+File: latex2e-es.info, Node: \newenvironment y \renewenvironment, Next: \newtheorem, Prev: \newsavebox, Up: Definiciones
+
+12.5 `\newenvironment' y `\renewenvironment'
+============================================
+
+Sinopsis:
+
+
+ \newenvironment{entorno}[n-argumentos]{antes-definición}
+ {después-definición}
+ \newenvironment{entorno}[n-argumentos][predeterminado]
+ {antes-definición}{después-definición}
+ \renewenvironment{entorno}[n-argumentos]
+ {antes-definición}{después-definición}
+
+ Estas instrucciones definen o redefinen un entorno entorno, es decir,
+`\begin{entorno} … \end{entorno}'.
+
+entorno
+ El nombre del entorno. Para `\newenvironment', entorno no debe ser
+ un entorno existente, y la instrucción `\entorno' debe ser una que
+ no se haya definido previamente. Para `\renewenvironment', entorno
+ debe ser el nombre de un entorno existente.
+
+n-argumentos
+ Un entero desde 1 a 9 denotando el número de argumentos del nuevo
+ entorno definido. El valor predeterminado es ningún argumento.
+
+predeterminado
+ Si se especifica, el primer argumento es opcional, y predeterminado
+ proporciona el valor predeterminado para ese argumento.
+
+antes-definición
+ El texto ampliado en cada aparición de `\begin{entorno}'; una
+ construcción en forma `#n' en antes-definición es sustituido por el
+ texto del enésimo argumento.
+
+después-definición
+ El texto ampliado de cada aparición de `\end{entorno}'. este no
+ debe contener ningún argumento para parámetros.
+
+
+File: latex2e-es.info, Node: \newtheorem, Next: \newfont, Prev: \newenvironment y \renewenvironment, Up: Definiciones
+
+12.6 `\newtheorem'
+==================
+
+ \newtheorem{nuevo-entorno}{etiqueta}[con]
+ \newtheorem{nuevo-entorno}[numerado-como]{etiqueta}
+
+ Esta instrucción define un entorno parecido a teorema. Argumentos:
+
+nuevoentorno
+ El nombre del nuevo entorno a definir; no debe ser el nombre de un
+ entorno existente o de lo contrario será redefinido.
+
+etiqueta
+ El texto a imprimir al inicio del entorno, antes del número. Por
+ ejemplo, `Teorema'.
+
+numerado_como
+ (Opcional). El nombre de un entorno ya definido tal como teorema;
+
+ (Opcional). El nombre de un entorno ya definido tal como teorema
+ el nuevo entorno será numerado exactamente como numerado_como.
+
+con
+ (Opcional). El nombre de un contador definido previamente, una
+ unidad de seccionado. El nuevo contador de teorema será
+ restablecido al mismo tiempo que el contador con.
+
+ Cuando menos uno de numerado_como y con se debe especificar, no
+ambos.
+
+
+File: latex2e-es.info, Node: \newfont, Next: \protect, Prev: \newtheorem, Up: Definiciones
+
+12.7 `\newfont'
+===============
+
+Sinopsis:
+
+ \newfont{instrucción}{nombredetipo}
+
+ Define una secuencia de control `\instrucción', misma que no se debe
+haber definido, para hacer que nombredetipo sea el tipo de letra actual.
+El archivo bloqueado en el sistema es llamado `nombredetipo.tfm'.
+
+ Esta es una instrucción de bajo nivel para configurar el uso de un
+tipo de letra individual. Comúnmente, los tipos de letra se definen a
+través de familias de archivos `.fd'.
+
+
+File: latex2e-es.info, Node: \protect, Prev: \newfont, Up: Definiciones
+
+12.8 `\protect'
+===============
+
+Pies de página, saltos de línea, cualquier instrucción que tenga un
+argumento opcional, y muchas más de las así llamadas instrucciones
+"frágiles". Cuando una instrucción frágil se utiliza en ciertos
+contextos, llamados "argumentos móviles", estas se deben preceder con
+`\protect'. Además, algunas instrucciones con argumentos frágiles deben
+tener su propia `\protect'.
+
+ Algunos ejemplos de argumentos móviles son `\caption' (*note
+figure::), `\thanks' (*note \maketitle::) y @-expresiones en entornos
+`tabular' y `array' (*note tabular::).
+
+ Las instrucciones que no son frágiles se llaman "robustas". Estas no
+se deben preceder con `\protect'.
+
+ Vea también:
+
+`http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/fragile.html'
+`http://www.tex.ac.uk/cgi-bin/texfaq2html?label=protect'
+
+
+File: latex2e-es.info, Node: Contadores, Next: Longitudes, Prev: Definiciones, Up: Top
+
+13 Contadores
+*************
+
+Cualquier cosa numerada por LaTeX tiene un contador asociado a ella. El
+nombre del contador es el mismo nombre que el nombre del entorno o
+instrucción que produce el número, salvo las que no comienzan con `\'.
+(`enumi'–`enumiv' se utilizan para entornos enumerados anidados). A
+continuación hay una lista de los contadores utilizados en las clases de
+documentos estándar de LaTeX para controlar la numeración.
+
+ part paragraph figure enumi
+ chapter subparagraph table enumii
+ section page footnote enumiii
+ subsection equation mpfootnote enumiv
+ subsubsection
+
+* Menu:
+
+* \alph \Alph \arabic \roman \Roman \fnsymbol:: Imprimiendo el valor de un contador.
+* \usecounter:: Utiliza un contador especificado en un entorno de lista.
+* \value:: Utiliza el valor de un contador en una expresión.
+* \setcounter:: Establece el valor de un contador.
+* \addtocounter:: Añade un calificador a un contador.
+* \refstepcounter:: Añade un contador, restableciendo los contadores subsidiarios.
+* \stepcounter:: Añade un contador, restableciendo los contadores subsidiarios.
+* \day \month \year:: Valores numéricos de fecha.
+
+
+File: latex2e-es.info, Node: \alph \Alph \arabic \roman \Roman \fnsymbol, Next: \usecounter, Up: Contadores
+
+13.1 `\alph \Alph \arabic \roman \Roman \fnsymbol': Imprimiendo Contadores
+==========================================================================
+
+Todas estas instrucciones toman como argumento un solo contador, por
+ejemplo, `\alph{enumi}'.
+
+`\alph'
+ imprime contador usando letras minúsculas: `a', `b', ...
+
+`\Alph'
+ utiliza letras mayúsculas: `A', `B', ...
+
+`\arabic'
+ utiliza números Arábigos: `1', `2', ...
+
+`\roman'
+ utiliza números romanos en minúsculas: `i', `ii', ...
+
+`\roman'
+ utiliza números romanos en mayúsculas: `I', `II', ...
+
+`\fnsymbol'
+ imprime el valor de contador en una secuencia específica de nueve
+ símbolos (convencionalmente usada para etiquetar notas al pie de
+ página). El valor de contador debe estar entre 1 y 9 incluido.
+
+ Los símbolos no son compatibles en info principalmente, pero aquí
+ están los nombres:
+
+ asterix(*) dagger ddagger section-sign paragraph-sign parallel
+ double-asterix(**) double-dagger double-ddagger
+
+
+File: latex2e-es.info, Node: \usecounter, Next: \value, Prev: \alph \Alph \arabic \roman \Roman \fnsymbol, Up: Contadores
+
+13.2 `\usecounter{contador}'
+============================
+
+Sinopsis:
+
+ \usecounter{contador}
+
+ La instrucción `\usecounter' se utiliza en el segundo argumento del
+entorno `list' para especificar el contador a utilizar para numerar los
+elementos de la lista.
+
+
+File: latex2e-es.info, Node: \value, Next: \setcounter, Prev: \usecounter, Up: Contadores
+
+13.3 `\value{contador}'
+=======================
+
+Sinopsis:
+
+ \value{contador}
+
+ La instrucción `\value' produce el valor de contador. Esta se puede
+utilizar en cualquier lugar en que LaTeX espera un número, por ejemplo:
+
+ \setcounter{micontador}{3}
+ \addtocounter{micontador}{1}
+ \hspace{\value{micontador}\parindent}
+
+
+File: latex2e-es.info, Node: \setcounter, Next: \addtocounter, Prev: \value, Up: Contadores
+
+13.4 `\setcounter{\contador}{valor}'
+====================================
+
+Sinopsis:
+
+ \setcounter{\contador}{valor}
+
+ La instrucción `\setcounter' fija el valor de \contador al argumento
+valor.
+
+
+File: latex2e-es.info, Node: \addtocounter, Next: \refstepcounter, Prev: \setcounter, Up: Contadores
+
+13.5 `\addtocounter{contador}{valor}'
+=====================================
+
+La instrucción `\addtocounter' incrementa contador por la cantidad
+especificada por el argumento valor, que puede ser un número negativo.
+
+
+File: latex2e-es.info, Node: \refstepcounter, Next: \stepcounter, Prev: \addtocounter, Up: Contadores
+
+13.6 `\refstepcounter{contador}'
+================================
+
+La instrucción `\refstepcounter' trabaja de la misma manera que
+`\stepcounter' *Note \stepcounter::, excepto que esta además define el
+valor actual de `\ref' para que sea el resultado de `\thecounter'.
+
+
+File: latex2e-es.info, Node: \stepcounter, Next: \day \month \year, Prev: \refstepcounter, Up: Contadores
+
+13.7 `\stepcounter{contador}'
+=============================
+
+La instrucción `\stepcounter' añade uno al contador y restablece todos
+los contadores subsidiarios.
+
+
+File: latex2e-es.info, Node: \day \month \year, Prev: \stepcounter, Up: Contadores
+
+13.8 `\day \month \year': Contadores Predefinidos
+=================================================
+
+LaTeX define contadores para el día del mes (`\day', 1–31), mes del año
+(`\month', 1–12), y año (`\year', Era Común). Al iniciar TeX, estas son
+establecidas a los valores actuales en el sistema donde se está
+ejecutando TeX. Estas no se actualizan conforme al progreso del
+trabajo.
+
+ La instrucción relacionada `\today' produce una cadena de texto que
+representa el día actual (*note \today::).
+
+
+File: latex2e-es.info, Node: Longitudes, Next: Haciendo Párrafos, Prev: Contadores, Up: Top
+
+14 Longitudes
+*************
+
+Una `longitud' es una medida de distancia. Muchas instrucciones LaTeX
+toman una longitud como argumento.
+
+* Menu:
+
+* \setlength:: Establece el valor de longitud.
+* \addtolength:: Añade una cantidad a longitud.
+* \settodepth:: Establece una longitud a la profundidad de algo más.
+* \settoheight:: Establece la longitud a la altura de algo más.
+* \settowidth:: Establece la longitud a la anchura de alguna otra cosa.
+* Longitudes Predeterminadas:: Longitudes que son, algo sí como, predefinidas.
+
+
+File: latex2e-es.info, Node: \setlength, Next: \addtolength, Up: Longitudes
+
+14.1 `\setlength{\largo}{valor}'
+================================
+
+La instrucción `\setlength' fija el valor de \largo al argumento valor,
+el cual se puede expresar en cualquier unidad que LaTeX entienda, es
+decir, pulgadas (`in'), milímetros (`mm'), puntos (`pt'), puntos grandes
+(`bp', etc.
+
+
+File: latex2e-es.info, Node: \addtolength, Next: \settodepth, Prev: \setlength, Up: Longitudes
+
+14.2 \addtolength{\largo}{cantidad}
+===================================
+
+La instrucción `\addtolength' incrementa la “instrucción de longitudâ€
+\largo por la cantidad especificada en el argumento cantidad, misma que
+puede ser un valor negativo.
+
+
+File: latex2e-es.info, Node: \settodepth, Next: \settoheight, Prev: \addtolength, Up: Longitudes
+
+14.3 `\settodepth'
+==================
+
+`\settodepth{\gnat}{texto}'
+
+ La instrucción `\settodepth' fija el valor de una instrucción de
+`longitud' igual a la profundidad del argumento `texto'.
+
+
+File: latex2e-es.info, Node: \settoheight, Next: \settowidth, Prev: \settodepth, Up: Longitudes
+
+14.4 `\settoheight'
+===================
+
+`\settoheight{\gnat}{texto}'
+
+ La instrucción `\settoheight' fija el valor de la instrucción de
+`longitud' igual a la altura del argumento `texto'.
+
+
+File: latex2e-es.info, Node: \settowidth, Next: Longitudes Predeterminadas, Prev: \settoheight, Up: Longitudes
+
+14.5 `\settowidth{\largo}{texto}'
+=================================
+
+La instrucción `\settowidth' establece el valor del la instrucción
+\largo al valor del argumento texto.
+
+
+File: latex2e-es.info, Node: Longitudes Predeterminadas, Prev: \settowidth, Up: Longitudes
+
+14.6 Longitudes Predeterminadas
+===============================
+
+`\width'
+
+ `\height'
+
+ `\depth'
+
+ `\totalheight'
+
+ Estos parámetros de longitud se pueden utilizar en los argumentos de
+las instrucciones que dibujan cajas (*note Cajas::). Especifican el
+ancho natural, etc., del texto en la caja. `\totalheight' es igual a
+`\height' + `\depth'. Para hacer una caja con el texto extendido hasta
+el doble del tamaño natural, por ejemplo, digamos
+
+ `\makebox[ancho\2]{Consiga una camilla}'
+
+
+File: latex2e-es.info, Node: Haciendo Párrafos, Next: Fórmulas Matemáticas, Prev: Longitudes, Up: Top
+
+15 Haciendo Párrafos
+********************
+
+Un párrafo se termina por medio de una o más líneas completamente en
+blanco —líneas que no contienen incluso un `%'. Una línea en blanco no
+debe aparecer donde no se puede iniciar un nuevo párrafo, tal como en
+modo math o en el argumento de una instrucción de seccionado.
+
+* Menu:
+
+* \indent:: Sangrando este párrafo.
+* \noindent:: No sangra el siguiente párrafo.
+* \parskip:: Añade un espacio antes de párrafos.
+* Notas al Margen:: Coloca palabras en el margen.
+
+
+File: latex2e-es.info, Node: \indent, Next: \noindent, Up: Haciendo Párrafos
+
+15.1 `\indent'
+==============
+
+`\indent' produce un espacio horizontal donde el ancho es igual al ancho
+de la longitud de `\parindent', la sangría de un párrafo normal. Esta
+se utiliza para añadir la sangría de párrafos donde esta debería
+suprimirse en otro caso.
+
+ El valor predeterminado para `\parindent' es `1em' en modo de dos
+columnas, de lo contrario `15pt' para documentos de `10pt', `17pt' para
+`11pt' y `1.5em' para `12pt'.
+
+
+File: latex2e-es.info, Node: \noindent, Next: \parskip, Prev: \indent, Up: Haciendo Párrafos
+
+15.2 `\noindent'
+================
+
+Cuando se utiliza al principio de un párrafo, `\noindent' suprime
+cualquier sangría. Esta no tiene efecto cuando se utiliza en medio de
+un párrafo.
+
+
+File: latex2e-es.info, Node: \parskip, Next: Notas al Margen, Prev: \noindent, Up: Haciendo Párrafos
+
+15.3 `\parskip'
+===============
+
+`\parskip' es una instrucción que preserva la longitud definiendo
+espacio vertical extra añadido antes de cada párrafo. El predeterminado
+es `0pt más 1pt'.
+
+
+File: latex2e-es.info, Node: Notas al Margen, Prev: \parskip, Up: Haciendo Párrafos
+
+15.4 Notas al Margen
+====================
+
+Sinopsis:
+
+ \marginpar[izquierda]{derecha}
+
+ La instrucción `\marginpar' crea una nota en el margen. La primera
+línea de una nota tiene que ser la misma línea base que la línea en el
+texto donde ocurre el `\marginpar'.
+
+ Cuando únicamente se especifica el argumento obligatorio right, el
+texto se deberá colocar
+
+ • en el margen derecho para diseños de un solo lado;
+
+ • en el margen externo para diseños de dos caras;
+
+ • en el margen más cercano en diseños de dos columnas.
+
+ La instrucción `\reversemarginpar' coloca las subsecuentes notas al
+margen en el margen (dentro) opuesto. `\normalmarginpar' las coloca en
+la posición predeterminada.
+
+ Cuando se especifican ambos argumentos, se utiliza left para el
+margen izquierdo y se utiliza right para el margen derecho.
+
+ La primer palabra normalmente no se debe separar con guiones; usted
+puede habilitar la separación silábica con guiones comenzando la nota
+con `\hspace{0pt}'.
+
+ Los parámetros que afectan el formato de la nota son:
+
+`\marginparpush'
+ El espacio mínimo vertical entre notas; el predeterminado es `7pt'
+ para documentos de `12pt', de lo contrario `5pt'.
+
+`\marginparsep'
+ Espacio horizontal entre el texto vertical y la nota;
+ predeterminado `11pt' para `10pt' documentos, en otro caso `10pt'.
+
+`\marginparwidth'
+ El ancho de la nota en sí misma; el predeterminado para documentos
+ de un solo lado de `10pt' es `90pt', `83pt' para `11pt' y `68pt'
+ para `12pt'; `17pt' más en cada caso para documentos de dos caras.
+ En el modo de dos columnas, el predeterminado es `48pt'.
+
+
+File: latex2e-es.info, Node: Fórmulas Matemáticas, Next: Modos, Prev: Haciendo Párrafos, Up: Top
+
+16 Fórmulas Matemáticas
+***********************
+
+Existen tres entornos que ponen a LaTeX en modo math:
+
+`math'
+ Para fórmulas que aparecerán directamente en el texto.
+
+`displaymath'
+ Para fórmulas que aparecerán en su propia línea.
+
+`equation'
+ El mismo que el del entorno displaymath salvo que este añade un
+ número de ecuación en el margen derecho.
+
+ El entorno `math' se pude utilizar tanto en párrafos como en modo LR,
+pero los entornos `displaymath' y `equation' se pueden utilizar
+únicamente en modo párrafo. Los entornos `math' y `displaymath' se
+utilizan tan a menudo que tienen las siguientes formas abreviadas:
+
+ \(...\) en lugar de \begin{math}...\end{math}
+ \[...\] en lugar de \begin{displaymath}...\end{displaymath}
+
+ De hecho, el entorno `math' es como una instrucción que tiene incluso
+una forma abreviada:
+
+ $ ... $ en lugar de \(...\)
+
+ La instrucción `\boldmath' cambia letras y símbolos matemáticos en
+tipo de letra en negrita. Este se utiliza _fuera_ del modo math. Por
+el contrario, la instrucción `\unboldmath' cambia los glifos matemáticos
+para estar en un tipo de letra normal; este también se utiliza _fuera_
+del modo math.
+
+ La declaración `\displaystyle' presiona para que el tamaño y estilo
+de la fórmula sea el de `displaymath', por ejemplo, con limites por
+encima y debajo de sumatorias. Por ejemplo
+ $\displaystyle \sum_{n=0}^\infty x_n $
+
+* Menu:
+
+* Subíndices y Superíndices:: También conocido como exponente o índice.
+* Símbolos Matemáticos:: Varios garabatos matemáticos.
+* Funciones Matemáticas:: Nombres de funciones Matemáticas como sin y exp.
+* Acentos Matemáticos:: Acentos en Matemáticas.
+* Espacios en Modo Math:: Espacios gruesos, medianos, delgados y negativos.
+* Miscelánea Math:: Cosas que no encajan en ninguna otra categoría.
+
+
+File: latex2e-es.info, Node: Subíndices y Superíndices, Next: Símbolos Matemáticos, Up: Fórmulas Matemáticas
+
+16.1 Subíndices y Superíndices
+==============================
+
+Para hacer que una expresión exp aparezca como un subíndice, escriba
+`_{'exp`}'. Para hacer que exp aparezca como un exponente, escriba
+`^{'exp`}'. LaTeX maneja superíndices, subíndices y todas esas cosas de
+manera natural. Incluso hace lo correcto cuando algo tiene tanto un
+subíndice como un superíndice.
+
+
+File: latex2e-es.info, Node: Símbolos Matemáticos, Next: Funciones Matemáticas, Prev: Subíndices y Superíndices, Up: Fórmulas Matemáticas
+
+16.2 Símbolos Matemáticos
+=========================
+
+LaTeX proporciona casi cualquier símbolo matemático que muy
+probablemente necesite. Las instrucciones para generarlas se pueden
+utilizar únicamente en modo math. Por ejemplo, si incluye `$\pi$' en su
+archivo fuente, aparecerá el símbolo de pi (\pi) en su salida.
+
+`\|'
+ \|
+
+`\aleph'
+ \aleph
+
+`\alpha'
+ \alpha
+
+`\amalg'
+ \amalg (operación binaria)
+
+`\angle'
+ \angle
+
+`\approx'
+ \approx (relación)
+
+`\ast'
+ \ast (operación binaria)
+
+`\asymp'
+ \asymp (relación)
+
+`\backslash'
+ \ (delimitador)
+
+`\beta'
+ \beta
+
+`\bigcap'
+ \bigcap
+
+`\bigcirc'
+ \bigcirc (operación binaria)
+
+`\bigcup'
+ \bigcup
+
+`\bigodot'
+ \bigodot
+
+`\bigoplus'
+ \bigoplus
+
+`\bigotimes'
+ \bigotimes
+
+`\bigtriangledown'
+ \bigtriangledown (operación binaria)
+
+`\bigtriangleup'
+ \bigtriangleup (operación binaria)
+
+`\bigsqcup'
+ \bigsqcup
+
+`\biguplus'
+ \biguplus
+
+`\bigcap'
+ \bigvee
+
+`\bigwedge'
+ \bigwedge
+
+`\bot'
+ \bot
+
+`\bowtie'
+ \bowtie (relación)
+
+`\Box'
+ (símbolo de caja cuadrada abierta)
+
+`\bullet'
+ \bullet (operación binaria)
+
+`\cap'
+ \cap (operación binaria)
+
+`\cdot'
+ \cdot (operación binaria)
+
+`\chi'
+ \chi
+
+`\circ'
+ \circ (operación binaria)
+
+`\clubsuit'
+ \clubsuit
+
+`\cong'
+ \cong (relación)
+
+`\coprod'
+ \coprod
+
+`\cup'
+ \cup (operación binaria)
+
+`\dagger'
+ \dagger (operación binaria)
+
+`\dashv'
+ \dashv (relación)
+
+`\ddagger'
+ \dagger (operación binaria)
+
+`\Delta'
+ \Delta
+
+`\delta'
+ \delta
+
+`\Diamond'
+ \diamond más grande
+
+`\diamond'
+ \diamond (operación binaria)
+
+`\diamondsuit'
+ \diamondsuit
+
+`\div'
+ \div (operación binaria)
+
+`\doteq'
+ \doteq (relación)
+
+`\downarrow'
+ \downarrow (delimitador)
+
+`\Downarrow'
+ \Downarrow (delimitador)
+
+`\ell'
+ \ell
+
+`\emptyset'
+ \emptyset
+
+`\epsilon'
+ \epsilon
+
+`\equiv'
+ \equiv (relación)
+
+`\eta'
+ \eta
+
+`\exists'
+ \exists
+
+`\flat'
+ \flat
+
+`\forall'
+ \forall
+
+`\frown'
+ \frown (relacion)
+
+`\Gamma'
+ \Gamma
+
+`\gamma'
+ \gamma
+
+`\ge'
+ \ge
+
+`\geq'
+ \geq (relación)
+
+`\gets'
+ \gets
+
+`\gg'
+ \gg (relación)
+
+`\hbar'
+ \hbar
+
+`\heartsuit'
+ \heartsuit
+
+`\hookleftarrow'
+ \hookleftarrow
+
+`\hookrightarrow'
+ \hookrightarrow
+
+`\iff'
+ \iff
+
+`\Im'
+ \Im
+
+`\in'
+ \in (relación)
+
+`\infty'
+ \infty
+
+`\int'
+ \int
+
+`\iota'
+ \iota
+
+`\Join'
+ símbolo de corbata de moño condensado (relación)
+
+`\kappa'
+ \kappa
+
+`\Lambda'
+ \Lambda
+
+`\lambda'
+ \lambda
+
+`\land'
+ \land
+
+`\langle'
+ \langle (delimitador)
+
+`\lbrace'
+ \lbrace (delimitador)
+
+`\lbrack'
+ \lbrack (delimitador)
+
+`\lceil'
+ \lceil (delimitador)
+
+`\le'
+ \le
+
+`\leadsto'
+
+`\Leftarrow'
+ \Leftarrow
+
+`\leftarrow'
+ \leftarrow
+
+`\leftharpoondown'
+ \leftharpoondown
+
+`\leftharpoonup'
+ \leftharpoonup
+
+`\Leftrightarrow'
+ \Leftrightarrow
+
+`\Leftrightarrow'
+ \Leftrightarrow
+
+`\leq'
+ \leq (relación)
+
+`\lfloor'
+ \lfloor (delimitador)
+
+`\lhd'
+ (flecha apuntando hacia arriba a la izquierda)
+
+`\ll'
+ \ll (relación)
+
+`\lnot'
+ \lnot
+
+`\longleftarrow'
+ \longleftarrow
+
+`\longleftrightarrow'
+ \longleftrightarrow
+
+`\longmapsto'
+ \longmapsto
+
+`\longrightarrow'
+ \longrightarrow
+
+`\lor'
+ \lor
+
+`\mapsto'
+ \mapsto
+
+`\mho'
+
+`\mid'
+ \mid (relación)
+
+`\models'
+ \models (relación)
+
+`\mp'
+ \mp (operación binaria)
+
+`\mu'
+ \mu
+
+`\nabla'
+ \nabla
+
+`\natural'
+ \natural
+
+`\ne'
+ \ne
+
+`\nearrow'
+ \nearrow
+
+`\neg'
+ \neg
+
+`\neq'
+ \neq (relación)
+
+`\ni'
+ \ni (relación)
+
+`\not'
+ Superpone una / al siguiente operador, tal como \not=.
+
+`\notin'
+ \ni
+
+`\nu'
+ \nu
+
+`\nwarrow'
+ \nwarrow
+
+`\odot'
+ \odot (operación binaria)
+
+`\oint'
+ \oint
+
+`\Omega'
+ \Omega
+
+`\omega'
+ \omega
+
+`\ominus'
+ \ominus (operación binaria)
+
+`\oplus'
+ \oplus (operación binaria)
+
+`\oslash'
+ \oslash (operación binaria)
+
+`\otimes'
+ \otimes (operación binaria)
+
+`\owns'
+ \owns
+
+`\parallel'
+ \parallel (relación)
+
+`\partial'
+ \partial
+
+`\perp'
+ \perp (relación)
+
+`\phi'
+ \phi
+
+`\Pi'
+ \Pi
+
+`\pi'
+ \pi
+
+`\pm'
+ \pm (operación binaria)
+
+`\prec'
+ \prec (relación)
+
+`\preceq'
+ \preceq (relación)
+
+`\prime'
+ \prime
+
+`\prod'
+ \prod
+
+`\propto'
+ \propto (relación)
+
+`\Psi'
+ \Psi
+
+`\psi'
+ \psi
+
+`\rangle'
+ \rangle (delimitador)
+
+`\rbrace'
+ \rbrace (delimitador)
+
+`\rbrack'
+ \rbrack (delimitador)
+
+`\rceil'
+ \rceil (delimitador)
+
+`\Re'
+ \Re
+
+`\rfloor'
+ \rfloor
+
+`\rhd'
+ (operación binaria)
+
+`\rho'
+ \rho
+
+`\Rightarrow'
+ \Rightarrow
+
+`\rightarrow'
+ \rightarrow
+
+`\rightharpoondown'
+ \rightharpoondown
+
+`\rightharpoonup'
+ \rightharpoonup
+
+`\rightleftharpoons'
+ \rightleftharpoons
+
+`\searrow'
+ \searrow
+
+`\setminus'
+ \setminus (operación binaria)
+
+`\sharp'
+ \sharp
+
+`\Sigma'
+ \Sigma
+
+`\sigma'
+ \sigma
+
+`\sim'
+ \sim (relación)
+
+`\simeq'
+ \simeq (relación)
+
+`\smallint'
+ \smallint
+
+`\smile'
+ \smile (relación)
+
+`\spadesuit'
+ \spadesuit
+
+`\sqcap'
+ \sqcap (operación binaria)
+
+`\sqcup'
+ \sqcup (operación binaria)
+
+`\sqsubset'
+ (relación)
+
+`\sqsubseteq'
+ \sqsubseteq (relación)
+
+`\sqsupset'
+ (relación)
+
+`\sqsupseteq'
+ \sqsupseteq (relación)
+
+`\star'
+ \star (operación binaria)
+
+`\subset'
+ \subset (relación)
+
+`\subseteq'
+ \subseteq (relación)
+
+`\succ'
+ \succ (relación)
+
+`\succeq'
+ \succeq (relación)
+
+`\sum'
+ \sum
+
+`\supset'
+ \supset (relación)
+
+`\supseteq'
+ \supseteq (relación)
+
+`\surd'
+ \surd
+
+`\swarrow'
+ \swarrow
+
+`\tau'
+ \tau
+
+`\theta'
+ \theta
+
+`\times'
+ \times (operación binaria)
+
+`\to'
+ \to
+
+`\top'
+ \top
+
+`\triangle'
+ \triangle
+
+`\triangleleft'
+ \triangleleft (operación binaria)
+
+`\triangleright'
+ \triangleright (operación binaria)
+
+`\unlhd'
+ punta de flecha apuntando hacia la izquierda con una línea debajo
+ (operación binaria)
+
+`\unrhd'
+ punta de flecha apuntando hacia la derecha con línea debajo
+ (operación binaria)
+
+`\Uparrow'
+ \Uparrow (delimitador)
+
+`\uparrow'
+ \uparrow (delimitador)
+
+`\Updownarrow'
+ \Updownarrow (delimitador)
+
+`\updownarrow'
+ \updownarrow (delimitador)
+
+`\uplus'
+ \uplus (operación binaria)
+
+`\Upsilon'
+ \Upsilon
+
+`\upsilon'
+ \upsilon
+
+`\varepsilon'
+ \varepsilon
+
+`\varphi'
+ \varphi
+
+`\varpi'
+ \varpi
+
+`\varrho'
+ \varrho
+
+`\varsigma'
+ \varsigma
+
+`\vartheta'
+ \vartheta
+
+`\vdash'
+ \vdash (relation)
+
+`\vee'
+ \vee (operación binaria)
+
+`\Vert'
+ \Vert (delimitador)
+
+`\vert'
+ \vert (delimitador)
+
+`\wedge'
+ \wedge (operación binaria)
+
+`\wp'
+ \wp
+
+`\wr'
+ \wr (operación binaria)
+
+`\Xi'
+ \Xi
+
+`\xi'
+ \xi
+
+`\zeta'
+ \zeta
+
+
+File: latex2e-es.info, Node: Funciones Matemáticas, Next: Acentos Matemáticos, Prev: Símbolos Matemáticos, Up: Fórmulas Matemáticas
+
+16.3 Funciones Matemáticas
+==========================
+
+Estas instrucciones producen nombres de función romanos en modo math con
+el espaciado adecuado.
+
+`\arccos'
+ \arccos
+
+`\arcsin'
+ \arcsin
+
+`\arctan'
+ \arctan
+
+`\arg'
+ \arg
+
+`\bmod'
+ Operador residuo binario (x \bmod y)
+
+`\cos'
+ \cos
+
+`\cosh'
+ \cosh
+
+`\cot'
+ \cos
+
+`\coth'
+ \cosh
+
+`\csc'
+ \csc
+
+`\deg'
+ \deg
+
+`\det'
+ \deg
+
+`\dim'
+ \dim
+
+`\exp'
+ \exp
+
+`\gcd'
+ \gcd
+
+`\hom'
+ \hom
+
+`\inf'
+ \inf
+
+`\ker'
+ \ker
+
+`\lg'
+ \lg
+
+`\lim'
+ \lim
+
+`\liminf'
+ \liminf
+
+`\limsup'
+ \limsup
+
+`\ln'
+ \ln
+
+`\log'
+ \log
+
+`\max'
+ \max
+
+`\min'
+ \min
+
+`\pmod'
+ residuo entre paréntesis, como en (\pmod 2^n - 1)
+
+`\Pr'
+ \Pr
+
+`\sec'
+ \sec
+
+`\sin'
+ \sin
+
+`\sinh'
+ \sinh
+
+`\sup'
+ \sup
+
+`\tan'
+ \tan
+
+`\tanh'
+ \tanh
+
+
+File: latex2e-es.info, Node: Acentos Matemáticos, Next: Espacios en Modo Math, Prev: Funciones Matemáticas, Up: Fórmulas Matemáticas
+
+16.4 Acentos Matemáticos
+========================
+
+LaTeX proporciona una variedad de instrucciones para producir letras
+acentuadas en matemáticas. Son distintas de los acentos en un texto
+normal (*note Acentos::).
+
+`\acute'
+ Acento agudo en modo Math: \acute{x}.
+
+`\bar'
+ Acento barra horizontal (macrón) en modo Math: \bar{x}.
+
+`\breve'
+ Acento breve en modo Math: \breve{x}.
+
+`\check'
+ Acento de verificación háÄek en modo Math: \check{x}.
+
+`\ddot'
+ Acento diéresis en modo Math: \ddot{x}.
+
+`\dot'
+ Acento punto superior en modo Math: \dot{x}.
+
+`\grave'
+ Acento grave en modo Math: \grave{x}.
+
+`\hat'
+ Acento circunflejo en modo Math: \hat{x}.
+
+`\imath'
+ i sin punto en modo Math.
+
+`\jmath'
+ j sin punto en modo Math.
+
+`\tilde'
+ Acento tilde en modo Math: \tilde{x}.
+
+`\vec'
+ Símbolo de vector en modo Math: \vec{x}.
+
+`\widehat'
+ Acento circunflejo amplio en modo Math: \widehat{x+y}.
+
+`\widetilde'
+ Acento tilde amplia en modo Math: \widetilde{x+y}.
+
+
+File: latex2e-es.info, Node: Espacios en Modo Math, Next: Miscelánea Math, Prev: Acentos Matemáticos, Up: Fórmulas Matemáticas
+
+16.5 Espacios en Modo Math
+==========================
+
+En un entorno `math', LaTeX ignora los espacios que usted escriba y
+coloca espacios de acuerdo a las reglas normales para texto matemático.
+Si desea un espaciado diferente, LaTeX proporciona las siguientes
+instrucciones para su uso en modo matemático:
+
+`\;'
+ Un espacio de grosor (5\over18\,cuádruple).
+
+`\:'
+`\>'
+ Ambos producen un espacio medio (2\over9\,cuádruple).
+
+`\,'
+ Un espacio fino (1\over6\,cuádruple); no se limita a modo
+ matemático.
+
+`\!'
+ Un espacio fino negativo (-{1\over6}\,cuádruple).
+
+
+File: latex2e-es.info, Node: Miscelánea Math, Prev: Espacios en Modo Math, Up: Fórmulas Matemáticas
+
+16.6 Miscelánea Math
+====================
+
+`\*'
+ Un símbolo de multiplicación “discrecionalâ€, en el que se permiten
+ saltos de línea.
+
+`\cdots'
+ Puntos suspensivos horizontales con los puntos elevados al centro
+ de la línea.
+
+`\ddots'
+ Puntos suspensivos en diagonal: \ddots.
+
+`\frac{num}{den}'
+ Produce la fracción `num' dividida entre `den'.
+
+`\left delimitador1 ... \right delimitador2'
+ Los dos delimitadores no necesitan coincidir; `.' actúa como un
+ delimitador nulo, sin producir salida. Los delimitadores son del
+ tamaño de acuerdo a las matemáticas en el medio. Ejemplo: `\left(
+ \sum_i=1^10 a_i \right]'.
+
+`\overbrace{texto}'
+ Genera un par de texto más. Por ejemplo, \overbrace{x+\cdots+x}^{k
+ \rm\;veces}.
+
+`\overline{texto}'
+ Genera una línea horizontal sobre texo. Por ejemplo,
+ \overline{x+y}.
+
+`\sqrt[raíz]{argumento}'
+ Produce la representación de la raíz cuadrada de argumento. El
+ argumento opcional raíz determina qué raíz producir. Por ejemplo,
+ la raíz cúbica de `x+y' se escribe como `$\sqrt[3]{x+y}$'.
+
+`\stackrel{texto}{relación}'
+ Coloca el texto sobre la relación.
+
+ Por ejemplo, `\stackrel{f}{\longrightarrow}'.
+
+`\underbrace{matemáticas}'
+ Genera matemáticas con una llave por debajo.
+
+`\underline{text}'
+ Provoca que se subraye el texto, el cual bien puede estar en modo
+ math o no. La línea siempre está por debajo del texto, teniendo en
+ cuenta los descendientes.
+
+`\vdots'
+ Produce puntos suspensivos verticales.
+
+
+File: latex2e-es.info, Node: Modos, Next: Estilos de Página, Prev: Fórmulas Matemáticas, Up: Top
+
+17 Modos
+********
+
+Cuando LaTeX está procesando el texto fuente, este siempre está en uno
+de tres modos:
+
+ • Modo Párrafo
+
+ • Modo Math
+
+ • Modo de Izquierda a derecha (Left-to-Right), llamado modo LR para
+ abreviar
+
+ LaTeX cambia el modo sólo cuando sube o baja una escala a un
+diferente nivel, aunque no todos los cambios de nivel producen cambios
+de modo. Los cambios de modo sólo se producen al entrar o salir de un
+entorno, o cuando LaTeX está procesando el argumento de determinadas
+instrucciones que producen texto.
+
+ El “modo Párrafo†es el más común; es en el que LaTeX está cuando
+procesa texto ordinario. En ese modo, LaTeX rompe el texto en líneas y
+separa líneas en páginas. LaTeX está en “modo math†cuando está
+generando fórmulas matemáticas. En “modo LRâ€, como en modo párrafo,
+LaTeX considera que la salida que produce es una cadena de palabras con
+espacios entre ellas. Sin embargo, a diferencia del modo párrafo, LaTeX
+sigue yendo de izquierda a derecha; nunca inicia una nueva línea en modo
+LR. Incluso si usted pone un centenar de palabras en una `\mbox', LaTeX
+mantendrá la composición de izquierda a derecha dentro de una caja
+única, y luego se quejará porque la caja resultante fue demasiado grande
+para caber en la línea.
+
+ LaTeX está en modo LR cuando comienza a hacer una caja con una
+instrucción `\mbox'. Usted puede conseguir introducirse en un modo
+diferente dentro de la caja —por ejemplo, usted puede hacerlo entrar en
+el modo matemático para poner una fórmula en la caja. También hay
+varias instrucciones productoras de texto y entornos para hacer una caja
+que ponga a LaTeX en el modo de párrafo. La caja hecha por medio de una
+de estas instrucciones o entornos se llama `parbox'. Cuando LaTeX está
+en el modo de párrafo mientras que hace una caja, se dice que está en
+“modo interno de párrafoâ€. Su modo de párrafo normal, que se inicia
+fuera de él, se llama el “modo de párrafo externoâ€.
+
+
+File: latex2e-es.info, Node: Estilos de Página, Next: Espacios, Prev: Modos, Up: Top
+
+18 Estilos de Página
+********************
+
+La instrucción `\documentclass' determina el tamaño y posición de las
+cabeceras y pies de página. El estilo de página determina lo que sucede
+en ellos.
+
+* Menu:
+
+* \maketitle:: Genera una página de título.
+* \pagenumbering:: Fija el estilo utilizado para los números de página.
+* \pagestyle:: Cambia el estilo de las cabeceras/pies de página.
+* \thispagestyle:: Cambiar el estilo de las cabeceras/pies de página para esa página.
+
+
+File: latex2e-es.info, Node: \maketitle, Next: \pagenumbering, Up: Estilos de Página
+
+18.1 `\maketitle'
+=================
+
+La instrucción `\maketitle' genera un título en una página independiente
+— excepto en la clase `article', donde se coloca el título en la parte
+superior de la primera página. La información utilizada para producir
+el título se obtiene de las siguientes declaraciones:
+
+`\author{nombre \and nombre2}'
+ La instrucción `\author' declara los autor(es) del documento, donde
+ el argumento es una lista de autores separados por instrucciones
+ `\and'. Use `\\' para separar líneas con una única entrada de
+ autor —por ejemplo, para proporcionar las entidades de autor o
+ dirección.
+
+`\date{texto}'
+ La instrucción `\date' declara el texto para ser la fecha del
+ documento. Sin la instrucción `\date', se utiliza la fecha actual
+ (*note \today::).
+
+`\thanks{texto}'
+ La instrucción `\thanks' produce un pie de página (`\footnote')
+ para el título, normalmente utilizada para reconocimiento de
+ créditos.
+
+`\title{texto}'
+ La instrucción `\title' declara texto para ser el título del
+ documento. Use `\\' para forzar un salto de línea, de la manera
+ usual.
+
+
+File: latex2e-es.info, Node: \pagenumbering, Next: \pagestyle, Prev: \maketitle, Up: Estilos de Página
+
+18.2 `\pagenumbering'
+=====================
+
+Sinopsis:
+
+ \pagenumbering{estilo}
+
+ Especifica el estilo de los números de página, de acuerdo a estilo:
+
+`arabic'
+ números arábigos
+
+`roman'
+ números romanos en minúscula
+
+`Roman'
+ numeros romanos en mayúscula
+
+`alph'
+ letras en minúscula
+
+`Alph'
+ letras en mayúscula
+
+
+File: latex2e-es.info, Node: \pagestyle, Next: \thispagestyle, Prev: \pagenumbering, Up: Estilos de Página
+
+18.3 `\pagestyle'
+=================
+
+Sinopsis:
+
+ \pagestyle{estilo}
+
+ La instrucción `\pagestyle' especifica como se componen
+tipográficamente las cabeceras y pies de página a partir de la página
+actual. Valores para estilo:
+
+`plain'
+ Únicamente un número de página sencillo.
+
+`empty'
+ Cabeceras y pies de página vacíos, por ejemplo, sin números de
+ página.
+
+`headings'
+ Coloca encabezados en cada página. El estilo de documento
+ especifica lo que sucede en las cabeceras.
+
+`myheadings'
+ Cabeceras personalizadas, especificadas via las instrucciones
+ `\markboth' o `\markright'.
+
+ Aquí están las descripciones de `\markboth' y `\markright':
+
+`\markboth{izquierda}{derecha}'
+ Establece ambas cabeceras izquierda y derecha. Una “cabecera a
+ mano izquierda†(izquierda) es generada por la última instrucción
+ `\markboth' antes del final de la página, mientras que una
+ “cabecera a mano derecha†(derecha) es generada por la primera
+ `\markboth' o `\markright' que venga en la página si la hay, de
+ otra manera por la última antes de la página.
+
+`\markright{derecha}'
+ Establece la cabecera de la derecha, dejando la cabecera de la
+ izquierda sin cambios.
+
+
+File: latex2e-es.info, Node: \thispagestyle, Prev: \pagestyle, Up: Estilos de Página
+
+18.4 `\thispagestyle{estilo}'
+=============================
+
+La instrucción `\thispagestyle' trabaja de la misma manera que la
+instrucción `\pagestyle' (vea la sección previa) excepto que esta
+únicamente cambia el estilo de la página actual.
+
+
+File: latex2e-es.info, Node: Espacios, Next: Cajas, Prev: Estilos de Página, Up: Top
+
+19 Espacios
+***********
+
+LaTeX tiene muchas formas de producir espacios en blanco (o llenos).
+
+ Otra instrucción que produce espacios es `\' para producir un espacio
+“fino†(por lo general 1/6cuadrático). Se puede utilizar en modo texto,
+pero más a menudo es útil en modo matemático (*note Espacios en Modo
+Math::).
+
+* Menu:
+
+Espacio horizontal
+* \hspace:: Espacio horizontal fijo.
+* \hfill:: Espacio horizontal extensible.
+* \SPACE:: Espacio normal entre palabras.
+* \AT:: Finalizando una frase.
+* \thinspace:: Una sexta parte de una em.
+* \/:: Corrección cursiva por caracteres.
+* \hrulefill:: Regla horizontal extensible.
+* \dotfill:: Puntos horizontales extensibles.
+
+Espacio Vertical
+* \addvspace:: Añadiendo espacio vertical arbitrario si es necesario.
+* \bigskip \medskip \smallskip:: Espacio vertical fijo.
+* \vfill:: Espacio vertical infinitamente extensible.
+* \vspace:: Añadiendo espacio vertical arbitrario.
+
+
+File: latex2e-es.info, Node: \hspace, Next: \hfill, Up: Espacios
+
+19.1 `\hspace'
+==============
+
+Sinopsis:
+
+ \hspace[*]{longitud}
+
+ La instrucción `\hspace' añade espacio horizontal. El argumento
+length se puede expresar en cualquier término que LaTeX entienda:
+puntos, pulgadas, etc. Esta es la longitud a preservar. Usted puede
+agregar tanto espacios negativos como positivos con una instrucción
+`\hspace'; agregar espacio negativo es como espacio hacia atrás.
+
+ LaTeX normalmente elimina el espacio horizontal que viene al
+principio o al final de una línea. Para preservar este espacio, use la
+forma opcional con `*'.
+
+
+File: latex2e-es.info, Node: \hfill, Next: \SPACE, Prev: \hspace, Up: Espacios
+
+19.2 `\hfill'
+=============
+
+La instrucción `\hfill' produce un “relleno de longitud†que no tiene
+espacio natural sino que se puede extender o reducir en sentido
+horizontal en la medida necesaria.
+
+ El parámetro `\fill' es la misma longitud a rellenar (técnicamente,
+el valor a agregar `0pt plus1fill'); es decir, `\hspace\fill' es
+equivalente a `\hfill'.
+
+
+File: latex2e-es.info, Node: \SPACE, Next: \AT, Prev: \hfill, Up: Espacios
+
+19.3 `\SPACE'
+=============
+
+La instrucción `\ ' (space) produce un espacio entre palabras normal.
+Es útil después de signos de puntuación que no deben terminar una
+oración. Por ejemplo, `Knuth's article in Proc.\ Amer.\ Math\. Soc.\ es
+fundamental'. Esta también se suele utilizar después de secuencias de
+control, como en `\TeX\ es un sistema agradable'.
+
+ En circunstancias normales, `\'<tab> y `\'<newline> son equivalentes
+a `\ '.
+
+
+File: latex2e-es.info, Node: \AT, Next: \thinspace, Prev: \SPACE, Up: Espacios
+
+19.4 `\@'
+=========
+
+La instrucción `\@' hace que el siguiente carácter de puntuación final
+una declaración incluso si normalmente no es así. Esto se suele
+utilizar después de una letra mayúscula. Aquí están lado a lado
+ejemplos con y sin `\@':
+
+ … en C\@. Pascal, aunque …
+ … en C. Pascal, aunque …
+
+produce
+
+ … en C. Pascal, aunque … … en C. Pascal, aunque …
+
+
+File: latex2e-es.info, Node: \thinspace, Next: \/, Prev: \AT, Up: Espacios
+
+19.5 `\thinspace'
+=================
+
+`\thinspace' produce un espacio inviolable e inextensible que es de un
+1/6 de em. Este es el espacio adecuado para su uso en citas anidadas,
+como en 'â€.
+
+
+File: latex2e-es.info, Node: \/, Next: \hrulefill, Prev: \thinspace, Up: Espacios
+
+19.6 `\/'
+=========
+
+La instrucción `\/' produce una "corrección en cursiva". Este es un
+pequeño espacio definido por el diseñador de tipografías para un
+carácter determinado, para evitar chocar con el carácter que lo sigue.
+El carácter en cursiva f típicamente tiene un valor de corrección en
+cursiva grande.
+
+ Si el siguiente carácter es un punto o una coma, no es necesario
+insertar una corrección en cursiva, dado que estos símbolos tienen una
+puntuación de muy poca altura. Sin embargo, con punto y coma o dos
+puntos, así como letras normales, puede ayudar. Compare f: f; (en la
+salida TeX, las `f's están separadas correctamente) con f: f;.
+
+ A pesar del nombre, los caracteres latinos también pueden tener una
+corrección en cursiva. Compare pdfTeX (en la TeX salida, hay un pequeño
+espacio después de la `f') con pdfTeX.
+
+
+File: latex2e-es.info, Node: \hrulefill, Next: \dotfill, Prev: \/, Up: Espacios
+
+19.7 `\hrulefill'
+=================
+
+La instrucción `\hrulefill' produce un “relleno de longitud†el cual se
+puede estrechar o estirar horizontalmente. Este se llenará con una
+regla horizontal.
+
+
+File: latex2e-es.info, Node: \dotfill, Next: \addvspace, Prev: \hrulefill, Up: Espacios
+
+19.8 `\dotfill'
+===============
+
+La instrucción `\dotfill' produce un “relleno de longitud†la cual se
+rellena con puntos en lugar de sólo espacios en blanco.
+
+
+File: latex2e-es.info, Node: \addvspace, Next: \bigskip \medskip \smallskip, Prev: \dotfill, Up: Espacios
+
+19.9 `\addvspace'
+=================
+
+`\addvspace{longitud}'
+
+ La instrucción `\addvspace' normalmente añade un espacio vertical de
+altura longitud. Sin embargo, si el espacio vertical ya se ha añadido
+al mismo punto en la salida por medio de una instrucción `\addvspace'
+anterior, esta instrucción no añade más espacio que el necesario para
+hacer que la longitud natural del espacio vertical total equivalente a
+`longitud'.
+
+
+File: latex2e-es.info, Node: \bigskip \medskip \smallskip, Next: \vfill, Prev: \addvspace, Up: Espacios
+
+19.10 `\bigskip \medskip \smallskip'
+====================================
+
+Estas instrucciones producen una determinada cantidad de espacio.
+
+`\bigskip'
+ Al igual que `\vspace{bigskipamount}', normalmente alrededor de un
+ espacio de línea (con estirar y encoger).
+
+`\medskip'
+ Al igual que `\vspace{medskipamount}', normalmente cerca de la
+ mitad del espacio de una línea (con estirar y encoger).
+
+`\smallskip'
+ Al igual que `\vspace{smallskipamount}', normalmente alrededor de
+ un cuarto del espacio de una línea (con estirar y encoger).
+
+ Los parámetros `\...cantidad' están determinados por la clase de
+documento.
+
+
+File: latex2e-es.info, Node: \vfill, Next: \vspace, Prev: \bigskip \medskip \smallskip, Up: Espacios
+
+19.11 `\vfill'
+==============
+
+La instrucción `\vfill' produce un relleno de longitud (pegado) el cual
+se puede reducir y estirar verticalmente tanto como sea necesario. Este
+es equivalente a `\vspace{\fill}' (*note \hfill::).
+
+
+File: latex2e-es.info, Node: \vspace, Prev: \vfill, Up: Espacios
+
+19.12 `\vspace[*]{longitud}'
+============================
+
+Sinopsis:
+
+ \vspace[*]{longitud}
+
+ La instrucción `\vspace' añade el espacio vertical length, es decir,
+un relleno de longitud. longitud puede ser positivo o negativo.
+
+ Normalmente, LaTeX remueve el espacio vertical añadido por `\vspace'
+en la parte superior o inferior de una página. Con el argumento
+opcional `*', no se elimina el espacio.
+
+
+File: latex2e-es.info, Node: Cajas, Next: Inserciones Especiales, Prev: Espacios, Up: Top
+
+20 Cajas
+********
+
+Todos los parámetros de longitud predeterminados (*note Longitudes
+Predeterminadas::) se pueden utilizar en los argumentos de las
+instrucciones que generan cajas.
+
+* Menu:
+
+* \mbox:: Cajas horizontales.
+* \fbox y \framebox:: Coloca un marco alrededor de una caja.
+* lrbox:: Un entorno como \sbox.
+* \makebox:: Caja, de posición ajustable.
+* \parbox:: Caja con texto en modo párrafo.
+* \raisebox:: Sube o baja el texto.
+* \savebox:: Al igual que \makebox, pero guarda el texto para utilizarlo posteriormente.
+* \sbox:: Igual que \mbox, pero guarda el texto para utilizarlo posteriormente.
+* \usebox:: Imprime texto guardado.
+
+
+File: latex2e-es.info, Node: \mbox, Next: \fbox y \framebox, Up: Cajas
+
+20.1 `\mbox{texto}'
+===================
+
+La instrucción `\mbox' crea una caja lo suficientemente ancha para
+contener el texto creado por sus argumentos. El texto no se separa en
+líneas, por lo tanto este se puede utilizar para prevenir la separación
+silábica.
+
+
+File: latex2e-es.info, Node: \fbox y \framebox, Next: lrbox, Prev: \mbox, Up: Cajas
+
+20.2 `\fbox' y `\framebox'
+==========================
+
+Sinopsis:
+
+ \fbox{texto}
+ \framebox[ancho][posición]{texto}
+
+ Las instrucciones `\fbox' y `\framebox' son como `\mbox', excepto que
+estas ponen un marco al rededor del exterior de la caja que se está
+creando.
+
+ Además, la instrucción `\framebox' permite especificar explícitamente
+la anchura de la caja con el argumento opcional width (una dimensión), y
+la posiciona con el argumento opcional posición.
+
+ Ambas instrucciones producen una regla de espesor `\fboxrule'
+(predeterminado a `.4pt'), y dejan un espacio de `\fboxsep'
+(predeterminado a `3pt') entre la regla y el contenido de la caja.
+
+ *Note \framebox (imagen)::, para la instrucción `\framebox' en el
+entorno `picture'.
+
+
+File: latex2e-es.info, Node: lrbox, Next: \makebox, Prev: \fbox y \framebox, Up: Cajas
+
+20.3 `lrbox'
+============
+
+`\begin{lrbox}{instrucción} texto \end{lrbox}'
+
+ Esta es la forma de entorno de `\sbox'.
+
+ El texto dentro del entorno se guarda en la caja `instrucción', misma
+que se debe haber declarado con `\newsavebox'.
+
+
+File: latex2e-es.info, Node: \makebox, Next: \parbox, Prev: lrbox, Up: Cajas
+
+20.4 `\makebox'
+===============
+
+Sinopsis:
+
+ \makebox[ancho][posición]{texto}
+
+ La instrucción `\makebox' crea una caja lo suficientemente ancha para
+contener el texto especificado. La anchura de la caja es especificada
+por el argumento opcional ancho. La posición del texto dentro de la
+caja está determinada por el argumento opcional posición, el cual puede
+tomar los siguientes valores:
+
+`c'
+ Centrado (predeterminado).
+
+`l'
+ Alineado a la izquierda
+
+`r'
+ Alineado a la derecha
+
+`s'
+ Alineado (justificado) a través de ancho; texto debe contener
+ espacio elástico para que esto funcione.
+
+ `\makebox' también se utiliza en el entorno picture *note \makebox
+(imagen)::.
+
+
+File: latex2e-es.info, Node: \parbox, Next: \raisebox, Prev: \makebox, Up: Cajas
+
+20.5 `\parbox'
+==============
+
+Sinopsis:
+
+ \parbox[posición][alto][pos-interna]{ancho}{texto}
+
+ La instrucción `\parbox' produce una caja cuyo contenido es creado en
+modo `paragraph'. Se debe utilizar para hacer una caja de pequeñas
+piezas de texto, sin nada lujoso en el interior. En particular, no debe
+utilizar ningún entorno que genere párrafos dentro de un argumento
+`\parbox'. Para grandes piezas de texto, incluyendo aquellas que
+contienen un entorno que genera párrafos, debe usar un entorno
+`minipágina' (*note minipage::).
+
+ `\parbox' tiene dos argumentos obligatorios:
+
+ancho
+ la anchura de parbox;
+
+texto
+ El texto que va dentro de la parbox.
+
+ El argumento opcional posición le permite alinear la línea en la
+parte superior o inferior de parbox con la línea base del texto que lo
+rodea (de manera predeterminada es superior).
+
+ El argumento opcional alto reemplaza la altura natural de la caja.
+
+ Al argumento pos-interior controla la ubicación del texto dentro de
+la caja de la siguiente manera; Si no se especifica, se utiliza
+posición.
+
+`t'
+ El texto es colocado en la parte superior de la caja.
+
+`c'
+ El texto se coloca al centro de la caja.
+
+`b'
+ El texto se coloca en la parte inferior de la caja.
+
+`s'
+ Se extiende verticalmente; el texto debe contener espacio vertical
+ extensible para que esto funcione.
+
+
+File: latex2e-es.info, Node: \raisebox, Next: \savebox, Prev: \parbox, Up: Cajas
+
+20.6 `\raisebox'
+================
+
+Sinopsis:
+
+ \raisebox{distancia}[alto][profundidad]{texto}
+
+ La instrucción `\raisebox' aumenta o disminuye el texto. El primer
+argumento obligatorio especifica a qué altura se va a levantar (o bajar
+si la cantidad es negativa) el texto. El texto mismo es procesado en
+modo LR.
+
+ Los argumentos opcionales alto y profundidad son dimensiones. Si se
+especifican, LaTeX trata a texto como una ampliación de una distancia
+determinada sobre la línea base (alto) o bajo (profundidad), omitiendo
+su altura y profundidad natural.
+
+
+File: latex2e-es.info, Node: \savebox, Next: \sbox, Prev: \raisebox, Up: Cajas
+
+20.7 `\savebox'
+===============
+
+Sinopsis:
+
+ \savebox{\instrucción-caja}[ancho][posición]{texto}
+
+ Esta instrucción fija la tipografía de texto en una caja al igual que
+`\makebox' (*note \makebox::), excepto que el lugar de imprimir la caja
+resultante, esta la guarda en la caja etiquetada \instrucción-caja, que
+se debe haber declarado con `\newsavebox' (*note \newsavebox::).
+
+
+File: latex2e-es.info, Node: \sbox, Next: \usebox, Prev: \savebox, Up: Cajas
+
+20.8 `\sbox{\instrucción-caja}{texto}'
+======================================
+
+Sinopsis:
+
+ \sbox{\instrucción-caja}{texto}
+
+ `\sbox' escribe el texto en una caja tal como `\mbox' (*note \mbox::)
+excepto que en lugar de incluir la caja resultante en la salida normal,
+esta la guarda en la caja etiquetada \instrucción-caja.
+\instrucción-caja se debió declarar previamente con `\newsavebox' (*note
+\newsavebox::).
+
+
+File: latex2e-es.info, Node: \usebox, Prev: \sbox, Up: Cajas
+
+20.9 `\usebox{\instrucción-caja}'
+=================================
+
+Sinopsis:
+
+ \usebox{\instrucción-caja}
+
+ `\usebox' produce la caja guardada más recientemente en el depósito
+\instrucción-caja por una instrucción `\savebox' (*note \savebox::).
+
+
+File: latex2e-es.info, Node: Inserciones Especiales, Next: Dividiendo la Entrada, Prev: Cajas, Up: Top
+
+21 Inserciones Especiales
+*************************
+
+LaTeX proporciona instrucciones para insertar caracteres que tienen un
+significado especial que no corresponde a caracteres simples que usted
+puede escribir.
+
+* Menu:
+
+* Caracteres Reservados:: Insertando # $ % & ~ _ ^ \ { }
+* Símbolos de Texto:: Insertando en el texto otros símbolos distintos a letras.
+* Acentos:: Insertando acentos.
+* Caracteres no Ingleses:: Insertando otros caracteres no Ingleses.
+* \rule:: Insertando líneas y rectángulos.
+* \today:: Insertando la fecha de hoy.
+
+
+File: latex2e-es.info, Node: Caracteres Reservados, Next: Símbolos de Texto, Up: Inserciones Especiales
+
+21.1 Caracteres Reservados
+==========================
+
+Los siguientes caracteres desempeñan un papel especial en LaTeX y se
+llaman “caracteres reservados†o “caracteres especialesâ€.
+
+ # $ % & ~ _ ^ \ { }
+
+ Siempre que escriba en su archivo uno de estos caracteres, LaTeX debe
+hacer algo especial. Si simplemente desea imprimir el carácter en sí
+mismo, incluya un carácter `\' anteponiéndolo a este. Por ejemplo, `\$'
+debe producir `$' en su salida.
+
+ Una excepción a esta regla es la `\' misma, debido a que `\' tiene su
+propio significado especial (dependiente del contexto). Una \ romana es
+producida al escribir `$\backslash$' en su archivo, y una `\' de máquina
+de escribir es producida usando `\' en una instrucción verbatim (*note
+verbatim::).
+
+ Además, `\~' y `\^' colocan acentos tilde y circunflejo sobre la
+siguiente letra, como en õ y ô (*note Acentos::); Para obtener una `~' o
+`^' independiente, usted puede utilizar una instrucción verbatim.
+
+ Por último, puede acceder a cualquier carácter del tipo de letra
+actual una vez que sepa su número utilizando la instrucción `\symbol'.
+Por ejemplo, el carácter de espacio visibles utilizada en la instrucción
+`\verb*' tiene el código decimal 32, por lo tanto se puede escribir como
+`\symbol{32}'.
+
+ También puede especificar números octales con `'' o números
+hexadecimales con `"', por lo que el ejemplo anterior también se podría
+escribir como `\symbol{'40}' o `\symbol{"20}'.
+
+
+File: latex2e-es.info, Node: Símbolos de Texto, Next: Acentos, Prev: Caracteres Reservados, Up: Inserciones Especiales
+
+21.2 Símbolos de Texto
+======================
+
+LaTeX proporciona instrucciones para generar una serie símbolos
+distintos de letras, en el texto. Algunos de estos, especialmente los
+más oscuros, no están disponibles en OT1; posiblemente tenga que cargar
+el paquete `textcomp'.
+
+`\copyright'
+`\textcopyright'
+ El símbolo de copyright, ©.
+
+`\dag'
+ El símbolo daga (en texto).
+
+`\ddag'
+ El símbolo doble daga (en texto).
+
+`\LaTeX'
+ El logotipo de LaTeX.
+
+`\guillemotleft («)'
+`\guillemotright (»)'
+`\guilsinglleft (‹)'
+`\guilsinglright (›)'
+ Comillas tipográficas angulares dobles y simples, utilizadas
+ comúnmente en Francés: «, », ‹, ›.
+
+`\ldots'
+`\dots'
+`\textellipsis'
+ Puntos suspensivos (tres puntos en la línea base): `…'. `\ldots' y
+ `\dots' también trabajan en modo math.
+
+`\lq'
+ Comilla izquierda (de apertura): `.
+
+`\P'
+`\textparagraph'
+ Signo de párrafo (antígrafo).
+
+`\pounds'
+`\textsterling'
+ Libras esterlinas en Inglés: £.
+
+`\quotedblbase („)'
+`\quotesinglbase (‚)'
+ Simple y dobles comillas en la línea base: „ y ‚.
+
+`\rq'
+ Comilla derecha (de cierre): '.
+
+`\S'
+ Símbolo de sección.
+
+`\TeX'
+ El logotipo de TeX.
+
+`\textasciicircum'
+ Circunflejo ASCII: ^.
+
+`\textasciitilde'
+ Tilde ASCII: ~.
+
+`\textasteriskcentered'
+ Asterisco centrado: *.
+
+`\textbackslash'
+ Barra inversa: \.
+
+`\textbar'
+ Barra Vertical: |.
+
+`\textbardbl'
+ Doble barra vertical.
+
+`\textbigcircle'
+ Símbolo círculo grande.
+
+`\textbraceleft'
+ Llave izquierda: {.
+
+`\textbraceright'
+ Llave derecha: }.
+
+`\textbullet'
+ Bala: •.
+
+`\textcircled{letra}'
+ letra en un círculo, como en ®.
+
+`\textcompwordmark'
+`\textcapitalwordmark'
+`\textascenderwordmark'
+ Marca de palabra compuesta (invisible). La forma `\textcapital...'
+ tiene la tapa del tipo de letra, mientras que la forma
+ `\textascender...' tiene el ascender superior.
+
+`\textdagger'
+ Daga: \dag.
+
+`\textdaggerdbl'
+ Daga doble: \ddag.
+
+`\textdollar (o `$')'
+ Signo de Dólar: $.
+
+`\textemdash (o `---')'
+ Em-dash: — (para puntuación).
+
+`\textendash (o `--')'
+ En-dash: — (para rangos).
+
+`\texteuro'
+ El Símbolo del Euro: €.
+
+`\textexclamdown (o `!`')'
+ Signo de exclamación inicial: ¡.
+
+`\textgreater'
+ Mayor que: >.
+
+`\textless'
+ Menor que: <.
+
+`\textleftarrow'
+ Flecha izquierda.
+
+`\textordfeminine'
+`\textordmasculine'
+ Símbolos ordinales femenino y masculino: ª, º.
+
+`\textordfeminine'
+ Símbolo ordinal femenino: ª.
+
+`\textperiodcentered'
+ Punto centrado: \cdot.
+
+`\textquestiondown (o `?`')'
+ Signo de interrogación inicial: ¿.
+
+`\textquotedblleft (o ```')'
+ Comillas dobles de apertura: “.
+
+`\textquotedblright (o `'')'
+ Dobles comillas de cierre: â€.
+
+`\textquoteleft (o ``')'
+ Comilla de apertura simple: `.
+
+`\textquoteright (o `'')'
+ Comilla de cierre simple: '.
+
+`\textquotestraightbase'
+`\textquotestraightdblbase'
+ Líneas rectas simples y dobles en la línea base.
+
+`\textregistered'
+ Símbolo de marca registrada: ®.
+
+`\textrightarrow'
+ Flecha hacia la derecha.
+
+`\textthreequartersemdash'
+ em-dash de “Tres cuartosâ€, entre en-dash y em-dash.
+
+`\texttrademark'
+ Símbolo de marca comercial: ^{\hbox{TM}}.
+
+`\texttwelveudash'
+ Xx 12u-.
+
+`\textunderscore'
+ Subrayado: _.
+
+`\textvisiblespace'
+ Símbolo de espacio visible.
+
+
+File: latex2e-es.info, Node: Acentos, Next: Caracteres no Ingleses, Prev: Símbolos de Texto, Up: Inserciones Especiales
+
+21.3 Acentos
+============
+
+LaTeX tiene un amplio apoyo para muchos de los guiones de idiomas del
+mundo, a través del paquete `babel' y de apoyo relacionados. Esta
+sección no pretende abarcar todas con las que es compatible. Este
+simplemente se limita a enumerar las principales instrucciones LaTeX
+para crear caracteres acentuados.
+
+ Las instrucciones `\capital...' producen formas alternativas para su
+uso con letras mayúsculas. Estas no están disponibles con OT1.
+
+`\"'
+`\capitaldieresis'
+ Produce una diéresis, como en ö.
+
+`\''
+`\capitalacute'
+ Produce un acento agudo, como en ó. En el entorno `tabbing',
+ empuja la columna actual a la derecha de la columna anterior (*note
+ tabbing::).
+
+`\.'
+ Produce un punto como acento sobre la siguiente, como en ȯ.
+
+`\='
+`\capitalmacron'
+ Produce un acento macrón (una barra) sobre el siguiente, como en Å.
+
+`\^'
+`\capitalcircumflex'
+ Produce un acento circunflejo (sombrero) sobre la siguiente, como
+ en ô.
+
+`\`'
+`\capitalgrave'
+ Produce un acento grave sobre la siguiente, como en ò. En el
+ entorno `tabbing', mueve el siguiente texto hacia el margen derecho
+ (*note tabbing::).
+
+`\~'
+`\capitaltilde'
+ Produce una tilde como acento sobre la siguiente, como en ñ.
+
+`\b'
+ Produce una barra como acento sobre la siguiente, como en o̲.
+
+`\c'
+`\capitalcedilla'
+ Produce una cedilla como acento sobre la siguiente, como en ç.
+
+`\d'
+`\capitaldotaccent'
+ Produce un círculo como acento sobre la siguiente, como en á».
+
+`\H'
+`\capitalhungarumlaut'
+ Produce un acento diéresis húngaro sobre la siguiente, como en ő.
+
+`\i'
+ Produce una i sin punto, como en `ı'.
+
+`\j'
+ Produce una j sin punto, como en `j'.
+
+`\k'
+`\capitalogonek'
+ Produce una letra con colita, como en `Ç«'. No disponible en la
+ codificación OT1.
+
+`\r'
+`\capitalring'
+ Produce un anillo como acento, como en `oÌŠ'.
+
+`\t'
+`\capitaltie'
+`\newtie'
+`\capitalnewtie'
+ Produce una atadura con el siguiente como acento, como en `oo['.
+ La forma `\newtie' está centrada en su caja.
+
+`\u'
+`\capitalbreve'
+ Produce un acento breve, como en `Å'.
+
+`\underbar'
+ No es exactamente un acento, este produce una barra en el argumento
+ texto. El argumento siempre se procesa en modo horizontal. La
+ barra siempre está en una posición fija en la línea base, por lo
+ que cruza a través de los trazos descendentes. Vea también
+ `\underline' en *note Miscelánea Math::.
+
+`\v'
+`\capitalcaron'
+ Produce un acento háÄek (anticircunflejo, carón), como en `Ç’'.
+
+
+File: latex2e-es.info, Node: Caracteres no Ingleses, Next: \rule, Prev: Acentos, Up: Inserciones Especiales
+
+21.4 Caracteres no Ingleses
+===========================
+
+Estas son las instrucciones LaTeX básicas para insertar los caracteres
+más usados en idiomas distintos del Inglés.
+
+`\aa'
+`\AA'
+ å y Å.
+
+`\ae'
+`\AE'
+ æ y Æ.
+
+`\dh'
+`\DH'
+ Letra eth islandesa: ð y Ã.
+
+`\dj'
+`\DJ'
+ xxxx
+
+`\ij'
+`\IJ'
+ ij y IJ (salvo que un poco más juntas que como aparecen aquí).
+
+`\l'
+`\L'
+ Å‚ y Å.
+
+`\ng'
+`\NG'
+ xxxx
+
+`\o'
+`\O'
+ ø y Ø.
+
+`\oe'
+`\OE'
+ Å“ y Å’.
+
+`\ss'
+`\SS'
+ ß y SS.
+
+`\th'
+`\TH'
+ Letra espina Islandesa: þ y Þ.
+
+
+File: latex2e-es.info, Node: \rule, Next: \today, Prev: Caracteres no Ingleses, Up: Inserciones Especiales
+
+21.5 `\rule'
+============
+
+Sinopsis:
+
+ \rule[aumentar]{ancho}{espesor}
+
+ La instrucción `\rule' produce "reglas", que son, líneas o
+rectángulos. Los argumentos son:
+
+aumentar
+ Qué tanto aumentar la regla (opcional).
+
+ancho
+ La longitud de la regla (obligatorio).
+
+espesor
+ El espesor de la regla (obligatorio).
+
+
+File: latex2e-es.info, Node: \today, Prev: \rule, Up: Inserciones Especiales
+
+21.6 `\today'
+=============
+
+La instrucción `\today' produce la fecha de hoy, en formato `mes dd,
+aaaa'; por ejemplo, `Julio 04 1976'. Utiliza los contadores
+predefinidos `\day', `\month', y `\year' (*note \day \month \year::)
+para hacerlo. No se actualiza cuando se ejecuta el programa.
+
+ El paquete `datetime', entre otros, puede producir una amplia
+variedad de formatos de fecha.
+
+
+File: latex2e-es.info, Node: Dividiendo la Entrada, Next: Asuntos de Portada/Contraportada, Prev: Inserciones Especiales, Up: Top
+
+22 Dividiendo la Entrada
+************************
+
+Un documento de gran tamaño requiere una gran cantidad de insumos. En
+lugar de poner toda la entrada en un único archivo de gran tamaño, es
+más eficiente dividirlo en varios más pequeños. Independientemente del
+número de archivos separados que utilice, hay uno que es el archivo
+raíz; este es cuyo nombre se escribe cuando se ejecuta LaTeX.
+
+* Menu:
+
+* \include:: Condicionalmente incluye un archivo.
+* \includeonly:: Determina qué archivos serán incluidos.
+* \input:: Incluiye incondicionalmente un archivo.
+
+
+File: latex2e-es.info, Node: \include, Next: \includeonly, Up: Dividiendo la Entrada
+
+22.1 `\include'
+===============
+
+Sinopsis:
+
+ \include{archivo}
+
+ No hay presente una instrucción `\includeonly', la instrucción
+`\include' executa `\clearpage' para iniciar una nueva página (*note
+\clearpage::), entonces lee el archivo, y luego hace otro `\clearpage'.
+
+ Dada una instrucción `\includeonly', las acciones `\include'
+únicamente se ejecutan si archivo está listado como un argumento para
+`\includeonly'. Consulte la siguiente sección.
+
+ La instrucción `\include' no puede aparecer en el preámbulo o en un
+archivo leído por otra instrucción `\include'.
+
+
+File: latex2e-es.info, Node: \includeonly, Next: \input, Prev: \include, Up: Dividiendo la Entrada
+
+22.2 \`includeonly'
+===================
+
+Sinopsis:
+
+ \includeonly{archivo1,archivo2,...}
+
+ La instrucción `\includeonly' controla cuales archivos se deben leer
+en subsecuentes instrucciones `\include'. La lista de nombres de
+archivo se separa con comas. Cada archivo debe coincidir exactamente con
+un nombre de archivo especificado en una instrucción `\include' para una
+selección eficaz.
+
+ Esta instrucción únicamente puede aparecer en el preámbulo.
+
+
+File: latex2e-es.info, Node: \input, Prev: \includeonly, Up: Dividiendo la Entrada
+
+22.3 \input
+===========
+
+Sinopsis:
+
+ \input{archivo}
+
+ La instrucción `\input' provoca que el archivo especificado sea leído
+y procesado, tal como si su contendido se hubiera insertado en ese punto
+en el archivo actual.
+
+ Si archivo no termina en `.tex ' (por ejemplo, `foo' o `foo.bar'),
+primero se intenta con esa extensión (`foo.tex' o `foo.bar.tex'). Si no
+se encuentra, el archivo original se intenta con (`foo' o `foo.bar').
+
+
+File: latex2e-es.info, Node: Asuntos de Portada/Contraportada, Next: Cartas, Prev: Dividiendo la Entrada, Up: Top
+
+23 Asuntos de Portada/Contraportada
+***********************************
+
+* Menu:
+
+* Tablas de Contenido::
+* Glosarios::
+* Ãndices::
+
+
+File: latex2e-es.info, Node: Tablas de Contenido, Next: Glosarios, Up: Asuntos de Portada/Contraportada
+
+23.1 Tablas de Contenido
+========================
+
+Se produce una tabla de contenido con la instrucción `\tableofcontents'.
+Usted pone la instrucción adecuada donde desea que aparezca la tabla de
+contenido; LaTeX hace el resto para usted. Una ejecución previa habrá
+generado un archivo `.toc'.
+
+ La instrucción `\tableofcontents' produce una sección, pero no inicia
+una nueva página automáticamente. Si desea una nueva página después de
+la tabla de contenido, escriba una instrucción código `\newpage' después
+de la instrucción `\tableofcontents'.
+
+ Las instrucciones análogas `\listoffigures' y `\listoftables'
+producen una lists de figuras y una lista de tablas, respectivamente.
+Cada una funciona exactamente igual que la tabla de contenido.
+
+ La instrucción `\nofiles' reemplaza estas instrucciones, e _impide_
+que se genere cualquiera de estas listas.
+
+* Menu:
+
+* \addcontentsline:: Agrega una entrada a la tabla de contenido, etc.
+* \addtocontents:: Añade texto directamente al archivo de la tabla de contenido, etc.
+
+
+File: latex2e-es.info, Node: \addcontentsline, Next: \addtocontents, Up: Tablas de Contenido
+
+23.1.1 \addcontentsline
+-----------------------
+
+La instrucción `\addcontentsline'{extensión}{undad}{texto} añade una
+entrada a la lista o tabla donde:
+
+extensión
+ La extensión del archivo en el que se va a escribir la información,
+ por lo general una de: `toc' (tabla de contenido), `lof' (lista de
+ figuras) o `lot' (lista de tablas).
+
+unidad
+ El nombre de la unidad de sección a añadir, normalmente una de las
+ siguientes, coincidiendo con el valor del argumento extensión:
+
+ `toc'
+ El nombre de la unidad de sección: `part', `chapter',
+ `section', `subsection', `subsubsection'.
+
+ `lof'
+ Para la lista de figuras.
+
+ `lot'
+ Para la lista de tablas.
+
+texto
+ El texto real de la entrada.
+
+ La instrucción que realmente escribe al archivo `.extensión' es la
+instrucción `\contentsline{undad}{nombre}'.
+
+
+File: latex2e-es.info, Node: \addtocontents, Prev: \addcontentsline, Up: Tablas de Contenido
+
+23.1.2 \addtocontents
+---------------------
+
+La instrucción `\addtocontents'{extensión}{texto} añade texto (o
+instrucciones de formato) directamente al archivo `.extensión' que
+genera la tabla de contenido o listas de figuras o tablas.
+
+extensión
+ La extensión del archivo en el cual escribir la información: `toc'
+ (tabla de contenido), `lof' (lista de figuras) o `lot' (lista de
+ tablas).
+
+texto
+ El texto a escribir.
+
+
+File: latex2e-es.info, Node: Glosarios, Next: Ãndices, Prev: Tablas de Contenido, Up: Asuntos de Portada/Contraportada
+
+23.2 Glosarios
+==============
+
+La instrucción `\makeglossary' habilita la creación de glosarios.
+
+ La instrucción `\glossary{texto}' escribe una entrada en el glosario
+para texto a un archivo auxiliar con la extensión `.glo'.
+
+ Específicamente, la instrucción que escribe es
+`\glossaryentry{texto}{no-de-página}', donde no-de-página es el valor de
+`\thepage'.
+
+ El paquete `glossary' en CTAN proporciona compatibilidad para
+glosarios más sofisticados.
+
+
+File: latex2e-es.info, Node: Ãndices, Prev: Glosarios, Up: Asuntos de Portada/Contraportada
+
+23.3 Ãndices
+============
+
+La instrucción `\makeindex' permite la creación de índices. Coloquela
+en el preámbulo.
+
+ La instrucción `\index{texto}' escribe una entrada en el índice para
+texto en un archivo auxiliar con la extensión `.idx'.
+
+ Específicamente, la instrucción que escribe la entrada es
+`\indexentry{texto}{no-de-página}', donde no-de-página es el valor
+actual de `\thepage'.
+
+ Para generar una entrada de índice para `bar' que diga `Vea foo',
+utilice una barra vertical: `\index{bar|see{foo}}'. Use `seealso' en
+lugar de `see' para producir una entrada `Vea también'.
+
+ El texto `Vea' está definido por la macro `\seename', y `Vea también'
+por la macro `\alsoname'. Estas se pueden redefinir para otros idiomas.
+
+ El archivo `.idx' generado luego es ordenado con una instrucción
+externa, por lo general alguna instrucción `makeindex'
+(`http://mirror.ctan.org/indexing/makeindex') o (la de múltiples
+idiomas) `xindy' (`http://xindy.sourceforge.net'). Esto resulta en un
+archivo `.ind', que se puede leer para componer tipográficamente el
+índice.
+
+ El índice normalmente se genera con la instrucción `\printindex'.
+Esta instrucción está definida en el paquete `makeidx', por lo tanto
+necesita colocar en el preámbulo la instrucción `\usepackage{makeidx}'.
+
+ La longitud de relleno `\indexspace' se inserta antes de cada nueva
+letra en el índice impreso; letra en el índice impreso su valor
+predeterminado es `10pt plus5pt minus3pt'.
+
+ El paquete `showidx' hace que cada entrada en el índice se muestre en
+el margen de la página donde aparece la entrada. Esto puede ayudar en
+la preparación del índice.
+
+ El paquete `multind' es compatible con múltiples índices. Vea
+también la entrada de este tema en las preguntas frecuentes de TeX, en
+
+ `http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind'.
+
+
+File: latex2e-es.info, Node: Cartas, Next: Entrada/Salida a la Terminal, Prev: Asuntos de Portada/Contraportada, Up: Top
+
+24 Cartas
+*********
+
+Usted puede utilizar LaTeX para componer tipográficamente cartas, para
+ambas personales y de negocios. La clase de documento `letter' está
+diseñada para hacer una serie de cartas a la vez, aunque se puede hacer
+sólo una si así lo desea.
+
+ Su archivo fuente `.tex' tiene las mismas instrucciones mínimas de
+clase que en cualquier otro documento, es decir, debe tener las
+siguientes instrucciones como mínimo:
+
+ \documentclass{letter}
+ \begin{document}
+ ... cartas ...
+ \end{document}
+
+ Cada carta es un entorno `letter', cuyo argumento es el nombre y
+dirección del destinatario. Por ejemplo, usted podría tener:
+
+ \begin{letter}{Sr. José Pérez\\ Calle Princesa N°2345.
+ \\ Edinburgo, EH1 1AA}
+ ...
+ \end{letter}
+
+ La carta en sí comienza con la instrucción `\opening'. Siguiéndole
+el texto de la carta. Este se escribe como una entrada de LaTeX
+ordinaria. Las instrucciones que no tienen sentido en una carta, como
+`\chapter', no funcionan. La carta se cierra con una instrucción
+`\closing'.
+
+ Después de `closing', usted puede colocar material adicional. La
+instrucción `\cc' produce el usual “cc: …â€. También hay una instrucción
+`\encl' similar para una lista de destinatarios. Con ambas
+instrucciones, use `\\' para separar los elementos.
+
+ Estas instrucciones se utilizan con la clase `letter'.
+
+* Menu:
+
+* \address:: La dirección del remitente.
+* \cc:: La lista Cc (Con copia para).
+* \closing:: Un mensaje de despedida.
+* \encl:: Lista de material adjunto.
+* \location:: La dirección de su organización.
+* \makelabels:: Produce etiquetas de dirección.
+* \name:: Su nombre, para la dirección de retorno.
+* \opening:: Saludando.
+* \ps:: Agrega una posdata.
+* \signature:: Su firma.
+* \startbreaks:: Permite saltos de página.
+* \stopbreaks:: No permite saltos de página.
+* \telephone:: Su número de teléfono.
+
+
+File: latex2e-es.info, Node: \address, Next: \cc, Up: Cartas
+
+24.1 \address{dirección-del-remitente}
+======================================
+
+La instrucción `\address' especifica la dirección del remitente de la
+carta, como debería aparecer en la carta y el sobre. Separa las líneas
+de la dirección que deben estar separadas por instrucciones `\\'.
+
+ Si usted no proporciona una declaración `\address', entonces, se
+aplicará a la carta el formato de copia en papel con el membrete
+estándar de su organización. (*Note Descripción::, para obtener
+detalles sobre la implementación local). Si usted proporciona una
+declaración `\address', entonces, la carta será formateada como una
+carta personal.
+
+
+File: latex2e-es.info, Node: \cc, Next: \closing, Prev: \address, Up: Cartas
+
+24.2 `\cc'
+==========
+
+Sinopsis:
+
+ \cc{nombre\\nombre2}
+
+ Produce una lista de nombres a quienes enviar copias de la carta.
+Cada nombre se imprime en una línea separada.
+
+
+File: latex2e-es.info, Node: \closing, Next: \encl, Prev: \cc, Up: Cartas
+
+24.3 `\closing'
+===============
+
+Sinopsis:
+
+ \closing{texto}
+
+ Una carta se cierra con la instrucción `\closing', por ejemplo,
+ \closing{Muy Atentamente,}
+
+
+File: latex2e-es.info, Node: \encl, Next: \location, Prev: \closing, Up: Cartas
+
+24.4 `\encl'
+============
+
+Sinopsis:
+
+ \encl{línea1\\línea2}
+
+ Declara una lista de más de un documento adjunto.
+
+
+File: latex2e-es.info, Node: \location, Next: \makelabels, Prev: \encl, Up: Cartas
+
+24.5 `\location'
+================
+
+`\location{dirección}'
+
+ Esta modifica la dirección estándar de su organización. Esto sólo
+aparece si el estilo de página `firstpage' está seleccionado.
+
+
+File: latex2e-es.info, Node: \makelabels, Next: \name, Prev: \location, Up: Cartas
+
+24.6 `\makelabels'
+==================
+
+`\makelabels{número}'
+
+ Si ejecuta esta instrucción en el preámbulo, LaTeX creará una hoja de
+etiquetas con las direcciones. Esta hoja se emitirá antes que las
+cartas.
+
+
+File: latex2e-es.info, Node: \name, Next: \opening, Prev: \makelabels, Up: Cartas
+
+24.7 `\name'
+============
+
+`\name{June Davenport}'
+
+ Su nombre, utilizado en la impresión del sobre junto con la dirección
+del remitente.
+
+
+File: latex2e-es.info, Node: \opening, Next: \ps, Prev: \name, Up: Cartas
+
+24.8 `\opening{texto}'
+======================
+
+Sinopsis:
+
+ \opening{texto}
+
+ Una carta comienza con la instrucción `\opening'. El argumento
+obligatorio, texto, es el texto con el que desea iniciar su carta. Por
+ejemplo:
+
+ \opening{Estimado José,}
+
+
+File: latex2e-es.info, Node: \ps, Next: \signature, Prev: \opening, Up: Cartas
+
+24.9 `\ps'
+==========
+
+Use la instrucción `\ps' para iniciar una posdata en una carta, después
+de `\closing'.
+
+
+File: latex2e-es.info, Node: \signature, Next: \startbreaks, Prev: \ps, Up: Cartas
+
+24.10 `\signature{texto}'
+=========================
+
+Su nombre, como debe aparecer al final de la carta debajo del espacio
+para su firma. `\\' inicia una nueva línea dentro de texto como de
+costumbre.
+
+
+File: latex2e-es.info, Node: \startbreaks, Next: \stopbreaks, Prev: \signature, Up: Cartas
+
+24.11 `\startbreaks'
+====================
+
+`\startbreaks'
+
+ Se usa después de una instrucción `\stopbreaks' para permitir de
+nuevo los saltos de página.
+
+
+File: latex2e-es.info, Node: \stopbreaks, Next: \telephone, Prev: \startbreaks, Up: Cartas
+
+24.12 `\stopbreaks'
+===================
+
+`\stopbreaks'
+
+ Inhibe saltos de página hasta que aparezca una instrucción
+`\startbreaks'.
+
+
+File: latex2e-es.info, Node: \telephone, Prev: \stopbreaks, Up: Cartas
+
+24.13 `\telephone'
+==================
+
+`\telephone{número}'
+
+ Este es su número de teléfono. Este sólo aparece si el estilo de
+página `firstpage' está seleccionado.
+
+
+File: latex2e-es.info, Node: Entrada/Salida a la Terminal, Next: Línea de Órdenes, Prev: Cartas, Up: Top
+
+25 Entrada/Salida a la Terminal
+*******************************
+
+* Menu:
+
+* \typein:: Lee texto desde la terminal.
+* \typeout:: Escribe texto en la terminal.
+
+
+File: latex2e-es.info, Node: \typein, Next: \typeout, Up: Entrada/Salida a la Terminal
+
+25.1 `\typein[instrucción]{mensaje}'
+====================================
+
+Sinopsis:
+
+ \typein[\instrucción]{mensaje}
+
+ `\typein' imprime el mensaje en la terminal y provoca que LaTeX se
+detenga y espere para que usted escriba una línea de entrada, terminando
+con “Introâ€. Si se omite el argumento opcional \instrucción, la entrada
+escrita se procesa como si se hubiera incluido en el archivo de entrada
+en lugar de la instrucción `\typein'. Si está presente el argumento
+\instrucción, debe ser el nombre de una instrucción. Este nombre de
+instrucción entonces define o redefine la entrada escrita.
+
+
+File: latex2e-es.info, Node: \typeout, Prev: \typein, Up: Entrada/Salida a la Terminal
+
+25.2 `\typeout{mensaje}'
+========================
+
+Sinopsis:
+
+ \typeout{mensaje}
+
+ Imprime el `mensaje' en la terminal y en el archivo `log'. Las
+instrucciones en el `mensaje' que están definidas con `\newcommand' o
+`\renewcommand' (entre otras) se sustituyen por su definición antes de
+ser impresas.
+
+ Las reglas habituales de LaTeX para el tratamiento de varios espacios
+como un espacio único e ignorando espacios después de un nombre de
+instrucción también se aplican al `mensaje'. Una instrucción `\space'
+en `mensaje' provoca la impresión de un espació sencillo,
+independientemente de los espacios circundantes. Una `^^J' en `mensaje'
+imprime una nueva línea.
+
+
+File: latex2e-es.info, Node: Línea de Órdenes, Next: Plantillas de Documento, Prev: Entrada/Salida a la Terminal, Up: Top
+
+26 Línea de Órdenes
+*******************
+
+La especificación de archivo de entrada indica el archivo al cual
+aplicar formato; TeX usa `.tex' como extensión predeterminada. Si se
+omite el archivo de entrada completamente, TeX acepta entrada desde la
+terminal. Usted especifica opciones de instrucción mediante el
+suministro de una cadena como un parámetro para la instrucción; por
+ejemplo,
+
+ latex '\nonstopmode\input foo.tex'
+
+debe procesar `foo.tex' sin hacer una pausa después de cada error.
+
+ Si LaTeX se detiene en medio del documento y le muestra un indicador
+`*', está esperando por una entrada. Usted puede escribir `\stop' (e
+Intro) y este terminará el documento prematuramente.
+
+
+File: latex2e-es.info, Node: Plantillas de Documento, Next: Ãndice de Conceptos, Prev: Línea de Órdenes, Up: Top
+
+Appendix A Plantillas de Documento
+**********************************
+
+Aunque no es material de referencia, tal vez estas plantillas de
+documento serán de utilidad.
+
+* Menu:
+
+* Plantilla book::
+* Plantilla beamer::
+* Plantilla tugboat::
+
+
+File: latex2e-es.info, Node: Plantilla book, Next: Plantilla beamer, Up: Plantillas de Documento
+
+A.1 Plantilla `book'
+====================
+
+\documentclass{book}
+\usepackage[spanish]{babel} % Para escribir en Español normal
+\usepackage[utf8]{inputenc} % Codificación de caracteres
+\title{Plantilla de Clase Book}
+\author{Autor Alex}
+
+\begin{document}
+\maketitle
+
+\chapter{Primero}
+Algún texto.
+
+\chapter{Segundo}
+Algún otro texto.
+
+\section{Un subtema}
+El final.
+\end{document}
+
+
+File: latex2e-es.info, Node: Plantilla beamer, Next: Plantilla tugboat, Prev: Plantilla book, Up: Plantillas de Documento
+
+A.2 Plantilla `beamer'
+======================
+
+La clase `beamer' crea diapositivas de presentaciones.
+
+\documentclass{beamer}
+\usepackage[spanish]{babel} % Para escribir en Español normal
+\usepackage[utf8]{inputenc} % Codificación de caracteres
+
+\title{Plantilla de Clase Beamer}
+\author{Autor Alex}
+\date{Julio 31, 2010}
+
+\begin{document}
+
+\maketitle
+
+% sin [fragile], cualquier código {verbatim} provoca errores misteriosos.
+\begin{frame}[fragile]
+ \frametitle{Primer Diapositiva}
+
+\begin{verbatim}
+ ¡Esto está en \verbatim!
+\end{verbatim}
+
+\end{frame}
+
+\end{document}
+
+
+File: latex2e-es.info, Node: Plantilla tugboat, Prev: Plantilla beamer, Up: Plantillas de Documento
+
+A.3 Plantilla `tugboat'
+=======================
+
+`TUGboat' es el diario del Grupo de Usuarios de TeX,
+`http://tug.org/TUGboat'.
+
+\documentclass{ltugboat} % para procedimientos ltugproc
+
+\usepackage[spanish]{babel} % Para escribir en Español normal
+\usepackage[utf8]{inputenc} % Codificación de caracteres
+\usepackage{graphicx}
+\usepackage{ifpdf}
+\ifpdf
+ \usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,
+ urlcolor=black]{hyperref}
+\else
+ \usepackage{url}
+\fi
+
+\begin{document}
+
+\title{Ejemplo de Articulo Regular \TUB\}
+
+% repetir información para cada autor.
+\author{First Last}
+\address{Street Address \\ Town, Postal \\ Country}
+\netaddress{user (at) ejemplo dot org}
+\personalURL{http://ejemplo.org/~user/}
+
+\maketitle
+
+% El resumen en ltugboat viene después de \maketitle.
+\begin{abstract}
+Este es un ejemplo del tema de un artículo \TUB{} ordinario.
+\end{abstract}
+
+\section{Introducción}
+
+Este es un artículo de ejemplo para \TUB, de
+\url{http://tug.org/TUGboat/location.html}.
+
+Recomendamos el paquete graphicx para inclusión de imágenes y el
+paquete hyperref para urls activas (en la salida \acro{PDF}). \TUB\ se
+produce utilizando archivos \acro{PDF} exclusivamente, en la actualidad.
+
+Las clases \texttt{ltug*} proporcionan estas abreviaturas, entre muchas
+otras:
+
+{\small
+\begin{verbatim}
+\AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW
+\BibTeX \CandT \CTAN \DTD \DVItoVDU \HTML
+\ISBN \ISSN \JTeX \JoT \LAMSTeX \LaTeXe
+\Mc \mf \MFB \mtex \pcMF \PCTeX \pcTeX \Pas
+\PiC \PiCTeX \plain \POBox \PS
+\SC \SGML \SliTeX \TANGLE \TB \TP \TUB \TUG
+\tug \UG \UNIX \VAX \VorTeX \XeT \WEB \WEAVE
+
+\Dash \dash \vellipsis \bull \cents \Dag
+\careof \thinskip
+
+\acro{FRED} -> {\sc fred} % ¡Por favor úselas!
+\cs{fred} -> \fred
+\env{fred} -> \begin{fred}
+\meta{fred} -> <fred>
+\nth{n} -> 1st, 2nd, ...
+\sfrac{3/4} -> 3/4
+\booktitle{Libro de Fred}
+\end{verbatim}
+}
+
+Para mayor información, consulte el documento en ltubguid:
+\url{http://mirror.ctan.org/macros/latex/contrib/tugboat}
+
+Correo electrónico \verb|tugboat@tug.org| si incurre en problemas o tiene
+dudas.
+
+
+
+\bibliographystyle{plain} % recomendamos el estilo de bibliografía plain
+\nocite{book-minimal} % solo hace que la bibliografía no esté vacía
+\bibliography{xampl} % xampl.bib viene con BibTeX
+
+
+\makesignature % no en ltugproc
+\end{document}
+
+
+File: latex2e-es.info, Node: Ãndice de Conceptos, Next: Ãndice de Instrucciones, Prev: Plantillas de Documento, Up: Top
+
+Ãndice de Conceptos
+*******************
+
+
+* Menu:
+
+* `*' apuntador: Línea de Órdenes. (line 16)
+* `makeindex' programa: Ãndices. (line 22)
+* `vea' y `vea también' entradas de índice: Ãndices. (line 15)
+* `xindy' programa: Ãndices. (line 22)
+* `\include' anidada, no se permite: \include. (line 17)
+* accediendo a cualquier carácter del tipo de letra: Caracteres Reservados.
+ (line 25)
+* acento agudo: Acentos. (line 21)
+* acento agudo, math: Acentos Matemáticos. (line 11)
+* acento anticircunflejo: Acentos. (line 97)
+* acento barra: Acentos. (line 48)
+* acento barra encima: Acentos. (line 30)
+* acento barra horizontal, math: Acentos Matemáticos. (line 14)
+* acento barra sobre: Acentos. (line 30)
+* acento breve, math: Acentos Matemáticos. (line 17)
+* acento cedilla: Acentos. (line 52)
+* acento circunflejo: Acentos. (line 34)
+* acento circunflejo <1>: Acentos. (line 34)
+* acento circunflejo amplio, math: Acentos Matemáticos. (line 47)
+* acento circunflejo, math: Acentos Matemáticos. (line 32)
+* acento circunflejo, math <1>: Acentos Matemáticos. (line 32)
+* acento círculo: Acentos. (line 56)
+* acento de verificación, math: Acentos Matemáticos. (line 20)
+* acento diéresis: Acentos. (line 17)
+* acento diéresis <1>: Acentos. (line 17)
+* acento diéresis húngara: Acentos. (line 60)
+* acento diéresis, math: Acentos Matemáticos. (line 23)
+* acento grave: Acentos. (line 39)
+* acento grave, math: Acentos Matemáticos. (line 29)
+* acento háÄek, math: Acentos Matemáticos. (line 20)
+* acento macrón: Acentos. (line 30)
+* acento macrón, math: Acentos Matemáticos. (line 14)
+* acento punto: Acentos. (line 26)
+* acento punto <1>: Acentos. (line 26)
+* acento punto superior, math: Acentos Matemáticos. (line 26)
+* acento tilde: Acentos. (line 45)
+* acento tilde amplia, math: Acentos Matemáticos. (line 50)
+* acento tilde, math: Acentos Matemáticos. (line 41)
+* acentos: Acentos. (line 5)
+* acentos matemáticos: Acentos Matemáticos. (line 5)
+* acentos, matemáticas: Acentos Matemáticos. (line 5)
+* alineando a través de tabulación: tabbing. (line 5)
+* alineando Ecuaciones: eqnarray. (line 5)
+* alineando texto en columnas con tabulaciones: tabbing. (line 5)
+* alineando texto en tablas: tabular. (line 5)
+* ampliando la página actual: \enlargethispage. (line 5)
+* anillo acento: Acentos. (line 75)
+* anticircunflejo acento: Acentos. (line 97)
+* antígrafo o simplemente signo de párrafo: Símbolos de Texto.
+ (line 42)
+* apuntador, `*': Línea de Órdenes. (line 16)
+* apéndices, creando: Seccionado. (line 46)
+* archivo de entrada: Dividiendo la Entrada.
+ (line 5)
+* archivo `.glo': Glosarios. (line 7)
+* archivo `.idx': Ãndices. (line 8)
+* archivo `.ind': Ãndices. (line 22)
+* argumentos móviles: \protect. (line 5)
+* ascender superior: Símbolos de Texto. (line 97)
+* ASCII circunflejo, en texto: Símbolos de Texto. (line 62)
+* ash: Caracteres no Ingleses.
+ (line 11)
+* asterisco centrado, en texto: Símbolos de Texto. (line 68)
+* asterisco, centrado, en texto: Símbolos de Texto. (line 68)
+* atadura con siguiente acento: Acentos. (line 81)
+* autor, para titlepage: \maketitle. (line 12)
+* bala, en texto: Símbolos de Texto. (line 89)
+* bar, vertical, en texto: Símbolos de Texto. (line 74)
+* barra inversa, en texto: Símbolos de Texto. (line 71)
+* barra vertical, doble, en texto: Símbolos de Texto. (line 77)
+* barra vertical, en texto: Símbolos de Texto. (line 74)
+* barra, vertical doble, en texto: Símbolos de Texto. (line 77)
+* bibliografía, creando (automáticamente): Usando BibTeX. (line 5)
+* bibliografía, creando (manualmente): thebibliography. (line 5)
+* bibTeX, usando: Usando BibTeX. (line 5)
+* breve acento: Acentos. (line 86)
+* cajas: Cajas. (line 5)
+* caracteres especiales: Caracteres no Ingleses.
+ (line 5)
+* caracteres no Ingleses: Caracteres no Ingleses.
+ (line 5)
+* caracteres reservados: Caracteres Reservados.
+ (line 5)
+* caracteres, acentuados: Acentos. (line 5)
+* caracteres, no Ingleses: Caracteres no Ingleses.
+ (line 5)
+* caracteres, reservados: Caracteres Reservados.
+ (line 5)
+* cargando paquetes adicionales: Opciones de Clase de Documento.
+ (line 78)
+* cartas: Cartas. (line 5)
+* cartas, iniciando: \opening. (line 5)
+* cartas, terminando: \closing. (line 5)
+* carón acento: Acentos. (line 97)
+* centrar texto, declaración para: \centering. (line 5)
+* centrar texto, entorno para: center. (line 5)
+* cerrando cartas: \closing. (line 5)
+* circunflejo, ASCII, en texto: Símbolos de Texto. (line 62)
+* clases de documento: Clases de Documento. (line 5)
+* clases de documentos: Clases de Documento. (line 5)
+* colita: Acentos. (line 70)
+* comilla angular de apertura: Símbolos de Texto. (line 28)
+* comilla angular de cierre: Símbolos de Texto. (line 28)
+* comilla de apertura: Símbolos de Texto. (line 38)
+* comilla de apertura simple: Símbolos de Texto. (line 151)
+* comilla de cierre: Símbolos de Texto. (line 53)
+* comilla de cierre simple: Símbolos de Texto. (line 154)
+* comilla de cierre, simple: Símbolos de Texto. (line 154)
+* comilla derecha: Símbolos de Texto. (line 53)
+* comilla en línea base, simple y doble: Símbolos de Texto. (line 50)
+* comilla izquierda: Símbolos de Texto. (line 38)
+* comilla izquierda, sola: Símbolos de Texto. (line 151)
+* comilla simple en línea base: Símbolos de Texto. (line 50)
+* comilla, en la línea base (coma): Símbolos de Texto. (line 158)
+* comillas de cierre dobles: Símbolos de Texto. (line 148)
+* comillas de cierre, dobles: Símbolos de Texto. (line 148)
+* comillas dobles de apertura: Símbolos de Texto. (line 145)
+* comillas dobles en línea base: Símbolos de Texto. (line 50)
+* comillas tipográficas angulares: Símbolos de Texto. (line 28)
+* comillas tipográficas angulares simples: Símbolos de Texto. (line 28)
+* comillas tipográficas Francesas: Símbolos de Texto. (line 28)
+* comillas tipográficas simples: Símbolos de Texto. (line 28)
+* comillas tipográficas, Francesas: Símbolos de Texto. (line 28)
+* comillas tipográficas, latinas o angulares: Símbolos de Texto.
+ (line 28)
+* comillastraight quote, base: Símbolos de Texto. (line 158)
+* contadores, configurando: \setcounter. (line 5)
+* contadores, consiguiendo el valor de: \value. (line 5)
+* contadores, definiendo nuevos: \newcounter. (line 5)
+* contadores, una lista de: Contadores. (line 5)
+* creando cartas: Cartas. (line 5)
+* creando imágenes: picture. (line 5)
+* creando tablas: table. (line 5)
+* créditos al pie de página: \maketitle. (line 24)
+* código, composición tipográfica de: verbatim. (line 5)
+* daga doble, en texto: Símbolos de Texto. (line 105)
+* daga, doble, en texto: Símbolos de Texto. (line 105)
+* daga, en texto: Símbolos de Texto. (line 16)
+* daga, en texto <1>: Símbolos de Texto. (line 102)
+* definiciones: Definiciones. (line 5)
+* definición de nuevos tipos de letra: \newfont. (line 5)
+* definiendo nuevos entornos: \newenvironment y \renewenvironment.
+ (line 5)
+* definiendo nuevos teoremas: \newtheorem. (line 5)
+* definiendo una nueva instrucción: \newcommand y \renewcommand.
+ (line 5)
+* delimitador nulo: Miscelánea Math. (line 21)
+* descargando flotantes e iniciando una página: \clearpage. (line 5)
+* descripción de LaTeX: Descripción. (line 5)
+* diseño, parámetros de página para: Parámetros para el Diseño de Página.
+ (line 5)
+* dividiendo el archivo de entrada: Dividiendo la Entrada.
+ (line 5)
+* dividiendo páginas: Saltos de Página. (line 5)
+* divisas, euro: Símbolos de Texto. (line 117)
+* división de sílabas con guión, definiendo: \hyphenation. (line 5)
+* división silábica, forzando: \- (hyphenation). (line 5)
+* división silábica, impidiendo: \mbox. (line 5)
+* doble barra vertical, en texto: Símbolos de Texto. (line 77)
+* doble daga, en texto: Símbolos de Texto. (line 19)
+* e-dash: Símbolos de Texto. (line 114)
+* ecuaciones, alineando: eqnarray. (line 5)
+* ecuaciones, entornos para: equation. (line 5)
+* ejecutando header y footer: Parámetros para el Diseño de Página.
+ (line 5)
+* elementos numerados, especificando contador: \usecounter. (line 5)
+* em-dash: Símbolos de Texto. (line 111)
+* em-dash de tres cuartos: Símbolos de Texto. (line 167)
+* em-dash, tres cuartos: Símbolos de Texto. (line 167)
+* entornos: Entornos. (line 5)
+* entornos, definiendo: \newenvironment y \renewenvironment.
+ (line 5)
+* entrada/salida: Entrada/Salida a la Terminal.
+ (line 5)
+* entrada/salida desde la terminal: Entrada/Salida a la Terminal.
+ (line 5)
+* Equipo del Proyecto LaTeX: Top. (line 10)
+* es-zet letra Alemana: Caracteres no Ingleses.
+ (line 47)
+* espacio dentro del modo math: Espacios en Modo Math.
+ (line 5)
+* espacio vertical: \addvspace. (line 5)
+* espacio vertical antes de párrafos: \parskip. (line 5)
+* espacio vertical, insertando: \addvspace. (line 5)
+* espacio visible: \verb. (line 17)
+* espacios: Espacios. (line 5)
+* espina Islandesa: Caracteres no Ingleses.
+ (line 51)
+* espina, letra Islandesa: Caracteres no Ingleses.
+ (line 51)
+* estilo de encabezado: \pagestyle. (line 5)
+* estilo de numeración de página: \pagenumbering. (line 5)
+* estilo del pie de página: \pagestyle. (line 5)
+* estilos de página: Estilos de Página. (line 5)
+* estilos de texto: Estilos del Tipo de Letra.
+ (line 5)
+* estilos de tipografía: Estilos del Tipo de Letra.
+ (line 5)
+* estilos del tipo de letra: Estilos del Tipo de Letra.
+ (line 5)
+* estilos, página: Estilos de Página. (line 5)
+* eth, letra islandesa: Caracteres no Ingleses.
+ (line 19)
+* etiquetas en máquina de escribir en listas: description. (line 17)
+* exclamación, inicial: Símbolos de Texto. (line 120)
+* exponente: Subíndices y Superíndices.
+ (line 5)
+* fecha, para la página de título: \maketitle. (line 19)
+* figuras, en notas al pie: minipage. (line 21)
+* figuras, insertando: figure. (line 5)
+* fijando contadores: \setcounter. (line 5)
+* finalizando e iniciando: Iniciando y Finalizando.
+ (line 5)
+* flecha derecha, en texto: Símbolos de Texto. (line 164)
+* flecha hacia la derecha, en texto: Símbolos de Texto. (line 164)
+* flecha hacia la izquierda, en texto: Símbolos de Texto. (line 129)
+* flecha, izquierda, en texto: Símbolos de Texto. (line 129)
+* footer, parámetros para: Parámetros para el Diseño de Página.
+ (line 5)
+* forma con * de instrucciones de seccionado: Seccionado. (line 40)
+* funciones matemáticas: Funciones Matemáticas.
+ (line 5)
+* funciones, matemáticas: Funciones Matemáticas.
+ (line 5)
+* fórmulas en línea: math. (line 5)
+* fórmulas matemáticas: Fórmulas Matemáticas.
+ (line 5)
+* fórmulas, entornos para: equation. (line 5)
+* fórmulas, matemáticas: Fórmulas Matemáticas.
+ (line 5)
+* glosarios: Glosarios. (line 5)
+* guión doble, línea recta: Símbolos de Texto. (line 158)
+* haciendo párrafos: Haciendo Párrafos. (line 5)
+* haciendo una página de título: titlepage. (line 5)
+* header, parámetros para: Parámetros para el Diseño de Página.
+ (line 5)
+* i sin punto: Acentos. (line 63)
+* i sin punto, math: Acentos Matemáticos. (line 35)
+* imágenes, creando: picture. (line 5)
+* iniciando una nueva página: \newpage. (line 5)
+* iniciando una nueva página y limpiando flotantes: \clearpage.
+ (line 5)
+* iniciando una página a mano derecha: \cleardoublepage. (line 5)
+* iniciando y finalizando: Iniciando y Finalizando.
+ (line 5)
+* insertando figuras: figure. (line 5)
+* Instrucciones de Bajo Nivel para el Tipo de Letra: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 5)
+* instrucciones de diseño: Diseño. (line 5)
+* instrucciones de tipo de letra, de bajo nivel: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 5)
+* instrucciones frágiles: \protect. (line 5)
+* instrucciones robustas: \protect. (line 16)
+* instrucciones, definiendo nuevas: \newcommand y \renewcommand.
+ (line 5)
+* interlineado doble: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 68)
+* interrogación, inicial: Símbolos de Texto. (line 142)
+* islandés eth: Caracteres no Ingleses.
+ (line 19)
+* j sin punto: Acentos. (line 66)
+* j sin punto, math: Acentos Matemáticos. (line 38)
+* justificación, alineando a la derecha: \raggedright. (line 5)
+* justificación, irregular a la izquierda: \raggedleft. (line 5)
+* justificando texto a la izquierda: \raggedright. (line 5)
+* justificar texto a la derecha, entorno para: flushright. (line 5)
+* justificar texto a la izquierda, entornos para: flushleft. (line 5)
+* Knuth, Donald E.: Top. (line 10)
+* l Polaca: Caracteres no Ingleses.
+ (line 31)
+* Lamport, Leslie: Top. (line 10)
+* LaTeX, descripción: Descripción. (line 5)
+* letra en círculo, en texto: Símbolos de Texto. (line 92)
+* letra ij, Neerlandés: Caracteres no Ingleses.
+ (line 27)
+* letras caligráficas para math: Estilos del Tipo de Letra.
+ (line 92)
+* letras griegas: Símbolos Matemáticos.
+ (line 5)
+* letras S afiladas: Caracteres no Ingleses.
+ (line 47)
+* letras script para math: Estilos del Tipo de Letra.
+ (line 92)
+* letras, acentuadas: Acentos. (line 5)
+* letras, no Inglesas: Caracteres no Ingleses.
+ (line 5)
+* ligadura ae: Caracteres no Ingleses.
+ (line 15)
+* lista de documentos adjuntos: \encl. (line 5)
+* lista de elementos, especificando el contador: \usecounter. (line 5)
+* lista de elementos, numerados: enumerate. (line 5)
+* listas cc, en cartas: \cc. (line 5)
+* listas con viñetas: itemize. (line 5)
+* listas de descripción, creando: description. (line 5)
+* listas de elementos: itemize. (line 5)
+* listas de elementos, genéricas: list. (line 5)
+* listas etiquetadas, creando: description. (line 5)
+* listas no ordenadas: itemize. (line 5)
+* llave de apertura, en texto: Símbolos de Texto. (line 83)
+* llave derecha, en texto: Símbolos de Texto. (line 86)
+* llave, derecha, en texto: Símbolos de Texto. (line 86)
+* llave, izquierda, en texto: Símbolos de Texto. (line 83)
+* Logotipo de LaTeX: Símbolos de Texto. (line 22)
+* logotipo de TeX: Símbolos de Texto. (line 59)
+* logotipo, LaTeX: Símbolos de Texto. (line 22)
+* logotipo, TeX: Símbolos de Texto. (line 59)
+* longitudes predeterminadas: Longitudes Predeterminadas.
+ (line 5)
+* longitudes, añadiendo a: \addtolength. (line 5)
+* longitudes, configurando: \setlength. (line 5)
+* longitudes, definiendo nuevas: \newlength. (line 5)
+* longitudes, definiendo y usando: Longitudes. (line 5)
+* longitudes, predefinidas: Longitudes Predeterminadas.
+ (line 5)
+* línea de órdenes: Línea de Órdenes. (line 5)
+* línea recta de guión doble, base: Símbolos de Texto. (line 158)
+* línea, saltos de: Saltos de Línea. (line 5)
+* líneas en tablas: tabular. (line 5)
+* marca izquierda, doble: Símbolos de Texto. (line 145)
+* marca palabra compuesta, en texto: Símbolos de Texto. (line 97)
+* matrices, matemáticas: array. (line 5)
+* minipage, creando una: minipage. (line 5)
+* miscelánea math: Miscelánea Math. (line 5)
+* modo izquierda-a-derecha: Modos. (line 5)
+* modo lR: Modos. (line 5)
+* modo math: Modos. (line 5)
+* modo math mode, espaciado: Espacios en Modo Math.
+ (line 5)
+* modo math, ingresando al: Fórmulas Matemáticas.
+ (line 5)
+* modo párrafo: Modos. (line 5)
+* modos: Modos. (line 5)
+* moneda, dólar: Símbolos de Texto. (line 108)
+* mostrando texto citado con sangría de párrafo: quotation. (line 5)
+* mostrando texto citado sin sangría de párrafo: quote. (line 5)
+* multiplicación discrecional: Miscelánea Math. (line 7)
+* máquina de escribir en negrita, evitando: description. (line 17)
+* notas al margen: Notas al Margen. (line 5)
+* notas al pie en figuras: minipage. (line 21)
+* notas al pie, creando: Notas al Pie. (line 5)
+* notas al pie, símbolos en lugar de números en: Notas al Pie Simbólicas.
+ (line 5)
+* notas en el margen: Notas al Margen. (line 5)
+* nueva línea, comenzando: \\. (line 5)
+* nueva línea, comenzando (modo de párrafo): \newline. (line 5)
+* nueva línea, salida como entrada: \obeycr y \restorecr.
+ (line 5)
+* nueva página, iniciando: \newpage. (line 5)
+* nuevas instrucciones, definiendo: \newcommand y \renewcommand.
+ (line 5)
+* número de ecuación, referencias cruzadas: \ref. (line 5)
+* número de figura, referencias cruzadas: \ref. (line 5)
+* número de pie de página, referencias cruzadas: \ref. (line 5)
+* número de página, referencias cruzadas: \pageref. (line 5)
+* número de sección, referencias cruzadas: \ref. (line 5)
+* números de ecuación, omitiendo: eqnarray. (line 19)
+* números de sección, imprimiendo: Seccionado. (line 56)
+* observaciones en el margen: Notas al Margen. (line 5)
+* oe ligadura: Caracteres no Ingleses.
+ (line 43)
+* omitiendo, cajas negras: Opciones de Clase de Documento.
+ (line 29)
+* opciones de clase: Opciones de Clase de Documento.
+ (line 5)
+* opciones de clase de documento: Opciones de Clase de Documento.
+ (line 5)
+* opciones globales: Opciones de Clase de Documento.
+ (line 5)
+* opciones globales <1>: Opciones de Clase de Documento.
+ (line 85)
+* opciones, clase de documento: Opciones de Clase de Documento.
+ (line 5)
+* opciones, globales: Opciones de Clase de Documento.
+ (line 85)
+* ordinales en español, femenino y masculino: Símbolos de Texto.
+ (line 133)
+* ordinales, femenino y masculino: Símbolos de Texto. (line 133)
+* oslash: Caracteres no Ingleses.
+ (line 39)
+* paquete `datetime': \today. (line 10)
+* paquete `float': figure. (line 35)
+* paquete `makeidx': Ãndices. (line 29)
+* paquete `multind': Ãndices. (line 41)
+* paquete `setspace': Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 68)
+* paquete `showidx': Ãndices. (line 37)
+* paquetes, cargando: Opciones de Clase de Documento.
+ (line 78)
+* parámetros de footnote: Parámetros para Footnote.
+ (line 5)
+* parámetros para el diseño de página: Parámetros para el Diseño de Página.
+ (line 5)
+* parámetros, diseño de página: Parámetros para el Diseño de Página.
+ (line 5)
+* parámetros, para footnote: Parámetros para Footnote.
+ (line 5)
+* plantillas de documentos: Plantillas de Documento.
+ (line 5)
+* poesía, un entorno para: verse. (line 5)
+* posdata, en cartas: \ps. (line 5)
+* preámbulo, definido: Iniciando y Finalizando.
+ (line 16)
+* produce dos columnas: \twocolumn. (line 5)
+* produce una columna: \onecolumn. (line 5)
+* programas de ordenador, composición tipográfica: verbatim. (line 5)
+* punto centrado, en texto: Símbolos de Texto. (line 139)
+* punto superior acento, math: Acentos Matemáticos. (line 26)
+* punto, centrado, en texto: Símbolos de Texto. (line 139)
+* puntos suspensivos: Símbolos de Texto. (line 34)
+* página de título, creando la: titlepage. (line 5)
+* párrafos: Haciendo Párrafos. (line 5)
+* redefiniendo entornos: \newenvironment y \renewenvironment.
+ (line 5)
+* reducción, omitiendo vertical: \raggedbottom. (line 5)
+* referencias cruzadas: Referencias Cruzadas.
+ (line 5)
+* referencias cruzadas con número de página: \pageref. (line 5)
+* referencias cruzadas, simbólicas: \ref. (line 5)
+* resúmenes: abstract. (line 5)
+* salto de página: Saltos de Página. (line 5)
+* saltos de línea: Saltos de Línea. (line 5)
+* saltos de línea, evitando: \linebreak y \nolinebreak.
+ (line 5)
+* saltos de línea, forzando: \linebreak y \nolinebreak.
+ (line 5)
+* saltos de página, evitando: \pagebreak y \nopagebreak.
+ (line 5)
+* saltos de página, forzando: \pagebreak y \nopagebreak.
+ (line 5)
+* sangría de párrafos, en minipage: minipage. (line 17)
+* sangría de párrafos, en minipage <1>: minipage. (line 17)
+* sangría, forzando la: \indent. (line 5)
+* sangría, suprimiendo la: \noindent. (line 5)
+* sangrías de párrafo en texto citado: quotation. (line 5)
+* sangrías de párrafo en texto citado, omitiendo: quote. (line 5)
+* seccionado: Seccionado. (line 5)
+* separación de línea, forzando: \\. (line 5)
+* signo de dólar: Símbolos de Texto. (line 108)
+* siguiendo el estilo de encabezado y pie de página: \pagestyle.
+ (line 5)
+* simulando texto escrito: verbatim. (line 5)
+* subrayado: Acentos. (line 89)
+* subrayado, en texto: Símbolos de Texto. (line 176)
+* subíndice: Subíndices y Superíndices.
+ (line 5)
+* superíndice: Subíndices y Superíndices.
+ (line 5)
+* símbolo bala: Símbolos Matemáticos.
+ (line 87)
+* símbolo círculo grande, en texto: Símbolos de Texto. (line 80)
+* símbolo de copyright: Símbolos de Texto. (line 13)
+* símbolo de círculo, grande, en texto: Símbolos de Texto. (line 80)
+* símbolo de espacio visible, en texto: Símbolos de Texto. (line 179)
+* símbolo de libra esterlina: Símbolos de Texto. (line 46)
+* símbolo de libra esterlina <1>: Símbolos de Texto. (line 46)
+* símbolo de marca comercial: Símbolos de Texto. (line 170)
+* símbolo de marca registrada: Símbolos de Texto. (line 161)
+* símbolo de multiplicación, con salto de línea discrecional: Miscelánea Math.
+ (line 7)
+* símbolo de párrafo: Símbolos de Texto. (line 42)
+* símbolo de sección: Símbolos de Texto. (line 56)
+* símbolo de vector, math: Acentos Matemáticos. (line 44)
+* símbolo del euro: Símbolos de Texto. (line 117)
+* símbolo femenino ordinal: Símbolos de Texto. (line 136)
+* símbolo mayor que, en texto: Símbolos de Texto. (line 123)
+* símbolo menor que, en texto: Símbolos de Texto. (line 126)
+* Símbolo ordinal femenino: Símbolos de Texto. (line 133)
+* símbolo ordinal masculino: Símbolos de Texto. (line 133)
+* símbolos de texto: Símbolos de Texto. (line 5)
+* símbolos matemáticos: Símbolos Matemáticos.
+ (line 5)
+* símbolos, matemáticos: Símbolos Matemáticos.
+ (line 5)
+* tabla de contenido, agregando manualmente: \addcontentsline.
+ (line 5)
+* tabla de contenido, creando: Tablas de Contenido. (line 5)
+* tablas, creando: table. (line 5)
+* tabulaciones, utilizando: tabbing. (line 5)
+* tamaño del texto: Tamaños del Tipo de Letra.
+ (line 5)
+* tamaños del tipo de letra: Tamaños del Tipo de Letra.
+ (line 5)
+* tamaños del tipo de letra <1>: Tamaños del Tipo de Letra.
+ (line 5)
+* tapa superior: Símbolos de Texto. (line 97)
+* teoremas, composición tipográfica de: theorem. (line 5)
+* teoremas, definiendo: \newtheorem. (line 5)
+* texto citado con sangría de párrafo, mostrando: quotation. (line 5)
+* texto citado sin sangría de párrafo, mostrando: quote. (line 5)
+* texto escrito, simulando: verbatim. (line 5)
+* texto irregular a la derecha: \raggedright. (line 5)
+* texto irregular a la derecha, entorno para: flushleft. (line 5)
+* texto irregular a la izquierda: \raggedleft. (line 5)
+* texto irregular a la izquierda, entorno para: flushright. (line 5)
+* texto justificado a la derecha: \raggedleft. (line 5)
+* texto literal: verbatim. (line 5)
+* texto literal, en línea: \verb. (line 5)
+* texto multicolumna: \twocolumn. (line 5)
+* thanks, para titlepage: \maketitle. (line 24)
+* tilde ASCII, en texto: Símbolos de Texto. (line 65)
+* tilde, ASCII, en texto: Símbolos de Texto. (line 65)
+* tipo de letra cursiva: Estilos del Tipo de Letra.
+ (line 98)
+* tipo de letra de ancho fijo: Estilos del Tipo de Letra.
+ (line 113)
+* tipo de letra de máquina de escribir: Estilos del Tipo de Letra.
+ (line 113)
+* tipo de letra monoespacio: Estilos del Tipo de Letra.
+ (line 113)
+* tipo de letra negrita: Estilos del Tipo de Letra.
+ (line 89)
+* tipo de letra oblicua: Estilos del Tipo de Letra.
+ (line 110)
+* tipo de letra oblicua <1>: Estilos del Tipo de Letra.
+ (line 110)
+* tipo de letra romana: Estilos del Tipo de Letra.
+ (line 101)
+* tipo de letra sans serif: Estilos del Tipo de Letra.
+ (line 107)
+* tipo de letra versales: Estilos del Tipo de Letra.
+ (line 104)
+* Tipos de Letra: Tipos de Letra. (line 5)
+* tipos de letra: Tipos de Letra. (line 5)
+* tipos de letra, nuevas instrucciones para: \newfont. (line 5)
+* title, para titlepage: \maketitle. (line 29)
+* títulos, haciendo: \maketitle. (line 5)
+* usando BibTeX: Usando BibTeX. (line 5)
+* variables, una lista de: Contadores. (line 5)
+* Énfasis: Estilos del Tipo de Letra.
+ (line 29)
+* énfasis: Estilos del Tipo de Letra.
+ (line 95)
+* índices: Ãndices. (line 5)
+
+
+File: latex2e-es.info, Node: Ãndice de Instrucciones, Prev: Ãndice de Conceptos, Up: Top
+
+Ãndice de Instrucciones
+***********************
+
+
+* Menu:
+
+* $: Fórmulas Matemáticas.
+ (line 25)
+* @{...}: array. (line 32)
+* \" (acento diéresis): Acentos. (line 17)
+* \#: Caracteres Reservados.
+ (line 10)
+* \$: Caracteres Reservados.
+ (line 10)
+* \%: Caracteres Reservados.
+ (line 10)
+* \&: Caracteres Reservados.
+ (line 10)
+* \' (acento agudo): Acentos. (line 21)
+* \' (tabbing): tabbing. (line 50)
+* \(: Fórmulas Matemáticas.
+ (line 17)
+* \): Fórmulas Matemáticas.
+ (line 17)
+* \*: Miscelánea Math. (line 6)
+* \+: tabbing. (line 40)
+* \,: Espacios en Modo Math.
+ (line 19)
+* \-: tabbing. (line 45)
+* \- (hyphenation): \- (hyphenation). (line 5)
+* \. (acento punto encima): Acentos. (line 26)
+* \/: \/. (line 5)
+* \:: Espacios en Modo Math.
+ (line 16)
+* \;: Espacios en Modo Math.
+ (line 12)
+* \<: tabbing. (line 35)
+* \= (acento macrón): Acentos. (line 30)
+* \= (tabbing): tabbing. (line 29)
+* \>: tabbing. (line 33)
+* \> <1>: Espacios en Modo Math.
+ (line 16)
+* \> (tabbing): tabbing. (line 32)
+* \@: \AT. (line 5)
+* \a (tabbing): tabbing. (line 65)
+* \a' (acento agudo en tabulación): tabbing. (line 66)
+* \a= (acento macrón en tabbing): tabbing. (line 66)
+* \aa (Ã¥): Caracteres no Ingleses.
+ (line 11)
+* \AA (Ã…): Caracteres no Ingleses.
+ (line 11)
+* \acute: Acentos Matemáticos. (line 10)
+* \addcontentsline{exto}{unidad}{texto}: \addcontentsline. (line 5)
+* \address: \address. (line 5)
+* \addtocontents{extra}{texto}: \addtocontents. (line 5)
+* \addtocounter: \addtocounter. (line 5)
+* \addtolength: \addtolength. (line 5)
+* \addvspace: \addvspace. (line 5)
+* \ae (æ): Caracteres no Ingleses.
+ (line 15)
+* \AE (Æ): Caracteres no Ingleses.
+ (line 15)
+* \aleph: Símbolos Matemáticos.
+ (line 14)
+* \alph: \alph \Alph \arabic \roman \Roman \fnsymbol.
+ (line 9)
+* \Alph: \alph \Alph \arabic \roman \Roman \fnsymbol.
+ (line 12)
+* \alpha: Símbolos Matemáticos.
+ (line 17)
+* \alsoname: Ãndices. (line 19)
+* \amalg: Símbolos Matemáticos.
+ (line 20)
+* \and para `\author': \maketitle. (line 12)
+* \angle: Símbolos Matemáticos.
+ (line 23)
+* \appendix: Seccionado. (line 46)
+* \approx: Símbolos Matemáticos.
+ (line 26)
+* \arabic: \alph \Alph \arabic \roman \Roman \fnsymbol.
+ (line 15)
+* \arccos: Funciones Matemáticas.
+ (line 9)
+* \arcsin: Funciones Matemáticas.
+ (line 12)
+* \arctan: Funciones Matemáticas.
+ (line 15)
+* \arg: Funciones Matemáticas.
+ (line 18)
+* \arraycolsep: array. (line 44)
+* \arrayrulewidth: tabular. (line 101)
+* \arraystretch: tabular. (line 105)
+* \ast: Símbolos Matemáticos.
+ (line 29)
+* \asymp: Símbolos Matemáticos.
+ (line 32)
+* \author{nombre \and nombre2}: \maketitle. (line 11)
+* \a` (acento grave en tabulación): tabbing. (line 66)
+* \b (acento barra): Acentos. (line 48)
+* \backslash: Símbolos Matemáticos.
+ (line 35)
+* \backslash <1>: Caracteres Reservados.
+ (line 15)
+* \bar: Acentos Matemáticos. (line 13)
+* \baselineskip: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 61)
+* \baselinestretch: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 68)
+* \begin: Entornos. (line 5)
+* \beta: Símbolos Matemáticos.
+ (line 38)
+* \bf: Estilos del Tipo de Letra.
+ (line 88)
+* \bfseries: Estilos del Tipo de Letra.
+ (line 35)
+* \bibitem: \bibitem. (line 5)
+* \bibliography: Usando BibTeX. (line 5)
+* \bibliographystyle: Usando BibTeX. (line 5)
+* \bigcap: Símbolos Matemáticos.
+ (line 41)
+* \bigcap <1>: Símbolos Matemáticos.
+ (line 71)
+* \bigcirc: Símbolos Matemáticos.
+ (line 44)
+* \bigcup: Símbolos Matemáticos.
+ (line 47)
+* \bigodot: Símbolos Matemáticos.
+ (line 50)
+* \bigoplus: Símbolos Matemáticos.
+ (line 53)
+* \bigotimes: Símbolos Matemáticos.
+ (line 56)
+* \bigskip: \bigskip \medskip \smallskip.
+ (line 9)
+* \bigskipamount: \bigskip \medskip \smallskip.
+ (line 9)
+* \bigsqcup: Símbolos Matemáticos.
+ (line 65)
+* \bigtriangledown: Símbolos Matemáticos.
+ (line 59)
+* \bigtriangleup: Símbolos Matemáticos.
+ (line 62)
+* \biguplus: Símbolos Matemáticos.
+ (line 68)
+* \bigwedge: Símbolos Matemáticos.
+ (line 74)
+* \bmod: Funciones Matemáticas.
+ (line 21)
+* \boldmath: Fórmulas Matemáticas.
+ (line 30)
+* \bot: Símbolos Matemáticos.
+ (line 77)
+* \bottomfraction: figure. (line 57)
+* \bowtie: Símbolos Matemáticos.
+ (line 80)
+* \Box: Símbolos Matemáticos.
+ (line 83)
+* \breve: Acentos Matemáticos. (line 16)
+* \bullet: Símbolos Matemáticos.
+ (line 86)
+* \c (acento cedilla): Acentos. (line 52)
+* \cal: Estilos del Tipo de Letra.
+ (line 91)
+* \cap: Símbolos Matemáticos.
+ (line 89)
+* \capitalacute: Acentos. (line 21)
+* \capitalbreve: Acentos. (line 86)
+* \capitalcaron: Acentos. (line 97)
+* \capitalcedilla: Acentos. (line 52)
+* \capitalcircumflex: Acentos. (line 34)
+* \capitaldieresis: Acentos. (line 17)
+* \capitaldotaccent: Acentos. (line 56)
+* \capitalgrave: Acentos. (line 39)
+* \capitalhungarumlaut: Acentos. (line 60)
+* \capitalmacron: Acentos. (line 30)
+* \capitalnewtie: Acentos. (line 81)
+* \capitalogonek: Acentos. (line 70)
+* \capitalring: Acentos. (line 75)
+* \capitaltie: Acentos. (line 81)
+* \capitaltilde: Acentos. (line 45)
+* \caption: figure. (line 51)
+* \cc: \cc. (line 5)
+* \cdot: Símbolos Matemáticos.
+ (line 92)
+* \cdots: Miscelánea Math. (line 10)
+* \centering: \centering. (line 5)
+* \chapter: Seccionado. (line 11)
+* \check: Acentos Matemáticos. (line 19)
+* \chi: Símbolos Matemáticos.
+ (line 95)
+* \circ: Símbolos Matemáticos.
+ (line 98)
+* \circle: \circle. (line 5)
+* \cite: \cite. (line 5)
+* \cleardoublepage: \cleardoublepage. (line 5)
+* \clearpage: \clearpage. (line 5)
+* \cline: \cline. (line 5)
+* \closing: \closing. (line 5)
+* \clubsuit: Símbolos Matemáticos.
+ (line 101)
+* \columnsep: \twocolumn. (line 18)
+* \columnseprule: \twocolumn. (line 21)
+* \columnwidth: \twocolumn. (line 25)
+* \cong: Símbolos Matemáticos.
+ (line 104)
+* \contentsline: \addcontentsline. (line 30)
+* \coprod: Símbolos Matemáticos.
+ (line 107)
+* \copyright: Símbolos de Texto. (line 11)
+* \cos: Funciones Matemáticas.
+ (line 24)
+* \cosh: Funciones Matemáticas.
+ (line 27)
+* \cot: Funciones Matemáticas.
+ (line 30)
+* \coth: Funciones Matemáticas.
+ (line 33)
+* \csc: Funciones Matemáticas.
+ (line 36)
+* \cup: Símbolos Matemáticos.
+ (line 110)
+* \d (acento círculo): Acentos. (line 56)
+* \dag: Símbolos de Texto. (line 15)
+* \dagger: Símbolos Matemáticos.
+ (line 113)
+* \dashbox: \dashbox. (line 5)
+* \dashv: Símbolos Matemáticos.
+ (line 116)
+* \date{texto}: \maketitle. (line 18)
+* \day: \day \month \year. (line 5)
+* \dblfloatpagefraction: \twocolumn. (line 38)
+* \dblfloatsep: \twocolumn. (line 43)
+* \dbltextfloatsep: \twocolumn. (line 49)
+* \dbltopfraction: \twocolumn. (line 32)
+* \ddag: Símbolos de Texto. (line 18)
+* \ddagger: Símbolos Matemáticos.
+ (line 119)
+* \ddot: Acentos Matemáticos. (line 22)
+* \ddots: Miscelánea Math. (line 14)
+* \deg: Funciones Matemáticas.
+ (line 39)
+* \Delta: Símbolos Matemáticos.
+ (line 122)
+* \delta: Símbolos Matemáticos.
+ (line 125)
+* \depth: Longitudes Predeterminadas.
+ (line 10)
+* \det: Funciones Matemáticas.
+ (line 42)
+* \dh (æ): Caracteres no Ingleses.
+ (line 19)
+* \DH (Æ): Caracteres no Ingleses.
+ (line 19)
+* \Diamond: Símbolos Matemáticos.
+ (line 128)
+* \diamond: Símbolos Matemáticos.
+ (line 131)
+* \diamondsuit: Símbolos Matemáticos.
+ (line 134)
+* \dim: Funciones Matemáticas.
+ (line 45)
+* \displaystyle: Fórmulas Matemáticas.
+ (line 36)
+* \div: Símbolos Matemáticos.
+ (line 137)
+* \dj: Caracteres no Ingleses.
+ (line 23)
+* \DJ: Caracteres no Ingleses.
+ (line 23)
+* \documentclass: Clases de Documento. (line 5)
+* \dot: Acentos Matemáticos. (line 25)
+* \doteq: Símbolos Matemáticos.
+ (line 140)
+* \dotfill: \dotfill. (line 5)
+* \dots: Símbolos de Texto. (line 32)
+* \doublerulesep: tabular. (line 109)
+* \downarrow: Símbolos Matemáticos.
+ (line 143)
+* \Downarrow: Símbolos Matemáticos.
+ (line 146)
+* \ell: Símbolos Matemáticos.
+ (line 149)
+* \em: Estilos del Tipo de Letra.
+ (line 94)
+* \emph: Estilos del Tipo de Letra.
+ (line 29)
+* \emptyset: Símbolos Matemáticos.
+ (line 152)
+* \encl: \encl. (line 5)
+* \end: Entornos. (line 5)
+* \enlargethispage: \enlargethispage. (line 5)
+* \enumi: enumerate. (line 33)
+* \enumii: enumerate. (line 33)
+* \enumiii: enumerate. (line 33)
+* \enumiv: enumerate. (line 33)
+* \epsilon: Símbolos Matemáticos.
+ (line 155)
+* \equiv: Símbolos Matemáticos.
+ (line 158)
+* \eta: Símbolos Matemáticos.
+ (line 161)
+* \evensidemargin: Opciones de Clase de Documento.
+ (line 59)
+* \exists: Símbolos Matemáticos.
+ (line 164)
+* \exp: Funciones Matemáticas.
+ (line 48)
+* \fbox: \fbox y \framebox. (line 5)
+* \fboxrule: \framebox (imagen). (line 13)
+* \fboxrule <1>: \fbox y \framebox. (line 18)
+* \fboxsep: \framebox (imagen). (line 13)
+* \fboxsep <1>: \fbox y \framebox. (line 18)
+* \fill: \hfill. (line 9)
+* \flat: Símbolos Matemáticos.
+ (line 167)
+* \floatpagefraction: figure. (line 60)
+* \floatsep: figure. (line 64)
+* \flushbottom: \flushbottom. (line 5)
+* \fnsymbol: Notas al Pie Simbólicas.
+ (line 10)
+* \fnsymbol <1>: \alph \Alph \arabic \roman \Roman \fnsymbol.
+ (line 24)
+* \fnsymbol, y notas al pie: Notas al Pie Simbólicas.
+ (line 10)
+* \fontencoding: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 11)
+* \fontfamily: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 15)
+* \fontseries: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 27)
+* \fontshape: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 43)
+* \fontsize: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 61)
+* \footnote: \footnote. (line 5)
+* \footnotemark: \footnotemark. (line 5)
+* \footnoterule: Parámetros para Footnote.
+ (line 6)
+* \footnotesep: Parámetros para Footnote.
+ (line 12)
+* \footnotesize: Tamaños del Tipo de Letra.
+ (line 11)
+* \footnotetext: \footnotetext. (line 5)
+* \footskip: Parámetros para el Diseño de Página.
+ (line 16)
+* \forall: Símbolos Matemáticos.
+ (line 170)
+* \frac: Miscelánea Math. (line 18)
+* \frac{num}{den}: Miscelánea Math. (line 17)
+* \frame: \frame. (line 5)
+* \framebox: \framebox (imagen). (line 5)
+* \framebox <1>: \fbox y \framebox. (line 5)
+* \frown: Símbolos Matemáticos.
+ (line 173)
+* \fussy: \fussy. (line 5)
+* \Gamma: Símbolos Matemáticos.
+ (line 176)
+* \gamma: Símbolos Matemáticos.
+ (line 179)
+* \gcd: Funciones Matemáticas.
+ (line 51)
+* \ge: Símbolos Matemáticos.
+ (line 182)
+* \geq: Símbolos Matemáticos.
+ (line 185)
+* \gets: Símbolos Matemáticos.
+ (line 188)
+* \gg: Símbolos Matemáticos.
+ (line 191)
+* \glossary: Glosarios. (line 7)
+* \glossaryentry: Glosarios. (line 10)
+* \grave: Acentos Matemáticos. (line 28)
+* \guillemotleft («): Símbolos de Texto. (line 24)
+* \guillemotright (»): Símbolos de Texto. (line 25)
+* \guilsinglleft (‹): Símbolos de Texto. (line 26)
+* \guilsinglright (›): Símbolos de Texto. (line 27)
+* \H (acento diéresis Húngara): Acentos. (line 60)
+* \hat: Acentos Matemáticos. (line 31)
+* \hbar: Símbolos Matemáticos.
+ (line 194)
+* \headheight: Parámetros para el Diseño de Página.
+ (line 6)
+* \headsep: Parámetros para el Diseño de Página.
+ (line 11)
+* \heartsuit: Símbolos Matemáticos.
+ (line 197)
+* \height: Longitudes Predeterminadas.
+ (line 8)
+* \hfill: \hfill. (line 5)
+* \hline: \hline. (line 5)
+* \hom: Funciones Matemáticas.
+ (line 54)
+* \hookleftarrow: Símbolos Matemáticos.
+ (line 200)
+* \hookrightarrow: Símbolos Matemáticos.
+ (line 203)
+* \hrulefill: \hrulefill. (line 5)
+* \hspace: \hspace. (line 5)
+* \huge: Tamaños del Tipo de Letra.
+ (line 11)
+* \Huge: Tamaños del Tipo de Letra.
+ (line 11)
+* \hyphenation: \hyphenation. (line 5)
+* \i (i sin punto): Acentos. (line 63)
+* \iff: Símbolos Matemáticos.
+ (line 206)
+* \ij (ij): Caracteres no Ingleses.
+ (line 27)
+* \IJ (IJ): Caracteres no Ingleses.
+ (line 27)
+* \Im: Símbolos Matemáticos.
+ (line 209)
+* \imath: Acentos Matemáticos. (line 34)
+* \in: Símbolos Matemáticos.
+ (line 212)
+* \include: \include. (line 5)
+* \includeonly: \includeonly. (line 5)
+* \indent: \indent. (line 5)
+* \index: Ãndices. (line 8)
+* \indexentry: Ãndices. (line 11)
+* \inf: Funciones Matemáticas.
+ (line 57)
+* \infty: Símbolos Matemáticos.
+ (line 215)
+* \input: \input. (line 5)
+* \int: Símbolos Matemáticos.
+ (line 218)
+* \intextsep: figure. (line 68)
+* \iota: Símbolos Matemáticos.
+ (line 221)
+* \it: Estilos del Tipo de Letra.
+ (line 97)
+* \item: description. (line 13)
+* \item <1>: enumerate. (line 19)
+* \item <2>: itemize. (line 5)
+* \itemindent: itemize. (line 54)
+* \itemsep: itemize. (line 79)
+* \itshape: Estilos del Tipo de Letra.
+ (line 26)
+* \j (j sin punto): Acentos. (line 66)
+* \jmath: Acentos Matemáticos. (line 37)
+* \Join: Símbolos Matemáticos.
+ (line 224)
+* \k (colita —ogonek en polaco): Acentos. (line 70)
+* \kappa: Símbolos Matemáticos.
+ (line 227)
+* \ker: Funciones Matemáticas.
+ (line 60)
+* \kill: tabbing. (line 70)
+* \l (Å‚): Caracteres no Ingleses.
+ (line 31)
+* \L (Å): Caracteres no Ingleses.
+ (line 31)
+* \label: \label. (line 5)
+* \labelenumi: enumerate. (line 37)
+* \labelenumii: enumerate. (line 37)
+* \labelenumiii: enumerate. (line 37)
+* \labelenumiv: enumerate. (line 37)
+* \labelitemi: itemize. (line 32)
+* \labelitemii: itemize. (line 32)
+* \labelitemiii: itemize. (line 32)
+* \labelitemiv: itemize. (line 32)
+* \labelsep: itemize. (line 58)
+* \labelwidth: itemize. (line 62)
+* \Lambda: Símbolos Matemáticos.
+ (line 230)
+* \lambda: Símbolos Matemáticos.
+ (line 233)
+* \land: Símbolos Matemáticos.
+ (line 236)
+* \langle: Símbolos Matemáticos.
+ (line 239)
+* \large: Tamaños del Tipo de Letra.
+ (line 11)
+* \Large: Tamaños del Tipo de Letra.
+ (line 11)
+* \LARGE: Tamaños del Tipo de Letra.
+ (line 11)
+* \LaTeX: Símbolos de Texto. (line 21)
+* \lbrace: Símbolos Matemáticos.
+ (line 242)
+* \lbrack: Símbolos Matemáticos.
+ (line 245)
+* \lceil: Símbolos Matemáticos.
+ (line 248)
+* \ldots: Símbolos de Texto. (line 31)
+* \le: Símbolos Matemáticos.
+ (line 251)
+* \leadsto: Símbolos Matemáticos.
+ (line 254)
+* \left delimitador1 ... \right delimitador2: Miscelánea Math.
+ (line 20)
+* \Leftarrow: Símbolos Matemáticos.
+ (line 256)
+* \leftarrow: Símbolos Matemáticos.
+ (line 259)
+* \lefteqn: eqnarray. (line 25)
+* \leftharpoondown: Símbolos Matemáticos.
+ (line 262)
+* \leftharpoonup: Símbolos Matemáticos.
+ (line 265)
+* \leftmargin: itemize. (line 39)
+* \leftmargini: itemize. (line 39)
+* \leftmarginii: itemize. (line 39)
+* \leftmarginiii: itemize. (line 39)
+* \leftmarginiv: itemize. (line 39)
+* \leftmarginv: itemize. (line 39)
+* \leftmarginvi: itemize. (line 39)
+* \Leftrightarrow: Símbolos Matemáticos.
+ (line 268)
+* \Leftrightarrow <1>: Símbolos Matemáticos.
+ (line 271)
+* \leq: Símbolos Matemáticos.
+ (line 274)
+* \lfloor: Símbolos Matemáticos.
+ (line 277)
+* \lg: Funciones Matemáticas.
+ (line 63)
+* \lhd: Símbolos Matemáticos.
+ (line 280)
+* \lim: Funciones Matemáticas.
+ (line 66)
+* \liminf: Funciones Matemáticas.
+ (line 69)
+* \limsup: Funciones Matemáticas.
+ (line 72)
+* \line: \line. (line 5)
+* \linebreak: \linebreak y \nolinebreak.
+ (line 5)
+* \linespread: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 76)
+* \linethickness: \linethickness. (line 5)
+* \linewidth: Parámetros para el Diseño de Página.
+ (line 21)
+* \listoffigures: Tablas de Contenido. (line 15)
+* \listoftables: Tablas de Contenido. (line 15)
+* \listparindent: itemize. (line 66)
+* \ll: Símbolos Matemáticos.
+ (line 283)
+* \ln: Funciones Matemáticas.
+ (line 75)
+* \lnot: Símbolos Matemáticos.
+ (line 286)
+* \location: \location. (line 5)
+* \log: Funciones Matemáticas.
+ (line 78)
+* \longleftarrow: Símbolos Matemáticos.
+ (line 289)
+* \longleftrightarrow: Símbolos Matemáticos.
+ (line 292)
+* \longmapsto: Símbolos Matemáticos.
+ (line 295)
+* \longrightarrow: Símbolos Matemáticos.
+ (line 298)
+* \lor: Símbolos Matemáticos.
+ (line 301)
+* \lq: Símbolos de Texto. (line 37)
+* \makebox: \makebox. (line 5)
+* \makebox (imagen): \makebox (imagen). (line 5)
+* \makeglossary: Glosarios. (line 5)
+* \makeindex: Ãndices. (line 5)
+* \makelabels: \makelabels. (line 5)
+* \maketitle: \maketitle. (line 5)
+* \mapsto: Símbolos Matemáticos.
+ (line 304)
+* \marginpar: Notas al Margen. (line 5)
+* \marginparpush: Notas al Margen. (line 36)
+* \marginparsep: Notas al Margen. (line 40)
+* \marginparwidth: Notas al Margen. (line 44)
+* \markboth{izquierda}{derecha}: \pagestyle. (line 31)
+* \markright{derecha}: \pagestyle. (line 39)
+* \mathbf: Estilos del Tipo de Letra.
+ (line 59)
+* \mathcal: Estilos del Tipo de Letra.
+ (line 76)
+* \mathnormal: Estilos del Tipo de Letra.
+ (line 72)
+* \mathrm: Estilos del Tipo de Letra.
+ (line 56)
+* \mathsf: Estilos del Tipo de Letra.
+ (line 62)
+* \mathtt: Estilos del Tipo de Letra.
+ (line 65)
+* \mathversion: Estilos del Tipo de Letra.
+ (line 78)
+* \max: Funciones Matemáticas.
+ (line 81)
+* \mbox: \mbox. (line 5)
+* \mdseries: Estilos del Tipo de Letra.
+ (line 32)
+* \medskip: \bigskip \medskip \smallskip.
+ (line 13)
+* \medskipamount: \bigskip \medskip \smallskip.
+ (line 13)
+* \mho: Símbolos Matemáticos.
+ (line 307)
+* \mid: Símbolos Matemáticos.
+ (line 309)
+* \min: Funciones Matemáticas.
+ (line 84)
+* \models: Símbolos Matemáticos.
+ (line 312)
+* \month: \day \month \year. (line 5)
+* \mp: Símbolos Matemáticos.
+ (line 315)
+* \mu: Símbolos Matemáticos.
+ (line 318)
+* \multicolumn: \multicolumn. (line 5)
+* \multiput: \multiput. (line 5)
+* \nabla: Símbolos Matemáticos.
+ (line 321)
+* \name: \name. (line 5)
+* \natural: Símbolos Matemáticos.
+ (line 324)
+* \ne: Símbolos Matemáticos.
+ (line 327)
+* \nearrow: Símbolos Matemáticos.
+ (line 330)
+* \neg: Símbolos Matemáticos.
+ (line 333)
+* \neq: Símbolos Matemáticos.
+ (line 336)
+* \newcommand: \newcommand y \renewcommand.
+ (line 5)
+* \newcounter: \newcounter. (line 5)
+* \newenvironment: \newenvironment y \renewenvironment.
+ (line 5)
+* \newfont: \newfont. (line 5)
+* \newlength: \newlength. (line 5)
+* \newline: \newline. (line 5)
+* \NEWLINE: \SPACE. (line 5)
+* \newpage: \newpage. (line 5)
+* \newsavebox: \newsavebox. (line 5)
+* \newtheorem: \newtheorem. (line 5)
+* \newtie: Acentos. (line 81)
+* \ng: Caracteres no Ingleses.
+ (line 35)
+* \NG: Caracteres no Ingleses.
+ (line 35)
+* \ni: Símbolos Matemáticos.
+ (line 339)
+* \nocite: \nocite. (line 5)
+* \nofiles: Tablas de Contenido. (line 19)
+* \noindent: \noindent. (line 5)
+* \nolinebreak: \linebreak y \nolinebreak.
+ (line 5)
+* \nonumber: eqnarray. (line 19)
+* \nopagebreak: \pagebreak y \nopagebreak.
+ (line 5)
+* \normalfont: Estilos del Tipo de Letra.
+ (line 53)
+* \normalmarginpar: Notas al Margen. (line 22)
+* \normalsize: Tamaños del Tipo de Letra.
+ (line 11)
+* \not: Símbolos Matemáticos.
+ (line 342)
+* \notin: Símbolos Matemáticos.
+ (line 345)
+* \nu: Símbolos Matemáticos.
+ (line 348)
+* \nwarrow: Símbolos Matemáticos.
+ (line 351)
+* \o (ø): Caracteres no Ingleses.
+ (line 39)
+* \O (Ø): Caracteres no Ingleses.
+ (line 39)
+* \obeycr: \obeycr y \restorecr.
+ (line 5)
+* \oddsidemargin: Opciones de Clase de Documento.
+ (line 59)
+* \odot: Símbolos Matemáticos.
+ (line 354)
+* \oe (Å“): Caracteres no Ingleses.
+ (line 43)
+* \OE (Å’): Caracteres no Ingleses.
+ (line 43)
+* \oint: Símbolos Matemáticos.
+ (line 357)
+* \Omega: Símbolos Matemáticos.
+ (line 360)
+* \omega: Símbolos Matemáticos.
+ (line 363)
+* \ominus: Símbolos Matemáticos.
+ (line 366)
+* \onecolumn: \onecolumn. (line 5)
+* \opening: \opening. (line 5)
+* \oplus: Símbolos Matemáticos.
+ (line 369)
+* \oslash: Símbolos Matemáticos.
+ (line 372)
+* \otimes: Símbolos Matemáticos.
+ (line 375)
+* \oval: \oval. (line 5)
+* \overbrace{texto}: Miscelánea Math. (line 26)
+* \overline{texto}: Miscelánea Math. (line 30)
+* \owns: Símbolos Matemáticos.
+ (line 378)
+* \P: Símbolos de Texto. (line 40)
+* \pagebreak: \pagebreak y \nopagebreak.
+ (line 5)
+* \pagenumbering: \pagenumbering. (line 5)
+* \pageref: \pageref. (line 5)
+* \pagestyle: \pagestyle. (line 5)
+* \paragraph: Seccionado. (line 20)
+* \parallel: Símbolos Matemáticos.
+ (line 381)
+* \parbox: \parbox. (line 5)
+* \parindent: minipage. (line 17)
+* \parindent <1>: \indent. (line 5)
+* \parsep: itemize. (line 84)
+* \parskip: \parskip. (line 5)
+* \part: Seccionado. (line 9)
+* \partial: Símbolos Matemáticos.
+ (line 384)
+* \partopsep: itemize. (line 96)
+* \perp: Símbolos Matemáticos.
+ (line 387)
+* \phi: Símbolos Matemáticos.
+ (line 390)
+* \Pi: Símbolos Matemáticos.
+ (line 393)
+* \pi: Símbolos Matemáticos.
+ (line 396)
+* \pm: Símbolos Matemáticos.
+ (line 399)
+* \pmod: Funciones Matemáticas.
+ (line 87)
+* \poptabs: tabbing. (line 76)
+* \poptabs <1>: tabbing. (line 77)
+* \pounds: Símbolos de Texto. (line 44)
+* \Pr: Funciones Matemáticas.
+ (line 90)
+* \prec: Símbolos Matemáticos.
+ (line 402)
+* \preceq: Símbolos Matemáticos.
+ (line 405)
+* \prime: Símbolos Matemáticos.
+ (line 408)
+* \prod: Símbolos Matemáticos.
+ (line 411)
+* \propto: Símbolos Matemáticos.
+ (line 414)
+* \protect: \protect. (line 5)
+* \ps: \ps. (line 5)
+* \Psi: Símbolos Matemáticos.
+ (line 417)
+* \psi: Símbolos Matemáticos.
+ (line 420)
+* \pushtabs: tabbing. (line 80)
+* \put: \put. (line 5)
+* \quotedblbase („): Símbolos de Texto. (line 48)
+* \quotesinglbase (‚): Símbolos de Texto. (line 49)
+* \r (acento anillo): Acentos. (line 75)
+* \raggedbottom: \raggedbottom. (line 5)
+* \raggedleft: \raggedleft. (line 5)
+* \raggedright: \raggedright. (line 5)
+* \raisebox: \raisebox. (line 5)
+* \rangle: Símbolos Matemáticos.
+ (line 423)
+* \rbrace: Símbolos Matemáticos.
+ (line 426)
+* \rbrack: Símbolos Matemáticos.
+ (line 429)
+* \rceil: Símbolos Matemáticos.
+ (line 432)
+* \Re: Símbolos Matemáticos.
+ (line 435)
+* \ref: \ref. (line 5)
+* \refstepcounter: \refstepcounter. (line 5)
+* \renewenvironment: \newenvironment y \renewenvironment.
+ (line 5)
+* \restorecr: \obeycr y \restorecr.
+ (line 5)
+* \reversemarginpar: Notas al Margen. (line 22)
+* \rfloor: Símbolos Matemáticos.
+ (line 438)
+* \rhd: Símbolos Matemáticos.
+ (line 441)
+* \rho: Símbolos Matemáticos.
+ (line 444)
+* \right: Miscelánea Math. (line 21)
+* \Rightarrow: Símbolos Matemáticos.
+ (line 447)
+* \rightarrow: Símbolos Matemáticos.
+ (line 450)
+* \rightharpoondown: Símbolos Matemáticos.
+ (line 453)
+* \rightharpoonup: Símbolos Matemáticos.
+ (line 456)
+* \rightleftharpoons: Símbolos Matemáticos.
+ (line 459)
+* \rightmargin: itemize. (line 70)
+* \rm: Estilos del Tipo de Letra.
+ (line 100)
+* \rmfamily: Estilos del Tipo de Letra.
+ (line 23)
+* \roman: \alph \Alph \arabic \roman \Roman \fnsymbol.
+ (line 18)
+* \roman <1>: \alph \Alph \arabic \roman \Roman \fnsymbol.
+ (line 21)
+* \rq: Símbolos de Texto. (line 52)
+* \rule: \rule. (line 5)
+* \S: Símbolos de Texto. (line 55)
+* \savebox: \savebox. (line 5)
+* \sbox: \sbox. (line 5)
+* \sc: Estilos del Tipo de Letra.
+ (line 103)
+* \scriptsize: Tamaños del Tipo de Letra.
+ (line 11)
+* \scshape: Estilos del Tipo de Letra.
+ (line 47)
+* \searrow: Símbolos Matemáticos.
+ (line 462)
+* \sec: Funciones Matemáticas.
+ (line 93)
+* \section: Seccionado. (line 14)
+* \seename: Ãndices. (line 19)
+* \selectfont: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 82)
+* \setcounter: \setcounter. (line 5)
+* \setlength: \setlength. (line 5)
+* \setminus: Símbolos Matemáticos.
+ (line 465)
+* \settodepth: \settodepth. (line 5)
+* \settoheight: \settoheight. (line 5)
+* \settowidth: \settowidth. (line 5)
+* \sf: Estilos del Tipo de Letra.
+ (line 106)
+* \sffamily: Estilos del Tipo de Letra.
+ (line 44)
+* \sharp: Símbolos Matemáticos.
+ (line 468)
+* \shortstack: \shortstack. (line 5)
+* \Sigma: Símbolos Matemáticos.
+ (line 471)
+* \sigma: Símbolos Matemáticos.
+ (line 474)
+* \signature: \signature. (line 5)
+* \sim: Símbolos Matemáticos.
+ (line 477)
+* \simeq: Símbolos Matemáticos.
+ (line 480)
+* \sin: Funciones Matemáticas.
+ (line 96)
+* \sinh: Funciones Matemáticas.
+ (line 99)
+* \sl: Estilos del Tipo de Letra.
+ (line 109)
+* \slshape: Estilos del Tipo de Letra.
+ (line 41)
+* \small: Tamaños del Tipo de Letra.
+ (line 11)
+* \smallint: Símbolos Matemáticos.
+ (line 483)
+* \smallskip: \bigskip \medskip \smallskip.
+ (line 17)
+* \smallskipamount: \bigskip \medskip \smallskip.
+ (line 17)
+* \smile: Símbolos Matemáticos.
+ (line 486)
+* \SPACE: \SPACE. (line 5)
+* \spadesuit: Símbolos Matemáticos.
+ (line 489)
+* \sqcap: Símbolos Matemáticos.
+ (line 492)
+* \sqcup: Símbolos Matemáticos.
+ (line 495)
+* \sqrt[raíz]{argumento}: Miscelánea Math. (line 34)
+* \sqsubset: Símbolos Matemáticos.
+ (line 498)
+* \sqsubseteq: Símbolos Matemáticos.
+ (line 501)
+* \sqsupset: Símbolos Matemáticos.
+ (line 504)
+* \sqsupseteq: Símbolos Matemáticos.
+ (line 507)
+* \ss (ß): Caracteres no Ingleses.
+ (line 47)
+* \SS (SS): Caracteres no Ingleses.
+ (line 47)
+* \stackrel{texto}{relación}: Miscelánea Math. (line 39)
+* \star: Símbolos Matemáticos.
+ (line 510)
+* \startbreaks: \startbreaks. (line 5)
+* \stepcounter: \stepcounter. (line 5)
+* \stop: Línea de Órdenes. (line 16)
+* \stopbreaks: \stopbreaks. (line 5)
+* \subparagraph: Seccionado. (line 22)
+* \subsection: Seccionado. (line 16)
+* \subset: Símbolos Matemáticos.
+ (line 513)
+* \subseteq: Símbolos Matemáticos.
+ (line 516)
+* \subsubsection: Seccionado. (line 18)
+* \succ: Símbolos Matemáticos.
+ (line 519)
+* \succeq: Símbolos Matemáticos.
+ (line 522)
+* \sum: Símbolos Matemáticos.
+ (line 525)
+* \sup: Funciones Matemáticas.
+ (line 102)
+* \supset: Símbolos Matemáticos.
+ (line 528)
+* \supseteq: Símbolos Matemáticos.
+ (line 531)
+* \surd: Símbolos Matemáticos.
+ (line 534)
+* \swarrow: Símbolos Matemáticos.
+ (line 537)
+* \symbol: Caracteres Reservados.
+ (line 25)
+* \t (acento atadura con siguiente): Acentos. (line 81)
+* \TAB: \SPACE. (line 5)
+* \tabbingsep: tabbing. (line 85)
+* \tabcolsep: tabular. (line 113)
+* \tableofcontents: Tablas de Contenido. (line 5)
+* \tan: Funciones Matemáticas.
+ (line 105)
+* \tanh: Funciones Matemáticas.
+ (line 108)
+* \tau: Símbolos Matemáticos.
+ (line 540)
+* \telephone: \telephone. (line 5)
+* \TeX: Símbolos de Texto. (line 58)
+* \textascenderwordmark: Símbolos de Texto. (line 96)
+* \textasciicircum: Símbolos de Texto. (line 61)
+* \textasciitilde: Símbolos de Texto. (line 64)
+* \textasteriskcentered: Símbolos de Texto. (line 67)
+* \textbackslash: Símbolos de Texto. (line 70)
+* \textbar: Símbolos de Texto. (line 73)
+* \textbardbl: Símbolos de Texto. (line 76)
+* \textbf: Estilos del Tipo de Letra.
+ (line 35)
+* \textbigcircle: Símbolos de Texto. (line 79)
+* \textbraceleft: Símbolos de Texto. (line 82)
+* \textbraceright: Símbolos de Texto. (line 85)
+* \textbullet: Símbolos de Texto. (line 88)
+* \textcapitalwordmark: Símbolos de Texto. (line 95)
+* \textcircled{letra}: Símbolos de Texto. (line 91)
+* \textcompwordmark: Símbolos de Texto. (line 94)
+* \textcopyright: Símbolos de Texto. (line 12)
+* \textdagger: Símbolos de Texto. (line 101)
+* \textdaggerdbl: Símbolos de Texto. (line 104)
+* \textdollar (o `$'): Símbolos de Texto. (line 107)
+* \textellipsis: Símbolos de Texto. (line 33)
+* \textemdash (o `---'): Símbolos de Texto. (line 110)
+* \textendash (o `--'): Símbolos de Texto. (line 113)
+* \texteuro: Símbolos de Texto. (line 116)
+* \textexclamdown (o `!`'): Símbolos de Texto. (line 119)
+* \textfloatsep: figure. (line 73)
+* \textfraction: figure. (line 78)
+* \textgreater: Símbolos de Texto. (line 122)
+* \textheight: Parámetros para el Diseño de Página.
+ (line 27)
+* \textit: Estilos del Tipo de Letra.
+ (line 26)
+* \textleftarrow: Símbolos de Texto. (line 128)
+* \textless: Símbolos de Texto. (line 125)
+* \textmd: Estilos del Tipo de Letra.
+ (line 32)
+* \textnormal: Estilos del Tipo de Letra.
+ (line 53)
+* \textordfeminine: Símbolos de Texto. (line 131)
+* \textordfeminine <1>: Símbolos de Texto. (line 135)
+* \textordmasculine: Símbolos de Texto. (line 132)
+* \textparagraph: Símbolos de Texto. (line 41)
+* \textperiodcentered: Símbolos de Texto. (line 138)
+* \textquestiondown (o `?`'): Símbolos de Texto. (line 141)
+* \textquotedblleft (o ```'): Símbolos de Texto. (line 144)
+* \textquotedblright (o `''): Símbolos de Texto. (line 147)
+* \textquoteleft (o ``'): Símbolos de Texto. (line 150)
+* \textquoteright (o `''): Símbolos de Texto. (line 153)
+* \textquotestraightbase: Símbolos de Texto. (line 156)
+* \textquotestraightdblbase: Símbolos de Texto. (line 157)
+* \textregistered: Símbolos de Texto. (line 160)
+* \textrightarrow: Símbolos de Texto. (line 163)
+* \textrm: Estilos del Tipo de Letra.
+ (line 23)
+* \textsc: Estilos del Tipo de Letra.
+ (line 47)
+* \textsf: Estilos del Tipo de Letra.
+ (line 44)
+* \textsl: Estilos del Tipo de Letra.
+ (line 41)
+* \textsterling: Símbolos de Texto. (line 45)
+* \textthreequartersemdash: Símbolos de Texto. (line 166)
+* \texttrademark: Símbolos de Texto. (line 169)
+* \texttt: Estilos del Tipo de Letra.
+ (line 50)
+* \texttwelveudash: Símbolos de Texto. (line 172)
+* \textunderscore: Símbolos de Texto. (line 175)
+* \textup: Estilos del Tipo de Letra.
+ (line 38)
+* \textvisiblespace: Símbolos de Texto. (line 178)
+* \textwidth: Parámetros para el Diseño de Página.
+ (line 34)
+* \th (þ): Caracteres no Ingleses.
+ (line 51)
+* \TH (Þ): Caracteres no Ingleses.
+ (line 51)
+* \thanks{texto}: \maketitle. (line 23)
+* \theta: Símbolos Matemáticos.
+ (line 543)
+* \thicklines: \thicklines. (line 5)
+* \thinlines: \thinlines. (line 5)
+* \thinspace: \thinspace. (line 5)
+* \thispagestyle: \thispagestyle. (line 5)
+* \tilde: Acentos Matemáticos. (line 40)
+* \times: Símbolos Matemáticos.
+ (line 546)
+* \tiny: Tamaños del Tipo de Letra.
+ (line 11)
+* \title{texto}: \maketitle. (line 28)
+* \to: Símbolos Matemáticos.
+ (line 549)
+* \today: \today. (line 5)
+* \top: Símbolos Matemáticos.
+ (line 552)
+* \topfraction: figure. (line 84)
+* \topmargin: Parámetros para el Diseño de Página.
+ (line 41)
+* \topsep: itemize. (line 88)
+* \topskip: Parámetros para el Diseño de Página.
+ (line 49)
+* \totalheight: Longitudes Predeterminadas.
+ (line 12)
+* \triangle: Símbolos Matemáticos.
+ (line 555)
+* \triangleleft: Símbolos Matemáticos.
+ (line 558)
+* \triangleright: Símbolos Matemáticos.
+ (line 561)
+* \tt: Estilos del Tipo de Letra.
+ (line 112)
+* \ttfamily: Estilos del Tipo de Letra.
+ (line 50)
+* \twocolumn: \twocolumn. (line 5)
+* \typein: \typein. (line 5)
+* \typeout: \typeout. (line 5)
+* \u (breve acento): Acentos. (line 86)
+* \unboldmath: Fórmulas Matemáticas.
+ (line 30)
+* \underbar: Acentos. (line 89)
+* \underbrace{matemáticas}: Miscelánea Math. (line 44)
+* \underline{text}: Miscelánea Math. (line 47)
+* \unitlength: picture. (line 9)
+* \unlhd: Símbolos Matemáticos.
+ (line 564)
+* \unrhd: Símbolos Matemáticos.
+ (line 568)
+* \Uparrow: Símbolos Matemáticos.
+ (line 572)
+* \uparrow: Símbolos Matemáticos.
+ (line 575)
+* \Updownarrow: Símbolos Matemáticos.
+ (line 578)
+* \updownarrow: Símbolos Matemáticos.
+ (line 581)
+* \uplus: Símbolos Matemáticos.
+ (line 584)
+* \upshape: Estilos del Tipo de Letra.
+ (line 38)
+* \Upsilon: Símbolos Matemáticos.
+ (line 587)
+* \upsilon: Símbolos Matemáticos.
+ (line 590)
+* \usebox: \usebox. (line 5)
+* \usecounter: \usecounter. (line 5)
+* \usefont: Instrucciones de Bajo Nivel para el Tipo de Letra.
+ (line 87)
+* \usepackage: Opciones de Clase de Documento.
+ (line 78)
+* \v (breve acento): Acentos. (line 97)
+* \value: \value. (line 5)
+* \varepsilon: Símbolos Matemáticos.
+ (line 593)
+* \varphi: Símbolos Matemáticos.
+ (line 596)
+* \varpi: Símbolos Matemáticos.
+ (line 599)
+* \varrho: Símbolos Matemáticos.
+ (line 602)
+* \varsigma: Símbolos Matemáticos.
+ (line 605)
+* \vartheta: Símbolos Matemáticos.
+ (line 608)
+* \vdash: Símbolos Matemáticos.
+ (line 611)
+* \vdots: Miscelánea Math. (line 52)
+* \vdots <1>: Miscelánea Math. (line 53)
+* \vec: Acentos Matemáticos. (line 43)
+* \vector: \vector. (line 5)
+* \vee: Símbolos Matemáticos.
+ (line 614)
+* \verb: \verb. (line 5)
+* \Vert: Símbolos Matemáticos.
+ (line 617)
+* \vert: Símbolos Matemáticos.
+ (line 620)
+* \vfill: \vfill. (line 5)
+* \vline: \vline. (line 5)
+* \vspace: \vspace. (line 5)
+* \wedge: Símbolos Matemáticos.
+ (line 623)
+* \widehat: Acentos Matemáticos. (line 46)
+* \widetilde: Acentos Matemáticos. (line 49)
+* \width: Longitudes Predeterminadas.
+ (line 6)
+* \wp: Símbolos Matemáticos.
+ (line 626)
+* \wr: Símbolos Matemáticos.
+ (line 629)
+* \Xi: Símbolos Matemáticos.
+ (line 632)
+* \xi: Símbolos Matemáticos.
+ (line 635)
+* \year: \day \month \year. (line 5)
+* \zeta: Símbolos Matemáticos.
+ (line 638)
+* \[: Fórmulas Matemáticas.
+ (line 17)
+* \\ (para objetos `\shortstack'): \shortstack. (line 21)
+* \\ (para `array'): array. (line 28)
+* \\ (para `centrar'): center. (line 12)
+* \\ (para `eqnarray'): eqnarray. (line 11)
+* \\ (para `flushright'): flushright. (line 11)
+* \\ forzar la separación de línea: \\. (line 5)
+* \\ para cartas: Cartas. (line 33)
+* \\ para `flushleft': flushleft. (line 11)
+* \\ para `tabular': tabular. (line 22)
+* \\ para `verse': verse. (line 16)
+* \\ para `\author': \maketitle. (line 12)
+* \\ para `\title': \maketitle. (line 29)
+* \\ tabbing: tabbing. (line 26)
+* \\* (para `eqnarray'): eqnarray. (line 16)
+* \]: Fórmulas Matemáticas.
+ (line 17)
+* \^: Caracteres Reservados.
+ (line 21)
+* \^ (acento circunflejo): Acentos. (line 34)
+* \_: Caracteres Reservados.
+ (line 10)
+* \` (acento grave): Acentos. (line 39)
+* \` (tabbing): tabbing. (line 56)
+* \{: Caracteres Reservados.
+ (line 10)
+* \|: Símbolos Matemáticos.
+ (line 11)
+* \}: Caracteres Reservados.
+ (line 10)
+* \~: Caracteres Reservados.
+ (line 21)
+* \~ (acento tilde): Acentos. (line 45)
+* ^: Subíndices y Superíndices.
+ (line 5)
+* _: Subíndices y Superíndices.
+ (line 5)
+* array entorno: array. (line 5)
+* caja lR: picture. (line 66)
+* clase article: Clases de Documento. (line 12)
+* clase book: Clases de Documento. (line 12)
+* clase letter: Clases de Documento. (line 12)
+* clase report: Clases de Documento. (line 12)
+* clase slides: Clases de Documento. (line 12)
+* contador secnumdepth: Seccionado. (line 56)
+* ejemplo \Alph: enumerate. (line 43)
+* ejemplo \parskip: itemize. (line 101)
+* entorno flushleft: flushleft. (line 5)
+* entorno itemize: itemize. (line 5)
+* entorno abstract: abstract. (line 5)
+* entorno center: center. (line 5)
+* entorno description: description. (line 5)
+* entorno displaymath: displaymath. (line 5)
+* entorno displaymath <1>: Fórmulas Matemáticas.
+ (line 5)
+* entorno document: document. (line 5)
+* entorno enumerate: enumerate. (line 5)
+* entorno eqnarray: eqnarray. (line 5)
+* entorno equation: equation. (line 5)
+* entorno equation <1>: Fórmulas Matemáticas.
+ (line 5)
+* entorno flushright: flushright. (line 5)
+* entorno math: math. (line 5)
+* entorno math <1>: Fórmulas Matemáticas.
+ (line 5)
+* entorno minipage: minipage. (line 5)
+* entorno tabbing: tabbing. (line 5)
+* entorno tabular: tabular. (line 5)
+* entorno theorem: theorem. (line 5)
+* entorno titlepage: titlepage. (line 5)
+* entorno verbatim: verbatim. (line 5)
+* entorno verse: verse. (line 5)
+* figure: figure. (line 5)
+* indexspace: Ãndices. (line 33)
+* letter: letter. (line 5)
+* list: list. (line 5)
+* lrbox: lrbox. (line 5)
+* opción 10pt: Opciones de Clase de Documento.
+ (line 14)
+* opción 11pt: Opciones de Clase de Documento.
+ (line 14)
+* opción 12pt: Opciones de Clase de Documento.
+ (line 14)
+* opción a4paper: Opciones de Clase de Documento.
+ (line 20)
+* opción a5paper: Opciones de Clase de Documento.
+ (line 20)
+* opción b5paper: Opciones de Clase de Documento.
+ (line 20)
+* opción draft: Opciones de Clase de Documento.
+ (line 25)
+* opción executivepaper: Opciones de Clase de Documento.
+ (line 20)
+* opción final: Opciones de Clase de Documento.
+ (line 25)
+* opción fleqn: Opciones de Clase de Documento.
+ (line 25)
+* opción landscape: Opciones de Clase de Documento.
+ (line 25)
+* opción legalpaper: Opciones de Clase de Documento.
+ (line 20)
+* opción leqno: Opciones de Clase de Documento.
+ (line 25)
+* opción letterpaper: Opciones de Clase de Documento.
+ (line 20)
+* opción notitlepage: Opciones de Clase de Documento.
+ (line 25)
+* opción onecolumn: Opciones de Clase de Documento.
+ (line 51)
+* opción oneside: Opciones de Clase de Documento.
+ (line 51)
+* opción openany: Opciones de Clase de Documento.
+ (line 51)
+* opción openbib: Opciones de Clase de Documento.
+ (line 25)
+* opción openright: Opciones de Clase de Documento.
+ (line 51)
+* opción titlepage: Opciones de Clase de Documento.
+ (line 25)
+* opción twocolumn: Opciones de Clase de Documento.
+ (line 51)
+* opción twoside: Opciones de Clase de Documento.
+ (line 51)
+* paquete textcomp: Símbolos de Texto. (line 5)
+* picture: picture. (line 5)
+* printindex: Ãndices. (line 29)
+* quotation: quotation. (line 5)
+* quote: quote. (line 5)
+* table: table. (line 5)
+* thebibliography: thebibliography. (line 5)
+
+
+
+Tag Table:
+Node: Top1813
+Node: Descripción4493
+Node: Iniciando y Finalizando6764
+Node: Clases de Documento7384
+Node: Opciones de Clase de Documento8066
+Node: Tipos de Letra11126
+Node: Estilos del Tipo de Letra11700
+Node: Tamaños del Tipo de Letra14437
+Node: Instrucciones de Bajo Nivel para el Tipo de Letra16017
+Node: Diseño19166
+Node: \onecolumn19735
+Node: \twocolumn19973
+Node: \flushbottom21812
+Node: \raggedbottom22223
+Node: Parámetros para el Diseño de Página22556
+Node: Seccionado24962
+Node: Referencias Cruzadas26773
+Node: \label27252
+Node: \pageref28233
+Node: \ref28548
+Node: Entornos28982
+Node: abstract30556
+Node: array30792
+Node: center32256
+Node: \centering32749
+Node: description33681
+Node: displaymath34696
+Node: document35370
+Node: enumerate35635
+Node: eqnarray37027
+Node: equation38185
+Node: figure38586
+Node: flushleft41936
+Node: \raggedright42438
+Node: flushright43064
+Node: \raggedleft43553
+Node: itemize44177
+Node: letter48221
+Node: list48451
+Node: math49369
+Node: minipage49697
+Node: picture51026
+Node: \circle55405
+Node: \makebox (imagen)55770
+Node: \framebox (imagen)56524
+Node: \dashbox57030
+Node: \frame57644
+Node: \line57991
+Node: \linethickness58522
+Node: \thicklines58985
+Node: \thinlines59314
+Node: \multiput59639
+Node: \oval60040
+Node: \put60728
+Node: \shortstack61001
+Node: \vector61503
+Node: quotation61831
+Node: quote62326
+Node: tabbing62809
+Node: table66346
+Node: tabular67319
+Node: \multicolumn71801
+Node: \cline72709
+Node: \hline73068
+Node: \vline73407
+Node: thebibliography73761
+Node: \bibitem75054
+Node: \cite75882
+Node: \nocite76407
+Node: Usando BibTeX76723
+Node: theorem78468
+Node: titlepage78867
+Node: verbatim79586
+Node: \verb80299
+Node: verse80978
+Node: Saltos de Línea81523
+Node: \\82733
+Node: \obeycr y \restorecr83294
+Node: \newline83765
+Node: \- (hyphenation)84056
+Node: \fussy84810
+Node: \sloppy85259
+Node: \hyphenation85643
+Node: \linebreak y \nolinebreak86398
+Node: Saltos de Página87103
+Node: \cleardoublepage87819
+Node: \clearpage88302
+Node: \newpage88606
+Node: \enlargethispage88858
+Node: \pagebreak y \nopagebreak89410
+Node: Notas al Pie90165
+Node: \footnote90882
+Node: \footnotemark91454
+Node: \footnotetext92061
+Node: Notas al Pie Simbólicas92636
+Node: Parámetros para Footnote93237
+Node: Definiciones94075
+Node: \newcommand y \renewcommand94868
+Node: \newcounter96345
+Node: \newlength96843
+Node: \newsavebox97421
+Node: \newenvironment y \renewenvironment97783
+Node: \newtheorem99403
+Node: \newfont100490
+Node: \protect101071
+Node: Contadores102016
+Node: \alph \Alph \arabic \roman \Roman \fnsymbol103420
+Node: \usecounter104565
+Node: \value104960
+Node: \setcounter105397
+Node: \addtocounter105699
+Node: \refstepcounter106025
+Node: \stepcounter106406
+Node: \day \month \year106683
+Node: Longitudes107283
+Node: \setlength107952
+Node: \addtolength108330
+Node: \settodepth108683
+Node: \settoheight108983
+Node: \settowidth109280
+Node: Longitudes Predeterminadas109574
+Node: Haciendo Párrafos110170
+Node: \indent110822
+Node: \noindent111350
+Node: \parskip111639
+Node: Notas al Margen111943
+Node: Fórmulas Matemáticas113701
+Node: Subíndices y Superíndices115711
+Node: Símbolos Matemáticos116213
+Node: Funciones Matemáticas123360
+Node: Acentos Matemáticos124383
+Node: Espacios en Modo Math125546
+Node: Miscelánea Math126271
+Node: Modos127959
+Node: Estilos de Página130083
+Node: \maketitle130685
+Node: \pagenumbering131946
+Node: \pagestyle132407
+Node: \thispagestyle133775
+Node: Espacios134115
+Node: \hspace135299
+Node: \hfill135944
+Node: \SPACE136397
+Node: \AT136927
+Node: \thinspace137418
+Node: \/137694
+Node: \hrulefill138639
+Node: \dotfill138928
+Node: \addvspace139189
+Node: \bigskip \medskip \smallskip139737
+Node: \vfill140497
+Node: \vspace140835
+Node: Cajas141323
+Node: \mbox142158
+Node: \fbox y \framebox142501
+Node: lrbox143353
+Node: \makebox143689
+Node: \parbox144484
+Node: \raisebox145956
+Node: \savebox146617
+Node: \sbox147093
+Node: \usebox147601
+Node: Inserciones Especiales147928
+Node: Caracteres Reservados148643
+Node: Símbolos de Texto150240
+Node: Acentos153832
+Node: Caracteres no Ingleses156561
+Node: \rule157238
+Node: \today157687
+Node: Dividiendo la Entrada158159
+Node: \include158900
+Node: \includeonly159580
+Node: \input160153
+Node: Asuntos de Portada/Contraportada160686
+Node: Tablas de Contenido160941
+Node: \addcontentsline162108
+Node: \addtocontents163097
+Node: Glosarios163640
+Node: Ãndices164235
+Node: Cartas166205
+Node: \address168411
+Node: \cc169130
+Node: \closing169392
+Node: \encl169640
+Node: \location169850
+Node: \makelabels170139
+Node: \name170444
+Node: \opening170676
+Node: \ps171019
+Node: \signature171218
+Node: \startbreaks171512
+Node: \stopbreaks171769
+Node: \telephone172004
+Node: Entrada/Salida a la Terminal172256
+Node: \typein172552
+Node: \typeout173267
+Node: Línea de Órdenes174047
+Node: Plantillas de Documento174883
+Node: Plantilla book175245
+Node: Plantilla beamer175747
+Node: Plantilla tugboat176468
+Node: Ãndice de Conceptos178958
+Node: Ãndice de Instrucciones218090
+
+End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/Master/texmf-dist/doc/info/latex2e.info b/Master/texmf-dist/doc/info/latex2e.info
new file mode 100644
index 00000000000..c5d3a86f724
--- /dev/null
+++ b/Master/texmf-dist/doc/info/latex2e.info
@@ -0,0 +1,7503 @@
+This is latex2e.info, produced by texi2any version 4.13.90+dev from
+latex2e.texi.
+
+This document is an unofficial reference manual for LaTeX, a document
+preparation system, version of May 2012.
+
+ This manual was originally 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. Karl Berry made further updates and additions,
+and gratefully acknowledges using 'Hypertext Help with LaTeX', by
+Sheldon Green, and the 'LaTeX Command Summary' (for LaTeX 2.09) by
+L. Botway and C. Biemesderfer (published by the TeX Users Group as
+'TeXniques' number 10), as reference material (no text was directly
+copied).
+
+ Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 Karl Berry.
+Copyright (C) 1988, 1994, 2007 Stephen Gilmore.
+Copyright (C) 1994, 1995, 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.
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* LaTeX2e: (latex2e). Unofficial LaTeX reference manual.
+END-INFO-DIR-ENTRY
+
+
+File: latex2e.info, Node: Top, Next: About this document, Up: (dir)
+
+LaTeX2e
+*******
+
+This document is an unofficial reference manual for LaTeX, a document
+preparation system, version as of May 2012. It is intended to cover
+LaTeX2e, which has been the standard version of LaTeX for many years.
+
+* Menu:
+
+* About this document:: Bug reporting, etc.
+* Overview:: What is LaTeX?
+* Starting & ending:: The standard beginning and end of a document.
+* Document classes:: Some of the various classes available.
+* Typefaces:: And fonts, such as bold, italics etc.
+* Layout:: Controlling the page layout.
+* Sectioning:: How to section properly.
+* Cross references:: Automatic referencing.
+* Environments:: Such as enumerate & itemize.
+* Line breaking:: Influencing line breaks.
+* Page breaking:: Influencing page breaks.
+* Footnotes:: How to produce footnotes.
+* Definitions:: Define your own commands etc.
+* Counters:: Internal counters used by LaTeX.
+* Lengths:: The length commands.
+* Making paragraphs:: Paragraph commands.
+* Math formulas:: How to create mathematical formulas.
+* Modes:: Paragraph, Math or LR modes.
+* Page styles:: Various styles of page layout.
+* Spaces:: Horizontal and vertical space.
+* Boxes:: Making boxes.
+* Special insertions:: Inserting reserved and special characters.
+* Splitting the input:: Dealing with big files by splitting.
+* Front/back matter:: Tables of contents, glossaries, indexes.
+* Letters:: The letter class.
+* Terminal input/output:: User interaction.
+* Command line:: System-independent command-line behavior.
+* Document templates:: Starter templates for various document classes.
+* Concept Index:: General index.
+* Command Index:: Alphabetical list of LaTeX commands.
+
+
+File: latex2e.info, Node: About this document, Next: Overview, Prev: Top, Up: Top
+
+1 About this document
+*********************
+
+The LaTeX document preparation system is implemented as a macro package
+for Donald E. Knuth's TeX typesetting program. LaTeX was originally
+created by Leslie Lamport; it is now maintained by a group of volunteers
+('http://latex-project.org'). The official documentation written by the
+LaTeX project is available from their web site.
+
+ The present document is completely unofficial and has not been
+reviewed by the LaTeX maintainers. Do not send bug reports or anything
+else about this document to them. Instead, please send all comments to
+<latexrefman-discuss@gna.org>.
+
+ The home page for this document is 'http://home.gna.org/latexrefman'.
+That page has links to the current output in various formats, sources,
+mailing lists, and other infrastructure.
+
+ Of course, there are many, many other sources of information about
+LaTeX. Here are a few:
+
+ Two pages of recommended references to LaTeX documentation.
+
+ Writing your first document, with a bit of both text and math.
+
+ The guide for document authors maintained as part of LaTeX; there
+ are several others.
+
+ Introduction to the TeX system, including LaTeX.
+
+
+File: latex2e.info, Node: Overview, Next: Starting & ending, Prev: About this document, Up: Top
+
+2 Overview of LaTeX
+*******************
+
+What is LaTeX?
+
+ LaTeX typesets a file of text using the TeX program and the LaTeX
+"macro package" for TeX. That is, it processes an input file containing
+the text of a document with interspersed commands that describe how the
+text should be formatted. LaTeX files are plain text that can be
+written in any reasonable editor. It produces at least three files as
+output:
+
+ 1. The main output file, which is one of:
+
+ '.dvi'
+ If invoked as 'latex', a "Device Independent" ('.dvi') file is
+ produced. This contains commands that can be translated into
+ commands for virtually any output device. You can view such
+ '.dvi' output of LaTeX by using a program such as 'xdvi'
+ (display directly), 'dvips' (convert to PostScript), or
+ 'dvipdfmx' (convert to PDF).
+
+ '.pdf'
+ If invoked as 'pdflatex', a "Portable Document Format"
+ ('.pdf') file. Typically, this is a self-contained file, with
+ all fonts and images embedded. This can be very useful, but
+ it does make the output much larger than the '.dvi' produced
+ from the same document.
+
+ If invoked as 'lualatex', a '.pdf' file is created using the
+ LuaTeX engine ('http://luatex.org').
+
+ If invoked as 'xelatex', a '.pdf' file is created using the
+ XeTeX engine ('http://tug.org/xetex').
+
+ Many other less-common variants of LaTeX (and TeX) exist, which can
+ produce HTML, XML, and other things.
+
+ 2. The "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 cross-references.
+
+ An open-ended list of other files might be created. We won't try to
+list them all. Xxx components?
+
+ In the LaTeX input file, a command name starts with 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.
+
+ LaTeX is case sensitive. Enter all commands in lower case unless
+explicitly directed to do otherwise.
+
+
+File: latex2e.info, Node: Starting & ending, Next: Document classes, Prev: Overview, Up: Top
+
+3 Starting & ending
+*******************
+
+A minimal input file looks like the following:
+
+ \documentclass{CLASS}
+ \begin{document}
+ YOUR TEXT
+ \end{document}
+
+where the CLASS is a valid document class for LaTeX. *Note Document
+classes::, for details of the various document classes available
+locally.
+
+ You may include other LaTeX commands between the '\documentclass' and
+the '\begin{document}' commands (this area is called the "preamble").
+
+
+File: latex2e.info, Node: Document classes, Next: Typefaces, Prev: Starting & ending, Up: Top
+
+4 Document classes
+******************
+
+The class of a given document is defined with the command:
+
+ \documentclass[OPTIONS]{CLASS}
+
+The '\documentclass' command must be the first command in a LaTeX source
+file.
+
+ Built-in LaTeX document CLASS names are (many other document classes
+are available as add-ons; *note Overview::):
+
+ article report book letter slides
+
+ Standard OPTIONS are described below.
+
+* Menu:
+
+* Document class options:: Global options.
+
+
+File: latex2e.info, Node: Document class options, Up: Document classes
+
+4.1 Document class options
+==========================
+
+You can specify so-called "global options" or "class options" to the
+'\documentclass' command by enclosing them in square brackets as usual.
+To specify more than one OPTION, separate them with a comma:
+
+ \documentclass[OPTION1,OPTION2,...]{CLASS}
+
+ Here is the list of the standard class options.
+
+ All of the standard classes except 'slides' accept the following
+options for selecting the typeface size (default is '10pt'):
+
+ 10pt 11pt 12pt
+
+ All of the standard classes accept these options for selecting the
+paper size (default is 'letterpaper'):
+
+ a4paper a5paper b5paper executivepaper legalpaper letterpaper
+
+ Miscellaneous other options:
+
+'draft, final'
+ mark/do not mark overfull boxes with a big black box; default is
+ 'final'.
+'fleqn'
+ Put displayed formulas flush left; default is centered.
+'landscape'
+ Selects landscape format; default is portrait.
+'leqno'
+ Put equation numbers on the left side of equations; default is the
+ right side.
+'openbib'
+ Use "open" bibliography format.
+'titlepage, notitlepage'
+ Specifies whether the title page is separate; default depends on
+ the class.
+
+ These options are not available with the slides class:
+
+'onecolumn'
+'twocolumn'
+ Typeset in one or two columns; default is 'onecolumn'.
+
+'oneside'
+'twoside'
+ Selects one- or two-sided layout; default is 'oneside', except for
+ the 'book' class.
+
+ The '\evensidemargin' ('\oddsidemargin' parameter determines the
+ distance on even (odd) numbered pages between the left side of the
+ page and the text's left margin. The defaults vary with the paper
+ size and whether one- or two-side layout is selected. For
+ one-sided printing the text is centered, for two-sided,
+ '\oddsidemargin' is 40% of the difference between '\paperwidth' and
+ '\textwidth', with '\evensidemargin' the remainder.
+
+'openright'
+'openany'
+ Determines if a chapter should start on a right-hand page; default
+ is 'openright' for book.
+
+ The 'slides' class offers the option 'clock' for printing the time at
+the bottom of each note.
+
+ Additional packages are loaded like this:
+
+ \usepackage[OPTIONS]{PKG}
+
+ To specify more than one PKG, you can separate them with a comma, or
+use multiple '\usepackage' commands.
+
+ 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: latex2e.info, Node: Typefaces, Next: Layout, Prev: Document classes, Up: Top
+
+5 Typefaces
+***********
+
+Two important aspects of selecting a "font" are specifying a size and a
+style. The LaTeX commands for doing this are described here.
+
+* Menu:
+
+* Font styles:: Select roman, italics etc.
+* Font sizes:: Select point size.
+* Low-level font commands:: Select encoding, family, series, shape.
+
+
+File: latex2e.info, Node: Font styles, Next: Font sizes, Up: Typefaces
+
+5.1 Font styles
+===============
+
+The following type style commands are supported by LaTeX.
+
+ This first group of commands is typically used like '\textit{italic
+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 either
+'\sffamily\bfseries' or '\bfseries\sffamily' to get bold sans serif.
+
+ You can alternatively use an environment form of the declarations;
+for instance, '\begin{ttfamily}...\end{ttfamily}'.
+
+ These commands automatically supply an italic correction if the
+'\textrm (\rmfamily)'
+ Roman.
+
+'\textit (\itshape)'
+ Italics.
+
+'\emph'
+ Emphasis (switches between '\textit' and '\textrm').
+
+'\textmd (\mdseries)'
+ Medium weight (default).
+
+'\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'
+'(\mit)'
+ Italics, for use in math mode.
+
+'\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.
+
+ LaTeX also provides these commands, which unconditionally switch to
+the given style, that is, are _not_ cumulative. They are used
+differently than the above commands, too: '{\CMD ...}' instead of
+'\CMD{...}'. These are two very different things.
+
+'\bf'
+ Switch to bold face.
+
+'\cal'
+ Switch to calligraphic letters for math.
+
+'\em'
+ Emphasis (italics within roman, roman within italics).
+
+'\it'
+ Italics.
+
+'\rm'
+ Roman.
+
+'\sc'
+ Small caps.
+
+'\sf'
+ Sans serif.
+
+'\sl'
+ Slanted (oblique).
+
+'\tt'
+ Typewriter (monospace, fixed-width).
+
+
+File: latex2e.info, Node: Font sizes, Next: Low-level font commands, Prev: Font styles, Up: Typefaces
+
+5.2 Font sizes
+==============
+
+The following standard type size commands are supported by LaTeX. The
+table shows the command name and the corresponding actual font size used
+(in points) with the '10pt', '11pt', and '12pt' document size options,
+respectively (*note Document class options::).
+
+Command '10pt' '11pt' '12pt'
+--------------------------------------------------
+'\tiny' 5 6 6
+'\scriptsize' 7 8 8
+'\footnotesize' 8 9 10
+'\small' 9 10 10.95
+'\normalsize' (default) 10 10.95 12
+'\large' 12 12 14.4
+'\Large' 14.4 14.4 17.28
+'\LARGE' 17.28 17.28 20.74
+'\huge' 20.74 20.74 24.88
+'\Huge' 24.88 24.88 24.88
+
+ 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; for instance, '\begin{tiny}...\end{tiny}'.
+
+
+File: latex2e.info, Node: Low-level font commands, Prev: Font sizes, Up: Typefaces
+
+5.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.
+
+'\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
+ and the second is the line spacing to use; this is stored in a
+ parameter named '\baselineskip'. The unit of both parameters
+ defaults to pt. The default '\baselineskip' for the Computer
+ Modern typeface is 1.2 times the '\fontsize'.
+
+ The line spacing is also multiplied by the value of the
+ '\baselinestretch' parameter when the type size changes; the
+ default is 1. However, the best way to "double space" a document,
+ if you should be unlucky enough to have to produce such, is to use
+ the 'setspace' package; see
+ 'http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespace'.
+
+'\linespread{FACTOR}'
+ Equivalent to '\renewcommand{\baselinestretch}{FACTOR}', and
+ therefore must be followed by '\selectfont' to have any effect.
+ Best specified in the preamble, or use the 'setspace' package, as
+ described just above.
+
+ The changes made by calling the font commands described above do
+ not come into effect until '\selectfont' is called.
+
+'\usefont{enc}{family}{series}{shape}'
+ The same as invoking '\fontencoding', '\fontfamily', '\fontseries'
+ and '\fontshape' with the given parameters, followed by
+ '\selectfont'.
+
+
+File: latex2e.info, Node: Layout, Next: Sectioning, Prev: Typefaces, Up: Top
+
+6 Layout
+********
+
+Miscellaneous commands for controlling the general layout of the page.
+
+* Menu:
+
+* \onecolumn:: Use one-column layout.
+* \twocolumn:: Use two-column layout.
+* \flushbottom:: Make all text pages the same height.
+* \raggedbottom:: Allow text pages of differing height.
+* Page layout parameters:: \headheight \footskip.
+
+
+File: latex2e.info, Node: \onecolumn, Next: \twocolumn, Up: Layout
+
+6.1 '\onecolumn'
+================
+
+The '\onecolumn' declaration starts a new page and produces
+single-column output. This is the default.
+
+
+File: latex2e.info, Node: \twocolumn, Next: \flushbottom, Prev: \onecolumn, Up: Layout
+
+6.2 '\twocolumn'
+================
+
+Synopsis:
+
+ \twocolumn[TEXT1COL]
+
+ The '\twocolumn' declaration starts a new page and produces
+two-column output. If the optional TEXT1COL argument is present, it is
+typeset in one-column mode before the two-column typesetting starts.
+
+ These parameters control typesetting in two-column output:
+
+'\columnsep'
+ The distance between columns (35pt by default).
+
+'\columnseprule'
+ The width of the rule between columns; the default is 0pt, so there
+ is no rule.
+
+'\columnwidth'
+ The width of the current column; this is equal to '\textwidth' in
+ single-column text.
+
+ These parameters control float behavior in two-column output:
+
+'\dbltopfraction'
+ Maximum fraction at the top of a two-column page that may be
+ occupied by floats. Default '.7', can be usefully redefined to
+ (say) '.9' to avoid going to float pages so soon.
+
+'\dblfloatpagefraction'
+ The minimum fraction of a float page that must be occupied by
+ floats, for a two-column float page. Default '.5'.
+
+'\dblfloatsep'
+ Distance between floats at the top or bottom of a two-column float
+ page. Default '12pt plus2pt minus2pt' for '10pt' and '11pt'
+ documents, '14pt plus2pt minus4pt' for '12pt'.
+
+'\dbltextfloatsep'
+ Distance between a multi-column float at the top or bottom of a
+ page and the main text. Default '20pt plus2pt minus4pt'.
+
+
+File: latex2e.info, Node: \flushbottom, Next: \raggedbottom, Prev: \twocolumn, Up: Layout
+
+6.3 '\flushbottom'
+==================
+
+The '\flushbottom' declaration makes all text pages the same height,
+adding extra vertical space where necessary to fill out the page.
+
+ This is the default if 'twocolumn' mode is selected (*note Document
+class options::).
+
+
+File: latex2e.info, Node: \raggedbottom, Next: Page layout parameters, Prev: \flushbottom, Up: Layout
+
+6.4 '\raggedbottom'
+===================
+
+The '\raggedbottom' declaration makes all pages the natural height of
+the material on that page. No rubber lengths will be stretched.
+
+
+File: latex2e.info, Node: Page layout parameters, Prev: \raggedbottom, Up: Layout
+
+6.5 Page layout parameters
+==========================
+
+'\headheight'
+ Height of the box that contains the running head. Default is
+ '30pt', except in the 'book' class, where it varies with the type
+ size.
+
+'\headsep'
+ Vertical distance between the bottom of the header line and the top
+ of the main text. Default is '25pt', except in the 'book' class,
+ where it varies with the type size.
+
+'\footskip'
+ Distance from the baseline of the last line of text to the baseline
+ of the page footer. Default is '30pt', except in the 'book' class,
+ where it varies with the type size.
+
+'\linewidth'
+ Width of the current line, decreased for each nested 'list' (*note
+ list::). Specifically, it is smaller than '\textwidth' by the sum
+ of '\leftmargin' and '\rightmargin' (*note itemize::). The default
+ varies with the font size, paper width, two-column mode, etc. For
+ an 'article' document in '10pt', it's set to '345pt'; in two-column
+ mode, that becomes '229.5pt'.
+
+'\textheight'
+ The normal vertical height of the page body; the default varies
+ with the font size, document class, etc. For an 'article' or
+ 'report' document in '10pt', it's set to '43\baselineskip'; for
+ 'book', it's '41\baselineskip'. For '11pt', it's '38\baselineskip'
+ and for '12pt', '36\baselineskip'.
+
+'\textwidth'
+ The full horizontal width of the entire page body; the default
+ varies as usual. For an 'article' or 'report' document, it's
+ '345pt' at '10pt', '360pt' at '11pt', and '390pt' at '12pt'. For a
+ 'book' document, it's '4.5in' at '10pt', and '5in' at '11pt' or
+ '12pt'.
+
+ In multi-column output, '\textwidth' remains the width of the
+ entire page body, while '\columnwidth' is the width of one column
+ (*note \twocolumn::).
+
+ In lists (*note list::), '\textwidth' remains the width of the
+ entire page body (and '\columnwidth' the width of the entire
+ column), while '\linewidth' may decrease for nested lists.
+
+ Inside a minipage (*note minipage::) or '\parbox' (*note
+ \parbox::), all the width-related parameters are set to the
+ specified width, and revert to their normal values at the end of
+ the 'minipage' or '\parbox'.
+
+ For completeness: '\hsize' is the TeX primitive parameter used when
+ text is broken into lines. It should not be used in normal LaTeX
+ documents.
+
+'\topmargin'
+ Space between the top of the TeX page (one inch from the top of the
+ paper, by default) and the top of the header. The default is
+ computed based on many other parameters: '\paperheight - 2in -
+ \headheight - \headsep - \textheight - \footskip', and then divided
+ by two.
+
+'\topskip'
+ Minimum distance between the top of the page body and the baseline
+ of the first line of text. For the standard clases, the default is
+ the same as the font size, e.g., '10pt' at '10pt'.
+
+
+File: latex2e.info, Node: Sectioning, Next: Cross references, Prev: Layout, Up: Top
+
+7 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, e.g.,
+
+ \chapter[TOCTITLE]{TITLE}
+
+ In addition to providing the heading TITLE in the main text, the
+section title 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 text in these places as in the main text.
+To handle this, the sectioning commands have an optional argument
+TOCTITLE that, when given, specifies the text for these other places.
+
+ Also, all sectioning commands have '*'-forms that print TITLE as
+usual, but do not include a number and do not make an entry in the table
+of contents. For instance:
+
+ \section*{Preamble}
+
+ The '\appendix' command changes the way following sectional units are
+numbered. The '\appendix' command itself generates no text and does not
+affect the numbering of parts. The normal use of this command is
+something like
+
+ \chapter{A Chapter}
+ ...
+ \appendix
+ \chapter{The First Appendix}
+
+ The 'secnumdepth' counter controls printing of section numbers. The
+setting
+
+ \setcounter{secnumdepth}{LEVEL}
+
+suppresses heading numbers at any depth > LEVEL, where 'chapter' is
+level zero. (*Note \setcounter::.)
+
+
+File: latex2e.info, Node: Cross references, Next: Environments, Prev: Sectioning, Up: Top
+
+8 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: latex2e.info, Node: \label, Next: \pageref, Up: Cross references
+
+8.1 '\label'
+============
+
+Synopsis:
+
+ \label{KEY}
+
+ A '\label' command appearing in ordinary text assigns to KEY the
+number of the current sectional unit; one appearing inside a numbered
+environment assigns that number to KEY.
+
+ A KEY name can consist of any sequence of letters, digits, or
+punctuation characters. Upper and lowercase letters are distinguished.
+
+ 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 or period. Some conventionally-used prefixes:
+
+'ch'
+ 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:snark' or
+'fig.snark'.
+
+
+File: latex2e.info, Node: \pageref, Next: \ref, Prev: \label, Up: Cross references
+
+8.2 '\pageref{KEY}'
+===================
+
+Synopsis:
+
+ \pageref{KEY}
+
+ The '\pageref'{KEY} command produces the page number of the place in
+the text where the corresponding '\label'{KEY} command appears.
+
+
+File: latex2e.info, Node: \ref, Prev: \pageref, Up: Cross references
+
+8.3 '\ref{KEY}'
+===============
+
+Synopsis:
+
+ \ref{KEY}
+
+ The '\ref' command produces the number of the sectional unit,
+equation, footnote, figure, ..., of the corresponding '\label' command
+(*note \label::). It does not produce any text, such as the word
+'Section' or 'Figure', just the bare number itself.
+
+
+File: latex2e.info, Node: Environments, Next: Line breaking, Prev: Cross references, Up: Top
+
+9 Environments
+**************
+
+LaTeX provides many environments for marking off certain text. Each
+environment begins and ends in the same manner:
+
+ \begin{ENVNAME}
+ ...
+ \end{ENVNAME}
+
+* Menu:
+
+* abstract:: Produce an abstract.
+* array:: Math arrays.
+* center:: Centered lines.
+* description:: Labelled lists.
+* displaymath:: Formulas that appear on their own line.
+* document:: Enclose the whole document.
+* 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.
+* math:: In-line math.
+* 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: latex2e.info, Node: abstract, Next: array, Up: Environments
+
+9.1 'abstract'
+==============
+
+Synopsis:
+ \begin{abstract}
+ ...
+ \end{abstract}
+
+ Environment for producing an abstract, possibly of multiple
+paragraphs.
+
+
+File: latex2e.info, Node: array, Next: center, Prev: abstract, Up: Environments
+
+9.2 'array'
+===========
+
+Synopsis:
+
+ \begin{array}{TEMPLATE}
+ COL1 TEXT&COL1 TEXT&COLN}\\
+ ...
+ \end{array}
+
+ Math arrays are produced with the 'array' environment, normally
+within an 'equation' environment (*note equation::). It has a single
+mandatory TEMPLATE argument describing the number of columns and the
+alignment within them. Each column COL is specified by a single letter
+that tells how items in that row should be formatted, as follows:
+
+'c'
+ centered
+'l'
+ flush left
+'r'
+ flush right
+
+ Column entries are separated by '&'. Column entries may include
+other LaTeX commands. Each row of the array is terminated with '\\'.
+
+ In the template, the construct '@{TEXT}' puts TEXT between columns in
+each row.
+
+ Here's an example:
+
+ \begin{equation}
+ \begin{array}{lrc}
+ left1 & right1 & centered1 \\
+ left2 & right2 & centered2 \\
+ \end{array}
+ \end{equation}
+
+ The '\arraycolsep' parameter defines half the width of the space
+separating columns; the default is '5pt'. *Note tabular::, for other
+parameters which affect formatting in 'array' environments, namely
+'\arrayrulewidth' and '\arraystretch'.
+
+ The 'array' environment can only be used in math mode.
+
+
+File: latex2e.info, Node: center, Next: description, Prev: array, Up: Environments
+
+9.3 'center'
+============
+
+Synopsis:
+
+ \begin{center}
+ LINE1 \\
+ LINE2 \\
+ \end{center}
+
+ The 'center' environment allows you to create a paragraph consisting
+of lines that are centered within the left and right margins on the
+current page. Each line is terminated with the string '\\'.
+
+* Menu:
+
+* \centering:: Declaration form of the 'center' environment.
+
+
+File: latex2e.info, Node: \centering, Up: center
+
+9.3.1 '\centering'
+------------------
+
+The '\centering' declaration corresponds to the 'center' environment.
+This declaration can be used inside an environment such as 'quote' or in
+a 'parbox'. Thus, the text of a figure or table can be centered 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 such as quote) that ends the paragraph unit.
+
+ Here's an example:
+
+ \begin{quote}
+ \centering
+ first line \\
+ second line \\
+ \end{quote}
+
+
+File: latex2e.info, Node: description, Next: displaymath, Prev: center, Up: Environments
+
+9.4 'description'
+=================
+
+Synopsis:
+
+ \begin{description}
+ \item [LABEL1] ITEM1
+ \item [LABEL2] ITEM2
+ ...
+ \end{description}
+
+ The 'description' environment is used to make labelled lists. Each
+LABEL is typeset in bold, flush right. The ITEM text may contain
+multiple paragraphs.
+
+ Another variation: since the bold style is applied to the labels, if
+you typeset a label in typewriter using '\texttt', you'll get bold
+typewriter: '\item[\texttt{bold and typewriter}]'. This may be too
+bold, among other issues. To get just typewriter, use '\tt', which
+resets all other style variations: '\item[{\tt plain typewriter}]'.
+
+ For details about list spacing, see *note itemize::.
+
+
+File: latex2e.info, Node: displaymath, Next: document, Prev: description, Up: Environments
+
+9.5 'displaymath'
+=================
+
+Synopsis:
+
+ \begin{displaymath}
+ MATH
+ \end{displaymath}
+
+or
+
+ \[MATH\]
+
+ The 'displaymath' environment ('\[...\]' is a synonym) typesets the
+MATH text on its own line, centered by default. The global 'fleqn'
+option makes equations flush left; see *note Document class options::.
+
+ No equation number is added to 'displaymath' text; to get an equation
+number, use the 'equation' environment (*note equation::).
+
+
+File: latex2e.info, Node: document, Next: enumerate, Prev: displaymath, Up: Environments
+
+9.6 'document'
+==============
+
+The 'document' environment encloses the body of a document. It is
+required in every LaTeX document. *Note Starting & ending::.
+
+
+File: latex2e.info, Node: enumerate, Next: eqnarray, Prev: document, Up: Environments
+
+9.7 'enumerate'
+===============
+
+Synopsis:
+
+ \begin{enumerate}
+ \item ITEM1
+ \item ITEM2
+ ...
+ \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, such as 'itemize'
+(*note itemize::) and 'description' (*note description::).
+
+ Each item of an enumerated list begins with an '\item' command.
+There must be at least one '\item' command within the environment.
+
+ By default, the numbering at each level is done like this:
+
+ 1. 1., 2., ...
+ 2. (a), (b), ...
+ 3. i., ii., ...
+ 4. A., B., ...
+
+ The 'enumerate' environment uses the counters '\enumi' through
+'\enumiv' counters (*note Counters::). If the optional argument to
+'\item' is given, the counter is not incremented for that item.
+
+ The 'enumerate' environment uses the commands '\labelenumi' through
+'\labelenumiv' to produce the default label. So, you can use
+'\renewcommand' to change the labels (*note \newcommand &
+\renewcommand::). For instance, to have the first level use uppercase
+letters:
+
+ \renewcommand{\labelenumi}{\Alph{enumi}}
+
+
+File: latex2e.info, Node: eqnarray, Next: equation, Prev: enumerate, Up: Environments
+
+9.8 'eqnarray'
+==============
+
+First, a caveat: the 'eqnarray' environment has some infelicities which
+cannot be overcome; the article "Avoid eqnarray!" by Lars Madsen
+describes them in detail
+('http://tug.org/TUGboat/tb33-1/tb103madsen.pdf'). The bottom line is
+that it is better to use the 'align' environment (and others) from the
+'amsmath' package.
+
+ Nevertheless, here is a description of 'eqnarray':
+
+ \begin{eqnarray} (or 'eqnarray*')
+ FORMULA1 \\
+ FORMULA2 \\
+ ...
+ \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 '&'.
+
+ '\\*' can also be used to separate equations, with its normal meaning
+of not allowing a page break at that line.
+
+ An equation number is placed on every line unless that line has a
+'\nonumber' command. Alternatively, The '*'-form of the environment
+('\begin{eqnarray*} ... \end{eqnarray*}') will omit equation numbering
+entirely, while otherwise being the same as 'eqnarray'.
+
+ 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: latex2e.info, Node: equation, Next: figure, Prev: eqnarray, Up: Environments
+
+9.9 'equation'
+==============
+
+Synopsis:
+
+ \begin{equation}
+ MATH
+ \end{equation}
+
+ The 'equation' environment starts a 'displaymath' environment (*note
+displaymath::), e.g., centering the MATH text on the page, and also
+places an equation number in the right margin.
+
+
+File: latex2e.info, Node: figure, Next: flushleft, Prev: equation, Up: Environments
+
+9.10 'figure'
+=============
+
+ \begin{figure[*]}[PLACEMENT]
+ FIGBODY
+ \label{LABEL}
+ \caption[LOFTITLE]{TEXT}
+ \end{figure}
+
+ Figures are objects that are not part of the normal text, and are
+instead "floated" to a convenient place, such as the top of a page.
+Figures will not be split between two pages.
+
+ When typesetting in double-columns, the starred form produces a
+full-width figure (across both columns).
+
+ The optional argument '[placement]' determines where LaTeX will try
+to place your figure. There are four places where LaTeX can possibly
+put a float:
+
+'t'
+ (Top)--at the top of a text page.
+
+'b'
+ (Bottom)--at the bottom of a text page. However, 'b' is not
+ allowed for full-width floats ('figure*') with double-column
+ output. To ameliorate this, use the 'stfloats' or 'dblfloatfix'
+ package, but see the discussion at caveats in the FAQ:
+ 'http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat'.
+
+'h'
+ (Here)--at the position in the text where the figure environment
+ appears. However, this is not allowed by itself; 't' is
+ automatically added.
+
+ To absolutely force a figure to appear "here", you can
+ '\usepackage{float}' and use the 'H' specifier which it defines.
+ For further discussion, see the FAQ entry at
+ 'http://www.tex.ac.uk/cgi-bin/texfaq2html?label=figurehere'.
+
+'p'
+ (Page of floats)--on a separate float page, which is a page
+ containing no text, only floats.
+
+'!'
+ Used in addition to one of the above; for this float only, LaTeX
+ ignores the restrictions on both the number of floats that can
+ appear and the relative amounts of float and non-float text on the
+ page. The '!' specifier does _not_ mean "put the float here"; see
+ above.
+
+ 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 specifies caption TEXT for the figure. The
+caption is numbered by default. If LOFTITLE is present, it is used in
+the list of figures instead of TEXT (*note Tables of contents::).
+
+ Parameters relating to fractions of pages occupied by float and
+non-float text:
+
+ The maximum fraction of the page allowed to be occuped by floats at
+ the bottom; default '.3'.
+
+'\floatpagefraction'
+ The minimum fraction of a float page that must be occupied by
+ floats; default '.5'.
+
+'\textfraction'
+ Minimum fraction of a page that must be text; if floats take up too
+ much space to preserve this much text, floats will be moved to a
+ different page. The default is '.2'.
+
+'\topfraction'
+ Maximum fraction at the top of a page that may be occupied before
+ floats; default '.7'.
+
+ Parameters relating to vertical space around floats:
+
+'\floatsep'
+ Space between floats at the top or bottom of a page; default '12pt
+ plus2pt minus2pt'.
+
+'\intextsep'
+ Space above and below a float in the middle of the main text;
+ default '12pt plus2pt minus2pt' for '10pt' and '11pt' styles, '14pt
+ plus4pt minus4pt' for '12pt'.
+
+'\textfloatsep'
+ Space between the last (first) float at the top (bottom) of a page;
+ default '20pt plus2pt minus4pt'.
+
+ Parameters relating to the number of floats on a page:
+
+'\bottomnumber'
+ Maximum number of floats that can appear at the bottom of a text
+ page; default 1.
+
+'\topnumber'
+ Maximum number of floats that can appear at the top of a text page;
+ default 2.
+
+'\totalnumber'
+ Maximum number of floats that can appear on a text page; default 3.
+
+ The principal TeX FAQ entry relating to floats:
+'http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats'.
+
+
+File: latex2e.info, Node: flushleft, Next: flushright, Prev: figure, Up: Environments
+
+9.11 'flushleft'
+================
+
+ \begin{flushleft}
+ LINE1 \\
+ LINE2 \\
+ ...
+ \end{flushleft}
+
+ The 'flushleft' environment allows you to create a paragraph
+consisting of lines that are flush to the left-hand margin and ragged
+right Each line must be terminated with the string '\\'.
+
+* Menu:
+
+* \raggedright:: Declaration form of the 'flushleft' environment.
+
+
+File: latex2e.info, Node: \raggedright, Up: flushleft
+
+9.11.1 '\raggedright'
+---------------------
+
+The '\raggedright' 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 only 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 that ends the
+paragraph unit.
+
+
+File: latex2e.info, Node: flushright, Next: itemize, Prev: flushleft, Up: Environments
+
+9.12 'flushright'
+=================
+
+ \begin{flushright}
+ LINE1 \\
+ LINE2 \\
+ ...
+ \end{flushright}
+
+ The 'flushright' environment allows you to create a paragraph
+consisting of lines that are flush to the right-hand margin and ragged
+left. Each line must be terminated with the string '\\'.
+
+* Menu:
+
+* \raggedleft:: Declaration form of the 'flushright' environment.
+
+
+File: latex2e.info, Node: \raggedleft, Up: flushright
+
+9.12.1 '\raggedleft'
+--------------------
+
+The '\raggedleft' 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 only 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 that ends the
+paragraph unit.
+
+
+File: latex2e.info, Node: itemize, Next: letter, Prev: flushright, Up: Environments
+
+9.13 'itemize'
+==============
+
+Synopsis:
+
+ \begin{itemize}
+ \item ITEM1
+ \item ITEM2
+ ...
+ \end{itemize}
+
+ The 'itemize' environment produces an "unordered", "bulleted" list.
+Itemizations can be nested within one another, up to four levels deep.
+They can also be nested within other paragraph-making environments, such
+as 'enumerate' (*note enumerate::).
+
+ Each item of an 'itemize' list begins with an '\item' command. There
+must be at least one '\item' command within the environment.
+
+ By default, the marks at each level look like this:
+
+ 1. * (bullet)
+ 2. -- (bold en-dash)
+ 3. * (asterisk)
+ 4. . (centered dot, rendered here as a period)
+
+ The 'itemize' environment uses the commands '\labelitemi' through
+'\labelitemiv' to produce the default label. So, you can use
+'\renewcommand' to change the labels. For instance, to have the first
+level use diamonds:
+
+ \renewcommand{\labelitemi}{$\diamond$}
+
+ The '\leftmargini' through '\leftmarginvi' parameters define the
+distance between the left margin of the enclosing environment and the
+left margin of the list. By convention, '\leftmargin' is set to the
+appropriate '\leftmarginN' when a new level of nesting is entered.
+
+ The defaults vary from '.5em' (highest levels of nesting) to '2.5em'
+(first level), and are a bit reduced in two-column mode. This example
+greatly reduces the margin space for outermost lists:
+
+ \setlength{\leftmargini}{1.25em} % default 2.5em
+
+ Some parameters that affect list formatting:
+
+'\itemindent'
+ Extra indentation before each item in a list; default zero.
+
+'\labelsep'
+ Space between the label and text of an item; default '.5em'.
+
+'\labelwidth'
+ Width of the label; default '2em', or '1.5em' in two-column mode.
+
+'\listparindent'
+ Extra indentation added to second and subsequent paragraphs within
+ a list item; default '0pt'.
+
+'\rightmargin'
+ Horizontal distance between the right margin of the list and the
+ enclosing environment; default '0pt', except in the 'quote',
+ 'quotation', and 'verse' environments, where it is set equal to
+ '\leftmargin'.
+
+ Parameters affecting vertical spacing between list items (rather
+loose, by default).
+
+'\itemsep'
+ Vertical space between items. The default is '2pt plus1pt
+ minus1pt' for '10pt' documents, '3pt plus2pt minus1pt' for '11pt',
+ and '4.5pt plus2pt minus1pt' for '12pt'.
+
+'\parsep'
+ Extra vertical space between paragraphs within a list item.
+ Defaults are the same as '\itemsep'.
+
+'\topsep'
+ Vertical space between the first item and the preceding paragraph.
+ For top-level lists, the default is '8pt plus2pt minus4pt' for
+ '10pt' documents, '9pt plus3pt minus5pt' for '11pt', and '10pt
+ plus4pt minus6pt' for '12pt'. These are reduced for nested lists.
+
+'\partopsep'
+ Extra space added to '\topsep' when the list environment starts a
+ paragraph. The default is '2pt plus1pt minus1pt' for '10pt'
+ documents, '3pt plus1pt minus1pt' for '11pt', and '3pt plus2pt
+ minus2pt' for '12pt'.
+
+ Especially for lists with short items, it may be desirable to elide
+space between items. Here is an example defining an 'itemize*'
+environment with no extra spacing between items, or between paragraphs
+within a single item ('\parskip' is not list-specific, *note
+\parskip::):
+
+ \newenvironment{itemize*}%
+ {\begin{itemize}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\parsep}{0pt}}%
+ \setlength{\parskip}{0pt}}%
+ {\end{itemize}}
+
+
+File: latex2e.info, Node: letter, Next: list, Prev: itemize, Up: Environments
+
+9.14 'letter' environment: writing letters
+==========================================
+
+This environment is used for creating letters. *Note Letters::.
+
+
+File: latex2e.info, Node: list, Next: math, Prev: letter, Up: Environments
+
+9.15 '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}{LABELING}{SPACING}
+ \item ITEM1
+ \item ITEM2
+ ...
+ \end{list}
+
+ The mandatory LABELING argument specifies how items should be
+labelled (unless the optional argument is supplied to '\item'). This
+argument is a piece of text that is inserted in a box to form the label.
+It can and usually does contain other LaTeX commands.
+
+ The mandatory SPACING argument contains commands to change the
+spacing parameters for the list. This argument will most often be
+empty, i.e., '{}', which leaves the default spacing.
+
+ The width used for typesetting the list items is specified by
+'\linewidth' (*note Page layout parameters::).
+
+
+File: latex2e.info, Node: math, Next: minipage, Prev: list, Up: Environments
+
+9.16 'math'
+===========
+
+Synopsis:
+
+ \begin{math}
+ MATH
+ \end{math}
+
+ The 'math' environment inserts the given MATH within the running
+text. '\(...\))' and '$...$' are synonyms. *Note Math formulas::.
+
+
+File: latex2e.info, Node: minipage, Next: picture, Prev: math, Up: Environments
+
+9.17 'minipage'
+===============
+
+ \begin{minipage}[POSITION][HEIGHT][INNER-POS]{WIDTH}
+ TEXT
+ \end{minipage}
+
+ The 'minipage' environment typesets its body TEXT in a block that
+will not be broken across pages. This is similar to the '\parbox'
+command (*note \parbox::), but unlike '\parbox', other paragraph-making
+environments can be used inside a minipage.
+
+ The arguments are the same as for '\parbox' (*note \parbox::).
+
+ By default, paragraphs are not indented in the 'minipage'
+environment. You can restore indentation with a command such as
+'\setlength{\parindent}{1pc}' command.
+
+ 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::).
+
+ However, don't put one minipage inside another if you are using
+footnotes; they may wind up at the bottom of the wrong minipage.
+
+
+File: latex2e.info, Node: picture, Next: quotation, Prev: minipage, Up: Environments
+
+9.18 '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', '0.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 centimeters. You should only change the value of
+'\unitlength', using the '\setlength' command, outside of a '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 millimeters and height 200 millimeters,
+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 typically omit the optional argument, leaving the origin at the
+lower-left corner. If you then want to modify your picture by shifting
+everything, you can 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 that
+can go in an '\mbox' (*note \mbox::) in the text argument of the '\put'
+command. When you do this, the reference point will be the lower left
+corner of the box.
+
+ The 'picture' commands are described in the following sections.
+
+* Menu:
+
+* \circle:: Draw a circle.
+* \makebox (picture):: Draw a box of the specified size.
+* \framebox (picture):: Draw a box with a frame around it.
+* \dashbox:: Draw a dashed box.
+* \frame:: Draw a frame around an object.
+* \line:: Draw a straight line.
+* \linethickness:: Set the line thickness.
+* \thicklines:: A heavier line thickness.
+* \thinlines:: The default line thickness.
+* \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: latex2e.info, Node: \circle, Next: \makebox (picture), Up: picture
+
+9.18.1 '\circle'
+----------------
+
+ \circle[*]{DIAMETER}
+
+ The '\circle' command produces a circle with a diameter as close to
+the specified one as possible. The '*'-form of the command draws a
+solid circle.
+
+ Circles up to 40 pt can be drawn.
+
+
+File: latex2e.info, Node: \makebox (picture), Next: \framebox (picture), Prev: \circle, Up: picture
+
+9.18.2 '\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: latex2e.info, Node: \framebox (picture), Next: \dashbox, Prev: \makebox (picture), Up: picture
+
+9.18.3 '\framebox'
+------------------
+
+Synopsis:
+
+ \framebox(WIDTH,HEIGHT)[POS]{...}
+
+ The '\framebox' command is like '\makebox' (see previous section),
+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: latex2e.info, Node: \dashbox, Next: \frame, Prev: \framebox (picture), Up: picture
+
+9.18.4 '\dashbox'
+-----------------
+
+Draws a box with a dashed line. Synopsis:
+
+ \dashbox{DLEN}(RWIDTH,RHEIGHT)[POS]{TEXT}
+
+ '\dashbox' creates a dashed rectangle around TEXT in a 'picture'
+environment. Dashes are DLEN units long, and the rectangle has overall
+width RWIDTH and height RHEIGHT. The TEXT is positioned at optional
+POS.
+
+ A dashed box looks best when the 'rwidth' and 'rheight' are multiples
+of the 'dlen'.
+
+
+File: latex2e.info, Node: \frame, Next: \line, Prev: \dashbox, Up: picture
+
+9.18.5 '\frame'
+---------------
+
+Synopsis:
+
+ \frame{TEXT}
+
+ The '\frame' command puts a rectangular frame around TEXT. The
+reference point is the bottom left corner of the frame. No extra space
+is put between the frame and the object.
+
+
+File: latex2e.info, Node: \line, Next: \linethickness, Prev: \frame, Up: picture
+
+9.18.6 '\line'
+--------------
+
+Synopsis:
+
+ \line(XSLOPE,YSLOPE){LENGTH}
+
+ The '\line' command draws a line with the given LENGTH and slope
+XSLOPE/YSLOPE.
+
+ Standard LaTeX can only draw lines with SLOPE = x/y, where x and y
+have integer values from -6 through 6. For lines of any slope, not to
+mention other shapes, see the 'curve2e' and many many other packages on
+CTAN.
+
+
+File: latex2e.info, Node: \linethickness, Next: \thicklines, Prev: \line, Up: picture
+
+9.18.7 '\linethickness'
+-----------------------
+
+The '\linethickness{DIM}' command declares the thickness of horizontal
+and vertical lines in a picture environment to be DIM, which must be a
+positive length.
+
+ '\linethickness' does not affect the thickness of slanted lines,
+circles, or the quarter circles drawn by '\oval'.
+
+
+File: latex2e.info, Node: \thicklines, Next: \thinlines, Prev: \linethickness, Up: picture
+
+9.18.8 '\thicklines'
+--------------------
+
+The '\thicklines' command is an alternate line thickness for horizontal
+and vertical lines in a picture environment; cf. *note \linethickness::
+and *note \thinlines::.
+
+
+File: latex2e.info, Node: \thinlines, Next: \multiput, Prev: \thicklines, Up: picture
+
+9.18.9 '\thinlines'
+-------------------
+
+The '\thinlines' command is the default line thickness for horizontal
+and vertical lines in a picture environment; cf. *note \linethickness::
+and *note \thicklines::.
+
+
+File: latex2e.info, Node: \multiput, Next: \oval, Prev: \thinlines, Up: picture
+
+9.18.10 '\multiput'
+-------------------
+
+Synopsis:
+ \multiput(X,Y)(DELTA_X,DELTA_Y){N}{OBJ}
+
+ The '\multiput' command copies the object OBJ in a regular pattern
+across a picture. OBJ is first placed at position (x,y), then at
+(x+\delta x,y+\delta y), and so on, N times.
+
+
+File: latex2e.info, Node: \oval, Next: \put, Prev: \multiput, Up: picture
+
+9.18.11 '\oval'
+---------------
+
+Synopsis:
+
+ \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 via the
+following:
+
+'t'
+ selects the top portion;
+'b'
+ selects the bottom portion;
+'r'
+ selects the right portion;
+'l'
+ selects the left portion.
+
+ The "corners" of the oval are made with quarter circles with a
+maximum radius of 20pt, so large "ovals" will look more like boxes with
+rounded corners.
+
+
+File: latex2e.info, Node: \put, Next: \shortstack, Prev: \oval, Up: picture
+
+9.18.12 '\put'
+--------------
+
+'\put(x coord,y coord){ ... }'
+
+ The '\put' command places the item specified by the mandatory
+argument at the given coordinates.
+
+
+File: latex2e.info, Node: \shortstack, Next: \vector, Prev: \put, Up: picture
+
+9.18.13 '\shortstack'
+---------------------
+
+Synopsis:
+
+ \shortstack[POSITION]{...\\...\\...}
+
+ The '\shortstack' command produces a stack of objects. The valid
+positions are:
+
+'r'
+ Move the objects to the right of the stack.
+'l'
+ Move the objects to the left of the stack
+'c'
+ Move the objects to the centre of the stack (default)
+
+ Objects are separated with '\\'.
+
+
+File: latex2e.info, Node: \vector, Prev: \shortstack, Up: picture
+
+9.18.14 '\vector'
+-----------------
+
+Synopsis:
+
+ \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: latex2e.info, Node: quotation, Next: quote, Prev: picture, Up: Environments
+
+9.19 'quotation'
+================
+
+Synopsis:
+
+ \begin{quotation}
+ TEXT
+ \end{quotation}
+
+ The margins of the 'quotation' environment are indented on both the
+left and the right. The text is justified at both margins. Leaving a
+blank line between text produces a new paragraph.
+
+ Unlike the 'quote' environment, each paragraph is indented normally.
+
+
+File: latex2e.info, Node: quote, Next: tabbing, Prev: quotation, Up: Environments
+
+9.20 'quote'
+============
+
+Snyopsis:
+
+ \begin{quote}
+ TEXT
+ \end{quote}
+
+ The margins of the 'quote' environment are indented on both the left
+and the right. The text is justified at both margins. Leaving a blank
+line between text produces a new paragraph.
+
+ Unlike the 'quotation' environment, paragraphs are not indented.
+
+
+File: latex2e.info, Node: tabbing, Next: table, Prev: quote, Up: Environments
+
+9.21 'tabbing'
+==============
+
+Synopsis:
+
+ \begin{tabbing}
+ ROW1COL1 \= ROW1COL2 \= ROW1COL3 \= ROW1COL4 \\
+ ROW2COL1 \> \> ROW2COL3 \\
+ ...
+ \end{tabbing}
+
+ The 'tabbing' environment provides a way to align text in columns.
+It works by setting tab stops and tabbing to them much as was done on 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:
+
+'\\ (tabbing)'
+ End a line.
+
+'\= (tabbing)'
+ Sets a tab stop at the current position.
+
+'\> (tabbing)'
+ Advances to the next tab stop.
+
+'\<'
+ Put following text 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, beginning tabbed line if necessary.
+
+'\-'
+ Moves the left margin of the next and all the following commands
+ one tab stop to the left, beginning tabbed line if necessary.
+
+'\' (tabbing)'
+ 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.
+
+'\` (tabbing)'
+ 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.
+
+'\a (tabbing)'
+ In a 'tabbing' environment, the commands '\=', '\'' and '\`' do not
+ produce accents as usual (*note Accents::). Instead, the commands
+ '\a=', '\a'' and '\a`' are used.
+
+'\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.
+
+'\poptabs'
+ Restores the tab stop positions saved by the last '\pushtabs'.
+
+'\pushtabs'
+ Saves all current tab stop positions. Useful for temporarily
+ changing tab stop positions in the middle of a 'tabbing'
+ environment.
+
+'\tabbingsep'
+ Distance to left of tab stop moved by '\''.
+
+ 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: latex2e.info, Node: table, Next: tabular, Prev: tabbing, Up: Environments
+
+9.22 'table'
+============
+
+Synopsis:
+
+ \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; these are the same as that used with the 'figure' environment,
+and described there (*note figure::).
+
+ 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: latex2e.info, Node: tabular, Next: thebibliography, Prev: table, Up: Environments
+
+9.23 'tabular'
+==============
+
+Synopsis:
+
+ \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.
+
+ '\\' must be used to specify the end of each row of the table, except
+for the last, where it is optional--unless an '\hline' command (to put a
+rule below the table) follows.
+
+ 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 centered 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 before the adjacent item must be included in
+ TEXT.
+
+ To insert commands that are automatically executed before a
+ given column, you have to load the 'array' package and use the
+ '>{...}' specifier.
+
+ 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 a positive
+ integer and COLS is any list of column-specifiers, which may
+ contain another '*-expression'.
+
+ Parameters that control formatting:
+
+'\arrayrulewidth'
+ Thickness of the rule created by '|', '\hline', and '\vline' in the
+ 'tabular' and 'array' environments; the default is '.4pt'.
+
+'\arraystretch'
+ Scaling of spacing between rows in the 'tabular' and 'array'
+ environments; default is '1', for no scaling.
+
+'\doublerulesep'
+ Horizontal distance between the vertical rules produced by '||' in
+ the 'tabular' and 'array' environments; default is '2pt'.
+
+'\tabcolsep'
+ Half the width of the space between columns; default is '6pt'.
+
+ The following commands can be used inside a 'tabular' environment:
+
+* Menu:
+
+* \multicolumn:: Make an item spanning several columns.
+* \cline:: Draw a horizontal line spanning some columns.
+* \hline:: Draw a horizontal line spanning all columns.
+* \vline:: Draw a vertical line.
+
+
+File: latex2e.info, Node: \multicolumn, Next: \cline, Up: tabular
+
+9.23.1 '\multicolumn'
+---------------------
+
+Synopsis:
+ \multicolumn{COLS}{POS}{TEXT}
+
+ The '\multicolumn' command makes 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 centered, 'l' for flushleft, 'r' for flushright. The
+third mandatory argument, TEXT, specifies what text to put in the entry.
+
+ Here's an example showing two columns separated by an en-dash;
+'\multicolumn' is used for the heading:
+
+ \begin{tabular}{r@{--}l}
+ \multicolumn{2}{c}{\bf Unicode}\cr
+ 0x80&0x7FF \cr
+ 0x800&0xFFFF \cr
+ 0x10000&0x1FFFF \cr
+ \end{tabular}
+
+
+File: latex2e.info, Node: \cline, Next: \hline, Prev: \multicolumn, Up: tabular
+
+9.23.2 '\cline'
+---------------
+
+Synopsis:
+
+ \cline{I-J}
+
+ The '\cline' command draws horizontal lines across the columns
+specified, beginning in column I and ending in column J, which are
+specified in the mandatory argument.
+
+
+File: latex2e.info, Node: \hline, Next: \vline, Prev: \cline, Up: tabular
+
+9.23.3 '\hline'
+---------------
+
+The '\hline' command draws a horizontal line the width of the enclosing
+'tabular' or 'array' environment. It's most commonly used to draw a
+line at the top, bottom, and between the rows of a table.
+
+
+File: latex2e.info, Node: \vline, Prev: \hline, Up: tabular
+
+9.23.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: latex2e.info, Node: thebibliography, Next: theorem, Prev: tabular, Up: Environments
+
+9.24 'thebibliography'
+======================
+
+Synopsis:
+
+ \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". You can change
+the label (in the standard classes) by redefining the command
+'\refname'. For instance, this eliminates it entirely:
+
+ \renewcommand{\refname}{}
+
+ The mandatory WIDEST-LABEL argument is text that, when typeset, is as
+wide as the widest item label produced by the '\bibitem' commands. It
+is typically given as '9' for bibliographies with less than 10
+references, '99' for ones with less than 100, etc.
+
+* 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: latex2e.info, Node: \bibitem, Next: \cite, Up: thebibliography
+
+9.24.1 '\bibitem'
+-----------------
+
+Synopsis:
+ \bibitem[LABEL]{CITE_KEY}
+
+ The '\bibitem' command generates an entry labelled by LABEL. If the
+LABEL argument is missing, a number is automatically generated 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 to the '.aux' file containing the item's
+CITE_KEY and label. When the '.aux' file is read by the
+'\begin{document}' command, the item's 'label' is associated with
+'cite_key', causing references to CITE_KEY with a '\cite' command (see
+next section) to produce the associated label.
+
+
+File: latex2e.info, Node: \cite, Next: \nocite, Prev: \bibitem, Up: thebibliography
+
+9.24.2 '\cite'
+--------------
+
+Synopsis:
+
+ \cite[SUBCITE]{KEYS
+
+ The KEYS argument is a list of one or more citation keys, separated
+by commas. This command generates an in-text citation to the references
+associated with KEYS by entries in the '.aux' file.
+
+ The text of the optional SUBCITE argument appears after the citation.
+For example, '\cite[p.~314]{knuth}' might produce '[Knuth, p. 314]'.
+
+
+File: latex2e.info, Node: \nocite, Next: Using BibTeX, Prev: \cite, Up: thebibliography
+
+9.24.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: latex2e.info, Node: Using BibTeX, Prev: \nocite, Up: thebibliography
+
+9.24.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
+(*note thebibliography::). Instead, you include the lines
+
+ \bibliographystyle{BIBSTYLE}
+ \bibliography{BIBFILE1,BIBFILE2}
+
+ The '\bibliographystyle' command does not produce any output of its
+own. Rather, it defines the style in which the bibliography will be
+produced: BIBSTYLE refers to a file BIBSTYLE'.bst', which defines how
+your citations will look. The standard STYLE names 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. See
+'http://www.ctan.org/tex-archive/biblio/bibtex/contrib'.
+
+ The '\bibliography' command is what actually produces the
+bibliography. The argument to '\bibliography' refers to files named
+'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: latex2e.info, Node: theorem, Next: titlepage, Prev: thebibliography, Up: Environments
+
+9.25 'theorem'
+==============
+
+Synopsis:
+
+ \begin{theorem}
+ THEOREM-TEXT
+ \end{theorem}
+
+ The 'theorem' environment produces "Theorem N" in boldface followed
+by THEOREM-TEXT, where the numbering possibilities for N are described
+under '\newtheorem' (*note \newtheorem::).
+
+
+File: latex2e.info, Node: titlepage, Next: verbatim, Prev: theorem, Up: Environments
+
+9.26 'titlepage'
+================
+
+Synopsis:
+
+ \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 may be useful on title pages (*note \today::).
+
+ You can use the '\maketitle' command (*note \maketitle::) to produce
+a standard title page without a 'titlepage' environment.
+
+
+File: latex2e.info, Node: verbatim, Next: verse, Prev: titlepage, Up: Environments
+
+9.27 'verbatim'
+===============
+
+Synopsis:
+
+ \begin{verbatim}
+ LITERAL-TEXT
+ \end{verbatim}
+
+ The 'verbatim' environment is a paragraph-making environment in which
+LaTeX produces exactly what you type in; for instance the '\' character
+produces a printed '\'. It turns LaTeX into a typewriter with carriage
+returns and blanks having the same effect that they would on a
+typewriter.
+
+ The 'verbatim' uses a monospaced typewriter-like font ('\tt').
+
+* Menu:
+
+* \verb:: The macro form of the 'verbatim' environment.
+
+
+File: latex2e.info, Node: \verb, Up: verbatim
+
+9.27.1 '\verb'
+--------------
+
+Synopsis:
+
+ \verbCHARLITERAL-TEXTCHAR
+ \verb*CHARLITERAL-TEXTCHAR
+
+ The '\verb' command typesets LITERAL-TEXT as it is input, including
+special characters and spaces, using the typewriter ('\tt') font. No
+spaces are allowed between '\verb' or '\verb*' and the delimiter CHAR,
+which begins and ends the verbatim text. The delimiter must not appear
+in LITERAL-TEXT.
+
+ The '*'-form differs only in that spaces are printed with a "visible
+space" character.
+
+
+File: latex2e.info, Node: verse, Prev: verbatim, Up: Environments
+
+9.28 'verse'
+============
+
+Synopsis:
+
+ \begin{verse}
+ LINE1 \\
+ LINE2 \\
+ ...
+ \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, paragraphs are
+not indented, and the text is not justified. Separate the lines of each
+stanza with '\\', and use one or more blank lines to separate the
+stanzas.
+
+
+File: latex2e.info, Node: Line breaking, Next: Page breaking, Prev: Environments, Up: Top
+
+10 Line breaking
+****************
+
+The first thing LaTeX does when processing ordinary text is to translate
+your input file into a sequence of glyphs and spaces. To produce a
+printed document, this sequence must be broken into lines (and these
+lines must be broken into pages).
+
+ LaTeX usually does the line (and page) breaking for you, but in some
+environments, you do the line breaking yourself with the '\\' command,
+and you can always manually force breaks.
+
+* Menu:
+
+* \\:: Start a new line.
+* \obeycr & \restorecr:: Make each input line start a new output line.
+* \newline:: Break the line
+* \- (hyphenation):: Insert explicit hyphenation.
+* \fussy:: Be fussy about line breaking.
+* \sloppy:: Be sloppy about line breaking.
+* \hyphenation:: Tell LaTeX how to hyphenate a word.
+* \linebreak & \nolinebreak:: Forcing & avoiding line breaks.
+
+
+File: latex2e.info, Node: \\, Next: \obeycr & \restorecr, Up: Line breaking
+
+10.1 '\\'[*][MORESPACE]
+=======================
+
+The '\\' command tells LaTeX to start a new line. It has an optional
+argument, MORESPACE, 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: latex2e.info, Node: \obeycr & \restorecr, Next: \newline, Prev: \\, Up: Line breaking
+
+10.2 '\obeycr' & '\restorecr'
+=============================
+
+The '\obeycr' command makes a return in the input file ('^^M',
+internally) the same as '\\' (followed by '\relax'). So each new line
+in the input will also be a new line in the output.
+
+ '\restorecr' restores normal line-breaking behavior.
+
+
+File: latex2e.info, Node: \newline, Next: \- (hyphenation), Prev: \obeycr & \restorecr, Up: Line breaking
+
+10.3 '\newline'
+===============
+
+The '\newline' command breaks the line at the present point, with no
+stretching of the text before it. It can only be used in paragraph
+mode.
+
+
+File: latex2e.info, Node: \- (hyphenation), Next: \fussy, Prev: \newline, Up: Line breaking
+
+10.4 '\-' (discretionary hyphen)
+================================
+
+The '\-' command tells LaTeX that it may hyphenate the word at that
+point. LaTeX is very good at hyphenating, and it will usually find most
+of the correct hyphenation points, and almost never use an incorrect
+one. The '\-' command is used for the exceptional cases.
+
+ 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: latex2e.info, Node: \fussy, Next: \sloppy, Prev: \- (hyphenation), Up: Line breaking
+
+10.5 '\fussy'
+=============
+
+The declaration '\fussy' (which is the default) makes TeX picky about
+line breaking. This usually avoids too much space between words, at the
+cost of an occasional overfull box.
+
+ This command cancels the effect of a previous '\sloppy' command
+(*note \sloppy::.
+
+
+File: latex2e.info, Node: \sloppy, Next: \hyphenation, Prev: \fussy, Up: Line breaking
+
+10.6 '\sloppy'
+==============
+
+The declaration '\sloppy' makes TeX less fussy about line breaking.
+This will avoid overfull boxes, at the cost of loose interword spacing.
+
+ Lasts until a '\fussy' command is issued (*note \fussy::).
+
+
+File: latex2e.info, Node: \hyphenation, Next: \linebreak & \nolinebreak, Prev: \sloppy, Up: Line breaking
+
+10.7 '\hyphenation'
+===================
+
+Synopsis:
+
+ \hyphenation{WORD-ONE WORD-TWO}
+
+ The '\hyphenation' command declares allowed hyphenation points with a
+'-' character in the given words. The words are separated by spaces.
+TeX will only hyphenate if the word matches exactly, no inflections are
+tried. Multiple '\hyphenation' commands accumulate. Some examples (the
+default TeX hyphenation patterns misses the hyphenations in these
+words):
+
+ \hyphenation{ap-pen-dix col-umns data-base data-bases}
+
+
+File: latex2e.info, Node: \linebreak & \nolinebreak, Prev: \hyphenation, Up: Line breaking
+
+10.8 '\linebreak' & '\nolinebreak'
+==================================
+
+Synopses:
+
+ \linebreak[PRIORITY]
+ \nolinebreak[PRIORITY]
+
+ By default, the '\linebreak' ('\nolinebreak') command forces
+(prevents) a line break at the current position. For '\linebreak', the
+spaces in the line are stretched out so that it extends to the right
+margin as usual.
+
+ With the optional argument PRIORITY, you can convert the command from
+a demand to a request. The PRIORITY must be a number from 0 to 4. The
+higher the number, the more insistent the request.
+
+
+File: latex2e.info, Node: Page breaking, Next: Footnotes, Prev: Line breaking, Up: Top
+
+11 Page breaking
+****************
+
+LaTeX starts new pages asynchronously, when enough material has
+accumulated to fill up a page. Usually this happens automatically, but
+sometimes you may want to influence the breaks.
+
+* Menu:
+
+* \cleardoublepage:: Start a new right-hand page.
+* \clearpage:: Start a new page.
+* \newpage:: Start a new page.
+* \enlargethispage:: Enlarge the current page a bit.
+* \pagebreak & \nopagebreak:: Forcing & avoiding page breaks.
+
+
+File: latex2e.info, Node: \cleardoublepage, Next: \clearpage, Up: Page breaking
+
+11.1 '\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: latex2e.info, Node: \clearpage, Next: \newpage, Prev: \cleardoublepage, Up: Page breaking
+
+11.2 '\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: latex2e.info, Node: \newpage, Next: \enlargethispage, Prev: \clearpage, Up: Page breaking
+
+11.3 '\newpage'
+===============
+
+The '\newpage' command ends the current page, but does not clear floats
+(see '\clearpage' above).
+
+
+File: latex2e.info, Node: \enlargethispage, Next: \pagebreak & \nopagebreak, Prev: \newpage, Up: Page breaking
+
+11.4 '\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: latex2e.info, Node: \pagebreak & \nopagebreak, Prev: \enlargethispage, Up: Page breaking
+
+11.5 '\pagebreak' & '\nopagebreak'
+==================================
+
+Synopses:
+
+ \pagebreak[PRIORITY]
+ \nopagebreak[PRIORITY]
+
+ By default, the '\pagebreak' ('\nopagebreak') command forces
+(prevents) a page break at the current position. With '\pagebreak', the
+vertical space on the page is stretched out where possible so that it
+extends to the normal bottom margin.
+
+ With the optional argument PRIORITY, 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: latex2e.info, Node: Footnotes, Next: Definitions, Prev: Page breaking, Up: Top
+
+12 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.
+
+* Menu:
+
+* \footnote:: Insert a footnote.
+* \footnotemark:: Insert footnote mark only.
+* \footnotetext:: Insert footnote text only.
+* Symbolic footnotes:: Using symbols instead of numbers for footnotes.
+* Footnote parameters:: Parameters for footnote formatting.
+
+
+File: latex2e.info, Node: \footnote, Next: \footnotemark, Up: Footnotes
+
+12.1 '\footnote'
+================
+
+Synopsis:
+
+ \footnote[NUMBER]{TEXT}
+
+ The '\footnote' command places the numbered footnote TEXT at the
+bottom of the current page. The optional argument NUMBER changes 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. (See following sections.)
+
+
+File: latex2e.info, Node: \footnotemark, Next: \footnotetext, Prev: \footnote, Up: Footnotes
+
+12.2 '\footnotemark'
+====================
+
+With no optional argument, the '\footnotemark' command puts the current
+footnote number in the text. This command can be used in inner
+paragraph mode. You give the text of the footnote separately, with the
+'\footnotetext' command.
+
+ This command can be used to produce several consecutive footnote
+markers referring to the same footnote with
+
+ \footnotemark[\value{footnote}]
+
+after the first '\footnote' command.
+
+
+File: latex2e.info, Node: \footnotetext, Next: Symbolic footnotes, Prev: \footnotemark, Up: Footnotes
+
+12.3 '\footnotetext'
+====================
+
+Synopsis:
+
+ \footnotetext[NUMBER]{TEXT}
+
+ The '\footnotetext' command places TEXT at the bottom of the page as
+a footnote. This command can come anywhere after the '\footnotemark'
+command. The '\footnotetext' command must appear in outer paragraph
+mode.
+
+ The optional argument NUMBER changes the default footnote number.
+
+
+File: latex2e.info, Node: Symbolic footnotes, Next: Footnote parameters, Prev: \footnotetext, Up: Footnotes
+
+12.4 Symbolic footnotes
+=======================
+
+If you want to use symbols for footnotes, rather than increasing
+numbers, redefine '\thefootnote' like this:
+
+ \renewcommand{\thefootnote}{\fnsymbol{footnote}}
+
+ The '\fnsymbol' command produces a predefined series of symbols
+(*note \alph \Alph \arabic \roman \Roman \fnsymbol::). If you want to
+use a different symbol as your footnote mark, you'll need to also
+redefine '\@fnsymbol'.
+
+
+File: latex2e.info, Node: Footnote parameters, Prev: Symbolic footnotes, Up: Footnotes
+
+12.5 Footnote parameters
+========================
+
+'\footnoterule'
+ Produces the rule separating the main text on a page from the
+ page's footnotes. Default dimensions: '0.4pt' thick (or wide), and
+ '0.4\columnwidth' long in the standard document classes (except
+ slides, where it does not appear).
+
+'\footnotesep'
+ The height of the strut placed at the beginning of the footnote.
+ By default, this is set to the normal strut for '\footnotesize'
+ fonts (*note Font sizes::), therefore there is no extra space
+ between footnotes. This is '6.65pt' for '10pt', '7.7pt' for
+ '11pt', and '8.4pt' for '12pt'.
+
+
+File: latex2e.info, Node: Definitions, Next: Counters, Prev: Footnotes, Up: Top
+
+13 Definitions
+**************
+
+LaTeX has support for making new commands of many different kinds.
+
+* Menu:
+
+* \newcommand & \renewcommand:: (Re)define a new command.
+* \newcounter:: Define a new counter.
+* \newlength:: Define a new length.
+* \newsavebox:: Define a new box.
+* \newenvironment & \renewenvironment:: Define a new environment.
+* \newtheorem:: Define a new theorem-like environment.
+* \newfont:: Define a new font name.
+* \protect:: Using tricky commands.
+
+
+File: latex2e.info, Node: \newcommand & \renewcommand, Next: \newcounter, Up: Definitions
+
+13.1 '\newcommand' & '\renewcommand'
+====================================
+
+'\newcommand' and '\renewcommand' define and redefine a command,
+respectively. Synopses:
+
+ \newcommand{CMD}[NARGS]{DEFN}
+ \renewcommand{CMD}[NARGS]{DEFN}
+ \newcommand{CMD}[NARGS][DEFAULT]{DEFN}
+ \renewcommand{CMD}[NARGS][DEFAULT]{DEFN}
+
+CMD
+ The command name beginning with '\'. For '\newcommand', it must
+ not be already defined and must not begin with '\end'; for
+ '\renewcommand', it must already be defined.
+
+NARGS
+ An optional integer from 1 to 9 specifying the number of arguments
+ that the command will take. The default is for the command to have
+ no arguments.
+
+DEFAULT
+ If this optional parameter is present, it means that the command's
+ first argument is optional. When the new command is called, the
+ default value of the optional argument (i.e., if it is not
+ specified in the call) is the string 'def'.
+
+DEFN
+ The text to be substituted for every occurrence of 'cmd'; a
+ construct of the form '#N' in DEFN is replaced by the text of the
+ Nth argument.
+
+
+File: latex2e.info, Node: \newcounter, Next: \newlength, Prev: \newcommand & \renewcommand, Up: Definitions
+
+13.2 '\newcounter'
+==================
+
+Synopsis:
+
+ \newcounter{CNT}[COUNTERNAME]
+
+ The '\newcounter' command defines a new counter named CNT. The new
+counter is initialized to zero.
+
+ Given the optional argument '[COUNTERNAME]', CNT will be reset
+whenever COUNTERNAME is incremented.
+
+ *Note Counters::, for more information about counters.
+
+
+File: latex2e.info, Node: \newlength, Next: \newsavebox, Prev: \newcounter, Up: Definitions
+
+13.3 '\newlength'
+=================
+
+Synopsis:
+
+ \newlength{\ARG}
+
+ The '\newlength' command defines the mandatory argument as a 'length'
+command with a value of '0in'. The argument must be a control sequence,
+as in '\newlength{\foo}'. An error occurs if '\foo' is already defined.
+
+ *Note Lengths::, for how to set the new length to a nonzero value,
+and for more information about lengths in general.
+
+
+File: latex2e.info, Node: \newsavebox, Next: \newenvironment & \renewenvironment, Prev: \newlength, Up: Definitions
+
+13.4 '\newsavebox'
+==================
+
+Synopsis:
+
+ \newsavebox{CMD}
+
+ Defines '\CMD', which must be a command name not already defined, to
+refer to a new bin for storing boxes.
+
+
+File: latex2e.info, Node: \newenvironment & \renewenvironment, Next: \newtheorem, Prev: \newsavebox, Up: Definitions
+
+13.5 '\newenvironment' & '\renewenvironment'
+============================================
+
+Synopses:
+
+ \newenvironment{ENV}[NARGS]{BEGDEF}{ENDDEF}
+ \newenvironment{ENV}[NARGS][DEFAULT]{BEGDEF}{ENDDEF}
+ \renewenvironment{ENV}[NARGS]{BEGDEF}{ENDDEF}
+
+ These commands define or redefine an environment ENV, that is,
+'\begin{ENV} ... \end{ENV}'.
+
+ENV
+ The name of the environment. For '\newenvironment', ENV must not
+ be an existing environment, and the command '\ENV' must be
+ undefined. For '\renewenvironment', ENV must be the name of an
+ existing environment.
+
+NARGS
+ 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 expanded at every occurrence of '\begin{ENV}'; a construct
+ of the form '#N' in BEGDEF is replaced by the text of the Nth
+ argument.
+
+ENDDEF
+ The text expanded at every occurrence of '\end{ENV}'. It may not
+ contain any argument parameters.
+
+
+File: latex2e.info, Node: \newtheorem, Next: \newfont, Prev: \newenvironment & \renewenvironment, Up: Definitions
+
+13.6 '\newtheorem'
+==================
+
+ \newtheorem{NEWENV}{LABEL}[WITHIN]
+ \newtheorem{NEWENV}[NUMBERED_LIKE]{LABEL}
+
+ This command defines a theorem-like environment. Arguments:
+
+NEWENV
+ The name of the environment to be defined; must not be the name of
+ an existing environment or otherwise defined.
+
+LABEL
+ The text printed at the beginning of the environment, before the
+ number. For example, 'Theorem'.
+
+NUMBERED_LIKE
+ (Optional.) The name of an already defined theorem-like
+ environment; the new environment will be numbered just like
+ NUMBERED_LIKE.
+
+WITHIN
+ (Optional.) The name of an already defined counter, a sectional
+ unit. The new theorem counter will be reset at the same time as
+ the WITHIN counter.
+
+ At most one of NUMBERED_LIKE and WITHIN can be specified, not both.
+
+
+File: latex2e.info, Node: \newfont, Next: \protect, Prev: \newtheorem, Up: Definitions
+
+13.7 '\newfont'
+===============
+
+Synopsis:
+
+ \newfont{CMD}{FONTNAME}
+
+ Defines a control sequence '\CMD', which must not already be defined,
+to make FONTNAME be the current font. The file looked for on the system
+is named 'FONTNAME.tfm'.
+
+ This is a low-level command for setting up to use an individual font.
+More commonly, fonts are defined in families through '.fd' files.
+
+
+File: latex2e.info, Node: \protect, Prev: \newfont, Up: Definitions
+
+13.8 '\protect'
+===============
+
+Footnotes, line breaks, any command that has an optional argument, and
+many more are so-called "fragile" commands. When a fragile command is
+used in certain contexts, called "moving arguments", it must be preceded
+by '\protect'. In addition, any fragile commands within the arguments
+must have their own '\protect'.
+
+ Some examples of moving arguments are '\caption' (*note figure::),
+'\thanks' (*note \maketitle::), and expressions in 'tabular' and 'array'
+environments (*note tabular::).
+
+ Commands which are not fragile are called "robust". They must not be
+preceded by '\protect'.
+
+ See also:
+
+'http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/fragile.html'
+'http://www.tex.ac.uk/cgi-bin/texfaq2html?label=protect'
+
+
+File: latex2e.info, Node: Counters, Next: Lengths, Prev: Definitions, Up: Top
+
+14 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:
+
+* \alph \Alph \arabic \roman \Roman \fnsymbol:: Print value of a counter.
+* \usecounter:: Use a specified counter in a list environment.
+* \value:: Use the value of a counter in an expression.
+* \setcounter:: Set the value of a counter.
+* \addtocounter:: Add a quantity to a counter.
+* \refstepcounter:: Add to counter, resetting subsidiary counters.
+* \stepcounter:: Add to counter, resetting subsidiary counters.
+* \day \month \year:: Numeric date values.
+
+
+File: latex2e.info, Node: \alph \Alph \arabic \roman \Roman \fnsymbol, Next: \usecounter, Up: Counters
+
+14.1 '\alph \Alph \arabic \roman \Roman \fnsymbol': Printing counters
+=====================================================================
+
+All of these commands take a single counter as an argument, for
+instance, '\alph{enumi}'.
+
+'\alph'
+ prints COUNTER using lowercase letters: 'a', 'b', ...
+
+'\Alph'
+ uses uppercase letters: 'A', 'B', ...
+
+'\arabic'
+ uses Arabic numbers: '1', '2', ...
+
+'\roman'
+ uses lowercase roman numerals: 'i', 'ii', ...
+
+'\roman'
+ uses uppercase roman numerals: 'I', 'II', ...
+
+'\fnsymbol'
+ prints the value of COUNTER in a specific sequence of nine symbols
+ (conventionally used for labeling footnotes). The value of COUNTER
+ must be between 1 and 9, inclusive.
+
+ The symbols mostly aren't supported in Info, but here are the
+ names:
+ asterix(*) dagger ddagger section-sign paragraph-sign parallel
+ double-asterix(**) double-dagger double-ddagger
+
+
+File: latex2e.info, Node: \usecounter, Next: \value, Prev: \alph \Alph \arabic \roman \Roman \fnsymbol, Up: Counters
+
+14.2 '\usecounter{COUNTER}'
+===========================
+
+Synopsis:
+
+ \usecounter{COUNTER}
+
+ The '\usecounter' command is used in the second argument of the
+'list' environment to specify COUNTER to be used to number the list
+items.
+
+
+File: latex2e.info, Node: \value, Next: \setcounter, Prev: \usecounter, Up: Counters
+
+14.3 '\value{COUNTER}'
+======================
+
+Synopsis:
+
+ \value{COUNTER}
+
+ The '\value' command produces the value of COUNTER. It can be used
+anywhere LaTeX expects a number, for example:
+
+ \setcounter{myctr}{3}
+ \addtocounter{myctr}{1}
+ \hspace{\value{myctr}\parindent}
+
+
+File: latex2e.info, Node: \setcounter, Next: \addtocounter, Prev: \value, Up: Counters
+
+14.4 '\setcounter{COUNTER}{VALUE}'
+==================================
+
+Synopsis:
+
+ \setcounter{\COUNTER}{VALUE}
+
+ The '\setcounter' command sets the value of \COUNTER to the VALUE
+argument.
+
+
+File: latex2e.info, Node: \addtocounter, Next: \refstepcounter, Prev: \setcounter, Up: Counters
+
+14.5 '\addtocounter{COUNTER}{VALUE}'
+====================================
+
+The '\addtocounter' command increments COUNTER by the amount specified
+by the VALUE argument, which may be negative.
+
+
+File: latex2e.info, Node: \refstepcounter, Next: \stepcounter, Prev: \addtocounter, Up: Counters
+
+14.6 '\refstepcounter{COUNTER}'
+===============================
+
+The '\refstepcounter' command works in the same way as '\stepcounter'
+*Note \stepcounter::, except it also defines the current '\ref' value to
+be the result of '\thecounter'.
+
+
+File: latex2e.info, Node: \stepcounter, Next: \day \month \year, Prev: \refstepcounter, Up: Counters
+
+14.7 '\stepcounter{COUNTER}'
+============================
+
+The '\stepcounter' command adds one to COUNTER and resets all subsidiary
+counters.
+
+
+File: latex2e.info, Node: \day \month \year, Prev: \stepcounter, Up: Counters
+
+14.8 '\day \month \year': Predefined counters
+=============================================
+
+LaTeX defines counters for the day of the month ('\day', 1-31), month of
+the year ('\month', 1-12), and year ('\year', Common Era). When TeX
+starts up, they are set to the current values on the system where TeX is
+running. They are not updated as the job progresses.
+
+ The related command '\today' produces a string representing the
+current day (*note \today::).
+
+
+File: latex2e.info, Node: Lengths, Next: Making paragraphs, Prev: Counters, Up: Top
+
+15 Lengths
+**********
+
+A 'length' is a measure of distance. Many LaTeX commands take a length
+as an argument.
+
+* Menu:
+
+* \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: latex2e.info, Node: \setlength, Next: \addtolength, Up: Lengths
+
+15.1 '\setlength{\LEN}{VALUE}'
+==============================
+
+The '\setlength' sets the value of \LEN to the VALUE argument, which can
+be expressed in any units that LaTeX understands, i.e., inches ('in'),
+millimeters ('mm'), points ('pt'), big points ('bp', etc.
+
+
+File: latex2e.info, Node: \addtolength, Next: \settodepth, Prev: \setlength, Up: Lengths
+
+15.2 \addtolength{\LEN}{AMOUNT}
+===============================
+
+The '\addtolength' command increments a "length command" \LEN by the
+amount specified in the AMOUNT argument, which may be negative.
+
+
+File: latex2e.info, Node: \settodepth, Next: \settoheight, Prev: \addtolength, Up: Lengths
+
+15.3 '\settodepth'
+==================
+
+'\settodepth{\gnat}{text}'
+
+ The '\settodepth' command sets the value of a 'length' command equal
+to the depth of the 'text' argument.
+
+
+File: latex2e.info, Node: \settoheight, Next: \settowidth, Prev: \settodepth, Up: Lengths
+
+15.4 '\settoheight'
+===================
+
+'\settoheight{\gnat}{text}'
+
+ The '\settoheight' command sets the value of a 'length' command equal
+to the height of the 'text' argument.
+
+
+File: latex2e.info, Node: \settowidth, Next: Predefined lengths, Prev: \settoheight, Up: Lengths
+
+15.5 '\settowidth{\LEN}{TEXT}'
+==============================
+
+The '\settowidth' command sets the value of the command \LEN to the
+width of the TEXT argument.
+
+
+File: latex2e.info, Node: Predefined lengths, Prev: \settowidth, Up: Lengths
+
+15.6 Predefined lengths
+=======================
+
+'\width'
+
+ '\height'
+
+ '\depth'
+
+ '\totalheight'
+
+ These length parameters can be used in the arguments of the
+box-making commands (*note 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: latex2e.info, Node: Making paragraphs, Next: Math formulas, Prev: Lengths, Up: Top
+
+16 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.
+* \parskip:: Space added before paragraphs.
+* Marginal notes:: Putting remarks in the margin.
+
+
+File: latex2e.info, Node: \indent, Next: \noindent, Up: Making paragraphs
+
+16.1 '\indent'
+==============
+
+'\indent' produces a horizontal space whose width equals the width of
+the '\parindent' length, the normal paragraph indentation. It is used
+to add paragraph indentation where it would otherwise be suppressed.
+
+ The default value for '\parindent' is '1em' in two-column mode,
+otherwise '15pt' for '10pt' documents, '17pt' for '11pt', and '1.5em'
+for '12pt'.
+
+
+File: latex2e.info, Node: \noindent, Next: \parskip, Prev: \indent, Up: Making paragraphs
+
+16.2 '\noindent'
+================
+
+When used at the beginning of the paragraph, '\noindent' suppresses any
+paragraph indentation. It has no effect when used in the middle of a
+paragraph.
+
+
+File: latex2e.info, Node: \parskip, Next: Marginal notes, Prev: \noindent, Up: Making paragraphs
+
+16.3 '\parskip'
+===============
+
+'\parskip' is a rubber length defining extra vertical space added before
+each paragraph. The default is '0pt plus1pt'.
+
+
+File: latex2e.info, Node: Marginal notes, Prev: \parskip, Up: Making paragraphs
+
+16.4 Marginal notes
+===================
+
+Synopsis:
+
+ \marginpar[LEFT]{RIGHT}
+
+ The '\marginpar' command creates a note in the margin. The first
+line of the note will have the same baseline 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.
+
+ The command '\reversemarginpar' places subsequent marginal notes in
+the opposite (inside) margin. '\normalmarginpar' places them in the
+default position.
+
+ 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 there by beginning the node with '\hspace{0pt}'.
+
+ These parameters affect the formatting of the note:
+
+'\marginparpush'
+ Minimum vertical space between notes; default '7pt' for '12pt'
+ documents, '5pt' else.
+
+'\marginparsep'
+ Horizontal space between the main text and the note; default '11pt'
+ for '10pt' documents, '10pt' else.
+
+'\marginparwidth'
+ Width of the note itself; default for a one-sided '10pt' document
+ is '90pt', '83pt' for '11pt', and '68pt' for '12pt'; '17pt' more in
+ each case for a two-sided document. In two column mode, the
+ default is '48pt'.
+
+ The standard LaTeX routine for marginal notes does not prevent notes
+from falling off the bottom of the page.
+
+
+File: latex2e.info, Node: Math formulas, Next: Modes, Prev: Making paragraphs, Up: Top
+
+17 Math formulas
+****************
+
+There are three environments that put LaTeX in math mode:
+
+'math'
+ For formulas that appear right in the text.
+'displaymath'
+ For formulas 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 \(...\)
+
+ The '\boldmath' command changes math letters and symbols to be in a
+bold font. It is used _outside_ of math mode. Conversely, the
+'\unboldmath' command changes math glyphs to be in a normal font; it too
+is used _outside_ of math mode.
+
+ The '\displaystyle' declaration forces the size and style of the
+formula to be that of 'displaymath', e.g., with limits above and below
+summations. For example
+ $\displaystyle \sum_{n=0}^\infty x_n $
+
+* Menu:
+
+* Subscripts & superscripts:: Also known as exponent or index.
+* Math symbols:: Various mathematical squiggles.
+* Math functions:: Math function names like sin and exp.
+* Math accents:: Accents in math.
+* Spacing in math mode:: Thick, medium, thin and negative spaces.
+* Math miscellany:: Stuff that doesn't fit anywhere else.
+
+
+File: latex2e.info, Node: Subscripts & superscripts, Next: Math symbols, Up: Math formulas
+
+17.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: latex2e.info, Node: Math symbols, Next: Math functions, Prev: Subscripts & superscripts, Up: Math formulas
+
+17.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 pi
+symbol (\pi) in your output.
+
+'\|'
+ \|
+
+'\aleph'
+ \aleph
+
+'\alpha'
+ \alpha
+
+'\amalg'
+ \amalg (binary operation)
+
+'\angle'
+ \angle
+
+'\approx'
+ \approx (relation)
+
+'\ast'
+ \ast (binary operation)
+
+'\asymp'
+ \asymp (relation)
+
+'\backslash'
+ \ (delimiter)
+
+'\beta'
+ \beta
+
+'\bigcap'
+ \bigcap
+
+'\bigcirc'
+ \bigcirc (binary operation)
+
+'\bigcup'
+ \bigcup
+
+'\bigodot'
+ \bigodot
+
+'\bigoplus'
+ \bigoplus
+
+'\bigotimes'
+ \bigotimes
+
+'\bigtriangledown'
+ \bigtriangledown (binary operation)
+
+'\bigtriangleup'
+ \bigtriangleup (binary operation)
+
+'\bigsqcup'
+ \bigsqcup
+
+'\biguplus'
+ \biguplus
+
+'\bigcap'
+ \bigvee
+
+'\bigwedge'
+ \bigwedge
+
+'\bot'
+ \bot
+
+'\bowtie'
+ \bowtie (relation)
+
+'\Box'
+ (square open box symbol)
+
+'\bullet'
+ \bullet (binary operation)
+
+'\cap'
+ \cap (binary operation)
+
+'\cdot'
+ \cdot (binary operation)
+
+'\chi'
+ \chi
+
+'\circ'
+ \circ (binary operation)
+
+'\clubsuit'
+ \clubsuit
+
+'\cong'
+ \cong (relation)
+
+'\coprod'
+ \coprod
+
+'\cup'
+ \cup (binary operation)
+
+'\dagger'
+ \dagger (binary operation)
+
+'\dashv'
+ \dashv (relation)
+
+'\ddagger'
+ \dagger (binary operation)
+
+'\Delta'
+ \Delta
+
+'\delta'
+ \delta
+
+'\Diamond'
+ bigger \diamond
+
+'\diamond'
+ \diamond (binary operation)
+
+'\diamondsuit'
+ \diamondsuit
+
+'\div'
+ \div (binary operation)
+
+'\doteq'
+ \doteq (relation)
+
+'\downarrow'
+ \downarrow (delimiter)
+
+'\Downarrow'
+ \Downarrow (delimiter)
+
+'\ell'
+ \ell
+
+'\emptyset'
+ \emptyset
+
+'\epsilon'
+ \epsilon
+
+'\equiv'
+ \equiv (relation)
+
+'\eta'
+ \eta
+
+'\exists'
+ \exists
+
+'\flat'
+ \flat
+
+'\forall'
+ \forall
+
+'\frown'
+ \frown (relation)
+
+'\Gamma'
+ \Gamma
+
+'\gamma'
+ \gamma
+
+'\ge'
+ \ge
+
+'\geq'
+ \geq (relation)
+
+'\gets'
+ \gets
+
+'\gg'
+ \gg (relation)
+
+'\hbar'
+ \hbar
+
+'\heartsuit'
+ \heartsuit
+
+'\hookleftarrow'
+ \hookleftarrow
+
+'\hookrightarrow'
+ \hookrightarrow
+
+'\iff'
+ \iff
+
+'\Im'
+ \Im
+
+'\in'
+ \in (relation)
+
+'\infty'
+ \infty
+
+'\int'
+ \int
+
+'\iota'
+ \iota
+
+'\Join'
+ condensed bowtie symbol (relation)
+
+'\kappa'
+ \kappa
+
+'\Lambda'
+ \Lambda
+
+'\lambda'
+ \lambda
+
+'\land'
+ \land
+
+'\langle'
+ \langle (delimiter)
+
+'\lbrace'
+ \lbrace (delimiter)
+
+'\lbrack'
+ \lbrack (delimiter)
+
+'\lceil'
+ \lceil (delimiter)
+
+'\le'
+ \le
+
+'\leadsto'
+
+'\Leftarrow'
+ \Leftarrow
+
+'\leftarrow'
+ \leftarrow
+
+'\leftharpoondown'
+ \leftharpoondown
+
+'\leftharpoonup'
+ \leftharpoonup
+
+'\Leftrightarrow'
+ \Leftrightarrow
+
+'\leftrightarrow'
+ \leftrightarrow
+
+'\leq'
+ \leq (relation)
+
+'\lfloor'
+ \lfloor (delimiter)
+
+'\lhd'
+ (left-pointing arrow head)
+
+'\ll'
+ \ll (relation)
+
+'\lnot'
+ \lnot
+
+'\longleftarrow'
+ \longleftarrow
+
+'\longleftrightarrow'
+ \longleftrightarrow
+
+'\longmapsto'
+ \longmapsto
+
+'\longrightarrow'
+ \longrightarrow
+
+'\lor'
+ \lor
+
+'\mapsto'
+ \mapsto
+
+'\mho'
+
+'\mid'
+ \mid (relation)
+
+'\models'
+ \models (relation)
+
+'\mp'
+ \mp (binary operation)
+
+'\mu'
+ \mu
+
+'\nabla'
+ \nabla
+
+'\natural'
+ \natural
+
+'\ne'
+ \ne
+
+'\nearrow'
+ \nearrow
+
+'\neg'
+ \neg
+
+'\neq'
+ \neq (relation)
+
+'\ni'
+ \ni (relation)
+
+'\not'
+ Overstrike a following operator with a /, as in \not=.
+
+'\notin'
+ \ni
+
+'\nu'
+ \nu
+
+'\nwarrow'
+ \nwarrow
+
+'\odot'
+ \odot (binary operation)
+
+'\oint'
+ \oint
+
+'\Omega'
+ \Omega
+
+'\omega'
+ \omega
+
+'\ominus'
+ \ominus (binary operation)
+
+'\oplus'
+ \oplus (binary operation)
+
+'\oslash'
+ \oslash (binary operation)
+
+'\otimes'
+ \otimes (binary operation)
+
+'\owns'
+ \owns
+
+'\parallel'
+ \parallel (relation)
+
+'\partial'
+ \partial
+
+'\perp'
+ \perp (relation)
+
+'\phi'
+ \phi
+
+'\Pi'
+ \Pi
+
+'\pi'
+ \pi
+
+'\pm'
+ \pm (binary operation)
+
+'\prec'
+ \prec (relation)
+
+'\preceq'
+ \preceq (relation)
+
+'\prime'
+ \prime
+
+'\prod'
+ \prod
+
+'\propto'
+ \propto (relation)
+
+'\Psi'
+ \Psi
+
+'\psi'
+ \psi
+
+'\rangle'
+ \rangle (delimiter)
+
+'\rbrace'
+ \rbrace (delimiter)
+
+'\rbrack'
+ \rbrack (delimiter)
+
+'\rceil'
+ \rceil (delimiter)
+
+'\Re'
+ \Re
+
+'\rfloor'
+ \rfloor
+
+'\rhd'
+ (binary operation)
+
+'\rho'
+ \rho
+
+'\Rightarrow'
+ \Rightarrow
+
+'\rightarrow'
+ \rightarrow
+
+'\rightharpoondown'
+ \rightharpoondown
+
+'\rightharpoonup'
+ \rightharpoonup
+
+'\rightleftharpoons'
+ \rightleftharpoons
+
+'\searrow'
+ \searrow
+
+'\setminus'
+ \setminus (binary operation)
+
+'\sharp'
+ \sharp
+
+'\Sigma'
+ \Sigma
+
+'\sigma'
+ \sigma
+
+'\sim'
+ \sim (relation)
+
+'\simeq'
+ \simeq (relation)
+
+'\smallint'
+ \smallint
+
+'\smile'
+ \smile (relation)
+
+'\spadesuit'
+ \spadesuit
+
+'\sqcap'
+ \sqcap (binary operation)
+
+'\sqcup'
+ \sqcup (binary operation)
+
+'\sqsubset'
+ (relation)
+
+'\sqsubseteq'
+ \sqsubseteq (relation)
+
+'\sqsupset'
+ (relation)
+
+'\sqsupseteq'
+ \sqsupseteq (relation)
+
+'\star'
+ \star (binary operation)
+
+'\subset'
+ \subset (relation)
+
+'\subseteq'
+ \subseteq (relation)
+
+'\succ'
+ \succ (relation)
+
+'\succeq'
+ \succeq (relation)
+
+'\sum'
+ \sum
+
+'\supset'
+ \supset (relation)
+
+'\supseteq'
+ \supseteq (relation)
+
+'\surd'
+ \surd
+
+'\swarrow'
+ \swarrow
+
+'\tau'
+ \tau
+
+'\theta'
+ \theta
+
+'\times'
+ \times (binary operation)
+
+'\to'
+ \to
+
+'\top'
+ \top
+
+'\triangle'
+ \triangle
+
+'\triangleleft'
+ \triangleleft (binary operation)
+
+'\triangleright'
+ \triangleright (binary operation)
+
+'\unlhd'
+ left-pointing arrowhead with line under (binary operation)
+
+'\unrhd'
+ right-pointing arrowhead with line under (binary operation)
+
+'\Uparrow'
+ \Uparrow (delimiter)
+
+'\uparrow'
+ \uparrow (delimiter)
+
+'\Updownarrow'
+ \Updownarrow (delimiter)
+
+'\updownarrow'
+ \updownarrow (delimiter)
+
+'\uplus'
+ \uplus (binary operation)
+
+'\Upsilon'
+ \Upsilon
+
+'\upsilon'
+ \upsilon
+
+'\varepsilon'
+ \varepsilon
+
+'\varphi'
+ \varphi
+
+'\varpi'
+ \varpi
+
+'\varrho'
+ \varrho
+
+'\varsigma'
+ \varsigma
+
+'\vartheta'
+ \vartheta
+
+'\vdash'
+ \vdash (relation)
+
+'\vee'
+ \vee (binary operation)
+
+'\Vert'
+ \Vert (delimiter)
+
+'\vert'
+ \vert (delimiter)
+
+'\wedge'
+ \wedge (binary operation)
+
+'\wp'
+ \wp
+
+'\wr'
+ \wr (binary operation)
+
+'\Xi'
+ \Xi
+
+'\xi'
+ \xi
+
+'\zeta'
+ \zeta
+
+
+File: latex2e.info, Node: Math functions, Next: Math accents, Prev: Math symbols, Up: Math formulas
+
+17.3 Math functions
+===================
+
+These commands produce roman function names in math mode with proper
+spacing.
+
+'\arccos'
+ \arccos
+
+'\arcsin'
+ \arcsin
+
+'\arctan'
+ \arctan
+
+'\arg'
+ \arg
+
+'\bmod'
+ Binary modulo operator (x \bmod y)
+
+'\cos'
+ \cos
+
+'\cosh'
+ \cosh
+
+'\cot'
+ \cos
+
+'\coth'
+ \cosh
+
+'\csc'
+ \csc
+
+'\deg'
+ \deg
+
+'\det'
+ \deg
+
+'\dim'
+ \dim
+
+'\exp'
+ \exp
+
+'\gcd'
+ \gcd
+
+'\hom'
+ \hom
+
+'\inf'
+ \inf
+
+'\ker'
+ \ker
+
+'\lg'
+ \lg
+
+'\lim'
+ \lim
+
+'\liminf'
+ \liminf
+
+'\limsup'
+ \limsup
+
+'\ln'
+ \ln
+
+'\log'
+ \log
+
+'\max'
+ \max
+
+'\min'
+ \min
+
+'\pmod'
+ parenthesized modulus, as in (\pmod 2^n - 1)
+
+'\Pr'
+ \Pr
+
+'\sec'
+ \sec
+
+'\sin'
+ \sin
+
+'\sinh'
+ \sinh
+
+'\sup'
+ \sup
+
+'\tan'
+ \tan
+
+'\tanh'
+ \tanh
+
+
+File: latex2e.info, Node: Math accents, Next: Spacing in math mode, Prev: Math functions, Up: Math formulas
+
+17.4 Math accents
+=================
+
+LaTeX provides a variety of commands for producing accented letters in
+math. These are different from accents in normal text (*note
+Accents::).
+
+'\acute'
+ Math acute accent: \acute{x}.
+
+'\bar'
+ Math bar-over accent: \bar{x}.
+
+'\breve'
+ Math breve accent: \breve{x}.
+
+'\check'
+ Math ha'c<ek (check) accent: \check{x}.
+
+'\ddot'
+ Math dieresis accent: \ddot{x}.
+
+'\dot'
+ Math dot accent: \dot{x}.
+
+'\grave'
+ Math grave accent: \grave{x}.
+
+'\hat'
+ Math hat (circumflex) accent: \hat{x}.
+
+'\imath'
+ Math dotless i.
+
+'\jmath'
+ Math dotless j.
+
+'\mathring'
+ Math ring accent: x*.
+
+'\tilde'
+ Math tilde accent: \tilde{x}.
+
+'\vec'
+ Math vector symbol: \vec{x}.
+
+'\widehat'
+ Math wide hat accent: \widehat{x+y}.
+
+'\widehat'
+ Math wide tilde accent: \widetilde{x+y}.
+
+
+File: latex2e.info, Node: Spacing in math mode, Next: Math miscellany, Prev: Math accents, Up: Math formulas
+
+17.5 Spacing in math mode
+=========================
+
+In a 'math' environment, LaTeX ignores the spaces you type and puts in
+the spacing according to the normal rules for mathematics texts. If you
+want different spacing, LaTeX provides the following commands for use in
+math mode:
+
+'\;'
+ A thick space (5\over18\,quad).
+'\:'
+'\>'
+ Both of these produce a medium space (2\over9\,quad).
+'\,'
+ A thin space (1\over6\,quad); not restricted to math mode.
+'\!'
+ A negative thin space (-{1\over6}\,quad).
+
+
+File: latex2e.info, Node: Math miscellany, Prev: Spacing in math mode, Up: Math formulas
+
+17.6 Math miscellany
+====================
+
+'\*'
+ A "discretionary" multiplication symbol, at which a line break is
+ allowed.
+
+'\cdots'
+ A horizontal ellipsis with the dots raised to the center of the
+ line.
+
+'\ddots'
+ A diagonal ellipsis: \ddots.
+
+'\frac{num}{den}'
+ Produces the fraction 'num' divided by 'den'.
+
+'\left DELIM1 ... \right DELIM2'
+ The two delimiters need not match; '.' acts as a null delimiter,
+ producing no output. The delimiters are sized according to the
+ math in between. Example: '\left( \sum_i=1^10 a_i \right]'.
+
+'\overbrace{TEXT}'
+ Generates a brace over TEXT. For example,
+ \overbrace{x+\cdots+x}^{k \rm\;times}.
+
+'\overline{TEXT}'
+ Generates a horizontal line over TEX. For exampe, \overline{x+y}.
+
+'\sqrt[ROOT]{arg}'
+ Produces the representation of the square root of ARG. The
+ optional argument ROOT determines what root to produce. For
+ example, the cube root of 'x+y' would be typed as
+ '$\sqrt[3]{x+y}$'.
+
+'\stackrel{TEXT}{RELATION}'
+ Puts TEXT above RELATION. For example,
+ '\stackrel{f}{\longrightarrow}'.
+
+'\underbrace{math}'
+ Generates MATH with a brace underneath.
+
+'\underline{text}'
+ Causes TEXT, which may be either math mode or not, to be
+ underlined. The line is always below the text, taking account of
+ descenders.
+
+'\vdots'
+ Produces a vertical ellipsis.
+
+
+File: latex2e.info, Node: Modes, Next: Page styles, Prev: Math formulas, Up: Top
+
+18 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: latex2e.info, Node: Page styles, Next: Spaces, Prev: Modes, Up: Top
+
+19 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: latex2e.info, Node: \maketitle, Next: \pagenumbering, Up: Page styles
+
+19.1 '\maketitle'
+=================
+
+The '\maketitle' command generates a title on a separate title
+page--except in the 'article' class, where the title is placed at the
+top of the first page. Information used to produce the title is
+obtained from the following declarations:
+
+'\author{NAME \and NAME2}'
+ The '\author' command declares the document author(s), where the
+ argument 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.
+
+'\date{TEXT}'
+ The '\date' command declares TEXT to be the document's date. With
+ no '\date' command, the current date (*note \today::) is used.
+
+'\thanks{TEXT}'
+ The '\thanks' command produces a '\footnote' to the title, usually
+ used for credit acknowledgements.
+
+'\title{TEXT}'
+ The '\title' command declares TEXT to be the title of the document.
+ Use '\\' to force a line break, as usual.
+
+
+File: latex2e.info, Node: \pagenumbering, Next: \pagestyle, Prev: \maketitle, Up: Page styles
+
+19.2 '\pagenumbering'
+=====================
+
+Synopsis:
+
+ \pagenumbering{STYLE}
+
+ Specifies the style of page numbers, according to STYLE:
+
+'arabic'
+ arabic numerals
+'roman'
+ lowercase Roman numerals
+'Roman'
+ uppercase Roman numerals
+'alph'
+ lowercase letters
+'Alph'
+ uppercase letters
+
+
+File: latex2e.info, Node: \pagestyle, Next: \thispagestyle, Prev: \pagenumbering, Up: Page styles
+
+19.3 '\pagestyle'
+=================
+
+Synopsis:
+
+ \pagestyle{STYLE}
+
+ The '\pagestyle' command specifies how the headers and footers are
+typeset from the current page onwards. Values for STYLE:
+
+'plain'
+ Just a plain page number.
+
+'empty'
+ Empty headers and footers, e.g., no page numbers.
+
+'headings'
+ Put running headers on each page. The document style specifies
+ what goes in the headers.
+
+'myheadings'
+ Custom headers, specified via the '\markboth' or the '\markright'
+ commands.
+
+ Here are the descriptions of '\markboth' and '\markright':
+
+'\markboth{LEFT}{RIGHT}'
+ Sets both the left and the right heading. A "left-hand heading"
+ (LEFT) is generated by the last '\markboth' command before the end
+ of the page, while a "right-hand heading" (RIGHT 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.
+
+'\markright{RIGHT}'
+ Sets the right heading, leaving the left heading unchanged.
+
+
+File: latex2e.info, Node: \thispagestyle, Prev: \pagestyle, Up: Page styles
+
+19.4 '\thispagestyle{STYLE}'
+============================
+
+The '\thispagestyle' command works in the same manner as the
+'\pagestyle' command (see previous section) except that it changes to
+STYLE for the current page only.
+
+
+File: latex2e.info, Node: Spaces, Next: Boxes, Prev: Page styles, Up: Top
+
+20 Spaces
+*********
+
+LaTeX has many ways to produce white (or filled) space.
+
+ Another space-producing command is '\,' to produce a "thin" space
+(usually 1/6quad). It can be used in text mode, but is more often
+useful in math mode (*note Spacing in math mode::).
+
+* Menu:
+
+Horizontal space
+* \hspace:: Fixed horizontal space.
+* \hfill:: Stretchable horizontal space.
+* \SPACE:: Normal interword space.
+* \AT:: Ending a sentence.
+* \thinspace:: One-sixth of an em.
+* \/:: Per-character italic correction.
+* \hrulefill:: Stretchable horizontal rule.
+* \dotfill:: Stretchable horizontal dots.
+
+Vertical space
+* \addvspace:: Add arbitrary vertical space if needed.
+* \bigskip \medskip \smallskip:: Fixed vertical spaces.
+* \vfill:: Infinitely stretchable vertical space.
+* \vspace:: Add arbitrary vertical space.
+
+
+File: latex2e.info, Node: \hspace, Next: \hfill, Up: Spaces
+
+20.1 '\hspace'
+==============
+
+Synopsis:
+
+ \hspace[*]{LENGTH}
+
+ The '\hspace' command adds horizontal space. The LENGTH argument can
+be expressed in any terms that LaTeX understands: points, inches, etc.
+It is a rubber length. You can add both negative and positive space
+with an '\hspace' command; adding negative space is like backspacing.
+
+ LaTeX normally removes horizontal space that comes at the beginning
+or end of a line. To preserve this space, use the optional '*' form.
+
+
+File: latex2e.info, Node: \hfill, Next: \SPACE, Prev: \hspace, Up: Spaces
+
+20.2 '\hfill'
+=============
+
+The '\hfill' fill command produces a "rubber length" which has no
+natural space but can stretch or shrink horizontally as far as needed.
+
+ The '\fill' parameter is the rubber length itself (technically, the
+glue value '0pt plus1fill'); thus, '\hspace\fill' is equivalent to
+'\hfill'.
+
+
+File: latex2e.info, Node: \SPACE, Next: \AT, Prev: \hfill, Up: Spaces
+
+20.3 '\SPACE'
+=============
+
+The '\ ' (space) command produces a normal interword space. It's useful
+after punctuation which shouldn't end a sentence. For example 'Knuth's
+article in Proc.\ Amer.\ Math\. Soc.\ is fundamental'. It is also often
+used after control sequences, as in '\TeX\ is a nice system.'
+
+ In normal circumstances, '\'<tab> and '\'<newline> are equivalent to
+'\ '.
+
+
+File: latex2e.info, Node: \AT, Next: \thinspace, Prev: \SPACE, Up: Spaces
+
+20.4 '\@'
+=========
+
+The '\@' command makes the following punctuation character end a
+sentence even if it normally would not. This is typically used after a
+capital letter. Here are side-by-side examples with and without '\@':
+
+ ... in C\@. Pascal, though ...
+ ... in C. Pascal, though ...
+
+produces
+
+ ... in C. Pascal, though ... ... in C. Pascal, though ...
+
+
+File: latex2e.info, Node: \thinspace, Next: \/, Prev: \AT, Up: Spaces
+
+20.5 '\thinspace'
+=================
+
+'\thinspace' produces an unbreakable and unstretchable space that is 1/6
+of an em. This is the proper space to use in nested quotes, as in '".
+
+
+File: latex2e.info, Node: \/, Next: \hrulefill, Prev: \thinspace, Up: Spaces
+
+20.6 '\/'
+=========
+
+The '\/' command produces an "italic correction". This is a small space
+defined by the font designer for a given character, to avoid the
+character colliding with whatever follows. The italic f character
+typically has a large italic correction value.
+
+ If the following character is a period or comma, it's not necessary
+to insert an italic correction, since those punctuation symbols have a
+very small height. However, with semicolons or colons, as well as
+normal letters, it can help. Compare f: f; (in the TeX output, the 'f's
+are nicely separated) with f: f;.
+
+ Despite the name, roman characters can also have an italic
+correction. Compare pdfTeX (in the TeX output, there is a small space
+after the 'f') with pdfTeX.
+
+
+File: latex2e.info, Node: \hrulefill, Next: \dotfill, Prev: \/, Up: Spaces
+
+20.7 '\hrulefill'
+=================
+
+The '\hrulefill' fill command produces a "rubber length" which can
+stretch or shrink horizontally. It will be filled with a horizontal
+rule.
+
+
+File: latex2e.info, Node: \dotfill, Next: \addvspace, Prev: \hrulefill, Up: Spaces
+
+20.8 '\dotfill'
+===============
+
+The '\dotfill' command produces a "rubber length" that fills with dots
+instead of just white space.
+
+
+File: latex2e.info, Node: \addvspace, Next: \bigskip \medskip \smallskip, Prev: \dotfill, Up: Spaces
+
+20.9 '\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: latex2e.info, Node: \bigskip \medskip \smallskip, Next: \vfill, Prev: \addvspace, Up: Spaces
+
+20.10 '\bigskip \medskip \smallskip'
+====================================
+
+These commands produce a given amount of space.
+
+'\bigskip'
+ The same as '\vspace{bigskipamount}', ordinarily about one line
+ space (with stretch and shrink).
+
+'\medskip'
+ The same as '\vspace{medskipamount}', ordinarily about half of a
+ line space (with stretch and shrink).
+
+'\smallskip'
+ The same as '\vspace{smallskipamount}', ordinarily about a quarter
+ of a line space (with stretch and shrink).
+
+ The '\...amount' parameters are determined by the document class.
+
+
+File: latex2e.info, Node: \vfill, Next: \vspace, Prev: \bigskip \medskip \smallskip, Up: Spaces
+
+20.11 '\vfill'
+==============
+
+The '\vfill' fill command produces a rubber length (glue) which can
+stretch or shrink vertically as far as needed. It's equivalent to
+'\vspace{\fill}' (*note \hfill::).
+
+
+File: latex2e.info, Node: \vspace, Prev: \vfill, Up: Spaces
+
+20.12 '\vspace[*]{LENGTH}'
+==========================
+
+Synopsis:
+
+ \vspace[*]{LENGTH}
+
+ The '\vspace' command adds the vertical space LENGTH, i.e., a rubber
+length. LENGTH can be negative or positive.
+
+ Ordinarily, LaTeX removes vertical space added by '\vspace' at the
+top or bottom of a page. With the optional '*' argument, the space is
+not removed.
+
+
+File: latex2e.info, Node: Boxes, Next: Special insertions, Prev: Spaces, Up: Top
+
+21 Boxes
+********
+
+All the predefined length parameters (*note Predefined lengths::) can be
+used in the arguments of the box-making commands.
+
+* Menu:
+
+* \mbox:: Horizontal boxes.
+* \fbox and \framebox:: Put a frame around a box.
+* lrbox:: An environment like \sbox.
+* \makebox:: Box, adjustable position.
+* \parbox:: Box with text in paragraph mode.
+* \raisebox:: Raise or lower text.
+* \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: latex2e.info, Node: \mbox, Next: \fbox and \framebox, Up: Boxes
+
+21.1 '\mbox{TEXT}'
+==================
+
+The '\mbox' command creates a box just wide enough to hold the text
+created by its argument. The TEXT is not broken into lines, so it can
+be used to prevent hyphenation.
+
+
+File: latex2e.info, Node: \fbox and \framebox, Next: lrbox, Prev: \mbox, Up: Boxes
+
+21.2 '\fbox' and '\framebox'
+============================
+
+Synopses:
+
+ \fbox{TEXT}
+ \framebox[WIDTH][POSITION]{TEXT}
+
+ The '\fbox' and '\framebox' commands are like '\mbox', except that
+they put a frame around the outside of the box being created.
+
+ In addition, the '\framebox' command allows for explicit
+specification of the box width with the optional WIDTH argument (a
+dimension), and positioning with the optional POSITION argument.
+
+ Both commands produce a rule of thickness '\fboxrule' (default
+'.4pt'), and leave a space of '\fboxsep' (default '3pt') between the
+rule and the contents of the box.
+
+ *Note \framebox (picture)::, for the '\framebox' command in the
+'picture' environment.
+
+
+File: latex2e.info, Node: lrbox, Next: \makebox, Prev: \fbox and \framebox, Up: Boxes
+
+21.3 '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: latex2e.info, Node: \makebox, Next: \parbox, Prev: lrbox, Up: Boxes
+
+21.4 '\makebox'
+===============
+
+Synopsis:
+
+ \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, which may take the following values:
+
+'c'
+ Centered (default).
+'l'
+ Flush left.
+'r'
+ Flush right.
+'s'
+ Stretch (justify) across entire WIDTH; TEXT must contain
+ stretchable space for this to work.
+
+ '\makebox' is also used within the picture environment *note \makebox
+(picture)::.
+
+
+File: latex2e.info, Node: \parbox, Next: \raisebox, Prev: \makebox, Up: Boxes
+
+21.5 '\parbox'
+==============
+
+Synopsis:
+
+ \parbox[POSITION][HEIGHT][INNER-POS]{WIDTH}{TEXT}
+
+ The '\parbox' command produces a box whose contents are created in
+'paragraph' mode. It should be used to make a box small pieces of text,
+with nothing fancy inside. In particular, you shouldn't use any
+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::).
+
+ '\parbox' has two mandatory arguments:
+
+WIDTH
+ the width of the parbox;
+TEXT
+ the text that goes inside the parbox.
+
+ The optional POSITION argument allows you to align either the top or
+bottom line in the parbox with the baseline of the surrounding text
+(default is top).
+
+ The optional HEIGHT argument overrides the natural height of the box.
+
+ The INNER-POS argument controls the placement of the text inside the
+box, as follows; if it is not specified, POSITION is used.
+
+'t'
+ text is placed at the top of the box.
+'c'
+ text is centered 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.
+
+
+File: latex2e.info, Node: \raisebox, Next: \savebox, Prev: \parbox, Up: Boxes
+
+21.6 '\raisebox'
+================
+
+Synopsis:
+
+ \raisebox{distance}[HEIGHT][DEPTH]{text}
+
+ The '\raisebox' command raises or lowers TEXT. The first mandatory
+argument specifies how high TEXT is to be raised (or lowered if it is a
+negative amount). TEXT itself is processed in LR mode.
+
+ The optional arguments HEIGHT and DEPTH are dimensions. If they are
+specified, LaTeX treats TEXT as extending a certain distance above the
+baseline (height) or below (depth), ignoring its natural height and
+depth.
+
+
+File: latex2e.info, Node: \savebox, Next: \sbox, Prev: \raisebox, Up: Boxes
+
+21.7 '\savebox'
+===============
+
+Synopsis:
+
+ \savebox{\BOXCMD}[WIDTH][POS]{TEXT}
+
+ This command typeset TEXT in a box just as with '\makebox' (*note
+\makebox::), except that instead of printing the resulting box, it saves
+it in the box labeled \BOXCMD, which must have been declared with
+'\newsavebox' (*note \newsavebox::).
+
+
+File: latex2e.info, Node: \sbox, Next: \usebox, Prev: \savebox, Up: Boxes
+
+21.8 '\sbox{\BOXCMD}{TEXT}'
+===========================
+
+Synopsis:
+
+ \sbox{\BOXCMD}{TEXT}
+
+ '\sbox' types TEXT in a box just as with '\mbox' (*note \mbox::)
+except that instead of the resulting box being included in the normal
+output, it is saved in the box labeled \BOXCMD. \BOXCMD must have been
+previously declared with '\newsavebox' (*note \newsavebox::).
+
+
+File: latex2e.info, Node: \usebox, Prev: \sbox, Up: Boxes
+
+21.9 '\usebox{\BOXCMD'
+======================
+
+Synopsis:
+
+ \usebox{\BOXCMD}
+
+ '\usebox' producesthe box most recently saved in the bin \BOXCMD by a
+'\savebox' command (*note \savebox::).
+
+
+File: latex2e.info, Node: Special insertions, Next: Splitting the input, Prev: Boxes, Up: Top
+
+22 Special insertions
+*********************
+
+LaTeX provides commands for inserting characters that have a special
+meaning do not correspond to simple characters you can type.
+
+* Menu:
+
+* Reserved characters:: Inserting # $ % & ~ _ ^ \ { }
+* Text symbols:: Inserting other non-letter symbols in text.
+* Accents:: Inserting accents.
+* Non-English characters:: Inserting other non-English characters.
+* \rule:: Inserting lines and rectangles.
+* \today:: Inserting today's date.
+
+
+File: latex2e.info, Node: Reserved characters, Next: Text symbols, Up: Special insertions
+
+22.1 Reserved characters
+========================
+
+The following characters play a special role in LaTeX and are called
+"reserved characters" or "special characters".
+
+ # $ % & ~ _ ^ \ { }
+
+ Whenever you write one of these characters into your file, LaTeX will
+do something special. If you simply want the character to be printed as
+itself, include a '\' in front of the character. For example, '\$' will
+produce '$' in your output.
+
+ One exception to this rule is '\' itself, because '\\' has its own
+special (context-dependent) meaning. A roman \ is produced by typing
+'$\backslash$' in your file, and a typewriter '\' is produced by using
+'\' in a verbatim command (*note verbatim::).
+
+ Also, '\~' and '\^' place tilde and circumflex accents over the
+following letter, as in o~ and o^ (*note Accents::); to get a standalone
+'~' or '^', you can again use a verbatim command.
+
+ Finally, you can access any character of the current font once you
+know its number by using the '\symbol' command. For example, the
+visible space character used 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: latex2e.info, Node: Text symbols, Next: Accents, Prev: Reserved characters, Up: Special insertions
+
+22.2 Text symbols
+=================
+
+LaTeX provides commands to generate a number of non-letter symbols in
+running text. Some of these, especially the more obscure ones, are not
+available in OT1; you may need to load the 'textcomp' package.
+
+'\copyright'
+'\textcopyright'
+ The copyright symbol, (C).
+
+'\dag'
+ The dagger symbol (in text).
+
+'\ddag'
+ The double dagger symbol (in text).
+
+'\LaTeX'
+ The LaTeX logo.
+
+'\guillemotleft (<<)'
+'\guillemotright (>>)'
+'\guilsinglleft (<)'
+'\guilsinglright (>)'
+ Double and single angle quotation marks, commonly used in French:
+ <<, >>, <, >.
+
+'\ldots'
+'\dots'
+'\textellipsis'
+ An ellipsis (three dots at the baseline): '...'. '\ldots' and
+ '\dots' also work in math mode.
+
+'\lq'
+ Left (opening) quote: '.
+
+'\P'
+'\textparagraph'
+ Paragraph sign (pilcrow).
+
+'\pounds'
+'\textsterling'
+ English pounds sterling: #.
+
+'\quotedblbase (,,)'
+'\quotesinglbase (,)'
+ Double and single quotation marks on the baseline: ,, and ,.
+
+'\rq'
+ Right (closing) quote: '.
+
+'\S'
+ Section symbol.
+
+'\TeX'
+ The TeX logo.
+
+'\textasciicircum'
+ ASCII circumflex: ^.
+
+'\textasciitilde'
+ ASCII tilde: ~.
+
+'\textasteriskcentered'
+ Centered asterisk: *.
+
+'\textbackslash'
+ Backslash: \.
+
+'\textbar'
+ Vertical bar: |.
+
+'\textbardbl'
+ Double vertical bar.
+
+'\textbigcircle'
+ Big circle symbol.
+
+'\textbraceleft'
+ Left brace: {.
+
+'\textbraceright'
+ Right brace: }.
+
+'\textbullet'
+ Bullet: *.
+
+'\textcircled{LETTER}'
+ LETTER in a circle, as in (R).
+
+'\textcompwordmark'
+'\textcapitalwordmark'
+'\textascenderwordmark'
+ Composite word mark (invisible). The '\textcapital...' form has
+ the cap height of the font, while the '\textascender...' form has
+ the ascender height.
+
+'\textdagger'
+ Dagger: \dag.
+
+'\textdaggerdbl'
+ Double dagger: \ddag.
+
+'\textdollar (or '$')'
+ Dollar sign: $.
+
+'\textemdash (or '---')'
+ Em-dash: -- (for punctuation).
+
+'\textendash (or '--')'
+ En-dash: -- (for ranges).
+
+'\texteuro'
+ The Euro symbol: Euro.
+
+'\textexclamdown (or '!`')'
+ Upside down exclamation point: !.
+
+'\textgreater'
+ Greater than: >.
+
+'\textless'
+ Less than: <.
+
+'\textleftarrow'
+ Left arrow.
+
+'\textordfeminine'
+'\textordmasculine'
+ Feminine and masculine ordinal symbols: a, o.
+
+'\textperiodcentered'
+ Centered period: \cdot.
+
+'\textquestiondown (or '?`')'
+ Upside down questionation point: ?.
+
+'\textquotedblleft (or '``')'
+ Double left quote: ".
+
+'\textquotedblright (or ''')'
+ Double right quote: ".
+
+'\textquoteleft (or '`')'
+ Single left quote: '.
+
+'\textquoteright (or ''')'
+ Single right quote: '.
+
+'\textquotestraightbase'
+'\textquotestraightdblbase'
+ Single and double straight quotes on the baseline.
+
+'\textregistered'
+ Registered symbol: (R).
+
+'\textrightarrow'
+ Right arrow.
+
+'\textthreequartersemdash'
+ "Three-quarters" em-dash, between en-dash and em-dash.
+
+'\texttrademark'
+ Trademark symbol: ^{\hbox{TM}}.
+
+'\texttwelveudash'
+ "Two-thirds" em-dash, between en-dash and em-dash.
+
+'\textunderscore'
+ Underscore: _.
+
+'\textvisiblespace'
+ Visible space symbol.
+
+
+File: latex2e.info, Node: Accents, Next: Non-English characters, Prev: Text symbols, Up: Special insertions
+
+22.3 Accents
+============
+
+LaTeX has wide support for many of the world's scripts and languages,
+through the 'babel' package and related support. This section does not
+attempt to cover all that support. It merely lists the core LaTeX
+commands for creating accented characters.
+
+ The '\capital...' commands produce alternative forms for use with
+capital letters. These are not available with OT1.
+
+'\"'
+'\capitaldieresis'
+ Produces an umlaut (dieresis), as in o".
+
+'\''
+'\capitalacute'
+ Produces an acute accent, as in o'. In the 'tabbing' environment,
+ pushes current column to the right of the previous column (*note
+ tabbing::).
+
+'\.'
+ Produces a dot accent over the following, as in o..
+
+'\='
+'\capitalmacron'
+ Produces a macron (overbar) accent over the following, as in o=.
+
+'\^'
+'\capitalcircumflex'
+ Produces a circumflex (hat) accent over the following, as in o^.
+
+'\`'
+'\capitalgrave'
+ Produces a grave accent over the following, as in o`. In the
+ 'tabbing' environment, move following text to the right margin
+ (*note tabbing::).
+
+'\~'
+'\capitaltilde'
+ Produces a tilde accent over the following, as in n~.
+
+'\b'
+ Produces a bar accent under the following, as in o_.
+
+'\c'
+'\capitalcedilla'
+ Produces a cedilla accent under the following, as in c,.
+
+'\d'
+'\capitaldotaccent'
+ Produces a dot accent under the following, as in .o.
+
+'\H'
+'\capitalhungarumlaut'
+ Produces a long Hungarian umlaut accent over the following, as in
+ o''.
+
+'\i'
+ Produces a dotless i, as in 'i'.
+
+'\j'
+ Produces a dotless j, as in 'j'.
+
+'\k'
+'\capitalogonek'
+ Produces a letter with ogonek, as in 'o;'. Not available in the
+ OT1 encoding.
+
+'\r'
+'\capitalring'
+ Produces a ring accent, as in 'o*'.
+
+'\t'
+'\capitaltie'
+'\newtie'
+'\capitalnewtie'
+ Produces a tie-after accent, as in 'oo['. The '\newtie' form is
+ centered in its box.
+
+'\u'
+'\capitalbreve'
+ Produces a breve accent, as in 'o('.
+
+'\underbar'
+ Not exactly an accent, this produces a bar under the argument text.
+ The argument is always processed in horizontal mode. The bar is
+ always a fixed position under the baseline, thus crossing through
+ descenders. See also '\underline' in *note Math miscellany::.
+
+'\v'
+'\capitalcaron'
+ Produces a ha'c<ek (check, caron) accent, as in 'o<'.
+
+
+File: latex2e.info, Node: Non-English characters, Next: \rule, Prev: Accents, Up: Special insertions
+
+22.4 Non-English characters
+===========================
+
+Here are the basic LaTeX commands for inserting characters commonly used
+in languages other than English.
+
+'\aa'
+'\AA'
+ aa and AA.
+
+'\ae'
+'\AE'
+ ae and AE.
+
+'\dh'
+'\DH'
+ Icelandic letter eth: d and D.
+
+'\dj'
+'\DJ'
+ xxxx
+
+'\ij'
+'\IJ'
+ ij and IJ (except somewhat closer together than appears here).
+
+'\l'
+'\L'
+ /l and /L.
+
+'\ng'
+'\NG'
+ xxxx
+
+'\o'
+'\O'
+ /o and /O.
+
+'\oe'
+'\OE'
+ oe and OE.
+
+'\ss'
+'\SS'
+ ss and SS.
+
+'\th'
+'\TH'
+ Icelandic letter thorn: th and TH.
+
+
+File: latex2e.info, Node: \rule, Next: \today, Prev: Non-English characters, Up: Special insertions
+
+22.5 '\rule'
+============
+
+Synopsis:
+
+ \rule[RAISE]{WIDTH}{THICKNESS}
+
+ The '\rule' command produces "rules", that is, lines or rectangles.
+The arguments are:
+
+RAISE
+ How high to raise the rule (optional).
+
+WIDTH
+ The length of the rule (mandatory).
+
+THICKNESS
+ The thickness of the rule (mandatory).
+
+
+File: latex2e.info, Node: \today, Prev: \rule, Up: Special insertions
+
+22.6 '\today'
+=============
+
+The '\today' command produces today's date, in the format 'MONTH DD,
+YYYY'; for example, 'July 4, 1976'. It uses the predefined counters
+'\day', '\month', and '\year' (*note \day \month \year::) to do this.
+It is not updated as the program runs.
+
+ The 'datetime' package, among others, can produce a wide variety of
+other date formats.
+
+
+File: latex2e.info, Node: Splitting the input, Next: Front/back matter, Prev: Special insertions, Up: Top
+
+23 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: latex2e.info, Node: \include, Next: \includeonly, Up: Splitting the input
+
+23.1 '\include'
+===============
+
+Synopsis:
+
+ \include{FILE}
+
+ If no '\includeonly' command is present, the '\include' command
+executes '\clearpage' to start a new page (*note \clearpage::), then
+reads FILE, then does another '\clearpage'.
+
+ Given an '\includeonly' command, the '\include' actions are only run
+if FILE is listed as an argument to '\includeonly'. See the next
+section.
+
+ The '\include' command may not appear in the preamble or in a file
+read by another '\include' command.
+
+
+File: latex2e.info, Node: \includeonly, Next: \input, Prev: \include, Up: Splitting the input
+
+23.2 \'includeonly'
+===================
+
+Synopsis:
+
+ \includeonly{FILE1,FILE2,...}
+
+ The '\includeonly' command controls which files will be read by
+subsequent '\include' commands. The list of filenames is
+comma-separated. Each FILE must exactly match a filename specified in a
+'\include' command for the selection to be effective.
+
+ This command can only appear in the preamble.
+
+
+File: latex2e.info, Node: \input, Prev: \includeonly, Up: Splitting the input
+
+23.3 \input
+===========
+
+Synopsis:
+
+ \input{FILE}
+
+ The '\input' command causes the specified FILE to be read and
+processed, as if its contents had been inserted in the current file at
+that point.
+
+ If FILE does not end in '.tex' (e.g., 'foo' or 'foo.bar'), it is
+first tried with that extension ('foo.tex' or 'foo.bar.tex'). If that
+is not found, the original FILE is tried ('foo' or 'foo.bar').
+
+
+File: latex2e.info, Node: Front/back matter, Next: Letters, Prev: Splitting the input, Up: Top
+
+24 Front/back matter
+********************
+
+* Menu:
+
+* Tables of contents::
+* Glossaries::
+* Indexes::
+
+
+File: latex2e.info, Node: Tables of contents, Next: Glossaries, Up: Front/back matter
+
+24.1 Tables 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. A previous run must have generated a
+'.toc' file.
+
+ The '\tableofcontents' command produces a heading, but it does not
+automatically start a new page. If you want a new page after the table
+of contents, write a '\newpage' command after the '\tableofcontents'
+command.
+
+ The analogous commands '\listoffigures' and '\listoftables' produce a
+list of figures and a list of tables, respectively. Everything works
+exactly the same as for the table of contents.
+
+ The command '\nofiles' overrides these commands, and _prevents_ any
+of these lists from being generated.
+
+* Menu:
+
+* \addcontentsline:: Add an entry to table of contents etc.
+* \addtocontents:: Add text directly to table of contents file etc.
+
+
+File: latex2e.info, Node: \addcontentsline, Next: \addtocontents, Up: Tables of contents
+
+24.1.1 \addcontentsline
+-----------------------
+
+The '\addcontentsline'{EXT}{UNIT}{TEXT} command adds an entry to the
+specified list or table where:
+
+EXT
+ The extension of the file on which information is to be written,
+ typically one of: 'toc' (table of contents), 'lof' (list of
+ figures), or 'lot' (list of tables).
+
+UNIT
+ The name of the sectional unit being added, typically one of the
+ following, matching the value of the EXT argument:
+
+ 'toc'
+ The name of the sectional unit: 'part', 'chapter', 'section',
+ 'subsection', 'subsubsection'.
+ 'lof'
+ For the list of figures.
+ 'lot'
+ For the list of tables.
+
+ENTRY
+ The actual text of the entry.
+
+ What is written to the '.EXT' file is the command
+'\contentsline{UNIT}{NAME}'.
+
+
+File: latex2e.info, Node: \addtocontents, Prev: \addcontentsline, Up: Tables of contents
+
+24.1.2 \addtocontents
+---------------------
+
+The '\addtocontents'{EXT}{TEXT} command adds text (or formatting
+commands) directly to the '.EXT' file that generates the table of
+contents or lists of figures or tables.
+
+EXT
+ 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
+ The text to be written.
+
+
+File: latex2e.info, Node: Glossaries, Next: Indexes, Prev: Tables of contents, Up: Front/back matter
+
+24.2 Glossaries
+===============
+
+The command '\makeglossary' enables creating glossaries.
+
+ The command '\glossary{TEXT}' writes a glossary entry for TEXT to an
+auxiliary file with the '.glo' extension.
+
+ Specifically, what gets written is the command
+'\glossaryentry{TEXT}{PAGENO}', where PAGENO is the current '\thepage'
+value.
+
+ The 'glossary' package on CTAN provides support for fancier
+glossaries.
+
+
+File: latex2e.info, Node: Indexes, Prev: Glossaries, Up: Front/back matter
+
+24.3 Indexes
+============
+
+The command '\makeindex' enables creating indexes. Put this in the
+preamble.
+
+ The command '\index{TEXT}' writes an index entry for TEXT to an
+auxiliary file with the '.idx' extension.
+
+ Specifically, what gets written is the command
+'\indexentry{TEXT}{PAGENO}', where PAGENO is the current '\thepage'
+value.
+
+ To generate a index entry for 'bar' that says 'See foo', use a
+vertical bar: '\index{bar|see{foo}}'. Use 'seealso' instead of 'see' to
+make a 'See also' entry.
+
+ The text 'See' is defined by the macro '\seename', and 'See also' by
+the macro '\alsoname'. These can be redefined for other languages.
+
+ The generated '.idx' file is then sorted with an external command,
+usually either 'makeindex' ('http://mirror.ctan.org/indexing/makeindex')
+or (the multi-lingual) 'xindy' ('http://xindy.sourceforge.net'). This
+results in a '.ind' file, which can then be read to typeset the index.
+
+ The index is usually generated with the '\printindex' command. This
+is defined in the 'makeidx' package, so '\usepackage{makeidx}' needs to
+be in the preamble.
+
+ The rubber length '\indexspace' is inserted before each new letter in
+the printed index; its default value is '10pt plus5pt minus3pt'.
+
+ The 'showidx' package causes each index entries to be shown in the
+margin on the page where the entry appears. This can help in preparing
+the index.
+
+ The 'multind' package supports multiple indexes. See also the TeX
+FAQ entry on this topic,
+'http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind'.
+
+
+File: latex2e.info, Node: Letters, Next: Terminal input/output, Prev: Front/back matter, Up: Top
+
+25 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: latex2e.info, Node: \address, Next: \cc, Up: Letters
+
+25.1 \address{RETURN-ADDRESS}
+=============================
+
+The '\address' specifies the return address of a letter, 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: latex2e.info, Node: \cc, Next: \closing, Prev: \address, Up: Letters
+
+25.2 '\cc'
+==========
+
+Synopsis:
+
+ \cc{NAME1\\NAME2}
+
+ Produce a list of NAMEs the letter was copied to. Each name is
+printed on a separate line.
+
+
+File: latex2e.info, Node: \closing, Next: \encl, Prev: \cc, Up: Letters
+
+25.3 '\closing'
+===============
+
+Synopsis:
+
+ \closing{text}
+
+ A letter closes with a '\closing' command, for example,
+ \closing{Best Regards,}
+
+
+File: latex2e.info, Node: \encl, Next: \location, Prev: \closing, Up: Letters
+
+25.4 '\encl'
+============
+
+Synopsis:
+
+ \encl{LINE1\\LINE2}
+
+ Declare a list of one more enclosures.
+
+
+File: latex2e.info, Node: \location, Next: \makelabels, Prev: \encl, Up: Letters
+
+25.5 '\location'
+================
+
+'\location{address}'
+
+ This modifies your organisation's standard address. This only
+appears if the 'firstpage' pagestyle is selected.
+
+
+File: latex2e.info, Node: \makelabels, Next: \name, Prev: \location, Up: Letters
+
+25.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: latex2e.info, Node: \name, Next: \opening, Prev: \makelabels, Up: Letters
+
+25.7 '\name'
+============
+
+'\name{June Davenport}'
+
+ Your name, used for printing on the envelope together with the return
+address.
+
+
+File: latex2e.info, Node: \opening, Next: \ps, Prev: \name, Up: Letters
+
+25.8 '\opening{TEXT}'
+=====================
+
+Synopsis:
+
+ \opening{TEXT}
+
+ A letter begins with the '\opening' command. The mandatory argument,
+TEXT, is whatever text you wish to start your letter. For instance:
+
+ \opening{Dear Joe,}
+
+
+File: latex2e.info, Node: \ps, Next: \signature, Prev: \opening, Up: Letters
+
+25.9 '\ps'
+==========
+
+Use the '\ps' command to start a postscript in a letter, after
+'\closing'.
+
+
+File: latex2e.info, Node: \signature, Next: \startbreaks, Prev: \ps, Up: Letters
+
+25.10 '\signature{TEXT}'
+========================
+
+Your name, as it should appear at the end of the letter underneath the
+space for your signature. '\\' starts a new line within TEXT as usual.
+
+
+File: latex2e.info, Node: \startbreaks, Next: \stopbreaks, Prev: \signature, Up: Letters
+
+25.11 '\startbreaks'
+====================
+
+'\startbreaks'
+
+ Used after a '\stopbreaks' command to allow page breaks again.
+
+
+File: latex2e.info, Node: \stopbreaks, Next: \telephone, Prev: \startbreaks, Up: Letters
+
+25.12 '\stopbreaks'
+===================
+
+'\stopbreaks'
+
+ Inhibit page breaks until a '\startbreaks' command occurs.
+
+
+File: latex2e.info, Node: \telephone, Prev: \stopbreaks, Up: Letters
+
+25.13 '\telephone'
+==================
+
+'\telephone{number}'
+
+ This is your telephone number. This only appears if the 'firstpage'
+pagestyle is selected.
+
+
+File: latex2e.info, Node: Terminal input/output, Next: Command line, Prev: Letters, Up: Top
+
+26 Terminal input/output
+************************
+
+* Menu:
+
+* \typein:: Read text from the terminal.
+* \typeout:: Write text to the terminal.
+
+
+File: latex2e.info, Node: \typein, Next: \typeout, Up: Terminal input/output
+
+26.1 '\typein[CMD]{MSG}'
+========================
+
+Synopsis:
+
+ \typein[\CMD]{MSG}
+
+ '\typein' 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
+optional \CMD argument is omitted, 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: latex2e.info, Node: \typeout, Prev: \typein, Up: Terminal input/output
+
+26.2 '\typeout{MSG}'
+====================
+
+Synopsis:
+
+ \typeout{MSG}
+
+ Prints 'msg' on the terminal and in the 'log' file. Commands in
+'msg' that are defined with '\newcommand' or '\renewcommand' (among
+others) 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, independent of
+surrounding spaces. A '^^J' in 'msg' prints a newline.
+
+
+File: latex2e.info, Node: Command line, Next: Document templates, Prev: Terminal input/output, Up: Top
+
+27 Command line
+***************
+
+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 '\nonstopmode\input foo.tex'
+
+will process 'foo.tex' without pausing after every error.
+
+ If LaTeX stops in the middle of the document and gives you a '*'
+prompt, it is waiting for input. You can type '\stop' (and return) and
+it will prematurely end the document.
+
+
+File: latex2e.info, Node: Document templates, Next: Concept Index, Prev: Command line, Up: Top
+
+Appendix A Document templates
+*****************************
+
+Although not reference material, perhaps these document templates will
+be useful. Additional template resources are listed
+'http://tug.org/interest.html#latextemplates'.
+
+* Menu:
+
+* book template::
+* beamer template::
+* tugboat template::
+
+
+File: latex2e.info, Node: book template, Next: beamer template, Up: Document templates
+
+A.1 'book' template
+===================
+
+\documentclass{book}
+\title{Book Class Template}
+\author{Alex Author}
+
+\begin{document}
+\maketitle
+
+\chapter{First}
+Some text.
+
+\chapter{Second}
+Some other text.
+
+\section{A subtopic}
+The end.
+\end{document}
+
+
+File: latex2e.info, Node: beamer template, Next: tugboat template, Prev: book template, Up: Document templates
+
+A.2 'beamer' template
+=====================
+
+The 'beamer' class creates slides presentations.
+
+\documentclass{beamer}
+
+\title{Beamer Class template}
+\author{Alex Author}
+\date{July 31, 2007}
+
+\begin{document}
+
+\maketitle
+
+% without [fragile], any {verbatim} code gets mysterious errors.
+\begin{frame}[fragile]
+ \frametitle{First Slide}
+
+\begin{verbatim}
+ This is \verbatim!
+\end{verbatim}
+
+\end{frame}
+
+\end{document}
+
+
+
+File: latex2e.info, Node: tugboat template, Prev: beamer template, Up: Document templates
+
+A.3 'tugboat' template
+======================
+
+'TUGboat' is the journal of the TeX Users Group,
+'http://tug.org/TUGboat'.
+
+\documentclass{ltugboat}
+\usepackage{graphicx}
+\usepackage{ifpdf}
+\ifpdf
+\usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,
+ urlcolor=black]{hyperref}
+\else
+\usepackage{url}
+\fi
+
+\title{Example \TUB\ article}
+
+% repeat info for each author.
+\author{First Last}
+\address{Street Address \\ Town, Postal \\ Country}
+\netaddress{user (at) example dot org}
+\personalURL{http://example.org/~user/}
+
+\begin{document}
+
+\maketitle
+
+\begin{abstract}
+This is an example article for \TUB{}.
+\end{abstract}
+
+\section{Introduction}
+
+This is an example article for \TUB, from
+\url{http://tug.org/TUGboat/location.html}.
+
+We recommend the graphicx package for image inclusions, and the
+hyperref package for active url's (in the \acro{PDF} output).
+Nowadays \TUB\ is produced using \acro{PDF} files exclusively.
+
+The \texttt{ltugboat} class provides these abbreviations and many more:
+
+% verbatim blocks are often better in \small
+\begin{verbatim}[\small]
+\AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW
+\BibTeX \CTAN \DTD \HTML
+\ISBN \ISSN \LaTeXe
+\Mc \mf \MFB \mtex \PCTeX \pcTeX
+\PiC \PiCTeX \plain \POBox \PS
+\SC \SGML \SliTeX \TANGLE \TB \TP
+\TUB \TUG \tug
+\UG \UNIX \VAX \XeT \WEB \WEAVE
+
+\Dash \dash \vellipsis \bull \cents \Dag
+\careof \thinskip
+
+\acro{FRED} -> {\small[er] fred} % please use!
+\cs{fred} -> \fred
+\env{fred} -> \begin{fred}
+\meta{fred} -> <fred>
+\nth{n} -> 1st, 2nd, ...
+\sfrac{3/4} -> 3/4
+\booktitle{Book of Fred}
+\end{verbatim}
+
+For more information, see the ltubguid document at:
+\url{http://mirror.ctan.org/macros/latex/contrib/tugboat}
+(we recommend using \verb|mirror.ctan.org| for \CTAN\ references).
+
+Email \verb|tugboat@tug.org| if problems or questions.
+
+\bibliographystyle{plain} % we recommend the plain bibliography style
+\nocite{book-minimal} % just making the bibliography non-empty
+\bibliography{xampl} % xampl.bib comes with BibTeX
+
+\makesignature
+\end{document}
+
+
+File: latex2e.info, Node: Concept Index, Next: Command Index, Prev: Document templates, Up: Top
+
+Concept Index
+*************
+
+
+* Menu:
+
+* '*' prompt: Command line. (line 15)
+* *-form of sectioning commands: Sectioning. (line 31)
+* '.glo' file: Glossaries. (line 8)
+* '.idx' file: Indexes. (line 9)
+* '.ind' file: Indexes. (line 23)
+* 'see' and 'see also' index entries: Indexes. (line 16)
+* abstracts: abstract. (line 6)
+* accents: Accents. (line 6)
+* accents, mathematical: Math accents. (line 6)
+* accessing any character of a font: Reserved characters. (line 25)
+* acute accent: Accents. (line 20)
+* acute accent, math: Math accents. (line 11)
+* ae ligature: Non-English characters.
+ (line 15)
+* align environment, from 'amsmath': eqnarray. (line 6)
+* aligning equations: eqnarray. (line 6)
+* alignment via tabbing: tabbing. (line 6)
+* amsmath package, replacing 'eqnarray': eqnarray. (line 6)
+* appendix, creating: Sectioning. (line 37)
+* aring: Non-English characters.
+ (line 11)
+* arrays, math: array. (line 6)
+* arrow, left, in text: Text symbols. (line 128)
+* arrow, right, in text: Text symbols. (line 160)
+* ascender height: Text symbols. (line 96)
+* ASCII circumflex, in text: Text symbols. (line 61)
+* ASCII tilde, in text: Text symbols. (line 64)
+* asterisk, centered, in text: Text symbols. (line 67)
+* author, for titlepage: \maketitle. (line 12)
+* auxiliary file: Overview. (line 45)
+* backslash, in text: Text symbols. (line 70)
+* bar, double vertical, in text: Text symbols. (line 76)
+* bar, vertical, in text: Text symbols. (line 73)
+* bar-over accent: Accents. (line 29)
+* bar-over accent, math: Math accents. (line 14)
+* bar-under accent: Accents. (line 46)
+* basics of LaTeX: Overview. (line 8)
+* bibliography, creating (automatically): Using BibTeX. (line 6)
+* bibliography, creating (manually): thebibliography. (line 6)
+* bibTeX, using: Using BibTeX. (line 6)
+* big circle symbols, in text: Text symbols. (line 79)
+* black boxes, omitting: Document class options.
+ (line 27)
+* bold font: Font styles. (line 74)
+* bold typewriter, avoiding: description. (line 18)
+* boxes: Boxes. (line 6)
+* brace, left, in text: Text symbols. (line 82)
+* brace, right, in text: Text symbols. (line 85)
+* breaking lines: Line breaking. (line 6)
+* breaking pages: Page breaking. (line 6)
+* breve accent: Accents. (line 85)
+* breve accent, math: Math accents. (line 17)
+* bug reporting: About this document. (line 13)
+* bullet symbol: Math symbols. (line 87)
+* bullet, in text: Text symbols. (line 88)
+* bulleted lists: itemize. (line 6)
+* calligraphic letters for math: Font styles. (line 77)
+* cap height: Text symbols. (line 96)
+* caron accent: Accents. (line 95)
+* case sensitivity of LaTeX: Overview. (line 57)
+* cc list, in letters: \cc. (line 6)
+* cedilla accent: Accents. (line 50)
+* centered asterisk, in text: Text symbols. (line 67)
+* centered period, in text: Text symbols. (line 135)
+* centering text, declaration for: \centering. (line 6)
+* centering text, environment for: center. (line 6)
+* characters, accented: Accents. (line 6)
+* characters, non-English: Non-English characters.
+ (line 6)
+* characters, reserved: Reserved characters. (line 6)
+* check accent: Accents. (line 95)
+* check accent, math: Math accents. (line 20)
+* circle symbol, big, in text: Text symbols. (line 79)
+* circled letter, in text: Text symbols. (line 91)
+* circumflex accent: Accents. (line 33)
+* circumflex accent, math: Math accents. (line 32)
+* circumflex, ASCII, in text: Text symbols. (line 61)
+* class options: Document class options.
+ (line 6)
+* classes of documents: Document classes. (line 6)
+* closing letters: \closing. (line 6)
+* closing quote: Text symbols. (line 52)
+* code, typesetting: verbatim. (line 6)
+* command line: Command line. (line 6)
+* commands, defining new ones: \newcommand & \renewcommand.
+ (line 6)
+* composite word mark, in text: Text symbols. (line 96)
+* computer programs, typesetting: verbatim. (line 6)
+* copyright symbol: Text symbols. (line 12)
+* counters, a list of: Counters. (line 6)
+* counters, defining new: \newcounter. (line 6)
+* counters, getting 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)
+* credit footnote: \maketitle. (line 22)
+* cross references: Cross references. (line 6)
+* cross referencing with page number: \pageref. (line 6)
+* cross referencing, symbolic: \ref. (line 6)
+* currency, dollar: Text symbols. (line 107)
+* currency, euro: Text symbols. (line 116)
+* dagger, double, in text: Text symbols. (line 104)
+* dagger, in text: Text symbols. (line 15)
+* dagger, in text <1>: Text symbols. (line 101)
+* date, for titlepage: \maketitle. (line 18)
+* 'datetime' package: \today. (line 11)
+* defining a new command: \newcommand & \renewcommand.
+ (line 6)
+* defining new environments: \newenvironment & \renewenvironment.
+ (line 6)
+* defining new fonts: \newfont. (line 6)
+* defining new theorems: \newtheorem. (line 6)
+* definitions: Definitions. (line 6)
+* description lists, creating: description. (line 6)
+* dieresis accent: Accents. (line 16)
+* discretionary multiplication: Math miscellany. (line 7)
+* displaying quoted text with paragraph indentation: quotation.
+ (line 6)
+* displaying quoted text without paragraph indentation: quote.
+ (line 6)
+* document class options: Document class options.
+ (line 6)
+* document classes: Document classes. (line 6)
+* document templates: Document templates. (line 6)
+* dollar sign: Text symbols. (line 107)
+* dot accent: Accents. (line 25)
+* dot over accent, math: Math accents. (line 26)
+* dot-over accent: Accents. (line 25)
+* dot-under accent: Accents. (line 54)
+* dotless i: Accents. (line 62)
+* dotless i, math: Math accents. (line 35)
+* dotless j: Accents. (line 65)
+* dotless j, math: Math accents. (line 38)
+* double angle quotation marks: Text symbols. (line 27)
+* double dagger, in text: Text symbols. (line 18)
+* double dagger, in text <1>: Text symbols. (line 104)
+* double dot accent, math: Math accents. (line 23)
+* double guillemets: Text symbols. (line 27)
+* double left quote: Text symbols. (line 141)
+* double low-9 quotation mark: Text symbols. (line 49)
+* double quote, straight base: Text symbols. (line 154)
+* double right quote: Text symbols. (line 144)
+* double spacing: Low-level font commands.
+ (line 52)
+* double vertical bar, in text: Text symbols. (line 76)
+* e-dash: Text symbols. (line 113)
+* ellipsis: Text symbols. (line 33)
+* em-dash: Text symbols. (line 110)
+* em-dash, three-quarters: Text symbols. (line 163)
+* em-dash, two-thirds: Text symbols. (line 169)
+* emphasis: Font styles. (line 27)
+* emphasis <1>: Font styles. (line 80)
+* enclosure list: \encl. (line 6)
+* ending & starting: Starting & ending. (line 6)
+* enlarge current page: \enlargethispage. (line 6)
+* environments: Environments. (line 6)
+* environments, defining: \newenvironment & \renewenvironment.
+ (line 6)
+* equation number, cross referencing: \ref. (line 6)
+* equation numbers, omitting: eqnarray. (line 29)
+* equations, aligning: eqnarray. (line 6)
+* equations, environment for: equation. (line 6)
+* es-zet German letter: Non-English characters.
+ (line 47)
+* eth, Icelandic letter: Non-English characters.
+ (line 19)
+* euro symbol: Text symbols. (line 116)
+* exclamation point, upside-down: Text symbols. (line 119)
+* exponent: Subscripts & superscripts.
+ (line 6)
+* feminine ordinal symbol: Text symbols. (line 132)
+* figure number, cross referencing: \ref. (line 6)
+* figures, footnotes in: minipage. (line 21)
+* figures, inserting: figure. (line 6)
+* fixed-width font: Font styles. (line 98)
+* 'float' package: figure. (line 34)
+* 'float' package <1>: figure. (line 38)
+* flushing floats and starting a page: \clearpage. (line 6)
+* font commands, low-level: Low-level font commands.
+ (line 6)
+* font sizes: Font sizes. (line 6)
+* font styles: Font styles. (line 6)
+* fonts: Typefaces. (line 6)
+* fonts, new commands for: \newfont. (line 6)
+* footer style: \pagestyle. (line 6)
+* footer, parameters for: Page layout parameters.
+ (line 6)
+* footnote number, cross referencing: \ref. (line 6)
+* footnote parameters: Footnote parameters. (line 6)
+* footnotes in figures: minipage. (line 21)
+* footnotes, creating: Footnotes. (line 6)
+* footnotes, symbolic instead of numbered: Symbolic footnotes.
+ (line 6)
+* formulas, environment for: equation. (line 6)
+* formulas, math: Math formulas. (line 6)
+* fragile commands: \protect. (line 6)
+* French quotation marks: Text symbols. (line 27)
+* functions, math: Math functions. (line 6)
+* global options: Document class options.
+ (line 6)
+* global options <1>: Document class options.
+ (line 76)
+* glossaries: Glossaries. (line 6)
+* grave accent: Accents. (line 37)
+* grave accent, math: Math accents. (line 29)
+* greater than symbol, in text: Text symbols. (line 122)
+* greek letters: Math symbols. (line 6)
+* ha'c<ek accent, math: Math accents. (line 20)
+* hacek accent: Accents. (line 95)
+* hat accent: Accents. (line 33)
+* hat accent, math: Math accents. (line 32)
+* header style: \pagestyle. (line 6)
+* header, parameters for: Page layout parameters.
+ (line 6)
+* here, putting floats: figure. (line 38)
+* hungarian umlaut accent: Accents. (line 58)
+* hyphenation, defining: \hyphenation. (line 6)
+* hyphenation, forcing: \- (hyphenation). (line 6)
+* hyphenation, preventing: \mbox. (line 6)
+* Icelandic eth: Non-English characters.
+ (line 19)
+* Icelandic thorn: Non-English characters.
+ (line 51)
+* ij letter, Dutch: Non-English characters.
+ (line 27)
+* in-line formulas: math. (line 6)
+* indent, forcing: \indent. (line 6)
+* indent, suppressing: \noindent. (line 6)
+* indentation of paragraphs, in minipage: minipage. (line 17)
+* indexes: Indexes. (line 6)
+* input file: Splitting the input. (line 6)
+* input/output: Terminal input/output.
+ (line 6)
+* inserting figures: figure. (line 6)
+* italic font: Font styles. (line 83)
+* justification, ragged left: \raggedleft. (line 6)
+* justification, ragged right: \raggedright. (line 6)
+* Knuth, Donald E.: About this document. (line 6)
+* labelled lists, creating: description. (line 6)
+* Lamport, Leslie: About this document. (line 6)
+* LaTeX logo: Text symbols. (line 21)
+* LaTeX overview: Overview. (line 8)
+* LaTeX Project team: About this document. (line 6)
+* layout commands: Layout. (line 6)
+* layout, page parameters for: Page layout parameters.
+ (line 6)
+* left angle quotation marks: Text symbols. (line 27)
+* left arrow, in text: Text symbols. (line 128)
+* left brace, in text: Text symbols. (line 82)
+* left quote: Text symbols. (line 37)
+* left quote, double: Text symbols. (line 141)
+* left quote, single: Text symbols. (line 147)
+* 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 and using: Lengths. (line 6)
+* lengths, defining new: \newlength. (line 6)
+* lengths, predefined: Predefined lengths. (line 6)
+* lengths, setting: \setlength. (line 6)
+* less than symbol, in text: Text symbols. (line 125)
+* letters: Letters. (line 6)
+* letters, accented: Accents. (line 6)
+* letters, ending: \closing. (line 6)
+* letters, non-English: Non-English characters.
+ (line 6)
+* letters, starting: \opening. (line 6)
+* line break, forcing: \\. (line 6)
+* line breaking: Line breaking. (line 6)
+* line breaks, forcing: \linebreak & \nolinebreak.
+ (line 6)
+* line breaks, preventing: \linebreak & \nolinebreak.
+ (line 6)
+* lines in tables: tabular. (line 6)
+* lining text up in tables: tabular. (line 6)
+* lining text up using tab stops: tabbing. (line 6)
+* list items, specifying counter: \usecounter. (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 class options.
+ (line 69)
+* log file: Overview. (line 41)
+* logo, LaTeX: Text symbols. (line 21)
+* logo, TeX: Text symbols. (line 58)
+* low-9 quotation marks, single and double: Text symbols. (line 49)
+* low-level font commands: Low-level font commands.
+ (line 6)
+* lR mode: Modes. (line 6)
+* LuaTeX: Overview. (line 32)
+* macron accent: Accents. (line 29)
+* macron accent, math: Math accents. (line 14)
+* Madsen, Lars: eqnarray. (line 6)
+* 'makeidx' package: Indexes. (line 28)
+* 'makeindex' program: Indexes. (line 23)
+* making a title page: titlepage. (line 6)
+* making paragraphs: Making paragraphs. (line 6)
+* marginal notes: Marginal notes. (line 6)
+* masculine ordinal symbol: Text symbols. (line 132)
+* math accents: Math accents. (line 6)
+* math formulas: Math formulas. (line 6)
+* math functions: Math functions. (line 6)
+* math miscellany: Math miscellany. (line 6)
+* math mode: Modes. (line 6)
+* math mode, entering: Math formulas. (line 6)
+* math mode, spacing: Spacing in math mode.
+ (line 6)
+* math symbols: Math symbols. (line 6)
+* minipage, creating a: minipage. (line 6)
+* modes: Modes. (line 6)
+* monospace font: Font styles. (line 98)
+* moving arguments: \protect. (line 6)
+* multicolumn text: \twocolumn. (line 6)
+* 'multind' package: Indexes. (line 39)
+* multiplication symbol, discretionary line break: Math miscellany.
+ (line 7)
+* nested '\include', not allowed: \include. (line 18)
+* new commands, defining: \newcommand & \renewcommand.
+ (line 6)
+* new line, output as input: \obeycr & \restorecr.
+ (line 6)
+* new line, starting: \\. (line 6)
+* new line, starting (paragraph mode): \newline. (line 6)
+* new page, starting: \newpage. (line 6)
+* non-English characters: Non-English characters.
+ (line 6)
+* notes in the margin: Marginal notes. (line 6)
+* null delimiter: Math miscellany. (line 21)
+* numbered items, specifying counter: \usecounter. (line 6)
+* oblique font: Font styles. (line 95)
+* oe ligature: Non-English characters.
+ (line 43)
+* ogonek: Accents. (line 69)
+* one-column output: \onecolumn. (line 6)
+* opening quote: Text symbols. (line 37)
+* options, document class: Document class options.
+ (line 6)
+* options, global: Document class options.
+ (line 76)
+* ordinals, feminine and masculine: Text symbols. (line 132)
+* oslash: Non-English characters.
+ (line 39)
+* overbar accent: Accents. (line 29)
+* overdot accent, math: Math accents. (line 26)
+* overview of LaTeX: Overview. (line 8)
+* packages, loading: Document class options.
+ (line 69)
+* page break, forcing: \pagebreak & \nopagebreak.
+ (line 6)
+* page break, preventing: \pagebreak & \nopagebreak.
+ (line 6)
+* page breaking: Page breaking. (line 6)
+* page layout parameters: Page layout parameters.
+ (line 6)
+* page number, cross referencing: \pageref. (line 6)
+* page numbering style: \pagenumbering. (line 6)
+* page styles: Page styles. (line 6)
+* paragraph indentation, in minipage: minipage. (line 17)
+* paragraph indentations in quoted text: quotation. (line 6)
+* paragraph indentations in quoted text, omitting: quote. (line 6)
+* paragraph mode: Modes. (line 6)
+* paragraph symbol: Text symbols. (line 41)
+* paragraphs: Making paragraphs. (line 6)
+* parameters, for footnotes: Footnote parameters. (line 6)
+* parameters, page layout: Page layout parameters.
+ (line 6)
+* pdfTeX: Overview. (line 26)
+* period, centered, in text: Text symbols. (line 135)
+* pictures, creating: picture. (line 6)
+* pilcrow: Text symbols. (line 41)
+* placement of floats: figure. (line 19)
+* poetry, an environment for: verse. (line 6)
+* polish l: Non-English characters.
+ (line 31)
+* postscript, in letters: \ps. (line 6)
+* pounds symbol: Text symbols. (line 45)
+* preamble, defined: Starting & ending. (line 17)
+* predefined lengths: Predefined lengths. (line 6)
+* prompt, '*': Command line. (line 15)
+* questionation point, upside-down: Text symbols. (line 138)
+* quotation marks, French: Text symbols. (line 27)
+* quote, straight base: Text symbols. (line 154)
+* quoted text with paragraph indentation, displaying: quotation.
+ (line 6)
+* quoted text without paragraph indentation, 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)
+* redefining environments: \newenvironment & \renewenvironment.
+ (line 6)
+* registered symbol: Text symbols. (line 157)
+* remarks in the margin: Marginal notes. (line 6)
+* reporting bugs: About this document. (line 13)
+* reserved characters: Reserved characters. (line 6)
+* right angle quotation marks: Text symbols. (line 27)
+* right arrow, in text: Text symbols. (line 160)
+* right brace, in text: Text symbols. (line 85)
+* right quote: Text symbols. (line 52)
+* right quote, double: Text symbols. (line 144)
+* right quote, single: Text symbols. (line 150)
+* right-justifying text: \raggedleft. (line 6)
+* right-justifying text, environment for: flushright. (line 6)
+* ring accent: Accents. (line 74)
+* ring accent, math: Math accents. (line 41)
+* robust commands: \protect. (line 16)
+* roman font: Font styles. (line 86)
+* running header and footer: Page layout parameters.
+ (line 6)
+* running header and footer style: \pagestyle. (line 6)
+* sans serif font: Font styles. (line 92)
+* script letters for math: Font styles. (line 77)
+* section number, cross referencing: \ref. (line 6)
+* section numbers, printing: Sectioning. (line 47)
+* section symbol: Text symbols. (line 55)
+* sectioning: Sectioning. (line 6)
+* 'setspace' package: Low-level font commands.
+ (line 52)
+* setting counters: \setcounter. (line 6)
+* sharp S letters: Non-English characters.
+ (line 47)
+* 'showidx' package: Indexes. (line 35)
+* simulating typed text: verbatim. (line 6)
+* single angle quotation marks: Text symbols. (line 27)
+* single guillemets: Text symbols. (line 27)
+* single left quote: Text symbols. (line 147)
+* single low-9 quotation mark: Text symbols. (line 49)
+* single right quote: Text symbols. (line 150)
+* sizes of text: Font sizes. (line 6)
+* slanted font: Font styles. (line 95)
+* small caps font: Font styles. (line 89)
+* space, inserting vertical: \addvspace. (line 6)
+* spaces: Spaces. (line 6)
+* spacing within math mode: Spacing in math mode.
+ (line 6)
+* Spanish ordinals, feminine and masculine: Text symbols. (line 132)
+* special characters: Non-English characters.
+ (line 6)
+* specifier, float placement: figure. (line 19)
+* splitting the input file: Splitting the input. (line 6)
+* starting & ending: Starting & ending. (line 6)
+* starting a new page: \newpage. (line 6)
+* starting a new page and clearing floats: \clearpage. (line 6)
+* starting on a right-hand page: \cleardoublepage. (line 6)
+* sterling symbol: Text symbols. (line 45)
+* straight double quote, base: Text symbols. (line 154)
+* straight quote, base: Text symbols. (line 154)
+* stretch, omitting vertical: \raggedbottom. (line 6)
+* styles of text: Font styles. (line 6)
+* styles, page: Page styles. (line 6)
+* subscript: Subscripts & superscripts.
+ (line 6)
+* superscript: Subscripts & superscripts.
+ (line 6)
+* symbols, math: Math symbols. (line 6)
+* tab stops, using: tabbing. (line 6)
+* table of contents entry, manually adding: \addcontentsline. (line 6)
+* table of contents, creating: Tables of contents. (line 6)
+* tables, creating: table. (line 6)
+* terminal input/output: Terminal input/output.
+ (line 6)
+* TeX logo: Text symbols. (line 58)
+* text symbols: Text symbols. (line 6)
+* thanks, for titlepage: \maketitle. (line 22)
+* theorems, defining: \newtheorem. (line 6)
+* theorems, typesetting: theorem. (line 6)
+* thorn, Icelandic letter: Non-English characters.
+ (line 51)
+* three-quarters em-dash: Text symbols. (line 163)
+* tie-after accent: Accents. (line 80)
+* tilde accent: Accents. (line 43)
+* tilde accent, math: Math accents. (line 44)
+* tilde, ASCII, in text: Text symbols. (line 64)
+* title pages, creating: titlepage. (line 6)
+* title, for titlepage: \maketitle. (line 26)
+* titles, making: \maketitle. (line 6)
+* trademark symbol: Text symbols. (line 166)
+* transcript file: Overview. (line 41)
+* two-column output: \twocolumn. (line 6)
+* two-thirds em-dash: Text symbols. (line 169)
+* typed text, simulating: verbatim. (line 6)
+* typeface sizes: Font sizes. (line 6)
+* typeface styles: Font styles. (line 6)
+* typefaces: Typefaces. (line 6)
+* typewriter font: Font styles. (line 98)
+* typewriter labels in lists: description. (line 18)
+* umlaut accent: Accents. (line 16)
+* underbar: Accents. (line 88)
+* underscore, in text: Text symbols. (line 172)
+* unordered lists: itemize. (line 6)
+* using BibTeX: Using BibTeX. (line 6)
+* variables, a list of: Counters. (line 6)
+* vector symbol, math: Math accents. (line 47)
+* verbatim text: verbatim. (line 6)
+* verbatim text, inline: \verb. (line 6)
+* vertical bar, double, in text: Text symbols. (line 76)
+* vertical bar, in text: Text symbols. (line 73)
+* vertical space: \addvspace. (line 6)
+* vertical space before paragraphs: \parskip. (line 6)
+* visible space: \verb. (line 17)
+* visible space symbol, in text: Text symbols. (line 175)
+* wide hat accent, math: Math accents. (line 50)
+* wide tile accent, math: Math accents. (line 53)
+* XeTeX: Overview. (line 35)
+* 'xindy' program: Indexes. (line 23)
+
+
+File: latex2e.info, Node: Command Index, Prev: Concept Index, Up: Top
+
+Command Index
+*************
+
+
+* Menu:
+
+* $: Math formulas. (line 24)
+* .aux file: Overview. (line 45)
+* .dvi file: Overview. (line 18)
+* .log file: Overview. (line 41)
+* .pdf file: Overview. (line 26)
+* .toc file: Tables of contents. (line 6)
+* 10pt option: Document class options.
+ (line 14)
+* 11pt option: Document class options.
+ (line 14)
+* 12pt option: Document class options.
+ (line 14)
+* @{...}: array. (line 29)
+* [...] for optional arguments: Overview. (line 51)
+* \ character starting commands: Overview. (line 51)
+* \" (umlaut accent): Accents. (line 16)
+* \#: Reserved characters. (line 11)
+* \$: Reserved characters. (line 11)
+* \%: Reserved characters. (line 11)
+* \&: Reserved characters. (line 11)
+* \' (acute accent): Accents. (line 20)
+* \' (tabbing): tabbing. (line 45)
+* \(: Math formulas. (line 16)
+* \): Math formulas. (line 16)
+* \*: Math miscellany. (line 6)
+* \+: tabbing. (line 37)
+* \,: Spacing in math mode.
+ (line 17)
+* \-: tabbing. (line 41)
+* \- (hyphenation): \- (hyphenation). (line 6)
+* \. (dot-over accent): Accents. (line 25)
+* \/: \/. (line 6)
+* \:: Spacing in math mode.
+ (line 15)
+* \;: Spacing in math mode.
+ (line 12)
+* \<: tabbing. (line 33)
+* \= (macron accent): Accents. (line 29)
+* \= (tabbing): tabbing. (line 27)
+* \>: tabbing. (line 31)
+* \> <1>: Spacing in math mode.
+ (line 15)
+* \> (tabbing): tabbing. (line 30)
+* \@: \AT. (line 6)
+* \@fnsymbol: Symbolic footnotes. (line 11)
+* \a (tabbing): tabbing. (line 60)
+* \a' (acute accent in tabbing): tabbing. (line 61)
+* \a= (macron accent in tabbing): tabbing. (line 61)
+* \aa (aa): Non-English characters.
+ (line 11)
+* \AA (AA): Non-English characters.
+ (line 11)
+* \acute: Math accents. (line 10)
+* \addcontentsline{EXT}{UNIT}{TEXT}: \addcontentsline. (line 6)
+* \address: \address. (line 6)
+* \addtocontents{EXT}{TEXT}: \addtocontents. (line 6)
+* \addtocounter: \addtocounter. (line 6)
+* \addtolength: \addtolength. (line 6)
+* \addvspace: \addvspace. (line 6)
+* \ae (ae): Non-English characters.
+ (line 15)
+* \AE (AE): Non-English characters.
+ (line 15)
+* \aleph: Math symbols. (line 14)
+* \alph: \alph \Alph \arabic \roman \Roman \fnsymbol.
+ (line 9)
+* \Alph: \alph \Alph \arabic \roman \Roman \fnsymbol.
+ (line 12)
+* \Alph example: enumerate. (line 39)
+* \alpha: Math symbols. (line 17)
+* \alsoname: Indexes. (line 20)
+* \amalg: Math symbols. (line 20)
+* \and for '\author': \maketitle. (line 12)
+* \angle: Math symbols. (line 23)
+* \appendix: Sectioning. (line 37)
+* \approx: Math symbols. (line 26)
+* \arabic: \alph \Alph \arabic \roman \Roman \fnsymbol.
+ (line 15)
+* \arccos: Math functions. (line 9)
+* \arcsin: Math functions. (line 12)
+* \arctan: Math functions. (line 15)
+* \arg: Math functions. (line 18)
+* \arraycolsep: array. (line 41)
+* \arrayrulewidth: tabular. (line 100)
+* \arraystretch: tabular. (line 104)
+* \ast: Math symbols. (line 29)
+* \asymp: Math symbols. (line 32)
+* \author{NAME \and NAME2}: \maketitle. (line 11)
+* \a` (grave accent in tabbing): tabbing. (line 61)
+* \b (bar-under accent): Accents. (line 46)
+* \backslash: Math symbols. (line 35)
+* \backslash <1>: Reserved characters. (line 16)
+* \bar: Math accents. (line 13)
+* \baselineskip: Low-level font commands.
+ (line 46)
+* \baselinestretch: Low-level font commands.
+ (line 52)
+* \begin: Environments. (line 6)
+* \beta: Math symbols. (line 38)
+* \bf: Font styles. (line 73)
+* \bfseries: Font styles. (line 33)
+* \bibitem: \bibitem. (line 6)
+* \bibliography: Using BibTeX. (line 6)
+* \bibliographystyle: Using BibTeX. (line 6)
+* \bigcap: Math symbols. (line 41)
+* \bigcap <1>: Math symbols. (line 71)
+* \bigcirc: Math symbols. (line 44)
+* \bigcup: Math symbols. (line 47)
+* \bigodot: Math symbols. (line 50)
+* \bigoplus: Math symbols. (line 53)
+* \bigotimes: Math symbols. (line 56)
+* \bigskip: \bigskip \medskip \smallskip.
+ (line 9)
+* \bigskipamount: \bigskip \medskip \smallskip.
+ (line 9)
+* \bigsqcup: Math symbols. (line 65)
+* \bigtriangledown: Math symbols. (line 59)
+* \bigtriangleup: Math symbols. (line 62)
+* \biguplus: Math symbols. (line 68)
+* \bigwedge: Math symbols. (line 74)
+* \bmod: Math functions. (line 21)
+* \boldmath: Math formulas. (line 29)
+* \bot: Math symbols. (line 77)
+* \bottomfraction: figure. (line 67)
+* \bottomnumber: figure. (line 100)
+* \bowtie: Math symbols. (line 80)
+* \Box: Math symbols. (line 83)
+* \breve: Math accents. (line 16)
+* \bullet: Math symbols. (line 86)
+* \c (cedilla accent): Accents. (line 50)
+* \cal: Font styles. (line 76)
+* \cap: Math symbols. (line 89)
+* \capitalacute: Accents. (line 20)
+* \capitalbreve: Accents. (line 85)
+* \capitalcaron: Accents. (line 95)
+* \capitalcedilla: Accents. (line 50)
+* \capitalcircumflex: Accents. (line 33)
+* \capitaldieresis: Accents. (line 16)
+* \capitaldotaccent: Accents. (line 54)
+* \capitalgrave: Accents. (line 37)
+* \capitalhungarumlaut: Accents. (line 58)
+* \capitalmacron: Accents. (line 29)
+* \capitalnewtie: Accents. (line 80)
+* \capitalogonek: Accents. (line 69)
+* \capitalring: Accents. (line 74)
+* \capitaltie: Accents. (line 80)
+* \capitaltilde: Accents. (line 43)
+* \caption: figure. (line 60)
+* \cc: \cc. (line 6)
+* \cdot: Math symbols. (line 92)
+* \cdots: Math miscellany. (line 10)
+* \centering: \centering. (line 6)
+* \chapter: Sectioning. (line 9)
+* \check: Math accents. (line 19)
+* \chi: Math symbols. (line 95)
+* \circ: Math symbols. (line 98)
+* \circle: \circle. (line 6)
+* \cite: \cite. (line 6)
+* \cleardoublepage: \cleardoublepage. (line 6)
+* \clearpage: \clearpage. (line 6)
+* \cline: \cline. (line 6)
+* \closing: \closing. (line 6)
+* \clubsuit: Math symbols. (line 101)
+* \columnsep: \twocolumn. (line 16)
+* \columnseprule: \twocolumn. (line 19)
+* \columnwidth: \twocolumn. (line 23)
+* \cong: Math symbols. (line 104)
+* \contentsline: \addcontentsline. (line 29)
+* \coprod: Math symbols. (line 107)
+* \copyright: Text symbols. (line 10)
+* \cos: Math functions. (line 24)
+* \cosh: Math functions. (line 27)
+* \cot: Math functions. (line 30)
+* \coth: Math functions. (line 33)
+* \csc: Math functions. (line 36)
+* \cup: Math symbols. (line 110)
+* \d (dot-under accent): Accents. (line 54)
+* \dag: Text symbols. (line 14)
+* \dagger: Math symbols. (line 113)
+* \dashbox: \dashbox. (line 6)
+* \dashv: Math symbols. (line 116)
+* \date{TEXT}: \maketitle. (line 17)
+* \day: \day \month \year. (line 6)
+* \dblfloatpagefraction: \twocolumn. (line 34)
+* \dblfloatsep: \twocolumn. (line 38)
+* \dbltextfloatsep: \twocolumn. (line 43)
+* \dbltopfraction: \twocolumn. (line 29)
+* \ddag: Text symbols. (line 17)
+* \ddagger: Math symbols. (line 119)
+* \ddot: Math accents. (line 22)
+* \ddots: Math miscellany. (line 14)
+* \deg: Math functions. (line 39)
+* \Delta: Math symbols. (line 122)
+* \delta: Math symbols. (line 125)
+* \depth: Predefined lengths. (line 10)
+* \det: Math functions. (line 42)
+* \dh (ae): Non-English characters.
+ (line 19)
+* \DH (AE): Non-English characters.
+ (line 19)
+* \Diamond: Math symbols. (line 128)
+* \diamond: Math symbols. (line 131)
+* \diamondsuit: Math symbols. (line 134)
+* \dim: Math functions. (line 45)
+* \displaystyle: Math formulas. (line 34)
+* \div: Math symbols. (line 137)
+* \dj: Non-English characters.
+ (line 23)
+* \DJ: Non-English characters.
+ (line 23)
+* \documentclass: Document classes. (line 6)
+* \dot: Math accents. (line 25)
+* \doteq: Math symbols. (line 140)
+* \dotfill: \dotfill. (line 6)
+* \dots: Text symbols. (line 31)
+* \doublerulesep: tabular. (line 108)
+* \downarrow: Math symbols. (line 143)
+* \Downarrow: Math symbols. (line 146)
+* \ell: Math symbols. (line 149)
+* \em: Font styles. (line 79)
+* \emph: Font styles. (line 27)
+* \emptyset: Math symbols. (line 152)
+* \encl: \encl. (line 6)
+* \end: Environments. (line 6)
+* \enlargethispage: \enlargethispage. (line 6)
+* \enumi: enumerate. (line 29)
+* \enumii: enumerate. (line 29)
+* \enumiii: enumerate. (line 29)
+* \enumiv: enumerate. (line 29)
+* \epsilon: Math symbols. (line 155)
+* \equiv: Math symbols. (line 158)
+* \eta: Math symbols. (line 161)
+* \evensidemargin: Document class options.
+ (line 50)
+* \exists: Math symbols. (line 164)
+* \exp: Math functions. (line 48)
+* \extracolsep: tabular. (line 71)
+* \fbox: \fbox and \framebox. (line 6)
+* \fboxrule: \framebox (picture). (line 14)
+* \fboxrule <1>: \fbox and \framebox. (line 18)
+* \fboxsep: \framebox (picture). (line 14)
+* \fboxsep <1>: \fbox and \framebox. (line 18)
+* \fill: \hfill. (line 9)
+* \flat: Math symbols. (line 167)
+* \floatpagefraction: figure. (line 70)
+* \floatsep: figure. (line 85)
+* \flushbottom: \flushbottom. (line 6)
+* \fnsymbol: \alph \Alph \arabic \roman \Roman \fnsymbol.
+ (line 24)
+* \fnsymbol, and footnotes: Symbolic footnotes. (line 11)
+* \fontencoding: Low-level font commands.
+ (line 11)
+* \fontfamily: Low-level font commands.
+ (line 14)
+* \fontseries: Low-level font commands.
+ (line 23)
+* \fontshape: Low-level font commands.
+ (line 34)
+* \fontsize: Low-level font commands.
+ (line 46)
+* \footnote: \footnote. (line 6)
+* \footnotemark: \footnotemark. (line 6)
+* \footnoterule: Footnote parameters. (line 6)
+* \footnotesep: Footnote parameters. (line 12)
+* \footnotesize: Font sizes. (line 11)
+* \footnotetext: \footnotetext. (line 6)
+* \footskip: Page layout parameters.
+ (line 16)
+* \forall: Math symbols. (line 170)
+* \frac: Math miscellany. (line 18)
+* \frac{num}{den}: Math miscellany. (line 17)
+* \frame: \frame. (line 6)
+* \framebox: \framebox (picture). (line 6)
+* \framebox <1>: \fbox and \framebox. (line 6)
+* \frown: Math symbols. (line 173)
+* \fussy: \fussy. (line 6)
+* \Gamma: Math symbols. (line 176)
+* \gamma: Math symbols. (line 179)
+* \gcd: Math functions. (line 51)
+* \ge: Math symbols. (line 182)
+* \geq: Math symbols. (line 185)
+* \gets: Math symbols. (line 188)
+* \gg: Math symbols. (line 191)
+* \glossary: Glossaries. (line 8)
+* \glossaryentry: Glossaries. (line 11)
+* \grave: Math accents. (line 28)
+* \guillemotleft (<<): Text symbols. (line 23)
+* \guillemotright (>>): Text symbols. (line 24)
+* \guilsinglleft (<): Text symbols. (line 25)
+* \guilsinglright (>): Text symbols. (line 26)
+* \H (Hungarian umlaut accent): Accents. (line 58)
+* \hat: Math accents. (line 31)
+* \hbar: Math symbols. (line 194)
+* \headheight: Page layout parameters.
+ (line 6)
+* \headsep: Page layout parameters.
+ (line 11)
+* \heartsuit: Math symbols. (line 197)
+* \height: Predefined lengths. (line 8)
+* \hfill: \hfill. (line 6)
+* \hline: \hline. (line 6)
+* \hom: Math functions. (line 54)
+* \hookleftarrow: Math symbols. (line 200)
+* \hookrightarrow: Math symbols. (line 203)
+* \hrulefill: \hrulefill. (line 6)
+* \hsize: Page layout parameters.
+ (line 56)
+* \hspace: \hspace. (line 6)
+* \huge: Font sizes. (line 11)
+* \Huge: Font sizes. (line 11)
+* \hyphenation: \hyphenation. (line 6)
+* \i (dotless i): Accents. (line 62)
+* \iff: Math symbols. (line 206)
+* \ij (ij): Non-English characters.
+ (line 27)
+* \IJ (IJ): Non-English characters.
+ (line 27)
+* \Im: Math symbols. (line 209)
+* \imath: Math accents. (line 34)
+* \in: Math symbols. (line 212)
+* \include: \include. (line 6)
+* \includeonly: \includeonly. (line 6)
+* \indent: \indent. (line 6)
+* \index: Indexes. (line 9)
+* \indexentry: Indexes. (line 12)
+* \inf: Math functions. (line 57)
+* \infty: Math symbols. (line 215)
+* \input: \input. (line 6)
+* \int: Math symbols. (line 218)
+* \intextsep: figure. (line 89)
+* \iota: Math symbols. (line 221)
+* \it: Font styles. (line 82)
+* \item: description. (line 14)
+* \item <1>: enumerate. (line 19)
+* \item <2>: itemize. (line 6)
+* \itemindent: itemize. (line 49)
+* \itemsep: itemize. (line 71)
+* \itshape: Font styles. (line 24)
+* \j (dotless j): Accents. (line 65)
+* \jmath: Math accents. (line 37)
+* \Join: Math symbols. (line 224)
+* \k (ogonek): Accents. (line 69)
+* \kappa: Math symbols. (line 227)
+* \ker: Math functions. (line 60)
+* \kill: tabbing. (line 65)
+* \l (/l): Non-English characters.
+ (line 31)
+* \L (/L): Non-English characters.
+ (line 31)
+* \label: \label. (line 6)
+* \labelenumi: enumerate. (line 33)
+* \labelenumii: enumerate. (line 33)
+* \labelenumiii: enumerate. (line 33)
+* \labelenumiv: enumerate. (line 33)
+* \labelitemi: itemize. (line 29)
+* \labelitemii: itemize. (line 29)
+* \labelitemiii: itemize. (line 29)
+* \labelitemiv: itemize. (line 29)
+* \labelsep: itemize. (line 52)
+* \labelwidth: itemize. (line 55)
+* \Lambda: Math symbols. (line 230)
+* \lambda: Math symbols. (line 233)
+* \land: Math symbols. (line 236)
+* \langle: Math symbols. (line 239)
+* \large: Font sizes. (line 11)
+* \Large: Font sizes. (line 11)
+* \LARGE: Font sizes. (line 11)
+* \LaTeX: Text symbols. (line 20)
+* \lbrace: Math symbols. (line 242)
+* \lbrack: Math symbols. (line 245)
+* \lceil: Math symbols. (line 248)
+* \ldots: Text symbols. (line 30)
+* \le: Math symbols. (line 251)
+* \leadsto: Math symbols. (line 254)
+* \left DELIM1 ... \right DELIM2: Math miscellany. (line 20)
+* \Leftarrow: Math symbols. (line 256)
+* \leftarrow: Math symbols. (line 259)
+* \lefteqn: eqnarray. (line 34)
+* \leftharpoondown: Math symbols. (line 262)
+* \leftharpoonup: Math symbols. (line 265)
+* \leftmargin: itemize. (line 36)
+* \leftmargini: itemize. (line 36)
+* \leftmarginii: itemize. (line 36)
+* \leftmarginiii: itemize. (line 36)
+* \leftmarginiv: itemize. (line 36)
+* \leftmarginv: itemize. (line 36)
+* \leftmarginvi: itemize. (line 36)
+* \Leftrightarrow: Math symbols. (line 268)
+* \leftrightarrow: Math symbols. (line 271)
+* \leq: Math symbols. (line 274)
+* \lfloor: Math symbols. (line 277)
+* \lg: Math functions. (line 63)
+* \lhd: Math symbols. (line 280)
+* \lim: Math functions. (line 66)
+* \liminf: Math functions. (line 69)
+* \limsup: Math functions. (line 72)
+* \line: \line. (line 6)
+* \linebreak: \linebreak & \nolinebreak.
+ (line 6)
+* \linespread: Low-level font commands.
+ (line 59)
+* \linethickness: \linethickness. (line 6)
+* \linewidth: Page layout parameters.
+ (line 21)
+* \listoffigures: Tables of contents. (line 16)
+* \listoftables: Tables of contents. (line 16)
+* \listparindent: itemize. (line 58)
+* \ll: Math symbols. (line 283)
+* \ln: Math functions. (line 75)
+* \lnot: Math symbols. (line 286)
+* \location: \location. (line 6)
+* \log: Math functions. (line 78)
+* \longleftarrow: Math symbols. (line 289)
+* \longleftrightarrow: Math symbols. (line 292)
+* \longmapsto: Math symbols. (line 295)
+* \longrightarrow: Math symbols. (line 298)
+* \lor: Math symbols. (line 301)
+* \lq: Text symbols. (line 36)
+* \makebox: \makebox. (line 6)
+* \makebox (picture): \makebox (picture). (line 6)
+* \makeglossary: Glossaries. (line 6)
+* \makeindex: Indexes. (line 6)
+* \makelabels: \makelabels. (line 6)
+* \maketitle: \maketitle. (line 6)
+* \mapsto: Math symbols. (line 304)
+* \marginpar: Marginal notes. (line 6)
+* \marginparpush: Marginal notes. (line 33)
+* \marginparsep: Marginal notes. (line 37)
+* \marginparwidth: Marginal notes. (line 41)
+* \markboth{LEFT}{RIGHT}: \pagestyle. (line 29)
+* \markright{RIGHT}: \pagestyle. (line 36)
+* \mathbf: Font styles. (line 49)
+* \mathcal: Font styles. (line 62)
+* \mathnormal: Font styles. (line 60)
+* \mathring: Math accents. (line 40)
+* \mathrm: Font styles. (line 47)
+* \mathsf: Font styles. (line 51)
+* \mathtt: Font styles. (line 53)
+* \mathversion: Font styles. (line 64)
+* \max: Math functions. (line 81)
+* \mbox: \mbox. (line 6)
+* \mdseries: Font styles. (line 30)
+* \medskip: \bigskip \medskip \smallskip.
+ (line 13)
+* \medskipamount: \bigskip \medskip \smallskip.
+ (line 13)
+* \mho: Math symbols. (line 307)
+* \mid: Math symbols. (line 309)
+* \min: Math functions. (line 84)
+* \models: Math symbols. (line 312)
+* \month: \day \month \year. (line 6)
+* \mp: Math symbols. (line 315)
+* \mu: Math symbols. (line 318)
+* \multicolumn: \multicolumn. (line 6)
+* \multiput: \multiput. (line 6)
+* \nabla: Math symbols. (line 321)
+* \name: \name. (line 6)
+* \natural: Math symbols. (line 324)
+* \ne: Math symbols. (line 327)
+* \nearrow: Math symbols. (line 330)
+* \neg: Math symbols. (line 333)
+* \neq: Math symbols. (line 336)
+* \newcommand: \newcommand & \renewcommand.
+ (line 6)
+* \newcounter: \newcounter. (line 6)
+* \newenvironment: \newenvironment & \renewenvironment.
+ (line 6)
+* \newfont: \newfont. (line 6)
+* \newlength: \newlength. (line 6)
+* \newline: \newline. (line 6)
+* \NEWLINE: \SPACE. (line 6)
+* \newpage: \newpage. (line 6)
+* \newsavebox: \newsavebox. (line 6)
+* \newtheorem: \newtheorem. (line 6)
+* \newtie: Accents. (line 80)
+* \ng: Non-English characters.
+ (line 35)
+* \NG: Non-English characters.
+ (line 35)
+* \ni: Math symbols. (line 339)
+* \nocite: \nocite. (line 6)
+* \nofiles: Tables of contents. (line 20)
+* \noindent: \noindent. (line 6)
+* \nolinebreak: \linebreak & \nolinebreak.
+ (line 6)
+* \nonumber: eqnarray. (line 29)
+* \nopagebreak: \pagebreak & \nopagebreak.
+ (line 6)
+* \normalfont: Font styles. (line 45)
+* \normalmarginpar: Marginal notes. (line 21)
+* \normalsize: Font sizes. (line 11)
+* \not: Math symbols. (line 342)
+* \notin: Math symbols. (line 345)
+* \nu: Math symbols. (line 348)
+* \nwarrow: Math symbols. (line 351)
+* \o (/o): Non-English characters.
+ (line 39)
+* \O (/O): Non-English characters.
+ (line 39)
+* \obeycr: \obeycr & \restorecr.
+ (line 6)
+* \oddsidemargin: Document class options.
+ (line 50)
+* \odot: Math symbols. (line 354)
+* \oe (oe): Non-English characters.
+ (line 43)
+* \OE (OE): Non-English characters.
+ (line 43)
+* \oint: Math symbols. (line 357)
+* \Omega: Math symbols. (line 360)
+* \omega: Math symbols. (line 363)
+* \ominus: Math symbols. (line 366)
+* \onecolumn: \onecolumn. (line 6)
+* \opening: \opening. (line 6)
+* \oplus: Math symbols. (line 369)
+* \oslash: Math symbols. (line 372)
+* \otimes: Math symbols. (line 375)
+* \oval: \oval. (line 6)
+* \overbrace{TEXT}: Math miscellany. (line 25)
+* \overline{TEXT}: Math miscellany. (line 29)
+* \owns: Math symbols. (line 378)
+* \P: Text symbols. (line 39)
+* \pagebreak: \pagebreak & \nopagebreak.
+ (line 6)
+* \pagenumbering: \pagenumbering. (line 6)
+* \pageref: \pageref. (line 6)
+* \pagestyle: \pagestyle. (line 6)
+* \paragraph: Sectioning. (line 14)
+* \parallel: Math symbols. (line 381)
+* \parbox: \parbox. (line 6)
+* \parindent: minipage. (line 17)
+* \parindent <1>: \indent. (line 6)
+* \parsep: itemize. (line 76)
+* \parskip: \parskip. (line 6)
+* \parskip example: itemize. (line 92)
+* \part: Sectioning. (line 8)
+* \partial: Math symbols. (line 384)
+* \partopsep: itemize. (line 86)
+* \perp: Math symbols. (line 387)
+* \phi: Math symbols. (line 390)
+* \Pi: Math symbols. (line 393)
+* \pi: Math symbols. (line 396)
+* \pm: Math symbols. (line 399)
+* \pmod: Math functions. (line 87)
+* \poptabs: tabbing. (line 71)
+* \poptabs <1>: tabbing. (line 72)
+* \pounds: Text symbols. (line 43)
+* \Pr: Math functions. (line 90)
+* \prec: Math symbols. (line 402)
+* \preceq: Math symbols. (line 405)
+* \prime: Math symbols. (line 408)
+* \prod: Math symbols. (line 411)
+* \propto: Math symbols. (line 414)
+* \protect: \protect. (line 6)
+* \ps: \ps. (line 6)
+* \Psi: Math symbols. (line 417)
+* \psi: Math symbols. (line 420)
+* \pushtabs: tabbing. (line 74)
+* \put: \put. (line 6)
+* \quotedblbase (,,): Text symbols. (line 47)
+* \quotesinglbase (,): Text symbols. (line 48)
+* \r (ring accent): Accents. (line 74)
+* \raggedbottom: \raggedbottom. (line 6)
+* \raggedleft: \raggedleft. (line 6)
+* \raggedright: \raggedright. (line 6)
+* \raisebox: \raisebox. (line 6)
+* \rangle: Math symbols. (line 423)
+* \rbrace: Math symbols. (line 426)
+* \rbrack: Math symbols. (line 429)
+* \rceil: Math symbols. (line 432)
+* \Re: Math symbols. (line 435)
+* \ref: \ref. (line 6)
+* \refstepcounter: \refstepcounter. (line 6)
+* \renewenvironment: \newenvironment & \renewenvironment.
+ (line 6)
+* \restorecr: \obeycr & \restorecr.
+ (line 6)
+* \reversemarginpar: Marginal notes. (line 21)
+* \rfloor: Math symbols. (line 438)
+* \rhd: Math symbols. (line 441)
+* \rho: Math symbols. (line 444)
+* \right: Math miscellany. (line 21)
+* \Rightarrow: Math symbols. (line 447)
+* \rightarrow: Math symbols. (line 450)
+* \rightharpoondown: Math symbols. (line 453)
+* \rightharpoonup: Math symbols. (line 456)
+* \rightleftharpoons: Math symbols. (line 459)
+* \rightmargin: itemize. (line 62)
+* \rm: Font styles. (line 85)
+* \rmfamily: Font styles. (line 21)
+* \roman: \alph \Alph \arabic \roman \Roman \fnsymbol.
+ (line 18)
+* \roman <1>: \alph \Alph \arabic \roman \Roman \fnsymbol.
+ (line 21)
+* \rq: Text symbols. (line 51)
+* \rule: \rule. (line 6)
+* \S: Text symbols. (line 54)
+* \savebox: \savebox. (line 6)
+* \sbox: \sbox. (line 6)
+* \sc: Font styles. (line 88)
+* \scriptsize: Font sizes. (line 11)
+* \scshape: Font styles. (line 41)
+* \searrow: Math symbols. (line 462)
+* \sec: Math functions. (line 93)
+* \section: Sectioning. (line 11)
+* \seename: Indexes. (line 20)
+* \selectfont: Low-level font commands.
+ (line 65)
+* \setcounter: \setcounter. (line 6)
+* \setlength: \setlength. (line 6)
+* \setminus: Math symbols. (line 465)
+* \settodepth: \settodepth. (line 6)
+* \settoheight: \settoheight. (line 6)
+* \settowidth: \settowidth. (line 6)
+* \sf: Font styles. (line 91)
+* \sffamily: Font styles. (line 39)
+* \sharp: Math symbols. (line 468)
+* \shortstack: \shortstack. (line 6)
+* \Sigma: Math symbols. (line 471)
+* \sigma: Math symbols. (line 474)
+* \signature: \signature. (line 6)
+* \sim: Math symbols. (line 477)
+* \simeq: Math symbols. (line 480)
+* \sin: Math functions. (line 96)
+* \sinh: Math functions. (line 99)
+* \sl: Font styles. (line 94)
+* \slshape: Font styles. (line 37)
+* \small: Font sizes. (line 11)
+* \smallint: Math symbols. (line 483)
+* \smallskip: \bigskip \medskip \smallskip.
+ (line 17)
+* \smallskipamount: \bigskip \medskip \smallskip.
+ (line 17)
+* \smile: Math symbols. (line 486)
+* \SPACE: \SPACE. (line 6)
+* \spadesuit: Math symbols. (line 489)
+* \sqcap: Math symbols. (line 492)
+* \sqcup: Math symbols. (line 495)
+* \sqrt[ROOT]{arg}: Math miscellany. (line 32)
+* \sqsubset: Math symbols. (line 498)
+* \sqsubseteq: Math symbols. (line 501)
+* \sqsupset: Math symbols. (line 504)
+* \sqsupseteq: Math symbols. (line 507)
+* \ss (ss): Non-English characters.
+ (line 47)
+* \SS (SS): Non-English characters.
+ (line 47)
+* \stackrel{TEXT}{RELATION}: Math miscellany. (line 38)
+* \star: Math symbols. (line 510)
+* \startbreaks: \startbreaks. (line 6)
+* \stepcounter: \stepcounter. (line 6)
+* \stop: Command line. (line 15)
+* \stopbreaks: \stopbreaks. (line 6)
+* \subparagraph: Sectioning. (line 15)
+* \subsection: Sectioning. (line 12)
+* \subset: Math symbols. (line 513)
+* \subseteq: Math symbols. (line 516)
+* \subsubsection: Sectioning. (line 13)
+* \succ: Math symbols. (line 519)
+* \succeq: Math symbols. (line 522)
+* \sum: Math symbols. (line 525)
+* \sup: Math functions. (line 102)
+* \supset: Math symbols. (line 528)
+* \supseteq: Math symbols. (line 531)
+* \surd: Math symbols. (line 534)
+* \swarrow: Math symbols. (line 537)
+* \symbol: Reserved characters. (line 25)
+* \t (tie-after accent): Accents. (line 80)
+* \TAB: \SPACE. (line 6)
+* \tabbingsep: tabbing. (line 79)
+* \tabcolsep: tabular. (line 112)
+* \tableofcontents: Tables of contents. (line 6)
+* \tan: Math functions. (line 105)
+* \tanh: Math functions. (line 108)
+* \tau: Math symbols. (line 540)
+* \telephone: \telephone. (line 6)
+* \TeX: Text symbols. (line 57)
+* \textascenderwordmark: Text symbols. (line 95)
+* \textasciicircum: Text symbols. (line 60)
+* \textasciitilde: Text symbols. (line 63)
+* \textasteriskcentered: Text symbols. (line 66)
+* \textbackslash: Text symbols. (line 69)
+* \textbar: Text symbols. (line 72)
+* \textbardbl: Text symbols. (line 75)
+* \textbf: Font styles. (line 33)
+* \textbigcircle: Text symbols. (line 78)
+* \textbraceleft: Text symbols. (line 81)
+* \textbraceright: Text symbols. (line 84)
+* \textbullet: Text symbols. (line 87)
+* \textcapitalwordmark: Text symbols. (line 94)
+* \textcircled{LETTER}: Text symbols. (line 90)
+* \textcompwordmark: Text symbols. (line 93)
+* \textcopyright: Text symbols. (line 11)
+* \textdagger: Text symbols. (line 100)
+* \textdaggerdbl: Text symbols. (line 103)
+* \textdollar (or '$'): Text symbols. (line 106)
+* \textellipsis: Text symbols. (line 32)
+* \textemdash (or '---'): Text symbols. (line 109)
+* \textendash (or '--'): Text symbols. (line 112)
+* \texteuro: Text symbols. (line 115)
+* \textexclamdown (or '!`'): Text symbols. (line 118)
+* \textfloatsep: figure. (line 94)
+* \textfraction: figure. (line 74)
+* \textgreater: Text symbols. (line 121)
+* \textheight: Page layout parameters.
+ (line 29)
+* \textit: Font styles. (line 24)
+* \textleftarrow: Text symbols. (line 127)
+* \textless: Text symbols. (line 124)
+* \textmd: Font styles. (line 30)
+* \textnormal: Font styles. (line 45)
+* \textordfeminine: Text symbols. (line 130)
+* \textordmasculine: Text symbols. (line 131)
+* \textparagraph: Text symbols. (line 40)
+* \textperiodcentered: Text symbols. (line 134)
+* \textquestiondown (or '?`'): Text symbols. (line 137)
+* \textquotedblleft (or '``'): Text symbols. (line 140)
+* \textquotedblright (or '''): Text symbols. (line 143)
+* \textquoteleft (or '`'): Text symbols. (line 146)
+* \textquoteright (or '''): Text symbols. (line 149)
+* \textquotestraightbase: Text symbols. (line 152)
+* \textquotestraightdblbase: Text symbols. (line 153)
+* \textregistered: Text symbols. (line 156)
+* \textrightarrow: Text symbols. (line 159)
+* \textrm: Font styles. (line 21)
+* \textsc: Font styles. (line 41)
+* \textsf: Font styles. (line 39)
+* \textsl: Font styles. (line 37)
+* \textsterling: Text symbols. (line 44)
+* \textthreequartersemdash: Text symbols. (line 162)
+* \texttrademark: Text symbols. (line 165)
+* \texttt: Font styles. (line 43)
+* \texttwelveudash: Text symbols. (line 168)
+* \textunderscore: Text symbols. (line 171)
+* \textup: Font styles. (line 35)
+* \textvisiblespace: Text symbols. (line 174)
+* \textwidth: Page layout parameters.
+ (line 36)
+* \th (th): Non-English characters.
+ (line 51)
+* \TH (TH): Non-English characters.
+ (line 51)
+* \thanks{TEXT}: \maketitle. (line 21)
+* \theta: Math symbols. (line 543)
+* \thicklines: \thicklines. (line 6)
+* \thinlines: \thinlines. (line 6)
+* \thinspace: \thinspace. (line 6)
+* \thispagestyle: \thispagestyle. (line 6)
+* \tilde: Math accents. (line 43)
+* \times: Math symbols. (line 546)
+* \tiny: Font sizes. (line 11)
+* \title{TEXT}: \maketitle. (line 25)
+* \to: Math symbols. (line 549)
+* \today: \today. (line 6)
+* \top: Math symbols. (line 552)
+* \topfraction: figure. (line 79)
+* \topmargin: Page layout parameters.
+ (line 60)
+* \topnumber: figure. (line 104)
+* \topsep: itemize. (line 80)
+* \topskip: Page layout parameters.
+ (line 67)
+* \totalheight: Predefined lengths. (line 12)
+* \totalnumber: figure. (line 108)
+* \triangle: Math symbols. (line 555)
+* \triangleleft: Math symbols. (line 558)
+* \triangleright: Math symbols. (line 561)
+* \tt: Font styles. (line 97)
+* \ttfamily: Font styles. (line 43)
+* \twocolumn: \twocolumn. (line 6)
+* \typein: \typein. (line 6)
+* \typeout: \typeout. (line 6)
+* \u (breve accent): Accents. (line 85)
+* \unboldmath: Math formulas. (line 29)
+* \underbar: Accents. (line 88)
+* \underbrace{math}: Math miscellany. (line 42)
+* \underline{text}: Math miscellany. (line 45)
+* \unitlength: picture. (line 10)
+* \unlhd: Math symbols. (line 564)
+* \unrhd: Math symbols. (line 567)
+* \Uparrow: Math symbols. (line 570)
+* \uparrow: Math symbols. (line 573)
+* \Updownarrow: Math symbols. (line 576)
+* \updownarrow: Math symbols. (line 579)
+* \uplus: Math symbols. (line 582)
+* \upshape: Font styles. (line 35)
+* \Upsilon: Math symbols. (line 585)
+* \upsilon: Math symbols. (line 588)
+* \usebox: \usebox. (line 6)
+* \usecounter: \usecounter. (line 6)
+* \usefont: Low-level font commands.
+ (line 69)
+* \usepackage: Document class options.
+ (line 69)
+* \v (breve accent): Accents. (line 95)
+* \value: \value. (line 6)
+* \varepsilon: Math symbols. (line 591)
+* \varphi: Math symbols. (line 594)
+* \varpi: Math symbols. (line 597)
+* \varrho: Math symbols. (line 600)
+* \varsigma: Math symbols. (line 603)
+* \vartheta: Math symbols. (line 606)
+* \vdash: Math symbols. (line 609)
+* \vdots: Math miscellany. (line 50)
+* \vdots <1>: Math miscellany. (line 51)
+* \vec: Math accents. (line 46)
+* \vector: \vector. (line 6)
+* \vee: Math symbols. (line 612)
+* \verb: \verb. (line 6)
+* \Vert: Math symbols. (line 615)
+* \vert: Math symbols. (line 618)
+* \vfill: \vfill. (line 6)
+* \vline: \vline. (line 6)
+* \vspace: \vspace. (line 6)
+* \wedge: Math symbols. (line 621)
+* \widehat: Math accents. (line 49)
+* \widehat <1>: Math accents. (line 52)
+* \width: Predefined lengths. (line 6)
+* \wp: Math symbols. (line 624)
+* \wr: Math symbols. (line 627)
+* \Xi: Math symbols. (line 630)
+* \xi: Math symbols. (line 633)
+* \year: \day \month \year. (line 6)
+* \zeta: Math symbols. (line 636)
+* \[: Math formulas. (line 16)
+* \\ (for 'array'): array. (line 26)
+* \\ (for 'center'): center. (line 13)
+* \\ (for 'eqnarray'): eqnarray. (line 21)
+* \\ (for 'flushright'): flushright. (line 12)
+* \\ (for '\shortstack' objects): \shortstack. (line 20)
+* \\ (tabbing): tabbing. (line 24)
+* \\ for 'flushleft': flushleft. (line 12)
+* \\ for letters: Letters. (line 32)
+* \\ for 'tabular': tabular. (line 23)
+* \\ for 'verse': verse. (line 17)
+* \\ for '\author': \maketitle. (line 12)
+* \\ for '\title': \maketitle. (line 26)
+* \\ force line break: \\. (line 6)
+* \\* (for 'eqnarray'): eqnarray. (line 26)
+* \]: Math formulas. (line 16)
+* \^: Reserved characters. (line 21)
+* \^ (circumflex accent): Accents. (line 33)
+* \_: Reserved characters. (line 11)
+* \` (grave accent): Accents. (line 37)
+* \` (tabbing): tabbing. (line 51)
+* \{: Reserved characters. (line 11)
+* \|: Math symbols. (line 11)
+* \}: Reserved characters. (line 11)
+* \~: Reserved characters. (line 21)
+* \~ (tilde accent): Accents. (line 43)
+* ^: Subscripts & superscripts.
+ (line 6)
+* _: Subscripts & superscripts.
+ (line 6)
+* {...} for required arguments: Overview. (line 51)
+* a4paper option: Document class options.
+ (line 19)
+* a5paper option: Document class options.
+ (line 19)
+* abstract environment: abstract. (line 6)
+* array environment: array. (line 6)
+* article class: Document classes. (line 13)
+* b5paper option: Document class options.
+ (line 19)
+* book class: Document classes. (line 13)
+* center environment: center. (line 6)
+* description environment: description. (line 6)
+* displaymath environment: displaymath. (line 6)
+* displaymath environment <1>: Math formulas. (line 6)
+* document environment: document. (line 6)
+* draft option: Document class options.
+ (line 24)
+* enumerate environment: enumerate. (line 6)
+* eqnarray environment: eqnarray. (line 6)
+* equation environment: equation. (line 6)
+* equation environment <1>: Math formulas. (line 6)
+* executivepaper option: Document class options.
+ (line 19)
+* figure: figure. (line 6)
+* final option: Document class options.
+ (line 24)
+* fleqn option: Document class options.
+ (line 24)
+* flushleft environment: flushleft. (line 6)
+* flushright environment: flushright. (line 6)
+* indexspace: Indexes. (line 32)
+* itemize environment: itemize. (line 6)
+* landscape option: Document class options.
+ (line 24)
+* latex command: Overview. (line 18)
+* <latexrefman-discuss@gna.org> email address: About this document.
+ (line 13)
+* legalpaper option: Document class options.
+ (line 19)
+* leqno option: Document class options.
+ (line 24)
+* letter: letter. (line 6)
+* letter class: Document classes. (line 13)
+* letterpaper option: Document class options.
+ (line 19)
+* list: list. (line 6)
+* lR box: picture. (line 64)
+* lrbox: lrbox. (line 6)
+* lualatex command: Overview. (line 32)
+* math environment: math. (line 6)
+* math environment <1>: Math formulas. (line 6)
+* minipage environment: minipage. (line 6)
+* notitlepage option: Document class options.
+ (line 24)
+* onecolumn option: Document class options.
+ (line 44)
+* oneside option: Document class options.
+ (line 44)
+* openany option: Document class options.
+ (line 44)
+* openbib option: Document class options.
+ (line 24)
+* openright option: Document class options.
+ (line 44)
+* pdflatex command: Overview. (line 26)
+* picture: picture. (line 6)
+* printindex: Indexes. (line 28)
+* quotation: quotation. (line 6)
+* quote: quote. (line 6)
+* report class: Document classes. (line 13)
+* secnumdepth counter: Sectioning. (line 47)
+* slides class: Document classes. (line 13)
+* tabbing environment: tabbing. (line 6)
+* table: table. (line 6)
+* tabular environment: tabular. (line 6)
+* textcomp package: Text symbols. (line 6)
+* thebibliography: thebibliography. (line 6)
+* theorem environment: theorem. (line 6)
+* titlepage environment: titlepage. (line 6)
+* titlepage option: Document class options.
+ (line 24)
+* twocolumn option: Document class options.
+ (line 44)
+* twoside option: Document class options.
+ (line 44)
+* verbatim environment: verbatim. (line 6)
+* verse environment: verse. (line 6)
+* xelatex command: Overview. (line 35)
+
+
+
+Tag Table:
+Node: Top1688
+Node: About this document3542
+Node: Overview4822
+Node: Starting & ending7194
+Node: Document classes7756
+Node: Document class options8332
+Node: Typefaces10920
+Node: Font styles11362
+Node: Font sizes13773
+Node: Low-level font commands15008
+Node: Layout17462
+Node: \onecolumn17931
+Node: \twocolumn18144
+Node: \flushbottom19648
+Node: \raggedbottom20010
+Node: Page layout parameters20296
+Node: Sectioning23327
+Node: Cross references24868
+Node: \label25299
+Node: \pageref26161
+Node: \ref26460
+Node: Environments26850
+Node: abstract28306
+Node: array28547
+Node: center29876
+Node: \centering30353
+Node: description31193
+Node: displaymath32007
+Node: document32575
+Node: enumerate32832
+Node: eqnarray34121
+Node: equation35511
+Node: figure35884
+Node: flushleft39705
+Node: \raggedright40190
+Node: flushright40749
+Node: \raggedleft41237
+Node: itemize41794
+Node: letter45425
+Node: list45663
+Node: math46600
+Node: minipage46902
+Node: picture48094
+Node: \circle52093
+Node: \makebox (picture)52426
+Node: \framebox (picture)53121
+Node: \dashbox53611
+Node: \frame54140
+Node: \line54466
+Node: \linethickness54935
+Node: \thicklines55356
+Node: \thinlines55666
+Node: \multiput55968
+Node: \oval56334
+Node: \put56948
+Node: \shortstack57195
+Node: \vector57669
+Node: quotation57975
+Node: quote58431
+Node: tabbing58863
+Node: table62029
+Node: tabular62919
+Node: \multicolumn67008
+Node: \cline67805
+Node: \hline68125
+Node: \vline68439
+Node: thebibliography68752
+Node: \bibitem69894
+Node: \cite70625
+Node: \nocite71124
+Node: Using BibTeX71408
+Node: theorem72900
+Node: titlepage73286
+Node: verbatim73888
+Node: \verb74515
+Node: verse75065
+Node: Line breaking75559
+Node: \\76617
+Node: \obeycr & \restorecr77087
+Node: \newline77491
+Node: \- (hyphenation)77781
+Node: \fussy78391
+Node: \sloppy78784
+Node: \hyphenation79113
+Node: \linebreak & \nolinebreak79740
+Node: Page breaking80394
+Node: \cleardoublepage81002
+Node: \clearpage81409
+Node: \newpage81685
+Node: \enlargethispage81920
+Node: \pagebreak & \nopagebreak82447
+Node: Footnotes83141
+Node: \footnote83759
+Node: \footnotemark84277
+Node: \footnotetext84843
+Node: Symbolic footnotes85328
+Node: Footnote parameters85885
+Node: Definitions86620
+Node: \newcommand & \renewcommand87335
+Node: \newcounter88549
+Node: \newlength89017
+Node: \newsavebox89529
+Node: \newenvironment & \renewenvironment89836
+Node: \newtheorem91102
+Node: \newfont92068
+Node: \protect92548
+Node: Counters93411
+Node: \alph \Alph \arabic \roman \Roman \fnsymbol94655
+Node: \usecounter95699
+Node: \value96061
+Node: \setcounter96446
+Node: \addtocounter96737
+Node: \refstepcounter97033
+Node: \stepcounter97378
+Node: \day \month \year97629
+Node: Lengths98174
+Node: \setlength98743
+Node: \addtolength99085
+Node: \settodepth99380
+Node: \settoheight99655
+Node: \settowidth99934
+Node: Predefined lengths100198
+Node: Making paragraphs100713
+Node: \indent101285
+Node: \noindent101757
+Node: \parskip102043
+Node: Marginal notes102301
+Node: Math formulas103931
+Node: Subscripts & superscripts105713
+Node: Math symbols106180
+Node: Math functions112993
+Node: Math accents113936
+Node: Spacing in math mode114906
+Node: Math miscellany115537
+Node: Modes117035
+Node: Page styles118866
+Node: \maketitle119360
+Node: \pagenumbering120430
+Node: \pagestyle120843
+Node: \thispagestyle121983
+Node: Spaces122289
+Node: \hspace123348
+Node: \hfill123907
+Node: \SPACE124304
+Node: \AT124770
+Node: \thinspace125227
+Node: \/125486
+Node: \hrulefill126323
+Node: \dotfill126585
+Node: \addvspace126809
+Node: \bigskip \medskip \smallskip127301
+Node: \vfill127979
+Node: \vspace128284
+Node: Boxes128714
+Node: \mbox129433
+Node: \fbox and \framebox129720
+Node: lrbox130523
+Node: \makebox130840
+Node: \parbox131553
+Node: \raisebox132882
+Node: \savebox133479
+Node: \sbox133894
+Node: \usebox134343
+Node: Special insertions134601
+Node: Reserved characters135245
+Node: Text symbols136648
+Node: Accents139955
+Node: Non-English characters142428
+Node: \rule143099
+Node: \today143526
+Node: Splitting the input143971
+Node: \include144612
+Node: \includeonly145199
+Node: \input145691
+Node: Front/back matter146182
+Node: Tables of contents146387
+Node: \addcontentsline147415
+Node: \addtocontents148315
+Node: Glossaries148826
+Node: Indexes149345
+Node: Letters150972
+Node: \address152913
+Node: \cc153518
+Node: \closing153754
+Node: \encl153987
+Node: \location154179
+Node: \makelabels154441
+Node: \name154730
+Node: \opening154952
+Node: \ps155277
+Node: \signature155460
+Node: \startbreaks155743
+Node: \stopbreaks155965
+Node: \telephone156180
+Node: Terminal input/output156412
+Node: \typein156677
+Node: \typeout157258
+Node: Command line157881
+Node: Document templates158576
+Node: book template158980
+Node: beamer template159323
+Node: tugboat template159862
+Node: Concept Index162012
+Node: Command Index198773
+
+End Tag Table
diff --git a/Master/texmf-dist/doc/info/latex2man.info b/Master/texmf-dist/doc/info/latex2man.info
new file mode 100644
index 00000000000..20f024d7e05
--- /dev/null
+++ b/Master/texmf-dist/doc/info/latex2man.info
@@ -0,0 +1,1055 @@
+This is latex2man.info, produced by makeinfo version 4.13 from
+latex2man.texi.
+
+INFO-DIR-SECTION Man-pages
+START-INFO-DIR-ENTRY
+* Latex2man: (latex2man). Its Man-Page
+END-INFO-DIR-ENTRY
+
+
+File: latex2man.info, Node: Top, Next: Description, Prev: (dir), Up: (dir)
+
+latex2man
+*********
+
+Latex2man is a tool to translate UNIX manual pages written with
+LaTeXinto a format understood by the UNIX man(1)-command.
+Alternatively HTML, TexInfo, or LaTeX code can be produced too. Output
+of parts of the text may be suppressed using the conditional text
+feature (for this, LaTeX generation may be used).
+
+Synopsis
+========
+
+latex2man [ -tTRANSFILE ] [ -cCSSFILE ] [ -HMTL ] [ -h ] [ -V ] [
+-CNAME ]
+[ -aCHAR ] INFILE OUTFILE
+
+* Menu:
+
+* Description::
+* Options::
+* Files::
+* See Also::
+* LaTeX commands::
+* Package Options::
+* Package Specific Environments::
+* Accepted LaTeX Environments::
+* Package Specific Macros::
+* Accepted Macros from the rcsinfo Package::
+* Accepted LaTeX Macros::
+* Conditional Text::
+* Translation of User Defined Macros::
+* Verbatim Environment::
+* Subsection works::
+* Subsubsection works::
+* Subsubsection still works::
+* General Remarks::
+* CSS classnames::
+* Some Bug Fix Tests::
+* Requirements::
+* Changes::
+* Version::
+* License and Copyright::
+* Author::
+
+
+File: latex2man.info, Node: Description, Next: Options, Prev: Top, Up: Top
+
+Description
+===========
+
+Latex2man reads the file INFILE and writes OUTFILE. The input must be
+a LaTeX document using the latex2man LaTeXpackage. Latex2man
+translates that document into the troff(1) format using the -man macro
+package.
+
+ Using the -H option, HTML code can be produced, instead of troff(1).
+With this option you can, optionally, specify a CSSFILE as an argument.
+CSS (Cascading Style Sheets) allows you to control the appearance of
+the resulting HTML page. See below for the names of CSS classes that
+are included in the HTML tags as attributes.
+
+ Using the -T option, TexInfo code can be produced, instead of
+troff(1).
+
+ Using the -M option, troff(1) input is produced.
+
+ Using the -L option, LaTeX ouput can be produced, instead of
+troff(1).
+
+
+File: latex2man.info, Node: Options, Next: Files, Prev: Description, Up: Top
+
+Options
+=======
+
+`-tTRANSFILE'
+ Translation for user defined LaTeX macros.
+
+`-cCSSFILE'
+ If you use the -H you can also specify a file that contains CSS
+ style sheets. The link to the CSS file is inserted into the
+ generatedHTML output using the specified CSSFILE filename.
+
+`-M'
+ Produce output suitable for the man(1) command (default).
+
+`-H'
+ Instead of producing output suitable for the man(1) command, HTML
+ code is produced (despite the name of the command).
+
+`-T'
+ Instead of producing output suitable for the man(1) command,
+ TexInfo code is produced (despite the name of the command). The
+ generated `.texi'-file may be processed with makeinfo(1) (to
+ produce an `.info'-file) which in turn may be installed using
+ install-info(1). The Info tags @dircategory and @direntry are
+ provided.
+
+`-L'
+ The LaTeX source is written to the OUTFILE. This is useful in
+ conjunction with the -CNAME option.
+
+`-CNAME'
+ Output the conditional text for NAME. If more than one name
+ should be given use quotes: -C'NAME1 NAME2 ...'
+ The following names are defined automatically:
+ * -H defines HTML
+
+ * -T defines TEXI
+
+ * -M defines MAN
+
+ * -L defines LATEX
+
+`-aCHAR'
+ Is used only in conjunction with -T.
+ Background:
+ TexInfo ignores all blanks before the first word on a new line. In
+ order to produce some additional space before that word (using
+ \SP) some character has to be printed before the additional space.
+ By default this is a . (dot). The CHAR specifies an alternative
+ for that first character. Giving a blank to -a supresses the
+ indentation of a line.
+ Note: only for the first \SP of a series that CHAR is printed.
+
+`-h'
+ Show a help text.
+
+`-V'
+ Show version information.
+
+
+File: latex2man.info, Node: Files, Next: See Also, Prev: Options, Up: Top
+
+Files
+=====
+
+``latex2man.tex''
+ The LaTeX file containing this Man-page.
+
+``latex2man.sty''
+ The LaTeX package defining the environments and commands.
+
+``latex2man.cfg''
+ The configuration file for Latex2man LaTeX-package.
+
+``latex2man.css''
+ File containing example CSS definitions.
+
+``latex2man.trans''
+ File containing example translations of user defined LaTeX macros.
+
+``fancyheadings.sty''
+ A LaTeX package used to typeset head- and foot lines.
+
+``fancyhdr.sty''
+ A LaTeX package used to typeset head- and foot lines.
+
+``rcsinfo.sty''
+ A LaTeX package used to extract and use RCS version control
+ information in LaTeX documents.
+
+``latex2man.pdf''
+ The PDF version of this document.
+
+
+File: latex2man.info, Node: See Also, Next: LaTeX commands, Prev: Files, Up: Top
+
+See Also
+========
+
+LaTeX,TexInfo, troff(1), groff(1), makeinfo(1).
+
+
+File: latex2man.info, Node: LaTeX commands, Next: Package Options, Prev: See Also, Up: Top
+
+LaTeX commands
+==============
+
+The LaTeX package latex2man is used to write the Man-pages with
+LaTeX.Since we translate into other text formats, not all LaTeX stuff
+can be translated.
+
+
+File: latex2man.info, Node: Package Options, Next: Package Specific Environments, Prev: LaTeX commands, Up: Top
+
+Package Options
+---------------
+
+The latex2man package accepts the following options:
+
+`fancy'
+ use the LaTeX package fancyheadings.
+
+`fancyhdr'
+ use the LaTeX package fancyhdr.
+
+`nofancy'
+ neither the LaTeX package fancyheadings nor fancyhdr are used.
+
+ The default option may be specified in the file latex2man.cfg.
+
+
+File: latex2man.info, Node: Package Specific Environments, Next: Accepted LaTeX Environments, Prev: Package Options, Up: Top
+
+Package Specific Environments
+-----------------------------
+
+The following environments are provided by the package:
+`\begin{Name}{chapter}{name}{author}{info}{title}'
+ The Name environment takes five arguments: 1. the Man-page
+ chapter, 2. the name of the Man-page, 3. the author, 4. some
+ short information about the tool printed in the footline of the
+ Man-page, and 5. a text which is used as title, for HTML and
+ LaTeX (it's ignored for output of the Man-page or TeXinfo. The Name
+ environment must be the first environment in the document.
+ Processing starts with this environment. Any text before this is
+ ignored (exception: the setVersion and setDate commands). (Note:
+ all arguments of \begin{Name} must be written on one line).
+
+`\begin{Table}[width]{columns}'
+ The Table environment takes two arguments: the first optional one
+ specifies a width of the last column, the second one gives the
+ number of columns. For example:
+
+ \begin{Table}[2cm]{3}
+ Here & am & I \\\hline
+ A 1 & A 2 & A 3 1 2 3 4 5 A 3 1 2 3 4 5 \\
+ B 1 & B 2 & B 3 \\
+ \end{Table}
+
+ will be typeset as:
+
+ Here am I
+ A 1 A 2 A 3 1 2 3 4 5 A 3 1
+ 2 3 4 5
+ B 1 B 2 B 3
+
+ If no optional _width_ argument is given, all entries are typeset
+ left justified. The _width_ is a length measured absolutly in
+ _cm_. Processing with LaTeX a p{width} column is typeset as last
+ column. The translation to troff(1) commands results in a lw(width)
+ column specification. Translating to HTML and TexInfo ignores the
+ _width_ parameter.
+
+ \hline may be used.
+
+ If the Man-page is formatted with troff(1) and tables are used, the
+ tbl(1) preprocessor should be called, usually by giving a -t to
+ the call of troff(1). When viewing the generated manula page
+ using man(1), tbl(1) is called automatically.
+
+`\begin{Description}'
+ is the same as \begin{description}
+
+`\begin{Description}[label]'
+ is similar to \begin{description}, but the item labels have at
+ minimum the size of the (optional) word _label_. The difference
+ is visible only in the DVI and PDF-output, not in the troff,
+ TexInfo or HTML output.
+ `a'
+ |a \begin{description}
+
+ `ab'
+ |ab
+
+ `abc'
+ |abc
+
+ `a'
+ |a \begin{Description}
+
+ `ab'
+ |ab
+
+ `abc'
+ |abc
+
+ `a'
+ |a \begin{Description}[aa]
+
+ `ab'
+ |ab
+
+ `abc'
+ |abc
+
+
+File: latex2man.info, Node: Accepted LaTeX Environments, Next: Package Specific Macros, Prev: Package Specific Environments, Up: Top
+
+Accepted LaTeX Environments
+---------------------------
+
+The following environments are accepted:
+ * description
+
+ * enumerate
+
+ * itemize
+
+ * verbatim
+
+ * center
+
+ They may be nested:
+ * Itemize and nested center:
+
+ A centered line.
+ Another centered line.
+
+ * Another item an nested enumerate
+ 1. a
+
+ 2. b
+
+
+File: latex2man.info, Node: Package Specific Macros, Next: Accepted Macros from the rcsinfo Package, Prev: Accepted LaTeX Environments, Up: Top
+
+Package Specific Macros
+-----------------------
+
+The following commands are provided:
+`\Opt{option}'
+ Option: \Opt{-o} will be typeset as -o.
+
+`\Arg{argument}'
+ Argument: \Arg{filename} will be typeset as FILENAME.
+
+`\OptArg{option}{argument}'
+ Option with Argument:
+ \OptArg{-o}{filename} will be typeset as -oFILENAME.
+
+`\OptoArg{option}{argument}'
+ Option with optional Argument:
+ \OptoArg{-o}{filename} will be typeset as -o[FILENAME].
+
+`\oOpt{option}'
+ Optional option, e.g. \oOpt{-o} will be typeset as [ -o ].
+
+`\oArg{argument}'
+ Optional argument, e.g. \oArg{filename} will be typeset as [
+ FILENAME ].
+
+`\oOptArg{option}{argument}'
+ Optional option with argument, e.g.
+ \oOptArg{-o}{filename} will be typeset as [ -oFILENAME ].
+
+`\oOptoArg{option}{argument}'
+ Optional option with optional argument, e.g.
+ \oOptoArg{-o}{filename} will be typeset as [ -o[FILENAME] ].
+
+`\File{filename}'
+ used to typeset filenames, e.g. \File{filename} will be typeset
+ as `filename'.
+
+`\Prog{prog}'
+ used to typeset program names, e.g. \Prog{latex2man} will be
+ typeset as latex2man.
+
+`\Cmd{command}{chapter}'
+ used to typeset references to other commands, e.g.
+ \Cmd{latex2man}{1} will be typeset as latex2man(1).
+
+`\Bar'
+ is typeset as |.
+
+`\Bs'
+ (BackSlash) is typeset as \.
+
+`\Tilde'
+ is typeset as a ~.
+
+`\Dots'
+ is typeset as ...
+
+`\Bullet'
+ us typeset as *.
+
+`\setVersion{..}'
+ set .. as version information.
+
+`\setVersionWord{..}'
+ set .. for the word _Version:_ in the footline.
+ The default is \setVersionWord{Version:}.
+
+`\Version'
+ returns the version information.
+
+`\setDate{..}'
+ sets .. as date information.
+
+`\Date'
+ returns the date information.
+
+`\Email{..}'
+ use to mark an Email address:
+ \Email{Juergen.Vollmer@informatik-vollmer.de} is typeset as:
+ <Juergen.Vollmer@informatik-vollmer.de>.
+
+`\URL{..}'
+ use to mark an URL: \URL{http://www.foo.de/\Tilde vollmer} is
+ typeset as
+ `http://www.foo.de/~vollmer'.
+
+`\LatexManEnd'
+ the input file is read and processed until reading end-of-file or
+ \LatexManEnd (at the beginning of a line). LaTeXignores this
+ command.
+
+`\Lbr, \Rbr'
+ is typeset as [ and ] (these variants are needed only somtimes
+ like in
+ \item[FooBar\LBr xx \Lbr]. Usually [ ] will work.
+
+`\LBr, \RBr'
+ is typeset as { and } (these variants are needed when using { or }
+ as arguments to macros.
+
+`\Circum'
+ is typeset as ^.
+
+`\Percent'
+ is typeset as %.
+
+`\TEXbr'
+ If processed with LaTeX causes a linebreak (i.e. is equivalent to
+ \\).In the output of latex2man this macro is ignored.
+
+`\TEXIbr'
+ If TexInfo output is generated, causes a linebreak (i.e. is
+ equivalent to \\),otherwise ignored.
+
+`\MANbr'
+ If Man-Page output is generated, causes a linebreak (i.e. is
+ equivalent to \\),otherwise ignored.
+
+`\HTMLbr'
+ If HTML output is generated, causes a linebreak (i.e. is
+ equivalent to \\),otherwise ignored.
+
+`\medskip'
+ An empty line.
+
+`\SP'
+ Produces some extra space, works also at the beginning of lines.
+ The code of the second line looks like: \SP abc \SP\SP xx\\:
+ abc xx
+ . abc xx
+ . . abc xx
+
+ Note: Due to some "problems" with TexInfo, the lines starting with
+ \SP have a leading . (dot) in the TexInfo output, see -aCHAR.
+
+
+File: latex2man.info, Node: Accepted Macros from the rcsinfo Package, Next: Accepted LaTeX Macros, Prev: Package Specific Macros, Up: Top
+
+Accepted Macros from the rcsinfo Package
+----------------------------------------
+
+`\rcsInfo $Id ...$'
+ if the LaTeX package `rcsinfo' is used, this command is used to
+ extract the date of the Man-page.
+
+`\rcsInfoLongDate'
+ if the LaTeX package `rcsinfo' is used, this command is used to
+ typeset the date coded in the $Id ..$ string.
+
+
+File: latex2man.info, Node: Accepted LaTeX Macros, Next: Conditional Text, Prev: Accepted Macros from the rcsinfo Package, Up: Top
+
+Accepted LaTeX Macros
+---------------------
+
+The following standard LaTeX commands are accepted:
+`\section{..}'
+ The section macro takes one argument: the name of the Man-page
+ section. Each Man-page consists of several sections. Usually
+ there are the following sections in a Man-page: _Name_ (special
+ handling as environment, c.f. above), _Synopsis_, _Description_,
+ _Options_, _Files_, _See Also_, _Diagnostics_, _Return Values_,
+ _Bugs_, _Author_, _version_, etc.
+
+ _Synopsis_ must be the first section after the Name environment.
+
+ Note: Do not use LaTeX-macrosin section names.
+
+`\subsection{..}'
+ works as well as
+
+`\subsubsection{..}'
+ those.
+
+`\emph{..}'
+ \emph{example} is typeset as _example_.
+
+`\textbf{..}'
+ \textbf{example} is typeset as *example*.
+
+`\texttt{..}'
+ \textt{example} is typeset as example.
+
+`\underline{..}'
+ \underline{example} is typeset as example of underline.
+
+`\date{..}'
+ uses .. as date.
+
+`\verb+..+'
+ but only + is allowed as delimiter.
+
+`$<$'
+ is typeset as <.
+
+`$>$'
+ is typeset as >.
+
+`$<=$'
+ is typeset as <=.
+
+`$>=$'
+ is typeset as >=.
+
+`$=$'
+ is typeset as =.
+
+`$<>$'
+ is typeset as <>.
+
+`$\ge$'
+ is typeset as $>=$.
+
+`$\le$'
+ is typeset as $<=$.
+
+`$\leftarrow$'
+ is typeset as $<-$.
+
+`$\Leftarrow$'
+ is typeset as $<==$.
+
+`$\rightarrow$'
+ is typeset as $->$.
+
+`$\Rightarrow$'
+ is typeset as $==>$.
+
+`\{'
+ is typeset as {.
+
+`\}'
+ is typeset as }.
+
+`\$'
+ is typeset as $.
+
+`\$'
+ is typeset as $,should be used inside macro arguments.
+
+`\_'
+ is typeset as _.
+
+`\&'
+ is typeset as &.
+
+`\#'
+ is typeset as #.
+
+`\%'
+ is typeset as %.
+
+`\,'
+ is typeset as smaller blank - - (between the two -)
+
+`\-'
+ is used to mark hyphenation in a word.
+
+`\\'
+ is typeset as a linebreak or marks the end of a column in the Table
+ environment.
+
+`\'
+ (a \ followed by a blank) is typeset as a blank, although it
+ cannot be used at the beginning of a line to make indentation (see
+ the \SP command).
+
+`~'
+ is typeset as a blank.
+
+`\copyright'
+ is typeset as (C).
+
+`\noindent'
+
+`\hline'
+ inside a Table environment.
+
+`\item'
+ inside a itemize, enumerate, or description environment.
+
+`\today'
+ 22 December 2010(see also the rcsinfo LaTeXpackage).
+
+`\ss,\"a, ...'
+ \ss = ss, \"a= a", \"o= o", \"u= u", \"A= A", \"O= O", \"U= U". It
+ is allowed to surround these macros in { and } in all places, even
+ inside other macros, e.g.
+ . \textbf{\"a\"o\"u\"A\"O\"U\ss}
+ . \textbf{\"a}{\"o}{\"u}{\"A}{\"O}{\"U}{\ss}}
+ . \textbf{äöüÄÖÜß}
+ *a"o"u"A"O"U"ss a"o"u"A"O"U"ss a"o"u"A"O"U"ss*
+
+ If these letters are used in their LATIN-1 8-bit coding, they are
+ translated into the equivalent letter of the desired output format.
+ E.g. A" becomes &Auml; in HTML and @"A in texinfo.
+
+
+File: latex2man.info, Node: Conditional Text, Next: Translation of User Defined Macros, Prev: Accepted LaTeX Macros, Up: Top
+
+Conditional Text
+----------------
+
+latex2man preprocesses the LaTeX input to allow text to be used
+conditionally. A special sort of LaTeX comment is used for that purpose.
+ * %@% IF _condition_ %@%
+
+ * %@% ELSE %@%
+
+ * %@% END-IF %@%
+
+ A line must contain only such a comment and nothing else. _condition_
+is a boolean expression containing "names" and operators. The names
+given with the -CNAME option have the value "true", while all other
+names occuring in the expression are assumed to be "false". If the
+evaluation of the boolean expression results in the value "true", the
+text in the "then"-part is used and the text in the optional
+"else"-part is skipped (and vice versa). The IF/ELSE/END-IF may be
+nested. As boolean operators the following are allowed:
+
+|| boolean or
+&& boolean and
+! negation
+
+ ( and ) for grouping are allowed.
+
+For example:
+%@% IF abc %@%
+abc set
+%@% IF xyz %@%
+xyz set
+%@% ELSE %@%
+xyz NOT set
+%@% END-IF %@%
+%@% ELSE %@%
+abc NOT set
+%@% IF xyz || !XYZ %@%
+xyz OR !XYZ set
+%@% ELSE %@%
+xyz OR !XYZ NOT set
+%@% END-IF %@%
+%@% END-IF %@%
+
+Run this manual page through latex2man with e.g. -C'ABC XYZ' and have
+a look to the generated output. (If simply running the LaTeX-document
+through LaTeX,all lines are shown in the .dvi file).
+abc NOT set
+xyz OR !XYZ set
+To check the conditional text feature, when latex2man is called with
+`-CHTML'
+ the lines 1a, 2b, 3b, and 4b;
+
+`-CTEXI'
+ the lines 1b, 2a, 3b, and 4b;
+
+`-CMAN'
+ the lines 1b, 2b, 3a, and 4b;
+
+`-CLATEX'
+ the lines 1b, 2b, 3b, and 4a;
+
+`calling LaTeX without preprocessing'
+ all lines
+ should be shown:
+
+ 1b. The HTML conditional was not set.
+
+ 2a. This text occurs only when viewing the TEXI output
+
+ 3b. The MAN conditional was not set.
+
+ 4b. The LATEX conditional was not set.
+
+
+File: latex2man.info, Node: Translation of User Defined Macros, Next: Verbatim Environment, Prev: Conditional Text, Up: Top
+
+Translation of User Defined Macros
+----------------------------------
+
+The user macro translation file (given by the [ -tTRANSFILE ]) contains
+Perl commands specifying the translation of LaTeX macros defined by the
+user. These macros may have none, one or two arguments. The following
+code is expected:
+
+ * Comments start with a # up to the end of the line.
+
+ * For a macro \foo with no arguments, the following code must be
+ specified:
+ `Translation to Man-Pages'
+ $manMacro{'foo'} = '...';
+
+ `Translation to HTML'
+ $htmlMacro{'foo'} = '...';
+
+ `Translation to TexInfo'
+ $texiMacro{'foo'} = '...';
+
+ where ... is the translation.
+
+ * For a macro \foo{..} with one argument, the following code must be
+ specified:
+ `Translation to Man-Pages'
+ $manMacro1a{'foo'} = '...';
+ $manMacro1b{'foo'} = '...';
+
+ `Translation to HTML'
+ $htmlMacro1a{'foo'} = '...';
+ $htmlMacro1b{'foo'} = '...';
+
+ `Translation to TexInfo'
+ $texiMacro1a{'foo'} = '...';
+ $texiMacro1b{'foo'} = '...';
+
+ where ... is the translation. The 1a code is used before the
+ argument, while 1b is typeset after the argument is set.
+
+ * For a macro \foo{..}{..} with two arguments, the following code
+ must be specified:
+ `Translation to Man-Pages'
+ $manMacro2a{'foo'} = '...';
+ $manMacro2b{'foo'} = '...';
+ $manMacro2c{'foo'} = '...';
+
+ `Translation to HTML'
+ $htmlMacro2a{'foo'} = '...';
+ $htmlMacro2b{'foo'} = '...';
+ $htmlMacro2c{'foo'} = '...';
+
+ `Translation to TexInfo'
+ $texiMacro2a{'foo'} = '...';
+ $texiMacro2b{'foo'} = '...';
+ $texiMacro2c{'foo'} = '...';
+
+ where ... is the translation. The 2a code is used before the first
+ argument, 2b between the two arguments and 2c is typeset after the
+ second argument is set.
+
+ * The file `latex2man.trans' contains some example code.
+
+
+File: latex2man.info, Node: Verbatim Environment, Next: Subsection works, Prev: Translation of User Defined Macros, Up: Top
+
+Verbatim Environment
+--------------------
+
+.This
+. {is}
+. \texttt{a}
+. $test$
+. _of_
+.verbatim
+.<this is no HTML tag> and no @* TexInfo command
+
+File: latex2man.info, Node: Subsection works, Next: Subsubsection works, Prev: Verbatim Environment, Up: Top
+
+Subsection works
+----------------
+
+This is a \subsection.
+
+
+File: latex2man.info, Node: Subsubsection works, Next: Subsubsection still works, Prev: Subsection works, Up: Top
+
+Subsubsection works
+...................
+
+This is a \subsubsection.
+
+
+File: latex2man.info, Node: Subsubsection still works, Next: General Remarks, Prev: Subsubsection works, Up: Top
+
+Subsubsection still works
+.........................
+
+This is another \subsubsection.
+
+
+File: latex2man.info, Node: General Remarks, Next: CSS classnames, Prev: Subsubsection still works, Up: Top
+
+General Remarks
+---------------
+
+ 1. Empty lines are typeset as paragraph separators.
+
+ 2. The arguments of the LaTeX commands must not be split over several
+ lines.
+
+ 3. Do not nest calls to macros.
+
+ 4. Except the mentioned environment and macros, the usage of other
+ LaTeX environments or macros are not translated. Their usage will
+ cause garbage in the output.
+
+ 5. latex2man requires Perl version >= 5.0004_03.
+
+ 6. If you want to install the system with the distributed `Makefile',
+ you need GNU-make. If you don't have it, you should execute the
+ steps shown in the `Makefile' manually.
+
+
+File: latex2man.info, Node: CSS classnames, Next: Some Bug Fix Tests, Prev: General Remarks, Up: Top
+
+CSS classnames
+==============
+
+The table below shows the names of CSS classes that will be included in
+the HTML tags as attributes. You can specify the CSS style properties
+in the CSSFILE for these classes:
+
+
+*HTML tag* *Class* *Style applies to*
+body the body of the HTML
+ page
+h1 titlehead the title at the top
+ of the HTML page
+ specified as an
+ argument to the _Name_
+ environment
+h4 authorhead the author at the top
+ of the HTML page
+ specified as an
+ argument to the _Name_
+ environment
+h4 datehead the date at the top
+ of the HTML page
+h4 versionhead the man page version
+ at the top of the
+ HTML page specified
+ as an argument to the
+ _setVersion_ macro
+h2 sectionname a section title
+ specified as an
+ argument to the
+ _section_ macro
+h4 subsectionname a subsection title
+ specified as an
+ argument to the
+ _subsection_ macro
+h5 subsubsectionname a subsubsection title
+ specified as an
+ argument to the
+ _subsubsection_ macro
+font progname a program name
+ specified as an
+ argument to the _Prog_
+ macro
+font filename a file name specified
+ as an argument to the
+ _File_ macro
+font commandname a command name
+ specified as an
+ argument to the _Cmd_
+ macro
+font textstyle all text that is not
+ an argument to some
+ LaTeX or latex2man
+ macro
+font optstyle a name of an option
+ specified as an
+ argument to the _Opt_,
+ _oOpt_, _OptArg_,
+ _oOptArg_ or
+ _oOptoArg_ macros
+font argstyle a name of an argument
+ specified as an
+ argument to the _Arg_,
+ _oArg_, _OptArg_,
+ _oOptArg_ or
+ _oOptoArg_ macros
+a, font urlstyle a URL specified as an
+ argument to the _URL_
+ macro
+a, font urlstyle.link subclass of urlstyle
+ class
+a, font urlstyle.visited subclass of urlstyle
+ class
+a, font urlstyle.hover subclass of urlstyle
+ class
+a, font emailstyle an email specified as
+ an argument to the
+ _Email_ macro
+a, font emailstyle.link subclass of
+ emailstyle class
+a, font emailstyle.visited subclass of
+ emailstyle class
+a, font emailstyle.hover subclass of
+ emailstyle class
+table tablestyle a table specified as
+ a _Table_ environment
+tr rowstyle a row of a table
+ specified as a _Table_
+ environment
+td cellstyle a cell of a table
+ specified as a _Table_
+ environment
+
+
+File: latex2man.info, Node: Some Bug Fix Tests, Next: Requirements, Prev: CSS classnames, Up: Top
+
+Some Bug Fix Tests
+==================
+
+`Leading . and ''
+ Now leading . and ' in generation troff output should work
+ propperly, since a \& is added. Therfore the \Dot macro has been
+ deleted.
+ Thanks to <Frank.Schilder@Mathematik.Tu-Ilmenau.De>.
+ Testcase 1:
+ `'\n''
+ ...
+ Testcase 2:
+ `.foobar' Testcase 3:
+ ... abc ...abc . efg ' 123
+
+`% in verbatim'
+ A % in a \verb and verbatim-environment was not emitted correctly.
+ Thanks to Aleksey Nogin <nogin@cs.caltech.edu> for the bug report
+ and bug fix.
+
+ % abc
+
+ . % abc %
+ but ignore comments following this:
+
+
+
+File: latex2man.info, Node: Requirements, Next: Changes, Prev: Some Bug Fix Tests, Up: Top
+
+Requirements
+============
+
+`Perl'
+ latex2man requires Perl version >= 5.0004_03.
+
+`Make'
+ If you want to install the system with the distributed `Makefile',
+ you need GNU-make. If you don't have it, you should execute the
+ steps shown in the `Makefile' manually.
+
+`LaTeX'
+ LaTeX2e is required.
+
+
+File: latex2man.info, Node: Changes, Next: Version, Prev: Requirements, Up: Top
+
+Changes
+=======
+
+Please check the file `latex2man-CHANGES' for the list of changes and
+acknowledgment to people contributing bugfixes or enhancements.
+
+
+File: latex2man.info, Node: Version, Next: License and Copyright, Prev: Changes, Up: Top
+
+Version
+=======
+
+Version: 1.24 of 2010/12/22.
+
+
+File: latex2man.info, Node: License and Copyright, Next: Author, Prev: Version, Up: Top
+
+License and Copyright
+=====================
+
+`Copyright'
+ (C)1998, Dr. Ju"rgen Vollmer, Viktoriastrasse 15, D-76133
+ Karlsruhe, Germany,
+ <Juergen.Vollmer@informatik-vollmer.de>
+
+ The actual version of Latex2man may be found on my homepage
+ `http://www.informatik-vollmer.de/software/latex2man.html'.
+
+`License'
+ This program can be redistributed and/or modified under the terms
+ of the LaTeX Project Public License Distributed from CTAN archives
+ in directory `macros/latex/base/lppl.txt'; either version 1 of the
+ License, or any later version.
+
+`Misc'
+ If you find this software useful, please send me a postcard from
+ the place where you are living.
+
+
+File: latex2man.info, Node: Author, Prev: License and Copyright, Up: Top
+
+Author
+======
+
+Dr. Ju"rgen Vollmer
+Viktoriastrasse 15
+D-76133 Karlsruhe
+Email: <Juergen.Vollmer@informatik-vollmer.de>
+WWW: `http://www.informatik-vollmer.de'.
+
+
+
+Tag Table:
+Node: Top187
+Node: Description1287
+Node: Options2141
+Node: Files4057
+Node: See Also4868
+Node: LaTeX commands5024
+Node: Package Options5307
+Node: Package Specific Environments5759
+Node: Accepted LaTeX Environments8547
+Node: Package Specific Macros9079
+Node: Accepted Macros from the rcsinfo Package12665
+Node: Accepted LaTeX Macros13162
+Node: Conditional Text16231
+Node: Translation of User Defined Macros18269
+Node: Verbatim Environment20383
+Node: Subsection works20709
+Node: Subsubsection works20884
+Node: Subsubsection still works21073
+Node: General Remarks21279
+Node: CSS classnames22017
+Node: Some Bug Fix Tests27698
+Node: Requirements28436
+Node: Changes28850
+Node: Version29089
+Node: License and Copyright29232
+Node: Author30026
+
+End Tag Table
diff --git a/Master/texmf-dist/doc/info/mf2pt1.info b/Master/texmf-dist/doc/info/mf2pt1.info
new file mode 100644
index 00000000000..796a095453d
--- /dev/null
+++ b/Master/texmf-dist/doc/info/mf2pt1.info
@@ -0,0 +1,714 @@
+This is mf2pt1.info, produced by makeinfo version 4.13 from mf2pt1.texi.
+
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* mf2pt1:: Produce PostScript Type 1 fonts from Metafont source
+END-INFO-DIR-ENTRY
+
+ *mf2pt1*: Produce PostScript Type 1 fonts from Metafont source
+
+ Copyright 2012 Scott Pakin.
+
+
+File: mf2pt1.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
+
+mf2pt1
+******
+
+`mf2pt1' is a tool that lets font designers design PostScript Type 1
+fonts using the Metafont language. The same source file can be used
+to produce both Type 1 (`.pfb') and bitmap (`.pk') fonts.
+
+* Menu:
+
+* Introduction:: Introduction to mf2pt1
+* Usage:: How to use mf2pt1
+* Future Work:: Features I may one day add to mf2pt1
+* Acknowledgments:: People who helped with mf2pt1
+
+
+File: mf2pt1.info, Node: Introduction, Next: Usage, Prev: Top, Up: Top
+
+1 Introduction
+**************
+
+Metafont is a high-level, mathematically oriented language for
+producing fonts. The Metafont interpreter produces device-dependent
+bitmaps, which render well at the target resolution on the target
+device, but poorly at other resolutions or on other devices. Adobe's
+PostScript Type 1 font format is the de facto font standard for
+printers these days. It is a vector format, which implies that it
+scales better than bitmaps, and it delegates the device- and
+resolution-dependent tweaking from the font source to the target
+device's PostScript renderer. However, Type 1 fonts are extremely
+difficult to code by hand. Usually, one uses a WYSIWYG program to
+design a Type 1 font. Metafont , with its font-specific programming
+language, is an elegant alternative. A font designer can write
+reusable subroutines for repeated features, such as serifs and accents.
+He can define a font in terms of arbitrary parameters, such as
+"boldness" or "italicness", making it trivial to produce entire
+families of fonts from a single source (hence the "meta" in the name
+"Metafont "). Ideally, we would like to design a font using the
+Metafont language, but produce PostScript Type 1 output instead of
+bitmaps.
+
+`mf2pt1' helps bridge the gap between Metafont and Type 1 fonts.
+`mf2pt1' facilitates producing PostScript Type 1 fonts from a Metafont
+source file. It is _not_, as the name may imply, an automatic
+converter of arbitrary Metafont fonts to Type 1 format. `mf2pt1'
+imposes a number of restrictions on the Metafont input. If these
+restrictions are met, `mf2pt1' will produce valid Type 1 output.
+
+* Menu:
+
+* Requirements:: Pre-installation checklist
+* Installation:: How to install mf2pt1
+
+
+File: mf2pt1.info, Node: Requirements, Next: Installation, Prev: Introduction, Up: Introduction
+
+1.1 Requirements
+================
+
+Before using `mf2pt1', you will need to install the following programs:
+
+Perl
+ `mf2pt1' is written in Perl. You will need a Perl interpreter to
+ run it.
+
+MetaPost
+ `mf2pt1' actually uses MetaPost, not Metafont , to produce
+ PostScript output. Specifically, you will need the `mpost'
+ executable and the `mfplain.mp' base file.
+
+Type 1 Utilities
+ Producing properly encoded Type 1 fonts is tricky. `mf2pt1'
+ delegates the effort to the Type 1 Utilities, specifically, to the
+ `t1asm' program within that suite.
+
+FontForge (optional)
+ FontForge is a WYSIWYG, but scriptable, Type 1 font-editing
+ program. Although FontForge is not strictly required for `mf2pt1'
+ to produce a Type 1 font, `mf2pt1' uses FontForge when available
+ to autohint the generated Type 1 font, thereby making it look
+ better especially at lower resolutions.
+
+ Perl is available from the Comprehensive Perl Archive Network
+(http://www.cpan.org); MetaPost and the Type 1 utilities are available
+from the Comprehensive TeX Archive Network (http://www.ctan.org); and,
+FontForge is available from `http://fontforge.sourceforge.net/'. In
+addition, MetaPost's home page is
+`http://cm.bell-labs.com/who/hobby/MetaPost.html', and the Type 1
+utilities' home page is `http://www.lcdf.org/type/'.
+
+ Besides being useful for autohinting fonts, FontForge enables a font
+designer to hint fonts manually for additional fine-tuning and to
+convert among a variety of font formats, such as PostScript, TrueType,
+and X Window fonts. FontForge is strongly recommended as a complement
+to `mf2pt1'.
+
+
+File: mf2pt1.info, Node: Installation, Prev: Requirements, Up: Introduction
+
+1.2 Installation
+================
+
+To install `mf2pt1', move the `mf2pt1' executable someplace where your
+operating system can find it. If you're running Microsoft Windows, you
+should rename the program to `mf2pt1.pl', so that Windows knows it's a
+Perl script. (Alternatively, if you have `pl2bat', use that to produce
+a `mf2pt1.bat' file, which you can run as simply `mf2pt1'.)
+
+ The next step is to produce a `mf2pt1.mem' file from the supplied
+`mf2pt1.mp'. The command to do this differs from system to system but
+is usually something like the following:
+
+ mpost -progname=mpost -ini mf2pt1 \\dump
+
+ Move the resulting `mf2pt1.mem' file someplace where MetaPost can
+find it.
+
+
+ The `mf2pt1' documentation (what you're reading now) is written in
+Texinfo and can therefore easily be converted to a variety of formats:
+
+PDF (`mf2pt1.pdf')
+ texi2pdf mf2pt1.texi
+
+PostScript (`mf2pt1.ps')
+ texi2dvi mf2pt1.texi
+ dvips mf2pt1.dvi -o mf2pt1.ps
+
+HTML (`mf2pt1.html')
+ makeinfo --html mf2pt1.texi
+
+Info (`mf2pt1.info')
+ makeinfo mf2pt1.texi
+
+N.B. The `install-info' command is a convenient way to install
+`mf2pt1.info' on your system.
+
+
+ On Unix, you may also want to generate an `mf2pt1' man page. The
+man page is embedded within the `mf2pt1' Perl script and can be
+extracted with `pod2man':
+
+ pod2man --center="User Commands" --date="29 June 2012" \
+ --release="v2.5" mf2pt1 > mf2pt1.1
+
+You can then move `mf2pt1.1' into `/usr/man/man1' or any other man page
+directory. Note that the `mf2pt1' man page is fairly rudimentary. It
+is primarily a list of the command-line options (*note Font
+information::) and a pointer to the document that you're reading now.
+
+
+File: mf2pt1.info, Node: Usage, Next: Future Work, Prev: Introduction, Up: Top
+
+2 Usage
+*******
+
+`mf2pt1' is fairly straightforward to use. To process a Metafont
+source file, merely specify the filename:
+
+ mf2pt1 myfont.mf
+
+That simple command automatically performs all of the following
+operations:
+
+ 1. Read `myfont.mf'.
+
+ 2. Use `mpost' to convert each character to a separate Encapsulated
+ PostScript (EPS) file named `myfont.NUM'.
+
+ 3. Process and merge the EPS files into a single "disassembled"
+ Type 1 font called `myfont.pt1'.
+
+ 4. Run `t1asm' from the Type 1 Utilities to convert the disassembled
+ font into a true, binary Type 1 font called `myfont.pfb'.
+
+ 5. Invoke `fontforge' to apply rendering hints to `myfont.pfb' and to
+ attempt to remove overlapping paths.
+
+ The external programs launched by `mf2pt1'--`mpost', `t1asm', and
+`fontforge'--can be overridden by setting the eponymous, uppercase
+environment variable. For example, invoking FontForge's predecessor,
+PfaEdit, instead of FontForge is simply a matter of setting the
+`FONTFORGE' environment variable to `pfaedit' before invoking `mf2pt1'.
+As a corollary, you can inhibit an `mf2pt1' external program from
+running by setting the corresponding environment variable to the name
+of a nonexistent program.
+
+* Menu:
+
+* Restrictions:: Restrictions imposed on the font source code
+* Font information:: Specifying PostScript font characteristics
+* Additional command-line options:: Options unrelated to font characteristics
+* Custom font encodings:: Altering the mapping from character name to number
+* Restoring mfplain defaults:: Using the original (un)filldraw and pencircle
+
+
+File: mf2pt1.info, Node: Restrictions, Next: Font information, Prev: Usage, Up: Usage
+
+2.1 Restrictions
+================
+
+If `mf2pt1' sounds too good to be true, it is--somewhat. `mf2pt1' is
+not a general-purpose Metafont -to-Type 1 converter. Rather, it can
+convert only certain Metafont constructs. This is not a showstopper
+for new fonts designed with `mf2pt1' in mind, but it is unlikely that
+`mf2pt1' will work on an arbitrary Metafont source file.
+
+ `mf2pt1''s biggest restriction is that each glyph must be drawn
+entirely from closed paths, using Metafont 's *fill* and *unfill*
+commands. (`mf2pt1' has limited support for *draw* and *undraw*, but
+their use is currently discouraged. *filldraw* and *unfilldraw* issue a
+warning message and invoke *draw* and *undraw*, respectively.) The
+Type 1 format requires that these paths be nonoverlapping. The
+following are some of the alternatives for removing path overlaps:
+
+ 1. Install FontForge. As part of its final step in producing a
+ Type 1 font, `mf2pt1' instructs FontForge to replace overlapping
+ paths with nonoverlapping paths.
+
+ 2. Remove overlaps using Metafont code within the font program
+ itself. A `.zip' file attachment to a 6 January 2005 article
+ (http://tug.org/mailman/htdig/metapost/2005-January/000080.html) by
+ Boguslaw Jackowski on the MetaPost mailing list (subject: "Re: all
+ intersections between two paths") includes a MetaPost library which
+ assists with that task. The library provides a *find_outlines*
+ command which can be used to define a path as the union of two
+ other paths. A number of MetaPost example programs are also
+ included in the `.zip' file.
+
+ 3. Design your fonts from the beginning without using overlapping
+ paths.
+
+ A secondary restriction is that `mf2pt1' redefines a number of Plain
+Metafont commands, such as *beginchar*, *fill*, and *unfill*. Metafont
+font programs which redefine or bypass these (using Metafont
+primitives) will not be convertible with `mf2pt1'.
+
+ A far less severe restriction is due to `mf2pt1''s utilizing
+MetaPost's Metafont interface instead of Metafont itself. The
+implication is that commands not defined by MetaPost's `mfplain.mp'
+cannot be handled by `mf2pt1', either. Very few fonts will have a
+problem with this restriction but see the MetaPost manual for more
+information.
+
+
+File: mf2pt1.info, Node: Font information, Next: Additional command-line options, Prev: Restrictions, Up: Usage
+
+2.2 Specifying font information
+===============================
+
+Metafont fonts normally specify a set of *fontdimen*s which provide
+information about a particular font that cannot otherwise be inferred.
+These include features such as the font's x-height, quad width,
+interword stretchability and shrinkability, and other design
+characteristics that TeX makes use of. PostScript fonts utilize a
+largely different set of font parameters, such as the underline
+position and thickness, font family name, and copyright notice.
+`mf2pt1' provides Metafont commands to define the PostScript font
+parameters in the generated Type 1 font. These parameters should
+appear in the Metafont source file as follows:
+
+ if known ps_output:
+ ...
+ fi
+
+`ps_output' is defined by `mf2pt1' but not by Plain Metafont .
+Checking if it is known is the recommended way to determine if the font
+is being built under `mf2pt1'.
+
+* Menu:
+
+* Parameters:: Font-information commands available to Metafont
+* Command-line equivalents:: Specifying font features on the command line
+* Default values:: Types and default values of each parameter
+* Parameter example:: Metafont example which specifies all parameters
+
+
+File: mf2pt1.info, Node: Parameters, Next: Command-line equivalents, Prev: Font information, Up: Font information
+
+2.2.1 Parameters
+----------------
+
+ The following list presents all of the font-information commands
+provided by `mf2pt1' and describes what each command means. Commands
+marked with an asterisk are also defined by Plain Metafont and
+therefore do not need to be enveloped within a test for `ps_output'.
+
+*font_coding_scheme*
+ The mapping between character numbers and PostScript names. If
+ this is the name of a file, `mf2pt1' expects it to contain
+ PostScript code defining a font-encoding vector. *Note Custom
+ font encodings::, for an example of such a file. If
+ *font_coding_scheme* is not the name of a file, `mf2pt1' expects
+ it to be one of the literal strings `standard' (Adobe standard
+ encoding), `isolatin1' (ISO Latin 1 encoding), `ot1' (TeX 7-bit
+ encoding), `t1' (TeX 8-bit encoding), or `asis' (encoding
+ integrated with the character programs using the *glyph_name*
+ command as described in *note Custom font encodings::). Anything
+ else will generate a warning message and cause `mf2pt1' to use
+ `standard' instead.
+
+*font_comment*
+ A textual comment that will appear within the generated font.
+ This is often used for copyright notices.
+
+*font_family*
+ The family that this font belongs to. For example, "Utopia Bold
+ Italic" belongs to the `Utopia' family.
+
+*font_fixed_pitch*
+ Whether the font is monospaced (if *true*) or or proportionally
+ spaced (if *false*).
+
+*font_identifier (*)*
+ The full name of the font, e.g., `Utopia Bold Italic'.
+
+*font_name*
+ The symbolic font name, used to load the font from a PostScript
+ document. Spaces are forbidden. Generally, the font name is of
+ the form `FAMILY-MODIFIERS'. For example, the font name of Utopia
+ Bold Italic would be `Utopia-BoldItalic'.
+
+*font_size (*)*
+ The font design size. This is specified in "sharped" units within
+ Metafont code or as a point size on the command line.
+
+*font_slant (*)*
+ When specified with *font_slant*, the amount of slant per point.
+ When specified with `--italicangle', the angle in counterclockwise
+ degrees from the vertical (i.e., zero for an upright font,
+ negative for a right-slanting italic font).
+
+*font_underline_position*
+ The vertical position at which an underline should lie, specified
+ in "sharped" units within Metafont code or as a number of points
+ on the command line.
+
+*font_underline_thickness*
+ The thickness of an underline, specified in "sharped" units within
+ Metafont code or as a number of points on the command line.
+
+*font_unique_id*
+ The unique ID for this font. The ID should be between 0 and
+ 16,777,215. If not specified, `mf2pt1' will choose an ID at
+ random from the "open" range, 4,000,000-4,999,999. All IDs not in
+ that range are allocated by contacting Adobe's UniqueID
+ Coordinator. (I don't believe a fee is involved, but I don't know
+ for sure.)
+
+*font_version*
+ The version number of the font. This should be of the form
+ `MMM.MMM', where MMM is the major version number and MMM is the
+ minor version number.
+
+*font_weight*
+ The font weight. For example, the font weight of Utopia Bold
+ Italic is `Bold'.
+
+
+File: mf2pt1.info, Node: Command-line equivalents, Next: Default values, Prev: Parameters, Up: Font information
+
+2.2.2 Command-line equivalents
+------------------------------
+
+ Each of the font-information commands listed in *note Parameters::
+has a command-line equivalent. Their use is discouraged but they are
+listed here for completeness:
+
+*font_coding_scheme* `--encoding'
+*font_comment* `--comment'
+*font_family* `--family'
+*font_fixed_pitch* `--fixedpitch'
+*font_identifier* `--fullname'
+*font_name* `--name'
+*font_size* `--designsize'
+*font_slant* `--italicangle'
+*font_underline_position* `--underpos'
+*font_underline_thickness* `--underthick'
+*font_unique_id* `--uniqueid'
+*font_version* `--fontversion'
+*font_weight* `--weight'
+
+ A special case is `--fixedpitch' which does not take an argument.
+Rather, you should use `--fixedpitch' as the equivalent of
+`font_fixed_pitch true' and `--nofixedpitch' as the equivalent of
+`font_fixed_pitch false'.
+
+
+File: mf2pt1.info, Node: Default values, Next: Parameter example, Prev: Command-line equivalents, Up: Font information
+
+2.2.3 Default values
+--------------------
+
+ The next table lists the Metafont type and default value of each of
+the parameters listed in *note Parameters::.
+
+*font_coding_scheme* *string* `"standard"'
+*font_comment* *string* `"Font converted to Type 1
+ by mf2pt1, written by
+ Scott Pakin."'
+*font_family* *string* (The value of
+ *font_identifier*)
+*font_fixed_pitch* *boolean* *false*
+*font_identifier* *string* (The input filename, minus
+ `.mf')
+*font_name* *string* (The value of
+ *font_family*, plus an
+ underscore, plus the
+ value of *font_weight*,
+ with all spaces removed)
+*font_size* *numeric* (Must be specified or
+ `mf2pt1' will abort with
+ an error message)
+*font_slant* *numeric* 0
+*font_underline_position* *numeric* -1
+*font_underline_thickness* *numeric* 0.5
+*font_unique_id* *string* (Randomly generated in the
+ range 4000000-4999999)
+*font_version* *string* `"001.000"'
+*font_weight* *string* `"Medium"'
+
+
+
+File: mf2pt1.info, Node: Parameter example, Prev: Default values, Up: Font information
+
+2.2.4 Parameter example
+-----------------------
+
+ As an example, the following Metafont code shows the usage of all
+of the parameters that `mf2pt1' accepts:
+
+if known ps_output:
+ font_coding_scheme "ot1";
+ font_comment "Copyright (C) 2012 Scott Pakin.";
+ font_family "Kerplotz";
+ font_fixed_pitch false;
+ font_identifier "Kerplotz Light Oblique";
+ font_name "Kerplotz-LightOblique";
+ font_size 10pt#; % Important to include
+ this.
+ font_slant 1/6;
+ font_underline_position -1pt#;
+ font_underline_thickness 1/2pt#;
+ font_unique_id "4112233"; % Better to omit
+ this.
+ font_version "002.005";
+ font_weight "Light";
+ fi
+
+In the above, the *font_fixed_pitch* call could have been omitted, as
+it defaults to *false*. Also, unless you've requested a unique ID from
+Adobe, it's generally better not to assign *font_unique_id*; let
+`mf2pt1' choose a random value itself.
+
+ The same parameters can also be specified on the command line as
+follows:
+
+ mf2pt1 --encoding=ot1 --comment="Copyright (C) 2012 Scott Pakin."
+ --family=Kerplotz --nofixedpitch --fullname="Kerplotz Light Oblique"
+ --name=Kerplotz-LightOblique --designsize=10 --italicangle=-9.5
+ --underpos=-100 --underthick=50 --uniqueid=4112233 --version=002.005
+ --weight=Light kerplotz.mf
+
+Note that a Metafont font slant of 1/6 is equal to a PostScript italic
+angle of approximately -9.5. The conversion formula is slant =
+-tan(angle). In addition, the underline position and thickness must be
+multiplied by 1000/*font_size* to convert from the Metafont units that
+are used within the `.mf' file to the PostScript units that are used on
+the command line.
+
+
+File: mf2pt1.info, Node: Additional command-line options, Next: Custom font encodings, Prev: Font information, Up: Usage
+
+2.3 Additional command-line options
+===================================
+
+In addition to the command-line options for setting font parameters
+that were presented in *note Parameters::, `mf2pt1' supports a
+`--rounding' option. While `mf2pt1' normally rounds all font
+coordinates to the nearest integer, `--rounding' increases coordinate
+precision by instructing `mf2pt1' to round instead to the nearest
+multiple of a given fractional number. For example, `--rounding=0.25'
+rounds the coordinate (7.4, 10.3) to (7.5, 10.25) while it would
+otherwise be rounded to the less-precise (7, 10).
+
+ Large glyphs can be problematic in MetaPost and therefore in
+`mf2pt1'. Unlike Metafont , MetaPost does not honor `mag' for
+magnifying dimensions. Rather, the number of PostScript (a.k.a. "big")
+points per pixel--`bpppix'--is hardwired to 0.02 and all other
+dimensions (`mm', `in', `pt', etc.) are expressed in terms of that.
+Consequently, glyphs that multiply a large number of font units by a
+dimension are likely to exceed 4096, the largest value that MetaPost
+can represent in its fixed-point format. If numerical overflow becomes
+a problem you can use the `--bpppix' option to `mf2pt1' to change the
+value of `bpppix'. For example, specifying `--bpppix=0.2' enables a
+tenfold increase in maximum glyph size (with a corresponding decrease
+in precision).
+
+ After generating a Type 1 font, `mf2pt1' runs it through FontForge
+to add hinting information, remove overlaps, and otherwise clean up the
+generated font. The `--ffscript' option specifies the filename of a
+FontForge script to use instead of the default script, which is listed
+below:
+
+ Open($1);
+ SelectAll();
+ RemoveOverlap();
+ AddExtrema();
+ Simplify(0, 2);
+ CorrectDirection();
+ Simplify(0, 2);
+ RoundToInt();
+ AutoHint();
+ Generate($1);
+ Quit(0);
+
+See the FontForge documentation for an explanation of each of those
+commands and a description of other commands made available to
+FontForge scripts. `mf2pt1' runs the script with one argument (`$1'),
+which is the name of the generated `.pfb' file.
+
+ `mf2pt1' also supports a `--help' option which summarizes all of the
+program's command-line options.
+
+
+File: mf2pt1.info, Node: Custom font encodings, Next: Restoring mfplain defaults, Prev: Additional command-line options, Up: Usage
+
+2.4 Custom font encodings
+=========================
+
+*note Parameters::, lists the font encodings currently supported by
+`mf2pt1' and mentions that an alternate encoding can be specified by
+providing the name of an encoding file. To elaborate, the following
+example represents the contents of an encoding file which defines
+a--largely useless nowadays--EBCDIC font encoding:
+
+ `% Sample encoding vector: EBCDIC
+ % The encoding vector must have a name and be defined as a
+ PostScript array.
+ /ebcdic_encoding [
+ /_a0 /_a1 /_a2 /_a3 /_a4 /_a5 /_a6 /_a7 /_a8 /_a9 /_a10 /_a11 /_a12
+ /_a13 /_a14 /_a15 /_a16 /_a17 /_a18 /_a19 /_a20 /_a21 /_a22 /_a23
+ /_a24 /_a25 /_a26 /_a27 /_a28 /_a29 /_a30 /_a31 /_a32 /_a33 /_a34
+ /_a35 /_a36 /_a37 /_a38 /_a39 /_a40 /_a41 /_a42 /_a43 /_a44 /_a45
+ /_a46 /_a47 /_a48 /_a49 /_a50 /_a51 /_a52 /_a53 /_a54 /_a55 /_a56
+ /_a57 /_a58 /_a59 /_a60 /_a61 /_a62 /_a63 /space /_a65 /_a66 /_a67
+ /_a68 /_a69 /_a70 /_a71 /_a72 /_a73 /bracketleft /period /less
+ /parenleft /plus /exclam /ampersand /_a81 /_a82 /_a83 /_a84 /_a85
+ /_a86 /_a87 /_a88 /_a89 /bracketright /dollar /asterisk /parenright
+ /semicolon /asciicircum /hyphen /slash /_a98 /_a99 /_a100 /_a101
+ /_a102 /_a103 /_a104 /_a105 /bar /comma /percent /underscore
+ /greater /question /_a112 /_a113 /_a114 /_a115 /_a116 /_a117
+ /_a118 /_a119 /_a120 /_a121 /colon /numbersign /at /quoteright
+ /equal /quotedbl /_a128 /a /b /c /d /e /f /g /h /i /_a138 /_a139
+ /_a140 /_a141 /_a142 /_a143 /_a144 /j /k /l /m /n /o /p /q /r
+ /_a154 /_a155 /_a156 /_a157 /_a158 /_a159 /_a160 /asciitilde /s /t
+ /u /v /w /x /y /z /_a170 /_a171 /_a172 /_a173 /_a174 /_a175 /_a176
+ /_a177 /_a178 /_a179 /_a180 /_a181 /_a182 /_a183 /_a184 /quoteleft
+ /_a186 /_a187 /_a188 /_a189 /_a190 /_a191 /braceleft /A /B /C /D
+ /E /F /G /H /I /_a202 /_a203 /_a204 /_a205 /_a206 /_a207
+ /braceright /J /K /L /M /N /O /P /Q /R /_a218 /_a219 /_a220 /_a221
+ /_a222 /_a223 /backslash /_a225 /S /T /U /V /W /X /Y /Z /_a234
+ /_a235 /_a236 /_a237 /_a238 /_a239 /zero /one /two /three /four
+ /five /six /seven /eight /nine /_a250 /_a251 /_a252 /_a253 /_a254
+ /_a255
+ % Don't forget to end the array.
+ ] def'
+
+All entries in the encoding vector are PostScript "names" and therefore
+must be prefixed with a slash. Unnamed characters such as control
+characters are commonly named `_aNUMBER', where NUMBER is the decimal
+offset into the character table. Undefined characters are indicated by
+`.notdef'. In the EBCDIC example, the character at position 0 in the
+font will be named `a0'; the character at position 1 will be named
+`a1'; the character at position 74 will be named `bracketleft'; the
+character at position 129 will be named `a'; and so forth.
+
+ Individual characters can be mapped to an encoding either numerically
+or by executing a *glyph_name* command within a character definition.
+For example, the following code overrides the character position passed
+to *beginchar* (i.e., 123) with whatever character position the current
+encoding has designated for the `ohungarumlaut' glyph:
+
+ beginchar (123, cap_height#-1/2pt#, cap_height#, 0);
+ if known ps_output:
+ glyph_name "ohungarumlaut";
+ fi
+ ...
+ endchar;
+
+
+File: mf2pt1.info, Node: Restoring mfplain defaults, Prev: Custom font encodings, Up: Usage
+
+2.5 Restoring `mfplain' defaults
+================================
+
+`mf2pt1' normally redefines *filldraw* as *fill* and *unfilldraw* and
+*unfill* because Type 1 fonts don't allow overlapping curves.
+Similarly, `mf2pt1' redefines *pencircle* as a 20-gon to coerce
+MetaPost into drawing it using a filled instead of a stroked PostScript
+path.
+
+ If you know you'll be postprocessing your fonts using FontForge,
+which can automatically convert overlapping paths to nonoverlapping
+paths, then you can restore the original `mfplain.mp' definitions of
+*filldraw*, *unfilldraw*, and *pencircle* as follows:
+
+ if known ps_output:
+ pencircle := mfplain_pencircle;
+ let filldraw := mfplain_filldraw;
+ let unfilldraw := mfplain_unfilldraw;
+ fi
+
+
+File: mf2pt1.info, Node: Future Work, Next: Acknowledgments, Prev: Usage, Up: Top
+
+3 Future Work
+*************
+
+One avenue for future work is to enable the font designer to specify
+Type 1 font hints directly in the Metafont font program. Hinting is a
+way for a font designer to specify how a font should be rendered at low
+resolutions, for example, at typical monitor resolutions. In Metafont
+, this is done by controlling the way that points are mapped to pixel
+locations, using commands such as *define_corrected_pixels*,
+*define_blacker_pixels*, and *lowres_fix*. Type 1 fonts are hinted in
+a completely different manner. Type 1 hints distinguish key character
+features, such as stems and dots, from decorations which can be
+discarded at low resolutions. The PostScript interpreter uses that
+information to determine how to map points to pixels. Although
+`mf2pt1' employs FontForge to autohint the fonts it generates, the
+approach is mechanical and unlikely to hint as well as a human can do
+manually. It would be convenient for `mf2pt1' one day to provide
+Metafont commands for *hstem*, *vstem*, *dotsection*, and the other
+Type 1 hints. That way, hints will no longer need to be re-added
+manually every time `mf2pt1' regenerates a Type 1 font.
+
+ Another future addition to `mf2pt1' is the addition of more font
+encodings. The following are the encodings that `mf2pt1' will most
+likely accept:
+
+`TeXMathItalicEncoding'
+ Upper- and lowercase Greek and Latin letters, old-style digits,
+ and a few symbols and accents.
+
+`TeXMathSymbolEncoding'
+ A variety of symbols, as well as calligraphic Latin majuscules.
+
+`TeXMathExtensionEncoding'
+ Variable-sized symbols, such as braces, integrals, and radicals.
+
+`AdobeExpert'
+ Small caps, currency symbols, old-style digits, and various
+ superior and inferior letters and digits.
+
+
+File: mf2pt1.info, Node: Acknowledgments, Prev: Future Work, Up: Top
+
+Acknowledgments
+***************
+
+Many thanks are owed to Werner Lemberg for writing the code underlying
+the `--rounding' option; for introducing the *glyph_name* command and
+`asis' encoding vector; for providing the default FontForge script
+listed in *note Additional command-line options::; for fixing some
+code-generation bugs in `mf2pt1'; for finding a more robust way to dump
+`mf2pt1.mem'; for directing me to the overlap-removal code mentioned in
+*note Restrictions::; for supplying the _crossproduct_, _makeline_, and
+_is_clockwise_ functions used by `mf2pt1.mp'; for proposing the
+`--bpppix' command-line option; and, for suggesting various features and
+improvements to `mf2pt1'. Thanks also go to Werner Lemberg and Boguslaw
+Jackowski for updating the *is_clockwise* function in `mf2pt1.mp' to
+work around a bug in MetaPost which relates to the *turningnumber*
+command. Finally, thanks go to Ralf Stubner for providing the T1
+encoding vector and for pointing out a typo in the generated font
+programs; to Michael Zedler for alerting me to problems with
+`--encoding' and suggesting I modify that option to accept PostScript
+`.enc' files; and to Michael Ummels for fixing a couple of bugs that
+made character widths in the generated fonts slightly too large.
+
+
+
+Tag Table:
+Node: Top301
+Node: Introduction840
+Node: Requirements2677
+Node: Installation4426
+Node: Usage6237
+Node: Restrictions7953
+Node: Font information10343
+Node: Parameters11703
+Node: Command-line equivalents15078
+Node: Default values16202
+Node: Parameter example17880
+Node: Additional command-line options19899
+Node: Custom font encodings22238
+Node: Restoring mfplain defaults25689
+Node: Future Work26548
+Node: Acknowledgments28415
+
+End Tag Table
diff --git a/Master/texmf-dist/doc/info/tds.info b/Master/texmf-dist/doc/info/tds.info
new file mode 100644
index 00000000000..8b2418cd0a2
--- /dev/null
+++ b/Master/texmf-dist/doc/info/tds.info
@@ -0,0 +1,1714 @@
+This is tds.info, produced by makeinfo version 4.7 from tds.texi.
+
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* TeX Directories: (tds). A directory structure for TeX files.
+END-INFO-DIR-ENTRY
+
+
+File: tds.info, Node: Top, Next: Introduction, Up: (dir)
+
+A Directory Structure for TeX Files
+***********************************
+
+Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2004 TeX Users
+Group.
+
+ Permission to use, copy, and distribute this document _without
+modification_ for any purpose and without fee is hereby granted,
+provided that this notice appears in all copies. It is provided "as
+is" without expressed or implied warranty.
+
+ Permission is granted to copy and distribute modified versions of
+this document under the conditions for verbatim copying, provided that
+the modifications are clearly marked and the document is not
+represented as the official one.
+
+ This document is available on any CTAN host (see Appendix *Note
+Related references::). Please send questions or suggestions by email to
+<tds@tug.org>. We welcome all comments. This is version 1.1.
+
+* Menu:
+
+* Introduction::
+* General::
+* Top-level directories::
+* Summary::
+* Unspecified pieces::
+* Implementation issues::
+* Is there a better way?::
+* Related references::
+* Contributors::
+
+ --- The Detailed Node Listing ---
+
+Introduction
+
+* History::
+* The role of the TDS::
+* Conventions::
+
+General
+
+* Subdirectory searching::
+* Rooting the tree::
+* Local additions::
+* Duplicate filenames::
+
+Top-level directories
+
+* Macros::
+* Fonts::
+* Non-font Metafont files::
+* MetaPost::
+* BibTeX::
+* Scripts::
+* Documentation::
+
+Macros
+
+* Extensions::
+
+Fonts
+
+* Font bitmaps::
+* Valid font bitmaps::
+
+Summary
+
+* Documentation tree summary::
+
+Unspecified pieces
+
+* Portable filenames::
+
+Implementation issues
+
+* Adoption of the TDS::
+* More on subdirectory searching::
+* Example implementation-specific trees::
+
+Example implementation-specific trees
+
+* AmiWeb2c 2.0::
+* Public DECUS TeX::
+* Web2c 7::
+
+Is there a better way?
+
+* Macro structure::
+* Font structure::
+* Documentation structure::
+
+Font structure
+
+* Font file type location::
+* Mode and resolution location::
+* Modeless bitmaps::
+
+
+File: tds.info, Node: Introduction, Next: General, Prev: Top, Up: Top
+
+1 Introduction
+**************
+
+TeX is a powerful, flexible typesetting system used by many people
+around the world. It is extremely portable and runs on virtually all
+operating systems. One unfortunate side effect of TeX's flexibility,
+however, is that there has been no single "right" way to install it.
+This has resulted in many sites having different installed arrangements.
+
+ The primary purpose of this document is to describe a standard TeX
+Directory Structure (TDS): a directory hierarchy for macros, fonts, and
+the other implementation-independent TeX system files. As a matter of
+practicality, this document also suggests ways to incorporate the rest
+of the TeX files into a single structure. The TDS has been designed to
+work on all modern systems. In particular, the Technical Working Group
+(TWG) believes it is usable under MacOS, MS-DOS, OS/2, Unix, VMS, and
+Windows NT. We hope that administrators and developers of both free
+and commercial TeX implementations will adopt this standard.
+
+ This document is intended both for the TeX system administrator at a
+site and for people preparing TeX distributions--everything from a
+complete runnable system to a single macro or style file. It may also
+help TeX users find their way around systems organized this way. It is
+not a tutorial: we necessarily assume knowledge of the many parts of a
+working TeX system. If you are unfamiliar with any of the programs or
+file formats we refer to, consult the references in Appendix *Note
+Related references::.
+
+* Menu:
+
+* History::
+* The role of the TDS::
+* Conventions::
+
+
+File: tds.info, Node: History, Next: The role of the TDS, Up: Introduction
+
+1.1 History
+===========
+
+Version 1.0 of the TDS was released in February 2003.
+
+ Version 1.1 was released in June 2004, with the following
+non-editorial changes:
+
+ * Inputs for TeX extensions included under `tex', instead of
+ in their own top-level directories (Section *Note Extensions::)
+
+ * New top-level directory `scripts' (Section *Note Scripts::).
+
+ * New subdirectories `lig', `opentype', `truetype', and
+ `type3' under `fonts' (Section *Note Fonts::).
+
+ * `enc', `lig', and `map' all use `SYNTAX/PACKAGE'
+ subdirectories (Section *Note Fonts::).
+
+ * `pfm' files specified to go under `type1', and `inf' files
+ under `afm' (Section *Note Fonts::).
+
+
+File: tds.info, Node: The role of the TDS, Next: Conventions, Prev: History, Up: Introduction
+
+1.2 The role of the TDS
+=======================
+
+The role of the TDS is to stabilize the organization of TeX-related
+software packages that are installed and in use, possibly on multiple
+platforms simultaneously.
+
+ At first glance, it may seem that the Comprehensive TeX Archive
+Network (CTAN) fulfills at least part of this role, but this is not the
+case. The role of CTAN is to simplify archiving and distribution, not
+installation and use.
+
+ In fact, the roles of the TDS and CTAN are frequently in conflict,
+as we will see. For distribution, many different types of files must
+be combined into a single unit; for use, it is traditional to segregate
+files (even similar files) from a single package into separate,
+occasionally distant, directories.
+
+
+File: tds.info, Node: Conventions, Prev: The role of the TDS, Up: Introduction
+
+1.3 Conventions
+===============
+
+In this document, `/' is used to separate filename components; for
+example, `texmf/fonts'. This is the Unix convention but the ideas are
+in no way Unix-specific.
+
+ In this document, "TeX" generally means the TeX system, including
+Metafont, DVI drivers, utilities, etc., not just the TeX program itself.
+
+ The word "package" in this document has its usual meaning: a set of
+related files distributed, installed, and maintained as a unit. This is
+_not_ a LaTeX2e package, which is a style file supplementing a document
+class.
+
+ We use the following typographic conventions:
+
+ * `literal' Literal text such as `filename' is typeset in typewriter
+ type.
+
+ * `REPLACEABLE' Replaceable text such as `PACKAGE', identifying a
+ class of things, is typeset in italics inside angle brackets.
+
+
+
+File: tds.info, Node: General, Next: Top-level directories, Prev: Introduction, Up: Top
+
+2 General
+*********
+
+This section describes common properties throughout the TDS tree.
+
+* Menu:
+
+* Subdirectory searching::
+* Rooting the tree::
+* Local additions::
+* Duplicate filenames::
+
+
+File: tds.info, Node: Subdirectory searching, Next: Rooting the tree, Up: General
+
+2.1 Subdirectory searching
+==========================
+
+Older TeX installations store large numbers of related files in single
+directories, for example, all `TFM' files and/or all TeX input files.
+
+ This monolithic arrangement hinders maintenance of a TeX system: it
+is difficult to determine what files are used by what packages, what
+files need to be updated when a new version is installed, or what files
+should be deleted if a package is removed. It is also a source of error
+if two or more packages happen to have input files with the same name.
+
+ Therefore, the TWG felt each package should be in a separate
+directory. But we recognized that explicitly listing all directories to
+be searched would be unbearable. A site may wish to install dozens of
+packages. Aside from anything else, listing that many directories would
+produce search paths many thousands of characters long, overflowing the
+available space on some systems.
+
+ Also, if all directories are explicitly listed, installing or
+removing a new package would mean changing a path as well as installing
+or removing the actual files. This would be a time-consuming and
+error-prone operation, even with implementations that provide some way
+to specify the directories to search at runtime. On systems without
+runtime configuration, it would require recompiling software, an
+intolerable burden.
+
+ As a result, the TWG concluded that a comprehensive TDS requires
+implementations to support some form of implicit subdirectory
+searching. More precisely, implementations must make it possible to
+specify that TeX, Metafont, and their companion utilities search in both
+a specified directory and recursively through all subdirectories of that
+directory when looking for an input file. Other forms of subdirectory
+searching, for example recursive-to-one-level searches, may also be
+provided. We encourage implementors to provide subdirectory searching
+at the option of the installer and user for all paths.
+
+ The TDS does not specify a syntax for specifying recursive
+searching, but we encourage implementors to provide interoperability
+(see Section *Note More on subdirectory searching::).
+
+
+File: tds.info, Node: Rooting the tree, Next: Local additions, Prev: Subdirectory searching, Up: General
+
+2.2 Rooting the tree
+====================
+
+In this document, we shall designate the root TDS directory by `texmf'
+(for "TeX and Metafont"). We recommend using that name where possible,
+but the actual name of the directory is up to the installer. On PC
+networks, for example, this could map to a logical drive specification
+such as `T:'.
+
+ Similarly, the location of this directory on the system is
+site-dependent. It may be at the root of the file system; on Unix
+systems, `/usr/local/share', `/usr/local', `/usr/local/lib', and `/opt'
+are common choices.
+
+ The name `texmf' was chosen for several reasons: it reflects the fact
+that the directory contains files pertaining to an entire TeX system
+(including Metafont, MetaPost, BibTeX, etc.), not just TeX itself; and
+it is descriptive of a generic installation rather than a particular
+implementation.
+
+ A site may choose to have more than one TDS hierarchy installed (for
+example, when installing an upgrade). This is perfectly legitimate.
+
+
+File: tds.info, Node: Local additions, Next: Duplicate filenames, Prev: Rooting the tree, Up: General
+
+2.3 Local additions
+===================
+
+The TDS cannot specify precisely when a package is or is not a "local
+addition". Each site must determine this according to its own
+conventions. At the two extremes, one site might wish to consider
+"nonlocal" all files not acquired as part of the installed TeX
+distribution; another site might consider "local" only those files that
+were actually developed at the local site and not distributed elsewhere.
+
+ We recognize two common methods for local additions to a distributed
+`texmf' tree. Both have their place; in fact, some sites employ both
+simultaneously:
+
+ 1. A completely separate tree which is a TDS structure itself; for
+ example, `/usr/local/umbtex' at the University of Massachusetts at
+ Boston. This is another example of the multiple `texmf'
+ hierarchies mentioned in the previous section.
+
+ 2. A directory named `local' at any appropriate level, for example,
+ in the `FORMAT', `PACKAGE', and `SUPPLIER' directories discussed
+ in the following sections. The TDS reserves the directory name
+ `local' for this purpose.
+
+ We recommend using `local' for site-adapted configuration files,
+ such as `language.dat' for the Babel package or `graphics.cfg' for
+ the graphics package. Unmodified configuration files from a
+ package should remain in the package directory. The intent is to
+ separate locally modified or created files from distribution
+ files, to ease installing new releases.
+
+
+ One common case of local additions is dynamically generated files,
+e.g., PK fonts by the `mktexpk' script (which originated in Dvips as
+`MakeTeXPK'). A site may store the generated files directly in any of:
+ * their standard location in the main TDS tree (if it can be made
+ globally writable);
+
+ * an alternative location in the main TDS tree (for example, under
+ `texmf/fonts/tmp');
+
+ * a second complete TDS tree (as outlined above);
+
+ * any other convenient directory (perhaps under `/var', for example
+ `/var/spool/fonts').
+
+
+ No one solution will be appropriate for all sites.
+
+
+File: tds.info, Node: Duplicate filenames, Prev: Local additions, Up: General
+
+2.4 Duplicate filenames
+=======================
+
+Different files by the same name may exist in a TDS tree. The TDS
+generally leaves unspecified which of two files by the same name in a
+search path will be found, so generally the only way to reliably find a
+given file is for it to have a unique name. However, the TDS requires
+implementations to support the following exceptions:
+
+ * Names of TeX input files must be unique within each first-level
+ subdirectory of `texmf/tex' and `texmf/tex/generic', but not
+ within all of `texmf/tex'; i.e., different TeX formats may have
+ files by the same name. (Section *Note Macros:: discusses this
+ further.) Thus, no single format-independent path specification,
+ such as a recursive search beginning at `texmf/tex' specifying no
+ other directories, suffices. So implementations must provide
+ format-dependent path specifications, for example via wrapper
+ scripts or configuration files.
+
+ * Many font files will have the same name (e.g., `cmr10.pk'), as
+ discussed in Section *Note Valid font bitmaps::. Implementations
+ must distinguish these files by mode and resolution.
+
+
+ All implementations we know of already have these capabilities.
+
+ One place where duplicate names are likely to occur is not an
+exception:
+
+ * Names of Metafont input files (as opposed to bitmaps) must be
+ unique within all of `texmf/fonts'. In practice, this is a problem
+ with some variants of Computer Modern which contain slightly
+ modified files named `punct.mf', `romanl.mf', and so on. We
+ believe the only feasible solution is to rename the derivative
+ files to be unique.
+
+
+
+File: tds.info, Node: Top-level directories, Next: Summary, Prev: General, Up: Top
+
+3 Top-level directories
+***********************
+
+The directories under the `texmf' root identify the major components of
+a TeX system (see Section *Note Summary:: for a summary). A site may
+omit any unneeded directories.
+
+ Although the TDS by its nature can specify precise locations only
+for implementation-independent files, we recognize that installers may
+well wish to place other files under `texmf' to simplify administration
+of the TeX tree, especially if it is maintained by someone other than
+the system administrator. Therefore, additional top-level directories
+may be present.
+
+ The top-level directories specified by the TDS are:
+
+ * `tex' for TeX files (Section *Note Macros::).
+
+ * `fonts' for font-related files (Section *Note Fonts::).
+
+ * `metafont' for Metafont files which are not fonts (Section *Note
+ Non-font Metafont files::).
+
+ * `metapost' for MetaPost files (Section *Note MetaPost::).
+
+ * `bibtex' for BibTeX files (Section *Note BibTeX::).
+
+ * `scripts' for platform-independent executables (Section *Note
+ Scripts::).
+
+ * `doc' for user documentation (Section *Note Documentation::).
+
+ * `source' for sources. This includes both traditional program
+ sources (for example, Web2C sources go in `texmf/source/web2c')
+ and, e.g., LaTeX `dtx' sources (which go in `texmf/source/latex').
+ The TDS leaves unspecified any structure under `source'.
+
+ `source' is intended for files which are not needed at runtime by
+ any TeX program; it should not be included in any search path. For
+ example, `plain.tex' does not belong under `texmf/source', even
+ though it is a "source file" in the sense of not being derived
+ from another file. (It goes in `texmf/tex/plain/base', as explained
+ in Section *Note Macros::).
+
+ * `IMPLEMENTATION' for implementations (examples: `emtex', `vtex',
+ `web2c'), to be used for whatever purpose deemed suitable by the
+ implementor or TeX administrator. That is, files that cannot be
+ shared between implementations, such as pool files (`tex.pool')
+ and memory dump files (`plain.fmt') go here, in addition to
+ implementation-wide configuration files. See Section *Note
+ Example implementation-specific trees:: for examples of real
+ `IMPLEMENTATION' trees.
+
+ Such implementation-specific configuration files should _not_ be
+ located using the main TeX input search path (e.g., `TEXINPUTS').
+ This must be reserved for files actually read by a TeX engine.
+ See Section *Note Extensions::.
+
+ * `PROGRAM' for program-specific input and configuration files for
+ any TeX-related programs (examples: `mft', `dvips'). In fact, the
+ `tex', `metafont', `metapost', and `bibtex' items above may all be
+ seen as instances of this case.
+
+
+* Menu:
+
+* Macros::
+* Fonts::
+* Non-font Metafont files::
+* MetaPost::
+* BibTeX::
+* Scripts::
+* Documentation::
+
+
+File: tds.info, Node: Macros, Next: Fonts, Up: Top-level directories
+
+3.1 Macros
+==========
+
+TeX macro files shall be stored in separate directories, segregated by
+TeX format and package name (we use `format' in its traditional TeX
+sense to mean a usefully `\dump'-able package):
+ texmf/tex/FORMAT/PACKAGE/
+
+ * `FORMAT' is a format name (examples: `amstex', `latex', `plain',
+ `texinfo').
+
+ The TDS allows distributions that can be used as either formats or
+ packages (e.g., Texinfo, Eplain) to be stored at either level, at
+ the option of the format author or TeX administrator. We recommend
+ that packages used as formats at a particular site be stored at the
+ `FORMAT' level: by adjusting the TeX inputs search path, it will
+ be straightforward to use them as macro packages under another
+ format, whereas placing them in another tree completely obscures
+ their use as a format.
+
+ The TDS reserves the following `FORMAT' names:
+
+ * `generic', for input files that are useful across a wide
+ range of formats (examples: `null.tex', `path.sty').
+ Generally, this means any format that uses the category codes
+ of Plain TeX and does not rely on any particular format.
+ This is in contrast to those files which are useful only with
+ Plain TeX (which go under `texmf/tex/plain'), e.g.,
+ `testfont.tex' and `plain.tex' itself.
+
+ * `local', for local additions. See Section *Note Local
+ additions::.
+
+
+ Thus, for almost every format, it is necessary to search at least
+ the `FORMAT' directory and then the `generic' directory (in that
+ order). Other directories may need to be searched as well,
+ depending on the format. When using AMS-TeX, for example, the
+ `amstex', `plain', and `generic' directories should be searched,
+ because AMS-TeX is compatible with Plain.
+
+ * `PACKAGE' is a TeX package name (examples: `babel', `texdraw').
+
+ In the case where a format consists of only a single file and has
+ no auxiliary packages, that file can simply be placed in the
+ `FORMAT' directory, instead of `FORMAT/base'. For example,
+ Texinfo may go in `texmf/tex/texinfo/texinfo.tex', not
+ `texmf/tex/texinfo/base/texinfo.tex'.
+
+ The TDS reserves the following `PACKAGE' names:
+
+ * `base', for the base distribution of each format, including
+ files used by INITEX when dumping format files. For example,
+ in the standard LaTeX distribution, the `ltx' files created
+ during the build process. Another example: the `.ini' driver
+ files for formats used by TeX Live and other distributions.
+
+ * `hyphen', for hyphenation patterns, including the original
+ American English `hyphen.tex'. These are typically used only
+ by INITEX. In most situations, this directory need exist
+ only under the `generic' format.
+
+ * `images', for image input files, such as Encapsulated
+ PostScript figures. Although it is somewhat non-intuitive for
+ these to be under a directory named `tex', TeX needs to read
+ these files to glean bounding box or other information. A
+ mechanism for sharing image inputs between TeX and other
+ typesetting programs (e.g., Interleaf, FrameMaker) is beyond
+ the scope of the TDS. In most situations, this directory need
+ exist only under the `generic' format.
+
+ * `local', for local additions and configuration files. See
+ Section *Note Local additions::.
+
+ * `misc', for packages that consist of a single file. An
+ administrator or package maintainer may create directories for
+ single-file packages at their discretion, instead of using
+ `misc'.
+
+
+
+* Menu:
+
+* Extensions::
+
+
+File: tds.info, Node: Extensions, Up: Macros
+
+3.1.1 Extensions
+----------------
+
+TeX has spawned many companion and successor programs ("engines"), such
+as PDFTeX, Omega, and others. The TDS specifies that the input files
+for such programs (using a TeX-like syntax) be placed within the
+top-level `tex' directory, either at the top level or within a format
+subdirectory, even though the original TeX program may not be able to
+read them. For example:
+
+ texmf/tex/aleph
+ texmf/tex/enctex
+
+ This is a change from TDS 1.0, which specified top-level `EXTENSION'
+directories for each such program. We felt the new approach is
+preferable, because:
+
+ * Authors of relevant packages typically make their code detect the
+ engine being used, and issue error messages or adapt to
+ circumstances appropriately. Furthermore, as a package matures,
+ it may support multiple engines. Thus, a package could
+ conceivably be placed in any of several top-level directories, at
+ different times. Putting all packages under the top-level `tex'
+ directory provides a stable location over time.
+
+ * Users need to be able to switch between engines, and configuring
+ different search paths for each engine is difficult and
+ error-prone.
+
+
+ Thus, in practice, having different top-level directories caused
+difficulties for everyone involved--users, package authors, site
+administrators, and system distributors.
+
+ Please contrast this approach with the `IMPLEMENTATION' top-level
+subdirectory (Section *Note Top-level directories::), which is to be
+used for configuration files that (presumably) do not use TeX syntax
+and in any case should not be found along the main TeX input search
+path.
+
+
+File: tds.info, Node: Fonts, Next: Non-font Metafont files, Prev: Macros, Up: Top-level directories
+
+3.2 Fonts
+=========
+
+Font files are stored in separate directories, segregated by file type,
+and then (in most cases) font supplier and typeface. PK and GF files
+need additional structure, as detailed in the next section.
+
+ texmf/fonts/TYPE/SUPPLIER/TYPEFACE/
+ texmf/fonts/enc,lig,map/SUBPATH/
+
+ * `TYPE' is the type of font file. The TDS reserves the following
+ `TYPE' names for common TeX file types:
+
+ * `afm', for Adobe font metrics, and `inf' files.
+
+ * `gf', for generic font bitmap files.
+
+ * `opentype', for OpenType fonts.
+
+ * `pk', for packed bitmap files.
+
+ * `source', for font sources (Metafont files, property lists,
+ etc.).
+
+ * `tfm', for TeX font metric files.
+
+ * `truetype', for TrueType fonts.
+
+ * `type1', for PostScript Type 1 fonts (in `pfa', `pfb',
+ or any other format), and `pfm' files.
+
+ * `type3', for PostScript Type 3 fonts.
+
+ * `vf', for virtual fonts.
+
+ The TDS also reserves the names `enc', `lig', and `map' for font
+ encoding, ligature, and mapping files, respectively. All of these
+ directories are structured the same way, with `SYNTAX'
+ subdirectories, and then `PACKAGE' subsubdirectories. Each of
+ these file types is intended to be searched along its own
+ recursively-searched path. The names of the actual files must be
+ unique within their subtree, as usual. Examples:
+ fonts/map/dvipdfm/updmap/dvipdfm.map
+ fonts/map/dvips/lm/lm.map
+ fonts/enc/dvips/base/8r.enc
+
+ The Fontname and Dvips packages have more examples of the `enc' and
+ `map' types. The `afm2pl' program uses `lig' files.
+
+ `pfm' files are included in the `type1' directory, instead of
+ being given their own directory, for two reasons: 1) a `.pfm' file
+ is always an adjunct to a given `.pfb' file; 2) they must be
+ installed from the same directory for Windows programs other than
+ TeX to use them.
+
+ `inf' files are included in the `afm' directory, since an `inf'
+ and `afm' file can be used to generate a `pfm'. (Unfortunately,
+ Adobe Type Manager and perhaps other software requires that the
+ `pfb' be in the same directory as `afm' and `inf' for
+ installation.)
+
+ As usual, a site may omit any of these directories that are
+ unnecessary. `gf' is a particularly likely candidate for omission.
+
+ * `SUPPLIER' is a name identifying font source (examples: `adobe',
+ `ams', `public'). The TDS reserves the following `SUPPLIER' names:
+
+ * `ams', for the American Mathematical Society's AMS-fonts
+ collection.
+
+ * `local', for local additions. See Section *Note Local
+ additions::.
+
+ * `public', for freely redistributable fonts where the supplier
+ neither (1) requested their own directory (e.g., `ams'), nor
+ (2) also made proprietary fonts (e.g., `adobe'). It does not
+ contain all extant freely distributable fonts, nor are all
+ files therein necessarily strictly public domain.
+
+ * `tmp', for dynamically-generated fonts, as is traditional on
+ some systems. It may be omitted if unnecessary, as usual.
+
+
+ * `TYPEFACE' is the name of a typeface family (examples: `cm',
+ `euler', `times'). The TDS reserves the following `TYPEFACE' names:
+
+ * `cm' (within `public'), for the 75 fonts defined in
+ `Computers and Typesetting, Volume E'.
+
+ * `latex' (within `public'), for those fonts distributed with
+ LaTeX in the base distribution.
+
+ * `local', for local additions. See Section *Note Local
+ additions::.
+
+
+
+ Some concrete examples:
+ texmf/fonts/source/public/pandora/pnr10.mf
+ texmf/fonts/tfm/public/cm/cmr10.tfm
+ texmf/fonts/type1/adobe/utopia/putr.pfa
+
+ For complete supplier and typeface name lists, consult `Filenames
+for TeX fonts' (see Appendix *Note Related references::).
+
+* Menu:
+
+* Font bitmaps::
+* Valid font bitmaps::
+
+
+File: tds.info, Node: Font bitmaps, Next: Valid font bitmaps, Up: Fonts
+
+3.2.1 Font bitmaps
+------------------
+
+Font bitmap files require two characteristics in addition to the above
+to be uniquely identifiable: (1) the type of device (i.e., mode) for
+which the font was created; (2) the resolution of the bitmap.
+
+ Following common practice, the TDS segregates fonts with different
+device types into separate directories. See `modes.mf' in
+Appendix *Note Related references:: for recommended mode names.
+
+ Some printers operate at more than one resolution (e.g., at 300dpi
+and 600dpi), but each such resolution will necessarily have a different
+mode name. Nothing further is needed, since implicit in the TeX system
+is the assumption of a single target resolution.
+
+ Two naming strategies are commonly used to identify the resolution of
+bitmap font files. On systems that allow long filenames (and in the
+original Metafont program itself), the resolution is included in the
+filename (e.g., `cmr10.300pk'). On systems which do not support long
+filenames, fonts are generally segregated into directories by
+resolution (e.g., `dpi300/cmr10.pk').
+
+ Because the TDS cannot require long filenames, we must use the
+latter scheme for naming fonts. So we have two more subdirectory levels
+under `pk' and `gf':
+
+ texmf/fonts/pk/MODE/SUPPLIER/TYPEFACE/dpiNNN/
+ texmf/fonts/gf/MODE/SUPPLIER/TYPEFACE/dpiNNN/
+
+ * `MODE' is a name which identifies the device type (examples: `cx',
+ `ljfour', `modeless'). Usually, this is the name of the Metafont
+ mode used to build the PK file. For fonts rendered as bitmaps by
+ a program that does not distinguish between different output
+ devices, the `MODE' name shall be simply `modeless'. The `MODE'
+ level shall not be omitted, even if only a single mode happens to
+ be in use.
+
+ * `dpiNNN' specifies the resolution of the font (examples: `dpi300',
+ `dpi329'). `dpi' stands for dots per inch, i.e., pixels per inch.
+ We recognize that pixels per millimeter is used in many parts of
+ the world, but dpi is too traditional in the TeX world to consider
+ changing now.
+
+ The integer `NNN' is to be calculated as if using Metafont
+ arithmetic and then rounded; i.e., it is the integer Metafont uses
+ in its output `gf' filename. We recognize small differences in the
+ resolution are a common cause of frustration among users, however,
+ and recommend implementors follow the level 0 DVI driver standard
+ (see Appendix *Note Related references::) in bitmap font searches
+ by allowing a fuzz of +-0.2% (with a minimum of 1) in the `DPI'.
+
+
+ Implementations may provide extensions to the basic naming scheme,
+such as long filenames (as in the original Metafont) and font library
+files (as in emTeX's `.fli' files), provided that the basic scheme is
+also supported.
+
+
+File: tds.info, Node: Valid font bitmaps, Prev: Font bitmaps, Up: Fonts
+
+3.2.2 Valid font bitmaps
+------------------------
+
+The TWG recognizes that the use of short filenames has many
+disadvantages. The most vexing is that it results in the creation of
+dozens of different files with the same name. At a typical site,
+`cmr10.pk' will be the filename for Computer Modern Roman 10pt at 5-10
+magnifications for 2-3 modes. (Section *Note Duplicate filenames::
+discusses duplicate filenames in general.)
+
+ To minimize this problem, we strongly recommend that PK files
+contain enough information to identify precisely how they were created:
+at least the mode, base resolution, and magnification used to create the
+font.
+
+ This information is easy to supply: a simple addition to the local
+modes used for building the fonts with Metafont will automatically
+provide the required information. If you have been using a local modes
+file derived from (or that is simply) `modes.mf' (see Appendix *Note
+Related references::), the required information is already in your PK
+files. If not, a simple addition based on the code found in `modes.mf'
+can be made to your local modes file and the PK files rebuilt.
+
+
+File: tds.info, Node: Non-font Metafont files, Next: MetaPost, Prev: Fonts, Up: Top-level directories
+
+3.3 Non-font Metafont files
+===========================
+
+Most Metafont input files are font programs or parts of font programs
+and are thus covered by the previous section. However, a few non-font
+input files do exist. Such files shall be stored in:
+
+ texmf/metafont/PACKAGE/
+
+ `PACKAGE' is the name of a Metafont package (for example, `mfpic').
+
+ The TDS reserves the following `PACKAGE' names:
+
+ * `base', for the standard Metafont macro files as described in `The
+ Metafontbook', such as `plain.mf' and `expr.mf'.
+
+ * `local', for local additions. See Section *Note Local additions::.
+
+ * `misc', for Metafont packages consisting of only a single file
+ (for example, `modes.mf'). An administrator or package maintainer
+ may create directories for single-file packages at their
+ discretion, instead of using `misc'.
+
+
+
+File: tds.info, Node: MetaPost, Next: BibTeX, Prev: Non-font Metafont files, Up: Top-level directories
+
+3.4 MetaPost
+============
+
+MetaPost is a picture-drawing language developed by John Hobby, derived
+from Knuth's Metafont. Its primary purpose is to output Encapsulated
+PostScript instead of bitmaps.
+
+ MetaPost input files and the support files for MetaPost-related
+utilities shall be stored in:
+
+ texmf/metapost/PACKAGE/
+
+ `PACKAGE' is the name of a MetaPost package. At the present writing
+none exist, but the TWG thought it prudent to leave room for
+contributed packages that might be written in the future.
+
+ The TDS reserves the following `PACKAGE' names:
+
+ * `base', for the standard MetaPost macro files, such as `plain.mp',
+ `mfplain.mp', `boxes.mp', and `graph.mp'. This includes files
+ used by INIMP when dumping mem files containing preloaded macro
+ definitions.
+
+ * `local', for local additions. See Section *Note Local additions::.
+
+ * `misc', for MetaPost packages consisting of only a single file.
+ An administrator or package maintainer may create directories for
+ single-file packages at their discretion, instead of using `misc'.
+
+ * `support', for additional input files required by MetaPost utility
+ programs, including a font map, a character adjustment table, and
+ a subdirectory containing low-level MetaPost programs for rendering
+ some special characters.
+
+
+
+File: tds.info, Node: BibTeX, Next: Scripts, Prev: MetaPost, Up: Top-level directories
+
+3.5 BibTeX
+==========
+
+BibTeX-related files shall be stored in:
+
+ texmf/bibtex/bib/PACKAGE/
+ texmf/bibtex/bst/PACKAGE/
+
+ The `bib' directory is for BibTeX database (`.bib') files, the `bst'
+directory for style (`.bst') files.
+
+ `PACKAGE' is the name of a BibTeX package. The TDS reserves the
+following `PACKAGE' names (the same names are reserved under both `bib'
+and `bst'):
+
+ * `base', for the standard BibTeX databases and styles, such as
+ `xampl.bib', `plain.bst'.
+
+ * `local', for local additions. See Section *Note Local additions::.
+
+ * `misc', for BibTeX packages consisting of only a single file. An
+ administrator or package maintainer may create directories for
+ single-file packages at their discretion, instead of using `misc'.
+
+
+
+File: tds.info, Node: Scripts, Next: Documentation, Prev: BibTeX, Up: Top-level directories
+
+3.6 Scripts
+===========
+
+The top-level `scripts' directory is for platform-independent
+executables, such as Perl, Python, and shell scripts, and Java class
+files. Subdirectories under `scripts' are package names. This eases
+creating distributions, by providing a common place for such
+platform-independent programs.
+
+ The intent is not for all such directories to be added to a user's
+command search path, which would be quite impractical. Rather, these
+executables are primarily for the benefit of wrapper scripts in whatever
+executable directory a distribution may provide (which is not specified
+by the TDS).
+
+ Truly auxiliary scripts which are invoked directly by other programs,
+rather than wrapper scripts, may also be placed here. That is,
+`scripts' also serves as a platform-independent analog of the standard
+Unix `libexec' directory.
+
+ We recommend using extensions specifying the language (such as
+`.pl', `.py', `.sh') on these files, to help uniquely identify the
+name. Since the intent of the TDS is for programs in `scripts' not to
+be invoked directly by users, this poses no inconvenience.
+
+ For example, in the TeX Live distribution, the ConTeXt user-level
+program `texexec' can exist as a small wrapper script in each
+`bin/PLATFORM/texexec' (which is outside the `texmf' tree), which
+merely finds and calls `texmf/scripts/context/perl/texexec.pl'.
+
+ Examples:
+ scripts/context/perl/texexec.pl
+ scripts/context/ruby/examplex.rb
+ scripts/thumbpdf/thumbpdf.pl
+
+ The TDS does not specify a location for platform-dependent binary
+executables, whether auxiliary or user-level.
+
+
+File: tds.info, Node: Documentation, Prev: Scripts, Up: Top-level directories
+
+3.7 Documentation
+=================
+
+Most packages come with some form of documentation: user manuals,
+example files, programming guides, etc. In addition, many independent
+files not part of any macro or other package have been created to
+describe various aspects of the TeX system.
+
+ The TDS specifies that these additional documentation files shall be
+stored in a structure that parallels to some extent the `fonts' and
+`tex' directories, as follows:
+
+ texmf/doc/CATEGORY/...
+
+ `CATEGORY' identifies the general topic of documentation that
+resides below it; for example, a TeX format name (`latex'), program
+name (`bibtex', `tex'), language (`french', `german'), a file format
+(`info', `man'), or other system components (`web', `fonts').
+
+ One possible arrangement is to organize `doc' by language, with all
+the other category types below that. This helps users find
+documentation in the language(s) in which they are fluent. Neither this
+nor any other particular arrangement is required, however.
+
+ Within each `CATEGORY' tree for a TeX format, the directory `base'
+is reserved for base documentation distributed by the format's
+maintainers.
+
+ The TDS reserves the following category names:
+
+ * `general', for standalone documents not specific to any particular
+ program (for example, Joachim Schrod's `Components of TeX').
+
+ * `help', for meta-information, such as FAQ's, the TeX Catalogue,
+ etc.
+
+ * `info', for processed Texinfo documents. (Info files, like
+ anything else, may also be stored outside the TDS, at the
+ installer's option.)
+
+ * `local', for local additions. See Section *Note Local additions::.
+
+
+ The `doc' directory is intended for implementation-independent and
+operating system-independent documentation files.
+Implementation-dependent files are best stored elsewhere, as provided
+for by the implementation and/or TeX administrator (for example, VMS
+help files under `texmf/vms/help').
+
+ The documentation directories may contain TeX sources, DVI files,
+PostScript files, text files, example input files, or any other useful
+documentation format(s).
+
+ See Section *Note Documentation tree summary:: for a summary.
+
+
+File: tds.info, Node: Summary, Next: Unspecified pieces, Prev: Top-level directories, Up: Top
+
+4 Summary
+*********
+
+A skeleton of a TDS `texmf' directory tree. This is not to imply these
+are the only entries allowed. For example, `local' may occur at any
+level.
+
+ bibtex/ BibTeX input files
+ bib/ BibTeX databases
+ base/ base distribution (e.g., `xampl.bib')
+ misc/ single-file databases
+ <package>/ name of a package
+ bst/ BibTeX style files
+ base/ base distribution (e.g., `plain.bst', `acm.bst')
+ misc/ single-file styles
+ <package>/ name of a package
+ doc/ see Section *Note Documentation:: and the summary below
+ fonts/ font-related files
+ <type>/ file type (e.g., `pk')
+ <mode>/ type of output device (for `pk' and `gf' only)
+ <supplier>/ name of a font supplier (e.g., `public')
+ <typeface>/ name of a typeface (e.g., `cm')
+ dpi<nnn>/ font resolution (for `pk' and `gf' only)
+ <implementation>/ TeX implementations, by name (e.g., `emtex')
+ local/ files created or modified at the local site
+ metafont/ Metafont (non-font) input files
+ base/ base distribution (e.g., `plain.mf')
+ misc/ single-file packages (e.g., `modes.mf')
+ <package>/ name of a package (e.g., `mfpic')
+ metapost/ MetaPost input and support files
+ base/ base distribution (e.g., `plain.mp')
+ misc/ single-file packages
+ <package>/ name of a package
+ support/ support files for MetaPost-related utilities
+ mft/ `MFT' inputs (e.g., `plain.mft')
+ <program>/ TeX-related programs, by name (e.g., `dvips')
+ source/ program source code by name (e.g., `latex', `web2c')
+ tex/ TeX input files
+ <engine>/ name of an engine (e.g., `aleph'); can also be lower
+ <format>/ name of a format (e.g., `plain')
+ base/ base distribution for format (e.g., `plain.tex')
+ misc/ single-file packages (e.g., `webmac.tex')
+ local/ local additions to or local configuration files for `FORMAT'
+ <package>/ name of a package (e.g., `graphics', `mfnfss')
+ generic/ format-independent packages
+ hyphen/ hyphenation patterns (e.g., `hyphen.tex')
+ images/ image input files (e.g., Encapsulated PostScript)
+ misc/ single-file format-independent packages (e.g., `null.tex').
+ <package>/ name of a package (e.g., `babel')
+
+* Menu:
+
+* Documentation tree summary::
+
+
+File: tds.info, Node: Documentation tree summary, Up: Summary
+
+4.1 Documentation tree summary
+==============================
+
+An example skeleton of a TDS directory tree under `texmf/doc'. This is
+not to imply these are the only entries allowed, or that this structure
+must be followed precisely for the entries listed.
+
+ As mentioned, the `texmf/doc' tree may be organized by language, so
+that all documentation in French, say, is in a `french' subdirectory.
+In that case, the example structure here would be in a given language
+directory.
+
+ ams/
+ amsfonts/ `amsfonts.faq', `amfndoc'
+ amslatex/ `amslatex.faq', `amsldoc'
+ amstex/ `amsguide', `joyerr'
+ bibtex/ BibTeX
+ base/ `btxdoc.tex'
+ fonts/
+ fontname/ `Filenames for TeX fonts'
+ oldgerm/ `corkpapr'
+ <format>/ name of a TeX format (e.g., `generic', `latex')
+ base/ for the base distribution
+ misc/ for contributed single-file package documentation
+ <package>/ for _package_
+ general/ across programs, generalities
+ errata/ `errata', `errata[1-8]'
+ texcomp/ `Components of TeX'
+ help/ meta-information
+ ctan/ info about CTAN mirror sites
+ faq/ FAQs of `comp.text.tex', etc.
+ info/ GNU Info files, made from Texinfo sources
+ latex/ example of `FORMAT'
+ base/ `ltnews*', `*guide', etc.
+ graphics/ `grfguide'
+ local/ site-specific documentation
+ man/ Unix man pages
+ <program>/ TeX-related programs, by name (examples follow)
+ metafont/ `mfbook.tex', `metafont-for-beginners', etc.
+ metapost/ `mpman', `manfig', etc.
+ tex/ `texbook.tex', `A Gentle Introduction to TeX', etc.
+ web/ `webman', `cwebman'
+
+
+File: tds.info, Node: Unspecified pieces, Next: Implementation issues, Prev: Summary, Up: Top
+
+Appendix A Unspecified pieces
+*****************************
+
+The TDS cannot address the following aspects of a functioning TeX
+system:
+
+ 1. The location of executable programs: this is too site-dependent
+ even to recommend a location, let alone require one. A site may
+ place executables outside the `texmf' tree altogether (e.g.,
+ `/usr/local/bin'), in a platform-dependent directory within
+ `texmf', or elsewhere.
+
+ 2. Upgrading packages when new releases are made: we could find no
+ way of introducing version specifiers into `texmf' that would do
+ more good than harm, or that would be practical for even a
+ plurality of installations.
+
+ 3. The location of implementation-specific files (e.g., TeX `.fmt'
+ files): by their nature, these must be left to the implementor or
+ TeX maintainer. See Section *Note Example implementation-specific
+ trees::.
+
+ 4. Precisely when a package or file should be considered "local", and
+ where such local files are installed. See Section *Note Local
+ additions:: for more discussion.
+
+
+* Menu:
+
+* Portable filenames::
+
+
+File: tds.info, Node: Portable filenames, Up: Unspecified pieces
+
+A.1 Portable filenames
+======================
+
+The TDS cannot require any particular restriction on filenames in the
+tree, since the names of many existing TeX files conform to no standard
+scheme. For the benefit of people who wish to make a portable TeX
+distribution or installation, however, we outline here the necessary
+restrictions. The TDS specifications themselves are compatible with
+these.
+
+ ISO-9660 is the only universally acceptable file system format for
+CD-ROMs. A subset thereof meets the stringent limitations of all
+operating systems in use today. It specifies the following:
+
+ * File and directory names, not including any directory path or
+ extension part, may not exceed eight characters.
+
+ * Filenames may have a single extension. Extensions may not exceed
+ three characters. Directory names may not have an extension.
+
+ * Names and extensions may consist of _only_ the characters `A'-`Z',
+ `0'-`9', and underscore. Lowercase letters are excluded.
+
+ * A period separates the filename from the extension and is always
+ present, even if the name or extension is missing (e.g.,
+ `FILENAME.' or `.EXT').
+
+ * A version number, ranging from 1-32767, is appended to the file
+ extension, separated by a semicolon (e.g., `FILENAME.EXT;1').
+
+ * Only eight directory levels are allowed, including the top-level
+ (mounted) directory (see Section *Note Rooting the tree::). Thus,
+ the deepest valid ISO-9660 path is:
+ texmf/L2/L3/L4/L5/L6/L7/L8/FOO.BAR;1
+ 1 2 3 4 5 6 7 8
+ The deepest TDS path needs only seven levels:
+ texmf/fonts/pk/cx/public/cm/dpi300/cmr10.pk
+ 1 2 3 4 5 6 7
+
+
+ Some systems display a modified format of ISO-9660 names, mapping
+alphabetic characters to lowercase, removing version numbers and
+trailing periods, etc.
+
+ Before the December 1996 release, LaTeX used mixed-case names for
+font descriptor files. Fortunately, it never relied on case alone to
+distinguish among the files. Nowadays, it uses only monocase names.
+
+
+File: tds.info, Node: Implementation issues, Next: Is there a better way?, Prev: Unspecified pieces, Up: Top
+
+Appendix B Implementation issues
+********************************
+
+We believe that the TDS can bring a great deal of order to the current
+anarchic state of many TeX installations. In addition, by providing a
+common frame of reference, it will ease the burden of documenting
+administrative tasks. Finally, it is a necessary part of any
+reasonable system of true "drop-in" distribution packages for TeX.
+
+* Menu:
+
+* Adoption of the TDS::
+* More on subdirectory searching::
+* Example implementation-specific trees::
+
+
+File: tds.info, Node: Adoption of the TDS, Next: More on subdirectory searching, Up: Implementation issues
+
+B.1 Adoption of the TDS
+=======================
+
+[This section is retained for historical purposes; the TDS is now quite
+firmly entrenched in most TeX distributions.]
+
+ We recognize that adoption of the TDS will not be immediate or
+universal. Most TeX administrators will not be inclined to make the
+final switch until:
+
+ * Clear and demonstrable benefits can be shown for the TDS.
+
+ * TDS-compliant versions of all key programs are available in
+ ported, well-tested forms.
+
+ * A "settling" period has taken place, to flush out problems. The
+ public release of the first draft of this document was the first
+ step in this process.
+
+ Consequently, most of the first trials of the TDS will be made by
+members of the TDS committee and/or developers of TeX-related software.
+This has already taken place during the course of our deliberations
+(see Appendix *Note Related references:: for a sample tree available
+electronically). They will certainly result in the production of a
+substantial number of TDS-compliant packages. Indeed, the teTeX and
+TeX Live distributions are TDS-compliant and in use now at many sites.
+
+ Once installable forms of key TDS-compliant packages are more
+widespread, some TeX administrators will set up TDS-compliant trees,
+possibly in parallel to existing production directories. This testing
+will likely flush out problems that were not obvious in the confined
+settings of the developers' sites; for example, it should help to
+resolve system and package dependencies, package interdependencies, and
+other details not addressed by this TDS version.
+
+ After most of the dust has settled, hopefully even conservative TeX
+administrators will begin to adopt the TDS. Eventually, most TeX sites
+will have adopted the common structure, and most packages will be
+readily available in TDS-compliant form.
+
+ We believe that this process will occur relatively quickly. The TDS
+committee spans a wide range of interests in the TeX community.
+Consequently, we believe that most of the key issues involved in
+defining a workable TDS definition have been covered, often in detail.
+TeX developers have been consulted about implementation issues, and
+have been trying out the TDS arrangement. Thus, we hope for few
+surprises as implementations mature.
+
+ Finally, there are several (current or prospective) publishers of TeX
+CD-ROMs. These publishers are highly motivated to work out details of
+TDS implementation, and their products will provide inexpensive and
+convenient ways for experimentally-minded TeX administrators to
+experiment with the TDS.
+
+
+File: tds.info, Node: More on subdirectory searching, Next: Example implementation-specific trees, Prev: Adoption of the TDS, Up: Implementation issues
+
+B.2 More on subdirectory searching
+==================================
+
+Recursive subdirectory searching is the ability to specify a search not
+only of a specified directory `D', but recursively of all directories
+below `D'.
+
+ Since the TDS specifies precise locations for most files, with no
+extra levels of subdirectories allowed, true recursive searching is not
+actually required for a TDS-compliant implementation. We do, however,
+strongly recommend recursive searching as the most user-friendly and
+natural approach to the problem, rather than convoluted methods to
+specify paths without recursion.
+
+ This feature is already supported by many implementations of TeX and
+companion utilities, for example DECUS TeX for VMS, Dvips(k), emTeX
+(and its drivers), PubliC TeX, Web2C, Xdvi(k), and Y&YTeX. The
+Kpathsea library is a reusable implementation of subdirectory searching
+for TeX, used in a number of the above programs.
+
+ Even if your TeX implementation does not directly support
+subdirectory searching, you may find it useful to adopt the structure if
+you do not use many fonts or packages. For instance, if you only use
+Computer Modern and AMS fonts, it would be feasible to store them in
+the TDS layout and list the directories individually in configuration
+files or environment variables.
+
+ The TWG recognizes that subdirectory searching places an extra
+burden on the system and may be the source of performance bottlenecks,
+particularly on slower machines. Nevertheless, we feel that
+subdirectory searching is imperative for a well-organized TDS, for the
+reasons stated in Section *Note Subdirectory searching::. Implementors
+are encouraged to provide enhancements to the basic principle of
+subdirectory searching to avoid performance problems, e.g., the use of
+a filename cache (this can be as simple as a recursive directory
+listing) that is consulted before disk searching begins. If a match is
+found in the database, subdirectory searching is not required, and
+performance is thus independent of the number of subdirectories present
+on the system.
+
+ Different implementations specify subdirectory searching differently.
+In the interest of typographic clarity, the examples here do not use the
+`REPLACEABLE' font.
+
+ * Dvips: via a separate `TEXFONTS_SUBDIR' environment variable.
+
+ * emTeX: `t:\subdir!!'; `t:\subdir!' for a single level of searching.
+
+ * Kpathsea: `texmf/subdir//'
+
+ * VMS: `texmf:[subdir...]'
+
+ * Xdvi (patchlevel 20): `texmf/subdir/**'; `texmf/subdir/*' for a
+ single level of searching. Version 20.50 and above support the
+ `//' notation.
+
+ * Y&Y TeX: `t:/subdir//' or `t:\subdir\\'.
+
+
+
+File: tds.info, Node: Example implementation-specific trees, Prev: More on subdirectory searching, Up: Implementation issues
+
+B.3 Example implementation-specific trees
+=========================================
+
+The TDS cannot specify a precise location for implementation-specific
+files, such as `texmf/ini', because a site may have multiple TeX
+implementations.
+
+ Nevertheless, for informative purposes, we provide here the default
+locations for some implementations. Please contact us with additions or
+corrections. These paths are not definitive, may not match anything at
+your site, and may change without warning.
+
+ We recommend all implementations have default search paths that start
+with the current directory (e.g., `.'). Allowing users to include the
+parent directory (e.g., `..') is also helpful.
+
+* Menu:
+
+* AmiWeb2c 2.0::
+* Public DECUS TeX::
+* Web2c 7::
+
+
+File: tds.info, Node: AmiWeb2c 2.0, Next: Public DECUS TeX, Up: Example implementation-specific trees
+
+B.3.1 AmiWeb2c 2.0
+------------------
+
+(Email <scherer@physik.rwth-aachen.de> to contact the maintainer of
+this implementation.)
+
+ AmiWeb2c 2 is compatible with Web2c 7 to the greatest possible
+extent, so only the very few differences are described in this section.
+Detailed information about the basic concepts is given in the section
+for Web2c 7 below.
+
+ Thanks to the `SELFAUTO' mechanism of Kpathsea 3.0 no specific
+location for the installation of AmiWeb2c is required as long as the
+general structure of the distribution is preserved.
+
+ In addition to Kpathsea's `//' notation recursive path search may
+also be started by `DEVICE:/', e.g., `TeXMF:/' will scan this specific
+device completely.
+
+ Binaries coming with the AmiWeb2c distribution are installed in the
+directory `bin/amiweb2c/' outside the common TDS tree `share/texmf/'.
+In addition to the set of AmiWeb2c binaries you will find two
+subdirectories `local/' and `pastex/' with auxiliary programs.
+
+ A stripped version of the PasTeX system (used by kind permission of
+Georg Hessmann) is coming with AmiWeb2c, pre-installed in its own
+`share/texmf/amiweb2c/pastex/' directory. If you want to use PasTeX
+you have to `assign' the name `TeX:' to this place.
+
+ Documentation files in AmigaGuide format should be stored at
+`doc/guide/' similar to `doc/info/'.
+
+
+File: tds.info, Node: Public DECUS TeX, Next: Web2c 7, Prev: AmiWeb2c 2.0, Up: Example implementation-specific trees
+
+B.3.2 Public DECUS TeX
+----------------------
+
+If another VMS implementation besides Public DECUS TeX appears, the top
+level implementation directory name will be modified to something more
+specific (e.g., `vms_decus').
+
+ texmf/
+ vms/ VMS implementation specific files
+ exe/ end-user commands
+ common/ command procedures, command definition files, etc.
+ axp/ binary executables for Alpha AXP
+ vax/ binary executables for VAX
+ formats/ pool files, formats, bases
+ help/ VMS help library, and miscellaneous help sources
+ mgr/ command procedures, programs, docs, etc., for system management
+
+
+File: tds.info, Node: Web2c 7, Prev: Public DECUS TeX, Up: Example implementation-specific trees
+
+B.3.3 Web2c 7
+-------------
+
+All implementation-dependent TeX system files (`.pool', `.fmt',
+`.base', `.mem') are stored by default directly in `texmf/web2c'. The
+configuration file `texmf.cnf' and various subsidiary `MakeTeX...'
+scripts used as subroutines are also stored there.
+
+ Non-TeX specific files are stored following the GNU coding
+standards. Given a root directory `PREFIX' (`/usr/local' by default),
+we have default locations as follows:
+
+ <prefix>/ installation root (`/usr/local' by default)
+ bin/ executables
+ man/ man pages
+ info/ info files
+ lib/ libraries (`libkpathsea.*')
+ share/ architecture-independent files
+ texmf/ TDS root
+ web2c/ implementation-dependent files (`.pool', `.fmt', `texmf.cnf', etc.)
+
+ See `http://www.gnu.org/prep/standards_toc.html' for the rationale
+behind and descriptions of this arrangement. A site may of course
+override these defaults; for example, it may put everything under a
+single directory such as `/usr/local/texmf'.
+
+
+File: tds.info, Node: Is there a better way?, Next: Related references, Prev: Implementation issues, Up: Top
+
+Appendix C Is there a better way?
+*********************************
+
+Defining the TDS required many compromises. Both the overall structure
+and the details of the individual directories were arrived at by
+finding common ground among many opinions. The driving forces were
+feasibility (in terms of what could technically be done and what could
+reasonably be expected from developers) and regularity (files grouped
+together in an arrangement that "made sense").
+
+ Some interesting ideas could not be applied due to implementations
+lacking the necessary support:
+
+ * Path searching control at the TeX level. If documents could
+ restrict subdirectory searching to a subdirectory via some portable
+ syntax in file names, restrictions on uniqueness of filenames
+ could be relaxed considerably (with the cooperation of the
+ formats), and the TeX search path would not need to depend on the
+ format.
+
+ * Multiple logical `texmf' trees. For example, a site might have one
+ (read-only) location for stable files, and a different (writable)
+ location for dynamically-created fonts or other files. It would be
+ reasonable for two such trees to be logically merged when
+ searching. See Michael Downes' article in the references for how
+ this can work in practice with Web2C.
+
+
+* Menu:
+
+* Macro structure::
+* Font structure::
+* Documentation structure::
+
+
+File: tds.info, Node: Macro structure, Next: Font structure, Up: Is there a better way?
+
+C.1 Macro structure
+===================
+
+The TWG settled on the `FORMAT/PACKAGE' arrangement after long
+discussion about how best to arrange the files.
+
+ The primary alternative to this arrangement was a scheme which
+reversed the order of these directories: `PACKAGE/FORMAT'. This
+reversed arrangement has a strong appeal: it keeps all of the files
+related to a particular package in a single place. The arrangement
+actually adopted tends to spread files out into two or three places
+(macros, documentation, and fonts, for example, are spread into
+different sections of the tree right at the top level).
+
+ Nevertheless, the `FORMAT/PACKAGE' structure won for a couple of
+reasons:
+
+ * It is closer to current practice; in fact, several members of the
+ TWG have already implemented the TDS hierarchy. The alternative
+ is not in use at any known site, and the TWG felt it wrong to
+ mandate something with which there is no practical experience.
+
+ * The alternative arrangement increases the number of top-level
+ directories, so the files that must be found using subdirectory
+ searching are spread out in a wide, shallow tree. This could have
+ a profound impact on the efficiency of subdirectory searching.
+
+
+
+File: tds.info, Node: Font structure, Next: Documentation structure, Prev: Macro structure, Up: Is there a better way?
+
+C.2 Font structure
+==================
+
+The TWG struggled more with the font directory structure than anything
+else. This is not surprising; the need to use the proliferation of
+PostScript fonts with TeX is what made the previous arrangement with
+all files in a single directory untenable, and therefore what initiated
+the TDS effort.
+
+* Menu:
+
+* Font file type location::
+* Mode and resolution location::
+* Modeless bitmaps::
+
+
+File: tds.info, Node: Font file type location, Next: Mode and resolution location, Up: Font structure
+
+C.2.1 Font file type location
+-----------------------------
+
+We considered the supplier-first arrangement in use at many sites:
+
+ texmf/fonts/SUPPLIER/TYPEFACE/TYPE/
+
+ This improves the maintainability of the font tree, since all files
+comprising a given typeface are in one place, but unless all the
+programs that search this tree employ some form of caching, there are
+serious performance concerns. For example, in order to find a `TFM'
+file, the simplest implementation would require TeX to search through
+all the directories that contain PK files in all modes and at all
+resolutions.
+
+ In the end, a poll of developers revealed considerable resistance to
+implementing sufficient caching mechanisms, so this arrangement was
+abandoned. The TDS arrangement allows the search tree to be restricted
+to the correct type of file, at least. Concerns about efficiency
+remain, but there seems to be no more we can do without abandoning
+subdirectory searching entirely.
+
+ We also considered segregating all font-related files strictly by
+file type, so that Metafont sources would be in a directory
+`texmf/fonts/mf', property list files in `texmf/fonts/pl', the various
+forms of Type 1 fonts separated, and so on. Although more blindly
+consistent, we felt that the drawback of more complicated path
+constructions outweighed this. The TDS merges file types (`mf' and `pl'
+under `source', `pfa' and `pfb' and `gsf' under `type1') where we felt
+this was beneficial.
+
+
+File: tds.info, Node: Mode and resolution location, Next: Modeless bitmaps, Prev: Font file type location, Up: Font structure
+
+C.2.2 Mode and resolution location
+----------------------------------
+
+We considered having the `mode' at the bottom of the font tree:
+ texmf/fonts/pk/SUPPLIER/TYPEFACE/MODE/DPI/
+
+ In this case, however, it is difficult to limit subdirectory
+searching to the mode required for a particular device.
+
+ We then considered moving the `dpiNNN' up to below the mode:
+ texmf/fonts/pk/MODE/DPI/SUPPLIER/TYPEFACE/
+
+ But then it is not feasible to omit the `dpiNNN' level altogether on
+systems which can and do choose to use long filenames.
+
+
+File: tds.info, Node: Modeless bitmaps, Prev: Mode and resolution location, Up: Font structure
+
+C.2.3 Modeless bitmaps
+----------------------
+
+The TDS specifies using a single directory `modeless/' as the mode name
+for those utilities which generate bitmaps, e.g.,
+`texmf/fonts/modeless/times/'. This has the considerable advantage of
+not requiring each such directory name to be listed in a search path.
+
+ An alternative was to use the utility name below which all such
+directories could be gathered. That has the advantage of separating,
+say, `gsftopk'-generated bitmaps from `ps2pk'-generated ones. However,
+we decided this was not necessary; most sites will use only one program
+for the purpose. Also, PK and GF fonts generally identify their
+creator in the font comment following the `PK_ID' byte.
+
+ We are making an implicit assumption that Metafont is the only
+program producing mode-dependent bitmaps. If this becomes false we
+could add an abbreviation for the program to mode names, as in `mfcx'
+vs. `xyzcx' for a hypothetical program Xyz, or we could at that time
+add an additional program name level uniformly to the tree. It seemed
+more important to concisely represent the current situation than to
+worry about hypothetical possibilities that may never happen.
+
+
+File: tds.info, Node: Documentation structure, Prev: Font structure, Up: Is there a better way?
+
+C.3 Documentation structure
+===========================
+
+We considered placing additional documentation files in the same
+directory as the source files for the packages, but we felt that users
+should be able to find documentation separately from sources, since most
+users have no interest in sources.
+
+ We hope that a separate, but parallel, structure for documentation
+would (1) keep the documentation together and (2) make it as
+straightforward as possible for users to find the particular
+documentation they were after.
+
+
+File: tds.info, Node: Related references, Next: Contributors, Prev: Is there a better way?, Up: Top
+
+Appendix D Related references
+*****************************
+
+This appendix gives pointers to related files and other documents. For
+CTAN references, we use `http://www.ctan.org' as the top-level domain
+only to make the links be live in this document. See
+`http://www.ctan.org/tex-archive/CTAN.sites' for a complete list of
+CTAN sites; there are mirrors worldwide.
+
+ * This document, in many formats (tex, dvi, info, pdf):
+ `http://tug.org/tds/'
+
+ * The TDS mailing list archives:
+ `http://tug.org/mail-archives/twg-tds/'
+
+ * The level 0 DVI driver standard:
+ `http://www.ctan.org/tex-archive/dviware/driv-standard/level-0/'
+
+ * `Filenames for TeX fonts', with lists of recommended supplier and
+ typeface names:
+ `http://tug.org/fontname/'
+
+ * ISO-9660 CD-ROM file system standard:
+ `http://www.iso.ch/cate/cat.html'
+
+ * `Components of TeX', a paper by Joachim Schrod:
+ `http://www.ctan.org/tex-archive/documentation/components-of-TeX/'
+
+ * `Managing Multiple TDS trees', an article by Michael Downes:
+ `http://tug.org/TUGboat/Articles/tb22-3/tb72downes.pdf'
+
+ * A complete set of Metafont modes:
+ `http://www.ctan.org/tex-archive/fonts/modes/modes.mf'
+
+ * A large collection of BibTeX databases and styles:
+ `ftp://ftp.math.utah.edu/pub/tex/bib/'
+
+
+
+File: tds.info, Node: Contributors, Prev: Related references, Up: Top
+
+Appendix E Contributors
+***********************
+
+The TWG has had no physical meetings; electronic mail was the
+communication medium.
+
+ Sebastian Rahtz is the TeX Users Group Technical Council liaison.
+Norman Walsh was the original committee chair. Karl Berry is the
+current editor.
+
+ The list of contributors has grown too large to fairly include, as
+some would surely be inadvertently omitted. Please consider the
+archives of the <tds@tug.org> and <tex-live@tug.org> mailing lists as
+the record of contributions.
+
+
+
+Tag Table:
+Node: Top198
+Node: Introduction2185
+Node: History3846
+Node: The role of the TDS4648
+Node: Conventions5508
+Node: General6429
+Node: Subdirectory searching6714
+Node: Rooting the tree8968
+Node: Local additions10080
+Node: Duplicate filenames12293
+Node: Top-level directories14054
+Node: Macros17062
+Node: Extensions20919
+Node: Fonts22645
+Node: Font bitmaps26786
+Node: Valid font bitmaps29674
+Node: Non-font Metafont files30882
+Node: MetaPost31842
+Node: BibTeX33286
+Node: Scripts34155
+Node: Documentation35872
+Node: Summary38145
+Node: Documentation tree summary41031
+Node: Unspecified pieces43056
+Node: Portable filenames44267
+Node: Implementation issues46409
+Node: Adoption of the TDS47041
+Node: More on subdirectory searching49753
+Node: Example implementation-specific trees52568
+Node: AmiWeb2c 2.053447
+Node: Public DECUS TeX54889
+Node: Web2c 755752
+Node: Is there a better way?56974
+Node: Macro structure58480
+Node: Font structure59816
+Node: Font file type location60369
+Node: Mode and resolution location61946
+Node: Modeless bitmaps62625
+Node: Documentation structure63915
+Node: Related references64543
+Node: Contributors65959
+
+End Tag Table
diff --git a/Master/texmf-dist/doc/info/texdraw.info b/Master/texmf-dist/doc/info/texdraw.info
new file mode 100644
index 00000000000..2458b4f3b33
--- /dev/null
+++ b/Master/texmf-dist/doc/info/texdraw.info
@@ -0,0 +1,2429 @@
+This is texdraw, produced by makeinfo version 4.5 from texdraw.texi.
+
+ This file documents TeXdraw, a system for producing PostScript
+drawings from TeX.
+
+ Copyright (C) 1993-95 Peter Kabal
+
+ Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+ Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+
+File: texdraw, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
+
+TeXdraw
+*******
+
+ TeXdraw is a collection of macros that allow drawings to be created
+from _within_ TeX.
+
+ This is edition 2.0 of the TeXdraw documentation.
+
+* Menu:
+
+* Introduction::
+* TeXdraw Commands::
+* Drawing Segments and Scaling::
+* Using TeXdraw with LaTeX::
+* More Details::
+* PostScript Commands::
+* TeXdraw Toolbox::
+* Examples::
+* Command Listing::
+
+Indices
+* Concept Index::
+* Command Index::
+
+ --- The Detailed Node Listing ---
+
+Introduction
+
+* Distribution::
+
+TeXdraw Commands
+
+* Accessing TeXdraw::
+* Command syntax::
+* TeXdraw coordinates::
+* Coordinate specification::
+* Line vectors::
+* TeX text::
+* Circles and arcs::
+* Bezier curves::
+* Fill commands::
+
+Drawing Segments and Scaling
+
+* Drawing segments::
+* Drawing paths::
+* Saving positions::
+* Scaling coordinates::
+* Drawing size::
+* Initial current position::
+
+Using TeXdraw with LaTeX
+
+* PostScript printer drivers::
+
+More Details
+
+* Errors while using TeXdraw::
+* Extending TeXdraw::
+* How TeXdraw merges graphics and text::
+
+Extending TeXdraw
+
+* Scaling::
+* Resolution::
+* Text placement::
+* Intermediate PostScript file::
+
+PostScript Commands
+
+TeXdraw Toolbox
+
+* Coordinate parsing::
+* Real arithmetic::
+* Arrow curve::
+
+Examples
+
+* Block diagram::
+* Filter response graph::
+* Geometric construction::
+
+Command Listing
+
+Command Index
+
+Concept Index
+
+
+File: texdraw, Node: Introduction, Next: TeXdraw Commands, Prev: Top, Up: Top
+
+Introduction
+************
+
+ TeX is a powerful typesetting program which allows for complex text
+layouts but by itself lacks a general graphics capability. However,
+when coupled with an appropriate printer driver program, external
+graphics files can be inserted into the printed document. In this mode,
+TeX is instructed to leave space for a drawing. The drawing is
+inserted by the printer driver program. The TeXdraw macros described
+here generate the external graphics file from within TeX and generate
+the instructions to the the print driver program to position the
+graphics at the appropriate position on the page.
+
+ TeXdraw consists of a set of TeX macros that create line drawings and
+other figures. The drawing primitives include solid lines, patterned
+lines, Bezier curves, circles and arrows. Other commands allow for the
+filling of a region with a gray level. The drawing commands generate
+PostScript code. This limits TeXdraw to systems which use PostScript
+printers. TeXdraw also provides commands to position TeX text,
+including mathematics, on the drawing. The final drawing, with text
+and graphics, can be positioned on the page like any other TeX box.
+
+ The basic TeXdraw macros for TeX use the `\special' syntax recognized
+by the printer driver program `dvips'. However, when invoked as a
+LaTeX2e package, the TeXdraw macros can be used with any of the
+PostScript printer driver programs supported by the standard `graphics'
+package for LaTeX2e.
+
+ The basic TeXdraw macros provide only simple drawing commands.
+However, TeXdraw provides a drawing segment environment which allows
+parameter changes and coordinate scaling changes to be kept local to the
+drawing segment. This facility, together with TeX's macro capabilities
+allows one to modularize drawing units and extend TeXdraw by building
+more complex graphics entities from simpler elements.
+
+* Menu:
+
+* Distribution::
+
+
+File: texdraw, Node: Distribution, Up: Introduction
+
+Distribution information
+========================
+
+ The TeXdraw routines are provided free of charge without warranty of
+any kind. Note that the TeXdraw routines are copyrighted. They may be
+distributed freely provided that the recipients also acquire the right
+to distribute them freely. The notices to this effect must be
+preserved when the source files are distributed.
+
+
+File: texdraw, Node: TeXdraw Commands, Next: Drawing Segments and Scaling, Prev: Introduction, Up: Top
+
+Using the TeXdraw Commands
+**************************
+
+ The main TeXdraw macros (commands) are defined in the file
+`texdraw.tex'. These macros may be used directly in TeX. The file
+`texdraw.sty' provides an interface for use with LaTeX2e. The
+following sections describe the basic commands for TeXdraw.
+
+* Menu:
+
+* Accessing TeXdraw::
+* Command syntax::
+* TeXdraw coordinates::
+* Coordinate specification::
+* Line vectors::
+* TeX text::
+* Circles and arcs::
+* Bezier curves::
+* Fill commands::
+
+
+File: texdraw, Node: Accessing TeXdraw, Next: Command syntax, Up: TeXdraw Commands
+
+Accessing TeXdraw
+=================
+
+ The form of the user command to run the TeX program depends on which
+version of TeX is being used, and which other macro packages are
+preloaded as format files. Typically, installations have at least two
+versions of TeX -- plain TeX which includes basic typesetting macros
+(usually invoked as `tex') and LaTeX2e which includes the LaTeX2e
+typesetting macros (usually invoked as `latex'). An older version of
+LaTeX, version 2.09, may also be available. The TeXdraw macros can be
+used with plain TeX and with either version of LaTeX.
+
+ For use with plain TeX, the user must read in the TeXdraw macros from
+the file `texdraw.tex'.
+ \input texdraw % Read in the TeXdraw macros
+ ...
+ \btexdraw
+ ... % TeXdraw commands to generate a drawing
+ \etexdraw
+
+ For use with LaTeX version 2.09, the user reads in the TeXdraw macros
+from the file `texdraw.tex' and optionally defines the
+`\begin{texdraw}' / `\end{texdraw}' environment.
+ \documentstyle[11pt]{article} % Article style with the 11pt size options
+ ...
+ \input texdraw % Read in the TeXdraw macros
+ \newenvironment{texdraw}{\leavevmode\btexdraw}{\etexdraw}
+ ...
+ \begin{texdraw}
+ ... % TeXdraw commands to generate a drawing
+ \end{texdraw}
+ ...
+ \end{document}
+
+ For use with LaTeX2e, the user must load the `texdraw' package (file
+`texdraw.sty'). This package file defines the `\begin{texdraw}' /
+`\end{texdraw}' environment, brings in the standard `graphics' package
+and reads in the file `texdraw.tex' containing the definitions of the
+TeXdraw macros.
+ \documentclass[11pt]{article} % Article class with the 11pt size option
+ \usepackage{texdraw} % TeXdraw commands
+
+ \begin{document}
+ ...
+ \begin{texdraw}
+ ... % TeXdraw commands to generate a drawing
+ \end{texdraw}
+ ...
+ \end{document}
+
+ As the TeXdraw commands are processed by TeX, an intermediate
+PostScript file is generated. The intermediate PostScript has a name of
+the form `NAME.ps1'. The name part is derived from the name of the
+main TeX file being processed. If more than one drawing is produced,
+the digit in the file name extension is incremented.(1)
+
+ The TeXdraw commands to produce a drawing are inserted between
+`\btexdraw' and `\etexdraw' commands, or for LaTeX, between
+`\begin{texdraw}' and `\end{texdraw}' commands. This results in a TeX
+box of appropriate size containing the drawing generated by the TeXdraw
+commands. The TeXdraw box can be positioned in a document like any
+other TeX box.
+
+ The `\centertexdraw{...}' macro centers the box generated by TeXdraw.
+The vertical space taken up is equal to the vertical size of the
+drawing. The `\centertexdraw' macro is normally used in vertical mode
+(between paragraphs). A `\par' command (a blank line will do also)
+before a `\centertexdraw' command will terminate horizontal mode and
+return to vertical mode. For LaTeX, a structured equivalent to the
+`\centertexdraw{...}' command is shown below.
+ \begin{center}
+ \begin{texdraw}
+ ...
+ \end{texdraw}
+ \end{center}
+
+ The `\everytexdraw' command can be used to define a set of TeXdraw
+commands that will be executed at the beginning of every TeXdraw
+drawing. It is invoked as `\everytexdraw{ ...}', with the desired
+TeXdraw commands as arguments.
+
+`\btexdraw'
+ Start a TeXdraw drawing. The drawing is terminated with an
+ `\etexdraw' command.
+
+`\etexdraw'
+ End a TeXdraw drawing started with a `\btexdraw' command. The
+ resulting TeXdraw drawing is placed in a box with height equal to
+ the height of the drawing and width equal to the width of the
+ drawing. The depth of the box is zero.
+
+`\begin{texdraw}'
+ Start a TeXdraw drawing. The drawing is terminated with an
+ `\end{texdraw}' command. This command is for use with LaTeX.
+
+`\end{texdraw}'
+ End a TeXdraw drawing started with a `\begin{texdraw}' command.
+ The resulting TeXdraw drawing is placed in a box with height equal
+ to the height of the drawing and width equal to the width of the
+ drawing. The depth of the box is zero. This command is for use
+ with LaTeX.
+
+`\centertexdraw{ ... }'
+ Center a TeXdraw box horizontally. The argument contains TeXdraw
+ commands. The resulting box has the horizontal size `\hsize' and
+ height equal to the height of the drawing.
+
+`\everytexdraw{ ... }'
+ Specify TeXdraw commands to be executed at the beginning of every
+ TeXdraw drawing.
+
+ ---------- Footnotes ----------
+
+ (1) After the ninth PostScript file, the name of the intermediate
+PostScript file takes the form `NAME.p10', with the number increasing
+from 10 with each file.
+
+
+File: texdraw, Node: Command syntax, Next: TeXdraw coordinates, Prev: Accessing TeXdraw, Up: TeXdraw Commands
+
+Command syntax
+==============
+
+ Generally TeXdraw commands that take a single argument need a
+terminating blank or newline after the argument. Arguments that are
+self-delimiting, such as coordinates within parentheses and text within
+braces, do not need the terminating blank. However, even when not
+needed by the defining syntax of the command, blanks following command
+arguments are allowed and ignored within the TeXdraw environment.
+
+ On entering the TeXdraw environment, TeX is in internal vertical mode
+(vertical mode inside a `\vbox'). In this mode, spaces can be placed
+freely between commands. However, any other extraneous input that
+generates output that is not part of the TeXdraw environment is
+disallowed.
+
+ Blank lines are interpreted as paragraph breaks, equivalent to a
+`\par' command. The TeXdraw macro `\centertexdraw' is defined with the
+`\long' attribute to allow `\par' commands and blank lines to be
+interspersed between TeXdraw commands. The `\btexdraw' and `\etexdraw'
+commands also allow `\par' command and blank lines to be included.
+
+
+File: texdraw, Node: TeXdraw coordinates, Next: Coordinate specification, Prev: Command syntax, Up: TeXdraw Commands
+
+TeXdraw coordinates
+===================
+
+ The TeXdraw coordinate system has increasing X to the right and
+increasing Y upward. The coordinates (without the unit) are floating
+point numbers. Integer values can be written without a decimal point.
+The size of the drawing is determined by the maximum excursions of the
+coordinates specified in TeXdraw commands.
+
+ Consider the following example of TeXdraw commands to draw a simple
+figure.
+ \centertexdraw{
+ \drawdim cm \linewd 0.02
+ \move(2 2) \lvec(3 3) \lvec(2 4) \lvec(1 3) \lvec(2 2)
+ \textref h:C v:C \htext(2 3){$\sum \rho_n$}
+ }
+This drawing uses units of centimetres, with a line width of 0.02
+cm. The X coordinate ranges between 1 and 3 while the Y coordinate
+ranges between 2 and 4. When included into a document, the size of the
+drawing is 2 cm by 2 cm. The drawing is placed in a TeX box, with the
+lower lefthand corner of the box corresponding to TeXdraw coordinate
+`(1 2)' and the upper righthand corner at `(3 4)'. The
+`\centertexdraw' command centers the drawing horizontally. The
+`\textref' command controls the centering of the text. The text in
+this drawing is centered (both horizontally and vertically) at the
+coordinate `(2 3)'.
+
+
+File: texdraw, Node: Coordinate specification, Next: Line vectors, Prev: TeXdraw coordinates, Up: TeXdraw Commands
+
+Coordinate specification
+========================
+
+ Coordinates are specified within parentheses, with blanks (but no
+comma) between the values. Leading blanks and trailing blanks are
+permitted within the parentheses. The coordinates refer to units,
+which are specified by the `\drawdim' command. The default is inches,
+but any valid TeX dimension unit can be specified. Symbolic
+specification of saved coordinate values will be discused later (*note
+Saving positions::).
+
+`\drawdim DIM'
+ Set the units to DIM. The argument DIM can be any valid TeX
+ dimension unit. The units are used to interpret coordinate
+ values. Examples of valid units: `cm', `mm', `in', `pt', and `bp'.
+
+ Examples of coordinate and scaling specifications:
+`\drawdim {cm} \move(2 2)'
+ Set the units to centimetres, move to a position 2 cm to the right
+ and 2 cm up from the origin of the drawing coordinate system.
+
+`\drawdim bp'
+ Set the units to big points.
+
+`\lvec ( 2.2 +5.5) \lvec(2.3 -2) \lvec(2.2 5.4 )'
+ Examples of acceptable coordinate specifications.
+
+
+File: texdraw, Node: Line vectors, Next: TeX text, Prev: Coordinate specification, Up: TeXdraw Commands
+
+Line vectors
+============
+
+ TeXdraw implements moves, line vectors and arrow vectors. There are
+both absolute and relative motion versions of these vector commands.
+TeXdraw maintains a current position. Lines are drawn from the current
+position to a new coordinate, with the new coordinate becoming the new
+current position. An explicit move can be used to establish a new
+current position. The position `(0 0)' is used if there is no move to
+an initial current position.
+
+ The `\move' and `\rmove' commands establish a new current position
+without drawing a line. The `\lvec' and `\rlvec' commands draw a line
+from the current position to a new position, which then becomes the new
+current position. The `\avec' and `\ravec' commands draw a line with
+an arrowhead from the current position to a new coordinate, which then
+becomes the new current position. The tip of the arrow is at the new
+current position. The direction of the arrow follows the direction of
+the line. Since this direction is undefined for zero length vectors,
+these are not allowed for `\avec' or `\ravec'. Zero length arrow
+vectors will generate a PostScript print error: `undefinedresult'. For
+any non-zero length vector, the full size arrowhead is drawn, even if
+that arrowhead is longer than the line length.
+
+ The absolute motion versions of these commands specify the coordinate
+of the final position.
+
+`\move (X Y)'
+ Move to coordinate `(X Y)'. The new current position is `(X Y)'.
+
+`\lvec (X Y)'
+ Draw a line from the current position to coordinate `(X Y)'. The
+ new current position is `(X Y)'.
+
+`\avec (X Y)'
+ Draw a line with an arrowhead from the current position to `(X
+ Y)'. The new current position is `(X Y)'. The arrowhead is
+ aligned with the line, with the tip at `(X Y)'.
+
+ The relative motion versions of these commands interpret the
+coordinates as displacements relative to the current position. Given
+the displacements `(DX DY)' as a parameter, each of the relative motion
+commands moves DX units in the X direction and DY units in the Y
+direction.
+
+`\rmove (DX DY)'
+ Move from the current position, DX units in the X direction and DY
+ units in the Y direction. The final position becomes the new
+ current position.
+
+`\rlvec (DX DY)'
+ Draw a line from the current position, DX units in the X direction
+ and DY units in the Y direction. The final position becomes the
+ new current position.
+
+`\ravec (DX DY)'
+ Draw a line with an arrowhead from the current position, DX units
+ in the X direction and Y units in the Y direction. The final
+ position becomes the new current position. The arrowhead is
+ aligned with the line, with the tip at the new current position.
+
+ Lines can be customized with commands to change the line width, line
+pattern and line gray level rendition. In addition, commands for
+changing the type and size of the arrowhead are available.
+
+`\linewd WIDTH'
+ Set the line width to WIDTH units. Initially WIDTH is 0.01 inches
+ (corresponding to 3 pixels at 300 pixels to the inch).
+
+`\lpatt (PATTERN)'
+ Set lines to have the pattern `(PATTERN)'. A pattern is a
+ sequence of on/off lengths separated by blanks and enclosed in
+ parentheses. The lengths alternately specify the length of a dash
+ and the length of a gap between dashes. Each length is
+ interpreted using the current scaling and drawing units. The
+ pattern is used cyclically. The empty pattern signifies a solid
+ line. The initial line pattern is a solid line, corresponding to
+ the empty pattern `\lpatt ()'.
+
+`\setgray LEVEL'
+ Set the gray level of lines. Gray levels are real values from 0
+ (black) through intermediate values (gray) to 1 (white). The
+ initial gray level is 0 corresponding to black.
+
+`\arrowheadtype t:TYPE'
+ Set the arrowhead type to TYPE, where TYPE is one of `F', `T',
+ `W', `V', or `H'. There are two kinds of arrowheads. The first
+ kind is a triangle. There are 3 variants: type `T' is an empty
+ triangle, type `F' is a filled triangle (using the current gray
+ level for lines), type `W' is a triangle filled with white. The
+ second kind of arrowhead is an open ended Vee. There are 2
+ variants: type `V' has the stem continue to the tip, type `H' has
+ the stem stop at the base of the arrowhead. The initial arrowhead
+ type is `T'.
+
+`\arrowheadsize l:LENGTH w:WIDTH'
+ Set the arrowhead size to be LENGTH units long and WIDTH units
+ wide. The width is measured across the "base" of the arrowhead.
+ The initial arrowhead size has a LENGTH of 0.16 inches and a WIDTH
+ of 0.08 inches.
+
+ Note that the lines which outline the arrowhead will be drawn with the
+same line pattern used for the stem. Normally, arrow vectors are drawn
+with the line pattern set for a solid line. Note that the fill level
+used for the `F' variant of the arrowhead uses the same gray level as
+used for lines. The difference between the `T' variant and the `W'
+variant only shows up if the arrowhead is placed over non-white areas
+of the drawing. The `W' variant obliterates the area under the
+arrowhead.
+
+ Examples of line parameter and arrowhead settings are shown in the
+following code.
+ \centertexdraw{
+ \drawdim in
+ \linewd 0.03 \setgray 0.6 \arrowheadtype t:F \avec(0 0.5)
+ \linewd 0.01 \setgray 0 \arrowheadtype t:V \avec(0.5 0.5)
+ \linewd 0.015 \lpatt(0.067 0.1) \lvec (1 0)
+ \linewd 0.02 \lpatt() \arrowheadtype t:T \avec(1.5 0.5)
+ \arrowheadtype t:H \avec(2.0 0.5)
+ \setgray 0.4 \arrowheadtype t:W \avec(3.0 0)
+ }
+
+
+File: texdraw, Node: TeX text, Next: Circles and arcs, Prev: Line vectors, Up: TeXdraw Commands
+
+TeX text
+========
+
+ Text may be superimposed on the drawing. The text argument of the
+`\htext' command is in horizontal mode. This text can be ordinary
+text, math mode expressions, or even more complicated boxes consisting
+of tables and the like. The resulting TeX text is placed in a box.
+The reference point of the box can be chosen to be one of nine
+locations: horizontally left, center or right; vertically top, center or
+bottom. The `\htext' command takes one of two forms.
+
+`\htext (X Y){TEXT}'
+`\htext {TEXT}'
+ The first form of this command places the TeX text TEXT
+ horizontally with the text reference point at the coordinate `(X
+ Y)'. The new current position is `(X Y)'. The second form of
+ this command places the TeX text TEXT horizontally with the text
+ reference point at the current position. The text reference point
+ is set with the `\textref' command.
+
+ Text can be placed vertically using the `\vtext' command. The text
+argument is in horizontal mode. The TeX text is placed in a box and
+then rotated counterclockwise. The reference point is the point in the
+box, _before_ rotation of the text. Not all PostScript printer drivers
+support vertical text.
+
+`\vtext (x y){TEXT}'
+`\vtext {TEXT}'
+ The first form of this command places the TeX text TEXT vertically
+ with the text reference point at the coordinate `(X Y)'. The new
+ current position is `(X Y)'. The second form of this command
+ places the TeX text TEXT vertically with the text reference point
+ at the current position. In both cases, the TeX text is placed in
+ a box and the box is rotated counterclockwise by 90 degrees about
+ the text reference point. The text reference point is set with
+ the `\textref' command.
+
+ Text can be placed at an arbitrary angle using the `\rtext' command.
+The text argument is in horizontal mode. The TeX text is placed in a
+box and then rotated counterclockwise. The reference point is the
+point in the box, _before_ rotation of the text. Not all PostScript
+printer drivers support rotated text.
+
+`\rtext td:ANGLE (x y){TEXT}'
+`\rtext td:ANGLE {TEXT}'
+ The first form of this command places the TeX text TEXT at an
+ angle with the text reference point at the coordinate `(X Y)'.
+ The new current position is `(X Y)'. The second form of this
+ command places the TeX text TEXT at an angle with the text
+ reference point at the current position. In both cases, the TeX
+ text is placed in a box and the box is rotated counterclockwise by
+ ANGLE degrees about the text reference point. The text reference
+ point is set with the `\textref' command.
+
+ The reference point for subsequent TeX text in a `\htext', `\vtext'
+or `\rtext' command is set with the `\textref' command.
+
+`\textref h:H-REF v:V-REF'
+ Set the text reference point for subsequent text commands. The
+ horizontal reference point H-REF is one of `L', `C' or `R' (left,
+ center or right). The vertical reference point V-REF is one of
+ `T', `C' or `B' (top, center or bottom). For rotated text, the
+ reference point is determined before rotation. The initial text
+ reference point corresponds to `\textref h:L v:B'.
+
+The font used to render the text is determined as for any other TeX
+text. Normally the font used outside of TeXdraw is in effect. If
+desired, other fonts can be specified as part of the text. Any font
+changes within a TeXdraw text command remain local to that command.
+
+ Only the coordinate of the text reference point in a `\htext',
+`\vtext' or `\rtext' command is used in calculating the size of the
+drawing. This means that text itself can spill outside of the drawing
+area determined by TeXdraw. The area of the drawing can be increased
+to include the text by issuing additional `\move' commands.
+
+ \centertexdraw{
+ \avec(-0.75 -0.25) \textref h:R v:C \htext{H-text}
+ \move(0 0) \avec(-0.75 +0.25) \textref h:R v:B \htext{H-text}
+ \move(0 0) \avec(0 +0.5) \textref h:L v:T \vtext{V-text}
+ \move(0 0) \avec(+0.75 +0.25) \textref h:L v:B \htext{H-text}
+ \move(0 0) \avec(+0.75 -0.25) \textref h:L v:C \htext{H-text}
+ }
+
+
+File: texdraw, Node: Circles and arcs, Next: Bezier curves, Prev: TeX text, Up: TeXdraw Commands
+
+Circles, ellipses and arcs
+==========================
+
+ TeXdraw supplies commands to generate circles, ellipses and arcs.
+There are two forms of the circle command. The `\lcir' command draws a
+circle of given radius. The `\fcir' command draws a filled circle. In
+the latter case, the circle is filled by a specified gray level. For
+the filled circle, the line defining the circumference of the circle is
+not drawn. Note that the gray level area filled in by the `\fcir'
+command is opaque, even if the fill is chosen to be white. For either
+form of the circle command, the drawing size is increased if necessary
+to contain the circle.
+
+ The `\lellip' command generates an ellipse specified by the radius of
+the ellipse in the X direction and the radius of the ellipse in the Y
+direction. The ellipse is symmetrical about horizontal and vertical
+lines drawn through the current point. The `\fellip' command draws a
+filled ellipse. In the latter case, the ellipse is filled by a
+specified gray level. For the filled ellipse, the line defining the
+boundary of the ellipse is not drawn. For either form of the ellipse
+command, the drawing size is increased if necessary to contain the
+ellipse.
+
+ The `\larc' command generates a counterclockwise arc specified by a
+start angle in degrees and an end angle in degrees. The center of the
+arc is the current position. Only the arc is drawn, not the line
+joining the center to the beginning of the arc. Note that the `\larc'
+command does not affect the size of the drawing.
+
+`\lcir r:RADIUS'
+ Draw a circle with center at the current position. The radius is
+ specified by RADIUS. This command draws a line along the
+ circumference of the circle. The drawing size is increased if
+ necessary to contain the circle.
+
+`\fcir f:LEVEL r:RADIUS'
+ Draw a filled circle with center at the current position. The
+ radius is specified by RADIUS. The circle is painted with the
+ gray level specified by LEVEL. A gray level of 1 corresponds to
+ white, with decreasing values getting darker. The level 0 is full
+ black. This command does not draw a line along the circumference.
+ The drawing size is increased if necessary to contain the circle.
+
+`\lellip rx:X-RADIUS ry:Y-RADIUS'
+ Draw an ellipse with center at the current position. The radius
+ in the X direction is specified by X-RADIUS. The radius in the Y
+ direction is specified by Y-RADIUS. The drawing size is increased
+ if necessary to contain the ellipse.
+
+`\fellip f:LEVEL rx:X-RADIUS ry:Y-RADIUS'
+ Draw a filled ellipse with center at the current position. The
+ radius in the X direction is specified by X-RADIUS. The radius in
+ the Y direction is specified by Y-RADIUS. The ellipse is painted
+ with the gray level specified by LEVEL. A gray level of 1
+ corresponds to white, with decreasing values getting darker. The
+ level 0 is full black. This command does not draw a line along
+ the boundary of the ellipse. The drawing size is increased if
+ necessary to contain the ellipse.
+
+`\larc r:RADIUS sd:START-ANGLE ed:END-ANGLE'
+ Draw a counterclockwise arc. The center of the arc is at the
+ current position. The radius is specified by RADIUS. The start
+ and end angles (in degrees) are specified by START-ANGLE and
+ END-ANGLE. This command does not affect the limits (size) of the
+ drawing.
+
+ As an example, the following commands draw a filled circle, and
+superimpose an arc.
+ \centertexdraw{
+ \linewd 0.02
+ \fcir f:0.7 r:1
+ \larc r:1 sd:45 ed:135
+ \lvec (+0.707 +0.707) \move (0 0) \lvec (-0.707 +0.707)
+ }
+
+ Note that for the arc command, the resulting figure can spill outside
+of the TeXdraw box as determined by the maximum excursions of the
+coordinates. Extra moves can be used to compensate for the size of the
+arc.
+
+
+File: texdraw, Node: Bezier curves, Next: Fill commands, Prev: Circles and arcs, Up: TeXdraw Commands
+
+Bezier curves
+=============
+
+ Bezier curves in TeXdraw use 4 reference coordinates, two as the end
+points and two others to control the shape of the curve. Let the 4
+points be `(X0 Y0)', `(X1 Y1)', `(X2 Y2)' and `(X3 Y3)'. The curve
+starts out tangent to the line joining the first two points and ends up
+tangent to the line joining the second two points. The control points
+"pull" at the curve to control the curvature. The amount of pull
+increases with the distance of the control point from the endpoint.
+
+ As the parameter u varies from 0 to 1, the coordinates of the Bezier
+curve are given by a pair of parametric cubic equations,
+
+x(u) = (1-u)^3 x0 + 3u (1-u)^2 x1 + 3u^2 (1-u) x2 + u^3 x3
+
+y(u) = (1-u)^3 y0 + 3u (1-u)^2 y1 + 3u^2 (1-u) y2 + u^3 y3 .
+
+`\clvec (X1 Y1)(X2 Y2)(X3 Y3)'
+ Draw a Bezier curve from the current position to the coordinate
+ `(X3 Y3)' which becomes the new current position. The coordinates
+ `(X1 Y1)' and `(X2 Y2)' serve as control points for the curve.
+ Only the last coordinate given is used to update the size of the
+ drawing.
+
+Note that only 3 coordinate pairs are specified. The other point is the
+current position before the `\clvec' command is executed. Only the
+last coordinate specified in the `\clvec' command is used to determine
+the extent of the drawing. While the Bezier curve passes through the
+old current position and the new current position, in general the curve
+will not reach the intermediate control points. The curve is always
+entirely enclosed by the convex quadrilateral defined by the two end
+points and the two control points. Note that the curve may pass
+outside the limits of the drawing as determined by the end point of the
+curve.
+
+ A simple Bezier curve is produced by the following example.
+ \btexdraw
+ \move (0 0)
+ \clvec (0 1)(1 0)(1 1)
+ \etexdraw
+
+
+File: texdraw, Node: Fill commands, Prev: Bezier curves, Up: TeXdraw Commands
+
+Fill commands
+=============
+
+ PostScript deals with paths consisting of line segments. The paths
+can be closed and the interior of the closed region filled. From
+TeXdraw, paths start with a `\move' or `\rmove' command and continue
+with `\lvec', `\rlvec' or `\clvec' commands. The TeXdraw fill commands
+close the path and fill the interior of the closed region. Closing the
+path means that effectively another `\lvec' line is drawn from the last
+point specified to the initial point. TeXdraw provides two forms of
+the fill command. The `\ifill' fills the interior of the region with
+the given gray level. The lines defining the path are not drawn. The
+`\lfill' command fills the region defined by the closed path and draws
+a line along the enclosing path. Note for both forms of the fill
+command, the gray level used for filling is opaque, even if the gray
+level is chosen to be white.
+
+`\lfill f:LEVEL'
+ Close the current path, draw the line around the path using the
+ current grey level for lines and paint the interior of the region
+ with specified gray level LEVEL. Gray levels are real values from
+ 0 (black) through intermediate values (grays) to 1 (white).
+
+`\ifill f:LEVEL'
+ Close the current path and paint the interior of the region with
+ gray level LEVEL. The line around the path is not drawn. Gray
+ levels are real values from 0 (black) through intermediate values
+ (grays) to 1 (white).
+
+ The following example draws a "flag" with the interior filled in. The
+path around the boundary is given in a clockwise order to define a
+closed path. We could take advantage of the fact that the fill command
+will close an open path to eliminate one of the `\lvec' commands.
+ \centertexdraw{
+ \move (0.5 0)
+ \lvec (0 0.5) \clvec (0.5 0.85)(1 0.65)(1.5 1)
+ \lvec (2 0.5) \clvec (1.5 0.15)(1 0.35)(0.5 0)
+ \lfill f:0.8
+ }
+
+ In TeXdraw, the `\move' command always terminates any previous paths
+and starts a new path. Commands that change line parameters (e.g.
+`\setgray' or `\lpatt') also terminate paths and start new paths. The
+circle, ellipse and arc commands do not affect the definition of the
+current path. The `\avec' command is not appropriate for defining a
+path to be filled. It ends a subpath at its tail and begins a new
+subpath at its tip. Filling a region defined by a path with subpaths
+is more complicated in that each subpath is closed before filling.
+
+
+File: texdraw, Node: Drawing Segments and Scaling, Next: Using TeXdraw with LaTeX, Prev: TeXdraw Commands, Up: Top
+
+Drawing Segments and Scaling
+****************************
+
+ TeXdraw provides individually scaled segments which can be used to
+create relocatable drawing modules.
+
+* Menu:
+
+* Drawing segments::
+* Drawing paths::
+* Saving positions::
+* Scaling coordinates::
+* Drawing size::
+* Initial current position::
+
+
+File: texdraw, Node: Drawing segments, Next: Drawing paths, Up: Drawing Segments and Scaling
+
+Drawing segments
+================
+
+ A TeXdraw drawing segment allows for local modifications of
+parameters and relative positioning. A TeXdraw segment is delimited by
+a `\bsegment' command and an `\esegment' command. Inside the segment,
+the initial current position is `(0 0)'. Any changes to parameters
+such as the gray level and the line width, remain local to the segment.
+Segments are implemented in TeX using a `\begingroup' and `\endgroup'.
+Segments can be nested.
+
+`\bsegment'
+ Start a drawing segment. The coordinate system is shifted such
+ that the current position corresponds to the coordinate `(0 0)'.
+ Changes to scaling, position and line parameters stay local to the
+ drawing segment.
+
+`\esegment'
+ End a drawing segment. The current position in effect before the
+ corresponding `\bsegment' command is restored. The scaling and
+ line parameter values revert to those in effect before the
+ corresponding `\bsegment' command was invoked.
+
+
+File: texdraw, Node: Drawing paths, Next: Saving positions, Prev: Drawing segments, Up: Drawing Segments and Scaling
+
+Drawing paths
+=============
+
+ Certain subtle interactions occur between drawing segments and fill
+operations. In PostScript, lines are drawn by first defining a path,
+then later stroking the path to draw the line. In TeXdraw, this
+stroking occurs when the line is terminated, say by a `\move' command.
+PostScript paths are interrupted by, but continue after a drawing
+segment. This means that a path started before a segment may not be
+stroked (drawn) until after the segment ends. Consider the following
+example.
+ \move (0 0)
+ \lvec (1 1)
+ \bsegment
+ \move (-0.25 -0.25)
+ \fcir f:0.8 r:0.5
+ \esegment
+ \move (0 0)
+A PostScript path is started at `(0 0)' and continues with a line
+to `(1 1)'. This path is interrupted by the segment. The filled
+circle is drawn next. After the segment, the path continues and is not
+stroked until the `\move (0 0)' command after the end of the segment.
+This means that the line appears on top of the filled region.
+
+ If the fill operation is to cover the line, the path must be stroked
+before the fill operation. From TeXdraw, the move commands `\move' and
+`\rmove', and the end TeXdraw command `\etexdraw' terminate a path and
+cause it to be stroked. Within a segment, the end segment command
+`\esegment' also terminates and strokes a path. In the example above,
+the line can be stroked by inserting a move command (such as a `\rmove
+(0 0)' which does not affect the position), before the start of the
+segment.
+
+
+File: texdraw, Node: Saving positions, Next: Scaling coordinates, Prev: Drawing paths, Up: Drawing Segments and Scaling
+
+Saving positions
+================
+
+ The `\savecurrpos' command saves the current position. The saved
+position is an absolute position, not one relative to a segment. The
+position saving mechanism is global; the position can be saved within a
+nested segment and then used outside of the segment. The X and Y
+coordinates of the position are saved separately as named coordinates.
+The names are of the form `*NAME', with the leading `*' being
+obligatory. A companion command, `\savepos', saves a given coordinate
+(relative to the current segment) as an absolute symbolic position.
+
+`\savecurrpos (*PX *PY)'
+ Save the current position as the absolute position referenced by
+ `(*PX *PY)'.
+
+`\savepos (X Y)(*PX *PY)'
+ Save the coordinate position `(X Y)' as the absolute position
+ referenced by `(*PX *PY)'. The coordinate `(X Y)' is interpreted
+ in the normal fashion as a coordinate relative to the current
+ segment, using the current scaling factors and drawing unit.
+
+ The symbolic names used to specify a saved position can consist of any
+characters that are not special to TeX, but must start with a `*'
+character. The symbolic names can be used as the X and/or Y coordinate
+in any command that needs a coordinate. Symbolic coordinates are not
+normally used with relative motion commands such as `\rlvec' or
+`\rmove'. If used with relative motion, the corresponding displacement
+is equal to the symbolic coordinate value.
+
+ On exit from a segment, the position and graphics state on entry is
+restored. Any changes to line types, scaling and position are
+discarded. However, it is sometimes useful alter the position on exit
+from a segment. The `\savepos' command allows for the saving of a
+position within the segment. This position can be restored after the
+`\esegment' with a `\move' command using the saved symbolic position.
+This approach can be used to build modules which operate in a manner
+analogous to the basic relative motion line vector commands.
+
+ The following example defines a macro which draws a box 0.75 inches
+wide by 0.5 inches high containing centered text. On leaving the macro
+the position will be set at a point on the righthand side of the box.
+ \def\tbox #1{\bsegment
+ \lvec (0 +0.25) \lvec (0.75 +0.25)
+ \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0)
+ \textref h:C v:C \htext (0.375 0){#1}
+ \savepos (0.75 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)}
+With this definition, we can treat `\tbox' in the same way as the
+basic vector commands, stringing them together to form a block diagram
+as in this example.
+ \centertexdraw{
+ \ravec (1 0) \tbox{$H(z)$} \ravec (1 0)
+ }
+
+
+File: texdraw, Node: Scaling coordinates, Next: Drawing size, Prev: Saving positions, Up: Drawing Segments and Scaling
+
+Scaling coordinates
+===================
+
+ There are two scale factors available, the unit scale factor and the
+segment scale factor. The overall scale factor is the product of these
+two. There are absolute and relative versions of commands to change
+these scale factors.
+
+ The unit scale factor is normally used to affect global scale changes.
+Changes to the unit scale factor remains local to a segment, but
+propagate to inferior segments. The default value is unity.
+
+ The segment scale factor is used for local scale changes. It remains
+local to a segment. The segment scale factor is reset to unity on entry
+into each segment. This means that changes to the segment scale factor
+do not propagate to inferior segments.
+
+`\setunitscale SCALE'
+ Set the unit scaling to SCALE. The argument SCALE is a real
+ number which is used to scale coordinate values. The overall
+ scaling factor is the product of the unit scale factor and the
+ segment scale factor.
+
+`\relunitscale VALUE'
+ Adjust the unit scale factor by multiplying by VALUE. This has
+ the effect of multiplying the overall scale factor by the same
+ factor. The overall scaling factor is the product of the unit
+ scale factor and the segment scale factor.
+
+`\setsegscale SCALE'
+ Set the segment scale factor. The argument SCALE is a real number
+ which is used to scale coordinate values. The overall scale
+ factor is the product of the unit scale factor and the segment
+ scale factor.
+
+`\relsegscale VALUE'
+ Adjust the segment scale factor by multiplying by VALUE. This has
+ the effect of multiplying the current overall scale factor by the
+ same factor. The overall scaling factor is the product of the
+ unit scale factor and the segment scale factor.
+
+ In addition to the unit scale factor and the segment scale factor, the
+scaling can be controlled by the choice of drawing units with the
+command `\drawdim' (*note Coordinate specification::).
+
+`\drawdim cm \setunitscale 2.54'
+ Set the units to centimetres scaled by 2.54. Together these
+ commands are effectively the same as `\drawdim in'.
+
+ The segment scale can be used to allow scale changes in segments so
+that values are in more convenient units. For example suppose
+dimensions in a segment are multiples of one third of an inch. The
+segment scale can be set once to make 1 drawing unit equal 0.3333
+inches. From that point on, coordinates can be specified with integer
+values.
+
+ The following example defines a macro to draw a rectangular box which
+is twice as wide as it is high. The width is specified as an argument.
+ \def\mybox #1{\bsegment
+ \setsegscale #1
+ \lvec (0 +0.25) \lvec (1 +0.25) \lvec (1 -0.25)
+ \lvec (0 -0.25) \lvec (0 0)
+ \esegment}
+
+
+File: texdraw, Node: Drawing size, Next: Initial current position, Prev: Scaling coordinates, Up: Drawing Segments and Scaling
+
+Drawing size
+============
+
+ The effective size of the drawing is determined by the maximum
+excursions of the coordinates supplied to TeXdraw commands. The
+minimum and maximum scaled X and Y coordinates are tallied. Note that
+`\move' commands contribute to the determination of the calculated size
+of the drawing, even though they do not generate visible lines. The
+circle and ellipse commands add a compensation for the radii of circles
+and ellipses. The final TeXdraw drawing is placed in a TeX box with
+lower lefthand corner corresponding to `('X-min Y-min`)' and upper
+righthand corner at `('X-max Y-max`)'.
+
+ Text generated by `\htext', `\vtext' or `\rtext' can spill outside
+the box as determined above. Only the text reference point is
+guaranteed to be in the drawing box. Arcs can also spill outside the
+drawing box. Note also that the widths of lines, and the sizes of
+arrowheads do not affect the size of the drawing. The calculated size
+of the drawing will never be larger than the actual size of the
+drawing. In extreme cases in which text or lines extend far outside
+the drawing, extra `\move' commands should be used to establish the
+size of the drawing so that the TeXdraw box includes all of the drawing.
+
+ TeXdraw provides the `\drawbb' command to draw a box which indicates
+the effective size of the drawing. Whenever `\drawbb' is invoked, a
+ruled box is drawn around the drawing as it has been sized up to that
+point. Normally `\drawbb' is invoked just before the end of a drawing
+to indicate the effective size of the final drawing.
+
+`\drawbb'
+ Draw a ruled box around the effective size of a drawing produced by
+ TeXdraw commands.
+
+
+File: texdraw, Node: Initial current position, Prev: Drawing size, Up: Drawing Segments and Scaling
+
+Initial current position
+========================
+
+ The first operation in a drawing should be a move to establish the
+current position. The current position can be established explicitly
+through a `\move' command or a text positioning command such as
+`\htext' with a coordinate. However, if an attempt is made to use a
+drawing command which needs a current position and none has been
+established, TeXdraw implicitly sets the initial current position to
+`(0 0)'. The size of the TeXdraw figure is normally determined from
+the sequence of coordinates specified, but will include the implicit
+initial position in case another initial position has not been
+explicitly specified.
+
+
+File: texdraw, Node: Using TeXdraw with LaTeX, Next: More Details, Prev: Drawing Segments and Scaling, Up: Top
+
+Using TeXdraw with LaTeX
+************************
+
+ The LaTeX typesetting system uses a structured approach to declaring
+typesetting environments. For LaTeX2e, the `texdraw' package defines
+the `texdraw' environment. The TeXdraw environment is started with a
+`\begin{texdraw}' command and terminated with an `\end{texdraw}'
+command. All of the basic TeXdraw commands can be used within the
+`texdraw' environment.
+
+ As an example, a LaTeX2e variant of an earlier example can be
+constructed as follows.
+ \documentclass{article}
+ \usepackage{texdraw}
+ ...
+ \begin{document}
+ ...
+ \newcommand{\tbox}[1]{%
+ \bsegment
+ \lvec (0 +0.25) \lvec (0.75 +0.25)
+ \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0)
+ \textref h:C v:C \htext (0.375 0){#1}
+ \savepos (0.75 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)}
+ \begin{center}
+ \begin{texdraw}
+ \ravec (1 0) \tbox{$H(z)$} \ravec (1 0)
+ \end{texdraw}
+ \end{center}
+ ...
+ \end{document}
+
+ This example illustrates the use of the LaTeX command `\newcommand'
+as an alternative to the plain TeX command `\def'. Instead of the
+basic TeXdraw command `\centertexdraw', a nested combination of the
+LaTeX centering environment and the TeXdraw environment is used.
+
+* Menu:
+
+* PostScript printer drivers::
+
+
+File: texdraw, Node: PostScript printer drivers, Up: Using TeXdraw with LaTeX
+
+PostScript printer drivers
+==========================
+
+ The `texdraw' package uses the printer driver interface provided by
+the standard LaTeX2e `graphics' package. Any options to the `texdraw'
+package are passed to the `graphics' package. Specifically, the name
+of the PostScript driver to be used can be specified as an option to
+the `texdraw' package. With no explicit printer driver option, the
+default printer driver associated with the `graphics' package is used.
+
+ The `texdraw' package can be used with any of the printer drivers
+supported by the `graphics' package that allow for the importation of
+PostScript graphics files, viz., `dvips', `xdvi', `dvi2ps', `dvialw',
+`dvilaser', `dvipsone', `dviwindo', `dvitops', `oztex', `psprint',
+`textures', `pctexps', and `pctexwin'. Not all of these drivers
+support the text rotation needed for the TeXdraw commands `\vtext' and
+`\rtext'. Of the drivers listed above, only the following support
+support text rotation: `dvips', `xdvi', `dvi2ps', `dvitops',
+`textures', and `pctexps'.
+
+
+File: texdraw, Node: More Details, Next: PostScript Commands, Prev: Using TeXdraw with LaTeX, Up: Top
+
+More Details
+************
+
+ The first part of this chapter offers some suggestions for strategies
+to isolate errors in TeX and TeXdraw input. The second part of this
+chapter discusses implementational issues. An awareness of these issues
+is useful if TeXdraw is to be extended.
+
+* Menu:
+
+* Errors while using TeXdraw::
+* Extending TeXdraw::
+* How TeXdraw merges graphics and text::
+
+
+File: texdraw, Node: Errors while using TeXdraw, Next: Extending TeXdraw, Up: More Details
+
+Errors while using TeXdraw
+==========================
+
+ TeX input is notoriously difficult to debug. If TeX reports errors,
+so much the better. If the cause is not immediately obvious, consider
+using a binary search strategy, removing sections of code with the
+premature insertion of the `\bye' (or `\end{document}' for LaTeX)
+command (with the appropriate closing of any open groups and the like).
+Other strategies include the insertion of `\message{I am here}' at
+appropriate places. Try using `\tracingmacros=1'. Many problems turn
+out to be due to an incorrect number of macro arguments or incorrectly
+delimited macro arguments. The `\tracingmacros=1' option writes the
+macro arguments and macro expansions to the TeX log file.
+
+ Certain errors may not manifest themselves until well after the
+offending command. For instance, if a closing parenthesis is missing
+from a TeXdraw coordinate, TeX continues searching for the parenthesis.
+If one is found, perhaps many lines later, the TeXdraw error message
+`invalid coordinate' will be printed at this later point.
+
+ All input in the TeXdraw environment should be intended for
+interpretation by TeXdraw commands. TeXdraw places text inside a zero
+size box (the text itself extends outside the box). Extraneous input
+manifests itself as a non-zero size TeXdraw text box. This causes the
+TeXdraw text and the PostScript graphics to be displaced from one
+another. An error message is issued if a non-zero width TeXdraw text
+box is detected. If this error message appears, look for unintended
+character sequences amongst the commands to TeXdraw.
+
+ Several TeXdraw commands pass their arguments "raw" to the PostScript
+file. That means that invalid arguments can generate PostScript errors
+when the document is printed. For instance the argument of the
+`\setgray' command is passed straight through to the PostScript file.
+If this argument is non-numeric, a PostScript error results. Not all
+PostScript printers report errors back to the user. The print may just
+stop prematurely. One approach to debugging is to use a PostScript
+previewer on a workstation. That way, one can determine at which point
+in the drawing the PostScript error occurs.
+
+
+File: texdraw, Node: Extending TeXdraw, Next: How TeXdraw merges graphics and text, Prev: Errors while using TeXdraw, Up: More Details
+
+Extending TeXdraw
+=================
+
+ TeXdraw is implemented using a combination of TeX commands and
+PostScript code. This section discusses some of the implementational
+issues as they relate to extending TeXdraw.
+
+ TeXdraw as implemented, offers a basic set of drawing features.
+These are adequate for certain tasks such as producing block diagrams.
+There are different approaches to extending TeXdraw to include other
+functions. In some cases, the desired functionality can be achieved by
+writing a TeX macro which builds on top of the existing TeXdraw
+commands. As these extensions become more complex, the limitations of
+TeX for computations become increasingly evident. In other cases,
+access to different features of PostScript is desired. The appropriate
+approach would be to write new PostScript procedures which can be
+accessed by TeX macros.
+
+ Included with TeXdraw is a set of macros for directly accessing
+PostScript functions. These are described in an appendix (*note
+PostScript Commands::).
+
+ TeXdraw also comes with a toolbox of routines for handling much of
+the user interface, converting between different coordinate
+representations and the like. The macros for coordinate decoding and
+for computations involving coordinates are described in an appendix
+(*note TeXdraw Toolbox: TeXdraw Toolbox.).
+
+* Menu:
+
+* Scaling::
+* Resolution::
+* Text placement::
+* Intermediate PostScript file::
+
+
+File: texdraw, Node: Scaling, Next: Resolution, Up: Extending TeXdraw
+
+Scaling
+-------
+
+ The scaling commands provided in TeXdraw are designed to affect only
+the coordinate values specified in commands. For instance, changing the
+`\setunitscale' value changes the interpretation of the coordinate in
+an `\avec (X Y)' command, but does not change the line width or
+arrowhead sizes in effect. None of the TeXdraw scaling commands affect
+the size of TeX text produced by, for instance, the `\htext' command.
+Scale changes will however affect the positioning of text for
+subsequent commands.
+
+ The line parameters are changed only if the corresponding commands to
+change them are issued. If the `\linewd' command is given, the current
+coordinate scaling is used to determine the line width. To achieve a
+behaviour more like a global scaling, whenever the scale factor is
+changed, the line parameters should be set again.
+
+
+File: texdraw, Node: Resolution, Next: Text placement, Prev: Scaling, Up: Extending TeXdraw
+
+Resolution
+----------
+
+ TeXdraw scales coordinates before passing them to PostScript.
+Keeping track of the coordinate scaling is necessary, in any event, to
+allow TeXdraw to compute the maximum excursions of the coordinates.
+TeXdraw uses pixel units in its PostScript code. One pixel unit is
+equal to 1/300 of an inch. TeXdraw issues PostScript commands with
+integer valued pixel coordinates. This sets the positioning resolution
+for TeXdraw. The passing of integer valued coordinates which
+correspond to the device resolution keeps lines aligned with the device
+grid; parallel lines of the same width will be rendered with the same
+width.
+
+ The position saving mechanism in TeXdraw (*note Saving positions::)
+associates the pixel coordinates of a position with the specified name.
+
+ TeXdraw uses the limited real number representation provided by TeX.
+These operations are based on the representation of dimensions as
+real-valued numbers of points. Internally in TeX, dimensions are
+stored 32-bit values, normalized so that 1 pt corresponds to the scaled
+point (sp) value of 65536. Dimensions with magnitudes between 0.000015
+pt and 32767 pt can be represented. This is also the dynamic range of
+the TeXdraw pixel coordinates passed to PostScript. TeXdraw must
+convert from user supplied coordinates using the scaling factor (which
+itself consists of two components, the unit scale and the segment scale)
+and a pixel conversion factor. The use of limited precision real
+numbers in these computations can cause accumulation of error when
+relative scaling is used repeatedly.
+
+
+File: texdraw, Node: Text placement, Next: Intermediate PostScript file, Prev: Resolution, Up: Extending TeXdraw
+
+Text placement
+--------------
+
+ While in the TeXdraw environment, TeX text is placed in a TeX box
+while PostScript code is written to the intermediate file. At the end
+of the TeXdraw environment, the size of the drawing is determined. A
+TeX box of this size is created. The TeX `\special' mechanism is used
+to instruct the PostScript driver program to position the PostScript
+drawing from the intermediate file in this area. Next, the text
+generated by TeXdraw is positioned and placed in the box. Note that
+when the document is printed, the PostScript drawing is placed on the
+page before the TeX text; TeX text will appear on top of graphics.
+
+ The rotation of text is carried out with in-line PostScript code which
+does not appear in the intermediate PostScript file. This code is sent
+to the PostScript driver with a `\special' command. This PostScript
+code is embedded in the dvi (device independent) file that TeX produces.
+
+
+File: texdraw, Node: Intermediate PostScript file, Prev: Text placement, Up: Extending TeXdraw
+
+The intermediate PostScript file
+--------------------------------
+
+ The intermediate PostScript file consists of a header, a body and a
+trailer following Encapsulated PostScript File (EPSF) standards. The
+header sets up PostScript definitions and default parameter values. The
+trailer includes the `BoundingBox' information which gives the
+coordinates in default PostScript units (72 per inch) for the lower
+lefthand corner and the upper righthand corner of the drawing. The body
+of the intermediate PostScript file contains the PostScript commands
+generated by TeXdraw.
+
+ Many moves in TeXdraw serve only to position text or to reset saved
+positions. TeXdraw buffers move commands in order to be able to
+collapse runs of moves. Only the last move of a run of moves is
+actually written to the PostScript file. However the intermediate moves
+still affect the size of the drawing. The expunging of moves means that
+the PostScript file `BoundingBox' information may indicate a drawing
+size larger than the PostScript commands themselves would warrant.
+
+ Drawing segments in TeXdraw show up in the PostScript file as saves
+and restores of the PostScript graphics state. Segment starts are
+buffered and only written out if necessary. This way "empty" segments
+do not generate output to the PostScript file. These empty segments
+arise if a segment contains only moves and text commands. The moves
+inside the segment are not needed since they are local to the segment,
+and the text commands do not generate output to the PostScript file.
+
+ If TeXdraw is used only for moves and text, no intermediate
+PostScript file will be created.
+
+
+File: texdraw, Node: How TeXdraw merges graphics and text, Prev: Extending TeXdraw, Up: More Details
+
+How TeXdraw merges graphics and text
+====================================
+
+ TeXdraw creates a box which is the same size as the graphic. The
+printer driver will place the PostScript graphic into this space. Any
+TeX text generated by the TeXdraw commands will be superimposed on this
+graphic.
+
+ The LaTeX2e front-end for TeXdraw is enabled by including the
+`texdraw' package. The `texdraw' package automatically invokes the
+standard `graphics' package distributed with LaTeX2e. The `graphics'
+package has support for a number of different printer drivers,
+including a number for PostScript printers. Any options to the
+`texdraw' package are passed on to the `graphics' package. Such an
+option can be used to select a driver other than the default one.
+
+ Within the `graphics' package, the driver option is used to select
+definitions for the low-level macros which generate the `\special'
+commands needed to request insertion of a graphics file and to rotate
+text.(1) TeXdraw uses the user-level macros defined by the `graphics'
+package (*note PostScript printer drivers::). When not used with the
+LaTeX2e front-end, TeXdraw defines versions of these macros that are
+suitable for use with the `dvips' printer driver.
+
+ ---------- Footnotes ----------
+
+ (1) Not all PostScript drivers support text rotation.
+
+
+File: texdraw, Node: PostScript Commands, Next: TeXdraw Toolbox, Prev: More Details, Up: Top
+
+PostScript Commands
+*******************
+
+ This appendix describes a set of macros for accessing some of the
+PostScript builtin functions. Each of these macros issues a single
+PostScript command. The extra services provided by TeXdraw are the
+interpretation of coordinates in user units relative to the current
+drawing segment and the writing of a pending TeXdraw move to the
+PostScript file. This last operation establishes the current point in
+PostScript. The user of these commands should be familiar with the
+concepts of path construction and filling in PostScript. Further
+details on the PostScript functions used can found in the `PostScript
+Language Reference Manual, Second Edition', Adobe Systems,
+Addison-Wesley, 1990.
+
+ These macros are distributed in file `txdps.tex'.
+
+ The `\PSsetlinecap' and `\PSsetlinejoin' commands control the way
+line ends and line joins are rendered. The default values set by
+TeXdraw (round caps and round join) are appropriate for most drawings.
+Changes to these parameters apply to the current and subsequent paths.
+
+`\PSsetlinecap TYPE'
+ Set the line cap parameter. The value `0' gives a butt cap; `1'
+ gives a round cap; and `2' gives a projecting square cap. The
+ initial value is corresponds to a round cap.
+
+`\PSsetlinejoin TYPE'
+ Set the line join parameter. The value `0' gives a miter join;
+ `1' gives a round join; and `2' gives a bevel join. The initial
+ value corresponds to a round join.
+
+ PostScript paths and fill operations can be controlled by a number of
+functions. By design, TeXdraw always maintains a defined PostScript
+current point. Some of the following macros cause the PostScript
+current point to become undefined. The PostScript current point must be
+set again (say with a `\PSmoveto' command) before invoking basic
+TeXdraw commands.
+`\PSstroke'
+ Stroke a PostScript path. The current path is stroked with the
+ current gray level (set with `\setgray') and the current line
+ pattern (set with `\lpatt'). The PostScript current point becomes
+ undefined.
+
+`\PSnewpath'
+ Establish a new path. The PostScript current point becomes
+ undefined.
+
+`\PSclosepath'
+ Close a subpath. A new subpath is started.
+
+`\PSfill'
+ Fill a region defined by a path. Each subpath is closed and the
+ enclosed regions painted with the current gray level. The
+ PostScript current point becomes undefined. The gray level can be
+ set with the TeXdraw command `\setgray'.
+
+ The following line commands interpret coordinates relative to the
+current TeXdraw scaling and drawing segment. The specified coordinate
+affects the drawing size as determined by TeXdraw.
+`\PSlineto (X Y)'
+ Add a line segment to the current path. This command is identical
+ to the TeXdraw command `\lvec'. The PostScript current point must
+ be defined before this command is issued.
+
+`\PSmoveto (X Y)'
+ Move to the coordinate specified by `(X Y)'. The PostScript
+ current point becomes defined.
+
+ The following macros provide access to the general arc commands in
+PostScript. The coordinates are interpreted relative to the current
+TeXdraw scaling and drawing segment. The specified coordinate affects
+the drawing size as determined by TeXdraw.
+`\PSarc r:RADIUS sd:START-ANGLE ed:END-ANGLE (X Y)'
+ Draw a counterclockwise arc. The center of the arc is at the given
+ position. The radius is specified by RADIUS. The start and end
+ angles (in degrees) are specified by START-ANGLE and END-ANGLE.
+ If the PostScript current point is defined, this command also
+ draws the line from the current point to the beginning of the arc.
+ The line and arc become part of the current path. The current
+ point becomes defined.
+
+`\PSarcn r:RADIUS sd:START-ANGLE ed:END-ANGLE (X Y)'
+ Draw a clockwise arc. The center of the arc is at the given
+ position. The radius is specified by RADIUS. The start and end
+ angles (in degrees) are specified by START-ANGLE and END-ANGLE.
+ If the PostScript current point is defined, this command also
+ draws the line from the current point to the beginning of the arc.
+ The line and arc become part of the current path. The current
+ point becomes defined.
+
+ The macro `\writeps' provides the general facility to write arbitrary
+PostScript commands to the PostScript file. This macro is used by the
+preceding commands and by the TeXdraw commands themselves. This
+facility has to be used with care since changes in position or scaling
+resulting from the PostScript commands are not known to TeXdraw.
+`\writeps {<PS-COMMANDS>}'
+ Write PostScript commands to the intermediate PostScript file.
+ Before the commands are inserted, any pending TeXdraw move is
+ written to the PostScript file. The PostScript scaling gives 300
+ units/inch.
+
+
+File: texdraw, Node: TeXdraw Toolbox, Next: Examples, Prev: PostScript Commands, Up: Top
+
+TeXdraw Toolbox
+***************
+
+ This appendix describes some of the macros supplied with TeXdraw
+which can be used to define additional commands for creating drawings.
+The macros described here work in the user specified coordinate system.
+Some of these toolbox macros are used by the TeXdraw commands
+themselves, others are supplied in an auxiliary file `txdtools.tex'.
+
+* Menu:
+
+* Coordinate parsing::
+* Real arithmetic::
+* Arrow curve::
+
+
+File: texdraw, Node: Coordinate parsing, Next: Real arithmetic, Up: TeXdraw Toolbox
+
+Coordinate parsing
+==================
+
+ The coordinate parsing macro `\getpos' is useful for creating new
+commands. This macro takes care of stripping leading and trailing
+blanks from coordinates specified between parentheses. In addition,
+symbolic coordinates are translated to the corresponding relative
+coordinate using the segment offset and scaling in effect.
+
+ The macro `\currentpos' returns the relative coordinates of the
+current position. The returned values are relative to the current
+segment and the current scaling. The macro `\cossin' returns the
+real-valued cosine and sine of the direction of the line joining two
+points. The macro `\vectlen' returns the length of a vector. The
+results appear as the value of user supplied macro names.
+
+`\getpos (X Y)\MX\MY'
+ Decode coordinate values. The coordinates specified by `(X Y)' are
+ decoded. Symbolic coordinates are translated to the corresponding
+ relative coordinate using the current segment offset and scaling.
+ The resulting character strings representing the real-valued
+ coordinates are assigned to the macros specified by `\MX' and
+ `\MY'.
+
+`\currentpos \MX\MY'
+ Return the coordinates of the current position. The coordinates
+ are relative to the current segment offset and scaling. The
+ resulting character strings representing the real-valued
+ coordinates are assigned to the macros specified by `\MX' and
+ `\MY'.
+
+`\cossin (X1 Y1)(X2 Y2)\COSA\SINA'
+ Return the cosine and sine of the direction of a vector joining two
+ points. The cosine and sine of the angle of the vector which goes
+ from `(X1 Y1)' to `(X2 Y2)'. The character strings representing
+ these real-valued quantities are assigned to the macros specified
+ by `\COSA' and `\SINA'.
+
+`\vectlen (X1 Y1)(X2 Y2)\LEN'
+ Return the length of a vector joining two points. The length of
+ the vector is relative to the current scaling. The character
+ string representing the real-valued length is assigned to the
+ macro specified by `\LEN'.
+
+
+File: texdraw, Node: Real arithmetic, Next: Arrow curve, Prev: Coordinate parsing, Up: TeXdraw Toolbox
+
+Real arithmetic
+===============
+
+ The TeXdraw toolbox supplies macros to perform real arithmetic on
+coordinate values. The result appears as the value of a user supplied
+macro name.
+`\realadd {VALUE1} {VALUE2} \SUM'
+ Add two real quantities, assigning the resultant character string
+ representing the sum to the macro `\SUM'.
+
+`\realmult {VALUE1} {VALUE2} \PROD'
+ Multiply two real quantities, assigning the resultant character
+ string representing the product to the macro `\PROD'.
+
+`\realdiv {VALUE1} {VALUE2} \RESULT'
+ Divide two real quantities, assigning the resultant character
+ string representing the result of VALUE1/VALUE2 to the macro
+ `\RESULT'.
+
+
+File: texdraw, Node: Arrow curve, Prev: Real arithmetic, Up: TeXdraw Toolbox
+
+Arrow curve
+===========
+
+ This example illustrates the use of the TeXdraw toolbox routines to
+do computations with the coordinates. The problem will be tackled in
+two parts. First, we will produce a macro to place an arrowhead on a
+Bezier curve. Then given this macro, we will produce a macro which can
+draw a "wiggly" line from the current position to a given coordinate.
+
+ The first macro, `\cavec', uses the `\cossin' command to determine
+the the cosine and sine of the angle of the line joining the second
+control point to the end point of the Bezier curve. Recall that the
+Bezier curve is tangent to this line at the end point. After drawing
+the Bezier curve, the scaling is set locally to absolute units of 0.05
+inches. We go back down the line from the end point by 0.05 inches and
+draw an arrow vector to the end point from there. This arrow vector is
+mostly arrowhead, with little or no tail.
+
+ \def\cavec (#1 #2)(#3 #4)(#5 #6){
+ \clvec (#1 #2)(#3 #4)(#5 #6)
+ \cossin (#3 #4)(#5 #6)\cosa\sina
+ \rmove (0 0)
+ \bsegment
+ \drawdim in \setsegscale 0.05
+ \move ({-\cosa} -\sina) \avec (0 0)
+ \esegment}
+
+ Note the use of macros as arguments to a `\move' command. Minus
+signs are put in front of the macros. However, the value of the macro
+`\cosa' or `\sina' could be negative. Fortunately, TeX accepts two
+minus signs in a row and interprets the result as positive. Note that
+the `\rmove (0 0)' command before the beginning of the segment ensures
+that the Bezier curve is stroked before the arrowhead is drawn.
+
+ The second macro `\caw' builds on `\cavec'. The goal is to produce a
+wiggly vector that can be used as a pointer in a drawing. Consider the
+following symmetrical normalized Bezier curve.
+ \centertexdraw{ \move (0 0) \cavec (1.4 0.1)(-0.4 -0.1)(1 0) }
+
+ This curve has the appropriate wiggle. Now we want to be able to draw
+this curve, appropriately scaled and rotated. The macro `\caw' needs
+to do computations on the coordinates. First, `\caw' uses the macros
+`\getpos' and `\currentpos' to get the positions of the end and start
+of the curve. Next, the length of the vector is calculated using the
+macro `\vectlen'. A local macro `\rotatecoord' is used to rotate a
+coordinate pair about the origin, using the cosine and sine of the
+rotation angle. The vector length is used to scale the normalized
+curve. The remaining code draws the rotated, normalized curve.
+
+ \def\caw (#1 #2){
+ \currentpos \xa\ya
+ \cossin ({\xa} \ya)(#1 #2)\cosa\sina
+
+ % The nominal wiggly curve is (0 0) (1+dx dy) (-dx -dy) (1 0)
+ % Find the rotated offset (dx dy) -> (du dv)
+ \rotatecoord (0.4 0.1)\cosa\sina \du\dv
+
+ % calculate the length of the vector
+ \vectlen ({\xa} \ya)(#1 #2)\len
+
+ % draw the curve in normalized units
+ \bsegment
+ \setsegscale {\len}
+ \realadd \cosa \du \tmpa \realadd \sina \dv \tmpb
+ \cavec ({\tmpa} \tmpb)({-\du} -\dv)({\cosa} \sina)
+ \esegment
+ \move (#1 #2)}
+
+ % rotate a coordinate (x y)
+ % arguments: (x y) cosa sina x' y'
+ % x' = cosa * x - sina * y; y' = sina * x + cosa * y
+ \def\rotatecoord (#1 #2)#3#4#5#6{
+ \getpos (#1 #2)\xarg\yarg
+ \realmult \xarg {#3} \tmpa \realmult \yarg {#4} \tmpb
+ \realadd \tmpa {-\tmpb} #5
+ \realmult \xarg {#4} \tmpa \realmult \yarg {#3} \tmpb
+ \realadd \tmpa \tmpb #6}
+
+ Finally, the new macro can be used as follows.
+ \centertexdraw{
+ \arrowheadtype t:W
+ \move (0 0)
+ \cavec (1.4 0.1)(-0.4 -0.1)(1 0)
+ \move (1 0) \caw (1 1) \htext{tip at \tt (1 1)}
+ \move (1 0) \caw (2 1) \htext{tip at \tt (2 1)}
+ \move (1 0) \caw (2 0) \htext{tip at \tt (2 0)}
+
+ }
+
+ Note that the Bezier curve in the macro `\cavec' lies below the
+arrowhead. The example then draws an arrowhead of type `W' to erase
+the part of the line below the arrowhead.
+
+
+File: texdraw, Node: Examples, Next: Command Listing, Prev: TeXdraw Toolbox, Up: Top
+
+Examples
+********
+
+ This appendix shows examples of the use of TeXdraw.
+
+* Menu:
+
+* Block diagram::
+* Filter response graph::
+* Geometric construction::
+
+
+File: texdraw, Node: Block diagram, Next: Filter response graph, Up: Examples
+
+Block diagram of a lattice filter
+=================================
+
+ The block diagram of a lattice filter uses a library of extended
+commands built from the basic TeXdraw commands.
+
+ The block diagram uses a "delay" block. This is defined as a segment
+which leaves the current position at the end of this block. A second
+macro, `\bdot', draws a "big" dot which is used to mark junctions of
+lines. The `\Ttext' command centers text above a given point. The
+offset to position the text is local to a segment, resulting in no
+change to the current point. Similar macros to position text below a
+point (`\Btext'), to the left of a point (`\Ltext') and to the right of
+a point (`\Rtext') are used in the final drawing.
+ \def\delay {\bsegment
+ \setsegscale 0.3
+ \lvec (0 +0.5) \lvec (1 +0.5) \lvec (1 -0.5)
+ \lvec (0 -0.5) \lvec (0 0)
+ \textref h:C v:C \htext (0.5 0){$z^{-1}$}
+ \savepos (1 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)}
+ \def\bdot {\fcir f:0 r:0.02 }
+ \def\Ttext #1{\bsegment
+ \textref h:C v:B \htext (0 +0.06){#1}
+ \esegment}
+
+ Several of the block diagram elements scale with the size of the
+summing nodes. The radius of the circles for the summing nodes is
+defined as the macro `\cradius'. The summing nodes will have enclosed
+plus signs, appropriately scaled. The plus sign is drawn by the macro
+`\pluss'. The macro `\pcir' draws both the circle and the plus sign.
+The incoming lines to a summing node will be labelled with plus or
+minus signs (characters this time), placed at the appropriate position
+with respect to the center of the summing node. These positions are
+given in terms of compass directions. The macro `\putwnw' places text
+west by north-west relative to the center of the summing node.
+ \def\cradius {0.08}
+ \def\pluss {\bsegment
+ \setsegscale {\cradius}
+ \move (-0.5 0) \lvec (+0.5 0)
+ \move (0 -0.5) \lvec (0 +0.5)
+ \esegment}
+ \def\pcir {\lcir r:{\cradius} \pluss}
+ \def\puttext (#1 #2)#3{\bsegment
+ \setsegscale {\cradius}
+ \textref h:C v:C \htext (#1 #2){#3}
+ \esegment}
+ \def\putwnw #1{\puttext (-1.7 +1.2){#1}}
+
+ The block diagram has vectors arriving and departing from the summing
+nodes (circles). One could calculate the points of intersection of the
+lines with the circles, and then enter the values into the TeXdraw
+code. However, in this example, we implement an automated procedure.
+Two macros are needed, an arrow vector to a circle (`\avectoc') and an
+arrow vector leaving from a circle (`\avecfrc'). The macros will
+calculate the point of intersection with the circle and start or end
+the vector at the intersection point.
+
+ The arrow macros use scaling and relative positioning inside of a
+drawing segment. In the case of the macro `\avectoc', a move is made
+to the final point (center of the circle), then within a drawing
+segment, a scaled move is made back towards the initial point to
+determine the intersection point with the circle.
+
+ \def\avectoc (#1 #2){\currentpos \xa\ya
+ \cossin ({\xa} \ya)(#1 #2)\cosa\sina
+ \savepos (#1 #2)(*tx *ty)
+ \bsegment
+ \move (*tx *ty)
+ \setsegscale {\cradius}
+ \rmove ({-\cosa} -\sina)
+ \savecurrpos (*ex *ey)
+ \esegment
+ \avec (*ex *ey)
+ \move (#1 #2)}
+ \def\avecfrc (#1 #2){\currentpos \xa\ya
+ \cossin ({\xa} \ya)(#1 #2)\cosa\sina
+ \bsegment
+ \setsegscale {\cradius}
+ \move ({\cosa} \sina)
+ \savecurrpos (*ex *ey)
+ \esegment
+ \move (*ex *ey)
+ \avec (#1 #2)}
+
+ Having defined these macros, we are ready to draw the block diagram.
+The first and last sections of the lattice filter are very similar,
+differing mainly in the text labels. With more effort, code could be
+shared between the commands used to draw these blocks.
+ \centertexdraw{
+ \drawdim in
+ \arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
+ \def\pl {$\scriptscriptstyle +$} \def\mn {$\scriptscriptstyle -$}
+
+ \move (0 +0.63) \move (0 -0.60) \move (0 0) % compensate for the text size
+
+ % Input to the first stage
+ \bsegment
+ \Ltext{$x(n)$}
+ \lvec (0.3 0) \bdot \lvec (0.3 +0.4) \move (0.3 0) \lvec (0.3 -0.4)
+ \savepos (0.3 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)
+
+ % first lattice stage
+ \bsegment
+ \move (0 +0.4) \avectoc (1.7 +0.4)
+ \pcir \putwnw{\pl} \puts{\mn}
+ \avecfrc (2.1 +0.4)
+ \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
+ \pcir \putwsw{\pl} \putn{\mn}
+ \avecfrc (2.1 -0.4)
+ \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
+ \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
+ \move (0.1 +0.42) \Ttext {$f_0(n)$}
+ \move (2.0 +0.42) \Ttext {$f_1(n)$}
+ \move (0.1 -0.4) \Btext {$b_0(n)$}
+ \move (2.0 -0.4) \Btext {$b_1(n)$}
+ \textref h:L v:B \htext (1.15 +0.2){$K_1$}
+ \textref h:L v:T \htext (1.15 -0.2){$K_1$}
+ \savepos (2.1 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)
+
+ % center section
+ \bsegment
+ \textref h:C v:C \htext (0.3 +0.4){$\cdots$}
+ \htext (0.3 -0.4){$\cdots$}
+ \savepos (0.6 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)
+
+ % last lattice stage
+ \bsegment
+ \move (0 +0.4) \avectoc (1.7 +0.4)
+ \pcir \putwnw{\pl} \puts{\mn}
+ \avecfrc (2.3 +0.4) \Rtext{$e(n)$}
+ \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
+ \pcir \putwsw{\pl} \putn{\mn}
+ \avecfrc (2.1 -0.4)
+ \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
+ \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
+ \move (0.1 +0.42) \Ttext {$f_{P-1}(n)$}
+ \move (2.0 +0.42) \Ttext {$f_P(n)$}
+ \move (0.1 -0.4) \Btext {$b_{P-1}(n)$}
+ \move (2.0 -0.4) \Btext {$b_P(n)$}
+ \textref h:L v:B \htext (1.15 +0.2){$K_P$}
+ \textref h:L v:T \htext (1.15 -0.2){$K_P$}
+ \esegment
+ }
+
+ The macros used in this example are similar to the block diagram
+macros defined in the file `blockdiagram.tex'.
+
+
+File: texdraw, Node: Filter response graph, Next: Geometric construction, Prev: Block diagram, Up: Examples
+
+Filter response graph
+=====================
+
+ This example shows the response of a canonical filter. TeXdraw is
+not well suited for general purpose graphing -- it has no coordinate
+translation facility nor does it have separate X and Y scaling.
+Nonetheless, for certain simple graphs, TeXdraw is adequate.
+
+ In this example, macro `\ticklab' places a labelled axis tick at a
+given position. The data is specified in a straightforward manner,
+having been scaled beforehand to give the desired aspect ratio for the
+graph.
+
+ \centertexdraw{
+ \arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
+ \def\ds {\displaystyle}
+ \def\ticklab (#1 #2)#3{\move(#1 #2)
+ \bsegment
+ \lvec (0 0.05)
+ \textref h:C v:T \htext (0 -0.05){#3}
+ \esegment}
+ \def\Rtext #1{\bsegment
+ \textref h:L v:C \htext (+0.08 0){#1}
+ \esegment}
+
+ \move (2.4 -0.3) % move to set the size
+
+ \move (0 0)
+ % Axes
+ \avec (0 +1.4)
+ \move (0 0) \avec (2.2 0) \Rtext{$\omega$}
+ \ticklab (0 0) {0}
+ \ticklab (0.8 0) {$\ds {\pi \over 2N} $}
+ \ticklab (1.2 0) {$\omega_s$}
+ \ticklab (1.6 0) {$\ds {\pi \over N} $}
+
+ \linewd 0.025
+ \move (0 1)
+ \lvec (0.4 1)
+ \lvec (0.44 0.998)
+ \lvec (0.48 0.988)
+ \lvec (0.52 0.973)
+ \lvec (0.56 0.951)
+ ...
+ \lvec (1.08 0.233)
+ \lvec (1.12 0.156)
+ \lvec (1.16 0.078)
+ \lvec (1.20 0)
+ \lvec (1.9 0)
+ }
+
+
+File: texdraw, Node: Geometric construction, Prev: Filter response graph, Up: Examples
+
+Geometric construction
+======================
+
+ This example shows a geometric construction which places an ellipse
+tangent to an enclosing circle. The size of the ellipse is determined
+from geometric considerations. Macros are used to modularize the code.
+The example alters the unit scale factor. This allows the drawing to be
+carried out in units normalized to the radius of the circle.
+
+ \centertexdraw{
+ \arrowheadtype t:V \arrowheadsize l:0.08 w:0.04
+ \linewd 0.01
+ \setunitscale 1.5 % circle will have radius 1.5 inches
+
+ \def\Btext #1{\bsegment
+ \textref h:C v:T \htext (0 -0.04){#1}
+ \esegment}
+ \def\Ttext #1{\bsegment
+ \textref h:C v:B \htext (0 +0.04){#1}
+ \esegment}
+ \def\Ltext #1{\bsegment
+ \textref h:R v:C \htext (-0.04 0){#1}
+ \esegment}
+ \def\bdot {\fcir f:0 r:0.0133 }
+ \def\vtick {\bsegment
+ \move (0 -0.05) \lvec (0 +0.05)
+ \esegment}
+ \def\htick {\bsegment
+ \move (-0.05 0) \lvec (+0.05 0)
+ \esegment}
+ \def\Hlen #1#2{\bsegment
+ \vtick \avec ({#1} 0) \vtick \avec (0 0)
+ \relsegscale 0.5
+ \move ({#1} 0) \Ttext {#2}
+ \esegment}
+ \def\Vlen #1#2{\bsegment
+ \htick \avec (0 {#1}) \htick \avec (0 0)
+ \relsegscale 0.5
+ \move (0 {#1}) \Ltext {#2}
+ \esegment}
+
+ \lcir r:1 % circle
+ \move (-1.05 0) \lvec ( 1.05 0) % axes
+ \move (0 -1.05) \lvec (0 1.05)
+
+ \move (0 0) \lvec (0.707 0.707) \bdot
+ \rmove (0.02 0.02) \textref h:L v:B \htext {X}
+ \move (0.707 -0.707) \bdot
+ \textref h:R v:T \htext(-0.02 -0.02){O}
+
+ \move (0.5 0) % center of ellipse
+ \bsegment
+ \lellip rx:0.435 ry:0.804
+ \bdot \Btext {$\beta_2$}
+ \move (0 0.15) \Hlen {0.435}{$|\beta_1{+}\beta_3|$}
+ \move (-0.7 0) \Vlen {0.804}{$|\beta_1{-}\beta_3|$}
+ \esegment
+ }
+
+
+File: texdraw, Node: Command Listing, Next: Command Index, Prev: Examples, Up: Top
+
+Alphabetic listing of commands
+******************************
+
+`\arrowheadsize l:LENGTH w:WIDTH'
+ Set the arrowhead size to be LENGTH units long and WIDTH units
+ wide. The width is measured across the "base" of the arrowhead.
+ The initial arrowhead size has a LENGTH of 0.16 inches and a WIDTH
+ of 0.08 inches.
+
+`\arrowheadtype t:TYPE'
+ Set the arrowhead type to TYPE, where TYPE is one of `F', `T',
+ `W', `V', or `H'. There are two kinds of arrowheads. The first
+ kind is a triangle. There are 3 variants: type `T' is an empty
+ triangle, type `F' is a filled triangle (using the current gray
+ level for lines), type `W' is a triangle filled with white. The
+ second kind of arrowhead is an open ended Vee. There are 2
+ variants: type `V' has the stem continue to the tip, type `H' has
+ the stem stop at the base of the arrowhead. The initial arrowhead
+ type is `T'.
+
+`\avec (X Y)'
+ Draw a line with an arrowhead from the current position to `(X
+ Y)'. The new current position is `(X Y)'. The arrowhead is
+ aligned with the line, with the tip at `(X Y)'.
+
+`\begin{texdraw}'
+ Start a TeXdraw drawing. The drawing is terminated with an
+ `\end{texdraw}' command. This command is for use with LaTeX.
+
+`\bsegment'
+ Start a drawing segment. The coordinate system is shifted such
+ that the current position corresponds to the coordinate `(0 0)'.
+ Changes to scaling, position and line parameters stay local to the
+ drawing segment.
+
+`\btexdraw'
+ Start a TeXdraw drawing. The drawing is terminated with an
+ `\etexdraw' command.
+
+`\centertexdraw { ... }'
+ Center a TeXdraw box. The argument contains TeXdraw commands.
+ The resulting box has the horizontal size `\hsize' and height equal
+ to the height of the drawing.
+
+`\clvec (X1 Y1)(X2 Y2)(X3 Y3)'
+ Draw a Bezier curve from the current position to the coordinate
+ `(X3 Y3)' which becomes the new current position. The coordinates
+ `(X1 Y1)' and `(X2 Y2)' serve as control points for the curve.
+ Only the last coordinate given is used to update the size of the
+ drawing.
+
+`\drawbb'
+ Draw a ruled box around the effective size of a drawing produced by
+ TeXdraw commands.
+
+`\drawdim DIM'
+ Set the units to DIM. The argument DIM can be any valid TeX
+ dimension unit. The units are used to interpret coordinate
+ values. Examples of valid units: `cm', `mm', `in', `pt', and `bp'.
+
+`\end{texdraw}'
+ End a TeXdraw drawing started with a `\begin{texdraw}' command.
+ The resulting TeXdraw drawing is placed in a box with height equal
+ to the height of the drawing and width equal to the width of the
+ drawing. The depth of the box is zero. This command is for use
+ with LaTeX.
+
+`\esegment'
+ End a drawing segment. The current position in effect before the
+ corresponding `\bsegment' command is restored. The scaling and
+ line parameter values revert to those in effect before the
+ corresponding `\bsegment' was invoked.
+
+`\etexdraw'
+ End a TeXdraw drawing started with a `\btexdraw' command. The
+ resulting TeXdraw drawing is placed in a box with height equal to
+ the height of the drawing and width equal to the width of the
+ drawing. The depth of the box is zero.
+
+`\everytexdraw { ... }'
+ Specify TeXdraw commands to be executed at the beginning of every
+ TeXdraw drawing.
+
+`\fcir f:LEVEL r:RADIUS'
+ Draw a filled circle with center at the current position. The
+ radius is specified by RADIUS. The circle is painted with the
+ gray level specified by LEVEL. A gray level of 1 corresponds to
+ white, with decreasing values getting darker. The level 0 is full
+ black. This command does not draw a line along the circumference.
+ The drawing size is increased if necessary to contain the circle.
+
+`\fellip f:LEVEL rx:X-RADIUS ry:Y-RADIUS'
+ Draw a filled ellipse with center at the current position. The
+ radius in the X direction is specified by X-RADIUS. The radius in
+ the Y direction is specified by Y-RADIUS. The ellipse is painted
+ with the gray level specified by LEVEL. A gray level of 1
+ corresponds to white, with decreasing values getting darker. The
+ level 0 is full black. This command does not draw a line along
+ the boundary of the ellipse. The drawing size is increased if
+ necessary to contain the ellipse.
+
+`\htext (X Y){TEXT}'
+`\htext {TEXT}'
+ The first form of this command places the TeX text TEXT
+ horizontally with the text reference point at the coordinate `(X
+ Y)'. The new current position is `(X Y)'. The second form of
+ this command places the TeX text TEXT horizontally with the text
+ reference point at the current position. The text reference point
+ is set with the `\textref' command.
+
+`\ifill f:LEVEL'
+ Close the current path and paint the interior of the region with
+ gray level LEVEL. The line around the path is not drawn. Gray
+ levels are real values from 0 (black) through intermediate values
+ (grays) to 1 (white).
+
+`\larc r:RADIUS sd:START-ANGLE ed:END-ANGLE'
+ Draw a counterclockwise arc. The center of the arc is at the
+ current position. The radius is specified by RADIUS. The start
+ and end angles (in degrees) are specified by START-ANGLE and
+ END-ANGLE. This command does not affect the limits (size) of the
+ drawing.
+
+`\lcir r:RADIUS'
+ Draw a circle with center at the current position. The radius is
+ specified by RADIUS. This command draws a line along the
+ circumference of the circle. The drawing size is increased if
+ necessary to contain the circle.
+
+`\lellip rx:X-RADIUS ry:Y-RADIUS'
+ Draw an ellipse with center at the current position. The radius
+ in the X direction is specified by X-RADIUS. The radius in the Y
+ direction is specified by Y-RADIUS. The drawing size is increased
+ if necessary to contain the ellipse.
+
+`\lfill f:LEVEL'
+ Close the current path, draw the line around the path using the
+ current grey level for lines and paint the interior of the region
+ with specified gray level LEVEL. Gray levels are real values from
+ 0 (black) through intermediate values (grays) to 1 (white).
+
+`\linewd WIDTH'
+ Set the line width to WIDTH units. Initially WIDTH is 0.01 inches
+ (corresponding to 3 pixels at 300 pixels to the inch).
+
+`\lpatt (PATTERN)'
+ Set lines to have the pattern `(PATTERN)'. A pattern is a
+ sequence of on/off lengths separated by blanks and enclosed in
+ parentheses. The lengths alternately specify the length of a dash
+ and the length of a gap between dashes. Each length is
+ interpreted using the current scaling and drawing units. The
+ pattern is used cyclically. The empty pattern signifies a solid
+ line. The initial line pattern is a solid line, corresponding to
+ the empty pattern `\lpatt ()'.
+
+`\lvec (X Y)'
+ Draw a line from the current position to coordinate `(X Y)'. The
+ new current position is `(X Y)'.
+
+`\move (X Y)'
+ Move to coordinate `(X Y)'. The new current position is `(X Y)'.
+
+`\ravec (DX DY)'
+ Draw a line with an arrowhead from the current position, DX units
+ in the X direction and Y units in the Y direction. The final
+ position becomes the new current position. The arrowhead is
+ aligned with the line, with the tip at the new current position.
+
+`\relsegscale VALUE'
+ Adjust the segment scale factor by multiplying by VALUE. This has
+ the effect of multiplying the current overall scale factor by the
+ same factor. The overall scaling factor is the product of the
+ unit scale factor and the segment scale factor.
+
+`\relunitscale VALUE'
+ Adjust the unit scale factor by multiplying by VALUE. This has
+ the effect of multiplying the overall scale factor by the same
+ factor. The overall scaling factor is the product of the unit
+ scale factor and the segment scale factor.
+
+`\rlvec (DX DY)'
+ Draw a line from the current position, DX units in the X direction
+ and DY units in the Y direction. The final position becomes the
+ new current position.
+
+`\rmove (DX DY)'
+ Move from the current position, DX units in the X direction and DY
+ units in the Y direction. The final position becomes the new
+ current position.
+
+`\rtext td:ANGLE (x y){TEXT}'
+`\rtext td:ANGLE {TEXT}'
+ The first form of this command places the TeX text TEXT at an
+ angle with the text reference point at the coordinate `(X Y)'.
+ The new current position is `(X Y)'. The second form of this
+ command places the TeX text TEXT at an angle with the text
+ reference point at the current position. In both cases, the TeX
+ text is placed in a box and the box is rotated counterclockwise by
+ ANGLE degrees about the text reference point. The text reference
+ point is set with the `\textref' command.
+
+`\savecurrpos (*PX *PY)'
+ Save the current position as the absolute position referenced by
+ `(*PX *PY)'.
+
+`\savepos (X Y)(*PX *PY)'
+ Save the coordinate position `(X Y)' as the absolute position
+ referenced by `(*PX *PY)'. The coordinate `(X Y)' is interpreted
+ in the normal fashion as a coordinate relative to the current
+ segment, using the current scaling factors and drawing unit.
+
+`\setgray LEVEL'
+ Set the gray level of lines. Gray levels are real values from 0
+ (black) through intermediate values (gray) to 1 (white). The
+ initial gray level is 0 corresponding to black.
+
+`\setsegscale SCALE'
+ Set the segment scale factor. The argument SCALE is a real number
+ which is used to scale coordinate values. The overall scale
+ factor is the product of the unit scale factor and the segment
+ scale factor.
+
+`\setunitscale SCALE'
+ Set the unit scaling to SCALE. The argument SCALE is a real
+ number which is used to scale coordinate values. The overall
+ scaling factor is the product of the unit scale factor and the
+ segment scale factor.
+
+`\texdrawbox { ... }'
+ Create a TeXdraw box. The argument contains TeXdraw commands.
+ This macro returns a TeX box with height equal to the height of the
+ drawing and width equal to the width of the drawing. The depth of
+ the box is zero.
+
+`\textref h:H-REF v:V-REF'
+ Set the text reference point for subsequent text commands. The
+ horizontal reference point H-REF is one of `L', `C' or `R' (left,
+ center or right). The vertical reference point V-REF is one of
+ `T', `C' or `B' (top, center or bottom). For rotated text, the
+ reference point is determined before rotation. The initial text
+ reference point corresponds to `\textref h:L v:B'.
+
+`\vtext (x y){TEXT}'
+`\vtext {TEXT}'
+ The first form of this command places the TeX text TEXT vertically
+ with the text reference point at the coordinate `(X Y)'. The new
+ current position is `(X Y)'. The second form of this command
+ places the TeX text TEXT vertically with the text reference point
+ at the current position. In both cases, the TeX text is placed in
+ a box and the box is rotated counterclockwise by 90 degrees about
+ the text reference point. The text reference point is set with
+ the `\textref' command.
+
+
+
+File: texdraw, Node: Command Index, Next: Concept Index, Prev: Command Listing, Up: Top
+
+Command Index
+*************
+
+* Menu:
+
+* \arc: Circles and arcs.
+* \arrowheadsize: Line vectors.
+* \arrowheadtype: Line vectors.
+* \avec: Line vectors.
+* \begin{texdraw}: Accessing TeXdraw.
+* \bsegment: Drawing segments.
+* \btexdraw: Accessing TeXdraw.
+* \centertexdraw: Accessing TeXdraw.
+* \clvec: Bezier curves.
+* \cossin: Coordinate parsing.
+* \currentpos: Coordinate parsing.
+* \drawbb: Drawing size.
+* \drawdim: Coordinate specification.
+* \end{texdraw}: Accessing TeXdraw.
+* \esegment: Drawing segments.
+* \etexdraw: Accessing TeXdraw.
+* \everytexdraw: Accessing TeXdraw.
+* \fcir: Circles and arcs.
+* \fellip: Circles and arcs.
+* \getpos: Coordinate parsing.
+* \htext: TeX text.
+* \ifill: Fill commands.
+* \lcir: Circles and arcs.
+* \lellip: Circles and arcs.
+* \lfill: Fill commands.
+* \linewd: Line vectors.
+* \lvec: Line vectors.
+* \move: Line vectors.
+* \PSarc: PostScript Commands.
+* \PSarcn: PostScript Commands.
+* \PSclosepath: PostScript Commands.
+* \PSfill: PostScript Commands.
+* \PSlineto: PostScript Commands.
+* \PSmoveto: PostScript Commands.
+* \PSnewpath: PostScript Commands.
+* \PSsetlinecap: PostScript Commands.
+* \PSsetlinejoin: PostScript Commands.
+* \PSstroke: PostScript Commands.
+* \ravec: Line vectors.
+* \realadd: Real arithmetic.
+* \realdiv: Real arithmetic.
+* \realmult: Real arithmetic.
+* \relsegscale: Scaling coordinates.
+* \relunitscale: Scaling coordinates.
+* \rlvec: Line vectors.
+* \rmove: Line vectors.
+* \rtext: TeX text.
+* \savecurrpos: Saving positions.
+* \savepos: Saving positions.
+* \setgray: Line vectors.
+* \setsegscale: Scaling coordinates.
+* \setunitscale: Scaling coordinates.
+* \textref: TeX text.
+* \vectlen: Coordinate parsing.
+* \vtext: TeX text.
+* \writeps: PostScript Commands.
+* arc: PostScript Commands.
+* arcn: PostScript Commands.
+* closepath: PostScript Commands.
+* fill: PostScript Commands.
+* lineto: PostScript Commands.
+* moveto: PostScript Commands.
+* newpath: PostScript Commands.
+* setlinecap: PostScript Commands.
+* setlinejoin: PostScript Commands.
+* stroke: PostScript Commands.
+
+
+File: texdraw, Node: Concept Index, Prev: Command Index, Up: Top
+
+Concept Index
+*************
+
+* Menu:
+
+* accessing TeXdraw <1>: Accessing TeXdraw.
+* accessing TeXdraw: Using TeXdraw with LaTeX.
+* angle of a vector: Coordinate parsing.
+* arcs <1>: Circles and arcs.
+* arcs: PostScript Commands.
+* arrowhead parameters: Line vectors.
+* arrows: Line vectors.
+* Bezier curves: Bezier curves.
+* circles: Circles and arcs.
+* command syntax: Command syntax.
+* coordinate parsing: Coordinate parsing.
+* coordinate specification: Coordinate specification.
+* coordinate, symbolic: Saving positions.
+* coordinates: TeXdraw coordinates.
+* cosine of a vector direction: Coordinate parsing.
+* current position <1>: Coordinate parsing.
+* current position <2>: Line vectors.
+* current position: Initial current position.
+* current position in PostScript: PostScript Commands.
+* curves: Bezier curves.
+* dashed lines: Line vectors.
+* direction of a line: Coordinate parsing.
+* distribution: Distribution.
+* dotted lines: Line vectors.
+* drawing segments: Drawing segments.
+* dvi2ps printer driver: PostScript printer drivers.
+* dvialw printer driver: PostScript printer drivers.
+* dvilaser printer driver: PostScript printer drivers.
+* dvips printer driver <1>: PostScript printer drivers.
+* dvips printer driver <2>: Introduction.
+* dvips printer driver: How TeXdraw merges graphics and text.
+* dvipsone printer driver: PostScript printer drivers.
+* dvitops printer driver: PostScript printer drivers.
+* dviwindo printer driver: PostScript printer drivers.
+* ellipses: Circles and arcs.
+* Encapsulated PostScript File: Intermediate PostScript file.
+* errors while using TeXdraw: Errors while using TeXdraw.
+* example, arrow curve: Arrow curve.
+* example, block diagram: Examples.
+* example, circle and ellipse: Geometric construction.
+* example, graph: Filter response graph.
+* fill operations, interaction with drawing segments: Drawing paths.
+* filled circles: Circles and arcs.
+* filling regions <1>: PostScript Commands.
+* filling regions: Fill commands.
+* graphics package <1>: PostScript printer drivers.
+* graphics package <2>: Accessing TeXdraw.
+* graphics package <3>: How TeXdraw merges graphics and text.
+* graphics package: Introduction.
+* graphics placement: How TeXdraw merges graphics and text.
+* gray levels for lines: Line vectors.
+* implementation: Extending TeXdraw.
+* initial current position: Initial current position.
+* invoking TeXdraw <1>: Accessing TeXdraw.
+* invoking TeXdraw: Using TeXdraw with LaTeX.
+* LaTeX <1>: Accessing TeXdraw.
+* LaTeX <2>: Using TeXdraw with LaTeX.
+* LaTeX: Introduction.
+* length of a vector: Coordinate parsing.
+* line cap: PostScript Commands.
+* line join: PostScript Commands.
+* line width: Line vectors.
+* lines <1>: PostScript Commands.
+* lines: Line vectors.
+* listing of commands: Command Listing.
+* moves <1>: Line vectors.
+* moves: PostScript Commands.
+* oztex printer driver: PostScript printer drivers.
+* painting regions: Fill commands.
+* paths <1>: PostScript Commands.
+* paths <2>: Drawing paths.
+* paths: Fill commands.
+* pctexps printer driver: PostScript printer drivers.
+* pctexwin printer driver: PostScript printer drivers.
+* placement of graphics and text: How TeXdraw merges graphics and text.
+* plain TeX: Accessing TeXdraw.
+* position specification: Coordinate specification.
+* positions, saving: Saving positions.
+* PostScript commands: PostScript Commands.
+* PostScript printer drivers <1>: PostScript printer drivers.
+* PostScript printer drivers: How TeXdraw merges graphics and text.
+* printer drivers <1>: PostScript printer drivers.
+* printer drivers: How TeXdraw merges graphics and text.
+* problems while using TeXdraw: Errors while using TeXdraw.
+* psprint driver: PostScript printer drivers.
+* relative positioning: Line vectors.
+* relative scaling: Scaling coordinates.
+* resolution: Resolution.
+* rotated text <1>: PostScript printer drivers.
+* rotated text <2>: TeX text.
+* rotated text <3>: Text placement.
+* rotated text: How TeXdraw merges graphics and text.
+* saving positions: Saving positions.
+* scaling: Scaling.
+* scaling coordinates: Scaling coordinates.
+* segment scale: Scaling coordinates.
+* segments: Drawing segments.
+* sine of a vector direction: Coordinate parsing.
+* size of the drawing: Drawing size.
+* stroking lines <1>: PostScript Commands.
+* stroking lines: Drawing paths.
+* symbolic coordinate: Saving positions.
+* syntax of commands: Command syntax.
+* texdraw package <1>: How TeXdraw merges graphics and text.
+* texdraw package <2>: Using TeXdraw with LaTeX.
+* texdraw package: Accessing TeXdraw.
+* text commands: TeX text.
+* text placement: How TeXdraw merges graphics and text.
+* text rotation <1>: How TeXdraw merges graphics and text.
+* text rotation <2>: TeX text.
+* text rotation <3>: PostScript printer drivers.
+* text rotation: Text placement.
+* textures printer driver: PostScript printer drivers.
+* unit scale: Scaling coordinates.
+* vectors: Line vectors.
+* vertical text: TeX text.
+* width of lines: Line vectors.
+* xdvi driver: PostScript printer drivers.
+
+
+
+Tag Table:
+Node: Top606
+Node: Introduction2013
+Node: Distribution4007
+Node: TeXdraw Commands4442
+Node: Accessing TeXdraw5051
+Ref: Accessing TeXdraw-Footnote-19799
+Node: Command syntax9962
+Node: TeXdraw coordinates11150
+Node: Coordinate specification12511
+Node: Line vectors13706
+Node: TeX text19481
+Node: Circles and arcs23795
+Node: Bezier curves27792
+Node: Fill commands29776
+Node: Drawing Segments and Scaling32306
+Node: Drawing segments32733
+Node: Drawing paths33823
+Node: Saving positions35437
+Node: Scaling coordinates38329
+Node: Drawing size41305
+Node: Initial current position43113
+Node: Using TeXdraw with LaTeX43900
+Node: PostScript printer drivers45369
+Node: More Details46494
+Node: Errors while using TeXdraw46989
+Node: Extending TeXdraw49297
+Node: Scaling50855
+Node: Resolution51784
+Node: Text placement53471
+Node: Intermediate PostScript file54531
+Node: How TeXdraw merges graphics and text56274
+Ref: How TeXdraw merges graphics and text-Footnote-157642
+Node: PostScript Commands57699
+Node: TeXdraw Toolbox62660
+Node: Coordinate parsing63200
+Node: Real arithmetic65352
+Node: Arrow curve66151
+Node: Examples70212
+Node: Block diagram70459
+Node: Filter response graph77224
+Node: Geometric construction78912
+Node: Command Listing81197
+Node: Command Index92653
+Node: Concept Index96690
+
+End Tag Table
diff --git a/Master/texmf-dist/doc/info/web2c.info b/Master/texmf-dist/doc/info/web2c.info
new file mode 100644
index 00000000000..1e5bf0428d3
--- /dev/null
+++ b/Master/texmf-dist/doc/info/web2c.info
@@ -0,0 +1,4515 @@
+This is ../../../../texk/web2c/doc/web2c.info, produced by makeinfo
+version 4.13 from ../../../../texk/web2c/doc/web2c.texi.
+
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* Web2c: (web2c). TeX, Metafont, and companion programs.
+END-INFO-DIR-ENTRY
+INFO-DIR-SECTION Individual utilities
+START-INFO-DIR-ENTRY
+* bibtex: (web2c)bibtex invocation. Maintaining bibliographies.
+* 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.
+* 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.
+* 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,
+2005, 2007, 2008, 2009 Karl Berry & Olaf Weber.
+
+ Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+ Permission is granted to copy and distribute modified versions of
+this manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+ Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be stated in a
+translation
+
+
+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 2012, released in May 2012.
+
+* 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 2012 of Web2c, released in May 2012.
+
+ "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) 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'.
+
+`-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. *Note Output file location::.
+
+`-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 Aleph, this option is always on, and the file has
+ extension `.ofl'.
+
+ Ordinarily, the `.fls' file is written to the same location as the
+ `.log' file, for example, respecting `-output-directory' if it is
+ given (*note Output file location::). However, if TeX processing
+ is done on the command line (or in response to the `**' prompt),
+ the `.fls' might be written to the current directory, or include
+ an integer (the current pid), as in `texput1234.fls'. You can use
+ `-jobname' to explicitly set the basename.
+
+`-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.
+
+
+
+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 or environment variable value
+`TEXMFOUTPUT' is set (it is not by default), output files are written
+to the directory specified.
+
+ `TEXMFOUTPUT' is also checked for input files, as TeX often
+generates files that need to be subsequently read; for input, no
+suffixes (such as `.tex') are added by default and no exhaustive path
+searching is done, the input name is simply checked as given.
+
+
+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 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 and Metafont programs each have two main variants, called
+"initial" and "virgin". MetaPost no longer makes this distinction.
+
+ The initial form is enabled if:
+ 1. the `-ini' option was specified; or
+
+ 2. the program name is `initex' resp. `inimf'; 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 and Metafont 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::.
+
+ 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' 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'. 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 does
+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 input came from a file, and 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' on
+Unix, and an invocation of the TeXworks editor on Windows. (See
+`texmf.cnf' for the precise values.)
+
+ 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.
+* Shell escapes:: Running subprograms from TeX.
+* 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
+and similar problems the functions `kpathsea_out_name_ok' and
+`kpathsea_in_name_ok' from the Kpathse library (*note Calling sequence:
+(kpathsea)Calling sequence.) are used to determine if a given filename
+is acceptable to be opened for output or input, depending on the
+setting of the configuration variables `openout_any' and `openin_any':
+`a' (for "any", the default for `openin_any'), `r' (for "restricted"),
+or `p' (for "paranoid", the default for `openout_any').
+
+ 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.
+
+ 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. For
+ TeX proper, FILETYPE can only be `tex' and `tfm', but for pdfTeX
+ and luaTeX, it can also be `pk'.
+
+`-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'
+`-shell-restricted'
+ Enable, or disable, or enable with restrictions the
+ `\write18{SHELL-COMMAND}' feature for external executing shell
+ commands. *Note Shell escapes::.
+
+`-enable-write18'
+`-disable-write18'
+ Synonyms for `-shell-escape' and `-no-shell-escape', for
+ compatibility with MiKTeX. (MiKTeX also accepts both pairs of
+ options.) *Note Shell escapes::.
+
+`-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: Shell escapes, 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: Shell escapes, Next: IPC and TeX, Prev: Languages and hyphenation, Up: TeX
+
+4.5 Shell escapes
+=================
+
+TeX can execute "shell escapes", that is, arbitrary shell commands.
+Although tremendously useful, this also has obvious security
+implications. Therefore, as of TeX Live 2009, a "restricted" mode for
+shell escapes is the default mode of operation, which allows executing
+only certain commands, as specified in the `texmf.cnf' configuration
+file.
+
+ * Unrestricted shell escapes are allowed if the option
+ `--shell-escape' is specified, or if the environment variable or
+ config file value `shell_escape' is set to `t' or `y' and `1'.
+
+ * Restricted shell escapes are allowed if `shell_escape' is set to
+ `p'. This is the default.
+
+ * Shell escapes are completely disabled if `--no-shell-escape' is
+ specified, or if `shell_escape' is set to anything else.
+
+ When enabled, the TeX construct to execute a system command is
+`\write18{SHELL-COMMAND}'; for example:
+
+ \write18{echo "hello, world"}
+
+ From TeX's point of view, this is a normal `\write' command, and is
+therefore subject to the usual TeX expansions. Also, the system call
+either happens during the `\output' routine or right away, according to
+the absence or presence of the `\immediate' prefix, as usual for
+`\write'.
+
+ The SHELL-COMMAND string 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, or anywhere
+but the terminal output. The exit status of the system call is also
+not available to TeX.
+
+ In unrestricted mode, the argument is simply passed straight to
+`system' unaltered.
+
+ In restricted mode, ASCII double quote characters (") should always
+be used in the argument to `\write18' where quoting of arguments is
+needed, as in the example above. This is to achieve some measure of
+system independence. On Unix systems, these are replaced with single
+quote (') characters to avoid insecure further expansion. Care is also
+taken on Windows to avoid additional expansions (from, e.g., `...`).
+Mismatched quotation marks in the command string result in a diagnostic
+message in the log file; no execution is performed.
+
+ After quotation processing, if the first word (delimited by a space
+or tab) of the command is in the list specified by the
+`shell_escape_commands' configuration value, the command is executed.
+Otherwise it is not. In any case, a message is written to the log file.
+
+ The `shell_escape_commands' value is a comma-separated list of
+words. Whitespace is significant, and typically should not be present.
+The default definition looks like this, but with more commands included:
+
+ shell_escape_commands = bibtex,dvips,epstopdf,...,tex
+
+ pdfTeX and luaTeX support reading (via `\input' and `\openin') and
+writing (via `\openout') from pipes if the first character is `|'. The
+following command is then treated exactly the same as the argument to
+`\write18'. In these engines, the primitive variable `\pdfshellescape'
+is set to 0 if shell escapes are disabled, 1 if they are enabled, and 2
+if they are enabled with restrictions.
+
+ The purpose of this feature is to make it possible for TeX documents
+to perform useful external actions in the common case of an individual
+user running a known document on his or her own machine. In such
+environments as CGI scripts or wikis where the input has to be
+considered untrustworthy, shell escapes should be completely disabled.
+
+
+File: web2c.info, Node: IPC and TeX, Next: TeX extensions, Prev: Shell escapes, Up: TeX
+
+4.6 IPC and TeX
+===============
+
+(If anyone uses this feature and needs documentation, write
+<tex-k@tug.org>.)
+
+ 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.7 TeX extensions
+==================
+
+The base TeX program has been extended in many ways. Here's a partial
+list.
+
+e-TeX
+ Adds many new primitives, including right-to-left typesetting and
+ more registers. Now frozen.
+
+Aleph
+ This adds Unicode support, right-to-left typesetting, and more.
+ Omega was the original program. Aleph is an updated version with
+ a variety of bug fixes, and includes e-TeX. Aleph is not actively
+ maintained.
+
+pdfTeX
+ Can produce PDF as well as DVI files. It also incorporates the
+ e-TeX extensions, new primitives for hypertext and
+ micro-typography, reading/writing from pipes, and much more. Home
+ page: `http://pdftex.org'.
+
+luaTeX
+ Based on pdfTeX, this also embeds the Lua programming language
+ (`http://lua.org') and opens up the TeX typesetting engine to
+ control from Lua. Home page: `http://luatex.org'.
+
+XeTeX
+ Combines support for Unicode input and OpenType- and system fonts
+ with the capabilities of pdfTeX. Home page:
+ `http://tug.org/xetex'.
+
+
+
+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@math.utah.edu> 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'
+ (`--enable-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'
+ (`--enable-hp2627win') HP2627a color graphics terminals.
+
+`mftalk'
+ (`--enable-mftalkwin') Generic window server (see
+ `web2c/window/mftalk.c').
+
+`next'
+ (`--enable-next') NeXT window system. This requires a separate
+ program, called `DrawingServant', available separately. See the
+ `web2c/window/next.c'.
+
+`regis'
+ (`--enable-regiswin') Regis terminals.
+
+`sun'
+ (`--enable-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'
+ (`--enable-tektronixwin') Tektronix terminals.
+
+`uniterm'
+ (`--enable-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
+ `--enable-tektronixwin' selects.
+
+`xterm'
+ `--with-x' 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-kf-x-toolkit=no'.
+
+ Specify `--disable-mf-nowin' in order not to build a separate
+ non-windows-capable Metafont executable `mf-nowin' (or
+ `mf-nowin.exe').
+
+ 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, typically via commands like `slantfont slantlj4'.
+There is no default slant font since no one printer is suitable as a
+default. You can make your own by copying one of the existing files,
+such as `.../fonts/source/public/misc/slantlj4.mf' and then running
+`mf' on it.
+
+ For testing purposes, you may it useful to run `mf-nowin rtest' (hit
+RETURN when it stops) to get a `gf' file of a thorn glyph. Or use `mf'
+instead of `mf-nowin' to have the glyph(s) displayed on the screen.
+After that, `gftodvi rtest.2602gf' should produce `rtest.dvi', which
+you process as usual.
+
+ 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.
+* dvitomp invocation:: DVI-to-MPX translation.
+
+
+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' (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
+ generates a MetaPost picture expression corresponding to TEX-INPUT.
+
+ The construct
+ verbatimtex ... TEX-INPUT ... etex
+ simply passes the TEX-INPUT through 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'.
+
+ 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).
+
+ 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.).
+
+ It is posible for pdfTeX to read MetaPost output directly; this is
+in contrast to general EPSF files, which have to be converted for use
+with PDF output. The easiest way is to name the MetaPost output files
+with the `.mps' extension. Then the LaTeX `\includegraphics' command,
+for example, will be able to read them, even when outputting PDF.
+
+ 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'.
+
+`-tex=TEXPROGRAM'
+ When this option is given, the program TEXPROGRAM is used to
+ typeset the labels.
+
+
+
+File: web2c.info, Node: Initial MetaPost, Next: dvitomp invocation, Prev: mpost invocation, Up: MetaPost
+
+6.2 Initial MetaPost
+====================
+
+As of MetaPost 1.504 (TeX Live 2011), MetaPost no longer dumps `.mem'
+files (*note Memory dumps::) and does not distinguish virgin and
+initial forms (*note Initial and virgin::). Instead, the "initial"
+file name is read in its source form--that is, `mpost.mp' when the
+program is invoked as `mpost'.
+
+ For a list of options and other information, see *note mpost
+invocation::.
+
+ MetaPost provides a format with all the features of plain Metafont,
+called `mfplain'. You can use that in the same way; just run `mfplain'
+instead of `mpost'. This lets you directly process Metafont source
+files with MetaPost, producing character proofs (one file for each
+character) similar to those produced with Metafont in proof mode and
+GFtoDVI (*note gftodvi invocation::).
+
+
+File: web2c.info, Node: dvitomp invocation, Prev: Initial MetaPost, Up: MetaPost
+
+6.3 DVItoMP: DVI to MPX conversion
+==================================
+
+DVItoMP converts DVI files into low-level MetaPost commands in a
+so-called MPX file. 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'.
+
+ DVItoMP supports Dvips-style color specials, such as `color push
+NAME' and `color pop', outputting them as `withcolor' MetaPost commands.
+
+ The only options are `-help' and `-version' (*note Common options::).
+
+
+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' is
+devoted to this subject.)
+
+ 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): `http://www.lcdf.org/type'.
+
+ * 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.
+ `http://tug.org/TUGboat/tb08-1/tb17billawala.pdf'.
+
+ 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.
+ `http://tug.org/metapost'.
+
+ 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 Knuth:1988:ET.
+
+ 22. [Knu90] Donald Knuth. Virtual Fonts: More Fun for Grand Wizards.
+ `TUGboat', 11(1):13-23, April 1990.
+ `http://tug.org/TUGboat/tb11-1/tb27knut.pdf'.
+
+ 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.
+ `http://tug.org/docs/liang/liang-thesis.pdf'.
+
+ 26. [Mac91] Pierre A. MacKay. Looking at the pixels: Quality control
+ for 300 dpi laser printer fonts, especially Metafonts. In
+ Robert A. Morris and Jacques Andre, editors, `Raster Imaging and
+ Digital Typography II--Papers from the second RIDT meeting, held in
+ Boston, Oct. 14-16, 1991', pages 205-215, New York, 1991.
+ Cambridge University Press.
+
+ 27. [Spi89] Michael D. Spivak. `LAMSTeX, The Synthesis'. The
+ TeXplorators Corporation, 3701 W. Alabama, Suite 450-273, Houston,
+ TX 77027, USA, 1989.
+
+ 28. [Spi90] Michael D. Spivak. `The Joy of TeX--A Gourmet Guide to
+ Typesetting with the AMSTeX macro package'. American
+ Mathematical Society, Providence, RI, USA, 2nd revised edition,
+ 1990.
+
+
+
+File: web2c.info, Node: Index, Prev: References, Up: Top
+
+Index
+*****
+
+
+* Menu:
+
+* #define options: Compile-time options.
+ (line 6)
+* $ expansion in filenames: \input filenames. (line 48)
+* %& magic number: Determining the memory dump to use.
+ (line 19)
+* - 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)
+* --disable-mf-nowin: Online Metafont graphics.
+ (line 65)
+* --enable-epsfwin: Online Metafont graphics.
+ (line 20)
+* --enable-hp2627win: Online Metafont graphics.
+ (line 28)
+* --enable-ipc configure option: tex invocation. (line 95)
+* --enable-mftalkwin: Online Metafont graphics.
+ (line 31)
+* --enable-next: Online Metafont graphics.
+ (line 35)
+* --enable-regiswin: Online Metafont graphics.
+ (line 40)
+* --enable-suntoolswin: Online Metafont graphics.
+ (line 43)
+* --enable-tektronixwin: Online Metafont graphics.
+ (line 48)
+* --enable-unitermwin: Online Metafont graphics.
+ (line 51)
+* --help common option: Common options. (line 11)
+* --verbose common option: Common options. (line 15)
+* --version common option: Common options. (line 18)
+* --with-editor=CMD: Editor invocation. (line 10)
+* --with-mf-x-toolkit=KIT: Online Metafont graphics.
+ (line 59)
+* --with-x: Online Metafont graphics.
+ (line 57)
+* -8bit: Common options. (line 105)
+* -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)
+* -disable-write18: tex invocation. (line 130)
+* -dpi=REAL: dvitype invocation. (line 24)
+* -enable-write18: tex invocation. (line 129)
+* -enc: tex invocation. (line 89)
+* -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 69)
+* -halt-on-error: Common options. (line 41)
+* -images: gftype invocation. (line 26)
+* -ini <1>: Initial and virgin. (line 10)
+* -ini: Common options. (line 45)
+* -interaction=STRING: Common options. (line 50)
+* -ipc: tex invocation. (line 95)
+* -ipc-start: tex invocation. (line 95)
+* -jobname=STRING: Common options. (line 55)
+* -kpathsea-debug=NUMBER: Common options. (line 59)
+* -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)
+* -min-crossrefs=N: bibtex invocation. (line 31)
+* -mixedcase: tangle invocation. (line 35)
+* -mktex=FILETYPE <1>: mf invocation. (line 87)
+* -mktex=FILETYPE: tex invocation. (line 105)
+* -mltex: tex invocation. (line 110)
+* -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 105)
+* -no-parse-first-line: Common options. (line 72)
+* -no-shell-escape: tex invocation. (line 123)
+* -output-comment=STRING: tex invocation. (line 115)
+* -output-directory <1>: Output file location.
+ (line 15)
+* -output-directory: Common options. (line 66)
+* -output-level=N: dvitype invocation. (line 36)
+* -overflow-label-offset=POINTS: gftodvi invocation. (line 59)
+* -page-start=PAGE-SPEC <1>: dvitype invocation. (line 50)
+* -page-start=PAGE-SPEC: dvicopy invocation. (line 28)
+* -parse-first-line: Common options. (line 71)
+* -progname=STRING <1>: Determining the memory dump to use.
+ (line 17)
+* -progname=STRING: Common options. (line 77)
+* -recorder: Common options. (line 84)
+* -shell-escape: tex invocation. (line 122)
+* -shell-restricted: tex invocation. (line 124)
+* -show-opcodes: dvitype invocation. (line 56)
+* -strict: tangle invocation. (line 46)
+* -style=MFTFILE: mft invocation. (line 68)
+* -T: mpost invocation. (line 118)
+* -terse: bibtex invocation. (line 28)
+* -tex=TEXPROGRAM: mpost invocation. (line 121)
+* -translate-file=TCXFILE: Common options. (line 98)
+* -troff: mpost invocation. (line 118)
+* -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)
+* .mf: mf invocation. (line 24)
+* .mp: mpost invocation. (line 31)
+* .mps files and PDF: mpost invocation. (line 89)
+* .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 98)
+* .tex: tex invocation. (line 20)
+* .tfm output <1>: mpost invocation. (line 37)
+* .tfm output: mf invocation. (line 43)
+* .Xdefaults: Online Metafont graphics.
+ (line 69)
+* .Xresources: Online Metafont graphics.
+ (line 69)
+* 2602gf: mf invocation. (line 48)
+* 8 bit clean: Common options. (line 105)
+* 8 bit clean output, specifying: Common options. (line 105)
+* 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: Shell escapes. (line 6)
+* \input filenames: \input filenames. (line 6)
+* \input, and pipes: Shell escapes. (line 63)
+* \mag <1>: dvitype invocation. (line 28)
+* \mag: dvicopy invocation. (line 20)
+* \openin, and pipes: Shell escapes. (line 63)
+* \openout and security: tex invocation. (line 51)
+* \openout, and pipes: Shell escapes. (line 63)
+* \output routine, and \write: Shell escapes. (line 28)
+* \pdfshellescape: Shell escapes. (line 63)
+* \string: \input filenames. (line 60)
+* \tracingcharsubdef and MLTeX: \tracingcharsubdef. (line 6)
+* \tracinglostchars and MLTeX: \tracingcharsubdef. (line 11)
+* \write18 shell escape extension: Shell escapes. (line 6)
+* ^^ 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 50)
+* acm.bst: Basic BibTeX style files.
+ (line 19)
+* Ada, WEB for: WEB. (line 13)
+* 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)
+* Aleph: TeX extensions. (line 14)
+* 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)
+* 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 13)
+* 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)
+* Berry, Karl: Introduction. (line 40)
+* 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 77)
+* blank lines, in TCX files: TCX files. (line 67)
+* boxes, memory for: Runtime options. (line 20)
+* breakpoints, memory for: Runtime options. (line 20)
+* Breitenlohner, Peter: Introduction. (line 8)
+* BSTINPUTS, search path for bst files: bibtex invocation. (line 18)
+* 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)
+* 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 69)
+* 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)
+* color, in DVItoMP: dvitomp invocation. (line 15)
+* 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)
+* 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 68)
+* 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 40)
+* CWEB: WEB. (line 13)
+* Cweb: WEB. (line 13)
+* 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 59)
+* 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 76)
+* dot files, written by TeX programs: tex invocation. (line 51)
+* downloading of fonts for MetaPost labels: mpost invocation. (line 73)
+* DrawingServant: Online Metafont graphics.
+ (line 35)
+* dump file: Common options. (line 34)
+* dumping memory: Memory dumps. (line 6)
+* DVI comment, specifying: tex invocation. (line 115)
+* DVI files, converting to MPX: dvitomp invocation. (line 6)
+* 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)
+* 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 10)
+* 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 for MetaPost labels: mpost invocation. (line 50)
+* executables, shared initial and virgin: Initial and virgin. (line 6)
+* exit status, of shell escape: Shell escapes. (line 34)
+* 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 recorder: Common options. (line 84)
+* 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 98)
+* 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 73)
+* 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 22)
+* ftp.math.utah.edu: bibtex invocation. (line 54)
+* generating source specials: tex invocation. (line 136)
+* geometric designs: Metafont. (line 6)
+* geometric font scaling: Font file formats. (line 22)
+* geometry for Metafont: Online Metafont graphics.
+ (line 69)
+* 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 22)
+* Herberts, Mathias: Online Metafont graphics.
+ (line 20)
+* hex character codes, in TCX files: TCX files. (line 78)
+* history: Introduction. (line 40)
+* Hobby, John: Introduction. (line 8)
+* 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)
+* hypertext: TeX extensions. (line 20)
+* hyphenation and languages: Languages and hyphenation.
+ (line 6)
+* hyphenation patterns, creating: patgen invocation. (line 6)
+* ice cream: Introduction. (line 22)
+* 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 21)
+* initial TeX: Initial TeX. (line 6)
+* initializations, lengthy: Initial and virgin. (line 21)
+* 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 50)
+* 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 55)
+* 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 8)
+* KPATHSEA_DEBUG: Common options. (line 59)
+* KRN property: tftopl invocation. (line 102)
+* label font: gftodvi invocation. (line 36)
+* LABEL property: tftopl invocation. (line 102)
+* 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 22)
+* 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 77)
+* links to binaries: Determining the memory dump to use.
+ (line 31)
+* literate programming: WEB. (line 6)
+* LittleEndian machines: Hardware and memory dumps.
+ (line 6)
+* log file, BibTeX: bibtex invocation. (line 14)
+* Lua: TeX extensions. (line 26)
+* luaTeX: TeX extensions. (line 26)
+* 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)
+* Martin, Rick: Introduction. (line 50)
+* Mathematical Reviews: Formats. (line 39)
+* mathematical typesetting: TeX. (line 6)
+* mem file, determining: Determining the memory dump to use.
+ (line 6)
+* 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 69)
+* 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 80)
+* Metafont source, prettyprinting: mft invocation. (line 6)
+* Metafont, compatibility in MetaPost: Initial MetaPost. (line 15)
+* Metafont, initial: Initial Metafont. (line 6)
+* Metafont, MetaPost, and TeX: Three programs. (line 6)
+* MetaPost: MetaPost. (line 6)
+* MetaPost and plain Metafont compatibility: Initial MetaPost.
+ (line 15)
+* MetaPost input files: mpost invocation. (line 31)
+* MetaPost invocation: mpost 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: Initial MetaPost. (line 15)
+* 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)
+* micro-typography: TeX extensions. (line 20)
+* mktexmf, disabling: mf invocation. (line 24)
+* mktextfM, disabling: tex invocation. (line 44)
+* mltex: MLTeX. (line 6)
+* MLTeX, enabling: tex invocation. (line 110)
+* 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 40)
+* Morris, Bob: Introduction. (line 50)
+* 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)
+* mpout: mpost invocation. (line 37)
+* mproof.tex: mpost invocation. (line 73)
+* mptrap Make target: Additional targets. (line 41)
+* mptrap test: Triptrap. (line 6)
+* mptrap.readme: Triptrap. (line 6)
+* MPX files, converting from DVI files: dvitomp invocation. (line 6)
+* Multi-lingual TeX: MLTeX. (line 6)
+* N tilde: \charsubdef. (line 37)
+* new graphics support for Metafont: Online Metafont graphics.
+ (line 80)
+* 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)
+* non-windows-capable Metafont: Online Metafont graphics.
+ (line 65)
+* 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 59)
+* 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 66)
+* 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 115)
+* overflow label offset: gftodvi invocation. (line 59)
+* 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 72)
+* 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 59)
+* PDF: TeX extensions. (line 20)
+* PDF, and .mps files: mpost invocation. (line 89)
+* 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)
+* pipes, reading and writing: Shell escapes. (line 63)
+* 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 15)
+* 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.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 68)
+* 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)
+* 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 10)
+* printable characters, specifying: TCX files. (line 88)
+* printer characteristics, for Metafont: Modes. (line 6)
+* production use: Initial and virgin. (line 17)
+* program name, determines memory dump: Determining the memory dump to use.
+ (line 31)
+* program names, special <1>: tex invocation. (line 110)
+* program names, special: Common options. (line 45)
+* prologues: mpost invocation. (line 118)
+* prologues, and EPSF output: mpost invocation. (line 83)
+* 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 83)
+* PXL files, explained: Font file formats. (line 40)
+* pxtoch: Font utilities available elsewhere.
+ (line 23)
+* Raichle, Bernd: MLTeX. (line 6)
+* reading, additional: Introduction. (line 58)
+* 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 115)
+* repeated rows: pktype invocation. (line 76)
+* representation of strings: pooltype invocation. (line 30)
+* restricted shell escapes: Shell escapes. (line 6)
+* right side bearing <1>: gftype invocation. (line 82)
+* right side bearing: pktype invocation. (line 66)
+* Rokicki, Tomas: Introduction. (line 40)
+* 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: Shell escapes. (line 6)
+* security, and write: mpost invocation. (line 95)
+* shapes: Metafont. (line 6)
+* sharing memory dumps: Hardware and memory dumps.
+ (line 6)
+* shell commands in TeX: Shell escapes. (line 6)
+* shell_escape enabling in TeX: Shell escapes. (line 6)
+* shell_escape_commands: Shell escapes. (line 52)
+* 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 13)
+* Stallman, Richard: Introduction. (line 50)
+* 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 16)
+* 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: Shell escapes. (line 6)
+* system command: Shell escapes. (line 6)
+* 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: 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 8)
+* 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 80)
+* TEXMFOUTPUT, used for reading: Output file location.
+ (line 25)
+* TEXMFOUTPUT, used if . unwritable: Output file location.
+ (line 19)
+* texput: tex invocation. (line 35)
+* 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 59)
+* torture tests: Triptrap. (line 6)
+* translation file for TeX, specifying: Common options. (line 98)
+* translation from WEB to C: Introduction. (line 16)
+* trap Make target: Additional targets. (line 41)
+* trap test: Triptrap. (line 6)
+* trapman.tex: Triptrap. (line 6)
+* Trickey, Howard: Introduction. (line 40)
+* 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, and MetaPost: mpost invocation. (line 68)
+* Troff, WEB for: WEB. (line 13)
+* 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 14)
+* Unicode input: tex invocation. (line 89)
+* uniterm: Online Metafont graphics.
+ (line 50)
+* unsrt.bst: Basic BibTeX style files.
+ (line 39)
+* UTF-8 input: tex invocation. (line 89)
+* 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)
+* 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 17)
+* 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 environments, and security: Shell escapes. (line 70)
+* 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 40)
+* webmac.tex: weave invocation. (line 22)
+* webman.tex: WEB. (line 13)
+* 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 69)
+* x offset: pktype invocation. (line 66)
+* X resources: Online Metafont graphics.
+ (line 69)
+* X toolkits and Metafont: Online Metafont graphics.
+ (line 59)
+* xampl.bib: bibtex invocation. (line 51)
+* xbfe, bitmap font editor: Font utilities available elsewhere.
+ (line 23)
+* XeTeX: TeX extensions. (line 31)
+* 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 59)
+* Xt: Online Metafont graphics.
+ (line 56)
+* Xt support: Online Metafont graphics.
+ (line 59)
+* xterm: Online Metafont graphics.
+ (line 56)
+* y offset: pktype invocation. (line 66)
+* ~ expansion in filenames: \input filenames. (line 48)
+
+
+
+Tag Table:
+Node: Top2812
+Node: Introduction3805
+Node: Installation6976
+Node: configure options9140
+Node: Compile-time options11222
+Node: Additional targets12348
+Node: Triptrap13629
+Node: Runtime options15158
+Node: Commonalities16930
+Node: Option conventions17535
+Node: Common options18759
+Node: Path searching23166
+Node: Output file location24188
+Node: Three programs25513
+Node: Initial and virgin26267
+Node: Memory dumps27206
+Node: Creating memory dumps27662
+Node: Determining the memory dump to use28873
+Node: Hardware and memory dumps30460
+Node: Editor invocation32918
+Node: \input filenames33784
+Node: TeX36777
+Node: tex invocation37929
+Node: Initial TeX44899
+Node: Formats46388
+Node: Languages and hyphenation49327
+Node: MLTeX49757
+Node: \charsubdef51252
+Node: \tracingcharsubdef53578
+Node: TCX files54153
+Node: patgen invocation59577
+Node: Shell escapes60294
+Node: IPC and TeX63858
+Node: TeX extensions64428
+Node: Metafont65560
+Node: mf invocation66848
+Node: Initial Metafont70731
+Node: Modes72484
+Node: Online Metafont graphics74740
+Node: gftodvi invocation78155
+Node: mft invocation80988
+Node: MetaPost85043
+Node: mpost invocation85805
+Node: Initial MetaPost91063
+Node: dvitomp invocation91985
+Node: BibTeX92650
+Node: bibtex invocation93011
+Node: Basic BibTeX style files95336
+Node: WEB96678
+Node: tangle invocation97886
+Node: weave invocation100009
+Node: pooltype invocation101417
+Node: DVI utilities102547
+Node: dvicopy invocation103491
+Node: dvitype invocation104789
+Node: dvitype output example107144
+Node: Font utilities110195
+Node: Font file formats111375
+Node: gftopk invocation114674
+Node: pktogf invocation115878
+Node: pktype invocation117057
+Node: gftype invocation119892
+Node: tftopl invocation124408
+Node: pltotf invocation129042
+Node: vftovp invocation130107
+Node: vptovf invocation132391
+Node: Font utilities available elsewhere133445
+Node: Legalisms135853
+Node: References138024
+Node: Index142596
+
+End Tag Table