diff options
Diffstat (limited to 'tex/context/base/mkiv/math-del.mkiv')
-rw-r--r-- | tex/context/base/mkiv/math-del.mkiv | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/tex/context/base/mkiv/math-del.mkiv b/tex/context/base/mkiv/math-del.mkiv new file mode 100644 index 000000000..1245d31de --- /dev/null +++ b/tex/context/base/mkiv/math-del.mkiv @@ -0,0 +1,70 @@ +%D \module +%D [ file=math-del, +%D version=2007.07.19, +%D title=\CONTEXT\ Math Macros, +%D subtitle=Delimiters, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\writestatus{loading}{ConTeXt Math Macros / Delimiters} + +\unprotect + +%D Old code that will be redone: +%D +%D \macros +%D {checkdelimiters, fakeleftdelimiter, fakerightdelimiter} +%D +%D Handy for non matching situations (as with mathml): +%D +%D \starttyping +%D \checkdelimiters{... bla bla ...} +%D \fakeleftdelimiter +%D ... bla bla ... +%D \fakerightdelimiter +%D \stoptyping + +% Actually we can do better now with lua hacks. + +\newcount\c_math_delimiter_nesting + +\def\leftfakedelimiter {\advance\c_math_delimiter_nesting\minusone\gobbleoneargument} +\def\rightfakedelimiter{\advance\c_math_delimiter_nesting\plusone \gobbleoneargument} + +\def\checkdelimiters#1% + {\c_math_delimiter_nesting\zerocount + \setbox\scratchbox\hbox\bgroup + \let\left \leftfakedelimiter + \let\right\rightfakedelimiter + $#1\expandafter$\expandafter + \egroup + \expandafter\c_math_delimiter_nesting\the\c_math_delimiter_nesting\relax} + +\def\fakeleftdelimiter {\ifnum\c_math_delimiter_nesting>\zerocount\left .\fi} +\def\fakerightdelimiter{\ifnum\c_math_delimiter_nesting<\zerocount\right.\fi} + +%D The following macros are used in the MathML interpreter, so +%D there is a good change of them never being documented for +%D other usage. + +\let\normalordelimiter\secondoftwoarguments +\let\normalorfiller \firstoftwoarguments + +\unexpanded\def\enabledelimiter {\let\normalordelimiter\secondoftwoarguments} +\unexpanded\def\disabledelimiter{\let\normalordelimiter\firstoftwoarguments} + +\unexpanded\def\enablefiller {\let\normalorfiller\secondoftwoarguments} +\unexpanded\def\disablefiller {\let\normalorfiller\firstoftwoarguments} + +% \def\mathopnolimits#1{\mathop{\mr\mathrm#1}\nolimits} % was \rm, which follows text fonts (used in mml parser) +% \def\mathopdolimits#1{\mathop{\mr\mathrm#1}} % was \rm, which follows text fonts (used in mml parser) + +\def\mathopnolimits#1{\mathop{\mathrm#1}\nolimits} % was \rm, which follows text fonts (used in mml parser, check!) +\def\mathopdolimits#1{\mathop{\mathrm#1}} % was \rm, which follows text fonts (used in mml parser, check!) + +\protect \endinput |