% output=pdf
\iffalse to typeset, set [Link] first and then use
texexec --automp bgnd
\fi
% Note: [Link] simply contains text, typeset on "paper"
% 340bp wide, with varying heights, which have been found manually.
\startMPenvironment[+]
\enableregime[il1]
\mainlanguage[de]
\setupencoding[default=texnansi]
\setupcolors[state=start,expansion=yes]
\setupcolors[rgb=no,spot=no,cmyk=no]
\setupsystem[random=261]
\stopMPenvironment
\definecolor[bgnd][s=.75]
\startMPinclusions
input figur
background := \MPcolor{bgnd} ;
lineposSetForPage := -1;
\stopMPinclusions
% this file is responsible for the backgrounds
% and for combining the output of [Link]
\setuppapersize[A3][A3]
% We want no margins anywhere, just full control.
% Probably, most of this is superfluous, but it doesn't hurt.
\setuplayout[topspace=0pt,backspace=0pt,margin=0pt,leftmargin=0pt,
rightmargin=0pt,header=0pt,footer=0pt,top=0pt,bottom=0pt,
leftedge=0pt,rightedge=0pt,headerdistance=0pt,footerdistance=0pt,
topdistance=0pt,leftmargindistance=0pt,rightmargindistance=0pt,
leftedgedistance=0pt,rightedgedistance=0pt,width=fit,height=fit]
\setuppagenumbering[location=,state=stop]
% grey background
\startuseMPgraphic{grey}
StartPage;
fill Page enlarged 1cm withcolor background;
BoundPageAreas;
\stopuseMPgraphic
% the artists
% It would have been cleaner to draw all the lines
% in one go, but MetaPost's memory limits can't be
% increased far enough. So, this code is called
% often enough, communicating through the global
% variable linepos. This implies texexec must
% be called with --automp.
\startuseMPgraphic{bgnd}
save width, height, hordist;
StartPage;
if lineposSetForPage < PageNumber :
linepos := -1cm;
lineposSetForPage := PageNumber;
fi;
background := lightgray;
width = \overlaywidth;
height = \overlayheight;
hordist = 2cm;
interim truecorners := 1;
for lineno := 0 upto 5 :
exitif linepos > width + height;
picture line;
line := nullpicture;
addto line doublepath
((0, 0) -- (-height, -height)) shifted
ulcorner Page
withpen pencircle scaled .5pt;
% start at the top
y1 := abs(normaldeviate*0.5*hordist) - min(0, linepos - width);
x1 := y1;
forever:
picture img;
numeric rnd;
rnd = uniformdeviate(4.29);
if rnd < .9 :
% message "diabolo ";
img = diabolo_front rotated 45;
fi; % elseif doesn't work for some reason
if (unknown img) and (rnd < 1.3):
% message "juggler_front ";
img = juggler_front rotated 45;
fi;
if (unknown img) and (rnd < 1.5):
forever :
num := 3 + abs(2 + 3*normaldeviate);
exitif num < 12;
endfor;
% message "juggler_side_balls("&decimal(num)&") ";
img = juggler_side_balls(num) rotated 45;
fi;
if (unknown img) and (rnd < 1.7):
forever :
num := 3 + abs(2 + 3*normaldeviate);
exitif num < 12;
endfor;
% message "juggler_side_balls("&decimal(num)&") ";
img = juggler_side_balls(num) xscaled -1 rotated 45;
fi;
if (unknown img) and (rnd < 1.9):
forever:
num := 3 + abs(2 + 3*normaldeviate);
exitif num < 10;
endfor;
% message "juggler_side_clubs("&decimal(num)&") ";
img = juggler_side_clubs(num) rotated 45;
fi;
if (unknown img) and (rnd < 2.1):
forever:
num := 3 + abs(2 + 3*normaldeviate);
exitif num < 10;
endfor;
% message "juggler_side_clubs("&decimal(num)&") ";
img = juggler_side_clubs(num) xscaled -1 rotated 45;
fi;
if unknown img and (rnd < 2.7) :
forever:
num := 6 + abs(4 * normaldeviate);
exitif num < 20;
endfor;
% message "juggler_passing("&decimal(num)&") ";
img = juggler_passing(num) rotated 45;
fi;
if unknown img and (rnd < 2.85) :
% message "poi ";
img = poi_side rotated 45;
fi;
if unknown img and (rnd < 3) :
% message "poi ";
img = poi_side xscaled -1 rotated 45;
fi;
if unknown img and (rnd < 3.3) :
% message "rope ";
img = rope_walker rotated 45;
fi;
if unknown img and (rnd < 3.5) :
% message "rope ";
img = rope_walker xscaled -1 rotated 45;
fi;
picture img_nonrot;
if unknown img and (rnd < 3.7) :
% message "flieger ";
img = acro_flieger rotated 45;
fi;
if unknown img and (rnd < 3.9) :
% message "flieger ";
img = acro_flieger xscaled -1 rotated 45;
fi;
if unknown img and (rnd < 4.1) :
% message "bolk ";
img = acro_bolk rotated 45;
fi;
if unknown img and (rnd < 4.3) :
% message "bolk ";
img = acro_bolk xscaled -1 rotated 45;
fi;
picture img_nonrot;
img_nonrot = img rotated -45;
%% for debugging:
% addto line doublepath (ulcorner Page + z1) withpen pencircle scaled 4pt
% withcolor green;
numeric h;
h = .6*((xpart lrcorner img_nonrot) - (xpart llcorner img_nonrot));
addto line also
img shifted (ulcorner Page + z1
- ((xpart (lrcorner img_nonrot), 0) rotated 45));
pair tmp;
exitif (y1 < -height);
y1 := y1 - ((0.25 + 0.3*abs(normaldeviate)) * 1cm) - h;
x1 := y1;
endfor;
numeric h;
h = (ypart ulcorner (line rotated -45))
- (ypart llcorner (line rotated -45));
if h < hordist : h := hordist; fi;
linepos := linepos + 1.5*h;
draw line
if odd lineno :
rotatedaround(.5[llcorner line, urcorner line], 180)
shifted (-8mm, 0)
fi
shifted (linepos, 0);
message "line " & decimal lineno & " done ";
endfor;
truecorners := 0;
BoundPageAreas;
\stopuseMPgraphic
\defineoverlay[bgnd][\useMPgraphic{bgnd}]
\definelayer[content][width=\textwidth,x=1cm,
height=\textheight,y=1cm]
\setupbackgrounds[page][background={color,
bgnd,bgnd,bgnd,bgnd,
brighten,content},
backgroundcolor=bgnd,backgroundoffset=1cm]
\starttext
\newdimen\contwidth
\newdimen\borderdist
\getfiguredimensionsonly[content][page=1]
\contwidth=\naturalfigurewidth
\borderdist=\dimexpr(148mm-\naturalfigurewidth)/2\relax
%% This code draws transparent white boxes where the text
%% will appear.
\startuseMPgraphic{brighten}
StartPage;
% one box for the title image
z1 = ulcorner Page + (\MPvar{xLeft}, -\MPvar{PostkarteTop});
z2 = (x1+\MPvar{colwidth}, y1);
z3 = (x2, y1-\MPvar{PostkarteHeight});
z4 = (x1, y3);
fill (z1--z2--z3--z4--cycle) withcolor transparent(1, 0.7, white);
% a more compliacted shape
z5 = z1 - (0, 105mm);
z6 = z5 - (0, 315mm - 2*\MPvar{Borderdist});
z7 = ((xpart urcorner Page) - \MPvar{xLeft}, y6);
z8 = (x7, 2cm+ypart ulcorner Page);
z9 = z8 - (\MPvar{colwidth}, 0);
z10 = (x9, y6+105mm-2*\MPvar{Borderdist});
z11 = (x2, y10);
z12 = (x11, y5);
fill (z5 -- z6 -- z7 -- z8 -- z9 -- z10 -- z11 -- z12 -- cycle)
withcolor transparent(1, 0.7, white);
BoundPageAreas;
\stopuseMPgraphic
\defineoverlay[brighten][\useMPgraphic{brighten}]
%% This is the shape for the second page
\startuseMPgraphic{brighten2}
StartPage;
z5 = ulcorner Page + (\MPvar{xLeft}, 2cm);
z6 = llcorner Page + (\MPvar{xLeft}, \MPvar{Borderdist});
% z7 = z6 + (297mm - 2*\MPvar{Borderdist}, 0);
z7 = ((xpart urcorner Page) - \MPvar{xLeft}, y6);
z8 = (x7, (ypart ulcorner Page) - \MPvar{Borderdist});
z9 = z8 - (\MPvar{colwidth}, 0);
z10 = (x9, y6+105mm-2*\MPvar{Borderdist});
z11 = (x5+\MPvar{colwidth}, y10);
z12 = (x11, y5);
fill (z5 -- z6 -- z7 -- z8 -- z9 -- z10 -- z11 -- z12 -- cycle)
withcolor transparent(1, 0.7, white);
BoundPageAreas;
\stopuseMPgraphic
\getfiguredimensionsonly[Postkarte][width=\contwidth]
\expanded{\setupMPvariables[brighten]
[xLeft=\the\dimexpr\borderdist-3mm\relax,
PostkarteTop=\the\dimexpr\borderdist-3mm\relax,
colwidth=\the\dimexpr\figurewidth+6mm\relax,
PostkarteHeight=\the\dimexpr\figureheight+6mm\relax,
Borderdist=\the\borderdist]}
\expanded{\setupMPvariables[brighten2]
[xLeft=\the\dimexpr\borderdist-3mm\relax,
PostkarteTop=\the\dimexpr\borderdist-3mm\relax,
colwidth=\the\dimexpr\figurewidth+6mm\relax,
PostkarteHeight=\the\dimexpr\figureheight+6mm\relax,
Borderdist=\the\borderdist]}
\expanded{\setupMPvariables[whitebar]
[xLeft=\the\dimexpr\borderdist-3mm\relax,
PostkarteTop=\the\dimexpr\borderdist-3mm\relax,
colwidth=\the\dimexpr\figurewidth+6mm\relax,
PostkarteHeight=\the\dimexpr\figureheight+6mm\relax,
Borderdist=\the\borderdist]}
\setlayerframed[content][preset=topleft,align={middle,lohi},
width=148mm,height=105mm,
x=\dimexpr1cm+\borderdist\relax,
y=\dimexpr1cm+\borderdist\relax]
[frame=off]
{\externalfigure[Postkarte][width=\contwidth]}
\setlayerframed[content][preset=topleft,
x=\dimexpr1cm+\borderdist\relax,
y=\dimexpr1cm+105mm+\borderdist\relax]
[frame=off]
{\externalfigure[content][page=1]}
\getfiguredimensionsonly[Sparkasse][height=85mm]
\setlayerframed[content][preset=leftbottom,align={middle,lohi},
width=297mm,height=105mm,
hoffset=\dimexpr(297mm-\figurewidth)/2\relax,
voffset=\dimexpr\borderdist-2cm\relax]
[frame=off]
{\externalfigure[Sparkasse][height=95mm]}
\setlayerframed[content][preset=topleft,
x=\dimexpr1cm+148.5mm+\borderdist\relax,
y=\dimexpr1cm+\borderdist-2mm\relax]
[frame=off]
{\rotate[rotation=180]{\externalfigure[content][page=2]}}
\hbox{}
\page
\defineoverlay[brighten][\useMPgraphic{brighten2}]
\setlayerframed[content][preset=topleft,
offset=\borderdist\relax]
[frame=off]
{\externalfigure[hueter][width=\contwidth]}
\getfiguredimensionsonly[hueter][width=\contwidth]
\expanded{\setlayerframed[content][preset=topleft,
hoffset=\borderdist,
voffset=\the\dimexpr\borderdist+\figureheight+8mm\relax]}
[frame=off]
{\externalfigure[content][page=3]}
\setlayerframed[content][preset=leftbottom,
hoffset=\dimexpr\borderdist+45mm\relax,
voffset=\dimexpr\borderdist-2.5cm\relax]
[frame=off]
{\externalfigure[TicketDirekt][width=180mm]}
\setlayerframed[content][preset=topleft,
x=\dimexpr1cm+148.5mm+\borderdist\relax,
y=\dimexpr1cm+\borderdist\relax]
[frame=off]
{\rotate[rotation=180]{\externalfigure[content][page=4]}}
\setlayerframed[content][preset=topleft,
x=\dimexpr1cm+148.5mm+\borderdist\relax,
y=\dimexpr1cm+\borderdist\relax]
[frame=off]
{\rotate[rotation=180]{\externalfigure[Igges][width=\contwidth]}}
\hbox{}
\stoptext