« Utilisateur:Cdang/projet » : différence entre les versions

Contenu supprimé Contenu ajouté
m →‎Skak : -
Ligne 2 707 :
 
<references />
 
= Skak =
 
Plusieurs extensions ont été développées pour dessiner un échiquier. La première était <code>chess</code>, puis est venu <code>skak</code>, et enfin <code>chessboard</code>.
 
== Notations d'échecs ==
 
Aux échecs, on utilise plusieurs notaitons. Dans LaTeX, on en retient deux :
* la [[w:notation algébrique|notation algébrique]] anglaise ;
* la [[w:notation Forsyth-Edwards|notation Forsyth-Edwards]], ou FEN.
Voici quelques notions rapides.
 
Par convention, sur le dessin, les blancs sont placés en bas au début du jeu. Les coordonnées des cases se composent
* de la colonne, qui est une lettre bas de casse (minuscule), de <code>a</code> pour la case la plus à gauche à <code>h</code> pour l'extrême droite ;
* et du numéro de ligne, de <code>1</code> pour la ligne du bas à <code>8</code> pour la ligne du haut.
 
 
=== Notation algébrique ===
 
La notation algébrique décrit les tours. Un tour se décompose en :
* le numéro du tour, suivi d'un point ;
* les deux mouvements, celui des blancs puis celui des noirs.
Si l'on veut juste indiquer le mouvement des noirs, on fait suivre le numéro de tour par trois points.
Un mouvement se décompose en :
* de la nature de la pièce, par une lettre capitale (initiale du nom anglais) ou rien pour un pion ;
* des coordonnées de la case de départ ;
* d'un tiret « - » s'il s'agit d'un déplacement ou d'un « x » s'il s'agit d'une prise ;
* des coordonnées de la case d'arrivée.
En notation abrégée, on n'indique pas la case de départ : la connaissance de la nature de la pièce et de la case d'arrivée suffit. Par exemple, le mouvement <code>Qd5xb7</code> (la reine en ''d5'' prend la pièce en ''b7'') devient <code>Qxb7</code>
 
{| border="1"
|+ Nature de la pièce
|-
! Nom français !! Nom anglais !! Abréviation
|-
| Roi || King || <code>K</code>
|-
| Dame || Queen || <code>Q</code>
|-
| Tour || Rook || <code>R</code>
|-
| Fou || Bishop || <code>B</code>
|-
| Cavalier || Knight || <code>N</code>
|-
| Pion || Pawn || ''rien''
|}
 
Par exemple
1. e2-e4 e7-e5
: premier tour, le pion blanc situé en <code>e2</code>avance de deux case et vient en ''e4'' ; le pion noir qui lui fait face fait le même mouvement, il passe ''e7'' à ''e5''
2. Ng1-f3 Nb8-c6
: deuxième tour : le cavalier blanc en ''g1'' passe en ''f3'', et le cavalier noir en ''b8'' passe en ''c6''.
: En notation abrégée, cela donne
1. e4 e5 2. Nf3 Nc6
 
=== Notation Forsyth-Edwards ===
 
La notation Forsyth-Edwards, ou FEN, permet de décrire un échiquier en place. Ceci est utile lorsque l'on est à une étape avancée d'une partie.
 
Cela consiste à noter ligne par ligne les pièces, et à indiquer le nombre de cases vides. La notaiton suit les règles suivantes :
* la description suit le sens de lecture : par ligne, on progresse de la case ''a'' à la case ''h'' (de la gauche vers la droite), en commençant par la ligne ''8'' (celle du haut) ;
* les lignes sont séparées par une barre de fraction « / » ;
* un chiffre ''n'' indique ''n'' cases vides ;
* les pièces son indiquées par une lettre, identique à la notation algébrique, mais le pion est noté ''p'' ; on utilise des lettres bas de casse pour les noirs, et capitales pour les blancs.
 
Par exemple, un échiquier au départ est décrit par :
nbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR
 
Puis, on indique
* qui joue le prochain tour : « w » pour les blancs ''(white)'' et « b » pour les noirs ''(black)'' ;
* les possibilités de roquer : un tiret « - » si ce n'est pas possible, sinon, la pièce pouvant roquer ;
* case d'une prise en passant, ou un tiret « - » s'il n'y en a pas ;
* le nombre de demi-coups depuis qu'un pion a été capturé ;
* le nombre de coups depuis le début de la partie.
La notation complète de l'échiquier de départ est donc
nbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
 
== Avec <code>skak</code> ==
 
Skak ne se contente pas de l'affichage, il vérifie aussi la conformité des parties.
 
Comme toutes les extensions, ils s'appelle dans le préambule par
\usepackage{skak}
La création d'un échiquier se passe en trois étapes :
* la commande <code>\newgame</code> définit un échiquier vide ;
* la commande <code>\mainline{''mouvements''}</code> définit les mouvements effectués en notation algébrique abrégée, affiche la ligne tapée et met à jour l'échiquier ;
* la commande <code>\showboard</code> affiche l'échiquier.
La commande <code>\variation{''mouvements''}</code> provoque l'affichage de mouvements mais pas la mise à jour de l'échiquier.
 
Si l'on veut que l'échiquier soit mis à jour mais que les mouvements ne s'affichent pas dans la lige descriptive, on utilise <code>\hidemove{''mouvements''}</code>. Cela peut permettre, par exemple, de montrer l'échiquier après quelques mouvements.
 
On peut utiliser la notation complète pour l'affichage en mettant la commande <code>\longmove</code> après le <code>\newgame</code> : on écrit en notation abrégée, mais <code>skak</code> affiche la notation complète. On peut revenir à la notation abrégée avec <code>\shortmove</code>. Par exemple, on écrit
\longmove
1. e4 c5
et le résultat est '''1. e7-e4 c2-c5'''.
 
Skak permet aussi d'utiliser la notation Forsyth-Edwards, ou FEN, avec la commande <code>\fenboard{…}</code>.
 
On peut faire varier la taille de l'échiquier :
\smallboard\showboard
\normalboard\showboard
\largeboard\showboard
 
Notons que <code>skak</code> permet d'enregistrer une partie en mémoire, avec la commande <code>\storegame{''nom de partie''}</code>. On peut la rappeler avec <code>\restoregame{''nom de partie''}</code>. Il peut même enregistrer la partie dans un fichier avec <code>\savegame{''nom de fichier''}</code>, et la recharger avec <code>\loadgame{''nom de partie''}</code>.
 
== Voir aussi ==
 
; Skak
* [http://ctan.tug.org/tex-archive/fonts/chess/skak/doc/ Documentation CTAN]