Diese Seite in Deutsch anzeigen

Welcome to the homepage of ChessTask!

ChessTask is a tool for creating collections of chess problems, each consisting of

It can also help you with editing diagrams for texts about chess in general.

It closely works together with LaTeX and provides kind of a frontend for it. Additionally, the tasks can also be output to HTML files for publishing them on the internet. ChessTask supports the complete set of ``Informator symbols''.

If you are already curious about how the output of ChessTask looks like, cast a quick glance at the examples.

Otherwise, continue to read and learn what ChessTask is all about...for example by taking a small tour through the manual.

How it started

For several years I am the "trainer" of the kids (ages 9-13) in our local chess club. I try to teach them the chess rules (movement of pieces, castling, en passant...) and also the basics of opening, middlegame and endgame.
In order to check whether they make any progress, I started to provide them with "homework" from time to time. So I created a few sheets with tasks on them and check their solutions against mine.
I am using LaTeX for all of my document typesetting work since over 10 years. Of course, I also prepared my "chess tests" with it. Starting back in 2000, I used a special package called `chess.sty' (by Piet Tutelaers) for the display of the chess diagrams.
In the LaTeX input files the command for displaying a board looked like this:


where the letter `e' stands for an empty square, uppercase letters represent the white pieces and lowercase letters the black ones.
As one can clearly see, it is not easy to judge whether the position is set up correctly or not. One would have to save the input file, call LaTeX and look at the produced output:

LaTeX output (PDF)

in order to verify that White can really checkmate in one move. The current version of ChessTask uses the ``skak'' package by Torben Hoffmann for displaying moves and the chess board. Setting up a position is much easier now, a single FEN (Forsyth Edwards Notation) string will do the trick. However, still some kind of graphical interface---like WinBoard/XBoard---is required or at least very helpful.
This was the first point that led me to writing ChessTask. I wanted to set up the board while looking at "real" pieces and not letters.
The second point was that I wanted to produce only one output file. It should start with the tasks and then, on a new page, the list of solutions should begin. If one edits a file like this with a normal text editor one has to jump back and forth between tasks and solutions, always trying to ensure that the correct order is preserved.
Now, ChessTask takes care of this intricacy. Each chess problem is set up in a single step, including the board diagram, the title of the task, the problem itself and the solution. While exporting to LaTeX or HTML the solutions get separated from the tasks automatically.

What/who ChessTask aims at

ChessTask is designed for people/institutions/clubs that want to teach chess to others. They can use this program to create ChessTask does not support the replay of complete games, it only deals with single positions!

What is LaTeX?

Basically, LaTeX is just a set of definitions, extending the program TeX. So the question really should be: "What is TeX?"

TeX was written by Donald E. Knuth. It is mainly used to write articles, papers and books that contain lots of mathematics or are of scientific nature in general.
By the use of special extensions (like the macro package LaTeX by Leslie Lamport) TeX can solve almost any textprocessing task (e.g. writing office letters), while producing high quality output.
It supports all kinds of languages like Greek, Cyrillic, Hebrew a.s.o. and can also output "special characters" like notes and bars for publishing a piece of music or chess pieces for displaying positions.

TeX/LaTeX does not support WYSIWYG (What You See Is What You Get). Instead, one edits an ASCII file, containing the text and commands for formatting it, which is the input file for TeX. As output, a DVI (DeVice Independent) file is created that can either be viewed or converted to other formats like PostScript or PDF and then be printed.

One good thing about TeX/LaTeX is, that it is available for almost any operating system. And it is absolutely free of charge!
But probably the best thing in connection with ChessTask is, that you do not have to learn TeX/LaTeX at all (In fact, TeX is a programming language with about 900 different basic commands). You only need to install it and ChessTask creates the input files for you automatically while exporting your tasks.

If you got interested and want to test LaTeX please visit the following homepages

There you can find more information about the TeX/LaTeX system and its usage.
As TeX/LaTeX distributions I would like to recommend teTeX for Unix/Linux and MikTeX (the "Small Package" should be sufficient) for Windows users.

And if you do not want to tangle with LaTeX you can still export your tasks to HTML and print them using your browser...



If you downloaded one of the executables (see Download) you only have to unpack the archive. All the necessary files are included to it.

For unZIPing the archives in Windows you need an extracting program like WinZip or Zip'N'All that supports long file names. If you want to boldly go where no Zip user has gone before, you might want to check out the list of Freeware Zip progs.

In order to compile ChessTask for Windows, you need:

For further informations read the file `README', contained in each ChessTask archive.


In order to compile ChessTask for Unix/Linux, you need:

For further informations read the file `README', contained in each ChessTask archive.


The download area contains the "source files" archive. You can also find two archives with already compiled Windows executables inside.
The names are as follows:

ChessTask2_0src.zipSource files for both, Unix/Linux and Windows
ChessTask2_0wine.zipPrecompiled version for Windows ("English" as default language)
ChessTask2_0wing.zipPrecompiled version for Windows ("German" as default language)

Please regard the files `README' and `COPYING' for the terms of the GNU GPL (General Public License) and further instructions about compiling ChessTask and its usage.

Using Doxygen you can easily generate a documentation for the source files if you want to.


Dirk Bächle

Written in

C++, using Qt (by TrollTech) and STL (Standard Template Library)


If you are interested in writing about chess, especially in combination with LaTeX, you might want to check out two of my other programs:

Pgn2ltx: Converts PGN (Portable Game Notation) games to a LaTeX input file, using the ``skak'' package.
Fen2eps: Converts FEN (Forsyth Edwards Notation) strings directly to an EPS (Encapsulated PostScript) file.

For a whole bunch of nice tools, diagram editors, chess fonts, databases, chess programs a.s.o. visit the great site of the Norresundby Chess Club maintained by Eric Bentzen and friends.

Dirk Bächle, 2004-03-24

Send your questions, remarks, suggestions and criticism to Dirk Bächle.