[Tex/LaTex] Wrapfig and multicol — how to avoid wrapping text

multicolwrapfigure

I'm writing a report in two-column format using multicol

I'm placing some figures in the text using wrapfig

It works fine, when the figure is e.g. 50% of the column width

Wrapping 50% of column width ... just fine and dandy!

However, if I try to make the figure fill the entire column, I get text overhanging into the next column … like this:

enter image description here

You will notice there is text super-impositioned to the right of the figure in the right-hand side column.

I realise there is a similar problem described elsewhere in these fora in relation to figure wrapping onto the next page and the (simple) solution there is to either move the figure away from the page break and/or change the position from r or l to R or L.

However … that is not the issue here. No matter where or how I place the wrapfig, the following text is place next to the figure. It is as if wrap figure wont allow text not to wrap around the image.

So why don't I just drop wrapfig and simply use \includegraphics … because I need the caption

Here is a minimal working example … I don't have an image of a duck, sorry 🙂

\documentclass[DIV=calc, paper=a4, fontsize=11pt]{scrartcl}
\usepackage{multicol}                       % Allow for switching between 1 and 2 columns
\usepackage{wrapfig}                        % To wrap text around small figures
\usepackage{graphicx}
\title{}
\author{}
\date{}

\begin{document}
\begin{multicols}{2}

Et af højdepunkterne i løbet af 2013 har været afslutningen af den første undersøgelsesrunde af de mere end 1000 patienter, som indgår i Rygcenter Syddanmarks kohorte til ’\emph{Tidlig diagnostik af Spondylartropati}’, som ligger til grund for Bodil Arnbaks PhD-afhandling, som blev forsvaret i 2014. 

\begin{wrapfigure}{L}{\linewidth}
  \includegraphics[width=\linewidth]{gull.png}
\end{wrapfigure}

Projektet er et rigtig godt eksempel på hvordan kliniske data fra patienter, klinikere og MR-skanninger kan integreres i SpineData og anvendes til at besvare komplicerede forskningsspørgsmål. 2013 blev også året hvor patientspørgeskemaerne blev oversat til yderligere otte sprog. Spørgeskemaet har tidligere været tilgængelige på dansk og engelsk men kan nu også læses på tysk, arabisk, serbo-kroatisk, somali, tamil, vietnamesisk, tyrkisk og farsi. Dette betyder, at patienter kan indtaste deres helbredsoplysninger i spørgeskemaet på det sprog, som de kender bedst. Databasen ’oversætter’ selv svarene, så klinikerne ser svarene på dansk.

\end{multicols}
\end{document}

Best Answer

Would need tweaking:

\documentclass[DIV=calc, paper=a4, fontsize=11pt]{scrartcl}
\usepackage{multicol}                       % Allow for switching between 1 and 2 columns
\usepackage{wrapfig}                        % To wrap text around small figures
\usepackage{graphicx,calc}
\usepackage{kantlipsum}
\title{}
\author{}
\date{}

\newcommand\myfigure[5]{%
  \ifdim#2>.8\linewidth
    {%
      \centering
      \includegraphics[width=#3]{#4}%
      \captionof{figure}{#5}%
    }%
  \else
  \begin{wrapfigure}{#1}{#2}
    \includegraphics[width=#3]{#4}
    \caption{#5}
  \end{wrapfigure}
  \fi
}

\begin{document}
\begin{multicols}{2}

Et af højdepunkterne i løbet af 2013 har været afslutningen af den første undersøgelsesrunde af de mere end 1000 patienter, som indgår i Rygcenter Syddanmarks kohorte til ’\emph{Tidlig diagnostik af Spondylartropati}’, som ligger til grund for Bodil Arnbaks PhD-afhandling, som blev forsvaret i 2014.

\myfigure{L}{\linewidth}{\linewidth}{example-image-a}{abc}

Projektet er et rigtig godt eksempel på hvordan kliniske data fra patienter, klinikere og MR-skanninger kan integreres i SpineData og anvendes til at besvare komplicerede forskningsspørgsmål. 2013 blev også året hvor patientspørgeskemaerne blev oversat til yderligere otte sprog. Spørgeskemaet har tidligere været tilgængelige på dansk og engelsk men kan nu også læses på tysk, arabisk, serbo-kroatisk, somali, tamil, vietnamesisk, tyrkisk og farsi. Dette betyder, at patienter kan indtaste deres helbredsoplysninger i spørgeskemaet på det sprog, som de kender bedst. Databasen ’oversætter’ selv svarene, så klinikerne ser svarene på dansk.

\kant[1]

\myfigure{L}{.5\linewidth}{\linewidth}{example-image-b}{def}

\kant[2]

\end{multicols}
\end{document}

custom figure environment

Related Question