diff options
Diffstat (limited to 'tex/context/modules/common/s-pre-02.tex')
-rw-r--r-- | tex/context/modules/common/s-pre-02.tex | 381 |
1 files changed, 381 insertions, 0 deletions
diff --git a/tex/context/modules/common/s-pre-02.tex b/tex/context/modules/common/s-pre-02.tex new file mode 100644 index 000000000..d7a6fe458 --- /dev/null +++ b/tex/context/modules/common/s-pre-02.tex @@ -0,0 +1,381 @@ +%D \module +%D [ file=s-pre-02, +%D version=1998.04.21, +%D title=\CONTEXT\ Style File, +%D subtitle=Presentation Environment 2, +%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 environment can be used to typeset interactive +%D presentations. This module was first used at the 1998 +%D publishers conference of the European Portable Document +%D Association (now merged into a graphics association). + +\usemodule[pre-general] + +%D \macros +%D {setupbodyfont, switchtobodyfont, setuplayout} +%D +%D At \PRAGMA\ we prefer using the Lucida Bright fonts, but +%D one can of course load another typeface. + +\startmode[asintended] \setupbodyfont[lbr] \stopmode + +\setupbodyfont[14.4pt] + +\setuplayout + [style=smallbodyfont] + +%D \macros +%D {setuppapersize, setuplayout} +%D +%D The papersize suits the screen dimensions. The layout is +%D rather simple. We use the whole width of the screen and only +%D have navigational tools at the bottom of the screen. + +\setuppapersize + [S6][S6] + +\setuplayout + [backspace=1cm, + topspace=1cm, + margin=0pt, + header=0pt, + footer=0pt, + bottomdistance=.875cm, + bottom=1cm, + width=fit, + height=fit] + +%D \macros +%D {setupwhitespace, setuptyping} +%D +%D We don't have much height, so we use a more cramped +%D spacing. Verbatim text looks better when indented. +%D + +\setupwhitespace + [medium] + +\setuptyping + [margin=standard] + +%D \macros +%D {definecolor, setupcolors} +%D +%D Of course we enable color. We define some logical colors, +%D of which most default to the same green shade. + +\definecolor [BackgroundColor] [r=.8, g=.8, b=.8] +\definecolor [OrnamentColor] [r= 0, g=.7, b=.4] + +\setupcolors + [state=start] + +%D \macros +%D {setupinteraction, setupinteractionscreen} +%D +%D We still have to enable interaction mode. We go full +%D screen! + +\setupinteraction + [state=start, + color=OrnamentColor, + contrastcolor=OrnamentColor] + +\setupinteractionscreen + [option=max, + width=fit, + height=fit] + +%D \macros +%D {setupitemize} +%D +%D And why not bring some color in itemizations too? + +\setupitemize + [color=OrnamentColor] + +%D \macros +%D {defineoverlay, setupbackgrounds} +%D +%D The navigational elements and the backgrounds are +%D provided by \METAPOST. +%D +%D When \METAPOST\ is used, it makes sense to generate the +%D graphics at runtime. This is supported when one enables +%D system calls in the local \type {texmf.cnf} file and add the +%D switch \type {\runMPgraphicstrue} to the local file \type +%D {cont-sys.tex}. When direct processing is disabled or not +%D supported, \TEXEXEC\ will take care of graphic generation. + +\startuniqueMPgraphic{PageBackground} + fill unitsquare + xyscaled(OverlayWidth,OverlayHeight) + withcolor OverlayColor ; + draw unitsquare + xyscaled(OverlayWidth,OverlayHeight) + enlarged (-2*OverlayLineWidth) + withpen pencircle scaled OverlayLineWidth + withcolor OverlayLineColor ; +\stopuniqueMPgraphic + +\defineoverlay + [PageBackground] + [\uniqueMPgraphic{PageBackground}] + +\setupbackgrounds + [page] + [background=PageBackground, + backgroundcolor=BackgroundColor, + rulethickness=.125cm, + framecolor=OrnamentColor] + +%D \macros +%D {setuptexttexts} +%D +%D By clicking on the text area, one goes to the next page. +%D We hook this feature into the text backgrounds. + +\startuniqueMPgraphic{TextBackground} + draw unitsquare + xyscaled(OverlayWidth,OverlayHeight) + enlarged (4*OverlayLineWidth) + withpen pencircle scaled OverlayLineWidth + withcolor OverlayLineColor ; +\stopuniqueMPgraphic + +\defineoverlay + [TextBackground] + [\uniqueMPgraphic{TextBackground}] + +\defineoverlay + [NextPage] + [\overlaybutton{nextpage}] + +\setupbackgrounds + [text] + [background={TextBackground,NextPage}, + backgroundcolor=BackgroundColor, + rulethickness=.0625cm, + framecolor=OrnamentColor] + +%D \macros +%D {setupinteractionmenu,startinteractionmenu} +%D +%D At the bottom of the screen, we show three buttons. These +%D direct us to the previous or next jump or exit the document. + +\setupMPvariables[RightArrow][height=\bottomheight] +\setupMPvariables[LeftArrow] [height=\bottomheight] +\setupMPvariables[Circle] [height=\bottomheight] +\setupMPvariables[UpArrow] [height=\bottomheight] + +\startuniqueMPgraphic{RightArrow}{height} + z1=(0,0) ; z2=(\MPvar{height},.5y3) ; z3=(0,\MPvar{height}) ; + drawfill z1--z2--z3--cycle + withpen pencircle scaled (\MPvar{height}/5) + withcolor \MPcolor{OrnamentColor} ; +\stopuniqueMPgraphic + +\startuniqueMPgraphic{LeftArrow}{height} + z1=(\MPvar{height},0) ; z2=(0,.5y3) ; z3=(\MPvar{height},\MPvar{height}) ; + drawfill z1--z2--z3--cycle + withpen pencircle scaled (\MPvar{height}/5) + withcolor \MPcolor{OrnamentColor} ; +\stopuniqueMPgraphic + +\startuniqueMPgraphic{Circle}{height} + drawfill fullcircle scaled \MPvar{height} + withpen pencircle scaled (\MPvar{height}/5) + withcolor \MPcolor{OrnamentColor} ; +\stopuniqueMPgraphic + +\startuniqueMPgraphic{UpArrow}{height} + z1=(0,0) ; z2=(\MPvar{height},0) ; z3=(.5x2,\MPvar{height}) ; + drawfill z1--z2--z3--cycle + withpen pencircle scaled (\MPvar{height}/5) + withcolor \MPcolor{OrnamentColor} ; +\stopuniqueMPgraphic + +\setupinteractionmenu + [bottom] + [state=start, + frame=off, + width=.3\textwidth, + height=\bottomheight] + +\setupinteraction + [menu=on] + +\def\WhateverButton + {\doifreferencefoundelse{Whatever} + {\raw [Whatever] \uniqueMPgraphic{UpArrow} \\} + {}} + +\startinteractionmenu[bottom] + \but [Topics] \\ % secret button + \hfill + \WhateverButton % user specific + \kern2\bottomheight + \raw [previouspage] \uniqueMPgraphic{LeftArrow} \\ + \kern.5\bottomheight + \raw [CloseDocument] \uniqueMPgraphic{Circle} \\ + \kern.5\bottomheight + \raw [nextpage] \uniqueMPgraphic{RightArrow} \\ + \kern.5\bottomheight +\stopinteractionmenu + +%D \macros +%D {TitlePage, Topics, Topic, Subject} +%D +%D A presentation after loading this module looks like: +%D +%D \starttyping +%D \TitlePage {About Whatever\\Topics} +%D +%D \Topics {Todays Talk} +%D +%D \Topic {Some topic} +%D +%D ..... +%D +%D \Topic {Next Topic} +%D +%D ..... +%D \stoptyping + +%D \macros +%D {StartTitlePage, TitlePage} +%D +%D The titlepage is rather simple and can be typeset in two +%D ways: +%D +%D \starttyping +%D \StartTitlePage +%D text \\ text \\ text +%D \StopTitlepage +%D \stoptyping +%D +%D or as one||liner: +%D +%D \starttyping +%D \TitlePage{text\\text\\text} +%D \stoptyping +%D +%D The first alternative can be used for more complicated +%D title pages. + +\def\StartTitlePage% + {\startstandardmakeup + \bfd\setupinterlinespace + \setupalign[middle] + \vfil + \let\\=\vfil} + +\def\StopTitlePage% + {\vfil\vfil\vfil + \stopstandardmakeup} + +\def\TitlePage#1% + {\StartTitlePage#1\StopTitlePage} + +%D \macros +%D {definehead} +%D +%D The commands \type{\Topic} and \type{\Subject} are defined +%D as copies of head. We use \type{\Nopic} for internal +%D purposes. + +\definehead [Topic] [chapter] +\definehead [Subject] [section] + +\definehead [Nopic] [title] + +%D \macros +%D {setuphead} +%D +%D We use our own command for typesetting the titles. We hide +%D sectionnumbers from viewing. Each topic is followed by a +%D list of subjects that belong to the topic. + +\setuphead + [Topic, Nopic] + [after={\blank[3*medium]}, + number=no, + style=\tfb, + page=yes, + alternative=middle] + +\setuphead + [Subject] + [after=\blank, + number=no, + page=yes, + continue=no, + style=\tfa] + +%D \macros +%D {setuplist} +%D +%D When found, the subject list is automatically placed +%D after the topic head. + +\setuplist + [Topic,Subject] + [alternative=g, + interaction=all, + before=, + after=] + +\setuplist + [Topic] + [criterium=all] + +\def\Topics#1% + {\determinelistcharacteristics[Topic] + \doifmode{*list} + {\Nopic[Topics]{#1} + \startcolumns + \placelist[Topic] + \stopcolumns}} + +\setuplist + [Subject] + [criterium=Topic] + +\def\Subjects% + {\determinelistcharacteristics[Subject] + \doifmode{*list} + {\placelist[Subject]}} + +\setuphead + [Topic] + [after={\blank[3*medium]\Subjects}] + +\doifnotmode{demo}{\endinput} + +%D The (rather silly) demo section. + +\starttext + +\TitlePage{Title Page\\pre-green} + +\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 |