# Centering in tabularx and X columns

How can I center the column when using X in tabularx environment like in this example?

\begin{tabularx}{\textwidth}{@{}lXXXXX@{}}
1 & 2 & 3 & 4 & 5 \\
\end{tabularx}

• do you want to centre an entire column or just one row, or just one cell? – ArTourter Jan 3 '13 at 20:33
• Sorry... I want to center all X columns – Matthias Jan 3 '13 at 20:36
• Use c instead of X. – m0nhawk Jan 3 '13 at 20:37
• Please consider taking Huugo as the correct answer. – Peter Senna Apr 16 '17 at 9:45

I recently dealt with the same task, so here I present my solution: I defined a new columntype Y to center the cells in a tabularxenvironment.

In the preamble define:

\newcolumntype{Y}{>{\centering\arraybackslash}X}


to typeset the example simply enter

\begin{tabularx}{\textwidth}{@{}lYYYYY@{}}
1 & 2 & 3 & 4 & 5 & 6\\
\end{tabularx}

• Would it be on topic to expand this answer to how to center a specific row? (if there is such an elegant solution to do so) – Zach Smith Dec 3 '17 at 7:40

You have two solutions (well at least)

If you are bound to tabularx then you can use

\begin{tabularx}{\textwidth}{@{}l *5{>{\centering\arraybackslash}X}@{}}
1 & 2 & 3 & 4 & 5 & 6\\
\end{tabularx}


Alternatively you can use the tabu package which offers you a lot more flexibility:

\begin{tabu} to \textwidth {@{} l *5{X[c]}@{}}
1 & 2 & 3 & 4 & 5 & 6\\
\end{tabu}

• how to do the tabularx for \ruggedright? just replacing centering doesnt work :( – ankhi Sep 26 '14 at 19:04
• @ankhi probably because it is spelt \raggedright! However, a solution to this question (and this really should be a separate question rather than a comment to a vaguely related one), is given in this answer which uses the same package as suggested by herbert below – ArTourter Sep 27 '14 at 0:45
• May I ask what the @{} is doing? – Raven Dec 16 '17 at 14:22
• @Raven have a look at this answer. Basically it removes spaces. – ArTourter Dec 16 '17 at 20:14
\usepackage{tabularx,ragged2e}
\renewcommand\tabularxcolumn[1]{>{\Centering}p{#1}}


with ragged2e you do not need the \arraybackslash