summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-05-31 19:44:55 +0000
committerKarl Berry <karl@freefriends.org>2022-05-31 19:44:55 +0000
commit4db7e0ff0ac04738aa4e4bee8086ea218a450386 (patch)
treed0374aa32cd4c0ed5f66872056d1960f6c959d18 /Master/texmf-dist/source/latex
parent0b490f871a5cea8ad4f6c5e52a6374b96ec76fad (diff)
schwalbe-chess (31may22)
git-svn-id: svn://tug.org/texlive/trunk@63457 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx402
1 files changed, 286 insertions, 116 deletions
diff --git a/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx b/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx
index 0850bb8e046..62dbe69dccb 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{v2.7}
-% \def\docdate{2019/12/28}
-% \CheckSum{2122}
+% \def\fileversion{v2.9}
+% \def\docdate{2022/05/28}
+% \CheckSum{2247}
% \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
@@ -52,6 +52,13 @@
% values given in Heft command.}
% \changes{v2.6}{16 October 2019}{Moved do@dia@job redefinition to schwalbe.cls.}
% \changes{v2.7}{28 December 2019}{Used new begin/end diagram hook command to deactivate/activate solslash before/after diagrams.}
+% \changes{v2.8}{27 December 2020}{Added code to generate file
+% containing Loesung comands while generating diagrams within Urdrucke
+% environment.\\
+% Added Loesung command to generate intro of a single problem within
+% Loesungen environment.}
+% \changes{v2.9}{28 May 2022}{Added code to simplify measuring size of
+% articles.}
%
% \DoNotIndex{\@arabic,\def,\@idxitem,\@ifnextchar,\@ifstar,
% \@ne,\@ptsize,\ ,\advance,\AtEndOfPackage,\begin,\begingroup,
@@ -74,9 +81,9 @@
% \newcommand*{\Schwalbe}{\textbf{\textit{Schwalbe}}}
% \newcommand*{\DieSchwalbe}{\hbox{\textbf{\textit{Die Schwalbe}}}}
%
-% \title{Der \LaTeX-Style f"ur die Problemschach-Zeitschrift
+% \title{Der \LaTeX-Style für die Problemschach-Zeitschrift
% \DieSchwalbe{}\\{\large Version~\fileversion}}
-% \author{Stefan H\"oning\\Neuss}
+% \author{Stefan Höning\\Neuss}
% \date{\docdate}
%
% \maketitle
@@ -84,11 +91,11 @@
% \begin{abstract}
% Diese Dokumentation beschreibt die \LaTeX-Class und \LaTeX-Style, die zum
% Setzen der Zeitschrift \DieSchwalbe{} benutzt wird --- die
-% Mitgliederzeitschrift der deutschen Vereinigung f"ur Problemschach.
+% Mitgliederzeitschrift der deutschen Vereinigung für 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
+% für die Schwalbe zu definieren. Der Schwalbe-Style hat die Aufgaben,
+% Layoutanpassungen bzgl.\ des \verb+diagram.sty+ vorzunehmen, mit dem die
% Problemschach-Diagramme erzeugt werden.
% \end{abstract}
%
@@ -101,7 +108,7 @@
% Parameter in der angegebenen Reihenfolge:
%
% \begin{enumerate}
-% \item der Band, zu dem das Heft geh"ort
+% \item der Band, zu dem das Heft gehört
% \item die Nummer des Heftes
% \item der Monat des Erscheinens als Zahl
% \item das Jahr des Erscheinens
@@ -115,14 +122,14 @@
% \verb+\Heft{XXXIV}{299}{12}{2019}{361}+
%
% \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
+% Die \verb+Editorial+ Umgebung benötigt einen Parameter, der
+% die Überschrift definiert. Als optionaler Parameter kann noch
+% der Eintrag im Inhaltsverzeichnis festgelegt werden. Lässt 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
+% Die \verb+aktuell+ Umgebung für die {\bfseries Aktuellen Meldungen} kommt
+% ohne parameter aus. Neben der Überschrift wird ein Eintrag im
% Inhaltsverzeichnis erzeugt.
%
% \DescribeEnv{InformalEntscheid}
@@ -135,7 +142,7 @@
% \item das Jahr, auf das sich der Entscheid bezieht
% \item der Name des Preisrichters
% \end{enumerate}
-% Die Umgebung setzt automatisch die "Uberschrift und erzeugt
+% Die Umgebung setzt automatisch die Überschrift und erzeugt
% einen Eintrag im Inhaltsverzeichnis.
%
% Außerdem wird der Kopf bei Diagrammen anders ausgegeben: In der 1.~Zeile
@@ -161,19 +168,19 @@
% dieser wird in der Form \verb+<Name>, <Vorname>/<Wohnort>+
% angegeben.
% \end{enumerate}
-% Um die "Uberschrift des Aufsatzes zu setzen, gibt es die
+% Um die Überschrift des Aufsatzes zu setzen, gibt es die
% Umgebung \verb+Titel+. Die wesentliche Aufgabe dieser Umgebung
-% ist es, passende Abst"ande zum vorherigen sowie zum
+% ist es, passende Abstände zum vorherigen sowie zum
% nachfolgenden Text zu erzeugen.
%
% \DescribeEnv{Urdrucke}
-% Die Umgebung \verb+Urdrucke+ ben"otigt als Parameter die Nummer
+% Die Umgebung \verb+Urdrucke+ benötigt als Parameter die Nummer
% des ersten Urdrucks.
%
% \DescribeMacro{\Abteilung}
% Innerhalb der Urdrucke gibt es den Befehl \verb+\Abteilung+, mit dem die
% einzelnen Abteilungen innerhalb der Urdrucke eingeleitet werden.
-% Der Befehl benötigt im Normalfall 5 Parameter:
+% Der Befehl benötigt im 5 Parameter:
% \begin{enumerate}
% \item Name der Abteilung
% \item Name der Referenz der ersten Problem der Abteilung
@@ -184,17 +191,17 @@
%
%
% \DescribeMacro{\Abteilung*}
-% Sollte in der Abteilung nur ein Urdruck erscheinen, muss man
+% Sollte in einer Abteilung einma nur ein Urdruck erscheinen, muss man
% \verb+\Abteilung*+ benutzen und die Referenz auf das letzte Problem
% weglassen.
%
% \DescribeEnv{maerchenlexikon}
% \DescribeMacro{\maerchenart}
-% Im Vorspann der M"archenschachabteilung der Urdrucke werden die
-% benutzten M"archenschachregeln erl"autert. Dies geschieht
+% Im Vorspann der Märchenschachabteilung der Urdrucke werden die
+% benutzten Märchenschachregeln erläutert. 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
+% Umgebung werden alle Märchenarten mittels \verb+\maerchenart+
+% eingeführt, die einen Parameter hat, mit dem die Märchenart
% angegeben wird.
%
% \DescribeEnv{retrolexikon}
@@ -214,7 +221,7 @@
% \end{enumerate}
%
% \DescribeMacro{\Abteilung}
-% Innerhalb der L"osungen gibt es auch einen Befehl \verb+\Abteilung+ um die einzelnen Abteilungen einzuleiten.
+% Innerhalb der Lösungen gibt es auch einen Befehl \verb+\Abteilung+ um die einzelnen Abteilungen einzuleiten.
% Die Parameter für diesen Befehl lauten:
% \begin{enumerate}
% \item{Name der Abteilung}
@@ -223,7 +230,7 @@
% \item{Name des Sachbearbeiters}
% \end{enumerate}
%
-% \DescribeMacro{\Abteilung}
+% \DescribeMacro{\Abteilung*}
% Sollte einmal nur eine Aufgabe in der Abteilung vorhanden sein, benutzt man
% \verb+\Abteilung*+, die die dann nur 3 Parameter erwartet.
%
@@ -240,14 +247,39 @@
% Bei der \verb+\Loeser*+ Form erscheint der Name auch an der Stelle im Text.
%
% \DescribeMacro{\ListeLoeserKuerzel}
-% Gibt die aufgesammelten L"oserk"urzel und -namen aus.
+% Gibt die aufgesammelten Löserkürzel und -namen aus.
+%
+% \DescribeMacro{\Loesung}
+% \DescribeMacro{\Loesung*}
+% Die Lösungsbesprechung zu einer Aufgabe wird mit dem Befehl
+% \verb+\Loesung+ eingeleitet, der 3 Parameter benötigt:
+% \begin{enumerate}
+% \item{Nummer der Aufgabe}
+% \item{Liste der Autoren}
+% \item{Lösung der Aufgabe}
+% \end{enumerate}
+% Wird die Form ohne * verwendet, wird von der Aufgabe nur
+% die Aufgabennummer und - in runden Klammern - die Liste der Autoren
+% gesetzt. Der Punkt hinter der Klammer entfällt. Der Lösungstext
+% aus dem 3. Parameter kann % dann allerding mittels \verb+\showsol+
+% ausgegeben werden.
+%
+% Bei der *-Form wird ein Punkt hinter die schließende Runde Klammer
+% bei den Autoren gesetzt, und dann die Lösung ausgegeben.
+%
+% Diese \verb+\Loesung+ Kommandos für den Lösungsteil werden beim
+% Kompilieren des Urdruckteils des entsprechenden Hefts automatisch in
+% eine Datei geschrieben. Diese Datei wird den Sachbearbeitern für die
+% Erstellung der Lösungsbesprechungen zur Verfügung gestellt. In der
+% Regel müssen hier dann nur die Lösungen ergänzt werden - wenn diese
+% nicht bereits bei den Urdrucken mit erfasst worden sind.
%
% \DescribeEnv{BuB}
% Die \verb+BuB+ Umgebung setzt die {\bfseries Bemerkungen und
% Berichtigungen}
%
% \DescribeEnv{turnierberichte}
-% Innerhalb der Umgebung \verb+turnierberichte+ wird "uber
+% Innerhalb der Umgebung \verb+turnierberichte+ wird über
% Turniere z.\,B.\ aus anderen Zeitschriften berichtet.
%
% \DescribeEnv{Buecher}
@@ -282,24 +314,24 @@
% Einleitende \verb+\begin{Turnierbericht}+ besitzt als Parameter
% den Namen des Turniers und den Namen des Autors in der Form:
% \verb+<Nachname>, <Vorname>+. Diese beiden Angaben werden
-% automatisch ins Inhaltsverzeichnis "ubernommen.
-% Der Titel des Turnierberichts ist wie bei Aufs"atzen in die
+% automatisch ins Inhaltsverzeichnis übernommen.
+% Der Titel des Turnierberichts ist wie bei Aufsätzen 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.
+% aber auch Nachträge oder entgültige 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
+% übernommen 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
+% Parameter das Jahr anzugeben, auf dass sich die Löserliste
% bezieht.
%
% \DescribeEnv{Turnierausschreibung}
@@ -312,18 +344,18 @@
%
% \section{Kleine Helferlein}
%
-% \subsection{Diagrammgr"ossen}
+% \subsection{Diagrammgrössen}
% \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
+% Diagrammgrössen verwendet. Mittels \verb+\normaldia+ wird die
+% Normalgrösse eingestellt. Mittels \verb+\smalldia+ kann auf
% kleinere Diagramme umgeschaltet werden --- von denen dann 4
-% St"uck in eine Zeile passen. Da die kleineren Diagramme
+% Stück in eine Zeile passen. Da die kleineren Diagramme
% normalerweise zu mehreren benutzt werden, kann dieser
-% Befehl nat"urlich auch als Umgebung benutzt werden.
+% Befehl natürlich auch als Umgebung benutzt werden.
%
-% \subsection{H"aufige Abk"urzungen}
+% \subsection{Häufige Abkürzungen}
% \DescribeMacro{\dh}
% \DescribeMacro{\ua}
% \DescribeMacro{\zB}
@@ -332,20 +364,20 @@
% \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
+% hinter diesem Punkt grösser als der normale Wortabstand.
+% Insbesondere bei Abkürzungen ist dies aber nicht
+% gewünscht. Besonders bei mehrgliedrigen Abkürzungen 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:
+% zwischen den Gliedern der Abkürzung wählen. Daher definiert
+% der Style Befehle für einige Häufig vorkommende Abkürzungen:
%
% \medskip
% \begin{tabular}{|l|l|l|}
% \hline
-% {\bfseries Befehl}&{\bfseries f"ur}&{\bfseries Bemerkungen}\\
+% {\bfseries Befehl}&{\bfseries für}&{\bfseries Bemerkungen}\\
% \hline
-% \verb+\dh+&d.\,h.&enth"alt ein Leerzeichen am Ende\\
-% \verb+\ua+&u.\,a.&enth"alt ein Leerzeichen am Ende\\
+% \verb+\dh+&d.\,h.&enthält ein Leerzeichen am Ende\\
+% \verb+\ua+&u.\,a.&enthält ein Leerzeichen am Ende\\
% \verb+\zB+&z.\,B.&\\
% \verb+\su+&s.\,u.&\\
% \verb+\ep+&e.\,p.&\\
@@ -381,10 +413,10 @@
%
% \subsection{Verschiedenes}
% \DescribeMacro{\figline}
-% Mittels \verb+\figline+ kann eine Zeile mit K"onigen ausgegeben
+% Mittels \verb+\figline+ kann eine Zeile mit Königen ausgegeben
% werden, die als Trenner zwischen 2 Abschnitten dient.
% \DescribeMacro{\foto}
-% Um Freiraum f"ur ein Foto zu lassen kann der Befehl\newline
+% Um Freiraum für ein Foto zu lassen kann der Befehl\newline
% \verb+\foto{<Breite>}{<Hoehe>}{<Bildunterschrift>}+\newline
% benutzt werden.
%
@@ -397,18 +429,25 @@
% \DescribeMacro{\mal}
% Als Kurzschreibweise für das $\times$ Symbol ist der Befehl \verb+\mal+ definiert.
%
+% \DescribeEnv{MeasureMode}
+% \DescribeMacro{\MeasureNewpage}
+% Um den Umfang der einzelnen Artikel einfacher Abschätzen zu können,
+% füge ich vor jedem Artikel den Befehl \verb+\MeasureNewpage+ ein,
+% der ein \verb+\newpage+ durchführt, wenn der Boolean
+% \verb+MeasureMode+ gleich \verb+true+ ist.
+%
% \StopEventually{\PrintIndex\PrintChanges}
%
-% \section{Die Treiberdatei f"ur die Dokumentation}
+% \section{Die Treiberdatei für 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.
+% \LaTeXe\ übersetzt.
% \begin{macrocode}
%<*driver>
\documentclass[a4paper]{article}
\usepackage{doc}
-\RequirePackage{schwalbe}
+% \LoadClass{schwalbe}
\RequirePackage[utf8]{inputenc}% fsRUS 140121
\RequirePackage[ngerman]{babel}
\setlength{\hoffset}{-1in}
@@ -431,9 +470,10 @@
% \begin{macrocode}
%<*class>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{schwalbe}[2019/12/28]
+\ProvidesClass{schwalbe}[2022/05/28]
\LoadClass[11pt,a4paper]{article}
\RequirePackage[12pt]{schwalbe}[2019/12/28]
+\RequirePackage{cpdparse}[2020/12/27]
\RequirePackage[T2A,T1]{fontenc}% fsRUS 140121
\RequirePackage[koi8-r,utf8]{inputenc}% fsRUS 140121
\RequirePackage[russian,german,english,ngerman]{babel}
@@ -445,7 +485,6 @@
\RequirePackage{paralist}
\RequirePackage{afterpage}
\InputIfFileExists{schwalbe.ext}{}{}%
-\RequirePackage{picinpar}
% \end{macrocode}
%
% Ein paar Trennhilfen und Einstellungen zum Trennverhalten.
@@ -487,7 +526,7 @@
\fi%
}
%-----------------------------------------------------------
-% Ein paar Abk"urzungen:
+% Ein paar Abkürzungen:
%
\def\dh{d.\,h.\ \ignorespaces}
\def\ua{u.\,a.\ \ignorespaces}
@@ -508,7 +547,7 @@
}}
%
%-----------------------------------------------------------
-% Freiraum f"ur Fotos
+% Freiraum für Fotos
\def\foto#1#2#3{%
\begin{minipage}[t]{#1}
\hbox to #1{\hsize#1%
@@ -538,12 +577,12 @@
}
% \end{macrocode}
%
-% Im Titel sowie bei den Urdrucken und L"osungen werden die Namen der Monate benötigt.
+% Im Titel sowie bei den Urdrucken und Lösungen werden die Namen der Monate benötigt.
%
% \begin{macrocode}
\newcommand{\sw@monat}[1]{%
\ifcase#1\relax%
-\or Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or Juli\or August\or September\or Oktober\or November\or Dezember\fi%
+\or Januar\or Februar\or März\or April\or Mai\or Juni\or Juli\or August\or September\or Oktober\or November\or Dezember\fi%
}%
% \end{macrocode}
%
@@ -575,12 +614,12 @@
%\input{intro}%
\vskip5mm%
\newcommand{\SchwalbeCopyright}%
- {\textcopyright{} Schwalbe, deutsche Vereinigung für Problemschach #4}%
+ {\textcopyright{} #4 Schwalbe, deutsche Vereinigung für Problemschach e.\,V.}%
}
% \end{macrocode}
%
-% Eine Umgebung f"ur ein Editorial. Als optionaler Parameter kann die
-% "Uberschrift im Text angegeben werden. Der andere Parameter wird f"ur den
+% Eine Umgebung für ein Editorial. Als optionaler Parameter kann die
+% Überschrift im Text angegeben werden. Der andere Parameter wird für den
% Eintrag im Inhaltsverzeichnis benutzt.
% \begin{macrocode}
\newenvironment{Editorial}[2][Editorial]{%
@@ -604,7 +643,7 @@
}{}
% \end{macrocode}
%
-% Eine Umgebung f"ur {\itshape AKTUELLE MELDUNGEN}, die die "Uberschrift und
+% Eine Umgebung für {\itshape AKTUELLE MELDUNGEN}, die die Überschrift und
% den Eintrags ins Inhaltsverzeichnis erzeugt.
% \begin{macrocode}
\newenvironment{aktuell}{%
@@ -627,10 +666,10 @@
}{}
% \end{macrocode}
%
-% F"ur Informalturniere der \Schwalbe{} gibt es eine besondere Umgebung, die die 3
+% Für 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
+% benötigt. Die normale Form der Umgebung erzeugt auch die Überschrift.
+% Falls dies unterdrückt werden mu"s -- um z.\,B. die Überschrift 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.
@@ -696,7 +735,7 @@
\let\orig@dia@above=\dia@above%
\let\dia@above=\dia@above@InformalEntscheid%
\setboolean{normaldiaabove}{false}%
- % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ % Erzeuge den Eintrag für das Inhaltsverzeichnis
\bgroup%
\def\@tempb{\InformalEntscheid}%
\def\@tempc{#1}%
@@ -725,14 +764,15 @@
}
% \end{macrocode}
%
-% Die Umgebung f"ur Aufs"atze. Die Parameter ({\itshape Titel} und {\itshape
-% Autoren (mit Wohnorten)}) werden f"ur das Inhaltsverzeichnis verwendet.
+% Die Umgebung für Aufsätze. Die Parameter ({\itshape Titel} und {\itshape
+% Autoren (mit Wohnorten)}) werden für das Inhaltsverzeichnis verwendet.
% \begin{macrocode}
\newenvironment{Aufsatz}[2]{%
+ \diagnum{1}%
\stepcounter{@inhalt}%
\let\titel@ext\inhalt@label\relax%
+ \setcounter{footnote}{0}%
\begingroup%
- \setcounter{footnote}{0}%
\def\@tempa{#1}%
\def\@tempc{\aufsatz}%
\def\@tempb{#2}%
@@ -773,13 +813,38 @@
%
% Innerhalb der Umgebung \verb+Urdrucke+ werden
% die Diagramme immer zu dritt nebeneinander gesetzt -
-% sofern dies pa"st. Au"serdem werden von jedem Diagramm
+% sofern dies passt. Außerdem werden von jedem Diagramm
% die Autoren sowie Diagramm und Seitennummern in die
% Datei \jobname.inhalt geschrieben.
% Zur Einleitung der einzelnen Abteilungen gibt es einen speziellen Befehl
% \verb+\Abteilung+.
%
% \begin{macrocode}
+\newwrite\@swfile@lsghead
+\newcommand{\sw@openlsghead}{%
+ \immediate\openout\@swfile@lsghead=\jobname.lsgh\relax%
+}
+\newcommand{\sw@closelsghead}{%
+ \immediate\closeout\@swfile@lsghead%
+}
+
+\AtBeginDocument{\sw@openlsghead}
+\AtEndDocument{\sw@closelsghead}
+
+\newcommand{\sw@write@abteilung}[2]{%
+ \esol%
+ \bgroup%
+ \edef\@tempd{#1}%
+ \edef\@tempe{#2}%
+ \edef\@tempa{%
+ \immediate\write\@swfile@lsghead{%
+ \@nearverbatim\@tempd|%
+ \@nearverbatim\@tempe%
+ }%
+ }%
+ \expandafter\egroup\@tempa%
+ \bsol%
+}
\newcommand{\sw@urd@abteilung}{%
\@ifstar%
\@sw@urd@abteilung@one%
@@ -789,11 +854,13 @@
\textbf{#1 (\ref{#2}): %
Bearbeiter = #3%
\url{#4}}
+ \sw@write@abteilung{*}{#2}%
}
\newcommand{\@sw@urd@abteilung}[5]{%
\textbf{#1 (\ref{#2}-\ref{#3}): %
Bearbeiter = #4%
\url{#5}}
+ \sw@write@abteilung{#2}{#3}%
}
\newenvironment{Urdrucke}[1]{%
\setboolean{showcity}{true}%
@@ -804,7 +871,7 @@
\def\do@dia@job{%
% Gebe das Diagramm aus
\unhbox\dia@box%
- % Erzeuge die Eintr"age f"ur das Inhaltsverzeichnis
+ % Erzeuge die Einträge für das Inhaltsverzeichnis
\sw@problem%
}%
\ttitel@skip%
@@ -854,7 +921,7 @@
\newcommand{\sw@loesungen}[2]{%
\begingroup%
\ttitel@skip%
- \centerline{\Large\bfseries L\"osungen der Urdrucke aus Heft #1, #2}%
+ \centerline{\Large\bfseries Lösungen der Urdrucke aus Heft #1, #2}%
\titel@skip%
\stepcounter{@inhalt}%
\inhalt@label\relax%
@@ -903,8 +970,9 @@
}
% \end{macrocode}
%
-% Innerhalb der einzelnen Abteilungen in den L"osungen werden die Namen und K"urzel der L"oser aufgesammelt, damit
-% die Liste der L"oserk"urzel am Beginn der Lösungsbesprechungen angegeben werden kann.
+% Innerhalb der einzelnen Abteilungen in den Lösungen werden die Namen
+% und Kürzel der Löser aufgesammelt, damit die Liste der Löserkürzel
+% am Beginn der Lösungsbesprechungen angegeben werden kann.
%
% \begin{macrocode}
\newwrite\@cpdfile@loeserkuerzel
@@ -938,12 +1006,59 @@
}
% \end{macrocode}
%
+% Einzelne Lösungen innerhalb der Lösungsbesprechung sollen mit dem
+% Befehl \verb+\Loesung+ eingeleitet werden.
+%
+% \begin{macrocode}
+\newcounter{sw@loesung@author@count}
+\newcounter{sw@loesung@author@index}
+\def\sw@count@authors#1; {%
+ \stepcounter{sw@loesung@author@count}%
+ \cpd@parse@list%
+}
+\def\sw@display@author#1, #2; {%
+ \stepcounter{sw@loesung@author@index}%
+ \ifthenelse{\value{sw@loesung@author@index}=1}{%
+ % No separator before 1st author
+ }{%
+ \ifthenelse{\value{sw@loesung@author@index}=\value{sw@loesung@author@count}}{%
+ \ \& %
+ }{%
+ , %
+ }%
+ }%
+ #2 #1%
+ \cpd@parse@list%
+}
+\newcommand{\sw@loesung@authors}[1]{%
+\setcounter{sw@loesung@author@count}{0}%
+\let\cpd@parse@action=\sw@count@authors%
+\cpd@parse@list#1; \relax%
+\setcounter{sw@loesung@author@index}{0}%
+\let\cpd@parse@action=\sw@display@author%
+(\cpd@parse@list#1; \relax)%
+}
+\newcommand{\showsol}{}
+\newcommand{\cpd@Loesung}[3]{%
+ \textbf{#1}\ \sw@loesung@authors{#2}%
+ \renewcommand{\showsol}{#3}%
+}
+\newcommand{\cpd@Loesung@star}[3]{%
+ \textbf{#1}\ \sw@loesung@authors{#2}\ #3%
+ \renewcommand{\showsol}{}%
+}
+\newcommand{\Loesung}{%
+ \@ifstar{\cpd@Loesung@star}{\cpd@Loesung}%
+}
+
+% \end{macrocode}
+%
%
-% Eine Umbegung f"ur die L"oserliste.
+% Eine Umbegung für die Löserliste.
% \begin{macrocode}
\newenvironment{Loeserliste}[1]{%
\ttitel@skip%
- \centerline{\Large\bfseries L\"oserliste #1}%
+ \centerline{\Large\bfseries Löserliste #1}%
\titel@skip%
\stepcounter{@inhalt}%
\inhalt@label\relax%
@@ -961,26 +1076,26 @@
}{}
% \end{macrocode}
%
-% Eine Zwischen"uberschrift f"ur {\itshape Sonderpunkte \& Dauerkonto}.
+% Eine Zwischenüberschrift für {\itshape Sonderpunkte \& Dauerkonto}.
% \begin{macrocode}
\newcommand{\dauerkonto}[1]{%
\ttitel@skip%
- \centerline{\large\bfseries L\"oserliste: Sonderpunkte \& Dauerkonto #1}%
+ \centerline{\large\bfseries Löserliste: Sonderpunkte \& Dauerkonto #1}%
\titel@skip%
}
% \end{macrocode}
%
-% Eine Zwischen"uberschrift f"ur den Preisbericht zum L\"osungswettbewerb.
+% Eine Zwischenüberschrift für den Preisbericht zum Lösungswettbewerb.
% \begin{macrocode}
\newcommand{\loesungswettbewerb}[1]{
\ttitel@skip%
- \centerline{\Large\bfseries Preisbericht zum L\"osungswettbewerb #1}%
+ \centerline{\Large\bfseries Preisbericht zum Lösungswettbewerb #1}%
\titel@skip%
}
% \end{macrocode}
%
-% Die Umgebung f"ur {\bfseries Bemerkungen und Berichtigungen} erzeugt die
-% "Uberschrift und den Eintrag ins Inhaltsverzeichnis.
+% Die Umgebung für {\bfseries Bemerkungen und Berichtigungen} erzeugt die
+% Überschrift und den Eintrag ins Inhaltsverzeichnis.
% \begin{macrocode}
\newenvironment{BuB}{%
\ttitel@skip%
@@ -1023,11 +1138,11 @@
\def\endUntertitel{\subtitel@subskip}
% \end{macrocode}
%
-% Eine Umgebung f"ur Berichte ohne automatisch erstellte "Uberschrift.
-% Der "ubergebene Wert wird in das Inhaltsverzeichnis "ubernommen.
+% Eine Umgebung für Berichte ohne automatisch erstellte Überschrift.
+% Der übergebene Wert wird in das Inhaltsverzeichnis übernommen.
% \begin{macrocode}
\newenvironment{Bericht}[1]{%
- % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ % Erzeuge den Eintrag für das Inhaltsverzeichnis
\stepcounter{@inhalt}%
\let\titel@ext\inhalt@label\relax%
\bgroup%
@@ -1045,8 +1160,8 @@
}{}
% \end{macrocode}
%
-% Eine Umgebung f"ur Gr"usse ohne automatisch erstellte "Uberschrift.
-% Der "ubergebene Wert wird in das Inhaltsverzeichnis "ubernommen.
+% Eine Umgebung für Grüsse ohne automatisch erstellte Überschrift.
+% Der übergebene Wert wird in das Inhaltsverzeichnis übernommen.
% \begin{macrocode}
\newenvironment{Gruss}[1]{%
% Eintrag im Inhaltsverzeichnis
@@ -1067,8 +1182,8 @@
}{}
% \end{macrocode}
%
-% Eine Umgebung f"ur Tagungsberichte ohne automatisch erstellte "Uberschrift.
-% Der "ubergebene Wert wird in das Inhaltsverzeichnis "ubernommen.
+% Eine Umgebung für Tagungsberichte ohne automatisch erstellte Überschrift.
+% Der übergebene Wert wird in das Inhaltsverzeichnis übernommen.
% \begin{macrocode}
\newenvironment{Tagung}[1]{%
% Eintrag im Inhaltsverzeichnis
@@ -1090,12 +1205,12 @@
% \end{macrocode}
%
% Bei Turnierberichten wird nur ein Eintrag ins Inhaltsverzeichnis erzeugt.
-% Die "Uberschrift muss in der Umgebung \verb+Titel+ gesetzt werden.
+% Die Überschrift 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
+ % Erzeuge den Eintrag für das Inhaltsverzeichnis
\bgroup%
\def\@tempb{\Turnierbericht}%
\def\@tempc{#1}%
@@ -1113,7 +1228,7 @@
}{}
% \end{macrocode}
%
-% Die Umbegung f"ur Berichte von Turnieren aus anderen Zeitschriften.
+% Die Umbegung für Berichte von Turnieren aus anderen Zeitschriften.
% \begin{macrocode}
% Turnierberichte aus anderen Zeitschriften
\newenvironment{turnierberichte}{%
@@ -1143,10 +1258,10 @@
}
% \end{macrocode}
%
-% Das {\itshape kleine M"archenschach-Lexikon} im Urdruckteil kann in mehrere
+% Das {\itshape kleine Märchenschach-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.
+% Märchenarten werden mittels \verb+---+ voneinander getrennt.
% \begin{macrocode}
\newcounter{@maerchenlexikon}
\setcounter{@maerchenlexikon}{0}
@@ -1162,7 +1277,7 @@
\newenvironment{maerchenlexikon}%
{%
\ifthenelse{\value{@maerchenlexikon}=0}{%
- {\itshape Kleines M\"archenschach-Lexikon:} %
+ {\itshape Kleines Märchenschach-Lexikon:} %
}{}%
\setboolean{@first@lexikon@entry}{true}%
\stepcounter{@maerchenlexikon}%
@@ -1195,12 +1310,16 @@
%
% 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.
+% Die Überschrift muss mittels der Umbebung \verb+Titel+ gesetzt werden.
% \begin{macrocode}
\newenvironment{Entscheid}[1]{%
- % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ % Erzeuge den Eintrag für das Inhaltsverzeichnis
\stepcounter{@inhalt}%
\let\titel@ext\inhalt@label\relax%
+ % Weitere Einstellungen
+ \let\orig@dia@above=\dia@above%
+ \let\dia@above=\dia@above@InformalEntscheid%
+ \setboolean{normaldiaabove}{false}%
\bgroup%
\def\@tempb{\Entscheid}%
\def\@tempc{#1}%
@@ -1251,7 +1370,7 @@
% 1. Autor(en) und
% 2. Titel des Buches
% anzugeben. Beide Angaben erscheinen Fettgedruckt am Beginn der
-% Buchbesprechung und werden f"ur das Register "ubernommen.
+% Buchbesprechung und werden für das Register übernommen.
%
% Schreiben der Autoren
%
@@ -1452,7 +1571,7 @@
\titel@skip%
}
%-----------------------------------------------------------
-% 7) Personalia: Geburtstage und Sterbef"alle
+% 7) Personalia: Geburtstage und Sterbefälle
% Parameter: (Geburt)
% 1. Name
% 2. Alter
@@ -1474,7 +1593,7 @@
\centerline{\Large\bfseries#1\ \ #2}
\titel@skip%
\fi%
- % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ % Erzeuge den Eintrag für das Inhaltsverzeichnis
\stepcounter{@inhalt}%
\inhalt@label\relax%
\bgroup%
@@ -1498,7 +1617,7 @@
\centerline{#1}
\titel@skip%
\fi%
- % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ % Erzeuge den Eintrag für das Inhaltsverzeichnis
\stepcounter{@inhalt}%
\inhalt@label\relax%
\bgroup%
@@ -1522,7 +1641,7 @@
\ttitel@skip%
\hbox to \textwidth{\large\bfseries\uppercase{#1}\hfill#2}%
\titel@skip%
- % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ % Erzeuge den Eintrag für das Inhaltsverzeichnis
\stepcounter{@inhalt}%
\inhalt@label\relax%
\bgroup%
@@ -1542,7 +1661,7 @@
}
%
\def\y@Verstorben#1{%
- % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ % Erzeuge den Eintrag für das Inhaltsverzeichnis
\stepcounter{@inhalt}%
\inhalt@label\relax%
\bgroup%
@@ -1560,7 +1679,7 @@
}
%
\def\Nachruf#1{%
- % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ % Erzeuge den Eintrag für das Inhaltsverzeichnis
\stepcounter{@inhalt}%
\inhalt@label\relax%
\bgroup%
@@ -1613,16 +1732,16 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Es folgen ein paar Hilfskommandos und Initialsierungen
%-----------------------------------------------------------
-% 1. "Offnen der datei, die alle Eintr"age f"ur das
-% Inhaltsverzeichnis enth"alt.
+% 1. "Offnen der datei, die alle Einträge für das
+% Inhaltsverzeichnis enthält.
%
\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
+% 2. Abstand zu einer Überschrift und
+% von einer Überschrift zum folgenden Text
%
% \def\ttitel@skip{\vskip30\p@ plus \f@ur\p@\penalty-100}
\def\ttitel@skip{\vskip24\p@ plus \f@ur\p@\goodbreak}
@@ -1652,7 +1771,7 @@
%
\newif\if@gemeinschaft
\def\sw@problem{%
- % Z"ahle die Autoren
+ % Zähle die Autoren
\sw@count\z@%
\let\@action=\sw@authorCount%
\expandafter\l@@klist\the\aut@tk; \e@list%
@@ -1695,7 +1814,7 @@
\l@@klist%
}
%-----------------------------------------------------------
-% 5. Z"ahlen von Autoren
+% 5. Zählen von Autoren
%
\newcount\sw@count
\def\sw@authorCount#1; {%
@@ -1703,7 +1822,7 @@
\l@@klist%
}
%-----------------------------------------------------------
-% 6. F"ur das Schreiben in die inhaltsdatei ohne
+% 6. Für das Schreiben in die inhaltsdatei ohne
% Kommandos zu expandieren.
\def\@meaning#1>{}
\def\@nearverbatim{\expandafter\@meaning\meaning}
@@ -1736,7 +1855,7 @@
:\/} #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@Loesungen#1#2#3{\i@line{Lösungen der Urdrucke aus Heft #1, #2}{#3}}
\def\ix@turnierbericht#1#2#3{%
\i@line{Entscheid im #1}{#3}%
}
@@ -1753,7 +1872,7 @@
\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@Loeserliste#1{\i@line{Löserliste}{#1}}
\def\i@bub#1{\i@line{Bemerkungen und Berichtigungen}{#1}}
\def\i@turniere#1{\i@line{Turnierberichte}{#1}}
\def\i@buecher#1{\i@line{Buchbesprechungen}{#1}}
@@ -1822,7 +1941,7 @@
\catcode`/=\active\relax\let/\sol@slash\relax\catcode`/=12%
\def\bsol{\catcode`/=\active\relax}
\def\esol{\catcode`/=12\relax}
-\bsol
+\AtBeginDocument{\bsol}
\renewcommand{\cpd@begindiagram@hook}{\esol}
\renewcommand{\cpd@enddiagram@hook}{\bsol}
@@ -1833,6 +1952,57 @@
\renewcommand{\x}{:}
\newcommand{\mal}{\mbox{\ifmmode\times\else$\times$\fi}}
+% \end{macrocode}
+%
+% Das Makro \verb+\Ruler+ erzeugt ein Lineal mit einer $1/20$
+% Einteilung der Seitenhöhe.
+%
+% \begin{macrocode}
+\newcommand{\Ruler}{%
+\makebox{%
+\setlength{\unitlength}{13mm}
+\begin{picture}(1,20)
+\put(0.4,-20){\line(0,1){20}}
+
+\multiput(0.4,-20)(0,2){11}{\line(1,0){0.4}}
+\multiput(0.4,-19)(0,2){10}{\line(1,0){0.2}}
+\put(0,-20){10}
+\put(0,-18){9}
+\put(0,-16){8}
+\put(0,-14){7}
+\put(0,-12){6}
+\put(0,-10){5}
+\put(0,-8){4}
+\put(0,-6){3}
+\put(0,-4){2}
+\put(0,-2){1}
+\end{picture}
+}}% Ruler
+% \end{macrocode}
+%
+% Das Makro \verb+\ShowRuler+ sorgt dafür, dass das mittels
+% \verb+\Ruler+ erzeugte Lineal auf jeder Seite angezeigt wird.
+%
+% \begin{macrocode}
+\newcommand{\ShowRuler}{%
+\AddToHook{shipout/background}{\put(32mm,-46mm){\Ruler}}%
+}%
+% \end{macrocode}
+%
+% Wenn beim Übersetzen der \LaTeX-Datei in aktuellen Verzeichnis keine
+% \verb+__finalpdf__.tex+ existiert, wird die Anzeige des
+% Lineals mittels \verb+\ShowRuler+ aktiviert. Durch Anlegen der Datei
+% kann das Einblenden des Lineals deaktiviert werden.
+%
+% \begin{macrocode}
+\AtBeginDocument{\IfFileExists{__finalpdf__.tex}{}{\ShowRuler}}
+
+\newboolean{MeasureMode}
+\setboolean{MeasureMode}{false}
+\newcommand{\MeasureNewpage}{%
+ \ifthenelse{\boolean{MeasureMode}}{\newpage}{}%
+}
+
%
%
%</class>
@@ -1857,7 +2027,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\RequirePackage{diagram}[2019/12/28]
+\RequirePackage{diagram}[2020/02/09]
%
%
% Wir definieren das Diagrammlayout ein wenig um.
@@ -1919,7 +2089,7 @@
PLEASE~REPRINT\hfill BITTE~NACHDRUCKEN\hfill PRIERE~DE~REIMPRIMER%
}%
}
-% Definiere ein anderes Layout f"ur den Kopf eines Diagramms
+% Definiere ein anderes Layout für den Kopf eines Diagramms
%
%
\def\@dia@number{}% Die Diagrammnummer wird bei den Autoren gesetzt!