% Written by Sebastian Pipping <sebastian@pipping.org>, 2014-09-16
\documentclass[twocolumn]{article}
\usepackage[margin=2cm]{geometry}
\setlength{\columnsep}{1cm}
\usepackage[hidelinks]{hyperref}
\usepackage{xq-0-3}

\newcommand{\EM}[1]{\underline{#1}}
\newcommand{\AUTHORS}[2]{%
	Reported by: #1\\%
	Fixed by: #2\\[\baselineskip]%
}

\begin{document}

\noindent
This document demonstrates bugs of xq version 0.3 that were fixed in release 0.4.

\tableofcontents


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\section{Bug: Red piece already gone}
\AUTHORS{Wolfgang Reher}{Sebastian Pipping}
%
Consider this artifical setup.

\mylanguage english
\resetboard
\piece Rc9
\piece Rc8

\piece rb9
\piece cb8
\showboard
%
Now for "\texttt{\textbackslash{}move c9d9 b9d9}" Black is capturing
the Red piece at its new position, output "Rc9-d9 Rb9xd9"
is expected (and produced by xq 0.3):
%
\cb \quad.
\move c9d9 b9d9

\noindent
In contrast, with "\texttt{\textbackslash{}move c8e8 b8c8}" black moves to
where Red just left before, non-capturing output
"Rc8-e8 \EM{Rb8-c8}" is expected, xq 0.3 yields \EM{Rb8xc8} instead.

\cb \quad.
\move c8e8 b8c8

\noindent
The situation after these moves:
\showboard


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\section{Bug: a0 wired to b0}
\AUTHORS{Wolfgang Reher}{Sebastian Pipping}
%
Consider this artifical setup.

\mylanguage english
\resetboard
\movecount=0
\piece Ra9
\piece Rc0
\piece rb0
\piece rd0
\showboard

\noindent
Now "\texttt{\textbackslash{}move a9a0 xxxx}" is a non-capturing move so
"\EM{Ra9-a0}" is expected; xq 0.3 is showing "\EM{Ra9xa0}" since
it checks b0 for occupation rather than a0:

\cr \quad.
\move a9a0 xxxx

\noindent
Next, we move the middle rooks out of the way:

\move xxxx b0b9
\cr \quad.
\move c0c9 xxxx

\noindent
Since b0 is no longer occupied, xq 0.3 renders "\texttt{\textbackslash{}move xxxx d0a0}"
as "\EM{Rd0-a0}" while "\EM{Rd0xa0}" would be correct:

\cb \quad.
\move xxxx d0a0

\noindent
The situation after these moves:
\showboard


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\section{Bug: Bad align in move listing}
\AUTHORS{Sebastian Pipping}{Sebastian Pipping}
%
Consider this artifical setup.

\mylanguage english
\resetboard
\movecount=0
\piece Rc9
\piece Rf9
\piece rh9
\piece ri9
\showboard

\noindent
Now the reduced width of some letters (e.g. "f" and "i") results in bad alignment with xq 0.3:

\move c9c5 h9h5
\cb \quad.
\move f9f5 i9i5


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\section{Bug: Start marker at \texttt{i4} missing}
\AUTHORS{Wolfgang Reher}{Wolfgang Reher}
All four board display commands fail to produce start markers at \texttt{i4} in xq 0.3.\\

\resetboard
\piece Ch4

\noindent
\texttt{\textbackslash{}showboard}\showboard
\texttt{\textbackslash{}showwesternboard}\showwesternboard
\onecolumn
\texttt{\textbackslash{}showlargeboard}\showlargeboard
\newpage
\texttt{\textbackslash{}showlargewesternboard}\showlargewesternboard

\end{document}
