I am writing a document using the letter documentclass. I adjusted several parameters I know of such as \topmargin, \textheight and \textwidth. But I still could not make it into a single page. The header seems using a rather large space with only a date rightly justified.

Could anybody please let me know how I can shrink the space in the header?

4 Answers 4


The best package (in my opinion) for adjusting page dimensions is the geometry package - it is intuitive and easy. Text width and height is set by using the textwidth and textheight key-value pairs. For example,

\usepackage[textwidth=8in,textheight=10in]{geometry}% http://ctan.org/pkg/geometry

produces a text block of width 8in and height 10in. Top margin modification is achieved using the headheight, headsep or top key-value pairs. For example,

\usepackage[headheight=0pt,headsep=0pt]{geometry}% http://ctan.org/pkg/geometry

would completely remove the header on the page. Adding the showframe package option will give you a nice visual representation of the text block and other layout components of the page, and allow you to see the effects of the document dimension changes.

These options need not be set when the package is loaded. It can also be achieved using the provided \geometry{<geometry settings>} command in the document preamble, or change mid-document using \newgeometry{<geometry settings>}.

Here are some of the important page dimensions that can be changed using geometry (Figure 1 on p 3 of the package documentation):

enter image description here

With includehead and/or includefoot set, these layout settings may mean slightly different things. The following shows the difference (Figure 2 on p 3 of the package documentation):

enter image description here

See the package documentation for more information on the page dimensions and how to change the layout.

  • For normal latex this is a good answer but none of these work for me. I want to shrink the distance between the address and the salutation. I can't find anywhere I can add negative vspace or any variable to reduce this, but there must be one somewhere! Jul 5, 2015 at 16:31
  • 2
    @JoannaBryson: Is this in a letter document? Those are very restrictive. I'm sure you can create a similar document using the article class without your hassles.
    – Werner
    Jul 5, 2015 at 16:34
  • 1
    Ha, yes, it's in letter, as per the actual question, read above. I was hoping just to find one more magical variable to set, not to write a new style! Jul 5, 2015 at 16:39
  • @JoannaBryson: You may be able to get by with \begin{letter}{address \\ of receiver \\[-\normalbaselineskip]}. Or, replace -\normalbaselineskip with whatever negative length you want.
    – Werner
    Jul 5, 2015 at 16:55
  • I found it, see my new answer below...thanks for your help! Jul 5, 2015 at 17:27

For me Werner's answer helped but was not enough. Therefore I combined it with Phil Hirschhorn's topmargin suggestion and updated \textheight according to Page Layout on LaTeX Wikibook, here is my combo:


Values need to be adjusted depending on individual preferences and conditions.


I found that changing headsep as two answers suggested didn't help on the first page with the header, and did hurt on pages after the first, overwriting the page number at the top of the page. topmargin and headheight also didn't change much. In the class definition though, in the definition of "opening" I found the line

\rule[-3.5cm]{0mm}{3.5cm}% strut to reserve space for window envelope

If you change the -3.5 to -2.5, you gain a cm, most of which for me reduced the huge gap between the address of the receiver and the opening line, but some space also then opened up under the letter head and before the date. Reducing the second 3.5cm (the positive one) to 3.0 for me closed back up that space in the letter head and I got my letter back down to two pages. Of course, I've now hacked my university department's letter style at least on my own laptop...


You should also change \topmargin (the space above the header and below the 1 inch default space at the top of the paper), \headheight (the vertical space occupied by the header, whether or not the header is empty), and \headsep (the distance between the header and the main text).

  • How would one change these variables?
    – jvriesem
    Apr 10, 2019 at 20:26
  • @jvriesem using \setlength or \addtolength, as in Gxegorz's answer. Apr 12, 2019 at 2:25

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.