# setting \@fpsep only impacts empty pages

I want LaTeX to place each figure of my document on a separate page, but not on an empty page. On several places on the net I found that

\makeatletter
\setlength\@fpsep{\textheight}
\makeatother


should yield what I want, so i put it in my preamble. Unfortunately this only effects figures on otherwise empty pages. Is it possible to separate figures by a minimum distance that are embedded in text?

-

I'd also set the totalnumber counter (maximum number of floats on a text page) to 1 (the default is 3).

See section 6 of the documentation of the layouts package for details about float layouts.

\documentclass{article}

\makeatletter
\setlength\@fpsep{\textheight}
\makeatother

\setcounter{totalnumber}{1}

\usepackage{lipsum}

\begin{document}

\begin{figure}
\centering
\rule{1cm}{1cm}
\caption{foo}
\end{figure}

\begin{figure}
\centering
\rule{1cm}{1cm}
\caption{bar}
\end{figure}

\begin{figure}[p]
\centering
\rule{1cm}{1cm}
\caption{gnu}
\end{figure}

\begin{figure}[p]
\centering
\rule{1cm}{1cm}
\caption{gnat}
\end{figure}

\lipsum

\end{document}

-
Thank you for your fast reply. It just solved my problem. But it's scary that only both commands have the desired effect. If i hadn't tested the code, and had read the 'layouts' documentation, i would swear that only one of the commands would make it. Maybe someone can answer why latex results sometimes seems so indeterminate to me!? –  user1146332 May 9 '12 at 14:02