I have to show a set of four tables: one after another. Each table has almost middle page of information, and I really need them to appear before the next block of text. An example of LaTeX code is shown below:

text text text text...

    \caption{table 1}

    \caption{table 2}

    \caption{table 3}

    \caption{table 4}

next text next text next text

As these tables cannot fit in one page, LaTeX need two or three pages to show all of them. But, here is my problem: since there are empty spaces between one table and another (because of the end of the pages), LaTeX put the subsequent text in these spaces, showing the rest of the tables after it.

In other words, I want LaTeX to behave exactly as the code says: first show all the tables (no matter how much empty space may exist between them), and only show the rest of the text after the last table.

  • Use tabular rather than table if you don't want them to float. – cfr Dec 19 '13 at 3:18
  • But I also need the caption, and, as far I know, tabular don't support caption. =/ – Rick Dec 19 '13 at 3:29
  • 2
    Does tex.stackexchange.com/questions/88657/… help? (The second answer, not the first.) – cfr Dec 19 '13 at 3:50
  • 3
    I would use \FloatBarrier from the placeins package. Nice and easy :) – Herr K. Dec 19 '13 at 4:10
  • Yeap! \FloatBarrier did the work! =D Thanks cfr and KevinC. =) – Rick Dec 19 '13 at 4:33

Ultimately, \FloatBarrier with \usepackage{placeins} package worked.

  • 1
    In case anyone else is wondering: You put \FloatBarrier after the table/listing that you don't want moved. – problemofficer Dec 9 '17 at 18:20

Typesetting several floats consecutively without allowing non-float material to be inserted as well, irrespective of bad spacing that may result, can be accomplished by loading the float package and using the [H] location specifier for the floats -- e.g., \begin{table}[H] -- in question.


One solution is to use tabular's and obtaining captions for them via caption package: http://www.ctan.org/pkg/caption. If it is too absorbing, one can manually use \clearpage after proper tables (Without true data I cannot sugest places). The result will not be too beautiful, but separating tables from text will be achieved.

  • The idea of '\clearpage' seems to work in some cases. I didn't checked the caption package, but it's nice to know (it was unknown to me until now). Thanks! – Rick Dec 19 '13 at 4:38

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.