我使用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
,将其放置在位置区域中:location
date
\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}}
在日期前产生一个空白行: