summaryrefslogtreecommitdiff
path: root/macros/context/contrib/context-simpleslides/context-simpleslides/scripts/context/lua/third/simpleslides/mtx-simpleslides.lua
diff options
context:
space:
mode:
Diffstat (limited to 'macros/context/contrib/context-simpleslides/context-simpleslides/scripts/context/lua/third/simpleslides/mtx-simpleslides.lua')
-rw-r--r--macros/context/contrib/context-simpleslides/context-simpleslides/scripts/context/lua/third/simpleslides/mtx-simpleslides.lua220
1 files changed, 220 insertions, 0 deletions
diff --git a/macros/context/contrib/context-simpleslides/context-simpleslides/scripts/context/lua/third/simpleslides/mtx-simpleslides.lua b/macros/context/contrib/context-simpleslides/context-simpleslides/scripts/context/lua/third/simpleslides/mtx-simpleslides.lua
new file mode 100644
index 0000000000..aeb566338c
--- /dev/null
+++ b/macros/context/contrib/context-simpleslides/context-simpleslides/scripts/context/lua/third/simpleslides/mtx-simpleslides.lua
@@ -0,0 +1,220 @@
+if not modules then modules = { } end modules ['mtx-simplestyles'] = {
+ version = 0.1,
+ comment = "Show a particular style of simpleslides module",
+ author = "Aditya Mahajan and Thomas A. Schmitz",
+ copyright = "Aditya Mahajan and Thomas A. Schmitz",
+ license = "GNU Public License v 2.0"
+}
+
+-- Usage: To generate all variations for BigNumber use
+-- mtxrun --script simpleslides --style=BigNumber
+-- To generate all variations of all styles use
+-- mtxrun --script simpleslides --all
+--
+-- By default, luatex engine is used. If you want a specific engine, you can
+-- pass --engine=pdftex or --engine=xetex to the program.
+
+third = third or {}
+simpleslides = third.simpleslides or {}
+
+simpleslides.options = {
+ ["BigNumber"] ={color={"blue", "red"}},
+ ["BottomSquares"] ={},
+ ["Boxed"] ={},
+ ["BoxedTitle"] ={},
+ ["Ellipse"] ={},
+ ["Embossed"] ={},
+ ["Framed"] ={alternative={"square", "stripe"}},
+ ["FramedTitle"] ={},
+ ["HorizontalStripes"] ={color={"blue", "green", "red"}},
+ ["NarrowStripes"] ={color={"blue", "green", "red"}},
+ ["PlainCounter"] ={},
+ ["RainbowStripe"] ={},
+ ["Rounded"] ={},
+ ["Shaded"] ={color={"blue", "green", "bluered"}},
+ ["SideSquares"] ={},
+ ["Split"] ={},
+ ["Sunrise"] ={},
+ ["Swoosh"] ={},
+ ["ThickStripes"] ={},
+}
+
+function simpleslides.setup(style, color, alternative)
+ local usemodule = "\\usemodule[simpleslides]\n"
+ local options = ""
+ if style then options = options .. "style=" ..style.. ",\n" end
+ if color then options = options .. "color=" ..color.. ",\n" end
+ if alternative then options = options .. "alternative="..alternative..",\n" end
+ return usemodule .. "[" .. options .. "]\n"
+end
+
+simpleslides.body = [[
+\setupTitle
+ [title={Presentation Title},
+ author={F.~Author, S.~Another},
+ date={Date / Occasion}]
+
+\setupexternalfigures[location={local,global,default}]
+
+\starttext
+
+\placeTitle
+
+
+\SlideTitle{Make Titles Informative}
+
+\startitemize
+ \item Use bullets points when appropriate.
+ \item Use pictures when possible
+ \item Do not put too much information on one slide
+\stopitemize
+
+\IncludePicture
+ [horizontal]
+ [cow] % Name of the image
+ {A Dutch Cow} % Title of the slide
+
+\IncludePicture
+ [horizontal]
+ [cow] % Name of the image
+ [highlight=yes,
+ grid=yes]
+ {A Dutch Cow with a grid} % Title of the slide
+
+\IncludePicture
+ [horizontal]
+ [cow] % Name of the image
+ [highlight=yes,
+ grid=yes,
+ steps=5, % Each grid block is broken into these many parts.
+ subgrid=yes]
+ {A Dutch Cow with a fine grid} % Title of the slide
+
+\IncludePicture
+ [horizontal]
+ [cow] % Name of the image
+ [highlight=yes,
+ grid=yes,
+ subgrid=yes,
+ alternative=circle,
+ color=orange,
+ x=1.4,
+ y=8.2,
+ xscale=1.5,
+ shadow=bottomleft]
+ {The head of a dutch cow}
+
+
+\IncludePicture
+ [horizontal]
+ [cow] % Name of the image
+ [highlight=yes,
+ grid=no,
+ subgrid=no,
+ alternative=circle,
+ color=orange,
+ x=1.4,
+ y=8.2,
+ xscale=1.5,
+ shadow=bottomleft]
+ {The head of a dutch cow}
+
+\IncludePicture
+ [horizontal]
+ [cow] % Name of the image
+ [highlight=yes,
+ grid=no,
+ subgrid=no,
+ alternative=arrow,
+ color=orange,
+ x=0.4,
+ y=6.8,
+ direction=-90,
+ length=3cm,
+ shadow=topright]
+ {The mouth of a dutch cow}
+
+\IncludePicture
+ [horizontal]
+ [cow] % Name of the image
+ [highlight=yes,
+ grid=no,
+ subgrid=no,
+ alternative=focus,
+ color=orange,
+ x=1.4,
+ y=8.2,
+ xscale=1.5,
+ opacity=0.5]
+ {The head of a dutch cow}
+
+\IncludePicture
+ [vertical]
+ [mill]
+ [width=\NormalWidth]
+ {The windmills are an example of a green energy source.}
+
+\SlideTitle{Summary}
+
+\startitemize
+ \item The {\em first main message} of your talk in one or two lines.
+ \item The {\em second main message} of your talk in one or two lines.
+ \item Perhaps a {\em third message}, but not more than that.
+\stopitemize
+
+\stoptext
+]]
+
+local engine = environment.argument("engine") or "luatex"
+local command = "context --" .. engine -- .. " --batchmode"
+local styles = environment.argument("styles")
+local filename = "styles/simpleslides-example.tex"
+
+function simpleslides.create_test(style, color, alternative)
+ local file = assert(io.open(filename, "w"))
+ file:write(simpleslides.setup(style,color,alternative))
+ file:write(simpleslides.body)
+ assert(io.close(file))
+ local result = "--result=styles/"..style
+ if color then result = result .. "-" .. color end
+ if alternative then result = result .. "-" .. alternative end
+ local str = command .. " " .. filename .. " " .. result
+ logs.report("simpleslides", "executing " .. str)
+ os.execute(str)
+end
+
+function simpleslides.show_style(style)
+ if simpleslides.options[style] then
+ local colors = simpleslides.options[style].color
+ local bottoms = simpleslides.options[style].alternative
+ if colors then
+ for i,color in pairs(colors) do
+ if bottoms then
+ for j,alternative in pairs(bottoms) do
+ simpleslides.create_test(style,color,alternative)
+ end
+ else
+ simpleslides.create_test(style,color,nil)
+ end
+ end
+ else
+ if bottoms then
+ for j,alternative in pairs(bottoms) do
+ simpleslides.create_test(style,nil,alternative)
+ end
+ else
+ simpleslides.create_test(style,nil,nil)
+ end
+ end
+ else
+ logs.report("simplestyles", "style \"" .. style .. "\" does not exist")
+ end
+end
+
+if styles == "all" then
+ for s,i in pairs(simpleslides.options) do
+ simpleslides.show_style(s)
+ end
+else
+ simpleslides.show_style(styles)
+end