我想为国际象棋开局的一条线制作动画,但我发现唯一的方法有点困难或重复,所以我想编写一个允许我这样做的命令。
以下是一个例子:
\newchessgame
\begin{animateinline}[controls,loop]{1}%
\chessboard
\newframe\hidemoves{1.e4}%
\chessboard
\newframe\hidemoves{1... e5}%
\chessboard
\newframe\hidemoves{2. Nc3}%
\chessboard
\newframe\hidemoves{2... Nf6}%
\chessboard
\newframe\hidemoves{3.f4}%
\chessboard
\newframe\hidemoves{3... exf4}%
\chessboard
\end{animateinline}
我的想法是:
\newcommand{\ChessAnimate}[1]
{
\begin{animateinline}[controls,loop]{1}%
\foreach \n in {#1}
{
\chessboard
\newframe
\mainline{\n}%
}
\chessboard
\end{animateinline}
}
但是它不能编译。另外,我想将移动(现在我隐藏了)与棋盘的位置联系起来。
非常感谢你的帮助。
这是我使用的代码,但无法编译。
\documentclass{article}
\usepackage{pgfplots}
\usepackage[utf8]{inputenc} %Accenti
\usepackage{xskak, chessboard, animate}
\usepackage[italian]{babel}
\usepackage{geometry} %Gestione delle dimensioni del foglio
\setcounter{secnumdepth}{0}
\geometry{
a4paper,
total={170mm,250mm},% Spessore e altezza del corpo
%total={larghezza, altezza}
top=20mm,
}
\newcommand{\ChessAnimate}[1]
{
\begin{animateinline}[controls,loop]{1}%
\foreach \n in {#1}
{
\chessboard
\newframe
\mainline{\n}%
}
\chessboard
\end{animateinline}
}
\title{Title}
\author{Name}
\begin{document}
\tableofcontents
\ChessAnimate{1.e4 e5 2.Nc3}
\end{document}