0

To avoid ugly extra white space in the text, i want a flexible glue between the float and the text in two-column mode. In one-column mode, I can add extra glue using \textfloatsep, and I hoped I could achieve the same with the equivalent dbltextfloatsep in two-column mode. However, it does not seem to work, no matter how much flexibility I put in.

Is there any way of achieving what I want?

Minimal working example:

\documentclass[twocolumn]{article}
\usepackage{kantlipsum}
\usepackage{mwe}

\setlength{\dbltextfloatsep}{20pt plus 40pt minus 4pt}

\begin{document}
\begin{figure*}[!t]
\includegraphics[width=\textwidth,height=10cm]{example-image-a}
\caption{This is a caption}
\end{figure*}
\section{First Section}
\kant[1-5]
\textbf{THERE IS A BIG UGLY WHITE SPACE ABOVE ME.}
\section{Second Section}
\kant[6]
\end{document}

enter image description here

This is what I want: enter image description here

  • the dbltextfloatsep space is the space below the figure before the start of the columns it is not added separately to each column so it has no possibility of affecting the space above your capital letters which is in one column. – David Carlisle Jan 27 '16 at 14:05
  • Perhaps I should have been more clear: I do indeed want to add space to both columns. But apparently, this is not happening automatically. – akvilas Jan 27 '16 at 14:17
  • It is happening but the columns are split and boxed and the glue in them frozen then they are put side by side, then the figure is put at the top then the glue then the box containing both columns, so the glue can stretch to pad out of the combined 2-col box and the figure do not completely fill the page but it will not affect the glue stretching inside the columns. perhaps you want \raggedbottom so that the left column is not stretched out? – David Carlisle Jan 27 '16 at 14:20
  • If I understood you correctly, the algorithm that determines the height of the columns is unaware of the extra flexibility specified in dbltextfloatsep? – akvilas Jan 27 '16 at 14:25
  • basically, yes. – David Carlisle Jan 27 '16 at 15:06
1

The \dbltextfloatsep space is the space below the figure before the start of the columns it is not added separately to each column, it is added _after- latex has constructed a partial page box with the columns. It's natural length is used to determine the target height of the columns to go under the figure and any stretch is used to adjust any shortfall, but the stretch is not added separately into each column.

The columns are split and boxed and the glue in them frozen then they are put side by side, then the figure is put at the top then the glue then the box containing both columns, so the glue can stretch to pad out of the combined 2-col box and the figure do not completely fill the page but it will not affect the glue stretching inside the columns.

Perhaps you want \raggedbottom so that the left column is not stretched out?

  • I'll accept the fact that there is no way to achieve what I want.. \raggedbottom is possible, but I'll rather adjust the \dbltextfloatsep manually for each float. – akvilas Feb 10 '16 at 22:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.