我需要把收件人的地址放在信件的右边。
我正在使用scrlttr2
课程,并且我知道它非常灵活,但我找不到方法来做到这一点。
答案1
地址字段的水平位置由伪长度决定toaddrhpos
。大于 0 的值toaddrhpos
表示距离左边界的距离,小于 0 的值表示距离右边界的距离。
所以你可以使用类似
\makeatletter
\@setplength{toaddrhpos}{-1cm}
\makeatother
或者
\makeatletter
\@setplength[-]{toaddrhpos}{\useplength{toaddrhpos}}
\makeatother
代码:
\documentclass{scrlttr2}
%%% only to show the fields, do not use in your real document
\LoadLetterOption{visualize}
\showfields{address,head}
%%%
\makeatletter
\@setplength[-]{toaddrhpos}{\useplength{toaddrhpos}}
\makeatother
\usepackage{blindtext}% for dummy text
\begin{document}
\begin{letter}{Max Mustermann\\Musterstr.12\\12345 Musterhausen}
\opening{Hello}
\blindtext
\end{letter}
\end{document}
与地址字段相关的其他伪长度是toaddrvpos
、toaddrwidth
和toaddrheight
。
您还可以使用\addtokomafont{addressee}{\raggedleft}
它在地址栏中右对齐地址:
代码:
\documentclass[backaddress=false,fromalign=right]{scrlttr2}
%%% only to show the fields, do not use in your real document
\LoadLetterOption{visualize}
\showfields{address,head}
%%%
\makeatletter
\@setplength[-]{toaddrhpos}{\useplength{toaddrhpos}}
\makeatother
\addtokomafont{addressee}{\raggedleft}
\setkomavar{fromname}{Kombi Karle}
\setkomavar{fromaddress}{Kaiserstr.\\Karlsruhe}
\usepackage{blindtext}% for dummy text
\begin{document}
\begin{letter}{Max Mustermann\\Musterstr.12\\12345 Musterhausen}
\opening{Hello}
\blindtext
\end{letter}
\end{document}
但是 KOMA-Script 分发中还包含一些字母类别选项文件,其中右侧有收件人的地址。
在序言中使用\LoadLetterOption{SN}
(右侧带有地址栏的瑞士字母)可获得:
或\LoadLetterOption{NF}
(法语字母):
答案2
这是我最好的猜测。在@esdd 的回答中可以找到更多信息。
\documentclass[backaddress=false,fromalign=right,NF]{scrlttr2}
\makeatletter
\@setplength{toaddrhpos}{-2cm}
\@setplength{toaddrwidth}{5cm}
\usepackage{blindtext}
\setkomavar{fromname}{Renato P.}
\setkomavar{fromaddress}{Lillipond lane\\Magnolia Town}
\begin{document}
\begin{letter}{Bella Bee\\Honeycomb 42\\The hive}
\opening{My Dear Bella,}
it is a long time we haven't met and i miss you.
\blindtext
\closing{Wish You Were Here}
\end{letter}
\end{document}