It seems like a bug in TeX4ht support for the \hyperref
command. It uses the \ref
command internally, so when the linked label is not found, it will print ??
to signalize the missing reference. As you don't have any other
label in your document, you get this missing reference sign.
You can use the following config file to mimic the \hyperref
behavior, which prints the text even when reference is missing:
\Preamble{xhtml}
\makeatletter
\def\label@hyperref[#1]{%
\expandafter\label@@hyperref\csname r@#1\endcsname{#1}%
}%
\def\label@@hyperref#1#2#3{%
\ifx#1\relax
\protect\G@refundefinedtrue
\@latex@warning{%
Hyper reference `#2' on page \thepage \space undefined%
}%
\begingroup
\hyperrefundefinedlink{#3}%
\endgroup
\else%
\def\hyperrefLabel{#3}%
\Configure{ref}%
{\Link}{\EndLink}{\Configure{ref}{}{}{}#3}\ref{#2}%
\fi
}
\makeatother
\begin{document}
\EndPreamble
compile using:
make4ht -c config.cfg minimal.tex "mathml"
This is the result:
\label{other}
command anywhere. Once you add that, it works for me.