Whether you want to make your own crossword puzzles, or just wonder how they are created, this post is for you. A user over at StackExchange asked how to create a puzzle in \(\LaTeX\). Another user named Thorsten gave a very comprehensive answer, which forms the basis for this post.

The \(\LaTeX\) package to use is cwpuzzle. It isn't quite as easy as I had envisioned, but is still relatively simple. The key part of Thorsten's code looks like this:

\begin{Puzzle}{16}{12}
|*    |[1]O |[2]P |E  |R     |A  |T     |I  |O    |N  |*     |*    |[3]B |*  |*  |*  |.
|*    |*    |L    |*  |*     |*  |*     |*  |*    |*  |*     |[4]R |A    |N  |G  |E  |.
|[5]E |*    |A    |*  |[6]M  |*  |*     |*  |*    |*  |*     |*    |R    |*  |*  |*  |.
|S    |*    |[7]C |O  |O     |R  |D     |I  |N    |A  |T     |E    |G    |R  |I  |D  |.
|T    |*    |E    |*  |D     |*  |*     |*  |*    |*  |*     |*    |R    |*  |*  |*  |.
|I    |*    |V    |*  |E     |*  |*     |*  |[8]V |A  |R     |I    |A    |B  |L  |E  |.
|[9]M |E    |A    |N  |*     |*  |*     |*  |*    |*  |*     |*    |P    |*  |*  |*  |.
|A    |*    |L    |*  |[10]L |I  |N     |E  |G    |R  |[11]A |P    |H    |*  |*  |*  |.
|T    |*    |U    |*  |*     |*  |*     |*  |*    |*  |X     |*    |*    |*  |*  |*  |.
|I    |*    |E    |*  |*     |*  |[12]S |C  |A    |L  |E     |M    |O    |D  |E  |L  |.
|O    |*    |*    |*  |*     |*  |*     |*  |*    |*  |S     |*    |*    |*  |*  |*  |.
|N    |*    |*    |*  |*     |*  |*     |*  |*    |*  |*     |*    |*    |*  |*  |*  |.
\end{Puzzle}

And here is the result:

[caption id="attachment_1107" align="aligncenter" width="300"] The Puzzle[/caption]

[caption id="attachment_1108" align="aligncenter" width="300"] The Answers[/caption]

A pretty neat tool, overall.

Crossword fans might also like this video, with remarks from a classic crossword puzzle "grid man:"