在我的论文中,我有很多带有共同标题和多个子图(a、b、c..等)的图表。我想将它们拆分到各个页面,因为我不想将它们全部放在一页中,因此我使用了命令\subfloat
和\ContinuedFloat
。这很有帮助,但是:
- 图形的编号从 0 开始,例如图 1.0,但事实并非如此。
- 编号不是按顺序排列的,一开始是这样的:图 1.0、图 1.1、图 1.2,然后回到图 1.1,然后是图 1.2……等等,甚至在子图中,编号也不是按顺序排列的,就像:图 1.0 (a) 和图 1.1 (b),而不是图 1.0 (b)……
这是我使用的代码:
%\clearpage
\begin{figure}[h!]
%\subfigure[]{
\centering
\subfloat{\includegraphics[width=1.0\columnwidth]{fig1.eps} } \,
\label{int1}}%
\end{figure}
%\clearpage
\begin{figure}[h!]
\ContinuedFloat
%\subfigure[]{
\centering
\subfloat{\includegraphics[width=1.0\columnwidth]{fig2.eps} } \,
\label{int2}}%
\caption{my figures (a) and (b).}
\label{int}
\end{figure}
然后就是复制和粘贴其他图形(和子图形)的问题。
答案1
不幸的是,subfig 包提供的算法\ContinuedFloat
基于每个图形都有一个 的假设\caption
。因此,自 3.2 版起,该caption
包提供了一个名为 的命令\phantomcaption
(不带任何参数),它不会排版标题,但可以满足 的需求\ContinuedFloat
。
对于 caption 包 3.1 版本的使用,可以定义\phantomcaption
为:
\makeatletter
\providecommand\phantomcaption{\caption@refstepcounter\@captype}
\makeatother
由于这种用途,\providecommand
它不会与字幕包的未来版本发生冲突。
顺便说一句:caption 包的当前版本 3.3 提供了\ContinuedFloat
不需要的定义\caption
,但由于 subfig 包附带了它自己的定义\ContinuedFloat
(覆盖了包定义的定义),所以在使用该包时caption
您仍然需要。\phantomcaption
subfig
梅威瑟:
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{subfig}
\begin{document}
\begin{figure}
\centering
\subfloat[]{\includegraphics[width=1.0\columnwidth]{fig1.eps} \,
\label{int1}}
\phantomcaption % <=== This line added to compensate for the missing \caption
\end{figure}
\begin{figure}
\ContinuedFloat
\centering
\subfloat[]{\includegraphics[width=1.0\columnwidth]{fig2.eps} \,
\label{int2}}%
\caption{my figures (a) and (b).}
\label{int}
\end{figure}
\end{document}