I'm trying to use some MetaPost-generated graphics with ConTeXt, but I seem to be unable to do so.
A possible reason for the error is that the name of the tex file is the same as the name of the figure file (test), because ConTeXt *does* check for this, and this is where it chooses not to handle the picture.
I can't you whether you supposition is right because if Hans Hagen goes out of his way to avoid name collisions with graphics then it's good enough for me. Here's an example from the metafun manual, that works with \externalfigure (it also avoids name collisions). ----- %output=pdf \setupcolors [state=start] \startMPcode boolean show_labels ; show_labels := true; def draw_problem (expr n, p, q, r, s) = % number & 4 postitions beginfig(n) ; save x,y ; z[1][1] = p ; z[2][1] = q ; z[3][1] = r ; z[4][1] = s ; for i = 1 upto 4 : z[i][1] = (x[i][1],y[i][1]) = z[if i=1: 4 else: i-1 fi][2] ; z[i][2] = (x[i][2],y[i][2]) ; z[i][3] = (x[i][2]-y[i][2]+y[i][1], y[i][2]+x[i][2]-x[i][1]) ; z[i][4] = (x[i][1]-y[i][2]+y[i][1], y[i][1]+x[i][2]-x[i][1]) ; z[i] = 0.5[z[i][1], z[i][3]] ; endfor ; z[0] = whatever[z[1], z[3]] = whatever[z[2], z[4]] ; pickup pencircle scaled .5pt ; for i = 1 upto 4 : draw z[i][1]--z[i][2]--z[i][3]--z[i][4]--cycle ; draw z[i][1]--z[i][3] ; draw z[i][2]--z[i][4] ; if i < 3 : draw z[i]--z[i+2] dashed evenly fi ; endfor ; draw ((1,0)--(1,1)--(0,1)) zscaled (unitvector(z[1]-z[0])*10pt) shifted z[0] ; mark_rt_angle (z[1], z[0], z[2]) ; % z2 is not used at all if show_labels: pickup pencircle scaled 5pt ; dotlabel.llft(btex $Z_{11}$ etex, z[1][1]) ; dotlabel.ulft(btex $Z_{12}$ etex, z[1][2]) ; dotlabel.ulft(btex $Z_{13}$ etex, z[1][3]) ; dotlabel.llft(btex $Z_{14}$ etex, z[1][4]) ; dotlabel.lft (btex $Z_{21}$ etex, z[2][1]) ; dotlabel.llft(btex $Z_{22}$ etex, z[2][2]) ; dotlabel.urt (btex $Z_{23}$ etex, z[2][3]) ; dotlabel.llft(btex $Z_{24}$ etex, z[2][4]) ; dotlabel.urt (btex $Z_{31}$ etex, z[3][1]) ; dotlabel.ulft(btex $Z_{32}$ etex, z[3][2]) ; dotlabel.urt (btex $Z_{33}$ etex, z[3][3]) ; dotlabel.urt (btex $Z_{34}$ etex, z[3][4]) ; dotlabel.lft (btex $Z_{41}$ etex, z[4][1]) ; dotlabel.urt (btex $Z_{42}$ etex, z[4][2]) ; dotlabel.llft(btex $Z_{43}$ etex, z[4][3]) ; dotlabel.lrt (btex $Z_{44}$ etex, z[4][4]) ; dotlabel.urt (btex $Z_{0}$ etex, z[0]) ; dotlabel.lft (btex $Z_{1}$ etex, z[1]) ; dotlabel.top (btex $Z_{2}$ etex, z[2]) ; dotlabel.rt (btex $Z_{3}$ etex, z[3]) ; dotlabel.bot (btex $Z_{4}$ etex, z[4]) ; fi ; endfig ; enddef ; angle_radius = 10pt ; def mark_rt_angle (expr a, b, c) = draw ((1,0)--(1,1)--(0,1)) zscaled (angle_radius*unitvector(a-b)) shifted b enddef ; def do_draw_problem (expr n, i, j) = draw_problem (n, (400pt, 400pt), (400pt, 600pt), i[(400pt,600pt),(550pt,600pt)], j[(400pt,400pt),(550pt,400pt)] ) ; enddef ; do_draw_problem (50, 0.6, 1.0) ; \stopMPcode \starttext \externalfigure[example22-mpgraph.50] \stoptext %%% Local Variables: %%% mode:context %%% End: -----