\subcaption
我在将子图 (c) 和 (d) 标记为 (a) 和 (b) 时遇到了问题。
我不知道问题出在哪里。我有许多包含两个子图的图,其中大多数都正确标记,即 (a) 和 (b)。但对于代码中的某些特定位置,无论我如何使用哪个图,标签都会显示为 (c) 和 (d)。我尝试恢复使用,\subfigure
但在代码中的那些特定位置,标签也会显示为 (c) 和 (d),而不是 (a) 和 (b)。
下面是我用来将两个带有子标题的图形并排放置的代码块。
非常感谢您的帮助。
\usepackage[bf]{caption}
\usepackage[hypcap=true]{subcaption}
\begin{figure}[h]
\centering
\subcaptionbox{Figure a\label{fig:a}}
{\includegraphics[width=0.45\textwidth]{figure-a}}
\subcaptionbox{Figure b\label{fig:b}}
{\includegraphics[width=0.45\textwidth]{figure-b}}
\caption{Figure a and b}
\label{fig:figure}
\end{figure}
编辑:以下代码是我能实现的最短的问题重现。我删减了原始文档。
\documentclass[12pt,a4paper]{report}
%Declaring packages for use
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage[bf]{caption} %Bold equation and figure captions
\usepackage[hypcap=true]{subcaption}
\begin{document}
\chapter{Intro}
\section{The first chapter}
If we remove this big figure then no bad labeling
\begin{figure}[tbhp]
\centering
\Large K
\caption{big figure}
\label{fig:big}
\end{figure}
\section{MIS}
If we remove this than no bad labeling
\begin{figure}
\begin{minipage}[b]{.5\linewidth}
\centering\large A
\subcaption{A subfigure}\label{fig:1a}
\end{minipage}%
\begin{minipage}[b]{.5\linewidth}
\centering\large B
\subcaption{Another subfigure}\label{fig:1b}
\end{minipage}
\caption{A figure}\label{fig:1}
\end{figure}
\chapter{Some chapter}
\section{Some Section}
Some section
\subsection{Transfer}
If we remove this then no bad labeling
\begin{figure}[tbhp]
\centering
\Large K
\caption{big figure}
\label{fig:big}
\end{figure}
\subsection{BAD LABELING HAPPENS HERE}
Here is the bad labeling
\begin{figure}
\begin{minipage}[b]{.5\linewidth}
\centering\large A
\subcaption{A subfigure}\label{fig:1abad}
\end{minipage}%
\begin{minipage}[b]{.5\linewidth}
\centering\large B
\subcaption{Another subfigure}\label{fig:1bbad}
\end{minipage}
\caption{A figure}\label{fig:bad}
\end{figure}
\end{document}
答案1
正如 Gonzalo Medina 在评论中指出的那样,问题是由于软件包版本过旧造成的subcaption
。更新caption
和subcaption
sty 文件可以解决问题。