summaryrefslogtreecommitdiff
path: root/simpleslides-s-Automaton.tex
diff options
context:
space:
mode:
Diffstat (limited to 'simpleslides-s-Automaton.tex')
-rw-r--r--simpleslides-s-Automaton.tex232
1 files changed, 232 insertions, 0 deletions
diff --git a/simpleslides-s-Automaton.tex b/simpleslides-s-Automaton.tex
new file mode 100644
index 0000000..4ec1d19
--- /dev/null
+++ b/simpleslides-s-Automaton.tex
@@ -0,0 +1,232 @@
+%D \module
+%D [ file=simpleslides-s-Automaton,
+%D version=2010-08-10-15:28:22+0200,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Module --- Automaton Style,
+%D author=Philipp Gesang,
+%D date=\currentdate,
+%D copyright={Philipp Gesang}]
+%C
+%C Copyright 2007 Aditya Mahajan and Thomas A. Schmitz
+%C This file may be distributed under the GNU General Public License v. 2.0.
+
+%D Providing presentation Backgrounds according to Conway's Game of Life.
+%D Initially based on the BigNumber theme by A. Mahajan and Th. Schmitz. (Many,
+%D many thanks!)
+
+\writestatus{simpleslides}{loading Test}
+
+\startmodule[simpleslides-s-Automaton]
+
+\ctxlua{environment.loadluafile( "mplife" )}
+\ctxlua{mplife.slides = true}
+
+\unprotect
+
+%D First, we change the page layout to have more space all around
+
+\setuplayout [width=fit,
+ margin=2cm,
+ height=fit,
+ leftmargindistance=.8cm,
+ rightmargindistance=0cm,
+ header=18mm,
+ footer=0cm,
+ topspace=.8cm,
+ backspace=1.9cm,
+ location=singlesided]
+
+\setuplayout [simpleslides:layout:horizontal][header=18mm]
+\setuplayout [simpleslides:layout:vertical] [header=0mm]
+\setuplayout [simpleslides:layout:title]
+
+\setuplayer[simpleslides:layer:slidetitle]
+ [width=\paperwidth,
+ height=\paperheight,x=20mm]
+
+%D Next we a generic frames, which will be used by other macros to
+%D get a consistent look and feel.
+
+\defineframed[simpleslides:framed:small]
+ [frame=off,offset=0pt,
+ width=1.7cm,align=middle]
+
+\setupcombinations[distance=2.5em]
+
+%D These macros are used for placing figures/pictures:
+
+\define\NormalHeight {\textheight}
+\define\NormalWidth {.46\textwidth}
+\define\PictureFrameHeight {\textheight}
+\define\PictureFrameWidth {.46\textwidth}
+
+%D This module has two color schemes, a blue one and a red one.
+
+\startsetups simpleslides:setups:blue
+\definecolor [simpleslides:contrastcolor] [r=0.8,g=0.8,b=0.9]
+\definecolor [simpleslides:backgroundcolor] [s=.88]
+\definecolor [simpleslides:textcolor] [s=0]
+\stopsetups
+
+\startsetups simpleslides:setups:red
+\definecolor [simpleslides:contrastcolor] [r=0.4]
+\definecolor [simpleslides:backgroundcolor] [s=.35]
+\definecolor [simpleslides:textcolor] [s=1]
+\stopsetups
+
+%D Now we choose the scheme that the user asked for
+
+\doifsetupselse{simpleslides:setups:\moduleparameter{simpleslides}{color}}
+ {\setups{simpleslides:setups:\moduleparameter{simpleslides}{color}}}
+ {\setups{simpleslides:setups:blue}}
+
+\setupcolors[textcolor={simpleslides:textcolor}]
+
+
+%D The characteristic feature of this module is that the page number is drawn in
+%D big letters on the slide. First we define the font used to draw the number.
+%D The is a bit verbose since \MKII\ and \MKIV\ have different ways of loading
+%D fonts.
+
+\beginOLDTEX
+\loadmapfile[qhv-ec.map]
+\definefontsynonym [BigNumberFont] [ec-qhvb]
+\endOLDTEX
+
+\beginXETEX
+\loadmapfile[qhv-ec.map]
+\definefontsynonym [BigNumberFont] [ec-qhvb]
+\endXETEX
+
+\beginLUATEX
+\definefontsynonym [BigNumberFont] [name:texgyreherosbold]
+\endLUATEX
+
+\definefont [NumberFont] [BigNumberFont at 30pt]
+
+
+%D We use \METAPOST\ to draw backgrounds. First, we define a few helper macros
+%D to place text inside \METAPOST
+
+\definetextext[simpleslides:sometxt:left] {\TaspresentSometxtLeft}
+\definetextext[simpleslides:sometxt:right]{\TaspresentSometxtRight}
+
+\unexpanded\def\TaspresentSometxtLeft#1%
+ {\getvalue{simpleslides:framed:small}
+ {\color[simpleslides:contrastcolor]
+ {\NumberFont #1}}}
+
+\unexpanded\def\TaspresentSometxtRight#1%
+ {\getvalue{simpleslides:framed:small}
+ {\color[simpleslides:backgroundcolor]
+ {\NumberFont #1}}}
+
+%D Now we define a \METAPOST| graphic that draws the number. The exact
+%D dimensions have been found by trial and error.
+
+%\startuseMPgraphic{simpleslides:MP:ornament}
+%StartPage ;
+%save Left, Right ;
+%picture Left, Right ;
+
+%Left := \sometxt [simpleslides:sometxt:left]{\folio} ysized 6cm;
+%Right := \sometxt[simpleslides:sometxt:right]{\folio} ysized 6cm;
+
+%save LeftBox, RightBox ;
+%path LeftBox, RightBox ;
+
+%save split ; numeric split ;
+%split := if PageNumber < 10 : 1/2 else : 2/3 fi ;
+
+%LeftBox := llcorner Left -- split[llcorner Left, lrcorner Left]
+ %-- split[ulcorner Left, urcorner Left] -- ulcorner Left --cycle ;
+
+%RightBox := lrcorner Right -- split[lrcorner Right, llcorner Right]
+ %-- split[urcorner Right, ulcorner Right] -- urcorner Right --cycle ;
+
+%if PageNumber >= 10 :
+%RightBox := RightBox shifted split[lrcorner Right, llcorner Right] ;
+%fi;
+
+%clip Left to LeftBox ;
+%clip Right to RightBox ;
+
+%save corner; pair corner ;
+%corner := lrcorner Field[Text][Text] shifted (.2cm,-1cm) ; % same as x2
+
+%labeloffset := 0bp;
+
+%label.ulft(Left, corner) ;
+%label.urt (Right, corner) ;
+
+%StopPage ;
+%\stopuseMPgraphic
+
+%D We also use \METAPOST\ to draw the horizontal and vertical page backgrounds.
+
+\startuniqueMPgraphic{simpleslides:MP:horizontal}
+StartPage ;
+fill Page withcolor transparent (1, .3, \MPcolor{simpleslides:contrastcolor}) ;
+fill Field[Text][Text] enlarged 0.2cm
+ withcolor transparent (1, .3, \MPcolor{simpleslides:backgroundcolor}) ;
+StopPage ;
+\stopuniqueMPgraphic
+
+\startuniqueMPgraphic{simpleslides:MP:vertical}
+StartPage ;
+fill Page withcolor transparent (1, .3, \MPcolor{simpleslides:contrastcolor}) ;
+
+z1 = urcorner Field[Text][Text] shifted (.2cm,0) ;
+z2 = lrcorner Field[Text][Text] shifted (.2cm,-.2cm) ;
+z3 = z1 shifted (-8.05cm,0) ;
+z4 = (x3,y2) ;
+
+save Main ;
+path Main ;
+Main := z1 -- z2 -- z4 -- z3 --cycle ;
+
+fill Main withcolor \MPcolor{simpleslides:backgroundcolor} ;
+StopPage ;
+\stopuniqueMPgraphic
+
+
+%D We define these backgrounds as overlays:
+
+\defineoverlay
+ [simpleslides:background:horizontal]
+ [\useMPgraphic{simpleslides:MP:horizontal}]
+
+\defineoverlay
+ [simpleslides:background:vertical]
+ [\useMPgraphic{simpleslides:MP:vertical}]
+
+\defineoverlay
+ [simpleslides:background:title]
+ [\useMPgraphic{simpleslides:MP:horizontal}]
+
+\defineoverlay
+ [simpleslides:background:ornament]
+ [\ctxlua{mplife.successive()}]
+
+%D The slide title is placed on the top of the text area. The layer takes care
+%D of the positioning.
+
+\setupSlideTitle
+ [\c!after=,
+ \c!alternative=layer,
+ \c!width=\textwidth,
+ \c!height=2.5cm,
+ \c!command=\doSlideTitle]
+
+
+%D Squares are used as the first level of itemizations
+
+\definesymbol[1][$\square$]
+\setupitemize[1][inmargin]
+%\setupitemize[each][joinedup,unpacked]
+
+\protect
+\stopmodule
+
+\endinput
+