乳胶桌子定位
我有一个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
包。