On 8/21/2022 1:04 AM, Adam Reviczky via ntg-context wrote:
Since there has been a lot of work done on the math side of things, I wanted to ask if there is an automated way to have binary operators repeated when splitting a formula.
From the MKIV math manual there is an option to move the operators into the new line:
\setupmathematics[setups=math:spacing:split] \setupformulas[split=yes,align=flushleft] \startformula x\dorecurse{30}{ + #1x^{#1x}} = 10 \stopformula
Would it be possible to achieve this via a custom setup like math:spacing:split to get an output like this?
𝑥 + 1𝑥1𝑥 + 2𝑥2𝑥 + 3𝑥3𝑥 + 4𝑥4𝑥 + 5𝑥5𝑥 + 6𝑥6𝑥 + 7𝑥7𝑥 + 8𝑥8𝑥 + 9𝑥9𝑥 + 10𝑥10𝑥 + + 11𝑥11𝑥 + 12𝑥12𝑥 + 13𝑥13𝑥 + 14𝑥14𝑥 + 15𝑥15𝑥 + 16𝑥16𝑥 + 17𝑥17𝑥 + 18𝑥18𝑥 + 19𝑥19𝑥 + + 20𝑥20𝑥 + 21𝑥21𝑥 + 22𝑥22𝑥 + 23𝑥23𝑥 + 24𝑥24𝑥 + 25𝑥25𝑥 + 26𝑥26𝑥 + 27𝑥27𝑥 + 28𝑥28𝑥 + + 29𝑥29𝑥 + 30𝑥30𝑥 = 10 What you are basically asking for is "math discretionaries that don't interfere with spacing and penalties as assigned in math processing" .
I attached what we have done so far. Regular discretionaries are already supported but recently - not yet in the upload - and last week I added support for specific math discretionaries to the engine (no need to switch to math in a dicretionary so no style guesswork needed) and then also a more native handling of characters directly (using \\hmcode's) so no need for some command that injects the discretionary. We have no high level interface yes so if you have suggestions on how this is to be used (what binaries for instance, is it language dependent) let us know. Mikael and I still need to look into more granular inter-atom penalties (there is quite some control possible but it is simply not yet used). There will probably be an upload one of these days (all build engines need to be up and running) btu we're first wrapping up some other (cool) mechanism. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------