在 Skak 中排版嵌套的国际象棋变体

在 Skak 中排版嵌套的国际象棋变体

我希望使用 Skak 来排版我的国际象棋笔记,作为学习过程的一部分,我决定从我的一本国际象棋书中排版一页。在我遇到困难之前,我已经做到了以下几点。

\documentclass[10pt,twocolumn]{article}

\usepackage{skak}   

\begin{document}

\begin{center}
    \textbf{Botvinnik -- Smyslov} \\
    \textit{World Championship Match (17)} \\
    \textit{Moscow 1957} \\
    Gr\"{u}nfeld Defence
\end{center}

\newgame
\styleC

\mainline{ 1. Nf3 Nf6 2. g3 g6 3. c4 c6 4. Bg2 Bg7 5. Nc3 O-O 6. d4 d5 7. cxd5 cxd5 8. Ne5 b6}

A satisfactory way of developing.  After \variation{8... Nc6 9. Nxc6 bxc6} Black would be saddled with a weak pawn at c6.

\mainline{9. Bg5 Bb7 10. Bxf6 Bxf6 11. O-O}

In the variation \variation{11. e4 dxe4 12. Nxe4 Bxe5 13. dxe5 Nd7 14. f4 Nc5} Black has a good game.

\mainline{11... e6 12. f4}

If \variation{12. e4 Nc6 13. exd5 Nxe5 14. dxe5 Bxe5 15. dxe6 Bxg2 16. exf7+ Rxf7 17. Kxg2 Bxc3 18. bxc3 Qxd1 19. Rfxd1 Rc8 20. Rd3 Rc4}, and Black can successfully battle for a draw in the rook ending.

\end{document}

我想在最后一行的半步 13. exd5 和 13...Nxe5 之间插入变奏 (13. Nxc6 Bxc6 14. exd5 exd5)。我第一次尝试在 \variations 内使用 \variations,但由于步数不一致而失败。然后我试着耍点小聪明,花了一些时间玩弄复杂的 \hidemoves 和 \restoregame 技巧,但仍然没有成功。关于如何排版嵌套变奏,有什么建议吗?

答案1

尝试 xskak。请注意,xskak 中的主线/变体处理方式与 skak 不同。在 xskak 中,\mainline 用于应解析的动作(您想要显示棋盘的位置),而 \variation 用于仅打印的动作。这两个命令都可以以“主样式”和“变体样式”打印其动作,因此您必须小心分组和键以获得正确的样式。

\documentclass[10pt,twocolumn]{article}

\usepackage{xskak}

\begin{document}

\begin{center}
    \textbf{Botvinnik -- Smyslov} \\
    \textit{World Championship Match (17)} \\
    \textit{Moscow 1957} \\
    Gr\"{u}nfeld Defence
\end{center}

\newchessgame
\xskakset{style=styleC}

\mainline{1. Nf3 Nf6 2. g3 g6 3. c4 c6 4. Bg2 Bg7 5. Nc3 O-O 6. d4 d5 7. cxd5
cxd5 8. Ne5 b6}

A satisfactory way of developing.  After {\variation[invar]{8... Nc6 9. Nxc6
bxc6}} Black would be saddled with a weak pawn at c6.

\mainline{9. Bg5 Bb7 10. Bxf6 Bxf6 11. O-O}

In the variation {\variation[invar]{11. e4 dxe4 12. Nxe4 Bxe5 13. dxe5 Nd7
14. f4 Nc5}} Black has a good game.

\mainline{11... e6 12. f4}

If {\variation[invar]{12. e4 Nc6 13. exd5} (\variation[invar]{13. Nxc6 Bxc6
14. exd5 exd5}) \variation[outvar]{13... Nxe5 14. dxe5 Bxe5 15. dxe6 Bxg2 16.
exf7+ Rxf7 17. Kxg2 Bxc3 18. bxc3 Qxd1 19. Rfxd1 Rc8 20. Rd3 Rc4}}, and Black
can successfully battle for a draw in the rook ending.

\end{document}

相关内容