TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to set a longtable to fit correctly the page-witdh. From now, I've this situation:

longtable-width-error

and the related tex code is:

\usepackage{array}
\usepackage{multirow}
\usepackage{longtable}
\usepackage[tableposition=below]{caption}

[...]

We now present a table that summarises the possible scenarios that can happen in the overlap zone.
{\small \begin{center}
\begin{longtable}{|c|c|c|}

\hline \textbf{Type of movement in the overlap zone} & \textbf{State of the object in camera 1} & \textbf{State of the object in camera 2}  \\ \hline
\endfirsthead

\hline \textbf{Type of movement in the overlap zone} & \textbf{State of the object in camera 1} & \textbf{State of the object in camera 2}  \\ \hline
\endhead

\hline
\caption{Table title.}
\endfoot

\caption{Table title.}
\endlastfoot

Object moving from camera 1 to camera 2 & Object will eventually be in the \emph{exiting} state and the be \emph{deleted} & Object will be recognised as a \emph{new} object, then become \emph{to be classified} and eventually \emph{classified} \\ \hline
\end{longtable}  
\end{center}
}

How can I fix the error?

share|improve this question
up vote 12 down vote accepted

Use the tabu with its environment

\begin{longtabu} to \textwidth {|X|X|X|}
…
\end{longtabu}

For more information, see the documentation of tabu.

share|improve this answer
    
Thank you so much, now it works fine. Just another question: how can I set padding values for the cells? – vdenotaris Apr 23 '13 at 14:57
    
I don't know, what you mean exactly by "padding values" (English is not my first language). – Toscho Apr 23 '13 at 14:58
    
I mean the distance between the borders (top, right, bottom and left) and the text inside a cell. – vdenotaris Apr 23 '13 at 14:59
1  
The horizontal space can be controlled via options to the X columns or usually via @{…}. The vertical space can be controlled via \tabulinesep and \extrarowsep (see the documentation). – Toscho Apr 23 '13 at 15:09
    
You need to \usepackage{tabu} and make sure that the column to be restricted is of the column type X. – Chris Sep 17 '15 at 12:01
\begin{center}
\begin{longtable}{|c|c|c|}

the center environment has no affect on longtable as the table rows are always full width.

The longtable documentation does give an example of how to produce a full width table:

\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{longtable}{@{\extracolsep{\fill}}|c|c|c|@{}}

...

share|improve this answer

an ancient solution is possible with the package ltablex: Here is a MWE with booktabs, which provides better rules then \hline (I recommend to read at least chapter 2 from texdoc booktabs)

\documentclass{article}
\usepackage{ltablex,booktabs}
\begin{document}
\begin{tabularx}{\textwidth}{XXX}
\textbf{Type of movement in the overlap zone} & \textbf{State of the object in camera 1} & \textbf{State of the object in camera 2}  \\ \toprule
\endhead
\caption{Table title.}
\endfoot
Object moving from camera 1 to camera 2 & Object will eventually be in the \emph{exiting} state and the be \emph{deleted} 
& 
Object will be recognised as a \emph{new} object, then become \emph{to be classified} and eventually \emph{classified}
\end{tabularx}
\end{document}

enter image description here

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.