我的问题是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
,要么是该软件包先前版本的遗留物。