How can i span image across two columns in multicolumn environment?

I want to create something like this:

c1 Image
c1 Image
c1 c2 c3
c1 c2 c3

(c1, c2, c3 = columns)

It can be done in ConTeXt: http://wiki.contextgarden.net/Columns


1 Answer 1


The simple answer is that this is not available current LaTeX at least not in an automated fashion (nearly anything can be build manually). Standard LaTeX only supports one and two column layouts. The multicol package supports up to 10 columns and column balancing but at the price of not supporting any floating objects inside. It only supports floats spanning all columns. The experimental output routine for LaTeX3 does support all of what you want, except that it is nothing other than a proto-type, so no help there either.

What might help you though is to use multicol together with the extension I wrote a few weeks ago in response to a question about placing figures inside a two column layout. This extension offers you the ability to add single column figures on specific places into multicol environments. Now with a bit of extra work that could be used to have things spanning several columns: either by extending the solution, or by specifying that an image on this page should go to top of column two and then one of the same height to column three (but empty, thus only reserving the space). Might end up being a workable solution.

Note, by the way, the sentence from ConTeXt garden page that you cited:

Columns and one-column floats don't work well together in TeX. It seems that you can't have a float that spans one column automatically put at the top or the bottom and have the columns balanced automatically at the end. Neither ConTeXt nor LaTeX can do it in a automatized way (like with floats that span more than a column).

It all comes down to the fact that this is not a natural thing to specify in the underlying TeX model.

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.