
チェスゲームで矢印を描くにはどうすればいいですか?
たとえば、ゲームが 1. e4 ... から始まる場合、動きを示すために e2 から e4 への黒い矢印を描き、同じ図で、ポーンがマスを攻撃していることを示すために、e4 から f5 への 2 つの赤い矢印と、e4 から d5 へのもう 1 つの赤い矢印を描きます。
次のゲームは私にとってはうまくいきます。追加のハイライトの可能性を見つけたいと思います。たとえば、教育目的のために、f6 のナイトとそれが攻撃しているマスの間に矢印を表示します。
\documentclass[a4paper,10pt]{article}
\usepackage{skak}
\usepackage{xskak}
\begin{document}
\newgame
\mainline{1. e4 e5 2. Nf3 Bc5}
\chessboard
\end{document}
答え1
私は、xskak
パッケージ、特に 35 ページと 36 ページ、これが私が入手した内容です。
%! *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}