\cref コマンドが 2 つのサブ図を区別できないのはなぜですか?

\cref コマンドが 2 つのサブ図を区別できないのはなぜですか?

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

私の問題は、crefコマンドが環境によって割り当てられた番号に従って数字を参照しないことですsubfigures。ソースコードは次のとおりです。

\documentclass{report}


\usepackage{subfloat}
\usepackage{caption}
\usepackage{cleveref}

\begin{document}


\begin{subfigures}

    % Subfigure 1
    \begin{figure}

        \centering
        \fbox{\Huge Figure 1}

        \label{fig1}
        \caption{Caption 1}

    \end{figure}


    % Subfigure 2
    \begin{figure}

        \centering
        \fbox{\Huge Figure 2}

        \label{fig2}
        \caption{Caption 2}

    \end{figure}


\end{subfigures}


\centering Reference to Figure 1a typesets as \textbf{\cref{fig1}} 

\centering Reference to Figure 1b typesets as \textbf{\cref{fig2}}

\centering The referencing output should be something like this: \textbf{fig. 1a} and \textbf{fig. 1b}

\end{document}

答え1

のドキュメントよりcleveref:

Cleveref は subfloat パッケージを認識しないため、サブ図への相互参照には \ref を使用する必要があります。(将来のバージョンで修正される可能性があります。)

2013 年以降更新はありませんが、自分で行うことができます (定義をファイルに入れることができることに注意してくださいcleveref.cfg)。

\documentclass{report}
\usepackage{subfloat}
\usepackage{caption}
\usepackage{cleveref}
  \Crefname{subfigures}{figure}{figures}%
  \Crefname{subfigures}{Figure}{Figures}%


\begin{document}

\begin{subfigures}
    % Subfigure 1
    \begin{figure}
        \centering
        \fbox{\Huge Figure 1}
        \caption{Caption 1}\label{fig1}
    \end{figure}
    % Subfigure 2
    \begin{figure}
        \centering
        \fbox{\Huge Figure 2}
        \caption{Caption 2}\label{fig2}
    \end{figure}
\end{subfigures}
\centering Reference to Figure 1a typesets as \textbf{\cref{fig1}}
\centering Reference to Figure 1b typesets as \textbf{\cref{fig2}}.
\centering The referencing output should be something like this: \textbf{\ref{fig1}} and \textbf{\ref{fig2}}

\end{document} 

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

編集:

aパッケージの作成者によると、上記の引用は、サブフロート コンポーネント ( 、) のみを参照している (!! – 賢明ではありません)bか、パッケージの以前のバージョンの名残です。

関連情報