This module only provides two commands:
\magicsquare
typesets a magic square.\latinsquare
typesets a Latin square.
Both \magicsquare
and \latinsquare
understand the same set of
parameters:
\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:
\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. Moreover, I'm using cutting-edge features, such as new macro extensions. An updated distribution is recommended.