Subref com floatrow (sem sublegenda)

Subref com floatrow (sem sublegenda)

Tenho subfiguras criadas com o floatrowpacote em vez do subcaptionpacote. Este último não está carregado.

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

A tela é exatamente como eu quero. A legenda principal possui o rótulo “Fig. 1:”, as sublegendas possuem “(a)” e “(b)”.

No entanto, sinto falta da \subrefmacro do subcaptionpacote para vincular diretamente às subfiguras. Com floatroweu só posso \ref{lab1}produzir "1a". O primeiro \subref{lab1}deu apenas "a" ou melhor ainda "(a)" (para combinar com labelformat=parens).

Posso fazer algo semelhante com apenas floatrowe captioncarregado? E se não, como posso redefinir a \refmacro para corresponder labelformate, assim, exibir "1(a)" em vez de "1a"?

Responder1

Veja como você pode fazer isso com 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}

insira a descrição da imagem aqui

Se você não quiser que subfiguras apareçam no LoF, altere

\captionsetup[subfloat]{labelformat=simple,listformat=simple}

para

\captionsetup[subfloat]{labelformat=simple,list=no}

informação relacionada