引用 subcaptionbox 會導致 htlatex 出現錯誤

引用 subcaptionbox 會導致 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(顯然,在兩次傳遞中),並且htlatex如果我刪除\ref.有了\ref,htlatex就順利完成了第一個 LaTeX 傳遞,然後在第二個傳遞中我得到了這個:

    ! 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 輸出中產生獨特類別的範圍,因此無法將 CSS 應用於子標題。

相關內容