使用 subfloat 和 amsmath 对齐的图形问题

使用 subfloat 和 amsmath 对齐的图形问题

我正在尝试在 subfloat 块中使用包 subfig 和 amsmath align(以便对齐方程式)。是否存在不兼容问题,或者我做错了什么?详情如下。这是我的问题,我的代码:

\begin{figure}
    \centering
    \subfloat[First]{
        \begin{align*}
          ciao &= 2\\
          ciao &= 3
        \end{align*}}
    \subfloat[First]{
        \begin{align*}
          ciao &= 2\\
          ciao &= 3
        \end{align*}}    
\end{figure}

我收到错误(在 ShareLatex 中)

缺少插入的 \endgroup。

\endgroup l.374 \end{align*}} 我插入了一些你可能忘记的内容。(见上文。)运气好的话,这会让我解开。但如果你真的没有忘记任何东西,现在试着输入“2”;然后我的插入和我当前的困境都会消失。

此代码(在 subfloat 中使用)...:

\begin{align*}
          ciao &= 2\\
          ciao &= 3
\end{align*}

...但移出子图就可以正常工作。

此外,subfloat[]{} 内部包含纯文本的图形也可以正常工作。(我只收到了 \hbox 未满的警告,我不知道这是什么意思,但我认为“图形内部的内容不够多”)

任何建议都值得赞赏。问候

答案1

这实际上与以下内容无关\subfloat;您可能会遇到同样的问题

\mbox{\begin{align*}...\end{align*}}

还有类似

\subfloat[Label]{%
   This is paragraph one.

   This is paragraph two.
}

不是生成两个段落。原因是,为了生成段落,TeX 需要知道行宽,而生成水平框时不会设置行宽。A\subfloat也在水平框中处理。

您可以使用内联公式来解决这个问题

\subfloat[First]{% <-- don't forget
    $\begin{aligned}
      ciao &= 2\\
      ciao &= 3
    \end{aligned}$}

相关内容