TeX 3.141 Kit for AmigaDOS

For information, to submit bug reports, to offer praise, etc. contact:
David Crooke, dcc@dcs.ed.ac.uk or by snail to 2 Main St., Carnock,
Dunfermline, Fife, SCOTLAND KY12 9JQ.

------------------------------------------------------------------

What is TeX?

TeX is the name of a typesetting system invented by Prof. Donald E.
Knuth of Stanford University. TeX refers to both the typesetting
engine and to one of the original typesetting systems based on it.

TeX (or LaTeX, or AMSTeX, etc.) reads a file you have prepared with
special formatting instructions, and produces a special device
independent typeset file (a .dvi file) with precise instructions as to
where each character is to be placed. This can then be printed or
displayed onscreen for proofreading with a number of utilities. 

Most people who use TeX use LaTeX, which is a friendlier typesetter
using the same engine. LaTeX was devised by Leslie Lamport of DEC
Systems Research Center, Palo Alto. 

Many word processors and DTP packages can produce nice looking output
of professional quality - what LaTeX uniquely offers is the precise
control the user can have, if desired, over the output, and its
unparalleled abilities for typesetting mathematical formulae and
complex tables.

What is in this kit?

This kit contains Amiga binaries for the TeX engine (initex and
virtex), plus initex sources for TeX and LaTeX, and the font metric
files for Knuth's Computer Modern fonts, and a few others. This will
allow you to build virtex format files for TeX and LaTeX, and to
typeset most TeX and LaTeX documents. You will not be able to do
anything with the DVI files however - you will either need to
transport them to another machine with a full TeX installation, or to
obtain some Amiga DVI and other utilities. Read on... 

What other stuff do I need?

I would suggest getting one or more of the following for full
enjoyment of the TeX system:

   "ShowDVI", an DVI screen viewer (Amiga version by G. Hessman)

   "MetaFont", the AMS font utility, useful for DVI programs

   "DVIps", DVI to PostScript conversion program

   "DVIlj", special DVI driver for HP Laserjet compatible printers

   "DVIprint", the obvious

   "Post1.86enh", software PostScript interpreter for Amiga

   The book "LaTeX User's Guide and Reference Manual" by Leslie Lamport

The University of Passau maintains an arhive of Amiga TeX utilities,
as well as their PasTeX system, at ftp.uni-passau.de

The initex and virtex programs use paths to search for files needed in
the course of a typesetting run. These can be set by means of
environment variables, but have sensible defaults (honest!) in line
with the directory structure used in the archive. A path consists of
a list of directories separated by commas, with no spaces in between,
e.g. to search the current directory followed by the directory
TeX:inputs followed by RAM:, the path is ",TeX:inputs,RAM:" - note the
empty path nestling in front of the first comma. Putting the current
directory second would look like this - "TeX:inputs,,RAM:" You can use
any normal means of specifying directories, either by relative or
absolute pathnames.

Here are the environment variables, the files for which they apply and
their defaults:

Env Name    Default Path                  Files
--------    ------------                  -----

TEXINPUTS   ,TeX:inputs,TeX:inputs/standard,TeX:inputs/latex 
                                          *.tex and *.sty input files

TEXFONTS    ,TeX:fonts                    *.tfm font metric files

TEXFORMATS  ,TeX:formats                  *.fmt dump files e.g. lplain.fmt

TEXPOOL     ,TeX:pool                     tex.pool string dump file

TEXCONFIG   ,TeX:config                   texmemory.config memory setups


The procedure for building the format files, e.g. for latex the file
"lplain.fmt", is as follows:

   TeX:

      initex
      **\input plain
      **\dump

   LaTeX:

     initex
     **\lefthyphenmin=2
     **\righthyphenmin=3
     **\input lplain
     **\dump

N.B. - initex will require a larger than minimum pool size in order to
build LaTeX, and probably most other TeX-engine typesetters.

To use these you can set aliases, e.g.

    alias latex "virtex &lplain "

or, if like me you only use latex, rename virtex to latex and
lplain.fmt to latex.fmt


Controlling Memory Sizes
------------------------

Normally to change TeX's memory size you need to recompile the TeX
engine. However, you need no longer fear the "ask a wizard to enlarge
me" message, you can do it yourself.... I have put a hack into the TeX
engine so that it dynamically allocates its memory on startup, after
consulting a file called "texmemory.config" to read in any required
alterations to the default settings. The file should contain lines of
the form:

   set memmax 100000

The example given in the /config directory "sets" what are the
defaults anyway. Not all settings need be given in the file. Note that
you can't just set everything to the maximum - that would need about
8-10Mb of FastRAM! (If you have that much, you're a lucky sod :-]).
If, like the default, you make the current directory first in the
TEXCONFIG path then if you have a very demanding TeX job, you can place
its own version of texmemory.config in its directory. The quoted "Safe
Max." are in many cases guesses and may be too low or too high.
Experiment, the worst that can happen is a GURU! :-)

Observe the following rules:

1. With initex, use a large poolsize
2. With initex, memtop should equal memmax
3. To be safe, use the same settings with both initex and virtex, or
make the virtex ones larger.

Setting       Default/Min.    Safe Max.   Purpose
-------       ------------    ---------   -------

memmax           30000         262140     Size of main storage heap
bufsize            500          32760     Total memory for file input buffers
stacksize          200              ?     Number of input sources
maxopenin            6             20 ?   Maximum number of open files
fontmax             75            255     Maximum number of fonts
fontmemsize      20000         262140     Font heap memory size
maxstrings        3000         262140     Maximum number of strings 
poolsize         32000         262140     Memory for string data
savesize           500          32760     Space for values outside group
triesize          8000         262140     Space for hyphenation patterns
dvibufsize         100           4095     Number of DVI output buffers
memtop           30000         262140     Portion of heap dumped by initex 
trieopsize         500          32760     Space for hyphenation opcodes

Happy TeXing
Dave
23-Feb-93
