Re: [NTG-context] Project structure with nested subfolders and shared environments.
Am 15.12.22 um 22:52 schrieb Pawel Urbanski via ntg-context: \usepath [{ Metadata }] Did you try without the spaces? I’d assume ConTeXt will look for a folder " Metadata " and not "Metadata". If this is just a template variable, you didn’t tell us about templating. And then it matters from where you call your files (MainFolder, SubFolder or whereever). Hraban ___ 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 ___
[NTG-context] Structure: multi-volume products
Hello, I have a book project that is being cut into two volumes (because it is too long and will be sold as a boxed set). Each volume is presently a separate *product* in the project structure. I presently set the counters in the second volume using: \setupheadnumber [part] [2] \setupheadnumber [chapter] [5] (I have multiple [5] parts in the project, and the first volume ends with part 2 and chapter 5.) 1) Is this the right way to be handling this? 2) Any suggestions on how I can put a Table of Contents for the first volume in the second volume? Thanks! Alan ___ 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
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
[NTG-context] Project structure with nested subfolders and shared environments.
Dear Everyone, I'm setting up a project structure that will possibly let me share styles and layouts with lots of documents I need to create weekly. Unfortunately my definitions in the environment file or files are ignored... Here is the setup under the purposely created structure: ** The folder called: 'MainFolder' is the root of my document repository. ** The 'Metadata' folder inside the 'MainFolder' contains environment files. ** The 'SubFolder/SubSubFolder' inside the 'MainFolder' is the nestin glevel I need with all the documents. Here are the files: % /MainFolder/Meta.tex \startproject * \usepath [{ Metadata }] \environment Environment.tex \stopproject % /MainFolder/Metadata/Environment.tex \startenvironment * % Test if setup is applied. \setupbodyfont[ebgaramond] \stopenvironment % /MainFolder/SubFolder/SubSubFolder/Doc.tex \startproduct * \project Meta \startcomponent * \startchapter[title={ Nested }] \input tufte \stopchapter \stopcomponent \stopproduct Unfortunately the default font is applied and EB Garamond is not picked up from the environment. The question is: ** How can I use such a structure to share styles and layouts kept i the 'Metadata' folder and use htem in products that are ment to be complete documents kept in the 'SubSubFolders'? All the very best and htank you in advance for any clarifications... Pawel ___ 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] issues with variable fonts in latest
On 12/15/22 19:40, Pablo Rodriguez via ntg-context wrote: > [...] > No, erased by hand and I attach the output from the just updated latest. > > In red, I attach the results for 'mono=1', 'mono=1, casl=.75' and > 'crsv=1' (from Inkscape). Sorry, this attachment includes right results from Inkscape. Pablo recursive.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 ___
[NTG-context] \setuplanguage[explicitrighthyphenchar=-1] only works for English
Hans, sorry for insisting again, but I’m still experiencing this issue in latest current (from less than an hour ago): \startluacode function document.addfunnyhyphen(tfmdata) local underscore = utf.byte("_") local char = tfmdata.characters[underscore] if not char then return end tfmdata.characters[0xFE000] = { width= 0, height = 0, depth= 0, commands = { { "right", -char.width }, { "down", char.depth }, { "slot", 1, underscore }, } } end utilities.sequencers.appendaction("aftercopyingcharacters", "after","document.addfunnyhyphen") \stopluacode \definehyphenationfeatures [underscore] [righthyphenchar="FE000] \setuphyphenation[method=traditional]% \sethyphenationfeatures[underscore]% \setuplanguage [explicitrighthyphenchar=-1] \setupinteractionscreen[option=singlesided] \starttext \doloopoverlist {es,en,uk,de,nl,pt,fr,it,deo,da,sv,af,no,nb,pl,cs,sk,hr,sl,fi,et,hu} {\mainlanguage[\recursestring] \startTEXpage[offset=1em, width=5em] \hsize\zeropoint \recursestring: \\ \tt \hyphenatedword{legibility-legible} \stopTEXpage} \stoptext pt, hr and et don’t break the line at the hyphen. af breaks the line at the hyphen adding an underscore just below the hyphen. Either I’m missing something extremely basic, or "\setuplanguage[explicitrighthyphenchar=-1]" only works for English. Many thanks for your help, Pablo ___ 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] issues with variable fonts in latest
On 12/15/22 17:39, Hans Hagen via ntg-context wrote: > On 12/15/2022 5:00 PM, Pablo Rodriguez via ntg-context wrote: >> Dear Hans, >> >> since you mentioned current latest (2022.12.09 16:34) regarding to >> variable fonts today, I have found the following issues with Recursive >> (comparing it with https://www.recursive.design/#toolbar): > maybe old font cache content? No, erased by hand and I attach the output from the just updated latest. In red, I attach the results for 'mono=1', 'mono=1, casl=.75' and 'crsv=1' (from Inkscape). Do you get the results in red with latest LMTX? Many thanks for your help, Pablo recursive.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 ___
[NTG-context] Cron /var/www/aanhet.net/context/bin/cron/context-mirror
receiving incremental file list ./ ctan.lsr document-2.htm download-1.htm download-2.htm logo-ade.png logo-cts.png logo-pod.png rss.xml show-fil.pdf context/latest/ context/latest/cont-mpd.zip context/latest/cont-ppc.zip context/latest/cont-sci.zip context/latest/cont-tmf.zip context/latest/cont-tst.7z context/latest/cont-tst.tar.xz context/latest/cont-tst.zip general/manuals/ general/manuals/lowlevel-macros.pdf sent 102,271 bytes received 20,880,552 bytes 3,815,058.73 bytes/sec total size is 449,088,154 speedup is 21.40 Running archiver: New dir: /var/www/aanhet.net/context//htdocs/archives/context-2022-12-15.19 172172141 /var/www/aanhet.net/context//htdocs/archives/context-2022-12-15.19/latest 126745317 /var/www/aanhet.net/context//htdocs/archives/context-2022-12-15.19/current 18956262 /var/www/aanhet.net/context//htdocs/archives/context-2022-12-15.19/alpha 126707516 /var/www/aanhet.net/context//htdocs/archives/context-2022-12-15.19/beta 444585332 /var/www/aanhet.net/context//htdocs/archives/context-2022-12-15.19 444585332 total ___ 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
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] issues with variable fonts in latest
On 12/15/2022 5:00 PM, Pablo Rodriguez via ntg-context wrote: Dear Hans, since you mentioned current latest (2022.12.09 16:34) regarding to variable fonts today, I have found the following issues with Recursive (comparing it with https://www.recursive.design/#toolbar): maybe old font cache content? - 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
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 ___
[NTG-context] issues with variable fonts in latest
Dear Hans, since you mentioned current latest (2022.12.09 16:34) regarding to variable fonts today, I have found the following issues with Recursive (comparing it with https://www.recursive.design/#toolbar): \definefontfeature[serifa] [axis={wght=500}] \definefontfeature[monor] [axis={wght=500,mono=1}] \definefontfeature[handy] [axis={wght=500,mono=1,casl=0.75}] \definefontfeature[cali] [axis={wght=500,crsv=1}] \definefontfamily[mainface][rm][Recursive] [features={default, serifa}] \definefontfamily[mainface][tt][Recursive] [features={default, monor}] \definefontfamily[mainface][hw][Recursive] [features={default, handy}] \definefontfamily[mainface][cg][Recursive] [features={default, cali}] \setupbodyfont[mainface] \starttext \startTEXpage[offset=1em] \scale[width=\textwidth] {\rm áéíóúijrf} \scale[width=\textwidth] {\tt áéíóúijrf} \scale[width=\textwidth] {\hw áéíóúijrf} \scale[width=\textwidth] {\cg áéíóúijrf} \stopTEXpage \stoptext 'mono=1' misplaces the dot in i and j and the accent in i (all to the left). It also misses bottom lines in i, r and f. And it also misses the upper left stroke in r. 'crsv=1' gives no alternate glyphs. I use Recursive for a project and I discovered the issues. Many thanks for your help, Pablo ___ 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 ___
[NTG-context] ConTeXt Workshop at Chemnitzer Linuxtage
Dear all, does anyone feels tempted to give a context workshop at the Chemnitzer Linuxtage next year in march? https://chemnitzer.linux-tage.de/2023/de/programm/call-for-lectures I made a workshop at FrOSCon this summer and could help. I might attend the Linuxtage myself but this is unsure. Ciao! juh ___ 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
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"