
			     cwpuzzle.sty
				  -
     a LaTeX package for typesetting crossword puzzles and more

			   Gerd Neugebauer


CROSSWORD PUZZLES

Since I know only of  one additional package for typesetting crossword
puzzles on  CTAN --  named crosswrd.sty --  I will compare  it against
this  package  to  show  the  advantages  and  disadvantages  of  both
packages.

I  have developed  cwpuzzle.sty because I  needed to  typeset a puzzle
which required   more features than  those  provided by crosswrd.  The
feature I was missing was the inclusion of  rectangular regions in the
puzzles  containing  ads or  other  texts not  directly related to the
characters to be filled in.

I have generalized this  requirement by allowing  arbitrary rectangles
to be left free. Thus it is possible to typeset  puzzles which have no
rectangular border (See the documentation for examples).

Another idea was to have different types of puzzles generated from the
same source:

- The  classical puzzle contains numbers for  the  words and clues for
  the words to be filled in.

- The numbered  puzzle contains numbers  in each  cell where identical
  numbers represent  identical letters. The goal is  to find out which
  number corresponds to which letter.

- The fill-in type of  puzzle consists of a grid  and a list of words.
  The goal is to place all words in the grid.

crosswrd supports the first type of puzzle only. cwpuzzle supports all
of them.

The input for both packages is  completely different. crosswrd assumes
that a user uses this package to develop a puzzle. Thus it is tailored
towards a human   user.    It checks  for  consistency and    requires
non-redundant input.  (As a unpleasant side effect fragile macros used
in clues have to be protected)

cwpuzzle   needs  some  redundancy  in  the   input  for the   sake of
flexibility. But  it seems quite natural to  specify  the frame of the
puzzle  and the clues separately. Especially  for those types where no
clues are needed at all.

cwpuzzle currently assumes that words  are terminated by a black block
(or the border of the puzzle). crosswrd also supports also the variant
where words are terminated  by a thicker   border. This might also  be
incorporated into a future release of cwpuzzle.

In  cwpuzzle it  is also  possible  to  specify whether the  crossword
puzzle     or it's   solution should   be   produced   (from the  same
source). Thus it  is possible to include the  puzzle in one issue of a
journal  and  the solution  into another,  or to  typeset the solution
several pages after the puzzle.

cwpuzzle provides a larger  number of options and  hooks which  can be
used to customize the result. E.g it is possible to modify the size of
the boxes or the  fonts used as  well  as the appearance of  graphical
elements like the black blocks.


MORE CELL-BASED PUZZLES

In addition to crossword puzzles Sudoku and Kakuro are supported. They
are also grid-based. Thus it was easy to facilityte the infrastructure
already in place for them.

There  is a  package  for sudoku  on  CTAN. But  it  does not  support
solutions yet.


LOCATION

cwpuzzle is located in the CTAN directory

	tex-archive/macros/latex/contrib/gene/crossword

Run  tex on  cwpuzzle.ins to  produce  the package  and (pdf)latex  on
cwpuzzle.dtx to  get the documentation  (or the Makefile to  do both).
Per default the Makefile produces the documentation as PDF.
