15
\usepackage{longtable}

\begin{landscape}
\begin{table}[!htb]
\centering
\resizebox{\linewidth}{!}{%
\begin{longtable}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}

% Table here

\end{longtable}%
}%
\end{table}
\end{landscape}

I am unable to get the table to span over multiple pages while fitting the table to the width of the landscape page. Would you know how to do this, please let me know.

1
  • 3
    Consider using the ltxtable package. As suggested by its slogan: "ltxtable: longtable meets tabularx"
    – Werner
    May 3, 2012 at 21:20

1 Answer 1

18

First off, don't use both table and longtable -- the two environments shouldn't (and mustn't) be nested. Separately, since a longtable isn't a float (in the LaTeX sense of the word), there's no point providing location directives such as [!htb].

Second, to force the width of the longtable environment to be equal to \textwidth, type something like

\usepackage{longtable,lscape}
...
\begin{document}
...
\begin{landscape}
\setlength\LTcapwidth{\textwidth} % default: 4in (rather less than \textwidth...)
\setlength\LTleft{0pt}            % default: \parindent
\setlength\LTright{0pt}           % default: \fill
\begin{longtable}{@{\extracolsep{\fill}}|*{15}{c|}}
... % tabular material here
\end{longtable}
\end{landscape}
...

Note that the code above also resets the \LTcapwidth macro; since you're working in landscape mode, you'll almost certainly want to override this macro's default value of 4 inches. The @{\extracolsep{\fill}} directive, by the way, is exactly the same as what one would use in a tabular* environment. It tells LaTeX to insert \fill -- an infinitely stretchable amount of whitespace -- in each intercolumn space.

For more information on using the longtable environment, see the longtable user guide; if you're using TeXLive or MikTeX, the user guide may be brought up by typing texdoc longtable in a command window.

6
  • 2
    texdoc longtablealso works if you are using a MikTeX installation.
    – Sveinung
    May 3, 2012 at 21:50
  • @Sveinung -- good point! I'll add this piece of information.
    – Mico
    May 3, 2012 at 22:33
  • 1
    Which part of your code forces the width of the longtable environment to be equal to \textwidth? Dec 15, 2014 at 20:25
  • @tommy.carstensen - it's the resetting of the length parameters \LTleft and \LTright, along with the insertion of the directive @{\extracolsep{\fill}} at the start of the longtable environment.
    – Mico
    Dec 15, 2014 at 20:38
  • 2
    It still exceeds the page width here. I'm probably doing something wrong. I'm new to tex. I'll keep looking for a solution. Dec 15, 2014 at 20:53

You must log in to answer this question.

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