This manual describes the LATEX2HTML translator which is
used to create Web pages from document source written for
the LATEX typesetting system, or simply containing LATEX commands.

To use LATEX2HTML to translate a file <file>.tex
containing LATEX commands, simply type:

latex2html<file>.tex

This will create a new directory called <file> which will contain
the generated HTML files, some log files and possibly some images.

Basically the translator reads the source document and creates a linked
set of HTML pages, displaying the information it contains.
The LATEX commands and environments that are found are interpreted
either as ``markup'' instructions, or as macros expanding into more text
or markup commands.
Where such markup corresponds to the intended use for markup tags
in the HTML language, a direct translation is made.
If there is no natural way to present the information using simple text
embellished with HTML markup tags, then an image is generated,
using LATEX itself to interpret the portion of code.

Of course this is a drastically over-simplified description of what
LATEX2HTML actually does. Many questions spring readily to mind.
The answers to these and the options available to handle
particular situations are discussed elsewhere in this manual.

What does ``natural way to present the information'' really mean?

Text and paragraphing clearly should appear as such, whether printed
or on-screen. Different font sizes and styles such as ``bold-face''
or ``italic'' are generally rendered accordingly.
However, whereas LATEX has access to appropriate fonts for specialised
purposes such as mathematical symbols, these cannot be guaranteed to be
available with all Web-browsers. So for information requiring such things,
LATEX2HTML will generally resort to making an image,
using LATEX itself to typeset the material required for that image.

The next page contains a brief overview
of how LATEX's standard environments are handled within LATEX2HTML.
It also mentions some of the extra features that are available.
In general LATEX2HTML attempts to use textual constructions to represent
the required information. Generation of an image is done only when there is
no adequate textual construction with the required version of HTML,
or when specifically requested to do so.
Various extensions, to cope with the different HTML versions and
extra features, are discussed elsewhere.
That describes what to expect on the HTML pages, with little
or no changes required to the LATEX source.

Just as LATEX has various packages which can be used to present specific
types of information in appropriate ways,
so is LATEX2HTML capable of handling the commands from many of these packages.
See this table for a listing of those
packages which currently have special support.

Some features of HTML have no direct counterpart in
a LATEX typeset document.
Can such features be used with LATEX2HTML?

Any effect currently available with any version of the HTML
standard can be specified for a document processed by LATEX2HTML.
New LATEX commands are defined in the html.sty package;
the features that these commands allow are the subject of
a whole section of this manual.
Some of the new commands provide improved strategies for effects
already existing in LATEX; e.g.
cross-references and citations.
To use these effectively requires only small changes to the LATEX source.

Other commands define new environments which are completely
ignored when processed by LATEX.
Indeed the full scope of HTML 3.2 is available,
using LATEX-like macros to help structure the source,
reduce the tedium of repetitious use of tags, and ensure that
all appropriate tags are correctly closed.

What determines the amount of information that goes onto
a single HTML page?
How are different pages linked?

The HTML pages can contain whole chapters, sections,
(sub)subsections or (sub)paragraphs. This is fully customisable
using the command-line options discussed in detail in
a separate section of this manual.

Does the original document have to be a valid LATEX document,
typesetting without errors? If not, does it help if it is?

In fact any document can be fed to the LATEX2HTML processor,
but it is designed specifically to recognise and sensibly translate
the intentions expressed by LATEX markup commands. Although sensible
results can be obtained even when the LATEX source is not valid,
the most reliable translations are obtained when it is.
Relevant issues are discussed
in a later section.

When developing a document which contains special HTML
features, is it best to regularly test it in LATEX or with LATEX2HTML?

The answer to such a question changes as the developer gains
more experience with the available tools.
Some aspects to be considered are discussed
in a later section of this manual.

Information relevant to obtaining the latest version of LATEX2HTML,
installation within the local environment, and where to look for
help when things do not go as expected, can be found in
the support section.

What follows next is a brief summary of the features supported
within LATEX2HTML....