[Tex/LaTex] Changing ALL spacing in a TeX document

line-spacingspacing

I'm taking an exam and I'm allowed a two side page with information on it. Naturally I want to put as much as possible on it so:

What are all the spaces that I can change to fit as much information as possible on two pages? And how do you change them?

I.e. How do you change:

  • line spacing
  • text size
  • margins
  • space between bullet points
  • space between equations
  • etc.

Best Answer

I am sure there is no single package dedicated to the items you list, including "etc.", except perhaps savetrees:

The goal of the savetrees package is to pack as much text as possible onto each page of a LaTeX document. Admittedly, this makes the document far less attractive. Nevertheless, savetrees is a simple way to save paper when printing draft copies of a document. It can also be useful when trying to meet a tight page-length requirement for a conference or journal submission.

On a case-by-case basis, the following might be of use:

  • Line spacing:

Consider using the setspace package. Read more about adjusting the line spacing from the UK TeX FAQ entry: Why doesn't \linespread work?

  • Text size:

Standard document class (like article, book and report) allow for passing optional arguments regarding the default font size. For example,

    \documentclass[10pt]{article}

will produce a document with default 10pt font size. Other options include

    \usepackage{fix-cm}% http://ctan.org/pkg/fix-cm

or

    \usepackage{anyfontsize}% http://ctan.org/pkg/anyfontsize

or using the memoir document class which allows font size selections from 9pt to 60pt by default.

  • Margins:

geometry is king when it comes to layout specification. For example,

    \usepackage[margin=1cm]{geometry}% http://ctan.org/pkg/geometry

will leave a 1cm margin (on all sides), without having to fiddle with other lengths.

  • Space between bullet points:

In general, list management is easily made possible via enumitem. For example, inter-item separation is set using

    \begin{itemize}[noitemsep]
      \item ...
      ...
    \end{itemize}

would leave no separation between items. The option nosep will kill all vertical spacing.

  • Spacing between equations:

If you're referring to the spacing above/below equations in surrounding text, then you need to modify the lengths \abovedisplayskip, \abovedisplayshortskip, \belowdisplayskip and \belowdisplayshortskip. These lengths define the skip (and stretch/shrink) above and below an equation if the preceding/following paragraph has a short line or not.

If you're using amsmath's align (and friends) environment, then the spacing between equations are usually set via the length \jot. Therefore, modifying this length would provide a tighter spacing between elements within that environment.

The above concepts both deal with vertical spacing. There's more options (like vertical spacing in array or tabular) contained within Herbert Voß' mathmode document (details will follow). Horizontal spacing is also something you can tighten within mathmode. For more on this, see the mathmode document (section 11 Space, p 28).

Finally, you could also follow the approach in How to scale entire document including Maths symbols? to compress a number of pages onto one using pdfpages's nup option. This would require a two-stage process of creating the regular information (phase 1), and then a compressed version via pdfpages (phase 2).

Related Question