
Usando \newfloat
, se pueden crear nuevos entornos flotantes y, como se ejemplifica enestepublicación, creé un nuevo flotador llamado suppfig
pero quiero agregarle subfiguras. Cuando simplemente agrego subfiguras dentro, aparece el mensaje:
No hay contador
subsuppfig
definido.
Cuando agrego un contador llamado subsuppfig, \newcounter{subsuppfig}
obtengo
Unidad de medida ilegal (pt insertado).
¿Cómo defino un nuevo entorno de subflotación?
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}
Respuesta1
Utilice el paquete newfloat
, un paquete diseñado para funcionar bien con caption
y amigos.
\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}
Respuesta2
subcaption
funciona bien (de forma automatizada) cuando se utilizanewfloat
para la creación de flotadores. Sin embargo, si estás usandofloat
ofloatrow
, tendrás que hacer el trabajo tú mismo.
Lo siguiente está tomado delsubcaption
documentación(sección5 El \DeclareCaptionSubType
comando):
Para utilizar la función de subtítulos del
caption
paquete, se deben preparar algunos comandos y contadores. Esto se hace con\DeclareCaptionSubType[<numbering scheme>]{<type>} \DeclareCaptionSubType*[<numbering scheme>]{<type>}
Para los entornos
figure
&table
y todos los definidos con\DeclareFloatingEnvironment
ofrecido por elnewfloat
paquete, esto se hará automáticamente, pero para otros entornos (por ejemplo, los definidos con\newfloat
ofrecido por elfloat
paquete o\DeclareNewFloatType
ofrecido por elfloatrow
paquete) esto debe hacerse manualmente.
\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}