% 封面
\startMPinclusions
vardef hilbert(expr sidelength, n) =
numeric u; u := 0.5sidelength;
pair a, b, c, d;
a := (-0.5, -0.5) * u;
b := (-0.5, 0.5) * u;
c := (0.5, 0.5) * u;
d := (0.5, -0.5) * u;
path p;
p := a -- b -- c -- d;
transform sw, nw, ne, se;
sw := identity
scaled 0.5
reflectedabout ((0, 0), (1, 1))
shifted (-0.5u, -0.5u);
nw := identity
scaled 0.5
shifted (-0.5u, 0.5u);
ne := identity
scaled 0.5
shifted (0.5u, 0.5u);
se := identity
scaled 0.5
reflectedabout ((0, 0), (1, -1))
shifted (0.5u, -0.5u);
for i := 2 upto n:
p := p transformed sw for j := nw, ne, se: -- p transformed j endfor;
endfor;
p
enddef;
\stopMPinclusions
\startuseMPgraphic{TitleGraphic}
path p; p := hilbert(OverlayWidth, 5) randomized 1mm;
pickup pencircle scaled 1mm;
draw p yscaled(OverlayHeight / OverlayWidth) withcolor transparent(1, .5, darkgray); %\MPcolor{tan};
\stopuseMPgraphic
\defineoverlay[TitleGraphic][\useMPgraphic{TitleGraphic}]
%% 阴影盒
\startuniqueMPgraphic{shade box}
numeric u, w, h, roundcorner, offset;
path p, q;
color shade;
u := 1cm; w := \overlaywidth; h := \overlayheight;
p := unitsquare xyscaled (w, h);
offset := 7pt;
shade := darkgray;
pickup pencircle scaled offset;
for i = 0 step .1 until 1:
q := unitsquare xyscaled (w, h) shifted (i * offset, -i * offset);
fill q withcolor transparent (1, .1, shade);
draw q withcolor transparent (1, .1, shade);
endfor;
q := p shifted (-offset, offset);
draw q withcolor transparent (1, 0, white);
fill p withcolor \MPcolor{dimgray};
draw p withcolor \MPcolor{lightsteelblue};
\stopuniqueMPgraphic
\defineoverlay[shade box][\uniqueMPgraphic{shade box}]
\defineframedtext[coverbox][frame=off,background={shade box}]
\setupbackgrounds[page][background=TitleGraphic]
\startstandardmakeup
\startcolor[white]
\startcoverbox[middle][width=.6\textwidth,height=5cm,toffset=.8cm]
\strut
\hfil \bfd\ConTeXt\ 蹊径\hfil
\blank[1cm]
\hfil\bfa 李延瑞\hfil
\blank[.25cm]
\hfil\bf 2023 年 3 月 31 日\hfil
\stopcoverbox
\stopcolor
\blank[14cm]
\stopstandardmakeup
\setupbackgrounds[page][background=]