diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/akletter |
Initial commit
Diffstat (limited to 'macros/latex/contrib/akletter')
-rw-r--r-- | macros/latex/contrib/akletter/akfax.cfg | 16 | ||||
-rw-r--r-- | macros/latex/contrib/akletter/akletter.cfg | 247 | ||||
-rw-r--r-- | macros/latex/contrib/akletter/akletter.cls | 802 | ||||
-rw-r--r-- | macros/latex/contrib/akletter/akletter.tex | 302 | ||||
-rw-r--r-- | macros/latex/contrib/akletter/akletter.upl | 66 | ||||
-rw-r--r-- | macros/latex/contrib/akletter/letterdoc.pdf | bin | 0 -> 112564 bytes | |||
-rw-r--r-- | macros/latex/contrib/akletter/letterdoc.tex | 659 | ||||
-rw-r--r-- | macros/latex/contrib/akletter/lettereng.pdf | bin | 0 -> 100430 bytes | |||
-rw-r--r-- | macros/latex/contrib/akletter/lettereng.tex | 620 | ||||
-rw-r--r-- | macros/latex/contrib/akletter/myletter.cls | 23 |
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 Binary files differnew file mode 100644 index 0000000000..5bc3d297c2 --- /dev/null +++ b/macros/latex/contrib/akletter/letterdoc.pdf 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 Binary files differnew file mode 100644 index 0000000000..0270422f02 --- /dev/null +++ b/macros/latex/contrib/akletter/lettereng.pdf 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'. |