%% %% This is file `schwalbe.cls', %% generated with the docstrip utility. %% %% The original source files were: %% %% schwalbe.dtx (with options: `class') %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from schwalbe.cls. %% %% 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 'schwalbe.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. %% %% \NeedsTeXFormat{LaTeX2e} \ProvidesClass{schwalbe}[2022/06/23] \DeclareOption{ruler}{% \AtBeginDocument{\IfFileExists{__finalpdf__.tex}{}{% \ShowRuler{32mm / 1pt}{-44mm / 1pt}}} }% \ProcessOptions\relax% \LoadClass[11pt,a4paper]{article} \RequirePackage[12pt]{schwalbe}[2022/06/23] \RequirePackage{swruler}[2022/06/19] \RequirePackage{cpdparse}[2020/12/27] \RequirePackage[T2A,T1]{fontenc}% fsRUS 140121 \RequirePackage[koi8-r,utf8]{inputenc}% fsRUS 140121 \RequirePackage[russian,german,english,ngerman]{babel} \RequirePackage{eurosym} \RequirePackage{ifthen} \RequirePackage{times} \RequirePackage{multicol} \RequirePackage{url} \RequirePackage{paralist} \RequirePackage{afterpage} \InputIfFileExists{schwalbe.ext}{}{}% \hyphenation{Patt-idee Da-men-op-fer nicht-ortho-doxe Grim-shaw Rein-form} \advance\exhyphenpenalty by -10 \tolerance2000\relax \emergencystretch15\p@ \renewcommand*{\ttdefault}{zi4}% \def\zifour@spc{\hyphenchar\font=\m@ne} \hoffset-1in \voffset-1in \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% } \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\win{$\pm$} \def\loose{$\mp$} \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} }% \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 } \newcommand{\sw@monat}[1]{% \ifcase#1\relax% \or Januar\or Februar\or März\or April\or Mai\or Juni\or Juli\or August\or September\or Oktober\or November\or Dezember\fi% }% \newcounter{sw@volume}% \newcounter{sw@issue}% \newcounter{sw@month}% \newcounter{sw@year}% \newcommand{\Heft}[5]{% \def\heft@band{#1}% \setcounter{sw@volume}{#1}% \setcounter{sw@issue}{#2}% \setcounter{sw@month}{#3}% \setcounter{sw@year}{#4}% \setcounter{page}{#5}% \hbox to \textwidth{\vbox to 60mm{\vfill}\hfill}% \hbox to \textwidth{% {\large\bfseries% HEFT~#2% \hfill% BAND \Roman{sw@volume}% \hfill% \sw@monat{\value{sw@month}}~#4% }% }% \vskip2mm% \hrule width \textwidth height 1\p@% %\input{intro}% \vskip5mm% \newcommand{\SchwalbeCopyright}% {\textcopyright{} #4 Schwalbe, deutsche Vereinigung für Problemschach e.\,V.}% } \newenvironment{Editorial}[2][Editorial]{% \ttitel@skip% \centerline{\Large\bfseries #1}% \titel@skip% \stepcounter{@inhalt}% \inhalt@label\relax% \begingroup% \def\@tempa{#2}% \def\@tempb{\editorial}% \edef\@tempc{% \write\sw@contents{% \@nearverbatim\@tempb{% {\@nearverbatim\@tempa}% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% }% }% }% \expandafter\endgroup\@tempc% }{} \newenvironment{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% }{} \newcommand{\@dia@award@InformalEntscheid}{% \above@newline% \bgroup% \authorfont\the\award@tk\hfill% \if@sourcenr\relax% \the\sourcenr@tk% \else\if@issue% Heft~\the\issue@tk% \if@pages% , S.~\the\pages@tk% \fi% \else% \ifthenelse{\boolean{@cpd@numbering@local}}{}{% \thediag% }% \fi\fi% \egroup% } \newcommand{\@dia@authors@InformalEntscheid}{% \ifauth@r% \ifnormal@names% \def\@dianame{\@normalname}% \fi% \@firstfalse% \let\@action=\@dia@writename% Parse the list of authors \@parseTokenlist\aut@tk;% \fi% } \newboolean{normaldiaabove} \setboolean{normaldiaabove}{true} \newcommand{\dia@above@InformalEntscheid}{% \ifthenelse{\boolean{normaldiaabove}}{% \orig@dia@above% }{% \setboolean{above@newline}{false}% \@dia@award@InformalEntscheid% \@dia@authors@InformalEntscheid% \@dia@after% \@dia@version% \@dia@correction% \@dia@dedic% \@dia@fidealbum% }% } \newenvironment{InformalEntscheid}{% \@ifstar{\x@InformalEntscheid}{\y@InformalEntscheid}% }{} \newcommand{\x@InformalEntscheid}[3]{% \stepcounter{@inhalt}% \inhalt@label\relax% % Weitere Einstellungen \let\orig@dia@above=\dia@above% \let\dia@above=\dia@above@InformalEntscheid% \setboolean{normaldiaabove}{false}% % Erzeuge den Eintrag für 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% } \newcommand{\y@InformalEntscheid}[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}% } \newenvironment{Aufsatz}[2]{% \diagnum{1}% \stepcounter{@inhalt}% \let\titel@ext\inhalt@label\relax% \setcounter{footnote}{0}% \begingroup% \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% }{} \newcounter{sw@loesungen@bis@monat} \newcounter{sw@loesungen@bis@jahr} \newcommand{\LoesungenBis}{% \setcounter{sw@loesungen@bis@monat}{\value{sw@month}}% \setcounter{sw@loesungen@bis@jahr}{\value{sw@year}}% \addtocounter{sw@loesungen@bis@monat}{3}% \ifthenelse{\value{sw@loesungen@bis@monat} > 12}% {% \addtocounter{sw@loesungen@bis@monat}{-12}% \addtocounter{sw@loesungen@bis@jahr}{1}% \sw@monat{\value{sw@loesungen@bis@monat}}\ \arabic{sw@loesungen@bis@jahr}% }% {% \sw@monat{\value{sw@loesungen@bis@monat}}% }% }% \newwrite\@swfile@lsghead \newcommand{\sw@openlsghead}{% \immediate\openout\@swfile@lsghead=\jobname.lsgh\relax% } \newcommand{\sw@closelsghead}{% \immediate\closeout\@swfile@lsghead% } \AtBeginDocument{\sw@openlsghead} \AtEndDocument{\sw@closelsghead} \newcommand{\sw@write@abteilung}[2]{% \esol% \bgroup% \edef\@tempd{#1}% \edef\@tempe{#2}% \edef\@tempa{% \immediate\write\@swfile@lsghead{% \@nearverbatim\@tempd|% \@nearverbatim\@tempe% }% }% \expandafter\egroup\@tempa% \bsol% } \newcommand{\sw@urd@abteilung}{% \@ifstar% \@sw@urd@abteilung@one% \@sw@urd@abteilung% } \newcommand{\@sw@urd@abteilung@one}[4]{% \textbf{#1 (\ref{#2}): % Bearbeiter = #3% \url{#4}} \sw@write@abteilung{*}{#2}% } \newcommand{\@sw@urd@abteilung}[5]{% \textbf{#1 (\ref{#2}-\ref{#3}): % Bearbeiter = #4% \url{#5}} \sw@write@abteilung{#2}{#3}% } \newenvironment{Urdrucke}[1]{% \setboolean{showcity}{true}% \nocomputer% \diagnumbering{arabic}% \diagnum{#1}% \@urdrucktrue% \def\do@dia@job{% % Gebe das Diagramm aus \unhbox\dia@box% % Erzeuge die Einträge für das Inhaltsverzeichnis \sw@problem% }% \ttitel@skip% \centerline{\Large\bfseries Urdrucke}% \titel@skip% \stepcounter{@inhalt}% \inhalt@label\relax% \let\Abteilung=\sw@urd@abteilung% % Eintrag im Inhaltsverzeichnis \bgroup% \def\@tempb{\Urdrucke}% \edef\@tempa{ \write\sw@contents{% \@nearverbatim\@tempb{% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% }% }% }% \expandafter\egroup\@tempa% }{} \newcommand{\sw@lsg@abteilung}{% \@ifstar% \@sw@lsg@abteilung@one% \@sw@lsg@abteilung% } \newcommand{\@sw@lsg@abteilung@one}[3]{% \textbf{#1 Nr. #2} (Bearbeiter = #3)% } \newcommand{\@sw@lsg@abteilung}[4]{% \textbf{#1 Nr. #2-#3} (Bearbeiter = #4)% } \newcommand{\sw@loesungen}[2]{% \begingroup% \ttitel@skip% \centerline{\Large\bfseries Lösungen der Urdrucke aus Heft #1, #2}% \titel@skip% \stepcounter{@inhalt}% \inhalt@label\relax% \let\Abteilung=\sw@lsg@abteilung% \let\Loeser=\cpd@save@Loeser% % Eintrag im Inhaltsverzeichnis \bgroup% \def\@tempb{\Loesungen}% \def\@tempc{#1}% \def\@tempd{#2}% \edef\@tempa{ \write\sw@contents{% \@nearverbatim\@tempb{% {\@tempc}% {\@tempd}% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% }% }% }% \expandafter\egroup\@tempa% \parskip.5ex plus 2ex% \catcode`/=\active% } \newcounter{sw@loesungen@aus@heft} \newcounter{sw@loesungen@aus@monat} \newcounter{sw@loesungen@aus@jahr} \newcommand{\sw@loesungen@star}{% \setcounter{sw@loesungen@aus@heft}{\value{sw@issue}}% \addtocounter{sw@loesungen@aus@heft}{-3}% \setcounter{sw@loesungen@aus@jahr}{\value{sw@year}}% \setcounter{sw@loesungen@aus@monat}{\value{sw@month}}% \addtocounter{sw@loesungen@aus@monat}{-6}% \ifthenelse{\value{sw@loesungen@aus@monat} < 1}% {% \addtocounter{sw@loesungen@aus@monat}{12}% \addtocounter{sw@loesungen@aus@jahr}{-1}% }{}% \sw@loesungen{\arabic{sw@loesungen@aus@heft}}{\sw@monat{\value{sw@loesungen@aus@monat}} \arabic{sw@loesungen@aus@jahr}}% } \newenvironment{Loesungen}{% \@ifstar{\sw@loesungen@star}{\sw@loesungen}% }{% \catcode`/=12% \endgroup% } \newwrite\@cpdfile@loeserkuerzel \AtBeginDocument{\immediate\openout\@cpdfile@loeserkuerzel=\jobname.ll} \AtEndDocument{\immediate\closeout\@cpdfile@loeserkuerzel} \newcommand{\x@cpd@saveloeser}[2]{% \immediate\write\@cpdfile@loeserkuerzel{\unexpanded{#1:#2}}% } \newcommand{\y@cpd@saveloeser}[2]{% \x@cpd@saveloeser{#1}{#2}% {#2}% } \newcommand{\cpd@save@Loeser}{% \@ifstar{\y@cpd@saveloeser}{\x@cpd@saveloeser}% } \newboolean{@cpd@first@loeser} \newcommand{\cpd@display@loeser}[2]{% \ifthenelse{\boolean{@cpd@first@loeser}}{\setboolean{@cpd@first@loeser}{false}}{, }% #2 (#1)% } \newcommand{\ListeLoeserKuerzel}{% \bgroup% \setboolean{@cpd@first@loeser}{true}% \let\Loeser=\cpd@display@loeser% \InputIfFileExists{\jobname.llx}{}{}% \egroup% } \newcounter{sw@loesung@author@count} \newcounter{sw@loesung@author@index} \def\sw@count@authors#1; {% \stepcounter{sw@loesung@author@count}% \cpd@parse@list% } \def\sw@display@author#1, #2; {% \stepcounter{sw@loesung@author@index}% \ifthenelse{\value{sw@loesung@author@index}=1}{% % No separator before 1st author }{% \ifthenelse{\value{sw@loesung@author@index}=\value{sw@loesung@author@count}}{% \ \& % }{% , % }% }% #2 #1% \cpd@parse@list% } \newcommand{\sw@loesung@authors}[1]{% \setcounter{sw@loesung@author@count}{0}% \let\cpd@parse@action=\sw@count@authors% \cpd@parse@list#1; \relax% \setcounter{sw@loesung@author@index}{0}% \let\cpd@parse@action=\sw@display@author% (\cpd@parse@list#1; \relax)% } \newcommand{\showsol}{} \newcommand{\cpd@Loesung}[3]{% \textbf{#1}\ \sw@loesung@authors{#2}.\ % \renewcommand{\showsol}{#3}% } \newcommand{\cpd@Loesung@star}[3]{% \textbf{#1}\ \sw@loesung@authors{#2}.\ #3.% \renewcommand{\showsol}{}% } \newcommand{\Loesung}{% \@ifstar{\cpd@Loesung@star}{\cpd@Loesung}% } \newenvironment{Loeserliste}[1]{% \ttitel@skip% \centerline{\Large\bfseries Löserliste #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% }{} \newcommand{\dauerkonto}[1]{% \ttitel@skip% \centerline{\large\bfseries Löserliste: Sonderpunkte \& Dauerkonto #1}% \titel@skip% } \newcommand{\loesungswettbewerb}[1]{ \ttitel@skip% \centerline{\Large\bfseries Preisbericht zum Lösungswettbewerb #1}% \titel@skip% } \newenvironment{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% }{\esol} \newcommand{\Briefkasten}{% \titel@skip% {\large\bfseries Briefkasten}% \hskip1em% } \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} \newenvironment{Bericht}[1]{% % Erzeuge den Eintrag für das Inhaltsverzeichnis \stepcounter{@inhalt}% \let\titel@ext\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% }{} \newenvironment{Gruss}[1]{% % Eintrag im Inhaltsverzeichnis \stepcounter{@inhalt}% \let\titel@ext\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% }{} \newenvironment{Tagung}[1]{% % Eintrag im Inhaltsverzeichnis \stepcounter{@inhalt}% \let\titel@ext\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% }{} \newenvironment{Turnierbericht}[2]{% \stepcounter{@inhalt}% \let\titel@ext\inhalt@label\relax% % Erzeuge den Eintrag für 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% }{} \newenvironment{turnierberichte}{% \ttitel@skip% \vbox{\centering\Large\bfseries Turnierberichte}% \titel@skip% \stepcounter{@inhalt}% \inhalt@label\relax% \nodiagnumbering% % Eintrag im Inhaltsverzeichnis \bgroup% \def\@tempb{\Turnierberichte}% \edef\@tempa{ \write\sw@contents{% \@nearverbatim\@tempb{% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% }% }% }% \expandafter\egroup\@tempa% }{} \newcommand{\turnier}[1]{% \vskip\tw@\p@% {\large\bfseries#1}% \par% } \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ärchenschach-Lexikon:} % }{}% \setboolean{@first@lexikon@entry}{true}% \stepcounter{@maerchenlexikon}% }{} \newcounter{@retrolexikon} \setcounter{@retrolexikon}{0} \newboolean{@first@retrolexikon@entry} \newcommand{\retroart}[1]{% \ifthenelse{\boolean{@first@retrolexikon@entry}}{% \setboolean{@first@retrolexikon@entry}{false}% }{% --- % }% \emph{#1:} \ignorespaces% } \newenvironment{retrolexikon}% {% \ifthenelse{\value{@retrolexikon}=0}{% {\itshape Kleines Retro-Lexikon:} % }{}% \setboolean{@first@retrolexikon@entry}{true}% \stepcounter{@retrolexikon}% }{} \newenvironment{Entscheid}[1]{% % Erzeuge den Eintrag für das Inhaltsverzeichnis \stepcounter{@inhalt}% \let\titel@ext\inhalt@label\relax% % Weitere Einstellungen \let\orig@dia@above=\dia@above% \let\dia@above=\dia@above@InformalEntscheid% \setboolean{normaldiaabove}{false}% \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% }{} \newboolean{@firstbook} \setboolean{@firstbook}{true} \newcounter{@buecher} \setcounter{@buecher}{0} \newenvironment{Buecher}{% \ttitel@skip% \centerline{\Large\bfseries \ifthenelse{\value{@buecher}=1}{Buchbesprechung}{Buchbesprechungen}}% \titel@skip% \setboolean{@firstbook}{true}% \stepcounter{@inhalt}% \inhalt@label\relax% % Eintrag im Inhaltsverzeichnis \bgroup% \ifthenelse{\value{@buecher}=1}{\def\@tempb{\Buch}}{\def\@tempb{\Buecher}}% \edef\@tempa{ \write\sw@contents{% \@nearverbatim\@tempb{% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% }% }% }% \expandafter\egroup\@tempa% \setcounter{@buecher}{0}% }{% \immediate\write\@auxout{\string\setcounter{@buecher}{\arabic{@buecher}}}% } \def\@book@authors#1; {% \if@notfirst% , % \else% \noindent% \@notfirsttrue% \fi% \@fullname#1; % \l@@klist% } \newcommand{\Buch}{% \@ifstar{\@Buch}{\x@Buch}% } \newcommand{\@Buch}{% \ifthenelse{\boolean{@firstbook}}{% \titel@skip% \setboolean{@firstbook}{false}% }{% \par% }% \stepcounter{@buecher}% } \newcommand{\x@Buch}[2]{% \@Buch% \bgroup% \bfseries% \ifx\relax#1\else% \@notfirstfalse \let\@action\@book@authors% \l@@klist#1; \e@list% : % \fi% \itshape #2\ \ignorespaces% \egroup% } \newboolean{@firstwebsite} \setboolean{@firstwebsite}{true} \newcounter{@websites} \setcounter{@websites}{0} \newenvironment{WebSites}{% \ttitel@skip% \centerline{\Large\bfseries \ifthenelse{\value{@websites}=1}{Web-Site Besprechung}{Web-Site Besprechungen}}% \titel@skip% \setboolean{@firstwebsite}{true}% \stepcounter{@inhalt}% \inhalt@label\relax% % Eintrag im Inhaltsverzeichnis \bgroup% \ifthenelse{\value{@websites}=1}{\def\@tempb{\WebSite}}{\def\@tempb{\WebSites}}% \edef\@tempa{ \write\sw@contents{% \@nearverbatim\@tempb{% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% }% }% }% \expandafter\egroup\@tempa% \setcounter{@websites}{0}% }{% \immediate\write\@auxout{\string\setcounter{@websites}{\arabic{@websites}}}% } \newcommand{\WebSite}[1]{% \ifthenelse{\boolean{@firstwebsite}}{% \titel@skip% \setboolean{@firstwebsite}{false}% }{% \par% }% \stepcounter{@websites}% {\bfseries#1}% } \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] {\bfseries#2}% }% \titel@skip% } \def\y@Turnier#1{% \ttitel@skip% \vbox{% \centering% \large\bfseries\uppercase{#1}% }% \titel@skip% } \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\bfseries#1} }% \titel@skip% \diagnum{1}% } \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ür 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ür 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\bfseries\uppercase{#1}\hfill#2}% \titel@skip% % Erzeuge den Eintrag für 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ür 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ür 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\Einladung{% \@ifnextchar[{\@@Einladung}{\@Einladung}% } \def\@Einladung#1{% \ttitel@skip% \vbox{% \centering% \Large\bfseries{#1}% }% \titel@skip% } \def\@@Einladung[#1]#2{% \ttitel@skip% \vbox{% \centering% \Large\bfseries{#2}% }% \titel@skip% \bgroup% \def\@tempb{\Einladung}% \def\@tempc{#1}% \edef\@tempa{% \write\sw@contents{% \@nearverbatim\@tempb{% {\@nearverbatim\@tempc}% {\@nameuse{thepage}}% }% }% }% \expandafter\egroup\@tempa% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \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{% % Zähle 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% } \def\do@dia@job{% \@write@sol\ifvmode\noindent\fi\unhbox\dia@box% \sw@problem% } \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ösungen 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öserliste}{#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@websites#1{\i@line{Web-Site Besprechungen}{#1}} \def\i@website#1{\i@line{Web-Site Besprechung}{#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% \esol% \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\WebSites=\i@websites% \let\WebSite=\i@website% \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 } \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} \AtBeginDocument{\bsol} \renewcommand{\cpd@begindiagram@hook}{\esol} \renewcommand{\cpd@enddiagram@hook}{\bsol} \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}} \renewcommand{\x}{:} \newcommand{\mal}{\mbox{\ifmmode\times\else$\times$\fi}} \newboolean{MeasureMode} \setboolean{MeasureMode}{false} \newcommand{\MeasureNewpage}{% \ifthenelse{\boolean{MeasureMode}}{\newpage}{}% } \endinput %% %% End of file `schwalbe.cls'.