# sudoku This is a ConTeXt port of a famous sudoku solver by Peter Norvig. It provides five commands, as well as a command handler: 1. `\sudoku` typesets a sudoku if valid. 2. `\sudokufile` typesets a sudoku from a file if valid. 3. `\solvesudoku` solves a sudoku if valid. 4. `\solvesudokufile` solves a sudoku from a file if valid. 5. `\randomsudoku` creates a random, unsolved sudoku. 6. `\sudokubuffer` typesets a sudoku from a buffer. 7. `\solvesudokubuffer` solves a sudoku from a buffer if valid. 8. `\setupsudoku` is the command handler for commands above. `\setupsudoku` understands the following parameters: ```tex \setupsudoku [size=2em, align={middle,lohi}, evenbackground=color, oddbackground=color, evenbackgroundcolor=darkred, oddbackgroundcolor=darkblue, n=17] % for random sudokus ``` As you might notice, sudokus are just `TABLE`'s in disguise, but only certain parameters are passed in order to enforce constraints and keep a sudoku in square shape. If an invalid sudoku or sudoku file is provided, a placeholder with an error message is printed instead. To change message errors, set something like this: ```tex \setupsudoku [placeholdercommand=\inframed, placeholderlabela=First error, placeholderlabelb=Second error, placeholderlabelc=Third error, placeholderlabeld=Number too low] ``` For actual examples, check `t-sudoku.mkvi`.