There are two basic techniques for making fixed-width tables in LaTeX: you can make the gaps between the columns stretch, or you can stretch particular cells in the table.
Basic LaTeX can make the gaps stretch: the tabular*
environment
takes an extra argument (before the clpr
layout one) which takes a
length specification: you can say things like "15cm
" or
"\columnwidth
" here. You must also have an \extracolsep
command in the clpr
layout argument, inside an @
directive. So,
for example, one might have
\begin{tabular*}{\columnwidth}{@{\extracolsep{\fill}}lllr}The
\extracolsep
applies to all inter-column gaps to its right as
well; if you don't want all gaps stretched, add
\extracolsep{0pt}
to cancel the original.
The tabularx package defines an extra clpr
directive, X
;
X
columns behave as p
columns which expand to fill the space
available. If there's more than one X
column in a table, the spare
space is distributed between them.
The ltxtable combines the features of the longtable and tabularx packages: it's important to read the documentation, since usage is distinctly odd.