Моя проблема в том, что 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}
Редактировать:
По словам автора пакета, приведенная выше цитата либо относится (!) к ссылке (!! – не умно) только на компонент subfloat ( a
, b
), либо является пережитком предыдущей версии пакета.