Hi Robin, and others,

On 16/03/2005, at 4:34 AM, Robin Fairbairns wrote:

\ifx\undefined\hyperref
 \ifx\pdfoutput\undefined \let\pdfunknown\relax
  [EMAIL PROTECTED]
 \else
  \ifx\pdfoutput\relax \let\pdfunknown\relax
   [EMAIL PROTECTED]
  \else
   [EMAIL PROTECTED]
  \fi
 \fi
\else
 [EMAIL PROTECTED]
\fi

now, in a modern latex, \pdfoutput is always going to be a primitive,
so the above is never going to believe it's running plain latex even
when it is.  the check should "\pdfoutput defined && \pdfoutput>0" --
this was always the case, except now it bites everyone rather than
people who do marginal things.

it may be that there's something newer than 2002-2-1, but my mirror's
not picked it up (latex2html gets into ctan via the cambridge node).
whatever, whoever writes this stuff should look at
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ifpdf if they've not
already tidied up the above code.

While I agree with what you say about detecting which mode pdfetex now runs in, that is not really what the above code is doing. It cannot be the cause of loading hyperref.sty with the wrong driver, since html.sty makes no mention of which driver to load --- it simply wants to know whether it is loaded already, and if not there are some circumstances when it forces it to load.


The problem reported by Mike Fabian in fact has nothing to do with hyperref driver after all.

Instead it is a symptom of bugs that have been dormant in both
 html.sty  and  hyperref.sty  for some time now,
concerning the  \htmladdimg  and  \hyperimage  commands.


Here's a patch to fix html.sty :


--- /usr/local/teTeX/share/texmf-local/tex/latex/html/html.sty Tue Sep 3 17:09:33 2002
+++ test/html.sty Thu Mar 17 21:44:43 2005
@@ -74,7 +74,7 @@
\ifx\pdfunknown\relax
[EMAIL PROTECTED]
\else
- \def\htmladdimg#1{\hyperimage{#1}}
+ \def\htmladdimg#1{\hyperimage{#1}{[#1]}}
\fi



@@ -538,7 +538,7 @@ \ifx\pdfunknown\relax \renewcommand{\htmladdimg}[2][]{} \else - \renewcommand{\htmladdimg}[2][]{\hyperimage{#2}} + \renewcommand{\htmladdimg}[2][]{\hyperimage{#2}{[#2]}} \fi

 %%% HTMLRULE for LaTeX2e



Notice that formerly \hyperimage was being called with
only a single argument, when it is in fact expecting 2 of them.

This error is perhaps due to the fact that on page 45
of "The LaTeX Web Companion" it is described as having just
a single argument --- even though it isn't implemented
that way within  hyperref.sty .


This still leaves an error in hyperref.sty in the following chunk of coding:

  \let\htmladdimg\hyperimage
  \def\htmladdnormallink#1#2{\href{#2}{#1}}
  \def\htmladdnormallinkfoot#1#2{\href{#2}{#1}\footnote{#2}}

Here the aim is for hyperref to process LaTeX source that was
actually written for use with LaTeX2HTML. However, the line

    \let\htmladdimg\hyperimage

is quite wrong, since the two commands take different
numbers/shapes of arguments:

    \htmladdimg [ ...HTML specific stuff... ] {<URL>}

    \hyperimage {<image URL>}{<anchor text>}

It would be better to have a definition here of the form:

   \providecommand{\htmladdimg}[2][]{\hyperimage{#2}{[#2]}}


Note that if the LaTeX document loads html.sty then this defect in hyperref.sty is bypassed. Only if the source was written for LaTeX2HTML, but the author a. failed to load html.sty , and b. uses the \htmladdimg command is there any problem. This is very rare, and technically incorrect --- but stranger things have happened.

The incorrect documentation in LWC is likely to
cause more problems.



I hope this helps everyone get LaTeX2HTML working
again on their own platforms, with  pdfetex .


Cheers,

        Ross



robin

------------------------------------------------------------------------
Ross Moore                                         [EMAIL PROTECTED]
Mathematics Department                             office: E7A-419
Macquarie University                               tel: +61 +2 9850 8955
Sydney, Australia                                  fax: +61 +2 9850 8114
------------------------------------------------------------------------

_______________________________________________
latex2html mailing list
[email protected]
http://tug.org/mailman/listinfo/latex2html

Reply via email to