1if not modules then modules = { } end modules ['s-math-coverage'] = {
2 version = 1.001,
3 comment = "companion to s-math-coverage.mkiv",
4 author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
5 copyright = "PRAGMA ADE / ConTeXt Development Team",
6 license = "see context related readme files"
7}
8
9moduledata.math = moduledata.math or { }
10moduledata.math.parameters = moduledata.math.parameters or { }
11
12local tables = utilities.tables.definedtable("math","tracing","spacing","tables")
13
14tables.styleaxis = {
15 "ord", "op", "bin", "rel", "open", "close", "punct", "inner",
16}
17
18tables.parameters = {
19 "quad", "axis", "operatorsize",
20 "overbarkern", "overbarrule", "overbarvgap",
21 "underbarkern", "underbarrule", "underbarvgap",
22 "radicalkern", "radicalrule", "radicalvgap",
23 "radicaldegreebefore", "radicaldegreeafter", "radicaldegreeraise",
24 "stackvgap", "stacknumup", "stackdenomdown",
25 "fractionrule", "fractionnumvgap", "fractionnumup",
26 "fractiondenomvgap", "fractiondenomdown", "fractiondelsize",
27 "limitabovevgap", "limitabovebgap", "limitabovekern",
28 "limitbelowvgap", "limitbelowbgap", "limitbelowkern",
29 "underdelimitervgap", "underdelimiterbgap",
30 "overdelimitervgap", "overdelimiterbgap",
31 "subshiftdrop", "supshiftdrop", "subshiftdown",
32 "subsupshiftdown", "subtopmax", "supshiftup",
33 "supbottommin", "supsubbottommax", "subsupvgap",
34 "spaceafterscript", "connectoroverlapmin",
35}
36
37if CONTEXTLMTXMODE > 0 then
38
39 tables.styleaxis = table.imerged ( tables.styleaxis, {
40 "frac", "rad",
41 } )
42
43 tables.parameters = table.imerged ( tables.parameters, {
44 "extrasupshift", "extrasubshift", "extrasuppreshift", "extrasubpreshift",
45 "extrasupspace", "extrasubspace", "extrasupprespace", "extrasubprespace",
46
47
48
49
50
51
52
53
54
55 } )
56
57end
58
59tables.styles = {
60 "display",
61 "text",
62 "script",
63 "scriptscript",
64}
65
66function tables.stripmu(str)
67 str = string.gsub(str,"mu","")
68 str = string.gsub(str," ","")
69 str = string.gsub(str,"plus","+")
70 str = string.gsub(str,"minus","-")
71 return str
72end
73
74function tables.strippt(old)
75 local new = string.gsub(old,"pt","")
76 if new ~= old then
77 new = string.format("%0.4f",tonumber(new))
78 end
79 return new
80end
81
82function moduledata.math.parameters.showspacing()
83
84 local styles = tables.styles
85 local styleaxis = tables.styleaxis
86
87 context.starttabulate { "|Tl|Tl|" .. string.rep("Tc|",(#styles*2)) }
88 context.HL()
89 context.NC()
90 context.NC()
91 context.NC()
92 for i=1,#styles do
93 context.bold(styles[i])
94 context.NC()
95 context.bold("(cramped)")
96 context.NC()
97 end
98 context.NR()
99 context.HL()
100 for i=1,#styleaxis do
101
102 local one = styleaxis[i]
103 for j=1,#styleaxis do
104 local two = styleaxis[j]
105 context.NC()
106 if j == 1 then
107 context.bold(one)
108 end
109 context.NC()
110 context.bold(two)
111 context.NC()
112 for i=1,#styles do
113 context("\\ctxlua{context(math.tracing.spacing.tables.stripmu('\\the\\Umath%s%sspacing\\%sstyle'))}",one,two,styles[i])
114 context.NC()
115 context("\\ctxlua{context(math.tracing.spacing.tables.stripmu('\\the\\Umath%s%sspacing\\cramped%sstyle'))}",one,two,styles[i])
116 context.NC()
117 end
118 context.NR()
119 end
120 end
121 context.stoptabulate()
122end
123
124function moduledata.math.parameters.showparameters()
125
126 local styles = tables.styles
127 local parameters = tables.parameters
128
129 context.starttabulate { "|l|" .. string.rep("Tc|",(#styles*2)) }
130 context.HL()
131 context.NC()
132 context.NC()
133 for i=1,#styles do
134 context.bold(styles[i])
135 context.NC()
136 context.bold("(cramped)")
137 context.NC()
138 end
139 context.NR()
140 context.HL()
141 for i=1,#parameters do
142 local parameter = parameters[i]
143
144 context.NC()
145 context.type(parameter)
146 context.NC()
147 for i=1,#styles do
148 context("\\ctxlua{context(math.tracing.spacing.tables.strippt('\\the\\Umath%s\\%sstyle'))}",parameter,styles[i])
149 context.NC()
150 context("\\ctxlua{context(math.tracing.spacing.tables.strippt('\\the\\Umath%s\\cramped%sstyle'))}",parameter,styles[i])
151 context.NC()
152 end
153 context.NR()
154 end
155 context.stoptabulate()
156
157end
158 |