1 | \NeedsTeXFormat{LaTeX2e} \ProvidesClass{newletter}
|
---|
2 |
|
---|
3 | \RequirePackage{ifthen}
|
---|
4 | \newboolean{@german} \setboolean{@german}{false}
|
---|
5 | \DeclareOption{german}{\setboolean{@german}{true}}
|
---|
6 |
|
---|
7 | \DeclareOption*{\PassOptionsToClass{\CurrentOption}{letter}}
|
---|
8 | \ProcessOptions
|
---|
9 | \LoadClass[a4paper]{letter}
|
---|
10 |
|
---|
11 | \newcommand{\@email}{}
|
---|
12 | \newcommand{\@institute}{}
|
---|
13 | \newcommand{\@street}{}
|
---|
14 | \newcommand{\@city}{}
|
---|
15 | \newcommand{\@tel}{}
|
---|
16 | \newcommand{\@foot}{}
|
---|
17 |
|
---|
18 | \newcommand{\email}[1]{\renewcommand{\@email}{#1}}
|
---|
19 | \newcommand{\institute}[1]{\renewcommand{\@institute}{#1}}
|
---|
20 | \newcommand{\street}[1]{\renewcommand{\@street}{#1}}
|
---|
21 | \newcommand{\city}[1]{\renewcommand{\@city}{#1}}
|
---|
22 | \newcommand{\tel}[1]{\renewcommand{\@tel}{#1}}
|
---|
23 | \newcommand{\foot}[1]{\renewcommand{\@foot}{#1}}
|
---|
24 |
|
---|
25 | \setlength{\textheight}{230mm}
|
---|
26 | \setlength{\textwidth}{162mm}
|
---|
27 | \setlength{\topmargin}{-50pt}
|
---|
28 | \setlength{\oddsidemargin}{0pt}
|
---|
29 | \setlength{\evensidemargin}{0pt}
|
---|
30 | \setlength{\headheight}{12pt}
|
---|
31 | \setlength{\headsep}{35pt}
|
---|
32 |
|
---|
33 | \newlength{\leftfield} \setlength{\leftfield}{118.5mm}
|
---|
34 | \newlength{\rightfield} \setlength{\rightfield}{42.5mm}
|
---|
35 |
|
---|
36 | \DeclareFixedFont{\xviisf}{OT1}{cmss}{m}{n}{24.88}
|
---|
37 | \DeclareFixedFont{\xsf}{OT1}{cmss}{m}{n}{10}
|
---|
38 | \DeclareFixedFont{\viiisf}{OT1}{cmss}{m}{n}{8}
|
---|
39 |
|
---|
40 | \newcommand{\@place}{}
|
---|
41 |
|
---|
42 | \renewcommand{\date}[1]{\def\@date{#1}}
|
---|
43 | \newcommand{\place}[1]{\renewcommand{\@place}{#1}}
|
---|
44 |
|
---|
45 | \renewcommand{\ps@firstpage}{
|
---|
46 | \setlength{\headheight}{41pt}
|
---|
47 | \setlength{\headsep}{25pt}
|
---|
48 | \renewcommand{\@oddhead}{
|
---|
49 | \parbox{\textwidth}{
|
---|
50 | \raisebox{-6pt}{\parbox[t]{\leftfield}{
|
---|
51 | \xviisf\@institute}}
|
---|
52 | \raisebox{4pt}{\parbox[t]{\rightfield}{
|
---|
53 | \viiisf\baselineskip10pt\fromname\\\@street\\\@city}}\\[3pt]
|
---|
54 | \rule{\textwidth}{1pt}}}
|
---|
55 | \renewcommand{\@oddfoot}{ %\ifthenelse{ \equal{\@foot}{} }{}{ %
|
---|
56 | \raisebox{-10pt}[0pt]{
|
---|
57 | \parbox{\textwidth}{
|
---|
58 | \rule{\textwidth}{0.6pt}\\[2pt]
|
---|
59 | \mbox{}\hfill
|
---|
60 | \begin{tabular}[t]{p{5.5cm}}\@foot\end{tabular} }}} %}%
|
---|
61 | \renewcommand{\@evenhead}{}
|
---|
62 | \renewcommand{\@evenfoot}{}}
|
---|
63 |
|
---|
64 | \renewcommand{\opening}[1]{
|
---|
65 | \thispagestyle{firstpage}
|
---|
66 | \vspace*{24pt}
|
---|
67 | \parbox[t]{\leftfield}{
|
---|
68 | \underline{\footnotesize\itshape\@institute , \@street , \@city}\\
|
---|
69 | \parbox[b][3.5cm][c]{\leftfield}{\begin{quote}
|
---|
70 | \bfseries\toname\\ \toaddress\end{quote}}}
|
---|
71 | \raisebox{15pt}{\parbox[t]{\rightfield}{
|
---|
72 | \large\fromname\\ \@street\\ \@city\\
|
---|
73 | \ifthenelse{\equal{\@tel}{}}{}{\@tel\\} \par
|
---|
74 | \normalsize\slshape
|
---|
75 | \ifthenelse{\equal{\@email}{}}{}{email: \sffamily\@email\\}}}
|
---|
76 | \par
|
---|
77 | \rule{\textwidth}{0.6pt}
|
---|
78 | \makebox[\leftfield][l]{#1}
|
---|
79 | \makebox[\rightfield][r]{
|
---|
80 | \ifthenelse{\equal{\@place}{}}{M\"unchen, den}{\@place, } \@date}
|
---|
81 | \vspace{2\parskip}\par\nobreak}
|
---|
82 |
|
---|
83 | \renewcommand{\@texttop}{}
|
---|