1\section{Known Problems}
2\index{problems} \index{bugs}
3Here are some of the problems of the current version:
4\begin{htmllist}
5\htmlitemmark{PurpleBall}
6\item [Correctness and Efficiency\index{efficiency}]
7The translator cannot be guaranteed to perform as expected.
8Several aspects of the implementation need
9optimization and improvement.
10
11\item [Memory and Time Usage]
12Apart from possible bugs the translator
13may place heavy demands on your resources.
14The memory that \latextohtml\ needs for translation ranges between
158 - 10 Megabytes for simple documents and goes soon beyond
1630 Megabytes for more complicated documents.
17This depends upon the length of the document sections and the amount
18of self-defined commands.
19
20A resort for machines with small memory could be to choose
21document segmentation (Section \ref{Segmentation}).
22
23Memory usage also heavily depends on your Perl version.
24Perl4.036, Perl5.000, Perl5.001, and Perl5.002 are deprecated for
25the use with \latextohtml, some things really take too much memory
26with these versions.
27
28Large document sections also need notable more time to translate
29than smaller ones.
30The translation time mainly is determined by the
31number of figures, math equations, or tables.
32With an amount of more than a dozen, say, images to generate,
33\latextohtml\ will almost need all the time to work on the image
34conversion.
35This behaviour will vanish when you configure \latextohtml\ to
36work in EPS mode, available with the 96.2 release.
37
38\latextohtml\ usually finishes its job for an average 60 page
39document with a handful figures within several minutes.
40However, a 250 page manual with a large number of cross-references
41was reported to take on a Sparc4 the amount of 21 hours and 380
42Megabytes of memory.
43
44
45
46\item [Unrecognized Commands and Environments \index{unrecognized commands}]
47Unrecognized commands are ignored and any arguments are left in the
48text. Unrecognized environments are passed to LaTeX  and the result is
49included in the document as one or more inlined images.
50
51\item [Cross-references\index{cross-references}]
52References in environments that are passed to LaTeX  for processing
53(e.g. a \texttt{cite}, or a \texttt{ref} command), are not processed
54correctly.
55\texttt{label} commands are handled correctly.
56
57\item[Order-Sensitive Commands]
58Commands which affect global parameters during the translation,
59and are sensitive to the order in which they are processed may
60not be handled correctly. In particular, counter manipulation
61(e.g. \texttt{newcounter, setcounter, stepcounter}, etc)
62commands may cause problems.
63
64\item [Index\index{index}]
65The translator generates its own index by saving the arguments  of
66the \texttt{index} command. The contents of the \texttt{theindex}
67environment are ignored.
68
69\item[New Definitions\index{new definitions}]
70New definitions (\texttt{newcommand}, \texttt{newenvironment},
71\texttt{newtheorem} and \texttt{def}),
72will not work as expected if they are defined more than once.
73Only the last definition will be used throughout the document.
74
75\item [Scope of declarations and environments]
76If the scope of a declaration or environment crosses section
77boundaries, then the output may not be as expected, because each
78section is processed independently.
79
80\item [Math mode font size changes]  Math mode font changes
81made outside the math mode are not honored.  Thus the two equations
82in
83\begin{verbatim}
84$a_b$ and {\LARGE $a_b$}
85\end{verbatim}
86would come out looking the same.  The trick is to write
87\begin{verbatim}
88$a_b and $\mbox{\LARGE $a_b$}$.
89\end{verbatim}
90
91\end{htmllist}
92% do not remove this magic marker vv
93%%% START FAQ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
94\section{Troubleshooting}
95\index{debugging} \index{problems} \index{fixes}
96Here are some curable symptoms:
97
98\begin{htmllist}
99\htmlitemmark{BlueBall}
100\item [Cannot run any of the Perl programs]
101If your Perl installation is such that Perl programs are not allowed
102to run as shell scripts you may be unable to run  \fn{latex2html}, \fn{texexpand} \fn{pstogif}
103and  \fn{install-test}. In this case change the first line in each of these
104programs from
105\begin{verbatim}
106#!/usr/local/bin/perl
107\end{verbatim}
108
109\emph{to}
110
111\begin{verbatim}
112: # *-*-perl-*-*
113    eval 'exec perl -S  $0 "$@"'
114    if $running_under_some_shell;
115\end{verbatim}
116
117
118\item [Cannot run any of the Perl programs \#2]\hfill\\
119They prompt sth. like \fn{Command not found}.
120
121Check the first line of the program.
122The path you see there must point to Perl!
123If you see eg. \verb|#!/usr/local/bin/perl|, type
124\begin{verbatim}
125   which perl
126\end{verbatim}
127If they differ, adapt the first lines of any Perl script (currently
128\fn{pstoimg}, \fn{texexpand}, \fn{makemap}, and \fn{latex2html}),
129or talk to your system administrator to add a link to perl in
130\fn{/usr/local/bin} (this is recommended).
131
132
133\item [Cannot run \fn{latex2html}]\hfill\\
134\fn{latex2html} prompts sth. like \fn{di: Command not found} or
135\fn{di: not found}.
136
137You must have Perl installed to use \latextohtml, you can't run it
138by your shell.
139
140
141\item [\fn{latex2html} exits with one of these messages:]\hfill
142
143\begin{enumerate}
144\item \verb/no DBM on this machine.../,
145\item \verb/AnyDBM_File.pm did not return a true value.../,
146\item \verb/Can't locate AnyDBM_File.pm in @INC.../
147\end{enumerate}
148
149Perl is not installed properly.
150In particular, these errors occur when Perl binaries are installed
151without the Perl library, or when the Perl binaries or library
152is moved to another location after installation.
153The resort is to re-install Perl by running its configure script,
154invoking the Makefile, etc., or to get a complete Perl distribution
155with includes the Perl library.
156
157
158\item [Trouble with the images in my \latextohtml\ Manual]
159
160If you have installed the PBM tools beforehand, there could sth.
161went wrong and the tools won't work.
162This problem is known yet to HP users only.
163Since the PBM tools are a bit awkward to install on HP-UX, try
164to download compiled binaries somewhere.
165A possible location is http://hpux.csc.liv.ac.uk/, in
166
167\htmladdnormallink
168{http://hpux.csc.liv.ac.uk/hppd/hpux/X11/Graphics/netpbm-1mar94/}
169{http://hpux.csc.liv.ac.uk/hppd/hpux/X11/Graphics/netpbm-1mar94/}
170.
171
172
173\item [Don't know how to compile the PBM tools on HP-UX]
174
175Since the PBM tools are a bit awkward to install on HP-UX, try
176to download compiled binaries somewhere.
177A possible location is http://hpux.csc.liv.ac.uk/, in
178
179\htmladdnormallink
180{http://hpux.csc.liv.ac.uk/hppd/hpux/X11/Graphics/netpbm-1mar94/}
181{http://hpux.csc.liv.ac.uk/hppd/hpux/X11/Graphics/netpbm-1mar94/}
182.
183
184
185\item [Only two HTML files produced with no contents]
186
187\latextohtml\ did only produce a main page with links to
188\fn{node1.html}, which contains nothing of your document.
189
190This is mainly related to Linux users.
191Perl needs to invoke the \fn{csh} to perform globbing
192(eg. to locate \verb/TMP_*/ files).
193On Linux, there's usually the \fn{tcsh} linked to \fn{csh},
194but this is often missing.
195To fix this, you need to follow several steps:
196
197\begin{enumerate}
198\item Check for the \fn{tcsh}, and install it if you don't have it.
199Take it from (randomly chosen site follows):
200
201\htmladdnormallink
202{file://ftp.cs.uni-sb.de/pub/systems/shells/tcsh/tcsh-6.06.tgz}
203{file://ftp.cs.uni-sb.de/pub/systems/shells/tcsh/tcsh-6.06.tgz}
204
205
206but it is surely part of some Linux distribution for your PC,
207so you won't really need to compile it.
208
209\item Link the \fn{tcsh} to \fn{csh}.
210Eg. say \verb|ln -s /usr/local/bin/tcsh /bin/csh|, or whereever
211you have your \fn{tcsh}.
212
213\item If \latextohtml\ still fails, say \verb/perl -e 'print $INC[1]'/.
214This should prompt the directory where the Perl library resides.
215Step into this directory, and say \verb/grep full_csh Config.pm/.
216The right hand value tells you where Perl wants the \fn{csh}.
217Link the \fn{tcsh} to this place.
218\end{enumerate}
219
220
221\item [It just stops] Check the style
222files that you are using. It is likely that you are using
223a style file which contains raw TeX commands. In such a case
224start \latextohtml{} with the option \texttt{-dont\_include \Meta{style file
225name}}. Alternatively, add the name of the style to the variable
226\texttt{DONT\_INCLUDE} in your
227\fn{HOME/.latex2html-init} file. If you don't have such a file then
228create one and add the lines:
229\begin{verbatim}
230$DONT_INCLUDE = "$DONT_INCLUDE" . ":<style file name>";
2311;      # This must be the last line
232\end{verbatim}
233
234Another reason why \latextohtml{} might stop is that the LaTeX source
235file itself contains raw TeX commands. In this case you may
236put such commands inside a
237\hyperref{\texttt{latexonly}}{\texttt{latexonly (see Section }}{)}{sec:latexonly}
238environment.
239
240\item [Perl cannot parse the \fn{latex2html} script]
241Update your Perl to patch level 36. You can check which version of
242Perl you are using by invoking Perl with the \texttt{-v} option.
243Earlier versions of Perl than that shown above
244have caused problems due
245to tighter control over syntax.
246
247\item [It crashes (dumps core) as soon as it starts \label{perl}]
248Update your Perl 4 to patch level 36 or later (Perl 5).
249
250You can check which version of
251Perl you are using by invoking Perl with the \texttt{-v} option.
252
253
254While you wait for your technical support people to upgrade Perl
255you could try invoking Perl from within \latextohtml{} with
256the \texttt{-d} (debug) option. Then, when \latextohtml{} starts, it will
257immediately fall into the Perl debugger. To continue just press
258\texttt{c <CR>}.
259
260\item [\fn{dvips} complains about incorrect arguments \label{dvips}]
261Please use a version which supports the command line options \texttt{-M -S,
262-o and -i}. ``Recent'' versions at least after 5.516 do
263support them.
264
265\item [It gives an \texttt{Out of memory} message and dies]
266If you are using version \latextohtml{} 0.7 or later try splitting your
267source file into more than one files using the \LaTeX\
268commands \texttt{input} or \texttt{include}.
269Also, use the \texttt{-no\_images} option.
270
271As a last resort you may consider increasing the virtual memory
272(swap space) of your machine. As an indication
273of what you might be able to do on your machine,
274a very long book (about 1000 printed pages) required about
27524MB of RAM and over 150MB of swap space to convert on a local Sun Sparc ELC
276running SunOS 4.1.3.
277
278\item [It gives ``dbm'' related error messages]
279\latextohtml{} 0.7 and later requires the
280Unix DataBase Management system (DBM or NDBM) in order to run.
281This is usually part of each Unix operating system but if you
282don't have it then you may need to get it. \htmladdnormallinkfoot{Use Archie}
283{http://www.pvv.unit.no/archie/} to find one.
284
285\item [The \texttt{verb"ABC"} command doesn't work]
286This is a nasty bug. Please use any characters other than quotes eg
287\texttt{verb+ABC+}
288
289\item [Cannot get the ``tilde'' (\~{}) to show]
290The trick here is to use the command \verb|\~{}|.
291
292Alternatively it is possible to use something like \\
293\begin{verbatim}
294\htmladdnormallink{mylink}%
295  {\begin{rawhtml}http://host/~me/path/file.html\end{rawhtml}}
296\end{verbatim}
297
298or
299
300\verb|\htmladdnormallink{mylink}{http://host/\%7Eme/path/file.html}|
301
302\textbf{Warning:} Some browsers may not be able to interpret the \verb|%7E|
303as a ``tilde'' character.
304
305\item [Macro definitions don't work correctly]
306As mentioned in other places plain TeX definitions cannot be
307converted.
308But you may also have problems even when using LaTeX definitions
309(with \texttt{newcommand} and \texttt{newenvironment}) if such definitions
310make use of {\it sectioning or verbatim} commands. These are
311handled in a special way by \latextohtml{} and cannot be used in
312macro definitions.
313
314In general the macro handling mechanism is inefficient and very
315fragile. Avoid using macros if possible.
316
317\item [\texttt{input} commands]
318There is a bug in the expansion of \texttt{input} commands which causes a problem
319when more than one \texttt{input} command appear on the same line.
320There is no quick fix other than suggesting that you
321insert a newline after \texttt{input} commands in the source .tex files.
322
323\item [\texttt{input} commands in verbatim environments]
324These cause problems. There is no fix yet.
325
326\item [Optional arguments in description environments]
327If you have optional arguments for the \texttt{item} command in
328a description environment containing nested ``]'' characters then
329these may not show up correctly. To avoid the problem enclose them
330in \{\}'s eg \verb+\item[{[nested [angle [brackets] are ok]]}]+
331
332\item [LaTeX2HTML behaves differently even when you run it on the
333same file]
334
335If you notice any strange side-effects from previous runs of
336\latextohtml{} try using the option \texttt{-no\_reuse} and choose
337\texttt{(d) } when prompted. This will
338clear any intermediate files generated during previous runs.
339Note that this option will disable to image reuse mechanism.
340
341\item [Cannot convert postscript images which are included
342in the LaTeX file] \hfill \\
343It is likely that the macros you are using for including postscript
344files (e.g. \texttt{epsffile}) are not understood by \latextohtml.
345To avoid this problem enclose them in an environment which will
346be passed to LaTeX anyway e.g.
347\begin{verbatim}
348\begin{figure}
349\epsffile{<postscript file name>}
350\end{figure}
351\end{verbatim}
352
353Another reason why this might happen is that your shell
354environment variable
355\texttt{TEXINPUTS} is undefined. This is not always
356fatal but if you have problems you can use full
357pathnames for included postscript files (even when the postscript
358files are in the same directory as the LaTeX source file).
359Alternatively try setting TEXINPUTS to ".::".
360With some TeX and LaTeX installations setting TEXINPUTS to
361".::" may cause problems in the normal operation of LaTeX.
362If you get errors such as LaTeX complaining that it can no longer find
363any style files then you must set TEXINPUTS to
364\verb|"<path to your LaTeX installation>:."|
365if you want to use both LaTeX and LaTeX2HTML.
366
367\item [Some of the inlined images are in the wrong places]
368This happens when any one of the inlined images is more than a page
369(paper page) long. This is sometimes the case with very large tables
370or large postscript images. In this case you can try specifying
371a larger paper size (eg ``a3'', ``a2'' or even ``a0'') instead of
372the default (``a4'') using the LaTeX2HTML variable \fn{PAPERSIZE}
373in the file \fn{latex2html.config}.
374
375Another reason why this may happen is that by default the \fn{dvips} program
376reverses the postscript pages it generates. If your \fn{dvips
377program}
378behaves in this way try changing the line
379\verb|$DVIPS = "dvips";|
380
381to
382
383\verb|$DVIPS = "dvips -r0";|
384
385in the file \fn{latex2html.config}.
386
387\item [\textbf{Unacceptable quality of converted images}]
388Try changing the size of the image
389(\hyperref{See image conversion}{See Section }{}{imgcon}).
390
391\item [The bibliographic references are missing]
392Run \texttt{latex} and then \texttt{bibtex} on the original source file in
393order to generate a \texttt{bbl} file. \latextohtml{} requires a \texttt{bbl}
394in order to generate the references.
395
396\item [The labels of figures, tables or equations are wrong]
397This can happen if you have used any figures, tables, equations or
398any counters inside conditional text i.e. in a \texttt{latexonly}
399or a \texttt{htmlonly} environment.
400
401\item [Problems after changing the configuration files]
402Please make sure that the last line in the configuration files
403(ie \fn{.latex2html-init} and \fn{latex2html.congif}) is:
404\begin{verbatim}
4051;      # This is the last line
406\end{verbatim}
407This is a Perl quirk...
408
409\item [Problems when producing the DVI version \label{htmlsty}]
410If you are using any of the new LaTeX commands which are defined in
411the \fn{html.sty} file make sure that
412\fn{html.sty} file is included e.g. as one of the optional arguments to the
413\texttt{documentstyle} command.
414
415Of course you also have to make sure that LaTeX knows where the html.sty
416file is, either by putting it in the same place as the other style files on
417your system, or by changing your TEXINPUTS shell environment variable\footnote{
418If don't know how to do either of these things, copy (or link) html.sty
419to the directory of your LaTeX document...}.
420
421\item [Some of the fonts are translated incorrectly]
422There is a fault in way the LaTeX scoping rules have been
423interpreted in \latextohtml. Consider this:
424\begin{verbatim}
425\ttfamily fixed-width font.
426\begin{something}
427nothing here
428\end{something}
429default font.
430\end{verbatim}
431When processed by \LaTeX, the effect of the \texttt{tt} command is
432delimited
433by the beginning of the environment ``something'' so that ``default font'' will
434appear in the default font. But \latextohtml{} will not recognize
435``something'' as a delimiter and ``default font'' will appear in the
436wrong
437font.
438
439To avoid this problem until it is fixed you may delimit the scope of
440some
441commands explicitly using \verb|{}|'s i.e.
442\begin{verbatim}
443\texttt{fixed-width font}.
444\begin{something}
445nothing here
446\end{something}
447default font.
448\end{verbatim}
449
450\item [Using \fn{Ghostscript 3.X} you can no
451longer generate inlined images for equations]
452If you have a version of \latextohtml{} later than 0.6.1, go to the
453\latextohtml{} directory and run \fn{install-test} again. This should
454fix it.
455
456With earlier versions of \latextohtml{} you can fix it by
457replacing the file \fn{pstoppm.ps} in the
458\latextohtml{} directory with a newer one that accompanies
459\fn{Ghostscript 3.X}. Alterhatively you can avoid using {\fn
460pstoppm.ps}
461by changing the way \texttt{GS} is invoked in the file \fn{pstogif},
462using something like \\
463\verb/open (GS, "|$GS -q -sDEVICE=ppmraw  -sOutputFile=$base.ppm $base.ps");/
464
465\item [Cannot get it to generate inlined images]
466Try a small test file e.g.
467\begin{verbatim}
468% image-test.tex
469\documentstyle{article}
470\begin{document}
471Some text followed by \fbox{some more text in a box}.
472\end{document}
473\end{verbatim}
474
475You should see something like:
476\begin{verbatim}
477This is LaTeX2HTML Version  (Wed Dec 1 1993) by Nikos Drakos,
478Computer Based Learning Unit, University of Leeds.
479
480OPENING /usr/cblelca/nikos/scripts/tex2html/tests/image-test.tex
481
482Reading ....
483Translating ...0/1.....1/1......
484Generating images using latex ...
485This is TeX, C Version 3.14t3
48612222_images.tex
487LaTeX Version 2.09 <7 Dec 1989>
488
489
490Generating postscript images using dvips ...
491This is dvips 5.521 Copyright 1986, 1993 Radical Eye Software
492\end{verbatim}
493\begin{verbatim}
494' TeX output 1993.12.03:1050' -> 12222_image
495(-> 12222_image001) <tex.pro>[1]
496Initializing... done.
497Ghostscript 2.6.1 (5/28/93)
498Copyright (C) 1990-1993 Aladdin Enterprises, Menlo Park, CA.
499  All rights reserved.
500Ghostscript comes with NO WARRANTY: see the file COPYING for details.
501GS>GS>Writing 12222_image001.ppm
502GS>pnmcrop: cropping 119 rows off the top
503pnmcrop: cropping 961 rows off the bottom
504pnmcrop: cropping 208 cols off the left
505pnmcrop: cropping 484 cols off the right
506
507Doing section links .....
508Done.
509\end{verbatim}
510
511
512If there is a problem somewhere during the conversion from postscript
513to GIF you can try to do it manually so that you can find out where
514the problem is. Here is one way to do it (Please use the \fn{pstoppm3.ps}
515file instead of \fn{pstoppm.ps} if your version of ghostscript is
516later than 3.0):
517
518\begin{verbatim}
519cblelca% latex image-test.tex
520This is TeX, C Version 3.14t3
521(image-test.tex
522LaTeX Version 2.09 <7 Dec 1989>
523(/usr/TeX/tex.lib/inputs//paper.sty
524Document Style `paper' <28 Nov 89>.
525(/usr/TeX/tex.lib/inputs//pap11.sty) (/usr/TeX/tex.lib/inputs/\-doublespace.sty)
526(/usr/TeX/tex.lib/inputs//smaller.sty)) (/usr/TeX/tex.lib/inputs\-/psfig.sty
527psfig/tex 1.9
528)
529No file image-test.aux.
530[1] (image-test.aux) )
531Output written on image-test.dvi (1 page, 652 bytes).
532Transcript written on image-test.log.
533cblelca% dvips -o image-test.ps image-test.dvi
534\end{verbatim}
535\begin{verbatim}
536This is dvips 5.519 Copyright 1986, 1993 Radical Eye Software
537' TeX output 1993.11.12:1412' -> image-test.ps
538<tex.pro>. [1]
539cblelca% gs -dNODISPLAY pstoppm.ps
540Initializing... done.
541Ghostscript 2.6.1 (5/28/93)
542Copyright (C) 1990-1993 Aladdin Enterprises, Menlo Park, CA.
543  All rights reserved.
544Ghostscript comes with NO WARRANTY: see the file COPYING for details.
545GS>(image-test) ppm1run
546Writing image-test.ppm
547GS>quit
548cblelca% pnmcrop image-test.ppm >image-test.crop.ppm
549pnmcrop: cropping 61 rows off the top
550pnmcrop: cropping 110 rows off the bottom
551pnmcrop: cropping 72 cols off the left
552pnmcrop: cropping 72 cols off the right
553cblelca% ppmtogif image-test.crop.ppm >image-test.gif
554\end{verbatim}
555
556\item [STILL cannot get it to generate inlined images for equations
557etc.]
558If you have no problems with the \fn{image-test.tex} file but you
559still cannot convert the images in some of your files
560have a look in the directory of the generated
561HTML files for two files \fn{images.tex} and \fn{images.log}. Do you notice
562anything unusual in them? Copy \fn{images.tex} in the directory
563of your original \LaTeX file and run \fn{latex} on \fn{images.tex}.
564Can you see any errors in \fn{images.log}? If yes can you fix
565\fn{images.tex} to get rid of the errors? After fixing {\fn
566images.tex}
567you can put it back in the directory of HTML files created by
568\latextohtml{} and run \latextohtml{} on the original document
569using the option \texttt{-images\_only}.
570
571If you get into a mess try running \latextohtml{} with the options
572\texttt{-no\_reuse} and \texttt{-no\_images} eg
573\begin{verbatim}
574cblipca% latex2html -no_reuse -no_images test.tex
575This is LaTeX2HTML Version 95 (Tue Nov 29 1994) by Nikos Drakos,
576Computer Based Learning Unit, University of Leeds.
577
578OPENING /tmp_mnt/home/cblelca/nikos/tmp/test.tex
579Cannot create directory /usr/cblelca/nikos/tmp/test: File exists
580(r) Reuse the images in the old directory OR
581(d) *** DELETE *** /usr/cblelca/nikos/tmp/test AND ITS CONTENTS OR
582(q) Quit ?
583:d
584
585Reading ...
586Processing macros ....+.
587Reading test.aux ......................
588Translating ...0/1........1/1.....
589Writing image file ...
590
591Doing section links .....
592
593*********** WARNINGS ***********
594
595If you are having problems displaying the correct images with Mosaic,
596try selecting "Flush Image Cache" from "Options" in the menu-bar
597and then reload the HTML file.
598
599Done.
600\end{verbatim}
601
602Then try to have a look
603in the file  \fn{images.tex} (as described earlier) and perhaps fix it.
604Once you are happy that \fn{images.tex} is OK run \latextohtml{}
605again with the option \texttt{-images\_only}.
606
607The options \texttt{no\_reuse, no\_images} and \texttt{images\_only}
608are available with \latextohtml{} version 0.7 or later.
609
610Some problems in displaying the correct inlined images,
611may be due to the image caching mechanisms of your browser.
612With some browsers a simple ``Reload Current Document'' will be enough
613to refresh the images but with others (eg Mosaic) you may need
614to request for the cache to be refreshed. With Mosaic try
615selecting "Flush Image Cache" from "Options" in the menu-bar
616and then reload the HTML file.
617
618
619\item [It cannot do slides, memos, etc, ...]
620If you use \texttt{slitex} you can go a long way just by replacing
621the \texttt{slides} argument of the \texttt{documentstyle} command with
622something like \texttt{article} just before using \latextohtml.
623One problem may be that all your slides will end up in the  same HTML
624file.
625If you use \fn{lslide.sty} you may get much better results
626(\htmladdnormallinkfoot{use Archie}
627{http://www.pvv.unit.no/archie/} to find this or any other
628style files).
629\end{htmllist}
630
631%%% END FAQ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
632% do not remove this magic marker ^^
633
634\section{Support and More Information}
635
636A \htmladdnormallink{\latextohtml{} mailing list}{mailto:latex2html-request@tug.org} has been set up at the \TeX\ User Group. The
637\htmladdnormallinkfoot{\latextohtml{} mailing list
638archive}{http://www.tug.org/mailman/listinfo/latex2html/} is
639available.
640
641To join send a message to: \\
642\texttt{latex2html-request@tug.org}  \\
643with the contents \\
644\texttt{subscribe}
645
646To be removed from the list send a message to: \\
647\texttt{latex2html-request@tug.org}  \\
648with the contents \\
649\texttt{unsubscribe}.
650
651\section{General License Agreement and Lack of Warranty}
652This software is distributed in the hope that it will be useful
653but \textbf{without any warranty}. The author(s) do not accept responsibility
654to anyone for the consequences of using it or for whether it serves
655any particular purpose or works at all. No warranty is made about
656the software or its performance.
657
658Use and copying of this software and the preparation of derivative
659works based on this software are permitted, so long as the following
660conditions are met:
661\begin{itemize}
662\item The copyright notice and this entire notice are included intact
663and prominently carried on all copies and supporting documentation.
664\item No fees or compensation are charged for use, copies, or
665access to this software. You may charge a nominal
666distribution fee for the physical act of transferring a
667copy, but you may not charge for the program itself.
668\item If you modify this software, you must cause the modified
669file(s) to carry prominent notices (a Change Log)
670describing the changes, who made the changes, and the date
671of those changes.
672\item  Any work distributed or published that in whole or in part
673contains or is a derivative of this software or any part
674thereof is subject to the terms of this agreement. The
675aggregation of another unrelated program with this software
676or its derivative on a volume of storage or distribution
677medium does not bring the other program under the scope
678of these terms.
679\end{itemize}
680
681This software is made available \textbf{as is}, and is distributed without
682warranty of any kind, either expressed or implied.
683In no event will the author(s) or their institutions be liable to you
684for damages, including lost profits, lost monies, or other special,
685incidental or consequential damages arising out of or in connection
686with the use or inability to use (including but not limited to loss of
687data or data being rendered inaccurate or losses sustained by third
688parties or a failure of the program to operate as documented) the
689program, even if you have been advised of the possibility of such
690damages, or for any claim by any other party, whether in an action of
691contract, negligence, or other tortious action.
692
693\index{copyright}
694The \latextohtml{} translator is written by Nikos Drakos,
695Computer Based Learning Unit,  University of Leeds,  Leeds,  LS2 9JT.
696Copyright \copyright 1993, 1994, 1995. All rights reserved.
697
698\section{Credits}
699Several people have contributed suggestions, ideas, solutions, support
700and encouragement. Some of these are Roderick Williams, Ana Maria
701Paiva, Jamil Sawar and Andrew Cole here at the Computer Based Learning Unit.
702
703The idea of splitting \LaTeX\  files
704into more than one components linked with hyperlinks was first
705implemented in Perl by Toni Lantunen at CERN.
706Thanks to Robert Cailliau \Email{cailliau@cernnext.cern.ch}
707of the WorldWide Web Project also at CERN
708for giving me access to the source code and documentation (although no
709part of the original design or the actual code has been used).
710
711Robert S. Thau \Email{rst@edu.mit.ai} has contributed the new version of
712\fn{texexpand}. Also, in order to translate the \emph{document
713from hell} (!!!) he has extended the translator to handle \texttt{def}
714commands, nested math-mode commands, and has fixed several bugs.
715
716The \fn{pstogif} script
717uses the \fn{pstoppm.ps} postscript program originally written by
718Phillip Conrad (Perfect Byte, Inc.) and modified by L. Peter Deutsch
719(Aladdin Enterprises).
720
721The idea of using existing symbolic labels to provide cross-references
722between documents was first conceived during discussions with
723Roderick Williams \Email{rodw@cbl.leeds.ac.uk}.
724Eric Carroll \Email{eric@ca.utoronto.utcc.enfm} suggested providing
725a command like \texttt{hyperref}. Franz Vojik
726\Email{vojik@de.tu-muenchen.informatik}
727provided the basic mechanism for handling foreign accents.
728The \texttt{-auto\_navigation} option was based on an idea by
729Todd \texttt{<little@com.dec.enet.nuts2u>}.
730Axel Belinfante \texttt{<Axel.Belinfante@cs.utwente.nl>} provided the
731code in the \fn{makeidx.perl} file as well as numerous suggestions
732and bug reports.
733
734Verena Umar \Email{verena@edu.vanderbilt.cas.compsci}
735(\htmladdnormallink{Computer Science
736Education Project}{http://csep1.phy.ornl.gov/csep.html}) has been a very
737patient tester of some early versions of \latextohtml{}
738and many of the current features are a result of her
739suggestions.
740
741Thanks to (thanks to Ian Foster
742\Email{itf@mcs.anl.gov} and Bob Olson \Email{olson@mcs.anl.gov}) at the
743Argonne National Labs for setting up the
744\htmladdnormallinkfoot{\latextohtml{} mailing list}{http://cbl.leeds.ac.uk/nikos/tex2html/doc/mail/mail.html}.
745
746\begin{changebar}
747Special credit is due Marcus Hennecke \Email{marcush@crc.ricoh.com}
748for his many extensive revisions, Mark Noworolski
749\Email{jmn@eecs.berkeley.edu} for coordinating V 95.3,
750Sidik Isani \Email{isani@cfht.hawaii.edu}, for his improvement
751in GIF quality, and to Herb Swan \Email{dprhws@edp.Arco.com} for
752coordinating V 96.1 of \latextohtml.
753\end{changebar}
754
755Many others, too many to mention,
756have contributed bug reports, fixes, and other suggestions. Keep them coming!
757
758
759\section{Changes from Previous Versions}
760The \htmladdnormallink{previous versions of the
761translator and some patches}{http://cbl.leeds.ac.uk/nikos/tex2html/previous-versions}
762are available. A \htmladdnormallink{detailed list of changes}
763{http://cbl.leeds.ac.uk/nikos/tex2html/doc/Changes.txt}
764which includes full credits to all who have contributed
765bug fixes or other code is also available with the
766\latextohtml{} distribution in the file \fn{Changes}.
767
768\subsection{Changes upto v96}
769\begin{changebar}
770\begin{htmllist}
771\htmlitemmark{GreenBall}
772\item[Tables and math support for HTML 3.0]
773Tables can now be specified in HTML, without having to generate a
774GIF image.  Code is also available for HTML 3.0 equations, but it is not
775currently turned on, since no browser can handle it (yet!)
776(Courtesy of Marcus Hennecke \Email{marcush@crc.ricoh.com})
777
778\item[Font generation at screen resolutions]
779The quality of equation bitmaps is greatly improved by enabling the
780\$PK\_GENERATION configuration variable.  When this is done
781METAFont will be invoked through \texttt{dvips} to generate fonts
782more suitable to screen viewing.  Ideally, this should be done
783by setting the \texttt{mode} switch to \texttt{dvips}, but unfortunately
784not all version of \texttt{dvips} support this option.  For those
785that don't, a \fn{.dvipsrc} file is supplied with this distribution.
786Sidik Isani (\Email{isani@cfht.hawaii.edu}) provided this
787change.
788
789\item[Improved support for active image maps]
790Both server and client-side maps are supported.  Image maps can
791either be inline or external.  External maps can be associated
792with a thumbnail image.  A separate script \texttt{makemap} helps
793resolve external URLs in image maps.  (Herb Swan \Email{dprhws@edp.Arco.com})
794
795\item[Improved image sharing and recycling]
796The older version of image recycling often caused images to
797overwrite each other due to confusion in the bookkeeping.
798This has been fixed.  It is also no longer necessary to keep
799generating the same image which is being used repeatedly in a
800document.  Furthermore, images with thumbnails can now be
801recycled, as well as active image maps.  Only images of the
802correct size are recycled.  (Herb Swan)
803
804\item[Document segmentation]
805Large documents can now be divided into independently processed
806segments.  Additional command line switches provide intersegment
807navigation information, while automatically generated Perl
808files pass symbolic references and counter information
809between segments.  (Herb Swan, assisted by Michel Goossens
810\Email{Michel.Goossens@cern.ch})
811
812\item[Command parsing made more like \LaTeX's]
813Constructs like \verb|\hello2| are now treated as macro
814\texttt{hello} followed by argument `2', rather than as
815macro \texttt{hello2}.  Added \makeatletter and \makeatother
816commands.  (Marcus Hennecke)
817
818\item[Graceful termination upon interrupt]
819When \latextohtml\ is interrupted by a termination signal, all
820child tasks are also terminated.  This provides a more orderly
821shutdown than that offered by previous versions.  (Herb Swan)
822
823\item[Support for textual font size changes]
824HTML 2.1 support is now available fo ISO 10646
825\htmladdnormallink{Unicode}{ftp://dkuug.dk/i18n/ISO_10646}
826character sets by specifying \fn{-html\_version 2.1}.
827HTML 3.0 support is provided for textual font size changes
828(like \verb|<SMALL>|), used in conjunction wich a generated
829optional style sheet.  (Marcus Hennecke)
830
831\item[More inline math generated in \texttt{HTML}]  Small inline
832equations which can be typeset in \texttt{HTML} \textbf{are} typeset
833in \texttt{HTML}.  This further reduces the nuber of GIF files
834that need to be generated.
835
836\item[Hypertext references can now be external]  The commands
837\texttt{htmlref} and \texttt{hyperref} now accept labels defined
838in an external document if the internal reference is not found.
839(Herb Swan)
840
841\item[Additional style files are now available] These were
842provided by Herb Swan:
843\begin{htmllist}
844\htmlitemmark{YellowBall}
845\item[htmllist] Defines a fancier list environment\html{, such as this}.
846(It is the same as the \texttt{description} environment in the paper version.)
847
848\item[heqn] Redefines the \texttt{equation} environment so that
849equation numbers are handled in \texttt{HTML}.  This causes
850equations in this environment to be recyclable.  It also causes
851equation arrays to be recyclable if their equation numbers do not
852change from the previous run.
853\item[floatfig] Provides support for this environment by making it
854look like an ordinary figure in the electronic version.
855\item[wrapfig] (Same comment as for \texttt{floatfig}).
856\item[graphics] Defines elements of the standard \LaTeX 2e
857\texttt{graphics} package.
858\end{htmllist}
859
860\item[More support for \LaTeXe] Provided support for the
861\texttt{ensuremath} command.  The last \emph{option} to the \texttt{babel}
862package is interpreted as the \latextohtml{} language style file to load.
863User-defined commands and environments can now have an optional
864argument.  Stubs have been provided for \texttt{enlargethispage}
865and \texttt{suppressfloats}.  \LaTeXe packages \texttt{alltt,
866graphics, graphicx, color} and \texttt{epsfig} were
867provided.  This manual itself was transformed into standard
868\LaTeXe.  (Herb Swan and Michel Goossens)
869
870\item[Orientation manipulation for figures] The \texttt{flip=}
871option of \texttt{htmlimage} causes the program \texttt{pnmflip} to
872be called prior to the generation of the GIF file.  This allows
873the electronic version of the image to be oriented differently
874than the paper version.  (Herb Swan)
875
876\item[Better treatment of null images]  If for some reason an
877image produced a null GIF file, then no reference is made to that
878file and the program proceeds gracefully.  Furthermore, such null
879images do not need to be regenerated.  This would occur
880in \texttt{HTML} 3.0 images whose caption is enclosed in a \texttt{parbox},
881for example.  (Marcus Hennecke)
882
883\item[Independent control over top/bottom navigation panels]
884There are now separate subroutines to control the top and bottom
885navigation panels.  (Jens Krinke \Email{krinke@ips.cs.tu-bs.de}).
886
887\item[Labels, equations and images in section headings]
888All of these items are now permitted inside a section heading,
889and in the \verb|\title{}| command.
890However, the equations may not look very good because of the size
891difference.  (Herb Swan)
892
893\item[Other changes] The following other numerous changes are
894in no particular order:
895
896\begin{itemize}
897\item Fixed the treatment of \verb|@{}| expressions in HTML 3.0 tables.
898\item Made the \texttt{reuse} command line switch accept an option.
899\item Made the \texttt{.tex} filename suffix optional. (This will
900save a bit of typing!)
901\item Added a \fn{-debug} command line switch.
902\item Support unbreakable spaces (\~{}) and itallic correction.
903\item Fixed a bug in \fn{pstogif} which caused \fn{ppmquant} never
904to be called.
905\item The \verb|\special| \index{special command}
906command can now be used outside
907of a figure environment.  This is useful for specifying
908a PostScript prolog to \texttt{dvips}.
909\item Added the configuration variable \$TEXINPUTS to point
910to the path of \LaTeX\ style files that \latextohtml{} should interpret.
911\item Added the configuration variable \$DVIPS\_MODE to specify:
912\begin{enumerate}
913\item That \texttt{dvips} understands the \texttt{-mode} switch, and
914\item Which METAFont mode to use for dynamic font generation.
915\item The default output file prefix.
916\end{enumerate}
917\item Fixed up comment removal code to remove all comments during preprocessing.
918\item Make \texttt{\$LATEX2HTMLSTYLES} a path list (and support `\~{}' as
919a way of specifying the home directory).
920\item Replace double dashes with a single dash.
921\item Removed extraneous spaces in comma separated citations.
922\item Changed encoded `\~{}' character to a real `\~{}' character at end of conversion
923\item Eliminated the spurious newline that was appended to macro
924expansions.
925\item Improved the error reporting of \texttt{install-test}.
926\item Remove whitespace from beginning of unnumbered section names.
927\item Add other language support for TOC, figures, tables, and
928\verb|\today|.
929\item Ignore \verb+"|+ and \verb+"-+ strings in \texttt{german} documents.
930\item Make \verb|\hrule| insert less vertical whitespace.
931\item Added an \verb|\htmlrule| \index{htmlrule}
932command to draw a horizontal rule, even within a figure caption.
933\item The \texttt{texexpand} program now ignores anything after the
934\begin{verbatim}
935\end{document}
936\end{verbatim}
937command, except when it is shielded by the \texttt{verbatim}
938environment.
939\item The optional caption argument is now the one which goes
940        to the list of figures/tables, not the required argument.
941\item Added a \verb|\LaTeXe| command.
942\item Fixed bug in the treatment of the \verb|\circ| math symbol.
943\item A comment that appears on the first line of an included file
944        is now properly removed.
945\item Added a call to \texttt{replace\_user\_references}, to allow
946style files to add new types of cross\-ref\-eren\-ces.
947\item Removed the expansion of \verb|`\\'| to \verb|`\\ '| in verbatim.
948\item Figure numbers now appear in captions enclosed in parboxes.
949\item All deferred warning messages are now correctly reported.
950\item The ``\texttt{scale=}'' option of \verb|\htmlimage| now works.
951\end{itemize}
952\end{htmllist}
953\end{changebar}
954
955\subsection{Changes up to v95}
956\begin{htmllist}
957\htmlitemmark{RedBall}
958\item[\textbf{Much improved inlined equation baseline alignment!}]
959(Thanks to Mark Segal \Email{segal@spud.asd.sgi.com})
960Inlined equation bitmaps are now aligned correctly depending
961on whether they contain subscripts, superscripts etc.
962\item[\textbf{Support for internationalization}]
963(Thanks to Martin Boyer \Email{gamin@ireq-robot.hydro.qc.ca})
964A global variable \texttt{LANGUAGE\_TITLES} can now be used to change the
965language in which some section titles (eg ``Table of Contents'') are
966printed. It is also very easy to add support for more languages.
967\item[\textbf{Compatibility with Perl 5}]
968\item[\textbf{More efficient implementation}]
969There has been a major overhaul of the way the source text is parsed
970and analyzed in order to reduce the memory requirements of this
971process.
972
973This has been achieved by spawning off separate Unix processes to deal
974with each of the \texttt{input}'ed or \texttt{include}'d files. As each
975process
976terminates all the space that it used is reclaimed.
977Asynchronous communication between processes takes place using
978the Unix DataBase Management system (DBM or NDBM)
979which should be present
980on your system.
981
982\textbf{To take advantage of these changes},
983it is necessary to split the source text
984into more than one files which can be assembled using the \LaTeX
985\texttt{input} or \texttt{include} commands.
986
987
988\item[\textbf{``Off-line'' Image Generation}]
989
990Two new options \texttt{-no\_images} and \texttt{ -images\_only} allow
991``off-line'' image conversion. The advantage of using these options is
992that the translation can be allowed to finish even when there are
993problems with image conversion. In addition it may be possible to
994fix manually any image conversion problems and then run \latextohtml{}
995again just to integrate the new images without having to translate
996the rest of the text. More instructions on how to do this are
997included in the ``Troubleshooting'' section of the \latextohtml{}
998manual.
999
1000Can now use either the \fn{pbmplus} or the \fn{netpbm} libary.
1001If \fn{netpbm} is used then it is no longer necessary to get and
1002install \fn{giftrans} in order to generate transparent inlined
1003images.
1004
1005Also, a new option \texttt{map=\Meta{image map URL}} in the
1006command \texttt{htmlimage} can turn an included postscript image into an active
1007image map.
1008
1009\item[\textbf{New options}] \hfill
1010\begin{htmllist}
1011\htmlitemmark{OrangeBall}
1012\item [-no\_images]
1013Do not attempt to produce any inlined images.
1014The missing images can be generated "off-line" by restarting \latextohtml{}
1015with the option \texttt{-images\_only}.
1016\item [-images\_only]
1017Try and convert any inlined images that were left over from previous
1018runs of \latextohtml.
1019\item [-no\_reuse]
1020Do \textbf{not} reuse images generated during previous translations.
1021(This will enable the initial interactive session during which the user is
1022asked whether to reuse the old directory, delete its contents or quit)
1023\item [-no\_subdir]
1024Place the generated HTML files  in the
1025current directory. The default behaviour is to create (or reuse)
1026another file directory.
1027\item [-ps\_images]
1028Use links to external postscript images rather than inlined GIF images.
1029\end{htmllist}
1030\item[\textbf{Several small changes and bug fixes}] \hfill
1031\begin{itemize}
1032\item It is no longer necessary to get \fn{Giftrans} if \fn{NETPBM}
1033is available
1034\item Fixed problems with support for \fn{german.sty}
1035\item Fixed problems with multiple bibliographies. Each bibliography
1036is now treated as a separate section.
1037\item Added support for ``dotless i's and j's''.
1038\item  Fixed to resolve figure and table numbers when captions contain
1039accented characters.
1040\item Added support for hierarchical indices with duplicate index keys
1041\item Fixed problem with HTML encodings of ISO-LATIN1 characters
1042creeping into converted images of figures and tables.
1043\item  Added new global variable \texttt{PAPERSIZE}
1044to make it easier to change the default behavior when converting large images
1045\item A new configuration variable (\texttt{TRANSPARENT\_IMAGES}) can be
1046used to stop any inlined images generated from "figure" environments
1047from being transparent.
1048\item Fixed problem which occurs when \fn{getcwd.pl} is not part of the
1049Perl library.
1050\item The option \texttt{-address ""} is now valid.
1051\item Fixed a problem with tables of contents.
1052\item Fixed problem with the use of the \texttt{finger} command when
1053trying to find out the name of the user.
1054\item Added some support for \texttt{tabbing} environments.
1055\item HTML heading elements no longer contain other markup.
1056\item Fixed problem with optional argument in citation commands
1057\item Added some more support for LaTeX2e.
1058\item Fixed problem with displayed equations forcing all the remaining
1059equations to be displayed.
1060\item Fixed bug with converting postscript images containing more than
1061256 colors.
1062\end{itemize}
1063\end{htmllist}
1064
1065\subsection{Changes upto v0.6.2}
1066
1067\begin{htmllist}
1068\htmlitemmark{RedBall}
1069\item[\textbf{Image Conversion}] \hfill
1070\begin{itemize}
1071\item The \fn{pstogif} script has been rewritten in Perl and it
1072now accepts more options for specifying color depth, scale factors
1073and pixel density.
1074\item LaTeX \texttt{figure} and other environments are now processed
1075in 24-bit color.
1076\item Figure and table captions are now converted into HTML
1077rather than becoming part of the inlined image. This means that
1078any cross-references in the captions will become active.
1079\item It is now possible to control for each generated image:
1080\begin{itemize}
1081\item its size
1082\item whether it should be inlined or left as an external image
1083\item if left as an external image whether it should be accessible
1084via a \htmlref{\textbf{generated thumbnail sketch}}{fig:example}
1085or a textual hypertext link
1086\end{itemize}
1087These options are available from a new LaTeX command defined in {\fn
1088html.sty} called \fn{htmlimage}.
1089
1090\item Equations and other inlined images are converted into
1091transparent GIFs rather than XBMs. \textbf{This makes it possible
1092to reduced their storage requirements to about 1/6th of what was
1093previously required!}
1094\item The default size of equations and other small inlined
1095images can be changed
1096by setting the variable \texttt{MATH\_SCALE\_FACTOR} in the
1097configuration files.
1098\item The default size of figures, tables, and other large
1099inlined images can be changed by setting the variable
1100\texttt{FIGURE\_SCALE\_FACTOR} in the
1101configuration files.
1102
1103\item Dvips is now called with the \texttt{-M} option which stops it
1104from invoking \texttt{METAFONT}.
1105\end{itemize}
1106
1107\item[\textbf{Optimization}] \hfill
1108\begin{itemize}
1109\item Some effort has gone into reducing the amount of memory required
1110during conversion. \textbf{The impact of these changes can be very
1111significant}.
1112In particular, files
1113containing large numbers of LaTeX commands (eg \fn{.aux} or \texttt{.bib})
1114files are handled much better.
1115\end{itemize}
1116
1117\item[\textbf{Backwards Incompatible Changes}] \hfill
1118\begin{itemize}
1119\item The option \texttt{-allbitmaps} has been removed. This is no
1120longer necessary as \latextohtml{} can now generate transparent
1121GIF images.
1122\item The definition of the command \texttt{htmladdnormallink} in the
1123file \fn{html.sty} has changed and the URL will no longer appear
1124as a footnote in the paper (DVI) version. The translation of
1125this command into HTML is \textbf{not} affected.
1126
1127The previous functionality can be obtained with a new command
1128\texttt{htmladdnormallinkfoot} which will add the URL as a footnote
1129in the paper version.
1130\item The script \fn{pstoxbm} is no longer distributed as it is not
1131used.
1132
1133\end{itemize}
1134
1135\item[\textbf{Bug Fixes}] \hfill
1136\begin{itemize}
1137\item The \fn{install-test} script now recognizes version
1138numbers correctly and gives better warnings. It also makes
1139executable any scripts that need to be so.
1140\item Stopped using the \texttt{nslookup} program to try and guess
1141e-mail addresses (they were used in signing each generated page).
1142This has been replaced with a simple call
1143to \texttt{finger}.
1144\item Fixed problem which could cause ``Parameter overflow'' in
1145TeX during image conversion.
1146\item The \fn{texexpand} script has been changed extensively.
1147Some nasty looping problems are now avoided, and the tracking
1148down of included files has been improved.
1149\item Some reported incompatibilities with some Unix shells
1150(bash,OSF) have been fixed.
1151\item Displayed equations now appear correctly on separate
1152lines and are right justified.
1153\item Fixed bug with nested environments.
1154\item Fixed problem which caused the wrong numbers to be assigned
1155to sections with the same titles when the \texttt{-show\_section\_titles}
1156is used (thanks to Brian  Toonen \Email{toonen@mcs.anl.gov}).
1157\item Fixed problem with the \texttt{hyperref} command which
1158caused the wrong ``hyperized'' text to appear in the final document.
1159\item \texttt{item} optional arguments can now contain one level of
1160nesting eg \texttt{item[[First Choice]]}.
1161\item Fixed problems with the ``image caching and reuse'' mechanism
1162which avoids converting images unnecessarily..
1163\end{itemize}
1164
1165\item[\textbf{Other Changes}] \hfill
1166\begin{itemize}
1167\item LaTeX2HTML now generates \HTML{meta} HTML tags which can be used
1168by \htmladdnormallinkfoot{indexing scripts}
1169{http://www.ai.mit.edu/tools/site-index.html}
1170 which generate information for the \htmladdnormallinkfoot{ALIWEB}
1171{http://web.nexor.co.uk/aliweb/bin/aliwebsimple.pl}
1172search and retrieval tool. The information in the \HTML{meta} tags
1173contains
1174the title of each separate HTML file.
1175\item A new configuration variable \texttt{DEBUG} can be used to preserve
1176intermediate files for debugging.
1177\item Some problems with respect to compatibility with the HTML2.0
1178standard have been addressed. No more ``unquoted attribute value literals''.
1179\item All the navigation icons are now ``lynx friendly''; their
1180\texttt{ALT} attribute now has a meaningful value.
1181\item A new LaTeX command \fn{htmlref} makes it a lot simpler
1182to create hypertext links intended only for the HTML version of
1183the document.
1184\item \fn{DVIPSK} is now recognized by the installation script
1185\item Added support for the \fn{changebar.sty} file by
1186David B. Johnson (dbj@titan.rice.edu).
1187\item It is no longer necessary to add style file names into the
1188\texttt{DONT\_INCLUDE} variable as \latextohtml{} now does not
1189attempt to translate file included files ending in \texttt{.sty}.
1190\item The small invisible bitmaps that used to mark anchors have been
1191replaced with the invisible character \verb|&#160;|.
1192\item It is no longer necessary to use full path names when
1193including external postscript files.
1194\item If a file \fn{.latex2html-init} is found in the ``current
1195directory'' then this will be loaded automatically after loading the
1196other default configuration files.
1197\item Changed the naming convention of generated HTML files. The
1198``top'' document is \fn{<FILE>.html} as before but all other ``nodes''
1199are named \fn{nodeN.html} where \fn{N} is an integer. Also, the file
1200containing
1201the footnotes is now called \fn{footnode.html}.
1202\item A special extension to \latextohtml{} for those who use the
1203Harvard style for references can be obtained from
1204\htmladdnormallink{http://www.arch.su.edu.au/\~{}peterw/latex/harvard/}{http://www.arch.su.edu.au/\~{}peterw/latex/harvard/}.
1205\end{itemize}
1206\end{htmllist}
1207
1208
1209\subsection{Changes upto v0.5.3}
1210\begin{itemize}
1211\item The files \fn{LATEX2HTMLDIR/styles/german.perl} and
1212\fn{LATEX2HTMLDIR/styles/makeidx.perl} have been fixed
1213so that they are consistent with changes in the main script.
1214\item A problem with disappearing spaces after some equations
1215and other environments has been fixed.
1216\end{itemize}
1217\subsection{Changes upto v0.5.1}
1218\begin{htmllist}
1219\htmlitemmark{YellowBall}
1220\item[\textbf{Navigation Panel}]
1221The \hyperref{navigation panel}{navigation panel (see section
1222}{)}{sec:navpanel}
1223is now fully configurable and much better looking.
1224\item[\textbf{Automatic Signatures}]
1225The signatures at the bottom of each page are now constructed
1226using \fn{nslookup} (Thanks to Alberto Accomazzi
1227\Email{alberto@cfa.harvard.edu})
1228\item[\textbf{Numerous fixes including...}] \hfill
1229\begin{itemize}
1230\item ``dead'' \fn{next\_page} buttons when the \fn{-split} option
1231was used, and
1232\item internal \latextohtml{} markers appearing in section titles.
1233\end{itemize}
1234\end{htmllist}
1235
1236\subsection{Changes upto v0.4}
1237\begin{htmllist}
1238\htmlitemmark{RedBall}
1239\item[\textbf{Accents and Special Characters}]
1240LaTeX accent commands, special characters and accent commands defined
1241in \fn{german.sty} are translated to equivalent ISO-LATIN-1
1242characters when that is possible (partly thanks to code supplied
1243by Franz Vojik \Email{vojik@de.tu-muenchen.informatik}).
1244\item[\textbf{Auto-loading of Style-Specific Code}]
1245The translator now supports a
1246\hyperref{mechanism for including Perl code extensions}{mechanism for
1247including Perl code extensions (see Section }{)}{sec:sty}
1248which are specific to particular style files.
1249
1250
1251This mechanism will help to keep the core script smaller as well as make
1252it easier for others to contribute and share solutions on
1253how to translate specific style files. The current distribution includes the files
1254\fn{german.perl}, \fn{french.perl}, \fn{html.perl} and \fn{makeidx.perl}.
1255\item[\textbf{Installation and Testing}]
1256To make it easier to install the translator for more than one user
1257there is now a configuration file ({\fn
1258LATEX2HTMLDIR/latex2html.config}) which contains installation specific
1259information and default values for the various options.
1260This makes it unnecessary to have a \fn{HOME/.latex2html-init} for
1261each user.
1262If a user does have a  \fn{HOME/.latex2html-init} then this will be
1263loaded after {\fn
1264LATEX2HTMLDIR/latex2html.config}.
1265
1266A new Perl script (\fn{install-test}) is now available with the distribution
1267which will install the translator, and then perform some tests on the
1268availability
1269of some external
1270programs giving, appropriate warnings.
1271\item[\textbf{Navigation Panel Extensions}]
1272The following new links have been added to the navigation panel which
1273appears in each page
1274(where this is appropriate):
1275\begin{itemize}
1276\item a link to the next ``logical'' page (this allows reading each
1277page in the same order as with a paper-based version - as opposed to
1278structure navigation)
1279\item a link to the previous ``logical'' page
1280\item a link to the table of contents
1281\item a link to the index
1282\end{itemize}
1283\item[\textbf{HTML Style File Extensions}]
1284The HTML style file \fn{html.sty} now includes definitions of new
1285environments for:
1286\begin{htmllist}
1287\htmlitemmark{OrangeBall}
1288\item[Inclusion of Raw HTML]
1289A new LaTeX environment \texttt{rawhtml} allows
1290arbitrary
1291HTML tags to be included in a LaTeX document. This is useful for
1292taking
1293advantage of HTML+ features as they become available (e.g. interactive
1294forms).
1295The HTML commands are ignored when producing the DVI version of the
1296document.
1297\label{sec:cond}
1298\item[Conditional Text]
1299The new environments \texttt{latexonly} and \texttt{htmlonly} allow their
1300contents to appear only in final DVI or in the HTML version of a
1301document respectively.
1302
1303A new command \texttt{hyperref} can be used to specify the way in
1304which cross-references should be shown in the DVI version and the
1305HTML version of the document.
1306\end{htmllist}
1307\item[\textbf{Right Justification of Equations}]
1308The translator
1309adds enough whitespace at the beginning of each equation bitmap
1310to push it to the right-hand margin. The width of each line can be
1311set in the configuration file using the variable \texttt{LINE\_WIDTH}.
1312\item[\textbf{Inlined Images}]
1313All inlined images are now generated by calling \texttt{latex} and {\fn
1314dvips} only once
1315at the end of the conversion process (but each generated image still
1316has to be filtered individually). Also, a warning is given if an
1317image cannot be converted.
1318\item[\textbf{Numeric Labels}]
1319The original (LaTeX generated) numeric labels are used instead of
1320the arrow navigation icon for cross-references where possible.
1321To do this the translator uses the information in the
1322\fn{aux} file which is generated by \LaTeX. If the \fn{aux} file
1323is out of date a warning is given.
1324\item[\textbf{New Options}] \hfill
1325\begin{htmllist}
1326\htmlitemmark{RedBall}
1327\item[\texttt{-auto\_navigation}]
1328This puts a navigation panel
1329at the top of each page as usual. But if the page exceeds a
1330user-settable
1331number of words (the default is 450 words)
1332then a navigation panel is also placed at the end of
1333the page. This option is active by default.
1334\item[\texttt{-index\_in\_navigation}]
1335Adds a link to the index in the navigation panel.
1336\item[\texttt{-contents\_in\_navigation}]
1337Adds a link to the table of contents in the navigation panel.
1338\item[\texttt{-next\_page\_in\_navigation}]
1339Adds a link to the next ``logical'' page in the navigation panel.
1340\item[\texttt{-previous\_page\_in\_navigation}]
1341Adds a link to the previous ``logical'' page in the navigation panel.
1342\item[\texttt{-bottom\_navigation}]
1343This puts a navigation panel at the bottom of each page.
1344\item[\texttt{-top\_navigation}]
1345This puts a navigation panel at the top of each page (the default).
1346\item[\texttt{-show\_section\_numbers}]
1347This allows each section (page) title to be numbered in the same
1348way that it would be numbered by \LaTeX. This requires
1349an up to date \fn{aux} file (generated by running \LaTeX) and that
1350each title is unique. If the \fn{aux} file is not up to date then a
1351warning is given.
1352Unfortunately if
1353the title contains inlined images the numbering for that title will
1354be lost.
1355\item[\texttt{-reuse}]
1356This allows images generated during previous invocations of
1357the translator to be ``reused'' without going through the initial
1358interactive session. The same behavior is obtained by setting
1359the variable \texttt{REUSE} to 1 (the default) in the configuration file.
1360Note that images which may depend on contextual information (e.g. numerical
1361labels) cannot be reused and are always re-generated.
1362\end{htmllist}
1363\item[\textbf{Bug Fixes and Minor Changes}] \hfill
1364\begin{itemize}
1365\item The links from the table of contents in single page documents (created using
1366the option \texttt{-split 0}) is now working as expected.
1367\item Newlines are translated to the \HTML{BR} tag.
1368\item Fixed some problems in dealing with new command macros.
1369\item \fn{texexpand} now respects commented \texttt{input} and
1370\texttt{include} commands. Also (thanks to Franz Vojik
1371\Email{vojik@de.tu-muenchen.informatik}), it
1372now looks in subdirectories when expanding
1373files.
1374\item The ALIGN attribute of inlined images is now BOTTOM instead of
1375TOP.
1376\item Fixed problem with the environment variable \texttt{TEXINPUTS}.
1377\item Added some support for optional user-defined labels (bullets) in
1378list environments.
1379\end{itemize}
1380\end{htmllist}
1381
1382More details on all the changes are available in the file
1383\fn{LATEX2HTMLDIR/Changes}.
1384
1385\subsection{Changes upto v0.3.1}
1386These changes are mostly due to patches contributed by Robert S. Thau
1387\Email{rst@ai.mit.edu}:
1388\begin{itemize}
1389\item Nested environments with the same name are now dealt with
1390properly.
1391\item Commands that are passed to LaTeX for processing which have
1392environments in their arguments (e.g. a \texttt{parbox} command which
1393an \texttt{itemize} environment as an argument) are now
1394processed correctly. A general mechanism for users to
1395specify the syntax of commands that should be passed to LaTeX
1396is described in Page \pageref{pass}.
1397\item Fixed a problem with recognizing the \texttt{special} command.
1398\item Fixed bug in the generation of the index.
1399\end{itemize}
1400
1401\subsection{Changes upto v0.3}
1402\begin{htmllist}
1403\htmlitemmark{YellowBall}
1404\item [\textbf{Image Recycling}]
1405Images for equations, tables, figures, special characters etc. generated by
1406the translator are recognized  during subsequent runs.
1407The user is then asked whether old images should be reused
1408(or whether the old images should be deleted and regenerated).
1409This offers tremendous improvements in speed after an initial
1410successful translation.
1411
1412\item [\textbf{Cross-References Between (Local or Remote) Documents}]
1413Cross-references between
1414two or more documents (possibly on remote locations) can be
1415established via symbolic labels
1416which are independent of the physical realization of these documents.
1417
1418Such cross-references will be maintained with a simple
1419re-translation\footnote{This is true for documents under the same
1420server but for remote documents a little more is required (see
1421the \hyperref{example}{example in Section}{}{crossrefs})}
1422even after one or more of the documents have been broken into
1423different physical parts or moved.
1424
1425The mechanism is based on the
1426\hyperref{new commands}{new commands (see Section }{ )}{external}
1427\texttt{externallabels} and \texttt{externalref} which are an extension of the simple
1428\texttt{label-ref} pairs.
1429
1430\item [\textbf{New Options}] \hfill
1431\begin{htmllist}
1432\htmlitemmark{GreenBall}
1433\item [\texttt{external\_images}] This provides hypertext links to where
1434generated images (for equations, tables, figures etc) are stored
1435externally. (The default is to ``inline'' generated images in the main body
1436of the text.)
1437\item [\texttt{ascii\_mode}] This switches all the navigation icons to their
1438ascii equivalents. Also generated images are stored externally as with the
1439\texttt{external\_images} option above. The \texttt{ascii\_mode} option
1440makes documents more portable as it allows them to be
1441viewed on browsers that do not support inlined images.
1442\end{htmllist}
1443\item [\textbf{Special Command Style File}] A style file \htmladdnormallink{\fn{html.sty}}
1444{http://cbl.leeds.ac.uk/nikos/tex2html/doc/html.sty.txt} is now included in the
1445distribution. This contains the definitions (syntax) of some
1446special LaTeX commands mainly for providing external hypertext
1447links.
1448This should be included in LaTeX files that use the any
1449\hyperref{hypermedia extensions}{hypermedia extensions (see Section}{ )}{special}.
1450
1451\item [\textbf{Minor Changes and Bug Fixes}] \hfill
1452\begin{itemize}
1453\item Equations, equation arrays and theorems are now numbered
1454correctly even when they are individually passed to LaTeX for
1455processing.
1456\item Fixed problem with \texttt{label} commands appearing in section
1457headings.
1458\item Fixed problems with verbatim environments, bibliography items,
1459  generated file names, the options \texttt{nolatex} and
1460  \texttt{no\_navigation}, the \texttt{thanks command}, the name of an
1461  HTML tag (\HTML{HEAD}),
1462\item The appearance of footnotes has been improved.
1463\item Some inconsistencies in the \fn{pstoxbm} and \fn{pstogif}
1464 scripts have been fixed.
1465\item Parts of the documentation have been rewritten, restructured and
1466some new sections have been added.
1467\end{itemize}
1468\end{htmllist}
1469
1470\textbf{The following were contributed by Robert S. Thau
1471\Email{rst@ai.mit.edu}:}
1472
1473\begin{htmllist}
1474\htmlitemmark{WhiteBall}
1475\item [\textbf{New Texexpand}]
1476This fixes problems with the standard version and
1477handles the inclusion of style files which need to processed by the
1478translator. Appropriate modifications to the main script were also
1479made to work with new version of \fn{texexpand}.
1480
1481\item [\textbf{Handling of Raw \TeX}]
1482Added support for simple raw TeX commands such as
1483\texttt{special} and simple instances of \texttt{def}\footnote{Where
1484``simple'' is defined roughly
1485as ``they could have used \texttt{newcommand}, but didn't''.}.
1486For the messier cases,
1487the definition is scooped up and moved to the preamble.  This allows
1488the translator to handle the simple, but nonstandard, postscript figure inclusion
1489macros as well as an awful lot of other stuff done with gratuitous
1490\texttt{defs}.
1491\item [\textbf{More Options}] \hfill
1492\begin{htmllist}
1493\htmlitemmark{PinkBall}
1494\item [\texttt{dont\_include}]
1495This can be used  to specify style files that
1496should not be included in the translation.
1497\end{htmllist}
1498\item [\textbf{Other Changes}] \hfill
1499\begin{itemize}
1500\item Added support for nested math mode expressions and general
1501list environments in order to handle \emph{the document from Hell!!!}.
1502\item Fixed problems in the translation of
1503bibitems, the substitution of macro definitions, and the processing of
1504unrecognized commands in the preamble.
1505\end{itemize}
1506\end{htmllist}
1507\subsection{Changes upto v0.2}
1508\begin{itemize}
1509\item Added a command line option
1510to switch off the navigation links
1511at the top of each page.
1512\item The navigation icons are now part of the distribution.
1513\item Added a customizable separator between the main body of the text
1514in a page and the child links from that page.
1515\item The order of the navigation keywords at the top of each page is
1516the same as that of the navigation icons.
1517\item The arguments of \texttt{verbatim} environments are now translated
1518into fixed width fonts.
1519\item A warning is given if a \texttt{bbl} (bibliography) file is
1520needed but not found.
1521\item The installation is now (mostly) done by setting variables in
1522just one file.
1523\item The \fn{pstoxbm} script now uses environment variables
1524set in the initialization file.
1525\item Fixed bug in translating sequences of special HTML characters
1526(e.g. \&, $<$, etc.)
1527\item Fixed bug in the handling of the \verb|$$|-form of the dislay
1528math environment.
1529\item Fixed bug in the handling of the *-forms of environments.
1530\item Added sections on how to embed hyperlinks in a LaTeX document
1531(see Page \pageref{sec:hyper}) and on how to extend the translator
1532(see Page \pageref{sec:extend}) in the documentation.
1533\end{itemize}
1534
1535\subsection{Changes upto v0.1.1}
1536\begin{itemize}
1537\item Fixed bug about empty lines being inserted in environments that
1538cannot tolerate them (e.g. \texttt{math}).
1539\item Changed the format of inlined images coming back from LaTeX
1540from GIF to XBM. This looks better on grayscale and color monitors.
1541\item Fixed problem with commands being passed on to LaTeX  after
1542their
1543arguments had been translated (this affects the commands
1544\texttt{psfig}, \texttt{fbox}, \texttt{framebox}, and \texttt{parbox}).
1545\end{itemize}
1546