我目前正在处理一个文档twoside
,twocolumns
并且有一个特定的浮点数(覆盖整个列),出于美观目的,它应该只放在外面的列上;所以第一列在偶数页上,第二列在奇数页上。
到目前为止,我已经尝试通过控制它第一次被看到的时间来控制它的位置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}