サブキャプションボックスを参照するとhtlatexでエラーが発生する

サブキャプションボックスを参照するとhtlatexでエラーが発生する

MWE は次のとおりです。

    \documentclass[12pt]{article}

    \usepackage[compatibility=false]{caption}
    \usepackage{subcaption}

    \begin{document}

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc aliquam,
    ex et sollicitudin aliquet, magna elit mattis nunc, sed blandit sapien
    mi vel risus. Sed sed efficitur nibh. Lorem ipsum dolor sit amet,
    consectetur adipiscing elit.

    \begin{figure}%
    \subcaptionbox{\label{foo}(a)}{}
    \subcaptionbox{(b)}{}
    \caption{(a) Lorem ipsum dolor sit amet, consectetur adipiscing elit;
    (b) nunc aliquam, ex et sollicitudin aliquet, magna elit mattis nunc.}
    \end{figure}

    Morbi pretium (fig.~\ref{foo})%
    , turpis sit amet tristique luctus,
    sapien ipsum feugiat diam, et volutpat erat sapien ac massa. Aliquam
    erat volutpat.

    \end{document}

これは、 で正しくコンパイルされますpdflatex(当然、2 回のパスで)。htlatexを削除すればも正しくコンパイルされます\ref。 を使用すると\refhtlatex最初の LaTeX パスは問題なく通過し、2 回目のパスでは次のようになります。

    ! Missing \endcsname inserted.
    <to be read again> 
                       \protect 
    l.20 Morbi pretium (fig.~\ref{foo}
                                      )%
    ? 

    Package caption Warning: \label without proper reference on input line 14.
    See the caption package documentation for explanation.

    LaTeX Warning: Reference `foo' on page 4 undefined on input line 20.

    ! Extra \endcsname.
    \:::HRefTag ...sname cw:)Q\aXrefFile #1\endcsname 
                                                      \relax \:warning {\string ...
    l.20 Morbi pretium (fig.~\ref{foo}
                                      )%
    ?

この問題は ? の catcode と関係があるのではないかと思います。:あるいは、そうでないかもしれませんが、とにかく、どうすればいいのかわかりません。

ところで、最初は を使用しようとしましたsubfigureが、\captionサブ図内のコマンドでは HTML 出力に固有のクラスの span が生成されず、サブキャプションに CSS を適用する方法がありませんでした。

関連情報