[tex4ht] [bug #477] Support for new LaTeX hook management
Ulrike Fischer
fischer at nililand.de
Tue Apr 18 16:30:22 CEST 2023
>> while there certainly can/will be problems, this error here seems to be
>> unrelated to \DocumentMetadata. I get an error with make4ht also for this:
>>
> thanks for this example. You are right. It seems that packages added
> in \AddToHook{begindocument/before} or \AtBeginDocument are ignored
> too. It is strange because I thought .4ht files captured them, but
> they are not.
> I was able to fix these hooks issues by manually calling:
> \ifdefined\UseHook
> \UseHook {begindocument/before}
> \UseHook {begindocument}
> \RemoveFromHook{begindocument/before}
> \RemoveFromHook{begindocument}
> \fi
This won't fix the error with \DocumentMetadata as the
testphase code loads there amsmath not with the standard hooks but in
our own hook:
\tl_gput_right:Nn \@kernel at before@begindocument
{ \RequirePackage { amsmath } }
(which doesn't look right, but moving it to
\@kernel at after@begindocument at before doesn't work either).
We could probably load amsmath earlier, but naturally the problem
could reappear with other packages or code.
> in redefinition of the \document command in tex4ht.sty. I wonder if it
> wouldn't break something else, as in the original version of
> \document, the begindocument hook is called much later, after setting
> various variables. It can break some things in theory. However, the
> variables are mainly related to line width and similar stuff, which
> don't matter much in the conversion process.
Well I know that rewriting such patches is hard, but this \document
redefinition looks very fragile. Sadly I can't make a concrete suggestion
how to change it as I have no idea what all the code is doing and what
should come before and after other things.
Ulrike
More information about the tex4ht
mailing list.