浮动页面上浮动类型的顺序

浮动页面上浮动类型的顺序

是否可以始终让某种类型的浮动(即,在我的情况下,图形或表格)在浮动页面上出现时排在最前面?我不想更改源代码中的顺序。

答案1

这实际上是在尝试制作浮动页面之前对列表进行排序,这可能会对后面的页面产生影响,因为任何保留的表格都会在保留的图形之前进行尝试,但无论如何,它在我尝试过的一个测试文档上有效。

它保持每种浮点数的顺序,将所有表拉出并将它们放在浮点数列表的头部。

enter image description here

\documentclass{article}
\makeatletter
\def\@gettable#1{%
  \count@\count#1%
  \divide\count@\@xxxii
  \ifnum\count@=\ftype@table\relax
   \@cons\@tablelist#1%
  \else
   \@cons\@nottablelist#1%
  \fi
}
\def \@tryfcolumn #1{%
  \global \@fcolmadefalse
  \ifx #1\@empty
  \else
    \xdef\@trylist{#1}%
    \global \let \@failedlist \@empty
    \begingroup
      \let\@tablelist\@empty
      \let\@nottablelist\@empty
      \let\@elt\@gettable
      \@trylist
      \let\@elt\relax
      \xdef\@trylist{\@tablelist\@nottablelist}%
      \let \@elt \@xtryfc \@trylist
    \endgroup
    \if@fcolmade
      \@vtryfc #1%
    \fi
  \fi
}

\makeatother

\begin{document}

\begin{table}[p]\centering
TTTa
\caption{ttt}
\end{table}

\begin{figure}[p]\centering
FFFa
\caption{fff}
\end{figure}

\begin{table}[p]\centering
TTTb
\caption{ttt}
\end{table}

\begin{figure}[p]\centering
FFFa
\caption{fff}
\end{figure}

\end{document}

相关内容