子图标题中的 \overleftarrow

子图标题中的 \overleftarrow

编译成功。

\documentclass{article}
\usepackage{subfig}
\begin{document}

test: $\overleftarrow{a}$

\begin{figure}
    %\subfloat[Subcaption $\overleftarrow{a}$]{\framebox[3cm]{First}}
    \subfloat[Subcaption $b$]{\framebox[3cm]{Second}}
\end{figure}

\end{document}

我在子浮点的标题中放置了一个数学模式。在下一个示例中,我放置了数学模式和 \overleftarrow,尽管它给出了正确的输出,但却产生了错误。

\documentclass{article}
\usepackage{subfig}
\begin{document}

test: $\overleftarrow{a}$

\begin{figure}
    \subfloat[Subcaption $\overleftarrow{a}$]{\framebox[3cm]{First}} \hfill
    \subfloat[Subcaption $b$]{\framebox[3cm]{Second}}
\end{figure}

\end{document}

错误:

ERROR: Illegal parameter number in definition of \sf@captionlist.
--- TeX said ---
<to be read again> 
               \crcr 
l.10 ...\overleftarrow{a}$]{\framebox[3cm]{First}}

为什么会有错误?

答案1

您需要使用\protect

\documentclass{article}
\usepackage{subfig}
\begin{document}

test: $\overleftarrow{a}$

\begin{figure}
    \subfloat[Subcaption $\protect\overleftarrow{a}$]{\framebox[3cm]{First}} \hfill
    \subfloat[Subcaption $b$]{\framebox[3cm]{Second}}
\end{figure}

\end{document}

相关内容