Hey everyone,
Earlier today I came across this post about creating crosswords in Typst, and I found the idea so intriguing that I decided to give it a try myself.
I ended up building a small project that automatically places words into a crossword grid, based on a given list and a maximum grid size. It’s still a bit rough around the edges, but I think it shows what’s possible!
// --- Example word list ---
#let my-words = (
("TYPST", "A modern markup language for layout and documents"),
("LAYOUT", "Arrangement of elements on a page"),
("LATEX", "Well-known typesetting language for scientific documents"),
...
)
// --- Generate the crossword (with size limit) ---
#let crossword-data = generate-crossword(my-words, max-width: 20, max-height: 20)
#crossword(crossword-data)
#crossword-list(crossword-data)
I just wanted to share it here and see what you think:
- Would it be worth turning this into a proper package or template?
- What features would you like to see added?
Here’s the link to the project:
https://typst.app/project/rSoXp8FcY7pP0RyPnkQM0j
Looking forward to your thoughts!