2

I am currently using multicols and would like to organize my columns in a way that some paragraphs can occupy multiple columns. Like as follows

columns example

With the red blue and green lines all being different sections of text. I have already looked at flowfram, but this does not solve my problem because it would only works if each page is painstakingly handcrafted pixel by pixel, em by em, or pt by pt. If there is a tool which simply allows me to define the position of my frames and columns in relation to one another, and define the size of my columns with respect to multicol's \columnsize argument, that tool would suffice.

  • 1
    You can use flowfram for this and specify a layout for a set of pages. Do you have a layout that differs from one page to the next? – Werner Feb 23 '17 at 04:02
  • yes. Are there no packages which simply allow me to define the position of the frames with relationship to one another like a table or am I limited to manually building pages by hand? – G. David Feb 23 '17 at 04:04
  • In such a case, LaTeX does not seem to be the ideal tool for what you're using it. Instead, you can use Inkscape or perhaps InDesign... – Werner Feb 23 '17 at 04:06
  • One would think that typesetting software as advanced as latex would have such an obvious feature or that someone would have made such a package. Or am I misunderstanding the purpose of latex, is it not a broad typesetting tool but something primarily aimed at stuff that goes straight up and down the page? – G. David Feb 23 '17 at 04:10
  • 1
    TeX was designed so Knuth could be sure The Art of Computer Programming would be typeset in the way he wanted. LaTeX, too, is primarily aimed at high-quality output for scholarly works, not any kind of document conceivable. While it may well be possible to do what you want, most people use it to write pretty traditional types of works. – jon Feb 23 '17 at 04:25
  • 1
    LaTeX is powerful, but it's not a broad typesetting tool. Just like a butter knife can spread all kinds of delicious toppings, it's probably not the best tool for cutting a tree. Sure it can, but it'll take quite a while, require you to where extra gloves to avoid blisters and probably have many moments where you just want to give up. :-| You can achieve the layout you mention using flowfram, but it may just be difficult to maintain. TeX enjoys a recti-linear setup, but has arbitrary paragraph forming difficulty](http://tex.stackexchange.com/a/129137/5764). – Werner Feb 23 '17 at 04:32
  • Possibly LaTeX 3 will provide something closer to what you're looking for. There's some code for this already, but highly experimental. You certainly can do this kind of thing in LaTeX, but it is really designed to ensure consistent layout throughout. If you want an inconsistent layout, you are fighting it all the way. – cfr Feb 23 '17 at 04:52
  • @Werner Do you really think it could? If it were a very small tree, maybe, but otherwise ...? – cfr Feb 23 '17 at 04:53
  • You can test if PaperTeX is enough flexible for your needs. Or you can also try combining magazine and raster libraries from tcolorbox – Ignasi Feb 23 '17 at 09:39
  • You can also do page layout using tikzpagenodes. See http://tex.stackexchange.com/questions/141924/how-to-typeset-a-complex-layout-like-a-page-of-the-talmud/215188?s=1|1.3476#215188 – John Kormylo Feb 23 '17 at 16:00

1 Answers1

3

I dot not understand your problem by flowfram, as you can make layouts for several pages, but may be you find useful my question Three-columns text with figures of 2\columnwidth.

However, without this package, you can use minipages, or minipages and multicolumns:

mwe

\documentclass{article} 
 \usepackage[margin=2cm]{geometry}
 \usepackage{lipsum}
 \usepackage{microtype}
 \usepackage{multicol}
\usepackage{graphicx}
\usepackage{adjustbox}
\parindent0pt
\begin{document} 
\adjustbox{valign=t}{\begin{minipage}{.32\linewidth}
 \lipsum[1-2]
 \lipsum[4]
 \end{minipage}}\hfill%
\adjustbox{valign=t}{\begin{minipage}[c]{.65\linewidth}
\hfil \includegraphics[width=\linewidth]{example-image}\par\bigskip
 \lipsum[5] 
\begin{multicols}{2}
 \lipsum[6-7]   
\end{multicols}
\end{minipage}}
\end{document}

See also the textpos package.

Fran
  • 80,769