[Tex/LaTex] n easy-to-use, all-encompassing table package

tables

I've been frustrated in recent applications with designing tables in LaTeX that have the properties I desire. I can almost always achieve the formatting I want, but a large part of my frustration comes from the fact that every formatting change is ad-hoc or appears like a hack. I am not a fan of this style of LaTeX design.

I was wondering if there is a single package that allows me to create a table environment with the following properties:

  1. I can specify the horizontal and vertical alignments of every row and column, individually.
  2. I can specify the height and width of every row and column, individually, either in terms of fixed lengths or stretching.
  3. Failing to specify one of the above yields a pleasing default behavior similar to the default tabular settings.
  4. The table is capable of spanning multiple pages without breaking.

The ideal formatting for me would be one for which, at the beginning of the environment, one can declare all the relevant spacing and alignment parameters for both rows and columns, and then the body of the table follows. Note that in the default tabular environment, this is true only of the columns; the formatting for each row appears in the body.

Best Answer

The One And Only Tabular Layout Package

You are asking for a package to improve the way to lay out your tabulars. On the German list TEX-D-L recently somebody required help to display data in a special way, depending whether the integer inside a cell differs from a standard value and Herbert Voss came up with a very nice and short solution:

\documentclass[12pt]{article}
\usepackage{array,xcolor}
\def\stripCmd\ignorespaces#1\unskip{#1}
\def\checkVal#1!!{\def\temp{\stripCmd#1}%
   \ifnum\temp>3\textcolor{red}{#1}\else%
     \ifnum\temp<3\textcolor{blue}{#1}\else#1\fi\fi}
\begin{document}

\begin{tabular}{@{} *5{>{\checkVal}c<{!!}} c @{}}
1 & 2 & 3 & 4 & 5 &\\
7 & 5 & 3 & 2 & 3 & \\
\end{tabular}

\end{document}

Tabular with coloured values

Nice, isn't it?

People need very different layouts inside tabulars. They vary much more than the layout of ordinary text does.

So the package that serves your needs won't help others much. So please, give us some examples of the tabulars you'd like to create. Maybe someone here can provide some kind of shortcut.