% \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.3} % \def\docdate{2012/04/30} % \CheckSum{2168} % \changes{v1.1}{03 June 2011}{Reflecting change in command % @writename inside diagram.sty} % \changes{v1.2}{01 July 2011}{Added parameter for Band to Heft % command.} % \changes{v1.3}{30 April 2012}{Applied changes due to new % commands in diagram.sty 1.6 to suppress display of cities and % academic titles.} % % \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 der Band, zu dem das Heft geh"ort % \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 August Heft 2011, das die fortlaufende Nummer 250 hat und mit % der Seitenummmer 177 beginnt wird demzufolge folgendermassen % eingeleitet: % % \verb+\Heft{XXX}{250}{August}{2011}{177}+ % % \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+, /+ % 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+, +. 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{}{}{}+ 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} % % \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% } % In der Schwalbe setzen wir keine akademischen Titel. \setboolean{showacademictitle}{false} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 % Band, Heftnummer, Monat, Jahr und erste Seitennummer des Heftes % spezifiziert. \def\Heft#1#2#3#4#5{% \def\heft@band{#1}% \def\heft@nr{#2}% \def\heft@monat{#3}% \def\heft@year{#4}% \setcounter{page}{#5}% \hbox to \textwidth{\vbox to 60mm{\vfill}\hfill}% \hbox to \textwidth{% {\large\bfseries HEFT~#2}% \hfill% {\large\bfseries BAND #1}% \hfill% {\large\bfseries #3~#4}% }% \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% \setboolean{showcity}{true}% \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}} % % \end{macrocode} % % \Finale