diff options
author | Karl Berry <karl@freefriends.org> | 2020-01-02 22:12:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-01-02 22:12:09 +0000 |
commit | 58cbae92d3a8712b4c8e5da3ad9d1cae7c5d7e11 (patch) | |
tree | 4edba05cb565a2dd557bfefe0f5462a2bf5f865b /Master/texmf-dist/source | |
parent | 3caa7617b1cbef09ddd5456faf34623319629cba (diff) |
schwalbe-chess (2jan20)
git-svn-id: svn://tug.org/texlive/trunk@53305 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx | 137 |
1 files changed, 103 insertions, 34 deletions
diff --git a/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx b/Master/texmf-dist/source/latex/schwalbe-chess/schwalbe.dtx index eda9fc3fc95..0850bb8e046 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.3} -% \def\docdate{2018/12/20} -% \CheckSum{2056} +% \def\fileversion{v2.7} +% \def\docdate{2019/12/28} +% \CheckSum{2122} % \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 @@ -46,6 +46,12 @@ % 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} +% \changes{v2.4}{21 September 2019}{Changed parameter <monat> in Heft command to be numeric.\\ +% Added command LoesungenBis to calculate the month to send solutions.} +% \changes{v2.5}{29 September 2019}{Changed Loesungen environment to calculate issue month and year of solutions from +% 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.} % % \DoNotIndex{\@arabic,\def,\@idxitem,\@ifnextchar,\@ifstar, % \@ne,\@ptsize,\ ,\advance,\AtEndOfPackage,\begin,\begingroup, @@ -97,16 +103,16 @@ % \begin{enumerate} % \item der Band, zu dem das Heft geh"ort % \item die Nummer des Heftes -% \item der Monat des Erscheinens +% \item der Monat des Erscheinens als Zahl % \item das Jahr des Erscheinens % \item die Seitennummer der ersten Seite des Heftes % \end{enumerate} % -% Das August Heft 2011, das die fortlaufende Nummer 250 hat und mit -% der Seitenummmer 177 beginnt wird demzufolge folgendermassen +% Das Dezember Heft 2019, das die fortlaufende Nummer 299 hat und mit +% der Seitenummmer 361 beginnt wird demzufolge folgendermassen % eingeleitet: % -% \verb+\Heft{XXX}{250}{August}{2011}{177}+ +% \verb+\Heft{XXXIV}{299}{12}{2019}{361}+ % % \DescribeEnv{Editorial} % Die \verb+Editorial+ Umgebung ben"otigt einen Parameter, der @@ -198,9 +204,10 @@ % \verb+retroart+ erläutert. % % \DescribeEnv{Loesungen} -% Die Umgebung \verb+Loesungen+, innerhalb der die -% L"osungsbesprechungen beschrieben werden, ben"otigt 2 -% Parameter: +% Von der \verb+Loesungen+ Umgebung, gibt es eine *-Form, die sonst keine weiteren Parameter erwartet. +% Heftnummer, Monat und Jahr der Lösung werden in diesem Fall automatisch aus +% den Angaben des aktuellen Hefts ermittelt (3 Hefte bzw. 6 Monate zurück). +% Ohne * benötigt die Umgebung \verb+Loesungen+ 2 Parameter: % \begin{enumerate} % \item die Nummer des Hefts mit den Urdrucken % \item Monat und Jahr dieses Hefts @@ -424,9 +431,9 @@ % \begin{macrocode} %<*class> \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{schwalbe}[2017/01/31] +\ProvidesClass{schwalbe}[2019/12/28] \LoadClass[11pt,a4paper]{article} -\RequirePackage[12pt]{schwalbe} +\RequirePackage[12pt]{schwalbe}[2019/12/28] \RequirePackage[T2A,T1]{fontenc}% fsRUS 140121 \RequirePackage[koi8-r,utf8]{inputenc}% fsRUS 140121 \RequirePackage[russian,german,english,ngerman]{babel} @@ -531,23 +538,37 @@ } % \end{macrocode} % +% Im Titel sowie bei den Urdrucken und L"osungen 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% +}% +% \end{macrocode} +% % Der Befehl \verb+\Heft+ leitet jedes Heft ein. Damit werden % Band, Heftnummer, Monat, Jahr und erste Seitennummer des Heftes % spezifiziert. % \begin{macrocode} +\newcounter{sw@issue}% +\newcounter{sw@month}% +\newcounter{sw@year}% \newcommand{\Heft}[5]{% \def\heft@band{#1}% - \def\heft@nr{#2}% - \def\heft@monat{#3}% - \def\heft@year{#4}% + \setcounter{sw@issue}{#2}% + \setcounter{sw@month}{#3}% + \setcounter{sw@year}{#4}% \setcounter{page}{#5}% \hbox to \textwidth{\vbox to 60mm{\vfill}\hfill}% \hbox to \textwidth{% - {\large\bfseries HEFT~#2}% + {\large\bfseries% + HEFT~#2% \hfill% - {\large\bfseries BAND #1}% + BAND #1% \hfill% - {\large\bfseries #3~#4}% + \sw@monat{\value{sw@month}}~#4% + }% }% \vskip2mm% \hrule width \textwidth height 1\p@% @@ -728,6 +749,28 @@ }{} % \end{macrocode} % +% Das Kommando \verb+\LoesungenBis+ gibt den Monat (und ggfs. das Jahr) aus, bis zu dem Lösungen einzusenden sind. +% +% \begin{macrocode} +\newcounter{sw@loesungen@bis@monat} +\newcounter{sw@loesungen@bis@jahr} +% +\newcommand{\LoesungenBis}{% + \setcounter{sw@loesungen@bis@monat}{\value{sw@month}}% + \setcounter{sw@loesungen@bis@jahr}{\value{sw@year}}% + \addtocounter{sw@loesungen@bis@monat}{3}% + \ifthenelse{\value{sw@loesungen@bis@monat} > 12}% + {% + \addtocounter{sw@loesungen@bis@monat}{-12}% + \addtocounter{sw@loesungen@bis@jahr}{1}% + \sw@monat{\value{sw@loesungen@bis@monat}}\ \arabic{sw@loesungen@bis@jahr}% + }% + {% + \sw@monat{\value{sw@loesungen@bis@monat}}% + }% +}% +% \end{macrocode} +% % Innerhalb der Umgebung \verb+Urdrucke+ werden % die Diagramme immer zu dritt nebeneinander gesetzt - % sofern dies pa"st. Au"serdem werden von jedem Diagramm @@ -784,7 +827,12 @@ }{} % \end{macrocode} % -% Die Umgebung f"ur L"osungen ben"otigt 2 Parameter: +% Von der Umbgebung für Lösungen gibt es 2 Varianten: +% \begin{itemize} +% \item gefolgt von einem Stern werden Heft, Monat und Jahr automatisch gesetzt. +% \item ohne Stern werden 2 Parameter benötigt: +% \end{itemize} +% % \begin{enumerate} % \item die Nummer des Heftes mit den Urdrucken % \item Monat und Jahr @@ -803,8 +851,8 @@ \newcommand{\@sw@lsg@abteilung}[4]{% \textbf{#1 Nr. #2-#3} (Bearbeiter = #4)% } -\newenvironment{Loesungen}[2]{% - \begingroup% +\newcommand{\sw@loesungen}[2]{% + \begingroup% \ttitel@skip% \centerline{\Large\bfseries L\"osungen der Urdrucke aus Heft #1, #2}% \titel@skip% @@ -820,8 +868,8 @@ \edef\@tempa{ \write\sw@contents{% \@nearverbatim\@tempb{% - {\@nearverbatim\@tempc}% - {\@nearverbatim\@tempd}% + {\@tempc}% + {\@tempd}% {\@nearverbatim\pageref{inhalt\@nameuse{the@inhalt}}}% }% }% @@ -829,6 +877,26 @@ \expandafter\egroup\@tempa% \parskip.5ex plus 2ex% \catcode`/=\active% +} +\newcounter{sw@loesungen@aus@heft} +\newcounter{sw@loesungen@aus@monat} +\newcounter{sw@loesungen@aus@jahr} +\newcommand{\sw@loesungen@star}{% + \setcounter{sw@loesungen@aus@heft}{\value{sw@issue}}% + \addtocounter{sw@loesungen@aus@heft}{-3}% + \setcounter{sw@loesungen@aus@jahr}{\value{sw@year}}% + \setcounter{sw@loesungen@aus@monat}{\value{sw@month}}% + \addtocounter{sw@loesungen@aus@monat}{-6}% + \ifthenelse{\value{sw@loesungen@aus@monat} < 1}% + {% + \addtocounter{sw@loesungen@aus@monat}{12}% + \addtocounter{sw@loesungen@aus@jahr}{-1}% + }{}% + \sw@loesungen{\arabic{sw@loesungen@aus@heft}}{\sw@monat{\value{sw@loesungen@aus@monat}} \arabic{sw@loesungen@aus@jahr}}% +} + +\newenvironment{Loesungen}{% + \@ifstar{\sw@loesungen@star}{\sw@loesungen}% }{% \catcode`/=12% \endgroup% @@ -941,7 +1009,7 @@ } % \end{macrocode} % -% Die folgenden werden benutzt im Titel zu setzen und ggfs\@. entsprechende +% Die folgenden werden benutzt um Titel zu setzen und ggfs\@. entsprechende % \verb+\label+ zu registrieren. % \begin{macrocode} \let\titel@ext\relax @@ -1598,6 +1666,11 @@ \expandafter\l@@klist\the\aut@tk; \e@list% \egroup% } +% Wenn das Diagramm ausgegeben wird, sollen auch die Informationen ausgegeben werden. +\def\do@dia@job{% + \@write@sol\ifvmode\noindent\fi\unhbox\dia@box% + \sw@problem% +} % Schreiben eines einzelnen Autors in das Inhaltsverzeichnis % \def\sw@problemAuthor#1; {% @@ -1746,12 +1819,13 @@ % Zeichen / aktiviert. % \begin{macrocode} \def\sol@slash{\nobreak\hskip\z@ plus 2\p@\char`/\hskip\z@ plus 2\p@\discretionary{}{}{}} -% \catcode`/=\active\relax\let/\sol@slash\relax\catcode`/=12% -% \def\bsol{\catcode`/=\active\relax} \def\esol{\catcode`/=12\relax} \bsol +\renewcommand{\cpd@begindiagram@hook}{\esol} +\renewcommand{\cpd@enddiagram@hook}{\bsol} + \renewcommand{\section}{\@startsection{section}{1}{\z@}{2ex}{.5ex}{\normalfont\large\bfseries}} \renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}{1ex}{.3ex}{\normalfont\bfseries}} @@ -1768,7 +1842,7 @@ % \begin{macrocode} %<*style> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{schwalbe}[2017/01/31] +\ProvidesPackage{schwalbe}[2019/12/28] % \end{macrocode} % % Der \textit{Schwalbe-Style} ist eine Erweiterung des @@ -1783,10 +1857,10 @@ % \end{macrocode} % % \begin{macrocode} -\RequirePackage{diagram} +\RequirePackage{diagram}[2019/12/28] % % -% Wir definieren das Diagrammlayout ein wenig um +% Wir definieren das Diagrammlayout ein wenig um. % \newcommand{\rb}[1]{\raisebox{0.4ex}{#1}} \nocomputer @@ -1814,11 +1888,6 @@ \diagramx% \setboardwidth% } - -\def\do@dia@job{% - \@write@sol\ifvmode\noindent\fi\unhbox\dia@box% - \sw@problem% -} % \end{macrocode} % % In der \Schwalbe{} setzen wir keine akademischen Titel. |