如何建立新的子浮點?

如何建立新的子浮點?

使用\newfloat,可以創建新的浮動環境,如中所示在帖子中,我創建了一個名為的新浮點數suppfig,但我想在其中添加子圖。當我簡單地在其中添加子圖時,我收到訊息:

沒有subsuppfig定義計數器。

當我新增一個名為 subsuppfig 的計數器時\newcounter{subsuppfig},我得到

非法計量單位(插入 pt)。

如何定義新的 subfloat 環境?


代碼:

\documentclass{article}
\usepackage{float,subcaption,graphicx}

\begin{document}

\newfloat{suppfig}{tbh}{supp}
\floatname{suppfig}{Supplementary Figure}
\begin{suppfig}[H]
  \centering
  \begin{subfigure}{\textwidth}
    \centering
    \caption{ }
    \includegraphics[width=\textwidth]{example-image-a}
  \end{subfigure}

  \begin{subfigure}{\textwidth}
    \centering
    \caption{ }
    \includegraphics[width=\textwidth]{example-image-b}
  \end{subfigure}
  \caption{...figurecaptions...}
\end{suppfig}
\end{document}

答案1

使用 package newfloat,一個旨在與caption朋友良好合作的套件。

\documentclass{article}
\usepackage{newfloat}
\usepackage{subcaption}
\DeclareFloatingEnvironment[name={Supplementary Figure}]{suppfigure}
\begin{document}
\begin{suppfigure}
    \begin{subsuppfigure}{.45\textwidth}
        \centering\rule{.9\linewidth}{2cm}
    \caption{a small supplementary figure}
\end{subsuppfigure}\hfill%
    \begin{subsuppfigure}{.45\textwidth}
        \centering\rule{.9\linewidth}{2cm}
    \caption{another small supplementary figure}
\end{subsuppfigure}
\caption{And a captin for all of them}
\end{suppfigure}
\end{document}

答案2

subcaption使用時效果很好(以自動方式)newfloat用於浮動創建。但是,如果您正在使用float或者floatrow,你必須自己跑腿。

以下摘自subcaption文件(部分5\DeclareCaptionSubType命令):

為了使用套件的子標題功能,caption必須準備一些命令和計數器。這是用完成的

\DeclareCaptionSubType[<numbering scheme>]{<type>}
\DeclareCaptionSubType*[<numbering scheme>]{<type>}

對於環境figure&table以及所有由包\DeclareFloatingEnvironment提供的環境,這將自動完成,但對於其他環境(例如由包提供的newfloat環境或由包提供的環境),這必須手動完成。\newfloatfloat\DeclareNewFloatTypefloatrow

在此輸入影像描述

\documentclass{article}
\usepackage{float,graphicx,subcaption}


\newfloat{suppfig}{tbh}{supp}
\floatname{suppfig}{Supplementary Figure}
\DeclareCaptionSubType{suppfig}
\renewcommand{\thesubsuppfig}{\Alph{subsuppfig}}

\begin{document}

\begin{suppfig}[H]
  \centering
  \begin{subfigure}{\textwidth}
    \centering
    \caption{First subcaption}
    \includegraphics[width=.6\linewidth]{example-image-a}
  \end{subfigure}

  \begin{subfigure}{\textwidth}
    \centering
    \caption{Second subcaption}
    \includegraphics[width=.6\linewidth]{example-image-b}
  \end{subfigure}
  \caption{Figure caption}
\end{suppfig}

\end{document}

相關內容