usepackage("pstricks"); usepackage("pst-text"); string LeftJustified="l"; string RightJustified="r"; string Centered="c"; void labelpath(frame f, Label L, path g, string justify=Centered, pen p=currentpen) { if(latex() && !pdf()) { _labelpath(f,L.s,L.size,g,justify,(L.T.x,L.T.y+0.5linewidth(p)),p); return; } warning("labelpathlatex","labelpath requires -tex latex"); } void labelpath(picture pic=currentpicture, Label L, path g, string justify=Centered, pen p=currentpen) { pic.add(new void(frame f, transform t) { labelpath(f,L,t*g,justify,p); }); frame f; label(f,Label(L.s,L.size)); real w=size(f).y+L.T.y+0.5linewidth(p); pic.addBox(min(g),max(g),-w,w); }