在 skak 包中使用 \typeC 无法编译

在 skak 包中使用 \typeC 无法编译

(1) 我正在使用 MikTeX 2.9,总体来说,我是一个非常满意的用户skak- 仅仅两个小时后,我就想排版一个国际象棋问题,而且对 LaTeX 中可能提供的支持一无所知,也无法启动skak并运行和生成。然而,我刚刚遇到了一个障碍:任何调用\styleC(将移动打印为每行 2 个半移动的垂直数组)的尝试都会导致编译错误,而\styleA和会产生预期的结果。更让我困惑的是,我编译发行版中提供的文件\styleB没有问题,而且我在文档中使用的说明列表与我完全相同。这到底是怎么回事?skakdoc.tex\usepackageskakdoc

(2) 说到样式,如果有一种样式可以用字母(例如 R 代表车,N 代表马等)来表示棋子,而不是显示它们的符号,那不是很好吗?我发现使用skak“small”参数调用会使文本阅读变得有些边缘化,尤其是主教很难被发现。我发现现代国际象棋文献支持这两种风格,所以我想这种字母风格不会让用户感到困惑skak


抱歉,我以这个开头开始胡言乱语。我的原始代码使用 \mainline{} 指令后跟换行符,这对于样式 A 和 B 来说是可以的。当切换到 \styleC 时,这个换行符导致了编译器错误;不幸的是,编译后的错误消息从未正常工作,所以我从未收到明确的消息“这里没有行可以结束”。

\documentclass[10pt]{article}
\usepackage{xskak}
\begin{document}
\newgame
\styleA
\textbf{styleA}\\
\mainline{1.e4 c5 2.Nf3 Nc6 3.Bc4 Bc5 4.c3 Nf6 5.d3} \\
\\
\newgame
\styleB
\textbf{styleB}\\
\mainline{1.e4 c5 2.Nf3 Nc6 3.Bc4 Bc5 4.c3 Nf6 5.d3} \\
\\
Note: while linefeeds may follow the mainline command for style A and B, a linefeed following the mainline command when styleC is set causes compiler error "there is no line to end here".\\
\newgame
\styleC
\textbf{styleC}\\
\mainline{1.e4 c5 2.Nf3 Nc6 3.Bc4 Bc5 4.c3 Nf6 5.d3}%\\ 
\end{document}

答案1

关于你的第二个问题。skak内部使用chessfss提供切换到字母的选项的包:

\documentclass{scrreprt}
\usepackage{skak}

\begin{document}
\newgame
\usetextfig
\settextfiglanguage{german}

\mainline{1. Nf3 Nf6 2. Rg1 Rg8}

\end{document}

(我自然会使用xskak而不是skak)。

相关内容