在 »letter« 类中添加/减少垂直空间

在 »letter« 类中添加/减少垂直空间

有没有办法在 »letter« 文档类中将收件人地址向上移动(或将日期向下移动)?收件人地址在左侧,日期在右侧,我希望收件人地址顶行的垂直对齐方式与日期的垂直对齐方式相同。有人知道怎么做吗?

答案1

使用源代码,卢克。与:-)letter.cls相比,该文件实际上并不难阅读。article.cls

如果你重新定义\opening你应该能够得到你想要的:

\makeatletter
\renewcommand*{\opening}[1]{%
%  \ifx\@empty\fromaddress
%    \thispagestyle{firstpage}%
%      {\raggedleft\@date\par}%
%  \else  % home address
%    \thispagestyle{empty}%
%    {\raggedleft\begin{tabular}{l@{}}\ignorespaces
%      \fromaddress \\*[2\parskip]%
%      \@date \end{tabular}\par}%
%  \fi
%  \vspace{2\parskip}%
%  {\raggedright \toname \\ \toaddress \par}%
  \begin{minipage}[t]{0.5\textwidth}%
    \toname \\ 
    \toaddress
  \end{minipage}\hfill\@date\par
  \vspace{2\parskip}%
  #1\par\nobreak}
\makeatother

注释掉的部分是一个基于是否指定发件人地址的开关。我假设您没有使用发件人地址,否则您将指定您想要的位置。

答案2

从...开始马修的回答,我查看了文件letter.cls,发现了两个值,我手动更改了它们以符合我的要求。

请注意,这仅适用于我的单页、非常简单的信件;但不保证也适用于您。

  1. 从这个开始(在互联网上某处找到):

    \makeatletter
    \let\@texttop\relax
    \makeatother
    

    这会使利润稍微减少。

  2. 但是,这对我来说还不够,因此我搜索了letter.cls该短语@texttop,发现添加以下内容会将第一页的边距更改为页面其余部分的边距:

    \setlength\topmargin{-50pt}
    \setlength\textheight{10in}
    

祝你好运!

答案3

您可以查看更复杂的类,例如 »scrlttr2«KOMA 脚本(也可以看看这个问题) 或者新lfm(有关注释,请参阅这个问题)。

答案4

我发现更改 textwidth 和 margin 参数更简单。例如,您可以在前言中插入以下命令,并更改数字以根据需要调整间距。您还可以在\\的末尾\address(或 的末尾\date)插入多个,以便在回信地址和信件的实际开头之间留出更多空间。

\textwidth16cm \textheight21cm \oddsidemargin-0.1cm \topmargin-2.25in
\evensidemargin-0.1cm

相关内容