summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrklco.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-07-20 18:10:03 +0000
committerKarl Berry <karl@freefriends.org>2009-07-20 18:10:03 +0000
commitc085420206defb618b877e4e046024830c6ef8e1 (patch)
tree4871a44a4250285bfd69467785548085cf5ab21e /Master/texmf-dist/source/latex/koma-script/scrklco.dtx
parentd0d80da633ecb4209bb8355828026d5cf5419ea7 (diff)
koma-script update (8jul09)
git-svn-id: svn://tug.org/texlive/trunk@14345 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrklco.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrklco.dtx948
1 files changed, 892 insertions, 56 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrklco.dtx b/Master/texmf-dist/source/latex/koma-script/scrklco.dtx
index 9f7fd86b0bd..8da4396c721 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrklco.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrklco.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{505}
+% \CheckSum{1378}
% \iffalse meta-comment
% ======================================================================
% scrklco.dtx
@@ -58,7 +58,7 @@
%%% From File: scrklco.dtx
%<*driver>
% \fi
-\ProvidesFile{scrklco.dtx}[2009/03/04 v3.03 KOMA-Script (letter class options)]
+\ProvidesFile{scrklco.dtx}[2009/06/30 v3.04 KOMA-Script (letter class options)]
% \iffalse
\documentclass{scrdoc}
\usepackage[english,ngerman]{babel}
@@ -297,14 +297,31 @@
% \fi
%
% Im Kopf ist natürlich die Datei zu deklarieren:
+% \changes{v3.04}{2009/04/21}{neue LCO \texttt{NF} von Jean-Marie Pacquet
+% übernommen und ergänzt}
+% \changes{v3.04}{2009/06/26}{neue LCO \texttt{USletter2w} in Zusammenarbeit
+% mit Engelbert Buxbaum und Richard Ar\`es geschaffen}
+% \changes{v3.04}{2009/06/29}{neue LCO \texttt{UScommercial9DW} für Papier im
+% Format letter oder legal in Umschlägen im Format commercial No.\,9 mit
+% zwei Fenstern}
+% \changes{v3.04}{2009/06/30}{neue LCO \texttt{UScommercial9} für Papier im
+% Format letter oder legal in Umschlägen im Format commercial No.\,9 mit
+% einem Fenster auf Basis von \texttt{http://www.envelopesuperstore.com/}}
+% \changes{v3.04}{2009/06/26}{seit langem existierende LCO \texttt{visualize}
+% zur Visualisierung einiger Pseudolängen aufgenommen}
% \begin{macrocode}
\ProvidesFile{%
+%<visualize> visualize%
%<DIN> DIN%
%<DINmoretext> DINmtext%
%<SN> SN%
%<SNold> SNold%
%<SwissLeft> SNleft%
%<KOMAold> KOMAold%
+%<NF> NF%
+%<USletter2w> USletter2w
+%<UScommercial9> UScommercial9
+%<UScommercial9DW> UScommercial9DW
.lco}[\KOMAScriptVersion\space letter-class-option]
% \end{macrocode}
%
@@ -330,6 +347,7 @@
% \iffalse
%</head>
%<*body>
+%<*!visualize>
% \fi
%
% \subsubsection{Der Hauptteil}
@@ -343,6 +361,10 @@
% KOMAold & mir \\
% SNleft & Roger Luethi \\
% SN & Roger Luethi \\
+% NF & Jean-Marie Pacquet \\
+% USletter2w & Engelbert Buxbaum \\
+% UScommercial9 & mir \\
+% UScommercial9DW & mir \\
% \end{tabular}{ll}
% \end{center}
%
@@ -356,6 +378,10 @@
%<SNold> SNold%
%<SwissLeft> SNleft%
%<KOMAold> KOMAold%
+%<NF> NF%
+%<USletter2w> USletter2w%
+%<UScommercial9> UScommercial9%
+%<UScommercial9DW> UScommercial9DW%
}{%
This letter class option file was made only\MessageBreak
to be used with KOMA-Script letter class\MessageBreak
@@ -367,7 +393,6 @@
%
% Dann wird geprüft, ob das richtige Papierformat vorhanden ist.
% \begin{macrocode}
-%<*DIN|DINmoretext|SN|SNold|SwissLeft|KOMAold>
\LetterOptionNeedsPapersize{%
%<DIN> DIN%
%<DINmoretext> DINmtext%
@@ -375,77 +400,161 @@
%<SNold> SNold%
%<SwissLeft> SNleft%
%<KOMAold> KOMAold%
+%<NF> NF%
+%<USletter2w> USletter2w%
+%<UScommercial9> UScommercial9%
+%<UScommercial9DW> UScommercial9DW%
+%<*DIN|DINmoretext|SN|SNold|SwissLeft|KOMAold|NF>
}{a4}
-%</DIN|DINmoretext|SN|SNold|SwissLeft|KOMAold>
+%</DIN|DINmoretext|SN|SNold|SwissLeft|KOMAold|NF>
+%<*USletter2w|UScommercial9|UScommercial9DW>
+}{letter}
+%</USletter2w|UScommercial9|UScommercial9DW>
% \end{macrocode}
%
% Dann werden die Werte gesetzt.
-% \changes{v2.9u}{2005/03/05}{Der Fuß hat optional eine feste Position 16\,mm
-% über der unteren Papierkante.}
-% \changes{v2.97e}{2007/11/20}{Die neuen Faltmarken werden berücksichtigt.}
-% \changes{v3.03}{2009/03/04}{Bezeichner der Variablen \texttt{fromzipcode}
+% \begin{description}
+% \item[ZIP-Code]
+% \changes{v3.03}{2009/03/04}{Bezeichner der Variablen \texttt{fromzipcode}
% wird gesetzt}
% \begin{macrocode}
-%<DIN|DINmoretext>\setkomavar*{fromzipcode}{D}
-%<SwissLeft|SN>\setkomavar*{fromzipcode}{CH}
+\setkomavar*{fromzipcode}{%
+%<DIN|DINmoretext> D}
+%<SwissLeft|SN> CH}
+%<NF> F}
+%<USletter2w|UScommercial9|UScommercial9DW> US}
+% \end{macrocode}
+% \item[Faltmarken]
+% \changes{v2.97e}{2007/11/20}{Die neuen Faltmarken werden berücksichtigt.}
+% \begin{macrocode}
\@setplength{foldmarkhpos}{3.5mm}
-%<DIN|SwissLeft|SN>\@setplength{tfoldmarkvpos}{105mm}
-%<DINmoretext>\@setplength{tfoldmarkvpos}{87mm}
-%<KOMAold>\@setplength{tfoldmarkvpos}{103.5mm}
+\@setplength{tfoldmarkvpos}{%
+%<DIN|SwissLeft|SN> 105mm}
+%<DINmoretext> 87mm}
+%<KOMAold> 103.5mm}
+%<NF> 99mm}
+%<USletter2w|UScommercial9|UScommercial9DW> 3.75in}
\@setplength{mfoldmarkvpos}{\z@}
-%<DIN|SwissLeft|SN>\@setplength{bfoldmarkvpos}{210mm}
-%<DINmoretext>\@setplength{bfoldmarkvpos}{192mm}
-%<KOMAold>\@setplength{bfoldmarkvpos}{202.5mm}
+\@setplength{bfoldmarkvpos}{%
+%<DIN|SwissLeft|SN> 210mm}
+%<DINmoretext> 192mm}
+%<KOMAold> 202.5mm}
+%<NF> 198mm}
+%<USletter2w> 7.4in}
+%<UScommercial9|UScommercial9DW> 7.375in}
\@setplength{lfoldmarkhpos}{\z@}
-%<DIN|SN>\@setplength{toaddrvpos}{45mm}
-%<DINmoretext>\@setplength{toaddrvpos}{27mm}
-%<SwissLeft>\@setplength{toaddrvpos}{35.5mm}
-%<KOMAold>\@setplength{toaddrvpos}{49mm}
-%<DIN|SN>\@setplength{refvpos}{98.5mm}
-%<DINmoretext>\@setplength{refvpos}{80.5mm}
-%<SwissLeft>\@setplength{refvpos}{89mm}
-%<KOMAold>\@setplength{refvpos}{89.5mm}
-%<!KOMAold>\@setplength{refaftervskip}{\baselineskip}
-%<KOMAold>\@setplength[2]{refaftervskip}{\baselineskip}
-%<DIN|DINmoretext|SwissLeft>\@setplength{toaddrhpos}{20mm}
-%<SN>\@setplength{toaddrhpos}{-8mm}
-%<KOMAold>\@setplength{toaddrhpos}{1in}
+% \end{macrocode}
+% \item[Anschrift]
+% \begin{macrocode}
+\@setplength{toaddrvpos}{%
+%<DIN|SN> 45mm}
+%<DINmoretext> 27mm}
+%<SwissLeft> 35.5mm}
+%<KOMAold> 49mm}
+%<NF> 35mm}
+%<USletter2w> 1.8in}
+%<UScommercial9|UScommercial9DW> 2.1875in}
+\@setplength{toaddrhpos}{%
+%<DIN|DINmoretext|SwissLeft> 20mm}
+%<SN> -8mm}
+%<KOMAold> 1in}
%<KOMAold>\@addtoplength{toaddrhpos}{\oddsidemargin}
-%<DIN|DINmoretext>\@setplength{toaddrwidth}{85mm}
-%<SN>\@setplength{toaddrwidth}{90mm}
-%<SwissLeft>\@setplength{toaddrwidth}{100mm}
-%<KOMAold>\@setplength{toaddrwidth}{70mm}
-%<DIN|DINmoretext|SN|SwissLeft|KOMAold>\@setplength{toaddrheight}{40mm}
-\@setplength{toaddrindent}{\z@}
+%<NF> -10mm}
+%<USletter2w> .73in}
+%<UScommercial9> 0.6875in}
+%<UScommercial9DW> .5625in}
+\@setplength{toaddrwidth}{%
+%<DIN|DINmoretext> 85mm}
+%<SN> 90mm}
+%<SwissLeft|NF> 100mm}
+%<KOMAold> 70mm}
+%<USletter2w> 3.11in}
+%<UScommercial9> 4.5in}
+%<UScommercial9DW> 3.625in}
+% \end{macrocode}
+% \changes{v3.03}{2009/06/25}{Anschriftfeld enthält laut Doku die
+% Rücksendeadresse, also machen wir das jetzt auch so}
+% \begin{macrocode}
+\@setplength{toaddrheight}{%
+%<DIN|DINmoretext|SN|SwissLeft|KOMAold|NF> 45mm}
+%<USletter2w> 1.17in}
+%<UScommercial9|UScommercial9DW> 1.125in}
+\@setplength{toaddrindent}{%
+%<DIN|DINmoretext|SN|SwissLeft|KOMAold|USletter2w|UScommercial9|UScommercial9DW> \z@}
+%<NF> 10mm}
+\@setplength{backaddrheight}{%
+%<DIN|DINmoretext|SN|SwissLeft|KOMAold|NF> 5mm}
+%<USletter2w|UScommercial9|UScommercial9DW> \z@}
+%<USletter2w|UScommercial9|UScommercial9DW>\KOMAoptions{backaddress=false}
\@setplength{specialmailindent}{\fill}
\@setplength{specialmailrightindent}{1em}
-\@setplength{locwidth}{\z@}
-%<DIN|DINmoretext|SN|SwissLeft|KOMAold>\@setplength{backaddrheight}{5mm}
-%<DIN|DINmoretext|SN|SwissLeft>\@setplength{firstheadvpos}{8mm}
-%<KOMAold>\@setplength{firstheadvpos}{6mm}
-%<KOMAold>\@setplength{firstheadwidth}{\textwidth}
-%<*!KOMAold>
-\@setplength{firstheadwidth}{\paperwidth}
+% \end{macrocode}
+% \item[Absenderergänzung]
+% \begin{macrocode}
+\@setplength{locwidth}{%
+%<DIN|DINmoretext|SN|SwissLeft|KOMAold|NF|USletter2w|UScommercial9|UScommercial9DW> \z@}
+% \end{macrocode}
+% \item[Kopf]
+% \begin{macrocode}
+\@setplength{firstheadvpos}{%
+%<DIN|DINmoretext|SN|SwissLeft> 8mm}
+%<KOMAold> 6mm}
+%<NF> 15mm}
+%<USletter2w> .36in}
+%<UScommercial9|UScommercial9DW> .4375in}
+\@setplength{firstheadwidth}{%
+%<KOMAold> \textwidth}
+%<NF> 170mm}
+%<*DIN|DINmoretext|SN|SwissLeft|UScommercial9>
+ \paperwidth}
\ifdim \useplength{toaddrhpos}>\z@
\@addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}}
\else
\@addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}}
\fi
-%</!KOMAold>
+%</DIN|DINmoretext|SN|SwissLeft|UScommercial9>
+%<*USletter2w>
+ \paperwidth}
+\@addtoplength[-]{firstheadwidth}{.68in}
+%</USletter2w>
+%<*UScommercial9DW>
+ \paperwidth}
+\@addtoplength[-]{firstheadwidth}{.25in}
+%</UScommercial9DW>
+% \end{macrocode}
+% \item[Fuß]
+% \changes{v2.9u}{2005/03/05}{Der Fuß hat optional eine feste Position 16\,mm
+% über der unteren Papierkante.}
+% \begin{macrocode}
\@setplength{firstfootwidth}{\useplength{firstheadwidth}}
%<KOMAold>\@setplength{firstfootvpos}{\paperheight}
%<KOMAold>\@addtoplength{firstfootvpos}{-2cm}
-%<!KOMAold>\ifnum \scr@compatibility >\@nameuse{scr@v@2.9t}\relax
-%<!KOMAold> \@setplength{firstfootvpos}{\paperheight}
-%<!KOMAold> \@addtoplength{firstfootvpos}{-16mm}
-%<!KOMAold>\else
-%<!KOMAold> \@setplength{firstfootvpos}{1in}
-%<!KOMAold> \@addtoplength{firstfootvpos}{\topmargin}
-%<!KOMAold> \@addtoplength{firstfootvpos}{\headheight}
-%<!KOMAold> \@addtoplength{firstfootvpos}{\headsep}
-%<!KOMAold> \@addtoplength{firstfootvpos}{\textheight}
-%<!KOMAold> \@addtoplength{firstfootvpos}{\footskip}
-%<!KOMAold>\fi
+%<!KOMAold&!NF>\ifnum \scr@compatibility >\@nameuse{scr@v@2.9t}\relax
+%<!KOMAold&!NF> \@setplength{firstfootvpos}{\paperheight}
+%<!KOMAold&!NF> \@addtoplength{firstfootvpos}{-16mm}
+%<!KOMAold&!NF>\else
+%<!KOMAold&!NF> \@setplength{firstfootvpos}{1in}
+%<!KOMAold&!NF> \@addtoplength{firstfootvpos}{\topmargin}
+%<!KOMAold&!NF> \@addtoplength{firstfootvpos}{\headheight}
+%<!KOMAold&!NF> \@addtoplength{firstfootvpos}{\headsep}
+%<!KOMAold&!NF> \@addtoplength{firstfootvpos}{\textheight}
+%<!KOMAold&!NF> \@addtoplength{firstfootvpos}{\footskip}
+%<!KOMAold&!NF>\fi
+%<NF>\@setplength{firstfootvpos}{266.679mm}
+% \end{macrocode}
+% \item[Geschäftszeile]
+% \begin{macrocode}
+\@setplength{refvpos}{%
+%<DIN|SN> 98.5mm}
+%<DINmoretext> 80.5mm}
+%<SwissLeft> 89mm}
+%<KOMAold> 89.5mm}
+%<NF> \useplength{tfoldmarkvpos}}
+%<USletter2w> 3.1in}
+%<UScommercial9|UScommercial9DW> 3.4375in}
+\@setplength{refaftervskip}{%
+%<!KOMAold> \baselineskip}
+%<KOMAold> 2\baselineskip}
% \end{macrocode}
% Bei der Breite der Geschäftszeile brauchen wir wieder eine Sonderlösung,
% damit die Option "`wide"' auch später noch gesetzt werden kann. Also
@@ -453,10 +562,17 @@
% zu berechnen.
% \begin{macrocode}
\@setplength{refwidth}{0pt}
+% \end{macrocode}
+% \item[Signature]
+% \begin{macrocode}
\@setplength{sigindent}{0mm}
\@setplength{sigbeforevskip}{2\baselineskip}
-%<!KOMAold>\let\raggedsignature=\centering
-%<KOMAold>\let\raggedsignature=\raggedright
+%<DIN|DINmoretext|SN|SwissLeft>\let\raggedsignature=\centering
+%<KOMAold|NF|USletter2w|UScommercial9|UScommercial9DW>\let\raggedsignature=\raggedright
+% \end{macrocode}
+% \end{description}
+% Es folgen ggf. noch zusätzliche Änderungen.
+% \begin{macrocode}
%<*DINmoretext>
\renewcommand*{\@firsthead}{\noindent
\parbox[b]{\useplength{firstheadwidth}}{\centering%
@@ -557,6 +673,726 @@
% \end{macrocode}
%
% \iffalse
+%</!visualize>
+%<*visualize>
+% \fi
+%
+% \subsection{Makros zur Visualisierung diverser Felder in einem Brief}
+%
+% Diese Makros werden nur von \texttt{visualize.lco} verwendet und stellen den
+% Hauptteil dieser LCO dar.
+%
+% Das Paket benötigt \textsf{eso-pic}. Das Paket wird nur dann explizit
+% geladen, wenn dies nicht bereits geschehen ist. Damit ist es möglich das
+% Paket mit Optionen vor der LCO zu laden:
+% \begin{macrocode}
+\@ifpackageloaded{eso-pic}{}{\RequirePackage{eso-pic}}
+% \end{macrocode}
+%
+% \begin{macro}{\showfields}
+% Diese Anweisung erlaubt es, eine Reihe von Felder zu visualisieren. Dazu
+% gibt man die gewünschten Felder als Komma separierte Liste im ersten und
+% einzigen Argument der Anweisung an. Gibt man ein unbekanntes Feld an, so
+% wird nicht etwa ein Fehler, sondern nur eine Warnung ausgegeben. Die
+% Visualisierung erfolgt im Hintergrund. Dies wird mit Hilfe des Pakets
+% \textsf{eso-pic} erreicht. Wichtig ist noch, dass die Anweisung nicht
+% zurückgenommen werden kann.
+% \begin{macrocode}
+\newcommand*{\showfields}[1]{%
+ \AtBeginLetter{%
+ \begingroup
+ \@for \@tempa:=#1\do{%
+ \ifx\@tempa\@empty\else
+ \@ifundefined{showfield@\@tempa}{%
+ \LCOWarning{visualize}{Unknown field `\@tempa' ignored}%
+ }{%
+ \edef\@tempa{%
+ \noexpand\AddToShipoutPicture*{%
+ \noexpand\AtPageUpperLeft{%
+ \noexpand\usekomafont{field}%
+ \noexpand\@nameuse{showfield@\@tempa}%
+ }%
+ }%
+ }\@tempa
+ }%
+ \fi
+ }%
+ \endgroup
+ }%
+}
+% \end{macrocode}
+% \begin{KOMAfont}{field}
+% Die Visualisierung erfolgt dabei in einer wählbaren Farbe, die über das
+% Element \cs{field} definiert ist. Voreingestellt ist dabei
+% \cs{normalcolor}.
+% \begin{macrocode}
+\newkomafont{field}{\normalcolor}
+% \end{macrocode}
+% \end{KOMAfont}
+% \end{macro}
+%
+% \begin{macro}{\showfield}
+% Die Visualisierung der einzelnen Felder erfolgt über eigene Anweisungen des
+% Aufbaus \cs{showfield@\emph{Feldname}}. In der Regel sind die Felder
+% rechteckig. Zur Visualisierung solcher Felder können daher einheitliche
+% Anweisungen verwendet werden. Diese besitzen vier Argumente:
+% \begin{enumerate}
+% \item Abstand vom linken Rand (x-Koordinate des Rahmens)
+% \item Abstand vom oberen Rand (y-Koordinate des Rahmens)
+% \item Breite des Feldes
+% \item Höhe des Feldes; ist dieser Wert negativ gibt es keine feste Höhe,
+% sondern nur eine Art unbestimmte Ausdehnung mit einer Mindesthöhe
+% \end{enumerate}
+%
+% \begin{macro}{\showfield@by@frame}
+% Diese Anweisung visualisiert ein rechteckiges Feld durch Rahmen. Bei einer
+% negativen Höhe wird ein unten offener Rahmen gezeichnet, bei dem die
+% vertikalen Linien als Pfeile nach unten ausgeführt werden.
+% \begin{macrocode}
+\newcommand*{\showfield@by@frame}[4]{%
+ \thinlines
+ \ifdim #4<\z@
+ \put(\LenToUnit{#1},-\LenToUnit{#2}){\line(1,0){\LenToUnit{#3}}}%
+ \setlength{\@tempdima}{\dimexpr #1+#3\relax}%
+ \setlength{\@tempdimb}{#4}
+ \put(\LenToUnit{#1},-\LenToUnit{#2}){%
+ \vector(0,-1){\LenToUnit{-\@tempdimb}}}%
+ \put(\LenToUnit\@tempdima,-\LenToUnit{#2}){%
+ \vector(0,-1){\LenToUnit{-\@tempdimb}}}%
+ \else
+ \put(\LenToUnit{#1},-\LenToUnit{#2}){\line(1,0){\LenToUnit{#3}}}%
+ \put(\LenToUnit{#1},-\LenToUnit{#2}){\line(0,-1){\LenToUnit{#4}}}%
+ \setlength{\@tempdima}{\dimexpr #1+#3\relax}%
+ \setlength{\@tempdimb}{\dimexpr #2+#4\relax}%
+ \put(\LenToUnit\@tempdima,\LenToUnit{-\@tempdimb}){%
+ \line(-1,0){\LenToUnit{#3}}}%
+ \put(\LenToUnit\@tempdima,\LenToUnit{-\@tempdimb}){%
+ \line(0,1){\LenToUnit{#4}}}%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\showfield@by@edges}
+% Diese Anweisung visualisert ein rechteckiges Feld, indem es die Ecken des
+% Feldes durch kleine Striche markiert. Bei negativer Höhe entfallen die
+% unteren Eckmarkierungen.
+% \begin{macrocode}
+\newcommand*{\showfield@by@edges}[4]{%
+ \thinlines
+ \setlength{\@tempdima}{\dimexpr #1+#3\relax}%
+ \put(\LenToUnit{#1},-\LenToUnit{#2}){\line(1,0){\LenToUnit{\edgesize}}}%
+ \put(\LenToUnit{#1},-\LenToUnit{#2}){\line(0,-1){\LenToUnit{\edgesize}}}%
+ \put(\LenToUnit{\@tempdima},-\LenToUnit{#2}){\line(-1,0){\LenToUnit{\edgesize}}}%
+ \put(\LenToUnit{\@tempdima},-\LenToUnit{#2}){\line(0,-1){\LenToUnit{\edgesize}}}%
+ \ifdim #4<\z@\else
+ \setlength{\@tempdimb}{\dimexpr #2+#4\relax}%
+ \put(\LenToUnit{#1},-\LenToUnit{\@tempdimb}){\line(1,0){\LenToUnit{\edgesize}}}%
+ \put(\LenToUnit{#1},-\LenToUnit{\@tempdimb}){\line(0,1){\LenToUnit{\edgesize}}}%
+ \put(\LenToUnit{\@tempdima},-\LenToUnit{\@tempdimb}){\line(-1,0){\LenToUnit{\edgesize}}}%
+ \put(\LenToUnit{\@tempdima},-\LenToUnit{\@tempdimb}){\line(0,1){\LenToUnit{\edgesize}}}%
+ \fi
+}
+% \end{macrocode}
+% \begin{macro}{\edgesize}
+% Die Länge der Ecklinien wird über dieses Makro bestimmt. Voreingestellt ist
+% 1\,ex.
+% \begin{macrocode}
+\newcommand*{\edgesize}{1ex}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\showfield@by@rule}
+% Diese Anweisung visualisiert ein rechteckiges Feld, indem es das komplette
+% Feld einfärbt. Es wird hier nicht zwischen unten offenen und geschlossenen
+% Feldern unterschieden.
+% \begin{macrocode}
+\newcommand*{\showfield@by@rule}[4]{%
+ \ifdim #4<\z@
+ \put(\LenToUnit{#1},-\LenToUnit{#2}){\rule[#4]{#3}{-#4}}%
+ \else
+ \put(\LenToUnit{#1},-\LenToUnit{#2}){\rule[-#4]{#3}{#4}}%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Die Voreinstellung für die Visualsierung ist mit Rahmen:
+% \begin{macrocode}
+\newcommand*{\showfield}{}
+\let\showfield\showfield@by@frame
+% \end{macrocode}
+%
+% \begin{macro}{\setshowstyle}
+% Dieser Stil der Visualisierung kann per Anweisung umgeschaltet
+% werden. Existiert ein Stil nicht, so wird kein Fehler gemldet, sondern
+% lediglich eine Warnung und der Standardstil verwendet:
+% \begin{macrocode}
+\newcommand*{\setshowstyle}[1]{%
+ \@ifundefined{showfield@by@#1}{%
+ \LCOWarning{visualize}{Unknown show type `#1'.\MessageBreak
+ You should simply set one of the supported\MessageBreak
+ show types `frame', `edge', `rule'.\MessageBreak
+ Style `frame' will be used instead}%
+ \let\showfield\showfield@by@frame
+ }{%
+ \expandafter\let\expandafter\showfield\csname showfield@by@#1\endcsname
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% Die folgenden Felder werden derzeit unterstützt:
+% \begin{macro}{\showfield@test}
+% ein Testfeld \texttt{test} mit den Koordinaten:
+% $(1\,\mathrm{cm},1\,\mathrm{cm})\times(10\,\mathrm{cm},15\,\mathrm{cm})$
+% \begin{macrocode}
+\newcommand*{\showfield@test}{%
+ \showfield{1cm}{1cm}{10cm}{15cm}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\showfield@head}
+% das Feld \texttt{head} für den Kopfbereich des Briefbogens:
+% \begin{macrocode}
+\newcommand*{\showfield@head}{%
+ \showfield{\dimexpr (\paperwidth-\useplength{firstheadwidth})/2\relax}%
+ {\useplength{firstheadvpos}}%
+ {\useplength{firstheadwidth}}%
+ {-\headheight}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\showfield@foot}
+% das Feld \texttt{foot} für den Fußbereich des Briefbogens:
+% \begin{macrocode}
+\newcommand*{\showfield@foot}{%
+ \showfield{\dimexpr (\paperwidth-\useplength{firstfootwidth})/2\relax}%
+ {\useplength{firstfootvpos}}%
+ {\useplength{firstfootwidth}}%
+ {-\baselineskip}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\showfield@address}
+% das Feld \texttt{address} für das Feld mit der Anschrift:
+% \begin{macrocode}
+\newcommand*{\showfield@address}{%
+ \setlengthtoplength{\@tempskipa}{toaddrhpos}%
+ \ifdim \@tempskipa<\z@
+ \addtolength{\@tempskipa}{\paperwidth}%
+ \addtolengthplength[-]{\@tempskipa}{toaddrwidth}%
+ \fi
+ \showfield{\@tempskipa}{\useplength{toaddrvpos}}%
+ {\useplength{toaddrwidth}}%
+ {\dimexpr\useplength{toaddrheight}+
+ \useplength{backaddrheight}\relax}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\showfield@location}
+% das Feld \texttt{location} mit der Absenderergänzung:
+% \begin{macrocode}
+\newcommand*{\showfield@location}{%
+ \begingroup
+ \ifdim \useplength{locwidth}=\z@%
+ \@setplength{locwidth}{\paperwidth}%
+ \ifdim \useplength{toaddrhpos}>\z@
+ \@addtoplength[-2]{locwidth}{\useplength{toaddrhpos}}%
+ \else
+ \@addtoplength[2]{locwidth}{\useplength{toaddrhpos}}%
+ \fi
+ \@addtoplength[-1]{locwidth}{\useplength{toaddrwidth}}%
+ \if@bigloc%
+ \@setplength[.66667]{locwidth}{\useplength{locwidth}}%
+ \else%
+ \@setplength[.5]{locwidth}{\useplength{locwidth}}%
+ \fi%
+ \fi%
+ \ifdim \useplength{lochpos}=\z@%
+ \@setplength{lochpos}{\useplength{toaddrhpos}}%
+ \fi
+ \ifdim \useplength{locvpos}=\z@%
+ \@setplength{locvpos}{\useplength{toaddrvpos}}%
+ \fi
+ \ifdim \useplength{locheight}=\z@%
+ \@setplength{locheight}{\useplength{toaddrheight}}%
+ \@addtoplength{locheight}{\useplength{backaddrheight}}%
+ \fi
+ \setlengthtoplength[-]{\@tempskipa}{lochpos}%
+ \ifdim \@tempskipa<\z@
+ \addtolength{\@tempskipa}{\paperwidth}%
+ \else
+ \addtolengthplength{\@tempskipa}{locwidth}%
+ \fi
+ \addtolengthplength[-]{\@tempskipa}{locwidth}%
+ \showfield{\@tempskipa}{\useplength{locvpos}}%
+ {\useplength{locwidth}}{\useplength{locheight}}%
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\showfield@refline}
+% das Feld mit der Geschäftszeile:
+% \begin{macrocode}
+\newcommand*{\showfield@refline}{%
+ \begingroup
+ \ifdim\useplength{refwidth}=\z@
+ \if@refwide
+ \@setplength{refwidth}{\paperwidth}%
+ \ifdim \useplength{toaddrhpos}>\z@
+ \@setplength{refhpos}{\useplength{toaddrhpos}}%
+ \else
+ \@setplength[-]{refhpos}{\useplength{toaddrhpos}}%
+ \fi
+ \@addtoplength[-2]{refwidth}{\useplength{refhpos}}%
+ \else
+ \@setplength{refwidth}{\textwidth}%
+ \@setplength{refhpos}{\oddsidemargin}%
+ \@addtoplength{refhpos}{1in}%
+ \fi
+ \else\ifdim\useplength{refhpos}=\z@
+ \begingroup
+ \setlength\@tempdima{\textwidth}%
+ \addtolengthplength[-]{\@tempdima}{refwidth}%
+ \setlength\@tempdimb{\oddsidemargin}%
+ \addtolength\@tempdimb{1in}%
+ \setlength{\@tempdimc}{\paperwidth}%
+ \addtolength{\@tempdimc}{-\textwidth}%
+ \divide\@tempdimb by 32768\relax
+ \divide\@tempdimc by 32768\relax
+ \ifdim\@tempdimc=\z@\else
+ \multiply\@tempdima by\@tempdimb
+ \divide\@tempdima by\@tempdimc
+ \fi
+ \edef\@tempa{\noexpand\endgroup
+ \noexpand\@setplength{refhpos}{\the\@tempdima}}%
+ \@tempa
+ \fi\fi
+ \showfield{\useplength{refhpos}}{\useplength{refvpos}}%
+ {\useplength{refwidth}}{-1.5\baselineskip}%
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\showenvelope}
+% \begin{macro}{\@showenvelope}
+% \begin{macro}{\@@showenvelope}
+% \begin{macro}{\@@@showenvelope}
+% Es kann auch ein Briefumschlag angezeigt werden. Dazu müssen verschiedene
+% Parameter des Umschlags bekannt sein. Der Umschlag wird immer hochkant auf
+% der aktuellen Seite angezeigt. Hierfür wird das Paket \textsf{graphicx}
+% benötigt. Das Paket wird nur dann explizit geladen, wenn dies nicht bereits
+% geschehen ist. Damit ist es möglich das Paket mit Optionen vor der LCO zu
+% laden.
+% \begin{macrocode}
+\@ifpackageloaded{graphicx}{}{\RequirePackage{graphicx}}
+\newcommand*{\showenvelope}{}
+\newcommand*{\@@showenvelope}{}
+\newcommand*{\@@@showenvelope}{}
+\def\showenvelope(#1,#2){%
+ \@ifnextchar (%)
+ {\@showenvelope({#1},{#2})}%
+ {\@@@showenvelope({#1},{#2})}%
+}
+\def\@@@showenvelope(#1,#2){%
+ \begingroup
+ \def\@tempa{\endgroup}%
+ \ifdim \paperwidth>#1\relax
+ \LCOWarning{visualize}{%
+ \string\paperwidth\space > envelope width not supported}%
+ \else
+ \ifdim \paperheight>#2\relax
+ \ifdim .5\paperheight>#2\relax
+ \expandafter\ifdim \useplength{tfoldmarkvpos}>#2\relax
+ \LCOWarning{visualize}{%
+ tfoldmarkvpos > envelope height not supported}%
+ \else
+ \def\@tempa{\endgroup
+ \@showenvelope({#1},{#2})%
+ ({\dimexpr (#1-\paperwidth)/2\relax},%
+ {\dimexpr (#2-\expandafter\dimexpr
+ \useplength{tfoldmarkvpos}\relax)%
+ /2\relax})%
+ }%
+ \fi
+ \else
+ \def\@tempa{\endgroup
+ \@showenvelope({#1},{#2})%
+ ({\dimexpr (#1-\paperwidth)/2\relax},%
+ {\dimexpr (#2-.5\paperheight)/2\relax})%
+ }%
+ \fi
+ \else
+ \def\@tempa{\endgroup
+ \@showenvelope({#1},{#2})%
+ ({\dimexpr (#1-\paperwidth)/2\relax},%
+ {\dimexpr (#2-\paperheight)/2\relax})%
+ }%
+ \fi
+ \fi
+ \@tempa
+}
+\def\@showenvelope(#1,#2)(#3,#4){%
+ \@ifnextchar [%]
+ {\@@showenvelope({#1},{#2})({#3},{#4})}%
+ {\@@showenvelope({#1},{#2})({#3},{#4})[]}%
+}
+\def\@@showenvelope(#1,#2)(#3,#4)[#5]{%
+% \end{macrocode}
+% Die Argumente sind:
+% \begin{enumerate}
+% \item Breite des Umschlags,
+% \item Höhe des Umschlags,
+% \item Abstand des Briefbogens vom linken und rechten Rand des Umschlags,
+% \item Abstand des Briefbogens vom oberen und unteren Rand des Umschlags,
+% \item optionale weitere Anweisungen, zum Setzen von Elementen.
+% \end{enumerate}
+% \begin{macrocode}
+ \newpage
+ \vspace*{\fill}
+ \rotatebox{90}{%
+ \begin{picture}(0,0)
+ \begin{picture}(\LenToUnit{#1},\LenToUnit{#2})(0,\LenToUnit{#2})
+ \newcommand*{\PlusHOffset}[1]{%
+ \dimexpr \expandafter\dimexpr ##1\relax + #3\relax
+ }%
+ \newcommand*{\MinusHOffset}[1]{%
+ \dimexpr \expandafter\dimexpr ##1\relax - #3\relax
+ }%
+ \newcommand*{\PlusVOffset}[1]{%
+ \dimexpr \expandafter\dimexpr ##1\relax + #4\relax
+ }%
+ \newcommand*{\MinusVOffset}[1]{%
+ \dimexpr \expandafter\dimexpr ##1\relax - #4\relax
+ }%
+ \newcommand{\AtEnvelopeUpperLeft}[1]{%
+ \put(\LenToUnit{\PlusHOffset\z@},\LenToUnit{\MinusVOffset{#2}}){##1}%
+ }%
+ \newcommand{\AtEnvelopeLowerLeft}[1]{%
+ \put(\LenToUnit{\PlusHOffset\z@},\LenToUnit{\PlusVOffset\z@}){##1}%
+ }%
+ \newcommand{\AtEnvelopeUpperRight}[1]{%
+ \put(\LenToUnit{\MinusHOffset{#1}},\LenToUnit{\MinusVOffset{#2}}){##1}%
+ }%
+ \newcommand{\AtEnvelopeLowerRight}[1]{%
+ \put(\LenToUnit{\MinusHOffset{#1}},\LenToUnit{\PlusVOffset\z@}){##1}%
+ }%
+ \newcommand*{\measuredIFrame}{}%
+ \def\measuredIFrame(##1,##2)(##3,##4){%
+ \put(\LenToUnit{##1},\LenToUnit{##2}){%
+ \measuredFrameLB({##3},{##4})%
+ }%
+ \put(\LenToUnit{\MinusHOffset\z@},%
+ \LenToUnit{\dimexpr ##2-.5mm\relax}){%
+ \measureLineHB{\PlusHOffset{##1}}%
+ }%
+ \put(\LenToUnit{\dimexpr ##1+##3\relax},%
+ \LenToUnit{\dimexpr ##2-.5mm\relax}){%
+ \measureLineHB{\dimexpr #1-%
+ \PlusHOffset{\dimexpr ##1+##3\relax}\relax}%
+ }%
+ \put(\LenToUnit{\dimexpr ##1-.5mm\relax},%
+ \LenToUnit{\dimexpr ##2+##4\relax}){%
+ \measureLineVL{\PlusVOffset{\dimexpr -##2-##4\relax}}%
+ }%
+ \put(\LenToUnit{\dimexpr ##1-.5mm\relax},%
+ \LenToUnit{\PlusVOffset{-#2}}){%
+ \measureLineVL{\dimexpr #2-%
+ \PlusVOffset{\dimexpr -##2\relax}\relax}%
+ }%
+ }%
+ \put(0,0){%
+ \thicklines
+ \usekomafont{envelope}%
+ \measuredFrameLB({#1},{#2})%
+ }%
+ \AtEnvelopeLowerLeft{%
+ \usekomafont{letter}%
+ \dashbox{\LenToUnit{1mm}}%
+ (\LenToUnit{\MinusHOffset{\MinusHOffset{#1}}},%
+ \LenToUnit{\MinusVOffset{\MinusVOffset{#2}}}){}%
+ }%
+ \expandafter\ifdim \useplength{toaddrhpos}<\z@
+ \AtEnvelopeUpperLeft{%
+ \thicklines
+ \usekomafont{envelope}%
+ \measuredIFrame(\expandafter\dimexpr \useplength{toaddrhpos}+
+ \MinusHOffset{\MinusHOffset{#1}}\relax,%
+ -\dimexpr %
+ \expandafter\dimexpr\useplength{toaddrvpos}\relax
+ +
+ \expandafter
+ \dimexpr\useplength{toaddrheight}\relax
+ \relax)%
+ (\useplength{toaddrwidth},\useplength{toaddrheight})%
+ }%
+ \else
+ \AtEnvelopeUpperLeft{%
+ \thicklines
+ \usekomafont{envelope}%
+ \measuredIFrame(\useplength{toaddrhpos},%
+ -\dimexpr %
+ \expandafter\dimexpr\useplength{toaddrvpos}\relax
+ +
+ \expandafter
+ \dimexpr\useplength{toaddrheight}\relax
+ \relax)%
+ (\useplength{toaddrwidth},\useplength{toaddrheight})%
+ }%
+ \fi
+ \AtEnvelopeUpperLeft{#5}%
+ \end{picture}
+ \end{picture}
+ }%
+ \newpage
+}
+% \end{macrocode}
+% \begin{KOMAfont}{envelope}
+% Farbe des Umschlagrahmens.
+% \begin{macrocode}
+\newkomafont{envelope}{\normalcolor}
+% \end{macrocode}
+% \end{KOMAfont}
+% \begin{KOMAfont}{letter}
+% Farbe des getrichelten Briefbogens im Umschlag
+\newkomafont{letter}{\normalcolor}
+% \end{KOMAfont}
+% \begin{macro}{\unmeasuredFrame}
+% Ein Rahmen ohne Maßlinien.
+% \begin{macrocode}
+\newcommand*{\unmeasuredFrame}{}
+\def\unmeasuredFrame(#1,#2){%
+ \put(0,0){\line(1,0){\LenToUnit{#1}}}%
+ \put(\LenToUnit{#1},0){\line(0,1){\LenToUnit{#2}}}%
+ \put(\LenToUnit{#1},\LenToUnit{#2}){\line(-1,0){\LenToUnit{#1}}}%
+ \put(0,\LenToUnit{#2}){\line(0,-1){\LenToUnit{#2}}}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\measuredFrameLB}
+% \begin{macro}{\measuredFrameLT}
+% \begin{macro}{\measuredFrameRB}
+% \begin{macro}{\measuredFrameRT}
+% Die Maßlinien für ein Rechteck.
+% \begin{macrocode}
+\newcommand*{\measuredFrameLB}{}
+\def\measuredFrameLB(#1,#2){%
+ \unmeasuredFrame({#1},{#2})%
+ \put(\LenToUnit{-.5mm},0){\measureLineVL{#2}}%
+ \put(0,\LenToUnit{-.5mm}){\measureLineHB{#1}}%
+}
+\newcommand*{\measuredFrameLT}{}
+\def\measuredFrameLT(#1,#2){%
+ \unmeasuredFrame({#1},{#2})%
+ \put(\LenToUnit{-.5mm},0){\measureLineVL{#2}}%
+ \put(0,\LenToUnit{\expandafter\dimexpr #2+.5mm\relax}){\measureLineHT{#1}}%
+}
+\newcommand*{\measuredFrameRB}{}
+\def\measuredFrameRB(#1,#2){%
+ \unmeasuredFrame({#1},{#2})%
+ \put(\LenToUnit{\expandafter\dimexpr #1+.5mm\relax},0){\measureLineVR{#2}}%
+ \put(0,\LenToUnit{-.5mm}){\measureLineHB{#1}}%
+}
+\newcommand*{\measuredFrameRT}{}
+\def\measuredFrameRT(#1,#2){%
+ \unmeasuredFrame({#1},{#2})%
+ \put(\LenToUnit{\expandafter\dimexpr #1+.5mm\relax},0){\measureLineVR{#2}}%
+ \put(0,\LenToUnit{\expandafter\dimexpr #2+.5mm\relax}){\measureLineHT{#1}}%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\measureLineV}
+% Vertikale Maßlinie ohne Beschriftung:
+% \begin{macrocode}
+\newcommand*{\measureLineV}[1]{%
+ \begin{picture}(0,0)
+ \thinlines
+ \usekomafont{measure}%
+ \put(0,0){\vector(0,1){\LenToUnit{#1}}}%
+ \put(0,\LenToUnit{#1}){\vector(0,-1){\LenToUnit{#1}}}%
+ \end{picture}
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\measureLineVL}
+% \begin{macro}{\measureLineVR}
+% Vertikale Maßlinie mit Beschriftung links bzw. rechts.
+% \begin{macrocode}
+\newcommand*{\measureLineVL}[1]{%
+ \begin{picture}(0,0)
+ \usekomafont{measure}%
+ \put(0,0){\measureLineV{#1}}%
+ \put(0,0){\makebox(0,\LenToUnit{#1})[r]{\ValPerUnit{#1}}}%
+ \end{picture}
+}
+\newcommand*{\measureLineVR}[1]{%
+ \begin{picture}(0,0)
+ \usekomafont{measure}%
+ \put(0,0){\measureLineV{#1}}%
+ \put(0,0){\makebox(0,\LenToUnit{#1})[l]{\ValPerUnit{#1}}}%
+ \end{picture}
+}
+% \end{macrocode}
+% \begin{macro}{\ValPerUnit}
+% \begin{macro}{\unitfactor}
+% Zeige die Längen in \cs{unitlength} mit einer Genauigkeit von
+% 1/\cs{unitfactor} an.
+% \begin{macrocode}
+\newcommand*{\ValPerUnit}[1]{%
+ \begingroup
+ \setlength{\@tempdima}{%
+ \dimexpr #1/(\unitlength/\unitfactor)*\p@/\unitfactor\relax
+ }%
+ \strip@pt\@tempdima
+ \endgroup
+}
+\newcommand*{\unitfactor}{1}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\measureLineH}
+% Horizontale Maßlinie ohne Beschriftung:
+% \begin{macrocode}
+\newcommand*{\measureLineH}[1]{%
+ \begin{picture}(0,0)
+ \usekomafont{measure}%
+ \put(0,0){\vector(1,0){\LenToUnit{#1}}}%
+ \put(\LenToUnit{#1},0){\vector(-1,0){\LenToUnit{#1}}}%
+ \end{picture}
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\measureLineHB}
+% \begin{macro}{\measureLineHT}
+% Horizontale Maßlinie mit Beschriftung darunter bzw. oben.
+% \begin{macrocode}
+\newcommand*{\measureLineHB}[1]{%
+ \begin{picture}(0,0)
+ \usekomafont{measure}%
+ \put(0,0){\measureLineH{#1}}%
+ \put(0,\LenToUnit{\dimexpr -\ht\strutbox-.5mm\relax}){%
+ \makebox(\LenToUnit{#1},\LenToUnit{\baselineskip})[c]{\ValPerUnit{#1}}}%
+ \end{picture}
+}
+\newcommand*{\measureLineHT}[1]{%
+ \begin{picture}(0,0)
+ \usekomafont{measure}%
+ \put(0,0){\measureLineH{#1}}%
+ \put(0,0){%
+ \makebox(\LenToUnit{#1},\LenToUnit{\baselineskip})[c]{\ValPerUnit{#1}}}%
+ \end{picture}
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{KOMAfont}{measure}
+% Farbe der Maßlinien.
+% \begin{macrocode}
+\newkomafont{measure}{\normalcolor}
+% \end{macrocode}
+% \end{KOMAfont}
+% \end{macro}
+%
+% \begin{macro}{\showISOenvelope}
+% Zeigt einen DIN/ISO C4, C5, DL=C5/6, C6/5 Umschlag.
+% \begin{macrocode}
+\newcommand*{\showISOenvelope}[1]{%
+ \ifstr{#1}{C4}{%
+ \showenvelope(324mm,229mm)%
+ }{%
+ \ifstr{#1}{C5}{%
+ \showenvelope(229mm,162mm)%
+ }{%
+ \ifstr{#1}{C5/6}{%
+ \showenvelope(220mm,110mm)%
+ }{%
+ \ifstr{#1}{DL}{%
+ \showenvelope(220mm,110mm)%
+ }{%
+ \ifstr{#1}{C6/5}{%
+ \showenvelope(229mm,114mm)%
+ }{%
+ \ifstr{#1}{C6}{%
+ \showenvelope(162mm,114mm)%
+ }{%
+ \LCOWarning{visualize}{envelope size `ISO #1' unsupported}%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\showUScommercial}
+% Zeige ein US commercial Umschlag der Nummer 9 und 10
+% \begin{macrocode}
+\newcommand*{\showUScommercial}[1]{%
+ \ifstr{#1}{9}{%
+ \showenvelope(8.875in,3.875in)%
+ }{%
+ \ifstr{#1}{10}{%
+ \showenvelope(9.5in,4.125in)%
+ }{%
+ \LCOWarning{visualize}{envelope size `US commercial #1' unsupported}%
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\showUScheck}
+% Zeige einen US check Umschag.
+% \begin{macrocode}
+\newcommand*{\showUScheck}{%
+ \showenvelope(8.625in,3.625in)%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \iffalse
+%</visualize>
+%<*!visualize>
+% \fi
+%
+% \begin{macro}{\showUSletterCixDW}
+% Ein Umschlag im Format commercial No. 9 mit 2 Fenstern,
+% Absenderfenster $3\frac{1}{2}\,\mathrm{in}\times\frac{7}{8}\,\mathrm{in}$,
+% $\frac{5}{16}\,\mathrm{in}$ von links und $2\frac{1}{2}\,\mathrm{in}$ von
+% unten.
+% \begin{macrocode}
+%<*UScommercial9DW>
+\newcommand*{\showUSletterCixDW}{%
+ \showUScommercial9[{%
+ \thicklines
+ \usekomafont{envelope}%
+ \measuredIFrame({\dimexpr (\paperwidth-
+ \expandafter\dimexpr \useplength{firstheadwidth}\relax%
+ )/2\relax},%
+ -\expandafter\dimexpr\useplength{firstheadvpos}\relax)%
+ (3.5in,.875in)%
+ }]%
+}
+%</UScommercial9DW>
+% \end{macrocode}
+% \end{macro}
+%
+% \iffalse
+%</!visualize>
%</body>
%</lco>
% \fi