                  WHERE TO FIND MORE INFORMATION

  This file explains how to use TeX, LaTeX, and MetaFont on a day-to-day
basis.  By basing your work on one of the sample documents provided, and
using the hints in this file, you should be able to produce simple
documents with a minimum of fuss.  For more complicated work, you will
definitely need one or more of the following as a reference.  I suggest
that you start with LaTeX, and use "The TeXBook" as a reference when you
find you need more detail.  Both of these books have excellent first
chapters to help you get started and understand what's going on.  Those
people interested in pursuing font design further  may be interested in
the METAFONTBook, and the companion "Computer Modern Typefaces."
Finally, it should be noted that TeX and MetaFont were written partly as
educational examples of large, practical programs.  Towards this end,
Knuth has published the complete source of both programs.

  Leslie Lamport, "LaTeX: A Document Preparation System,"
       Addison-Wesley, 1986.
  Donald Knuth, "The TeXBook," Volume A of "Computers and Typesetting,"
       Addison-Wesley, 1986.
  Donald Knuth, "TeX: The Program," Volume B of "Computers and
       Typesetting," Addison-Wesley, 1986.
  Donald Knuth, "The METAFONTBook," Volume C of "Computers and
       Typesetting," Addison-Wesley, 1986.
  Donald Knuth, "METAFONT: The Program," Volume D of "Computers and
       Typesetting," Addison-Wesley, 1986.
  Donald Knuth, "Computer Modern Typefaces," Volume E of "Computers and
       Typesetting," Addison-Wesley, 1986.


==============================================================================
                           TeX USAGE NOTES

   Typesetting a file with TeX or LaTeX is generally as easy as "tex
file.tex" or "latex file.tex".  In both cases, the ".tex" can be omitted
for ease of typing.  Since both TeX and LaTeX documents traditionally
use the same extension, you will often have to look at the file to
determine which to use.  To check whether a document is a LaTeX file,
look for a "\documentstyle" command at the very beginning of the file
(usually the very first line).   If this command is lacking, then it's
definitely not a LaTeX document and so you should try using Plain TeX.
(Although it may be for another dialect of TeX such as e-TeX or AMS-TeX,
the most common possibilities are LaTeX and Plain TeX.)

   Usually, when you run TeX (everything I'm going to say about TeX also
applies to LaTeX), you'll see a few warning messages and then TeX will
finish.  While it's running, TeX displays information on the screen so
you know what's going on.  In particular, whenever it starts to read a
file, it prints "(" followed by the file name, and then ")" when that
file ends.  It also prints out the page numbers in square brackets
whenever it writes a page of output.  When TeX is done, you'll have at
least two (and sometimes more) new files. The ".log" file contains
everything that TeX printed to the screen and sometimes a little bit
more.  You can use this to review any errors when you're done.  The
".dvi" file specifies where each character in the printed output should
go on the page.  You can run this through a "DVI translator" to generate
the correct output for your printer. Note that if you're using LaTeX's
features for handling cross-references or for building a table of
contents or bibliography automatically, you may have to run latex two
(or even three) times before everything comes out right.
   Occasionally, TeX feels it must stop and ask for clarification.  When
it does so, it will print a helpful message, including the text it was
processing, and will put up a "?" prompt.  If you read the TeXBook,
you'll find the full story about what you can do here, but for now, you
should know that simply pressing <RETURN> will prompt TeX to try and
keep going. You can also type "I\stop" and <RETURN> to tell TeX to try
to wrap up what it's doing and quit. In particular, it will try to write
the current page, which you can then print to help understand what the
problem is.  If that doesn't stop TeX, typing "x" and <RETURN> will
cause TeX to simply stop without cleaning up.
   Occasionally, TeX will finish a file and display a "*" prompt. This
simply means that TeX ran out of input before it saw a command telling
it the input was finished, and TeX is now giving you the opportunity to
type the rest of your document.  Usually, a simple "\end" will finish
everything.
   TeX is very particular about how it's results look, and so it's quite
common for it to generate warnings when it decides that the output isn't
quite good enough.  This usually results in "Underfull hbox" or
"Overfull hbox" or similar error messages about "vboxes".  The simple
explanation is that an "hbox" is a "horizontal box", usually a line in
your document (which is made by stacking letters horizontally, hence the
name).  Underfull or overfull hbox errors means that when TeX attempted
to break a paragraph into lines, it couldn't find a good enough way to
do so.  Usually, if you look at the output, you can find a hyphenation
which TeX has overlooked, or rewrite the text slightly so that TeX can
handle it more easily.  Similarly, a "vbox" is a "vertical box", usually
a page of your document.  Vbox errors usually only occur when you have a
large table or figure which can't be broken across pages.  Typically,
you should just ignore these errors at first, since the process of
editing your text to make it read better will cause many of these errors
to go away (and, sadly, some new ones to appear). You should only worry
about hbox and vbox errors in the very last stages of polishing your
document, and even then, only if you think the output is as poor as TeX
does.  (A note about "badness":  TeX thinks 10000 is "infinitely bad",
which often indicates a problem that will stand out in the final
product. Badnesses of less than about 5000 are often not noticable
unless you look very closely.)

   Missing fonts:  Occasionally, TeX will complain that it is missing a
font.  TeX uses "tfm" files to tell it the sizes of the letters in a
font.  If you are missing a TFM file, and can't find a copy of it, you
can use MetaFont to create the TFM file (cmr10.tfm applies to the font
cmr10 at any resolution or magnification, and MetaFont will generate
this file when you create any version of cmr10), or you can try to
change to a different font.  The fonts used by LaTeX are in the file
lfonts.tex, and this can be edited to your preferences, although you
must remember to recreate the lplain.fmt file afterwards.

==============================================================================
                   USING THE DVI TRANSLATORS

   TeX's DVI output only tells where each character belongs on the page;
it says nothing about what the individual characters look like. A DVI
translator program uses this information to create an output file for a
particular printer.  Usually, TeX systems have used bitmap fonts created
by MetaFont, although it is possible to use the fonts built-in to a
particular printer.  The DVI translators that have been maintained by
Nelson Beebe at the University of Utah, some of which are included in
this package, work in two different ways, depending on the printer. 
With printers that support downloadable fonts, including Postscript and
most other laser printers, the translator builds a file which creates the
downloaded fonts as bitmaps and then instructs the printer where to put each
letter.  For other printers, the translator simply builds a bitmap image
of each page and prints that.

   The translators are often run by simply giving them the name of the
DVI file, i.e. "dvilj2 about_latex.dvi" if you are using an HP LaserJet
II.  When used in this fashion, the translator will create an output
file with the extension ".dvi_lj2" (the extension depends upon the
particular translator being used), and an error log with the extension
".dvi_err".  If there are no errors, you can use the OS9 "merge" utility
to send the file to the printer. If you have a print spooler, be sure
the spooler can handle binary graphics files correctly (unless you are
using a Postscript printer, in which case it shouldn't matter).

  Under Unix and OS9, the translators support I/O redirection.  If you
redirect the input, the translator will send the result to the standard
output path.  This allows you to skip a step and simply type "dvilj2
<about_latex.dvi >/p".  Especially at first, you should probably avoid
doing this, since this does not give you a chance to build any missing
fonts.  Generally, you should use the first method, then create any
fonts that were missing, then rerun the translator to recreate the
output file using the new fonts.

   If the translator cannot find a font it needs, it will attempt to
find a close match.  Unfortunately, this is a slow process that usually
does not work very well.  The translator will then generate a message
along the lines of

         Font file [cmr12 [247 dpi]] could not be opened, ...

This means that the translator expected to find the font "cmr12.247pk",
but couldn't.  This should be enough information for you to create the
missing font using the "makefont" program and the instructions below.

==============================================================================
                          USING METAFONT

    MetaFont is a system for designing fonts and font families.  It is
considerably more flexible than most outline font systems.  The MetaFont
program reads MetaFont font descriptions and creates bitmapped fonts at
any desired size and resolution.  If you want to know more about the
MetaFont language for defining fonts, you should read the METAFONTBook.
Here, I'll concentrate on explaining how to use MetaFont to create fonts
at various sizes.

    There are three different ways in which font sizes are specified,
and all three interact.  Understanding this interaction is important
to understanding how you use MetaFont to creating a font at a particular
size.

    The first way of specifying font size is the "design size" of the
font. This is the size at which the font looks best on paper, and is
usually expressed in units called "points," abbreviated "pt."  For
reference, there are 72.27 points in one inch, and typical book fonts
are 10 or 12 point fonts. The "point size" of a font doesn't necessarily
refer to any specific feature of the font.  Often, it refers to height
of a typical capital letter, but not always.  In MetaFont files, the
design size is usually included in the font name, i.e., cmtt7 is a
"seven point" font, although cmr17 is actually a 17.28 pt font.

    There are times when a font should appear at some multiple of it's
design size.  MetaFont (and TeX) refer to this as "magnification". A
good example of how this is useful is the following.  If we make all of
our fonts twice as big, print a file, then photographically reduce the
result, then the fonts will appear at their design size, but with twice
the resolution that our printer supported.  More often, magnification is
used to produce a larger version of a font we already have.  If we only
have a certain font in a 10 point design size, then a 1.2 magnification
will produce a 12 point bitmap.  While the results are not quite as good
as a font designed as a 12 point font, they are usually acceptable.  You
should generally not use large magnifications, especially with small
fonts (less than 10 pt).  Likewise, shrinking a font to a very small
size isn't recommended, since smaller fonts are usually somewhat
modified, with slightly simplified designs and thicker lines to make
them easy to read at that particular size.  One particular magnification
deserves special mention. A magnification of 1.2 (120%) is called one
"magstep."  For example, cmr10 at "magstep 1" is 1.2 times as big, or 12
pt.  Cmr10 at "magstep 2" is 1.2*1.2 times as big, 14.4 pt.  This
explains why it is common in MetaFont for a "14 pt font" to really be
14.4 pts, and similarly "17 pt fonts" are usually 17.28 points, which is
10 pts at magstep 3.  There are also negative and fractional magsteps,
especially magstep .5, which is the square root of 1.2.

     The third factor is resolution.  Consider creating a 10 pt font for
a 600 dot-per-inch (dpi) printer and printing it on a 300 dpi printer.
You of course end up with a font that is twice as big.  Similarly,
if you "render" (make a bitmap of) a font at 360 dpi and print it
on a 300dpi printer, then the font will be 360/300 = 1.2 times as big.
So, if you want a 12-point version of cmsl10, one way to do it
is to render it at 1.2 times the resolution.

     With all of that, let's tackle a typical MetaFont command line:

virmf '&cmbase \mode:=EpsonMXFX; \batchmode; \mag:=magstep(3); \input cmcsc10; \end'

The quotes simply keep the shell from attempting to interpret the
ampersand and semicolons.  This runs the "virmf" program with the
"cmbase" macro package loaded from it's pre-compiled form.  This macro
package is needed by the Computer Modern font definitions. The rest of
the line is a sequence of MetaFont commands:

   \mode       Sets the printer-dependent variables, including the printer
               resolution and various correction factors.
   \batchmode  Tells MetaFont not to stop on errors, and to not display
               progress information.  You can replace this with "\scrollmode"
               if you'd prefer to see progress information (advisable on
               slower computers).
   \mag        The magnification to be used.  The expression "magstep(3)"
               is a 1.728 magnification.  You can also use plain numbers
               or other expressions (i.e., "\mag:=360/300;").
   \input      Tells MetaFont to read the corresponding file.  This
               particular file contains the instructions for creating
               a 10 point "caps and small caps" font.
   \end        When MetaFont finishes the \input, it will typically prompt
               you for further commands.  The \end tells it to simply exit.

   The output of this will be a ".tfm" file, which contains information
used by TeX to place letters on the page (including the height and width
of each character), a ".log" file which contains any errors that may
have occurred, and a GF file with the actual font bitmap information. 
The extension of the GF file tells the horizontal resolution of the
font.  In this case, the mode specifies 240 dpi, so the extension will
be ".415gf", where the 415 is 240 times magstep 3 rounded to the nearest
integer.  When printed on a 240 dpi printer, the result will be a 17.28
point version of cmcsc10.

    The Basic "makefont" program attempts to do this automatically.  It
has the printer mode and base resolution built in, and takes the design
size from the font name.  It then attempts to compute the magnification
based on the point size or desired resolution of the result.  This
usually involves rounding, and so will usually not be as correct as
specifying the magnification.  For best results, when trying to create a
font at a specific resolution (for example, the resolution of the font
that a DVI translator told you was missing), you should try to figure
the magstep and use that whenever possible.  For example, if you have a
144 dpi printer, and are told that you need a 173 dpi font, then you
should probably use magstep 1 instead.  If you are told you need a 158
dpi font, then you should probably use magstep .5 (one-half magstep is
the square root of 1.2, which is about 1.1).  Makefont then runs the
program "PKtoGF", which coverts GF format into the more compact
PK format (which has a similar naming convention), and deletes the log
file and the GF file.

     Building a few fonts at a time as you need them does save disk
space, but can become rather tedious.  There are a couple of makefiles
supplied with the system which can automatically make a large number of
fonts.  These files are distributed "as-is," and you should edit them to
reflect the fonts you actually want.  I don't gaurantee that these
makefiles work with Microware's make program, either.


