summaryrefslogtreecommitdiff
path: root/doc/context/sources/general/manuals/math/math-definitions.tex
blob: d8903121a4952bb3ec64fddb77706422bbc8cbee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
\environment math-layout

\startcomponent math-definitions

\startchapter[title=Definitions]

\startsection[title=Special stackers]

There are many math symbols but never enough. Here is an example of how you can
roll out your own. We start out with nothing:

\startbuffer
\definemathstackers
  [nosymbol]
  [voffset=\zeropoint,
   hoffset=\zeropoint,
   mathclass=ord,
   topoffset=\zeropoint,
   middlecommand=,
   color=maincolor]
\stopbuffer

\typebuffer \getbuffer

You can now use this class of stackers:

\startbuffer
\startformula
  \mathover [nosymbol] {"2217} {A}
  \mathover [nosymbol] {"2218} {A}
  \mathover [nosymbol] {"2219} {A}
\stopformula
\stopbuffer

\typebuffer

This looks like this:

\getbuffer

But we want proper math, which means an an italic nucleus, a properly placed
accent, a shift of that accent matching the slope or the nucleus, so we actually
need:

\startbuffer
\definemathstackers
  [mysymbol]
  [voffset=-.30\mathexheight,
   hoffset=\zeropoint,
   mathclass=ord,
   topoffset=.4\mathemwidth,
   middlecommand=\mathematics,
   color=maincolor]
\stopbuffer

\typebuffer \getbuffer

\startbuffer
\startformula
  \mathover  [mysymbol]{"2217}       {A}
  \mathover  [mysymbol]{"2218}       {A}
  \mathover  [mysymbol]{"2219}       {A}
  \mathunder [mysymbol]       {"2217}{A}
  \mathunder [mysymbol]       {"2218}{A}
  \mathunder [mysymbol]       {"2219}{A}
  \mathdouble[mysymbol]{"2217}{"2217}{A}
  \mathdouble[mysymbol]{"2218}{"2218}{A}
  \mathdouble[mysymbol]{"2219}{"2219}{A}
\stopformula
\stopbuffer

We show both over and under variants:

\typebuffer

So this time we get:

\getbuffer

We can now redefine the \quote {interiorset} symbol to use
\type {0x2217} instead of \type {0x2218}:

\startbuffer
\definemathover[mysymbol][interiorset]["2217]

\startformula
    \interiorset{A}^{\interiorset{A}^{\interiorset{A}}}
\stopformula
\stopbuffer

\typebuffer

Of course normally you will not use color:

\getbuffer

\stopsection

\stopchapter

\stopcomponent