summaryrefslogtreecommitdiff
path: root/info/german/stammtisch/wuppertal
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/german/stammtisch/wuppertal
Initial commit
Diffstat (limited to 'info/german/stammtisch/wuppertal')
-rw-r--r--info/german/stammtisch/wuppertal/1992/jahrb92.txt2
-rw-r--r--info/german/stammtisch/wuppertal/1993/disk1/label.tex47
-rw-r--r--info/german/stammtisch/wuppertal/1993/disk1/wstammtk.tex137
-rw-r--r--info/german/stammtisch/wuppertal/README114
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/00index4
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/dvis/astro.dvibin0 -> 2844 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/dvis/chemtex.dvibin0 -> 4436 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/dvis/dinbrief.dvibin0 -> 2828 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/dvis/flow.dvibin0 -> 6584 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/dvis/liste.dvibin0 -> 5084 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/dvis/longtabl.dvibin0 -> 2324 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/dvis/nassi.dvibin0 -> 4380 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/dvis/sb.dvibin0 -> 3256 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/dvis/strukto.dvibin0 -> 3104 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/dvis/titel.dvibin0 -> 688 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/dvis/tkonto.dvibin0 -> 5876 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/makros/baum.sty121
l---------info/german/stammtisch/wuppertal/stybesch/makros/german.MISSING1
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/makros/sbmakro.tex383
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/pk/240x216/mag____0.790/astrosym.pkbin0 -> 5500 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/pk/240x216/mag____2.488/cmssbx10.pkbin0 -> 9256 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/pk/300/mag____0.790/astrosym.pkbin0 -> 7420 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/pk/300/mag____2.488/cmssbx10.pkbin0 -> 13448 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/pk/360/mag____0.790/astrosym.pkbin0 -> 9360 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/pk/360/mag____2.488/cmssbx10.pkbin0 -> 17068 bytes
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/sbfiles/dinbrief.sb130
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/sbfiles/maske108
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/sbfiles/sb.sb126
-rw-r--r--info/german/stammtisch/wuppertal/stybesch/tfm/astrosym.tfmbin0 -> 1172 bytes
-rw-r--r--info/german/stammtisch/wuppertal/updates/konstruk.sty1366
-rw-r--r--info/german/stammtisch/wuppertal/updates/pictex.sty10
31 files changed, 2549 insertions, 0 deletions
diff --git a/info/german/stammtisch/wuppertal/1992/jahrb92.txt b/info/german/stammtisch/wuppertal/1992/jahrb92.txt
new file mode 100644
index 0000000000..a7033b58f0
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/1992/jahrb92.txt
@@ -0,0 +1,2 @@
+Das Jahrbuch 1992 ist in 1993 enthalten!
+
diff --git a/info/german/stammtisch/wuppertal/1993/disk1/label.tex b/info/german/stammtisch/wuppertal/1993/disk1/label.tex
new file mode 100644
index 0000000000..b75322500f
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/1993/disk1/label.tex
@@ -0,0 +1,47 @@
+\NeedsTeXFormat{LaTeX2e}
+
+\documentclass{article}
+
+\usepackage{konstruk}
+
+\FreeStyle
+ Oben <3mm>
+ Unten <0mm>
+ Bund <-1.5mm>
+ Aussen <0mm>
+ Kopfzeile Abstand <0mm>
+ Hoehe <0mm>
+ Text {\hfil} /
+ Fusszeile Abstand <0mm>
+ Text {\hfil} /
+ /
+
+\raggedright\raggedbottom
+\parindent=0pt
+
+\def\Label#1{\mbox{\hbox to 70mm{\hss\vbox to 41mm{\vglue 2mm
+ \hsize=70mm\normalbaselines
+ \large\vfill\centering
+ Wuppertaler\\
+ DANTE-\TeX-Stammtisch\\[4mm]
+ Diskette #1
+ \vfill}\hss}}\kern0pt\penalty0\ignorespaces}%
+
+\newcount\numb
+
+\begin{document}
+\offinterlineskip
+\numb=0
+\loop
+\ifnum\numb<21
+ \Label1
+ \advance\numb by 1
+\repeat
+\numb=0
+\loop
+\ifnum\numb<21
+ \Label2
+ \advance\numb by 1
+\repeat
+\end{document}
+
diff --git a/info/german/stammtisch/wuppertal/1993/disk1/wstammtk.tex b/info/german/stammtisch/wuppertal/1993/disk1/wstammtk.tex
new file mode 100644
index 0000000000..076800ca20
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/1993/disk1/wstammtk.tex
@@ -0,0 +1,137 @@
+\NeedsTeXFormat{LaTeX2e}
+
+\documentclass[a5paper]{article}
+
+\renewcommand\encodingdefault{T1}
+\usepackage{german3}
+
+\setlength\textwidth{120mm}
+\setlength\textheight{168mm}
+
+\setlength\parindent{0pt}
+\setlength\parskip{1.5ex}
+
+\title{Der \TeX-Stammtisch in Wuppertal}
+\author{Andreas Schrell}
+
+\newcommand\DeV{DANTE~e.\kern.1emV.}
+
+\ifx\MF\undefined
+ \newfont\manualfont{logo10}
+ \def\MF{{\manualfont META}\-{\manualfont FONT}}
+\fi
+\ifx\PiCTeX\undefined
+ \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC}
+ \def\PiCTeX{\PiC\kern-.11em\TeX}
+\fi
+
+\begin{document}
+
+\maketitle
+
+Nun gibt es ihn schon l"anger als ein Jahr, und --- abgesehen von der
+Liste am Ende der \TeX nischen Kom"odie --- f"uhrte er immer ein stilles
+Dasein. Die Rede ist vom Wuppertaler \TeX-Stammtisch. Die Idee zu dessen
+Gr"undung erhielt ich nat"urlich durch die \TeX nische Kom"odie, weitere
+Anst"o"se ergaben sich daraus, da"s ich in der Uni oft um Rat gefragt
+werde, wenn es um \TeX\ Probleme geht. So entschlo"s ich mich zur
+Initiierung des Wuppertaler \TeX-Stammtischs.
+
+Im Mai 1992 begannen die ersten Vorbereitungen: Absprache mit \DeV{},
+Suche nach einer Gastst"atte, Erstellen von Einladungen, Plakaten und des
+Stammtisch-Wimpels, Sammeln von Themen usw. Freundlicherweise wurden mir
+von \DeV{} Adressen von Mitgliedern in der Umgebung auf Diskette zur
+Verf"ugung gestellt, weitere Interessenten kamen aus meinem
+Bekanntenkreis. Dann wurden an 63~Personen Einladungen verschickt,
+nat"urlich als Serienbrief mit Wege-Skizze und R"uckantwortkarte zum
+Ankreuzen.
+
+Inzwischen hat sich ein "`harter Kern"' von etwa 12 Personen gebildet,
+die zwar nicht immer alle da sind, aber im Durchschnitt treffen sich
+etwa 8 Stammtisch-Geschwister. Die meisten kommen aus dem universit"aren
+Bereich, allerdings nur wenige direkt aus Wuppertal. Teilweise reist man
+mehr als 60\,km weit an! Nicht nur Mitglieder von DANTE\,e.\.V. kommen
+regelm"a"sig zu unseren Treffen. Der Stammtisch ist auch eine Verbindung
+zu \TeX-Benutzern, die aufgrund ihrer finanziellen Verh"altnisse den
+DANTE-Beitrag nicht aufbringen k"onnen, und zu "`Fast-Nie-\TeX-Usern"'.
+
+Themen finden sich immer genug, gerade in letzter Zeit kommt man ja kaum
+mit den Innovationen mit: NFSS l"auft gerade stabil, schon folgt NFSS\,2.
+Dies ist noch nicht ganz installiert, da erscheint \LaTeX\,2e\ldots\ Auch
+meine Arbeit als studentische Hilfskraft bei der FernUniversit"at in
+Hagen liefert viele interessante Probleme (und deren L"osungen). Um die
+Diskussion etwas in Gang zu bringen, hatte ich anfangs ein kleines Info
+vorbereitet, in dem ich Probleml"osungen oder Styles vorstellte. Dies ist
+bis heute so geblieben, ab und zu "ubernimmt aber auch ein anderes
+Stammtisch-Mitglied diese Aufgabe. Danach bespricht man die
+\TeX-Probleme der Anwesenden oder diskutiert "uber \TeX, Computer und
+andere Themen.
+
+Die Infos wollte ich von Anfang an auch f"ur die \TeX nische Kom"odie
+vorbereiten, doch fehlte immer die Zeit dazu. Ein weiteres Problem
+stellt das Layout dar, das eine A4-Seite fast f"ullt. Dieses wird auch oft
+ganz ausgenutzt, so da"s eine Anpassung an das A5-Layout der \TeX nischen
+Kom"odie nicht ganz unproblematisch ist. Letztendlich ist der Umfang
+nicht gerade gering.
+
+So habe ich mich entschlossen, die Infos als Stammtisch-Jahrbuch zur
+Verf"ugung zu stellen. Dieses ist ab sofort in kopierter Form bei mir
+erh"altlich. Die \TeX-Eingabedateien (mit notwendigen und beschriebenen)
+Styles liegen auf $3.5''$-Disketten bei. Diese Disketten werden
+demn"achst auch "uber \DeV{} erh"altlich sein. Au"serdem steht ihr Inhalt auf
+dem Stuttgarter Server. Zum "Ubersetzen mit \TeX\ ben"otigt man jedoch f"ur
+einige Infos eine Big-\TeX-Version, \MF, NFSS\,1, dvips und
+PostScript-Fonts des PC-Programms Corel-Draw.
+
+Das erste Jahrbuch deckt die Zeit vom August 1992 bis Dezember 1993 ab
+und ist genau 80\,Seiten dick. Die Infos behandeln folgende Themen:
+\begin{enumerate}
+\item Linien in Tabellen
+\item \TeX- und \MF-Installation
+\item Steigende Klammergr"o"sen
+\item Einfaches Sperren von Text
+\item Vorstellung von \PiCTeX
+\item Teile von Zeichnungen in \MF
+\item Seitenlayout mit \TeX\ und konstruk.sty
+\item Fehlersuche bei Argumentklammern und Environments
+\item Der array.sty und seine Verwandten
+\item Schmuckumrandungen mit \TeX
+\item Brief-Style f"ur vorgedruckte Briefpapiere
+\item NFSS (Version 1)
+\item DVIDVI: Seitenbasteln nach \TeX
+\item Einbindung von Corel-Draw PostScript Fonts
+\item Rundsatz (mit dvips)
+\item Variabler Kalender-Style
+\end{enumerate}
+
+Das Jahrbuch ist unter folgender Adresse zum Selbstkostenpreis zu
+bestellen:
+\begin{quote}
+Andreas Schrell\\
+Windh"ovel 2\\
+42279 Wuppertal
+\end{quote}
+Es kostet
+\[ 20\,\mbox{DM} \]
+mit einer Kammbindung (das ist eine Plastik-Ringbindung, Anteil
+2,50\,DM). Darin sind zwei 720\,KB-Disketten ($3.5''$, 4\,DM), Verpackung
+(1\,DM) und Versandkosten (5\,DM) enthalten. F"ur die Kopien allein
+berechne ich 7,50\,DM. Wer Sonderw"unsche hat (beispielsweise ungebunden
+oder ohne Disketten), kann sich den Betrag nach diesen Angaben selbst
+berechnen. Legen Sie der Bestellung bitte einen Geldschein oder besser
+einen Verrechnungsscheck bei.
+
+In diesen 1$^1\!/\!_2$ Jahren hat mir die Arbeit f"ur den Wuppertaler
+Stammtisch immer sehr viel Spa"s gemacht. Teilweise kostet die
+Vorbereitung schon furchtbar viel Zeit und Energie, nicht zuletzt habe
+ich aber auch viel dabei gelernt. Wollen Sie nicht auch in Ihrer N"ahe
+einen Stammtisch organisieren? Man mu"s ja nicht jedesmal mit einem
+Vortrag aufwarten! Dann ist der Aufwand gar nicht mehr so gro"s! Ich
+stehe jedenfalls (zu normalen Zeiten) gern f"ur Ihre Fragen zur
+Verf"ugung.
+
+Vielleicht habe ich ja Ihr Interesse geweckt, und wir sehen uns mal beim
+Wuppertaler Stammtisch oder einer DANTE-Tagung. Das w"urde mich besonders
+freuen.
+
+\end{document}
diff --git a/info/german/stammtisch/wuppertal/README b/info/german/stammtisch/wuppertal/README
new file mode 100644
index 0000000000..655d078fa3
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/README
@@ -0,0 +1,114 @@
+ ==========================================
+ Der DANTE-\TeX-Stammtisch in Wuppertal
+ ==========================================
+
+ 6.1.1994, Andreas Schrell
+
+Nun gibt es ihn schon l"anger als ein Jahr, und --- abgesehen von der
+Liste am Ende der \TeX nischen Kom"odie --- f"uhrte er immer ein stilles
+Dasein. Die Rede ist vom Wuppertaler \TeX-Stammtisch. Die Idee zu dessen
+Gr"undung erhielt ich nat"urlich durch die \TeX nische Kom"odie, weitere
+Anst"o"se ergaben sich daraus, da"s ich in der Uni oft um Rat gefragt
+werde, wenn es um \TeX\ Probleme geht. So entschlo"s ich mich zur
+Initiierung des Wuppertaler \TeX-Stammtischs.
+
+Im Mai 1992 begannen die ersten Vorbereitungen: Absprache mit DANTE e.V.,
+Suche nach einer Gastst"atte, Erstellen von Einladungen, Plakaten und des
+Stammtisch-Wimpels, Sammeln von Themen usw. Freundlicherweise wurden mir
+von DANTE e.V. Adressen von Mitgliedern in der Umgebung auf Diskette zur
+Verf"ugung gestellt, weitere Interessenten kamen aus meinem
+Bekanntenkreis. Dann wurden an 63 Personen Einladungen verschickt,
+nat"urlich als Serienbrief mit Wege-Skizze und R"uckantwortkarte zum
+Ankreuzen.
+
+Inzwischen hat sich ein "`harter Kern"' von etwa 12 Personen gebildet,
+die zwar nicht immer alle da sind, aber im Durchschnitt treffen sich
+etwa 8 Stammtisch-Geschwister. Die meisten kommen aus dem universit"aren
+Bereich, allerdings nur wenige direkt aus Wuppertal. Teilweise reist man
+mehr als 60 km weit an! Nicht nur Mitglieder von DANTE e.\.V. kommen
+regelm"a"sig zu unseren Treffen. Der Stammtisch ist auch eine Verbindung
+zu \TeX-Benutzern, die aufgrund ihrer finanziellen Verh"altnisse den
+DANTE-Beitrag nicht aufbringen k"onnen, und zu "`Fast-Nie-\TeX-Usern"'.
+
+Themen finden sich immer genug, gerade in letzter Zeit kommt man ja kaum
+mit den Innovationen mit: NFSS l"auft gerade stabil, schon folgt NFSS 2.
+Dies ist noch nicht ganz installiert, da erscheint \LaTeX 2e\ldots\ Auch
+meine Arbeit als studentische Hilfskraft bei der FernUniversit"at in
+Hagen liefert viele interessante Probleme (und deren L"osungen). Um die
+Diskussion etwas in Gang zu bringen, hatte ich anfangs ein kleines Info
+vorbereitet, in dem ich Probleml"osungen oder Styles vorstellte. Dies ist
+bis heute so geblieben, ab und zu "ubernimmt aber auch ein anderes
+Stammtisch-Mitglied diese Aufgabe. Danach bespricht man die
+\TeX-Probleme der Anwesenden oder diskutiert "uber \TeX, Computer und
+andere Themen.
+
+Die Infos wollte ich von Anfang an auch f"ur die \TeX nische Kom"odie
+vorbereiten, doch fehlte immer die Zeit dazu. Ein weiteres Problem
+stellt das Layout dar, das eine A4-Seite fast f"ullt. Dieses wird auch oft
+ganz ausgenutzt, so da"s eine Anpassung an das A5-Layout der \TeX nischen
+Kom"odie nicht ganz unproblematisch ist. Letztendlich ist der Umfang
+nicht gerade gering.
+
+So habe ich mich entschlossen, die Infos als Stammtisch-Jahrbuch zur
+Verf"ugung zu stellen. Dieses ist ab sofort in kopierter Form bei mir
+erh"altlich. Die \TeX-Eingabedateien (mit notwendigen und beschriebenen)
+Styles liegen auf 3.5''-Disketten bei. Diese Disketten werden demn"achst
+auch "uber DANTE e.V. erh"altlich sein. Au"serdem steht ihr Inhalt auf
+dem Stuttgarter Server. Zum "Ubersetzen mit \TeX\ ben"otigt man jedoch
+f"ur einige Infos eine Big-\TeX-Version, \MF, NFSS 1, dvips und
+PostScript-Fonts des PC-Programms Corel-Draw.
+
+Das erste Jahrbuch deckt die Zeit vom August 1992 bis Dezember 1993 ab
+und ist genau 80 Seiten dick. Die Infos behandeln folgende Themen:
+
+-- Linien in Tabellen
+-- \TeX- und \MF-Installation
+-- Steigende Klammergr"o"sen
+-- Einfaches Sperren von Text
+-- Vorstellung von \PiCTeX
+-- Teile von Zeichnungen in \MF
+-- Seitenlayout mit \TeX\ und konstruk.sty
+-- Fehlersuche bei Argumentklammern und Environments
+-- Der array.sty und seine Verwandten
+-- Schmuckumrandungen mit \TeX
+-- Brief-Style f"ur vorgedruckte Briefpapiere
+-- NFSS (Version 1)
+-- DVIDVI: Seitenbasteln nach \TeX
+-- Einbindung von Corel-Draw PostScript Fonts
+-- Rundsatz (mit dvips)
+-- Variabler Kalender-Style
+
+Das Jahrbuch ist unter folgender Adresse zum Selbstkostenpreis zu
+bestellen:
+
+Andreas Schrell
+Windh"ovel 2
+42279 Wuppertal
+
+Es kostet 20 DM mit einer Kammbindung (eine Plastik-Ringbindung, Anteil
+2,50 DM). Darin sind zwei 720 KB-Disketten (3.5'', 4 DM), Verpackung
+(1 DM) und Versandkosten (5 DM) enthalten. F"ur die Kopien allein
+berechne ich 7,50 DM. Wer Sonderw"unsche hat (beispielsweise ungebunden
+oder ohne Disketten), kann sich den Betrag nach diesen Angaben selbst
+berechnen. Legen Sie der Bestellung bitte einen Geldschein oder besser
+einen Verrechnungsscheck bei.
+
+In diesen 1.5 Jahren hat mir die Arbeit f"ur den Wuppertaler
+Stammtisch immer sehr viel Spa"s gemacht. Teilweise kostet die
+Vorbereitung schon furchtbar viel Zeit und Energie, nicht zuletzt habe
+ich aber auch viel dabei gelernt. Wollen Sie nicht auch in Ihrer N"ahe
+einen Stammtisch organisieren? Man mu"s ja nicht jedesmal mit einem
+Vortrag aufwarten! Dann ist der Aufwand gar nicht mehr so gro"s! Ich
+stehe jedenfalls (zu normalen Zeiten) gern f"ur Ihre Fragen zur
+Verf"ugung.
+
+Vielleicht habe ich ja Ihr Interesse geweckt, und wir sehen uns mal beim
+Wuppertaler Stammtisch. Das w"urde mich besonders freuen.
+
+Andreas Schrell
+Windh"ovel 2
+42279 Wuppertal
+
+Mail: Andreas.Schrell@FernUni-Hagen.de
+Tel. 0202/666889
+
diff --git a/info/german/stammtisch/wuppertal/stybesch/00index b/info/german/stammtisch/wuppertal/stybesch/00index
new file mode 100644
index 0000000000..d261a667a3
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/00index
@@ -0,0 +1,4 @@
+STYBESCH
+ Style-Beschreibungen des Wuppertaler DANTE-TeX-Stammtisch. DVI-Dateien
+ und Fonts. Enthalten ist auch eine Anleitung fr weitere Style-
+ Beschreibungen.
diff --git a/info/german/stammtisch/wuppertal/stybesch/dvis/astro.dvi b/info/german/stammtisch/wuppertal/stybesch/dvis/astro.dvi
new file mode 100644
index 0000000000..81020d5620
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/dvis/astro.dvi
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/dvis/chemtex.dvi b/info/german/stammtisch/wuppertal/stybesch/dvis/chemtex.dvi
new file mode 100644
index 0000000000..53fee4f6a1
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/dvis/chemtex.dvi
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/dvis/dinbrief.dvi b/info/german/stammtisch/wuppertal/stybesch/dvis/dinbrief.dvi
new file mode 100644
index 0000000000..038ecaeb1b
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/dvis/dinbrief.dvi
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/dvis/flow.dvi b/info/german/stammtisch/wuppertal/stybesch/dvis/flow.dvi
new file mode 100644
index 0000000000..3ec468d3bd
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/dvis/flow.dvi
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/dvis/liste.dvi b/info/german/stammtisch/wuppertal/stybesch/dvis/liste.dvi
new file mode 100644
index 0000000000..1fd8a68e7a
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/dvis/liste.dvi
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/dvis/longtabl.dvi b/info/german/stammtisch/wuppertal/stybesch/dvis/longtabl.dvi
new file mode 100644
index 0000000000..8ac1f8887d
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/dvis/longtabl.dvi
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/dvis/nassi.dvi b/info/german/stammtisch/wuppertal/stybesch/dvis/nassi.dvi
new file mode 100644
index 0000000000..f86f7d80fc
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/dvis/nassi.dvi
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/dvis/sb.dvi b/info/german/stammtisch/wuppertal/stybesch/dvis/sb.dvi
new file mode 100644
index 0000000000..1c2bbffa85
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/dvis/sb.dvi
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/dvis/strukto.dvi b/info/german/stammtisch/wuppertal/stybesch/dvis/strukto.dvi
new file mode 100644
index 0000000000..7eea05b1c9
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/dvis/strukto.dvi
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/dvis/titel.dvi b/info/german/stammtisch/wuppertal/stybesch/dvis/titel.dvi
new file mode 100644
index 0000000000..ad51c09753
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/dvis/titel.dvi
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/dvis/tkonto.dvi b/info/german/stammtisch/wuppertal/stybesch/dvis/tkonto.dvi
new file mode 100644
index 0000000000..bda1dc6728
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/dvis/tkonto.dvi
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/makros/baum.sty b/info/german/stammtisch/wuppertal/stybesch/makros/baum.sty
new file mode 100644
index 0000000000..f2f96a4b1b
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/makros/baum.sty
@@ -0,0 +1,121 @@
+\def\fileversion{1.2}
+\def\filedate{94/03/11}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% PiCTeX-Makros zum Satz von Verzeichnisb"aumen %
+% von Andreas Schrell, Wuppertal %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% Syntax (EBNF-Derivat): %%%%%
+%%%%%%%%%%%%%%%%%%%%
+% <baum> := %
+%% %
+% \baum <name> %
+% structure %
+% <struktur> %
+% / at x y %
+%%%%%%%%%%%%%%%%%%%%
+% <struktur> := %
+%% %
+% \ordner <name> %
+% <struktur> %
+% \endordner %
+%% %
+% | %
+%% %
+% \datei <name> %
+% <struktur> %
+%% %
+% | <empty> %
+%%%%%%%%%%%%%%%%%%
+% <leer> := %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% <name> := <alles was in einer \mbox stehen kann, %
+% also z.B. kein einfacher _ \ % etc. > %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newdimen\OAx \newdimen\OAy \newbox\Obox \newdimen\GY
+\newdimen\Oleng \newdimen\GX \newdimen\Odown
+
+\newif\ifvariing \variingfalse
+\def\VariablerBaum{\variingtrue}
+\def\FesterBaum{\variingfalse}
+
+\def\Osep{0.5\unitlength}
+\def\Oright{20\unitlength}
+\def\Oinsert{15\unitlength}
+
+\def\Ostrut{\vphantom{/}}
+\def\Bfont{\footnotesize\bf\Ostrut}
+\def\Ofont{\footnotesize\bf\Ostrut}
+\def\Dfont{\footnotesize\rm\Ostrut}
+\def\Drule{.4pt}
+\def\Orule{1pt}
+\def\Brule{1pt}
+\def\Oboxsep{3pt}
+
+\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em}\kern.06em}
+
+\def\baum #1 structure #2/ at #3 #4
+ {\put {\beginpicture
+ \fboxsep=\Oboxsep
+ \fboxrule=\Orule
+ \unitlength=1mm
+ \OAx=0mm \OAy=0mm
+ \setdimensionmode
+ \setbox\Obox\hbox{\fboxrule=\Brule\fbox{\Bfont#1}}%
+\ifvariing
+ \Odown=0pt
+\else
+ \Odown=\ht\Obox \advance\Odown by \dp\Obox
+\fi
+ \advance\Odown by \Osep
+ \Oleng=\Odown
+ \put {\box\Obox} [b] at 0mm 0mm
+ #2
+ \endpicture} at #3 #4
+}
+
+\def\ordner #1
+ {\GY=\OAy
+ \begingroup
+ \setbox\Obox\hbox{\fbox{\Ofont#1}}%
+ \global\GX=-\dp\Obox \global\advance\GX by -\ht\Obox
+\ifvariing
+ \Odown=-.5\GX \advance\Odown by \Osep
+ \advance\Oleng by -.5\GX
+\fi
+ \global\advance\OAy by -\Odown
+ \put {\vrule height\Oleng width\linethickness depth0pt}
+ [bl] at {\OAx} {\OAy}
+ \put {\vrule height\linethickness width\Oinsert depth0pt}
+ [lb] at {\OAx} {\OAy}
+ \put {\box\Obox}
+ <\Oinsert,0mm> [l] at {\OAx} {\OAy}
+\ifvariing
+ \global\advance\OAy by .5\GX
+\fi
+ \Oleng=\Odown
+ \advance\OAx by \Oright
+ \advance\Oleng by .5\GX
+}
+
+\catcode`\!=11
+\def\endordner{%
+ \global\!Xleft=\!xleft \global\!Xright=\!xright
+ \global\!Ybot=\!ybot \global\!Ytop=\!ytop
+ \endgroup
+ \!xleft=\!Xleft \!xright=\!Xright
+ \!ybot=\!Ybot \!ytop=\!Ytop
+ \Oleng=-\OAy \advance\Oleng by \GY
+\ifvariing
+ \advance\Oleng by .5\GX
+\fi
+}
+
+\catcode`\!=12
+
+\def\datei #1
+ {\fboxrule=\Drule
+ \ordner{\Dfont#1} \endordner
+ \fboxrule=\Orule}
+
+\endinput
diff --git a/info/german/stammtisch/wuppertal/stybesch/makros/german.MISSING b/info/german/stammtisch/wuppertal/stybesch/makros/german.MISSING
new file mode 120000
index 0000000000..895cdd7a94
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/makros/german.MISSING
@@ -0,0 +1 @@
+../../../../../../language/german/german.MISSING \ No newline at end of file
diff --git a/info/german/stammtisch/wuppertal/stybesch/makros/sbmakro.tex b/info/german/stammtisch/wuppertal/stybesch/makros/sbmakro.tex
new file mode 100644
index 0000000000..ed08331682
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/makros/sbmakro.tex
@@ -0,0 +1,383 @@
+\def\fileversion{1.2c}
+\def\filedate{94/03/24}
+
+%
+% Makrodatei f"ur die Realisierung der Stylebeschreibungsbefehle von
+% Stefan Pasche und Andreas Schrell, DANTE-\TeX-Stammtisch, Wuppertal.
+% Fehlermeldungen f"ur diese (unver"anderte) Datei an
+% Andreas.Schrell@FernUni-Hagen.de
+%
+
+%
+% Datei nur einmal einlesen!
+%
+\ifx\StyleName\undefined
+ \let\next\relax
+\else
+ \let\next\endinput
+\fi\next
+
+\message{^^JStylebeschreibungsmakrodatei Version \fileversion\space
+ vom \filedate.^^J^^J}
+
+%
+% \newif darf bei uns nicht \outer sein!
+%
+\makeatletter
+\def\newif#1{\count@\escapechar \escapechar\m@ne
+ \expandafter\expandafter\expandafter
+ \edef\@if#1{true}{\let\noexpand#1=\noexpand\iftrue}%
+ \expandafter\expandafter\expandafter
+ \edef\@if#1{false}{\let\noexpand#1=\noexpand\iffalse}%
+ \@if#1{false}\escapechar\count@} % the condition starts out false
+\makeatother
+
+%
+% Normalerweise wird nur eine SB-Datei ausgef"uhrt.
+%
+\newif\ifSingleBeschreibung
+\ifx\AlleDefined\undefined
+ \SingleBeschreibungtrue
+\else
+ \SingleBeschreibungfalse
+\fi
+
+\ifx\documentclass\undefined
+ \ifSingleBeschreibung
+ \documentstyle[german,twoside]{article}
+ \else
+ \documentstyle[german,twoside,xfinder]{article}
+ \fi
+\else
+ \documentclass[twoside]{article}
+ \usepackage{german}
+ \ifSingleBeschreibung\else
+ \usepackage{xfinder}
+ \fi
+\fi
+\ifSingleBeschreibung\else
+ \fields={[\DatenZeile:\Name\Rest]
+ }
+ \reademptylinefalse
+ \serienbrief{{%
+ \message{^^JDatei \Name wird bearbeitet...^^J^^J}%
+ \input{\Name}}}
+ \def\SBFiles#1{%
+ \begin{document}
+ \addressfile{#1}
+ \end{document}}
+\fi
+
+\makeatletter
+
+\newif\ifFuerPlain \FuerPlainfalse
+\newif\ifFuerLaTeX \FuerLaTeXfalse
+\newif\ifMitFonts \MitFontsfalse
+\newif\ifVRules \VRulesfalse
+
+\def\StyleName#1{%
+ \def\TEST{#1}%
+ \ifx\TEST\empty\else
+ \StyleNametrue
+ \fi
+ \def\@StyleName{#1}%
+ \def\@StyleNAME{\uppercase{#1}}}%
+\newif\ifStyleName
+
+\def\ifnotempty#1#2{%
+ \def\TEST{#1}%
+ \ifx\TEST\empty\else#2\fi}
+
+\def\InitialisiereIf#1{%
+ \expandafter\newif\csname if#1\endcsname
+ \csname #1false\endcsname}
+
+\def\ErstelleBefehl{\@ifstar{\ErstelleMit}{\ErstelleOhne}}
+
+\def\ErstelleOhne#1{%
+ \InitialisiereIf{#1}%
+ \expandafter\def\csname #1\endcsname##1{%
+ \ifnotempty{##1}{\csname #1true\endcsname}%
+ \expandafter\def\csname @#1\endcsname{##1}}}
+\def\ErstelleMit#1{%
+ \InitialisiereIf{#1}%
+ \expandafter\def\csname #1\endcsname##1{%
+ \ifnotempty{##1}{\csname #1true\endcsname}%
+ \expandafter\def\csname @#1\endcsname{##1}%
+ \notwendig{#1}}}
+
+\newdimen\MaxAutorName
+\newcount\AutorCount
+\def\StyleAutor#1 #2{%
+ \settowidth{\dimen0}{#1}%
+ \ifdim\dimen0>\MaxAutorName
+ \setlength\MaxAutorName{\dimen0}%
+ \fi
+ \csname StyleAutor\the\AutorCount\endcsname{#1}%
+ \csname StyleAutorAdresse\the\AutorCount\endcsname{#2}%
+ \advance\AutorCount by 1}
+
+\ErstelleBefehl{StyleVersion}
+\ErstelleBefehl{StyleDatum}
+\AutorCount=0
+\MaxAutorName=0pt
+\loop
+ \ErstelleBefehl{StyleAutor\the\AutorCount}
+ \ErstelleBefehl{StyleAutorAdresse\the\AutorCount}
+ \advance\AutorCount by 1
+\ifnum\AutorCount<6
+\repeat
+\AutorCount=0
+
+\ErstelleBefehl*{StyleBezugsQuelle}
+\ErstelleBefehl*{StyleDokumentation}
+\ErstelleBefehl*{StyleKurzBeschreibung}
+\ErstelleBefehl{StyleVoraussetzungen}
+\ErstelleBefehl*{StyleStichWorte}
+
+\def\StyleFuerPlain#1{%
+ \ifnum#1=1
+ \FuerPlaintrue
+ \fi}
+
+\def\StyleFuerLaTeX#1{%
+ \ifnum#1=1
+ \FuerLaTeXtrue
+ \fi}
+
+\def\StyleMitFonts#1{%
+ \ifnum#1=1
+ \MitFontstrue
+ \fi}
+
+\def\BoxSize{6pt}
+\def\BoxMit{\vrule height \BoxSize width \BoxSize depth 0pt}
+\def\BoxOhne{{\fboxrule=0.4pt\fboxsep=-\fboxrule
+ \fbox{\vbox to \BoxSize{\hbox to \BoxSize{\hss}\vss}}}}
+
+\def\BeschreibungAutor#1 #2{%
+ \BeschreibungAutorIntern{#1}
+ \BeschreibungAutorAdresse{#2}}
+
+\ErstelleBefehl*{BeschreibungDatum}
+\ErstelleBefehl*{BeschreibungAutorIntern}
+\ErstelleBefehl{BeschreibungAutorAdresse}
+
+\def\StyleFuerBeschreibung#1#2{%
+ \ifnotempty{#1}{%
+ \def\TEST{#2}\def\TESTX{sty}%
+ \ifx\TEST\TESTX
+ \makeatletter
+ \input #1.#2
+ \makeatother
+ \else
+ \input #1.#2
+ \fi
+ }}
+
+%
+% Layout
+%
+
+\evensidemargin=0mm
+\oddsidemargin=0mm
+
+\headheight=0pt
+\headsep=0pt
+
+\topmargin=0pt
+
+\textwidth=159.2mm
+\textheight=246.2mm
+
+\parindent=0pt
+\parskip=0.5\baselineskip
+
+\pagestyle{empty}
+
+\def\sfb{\ifx\undefined\sffamily\else\sffamily\fi
+ \ifx\undefined\bfseries\bf\else\bfseries\fi}
+
+%
+% Entnommen aus script.sty:
+%
+\def\labelinglabel#1{\sfb#1\hfil\sc@septext}
+\def\labeling{\@ifnextchar [{\@labeling}{\@labeling[]}}
+\def\@labeling[#1]#2{\def\sc@septext{#1}
+ \begin{list}{}{\settowidth{\labelwidth}{\sfb#2#1}
+ \setlength{\leftmargin}{\labelwidth}
+ \addtolength{\leftmargin}{\labelsep}
+ \let\makelabel\labelinglabel}}
+\def\endlabeling{\end{list}}
+
+\def\notwendig#1{%
+ \global\let\mynext\relax
+ \csname if#1\endcsname\else
+ \global\let\mynext\@@end
+ \@latexerr{SB-Makro: \expandafter
+ \string\csname #1\endcsname\space muss
+ eingetragen werden!^^J}
+ \fi\mynext}
+
+\def\notwendigor#1#2{%
+ \global\let\mynext\relax
+ {\count100=0
+ \csname if#1\endcsname
+ \advance\count100 by 1
+ \fi
+ \csname if#2\endcsname
+ \advance\count100 by 1
+ \fi
+ \ifnum\count100=0
+ \global\let\mynext\@@end
+ \@latexerr{SB-Makro:
+ \expandafter\string\csname #1\endcsname\space oder
+ \expandafter\string\csname #2\endcsname\space
+ muss eingetragen werden!^^J}
+ \fi}\mynext}
+
+\def\LeseDatum#1.#2.#3.{% ohne "ausruhen" machts TeX wieder nicht:
+ \day=#1\relax
+ \month=#2\relax
+ \year=#3\relax
+ \let\Today\today
+ \ifnum\day=0
+ \def\Today{\the\month.\the\year}%
+ \fi
+ \ifnum\month=0
+ \def\Today{\the\year}%
+ \fi
+ \ifnum\year=0
+ \def\Today{???????}%
+ \fi
+ \ifnum\year<82 \advance\year by 2000\relax\fi
+ % Wir benutzen ein TeX82. Alles <82 ist >2000!
+ % Damit funktionierts noch bis zum Jahr 2081 ;-)
+ \ifnum\year<100 \advance\year by 1900\relax\fi}
+
+\def\KonvertiereDatum#1{%
+ {\expandafter\LeseDatum#1.%
+ \xdef#1{\Today}}}
+
+\newwrite\StichFile
+
+\def\SchreibeStichWorte{%
+ \immediate\openout\StichFile=\jobname.stw
+ \edef\@StyleStichWorteSp{\@StyleStichWorte\space}%
+ \expandafter\SchreibeStichWort\@StyleStichWorteSp 0 }
+
+\def\StichClose{\immediate\closeout\StichFile}
+
+\def\SchreibeStichWort #1 {%
+ \def\TEST{#1}%
+ \def\RTEST{0}%
+ \ifx\TEST\RTEST
+ \let\Snext\StichClose
+ \else
+ \immediate\write\StichFile{#1\string\dotfill\space\jobname}%
+ \let\Snext\SchreibeStichWort
+ \fi
+ \Snext}
+
+\def\ps@stylebesch{%
+ \def\@evenhead{\hfil}%
+ \def\@oddhead{\hfil}%
+ \def\@evenfoot{\hfil\@StyleName\qquad -- \thepage\ --\hfil}%
+ \let\@oddfoot\@evenfoot}
+
+\pagestyle{stylebesch}
+
+\newif\ifWeiter
+
+\def\Beschreibung{%
+ \notwendig{StyleName}
+ \notwendigor{StyleVersion}{StyleDatum}
+ \notwendig{StyleAutor0}
+ \notwendig{StyleBezugsQuelle}
+ \notwendig{StyleDokumentation}
+ \notwendig{StyleStichWorte}
+ \notwendig{StyleKurzBeschreibung}
+ \notwendig{BeschreibungDatum}
+ \notwendig{BeschreibungAutorIntern}
+ \ifSingleBeschreibung
+ \begin{document}
+ \else
+ \cleardoublepage
+ \fi
+ \SchreibeStichWorte
+ \begin{flushright}
+ \Huge\sfb \@StyleNAME
+ \end{flushright}
+ \thispagestyle{empty}
+ \begin{labeling}[ :]{Kurzbeschreibung}
+ \item[Bezeichnung] \@StyleName
+ \item[Version] \ifStyleVersion\@StyleVersion
+ \ifStyleDatum\ vom \fi\fi
+ \ifStyleDatum
+ \KonvertiereDatum\@StyleDatum
+ \@StyleDatum
+ \fi
+ \item[Autor]
+ \AutorCount=0
+ \loop
+ \leavevmode\hbox to \MaxAutorName{\csname
+ @StyleAutor\the\AutorCount\endcsname\hfil}%
+ \expandafter\ifx\csname @StyleAutorAdresse\the\AutorCount
+ \endcsname\relax\else
+ \ifVRules
+ \ \vrule\
+ \else
+ \hskip 1cm
+ \fi
+ \vtop{\def\\{\egroup\hbox\bgroup\strut\ignorespaces}
+ \hbox\bgroup\strut
+ \csname @StyleAutorAdresse\the\AutorCount\endcsname
+ \egroup}
+ \fi
+ \advance\AutorCount by 1
+ {\expandafter\ifx\csname @StyleAutor\the\AutorCount\endcsname
+ \relax\global\Weiterfalse\else\global\Weitertrue\fi}
+ \ifWeiter
+ \vskip0pt
+ \repeat
+ \item[Bezugsquelle] \@StyleBezugsQuelle
+ \item[Dokumentation] \@StyleDokumentation
+ \item[Voraussetzungen]
+ {\sc Plain}-\TeX\ \ifFuerPlain\BoxMit\else\BoxOhne\fi\hskip1cm
+ \LaTeX\ \ifFuerLaTeX\BoxMit\else\BoxOhne\fi\hskip1cm
+ Mit Fonts \ifMitFonts\BoxMit\else\BoxOhne\fi
+ \ifStyleVoraussetzungen\\
+ \@StyleVoraussetzungen
+ \fi
+ \item[Stichworte] (\,\@StyleStichWorte\,)
+ \item[Kurzbeschreibung] \@StyleKurzBeschreibung
+ \vskip 7mm
+ \item[Beschreibung] \@BeschreibungAutorIntern
+ \ifBeschreibungAutorAdresse
+ \ifVRules
+ \ \vrule\
+ \else
+ \hskip 1cm
+ \fi
+ \vtop{\def\\{\egroup\hbox\bgroup\strut\ignorespaces}
+ \hbox\bgroup\strut
+ \@BeschreibungAutorAdresse
+ \egroup}
+ \fi
+ \hfill
+ \KonvertiereDatum\@BeschreibungDatum
+ \@BeschreibungDatum
+ \end{labeling}\par}
+
+\def\endBeschreibung{%
+ \ifSingleBeschreibung
+ \par\endgroup
+ \def\@currenvir{document}
+ \def\next{\end{document}}
+ \else
+ \def\next{\par\ifodd\c@page\clearpage\hbox{}\fi}
+ \fi\next}
+
+\makeatother
+
+\endinput
diff --git a/info/german/stammtisch/wuppertal/stybesch/pk/240x216/mag____0.790/astrosym.pk b/info/german/stammtisch/wuppertal/stybesch/pk/240x216/mag____0.790/astrosym.pk
new file mode 100644
index 0000000000..eff12b51a8
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/pk/240x216/mag____0.790/astrosym.pk
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/pk/240x216/mag____2.488/cmssbx10.pk b/info/german/stammtisch/wuppertal/stybesch/pk/240x216/mag____2.488/cmssbx10.pk
new file mode 100644
index 0000000000..12f7e8614b
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/pk/240x216/mag____2.488/cmssbx10.pk
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/pk/300/mag____0.790/astrosym.pk b/info/german/stammtisch/wuppertal/stybesch/pk/300/mag____0.790/astrosym.pk
new file mode 100644
index 0000000000..2bdf13b49d
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/pk/300/mag____0.790/astrosym.pk
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/pk/300/mag____2.488/cmssbx10.pk b/info/german/stammtisch/wuppertal/stybesch/pk/300/mag____2.488/cmssbx10.pk
new file mode 100644
index 0000000000..567c9ddb6f
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/pk/300/mag____2.488/cmssbx10.pk
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/pk/360/mag____0.790/astrosym.pk b/info/german/stammtisch/wuppertal/stybesch/pk/360/mag____0.790/astrosym.pk
new file mode 100644
index 0000000000..dac36dab0a
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/pk/360/mag____0.790/astrosym.pk
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/pk/360/mag____2.488/cmssbx10.pk b/info/german/stammtisch/wuppertal/stybesch/pk/360/mag____2.488/cmssbx10.pk
new file mode 100644
index 0000000000..9f12a44b21
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/pk/360/mag____2.488/cmssbx10.pk
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/stybesch/sbfiles/dinbrief.sb b/info/german/stammtisch/wuppertal/stybesch/sbfiles/dinbrief.sb
new file mode 100644
index 0000000000..ea0f0610d3
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/sbfiles/dinbrief.sb
@@ -0,0 +1,130 @@
+%
+% Diese Datei ist Teil des Pakets f"ur Stylebeschreibungen des
+% Wuppertaler DANTE-\TeX-Stammtischs. Sie ben"otigt \LaTeX als
+% Format. Es sind nur Eingaben in den Argumentklammern erlaubt.
+%
+\input sbmakro
+
+%
+% Name ohne Extension
+%
+\StyleName {dinbrief}
+
+%
+% Versionsnummer, falls vorhanden
+%
+\StyleVersion {}
+
+%
+% Datum der Styleversion, falls vorhanden
+%
+\StyleDatum {4.4.1990}
+
+%
+% Autor des Styles, falls bekannt
+%
+\StyleAutor {Rainer Sengerling}
+ {}
+\StyleAutor {Wolfgang Schwarz}
+ {Institut f"ur Theoretische und Angewandte Physik\\
+ Universit"at Stuttgart\\
+ Pfaffenwaldring 57/VI\\
+ 7000 Stuttgart 80\\
+ E-Mail: BLACKY@DS0ITA51.bitnet}
+
+%
+% Bezugsquelle
+%
+\StyleBezugsQuelle {DANTE, Disk 15}
+
+%
+% beiliegend, Verweis auf Artikel, deutsch, englisch
+%
+\StyleDokumentation {beiliegend, deutsch}
+
+%
+% 2-3 Zeilen Beschreibung, was der Style leistet
+%
+\StyleKurzBeschreibung {{\tt letter.sty} f"ur vordrucklose Briefe im A4-Format,
+entsprechend den DIN-Normen 5008 (von 1986), 2107, 2142 und 676.}
+
+%
+% Notwendige Versionen von \LaTeX, NFSS etc.
+%
+\StyleVoraussetzungen {F"ur NFSS sind Anpassungen (Fontnamen) erforderlich.}
+
+%
+% Suchbegriffe f"ur den Index, Trennung durch Leerzeichen
+%
+\StyleStichWorte {brief dinbrief letter}
+
+%
+% Bei den folgenden Schaltern bedeutet
+% 0 = nein
+% 1 = ja
+%
+\StyleFuerPlain {0}
+\StyleFuerLaTeX {1}
+\StyleMitFonts {0}
+
+%
+% Datum dieser Beschreibungsdatei
+%
+\BeschreibungDatum {1.3.1994}
+
+%
+% Autor dieser Beschreibungsdatei
+%
+\BeschreibungAutor {Kai Nacke}
+ {Haydnstra"se 21\\ 44147 Dortmund}
+
+%
+% Mit dem Befehl \StyleFuerBeschreibung kann eine Style-Datei
+% eingelesen werden, die f"ur die folgende Beschreibung notwendig
+% ist. Es sind aber nur Styles zu benutzen, die wirklich f"ur
+% ein sinnvolles Beispiel erforderlich sind. Der Befehl kann
+% mehrmals angegeben werden.
+% Klammer 1: Name
+% Klammer 2: Extension
+%
+\StyleFuerBeschreibung {}{}
+\StyleFuerBeschreibung {}{}
+
+%
+% Jetzt kommt der Text der Beschreibung, der so kurz sein mu"s, da"s
+% die gesamte Beschreibung (mit Kopf) auf ZWEI Seiten pa"st!
+%
+\begin{Beschreibung}
+Der {\tt dinbrief.sty} dient zur Formatierung vordruckloser Briefe im A4-Format.
+Er wurde aus dem {\tt letter.sty} entwickelt; viele Befehle sind daher "anhlich.
+Die Gestaltung des Briefes orientert sich an den oben genannten DIN-Normen.
+Die Abweichungen sind dokumentiert. Auf Wunsch k"onnen auch Falzmarken und
+Absenderadresse f"ur Fensterumschl"age oder Adre"s-Etiketten erstellt werden.\\
+Der Style erm"oglicht mit Hilfe weniger Befehle das Schreiben normgerechter
+Briefe, wie folgendes Beispiel zeigt:
+\begin{verbatim}
+\documentstyle[norm,german]{dinbrief}
+\pagestyle{empty}
+\begin{document}
+\Datum{Dortmund, den \today}
+\Absender{Kai Nacke\\Haydnstr. 21\\44147 Dortmund}
+\Retouradresse{Kai Nacke, Haydnstr. 21, 44147 Dortmund}
+\Fenster
+\Betreff{Fehler in \LaTeX}
+\Anlagen{Textmarker}
+\begin{letter}{Herrn A.U.~Thor\\c/o Verlag Perfect World}
+\opening{Sehr geehrter Herr Thor!}
+
+Hier kommt eine Menge Text...
+
+\closing{Mit freundlichen Gr"u"sen}
+\end{letter}
+\end{document}
+\end{verbatim}
+
+\end{Beschreibung}
+
+
+
+
+
diff --git a/info/german/stammtisch/wuppertal/stybesch/sbfiles/maske b/info/german/stammtisch/wuppertal/stybesch/sbfiles/maske
new file mode 100644
index 0000000000..c7e35f2606
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/sbfiles/maske
@@ -0,0 +1,108 @@
+%
+% Diese Datei ist Teil des Pakets f"ur Stylebeschreibungen des
+% Wuppertaler DANTE-\TeX-Stammtischs. Sie ben"otigt \LaTeX als
+% Format. Es sind nur Eingaben in den Argumentklammern erlaubt.
+% Auch halbe S"atze mit Gro"sbuchstaben beginnen lassen.
+%
+% Diese Datei pa"st zu sbmakro.tex, Version 1.2c
+%
+\input sbmakro
+
+%
+% Name des Styles ohne Extension, ggf. als LOGO (\PiCTeX)
+%
+\StyleName {}
+
+%
+% Versionsnummer, falls vorhanden
+%
+\StyleVersion {}
+
+%
+% Datum der Styleversion, falls vorhanden. Format: tt.mm.jjjj
+% Wenn z.B. nur Jahr bekannt ist, dann 00.00.jjjj
+%
+\StyleDatum {}
+
+%
+% 1. Klammer: Autor des Styles, falls bekannt
+% 2. Klammer: Postanschrift und Mailadresse des Styleautors, falls bekannt
+% Trennung der Zeilen durch \\
+% Dieser Befehl kann mehrmals benutzt werden, falls mehrere Autoren den
+% Style geschrieben haben.
+%
+\StyleAutor {}
+ {}
+
+%
+% Bezugsquelle
+%
+\StyleBezugsQuelle {}
+
+%
+% beiliegend, Verweis auf Artikel, deutsch, englisch
+%
+\StyleDokumentation {}
+
+%
+% 2-3 Zeilen Beschreibung, was der Style leistet
+%
+\StyleKurzBeschreibung {}
+
+%
+% Notwendige Versionen von \LaTeX, NFSS etc.
+%
+\StyleVoraussetzungen {}
+
+%
+% Suchbegriffe f"ur den Index, Trennung durch Leerzeichen, KEINE UMLAUTE,
+% keine Makros, alles Kleinbuchstaben
+%
+\StyleStichWorte {}
+
+%
+% Bei den folgenden Schaltern bedeutet
+% 0 = nein
+% 1 = ja
+%
+\StyleFuerPlain {0}
+\StyleFuerLaTeX {0}
+\StyleMitFonts {0}
+
+%
+% Datum dieser Beschreibungsdatei. Format: tt.mm.jjjj
+%
+\BeschreibungDatum {}
+
+%
+% 1. Klammer: Autor dieser Beschreibungsdatei
+% 2. Klammer: Postanschrift und Mailadresse des Autors dieser SB-Datei
+% Trennung der Zeilen durch \\
+%
+\BeschreibungAutor {}
+ {}
+
+%
+% Mit dem Befehl \StyleFuerBeschreibung kann eine Style-Datei
+% eingelesen werden, die f"ur die folgende Beschreibung notwendig
+% ist. Es sind aber nur Styles zu benutzen, die wirklich f"ur
+% ein sinnvolles Beispiel erforderlich sind. Der Befehl kann
+% mehrmals angegeben werden.
+% Klammer 1: Name
+% Klammer 2: Extension
+%
+\StyleFuerBeschreibung {}{}
+\StyleFuerBeschreibung {}{}
+
+%
+% Jetzt kommt der Text der Beschreibung, der so kurz sein mu"s, da"s
+% die gesamte Beschreibung (mit Kopf) auf ZWEI Seiten pa"st!
+%
+\begin{Beschreibung}
+
+\end{Beschreibung}
+
+
+
+
+
diff --git a/info/german/stammtisch/wuppertal/stybesch/sbfiles/sb.sb b/info/german/stammtisch/wuppertal/stybesch/sbfiles/sb.sb
new file mode 100644
index 0000000000..5d94124455
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/sbfiles/sb.sb
@@ -0,0 +1,126 @@
+%
+% Diese Datei ist Teil des Pakets f"ur Stylebeschreibungen des
+% Wuppertaler DANTE-\TeX-Stammtischs. Sie ben"otigt \LaTeX als
+% Format. Es sind nur Eingaben in den Argumentklammern erlaubt.
+%
+\input sbmakro
+
+%
+% Name ohne Extension
+%
+\StyleName {sb}
+
+%
+% Versionsnummer, falls vorhanden
+%
+\StyleVersion {1.2}
+
+%
+% Datum der Styleversion, falls vorhanden
+%
+\StyleDatum {21.03.94}
+
+%
+% Autor des Styles, falls bekannt
+%
+\StyleAutor {Andreas Schrell}
+ {Windh"ovel 2\\42279 Wuppertal}
+\StyleAutor {Stefan Pasche}
+ {Marktweg 93\,a\\58454 Witten}
+
+%
+% Bezugsquelle
+%
+\StyleBezugsQuelle {ftp.dante.de}
+
+%
+% beiliegend, Verweis auf Artikel, deutsch, englisch
+%
+\StyleDokumentation {Deutsche Dokumentation liegt bei}
+
+%
+% 2-3 Zeilen Beschreibung, was der Style leistet
+%
+\StyleKurzBeschreibung {Style-Paket zur Erstellung von
+Style-Beschreibungen, mit dessen Hilfe diese Beschreibung erstellt wurde.}
+
+%
+% Notwendige Versionen von \LaTeX, NFSS etc.
+%
+\StyleVoraussetzungen {}
+
+%
+% Suchbegriffe f"ur den Index, Trennung durch Leerzeichen
+%
+\StyleStichWorte {stylebeschreibung}
+
+%
+% Bei den folgenden Schaltern bedeutet
+% 0 = nein
+% 1 = ja
+%
+\StyleFuerPlain {0}
+\StyleFuerLaTeX {1}
+\StyleMitFonts {0}
+
+%
+% Datum dieser Beschreibungsdatei
+%
+\BeschreibungDatum {21.03.94}
+
+%
+% Autor dieser Beschreibungsdatei
+%
+\BeschreibungAutor {Stefan Pasche}
+ {Marktweg 93\,a\\58454 Witten}
+
+%
+% Mit dem Befehl \StyleFuerBeschreibung kann eine Style-Datei
+% eingelesen werden, die f"ur die folgende Beschreibung notwendig
+% ist. Es sind aber nur Styles zu benutzen, die wirklich f"ur
+% ein sinnvolles Beispiel erforderlich sind. Der Befehl kann
+% mehrmals angegeben werden.
+% Klammer 1: Name
+% Klammer 2: Extension
+%
+\StyleFuerBeschreibung {}{}
+\StyleFuerBeschreibung {}{}
+
+%
+% Jetzt kommt der Text der Beschreibung, der so kurz sein mu"s, da"s
+% die gesamte Beschreibung (mit Kopf) auf ZWEI Seiten pa"st!
+%
+\begin{Beschreibung}
+Das hier vorgestellte Style-Paket STB soll allen \TeX -Anwendern die
+M"oglichkeit geben, bei der Suche nach Styles auf eine Art
+\emph{Datenbank} zur"uckzugreifen. Jeder Style wird auf maximal zwei
+Seiten beschrieben, wobei der Beschreibung eine "ubersicht "uber die
+wichtigsten Merkmale wie Name, Version, Autor etc. vorangeht. Dieser
+Kopf ist f"ur alle Style-Beschreibungen gleich.
+
+Um eine Einheitlichkeit zu erreichen, wird dem Beschreibenden, bei dem
+es sich nicht um den Autor des Style handeln mu"s, eine Datei mit dem
+Namen MASKE zur Verf"ugung gestellt. Diese Datei wird zun"achst
+in eine Datei mit dem Namen des zu beschreibenden Style und der
+Endung .STB kopiert. Anschlie"send werden in die neue Datei
+die entsprechenden Daten einschlie"slich der Beschreibung an den daf"ur
+vorgesehenen Stellen eingetragen.
+Die Befehle zur Formatierung befinden sich in der Datei STBMAKRO.TEX.
+An diesen Befehlen darf nichts ge"andert werden, da sonst die Einheitlichkeit
+verloren geht. Die Datei STBMAKRO.TEX wird bei der Formatierung der neu
+erzeugten .STB-Datei automatisch eingeladen.
+
+Damit ist die Arbeit f"ur den Beschreibenden schon erledigt, wenn man einmal
+davon absieht, da"s eine Beschreibung eines Style, f"ur
+den noch keine Beschreibung existiert, u.~U. ziemlich m"uhsam ist.
+
+Die dadurch erzeugte \emph{Datenbank} kann ebenfalls bei der oben genannten
+Bezugsquelle erhalten werden.
+
+
+\end{Beschreibung}
+
+
+
+
+
diff --git a/info/german/stammtisch/wuppertal/stybesch/tfm/astrosym.tfm b/info/german/stammtisch/wuppertal/stybesch/tfm/astrosym.tfm
new file mode 100644
index 0000000000..4e26f526d3
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/stybesch/tfm/astrosym.tfm
Binary files differ
diff --git a/info/german/stammtisch/wuppertal/updates/konstruk.sty b/info/german/stammtisch/wuppertal/updates/konstruk.sty
new file mode 100644
index 0000000000..c3996b0fc1
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/updates/konstruk.sty
@@ -0,0 +1,1366 @@
+\def\fileversion{v1.4}
+\def\filedate{94/01/04}
+\def\docdate {93/08/14}
+
+%% \CheckSum{0}
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+%
+% \iffalse This is a METACOMMENT
+% Everything up to the next `\ fi' (without a blank) will
+% be ignored. This is necessary because `%' may no longer
+% be a comment mark when this file is read in.
+%
+% Style-option `zsb' to use with LaTeX v2.09
+% Copyright (C) 1992 Andreas Schrell, all rights reserved.
+%
+% IMPORTANT NOTICE:
+%
+% You are not allowed to change this file. You may however copy
+% this file to a different name and then change this copy.
+%
+% You are allowed to distribute this file under the condition that
+% it is distributed together with all files mentioned in readme.txt.
+% If you receive only some of these files from someone, complain!
+%
+% You are NOT ALLOWED to distribute this file alone.
+% You are NOT ALLOWED to take money for the distribution or use of
+% this file (or a changed version) except for some nominal charge
+% for copying etc.
+%
+%
+% Error reports for UNCHANGED versions please to:
+%
+% Andreas Schrell
+% Windh"ovel 2
+% D-42279 Wuppertal
+% Federal Republic of Germany
+% Internet: <Andreas.Schrell@FernUni-Hagen.de>
+%
+% \fi
+%
+% \DoNotIndex{\@M,\@Mi,\@bsphack,\@cclv,\@colht,\@currlist,\@deferlist}
+% \DoNotIndex{\@elt,\@esphack,\@floatplacement}
+% \DoNotIndex{\@ifundefined,\@ifnextchar,\@makecol}
+% \DoNotIndex{\@ne,\@outputpage,\@scolelt,\@spaces,\@tempb,\@tempcnta}
+% \DoNotIndex{\@warning,\@width}
+% \DoNotIndex{\addvspace,\advance,\allowbreak}
+% \DoNotIndex{\baselineskip,\begingroup,\box,\columnsep,\copy,\count}
+% \DoNotIndex{\count@,\def,\dimen@,\divide,\docdate}
+% \DoNotIndex{\edef,\eject,\egroup,\else,\endgroup,\endinput}
+% \DoNotIndex{\fi,\fileversion,\filedate}
+% \DoNotIndex{\gdef,\global}
+% \DoNotIndex{\hbox,\hfil,\hrule,\ht,\hss}
+% \DoNotIndex{\ifdim,\ifnum,\ifvoid,\ignorespaces,\insert,\immediate}
+% \DoNotIndex{\let,\loop}
+% \DoNotIndex{\maxdepth,\message,\multiply}
+% \DoNotIndex{\newbox,\newcount,\newdimen,\newskip,\number,\newpage}
+% \DoNotIndex{\outputpenalty,\p@,\penalty}
+% \DoNotIndex{\relax,\repeat,\setbox,\skip,\space,\splitmaxdepth}
+% \DoNotIndex{\splittopskip,\string,\sixt@@n}
+% \DoNotIndex{\the,\thepage,\thr@@,\topskip,\tw@,\typeout}
+% \DoNotIndex{\unvbox,\vbox,\vfill,\vsplit,\voidb@x,\vrule}
+% \DoNotIndex{\write,\wd}
+% \DoNotIndex{\z@}
+%
+% \changes{v1.0b}{93/02/24}{{\tt`FreeEinfachseite} schaltete nicht
+% auf Einfachseiten.}
+% \changes{v1.0b}{93/02/24}{{\tt`KorEinfachseite} fehlte ganz.}
+% \changes{v1.0h}{93/06/21}{{\tt`MaximalSeite} aufgenommen.}
+% \changes{v1.1}{93/08/14}{{\tt`QuerFormat} hinzugef"ugt.}
+% \changes{v1.1}{93/08/14}{Automatische Berechnung von Satzbreite und
+% Satzh"ohe bei FreeStyle, falls nicht angegeben.}
+% \changes{v1.1}{93/08/14}{Testversion von {\tt`SchnittMarken}}
+% \changes{v1.2}{93/08/14}{Dimensionsregister sparen.}
+% \changes{v1.3}{93/10/03}{{\tt`Zentriert auf} hinzugef"ugt.
+% Schnittmarken mit Mittelmarkierungen.}
+%
+% \title{\vfil \thispagestyle{empty}
+% Dokumentation zum KONSTRUK.STY\\[4mm]
+% F"ur \LaTeX-Seitenlayout Festlegung
+% \thanks{Diese Datei
+% hat die Versionsnummer \fileversion, letzte "Anderung vom
+% \filedate, Dokumentation vom \docdate.}}
+%
+% \author{%
+% Andreas Schrell\\
+% Windh"ovel 2\\
+% D-42279 Wuppertal\\
+% Federal Republic of Germany\\
+% {\rm E-Mail:} {\tt Andreas.Schrell@FernUni-Hagen.de}}
+%
+% \date{Ausdruck vom \today}
+%
+%
+% \maketitle
+% \vfil
+% \begin{abstract}
+% \noindent
+% Diese Stil-Option f"ur \LaTeX\ dient zum komfortablen Festlegen des
+% Seitenlayouts f"ur \TeX-Dokumente. Neben vordefinierten Formaten werden
+% auch Befehle zum freien Einstellen des Layouts und Makros zum Testen
+% zur Verf"ugung gestellt.
+% \end{abstract}
+%
+% \vfil\vfil
+%
+% \pagebreak
+% \MakeShortVerb{\|}
+%
+% \section{Beschreibung der Befehle}
+%
+% \subsection{Papierformat festlegen}
+%
+% Nach dem Laden des Style-Files sollte das Papierformat des sp"ateren
+% Druckerzeugnisses angegeben werden. Hierzu dient der Befehl
+%\begin{verbatim}
+%\PapierFormat
+%\end{verbatim}
+% Als Parameter bekommt er entweder die genauen Ma"se des Papiers, z.\,B.
+%\begin{verbatim}
+%\PapierFormat <200mm,280mm>
+%\end{verbatim}
+% oder eines der folgenden Formatk"urzel:
+%\begin{verbatim}
+%A0 A1 A2 A3 A4 A5 A6 A7 A8 A9
+%B0 B1 B2 B3 B4 B5 B6 B7 B8 B9
+%C0 C1 C2 C3 C4 C5 C6 C7 C8 C9
+%\end{verbatim}
+% Daraus wird dann die Papiergr"o"se des zugeh"origen DIN-Formats
+% ermittelt. In diesem Falle werden die ermittelten Werte auch auf
+% dem Bildschirm ausgegeben.
+%
+% Das so erzeugte Format kann mit dem Befehl
+%\begin{verbatim}
+%\QuerFormat
+%\end{verbatim}
+% in das entsprechende Querformat (landscape) umgewandelt werden. Hierbei
+% wird nat"urlich nicht automatisch die \TeX-Ausgabe gedreht sondern nur
+% die Seitenausma"se bestimmt.
+%
+% \subsection{Freies Layout}
+%
+% \def\dim{{\it dimen\/}}
+% Der umfangreichste Befehl des Makropakets ist der |\FreeStyle|. Hier
+% die vollst"andige Syntax:
+% \begin{tabbing}
+% |\FreeStyle| \= [|Doppelseite|] [|Einfachseite|] \\
+% \> |Satzbreite <|\dim|>| \\
+% \> |Satzhoehe <|\dim|>| \\
+% \> |Bund <|\dim|>| \\
+% \> |Oben <|\dim|>| \\
+% \> |Aussen <|\dim|>| \\
+% \> |Unten <|\dim|>| \\
+% \> |Kopfzeile| \= \\
+% \>\> [|lebend|] [|tot|] \\
+% \>\> |Hoehe <|\dim|>| \\
+% \>\> |Abstand <|\dim|>| \\
+% \>\> |Text {...} |\hskip 3cm (bei Einfachseite) \\
+% \>\> |Text {...} {...}|\hskip 3cm (bei Doppelseite) \\
+% \> |/| \\
+% \> |Fusszeile| \= \\
+% \>\> |Abstand <|\dim|>| \\
+% \>\> |Text {...} |\hskip 3cm (bei Einfachseite) \\
+% \>\> |Text {...} {...}|\hskip 3cm (bei Doppelseite) \\
+% \> |/| \\
+% |/|
+% \end{tabbing}
+% Die Schl"usselworte k"onnen innerhalb einer Wertigkeit in beliebiger
+% Reihenfolge aufgef"uhrt werden. Nat"urlich k"onnen sie auch weggelassen
+% werden. Alle L"angenangaben stehen in spitzen Klammern (also Kleiner-
+% und Gr"o"serzeichen). Der Schr"agstrich dient zum Beenden der
+% Teildefinitionen und des Gesamtmakros. Er darf nicht weggelassen
+% werden. Ebenso m"ussen auch alle Leerzeichen eingehalten werden.
+% Wichtig ist, da"s der |Abstand| der Kopfzeile der wirkliche Abstand
+% ist, in der Fu"szeile jedoch den Abstand Basislinie -- Basislinie
+% bedeutet.
+%
+% \subsubsection{Konstruktionsmethoden}
+%
+% Es werden die folgenden Konstruktionen angeboten:\\*
+% |\Aehnlichkeitskonstruktion <|\dim|>| \\*
+% |\Renaissancekonstruktion <|\dim|>| \\*
+% |\Diagonalkonstruktion <|\dim|>| \\*
+% |\GoldenerSchnitt| \\*
+% |\SilbernerSchnitt| \\*
+% |\Rasterkonstruktion {|{\it Teilung\/}|}| \\*
+% |\FertigLayout 12A 12B 12C 10A 10B 10C 8A 7A| (wahlweise) \\*
+% |\MaximalSeite| \\*
+% Dimensionsangaben bezeichnen immer die Satzbreite. Standardm"a"sig
+% werden Doppelseiten vorgesehen. Die Kopf- und Fu"szeilen werden
+% nicht ver"andert. Mit einem nachfolgenden |\FreeStyle|-Befehl k"onnen
+% einzelne Parameter ver"andert werden.
+%
+% \subsubsection{Korrekturen am Format}
+% Zus"atzlich zum |\FreeStyle| gibt es auch den Befehl |\KorrStyle|. Er
+% besitzt dieselbe Syntax, Ma"se werden jedoch nicht auf den angegebenen
+% Betrag gesetzt, sondern entsprechend ver"andert. Zum Beispiel w"urde der
+% Befehl
+%\begin{verbatim}
+%\KorrStyle
+% Satzbreite <-1cm>
+% /
+%\end{verbatim}
+% die Satzbreite um 1\,cm verringern.
+%
+% \subsubsection{Schnittmarken}
+%
+% Schnittmarken am Papierrand k"onnen mit dem Befehl
+%\begin{verbatim}
+%\SchnittMarken
+%\end{verbatim}
+% am Beginn einer Seite erzeugt werden. Dies ist allerdings nur dann
+% sinnvoll, wenn man z.\,B. mit DVIDVI mehrere Seiten auf ein Blatt
+% drucken m"ochte und dies sp"ater beschneidet. Wird \verb+\SchnittMarken+
+% nicht am Seitenanfang aufgerufen, wird ein \verb+\clearpage+
+% eingef"ugt.
+%
+% \subsubsection{Layout-Zeichnungen}
+%
+% Der Befehl
+%\begin{verbatim}
+%\Layout
+%\end{verbatim}
+% erzeugt eine Layoutzeichnung in Originalgr"o"se. Die Beschriftung kann
+% mit
+% \begin{tabbing}
+% |\Layoutbeschriftung| \= \\
+% \> |Token| \\
+% \> |TeX-Namen| \\
+% \> |Werte| \\
+% \> |Einheit <|\dim|>| \\
+% \> |Konstruktion| \\
+% |/|
+% \end{tabbing}
+% eingestellt werden. Kleine Skizzen k"onnen mit
+%\begin{verbatim}
+%\begin{Layoutskizze} <5cm>
+%\GoldenerSchnitt
+%\end{Layoutskizze}
+%\end{verbatim}
+% erzeugt werden. Man kann den |<..>|-Parameter auch weglassen. Dann
+% geht die Skizze "uber die gesamte Zeilenbreite. Hier das Beispiel:
+% \[ \begin{Layoutskizze} <5cm>
+% \GoldenerSchnitt
+% \end{Layoutskizze} \]
+%
+%
+%
+% \end{document}
+%
+% \StopEventually{\PrintIndex \PrintChanges}
+%
+% \typein[\MitBesch]{^^JWollen Sie auch eine ausf\string"uhrliche
+% Beschreibung der Makros? (j/n)}
+%
+% \if n\MitBesch \let\next\end \else \def\next#1{} \fi
+% \next{document}
+%
+% \pagebreak
+%
+% \section{Die Makros}
+%
+% Zuerst die Lade-Meldung:
+% \begin{macrocode}
+\message{^^JLaTeX Konstruktion-Stil-Option Version \fileversion.^^J}%
+% \end{macrocode}
+%
+% Im folgenden werden die Makros vorgestellt. Bis auf das Verfahren der
+% Token-Parameter ist die Programmierung recht einfach. Es mu"s im
+% wesentlichen gerechnet werden. Als allererstes sorgen wir daf"ur, da"s
+% \TeX\ keine Schusterjungen und Hurenkinder setzt:
+% \begin{macrocode}
+\widowpenalty10000 \clubpenalty10000
+% \end{macrocode}
+%
+% \subsection{Die Schl"usselwort-Programmierung}
+%
+% Die Makros sind im Wesentlichen aus \PiCTeX\ "ubernommen. Ich danke
+% an dieser Stelle M.\,J.\,Wichura f"ur seine vorbildliche Arbeit.
+% Als erstes ben"otigen wir eine Hilfsmeldung und ein paar zus"atzliche
+% Makros, damit ein potentieller Benutzer auch
+% interaktiv falsche Schl"usselworte korrigieren kann.
+% \begin{macrocode}
+\newhelp\Schluesselhilfe{Das angegebene Schluesselwort ist nicht
+ definiert. Ersetze NEUES WORT in der vorgeschlagenen Antwort
+ durch das richtige!}
+
+\def\fixSchluessel#1{%
+ \errhelp=\Schluesselhilfe
+ \errmessage{Unbekanntes Schluesselwort `#1':^^J%
+ \the\Schluesseltoks{NEUES WORT}'}}
+
+\newtoks\Schluesseltoks
+\Schluesseltoks={Eingabe `i\Schluessel}
+
+\def\Schluessel#1{\nextSchluessel#1 }
+% \end{macrocode}
+% Nun kommt das Makro, das eine Schl"usselwortliste durchwandert und
+% daraus \TeX-Makronamen erzeugt. Damit unterschiedliche Oberbegriffe
+% mit gleichen Schl"usseln zu unterschiedlichen Befehlen expandiert
+% werden, wird der Oberbegriff mit in den Namen aufgenommen.
+% \begin{macrocode}
+\def\nextSchluessel#1 {%
+ \expandafter\ifx\csname\Ober#1\endcsname \relax
+ \def\Snext{\fixSchluessel{#1}}%
+ \else
+ \def\Snext{\csname\Ober#1\endcsname}%
+ \fi
+ \Snext}
+% \end{macrocode}
+% Die Makros der Schl"usselworte sind abh"angig vom Befehl, daher mu"s
+% jeweils ein Oberbegriff definiert bzw. restauriert werden.
+% \begin{macrocode}
+\def\NewOber#1{%
+ \expandafter\edef\csname OOBER#1\endcsname{\Ober}%
+ \edef\Ober{#1}}
+\def\OldOber#1{%
+ \edef\Ober{\csname OOBER#1\endcsname}}
+\def\Ober{}
+% \end{macrocode}
+%
+% \subsection{Ausgabe einer Testseite}
+%
+% \begin{macro}{\Layoutbeschriftung}
+% Zu Beginn soll ein Makro vorgestellt werden, mit dem das Seitenlayout
+% gezeichnet werden kann. Unterschiedliche Versionen sorgen daf"ur,
+% da"s sowohl mit als auch ohne Beschriftung ausgegeben werden kann. Die
+% folgenden Beschriftungsmethoden sind implementiert:
+% \begin{description}
+% \item[TeX-Namen] Es werden die \TeX-Bezeichnungen eingetragen.
+% \item[Token] Es werden die Token f"ur den |\FreeStyle|-Befehl
+% eingetragen.
+% \item[Werte] Es werden die Werte eingetragen.
+% \item[Einheit] Die Einheit f"ur die Werte wird festgelegt.
+% \end{description}
+% \begin{macrocode}
+\def\Layoutbeschriftung {\NewOber{LB}%
+ \Tokenfalse \TeXNamenfalse \Wertefalse
+ \Pfeilefalse
+ \def\Einheit{1mm}\def\EFaktor{1}\def\EMass{mm}%
+ \nextSchluessel}
+\newif\ifTeXNamen \newif\ifToken
+\newif\ifWerte \newif\ifPfeile
+\def\Einheit{1mm}
+\def\EFaktor{1}\def\EMass{mm}
+% \end{macrocode}
+% F"ur jedes der erlaubten Token folgt nun dessen Definition. Wir
+% beginnen am Ende:
+% \begin{macrocode}
+\@namedef{LB/}{\OldOber{LB}}
+% \end{macrocode}
+% Einfacher geht es nicht, oder? Als n"achstes werden dann einfach die
+% |\if|s entsprechend den Token gesetzt.
+% \begin{macrocode}
+\@namedef{LBTeX-Namen}{%
+ \Tokenfalse \TeXNamentrue
+ \Pfeiletrue
+ \nextSchluessel}
+\def\LBToken{%
+ \Tokentrue \TeXNamenfalse
+ \Pfeiletrue
+ \nextSchluessel}
+\def\LBWerte{%
+ \Wertetrue \Pfeiletrue
+ \nextSchluessel}
+\def\getEinheit#1#2. {%
+ \def\EFaktor{#1}\def\EMass{#2}}
+\def\LBEinheit <#1> {\def\He{#1}%
+ \def\Einheit{#1}\relax
+ \expandafter\getEinheit\He.
+ \Wertetrue \Pfeiletrue
+ \nextSchluessel}
+\def\LBKonstruktion{%
+ \ifx\setcoordinatesystem\undefined
+ \message{Warnung: Die Konstruktionsskizze kann nur mit
+ \string\PiCTeX\space gezeichnet werden.}%
+ \else
+ \Konstruktiontrue
+ \fi
+ \nextSchluessel}
+\newif\ifKonstruktion \Konstruktionfalse
+% \end{macrocode}
+% \end{macro}
+%
+% Im folgenden wird ein Hilfsmakro ben"otigt, da"s die Einheit pt von
+% einer Zahl entfernt. Es stammt auch aus \PiCTeX.
+% \begin{macrocode}
+\newdimen\removeDIM
+\def\removept#1#2{\removeDIM=#1\relax
+ \edef#2{\expandafter\removePT\the\removeDIM}}
+{\catcode`p=12 \catcode`t=12 \gdef\removePT#1pt{#1}}
+% \end{macrocode}
+%
+% \begin{macro}{\KonKasten}
+% Der wichtige Befehl, der jetzt programmiert werden soll, wird eine
+% ganze Reihe von K"asten zu zeichnen haben. Hiermit beginnen wir.
+% \begin{macrocode}
+\def\KonKasten #1 #2 [#3] at #4 #5 {%
+ \removept{#1}\Hw \removept{#2}\Hh
+ \removept{#4}\Hx \removept{#5}\Hy
+ \put(\Hx,\Hy){\makebox(0,0)[#3]{\framebox(\Hw,\Hh){}}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\KonPfeil}
+% \begin{macro}{\KonText}
+% Ein Pfeil zum Beschriften wird auch ben"otigt. Hier wird auch
+% entschieden, was als Ma"swert stehen soll. Wir brauchen (wieder
+% aus \PiCTeX\ ein Makro, mit dem man Dimensionsregister dividieren
+% kann:
+% \begin{macrocode}
+\newdimen\dimenA \newdimen\dimenB
+\newdimen\dimenC \newdimen\dimenD
+\def\@Divide#1#2#3{%
+ \dimenB=#1%
+ \dimenC=#2%
+ \dimenD=\dimenB
+ \divide \dimenD \dimenC
+ \dimenA=\dimenD
+ \multiply\dimenD \dimenC
+ \advance\dimenB -\dimenD
+ \dimenD=\dimenC
+ \ifdim\dimenD<0pt\dimenD=-\dimenD
+ \fi
+ \ifdim\dimenD<64pt
+ \Divstep[256]\Divstep[256]%
+ \else
+ \DIvide
+ \fi
+ #3=\dimenA\ignorespaces}
+\def\DIvide{%
+ \ifdim\dimenD<256pt
+ \Divstep[64]\Divstep[32]\Divstep[32]%
+ \else
+ \Divstep[8]\Divstep[8]\Divstep[8]\Divstep[8]\Divstep[8]%
+ \dimenA=2\dimenA
+ \fi}
+\def\Divstep[#1]{%
+ \dimenB=#1\dimenB
+ \dimenD=\dimenB
+ \divide \dimenD by \dimenC
+ \dimenA=#1\dimenA
+ \advance\dimenA by \dimenD
+ \multiply\dimenD by \dimenC
+ \advance\dimenB by -\dimenD}
+% \end{macrocode}
+% Um die vielen Berechnungen etwas "ubersichtlicher zu gestalten,
+% benutzen wir die Token-Makros zum Parsen von einfachen Formeln.
+% Es sind Ausdr"ucke der Form
+%\begin{verbatim}
+%\Rechne {...} + {...} - ... + {...} -> {...} [...]
+%\end{verbatim}
+% erlaubt. Es sind als "`Zahlen"' nur Dimensionen (pt) erlaubt.
+% Sie k"onne allerdings optionale Faktoren haben. Beispiel:
+%\begin{verbatim}
+%\Rechne {0.5\textwidth} + {\textwidth} - {2pt} -> {\Ergebnis}
+%\end{verbatim}
+% Die Makros sind eigentlich recht linear. Mit dem optionalen Argument
+% (in eckigen Klammern) kann das Ergebnis gleich ohne "`pt"' in ein
+% Makro "ubernommen werden.
+% \changes{v1.0b}{93/02/24}{$/$ und $*$ beim Rechnen erg"anzt.}
+% \begin{macrocode}
+\newdimen\HW
+\def\Rechne #1 {\NewOber{Rechne}%
+ \dimenA = #1%
+ \nextSchluessel}
+\@namedef{Rechne->}#1 {\OldOber{Rechne}%
+ #1=\dimenA\relax
+ \@ifnextchar[{\Rechneopt}{\ignorespaces}}
+\def\Rechneopt[#1] {\removept{\dimenA}{#1}\ignorespaces}
+\@namedef{Rechne+}#1 {%
+ \advance\dimenA by #1%
+ \nextSchluessel}
+\@namedef{Rechne-}#1 {%
+ \advance\dimenA by -#1%
+ \nextSchluessel}
+\@namedef{Rechne/}#1 {%
+ \divide\dimenA by #1%
+ \nextSchluessel}
+\@namedef{Rechne*}#1 {%
+ \multiply\dimenA by #1%
+ \nextSchluessel}
+\def\ABS#1{\ifdim#1<0pt-#1\else#1\fi}
+% \end{macrocode}
+% Jetzt kommt das Makro, mit dem die Bema"sung ausgegeben wird. Die
+% Einstellungen aus |\Layoutbeschriftung| werden beachtet.
+% \begin{macrocode}
+\def\CUT#1{\edef\TMP{#1}%
+ \edef#1{\expandafter\MakeCUT\TMP.000*}}
+\def\MakeCUT#1.#2#3#4*{#1.#2#3}
+\def\Wert#1#2{\@Divide{#1}{\Einheit}{\dimenA}%
+ \removept{\dimenA}{#2}%
+ \CUT#2}
+\def\KonText#1{%
+ \def\Name{%
+ \ifToken\hbox{\footnotesize#1\vphantom{)}}%
+ \else
+ \ifTeXNamen\hbox{\footnotesize\char92#1\vphantom{)}}\fi
+ \fi}%
+ \ifWerte
+ \ifToken
+ \expandafter\HW\csname DIM#1\endcsname
+ \else
+ \expandafter\HW\csname #1\endcsname
+ \fi
+ \ifdim\HW>12pt\vbox\fi{\footnotesize
+ \Wert{\HW}{\Hw}%
+ \Name
+ \hbox{\ifToken~=~\else\ifTeXNamen~=~\fi\fi
+ \Hw
+ \if\EFaktor1\else\cdot\EFaktor\fi
+ \,\EMass\vphantom{(}}}%
+ \else
+ \Name
+ \fi}
+\def\KonPfeil #1 from #2 #3 to #4 #5 {{%
+ \ifdim#2=#4% vertikaler Pfeil
+ \ifdim#3=#5\else
+ \Rechne {#3} - {#5} -> {\dimen0}
+ \Rechne {\ABS{\dimen0}} -> {\dimen1} [\Hl]
+ \Rechne {0.5\dimen0} + {#5} -> {\dimen0} [\Hm]
+ \ifdim#5<#3%
+ \removept{#5}\Ha
+ \else
+ \removept{#3}\Ha
+ \fi
+ \removept{#2}\Hx
+ \put(\Hx,\Ha){\vector(0,1){\Hl}}
+ \put(\Hx,\Ha){\vector(0,-1){0}}
+ \put(\Hx,\Hm){\makebox(0,0)[l]{\fbox{\KonText{#1}}}}
+ \fi
+ \else % horizontaler Pfeil
+ \Rechne {#2} - {#4} -> {\dimen0}
+ \Rechne {\ABS{\dimen0}} -> {\dimen1} [\Hl]
+ \Rechne {0.5\dimen0} + {#4} -> {\dimen0} [\Hm]
+ \ifdim#4<#2%
+ \removept{#4}\Ha
+ \else
+ \removept{#2}\Ha
+ \fi
+ \removept{#3}\Hy
+ \put(\Ha,\Hy){\vector(1,0){\Hl}}
+ \put(\Ha,\Hy){\vector(-1,0){0}}
+ \put(\Hm,\Hy){\makebox(0,0)[t]{\fbox{\KonText{#1}}}}
+ \fi
+}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% Nun zeichnen wir einfach eine \LaTeX-picture-Umgebung mit K"asten,
+% die die Layoutteile umranden. Hier k"onnen wir auch noch einige
+% Register allozieren.
+% \begin{macrocode}
+\newif\ifKopfinnen
+\newdimen\Skizze
+% \end{macrocode}
+% \begin{macro}{\Layoutskizze}
+% Das Layout soll sowohl formatf"ullend als auch klein in Abbildungen
+% dargestellt werden k"onnen. Die kleine Darstellung ruft man mit dem
+% Environment |Layoutskizze| auf. Der Verkleinerungsfaktor wird der
+% aktuellen Satzbreite angepa"st. Hier die Makros:
+% \begin{macrocode}
+\def\Layoutskizze{\@ifnextchar<{\Layoutmitmass}{\Layoutohne}}
+\def\Layoutohne{\leavevmode\hbox\bgroup
+ \Skizze=\linewidth\ignorespaces}
+\def\Layoutmitmass <#1> {\leavevmode\hbox\bgroup
+ \Skizze=#1\ignorespaces}
+\def\endLayoutskizze{%
+ \@Divide{\Skizze}{2\Papierbreite}{\Skizze}%
+ \removept{\Skizze}\MinFak
+ \mbox{\fboxrule=0.1pt\fboxsep=-\fboxrule
+ \topskip=0pt
+ \unitlength=\Skizze
+ \ifKopfinnen
+ \Rechne {\DIMOben} + {\DIMKAbstand} + {\DIMKHoehe}
+ -> {\dimen0}
+ \else
+ \dimen0=\DIMOben
+ \fi
+ \Pfeilefalse
+ \fbox{\c@page=2\Konstruktionsbild
+ \vbox to \MinFak\Papierhoehe
+ {\kern\MinFak\dimen0
+ \hbox to \MinFak\Papierbreite{%
+ \kern\MinFak\DIMAussen
+ \LayoutXX
+ \hss}\vss}}%
+ \fbox{\c@page=1\Konstruktionsbild
+ \vbox to \MinFak\Papierhoehe
+ {\kern\MinFak\dimen0
+ \hbox to \MinFak\Papierbreite{%
+ \kern\MinFak\DIMBund
+ \LayoutXX
+ \hss}\vss}}}%
+ \egroup}
+% \end{macrocode}
+% \end{macro}
+% Das Konstruktionsbild wird mit \PiCTeX\ realisiert. Das Bild darf
+% keine Ausma"se haben:
+% \begin{macrocode}
+\def\Konstruktionsbild{%
+ \ifKonstruktion
+ \beginpicture
+ \accountingoff
+ \setcoordinatesystem units <\unitlength,\unitlength>
+ \setplotarea x from 0 to 0, y from 0 to 0
+ \the\PiCKonstruktion
+ \endpicture
+ \fi}
+\newtoks\PiCKonstruktion \PiCKonstruktion={}
+% \end{macrocode}
+% Das gro"se Layout ist ganz einfach:
+% \begin{macrocode}
+\def\Layout{{\unitlength=1pt\LayoutXX}%
+ \thispagestyle{empty}}
+% \end{macrocode}
+% Jetzt kommt das eigentliche Makro, das die Zeichnung realisiert.
+% \begin{macrocode}
+\def\LayoutXX{\hbox{%
+ \removept{\topskip}\TOPSKIP
+ \begin{picture}(0,0)(0,-\TOPSKIP)
+ \ifKopfinnen
+ \KonKasten {\textwidth} {\headsep} [bl] at 0pt 0pt
+ \thicklines
+ \KonKasten {\textwidth} {\DIMSatzhoehe} [bl]
+ at {0pt} {-\textheight}
+ \else
+ \KonKasten {\textwidth} {\headheight} [bl] at 0pt {\headsep}
+ \thicklines
+ \KonKasten {\textwidth} {\textheight} [tl] at 0pt 0pt
+ \fi
+ \thinlines
+ \Rechne {-\textheight} - {\footskip} -> {\dimen2}
+ \KonKasten {\textwidth} {\headheight} [bl] at 0pt {\dimen2}
+ \ifPfeile
+ \fboxsep=1pt \fboxrule=0.1pt
+ \ifToken
+ \Rechne {\dimen2} + {\footskip} -> {\dimen2}
+ \KonPfeil {Satzbreite}
+ from {0pt} {-0.1\textheight}
+ to {\textwidth} {-0.1\textheight}
+ \ifKopfinnen
+ \Rechne {\headsep} + {\headheight} -> {\dimen2} [\Zpt]
+ \KonPfeil {Satzhoehe}
+ from {0.1\textwidth} {\dimen2}
+ to {0.1\textwidth} {-\textheight}
+ \else
+ \def\Zpt{0}%
+ \KonPfeil {Satzhoehe}
+ from {0.1\textwidth} {0pt}
+ to {0.1\textwidth} {-\textheight}
+ \fi
+ \KonPfeil {KAbstand}
+ from {0.2\textwidth} {0pt}
+ to {0.2\textwidth} {\headsep}
+ \Rechne {\headsep} + {\headheight} -> {\dimen2}
+ \KonPfeil {KHoehe}
+ from {0.3\textwidth} {\headsep}
+ to {0.3\textwidth} {\dimen2}
+ \Rechne {-\textheight} - {\footskip} -> {\dimen2}
+ \KonPfeil {FAbstand}
+ from {0.2\textwidth} {-\textheight}
+ to {0.2\textwidth} {\dimen2}
+ \Rechne {-\textheight} - {\DIMUnten} -> {\dimen3}
+ \KonPfeil {Unten}
+ from {0pt} {-\textheight} to {0pt} {\dimen3}
+ \ifKopfinnen
+ \Rechne {\topmargin} + {\voffset} + {1in}
+ + {\headheight} + {\headsep} -> {\dimen2}
+ \Rechne {\headheight} + {\headsep} -> {\dimen3}
+ \else
+ \dimen2 = \DIMOben
+ \dimen3 = 0pt
+ \fi
+ \KonPfeil {Oben}
+ from {0pt} {\dimen2} to {0pt} {\dimen3}
+ \ifodd\value{page}
+ \Rechne {-\oddsidemargin} - {\hoffset} - {1in} -> {\dimen2}
+ \KonPfeil {Bund}
+ from {\dimen2} {\Zpt pt} to {0pt} {\Zpt pt}
+ \Rechne {\textwidth} + {\DIMAussen} -> \dimen2
+ \KonPfeil {Aussen}
+ from {\textwidth} {\Zpt pt} to {\dimen2} {\Zpt pt}
+ \else
+ \Rechne {-\evensidemargin} - {\hoffset} - {1in} -> {\dimen2}
+ \KonPfeil {Aussen}
+ from {\dimen2} {\Zpt pt} to {0pt} {\Zpt pt}
+ \Rechne {\textwidth} + {\DIMBund} -> \dimen2
+ \KonPfeil {Bund}
+ from {\textwidth} {\Zpt pt} to {\dimen2} {\Zpt pt}
+ \fi
+ \fi
+ \fi
+ \end{picture}}}
+% \end{macrocode}
+%
+% \subsubsection{Papierformat}
+%
+% \begin{macro}{\PapierFormat}
+% F"ur die Konstruktionen mu"s das Papierformat bekannt sein. Man kann
+% DIN-Formate angeben, aber auch explizite L"angenangaben sind erlaubt.
+% \begin{macrocode}
+\let\EndPapierFormat\relax
+\let\EndPapierFormatEX\relax
+\def\PapierFormat{%
+ \@ifnextchar<{\let\EndPapierFormatEX\EndPapierFormat
+ \PapierFormatEX}{\PapierFormatDIN}}
+\let\Papierformat\PapierFormat
+\newdimen\Papierbreite \newdimen\Papierhoehe
+\def\PapierFormatEX<#1,#2> {%
+ \Papierbreite=#1\relax
+ \Papierhoehe=#2\relax
+ \EndPapierFormatEX}
+\def\WZwei{1.4142pt}
+\newcount\loopcount
+\def\PapierFormatDIN#1#2 {%
+ \if#1A\PapierFormatEX <841mm,1189mm>
+ \else
+ \if#1B\PapierFormatEX <1000mm,1414mm>
+ \else
+ \if#1C\PapierFormatEX <917mm,1297mm>
+ \else
+ \message{Warnung: Formatreihe #1 nicht definiert.}
+ \message{Benutze DIN-A-Reihe.}
+ \PapierFormatEX <841mm,1189mm>
+ \fi
+ \fi
+ \fi
+ \loopcount=#2\relax
+ \loop
+ \ifnum\loopcount>0
+ \@Divide{\Papierbreite}{\WZwei}{\Papierbreite}
+ \@Divide{\Papierhoehe}{\WZwei}{\Papierhoehe}
+ \advance\loopcount by -1
+ \repeat
+ \RoundmmInt\Papierbreite
+ \RoundmmInt\Papierhoehe
+ \Wert{\Papierbreite}\Ha \Wert{\Papierhoehe}\Hb
+ \message{DIN #1#2 berechnet zu <\Ha\EMass,\Hb\EMass>.}%
+ \EndPapierFormat}
+\PapierFormat <210mm,297mm>
+% \end{macrocode}
+% Nach der DIN-Norm wird nach der Berechnung das Format auf Millimeter
+% gerundet. Das geschieht durch das Makro |\RoundmmInt|. Der Summand
+% 0.5001 ist der Wert 0.5, der jedoch wegen der Integer-Rechnung von
+% \TeX\ etwas korrigiert werden mu"s. |\CUTG| schneidet auf ganze
+% Zahlen ab.
+% \begin{macrocode}
+\def\RoundmmInt#1{%
+ \@Divide{#1}{1mm}{\HW}%
+ \Rechne {\HW} + {0.0pt} -> {\HW}
+ \removept{\HW}\Hw
+ \CUTG\Hw
+ #1=\Hw mm}
+\def\CUTG#1{\edef\TMP{#1}%
+ \edef#1{\expandafter\MakeCUTG\TMP.000*}}
+\def\MakeCUTG#1.#2#3#4*{#1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\QuerFormat}
+% Das Umschalten auf Querformat ist ganz einfach, es wird nur die
+% Papierh"ohe mit der Papierbreite vertauscht:
+% \begin{macrocode}
+\def\QuerFormat{%
+ \dimen0=\Papierbreite
+ \Papierbreite=\Papierhoehe
+ \Papierhoehe=\dimen0}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Freie Einstellung der Parameter}
+%
+% \begin{macro}{\FreeStyle}
+% Die Konstruktionsmethoden bauen alle auf dem folgenden Befehl
+% auf. Mit |\FreeStyle| werden beliebige Werte gesetzt und
+% globale Einstellungen vorgenommen.
+%
+% Zuerst ben"otigen wir einige Register:
+% \begin{macrocode}
+\newdimen\DIMSatzbreite \newdimen\DIMSatzhoehe
+\newdimen\DIMBund \newdimen\DIMAussen
+\newdimen\DIMOben \newdimen\DIMUnten
+\newdimen\DIMKAbstand \newdimen\DIMKHoehe
+\newdimen\DIMFAbstand
+\newif\ifDoppelseite \Doppelseitefalse
+\newif\ifnoSB \newif\ifnoSH
+% \end{macrocode}
+% Jetzt folgen die Makros f"ur die Schl"usselworte.
+% \begin{macrocode}
+\def\FreeStyle{\NewOber{Free}%
+ \noSBtrue\noSHtrue
+ \DIMSatzbreite = \textwidth
+ \DIMSatzhoehe = \textheight
+ \ifKopfinnen
+ \Rechne {\DIMSatzhoehe} + {\headsep} + {\headheight}
+ -> {\DIMSatzhoehe}
+ \Rechne {1in} + {\topmargin} + {\voffset} -> {\DIMOben}
+ \else
+ \Rechne {1in} + {\topmargin} + {\voffset}
+ + {\headheight} + {\headsep} -> {\DIMOben}
+ \fi
+ \Rechne {1in} + {\hoffset} + {\oddsidemargin} -> {\DIMBund}
+ \Rechne {\Papierbreite} - {\DIMBund} - {\DIMSatzbreite}
+ -> {\DIMAussen}
+ \Rechne {\Papierhoehe} - {\DIMOben} - {\DIMSatzhoehe}
+ -> {\DIMUnten}
+ \DIMKAbstand = \headsep
+ \DIMKHoehe = \headheight
+ \DIMFAbstand = \footskip
+ \if@twoside\Doppelseitetrue\fi
+ \nextSchluessel}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\@namedef{Free/}{\OldOber{Free}%
+ \ifnoSB
+ \Rechne {\Papierbreite} - {\DIMBund} - {\DIMAussen}
+ -> {\DIMSatzbreite}
+ \fi
+ \textwidth = \DIMSatzbreite
+ \ifnoSH
+ \Rechne {\Papierhoehe} - {\DIMOben} - {\DIMUnten}
+ -> {\DIMSatzhoehe}
+ \fi
+ \textheight = \DIMSatzhoehe
+ \headheight\DIMKHoehe
+ \headsep\DIMKAbstand
+ \footskip\DIMFAbstand
+ \voffset=0pt\hoffset=0pt
+ \Rechne {\DIMBund} - {1in} -> {\oddsidemargin}
+ \Rechne {\DIMAussen} - {1in} -> {\evensidemargin}
+ \ifKopfinnen
+ \Rechne {\DIMSatzhoehe} - {\headsep} - {\headheight}
+ -> {\textheight}
+ \Rechne {\DIMOben} - {1in} -> {\topmargin}
+ \else
+ \textheight = \DIMSatzhoehe
+ \Rechne {\DIMOben} - {\headsep} - {\headheight} - {1in}
+ -> {\topmargin}
+ \fi
+ \ifDoppelseite
+ \@twosidetrue\@mparswitchtrue
+ \ifx\KopfTextlinks\Pempty\else
+ \def\@evenhead{\KopfTextlinks}%
+ \fi
+ \ifx\FussTextlinks\Pempty\else
+ \def\@evenfoot{\FussTextlinks}%
+ \fi
+ \else
+ \@twosidefalse\@mparswitchfalse
+ \fi
+ \ifx\KopfTextrechts\Pempty\else
+ \def\@oddhead{\KopfTextrechts}%
+ \fi
+ \ifx\FussTextrechts\Pempty\else
+ \def\@oddfoot{\FussTextrechts}%
+ \fi
+}
+\def\Pempty{.}
+\def\KopfTextlinks{.}
+\def\KopfTextrechts{.}
+\def\FussTextlinks{.}
+\def\FussTextrechts{.}
+\def\FreeDoppelseite{\Doppelseitetrue
+ \nextSchluessel}
+\def\FreeEinfachseite{\Doppelseitefalse
+ \nextSchluessel}
+\def\FreeSatzbreite <#1> {\DIMSatzbreite=#1%
+ \noSBfalse
+ \nextSchluessel}
+\def\FreeSatzhoehe <#1> {\DIMSatzhoehe=#1%
+ \noSHfalse
+ \nextSchluessel}
+\def\FreeBund <#1> {\DIMBund=#1%
+ \nextSchluessel}
+\def\FreeAussen <#1> {\DIMAussen=#1%
+ \nextSchluessel}
+\def\FreeOben <#1> {\DIMOben=#1%
+ \nextSchluessel}
+\def\FreeUnten <#1> {\DIMUnten=#1%
+ \nextSchluessel}
+\def\FreeKopfzeile{\NewOber{FreeKopf}%
+ \nextSchluessel}
+\@namedef{FreeKopf/}{\OldOber{FreeKopf}%
+ \nextSchluessel}
+\def\FreeKopflebend{\Kopfinnentrue
+ \nextSchluessel}
+\def\FreeKopftot{\Kopfinnenfalse
+ \nextSchluessel}
+\def\FreeKopfHoehe <#1> {\DIMKHoehe#1
+ \nextSchluessel}
+\def\FreeKopfAbstand <#1> {\DIMKAbstand#1
+ \nextSchluessel}
+\def\FreeKopfText{%
+ \ifDoppelseite
+ \let\next\KTextzwei
+ \else
+ \let\next\KTexteins
+ \fi\next}
+\def\KTexteins #1 {\def\KopfTextrechts{{#1}}%
+ \nextSchluessel}
+\def\KTextzwei #1 #2 {\def\KopfTextlinks{{#1}}%
+ \def\KopfTextrechts{{#2}}%
+ \nextSchluessel}
+\def\FreeFusszeile{\NewOber{FreeFuss}%
+ \nextSchluessel}
+\@namedef{FreeFuss/}{\OldOber{FreeFuss}%
+ \nextSchluessel}
+\def\FreeFussAbstand <#1> {\DIMFAbstand#1
+ \nextSchluessel}
+\def\FreeFussText{%
+ \ifDoppelseite
+ \let\next\FTextzwei
+ \else
+ \let\next\FTexteins
+ \fi\next}
+\def\FTexteins #1 {\def\FussTextrechts{{#1}}%
+ \nextSchluessel}
+\def\FTextzwei #1 #2 {\def\FussTextlinks{{#1}}%
+ \def\FussTextrechts{{#2}}%
+ \nextSchluessel}
+% \end{macrocode}
+%
+% \subsection{Korrektur voreingestellter Werte}
+%
+% An dieser Stelle wiederholen sich in etwa die Makros aus dem
+% vorangegangenen Abschnitt. Die Zuweiseungen sind jedoch Additionen.
+% Die Kopf- und Fu"szeilen-Textfestlegung ist in |\KorrStyle| nicht
+% vorgesehen. Man kann ja |\FreeStyle| dazu benutzen.
+% \begin{macrocode}
+\def\KorrStyle{\NewOber{Korr}%
+ \DIMSatzbreite = \textwidth
+ \DIMSatzhoehe = \textheight
+ \ifKopfinnen
+ \Rechne {\DIMSatzhoehe} + {\headsep} + {\headheight}
+ -> {\DIMSatzhoehe}
+ \Rechne {1in} + {\topmargin} + {\voffset} -> {\DIMOben}
+ \else
+ \Rechne {1in} + {\topmargin} + {\voffset}
+ + {\headheight} + {\headsep} -> {\DIMOben}
+ \fi
+ \Rechne {1in} + {\hoffset} + {\oddsidemargin} -> {\DIMBund}
+ \Rechne {\Papierbreite} - {\DIMBund} - {\DIMSatzbreite}
+ -> {\DIMAussen}
+ \Rechne {\Papierhoehe} - {\DIMOben} - {\DIMSatzhoehe}
+ -> {\DIMUnten}
+ \DIMKAbstand\headsep
+ \DIMKHoehe\headheight
+ \DIMFAbstand\footskip
+ \if@twoside\Doppelseitetrue\fi
+ \nextSchluessel}
+\@namedef{Korr/}{\OldOber{Korr}%
+ \textwidth\DIMSatzbreite
+ \headheight\DIMKHoehe
+ \headsep\DIMKAbstand
+ \footskip\DIMFAbstand
+ \voffset=0pt \hoffset=0pt
+ \Rechne {\DIMBund} - {1in} -> {\oddsidemargin}
+ \Rechne {\DIMAussen} - {1in} -> {\evensidemargin}
+ \ifKopfinnen
+ \Rechne {\DIMSatzhoehe} - {\headsep} - {\headheight}
+ -> {\textheight}
+ \Rechne {\DIMOben} - {1in} -> {\topmargin}
+ \else
+ \textheight = \DIMSatzhoehe
+ \Rechne {\DIMOben} - {\headsep} - {\headheight} - {1in}
+ -> {\topmargin}
+ \fi
+ \ifDoppelseite
+ \@twosidetrue\@mparswitchtrue
+ \fi
+}
+\def\KorrDoppelseite{\Doppelseitetrue
+ \nextSchluessel}
+\def\KorrEinfachseite{\Doppelseitefalse
+ \nextSchluessel}
+\def\KorrSatzbreite <#1> {\advance \DIMSatzbreite by #1%
+ \nextSchluessel}
+\def\KorrSatzhoehe <#1> {\advance \DIMSatzhoehe by #1%
+ \nextSchluessel}
+\def\KorrBund <#1> {\advance \DIMBund by #1%
+ \nextSchluessel}
+\def\KorrAussen <#1> {\advance \DIMAussen by #1%
+ \nextSchluessel}
+\def\KorrOben <#1> {\advance \DIMOben by #1%
+ \nextSchluessel}
+\def\KorrUnten <#1> {\advance \DIMUnten by #1%
+ \nextSchluessel}
+\def\KorrKopfzeile{\NewOber{KorrKopf}%
+ \nextSchluessel}
+\@namedef{KorrKopf/}{\OldOber{KorrKopf}%
+ \nextSchluessel}
+\def\KorrKopflebend{\Kopfinnentrue
+ \nextSchluessel}
+\def\KorrKopftot{\Kopfinnenfalse
+ \nextSchluessel}
+\def\KorrKopfHoehe <#1> {\advance \DIMKHoehe by #1
+ \nextSchluessel}
+\def\KorrKopfAbstand <#1> {\advance \DIMKAbstand by #1
+ \nextSchluessel}
+\def\KorrFusszeile{\NewOber{KorrFuss}%
+ \nextSchluessel}
+\@namedef{KorrFuss/}{\OldOber{KorrFuss}%
+ \nextSchluessel}
+\def\KorrFussAbstand <#1> {\advance \DIMFAbstand by #1
+ \nextSchluessel}
+% \end{macrocode}
+%
+% \subsection{Konstruktionsmethoden}
+%
+% Um dem Anwender nun aber wirklich das Leben zu erleichtern, werden
+% einige Konstruktionsmethoden hier schon implementiert. Ihre Ergebnisse
+% k"onnen dan immer noch mit |\KorrStyle| korrigiert bzw. angepa"st
+% werden. Wichtig ist, da"s dem Benutzer verschiedene Layouts an die
+% Hand gegeben werden, die ohne Aufwand mit \TeX\ realisiert werden
+% k"onnen. Bevor diese Konstruktionsmethoden aufgerufen werden k"onnen,
+% mu"s das Papierformat definiert worden sein.
+%
+% \subsubsection{"Ahnlichkeitskonstruktion}
+%
+% Die Basis ist eine vom Benutzer zu w"ahlende Satzbreite. Davon
+% ausgehend wird dann ein zum Papierformat "ahnliches Rechteck als
+% Satzspiegel konstruiert. Die R"ander werden im Verh"altnis des
+% goldenen Schnitts ($1:1.618$) verteilt.
+% \begin{macrocode}
+\def\Aehnlichkeitskonstruktion <#1> {%
+ \@Divide{\Papierhoehe}{\Papierbreite}{\HW}%
+ \removept{\HW}\Hf
+ \DIMSatzbreite=#1\relax
+ \DIMSatzhoehe=\Hf\DIMSatzbreite
+ \Rechne {\Papierbreite} - {\DIMSatzbreite} -> {\HW}
+ \DIMAussen = 0.618\HW \DIMBund = 0.382\HW
+ \Rechne {\Papierhoehe} - {\DIMSatzhoehe} -> {\HW}
+ \DIMUnten = 0.618\HW \DIMOben = 0.382\HW
+ \WerteRealisieren}
+% \end{macrocode}
+% Die Festlegung der \TeX-Werte kann man sich nun aus dem |\FreeStyle|
+% borgen, genauer aus dem Makro |\Free/|. Zum Ende der Konstruktion
+% wird dann noch eine Plausibilit"atspr"ufung durchgef"uhrt, um den
+% Benutzer vor merkw"urdigen Werten zu warnen.
+% \begin{macrocode}
+\def\WW#1{\Wert{\csname DIM#1\endcsname}{\HH}%
+ \message{(#1:\HH)}}
+\def\WerteRealisieren{%
+ \Plausibilitaet%
+ \DIMKAbstand=1\baselineskip
+ \DIMKHoehe=1\baselineskip
+ \DIMFAbstand=2\baselineskip
+ \Kopfinnentrue
+ \NewOber{Korr}%
+ \csname Korr/\endcsname}
+% \end{macrocode}
+%
+% Die Plausibilit"atspr"ufung wird gleich anschlie"send programmiert. Sie
+% ist recht einfach nachzuvollziehen.
+% \begin{macrocode}
+\def\Plausibilitaet{%
+ \ifdim\DIMSatzbreite<0.6\Papierbreite
+ \KonWarn{Die Satzbreite ist ziemlich klein.}%
+ \fi
+ \ifdim\DIMSatzbreite>0.8\Papierbreite
+ \KonWarn{Die Satzbreite ist ziemlich gross.}%
+ \fi
+ \ifdim\DIMBund<15mm
+ \KonWarn{Der Bundsteg ist sehr klein ausgefallen.}%
+ \fi
+ \ifdim\Rcount=1234pt\else
+ \ifdim\Rcount<5pt
+ \removept{\Rcount}\RCount
+ \KonWarn{Rasterteilung zu grob (\RCount).}%
+ \fi
+ \ifdim\Rcount>12pt
+ \removept{\Rcount}\RCount
+ \KonWarn{Rasterteilung zu fein (\RCount).}%
+ \fi
+ \fi}
+\def\KonWarn#1{\message{Layout Warnung: #1}}
+% \end{macrocode}
+%
+% \subsubsection{Renaissance-Verteilung}
+%
+% Bei der Renaissance-Verteilun werden die R"ander im Verh"altnis
+% $2:3:4:5$ aufgeteilt. Die Satzbreite wird vorgegeben.
+%
+% \begin{macrocode}
+\def\Renaissancekonstruktion <#1> {%
+ \DIMSatzbreite=#1\relax
+ \Rechne {\Papierbreite} - {\DIMSatzbreite} -> {\HW}
+ \divide\HW by 6
+ \DIMBund=2\HW \DIMAussen=4\HW \DIMOben=3\HW \DIMUnten=5\HW
+ \Rechne {\Papierhoehe} - {\DIMOben} - {\DIMUnten}
+ -> {\DIMSatzhoehe}
+ \WerteRealisieren}
+% \end{macrocode}
+%
+% \subsubsection{Rasterkonstruktion}
+%
+% Die allgemeine Rasterkonstruktion geht von einer rasterartigen
+% Aufteilung der Seite auf. Die R"ander werden dann im Verh"altnis
+% $1:2$ besetzt.
+% \begin{macrocode}
+\newdimen\Rcount \Rcount=1234pt
+\def\Rasterkonstruktion #1 {\Rcount=#1pt%
+ \advance\Rcount by -3pt%
+ \removept{\Rcount}\RCount
+ \@Divide{\Papierbreite}{#1pt}{\HW}%
+ \DIMSatzbreite=\RCount\HW
+ \@Divide{\Papierhoehe}{\Papierbreite}{\HW}%
+ \removept{\HW}\Hw
+ \DIMSatzhoehe=\Hw\DIMSatzbreite
+ \@Divide{\Papierbreite}{#1pt}{\HW}%
+ \DIMBund=1\HW
+ \DIMAussen=2\HW
+ \edef\RasterWeiteB{\the\HW}%
+ \@Divide{\Papierhoehe}{#1pt}{\HW}%
+ \DIMOben=1\HW
+ \DIMUnten=2\HW
+ \edef\RasterWeiteH{\the\HW}%
+ \Rcount=#1pt%
+ \WerteRealisieren
+% \end{macrocode}
+% Nun wird noch die Konstruktionsmethode als \PiCTeX-Eingabe festgelegt,
+% damit sie bei der Satzspiegelzeichnung mit eingebaut werden kann:
+% \begin{macrocode}
+ \PiCKonstruktion={%
+ \removept{\Papierbreite}\Pb
+ \removept{\Papierhoehe}\Ph
+ \dimen0\Rcount\removept{\Rcount}\RC
+ \edef\RC{\expandafter\MakeCUTG\RC.000*}%
+ \expandafter\HW\RC pt
+ \ifdim\Rcount=\HW
+ \accountingoff
+ \put {\beginpicture
+ \setplotarea x from 0 to {\Pb}, y from 0 to {\Ph}
+ \accountingoff
+ \linethickness=0.1pt
+ \grid {\RC} {\RC}
+ \endpicture} [Bl] at 0 0
+ \fi}}
+% \end{macrocode}
+%
+% \subsubsection{Diagonalkonstruktion}
+%
+% Das Diagonalverfahren ist ein Rasterverfahren mit ggf.
+% nichtganzzahliger Rasterzahl. Die Berechnung erfolgt nach
+% der gew"unschten Satzbreite
+% \begin{macrocode}
+\def\Diagonalkonstruktion <#1> {\DIMSatzbreite=#1
+ \Rechne {0.33333\Papierbreite} - {0.33333\DIMSatzbreite} -> {\HW}
+ \@Divide{\Papierbreite}{\HW}{\Rcount}%
+ \removept{\Rcount}\RCOunt
+ \Rasterkonstruktion {\RCOunt}
+% \end{macrocode}
+% Auch hier kommt noch die Konstruktionsmethode:
+% \begin{macrocode}
+ \PiCKonstruktion={%
+ \removept{\Papierbreite}{\Pb}%
+ \removept{\Papierhoehe}{\Ph}%
+ \removept{0.5\Papierhoehe}{\Phh}%
+ \ifodd\value{page}%
+ \plot {\Pb} 0 0 {\Ph} /
+ \plot {\Pb} 0 0 {\Phh} {\Pb} {\Ph} /
+ \else
+ \plot 0 {\Ph} {\Pb} {\Phh} 0 0 /
+ \plot 0 0 {\Pb} {\Ph} /
+ \fi}}
+% \end{macrocode}
+%
+% \subsubsection{Goldener Schnitt}
+%
+% Der Konstruktion zum Goldenen Schnitt ist noch einfacher zu
+% programmieren. Sie hat den Vorteil, da"s zus"atzlich zu den R"andern
+% auch der Satzspiegel zum Papierformat im Goldenen Schnitt steht.
+% Es handelt sich einfach um die Rasterkonstruktion mit Rasterwert~9.
+% \begin{macrocode}
+\def\GoldenerSchnitt{%
+ \Rasterkonstruktion 9
+% \end{macrocode}
+% Die Konstruktionsmethode wird jedoch wie bei der Diagonalkonstruktion
+% mit einer Zusatzkonstruktion gezeichnet.
+% \begin{macrocode}
+ \PiCKonstruktion={%
+ \removept{\Papierbreite}{\Pb}%
+ \removept{\Papierhoehe}{\Ph}%
+ \removept{0.5\Papierhoehe}{\Phh}%
+ \removept{0.3333\Papierbreite}{\Pbd}%
+ \removept{0.6667\Papierbreite}{\Pbdd}%
+ \removept{0.6667\Papierhoehe}{\Phs}%
+ \removept{0.8333\Papierhoehe}{\Phss}%
+ \ifodd\value{page}%
+ \plot {\Pb} 0 0 {\Ph} /
+ \plot {\Pb} 0 0 {\Phh} {\Pb} {\Ph} /
+ \plot {\Pbd} {\Phs} {\Pbd} {\Ph} /
+ \plot {\Pbd} {\Ph} 0 {\Phss} /
+ \else
+ \plot 0 {\Ph} {\Pb} {\Phh} 0 0 /
+ \plot 0 0 {\Pb} {\Ph} /
+ \plot {\Pbdd} {\Phs} {\Pb} {\Phss} /
+ \fi}}
+% \end{macrocode}
+%
+% \subsubsection{Silberner Schnitt}
+%
+% Da wir bei der Konstruktion des Goldenen Schnitts eigentlich gar nicht
+% so recht wissen, was hier eigentlich im Verh"altnis des Goldenen
+% Schnitts stehen soll, kommt hier ein etwas abgewandeltes Verfahren.
+% Damit steht die Satzbreite (Satzh"ohe) zur Papierbreite (Papierh"ohe)
+% etwa im richtigen Verh"altnis ($3:5$).
+% \begin{macrocode}
+\def\SilbernerSchnitt{%
+ \Rasterkonstruktion 8
+% \end{macrocode}
+% Die Konstruktionsmethode ist fast die des Goldenen Schnitts:
+% \begin{macrocode}
+ \PiCKonstruktion={%
+ \removept{\Papierbreite}{\Pb}%
+ \removept{\Papierhoehe}{\Ph}%
+ \removept{0.5\Papierhoehe}{\Phh}%
+ \removept{0.3333\Papierbreite}{\Pbd}%
+ \removept{0.5\Papierbreite}{\Pbh}%
+ \removept{0.6667\Papierhoehe}{\Phs}%
+ \ifodd\value{page}%
+ \plot {\Pb} 0 0 {\Ph} /
+ \plot {\Pb} 0 0 {\Phh} {\Pb} {\Ph} /
+ \plot {\Pbd} {\Phs} {\Pbd} {\Ph} /
+ \plot {\Pbd} {\Ph} {-\Pbh} {\Phh} /
+ \else
+ \plot 0 {\Ph} {\Pb} {\Phh} 0 0 /
+ \plot 0 0 {\Pb} {\Ph} /
+ \plot 0 {\Ph} {\Pb} 0 /
+ \fi}}
+% \end{macrocode}
+%
+% \subsection{Fertige Layouts}
+%
+% Die fertigen Layouts werden auf den Originalkonstruktionen aufgebaut.
+% Dann werden die Werte entsprechend ge"andert.
+% \changes{v1.0f}{93/05/13}{{\tt`FertigLayout} {\tt`fi} erg"anzt.}
+% \begin{macrocode}
+\def\FertigLayout #1 {%
+ \expandafter\ifx\csname Fertig#1\endcsname\undefined
+ \message{Layout Warnung: Das fertige Layout #1 existiert nicht.}%
+ \else
+ \csname Fertig#1\endcsname
+ \fi}
+\@namedef{Fertig12A}{\Rasterkonstruktion 12 }
+\@namedef{Fertig12B}{\Rasterkonstruktion 12
+ \dimen0=\RasterWeiteB \dimen1=\RasterWeiteH
+ \Rechne {\DIMSatzbreite} - {\dimen0} -> {\DIMSatzbreite}
+ \Rechne {\DIMSatzhoehe} - {\dimen1} -> {\DIMSatzhoehe}
+ \DIMBund=1.5\dimen0 \DIMAussen=2.5\dimen0
+ \DIMOben=1.5\dimen1 \DIMUnten=2.5\dimen1
+ \WerteRealisieren}
+\@namedef{Fertig12C}{\Rasterkonstruktion 12
+ \dimen0=\RasterWeiteB \dimen1=\RasterWeiteH
+ \DIMOben=\dimen1 \DIMUnten=2\dimen1
+ \DIMBund=2\dimen0 \DIMAussen=2\dimen0
+ \DIMSatzbreite=8\dimen0 \DIMSatzhoehe=9\dimen1
+ \WerteRealisieren}
+\@namedef{Fertig10A}{\Rasterkonstruktion 10 }
+\@namedef{Fertig10B}{\Rasterkonstruktion 10
+ \Rechne {\DIMBund} + {\RasterWeiteB} -> {\DIMBund}
+ \Rechne {\DIMSatzbreite} - {\RasterWeiteB} -> {\DIMSatzbreite}
+ \WerteRealisieren}
+\@namedef{Fertig10C}{\Rasterkonstruktion 10
+ \dimen0=\RasterWeiteB
+ \Rechne {\DIMBund} + {0.5\dimen0} -> {\DIMBund}
+ \Rechne {\DIMSatzbreite} - {0.5\dimen0} -> {\DIMSatzbreite}
+ \WerteRealisieren}
+\@namedef{Fertig8A}{\Rasterkonstruktion 8 }
+\@namedef{Fertig7A}{\Rasterkonstruktion 7 }
+% \end{macrocode}
+%
+% \subsection{Wenn man fast alles auf eine Seite bekommen will\ldots}
+% F"ur Seiten, die einen m"oglichst gro"sen Satzspiegel erhalten sollen,
+% gibt es den folgenden Befehl:
+% \begin{macrocode}
+\def\MaximalSeite{%
+ \FreeStyle Einfachseite
+ Oben <15mm>
+ Unten <20mm>
+ Bund <20mm>
+ Aussen <10mm>
+ Fusszeile Abstand <8mm>
+ Text {\hfil--\,\thepage\,--\hfil} /
+ Kopfzeile tot
+ Hoehe <0mm>
+ Abstand <0mm>
+ Text {\hfil} /
+ /
+}
+% \end{macrocode}
+%
+% Die Schnittmarken bestehen aus $+$-Zeichen, die mittels Kerning und
+% leeren Boxen an die richtigen Stellen positioniert werden. Mittels
+% \verb+\clearpage+ wird ggf. am Anfang eine neue Seite erzeugt. Hierdurch
+% ist garantiert, da"s das Makro nur am Seitenanfang aufgerufen wird.
+% \begin{macrocode}
+\def\@SPunkt{\vbox to 0pt{\vss\hbox to 0pt{\hss+\hss}\vss}}
+\def\@SDot{\vbox to 0pt{\vss\hbox to 0pt{\hss.\hss}\vss}}
+\def\SchnittMarken{\clearpage{\offinterlineskip%
+ \vbox to 0pt{\kern-\DIMOben
+ \ifKopfinnen\else
+ \kern-\headsep\kern-\headheight
+ \fi
+ \hbox to 0pt{\kern-\DIMBund\@SPunkt
+ \kern0.5\Papierbreite
+ \@SDot
+ \kern0.5\Papierbreite
+ \@SPunkt\hss}%
+ \kern0.5\Papierhoehe
+ \hbox to 0pt{\kern-\DIMBund\@SDot
+ \kern\Papierbreite\@SDot\hss}%
+ \kern0.5\Papierhoehe
+ \hbox to 0pt{\kern-\DIMBund\@SPunkt
+ \kern0.5\Papierbreite
+ \@SDot
+ \kern0.5\Papierbreite
+ \@SPunkt\hss}%
+ \vss}}}
+% \end{macrocode}
+%
+% \subsection{Zentrieren auf dem Druckformat}
+%
+% \begin{macro}{\Zentriert}
+% Mittels \verb+\Zentriert auf+ kann das erstellte Layout auf das
+% angegebene Druckformat zentriert werden. Normalerweise steht es
+% ja in der linken oberen Ecke. Es werden die Differenzen zwischen
+% dem bestehenden und dem angegebenen Format berechnet. Entsprechend
+% werden dann \verb+\hoffset+ und \verb+\voffset+ erh"oht.
+% \begin{macrocode}
+\def\Zentriert auf {\bgroup\let\EndPapierFormat\EndZentriert
+ \edef\PB@{\the\Papierbreite}%
+ \edef\PH@{\the\Papierhoehe}%
+ \def\message##1{}%
+ \PapierFormat}
+\def\EndZentriert{%
+ \advance\Papierbreite by -\PB@
+ \advance\Papierhoehe by -\PH@
+ \Papierhoehe=0.5\Papierhoehe
+ \Papierbreite=0.5\Papierbreite
+ \typeout{Verschoben um (\the\Papierbreite,\the\Papierhoehe).}%
+ \global\advance\hoffset by \Papierbreite
+ \global\advance\voffset by \Papierhoehe
+ \egroup}
+% \end{macrocode}
+% \end{macro}
+%
+%
+\endinput
diff --git a/info/german/stammtisch/wuppertal/updates/pictex.sty b/info/german/stammtisch/wuppertal/updates/pictex.sty
new file mode 100644
index 0000000000..c6bb831048
--- /dev/null
+++ b/info/german/stammtisch/wuppertal/updates/pictex.sty
@@ -0,0 +1,10 @@
+\ifx\fiverm\undefined
+ \newfont\fiverm{cmr5}
+\fi
+\input prepicte
+\input pictex
+\input postpict
+\catcode`\@=11
+\@input{picmore.tex}
+\@input{piccorr.sty}
+\endinput