Re: [NTG-context] Mathematical MetaFun Mania

2022-12-21 Thread Hans Hagen via ntg-context

On 12/21/2022 3:05 PM, Gavin via ntg-context wrote:

Hi Alexandre and Hans,

I also get no connectors drawn when I typeset Hans’s example file, anchors-002, 
using, ConTeXt  ver: 2022.12.15 18:12 LMTX  fmt: 2022.12.21, on my M1 Mac. Same 
error regarding anch_box_arrows_draw.

The file works fine with ConTeXt  ver: 2022.12.07 20:24 LMTX  fmt: 2022.12.7, 
except for the new cross page feature.


fixed in next upload



-
  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
___


Re: [NTG-context] Mathematical MetaFun Mania

2022-12-21 Thread Gavin via ntg-context
Hi Alexandre and Hans,

I also get no connectors drawn when I typeset Hans’s example file, anchors-002, 
using, ConTeXt  ver: 2022.12.15 18:12 LMTX  fmt: 2022.12.21, on my M1 Mac. Same 
error regarding anch_box_arrows_draw.

The file works fine with ConTeXt  ver: 2022.12.07 20:24 LMTX  fmt: 2022.12.7, 
except for the new cross page feature.

Gavin


> On Dec 18, 2022, at 4:03 AM, Alexandre Christe via ntg-context 
>  wrote:
> 
> Hi Hans,
> 
> On osx-64 I'm not getting a single connector printed when compiling 
> anchor-002.tex. I've attached the log in case. Am I doing something wrong on 
> my end?
> 
> Le ven. 16 déc. 2022 à 17:56, Hans Hagen via ntg-context  
> a écrit :
> On 12/15/2022 10:54 PM, Otared Kavian via ntg-context wrote:
> > Hi Hans,
> > 
> > Thanks for the new release and the nice anchoring features.
> > 
> > I played a little bit with these, and noticed some issues: in the following 
> > example, linking the bottom bounds of the integral signs is fine (as long 
> > as numbers are put there), but for the upper bounds, the \infty and \pi/2 
> > are not accepted (nor is any letter or greek symbol), but if one replaces 
> > \infty and \pi/2 with numbers, then the link between the upper bounds is 
> > shown. (In this example the links are invading the text, but probably this 
> > is due to the fact that I just copied the Metapost snippet you sent to 
> > Gavin).
> you can pick up a binary with a safeguard from
> 
> https://build.contextgarden.net/#/waterfall?tags=c.luametatex
> 
> (or compile one yourself from work)
> 
> 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
> -
> 
> ___
> 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
> ___
> ___
> 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
> ___

___
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
___


Re: [NTG-context] Mathematical MetaFun Mania

2022-12-18 Thread Alexandre Christe via ntg-context
Hi Hans,

On osx-64 I'm not getting a single connector printed when compiling
anchor-002.tex. I've attached the log in case. Am I doing something wrong
on my end?

Le ven. 16 déc. 2022 à 17:56, Hans Hagen via ntg-context 
a écrit :

> On 12/15/2022 10:54 PM, Otared Kavian via ntg-context wrote:
> > Hi Hans,
> >
> > Thanks for the new release and the nice anchoring features.
> >
> > I played a little bit with these, and noticed some issues: in the
> following example, linking the bottom bounds of the integral signs is fine
> (as long as numbers are put there), but for the upper bounds, the \infty
> and \pi/2 are not accepted (nor is any letter or greek symbol), but if one
> replaces \infty and \pi/2 with numbers, then the link between the upper
> bounds is shown. (In this example the links are invading the text, but
> probably this is due to the fact that I just copied the Metapost snippet
> you sent to Gavin).
> you can pick up a binary with a safeguard from
>
> https://build.contextgarden.net/#/waterfall?tags=c.luametatex
>
> (or compile one yourself from work)
>
> 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
> -
>
>
> ___
> 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
>
> ___
>


anchor.log
Description: Binary data
___
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
___


Re: [NTG-context] Mathematical MetaFun Mania

2022-12-16 Thread Hans Hagen via ntg-context

On 12/15/2022 10:54 PM, Otared Kavian via ntg-context wrote:

Hi Hans,

Thanks for the new release and the nice anchoring features.

I played a little bit with these, and noticed some issues: in the following 
example, linking the bottom bounds of the integral signs is fine (as long as 
numbers are put there), but for the upper bounds, the \infty and \pi/2 are not 
accepted (nor is any letter or greek symbol), but if one replaces \infty and 
\pi/2 with numbers, then the link between the upper bounds is shown. (In this 
example the links are invading the text, but probably this is due to the fact 
that I just copied the Metapost snippet you sent to Gavin).

you can pick up a binary with a safeguard from

https://build.contextgarden.net/#/waterfall?tags=c.luametatex

(or compile one yourself from work)

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
-

___
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
___


Re: [NTG-context] Mathematical MetaFun Mania

2022-12-16 Thread Hans Hagen via ntg-context

On 12/15/2022 10:54 PM, Otared Kavian via ntg-context wrote:

Hi Hans,

Thanks for the new release and the nice anchoring features.

I played a little bit with these, and noticed some issues: in the following 
example, linking the bottom bounds of the integral signs is fine (as long as 
numbers are put there), but for the upper bounds, the \infty and \pi/2 are not 
accepted (nor is any letter or greek symbol), but if one replaces \infty and 
\pi/2 with numbers, then the link between the upper bounds is shown. (In this 
example the links are invading the text, but probably this is due to the fact 
that I just copied the Metapost snippet you sent to Gavin).

temp solution:

\setmathoptions\mathordinarycode\numexpr
\noitaliccorrectionclassoptioncode
   +\checkkernpairclassoptioncode
 % +\flattenclassoptioncode
\relax

something MS and i need to discuss probably (read: if this old school 
tex math feature is still needed in context)


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
-

___
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
___


Re: [NTG-context] Mathematical MetaFun Mania

2022-12-15 Thread Otared Kavian via ntg-context
Hi Hans,

Thanks for the new release and the nice anchoring features.

I played a little bit with these, and noticed some issues: in the following 
example, linking the bottom bounds of the integral signs is fine (as long as 
numbers are put there), but for the upper bounds, the \infty and \pi/2 are not 
accepted (nor is any letter or greek symbol), but if one replaces \infty and 
\pi/2 with numbers, then the link between the upper bounds is shown. (In this 
example the links are invading the text, but probably this is due to the fact 
that I just copied the Metapost snippet you sent to Gavin).

Best regards: Otared

% begin anchoring-integrals.tex
\starttext

\startMPpositiongraphic{mypos:boxanchor:top}
begingroup ;
save f, t, p ; 
pair f, t ; 
path p ;
f := positionxy(mpvars("from")) ;
t := positionxy(mpvars("to")) ;
p := f { up } .. t ;
drawarrow p
withpen pencircle scaled mpvard "rulethickness"
withcolor mpvars "linecolor" ; % historically different 
names
positioninregion ;
endgroup ;
\stopMPpositiongraphic

\startMPpositiongraphic{mypos:boxanchor:bottom}
begingroup ;
save f, t, p ; 
pair f, t ; 
path p ;
f := positionxy(mpvars("from")) ;
t := positionxy(mpvars("to")) ;
p := f { down } .. t ;
drawarrow p
withpen pencircle scaled mpvard "myrulethickness"
withcolor mpvars "linecolor" ; % historically different 
names
positioninregion ;
endgroup ;
\stopMPpositiongraphic

\input thuan.tex

\startboxanchoring[+]
\connectboxanchors[top][top]
[distance=1ex,
rulethickness=1pt,
rulecolor=darkgreen,
mp=mypos:boxanchor:top]{b1}{b3}

\connectboxanchors[bottom][bottom]
[distance=1ex,
myrulethickness=1pt,
rulecolor=darkred,
mp=mypos:boxanchor:bottom]{b2}{b4}

\startformula
\int_{\mathboxanchored[nucleus]{b2}0}^{\mathboxanchored[nucleus]{b1}\infty} 
\frac{\dd x}{1 + x^2} = 
\int_{\mathboxanchored[nucleus]{b4}0}^{\mathboxanchored[nucleus]{b3}\pi/2}(1 + 
\tan(\theta)^2)\frac{\dd \theta}{1 + \tan(\theta)^2} = \frac{\pi}{2}
\stopformula
\input thuan.tex
\stopboxanchoring

\stoptext
% end anchoring-integrals

> On 15 Dec 2022, at 18:21, Hans Hagen via ntg-context  
> wrote:
> 
> On 12/15/2022 5:15 PM, Gavin wrote:
>> Hi Hans and List,
 2) Can I tell \connectboxanchors to use my MetaPost code and pass 
 key=value pairs like I do with \setMPpositiongraphic?
>>> see attached ... the 'cross pages' feature is in the upcoming
>> This indeed passes key=value pairs, but I cannot get it to pass mine. Is 
>> there some intermediate step? Your example has a key=value pair in 
>> \connectboxanchors and which is accessed in the MetaPost code. The pair, and 
>> MetaPost code are:
>>   rulethickness=1pt
>>   mpvard “rulethickness"
>> However, if I change the pair and MPcode to (see attached example for full 
>> code)
>>   myrulethickness=1pt
>>   mpvard “myrulethickness"
>> it doesn’t work. Similarly, you have a pair and MPcode that don’t match.
>>   rulecolor=darkgreen
>>   mpvars "linecolor"
>> This may be a historical fluke, but it suggests that there is some 
>> intermediate translation that I am missing. Any way I can name and pass by 
>> own key=value pairs?
> I updated lmtx so you can test it again.
> 
> Hans
> 
> ps. For the adventurous some bonus experiment in the engine:
> 
> \def\ccc#1#2#3#4#5#6#7#8#9#A#B#C#D#E#F%
>  {\def\ddd{#A-#D-#E/#F-#4-#1}%
>   #A-#D-#E/#F-#4-#1+\ddd}
> 
> so, upto 15 arguments:
> 
> [[\ccc123456789abcdef]]
> 
> (not that we need it in the context core, so more a gimmick for users and it 
> fits the much is already hex approach)
> 
> 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
> -
> 
> ___
> 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
> ___

Otared Kavian
e-mail: ota...@gmail.com
Phone: +33 6 88 26 70 95



___
If your question is of 

Re: [NTG-context] Mathematical MetaFun Mania

2022-12-15 Thread Hans Hagen via ntg-context

On 12/15/2022 5:15 PM, Gavin wrote:

Hi Hans and List,


2) Can I tell \connectboxanchors to use my MetaPost code and pass key=value 
pairs like I do with \setMPpositiongraphic?

see attached ... the 'cross pages' feature is in the upcoming


This indeed passes key=value pairs, but I cannot get it to pass mine. Is there 
some intermediate step? Your example has a key=value pair in \connectboxanchors 
and which is accessed in the MetaPost code. The pair, and MetaPost code are:

   rulethickness=1pt
   mpvard “rulethickness"

However, if I change the pair and MPcode to (see attached example for full code)

   myrulethickness=1pt
   mpvard “myrulethickness"

it doesn’t work. Similarly, you have a pair and MPcode that don’t match.

   rulecolor=darkgreen
   mpvars "linecolor"

This may be a historical fluke, but it suggests that there is some intermediate 
translation that I am missing. Any way I can name and pass by own key=value 
pairs?

I updated lmtx so you can test it again.

Hans

ps. For the adventurous some bonus experiment in the engine:

\def\ccc#1#2#3#4#5#6#7#8#9#A#B#C#D#E#F%
  {\def\ddd{#A-#D-#E/#F-#4-#1}%
   #A-#D-#E/#F-#4-#1+\ddd}

so, upto 15 arguments:

[[\ccc123456789abcdef]]

(not that we need it in the context core, so more a gimmick for users 
and it fits the much is already hex approach)


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
-

___
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
___


Re: [NTG-context] Mathematical MetaFun Mania

2022-12-15 Thread Gavin via ntg-context
Hi Hans and List,

>> 2) Can I tell \connectboxanchors to use my MetaPost code and pass key=value 
>> pairs like I do with \setMPpositiongraphic?
> see attached ... the 'cross pages' feature is in the upcoming

This indeed passes key=value pairs, but I cannot get it to pass mine. Is there 
some intermediate step? Your example has a key=value pair in \connectboxanchors 
and which is accessed in the MetaPost code. The pair, and MetaPost code are:

  rulethickness=1pt
  mpvard “rulethickness"

However, if I change the pair and MPcode to (see attached example for full code)

  myrulethickness=1pt
  mpvard “myrulethickness"

it doesn’t work. Similarly, you have a pair and MPcode that don’t match.

  rulecolor=darkgreen
  mpvars "linecolor"

This may be a historical fluke, but it suggests that there is some intermediate 
translation that I am missing. Any way I can name and pass by own key=value 
pairs?

Thanks!
Gavin



mpvarQuestion.tex
Description: Binary data
___
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
___


Re: [NTG-context] Mathematical MetaFun Mania

2022-12-15 Thread Hans Hagen via ntg-context

On 12/15/2022 4:20 AM, Gavin via ntg-context wrote:

Hello MetaFun Math Lovers,

I am using MetaFun to attach diagrams to formulas. Both the physics and the 
typesetting are going great! I attached a sample below, to give a taste of what 
I am trying to do. This page of actual calculations has examples of almost 
everything I need. It’s a lot, but it is all working. Right now the interface 
is terrible, but effective. Thanks to Hans and Mikael for many helpful hints!

I am still using \hpos and \setMPpositiongraphic, because I haven't figured out 
how to pass information from \mathboxanchored and \connectboxanchors to my 
MetaPost code. Here is the code for the connectors:

\startMPpositiongraphic{mypos:contract}
   path pa, pb, pab ; numeric na, nb ; string ta, tb, hand, product ;
   ta := mpvars("from") ;
   tb := mpvars("to") ;
   stemshiftfrom := (EmWidth/8)*mpvarn("startstem") ;
   stemshiftto   := (EmWidth/8)*mpvarn("stopstem") ;
   hand := mpvars("hand") ;
   product := mpvars("product") ;
   delta := mpvard("distance") ;
   na := positionpage(ta) ; % page number of a
   nb := positionpage(tb) ; % page number of b
   pa := positionbox(ta) ;  % box of a
   pb := positionbox(tb) ;  % box of b
   if hand = "right" :
  z1 = 0.5[llcorner pa,lrcorner pa] shifted (stemshiftfrom, -ExHeight/4) ;
  z2 = 0.5[llcorner pb,lrcorner pb] shifted (stemshiftto,   -ExHeight/4) ;
  y3 = min(y1,y2) - ExHeight/2 -delta;
   else :
 z1 = 0.5[ulcorner pa,urcorner pa] shifted (stemshiftfrom,  ExHeight/4) ;
 z2 = 0.5[ulcorner pb,urcorner pb] shifted (stemshiftto,ExHeight/4) ;
 y3 = max(y1,y2) + ExHeight/2 +delta;
   fi ;
   if na = nb : % Check that positions are on the same page
 pickup pencircle scaled 0.6pt ;
 if product = "sym" :
   draw z1 -- (x1,y3+ExHeight/2) ;
   draw z2 -- (x2,y3+ExHeight/2) ;
   pickup pencircle scaled 1.2pt ;
   draw (x1-EmWidth/8,y3) -- (x2+EmWidth/8,y3) ;
 else :
   pab := z1 -- (x1,y3) -- (x2,y3) -- z2{down} ;
   draw pab ;
 fi ;
 positioninregion ;
   fi ;
\stopMPpositiongraphic

A connector command might look something like this:

\setMPpositiongraphic{X-1}{mypos:contract}{to=X-2,product=sym,startstem=-2,stopstem=2,distance=0.5ex}

All of the key=value pairs in the last argument of \setMPpositiongraphic pop 
right up in my MetaPost code with mpvar(“key”). I haven’t been able to follow 
this with \mathboxanchored and \connectboxanchors. My two questions are:

1) Can I use \setMPpositiongraphic with \mathboxanchored? That would allow me 
to go straight to my MetaPost code without the \connectboxanchors interface

2) Can I tell \connectboxanchors to use my MetaPost code and pass key=value 
pairs like I do with \setMPpositiongraphic?

see attached ... the 'cross pages' feature is in the upcoming

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

\usemodule[article-basic]

\starttext

\startboxanchoring[+]
\connectboxanchors[top][top][distance=1ex,arrow=no] {c1}{c2}
\connectboxanchors[bottom] [bottom] [distance=1ex,arrow=no] {c2}{c3}
\startformula
\mathboxanchored[nucleus]{c1}{e}_{\alpha}
\mathboxanchored[nucleus]{c2}{e}^{\mu}
\mathboxanchored[nucleus]{c3}{e}_{\dot{\beta}} = \frac{1}{\sqrt{2}}
\sigma_{\alpha,\dot{\beta}}^{\mu}
\stopformula
\stopboxanchoring

\startboxanchoring[+]
\connectboxanchors[top][top][distance=1ex,arrow=no] {c1}{c2}
\connectboxanchors[bottom] [bottom] [distance=1ex,arrow=no] {c2}{c3}
\startformula
\mathboxanchored[nucleus]{c1}{e}_{\alpha}
\mathboxanchored[nucleus]{c2}{e}^{\mu}
\mathboxanchored[nucleus]{c3}{e}_{\dot{\beta}} = \frac{1}{\sqrt{2}}
\sigma_{\alpha,\dot{\beta}}^{\mu}
\stopformula
\stopboxanchoring

\startboxanchoring[+]
\connectboxanchors[top][top][distance=1ex,arrow=yes,page=yes] {c1}{c2}
\connectboxanchors[bottom] [bottom] [distance=1ex,arrow=yes,page=yes] {c2}{c3}
\startformula
\mathboxanchored[nucleus]{c1}{e}_{\alpha}
\mathboxanchored[nucleus]{c2}{e}^{\mu}
  e _{\dot{\beta}} = \frac{1}{\sqrt{2}}
\sigma_{\alpha,\dot{\beta}}^{\mu}
\stopformula
\page
\startformula
  e _{\alpha}
  e ^{\mu}
\mathboxanchored[nucleus]{c3}{e}_{\dot{\beta}} = \frac{1}{\sqrt{2}}
\sigma_{\alpha,\dot{\beta}}^{\mu}
\stopformula
\stopboxanchoring

\startMPpositiongraphic{mypos:boxanchor:top}
begingroup ;
save f, t, p ; pair f, t ; path p ;
f := positionxy(mpvars("from")) ;
t := positionxy(mpvars("to")) ;
p := f { up } .. t ;
drawarrow p
withpen pencircle scaled mpvard "rulethickness"

[NTG-context] Mathematical MetaFun Mania

2022-12-14 Thread Gavin via ntg-context
Hello MetaFun Math Lovers,

I am using MetaFun to attach diagrams to formulas. Both the physics and the 
typesetting are going great! I attached a sample below, to give a taste of what 
I am trying to do. This page of actual calculations has examples of almost 
everything I need. It’s a lot, but it is all working. Right now the interface 
is terrible, but effective. Thanks to Hans and Mikael for many helpful hints!

I am still using \hpos and \setMPpositiongraphic, because I haven't figured out 
how to pass information from \mathboxanchored and \connectboxanchors to my 
MetaPost code. Here is the code for the connectors:

\startMPpositiongraphic{mypos:contract}
  path pa, pb, pab ; numeric na, nb ; string ta, tb, hand, product ;
  ta := mpvars("from") ;
  tb := mpvars("to") ;
  stemshiftfrom := (EmWidth/8)*mpvarn("startstem") ;
  stemshiftto   := (EmWidth/8)*mpvarn("stopstem") ;
  hand := mpvars("hand") ;
  product := mpvars("product") ;
  delta := mpvard("distance") ;
  na := positionpage(ta) ; % page number of a
  nb := positionpage(tb) ; % page number of b
  pa := positionbox(ta) ;  % box of a
  pb := positionbox(tb) ;  % box of b
  if hand = "right" :
 z1 = 0.5[llcorner pa,lrcorner pa] shifted (stemshiftfrom, -ExHeight/4) ;
 z2 = 0.5[llcorner pb,lrcorner pb] shifted (stemshiftto,   -ExHeight/4) ;
 y3 = min(y1,y2) - ExHeight/2 -delta; 
  else :
z1 = 0.5[ulcorner pa,urcorner pa] shifted (stemshiftfrom,  ExHeight/4) ;
z2 = 0.5[ulcorner pb,urcorner pb] shifted (stemshiftto,ExHeight/4) ;
y3 = max(y1,y2) + ExHeight/2 +delta; 
  fi ;
  if na = nb : % Check that positions are on the same page
pickup pencircle scaled 0.6pt ;
if product = "sym" :
  draw z1 -- (x1,y3+ExHeight/2) ;
  draw z2 -- (x2,y3+ExHeight/2) ;
  pickup pencircle scaled 1.2pt ;
  draw (x1-EmWidth/8,y3) -- (x2+EmWidth/8,y3) ;
else :
  pab := z1 -- (x1,y3) -- (x2,y3) -- z2{down} ;
  draw pab ;
fi ;
positioninregion ;
  fi ;
\stopMPpositiongraphic

A connector command might look something like this:

\setMPpositiongraphic{X-1}{mypos:contract}{to=X-2,product=sym,startstem=-2,stopstem=2,distance=0.5ex}

All of the key=value pairs in the last argument of \setMPpositiongraphic pop 
right up in my MetaPost code with mpvar(“key”). I haven’t been able to follow 
this with \mathboxanchored and \connectboxanchors. My two questions are:

1) Can I use \setMPpositiongraphic with \mathboxanchored? That would allow me 
to go straight to my MetaPost code without the \connectboxanchors interface

2) Can I tell \connectboxanchors to use my MetaPost code and pass key=value 
pairs like I do with \setMPpositiongraphic?

Thanks for any hints!
Gavin




hposQuestion.pdf
Description: Adobe PDF document

___
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
___