summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/chess/chess.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/chess/chess.sty')
-rw-r--r--Master/texmf-dist/tex/latex/chess/chess.sty254
1 files changed, 132 insertions, 122 deletions
diff --git a/Master/texmf-dist/tex/latex/chess/chess.sty b/Master/texmf-dist/tex/latex/chess/chess.sty
index b584d4469bc..c13c39c70f6 100644
--- a/Master/texmf-dist/tex/latex/chess/chess.sty
+++ b/Master/texmf-dist/tex/latex/chess/chess.sty
@@ -1,20 +1,3 @@
-% - removed spaces inside macros that might show up in output
-
-% replaced
-% width by \@width
-% height by \@height
-% depth by \@depth
-% "by 1" by \@ne
-
-% added:
-%
-% dimen \boardrule holding the width of the rule around the board
-
-% put \global into \Whitetrue and \Whitefalse
-
-
-
-\message{FMi updated chess version 96/07/21!!!}
%
% chess.sty
% ---------
@@ -57,12 +40,28 @@
% Version: 1.0 (5 Jan 1990)
%
+%
+% Macro specific initialisations
+%
+{\def\format{plain}
+\ifx\fmtname\format
+ \ifcat/@ \gdef\makeatletter{\catcode`@=11\relax}
+ \gdef\resetat{\catcode`@=12\relax}
+ \else\let\makeatletter\relax\let\resetat\relax\fi
+ \gdef\mbox#1{\leavevmode\hbox{#1}}
+ \gdef\Box{\vbox{\hrule height .1pt\hbox{\vrule width .1pt\kern3pt
+ \vbox{\kern6pt}\kern3pt\vrule width .1pt}\hrule height .1pt}}
+ \global\font\sc=cmcsc10
+\else
+ \gdef\line#1{\hbox to \textwidth{#1}}
+\fi}
+
+\makeatletter
%
% Do we have language support? Otherwise take default language!
%
-%\ifx\undefined\babel@core@loaded\input english.sty\fi
-
+\ifx\undefined\babel@core@loaded\input english.sty\fi
\def\@set[#1#2](#3){%arguments: [a-h1-8](<letter>)
@@ -79,91 +78,88 @@
\def\@col{\ifcase\@c\or a\or b\or c\or d\or e\or f\or g\or h\fi}
-\def\@showchar{%
- \@get\piece[\@col\the\@r]%
- \if\piece E\ifodd\@sum 0\else Z\fi\else
- \if\piece P\ifodd\@sum P\else O\fi\else
- \if\piece p\ifodd\@sum p\else o\fi\else
- \if\piece R\ifodd\@sum R\else S\fi\else
- \if\piece B\ifodd\@sum B\else A\fi\else
- \if\piece N\ifodd\@sum N\else M\fi\else
- \if\piece r\ifodd\@sum r\else s\fi\else
- \if\piece b\ifodd\@sum b\else a\fi\else
- \if\piece n\ifodd\@sum n\else m\fi\else
- \if\piece K\ifodd\@sum K\else J\fi\else
- \if\piece Q\ifodd\@sum Q\else L\fi\else
- \if\piece k\ifodd\@sum k\else j\fi\else
- \if\piece q\ifodd\@sum q\else l\fi\else
+\def\@showchar{
+ \@get\piece[\@col\the\@r]
+ \if\piece E \ifodd\@sum 0\else Z\fi\else
+ \if\piece P \ifodd\@sum P\else O\fi\else
+ \if\piece p \ifodd\@sum p\else o\fi\else
+ \if\piece R \ifodd\@sum R\else S\fi\else
+ \if\piece B \ifodd\@sum B\else A\fi\else
+ \if\piece N \ifodd\@sum N\else M\fi\else
+ \if\piece r \ifodd\@sum r\else s\fi\else
+ \if\piece b \ifodd\@sum b\else a\fi\else
+ \if\piece n \ifodd\@sum n\else m\fi\else
+ \if\piece K \ifodd\@sum K\else J\fi\else
+ \if\piece Q \ifodd\@sum Q\else L\fi\else
+ \if\piece k \ifodd\@sum k\else j\fi\else
+ \if\piece q \ifodd\@sum q\else l\fi\else
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
-\def\@showrow#1{%
+\def\@showrow#1{
\@r=#1\@c=1
\@sum=\@r\advance\@sum by\@c
\loop
\@showchar
- \ifnum\@c<8 \advance\@c \@ne\advance\@sum \@ne
+ \ifnum\@c<8 \advance\@c by1\advance\@sum by1
\repeat
}
-\newdimen\boardrule
-\setlength\boardrule{1pt}
-
-\def\showboard{%
+\def\showboard{
\vbox{\offinterlineskip
- \hrule \@height \boardrule
- \hbox{\vrule \@width \boardrule\Chess
- \vbox{\hbox{\@showrow8}%
- \hbox{\@showrow7}%
- \hbox{\@showrow6}%
- \hbox{\@showrow5}%
- \hbox{\@showrow4}%
- \hbox{\@showrow3}%
- \hbox{\@showrow2}%
+ \hrule height1pt
+ \hbox{\vrule width1pt\Chess
+ \vbox{\hbox{\@showrow8}
+ \hbox{\@showrow7}
+ \hbox{\@showrow6}
+ \hbox{\@showrow5}
+ \hbox{\@showrow4}
+ \hbox{\@showrow3}
+ \hbox{\@showrow2}
\hbox{\@showrow1}}%
- \vrule \@width \boardrule}%
- \hrule \@height \boardrule}%
+ \vrule width1pt}
+ \hrule height1pt}
}
% inner loop needs extra { ... }
-\def\@emptyboard{%
- \@r\@ne
+\def\@emptyboard{
+ \@r=1
\loop
- {\@c\@ne
+ {\@c=1
\loop
- \@set[\@col\the\@r](E)%
- \ifnum\@c<8 \advance\@c \@ne
- \repeat}%
- \ifnum\@r<8 \advance\@r \@ne
+ \@set[\@col\the\@r](E)
+ \ifnum\@c<8 \advance\@c by1
+ \repeat}
+ \ifnum\@r<8 \advance\@r by 1
\repeat
}
-\def\@initboard{%
+\def\@initboard{
% empty squares
- \@r\thr@@
+ \@r=3
\loop
- {\@c\@ne
+ {\@c=1
\loop
- \@set[\@col\the\@r](E)%
- \ifnum\@c<8 \advance\@c \@ne
- \repeat}%
- \ifnum\@r<6 \advance\@r \@ne
+ \@set[\@col\the\@r](E)
+ \ifnum\@c<8 \advance\@c by1
+ \repeat}
+ \ifnum\@r<6 \advance\@r by 1
\repeat
% pawns
- \@c\@ne
+ \@c=1
\loop
- \@set[\@col2](P)\@set[\@col7](p)%
- \ifnum\@c<8 \advance\@c \@ne
+ \@set[\@col2](P)\@set[\@col7](p)
+ \ifnum\@c<8 \advance\@c by1
\repeat
% pieces
- \@set[a1](R)\@set[h1](R)%
- \@set[a8](r)\@set[h8](r)%
- \@set[b1](N)\@set[g1](N)%
- \@set[b8](n)\@set[g8](n)%
- \@set[c1](B)\@set[f1](B)%
- \@set[c8](b)\@set[f8](b)%
- \@set[d1](Q)\@set[e1](K)%
- \@set[d8](q)\@set[e8](k)%
+ \@set[a1](R)\@set[h1](R)
+ \@set[a8](r)\@set[h8](r)
+ \@set[b1](N)\@set[g1](N)
+ \@set[b8](n)\@set[g8](n)
+ \@set[c1](B)\@set[f1](B)
+ \@set[c8](b)\@set[f8](b)
+ \@set[d1](Q)\@set[e1](K)
+ \@set[d8](q)\@set[e8](k)
}
%
@@ -211,8 +207,24 @@
\expandafter\ifx\csname l@#1\endcsname\relax%
\else\ifnum\language=\expandafter\csname l@#1\endcsname\relax#2\fi\fi}
\def\select@pieces{% select pieces depending on language
+ \ifcurrentlanguage{english}{%
\define@White@pieces{K}{Q}{R}{B}{N}{P}
- \define@Black@pieces{k}{q}{r}{b}{n}{p}
+ \define@Black@pieces{k}{q}{r}{b}{n}{p}}
+ \ifcurrentlanguage{dutch}{%
+ \define@White@pieces{K}{D}{T}{L}{P}{I}
+ \define@Black@pieces{k}{d}{t}{l}{p}{i}}
+ \ifcurrentlanguage{german}{%
+ \define@White@pieces{K}{D}{T}{L}{S}{B}
+ \define@Black@pieces{k}{d}{t}{l}{s}{b}}
+ \ifcurrentlanguage{french}{%
+ \define@White@pieces{R}{D}{T}{F}{C}{P}
+ \define@Black@pieces{r}{d}{t}{f}{c}{p}}
+% Define here your language and choose an unique set of uppercase letters
+% for the White pieces (KING, QUEEN, etc.) and the corresponding lowercase
+% letters for the Black pieces (king, queen, etc.).
+% \ifcurrentlanguage{FOREIGN}{%
+% \define@White@pieces{KING}{QUEEN}{ROOK}{BISHOP}{KNIGHT}{PAWN}
+% \define@Black@pieces{king}{queen}{rook}{bishop}{knight}{pawn}}
}
\def\let@pieces#1#2#3#4#5{% let character codes be macros
\let#1=\@king\let#2=\@queen\let#3=\@rook%
@@ -225,7 +237,13 @@
\catcode`:=\active\catcode`.=\active\catcode`*=\active\catcode`-=\active
\activate@pieces
% I would like to say ``\let\king@=\@king'' but how?
- \let@pieces{K}{Q}{R}{B}{N}%
+ \ifcurrentlanguage{english}{\let@pieces{K}{Q}{R}{B}{N}}%
+ \ifcurrentlanguage{dutch}{\let@pieces{K}{D}{T}{L}{P}}%
+ \ifcurrentlanguage{german}{\let@pieces{K}{D}{T}{L}{S}}%
+ \ifcurrentlanguage{french}{\let@pieces{R}{D}{T}{F}{C}}%
+% Fill in your language and the uppercase letters for KING, QUEEN, etc.
+% \ifcurrentlanguage{FOREIGN}{\let@pieces{KING}{QUEEN}{ROOK}{BISHOP}{KNIGHT}}%
+% Your language will be activated by FOREIGN.sty.
\let-=\@dash\let*=\@capt\let:=\@dots\let.=\@dot}%
\gdef\@notation{\begingroup\let|=\endgroup\trigger@pieces}%
%
@@ -246,10 +264,6 @@
\newif\ifWhite \newif\ifFigure \newif\ifcapture
-%FMi
-\def\Whitetrue{\global\let\ifWhite\iftrue}
-\def\Whitefalse{\global\let\ifWhite\iffalse}
-
%
% next newif's needed for castling
%
@@ -262,7 +276,7 @@
\newif\ifenpassant \newif\ifpromotion
-\def\@color#1{% Color of a piece 0: none, -1: black, 1: white
+\def\@color#1{ % Color of a piece 0: none, -1: black, 1: white
\if #1E0\else
\ifnum`#1=\uccode`#11\else-1\fi\fi}
@@ -309,7 +323,7 @@
\ifpromotion\@set[#3#4](\PROM)\else\@set[#3#4](\piece)\fi
\ifenpassant\@set[#3#2](E)\enpassantfalse\fi
\fi
- \Whitefalse
+ \global\Whitefalse
\else % ``same'' for Black
\if\piece p\Figurefalse
\if#43
@@ -347,7 +361,7 @@
\ifpromotion\@set[#3#4](\prom)\else\@set[#3#4](\piece)\fi
\ifenpassant\@set[#3#2](E)\enpassantfalse\fi
\fi
- \Whitetrue
+ \global\Whitetrue
\fi}
%
@@ -371,21 +385,17 @@
\newcount\movecount \movecount=0
-%FMi LaTeX name: allows \setcounter....
-\let\c@movecount\movecount
-
-%FMi LaTeX name \@@line not \line
\def\showmove#1#2{\par
- \@@line{\strut\hbox to1cm{\hfil\the\movecount.}%
+ \line{\strut\hbox to1cm{\hfil\the\movecount.}%
\hbox to2.8cm{\hfil#1}\hbox to2.8cm{\hfil#2}\hfil}\par}
\def\move#1 #2 {
- \advance\movecount \@ne
+ \advance\movecount by 1
\showmove{\@ply#1 }{\@ply#2 }}
\def\ply#1 {
\ifWhite
- \advance\movecount \@ne
+ \advance\movecount by 1
\showmove{\@ply#1 }{}
\else
\showmove{$\ldots$}{\@ply#1 }
@@ -419,7 +429,7 @@
\if\@@next\uc@king \@set[\@col\the\@r](K)\else
\if\@@next\lc@king \@set[\@col\the\@r](k)\else
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
- \advance\@c \@ne}
+ \advance\@c by1}
\def\@initrow#1#2{\@r=#1\@c=1\@dolist#2\@endlist}
@@ -467,7 +477,7 @@
\def\position{\begingroup%
\@emptyboard\movecount=0\xdef\eprow{x}
- \Whitetrue\global\castlingfalse
+ \global\Whitetrue\global\castlingfalse
\global\Knotmovedtrue\global\knotmovedtrue
\global\promotionfalse\global\enpassantfalse}
\def\endposition{\endgroup}
@@ -490,12 +500,12 @@
\def\equal{=}
\def\unclear{\mbox{$\infty$}}
\def\compensation{\mbox{\baselineskip0pt$\vcenter{\vbox{%
- \hbox{\kern.056em\vbox{\hrule \@width 0.89em\kern0.35ex\hrule \@width 0.89em}}
+ \hbox{\kern.056em\vbox{\hrule width0.89em\kern0.35ex\hrule width0.89em}}
\kern.2ex\hbox{$\infty$}}}$}}
% next symbol should be build using METAFONT
\def\devadvantage{{\symbolten\char'015}\kern-4.8pt
- \vrule \@width 2.4pt \@height 6pt \@depth -5.6pt
- \vrule \@width .4pt \@height 8pt \@depth -5.6pt\kern2.4pt}
+ \vrule width 2.4pt height6pt depth-5.6pt
+ \vrule width .4pt height8pt depth-5.6pt\kern2.4pt}
\def\moreroom{{\symbolten\char'015}}
\def\withattack{$\rightarrow$}
\def\withinit{$\uparrow$}
@@ -503,14 +513,14 @@
$\vcenter{\vbox{\hbox{$\leftarrow$}\hbox{$\rightarrow$}}}$}}
\def\zugzwang{$\odot$}
\def\mate{\kern.4pt\mbox{%
- \vrule \@width 2ex \@height 1.18ex \@depth -1.1ex\kern-2ex
- \vrule \@width 2ex \@height .52ex \@depth -.44ex\kern-1.381ex
- \vrule \@width .08ex \@height 1.8ex \@depth .2ex\kern0.615ex
- \vrule \@width .08ex \@height 1.8ex \@depth .2ex\kern0.406ex}\kern.4pt}
+ \vrule width2ex height1.18ex depth-1.1ex\kern-2ex
+ \vrule width2ex height.52ex depth-.44ex\kern-1.381ex
+ \vrule width.08ex height1.8ex depth.2ex\kern0.615ex
+ \vrule width.08ex height1.8ex depth.2ex\kern0.406ex}\kern.4pt}
\def\withidea{$\triangle$}
\def\onlymove{$\Box$}
\def\betteris{\mbox{\baselineskip0pt
- $\vcenter{\vbox{\hbox{$\frown$}\kern-0.35ex\hrule \@width 0.95em}}$}}
+ $\vcenter{\vbox{\hbox{$\frown$}\kern-0.35ex\hrule width0.95em}}$}}
\def\file{$\Leftrightarrow$}
% next symbol should be build using METAFONT
\def\diagonal{$\nearrow$}
@@ -520,28 +530,28 @@
\def\weakpt{$\times$}
\def\ending{$\perp$}
% John Saba's method:
-\def\blackbox{\vrule \@height .8ex \@width 1.2ex \@depth 0ex}
-\def\whitebox{\vbox{\hrule \@height .1pt\hbox{\vrule \@width .1pt\kern.6ex
- \vbox{\kern.8ex}\kern.6ex\vrule \@width .1pt}\hrule \@height .1pt}}
+\def\blackbox{\vrule height .8ex width 1.2ex depth 0ex}
+\def\whitebox{\vbox{\hrule height .1pt\hbox{\vrule width .1pt\kern.6ex
+ \vbox{\kern.8ex}\kern.6ex\vrule width .1pt}\hrule height .1pt}}
\def\bishoppair{\whitebox\kern-2pt\raise1.8pt\hbox{\whitebox}}
\def\opposbishops{\whitebox\kern-2pt\raise1.8pt\hbox{\blackbox}}
\def\samebishops{\blackbox\kern-2pt\raise1.8pt\hbox{\blackbox}}
% My method
%\def\bishoppair{\setbox0=\hbox{%
-% \vrule \@width 1.4ex \@height 1ex \@depth -.92ex\kern-1.4ex
-% \vrule \@width 1.4ex \@height .08ex \@depth 0pt\kern-1.4ex
-% \vrule \@width .08ex \@height 1ex \@depth 0ex\kern1.24ex
-% \vrule \@width .08ex \@height 1ex \@depth 0ex}%
+% \vrule width1.4ex height1ex depth-.92ex\kern-1.4ex
+% \vrule width1.4ex height.08ex depth0pt\kern-1.4ex
+% \vrule width.08ex height1ex depth0ex\kern1.24ex
+% \vrule width.08ex height1ex depth0ex}%
% \kern.4pt\mbox{\copy0\kern-.6ex\raise0.56ex\box0}\kern.4pt}
%\def\opposbishops{\kern.4pt\mbox{%
-% \vrule \@width 1.4ex \@height 1ex \@depth -.92ex\kern-1.4ex
-% \vrule \@width 1.4ex \@height .08ex \@depth 0pt\kern-1.4ex
-% \vrule \@width .08ex \@height 1ex \@depth 0ex\kern1.24ex
-% \vrule \@width .08ex \@height 1ex \@depth 0ex\kern-.6ex
-% \vrule \@width 1.4ex \@height 1.56ex \@depth -0.56ex}\kern.4pt }
+% \vrule width1.4ex height1ex depth-.92ex\kern-1.4ex
+% \vrule width1.4ex height.08ex depth0pt\kern-1.4ex
+% \vrule width.08ex height1ex depth0ex\kern1.24ex
+% \vrule width.08ex height1ex depth0ex\kern-.6ex
+% \vrule width1.4ex height1.56ex depth-0.56ex}\kern.4pt }
%\def\samebishops{\kern.4pt\mbox{%
-% \vrule \@width 1.4ex \@height 1ex \@depth 0ex\kern-.6ex
-% \vrule \@width 1.4ex \@height 1.56ex \@depth -0.56ex}\kern.4pt}
+% \vrule width1.4ex height1ex depth0ex\kern-.6ex
+% \vrule width1.4ex height1.56ex depth-0.56ex}\kern.4pt}
\def\unitedpawns{$\circ\kern-.05em\circ$}
\def\seppawns{$\circ\kern-.3em\cdot\kern-.35em\cdot\kern-.1em\circ$}
\def\doublepawns{\mbox{\baselineskip0pt
@@ -555,12 +565,12 @@
\def\comment{{\sc RR}}
\def\various{{\sc R}}
\def\without{\kern.4pt\mbox{%
- \vrule \@width 1ex \@height .08ex \@depth 0ex\kern-0.08ex
- \vrule \@width 0.08ex \@height 1.5ex \@depth 0ex}\kern.4pt}
+ \vrule width 1ex height.08ex depth0ex\kern-0.08ex
+ \vrule width0.08ex height1.5ex depth0ex}\kern.4pt}
\def\with{\kern.4pt\mbox{%
- \vrule \@width 0.08ex \@height 1.5ex \@depth 0ex\kern-0.08ex
- \vrule \@width 1ex \@height .08ex \@depth 0ex}\kern.4pt}
+ \vrule width 0.08ex height1.5ex depth0ex\kern-0.08ex
+ \vrule width 1ex height.08ex depth0ex}\kern.4pt}
\def\etc{$\parallel$}
-\def\see{\kern.4pt\mbox{\vrule \@width 1em \@height .54ex \@depth -.46ex}\kern.4pt}
-
+\def\see{\kern.4pt\mbox{\vrule width 1em height.54ex depth-.46ex}\kern.4pt}
+\resetat