within the output routine (which is where I assume you are adding your overlay) you could examine
% \@freelist : List of empty boxes for placing new floats. % \@toplist : List of floats to go at top of current column. % \@midlist : List of floats in middle of current column. % \@botlist : List of floats to go at bottom of current column. % \@deferlist : List of floats to go after current column. % \@dbltoplist : List of double-col. floats to go at top of current % page. % \@dbldeferlist : List of double-column floats to go on subsequent % pages. Or you may prefer to patch
% \begin{macro}{\@flupdates} % \changes{v1.0f}{1993/12/05}{Command added} % This updates everything when a float is placed. % % \begin{macrocode} %<*2ekernel|autoload> \def \@flupdates #1#2#3{% \global \advance #1\m@ne \global \advance \@colnum \m@ne \@tempdima -\ht\@currbox \advance \@tempdima -\ifx #3\@empty \textfloatsep \else \floatsep \fi \global \advance #2\@tempdima \global \advance \@colroom \@tempdima \@cons #3\@currbox } so that it updates your data structures in addition to the output routine internals.