フロート行付きサブ参照 (サブキャプションなし)

フロート行付きサブ参照 (サブキャプションなし)

floatrowパッケージではなく、パッケージを使用して作成されたサブフィギュアがありますsubcaption。後者はロードされません。

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

表示はまさに私の希望どおりです。メインキャプションには「図 1:」というラベルが付いており、サブキャプションには「(a)」と「(b)」が付いています。

しかし、サブ図に直接リンクするためのパッケージ\subrefのマクロが欠けています。 では、「1a」を生成することしかできません。 前者は単に「a」、またはさらに良いことに「(a)」( と一致する)を生成しました。subcaptionfloatrow\ref{lab1}\subref{lab1}labelformat=parens

floatrowとloadedのみで同様のことを行うことができますかcaption? また、できない場合は、\refマクロを と一致するように再定義してlabelformat、「1a」ではなく「1(a)」を表示するにはどうすればよいでしょうか?

答え1

これを行う方法は次のとおりです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}

ここに画像の説明を入力してください

LoFにサブフィギュアを表示したくない場合は、

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

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

関連情報