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.

My main goal is to disable text justification in tables and just have left-aligned text. I've loaded the array package and defined a custom \newcolumntype like so:

\usepackage{array}
\newcolumntype{x}[1]{>{\raggedright}p{#1}}

When using this in the tabular environment, everything works fine until the last column, when it throws this error:

./temp.tex:96: Misplaced \noalign.
\midrule ->\noalign 
                     {\ifnum 0=`}\fi \@aboverulesep =\aboverulesep \global \@...
l.96     \midrule

?

Using \begin{tabular}{@{} x{28mm} x{20mm} x{20mm} p{25mm} @{}} works fine (but throws an underfull \hbox warning) but using \begin{tabular}{@{} x{28mm} x{20mm} x{20mm} x{25mm} @{}} throws the error above.

Why am I not allowed to use my custom column type on the last column? It seems as if I'm missing something obvious to a trivial solution.

With \begin{tabular}{@{} x{28mm} x{20mm} x{20mm} p{25mm} @{}}:

table with underfull \hbox

share|improve this question
1  
Please add a minimal working example (MWE) that illustrates your problem. –  Torbjørn T. Nov 18 '11 at 22:47
add comment

2 Answers 2

up vote 14 down vote accepted

It's a known issue. When you say \raggedright, the command \\ is redefined. This causes no harm until you want to terminate a table row: LaTeX finds the \\ as defined by \raggedright which doesn't mean the same thing as normally in tabular. Write

\newcolumntype{x}[1]{>{\raggedright\arraybackslash}p{#1}}

and use \newline if you want to terminate a line in one of the cells. Or use your definition and terminate table rows with \tabularnewline.

share|improve this answer
add comment

In addition to the answer by egreg - the command \RaggedRight from ragged2e package does not have this issue. This works:

\usepackage{array},
\usepackage[originalparameters]{ragged2e}  % The option prevents hyphentation rather than making it rare 
\newcolumntype{x}[1]{>{\RaggedRight}p{#1}}
share|improve this answer
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.