\section{Section Title} %label{8.4.47}
\subsection*{Some note on Section}
Heading 1 & Heading 2 & Heading 3  & Heading 4 \\
Text 1  & Text 2 & A\textsuperscript {6/1} B\textsuperscript {5/1} C\textsuperscript {1/2}  D\textsuperscript {7/1} (E + F)\textsuperscript{8.4.46} (G + H)\textsuperscript{8.4.45} Some more text\textsuperscript{6.1.72} \\

In the above table |p{3cm} is making the columns justified. I get some unwanted space between the characters, is there a way to make it align to the left, if the text does not fit in a line either put a "-" and continue to next line or simply start from a new line.

Also can I post my code with Unicode characters?

  • 1
    You can post on this site in Unicode just fine: şéê? If you want to know about Unicode in TeX, that's also possible; there have been a number of questions here about doing just that. And in general, if you have a specific question about this site, you should ask it over at meta. Dec 18 '10 at 18:48

You could use the array package and let it insert \raggedright commands. A comfortable way is to define a new column type:


Now just use P instead of p to get left justified p columns.

Instead of \raggedright, you could also use the enhanced command \RaggedRight of the ragged2e package, which allows hyphenation. Further \arraybackslash, which restores the behavior of \ (changed by \raggedright), is no longer needed.

So, my preferred way would be


I'm further inserting \hspace{0pt} because otherwise there could be hyphenation problems: TeX doesn't hyphenate the first word in a box. Inserting zero space works around that.

  • I am very new to Tex and still do not know how to implement your solution.
    – Aku
    Dec 18 '10 at 17:42
  • 3
    @Aku: just add my code lines to your preamble (either the 2 line at the beginning or the variant with 2 lines). Then change your tabular definition to use the capital P: \begin{tabular}{P{2cm}|P{4cm}|P{3cm}|P{3cm}}.
    – Stefan Kottwitz
    Dec 18 '10 at 17:48
  • 2
    Is it possible to make this work with tabularx as well? If I do exactly the same in a tabularx the text simply stays left aligned. I need a tabularx because I want my table to have a flexible column, maintaining exactly 100% text width overall.
    – bluenote10
    Aug 9 '15 at 15:13
  • @bluenote10, \raggedright aligns left. For right-aligning, with tabularx, you can redefine the X column: \newcolumntype{R}{>{\raggedleft\arraybackslash}X} (notice this uses \raggedleft) Jul 15 '20 at 8:57

The version 2.4f of array has introduced new types of columns: w{...}{...} and W{...}{...}. The first argument is l, c or r and the second is the width of the column. With W, you have a warning if the content of the cell is too wide.



qsdf & poiu \\
pqsdg aer & pou azer \\


Output of the above code

  • This is the answer!
    – theV0ID
    May 3 at 16:24
  • How can I impose text wrapping in such a column?
    – kapple
    Nov 10 at 11:08
  • @kapple: Use standard column types p, m, b of the package array. Nov 10 at 11:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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