I would like to have a figure spanning one and a half columns in a two columns environmnent. I would like to have it aligned to the left side of the page and some text can then be written on the remaining half column on the right side of the page.

I try to illustrate what my page layout would look like below :

|    figure        | text |
| text col 1 | text col 2 |
| text col 1 | text col 2 |
| text col 1 | text col 2 |
| text col 1 | text col 2 |
| text col 1 | text col 2 |
| text col 1 | text col 2 |

I tried to do something like :


but it ends up not showing my figure at all. How can I reach the expected result ?

  • 1
    if the text is part of the figure, just use a normal figure* environment with a graphic and some text. If you want the text to flow automatically from the main document content to the narrow region so the reading order is text col 1// text // text col 2 with the text breaking automatically then that is very hard to do in tex. Nov 8, 2018 at 15:01
  • the text is not part of the figure, I would effectively like the main text to wrap around it in the narrow region very much as you describe. Ah is that so hard ? mmmmh.
    – Mary
    Nov 8, 2018 at 15:04
  • @DavidCarlisle : could there be a way to have the figure's caption to be in that narrow region then ? Would that be something easier to do ?
    – Mary
    Nov 8, 2018 at 15:06
  • hard is perhaps not really putting it strongly enough. TeX does not support that. You would have to do the page breaking by hand and adjust the parshape of the paragraph by hand and then any edit anywhere in the document you would have to adjust to make sure the narrow lines came on the correct text. Nov 8, 2018 at 15:07
  • putting the caption there is trivial, just \begin{figure*}\includegraphics[width=.7\textwidth]{...}\hfill\begin{minipage{.25\textwidth}\caption{....}\end{minipage}\enfd{figure*} Nov 8, 2018 at 15:08

2 Answers 2


If you really want this you can have it but it requires a lot of manual work that should be left until the document is done as any edit to the document forces a change of the settings. Basically you need to see where the paragraph breaks and then specify how many long and short rows are needed in each affected paragraph.

enter image description here


\def\z{\stepcounter{enumi}One two three four five six. }
\def\zz{Red yellow green \z\z\z \Roman{enumi} blue black white. }
\def\zzz{\zz\z \zz\zz\z\z\zz}



\caption{ Zzzzz zzz zzzz z z z zzzzzzzzzz  zzz}


\def\full{0pt \linewidth }
\def\short{.55\linewidth .45\linewidth }

\parshape 5

\parshape 17
  • Thanks, that is something I would not like to do however. It is too complicated and not very much "latexy" as I would have to count some lines as you say. I guess wrapping a caption around a figure is as hard. Overall, I am surprised that latex doesn't handle this properly, it seems to me quite simple to write text around a defined box... But I don't really know how latex works beyond what I type in my editor.
    – Mary
    Nov 8, 2018 at 16:23
  • 1
    @Mary the problem is that latex breaks paragraphs in to lines, then lines of text in to columns (adding floats at that point) then breaking columns in to pages. So by the time you know that a column of text is a left column on some page it is too late to go back and change the line breaking. Nov 8, 2018 at 16:25

Try using the sidecap package. This would have similar effect except the side text are figure captions.

\usepackage{sidecap, caption}

    \caption{A really long caption with a bunch of random text - Eos ipsa dolor hic consequatur inventore dignissimos libero in iusto modi ab similique asperiores.
    Sed ratione voluptatem non enim consequatur est sequi deleniti At voluptatem molestiae ut exercitationem dolore.}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .