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