Positioning an arrow between two values (Metapost)
Hi, I went from PSTricks to Metapost (Metafun) gradually. For positioning arrows between two values in an array of variations, I used a command like this \ ncline {A}{B}, which avoids fumbling. Can we do the same with Metapost ? The idea would be to convert the value into a path or an image, much like in the code below. \starttext \startMPcode u:=1cm ; path p, q ; p=fullsquare scaled u ; q=fullsquare scaled u shifted (4u,-2u) ; draw p ; draw q ; drawarrow center p--center q ; label(btex $5$ etex,center p) ; label(btex $-2 $ etex,center q) ; \stopMPcode \stoptext Best regards, Fabrice
\starttext \startMPcode u:=1cm ; path p, q ; p=fullsquare scaled u ; q=fullsquare scaled u shifted (4u,-2u) ; draw p ; draw q ; drawarrow center p--center q ; label(btex $5$ etex,center p) ; label(btex $-2 $ etex,center q) ; \stopMPcode \stoptext
How about something like below. I'm not sure exactly how ncline works in PStricks, but this macro takes 4 arguments, namely a point, its corresponding label, a second point, and its corresponding label. \starttext \startMPcode vardef ncline (expr A,h,B,k) = save p,q; path p,q; label(h,A); p:=fullsquare scaled u shifted A; draw p; label(k,B); q:=fullsquare scaled u shifted B; draw q; drawarrow (A--B) cutbefore p cutafter q; enddef; u:=1cm ; ncline(origin,btex $5$ etex,(4*u,-2*u),btex $-2$ etex); \stopMPcode \stoptext Troy Henderson
Hi Troy, Thank you, this macro is very nice ; it matches what I want to do even if I would like a smaller space between the arrow and labels. Best regards, Fabrice
participants (3)
-
Fabrice
-
Fabrice Couvreur
-
Troy Henderson