轉載自:https://blog.csdn.net/liuchang0001/article/details/83705459
眾所周知,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}{}
\end{tabular}
\end{center}
舉例如下(下面的操作可以在連續插入多個圖片時做到圖片不浮動,連續呈現)
\begin{center}
\scriptsize
\setlength{\belowcaptionskip}{0pt}
\setlength{\belowcaptionskip}{0pt}
\tabcaption{$test$}
% 下面的 c 主要是需要說明 列的個數
\begin{tabular}{ccccccccccc}
\toprule
\multirow{1}{*}{} &\multicolumn{2}{c}{$A$} &\multicolumn{2}{c}{$B$} &\multicolumn{2}{c}{$C$} &\multicolumn{2}{c}{$D$} &\multicolumn{2}{c}{$E$}\\
\cline{2-11}
& $C=$ & 0 & $C=$ & 0 & $C=$ & 0 & $C=$ & 0 & $C=$ & 0 \\
\cmidrule(r){2-3} \cmidrule(r){4-5} \cmidrule(r){6-7} \cmidrule(r){8-9} \cmidrule(r){10-11}
& $C1$ & $C2$
& $C1$ & $C2$
& $C1$ & $C2$
& $C1$ & $C2$
& $C1$ & $C2$ \\
\midrule
A & 0.01 & 0(0) & 0.0091 & 0(0) & 0 & 0(0) & 0 & 1(0) & 0 & 0(0) \\
A & 0.01 & 0(0) & 0.01 & 0(0) & 0 & 0(0) & 1 & 1(0) & 0 & 0(0) \\
A & 0.04& 0(0) & 0.02 & 0(0) & 0 & 0(0) & 0 & 1(0) & 0 & 0(0) \\
A & 0.0 & 0(0) & 0.03 & 0(0) & 0 & 0(0) & 0 & 1(0) & 0 & 0(0) \\
A & 0.0 & 0(0) & 0.04 & 0(0) & 0 & 0(0) & 0 & 1(0) & 0 & 0(0) \\
A & 0.0 & 0(0) & 0.05 & 0(0) & 0 & 0(0) & 0 & 1(0) & 0 & 0(0) \\
A & 0.1 & 0(0) & 0.6 & 0(0) & 0 & 0(0) & 0 & 1(0) & 0 & 0(0) \\
A & 0.0 & 0(0) & 0.6 & 0(0) & 0 & 0(0) & 0 & 1(0) & 0 & 0(0) \\
A & 0.1 & 0(0) & 0.6 & 0(0) & 0 & 0(0) & 0 & 1(0) & 0 & 0(0) \\
A & 0.2 & 0(0) & 0.6 & 0(0) & 0 & 0(0) & 0 & 1(0) & 0 & 0(0) \\
\bottomrule
\end{tabular}
\end{center}

