0

Consider the MWE document and screenshots below. This contains a long table, followed by a small table. As you can see the long table is pushed to its own page, but the problem is that all following tables are also pushed to the end of the chapter.

So I end up with a chapter with a lot of text, and at the end a lot of tables.

How can I instruct latex to optimize the table placement (more distributed over the pages)?

enter image description here enter image description here

MWE

\documentclass{book} 
\usepackage{lipsum}
\begin{document}
\chapter{MWE}
\lipsum[50]
\lipsum[50]
\textbf{Here we discuss table 1}
\begin{table}[bt]
\begin{tabular}{l}
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
Onepage table\\
\end{tabular}
\end{table}
\lipsum[50]
\textbf{Here we are going to discuss table 2}
\begin{table}[bt]
\begin{tabular}{l}
Small Table\\
\end{tabular}
\end{table} 
\lipsum[50]
\lipsum[50]
\lipsum[50]
\end{document}
  • 1
    Remove the [bt] specifiers. They are confusing the whole placement. They are meant for fine Tuning at the very end. – Johannes_B Dec 12 '16 at 8:23
  • LaTeX will not change the order of the floats. table 1 will always be before table 2. You will either have to change the order in the code (and so make the long table e.g. table 3), or remove the long table from the "float table category" to allow it to float behind the smaller table (but this would lead to confusing numbering). – Ulrike Fischer Dec 12 '16 at 8:26
  • you have removed the p option so preventing that table being placed on a page on its own, so it is more likely to go to the end (taking all later floats with it) – David Carlisle Dec 12 '16 at 8:51
2

article class by default has

\renewcommand\topfraction{.7}
\renewcommand\bottomfraction{.3}

so if a float is going to be placed on a normal text page then it is allowed to take up at most 70% of the space if placed at the top and at most 30% at the bottom, floats bigger than that have to be placed on "float pages" just consisting of floats.

the only effect of the option [bt] is to prevent float pages (as the default option is [tbp]) so your large float may not be placed at top or bottom of the page as it is too big and may not be placed on a page on its own as you have explicitly removed the p possibility.

Such an unplaceable float will drift to the end of the document or a \clearpage command when all stuck floats are dumped on to float pages ignoring any restrictions as an emergency fixup measure.

As floats of each type are kept in order, once one table drifts to the end, all following ones go with it.

If you omit the [bt] option both tables are placed on page 2, with the remaining text on page 3.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.