summaryrefslogtreecommitdiff
path: root/module/tex/context/third/simpleslides/simpleslides-s-Automata.tex
diff options
context:
space:
mode:
authorPhilipp Gesang <philipp.gesang@vernaio.com>2023-02-24 09:57:54 +0100
committerPhilipp Gesang <philipp.gesang@vernaio.com>2023-02-24 09:57:54 +0100
commit3874f118dc4a8e2fac23e451eb21f4bfab0fa664 (patch)
tree6ff48a315624f03bc689c71b47c78c95e557aee4 /module/tex/context/third/simpleslides/simpleslides-s-Automata.tex
parente0f3680766b82ef56be971869ca0e77fa07a0bf2 (diff)
downloadautomata-backgrounds-master.tar.gz
adapt for contemporary simpleslidesHEADmaster
Diffstat (limited to 'module/tex/context/third/simpleslides/simpleslides-s-Automata.tex')
-rw-r--r--module/tex/context/third/simpleslides/simpleslides-s-Automata.tex281
1 files changed, 0 insertions, 281 deletions
diff --git a/module/tex/context/third/simpleslides/simpleslides-s-Automata.tex b/module/tex/context/third/simpleslides/simpleslides-s-Automata.tex
deleted file mode 100644
index 77861e9..0000000
--- a/module/tex/context/third/simpleslides/simpleslides-s-Automata.tex
+++ /dev/null
@@ -1,281 +0,0 @@
-%D \module
-%D [ file=simpleslides-s-Automata,
-%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.
-%C Modified 2010 by Philipp Gesang
-
-%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!)
-
-%M \usemodule[simpleslides,style=Automata]
-%M \loadsetups[t-simpleslides-automata.xml]
-
-\writestatus{simpleslides}{loading Theme Automata}
-
-\startmodule[simpleslides-s-Automata]
-
-\setupmodule[
- mode=,
- file=,
- rule=,
- extendxy=,
- clip=,
-] % using defaults from lua config
-
-% \ctxlua{environment.loadluafile( "automata-main" )}
-\ctxloadluafile{automata-main}
-\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,
- %headerdistance=.3cm,
- footer=0cm,
- %footerdistance=0mm,
- %topspace=.5cm,
- 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 define 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.
-%D “backgroundoutside” and “backgroundscreen” -- obvioulsly -- determine how
-%D the background will look like, whereas “contrastcolor” is used to draw the
-%D automaton {\em onto} the background. Transparancy of the automaton is
-%D adjusted via the “opacity” factor in your automatarc.
-
-\startsetups simpleslides:setups:blue
-\definecolor [simpleslides:contrastcolor] [r=0.7,g=0.7,b=0.9]
-\definecolor [simpleslides:backgroundoutside] [r=0.9,g=0.9,b=0.95]
-\definecolor [simpleslides:backgroundscreen] [s=.975]
-\definecolor [simpleslides:textcolor] [s=0]
-\stopsetups
-
-\startsetups simpleslides:setups:red
-\definecolor [simpleslides:contrastcolor] [r=0.4]
-\definecolor [simpleslides:backgroundoutside] [r=0.5,g=0.2,b=0.2]
-\definecolor [simpleslides:backgroundscreen] [s=.4]
-\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 Setting up the automata part. Note that the precedence of settings is:
-%D \type{kpse:automatarc-global.lua} < \type{./automatrc.lua} < \type{setupmodule},
-%D but some options (such as the color scheme) can only be specified via
-%D \type{setupmodule[…]}.
-%D First, we check for the automaton type.
-
-\doifsomethingelse{\moduleparameter{simpleslides}{mode}}{\ctxlua{
- mplife.setup.current.mode = "\luaescapestring{\moduleparameter{simpleslides}{mode}}"
- if mplife.setup.current.mode == "life" then
- mplife.successive = mplife.gol_successive
- else
- environment.loadluafile("automata-eca")
- mplife.successive = mplife.eca_successive
- end}}
- {\ctxlua{mplife.successive = mplife.gol_successive}}
-
-%D The number of dead cells to add left and right / before and after
-%D the initial frame. (Makes sense only for Game of Life.)
-
-\doifsomething{\moduleparameter{simpleslides}{extendxy}}{\ctxlua
- {mplife.setup.current.extendx = tonumber("\luaescapestring{\moduleparameter{simpleslides}{extendxy}}")
- mplife.setup.current.extendy = tonumber("\luaescapestring{\moduleparameter{simpleslides}{extendxy}}") }}
-
-\doifsomething{\moduleparameter{simpleslides}{extendx}}{\ctxlua
- {mplife.setup.current.extendx = tonumber("\luaescapestring{\moduleparameter{simpleslides}{extendx}}") }}
-
-\doifsomething{\moduleparameter{simpleslides}{extendy}}{\ctxlua
- {mplife.setup.current.extendy = tonumber("\luaescapestring{\moduleparameter{simpleslides}{extendy}}") }}
-
-%D Initial “tape”, i.e. the first frame with respect to Game of Life automata
-%D and the first line for Elementary automata. Filenames without suffix expand
-%D to \type{file .. ".gol"}.
-
-\doifsomething{\moduleparameter{simpleslides}{file}}{\ctxlua
- {mplife.setup.current.file = "\luaescapestring{\moduleparameter{simpleslides}{file}}" }}
-
-%D Clipping is essential to cope with left/right propagation of
-%D patterns. E.g. with rule 158 the total propagation at iteration
-%D n is itself n to the left and n to the right. Whereas rule 102
-%D (a Sierpiński fractal generator) protrudes only to the left at
-%D a rate of n.
-%D Frames cannot be simply cut off at the borders with adjacient
-%D cells treated as “dead” because it would distort the pattern.
-%D Therefore, frames are generated as complete sections which are
-%D clipped to the desired size, as specified by the initial row.
-%D To determine whether to clip your pattern to the left, right,
-%D or in both directions, check the propagation at
-%D \type{string.format("http://mathworld.wolfram.com/Rule%s.html", rule)}
-%D or consult Wolfram's “A New Kind of Science” but beware not to
-%D buy everything he claims…
-%D
-%D Accepts values: \type{left}, \type{right} and \type{both}.
-
-\doifsomething{\moduleparameter{simpleslides}{clip}}{\ctxlua
- {mplife.setup.current.clip = "\luaescapestring{\moduleparameter{simpleslides}{clip}}" }}
-
-\startluacode
-do
- local c = mplife.setup.current
- if c.mode == "life" then
- c.init = gol.parse_file(c.file)
- c.last = c.init
- else
- c.init = eca.parse_file(c.file)
- c.framesize = math.floor(c.aspect * c.init:len())
- c.pages = structures.counters.record("realpage")["last"]
- if c.clip then
- c.xneeded = c.pages * c.framesize
- if c.clip == "both" then -- Assume initial pattern is centered.
- c.diff = c.xneeded - math.ceil(c.init:len()/2)
- else
- c.diff = c.xneeded - c.init:len()
- end
- if c.diff > 0 then
- local affix = ""
- for i=1, c.diff, 1 do
- affix = affix .. "0"
- end
- if c.clip == "left" or c.clip == "both" then
- c.init = affix .. c.init
- end
- if c.clip == "right" or c.clip == "both" then
- c.init = c.init .. affix
- end
- end
- end
- end
- mplife.setup.current = c
-end
-\stopluacode
-
-%D Rules determine the transformation from one iteration to the next.
-%D {\em Life} rules take the form \type{B3/S23}, the separator being any of \type{/},
-%D \type{.} and \type{-}.
-%D Rules for elementary cellular automata are given in decimal: \type{1}--\type{255}.
-
-\doifsomething{\moduleparameter{simpleslides}{rule}}{\ctxlua
- {if mplife.setup.current.mode == "life" then
- mplife.setup.current.rule = gol.parse_rule("\luaescapestring{\moduleparameter{simpleslides}{rule}}")
- else
- mplife.setup.current.rule = eca.gen_rule(tonumber("\luaescapestring{\moduleparameter{simpleslides}{rule}}"))
- end}}
-
-%D We also use \METAPOST\ to draw the horizontal and vertical page backgrounds.
-%D Backgrounds will be of solid color, the ornament gets the transparency.
-
-\startuniqueMPgraphic{simpleslides:MP:horizontal}
-StartPage ;
-fill Page withcolor \MPcolor{simpleslides:backgroundoutside} ;
-fill Field[Text][Text] enlarged 0.2cm
- withcolor \MPcolor{simpleslides:backgroundscreen} ;
-StopPage ;
-\stopuniqueMPgraphic
-
-\startuniqueMPgraphic{simpleslides:MP:vertical}
-StartPage ;
-fill Page withcolor \MPcolor{simpleslides:backgroundoutside} ;
-
-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:backgroundscreen} ;
-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
-