%D \module %D [ file=s-pre-07, %D version=1999.08.20, %D title=\CONTEXT\ Style File, %D subtitle=Presentation Environment 7, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. %D This style was made for the \NTS\ presentation at %D \EUROTEX\ 1999. It's a wink to programming in a webbed way. %D This is just one way of implementing such a style. Today %D we have more \METAPOST\ interfacing available, and %D thereby moore tools and alternative ways to reach such a %D goal. I must admit that the main macro looks fuzzy. On %D the other hand, the presentation can look quite structured. %D %D \starttyping %D \Topics{...} %D %D \StartIdeas %D \Topic{...} %D \StartIdea ... \StopIdea %D \StartIdea ... \StopIdea %D \StopIdeas %D \stoptyping \startmode[asintended] \setupbodyfont[lbr] \stopmode \setupbodyfont[14.4pt] \usemodule [abr-02] \setuppapersize [S6][S6] \setuplayout [topspace=0cm, backspace=0cm, header=0pt, footer=0pt, width=middle, height=middle] \setupinteractionscreen [option=max] %D In order to prevent loops due to random placement, we %D keep the random seed reasonable constant. \setupsystem [random=big] \setupcolors [state=start] \definecolor[gray] [s=.4] \definecolor[lightgray][s=.9] \definecolor[red] [r=.4] \definecolor[cyan] [g=.4,b=.4] \definecolor[green][g=.4] \definecolor[magenta][r=.4,b=.4] \definecolor[blue] [b=.4] \definecolor[yellow] [r=.4,g=.4] \definecolor[PageColor][gray] \definecolor[TextColor][lightgray] \definecolor[LineColor][yellow] \definecolor[linecolor 1][red] \definecolor[linecolor 5][cyan] \definecolor[linecolor 2][green] \definecolor[linecolor 6][magenta] \definecolor[linecolor 3][blue] \definecolor[linecolor 4][yellow] \setupinteraction [state=start, display=new, color=LineColor, contrastcolor=LineColor] \startuseMPgraphic{shape} path p ; color c, w ; numeric width, height ; c := \MPcolor{LineColor} ; w := \MPcolor{TextColor} ; width := \overlaywidth ; height := \overlayheight ; pickup pencircle scaled .5cm ; p := unitcircle xscaled \MPw{\Idea} yscaled \MPh{\Idea} shifted \MPxy{\Idea} ; for z = (0,.5height), (width,.5height), (.5width,0), (.5width,height), (0,0), (width,height), (0,height), (width,0) : draw center p -- z withcolor c ; endfor ; fill p withcolor w ; draw p withcolor c ; p := unitcircle xscaled \MPw{\Page} yscaled \MPh{\Page} shifted \MPxy{\Page} ; pickup pencircle scaled .25cm ; fill p withcolor w ; draw p withcolor c ; draw unitsquare xscaled width yscaled height withcolor c ; \stopuseMPgraphic \defineoverlay [shape] [\useMPgraphic{shape}] \defineoverlay [nextpage] [\overlaybutton{nextpage}] \defineoverlay [previouspage] [\overlaybutton{previouspage}] \defineoverlay [content] [\overlaybutton{content}] \defineoverlay [forward] [\overlaybutton{forward}] \setupbackgrounds [page] [background={color,previouspage,shape}, backgroundcolor=PageColor] \def\StartIdea% {\xdef\Idea{idea:\realfolio} \xdef\Page{page:\realfolio} \startstandardmakeup \dontcomplain \vbox to \makeupheight \bgroup \getrandomdimen\scratchdimen{75pt}{600pt}\vskip 0pt plus \scratchdimen \hbox to \makeupwidth \bgroup \getrandomdimen\scratchdimen{75pt}{600pt}\hskip 0pt plus \scratchdimen \hpos{idea:\realfolio} \bgroup \framed [width=.6\hsize,height=fit,offset=2cm,align=middle, frame=off,strut=no,background=forward] \bgroup \setupwhitespace[big]} \def\StopIdea% {\egroup \egroup \getrandomdimen\scratchdimen{75pt}{600pt}\hskip 0pt plus \scratchdimen \egroup \getrandomdimen\scratchdimen{75pt}{600pt}\vskip 0pt plus \scratchdimen \egroup \ifx\CurrentTopic\empty \else \vskip-\makeupheight \vbox to \makeupheight {\vfill \ifx\CurrentListTopic\empty\else \writetolist[Topic]{}{\CurrentListTopic} \fi \hbox to \makeupwidth {\hfill \hpos{page:\realfolio} {\framed [offset=.5cm,frame=off,background=content] {\bf\ignorespaces\CurrentTopic\unskip}}% \hskip.5cm} \vskip.5cm} \fi \stopstandardmakeup \let\CurrentListTopic\empty} \definelist [Topic] \setuplist [Topic] [alternative=f, expansion=command] \let\CurrentTopic\empty \let\CurrentListTopic\empty \long\def\StartTopic#1\StopTopic {\long\def\CurrentTopic{#1} \let\CurrentListTopic\CurrentTopic} \def\Topic#1% {\StartTopic#1\StopTopic} \def\Topics#1% {\StartIdeas \def\CurrentTopic{#1} \StartIdea \pagereference[content] \placelist[Topic][criterium=all] \StopIdea \StopIdeas} \newcounter\CurrentIdeas \def\StartIdeas% {\ifnum\CurrentIdeas=6 \doglobal\newcounter\CurrentIdeas \fi \doglobal\increment\CurrentIdeas \definecolor[LineColor][linecolor \CurrentIdeas]} \def\StopIdeas% {} \doifnotmode{demo}{\endinput} %D The (rather silly) demo section. \starttext \Topics{This is about \unknown} \StartIdeas \Topic{Some topic} \StartIdea An idea \unknown \StopIdea \StartIdea \unknown\ and another \StopIdea \StopIdeas \stoptext