4

I have a nested multicol environment like:

\begin{multicols}{2}
Text
\begin{multicols}{2}
lots of text
\end{multicols}
\end{multicols}

my problem is the nested environment becomes longer than the remaining space on the first side of the page, and moves the entire environment over to the next column. Is it possible to have it break the nested multicol environment over the column like a multicol would break over the page?

  • 1
    A nested multicols cannot break a column, AFAIK. – karlkoeller Jan 30 '14 at 9:12
3

multicols environment are worked at one at the time, so the moment the nested one is started the outer one is not continuing until it is finished. Therefore the inner environment has no clue about any possible restrictions resulting from the outer environment being eventually split into columns and pages. All it sees is that it is called within a "box" (so to speak). And if that happens it will form a balanced box which is then returned to the outer layer. As a result this box forms a single (unbreakable) object in the outer multicols and is therefore moved to the next column in case it doesn't fit.

The goal of multicols is balancing columns. On the outer layer it also has to deal with page breaks but if there is more than one page worth of material, the first pages are simply cut from a galley (which has been fully processed --- i.e., that galley is just a bunch of characters boxes and spaces and all macros have long been processed). So either the whole approach would need to be radically different so that outer and inner multicols would interact with each other or the inner multicols would need to produce a breakable object (which is not really possible if at the same time you allow columns with baselines in different places etc). However the latter approach would result in strange formatting as then the text flow would jump back and forth between columns/pages.

So bottom line, no way (with multicols).

Having said that, I think I remember that you can actually combine the "twocolumn" option with multicols which might give you what you want. However, no guarantee that this is still working these days.

  • Yeah, that's what I was figuring. Do you think there is a way to get around that? I mean if you use multicols around the entire document, it will continue text onto the next page. – EthanSpitz Jan 30 '14 at 17:49
  • @EthanSpitz sorry no, no way around that, see extended answer – Frank Mittelbach Jan 30 '14 at 20:16

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.