国际象棋符号的颜色(xskak)

国际象棋符号的颜色(xskak)

我想为特定的动作设置颜色\mainline,例如\mainline{1. f4 e5 2. {\color{red} g4} Qh4#}

有什么方法可以改变某些动作的颜色吗?

答案1

没有自然的方法,但您可以尝试以下混合使用 NAG 来启动和停止颜色以及手工制作的样式。主要问题是停止颜色:(skak由使用xskak)混合了解析和打印,因此分组命令有爆炸的趋势。

\documentclass[]{scrbook}
\usepackage{xskak,xcolor}

\newcommand\mycolor{}
%NAG to start color:
\expandafter\def\csname $100\endcsname{\gdef\mycolor{\color{red}}}
%NAG to stop color:
\expandafter\def\csname $101\endcsname{\gdef\mycolor{\color{black}}}


\xskaknewstyleitem[%
 whiteopen={.\,},
 beforewhite=\mycolor,
 beforeblack=\mycolor,
 blackopen={\ldots\,},
 afterwhite={\color{black}\ },
 beforenumber=\color{black},
 afterblack={\ }]{color}

\xskaknewstyle[level= 1,styleitem=color,font=\bfseries,
               level= 3,font=\itshape]{color}


\begin{document}
\newchessgame
\mainline[style=color]{1. f4 e5 $100 2.  e4 $101 e6 3. Nf3 $100 Nf6 4. d4 $101 d5}
\end{document}

相关内容