Como criar novos subflutuantes?

Como criar novos subflutuantes?

Usando \newfloat, novos ambientes flutuantes podem ser criados e como exemplificado emessepost, criei um novo float chamado, suppfigmas quero adicionar subfiguras nele. Quando simplesmente adiciono subfiguras dentro dele, recebo a mensagem:

Nenhum contador subsuppfigdefinido.

Quando adiciono um contador chamado subsuppfig, \newcounter{subsuppfig}recebo

Unidade de medida ilegal (pt inserido).

Como defino um novo ambiente subfloat?


Código:

\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}

Responder1

Use package newfloat, um pacote projetado para funcionar bem com captionamigos.

\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}

Responder2

subcaptionfunciona bem (de forma automatizada) ao usarnewfloatpara criação de flutuadores. No entanto, se você estiver usandofloatoufloatrow, você terá que fazer o trabalho braçal sozinho.

O seguinte é retirado dosubcaptiondocumentação(seção5 O \DeclareCaptionSubTypecomando):

Para utilizar o recurso de sublegenda do captionpacote alguns comandos e contadores devem ser preparados. Isto é feito com

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

Para os ambientes figure& table, e todos aqueles definidos com \DeclareFloatingEnvironmentoferecidos pelo newfloatpacote, isso será feito automaticamente, mas para outros ambientes (por exemplo, aqueles definidos com \newfloatoferecidos pelo floatpacote ou \DeclareNewFloatTypeoferecidos pelo floatrowpacote) isso deverá ser feito manualmente.

insira a descrição da imagem aqui

\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}

informação relacionada