
2002-10-24

README - crossword

crossword: This program creates crosswords from a cell matrix and a dictionary. It uses a highly optimized brute force algorithm to fill the free cells of the matrix with dictionary words.

This program returns the word configuration found by the algorithm in a crw format (It is a format created only for this package).

crossword_heur: It is the same 'crossword', except it uses an heuristic to skip words that seems to be the fitting problem. Altough it doesn't do an exhastive search, there were always a result on the tests done and it did it in less time that would do 'crossword'

crw2tex: Generates a LaTeX file from the crw file generated by 'crossword'. This new file could later be compiled by 'latex' to generate a PostScript file so it can be printed.

From a single crw file there could be two different crossword generations:

  - Fill-in puzzles: All the words are known but the position on the board is unknown.

  - Classic crosswords: The position of the words are known, but instead of knowing the word, it given the word definition. This is the kind of crossword that usually appears on news-papers and magazines.
    For this kind of crossword, 'crw2tex' needs a definition file to be able to generate the tex file.

WHAT YOU NEED

 - All the source files are written in C++, so you need installed these libraries to be able to compile them.

 - There is needed a dictionary (a word list) on the language you want to create the crosswords. These lists can be found in software like ispell (it could be needed to transform the list so that 'crossword' can understand it). There is an example in diccionarios/.

 - It is needed a definition file to be able to generate Classic crosswords. The file format is described in 'crw2tex'. There is an example in defs/.

 - To be able to generate a printable PostScript from the tex file you need to have installed TeTeX, LaTeX and the package texdraw.

HOWTO

View the file USAGE for usage instructions.