Homepage of Thomas Deselaers

LaTeX: Squeezing papers



For conferences in computer science it is very common that papers are restricted to a certain number of pages (my experience here stems from the computer vision and machine learning communities).

Typically, these conferences provide LaTeX style files that you are bound to be using and some of them waste a lot of space that could be used to explain your ideas more clearly.

On this page, I give away some tricks that I frequently used to make my papers fit into the required number of pages in a variety of conferences.

Note that in conferences where you are supposed to provide your LaTeX source code these tricks can typically be applied during the submission stage but not when preparing the camera ready papers. If certain tricks can be applied, it is noted.

Vspaces

One of the easiest, but hackiest way is to just insert

 \vspace{X} 

into the document where X is a length.

This works quite well to reduce the white space around figures and tables. However, it is difficult to make this consistently. One way to make this a bit easier is to define macros that you can change centrally:

e.g. in the preamble of your document you insert a line like

 \newcommand{\myfigureshrinker}{\vspace{-1cm}}

and then you insert the command \myfigureshrinky in all figure environments. This allows you to change the amount of whitespace in one central position.

However, also this still feels hacky. See below for a cleaner method in the section on changing float environments.

Changing font sizes and baselinestretch

An easy way to gain some space is to reduce the font size of your document. While I do not think it is a good idea to do it for the entire document, it is mostly accepted for the references, figure captions, and table captions as described in the section on changing float environments.

Furthermore, it might be an option to replace the default Computer Modern font by a font that uses less space such as Times. This can be achieved by inserting

 \usepackage{times} 

into the preamble of your document. This has been allowed for camera ready papers in ECCV 08 and ECCV 10 papers in LNCS.

Another way to gain some space is to leave the fontsize unchanged but slightly reduce the space between the lines. To do that you can insert a line like

 \def\baselinestretch{0.98}

into the preamble of your document. This will reduce the space between lines to 98% of the original value. You can play with this value a bit and will see that the impact is quite big. However, I do not recommend to use numbers smaller than 0.95 to keep readability up.

Changing float environments

A clean way to reduce the spacing in float environments (e.g. figures and tables) is to change their formatting globally on the document.

The fonts of the caption can be centrally changed using the caption package:

 \usepackage[font={small}]{caption, subfig}

A little bit of space can be gained by abbreviating references to figures and tables and by using the abbreviations in the captions:

 \renewcommand{\figurename}{Fig.}
 \renewcommand{\tablename}{Tab.}

And it is possible to change the spacing in and around floats using these lengths. For me, they make using vspaces in figures entirely redundant:

 \setlength{\abovecaptionskip}{1ex}
 \setlength{\belowcaptionskip}{1ex}
 \setlength{\floatsep}{1ex}
 \setlength{\textfloatsep}{1ex}

Changing the formatting of the bibliography

The formatting of the bibliography can also be changed centrally.

First, make sure the citations in the text take as little space as possible:

 \usepackage[sort&compress]{natbib}    

Make the font of the references smaller

 \newcommand{\bibfont}{\small}

Reduce the spaces between the individual references

 \setlength{\bibsep}{0ex}

Change section formatting

Many styles waste a lot of space around the headers of sections, subsections and paragraphs. If you ever tried to reduce these spaces using vspaces, you probably noticed that this typically leads to a big mess and spacing looks inconsistent.

You can consistently change the spacing around paragraphs by editing the style files directly. Therefore search for the definition of section in the code. This typically looks like this

 \renewcommand\section{\@startsection{section}{1}{\z@}{-10\p@ \@plus -4\p@ \@minus -4\p@}{5\p@ \@plus 4\p@ \@minus 4\p@}{\normalfont\large\bfseries\boldmath\rightskip=\z@ \@plus 8em\pretolerance=10000 }}

The \@startsection command needs X parameters:

By changing the spacing parameters you can consistently change the layout of the document.

One other way to save a lot of space is to introduce special section types. You can use “numbered paragraphs”. Insert this lines into your tex-file:

  \makeatletter
  \newcommand\npar{\@startsection{subsection}{2}{\z@}{-2\p@ \@plus -4\p@ \@minus -4\p@}{-0.5em \@plus -0.22em \@minus -0.1em}{\n ormalfont\normalsize\bfseries}}
  \makeatother

Then you can create subsections which are formatted like paragraphs with a number (therefore I call them numbered paragraphs) by using \npar instead of subsections. To these numbered paragraphs you can refer like you can refer to normal subsections. You might have to change the numbers such that they fit your paragraph formatting.

Changing math formatting

You can change the size of text in math display environments using this command

 \DeclareMathSizes{10}{9}{6}{5}

but it is quite difficult to manage (I find).

You can also change the spacing before and after display environments using

  \abovedisplayskip.50ex
  \belowdisplayskip.50ex
  \abovedisplayshortskip.50ex
  \belowdisplayshortskip.50ex

Making pages a little bit bigger

Using the command

 \enlargethispage{X} 

you can increase the size of the page on which the command is issued by X. If you choose X such that only a single line is added it can help to make these nasty paragraphs, that absolutely do want their last line to reach the next page, fit a their allotted page.

Changing the behaviour of LaTeXs micro-typographic setting

Philippe pointed me to the microtype package that allows to change e.g. the spacing between individual characters.

Tim Love from University Cambridge maintains a webpage on the same topic