众所周知,LaTeX里面处理图形和表格的浮动体历来是最麻烦的问题之一,原因是即使使用了[h]选项,浮动体还是会乱跑,但如果去掉\begin{figure}\end{figure}来一个裸的\includegraphics又不能结合\caption命令加标题。这个问题其实在著名的"LaTeX2e及常用宏包使用指南"里的8.7节有介绍,但我也是今天才偶然看到这一节,想必还有很多同仁还在为处理浮动体而奋斗,因此贴出来共享一下:
加入这四行后,再要插入图片时,可以
figure和table之所以能够使用\caption命令是因为定义了\@captype命令,也就是说,如果我们自己定义一下的话也是可以起到同样的效果的。要想做到这一点,首先在引言中加入如下的命令:
\makeatletter
\newcommand{\figcaption}{\def\@captype{figure}\caption}
\newcommand{\tabcaption}{\def\@captype{table}\caption}
\makeatother
其中加入\makeatletter;\makeatother的原因是命令中有@符号。加入这四行后,再要插入图片时,可以
\begin{center}
\includegraphics{xxx.eps}
\figcaption{xxxx}\label{fig:xxx}
\end{center}
而表格则是\begin{center}
\begin{tabular}
xxx
\end{tabular}
\tabcaption{xxx}\label{tab:xxxx}
\end{center}