1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# squares
This module only provides two commands:
1. `\magicsquare` typesets a magic square.
2. `\latinsquare` typesets a Latin square.
Both `\magicsquare` and `\latinsquare` understand the same set of
parameters:
```tex
\setupmagicsquare
[size=2em,
align={middle,lohi},
renderingsetup=none,
n=5] % and \setupTABLE parameters...
```
Magic and Latin squares are typesets via natural tables, i.e., by using a
`\bTABLE` ... `\eTABLE` environment. I'd rather use `setups`, but it'd
clash with another key already taken by `\setupTABLE`.
Currently only two rendering setups are available: `none` (it does
nothing), and `color` (cells colorfully painted across the HSV hue range).
I promise more setups will be available soon, though.
You might be more impatient and want to define your own. So, this is how:
```tex
\unprotect
\startsetups[\????magicsquare:\c!renderingsetup:mysetup]
% Idk, something like this?
% \setupTABLE[r][odd][background=color,backgroundcolor=red]
% For natural table tuning, see https://wiki.contextgarden.net/TABLE
% etc.
\stopsetups
\protect
\magicsquare[n=7,renderingsetup=mysetup]
```
_Caveat emptor_: this module is only for ConTeXt LMTX. I no longer use
ConTeXt MKIV, so no support is provided, sorry.
|