diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-13 00:08:52 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-13 00:08:52 +0000 |
commit | 84f6459a27effe7fec2d3d379761b56fb959d34e (patch) | |
tree | 039e7228b95b4a2f861d1d4ecce8ac29ca2cf868 /Master/texmf-dist/tex/latex | |
parent | e30fedebff82d6b66056ea4af82f27c1235f584f (diff) |
texmate
git-svn-id: svn://tug.org/texlive/trunk@1379 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/texmate/texmate.sty | 282 |
1 files changed, 282 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/texmate/texmate.sty b/Master/texmf-dist/tex/latex/texmate/texmate.sty new file mode 100644 index 00000000000..998a3fd9ff4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/texmate/texmate.sty @@ -0,0 +1,282 @@ +%% +%% This is file `texmate.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texmate.dtx (with options: `package') +%% +%% Copyright 2005 Federico Garcia +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{texmate}[2005/03/12 v1 Chess typesetting (Federico Garcia)] +\newif\if@filling\@fillingfalse +\DeclareOption{filling}{\@fillingtrue} +\DeclareOption{notfilling}{\@fillingfalse} +\DeclareOption*{\typeout{Unknown option (`\CurrentOption')}} +\ExecuteOptions{filling} +\ProcessOptions +\def\pieceinitials#1{\@initials#1} +\def\@initials#1#2#3#4#5#6{% + \def\@Pawn{#1}\def\@Rook{#2}\def\@Knight{#3}% + \def\@Bishop{#4}\def\@Queen{#5}\def\@King{#6}% + \lowercase{\def\@pawn{#1}\def\@rook{#2}\def\@knight{#3}% + \def\@bishop{#4}\def\@queen{#5}\def\@king{#6}}} +\newlength\diagramsize +\newcount\SquareNo +\newcount\@squarecount +\newif\if@blacksq\@blacksqfalse +\def\@togglesq{\if@blacksq\@blacksqfalse\else\@blacksqtrue\fi} +\newcount\@piececode +\def\diagram#1{\font\diagramfont=skak10 at \the\diagramsize + \@squarecount\SquareNo + \bgroup + \setlength\fboxsep{.8pt}% + \fbox{\parbox{\the\SquareNo\diagramsize}{% + \baselineskip\diagramsize\diagramfont\@diagline#1.}}\egroup} +\def\@diagpiece#1{\def\temp{#1}\symbol{% + \ifx\temp\@pawn\if@blacksq'157\else'160\fi\else + \ifx\temp\@rook\if@blacksq'163\else'162\fi\else + \ifx\temp\@knight\if@blacksq'155\else'156\fi\else + \ifx\temp\@bishop\if@blacksq'141\else'142\fi\else + \ifx\temp\@queen\if@blacksq'154\else'161\fi\else + \ifx\temp\@king\if@blacksq'152\else'153\fi\else + \ifx\temp\@Pawn\if@blacksq'117\else'120\fi\else + \ifx\temp\@Rook\if@blacksq'123\else'122\fi\else + \ifx\temp\@Knight\if@blacksq'115\else'116\fi\else + \ifx\temp\@Bishop\if@blacksq'101\else'102\fi\else + \ifx\temp\@Queen\if@blacksq'114\else'121\fi\else + \ifx\temp\@King\if@blacksq'112\else'113\fi\else + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}} +\def\@diagline#1{\@tempcnta0 \let\next\@diagline + \ifx#1.\let\next\relax\if@filling\@dospaces{\@squarecount}\fi + \else\ifx#1/\def\next{\if@filling\@dospaces{\@squarecount}\fi + \newline\@togglesq\@squarecount\SquareNo\relax + \@diagline}% + \else\ifcat1#12\@dospaces{#1}% + \else\@diagpiece#1\advance\@squarecount-1 \@togglesq + \fi\fi\fi + \next} +\def\@dospaces#1{\ifnum#1>0 + \if@blacksq\symbol{'132}\else\hphantom{\symbol{'132}}\fi + \@togglesq\@tempcntb#1 \advance\@tempcnta1 \advance\@squarecount-1 + \ifnum\@tempcnta<\@tempcntb\let\@next\@dospaces\else + \let\@next\@gobble\fi + \@next\@tempcntb\fi} +\newcommand{\skakfamily}{\usefont{U}{skak}{m}{n}} +\DeclareTextFontCommand{\textskakbf}{\skakfamily\bfseries} +\DeclareTextFontCommand{\textskak}{\skakfamily} +\newcount\@rk\@rk'122 +\newcount\@kt\@kt'116 +\newcount\@bp\@bp'102 +\newcount\@qn\@qn'121 +\newcount\@kg\@kg'113 +\DeclareRobustCommand\rook{\@piece\@rk } +\DeclareRobustCommand\knight{\@piece\@kt } +\DeclareRobustCommand\bishop{\@piece\@bp } +\DeclareRobustCommand\queen{\@piece\@qn } +\DeclareRobustCommand\king{\@piece\@kg } +\def\@piece#1{\bgroup\catcode`\x=11 \textpiece{\symbol{#1}}\egroup} +\def\@@piece#1{\def\temp{#1}% + \ifx\temp\@Rook\rook\else + \ifx\temp\@Knight\knight\else + \ifx\temp\@Bishop\bishop\else + \ifx\temp\@Queen\queen\else + \ifx\temp\@King\king\else + #1\fi\fi\fi\fi\fi} +\DeclareRobustCommand\takes{\makebox[1.2ex][c]{$\times$}} +{\catcode`\x=13 \gdefx{\takes}} +\def\@chesssymbol#1{\bgroup\catcode`\x=11 + \smash{\textskak{\symbol{#1}}}\egroup } +\DeclareRobustCommand\checksign{\smash{\@piece{'053}}} +\DeclareRobustCommand\mate{\smash{\@piece{'155}}} +\DeclareRobustCommand\wbetter{\raisebox{-.1ex}{\@chesssymbol{'146}}} +\DeclareRobustCommand\bbetter{\raisebox{-.1ex}{\@chesssymbol{'147}}} +\DeclareRobustCommand\wBetter{\raisebox{-.35ex}{\@chesssymbol{'143}}} +\DeclareRobustCommand\bBetter{\@chesssymbol{'145}} +\DeclareRobustCommand\WBetter{{\large\@chesssymbol{'150}}} +\DeclareRobustCommand\BBetter{{\large\@chesssymbol{'151}}} +\DeclareRobustCommand\equal{=} +\DeclareRobustCommand\unclear{\raisebox{-.5ex}{{\Large\@chesssymbol{'153}}}} +\DeclareRobustCommand\compensation{{\large\@chesssymbol{'156}}} +\DeclareRobustCommand\development{{\footnotesize\@chesssymbol{'164}}} +\DeclareRobustCommand\spaceadv{{\footnotesize\@chesssymbol{'171}}} +\DeclareRobustCommand\attack{\raisebox{-.3ex}{{\large\@chesssymbol{'101}}}} +\DeclareRobustCommand\initiative{\raisebox{-.2ex}{{\large\@chesssymbol{'103}}}} +\DeclareRobustCommand\counterplay{{\large\@chesssymbol{'126}}} +\DeclareRobustCommand\zugzwang{{\small\@chesssymbol{'104}}} +\DeclareRobustCommand\withidea{{\footnotesize\@chesssymbol{'105}}} +\DeclareRobustCommand\onlymove{{\footnotesize\@chesssymbol{'106}}} +\DeclareRobustCommand\betteris{{\footnotesize\@chesssymbol{'142}}} +\DeclareRobustCommand\boardfile{\@chesssymbol{'110}} +\DeclareRobustCommand\boarddiagonal{{\small\@chesssymbol{'107}}} +\DeclareRobustCommand\boardcenter{{\small\@chesssymbol{'111}}} +\DeclareRobustCommand\kingside{\@chesssymbol{'117}} +\DeclareRobustCommand\queenside{\@chesssymbol{'115}} +\DeclareRobustCommand\weak{{\small\@chesssymbol{'170}}} +\DeclareRobustCommand\ending{{\footnotesize\@chesssymbol{'114}}} +\DeclareRobustCommand\bishops{\@chesssymbol{'141}} +\DeclareRobustCommand\oppositebishops{\@chesssymbol{'157}} +\DeclareRobustCommand\samebishops{\@chesssymbol{'163}} +\DeclareRobustCommand\unitedpawns{\@chesssymbol{'153}} +\DeclareRobustCommand\separatedpawns{\@chesssymbol{'161}} +\DeclareRobustCommand\doubledpawns{\@chesssymbol{'144}} +\DeclareRobustCommand\passedpawn{\@chesssymbol{'162}} +\DeclareRobustCommand\pawnsno{{\small\@chesssymbol{'123}}} +\DeclareRobustCommand\timetrouble{{\small\@chesssymbol{124}}} +\DeclareRobustCommand\with{{\small\@chesssymbol{'166}}} +\DeclareRobustCommand\without{{\small\@chesssymbol{'167}}} +\DeclareRobustCommand\chessetc{\@chesssymbol{'120}} +\DeclareRobustCommand\chesssee{\@chesssymbol{'154}} +\def\ifont{\bfseries\let\textpiece\textskakbf} +\def\iifont{\normalfont\let\textpiece\textskak} +\def\iiifont{\normalfont} +\def\ivfont{\itshape} +\newcount\@commlevel +\let\iopen\relax\let\iclose\relax +\DeclareRobustCommand\iopent{\par\noindent } +\DeclareRobustCommand\icloset{\par} +\DeclareRobustCommand\iiopen{ [} +\DeclareRobustCommand\iiclose{\leavevmode\unskip]\textbf{;} } +\DeclareRobustCommand\iiiopen{ (} +\DeclareRobustCommand\iiiclose{\leavevmode\unskip) } +\DeclareRobustCommand\ivopen{ (} +\DeclareRobustCommand\ivclose{\leavevmode\unskip) } +\DeclareRobustCommand\iiopent{} +\DeclareRobustCommand\iicloset{} +\DeclareRobustCommand\iiiopent{} +\DeclareRobustCommand\iiicloset{} +\DeclareRobustCommand\ivopent{} +\DeclareRobustCommand\ivcloset{} +\def\makebarother{\catcode`\|=12 } +\def\makebarchess{\catcode`\|=13 } +\makebarchess +\def\@chesscodes{\catcode`\ =\active \catcode`\.=\active + \catcode`\;=\active \catcode`\[=\active \catcode`\]=\active + \catcode`\>=\active \catcode`\+=\active } +\def\@restorecodes{\catcode`\ =10 \catcode`\.=12 + \catcode`\;=12 \catcode`\]=12 \catcode`\[=12 + \catcode`\>=12 \catcode`\x=11 \catcode`\+=12 } +\newif\if@white +\newif\if@resuming +\newif\if@delimited +\def\@turn{\@delimitedtrue\if@white\@whitefalse\else\@whitetrue\fi} +\long\def\@execute#1{\let\next\relax + \ifcat1\noexpand#1% + \ifnum0=#1 + \if@white + \if@resuming + \def\next{\beforeno\the\move\afterno + \catcode`\x=\active\@@piece}% + \else + \def\next{\afterb\beforeno\the\move\afterno + \catcode`\x=\active\@@piece}% + \fi + \else + \if@resuming + \def\next{\beforeb + \advance\move1 + \catcode`\x=\active\@@piece}% + \else + \def\next{\afterw + \advance\move1 + \catcode`\x=\active\@@piece}% + \fi + \fi + \@delimitedfalse + \@resumingfalse + \else + \def\next{\move}% + \fi + \else + \ifcat a\noexpand#1% + \if@white + \if@resuming + \def\next{\beforeno\the\move\afterno + \catcode`\x=\active\@@piece}% + \else + \def\next{\afterb\beforeno\the\move\afterno + \catcode`\x=\active\@@piece}% + \fi + \else + \if@resuming + \def\next{\beforeb + \advance\move1 + \catcode`\x=\active\@@piece}% + \else + \def\next{\afterw + \advance\move1 + \catcode`\x=\active\@@piece}% + \fi + \fi + \@delimitedfalse + \@resumingfalse + \fi\fi + \next#1} +\newcount\move +\DeclareRobustCommand\afterno{.~} +\DeclareRobustCommand\afterw{ } +\DeclareRobustCommand\afterb{; } +\DeclareRobustCommand\beforeb{\the\move.~\dots\ } +\DeclareRobustCommand\beforeno{} +\def\@openchess{\let|\@closechess + \advance\@commlevel-1\relax + \csname\@roman{\the\@commlevel}font\endcsname + \@chesscodes + \@execute} +\let|\@openchess +\def\@closechess{\let|\@openchess + \if@delimited\else\@turn\fi + \@restorecodes\normalfont + \@resumingtrue\advance\@commlevel1\relax} +\def\@opencomm#1{% + \@resumingtrue + \catcode`\x=11 + \bgroup + \if@delimited + \@turn + \fi + \@delimitedtrue + \if@white\else\advance\move-1\fi + \advance\@commlevel1\relax + \csname\@roman{\the\@commlevel}font\endcsname + \csname\@roman{\the\@commlevel}#1\endcsname + \@execute} +\def\@closecomm#1{\csname\@roman{\the\@commlevel}#1\endcsname + \egroup} +\def\dummy{\@turn + \if@white\advance\move1\relax\fi\@execute} +\def\ddummy{\advance\move1\relax\@execute} +\def\black{\@whitefalse\@execute} +\def\white{\@whitetrue\@execute} +\def\steplevel{\advance\@commlevel1\relax\csname + \@roman{\the\@commlevel}font\endcsname} +\def\backlevel{\advance\@commlevel-1\relax\csname + \@roman{\the\@commlevel}font\endcsname} +\def\newgame{\@whitetrue\@resumingtrue\@commlevel2 \move1 \@delimitedtrue} +\long\def\threat#1{\bgroup\ifcase\@commlevel\or + \iifont\or\iiifont\or\ivfont\or\ivfont\fi\ + \@restorecodes\catcode`\>\active\withidea} +\def\@chessperiod{. } +\def\@chesssemicolon{; } +{\@chesscodes\iffalse +\fi\global\let\.\@chessperiod\iffalse +\fi\global\let\;\@chesssemicolon\iffalse +\fi\gdef+{\checksign}\iffalse +\fi\gdef\#{\mate}\iffalse +\fi\long\gdef #1{\ifx #1\else\iffalse + \fi\if@delimited\else\@turn\fi\expandafter\@execute\fi#1}\iffalse +\fi\gdef.#1{ }\gdef;{ }\iffalse +\fi\global\let>\egroup\iffalse +\fi\gdef[{\@opencomm{open}}\iffalse +\fi\gdef\[{\@opencomm{opent}}\iffalse +\fi\gdef]{\@closecomm{close} }\iffalse +\fi\gdef\]{\@closecomm{closet} }} +\setlength\diagramsize{18pt} +\SquareNo8 +\pieceinitials{PRNBQK} +\let\textpiece\textskak +\newgame +\endinput +%% +%% End of file `texmate.sty'. |