From 8d8d528d2ad52599f11250cfc567fea4f37f2a8b Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Tue, 12 Jan 2016 17:15:07 +0100 Subject: 2016-01-12 16:26:00 --- tex/context/modules/common/s-pre-04.tex | 377 ++++++++++++++++++++++++++++++++ 1 file changed, 377 insertions(+) create mode 100644 tex/context/modules/common/s-pre-04.tex (limited to 'tex/context/modules/common/s-pre-04.tex') diff --git a/tex/context/modules/common/s-pre-04.tex b/tex/context/modules/common/s-pre-04.tex new file mode 100644 index 000000000..088f4e510 --- /dev/null +++ b/tex/context/modules/common/s-pre-04.tex @@ -0,0 +1,377 @@ +%D \module +%D [ file=s-pre-04, +%D version=1998.09.06, +%D title=\CONTEXT\ Style File, +%D subtitle=Presentation Environment 4, +%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. + +\usemodule[pre-general] + +%D \macros +%D {setupbodyfont} +%D +%D This is just another environment for typesetting interactive +%D presentations. I wrote this module on behalf of a course I +%D gave for the United Kingdom \TeX\ users group. + +\setupbodyfont[ams,pos,14.4pt] + +%D \macros +%D {setupcolors,definecolor} +%D +%D I started using dark blue for the navigational elements. In +%D that context, dark red is a logical choice for the contrast +%D color. While playing around with the navigational elements +%D I decided to use the not so dominant color yellow for the +%D status bar. +%D +%D A few days before I wrote this style, the recent acquisition +%D of Mondriaans last painting by the Dutch governement was a +%D hot topic in the dutch news scenary. Therefore I decided to +%D replace the rather dull title page by something more +%D colorful, in mondriaan colors, but far more random than any +%D of his paintings. For consistence we remap the already +%D defined primary colors. + +\setupcolors [state=start] + +\definecolor [NoneColor] [s=.6] +\definecolor [GotoColor] [b=.6] \definecolor[blue] [GotoColor] +\definecolor [ExitColor] [r=.6] \definecolor[red] [ExitColor] +\definecolor [JumpColor] [s=.6] +\definecolor [UserColor] [g=.6] \definecolor[green] [UserColor] +\definecolor [StepColor] [r=.6,g=.6] \definecolor[yellow][StepColor] + +\definecolor [PageColor] [s=.80] \definecolor[gray] [PageColor] +\definecolor [TextColor] [s=.90] + +%D \macros +%D {setuppapersize} +%D +%D As usual, we take a screen oriented paper size: + +\setuppapersize + [S6][S6] + +%D \macros +%D {setuplayout,setupinteractionscreen} +%D +%D The layout definition fits into this $600\times450$ point +%D area, but the dimensions are somewhat diffused by the text +%D background offset. + +\setuplayout + [width=530pt, + height=400pt, + header=0pt, + footer=0pt, + backspace=15pt, + topspace=15pt, + bottomdistance=15pt, + bottom=10pt, + margin=0pt, + rightedgedistance=15pt, + rightedge=30pt] + +\setupinteractionscreen + [option=max] + +%D \macros +%D {setupbackgrounds} +%D +%D Both the page and the text area have a gray background. +%D The \type {[text,text]} area also has an offset. Later we +%D will see that we have to compensate for that in the +%D navigational areas. + +\setupbackgrounds + [page] + [background=color, + backgroundcolor=PageColor] + +\setupbackgrounds + [text][text] + [background=color, + backgroundcolor=TextColor, + backgroundoffset=5pt] + +%D \macros +%D {setupinteraction} +%D +%D For convenient navigation, we turn on interaction. + +\setupinteraction + [state=start, + menu=on, + color=UserColor, + contrastcolor=NoneColor] + +%D \macros +%D {setupsubpagenumber} +%D +%D When navigating the document, we keep the title page out +%D of sight, therefore we use sub page numbers. + +\setupsubpagenumber + [state=start, + way=bytext] + +%D \macros +%D {setupinteractionmenu} +%D +%D There is only one interaction menu, located in the right +%D edge of the screen. Both offsets enlarge the edge by the +%D same amount as the text background offset. + +\setupinteractionmenu + [right] + [state=start, + frame=off, + strut=no, + offset=0pt, + inbetween=, + bottomoffset=-5pt, + topoffset=-5pt] + +%D \macros +%D {startinteractionmenu} +%D +%D The menu itself is not that spectacular. We use the +%D start||stop alternative for setting the content. The macro +%D \type {\interactioncolor} expands into either the +%D interaction color or the contrast color, the latter only +%D when no jump is possible. + +\startinteractionmenu[right] + \setupinteraction[color=GotoColor] + \but [previoussubpage] \Triangle {90}\framedwidth\interactioncolor \\ + \vskip10pt + \but [nextsubpage] \Triangle{270}\framedwidth\interactioncolor \\ + \vfill + \but [PreviousJump] \Triangle{180}\framedwidth{NoneColor} \\ + \vskip-5pt + \but [NextJump] \Triangle {0}\framedwidth{NoneColor} \\ +\stopinteractionmenu + +%D \macros +%D {setupinteractionbar} +%D +%D The interaction bar at the bottom is also larger than the +%D normal width of the bottom area. + +\setupinteractionbar + [alternative=f, + width=\textwidth, + height=\bottomheight, + distance=10pt, + color=NoneColor, + contrastcolor=StepColor] + +%D \macros +%D {setupbottomtexts} +%D +%D The bar is centered in the middle. + +\setupbottomtexts + [\interactionbar] + +%D We can exit viewing with a close button, located on the +%D rightmost bottom area. + +\def\CloseButton + {\button + [width=\rightedgewidth,height=\bottomheight,offset=overlay, + background=color,backgroundcolor=ExitColor,frame=off] + {}% + [CloseDocument]} + +\setupbottomtexts + [edge][][\CloseButton] + +%D \macros +%D {definesymbol,setupitemize} +%D +%D Because some prominent things are rectangular or triangular, +%D we prefer some different symbols in itemizations: + +\definesymbol[1][$\blacktriangleright$] +\definesymbol[2][$\blacktriangledown$] +\definesymbol[3][$\blacktriangleright$] +\definesymbol[4][$\blacktriangledown$] + +\setupitemize[each][color=NoneColor] + +%D \macros +%D {TitlePage,defineoverlay,button,setupalign, +%D setupbackgrounds,setupinteraction,setupinteractionbar, +%D startstandardmakeup,switchtobodyfont,setupinterlinespace} +%D +%D Now the main layout and navigational definitions are +%D done, it makes sense to define and tune some structuring +%D commands. First we build the titlepage. + +\defineoverlay [TitleGraphic] [\useMPgraphic{title}] +\defineoverlay [NextPage] [\overlaybutton{nextpage}] + +\def\StartTitlePage + {\setupbackgrounds[page][background={color,TitleGraphic,NextPage}] + \setupbackgrounds[text][text][background=] + \setupinteraction[menu=off] + \setupinteractionbar[state=stop] + \startstandardmakeup + \switchtobodyfont[24pt] + \bfd\setupinterlinespace + \setupalign[middle] + \vfil + \let\\=\vfil} + +\def\StopTitlePage + {\vfil\vfil\vfil + \stopstandardmakeup + \setupinteraction[menu=on] + \setupinteractionbar[state=start] + \setupbackgrounds[page][background=color] + \setupbackgrounds[text][text][background=color] + \setupsubpagenumber[reset]} + +\def\TitlePage#1% + {\StartTitlePage#1\StopTitlePage} + +%D \macros +%D {Topic, Nopic, Subject, +%D definehead, setuphead} +%D +%D We use \type {\Topic} and \type {\Subject} instead of +%D chapters and sections. The \type {\Nopic} alternative is +%D meant for internal use. + +\definehead [Topic] [chapter] +\definehead [Nopic] [title] +\definehead [Subject] [section] + +\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 {Topics, Subjects, +%D setuplist, placelist, startcolumns} +%D +%D This style is meant for the more large presentations, and +%D therefore provided for a list of topics as well as local +%D lists of subjects. When many topics are introduces, the +%D list is typeset in columns. + +\setuplist + [Topic,Subject] + [alternative=g, + interaction=all, + before=, + after=] + +\setuplist + [Topic] + [criterium=all] + +\def\Topics#1% + {\determinelistcharacteristics[Topic] + \ifnum\utilitylistlength>0 + \Nopic[Topics]{#1} + \ifnum\utilitylistlength>12 + \startcolumns + \placelist[Topic] + \stopcolumns + \else + \placelist[Topic] + \fi + \fi} + +\def\Subjects% + {\placelist[Subject]} + +%D Last we define the overlays. Look at the way colors are +%D linked into the macros. + +\startMPinclusions + def triangle (expr wid, rot, col) = + x1 := x3 := y1 := 0 ; x2 := y3 := wid ; y2 := .5y3 ; + fill (z1--z2--z3--cycle) rotated rot withcolor col ; + currentpicture := currentpicture xysized (wid,wid) ; + enddef ; +\stopMPinclusions + +\setupMPvariables + [triangle] + [width=1cm, + rotation=0, + color=black] + +\startuniqueMPgraphic{triangle}{width,rotation,color} + triangle(\MPvar{width},\MPvar{rotation},\MPvar{color}) ; +\stopuniqueMPgraphic + +\def\Triangle#1#2#3% + {\uniqueMPgraphic{triangle}{rotation=#1,width=#2,color=#3}} + +\startuseMPgraphic{title} % can be simplified with "randomized" + color c ; path p ; + for i=1 upto 250 : + x0 := uniformdeviate \overlaywidth ; + y0 := uniformdeviate \overlayheight ; + sx := uniformdeviate 20 ; + sy := uniformdeviate 20 ; + cc := round(uniformdeviate 2) ; + if cc=0 : c := \MPcolor{GotoColor} fi ; + if cc=1 : c := \MPcolor{ExitColor} fi ; + if cc=2 : c := \MPcolor{StepColor} fi ; + qq := round(uniformdeviate 1) ; + if qq=0 : + p := unitsquare xscaled sx yscaled sy ; + else : + rr := round(uniformdeviate 3) * 90 ; + x1 := x3 := y1 := 0 ; x2 := y3 := sx; y2 := .5y3 ; + p := (z1--z2--z3--cycle) rotated rr ; + fi ; + fill p shifted z0 withcolor c ; + endfor ; +\stopuseMPgraphic + +\doifnotmode{demo}{\endinput} + +%D The (rather silly) demo section. + +\starttext + +\TitlePage{Title Page\\pre-colorfull} + +\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 -- cgit v1.2.3