# Custom specific page in two columns

I know that you can make a page in two columns with `multicol` package, but this control the text. I want to know if possible put a specific page in two columns without depending of text. Its possible make something like `\thispagestyle` command for number of columns in specific page? or this is more related with TeX ... (I'm using memoir class)

• So you want the text to flow from one page that has a single column onto another page that has multiple columns, and onto another page that has a single column again? – Werner May 26 '15 at 17:39
• Is part of idea, for example, If I want just the first page of each chapter in two columns and the rest in one column (with `\input{first section}` within chapter in first page), – juanuni May 26 '15 at 18:13
• That's not as simple to automate. You'll have to adjust the paragraph shapes manually across the page boundary at the very least, since the line widths may change mid-paragraph. – Werner May 26 '15 at 18:15
• I suspected it, because that I ask about something like `\thispagestyle` or if my question is more related to TeX ... – juanuni May 26 '15 at 18:18

The model used by the TeX engines for continues text is fairly simple (for good reason): it is ressentially a scroll with fixed width from which pages are cut. This can be fairly easily extended to cutting columns as long as all of them are of the same width.

The reason for this model (or one of it) is the fact that TeX optimizes paragraph breaking across the full paragraph data without knowing at that time where on a page that text will end up as cutting columns/pages comes later. For this it needs to look ahead until it sees the end of a paragraph and then breaks it into lines ( of equal width). So without putting controls inside the text only at the point between paragraphs it is possible to change the column width automatically.

When we talked Don Knuth into extending TeX to TeX3 in Stanford, I tried in vain to get some mechanisms in that allow rebreaking paragraph material properly to different width (which would have allowed solving your ask). So in summary with the current program this is not possible in full generality.

There are ways if the input material is restricted and there are ways that work "often" but that's about it. You may want to look at flowfram that can do some of this if I remember correctly.

• Thanks a lot, I read about `flowfram` package. I hope make something with this ... – juanuni May 30 '15 at 23:23