xskak 与 wrapfig 兼容吗?

xskak 与 wrapfig 兼容吗?

我想展示一些(国际象棋)动作,并将它们环绕在最终的棋盘上。以下代码:

\documentclass[twocolumn]{article}

\usepackage{xskak}
\usepackage{wrapfig}
\usepackage{lipsum}
%\raggedright

\begin{document}

\newchessgame

\setchessboard{tinyboard,
  showmover=false,
  marginwidth=0pt,
  labelleft=false,
  labelbottom=false}

\hidemoves{1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1
  b5 7. Bb3 O-O 8. a4 Bb7 9. d3 Re8 10. Nbd2 Bf8}

\begin{wrapfigure}{r}{80pt}
  \chessboard
\end{wrapfigure}
%\lipsum[1]
\variation{1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1
   b5 7. Bb3 O-O 8. a4 Bb7 9. d3 Re8 10. Nbd2 Bf8}

\end{document}

产生以下内容,其中移动会妨碍棋盘。但是,正常文本可以很好地流动,正如您看到的那样,取消注释了 lipsum 行。我怎样才能让移动在棋盘周围流动?

在此处输入图片描述

答案1

问题是所有打印都是在组内完成的,因此段落也是在组内开始的。这似乎是问题的原因。只要您在游戏之前打印某些内容,它就会起作用。例如,您可以使用\leavevmode\variation{...}\leavevmode\printchessgame。我会将添加到\leavevmode\printchessgame但我无法更改,\variation因为此命令来自skak包。

答案2

这个怎么样?

\documentclass[twocolumn]{article}
\usepackage{xskak}


\begin{document}

\newchessgame[id=A]
\mainline{1.d4 Nf6 2.c4 c6?!}

\chessboard

\xskakset{id=A}
\resumechessgame[newvar]
\noindent
\variation{2... e6 3. Nc3 Bb4 4. Nf3 d5 5. c5 O-O 6. Bd2}
(\variation{2... c6 3. Nc3 d5 4. Nf3 dxc4 5. e4 b5 6. Bf4})

\end{document}

答案3

也许是这样的:

\documentclass{article}
\usepackage{xskak,chessboard}
\title{Variasi xskak}
\usepackage[
  top=1in,
  left=3.5cm,
  right=2.5cm
 ]{geometry}
\begin{document}

\newchessgame[id=A]
\mainline{1.d4 Nf6 2.c4 c6?!}

\xskakset{id=A}
\resumechessgame[newvar]
\setchessboard{boardfontsize=16pt,labelfontsize=8pt}
\chessboard
\variation{2... e6 3. Nc3 Bb4 4. Nf3 d5 5. c5 O-O 6. Bd2}


\end{document}

相关内容