4

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}
  • Don't wrap it and use something like the capt-of or caption package? – cfr Oct 21 '14 at 12:06
  • While that is definitely a possible work-around (and I might just end up doing that) ... a work-through which solves the problem using wrapfig would be better.. – Soren Oct 21 '14 at 12:11
  • 4
    But you don't want to wrap the figure with text so wrapfig is not really appropriate here, is it? That is, that environment is specifically intended to wrap text around the figure and you specifically want it not to try to do that. So you are trying to tighten a screw with a hammer. It is not really a workaround to suggest you use a screwdriver in that case, although obviously if you bang the screw hard enough, it will penetrate eventually (albeit with results you may not have wished for). – cfr Oct 21 '14 at 12:31
  • 1
    a simple experiment will show that wrapfig with a figure that is as wide as the text will work no better on a one-column page -- it simply positions the minimum-width "overflow" lines against the left margin, overprinting the figure. this isn't mentioned in the documentation, but i think a suggestion to the author of wrapfig that a warning about over-wide figures would be useful might be in order. – barbara beeton Oct 21 '14 at 12:38
  • I appreciate what you're saying and your analogy with the hammer and screwdriver :-) – Soren Oct 21 '14 at 12:42
1

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

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.