乳胶桌子定位

我有一个LaTeX文档,其中包含一个段落后跟4个表格,后面是第二个段落。 我希望4个表格出现在两个段落之间,从我读过的意思来看,我应该在开始表格环境(例如\begin{table}[h] )之后使用[h]选项。

使用这个前两个表出现在预期的第1段之后,然而段落2显示,最后两个表出现在下一页。 我怎样才能让表格出现在正确的位置?

我已经尝试了各种东西来纠正定位,如使用[h!]但是这似乎没有任何效果。 在表之后使用\clearpage确实具有使表出现在第二段之前的预期效果,但是它随后使用空白负载将最后两个表留在它们自己的页面上,而当我希望第二段立即开始时在表之后。

 Paragraph 1... \begin{table}[h] table1... \end{table} \begin{table}[h] table2... \end{table}[h] ... Paragraph 2... 

在做了更多的search之后,我遇到了浮动包,它可以防止LaTeX重新定位表格。

在序言中:

 \usepackage{float} \restylefloat{table} 

然后对于每个表,您可以使用H放置选项(例如\begin{table}[H] )以确保它不会被重新定位。

如果文本加上表格加文字不适合单个页面,会发生什么情况? 通过以这种方式强制排版,您很可能最终导致页面太短; 也就是说,因为表格不能默认突破一个页面,所以它会被推到下一页面,并在页面上留下一个空白。 你会注意到,你从来没有看到这个在出版的书。

漂浮行为是一件好事! 我build议使用[htbp]作为所有表格和数字的默认设置,直到文档完整; 只有这样才能考虑微调其精确的位置。

PS阅读常见问题 ; 这里的大部分答案都是给出的build议的部分组合。

这为我工作,

在开始时使用包定义包括:

 \usepackage{placeins} 

并在之前和之后添加:

 \FloatBarrier \begin{table}[H] \begin{tabular}{llll} .... \end{tabular} \end{table} \FloatBarrier 

这将表格恰好放置在文本所需的位置。

您可能需要将其添加到您的序言中,并根据需要调整值:

  %------------begin Float Adjustment %two column float page must be 90% full \renewcommand\dblfloatpagefraction{.90} %two column top float can cover up to 80% of page \renewcommand\dbltopfraction{.80} %float page must be 90% full \renewcommand\floatpagefraction{.90} %top float can cover up to 80% of page \renewcommand\topfraction{.80} %bottom float can cover up to 80% of page \renewcommand\bottomfraction{.80} %at least 10% of a normal page must contain text \renewcommand\textfraction{.1} %separation between floats and text \setlength\dbltextfloatsep{9pt plus 5pt minus 3pt } %separation between two column floats and text \setlength\textfloatsep{4pt plus 2pt minus 1.5pt} 

特别的,\ floatpagefraction可能是感兴趣的。

这是一个简单的解决scheme,从Wikibooks :

placeins包提供的命令\ FloatBarrier,可以用来防止漂浮在它上面。

我只是把\FloatBarrier之前和之后的每个表。

如果你想有两个相邻的表,你可以使用:(加载了float包)

 \begin{table}[H] \begin{minipage}{.5\textwidth} %first table \end{minipage} \begin{minipage}{.5\textwidth} %second table \end{minipage} \end{table} 

每个人都有自己的标题和编号。 另一个选项是子subfigure包。