Take the 2-minute tour ×
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 '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
add comment

3 Answers

up vote 7 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
add comment
\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 '13 at 21:20
add comment

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
    
This is beautiful. Works nicely! –  Trefex Apr 7 at 16:15
add comment

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.