Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Although in multicol environment (not the twocolumn option in document class) is problematic to place floats, there are some ways to put figures within a single column or occupying the entire width of the text. (That is not the problem)

But how manage figures that must be fitted in 2 columns when there are 3 columns? (ie, images fitted to about 0.65\textwidth after a \begin{multicols}{3}). There are some solution with or without multicol package?

This is a usual design in some books and journals and it is hard to believe that there are no document class, packages nor some clever trick to obtain this. For a single page I suppose that doing some ad hoc manual arrangements, with minipages for example, might be enough, but for a large document this approach would be a torture, so my question is about a general solution.

share|improve this question
1  
Maybe flowfram helps. –  Stephan Lehmke Sep 5 '12 at 5:59
    
Thanks Stephan. Now I have no time to study the package, but looks great. –  Fran Sep 5 '12 at 10:51
    
@StephanLehmke, it seems that nobody knows another solution. Please convert your comment in answer to accept it. –  Fran Sep 16 '12 at 19:19
add comment

1 Answer

up vote 7 down vote accepted

In case that might be useful for someone, here are a MWE using flowfram as suggested by Stephan Lehmke. Is not comparable to a elegant float of width = n-x columns, but solved the problem. enter image description here

\documentclass{article}
\usepackage[demo]{graphicx} % Demo for MWE
\usepackage[landscape,margin=1cm]{geometry}
\usepackage{color}
\usepackage{flowfram}
\usepackage{lipsum}
\usepackage{microtype}

\newflowframe[1-7]{0.30\textwidth}{\textheight}
{0pt}{0pt}[leftcolumn]

\newflowframe[2,4-7]{0.30\textwidth}{\textheight}
{0.35\textwidth}{0pt}[centercolumn]

\newflowframe[2,4-7]{0.30\textwidth}{\textheight}
{0.7\textwidth}{0pt}[rightcolumn]

\newflowframe[1,3]{0.30\textwidth}{.6\textheight}
{0.35\textwidth}{0pt}[shortcentercolumn]

\newflowframe[1,3]{0.30\textwidth}{.6\textheight}
{0.7\textwidth}{0pt}[shortrightcolum]

\newstaticframe[1]{0.65\textwidth}{.35\textheight}
{0.35\textwidth}{.65\textheight}[statico]

\newstaticframe[3]{0.65\textwidth}{.35\textheight}
{0.35\textwidth}{.65\textheight}[statico2]

\usepackage{caption}

\title{\textbf{Flowfram demo}}
\author{by Fran}
\date{\today}

\begin{document}

\maketitle

{\color{blue} The dummy text of this MWE flow freely
through three columns in four pages. In pages 1 and 3 the
two landscape images have a width of two columns.}
\bigskip

\lipsum[1]

\begin{figure}[hb]
\includegraphics[width=.3\textwidth]{figure.png}
\caption{This is a float -- here -- figure.}
\end{figure}

\begin{staticcontents*}{statico}
\includegraphics[width=\textwidth, 
 height=0.32\textheight]{figure.png}\\
\captionof{figure}
{This is a non float image in a static frame.}
\end{staticcontents*}

\begin{staticcontents*}{statico2}
\includegraphics[width=\textwidth, 
height=0.32\textheight]{figure.png}\\
\captionof{figure}
{This is another landscape in another static frame.}
\end{staticcontents*}

\lipsum[2-3]

\begin{figure}[h]
\includegraphics[width=.3\textwidth]{figure.png}
\caption{Other float -- here (bottom) -- figure.}
\end{figure}

\lipsum[4-35]

\end{document}
share|improve this answer
    
I see one huge disadvantage, it is not on the grid, check more: wiki. You should add vertical spaces to achieve baseline grid layout, check more: baseline grid. I don't know any out-of-the-box solution in LaTeX, that can provide this. –  random.nick Oct 10 '13 at 3:42
    
@random.nick This was a question about mixing columns and floats, in no way related with the grid system. You can find questions and answers about this style of typography under the tag grid-typesetting. –  Fran Oct 10 '13 at 18:25
    
I understand, but grid is elementary in typography. It is not a style, it is something very fundamental. So it is related to this and every other question:) You can try to use grid package, if you want. –  random.nick Oct 12 '13 at 12:26
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.