
체스 게임에서 화살표를 어떻게 그릴 수 있나요?
예를 들어, 게임이 1.e4 ...로 시작한다면 e2에서 e4까지 검은색 화살표를 그려서 움직임을 보여주고 싶고, 같은 다이어그램에서 e4에서 f5까지 두 개의 빨간색 화살표와 e4에서 또 다른 빨간색 화살표를 그려보겠습니다. d5로 이동하여 폰이 사각형을 공격하는 모습을 보여줍니다.
다음 게임이 저에게 효과적입니다. 추가적인 강조 가능성을 찾고 싶습니다. 예를 들어, 교육 목적으로 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}