summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-01-02 22:12:09 +0000
committerKarl Berry <karl@freefriends.org>2020-01-02 22:12:09 +0000
commit58cbae92d3a8712b4c8e5da3ad9d1cae7c5d7e11 (patch)
tree4edba05cb565a2dd557bfefe0f5462a2bf5f865b /Master/texmf-dist/source
parent3caa7617b1cbef09ddd5456faf34623319629cba (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.dtx137
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.