summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-07-31 00:32:32 +0000
committerKarl Berry <karl@freefriends.org>2008-07-31 00:32:32 +0000
commit0afeedcaa724ef694a1e475f019ddb0472184acc (patch)
tree576832b85fe8e5ee24627f04d2dda34cabe7f115
parentbe371ff8aedc081ba88a978a51bfd97311b3872d (diff)
xskak update (30jul08)
git-svn-id: svn://tug.org/texlive/trunk@9917 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/xskak/README7
-rw-r--r--Master/texmf-dist/doc/latex/xskak/README.TEXLIVE8
-rw-r--r--Master/texmf-dist/source/latex/xskak/xskak-src.dtx239
-rw-r--r--Master/texmf-dist/source/latex/xskak/xskak.ins12
-rw-r--r--Master/texmf-dist/tex/latex/xskak/xskak-keys.sty765
-rw-r--r--Master/texmf-dist/tex/latex/xskak/xskak-nagdef.sty82
-rw-r--r--Master/texmf-dist/tex/latex/xskak/xskak.sty22
7 files changed, 64 insertions, 1071 deletions
diff --git a/Master/texmf-dist/doc/latex/xskak/README b/Master/texmf-dist/doc/latex/xskak/README
index 3a6d34ef8b5..ee4bdcf32a0 100644
--- a/Master/texmf-dist/doc/latex/xskak/README
+++ b/Master/texmf-dist/doc/latex/xskak/README
@@ -1,5 +1,5 @@
-xskak --- An extention to the package skak for chesstypesetting
-Version 1 Ulrike Fischer 2007
+xskak --- An extention to the package skak for chess typesetting
+Version 1.1 Ulrike Fischer 2007
CONTENTS AND INSTALLATION
@@ -10,6 +10,7 @@ CONTENTS AND INSTALLATION
- xskak.pdf
Run TeX/LaTeX on xskak.ins to unpack the dtx.
+
Put the three extracted files in tex/latex/xskak/.
The dtx-file doesn't contain any documentation.
@@ -31,7 +32,7 @@ The main point of xskak is to save informations about a chess game
for later use e.g. to loop through a game to make an animated board.
It also extend the input that the parsing commands can handle and
offer an interface to define and switch between indefinite levels
-of styles.
+of styles.
REQUIREMENTS
diff --git a/Master/texmf-dist/doc/latex/xskak/README.TEXLIVE b/Master/texmf-dist/doc/latex/xskak/README.TEXLIVE
index aa4c4a94726..805971dd179 100644
--- a/Master/texmf-dist/doc/latex/xskak/README.TEXLIVE
+++ b/Master/texmf-dist/doc/latex/xskak/README.TEXLIVE
@@ -1,6 +1,6 @@
+The following files have been removed in the TeX Live installation of
+the current package, typically due to duplication, lack of space, or
+missing source code. You can find these files on CTAN. If questions or
+concerns, email tex-live.org.
-The following files have been removed from the current package
-due to licensing conditions or missing source code. Please find
-these files on the CTAN!
xskak.pdf
-
diff --git a/Master/texmf-dist/source/latex/xskak/xskak-src.dtx b/Master/texmf-dist/source/latex/xskak/xskak-src.dtx
index fc3df809a6a..1aa2f098e09 100644
--- a/Master/texmf-dist/source/latex/xskak/xskak-src.dtx
+++ b/Master/texmf-dist/source/latex/xskak/xskak-src.dtx
@@ -1,9 +1,10 @@
-%<*main>
+%<*xskak>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{xskak}[2007/12/20 version 1.0 extended Chess typesetting and parsing]
-%%Last changes: $Date: 2007-12-20 15:46:21 +0100 (Do, 20 Dez 2007) $
+\def\@rcs@ $#1Date: #2-#3-#4 #5$$#6Version: #7$ {
+ \ProvidesPackage{xskak}[#2/#3/#4 version #7 extended Chess typesetting and parsing]}
+\@rcs@ $Date: 2008-07-29 17:33 +0200 $$Version: v1.1 $
+
-%package option
\newif\ifxskakpdfmatch
\ifcsname pdfmatch\endcsname
@@ -19,37 +20,23 @@
\RequirePackage{xifthen}
\RequirePackage{chessboard}[2007/12/20]
\RequirePackage{xskak-keys}
-%load nag-definitions
\newcommand\chessdiagramname{\ (Diagram)\ }
\RequirePackage{xskak-nagdef}
-
-
%%%%%%%%%%%%%%%%%%%%%
%% Naming conventions
%%%%%%%%%%%%%%%%%%%%%
-% All commands starts with xskak. Exceptions: \newchessgame, \resumechessgame
-% Internal commands use xskak@
%%%%%%%%%%%%%%%%%%%%
%%%%% Initialisation
-% gameid must be set correctly before parsing
-% (with \mainline, \hidemoves)
-% and retrieving with \xskakget
-% (used e.g. in \xskakloop, printing commands, chessboard)
-% it is set by \newchessgame, \resumechessgame, \xskakset
-% and locally in \chessboard with the key id
-% movenr, player must be correct for retrieving with \xskakget.
-% they are set by \xskakset
\newcommand\xskak@val@gameid{game}
\newcommand\xskak@val@movenr{1}
\newcommand\xskak@val@player{w}
\newcommand\xskak@val@type{}
-
\newcommand\xskak@val@defaultmovenr{1}
\newcommand\xskak@val@defaultplayer{w}
\newcommand\xskak@val@defaultmoveid{1w}
@@ -74,7 +61,6 @@
diagramlist,%
gameid}
-
\newcommand\xskak@list@movetypes{%
movenr,%
player,%
@@ -139,12 +125,10 @@
\xskaknewpgninfo[]{blackelo}
\xskaknewpgninfo[]{whiteelo}
-
%%% From skak.sty
\providecommand\CheckTest{}
\providecommand\MateTest{}
-
%%% For the benefit of texmate
\AtBeginDocument{\providecommand\fenposition[1]{}}
@@ -159,17 +143,13 @@
\newboolean{xskakboolcomment}
\newboolean{xskakboolnag}
-
%%%%%%%%%%%%%%%
-% new user commands
%%%%%%%%%%%%%%%
%% Variables
\newcommand\xskakcomment[1]{{#1}}
\newcommand\xskakmovehyphen{\hbox{--\hspace{1pt}}} %or movehyphen from skak?
\newcommand*\xskakenpassanttext{\,e.p.}
-% castlingchar, capturesymbol, castlinghyphen: from chessfss
-
%% set various variables like gameid and move
\newcommand\xskakset[1]{%
@@ -213,25 +193,9 @@
{\csname Xskak\xskak@val@gameid#1\endcsname isn't defined}{}%
\fi}
-
%% getting ref data -> do it through xskakget and xskakgetgame
-%\newcommand*\xskakref[1]{%
-% \ifcsname xskak@tag@\xskak@val@tag @#1\endcsname
-% \csname xskak@tag@\xskak@val@tag @#1\endcsname
-% \else
-% \PackageError{xskak}%
-% {\csname xskak@tag@\xskak@val@tag @#1\endcsname isn't defined}{}%
-% \fi}
-
-
%% starting a new game
-% has as own keys:
-% - id to set the gameid
-% - player to set the next player (is mapped to mover in chessboard)
-% - movenr to set the next movenr (is mapped to fullmove in chessboard)
-% - moveid
-% - defaultid, defaultmoveid, defaultfen
\newcommand\newchessgame[1][]{%
\setkeys*[UFXS]{new}{id,moveid}%
@@ -438,7 +402,6 @@
{\csname Xskak\xskak@val@gameid lastmovenr\endcsname}%
{\csname Xskak\xskak@val@gameid lastplayer\endcsname}}
-%internal version (with argument for game)
\newtest\xskak@test@moveidingame[3]{%number, w or b, gameid
\xskak@test@lessorequal
{\csname Xskak#3initmovenr\endcsname}%
@@ -450,9 +413,6 @@
{\csname Xskak#3lastmovenr\endcsname}%
{\csname Xskak#3lastplayer\endcsname}}
-
-
-
%%%%%%%%%%%%%%%%%%
%% Helper commands
%%%%%%%%%%%%%%%%%%
@@ -462,7 +422,6 @@
\newcommand\xskak@matetest{}
\let\xskak@matetest\mate
-
%%% special fencalculate
%%% Use only inside dothemove to get the correct color and movenumber!}
\def\xskak@specialfencalculate{%
@@ -505,7 +464,6 @@
\def\xskak@split@moveid#1{\afterassignment\xskak@do@storeplayer\count@=#1\@nnil
\edef\xskak@temp@movenr{\the\count@}}
-
%%% tests
%% moveidA < = moveidB
\newtest\xskak@test@lessorequal[4]{%movenr/playerA movenr/playerB
@@ -519,7 +477,6 @@
\)%
\)}%
-% remove spaces from simple comma lists:
\newcommand\xskak@do@sanitizelist[1]{%
\def\xskak@temp@list{}%
\@for\xskak@temp@listentry:=#1\do
@@ -534,7 +491,6 @@
\define@key[UFXS]{inner}{stripspace}{\def\xskak@temp@output{#1}}
-%expandable string comparing (from David Kastrup: strequal
\def\xskak@strequal#1{\number\xskak@strequalstart{}{}#1\relax}
\def\xskak@strequalstart#1#2#3{\if#3\relax\xskak@strequalstop\fi
\xskak@strequalstart{\if#3#1}{#2\fi}}
@@ -545,12 +501,6 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% move related informations
-% Naming
-% Xskak.<GameId>.<MoveNr>.<Player>.<Type of Information> = <value>
-% <GameId>: =\xskak@val@gameid, default: game
-% <MoveNr>: Number, the move counter from skak is used
-% <Player>: w or b
-% <Type of Information>:
%%%% <type> <value>
%%%% pgnpiece K,Q,R,B or N (independent from language). Is empty for Pawn and Castling moves
%%%% piece K,Q,R,B,N or P or k,q,r,b,n or p (for black). Is empty for Castling
@@ -588,8 +538,6 @@
%%%% lan long algebraic notation of the move.
%%%% opennr The number representation for an open move e.g. 2...
%%% Game related informations. Don't use @ or "." to simply use by the user
-% xskak<GameId><type>
-% <Type>:
%%%% gameid stores the gameid (for easier retrieving)
%%%% initfen The fen before the first move. Set by \newchessgame
%%%% initplayer w or b, The color of the next (first) player.
@@ -609,8 +557,6 @@
%%%% nextmoveid combination of nextmovenr+nextmoveplayer
%%%% diagramlist A comma separated list of MovenrPlayer (e.g. 3b,20w). Records the moves with an $d or $D after the move
-
-
%% save the original skak definition
\let\xskak@oriDoTheMove\DoTheMove
@@ -863,6 +809,7 @@
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.check\endcsname
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.mate\endcsname
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.enpassant\endcsname
+ \csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.promotion\endcsname
\expandafter\protected@xdef
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.san\endcsname{%
\Castling
@@ -875,6 +822,9 @@
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.pgnmovefrom\endcsname
\Capture{\noexpand\capturesymbol}{}%
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.moveto\endcsname
+ \ifxskakboolpromotion
+ \noexpand\textsymfigsymbol{\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.promotionpiecechar\endcsname}%
+ \fi
\ifxskakboolenpassant
\noexpand\xskakenpassanttext
\fi
@@ -891,6 +841,7 @@
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.check\endcsname
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.mate\endcsname
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.enpassant\endcsname
+ \csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.promotion\endcsname
\expandafter\protected@xdef
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.lan\endcsname{%
\Castling
@@ -903,6 +854,9 @@
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.movefrom\endcsname
\Capture{\noexpand\capturesymbol}{\noexpand\xskakmovehyphen}%
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.moveto\endcsname
+ \ifxskakboolpromotion
+ \noexpand\textsymfigsymbol{\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.promotionpiecechar\endcsname}%
+ \fi
\ifxskakboolenpassant
\noexpand\xskakenpassanttext
\fi
@@ -971,12 +925,6 @@
\csname Xskak\xskak@val@gameid nextmovenr\endcsname{\the\numexpr\the\c@move+1\relax}%
\expandafter\xdef
\csname Xskak\xskak@val@gameid nextmoveid\endcsname{\the\numexpr\the\c@move+1\relax w}}%
-% \expandafter\show\csname Xskak\xskak@val@gameid \the\c@move.\WhiteToMove{w}{b}.moveto\endcsname
-% \expandafter\show\csname Xskak\xskak@val@gameid lastplayer\endcsname
-% \expandafter\show\csname Xskak\xskak@val@gameid lastmovenr\endcsname
-% \expandafter\show\csname Xskak\xskak@val@gameid nextmovenr\endcsname
-% \expandafter\show\csname Xskak\xskak@val@gameid lastmoveid\endcsname
-% \expandafter\show\csname Xskak\xskak@val@gameid nextmoveid\endcsname
%=============%
% Initialization of the nag-commands (are filled later by \Mainline)%
\expandafter\xdef\csname
@@ -1013,7 +961,6 @@
%%% comments a NAG ($<number>) or text in \xskakcomment{...}
%%% NAG and comments must have spaces between them!
-
%% tests is the argument is a NAG
\def\xskak@test@nag#1#2XX{%
\ifthenelse{\equal{#1}{$}}%
@@ -1123,7 +1070,6 @@
%% overwrite the skak version:
\let\Mainline\xskak@do@parsemainline
-
%% Printing
%%% Styles
@@ -1172,7 +1118,6 @@
\fi}
%% new style items
-%define style @empty
\def\xskak@temp@name{xskak@styleitem@@empty@}%
\setkeys[UFXS]{styleitem}{%
opencommands={},
@@ -1200,35 +1145,16 @@
#1}% %use a possible template.
\setrmkeys[UFXS]{styleitem}}
-
-
-
%%% styles
-% style naming: xskak@style@<name>@<level>@<type>
-% where type = item or font
-%helper
-% if number, don't work if level is e.g. 1a
-%\newcommand\xskak@iflevelnumber[1]{\ifcase 1#1\or
-% \PackageError{xskak}{You can't use '#1'. The level must be a number!}\fi}
-%\newcommand*{\xskak@do@convertstrnr}[1]{#1}%
-
\newcommand*\xskak@do@splitlevel[1]{%
\def\xskak@temp@levelprefix{#1}%
\def\xskak@temp@levelpostfix{}%
\def\xskak@temp@levelnumber{0}}
-
-
\ifxskakpdfmatch
-% \renewcommand*{\xskak@do@convertstrnr}[1]{%
-% \ifnum\pdfmatch{([0-9]+)}{#1}=1 %
-% \expandafter\strip@prefix\pdflastmatch1 %
-% \else
-% 1%
-% \fi}%
\renewcommand*\xskak@do@splitlevel[1]{%
\ifnum\pdfmatch {([^0-9]*)([0-9]+)(.*)}{#1}=1 %
\edef\xskak@temp@levelprefix{\expandafter\strip@prefix\pdflastmatch1}%
@@ -1241,11 +1167,6 @@
\fi}%
\fi
-
-
-
-
-
\newcommand\xskaknewstyle[2][]{%
\begingroup
\def\xskak@temp@name{xskak@style@#2@}%
@@ -1266,7 +1187,6 @@
\fi
}
-
%% using and setting styles:
\newcommand\xskak@use@varstyle[1]{%
\ifcsname xskak@style@\xskak@val@stylename @#1@item\endcsname
@@ -1303,7 +1223,6 @@
\fi
}
-
%% default styles A,B,C,@empty
\xskaknewstyleitem[%
@@ -1312,14 +1231,12 @@
afterwhite=\space,
afterblack=\space]{styleB}
-
\xskaknewstyleitem[%
whiteopen=.,
blackopen=. -,
beforewhite=\space,
beforeblack={,\space}]{styleA}
-
\xskaknewstyleitem[%
opencommands={\begin{tabbing}%
\hspace{.2\linewidth}\=\hspace{.2\linewidth}\=%
@@ -1351,10 +1268,6 @@
beforeNAG=\color{green}\begingroup\normalcolor\ttfamily\textbackslash beforeNAG\endgroup\ ,
]{showcommands}
-
-
-
-
\xskaknewstyle[level= 1,styleitem=styleB,font=\bfseries,
level= 3,font=\itshape]{styleB}
@@ -1367,15 +1280,12 @@
\xskaknewstyle[level= 1,styleitem=@empty,font=\bfseries]{@empty}
-
\xskaknewstyle[level= 1,styleitem=UF,font=\bfseries,
level= 3,font=\itshape]{UF}
-
\xskaknewstyle[level= 1,styleitem=showcommands,font=\begingroup\ttfamily\textbackslash mainlinestyle\endgroup\ ,
level= 2,font=\begingroup\ttfamily\textbackslash variationstyle\endgroup\ ]{test}
-
%% default level and style
\xskakset{style=styleB,level=1}
@@ -1471,9 +1381,6 @@
\endgroup
}
-
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% Corrections/changes of skak commands %%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1481,7 +1388,6 @@
%%% changed \mainline and \variation for style/level handling
%%% (added optional argument)
-
\renewcommand\mainline[1][]{%
\setkeys[UFXS]{print}{#1}%
\begingroup\catcode`\#=12 \@mainline}
@@ -1490,8 +1396,6 @@
\setkeys[UFXS]{print}{#1}%
\begingroup\catcode`\#=12 \@variation}
-
-
%%% Read/store commands
%% changed to avoid the use of to much write/read registers
%% ?? What did I mean? changed \FenBoard to \fenboard in \loadgame/restoregame
@@ -1510,11 +1414,6 @@
\closein0%
\expandafter\fenboard\expandafter{\load@read}}
-% disabled until I remember what it was for.
-%\def\restoregame#1{%
-% \edef\restore@temp{\csname chessgame.#1\endcsname}
-% \expandafter\fenboard\expandafter{\restore@temp}}
-
%%%% ExecutePawnMove changed:
%%%% moved \xdef of EnPassantSquare before DoTheMove
@@ -1539,7 +1438,6 @@
{\Set{\MoveTo}{\PieceNameToPiece{\PromotionPieceName}{\WhiteToMove}}}%
{}}
-
%%% the internal longmove command changed to get correct pawn moves:
\def\xskak@do@printmove@algebraic{%
@@ -1557,11 +1455,13 @@
\def\shortmoves{%
\let\printmove=\printmove@san
\gdef\xskak@do@printmove{\xskakget{san}}}
-%</main>
-%<*keys>
-\ProvidesFile{xskak-keys.sty}[2007/12/20 key definitions for xskak.sty v1]
+\endinput
+%</xskak>
+%<*xskak-keys>
+\def\@rcs@ $#1Date: #2-#3-#4 #5$$#6Version: #7$ {
+ \ProvidesFile{xskak-keys}[#2/#3/#4 version #7 key definitions for xskak.sty #7]}
+\@rcs@ $Date: 2008-07-29 16:45 +0200 $$Version: v1.1 $
-%families: new, set, res, loop, styleitem, style, print, xprint
%%%%%%%%%%%%%%%%%%%%%
%%%% Keys
@@ -1584,15 +1484,7 @@
\xdef\xskak@val@movenr{\csname Xskak#1lastmovenr\endcsname}%
\xdef\xskak@val@player{\csname Xskak#1lastplayer\endcsname}}%
-%\define@key[UFXS]{new}{lastmoveid}[\xskak@val@gameid]{%
-% \ifcsname Xskak#1initfen\endcsname
-% \xdef\xskak@val@gameid{#1}%
-% \else\PackageError{xskak}{Game with the id #1 doesn't exist.}{}%
-% \fi
-% \xdef\xskak@val@movenr{\csname Xskak\xskak@val@gameid lastmovenr\endcsname}%
-% \xdef\xskak@val@player{\csname Xskak\xskak@val@gameid lastplayer\endcsname}}%
-% ref-keys
\define@key[UFXS]{new}{reftag}{%
\xdef\xskak@val@currenttag{#1}}
@@ -1664,9 +1556,7 @@
\PackageError{xskak}{Unknown tag #1}{}%
\fi}
-
%% \xskakset: fam set
-% copies from fam new:
\define@key[UFXS]{set}{id}[\xskak@val@defaultid]{\UFXS@new@id{#1}}
\define@key[UFXS]{set}{movenr}{\UFXS@new@moveid{#1}}
@@ -1704,9 +1594,6 @@
\xdef\xskak@val@movenr{\csname Xskak\xskak@val@gameid lastmovenr\endcsname}%
\xdef\xskak@val@player{\csname Xskak\xskak@val@gameid lastplayer\endcsname}}%
-
-
-% keys only in fam set:
\define@key[UFXS]{set}{defaultmoveid}{%
\edef\@tempa{#1}\xskak@split@moveid{\@tempa}%
%\xdef\xskak@val@movedefaultid{#1}%
@@ -1719,7 +1606,6 @@
\define@key[UFXS]{set}{defaultplayer}{%
\xdef\xskak@val@defaultplayer{#1}}
-
\define@key[UFXS]{set}{defaultid}{\gdef\xskak@val@defaultid{#1}}
\define@key[UFXS]{set}{defaultfen}{\gdef\xskak@val@defaultfen{#1}}
@@ -1757,8 +1643,6 @@
\UFXS@new@reftag{#1}}
-% refkeys for fam set
-
\define@key[UFXS]{set}{refid}{%
\UFXS@new@refid{#1}}
@@ -1786,7 +1670,6 @@
\define@key[UFXS]{set}{refnext}{%
\UFXS@new@refnext{#1}}
-%set style: normal is local
\define@key[UFXS]{set}{style}{%
\ifcsname xskak@style@#1@1@item\endcsname
\def\xskak@val@stylename{#1}%
@@ -1797,15 +1680,12 @@
\else
\csname xskak@style@#1@\xskak@temp@levelnumber @xfont\endcsname
\fi
- \csname xskak@style@#1@\xskak@val@curlevel @font\endcsname}
+ \csname xskak@style@#1@\xskak@val@curlevel @font\endcsname}%
\let\variationstyle\mainlinestyle
\else
\PackageError{xskak}{Style #1 doesn't exist!}{}
\fi}
-
-
-% special key for global setting
\define@key[UFXS]{set}{gstyle}{%
\ifcsname xskak@style@#1@1@item\endcsname
\xdef\xskak@val@stylename{#1}%
@@ -1816,24 +1696,19 @@
\else
\csname xskak@style@#1@\xskak@temp@levelnumber @xfont\endcsname
\fi
- \csname xskak@style@#1@\xskak@val@curlevel @font\endcsname}
+ \csname xskak@style@#1@\xskak@val@curlevel @font\endcsname}%
\global\let\variationstyle\mainlinestyle
\else
\PackageError{xskak}{Style #1 doesn't exist!}{}
\fi}
-% level setting. normal is local
-
\define@key[UFXS]{set}{level}{%
\edef\xskak@val@curlevel{#1}}%
-%special key for local:
\define@key[UFXS]{set}{glevel}{%
\xdef\xskak@val@curlevel{#1}}%
-
-
\define@key[UFXS]{set}{invar}[]{%
\ifxskakpdfmatch
\xskak@do@splitlevel{\xskak@val@curlevel}%
@@ -1868,7 +1743,6 @@
\the\numexpr\xskak@val@curlevel+1\relax}%
\fi}
-
\define@key[UFXS]{set}{outvar}[]{%
\ifxskakpdfmatch
\xskak@do@splitlevel{\xskak@val@curlevel}%
@@ -1917,9 +1791,6 @@
\fi
\fi}
-
-
-
%% \resumechessgame: fam res
\define@key[UFXS]{res}{id}{\UFXS@new@id{#1}}
@@ -1935,7 +1806,6 @@
\def\xskak@temp@movenr{\csname Xskak\xskak@val@gameid lastmovenr\endcsname}%
\def\xskak@temp@player{\csname Xskak\xskak@val@gameid lastplayer\endcsname}}%
-% refkeys for fam res
\define@key[UFXS]{res}{reftag}{%
\UFXS@new@reftag{#1}}
@@ -1967,28 +1837,21 @@
\define@key[UFXS]{res}{refnext}{%
\UFXS@new@refnext{#1}}
-
-
-
-
%% pgn-keys are defined during definition.
%%% xskakexportgames
\define@key[UFXS]{export}{file}{\edef\xskak@val@exportfile{#1.xsk}}
\define@key[UFXS]{export}{games}{\edef\xskak@val@exportgames{#1}}
-
%%% xskakloop
\define@key[UFXS]{loop}{id}{\UFXS@new@id{#1}}
\define@key[UFXS]{loop}{reftag}{%
\UFXS@new@reftag{#1}}
-
\define@key[UFXS]{loop}{refid}{%
\UFXS@new@refid{#1}}
-
\define@key[UFXS]{loop}{initmoveid}{%
\xskak@split@moveid{#1}%
\global\let\xskak@val@movenr\xskak@temp@movenr
@@ -2015,13 +1878,10 @@
\define@boolkey[UFXS]{loop}{showlast}[true]{}
-
%%
%% style items.
-%style item naming: xskak@styleitem@<name>@<type>
%% keys
-%style item naming: xskak@styleitem@<name>@<type>
\define@key[UFXS]{styleitem}{whiteopen}{%
\expandafter\gdef\csname\xskak@temp@name whiteopen\endcsname{#1}}
\define@key[UFXS]{styleitem}{blackopen}{%
@@ -2045,7 +1905,6 @@
\define@key[UFXS]{styleitem}{beforeNAG}{%
\expandafter\gdef\csname\xskak@temp@name xskak@beforeNAG\endcsname{#1}}
-
\define@key[UFXS]{styleiteminit}{template}{% from #1 to current style. Make sure to have set temp@name correctly!
\xskak@do@copystyleitem{xskak@styleitem@#1@}{\xskak@temp@name}}
@@ -2057,7 +1916,6 @@
\define@key[UFXS]{style}{font}{%
\expandafter\gdef\csname\xskak@temp@name\xskak@val@curlevel @font\endcsname{#1}}
-
\define@key[UFXS]{style}{styleitem}{%
\ifcsname xskak@styleitem@#1@whiteopen\endcsname
\expandafter\xdef
@@ -2066,7 +1924,6 @@
\PackageError{xskak}{style item #1 doesn't exist!}{}%
\fi}
-
\define@key[UFXS]{style}{xfont}{%
\xskak@do@splitlevel{\xskak@val@curlevel}%
\ifnum\xskak@temp@levelnumber=0\relax
@@ -2075,33 +1932,27 @@
\expandafter\gdef\csname\xskak@temp@name\xskak@temp@levelnumber @xfont\endcsname{#1}%
\fi}
-
-
%% printing
%% style and level for all printing commands
\define@key[UFXS]{print}{style}{%
\UFXS@set@style{#1}}
-
\define@key[UFXS]{print}{gstyle}{%
\UFXS@set@gstyle{#1}}
-
\define@key[UFXS]{print}{level}{%
\edef\xskak@val@curlevel{#1}}%
\define@key[UFXS]{print}{glevel}{%
\xdef\xskak@val@curlevel{#1}}%
-
\define@key[UFXS]{print}{invar}[]{%
\UFXS@set@invar{#1}}
\define@key[UFXS]{print}{outvar}[]{%
\UFXS@set@outvar{#1}}
-
%% keys only for \printchessgame
\define@key[UFXS]{xprint}{id}{\def\xskak@val@gameid{#1}}
\define@key[UFXS]{xprint}{initmoveid}{%
@@ -2126,7 +1977,6 @@
\define@key[UFXS]{xprint}{stopplayer}{%
\def\xskak@val@stopplayer{#1}}
-% refkeys for fam xprint
\define@key[UFXS]{xprint}{reftag}{%
\UFXS@new@reftag{#1}}
@@ -2137,11 +1987,6 @@
\PackageError{xskak}{Unknown tag #1}{}%
\fi}
-
-
-
-
-
%% new keys for chessboard. Move to chessboard.sty??
%% empty keys to avoid errors:
@@ -2150,9 +1995,6 @@
\define@key[UFCB]{locfill}{defaultid}{}%
\define@key[UFCB]{locfill}{defaultmoveid}{}%
\define@key[UFCB]{locfill}{defaultfen}{}%
-%\define@key[UFCB]{locfill}{stepmoveid}[]{}
-
-
%% real keys (should also be defined in fam glofill):
\define@key[UFCB]{locfill}{id}[\xskak@val@defaultid]{%
@@ -2165,7 +2007,6 @@
\define@key[UFCB]{glofill}{id}[\xskak@val@defaultid]{%
\board@do@l@addto@macro\board@val@savedkeylist{,id=#1}}%
-
\define@key[UFCB]{locfill}{moveid}{%
\edef\@tempa{#1}\xskak@split@moveid{\@tempa}%
\let\xskak@val@movenr\xskak@temp@movenr
@@ -2197,14 +2038,11 @@
\define@key[UFCB]{glofill}{stepmoveid}{%
\board@do@l@addto@macro\board@val@savedkeylist{,stepmoveid=#1}}%
-
-
\define@key[UFCB]{locfill}{player}{\def\xskak@val@player{#1}}%
\define@key[UFCB]{glofill}{player}{%
\board@do@l@addto@macro\board@val@savedkeylist{,player=#1}}%
-
\define@key[UFCB]{locfill}{movenr}{\def\xskak@val@movenr{#1}}%
\define@key[UFCB]{glofill}{movenr}{%
@@ -2221,14 +2059,12 @@
\define@key[UFCB]{glofill}{newvar}{%
\board@do@l@addto@macro\board@val@savedkeylist{,newvar=#1}}%
-
\define@key[UFCB]{locfill}{reftag}{%
\edef\xskak@val@currenttag{#1}}
\define@key[UFCB]{glofill}{reftag}{%
\board@do@l@addto@macro\board@val@savedkeylist{,reftag=#1}}%
-
\define@key[UFCB]{locfill}{lastmoveid}[\xskak@val@gameid]{%
\ifcsname Xskak#1initfen\endcsname
\edef\xskak@val@gameid{#1}%
@@ -2242,8 +2078,6 @@
\define@key[UFCB]{glofill}{lastmoveid}{%
\board@do@l@addto@macro\board@val@savedkeylist{,lastmoveid=#1}}%
-
-
\define@key[UFCB]{locfill}{refid}{%
\ifcsname xskak@tag@#1@refid\endcsname
\UFCB@locfill@id{\csname xskak@tag@#1@refid\endcsname}%
@@ -2254,7 +2088,6 @@
\define@key[UFCB]{glofill}{refid}{%
\board@do@l@addto@macro\board@val@savedkeylist{,refid=#1}}%
-
\define@key[UFCB]{locfill}{refpastmovenr}{%
\ifcsname xskak@tag@#1@refid\endcsname
\UFCB@locfill@movenr{\csname xskak@tag@#1@refpastmovenr\endcsname}%
@@ -2265,7 +2098,6 @@
\define@key[UFCB]{glofill}{refpastmovenr}{%
\board@do@l@addto@macro\board@val@savedkeylist{,refpastmovenr=#1}}%
-
\define@key[UFCB]{locfill}{refnextmovenr}{%
\ifcsname xskak@tag@#1@refid\endcsname
\PackageError{xskak}{Unknown tag #1}{}%
@@ -2275,8 +2107,6 @@
\define@key[UFCB]{glofill}{refnextmovenr}{%
\board@do@l@addto@macro\board@val@savedkeylist{,refnextmovenr=#1}}%
-
-
\define@key[UFCB]{locfill}{refpastplayer}{%
\ifcsname xskak@tag@#1@refid\endcsname
\UFCB@locfill@player{\csname xskak@tag@#1@refpastplayer\endcsname}%
@@ -2287,7 +2117,6 @@
\define@key[UFCB]{glofill}{refpastplayer}{%
\board@do@l@addto@macro\board@val@savedkeylist{,refpastplayer=#1}}%
-
\define@key[UFCB]{locfill}{refnextplayer}{%
\ifcsname xskak@tag@#1@refid\endcsname
\UFCB@locfill@player{\csname xskak@tag@#1@refnextplayer\endcsname}%
@@ -2298,8 +2127,6 @@
\define@key[UFCB]{glofill}{refnextplayer}{%
\board@do@l@addto@macro\board@val@savedkeylist{,refnextplayer=#1}}%
-
-
\define@key[UFCB]{locfill}{refpastmoveid}{%
\ifcsname xskak@tag@#1@refid\endcsname
\UFCB@locfill@moveid{\csname xskak@tag@#1@refpastmoveid\endcsname}%
@@ -2310,7 +2137,6 @@
\define@key[UFCB]{glofill}{refpastmoveid}{%
\board@do@l@addto@macro\board@val@savedkeylist{,refpastmoveid=#1}}%
-
\define@key[UFCB]{locfill}{refnextmoveid}{%
\ifcsname xskak@tag@#1@refid\endcsname
\UFCB@locfill@moveid{\csname xskak@tag@#1@refnextmoveid\endcsname}%
@@ -2321,8 +2147,6 @@
\define@key[UFCB]{glofill}{refnextmoveid}{%
\board@do@l@addto@macro\board@val@savedkeylist{,refnextmoveid=#1}}%
-
-
\define@key[UFCB]{locfill}{refpast}{%
\ifcsname xskak@tag@#1@refid\endcsname
\UFCB@locfill@movenr{\csname xskak@tag@#1@refpastmovenr\endcsname}%
@@ -2334,7 +2158,6 @@
\define@key[UFCB]{glofill}{refpast}{%
\board@do@l@addto@macro\board@val@savedkeylist{,refpast=#1}}%
-
\define@key[UFCB]{locfill}{refnext}{%
\ifcsname xskak@tag@#1@refid\endcsname
\UFCB@locfill@movenr{\csname xskak@tag@#1@refnextmovenr\endcsname}%
@@ -2346,7 +2169,6 @@
\define@key[UFCB]{glofill}{refnext}{%
\board@do@l@addto@macro\board@val@savedkeylist{,refnext=#1}}%
-
\define@key[UFCB]{locfill}{refpast}{%
\ifcsname xskak@tag@#1@refid\endcsname
\UFCB@locfill@movenr{\csname xskak@tag@#1@refpastmovenr\endcsname}%
@@ -2358,7 +2180,6 @@
\define@key[UFCB]{glofill}{refpast}{%
\board@do@l@addto@macro\board@val@savedkeylist{,refpast=#1}}%
-
\define@key[UFCB]{locfill}{reffen}{%
\ifcsname xskak@tag@#1@refid\endcsname
\UFCB@locfill@addfen{%
@@ -2376,7 +2197,7 @@
\define@key[UFCB]{glofill}{reffen}{%
\board@do@l@addto@macro\board@val@savedkeylist{,reffen=#1}}%
-%% currently no described. Perhaps delete. Perhaps change name to adapt to ref-keys?
+%% currently not described. Perhaps delete. Perhaps change name to adapt to ref-keys?
\define@key[UFCB]{locfill}{setgame}[\xskak@val@gameid]{%
\ifcsname Xskak#1initfen\endcsname
\edef\xskak@val@gameid{#1}%
@@ -2389,7 +2210,7 @@
\define@key[UFCB]{glofill}{setgame}[\xskak@val@gameid]{%
\board@do@l@addto@macro\board@val@savedkeylist{,showgame=#1}}%
-%% currently no described. Perhaps delete. Perhaps change name to adapt to ref-keys?
+%% currently not described. Perhaps delete. Perhaps change name to adapt to ref-keys?
\define@key[UFCB]{locfill}{addgame}[\xskak@val@gameid]{%
\ifcsname Xskak#1initfen\endcsname
\edef\xskak@val@gameid{#1}%
@@ -2400,9 +2221,12 @@
\define@key[UFCB]{glofill}{addgame}[\xskak@val@gameid]{%
\board@do@l@addto@macro\board@val@savedkeylist{,showgame=#1}}%
-%</keys>
-%<*nag>
- \ProvidesFile{xskak-nagdef.sty}[2007/12/20 NAG definitions for xskak.sty v1]
+\endinput
+%</xskak-keys>
+%<*xskak-nagdef>
+\def\@rcs@ $#1Date: #2-#3-#4 #5$$#6Version: #7$ {
+ \ProvidesFile{xskak-nagdef}[#2/#3/#4 version #7 nag definitions for xskak.sty #7]}
+\@rcs@ $Date: 2008-07-29 16:45 +0200 $$Version: v1.1 $
\expandafter\def\csname $1\endcsname{!}
\expandafter\def\csname $2\endcsname{?}
@@ -2480,4 +2304,7 @@
\expandafter\def\csname $146\endcsname{\novelty}
\expandafter\def\csname $D\endcsname{\chessdiagramname}
\expandafter\def\csname $d\endcsname{}
-%</nag>
+\endinput
+%%
+%% End of file `xskak-nagdef.sty'.
+%</xskak-nagdef>
diff --git a/Master/texmf-dist/source/latex/xskak/xskak.ins b/Master/texmf-dist/source/latex/xskak/xskak.ins
index 36656047703..eff7437e74e 100644
--- a/Master/texmf-dist/source/latex/xskak/xskak.ins
+++ b/Master/texmf-dist/source/latex/xskak/xskak.ins
@@ -2,7 +2,7 @@
%% This file will generate fast loadable files from xskak-src.dtx
%% when run through LaTeX or TeX.
%%
-%% This file is part of the LaTeX2e package chessboard
+%% This file is part of the LaTeX2e package xskak
%% ---------------------------------------------------
%%
%% This system is distributed in the hope that it will be useful,
@@ -49,7 +49,7 @@
\declarepreamble\UFpreamble
xskak: an extension to the package skak for chess typesetting
-Copyright 2007 UlrikeFischer (skak@nililand.de)
+Copyright 2007 Ulrike Fischer (skak@nililand.de)
-------------------------------------------
This file can be redistributed and/or modified under the terms of
@@ -66,11 +66,11 @@ For error reports see documentation.
\generate{%
\usepreamble\UFpreamble
%% style
- \file{xskak.sty}{\from{xskak-src.dtx}{main}}
- \file{xskak-keys.sty}{\from{xskak-src.dtx}{keys}}
- \file{xskak-nagdef.sty}{\from{xskak-src.dtx}{nag}}
+ \file{xskak.sty}{\from{xskak-src.dtx}{xskak}}
+ \file{xskak-keys.sty}{\from{xskak-src.dtx}{xskak-keys}}
+ \file{xskak-nagdef.sty}{\from{xskak-src.dtx}{xskak-nagdef}}
}
\endbatchfile
%%
-%% end of file `scrclass.ins'
+%% end of file `xskak.ins'
diff --git a/Master/texmf-dist/tex/latex/xskak/xskak-keys.sty b/Master/texmf-dist/tex/latex/xskak/xskak-keys.sty
index aee7a402343..bb29aa17c2b 100644
--- a/Master/texmf-dist/tex/latex/xskak/xskak-keys.sty
+++ b/Master/texmf-dist/tex/latex/xskak/xskak-keys.sty
@@ -4,10 +4,10 @@
%%
%% The original source files were:
%%
-%% xskak-src.dtx (with options: `keys')
+%% xskak-src.dtx (with options: `xskak-keys')
%%
%% xskak: an extension to the package skak for chess typesetting
-%% Copyright 2007 UlrikeFischer (skak@nililand.de)
+%% Copyright 2007 Ulrike Fischer (skak@nililand.de)
%% -------------------------------------------
%%
%% This file can be redistributed and/or modified under the terms of
@@ -16,767 +16,6 @@
%% License, or (at your option) any later version.
%%
%% For error reports see documentation.
-\ProvidesFile{xskak-keys.sty}[2007/12/20 key definitions for xskak.sty v1]
-
-
-%%%%%%%%%%%%%%%%%%%%%
-%%%% Keys
-%%%%%%%%%%%%%%%%%%%%%
-%% \newchessgame: fam: new
-\define@key[UFXS]{new}{id}[\xskak@val@defaultid]{\xdef\xskak@val@gameid{#1}}
-
-\define@key[UFXS]{new}{movenr}{\xdef\xskak@val@movenr{#1}}
-
-\define@key[UFXS]{new}{player}{\xdef\xskak@val@player{#1}}
-
-\define@key[UFXS]{new}{moveid}[\xskak@val@defaultmovenr\xskak@val@defaultplayer]{%
- \edef\@tempa{#1}%
- \xskak@split@moveid{\@tempa}%
- \global\let\xskak@val@movenr\xskak@temp@movenr
- \global\let\xskak@val@player\xskak@temp@player}
-
-\define@key[UFXS]{new}{newvar}[\xskak@val@gameid]{%
- \xdef\xskak@val@refgameid{#1}%
- \xdef\xskak@val@movenr{\csname Xskak#1lastmovenr\endcsname}%
- \xdef\xskak@val@player{\csname Xskak#1lastplayer\endcsname}}%
-
-
-
-\define@key[UFXS]{new}{reftag}{%
- \xdef\xskak@val@currenttag{#1}}
-
-\define@key[UFXS]{new}{refid}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFXS@new@id{\csname xskak@tag@#1@refid\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFXS]{new}{refpastmovenr}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFXS@new@movenr{\csname xskak@tag@#1@refpastmovenr\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFXS]{new}{refnextmovenr}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFXS@new@movenr{\csname xskak@tag@#1@refnextmovenr\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFXS]{new}{refpastplayer}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFXS@new@movenr{\csname xskak@tag@#1@refpastmovenr\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFXS]{new}{refnextplayer}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFXS@new@player{\csname xskak@tag@#1@refnextplayer\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFXS]{new}{refpastmoveid}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFXS@new@moveid{%
- \csname xskak@tag@#1@refpastmovenr\endcsname
- \csname xskak@tag@#1@refpastplayer\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFXS]{new}{refnextmoveid}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi
- \UFXS@new@moveid{%
- \csname xskak@tag@#1@refnextmovenr\endcsname
- \csname xskak@tag@#1@refnextplayer\endcsname}}
-
-\define@key[UFXS]{new}{refpast}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi
- \UFXS@new@refpastmoveid{#1}%
- \UFXS@new@refid{#1}}
-
-\define@key[UFXS]{new}{refnext}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFXS@new@refnextmoveid{#1}%
- \UFXS@new@refid{#1}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-%% \xskakset: fam set
-\define@key[UFXS]{set}{id}[\xskak@val@defaultid]{\UFXS@new@id{#1}}
-
-\define@key[UFXS]{set}{movenr}{\UFXS@new@moveid{#1}}
-
-\define@key[UFXS]{set}{player}{\UFXS@new@player{#1}}
-
-\define@key[UFXS]{set}{moveid}[\xskak@val@defaultmovenr\xskak@val@defaultplayer]{%
- \UFXS@new@moveid{#1}}%
-
-\define@key[UFXS]{set}{stepmoveid}[1]{%
- \count@=#1\relax
- \ifthenelse{\the\count@>0}
- {\whiledo{\the\count@>0}%
- {\xskak@do@getnextmoveid{\xskak@val@movenr}{\xskak@val@player}%
- \advance\count@ by -1%
- \global\let\xskak@val@movenr\xskak@temp@movenr
- \global\let\xskak@val@player\xskak@temp@player}%
- }%
- {\ifthenelse{\the\count@=0}%
- {}%
- {\whiledo{\the\count@<0}%
- {\xskak@do@getpreviousmoveid{\xskak@val@movenr}{\xskak@val@player}%
- \advance\count@ by 1%
- \global\let\xskak@val@movenr\xskak@temp@movenr
- \global\let\xskak@val@player\xskak@temp@player}%
- \ifthenelse{\the\count@<1}%
- {\PackageWarning{xskak}{Move number below 1!}{}}%
- {}}}}
-
-\define@key[UFXS]{set}{lastmoveid}[\xskak@val@gameid]{%
- \ifcsname Xskak#1initfen\endcsname
- \xdef\xskak@val@gameid{#1}%
- \else\PackageError{xskak}{Game with the id #1 doesn't exist.}{}%
- \fi
- \xdef\xskak@val@movenr{\csname Xskak\xskak@val@gameid lastmovenr\endcsname}%
- \xdef\xskak@val@player{\csname Xskak\xskak@val@gameid lastplayer\endcsname}}%
-
-\define@key[UFXS]{set}{defaultmoveid}{%
- \edef\@tempa{#1}\xskak@split@moveid{\@tempa}%
- %\xdef\xskak@val@movedefaultid{#1}%
- \xdef\xskak@val@defaultmovenr{\xskak@temp@movenr}%
- \xdef\xskak@val@defaultplayer{\xskak@temp@player}}
-
-\define@key[UFXS]{set}{defaultmovenr}{%
- \xdef\xskak@val@defaultmovenr{#1}}
-
-\define@key[UFXS]{set}{defaultplayer}{%
- \xdef\xskak@val@defaultplayer{#1}}
-
-\define@key[UFXS]{set}{defaultid}{\gdef\xskak@val@defaultid{#1}}
-
-\define@key[UFXS]{set}{defaultfen}{\gdef\xskak@val@defaultfen{#1}}
-
-\define@key[UFXS]{set}{tag}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \PackageWarning{xskak}{Overwrite tag name #1}{}%
- \fi
- \expandafter\xdef
- \csname xskak@tag@#1@refid\endcsname{\xskak@val@gameid}%
- \ifnum\the\c@move=0
- \PackageWarning{xskak}{You haven't started a game yet. I won't set a tag!}{}%
- \else
- \expandafter\xdef
- \csname xskak@tag@#1@refnextmovenr\endcsname{\the\c@move}%
- \expandafter\xdef
- \csname xskak@tag@#1@refnextplayer\endcsname{\WhiteToMove{w}{b}}%
- \expandafter\xdef
- \csname xskak@tag@#1@refpastplayer\endcsname{\WhiteToMove{b}{w}}%
- \expandafter\xdef
- \csname xskak@tag@#1@refnextmoveid\endcsname{\the\c@move\WhiteToMove{w}{b}}%
- \WhiteToMove
- {\expandafter\xdef
- \csname xskak@tag@#1@refpastmovenr\endcsname{\the\numexpr\the\c@move-1\relax}}
- {\expandafter\xdef
- \csname xskak@tag@#1@refpastmovenr\endcsname{\the\c@move}}
- \expandafter\xdef
- \csname xskak@tag@#1@refpastmoveid\endcsname{%
- \csname xskak@tag@#1@refpastmovenr\endcsname
- \csname xskak@tag@#1@refpastplayer\endcsname}%
- \fi
- }
-
-\define@key[UFXS]{set}{reftag}{%
- \UFXS@new@reftag{#1}}
-
-
-\define@key[UFXS]{set}{refid}{%
- \UFXS@new@refid{#1}}
-
-\define@key[UFXS]{set}{refpastmovenr}{%
- \UFXS@new@refpastmovenr{#1}}
-
-\define@key[UFXS]{set}{refnextmovenr}{%
- \UFXS@new@refnextmovenr{#1}}
-
-\define@key[UFXS]{set}{refpastplayer}{%
- \UFXS@new@refpastplayer{#1}}
-
-\define@key[UFXS]{set}{refnextplayer}{%
- \UFXS@new@refnextplayer{#1}}
-
-\define@key[UFXS]{set}{refpastmoveid}{%
- \UFXS@new@refpastmoveid{#1}}
-
-\define@key[UFXS]{set}{refnextmoveid}{%
- \UFXS@new@refnextmoveid{#1}}
-
-\define@key[UFXS]{set}{refpast}{%
- \UFXS@new@refpast{#1}}
-
-\define@key[UFXS]{set}{refnext}{%
- \UFXS@new@refnext{#1}}
-
-\define@key[UFXS]{set}{style}{%
- \ifcsname xskak@style@#1@1@item\endcsname
- \def\xskak@val@stylename{#1}%
- \def\mainlinestyle{%
- \xskak@use@varstyle{\xskak@val@curlevel}%
- \xskak@do@splitlevel{\xskak@val@curlevel}%
- \ifnum\xskak@temp@levelnumber=0\relax
- \else
- \csname xskak@style@#1@\xskak@temp@levelnumber @xfont\endcsname
- \fi
- \csname xskak@style@#1@\xskak@val@curlevel @font\endcsname}
- \let\variationstyle\mainlinestyle
- \else
- \PackageError{xskak}{Style #1 doesn't exist!}{}
- \fi}
-
-\define@key[UFXS]{set}{gstyle}{%
- \ifcsname xskak@style@#1@1@item\endcsname
- \xdef\xskak@val@stylename{#1}%
- \gdef\mainlinestyle{%
- \xskak@use@varstyle{\xskak@val@curlevel}%
- \xskak@do@splitlevel{\xskak@val@curlevel}%
- \ifnum\xskak@temp@levelnumber=0\relax
- \else
- \csname xskak@style@#1@\xskak@temp@levelnumber @xfont\endcsname
- \fi
- \csname xskak@style@#1@\xskak@val@curlevel @font\endcsname}
- \global\let\variationstyle\mainlinestyle
- \else
- \PackageError{xskak}{Style #1 doesn't exist!}{}
- \fi}
-
-
-\define@key[UFXS]{set}{level}{%
- \edef\xskak@val@curlevel{#1}}%
-
-\define@key[UFXS]{set}{glevel}{%
- \xdef\xskak@val@curlevel{#1}}%
-
-\define@key[UFXS]{set}{invar}[]{%
- \ifxskakpdfmatch
- \xskak@do@splitlevel{\xskak@val@curlevel}%
- \ifnum\xskak@temp@levelnumber=0\relax
- \PackageWarning{xskak}{key invar ignored}{}%
- \else
- \edef\xskak@val@curlevel{%
- \xskak@temp@levelprefix
- \the\numexpr\xskak@temp@levelnumber+1\relax
- \xskak@temp@levelpostfix}%
- \fi
- \else
- %% no pdfmatch. Will give an error if the level is not a number
- \edef\xskak@val@curlevel{%
- \the\numexpr\xskak@val@curlevel+1\relax}%
- \fi}
-
-\define@key[UFXS]{set}{ginvar}[]{%
- \ifxskakpdfmatch
- \xskak@do@splitlevel{\xskak@val@curlevel}%
- \ifnum\xskak@temp@levelnumber=0\relax
- \PackageWarning{xskak}{key ginvar ignored}{}%
- \else
- \xdef\xskak@val@curlevel{%
- \xskak@temp@levelprefix
- \the\numexpr\xskak@temp@levelnumber+1\relax
- \xskak@temp@levelpostfix}%
- \fi
- \else
- %% no pdfmatch. Will give an error if the level is not a number
- \xdef\xskak@val@curlevel{%
- \the\numexpr\xskak@val@curlevel+1\relax}%
- \fi}
-
-\define@key[UFXS]{set}{outvar}[]{%
- \ifxskakpdfmatch
- \xskak@do@splitlevel{\xskak@val@curlevel}%
- \ifnum\xskak@temp@levelnumber=0\relax
- \PackageWarning{xskak}{key outvar ignored}{}%
- \else
- \ifnum\xskak@temp@levelnumber=1\relax
- \PackageWarning{xskak}{Level has already value 1}{}%
- \else
- \edef\xskak@val@curlevel{%
- \xskak@temp@levelprefix
- \the\numexpr\xskak@temp@levelnumber-1\relax
- \xskak@temp@levelpostfix}%
- \fi
- \fi
- \else
- \ifnum\xskak@val@curlevel=1\relax
- \PackageWarning{xskak}{Level has already value 1}{}%
- \else
- \edef\xskak@val@curlevel{%
- \the\numexpr\xskak@val@curlevel-1}%
- \fi
- \fi}
-
-\define@key[UFXS]{set}{goutvar}[]{%
- \ifxskakpdfmatch
- \xskak@do@splitlevel{\xskak@val@curlevel}%
- \ifnum\xskak@temp@levelnumber=0\relax
- \PackageWarning{xskak}{key goutvar ignored}{}%
- \else
- \ifnum\xskak@temp@levelnumber=1\relax
- \PackageWarning{xskak}{Level has already value 1}{}%
- \else
- \xdef\xskak@val@curlevel{%
- \xskak@temp@levelprefix
- \the\numexpr\xskak@temp@levelnumber-1\relax
- \xskak@temp@levelpostfix}%
- \fi
- \fi
- \else
- \ifnum\xskak@val@curlevel=1\relax
- \PackageWarning{xskak}{Level has already value 1}{}%
- \else
- \xdef\xskak@val@curlevel{%
- \the\numexpr\xskak@val@curlevel-1}%
- \fi
- \fi}
-
-%% \resumechessgame: fam res
-\define@key[UFXS]{res}{id}{\UFXS@new@id{#1}}
-
-\define@key[UFXS]{res}{movenr}{\def\xskak@temp@movenr{#1}}
-
-\define@key[UFXS]{res}{player}{\def\xskak@temp@player{#1}}
-
-\define@key[UFXS]{res}{moveid}{\edef\@tempa{#1}\xskak@split@moveid{\@tempa}}
-
-\define@key[UFXS]{res}{newvar}[\xskak@val@gameid]{%
- \xdef\xskak@val@refgameid{#1}%
- \xdef\xskak@val@gameid{#1}%
- \def\xskak@temp@movenr{\csname Xskak\xskak@val@gameid lastmovenr\endcsname}%
- \def\xskak@temp@player{\csname Xskak\xskak@val@gameid lastplayer\endcsname}}%
-
-
-\define@key[UFXS]{res}{reftag}{%
- \UFXS@new@reftag{#1}}
-
-\define@key[UFXS]{res}{refid}{%
- \UFXS@new@refid{#1}}
-
-\define@key[UFXS]{res}{refpastmovenr}{%
- \UFXS@new@refpastmovenr{#1}}
-
-\define@key[UFXS]{res}{refnextmovenr}{%
- \UFXS@new@refnextmovenr{#1}}
-
-\define@key[UFXS]{res}{refpastplayer}{%
- \UFXS@new@refpastplayer{#1}}
-
-\define@key[UFXS]{res}{refnextplayer}{%
- \UFXS@new@refnextplayer{#1}}
-
-\define@key[UFXS]{res}{refpastmoveid}{%
- \UFXS@new@refpastmoveid{#1}}
-
-\define@key[UFXS]{res}{refnextmoveid}{%
- \UFXS@new@refnextmoveid{#1}}
-
-\define@key[UFXS]{res}{refpast}{%
- \UFXS@new@refpast{#1}}
-
-\define@key[UFXS]{res}{refnext}{%
- \UFXS@new@refnext{#1}}
-
-%% pgn-keys are defined during definition.
-
-%%% xskakexportgames
-\define@key[UFXS]{export}{file}{\edef\xskak@val@exportfile{#1.xsk}}
-\define@key[UFXS]{export}{games}{\edef\xskak@val@exportgames{#1}}
-
-%%% xskakloop
-\define@key[UFXS]{loop}{id}{\UFXS@new@id{#1}}
-
-\define@key[UFXS]{loop}{reftag}{%
- \UFXS@new@reftag{#1}}
-
-\define@key[UFXS]{loop}{refid}{%
- \UFXS@new@refid{#1}}
-
-\define@key[UFXS]{loop}{initmoveid}{%
- \xskak@split@moveid{#1}%
- \global\let\xskak@val@movenr\xskak@temp@movenr
- \global\let\xskak@val@player\xskak@temp@player
- }
-\define@key[UFXS]{loop}{initmovenr}{%
- \xdef\xskak@val@movenr{#1}}
-
-\define@key[UFXS]{loop}{initplayer}{%
- \xdef\xskak@val@player{#1}}
-
-\define@key[UFXS]{loop}{stopmoveid}{%
- \xskak@split@moveid{#1}%
- \global\let\xskak@val@stopmovenr\xskak@temp@movenr
- \global\let\xskak@val@stopplayer\xskak@temp@player
- }
-\define@key[UFXS]{loop}{stopmovenr}{%
- \xdef\xskak@val@stopmovenr{#1}}
-
-\define@key[UFXS]{loop}{stopplayer}{%
- \xdef\xskak@val@stopplayer{#1}}
-
-\define@key[UFXS]{loop}{step}{\xdef\xskak@val@loopstep{#1}}
-
-\define@boolkey[UFXS]{loop}{showlast}[true]{}
-
-%%
-%% style items.
-
-%% keys
-\define@key[UFXS]{styleitem}{whiteopen}{%
- \expandafter\gdef\csname\xskak@temp@name whiteopen\endcsname{#1}}
-\define@key[UFXS]{styleitem}{blackopen}{%
- \expandafter\gdef\csname\xskak@temp@name blackopen\endcsname{#1}}
-\define@key[UFXS]{styleitem}{opencommands}{%
- \expandafter\gdef\csname\xskak@temp@name opencommands\endcsname{#1}}
-\define@key[UFXS]{styleitem}{closecommands}{%
- \expandafter\gdef\csname\xskak@temp@name closecommands\endcsname{#1}}
-\define@key[UFXS]{styleitem}{beforenumber}{%
- \expandafter\gdef\csname\xskak@temp@name beforenumber\endcsname{#1}}
-\define@key[UFXS]{styleitem}{beforewhite}{%
- \expandafter\gdef\csname\xskak@temp@name beforewhite\endcsname{#1}}
-\define@key[UFXS]{styleitem}{afterwhite}{%
- \expandafter\gdef\csname\xskak@temp@name afterwhite\endcsname{#1}}
-\define@key[UFXS]{styleitem}{beforeblack}{%
- \expandafter\gdef\csname\xskak@temp@name beforeblack\endcsname{#1}}
-\define@key[UFXS]{styleitem}{afterblack}{%
- \expandafter\gdef\csname\xskak@temp@name afterblack\endcsname{#1}}
-\define@key[UFXS]{styleitem}{beforecomment}{%
- \expandafter\gdef\csname\xskak@temp@name xskak@beforecomment\endcsname{#1}}
-\define@key[UFXS]{styleitem}{beforeNAG}{%
- \expandafter\gdef\csname\xskak@temp@name xskak@beforeNAG\endcsname{#1}}
-
-\define@key[UFXS]{styleiteminit}{template}{% from #1 to current style. Make sure to have set temp@name correctly!
- \xskak@do@copystyleitem{xskak@styleitem@#1@}{\xskak@temp@name}}
-
-%% style
-
-\define@key[UFXS]{style}{level}[1]{%
- \def\xskak@val@curlevel{#1}}
-
-\define@key[UFXS]{style}{font}{%
- \expandafter\gdef\csname\xskak@temp@name\xskak@val@curlevel @font\endcsname{#1}}
-
-\define@key[UFXS]{style}{styleitem}{%
- \ifcsname xskak@styleitem@#1@whiteopen\endcsname
- \expandafter\xdef
- \csname\xskak@temp@name\xskak@val@curlevel @item\endcsname{#1}%
- \else
- \PackageError{xskak}{style item #1 doesn't exist!}{}%
- \fi}
-
-\define@key[UFXS]{style}{xfont}{%
- \xskak@do@splitlevel{\xskak@val@curlevel}%
- \ifnum\xskak@temp@levelnumber=0\relax
- \PackageWarning{xskak}{key xfont ignored (no number found)}{}%
- \else
- \expandafter\gdef\csname\xskak@temp@name\xskak@temp@levelnumber @xfont\endcsname{#1}%
- \fi}
-
-%% printing
-%% style and level for all printing commands
-
-\define@key[UFXS]{print}{style}{%
- \UFXS@set@style{#1}}
-
-\define@key[UFXS]{print}{gstyle}{%
- \UFXS@set@gstyle{#1}}
-
-\define@key[UFXS]{print}{level}{%
- \edef\xskak@val@curlevel{#1}}%
-
-\define@key[UFXS]{print}{glevel}{%
- \xdef\xskak@val@curlevel{#1}}%
-
-\define@key[UFXS]{print}{invar}[]{%
- \UFXS@set@invar{#1}}
-
-\define@key[UFXS]{print}{outvar}[]{%
- \UFXS@set@outvar{#1}}
-
-%% keys only for \printchessgame
-\define@key[UFXS]{xprint}{id}{\def\xskak@val@gameid{#1}}
-\define@key[UFXS]{xprint}{initmoveid}{%
- \xskak@split@moveid{#1}%
- \let\xskak@val@movenr\xskak@temp@movenr
- \let\xskak@val@player\xskak@temp@player
- }
-\define@key[UFXS]{xprint}{initmovenr}{%
- \def\xskak@val@movenr{#1}}
-
-\define@key[UFXS]{xprint}{initplayer}{%
- \def\xskak@val@player{#1}}
-
-\define@key[UFXS]{xprint}{stopmoveid}{%
- \xskak@split@moveid{#1}%
- \let\xskak@val@stopmovenr\xskak@temp@movenr
- \let\xskak@val@stopplayer\xskak@temp@player
- }
-\define@key[UFXS]{xprint}{stopmovenr}{%
- \def\xskak@val@stopmovenr{#1}}
-
-\define@key[UFXS]{xprint}{stopplayer}{%
- \def\xskak@val@stopplayer{#1}}
-
-\define@key[UFXS]{xprint}{reftag}{%
- \UFXS@new@reftag{#1}}
-
-\define@key[UFXS]{xprint}{refid}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFXS@print@id{\csname xskak@tag@#1@refid\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-%% new keys for chessboard. Move to chessboard.sty??
-%% empty keys to avoid errors:
-
-\define@key[UFCB]{locfill}{tag}{}%
-\define@key[UFCB]{locfill}{ref}{}%
-\define@key[UFCB]{locfill}{defaultid}{}%
-\define@key[UFCB]{locfill}{defaultmoveid}{}%
-\define@key[UFCB]{locfill}{defaultfen}{}%
-
-%% real keys (should also be defined in fam glofill):
-\define@key[UFCB]{locfill}{id}[\xskak@val@defaultid]{%
- \ifcsname Xskak#1initfen\endcsname
- \edef\xskak@val@gameid{#1}%
- \else
- \PackageError{xskak}{Game with the id #1 doesn't exist.}{}%
- \fi}%
-
-\define@key[UFCB]{glofill}{id}[\xskak@val@defaultid]{%
- \board@do@l@addto@macro\board@val@savedkeylist{,id=#1}}%
-
-\define@key[UFCB]{locfill}{moveid}{%
- \edef\@tempa{#1}\xskak@split@moveid{\@tempa}%
- \let\xskak@val@movenr\xskak@temp@movenr
- \let\xskak@val@player\xskak@temp@player}%
-
-\define@key[UFCB]{glofill}{moveid}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,moveid=#1}}%
-
-\define@key[UFCB]{locfill}{stepmoveid}[1]{%
- \count@=#1\relax
- \ifthenelse{\the\count@>0}
- {\whiledo{\the\count@>0}%
- {\xskak@do@getnextmoveid{\xskak@val@movenr}{\xskak@val@player}%
- \advance\count@ by -1%
- \let\xskak@val@movenr\xskak@temp@movenr
- \let\xskak@val@player\xskak@temp@player}%
- }%
- {\ifthenelse{\the\count@=0}%
- {}%
- {\whiledo{\the\count@<0}%
- {\xskak@do@getpreviousmoveid{\xskak@val@movenr}{\xskak@val@player}%
- \advance\count@ by 1%
- \let\xskak@val@movenr\xskak@temp@movenr
- \let\xskak@val@player\xskak@temp@player}%
- \ifthenelse{\the\count@<1}%
- {\PackageWarning{xskak}{Move number below 1!}{}}%
- {}}}}
-
-\define@key[UFCB]{glofill}{stepmoveid}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,stepmoveid=#1}}%
-
-\define@key[UFCB]{locfill}{player}{\def\xskak@val@player{#1}}%
-
-\define@key[UFCB]{glofill}{player}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,player=#1}}%
-
-\define@key[UFCB]{locfill}{movenr}{\def\xskak@val@movenr{#1}}%
-
-\define@key[UFCB]{glofill}{movenr}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,movenr=#1}}%
-
-\define@key[UFCB]{locfill}{newvar}[\xskak@val@refgameid]{%
- \UFCB@locfill@setfen{%
- \csname Xskak.#1.%
- \csname Xskak#1lastmovenr\endcsname.%
- \csname Xskak#1lastplayer\endcsname.%
- pastfen\endcsname}%
- }%
-
-\define@key[UFCB]{glofill}{newvar}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,newvar=#1}}%
-
-\define@key[UFCB]{locfill}{reftag}{%
- \edef\xskak@val@currenttag{#1}}
-
-\define@key[UFCB]{glofill}{reftag}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,reftag=#1}}%
-
-\define@key[UFCB]{locfill}{lastmoveid}[\xskak@val@gameid]{%
- \ifcsname Xskak#1initfen\endcsname
- \edef\xskak@val@gameid{#1}%
- \else
- \PackageError{xskak}{Game with the id #1 doesn't exist.}{}%
- \fi
- \edef\xskak@val@movenr{\csname Xskak#1lastmovenr\endcsname}%
- \edef\xskak@val@player{\csname Xskak#1lastplayer\endcsname}%
- }%
-
-\define@key[UFCB]{glofill}{lastmoveid}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,lastmoveid=#1}}%
-
-\define@key[UFCB]{locfill}{refid}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFCB@locfill@id{\csname xskak@tag@#1@refid\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFCB]{glofill}{refid}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,refid=#1}}%
-
-\define@key[UFCB]{locfill}{refpastmovenr}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFCB@locfill@movenr{\csname xskak@tag@#1@refpastmovenr\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFCB]{glofill}{refpastmovenr}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,refpastmovenr=#1}}%
-
-\define@key[UFCB]{locfill}{refnextmovenr}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi
- \UFCB@locfill@movenr{\csname xskak@tag@#1@refnextmovenr\endcsname}}
-
-\define@key[UFCB]{glofill}{refnextmovenr}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,refnextmovenr=#1}}%
-
-\define@key[UFCB]{locfill}{refpastplayer}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFCB@locfill@player{\csname xskak@tag@#1@refpastplayer\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFCB]{glofill}{refpastplayer}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,refpastplayer=#1}}%
-
-\define@key[UFCB]{locfill}{refnextplayer}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFCB@locfill@player{\csname xskak@tag@#1@refnextplayer\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFCB]{glofill}{refnextplayer}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,refnextplayer=#1}}%
-
-\define@key[UFCB]{locfill}{refpastmoveid}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFCB@locfill@moveid{\csname xskak@tag@#1@refpastmoveid\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFCB]{glofill}{refpastmoveid}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,refpastmoveid=#1}}%
-
-\define@key[UFCB]{locfill}{refnextmoveid}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFCB@locfill@moveid{\csname xskak@tag@#1@refnextmoveid\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFCB]{glofill}{refnextmoveid}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,refnextmoveid=#1}}%
-
-\define@key[UFCB]{locfill}{refpast}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFCB@locfill@movenr{\csname xskak@tag@#1@refpastmovenr\endcsname}%
- \UFCB@locfill@id{\csname xskak@tag@#1@refid\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFCB]{glofill}{refpast}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,refpast=#1}}%
-
-\define@key[UFCB]{locfill}{refnext}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFCB@locfill@movenr{\csname xskak@tag@#1@refnextmovenr\endcsname}%
- \UFCB@locfill@id{\csname xskak@tag@#1@refid\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFCB]{glofill}{refnext}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,refnext=#1}}%
-
-\define@key[UFCB]{locfill}{refpast}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFCB@locfill@movenr{\csname xskak@tag@#1@refpastmovenr\endcsname}%
- \UFCB@locfill@id{\csname xskak@tag@#1@refid\endcsname}%
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFCB]{glofill}{refpast}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,refpast=#1}}%
-
-\define@key[UFCB]{locfill}{reffen}{%
- \ifcsname xskak@tag@#1@refid\endcsname
- \UFCB@locfill@addfen{%
- \csname
- Xskak.%
- \csname xskak@tag@#1@refid\endcsname.%
- \csname xskak@tag@#1@refnextmovenr\endcsname.%
- \csname xskak@tag@#1@refnextplayer\endcsname.%
- pastfen%
- \endcsname}
- \else
- \PackageError{xskak}{Unknown tag #1}{}%
- \fi}
-
-\define@key[UFCB]{glofill}{reffen}{%
- \board@do@l@addto@macro\board@val@savedkeylist{,reffen=#1}}%
-
-%% currently no described. Perhaps delete. Perhaps change name to adapt to ref-keys?
-\define@key[UFCB]{locfill}{setgame}[\xskak@val@gameid]{%
- \ifcsname Xskak#1initfen\endcsname
- \edef\xskak@val@gameid{#1}%
- \else
- \PackageError{xskak}{Game with the id #1 doesn't exist.}{}%
- \fi
- \edef\board@temp@curfen{\csname Xskak#1lastfen\endcsname}%
- \board@do@setsinglekeys*[UFCB]{locfill}{language=english, setfen=\board@temp@curfen, language=\board@val@savelang}}%
-
-\define@key[UFCB]{glofill}{setgame}[\xskak@val@gameid]{%
- \board@do@l@addto@macro\board@val@savedkeylist{,showgame=#1}}%
-
-%% currently no described. Perhaps delete. Perhaps change name to adapt to ref-keys?
-\define@key[UFCB]{locfill}{addgame}[\xskak@val@gameid]{%
- \ifcsname Xskak#1initfen\endcsname
- \edef\xskak@val@gameid{#1}%
- \else\PackageError{xskak}{Game with the id #1 doesn't exist.}{}%
- \fi
- \edef\board@temp@curfen{\csname Xskak#1lastfen\endcsname}%
- \board@do@setsinglekeys*[UFCB]{locfill}{language=english, addfen=\board@temp@curfen, language=\board@val@savelang}}%
-
-\define@key[UFCB]{glofill}{addgame}[\xskak@val@gameid]{%
- \board@do@l@addto@macro\board@val@savedkeylist{,showgame=#1}}%
\endinput
%%
%% End of file `xskak-keys.sty'.
diff --git a/Master/texmf-dist/tex/latex/xskak/xskak-nagdef.sty b/Master/texmf-dist/tex/latex/xskak/xskak-nagdef.sty
index 90c2d132cba..bc2e03da4ed 100644
--- a/Master/texmf-dist/tex/latex/xskak/xskak-nagdef.sty
+++ b/Master/texmf-dist/tex/latex/xskak/xskak-nagdef.sty
@@ -4,10 +4,10 @@
%%
%% The original source files were:
%%
-%% xskak-src.dtx (with options: `nag')
+%% xskak-src.dtx (with options: `xskak-nagdef')
%%
%% xskak: an extension to the package skak for chess typesetting
-%% Copyright 2007 UlrikeFischer (skak@nililand.de)
+%% Copyright 2007 Ulrike Fischer (skak@nililand.de)
%% -------------------------------------------
%%
%% This file can be redistributed and/or modified under the terms of
@@ -16,84 +16,6 @@
%% License, or (at your option) any later version.
%%
%% For error reports see documentation.
- \ProvidesFile{xskak-nagdef.sty}[2007/12/20 NAG definitions for xskak.sty v1]
-
-\expandafter\def\csname $1\endcsname{!}
-\expandafter\def\csname $2\endcsname{?}
-\expandafter\def\csname $3\endcsname{!!}
-\expandafter\def\csname $4\endcsname{??}
-\expandafter\def\csname $5\endcsname{!?}
-\expandafter\def\csname $6\endcsname{?!}
-\expandafter\def\csname $7\endcsname{\onlymove}
-\expandafter\def\csname $8\endcsname{\onlymove}
-\expandafter\def\csname $9\endcsname{}
-\expandafter\def\csname $10\endcsname{\equal}
-\expandafter\def\csname $11\endcsname{\equal}
-\expandafter\def\csname $12\endcsname{\equal}
-\expandafter\def\csname $13\endcsname{\unclear}
-\expandafter\def\csname $14\endcsname{\wbetter}
-\expandafter\def\csname $15\endcsname{\bbetter}
-\expandafter\def\csname $16\endcsname{\wupperhand}
-\expandafter\def\csname $17\endcsname{\bupperhand}
-\expandafter\def\csname $18\endcsname{\wdecisive}
-\expandafter\def\csname $19\endcsname{\bdecisive}
-\expandafter\def\csname $20\endcsname{\wdecisive}
-\expandafter\def\csname $21\endcsname{\bdecisive}
-\expandafter\def\csname $22\endcsname{\zugzwang}
-\expandafter\def\csname $23\endcsname{\zugzwang}
-\expandafter\def\csname $24\endcsname{\moreroom}
-\expandafter\def\csname $25\endcsname{\moreroom}
-\expandafter\def\csname $26\endcsname{\moreroom}
-\expandafter\def\csname $27\endcsname{\moreroom}
-\expandafter\def\csname $28\endcsname{\moreroom}
-\expandafter\def\csname $29\endcsname{\moreroom}
-\expandafter\def\csname $30\endcsname{\devadvantage}
-\expandafter\def\csname $31\endcsname{\devadvantage}
-\expandafter\def\csname $32\endcsname{\devadvantage}
-\expandafter\def\csname $33\endcsname{\devadvantage}
-\expandafter\def\csname $34\endcsname{\devadvantage}
-\expandafter\def\csname $35\endcsname{\devadvantage}
-\expandafter\def\csname $36\endcsname{\withinit}
-\expandafter\def\csname $37\endcsname{\withinit}
-\expandafter\def\csname $38\endcsname{\withinit}
-\expandafter\def\csname $39\endcsname{\withinit}
-\expandafter\def\csname $40\endcsname{\withattack}
-\expandafter\def\csname $41\endcsname{\withattack}
-\expandafter\def\csname $42\endcsname{\without\compensation}
-\expandafter\def\csname $43\endcsname{\without\compensation}
-\expandafter\def\csname $44\endcsname{\compensation}
-\expandafter\def\csname $45\endcsname{\compensation}
-\expandafter\def\csname $46\endcsname{\compensation}
-\expandafter\def\csname $47\endcsname{\compensation}
-\expandafter\def\csname $70\endcsname{\weakpt\cfss@symking}
-\expandafter\def\csname $71\endcsname{\weakpt\cfss@symking}
-\expandafter\def\csname $74\endcsname{\weakpt\cfss@symking}
-\expandafter\def\csname $75\endcsname{\weakpt\cfss@symking}
-\expandafter\def\csname $86\endcsname{\weakpt\cfss@symknight}
-\expandafter\def\csname $87\endcsname{\weakpt\cfss@symknight}
-\expandafter\def\csname $90\endcsname{\weakpt\cfss@symbishop}
-\expandafter\def\csname $91\endcsname{\weakpt\cfss@symbishop}
-\expandafter\def\csname $94\endcsname{\weakpt\cfss@symbishop}
-\expandafter\def\csname $95\endcsname{\weakpt\cfss@symbishop}
-\expandafter\def\csname $98\endcsname{\weakpt\cfss@symqueen}
-\expandafter\def\csname $99\endcsname{\weakpt\cfss@symqueen}
-\expandafter\def\csname $130\endcsname{\counterplay}
-\expandafter\def\csname $130\endcsname{\counterplay}
-\expandafter\def\csname $131\endcsname{\counterplay}
-\expandafter\def\csname $132\endcsname{\counterplay}
-\expandafter\def\csname $133\endcsname{\counterplay}
-\expandafter\def\csname $134\endcsname{\counterplay}
-\expandafter\def\csname $135\endcsname{\counterplay}
-\expandafter\def\csname $136\endcsname{\timelimit}
-\expandafter\def\csname $137\endcsname{\timelimit}
-\expandafter\def\csname $138\endcsname{\timelimit}
-\expandafter\def\csname $139\endcsname{\timelimit}
-\expandafter\def\csname $140\endcsname{\space\withidea}
-\expandafter\def\csname $142\endcsname{\space\betteris}
-\expandafter\def\csname $145\endcsname{\chesscomment}
-\expandafter\def\csname $146\endcsname{\novelty}
-\expandafter\def\csname $D\endcsname{\chessdiagramname}
-\expandafter\def\csname $d\endcsname{}
\endinput
%%
%% End of file `xskak-nagdef.sty'.
diff --git a/Master/texmf-dist/tex/latex/xskak/xskak.sty b/Master/texmf-dist/tex/latex/xskak/xskak.sty
index f231e1abb7c..2fc95c40009 100644
--- a/Master/texmf-dist/tex/latex/xskak/xskak.sty
+++ b/Master/texmf-dist/tex/latex/xskak/xskak.sty
@@ -4,10 +4,10 @@
%%
%% The original source files were:
%%
-%% xskak-src.dtx (with options: `main')
+%% xskak-src.dtx (with options: `xskak')
%%
%% xskak: an extension to the package skak for chess typesetting
-%% Copyright 2007 UlrikeFischer (skak@nililand.de)
+%% Copyright 2007 Ulrike Fischer (skak@nililand.de)
%% -------------------------------------------
%%
%% This file can be redistributed and/or modified under the terms of
@@ -17,8 +17,9 @@
%%
%% For error reports see documentation.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{xskak}[2007/12/20 version 1.0 extended Chess typesetting and parsing]
-%%Last changes: $Date: 2007-12-20 15:46:21 +0100 (Do, 20 Dez 2007) $
+\def\@rcs@ $#1Date: #2-#3-#4 #5$$#6Version: #7$ {
+ \ProvidesPackage{xskak}[#2/#3/#4 version #7 extended Chess typesetting and parsing]}
+\@rcs@ $Date: 2008-07-29 17:33 +0200 $$Version: v1.1 $
\newif\ifxskakpdfmatch
@@ -42,11 +43,9 @@
%% Naming conventions
%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%
%%%%% Initialisation
-
\newcommand\xskak@val@gameid{game}
\newcommand\xskak@val@movenr{1}
\newcommand\xskak@val@player{w}
@@ -824,6 +823,7 @@
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.check\endcsname
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.mate\endcsname
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.enpassant\endcsname
+ \csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.promotion\endcsname
\expandafter\protected@xdef
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.san\endcsname{%
\Castling
@@ -836,6 +836,9 @@
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.pgnmovefrom\endcsname
\Capture{\noexpand\capturesymbol}{}%
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.moveto\endcsname
+ \ifxskakboolpromotion
+ \noexpand\textsymfigsymbol{\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.promotionpiecechar\endcsname}%
+ \fi
\ifxskakboolenpassant
\noexpand\xskakenpassanttext
\fi
@@ -852,6 +855,7 @@
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.check\endcsname
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.mate\endcsname
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.enpassant\endcsname
+ \csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.promotion\endcsname
\expandafter\protected@xdef
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.lan\endcsname{%
\Castling
@@ -864,6 +868,9 @@
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.movefrom\endcsname
\Capture{\noexpand\capturesymbol}{\noexpand\xskakmovehyphen}%
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.moveto\endcsname
+ \ifxskakboolpromotion
+ \noexpand\textsymfigsymbol{\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.promotionpiecechar\endcsname}%
+ \fi
\ifxskakboolenpassant
\noexpand\xskakenpassanttext
\fi
@@ -1154,8 +1161,6 @@
%%% styles
-
-
\newcommand*\xskak@do@splitlevel[1]{%
\def\xskak@temp@levelprefix{#1}%
\def\xskak@temp@levelpostfix{}%
@@ -1421,7 +1426,6 @@
\closein0%
\expandafter\fenboard\expandafter{\load@read}}
-
%%%% ExecutePawnMove changed:
%%%% moved \xdef of EnPassantSquare before DoTheMove
%%%% I hope it doesn't break something