减少字母类别中日期上方的空白

减少字母类别中日期上方的空白

如何减少班级页面顶部的空白letter?我添加了一些文本作为信头,所有内容都对齐了...但起始位置太低了!有人能建议如何让我的第一行文本与顶部对齐吗?

\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}

答案1

这里最简单的方法是插入垂直重新调整,无需对页面尺寸进行修改,\vspace*{<len>}其中<len>是某个负值。例如,在下面的 MWE 中,我曾经\vspace*{-10\baselineskip}垂直“后退” 10 行:

在此处输入图片描述

\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}

我已经添加了showframe包裹使用文档类突出显示页面/类型块尺寸设置letter。如果您希望更改这些以占用更多的页面空间,请使用geometry包裹

附言:不要使用\line某些固定测量值来绘制水平线,而要使用\hrulefill,这样可以填充整个文本块而不会引起过多的\hbox警告。

答案2

插入负空间将会出现问题,因为所需的空间量取决于信件的长度。letter当信件的长度只有 1 页长时,该类会将文本居中放在第一页。请参阅 letter.cls 中的第 414 行

\def\@texttop{\ifnum\c@page=1\vskip \z@ plus.00006fil\relax\fi}

您可以通过添加来获得顶部对齐的字母

\makeatletter
  \def\@texttop{}
\makeatother

到您的 MWE。

您还应该考虑是否要将“页眉”信息添加到的实际页眉中ps@firstpage(您可以使用 执行此操作fancyhdr)。然后,您可以获得垂直居中的 1 页信件,页眉位于顶部。

答案3

我找到了一个简单的方法。只需使用 来\vspace{-xxpt}减少信件开头的空间。此命令应插入显示大间隙的文本行之前。例如。我的信件中我的联系信息和日期之间有很大的间隙。因此,在我的联系信息之后,我插入了命令\vspace{-40pt}。您可能需要调整文本高度(\textheight{10 in}如果信件长度为两行以适合一页。它就像一个魔法一样有效 :)。

相关内容