[NTG-context] Unexpected result when using PaperHeight and MetaFUun

Keith McKay mckaymeister at gmail.com
Sun Apr 19 14:21:30 CEST 2020


Thank you Wolfgang!

I thought it must be simple! And if I had stayed the course and got to 
the end of the MetaFun manual I would have found it.

Thanks for your help.

Keith

On 19/04/2020 13:04, Wolfgang Schuster wrote:
> Keith McKay schrieb am 19.04.2020 um 13:15:
>> Dear All
>>
>> I have problem understanding what is happening in the MWE below which 
>> is different from what I expected.
>>
>> I have created a shaded background using MetaFun with dimensions 
>> PaperWidth by PaperHeight which mimics \setuppapersize[A4,landscape} 
>> as expected.  I then within \starttext \startMPpage... \stopMPpage 
>> \stoptext created a stripe of the shaded background, xscaled 2cm y 
>> scaled PaperHeight, but reversed, expecting it to cover the 
>> background top to bottom. However the top of the stripe seems to 
>> start at 10.5cm which is suspiciously half the height of A4, 
>> Landscape i.e. 21cm. I confirmed this by changing the shifted command 
>> to, shifted (19cm,10.5cm), and the stripe is positioned as expected.
>>
>> Am I missing something obvious in how MetaFun handles coordinates? I 
>> have asumed that in MetaFun, (0,0) is the bottom left corner. Or is 
>> it how I applied the shifted command?
>
> 1. When you need page backgrounds you can use a overlay and don't have 
> to create a layer for it.
>
> 2. Use unitsquare for your bars which has the origin in the lower left 
> corner because fullsquare has the origin in the center (look at page 
> 383 in the metafun manual).
>
> \setuppapersize [A4,landscape]
>
> \startuniqueMPgraphic{blueShade}
> draw lmt_shade [
>     path        = fullsquare xyscaled (OverlayWidth,OverlayHeight) ,
>     direction   = "up",
>     alternative = "linear",
>     colors      = { "red", "blue" },
> ] ;
> \stopuniqueMPgraphic
>
> \defineoverlay [mybg] [\uniqueMPgraphic{blueShade}]
>
> \setupbackgrounds [page] [background=mybg]
>
> \starttext
>
> \startMPpage
> StartPage ;
>     % Result Left
>     draw lmt_shade [
>         path        = unitsquare xscaled 2cm yscaled PaperHeight,
>         direction   = "down",
>         alternative = "linear",
>         colors      = { "red", "blue" },
>     ] shifted (12cm,0) ;
>     % Result Right
>     draw lmt_shade [
>         path        = unitsquare xscaled 2cm yscaled PaperHeight,
>         direction   = "down",
>         alternative = "linear",
>         colors      = { "red", "blue" },
>     ] shifted (19cm,0cm) ;
> StopPage ;
> \stopMPpage
>
> \stoptext
>
> Wolfgang


More information about the ntg-context mailing list