summaryrefslogtreecommitdiff
path: root/tex/context/modules
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2018-01-12 08:12:50 +0100
committerContext Git Mirror Bot <phg42.2a@gmail.com>2018-01-12 08:12:50 +0100
commitd0edf3e90e8922d9c672f24ecdc5d44fe2716f31 (patch)
tree5b618b87aa5078a8c744c94bbf058d69cd7111b2 /tex/context/modules
parent409a95f63883bd3b91699d39645e39a8a761457c (diff)
downloadcontext-d0edf3e90e8922d9c672f24ecdc5d44fe2716f31.tar.gz
2018-01-08 23:11:00
Diffstat (limited to 'tex/context/modules')
-rw-r--r--tex/context/modules/mkiv/m-timing.mkiv2
-rw-r--r--tex/context/modules/mkiv/m-typesetting.mkiv92
-rw-r--r--tex/context/modules/mkiv/s-evohome.mkiv24
-rw-r--r--tex/context/modules/mkiv/s-fonts-ligatures.mkiv4
-rw-r--r--tex/context/modules/mkiv/s-fonts-variable.mkiv12
-rw-r--r--tex/context/modules/mkiv/s-youless.mkiv228
-rw-r--r--tex/context/modules/mkiv/x-asciimath.lua2
-rw-r--r--tex/context/modules/mkiv/x-calcmath.lua1
-rw-r--r--tex/context/modules/mkiv/x-cals.lua2
-rw-r--r--tex/context/modules/mkiv/x-setups-basics.mkiv143
-rw-r--r--tex/context/modules/mkiv/x-setups-overview.mkiv67
11 files changed, 349 insertions, 228 deletions
diff --git a/tex/context/modules/mkiv/m-timing.mkiv b/tex/context/modules/mkiv/m-timing.mkiv
index 5502768f6..404d5bae0 100644
--- a/tex/context/modules/mkiv/m-timing.mkiv
+++ b/tex/context/modules/mkiv/m-timing.mkiv
@@ -31,7 +31,7 @@
\definecolor[usage:time] [darkblue]
\definecolor[usage:frame][darkgray]
-\ctxloadluafile{trac-tim}{}
+\ctxloadluafile{trac-tim}
\startluacode
local progress = moduledata.progress
diff --git a/tex/context/modules/mkiv/m-typesetting.mkiv b/tex/context/modules/mkiv/m-typesetting.mkiv
index 34713fa38..56cf85bbe 100644
--- a/tex/context/modules/mkiv/m-typesetting.mkiv
+++ b/tex/context/modules/mkiv/m-typesetting.mkiv
@@ -21,19 +21,30 @@
\definecombination
[fourpages]
+ [twopages]
[distance=.5\bodyfontsize,
width=\textwidth]
\definecombination
[sixpages]
+ [twopages]
[distance=.5\bodyfontsize,
width=\textwidth]
+\definemeasure[firstpages][\dimexpr\dimexpr\textwidth-1 \bodyfontsize\relax/2\relax]
\definemeasure[twopages] [\dimexpr\dimexpr\textwidth-3 \bodyfontsize\relax/4\relax]
\definemeasure[fourpages] [\dimexpr\dimexpr\textwidth-3 \bodyfontsize\relax/4\relax]
\definemeasure[sixpages] [\dimexpr\dimexpr\textwidth-2.5\bodyfontsize\relax/6\relax]
\definemeasure[eightpages][\dimexpr\dimexpr\textwidth-3 \bodyfontsize\relax/4\relax]
+\starttexdefinition unexpanded WhenValidPage#1
+ \ifnum#1>\noffigurepages\relax
+ \expandafter\gobbleoneargument
+ \else
+ \expandafter\firstofoneargument
+ \fi
+\stoptexdefinition
+
\starttexdefinition unexpanded OnePage #1
\startlinecorrection[blank]
\startcombination[twopages][1*1]
@@ -42,6 +53,15 @@
\stoplinecorrection
\stoptexdefinition
+\starttexdefinition unexpanded FirstPages #1
+ \startlinecorrection[blank]
+ \startcombination[twopages][2*1]
+ {\typesetfile[#1.tex][page=1,width=\measure{firstpages}]} {1}
+ {\typesetfile[#1.tex][page=2,width=\measure{firstpages}]} {2}
+ \stopcombination
+ \stoplinecorrection
+\stoptexdefinition
+
\starttexdefinition unexpanded OneSpread #1
\startlinecorrection[blank]
\startcombination[twopages][1*1]
@@ -71,10 +91,10 @@
\starttexdefinition unexpanded FourPages #1
\startlinecorrection[blank]
\startcombination[fourpages][4*1]
- {\typesetfile[#1.tex][page=1,width=\measure{fourpages}]} {1}
- {\typesetfile[#1.tex][page=2,width=\measure{fourpages}]} {2}
- {\typesetfile[#1.tex][page=3,width=\measure{fourpages}]} {3}
- {\typesetfile[#1.tex][page=4,width=\measure{fourpages}]} {4}
+ {\typesetfile[#1.tex][page=1,width=\measure{fourpages}]} {1}
+ {\WhenValidPage{2}{\typesetfile[#1.tex][page=2,width=\measure{fourpages}]}} {\WhenValidPage{2}{2}}
+ {\WhenValidPage{3}{\typesetfile[#1.tex][page=3,width=\measure{fourpages}]}} {\WhenValidPage{3}{3}}
+ {\WhenValidPage{4}{\typesetfile[#1.tex][page=4,width=\measure{fourpages}]}} {\WhenValidPage{4}{4}}
\stopcombination
\stoplinecorrection
\stoptexdefinition
@@ -82,10 +102,10 @@
\starttexdefinition unexpanded FourSpread #1
\startlinecorrection[blank]
\startcombination[fourpages][4*1]
- {\typesetfile[#1.tex][page=2,width=\measure{fourpages}]} {2}
- {\typesetfile[#1.tex][page=3,width=\measure{fourpages}]} {3}
- {\typesetfile[#1.tex][page=4,width=\measure{fourpages}]} {4}
- {\typesetfile[#1.tex][page=5,width=\measure{fourpages}]} {5}
+ {\typesetfile[#1.tex][page=2,width=\measure{fourpages}]} {2}
+ {\WhenValidPage{3}{\typesetfile[#1.tex][page=3,width=\measure{fourpages}]}} {\WhenValidPage{3}{3}}
+ {\WhenValidPage{4}{\typesetfile[#1.tex][page=4,width=\measure{fourpages}]}} {\WhenValidPage{4}{4}}
+ {\WhenValidPage{5}{\typesetfile[#1.tex][page=5,width=\measure{fourpages}]}} {\WhenValidPage{5}{5}}
\stopcombination
\stoplinecorrection
\stoptexdefinition
@@ -93,12 +113,12 @@
\starttexdefinition unexpanded SixPages #1
\startlinecorrection[blank]
\startcombination[sixpages][6*1]
- {\typesetfile[#1.tex][page=1,width=\measure{sixpages}]} {1}
- {\typesetfile[#1.tex][page=2,width=\measure{sixpages}]} {2}
- {\typesetfile[#1.tex][page=3,width=\measure{sixpages}]} {3}
- {\typesetfile[#1.tex][page=4,width=\measure{sixpages}]} {4}
- {\typesetfile[#1.tex][page=5,width=\measure{sixpages}]} {5}
- {\typesetfile[#1.tex][page=6,width=\measure{sixpages}]} {6}
+ {\typesetfile[#1.tex][page=1,width=\measure{sixpages}]} {1}
+ {\WhenValidPage{2}{\typesetfile[#1.tex][page=2,width=\measure{sixpages}]}} {\WhenValidPage{2}{2}}
+ {\WhenValidPage{3}{\typesetfile[#1.tex][page=3,width=\measure{sixpages}]}} {\WhenValidPage{3}{3}}
+ {\WhenValidPage{4}{\typesetfile[#1.tex][page=4,width=\measure{sixpages}]}} {\WhenValidPage{4}{4}}
+ {\WhenValidPage{5}{\typesetfile[#1.tex][page=5,width=\measure{sixpages}]}} {\WhenValidPage{5}{5}}
+ {\WhenValidPage{6}{\typesetfile[#1.tex][page=6,width=\measure{sixpages}]}} {\WhenValidPage{6}{6}}
\stopcombination
\stoplinecorrection
\stoptexdefinition
@@ -106,12 +126,12 @@
\starttexdefinition unexpanded SixSpread #1
\startlinecorrection[blank]
\startcombination[sixpages][6*1]
- {\typesetfile[#1.tex][page=2,width=\measure{sixpages}]} {2}
- {\typesetfile[#1.tex][page=3,width=\measure{sixpages}]} {3}
- {\typesetfile[#1.tex][page=4,width=\measure{sixpages}]} {4}
- {\typesetfile[#1.tex][page=5,width=\measure{sixpages}]} {5}
- {\typesetfile[#1.tex][page=6,width=\measure{sixpages}]} {6}
- {\typesetfile[#1.tex][page=7,width=\measure{sixpages}]} {7}
+ {\typesetfile[#1.tex][page=2,width=\measure{sixpages}]} {2}
+ {\WhenValidPage{3}{\typesetfile[#1.tex][page=3,width=\measure{sixpages}]}} {\WhenValidPage{3}{3}}
+ {\WhenValidPage{4}{\typesetfile[#1.tex][page=4,width=\measure{sixpages}]}} {\WhenValidPage{4}{4}}
+ {\WhenValidPage{5}{\typesetfile[#1.tex][page=5,width=\measure{sixpages}]}} {\WhenValidPage{5}{5}}
+ {\WhenValidPage{6}{\typesetfile[#1.tex][page=6,width=\measure{sixpages}]}} {\WhenValidPage{6}{6}}
+ {\WhenValidPage{7}{\typesetfile[#1.tex][page=7,width=\measure{sixpages}]}} {\WhenValidPage{7}{7}}
\stopcombination
\stoplinecorrection
\stoptexdefinition
@@ -119,14 +139,14 @@
\starttexdefinition unexpanded EightPages #1
\startlinecorrection[blank]
\startcombination[fourpages][4*2]
- {\typesetfile[#1.tex][page=1,width=\measure{eightpages}]} {#1 / 1}
- {\typesetfile[#1.tex][page=2,width=\measure{eightpages}]} {#1 / 2}
- {\typesetfile[#1.tex][page=3,width=\measure{eightpages}]} {#1 / 3}
- {\typesetfile[#1.tex][page=4,width=\measure{eightpages}]} {#1 / 4}
- {\typesetfile[#1.tex][page=5,width=\measure{eightpages}]} {#1 / 5}
- {\typesetfile[#1.tex][page=6,width=\measure{eightpages}]} {#1 / 6}
- {\typesetfile[#1.tex][page=7,width=\measure{eightpages}]} {#1 / 7}
- {\typesetfile[#1.tex][page=8,width=\measure{eightpages}]} {#1 / 8}
+ {\typesetfile[#1.tex][page=1,width=\measure{eightpages}]} {#1 / 1}
+ {\WhenValidPage{2}{\typesetfile[#1.tex][page=2,width=\measure{eightpages}]}} {\WhenValidPage{2}{#1 / 2}}
+ {\WhenValidPage{3}{\typesetfile[#1.tex][page=3,width=\measure{eightpages}]}} {\WhenValidPage{3}{#1 / 3}}
+ {\WhenValidPage{4}{\typesetfile[#1.tex][page=4,width=\measure{eightpages}]}} {\WhenValidPage{4}{#1 / 4}}
+ {\WhenValidPage{5}{\typesetfile[#1.tex][page=5,width=\measure{eightpages}]}} {\WhenValidPage{5}{#1 / 5}}
+ {\WhenValidPage{6}{\typesetfile[#1.tex][page=6,width=\measure{eightpages}]}} {\WhenValidPage{6}{#1 / 6}}
+ {\WhenValidPage{7}{\typesetfile[#1.tex][page=7,width=\measure{eightpages}]}} {\WhenValidPage{7}{#1 / 7}}
+ {\WhenValidPage{8}{\typesetfile[#1.tex][page=8,width=\measure{eightpages}]}} {\WhenValidPage{8}{#1 / 8}}
\stopcombination
\stoplinecorrection
\stoptexdefinition
@@ -134,14 +154,14 @@
\starttexdefinition unexpanded EightSpread #1
\startlinecorrection[blank]
\startcombination[fourpages][4*2]
- {\typesetfile[#1.tex][page=2,width=\measure{eightpages}]} {#1 / 2}
- {\typesetfile[#1.tex][page=3,width=\measure{eightpages}]} {#1 / 3}
- {\typesetfile[#1.tex][page=4,width=\measure{eightpages}]} {#1 / 4}
- {\typesetfile[#1.tex][page=5,width=\measure{eightpages}]} {#1 / 5}
- {\typesetfile[#1.tex][page=6,width=\measure{eightpages}]} {#1 / 6}
- {\typesetfile[#1.tex][page=7,width=\measure{eightpages}]} {#1 / 7}
- {\typesetfile[#1.tex][page=8,width=\measure{eightpages}]} {#1 / 8}
- {\typesetfile[#1.tex][page=9,width=\measure{eightpages}]} {#1 / 9}
+ {\typesetfile[#1.tex][page=2,width=\measure{eightpages}]} {#1 / 2}
+ {\WhenValidPage{3}{\typesetfile[#1.tex][page=3,width=\measure{eightpages}]}} {\WhenValidPage{3}{#1 / 3}}
+ {\WhenValidPage{4}{\typesetfile[#1.tex][page=4,width=\measure{eightpages}]}} {\WhenValidPage{4}{#1 / 4}}
+ {\WhenValidPage{5}{\typesetfile[#1.tex][page=5,width=\measure{eightpages}]}} {\WhenValidPage{5}{#1 / 5}}
+ {\WhenValidPage{6}{\typesetfile[#1.tex][page=6,width=\measure{eightpages}]}} {\WhenValidPage{6}{#1 / 6}}
+ {\WhenValidPage{7}{\typesetfile[#1.tex][page=7,width=\measure{eightpages}]}} {\WhenValidPage{7}{#1 / 7}}
+ {\WhenValidPage{8}{\typesetfile[#1.tex][page=8,width=\measure{eightpages}]}} {\WhenValidPage{8}{#1 / 8}}
+ {\WhenValidPage{9}{\typesetfile[#1.tex][page=9,width=\measure{eightpages}]}} {\WhenValidPage{9}{#1 / 9}}
\stopcombination
\stoplinecorrection
\stoptexdefinition
diff --git a/tex/context/modules/mkiv/s-evohome.mkiv b/tex/context/modules/mkiv/s-evohome.mkiv
index e5c2ae6bb..1b1dc2c81 100644
--- a/tex/context/modules/mkiv/s-evohome.mkiv
+++ b/tex/context/modules/mkiv/s-evohome.mkiv
@@ -11,25 +11,20 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-% in cronjob on one of the servers:
-%
-% mtxrun --script youless --collect --host=192.168.2.50 --watt youless-watt.lua
-% mtxrun --script youless --collect --host=192.168.2.50 --kwk youless-kwh.lua
-
\setupbodyfont[dejavu]
\starttext
\startluacode
-require("util-evo")
+local evohome = require("util-evo")
moduledata.evohome = { }
function moduledata.evohome.status(specification)
- local presets = utilities.evohome.loadpresets(specification.presets)
- local zones = utilities.evohome.loadtemperatures(presets)
+ local presets = evohome.helpers.loadpresets(specification.presets)
+ local zones = evohome.helpers.loadtemperatures(presets)
-- todo : time
@@ -65,8 +60,9 @@ function moduledata.evohome.status(specification)
for i=1,#zones do
local zone = zones[i]
- local data = utilities.evohome.getzonestate(presets,zone.name)
- local schedule = data.schedule or { }
+-- evohome.helpers.updatezone(presets,zone.name)
+ local data = evohome.helpers.getzonestate(presets,zone.name)
+ local schedule = data and data.schedule or { }
context.startsubject { title = zone.name }
context.starttabulate { "|l|c|c|" }
context.BC() context("day")
@@ -101,8 +97,8 @@ end
function moduledata.evohome.history(specification)
- local presets = utilities.evohome.loadpresets(specification.presets)
- local zones = utilities.evohome.loadtemperatures(presets)
+ local presets = evohome.helpers.loadpresets(specification.presets)
+ local zones = evohome.helpers.loadtemperatures(presets)
if not zones then
context("no zones")
@@ -110,7 +106,7 @@ function moduledata.evohome.history(specification)
return
end
- local data = utilities.evohome.loadhistory(presets)
+ local data = evohome.helpers.loadhistory(presets)
if not zones then
context("no history")
@@ -279,7 +275,7 @@ end
local specification = {
year = 2017,
-- month = 11,
- presets = "c:/data/develop/domotica/code/evohome-presets.lua",
+ presets = "c:/data/develop/domotica/evohome/evohome-presets.lua",
}
moduledata.evohome.status (specification)
diff --git a/tex/context/modules/mkiv/s-fonts-ligatures.mkiv b/tex/context/modules/mkiv/s-fonts-ligatures.mkiv
index fc49ec5c5..6a5da48ea 100644
--- a/tex/context/modules/mkiv/s-fonts-ligatures.mkiv
+++ b/tex/context/modules/mkiv/s-fonts-ligatures.mkiv
@@ -156,12 +156,12 @@
\stoptexdefinition
\starttexdefinition showotfligaturesexample #1#2
- \ctxlua{document.currentdiscexpansion = fonts.getdiscexpansion()}%
+ % \ctxlua{document.currentdiscexpansion = fonts.getdiscexpansion()}%
\showotfligaturescaptions {#1}
\showotfligatureslines {#2}
\showotfligaturesparagraphs{#2}
\showotfligaturesextremes {#2}
- \ctxlua{fonts.setdiscexpansion(document.currentdiscexpansion)}%
+ % \ctxlua{fonts.setdiscexpansion(document.currentdiscexpansion)}%
\stoptexdefinition
% todo: n -> and split in lua
diff --git a/tex/context/modules/mkiv/s-fonts-variable.mkiv b/tex/context/modules/mkiv/s-fonts-variable.mkiv
index 1a826314d..5c9d53d33 100644
--- a/tex/context/modules/mkiv/s-fonts-variable.mkiv
+++ b/tex/context/modules/mkiv/s-fonts-variable.mkiv
@@ -73,10 +73,6 @@
\stopbuffer
\showfontvariations
- [font=file:VotoSerifGX.ttf,
- ]% max=6]
-
- \showfontvariations
[font=file:adobevfprototype.otf]
\showfontvariations
@@ -85,9 +81,9 @@
\showfontvariations
[font=file:DecoVar-VF.ttf]
- \showfontvariations
- [font=file:VotoSerifGX.ttf,
- max=15]
+ % \showfontvariations
+ % [font=file:VotoSerifGX.ttf,
+ % max=15]
\showfontvariations
[font=file:Selawik-Variable.ttf]
@@ -109,6 +105,6 @@
% [font=file:AmstelvarAlpha-VF.ttf]
\showfontvariations
- [font=file:bahnshrift.ttf]
+ [font=file:bahnschrift.ttf]
\stoptext
diff --git a/tex/context/modules/mkiv/s-youless.mkiv b/tex/context/modules/mkiv/s-youless.mkiv
index e15973b9c..d8b6e2ff6 100644
--- a/tex/context/modules/mkiv/s-youless.mkiv
+++ b/tex/context/modules/mkiv/s-youless.mkiv
@@ -23,125 +23,165 @@
% in cronjob on one of the servers:
%
-% mtxrun --script youless --collect --host=192.168.2.50 --watt youless-watt.lua
-% mtxrun --script youless --collect --host=192.168.2.50 --kwk youless-kwh.lua
+% mtxrun --script youless --collect --host=192.168.2.50 --nobackup --electricity youless-electricity.lua
\startluacode
require("util-you")
- moduledata.youless = { }
+ local round = math.round
- function moduledata.youless.kwh(specification)
- -- todo
- end
+ moduledata.youless = { }
- function moduledata.youless.watt(specification)
+ local function process(specification)
- local year = tonumber(specification.year) or os.today().year
- local data = table.load(specification.filename or "youless-watt.lua")
+ local data, message = utilities.youless.analyze(specification.filename or "youless-electricity.lua")
- if not data or data.variant ~= "watt" then
- context("invalid variant")
+ if not data then
+ context(message)
return
end
- utilities.youless.analyze(data)
-
- -- for the moment no specific font scaling
-
- local years = data.years
-
- if not years then
- context("no years")
- return
+ local year = tonumber(specification.year) or os.today().year
+ local years = data.years
+ local variant = data.variant
+ local unit = specification.unit
+ local maxunit = specification.maxunit
+
+ local max = specification[maxunit]
+
+ if not max then
+ if unit == "watt" then
+ max = 10000
+ elseif unit == "liters" then
+ max = 1000
+ else
+ max = 5000 -- can't happen
+ end
end
- for y=year,year do
-
- local year = years[y]
- local scale = 20
- local mark = 3
- local maxwatt = specification.maxwatt or year.maxwatt
-
- for m=1,12 do
- local month = year.months[m]
- if month then
- context.startMPpage { offset = "10pt" }
- context("linecap := butt; pickup pencircle scaled .5")
+ local max = max
+ local delta = round(max/10)
+ local scale = round(delta/20)
+ local mark = 3
- for i=0,(math.div(maxwatt,1000)+1)*1000,100 do
- context("draw (%s,%s) -- (%s,%s) withcolor .6white ;",0,i/scale,31 * 24,i/scale)
- end
+ for y=year,year do
+ local year = years[y]
+ if year then
+ local grand = 0
+ for m=1,12 do
+ local month = year.months[m]
+ if month then
+ context.startMPpage { offset = "10pt" }
+ context("linecap := butt; pickup pencircle scaled .5")
+
+ for i=0,(math.div(max,delta)+1)*delta,delta/10 do
+ context("draw (%s,%s) -- (%s,%s) withcolor .6white ;",0,i/scale,31 * 24,i/scale)
+ end
- context("draw (0,%s) -- (31 * 24,%s) dashed dashpattern(on 6 off 6) withcolor darkgreen withpen pencircle scaled 1 ;",year.watt /scale,year.watt /scale)
- context("draw (0,%s) -- (31 * 24,%s) dashed dashpattern(off 6 on 6) withcolor darkred withpen pencircle scaled 1 ;",month.watt/scale,month.watt/scale)
-
- local days = month.days
- if days then
- local nd = os.nofdays(y,m)
- for d=1,nd do
- local day = days[d]
- local xoffset = (d-1) * 24
- local wd = os.weekday(d,m,y)
- local weekend = wd == 1 or wd == 7
- if not weekend then
- -- okay
- elseif mark == 1 then
- context("draw (%s,%s) -- (%s,%s) ; ",xoffset, -17.5,xoffset, -32.5)
- context("draw (%s,%s) -- (%s,%s) ; ",xoffset+24,-17.5,xoffset+24,-32.5)
- elseif mark == 2 then
- context("draw (%s,%s) -- (%s,%s) ; ",xoffset, -17.5,xoffset+24,-17.5)
- context("draw (%s,%s) -- (%s,%s) ; ",xoffset, -32.5,xoffset+24,-32.5)
- elseif mark == 3 then
- context("draw unitsquare xysized (%s,%s) shifted (%s,%s) ; ",24,15,xoffset,-32.5)
- end
- context([[draw textext("%s") shifted (%s,%s) ; ]],d,xoffset + 12,-25)
- if day then
- for h=0,23 do
- local hours = day.hours
- if hours then
- local hour = hours[h]
- if hour then
- local dx = xoffset + h
- local dy = hour.watt/scale
- local dm = hour.maxwatt/scale
- context("draw (%s,%s) -- (%s,%s) withcolor %s ; ",dx, 0,dx,dy,weekend and "darkmagenta" or "darkblue")
- context("draw (%s,%s) -- (%s,%s) withcolor %s ; ",dx,dy,dx,dm,"darkgray")
+ context("draw (0,%s) -- (31 * 24,%s) dashed dashpattern(on 6 off 6) withcolor darkgreen withpen pencircle scaled 1 ;",year [unit]/scale,year [unit]/scale)
+ context("draw (0,%s) -- (31 * 24,%s) dashed dashpattern(off 6 on 6) withcolor darkred withpen pencircle scaled 1 ;",month[unit]/scale,month[unit]/scale)
+
+ local days = month.days
+ local total = 0
+ if days then
+ local nd = os.nofdays(y,m)
+ for d=1,nd do
+ local day = days[d]
+ local xoffset = (d-1) * 24
+ local wd = os.weekday(d,m,y)
+ local weekend = wd == 1 or wd == 7
+ if not weekend then
+ -- okay
+ elseif mark == 1 then
+ context("draw (%s,%s) -- (%s,%s) ; ",xoffset, -17.5,xoffset, -32.5)
+ context("draw (%s,%s) -- (%s,%s) ; ",xoffset+24,-17.5,xoffset+24,-32.5)
+ elseif mark == 2 then
+ context("draw (%s,%s) -- (%s,%s) ;",xoffset, -17.5,xoffset+24,-17.5)
+ context("draw (%s,%s) -- (%s,%s) ;",xoffset, -32.5,xoffset+24,-32.5)
+ elseif mark == 3 then
+ context("draw unitsquare xysized (%s,%s) shifted (%s,%s) ;",24,15,xoffset,-32.5)
+ end
+ context([[draw textext("\strut%s") shifted (%s,%s) ;]],d,xoffset + 12,-25)
+ if day then
+ for h=0,23 do
+ local hours = day.hours
+ if hours then
+ local hour = hours[h]
+ if hour then
+ local dx = xoffset + h
+ local dy = hour[unit]/scale
+ local dm = hour[maxunit]/scale
+ context("draw (%s,%s) -- (%s,%s) withcolor %s ;",dx, 0,dx,dy,weekend and "darkmagenta" or "darkblue")
+ context("draw (%s,%s) -- (%s,%s) withcolor %s ;",dx,dy,dx,dm,"darkgray")
+ end
end
end
+ local use = day.total
+ if use then
+ context([[draw textext("\strut\small\small\small%0.1f") shifted (%s,%s) ;]],use/1000,xoffset + 12,-7.5)
+ total = total + use
+ end
end
end
+ for d=0,30 do
+ local xoffset = d * 24
+ context("draw (%s,%s) -- (%s,%s) withcolor darkgray ;",xoffset+ 0,0,xoffset+ 0,-10)
+ context("draw (%s,%s) -- (%s,%s) withcolor darkgray ;",xoffset+ 6,0,xoffset+ 6,-2.5)
+ context("draw (%s,%s) -- (%s,%s) withcolor darkgray ;",xoffset+12,0,xoffset+12,-5)
+ context("draw (%s,%s) -- (%s,%s) withcolor darkgray ;",xoffset+18,0,xoffset+18,-2.5)
+ end
+ local xoffset = 31 * 24
+ context("draw (%s,%s) -- (%s,%s) withcolor darkgray ;",xoffset,0,xoffset,-10)
end
- for d=0,30 do
- local xoffset = d * 24
- context("draw (%s,%s) -- (%s,%s) withcolor darkgray ; ",xoffset+ 0,0,xoffset+ 0,-10)
- context("draw (%s,%s) -- (%s,%s) withcolor darkgray ; ",xoffset+ 6,0,xoffset+ 6,-2.5)
- context("draw (%s,%s) -- (%s,%s) withcolor darkgray ; ",xoffset+12,0,xoffset+12,-5)
- context("draw (%s,%s) -- (%s,%s) withcolor darkgray ; ",xoffset+18,0,xoffset+18,-2.5)
- end
- local xoffset = 31 * 24
- context("draw (%s,%s) -- (%s,%s) withcolor darkgray ; ",xoffset,0,xoffset,-10)
- end
- local max = (math.div(maxwatt,1000)+1)
+ grand = grand + total
- for i=0,max*1000,1000 do
- context([[draw textext.lft("%s") shifted (%s,%s) ; ]],i,-10,i/scale)
- context("draw (%s,%s) -- (%s,%s) withcolor .2white ;",0,i/scale,31 * 24,i/scale)
- end
+ local max = (math.div(max,delta))
+
+ for i=0,max*delta,delta do
+ if i > 0 then
+ context([[draw textext.lft("\hbox to 3.5em{\hss\strut%r}") shifted (%s,%s) ; ]],i,-10,i/scale)
+ end
+ context("draw (%s,%s) -- (%s,%s) withcolor .2white ;",0,i/scale,31 * 24,i/scale)
+ end
- context([[draw textext("\strut\month{%s}\enspace%s") shifted (%s,%s) ; ]],m, y, 31 * 24 / 2, -50)
- context([[draw textext.lft("watt") shifted (%s,%s) ; ]],-10,-25)
+ context([[draw textext ("\strut\Word{%s}\enspace\emdash\enspace\month{%s}\enspace%s") shifted (%s,%s) ; ]],variant, m, y, 31 * 24 / 2, -50)
+ context([[draw textext.lft("\hbox to 3.5em{\hss\strut%s}") shifted (%s,%s) ; ]],unit,-10,-25)
+ context([[draw textext.lft("\hbox to 3.5em{\hss\strut\small\small\small%0.1f %s}") shifted (%s,%s) ;]],total/1000,unit == "watt" and "kWh" or [[m\high{3}]],-10, -7.5)
+ context([[draw textext.lft("\hbox to 3.5em{\hss\strut\small\small\small\Sigma\nbsp%0.1f %s}") shifted (%s,%s) ;]],grand/1000,unit == "watt" and "kWh" or [[m\high{3}]],-10,-50.0)
- context.stopMPpage()
- else
- -- maybe placeholder
+ context.stopMPpage()
+ else
+ -- maybe placeholder
+ end
end
end
-
end
+ end
+
+ function moduledata.youless.kwh(specification)
+ -- todo
+ end
+
+ function moduledata.youless.electricity(specification)
+ specification.unit = "watt"
+ specification.maxunit = "maxwatt"
+ process(specification)
+ end
+
+ moduledata.youless.watt = moduledata.youless.electricity
+
+ function moduledata.youless.gas(specification)
+ specification.unit = "liters"
+ specification.maxunit = "maxliters"
+ process(specification)
+ end
+ function moduledata.youless.pulse(specification)
+ specification.unit = "watt"
+ specification.maxunit = "maxwatt"
+ process(specification)
end
\stopluacode
@@ -160,11 +200,11 @@
\startluacode
- -- os.execute([[mtxrun --script youless --collect --watt "c:/data/system/youless/data/youless-watt.lua"]])
- -- os.execute([[mtxrun --script youless --collect --watt --nobackup "c:/data/system/youless/data/youless-watt.lua"]])
- -- moduledata.youless.watt { year = 2013, filename = "c:/data/system/youless/data/youless-watt.lua" }
+ -- os.execute([[mtxrun --script youless --collect --electricity "c:/data/system/youless/data/youless-electricity.lua"]])
+ -- os.execute([[mtxrun --script youless --collect --electricity --nobackup "c:/data/system/youless/data/youless-electricity.lua"]])
+ -- moduledata.youless.electricity { year = 2017, filename = "c:/data/system/youless/data/youless-electricity.lua" }
- moduledata.youless.watt { year = 2013, filename = "youless-watt.lua" }
+ moduledata.youless.electricity { year = 2017, filename = "youless-electricity.lua" }
\stopluacode
diff --git a/tex/context/modules/mkiv/x-asciimath.lua b/tex/context/modules/mkiv/x-asciimath.lua
index eed69d1f2..794cddbd1 100644
--- a/tex/context/modules/mkiv/x-asciimath.lua
+++ b/tex/context/modules/mkiv/x-asciimath.lua
@@ -35,7 +35,7 @@ if not characters then
require("char-ent")
end
-local type, rawget = type, rawget
+local rawget, next, type = rawget, next, type
local concat, insert, remove = table.concat, table.insert, table.remove
local rep, gmatch, gsub, find = string.rep, string.gmatch, string.gsub, string.find
local utfchar, utfbyte = utf.char, utf.byte
diff --git a/tex/context/modules/mkiv/x-calcmath.lua b/tex/context/modules/mkiv/x-calcmath.lua
index c96d8d0ac..41a43cacd 100644
--- a/tex/context/modules/mkiv/x-calcmath.lua
+++ b/tex/context/modules/mkiv/x-calcmath.lua
@@ -8,6 +8,7 @@ if not modules then modules = { } end modules ['x-calcmath'] = {
-- this really needs to be redone
+local next, type = next, type
local format, lower, upper, gsub, sub = string.format, string.lower, string.upper, string.gsub, string.sub
local concat = table.concat
local lpegmatch = lpeg.match
diff --git a/tex/context/modules/mkiv/x-cals.lua b/tex/context/modules/mkiv/x-cals.lua
index ef85630da..9d54733b8 100644
--- a/tex/context/modules/mkiv/x-cals.lua
+++ b/tex/context/modules/mkiv/x-cals.lua
@@ -6,7 +6,7 @@ if not modules then modules = { } end modules ['x-cals'] = {
license = "see context related readme files"
}
-local next = next
+local next, type = next, type
local format, lower = string.format, string.lower
local xmlcprint, xmlcollected, xmlelements = xml.cprint, xml.collected, xml.elements
local n_todimen, s_todimen = number.todimen, string.todimen
diff --git a/tex/context/modules/mkiv/x-setups-basics.mkiv b/tex/context/modules/mkiv/x-setups-basics.mkiv
index 0836de76b..be96466b8 100644
--- a/tex/context/modules/mkiv/x-setups-basics.mkiv
+++ b/tex/context/modules/mkiv/x-setups-basics.mkiv
@@ -15,6 +15,14 @@
%D We can make this module a bit cleaner using more recent features or we go \LUA\
%D completely but as this style evolved over 15 years it's a waste of time.
%D
+%D
+%D Thanks to Wolfgang these descriptions have become quite complete! In the process
+%D of covering more commands and expecially different instances of the same command,
+%D either or not generated, the supporting macros became more complex. I must admit
+%D that it's not the nicest code base and whenever I have to add or patch something
+%D I have to suppress the urge to rewrite this file. It needs watching a few
+%D energetic videos (for instance with Simon Phillips drumming) to get going.
+%D
%D As we also have a help server we can make a common framework for this \unknown\
%D but even then, this file is also a test for the the \XML\ processor.
%D
@@ -25,21 +33,46 @@
%D Currently we load the \XML\ file and when not in the english interface we just
%D remap the relevant words to their translation.
-%D Todo: use lua instead of synonyms
+%D \startbuffer
+%D \usemodule[x-setups-basics]
+%D
+%D \loadsetups[context-en]
+%D
+%D \starttext
+%D
+%D \showsetup[starttyping:instance:LUA]
+%D
+%D \showsetup[starttyping:instance:typing]
+%D
+%D \showsetup[starttyping:instance:argument]
+%D
+%D \showsetup [completelistoffloats:instance:chemicals] \blank
+%D \shortsetup[completelistoffloats:instance:chemicals] \blank
+%D \basicsetup[completelistoffloats:instance:chemicals] \blank
+%D
+%D \cmdfullsetup [completelistoffloats:instance:chemicals] \blank
+%D \cmdshortsetup[completelistoffloats:instance:chemicals] \blank
+%D \cmdbasicsetup[completelistoffloats:instance:chemicals] \blank
+%D
+%D % \cmdinternal{...}
+%D
+%D \page \placeeverysetup \page
+%D \page \placeeverysetupname \page
+%D
+%D \stoptext
+%D \stopbuffer
+
+% Todo: use lua instead of synonyms
\unprotect
\defineregister
[texmacro]
-\unexpanded\def\texcommandmeaning#1{}
-\unexpanded\def\texcommandusage #1{}
-
\definesorting
[texcommand]
[texcommands]
- [\texcommandmeaning]
- [\texcommandusage]
+ [\v!none]
\setupsorting
[texcommand]
@@ -77,7 +110,6 @@
\unexpanded\def\setupalwcolor{}
\unexpanded\def\setupoptcolor{darkgray}
-% \unexpanded\def\setupvarword#1{{\sl\detokenize{#1}}}
\unexpanded\def\setupvarword#1{\detokenize{#1}}
\unexpanded\def\setupintword#1{\WORD{\detokenize{#1}}}
\unexpanded\def\setuptxtword#1{\detokenize{#1}}
@@ -150,16 +182,14 @@
\stopxmlsetups
\startxmlsetups xml:setups:register
-% \doif {\xmlatt{#1}{variant}} {instance} {
- \doifcommon {\xmlatt{#1}{variant}} {instance,instance:assignment,instance:ownnumber} {
+ \doifcommon {\xmlatt{#1}{variant}} {instance,instance:assignment,instance:ownnumber,instance:argument} {
\def\docommand##1{
\xmlsetup{#1}{xml:setups:assemblename:instance}
-% \expanded{\texcommand[stp:x:\currentSETUPfullname:##1]{{#1}{##1}}}}%
- \expanded{\texcommand[\currentSETUPfullname:##1]{{#1}{##1}}}}%
+ \expanded{\texcommand[\currentSETUPfullname:##1]{{#1}{##1}}}
+ }%
\processcommacommand[\clf_getinstances{#1}]\docommand
}
\xmlsetup{#1}{xml:setups:assemblename}
-% \expanded{\texcommand[stp:x:\currentSETUPfullname]{{#1}{}}}
\expanded{\texcommand[\currentSETUPfullname]{{#1}{}}}
\stopxmlsetups
@@ -386,7 +416,6 @@
local t = { }
local n = #entries
for i=1,n do
--- t[i] = gsub(entries[i].definition.tag,"^stp:x:","")
t[i] = entries[i].definition.tag
end
table.sort(t)
@@ -488,15 +517,12 @@
\fi}
\def\cmd_show_setup_nop#1% this will trigger 'used'
-% {\registersort[texcommand][stp:x:#1]%
{\registersort[texcommand][#1]%
\ifconditional\c_cmd_show_setup
-% \writestatus{setup}{#1 / \rawsynonymname{texcommand}{stp:x:#1}}%
\writestatus{setup}{#1 / \rawsynonymname{texcommand}{#1}}%
\fi
\startelement[setup][name=#1]%
\startelement[noexport][comment={setup definition #1}]%
-% \edef\cmd_id{\rawsynonymname{texcommand}{stp:x:#1}}%
\edef\cmd_id{\rawsynonymname{texcommand}{#1}}%
\ifx\cmd_id\empty
missing: #1
@@ -517,6 +543,17 @@
\let\placeeverysetup\placeallsetups
+\unexpanded\def\cmd_show_setup_list_basic#1#2#3%
+ {\NC\tttf#2\NC\basicsetup[#2]\NC\NR}
+
+\unexpanded\def\placeeverysetupname
+ {\placelistofsorts
+ [texcommand]
+ [\c!before={\starttabulate[|||]},
+ \c!after=\stoptabulate,
+ \c!criterium=\v!all,
+ \c!command=\cmd_show_setup_list_basic]}
+
%D Typesetting:
\startxmlsetups xml:setups:typeset
@@ -758,24 +795,25 @@
\ignorespaces
\stopxmlsetups
+\startxmlsetups xml:setups:csname \show_setup_component{#1}{csname} \stopxmlsetups
\startxmlsetups xml:setups:content \show_setup_component{#1}{content} \stopxmlsetups
-\startxmlsetups xml:setups:displaymath \show_setup_component{#1}{displaymath}\stopxmlsetups
-\startxmlsetups xml:setups:index \show_setup_component{#1}{index} \stopxmlsetups
-\startxmlsetups xml:setups:math \show_setup_component{#1}{math} \stopxmlsetups
-\startxmlsetups xml:setups:nothing \show_setup_component{#1}{nothing} \stopxmlsetups
-\startxmlsetups xml:setups:file \show_setup_component{#1}{file} \stopxmlsetups
\startxmlsetups xml:setups:position \show_setup_component{#1}{position} \stopxmlsetups
-\startxmlsetups xml:setups:reference \show_setup_component{#1}{reference} \stopxmlsetups
-\startxmlsetups xml:setups:csname \show_setup_component{#1}{csname} \stopxmlsetups
-\startxmlsetups xml:setups:destination \show_setup_component{#1}{destination}\stopxmlsetups
-\startxmlsetups xml:setups:triplet \show_setup_component{#1}{triplet} \stopxmlsetups
-\startxmlsetups xml:setups:word \show_setup_component{#1}{word} \stopxmlsetups
+\startxmlsetups xml:setups:index \show_setup_component{#1}{index} \stopxmlsetups
+\startxmlsetups xml:setups:text \show_setup_component{#1}{text} \stopxmlsetups
+\startxmlsetups xml:setups:apply \show_setup_component{#1}{apply} \stopxmlsetups
\startxmlsetups xml:setups:template \show_setup_component{#1}{template} \stopxmlsetups
+\startxmlsetups xml:setups:triplet \show_setup_component{#1}{triplet} \stopxmlsetups
\startxmlsetups xml:setups:angles \show_setup_component{#1}{angles} \stopxmlsetups
-\startxmlsetups xml:setups:apply \show_setup_component{#1}{apply} \stopxmlsetups
-\startxmlsetups xml:setups:twowords \show_setup_component{#1}{twowords} \stopxmlsetups
-\startxmlsetups xml:setups:threewords \show_setup_component{#1}{threewords} \stopxmlsetups
-\startxmlsetups xml:setups:text \show_setup_component{#1}{text} \stopxmlsetups
+
+%startxmlsetups xml:setups:displaymath \show_setup_component{#1}{displaymath}\stopxmlsetups
+%startxmlsetups xml:setups:math \show_setup_component{#1}{math} \stopxmlsetups
+%startxmlsetups xml:setups:nothing \show_setup_component{#1}{nothing} \stopxmlsetups
+%startxmlsetups xml:setups:file \show_setup_component{#1}{file} \stopxmlsetups
+%startxmlsetups xml:setups:reference \show_setup_component{#1}{reference} \stopxmlsetups
+%startxmlsetups xml:setups:destination \show_setup_component{#1}{destination}\stopxmlsetups
+%startxmlsetups xml:setups:word \show_setup_component{#1}{word} \stopxmlsetups
+%startxmlsetups xml:setups:twowords \show_setup_component{#1}{twowords} \stopxmlsetups
+%startxmlsetups xml:setups:threewords \show_setup_component{#1}{threewords} \stopxmlsetups
% todo: cd:par => \par
% todo: cd:sep => \\
@@ -928,12 +966,12 @@
\stopxmlsetups
\startxmlsetups xml:setups:inherit
-% \cmd_column_two_start{}{}
+ % \cmd_column_two_start{}{}
\rawsetupstring{cd:inherits}:
\enspace
\letterbackslash
\xmlatt{#1}{name}
-% \cmd_column_two_stop
+ % \cmd_column_two_stop
\ignorespaces
\stopxmlsetups
@@ -941,7 +979,7 @@
{\cmd_column_one_start
\cmd_internal_value{#1}%
\cmd_column_one_stop
-% \godown[.75\lineheight]
+ % \godown[.75\lineheight]
\blank[\v!samepage,\v!medium]
\ignorespaces}
@@ -1013,26 +1051,25 @@
% arguments
-\unexpanded\def\show_setup_displaymath#1{\show_setup_any {#1}{displaymath}}
-\unexpanded\def\show_setup_index #1{\show_setup_any {#1}{index}}
-\unexpanded\def\show_setup_math #1{\show_setup_any {#1}{math}}
-\unexpanded\def\show_setup_nothing #1{\show_setup_any {#1}{nothing}}
-\unexpanded\def\show_setup_file #1{\show_setup_any {#1}{file}}
-\unexpanded\def\show_setup_position #1{\show_setup_any {#1}{position}}
-\unexpanded\def\show_setup_template #1{\show_setup_any {#1}{template}}
-\unexpanded\def\show_setup_angles #1{\show_setup_any {#1}{angle}}
-\unexpanded\def\show_setup_reference #1{\show_setup_any {#1}{reference}}
-\unexpanded\def\show_setup_apply #1{\show_setup_any {#1}{apply}}
-\unexpanded\def\show_setup_twowords #1{\show_setup_any {#1}{twowords}}
-\unexpanded\def\show_setup_threewords #1{\show_setup_any {#1}{threewords}}
-\unexpanded\def\show_setup_csname #1{\show_setup_any {#1}{noargument}}
-\unexpanded\def\show_setup_destination#1{\show_setup_any {#1}{destination}}
-\unexpanded\def\show_setup_triplet #1{\show_setup_any {#1}{triplet}}
-\unexpanded\def\show_setup_word #1{\show_setup_any {#1}{word}}
-\unexpanded\def\show_setup_content #1{\show_setup_any {#1}{content}}
-\unexpanded\def\show_setup_text #1{\show_setup_any {#1}{textual}}
-\unexpanded\def\show_setup_to #1{\show_setup_line{#1}{to}}
-\unexpanded\def\show_setup_macro #1{\show_setup_any {#1}{macro}}
+\unexpanded\def\show_setup_csname #1{\show_setup_any{#1}{noargument}}
+\unexpanded\def\show_setup_content #1{\show_setup_any{#1}{content}}
+\unexpanded\def\show_setup_position #1{\show_setup_any{#1}{position}}
+\unexpanded\def\show_setup_index #1{\show_setup_any{#1}{index}}
+\unexpanded\def\show_setup_text #1{\show_setup_any{#1}{textual}}
+\unexpanded\def\show_setup_apply #1{\show_setup_any{#1}{apply}}
+\unexpanded\def\show_setup_template #1{\show_setup_any{#1}{template}}
+\unexpanded\def\show_setup_triplet #1{\show_setup_any{#1}{triplet}}
+\unexpanded\def\show_setup_angles #1{\show_setup_any{#1}{angle}}
+
+%unexpanded\def\show_setup_displaymath#1{\show_setup_any{#1}{displaymath}}
+%unexpanded\def\show_setup_math #1{\show_setup_any{#1}{math}}
+%unexpanded\def\show_setup_nothing #1{\show_setup_any{#1}{nothing}}
+%unexpanded\def\show_setup_file #1{\show_setup_any{#1}{file}}
+%unexpanded\def\show_setup_reference #1{\show_setup_any{#1}{reference}}
+%unexpanded\def\show_setup_destination#1{\show_setup_any{#1}{destination}}
+%unexpanded\def\show_setup_word #1{\show_setup_any{#1}{word}}
+%unexpanded\def\show_setup_twowords #1{\show_setup_any{#1}{twowords}}
+%unexpanded\def\show_setup_threewords #1{\show_setup_any{#1}{threewords}}
% A prelude to a rewrite and some more:
diff --git a/tex/context/modules/mkiv/x-setups-overview.mkiv b/tex/context/modules/mkiv/x-setups-overview.mkiv
index c0047f13a..f6dff12f5 100644
--- a/tex/context/modules/mkiv/x-setups-overview.mkiv
+++ b/tex/context/modules/mkiv/x-setups-overview.mkiv
@@ -1,5 +1,5 @@
%D \module
-%D [ file=setups-basics, % x-set-12,
+%D [ file=setups-overview, % x-set-12,
%D version=2016.04.05, % 2004.10.31,
%D remark=setupx.tex: 1998.07.20 and later,
%D title=\CONTEXT\ Setup Definitions,
@@ -12,10 +12,13 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-% context --interface=en --global --result=setup-en x-setups-overview.mkiv
+% context --interface=en --global --result=setup-en x-setups-overview.mkiv --mode=setups:save
+% context --interface=en --global --result=setup-mapping-en x-setups-overview.mkiv --mode=setups:mapping
% \enablemode[setups:save]
+% \enablemode[setups:mapping]
+
\usemodule[setups-basics]
\unprotect
@@ -80,7 +83,12 @@
\definecolor [darkgray] [s=.1]
\usetypescript[palatino]
-\setupbodyfont[palatino,9pt]
+
+\doifelsemode {setups:mapping} {
+ \setupbodyfont[palatino,8pt]
+} {
+ \setupbodyfont[palatino,9pt]
+}
\defineoverlay
[cover]
@@ -91,28 +99,42 @@
[\hbox to \paperwidth{\reuseMPgraphic{cover+back}\hss}]
\startreusableMPgraphic{cover+back}
- numeric h, w ; path p, q, r ; color f, d ; pair s ;
+ numeric h, w; boolean mapping ; path p, q, r ; color f, d ; pair s ;
h := OverlayHeight ; w := 2*OverlayWidth ;
r := unitsquare xyscaled (w,h) ;
fill r withcolor \MPcolor{lightgray} ;
- set_grid(w,h,w/8,w/16) ;
+ mapping := lua.mp.processingmode("setups:mapping") ;
+ if mapping :
+ set_grid(w,h,w/8,w/160) ;
+ pickup pensquare yscaled (w/80) ;
+ else :
+ set_grid(w,h,w/8,w/16) ;
+ pickup pencircle scaled (w/100) ;
+ fi ;
forever :
s := center r randomized (w,h) ;
if new_on_grid(xpart s, ypart s) :
- s := (dx,dy) ;
- p := fullsquare xyscaled(w/4,w/8) ;
- q := (-4w,ypart ulcorner p) -- .5[ulcorner p, urcorner p] -- (4w,ypart urcorner p) ;
- q := q shifted (0,-w/24) ;
- p := p randomized (w/40,w/40) ;
- q := q randomized (0,w/100) ;
- q := q cutafter (p cutafter point 3 of p) ;
- q := q cutbefore (p cutbefore point 3 of p) ;
d := .5[\MPcolor{LocalColor},\MPcolor{lightgray}] randomized (.5,.9) ;
f := \MPcolor{lightgray} randomized (.5,.9) ;
- pickup pencircle scaled (w/100) ;
- fill p shifted s withcolor f ;
- draw p shifted s withcolor d ;
- draw q shifted s withcolor d ;
+ s := (dx,dy) ;
+ if mapping :
+ p := (-w/4,0) -- (w/4,0) ;
+ p := (-w/4,0) -- origin ;
+ q := origin -- ( w/4,0) ;
+ draw p shifted s withcolor d ;
+ draw q shifted s withcolor f ;
+ else :
+ p := fullsquare xyscaled(w/4,w/8) ;
+ q := (-4w,ypart ulcorner p) -- .5[ulcorner p, urcorner p] -- (4w,ypart urcorner p) ;
+ q := q shifted (0,-w/24) ;
+ p := p randomized (w/40,w/40) ;
+ q := q randomized (0,w/100) ;
+ q := q cutafter (p cutafter point 3 of p) ;
+ q := q cutbefore (p cutbefore point 3 of p) ;
+ fill p shifted s withcolor f ;
+ draw p shifted s withcolor d ;
+ draw q shifted s withcolor d ;
+ fi ;
fi ;
exitif grid_full ;
endfor ;
@@ -137,6 +159,11 @@
\c!width=\v!middle,
\c!height=\v!middle]
+\doifmode {setups:mapping} {
+ \setuplayout
+ [\c!backspace=1cm]
+}
+
\setuppagenumbering
[\c!location=\v!footer,
\c!alternative=\v!doublesided]
@@ -234,7 +261,11 @@
\protect
-\placeeverysetup
+\doifelsemode {setups:mapping} {
+ \placeeverysetupname
+} {
+ \placeeverysetup
+}
\unprotect