summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/akletter
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/akletter
Initial commit
Diffstat (limited to 'macros/latex/contrib/akletter')
-rw-r--r--macros/latex/contrib/akletter/akfax.cfg16
-rw-r--r--macros/latex/contrib/akletter/akletter.cfg247
-rw-r--r--macros/latex/contrib/akletter/akletter.cls802
-rw-r--r--macros/latex/contrib/akletter/akletter.tex302
-rw-r--r--macros/latex/contrib/akletter/akletter.upl66
-rw-r--r--macros/latex/contrib/akletter/letterdoc.pdfbin0 -> 112564 bytes
-rw-r--r--macros/latex/contrib/akletter/letterdoc.tex659
-rw-r--r--macros/latex/contrib/akletter/lettereng.pdfbin0 -> 100430 bytes
-rw-r--r--macros/latex/contrib/akletter/lettereng.tex620
-rw-r--r--macros/latex/contrib/akletter/myletter.cls23
10 files changed, 2735 insertions, 0 deletions
diff --git a/macros/latex/contrib/akletter/akfax.cfg b/macros/latex/contrib/akletter/akfax.cfg
new file mode 100644
index 0000000000..64763a31af
--- /dev/null
+++ b/macros/latex/contrib/akletter/akfax.cfg
@@ -0,0 +1,16 @@
+%%% Use sans-serif fonts, they are better readable when scaning the
+%%% printed document
+
+\renewcommand{\rmdefault}{cmss}
+\normalfont
+
+\input{akletter.cfg}
+
+%%% Return address
+%%% one line version
+%%% There is no cmss7, use a larger font
+%%% N.B.: There is a ecss0700 use it if you have the EC fonts
+\sbox{\firmreturn}
+ {\underline{\fontsize{8}{10pt}\selectfont
+ \hskip5mm Mein Name \textperiodcentered Meine Stra{\ss}e 1
+ \textperiodcentered D--12345 Meindorf\hskip5mm}}
diff --git a/macros/latex/contrib/akletter/akletter.cfg b/macros/latex/contrib/akletter/akletter.cfg
new file mode 100644
index 0000000000..aa6580c29d
--- /dev/null
+++ b/macros/latex/contrib/akletter/akletter.cfg
@@ -0,0 +1,247 @@
+\makeatletter
+%% This is myletter.cfg
+%%
+%% You should modify this file to correspond to
+%% the site where it is used.
+%% It may be a good idea to input this file into the
+%% the personal configuration file.
+%% Thus only names have to be redefined, the official
+%% letterhead is kept in this file and changes for everyone
+%% when the masterfile is changed.
+%%
+%% You may include logos and other graphic-material into
+%% your letterhead:
+%%
+%%\RequirePackage[dvips]{graphics}
+
+%% You may redefine the following variables
+%%
+
+%\renewcommand*{\yourrefname} {Ihr Zeichen:}
+%\renewcommand*{\yourmailname} {Ihr Schreiben vom:}
+%\renewcommand*{\myrefname} {Unser Zeichen:}
+%\renewcommand*{\mymailname} {Unser Schreiben vom:}
+%\renewcommand*{\customername} {Kundennummer }
+%\renewcommand*{\invoicename} {Rechnungsnummer }
+%\renewcommand*{\subjectname} {} %{Betr.}
+%\renewcommand*{\ccname} {Kopien an:}
+%\renewcommand*{\enclname} {Anlagen:}
+%\renewcommand*{\headtoname} {An}
+%\renewcommand*{\datename} {Datum}
+%\renewcommand*{\pagename} {Seite}
+%\renewcommand*{\telephonename} {Telefon}
+%\renewcommand*{\telefaxname} {FAX}
+
+% This may be neccessary for babel:
+
+% \let\savedcaptions\captionsgerman
+% \def\captionsgerman{\savedcaptions
+% \renewcommand*{\myrefname} {Mein Zeichen:}
+% }
+
+
+%%% Top of first page: left
+\sbox{\FIRM}
+ {\parbox[t]{\leftfield}
+ {\bfseries\fontsize{17.28}{22pt}\selectfont%
+ Mein Name\hfill}}
+
+%%% Top of every other page
+\sbox{\firm}
+ {\fontsize{10}{12pt}\selectfont\normalfont
+ Mein Name}
+
+%% The normal page-layout for the following page does not contain a
+%% footer. In fact the layout is rather primitive. So if you want to
+%% include some fancy text, your corporate logo or whatever, you have
+%% to redefine the pagestyle. You may have to adjust the textheight if
+%% the footer becomes too large. Of course you can use fancyhdr or
+%% scrpage if you need a more powerful tool.
+
+% \if@twoside % Twoside definition
+% \def\ps@headings{%
+% \def\@oddfoot{\hfil Text on the odd page}
+% \def\@evenfoot{Text on the even page\hfil}
+% \def\@oddhead{\usebox{\firm}
+% \headfont\hfil\@date\hfil\pagename\ \pnumfont\thepage}%
+% \let\@evenhead\@oddhead}
+% \else % Oneside definition
+% \def\ps@headings{%
+% \def\@oddfoot{\hfil Text for one-side layout\hfill}
+% \def\@oddhead{\usebox{\firm}
+% \headfont\hfil\@date\hfil\pagename\ \pnumfont\thepage}}
+% \fi
+
+
+%%% Top of first page: right
+\sbox{\firmaddress}
+% Use either Text:
+ {\parbox[t]{\rightfield}{%
+ \fontsize{9}{10pt}\selectfont\normalfont
+ Meine Stra{\ss}e 1\\ 12345 Meindorf}}
+% or graphic:
+%{\includegraphics{ourlogo}}
+
+%% and remember to adjust FIRM and firmaddress:
+
+%%% Top of first page: left + right
+%%% You may want to adjust the raisebox
+\sbox{\FIRMHEAD}
+ {\usebox{\FIRM}\raisebox{3mm}{\usebox{\firmaddress}}}
+
+%%% Return address
+%%% one line version
+\sbox{\firmreturn}
+ {\underline{\fontsize{7}{8pt}\selectfont
+ \hskip5mm Mein Name \textperiodcentered Meine Stra{\ss}e 1
+ \textperiodcentered D--12345 Meindorf\hskip5mm}}
+
+%%% two line version
+%\sbox{\firmreturn}
+% {\underline{
+% \slshape\fontsize{7}{8pt}\selectfont
+% \hskip3mm\parbox{65mm}
+% {\makebox[65mm][c]
+% {Fachschaft -- Maschinenbau \textperiodcentered
+% \mbox{\raise .75ex \hbox{c}\kern -.15em /\kern -.125em
+% \smash{\lower .3ex \hbox{o}}}
+% AStA TU Braunschweig}
+% \makebox[65mm][c]
+% {Katharinenstra{\ss}e 1 \textperiodcentered D--38106 Braunschweig}}
+% \hskip3mm}}
+
+%%% Firstpage footer
+%%% The code should be controlled by @banklo
+\sbox{\firmfoot}
+ {\fontsize{9}{11pt}\selectfont
+%%% The following line may look nice in a FAX.CFG :-)
+%%% If you have a bad telephone-line try snail-mail!\\
+ \if@banklo
+ \ifnum\language = \l@german
+ Bankverbindung:
+ \hspace{5mm}
+ \parbox[t]{\rightfield}{\raggedright
+ Undeutsche Landesbank Frankfurt,
+ BLZ~123\,456\,78, Konto~1\,111\,007\\}%
+ \hspace{5mm}
+ \parbox[t]{\rightfield}{\raggedright
+ Die Sparkasse Meindorf,
+ BLZ~007\,123\,10, Konto~08\,15\\}
+ \fi
+ \fi}
+
+%%% Text displayed below the header on the right side
+%%% This should be controlled by @bankhi
+%%% This is the only place that will be re-evaluated for
+%%% every letter! Everything that changes for different
+%%% letters (in the same document) must go either here
+%%% or in the ref-line.
+\newcommand{\rightbox}%
+ {\parbox[t]{\rightfield}%
+ {\fontsize{9}{11pt}\selectfont
+ \raggedright
+ \ifx\fromname\@empty
+ \else
+ \ifnum \language = \l@german
+ Sachbearbeiter:
+ \fi
+ \fromname\\
+ \fi
+ \ifx\telephonenum\@empty
+ \ifnum \language = \l@german
+ \telephonename: 040 / 44\,17\,77
+ \else
+ \telephonename: 49--40--44\,17\,77
+ \fi
+ \else
+ \telephonename: \telephonenum
+ \fi\\[1.5ex]
+ \ifx\telefaxnum\@empty
+ \ifnum \language = \l@german
+ \telefaxname: 040 / 44\,17\,77
+ \else
+ \telefaxname: 49--40--44\,17\,77
+ \fi
+ \else
+ \telefaxname: \telefaxnum
+ \fi\\[1.5ex]
+ \ifx\@email\@empty
+ e-mail: Mein-Name@ insert.your.domain.here
+ \else
+ e-mail: \@email
+ \fi\\[1.5ex]
+ \if@bankhi
+ \ifnum \language = \l@german
+ Bankverbindung:\\[1ex]
+ Undeutsche Landesbank Frankfurt,
+ BLZ~123\,456\,78, Konto~1\,111\,007\\[.5ex]
+ Die Sparkasse L\"uneburg,
+ BLZ~007\,123\,10, Konto~08\,15 \\[.5ex]
+ \fi
+ \fi
+
+
+ %% Finally fixed it!
+ %% If you want to have the date here, set the
+ %% rightdate options.
+ %% (With a big excuse to Markus and many others, who
+ %% had to wait that long)
+ \if@rightdate
+ \vspace{0.5ex}
+ \normalsize\@date
+ \fi
+ }}
+
+
+%% The labels defined in myletter.cls are what my printer likes:
+%% Onecolumn, 100mm * 50mm, 3mm separation.
+%% If you have different lables edit here:
+
+%\renewcommand*{\startlabels}{\labelcount\z@
+% \pagestyle{empty}
+% \let\@texttop\relax
+% \setlength\parsep {0\p@}
+%% The margins are calculated from the 1in,1in point,
+%% thus negative values if the margins schould be smaller
+% \topmargin -60\p@
+% \headsep \z@
+% \oddsidemargin -35\p@
+% \evensidemargin -35\p@
+% \textheight 10in
+% \@colht\textheight \@colroom\textheight \vsize\textheight
+% \textwidth 550\p@
+% You may have to increase columnsep if you use twocolumn labels
+% This is what letter.cls uses.
+% \columnsep 26\p@
+% This does almost nothing since there is an explicit fontsize-command
+% in the text written.
+% \ifcase \@ptsize\relax
+% \normalsize
+% \or
+% \small
+% \or
+% \footnotesize
+% \fi
+% \baselineskip \z@
+% \lineskip \z@
+% \boxmaxdepth \z@
+% \parindent \z@
+% This is obvious, isn't it?
+% \twocolumn
+% \relax}
+
+%% This is how the label printed will look like.
+%% Note that specialmail will be written to the .aux-file
+%% when the letter is processed. The width used here is
+%% what letter.cls uses.
+
+%\renewcommand*{\mlabel}[2]{%
+% \parbox[b][2in][c]{3in}{%
+% \strut\ignorespaces\usebox{\firmreturn}\\
+% \fontsize{12}{14pt}\selectfont
+% \parbox[t][1.2in][c]{3in}{#2}
+% }\par%
+%}
+
+\makeatother
+\endinput
diff --git a/macros/latex/contrib/akletter/akletter.cls b/macros/latex/contrib/akletter/akletter.cls
new file mode 100644
index 0000000000..d214c81e2b
--- /dev/null
+++ b/macros/latex/contrib/akletter/akletter.cls
@@ -0,0 +1,802 @@
+%% This is file `akletter.cls'
+%% Copyright 1994 - 99 by Axel Kielhorn
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For error reports in case of UNCHANGED versions contact
+%% A.Kielhorn@web.de
+%%
+%% International Version 1.5g
+%% Synced with LaTeX2e letter.dtx v1.2z [1999/02/09]
+%%
+%% Anything you may want to configure should go into
+%% the .cfg file. See akletter.cfg as example
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{akletter}
+ [2003/05/31 v1.5i
+ LaTeX letter class]
+\newcommand\@ptsize{}
+%%
+%% \changes{1.5h}{2000/05/07}{Added support for different
+%% papersizes.}
+%%
+\newlength\aktextwidth
+\newlength\aktextheight
+\newlength\akoffsetwidth
+%% \changes{1.5h}{2000/05/28}{The foldmarks depend on the papersize.}
+\newdimen\foldhskip
+\newdimen\foldvskipi
+\newdimen\foldvskipii
+\newdimen\foldvskipiii
+\setlength\akoffsetwidth {0pt}
+\setlength\foldhskip {3mm}
+\setlength\foldvskipi {62mm}
+\setlength\foldvskipiii {47.5mm}
+
+\DeclareOption{a4paper}
+ {\setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}%
+ \setlength\aktextwidth {456\p@}%
+ \setlength\aktextheight {650\p@}%
+ \setlength\foldvskipii {50mm}}
+\DeclareOption{a4offset}
+ {\setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}%
+ \setlength\aktextwidth {432\p@}%
+ \setlength\aktextheight {650\p@}%
+ \setlength\akoffsetwidth{24pt}%
+ \setlength\foldvskipii {50mm}}
+\DeclareOption{a5paper}
+ {\ClassError{akletter}
+ {Sorry, only a4paper supported!}
+ {If you tell me how to calculate the right margins,\MessageBreak
+ I will add different paper sizes}}
+\DeclareOption{b5paper}
+ {\ClassError{akletter}
+ {Sorry, only a4paper supported!}
+ {If you tell me how to calculate the right margins,\MessageBreak
+ I will add different paper sizes}}
+\DeclareOption{letterpaper}
+ {\setlength\paperheight {11in}%
+ \setlength\paperwidth {8.5in}%
+ \setlength\aktextwidth {468\p@}%
+ \setlength\aktextheight {610\p@}%
+ \setlength\foldvskipii {44mm}}
+\DeclareOption{legalpaper}
+ {\ClassError{akletter}
+ {Sorry, only a4paper and letterpaper supported!}
+ {If you tell me how to calculate the right margins,\MessageBreak
+ I will add different paper sizes}}
+\DeclareOption{executivepaper}
+ {\ClassError{akletter}
+ {Sorry, only a4paper and letterpaper supported!}
+ {If you tell me how to calculate the right margins,\MessageBreak
+ I will add different paper sizes}}
+\DeclareOption{landscape}
+ {\ClassError{akletter}
+ {Sorry, landscape not supported!}
+ {If you tell me how to calculate the right margins,\MessageBreak
+ I will add different paper sizes}}
+\DeclareOption{10pt} {\renewcommand \@ptsize{0}}
+\DeclareOption{11pt} {\renewcommand \@ptsize{1}}
+\DeclareOption{12pt} {\renewcommand \@ptsize{2}}
+\DeclareOption{twoside} {\@twosidetrue \@mparswitchtrue}
+\DeclareOption{oneside} {\@twosidefalse\@mparswitchfalse}
+\DeclareOption{draft} {\setlength\overfullrule{5pt}}
+\DeclareOption{final} {\setlength\overfullrule{0pt}}
+\DeclareOption{leqno} {\input{leqno.clo}}
+\DeclareOption{fleqn} {\input{fleqn.clo}}
+\newif\if@bankhi \@bankhifalse
+\newif\if@banklo \@banklofalse
+\newif\if@fold \@foldtrue
+%%
+%% \changes{1.5a}{1996/05/02}{Added some more Options: \cs{refdate}
+%% \cs{subjectdate}\cs{rightdate}}
+%%
+\newif\if@refdate \@refdatefalse
+\newif\if@subjectdate \@subjectdatefalse
+\newif\if@rightdate \@rightdatefalse
+\DeclareOption{refdate} {\@rightdatefalse\@refdatetrue\@subjectdatefalse}
+\DeclareOption{subjectdate} {\@rightdatefalse\@refdatefalse\@subjectdatetrue}
+\DeclareOption{rightdate} {\@rightdatetrue\@refdatefalse\@subjectdatefalse}
+
+\DeclareOption{foldmarks} {\@foldtrue}
+\DeclareOption{nofoldmarks}{\@foldfalse}
+\DeclareOption{bankhigh} {\@bankhitrue}
+\DeclareOption{banklow} {\@banklotrue}
+%%
+%% \changes{1.5i}{2003/01/23}{Added new Option: \cs{reverseaddr} for those
+%% countries where the recipient address appears on the right.}
+%%
+\newif\if@reverseaddr \@reverseaddrfalse
+\DeclareOption{reverseaddr}{\@reverseaddrtrue}
+\ExecuteOptions{subjectdate,a4paper,11pt,oneside,nofoldmarks,onecolumn,final}
+\ProcessOptions
+\input{size1\@ptsize.clo}
+\setlength\lineskip {1\p@}
+\setlength\normallineskip {1\p@}
+\renewcommand\baselinestretch{}
+\setlength\parskip {0.7em}
+\setlength\parindent {0\p@}
+\@lowpenalty 51
+\@medpenalty 151
+\@highpenalty 301
+\setlength\headheight {12\p@}
+\setlength\headsep {45\p@}
+\setlength\footskip {25\p@}
+%%
+%% \changes{1.5h}{2000/05/07}{Added support for different
+%% papersizes}
+%%
+%% Restoring the original textwidth and textheight, they are
+%% calculated by size1[012].clo.
+%%
+\setlength{\textwidth} {\aktextwidth}
+\setlength{\textheight} {\aktextheight}
+
+%% \changes{1.5h}{2000/05/07}{Cleaned up the calculation of the
+%% margins, added offset.}
+%%
+%% Calculation of margins
+%% This works for
+%% a4paper
+%% a4offset
+%% letterpaper
+%%
+\setlength{\@tempdima} {\paperwidth}
+\addtolength{\@tempdima} {-\textwidth}
+\setlength\oddsidemargin {.5\@tempdima}
+%% Correction for DVI-driver
+\addtolength{\oddsidemargin}{-1in}
+\setlength\evensidemargin {\oddsidemargin}
+%% Add offset for a4offset
+\addtolength\oddsidemargin {\akoffsetwidth}
+\addtolength\evensidemargin{-\akoffsetwidth}
+\setlength\marginparwidth {60\p@}
+\setlength\marginparsep {11\p@}
+\setlength\marginparpush {5\p@}
+\setlength\topmargin {-35\p@}
+\setlength\footnotesep {12\p@}
+\setlength{\skip\footins} {10\p@ \@plus 2\p@ \@minus 4\p@}
+\newlength{\rightfield}
+\newlength{\leftfield}
+\setlength{\rightfield} {42mm}
+\setlength{\leftfield} {\textwidth}
+\addtolength{\leftfield} {-\rightfield}
+%%
+%% \changes{1.5a}{1996/05/02}{Defined a new length
+%% \cs{addfieldindent}. Set to 0mm for compatibility}
+
+\newlength{\addrfieldindent}
+\setlength{\addrfieldindent}{0mm}
+%%
+%% \changes{1.5i}{2003/01/26}{Defined three new lengths
+%% \cs{addfieldsep, \cs{datefieldsep} and \cs{openingsep}.
+%% The new default values differ slightly from the 1.5 h
+%% settings.
+%%
+\newlength{\addrfieldsep}
+\setlength{\addrfieldsep}{16pt}
+\newlength{\datefieldsep}
+\setlength{\datefieldsep}{24pt}
+\newlength{\openingsep}
+\setlength{\openingsep}{24pt}
+
+\newsavebox{\FIRM}
+\newsavebox{\firm}
+\newsavebox{\firmaddress}
+\newsavebox{\FIRMHEAD}
+\newsavebox{\firmreturn}
+\newsavebox{\firmfoot}
+
+%%
+%% \changes{1.5e}{1998\02\24}{Defined some new fonts for easier
+%% customization: \cs{\pnumfont}, \cs{\headfont}, \cs{\reffont}
+%% and \cs{\reftextfont}}
+%%
+\newcommand*\pnumfont {\normalfont}
+\newcommand*\headfont {\slshape}
+\newcommand*\reffont {\normalfont}
+\newcommand*\reftextfont{\normalfont}
+
+\def\@foldmarks{\if@fold \bgroup
+ \reversemarginpar
+ \vspace{\foldvskipi}\marginpar{\hspace{\foldhskip}\rule{2mm}{.2pt}}
+ \vspace{\foldvskipii}\marginpar{\hspace{\foldhskip}\rule{4mm}{.2pt}}
+ \vspace{\foldvskipiii}\marginpar{\hspace{\foldhskip}\rule{2mm}{.2pt}}
+ \vspace{-\foldvskipiii}\vspace{-\foldvskipii}\vspace{-\foldvskipi}
+ \egroup \fi}
+
+
+%% Defining the language-depending variables
+%% Compatible to scrlettr.cls
+%% You can still redefine them in the cfg-file
+
+\AtBeginDocument{%
+ \def\captionsenglish{%
+ \def\yourrefname {Your ref.:}
+ \def\yourmailname {Your letter of:}
+ \def\myrefname {Our ref.:}
+ \def\mymailname {Our letter of:}
+ \def\customername {Customer no.}
+ \def\invoicename {Invoice no.}
+ \def\subjectname {Subject: }
+ \def\ccname {cc: }
+ \def\enclname {encl: }
+ \def\headtoname {To}
+ \def\datename {Date}
+ \def\pagename {Page}
+ \def\telephonename {Telephone}
+ \def\telefaxname {Telefax}}
+ \let\captionsUSenglish=\captionsenglish
+ \def\captionsgerman{%
+ \def\yourrefname {Ihr Zeichen:}
+ \def\yourmailname {Ihr Schreiben vom:}
+ \def\myrefname {Unser Zeichen:}
+ \def\mymailname {Unser Schreiben vom:}
+ \def\customername {Kundennummer}
+ \def\invoicename {Rechnungsnummer}
+ \def\subjectname {}
+ \def\ccname {Kopien an: }
+ \def\enclname {Anlagen: }
+ \def\headtoname {An}
+ \def\datename {Datum}
+ \def\pagename {Seite}
+ \def\telephonename {Telefon}
+ \def\telefaxname {FAX}}
+ \let\captionsaustrian=\captionsgerman
+ \def\captionsfrench{%
+ \def\yourrefname {Vos r\'ef\'erences:}
+ \def\yourmailname {Votre lettre du:}
+ \def\myrefname {Nos r\'ef\'erences:}
+ \def\mymailname {Nos lettre du:}
+ \def\customername {Num\'ero de client}
+ \def\invoicename {Num\'ero de facture}
+ \def\subjectname {Concernant: }
+ \def\ccname {Copie \`a: }
+ \def\enclname {Annexes: }
+ \def\headtoname {A}
+ \def\datename {Date}
+ \def\pagename {Page}
+ \def\telephonename {Telephone}
+ \def\telefaxname {Telefax}}
+ \def\captionsdanish{%
+ \def\yourrefname {Deres ref.:}
+ \def\yourmailname {Deres brev af:}
+ \def\myrefname {Vor ref.:} % or Vores ref.:
+ \def\mymailname {Vort brev af:} % or Vores brev af:
+ \def\customername {Kundenr.}
+ \def\invoicename {Invoice no.}
+ \def\subjectname {Ang{\aa}ende: }
+ \def\ccname {kopi til: } % or kopi sendt til:
+ \def\enclname {vedlagt: }
+ \def\headtoname {Til}
+ \def\datename {Dato}
+ \def\pagename {Side}
+ \def\telephonename {Telefon}
+ \def\telefaxname {Telefax}}
+
+ \def\dateenglish{\def\today{\number\day/\number\month/\number\year}}
+ \def\dateUSenglish{\def\today{\number\month/\number\day/\number\year}}
+ \def\dategerman{\def\today{\number\day.\,\number\month.\,\number\year}}
+ \def\dateiso{\def\today{\number\year--\number\month--\number\day}}
+ \let\dateaustrian=\dategerman
+ \let\datefrench=\dategerman
+%% Set captions and date to US-english, we can change them later
+ \captionsUSenglish
+ \dateUSenglish
+ \ifx\l@USenglish\undefined
+ \chardef\l@USenglish=255
+ \else\ifnum\language=\l@USenglish
+ \captionsUSenglish
+ \dateUSenglish
+ \fi\fi
+ \ifx\l@german\undefined
+ \chardef\l@german=255
+ \else\ifnum\language=\l@german
+ \captionsgerman
+ \dategerman
+ \fi\fi
+ \ifx\l@austrian\undefined
+ \chardef\l@austrian=255
+ \else\ifnum\language=\l@austrian
+ \captionsgerman
+ \dategerman
+ \fi\fi
+ \ifx\l@french\undefined
+ \chardef\l@french=255
+ \else\ifnum\language=\l@french
+ \captionsfrench
+ \datefrench
+ \fi\fi
+ \input{\username.cfg}
+}
+
+\if@twoside
+ \def\ps@headings{%
+ \let\@oddfoot\@empty
+ \let\@evenfoot\@empty
+ \def\@oddhead{\usebox{\firm}
+ \headfont\hfil\@date\hfil\pagename\ \pnumfont\thepage}%
+ \let\@evenhead\@oddhead}
+\else
+ \def\ps@headings{%
+ \let\@oddfoot\@empty
+ \def\@oddhead{\usebox{\firm}
+ \headfont\hfil\@date\hfil\pagename\ \pnumfont\thepage}}
+\fi
+\def\ps@empty{%
+ \let\@oddfoot\@empty\let\@oddhead\@empty
+ \let\@evenfoot\@empty\let\@evenhead\@empty
+ }
+\def\ps@firstpage{%
+ \setlength{\topmargin}{-35\p@}
+ \setlength{\headheight}{36\p@}
+ \setlength{\headsep}{15\p@}
+ \let\@evenhead\@empty \let\@evenfoot\@empty
+ \def\@oddhead{\parbox{\textwidth}{\usebox{\FIRMHEAD}}}
+ \def\@oddfoot{\parbox{\textwidth}{\usebox{\firmfoot}}}
+ \settoheight{\footskip}{\parbox{\textwidth}{\usebox{\firmfoot}}}
+ \addtolength{\footskip}{20pt}
+ }
+\def\ps@plain{%
+ \let\@oddhead\@empty\let\@evenhead\@empty
+ \def\@oddfoot{\hfil\pnumfont\thepage\hfil}%
+ \def\@evenfoot{\hfil\pnumfont\thepage\hfil}
+ }
+\newcommand*{\usename}[1] {\def\username{#1}}
+\newcommand*{\name}[1] {\def\fromname{#1}}
+\newcommand*{\signature}[1]{\def\fromsig{#1}}
+\newcommand*{\telephone}[1]{\def\telephonenum{#1}}
+\newcommand*{\telefax}[1] {\def\telefaxnum{#1}}
+\def\username{akletter} %% 1996/05/01 -ak-
+\def\fromname{}
+\def\fromsig{\fromname}
+\def\telephonenum{}
+\def\telefaxnum{}
+
+\newcommand*{\makelabels}{%
+ \AtBeginDocument{%
+ \let\@startlabels\startlabels
+ \let\@mlabel\mlabel
+ \if@filesw
+ \immediate\write\@mainaux{\string\@startlabels}\fi}%
+ \AtEndDocument{%
+ \if@filesw\immediate\write\@mainaux{\string\clearpage}\fi}}
+\@onlypreamble\makelabels
+
+\def\adrentry#1#2#3#4#5#6#7#8{\ifx #8\@empty \else
+ \ifx #2\@empty
+ \expandafter\def\csname #8\endcsname{#1\\#3}
+ \else
+ \expandafter\def\csname #8\endcsname{#2 #1\\#3}
+ \fi \fi}
+\def\adrchar#1{}
+
+\newenvironment{letter}[1]
+ {\newpage
+ \if@twoside
+ \ifodd\c@page
+ \else
+ \thispagestyle{empty}\null\newpage
+ \fi
+ \fi
+ \c@page\@ne
+%% \changes{1.5f}{1999\02\21}{Quick fix for footnotes}
+ \c@footnote\z@%
+ \interlinepenalty=200 % smaller than the TeXbook value
+ \@processto{\leavevmode\ignorespaces #1}}
+ {\stopletter\@@par\pagebreak\@@par
+ \if@filesw
+ \begingroup
+ \let\\=\relax
+ \let\protect\@unexpandable@protect
+ \immediate\write\@auxout{%
+ \string\@mlabel{}{%
+ \ifx\@specialmail\@empty
+ \else
+ {\bfseries\@specialmail}\\[1ex]
+ \fi
+ \toname\\\toaddress}}%
+ \endgroup
+ \fi}
+\long\def\@processto#1{%
+ \@xproc #1\\@@@%
+ \ifx\toaddress\@empty
+ \else
+ \@yproc #1@@@
+ \fi}
+\long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}}
+\long\def\@yproc #1\\#2@@@{\def\toaddress{#2}}
+\newcommand*{\stopbreaks}{%
+ \interlinepenalty\@M
+ \def\par{\@@par\nobreak}
+ \let\\=\@nobreakcr
+ \let\vspace\@nobreakvspace}
+%%
+%% \changes{1.5d}{1997\02\14}{Made robust}
+%%
+\DeclareRobustCommand\@nobreakvspace
+ {\@ifstar\@nobreakvspacex\@nobreakvspacex}
+\def\@nobreakvspacex#1{%
+ \ifvmode
+ \nobreak\vskip #1\relax
+ \else
+ \@bsphack\vadjust{\nobreak\vskip #1}\@esphack
+ \fi}
+
+\def\@nobreakcr{\@ifstar{\@normalcr*}{\@normalcr*}}
+
+\newcommand*{\startbreaks}{%
+ \let\\\@normalcr
+ \interlinepenalty 200%
+ \def\par{\@@par\penalty 200\relax}}
+
+\newcommand{\@addrfield}{%
+ \mbox{}\kern\addrfieldindent%
+%%
+%% \changes{1.5i}{2003/01/26}{Added negative skip to firmreturn,
+%% size of addrfield limited to 8 cm (width of window in envelope)}
+%%
+ \parbox[t]{8cm}{%
+ \usebox{\firmreturn}\\[-6pt]%
+ \parbox[t][3.5cm][c]{8cm}%
+ {\fontsize{12}{14pt}\selectfont
+ \ifx\@specialmail\@empty
+ \else
+ {\bfseries\@specialmail}\\[1ex]
+ \fi
+ \toname\\
+ \toaddress
+ }%
+ }%
+}
+
+%% \changes{1.5a}{1996/05/02}{Cleaned up the \cs{datefield} command}
+%% \changes{1.5b}{1996/06/20}{Added space between the entries}
+
+\newcommand{\@datefield}{%
+\if@refdate
+%% The reference-line 5 item format
+ \makebox[\textwidth][l]{%
+ \@yref \vspace{0.02\textwidth}%
+ \@ymail \vspace{0.02\textwidth}%
+ \@myref \vspace{0.02\textwidth}%
+ \@mymail \hfill \@dateref
+ }\\[7mm]
+\else
+%% \changes{1.5b}{1996/06/20}{Added reference line for date-formats \neq
+%% refdate.}
+%% The reference-line 4 item format
+ \makebox[\textwidth][l]{%
+ \@yref \vspace{0.02\textwidth}%
+ \@ymail \vspace{0.02\textwidth}%
+ \@myref \vspace{0.02\textwidth}%
+ \@mymail
+ }\\[7mm]
+\fi
+\if@subjectdate
+ \setlength{\@tempdima}{\leftfield}
+\else
+ \setlength{\@tempdima}{\textwidth}
+\fi
+%% The subject-line
+\ifx\@subject\@empty
+ \makebox[\@tempdima]{}%
+\else
+%% \changes{1.5c}{1996/10/14}{Added \% to prevent overfull hbox}
+ \parbox[l]{\@tempdima}{\@subject}%
+\fi
+\if@subjectdate
+%% \changes{1.5e}{1998/03/25}{Added missing \cs{hfill}}
+ \hfill\makebox[\rightfield][r]{\@date}
+\fi%
+\\[1ex]
+%% I don't like the following ...
+\ifx\@customer\@empty
+\else
+ \parbox[l]{\@tempdima}{\@customer}\\%
+\fi%
+\ifx\@invoice\@empty
+\else
+ \parbox[l]{\@tempdima}{\@invoice}\\%
+\fi%
+}
+
+%% \changes{1.5c}{1996/10/14}{Added some \%s to remove underfull hbox warning
+%% and correct setting of argument}
+%% \changes{1.5i}{2003/01/26}{Added hfill between addrfield and rightbox.
+%% Added support for reverseaddr. Changed fix vertical space to parameter.}
+\newcommand*{\opening}[1]{%
+ \thispagestyle{firstpage} \null \@foldmarks%
+ \vspace*{\addrfieldsep}%
+ \if@reverseaddr
+ \rightbox\hfill\@addrfield\par
+ \else
+ \@addrfield\hfill\rightbox\par
+ \fi
+ \vspace{\datefieldsep}
+ \@datefield\null\par%
+ \vspace{\openingsep}%
+ #1\par\nobreak
+}
+
+\newcommand{\closing}[1]{\par\vspace{\parskip}%
+ \stopbreaks
+ \noindent
+ \parbox{\textwidth}{\raggedright
+ \ignorespaces #1\par
+ \vspace{6\medskipamount}%
+ \fromsig
+ \strut}%
+ \par}
+\medskipamount=\parskip
+\newcommand*{\cc}[1]{%
+ \par\noindent
+ \parbox[t]{\textwidth}{%
+ \@hangfrom{\normalfont\ccname }%
+ \ignorespaces #1\strut}\par}
+\newcommand*{\encl}[1]{%
+ \par\noindent
+ \parbox[t]{\textwidth}{%
+ \@hangfrom{\normalfont\enclname }%
+ \ignorespaces #1\strut}\par}
+\newcommand*{\ps}{\par\startbreaks}
+\newcommand*{\stopletter}{}
+
+%%
+%% The definitions below are compatible to DIN 676,
+%% you may change them in the cfg-file
+%%
+%% \changes{1.5b}{1996/06/20}{Reduces width of parbox and added space
+%% to the reference-line}
+%% \changes{1.5b}{1996/06/20}{Added \cs{raggedright} to the entries}
+%% \changes{1.5e}{1998/02/24}{Added \cs{reffont} and \cs{reftextfont}
+%% to the entries}
+
+\if@refdate
+ \def\yref#1{\def\@yref{\parbox[t]{.18\textwidth}
+ {\reffont\scriptsize \yourrefname\\
+ \reftextfont\raggedright\normalsize #1}}}
+ \def\ymail#1{\def\@ymail{\parbox[t]{.18\textwidth}
+ {\reffont\scriptsize \yourmailname\\
+ \reftextfont\raggedright\normalsize #1}}}
+ \def\myref#1{\def\@myref{\parbox[t]{.18\textwidth}
+ {\reffont\scriptsize \myrefname\\
+ \reftextfont\raggedright\normalsize #1}}}
+ \def\mymail#1{\def\@mymail{\parbox[t]{.18\textwidth}
+ {\reffont\scriptsize \mymailname\\
+ \reftextfont\raggedright\normalsize #1}}}
+\else
+ \def\yref#1{\def\@yref{\parbox[t]{.23\textwidth}
+ {\reffont\scriptsize \yourrefname\\
+ \reftextfont\raggedright\normalsize #1}}}
+ \def\ymail#1{\def\@ymail{\parbox[t]{.23\textwidth}
+ {\reffont\scriptsize \yourmailname\\
+ \reftextfont\raggedright\normalsize #1}}}
+ \def\myref#1{\def\@myref{\parbox[t]{.23\textwidth}
+ {\reffont\scriptsize \myrefname\\
+ \reftextfont\raggedright\normalsize #1}}}
+ \def\mymail#1{\def\@mymail{\parbox[t]{.23\textwidth}
+ {\reffont\scriptsize \mymailname\\
+ \reftextfont\raggedright\normalsize #1}}}
+\fi
+
+\def\@dateref{\parbox[t]{.2\textwidth}
+ {\reffont\scriptsize \@refdatename\ \\
+ \reftextfont\normalsize \@date}}
+
+\def\refdatename#1{\def\@refdatename{#1}}
+\def\@refdatename {}
+
+\def\subject#1{\def\@subject{%
+\ifx\subjectname\@empty
+ \bfseries #1
+\else
+ \@hangfrom{\subjectname\ }\bfseries #1
+\fi
+}}
+
+%% This is an experimental feature -ak- 1995/10/22
+
+\def\invoice#1{\def\@invoice{%
+ \invoicename\ \bfseries #1
+ }}
+
+\def\customer#1{\def\@customer{%
+ \customername\ \bfseries #1
+ }}
+
+\def\@invoice {}
+\def\@customer{}
+
+\def\@yref {} \def\@ymail {}
+\def\@myref {} \def\@mymail{}
+\def\@subject{}
+\def\@refdate{}
+
+\def\specialmail#1{\def\@specialmail{#1}}
+\def\email#1 {\def\@email{#1}}
+\def\mailbox#1 {\def\@mailbox{#1}}
+\def\@specialmail {}
+\def\@email {}
+\def\@mailbox {}
+
+\newcount\labelcount
+\newcommand*{\startlabels}{\labelcount\z@
+ \pagestyle{empty}%
+ \let\@texttop\relax
+%% \changes{1.5f}{1999/02/21}{Adjusted parsep for labels: Default is no
+%% separation between labels}
+ \setlength\parsep {0\p@}
+ \topmargin -60\p@
+ \headsep \z@
+ \oddsidemargin -35\p@
+ \evensidemargin -35\p@
+ \textheight 10in
+ \@colht\textheight \@colroom\textheight \vsize\textheight
+ \textwidth 550\p@
+ \columnsep 26\p@
+ \ifcase \@ptsize\relax
+ \normalsize
+ \or
+ \small
+ \or
+ \footnotesize
+ \fi
+ \baselineskip \z@
+ \lineskip \z@
+ \boxmaxdepth \z@
+ \parindent \z@
+ %\twocolumn
+ \relax}
+\let\@startlabels=\relax
+\newcommand*{\mlabel}[2]{%
+ \parbox[b][2in][c]{3in}{%
+ \strut\ignorespaces\usebox{\firmreturn}\\
+ \fontsize{12}{14pt}\selectfont
+ \parbox[t][1.2in][c]{3in}{#2}
+ }\par%
+}
+
+\let\@mlabel=\@gobbletwo
+\setlength\leftmargini {2.5em}
+\setlength\leftmarginii {2.2em}
+\setlength\leftmarginiii{1.87em}
+\setlength\leftmarginiv {1.7em}
+\setlength\leftmarginv {1em}
+\setlength\leftmarginvi {1em}
+\setlength\leftmargin {\leftmargini}
+\setlength\labelsep {5\p@}
+\setlength\labelwidth {\leftmargini}
+\addtolength\labelwidth {-\labelsep}
+\setlength\partopsep {0\p@}
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+\def\@listI{\setlength\leftmargin{\leftmargini}
+ \setlength\parsep {0\p@}%
+ \setlength\topsep {.4em}%
+ \setlength\itemsep{.4em}}
+\let\@listi\@listI
+\@listi
+\def\@listii {\setlength \leftmargin{\leftmarginii}%
+ \setlength \labelwidth{\leftmarginii}%
+ \addtolength\labelwidth{-\labelsep}}
+\def\@listiii{\setlength \leftmargin{\leftmarginiii}%
+ \setlength \labelwidth{\leftmarginiii}%
+ \addtolength\labelwidth{-\labelsep}%
+ \setlength \topsep {.2em}%
+ \setlength \itemsep {\topsep}}
+\def\@listiv {\setlength \leftmargin{\leftmarginiv}%
+ \setlength \labelwidth{\leftmarginiv}%
+ \addtolength\labelwidth{-\labelsep}}
+\def\@listv {\setlength \leftmargin{\leftmarginv}%
+ \setlength \labelwidth{\leftmarginv}%
+ \addtolength\labelwidth{-\labelsep}}
+\def\@listvi {\setlength \leftmargin{\leftmarginvi}%
+ \setlength \labelwidth{\leftmarginvi}%
+ \addtolength\labelwidth{-\labelsep}}
+\renewcommand\theenumi {\@arabic\c@enumi}
+\renewcommand\theenumii {\@alph\c@enumii}
+\renewcommand\theenumiii {\@roman\c@enumiii}
+\renewcommand\theenumiv {\@Alph\c@enumiv}
+\newcommand\labelenumi {\theenumi.}
+\newcommand\labelenumii {(\theenumii)}
+\newcommand\labelenumiii {\theenumiii.}
+\newcommand\labelenumiv {\theenumiv.}
+\renewcommand\p@enumii {\theenumi}
+\renewcommand\p@enumiii {\theenumi(\theenumii)}
+\renewcommand\p@enumiv {\p@enumiii\theenumiii}
+%
+% \changes{v1.5d}{1997/02/14}{Changed labels to work without math}
+%
+\newcommand\labelitemi {\textbullet}
+\newcommand\labelitemii {\normalfont\bfseries \textendash}
+\newcommand\labelitemiii{\textasteriskcentered}
+\newcommand\labelitemiv {\textperiodcentered}
+\newenvironment{description}
+ {\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \let\makelabel\descriptionlabel}}
+ {\endlist}
+\newcommand*\descriptionlabel[1]%
+ {\hspace\labelsep\normalfont\bfseries #1}
+
+\newenvironment{verse}
+ {\let\\=\@centercr
+ \list{}{\setlength\itemsep{\z@}%
+ \setlength\itemindent{-15\p@}%
+ \setlength\listparindent{\itemindent}%
+ \setlength\rightmargin{\leftmargin}%
+ \addtolength\leftmargin{15\p@}}%
+ \item\relax}
+ {\endlist}
+\newenvironment{quotation}
+ {\list{}{\setlength\listparindent{1.5em}%
+ \setlength\itemindent{\listparindent}%
+ \setlength\rightmargin{\leftmargin}}%
+ \item\relax}
+ {\endlist}
+\newenvironment{quote}
+ {\list{}{\setlength\rightmargin{\leftmargin}}%
+ \item\relax}
+ {\endlist}
+
+\setlength\arraycolsep {5\p@}
+\setlength\tabcolsep {6\p@}
+\setlength\arrayrulewidth{.4\p@}
+\setlength\doublerulesep {2\p@}
+\setlength\tabbingsep {\labelsep}
+\skip\@mpfootins = \skip\footins
+\setlength\fboxsep {3\p@}
+\setlength\fboxrule {.4\p@}
+\renewcommand\theequation{\@arabic\c@equation}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\relax}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\relax}
+\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
+\renewcommand\footnoterule{%
+ \kern-\p@
+ \hrule \@width .4\columnwidth
+ \kern .6\p@}
+\long\def\@makefntext#1{%
+ \noindent
+ \hangindent 5\p@
+ \hb@xt@5\p@{\hss\@makefnmark}#1}
+
+\setlength\columnsep {10\p@}
+\setlength\columnseprule {0\p@}
+\pagestyle{plain}
+\pagenumbering{arabic}
+\raggedbottom
+\let\@texttop\relax
+\onecolumn
+
+\endinput
+%% End of file `akletter.cls'.
diff --git a/macros/latex/contrib/akletter/akletter.tex b/macros/latex/contrib/akletter/akletter.tex
new file mode 100644
index 0000000000..60a4891a5b
--- /dev/null
+++ b/macros/latex/contrib/akletter/akletter.tex
@@ -0,0 +1,302 @@
+\NeedsTeXFormat{LaTeX2e}
+\documentclass[%
+foldmarks,
+%bankhigh,
+banklow,
+%draft,
+refdate,
+%rightdate,
+%subjectdate,
+twoside,
+%reverseaddr,
+%letterpaper]
+%a4offset]
+a4paper]
+{akletter}
+
+\usepackage{german}
+%\usepackage[dvips]{graphicx}
+
+% If you want to use PostScript fonts it may be a good idea
+% to enable the following. This should get rid of any remaining
+% cm-fonts.
+%\usepackage[TS1,T1]{fontenc}
+%\usepackage{textcomp}
+
+% Options:
+% a4paper: ISO A4 sized paper
+% a4offset: ISO A4 sized paper with offset to the right, for
+% presentations folders
+% letterpaper: US letter size
+% bankhigh: Bankconnections top right
+% banklow : Bankconnections in footer
+% foldmarks: Enable printing of foldmarks
+% reverseaddr: Exchange adrfield and rightfield
+
+% Specify the name of the .cfg-file
+% If not given akletter.cfg will be used
+
+\usename{akletter}
+%\usename{akfax} % Use Sans-Serif for better readability
+%\usename{akfaxps}% Use PostScript fonts (Times/Courier)
+
+% Create an extra page with labels
+%
+\makelabels
+
+%% This document will use the english page-layout throughout
+%% the file (only visible in the footer) even if it contains
+%% one English and two German letters.
+%% The rightfield will be ok for all three letters.
+%%
+%% There is no way to circumvent this, since the height of the
+%% footer is needed at the \begin{letter} to set the pagestyle.
+%% Well, there is: don't use language-dependent stuff inside a box.
+%%
+%\selectlanguage{english}
+
+\begin{document}
+\selectlanguage{english}
+\begin{letter}{DANTE e.V.\\Postfach 101840\\69120 Heidelberg}
+\invoice{123/95}
+\customer{178}
+%%
+%% This should really go into a cfg-file
+%% It's here to show you what is possible
+%%
+\renewcommand*\pnumfont {\bfseries}
+\renewcommand*\headfont {\slshape}
+\renewcommand*\reffont {\normalfont}
+\renewcommand*\reftextfont{\normalfont}
+\pagestyle{headings} % to make these settings useful
+% \telephone{ }
+% \telefax{ }
+% \email{A.Kielhorn@web.de}
+% \mailbox{ }
+\name{A. Kielhorn }
+% \signature{\vspace{-1cm} Extra large Sig.\\ Could be a picture
+% with your \emph{real} signature.\\(Axel Kielhorn) }
+\refdatename{Braunschweig,}
+%%
+%% If you want to use refdatename you have to set it first and
+%% define yref & co later! (Yes, this is ugly, still thinking
+%% about a better way)
+%%
+% \yref{ }
+% \ymail{1.6.1994}
+% \myref{ak/AK}
+% \mymail{1.6.1994}
+% \reftrue
+% \specialmail{ Einschreiben }
+\subject{LaTeX2e Letter-style}
+\opening{Dear friends,}
+%
+this is a demonstration-letter for my new akletter-class. It is
+based on letter.cls and liletter (Stefan Lindner Letter Style,
+distributed with Atari \TeX) with some additions from
+script\_l.sty. (Now scrlettr.cls)
+
+It supports everything needed like your-ref, your-mail, my-ref,
+my-mail, subject and of course configurable name and signature.
+
+The new version even supports footnotes.\footnote{This is a footnote
+in letter one.}
+
+Everything site-depending like header, footer or returnaddress
+went into a .cfg-file. The \verb|\usename| command selects a
+configuration file and enables you do have different
+information for business and privat letters. You may even set up
+a .cfg-file for your husband.
+
+Someone showed me how to use \verb|\makelabels| and now they are
+supported. They are hardcoded to the labels I'm using, but you may
+change them in the cfg-file.
+
+Language-dependend captions are now available in English, German,
+French and Danish. Other languages are supported using the cfg-file.
+
+Up to version 1.5 f only A4 paper was supported. But I finally got
+some patches for letter paper and a special modification usefull for
+presentation binders where about 15 mm of the left margin are
+invisible (\texttt{a4offset}). Both formats are now supported.
+
+New commands:
+
+ISO 8601 defines a date format similar to the one used by the \LaTeX
+3 Team. Version 1.5 h of \texttt{akletter.cls} supports this new
+format with the \verb+\dateiso+ command. You can simply use
+\verb+\dateiso+ in the preamble and everywhere the date is used (e.g.
+using the \verb+\today+ command) the new ISO format is used. Please
+note that changing the language will reset the date format. Today is
+the {\dateiso\today} in ISO notations.
+
+This format is recommended by the Chicago Manual of Style.
+
+Obsolete Commands:
+
+The \verb|\address| and \verb|\locations| commands which
+used to set \verb|\fromaddress| and \verb|\fromlocation| are no
+longer defined because they were never used. Define your address
+and location in the \verb|.cfg| file which is more flexible.
+
+\closing{Keep \TeX ing}
+
+\cc{de.comp.tex\\comp.text.tex}
+\encl{akletter.cls\\aketter.cfg}
+
+\ps P.S. see akletter.cfg for more information
+\end{letter}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\selectlanguage{german}
+
+\begin{letter}{DANTE e.V.\\Postfach 101840\\69120 Heidelberg}
+\telephone{}
+\email{A.Kielhorn@web.de}
+\name{A. Kielhorn }
+\signature{}
+%%
+%% this will produce an empty signature
+%%
+\specialmail{ Einschreiben }
+% \refdatename{Braunschweig, den}
+% \yref{ }
+% \ymail{1.6.1994}
+ \myref{ak/AK}
+% \mymail{1.6.1994}
+% \reftrue
+\subject{LaTeX2e Letter-class}
+\opening{Liebe \TeX-Gemeinde,}
+%
+dies ist ein Demonstrationsbrief f"ur meine neue Letter-Klasse
+f"ur \LaTeXe. Sie basiert auf \texttt{letter.cls} und
+\texttt{liletter.sty} (Stefan Lindner) sowie einigen
+Erweiterungen aus \texttt{scrlettr.cls}.
+
+Unterst"utzt werden folgende Einstellungen:
+
+\begin{itemize}
+\item Ihre Zeichen \verb|\yref{}|
+\item Ihr Schreiben vom \verb|\ymail{}|
+\item Unsere Zeichen \verb|\myref{}|
+\item Unser Schreiben vom \verb|\mymail{}|
+\item Sachbearbeiternamen \verb|\name{}|
+\item Unterschrift \verb|\signature{}|
+\item Kundennummer \verb+\customer{}+
+\item Rechnungsnummer \verb+\invoice{}+
+\end{itemize}
+
+Im Gegensatz zu "alteren Stilen wurde alles ver"anderliche in eine
+\verb|.cfg|-Datei ausgelagert. Somit ist ein Update der Klasse
+m"oglich ohne alles neu anpassen zu m"ussen.\footnote{Zumindest in
+der Theorie:-)} Ich rate daher von einer Ver"anderung der Datei
+\texttt{akletter.cls} ab. Begr"undete Erg"anzungs- bzw.
+"Anderungsw"unsche werden in sp"atere Versionen "ubernommen und
+stehen damit allen Anwendern zur Verf"ugung.
+
+Es k"onnen mehrere Konfigurationdateien angelegt werden. Sie
+werden durch den Befehl \verb|\usename{}| im Vorspann
+ausgew"ahlt. (z.B. f"ur interne Schreiben, private Post etc.)
+
+Einige Befehle der \verb|letter|-Klasse wurden entfernt, da die
+L"osung mit Konfigurationsdatein flexibler ist. Es handelt sich
+dabei um die Befehle \verb|\address| und \verb|\location|.
+
+Da die Bundespost inzwischen nur noch Umschl"age im Format
+DIN~680 und DIN~C4 transportiert und letztere in der
+Fenster-Ausf"uhrung selten sind, habe ich auch den
+\verb|\makelabels|-Befehl "uberarbeitet. Geplant ist noch eine
+Anpassung an verschiedene Etikettenformate.
+
+Neben Deutsch werden auch Englisch, Franz"osich und D"anisch unterst"utzt.
+Weiter Sprachen lassen sich in der Konfigurationdatei zuf"ugen.
+
+Seit Version 1.5 h ist es auch m"oglich, auf letter-Papier zu drucken,
+allerdings d"urfte es hier in Deutschland nur sehr schlecht
+erh"altlich sein. Weitaus interessanter d"urfte die Option
+\texttt{a4offset} sein, die das Layout nach rechts verschiebt. Dadurch
+lassen sich die Briefe jetzt problemlos als Anschreiben in einer
+Bewerbungsmappe verwenden. Die Verschiebung ist zur Zeit fest kodiert,
+evtl. werde ich den Wert aber konfigurierbar machen.
+
+Version 1.5 h bietet au"serdem ein neues Datumsformat nach ISO 8601
+\verb+\dateiso+ das folgenderma"sen aussieht: {\dateiso\today} f"ur
+den {\dategerman\today}. Da einfach der \verb+\today+ Befehl ge"andert
+wird, "andert sich auch die Datumsschreibweise bei jedem
+Sprachwechsel. (Diese Schreibweise wird "ubrigens in der DIN 5008
+(Schreibmaschinenschreiben) von 1996 empfohlen)
+
+\closing{Mit \TeX nischen Gr"u"sen}
+
+\encl{akletter.cls\\akletter.cfg}
+
+\ps P.S. Weitere Informationen in der Datei \verb|akletter.cfg|
+\end{letter}
+
+%%%%%%%%%%%
+
+\begin{letter}{Erika Mustermann\\Um die Ecke 2\\[0.5ex] 27182
+Berlin}
+\invoice{95/123}
+\name{A. Kielhorn }
+ \signature{\vspace{-1cm} Extra large Sig.\\ Could be a picture
+ with your \emph{real} signature.\\(Axel Kielhorn) }
+\subject{Dummy Brief}
+\opening{Hallo Erika,}
+
+dies ist ein Test-Brief.
+
+\closing{Bleib musterg"ultig}
+\end{letter}
+
+%
+% Das sollte normalerweise die option erverseaddr machen!
+%
+\makeatletter
+\@reverseaddrtrue
+\makeatother
+
+\begin{letter}{grebledieH 02196\\048101 hcaftsoP\\ .V.e ETNAD}
+\telephone{}
+\email{A.Kielhorn@web.de}
+\name{A. Kielhorn }
+\signature{}
+%%
+%% this will produce an empty signature
+%%
+\specialmail{ Einschreiben }
+% \refdatename{Braunschweig, den}
+% \yref{ }
+% \ymail{1.6.1994}
+ \myref{ak/AK}
+% \mymail{1.6.1994}
+% \reftrue
+\subject{LaTeX2e Letter-class}
+\opening{Liebe \TeX-Gemeinde,}
+%
+auf besonderen Wunsch einiger Anwender gibt es jetzt die M"oglichkeit, das
+Anschriftenfeld auf die rechte Seite des Blattes zu verschieben. Dies
+geschieht normalerweise mit der Option \verb+reverseaddr+, zur Demonstration
+wurde es hier vom Hand aktiviert.
+
+Damit das Anschriftenfeld auch in der H"ohe anpa"sbar ist, habe ich drei
+neue L"angen definiert:
+
+\begin{description}
+ \item[\textbackslash addrfieldsep] Der Abstand oberhalb des
+ Anschriftfeldes.
+ \item[\textbackslash datefieldsep] Der Abstand zwischen Anschriftfeld und
+ Datumszeile.
+ \item[\textbackslash openingsep] Der Abstand zwischen der Datumszeile und
+ der Gru§zeile.
+\end{description}
+
+\closing{Mit \TeX nischen Gr"u"sen}
+
+\encl{akletter.cls\\akletter.cfg}
+
+\ps P.S. Weitere Informationen in der Datei \verb|akletter.cfg|
+\end{letter}
+
+\end{document}
diff --git a/macros/latex/contrib/akletter/akletter.upl b/macros/latex/contrib/akletter/akletter.upl
new file mode 100644
index 0000000000..01c8e2ff9a
--- /dev/null
+++ b/macros/latex/contrib/akletter/akletter.upl
@@ -0,0 +1,66 @@
+This is myletter.upl
+This file describes akletter.cls, version 1.5
+
+Akletter replaces the older myletter.cls which I have written
+in the early days of LaTeX2e.
+
+After a short discussion with Bernd Raichle, Jan Braun and some
+of my Beta-testers, I decided to rename the class to akletter.
+
+Yes, myletter wasn't a good name from the start, but I never meant
+this for distribution, it was only a small hack to make me and a few
+friends happy.
+
+I'm sorry if I hurt someone with the changes introduced in 1.5 (some
+were already in the never released 1.4d).
+
+Compatibility:
+Akletter 1.5 is not fully compatible to myletter 1.4.
+There are some minor changes in the page-layout I didn't dare to
+build into myletter.
+I tried to clean up the way a date is set:
+Option:
+refdate - The Date will be shown in the reference-line.
+ If refdatename is defined, it will be set above the date.
+ This forces a reference-line with 5 items.
+subjectdate - The Date appear in the same line as the first line of the
+ subject. It will be rightaligned to the text.
+rightdate - The Date is shown in the rightfield, unless a
+ custom-definition of this field disables it completly.
+
+Only one option should be used, the default is subjectdate, which should
+look similar to myletter.cls.
+
+Changelog:
+1.5 First version derived from myletter.cls.
+ Compatibility-class created.
+ There is a new length \addrfieldindent that controlls the indentation
+ of the addressfield. Use it to adjust to envelops with window.
+1.5 a Introduced refdate/subjectdate/rightdate
+1.5 b Removed bugs found by Jan Braun
+1.5 c Made ready for public release
+ Added akfax.cfg
+1.5 d Synced with letter.cls 1.2u
+1.5 e Added some commands to change fonts in
+ - reference line:
+ \reffont for the stationary text
+ \reftextfont for the actual text you insert
+ - pageheader \headfont (not titlepage)
+ - pagenumber \pnumfont
+ * some suggestion to design your own layout for pages following the
+ firstpage are now in the cfg-file
+ * finally translated the manual to english (lettereng)
+1.5 f Synced with letter.cls 1.2z
+ Reset the footnote counter for every letter now.
+ Some minor correction to the cfg-files to avaoid using math
+ Only relevant if you use T1 fonts (like postscript ones)
+1.5 g Added support for letter paper (not released)
+1.5 h corrected support for letter paper, added new papersize a4offset which
+ is useful when you put the letter into a plastic binder with transparent
+ cover. Binders like that are often used for job applications in germany.
+ (Thanks to Margrehta Ri"sland for the suggestion and code samples.)
+ Added dateformat isodate 2000-05-28
+ Supplied akfaxps.cfg to show how to use Times/Courier
+1.5 i Made Layout more flexible by introducing new lengths:
+ addrfieldsep, datesep and openingsep.
+ Added option to exchange addrfield and rightfield.
diff --git a/macros/latex/contrib/akletter/letterdoc.pdf b/macros/latex/contrib/akletter/letterdoc.pdf
new file mode 100644
index 0000000000..5bc3d297c2
--- /dev/null
+++ b/macros/latex/contrib/akletter/letterdoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/akletter/letterdoc.tex b/macros/latex/contrib/akletter/letterdoc.tex
new file mode 100644
index 0000000000..4f580e3777
--- /dev/null
+++ b/macros/latex/contrib/akletter/letterdoc.tex
@@ -0,0 +1,659 @@
+\documentclass[a4paper]{article}
+\usepackage{german}
+\setlength{\unitlength}{1mm}
+
+\title{Akletter.cls\\Anleitung}
+\author{Axel Kielhorn\\a.kielhorn@tu-bs.de}
+
+\begin{document}
+
+\section{Vorwort}
+
+Als ich 1992 zum ersten Mal mit \TeX\ in Ber"uhrung kam, lag
+diesem ein deutscher Brief-Stil, benannt nach seinem Autor,
+Stefan Lindner, bei. Mit wenig Aufwand habe ich ihn an meine
+Bed"urfnisse angepa"st, ohne zu Verstehen, was ich da eigentlich
+"andere.
+
+Im Fr"uhjahr 1994 hatten sich bereits drei sehr "ahnliche
+Brief-Stile angesammelt und ich wurde des "ofteren gefragt "`Wie
+machst Du das?"' Nachdem ich jedes mal wieder erkl"aren mu"ste,
+was denn nun anzupassen sei und wovon unbedingt die Finger zu
+lassen sein, entschlo"s ich mich, einen einfach konfigurierbaren
+Brief-Stil zu schreiben. (Meine \LaTeX-Kenntnisse hatten
+inzwischen zugenommen.)
+
+Hauptproblem war jedoch das auf meinem Rechner installierte
+\LaTeX\ mit NFSS, dessen F"ahigkeiten ich gerne ausnutzen wollte,
+das aber in der weiten Welt (dem Rechner im Nebenraum) auf
+Unverst"andnis stie"s. Das neue \LaTeXe\ mit integriertem NFSS war
+die L"osung aller Probleme, so entstand der erste deutsche
+Brief-Stil f"ur \LaTeXe. (Inzwischen sind noch ein paar andere
+dazugekommen.)
+
+Und die Benutzerinnen sahen, das es fehlerhaft war, und
+schickten haufenweise Bug-Reports. Wie zu erwarten war befanden
+sich noch viele kleine Fehler in \texttt{myletter.cls} die in
+Zusammenarbeit mit vielen Betatesterinnen jedoch gefunden und
+beseitigt werden konnten.
+
+Seit Version 1.5 hei"st die Klasse nun \texttt{akletter.cls} und hat
+ein leicht ver"andertes Interface. Au"serdem ist
+\texttt{akletter.cls} jetzt mehrsprachig geworden und sollte auch mit
+\texttt{babel} zusammenarbeiten.\footnote{Ich benutze nur
+\texttt{german.sty}}
+
+\section{Was kann \texttt{akletter.cls}?}
+
+\texttt{akletter} implementiert ein festes Layout mit
+verschiedenen Boxen, deren Inhalt (in gewissen Grenzen) frei
+definierbar ist. Das Layout hat ungef"ahr folgendes Aussehen:
+
+\begin{picture}(100.00,140.00)
+\put(5.00,5.00){\framebox(90.00,130.00){}} % Blatt
+\put(5.00,5.00){\framebox(90.00,20.00){}} % Firmfoot
+\put(5.00,25.00){\framebox(45.00,5.00){}} % Closing
+\put(5.00,60.00){\framebox(45.00,5.00){}} % Opening
+\put(5.00,70.00){\framebox(60.00,5.00){}} % Subject
+\put(65.00,70.00){\framebox(30.00,5.00){}} % Date
+\put(5.00,75.00){\framebox(90.00,5.00){}} % Refline
+\put(65.00,85.00){\framebox(30.00,35.00){}}% Rightfield
+\put(5.00,85.00){\framebox(45.00,25.00){}} % Addressfield
+\put(5.00,110.00){\framebox(45.00,5.00){}} % Firmreturn
+\put(10.00,116,50){\textit{addrfieldsep}}
+\put(5.00,120.00){\framebox(90.00,15.00){}}% FIRM
+\put(65.00,120.00){\framebox(30.00,15.00){}}% Firmaddress
+\put(10.00,126.5){{FIRM}}
+\put(10.00,111.5){{Firmreturn}}
+\put(10.00,96.5){{Addressfield}}
+\put(10.00,81.5){\textit{datefieldsep}}
+\put(10.00,76.5){{Ref"|line}}
+\put(10.00,71.5){{Subject}}
+\put(10.00,66.5){\textit{openingsep}}
+\put(10.00,61.5){{Opening}}
+\put(10.00,26.5){{Closing}}
+\put(10.00,16.5){{Firmfoot}}
+\put(70.00,126.5){{Firmaddress}}
+\put(70.00,106.5){{Right-}}
+\put(70.00,101.5){{box}}
+\put(70.00,71.5){{Date}}
+\end{picture}
+
+Ein Teil der Felder ist statisch, wird also einmal aufgebaut und
+kann dann nicht mehr ver"andert werden, hierzu geh"oren:
+\begin{itemize}
+\item FIRM
+\item Firmaddress
+\item Firmreturn
+\item Firmfoot.
+\end{itemize}
+
+Die Breite dieser Felder ist abh"anging von \texttt{textwidth},
+"andert sich, wenn man das Papierformat wechselt. Dies sollte bei der
+Definition des Inhalts beachtet werden.
+
+Der Rest wird f"ur jeden Brief neu aufgebaut (dies ist wichtig
+wenn mehr als ein Brief in einem Dokument ist):
+\begin{itemize}
+\item ref
+\item subject
+\item opening
+\item closing
+\end{itemize}
+
+Seit Version 1.5i ist der Abstand zwischen den Boxen "uber Parameter
+einstellbar. Dadurch ist es m"oglich, das Layout an Fensterumschl"age
+anzupassen, die nicht der DIN entsprechen. Zus"atzlich wurde eine neue Option
+\texttt{reverseaddr} eingef"uhrt, die Addressfield und Rightbox vertauscht.
+
+Das Layout dieser Felder wird in einer \texttt{cfg}-Datei
+festgelegt, welche sich mit dem \verb+\usename+-Befehl ausw"ahlen
+l"a"st. Ohne diesen Befehl wird \texttt{akletter.cfg} geladen.
+Durch dieses Konzept ist es m"oglich mehrere \texttt{cfg}-Dateien
+zu installieren und diese bei einem Update von
+\texttt{akletter.cls} ohne "Anderungen\footnote{Bein Wechsel von
+Version 1.3 auf 1.4 waren leider doch "Anderungen notwendig :-(}
+weiterzuverwenden. Die endg"ultige Anpassung an \texttt{babel} wird
+sicher auch noch ein paar "Anderungen erfordern.
+
+Mit der Version 1.5 wurde der Name auf \texttt{akletter} ge"andert.
+Der Pr"afix \texttt{my} sollte f"ur lokale Styles reserviert bleiben.
+Styles, die "uber CTAN verteilt werden, sollten eindeutig
+identifizierbar sein.
+
+\section{Die \texttt{cfg}-Datei}
+
+Diese Datei stellt die unterste Ebene der
+Benutzerinnenschnittstelle dar, sie wird in der Regel einmalig
+(bei der Installation) bearbeitet und dann vergessen. Daher ist
+es wichtig die \texttt{akletter.cfg}-Datei nicht zu l"oschen, da
+sich darin noch viele Anregungen f"ur sp"ater befinden.
+
+Auf Anregung von Jan Braun hat sich hier einiges getan:
+\texttt{akletter.cls} sucht nun nach \texttt{akletter.cfg} wenn
+kein Benutzername angegeben wird. Diese Datei sollte so ge"andert
+werden, das sie mit den "ortlichen Gegebenheiten (Institut/Firma)
+"ubereinstimmt. Die pers"onliche \texttt{cfg}-Datei enth"alt dann
+nur noch die "Anderungen zu diesem Normal, wie z.\,B. Namen,
+Durchwahl, Zimmernummer~\dots\ Die pers"onlche Konfigurationsdatei
+l"adt dann einfach die Firmendatei nach.
+
+Hier zuerst die Firmendatei:
+
+\begin{verbatim}
+\makeatletter
+\end{verbatim}
+
+Das ist notwendig, damit die internen Befehle definiert werden
+k"onnen.
+
+\begin{verbatim}
+\telephone{0800 / 12 34 56 }
+\telefax {0800 / 12 34 57 }
+%% You may include logos and other graphic-material into
+%% your letterhead:
+%%
+%%\RequirePackage[dvips]{graphics}
+\end{verbatim}
+
+Neben der M"oglichkeit Bilder mit der \texttt{graphics}-Package
+einzubinden gibt es nat"urlich noch viele andere M"oglichkeiten.
+Mit \texttt{graphics} ist es getestet und sollte daher
+funktionieren. (\texttt{graphics.sty} braucht entweder eine
+Option, die den DVI-Treiber angibt oder eine Datei
+\texttt{graphics.cfg})
+
+\begin{verbatim}
+%% You may redefine the following variables
+%%
+
+%\renewcommand*{\yourrefname} {Ihr Zeichen:}
+%\renewcommand*{\yourmailname} {Ihr Schreiben vom:}
+%\renewcommand*{\myrefname} {Unser Zeichen:}
+%\renewcommand*{\mymailname} {Unser Schreiben vom:}
+%\renewcommand*{\customername} {Kundennummer }
+%\renewcommand*{\invoicename} {Rechnungsnummer }
+%\renewcommand*{\subjectname} {} %{Betr.}
+%\renewcommand*{\ccname} {Kopien an:}
+%\renewcommand*{\enclname} {Anlagen:}
+%\renewcommand*{\headtoname} {An}
+%\renewcommand*{\datename} {Datum}
+%\renewcommand*{\pagename} {Seite}
+%\renewcommand*{\telephonename} {Telefon}
+%\renewcommand*{\telefaxname} {FAX}
+\end{verbatim}
+
+Diese Namen k"onnen in der \texttt{cfg}-Datei an "ortliche
+Gegebenheiten angepa"st werden, au"serdem ist so eine Anpassungen
+an andere Sprachen m"oglich, auch wenn diese nicht explizit von
+\texttt{german.sty}/\texttt{babel.sty} unterst"utzt werden. Die
+Definitionen sind kompatibel zu \texttt{scrlettr.cls} aus dem
+\texttt{Koma-Script}-Paket. Nicht alle Namen werden tats"achlich
+genutzt. Damit das auch mit \texttt{babel} funtioniert, ist noch
+etwas mehr Aufwand notwendig, siehe \texttt{akletter.cfg}.
+
+\begin{verbatim}
+%% Alternate definitions for the reference-line.
+%% Use this if you do not need a mymail-entry.
+%% In fact you can do a lot of things with these
+%% 4 entries, e.g. setting \mymailname to {InvoiceNo}
+%% and using \mymail to display an invoiceno.
+%% You may change these lines but make sure that
+%% the combined length of the 4 fields is 1\leftfield
+%% or less.
+%\def\yref#1{\def\@yref{\parbox[t]{.33\leftfield}
+% {\scriptsize \yourrefname\\ \normalsize #1}}
+% reftrue}
+%\def\ymail#1{\def\@ymail{\parbox[t]{.33\leftfield}
+% {\scriptsize \yourmailname\\ \normalsize #1}}
+% reftrue}
+%\def\myref#1{\def\@myref{\parbox[t]{.33\leftfield}
+% {\scriptsize \myrefname\\ \normalsize #1}}
+% reftrue}
+%\let\mymail=\@gobbleone
+\end{verbatim}
+
+Die Referenz-Zeile in \texttt{akletter.cls} ist nach DIN
+676 ausgelegt, kann aber beliebig ver"andert werden, die Summe
+der Eintr"age sollte jedoch in eine Zeile passen.
+
+\begin{verbatim}
+%%% Top of first page: left
+\sbox{\FIRM}
+ {\parbox[t]{\leftfield}
+ {\fontsize{17.28}{22pt}\fontseries{bx}\selectfont%
+ Mein Name\hfill}}
+%%% Top of first page: right
+\sbox{\firmaddress}
+% Use either Text:
+ {\parbox[t]{\rightfield}{%
+ \fontsize{9}{10pt}\selectfont\normalfont
+ Meine Stra{\ss}e 1\\ 12345 Meindorf}}
+% or graphic:
+% {\includegraphics{ourlogo}}
+% and don't forget to adjust FIRM and firmaddress:
+%%% Top of first page: left + right
+%%% You may want to adjust the raisebox
+\sbox{\FIRMHEAD}
+ {\usebox{\FIRM}\raisebox{3mm}{\usebox{\firmaddress}}}
+\end{verbatim}
+
+Der Briefkopf der ersten Seite setzt sich aus zwei Elementen
+zusammen, der Box \texttt{FIRM} und der Box
+\texttt{firmaddress}. Die Breite der Boxen wird in
+\texttt{akletter.cls} festgelegt, \texttt{rightfield} ist immer 42 mm
+breit, \texttt{leftfield} ist \texttt{textwidth} $-$
+\texttt{rightfield}. Beide werden in die Box \texttt{FIRMHEAD}
+gepackt, wobei die horizontale Ausrichtung stattfindet.
+Nat"urlich k"onnte man das auch mit ein paar Parboxen oder
+Minipages machen, da aber \texttt{firmaddress} ein guter Platz
+f"ur eine Graphik ist und diese mit Sicherheit ein
+Fein-Tuning\footnote{Nicht nur der Text, nein, auch die Worte
+sind zweisprachig :-)} erfordert, habe ich diese etwas
+umst"andlich wirkende L"osung beibehalten.
+
+\begin{verbatim}
+%%% Top of every other page
+\sbox{\firm}
+ {\fontsize{10}{12pt}\selectfont\normalfont
+ Mein Name}
+\end{verbatim}
+
+Die Folgeseiten brauchen kein so aufwendiges Layout. Wer mehr m"ochte,
+dann sich nat"urlich auch ein anderes Layout definieren, seit 1.5e
+sind entsprechende Muster in der cfg-Datei vorhanden:
+
+\begin{verbatim}
+% \if@twoside % Twoside definition
+% \def\ps@headings{%
+% \def\@oddfoot{\hfil Text on the odd page}
+% \def\@evenfoot{Text on the even page\hfil}
+% \def\@oddhead{\usebox{\firm}
+% \headfont\hfil\@date\hfil\pagename\ \pnumfont\thepage}%
+% \let\@evenhead\@oddhead}
+% \else % Oneside definition
+% \def\ps@headings{%
+% \def\@oddfoot{\hfil Text for one-side layout\hfill}
+% \def\@oddhead{\usebox{\firm}
+% \headfont\hfil\@date\hfil\pagename\ \pnumfont\thepage}}
+% \fi
+\end{verbatim}
+
+\begin{verbatim}
+%%% Return address
+%%% one line version
+\sbox{\firmreturn}
+ {\underline{\fontsize{7}{8pt}\selectfont
+ \hskip5mm Mein Name $\cdot$ Meine Stra{\ss}e 1
+ $\cdot$ D--12345 Meindorf\hskip5mm}}
+%%% two line version
+%\sbox{\firmreturn}
+% {\underline{
+% \fontsize{7}{8pt}\fontfamily{\sfdefault}\selectfont
+% \hskip3mm\parbox{65mm}
+% {\makebox[65mm][c]
+% {Fachschaft -- Maschinenbau $\cdot$
+% \mbox{\raise .75ex \hbox{c}\kern -.15em /\kern -.125em
+% \smash{\lower .3ex \hbox{o}}}
+% AStA TU Braunschweig}
+% \makebox[65mm][c]
+% {Katharinenstra{\ss}e 1 $\cdot$ D--38106 Braunschweig}}
+% \hskip3mm}}
+\end{verbatim}
+
+Damit unzustellbare Briefe den Weg zur"uck finden, erscheint im
+Fenster die \texttt{firmreturn}-Adresse. An der zweizeiligen
+Version habe ich ein Wochenende gebastelt bis sie mir gefiel.
+
+\begin{verbatim}
+%%% Firstpage footer
+%%% The code should be controlled by @banklo
+\sbox{\firmfoot}
+ {\fontsize{9}{11pt}\selectfont
+%%% The following line may look nice in a FAX.CFG :-)
+%%% If you have a bad telephone-line try snail-mail!\\
+ \if@banklo
+ \ifnum\language = \l@german
+ Bankverbindung:
+ \hspace{5mm}
+ \parbox[t]{\rightfield}{\raggedright
+ Undeutsche Landesbank Frankfurt,
+ BLZ~123\,456\,78, Konto~1\,111\,007\\}%
+ \hspace{5mm}
+ \parbox[t]{\rightfield}{\raggedright
+ Die Sparkasse Meindorf,
+ BLZ~007\,123\,10, Konto~08\,15\\}
+ \fi
+ \fi}
+\end{verbatim}
+
+Die erste Seite kann auch einen Brief"|fu"s tragen, nach DIN ist
+das der Ort f"ur Bankverbindungen, Gerichtsstand und "ahnliches.
+Damit man auch Briefe ohne diesen Kram verschicken kann, ohne
+eine neue \texttt{cfg}-Datei zu erzeugen, gibt es die Option
+\texttt{banklow}, die den Schalter \verb+@banklo+ setzt. Hiermit
+k"onnen die Bankverbindungen\footnote{Daher der Name}
+eingeschaltet werden. Diese Einstellung gilt f"ur das gesamte
+Dokument.
+
+\begin{verbatim}
+%%% Text displayed below the header on the right side
+%%% This should be controlled by @bankhi
+%%% This is the only place that will be re-evaluated for
+%%% every letter! Everything that changes for different
+%%% letters (in the same document) must go either here
+%%% or in the ref-line.
+\newcommand{\rightbox}
+ {\parbox[t]{\rightfield}
+ {\fontsize{9}{11pt}\selectfont
+ \raggedright
+ \ifx\fromname\@empty
+ \else
+ \ifnum \language = \l@german
+ Sachbearbeiter:
+ \fi
+ \fromname\\
+ \fi
+ \ifx\telephonenum\@empty
+ \ifnum \language = \l@german
+ \telephonename: 040 / 44\,17\,77
+ \else
+ \telephonename: 49--40--44\,17\,77
+ \fi
+ \else
+ \telephonename: \telephonenum
+ \fi\\[1.5ex]
+ \ifx\telefaxnum\@empty
+ \ifnum \language = \l@german
+ \telefaxname: 040 / 44\,17\,77
+ \else
+ \telefaxname: 49--40--44\,17\,77
+ \fi
+ \else
+ \telefaxname: \telefaxnum
+ \fi\\[1.5ex]
+ \ifx\@email\@empty
+ e-mail Kein Mehl\\[1.5ex]
+ \else
+ e-mail: \@email \\[1.5ex]
+ \fi
+ \if@bankhi
+ \ifnum \language = \l@german
+ Bankverbindung:\\[1ex]
+ Undeutsche Landesbank Frankfurt,
+ BLZ~123\,456\,78, Konto~1\,111\,007\\[.5ex]
+ Die Sparkasse L\"uneburg,
+ BLZ~007\,123\,10, Konto~08\,15 \\[.5ex]
+ \fi
+ \fi
+ %% Finally fixed it!
+ %% If you want to have the date here, set the
+ %% rightdate option.
+ %% (With a big excuse to Markus and many others, who
+ %% had to wait that long)
+ \if@rightdate
+ \vspace{0.5ex}
+ \normalsize\@date
+ \fi
+ }}
+\end{verbatim}
+
+Dies ist der komplexeste Code in der \texttt{cfg}-Datei, das
+Feld rechts neben dem Adressfeld. Es wird f"ur jeden Brief neu
+ausgewertet, darf daher nicht in eine Box. Normalerweise soll
+hier Platz f"ur einen Eingangsstempel sein, aber viele
+Amateurdesigner packen hier lieber die Bankverbindungen hin, mit
+der Option \texttt{bankhigh} besteht die M"oglichkeit beides
+vorzusehen und bei Bedarf umzuschalten.
+
+Die Optionen \texttt{banklow} und \texttt{bankhigh} sind \emph{nicht}
+exclusiv.
+
+\begin{verbatim}
+%% The labels defined in akletter.cls are what my printer likes:
+%% Onecolumn, 100mm * 50mm, 3mm separation.
+%% If you have different lables edit here:
+
+%\renewcommand*{\startlabels}{\labelcount\z@
+% \pagestyle{empty}\let\@texttop\relax
+% The margins are calculated from the 1in,1in point,
+% thus negative values will occur if the margins are smaller
+% \topmargin -60\p@
+% \headsep \z@
+% \oddsidemargin -35\p@
+% \evensidemargin -35\p@
+% \textheight 10in
+% \@colht\textheight \@colroom\textheight \vsize\textheight
+% \textwidth 550\p@
+% You may have to increase columnsep if you use twocolumn
+% This is what letter.cls uses.
+% \columnsep 26\p@
+% This does almost nothing since there is an explicit
+% fontsize-command in the text written.
+% \ifcase \@ptsize\relax
+% \normalsize
+% \or
+% \small
+% \or
+% \footnotesize
+% \fi
+% \baselineskip \z@
+% \lineskip \z@
+% \boxmaxdepth \z@
+% \parindent \z@
+% This is obvious, isn't it?
+% \twocolumn
+% \relax}
+
+%% This is how the label will look like when printed.
+%% Note that specialmail will be written to the .aux-file
+%% when the letter is processed. The width used here is
+%% what letter.cls uses.
+
+%\renewcommand*{\mlabel}[2]{%
+% \parbox[b][2in][c]{262\p@}{%
+% \strut\ignorespaces\usebox{\firmreturn}\\
+% \fontsize{12}{14pt}\selectfont
+% \parbox[t][1.2in][c]{3in}{#2}
+% }\par%
+%}
+\end{verbatim}
+
+Um echte Adressaufkleber zu erzeugen ist noch einiges an Arbeit
+notwendig. Das hier angegebene Layout funktioniert mit meinen
+Aufklebern auf einem Deskjet~500 recht gut, auf dem neuen
+Deskjet~540 ist alles um 20~mm verschoben, daf"ur werden die
+Aufkleber besser eingezogen; so viel zum Thema ``Device
+Independend''.
+
+\begin{verbatim}
+\makeatother
+\endinput
+\end{verbatim}
+
+Das wars.
+
+Die einzelnen Mitarbeiterinnen brauchen dann nur noch folgendes:
+
+\begin{verbatim}
+%
+\input{akletter.cfg}
+%
+\email{A.Kielhorn@web.de.de}
+\mailbox{}
+\name{A. Kielhorn}
+\signature{(Axel Kielhorn)}
+%
+\end{verbatim}
+
+\section{Der erste Brief}
+
+Nicht alle Einstellungen k"onnen in der \texttt{cfg}-Datei
+gemacht werden, sonst w"urde man ja immer den selben Brief
+schreiben. Daher gibt es noch viele Einstellungen im
+eigentlichen Text zu machen. (Nat"urlich k"onnen default-Werte in
+der \texttt{cfg}-Datei gesetzt werden.)
+
+Folgende Befehle m"ussen in der Pr"aambel (vor dem
+\verb+\begin{document}+) gesetzt werden.
+
+\begin{description}
+\item [\texttt{usename\{default\}}] w"ahlt die \texttt{cfg}-Datei
+ aus.
+\item [\texttt{pagestyle\{headings\}}] Folgeseiten mit Kopfzeile.
+\item [\texttt{makelabels}] Adressaufkleber erzeugen
+\item [\texttt{selectlanguage\{english\}}] Die verwendete
+ Sprache. Wenn der \texttt{german.sty} verwendet wird,
+ Seitenkopf und -fu"s aber die englischen Namen tragen
+ sollen, kann das \emph{hier} (und nur hier) eingestellt
+ werden. Durch die mehrfache Verwendung von
+ \verb+\selectlanguage{}+ kann ein furchtbares
+ Durcheinander entstehen, daher am besten nur eine Sprache pro
+ Dokument verwenden!
+\end{description}
+
+Seit Version 1.5e kann der Benutzer das Aussehen noch feiner
+manipulieren:
+\begin{description}
+ \item[\texttt{reffont}] Mit \verb+\renewcommand*\reffont{}+ kann das
+ Aussehen der von \texttt{Akletter.cls} erzeugten Texte wie "`Ihr
+ Schreiben vom"' ver"andert werden, default ist \texttt{normalfont}
+
+ \item[\texttt{reftextfont}] Mit \verb+\renewcommand*\reftextfont{}+
+ kann das Aussehen der Argumente der Referenzzeile ver"andert werden,
+ default ist \texttt{normalfont}
+
+ \item[\texttt{headfont}] Mit einem
+ \verb+\renewcommand*\headfont{}+ kann das Aussehen der Kopfzeile
+ (ohne Seitenzahl) ver"andert werden, default ist \texttt{slshape}
+
+ \item[\texttt{pnumfont}] Mit einem
+ \verb+\renewcommand*\pnumfont{}+ kann das Aussehen der Seitenzahl
+ ver"andert werden, default ist \texttt{normalfont}
+
+\end{description}
+
+
+Die folgenden Befehle "andern das Aussehen eines Briefes, sie
+sollten also hinter dem \verb+\begin{letter}+ stehen:
+
+\begin{description}
+\item [\texttt{telephone\{0800 / 12 34 56\}}] Hiermit
+ "uberschreibe ich die Telephonnummer der
+ \texttt{cfg}-Datei
+\item [\texttt{telefax\{0800 / 12 34 57\}}] Gleiches f"ur die Fax-Nummer
+\item [\texttt{email\{A.Kielhorn@tu-bs.de\}}] Steht auch
+ schon in der \texttt{cfg}-Datei
+\item [\texttt{mailbox\{ \}}]
+\item [\texttt{name\{A. Kielhorn\}}] Sinnvoll, wenn die
+ \texttt{cfg}-Datei f"ur eine Abteilung erstellt wurde,
+ dann steht hier die Sachbearbeiterin. Dieser Befehl
+ setzt auch die \texttt{signature}
+\item [\texttt{signature\{(Axel Kielhorn)\}}] Wenn die
+ \texttt{signature} nicht mit dem Namen "ubereinstimmt
+ (i.~A.)
+\item [\texttt{specialmail\{Einschreiben\}}]
+\item [\texttt{refdatename\{Braunschweig, den\}}] Refdatename wird nur
+benutzt, wenn auch tats"achlich eine Referenzzeile vorhanden ist.
+\item [\texttt{yref\{ \}}]
+\item [\texttt{ymail\{1.6.1994\}}]
+\item [\texttt{myref\{ak/AK\}}]
+\item [\texttt{mymail\{1.6.1994\}}]
+\item [\texttt{subject\{LaTeX2e Letter-style\}}] Die Betreffzeile
+\item [\texttt{invoice\{Rechnungsnummer\}}] noch experimentell
+\item [\texttt{customer\{Kundennummer\}}] noch experimetell
+\item [\texttt{opening\{Dear friends,\}}] Die Anrede, der
+ einzige Befehl der in jedem Brief vorhanden sein
+ \emph{mu"s}, da er den Briefkopf erzeugt. Dabei kann das
+ Argument leer sein, z.\,B. um Vordrucke zu erzeugen.
+\end{description}
+
+Hier sollte dann der Text stehen\dots
+
+Der Abschlu"s des Briefes:
+\begin{description}
+\item [\texttt{closing\{mfg\}}] Auch dieser Befehl darf nicht
+ fehlen, er beendet den Brief.
+\item [\texttt{cc\{comp.text.tex\}}] Eine Kopie f"ur das Archiv
+\item [\texttt{encl\{akletter.cfg\}}] Und eine Anlage
+\item [\texttt{ps}] Der Brief ist zu Ende! Kein langes
+ Postscriptum mehr.
+\end{description}
+
+\section{Serienbriefe}
+
+Seit Version 1.4 kann \texttt{akletter} auch Serienbriefe
+erzeugen. Ich habe hier die entsprechenden Programmteile aus der
+\texttt{scrlettr.cls} des Koma-Script-Paketes kopiert. Daher
+k"onnen die \texttt{adr}-Dateien zwischen beiden Systemen
+ausgetauscht werden. Programmierbeispiele hierzu in der
+Anleitung zu Koma-Script.
+
+\section{Optionen}
+
+\texttt{akletter.cls} kennt eine Reihe von Optionen die nicht
+unerw"ahnt bleiben sollen:
+
+\begin{description}
+\item [a4paper] W"ahlt das Papierformat aus. Diese Option kann auch
+weggelassen werden, da sie default ist.
+
+\item [a4offset] Erzeugt ein um 24 Punkte (ca. 8 mm) nach rechts
+verschobenes Layout, das um 24 Punkte schmaler ist. Gedacht ist dieses
+Layout f"ur Bewerbungsmappen, bei denen der linke Rand durch eine
+Klemmleiste verdeckt ist.
+
+\item[letterpaper] W"ahlt das amerikanische letter Format. Der Brief
+wird etwas breiter, daf"ur aber k"urzer. Ob das Layout mit
+amerikanischen Fensterumschl"agen zurechtkommt, kann ich nicht
+"uberpr"ufen.
+
+\item [banklow] und
+
+\item [bankhigh] sind zwei Schalter zur freien Verf"ugung. Im Original
+dienen sie dazu, die Bankverbindungen in Fu"s der Seite (wo sie
+hingeh"oren) oder im Feld rechts neben der Anschrift (wo viele
+Designer sie gerne hinpacken) ein- und auszuschalten. Beide Schalter
+k"onnen unabh"angig voneinander benutzt werden.
+
+\item [foldmarks] schaltet die Falzmarken ein. Ob sie auch wirklich zu
+sehen sind, liegt dann am Drucker. Der oben genannte DeskWriter 540
+l"a"st einen zu breiten linken Rand, so da"s die Falzmarken nicht
+gedruckt werden k"onnen.
+
+\item [refdate] Aktiviert das Datum in der Referenzzeile
+
+
+\item [subjectdate] Das Datum erscheint in der Subjectzeile (default)
+
+\item [rightdate] Wenn im rightfield entsprechneder Code enthalten
+ist, wird das Datum dort ausgegeben. Ansonsten wird kein Datum
+gedruckt.
+\item [reverseaddr] Vertauscht Anschriftenfeld und Rightfield. F"ur
+ ausl"andische Fensterumschl"age.
+\end{description}
+
+Da ich ein gro"ser Anh"anger von Normen bin, habe ich jetzt auch das
+Datumsformat nach ISO 8601 definiert. F"ur deutsche Briefe ist es
+relevant, da die DIN 5008 von 1996 (Maschinenschreiben) dieses Format
+empfiehlt. Durch den Befehl \verb+\dateiso+ in der Pr"aamble wird das
+Datum als JJJJ-MM-TT ges"atzt, also z.B. 2000-05-28 f"ur den 28. Mai
+2000. Mit jeder Sprachumschaltung wird das Datum wieder auf den
+Standardwert f"ur diese Sprache zur"uckges"atzt.
+
+\section{Danksagungen}
+
+Bedanken m"ochte ich mich bei Donald E. Knuth und Leslie Lamport,
+die mit \TeX\ und \LaTeX\ ein sehr brauchbares
+Textverarbeitungssystem geschaffen haben, bei Stefan Lindner f"ur
+die Portierung auf Atari, bei Andrew Trevorrow f"ur die Portierung
+auf MacIntosh und beim \LaTeX3-Team f"ur die Weiterentwicklung von \LaTeX.
+
+Mein spezieller Dank gilt den Betatestern, die sich mit fr"uhen
+Versionen vom \texttt{akletter.cls} rumgeschlagen haben, hier
+ganz besonders Helmut Lichtenberg, dem ich viele Anregungen
+verdanke und Jan Braun, der den Ansto"s zu dieser Anleitung
+gegeben hat und sie Korrektur la"s.
+
+\end{document}
+
diff --git a/macros/latex/contrib/akletter/lettereng.pdf b/macros/latex/contrib/akletter/lettereng.pdf
new file mode 100644
index 0000000000..0270422f02
--- /dev/null
+++ b/macros/latex/contrib/akletter/lettereng.pdf
Binary files differ
diff --git a/macros/latex/contrib/akletter/lettereng.tex b/macros/latex/contrib/akletter/lettereng.tex
new file mode 100644
index 0000000000..bc9c905b44
--- /dev/null
+++ b/macros/latex/contrib/akletter/lettereng.tex
@@ -0,0 +1,620 @@
+\documentclass[a4paper]{article}
+\usepackage{german}
+\setlength{\unitlength}{1mm}
+
+\title{Akletter.cls\\Manual}
+\author{Axel Kielhorn\\a.kielhorn@tu-bs.de}
+
+\begin{document}
+\maketitle
+
+\section{Preface}
+
+In the beginning there was Lindner-\TeX\ for the Atari St computer. It
+came with a letter style called \verb+liletter.sty+. I adapted the
+style to my liking and saw that everything was good.
+
+On the second day, my roommate came, saw my letters and wanted a
+similar style for his correspondence, thus a second letter style was
+created and everything was good.
+
+On the third day, I had to write an official letter for the students
+group I was working with and I had to create a third letter style.
+And I said onto myself ``Well, that's a fine mess you got yourself
+into.''
+
+And than came the June of 1994 and They released \LaTeXe. I realized
+immediately that I had to adjust my letter styles. And I decided to
+separate the class from the user defined settings and put the class
+into a \verb+.cls+ file and the user defined settings into a
+\verb+.cfg+ file. And again everything was good.
+
+After someone asked in \verb+de.comp.text.tex+ for a letter class
+suitable for ISO A4 paper that will work with envelopes with windows, I
+said onto my letter class ``Go out into the world and show the people
+out there how to print letters with \LaTeX.'' And my letter class was
+distributed throughout the internet to every user who has to print
+letters on A4 paper. And it was not only used in the german speaking
+countries but spread even to Norway and Italy where the german tongue
+was not well known, except in some holiday centers where you find
+few \LaTeX\ users.
+
+And a cry came onto me ``Dear Axel, who has made \verb+akletter.cls+,
+can you give us, who do not read nor speak german, an english version
+of the documentation to your class?'' And I said onto me ``Oh bugger,
+that will be a lot of work, but it is raining outside and I have
+nothing better to do, so why not?'' And this is the story of this
+document. If you don't like it try \verb+scrlettr.cls+ from the
+Koma-Script packages which is a very nice letter class and even
+shares some code with \verb+akletter.cls+.
+
+\section{What does \texttt{akletter.cls} do?}
+
+\texttt{akletter} implements a fixed layout for the first page of a
+letter. This layout consists of boxes at fixed positions with a more
+or less variable contents. This picture will give you an impression
+about how the layout looks:
+
+\begin{picture}(100.00,140.00)
+\put(5.00,5.00){\framebox(90.00,130.00){}}
+\put(5.00,120.00){\framebox(90.00,15.00){}}
+\put(70.00,135.00){\framebox(0.00,0.00){}}
+\put(65.00,120.00){\framebox(30.00,15.00){}}
+\put(65.00,85.00){\framebox(30.00,35.00){}}
+\put(5.00,85.00){\framebox(45.00,25.00){}}
+\put(5.00,80.00){\framebox(90.00,5.00){}}
+\put(5.00,75.00){\framebox(60.00,5.00){}}
+\put(65.00,75.00){\framebox(30.00,5.00){}}
+\put(5.00,110.00){\framebox(45.00,5.00){}}
+\put(5.00,65.00){\framebox(45.00,5.00){}}
+\put(5.00,25.00){\framebox(45.00,5.00){}}
+\put(5.00,5.00){\framebox(90.00,20.00){}}
+\put(10.00,126.5){{FIRM}}
+\put(10.00,111.5){{Firmreturn}}
+\put(10.00,96.5){{Addressfield}}
+\put(10.00,81.5){{Ref"|line}}
+\put(10.00,76.5){{Subject}}
+\put(10.00,66.5){{Opening}}
+\put(10.00,26.5){{Closing}}
+\put(10.00,16.5){{Firmfoot}}
+\put(70.00,126.5){{Firmaddress}}
+\put(70.00,106.5){{Right-}}
+\put(70.00,101.5){{box}}
+\put(70.00,76.5){{Date}}
+\end{picture}
+
+Some of these boxes are static. They are created once (at the
+\verb+\begin{document}+ command) and cannot be changed later.
+
+\begin{itemize}
+\item FIRM
+\item Firmaddress
+\item Firmreturn
+\item Firmfoot.
+\end{itemize}
+
+The other boxes are created for each letter (did you know that you can
+have more letters in one document? Well, don't bother, it is easier to
+have one document for each letter).
+
+\begin{itemize}
+\item Ref"|line
+\item Subject
+\item Opening
+\item Closing
+\end{itemize}
+
+The layout of these boxes is defined in the \texttt{cfg} file. You can
+select different \texttt{cfg} files with the \verb+\usename+ command.
+If you omitt it, \texttt{akletter.cfg} will be used. Thus all the user
+specific data is separated from the class file and you should be able
+to update the class without changing the \texttt{cfg} file. This
+didn't always work because I change the interface to allow for new
+configuration options but in theory it was a good idea.
+
+\section{The \texttt{cfg} file}
+
+This file contains all the user specific options. You should never
+have to edit the class file.\footnote{This may not be true if you want
+to add a new language or some fancy option.} You usually create this
+file once when you install \texttt{akletter.cls} and never touch it
+again. (Unless you move, change your ISP, marry or whatever). You
+should keep a copy of \texttt{akletter.cfg} because it contains a lot
+of small code-fragments that you may want to use later.
+
+\begin{verbatim}
+\makeatletter
+\end{verbatim}
+
+You may have to redefine some internal commands.
+
+\begin{verbatim}
+\telephone{0800 / 12 34 56 }
+\telefax {}
+%% You may include logos and other graphic-material into
+%% your letterhead:
+%%
+%%\RequirePackage[dvips]{graphics}
+\end{verbatim}
+
+Define your phone and fax number, thus you don't have to type it for
+every new letter. If you want to include a picture in your
+letterhead (or a scanned signature) you may need the graphics-package.
+
+\begin{verbatim}
+%% You may redefine the following variables
+%%
+
+%\renewcommand*{\yourrefname} {Ihr Zeichen:}
+%\renewcommand*{\yourmailname} {Ihr Schreiben vom:}
+%\renewcommand*{\myrefname} {Unser Zeichen:}
+%\renewcommand*{\mymailname} {Unser Schreiben vom:}
+%\renewcommand*{\customername} {Kundennummer }
+%\renewcommand*{\invoicename} {Rechnungsnummer }
+%\renewcommand*{\subjectname} {} %{Betr.}
+%\renewcommand*{\ccname} {Kopien an:}
+%\renewcommand*{\enclname} {Anlagen:}
+%\renewcommand*{\headtoname} {An}
+%\renewcommand*{\datename} {Datum}
+%\renewcommand*{\pagename} {Seite}
+%\renewcommand*{\telephonename} {Telefon}
+%\renewcommand*{\telefaxname} {FAX}
+\end{verbatim}
+
+You can change the text \texttt{akletter.cls} inserts into your letter.
+This does only work with \texttt{german.sty}. When you use \texttt{babel.sty}
+you may need to add some more code to your \texttt{cfg} file to make
+it work. The code below may help you getting it to work:
+
+\begin{verbatim}
+\let\savedcaptions\captionsgerman
+\def\captionsgerman{\savedcaptions
+ \renewcommand*{\myrefname} {Mein Zeichen:}
+ }
+\end{verbatim}
+
+
+\begin{verbatim}
+%% Alternate definitions for the reference-line.
+%% Use this if you do not need a mymail-entry.
+%% In fact you can do a lot of things with these
+%% 4 entries, e.g. setting \mymailname to {InvoiceNo}
+%% and using \mymail to display an invoiceno.
+%% You may change these lines but make sure that
+%% the combined length of the 3 fields is 1\leftfield
+%% or less.
+%\def\yref#1{\def\@yref{\parbox[t]{.33\leftfield}
+% {\scriptsize \yourrefname\\ \normalsize #1}}
+% reftrue}
+%\def\ymail#1{\def\@ymail{\parbox[t]{.33\leftfield}
+% {\scriptsize \yourmailname\\ \normalsize #1}}
+% reftrue}
+%\def\myref#1{\def\@myref{\parbox[t]{.33\leftfield}
+% {\scriptsize \myrefname\\ \normalsize #1}}
+% reftrue}
+%\let\mymail=\@gobbleone
+\end{verbatim}
+
+The reference line is build according to DIN~676 but can be redefined
+according to your needs. The normal layout uses 4 fields unless you
+use the \verb+refdate+ option, then it uses 5 fields. The code above
+changes that to 3 fields.
+
+
+\begin{verbatim}
+%%% Top of first page: left
+\sbox{\FIRM}
+ {\parbox[t]{\leftfield}
+ {\fontsize{17.28}{22pt}\fontseries{bx}\selectfont%
+ Mein Name\hfill}}
+%%% Top of first page: right
+\sbox{\firmaddress}
+% Use either Text:
+ {\parbox[t]{\rightfield}{%
+ \fontsize{9}{10pt}\selectfont\normalfont
+ Meine Stra{\ss}e 1\\ 12345 Meindorf}}
+% or graphic:
+% {\includegraphics{ourlogo}}
+% and don't forget to adjust FIRM and firmaddress:
+%%% Top of first page: left + right
+%%% You may want to adjust the raisebox
+\sbox{\FIRMHEAD}
+ {\usebox{\FIRM}\raisebox{3mm}{\usebox{\firmaddress}}}
+\end{verbatim}
+
+The letterhead on the first page consists of the two boxes
+\texttt{FIRM} and \texttt{firmaddress} which will be put together into
+\texttt{FIRMHEAD}. I use this approach because it enables me to shift
+the \texttt{firmaddress} up and down to make it look correct and to
+make it easier to include a logo in one of the boxes.
+
+\begin{verbatim}
+%%% Top of every other page
+\sbox{\firm}
+ {\fontsize{10}{12pt}\selectfont\normalfont
+ Mein Name}
+\end{verbatim}
+
+The following pages do not need such an elaborated layout, simply put
+your name on it. If you really want to use some fancy headings look
+into the \verb+cfg+ file for suggestion or use \verb+fancyhdr.sty+.
+
+\begin{verbatim}
+% \if@twoside % Twoside definition
+% \def\ps@headings{%
+% \def\@oddfoot{\hfil Text on the odd page}
+% \def\@evenfoot{Text on the even page\hfil}
+% \def\@oddhead{\usebox{\firm}
+% \headfont\hfil\@date\hfil\pagename\ \pnumfont\thepage}%
+% \let\@evenhead\@oddhead}
+% \else % Oneside definition
+% \def\ps@headings{%
+% \def\@oddfoot{\hfil Text for one-side layout\hfill}
+% \def\@oddhead{\usebox{\firm}
+% \headfont\hfil\@date\hfil\pagename\ \pnumfont\thepage}}
+% \fi
+\end{verbatim}
+
+\begin{verbatim}
+%%% Return address
+%%% one line version
+\sbox{\firmreturn}
+ {\underline{\fontsize{7}{8pt}\selectfont
+ \hskip5mm Mein Name $\cdot$ Meine Stra{\ss}e 1
+ $\cdot$ D--12345 Meindorf\hskip5mm}}
+%%% two line version
+%\sbox{\firmreturn}
+% {\underline{
+% \fontsize{7}{8pt}\fontfamily{\sfdefault}\selectfont
+% \hskip3mm\parbox{65mm}
+% {\makebox[65mm][c]
+% {Fachschaft -- Maschinenbau $\cdot$
+% \mbox{\raise .75ex \hbox{c}\kern -.15em /\kern -.125em
+% \smash{\lower .3ex \hbox{o}}}
+% AStA TU Braunschweig}
+% \makebox[65mm][c]
+% {Katharinenstra{\ss}e 1 $\cdot$ D--38106 Braunschweig}}
+% \hskip3mm}}
+\end{verbatim}
+
+It is always nice for the addressee to see the sender of the letter
+before opening it. If you don't happen to have envelopes with your
+name and corporation printed on them, you may want to use a line
+above the address to show who you are.
+
+\begin{verbatim}
+%%% Firstpage footer
+%%% The code should be controlled by @banklo
+\sbox{\firmfoot}
+ {\fontsize{9}{11pt}\selectfont
+%%% The following line may look nice in a FAX.CFG :-)
+%%% If you have a bad telephone-line try snail-mail!\\
+ \if@banklo
+ \ifnum\language = \l@german
+ Bankverbindung:
+ \hspace{5mm}
+ \parbox[t]{\rightfield}{\raggedright
+ Undeutsche Landesbank Frankfurt,
+ BLZ~123\,456\,78, Konto~1\,111\,007\\}%
+ \hspace{5mm}
+ \parbox[t]{\rightfield}{\raggedright
+ Die Sparkasse Meindorf,
+ BLZ~007\,123\,10, Konto~08\,15\\}
+ \fi
+ \fi}
+\end{verbatim}
+
+The footer of the first page is quite complex because it contains
+vital information if you are a company. (But then you will have your
+own stationary and don't have to print this every time.) According to
+DIN this is where information about your bank connection, the type of
+your company, the registration number in the register of commerce and
+all this should go. Since you won't need this information for a
+private letter, there is a switch to enable it. Use the option
+\texttt{banklow} if you want this information to appear.
+
+Some amateur designers put this information in the letter head,
+right of the address. Since this place is dedicated for a
+``received'' rubber stamp it should remain free. But if you want to
+use it, see below:
+
+\begin{verbatim}
+%%% Text displayed below the header on the right side
+%%% This should be controlled by @bankhi
+%%% This is the only place that will be re-evaluated for
+%%% every letter! Everything that changes for different
+%%% letters (in the same document) must go either here
+%%% or in the ref-line.
+\newcommand{\rightbox}
+ {\parbox[t]{\rightfield}
+ {\fontsize{9}{11pt}\selectfont
+ \raggedright
+ \ifx\fromname\@empty
+ \else
+ \ifnum \language = \l@german
+ Sachbearbeiter:
+ \fi
+ \fromname\\
+ \fi
+ \ifx\telephonenum\@empty
+ \ifnum \language = \l@german
+ \telephonename: 040 / 44\,17\,77
+ \else
+ \telephonename: 49--40--44\,17\,77
+ \fi
+ \else
+ \telephonename: \telephonenum
+ \fi\\[1.5ex]
+ \ifx\telefaxnum\@empty
+ \ifnum \language = \l@german
+ \telefaxname: 040 / 44\,17\,77
+ \else
+ \telefaxname: 49--40--44\,17\,77
+ \fi
+ \else
+ \telefaxname: \telefaxnum
+ \fi\\[1.5ex]
+ \ifx\@email\@empty
+ e-mail Kein Mehl\\[1.5ex]
+ \else
+ e-mail: \@email \\[1.5ex]
+ \fi
+ \if@bankhi
+ \ifnum \language = \l@german
+ Bankverbindung:\\[1ex]
+ Undeutsche Landesbank Frankfurt,
+ BLZ~123\,456\,78, Konto~1\,111\,007\\[.5ex]
+ Die Sparkasse L\"uneburg,
+ BLZ~007\,123\,10, Konto~08\,15 \\[.5ex]
+ \fi
+ \fi
+ %% Finally fixed it!
+ %% If you want to have the date here, set the
+ %% rightdate option.
+ %% (With a big excuse to Markus and many others, who
+ %% had to wait that long)
+ \if@rightdate
+ \vspace{0.5ex}
+ \normalsize\@date
+ \fi
+ }}
+\end{verbatim}
+
+This rather complex code prints some text to the right of the address
+field. It will be evaluated for every new letter thus things that
+change from letter to letter has to go here. Some of the text shown
+in the example above should really be in the footer, but since people
+keep asking me how to put it into the rightfield I include it here.
+You have to set the \texttt{bankhigh} option to enable some of the
+code above. Note that \texttt{banklow} and \texttt{bankhigh} are
+not exclusive, you can define both if you want.
+
+\begin{verbatim}
+%% The labels defined in akletter.cls are what my printer likes:
+%% Onecolumn, 100mm * 50mm, 3mm separation.
+%% If you have different lables edit here:
+
+%\renewcommand*{\startlabels}{\labelcount\z@
+% \pagestyle{empty}\let\@texttop\relax
+% The margins are calculated from the 1in,1in point,
+% thus negative values will occur if the margins are smaller
+% \topmargin -60\p@
+% \headsep \z@
+% \oddsidemargin -35\p@
+% \evensidemargin -35\p@
+% \textheight 10in
+% \@colht\textheight \@colroom\textheight \vsize\textheight
+% \textwidth 550\p@
+% You may have to increase columnsep if you use twocolumn
+% This is what letter.cls uses.
+% \columnsep 26\p@
+% This does almost nothing since there is an explicit
+% fontsize-command in the text written.
+% \ifcase \@ptsize\relax
+% \normalsize
+% \or
+% \small
+% \or
+% \footnotesize
+% \fi
+% \baselineskip \z@
+% \lineskip \z@
+% \boxmaxdepth \z@
+% \parindent \z@
+% This is obvious, isn't it?
+% \twocolumn
+% \relax}
+
+%% This is how the label will look like when printed.
+%% Note that specialmail will be written to the .aux-file
+%% when the letter is processed. The width used here is
+%% what letter.cls uses.
+
+%\renewcommand*{\mlabel}[2]{%
+% \parbox[b][2in][c]{262\p@}{%
+% \strut\ignorespaces\usebox{\firmreturn}\\
+% \fontsize{12}{14pt}\selectfont
+% \parbox[t][1.2in][c]{3in}{#2}
+% }\par%
+%}
+\end{verbatim}
+
+The code above overrides the normal code for printing address labels.
+It has to be adjusted for the kind of labels you use. You may even
+have to include some specials to tell the printer to select the labels
+from a different tray. This is left as an exercise to the reader. (But
+note that you can get envelops with windows in C5 and C4 (if that
+means anything to you) thus you may never need to print labels.)
+
+\begin{verbatim}
+\makeatother
+\endinput
+\end{verbatim}
+
+You may want to include something like the following into your
+\texttt{.cfg} file:
+
+\begin{verbatim}
+\email{A.Kielhorn@tu-bs.de}
+\mailbox{}
+\name{A. Kielhorn }
+\signature{(Axel Kielhorn)}
+
+\end{verbatim}
+
+\section{The first letter}
+
+You can't define everything in the \texttt{cfg} file, otherwise you
+would be writing the same letter again and again. Thus there are many
+settings you have to define in every letter:
+
+The following commands have to appear in the preamble, before
+\verb+\begin{document}+.
+
+\begin{description}
+
+\item [\texttt{usename{default}}] selects the \texttt{cfg} file.
+
+\item [\texttt{pagestyle\{headings\}}] Style of the following pages,
+can be headings, plain or empty.
+
+\item [\texttt{makelabels}] Do you really want to generate labels?
+
+\item [\texttt{selectlanguage\{english\}}] The language you want to
+use (obvious, isn't it?) You \emph{have} to set it in the preamble
+because the boxes containing the fixed text are defined by the
+\verb+\begin{document}+ command and they have to know the language of
+the letter.
+
+\end{description}
+
+Since version 1.5e there are some additional options to change the
+layout of the letter, if you really want to (These commands have been
+added to enable one user to copy a certain WinWord design):
+
+\begin{description}
+ \item[\texttt{reffont}] \verb+\renewcommand*\reffont{}+ changes the
+ font that \texttt{akletter} uses to print the text in the reference
+ line, the default is \texttt{normalfont}
+
+
+ \item[\texttt{reftextfont}] \verb+\renewcommand*\reftextfont{}+
+ changes the font used to print the arguments (i. e. the user supplied
+ text) in the reference line, default is \texttt{normalfont}
+
+ \item[\texttt{headfont}] \verb+\renewcommand*\headfont{}+ changes
+ the font used to print the heading on every page but the first. This
+ will only work with the pagestyle headings, default is \texttt{slshape}
+
+ \item[\texttt{pnumfont}] \verb+\renewcommand*\pnumfont{}+ changes the
+ font used to print the pagenumber, default is \texttt{normalfont}
+
+\end{description}
+
+The following commands are letter specific. If you change them
+inside a letter environment they will not affect subsequent letters.
+
+\begin{description}
+\item [\texttt{telephone\{0800 - 12 34 56\}}] Overriding the default
+telephone number
+\item [\texttt{telefax\{0800 - 12 34 57\}}] the fax number,
+\item [\texttt{email\{A.Kielhorn@tu-bs.de\}}] email address
+\item [\texttt{mailbox\{ \}}] and mailbox.
+\item [\texttt{name\{A. Kielhorn\}}] When you have \texttt{.cfg} file for the
+whole company, you may want to set the name of the individual user
+here instead of generating lots of cfg files.
+\item [\texttt{signature\{(Axel Kielhorn)\}}] usually the name, but
+you can specify any signature.
+\item [\texttt{specialmail\{Recommand\'e\}}] This will be printed in
+bold above the recipients address. (Hey, I know some french!)
+\item [\texttt{refdatename\{Braunschweig, den\}}] The location where
+the letter was written.
+\item [\texttt{yref\{ \}}]
+\item [\texttt{ymail\{1.6.1994\}}]
+\item [\texttt{myref\{ak/AK\}}]
+\item [\texttt{mymail\{1.6.1994\}}]
+\item [\texttt{subject\{LaTeX2e Letter-style\}}]
+\item [\texttt{invoice\{Invoice number\}}] still experimental
+\item [\texttt{customer\{Customer number\}}] still experimental
+\item [\texttt{opening\{Dear friends,\}}] This command generates the
+letterhead you must not omit it, but you can use an empty argument if
+you don't want to address the reader.
+
+\end{description}
+
+Here comes the text\dots
+
+The end:
+\begin{description}
+\item [\texttt{closing\{mfg\}}] This command closes the letter, it
+must not be omitted but may contain an empty argument.
+\item [\texttt{cc\{comp.text.tex\}}] A copy for the archive
+\item [\texttt{encl\{akletter.cfg\}}] And an enclosure
+\item [\texttt{ps}] Hey, the letter is finished. No long postscriptum
+please.
+\end{description}
+
+\section{Mass mailings}
+
+Version 1.4 of \texttt{akletter} introduced a way to generate
+mass mailings. This is compatible to \texttt{scrlettr.cls} from the
+Koma-Script package. If you want to know how to use it read the
+Koma-Script manual.
+
+\section{Options}
+
+\texttt{akletter.cls} understands some options
+
+\begin{description}
+\item [\texttt{a4paper}] Selects the page format. A4 is the default.
+
+\item [\texttt{a4offset}] This layout ist shiftet 24 points to the
+right and 24 points narrower than a4paper. It looks better when you
+put the letter into a binder that covers the left margin of the page.
+These binders are often used for job applications.
+
+\item [\texttt{letterpaper}] This options adapts the layout to US
+letter paper. Since I haven't seen an envelope with a window for the
+address in the US I'm not sure if it is usable, but you can put the
+letter into a german DIN 680 DL envelope.
+
+\item [\texttt{banklow}] and
+\item [\texttt{bankhigh}] are two switches to enable some code that
+depends on these switches. In the cfg file distributed with
+\texttt{akletter} this set the bank connections either at the bottom
+or in the right field.
+
+\item [\texttt{foldmarks}] This shows where to fold the letter to make
+it fit into the envelop. It doesn't work on some printers like my
+Deskwriter:-(
+
+\item [\texttt{refdate}] The date will be printed in the reference
+line thus changing the layout to 5 items.
+
+\item [\texttt{subjectdate}] The date is printed in the same line as
+the subject (default).
+
+\item [\texttt{rightdate}] Prints the date in the rightfield unless
+you change the code:-)
+
+\end{description}
+
+Version 1.5 h of \texttt{akletter} supports the date format according
+to ISO 8601 which looks like YYYY-MM-DD, e.g. 2000-05-28 for the 28th
+of May 2000. You can activate this format with \verb+\dateiso+ in the
+preamble. When you change the language the format is reset to the
+default for that language, thus you have to put the \verb+\dateiso+
+after the \verb+\selectlanguage+ command. This format is recommeded
+by the Chicago Manual of Style.
+
+\section{Thanks}
+
+I would like to thank Donald E. Knuth and Leslie Lamport for creating
+\TeX\ and \LaTeX, Stefan Lindner for porting it to the Atari, Andrew
+Trevorrow for porting it to the Mac and the \LaTeX3-Team.
+
+Special thanks to the beta testers who found lots of bugs in previous
+versions and suggested a lot of new features thus keeping me busy on
+rainy afternoons.
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/akletter/myletter.cls b/macros/latex/contrib/akletter/myletter.cls
new file mode 100644
index 0000000000..fabdb41d76
--- /dev/null
+++ b/macros/latex/contrib/akletter/myletter.cls
@@ -0,0 +1,23 @@
+%% This is file `myletter.cls',
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}
+\@obsoletefile{akletter.cls}{myletter.cls}
+\LoadClass{akletter}
+\endinput
+%%
+%% End of file `myletter.cls'.