0% found this document useful (0 votes)
27 views6 pages

Tex Program Sample1

Uploaded by

Durgadasa P
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views6 pages

Tex Program Sample1

Uploaded by

Durgadasa P
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

% output=pdf

\iffalse to typeset, set content.pdf first and then use


texexec --automp bgnd
\fi

% Note: content.tex 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 content.tex
\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

You might also like