summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls')
-rw-r--r--Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls152
1 files changed, 128 insertions, 24 deletions
diff --git a/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls b/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls
index 1e62b103eb4..d98ac963e61 100644
--- a/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls
+++ b/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls
@@ -34,9 +34,10 @@
%%
%%
\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}
@@ -48,7 +49,6 @@
\RequirePackage{paralist}
\RequirePackage{afterpage}
\InputIfFileExists{schwalbe.ext}{}{}%
-\RequirePackage{picinpar}
\hyphenation{Patt-idee Da-men-op-fer nicht-ortho-doxe Grim-shaw Rein-form}
\advance\exhyphenpenalty by -10
@@ -111,7 +111,7 @@
}
\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%
}%
\newcounter{sw@issue}%
\newcounter{sw@month}%
@@ -137,7 +137,7 @@
%\input{intro}%
\vskip5mm%
\newcommand{\SchwalbeCopyright}%
- {\textcopyright{} Schwalbe, deutsche Vereinigung für Problemschach #4}%
+ {\textcopyright{} #4 Schwalbe, deutsche Vereinigung für Problemschach e.\,V.}%
}
\newenvironment{Editorial}[2][Editorial]{%
\ttitel@skip%
@@ -230,7 +230,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}%
@@ -258,10 +258,11 @@
\x@InformalEntscheid{#1}{#2}{#3}%
}
\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}%
@@ -292,6 +293,31 @@
\sw@monat{\value{sw@loesungen@bis@monat}}%
}%
}%
+\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%
@@ -301,11 +327,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}%
@@ -316,7 +344,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%
@@ -351,7 +379,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%
@@ -427,9 +455,50 @@
\InputIfFileExists{\jobname.llx}{}{}%
\egroup%
}
+\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}%
+}
+
\newenvironment{Loeserliste}[1]{%
\ttitel@skip%
- \centerline{\Large\bfseries L\"oserliste #1}%
+ \centerline{\Large\bfseries Löserliste #1}%
\titel@skip%
\stepcounter{@inhalt}%
\inhalt@label\relax%
@@ -447,12 +516,12 @@
}{}
\newcommand{\dauerkonto}[1]{%
\ttitel@skip%
- \centerline{\large\bfseries L\"oserliste: Sonderpunkte \& Dauerkonto #1}%
+ \centerline{\large\bfseries Löserliste: Sonderpunkte \& Dauerkonto #1}%
\titel@skip%
}
\newcommand{\loesungswettbewerb}[1]{
\ttitel@skip%
- \centerline{\Large\bfseries Preisbericht zum L\"osungswettbewerb #1}%
+ \centerline{\Large\bfseries Preisbericht zum Lösungswettbewerb #1}%
\titel@skip%
}
\newenvironment{BuB}{%
@@ -489,7 +558,7 @@
\def\Untertitel{\subtitel@skip\centering}
\def\endUntertitel{\subtitel@subskip}
\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%
@@ -542,7 +611,7 @@
\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}%
@@ -596,7 +665,7 @@
\newenvironment{maerchenlexikon}%
{%
\ifthenelse{\value{@maerchenlexikon}=0}{%
- {\itshape Kleines M\"archenschach-Lexikon:} %
+ {\itshape Kleines Märchenschach-Lexikon:} %
}{}%
\setboolean{@first@lexikon@entry}{true}%
\stepcounter{@maerchenlexikon}%
@@ -621,9 +690,13 @@
\stepcounter{@retrolexikon}%
}{}
\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}%
@@ -848,7 +921,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%
@@ -872,7 +945,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%
@@ -895,7 +968,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%
@@ -914,7 +987,7 @@
\expandafter\egroup\@tempa%
}
\def\y@Verstorben#1{%
- % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ % Erzeuge den Eintrag für das Inhaltsverzeichnis
\stepcounter{@inhalt}%
\inhalt@label\relax%
\bgroup%
@@ -931,7 +1004,7 @@
\expandafter\egroup\@tempa%
}
\def\Nachruf#1{%
- % Erzeuge den Eintrag f\"ur das Inhaltsverzeichnis
+ % Erzeuge den Eintrag für das Inhaltsverzeichnis
\stepcounter{@inhalt}%
\inhalt@label\relax%
\bgroup%
@@ -1002,7 +1075,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%
@@ -1071,7 +1144,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}%
}
@@ -1087,7 +1160,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}}
@@ -1147,7 +1220,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}
@@ -1157,6 +1230,37 @@
\renewcommand{\x}{:}
\newcommand{\mal}{\mbox{\ifmmode\times\else$\times$\fi}}
+\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
+\newcommand{\ShowRuler}{%
+\AddToHook{shipout/background}{\put(32mm,-46mm){\Ruler}}%
+}%
+\AtBeginDocument{\IfFileExists{__finalpdf__.tex}{}{\ShowRuler}}
+
+\newboolean{MeasureMode}
+\setboolean{MeasureMode}{false}
+\newcommand{\MeasureNewpage}{%
+ \ifthenelse{\boolean{MeasureMode}}{\newpage}{}%
+}
+
\endinput
%%
%% End of file `schwalbe.cls'.