Below example demonstrates at the beginning of each paragraph how \pagetotal is not always reset to 0pt at the beginning of the page. This appears to interfere with my attempt to automatically clear a floatingfigure.
What could be a remedy for this?
\documentclass{article}
\usepackage{mwe}
\makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth
\else\Gin@nat@width\fi}
\makeatother
\let\Oldincludegraphics\includegraphics
\renewcommand{\includegraphics}[1]{\Oldincludegraphics[width=\maxwidth]{#1}}
\setlength{\parindent}{0pt}
% begin preamble.tex
\usepackage{calc}
\newlength\vimgflt
\newlength\vposflt
\newlength\vtypesetflt
\newlength\vspaceflt
\usepackage{floatflt}
\renewenvironment{description}{%
\renewcommand{\includegraphics}[1]{\vspace{-1ex}\Oldincludegraphics[width=4cm]{##1}}
\renewcommand{\item}[1][]{
\settototalheight\vimgflt{##1}%
\global\vimgflt=\vimgflt%
##1%
\end{floatingfigure}%
\the\pagetotal%
\setlength\vposflt\pagetotal%
\global\vposflt=\vposflt%
}%
\clearflt
\hspace{0pt}%
\begin{floatingfigure}[l]{4cm}}%
{}
\newcommand{\clearflt}{
\par
\setlength\vtypesetflt{\dimexpr\pagetotal-\vposflt}
\ifdim \vtypesetflt<\vimgflt \setlength\vspaceflt{\dimexpr\vimgflt-\vtypesetflt+\baselineskip} \else \setlength\vspaceflt{0pt} \fi
\vspace*{\vspaceflt}
}
\let\Oldsection\section
\renewcommand{\section}{\clearflt\Oldsection}
% end preamble.tex
\begin{document}
\blindtext[3]
\section{Section title}
\begin{description}
\itemsep1pt\parskip0pt\parsep0pt
\item[\includegraphics{example-image-a}]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis
sem. Nullam nec mi et neque pharetra sollicitudin.
\end{description}
\section{Section title}
\begin{description}
\itemsep1pt\parskip0pt\parsep0pt
\item[\includegraphics{example-image-b}]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis
sem. Nullam nec mi et neque pharetra sollicitudin.
\end{description}
\section{Section title}
\begin{description}
\itemsep1pt\parskip0pt\parsep0pt
\item[\includegraphics{example-image-c}]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis
sem. Nullam nec mi et neque pharetra sollicitudin.
\end{description}
\blindtext[2]
\end{document}

\pagetotalimperfection at page breaks. – Serge Stroobandt Aug 29 '13 at 21:23