From 7a9c2b253e3f7062dd819a4d69bf0312f669c03a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 9 Aug 2011 17:45:48 +0000 Subject: new latex package schwalbe-chess (6jun11) git-svn-id: svn://tug.org/texlive/trunk@23471 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/schwalbe-chess/schwalbe.dtx | 1770 ++++++++++++++++++++ .../source/latex/schwalbe-chess/schwalbe.ins | 6 + 2 files changed, 1776 insertions(+) create mode 100644 Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx create mode 100644 Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.ins (limited to 'Master/texmf-dist/source/latex') 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+, /+ +% 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% +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 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}} + +% +% \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 -- cgit v1.2.3