Comment dessiner un échiquier en LaTeX, avec bien entendu toutes les pièces ?
Cela faisait bien longtemps que je n’avais pas fait de \(\LaTeX\)… Et puis, pour les besoins d’un élève, qui fait des échecs, j’ai voulu écrire un exercice en dessinant un échiquier.
Là, les problèmes ont commencé…
Un échiquier en LaTeX: ce qui existe déjà
Un petit tour du côté de CTAN m’a montré deux packages qui pouvaient éventuellement m’aider: skak et chessboard. Comme chessboard fait appel au premier, j’ai voulu avant tout l’essayer… mais la commande \newchessgame (nécessaire pour déclarer un nouveau jeu) ne fonctionnait pas. Je n’avais pas envie de me prendre la tête, donc j’essayai skak. Ceclui-ci fonctionnait bien, mais alors…. pfiou ! Qu’est-ce qu’il ets compliqué d’insérer des pièces où l’on veut ! Il n’y a qu’à regarder la documentation pour voir…
Bref, rien ne m’allait. Comme on dit, on n’est jamais mieux servi que par soi-même donc je me suis mis à écrire le package pas-chess.sty (comme à mon habitude, quand j’écris un nouveau package destiné à être plutôt confidentiel, je précède le nom par les trois premières lettres de mon nom: “pas-“; je suis ainsi sûr qu’il n’y aura pas de conflit avec le nom).
Un échiquier en LaTeX: le package pas-chess
Le mieux est de vous montrer directement ce que cela peut donner. Ci-dessus, un plateau personnalisé (concernant les couleurs).
Par défaut, les couleurs sont les suivantes:
Les couleurs que l’on peut personnaliser sont:
- celle du bord (identique à celle des lettres et des nombres qui apparaissent à l’extérieur du plateau);
- cases blanches;
- cases noires.
Remarquez que par défaut, les cases noires ne sont pas noires… pour plus de lisibilité. Si elles avaient été noires, cela aurait donné:
Concernant la syntaxe, je l’au voulu la plus intuitive possible. Voici un exemple (celui du premier plateau dessiné précédemment):
\documentclass{article} \usepackage{pas-chess} \begin{document} \begin{tikzpicture} \renewcommand{\bgcolorboardwhite}{brown!30} \renewcommand{\bgcolorboardblack}{brown!90} \renewcommand{\borderchessboard}{brown} \drawchessboard \start \end{tikzpicture} \end{document}
Par défaut, les cases sont des carrés de 15mm de côté. On peut cependant modifier cela en mettant dans le préambule (par exemple):
\setlength{\chesswidth}{1cm}
Les images sont au format PNG.
Positionner une pièce: la commande \putpiece{x}{y}{name}
\putpiece{a}{1}{<pièce>}
Le nom de la pièce est à choisir dans la liste:
- \roiN (roi noir)
- \roiB (roi blanc)
- \reineN
- \reineB
- \tourN
- \tourB
- \fouN
- \fouB
- \cavN
- \cavB
- \pionN
- \pionB
Voilà! Rien de bien compliqué au final… Juste un peu long à écrire (mais bon… tout est relatif!).
Voici le fichier ZIP qui contient:
- pas-chess.sty
- les images
- un fichier TEX exemple
Vous pouvez l’installer dans votre arborescence LaTeX préférée 🙂
Vous pouvez retrouver ce package avec d’autres extensions personnelles sur cette page.