You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1323 lines
42 KiB

% \CheckSum{0}
% \iffalse
% ======================================================================
% plength.dtx
% Copyright (c) Markus Kohm, 2005-2019
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
% This work may be distributed and/or modified under the conditions of
% the LaTeX Project Public License, version 1.3c of the license.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later and of this work.
%
% This work has the LPPL maintenance status "author-maintained".
%
% The Current Maintainer and author of this work is Markus Kohm.
%
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% plength.dtx
% Copyright (c) Markus Kohm, 2005-2019
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
% Die neuste Version dieser Lizenz ist
% http://www.latex-project.org/lppl.txt
% und Version 1.3c ist Teil aller Verteilungen von LaTeX
% Version 2005/12/01 oder spaeter und dieses Werks.
%
% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
% (allein durch den Autor verwaltet).
%
% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
%
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
%
% Generation of plength figures at scrlttr2 chapter of the KOMA-Script guide
% Maintained by Markus Kohm
% Original source by Stephan Hennig
%
% ---------------------------------------------------------------------------
%
% Erzeugung der plength Abbildungen im scrlttr2-Kapitel der
% KOMA-Script-Anleitung
% Verwaltet von Markus Kohm
% Originalquellen von Stephan Hennig
%
% ============================================================================
%<*ins>
\def\batchfile{plength.dtx}
\input docstrip.tex
\ifx\askonceonly\undefined\else\askonceonly\fi
\preamble
\endpreamble
\postamble
\endpostamble
\keepsilent
\askforoverwritefalse
\generate{%
\file{plength.drv}{\from{plength.dtx}{driver}}%
\file{plenDIN.mp}{\from{plength.dtx}{main,DIN,length,terms,\languagename}}%
\file{varDIN.mp}{\from{plength.dtx}{main,DIN,variables,\languagename}}%
% Ebenfalls enthalten, derzeit aber nicht verwendet:
% \file{plenSN.mp}{\from{plength.dtx}{main,SN,length,\languagename}}%
% \file{varSN.mp}{\from{plength.dtx}{main,SN,variables,\languagename}}%
\file{plinc.mp}{\from{plength.dtx}{include}}%
\file{pltex-vars.mp}{\from{plength.dtx}{tex}}%
\file{pltex-terms.mp}{\from{plength.dtx}{tex,terms}}%
\file{pllcoDIN.mp}{\from{plength.dtx}{DIN,values}}%
% Ebenfalls enthalten, derzeit aber nicht verwendet:
% \file{pllcoSN.mp}{\from{plength.dtx}{SN,values}}%
}
\csname endinput\endcsname
%</ins>
%
%<*driver>
% \begin{macrocode}
\ProvidesFile{plength.drv}[2014/02/28 plength MetaPost graphics]
\documentclass{ltxdoc}
\usepackage[ngerman]{babel}
\begin{document}
\DocInput{plength.dtx}
\end{document}
% \end{macrocode}
%</driver>
% \fi
%
% \title{MetaPost-Grafiken für das Briefkapitel}
% \author{Stephan Hennig und Markus Kohm}
% \date{2010-02-09}
% \maketitle
%
% Es werden diverse Dateien erzeugt: \texttt{plenDINde.mp},
% \texttt{varDINde.mp}, \texttt{plenSNde.mp}, \texttt{varSNde.mp}, \dots Diese
% mit
% \begin{flushleft}
% \texttt{mpost --tex=latex} \meta{mp-file}
% \end{flushleft}
% bearbeitet ergibt \texttt{1}-Dateien. Diese können als EPS-Dateien
% geladen werden. Es kann aber auch mit
% \begin{flushleft}
% \texttt{mptopdf} \meta{1-Datei}
% \end{flushleft}
% eine PDF-Datei erzeugt werden.
%
% Anpassungen werden ausschließlich in der \texttt{dtx}-Datei vorgenommen!
% Wesentlich ist dabei der Abschnitt \texttt{main}.
%
%<*main>
% \section{Der Abschnitt \texttt{main}}
% Diese Abschnitt erzeugt die Haupttreiberdateien, die dann mit \texttt{mpost}
% bearbeitet werden.
%
% Hinweise zu den Variablen:
% \begin{itemize}
% \item \texttt{input pllcoDIN} oder \texttt{input pllcoSN}\hfill\\
% legt fest, ob die Maße für Briefe nach DIN oder SN
% geladen werden. Damit kann gewählt werden, welches Layout
% verdeutlicht werden soll. Sollen die Längen eingezeichnet werden,
% ist pllcoDIN zu verwenden.
% \item \texttt{grafikhoehe}\hfill\\
% legt die Höhe der Ausgabedatei fest.
% \item \texttt{strichstaerke}\hfill\\
% bestimmt die Stiftbreite, die zum Zeichnen des
% Briefbogens, der Faltmarken und der From-Rule benutzt wird.
% \item \texttt{framestrichstaerke}\hfill\\
% bestimmt die Stiftbreite zum Zeichnen der
% Element-Rahmen (nicht der Hilfsrahmen).
% \item \texttt{hilfsstrichstaerke}\hfill\\
% bestimmt die Stiftbreite zum Zeichnen der
% Bemaßung und der Hilfsrahmen.
% \item \texttt{tickhoehe}\hfill\\
% legt die Höhe der vertikalen Linien horizontaler
% Bemaßung fest (Makro hmeasure). Die Maßlinie wird auf halber Höhe
% von tickhoehe gezeichnet. Für die Makros vmeasure und dmeasure gilt
% ähnliches. In dmeasure wird jedoch ein Vielfaches von tickhoehe
% verwendet.
% \item \texttt{framed} und \texttt{filled}\hfill\\
% legen fest, ob die Elemente mit einem Rahmen
% versehen bzw. gefüllt werden sollen.
% \item \texttt{drawcolor}\hfill\\
% legt die Farbe von Linien und Text fest.
% \item \texttt{fillcolor}\hfill\\
% legt die Füllfarbe fest, falls filled=true ist.
% \item \texttt{latexlengths}\hfill\\
% legt fest, ob die unveränderlichen LaTeX-Längen
% angezeigt werden sollen.
% \item \texttt{latexlengthcolor}\hfill\\
% legt die Farbe fest, mit der LaTeX-Längen
% gezeichnet werden.
% \item \texttt{language}\hfill\\
% legt die Sprache der Beschreibung fest.
% \item \texttt{ahlength}\hfill\\
% Da foldmarkhpos sehr klein ist, können sich bei kleinen Grafiken
% die Pfeilspitzen der Bemaßung berühren. Um das zu verhindern, kann
% mit der MetaPost-internen Variablen ahlength die Pfeillänge
% verringert werden.
% \end{itemize}
%
% \begin{macrocode}
prologues:=1;
%<DIN>input pllcoDIN
%<SN>input pllcoSN
input plinc
%<!terms>input pltex-vars
%<terms>input pltex-terms
beginfig(1);
numeric grafikhoehe;
numeric tickhoehe;
numeric strichstaerke, framestrichstaerke, hilfsstrichstaerke;
boolean framed, filled, latexlengths;
color drawcolor, fillcolor, latexlengthcolor;
string language;
grafikhoehe := 167mm;
strichstaerke := 0.6pt;
framestrichstaerke := 0.2pt;
hilfsstrichstaerke := 0.2pt;
tickhoehe := 10pt;
framed := true;
filled := true;
drawcolor := black;
fillcolor := .8white;
latexlengths := true;
latexlengthcolor := .4white;
%<ngerman> language := "de";
%<english> language := "en";
ahlength := 0.7mm;
picture description[], plength[], latexlength[];
transform T;
T = identity reflectedabout ((0pt,.5*paperheight),
(paperwidth,.5*paperheight)) scaled (grafikhoehe/paperheight);
%<length> lengths; writedescription(language);
%<variables> describe(language);
endfig
end
% \end{macrocode}
%</main>
%
%<*tex>
% \section{Der Abschnitt \texttt{tex}}
%
% Dieser Abschnitt enthält sozusagen den \TeX{}-Part der Grafiken.
% Hier werden beispielsweise die Fonts festgelegt.
%
% \begin{macrocode}
verbatimtex
%<<LATEX
%&latex
%LATEX
\documentclass[fontsize=8pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\IfFileExists{scrnonfree.tex}{%
\usepackage{charter}%
\usepackage[scaled=0.87]{luximono}%
\usepackage[scaled=0.92]{frutiger}%
}{%
\usepackage{lmodern}%
}
\newcommand*{\plength}{\fontsize{7}{8}\sffamily}
\newcommand*{\descr}{\fontsize{7}{8}\itshape}
\newcommand*{\latexlength}{\fontsize{7}{8}\ttfamily}
\newcommand*{\Macro}[1]{{\fontsize{7}{8}\ttfamily
\expandafter\string\csname #1\endcsname}}
\newcommand*{\Parameter}[1]{{\fontsize{7}{8}\ttfamily\itshape\{#1\}}}
\newcommand*{\PParameter}[1]{{\fontsize{7}{8}\ttfamily\{#1\}}}
\newcommand*{\Variable}[1]{{\fontsize{7}{8}\ttfamily\bfseries #1}}
\newcommand*{\Multi}[1]{%
{\def\and{, }%
\begin{tabular}{@{}l@{}}
#1
\end{tabular}
}%
}
\begin{document}
etex
def deflengths =
begingroup
plength[1]=btex \plength{}backaddrheight etex;
plength[2]=btex \plength{}bfoldmarkvpos etex;
plength[3]=btex \plength{}firstfootvpos etex;
plength[4]=btex \plength{}firstfootwidth etex;
plength[5]=btex \plength{}firstheadvpos etex;
plength[6]=btex \plength{}firstheadwidth etex;
plength[7]=btex \plength{}foldmarkhpos etex;
plength[8]=btex \plength{}locwidth\strut etex;
plength[9]=btex \plength{}refaftervskip etex;
plength[10]=btex \plength{}refvpos etex;
plength[11]=btex \plength{}refwidth etex;
plength[12]=btex \plength{}sigbeforevskip etex;
plength[13]=btex \plength{}sigindent etex;
plength[14]=btex \plength{}specialmailindent etex;
plength[15]=btex \plength{}specialmailrightindent etex;
plength[16]=btex \plength{}tfoldmarkvpos etex;
plength[17]=btex \plength{}toaddrhpos\strut etex;
plength[18]=btex \plength{}toaddrindent\strut etex;
plength[19]=btex \plength{}toaddrvpos etex;
plength[20]=btex \plength{}toaddrwidth\strut etex;
plength[21]=btex \plength{}toaddrheight etex;
plength[22]=btex \plength{}refhpos etex;
plength[23]=btex \plength{}fromrulewidth etex;
plength[24]=btex \plength{}-toaddrhpos\strut etex;
plength[25]=btex \plength{}lochpos etex;
plength[26]=btex \plength{}-lochpos etex;
plength[27]=btex \plength{}locvpos etex;
plength[28]=btex \plength{}locheight etex;
plength[29]=btex \plength{}subjectaftervskip etex;
plength[30]=btex \plength{}+subjectbeforevskip etex;
plength[31]=btex \plength{}firstfoothpos etex;
plength[32]=btex \plength{}-firstfoothpos etex;
plength[33]=btex \plength{}firstheadhpos etex;
plength[34]=btex \plength{}-firstheadhpos etex;
endgroup
enddef;
def deflatexlengths =
begingroup
latexlength[1] = btex \latexlength{}\string\baselineskip etex;
latexlength[2] = btex \latexlength{}2\string\baselineskip etex;
latexlength[3] = btex \latexlength{}\string\textwidth etex;
latexlength[4] = btex \latexlength{}$\geq$\string\footskip etex;
endgroup
enddef;
def defdescriptionde =
begingroup
%<*terms>
description[1]=btex \descr{}Briefkopf etex;
description[2]=btex \descr{}Brief"|fuß{} etex;
description[3]=btex \descr{}Rücksendeadresse etex;
description[4]=btex \descr{}Versandart etex;
description[5]=btex \descr{}Empfängeradresse etex;
description[6]=btex \descr{}Geschäftszeile etex;
description[7]=btex \descr{}Titel etex;
description[8]=btex \descr{}Betreff etex;
description[9]=btex \descr{}Anrede etex;
description[10]=btex \descr{}Brieftext etex;
description[11]=btex \descr{}Grußfloskel etex;
description[12]=btex \descr{}Signatur etex;
description[13]=btex \descr{}\begin{tabular}{@{}c@{}}Absender-\\ergänzung\end{tabular} etex;
%</terms>
%<*!terms>
description[1]=btex \Multi{\Variable{firsthead}\\
\Variable{fromname}\and
\Variable{fromaddress}\and
\Variable{fromphone}\and
\Variable{fromfax}\and
\Variable{fromemail}\and
\Variable{fromurl}} etex;
description[2]=btex \Variable{firstfoot} etex;
description[3]=btex \Variable{backaddress} etex;
description[4]=btex \Variable{specialmail} etex;
description[5]=btex \Macro{begin}\PParameter{letter}\Parameter{Name und Adresse} etex;
description[6]=btex \Multi{\Variable{yourref}\and
\Variable{yourmail}\and
\Variable{myref}\and
\Variable{customer}\and
\Variable{invoice}\and
\Variable{place}\and
\Variable{date}} etex;
description[7]=btex \Variable{title} etex;
description[8]=btex \Variable{subject} etex;
description[9]=btex \Macro{opening}\Parameter{Anrede} etex;
description[10]=btex \descr{}Brieftext etex;
description[11]=btex \Macro{closing}\Parameter{Floskel} etex;
description[12]=btex \Variable{signature} etex;
description[13]=btex \Variable{location} etex;
%</!terms>
endgroup
enddef;
def defdescriptionen =
begingroup
%<*terms>
description[1]=btex \descr{}letterhead etex;
description[2]=btex \descr{}letter footer etex;
description[3]=btex \descr{}return address etex;
description[4]=btex \descr{}mode of dispatch etex;
description[5]=btex \descr{}addressee etex;
description[6]=btex \descr{}reference fields line etex;
description[7]=btex \descr{}title etex;
description[8]=btex \descr{}subject etex;
description[9]=btex \descr{}opening etex;
description[10]=btex \descr{}letter body etex;
description[11]=btex \descr{}closing etex;
description[12]=btex \descr{}signature etex;
description[13]=btex \descr{}\begin{tabular}{@{}c@{}}supplemental\\data\end{tabular} etex;
%</terms>
%<*!terms>
description[1]=btex \Multi{\Variable{firsthead}\\
\Variable{fromname}\and
\Variable{fromaddress}\and
\Variable{fromphone}\and
\Variable{fromfax}\and
\Variable{fromemail}\and
\Variable{fromurl}} etex;
description[2]=btex \Variable{firstfoot} etex;
description[3]=btex \Variable{backaddress} etex;
description[4]=btex \Variable{specialmail} etex;
description[5]=btex \Macro{begin}\PParameter{letter}\Parameter{addressee} etex;
description[6]=btex \Multi{\Variable{yourref}\and
\Variable{yourmail}\and
\Variable{myref}\and
\Variable{customer}\and
\Variable{invoice}\and
\Variable{place}\and
\Variable{date}} etex;
description[7]=btex \Variable{title} etex;
description[8]=btex \Variable{subject} etex;
description[9]=btex \Macro{opening}\Parameter{opening term} etex;
description[10]=btex \descr{}letter body etex;
description[11]=btex \Macro{closing}\Parameter{closing term} etex;
description[12]=btex \Variable{signature} etex;
description[13]=btex \Variable{location} etex;
%</!terms>
endgroup
enddef;
% \end{macrocode}
%</tex>
%
%<*values>
% \section{Der Abschnitt \texttt{values}}
% In diesem Abschnitt finden sich Maße für die unterschiedlichen Briefe
% ausgehend von \texttt{11pt}, \texttt{a4paper}.
%
%<*DIN>
% \section{Maße für DIN-Briefe}
%
%\begin{macrocode}
numeric paperwidth;
numeric paperheight;
numeric textwidth;
numeric textheight;
numeric evensidemargin;
numeric oddsidemargin;
numeric topmargin;
numeric headheight;
numeric headsep;
numeric topskip;
numeric footskip;
numeric baselineskip;
paperwidth = 597.50793pt;
paperheight = 845.04694pt;
textwidth = 418.25555pt;
textheight = 595.80026pt;
evensidemargin = 17.3562pt;
oddsidemargin = 17.3562pt;
topmargin = -25.16531pt;
headheight = 17.0pt;
headsep = 20.40001pt;
topskip = 11.0pt;
footskip = 47.60002pt;
baselineskip = 13.6pt;
numeric foldmarkhpos;
numeric tfoldmarkvpos;
numeric bfoldmarkvpos;
numeric tfoldmarklength;
numeric pfoldmarklength;
numeric bfoldmarklength;
numeric toaddrvpos;
numeric refvpos;
numeric refaftervskip;
numeric toaddrhpos;
numeric toaddrwidth;
numeric toaddrheight;
numeric toaddrindent;
numeric specialmailindent;
numeric specialmailrightindent;
numeric locwidth;
numeric backaddrheight;
numeric firstheadvpos;
numeric firstheadwidth;
numeric firstfootwidth;
numeric firstfootvpos;
numeric refwidth;
numeric sigindent;
numeric sigbeforevskip;
foldmarkhpos = 3.5mm;
tfoldmarkvpos = 105mm;
bfoldmarkvpos = 210mm;
tfoldmarklength = 2mm;
pfoldmarklength = 4mm;
bfoldmarklength = 2mm;
toaddrvpos = 45mm;
refvpos = 98.5mm;
refaftervskip = baselineskip;
toaddrhpos = 20mm;
toaddrwidth = 85mm;
toaddrheight = 40mm;
toaddrindent = 0mm;
%specialmailindent = \fill;
specialmailrightindent = 11pt;
locwidth = 3.75cm;
backaddrheight = 5mm;
firstheadvpos = 8mm;
firstheadwidth = paperwidth - 2*abs(toaddrhpos);
firstfootwidth = firstheadwidth;
firstfootvpos = 1in + topmargin + headheight + headsep + textheight + footskip;
refwidth = 0pt;
sigindent = 0mm;
sigbeforevskip = 2*baselineskip;
% \end{macrocode}
% weitere Hilfsvariablen
% \begin{macrocode}
numeric firstheadhpos;
numeric firstheadheight;
numeric firstfoothpos;
numeric firstfootheight;
numeric fromrulewidth;
numeric fromrulehpos;
numeric specialmailwidth;
numeric specialmailheight;
numeric lochpos;
numeric refhpos;
numeric refheight;
numeric titlevpos;
numeric titlewidth;
numeric titleheight;
numeric subjectvpos;
numeric subjectwidth;
numeric subjectheight;
numeric openingvpos;
numeric openingwidth;
numeric openingheight;
numeric bodyvpos;
numeric bodywidth;
numeric bodyheight;
numeric typeareabottom;
numeric sigvpos;
numeric sigwidth;
numeric sigheight;
firstheadhpos = 0.5*(paperwidth-firstheadwidth);
firstheadheight = 5*baselineskip;
firstfoothpos = 0.5*(paperwidth-firstfootwidth);
firstfootheight = 3*baselineskip;
fromrulewidth = 0.5*firstheadwidth;
fromrulehpos = firstheadhpos+0.5*(firstheadwidth-fromrulewidth);
specialmailwidth = 5cm;
specialmailheight = baselineskip;
specialmailindent = toaddrwidth-specialmailrightindent-specialmailwidth;
lochpos = paperwidth-toaddrhpos-locwidth;
refhpos = 1in+oddsidemargin;
refheight = 2*baselineskip;
refwidth := textwidth;
titlevpos = refvpos+refheight+refaftervskip;
titlewidth = 9cm;
titleheight = 1.2*baselineskip;
subjectvpos = titlevpos+titleheight+1*baselineskip;
subjectwidth = 8cm;
subjectheight = baselineskip;
openingvpos = subjectvpos+subjectheight+2*baselineskip;
openingwidth = 6cm;
openingheight = baselineskip;
bodyvpos = openingvpos+openingheight+baselineskip;
bodywidth = textwidth;
bodyheight = 8*baselineskip;
typeareabottom = firstfootvpos-footskip;
sigvpos = bodyvpos+bodyheight+baselineskip;
sigwidth = 5cm;
sigheight = baselineskip;
% \end{macrocode}
%</DIN>
%
%<*SN>
% \section{Maße für SN-Briefe}
% \begin{macrocode}
numeric paperwidth;
numeric paperheight;
numeric textwidth;
numeric textheight;
numeric evensidemargin;
numeric oddsidemargin;
numeric topmargin;
numeric headheight;
numeric headsep;
numeric topskip;
numeric footskip;
numeric baselineskip;
paperwidth = 597.50793pt;
paperheight = 845.04694pt;
textwidth = 418.25555pt;
textheight = 595.80026pt;
evensidemargin = 17.3562pt;
oddsidemargin = 17.3562pt;
topmargin = -25.16531pt;
headheight = 17.0pt;
headsep = 20.40001pt;
topskip = 11.0pt;
footskip = 47.60002pt;
baselineskip = 13.6pt;
numeric foldmarkhpos;
numeric tfoldmarkvpos;
numeric bfoldmarkvpos;
numeric tfoldmarklength;
numeric pfoldmarklength;
numeric bfoldmarklength;
numeric toaddrvpos;
numeric refvpos;
numeric refaftervskip;
numeric toaddrhpos;
numeric toaddrwidth;
numeric toaddrheight;
numeric toaddrindent;
numeric specialmailindent;
numeric specialmailrightindent;
numeric locwidth;
numeric backaddrheight;
numeric firstheadvpos;
numeric firstheadwidth;
numeric firstfootwidth;
numeric firstfootvpos;
numeric refwidth;
numeric sigindent;
numeric sigbeforevskip;
foldmarkhpos = 3.5mm;
tfoldmarkvpos = 105mm;
bfoldmarkvpos = 210mm;
tfoldmarklength = 2mm;
pfoldmarklength = 4mm;
bfoldmarklength = 2mm;
toaddrvpos = 45mm;
refvpos = 98.5mm;
refaftervskip = baselineskip;
toaddrhpos = -8mm;
toaddrwidth = 90mm;
toaddrheight = 40mm;
toaddrindent = 0mm;
%specialmailindent = \fill;
specialmailrightindent = 11pt;
locwidth = (paperwidth-2*abs(toaddrhpos)-toaddrwidth)/2;
backaddrheight = 5mm;
firstheadvpos = 8mm;
firstheadwidth = paperwidth - 2*abs(toaddrhpos);
firstfootwidth = firstheadwidth;
firstfootvpos = 1in + topmargin + headheight + headsep + textheight + footskip;
show firstfootvpos;
refwidth = 0pt;
sigindent = 0mm;
sigbeforevskip = 2*baselineskip;
% \end{macrocode}
% weitere Hilfsvariablen
% \begin{macrocode}
numeric firstheadhpos;
numeric firstheadheight;
numeric firstfoothpos;
numeric firstfootheight;
numeric fromrulewidth;
numeric fromrulehpos;
numeric specialmailwidth;
numeric specialmailheight;
numeric lochpos;
numeric refhpos;
numeric refheight;
numeric titlevpos;
numeric titlewidth;
numeric titleheight;
numeric subjectvpos;
numeric subjectwidth;
numeric subjectheight;
numeric openingvpos;
numeric openingwidth;
numeric openingheight;
numeric bodyvpos;
numeric bodywidth;
numeric bodyheight;
numeric typeareabottom;
numeric sigvpos;
numeric sigwidth;
numeric sigheight;
firstheadhpos = 0.5*(paperwidth-firstheadwidth);
firstheadheight = 4*baselineskip;
firstfoothpos = 0.5*(paperwidth-firstfootwidth);
firstfootheight = 3*baselineskip;
fromrulewidth = 0.5*firstheadwidth;
fromrulehpos = firstheadhpos+0.5*(firstheadwidth-fromrulewidth);
specialmailwidth = 5cm;
specialmailheight = baselineskip;
specialmailindent = toaddrwidth-specialmailrightindent-specialmailwidth;
lochpos = -toaddrhpos;
refhpos = 1in+oddsidemargin;
refheight = 2*baselineskip;
refwidth := textwidth;
titlevpos = refvpos+refheight+refaftervskip;
titlewidth = 9cm;
titleheight = 1.2*baselineskip;
subjectvpos = titlevpos+titleheight+1*baselineskip;
subjectwidth = 8cm;
subjectheight = baselineskip;
openingvpos = subjectvpos+subjectheight+2*baselineskip;
openingwidth = 6cm;
openingheight = baselineskip;
bodyvpos = openingvpos+openingheight+baselineskip;
bodywidth = textwidth;
bodyheight = 8*baselineskip;
typeareabottom = firstfootvpos-footskip;
sigvpos = bodyvpos+bodyheight+baselineskip;
sigwidth = 5cm;
sigheight = baselineskip;
% \end{macrocode}
%</SN>
%</values>
%
%<*include>
% \section{Der Abschnitt \texttt{include}}
% \changes{}{2005-08-30}{Korrektur der Stiftstärken}
%
% Dieser Abschnitt erzeugt die Datei \texttt{plinc.mp} mit den wesentlichen
% Definitionen für die Erzeugung eines Elements. Eine Element ist
% beispielsweise eine Pseudolänge, eine Beschreibung (Variable), ein Feld,
% \dots).
%
% \begin{macrocode}
def lengths =
toaddrindent := 0.7cm;
% \end{macrocode}
% Die Breite des \texttt{location}-Feldes wird später berechnet und deshalb
% hier nicht mehr mit
% \begin{verbatim}
% locwidth := 3.7cm;
% \end{verbatim}
% gesetzt.
% \begin{macrocode}
firstheadheight := firstheadheight-3pt;
firstheadvpos := firstheadvpos+3pt;
sigindent := 1cm;
if (latexlengths=true):
writelatexlengths;
fi
if (filled=true):
drawfilledelements;
fi
if (framed=true):
drawframedelements;
fi
drawpaperandfoldmarks;
drawboxes;
% \end{macrocode}
% From-Rule:
% \begin{macrocode}
draw ((fromrulehpos,firstheadvpos+firstheadheight-strichstaerke)--
(fromrulehpos+fromrulewidth,firstheadvpos+firstheadheight-strichstaerke))
transformed T withpen pencircle scaled strichstaerke;
writelengths;
enddef;
def describe(expr lang) =
drawpaperandfoldmarks;
if (filled=true):
drawfilledelements;
fi
if (framed=true):
drawframedelements;
fi
writedescription(lang);
enddef;
def drawframedelements =
if toaddrhpos < 0 :
istoaddrhpos := paperwidth-abs(toaddrhpos)-toaddrwidth;
else :
istoaddrhpos := toaddrhpos;
fi
pickup pencircle scaled framestrichstaerke;
drawoptions(withcolor drawcolor);
% \end{macrocode}
% Kopf und Fuß
% \begin{macrocode}
draw unitsquare xscaled firstheadwidth yscaled firstheadheight
shifted (firstheadhpos, firstheadvpos) transformed T;
draw unitsquare xscaled firstfootwidth yscaled firstfootheight
shifted (firstfoothpos, firstfootvpos) transformed T;
% \end{macrocode}
% Adressfeld
% \begin{macrocode}
draw unitsquare xscaled toaddrwidth yscaled backaddrheight
shifted (istoaddrhpos, toaddrvpos) transformed T;
draw unitsquare xscaled specialmailwidth yscaled specialmailheight
shifted (istoaddrhpos+toaddrwidth-specialmailwidth-specialmailrightindent,
toaddrvpos+backaddrheight) transformed T;
draw unitsquare xscaled (toaddrwidth-2*toaddrindent)
yscaled (toaddrheight-backaddrheight-specialmailheight)
shifted (istoaddrhpos+toaddrindent,
toaddrvpos+backaddrheight+specialmailheight) transformed T;
% \end{macrocode}
% Absenderergänzung:
% \begin{macrocode}
draw unitsquare xscaled locwidth yscaled toaddrheight
shifted (lochpos, toaddrvpos) transformed T;
% \end{macrocode}
% Geschäftszeile:
% \begin{macrocode}
draw unitsquare xscaled refwidth yscaled refheight
shifted (1in+oddsidemargin, refvpos) transformed T;
% \end{macrocode}
% Titel:
% \begin{macrocode}
draw unitsquare xscaled titlewidth yscaled titleheight
shifted (1in+oddsidemargin+0.5(textwidth-titlewidth), titlevpos)
transformed T;
% \end{macrocode}
% Betreff:
% \begin{macrocode}
draw unitsquare xscaled subjectwidth yscaled subjectheight
shifted (1in+oddsidemargin, subjectvpos) transformed T;
% \end{macrocode}
% Anrede:
% \begin{macrocode}
draw unitsquare xscaled openingwidth yscaled openingheight
shifted (1in+oddsidemargin, openingvpos) transformed T;
% \end{macrocode}
% Brieftext:
% \begin{macrocode}
draw unitsquare xscaled bodywidth yscaled bodyheight
shifted (1in+oddsidemargin, bodyvpos) transformed T;
% \end{macrocode}
% Signatur:
% \begin{macrocode}
draw unitsquare xscaled sigwidth yscaled sigheight
shifted (1in+oddsidemargin+sigindent, sigvpos) transformed T;
draw unitsquare xscaled (0.8*sigwidth) yscaled sigheight
shifted (1in+oddsidemargin+sigindent+.1*sigwidth,
sigvpos+sigheight+sigbeforevskip) transformed T;
enddef;
def drawfilledelements =
if toaddrhpos < 0 :
istoaddrhpos := paperwidth-abs(toaddrhpos)-toaddrwidth;
else :
istoaddrhpos := toaddrhpos;
fi
drawoptions (withcolor fillcolor);
% \end{macrocode}
% Kopf und Fuß:
% \begin{macrocode}
fill unitsquare xscaled firstheadwidth yscaled firstheadheight
shifted (firstheadhpos, firstheadvpos) transformed T;
fill unitsquare xscaled firstfootwidth yscaled firstfootheight
shifted (firstfoothpos, firstfootvpos) transformed T;
% \end{macrocode}
% Adressfeld:
% \begin{macrocode}
fill unitsquare xscaled toaddrwidth yscaled backaddrheight
shifted (istoaddrhpos, toaddrvpos) transformed T;
fill unitsquare xscaled specialmailwidth yscaled specialmailheight
shifted (istoaddrhpos+toaddrwidth-specialmailwidth-specialmailrightindent,
toaddrvpos+backaddrheight) transformed T;
fill unitsquare xscaled (toaddrwidth-2*toaddrindent)
yscaled (toaddrheight-backaddrheight-specialmailheight)
shifted (istoaddrhpos+toaddrindent,
toaddrvpos+backaddrheight+specialmailheight) transformed T;
% \end{macrocode}
% Absenderergänzung:
% \begin{macrocode}
fill unitsquare xscaled locwidth yscaled toaddrheight
shifted (lochpos, toaddrvpos) transformed T;
% \end{macrocode}
% Geschäftszeile:
% \begin{macrocode}
fill unitsquare xscaled refwidth yscaled refheight
shifted (refhpos, refvpos) transformed T;
% \end{macrocode}
% Titel:
% \begin{macrocode}
fill unitsquare xscaled titlewidth yscaled titleheight
shifted (1in+oddsidemargin+0.5(textwidth-titlewidth), titlevpos)
transformed T;
% \end{macrocode}
% Betreff:
% \begin{macrocode}
fill unitsquare xscaled subjectwidth yscaled subjectheight
shifted (1in+oddsidemargin, subjectvpos) transformed T;
% \end{macrocode}
% Anrede:
% \begin{macrocode}
fill unitsquare xscaled openingwidth yscaled openingheight
shifted (1in+oddsidemargin, openingvpos) transformed T;
% \end{macrocode}
% Brieftext:
% \begin{macrocode}
fill unitsquare xscaled bodywidth yscaled bodyheight
shifted (1in+oddsidemargin, bodyvpos) transformed T;
% \end{macrocode}
% Signatur:
% \begin{macrocode}
fill unitsquare xscaled sigwidth yscaled sigheight
shifted (1in+oddsidemargin+sigindent, sigvpos) transformed T;
fill unitsquare xscaled (0.8*sigwidth) yscaled sigheight
shifted (1in+oddsidemargin+sigindent+.1*sigwidth,
sigvpos+sigheight+sigbeforevskip) transformed T;
enddef;
def drawpaperandfoldmarks =
pickup pencircle scaled strichstaerke;
drawoptions(withcolor drawcolor);
% \end{macrocode}
% Briefbogen:
% \begin{macrocode}
draw unitsquare xscaled paperwidth yscaled paperheight transformed T;
% \end{macrocode}
% Falzmarken:
% \begin{macrocode}
draw ((foldmarkhpos,tfoldmarkvpos)--
(foldmarkhpos+tfoldmarklength,tfoldmarkvpos)) transformed T;
draw ((foldmarkhpos,0.5*paperheight)--
(foldmarkhpos+pfoldmarklength,0.5*paperheight)) transformed T;
draw ((foldmarkhpos,bfoldmarkvpos)--
(foldmarkhpos+bfoldmarklength,bfoldmarkvpos)) transformed T;
enddef;
def drawboxes =
if toaddrhpos < 0 :
istoaddrhpos := paperwidth-abs(toaddrhpos)-toaddrwidth;
else :
istoaddrhpos := toaddrhpos;
fi
pickup pencircle scaled hilfsstrichstaerke;
drawoptions(withcolor drawcolor);
% \end{macrocode}
% Kasten Adressfeld:
% \begin{macrocode}
draw unitsquare xscaled toaddrwidth yscaled toaddrheight
shifted (istoaddrhpos, toaddrvpos) transformed T;
% \end{macrocode}
% ^^A auskommentiert:
% ^^A Kasten Adresszeile
% ^^A draw unitsquare xscaled (paperwidth-2*toaddrhpos)
% ^^A yscaled toaddrheight shifted (toaddrhpos, toaddrvpos) transformed T;
% Kasten Signatur:
% \begin{macrocode}
draw unitsquare xscaled sigwidth yscaled (2*sigheight+sigbeforevskip)
shifted (1in+oddsidemargin+sigindent,sigvpos) transformed T;
% \end{macrocode}
% Kasten Satzspiegel:
% \begin{macrocode}
draw unitsquare xscaled textwidth yscaled (typeareabottom-titlevpos)
shifted (1in+oddsidemargin,titlevpos) transformed T;
enddef;
def writelengths =
begingroup
if toaddrhpos < 0 :
istoaddrhpos := paperwidth-abs(toaddrhpos)-toaddrwidth;
else :
istoaddrhpos := toaddrhpos;
fi
deflengths;
pickup pencircle scaled hilfsstrichstaerke;
drawoptions(withcolor drawcolor);
% \end{macrocode}
% \texttt{firstheadhpos}:
% \begin{macrocode}
if firstheadhpos > 0 :
hmeasure((0,firstheadvpos), firstheadhpos, plength[33], (12pt,0pt), top);
else :
hmeasure((0,firstheadvpos), -firstheadhpos, plength[34], (12pt,0pt), top);
fi
% \end{macrocode}
% \texttt{firstheadwidth}:
% \begin{macrocode}
hmeasure((firstheadhpos,firstheadvpos), firstheadwidth, plength[6], origin,
top);
% \end{macrocode}
% \texttt{fromrulewidth}:
% \begin{macrocode}
hmeasure((fromrulehpos,firstheadvpos+firstheadheight-strichstaerke),
fromrulewidth, plength[23], origin, top);
% \end{macrocode}
% \texttt{toaddrwidth}:
% \begin{macrocode}
hmeasure((istoaddrhpos,toaddrvpos), toaddrwidth, plength[20], origin, top);
% \end{macrocode}
% \texttt{locwidth}:
% \begin{macrocode}
hmeasure((lochpos,toaddrvpos), locwidth, plength[8], origin, top);
% \end{macrocode}
% \texttt{specialmailindent}:
% \begin{macrocode}
hmeasure((istoaddrhpos,
toaddrvpos+backaddrheight+0.5*(specialmailheight+tickhoehe)),
specialmailindent, plength[14], (-0.5*specialmailindent+toaddrindent,+14pt), rt);
% \end{macrocode}
% \texttt{specialmailrightindent}:
% \begin{macrocode}
hmeasure((istoaddrhpos+toaddrwidth-specialmailrightindent,
toaddrvpos+backaddrheight+0.5*(specialmailheight+tickhoehe)),
specialmailrightindent, plength[15],
(0.5*specialmailrightindent-3pt,0pt), rt);
% \end{macrocode}
% \texttt{toaddrhpos}:
% \begin{macrocode}
if toaddrhpos > 0 :
hmeasure((0,toaddrvpos), toaddrhpos, plength[17], (6pt,0pt), top);
else :
hmeasure((0,toaddrvpos), -toaddrhpos, plength[24], (6pt,0pt), top);
fi
% \end{macrocode}
% \texttt{lochpos}:
% \begin{macrocode}
if toaddrhpos > 0 :
hmeasure((lochpos+locwidth,toaddrvpos), toaddrhpos, plength[25], (-6pt,0pt),
top);
else :
hmeasure((paperwidth+toaddrhpos,toaddrvpos), -toaddrhpos, plength[26],
(-6pt,0pt), top);
fi
% \end{macrocode}
% \texttt{toaddrindent}:
% \begin{macrocode}
hmeasure((istoaddrhpos,
toaddrvpos+0.75*(toaddrheight+backaddrheight+specialmailheight+tickhoehe)),
toaddrindent, plength[18], (0.5*toaddrindent,0pt), rt);
hmeasure((istoaddrhpos+toaddrwidth-toaddrindent,
toaddrvpos+0.75*(toaddrheight+backaddrheight+specialmailheight+tickhoehe)),
toaddrindent, plength[18], (-0.5*toaddrindent,0pt), lft);
% \end{macrocode}
% \texttt{refwidth}:
% \begin{macrocode}
hmeasure((1in+oddsidemargin,refvpos), refwidth, plength[11], origin, top);
% \end{macrocode}
% \texttt{refhpos}:
% \begin{macrocode}
hmeasure((0,refvpos), refhpos, plength[22], origin, top);
% \end{macrocode}
% \texttt{foldmarkhpos}:
% \begin{macrocode}
hmeasure((0,bfoldmarkvpos+tickhoehe), foldmarkhpos, plength[7],
(-6pt,0.5*tickhoehe), lrt);
% \end{macrocode}
% \texttt{sigindent}:
% \begin{macrocode}
hmeasure((1in+oddsidemargin,sigvpos+0.5*(sigheight+tickhoehe)), sigindent,
plength[13], (-0.5*sigindent,0pt), lft);
% \end{macrocode}
% \texttt{firstfoothpos}:
% \begin{macrocode}
if firstfoothpos > 0 :
hmeasure((0,firstfootvpos+firstfootheight+tickhoehe), firstfoothpos, plength[31], (12pt,0pt), bot);
else :
hmeasure((firstfootwidth-firstfoothpos,firstfootvpos+firstfootheight+tickhoehe), -firstfoothpos, plength[32], (12pt,0pt), bot);
fi
% \end{macrocode}
% \texttt{firstfootwidth}:
% \begin{macrocode}
hmeasure((firstfoothpos,firstfootvpos), firstfootwidth, plength[4], origin,
top);
% \end{macrocode}
% \texttt{toaddrheight}:
% \begin{macrocode}
vmeasure((istoaddrhpos-tickhoehe,toaddrvpos), toaddrheight,
plength[21] rotated 90, origin, lft);
% \end{macrocode}
% \texttt{locheight}:
% \begin{macrocode}
vmeasure((lochpos+locwidth,toaddrvpos), toaddrheight,
plength[28] rotated 90, origin, rt);
% \end{macrocode}
% \texttt{subjectbeforevskip}
% \begin{macrocode}
label(plength[30],
(1in+oddsidemargin+openingwidth+152pt, subjectvpos-.5*baselineskip)
transformed T);
% \end{macrocode}
% \texttt{subjectaftervskip}
% \begin{macrocode}
vmeasure((1in+oddsidemargin+openingwidth,subjectvpos+baselineskip),
2*baselineskip, plength[29], origin, rt);
% \end{macrocode}
% \texttt{backaddrheight}:
% \begin{macrocode}
vmeasure((istoaddrhpos+toaddrwidth,toaddrvpos), backaddrheight, plength[1],
origin, rt);
% \end{macrocode}
% \texttt{refaftervskip}:
% ^^A auskommentiert:
% ^^A vmeasure((1in+oddsidemargin+0.5*(textwidth+titlewidth),
% ^^A refvpos+refheight), refaftervskip, plength[9], origin, rt);
% \begin{macrocode}
vmeasure((1in+oddsidemargin+textwidth,refvpos+refheight), refaftervskip,
plength[9], origin, rt);
% \end{macrocode}
% \texttt{sigbeforvskip}:
% \begin{macrocode}
vmeasure((1in+oddsidemargin+sigindent+0.1*sigwidth-tickhoehe,
sigvpos+sigheight), sigbeforevskip, plength[12], origin, rt);
% \end{macrocode}
% \texttt{firstheadvpos}:
% \begin{macrocode}
if firstheadhpos < 0 :
dmeasure((-firstheadhpos-2*tickhoehe,firstheadvpos), plength[5], origin, rt);
else :
dmeasure((firstheadhpos+firstheadwidth,firstheadvpos), plength[5], origin, lft);
fi
% \end{macrocode}
% \texttt{toaddrvpos}:
% \begin{macrocode}
if toaddrhpos > 0 :
dmeasure((istoaddrhpos+toaddrwidth,toaddrvpos), plength[19], origin, top);
else :
dmeasure((istoaddrhpos-2*tickhoehe,toaddrvpos), plength[19], origin, top);
fi
% \end{macrocode}
% \texttt{locvpos}:
% \begin{macrocode}
if toaddrhpos > 0 :
dmeasure((lochpos-2*tickhoehe,toaddrvpos), plength[27], origin, top);
else :
dmeasure((lochpos+locwidth,toaddrvpos), plength[27], origin, top);
fi
% \end{macrocode}
% \texttt{refvpos}:
% \begin{macrocode}
dmeasure((refhpos+refwidth,refvpos), plength[10], (0pt,0pt), top);
% \end{macrocode}
% \texttt{tfoldmarkvpos}:
% \begin{macrocode}
dmeasure((foldmarkhpos+tfoldmarklength,tfoldmarkvpos), plength[16],
(18pt,1.5*tickhoehe), bot);
% \end{macrocode}
% \texttt{bfoldmarkvpos}:
% \begin{macrocode}
dmeasure((foldmarkhpos+bfoldmarklength,bfoldmarkvpos), plength[2],
(18pt,0pt), top);
% \end{macrocode}
% \texttt{firstfootvpos}:
% \begin{macrocode}
dmeasure((firstfoothpos-2*tickhoehe,firstfootvpos), plength[3], origin, top);
endgroup
enddef;
def writelatexlengths =
begingroup
color temp;
deflatexlengths;
temp := drawcolor;
drawcolor := latexlengthcolor;
pickup pencircle scaled hilfsstrichstaerke;
% \end{macrocode}
% \LaTeX-Längen:
% \begin{macrocode}
vmeasure((1in+oddsidemargin+openingwidth,subjectvpos-baselineskip),
baselineskip, latexlength[1], origin, rt);
vmeasure((1in+oddsidemargin+openingwidth,openingvpos+baselineskip),
baselineskip, latexlength[1], origin, rt);
vmeasure((1in+oddsidemargin+sigindent+sigwidth,sigvpos-baselineskip),
baselineskip, latexlength[1], origin, rt);
hmeasure((1in+oddsidemargin,typeareabottom+tickhoehe),
textwidth, latexlength[3], (0pt,-3pt), bot);
draw ((1in+oddsidemargin+textwidth,typeareabottom)--
(firstfoothpos+firstfootwidth,typeareabottom)) transformed T;
vmeasure((firstfoothpos+firstfootwidth,typeareabottom),
firstfootvpos-typeareabottom, latexlength[4] rotated 90, origin,
rt);
drawcolor := temp;
endgroup
enddef;
% \end{macrocode}
% Anker ist links unten.
% \begin{macrocode}
def hmeasure(expr p, breite, pic, s)(suffix alig) =
begingroup
save pleft, pright;
pair pleft, pright;
drawoptions(withcolor drawcolor);
% \end{macrocode}
% linker Tick:
% \begin{macrocode}
draw (p--p shifted (0,-tickhoehe)) transformed T;
% \end{macrocode}
% rechter Tick:
% \begin{macrocode}
draw (p--p shifted (0,-tickhoehe)) shifted (breite,0) transformed T;
% \end{macrocode}
% Messlinie;
% die Korrektur der Stiftstärke muss nach der Transformation
% in Zeichenkoordinaten erfolgen:
% \begin{macrocode}
pleft = p shifted (0,-0.5*tickhoehe)
transformed T shifted (hilfsstrichstaerke,0);
pright = p shifted (0,-0.5*tickhoehe) shifted (breite,0)
transformed T shifted (-hilfsstrichstaerke,0);
drawdblarrow pleft--pright;
label.alig(pic, (p shifted (0.5*breite, -0.5*tickhoehe) shifted s)
transformed T);
endgroup
enddef;
% \end{macrocode}
% Anker ist links oben.
% \begin{macrocode}
def vmeasure(expr p, breite, pic, s)(suffix alig) =
begingroup
save ptop, pbottom;
pair ptop, pbottom;
drawoptions(withcolor drawcolor);
% \end{macrocode}
% oberer Tick:
% \begin{macrocode}
draw (p--p shifted (tickhoehe,0)) transformed T;
% \end{macrocode}
% unterer Tick:
% \begin{macrocode}
draw (p--p shifted (tickhoehe,0)) shifted (0,breite) transformed T;
% \end{macrocode}
% Messlinie;
% die Korrektur der Stiftstärke muss nach der Transformation
% in Zeichenkoordinaten erfolgen:
% \begin{macrocode}
ptop = p shifted (0.5*tickhoehe,0)
transformed T shifted (0,-hilfsstrichstaerke);
pbottom = p shifted (0.5*tickhoehe,0) shifted (0,breite)
transformed T shifted (0,hilfsstrichstaerke);
drawdblarrow ptop--pbottom;
label.alig(pic, (p shifted (0.5*tickhoehe, 0.5*breite) shifted s)
transformed T);
endgroup
enddef;
% \end{macrocode}
% Anker ist links unten.
% \begin{macrocode}
def dmeasure(expr p, pic, s)(suffix alig) =
begingroup
save ptop, pbottom;
pair ptop, pbottom;
drawoptions(withcolor drawcolor);
% \end{macrocode}
% horizontale Linie:
% \begin{macrocode}
draw (p--p shifted (2*tickhoehe,0)) transformed T;
% \end{macrocode}
% Messlinie:
% \begin{macrocode}
ptop = p shifted (0,-1.5*tickhoehe) shifted (tickhoehe,0)
transformed T;
% \end{macrocode}
% Die Korrektur der Stiftstärke muss nach der Transformation
% in Zeichenkoordinaten erfolgen.
% \begin{macrocode}
pbottom = p shifted (tickhoehe,0)
transformed T shifted (0,hilfsstrichstaerke);
drawarrow ptop--pbottom;
label.alig(pic, (p shifted (tickhoehe, -1.5*tickhoehe) shifted s)
transformed T);
endgroup
enddef;
def writedescription(expr lang) =
if toaddrhpos < 0 :
istoaddrhpos := paperwidth-abs(toaddrhpos)-toaddrwidth;
else :
istoaddrhpos := toaddrhpos;
fi
if (lang="de"): defdescriptionde;
else: defdescriptionen;
fi
drawoptions(withcolor drawcolor);
% \end{macrocode}
% Kopf und Fuß:
% \begin{macrocode}
label(description[1],
(firstheadhpos+0.5*firstheadwidth, firstheadvpos+0.5*firstheadheight)
transformed T);
label(description[2],
(firstfoothpos+0.5*firstfootwidth, firstfootvpos+0.5*firstfootheight)
transformed T);
% \end{macrocode}
% Adressfeld:
% \begin{macrocode}
label(description[3],
(istoaddrhpos+0.5*toaddrwidth, toaddrvpos+0.5*backaddrheight)
transformed T);
label(description[4],
(istoaddrhpos+toaddrwidth-specialmailrightindent-0.5*specialmailwidth,
toaddrvpos+backaddrheight+0.5*specialmailheight) transformed T);
label(description[5],
(istoaddrhpos+0.5*toaddrwidth,
toaddrvpos+backaddrheight+specialmailheight+0.5*(toaddrheight-backaddrheight-specialmailheight))
transformed T);
% \end{macrocode}
% Absenderergänzung:
% \begin{macrocode}
label(description[13], (lochpos+0.5*locwidth, toaddrvpos+0.5*toaddrheight)
transformed T);
% \end{macrocode}
% Geschäftszeile:
% \begin{macrocode}
label(description[6], (1in+oddsidemargin+0.5*refwidth,
refvpos+0.5*refheight)
transformed T);
% \end{macrocode}
% Titel:
% \begin{macrocode}
label(description[7],
(1in+oddsidemargin+0.5textwidth, titlevpos+0.5*titleheight)
transformed T);
% \end{macrocode}
% Betreff:
% \begin{macrocode}
label(description[8],
(1in+oddsidemargin+0.5*subjectwidth, subjectvpos+0.5*subjectheight)
transformed T);
% \end{macrocode}
% Anrede:
% \begin{macrocode}
label(description[9],
(1in+oddsidemargin+0.5*openingwidth, openingvpos+0.5*openingheight)
transformed T);
% \end{macrocode}
% Brieftext:
% \begin{macrocode}
label(description[10],
(1in+oddsidemargin+0.5*bodywidth, bodyvpos+0.5*bodyheight)
transformed T);
% \end{macrocode}
% Signatur:
% \begin{macrocode}
label(description[11],
(1in+oddsidemargin+sigindent+0.5*sigwidth, sigvpos+0.5*sigheight)
transformed T);
label(description[12],
(1in+oddsidemargin+sigindent+0.5*sigwidth,
sigvpos+sigheight+sigbeforevskip+0.5*sigheight) transformed T);
enddef;
% \end{macrocode}
%</include>
%
% \iffalse
\endinput
%%% Local Variables:
%%% mode: doctex
%%% coding: utf-8
%%% TeX-master: t
%%% End:
% \fi