%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] %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 \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 \newcount\delimitercount \def\leftfakedelimiter {\advance\delimitercount\minusone\gobbleoneargument}% \def\rightfakedelimiter{\advance\delimitercount\plusone \gobbleoneargument}% \def\checkdelimiters#1% {\delimitercount\zerocount \setbox\scratchbox\hbox\bgroup \let\left \leftfakedelimiter \let\right\rightfakedelimiter $#1\expandafter$\expandafter \egroup \expandafter\delimitercount\the\delimitercount\relax} \def\fakeleftdelimiter {\ifnum\delimitercount>\zerocount\left .\fi} \def\fakerightdelimiter{\ifnum\delimitercount<\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 \def\enabledelimiter {\let\normalordelimiter\secondoftwoarguments} \def\disabledelimiter{\let\normalordelimiter\firstoftwoarguments} \def\enablefiller {\let\normalorfiller\secondoftwoarguments} \def\disablefiller {\let\normalorfiller\firstoftwoarguments} \def\mathopnolimits#1{\mathop{\mr#1}\nolimits} % was \rm, which follows text fonts (used in mml parser) \def\mathopdolimits#1{\mathop{\mr#1}} % was \rm, which follows text fonts (used in mml parser) \protect \endinput