diff options
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx | 1713 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.ins | 1 |
2 files changed, 781 insertions, 933 deletions
diff --git a/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx b/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx index 9964fa507f6..001193e9e8e 100644 --- a/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx +++ b/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx @@ -13,9 +13,9 @@ %% %% % \fi -% \def\fileversion{1.3} -% \def\docdate{2012/04/30} -% \CheckSum{2168} +% \def\fileversion{1.5} +% \def\docdate{2013/01/11} +% \CheckSum{1906} % \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 @@ -23,6 +23,8 @@ % \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.} +% \changes{v1.4}{04 December 2012}{Split code into a class and a style file.} +% \changes{v1.5}{11 January 2013}{Added Environment WebSites for reports on chess problem websites.} % % \DoNotIndex{\@arabic,\def,\@idxitem,\@ifnextchar,\@ifstar, % \@ne,\@ptsize,\ ,\advance,\AtEndOfPackage,\begin,\begingroup, @@ -40,7 +42,7 @@ % \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@} +% \vss,\vtop,\wd,\write,\xdef,\z@,\",\&,\/} % % \title{Der \LaTeX-Style f"ur die Problemschach-Zeitschrift % \hbox{\bfseries\itshape Die Schwalbe}\\{\large Version~\fileversion}} @@ -50,17 +52,14 @@ % \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. +% Diese Dokumentation beschreibt die \LaTeX-Class und \LaTeX-Style, die zum +% Setzen der Zeitschrift {\bfseries\itshape Die Schwalbe} benutzt wird --- die +% Mitglieder Zeitschrift der deutschen Vereinigung f"ur Problemschach. +% +% Die Schwalbe-Class hat die Aufgabe, die Seiteneinstellungen und Umgebungen +% f"ur die Schwalbe zu definieren. Der Schwalbe-Style hat die Aufgaben, +% Layoutanpassungen bzgl.\ des \verb+diagram.sty+ vorzunhmen, mit dem die +% Problemschach-Diagramme erzeugt werden. % \end{abstract} % % @@ -166,6 +165,13 @@ % \item der Titel des Buches % \end{enumerate} % +% \DescribeEnv{WebSites} +% \DescribeMacro{\WebSite} +% Besprechungen von Web-Sites werden innerhalb der Umgebung \verb+WebSites+ +% gesetzt. Dabei wird jede einzelne Web-Site durch den Befehl \verb+WebSite+ +% begonnen, bei dem als Parameter die {\bfseries URL} der Web-Site anzugeben +% ist. +% % \DescribeEnv{Briefkasten} % Die Umgebung \verb+Briefkasten+ wird gelegentlich genutzt um % Autoren auf Fehler in Ihren eingesandten Aufgaben hinzuweisen. @@ -265,8 +271,9 @@ %<*driver> \documentclass[a4paper]{article} \usepackage{doc} -% \usepackage[german]{babel} \usepackage{schwalbe} +\setlength{\hoffset}{-1in} +\setlength{\voffset}{-1in} \setlength{\textwidth}{10cm} \setlength{\oddsidemargin}{65mm} \EnableCrossrefs @@ -278,178 +285,21 @@ %</driver> % \end{macrocode} % -% \section{Die Implementierung des {\bfseries\itshape Schwalbe}-Style} -% Der Vorspann des Style. -% \begin{macrocode} -%<*style> -\ProvidesPackage{schwalbe}[1997/07/27] -% \AtBeginDocument{\normaldia} +% \section{Die Implementierung der {\bfseries\itshape Schwalbe}-Class} % -\RequirePackage[german]{babel} +% Die \verb+schwalbe+-Class beruht auf der \verb+article+-Class und verwendet logischerweise die Einstellungen des +% \verb+schwalbe.sty+. +% \begin{macrocode} +%<*class> +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{schwalbe}[2013/01/11] +\LoadClass[11pt]{article} +\RequirePackage{schwalbe} \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 +% \end{macrocode} % -\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 +% Innerhalb der Schwalbe haben wir ein spezielles Seitenlayout. +% \begin{macrocode} \hoffset-25mm \voffset-25mm \textheight26cm @@ -470,35 +320,29 @@ \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% - }% +% \end{macrocode} +% +% Wir wollen Fussnoten noch lesbar haben. Daher uebernehmen wir +% die \verb+\footnotesize+ definition wie bei 12pt. +% \begin{macrocode} +\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 } -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Der Befehl \Heft leitet jedes Heft ein. Damit werden +% \end{macrocode} +% +% Der Befehl \verb+\Heft+ leitet jedes Heft ein. Damit werden % Band, Heftnummer, Monat, Jahr und erste Seitennummer des Heftes % spezifiziert. -\def\Heft#1#2#3#4#5{% +% \begin{macrocode} +\newcommand{\Heft}[5]{% \def\heft@band{#1}% \def\heft@nr{#2}% \def\heft@monat{#3}% @@ -517,101 +361,111 @@ %\input{intro}% \vskip5mm% } +% \end{macrocode} % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 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{% +% Eine Umgebung f"ur ein Editorial. Als optionaler Parameter kann die +% "Uberschrift im Text angegeben werden. Der andere Parameter wird f"ur den +% Eintrag im Inhaltsverzeichnis benutzt. +% \begin{macrocode} +\newenvironment{Editorial}[2][Editorial]{% \ttitel@skip% - \centerline{\Large\bfseries #2}% + \centerline{\Large\bfseries #1}% \titel@skip% \stepcounter{@inhalt}% \inhalt@label\relax% \begingroup% - \def\@tempa{#1}% + \def\@tempa{#2}% \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{% +}{} +% \end{macrocode} +% +% Eine Umgebung f"ur {\itshape AKTUELLE MELDUNGEN}, die die "Uberschrift und +% den Eintrags ins Inhaltsverzeichnis erzeugt. +% \begin{macrocode} +\newenvironment{aktuell}{% \ttitel@skip% \centerline{\Large\itshape AKTUELLE MELDUNGEN} \titel@skip% \stepcounter{@inhalt}% \inhalt@label\relax% % Eintrag im Inhaltsverzeichnis - \bgroup% + \bgroup% \def\@tempb{\aktuell}% - \edef\@tempa{ - \write\sw@contents{% + \edef\@tempa{ + \write\sw@contents{% \@nearverbatim\@tempb{% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% -% \@nameuse{thepage}% - }% - }% - }% - \expandafter\egroup\@tempa% + }% + }% + }% + \expandafter\egroup\@tempa% +}{} +% \end{macrocode} +% +% F"ur Informalturniere der Schwalbe gibt es eine besondere Umgebung, die die 3 +% Parameter {\itshape Abteilung}, {\itshape Jahr} und {\itshape Preisrichter} +% ben"otigt. Die normale Form der Umgebung erzeugt auch die "Uberschrift. +% Falls dies unterdr"uckt werden mu"s -- um z.\,B. die "Uberschrift speziell zu +% formatieren, kann die {\bfseries Stern-Form} der Umgebung genutzt werden. +% Daher findet die Auswertung der Parameter in den Kommandos +% \verb+\x@InformalEntscheid+ und \verb+\y@InformalEntscheid+ statt. +% \begin{macrocode} +\newenvironment{InformalEntscheid}{% + \@ifstar{\x@InformalEntscheid}{\y@InformalEntscheid}% +}{} +\newcommand{\x@InformalEntscheid}[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% } -%----------------------------------------------------------- -% 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{% +\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}% +} +% \end{macrocode} +% +% Die Umgebung f"ur Aufs"atze. Die Parameter ({\itshape Titel} und {\itshape +% Autoren (mit Wohnorten)}) werden f"ur das Inhaltsverzeichnis verwendet. +% \begin{macrocode} +\newenvironment{Aufsatz}[2]{% \stepcounter{@inhalt}% \let\titel@ext\inhalt@label\relax% \begingroup% @@ -623,278 +477,91 @@ \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% -% } +}{} +% \end{macrocode} % -%----------------------------------------------------------- -% 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% +% Innerhalb der Umgebung \verb+Urdrucke+ 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. +% \begin{macrocode} +\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"age f"ur das Inhaltsverzeichnis - \sw@problem% - }% - \ttitel@skip% - \centerline{\Large\bfseries Urdrucke}% - \titel@skip% - \stepcounter{@inhalt}% - \inhalt@label\relax% - % Eintrag im Inhaltsverzeichnis - \bgroup% + \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 + \expandafter\egroup\@tempa% +}{} +% \end{macrocode} % -\def\Loesungen#1#2{% - \begingroup% +% Die Umgebung f"ur L"osungen ben"otigt 2 Parameter: +% \begin{enumerate} +% \item die Nummer des Heftes mit den Urdrucken +% \item Monat und Jahr +% \end{enumerate} +% \begin{macrocode} +\newenvironment{Loesungen}[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% + \bgroup% \def\@tempb{\Loesungen}% \def\@tempc{#1}% \def\@tempd{#2}% - \edef\@tempa{ - \write\sw@contents{% + \edef\@tempa{ + \write\sw@contents{% \@nearverbatim\@tempb{% - {\@nearverbatim\@tempc}% - {\@nearverbatim\@tempd}% + {\@nearverbatim\@tempc}% + {\@nearverbatim\@tempd}% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% -% {\@nameuse{thepage}}% - }% - }% - }% - \expandafter\egroup\@tempa% + }% + }% + }% + \expandafter\egroup\@tempa% \parskip.5ex plus 2ex% \catcode`/=\active% -} -% -\def\endLoesungen{% +}{% \catcode`/=12% - \endgroup% + \endgroup% } +% \end{macrocode} % -\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{% +% Eine Umbegung f"ur die L"oserliste. +% \begin{macrocode} +\newenvironment{Loeserliste}[1]{% \ttitel@skip% \centerline{\Large\bfseries L\"oserliste #1}% \titel@skip% @@ -911,25 +578,31 @@ }% }% \expandafter\egroup\@tempa% -} +}{} +% \end{macrocode} % -% 3c) Sonderpunkte & Dauerkonto -\def\dauerkonto#1{% +% Eine Zwischen"uberschrift f"ur {\itshape Sonderpunkte \& Dauerkonto}. +% \begin{macrocode} +\newcommand{\dauerkonto}[1]{% \ttitel@skip% \centerline{\large\bfseries L\"oserliste: Sonderpunkte \& Dauerkonto #1}% \titel@skip% } +% \end{macrocode} % -% -\def\loesungswettbewerb#1{ +% Eine Zwischen"uberschrift f"ur den Preisbericht zum L\"osungswettbewerb. +% \begin{macrocode} +\newcommand{\loesungswettbewerb}[1]{ \ttitel@skip% \centerline{\Large\bfseries Preisbericht zum L\"osungswettbewerb #1}% \titel@skip% } -%----------------------------------------------------------- -% 4) Bemerkungen und Berichtigungen +% \end{macrocode} % -\def\BuB{% +% Die Umgebung f"ur {\bfseries Bemerkungen und Berichtigungen} erzeugt die +% "Uberschrift und den Eintrag ins Inhaltsverzeichnis. +% \begin{macrocode} +\newenvironment{BuB}{% \ttitel@skip% \centerline{\Large\bfseries Bemerkungen und Berichtigungen}% \titel@skip% @@ -937,31 +610,324 @@ \inhalt@label\relax% \bsol% % Eintrag im Inhaltsverzeichnis - \bgroup% + \bgroup% \def\@tempb{\bub}% - \edef\@tempa{ - \write\sw@contents{% + \edef\@tempa{ + \write\sw@contents{% \@nearverbatim\@tempb{% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% -% \@nameuse{thepage}% - }% - }% - }% - \expandafter\egroup\@tempa% -} -\def\endBuB{\esol} -%----------------------------------------------------------- -% 4a) Briefkasten + }% + }% + }% + \expandafter\egroup\@tempa% +}{\esol} % -\def\Briefkasten{% +\newcommand{\Briefkasten}{% \titel@skip% {\large\bfseries Briefkasten}% \hskip1em% } +% \end{macrocode} +% +% Die folgenden werden benutzt im Titel zu setzen und ggfs\@. entsprechende +% \verb+\label+ zu registrieren. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% Eine Umgebung f"ur Berichte ohne automatisch erstellte "Uberschrift. +% Der "ubergebene Wert wird in das Inhaltsverzeichnis "ubernommen. +% \begin{macrocode} +\newenvironment{Bericht}[1]{% + % Erzeuge den Eintrag f\"ur 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% +}{} +% \end{macrocode} +% +% Eine Umgebung f"ur Gr"usse ohne automatisch erstellte "Uberschrift. +% Der "ubergebene Wert wird in das Inhaltsverzeichnis "ubernommen. +% \begin{macrocode} +\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% +}{} +% \end{macrocode} +% +% Eine Umgebung f"ur Tagungsberichte ohne automatisch erstellte "Uberschrift. +% Der "ubergebene Wert wird in das Inhaltsverzeichnis "ubernommen. +% \begin{macrocode} +\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% +}{} +% \end{macrocode} +% +% Bei Turnierberichten wird nur ein Eintrag ins Inhaltsverzeichnis erzeugt. +% Die "Uberschrift muss in der Umgebung \verb+Titel+ gesetzt werden. +% \begin{macrocode} +\newenvironment{Turnierbericht}[2]{% + \stepcounter{@inhalt}% + \let\titel@ext\inhalt@label\relax% + % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis + \bgroup% + \def\@tempb{\Turnierbericht}% + \def\@tempc{#1}% + \def\@tempd{#2}% + \edef\@tempa{% + \write\sw@contents{% + \@nearverbatim\@tempb{% + {\@nearverbatim\@tempc}% + {\@nearverbatim\@tempd}% + {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% + }% + }% + }% + \expandafter\egroup\@tempa% +}{} +% \end{macrocode} +% +% Die Umbegung f"ur Berichte von Turnieren aus anderen Zeitschriften. +% \begin{macrocode} +% Turnierberichte aus anderen Zeitschriften +\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% +} +% \end{macrocode} +% +% Das {\itshape kleine M"archenschach-Lexikon} im Urdruckteil kann in mehrere +% Abschnitte zerlegt werden, damit es besser auf die Seiten passt. Bei der +% ersten \verb+maerchenlexikon+ Umgebung steht die Einleitung. Zwei +% M"archenarten werden mittels \verb+---+ voneinander getrennt. +% \begin{macrocode} +\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}% +}{} +% \end{macrocode} +% +% Die Umbegung \verb+Entscheid+ erzeugt einen Eintrag ins Inhaltsverzeichnis. +% Als Parameter ist der Name des Turnier anzugeben. +% Die "Uberschrift muss mittels der Umbebung \verb+Titel+ gesetzt werden. +% \begin{macrocode} +\newenvironment{Entscheid}[1]{% + % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis + \stepcounter{@inhalt}% + \let\titel@ext\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% +}{} +% \end{macrocode} +% +% Buchbesprechungen werden in die entsprechende Umgebung gesetzt. +% \begin{macrocode} +\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}}}% +} +% \end{macrocode} +% +% Mit dem Befehl \verb+\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 +% +% \begin{macrocode} +\def\@book@authors#1; {% + \if@notfirst% + , % + \else% + \noindent% + \@notfirsttrue% + \fi% + \@fullname#1; % + \l@@klist% +} +% +\newcommand{\Buch}[2]{% + \ifthenelse{\boolean{@firstbook}}{% + \titel@skip% + \setboolean{@firstbook}{false}% + }{% + \par% + }% + \stepcounter{@buecher}% + \bgroup% + \bfseries% + \ifx\relax#1\else% + \@notfirstfalse + \let\@action\@book@authors% + \l@@klist#1; \e@list% + : % + \fi% + \itshape #2\ \ignorespaces% + \egroup% +} +% \end{macrocode} +% +% Besprechungen von Web-Sites. +% \begin{macrocode} +\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}% +} +% \end{macrocode} +% \begin{macrocode} %----------------------------------------------------------- % 5) Ausschreibungen von Turnieren -% Parameter: -% 1. Titel des Turniers +% Parameter: +% 1. Titel des Turniers % oder (mit *) % 1. Titel des Turniers % 2. Untertitel (z. B. Ort und Datum) @@ -992,7 +958,7 @@ \vbox{% \centering% {\large\bfseries\uppercase{#1}}\\[3mm] - {\bf#2}% + {\bfseries#2}% }% \titel@skip% } @@ -1005,32 +971,6 @@ }% \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}% @@ -1065,77 +1005,6 @@ \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}% } @@ -1162,23 +1031,23 @@ \def\@tempb{\Bericht}% \def\@tempc{#1}% \edef\@tempa{% - \write\sw@contents{% + \write\sw@contents{% \@nearverbatim\@tempb{% - {\@nearverbatim\@tempc}% + {\@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 +% Parameter: (Geburt) +% 1. Name +% 2. Alter +% Parameter: (Verstorben) +% 1. Name % 2. Daten % \newif\if@title\@titletrue @@ -1203,13 +1072,13 @@ \def\@tempc{#1}% \def\@tempd{#2}% \edef\@tempa{% - \write\sw@contents{% + \write\sw@contents{% \@nearverbatim\@tempb{% - {\@nearverbatim\@tempc}% - {\@nearverbatim\@tempd}% + {\@nearverbatim\@tempc}% + {\@nearverbatim\@tempd}% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% - }% - }% + }% + }% }% \expandafter\egroup\@tempa% } @@ -1227,13 +1096,13 @@ \def\@tempc{#2}% \def\@tempd{#3}% \edef\@tempa{% - \write\sw@contents{% + \write\sw@contents{% \@nearverbatim\@tempb{% - {\@nearverbatim\@tempc}% - {\@nearverbatim\@tempd}% + {\@nearverbatim\@tempc}% + {\@nearverbatim\@tempd}% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% - }% - }% + }% + }% }% \expandafter\egroup\@tempa% } @@ -1251,13 +1120,13 @@ \def\@tempc{#1}% \def\@tempd{#2}% \edef\@tempa{% - \write\sw@contents{% + \write\sw@contents{% \@nearverbatim\@tempb{% - {\@nearverbatim\@tempc}% - {\@nearverbatim\@tempd}% + {\@nearverbatim\@tempc}% + {\@nearverbatim\@tempd}% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% - }% - }% + }% + }% }% \expandafter\egroup\@tempa% } @@ -1270,12 +1139,12 @@ \def\@tempb{\Verstorben}% \def\@tempc{#1}% \edef\@tempa{% - \write\sw@contents{% + \write\sw@contents{% \@nearverbatim\@tempb{% - {\@nearverbatim\@tempc}% + {\@nearverbatim\@tempc}% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% - }% - }% + }% + }% }% \expandafter\egroup\@tempa% } @@ -1287,135 +1156,17 @@ \def\@tempb{\Verstorben}% \def\@tempc{#1}% \edef\@tempa{% - \write\sw@contents{% + \write\sw@contents{% \@nearverbatim\@tempb{% - {\@nearverbatim\@tempc}% + {\@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}% @@ -1439,112 +1190,20 @@ \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{% + \write\sw@contents{% \@nearverbatim\@tempb{% - {\@nearverbatim\@tempc}% + {\@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. +% Inhaltsverzeichnis enth"alt. % \newwrite\sw@contents \immediate\openout\sw@contents=\jobname.inhalt\relax @@ -1563,8 +1222,8 @@ % 3. Setzen von Autoren eines Aufsatzes % \def\sw@author#1; {% - \sw@writeauthor#1;% - \l@@klist% + \sw@writeauthor#1;% + \l@@klist% } % \def\sw@writeauthor#1, #2/#3;{% @@ -1574,27 +1233,27 @@ \else% \ \&\ % \fi% - #2~#1, #3% + #2~#1, #3% } %----------------------------------------------------------- % 4. Schreiben der Autoren von Urdrucken in das -% Inhaltsverzeichnis +% 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% + % 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 % @@ -1624,8 +1283,8 @@ % \newcount\sw@count \def\sw@authorCount#1; {% - \advance\sw@count\@ne% - \l@@klist% + \advance\sw@count\@ne% + \l@@klist% } %----------------------------------------------------------- % 6. F"ur das Schreiben in die inhaltsdatei ohne @@ -1638,8 +1297,8 @@ % Setzen von Autoren im Inhaltsverzeichnis % \def\iw@author#1; {% - \iw@writeauthor#1;% - \l@@klist% + \iw@writeauthor#1;% + \l@@klist% } % \def\iw@writeauthor#1, #2/#3;{% @@ -1648,7 +1307,7 @@ \else% , \ % \fi% - #2~#1% + #2~#1% } %----------------------------------------------------------- \def\ix@Geburtstag#1#2#3{\i@line{#1\ \ #2}{#3}} @@ -1683,6 +1342,8 @@ \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} @@ -1709,6 +1370,8 @@ \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% @@ -1731,7 +1394,215 @@ #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} +\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}} +% +%</class> +% \end{macrocode} +% +% \section{Die Implementierung des {\bfseries\itshape Schwalbe}-Style} +% \begin{macrocode} +%<*style> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{schwalbe}[2013/01/11] +% \AtBeginDocument{\normaldia} +% +\RequirePackage[german]{babel} +\RequirePackage{ifthen} +\RequirePackage{diagram} +\usepackage{times} +\usepackage{picinpar} +\usepackage{multicol} +%----------------------------------------------------------- +% Einige Trennhilfen +\hyphenation{Patt-idee Da-men-op-fer nicht-ortho-doxe Grim-shaw} +% +% +\advance\exhyphenpenalty by -10 +\tolerance2000\relax +\emergencystretch15\p@ +% +%----------------------------------------------------------- +% 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 +\setboolean{piececounter}{true} +\diagcenter +\setmonthstyle{Roman} +\def\normaldia{% + \font\chessfont=fselch16% + \def\authorfont{\bfseries} + \def\cityfont{\itshape} + \def\sourcefont{\slshape} + \def\awardfont{} + \def\dedicfont{\itshape} + \def\stipfont{} + \def\remfont{} + \def\labelfont{\footnotesize} + \def\boardfont{\footnotesize} + \setboardwidth% +} +\def\smalldia{% + \font\chessfont=fselch12% + \def\authorfont{\small\bfseries}% + \def\cityfont{\small\itshape}% + \def\sourcefont{\small\slshape}% + \def\awardfont{\small}% + \def\dedicfont{\small\itshape}% + \def\stipfont{\small}% + \def\remfont{\small}% + \def\labelfont{\small\footnotesize}% + \def\boardfont{\small\footnotesize}% + \setboardwidth% +} +% 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% +} +% \end{macrocode} +% +% In der Schwalbe setzen wir keine akademischen Titel. +% \begin{macrocode} +\setboolean{showacademictitle}{false} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\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 +\newcommand\reprint{% + \hbox to \textwidth{\bfseries% + PLEASE~REPRINT\hfill BITTE~NACHDRUCKEN\hfill PRIERE~DE~REIMPRIMER% + }% +} +% 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\newsl{\char`/\hskip\slskip\discretionary{}{}{}} +% \catcode`/=\active\let/\newsl\catcode`/=12 +% \newlength{\helplength}% \newlength{\boardskip}% \newlength{\double@boardwidth}% @@ -1750,30 +1621,6 @@ } -\newcounter{@maerchenlexikon} -\setcounter{@maerchenlexikon}{0} -\newboolean{@first@lexikon@entry} -\newcommand{\maerchenart}[1]{% - \ifthenelse{\boolean{@first@lexikon@entry}}{% - \setboolean{@first@lexikon@entry}{false}% - }{% - --- % - }% - {\itshape #1:} \ignorespaces% -} -\newenvironment{maerchenlexikon}% -{% - \ifthenelse{\value{@maerchenlexikon}=0}{% - {\itshape Kleines M\"archenschach-Lexikon:} % - }{}% - \setboolean{@first@lexikon@entry}{true}% - \stepcounter{@maerchenlexikon}% -}{} - -\renewcommand{\section}{\@startsection{section}{1}{\z@}{2ex}{.5ex}{\normalfont\large\bfseries}} -\renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}{1ex}{.3ex}{\normalfont\bfseries}} -\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}{.4ex}{.1ex}{\normalfont}} - %</style> % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.ins b/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.ins index ae9543b43db..bbea30d9b04 100644 --- a/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.ins +++ b/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.ins @@ -2,5 +2,6 @@ \askforoverwritefalse \generate{% \file{schwalbe.sty}{\from{schwalbe.dtx}{style}}% + \file{schwalbe.cls}{\from{schwalbe.dtx}{class}}% } \endbatchfile |