[Tex/LaTex] Page-wide table in two-column mode

columnstablestwo-column

I want a table that is as wide as the whole page in a document with option twocolumn. The table has to be inserted on the bottom of the page, but that is not necessary.

I've tried:

\begin{table*}[b]
  ...
\end{table*}

But that puts the table at the end of the document instead of on the same page.
I also tried:

\twocolumn[
  \begin{table}[b]
    ...
  \end{table}
]

But that gives me an error: ! Argument of \@xfloat has an extra }.
Combining \twocolumn and the star mark gives the same error.

What's the right way to do this?

Best Answer

For table* and figure*, the only available options are t (top of next page) or p (end of document). b and h have been disabled on purpose, there is probably a strong typographical reason behind it.

Since you state that the placement on the bottom of the page is "not necessary", I suggest you use the [t] option instead of [b].

Note that the table may appear one the next page instead of the current one. If you really need to control on what page the table is, you may have to move the table definition up in the source code.

MWE

\documentclass[twocolumn]{article}

\usepackage{lipsum}

\begin{document}

\lipsum[1-10] % To create a random first page

\lipsum[1-3]

[Location of the table in source code]

\begin{table*}[t]
  \centering
  \begin{tabular}{lcr}
    1 & 2 & 3 \\
    4 & 5 & 6 \\
    7 & 8 & 9
  \end{tabular}
  \caption{Blabla}
  \label{tab:1}
\end{table*}

\lipsum[1-6]

\end{document}

The table will be on the third page, you'd have to move it up the code to get it in 2nd page.

Further reading: How to influence the position of float environments like figure and table in LaTeX?