# Can I set the format of an entire column except for the header?

I would like to italicize all of the names in the second column of a table, but presently the only way I have found to do this is to use \textit{} in each cell, i.e.:

\begin{table}
\begin{tabular}{lll}
PFT & Scientific Name & Common Name\\
PFT1 &  & \\
& \textit{Elymus repens} & quackgrass\\
& \textit{Koeleria macrantha} & prairie Junegrass\\
%....
\end{tabular}
\label{tab:foo}
\caption{test caption}


Is there an easier / more elegant way to do this?

-

Use the array package to specify \itshape for the second column, and use the \multicolumn command to cancel the effect for the header.

\documentclass{article}

\usepackage{array}

\begin{document}

\begin{tabular}{l>{\itshape}ll}
PFT & \multicolumn{1}{l}{Scientific Name} & Common Name\\
PFT1 &  & \\
& Elymus repens & quackgrass\\
& Koeleria macrantha & prairie Junegrass\\

Instead of \multicolumn, you can also use \upshape or \textup{...}, although \multicolumn is more general. –  Antal S-Z Nov 30 '10 at 1:14
\normalfont also works. –  Caramdir Nov 30 '10 at 1:16
@Antal: My idea was not to counter \itshape, but to cancel whatever formatting may have been set for the column. @Caramdir: I didn't think of \normalfont. –  lockstep Nov 30 '10 at 6:38