I'm trying to \flushleft the contents of a table, but wasn't successful so far. Several sources state that one should use \raggedright to do this, but I found no complete example to see how this can be incorporated without getting errors.

This is my (reduced) code:


\newcommand\Tstrut{\rule{0pt}{2.6ex}}       % top strut
\newcommand\Bstrut{\rule[-1.1ex]{0pt}{0pt}} % bottom strut

    \caption[Steps in a hypothetical monopolist test]{Steps in a hypothetical monopolist test.}
    \begin{tabular}{ p{3em} p{11em}  p{11em}  p{12em} }    
    \bf  &    
    \bf Step 1 & 
    \bf Step 2 & 
    \bf Step 3 \Tstrut\Bstrut \\ \hline
    PMD\tnote{*} & (1) & (1, 2) & (1, 2, 3) \Tstrut\Bstrut \\
    Q & Does monopolization of product 1 give pricing power? & Does a hypothetical monopolist of products 1 and 2 have pricing power? & Does a hypothetical monopolist of products 1, 2 and 3 have pricing power? \Tstrut\Bstrut \\ 
    A & No, because there are two perfect substitutes omitted from the proposed market. No ability to raise price of good 1. & No, because there is still a perfect substitute omitted from the proposed market (product 3) that constrains the ability of the hypothetical monopolist of goods 1 and 2 to raise their prices. & Yes, if products 4 and 5 are not good enough substitutes. If so, then the market definition of (1, 2, 3) is accepted. No, if either product 4 or 5 is a good enough substitute to constrain profitability of a price increase. In that case, continue the test. \Tstrut\Bstrut \\                     
    \item[*] Proposed market definition.

And output: enter image description here

Here the original source which I wish to recreate as closely as possible: enter image description here

I did some changes to the original source which I personally find more appealing to the eye, but my main goal is really to \flushleft and get rid of all the Underfull \hbox errors.

Can anyone please help to achieve this?

(Spacing is another topic which I will have to solve this later)

  • you have flush left and then on the next line undo its effects with \centering: \begin{flushleft} \centering – David Carlisle Dec 29 '16 at 16:41
  • Thank you @DavidCarlisle - I removed the \centering for testing purposes, but sadly the output remains the same. – Malganas Dec 29 '16 at 18:58

Welcome:) Replace this { p{3em} p{11em} p{11em} p{12em} } with this {>{\RaggedRight\arraybackslash}p{3em}>{\RaggedRight\arraybackslash}p{11em} p{11em}>{\RaggedRight\arraybackslash}p{12em}}

With the package \usepackage{array,ragged2e}

  • Thank you for your answer @Saravanan! It did help to bind everything to the left, but somehow it also increased the spacing between the first two columns. See here. The upper image shows the old code and the lower one the new one. – Malganas Dec 29 '16 at 18:45
  • 1
    Reduce the {11em} to 9 or 8 em.. hope it helps – Saravanan Dec 30 '16 at 3:34
  • Ah, I was even increasing it - thank you, this did the trick. – Malganas Dec 30 '16 at 12:14

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.