# Too much space between floats

I have the problem that in two-column mode there is often too much unused space when there are multiple figures or tables in the same column.

I would like Latex to automatically shift the figures together more and fit more text in that column.

\documentclass[11pt, twocolumn]{article} % use larger type; default would be 10pt
\usepackage[utf8]{inputenc} % set input encoding (not needed with XeLaTeX)
\usepackage{graphicx} % support the \includegraphics command and options
\usepackage{blindtext}

\begin{document}

\blindtext

\blindtext

\begin{figure}
\includegraphics[width=\columnwidth,height=5cm]{example-image}
\end{figure}

\begin{figure}
\includegraphics[width=\columnwidth,height=5cm]{example-image}
\end{figure}

\blindtext

\blindtext

\end{document}


By moving some blindtext above the second image I can get it to work, but I was hoping there was some way in which Latex automatically positions the figures correctly.

You can tell LaTeX to try harder to avoid float columns with lots of white space by increasing the minimum fraction that is allocated to floats, in this case increasing from the default value of .5 to .55 is enough. Note that the more you increase the value the harder it is to set the floats and the more likely it is that all floats go to the end, for example with a value of.55 if you have two consecutive floats of size .51\textheight you can not fit two in a column, and just one in a column would not meed the stated minimum of 55% of the height.

However here it works out OK.

\documentclass[11pt, twocolumn]{article} % use larger type; default would be 10pt
\usepackage[utf8]{inputenc} % set input encoding (not needed with XeLaTeX)
\usepackage{graphicx} % support the \includegraphics command and options
\usepackage{blindtext}

\renewcommand\floatpagefraction{.55}
\begin{document}

\blindtext

\blindtext

\begin{figure}
\includegraphics[width=\columnwidth,height=5cm]{example-image}
\end{figure}

\begin{figure}
\includegraphics[width=\columnwidth,height=5cm]{example-image}
\end{figure}

\blindtext

\blindtext

\end{document}


You could get the same result without changing the global settings by preventing the float being positioned in a float column

\documentclass[11pt, twocolumn]{article} % use larger type; default would be 10pt
\usepackage[utf8]{inputenc} % set input encoding (not needed with XeLaTeX)
\usepackage{graphicx} % support the \includegraphics command and options
\usepackage{blindtext}

\begin{document}

\blindtext

\blindtext

\begin{figure}
\includegraphics[width=\columnwidth,height=5cm]{example-image}
\end{figure}

\begin{figure}[t] % position image at top
\includegraphics[width=\columnwidth,height=5cm]{example-image}
\end{figure}

\blindtext

\blindtext

\end{document}


Just move the figures up and down (I mean the code segments \begin{figure}...\end{figure}) and add positioning specifiers like [!htbp] to help put them at the preferred places.

\documentclass[11pt, twocolumn]{article} % use larger type; default would be 10pt
\usepackage[utf8]{inputenc} % set input encoding (not needed with XeLaTeX)
\usepackage{graphicx} % support the \includegraphics command and options
\usepackage{blindtext}

\begin{document}

\blindtext

\blindtext
\begin{figure}[!htbp]
\includegraphics[width=\columnwidth,height=5cm]{example-image}
\end{figure}
\blindtext
\begin{figure}[!htbp]
\includegraphics[width=\columnwidth,height=5cm]{example-image}
\end{figure}
\blindtext

\end{document}