como subreferenciar no pacote floatrow - hyperref?

como subreferenciar no pacote floatrow - hyperref?

Eu tenho um ambiente de subfigura usando o pacote floatrow e gostaria de referenciar cada figura no painel individualmente em meu parágrafo da seguinte forma:

figura (3a) e figura (3b), mas de alguma forma não funciona quando chamo o \subrefcomando.

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

Responder1

Isso fornece uma subcaptionversão compatível do \sidesubfloat.

A parte complicada é que a legenda (par \captiontext) sempre preenche o espaço fornecido, então precisamos primeiro medir o espaço necessário, fingindo-o.

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

Responder2

Use \ref{fig:a} e \ref{fig:b}(ausente no seu 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}

informação relacionada