![使用 skak/chessboard 解决问题,而不是玩游戏](https://linux22.com/image/423781/%E4%BD%BF%E7%94%A8%20skak%2Fchessboard%20%E8%A7%A3%E5%86%B3%E9%97%AE%E9%A2%98%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E7%8E%A9%E6%B8%B8%E6%88%8F.png)
我想使用 skak/chessboard 绘制问题图表。这实现了我想要的:
\documentclass{article}
\usepackage{skak,chessboard}
\begin{document}
\newgame
\def\myfen{8/R7/1R6/6k1/8/5K2 w}
\chessboard[setfen=\myfen]
\movecomment{1. Ra5 Kh4}
\newgame
\def\myfen{8/8/1R6/R7/7k/5K2 w}
\chessboard[setfen=\myfen]
\end{document}
但我更愿意在第一个图表后使用\mainline
而不是 ,\movecomment
这样我就不必在每次移动后输入新的 FEN 位置。我理解这\mainline
需要一场新游戏(这就是为什么如果我使用它会出现错误)。当它们不是游戏的一部分时,还有其他方法可以表示某个位置及其后续动作吗?
答案1
您应该使用xskak
软件包,而不是skak
使用软件包来获得更多功能。然后调整 Ulrike Fischer 的答案这里针对您的问题:
\documentclass{article}
\usepackage{xskak,chessboard}
\begin{document}
\newgame
\def\myfen{8/R7/1R6/6k1/8/5K2 w}
\newchessgame[setfen=\myfen,moveid=16w]
\chessboard
\mainline{16. Ra5+ Kh4}
\chessboard
\end{document}
可以找到作为xskak
该包扩展的skak
这里在 CTAN 上。