%% %% This is file `chessboard-keys-main.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% chessboard.dtx (with options: `chessboard-keys-main') %% %% chessboard: a package to print chessboards %% Copyright 2006-2019 Ulrike Fischer (chess@nililand.de) %% ------------------------------------------- %% %% This file can be redistributed and/or modified under the terms of %% the LaTeX Project Public License distributed from CTAN archives in %% the directory macros/latex/base/lppl.txt; either version 1 of the %% License, or (at your option) any later version. %% %% For error reports see documentation. \ProvidesFile{chessboard-keys-main.sty}[2019/06/23 version v1.8 key definitions for chessboard.sty] %%$Date: 2011/03/23 08:42:57 $$Version: 66142533647c $ %%file=Linie=column=vertikal=al_f_abetisch= a-h %%rank=Reihe=row=horizontal=numbe_r_=1-8 %%%%%%%%%%%%%%%%%%%%% %%%% Keys %%%%%%%%%%%%%%%%%%%%% %%%% %%% Nullkey, does nothing %%%% \define@key[UFCB]{locinit}{@null}{} \define@key[UFCB]{locset}{@null}{} \define@key[UFCB]{locfill}{@null}{} \define@key[UFCB]{gloinit}{@null}{} \define@key[UFCB]{gloset}{@null}{} \define@key[UFCB]{glofill}{@null}{} %%%% %% internal Keys to expand styles, added in 1.4. to repair xkeyval problem \define@key[UFCB]{@start}{style}{% \toks@=\expandafter\expandafter\expandafter{\csname board@val@style#1keylist\endcsname}% \edef\@@next{\noexpand\board@do@l@addto@macro\noexpand\board@temp@keylist{,\the\toks@}}% \@@next} \define@key[UFCB]{@start}{board@expand}{% \@for\board@temp@keypair:=#1\do {\expandafter\XKV@g@tkeyname\board@temp@keypair=\@nil\board@temp@keyname \edef\next{\noexpand\key@ifundefined[UFCB]{@start}{\board@temp@keyname}}% \next{\expandafter\board@do@l@addto@macro\expandafter\board@temp@keylist\expandafter{\expandafter,\board@temp@keypair}}% {\edef\@next{\noexpand\setkeys[UFCB]{@start}{\board@temp@keypair}}\@next}}}% %%%%% %%% Init keys %%%% %%% %% style, can contain any key, so should be processed at start (init). %%% \define@key[UFCB]{locinit}{style}{% D \csname board@use@locstyle@#1\endcsname} \define@key[UFCB]{gloinit}{style}{% D \board@do@l@addto@macro\board@val@savedkeylist{,style=#1}} %%% %% defaults, should only be set globally (don't make sense elsewhere) %%% \define@choicekey*[UFCB]{gloinit}{moverdefault}[\board@val@mover]{w,b}{} \define@key[UFCB]{gloinit}{castlingdefault}{\def\board@val@castling{#1}} \define@key[UFCB]{gloinit}{enpassantdefault}{\def\board@val@enpassant{#1}} \define@key[UFCB]{gloinit}{halfmovedefault}{\def\board@val@halfmove{#1}} \define@key[UFCB]{gloinit}{fullmovedefault}{\def\board@val@fullmove{#1}} %%% Dimension of the board %%% the right-top corner. Used from clearboard and to set pieces with position \define@key[UFCB]{locinit}{maxfield}{% D \expandafter\board@split@field#1ARGEND% \edef\board@val@maxfilechar{\board@temp@curfilechar}% \edef\board@val@maxfilenum{\board@temp@curfilenum}% \edef\board@val@maxranknum{\board@temp@curranknum}% %% start rank numbers \edef\board@val@startfenranknum{\board@temp@curranknum}% \edef\board@val@startfillranknum{\board@temp@curranknum}% \edef\board@val@startprintranknum{\board@temp@curranknum}% \edef\board@val@startstoreranknum{\board@temp@curranknum}% %% stop file numbers \edef\board@val@stopfillfilenum{\board@temp@curfilenum}% \edef\board@val@stopprintfilenum{\board@temp@curfilenum}% \edef\board@val@stopstorefilenum{\board@temp@curfilenum}% %% stop file chars \edef\board@val@stopfillfilechar{\board@temp@curfilechar}% \edef\board@val@stopprintfilechar{\board@temp@curfilechar}% \edef\board@val@stopstorefilechar{\board@temp@curfilechar}% } \define@key[UFCB]{gloinit}{maxfield}{% D \board@do@l@addto@macro\board@val@savedkeylist{,maxfield=#1}{}} %%% the left-bottom corner can be set to start with @0. %%% Used from clearboard and to set pieces with fen %%% boolean key, true is the default, that is zero is the same as zero=true \define@boolkey[UFCB]{locinit}{zero}[true]{% D \ifUFCB@locinit@zero \def\board@temp@char{Z}% \def\board@temp@num{0}% \else \def\board@temp@char{a}% \def\board@temp@num{1}% \fi \edef\board@val@minfilechar{\board@temp@char}% \edef\board@val@minfilenum{\board@temp@num}% \edef\board@val@minranknum{\board@temp@num}% %% start file numbers \edef\board@val@startfenfilenum{\board@temp@num}% \edef\board@val@startfillfilenum{\board@temp@num}% \edef\board@val@startprintfilenum{\board@temp@num}% \edef\board@val@startstorefilenum{\board@temp@num}% %% start file chars \edef\board@val@startfenfilechar{\board@temp@char}% \edef\board@val@startfillfilechar{\board@temp@char}% \edef\board@val@startprintfilechar{\board@temp@char}% \edef\board@val@startstorefilechar{\board@temp@char}% %% stop rank numbers \edef\board@val@stopfillranknum{\board@temp@num}% \edef\board@val@stopprintranknum{\board@temp@num}% \edef\board@val@stopstoreranknum{\board@temp@num}% } \define@key[UFCB]{gloinit}{zero}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,zero=#1}{}} %%% disable the printing \define@boolkey[UFCB]{locinit}{print}[true]{} %D \define@boolkey[UFCB]{gloinit}{print}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,print=#1}{}} %%%%%% %% Set-keys %%%%%% %%% "print corner" \define@key[UFCB]{locset}{startprint}{% D \expandafter\board@split@field#1ARGEND% \let\board@val@startprintfilechar\board@temp@curfilechar \let\board@val@startprintfilenum\board@temp@curfilenum \let\board@val@startprintranknum\board@temp@curranknum} \define@key[UFCB]{gloset}{startprint}{% D \board@do@l@addto@macro\board@val@savedkeylist{,startprint=#1}{}} \define@key[UFCB]{locset}{stopprint}{% D \expandafter\board@split@field#1ARGEND% \let\board@val@stopprintfilechar\board@temp@curfilechar \let\board@val@stopprintfilenum\board@temp@curfilenum% \let\board@val@stopprintranknum\board@temp@curranknum} \define@key[UFCB]{gloset}{stopprint}{% D \board@do@l@addto@macro\board@val@savedkeylist{,stopprint=#1}{}} \define@key[UFCB]{locset}{printarea}{% a7-f1 % D \expandafter\board@split@areasort#1ARGEND% \board@do@setsinglekeys*[UFCB]{locset}{% startprint=\board@temp@curstartfield, stopprint=\board@temp@curstopfield}}% \define@key[UFCB]{gloset}{printarea}{% a7-f1 % D \board@do@l@addto@macro\board@val@savedkeylist{,printarea=#1}{}}% %%% print inverse \define@boolkey[UFCB]{locset}{inverse}[true]{} % D \define@boolkey[UFCB]{gloset}{inverse}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,inverse=#1}{}} %%% %% margin %%% \define@key[UFCB]{locset}{marginleftwidth}{% D \def\board@val@marginleftwidth{#1}} \define@key[UFCB]{gloset}{marginleftwidth}{% D \board@do@l@addto@macro\board@val@savedkeylist{,marginleftwidth=#1}{}} \define@key[UFCB]{locset}{marginrightwidth}{% D \def\board@val@marginrightwidth{#1}} \define@key[UFCB]{gloset}{marginrightwidth}{% D \board@do@l@addto@macro\board@val@savedkeylist{,marginrightwidth=#1}{}} \define@key[UFCB]{locset}{margintopwidth}{% D \def\board@val@margintopwidth{#1}} \define@key[UFCB]{gloset}{margintopwidth}{% D \board@do@l@addto@macro\board@val@savedkeylist{,margintopwidth=#1}{}} \define@key[UFCB]{locset}{marginbottomwidth}{% D \def\board@val@marginbottomwidth{#1}} \define@key[UFCB]{gloset}{marginbottomwidth}{% D \board@do@l@addto@macro\board@val@savedkeylist{,marginbottomwidth=#1}{}} \define@key[UFCB]{locset}{hmarginwidth}{% D \board@do@setsinglekeys*[UFCB]{locset}{marginleftwidth=#1, marginrightwidth=#1}} \define@key[UFCB]{gloset}{hmarginwidth}{% D \board@do@setsinglekeys*[UFCB]{gloset}{marginleftwidth=#1, marginrightwidth=#1}} \define@key[UFCB]{locset}{vmarginwidth}{% D \board@do@setsinglekeys*[UFCB]{locset}{margintopwidth=#1, marginbottomwidth=#1}} \define@key[UFCB]{gloset}{vmarginwidth}{% D \board@do@setsinglekeys*[UFCB]{gloset}{margintopwidth=#1, marginbottomwidth=#1}} \define@key[UFCB]{locset}{marginwidth}{% D \board@do@setsinglekeys*[UFCB]{locset}{% marginleftwidth=#1, marginrightwidth=#1, margintopwidth=#1, marginbottomwidth=#1}} \define@key[UFCB]{gloset}{marginwidth}{% D \board@do@setsinglekeys*[UFCB]{gloset}{% marginleftwidth=#1, marginrightwidth=#1, margintopwidth=#1, marginbottomwidth=#1}} \define@boolkey[UFCB]{locset}{marginleft}[true]{} %D \define@boolkey[UFCB]{gloset}{marginleft}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,marginleft=#1}{}} \define@boolkey[UFCB]{locset}{marginright}[true]{} %D \define@boolkey[UFCB]{gloset}{marginright}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,marginright=#1}{}} \define@boolkey[UFCB]{locset}{margintop}[true]{} %D \define@boolkey[UFCB]{gloset}{margintop}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,margintop=#1}{}} \define@boolkey[UFCB]{locset}{marginbottom}[true]{} %D \define@boolkey[UFCB]{gloset}{marginbottom}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,marginbottom=#1}{}} \define@boolkey[UFCB]{locset}{hmargin}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{marginleft=#1, marginright=#1}} \define@boolkey[UFCB]{gloset}{hmargin}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{marginleft=#1, marginright=#1}} \define@boolkey[UFCB]{locset}{vmargin}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{margintop=#1, marginbottom=#1}} \define@boolkey[UFCB]{gloset}{vmargin}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{margintop=#1, marginbottom=#1}} \define@boolkey[UFCB]{locset}{margin}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{marginleft=#1, marginright=#1, margintop=#1, marginbottom=#1}} \define@boolkey[UFCB]{gloset}{margin}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{marginleft=#1, marginright=#1, margintop=#1, marginbottom=#1}} %% border \define@boolkey[UFCB]{locset}{borderleft}[true]{} % D \define@boolkey[UFCB]{gloset}{borderleft}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,borderleft=#1}{}} \define@boolkey[UFCB]{locset}{borderright}[true]{} % D \define@boolkey[UFCB]{gloset}{borderright}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,borderright=#1}{}} \define@boolkey[UFCB]{locset}{bordertop}[true]{} %D \define@boolkey[UFCB]{gloset}{bordertop}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,bordertop=#1}{}} \define@boolkey[UFCB]{locset}{borderbottom}[true]{} %D \define@boolkey[UFCB]{gloset}{borderbottom}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,borderbottom=#1}{}} \define@boolkey[UFCB]{locset}{hborder}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{borderleft=#1, borderright=#1}} \define@boolkey[UFCB]{gloset}{hborder}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{borderleft=#1, borderright=#1}} \define@boolkey[UFCB]{locset}{vborder}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{bordertop=#1, borderbottom=#1}} \define@boolkey[UFCB]{gloset}{vborder}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{bordertop=#1, borderbottom=#1}} \define@boolkey[UFCB]{locset}{border}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{borderleft=#1, borderright=#1, bordertop=#1, borderbottom=#1}} \define@boolkey[UFCB]{gloset}{border}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{borderleft=#1, borderright=#1, bordertop=#1, borderbottom=#1}} \define@key[UFCB]{locset}{borderleftwidth}{% D \def\board@val@borderleftwidth{#1}} \define@key[UFCB]{gloset}{borderleftwidth}{% D \board@do@l@addto@macro\board@val@savedkeylist{,borderleftwidth=#1}{}} \define@key[UFCB]{locset}{borderrightwidth}{% D \def\board@val@borderrightwidth{#1}} \define@key[UFCB]{gloset}{borderrightwidth}{% D \board@do@l@addto@macro\board@val@savedkeylist{,borderrightwidth=#1}{}} \define@key[UFCB]{locset}{bordertopwidth}{% D \def\board@val@bordertopwidth{#1}} \define@key[UFCB]{gloset}{bordertopwidth}{% D \board@do@l@addto@macro\board@val@savedkeylist{,bordertopwidth=#1}{}} \define@key[UFCB]{locset}{borderbottomwidth}{% D \def\board@val@borderbottomwidth{#1}} \define@key[UFCB]{gloset}{borderbottomwidth}{% D \board@do@l@addto@macro\board@val@savedkeylist{,borderbottomwidth=#1}{}} \define@key[UFCB]{locset}{hborderwidth}{% D \board@do@setsinglekeys*[UFCB]{locset}{borderleftwidth=#1, borderrightwidth=#1}} \define@key[UFCB]{gloset}{hborderwidth}{% D \board@do@setsinglekeys*[UFCB]{gloset}{borderleftwidth=#1, borderrightwidth=#1}} \define@key[UFCB]{locset}{vborderwidth}{% D \board@do@setsinglekeys*[UFCB]{locset}{bordertopwidth=#1, borderbottomwidth=#1}} \define@key[UFCB]{gloset}{vborderwidth}{% D \board@do@setsinglekeys*[UFCB]{gloset}{bordertopwidth=#1, borderbottomwidth=#1}} \define@key[UFCB]{locset}{borderwidth}{% D \board@do@setsinglekeys*[UFCB]{locset}{% borderleftwidth=#1, borderrightwidth=#1, bordertopwidth=#1, borderbottomwidth=#1}} \define@key[UFCB]{gloset}{borderwidth}{% D \board@do@setsinglekeys*[UFCB]{gloset}{% borderleftwidth=#1, borderrightwidth=#1, bordertopwidth=#1, borderbottomwidth=#1}} %%% border color \define@key[UFCB]{locset}{borderleftcolor}{% D \def\board@val@borderleftcolor{\color{#1}}} \define@key[UFCB]{gloset}{borderleftcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,borderleftcolor=#1}{}} \define@key[UFCB]{locset}{borderrightcolor}{% D \def\board@val@borderrightcolor{\color{#1}}} \define@key[UFCB]{gloset}{borderrightcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,borderrightcolor=#1}{}} \define@key[UFCB]{locset}{bordertopcolor}{% D \def\board@val@bordertopcolor{\color{#1}}} \define@key[UFCB]{gloset}{bordertopcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,bordertopcolor=#1}{}} \define@key[UFCB]{locset}{borderbottomcolor}{% D \def\board@val@borderbottomcolor{\color{#1}}} \define@key[UFCB]{gloset}{borderbottomcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,borderbottomcolor=#1}{}} \define@key[UFCB]{locset}{hbordercolor}{% D \board@do@setsinglekeys*[UFCB]{locset}{borderleftcolor=#1, borderrightcolor=#1}} \define@key[UFCB]{gloset}{hbordercolor}{% D \board@do@setsinglekeys*[UFCB]{gloset}{borderleftcolor=#1, borderrightcolor=#1}} \define@key[UFCB]{locset}{vbordercolor}{% D \board@do@setsinglekeys*[UFCB]{locset}{bordertopcolor=#1, borderbottomcolor=#1}} \define@key[UFCB]{gloset}{vbordercolor}{% D \board@do@setsinglekeys*[UFCB]{gloset}{bordertopcolor=#1, borderbottomcolor=#1}} \define@key[UFCB]{locset}{bordercolor}{% D \board@do@setsinglekeys*[UFCB]{locset}{% borderleftcolor=#1, borderrightcolor=#1, bordertopcolor=#1, borderbottomcolor=#1}} \define@key[UFCB]{gloset}{bordercolor}{% D \board@do@setsinglekeys*[UFCB]{gloset}{% borderleftcolor=#1, borderrightcolor=#1, bordertopcolor=#1, borderbottomcolor=#1}} %%%% %% font %%% \define@key[UFCB]{locset}{boardfontsize}{% D \setboardfontsize{#1}} \define@key[UFCB]{gloset}{boardfontsize}{% D \board@do@l@addto@macro\board@val@savedkeylist{,boardfontsize=#1}{}} \define@key[UFCB]{locset}{boardfontfamily}{% D \setboardfontfamily{#1}} \define@key[UFCB]{gloset}{boardfontfamily}{% D \board@do@l@addto@macro\board@val@savedkeylist{,boardfontfamily=#1}{}} \define@key[UFCB]{locset}{boardfontseries}{% D \setboardfontseries{#1}} \define@key[UFCB]{gloset}{boardfontseries}{% D \board@do@l@addto@macro\board@val@savedkeylist{,boardfontseries=#1}{}} %% shorter name: \define@key[UFCB]{locset}{fontsize}{% \board@do@setsinglekeys*[UFCB]{locset}{boardfontsize=#1}} \define@key[UFCB]{gloset}{fontsize}{% \board@do@setsinglekeys*[UFCB]{gloset}{boardfontsize=#1}} \define@key[UFCB]{locset}{fontfamily}{% \board@do@setsinglekeys*[UFCB]{locset}{boardfontfamily=#1}} \define@key[UFCB]{gloset}{fontfamily}{% \board@do@setsinglekeys*[UFCB]{locset}{boardfontfamily=#1}} %%% only for the sake of completeness. Better don't mention it. \define@key[UFCB]{locset}{boardfontencoding}{% D \def\cfss@boardfontencoding{#1}} \define@key[UFCB]{gloset}{boardfontencoding}{% D \board@do@l@addto@macro\board@val@savedkeylist{,boardfontencoding=#1}{}} %%% mover \define@boolkey[UFCB]{locset}{showmover}[true]{} % D \define@boolkey[UFCB]{gloset}{showmover}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,showmover=#1}{}} \define@key[UFCB]{locset}{moversize}{% D \def\board@val@moversize{#1}} \define@key[UFCB]{gloset}{moversize}{% D \board@do@l@addto@macro\board@val@savedkeylist{,moversize=#1}{}} \define@key[UFCB]{locset}{moverstyle}{% D \def\board@val@moverstyle{#1}} \define@key[UFCB]{gloset}{moverstyle}{% D \board@do@l@addto@macro\board@val@savedkeylist{,moverstyle=#1}{}} \define@key[UFCB]{locset}{moverbottomlift}{% D \def\board@val@moverbottomlift{#1}} \define@key[UFCB]{gloset}{moverbottomlift}{% D \board@do@l@addto@macro\board@val@savedkeylist{,moverbottomlift=#1}{}} \define@key[UFCB]{locset}{movertoplift}{% D \def\board@val@movertoplift{#1}} \define@key[UFCB]{gloset}{movertoplift}{% D \board@do@l@addto@macro\board@val@savedkeylist{,movertoplift=#1}{}} \define@key[UFCB]{locset}{moverlift}{% D \board@do@setsinglekeys*[UFCB]{locset}{moverbottomlift=#1,movertoplift=#1}} \define@key[UFCB]{gloset}{moverlift}{% D \board@do@setsinglekeys*[UFCB]{gloset}{moverbottomlift=#1,movertoplift=#1}} \define@key[UFCB]{locset}{moverbottomshift}{% D \def\board@val@moverbottomshift{#1}} \define@key[UFCB]{gloset}{moverbottomshift}{% D \board@do@l@addto@macro\board@val@savedkeylist{,moverbottomshift=#1}{}} \define@key[UFCB]{locset}{movertopshift}{% D \def\board@val@movertopshift{#1}} \define@key[UFCB]{gloset}{movertopshift}{% D \board@do@l@addto@macro\board@val@savedkeylist{,movertopshift=#1}{}} \define@key[UFCB]{locset}{movershift}{% D \board@do@setsinglekeys*[UFCB]{locset}{moverbottomshift=#1, movertopshift=#1}} \define@key[UFCB]{gloset}{movershift}{% D \board@do@setsinglekeys*[UFCB]{gloset}{moverbottomshift=#1, movertopshift=#1}} %%% labels \define@boolkey[UFCB]{locset}{labelleft}[true]{} %D \define@boolkey[UFCB]{gloset}{labelleft}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelleft=#1}{}} \define@boolkey[UFCB]{locset}{labelright}[true]{} %D \define@boolkey[UFCB]{gloset}{labelright}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelright=#1}{}} \define@boolkey[UFCB]{locset}{labeltop}[true]{} %D \define@boolkey[UFCB]{gloset}{labeltop}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,labeltop=#1}{}} \define@boolkey[UFCB]{locset}{labelbottom}[true]{} %D \define@boolkey[UFCB]{gloset}{labelbottom}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelbottom=#1}{}} \define@boolkey[UFCB]{locset}{hlabel}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{labelleft=#1, labelright=#1}} \define@boolkey[UFCB]{gloset}{hlabel}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{labelleft=#1, labelright=#1}} \define@boolkey[UFCB]{locset}{vlabel}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{labeltop=#1, labelbottom=#1}} \define@boolkey[UFCB]{gloset}{vlabel}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{labeltop=#1, labelbottom=#1}} \define@boolkey[UFCB]{locset}{label}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{% labelleft=#1, labelright=#1, labeltop=#1, labelbottom=#1}} \define@boolkey[UFCB]{gloset}{label}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{% labelleft=#1, labelright=#1, labeltop=#1, labelbottom=#1}} %% width \define@key[UFCB]{locset}{labelleftwidth}{% D \def\board@val@labelleftwidth{#1}} \define@key[UFCB]{gloset}{labelleftwidth}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelleftwidth=#1}{}} \define@key[UFCB]{locset}{labelrightwidth}{% D \def\board@val@labelrightwidth{#1}} \define@key[UFCB]{gloset}{labelrightwidth}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelrightwidth=#1}{}} \define@key[UFCB]{locset}{labelbottomwidth}{% D \def\board@val@labelbottomwidth{#1}} \define@key[UFCB]{gloset}{labelbottomwidth}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelbottomwidth=#1}{}} \define@key[UFCB]{locset}{hlabelwidth}{% D \board@do@setsinglekeys*[UFCB]{locset}{labelleftwidth=#1, labelrightwidth=#1}} \define@key[UFCB]{gloset}{hlabelwidth}{% D \board@do@setsinglekeys*[UFCB]{gloset}{labelleftwidth=#1, labelrightwidth=#1}} %% lift \define@key[UFCB]{locset}{labelleftlift}{% D \def\board@val@labelleftlift{#1}} \define@key[UFCB]{gloset}{labelleftlift}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelleftlift=#1}{}} \define@key[UFCB]{locset}{labelrightlift}{% D \def\board@val@labelrightlift{#1}} \define@key[UFCB]{gloset}{labelrightlift}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelrightlift=#1}{}} \define@key[UFCB]{locset}{labeltoplift}{% D \def\board@val@labeltoplift{#1}} \define@key[UFCB]{gloset}{labeltoplift}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labeltoplift=#1}{}} \define@key[UFCB]{locset}{labelbottomlift}{% D \def\board@val@labelbottomlift{#1}} \define@key[UFCB]{gloset}{labelbottomlift}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelbottomlift=#1}{}} \define@key[UFCB]{locset}{hlabellift}{% D \board@do@setsinglekeys*[UFCB]{locset}{labelleftlift=#1, labelrightlift=#1}} \define@key[UFCB]{gloset}{hlabellift}{% D \board@do@setsinglekeys*[UFCB]{gloset}{labelleftlift=#1, labelrightlift=#1}} \define@key[UFCB]{locset}{vlabellift}{% D \board@do@setsinglekeys*[UFCB]{locset}{labeltoplift=#1, labelbottomlift=#1}} \define@key[UFCB]{gloset}{vlabellift}{% D \board@do@setsinglekeys*[UFCB]{gloset}{labeltoplift=#1, labelbottomlift=#1}} %% font \define@key[UFCB]{locset}{labelleftfont}{% D \def\board@val@labelleftfont{#1}} \define@key[UFCB]{gloset}{labelleftfont}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelleftfont=#1}{}} \define@key[UFCB]{locset}{labelrightfont}{% D \def\board@val@labelrightfont{#1}} \define@key[UFCB]{gloset}{labelrightfont}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelrightfont=#1}{}} \define@key[UFCB]{locset}{labeltopfont}{% D \def\board@val@labeltopfont{#1}} \define@key[UFCB]{gloset}{labeltopfont}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labeltopfont=#1}{}} \define@key[UFCB]{locset}{labelbottomfont}{% D \def\board@val@labelbottomfont{#1}} \define@key[UFCB]{gloset}{labelbottomfont}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelbottomfont=#1}{}} \define@key[UFCB]{locset}{hlabelfont}{% D \board@do@setsinglekeys*[UFCB]{locset}{labelleftfont=#1, labelrightfont=#1}} \define@key[UFCB]{gloset}{hlabelfont}{% D \board@do@setsinglekeys*[UFCB]{gloset}{labelleftfont=#1, labelrightfont=#1}}% \define@key[UFCB]{locset}{vlabelfont}{% D \board@do@setsinglekeys*[UFCB]{locset}{labeltopfont=#1, labelbottomfont=#1}}% \define@key[UFCB]{gloset}{vlabelfont}{% D \board@do@setsinglekeys*[UFCB]{gloset}{labeltopfont=#1, labelbottomfont=#1}}% \define@key[UFCB]{locset}{labelfont}{% D \board@do@setsinglekeys*[UFCB]{locset}{% labelleftfont=#1, labelrightfont=#1, labeltopfont=#1, labelbottomfont=#1}}% \define@key[UFCB]{gloset}{labelfont}{% D \board@do@setsinglekeys*[UFCB]{gloset}{labelleftfont=#1, labelrightfont=#1, labeltopfont=#1, labelbottomfont=#1}}% %%fontsize \define@key[UFCB]{locset}{labelfontsize}{% D \def\cfss@sidefontsize{#1}}% \define@key[UFCB]{gloset}{labelfontsize}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelfontsize=#1}{}}% %% formatting \define@key[UFCB]{locset}{labelleftformat}{% D \def\board@val@labelleftformat{#1}}% \define@key[UFCB]{gloset}{labelleftformat}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelleftformat={#1}}{}}% \define@key[UFCB]{locset}{labelrightformat}{% D \def\board@val@labelrightformat{#1}}% \define@key[UFCB]{gloset}{labelrightformat}{%D \board@do@l@addto@macro\board@val@savedkeylist{,labelrightformat={#1}}{}}% \define@key[UFCB]{locset}{labeltopformat}{% D \def\board@val@labeltopformat{#1}}% \define@key[UFCB]{gloset}{labeltopformat}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labeltopformat={#1}}{}}% \define@key[UFCB]{locset}{labelbottomformat}{% D \def\board@val@labelbottomformat{#1}}% \define@key[UFCB]{gloset}{labelbottomformat}{% D \board@do@l@addto@macro\board@val@savedkeylist{,labelbottomformat={#1}}{}}% \define@key[UFCB]{locset}{hlabelformat}{% D \board@do@setsinglekeys*[UFCB]{locset}{labelleftformat=#1, labelrightformat=#1}}% \define@key[UFCB]{gloset}{hlabelformat}{% D \board@do@setsinglekeys*[UFCB]{gloset}{labelleftformat={#1}, labelrightformat={#1}}}% \define@key[UFCB]{locset}{vlabelformat}{% D \board@do@setsinglekeys*[UFCB]{locset}{labeltopformat=#1, labelbottomformat=#1}}% \define@key[UFCB]{gloset}{vlabelformat}{% D \board@do@setsinglekeys*[UFCB]{gloset}{labeltopformat={#1}, labelbottomformat={#1}}}% \define@key[UFCB]{locset}{labelformat}{% D \board@do@setsinglekeys*[UFCB]{locset}{% labelleftformat=#1, labelrightformat=#1, labeltopformat=#1, labelbottomformat=#1}}% \define@key[UFCB]{gloset}{labelformat}{% D \board@do@setsinglekeys*[UFCB]{gloset}{% labelleftformat={#1}, labelrightformat={#1}, labeltopformat={#1}, labelbottomformat={#1}}}% %%% %% Board sizes %%% \define@key[UFCB]{locset}{tinyboard}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{fontsize=10pt, labelfontsize=6pt}}% \define@key[UFCB]{gloset}{tinyboard}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{fontsize=10pt, labelfontsize=6pt}}% \define@key[UFCB]{locset}{smallboard}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{fontsize=15pt, labelfontsize=8pt}}% \define@key[UFCB]{gloset}{smallboard}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{fontsize=15pt, labelfontsize=8pt}}% \define@key[UFCB]{locset}{normalboard}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{fontsize=20pt, labelfontsize=10pt}}% \define@key[UFCB]{gloset}{normalboard}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{fontsize=20pt, labelfontsize=10pt}}% \define@key[UFCB]{locset}{largeboard}[true]{% D \board@do@setsinglekeys*[UFCB]{locset}{fontsize=30pt, labelfontsize=12pt}}% \define@key[UFCB]{gloset}{largeboard}[true]{% D \board@do@setsinglekeys*[UFCB]{gloset}{fontsize=30pt, labelfontsize=12pt}}% %%% coloring the font layer \define@key[UFCB]{locfill}{clearfontcolors}[true]{% D \def\board@val@fontcolorstack{}} \define@key[UFCB]{glofill}{clearfontcolors}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,clearfontcolors=#1}{}}% \define@key[UFCB]{locfill}{whitefieldmaskcolor}{% D \board@do@l@addto@macro\board@val@fontcolorstack {\def\cfss@whitefieldmaskcolor{\color{#1}}}} \define@key[UFCB]{glofill}{whitefieldmaskcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,whitefieldmaskcolor=#1}{}}% \define@key[UFCB]{locfill}{blackfieldmaskcolor}{% D \board@do@l@addto@macro\board@val@fontcolorstack {\def\cfss@blackfieldmaskcolor{\color{#1}}}} \define@key[UFCB]{glofill}{blackfieldmaskcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,blackfieldmaskcolor=#1}{}}% \define@key[UFCB]{locfill}{fieldmaskcolor}{% D \board@do@setsinglekeys*[UFCB]{locfill}{% whitefieldmaskcolor=#1, blackfieldmaskcolor=#1}} \define@key[UFCB]{glofill}{fieldmaskcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,fieldmaskcolor=#1}{}}% \define@key[UFCB]{locfill}{whitefieldcolor}{% D \board@do@l@addto@macro\board@val@fontcolorstack {\def\cfss@whitefieldcolor{\color{#1}}}} \define@key[UFCB]{glofill}{whitefieldcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,whitefieldcolor=#1}{}}% \define@key[UFCB]{locfill}{blackfieldcolor}{% D \board@do@l@addto@macro\board@val@fontcolorstack {\def\cfss@blackfieldcolor{\color{#1}}}} \define@key[UFCB]{glofill}{blackfieldcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,blackfieldcolor=#1}{}}% \define@key[UFCB]{locfill}{fieldcolor}{% D \board@do@setsinglekeys*[UFCB]{locfill}{% whitefieldcolor=#1, blackfieldcolor=#1}} \define@key[UFCB]{glofill}{fieldcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,fieldcolor=#1}{}}% \define@key[UFCB]{locfill}{whiteonwhitepiecemaskcolor}{% D \board@do@l@addto@macro\board@val@fontcolorstack {\def\cfss@whiteonwhitepiecemaskcolor{\color{#1}}}} \define@key[UFCB]{glofill}{whiteonwhitepiecemaskcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,whiteonwhitepiecemaskcolor=#1}{}}% \define@key[UFCB]{locfill}{whiteonblackpiecemaskcolor}{% D \board@do@l@addto@macro\board@val@fontcolorstack {\def\cfss@whiteonblackpiecemaskcolor{\color{#1}}}} \define@key[UFCB]{glofill}{whiteonblackpiecemaskcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,whiteonblackpiecemaskcolor=#1}{}}% \define@key[UFCB]{locfill}{blackonwhitepiecemaskcolor}{% D \board@do@l@addto@macro\board@val@fontcolorstack {\def\cfss@blackonwhitepiecemaskcolor{\color{#1}}}} \define@key[UFCB]{glofill}{blackonwhitepiecemaskcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,blackonwhitepiecemaskcolor=#1}{}}% \define@key[UFCB]{locfill}{blackonblackpiecemaskcolor}{% D \board@do@l@addto@macro\board@val@fontcolorstack {\def\cfss@blackonblackpiecemaskcolor{\color{#1}}}} \define@key[UFCB]{glofill}{blackonblackpiecemaskcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,blackonblackpiecemaskcolor=#1}{}}% \define@key[UFCB]{locfill}{whitepiecemaskcolor}{% D \board@do@setsinglekeys*[UFCB]{locfill}{% whiteonwhitepiecemaskcolor=#1, whiteonblackpiecemaskcolor=#1}} \define@key[UFCB]{glofill}{whitepiecemaskcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,whitepiecemaskcolor=#1}{}}% \define@key[UFCB]{locfill}{blackpiecemaskcolor}{% D \board@do@setsinglekeys*[UFCB]{locfill}{% blackonwhitepiecemaskcolor=#1, blackonblackpiecemaskcolor=#1}} \define@key[UFCB]{glofill}{blackpiecemaskcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,blackpiecemaskcolor=#1}{}}% \define@key[UFCB]{locfill}{onwhitepiecemaskcolor}{% D \board@do@setsinglekeys*[UFCB]{locfill}{% whiteonwhitepiecemaskcolor=#1, blackonwhitepiecemaskcolor=#1}} \define@key[UFCB]{glofill}{onwhitepiecemaskcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,onwhitepiecemaskcolor=#1}{}}% \define@key[UFCB]{locfill}{onblackpiecemaskcolor}{% D \board@do@setsinglekeys*[UFCB]{locfill}{% whiteonblackpiecemaskcolor=#1, blackonblackpiecemaskcolor=#1}} \define@key[UFCB]{glofill}{onblackpiecemaskcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,onblackpiecemaskcolor=#1}{}}% \define@key[UFCB]{locfill}{piecemaskcolor}{% D \board@do@setsinglekeys*[UFCB]{locfill}{% whiteonwhitepiecemaskcolor=#1, whiteonblackpiecemaskcolor=#1, blackonwhitepiecemaskcolor=#1, blackonblackpiecemaskcolor=#1}} \define@key[UFCB]{glofill}{piecemaskcolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,piecemaskcolor=#1}{}}% \define@key[UFCB]{locfill}{whitepiececolor}{% D \board@do@l@addto@macro\board@val@fontcolorstack {\def\cfss@whitepiececolor{\color{#1}}}} \define@key[UFCB]{glofill}{whitepiececolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,whitepiececolor=#1}{}}% \define@key[UFCB]{locfill}{blackpiececolor}{% D \board@do@l@addto@macro\board@val@fontcolorstack {\def\cfss@blackpiececolor{\color{#1}}}} \define@key[UFCB]{glofill}{blackpiececolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,blackpiececolor=#1}{}}% \define@key[UFCB]{locfill}{piececolor}{% D \board@do@setsinglekeys*[UFCB]{locfill}{% whitepiececolor=#1, blackpiececolor=#1}} \define@key[UFCB]{glofill}{piececolor}{% D \board@do@l@addto@macro\board@val@savedkeylist{,piececolor=#1}{}}% %% Obsolete + changed, use whitepiececolor \define@key[UFCB]{locfill}{colorwhite}{% D \board@do@l@addto@macro\board@val@fontcolorstack {\def\cfss@whitepiececolor{\color{#1}}}} \define@key[UFCB]{glofill}{colorwhite}{% D \board@do@l@addto@macro\board@val@savedkeylist{,colorwhite=#1}{}}% \define@key[UFCB]{locfill}{colorblack}{% D \board@do@l@addto@macro\board@val@fontcolorstack {\def\cfss@blackpiececolor{\color{#1}}}} \define@key[UFCB]{glofill}{colorblack}{% D \board@do@l@addto@macro\board@val@savedkeylist{,colorblack=#1}{}}% %% end obsolete %% setting board colors \define@key[UFCB]{locfill}{setfontcolors}[true]{% D \let\board@val@boardfontcolors\board@val@fontcolorstack} \define@key[UFCB]{glofill}{setfontcolors}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,setfontcolors=#1}{}}% \define@key[UFCB]{locfill}{addfontcolors}[true]{% D \toks@=\expandafter{\board@val@fontcolorstack}% \edef\@@next{\noexpand\board@do@l@addto@macro\noexpand\board@val@boardfontcolors{\the\toks@}}% \@@next} \define@key[UFCB]{glofill}{setfontcolors}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,setfontcolors=#1}{}}% %% color in areas. %%% enable postscript units and node \define@boolkey[UFCB]{locset}{psset}[true]{}% D \define@boolkey[UFCB]{gloset}{psset}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,psset=#1}{}}% %%% redefines some skak commands/skak counters \define@boolkey[UFCB]{locset}{psskak}[true]{}% D \define@boolkey[UFCB]{gloset}{psskak}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,psskak=#1}{}}% %%%%%% %% "fill"-Keys that can be used more than once %%%%%% %%%% %% language %%%% \define@key[UFCB]{locfill}{language}{% D \edef\board@val@curlang{#1}}% \define@key[UFCB]{glofill}{language}{% D \board@do@l@addto@macro\board@val@savedkeylist{,language=#1}}% %%%% %% clearing %%%% \define@key[UFCB]{locfill}{cleararea}{% D \edef\board@temp@list{#1}% \@for\board@temp@curarea:=\board@temp@list\do {\board@do@cleararea{\board@temp@curarea}}}% \define@key[UFCB]{glofill}{cleararea}{% D \board@do@l@addto@macro\board@val@savedkeylist{,cleararea=#1}}% \define@key[UFCB]{locfill}{clearareas}{% D \edef\board@temp@list{#1}% \@for\board@temp@curarea:=\board@temp@list\do {\board@do@cleararea{\board@temp@curarea}}}% \define@key[UFCB]{glofill}{clearareas}{% D \board@do@l@addto@macro\board@val@savedkeylist{,clearareas=#1}}% \define@key[UFCB]{locfill}{clearboard}[true]{%D \edef\board@temp@curstartfield{\board@val@minfilechar\board@val@maxranknum}% \edef\board@temp@curstopfield{\board@val@maxfilechar\board@val@minranknum}% \board@do@setsinglekeys*[UFCB]{locfill}{cleararea=\board@temp@curstartfield-\board@temp@curstopfield}}% \define@key[UFCB]{glofill}{clearboard}[true]{%D \board@do@l@addto@macro\board@val@savedkeylist{,clearboard=#1}}% \define@key[UFCB]{locfill}{clearrank}{%D \edef\board@temp@list{#1}% \@for\board@temp@currank:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}% \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}% \board@do@setsinglekeys*[UFCB]{locfill}{% cleararea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{clearrank}{%D \board@do@l@addto@macro\board@val@savedkeylist{,clearrank={#1}}}% \define@key[UFCB]{locfill}{clearranks}{%D \edef\board@temp@list{#1}% \@for\board@temp@currank:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}% \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}% \board@do@setsinglekeys*[UFCB]{locfill}{% cleararea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{clearranks}{%D \board@do@l@addto@macro\board@val@savedkeylist{,clearranks={#1}}}% \define@key[UFCB]{locfill}{clearfile}{%D \edef\board@temp@list{#1}% \@for\board@temp@curfile:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}% \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}% \board@do@setsinglekeys*[UFCB]{locfill}{% cleararea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{clearfile}{%D \board@do@l@addto@macro\board@val@savedkeylist{,clearfile={#1}}}% \define@key[UFCB]{locfill}{clearfiles}{%D \edef\board@temp@list{#1}% \@for\board@temp@curfile:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}% \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}% \board@do@setsinglekeys*[UFCB]{locfill}{% cleararea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{clearfiles}{%D \board@do@l@addto@macro\board@val@savedkeylist{,clearfiles={#1}}}% \define@key[UFCB]{locfill}{clearfield}{% #1=list of fields %D \edef\board@temp@list{#1}% \@for\board@temp@curfield:=\board@temp@list\do {\board@do@setsinglekeys*[UFCB]{locfill}{cleararea=\board@temp@curfield-\board@temp@curfield}}}% \define@key[UFCB]{glofill}{clearfield}{% %D \board@do@l@addto@macro\board@val@savedkeylist{,clearfield={#1}}}% \define@key[UFCB]{locfill}{clearfields}{% #1=list of fields %D \edef\board@temp@list{#1}% \@for\board@temp@curfield:=\board@temp@list\do {\board@do@setsinglekeys*[UFCB]{locfill}{cleararea=\board@temp@curfield-\board@temp@curfield}}}% \define@key[UFCB]{glofill}{clearfields}{% %D \board@do@l@addto@macro\board@val@savedkeylist{,clearfields={#1}}}% %%%% %% hiding %%%% \define@key[UFCB]{locfill}{hidearea}{% D \board@do@hidearea{#1}}% \define@key[UFCB]{glofill}{hidearea}{% D \board@do@l@addto@macro\board@val@savedkeylist{,hidearea=#1}}% \define@key[UFCB]{locfill}{hideareas}{% D \edef\board@temp@list{#1}% \@for\board@temp@curarea:=\board@temp@list\do {\board@do@hidearea{\board@temp@curarea}}}% \define@key[UFCB]{glofill}{hideareas}{% D \board@do@l@addto@macro\board@val@savedkeylist{,hideareas=#1}}% \define@key[UFCB]{locfill}{hideboard}[true]{% D \edef\board@temp@curstartfield{\board@val@minfilechar\board@val@maxranknum}% \edef\board@temp@curstopfield{\board@val@maxfilechar\board@val@minranknum}% \board@do@setsinglekeys*[UFCB]{locfill}{hidearea=\board@temp@curstartfield-\board@temp@curstopfield}}% \define@key[UFCB]{glofill}{hideboard}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,hideboard=#1}}% \define@key[UFCB]{locfill}{hiderank}{% D \edef\board@temp@list{#1}% \@for\board@temp@currank:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}% \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}% \board@do@setsinglekeys*[UFCB]{locfill}{% hidearea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{hiderank}{% D \board@do@l@addto@macro\board@val@savedkeylist{,hiderank={#1}}}% \define@key[UFCB]{locfill}{hideranks}{% D \edef\board@temp@list{#1}% \@for\board@temp@currank:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}% \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}% \board@do@setsinglekeys*[UFCB]{locfill}{% hidearea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{hideranks}{% D \board@do@l@addto@macro\board@val@savedkeylist{,hideranks={#1}}}% \define@key[UFCB]{locfill}{hidefile}{% D \edef\board@temp@list{#1}% \@for\board@temp@curfile:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}% \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}% \board@do@setsinglekeys*[UFCB]{locfill}{% hidearea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{hidefile}{% D \board@do@l@addto@macro\board@val@savedkeylist{,hidefile={#1}}}% \define@key[UFCB]{locfill}{hidefiles}{% D \edef\board@temp@list{#1}% \@for\board@temp@curfile:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}% \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}% \board@do@setsinglekeys*[UFCB]{locfill}{% hidearea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{hidefiles}{% D \board@do@l@addto@macro\board@val@savedkeylist{,hidefiles={#1}}}% \define@key[UFCB]{locfill}{hidefields}{% D #1=list of fields \edef\board@temp@list{#1}% \@for\board@temp@curfield:=\board@temp@list\do {\board@do@setsinglekeys*[UFCB]{locfill}{hidearea=\board@temp@curfield-\board@temp@curfield}}}% \define@key[UFCB]{glofill}{hidefields}{% D \board@do@l@addto@macro\board@val@savedkeylist{,hidefields={#1}}}% \define@key[UFCB]{locfill}{hidefield}{% D #1=list of fields \edef\board@temp@list{#1}% \@for\board@temp@curfield:=\board@temp@list\do {\board@do@setsinglekeys*[UFCB]{locfill}{hidearea=\board@temp@curfield-\board@temp@curfield}}}% \define@key[UFCB]{glofill}{hidefield}{% D \board@do@l@addto@macro\board@val@savedkeylist{,hidefield={#1}}}% \define@key[UFCB]{locfill}{hidepiece}{% D list of chars \board@do@hidetypelist{#1}}% \define@key[UFCB]{glofill}{hidepiece}{% D \board@do@l@addto@macro\board@val@savedkeylist{,hidepiece={#1}}}% \define@key[UFCB]{locfill}{hidepieces}{% D list of chars \board@do@hidetypelist{#1}}% \define@key[UFCB]{glofill}{hidepieces}{% D \board@do@l@addto@macro\board@val@savedkeylist{,hidepieces={#1}}}% \define@key[UFCB]{locfill}{hidewhite}[true]{% D \edef\board@temp@list{% \csname board@\board@val@game @whitepiececharlist\endcsname}% \board@do@hidetypelist{\board@temp@list}}% \define@key[UFCB]{glofill}{hidewhite}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,hidewhite=#1}}% \define@key[UFCB]{locfill}{hideblack}[true]{% D \edef\board@temp@list{% \csname board@\board@val@game @blackpiececharlist\endcsname}% \board@do@hidetypelist{\board@temp@list}}% \define@key[UFCB]{glofill}{hideblack}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,hideblack=#1}}% \define@key[UFCB]{locfill}{hideall}[true]{% D \edef\board@temp@list{% \csname board@\board@val@game @piececharlist\endcsname}% \board@do@hidetypelist{\board@temp@list}}% \define@key[UFCB]{glofill}{hideall}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,hideall=#1}}% %%%% %% show %%%% \define@key[UFCB]{locfill}{showarea}{% \board@do@showarea{#1}}% \define@key[UFCB]{glofill}{showarea}{% \board@do@l@addto@macro\board@val@savedkeylist{,showarea=#1}}% \define@key[UFCB]{locfill}{showareas}{% D \edef\board@temp@list{#1}% \@for\board@temp@curarea:=\board@temp@list\do {\board@do@showarea{\board@temp@curarea}}}% \define@key[UFCB]{glofill}{showareas}{% D \board@do@l@addto@macro\board@val@savedkeylist{,showareas=#1}}% \define@key[UFCB]{locfill}{showboard}[true]{% \edef\board@temp@curstartfield{\board@val@minfilechar\board@val@maxranknum}% \edef\board@temp@curstopfield{\board@val@maxfilechar\board@val@minranknum}% \board@do@setsinglekeys*[UFCB]{locfill}{showarea=\board@temp@curstartfield-\board@temp@curstopfield}}% \define@key[UFCB]{glofill}{showboard}[true]{% \board@do@l@addto@macro\board@val@savedkeylist{,showboard=#1}}% \define@key[UFCB]{locfill}{showrank}{% \edef\board@temp@list{#1}% \@for\board@temp@currank:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}% \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}% \board@do@setsinglekeys*[UFCB]{locfill}{% showarea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{showrank}{% \board@do@l@addto@macro\board@val@savedkeylist{,showrank={#1}}}% \define@key[UFCB]{locfill}{showranks}{% \edef\board@temp@list{#1}% \@for\board@temp@currank:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}% \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}% \board@do@setsinglekeys*[UFCB]{locfill}{% showarea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{showranks}{% \board@do@l@addto@macro\board@val@savedkeylist{,showranks={#1}}}% \define@key[UFCB]{locfill}{showfile}{% \edef\board@temp@list{#1}% \@for\board@temp@curfile:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}% \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}% \board@do@setsinglekeys*[UFCB]{locfill}{% showarea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{showfile}{% \board@do@l@addto@macro\board@val@savedkeylist{,showfile={#1}}}% \define@key[UFCB]{locfill}{showfiles}{% \edef\board@temp@list{#1}% \@for\board@temp@curfile:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}% \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}% \board@do@setsinglekeys*[UFCB]{locfill}{% showarea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{showfiles}{% \board@do@l@addto@macro\board@val@savedkeylist{,showfiles={#1}}}% \define@key[UFCB]{locfill}{showfield}{% #1=list of fields \edef\board@temp@list{#1}% \@for\board@temp@curfield:=\board@temp@list\do {\board@do@setsinglekeys*[UFCB]{locfill}{hidearea=\board@temp@curfield-\board@temp@curfield}}}% \define@key[UFCB]{glofill}{showfield}{% \board@do@l@addto@macro\board@val@savedkeylist{,showfield={#1}}}% \define@key[UFCB]{locfill}{showfields}{% #1=list of fields \edef\board@temp@list{#1}% \@for\board@temp@curfield:=\board@temp@list\do {\board@do@setsinglekeys*[UFCB]{locfill}{hidearea=\board@temp@curfield-\board@temp@curfield}}}% \define@key[UFCB]{glofill}{showfields}{% \board@do@l@addto@macro\board@val@savedkeylist{,showfields={#1}}}% \define@key[UFCB]{locfill}{showpiece}{% list of chars \board@do@showtypelist{#1}}% \define@key[UFCB]{glofill}{showpiece}{% \board@do@l@addto@macro\board@val@savedkeylist{,showpieces={#1}}}% \define@key[UFCB]{locfill}{showpieces}{% list of chars \board@do@showtypelist{#1}}% \define@key[UFCB]{glofill}{showpieces}{% \board@do@l@addto@macro\board@val@savedkeylist{,showpieces={#1}}}% %%%% %% fen %%%% %%% fen "corners \define@key[UFCB]{locfill}{startfen}{% D \expandafter\board@split@field#1ARGEND% \let\board@val@startfenfilechar\board@temp@curfilechar \let\board@val@startfenfilenum\board@temp@curfilenum \let\board@val@startfenranknum\board@temp@curranknum}% \define@key[UFCB]{glofill}{startfen}{% D \board@do@l@addto@macro\board@val@savedkeylist{,startfen=#1}}% \define@key[UFCB]{locfill}{startfill}{% D \expandafter\board@split@field#1ARGEND% \let\board@val@startfillfilechar\board@temp@curfilechar \let\board@val@startfillfilenum\board@temp@curfilenum \let\board@val@startfillranknum\board@temp@curranknum}% \define@key[UFCB]{glofill}{startfill}{% D \board@do@l@addto@macro\board@val@savedkeylist{,startfill=#1}}% \define@key[UFCB]{locfill}{stopfill}{% D \expandafter\board@split@field#1ARGEND% \let\board@val@stopfillfilechar\board@temp@curfilechar \let\board@val@stopfillfilenum\board@temp@curfilenum \let\board@val@stopfillranknum\board@temp@curranknum}% \define@key[UFCB]{glofill}{stopfill}{% D \board@do@l@addto@macro\board@val@savedkeylist{,startfill=#1}}% \define@key[UFCB]{locfill}{fillarea}{% a7-f1 %D \expandafter\board@split@areasort#1ARGEND% \board@do@setsinglekeys*[UFCB]{locfill}{% startfill=\board@temp@curstartfield, stopfill=\board@temp@curstopfield}}% \define@key[UFCB]{glofill}{fillarea}{% D \board@do@l@addto@macro\board@val@savedkeylist{,fillarea=#1}}% %%% %% setting pieces with fen %%% \define@key[UFCB]{locfill}{@fen}{% \board@split@fen#1 X X X X X X XARGEND% \board@scan@fen{\board@val@position}}% \def\board@setfenkey#1|{\board@do@setsinglekeys*[UFCB]{locfill}{@fen=#1}}% %%change 1.5 \define@key[UFCB]{locfill}{setfen}{% D \board@do@setsinglekeys*[UFCB]{locfill}{clearboard}% \edef\board@temp@fen{#1}% \expandafter\board@setfenkey\board@temp@fen|}% \define@key[UFCB]{glofill}{setfen}{% D \board@do@l@addto@macro\board@val@savedkeylist{,setfen=#1}}% \define@key[UFCB]{locfill}{addfen}{% D \expandafter\board@setfenkey#1|}% \define@key[UFCB]{glofill}{addfen}{% D \board@do@l@addto@macro\board@val@savedkeylist{,addfen=#1}}% %%% other name for usefen \define@key[UFCB]{locfill}{restorefen}{% D \edef\board@temp@curfen{\csname chessgame.#1\endcsname}% \board@do@setsinglekeys*[UFCB]{locfill}{language=english, addfen=\board@temp@curfen, language=\board@val@savelang}}% \define@key[UFCB]{glofill}{restorefen}{% D \board@do@l@addto@macro\board@val@savedkeylist{,restorefen=#1}}%cor 1.5. \define@key[UFCB]{locfill}{loadfen}{% D \board@do@loadfen{#1}% \board@do@setsinglekeys*[UFCB]{locfill}{language=english, addfen=\board@temp@curfen, language=\board@val@savelang}}% \define@key[UFCB]{glofill}{loadfen}{% D \board@do@l@addto@macro\board@val@savedkeylist{,loadfen=#1}}% %%%% %% rest of fen %%%% \define@key[UFCB]{locfill}{mover}{\def\board@val@mover{#1}} %D %changed 02.08.2007 to allow commands as input \define@key[UFCB]{locfill}{castling}{\def\board@val@castling{#1}} %D \define@key[UFCB]{locfill}{enpassant}{\def\board@val@enpassant{#1}} %D \define@key[UFCB]{locfill}{halfmove}{\def\board@val@halfmove{#1}} %D \define@key[UFCB]{locfill}{fullmove}{\def\board@val@fullmove{#1}} %D \define@key[UFCB]{glofill}{mover}{\board@do@l@addto@macro\board@val@savedkeylist{,mover=#1}} %D \define@key[UFCB]{glofill}{castling}{\board@do@l@addto@macro\board@val@savedkeylist{,castling=#1}} %D \define@key[UFCB]{glofill}{enpassant}{\board@do@l@addto@macro\board@val@savedkeylist{,enpassant=#1}} %D \define@key[UFCB]{glofill}{halfmove}{\board@do@l@addto@macro\board@val@savedkeylist{,halfmove=#1}} %D \define@key[UFCB]{glofill}{fullmove}{\board@do@l@addto@macro\board@val@savedkeylist{,fullmove=#1}} %D %%% saving fen \define@key[UFCB]{locfill}{storefen}{% D \board@do@storefen{#1}}% D \define@key[UFCB]{glofill}{storefen}{% D \board@do@l@addto@macro\board@val@savedkeylist{,storefen=#1}}% \define@key[UFCB]{locfill}{savefen}{\board@do@savefen{#1}} %D \define@key[UFCB]{glofill}{savefen}{% D \board@do@l@addto@macro\board@val@savedkeylist{,savefen=#1}}% \define@key[UFCB]{locfill}{startstore}{% D \expandafter\board@split@field#1ARGEND% \let\board@val@startstorefilechar\board@temp@curfilechar \let\board@val@startstorefilenum\board@temp@curfilenum \let\board@val@startstoreranknum\board@temp@curranknum% }% \define@key[UFCB]{glofill}{startstore}{% D \board@do@l@addto@macro\board@val@savedkeylist{,startstore=#1}}% \define@key[UFCB]{locfill}{stopstore}{% D \expandafter\board@split@field#1ARGEND% \let\board@val@stopstorefilechar\board@temp@curfilechar \let\board@val@stopstorefilenum\board@temp@curfilenum \let\board@val@stopstoreranknum\board@temp@curranknum}% \define@key[UFCB]{glofill}{stopstore}{% D \board@do@l@addto@macro\board@val@savedkeylist{,stopstore=#1}}% \define@key[UFCB]{locfill}{storearea}{% a7-f1 %D \expandafter\board@split@areasort#1ARGEND% \board@do@setsinglekeys*[UFCB]{locfill}{% startstore=\board@temp@curstartfield, stopstore=\board@temp@curstopfield}}% \define@key[UFCB]{glofill}{storearea}{% D \board@do@l@addto@macro\board@val@savedkeylist{,storearea=#1}}% %%%%%% %%% Adding pieces %%%%%% \define@key[UFCB]{locfill}{setpieces}{% D \board@do@setsinglekeys*[UFCB]{locfill}{clearboard=true}% \board@do@addpieces{#1}}% \define@key[UFCB]{glofill}{setpieces}{% D \board@do@l@addto@macro\board@val@savedkeylist{,setpieces={#1}}}% \define@key[UFCB]{locfill}{addpieces}{% D \board@do@addpieces{#1}}% \define@key[UFCB]{glofill}{addpieces}{% D \board@do@l@addto@macro\board@val@savedkeylist{,addpieces={{#1}}}}% \define@key[UFCB]{locfill}{setwhite}{% D \board@do@setsinglekeys*[UFCB]{locfill}{clearboard=true}% \board@do@addwhitepieces{#1}}% \define@key[UFCB]{glofill}{setwhite}{% D \board@do@l@addto@macro\board@val@savedkeylist{,setwhite={#1}}}% \define@key[UFCB]{locfill}{addwhite}{% D \board@do@addwhitepieces{#1}}% \define@key[UFCB]{glofill}{addwhite}{% D \board@do@l@addto@macro\board@val@savedkeylist{,addwhite={#1}}}% \define@key[UFCB]{locfill}{setblack}{% D \board@do@setsinglekeys*[UFCB]{locfill}{clearboard=true}% \board@do@addblackpieces{#1}}% \define@key[UFCB]{glofill}{setblack}{% D \board@do@l@addto@macro\board@val@savedkeylist{,setblack={#1}}}% \define@key[UFCB]{locfill}{addblack}{% D \board@do@addblackpieces{#1}}% \define@key[UFCB]{glofill}{addblack}{% D \board@do@l@addto@macro\board@val@savedkeylist{,addblack={#1}}}% %% getting field lists for piece types \define@key[UFCB]{locfill}{getpiecelists}[true]{% D \board@do@getpiecelists} \define@key[UFCB]{glofill}{getpiecelists}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,getpiecelists={#1}}}% %%\define@key[UFCB]{main}{fontsize}{\setboardfontsize{#1}}% %% "emphazing" \define@boolkey[UFCB]{locfill}{coloremph}[true]{} \define@boolkey[UFCB]{glofill}{coloremph}[true]{% D \board@do@l@addto@macro\board@val@savedkeylist{,coloremph={#1}}}% \define@key[UFCB]{locfill}{emphstyle}{% D \def\board@val@pieceemph{#1}}% \define@key[UFCB]{glofill}{emphstyle}{% D \board@do@l@addto@macro\board@val@savedkeylist{,emphstyle={#1}}}% \define@key[UFCB]{locfill}{coloremphstyle}[\relax]{% D \board@do@setsinglekeys*[UFCB]{locfill}{coloremph}% \def\board@val@pieceemph{#1}}% \define@key[UFCB]{glofill}{coloremphstyle}{% D \board@do@l@addto@macro\board@val@savedkeylist{,coloremphstyle={#1}}}% \define@key[UFCB]{locfill}{empharea}{% D \board@do@empharea{#1}}% \define@key[UFCB]{glofill}{empharea}{% D \board@do@l@addto@macro\board@val@savedkeylist{,empharea=#1}}% \define@key[UFCB]{locfill}{emphareas}{% D \XKV@sp@deflist\board@templist{#1}% \edef\board@templist{\board@templist}% \@for\board@temp@curarea:=\board@templist\do {\ifx\board@temp@curarea\@empty\else \board@do@empharea{\board@temp@curarea}% \fi}}% \define@key[UFCB]{glofill}{emphareas}{% D \board@do@l@addto@macro\board@val@savedkeylist{,emphareas={#1}}}% \define@key[UFCB]{locfill}{emphboard}[true]{%D \edef\board@temp@curstartfield{\board@val@minfilechar\board@val@maxranknum}% \edef\board@temp@curstopfield{\board@val@maxfilechar\board@val@minranknum}% \board@do@setsinglekeys*[UFCB]{locfill}{empharea=\board@temp@curstartfield-\board@temp@curstopfield}}% \define@key[UFCB]{glofill}{emphboard}[true]{%D \board@do@l@addto@macro\board@val@savedkeylist{,emphboard=#1}}% \define@key[UFCB]{locfill}{emphranks}{%D \edef\board@temp@list{#1}% \@for\board@temp@currank:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}% \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}% \board@do@setsinglekeys*[UFCB]{locfill}{% empharea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{emphranks}{%D \board@do@l@addto@macro\board@val@savedkeylist{,emphranks={#1}}}% \define@key[UFCB]{locfill}{emphrank}{% D \board@do@setsinglekeys*[UFCB]{locfill}{% emphranks=#1}}% \define@key[UFCB]{glofill}{emphrank}{%D \board@do@l@addto@macro\board@val@savedkeylist{,emphrank={#1}}}% \define@key[UFCB]{locfill}{emphfiles}{%D \edef\board@temp@list{#1}% \@for\board@temp@curfile:=\board@temp@list\do {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}% \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}% \board@do@setsinglekeys*[UFCB]{locfill}{% empharea=\board@temp@curstartfield-\board@temp@curstopfield}}}% \define@key[UFCB]{glofill}{emphfiles}{%D \board@do@l@addto@macro\board@val@savedkeylist{,emphfiles={#1}}}% \define@key[UFCB]{locfill}{emphfile}{% D \board@do@setsinglekeys*[UFCB]{locfill}{% emphfiles=#1}}% \define@key[UFCB]{glofill}{emphfile}{%D \board@do@l@addto@macro\board@val@savedkeylist{,emphfile=#1}}% \define@key[UFCB]{locfill}{emphfields}{% D \edef\board@temp@list{#1}% \@for\board@temp@curfield:=\board@temp@list\do {\expandafter\board@split@field\board@temp@curfield ARGEND% \board@do@store@pieceemph{\board@temp@curfilenum}{\board@temp@curranknum}}}% \define@key[UFCB]{glofill}{emphfields}{% \board@do@l@addto@macro\board@val@savedkeylist{,emphpieces={#1}}}% \define@key[UFCB]{locfill}{emphfield}{% D \board@do@setsinglekeys*[UFCB]{locfill}{% emphfields=#1}}% \define@key[UFCB]{glofill}{emphfield}{%D \board@do@l@addto@macro\board@val@savedkeylist{,emphfield=#1}}% \define@key[UFCB]{locfill}{colorpieces}{% D \PackageWarning{chessboard}{The key colorpieces doesn't work anymore. \MessageBreak Use the emph-keys instead.}}% \define@key[UFCB]{glofill}{colorpieces}{% D \board@do@l@addto@macro\board@val@savedkeylist{,colorpieces={#1}}}% %%%%%%%%%%%%%%% %% setting the game %%%%%%%%%%%%%%% \define@key[UFCB]{locinit}{game}{% \def\board@val@game{#1}}% \define@key[UFCB]{gloinit}{game}{% \board@do@l@addto@macro\board@val@savedkeylist{,game=#1}{}}% \endinput %% %% End of file `chessboard-keys-main.sty'.