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
