Directory macros/latex/contrib/gene/crossword
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. c wpuzzle 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
https://ctan.org/tex-archive/macros/latex/contrib/gene/crossword
The source repository can be found under
https://sourceforge.net/p/gene-tex-lib/svn/HEAD/tree/cwpuzzle
Installation
... in TeX distributions
If you are lucky then cwpuzzle is already installed in your TeX distribution or available via the package manager:
- in TeX Live as
crossword
- in MiKTeX as
crossword
... manually
Run tex on cwpuzzle.ins
to produce the package and latex and makeindex on cwpuzzle.dtx
to get the documentation
tex cwpuzzle.ins lualatex cwpuzzle.dtx lualatex cwpuzzle.dtx makeindex -s gind.ist cwpuzzle makeindex -s gglo.ist -o cwpuzzle.gls cwpuzzle.glo lualatex cwpuzzle.dtx
Or use the Makefile
to do both. Per default the Makefile
produces the documentation as PDF.
make -f Makefile
Finally move the file cwpuzzle.sty
into a directory where your TeX distribution searches for style files.
Version and copyright
The relevant information about version and copyright are contained in the file cwpuzzle.dtx
.
Download the contents of this package in one zip archive (345.7k).
crossword – Typeset crossword puzzles
An extended grid-based puzzle package, designed to take all input (both grid and clues) from the same file. The package can typeset grids with holes in them (for advertisements, or other sorts of stuff), and can deal with several sorts of puzzle:
- 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.
- Sudoku and Kakuro puzzles involve filling in grids of numbers according to their own rules.
Format may be block-separated, or separated by thick lines. Input to the package is somewhat redundant: specification of the grid is separate from specification of the clues (if they're necessary). The author considers this style both ‘natural’ and robust.
Package | crossword |
Home page | http://gerd-neugebauer.de/software/TeX/cwpuzzle |
Repository | https://sourceforge.net/p/gene-tex-lib/svn/HEAD/tree/cwpuzzle |
Version | 1.11 2022-09-13 |
Licenses | Free license not otherwise listed |
Copyright | 1995–2022 Gerd Neugebauer |
Maintainer | Gerd Neugebauer |
Contained in | TeX Live as crossword MiKTeX as crossword |
Topics | Crossword puzzle Games |
See also | crosswrd |