summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/schwalbe-chess/README2
-rw-r--r--Master/texmf-dist/doc/latex/schwalbe-chess/schwalbe.pdfbin208689 -> 213351 bytes
-rw-r--r--Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx58
-rw-r--r--Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls30
4 files changed, 86 insertions, 4 deletions
diff --git a/Master/texmf-dist/doc/latex/schwalbe-chess/README b/Master/texmf-dist/doc/latex/schwalbe-chess/README
index 6171ec4f22e..0d726ff1d8f 100644
--- a/Master/texmf-dist/doc/latex/schwalbe-chess/README
+++ b/Master/texmf-dist/doc/latex/schwalbe-chess/README
@@ -1,5 +1,5 @@
schwalbe --- A package for typesetting chessproblems
-Version v2.2 / Stefan Hoening 2012-2018
+Version v2.3 / Stefan Hoening 2012-2018
CONTENTS
diff --git a/Master/texmf-dist/doc/latex/schwalbe-chess/schwalbe.pdf b/Master/texmf-dist/doc/latex/schwalbe-chess/schwalbe.pdf
index be8b1965a34..1cb49ee8ea5 100644
--- a/Master/texmf-dist/doc/latex/schwalbe-chess/schwalbe.pdf
+++ b/Master/texmf-dist/doc/latex/schwalbe-chess/schwalbe.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx b/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx
index d1aea040f1d..eda9fc3fc95 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.2}
-% \def\docdate{2018/07/30}
-% \CheckSum{2012}
+% \def\fileversion{v2.3}
+% \def\docdate{2018/12/20}
+% \CheckSum{2056}
% \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
@@ -45,6 +45,7 @@
% Optional 'schwalbe.ext' file is included directly before picinpar.sty to
% avoid problems when including further packages inside 'schwalbe.tex'.\\
% Added Abteilung commands in Urdrucke- und Loesungen-environments.}
+% \changes{v2.3}{18 December 2018}{Added commands Loeser and LoeserListe to collect abbreviations of solvernames in different sections of Loesungen}
%
% \DoNotIndex{\@arabic,\def,\@idxitem,\@ifnextchar,\@ifstar,
% \@ne,\@ptsize,\ ,\advance,\AtEndOfPackage,\begin,\begingroup,
@@ -219,6 +220,20 @@
% Sollte einmal nur eine Aufgabe in der Abteilung vorhanden sein, benutzt man
% \verb+\Abteilung*+, die die dann nur 3 Parameter erwartet.
%
+% \DescribeMacro{\Loeser}
+% \DescribeMacro{\Loeser*}
+% Innerhalb der Lösungen werden üblicherweise die Namen der kommentierenden Löser mit Kürzeln angegeben.
+% Am Beginn der Lösungen erscheint ein Liste aller der Name und Kürzel aller kommentierenden Löser.
+% Um die Kürzel und Namen innerhalb der Lösungen aufsammeln zu können, gibt es
+% den Befehl \verb+\Loeser+, der 2 Parameter erwartet:
+% \begin{enumerate}
+% \item{Kürzel des Lösers}
+% \item{Name des Lösers}
+% \end{enumerate}
+% 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.
%
% \DescribeEnv{BuB}
% Die \verb+BuB+ Umgebung setzt die {\bfseries Bemerkungen und
@@ -796,6 +811,7 @@
\stepcounter{@inhalt}%
\inhalt@label\relax%
\let\Abteilung=\sw@lsg@abteilung%
+ \let\Loeser=\cpd@save@Loeser%
% Eintrag im Inhaltsverzeichnis
\bgroup%
\def\@tempb{\Loesungen}%
@@ -819,6 +835,42 @@
}
% \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.
+%
+% \begin{macrocode}
+\newwrite\@cpdfile@loeserkuerzel
+\AtBeginDocument{\immediate\openout\@cpdfile@loeserkuerzel=\jobname.ll}
+\AtEndDocument{\immediate\closeout\@cpdfile@loeserkuerzel}
+
+\newcommand{\x@cpd@saveloeser}[2]{%
+ \immediate\write\@cpdfile@loeserkuerzel{\unexpanded{#1:#2}}
+}
+\newcommand{\y@cpd@saveloeser}[2]{%
+ \x@cpd@saveloeser{#1}{#2}%
+ {#2}%
+}
+\newcommand{\cpd@save@Loeser}{%
+ \@ifstar{\y@cpd@saveloeser}{\x@cpd@saveloeser}%
+}
+
+\newboolean{@cpd@first@loeser}
+
+\newcommand{\cpd@display@loeser}[2]{%
+ \ifthenelse{\boolean{@cpd@first@loeser}}{\setboolean{@cpd@first@loeser}{false}}{, }%
+ #2 (#1)%
+}
+
+\newcommand{\ListeLoeserKuerzel}{%
+ \bgroup%
+ \setboolean{@cpd@first@loeser}{true}%
+ \let\Loeser=\cpd@display@loeser%
+ \InputIfFileExists{\jobname.llx}{}{}%
+ \egroup%
+}
+% \end{macrocode}
+%
+%
% Eine Umbegung f"ur die L"oserliste.
% \begin{macrocode}
\newenvironment{Loeserliste}[1]{%
diff --git a/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls b/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls
index d7b2c8b9d15..4efe1923a29 100644
--- a/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls
+++ b/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls
@@ -331,6 +331,7 @@
\stepcounter{@inhalt}%
\inhalt@label\relax%
\let\Abteilung=\sw@lsg@abteilung%
+ \let\Loeser=\cpd@save@Loeser%
% Eintrag im Inhaltsverzeichnis
\bgroup%
\def\@tempb{\Loesungen}%
@@ -352,6 +353,35 @@
\catcode`/=12%
\endgroup%
}
+\newwrite\@cpdfile@loeserkuerzel
+\AtBeginDocument{\immediate\openout\@cpdfile@loeserkuerzel=\jobname.ll}
+\AtEndDocument{\immediate\closeout\@cpdfile@loeserkuerzel}
+
+\newcommand{\x@cpd@saveloeser}[2]{%
+ \immediate\write\@cpdfile@loeserkuerzel{\unexpanded{#1:#2}}
+}
+\newcommand{\y@cpd@saveloeser}[2]{%
+ \x@cpd@saveloeser{#1}{#2}%
+ {#2}%
+}
+\newcommand{\cpd@save@Loeser}{%
+ \@ifstar{\y@cpd@saveloeser}{\x@cpd@saveloeser}%
+}
+
+\newboolean{@cpd@first@loeser}
+
+\newcommand{\cpd@display@loeser}[2]{%
+ \ifthenelse{\boolean{@cpd@first@loeser}}{\setboolean{@cpd@first@loeser}{false}}{, }%
+ #2 (#1)%
+}
+
+\newcommand{\ListeLoeserKuerzel}{%
+ \bgroup%
+ \setboolean{@cpd@first@loeser}{true}%
+ \let\Loeser=\cpd@display@loeser%
+ \InputIfFileExists{\jobname.llx}{}{}%
+ \egroup%
+}
\newenvironment{Loeserliste}[1]{%
\ttitel@skip%
\centerline{\Large\bfseries L\"oserliste #1}%