如何在 scrlttr2 中将发件人地址放在日期的右侧

如何在 scrlttr2 中将发件人地址放在日期的右侧

我使用scrlttr2它来代替默认设置,letter因为它提供了各种额外的功能,但我希望它fromaddress位于日期之上,而不是页眉中。所以我希望它看起来就像默认letter设置一样。

有什么方法可以从标题中删除发件人地址并将其放在日期上(仅一行空格)?

到目前为止,我有这样的序言:

\documentclass[paper=a4,parskip=full]{scrlttr2}
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

\KOMAoptions{foldmarks=off,backaddress=false,fromalign=right}

\renewcommand*{\raggedsignature}{\raggedright}

这会将发件人地址放在标题右侧,并且不与日期对齐。我希望它位于较低的位置(刚好在日期上方)并与日期对齐。

答案1

您已经取得了不错的开端。 scrlettr2将页面划分为不同的区域。顶部是标题区域。左侧下方是要将信件发送到的地址区域。右侧大约在同一级别的区域称为location

您选择的选项fromalign=right会将发件人地址向右移动,但会将其保留在标题区域中。相反,选项fromalign=locationright会将其向下移动到位置区域中。

现在,默认情况下,日期出现在参考线中,参考线是位于所有这些地址下方的框。可以通过选项从该位置删除日期。然后可以通过将 koma 变量设置为 koma 变量的值refline=nodate,将其放置在位置区域中:locationdate

\setkomavar{location}{\usekomavar{date}}

综合起来我们得到:

示例输出

\documentclass[paper=a4,parskip=full]{scrlttr2}
\usepackage[english]{babel}

\KOMAoptions{foldmarks=off,backaddress=false,fromalign=locationright,refline=nodate}

\renewcommand*{\raggedsignature}{\raggedright}

\setkomavar{fromname}{John Public} 
\setkomavar{fromaddress}{Valley 2\\
  54321 Public-Village}
\setkomavar{location}{\usekomavar{date}}

\begin{document}

\begin{letter}{Addressee\\Road\\Town\\County}
\opening{Dear Sir,} 
A short text that constitutes the body of the letter.
\closing{Yours sincerely}
\end{letter}

\end{document}

如果您希望在日期之前留出更多空间,您可以更改对 的定义location。例如,

\setkomavar{location}{\vspace{\baselineskip}\usekomavar{date}}

在日期前产生一个空白行:

日期前的空白行

相关内容