LaTeX中的连续表

时间:2010-04-21 12:06:39

标签: latex

我想知道如何在LaTeX中连续放置几个表?

第一个表之前的文本页面有一点空间但第一个表不够,所以第一个表放在下一页的顶部,尽管我使用\begin{table}[!h]表示它。

第二个表不适合第一个表的其余页面中的位置,所以我想我可以使用longtable来覆盖页面的其余部分和下一页的顶部。同样,我使用longtable表示第三个表。

LaTeX代码如下:

... % some text  

\begin{table}[!h]  
\caption{Table 1. \label{tab:1}}  
\begin{center}  
\begin{tabular}{c c}  
...  
\end{tabular}  
\end{center}  
\end{table}     

\begin{center}  
\begin{longtable}{ c c }  
\caption{Table 2. \label{tab:2}}\\   
...  
\end{longtable}  
\end{center}  

\begin{center}  
\begin{longtable}{ c c }  
\caption{Table 3. \label{tab:3}}\\   
...  
\end{longtable}  
\end{center}  

... % some text

在编译的pdf文件中,结果表明表格的顺序混乱了。第一个表位于第二个和第三个表后面,第二个表跨越页面,在表格之前显示文本,下一页则跟随第三个表格。

我想知道如何使这三个表按顺序连续显示,并且它们之间以及文本和表之间没有空格?

或者,如果我希望不可能,那么最好的策略是什么呢?


编辑:

删除[!h]没有改进,第一个表仍然落后于第二个和第三个。


编辑:

根据以下回复之一的建议,使用[H]对我有用。出于好奇,[H]和[!h]的影响之间有什么区别?

2 个答案:

答案 0 :(得分:3)

尝试删除[!h]

问题是\begin{table} ... \end{table}定义了浮动插入。此插入显示在以下某个页面上。 \begin{longtable}定义非浮动表。 Longtable立刻出现。

您应该删除\begin{table} ... \end{table}以使第一个表立即显示。 [!h]不会使表格成为非浮动。

答案 1 :(得分:1)

我忘记了,如果它是给你[H]的数组或浮动包,但这一直对我有用:

\begin{table}[H]
...
\end{table}