0

I'm trying to force an image to appear on the right column of a two-column document. I have already written 5 pages. The 5th page ends with an image:

\begin{figure}[!h!tpb]
\centering
\begin{minipage}{.77\columnwidth}
    \subfloat[Age range.]                   {\includegraphics[width=.91\textwidth, right]   {Evaluation/questions/AgeRange}} \\
    \subfloat[Level of education.]          {\includegraphics[width=.91\textwidth, right]   {Evaluation/questions/Scholarity}} \\
    \subfloat[Knowledge of vector fields.]  {\includegraphics[width=.99\textwidth, right]   {Evaluation/questions/Knowledge}} 
    \caption{Summary of the participants.}
    \label{fig:participants_summary}
\end{minipage}
\end{figure}

As I have images that contain text and end up with different sizes, I used a mini page to overcome this problem.

After that page, I start a new figure placement:

\begin{figure}[!htpb]
    \centering
    \vspace{-10pt}
    \subfloat[]{\includegraphics[width=.45\columnwidth]{Evaluation/questions/Q1/IV0} 
                      \includegraphics[width=.45\columnwidth]{Evaluation/sim/original/VF0}}
    \vspace{-10pt}
    \subfloat[]{\includegraphics[width=.45\columnwidth]{Evaluation/sim/original/VF5}
                      \includegraphics[width=.45\columnwidth]{Evaluation/questions/Q1/IV1}} 
    \vspace{-10pt}
    \subfloat[]{\includegraphics[width=.45\columnwidth]{Evaluation/sim/original/VF4}
                      \includegraphics[width=.45\columnwidth]{Evaluation/questions/Q1/IV2}} 
    \vspace{-10pt}
    \subfloat[]{\includegraphics[width=.45\columnwidth]{Evaluation/questions/Q1/IV3}
                      \includegraphics[width=.45\columnwidth]{Evaluation/sim/original/VF2}} 
    \vspace{-10pt}
    \subfloat[]{\includegraphics[width=.45\columnwidth]{Evaluation/sim/original/VF3}
                      \includegraphics[width=.45\columnwidth]{Evaluation/questions/Q1/IV4}} 
    \caption{Data set presented to the participants in Q1.}
    \label{fig:q1_data}
\end{figure}

text

I was expecting this set to images to be positioned in the right column (first column of a new page). However, if I just start writing something (after the figure environment), this image is positioned on the second column.

I can't understand why.

enter image description here

  • Maybe worth a try: Load the float package and use the placement option [H] instead of [!htpb]. In addition, typically you are supposed to provide a so-called MWE (see meta.tex.stackexchange.com/q/228)) here and not some just code fragments with elements that are not needed in order to reproduce the problem. People here also do not have the pictures you use in your code (see tex.stackexchange.com/questions/231738 or tex.stackexchange.com/questions/333701 for example). – Dr. Manuel Kuehner Mar 13 '17 at 19:34
  • please try to create an example that people can test. you can use example-image as the image name as that is in distributions for this use. But some initial comments [!h!tpb] isn't wrong but is the same as [!htpb], the minipage in your figure is not doing anything really. (the body of a figure is already a minipage essentially) unless you have loaded some packages that change this [width=.91\textwidth, right] should give an error as \includegraphics does not have a right key. – David Carlisle Mar 13 '17 at 20:28
  • But looking at your output it looks like there is not room to get the figures and a line of text in one column, it already reaches down to the 6 which I assume is the page number, why do you think it would fit below text ? – David Carlisle Mar 13 '17 at 20:28
3

Your image clearly shows that your figure is too large to fit on the page,

enter image description here

LaTeX will have given a warning that the float was too large and it was being forced to \textheight as an emergency recovery.

As the float is (now) \textheight tall it has to go on a column on its own, it can not fit in a column that contains text, even if it is just the one line "text".

 \includegraphics[width=.99\textwidth, right] 

presumably also gave errors about an unknown key right unless you have loaded a package that adds this key. the standard \includegraphics command does not have a key of that name.

To make things fit you either need to have less images in the figure, so that they can float separately into different columns, or if you need them all in one column, scale them to be smaller so the total height fits on the page.

  • I understand that. But if the text is defined after the image, shouldn't the text go to the second column? – pceccon Mar 14 '17 at 13:22
  • @pceccon float positioning is affected by many things, none of which are available as you have provided no example code. So I can only give general rules not comment on any specific positioning, but basically since the float is bigger than the page, it only gets output at all because of an emergency hack to stop the document being blocked completely so I wouldn't worry about exact position of where it gets output . – David Carlisle Mar 14 '17 at 13:26

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.