I want a table whose first column is aligned top, second column is aligned middle, and third column is aligned bottom; like this:

I wrote the following code:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{array}
\begin{document}
\begin{tabular}{| p{1cm} | m{1cm} | b{1cm} |}
\hline
x &
A long text comes here &
x \\
\hline
\end{tabular}
\end{document}
Yet, to my surprise, the outcome was "all columns aligned middle," as follows:

What did I do wrong?



\parbox[t]{1cm}{x}\parbox{1cm}{A long text comes here}\parbox[b]{1cm}{x}, and since p m and b correspond to to these kinds of parboxes, array does work the way the manual says. I'm just not sure what the bet way of dealing with this issue is. – frabjous Dec 01 '10 at 22:02\parboxoffers such behavior? I expectp,m, andbto align vertically at top, middle, and bottom, respectively. – Sadeq Dousti Dec 01 '10 at 22:16\parbox[t]{1cm}{some words}\parbox{1cm}{A long text comes here}\parbox[b]{1cm}{some words}– frabjous Dec 01 '10 at 23:21