summaryrefslogtreecommitdiff
path: root/tex/context/modules/common/s-pre-50.tex
blob: ff3e48631eafa1269b761ee19f1f016167cccca9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
%D \module
%D   [      file=s-pre-50,
%D        version=2003.01.26,
%D          title=\CONTEXT\ Style File,
%D       subtitle=Presentation Environment 50,
%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 When my mailbox started to overflow with messages about
%D problems with the presentation step mechanism, I looked up
%D old presentaton, hacked a bit and cooked up an alternative
%D that is less dependent on \PDF\ trickery.
%D
%D Consider it a cheap trick and prelude to a couple of new
%D presentation styles. (At the time of writing this, I
%D still have some 10 of those styles to clean up and
%D document.) You can give it a try:
%D
%D \starttyping
%D texexec --pdf --mode=demo s-pre-50
%D \stoptyping

% Basic definitions.

\defineframedtext
  [horizontal]
  [width=\textwidth,
   frame=off,
   strut=no,
   height=fit,
   align={right,lohi},
   before=,
   after=]

\definecollector
  [contribution]
  [state=repeat,
   corner={left,bottom},
   location={right,bottom}]

%D An example of tuning:

\startmode[demo]

  \setupcollector
    [contribution]
    [voffset=-.25\bodyfontsize]

  \setupframedtexts
    [horizontal]
    [background=color,
     backgroundcolor=darkgray,
     foregroundcolor=white]

\stopmode

%D Structure and trick.

\def\StartSteps
  {\doifnotmode{mkiv}{\checkutilities}}

\def\StopSteps
  {\resetcollector[contribution]}

\long\def\StartStep#1\StopStep
  {\setcollector
     [contribution]
     {\starthorizontal[none]#1\stophorizontal}
   \flushcollector[contribution]
   \page}

%D Trick. Nowadays we can use streams.

\installoutputroutine\FlushStep
  {\StartStep\unvbox\normalpagebox\StopStep}

%D Demo.

\doifnotmode{demo}{\endinput}

\setupcolors[state=start] \setuppapersize[S6][S6] \setuplayout[middle]

\starttext

\StartSteps

  \title[whow]{How Much?} \FlushStep
  \item More              \FlushStep
  \item And More          \FlushStep
  \item And Even More     \FlushStep

  \StartStep And So On    \StopStep

\StopSteps

\stoptext