From d1148bc45e870c8f7c8fc92bdb59d45f5f772fc1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 14 Aug 2011 23:04:59 +0000 Subject: chess-problem-diagrams git-svn-id: svn://tug.org/texlive/trunk@23555 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/chess-problem-diagrams/diagram.sty | 126 ++++++++++++--------- 1 file changed, 74 insertions(+), 52 deletions(-) (limited to 'Master/texmf-dist/tex/latex/chess-problem-diagrams') diff --git a/Master/texmf-dist/tex/latex/chess-problem-diagrams/diagram.sty b/Master/texmf-dist/tex/latex/chess-problem-diagrams/diagram.sty index d23dfded10e..099275c3e43 100644 --- a/Master/texmf-dist/tex/latex/chess-problem-diagrams/diagram.sty +++ b/Master/texmf-dist/tex/latex/chess-problem-diagrams/diagram.sty @@ -35,7 +35,8 @@ %% %% %% -\ProvidesPackage{diagram}[2008/03/09] + +\ProvidesPackage{diagram}[2011/06/04] \DeclareOption{10pt}{\AtBeginDocument{\diagramx}} \DeclareOption{11pt}{\AtBeginDocument{\diagramxi}} \DeclareOption{12pt}{\AtBeginDocument{\diagramxii}} @@ -194,7 +195,9 @@ \newif\if@gridlines\@gridlinesfalse \newif\if@fieldframe\@fieldframefalse \newif\if@stdgrid\@stdgridfalse -\newif\if@show@computer\@show@computertrue +\newboolean{showcomputer}\setboolean{showcomputer}{true}% +\newcommand*{\computerproofedsymbol}{C+} +\newcommand*{\notcomputerproofedsymbol}{C-} \newif\if@stipulation\@stipulationfalse \newif\if@condition\@conditionfalse \newif\if@remark\@remarkfalse @@ -268,12 +271,12 @@ \@start@diagram% } \def\@start@diagram{% - \init@vars - \let\author=\ds@author - \let\day=\ds@day - \let\month=\ds@month - \let\year=\ds@year - \let\label=\ds@label + \init@vars% + \let\author=\ds@author% + \let\day=\ds@day% + \let\month=\ds@month% + \let\year=\ds@year% + \let\label=\ds@label% \ignorespaces% } @@ -284,11 +287,11 @@ } \def\enddiagram{% - \let\author=\orig@author -\let\day=\orig@day -\let\month=\orig@month -\let\year=\orig@year -\let\label=\orig@label + \let\author=\orig@author% + \let\day=\orig@day% + \let\month=\orig@month% + \let\year=\orig@year% + \let\label=\orig@label% \if@number% \else% \refstepcounter{board@nr}% so \label and \ref work properly @@ -322,8 +325,8 @@ \ifdim\space@frame>\outer@frame% \outer@frame=\space@frame% \fi% - \advance\bd@width\tw@\inner@frame - \advance\board@width\tw@\inner@frame + \advance\bd@width\tw@\inner@frame% + \advance\board@width\tw@\inner@frame% \advance\board@width\tw@\h@frame@dist% \advance\board@width\tw@\outer@frame% \else\if@space% @@ -339,8 +342,8 @@ \ifspace@vertical% \bd@width=\lines@max\sq@width% \board@width\bd@width% - \advance\bd@width\tw@\inner@frame - \advance\board@width\tw@\inner@frame + \advance\bd@width\tw@\inner@frame% + \advance\board@width\tw@\inner@frame% \advance\board@width\tw@\h@frame@dist% \advance\board@width\tw@\outer@frame% \else% @@ -444,13 +447,16 @@ \def\put@count{% % First we build the box with the figure count - \ifthenelse{\boolean{piececounter}}{% + \ifthenelse{\boolean{showcomputer}\OR\boolean{piececounter}}{% \global\setbox\@cnt@box=\hbox{% - \if@show@computer% - \ \ C\if@computer +\else --\fi% - \fi% - \ \ (\arabic{cpd@whitePieces}+\arabic{cpd@blackPieces}% - \ifthenelse{\value{cpd@neutralPieces}>0}{+\arabic{cpd@neutralPieces}}{})% + \stipfont% + \ifthenelse{\boolean{showcomputer}}{% + \ \ \if@computer\computerproofedsymbol\else\notcomputerproofedsymbol\fi% + }{}% + \ifthenelse{\boolean{piececounter}}{% + \ \ (\arabic{cpd@whitePieces}+\arabic{cpd@blackPieces}% + \ifthenelse{\value{cpd@neutralPieces}>0}{+\arabic{cpd@neutralPieces}}{})% + }{}% }% \@cnt@wd=\wd\@cnt@box% \hangindent-\@cnt@wd% @@ -465,21 +471,21 @@ \let\endstereodiagram=\enddiagram \let\endspacediagram=\enddiagram \def\figurine{% - \begingroup - \init@vars - \let\author=\ds@author - \let\day=\ds@day - \let\month=\ds@month - \let\year=\ds@year - \let\label=\ds@label + \begingroup% + \init@vars% + \let\author=\ds@author% + \let\day=\ds@day% + \let\month=\ds@month% + \let\year=\ds@year% + \let\label=\ds@label% } \def\endfigurine{% - \let\author=\orig@author - \let\day=\orig@day - \let\month=\orig@month - \let\year=\orig@year - \let\label=\orig@label + \let\author=\orig@author% + \let\day=\orig@day% + \let\month=\orig@month% + \let\year=\orig@year% + \let\label=\orig@label% \if@number% \else% \refstepcounter{board@nr}% so \label and \ref work properly @@ -779,11 +785,11 @@ \ignorespaces% } \def\showcomputer{% - \@show@computertrue% + \setboolean{showcomputer}{true}% \ignorespaces% } \def\nocomputer{% - \@show@computerfalse% + \setboolean{showcomputer}{false}% \ignorespaces% } \def\putsol{\immediate\closeout\s@lfd\input\jobname.sol\cl@arsol} @@ -826,15 +832,30 @@ \expandafter\xdef\csname\ds@white Nr\endcsname{% \noexpand\ch@fig{109}% }% + \expandafter\xdef\csname\ds@neutral Nr\endcsname{% + \noexpand\ch@fig{115}% + }% \expandafter\xdef\csname\ds@black Nr\endcsname{% \noexpand\ch@fig{121}% }% \expandafter\xdef\csname\ds@white Gh\endcsname{% \noexpand\ch@fig{112}% }% + \expandafter\xdef\csname\ds@neutral Gh\endcsname{% + \noexpand\ch@fig{118}% + }% \expandafter\xdef\csname\ds@black Gh\endcsname{% \noexpand\ch@fig{124}% }% + \expandafter\xdef\csname\ds@white C\endcsname{% + \noexpand\ch@fig{145}% + }% + \expandafter\xdef\csname\ds@neutral C\endcsname{% + \noexpand\ch@fig{151}% + }% + \expandafter\xdef\csname\ds@black C\endcsname{% + \noexpand\ch@fig{157}% + }% } \def\Imi{\ch@fig{157}} \def\dia@above{% @@ -881,7 +902,7 @@ \else% {\def\name@sep{\par}% \@notfirstfalse% - \let\@action=\@writename% Parse the list of authors + \let\@action=\@dia@writename% Parse the list of authors \@parseTokenlist\aut@tk;} \fi% \egroup% @@ -1048,7 +1069,7 @@ \@lefttrue% \fi% \fi% - \let\below@newline\newline + \let\below@newline\newline% \l@@klist% } @@ -1139,7 +1160,7 @@ \bgroup% \parindent\z@% \parskip\tw@\p@% - {\bf + {\bfseries% \noindent\if@label\showlabel{\the\label@tk}\fi% \the\number@tk) % \ifauth@r% @@ -1148,7 +1169,7 @@ \else% {\@notfirstfalse% We are the first one \def\name@sep{, }% - \let\@action=\@writename% + \let\@action=\@sol@writename% \@parseTokenlist\aut@tk;}:% \fi% \par% @@ -1283,9 +1304,9 @@ } \def\@figurine@computer{% - \if@show@computer - \if@computer\ (Co)\fi% - \fi% + \ifthenelse{\boolean{showcomputer}}{% + \if@computer\ \computerproofedsymbol\fi% + }{}% } \def\@figurine@remarks{% @@ -1326,7 +1347,8 @@ \fi } \def\@months#1-#2;{\from@month=#1\to@month=#2\@datetrue} -\def\@writename#1; {\sep@names\@dianame#1; \l@@klist} +\def\@dia@writename#1; {\sep@names\@dianame#1; \l@@klist} +\def\@sol@writename#1; {\sep@names\@dianame#1; \l@@klist} \def\name@sep{,\ } \def\sep@names{\if@notfirst\name@sep\else\@notfirsttrue\fi} \def\@checkshort#1/#2#3;{% @@ -1400,9 +1422,9 @@ } \def\chkr@tate{% - \if\r@tate \ds@upsidedown\advance\help@a 108\let\nextpr@c=\skipr@t\else - \if\r@tate \ds@left\advance\help@a 36\let\nextpr@c=\skipr@t\else - \if\r@tate \ds@right\advance\help@a 72\let\nextpr@c=\skipr@t\else + \if\r@tate \ds@upsidedown\advance\help@a 108\let\nextpr@c=\skipr@t\else% + \if\r@tate \ds@left\advance\help@a 36\let\nextpr@c=\skipr@t\else% + \if\r@tate \ds@right\advance\help@a 72\let\nextpr@c=\skipr@t\else% \let\nextpr@c\piece@job\fi\fi\fi\nextpr@c% } \def\skipr@t#1{\piece@job} @@ -2031,7 +2053,7 @@ \or% \def\@thePiece{\ds@king}% \fi% - \expandafter\xdef\csname + \expandafter\xdef\csname% \@theColor\@thePiece\@theRotation\endcsname{% \noexpand\ch@fig{\the\help@a}% } @@ -2062,9 +2084,9 @@ \newdimen\normalboardwidth \def\setboardwidth{% \normalboardwidth=\@ight\fontdimen\tw@\chessfont% - \advance\normalboardwidth\tw@\inner@frame - \advance\normalboardwidth\tw@\h@frame@dist - \advance\normalboardwidth\tw@\outer@frame + \advance\normalboardwidth\tw@\inner@frame% + \advance\normalboardwidth\tw@\h@frame@dist% + \advance\normalboardwidth\tw@\outer@frame% } \setboardwidth -- cgit v1.2.3