On 12/8/2022 8:54 PM, Otared Kavian via ntg-context wrote:
Hi Hans, Mikael,

These features are amazing! Many many thanks!
Thanks also to Gavin for having stated so precisely these kinds of needs, so 
that Hans and Mikael could come up with this solution.
Gavin, good luck with your project, and plaese share what you get at the end.
For the record: this features is already there for a while, we also have some matrix specific trickery as well as for instance annotated fences and so. However, the interfaces will evolve and eventually get documented in the upcoming (big) math manual. It's mostly a matter of consistent interfacing i.e. it has to fit into the way we do things in context (it's of course easy to come up with a quick and dirty ugly non extensible and non standard interface).

What is new in the latest greatest is (1) namespaces, so that one can reuse the references, which Gavin needs, and (2) sourcing a nucleus and/or the whole atom including scripts, which Gavin also needs. Some more granularity might show up depending on needs. As some depends on the tex engine there are limitations (performance, memory and complexity constraints: adding features like these might definitely not impact performance).

Source and target properties were added in order to avoid interference with math spacing but can also be used in text, where they are part of the larger package of box properties that was already around.

\startTEXpage[offset=2cm]

    \setbox 0 \ruledhbox
        source  123
        anchors 1 2
        {one}
    \setbox 2 \ruledhbox
        target 123
        {test 1}

    \dontleavehmode \box2 \box0

    \setbox 0 \ruledhbox
        target      124
        orientation 2
        anchors     1 4
        xoffset    -10pt
        {two}
    \setbox 2 \ruledhbox
        source 124
        {test 2}

    \dontleavehmode \box2 \box0

\stopTEXpage

With sources and targets one has to keep in mind that they don't participate in the box dimensions! Although excessive usage puts some strain on the backend in practice it probably goes unnoticed. Also, be careful with the source and target id's! There is currently no low level allocation mechanism so stick to positive numbers.

So, lots to play with, if you're in the mood,

Hans

(There is quite some experimental code around but to what extend it ends up in the core depends on demand, time, motivation etc. As you can guess, Mikael and I having a lot of math fun is motivating.)

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________

Reply via email to