¿Cómo hacer una subreferencia en el paquete floatrow - hyperref?

¿Cómo hacer una subreferencia en el paquete floatrow - hyperref?

Tengo un entorno de subfiguras que utiliza el paquete floatrow y me gustaría hacer referencia a cada figura en el panel individualmente en mi párrafo de la siguiente manera:

figura (3a) y figura (3b), pero de alguna manera no funciona cuando llamo al \subrefcomando.

mi código completo:

\documentclass[12pt,reqno]{report}
\begin{document}

\usepackage{graphicx}

\usepackage{floatrow}
    \floatsetup[figure]{subcapbesideposition=top}
\usepackage{graphicx}
\usepackage[label font=bf, 
            labelformat=simple]{subfig}
\usepackage{caption}

    \begin{figure}[H]
    \renewcommand\thesubfigure{\Alph{subfigure}}
    \setlength{\labelsep}{2mm}
    \centering
\sidesubfloat[  \label{fig:mHCN2_dime}]%
{
\includegraphics[width=0.4\textwidth]{figs/Fig_edited_figure_A_in_panel.png}\label{fig:a}%
}
\hfill
\sidesubfloat[  \label{fig:non-swapped_mHCN2}]%
{
\includegraphics[width=0.4\textwidth]{figs/mHCN2_cAMP_hidden_rotated_90_non-swapped_packing.png}\label{fig:a}%
}

\caption{Structure of the channel tetramer in the ligand-free state, viewed parallel to the membrane (A) or from the extracellular side (B). Each subunit is shown in a different color. Gray bars represent approximate boundaries of the membrane bilayer.}

\label{fig:mHCN2}
  \end{figure}

\end{document}

Respuesta1

Esto proporciona una subcaptionversión compatible de \sidesubfloat.

El truco es que el título (incluso \captiontext) siempre llena el espacio dado, por lo que primero debemos medir el espacio necesario falsificándolo.

\documentclass[12pt]{report}
\usepackage{graphicx}
\usepackage{subcaption}

\newcommand{\sidesubfloat}[2][\empty]% #1 = caption and \label (optional}, #2 image
{\begin{subcaptiongroup}
  \refstepcounter{subfigure}% get width of caption
  \sbox0{(\thesubfigure)~#1~}% assumed format
  \addtocounter{subfigure}{-1}%
  \sbox1{#2}% get width of image
  \dimen0=\dimexpr \linewidth-\wd1\relax
  \ifdim\dimen0>\wd0
    \dimen0=\wd0
  \fi
  \setbox2=\vbox{\hsize=\dimen0\caption{#1}}%
  \raisebox{\dimexpr \abovecaptionskip+\ht1-\ht2}[\ht1]{\usebox2}#2
\end{subcaptiongroup}}

\begin{document}
    \begin{figure}[ht]
    \renewcommand\thesubfigure{\Alph{subfigure}}
    \setlength{\labelsep}{2mm}
    \centering
\sidesubfloat[  \label{fig:mHCN2_dime}]%
{
\includegraphics[width=0.4\textwidth]{example-image-a}\label{fig:a}%
}
\hfill
\sidesubfloat[  \label{fig:non-swapped_mHCN2}]%
{
\includegraphics[width=0.4\textwidth]{example-image-b}\label{fig:b}%
}

\caption{Structure of the channel tetramer in the ligand-free state, viewed parallel to the membrane (A) or from the extracellular side (B). Each subunit is shown in a different color. Gray bars represent approximate boundaries of the membrane bilayer.}

\label{fig:mHCN2}
  \end{figure}
  
\subref{fig:mHCN2_dime} \subref{fig:a}
\subref{fig:non-swapped_mHCN2} \subref{fig:b}

\ref{fig:mHCN2_dime} \ref{fig:a}
\ref{fig:non-swapped_mHCN2} \ref{fig:b}

\end{document}

Respuesta2

Utilice \ref{fig:a} y \ref{fig:b}(falta en su código).

a

\documentclass[12pt]{report}

\usepackage{floatrow}
\floatsetup[figure]{subcapbesideposition=top}
\usepackage{graphicx}
\usepackage[label font=bf, labelformat=simple]{subfig}
\usepackage{caption}

\begin{document}        

    \begin{figure}[H]
        \renewcommand\thesubfigure{\Alph{subfigure}}
        \setlength{\labelsep}{2mm}
        \centering
        \sidesubfloat[  \label{fig:mHCN2_dime}]%
        {
            \includegraphics[width=0.4\textwidth]{example-image-a}\label{fig:a}%
        }
        \hfill
        \sidesubfloat[  \label{fig:non-swapped_mHCN2}]%
        {
            \includegraphics[width=0.4\textwidth]{example-image-b}\label{fig:b}%
        }
        
        \caption{Structure of the channel tetramer in the ligand-free state, viewed parallel to the membrane (A) or from the extracellular side (B). Each subunit is shown in a different color. Gray bars represent approximate boundaries of the membrane bilayer.}
                    \label{fig:mHCN2}
    \end{figure}

See subfigures~\ref{fig:a}  and \ref{fig:b}.    
    
\end{document}

información relacionada