轻松对齐 LaTeX 信件中的“发件人”和“收件人”地址字段

轻松对齐 LaTeX 信件中的“发件人”和“收件人”地址字段

当您在 LaTeX 中写信时,您可以使用块添加您的地址\address,同时您也可以在语句后添加收件人地址\begin{letter}作为额外参数。但是,在这种情况下,您的地址将始终位于收件人地址上方。

有没有办法告诉 LaTeX 我希望我的地址与收件人的地址在同一行开始?或者,更一般地说,有没有办法以更灵活的方式控制这些字段与页面顶部的距离?

附加问题:有没有办法告诉 LaTeX 我不想在我的地址和信件日期之间有多余的空白行?(或者,更一般地说:微调发件人地址和日期字段之间的距离?)

答案1

您可以通过重新定义\opening命令来生成以下内容:

在此处输入图片描述

我还删除了该日期之前的空白行。如果您想调整日期之前的这个空格,请替换中的值\fromaddress\\[0.0em]

\documentclass{letter}
\usepackage{lipsum}% for dummy text

\makeatletter
\renewcommand*{\opening}[1]{\ifx\@empty\fromaddress%
  \thispagestyle{firstpage}%
    {\raggedleft\@date\par}%
  \else% home address
   \thispagestyle{empty}%
   {%
    \begin{minipage}[c]{0.50\linewidth}
    \toname \\
    \toaddress
    \end{minipage}
    \begin{minipage}[c]{0.45\linewidth}
    \raggedleft\begin{tabular}{l@{}}\ignorespaces
    \fromaddress\\[0.0em]% replace 0.0em with space desired before date
    \@date
    \end{tabular}
    \end{minipage}
    \par
}%
  \fi
  \vspace{2\parskip}%
  #1\par\nobreak}
\makeatother

\address{123 Main Street \\ Anytown \\ USA 90210}

\begin{document}
\begin{letter}{Siska Adam \\ 123 Some Street \\ TeXLand \\ IP3 5RT}

\opening{Dear Sir or Madam:}

\lipsum[1]
\end{letter}
\end{document}

或者,由于您有最后期限,您可以手动完成此操作:

\documentclass{letter}
\usepackage{lipsum}

\begin{document}
\begin{letter}{}
\begin{tabular}{@{}p{3.0in}l}
Siska Adam        & Mr. T\\
123 Some Street   & 123 Main Street\\
TeXLand           & Anytown, USA 90210\\
IP3 5RT           & \today
\end{tabular}

\bigskip
Dear Sir or Madam:

\lipsum[1]
\end{letter}
\end{document}

如何在页面的左侧和右侧插入地址块?了解有关如何手动执行此操作的其他选项。

相关内容