[NTG-context] MetaPost cutdraw
Hans Hagen
j.hagen at xs4all.nl
Wed Jul 6 09:15:28 CEST 2022
On 7/6/2022 7:10 AM, Aditya Mahajan via ntg-context wrote:
> On Wed, 6 Jul 2022, Henning Hraban Ramm via ntg-context wrote:
>
>> Hi, I’m trying to understand MetaPost better.
>>
>> I’d like to draw a fat line that’s cut at its end points.
>
> You mean like linecap = butt?
>
> \startMPpage[offset=5mm]
> path p;
>
> p := origin -- (7cm,0);
> interim linecap := butt;
> draw p withpen pencircle scaled 5mm;
>
> p := p shifted (0,2cm);
> interim linecap := rounded;
> draw p withpen pencircle scaled 5mm;
>
> p := p shifted (0,2cm);
> interim linecap := squared;
> draw p withpen pencircle scaled 5mm;
>
> \stopMPpage
>
>> I learned, “cutdraw” should do the trick, but I get a parallelogram
>> instead of a rectangle.
>
> Seems to be something weird with pensquare:
>
> \startMPpage[offset=5mm]
> path p;
>
> p := origin -- (7cm,0);
> % interim linecap := butt;
> cutdraw p withpen pensquare scaled 5mm;
>
> p := p shifted (0,2cm);
> interim linecap := rounded;
> draw p withpen pensquare scaled 5mm;
>
> p := p shifted (0,2cm);
> interim linecap := squared;
> draw p withpen pensquare scaled 5mm;
>
> \stopMPpage
\startMPpage[offset=5mm]
path p;
p := origin -- (7cm,0);
interim linecap := squared;
draw p withpen ((pensquare ) scaled 5mm) withcolor red ;
draw envelope ((pensquare ) scaled 5mm) of p withcolor
green ;
draw envelope ((pensquare rotated eps) scaled 5mm) of p withcolor
blue ;
\stopMPpage
(there is an "ontarget" chapter about envelopes; mikael and i spent
quite some time figuring out a few things but in the end conclused that
mp des the right thing given the strategy it folows but it definitely
has side effects)
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
More information about the ntg-context
mailing list