Suppress page number for a single page that only contains one large table?

The behaviour you expierence is because the table is typeset first on the current page, so a \thispagestyle before or after applies to that page, but then it floats to the next page where it is displayed.

In order to make this work use the floatpag package with \floatpagestyle{empty} to make all float pages have an empty style or use \thisfloatpagestyle{empty} inside the float, i.e. the table environment.


You could use the afterpage package and its command \afterpage; the method is admittedly a bit kludgy, but I've used it over the years to very good effect in just the types of situations you describe.

... material before large table ...
\afterpage{ % execute argument of this command *after* end of current page
\clearpage % clear any pending floats
\begin{table}
...
\end{table}
\thispagestyle{empty}
\clearpage % force a page break
} % end of \afterpage{...} stuff
... remainder of document ...

The only way this might fail is if you already have other floats queued up, waiting to be typeset on a page, before you get to the \afterpage{} command. If that's the case, just issue a second \clearpage command. :-)


You can change the page style for all float-only pages using the package fancyhdr. It provides the construction \iffloatpage{value for float page}{value for other pages}. See the documentation for fancyhdr, section 14.

Another option is to use float package and the provided H placement specifier to put your table on a non-floating page. Then you can use \thispagestyle on this page. Of course it means you are to control the placement of the table yourself...