summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-08-09 17:45:48 +0000
committerKarl Berry <karl@freefriends.org>2011-08-09 17:45:48 +0000
commit7a9c2b253e3f7062dd819a4d69bf0312f669c03a (patch)
treed04a8af3ca432be6083b89e065b0fc3d0d9f52e2
parent36bb6bc5d9af4ae2dffb73ccd5b416ad57d6d7de (diff)
new latex package schwalbe-chess (6jun11)
git-svn-id: svn://tug.org/texlive/trunk@23471 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/schwalbe-chess/README28
-rw-r--r--Master/texmf-dist/doc/latex/schwalbe-chess/schwalbe.pdfbin0 -> 98679 bytes
-rw-r--r--Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx1770
-rw-r--r--Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.ins6
-rw-r--r--Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.sty1112
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check3
-rw-r--r--Master/tlpkg/tlpsrc/collection-games.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/schwalbe-chess.tlpsrc0
8 files changed, 2919 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/schwalbe-chess/README b/Master/texmf-dist/doc/latex/schwalbe-chess/README
new file mode 100644
index 00000000000..d26434e0eb9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/schwalbe-chess/README
@@ -0,0 +1,28 @@
+schwalbe --- A package for typesetting chessproblems
+Version 1.1 / Stefan Hoening 2011
+
+CONTENTS
+
+- README (this file)
+- schwalbe.dtx
+- schwalbe.ins
+- schwalbe.pdf
+
+INSTALLATION
+
+Run TeX/LaTeX on schwalbe.ins to unpack the dtx.
+Put the extracted 'schwalbe.sty' into tex/latex/diagram.
+
+DOCUMENTATION
+
+schwalbe.pdf. This file may be created from the documentation using
+the provided Makefile.
+
+DESCRIPTION
+
+
+REQUIREMENTS
+
+This package is based on the chess-problem-diagrams package, which need to
+be installed with its dependency bartel-chess-fonts.
+
diff --git a/Master/texmf-dist/doc/latex/schwalbe-chess/schwalbe.pdf b/Master/texmf-dist/doc/latex/schwalbe-chess/schwalbe.pdf
new file mode 100644
index 00000000000..67d7c27bd46
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/schwalbe-chess/schwalbe.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx b/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx
new file mode 100644
index 00000000000..cbe20bf7d0c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx
@@ -0,0 +1,1770 @@
+% \iffalse meta-comment
+%% File 'diagram.dtx'
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version
+%% 1.2 of this license or (at your option) any later version.
+%% The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%%
+% \fi
+% \def\fileversion{1.1}
+% \def\docdate{2011/06/03}
+% \CheckSum{2164}
+% \changes{v1.1}{03 June 2011}{Reflecting change in command
+% @writename inside diagram.sty}
+%
+% \DoNotIndex{\@arabic,\def,\@idxitem,\@ifnextchar,\@ifstar,
+% \@ne,\@ptsize,\ ,\advance,\AtEndOfPackage,\begin,\begingroup,
+% \bfseries,\bgroup,\boolean,\box,\char,\chardef,\closeout,
+% \count,\csname,\DeclareOption,\DocInput,\documentclass,
+% \egroup,\else,\end,\endcsname,\endgroup,\endinput,\errmessage,
+% \exhyphenpenalty,\expandafter,\fi,\font,\fonddimen,\gdef,\global,
+% \hangafter,\hangindent,\hbox,\hfill,\hrule,\hsize,\hskip,\hss,\if,
+% \ifcase,\ifdim,\iffalse,\ifmmode,\ifnum,\ifodd,\ifthenelse,
+% \ifvmode,\ifx,\immediate,\index,\input,\itshape,\kern,\label,\let,
+% \llap,\long,\loop,\lower,\mbox,\medskip,\multiply,\newboolean,\newbox,
+% \newcount,\newcounter,\newdimen,\newif,\newindex,\newline,\newtoks,
+% \newwrite,\noexpand,\noindent,\openout,\OptionNotUsed,\or,\p@,\par,
+% \parindent,\parskip,\penalty,\printindex,\ProcessOptions,\ProvidesFile,
+% \ProvidesPackage,\raise,\RecordChanges,\ref,\refstepcounter,\relax,
+% \repeat,\RequirePackage,\rmfamily,\setboolean,\setbox,\setlength,
+% \the,\textwidth,\unhbox,\usepackage,\vbox,\vfil,\vrule,\vskip,
+% \vss,\vtop,\wd,\write,\xdef,\z@}
+%
+% \title{Der \LaTeX-Style f"ur die Problemschach-Zeitschrift
+% \hbox{\bfseries\itshape Die Schwalbe}\\{\large Version~\fileversion}}
+% \author{Stefan H\"oning\\Neuss}
+% \date{\docdate}
+%
+% \maketitle
+%
+% \begin{abstract}
+% Diese Dokumentation beschreibt den \LaTeX-Style, der zum Setzen
+% der Zeitschrift {\bfseries\itshape Die Schwalbe} benutzt wird
+% --- die Mitglieder Zeitschrift der deutschen Vereinigung f"ur
+% Problemschach.
+%
+% Dieser Style hat zwei wesentliche Aufgaben. Er f"uhrt einige
+% Layoutanpassungen bzgl.\ des \verb+diagram.sty+ durch, mit dem
+% die Problemschach-Diagramme erzeugt werden. Ausserdem definiert
+% er f"ur die wesentlichen Elemente eines Heftes Umgebungen, so
+% dass hieraus u.\,a.\ das Inhaltsverzeichnis des Hefts
+% automatisch erstellt wird.
+% \end{abstract}
+%
+%
+% \section{Kommandos und Umgebungen zur Gliederung eines Hefts}
+%
+% \DescribeMacro{\Heft}
+% Jedes Heft wird durch den Befehl
+% \verb+\Heft+ eingeleitet. Der Befehl hat die folgenden vier
+% Parameter in der angegebenen Reihenfolge:
+%
+% \begin{enumerate}
+% \item die Nummer des Heftes
+% \item der Monat des Erscheinens
+% \item das Jahr des Erscheinens
+% \item die Seitennummer der ersten Seite des Heftes
+% \end{enumerate}
+%
+% Das Juni Heft 2010, das die fortlaufende Nummer 243 hat und mit
+% der Seitenummmer 509 beginnt wird demzufolge folgendermassen
+% eingeleitet:
+%
+% \verb+\Heft{243}{Juni}{2010}{509}+
+%
+% \DescribeEnv{Editorial}
+% Die \verb+Editorial+ Umgebung ben"otigt einen Parameter, der
+% die "Uberschrift definiert. Als optionaler Parameter kann noch
+% der Eintrag im Inhaltsverzeichnis festgelegt werden. L"asst man
+% diesen weg, erscheint dort der Begriff {\bfseries Editorial}.
+%
+% \DescribeEnv{aktuell}
+% Die \verb+aktuell+ Umgebung f"ur die {\bfseries Aktuellen Meldungen} kommt
+% ohne parameter aus. Neben der "Uberschrift wird ein Eintrag im
+% Inhaltsverzeichnis erzeugt.
+%
+% \DescribeEnv{InformalEntscheid}
+% Die Preisberichte zu Informalturnieren der {\bfseries\itshape
+% Schwalbe} werden in die Umgebung \verb+InformalEntscheid+
+% eingebettet. Das einleitende \verb+\begin{InformalEntscheid}+
+% hat dabei 3 Parameter:
+% \begin{enumerate}
+% \item die Abteilung
+% \item das Jahr, auf das sich der Entscheid bezieht
+% \item der Name des Preisrichters
+% \end{enumerate}
+% Die Umgebung setzt automatisch die "Uberschrift und erzeugt
+% einen Eintrag im Inhaltsverzeichnis.
+%
+% \DescribeEnv{Aufsatz}
+% \DescribeEnv{Titel}
+% Im Gegensatz zu den meisten anderen Umgebungen erzeugt die
+% \verb+Aufsatz+ Umgebung nur den Eintrag im Inhaltsverzeichnis.
+% Hierzu hat das einleitende \verb+\begin{Aufsatz}+ 2~Parameter:
+% \begin{enumerate}
+% \item den Titel des Aufsatzes
+% \item den Namen des Autors mit Wohnort\newline
+% dieser wird in der Form \verb+<Name>, <Vorname>/<Wohnort>+
+% angegeben.
+% \end{enumerate}
+% Um die "Uberschrift des Aufsatzes zu setzen, gibt es die
+% Umgebung \verb+Titel+. Die wesentliche Aufgabe dieser Umgebung
+% ist es, passende Abst"ande zum vorherigen sowie zum
+% nachfolgenden Text zu erzeugen.
+%
+% \DescribeEnv{Urdrucke}
+% Die Umgebung \verb+Urdrucke+ ben"otigt als Parameter die Nummer
+% des ersten Urdrucks.
+%
+% \DescribeEnv{maerchenlexikon}
+% \DescribeMacro{\maerchenart}
+% Im Vorspann der M"archenschachabteilung der Urdrucke werden die
+% benutzten M"archenschachregeln erl"autert. Dies geschieht
+% innerhalb der Umgebung \verb+maechenlexion+. Innerhalb dieser
+% Umgebung werden alle M"archenarten mittels \verb+\maerchenart+
+% eingef"uhrt, die einen Parameter hat, mit dem die M"archenart
+% angegeben wird.
+%
+% \DescribeEnv{Loesungen}
+% Die Umgebung \verb+Loesungen+, innerhalb der die
+% L"osungsbesprechungen beschrieben werden, ben"otigt 2
+% Parameter:
+% \begin{enumerate}
+% \item die Nummer des Hefts mit den Urdrucken
+% \item Monat und Jahr dieses Hefts
+% \end{enumerate}
+%
+% \DescribeEnv{BuB}
+% Die \verb+BuB+ Umgebung setzt die {\bfseries Bemerkungen und
+% Berichtigungen}
+%
+% \DescribeEnv{turnierberichte}
+% Innerhalb der Umgebung \verb+turnierberichte+ wird "uber
+% Turniere z.\,B.\ aus anderen Zeitschriften berichtet.
+%
+% \DescribeEnv{Buecher}
+% \DescribeMacro{\Buch}
+% Buchbesprechungen werden innerhalb der Umgebung \verb+Buecher+
+% wiedergegeben. Dabei wird jedes Buch durch den Befehl
+% \verb+\Buch+ begonnen, bei dem zwei Parameter anzugeben sind:
+% \begin{enumerate}
+% \item die Autoren des Buches; mehrere Autoren sind durch
+% \verb+;+ voneinander zu trennen.
+% \item der Titel des Buches
+% \end{enumerate}
+%
+% \DescribeEnv{Briefkasten}
+% Die Umgebung \verb+Briefkasten+ wird gelegentlich genutzt um
+% Autoren auf Fehler in Ihren eingesandten Aufgaben hinzuweisen.
+%
+% \DescribeEnv{Turnierbericht}
+% Turnierberichte (und -entscheide) zu allgemeinen Turnieren
+% werden in der \verb+Turnierbericht+ Umgebung gesetzt. Das
+% Einleitende \verb+\begin{Turnierbericht}+ besitzt als Parameter
+% den Namen des Turniers und den Namen des Autors in der Form:
+% \verb+<Nachname>, <Vorname>+. Diese beiden Angaben werden
+% automatisch ins Inhaltsverzeichnis "ubernommen.
+% Der Titel des Turnierberichts ist wie bei Aufs"atzen in die
+% Umgebung \verb+Titel+ einzubauen.
+%
+% \DescribeEnv{Entscheid}
+% Die \verb+Entscheid+ Umgebung wird genutzt, um
+% Turnierentscheide zu allgemeinen Turnieren der Schwalbe, oder
+% aber auch Nachtr"age oder entg"ultige Entscheide zu setzen.
+% Als Parameter wird an das einleitende \verb+\begin{Entscheid}+
+% der Titel des Entscheids angegeben, der ins Inhaltsverzeichnis
+% "ubernommen werden soll. Der eigentliche Titel muss --- wie bei
+% verschiedenen anderen Umgebungen auch --- mittels der
+% \verb+Titel+ Umgebung gesetzt werden.
+%
+%
+% \DescribeEnv{Loeserliste}
+% Nach dem einleitenden \verb+\begin{Loeserliste}+ ist als
+% Parameter das Jahr anzugeben, auf dass sich die L"oeserliste
+% bezieht.
+%
+% \DescribeEnv{Turnierausschreibung}
+%
+% \DescribeEnv{Nachruf}
+%
+% \DescribeEnv{dauerkonto}
+%
+% \DescribeEnv{loesungswettbewerb}
+%
+% \section{Kleine Helferlein}
+%
+% \subsection{Diagrammgr"ossen}
+% \DescribeMacro{\smalldia}
+% \DescribeMacro{\normaldia}
+% In der Schwalbe werden normalerweise zwei verschiedene
+% Diagrammgr"ossen verwendet. Mittels \verb+\normaldia+ wird die
+% Normalgr"osse eingestellt. Mittels \verb+\smalldia+ kann auf
+% kleinere Diagramme umgeschaltet werden --- von denen dann 4
+% St"uck in eine Zeile passen. Da die kleineren Diagramme
+% normalerweise zu mehreren benutzt werden, kann dieser
+% Befehl nat"urlich auch als Umgebung benutzt werden.
+%
+% \subsection{H"aufige Abk"urzungen}
+% \DescribeMacro{\dh}
+% \DescribeMacro{\ua}
+% \DescribeMacro{\zB}
+% \DescribeMacro{\su}
+% \DescribeMacro{\ep}
+% \DescribeMacro{\seedia}
+% \LaTeX\ intepretiert einen Punkt nach einem Kleinbuchstaben
+% normalerweise als Satzende. Als Folge davon ist der Abstand
+% hinter diesem Punkt gr"osser als der normale Wortabstand.
+% Insbesondere bei Abk"urzungen ist dies aber nicht
+% gew"unscht. Besonders bei mehrgliedrigen Abk"urzungen sollte
+% man sogar einen kleineren Abstand als den normalen Wortabstand
+% zwischen den Gliedern der Abk"urzung w"ahlen. Daher definiert
+% der Style Befehle f"ur einige H"aufig vorkommende Abk"urzungen:
+%
+% \begin{tabular}{|l|l|l|}
+% \hline
+% {\bfseries Befehl}&{\bfseries f"ur}&{\bfseries Bemerkungen}\\
+% \hline
+% \verb+\dh+&d.\,h.&enth"alt ein Leerzeichen am Ende\\
+% \verb+\ua+&u.\,a.&enth"alt ein Leerzeichen am Ende\\
+% \verb+\zB+&z.\,B.&\\
+% \verb+\su+&s.\,u.&\\
+% \verb+\ep+&e.\,p.&\\
+% \verb+\seedia+&s.\,Diagr.&\\
+% \hline
+% \end{tabular}
+%
+% \subsection{Verschiedenes}
+% \DescribeMacro{\figline}
+% Mittels \verb+\figline+ kann eine Zeile mit K"onigen ausgegeben
+% werden, die als Trenner zwischen 2 Abschnitten dient.
+% \DescribeMacro{\foto}
+% Um Freiraum f"ur ein Foto zu lassen kann der Befehl
+% \verb+\foto{<Breite>}{<Hoehe>}{<Bildunterschrift>}+ benutzt werden.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \section{Die Treiberdatei f"ur die Dokumentation}
+% Der folgende Code erzeugt die Dokumentation. Da dies der erste
+% nicht auskommentierte Code in der Datei ist, kann die
+% Dokumentation einfach erzeugt werden, indem man diese Datei mit
+% \LaTeXe\ "ubersetzt.
+% \begin{macrocode}
+%<*driver>
+\documentclass[a4paper]{article}
+\usepackage{doc}
+% \usepackage[german]{babel}
+\usepackage{schwalbe}
+\setlength{\textwidth}{10cm}
+\setlength{\oddsidemargin}{65mm}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+\DocInput{schwalbe.dtx}
+\end{document}
+%</driver>
+% \end{macrocode}
+%
+% \section{Die Implementierung des {\bfseries\itshape Schwalbe}-Style}
+% Der Vorspann des Style.
+% \begin{macrocode}
+%<*style>
+\ProvidesPackage{schwalbe}[1997/07/27]
+% \AtBeginDocument{\normaldia}
+%
+\RequirePackage[german]{babel}
+\RequirePackage{ifthen}
+\usepackage{diagram}
+% \usepackage{array}
+\usepackage{times}
+\usepackage{picinpar}
+% \usepackage{longtable}
+\usepackage{multicol}
+% \usepackage{rotating}
+% \newcommand{\ra}{\mbox{$\rightarrow$}}
+%-----------------------------------------------------------
+% Einige Trennhilfen
+\hyphenation{Patt-idee Da-men-op-fer nicht-ortho-doxe Grim-shaw}
+%
+%
+\advance\exhyphenpenalty by -10
+\tolerance2000\relax
+\emergencystretch15\p@
+%
+%
+% Wir wollen Fussnoten noch lesbar haben. Daher uebernehmen wir
+% die "\footnotesize" definition wie bei 12pt.
+\renewcommand\footnotesize{%
+ \@setfontsize\footnotesize\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@
+ \parsep 3\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip
+}
+%
+%-----------------------------------------------------------
+% Ein paar Abk"urzungen:
+%
+\def\dh{d.\,h.\ \ignorespaces}
+\def\ua{u.\,a.\ \ignorespaces}
+\def\zB{z.\,B.\ignorespaces}
+\def\su{s.\,u.\ignorespaces}
+\def\ep{e.\,p.\ignorespaces}
+\def\seedia{s.\,Diagr.}
+%
+%-----------------------------------------------------------
+%
+% Schmuckzeilen
+%
+\def\figline{%
+\centerline{%
+\wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK %
+\wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK %
+\wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK %
+}}
+%
+%-----------------------------------------------------------
+% Freiraum f"ur Fotos
+\def\foto#1#2#3{%
+ \begin{minipage}[t]{#1}
+ \hbox to #1{\hsize#1%
+ \vtop to #2{%
+ \noindent\hbox{}\vfill\hbox{}%
+ }%
+ }%
+ \par%
+ #3%
+ \end{minipage}
+}%
+%-----------------------------------------------------------
+%-----------------------------------------------------------
+% Wir definieren das Diagrammlayout ein wenig um
+%
+\newcommand{\rb}[1]{\raisebox{0.4ex}{#1}}
+\nocomputer
+% \figcnttrue
+\setboolean{piececounter}{true}
+\diagcenter
+\setmonthstyle{Roman}
+% These are for normal tex cmr fonts
+%
+%\def\normaldia{%
+% \font\chessfont=fselch16%
+% \font\authorfont=cmbx9%
+% \font\cityfont=cmti9
+% \font\sourcefont=cmsl9
+% \font\awardfont=cmr9
+% \font\dedicfont=cmsl9
+% \font\stipfont=cmr9
+% \font\remfont=cmr9
+% \font\labelfont=cmr5
+% \font\boardfont=cmss8
+%}
+%\def\smalldia{%
+% \font\chessfont=fselch12%
+% \font\authorfont=cmbx7%
+% \font\cityfont=cmti7
+% \font\sourcefont=cmsl8 scaled 900%
+% \font\awardfont=cmr7
+% \font\dedicfont=cmsl8 scaled 900%
+% \font\stipfont=cmr7
+% \font\remfont=cmr7
+% \font\labelfont=cmr5
+% \font\boardfont=cmss8 scaled 800
+%}
+%\def\normaldia{%
+% \font\chessfont=fselch16%
+% \font\authorfont=ptmb0 scaled 1100%
+% \font\cityfont=ptmri0 scaled 1100%
+% \font\sourcefont=ptmro0 scaled 1100%
+% \font\awardfont=ptmr0 scaled 1100%
+% \font\dedicfont=ptmr0 scaled 1100%
+% \font\stipfont=ptmr0 scaled 1100%
+% \font\remfont=ptmr0 scaled 1100%
+% \font\labelfont=ptmr0 scaled 500%
+% \font\boardfont=cmss8
+%}
+%\def\smalldia{%
+% \font\chessfont=fselch12%
+% \font\authorfont=ptmb0 scaled 900%
+% \font\cityfont=ptmri0 scaled 900%
+% \font\sourcefont=ptmro0 scaled 900%
+% \font\awardfont=ptmr0 scaled 900%
+% \font\dedicfont=ptmro0 scaled 900%
+% \font\stipfont=ptmr0 scaled 900%
+% \font\remfont=ptmr0 scaled 900%
+% \font\labelfont=ptmr0 scaled 500%
+% \font\boardfont=cmss8
+%}
+\def\normaldia{%
+ \font\chessfont=fselch16%
+ \def\authorfont{\bfseries}
+ \def\cityfont{\itshape}
+ \def\sourcefont{\slshape}
+ \def\awardfont{}
+ \def\dedicfont{\itshape}
+ \def\stipfont{}
+ \def\remfont{}
+ \def\labelfont{\footnotesize}
+ \def\boardfont{\footnotesize}
+ \setboardwidth%
+}
+\def\smalldia{%
+ \font\chessfont=fselch12%
+ \def\authorfont{\small\bfseries}%
+ \def\cityfont{\small\itshape}%
+ \def\sourcefont{\small\slshape}%
+ \def\awardfont{\small}%
+ \def\dedicfont{\small\itshape}%
+ \def\stipfont{\small}%
+ \def\remfont{\small}%
+ \def\labelfont{\small\footnotesize}%
+ \def\boardfont{\small\footnotesize}%
+ \setboardwidth%
+}
+% Die Schwalbe wird in 11pt gesetzt, daher definieren wir die
+% entsprechene Option um:
+\renewcommand*{\diagramxi}{\normaldia}
+\def\do@dia@job{%
+ \@write@sol\ifvmode\noindent\fi\unhbox\dia@box%
+ \sw@problem%
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Wir haben ein spezielles Seitenlayout
+\hoffset-25mm
+\voffset-25mm
+\textheight26cm
+\textwidth157mm
+\oddsidemargin22.5mm
+\topmargin19mm
+\headheight0cm
+\headsep0cm
+% \footheight14pt
+\footskip10mm
+\parindent0mm
+\parskip1ex plus 1ex minus .5ex
+\def\@oddhead{}
+\def\@oddfoot{%
+ \ifodd\c@page%
+ \hbox to \textwidth{\hfill\thepage}%
+ \else%
+ \hbox to \textwidth{\thepage\hfill}%
+ \fi%
+}
+\inner@frame\z@%
+\v@frame@dist\z@%
+\h@frame@dist\z@%
+\setboardwidth
+\newif\if@first%
+\newif\if@urdruck\@urdruckfalse
+\def\urdruck{\@urdrucktrue}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Absaetze in window Umgebungen
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\windowpar}{%
+ \newline\hbox{\vbox to \parskip{\vss}}\newline%
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Einige deutsche Schreibweisen
+\let\bel=\any
+\let\ferner=\further
+\def\reprint{%
+ \hbox to \textwidth{\bf%
+ PLEASE~REPRINT\hfill
+ BITTE~NACHDRUCKEN\hfill
+ PRIERE~DE~REIMPRIMER%
+ }%
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Der Befehl \Heft leitet jedes Heft ein. Damit werden
+% Heftnummer, Monat, Jahr und erste Seitennummer des Heftes
+% spezifiziert.
+\def\Heft#1#2#3#4{%
+ \def\heft@nr{#1}%
+ \def\heft@monat{#2}%
+ \def\heft@year{#3}%
+ \setcounter{page}{#4}%
+ \hbox to \textwidth{\vbox to 60mm{\vfill}\hfill}%
+ \hbox to \textwidth{%
+ {\large\bfseries HEFT~#1}%
+ \hfill%
+ {\large\bfseries BAND XXIX}%
+ \hfill%
+ {\large\bfseries #2~#3}%
+ }%
+ \vskip2mm%
+ \hrule width \textwidth height 1\p@%
+ %\input{intro}%
+ \vskip5mm%
+}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Wir ben"otigen ein paar Kommandos und Umgebungen, die die
+% einzelnen Teile der Zeitschrift einleiten. Hier ein kurzer
+% "Uberblick "uber die wesentlichen Teile:
+%
+% 0) Editorial
+% 1) Aufs"atze
+% 2) Urdrucke/Studien
+% 3) Loesungen
+% 3b) Loeserliste
+% 4) Bemerkungen und Berichtigungen
+% 5) Turnierausschreibungen
+% 6) Turnierberichte
+% 7) Personalia
+% 8) Buchbesprechungen
+% 9) Einladungen zu Tagungen
+%
+% Um die Erstellung eines Inhaltsverzeichnisses zu
+% vereinfachen, werden die jeweilig notwendigen
+% Informationen automatisch in eine entsprechende Datei
+% geschrieben.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Nun k"onnen die einzelnen Umgebungen und Befehle definiert
+% werden
+%-----------------------------------------------------------
+% 0) Editorial
+\def\Editorial{%
+ \@ifnextchar[{\x@editorial}{\x@editorial[Editorial]}%
+}%
+\def\x@editorial[#1]#2{%
+ \ttitel@skip%
+ \centerline{\Large\bfseries #2}%
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \begingroup%
+ \def\@tempa{#1}%
+ \def\@tempb{\editorial}%
+ \edef\@tempc{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempa}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+% {\@nameuse{thepage}}%
+ }%
+ }%
+ }%
+ \expandafter\endgroup\@tempc%
+}
+%-----------------------------------------------------------
+\def\Verschiedenes{%
+}
+%-----------------------------------------------------------
+\def\aktuell{%
+ \ttitel@skip%
+ \centerline{\Large\itshape AKTUELLE MELDUNGEN}
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Eintrag im Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\aktuell}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+% \@nameuse{thepage}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%-----------------------------------------------------------
+% 1) Aufs"atze
+% Parameter:
+% 1. Titel
+% 2. Autoren mit Wohnorten
+% Die Autoren sind in der Form: Name, Vorname[, Titel]/Wohnort
+% anzugeben. Mehrere Autoren sind durch "; " voneinander zu
+% trennen.
+%
+\newif\if@noname
+\newif\if@normalname
+
+\let\titel@ext\relax
+\newcounter{@inhalt}
+\setcounter{@inhalt}{0}
+\def\the@inhalt{\@arabic\c@@inhalt}
+\def\inhalt@label{\label{inhalt\@nameuse{the@inhalt}}}
+\def\Titel{\ttitel@skip\centering\addtolength{\baselineskip}{4pt}}
+\def\endTitel{\titel@skip\titel@ext}
+\def\Untertitel{\subtitel@skip\centering}
+\def\endUntertitel{\subtitel@subskip}
+\def\Aufsatz#1#2{%
+ \stepcounter{@inhalt}%
+ \let\titel@ext\inhalt@label\relax%
+ \begingroup%
+ \setcounter{footnote}{0}%
+ \def\@tempa{#1}%
+ \def\@tempc{\aufsatz}%
+ \def\@tempb{#2}%
+ \edef\@tempd{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempc{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+% {\@nameuse{thepage}}%
+ {\@nearverbatim\@tempa}%
+ {\@nearverbatim\@tempb}%
+ }%
+ }%
+ }%
+ \expandafter\endgroup\@tempd%
+}
+
+% \def\Aufsatz{%
+% \diagnum{1}%
+% \@ifstar{\@nonametrue\@Aufsatz}{\@nonamefalse\@Aufsatz}%
+% }
+% %
+% \def\@Aufsatz#1{%
+% \def\main@title{{#1}}%
+% \@ifnextchar [{\x@Aufsatz}{\y@Aufsatz}
+% }
+% %
+% \def\x@Aufsatz[#1]#2{%
+% % Der Anfang eines Aufsatzes ist eine gute Stelle um
+% % eine neue Seite zu beginnen.
+% \ttitel@skip%
+% \vbox{%
+% % Schreibe Aufsatztitel und Autor(en)
+% \centering%
+% {\Large\bf\main@title}\\%
+% {\bf#1}\\[2mm]%
+% {\bf%
+% \if@noname%
+% \else%
+% \@firsttrue%
+% \let\@action=\sw@author%
+% \l@@klist#2; \e@list%
+% \fi}%
+% \vfilneg
+% }%
+% % Erzeuge einen Eintrag f"ur das Inhaltsverzeichnis
+% \begingroup%
+% \def\@tempc{\aufsatz}%
+% \def\@tempb{#2}%
+% \edef\@tempa{%
+% \write\sw@contents{%
+% \@nearverbatim\@tempc{%
+% {\@nameuse{thepage}}%
+% {\@nearverbatim\main@title}%
+% {\@nearverbatim\@tempb}%
+% }%
+% }%
+% }%
+% \expandafter\endgroup\@tempa%
+% % Erzeuge einen Abstand zum nachfolgenden Text
+% \titel@skip%
+% }
+% %
+% \def\y@Aufsatz#1{%
+% % Der Anfang eines Aufsatzes ist eine gute Stelle um
+% % eine neue Seite zu beginnen.
+% \ttitel@skip%
+% \vbox{%
+% % Schreibe Aufsatztitel und Autor(en)
+% \centering%
+% {\Large\bf\main@title}\\[2mm]%
+% {\bf%
+% \if@noname%
+% \else%
+% \@firsttrue%
+% \let\@action=\sw@author%
+% \l@@klist#1; \e@list%
+% \fi}%
+% }%
+% % Erzeuge einen Eintrag f"ur das Inhaltsverzeichnis
+% \begingroup%
+% \def\@tempc{\aufsatz}%
+% \def\@tempb{#1}%
+% \edef\@tempa{%
+% \write\sw@contents{%
+% \@nearverbatim\@tempc{%
+% {\@nameuse{thepage}}%
+% {\@nearverbatim\main@title}%
+% {\@nearverbatim\@tempb}%
+% }%
+% }%
+% }%
+% \expandafter\endgroup\@tempa%
+% % Erzeuge einen Abstand zum nachfolgenden Text
+% \titel@skip%
+% }
+%
+%-----------------------------------------------------------
+% 2) Urdrucke
+% Parameter:
+% Nummer des ersten Urdrucks
+% Dies ist eine Umgebung. Innerhalb der Umgebung werden
+% die Diagramme immer zu dritt nebeneinander gesetzt -
+% sofern dies pa"st. Au"serdem werden von jedem Diagramm
+% die Autoren sowie Diagramm und Seitennummern in die
+% Datei \jobname.inhalt geschrieben.
+%
+\def\Urdrucke#1{%
+ \begingroup%
+ \nocomputer%
+ \diagnumbering{arabic}%
+ \diagnum{#1}%
+ \@urdrucktrue%
+ \def\do@dia@job{%
+ % Gebe das Diagramm aus
+ \unhbox\dia@box%
+ % Erzeuge die Eintr"age f"ur das Inhaltsverzeichnis
+ \sw@problem%
+ }%
+ \ttitel@skip%
+ \centerline{\Large\bfseries Urdrucke}%
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Eintrag im Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\Urdrucke}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+% \@nameuse{thepage}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+\def\endUrdrucke{%
+ \endgroup%
+}
+%
+% Definiere ein anderes Layout f"ur den Kopf eines Diagramms
+%
+%
+\def\@dia@number{}% Die Diagrammnummer wird bei den Autoren gesetzt!
+%
+\def\@dia@numberx{%
+ \if@special%
+ \thediag%
+ \else\ifdi@no%
+ \thediag%
+ \fi\fi%
+}
+%
+\def\@dia@authors{%
+ \ifauth@r%
+ \bgroup%
+ \authorfont%
+ \ifnormal@names%
+ \def\@dianame{\@normalname}%
+ \fi%
+ \@firsttrue%
+ \let\@action=\@dia@writename% Parse the list of authors
+ \@parseTokenlist\aut@tk;%
+ \par%
+ \egroup%
+ \else%
+ {\authorfont\@dia@numberx}%
+ \if@special%
+ \par%
+ \else\ifdi@no%
+ \par%
+ \fi\fi%
+ \fi%
+}
+%
+\def\@dia@writename#1; {%
+ \if@first%
+ \@firstfalse%
+ \setbox\@test@box=\hbox{%
+ \@dia@numberx\ %
+ \@dianame#1; %
+ }%
+ \@test@dimen=\wd\@test@box%
+ \ifdim\@test@dimen>\board@width\relax%
+ \noindent\hbox to\board@width{\@dia@numberx\hfill}\par%
+ \setbox\@test@box=\hbox{%
+ \@dianame#1; %
+ }%
+ \@test@dimen=\wd\@test@box%
+ \ifdim\@test@dimen>\board@width\relax%
+ \hbox to\board@width{\@dianame#1; \hss}%
+ \else%
+ \hfill\@dianame#1; %
+ \fi%
+ \else%
+ \@dia@numberx\hfill\@dianame#1; %
+ \fi%
+ \else%
+ % Changed to get the resulting names centered.
+ \par\noindent\hbox to\board@width{\hss\@dianame#1; \hss}%
+ \fi%
+ \l@@klist%
+}
+%
+\def\@figurine@number{{\authorfont\thediag\ }}
+% %
+% \def\@dia@stipulation{%
+% \if@stipulation%
+% \hbox to \board@width{%
+% \vtop{%
+% \if@stipulation\the\stipulation@tk\fi%
+% \ifx@twins\ \ \@dia@twins\fi%
+% \ifx@cond\ \ \@dia@condition\fi%
+% }%
+% \hss%
+% }%
+% \else%
+% \x@twinsfalse%
+% \x@condfalse%
+% \fi%
+% }
+%
+%-----------------------------------------------------------
+% 3) Loesungen
+% Parameter:
+% 1. Nummer des Heftes mit den Urdrucken
+% 2. Monat und Jahr
+%
+\def\Loesungen#1#2{%
+ \begingroup%
+ \ttitel@skip%
+ \centerline{\Large\bfseries L\"osungen der Urdrucke aus Heft #1, #2}%
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Eintrag im Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\Loesungen}%
+ \def\@tempc{#1}%
+ \def\@tempd{#2}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\@tempd}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+% {\@nameuse{thepage}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+ \parskip.5ex plus 2ex%
+ \catcode`/=\active%
+}
+%
+\def\endLoesungen{%
+ \catcode`/=12%
+ \endgroup%
+}
+%
+\def\mainline#1{\bfseries#1}
+%
+% \def\newsl{\char`/\hskip\slskip\discretionary{}{}{}}
+% \catcode`/=\active\let/\newsl\catcode`/=12
+%
+\def\sol@slash{\nobreak\hskip\z@ plus 2\p@\char`/\hskip\z@ plus 2\p@\discretionary{}{}{}}
+%
+\catcode`/=\active\relax\let/\sol@slash\relax\catcode`/=12%
+%
+\def\bsol{\catcode`/=\active\relax}
+\def\esol{\catcode`/=12\relax}
+\bsol
+%
+%-----------------------------------------------------------
+% 3b) Loeserliste
+% Bei der L"oserliste sind die als Parameter anzugeben.
+\def\Loeserliste#1{%
+ \ttitel@skip%
+ \centerline{\Large\bfseries L\"oserliste #1}%
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Eintrag im Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\Loeserliste}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+% 3c) Sonderpunkte & Dauerkonto
+\def\dauerkonto#1{%
+ \ttitel@skip%
+ \centerline{\large\bfseries L\"oserliste: Sonderpunkte \& Dauerkonto #1}%
+ \titel@skip%
+}
+%
+%
+\def\loesungswettbewerb#1{
+ \ttitel@skip%
+ \centerline{\Large\bfseries Preisbericht zum L\"osungswettbewerb #1}%
+ \titel@skip%
+}
+%-----------------------------------------------------------
+% 4) Bemerkungen und Berichtigungen
+%
+\def\BuB{%
+ \ttitel@skip%
+ \centerline{\Large\bfseries Bemerkungen und Berichtigungen}%
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bsol%
+ % Eintrag im Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\bub}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+% \@nameuse{thepage}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\endBuB{\esol}
+%-----------------------------------------------------------
+% 4a) Briefkasten
+%
+\def\Briefkasten{%
+ \titel@skip%
+ {\large\bfseries Briefkasten}%
+ \hskip1em%
+}
+%-----------------------------------------------------------
+% 5) Ausschreibungen von Turnieren
+% Parameter:
+% 1. Titel des Turniers
+% oder (mit *)
+% 1. Titel des Turniers
+% 2. Untertitel (z. B. Ort und Datum)
+%
+\def\aTurnier{%
+ \@ifstar{\x@Turnier}{\y@Turnier}%
+}
+\def\TurnierAusschreibung#1{%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Eintrag im Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\TurnierAusschreibung}%
+ \def\@tempc{#1}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+\def\x@Turnier#1#2{%
+ \ttitel@skip%
+ \vbox{%
+ \centering%
+ {\large\bfseries\uppercase{#1}}\\[3mm]
+ {\bf#2}%
+ }%
+ \titel@skip%
+}
+%
+\def\y@Turnier#1{%
+ \ttitel@skip%
+ \vbox{%
+ \centering%
+ \large\bfseries\uppercase{#1}%
+ }%
+ \titel@skip%
+}
+%-----------------------------------------------------------
+% 6) Turnierberichte
+% Parameter:
+% Titel des Turniers
+% Preisrichter
+%
+\def\Turnierbericht#1#2{%
+ \stepcounter{@inhalt}%
+ \let\titel@ext\inhalt@label\relax%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\Turnierbericht}%
+ \def\@tempc{#1}%
+ \def\@tempd{#2}%
+ \edef\@tempa{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\@tempd}%
+% {\@nameuse{thepage}}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+\def\bTurnier{%
+ \@ifstar{\by@turnier}{\bx@turnier}%
+}
+%
+\def\sw@turnier{%
+}
+%
+\def\bx@turnier#1#2{%
+ \ttitel@skip%
+ \vbox{%
+ \centering%
+ {\Large\bfseries#1}\\
+ \bgroup%
+ \bfseries%
+ \@firsttrue%
+ \let\@action=\sw@author%
+ \l@@klist#2; \e@list%
+ \egroup%
+ }%
+ \titel@skip%
+ \diagnum{1}%
+}
+%
+\def\by@turnier#1{%
+ \ttitel@skip%
+ \vbox{%
+ \centering
+ {\Large\bf#1}
+ }%
+ \titel@skip%
+ \diagnum{1}%
+}
+%
+%-----------------------------------------------------------
+% F"ur Informalturniere der Schwalbe gibt es eine besondere Umgebung
+% 1. Parameter: Abteilung
+% 2. Parameter: Jahr
+% 3. Parameter: Preisrichter
+\def\InformalEntscheid{%
+ \@ifstar{\x@InformalEntscheid}{\y@InformalEntscheid}%
+}
+\def\x@InformalEntscheid#1#2#3{%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Weitere Einstellungen
+ \def\@dia@numberx{%
+ \if@special%
+ \thediag\ %
+ \else\ifdi@no%
+ \if@sourcenr\the\sourcenr@tk\fi\ %
+ \fi\fi%
+ }%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\InformalEntscheid}%
+ \def\@tempc{#1}%
+ \def\@tempd{#2}%
+ \def\@tempe{#3}%
+ \edef\@tempa{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\@tempd}%
+ {\@nearverbatim\@tempe}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\y@InformalEntscheid#1#2#3{%
+ \ttitel@skip%
+ \vbox{%
+ \centerline{\Large\bfseries Entscheid im Informalturnier #2 der Schwalbe}%
+ \centerline{\bfseries Abteilung: #1\hskip1cm Preisrichter: #3}%
+ }%
+ \titel@skip%
+ \x@InformalEntscheid{#1}{#2}{#3}%
+}
+%
+%-----------------------------------------------------------
+% Entg"ultiger Entscheid
+% Parameter:
+% 1. Turnier
+% [2. Abteilung]
+%
+\def\Entscheid#1{%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Entscheid}%
+ \def\@tempc{#1}%
+ \edef\@tempa{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+\def\eEntscheid{%
+ \@ifstar{\i@eEntscheid}{\ii@eEntscheid}%
+}
+%
+\def\i@eEntscheid#1{%
+ \ttitel@skip%
+ \vbox{%
+ \centering
+ \Large\bfseries#1%
+ }%
+ \titel@skip%
+}
+%
+\def\ii@eEntscheid#1#2{%
+ \ttitel@skip%
+ \vbox{%
+ \centering%
+ \Large\bfseries#1\\
+ \large\bfseries#2%
+ }%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Bericht}%
+ \def\@tempc{#1}%
+ \edef\@tempa{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+ \titel@skip%
+}
+%-----------------------------------------------------------
+% 7) Personalia: Geburtstage und Sterbef"alle
+% Parameter: (Geburt)
+% 1. Name
+% 2. Alter
+% Parameter: (Verstorben)
+% 1. Name
+% 2. Daten
+%
+\newif\if@title\@titletrue
+\def\Geburtstag{%
+ \@ifnextchar *{\@@Geburtstag}{\@Geburtstag}%
+}
+\def\@@Geburtstag#1{\@titlefalse\@Geburtstag}%
+\def\@Geburtstag{%
+ \@ifnextchar [{\y@Geburtstag}{\x@Geburtstag}%
+}
+\def\x@Geburtstag#1#2{%
+ \if@title%
+ \ttitel@skip%
+ \centerline{\Large\bfseries#1\ \ #2}
+ \titel@skip%
+ \fi%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Geburtstag}%
+ \def\@tempc{#1}%
+ \def\@tempd{#2}%
+ \edef\@tempa{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\@tempd}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\y@Geburtstag[#1]#2#3{%
+ \if@title%
+ \ttitel@skip%
+ \centerline{#1}
+ \titel@skip%
+ \fi%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Geburtstag}%
+ \def\@tempc{#2}%
+ \def\@tempd{#3}%
+ \edef\@tempa{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\@tempd}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+\def\Verstorben{\@ifstar{\y@Verstorben}{\x@Verstorben}}
+\def\x@Verstorben#1#2{%
+ \ttitel@skip%
+ \hbox to \textwidth{\large\bf\uppercase{#1}\hfill#2}%
+ \titel@skip%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Verstorben}%
+ \def\@tempc{#1}%
+ \def\@tempd{#2}%
+ \edef\@tempa{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\@tempd}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+\def\y@Verstorben#1{%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Verstorben}%
+ \def\@tempc{#1}%
+ \edef\@tempa{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+\def\Nachruf#1{%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \bgroup%
+ \def\@tempb{\Verstorben}%
+ \def\@tempc{#1}%
+ \edef\@tempa{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+%-----------------------------------------------------------
+% 8) Buchbesprechungen
+\newif\if@firstbook
+% Zun"achst ein Befehl, mit dem die Buchbesprechungen beginnen
+\def\Buecher{%
+ \@ifstar{\@xBuecher}{\@Buecher}%
+}
+\def\@Buecher{%
+ \ttitel@skip%
+ \centerline{\Large\bfseries Buchbesprechungen}%
+ \titel@skip%
+ \@firstbooktrue%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Eintrag im Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\Buecher}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\@xBuecher{%
+ \ttitel@skip%
+ \centerline{\Large\bfseries Buchbesprechung}%
+ \titel@skip%
+ \@firstbooktrue%
+ % Eintrag im Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Buch}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+% Mit dem Befehl \Buch soll jedes Buch beginnen. Als Parameter
+% sind:
+% 1. Autor(en) und
+% 2. Titel des Buches
+% anzugeben. Beide Angaben erscheinen Fettgedruckt am Beginn der
+% Buchbesprechung und werden f"ur das Register "ubernommen.
+%
+% Schreiben der Autoren
+%
+\def\@book@authors#1; {%
+ \if@notfirst%
+ , %
+ \else%
+ \noindent%
+ \@notfirsttrue%
+ \fi%
+ \@fullname#1; %
+ \l@@klist%
+}
+%
+\def\Buch{%
+ \futurelet\n@xt\x@Buch%
+}
+
+\def\x@Buch{%
+ \ifx\n@xt*\relax%
+ \ifvmode\else\newline\fi\@firstbookfalse%
+ \let\n@xt\y@Buch%
+ \else\if\n@xt+%
+ \@firstbookfalse%
+ \let\n@xt\y@Buch%
+ \else%
+ \if@firstbook%
+ \titel@skip\@firstbookfalse%
+ \else%
+ \par%
+ \fi%
+ \let\n@xt\@Buch%
+ \fi\fi%
+ \n@xt%
+}
+%
+\def\y@Buch#1{\@Buch}
+%
+\def\@Buch#1#2{%
+ \bgroup%
+ \bfseries%
+ \ifx\relax#1\else%
+ \@notfirstfalse
+ \let\@action\@book@authors%
+ \l@@klist#1; \e@list%
+ : %
+ \fi%
+ \itshape #2\ \ignorespaces%
+ \egroup%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+% \bgroup%
+% \def\@tempb{\Buch}%
+% \def\@tempc{#1}%
+% \def\@tempd{#2}%
+% \edef\@tempa{
+% \write\sw@contents{%
+% \@nearverbatim\@tempb{%
+% {\@nearverbatim\@tempc}%
+% {\@nearverbatim\@tempd}%
+% {\@nameuse{thepage}}%
+% }%
+% }%
+% }%
+% \expandafter\egroup\@tempa%
+}
+%
+%-----------------------------------------------------------
+% 9) Einladungen zu Tagungen u. Turnieren
+\def\Einladung{%
+ \@ifnextchar[{\@@Einladung}{\@Einladung}%
+}
+\def\@Einladung#1{%
+ \ttitel@skip%
+ \vbox{%
+ \centering%
+ \large\bf\uppercase{#1}%
+ }%
+ \titel@skip%
+}
+\def\@@Einladung[#1]#2{%
+ \ttitel@skip%
+ \vbox{%
+ \centering%
+ \large\bf\uppercase{#2}%
+ }%
+ \titel@skip%
+ \bgroup%
+ \def\@tempb{\Einladung}%
+ \def\@tempc{#1}%
+ \edef\@tempa{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nameuse{thepage}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%-----------------------------------------------------------
+% Tagungsberichte
+%
+%-----------------------------------------------------------
+\def\Bericht#1{%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Bericht}%
+ \def\@tempc{#1}%
+ \edef\@tempa{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nameuse{thepage}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%-----------------------------------------------------------
+% Gruesse
+%
+\def\Gruss#1{%
+ % Eintrag im Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \let\titel@ext\inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Gruss}%
+ \def\@tempc{#1}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+%-----------------------------------------------------------
+% Tagungsberichte
+%
+\def\Tagung#1{%
+ % Eintrag im Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \let\titel@ext\inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Tagung}%
+ \def\@tempc{#1}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+%-----------------------------------------------------------
+% Turnierberichte aus anderen Zeitschriften
+\def\turnierberichte{%
+ \ttitel@skip%
+ \vbox{\centering\Large\bfseries Turnierberichte}%
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \let\titel@ext\inhalt@label\relax%
+ \titel@ext%
+ \nodiagnumbering%
+ % Eintrag im Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\Turnierberichte}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+%
+\def\turnier#1{%
+ \vskip\tw@\p@%
+ {\large\bfseries#1}%
+ \par%
+}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Es folgen ein paar Hilfskommandos und Initialsierungen
+%-----------------------------------------------------------
+% 1. "Offnen der datei, die alle Eintr"age f"ur das
+% Inhaltsverzeichnis enth"alt.
+%
+\newwrite\sw@contents
+\immediate\openout\sw@contents=\jobname.inhalt\relax
+\newwrite\sw@problems
+\immediate\openout\sw@problems=\jobname.problems\relax
+%-----------------------------------------------------------
+% 2. Abstand zu einer "Uberschrift und
+% von einer "Uberschrift zum folgenden Text
+%
+% \def\ttitel@skip{\vskip30\p@ plus \f@ur\p@\penalty-100}
+\def\ttitel@skip{\vskip24\p@ plus \f@ur\p@\goodbreak}
+\def\titel@skip{\nopagebreak\vskip\tw@\p@}
+\def\subtitel@skip{\vskip10\p@ plus \f@ur\p@ minus \f@ur\p@ \penalty-100}
+\def\subtitel@subskip{\nopagebreak\vskip\@ne\p@}
+%-----------------------------------------------------------
+% 3. Setzen von Autoren eines Aufsatzes
+%
+\def\sw@author#1; {%
+ \sw@writeauthor#1;%
+ \l@@klist%
+}
+%
+\def\sw@writeauthor#1, #2/#3;{%
+ \if@first%
+ von~%
+ \@firstfalse%
+ \else%
+ \ \&\ %
+ \fi%
+ #2~#1, #3%
+}
+%-----------------------------------------------------------
+% 4. Schreiben der Autoren von Urdrucken in das
+% Inhaltsverzeichnis
+%
+\newif\if@gemeinschaft
+\def\sw@problem{%
+ % Z"ahle die Autoren
+ \sw@count\z@%
+ \let\@action=\sw@authorCount%
+ \expandafter\l@@klist\the\aut@tk; \e@list%
+ \ifnum\sw@count>\@ne%
+ \@gemeinschafttrue%
+ \else%
+ \@gemeinschaftfalse%
+ \fi%
+ \bgroup%
+ \let\@action=\sw@problemAuthor%
+ \expandafter\l@@klist\the\aut@tk; \e@list%
+ \egroup%
+}
+% Schreiben eines einzelnen Autors in das Inhaltsverzeichnis
+%
+\def\sw@problemAuthor#1; {%
+ \bgroup%
+ \def\@tempc{\problem}%
+ \def\@tempb{#1}%
+ \edef\@tempa{%
+ \write\sw@problems{%
+ \@nearverbatim\@tempc{%
+ {\@nameuse{thepage}}%
+ \if@special%
+ {\@nearverbatim\thediag}%
+ \else%
+ {\thediag}%
+ \fi%
+ {\@nearverbatim\@tempb}%
+ {\if@urdruck\else n\fi\if@gemeinschaft g\fi}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+ \l@@klist%
+}
+%-----------------------------------------------------------
+% 5. Z"ahlen von Autoren
+%
+\newcount\sw@count
+\def\sw@authorCount#1; {%
+ \advance\sw@count\@ne%
+ \l@@klist%
+}
+%-----------------------------------------------------------
+% 6. F"ur das Schreiben in die inhaltsdatei ohne
+% Kommandos zu expandieren.
+\def\@meaning#1>{}
+\def\@nearverbatim{\expandafter\@meaning\meaning}
+%-----------------------------------------------------------
+\def\i@line#1#2{#1 \hrulefill\ #2\newline}
+%-----------------------------------------------------------
+% Setzen von Autoren im Inhaltsverzeichnis
+%
+\def\iw@author#1; {%
+ \iw@writeauthor#1;%
+ \l@@klist%
+}
+%
+\def\iw@writeauthor#1, #2/#3;{%
+ \if@first%
+ \@firstfalse%
+ \else%
+ , \ %
+ \fi%
+ #2~#1%
+}
+%-----------------------------------------------------------
+\def\ix@Geburtstag#1#2#3{\i@line{#1\ \ #2}{#3}}
+\def\ix@aufsatz#1#2#3{%
+ \i@line{{\itshape %
+ \@firsttrue%
+ \let\@action\iw@author\relax%
+ \aut@tk={#3}%
+ \@parseTokenlist\aut@tk;%
+ :\/} #2}{#1}%
+}
+\def\ix@InformalEntscheid#1#2#3#4{\i@line{Entscheid im Informalturnier #2, Abteilung #1}{#4}}
+\def\ix@Loesungen#1#2#3{\i@line{L\"osungen der Urdrucke aus Heft #1, #2}{#3}}
+\def\ix@turnierbericht#1#2#3{%
+ \i@line{Entscheid im #1}{#3}%
+}
+\def\ix@bericht#1#2{\i@line{#1}{#2}}
+\def\ix@einladung#1#2{\i@line{#1}{#2}}
+\def\ix@verstorben#1#2{\i@line{#1}{#2}}
+\def\ix@entscheid#1#2{\i@line{#1}{#2}}
+\def\ix@editorial#1#2{\i@line{#1}{#2}}
+\def\ix@ausschreibung#1#2{\i@line{#1}{#2}}
+%-----------------------------------------------------------
+\def\i@Geburtstag#1{\ix@Geburtstag#1}
+\def\i@aufsatz#1{\ix@aufsatz#1}
+\def\i@aktuell#1{\i@line{Aktuelle Meldungen}{#1}}
+\def\i@InformalEntscheid#1{\ix@InformalEntscheid#1}
+\def\i@urdrucke#1{\i@line{Urdrucke}{#1}}
+\def\i@Loesungen#1{\ix@Loesungen#1}
+\def\i@Loeserliste#1{\i@line{L\"oserliste}{#1}}
+\def\i@bub#1{\i@line{Bemerkungen und Berichtigungen}{#1}}
+\def\i@turniere#1{\i@line{Turnierberichte}{#1}}
+\def\i@buecher#1{\i@line{Buchbesprechungen}{#1}}
+\def\i@buch#1{\i@line{Buchbesprechung}{#1}}
+\def\i@turnierbericht#1{\ix@turnierbericht#1}
+\def\i@bericht#1{\ix@bericht#1}
+\def\i@einladung#1{\ix@einladung#1}
+\def\i@verstorben#1{\ix@verstorben#1}
+\def\i@entscheid#1{\ix@entscheid#1}
+\def\i@editorial#1{\ix@editorial#1}
+\def\i@TurnierAusschreibung#1{\ix@ausschreibung#1}
+%-----------------------------------------------------------
+\def\Inhalt{%
+ \centerline{\bfseries INHALT}%
+ \vspace{-.5mm}
+ \begingroup%
+ \let\Geburtstag=\i@Geburtstag%
+ \let\aufsatz=\i@aufsatz%
+ \let\aktuell=\i@aktuell%
+ \let\InformalEntscheid=\i@InformalEntscheid%
+ \let\Urdrucke=\i@urdrucke%
+ \let\Loesungen=\i@Loesungen%
+ \let\Loeserliste=\i@Loeserliste%
+ \let\bub=\i@bub%
+ \let\Turnierberichte=\i@turniere%
+ \let\Turnierbericht=\i@turnierbericht%
+ \let\Bericht=\i@bericht%
+ \let\Einladung=\i@einladung%
+ \let\Buecher=\i@buecher%
+ \let\Buch=\i@buch%
+ \let\Verstorben=\i@verstorben%
+ \let\Entscheid=\i@entscheid%
+ \let\editorial=\i@editorial%
+ \let\TurnierAusschreibung=\i@TurnierAusschreibung%
+ \immediate\closeout\sw@contents\relax%
+ \input\jobname.inhalt%
+ \noindent\hbox{}\endgroup%
+}
+%-----------------------------------------------------------
+\def\i@author#1, #2; {\if@first\@firstfalse\else, \fi#2~#1\l@@klist}
+
+\def\aufsatz#1#2#3{%
+ \bgroup
+ \itshape
+ \@firsttrue
+ \let\@action=\i@author
+ \l@@klist#3; \e@list%
+ : %
+ \egroup
+ #2%
+ \hrulefill\ #1\newline
+}
+
+\newlength{\helplength}%
+\newlength{\boardskip}%
+\newlength{\double@boardwidth}%
+
+\def\doublediagram#1{%
+ \def\dia@above{\if@special\else%
+ \setlength{\helplength}{\textwidth}%
+ \addtolength{\helplength}{-3\board@width}%
+ \setlength{\boardskip}{.5\helplength}%
+ \setlength{\double@boardwidth}{2\board@width}%
+ \addtolength{\double@boardwidth}{\boardskip}%
+ \begin{minipage}[b]{\double@boardwidth}%
+ #1%
+ \end{minipage}%
+ \fi}%
+}
+
+
+\newcounter{@maerchenlexikon}
+\setcounter{@maerchenlexikon}{0}
+\newboolean{@first@lexikon@entry}
+\newcommand{\maerchenart}[1]{%
+ \ifthenelse{\boolean{@first@lexikon@entry}}{%
+ \setboolean{@first@lexikon@entry}{false}%
+ }{%
+ --- %
+ }%
+ {\itshape #1:} \ignorespaces%
+}
+\newenvironment{maerchenlexikon}%
+{%
+ \ifthenelse{\value{@maerchenlexikon}=0}{%
+ {\itshape Kleines M\"archenschach-Lexikon:} %
+ }{}%
+ \setboolean{@first@lexikon@entry}{true}%
+ \stepcounter{@maerchenlexikon}%
+}{}
+
+\renewcommand{\section}{\@startsection{section}{1}{\z@}{2ex}{.5ex}{\normalfont\large\bfseries}}
+\renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}{1ex}{.3ex}{\normalfont\bfseries}}
+\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}{.4ex}{.1ex}{\normalfont}}
+
+%</style>
+% \end{macrocode}
+%
+% \Finale
diff --git a/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.ins b/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.ins
new file mode 100644
index 00000000000..ae9543b43db
--- /dev/null
+++ b/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.ins
@@ -0,0 +1,6 @@
+\input docstrip.tex
+\askforoverwritefalse
+\generate{%
+ \file{schwalbe.sty}{\from{schwalbe.dtx}{style}}%
+}
+\endbatchfile
diff --git a/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.sty b/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.sty
new file mode 100644
index 00000000000..94f7c80cb15
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.sty
@@ -0,0 +1,1112 @@
+%%
+%% This is file `schwalbe.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% schwalbe.dtx (with options: `style')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from schwalbe.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file schwalbe.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% File 'diagram.dtx'
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version
+%% 1.2 of this license or (at your option) any later version.
+%% The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%%
+\ProvidesPackage{schwalbe}[1997/07/27]
+\RequirePackage[german]{babel}
+\RequirePackage{ifthen}
+\usepackage{diagram}
+\usepackage{times}
+\usepackage{picinpar}
+\usepackage{multicol}
+\hyphenation{Patt-idee Da-men-op-fer nicht-ortho-doxe Grim-shaw}
+\advance\exhyphenpenalty by -10
+\tolerance2000\relax
+\emergencystretch15\p@
+\renewcommand\footnotesize{%
+ \@setfontsize\footnotesize\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@
+ \parsep 3\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip
+}
+\def\dh{d.\,h.\ \ignorespaces}
+\def\ua{u.\,a.\ \ignorespaces}
+\def\zB{z.\,B.\ignorespaces}
+\def\su{s.\,u.\ignorespaces}
+\def\ep{e.\,p.\ignorespaces}
+\def\seedia{s.\,Diagr.}
+\def\figline{%
+\centerline{%
+\wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK %
+\wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK %
+\wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK \wK %
+}}
+\def\foto#1#2#3{%
+ \begin{minipage}[t]{#1}
+ \hbox to #1{\hsize#1%
+ \vtop to #2{%
+ \noindent\hbox{}\vfill\hbox{}%
+ }%
+ }%
+ \par%
+ #3%
+ \end{minipage}
+}%
+\newcommand{\rb}[1]{\raisebox{0.4ex}{#1}}
+\nocomputer
+\setboolean{piececounter}{true}
+\diagcenter
+\setmonthstyle{Roman}
+\def\normaldia{%
+ \font\chessfont=fselch16%
+ \def\authorfont{\bfseries}
+ \def\cityfont{\itshape}
+ \def\sourcefont{\slshape}
+ \def\awardfont{}
+ \def\dedicfont{\itshape}
+ \def\stipfont{}
+ \def\remfont{}
+ \def\labelfont{\footnotesize}
+ \def\boardfont{\footnotesize}
+ \setboardwidth%
+}
+\def\smalldia{%
+ \font\chessfont=fselch12%
+ \def\authorfont{\small\bfseries}%
+ \def\cityfont{\small\itshape}%
+ \def\sourcefont{\small\slshape}%
+ \def\awardfont{\small}%
+ \def\dedicfont{\small\itshape}%
+ \def\stipfont{\small}%
+ \def\remfont{\small}%
+ \def\labelfont{\small\footnotesize}%
+ \def\boardfont{\small\footnotesize}%
+ \setboardwidth%
+}
+\renewcommand*{\diagramxi}{\normaldia}
+\def\do@dia@job{%
+ \@write@sol\ifvmode\noindent\fi\unhbox\dia@box%
+ \sw@problem%
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\hoffset-25mm
+\voffset-25mm
+\textheight26cm
+\textwidth157mm
+\oddsidemargin22.5mm
+\topmargin19mm
+\headheight0cm
+\headsep0cm
+\footskip10mm
+\parindent0mm
+\parskip1ex plus 1ex minus .5ex
+\def\@oddhead{}
+\def\@oddfoot{%
+ \ifodd\c@page%
+ \hbox to \textwidth{\hfill\thepage}%
+ \else%
+ \hbox to \textwidth{\thepage\hfill}%
+ \fi%
+}
+\inner@frame\z@%
+\v@frame@dist\z@%
+\h@frame@dist\z@%
+\setboardwidth
+\newif\if@first%
+\newif\if@urdruck\@urdruckfalse
+\def\urdruck{\@urdrucktrue}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\windowpar}{%
+ \newline\hbox{\vbox to \parskip{\vss}}\newline%
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\let\bel=\any
+\let\ferner=\further
+\def\reprint{%
+ \hbox to \textwidth{\bf%
+ PLEASE~REPRINT\hfill
+ BITTE~NACHDRUCKEN\hfill
+ PRIERE~DE~REIMPRIMER%
+ }%
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\Heft#1#2#3#4{%
+ \def\heft@nr{#1}%
+ \def\heft@monat{#2}%
+ \def\heft@year{#3}%
+ \setcounter{page}{#4}%
+ \hbox to \textwidth{\vbox to 60mm{\vfill}\hfill}%
+ \hbox to \textwidth{%
+ {\large\bfseries HEFT~#1}%
+ \hfill%
+ {\large\bfseries BAND XXIX}%
+ \hfill%
+ {\large\bfseries #2~#3}%
+ }%
+ \vskip2mm%
+ \hrule width \textwidth height 1\p@%
+ %\input{intro}%
+ \vskip5mm%
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\Editorial{%
+ \@ifnextchar[{\x@editorial}{\x@editorial[Editorial]}%
+}%
+\def\x@editorial[#1]#2{%
+ \ttitel@skip%
+ \centerline{\Large\bfseries #2}%
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \begingroup%
+ \def\@tempa{#1}%
+ \def\@tempb{\editorial}%
+ \edef\@tempc{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempa}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\endgroup\@tempc%
+}
+\def\Verschiedenes{%
+}
+\def\aktuell{%
+ \ttitel@skip%
+ \centerline{\Large\itshape AKTUELLE MELDUNGEN}
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Eintrag im Inhaltsverzeichnis
+\bgroup%
+ \def\@tempb{\aktuell}%
+\edef\@tempa{
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+}%
+\expandafter\egroup\@tempa%
+}
+\newif\if@noname
+\newif\if@normalname
+
+\let\titel@ext\relax
+\newcounter{@inhalt}
+\setcounter{@inhalt}{0}
+\def\the@inhalt{\@arabic\c@@inhalt}
+\def\inhalt@label{\label{inhalt\@nameuse{the@inhalt}}}
+\def\Titel{\ttitel@skip\centering\addtolength{\baselineskip}{4pt}}
+\def\endTitel{\titel@skip\titel@ext}
+\def\Untertitel{\subtitel@skip\centering}
+\def\endUntertitel{\subtitel@subskip}
+\def\Aufsatz#1#2{%
+ \stepcounter{@inhalt}%
+ \let\titel@ext\inhalt@label\relax%
+ \begingroup%
+ \setcounter{footnote}{0}%
+ \def\@tempa{#1}%
+ \def\@tempc{\aufsatz}%
+ \def\@tempb{#2}%
+ \edef\@tempd{%
+ \write\sw@contents{%
+ \@nearverbatim\@tempc{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ {\@nearverbatim\@tempa}%
+ {\@nearverbatim\@tempb}%
+ }%
+ }%
+ }%
+ \expandafter\endgroup\@tempd%
+}
+
+\def\Urdrucke#1{%
+\begingroup%
+ \nocomputer%
+ \diagnumbering{arabic}%
+ \diagnum{#1}%
+ \@urdrucktrue%
+\def\do@dia@job{%
+\unhbox\dia@box%
+\sw@problem%
+}%
+\ttitel@skip%
+ \centerline{\Large\bfseries Urdrucke}%
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Eintrag im Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\Urdrucke}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\endUrdrucke{%
+\endgroup%
+}
+\def\@dia@number{}% Die Diagrammnummer wird bei den Autoren gesetzt!
+\def\@dia@numberx{%
+ \if@special%
+ \thediag%
+ \else\ifdi@no%
+ \thediag%
+ \fi\fi%
+}
+\def\@dia@authors{%
+ \ifauth@r%
+ \bgroup%
+ \authorfont%
+ \ifnormal@names%
+ \def\@dianame{\@normalname}%
+ \fi%
+ \@firsttrue%
+ \let\@action=\@dia@writename% Parse the list of authors
+ \@parseTokenlist\aut@tk;%
+ \par%
+ \egroup%
+ \else%
+ {\authorfont\@dia@numberx}%
+ \if@special%
+ \par%
+ \else\ifdi@no%
+ \par%
+ \fi\fi%
+ \fi%
+}
+\def\@dia@writename#1; {%
+ \if@first%
+ \@firstfalse%
+ \setbox\@test@box=\hbox{%
+ \@dia@numberx\ %
+ \@dianame#1; %
+ }%
+ \@test@dimen=\wd\@test@box%
+ \ifdim\@test@dimen>\board@width\relax%
+ \noindent\hbox to\board@width{\@dia@numberx\hfill}\par%
+ \setbox\@test@box=\hbox{%
+ \@dianame#1; %
+ }%
+ \@test@dimen=\wd\@test@box%
+ \ifdim\@test@dimen>\board@width\relax%
+ \hbox to\board@width{\@dianame#1; \hss}%
+ \else%
+ \hfill\@dianame#1; %
+ \fi%
+ \else%
+ \@dia@numberx\hfill\@dianame#1; %
+ \fi%
+ \else%
+ % Changed to get the resulting names centered.
+ \par\noindent\hbox to\board@width{\hss\@dianame#1; \hss}%
+ \fi%
+ \l@@klist%
+}
+\def\@figurine@number{{\authorfont\thediag\ }}
+\def\Loesungen#1#2{%
+\begingroup%
+ \ttitel@skip%
+ \centerline{\Large\bfseries L\"osungen der Urdrucke aus Heft #1, #2}%
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Eintrag im Inhaltsverzeichnis
+\bgroup%
+ \def\@tempb{\Loesungen}%
+ \def\@tempc{#1}%
+ \def\@tempd{#2}%
+\edef\@tempa{
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+{\@nearverbatim\@tempd}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+}%
+\expandafter\egroup\@tempa%
+ \parskip.5ex plus 2ex%
+ \catcode`/=\active%
+}
+\def\endLoesungen{%
+ \catcode`/=12%
+\endgroup%
+}
+\def\mainline#1{\bfseries#1}
+\def\sol@slash{\nobreak\hskip\z@ plus 2\p@\char`/\hskip\z@ plus 2\p@\discretionary{}{}{}}
+\catcode`/=\active\relax\let/\sol@slash\relax\catcode`/=12%
+\def\bsol{\catcode`/=\active\relax}
+\def\esol{\catcode`/=12\relax}
+\bsol
+\def\Loeserliste#1{%
+ \ttitel@skip%
+ \centerline{\Large\bfseries L\"oserliste #1}%
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Eintrag im Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\Loeserliste}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\dauerkonto#1{%
+ \ttitel@skip%
+ \centerline{\large\bfseries L\"oserliste: Sonderpunkte \& Dauerkonto #1}%
+ \titel@skip%
+}
+\def\loesungswettbewerb#1{
+ \ttitel@skip%
+ \centerline{\Large\bfseries Preisbericht zum L\"osungswettbewerb #1}%
+ \titel@skip%
+}
+\def\BuB{%
+ \ttitel@skip%
+ \centerline{\Large\bfseries Bemerkungen und Berichtigungen}%
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bsol%
+ % Eintrag im Inhaltsverzeichnis
+\bgroup%
+ \def\@tempb{\bub}%
+\edef\@tempa{
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+}%
+\expandafter\egroup\@tempa%
+}
+\def\endBuB{\esol}
+\def\Briefkasten{%
+ \titel@skip%
+ {\large\bfseries Briefkasten}%
+ \hskip1em%
+}
+\def\aTurnier{%
+ \@ifstar{\x@Turnier}{\y@Turnier}%
+}
+\def\TurnierAusschreibung#1{%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Eintrag im Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\TurnierAusschreibung}%
+ \def\@tempc{#1}%
+ \edef\@tempa{
+ \write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\x@Turnier#1#2{%
+ \ttitel@skip%
+ \vbox{%
+ \centering%
+ {\large\bfseries\uppercase{#1}}\\[3mm]
+ {\bf#2}%
+ }%
+ \titel@skip%
+}
+\def\y@Turnier#1{%
+ \ttitel@skip%
+ \vbox{%
+ \centering%
+ \large\bfseries\uppercase{#1}%
+ }%
+ \titel@skip%
+}
+\def\Turnierbericht#1#2{%
+ \stepcounter{@inhalt}%
+ \let\titel@ext\inhalt@label\relax%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\Turnierbericht}%
+ \def\@tempc{#1}%
+ \def\@tempd{#2}%
+ \edef\@tempa{%
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+{\@nearverbatim\@tempd}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\bTurnier{%
+ \@ifstar{\by@turnier}{\bx@turnier}%
+}
+\def\sw@turnier{%
+}
+\def\bx@turnier#1#2{%
+ \ttitel@skip%
+ \vbox{%
+ \centering%
+ {\Large\bfseries#1}\\
+ \bgroup%
+ \bfseries%
+ \@firsttrue%
+ \let\@action=\sw@author%
+ \l@@klist#2; \e@list%
+ \egroup%
+ }%
+ \titel@skip%
+ \diagnum{1}%
+}
+\def\by@turnier#1{%
+ \ttitel@skip%
+ \vbox{%
+ \centering
+ {\Large\bf#1}
+ }%
+ \titel@skip%
+ \diagnum{1}%
+}
+\def\InformalEntscheid{%
+ \@ifstar{\x@InformalEntscheid}{\y@InformalEntscheid}%
+}
+\def\x@InformalEntscheid#1#2#3{%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Weitere Einstellungen
+ \def\@dia@numberx{%
+ \if@special%
+ \thediag\ %
+ \else\ifdi@no%
+ \if@sourcenr\the\sourcenr@tk\fi\ %
+ \fi\fi%
+ }%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \bgroup%
+ \def\@tempb{\InformalEntscheid}%
+ \def\@tempc{#1}%
+ \def\@tempd{#2}%
+ \def\@tempe{#3}%
+ \edef\@tempa{%
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+{\@nearverbatim\@tempd}%
+{\@nearverbatim\@tempe}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\y@InformalEntscheid#1#2#3{%
+ \ttitel@skip%
+ \vbox{%
+ \centerline{\Large\bfseries Entscheid im Informalturnier #2 der Schwalbe}%
+ \centerline{\bfseries Abteilung: #1\hskip1cm Preisrichter: #3}%
+ }%
+ \titel@skip%
+ \x@InformalEntscheid{#1}{#2}{#3}%
+}
+\def\Entscheid#1{%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Entscheid}%
+ \def\@tempc{#1}%
+ \edef\@tempa{%
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\eEntscheid{%
+ \@ifstar{\i@eEntscheid}{\ii@eEntscheid}%
+}
+\def\i@eEntscheid#1{%
+ \ttitel@skip%
+ \vbox{%
+ \centering
+ \Large\bfseries#1%
+ }%
+ \titel@skip%
+}
+\def\ii@eEntscheid#1#2{%
+ \ttitel@skip%
+ \vbox{%
+ \centering%
+ \Large\bfseries#1\\
+ \large\bfseries#2%
+ }%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Bericht}%
+ \def\@tempc{#1}%
+ \edef\@tempa{%
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+ }%
+ \expandafter\egroup\@tempa%
+ \titel@skip%
+}
+\newif\if@title\@titletrue
+\def\Geburtstag{%
+ \@ifnextchar *{\@@Geburtstag}{\@Geburtstag}%
+}
+\def\@@Geburtstag#1{\@titlefalse\@Geburtstag}%
+\def\@Geburtstag{%
+ \@ifnextchar [{\y@Geburtstag}{\x@Geburtstag}%
+}
+\def\x@Geburtstag#1#2{%
+ \if@title%
+ \ttitel@skip%
+ \centerline{\Large\bfseries#1\ \ #2}
+ \titel@skip%
+ \fi%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Geburtstag}%
+ \def\@tempc{#1}%
+ \def\@tempd{#2}%
+ \edef\@tempa{%
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+{\@nearverbatim\@tempd}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\y@Geburtstag[#1]#2#3{%
+ \if@title%
+ \ttitel@skip%
+ \centerline{#1}
+ \titel@skip%
+ \fi%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Geburtstag}%
+ \def\@tempc{#2}%
+ \def\@tempd{#3}%
+ \edef\@tempa{%
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+{\@nearverbatim\@tempd}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\Verstorben{\@ifstar{\y@Verstorben}{\x@Verstorben}}
+\def\x@Verstorben#1#2{%
+ \ttitel@skip%
+ \hbox to \textwidth{\large\bf\uppercase{#1}\hfill#2}%
+ \titel@skip%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Verstorben}%
+ \def\@tempc{#1}%
+ \def\@tempd{#2}%
+ \edef\@tempa{%
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+{\@nearverbatim\@tempd}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\y@Verstorben#1{%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Verstorben}%
+ \def\@tempc{#1}%
+ \edef\@tempa{%
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\Nachruf#1{%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \bgroup%
+ \def\@tempb{\Verstorben}%
+ \def\@tempc{#1}%
+ \edef\@tempa{%
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\newif\if@firstbook
+\def\Buecher{%
+ \@ifstar{\@xBuecher}{\@Buecher}%
+}
+\def\@Buecher{%
+ \ttitel@skip%
+ \centerline{\Large\bfseries Buchbesprechungen}%
+ \titel@skip%
+ \@firstbooktrue%
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ % Eintrag im Inhaltsverzeichnis
+\bgroup%
+ \def\@tempb{\Buecher}%
+\edef\@tempa{
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+}%
+\expandafter\egroup\@tempa%
+}
+\def\@xBuecher{%
+ \ttitel@skip%
+ \centerline{\Large\bfseries Buchbesprechung}%
+ \titel@skip%
+ \@firstbooktrue%
+ % Eintrag im Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+\bgroup%
+ \def\@tempb{\Buch}%
+\edef\@tempa{
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+}%
+\expandafter\egroup\@tempa%
+}
+\def\@book@authors#1; {%
+ \if@notfirst%
+ , %
+ \else%
+ \noindent%
+ \@notfirsttrue%
+ \fi%
+ \@fullname#1; %
+ \l@@klist%
+}
+\def\Buch{%
+ \futurelet\n@xt\x@Buch%
+}
+
+\def\x@Buch{%
+ \ifx\n@xt*\relax%
+ \ifvmode\else\newline\fi\@firstbookfalse%
+ \let\n@xt\y@Buch%
+ \else\if\n@xt+%
+ \@firstbookfalse%
+ \let\n@xt\y@Buch%
+ \else%
+ \if@firstbook%
+ \titel@skip\@firstbookfalse%
+ \else%
+ \par%
+ \fi%
+ \let\n@xt\@Buch%
+ \fi\fi%
+ \n@xt%
+}
+\def\y@Buch#1{\@Buch}
+\def\@Buch#1#2{%
+ \bgroup%
+ \bfseries%
+ \ifx\relax#1\else%
+ \@notfirstfalse
+ \let\@action\@book@authors%
+ \l@@klist#1; \e@list%
+ : %
+ \fi%
+ \itshape #2\ \ignorespaces%
+ \egroup%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+}
+\def\Einladung{%
+ \@ifnextchar[{\@@Einladung}{\@Einladung}%
+}
+\def\@Einladung#1{%
+ \ttitel@skip%
+ \vbox{%
+ \centering%
+ \large\bf\uppercase{#1}%
+ }%
+ \titel@skip%
+}
+\def\@@Einladung[#1]#2{%
+ \ttitel@skip%
+ \vbox{%
+ \centering%
+ \large\bf\uppercase{#2}%
+ }%
+ \titel@skip%
+ \bgroup%
+ \def\@tempb{\Einladung}%
+ \def\@tempc{#1}%
+ \edef\@tempa{%
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+ {\@nameuse{thepage}}%
+}%
+}%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\Bericht#1{%
+ % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \inhalt@label\relax%
+ \bgroup%
+ \def\@tempb{\Bericht}%
+ \def\@tempc{#1}%
+ \edef\@tempa{%
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+ {\@nameuse{thepage}}%
+}%
+}%
+ }%
+ \expandafter\egroup\@tempa%
+}
+\def\Gruss#1{%
+ % Eintrag im Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \let\titel@ext\inhalt@label\relax%
+\bgroup%
+ \def\@tempb{\Gruss}%
+ \def\@tempc{#1}%
+\edef\@tempa{
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+}%
+\expandafter\egroup\@tempa%
+}
+\def\Tagung#1{%
+ % Eintrag im Inhaltsverzeichnis
+ \stepcounter{@inhalt}%
+ \let\titel@ext\inhalt@label\relax%
+\bgroup%
+ \def\@tempb{\Tagung}%
+ \def\@tempc{#1}%
+\edef\@tempa{
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+{\@nearverbatim\@tempc}%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+}%
+\expandafter\egroup\@tempa%
+}
+\def\turnierberichte{%
+ \ttitel@skip%
+ \vbox{\centering\Large\bfseries Turnierberichte}%
+ \titel@skip%
+ \stepcounter{@inhalt}%
+ \let\titel@ext\inhalt@label\relax%
+ \titel@ext%
+ \nodiagnumbering%
+ % Eintrag im Inhaltsverzeichnis
+\bgroup%
+ \def\@tempb{\Turnierberichte}%
+\edef\@tempa{
+\write\sw@contents{%
+ \@nearverbatim\@tempb{%
+ {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}%
+}%
+}%
+}%
+\expandafter\egroup\@tempa%
+}
+\def\turnier#1{%
+ \vskip\tw@\p@%
+ {\large\bfseries#1}%
+ \par%
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newwrite\sw@contents
+\immediate\openout\sw@contents=\jobname.inhalt\relax
+\newwrite\sw@problems
+\immediate\openout\sw@problems=\jobname.problems\relax
+\def\ttitel@skip{\vskip24\p@ plus \f@ur\p@\goodbreak}
+\def\titel@skip{\nopagebreak\vskip\tw@\p@}
+\def\subtitel@skip{\vskip10\p@ plus \f@ur\p@ minus \f@ur\p@ \penalty-100}
+\def\subtitel@subskip{\nopagebreak\vskip\@ne\p@}
+\def\sw@author#1; {%
+\sw@writeauthor#1;%
+\l@@klist%
+}
+\def\sw@writeauthor#1, #2/#3;{%
+ \if@first%
+ von~%
+ \@firstfalse%
+ \else%
+ \ \&\ %
+ \fi%
+#2~#1, #3%
+}
+\newif\if@gemeinschaft
+\def\sw@problem{%
+\sw@count\z@%
+\let\@action=\sw@authorCount%
+\expandafter\l@@klist\the\aut@tk; \e@list%
+\ifnum\sw@count>\@ne%
+\@gemeinschafttrue%
+\else%
+\@gemeinschaftfalse%
+\fi%
+\bgroup%
+\let\@action=\sw@problemAuthor%
+\expandafter\l@@klist\the\aut@tk; \e@list%
+\egroup%
+}
+\def\sw@problemAuthor#1; {%
+ \bgroup%
+ \def\@tempc{\problem}%
+ \def\@tempb{#1}%
+ \edef\@tempa{%
+ \write\sw@problems{%
+ \@nearverbatim\@tempc{%
+ {\@nameuse{thepage}}%
+ \if@special%
+ {\@nearverbatim\thediag}%
+ \else%
+ {\thediag}%
+ \fi%
+ {\@nearverbatim\@tempb}%
+ {\if@urdruck\else n\fi\if@gemeinschaft g\fi}%
+ }%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+ \l@@klist%
+}
+\newcount\sw@count
+\def\sw@authorCount#1; {%
+\advance\sw@count\@ne%
+\l@@klist%
+}
+\def\@meaning#1>{}
+\def\@nearverbatim{\expandafter\@meaning\meaning}
+\def\i@line#1#2{#1 \hrulefill\ #2\newline}
+\def\iw@author#1; {%
+\iw@writeauthor#1;%
+\l@@klist%
+}
+\def\iw@writeauthor#1, #2/#3;{%
+ \if@first%
+ \@firstfalse%
+ \else%
+ , \ %
+ \fi%
+#2~#1%
+}
+\def\ix@Geburtstag#1#2#3{\i@line{#1\ \ #2}{#3}}
+\def\ix@aufsatz#1#2#3{%
+ \i@line{{\itshape %
+ \@firsttrue%
+ \let\@action\iw@author\relax%
+ \aut@tk={#3}%
+ \@parseTokenlist\aut@tk;%
+ :\/} #2}{#1}%
+}
+\def\ix@InformalEntscheid#1#2#3#4{\i@line{Entscheid im Informalturnier #2, Abteilung #1}{#4}}
+\def\ix@Loesungen#1#2#3{\i@line{L\"osungen der Urdrucke aus Heft #1, #2}{#3}}
+\def\ix@turnierbericht#1#2#3{%
+ \i@line{Entscheid im #1}{#3}%
+}
+\def\ix@bericht#1#2{\i@line{#1}{#2}}
+\def\ix@einladung#1#2{\i@line{#1}{#2}}
+\def\ix@verstorben#1#2{\i@line{#1}{#2}}
+\def\ix@entscheid#1#2{\i@line{#1}{#2}}
+\def\ix@editorial#1#2{\i@line{#1}{#2}}
+\def\ix@ausschreibung#1#2{\i@line{#1}{#2}}
+\def\i@Geburtstag#1{\ix@Geburtstag#1}
+\def\i@aufsatz#1{\ix@aufsatz#1}
+\def\i@aktuell#1{\i@line{Aktuelle Meldungen}{#1}}
+\def\i@InformalEntscheid#1{\ix@InformalEntscheid#1}
+\def\i@urdrucke#1{\i@line{Urdrucke}{#1}}
+\def\i@Loesungen#1{\ix@Loesungen#1}
+\def\i@Loeserliste#1{\i@line{L\"oserliste}{#1}}
+\def\i@bub#1{\i@line{Bemerkungen und Berichtigungen}{#1}}
+\def\i@turniere#1{\i@line{Turnierberichte}{#1}}
+\def\i@buecher#1{\i@line{Buchbesprechungen}{#1}}
+\def\i@buch#1{\i@line{Buchbesprechung}{#1}}
+\def\i@turnierbericht#1{\ix@turnierbericht#1}
+\def\i@bericht#1{\ix@bericht#1}
+\def\i@einladung#1{\ix@einladung#1}
+\def\i@verstorben#1{\ix@verstorben#1}
+\def\i@entscheid#1{\ix@entscheid#1}
+\def\i@editorial#1{\ix@editorial#1}
+\def\i@TurnierAusschreibung#1{\ix@ausschreibung#1}
+\def\Inhalt{%
+ \centerline{\bfseries INHALT}%
+ \vspace{-.5mm}
+ \begingroup%
+ \let\Geburtstag=\i@Geburtstag%
+ \let\aufsatz=\i@aufsatz%
+ \let\aktuell=\i@aktuell%
+ \let\InformalEntscheid=\i@InformalEntscheid%
+ \let\Urdrucke=\i@urdrucke%
+ \let\Loesungen=\i@Loesungen%
+ \let\Loeserliste=\i@Loeserliste%
+ \let\bub=\i@bub%
+ \let\Turnierberichte=\i@turniere%
+ \let\Turnierbericht=\i@turnierbericht%
+ \let\Bericht=\i@bericht%
+ \let\Einladung=\i@einladung%
+ \let\Buecher=\i@buecher%
+ \let\Buch=\i@buch%
+ \let\Verstorben=\i@verstorben%
+ \let\Entscheid=\i@entscheid%
+ \let\editorial=\i@editorial%
+ \let\TurnierAusschreibung=\i@TurnierAusschreibung%
+ \immediate\closeout\sw@contents\relax%
+ \input\jobname.inhalt%
+ \noindent\hbox{}\endgroup%
+}
+\def\i@author#1, #2; {\if@first\@firstfalse\else, \fi#2~#1\l@@klist}
+
+\def\aufsatz#1#2#3{%
+ \bgroup
+ \itshape
+ \@firsttrue
+ \let\@action=\i@author
+ \l@@klist#3; \e@list%
+ : %
+ \egroup
+ #2%
+ \hrulefill\ #1\newline
+}
+
+\newlength{\helplength}%
+\newlength{\boardskip}%
+\newlength{\double@boardwidth}%
+
+\def\doublediagram#1{%
+ \def\dia@above{\if@special\else%
+ \setlength{\helplength}{\textwidth}%
+ \addtolength{\helplength}{-3\board@width}%
+ \setlength{\boardskip}{.5\helplength}%
+ \setlength{\double@boardwidth}{2\board@width}%
+ \addtolength{\double@boardwidth}{\boardskip}%
+ \begin{minipage}[b]{\double@boardwidth}%
+ #1%
+ \end{minipage}%
+ \fi}%
+}
+
+\newcounter{@maerchenlexikon}
+\setcounter{@maerchenlexikon}{0}
+\newboolean{@first@lexikon@entry}
+\newcommand{\maerchenart}[1]{%
+ \ifthenelse{\boolean{@first@lexikon@entry}}{%
+ \setboolean{@first@lexikon@entry}{false}%
+ }{%
+ --- %
+ }%
+ {\itshape #1:} \ignorespaces%
+}
+\newenvironment{maerchenlexikon}%
+{%
+ \ifthenelse{\value{@maerchenlexikon}=0}{%
+ {\itshape Kleines M\"archenschach-Lexikon:} %
+ }{}%
+ \setboolean{@first@lexikon@entry}{true}%
+ \stepcounter{@maerchenlexikon}%
+}{}
+
+\renewcommand{\section}{\@startsection{section}{1}{\z@}{2ex}{.5ex}{\normalfont\large\bfseries}}
+\renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}{1ex}{.3ex}{\normalfont\bfseries}}
+\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}{.4ex}{.1ex}{\normalfont}}
+
+\endinput
+%%
+%% End of file `schwalbe.sty'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 3446bc3113d..2288d02064e 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -319,7 +319,8 @@ my @TLP_working = qw(
roundbox rsc rsfs rsfso
rtkinenc rtklage russ rvwrite ryethesis
sageep sansmath sauerj sauterfonts savefnmark savesym savetrees scale
- scalebar schemabloc scientificpaper sciposter screenplay sdrt
+ scalebar schemabloc schwalbe-chess scientificpaper sciposter screenplay
+ sdrt
secdot section sectionbox sectsty selectp semantic semaphor
seminar semioneside sepnum seqsplit
serbian-apostrophe serbian-date-lat serbian-lig serbianc
diff --git a/Master/tlpkg/tlpsrc/collection-games.tlpsrc b/Master/tlpkg/tlpsrc/collection-games.tlpsrc
index d456e6663d3..87e53f05391 100644
--- a/Master/tlpkg/tlpsrc/collection-games.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-games.tlpsrc
@@ -15,6 +15,7 @@ depend jeopardy
depend othello
depend othelloboard
depend psgo
+depend schwalbe-chess
depend sgame
depend skak
depend skaknew
diff --git a/Master/tlpkg/tlpsrc/schwalbe-chess.tlpsrc b/Master/tlpkg/tlpsrc/schwalbe-chess.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/schwalbe-chess.tlpsrc