summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-04-21 03:01:30 +0000
committerNorbert Preining <norbert@preining.info>2023-04-21 03:01:30 +0000
commit00c9f050c86446bb1d460dfe75699189ae1627b3 (patch)
tree58caf8806f70f496b607486a7731bf9803b05f36 /graphics
parent4753a39245d0925a73cb20409999377eb9d2fd66 (diff)
CTAN sync 202304210301
Diffstat (limited to 'graphics')
-rw-r--r--graphics/metapost/contrib/macros/mpchess/README.md24
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdfbin1020823 -> 859567 bytes
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex62
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdfbin1025535 -> 864214 bytes
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex106
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex20
-rw-r--r--graphics/metapost/contrib/macros/mpchess/fonts/mpchessfont.ttfbin0 -> 38292 bytes
-rw-r--r--graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp2
-rw-r--r--graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp26
9 files changed, 189 insertions, 51 deletions
diff --git a/graphics/metapost/contrib/macros/mpchess/README.md b/graphics/metapost/contrib/macros/mpchess/README.md
index 20f8bf4275..296db6d543 100644
--- a/graphics/metapost/contrib/macros/mpchess/README.md
+++ b/graphics/metapost/contrib/macros/mpchess/README.md
@@ -8,6 +8,12 @@ allows more graphic flexibility than the excellent LaTeX packages.
_This package is in beta version, do not hesitate to report bugs, as well as
requests for improvement_.
+## Github
+
+To allow for easier feedback and bug reporting, this repository has a mirror
+repository on github:
+[https://github.com/chupinmaxime/mpchess](https://github.com/chupinmaxime/mpchess)
+
## Installation
MPchess is on the [ctan](ctan.org) and can be installed via the package manager of your
@@ -33,6 +39,9 @@ MPchess consists of 7 files METAPOST :
* `mpchess-pieces.mp`;
* `mpchess-skak.mp`.
+MPchess comes with a very basic chess font `mpchess font.ttf` that includes only
+13 glyphs.
+
Once this is done, MPchess will be loaded with the classic
```metapost
input mpchess
@@ -54,6 +63,21 @@ used with LuaLaTeX and luamplib, `latexmp`.
* [English documentation](doc/mpchess-doc-en.pdf)
* [Documentation en français](doc/mpchess-doc-fr.pdf)
+### Piece Set
+
+A piece set has been designed for this package. It has also be added to
+[lichess.org](https://lichess.org) under the name of `mpchess`.
+
+A dedicated git repository is available:
+[https://plmlab.math.cnrs.fr/mchupin/mpchess-pieces](https://plmlab.math.cnrs.fr/mchupin/mpchess-pieces)
+and
+[https://github.com/chupinmaxime/mpchess](https://github.com/chupinmaxime/mpchess).
+
+A TrueType font is available.
+## Contact
+
+Maxime Chupin, `notezik(at)gmail.com`
+
## Licenses
This projet is under LATEX Project Public License 1.3c but the file
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf
index 584f75a0c0..2e4ff6add0 100644
--- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf
+++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex
index 2d7492970c..be40341c4f 100644
--- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex
+++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex
@@ -68,7 +68,7 @@
}
\vfill
\begin{center}
- Version 0.4, 2023, April, 6th \\
+ Version 0.5, 2023, April, 20th \\
\url{https://plmlab.math.cnrs.fr/mchupin/mpchess}
\end{center}
%% == Page de garde ====================================================
@@ -87,6 +87,7 @@
\begin{center}
\url{https://plmlab.math.cnrs.fr/mchupin/mpchess}
+ \url{https://github.com/chupinmaxime/mpchess}
\end{center}
\tableofcontents
@@ -115,7 +116,7 @@ distribution.
\end{center}
-\subsection{With \TeX live under Linux or MacOS}
+\subsection{With \TeX live under Linux or macOS}
To install \mpchess with \TeX Live, you will have to create the directory
\lstinline+texmf+ directory in your \lstinline+home+.
@@ -453,8 +454,15 @@ macros allow to generate a \lstinline+picture+ to be drawn \emph{over} the board
\subsection{Setting the Theme of the Pieces}
-\mpchess provides for the moment three themes of pieces: two borrowed from
-Lichess, and one borrowed from the
+\mpchess provides for the moment three themes of pieces. The default theme is
+called \lstinline+mpchess+. It has been designed for this package \hologo{METAPOST}.
+It has been proposed to the Lichess project, and has been accepted. Thus, you
+will also have access to the \lstinline+mpchess+ piece set with
+Lichess\footnote{The open-source projects feed each other! Even if obviously,
+this package has borrowed much more from Lichess than the other way around.}
+
+Another theme is borrowed from
+Lichess (\lstinline+cburnett+) and the last one is borrowed from the
package~\package{skak}~cite{ctan-skak}\footnote{Which provides the \MF{} code
for a chess font, which has been easily adapted to \MP{} for \mpchess.}.
@@ -465,10 +473,10 @@ To choose the theme, use the following command:
\begin{description}
\item[\meta{string}:] can be:
\begin{itemize}
-\item \lstinline+"cburnett"+ (default), to use the Lichess \emph{cburnett}
-pieces set;
-\item \lstinline+"mpchess"+, to use the set specially designed for this
+\item \lstinline+"mpchess"+ (default), to use the set specially designed for this
package;
+\item \lstinline+"cburnett"+, to use the Lichess \emph{cburnett}
+pieces set;
\item \lstinline+"skak"+, to use the \package{skak}
pieces set.
\end{itemize}
@@ -1265,6 +1273,44 @@ endfig;
\end{document}
\end{latexcode}
+\subsection{TrueType Font}
+
+The \mpchess{} package provides a very simple font composed of only the 12
+glyphs corresponding to the black and white pieces in the Unicode table. To
+access it you just have to use \hologo{LuaLaTeX} or \hologo{XeLaTeX} and the
+package \package{fontspec}. To facilitate its use, we propose
+some definitions.
+
+\begin{latexcode}
+ \documentclass{article}
+ \usepackage{fontspec}
+ \newfontfamily{\chessfont}{mpchess font}
+ \newcommand\bP{{\chessfont \char"265F}} % black Pawn
+ \newcommand\bN{{\chessfont \char"265E}} % black Knight
+ \newcommand\bB{{\chessfont \char"265D}} % black Bishop
+ \newcommand\bR{{\chessfont \char"265C}} % black Rook
+ \newcommand\bQ{{\chessfont \char"265B}} % black Queen
+ \newcommand\bK{{\chessfont \char"265A}} % black King
+ \newcommand\wP{{\chessfont \char"2659}} % white Pawn
+ \newcommand\wN{{\chessfont \char"2658}} % white Knight
+ \newcommand\wB{{\chessfont \char"2657}} % white Bishop
+ \newcommand\wR{{\chessfont \char"2656}} % white Rook
+ \newcommand\wQ{{\chessfont \char"2655}} % white Queen
+ \newcommand\wK{{\chessfont \char"2654}} % white King
+
+ \begin{document}
+
+ 1. e4 e5 2. \wB c4 d6 3. \wN f3 \bB g4 4. \wN
+ c3 g6 5. \wN xe5 \bB xd1.
+
+ \end{document}
+ \end{latexcode}
+
+ This code will produce:
+
+ "1. e4 e5 2. \wB c4 d6 3. \wN f3 \bB g4
+ 4. \wN c3 g6 5. \wN xe5 \bB xd1."
+
\section{To Do}
Many things can be added to \mpchess. Among these, we can think of:
@@ -1302,6 +1348,8 @@ endfig;
\section{History}
\begin{description}
+\item[v0.5, April 20, 2023:] Bug fixed, \textbf{changing the
+default piece set} for the \lstinline+mpchess+ set (which has been added to Lichess), added TrueType font, and updated documentation.
\item[v0.4, April 6, 2023:] Corrections in the documentation, especially the
English version; added commands to visualize the possible movements for a
piece (section~\ref{sec:possiblemoves}).
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf
index 284d680906..ed40321556 100644
--- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf
+++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex
index a08aa99882..674bf9d619 100644
--- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex
+++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex
@@ -71,7 +71,7 @@
}
\vfill
\begin{center}
- Version 0.4, 6 avril 2023 \\
+ Version 0.5, 20 avril 2023 \\
\url{https://plmlab.math.cnrs.fr/mchupin/mpchess}
\end{center}
%% == Page de garde ====================================================
@@ -90,6 +90,7 @@ excellent packages \LaTeX{}.
\begin{center}
\url{https://plmlab.math.cnrs.fr/mchupin/mpchess}
+ \url{https://github.com/chupinmaxime/mpchess}
\end{center}
\tableofcontents
@@ -119,7 +120,7 @@ de votre distribution.
\end{center}
-\subsection{Avec la \TeX live sous Linux ou MacOS}
+\subsection{Avec la \TeX live sous Linux ou macOS}
Pour installer \mpchess avec \TeX live, il vous faudra créer le répertoire
\lstinline+texmf+ dans votre \lstinline+home+.
@@ -398,7 +399,7 @@ autour de l’échiquier. Ceci se fait avec les commandes suivantes.
\commande|set_black_player(«string»)|\index{set_black_player@\lstinline+set_black_player+}\smallskip
\begin{description}
- \item[\meta{string} :] est la chaîne de caractères interprétée par \LaTeX à afficher.
+ \item[\meta{string} :] est la chaîne de caractères interprétée par \LaTeX{} à afficher.
\end{description}
\begin{ExempleMP}
@@ -443,8 +444,13 @@ macros permettent de générer une \lstinline+picture+ à dessiner \emph{par
\subsection{Réglage du thème des pièces}
-\mpchess fournit pour l’instant trois thèmes de pièces, deux emprunté à Lichess,
-et l’autre emprunté au package~\package{skak}~\cite{ctan-skak}\footnote{Qui
+\mpchess fournit pour l’instant trois thèmes de pièces. Le thème par défaut est
+appelé \lstinline+mpchess+. Il a été designé pour ce package \hologo{METAPOST}.
+Il a été proposé au projet Lichess, et a été accepté. Ainsi, vous aurez aussi
+accès à l’ensemble de pièces \lstinline+mpchess+ avec Lichess\footnote{Les
+projets libres se nourrissent mutuellement ! Même si évidemment, ce package a
+bien plus emprunté à Lichess que le contraire.} ! Un autre thème est emprunté à
+Lichess (\lstinline+cburnett+) et l’autre est emprunté au package~\package{skak}~\cite{ctan-skak}\footnote{Qui
fournit le code \MF{} pour la fonte de pièces d’échec, code qui a été
facilement adapté en \MP{} pour \mpchess.}.
@@ -455,10 +461,9 @@ Pour choisir le thème on utilisera la commande suivante.
\begin{description}
\item[\meta{string}:] peut valoir:
\begin{itemize}
-\item \lstinline+"cburnett"+ (valeur par défaut), pour obtenir l’ensemble de pièces nommé \emph{cburnett} de Lichess;
-
-\item \lstinline+"mpchess"+, pour obtenir l’ensemble de pièces spécialement
-conçu pour ce package ;
+ \item \lstinline+"mpchess"+ (valeur par défaut), pour obtenir l’ensemble de pièces spécialement
+ conçu pour ce package ;
+ \item \lstinline+"cburnett"+, pour obtenir l’ensemble de pièces nommé \emph{cburnett} de Lichess;
\item \lstinline+"skak"+, pour obtenir l’ensemble de pièces du package~\package{skak}.
\end{itemize}
\end{description}
@@ -515,7 +520,7 @@ Thème \lstinline+skak+&\\
\subsection{Trait}
\mpchess indique qui a le trait entre les blancs et les noirs. Ceci ce fait par
-un petit triangle coloré (blanc ou noir) à l’extrérieur du plateau (que vous
+un petit triangle coloré (blanc ou noir) à l’extérieur du plateau (que vous
pourrez observer dans les nombreux exemples suivants).
Pour spécifier qui a le trait on utilisera les commandes suivantes.
@@ -808,16 +813,16 @@ Cette commande retourne un \lstinline+numeric+.
\section{Annotation}
-De nombreuses commandes permettent d’annonter l’échiquier (flêche, couleur, cercle, croix, etc.).
+De nombreuses commandes permettent d’annoter l’échiquier (flèche, couleur, cercle, croix, etc.).
\subsection{Flèches}
-La commande pour tracer des flêches sur l’échiquier est la suivante.
+La commande pour tracer des flèches sur l’échiquier est la suivante.
\commande|draw_arrows(«color»)(«string1»,«string2», etc.)|\index{draw_arrows@\lstinline+draw_arrows+}\smallskip
\begin{description}
\item[\meta{color}:] est une \lstinline+color+ \MP.
-\item[\meta{string1}:] est une chaîne de caractères (entre double-quotes) consituée de deux coordonnées (lettre et chiffre) séparés par deux caractères qui peuvent être
+\item[\meta{string1}:] est une chaîne de caractères (entre double-quotes) constituée de deux coordonnées (lettre et chiffre) séparés par deux caractères qui peuvent être
\begin{description}
\vitem+--+ pour relier les deux cases en ligne droite ;
\vitem+-|+ pour relier les deux cases en ligne brisée, d’abord horizontalement puis verticalement ;
@@ -840,12 +845,12 @@ draw_arrows(red)("f8--b4","g1|-f3");
endfig;
\end{ExempleMP}
-On pourra modifier l’épaisseur des flêches grâce à la commande suivante.
+On pourra modifier l’épaisseur des flèches grâce à la commande suivante.
\commande|set_arrow_width(«coeff»)|\index{set_arrow_width@\lstinline+set_arrow_width+}\smallskip
\begin{description}
\item[\meta{coeff}:] est un coefficient (\lstinline+numeric+) qui permet de
- régler la largeur des flêches proportionnellement à la largeur d’une case de
+ régler la largeur des flèches proportionnellement à la largeur d’une case de
l’échiquier. Par défaut, ce coefficient vaut \lstinline+0.08+.
\end{description}
@@ -874,7 +879,7 @@ endfig;
\begin{description}
\item[\meta{color}:] est une \lstinline+color+ \MP.
-\item[\meta{coord1}:] est une chaîne de caractères (entre double-quotes) consituée de deux coordonnées (lettre et chiffre).
+\item[\meta{coord1}:] est une chaîne de caractères (entre double-quotes) constituée de deux coordonnées (lettre et chiffre).
\end{description}
L’exemple suivant permet d’illustrer l’utilisation de cette commande.
@@ -900,7 +905,7 @@ suivante.
\begin{description}
\item[\meta{color}:] est une \lstinline+color+ \MP.
-\item[\meta{coord1}:] est une chaîne de caractères (entre double-quotes) consituée de deux coordonnées (lettre et chiffre).
+\item[\meta{coord1}:] est une chaîne de caractères (entre double-quotes) constituée de deux coordonnées (lettre et chiffre).
\end{description}
L’exemple suivant permet d’illustrer l’utilisation de cette commande.
@@ -927,7 +932,7 @@ suivante.
\begin{description}
\item[\meta{color}:] est une \lstinline+color+ \MP.
- \item[\meta{coord1}:] est une chaîne de caractères (entre double-quotes) consituée de deux coordonnées (lettre et chiffre).
+ \item[\meta{coord1}:] est une chaîne de caractères (entre double-quotes) constituée de deux coordonnées (lettre et chiffre).
\end{description}
L’exemple suivant permet d’illustrer l’utilisation de cette commande.
@@ -953,7 +958,7 @@ endfig;
\begin{description}
\item[\meta{str}:] est une chaîne de caractères (entre double-quotes) à
afficher.
-\item[\meta{pos}:] est une chaîne de caractères (entre double-quotes) consituée
+\item[\meta{pos}:] est une chaîne de caractères (entre double-quotes) constituée
d’une coordonnée (lettre et chiffre).
\end{description}
@@ -980,7 +985,7 @@ suivante.
\subsection{Lignes principales}
-\mpchess fournit une commande permettant d’afficher les fléches des coups des
+\mpchess fournit une commande permettant d’afficher les flèches des coups des
lignes principales d’analyses. Il y a les commandes pour les deux couleurs.
\commande|draw_white_main_lines(«move1»,«move2»,etc.)|\index{draw_white_main_lines@\lstinline+draw_white_main_lines+}\smallskip
@@ -989,7 +994,7 @@ lignes principales d’analyses. Il y a les commandes pour les deux couleurs.
\begin{description}
\item[\meta{move1}, \meta{move2}, etc.:] sont les coups à illustrer par une
-flêche, en suivant la notation de type \textsc{pgn}.
+flèche, en suivant la notation de type \textsc{pgn}.
\end{description}
Lorsqu’on utilise la lecture de format \textsc{pgn} pour la construction des
positions à afficher, on pourra alors utiliser les commandes suivantes
@@ -1000,12 +1005,12 @@ permettant de spécifier quelle étape de la partie on commente.
\commande|draw_black_main_lines_step(«step»)(«move1»,«move2»,etc.)|\index{draw_black_main_lines_step@\lstinline+draw_black_main_lines_step+}\smallskip
\begin{description}
- \item[\meta{step}:] est l’étape de la partie qu’on souhaite annonter;
+ \item[\meta{step}:] est l’étape de la partie qu’on souhaite annoter;
\item[\meta{move1}, \meta{move2}, etc.:] sont les coups à illustrer par une
-flêche, en suivant la notation de type \textsc{pgn}.
+flèche, en suivant la notation de type \textsc{pgn}.
\end{description}
-L’exemple suivant permet d’illuster l’utilisation de cette commande.
+L’exemple suivant permet d’illustrer l’utilisation de cette commande.
\begin{ExempleMP}
input mpchess
@@ -1061,7 +1066,7 @@ choisie.
\commande|show_possible_moves_step(«step»)(«square»)|\index{show_possible_moves_step@\lstinline+show_possible_moves_step+}\smallskip
\begin{description}
- \item[\meta{step}:] est l’étape de la partie qu’on souhaite annonter;
+ \item[\meta{step}:] est l’étape de la partie qu’on souhaite annoter;
\item[\meta{square}:] est une chaîne de caractères indiquant au format classique
les coordonnées de la case où la pièce se situe.
\end{description}
@@ -1099,7 +1104,7 @@ On pourra faire une découpe dans l’image de l’échiquier grâce à la comma
\begin{description}
\item[\meta{string}:] est une chaîne de caractères (entre double-quotes)
-composée de deux coordonnées (lettre et chiffre) séparé par un tiret, par
+composée de deux coordonnées (lettre et chiffre) séparées par un tiret, par
exemple \lstinline+"a1-c6"+.
\end{description}
@@ -1167,7 +1172,7 @@ draw_arrows(red)("e7--e5","g1|-f3");
\subsubsection{Avec \package{gmp}}
L’utilisation de \package{gmp}~\cite{ctan-gmp} est assez similaire à celle de
-\package{mpgraphics}. Quelques commandes sont toute fois différentes, mais comme
+\package{mpgraphics}. Quelques commandes sont toutefois différentes, mais comme
avec \package{mpgraphics}, on n’aura pas recours à \lstinline+beginfig+ et
\lstinline+endfig+. Le chargement de \mpchess peut se faire au chargement du
package, et le code \MP{} se trouve dans l’environnement \lstinline+mpost+. Là
@@ -1198,7 +1203,8 @@ Il est tout à fait possible d’utiliser \mpchess directement dans un fichier
intégrante de \hologo{LuaTeX}.} et le package \package{luamplib}. C’est
d’ailleurs ce qui est fait pour écrire cette documentation.
-Il suffira alors de mettre le code \MP{} dans l’environnement \lstinline+mplibcode+.
+Il suffira alors de mettre le code \MP{} dans l’environnement
+\lstinline+mplibcode+ comme illustré plus bas.
\mpchess utilise, pour certaines fonctionnalités, l’opérateur
@@ -1240,6 +1246,47 @@ endfig;
\end{mplibcode}
\end{document}
\end{latexcode}
+
+\subsection{Font TrueType}
+
+Le package \mpchess{} fournit une fonte très simple composé d’uniquement les 12
+glyphes correspondant aux pièces noires et blanches dans la table Unicode. Pour
+y avoir accès il suffit d’utiliser \hologo{LuaLaTeX} ou \hologo{XeLaTeX} et le
+package \package{fontspec}. Pour faciliter son utilisation, nous proposons
+quelques définitions.
+
+\begin{latexcode}
+\documentclass{article}
+\usepackage{fontspec}
+\newfontfamily{\chessfont}{mpchess font}
+\newcommand\bP{{\chessfont \char"265F}} % black Pawn
+\newcommand\bN{{\chessfont \char"265E}} % black Knight
+\newcommand\bB{{\chessfont \char"265D}} % black Bishop
+\newcommand\bR{{\chessfont \char"265C}} % black Rook
+\newcommand\bQ{{\chessfont \char"265B}} % black Queen
+\newcommand\bK{{\chessfont \char"265A}} % black King
+\newcommand\wP{{\chessfont \char"2659}} % white Pawn
+\newcommand\wN{{\chessfont \char"2658}} % white Knight
+\newcommand\wB{{\chessfont \char"2657}} % white Bishop
+\newcommand\wR{{\chessfont \char"2656}} % white Rook
+\newcommand\wQ{{\chessfont \char"2655}} % white Queen
+\newcommand\wK{{\chessfont \char"2654}} % white King
+
+\begin{document}
+
+Voici l'enchainement de coups : 1. e4 e5 2. \wB c4 d6 3. \wN f3 \bB g4 4. \wN
+c3 g6 5. \wN xe5 \bB xd1.
+
+\end{document}
+\end{latexcode}
+
+Qui produira :
+
+\og{}Voici l’enchainement de coups : 1. e4 e5 2. \wB c4 d6 3. \wN f3 \bB g4
+4. \wN c3 g6 5. \wN xe5 \bB xd1.\fg{}
+
+
+
\section{To do}
De nombreuses choses sont à ajouter à \mpchess. Parmi celles-ci, on peut penser
@@ -1279,6 +1326,9 @@ endfig;
\section{Historique}
\begin{description}
+\item[v0.5, 20 avril 2023:] Correction d’un bug, \textbf{changement de
+l’ensemble de pièce par défaut} pour l’ensemble \lstinline+mpchess+ (qui a été
+ajouté à Lichess), ajout de la fonte TrueType, et mise à jour de la documentation.
\item[v0.4, 6 avril 2023:] Corrections dans la documentation, notamment la
version anglaise; ajout des commandes pour visualiser les mouvements possible
pour une pièce (section~\ref{sec:possiblemoves}).
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex
index b2f165b018..89ac411f3b 100644
--- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex
+++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex
@@ -10,6 +10,7 @@
\usepackage{biblatex}
\addbibresource{ctan.bib}
\usepackage{wrapfig}
+\usepackage{accsupp}
\usepackage{siunitx}
\usepackage{imakeidx}
%\usepackage{csquotes}
@@ -132,7 +133,7 @@
arc=0pt,
listing only,boxsep=0pt,listing
options={style=tcblatex,language=sh},
- every listing line={\textcolor{red}{\small\ttfamily\bfseries user \$> }}}
+ every listing line={\BeginAccSupp{ActualText={}}\textcolor{red}{\small\ttfamily\bfseries user \$> }}\EndAccSupp{}}
\newtcblisting{mpcode}{
@@ -162,4 +163,19 @@
}
-\newcommand\pdf{\textsc{pdf}} \ No newline at end of file
+\newcommand\pdf{\textsc{pdf}}
+
+
+\newfontfamily{\chessfont}{mpchess font}
+\newcommand\bP{{\chessfont \char"265F}} % black Pawn
+\newcommand\bN{{\chessfont \char"265E}} % black Knight
+\newcommand\bB{{\chessfont \char"265D}} % black Bishop
+\newcommand\bR{{\chessfont \char"265C}} % black Rook
+\newcommand\bQ{{\chessfont \char"265B}} % black Queen
+\newcommand\bK{{\chessfont \char"265A}} % black King
+\newcommand\wP{{\chessfont \char"2659}} % white Pawn
+\newcommand\wN{{\chessfont \char"2658}} % white Knight
+\newcommand\wB{{\chessfont \char"2657}} % white Bishop
+\newcommand\wR{{\chessfont \char"2656}} % white Rook
+\newcommand\wQ{{\chessfont \char"2655}} % white Queen
+\newcommand\wK{{\chessfont \char"2654}} % white King \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mpchess/fonts/mpchessfont.ttf b/graphics/metapost/contrib/macros/mpchess/fonts/mpchessfont.ttf
new file mode 100644
index 0000000000..11f0bef692
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mpchess/fonts/mpchessfont.ttf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp
index 9953776640..d156438506 100644
--- a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp
+++ b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp
@@ -242,7 +242,7 @@ vardef _queen_candidate(expr istart, jstart,iend,jend,wb)=
boolean output;
output = false;
if((iend<=_chessSize) and (iend>=1) and (iend<=_chessSize) and (iend>=1)):
- if((iend-istart) or (jend-jstart) or (abs(iend-istart)=abs(jend-jstart))):
+ if((iend=istart) or (jend=jstart) or (abs(iend-istart)=abs(jend-jstart))):
output:=true;
fi
fi
diff --git a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp
index a900cd639a..0fc53bdf59 100644
--- a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp
+++ b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp
@@ -2,7 +2,7 @@
%% mpchess.mp %%
%% draw chessboards with metapost %%
%% chupin@ceremade.dauphine.fr %%
-%% Version 0.4 (avril 2023) %%
+%% Version 0.5 (avril 2023) %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% This work may be distributed and/or modified under the conditions of
@@ -238,20 +238,20 @@ def set_black_color(expr c)=
_blackColorSquare:=c;
enddef;
-_chess_bB:=_chess_cburnett_bB;
-_chess_bK:=_chess_cburnett_bK;
-_chess_bN:=_chess_cburnett_bN;
-_chess_bP:=_chess_cburnett_bP;
-_chess_bQ:=_chess_cburnett_bQ;
-_chess_bR:=_chess_cburnett_bR;
+_chess_bB:=_chess_mpchess_bB;
+_chess_bK:=_chess_mpchess_bK;
+_chess_bN:=_chess_mpchess_bN;
+_chess_bP:=_chess_mpchess_bP;
+_chess_bQ:=_chess_mpchess_bQ;
+_chess_bR:=_chess_mpchess_bR;
-_chess_wB:=_chess_cburnett_wB;
-_chess_wK:=_chess_cburnett_wK;
-_chess_wN:=_chess_cburnett_wN;
-_chess_wP:=_chess_cburnett_wP;
-_chess_wQ:=_chess_cburnett_wQ;
-_chess_wR:=_chess_cburnett_wR;
+_chess_wB:=_chess_mpchess_wB;
+_chess_wK:=_chess_mpchess_wK;
+_chess_wN:=_chess_mpchess_wN;
+_chess_wP:=_chess_mpchess_wP;
+_chess_wQ:=_chess_mpchess_wQ;
+_chess_wR:=_chess_mpchess_wR;
def set_pieces_theme(expr t)=
if(t="mpchess"):