Diagrama de ajedrez con flechas en skak, xskak.

Diagrama de ajedrez con flechas en skak, xskak.

¿Cómo puedo dibujar flechas en un juego de ajedrez?

Por ejemplo, si el juego empieza con 1. e4..., quiero dibujar una flecha negra de e2 a e4 para mostrar el movimiento, y, en el mismo diagrama, dos flechas rojas de e4 a f5, y otra de e4. a d5, para mostrar al peón atacando las casillas.

El siguiente juego me funciona. Me gustaría encontrar posibilidades de resaltado adicionales. Por ejemplo, con fines educativos, una flecha entre el caballo en f6 y las casillas que ataca.

\documentclass[a4paper,10pt]{article}
\usepackage{skak}
\usepackage{xskak}


\begin{document}

\newgame
\mainline{1. e4 e5 2. Nf3 Bc5}
\chessboard

\end{document}

Respuesta1

Seguí la documentación delxskakpaquete, especialmente las páginas 35 y 36, y esto es lo que tengo.

%! *latex mal-chess.tex
\documentclass[a4paper,10pt]{article}
\pagestyle{empty}\parindent=0pt
\usepackage{xskak}
%\usepackage{chessboard}
\begin{document}
\newcommand\getmovestyle[1]{%
\ifthenelse
  {\equal{#1}{N}}%knight move
  {\def\mymovestyle{[clockwise=false,style=knight]curvemove}}%
  {\ifthenelse
    {\equal{#1}{}}% castling
    {\def\mymovestyle{curvemove}}%
    {\def\mymovestyle{straightmove}}}}%
\newchessgame
\hidemoves{1. e4 e5 2. Nf3 Bc5}%
%\chessboard[setfen=\xskakgetgame{initfen}]% Show me the empty board.
\xskakloop{%
\getmovestyle{\xskakget{piecechar}}%
\chessboard[pgfstyle=\mymovestyle, color=blue,
  markmoves=\xskakget{move}, pgfshortenend=0.3em, arrow=to, coloremph, color=red, markstyle=circle, markfield=\xskakget{movefrom},
  emphfields=\xskakget{moveto}, setfen=\xskakget{nextfen}]
  }% End of \xskakloop...
\end{document}

mwe

información relacionada