![매개변수화된 매크로 내에서 펜포스/펜스트로크를 사용하는 방법은 무엇입니까?](https://rvso.com/image/475728/%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%ED%99%94%EB%90%9C%20%EB%A7%A4%ED%81%AC%EB%A1%9C%20%EB%82%B4%EC%97%90%EC%84%9C%20%ED%8E%9C%ED%8F%AC%EC%8A%A4%2F%ED%8E%9C%EC%8A%A4%ED%8A%B8%EB%A1%9C%ED%81%AC%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
베이스를 사용하여 MetaPost(Metafont?)에서 penpos 및 펜스트로크 매크로를 사용하여 모양을 그리기 위해 매개변수화된 매크로를 만들려고 하는데 plain.mp
오류가 발생합니다. 아래 코드를 실행하면,
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.
다음과 같은 오류가 발생합니다.
>> unknown path path_.l
>> z0l
! Equation cannot be performed (unknown path=numeric).
<to be read again>
내가 아는 한, 이는 매크로 에 전달된 점을 기반으로 점의 "왼쪽" 및 "오른쪽" 값을 계산한 후 호출 penstroke
하는 매크로입니다 . 나는 이것이 외부에서는 작동하지 않는다고 생각합니다 . 이것이 바로 Metafont가 . draw 명령이 오류 없이 작동하기 때문입니다.fill
unfill
(radius,angle)
penpos
beginfig
endfig
z0l
penpos
여기 에서 어떻게 사용할 수 있나요 penstroke
? 아니면 수동으로 왼쪽/오른쪽 값을 계산하고 fill
/ 를 호출해야 합니까 unfill
?
저는 MetaPost/Metafont의 완전 초보자라는 점을 명심하세요. 감사합니다.