我想展示一些(国际象棋)动作,并将它们环绕在最终的棋盘上。以下代码:
\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}