%D \module %D [ file=s-pre-13, %D version=1999.08.20, %D title=\CONTEXT\ Style File, %D subtitle=Presentation Environment 13, %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 is again one of the \EUROTEX\ 99 styles. It's one of %D the quick and dirty styles supporting basic structuring. \setuppapersize [S6][S6] \setuplayout [width=middle, height=middle, header=0pt, footer=0pt, bottomdistance=.5cm, bottom=1cm, topspace=2cm, backspace=2cm] %D This style is meant to be used with lucida handwriting %D fonts. If you don't have that font, you may reconsider %D using this style. \startmode[asintended] \setupbodyfont[lbr,hw] \stopmode %D These colors will mostly be used in the graphics drawn by %D \METAPOST. \setupcolors [state=start] \definecolor[PageColor] [s=.6] \definecolor[TextColor] [s=.8] \definecolor[LineColor] [g=.4] \definecolor[SymbolColor][r=.4] %D When interacting, we will use button shaped that are %D quite random and thereby regenerated for each instance. \setupinteractionscreen [option=max] \setupinteractionmenu [bottom] [state=start, height=1cm, middle=\hskip1cm] \setupinteraction [state=start, menu=on, display=new, click=no, color=SymbolColor, contrastcolor=SymbolColor] \startinteractionmenu[bottom] \hfill \got [previouspage] \symbol[prevmark] \\ \got [nextpage] \symbol[nextmark] \\ \got [CloseDocument] \symbol[stopmark] \\ \txt \tfd \SymbolColor \pagenumber \\ \stopinteractionmenu %D When not processed at runtime, the itemmark graphics can %D result in processing loops due to funny dimensions. %D Therefore, from now on, the itemize macros limit the height %D and depth. \definesymbol[itemmark][\useMPgraphic{itemmark}] \definesymbol[stopmark][\useMPgraphic{stopmark}] \definesymbol[nextmark][\useMPgraphic{nextmark}] \definesymbol[prevmark][\useMPgraphic{prevmark}] %D Of course we have some backgrounds. \defineoverlay [page] [\useMPgraphic{page}] \defineoverlay [next] [\overlaybutton{forward}] \defineoverlay [prev] [\overlaybutton{PreviousJump}] \setupbackgrounds [page] [background={page,prev}] \setupbackgrounds [text] [background=next] \setuphead [chapter] [alternative=middle, number=no, color=SymbolColor, style=\tfc] %D A little bit of tweaking. \setupwhitespace [big] \setupitemize [1] [symbol=itemmark, width=3\bodyfontsize] \def\StartTitlePage% {\setupinteractionmenu[bottom][state=stop] % will be named page block \startstandardmakeup \setupalign[middle] \def\\% {\stopcolor \vfil \bfb\setupinterlinespace \startcolor[black]} \bfd\setupinterlinespace \vfil \startcolor[SymbolColor]} \def\StopTitlePage {\stopcolor \vfil\vfil \stopstandardmakeup \setupinteractionmenu[bottom][state=start]} \def\TitlePage#1% {\StartTitlePage#1\StopTitlePage} \definehead[Topic][chapter] \definehead[Nopic][title] \setuplist [Topic] [criterium=all, alternative=g, interaction=all, after=\blank] \def\Topics#1% {\Nopic{#1} \bgroup \setupinteraction [color=, contrastcolor=] \determinelistcharacteristics[Topic] \ifnum\utilitylistlength>12 \startcolumns[n=2] \placelist[Topic] \stopcolumns \else \placelist[Topic] \fi \egroup} %D We don't support another level of structuring. \let\Subject \Topic \let\Subjects\relax %D Most of this style is \METAPOST\ definitions. We could %D have shared some code, but it would not on forehand make %D things more readable, so we stick to the following %D definitions. \startuseMPgraphic{page} width := \overlaywidth ; height := \overlayheight ; d := 15 ; dd := d ; dd := 10 ; def fuzzy (expr p,dx,dy) = (xpart p +dx-uniformdeviate dx,ypart p+dy-uniformdeviate dy) enddef ; pair ll, lr, ur, ul ; ll := (d,d) ; lr := (width-d,d) ; ur := (width-d,height-d) ; ul := (d,height-d) ; path p, q, r, s ; p := ll.. for i=.1 step .1 until .9 : fuzzy (i[ll,lr],0,+dd).. endfor lr ; q := lr.. for i=.1 step .1 until .9 : fuzzy (i[lr,ur],-dd,0).. endfor ur ; r := ur.. for i=.1 step .1 until .9 : fuzzy (i[ur,ul],0,-dd).. endfor ul ; s := ul.. for i=.1 step .1 until .9 : fuzzy (i[ul,ll],+dd,0).. endfor ll ; fill unitsquare xscaled width yscaled height withcolor \MPcolor{PageColor} ; fill p & q & r & s -- cycle withcolor \MPcolor{TextColor} ; color c ; c := \MPcolor{LineColor} ; draw p withpen pencircle xscaled 20 yscaled 5 rotated 30 withcolor c ; draw q withpen pencircle xscaled 5 yscaled 20 rotated 30 withcolor c ; draw r withpen pencircle xscaled 20 yscaled 5 rotated 30 withcolor c ; draw s withpen pencircle xscaled 5 yscaled 20 rotated 30 withcolor c ; \stopuseMPgraphic \startuseMPgraphic{itemmark} width := BodyFontSize ; height := width/4 ; maxheight := StrutHeight ; line := 3width/2 ; def fuzzy = -(height/4)+uniformdeviate (height/2) enddef ; draw ((0,0+fuzzy)--(width,height+fuzzy/2)) shifted (line/2,0) withpen pencircle xscaled line yscaled (line/4) rotated (25+uniformdeviate 10) withcolor \MPcolor{SymbolColor} ; setbounds currentpicture to unitsquare xyscaled(width,maxheight) ; \stopuseMPgraphic \startuseMPgraphic{nextmark} LoadPageState ; width := BottomHeight ; height := line := width/2 ; def fuzzy = -(height/8)+uniformdeviate (height/4) enddef ; z1 = (0,0+fuzzy) ; z2 = (width,height/2+fuzzy/2) ; z3 = (0,height+fuzzy) ; draw (z1..{right}z2 & z2{left}..z3) withpen pencircle xscaled line yscaled (line/4) rotated 30 withcolor \MPcolor{SymbolColor} ; setbounds currentpicture to unitsquare xyscaled(width,height) ; \stopuseMPgraphic \startuseMPgraphic{prevmark} LoadPageState ; width := BottomHeight ; height := line := width/2 ; def fuzzy = -(height/8)+uniformdeviate (height/4) enddef ; z1 = (width,0+fuzzy) ; z2 = (0,height/2+fuzzy/2) ; z3 = (width,height+fuzzy) ; draw (z1..{left}z2 & z2{right}..z3) withpen pencircle xscaled line yscaled (line/4) rotated 30 withcolor \MPcolor{SymbolColor} ; setbounds currentpicture to unitsquare xyscaled(width,height) ; \stopuseMPgraphic \startuseMPgraphic{stopmark} LoadPageState ; width := BottomHeight ; height := line := width/2 ; def fuzzy = -(height/8)+uniformdeviate (height/4) enddef ; z1 = (0,0+fuzzy) ; z2 = (width,height+fuzzy) ; z3 = (width,0+fuzzy) ; z4 = (0,height+fuzzy) ; z5 = (width/2,height/2) ; drawoptions (withpen pencircle xscaled line yscaled (line/4) rotated 30 withcolor \MPcolor{SymbolColor}) ; draw z1..{right}z5..z2 ; draw z3..{left}z5..z4 ; setbounds currentpicture to unitsquare xyscaled(width,height) ; \stopuseMPgraphic \doifnotmode{demo}{\endinput} %D The (rather silly) demo section. \starttext \TitlePage{Title Page\\pre-writing} \Topics{Some Nice Quotes} \Topic{A Few} \Subject{Knuth} \input knuth \Subject{Tufte} \input tufte \Topic{Some More} \Subject{Zapf} \input zapf \Subject{Bryson} \input bryson \stoptext