Tengo subfiguras creadas con el floatrow
paquete en lugar del subcaption
paquete. Este último no está cargado.
\begin{figure}[htbp]
\ffigbox[\FBwidth]
{\begin{subfloatrow}[2]
\ffigbox[\FBwidth]
{\caption{Cap1}\label{lab1}}
{Test1}
\ffigbox[\FBwidth]
{\caption{Cap2}\label{lab2}}
{Test2}
\end{subfloatrow}}
{\caption{Cap}
\label{lab}}
\end{figure}
La pantalla es tal como la quiero. El título principal tiene la etiqueta "Fig. 1:", los subtítulos tienen "(a)" y "(b)".
Sin embargo, extraño la \subref
macro del subcaption
paquete para vincular directamente a las subfiguras. Con floatrow
solo puedo \ref{lab1}
obtener "1a". El primero \subref{lab1}
dio simplemente "a" o incluso mejor "(a)" (para que coincida con labelformat=parens
).
¿Puedo hacer algo similar solo con floatrow
y caption
cargado? Y si no, ¿cómo puedo redefinir la \ref
macro para que coincida labelformat
y así mostrar "1(a)" en lugar de "1a"?
Respuesta1
Así es como puedes hacerlo con caption
:
\documentclass{article}
\usepackage{floatrow}
\usepackage{caption}
\usepackage{graphicx}
\DeclareCaptionSubType[alph]{figure}
\renewcommand\thesubfigure{(\alph{subfigure})}
\captionsetup[subfloat]{labelformat=simple,listformat=simple}
\begin{document}
\listoffigures
\begin{figure}[htbp]
\ffigbox[\FBwidth]
{\begin{subfloatrow}[2]
\ffigbox[\FBwidth]
{\caption{Caption for subfigure 1}\label{lab1}}
{\rule{5cm}{1cm}}
\ffigbox[\FBwidth]
{\caption{Caption for subfigure 2}\label{lab2}}
{\rule{5cm}{1cm}}
\end{subfloatrow}}
{\caption{General caption}
\label{lab}}
\end{figure}
As we see in subfigures~\ref{lab1} and~\ref{lab2}, which are subfigures to Figure~\ref{lab}...
\end{document}
Si no desea que aparezcan subfiguras en la LoF, cambie
\captionsetup[subfloat]{labelformat=simple,listformat=simple}
a
\captionsetup[subfloat]{labelformat=simple,list=no}