edited for clarity:
dear texperts: I have an interesting puzzle. I am thinking that the following format is better than one in which the middle column is all 'r' and the right column is all 'l'. given package ulem,
\documentclass[12pt]{article}
\usepackage{ulem}
\usepackage{times}
\begin{document}
\begin{tabular}{c c c}
\uline{Value} & \uline{A Very Interesting Factorial} & \uline{More Columns} \\[0.2ex]
\begin{tabular}{r} 3 \\ 6 \\ 8 \\ 10 \end{tabular} &
\begin{tabular}{r} 6 \\ 720 \\ 40,320 \\ 3,628,800 \end{tabular} &
\begin{tabular}{l} small \\ large \\ larger \\ largest \end{tabular} \\
\end{tabular}
\end{document}
(how do some of you include .png images in stackexchange.com? I made a png for easy visualization, but could not figure out how to embed it here.) A (egreg): use the image tab at the top, not markdown.
in this example, my format is exactly what I want it to be. (I was unclear in my first description, thinking the latex could speak for itself---apologies.) my point here was not booktabs. my point is about how the header row and the content rows align. my desire is that the columns are centered below, though with content cell alignment of 'r' for the middle one and 'l' for the right one. it is not a mere "center" in the non-header columns. it is that the header has column names that are much longer than their contents, and therefore should center more nicely above their contents. this seems to me to be a more sensible format (albeit in a concocted example) than what I have been using to date.
another common solution to the same conundrum here---which I am not asking for---is to break the header cell so that it is not much wider than its content below, and then using its own formatting, e.g., via a \multicolumn. this can be more pleasing in many situations (e.g., portrait documents with lots of vertical space but not much horizontal space, and easily broken row titles), but not in all.
yet the way I accomplished this is not a good idea, because it loses the tex-ish association of columns. when rows have different heights, it does not work. looks wise, it is exactly what I want: the values and factorial contents cells are all right justified, but the entire columns are centered below their headers. similarly, the "more columns" is left-justified, but because its row header is larger, the content is all indented (here by about two em's).
I could achieve something like it with hand-tuned \makebox[Xem][c]{} commands in the first row, but this again requires a lot of physical (rather than logical) markup.
a good logical markup would be something like
\begin{tabular}{rrl}
\header{Value} & \header{A Very Interesting Factorial} & \header{More Columns} \\
3 & 6 & small \\
6 & 720 & large \\
8 & 40,320 & larger \\
10 & 3,628,800 & largest \\
\end{tabular}
plus some preamble magic that knows that each header cell should center with the widest row cell below it, and then add whatever space is needed left and right so that it does not stick into its neighbors.
more specifically, is there a package that does what I "hand-formatted" physically the logical way instead? probably not, but LaTeX always surprises me, both with its flexibility and shortcomings.
/iaw
PS: scribe and then latex get a lot of logical markup right, which is even more remarkable given that html5 still gets basics wrong 40 years later (section, article, header confusion). but latex forgot in its logical markup to separate tabular column and row headers, aka html <th> vs <td> . but this is a digression.
\header
depending on the format required, typically\newcommand\header[1]{\multicolumn{1}{c}{\textbf{#1}}
is that what you are looking for?