[NTG-context] Unexpected result when using PaperHeight and MetaFUun
Wolfgang Schuster
wolfgang.schuster.lists at gmail.com
Sun Apr 19 14:04:19 CEST 2020
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