[Tex/LaTex] Vertical centering of text within a table

tablesvertical alignment

I have a table defined as:

\begin{table}
    \begin{center}
        \setlength{\extrarowheight}{3.0pt}
        \begin{tabular}{ | c | p{12.5cm} |}
            \hline
            \textbf{Item 1} & Long description of item 1 \\
            \hline
            % ... (etc)
        \end{tabular}
    \end{center}
\end{table}

I want the text in the first column to be both vertically and horizontally aligned. Given the code above, the text is only horizontally aligned. I have tried fixing this by changing the column alignment/width specifier from 'c' to 'm{2.5cm}', but to no avail.

How do I make the column centered both horizontally and vertically?

Best Answer

Write

\begin{tabular}{|c|m{12.5cm}}

This requires loading the array package (that you're already loading, but other users might not know it).

Some comments
Each table has its particular features and it's quite difficult to state "universal rules". In general, however, vertical rules should be avoided as they make the table more difficult to read horizontally.

A generous amount of space between rows can visually separate them in a more pleasant way than with a rule.

Whether centering vertically the description in the first column depends on the table, but I feel it can be distracting.

Related Question