有没有办法从文件导入棋谱数据?文件内容只能限制为棋步。
我很清楚
\hidemoves{\input{datafile}}
行不通。但是,是否可以\input{datafile}
先扩展,然后再将结果提供给\hidemoves
?
答案1
使用readarray
包将文件内容放入\def
名为的中\myhidemoves
,然后只需要展开\myhidemoves
一次就可以将其传递给\hidemoves
。
已编辑,以更改#
catcode \readdef
。
\documentclass{book}
\usepackage{xskak,filecontents,readarray}
\begin{filecontents*}{datafile}
1.e4 e6 2.d4 b6#
\end{filecontents*}
\begin{document}
\newchessgame[id=title]
\catcode`#=12 %
\readdef{datafile}{\myhidemoves}
\catcode`#=6 %
\expandafter\hidemoves\expandafter{\myhidemoves}
\tableofcontents
\chapter{\protect\printchessgame[id=title]}
\printchessgame[id=title]
\chessboard[id=title]
\end{document}
注:复制自 MWE\chapter 命令和 skak 包。