我正在尝试在一个图形中包含子图形,比如图 1,下面是我现在的代码。问题是,在我编译 tex 后,它没有显示,在图形下显示以下标题 Fig1a:fishfigure 和 Fig1a:catfigure,而是显示:以下 (a)fishfigure (b)catfigure...
有人知道问题是什么吗?
\begin{figure}
\centering
\subfigure[fish figure]{%
\includegraphics[width=0.45\textwidth]{fish}%
\label{fig:fish}%
}
\hfil
\subfigure
[cat figure]{%
\includegraphics[width=0.45\textwidth]{cat}%
\label{fig:cat}%
}
\hfil
\subfigure
[dogfigure]{%
\includegraphics[width=0.45\textwidth]{dog}%
\label{fig:dog}%
}
\end{figure}
答案1
使用subcaption
包而不是过时的subfigure
,重新定义\thesubfigure
并声明使用标签所需的格式\DeclareCaptionLabelFormat
:
举个小例子,使用\subcaptionbox
(另一个选择是使用subfigure
环境从subcaption
):
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\makeatletter
\renewcommand\thesubfigure{\thefigure(\alph{subfigure})}
\renewcommand\p@subfigure{}
\makeatother
\DeclareCaptionLabelFormat{prefixsubfig}{Fig#1#2:}
\captionsetup[subfigure]{labelformat=prefixsubfig}
\begin{document}
\begin{figure}
\centering
\subcaptionbox{fish figure\label{fig:fish}}{%
\includegraphics[width=0.45\textwidth]{fish}}\hfill
\subcaptionbox{cat figure\label{fig:cat}}{%
\includegraphics[width=0.45\textwidth]{cat}}\par
\subcaptionbox{dogfigure\label{fig:dog}}{%
\includegraphics[width=0.45\textwidth]{dog}}
\end{figure}
As we see in subfigures~\ref{fig:fish}, \ref{fig:cat}, and~\ref{fig:dog}
\end{document}
选项demo
只是graphicx
用黑色矩形替换实际图形;不是在实际文档中使用该选项。