I often need a display environment which would let me easily present equally-spaced expressions in the same line, with content on successive lines appearing centred at the same x-coordinate as content on the first line. I can sort of get the effect I want like this:

But it's not quite perfect, as the 'columns' appear right-aligned, not centred.

Of course I can achieve this easily enough using an array. But then I have to set the spacing between the columns myself, which the align environment does for me automatically. I just wonder if any of the standard math environments can do this already. I would like to be able to code it like this:

I define a new columntype E used merely as a spacer for the first/last columns. Also, the addition of @{\extracolsep{\fill}} adds stretch before/after each column to space things out evenly across \textwidth. Using *{3}{>{$}c<{$}} allows for 3 similarly defined columns (centered c and typeset in math mode $...$).

Of course, this requires you to know how many columns you want to typeset, since you're using the tabular* environment. Although this is not as noticeable, you might want to add \renewcommand{\tabcolsep}{0pt} and scope {...} it around your tabular* environment in order to remove the spacing caused by the E column type. For example the code

Thanks Werner, that's a clever solution -- although it's still a bit clunky. I don't see why functionality like this isn't built into the gather environment, for example. Anyway, thanks for the answer!
–
Jamie VicaryAug 3 '11 at 10:23