![Wie verwende ich Penpos/Penstroke in einem parametrisierten Makro?](https://rvso.com/image/475728/Wie%20verwende%20ich%20Penpos%2FPenstroke%20in%20einem%20parametrisierten%20Makro%3F.png)
Ich versuche, ein parametrisiertes Makro zu erstellen, um eine Form mit Penpos- und Penstroke-Makros in MetaPost (Metafont?) mit plain.mp
Base zu zeichnen, aber ich erhalte eine Fehlermeldung. Wenn ich den folgenden Code ausführe,
def curve_st(expr p) = begingroup
save z;
pair z[];
z0 = p;
z1 = p + (2,-2);
z2 = z1 + (0, 5);
z3 = z2 + (3, 0);
penpos0(tip, 180);
penpos1(stem, -30);
penpos2(stem, 0);
penpos3(tip, 180);
penstroke z0e{down}.. z1e{up} .. z2e{up} .. z3e;
%draw z0{down}.. z1{up} .. z2{up} .. z3;
endgroup enddef;
beginfig(1);
xstep = 3; stem = 1.5; tip = .2;
curve_st((-3,0)); curve_st((0,0));
endfig; end.
gibt den folgenden Fehler aus:
>> unknown path path_.l
>> z0l
! Equation cannot be performed (unknown path=numeric).
<to be read again>
Soweit ich es verstehe, handelt es penstroke
sich dabei um ein Makro, das einfach fill
und aufruft unfill
, nachdem die „linken“ und „rechten“ Werte der Punkte auf Grundlage der (radius,angle)
an das Makro übergebenen berechnet wurden. Ich nehme an, dass dies außerhalb von und penpos
nicht funktioniert . Und deshalb kann Metafont nicht finden . Weil der Zeichenbefehl ohne Fehler funktioniert.beginfig
endfig
z0l
Wie kann ich hier penpos
und verwenden penstroke
? Oder muss ich die Links-/Rechtswerte manuell berechnen und fill
/ aufrufen unfill
?
Bitte bedenken Sie, dass ich ein absoluter Anfänger in MetaPost/Metafont bin. Vielen Dank.