skak、xskak 中帶有箭頭的西洋棋圖表

skak、xskak 中帶有箭頭的西洋棋圖表

如何在國際象棋遊戲中繪製箭頭?

例如,如果遊戲以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}

姆韋

相關內容