是否可以对浮动位置施加额外的限制?

是否可以对浮动位置施加额外的限制?

我目前正在处理一个文档twosidetwocolumns并且有一个特定的浮点数(覆盖整个列),出于美观目的,它应该只放在外面的列上;所以第一列在偶数页上,第二列在奇数页上。

到目前为止,我已经尝试通过控制它第一次被看到的时间来控制它的位置afterpage,这有点有效,但远非一致。

答案1

是的,它有效。

\documentclass[twocolumn]{report}
\usepackage{lipsum}% MWE only

\makeatletter
\def\@floatplacement{\if@firstcolumn
  \global\@topnum=0
  \global\@botnum=0
  \@fpmin=2\@colht
\else
  \global\@topnum=\c@topnumber
  \global\@botnum=\c@bottomnumber
  \@fpmin=\floatpagefraction\@colht
\fi
\global\@toproom=\topfraction\@colht
\global\@botroom=\bottomfraction\@colht
\global\@colnum=\c@totalnumber}
\makeatother

\begin{document}
\begin{figure}[tb]
  \caption{Test Figure}
\end{figure}

\begin{table}[tb]
  \caption{Test Table}
\end{table}

\begin{figure}[p]
  \centering
  \rule{.9\columnwidth}{.9\textheight}
\end{figure}

\lipsum[1-10]
\end{document}

相关内容