如何使 scrlttr2 看起来像字母

如何使 scrlttr2 看起来像字母

我需要在信件中添加主题行,因此经过查看之后,大多数建议似乎都指向使用文档类,scrlttr2而不是,letter因为它更加灵活。

然而,当我将其更改为我喜欢的简单格式时,字母的外观scrlttr2变得完全混乱。更具体地说:letter

  1. 发件人地址随着日期移至左上角,而不是右上角。
  2. 本页左侧介绍了OMR标记。
  3. 在地址顶部添加了一个带有不同字体的单独下划线。
  4. 缩进和分段真的很丑。它缩进新段落而不是留出空格。(虽然这对于普通文档来说没问题,但对于信件来说就太丑了)
  5. 虽然正常letter样式允许我将收件人的地址留空\begin{letter}{},但即使我不想输入任何内容,我也必须输入一些内容scrlttr2。(如果我将其留空或只输入一个空格,即使它不在第 0 行,也会出现非常神秘的错误Line 0: There's no line end here。)

有什么办法可以让它看起来像这种letter风格吗?我只是想通过这个来添加一个主题行,所以如果有更简单的方法那就同样好。

更新

scrlttr2我现在使用时的输出\KOMAoptions{foldmarks=off,backaddress=false,fromalign=right}如下:

在此处输入图片描述

这是因为它被插入到页眉而不是页面内容中。我需要它至少看起来像是这样生成的letter

在此处输入图片描述

最好的情况是它也是右对齐的,但如果我设法让它像letter这样就足够了。

答案1

有什么办法可以让它看起来像信函样式吗?我只是想通过这种方式添加主题行,所以如果有更简单的方法就更好了。

听起来你真正想要的是能够向标准letter类添加主题行,而你真的不想使用scrlttr2。如果是这种情况,你可以修改letter\opening宏。我使用etoolbox \patchcmd,但我确信还有其他方法。关键部分是

\makeatletter
  \newcommand{\subject}[1]{\def\@subject{#1}}
  \patchcmd{\opening}{#1\par\nobreak}{\ifundef{\@subject}{}{\textbf{\@subject}\par\vspace{2\parskip}}#1\par\nobreak}{}{}
\makeatother

然后,您可以使用 指定主题\subject,就像您指定 一样\name。完整的 MWE 是

\documentclass{letter}

\usepackage{etoolbox}
\makeatletter
\newcommand{\subject}[1]{\def\@subject{#1}}
\patchcmd{\opening}{#1\par\nobreak}{\ifundef{\@subject}{}{\@subject\par\vspace{2\parskip}}#1\par\nobreak}{}{}
\makeatother

\name{My name}
\signature{My signature}
\address{My road\\My city}
\location{My location}
\telephone{my telephone}

\subject{My subject}

\begin{document}
\begin{letter}{To name\\To road\\To city}
  \opening{Dear \toname}
  Hello World
\end{letter}
\end{document}

答案2

其优点在于scrlttr2它很容易定制。

  • 你提到的 ORM 标记可能是折叠标记,可以使用\KOMAoptions{foldmarks=off}
  • 发件人地址可以放在右边,查看手册中的“firsthead”和“nexthead”。或者以我在这里放在网上的例子作为开始:uweziegenhagen.de/?page_id=132、片段 47 或片段 40。
  • 可以使用默认设置关闭目的地地址上的小返回地址,它由诸如和之\setkomavar{backaddress}{}类的 komavar 组成。fromaddressfromname

  • 编辑:要将地址放在右边,您可以使用简单tabularfirsthead

    \documentclass[12pt,english]{scrlttr2}
    
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[]{babel}
    
    \newkomavar{fromplace}
    \setkomavar{fromname}{Some other Dude}
    \setkomavar{fromaddress}{Fairytail-Lane 1}
    \setkomavar{fromplace}{12345 Cologne}
    
    
    \firsthead{%
    \begin{tabular}{p{0.7\textwidth}p{0.3\textwidth}}
    & \usekomavar{fromname} \newline \usekomavar{fromaddress}  \newline \usekomavar{fromplace} 
    \end{tabular}
    }
    
    \begin{document}
    
    \begin{letter}{Some Address \\ Far, far away}
    \opening{Hello Dude,}
    
    
    \closing{Best wishes,}
    \end{letter}
    
    \end{document}
    

在 firsthead 中使用表格的示例

scrlttr2一个机会吧,我已经和这个出色的班级合作了大概十年了,并且从未停止过对它的热爱!

这是根据您的评论的另一种方法,我修改了我的“收藏”中现有的信件模板,因此它还可以做其他一些技巧。

\documentclass[12pt,english]{scrlttr2}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[]{babel}

\date{} %we do that manually!

\newkomavar{fromplace} % a few koma vars
\setkomavar{fromname}{Some other Dude}
\setkomavar{fromaddress}{Fairytail-Lane 1}
\setkomavar{fromplace}{12345 Cologne}

\KOMAoptions{foldmarks=off,fromrule=false}
\setkomavar{backaddress}{}

\makeatletter % indention of the address fields
\@setplength{toaddrhpos}{27mm}
\@setplength{toaddrwidth}{92mm}
\@setplength{sigindent}{0mm}
\makeatother

\renewcommand*{\raggedsignature}{\raggedright}

% Define new letter header
\firsthead{
  \null\hfill
  \parbox[t][\headheight][t]{4cm}{%
  \vspace*{7cm}

\usekomavar{fromname} \newline 
\usekomavar{fromaddress}  \newline 
\usekomavar{fromplace} \vspace*{1cm}

    \today
      }
    }%


\begin{document}\raggedright

\begin{letter}{Some Address \\ Far, far away}
\opening{Hello Dude,}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus mollis, felis vel eleifend elementum, lectus eros faucibus nisl, pellentesque eleifend nunc nibh sit amet nisi. Vivamus dictum, eros eu tincidunt mollis, ante odio scelerisque leo, vel pharetra risus justo id nibh. Nam mollis elementum sem, vel porttitor erat fringilla vitae. Suspendisse potenti. Cras quis orci vel elit faucibus consectetur non ut felis. In lacinia dictum congue. Vivamus vel sapien nec velit pharetra semper non nec eros. Donec laoreet mi at odio molestie varius. Nullam et ornare velit. Ut laoreet pulvinar orci, ac lobortis nisi fermentum vel.


\closing{Best wishes,}
\end{letter}

\end{document}

另一种方法

相关内容