1

I'm working on a document using a two-column layout. In it, I have one page-wide table (table*) and several regular column-wide tables (table).

Problem is, as the table* is always placed on the following page, it also forces the subsequent tables to the next page even if there's ample room for them on the current page. This potentially causes the current page to be left with empty space while placing an unnecessarily large number of tables on the following page. The issue seems to arise from the fact that tables are always placed in order, even when mixing table and table*.

The only working solution I've managed to find to allow the tables to be placed before the table* is to force their placement using the [H] option from the float package. Preferably I'd avoid the [H] option and just let the tables float, but without being forced to follow the table*.

So, short of forcing their positioning, is there a way to let the tables be placed before the table*?

Below is a MWE.

\documentclass[twocolumn]{article}
\begin{document}

Some text about table \ref{table:wide}.
\begin{table*}
  \centering
  \caption{Page-wide table}
  \label{table:wide}
  \begin{tabular}{lll} \hline
    Some & table & content \\ \hline
  \end{tabular}
\end{table*}

Some text about table \ref{table:regular}.
\begin{table}
  \centering
  \caption{Regular table}
  \label{table:regular}
  \begin{tabular}{lll} \hline
    Some & table & content \\ \hline
  \end{tabular}
\end{table}
\end{document}
1
  • there was a bug in earlier releases but in current latex tables are always printed in order so you would need to move the single column one before the double one, so that it becomes table 1, if you want it to appear first. Mar 15, 2016 at 19:55

1 Answer 1

1

Since the 2015 release LaTeX keeps all tables in order, so if you want the single column table to appear first it is best to move it earlier in the source, so it is table 1.

\documentclass[twocolumn]{article}
\begin{document}

\begin{table}
  \centering
  \caption{Regular table}
  \label{table:regular}
  \begin{tabular}{lll} \hline
    Some & table & content \\ \hline
  \end{tabular}
\end{table}

Some text about table \ref{table:wide}.
\begin{table*}
  \centering
  \caption{Page-wide table}
  \label{table:wide}
  \begin{tabular}{lll} \hline
    Some & table & content \\ \hline
  \end{tabular}
\end{table*}

Some text about table \ref{table:regular}.

\end{document}

Alternatively if you want tables to appear out of order you could locally make the two column table use table type 4 (figures being 1 and tables 2 in the standard classes) then it will just be kept in sequence with other floats of type 4 but still numbered as a table. This however makes table 2 come before table 1, which is a bit odd.

\documentclass[twocolumn]{article}
\begin{document}

Some text about table \ref{table:wide}.
{\makeatletter\def\ftype@table{4}\makeatother
\begin{table*}
  \centering
  \caption{Page-wide table}
  \label{table:wide}
  \begin{tabular}{lll} \hline
    Some & table & content \\ \hline
  \end{tabular}
\end{table*}}

Some text about table \ref{table:regular}.
\begin{table}
  \centering
  \caption{Regular table}
  \label{table:regular}
  \begin{tabular}{lll} \hline
    Some & table & content \\ \hline
  \end{tabular}
\end{table}
\end{document}

In either case the single column float is on page 1, and the 2 column float on page 2.

5
  • Just what I was looking for, thanks! Actually, I would intuitively expect the tables to be numbered in the order in which they are referenced in the text rather than their final positioning, as the content might build upon previous tables/reasoning. Perhaps my expectations are a bit backwards in that regard though.
    – Robin
    Mar 15, 2016 at 20:20
  • @Robin they are not numbered in either reference order or final position, they are numbered as they appear in the source, so if you put the table environment exactly at the point of first \ref to the table then they are numbered in order of first reference. Mar 15, 2016 at 20:23
  • Yes, I'm aware. I was just referring to our opposite views on the expected ordering ("This however makes table 2 come before table 1, which is a bit odd"). :-)
    – Robin
    Mar 15, 2016 at 20:28
  • @Robin oh OK, although I think if you flick through most publications that tables would be in numerical order. Mar 15, 2016 at 20:37
  • Oh. If that's the case then I'll follow convention and opt for your first suggestion. Thanks again.
    – Robin
    Mar 15, 2016 at 20:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .