[l2h] problems with missing '\makeatletter' in images.tex

Volker H. Simonis Volker H. Simonis" <simonis@informatik.uni-tuebingen.de
Sat, 06 Nov 1999 21:31:01 +0000


hy ross,

after upgrading from 98.2 to 99.2beta5 i found one more problem.
the older version (98.2) wrote a '\makeatletter' command right
after '\documentclass' in the file 'images.tex'.

the new version (99.2beta5) doesn't do this anymore (why?).
for the files i tried, it inserts a '\RequirePackage{ifthen}'
right after '\documentclass' and nothing more.

my problem is that i include a private stylefile which uses the
'keyval.sty' packeage and defines some labels in the following
manner: '\define@key{vhs}{label}{\def\vhsLabelName{#1}}'.

without '\makeatletter' this leads to errors during the creation
of the pictures. (as for me there first side in 'images.dvi' always
contains some rubish, thus makeing the first image beeing rubish 
too and shifting all another images one index to far)

as for me, the following 'patch' works fine:
replace line 6686 of latex2html from:

$preamble =~ s/(\\document(class|style)(\[[^\]]+\])?\{\w+\})/$1\n\\RequireP\ackage{ifthen}\n/

to:

$preamble =~ s/(\\document(class|style)(\[[^\]]+\])?\{\w+\})/$1\n\\RequireP\ackage{ifthen}\n\\makeatletter\n/


unfortunately i don't know perl at all. i suppose this change has to
be done in "latex2html.pin" as well, or only there and then relaunch
conigure/make.

this 'patch' just inserts the '\makeatletter' command even if
'\RequirePackage{ifthen}' is used. it seems to me as if '\makeatletter'
is only omitted if '\RequirePackage{ifthen}' is used. (perhaps the one
who introduced '\RequirePackage{ifthen}' forgot it? )

again, i don't now perl and i don't know exactly what consequences 
'\makeatletter' will have for other people. if nobdy has arguments against 
its use, for me it would be great if it would be inserted in the official
distribution.

bye

volker