I have a figure in my paper (I am using IEEEtran package). After this figure there exists a space between the figure and the text. How can I reduce the size of this white space. To be specific the space is between the caption of the figure and the text of my paper. Any suggestions?


This depends on the location of the float - if the float is at the top of the page, the gap between the caption and the text is \textfloatsep, while the gap for a float in the middle of the page is given by \intextsep.

From the layouts package documentation it is possible to see the lengths in terms of page/document float elements (p 21 onward):

enter image description here

Default for ieeetran are

  • \textfloatsep: 1.7\baselineskip plus 0.2\baselineskip minus 0.5\baselineskip
  • \intextsep: \baselineskip plus 0.2\baselineskip minus 0.2\baselineskip

and therefore depends on the choice of the default font (since that sets \baselineskip). The default pt-form is therefore

  • \textfloatsep: 20.4pt plus 2.4pt minus 4.8pt
  • \intextsep: 12.0pt plus 2.4pt minus 2.4pt

in the 10pt font size. The above includes some stretch/shrink. You can modify them using \setlength. For example,

\setlength{\textfloatsep}{\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip}

would allow for between (roughly) 10pt and 15pt gap between the float and the text. Something like


would fix the distance to 5pt (without stretch/shrink).

  • I'm having a huge space between the end of a paragraph and the beginning of the next one, I don't know the reason, I'm using IEEE trans template – Tak Jul 30 '13 at 3:42
  • @user1460166: What do you have around these paragraphs? What float specifiers do you use for any floats around it? – Werner Jul 30 '13 at 3:52
  • I have a float after the end of the paragraph \begin{figure}[t] \begin{figure}[t] \centering { \begin{tikzpicture}[remember picture] \node[mynode] (image2) {\includegraphics[width=\linewidth]{avghist}}; \end{tikzpicture}} \begin{tikzpicture}[remember picture,overlay] \end{tikzpicture} \caption{} \label{} \end{figure} \begin{figure*}[pht] {\includegraphics[width=\linewidth]{squash3}}\caption{AA} \label{} \end{figure*} \begin{table*}[pht] \begin{tabularx}{\linewidth}{@{}>{\hsize=0.8\hsize}X 2{>{\hsize=1.1\hsize}X}@{}} \toprule \bottomrule \end{tabularx} \caption{AAA} \label{} \end{table} – Tak Jul 30 '13 at 3:58
  • @user1460166: Do you really have 2 figures (nested)? It's difficult to gauge what else might be the problem. – Werner Jul 30 '13 at 4:16
  • I have two figures then a table – Tak Jul 30 '13 at 4:20

If you do not want to modify the standard template and just want a quick fix for this, you may add the following command to your document preamble:


Then, you can use the command \squeezeup throughout your document for reducing the free space after/before figures, formulas, etc., as needed.


Werner's answer is obviously a good one. However, I encountered a gotcha.

Using a setting like he suggested:

\setlength{\textfloatsep}{\baselineskip plus 0.2\baselineskip minus 0.5\baselineskip}

produced a cryptic error:

Package calc Error: 'p' invalid at this point...0.2\baselineskip minus 0.5\baselineskip}

After some playing around, I found out that it stumbles over the plus ... minus construction in combination with the \baseline command. What works is to multiply the lone \baseline by 1:

\setlength{\textfloatsep}{1\baselineskip plus 0.2\baselineskip minus 0.5\baselineskip}

Using lengths like 5pt instead of the baseline command is unproblematic.

  • Got me an extra paragraph or two in my paper :-) – tallharish Jul 11 '18 at 15:53

You can use etoolbox package. Just set a \vskip with a negative value at the start (\BeforeBeginEnvironment or \AtBeginEnvironment) and at the end (\AfterEndEnvironment) of the environment figure.










  • If the float, well, floats to another place, the \vskips stay at the point of figure's declaration. See here. – ScumCoder May 28 at 18:09

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.