UK TeX FAQ -- question 172

### Fixed-width tables

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.

`ltxtable.sty`
  Distributed as part of macros/latex/contrib/supported/carlisle.tar.gz
`tabularx.sty`
  Distributed as part of macros/latex/required/tools.tar.gz