\cref 명령이 두 하위 그림을 구별할 수 없는 이유는 무엇입니까?

\cref 명령이 두 하위 그림을 구별할 수 없는 이유는 무엇입니까?

여기에 이미지 설명을 입력하세요

내 문제는 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하거나 이전 버전 패키지의 유물을 참조(!)하는 것입니다.

관련 정보