Here are some of the problems that were known to exist
with previous versions of LATEX2HTML.
Most of those that were real errors are either fixed completely
in the current version (V98.1), or are much less likely to occur
within correct LATEX source. (Some are not really errors but
indications of poor style in the user's choices among
various ways to organise their source code.)
Several are indeed limitations inherent in the way
LATEX2HTML currently performs its processing.
Correctness and Efficiency:
- The translator cannot be guaranteed to perform as expected.
Several aspects of the implementation need
optimisation and improvement. Apart from possible bugs the translator
may place heavy demands on your resources.
The current version works much more efficiently than previous
versions; many subtle bugs have been identified and eliminated.
The process of command substitution has been improved significantly,
resulting in memory savings and faster translation.
Unrecognised Commands and Environments:
- Unrecognised commands are ignored and any arguments are left in the text.
Unrecognised environments are passed to LATEX and the result is
included in the document as one or more inlined images.
There are very few standard LATEX commands that are not recognised.
Many common TEX commands are recognised also,
even though not explicitly mentioned
in the LATEX blue book.
Any aberrant commands should be reported to the LATEX2HTML
- References in environments that are passed to LATEX for processing
(e.g. a \cite, or a \ref command),
are not processed correctly.
\label commands are handled correctly.
All citation, reference and label commands should work correctly now.
Report any problems to the LATEX2HTML
- Commands which affect global parameters during the translation,
and are sensitive to the order in which they are processed may
not be handled correctly. In particular, counter manipulation
(e.g. \newcounter, \setcounter, \stepcounter, etc.)
commands may cause problems.
Counter commands now work correctly; dependencies
are also implemented.
- The translator generates its own index by saving the arguments of
the \index command. The contents of the
environment are ignored.
This remains true. When using the
very sophisticated Indexes can be built automatically.
The Index for this manual is a good example.
- New definitions (\newcommand, \newenvironment,
\newtheorem and \def),
will not work as expected if they are defined more than once.
Only the last definition will be used throughout the document.
This remains true. Stylistically it is bad to declare new
environments or theorems outside of the document preamble,
so these should cause no problems anyway.
Changes to commands using \def or \renewcommand
should usually be made only locally, within special environments,
to set a needed parameter;
e.g. a basic length in a
But when such environments force an image to be generated,
then LATEX will make the correct redefinition.
Scope of declarations and environments:
- If the scope of a declaration or environment crosses section
boundaries, then the output may not be as expected, because each
section is processed independently.
This is inherent to the way LATEX2HTML does its processing.
It will not be fixed until later versions change this strategy;
e.g. when LATEX2HTML-NG becomes fully integrated.
Math-mode font-size changes:
- Math-mode font changes
made outside the math-mode are not honoured. Thus the two equations
would come out looking the same. The trick is to write
This remains. The work-around is effective.