Tell me more ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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}
share|improve this question
2  
do you want to centre an entire column or just one row, or just one cell? – ArTourter Jan 3 at 20:33
Sorry... I want to center all X columns – Matthias Jan 3 at 20:36
Use c instead of X. – m0nhawk Jan 3 at 20:37

3 Answers

up vote 6 down vote accepted

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}
share|improve this answer
\usepackage{tabularx,ragged2e}
\renewcommand\tabularxcolumn[1]{>{\Centering}p{#1}}

with ragged2e you do not need the \arraybackslash

share|improve this answer
Thanks for your answer too! – Matthias Jan 3 at 21:20

Although this question is somewhat old, since I recently dealt with the same task, 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}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.