From 8d8d528d2ad52599f11250cfc567fea4f37f2a8b Mon Sep 17 00:00:00 2001
From: Context Git Mirror Bot <phg42.2a@gmail.com>
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

