Latex: Squeezing the Vertical White Space

Here are some tips on how to “compress” your paper vertically by minimizing white space gaps between elements. I had to do this few days ago when school refused to duplicate my syllabus because it was 14 pages long. I got it down to 6 without any cuts, and then down to 3 after doing some reductions in text.

So how do we squeeze the vertical whitespace? There are many ways to do this, and some are more complicated than the other. My tips range on the easy side, so you won’t need to write custom .sty files or redefine commands using intricate tex sequences.

First we want to set the spacing between paragraphs as small as possible. The commands below should kill just about any space inducing setting in your paper unless you are doing something fancy:

Now the paragraphs are snugly against each other so let’s take a look at line spacing. The \linespread command is usually used to increase the line spacing but we can exploit it to make it smaller by passing in a value smaller than 1:

\linespread{0.5}

\linespread{0.5}

You may want to play around with that value – if you set it to small, LaTex will just reject it. Below certain threshold some lines may start running into each other. For me 0.5 value did the trick, and slurped up swaths of white space.

Our next offender are section headings. By default they have huge gaps above and below them. Totally wasteful, especially if you are trying to save trees by decreasing your page count without sacrificing content. So what do you do? There are very complex ways to change the spacing above and below the section headings but we are lazy bums and don’t feel like using them. So let’s use the titlesec package and zero out all the spaces:

If you look int the documentation, the attributes to \titlespacing are command, left margin, above-skip and below-kip respectively. The * notation replaces the formal notation using plus/minus and etc. If you set it to zero, headings will snug up to the paragraphs above and below them.

Enumerations and itemizations are horrible space wasters too. By default, all the lists are double-spaced. Why? Don’t ask me, but it’s easy to get rid of that by using “compacted” lists provided by the mdwlist package. In your preamble add:

This is not as straightforward as the other steps, as it will require some search and replace in a pre-existing text. If you know a better way to do this, please let me know.

Last thing I did was to change my margins using the geometry package. My command looked like this:

\usepackage[left=2cm,top=1cm,right=2cm,nohead,nofoot]{geometry}

\usepackage[left=2cm,top=1cm,right=2cm,nohead,nofoot]{geometry}

My document had no headers or footers so I was able to disable them. You should probably experiment a bit with the values above to see what is the maximum range of your printer. Most devices won’t print all the way to the paper edge so you must set margins appropriate to your printer.

My document had no formulas or figures, but had several long item lists. Some of them were very narrow – 2-3 words per item. These types of lists are major space wasters so I set them in multi-column mode. Depending on your list you can either use 2, 4 or either 4 columns. For me 2 columns were the right fit. I recommend using the multicol package. In your preamble add:

\usepackage{multicol}

\usepackage{multicol}

Then surround your text to be “columnized” (shut up, it’s a new word I just mad up) using:

\begin{multicols}{2}% your stuff goes here\end{multicols}

\begin{multicols}{2}
% your stuff goes here
\end{multicols}

Once I did all of that, the page count of my document was cut roughly in half. Feel free to add your vertical space squeezing tips in the comments.

after the “\begin{enumerate}” or “\begin{list}” command. (Also works with the \begin{enumerate*} command from the mdwlist package)

This allows you to choose the amount of spacing between the items for each separate itemization or enumeration. That way you can still have some spacing without it eating the whole page. This can also be more pleasant on the eyes if some of the items are comprised of a few lines of text.

does most if not all of that is described above. The package is pretty much standard and is carried by most LaTeX distributions (I used in in Fedora’s tetex, MacOS, and Windows (MiKTeX) standard distributions on a several occasions.

Personally, what I could not find yet is how to reduce the blank space on the title page before the title and the top margin when using the standard article class. All I want is just that — no extra slack space between the top
margin and the title on the title page.

If you have figures and tables then \usepackage{wrapfig} which defines the wrapfigure and wraptable environments, is essential. It wraps the text around the typeset figure or table, allowing placement either at either left or right margins, or centered.

Personally, what I could not find yet is how to reduce the blank space on the title page before the title and the top margin when using the standard article class. All I want is just that — no extra slack space between the top
margin and the title on the title page.

Thanks,

-s

I second that question. In fact, that’s what I was searching for on Google that sent me here. I just want to write an essay for class and not have the first half of the page basically be the title. Haha.

“..first half of the page basically be the title”..? Does this mean you have the default of no title page? If so, you can just leave out the \maketitle command, and write your title for example as
\twocolumn[\begin{center}\textbf{TITLE} \end{center} \vspace{VALUE}]
That’ll span both columns and you can choose the vertical space.

I have also some trouble with the size of the titles, sections , subsections. It is so big and a bite offensive. I am using document class scrbook. Is there any way to make such sizes a bite smaller? Or probably, does any body know which font style fits more appropriate with such class? The default is really more clumsy. Looking forward to hearing…

Does this mean you have the default of no title page? If so, you can just leave out the \maketitle command, and write your title for example as
\twocolumn[\begin{center}\textbf{TITLE} \end{center} \vspace{VALUE}]
That’ll span both columns and you can choose the vertical space.

Well, I still want to make my title the way LaTeX allows me to without an in-body workaround. I might just have too high of hopes to suppose a preamble workaround. (If you’re wondering why, it’s really out of not wanting to write \twocolumn[\begin{center}\textbf{TITLE] \end{center}\vspace{VALUE} every other day for essays for class. I’d much rather, and am hopeful, that there might be something like a \usepackage{titlespace} or something. If anyone is bored enough to write that package for me using your suggested workaround, they can have at it! =D

Another possibility could be that the compact version of titlesec is only applicable for headings available in articles and smaller document classes, so that the chapters of a report are not affected by it.

Your email address will not be published. Required fields are marked *

Comment

Name *

Email *

Website

Currently you have JavaScript disabled. In order to post comments, please make sure JavaScript and Cookies are enabled, and reload the page.Click here for instructions on how to enable JavaScript in your browser.