[NTG-context] metafun question
it seems that metafun has difficulty understanding the example using thevardef [EMAIL PROTECTED] expr p = construct. ! Illegal parameter number in definition of [EMAIL PROTECTED]@dummy2. to be read again argument ... p of p enddef; \par vardef [EMAIL PROTECTED] expr p = cuta(@##,@##) @##... \dostartuseMPgraphic ...leuseMPgraphic {#1}{#2}{#3 }}\elabelgroup l.41 \stopuseMPgraphic why? i copied the sample of the mp manual: % interface=english output=pdftex \starttext \startuseMPgraphic{dummy2} vardef cuta(suffix a,b) expr p = drawarrow p cutbefore bpath.a cutafter bpath.b; point .5*length p of p enddef; vardef [EMAIL PROTECTED] expr p = cuta(@#,@#) @[EMAIL PROTECTED]@#.c enddef; beginfig(52); verbatimtex \def\stk#1#2{$\displaystyle{\matrix{#1\cr#2\cr}}$} etex circleit.aa(btex\strut Start etex); aa.dx=aa.dy; circleit.bb(btex \stk B{(a|b)^*a} etex); circleit.cc(btex \stk C{b^*} etex); circleit.dd(btex \stk D{(a|b)^*ab} etex); circleit.ee(btex\strut Stop etex); ee.dx=ee.dy; numeric hsep; bb.c-aa.c = dd.c-bb.c = ee.c-dd.c = (hsep,0); cc.c-bb.c = (0,.8hsep); xpart(ee.e - aa.w) = 3.8in; drawboxed(aa,bb,cc,dd,ee); label.ulft(btex$b$etex, cuta(aa,cc) aa.c{dir50}..cc.c); label.top(btex$b$etex, self.cc(0,30pt)); label.rt(btex$a$etex, cuta(cc,bb) cc.c..bb.c); label.top(btex$a$etex, cuta(aa,bb) aa.c..bb.c); label.llft(btex$a$etex, self.bb(-20pt,-35pt)); label.top(btex$b$etex, cuta(bb,dd) bb.c..dd.c); label.top(btex$b$etex, cuta(dd,ee) dd.c..ee.c); label.lrt(btex$a$etex, cuta(dd,bb) dd.c..{dir140}bb.c); label.bot(btex$a$etex, cuta(ee,bb) ee.c..tension1.3 ..{dir115}bb.c); label.urt(btex$b$etex, cuta(ee,cc) ee.c{(cc.c-ee.c)rotated-15}..cc.c); endfig; \stopuseMPgraphic \useMPgraphic{dummy2} \stoptext //floris ___ ntg-context mailing list [EMAIL PROTECTED] http://www.ntg.nl/mailman/listinfo/ntg-context
[NTG-context] metafun question getting XY
if i define a path q := (w0,w0)--(w0,ww0)--(w2,ww1)--(w3,ww2)--(w3,w0)--cycle ; and then pass this path as a parameter to a function test( q ) ; then within that function i can step through the 'list of points'. def test( expr a ) = for i = 1 upto (length(a)-2): dotlabel.bot ( , (point i of a) ); endfor ; enddef; but how could i extract from each point the X and the Y value to construct the lines like this. for i = 1 upto (length(a)-2): z1 = (point i of a) ; draw (0,y1)--(100,y1) ; endfor; thanks! % floris ___ ntg-context mailing list [EMAIL PROTECTED] http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] metafun question getting XY
Floris van Manen wrote: if i define a path q := (w0,w0)--(w0,ww0)--(w2,ww1)--(w3,ww2)--(w3,w0)--cycle ; and then pass this path as a parameter to a function test( q ) ; then within that function i can step through the 'list of points'. def test( expr a ) = for i = 1 upto (length(a)-2): dotlabel.bot ( , (point i of a) ); endfor ; enddef; but how could i extract from each point the X and the Y value to construct the lines like this. for i = 1 upto (length(a)-2): z1 = (point i of a) ; draw (0,y1)--(100,y1) ; endfor; xpart point i of a ; ypart point i of a ; Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl - ___ ntg-context mailing list [EMAIL PROTECTED] http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] metafun question
Floris van Manen wrote: it seems that metafun has difficulty understanding the example using no, it's tex playing tricks (# is kin dof special to tex) thevardef [EMAIL PROTECTED] expr p = construct. use \# instead Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl - ___ ntg-context mailing list [EMAIL PROTECTED] http://www.ntg.nl/mailman/listinfo/ntg-context