\section{Known Problems} \index{problems} \index{bugs} Here are some of the problems of the current version: \begin{htmllist} \htmlitemmark{PurpleBall} \item [Correctness and Efficiency\index{efficiency}] The translator cannot be guaranteed to perform as expected. Several aspects of the implementation need optimization and improvement. \item [Memory and Time Usage] Apart from possible bugs the translator may place heavy demands on your resources. The memory that \latextohtml\ needs for translation ranges between 8 - 10 Megabytes for simple documents and goes soon beyond 30 Megabytes for more complicated documents. This depends upon the length of the document sections and the amount of self-defined commands. A resort for machines with small memory could be to choose document segmentation (Section \ref{Segmentation}). Memory usage also heavily depends on your Perl version. Perl4.036, Perl5.000, Perl5.001, and Perl5.002 are deprecated for the use with \latextohtml, some things really take too much memory with these versions. Large document sections also need notable more time to translate than smaller ones. The translation time mainly is determined by the number of figures, math equations, or tables. With an amount of more than a dozen, say, images to generate, \latextohtml\ will almost need all the time to work on the image conversion. This behaviour will vanish when you configure \latextohtml\ to work in EPS mode, available with the 96.2 release. \latextohtml\ usually finishes its job for an average 60 page document with a handful figures within several minutes. However, a 250 page manual with a large number of cross-references was reported to take on a Sparc4 the amount of 21 hours and 380 Megabytes of memory. \item [Unrecognized Commands and Environments \index{unrecognized commands}] Unrecognized commands are ignored and any arguments are left in the text. Unrecognized environments are passed to LaTeX and the result is included in the document as one or more inlined images. \item [Cross-references\index{cross-references}] References in environments that are passed to LaTeX for processing (e.g. a \texttt{cite}, or a \texttt{ref} command), are not processed correctly. \texttt{label} commands are handled correctly. \item[Order-Sensitive Commands] 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. \texttt{newcounter, setcounter, stepcounter}, etc) commands may cause problems. \item [Index\index{index}] The translator generates its own index by saving the arguments of the \texttt{index} command. The contents of the \texttt{theindex} environment are ignored. \item[New Definitions\index{new definitions}] New definitions (\texttt{newcommand}, \texttt{newenvironment}, \texttt{newtheorem} and \texttt{def}), will not work as expected if they are defined more than once. Only the last definition will be used throughout the document. \item [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. \item [Math mode font size changes] Math mode font changes made outside the math mode are not honored. Thus the two equations in \begin{verbatim} $a_b$ and {\LARGE $a_b$} \end{verbatim} would come out looking the same. The trick is to write \begin{verbatim} $a_b and $\mbox{\LARGE $a_b$}$. \end{verbatim} \end{htmllist} % do not remove this magic marker vv %%% START FAQ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Troubleshooting} \index{debugging} \index{problems} \index{fixes} Here are some curable symptoms: \begin{htmllist} \htmlitemmark{BlueBall} \item [Cannot run any of the Perl programs] If your Perl installation is such that Perl programs are not allowed to run as shell scripts you may be unable to run \fn{latex2html}, \fn{texexpand} \fn{pstogif} and \fn{install-test}. In this case change the first line in each of these programs from \begin{verbatim} #!/usr/local/bin/perl \end{verbatim} \emph{to} \begin{verbatim} : # *-*-perl-*-* eval 'exec perl -S $0 "$@"' if $running_under_some_shell; \end{verbatim} \item [Cannot run any of the Perl programs \#2]\hfill\\ They prompt sth. like \fn{Command not found}. Check the first line of the program. The path you see there must point to Perl! If you see eg. \verb|#!/usr/local/bin/perl|, type \begin{verbatim} which perl \end{verbatim} If they differ, adapt the first lines of any Perl script (currently \fn{pstoimg}, \fn{texexpand}, \fn{makemap}, and \fn{latex2html}), or talk to your system administrator to add a link to perl in \fn{/usr/local/bin} (this is recommended). \item [Cannot run \fn{latex2html}]\hfill\\ \fn{latex2html} prompts sth. like \fn{di: Command not found} or \fn{di: not found}. You must have Perl installed to use \latextohtml, you can't run it by your shell. \item [\fn{latex2html} exits with one of these messages:]\hfill \begin{enumerate} \item \verb/no DBM on this machine.../, \item \verb/AnyDBM_File.pm did not return a true value.../, \item \verb/Can't locate AnyDBM_File.pm in @INC.../ \end{enumerate} Perl is not installed properly. In particular, these errors occur when Perl binaries are installed without the Perl library, or when the Perl binaries or library is moved to another location after installation. The resort is to re-install Perl by running its configure script, invoking the Makefile, etc., or to get a complete Perl distribution with includes the Perl library. \item [Trouble with the images in my \latextohtml\ Manual] If you have installed the PBM tools beforehand, there could sth. went wrong and the tools won't work. This problem is known yet to HP users only. Since the PBM tools are a bit awkward to install on HP-UX, try to download compiled binaries somewhere. A possible location is http://hpux.csc.liv.ac.uk/, in \htmladdnormallink {http://hpux.csc.liv.ac.uk/hppd/hpux/X11/Graphics/netpbm-1mar94/} {http://hpux.csc.liv.ac.uk/hppd/hpux/X11/Graphics/netpbm-1mar94/} . \item [Don't know how to compile the PBM tools on HP-UX] Since the PBM tools are a bit awkward to install on HP-UX, try to download compiled binaries somewhere. A possible location is http://hpux.csc.liv.ac.uk/, in \htmladdnormallink {http://hpux.csc.liv.ac.uk/hppd/hpux/X11/Graphics/netpbm-1mar94/} {http://hpux.csc.liv.ac.uk/hppd/hpux/X11/Graphics/netpbm-1mar94/} . \item [Only two HTML files produced with no contents] \latextohtml\ did only produce a main page with links to \fn{node1.html}, which contains nothing of your document. This is mainly related to Linux users. Perl needs to invoke the \fn{csh} to perform globbing (eg. to locate \verb/TMP_*/ files). On Linux, there's usually the \fn{tcsh} linked to \fn{csh}, but this is often missing. To fix this, you need to follow several steps: \begin{enumerate} \item Check for the \fn{tcsh}, and install it if you don't have it. Take it from (randomly chosen site follows): \htmladdnormallink {file://ftp.cs.uni-sb.de/pub/systems/shells/tcsh/tcsh-6.06.tgz} {file://ftp.cs.uni-sb.de/pub/systems/shells/tcsh/tcsh-6.06.tgz} but it is surely part of some Linux distribution for your PC, so you won't really need to compile it. \item Link the \fn{tcsh} to \fn{csh}. Eg. say \verb|ln -s /usr/local/bin/tcsh /bin/csh|, or whereever you have your \fn{tcsh}. \item If \latextohtml\ still fails, say \verb/perl -e 'print $INC[1]'/. This should prompt the directory where the Perl library resides. Step into this directory, and say \verb/grep full_csh Config.pm/. The right hand value tells you where Perl wants the \fn{csh}. Link the \fn{tcsh} to this place. \end{enumerate} \item [It just stops] Check the style files that you are using. It is likely that you are using a style file which contains raw TeX commands. In such a case start \latextohtml{} with the option \texttt{-dont\_include \Meta{style file name}}. Alternatively, add the name of the style to the variable \texttt{DONT\_INCLUDE} in your \fn{HOME/.latex2html-init} file. If you don't have such a file then create one and add the lines: \begin{verbatim} $DONT_INCLUDE = "$DONT_INCLUDE" . ":