\sf@@@subfloat 的参数有一个额外的 } - 它是什么?

\sf@@@subfloat 的参数有一个额外的 } - 它是什么?
\begin{figure}
    \centering
    \subfloat[Funkcja $f(x)=\sin(x)$ jest ciągła.]{\includegraphics[width=0.5\textwidth]{funkcja_ciagla}}
    \hfill
    \subfloat[Funkcja $f(x)=\begin{cases} x^2 & x \leqslant  0\\1-x & x>0\protect\end{cases}$ jest nieciągła -- nie da się jej narysować nie odrywając ołówka od kartki (zauważ też, że $\displaystyle\lim_{x\rightarrow 0^{-}}f(x)=0\neq 1=\displaystyle\lim_{x\rightarrow 0^{+}}f(x)$).]{\includegraphics[width=0.5\textwidth]{funkcja_nieciagla}}
\end{figure}

为什么此代码会产生错误:

Argument of \sf@@@subfloat has an extra }. ...s[width=0.5\textwidth]{funkcja_nieciagla}}

这个错误是什么意思?我该如何解决它?

答案1

第二个问题是标题中的\subfloat环境cases。可选参数有两个用途:确定标题和为浮点列表提供文本。将文本移动到浮点列表对环境来说效果不佳cases

解决方案:使用 的第二个可选参数为浮点数列表提供单独的文本(例如,如果没有这样的列表,则为空文本)\subfloat。事实上,将cases环境放在浮点数列表中是没有意义的。

\subfloat[Text for list of floats, if any]%
         [Text for caption]%
         {Body of subfigure}

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{amsmath,amssymb}
\begin{document}
\begin{figure}
  \centering
  \subfloat
    []% <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    [Funkcja
    $f(x)= \begin{cases}x^2 & x \leqslant 0\\1-x & x>0 \end{cases}$
    jest nieciągła -- nie da się jej narysować nie odrywając ołówka od
    kartki (zauważ też, że
    $\displaystyle\lim_{x\rightarrow 0^{-}}f(x)=0\neq
    1=\displaystyle\lim_{x\rightarrow
      0^{+}}f(x)$).%
    ]%
    {\includegraphics[width=0.5\textwidth]{example-image-a}}
\end{figure}
\end{document}

在此处输入图片描述

答案2

当我尝试在子浮点标题中插入 itemize 环境时,也遇到了同样的错误,如下所示:

\subfloat[some text \begin{itemize} \item{one} \item{two} \end{itemize}]{\includegraphics...}

这给了我错误:

\sf@@@subfloat 的参数有一个额外的 }

按照 gernot 的建议简单地重写:

\subfloat[][some text \begin{itemize} \item{one} \item{two} \end{itemize}]{\includegraphics...}

完成了工作!

相关内容