diff options
Diffstat (limited to 'macros/latex/contrib/schwalbe-chess')
-rw-r--r-- | macros/latex/contrib/schwalbe-chess/README | 2 | ||||
-rw-r--r-- | macros/latex/contrib/schwalbe-chess/schwalbe.dtx | 229 | ||||
-rw-r--r-- | macros/latex/contrib/schwalbe-chess/schwalbe.ins | 1 | ||||
-rw-r--r-- | macros/latex/contrib/schwalbe-chess/schwalbe.pdf | bin | 230734 -> 242624 bytes |
4 files changed, 153 insertions, 79 deletions
diff --git a/macros/latex/contrib/schwalbe-chess/README b/macros/latex/contrib/schwalbe-chess/README index 34562fb943..fe64042379 100644 --- a/macros/latex/contrib/schwalbe-chess/README +++ b/macros/latex/contrib/schwalbe-chess/README @@ -1,5 +1,5 @@ schwalbe --- A package for typesetting chessproblems -Version v2.9 / Stefan Hoening 2012-2020 +Version v2.12 / Stefan Hoening 2012-2022 CONTENTS diff --git a/macros/latex/contrib/schwalbe-chess/schwalbe.dtx b/macros/latex/contrib/schwalbe-chess/schwalbe.dtx index 62dbe69dcc..15b4b459fc 100644 --- a/macros/latex/contrib/schwalbe-chess/schwalbe.dtx +++ b/macros/latex/contrib/schwalbe-chess/schwalbe.dtx @@ -13,9 +13,9 @@ %% %% % \fi -% \def\fileversion{v2.9} -% \def\docdate{2022/05/28} -% \CheckSum{2247} +% \def\fileversion{v2.12} +% \def\docdate{2022/06/16} +% \CheckSum{2266} % \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 @@ -59,6 +59,17 @@ % Loesungen environment.} % \changes{v2.9}{28 May 2022}{Added code to simplify measuring size of % articles.} +% \changes{v2.10}{02 June 2022}{Added missing dots (.) in commands +% cpd@Loesung and cpd@Loesung@star.\\ +% Added commands win and loose.\\ +% Volume is provided as arabic number in 'Heft' command now.\\ +% Fixed issue with Ruler as 'AddToHook' command is not available in +% old \LaTeX{} installations.} +% \changes{v2.11}{13 June 2022}{Changed to depend on diagram.sty from +% 13 June 2022.} +% \changes{v2.12}{19 June 2022}{Moved ruler code to separate style +% file swruler.sty.\\ +% Added class option 'ruler' to activate displaying the ruler.} % % \DoNotIndex{\@arabic,\def,\@idxitem,\@ifnextchar,\@ifstar, % \@ne,\@ptsize,\ ,\advance,\AtEndOfPackage,\begin,\begingroup, @@ -108,7 +119,9 @@ % Parameter in der angegebenen Reihenfolge: % % \begin{enumerate} -% \item der Band, zu dem das Heft gehört +% \item der Band, zu dem das Heft gehört (als arabische Zahl)\footnote{In den +% vorherigen Fassungen der schwalbe.cls wurde hier die römische +% Darstellung der Zahl angegeben.} % \item die Nummer des Heftes % \item der Monat des Erscheinens als Zahl % \item das Jahr des Erscheinens @@ -119,7 +132,7 @@ % der Seitenummmer 361 beginnt wird demzufolge folgendermassen % eingeleitet: % -% \verb+\Heft{XXXIV}{299}{12}{2019}{361}+ +% \verb+\Heft{34}{299}{12}{2019}{361}+ % % \DescribeEnv{Editorial} % Die \verb+Editorial+ Umgebung benötigt einen Parameter, der @@ -331,7 +344,7 @@ % % \DescribeEnv{Loeserliste} % Nach dem einleitenden \verb+\begin{Loeserliste}+ ist als -% Parameter das Jahr anzugeben, auf dass sich die Löserliste +% Parameter das Jahr anzugeben, auf das sich die Löserliste % bezieht. % % \DescribeEnv{Turnierausschreibung} @@ -371,6 +384,11 @@ % zwischen den Gliedern der Abkürzung wählen. Daher definiert % der Style Befehle für einige Häufig vorkommende Abkürzungen: % +% \DescribeMacro{\win} +% \DescribeMacro{\loose} +% Für die Notation von Studienlösungen gibt es die Befehle \verb+\win+ +% und \verb+\loose+. +% % \medskip % \begin{tabular}{|l|l|l|} % \hline @@ -429,12 +447,35 @@ % \DescribeMacro{\mal} % Als Kurzschreibweise für das $\times$ Symbol ist der Befehl \verb+\mal+ definiert. % +% \DescribeMacro{\ShowRuler} +% Um den Umfang der einzelnen Artikel einfacher Abschätzen zu können, +% kann man mittels \verb+\ShowRuler+ ein Lineal auf jeder Seite +% anzeigen lassen. +% Der Befehl erwartet als Parameter den \textbf{x}- und +% \textbf{y}-Abstand zum Seitenursprung. Die Angaben müssen als +% vielfaches von \textbf{1pt} angegeben werden. +% +% In der \textbf{schwalbe-class} kann das Lineal durch die Option +% \textbf{ruler} aktiviert werden: +% +% \begin{verbatim} +% \documentclass[ruler]{schwalbe} +% \end{verbatim} +% +% Mit aktivierter \textbf{ruler}-Option kann das Anzeigen des Lineals +% durch Anlegen einer Datei \verb+__finalpdf__.tex+ deaktiviert +% werden. Das habe ich in dem Prozess, der die Schwalbe-Hefte baut, +% automatisiert. +% +% Der Code zur Erzeugung des Lineals ist eine eigene Style-Datei +% \verb+swruler.sty+ ausgelagert, so dass man das Lineal ohne +% \textbf{schwalbe-class} verwenden kann. +% % \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. +% Außerdem 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} % @@ -470,9 +511,15 @@ % \begin{macrocode} %<*class> \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{schwalbe}[2022/05/28] +\ProvidesClass{schwalbe}[2022/06/23] +\DeclareOption{ruler}{% + \AtBeginDocument{\IfFileExists{__finalpdf__.tex}{}{% + \ShowRuler{32mm / 1pt}{-44mm / 1pt}}} +}% +\ProcessOptions\relax% \LoadClass[11pt,a4paper]{article} -\RequirePackage[12pt]{schwalbe}[2019/12/28] +\RequirePackage[12pt]{schwalbe}[2022/06/23] +\RequirePackage{swruler}[2022/06/19] \RequirePackage{cpdparse}[2020/12/27] \RequirePackage[T2A,T1]{fontenc}% fsRUS 140121 \RequirePackage[koi8-r,utf8]{inputenc}% fsRUS 140121 @@ -533,6 +580,8 @@ \def\zB{z.\,B.\ignorespaces} \def\su{s.\,u.\ignorespaces} \def\ep{e.\,p.\ignorespaces} +\def\win{$\pm$} +\def\loose{$\mp$} \def\seedia{s.\,Diagr.} % %----------------------------------------------------------- @@ -590,11 +639,13 @@ % Band, Heftnummer, Monat, Jahr und erste Seitennummer des Heftes % spezifiziert. % \begin{macrocode} +\newcounter{sw@volume}% \newcounter{sw@issue}% \newcounter{sw@month}% \newcounter{sw@year}% \newcommand{\Heft}[5]{% \def\heft@band{#1}% + \setcounter{sw@volume}{#1}% \setcounter{sw@issue}{#2}% \setcounter{sw@month}{#3}% \setcounter{sw@year}{#4}% @@ -604,7 +655,7 @@ {\large\bfseries% HEFT~#2% \hfill% - BAND #1% + BAND \Roman{sw@volume}% \hfill% \sw@monat{\value{sw@month}}~#4% }% @@ -693,9 +744,9 @@ , S.~\the\pages@tk% \fi% \else% - \if@special\relax% + \ifthenelse{\boolean{@cpd@numbering@local}}{}{% \thediag% - \fi + }% \fi\fi% \egroup% } @@ -980,7 +1031,7 @@ \AtEndDocument{\immediate\closeout\@cpdfile@loeserkuerzel} \newcommand{\x@cpd@saveloeser}[2]{% - \immediate\write\@cpdfile@loeserkuerzel{\unexpanded{#1:#2}} + \immediate\write\@cpdfile@loeserkuerzel{\unexpanded{#1:#2}}% } \newcommand{\y@cpd@saveloeser}[2]{% \x@cpd@saveloeser{#1}{#2}% @@ -1040,11 +1091,11 @@ } \newcommand{\showsol}{} \newcommand{\cpd@Loesung}[3]{% - \textbf{#1}\ \sw@loesung@authors{#2}% + \textbf{#1}\ \sw@loesung@authors{#2}.\ % \renewcommand{\showsol}{#3}% } \newcommand{\cpd@Loesung@star}[3]{% - \textbf{#1}\ \sw@loesung@authors{#2}\ #3% + \textbf{#1}\ \sw@loesung@authors{#2}.\ #3.% \renewcommand{\showsol}{}% } \newcommand{\Loesung}{% @@ -1954,48 +2005,7 @@ \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} @@ -2012,7 +2022,7 @@ % \begin{macrocode} %<*style> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{schwalbe}[2019/12/28] +\ProvidesPackage{schwalbe}[2022/06/23] % \end{macrocode} % % Der \textit{Schwalbe-Style} ist eine Erweiterung des @@ -2027,7 +2037,7 @@ % \end{macrocode} % % \begin{macrocode} -\RequirePackage{diagram}[2020/02/09] +\RequirePackage{diagram}[2022/06/19] % % % Wir definieren das Diagrammlayout ein wenig um. @@ -2095,11 +2105,9 @@ \def\@dia@number{}% Die Diagrammnummer wird bei den Autoren gesetzt! % \def\@dia@numberx{% - \if@special% - \thediag% - \else\ifdi@no% - \thediag% - \fi\fi% + \ifthenelse{\boolean{@cpd@numbering@local}}{% + {\authorfont\thediag}% + }{}% } % \def\@dia@authors{% @@ -2111,8 +2119,10 @@ \let\@action=\@dia@writename% Parse the list of authors \@parseTokenlist\aut@tk;% \else% - \above@newline - {\authorfont\@dia@numberx}% + \ifthenelse{\boolean{@cpd@numbering@local}}{% + \above@newline% + \@dia@numberx% + }{}% \fi% } % @@ -2156,20 +2166,83 @@ \newlength{\double@boardwidth}% \def\doublediagram#1{% - \def\dia@above{\if@special\else% - \setlength{\helplength}{\textwidth}% - \addtolength{\helplength}{-3\board@width}% - \setlength{\boardskip}{.5\helplength}% - \setlength{\double@boardwidth}{2\board@width}% - \addtolength{\double@boardwidth}{\boardskip}% - \begin{minipage}[b]{\double@boardwidth}% - #1% - \end{minipage}% - \fi}% + \def\dia@above{% + \ifthenelse{@cpd@numbering@local}{}{% + % \if@special\else% + \setlength{\helplength}{\textwidth}% + \addtolength{\helplength}{-3\board@width}% + \setlength{\boardskip}{.5\helplength}% + \setlength{\double@boardwidth}{2\board@width}% + \addtolength{\double@boardwidth}{\boardskip}% + \begin{minipage}[b]{\double@boardwidth}% + #1% + \end{minipage}% + % \fi + }% + }% } %</style> % \end{macrocode} % +% \section{Die Implementierung des \textbf{swruler.sty}} +% +% \begin{macrocode} +%<*rulerstyle> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{swruler}[2022/06/19] +\RequirePackage{calc} +% \end{macrocode} +% +% Das Makro \verb+\Ruler+ erzeugt ein Lineal mit einer $1/20$ +% Einteilung der Seitenhöhe. +% +% \begin{macrocode} +\newcommand{\Ruler}{% +\makebox{% +\setlength{\unitlength}{\textheight / 20} +\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. +% Da in älteren \LaTeX-Versionen das Kommando \verb+\AddToHook+ noch +% nicht existiert, wird in diesem Fall eine Warnung ausgegeben. Ein +% Lineal kann dann nicht angezeigt werden. +% +% \begin{macrocode} +\providecommand{\AddToHook}[2]{% +\message{^^JWARNING: Your LaTeX is too old to activate a Ruler on each page.^^J}% +}% +\newcommand{\ShowRuler}[2]{% +\AddToHook{shipout/background}{\put(#1,#2){\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} +%</rulerstyle> +% \end{macrocode} +% % \Finale diff --git a/macros/latex/contrib/schwalbe-chess/schwalbe.ins b/macros/latex/contrib/schwalbe-chess/schwalbe.ins index bbea30d9b0..a7641a3c45 100644 --- a/macros/latex/contrib/schwalbe-chess/schwalbe.ins +++ b/macros/latex/contrib/schwalbe-chess/schwalbe.ins @@ -3,5 +3,6 @@ \generate{% \file{schwalbe.sty}{\from{schwalbe.dtx}{style}}% \file{schwalbe.cls}{\from{schwalbe.dtx}{class}}% + \file{swruler.sty}{\from{schwalbe.dtx}{rulerstyle}}% } \endbatchfile diff --git a/macros/latex/contrib/schwalbe-chess/schwalbe.pdf b/macros/latex/contrib/schwalbe-chess/schwalbe.pdf Binary files differindex bc3f10ddba..35ec9985a3 100644 --- a/macros/latex/contrib/schwalbe-chess/schwalbe.pdf +++ b/macros/latex/contrib/schwalbe-chess/schwalbe.pdf |