DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: R T

⟦f9342ca61⟧ TextFile

    Length: 39704 (0x9b18)
    Types: TextFile
    Names: »README«

Derivation

└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89
    └─⟦this⟧ »./tex82/README« 

TextFile


                                                               INTRODUCTION


This file is ./tex82/README.  This file contains information on
installing TeX and associated software.  It also contains information
on how to build new versions of TeX (information about associated
software is to be found in the README files in their associated
subdirectories).  The software on this tape is relatively stable, but
we try to keep it updated to the latest releases from Stanford
University.  The tape is configured for reasonably easy installation
on a wide range of Unix Systems (except for some parts of MFware,
which still depend on a pascal compiler.)  We are eager to change
that.  If this is a 1/2 inch 2400' reel of tape it was written on a
SUN2 (or a VAX running Ultrix or Berkeley Unix, version 4.2/3.  If
this is a 1/4 inch cartridge, it was written in four-track format on a
SUN2 (QIC-11 8000bpi or QIC-24 as noted on the label).  The cartridge
may also be in cpio format written on a SUN2.

The distribution is continually being changed to include new varieties of
the general Unix system, and such changes inevitably result in errors and
minor confusion.  We ask for your tolerance.  Please feel free to inform us
if there are difficulties.

Specific information on how you would run Unix TeX may be found in the
man page, ./tex82/Man-pages/tex.1 on this tape.  Documentation for the
TeX language may be found in "The TeXbook", by Donald Knuth, published
by Addison-Wesley (ISBN 0-201-13448-9).  The older manual, published
by Digital Press and the AMS and entitled "TeX and Metafont, New
Directions in Typesetting", is obsolete.  You may also wish to
consider getting the "LaTeX", by Leslie Lamport, published by
Addison-Wesley (ISBN 0-201-15790-X).  Both of these books were typeset
with the system they describe.  Serious users of the TeX and METAFONT
system should invest in the 5-volume set "Computers and Typesetting,"
published by Addison-Wesley, and all users should invest in a
membership in the TeX Users Group ($30.00 annually, payable to TeX
Users Group, P.O. Box 594, Providence, R.I. 02901) through which they
will be kept up to date on new developments published in the journal
TUGboat.  Another service of the TeX Users Group is the TeXhax E-mail
Digest.

This distribution also includes the sources and auxiliary files for
METAFONT, which is automatically compiled if you use the ./tex82/makefile
and tell it to "make all".  Installation is very similar to the
steps required for TeX.  The README files for Metafont is
./tex82/README.METAFONT

Your attention is directed to the file ./tex82/COPYING.POLICY which is
a statement of our policy on redistributing Unix TeX.  Please also see the
file ./tex82/SCORE-READ.ME which contains additional information about the
Generic TeX distribution and conditions which apply to this distribution, as
well.

        If you have difficulties, contact
                Pierre MacKay        MacKay@.CS.WASHINGTON.EDU

        or by US Mail to
                TeX Support
                Northwest Computing Support Center, DW-10
                University of Washington
                Seattle, WA  98195   Tel: (206) 543-6259


\f








                          NO WARRANTY



   BECAUSE ALL THE SOFTWARE COLLECTED INTO THE UNIX TeX
DISTRIBUTION, FROM WHATEVER SOURCE IT MAY ORIGINATE, IS LICENSED
FREE OF CHARGE, WE PROVIDE ABSOLUTELY NO WARRANTY, TO THE EXTENT
PERMITTED BY APPLICABLE STATE LAW.  EXCEPT WHEN OTHERWISE STATED IN
WRITING, THE UNIVERSITY OF WASHINGTON, THE NORTHWEST COMPUTER
SUPPORT CENTER, AND ALL PARTIES WHO HAVE JOINED IN CONTRIBUTING TO
THIS SOFTWARE DISTRIBUTION PROVIDE TeX, METAFONT, AND ALL
ASSOCIATED PROGRAMS, FONTS, DOCUMENTATION AND EXAMPLES ``AS IS''
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
SHOULD TeX, OR ANY OF THE ASSOCIATED PROGRAMS IN THE UNIX TeX
SOFTWARE DISTRIBUTION PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
NECESSARY SERVICING, REPAIR OR CORRECTION.

  IN NO EVENT, UNLESS REQUIRED BY APPLICABLE LAW, WILL THE UNIVERSITY
OF WASHINGTON, THE NORTHWEST COMPUTER SUPPORT CENTER AND/OR ANY
OTHER PARTY WHO MAY MODIFY AND REDISTRIBUTE THIS SOFTWARE AS
PERMITTED IN ACCORDANCE WITH THE PROVISIONS IN THE FILE
./tex82/COPYING.POLICY, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE
PROGRAM TO OPERATE WITH PROGRAMS NOT DISTRIBUTED BY US) THE
PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.

\f





                             Acknowledgements
                             ================

I'm sure I'm going to leave someone off of this list.  If I do, don't
hesitate to complain.

WEB-to-C was begun and developed by Tom Rokicki, and brought into
its present form by Tim Morgan.  It has superseded the pascal-related
work described below, but the acknowledgements are still in order.

The initial TeX Unix ports were independently developed by Howard Trickey of
Stanford and Pavel Curtis of Cornell.  Howard was responsible for most
of the bugfixes, enhancements, and updates over the first few years.

The Sun TeX port was independently carried out by people at three locations:
Mike Harrison and Charles Perkins at U.C. Berkeley, Rusty Wright at U.C. San
Diego, and Steve Correll of Lawrence Livermore Laboratories.  The versions
of the files contained here merge their work.

The pascal System V port for the 3B2 was contributed by Lou Salkind of NYU.

Many other individuals have been involved with the device drivers and other
software.  We've tried to mention these people in "ORIGIN" files in the
various subdirectories.  Again, apologies to anyone we missed.

As for Metafont, the vast majority of the work on pascal compilation
was done by Paul Richards of the University of Illinois, and most of
the associated MFlib library is his.
\f


                                                                         Page 1

Version information
===================
                (in the ./tex82 path)
                TeX 2.95 (in ./tex82/texdir)
                        (plain.tex version 2.94)
                LaTeX 2.09 (release of 4 Aug. 1988)
                SliTeX 2.09
                BibTeX 0.99c (program in ./tex82/bibtex)
                        (remainder in ./tex82/LaTeX/LaTeXbibtex)
                metafont 1.7 (in ./tex82/mfdir)
                tangle 2.9 (in ./tex82/texware)
                weave 2.9 (in ./tex82/texware)
                dvitype 2.9 (in ./tex82/texware)
                pltotf 2.3 (in ./tex82/texware)
                tftopl 2.5 (in ./tex82/texware)
                gftodvi 1.7 (in ./tex82/mfware) Pascal only. see ./Unsupported
                gftopk 1.4 (in ./tex82/mfware)
                gftype 2.2 (in ./tex82/mfware)
                pktogf 1.0 (in ./tex82/mfware)
                pktype 2.2  (in ./tex82/mfware)
                mft 0.3 (a formatting program for metafont source files.)
                         (in ./tex82/mfware) Still needs a web2c change file
    
        There are also these pxl related programs, but we strongly
        advise against their continued use:
        chtopx 1, gftopxl 2.1, pktopx 2.3, pxtoch 1.1, pxtopk 2.3 

        
Fonts in mf source format. The full Computer Modern as released from Stanford.
        Utility fonts for character proofs etc. (not made with cmbase.mf),
        LaTeX and SliTeX fonts are also supplied in mf source format.

Fonts in pk format. The Computer Modern and LaTeX fonts necessary
        to run the basic versions of TeX, LaTeX, Weave and mft, in 118, 200,
        240, and 300 gf(dpi) series.  The pk files for the principal LaTeX
        symbol fonts are in a separate list.  The 300 dpi fonts are
        provided for write-black devices (CanonCX) in directories labeled
        "pk300" and for write-white devices (RicohFourZeroEightZero) in
        directories labeled "pk300w".  Mode information is given in
        gf special strings just preceding the postamble in each file and 
        can be read with the Unix command "strings".

        AMS fonts-- Cyrillc, and special symbols created with
                old METAFONT-in-SAIL, and converted to pk in
                118, 200, 240 and 300gf(dpi) series. Euler fonts too 
                are supplied in pk format only. 
        (If you want [euler].mf source files, you should get in 
        touch with the American Mathematical Society, which will 
        make these available under license.)

To get more fonts, use Metafont and the utilities in MFware,
        whose names are pretty self-evident.  A really elegant
        set of precisely sized fonts can be made up with the
        utilities in ./tex82/TeXcontrib/sauter.  There are 
        scripts for some needed LaTeX fonts in ./tex82/LaTeX
        and ./tex82/LaTeX/LaTeXslitex.  (Some of the smallest
        sizes in pk118.makefile put too much of a strain on 
        Metafont.  You could correct the bad characters with
        fonttool in ./tex82/METAFONT/MFcontrib.)

Numerous output drivers are supplied.  See the ./DVIware
directory.

\f


                                                                         Page 2


Installing TeX82 on a Unix System
=======================================

In the discussion below, 4.2/3BSD is assumed to be running on a VAX.
Installation is essentially the same on System V machines.  We now use
Web-to-C for compilation, except for gftodvi and mft, for which are no
Web-to-C change files as yet.  The old pascal change files have been
consolidated and compressed.  You will find them in ./Unsupported. If
you insist on using pascal compilation, special cases for the Pyramid
are identified with the affix PYR, PYRAMID, or pyramid.  System V
versions are hopefully identified as SYS_V, and may run on other
machines than the 3B2, but they were specifically developed for the
3B2, and we do not know yet what other machines work.  The best
approach in all cases is to try WEB-to-C, which has succeeded on a
wide range of machines already.

PLEASE NOTE that if you wish to have the minimum of trouble with
        recompilation and installation, you should keep the 
        present hierarchy of directories under tex82 intact.
        The Makefiles depend on this hierarchy.

We assume you are using the Web-to-C compilation, and that you are
working in directory tex82.

Edit site.h to produce the right effects for your system.  This should
be the only file you need to edit, but you may want to check some of
the paths in the Makefile too.  The file site.h includes the following
definitions. Please note that these are advisory, not absolute.  We
cannot dictate to you about the organization of your /usr partition.
(If you substitute the C-shell "setenv" command for "#define" you can
insure that your environment matches your decisions here, and you can
"set" and "export" these equivalences in the Bourne shell.)

#define	TEXINPUTS	".:/usr/local/lib/tex/inputs"
#define	TEXFONTS	".:/usr/local/lib/tex/fonts"
#define	TEXPOOL		".:/usr/local/lib/tex"
#define	TEXFORMATS	".:/usr/local/lib/tex"
#define	MFINPUTS	".:/usr/local/lib/mf/inputs"
#define	MFBASES		".:/usr/local/lib/mf/bases"
#define	MFPOOL		".:/usr/local/lib/mf"

- Check to see that you have set up the needed libraries in WLIBS in
  the makefile.  DO NOT FORGET THIS!
- Prepare the areas for compilation.  Make sure you are in ./tex82.  
- make a directory named /usr/local/lib/tex.  
- Make a subdirectory named /usr/local/lib/tex/fonts OR WHATEVER YOU
  HAVE CHOSEN FOR THE ENVIRONMENT TEXFONTS.  Copy the contents of
  ../cmfonts/tfm to it.
- Make another subdirectory named /usr/local/lib/tex/inputs OR
  WHATEVER YOU HAVE CHOSEN FOR THE ENVIRONMENT TEXINPUTS.  Copy the
  contents of ./TeXmacros to it.  The paths are *suggestions* only.
  Some sites prefer /usr/lib/tex/....  If you are going to use LaTeX,
  the *.tex and *.sty files in ./LaTeX and ./LaTeXmacros go in
  TEXINPUTS.  The tfms from ../LaTeXfonts/tfm go in TEXFONTS.
\f


                                                                         Page 3

- The following instructions assume you are connected to ./tex82.  In
  ./tex82, type

make all

Do not depend on the default target for make.  The default is
the very special validation configuration for both TeX and
METAFONT (triptex and trapmf).  These versions of the programs
have parameter settings so peculiar that they are virtually useless
for regular typesetting.  

Compilation will take some time, but not nearly as long as pascal
compilation used to take.  After compilation, the executable files
initex and virtex [triptex] will be found in the directory ./ctex,
along with the file tex.pool.  [You will also have the Metafont
analogs, inimf, virmf, and mf.pool, in the directory ./cmf.]

- copy tex.pool to /usr/local/lib/tex/tex.pool OR WHATEVER YOU HAVE
  CHOSEN FOR THE ENVIRONMENT TEXPOOL

- create a plain.fmt file by saying

        % initex plain '\dump'

(the "%" is presumed to be your C-shell prompt.  It will probably be "$" if
you are in the Bourne shell).  

- move the resulting plain.fmt file to /usr/local/lib/tex/plain.fmt OR
  WHATEVER YOU HAVE CHOSEN FOR THE ENVIRONMENT TEXFORMATS

- if you have a working "undump", you can build a preloaded TeX, but before
        you do so, read tex.script for a good alternative.  If you decide
        to use undump, type:

        % virtex '&plain' xyxyxy        

(This will produce the responses)

        This is TeX, C Version 2.95 (no format preloaded)
        ! I can't find file `xyxyxy.tex'.
        <*> &plain xyxyxy 
  
        Please type another input file name: ^\

Notice that the pseudo-file-name "xyxyxy" can be any nonsense
character string you choose, so long as you are sure that no file
named xyxyxy.tex is accessible.  The "^\" character represents your
"Quit" character (usually CTRL-\) which makes a core file.

\f


                                                                         Page 4

- convert the core file into something that can be run by saying

        ../undump/undump tex virtex core

If you get the a message such as "core didn't come from this a.out
file" you are probably using the wrong undump.  Look again at the
directory to make sure.  For further information see "Why won't undump
work on my system?" Page 13.  Alternatively, you can avoid the use of
undump altogether.  We tend to favor this latter approach.  See the
file tex.script.

- put initex, virtex, tex, and ./texware/tangle onto the search path.

Further notes are included in later sections of this file for some of these
steps.  These notes should be useful if you need to change parts of the
environment.


But what if none of the versions of undump on the tape work?  This is a
distinct possibility, owing to the fact that undump is one of the most 
system-dependent programs around.  It is always possible to run TeX at the
price of a short initial delay.  Just type:

        virtex '&plain' 
or
        virtex '&lplain' (if you want latex).

Then read "Why won't undump work on my system?" later on in this document.

\f


                                                                         Page 5

Notes for SUN2 and SUN3 sites:
============================

The Sun MC.68010 pc compiles bad code under operating system version 3.0 and 3.1. 
Version 3.2 of the operating system for the Sun2 has corrected the problem.  
In either case WEB-to-C is a better choice.  

The Sun MC.68020 pc does compile correctly, and run correctly.  Make sure you
use the Sun3 undump, and not the older 4.2 undump.  The format of
a.out and core files has changed, and the older undump cannot handle
the new version.  This is why you cannot preload old binaries on a
system running 3.0 operating system.  The core file looks as if it
had come from some other program entirely.  If you use WEB-to-C, which
you ought to, don't try the register variables on OS 3.2, they don't work
on either the 68020 or the 68010.  A really up-to-date gcc compilation
is probably the most desirable thing, but check to be sure that the version
of gcc you are using has been used successfully.

On faster machines, there is good reason to forget about undump altogether
                alias tex "virtex '&plain'"
will give essentially the same effect.  You can even store a number of
preloaded files for customized TeX.  (That is what LaTeX really is.)
See the file tex.script in this directory.
==============
 
\f

 
                                                                         Page 6


Font notes: What do tfm, pl, gf, pk and pxl mean?
=================================================

Font files come in several varieties, with suffixes like:

        .tfm .pl .?gf .?pk (and the obsolete .?pxl)

TeX needs only tfm files to format the page, and can use tfm files derived 
from a wide variety of sources. For instance, this tape provides routines
which make it possible to read the Adobe Font Metrics off the Laser-Writer
(if your lpr driver is clever about conversations with PostScript) and 
convert them into pl files which are an ASCII analog of tfm files.  Then
you can run the pltotf program and feed TeX with printer-resident font 
descriptions.  One tfm file does for all magnifications, since TeX does the
scaling calculations itself.

Donald Knuth's Computer Modern fonts are delivered with tfm files so that
you can run TeX, and in rasterized form in either .?gf or .?pk format, where 
the "?" stands for the horizontal dots-per-inch resolution (unless the font
has been magnified).  The gf stands for Generic Font format, which is what
Metafont produces.  pk is a more tightly packed format

The directories for cm fonts are ../cmfonts and ../LaTeXfonts.
../cmfonts includes the subdirectories mf, tfm, gf and pk.  pk is
further divided into pk118 pk200 pk300 pk300w.  Fonts in pk300 were
set for BLACK-ON-WHITE mapping (CanonCX print engine).  If you are
using a WHITE-ON-BLACK engine, such as the RicohFourZeroEightZero
(4080), use the fonts in pk300w.

If you are using any other print engine, you should compile fonts to
fit it.  The distribution fonts will only be an indicator of what the
device can do.

The programs gftopk, pktogf and gftopx in the ./tex82/mfware
directory provide conversion between formats, but gftopx can only be
used on 128 character fonts.  Many of the newer fonts contain 255
characters.  and will not work with a pxl device at all.  Convert your
driver to read gf or pk (or both).  (gftopx is in ./mfware/CMFware)

If you need fonts in pxl format you will have to create them by
compiling and running gftopxl on the appropriate gf files.

In addition to the cm fonts, the distribution includes many
resolutions of the AMS Special Symbol and Cyrillic fonts, products of
old Metafont79. These have been converted to pk format, which is the
standard for font delivery.  These fonts are provided through the
courtesy of the American Mathematical Society and are in the base
directory amsfonts.  The METAFONT source files are not included.  In
the case of the m-series (mcyr, mcyb, msxm, msym) this is because
these were produced with METAFONT79, a SAIL program which runs only on
DEC-10 and DEC-20 machines.  The e-series (Euler) were commissioned
specifically from Hermann Zapf, and are distributed for non-profit
scholarly use.  METAFONT source files can be obtained under license
from the American Mathematical Society.

\f


                                                                         Page 7

More about rastered fonts about and OBSOLETE am series and pxl fonts.
======================================================================

As noted above, the *.tfm files are all that TeX needs to make a dvi
file and you only need one to cover all magnifications for any
specific face.  This is not true for rastered fonts that will actually
print on real devices.  For these you need a distinct file for each
resolution, for each print engine and for each magnification.  Owing
to the sheer size of a generalized font library, we cannot possibly
provide you with all the fonts you may need at your installation.
What we provide is enough to handle the essentials of TeX, LaTeX and
SliTeX---no more.  That is why we give you METAFONT in the standard
web2c compilation.  (See the mf.1 manual page in ./tex82/Man-pages.)
Furthermore, the organization of your rastered font files will depend
on your choice of driver.  The choice of directory path for your *.tfm
files may or may not be related to the choice of directory path for
raster files.  The file 'site.h' has no effect on any of the many dvi
interpreters in this package.  Please note that you have to load all
of the .tfm files that plain.tex, lfonts.tex or sfonts.tex ask for,
but that you only have to load the actual .nnnn[gf,pk] magnifications
that you really expect to use.


========================

AM fonts HAVE DISAPPEARED FROM THE DISTRIBUTION.  If you want to
continue using them, look for the files am_plain.tex etc, the files
am_plain.tex, am_lfonts.tex and am_webmac.tex are provided.  You can
replace the distribution plain.tex with them, but both the plain and
lfonts are no longer up-to-date.  Since PXL fonts are very loosely
packed, take up gross amounts of disk space and permit only 128
characters, the format is now considered to be obsolete.  All the
fonts in this package are distributed in PK format.  Device drivers
will eventually be altered to read only gf and pk format.

 *.*pxl files were provided in a number of magnifications for 200
pixel/inch, 240 pixel/inch, and 300pixel/inch printers.  The
magnification (for example .1000pxl) is 1000 times the true size for
the 200 pixel/inch printer.  This 1000:1 designation was adopted
because it made it easier to indicate fractional magnifications
without resorting to the decimal point.  If you have a 200 pixel/inch
printer, then the .1000pxl files will print at true size.  You may
want to use .1315pxl files instead, reducing the output to 77% to get
true size at a better resolution (many photocopy machines will do
reduction by this factor).  The .1200pxl files are for 240 pixels/inch
printers, where they will print at true size.  The .1500pxl files are
for 300 pixels/inch printers.  A GF or PK format file with the
designation *.200gf or *.200pk corresponds with a PXL file *.1000pxl,
and a GF file with the designation *.300gf corresponds with *.1500pxl.
The 1:5 ratio continues through all magnifications---only the
designation at the unmagnified size corresponds with the actual
resolution of the target device.

\f


                                                                         Page 8
Overall Organization of the Tape
================================

Files in the ./tex82 area:  (files of interest only for pascal are bracketed)
        COPYING.POLICY          Redistribution policy for Unix TeX---See above
        README                  This file
       [README.PYRAMID]         Special considerations for the Pyramid
       [README.SYS_V]           Special considerations for System V machines
        README.SCORE            The -READ-.ME file from the Generic
                                  TeX distribution
        README.WEB-to-C         Don't miss this one!
        site.h                  Where the local environment is set up.
        makefile                For WEB-to-C compilation

       [Setup.*]                Self-explanatory.  These are executable shell
                                  scripts.  Use the appropriate one.
       [ext.h]                  hooks to C routines for Unix TeX.
       [pxp.diffs]              to convert a BSD4.3 pxp into one that will
                                  run in System V.  See the README.SYS_V file.
       [texpaths.h]             Included file with the default paths.  May
                                  be changed if necessary.
       [whoami.h]               Empty file.  Included by h00vars.h
                                  (You do need to have it here, however.)

    ----if you use pascal (after the appropriate Setup file has been run)
        you will have:
        Makefile                Generated by the appropriate Setup.*
                                  (e. g., Setup.SYS_V) shell script.
                                Make sure you save the WEB-to-C Makefile.
        dist_initex.ch          Changes to TeX for Unix system, see the
                                  Makefile
        ext.c                   C language routines for use by TeX
        h00vars.h               included by ext.c.  It's from the pc
                                  library.  
        ini_to_trip             A shell script that converts the change
                                  file to one appropriate to produce a
                                  triptex, see the Makefile
        ini_to_vir              A shell script that converts the change
                                  file to one appropriate to produce a
                                  virtex, see the Makefile
        maketex, texsep.sed     (only if you are compiling in System V Unix)

=======================================
        
TeX, as delivered, will use the following areas on your system (if you accept
the site.h defaults)
        /usr/local/lib/tex
        /usr/local/lib/tex/inputs
        /usr/local/lib/tex/fonts
        /usr/local/lib/mf
        /usr/local/lib/mf/inputs
        /usr/local/lib/mf/bases
The following files are also important
        /usr/local/lib/tex/tex.pool
        /usr/local/lib/tex/plain.fmt or /usr/local/lib/tex/inputs/plain.fmt
             (depending on how you decide to do this)
\f


                                                                         Page 9
==============
Subdirectories of the ./tex82 area:

web2cdir, texdir, ctex, mfdir, cmf, texware, bibtex
        All the above are parts of WEB-to-C
        all files and subdirectories associated with web2c
        compilation have names beginning with lower-case letters.
        All others have names beginning with upper-case letters.
CWEB
        The CWEB (WEB for C programs) directory.
LaTeX
        The LaTeX macro package.  This version should
        be reasonably stable.  See the LaTeX/README file for more
        information.
Man-pages
        nroff/troff source for manual pages.
TeXcontrib, MFcontrib
        Contributed programs from Unix TeX users.
[TeXdevices now moved to ../DVIware]
TeXdoc, MFdoc
        Informative documents.  Note that some of these are copyrighted
        and printed copies on paper are not to be redistributed.
TeXemacs
        Lisp and mocklisp for GNU and Gosling EMACS.
TeXgraphics
        Various graphics packages. PiCTeX, psfig, transfig, etc.
TeXmacros, MFtexfiles
        To be copied to /usr/local/lib/tex/inputs
Unsupported
        Just what it says.  Things that haven't been tested at all, but
        are included in response to popular demand.  There is also
        a pretty-printed version of tangle.p, generated from the
        tangle.web file, with NO changes merged in at all.  This
        is provided for those who wish to undertake a new port.
        There is also a certain amount of obsolete material.
        MFpxl is a subdirectory in this partition, which contains
        some fossilized stuff for pxl files and pascal compilation.


Foreign Language TeX
====================

The directory ./babel contains a number of foreign-language packages
(hyphenation, macros, fonts).  It is hoped that this feature will be one
of the fastest growing parts of the distribution


METAFONT information is to be found in the ./tex82/README.METAFONT

\f


                                                                        Page 10
Making TeX and METAFONT from the WEB Source
================================

Read README.WEB-to-C first!

If you have kept the organization of directories on the tape intact
you will not need to change anything but some lines in ./tex82/site.h
and perhaps adjust the makefile in ./tex82 slightly (remember to
supply libraries for the windowing system you chose for Metafont).
Then, typing 
        make all
will produce initex virtex inimf virmf and a remake of tangle.

You will probably want to "make all" in the texware and bibtex
subdirectories too.

Note that it is not necessary (indeed it is undesirable) for you to 
change any of the files on the distribution tape other than site.h
and the parent Makefile.  site.h contains default paths used when
TeX is trying to find a needed file (either one that's been included,
a .fmt file, font information, or its string pool).  See the
discussion below in "PRELOADED TEX" for more information on this file.

Note that many of the files in the subdirectories look at ./site.h in
determining their file paths.  

The whole TeX package is written in a macro language called WEB.  See
"The WEB System of Structured Documentation" manual for details
(./tex82/TeXdoc/webman.tex).  The two macro processors, tangle and
weave, are in the ./tex82/texware directory.  Tangle converts the WEB
file into a Pascal-language file.  Weave produces a .tex file which
can be TeXed and printed to provide a program listing.

WEB files produce a string pool file when run through tangle.  Note
that of all the programs in this distribution, only tex.web and mf.web
produce a non-zero length string pool.  In the distribution, this file
(tex.pool) is put on /usr/local/lib/tex.  Please be careful to make
sure that the latest tex.pool is in this area (which can be changed by
modifying the environment definition for TEXPOOL), since that is where
initex looks for it by default (the pool information gets dumped in
every .fmt file, so virtex need not read in the pool file).
(Actually, when you tangle virtex, you also get a pool file, but this
one should exactly match the tex.pool file or something is wrong).


=====================================================

\f


                                                                        Page 11

Making a .fmt file
==================

You should be aware that there are three kinds of TeXs in use.  These
are represented by initex, virtex, and tex.  initex is used to install
TeX, starting from scratch.  initex loads font data, hyphenation data,
and macro packages, and then spits out its entire internal state into
a .fmt file when given the \dump command.  virtex is able to read the
information in this .fmt file back in, making its internal state the
same as initex's when the \dump occurred.  Like initex, virtex can
also load font data and macro packages.  However, virtex cannot read
in the hyphenation patterns.  tex is the name conventionally applied
to a virtex with the .fmt named plain.fmt loaded.

If you need to make a new .fmt file (say a new plain.fmt) do the following:

        % initex plain '\dump'
        This is TeX, C Version 2.95 (INITEX)
        ...

initex will process the file plain.tex and then create the plain.fmt
file (printing informative messages on your terminal as the process is
carried out).  For LaTeX and SliTeX, you dump lplain to lplain.fmt and
splain to splain.fmt.

Incidentally, if you get the virtex error, "Fatal Format Error, I'm
Stymied", particularly after you've changed things around, try
remaking the .fmt file as a first attempt to solving the problem.

=========

Please be aware that creating a macro package to be turned into a
preloaded TeX is a task for experts and may not work for all possible
macros.  For example, an \everyjob token stream if present in a macro
package being preloaded will be executed before the \read happens.
Consequently, if you want to preload macro packages which you have
created, you should take care that \everyjob's don't do anything to
cause the log file to be opened.  For example, referring the \jobname
does this, so don't do \everyjob{\message{\jobname}} in your macro
package (this would always produce the uninteresting message,
"texput", anyway).  In case you are now worried, rest assured that the
plain and latex macro packages do not have any problem like this.
\f

        
                                                                        Page 12

Further notes about preloaded tex
=================================

There is a hacky way, discovered by Pavel Curtis of Cornell, to get a
TeX that starts immediately with a format file preloaded.  When TeX
has been compiled with web2c, it may not be worth going through this
step.  Read tex.script.

First, make sure that the environment variables TEXINPUTS, TEXFONTS,
TEXFORMATS, and TEXPOOL are set up appropriately for your site.  If
you've set things up as defined above, and are happy using the
system-defined defaults, these four environment variables should not
be defined (do an "unsetenv TEXINPUTS", etc., if you've defined them).
These environment variables contain directory paths, showing where to
find the files refered to by the TeX "\input" and "\read" commands,
where the fonts are, where the .fmt files are, and where the tex.pool
file is.  When you make a preloaded version of TeX, the values
associated with these variables in the environment of the person
making the preloaded version get used to set the default paths in the
preloaded version.  Later, if a person running the preloaded version
hasn't defined these variables, the default paths that get used are
those defined in the environment of the person making the preloaded
version at the time the preloaded version was dumped.  See the file
"site.h" for details of the format of these environment variables.
Also refer to the man page, ./tex82/Man-pages/tex.1.  (The .fmt file
doesn't contain the environment variable information.  Hence, the
effect of saying "virtex &formatfile" may differ from the effect of
running a virtex with "&formatfile" preloaded.)

Next, create the preloaded TeX:

        Run virtex as follows:
                % virtex '&plain' xyxyxy
                This is TeX, C Version 2.95 (no format preloaded)
                ! I can't find file `xyxyxy.tex'.
                <*> &plain xyxyxy 
  
                Please type another input file name: ^\
           That is, give the command line shown and, when it asks for a
           value for a new file name, hit your 'Quit' character (mine is ^\).
           (Note: the space after &plain is necessary, otherwise you
           may get the message, "I can't find plain.fmt, using plain.fmt
           instead."  The results of this redundancy are not satisfactory.)
           Now type "undump tex virtex core".

If one tried the obvious approach of just typing '&plain', the log
file gets opened and put onto the chain of open files .  When the
undumped TeX starts up again, it re-opens the log file, not realising
that it's on the chain already, and creates a circularity in the
linked list.  When it tries to flush the output the next time, it
loops forever.  The use of a nonsense name for the input file prevents
this, since it makes TeX wait to find out what name it should give to
the log file.  If you left off the nonsense name on the command line,
TeX would immediately open the texput.log file.  This would also
happen if you gave no arguments on the command line and answered
virtex's "**" prompt with &plain but no nonsense name.  We need a
solution that lets us know when TeX has finished reading the fmt file,
but then pauses long enough to give us time to 'Quit'.  The nonsense
does the trick.

\f


                                                                        Page 13

Why won't undump work on my system?
===================================

First decide whether it really matters.  Look at tex.script for an alternative.
If you don't want to work that way, read on.

To understand the workings of undump you must have a certain basic knowledge
of two specific kinds of Unix file format: core and a.out.  The core file,
which is produced by several kinds of fatal execution error, can also
be produced by a user generated "quit" signal, sent from the keyboard by the
control character "^\" on most Unix systems.  It is described in the Berkeley
Unix manual, Section 5--Special File formats (Manual page Core(5)) as
the memory image of a terminated process.  

The commonest source for the initial state of this image is an "a.out"
file.  (See the Manual page a.out(5) in the Berkeley Unix manual.)  This
file is produced either by the assembler or by the link editor (from one
or more *.o files).  It consists of a header and four other sections
which guide the operating system to set up the initialized core image
correctly.  "a.out" files are conventionally renamed at the time of
compilation (by flags on the compilation command line) with the name of
the program to be run.  Both "initex" and "virtex" are actually "a.out"
files, and can therefore be used in place of a "tex" file if you are
willing to wait for format loading.  In some cases, as you will see,
there is no choice.

What you are trying to do with the undump system is to trap the virtex
program at a point where it has completed a second stage of initialization
and to dress the "core" memory image up with "a.out" headers so that it
looks as if it came fresh from the link editor.  You start by running
virtex, and getting it to read in the plain.fmt file, then you force 
a dump of the "core" memory image.  The first requirement is that you
be able to do that.  Clearly, if you cannot get a clean core image, you
cannot do any of the other things.  

Once you have the core image, you must edit it to add the header structure
to the beginning of the file, and possibly to provide certain other structures
as well, then you can rename the result (in our case, we will call it tex
or latex) and the operating system will accept it as if it were an "a.out"
file.  This is what "undump" tries to do.  The line
        undump tex virtex core
                                says, in effect, "create a file named 'tex'
by taking the header information from the virtex `a.out' file and tacking
it onto a copy of the core file just created."

If only "a.out" format were stable across operating systems and versions
of any given operating system, it would be relatively easy.  But "a.out"
format is one of the most system-dependent formats in the Unix world.
You cannot be sure even from one version of an operating system to another
that "a.out" format will remain stable, and you can be almost certain that
the "a.out" format on any one vendor's machine will be different from that
on all other machines.  (It is not just perversity, there are some performance
reasons as well).  Ideally undump should be table driven, so that new
"a.out" formats can be fed in easily, but we would first have to find
a programmer who had access to fifteen different operating systems and
had the stamina to keep from going mad while trying to deal with them.
At present we have only a collection of unique system-dependent versions
of undump.  If none of our versions works on your machine, you probably
have an operating system with yet another style of "a.out" and "core"
file.  If you can manage to work out an undump for your machine, we would
be delighted to add it to our collection, but we can't help you with
technical information, because we have no access to anything but our
Suns and Vaxen.