Diagrama de xadrez com setas em skak, xskak

Diagrama de xadrez com setas em skak, xskak

Como posso desenhar flechas em um jogo de xadrez?

Por exemplo, se o jogo começa com 1. e4..., quero desenhar uma seta preta de e2 a e4 para mostrar o movimento, e, no mesmo diagrama, duas setas vermelhas de e4 a f5, e outra de e4 até d5, para mostrar o peão atacando as casas.

O seguinte jogo funciona para mim. Gostaria de encontrar possibilidades adicionais de destaque. Por exemplo, para fins educacionais, uma flecha entre o cavalo em f6 e as casas que estão sendo atacadas por ele.

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


\begin{document}

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

\end{document}

Responder1

Acompanhei a documentação doxskakpacote, especialmente as páginas 35 e 36, e é isso que tenho.

%! *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}

eu

informação relacionada