diff options
author | Karl Berry <karl@freefriends.org> | 2022-05-31 19:44:55 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-05-31 19:44:55 +0000 |
commit | 4db7e0ff0ac04738aa4e4bee8086ea218a450386 (patch) | |
tree | d0374aa32cd4c0ed5f66872056d1960f6c959d18 /Master/texmf-dist/tex/latex | |
parent | 0b490f871a5cea8ad4f6c5e52a6374b96ec76fad (diff) |
schwalbe-chess (31may22)
git-svn-id: svn://tug.org/texlive/trunk@63457 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.cls | 152 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.sty | 2 |
2 files changed, 129 insertions, 25 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'. diff --git a/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.sty b/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.sty index cd2153e3be3..ffa06263d4f 100644 --- a/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.sty +++ b/Master/texmf-dist/tex/latex/schwalbe-chess/schwalbe.sty @@ -39,7 +39,7 @@ \DeclareOption{11pt}{\PassOptionsToPackage{11pt}{diagram}} \DeclareOption{12pt}{\PassOptionsToPackage{12pt}{diagram}} \ProcessOptions -\RequirePackage{diagram}[2019/12/28] +\RequirePackage{diagram}[2020/02/09] \newcommand{\rb}[1]{\raisebox{0.4ex}{#1}} \nocomputer \setboolean{piececounter}{true} |