
¿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 delxskak
paquete, 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}