              LaTeX installation TeX expert information
 
                             30 May 1994
 
 
SUMMARY
=======
 
This document contains information about the LaTeX installation for 
TeX experts.  In particular it describes:
 
 * The checks performed by ltxcheck.tex
 
 * How to print the LaTeX source.

 * How to configure the hyphenation patterns for LaTeX.

 * How to configure LaTeX's compatibility mode.
 
For more general information, see install.txt.
 
 
THE LTXCHECK.TEX CHECKS
=======================
 
Here is a description of the checks run by ltxcheck.
 
1) The \@currdir check.

   It is useful for LaTeX to know the syntax for the `current directory
   (or folder)', or `default directory', if  the operating system has
   such a concept.
 
   For example, file abc.tex in this directory, or folder, is specified
   by:
     ./abc.tex   on unix and most DOS/OS2 TeX's,
     []abc.tex   on VMS
      :abc.tex   on a Macintosh.
   The above possibilities will be found automatically during the
   installation.  However, if none of these syntaxes works on your
   system then the internal macro \@currdir will be set to be empty
   and ltxcheck will report this.
 
   If your system does have a notion of a current directory, you can
   define \@currdir in texsys.cfg.
 
   You could also report this to the latex-bug address, so that
   later releases can automatically cope with your system.
 
2) The \input@path check.

   On some systems TeX cannot check whether a file exists before
   trying to input it, unless the filename is expressed as a full path
   name, including the directory.  On these systems LaTeX needs to be
   given a list of directories in which to look for files; the
   internal macro \input@path holds this information.
 
   When run, ltxcheck will try to locate the file article.cls.
   If it fails to find this file (and you have placed it in the
   `standard input directory') then you must define \input@path in
   texsys.cfg.
 
   The files texsys.cfg and dircheck.dtx contain examples of how to do
   this but only you know the directories and syntax that should be used
   for your installation.
 
   We hope to build up a better collection of examples in future
   releases of LaTeX, as it is tested on more TeX systems.
 
3) TeX version check.

   The final checks test that you are running a recent version of TeX.
   If ltxcheck reports that you have TeX2, then you should try to
   upgrade TeX (and rebuild LaTeX) as soon as possible.  LaTeX may be
   used with TeX2, but certain features will be missing and you will
   not be able to use the new (8-bit) font families that are now
   available.
 
   If ltxcheck reports that your TeX version is older than 3.141, you
   will see some strange messages during the installation.  This is
   because earlier TeXs printed certain line-breaks in messages on the
   terminal as ^^J rather than starting a new line.
 
   In this case, you should add a line to texsys.cfg defining
   \@TeXversion (e.g., \def\@TeXversion{3.14} ) and then re-build the
   format by running iniTeX on latex.ltx. This will allow LaTeX to
   work round this bug and thus avoid ^^J's appearing in error
   messages.

   
DOCUMENTATION OF THE CODE
=========================
 
To typeset a documented code file (a .dtx file) you simply run LaTeX
on it. The file source2e.tex is a master file which produces the
documented code for the whole LaTeX kernel (but not the standard
packages, classes, or compatibility mode).
 
To configure the appearance of this documentation, you can use a 
ltxdoc.cfg file.  For example, putting the following line into this 
file will format the documentation for A4 paper:
 
   \PassOptionsToClass{a4paper}{article}
 
The doc package, which is used by the documentation files, writes
index files and change-history files that can be processed by the
program MakeIndex.  If this program is part of your TeX installation,
you can get an index and history listing for a documentation file
by running the .idx and .glo files through this program.
 
For example, in Unix MakeIndex, you should say:
 
   makeindex -s gind.ist FILENAME
   makeindex -s gglo.ist -o FILENAME.gls FILENAME.glo
 
 
CONFIGURING HYPHENATION
=======================

In order to hyphenate text, TeX must have hyphenation patterns
preloaded in the format.  The hyphenation patterns for American
English are stored in the file hyphen.tex; LaTeX 2.09 always loaded
this file when its format was made.

With LaTeX2e it is possible to configure which hyphenation patterns
are to be loaded into the format.  When iniTeX is processing latex.ltx
it looks for a file called lthyphen.cfg.  If a file with that name
cannot be found then it will load the file lthyphen.ltx.

The file lthyphen.ltx selects loads hyphen.tex if it can find it;
otherwise it stops with an error since a format with no hyphenation
patterns is not very useful.  It then sets \language=0 and it sets
the values \lefthyphenmin=2 and \righthyphenmin=3, which are needed
for American English.

If this is not what you want then you should create a file
lthyphen.cfg.  This file should contain instructions to load the
hyphenation patterns you require.  For each language for which you
wish to load hyphenation patterns it should:

 * set \language=<some value>;

 * load the file which contains the hyphenation patterns for that
   language. 

After this it should:

 * set \language to its default value;
 
 * set \lefthyphenmin and \righthyphenmin to the correct values for
   this default language.

There are some packages available, such as `french' or `babel',
that can help you with this configuration.  The documentation in
lthyphen.dtx contains some examples.


CONFIGURING COMPATIBILITY MODE
==============================

Whenever a LaTeX document starts with \documentstyle, rather than
\documentclass, LaTeX assumes it is a LaTeX 2.09 document and
therefore processes it in `compatibility mode'.

This does the following:

 * sets a flag \@compatibilitytrue

 * inputs the file latex209.def

 * inputs a file latex209.cfg if it exists.

The latex209.cfg file is intended for use by sites which customized
their LaTeX 2.09 installation.  In order to make LaTeX behave (almost)
identically on all sites, LaTeX2e has fewer options for customization
than did LaTeX 2.09.  To support any local customizations your site
may have used, LaTeX2e allows you to have a site-specific latex209.cfg
file.  For example, if your site used NFSS1 with newlfont, you could
add \RequirePackage{newlfont} to latex209.cfg.


FURTHER INFORMATION
===================

You will find further information about various aspects of LaTeX in
the distributed files with names <*>guide.tex.  You will need
to install the new version before you can typeset these files.

 
--- Copyright 1994 the LaTeX3 project.  All rights reserved ---
