x-calcmath.mkiv /size: 2014 b    last modification: 2020-07-01 14:35
1%D \module
2%D   [       file=m-calcmath,
3%D        version=2006.04.24, % 1999.11.06,
4%D          title=\CONTEXT\ Modules,
5%D       subtitle=Calculator Math,
6%D         author=Hans Hagen,
7%D           date=\currentdate,
8%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9%C
10%C This module is part of the \CONTEXT\ macro||package and is
11%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12%C details.
13
14%D Lua code.
15
16\registerctxluafile{x-calcmath}{}
17
18\def\ctxmodulecalcmath#1{\ctxlua{moduledata.calcmath.#1}}
19
20%D Interface:
21
22\unprotect
23
24\unexpanded\def\inlinecalcmath #1{\mathematics{\ctxmodulecalcmath{tex("#1",1)}}}
25\unexpanded\def\displaycalcmath#1{\startformula\ctxmodulecalcmath{tex("#1",2)}\stopformula}
26
27\let\calcmath\inlinecalcmath
28
29\let\icm\inlinecalcmath
30\let\dcm\displaycalcmath
31
32\startxmlsetups xml:cam:define
33    \xmlsetsetup {\xmldocument} {cam:*}     {*}
34    \xmlsetsetup {\xmldocument} {(icm|dcm)} {cam:*}
35\stopxmlsetups
36
37\xmlregisterns{cam}{calcmath}
38
39\xmlregistersetup{xml:cam:define}
40
41% tex -> lua -> tex -> lua -> tex
42%   \mathematics{\ctxmodulecalcmath{xml(\!!bs\xmlflush{#1}\!!es,1)}}
43% tex -> lua -> tex
44%   \mathematics{\ctxmodulecalcmath{xml("#1",1)}}%
45
46\startxmlsetups cam:i
47    \mathematics{\ctxmodulecalcmath{xml("#1",1)}}%
48\stopxmlsetups
49
50\startxmlsetups cam:d
51    \startformula\ctxmodulecalcmath{xml("#1",2)}\stopformula
52\stopxmlsetups
53
54\startxmlsetups cam:icm
55    \mathematics{\ctxmodulecalcmath{xml("#1",1)}}
56\stopxmlsetups
57
58\startxmlsetups cam:dcm
59    \startformula\ctxmodulecalcmath{xml("#1",2)}\stopformula
60\stopxmlsetups
61
62\protect \endinput
63
64\starttext
65
66% \calcmath{sin(x) + x^2 + x^(1+x) + 1/x^2 + mean(x+mean(y))}
67% \calcmath{int(a,b,c)}
68% \calcmath{(1+x)/(1+x) + (1+x)/(1+(1+x)/(1+x))}
69% \calcmath{10E-2}
70% \calcmath{(1+x)/x}
71% \calcmath{(1+x)/12}
72% \calcmath{(1+x)/-12}
73% \calcmath{1/-12}
74% \calcmath{12x/(1+x)}
75% \calcmath{exp(x+exp(x+1))}
76% \calcmath{abs(x+abs(x+1)) + pi + inf}
77% \calcmath{Dx Dy}
78% \calcmath{D(x+D(y))}
79% \calcmath{Df(x)}
80% \calcmath{g(x)}
81