[Tex/LaTex] Reducing white space above date in Letter Class

lettersspacing

How can I reduce the amount of whitespace at the top of the page in the letter class? I've added some text to serve as a letterhead, and everything is lined up… but starts way too low! Does anyone have suggestions for how to get my first line of text to line up with the top?

\documentclass{letter}
\begin{document}
\thispagestyle{empty}

\signature{Nathan S. Lachenmyer}
\longindentation=0pt
\let\raggedleft\raggedright
\vfill

\begin{letter}{
Senior Staff Recruiter \\
XYZ Corporation \\
Rt. 56 \\
Anytown, New Jersey 05867}

%This is my header
\centerline{\huge \bf \sc Nathan S. Lachenmyer}
\begin{center}
\line(1,0){450}
\end{center}

%letter begins here
\opening{Dear Person:}

Letter goes here

\closing{Sincerely Yours,}
\end{letter}
\end{document}

Best Answer

The easiest approach here, without mucking around with page dimension modifications, is to insert a vertical re-adjustment using \vspace*{<len>} where <len> is some negative value. For example, in the following MWE, I've used \vspace*{-10\baselineskip} to vertically "back up" 10 lines:

enter image description here

\documentclass{letter}
\usepackage{showframe}% http://ctan.org/pkg/showframe
\begin{document}
\thispagestyle{empty}

\signature{Nathan S. Lachenmyer}
\longindentation=0pt
\let\raggedleft\raggedright

\begin{letter}{%
Senior Staff Recruiter \\
XYZ Corporation \\
Rt. 56 \\
Anytown, New Jersey 05867}

\vspace*{-10\baselineskip}% Correct for vertical displacement

%This is my header
\centerline{\huge \bf \sc Nathan S. Lachenmyer} \par
%\begin{center}
%\line(1,0){450}
%\end{center}
\hrulefill

%letter begins here
\opening{Dear Person:}

Letter goes here

\closing{Sincerely Yours,}
\end{letter}

\end{document}

I've added the showframe package to highlight the page/type block dimensions setup using the letter document class. If you wish to change these to occupy more of the page real estate, use the geometry package.

Ps. Instead of using \line with some fixed measurement to draw a horizontal line, use \hrulefill, which will fill across the entire text block without causing overful \hbox warnings.