% dinbrief.sty -- Version vom 9. Oktober 1992 % fuer LaTeX Version 2.09 % fuer vordrucklose Briefe im A4-Format, entsprechend den deutschen % DIN-Normen 5008 (von 1986), 2107, 2142, 676 und 16507 % von Rainer Sengerling % (Inst. f. Theor. u. Angew. Physik, Uni Stuttgart) % % aus letter.doc (Lamport, 25 Mar 92) entwickelt % unter Beruecksichtigung von Beitraegen von B. Raichle % % Kontaktadressen: % Rainer Sengerling: rainer@itap.physik.uni-stuttgart.de % Rainer Sengerling, Josenhansstr. 13, 7000 Stuttgart 31 % \typeout{Document Style `dinbrief' von R. Sengerling <9. Oktober 1992>.} % CHOOSING THE TYPE SIZE: % % The type size option is handled by \def'ing \@ptsizem to the % following values: % 10pt : 0, 11pt : 1, 12pt : 2, norm : 3 % Zum Laden von externen Zeichensaetzen (z.B. AMS-Fonts) wurde die alte % Groessenvariable \@ptsize beibehalten und folgenermassen zugeordnet % 10pt : 0, 11pt : 1, 12pt : 2, norm : 1 % Then loading the different fonts accordingly. % \def\@ptsize{1} \def\@ptsizem{3} % Default is norm \@namedef{ds@10pt}{\def\@ptsize{0}\def\@ptsizem{0}} % 10pt option. \@namedef{ds@11pt}{\def\@ptsize{1}\def\@ptsizem{1}} % 11pt option. \@namedef{ds@12pt}{\def\@ptsize{2}\def\@ptsizem{2}} % 12pt option. \@namedef{ds@norm}{\def\@ptsize{1}\def\@ptsizem{3}} % norm option. % no twoside option % \@twosidefalse % draft option % % \overfullrule = 0pt % Default is don't mark overfull % % hboxes. \def\ds@draft{\overfullrule 5\p@}% Causes overfull hboxes to be marked. % german option % % defines \date to use \heute (german form) instead of \today % loads `german.sty' at the end of this file. % \newif\if@german\@germanfalse \def\ds@german{\@germantrue} % The \@options command causes the execution of every command \ds@FOO % which is defined and for which the user typed the FOO option in his % \documentstyle command. For every option BAR he typed for which % \ds@BAR is not defined, the file BAR.sty will be read after the % present (main) .STY file is executed. \@options % ************************************************************** % * Feld fuer benutzerspezifische Anpassungen * % ************************************************************** % %Schrift f"ur R"uckadresse (DIN 676 u. 16507) -- Alternativen %\font\Retschrift=cmssq8 scaled 875 \font\Retschrift=cmr7 % Parameter fuer Feineinstellung des Druckers % fuer Benutzer, die die Druckereinstellung nicht veraendern duerfen, % wollen oder koennen % Solleinstellung des Druckers s. PAGE LAYOUT (unten) % \newdimen\feinx \feinx=0pt \newdimen\feiny \feiny=0pt % %\feinx=0.55mm % f"ur HP-Laserjet am ITAP %\feiny=-1.3mm % " " " " " % %\feinx=-1.10mm % f"ur PostScript-Drucker am ITAP %\feiny=2.25mm % " " " " " % Etiketten \newdimen\Etiketthoehe % Hoehe eines Etikettes \newdimen\Etikettrand % oberer Rand beim Etikettensatz \newcount\Etikettzahl % Zahl der Etiketten in einer Kolonne % Etikettenformate -- Alternativen % 105 x 42,3 [mm] Zweckform (No 3653) u. Herma (Laserprint No 4625) % Rand = obere Etikettenreihe % \Etiketthoehe=42.3mm % \Etikettrand=42.3mm % \Etikettzahl=6 %****************** Voreinstellung **************** % 105 x 42 [mm] Herma (copy-print No 4452) % Streifen oben, Rand = Streifen \Etiketthoehe=41.15mm \Etikettrand=8.85mm \Etikettzahl=7 %***************************************************** % 105 x 41 [mm] Zweckform (No 3477) % Pfeile markieren oben, obere Etikettenreihe zum Rand gezaehlt % \Etiketthoehe=41mm % \Etikettrand=46.3mm % \Etikettzahl=6 % 105 x 48 [mm] Herma (copy-print No 4457) % Streifen unten, obere Etikettenreihe = Rand % \Etiketthoehe=47.6mm % \Etikettrand=47.9mm % \Etikettzahl=5 % **************************************** % * FONTS * % **************************************** % \lineskip 1pt % \lineskip is 1pt for all font sizes. \normallineskip 1pt \def\baselinestretch{1} % norm-Grundzeilenabstand 1/6in = 4,23mm (DIN 2107,2142) \newdimen\GZA \GZA=1in \divide\GZA by 6 % Each size-changing command \SIZE executes the command % \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE % where: % BASELINESKIP = Normal value of \baselineskip for that size. % (Actual value will be % \baselinestretch * BASELINESKIP.) % % \FONTSIZE = Name of font-size command. The currently available % (preloaded) font sizes are: \vpt (5pt), \vipt (6pt), % \viipt (etc.), \viiipt, \ixpt, \xpt, \xipt, \xiipt, % \xivpt, \xviipt, \xxpt, \xxvpt. % \@FONTSIZE = The same as the font-size command except with an % '@' in front---e.g., if \FONTSIZE = \xivpt then % \@FONTSIZE = \@xivpt. % % For reasons of efficiency that needn't concern the designer, % the document style defines \@normalsize instead of \normalsize. % This is done only for \normalsize, not for any other size-changing % commands. \ifcase \@ptsizem\relax % 10pt option \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \let\@listi\@listI} % Setting of \@listi added 22 Dec 87 \def\small{\@setsize\small{11pt}\ixpt\@ixpt \abovedisplayskip 8.5\p@ plus3\p@ minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus2\p@ \belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ \def\@listi{\leftmargin\leftmargini %% Def of \@list i added 22 Dec 87 \topsep 4\p@ plus2\p@ minus2\p@\parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep}} \def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt \abovedisplayskip 6\p@ plus2\p@ minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus\p@ \belowdisplayshortskip 3\p@ plus\p@ minus2\p@ \def\@listi{\leftmargin\leftmargini %% Def of \@list i added 22 Dec 87 \topsep 3\p@ plus\p@ minus\p@\parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} \def\large{\@setsize\large{14pt}\xiipt\@xiipt} \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} \or % 11pt option \def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt \abovedisplayskip 11\p@ plus3\p@ minus6\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \let\@listi\@listI} % Setting of \@listi added 22 Dec 87 \def\small{\@setsize\small{12pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def\@listi{\leftmargin\leftmargini %% Def of \@listi added 22 Dec 87 \topsep 6\p@ plus2\p@ minus2\p@\parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep}} \def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt \abovedisplayskip 8\p@ plus2\p@ minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus\p@ \belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ \def\@listi{\leftmargin\leftmargini %% Def of \@listi added 22 Dec 87 \topsep 4\p@ plus2\p@ minus2\p@\parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} \def\large{\@setsize\large{14pt}\xiipt\@xiipt} \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} \or % 12pt option \def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt \abovedisplayskip 12\p@ plus3\p@ minus7\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \let\@listi\@listI} % Setting of \@listi added 22 Dec 87 \def\small{\@setsize\small{13.6pt}\xipt\@xipt \abovedisplayskip 11\p@ plus3\p@ minus6\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \def\@listi{\leftmargin\leftmargini %% Def of \@list i added 22 Dec 87 \parsep 4.5\p@ plus2\p@ minus\p@ \itemsep \parsep \topsep 9\p@ plus3\p@ minus5\p@}} \def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def\@listi{\leftmargin\leftmargini %% Def of \@list i added 22 Dec 87 \topsep 6\p@ plus2\p@ minus2\p@\parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} \def\large{\@setsize\large{18pt}\xivpt\@xivpt} \def\Large{\@setsize\Large{22pt}\xviipt\@xviipt} \def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt} \def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt} \let\Huge=\huge \or % norm-Option (DIN 2107, 2142) \def\@normalsize{\@setsize\normalsize{1\GZA}\xipt\@xipt \abovedisplayskip 11\p@ plus3\p@ minus6\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \let\@listi\@listI} % Setting of \@listi added 22 Dec 87 \def\small{\@setsize\small{1\GZA}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def\@listi{\leftmargin\leftmargini %% Def of \@listi added 22 Dec 87 \topsep 6\p@ plus2\p@ minus2\p@\parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep}} \def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt \abovedisplayskip 8\p@ plus2\p@ minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus\p@ \belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ \def\@listi{\leftmargin\leftmargini %% Def of \@listi added 22 Dec 87 \topsep 4\p@ plus2\p@ minus2\p@\parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} \def\large{\@setsize\large{14pt}\xiipt\@xiipt} \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} \fi \normalsize % Choose the normalsize font. % von Groessenoption unabhaengige Schrift fuer Beschriftung % der Etiketten % \def\Adgroesse{\@setsize\Adgroesse{1\GZA}\xipt\@xipt} % **************************************** % * PAGE LAYOUT * % **************************************** % % All margin dimensions measured from a point one inch from top and % side of page. Dimensions shrink by about 2 percent % SIDE MARGINS: \oddsidemargin 0pt % Left margin on odd-numbered pages. \evensidemargin 0pt % Left margin on even-numbered pages. \marginparwidth 90pt % Width of marginal notes. \marginparsep 11pt % Horizontal space between outer margin and % marginal note \marginparpush 5pt % Minimum vertical space between marginal notes. % VERTICAL SPACING: % Top of page: \topmargin -2\GZA % Nominal distance from top of page to top of % box containing running head. \headheight 1\GZA % Height of box containing running head. \headsep 2\GZA % Space between running head and text. \topskip 1\GZA % '\baselineskip' for first line of page. % Bottom of page: \footheight 12pt % Height of box containing running foot. \footskip 25pt % Distance from baseline of box containing % foot to baseline of last line of text. % DIMENSION OF TEXT: \textheight 55\GZA % Height of text (including footnotes and % figures, excluding running head and foot). \textwidth 6in % Width of text line. % For two-column mode: \columnsep 10pt % Space between columns \columnseprule 0pt % Width of rule between columns. % Anpassung an Druckereinstellung \advance\topmargin by \feiny \advance\oddsidemargin by \feinx \advance\evensidemargin by \feinx \raggedbottom % 'ragged bottom' (all pages set to natural % height, with no stretch or shrinkage) % FOOTNOTES: \footnotesep 12pt % Height of strut placed at the beginning of every % footnote. \skip\footins 10pt plus 2pt minus 4pt % Space between last line of % text and top of first footnote. % FLOATS: % The following items must be defined, even though there are no % floats in this style. \floatsep 12pt plus 2pt minus 2pt \textfloatsep 20pt plus 2pt minus 4pt \intextsep 12pt plus 2pt minus 2pt \dblfloatsep 12pt plus 2pt minus 2pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@maxsep 20pt \@dblmaxsep 20pt \@fptop 0pt plus 1fil \@fpsep 8pt plus 2fil \@fpbot 0pt plus 1fil \@dblfptop 0pt plus 1fil \@dblfpsep 8pt plus 2fil \@dblfpbot 0pt plus 1fil % **************************************** % * dinbrief COMMANDS * % **************************************** % % The following declarations, shown with examples, give information % about the sender: % % \signature{Larry User} : goes after the closing. % \Absender{Dr.\ L. User\\3245 Foo St.\par Gnu York::(415)123-4567} : % Absenderangaben im Briefkopf und auf dem Absenderetikett % (\Retourlabel); der nach :: stehende Teil (z.B. Telefonnummer) % erscheint nur im Brief, :: impliziert keinen Zeilenumbruch % \Retouradresse{L. User --3245 Foo St. -- Gnu York} : vereinbart % einzeilige \returnaddress, die oberhalb der Empfaengeradresse % ausgegeben wird. % \Fenster : setzt die \returnaddress im Brief, produziert Faltmarken, % Etikettenausgabe wird unterdrueckt % % The \makelabels declaration causes mailing labels to be made. It % must go before the \begin{document} command. % Bei zusaetzlichem Aufruf von \Retourlabel werden auch Etiketten % mit der Absenderadresse erzeugt, die \returnaddress wird dann auf % dem Empfaengeretikett nicht ausgegeben. % Mit \spare{3} werden die ersten 3 Felder des Etikettensatzes % ausgelassen. % % Es koennen verschiedene Etikettensaetze benutzt werden. Oben im "Feld % fuer benutzerspezifische Anpassungen" finden Sie eine Auswahl im % Handel erhaeltlicher Etikettensaetze. Treffen Sie eine Standardwahl! % In Ausnahmefaellen koennen Sie die Kenndaten eines Etikettensatzes % mit Befehlen wie \Etihoehe{41mm}, \Etirand{46.3mm} u. \Etizahl{6} % im tex-File angeben. % % % Weitere Deklarationen: % % \Datum{Stuttgart, den 4.\ 8.\ 1992} % zur freien Gestaltung der Datumsangabe % \Postvermerk{Einschreiben} % fuer postalische Vermerke, die oberhalb % der Empfaengeradresse stehen. % \Behandlungsvermerk{E\ i\ l\ t} % Behandlungsvermerk neben Anschriftfeld % \Betreff{Ihr Schreiben v. ..} % ein- oder mehrzeilige Betreffangabe % % The letter environment: creates a new letter, starting from page 1. % (The first page is unnumbered.) Sein Argument ist die Empfaenger- % adresse; Leerzeilen mit \par oder Leerzeile im tex-File wie in % \begin{letter}{Herrn\\ Dr.\ R. Sengerling\\Josenhansstr.\13 \par % 7000 Stuttgart 31} % % Local declarations, such as \Absender, can follow the \begin{letter}. % % Text is begun with the \opening command, whose argument generates the % salutation, as in % \opening{Dear Henry,} % Eingerueckte und durch Leerzeilen abgesetzte Textteile sind mit % \Einrueckung{text} zu realisieren, wobei text aus mehreren Absaetzen % bestehen darf. % The body of the letter follows, ended by a \closing command, as in % \closing{Yours truly,} % The 'signature' is provided automatically; sofern vereinbart % \Anlagen, \Verteiler ersetzen \encl bzw. \cc im letter.sty, erzeugen % aber selbst keinen Text; Aufruf vor \closing! % \Verteiler{Verteiler:\\Tinker\\Evers} -- which produces: % Verteiler: % Tinker % Evers % % \Anlagen{Anlage:\\Prosspektmaterial} -- which produces: % Anlage: % Prospektmaterial % % \anlagenrechts bringt die Anlagen- und Verteilervermerke neben % die Grussformel (bei Platzmangel); Aufruf vor \closing! % % After the \closing you can put arbitrary stuff, which is typeset % with \parindent = 0 and no page breaking. Commands designed % for use after the closing are \ps. % % Beschreibung der letter-Makros % % \opening{Dear Mr. Foo:}- % Should produce everything up to and including the 'Dear Mr. Foo:' % and a \par command that follows. Es benuetzt folgende Befehle: % % \fromaddress : Das Argument des aktuellen \Absender-Befehls wird % mit Hilfe der modif. processto-Routine gemaess % \fromaddressI::\fromaddressII aufgespalten. % \fromaddressII erscheint nur im Briefkopf % \date : Datum % \fenst : Makro fuer Faltmarken u. durch Strich abgesetzte % kleingedruckte \returnaddress % \Vermerk : Argument von \Postvermerk % \toaddress : Argument des letter-Environments % \Adhoehe : zur Ausmessung der Adressbox % \Behver : Argument von \Behandlungsvermerk % \betreff : Argument von \Betreff % % \closing{TXT} : Generates the closing matter, Anlagen- und % Verteilervermerk and the signature. % An obvious thing to do is to use a t-\parbox for the closing % and the signature. \An steht normalerweise unterhalb, bei % \anlagenrechts jedoch rechts davon. Benutzt: % % \fromsig : argument of current \signature declaration % \stopbreaks : a macro that inhibits page breaking. % \An : Anlagen- und Verteilertext % % \ps : The only thing that this needs to do is call \startbreaks, % which allows page breaking again. % % % CUSTOMIZING THE LABELS % % Commands for generating the labels are put on the .AUX file, which is % read in and processed by the \end{document} command. You have to % define the following two commands: % % \startlabels : Should reset the page layout parameters if % necessary. % % \mlabel{RETURN ADDRESS}{Postvermerk}{TO ADRESS} : Command to % generate a single label. % \retourlabel{fromaddressI} : Befehl fuer ein Absender-Etikett % ************************************************ % * spez. Befehle des dinbrief.sty * % ************************************************ % \def\Datum#1{\def\date{#1}} \def\date{\if@german\heute\else\today\fi} \newif\iffenster\fensterfalse \def\Fenster{\fenstertrue} \def\Retouradresse#1{\def\returnaddress{#1}} \def\returnaddress{} \def\Postvermerk#1{\def\Vermerk{#1}} \def\Vermerk{} \newdimen\Adhoehe \def\Behandlungsvermerk#1{\def\Behver{#1}} \def\Behver{} \def\Betreff#1{\def\betreff{\ignorespaces #1}} \def\betreff{} \long\def\Einrueckung#1{\par \vspace*{-\baselineskip}\vspace*{-\parskip}\strut \par \hfill \vbox{\hsize 5in\strut #1}\par} % Durch struts wird die Einhaltung des Zeilenrhythmus garantiert. Um % dem Anwender das Einsetzen von \strut am Ende des vorausgehenden % Textes zu ersparen und ihm offenzuhalten, im Eingabefile den % einzurueckenden Text durch Leerzeilen abzusetzen, wird eine % strut-Zeile zwischengeschaltet und der ueberschuessige vertikale % Leerraum entfernt. % Bemerk. zu \strut: % \strut ist in LaTeX ein strut mit einer Ober-/Unterlaenge von % 0.7/0.3 \baselineskip (s. Def. von \strutbox in LFONTS.tex) -- % dies ist eine Verallgemeinerung des 8.5pt/3.5pt-strut von plain-TeX % (s. TeXbook S. 353) \newif\ifanlagenr\anlagenrfalse \def\anlagenrechts{\anlagenrtrue} \def\Anlagen#1{\def\Anlagentext{#1}} \def\Anlagentext{} \def\Verteiler#1{\def\Verteilertext{#1}} \def\Verteilertext{} \newcount\sparzahl \sparzahl=0 \def\spare#1{\sparzahl=#1\relax} \newif\ifretour\retourfalse \def\Retourlabel{\retourtrue} % ************************************************** % * letter-Makros, weitgehend neu definiert * % ************************************************** % % Neudefinition des opening-Befehls \def\opening#1{\thispagestyle{empty}% \unitlength 1mm% \begin{picture}(0,0)% % % Absenderadresse und Datum \put(0,12.69){% \parbox[t]{\textwidth}{\parbox[t]{3in}{\fromaddressI\fromaddressII}% \hfill \date }}% % % Fenster \iffenster\fenst\fi % % Empfaengeradresse u. Behandlungsvermerk \setbox\z@\vtop{\hsize 3in\strut \Vermerk\par \toaddress \strut}% \Adhoehe\ht\z@ \advance\Adhoehe \dp\z@ \advance\Adhoehe -\dp\strutbox % = Unterlaenge eines LATEX-strut -- % % s. Def. von \strutbox in LFONTS.tex % % beachte: die Dimensionsangabe in \vtop- u. \vbox-Befehlen bezieht % % sich nicht auf deren Gesamthoehe (s. TeXbook S. 80--81) \put(0,-21.15){\box\z@ \hspace{1in}\vtop to\Adhoehe{\strut \par \vfill \Behver \strut}}% \end{picture}% % % Anpassung fuer Betreff \strut\par \vspace{-\parskip}% \vspace{15\GZA}% % % Anpassung wegen der verschiedenen Grundzeilenabstaende \ifcase\@ptsizem\vspace{.045pt}\or\vspace{-1.555pt}\or \vspace{-2.955pt}\fi \betreff \strut \par \vspace{-\parskip}% \vspace{2\GZA}% % % Anpassung wegen der verschiedenen Grundzeilenabstaende \ifcase\@ptsizem\vspace{.045pt}\or\vspace{-1.555pt}\or \vspace{-2.955pt}\fi \def\Anrede{#1}% \ifx\Anrede\@empty \else #1\par\fi\nobreak} \def\fenst{% % % Faltmarken \put(-19,-71.16){\line(1,0){3}}% \put(-19,-176.16){\line(1,0){3}}% % % Strich unter Returnadresse \put(-5.4,-16.16){\line(1,0){85}}% % % Setzen der Returnadresse \put(-5.4,-16.16){\makebox(85,4){\Retschrift\returnaddress}}} % Neudefinition des closing-Befehls \long\def\closing#1{\par\nobreak \stopbreaks \noindent \parbox[t]{3.5in}{\raggedright \ignorespaces #1\strut \\[4\GZA]% \ifx\@empty\fromsig \relax \else \fromsig \fi \strut}% \ifanlagenr\hfill \parbox[t]{2in}{\An}% \else \par\An \fi} \def\An{\ifx\Anlagentext\@empty\else\Anlagentext \strut \par \fi \ifx\Verteilertext\@empty\else\Verteilertext \strut\fi} \def\ps{\par\startbreaks\strut} \def\stopletter{} % Labels \newcount\labelcount % The following \startlabels command sets things up for producing % labels in two columns % \def\Etihoehe#1{\Etiketthoehe=#1\relax} \def\Etirand#1{\Etikettrand=#1\relax} \def\Etizahl#1{\Etikettzahl=#1\relax} % Neudefinition des startlabel-Befehls \def\startlabels{\labelcount\z@ \setcounter{page}{91}% \pagestyle{empty}% \topmargin -24mm% \advance\topmargin \Etikettrand \topskip \z@skip \headheight \z@ \headsep \z@ \oddsidemargin -19.4mm% \evensidemargin \oddsidemargin % Druckeranpassung \advance\topmargin \feiny \advance\oddsidemargin \feinx \advance\evensidemargin \feinx \textheight=\Etikettzahl\Etiketthoehe \advance\textheight .05cm% \@colht\textheight \@colroom\textheight \vsize\textheight \textwidth 19.8cm% \columnsep 1.2cm% \Adgroesse \baselineskip \z@skip \lineskip \z@skip \boxmaxdepth \z@ \parindent \z@ \twocolumn \relax \ifnum\sparzahl>\z@ \ifnum\sparzahl<\Etikettzahl\else \mbox{}\newpage \advance\sparzahl -\Etikettzahl\fi \vspace*{\sparzahl\Etiketthoehe}\par\fi} % Neudefinition des mlabel-Befehls \long\def\mlabel#1#2#3{\def\test{#1}% \baselineskip\GZA \parskip\GZA \ifx\test\@empty \setbox\z@\vbox to40mm{\hspace*{9.4mm}\vbox{\hsize 3in\ignorespaces #2\rule{\z@}{5mm}\par #3}\vss}% \vbox to\Etiketthoehe{\vss \box\z@ \vss}% \else \ifdim\Etiketthoehe<45mm \parskip2mm% \setbox\z@\vbox{% \underline{\rule[-.9mm]{\z@}{3.2mm}\makebox[93mm]{\Retschrift #1}}\\ \hspace*{9.4mm}\vbox{\hsize 3in\ignorespaces #2\rule{\z@}{10\p@}\par #3}}% \vbox to\Etiketthoehe{\box\z@ \vss}% \else \setbox\z@\vbox to45mm{% \underline{\rule[-.9mm]{\z@}{5mm}\makebox[93mm]{\Retschrift #1}}\\ \hspace*{9.4mm}\vbox{\hsize 3in\ignorespaces #2\rule{\z@}{5mm}\par #3}\vss}% \vbox to\Etiketthoehe{\vss \box\z@ \vss}% \fi \fi} \long\def\retourlabel#1{\setbox\z@\vbox{\baselineskip\GZA\parskip\GZA \hspace*{.2cm}% \vbox{\hsize 8.7cm\rule{\z@}{18\p@}\ignorespaces #1\strut}}% \vbox to \Etiketthoehe{\box\z@\vss}} % **************************************** % * THE GENERIC LETTER COMMANDS * % **************************************** % %% FMi & RmS: added \leavevmode to catch empty argument, 16 Aug 91 %% RmS ...and added \ignorespaces, 21 Feb 92 % Neudefinition des letter-Befehls \long\def\letter#1{\newpage \c@page\@ne \interlinepenalty 200 % smaller than the TeXbook value \def\toaddress{\leavevmode\ignorespaces #1}} % Neudefinition des endletter-Befehls \def\endletter{\stopletter\@@par\pagebreak\@@par % Unterdrueckung der Adressetikettenausgabe bei Fenster-Option \iffenster\@fileswfalse\fi \if@filesw \begingroup \let\\\relax \def\protect##1{\string##1\space}% \ifretour \immediate\write\@auxout{\string\mlabel {\empty}{\Vermerk}{\toaddress}}% \immediate\write\@auxout{\string\retourlabel {\fromaddressI}}% \else \immediate\write\@auxout{\string\mlabel {\returnaddress}{\Vermerk}{\toaddress}}% \fi \endgroup \fi} \def\stopbreaks{\interlinepenalty \@M \def\par{\@@par\nobreak}\let\\\@nobreakcr \let\vspace\@nobreakvspace} \def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}} \def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi} \def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}} \def\startbreaks{\let\\\@normalcr \interlinepenalty 200\def\par{\@@par\penalty 200\relax}} %% \relax added 20 Sep 88 % Neudefinition des Absender-Befehls \long\def\Absender#1{\@processto{#1}} \def\fromaddressI{}\def\fromaddressII{} % Aufspaltung der Absenderadresse gemaess fromaddressI::fromaddress II % mit Hilfe der modifizierten Routinen \@processto, \@xproc und \@yproc % \long\def\@processto#1{\@xproc #1::@@@\ifx\fromaddressII\@empty \else \@yproc #1@@@\fi} \long\def\@xproc #1::#2@@@{\def\fromaddressI{#1}\def\fromaddressII{#2}} \long\def\@yproc #1::#2@@@{\def\fromaddressII{#2}} \def\signature#1{\def\fromsig{#1}} \def\fromsig{} % \document redefined so it writes '\startlabels\@startlabels' on the % AUX file if it's making one. % % % 91/03/26 FMi: |\process@table| added to support NFSS. % This will also work with old lfonts if no other style defines % |\process@table|. % % 92/02/21 RmS: added \@noskipsecfalse setting in conformance with % change in latex.tex. % \def\document{\endgroup \@colht\textheight \@colroom\textheight \vsize\textheight \columnwidth\textwidth \@clubpenalty\clubpenalty \if@twocolumn \advance\columnwidth -\columnsep \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue \fi \hsize\columnwidth \linewidth\hsize \begingroup\@floatplacement\@dblfloatplacement\endgroup \if@filesw \immediate\openout\@mainaux=\jobname.aux \immediate\write\@mainaux {\string\startlabels\string\@startlabels}\fi \csname process@table\endcsname \let\glb@currsize\@empty %% Force \baselineskip initialisation. \def\do##1{\let ##1\@notprerr}% \@preamblecmds \let\do\noexpand \@normalsize\everypar{}\@noskipsecfalse} % Redefine \enddocument so it outputs the last page of labels, % if necessary. % \def\enddocument{\@checkend{document}\newpage\begingroup \if@filesw \immediate\closeout\@mainaux \makeatletter\input \jobname.aux\clearpage \fi\endgroup\deadcycles\z@\@@end} \def\makelabels{\@fileswtrue} \def\@startlabels{} % **************************************** % * PAGE STYLES * % **************************************** % \def\ps@empty{\let\@oddhead\@empty\let\@oddfoot\@empty \let\@evenhead\@oddhead\let\@evenfoot\@oddfoot} % Neudefinition des plain-Stiles \def\ps@plain{\let\@oddfoot\@empty\def\@oddhead{\hspace{3in}\rm -- \thepage\ --\hfil} \let\@evenfoot\@oddfoot\let\@evenhead\@oddhead} % **************************************** % * PARAGRAPHING * % **************************************** % \ifnum\@ptsizem=3 \parskip=\baselineskip\else \parskip .7em\fi % Extra vertical space between paragraphs. \parindent 0pt % Width of paragraph indentation. %\topsep .4em % Extra vertical space, in addition to % \parskip, added above and below list and % paragraphing environments. \partopsep 0pt % Extra vertical space, in addition to % \parskip and \topsep, added when user % leaves blank line before environment. %\itemsep .4em % Extra vertical space, in addition to % \parskip, added between list items. % See \@listI for values of \topsep and \itemsep % (Change made 17 Oct 91) % The following page-breaking penalties are defined \@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] \@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] \@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] \@beginparpenalty -\@lowpenalty % Before a list or paragraph % environment. \@endparpenalty -\@lowpenalty % After a list or paragraph % environment. \@itempenalty -\@lowpenalty % Between list items. % \clubpenalty % 'Club line' at bottom of page. % \widowpenalty % 'Widow line' at top of page. % \displaywidowpenalty % Math display widow line. % \predisplaypenalty % Breaking before a math display. % \postdisplaypenalty % Breaking after a math display. % \interlinepenalty % SET BY THE LETTER COMMANDS % \brokenpenalty % Breaking after a hyphenated line. % **************************************** % * LISTS * % **************************************** % % The following commands are used to set the default values for the % list environment's parameters. See the LaTeX manual for an % explanation of the meanings of the parameters. Defaults for the list % environment are set as follows. First, \rightmargin, \listparindent % and \itemindent are set to 0pt. Then, for a Kth level list, the % command \@listK is called, where 'K' denotes 'i', 'ii', ... , 'vi'. % (I.e., \@listiii is called for a third-level list.) By convention, % \@listK should set \leftmargin to \leftmarginK. % % For efficiency, level-one list's values are defined at top level, and % \@listi is defined to set only \leftmargin. \leftmargini 2.5em \leftmarginii 2.2em % > \labelsep + width of '(m)' \leftmarginiii 1.87em % > \labelsep + width of 'vii.' \leftmarginiv 1.7em % > \labelsep + width of 'M.' \leftmarginv 1em \leftmarginvi 1em \leftmargin\leftmargini \labelwidth\leftmargini\advance\labelwidth-\labelsep \labelsep 5pt \parsep 0pt % \@listI defines top level and \@listi values of % \leftmargin, \topsep, \parsep, and \itemsep % (Added 17 Oct 91) \def\@listI{\leftmargin\leftmargini \topsep .4em% \itemsep .4em\relax} \let\@listi\@listI \@listi \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep .2em% \itemsep \topsep} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} % ENUMERATE % Enumeration is done with four counters: enumi, enumii, enumiii % and enumiv, where enumN controls the numbering of the Nth level % enumeration. The label is generated by the commands \labelenumi % ... \labelenumiv. The expansion of \p@enumN\theenumN defines the % output of a \ref command. %% RmS 92/02/26 corrected definitions of \labelenum.. to use \theenum.. \def\labelenumi{\theenumi.} \def\theenumi{\arabic{enumi}} \def\labelenumii{(\theenumii)} \def\theenumii{\alph{enumii}} \def\p@enumii{\theenumi} \def\labelenumiii{\theenumiii.} \def\theenumiii{\roman{enumiii}} \def\p@enumiii{\theenumi(\theenumii)} \def\labelenumiv{\theenumiv.} \def\theenumiv{\Alph{enumiv}} \def\p@enumiv{\p@enumiii\theenumiii} % ITEMIZE % Itemization is controlled by four commands: \labelitemi, % \labelitemii, \labelitemiii, and \labelitemiv, which define the % labels of the various itemization levels. \def\labelitemi{$\m@th\bullet$} \def\labelitemii{\bf --} \def\labelitemiii{$\m@th\ast$} \def\labelitemiv{$\m@th\cdot$} % VERSE % The verse environment is defined by making clever use of the % list environment's parameters. The user types \\ to end a line. % This is implemented by \let'in \\ equal \@centercr. % \def\verse{\let\\\@centercr \list{}{\itemsep\z@ \itemindent -15\p@\listparindent \itemindent \rightmargin\leftmargin\advance\leftmargin 15\p@}\item[]} \let\endverse\endlist % QUOTATION % Fills lines % Indents paragraph % \def\quotation{\list{}{\listparindent 1.5em% \itemindent\listparindent \rightmargin\leftmargin}\item[]} \let\endquotation=\endlist % QUOTE -- same as quotation except no paragraph indentation, % \def\quote{\list{}{\rightmargin\leftmargin}\item[]} \let\endquote=\endlist % DESCRIPTION % % To change the formatting of the label, you must redefine % \descriptionlabel. \def\descriptionlabel#1{\hspace\labelsep \bf #1} \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}} \let\enddescription\endlist % **************************************** % * OTHER ENVIRONMENTS * % **************************************** % % % THEOREM % \@begintheorem ... \@endtheorem are the commands executed at the % beginning and end of a (user-defined) theorem-like environment. % Except \@opargbegintheorem is executed when an optional argument is % given. Cf. LATEX.TEX. % % \def\@begintheorem#1#2{\it \trivlist % \item[\hskip \labelsep{\bf #1\ #2}]} % \def\@opargbegintheorem#1#2#3{\it \trivlist % \item[\hskip \labelsep{\bf #1\ #2\ (#3)}]} % \def\@endtheorem{\endtrivlist} % EQUATION and EQNARRAY % % \newcounter{equation} % Default is for left-hand side of equations to be flushleft. % To make them flushright, do: % \let\@eqnsel = \hfil % \def\theequation{\arabic{equation}} % \jot = 3pt % Extra space added between lines of an eqnarray % % environment \arraycolsep 5pt % Half the space between columns in an array % environment. \tabcolsep 6pt % Half the space between columns in a tabular % environment. \arrayrulewidth .4pt % Width of rules in array and tabular environment. \doublerulesep 2pt % Space between adjacent rules in array or tabular % environment. % TABBING % \tabbingsep \labelsep % Space used by the \' command. % (See LaTeX manual.) % MINIPAGE % \@minipagerestore is called upon entry to a minipage environment to % set up things that are to be handled differently inside a minipage % environment. In the current styles, it does nothing. % % \skip\@mpfootins : plays same role for footnotes in a minipage as % \skip\footins does for ordinary footnotes \skip\@mpfootins = \skip\footins % FRAMEBOX % \fboxsep = 3pt % Space left between box and text by \fbox and % \framebox. \fboxrule = .4pt % Width of rules in box made by \fbox and \framebox. % **************************************** % * FOOTNOTES * % **************************************** % % \footnoterule is a macro to draw the rule separating the footnotes % from the text. It should take zero vertical space, so it needs a % negative skip to compensate for any positive space taken by the rule. % (See PLAIN.TEX.) \def\footnoterule{\kern-\p@ \hrule \@width .4\columnwidth \kern .6\p@} % The \hrule has default height of .4pt. % \newcounter{footnote} % The numbering style (arabic, alph, etc.) for ordinary footnotes % is defined by the macro \thefootnote. % % \@makefntext{NOTE} : % Must produce the actual footnote, using \@thefnmark as the % mark of the footnote and NOTE as the text. It is called when % effectively inside a \parbox, with \hsize = \columnwidth. % \long\def\@makefntext#1{\noindent %Macro to make the text of a footnote \hangindent 5\p@\hbox to5\p@{\hss $\m@th^{\@thefnmark}$}#1} % \@makefnmark : A macro to generate the footnote marker that goes % in the text. Default definition used. % **************************************** % * FIGURES AND TABLES * % **************************************** % % Float placement parameters set by some commands. Easier to define % them than change the commands. \c@topnumber=2 \def\topfraction{.7} \c@bottomnumber=1 \def\bottomfraction{.3} \c@totalnumber=3 \def\textfraction{.2} \def\floatpagefraction{.5} \c@dbltopnumber= 2 \def\dbltopfraction{.7} \def\dblfloatpagefraction{.5} % **************************************** % * MISCELLANEOUS * % **************************************** % % DATE % \def\today{\number\day.\ \ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \ \number\year} \def\heute{\number\day.\ \ifcase\month\or Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or Juli\or August\or September\or Oktober\or November\or Dezember\fi \ \number\year} % **************************************** % * INITIALIZATION * % **************************************** % % Default initializations \smallskipamount=.5\parskip % These values are used by the % letter macros. \medskipamount=\parskip \bigskipamount=2\parskip \ps@plain % 'plain' page style \pagenumbering{arabic} % Arabic page numbers \onecolumn % Single-column \@fileswfalse % Inhibits writing of .AUX file. \if@german % german option \input german.sty\relax \fi \endinput