floatrow 包中的 subfloatrow 在没有子标题的情况下无法工作

floatrow 包中的 subfloatrow 在没有子标题的情况下无法工作

我有两张图片,我想使用该floatrow包将它们作为子部分放置。如果我为这些部分添加子标题,以下示例将有效,但如果我省略它们,则无效。

我不想为这些部分添加任何子标题。是我做错了什么还是这是一个错误?

这是一个最小的工作示例:

\documentclass{article}

\usepackage[demo]{graphicx}
\usepackage{caption,subcaption}
\usepackage{floatrow}

\begin{document}

    \begin{figure}
      \ffigbox{%
        \begin{subfloatrow}[2]%
          \ffigbox{%
            \includegraphics[width=3cm,height=3cm]{fig1}%
          }{
            %\subcaption{} %% does not work without
          }%
          \ffigbox{%
            \includegraphics[width=3cm,height=3cm]{fig2}%
          }{
            %\subcaption{} %% does not work without
          }%
        \end{subfloatrow}% 
      }{
        \caption{A caption}
      }
    \end{figure}

\end{document}

答案1

您可以使用该\phantomcaption命令实际上跳过子图的标题。

\documentclass{article}

\usepackage[demo]{graphicx}
\usepackage{subcaption}


\begin{document}

\begin{figure}

\begin{subfigure}{0.5\textwidth}\centering
\includegraphics[width=3cm,height=3cm]{fig1}%
\phantomcaption
\label{fig:subfiga}
\end{subfigure}

\begin{subfigure}{0.5\textwidth}\centering
\includegraphics[width=3cm,height=3cm]{fig1}%
\phantomcaption
\label{fig:subfigb}
\end{subfigure}

\caption{A caption}
\label{fig:thefig}
\end{figure}

\end{document}

在此处输入图片描述

答案2

您可以使用带空参数的带星号的版本\subcaption;您还需要纠正垂直间距,删除默认的标题跳过(-10pt):

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption,subcaption}
\usepackage{floatrow}

\begin{document}

\begin{figure}
\floatsetup[subfigure]{captionskip=-10pt}%
\ffigbox{%
  \begin{subfloatrow}[2]%
    \ffigbox{\includegraphics[width=3cm,height=3cm]{fig1}}{\subcaption*{}}%
    \ffigbox{\includegraphics[width=3cm,height=3cm]{fig2}}{\subcaption*{}}%
  \end{subfloatrow}% 
}{\caption{A test caption}}
\end{figure}

\end{document}

在此处输入图片描述

相关内容