[Tex/LaTex] Workarounds for fitting a large figure onto a page with text using elsarticle

elsarticlefloatstwo-column

I have a document with several large figures. I know the Latex algorithm does not want to place text on a page with a large figure but I need to find a way to force it that still allows me to use the elsarticle package from Elsevier. Currently, I end up with an unacceptable amount of white space in the article as LaTex tries to fit it as seen in the following figure:

enter image description here

You will notice that the last figure switches to a single column, this is a workaround I tried using a \includegraphic outside a figure environment and \onecomumn. However, when I try to change it back to a two column environment the figure slips to the next page. I am happy with the amount of text that is positioned under the figure and if I can get this to reproduce as two columns, in addition to the caption and the figure label, I would be satisfied.

The figure is the example is 7.5 inches x 5.5 inches but has been replaced with a \rule here for to allow it to compile. The MWE includes just one image size for simplicity. I have a few different figure sizes and yes, I have tried to compress them as much as I dare.

\documentclass[a4paper,10pt,twocolumn,preprint,3p]{elsarticle}
\usepackage{lineno,hyperref}
\modulolinenumbers[5]
\journal{Journal of Tex - Stack Exchange}
\renewcommand{\textfraction}{0.00000001} 
% Packages added by Ausitn Downey
\usepackage{placeins}    % used to allow \floatbarrier
\usepackage[english]{babel}
\usepackage{blindtext}
%% `Elsevier LaTeX' style
\bibliographystyle{elsarticle-num}
%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\begin{frontmatter}
\title{Fitting a large figure on a page}
%% Group authors per affiliation:
\author[add1]{Austin Downey}
\address[add1]{Stack exchange;}
\begin{abstract}
\blindtext
\end{abstract}
\begin{keyword}
figures, fitting
\end{keyword}
\end{frontmatter}
\linenumbers

\section{Introduction}
\blindtext 
\blindtext
\section{Methodology}
\blindtext

\begin{equation}
Q(x) = a * \mathrm{e} ^ {b/x} + c * \mathrm{e} ^ {d/x}
\label{eq:4_parameter_equation}
\end{equation} 

\noindent where $Q$  is the model, $x$ is the number of cycles and $a,b,c$ and $d$ are the parameters that need to be fitted.

\begin{equation}
Q(x) = a * \mathrm{e} ^ {b/x} + c * (1 - \mathrm{e} ^ {d/x})
\label{eq:3_parameter_equation}
\end{equation} 

\noindent  $a,b$ and $c$ and are the parameters that need to be fitted and $b=0$ is considered a constant. 

\begin{figure*}[tp!]
    \centering
    \rule{\linewidth}{5.5 in} \\
    \caption{Capacity life prediction figure used for fitting a figure onto a larger page. My subcaption needs to be this long to explaine all the subplot that are in the figure, including plots (a)-(f.)}
    \label{fig:Predictions}
\end{figure*}





\blindtext
\begin{figure*}[tp!]
    \centering
    \rule{\linewidth}{5.5 in} \\
    \caption{Capacity life prediction figure used for fitting a figure onto a larger page. My subcaption needs to be this long to explaine all the subplot that are in the figure, including plots (a)-(f.)}
    \label{fig:Predictions}
\end{figure*}
\blindtext
\blindtext

\begin{figure*}[tp!]
    \centering
    \rule{\linewidth}{5.5 in} \\
    \caption{Capacity life prediction figure used for fitting a figure onto a larger page. My subcaption needs to be this long to explaine all the subplot that are in the figure, including plots (a)-(f.)}
    \label{fig:Predictions}
\end{figure*}

\onecolumn
\rule{\linewidth}{5.5 in} \\
\blindtext
\blindtext
\blindtext
\blindtext

\FloatBarrier
\section*{Acknowledgements}
This work is supported by the Stack Exchange.
\end{document}

Best Answer

with the document using [!tp] as in the question, you get

enter image description here

If you change the figure options to [t] then you get

enter image description here

Neither of which seem unreasonable.

\documentclass[a4paper,10pt,twocolumn,preprint,3p]{elsarticle}
\usepackage{lineno,hyperref}
\modulolinenumbers[5]
\journal{Journal of Tex - Stack Exchange}
\renewcommand{\textfraction}{0.00000001} 
% Packages added by Ausitn Downey
\usepackage{placeins}    % used to allow \floatbarrier
\usepackage[english]{babel}
\usepackage{blindtext}
%% `Elsevier LaTeX' style
\bibliographystyle{elsarticle-num}
%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\begin{frontmatter}
\title{Fitting a large figure on a page}
%% Group authors per affiliation:
\author[add1]{Austin Downey}
\address[add1]{Stack exchange;}
\begin{abstract}
\blindtext
\end{abstract}
\begin{keyword}
figures, fitting
\end{keyword}
\end{frontmatter}
\linenumbers

\section{Introduction}
\blindtext 
\blindtext
\section{Methodology}
\blindtext

\begin{equation}
Q(x) = a * \mathrm{e} ^ {b/x} + c * \mathrm{e} ^ {d/x}
\label{eq:4_parameter_equation}
\end{equation} 

\noindent where $Q$  is the model, $x$ is the number of cycles and $a,b,c$ and $d$ are the parameters that need to be fitted.

\begin{equation}
Q(x) = a * \mathrm{e} ^ {b/x} + c * (1 - \mathrm{e} ^ {d/x})
\label{eq:3_parameter_equation}
\end{equation} 

\noindent  $a,b$ and $c$ and are the parameters that need to be fitted and $b=0$ is considered a constant. 

\begin{figure*}[t]
    \centering
    \rule{\linewidth}{5.5 in}

    \caption{Capacity life prediction figure used for fitting a figure onto a larger page. My subcaption needs to be this long to explaine all the subplot that are in the figure, including plots (a)-(f.)}
    \label{fig:Predictions}
\end{figure*}





\blindtext
\begin{figure*}[t]
    \centering
    \rule{\linewidth}{5.5 in}

    \caption{Capacity life prediction figure used for fitting a figure onto a larger page. My subcaption needs to be this long to explaine all the subplot that are in the figure, including plots (a)-(f.)}
    \label{fig:Predictions}
\end{figure*}
\blindtext
\blindtext

\begin{figure*}[t]
    \centering
    \rule{\linewidth}{5.5 in}

    \caption{Capacity life prediction figure used for fitting a figure onto a larger page. My subcaption needs to be this long to explaine all the subplot that are in the figure, including plots (a)-(f.)}
    \label{fig:Predictions}
\end{figure*}

\begin{figure*}[t]
   \centering
\rule{\linewidth}{5.5 in} 
\end{figure*}
\blindtext
\blindtext
\blindtext
\blindtext


\section*{Acknowledgements}
This work is supported by the Stack Exchange.
\end{document}
Related Question