1

I am using figure* in twocolumn document to make listings and tikz diagrams take the space of both columns. I am very new to latex, so maybe there is a reason why I shouldn't do it. Still, I am getting some of my figure*s at the separate page (so called float page, and that is ok). The default latex mechanism vertically aligns this figure*s to the center of the page and this is the behavior I am trying to change.

I have tried to set new values as this answer suggests but it has changed nothing, my figure*s are still centered.

\makeatletter
\setlength{\@fptop}{0pt}
\setlength{\@fpbot}{0pt plus 1fil}
\makeatother

It is worth mentioning that I am overriding default rules for float placement mechanism and using geometry and float packages. I am using so called latexmk (lualatex) to generate the output pdf-file.

The whole document can be observed here (please, follow the imports for complete comprehension).

float at the center of the page

1 Answers1

0

The parameters \@fptop and \@fpbot apply to single-column layouts. For dual-column layouts, the relevant parameters are \@dblfptop and \@dblfpbot, respectively. The LaTeX kernel provides the following definitions (along with that of \@dblfpsep):

\newskip\@dblfptop
\newskip\@dblfpsep
\newskip\@dblfpbot
\setlength\@dblfptop{0\p@ \@plus 1fil}
\setlength\@dblfpsep{8\p@ \@plus 2fil}
\setlength\@dblfpbot{0\p@ \@plus 1fil}

Thus, what your document needs is

\makeatletter
\setlength{\@dblfptop}{0pt}
\setlength{\@dblfpbot}{0pt plus 1fil}
\makeatother
Mico
  • 506,678