[Tex/LaTex] Endfloat: Spacing of multiple tables per page at end of chapter

endfloatspacing

As an alternative to having each table or figure on a separate page at the end of each chapter, I'm using a command to put an \mbox around each figure/table. How can I control the spacing, as some tables start in the middle of each page and others start at the top?

\documentclass[oneside,12pt]{book}
\usepackage[tablesfirst,notablist]{endfloat}
\usepackage{titletoc}
\usepackage[demo]{graphicx}
\renewcommand\theposttable{\arabic{chapter}.\arabic{posttbl}}
\renewcommand\thepostfigure{\arabic{chapter}.\arabic{postfig}}
\renewcommand{\efloatseparator}{\mbox{}} %Rather than a separate page between each table


\begin{document}
\chapter{Data}
\startlist{lot}
\begin{table}
\caption{First Table} \label{tab:table1}
\end{table}

\begin{table}
\caption{First Table} \label{tab:table1}
\end{table}

\begin{table}
\caption{First Table} \label{tab:table1}
\end{table}

\printlist{lot}{}{\chapter*{List of tables in Chapter~\thechapter}}
\processdelayedfloats

\chapter{Learning}
\startlist{lot}
\begin{figure}
\centering
\includegraphics{histoOne1}
\caption{My caption for this figure}
\label{fig:MyFigure}
\end{figure}
\begin{figure}
\centering
\includegraphics{histoOne1}
\caption{My caption for this figure}
\label{fig:MyFigure}
\end{figure}
\begin{figure}
\centering
\includegraphics{histoOne1}
\caption{My caption for this figure}
\label{fig:MyFigure}
\end{figure}
\printlist{lot}{}{\chapter*{List of tables in Chapter~\thechapter}}
\processdelayedfloats

\end{document}

Best Answer

It seems that one has not much control about this.

In this case, anyway, it seems that using

\renewcommand{\efloatseparator}{\vfill}

gives a good result.

MWE:

\documentclass[oneside,12pt]{book}
\usepackage[tablesfirst,notablist]{endfloat}
\usepackage{titletoc}
\usepackage[demo]{graphicx}
\renewcommand\theposttable{\arabic{chapter}.\arabic{posttbl}}
\renewcommand\thepostfigure{\arabic{chapter}.\arabic{postfig}}
\renewcommand{\efloatseparator}{\vfill} %Rather than a separate page between each table


\begin{document}
\chapter{Data}
\startlist{lot}
\begin{table}
\caption{First Table} \label{tab:table1}
\end{table}

\begin{table}
\caption{First Table} \label{tab:table2}
\end{table}

\begin{table}
\caption{First Table} \label{tab:table3}
\end{table}

\printlist{lot}{}{\chapter*{List of tables in Chapter~\thechapter}}
\processdelayedfloats

\chapter{Learning}
\startlist{lot}
\begin{figure}
\centering
\includegraphics{histoOne1}
\caption{My caption for this figure}
\label{fig:MyFigure1}
\end{figure}
\begin{figure}
\centering
\includegraphics{histoOne1}
\caption{My caption for this figure}
\label{fig:MyFigure2}
\end{figure}
\begin{figure}
\centering
\includegraphics{histoOne1}
\caption{My caption for this figure}
\label{fig:MyFigure3}
\end{figure}
\printlist{lot}{}{\chapter*{List of tables in Chapter~\thechapter}}
\processdelayedfloats

\end{document} 

Output:

enter image description here