\tracetypescriptstrue \unprotect \def\dostartmathmatrix[#1][#2]% {\begingroup \edef\currentmathmatrix{#1}% \doifassignmentelse{#2}{\setupmathmatrix[#1][#2]}\donothing \null \executeifdefined{\??mx:\mathmatrixparameter\c!location}{\getvalue{\??mx:\v!lohi}}% \mathmatrixleft \mathmatrixbox\bgroup \pushmacro\domatrixNC \let\endmath\relax \def\NC{\domatrixNC}% \def\MC{\domatrixNC\ifmmode\else$\def\endmath{$}\fi}% \global\let\domatrixNC\dodomatrixNC \def\NR{\endmath\global\let\domatrixNC\dodomatrixNC\crcr}% \normalbaselines \mathsurround\zeropoint \everycr\emptytoks \tabskip\zeropoint \eqaligncolumn\zerocount \processcommacommand[\mathmatrixparameter\c!align]{\advance\eqaligncolumn\plusone\dosetmatrixcolumn}% \scratchcounter=\ifnum\eqaligncolumn>\zerocount \eqaligncolumn \else \plusone \fi \global\eqaligncolumn\plusone \preparemathmatrix } % uses scratchcounter \def\buildmathmatrix % beware: etex only {\scratchtoks\emptytoks \expanded{\scratchtoks{\the\scratchtoks\the\!!toksa}}% \dorecurse{\numexpr\!!counta-\plusone\relax} {\expanded{\scratchtoks{\the\scratchtoks\the\!!toksb}}}% \expanded{\scratchtoks{\the\scratchtoks\the\!!toksc }}} \protect \startmathcollection [extra] \definemathsymbol [oiint] [op] [mc] ["08] [mc] ["09] \definemathsymbol [oiiint] [op] [mc] ["29] [mc] ["2a] \definemathsymbol [ointctrclockwise] [op] [mc] ["0A] [mc] ["0B] \definemathsymbol [ointclockwise] [op] [mc] ["0C] [mc] ["0D] \definemathsymbol [varointctrclockwise] [op] [mc] ["2B] [mc] ["2C] \definemathsymbol [varointclockwise] [op] [mc] ["2D] [mc] ["2E] \definemathsymbol [iint] [op] [mc] ["21] [mc] ["22] \definemathsymbol [iiint] [op] [mc] ["23] [mc] ["24] \definemathsymbol [iiiint] [op] [mc] ["25] [mc] ["26] \definemathsymbol [idotsint] [op] [mc] ["27] [mc] ["28] \definemathsymbol [oiintctrclockwise] [op] [mc] ["40] [mc] ["41] \definemathsymbol [oiintclockwise] [op] [mc] ["48] [mc] ["49] \definemathsymbol [varoiintctrclockwise][op] [mc] ["4A] [mc] ["4B] \definemathsymbol [varoiintclockwise] [op] [mc] ["42] [mc] ["43] \definemathsymbol [oiiintctrclockwise] [op] [mc] ["44] [mc] ["45] \definemathsymbol [oiiintclockwise] [op] [mc] ["4C] [mc] ["4D] \definemathsymbol [varoiiintctrclockwise][op] [mc] ["4E] [mc] ["4F] \definemathsymbol [varoiiintclockwise] [op] [mc] ["46] [mc] ["47] \stopmathcollection \loadmapfile[original-youngryu-tx.map] \loadmapfile[texnansi-wim-rsfs.map] \starttypescript [math] [modern,computer-modern,latin-modern,ams] [size] \definebodyfont [28pt,24pt,18pt,17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt] [mm] [mc=txexa sa 1] \stoptypescript \definetypeface[mainface] [rm] [serif] [times] [default] [encoding=texnansi] \definetypeface[mainface] [mm] [math] [modern] [modern] [encoding=texnansi] \setupbodyfont[mainface,11pt] \def\scr#1{\text{\definedfont[texnansi-rsfs10]#1\/}} \enablemathcollection[extra] \definemathmatrix[mycases][left={\left\{\,},right={\,\right.}] \definemathmatrix[aligned][n=3,align={right,left,left},distance=4pt] \definemathmatrix[alignedfour][n=4,align={left,middle,left,right}] \startbuffer \startformula \startalignedfour[left={\left\{},right={\right\}}] \NC left \NC middle \NC left \NC right \NR \NC aaa \NC = \NC 0 \NC |x| > 0 \NR \NC aaaa \NC = \NC 1 \NC |x| < 0 \NR \NC bbb \NC = \NC 2 \NC bb \NR \NC bb \NC = \NC 3 \NC ccc \NR \stopalignedfour \stopformula \startformula \startmycases[n=4,align={left,middle,middle,right},distance=1em] \NC left \NC middle \NC middle \NC right \NR \NC aaaaaa \NC baaaaaaaaa \NC cccc \NC ddddddddddddd \NR \NC aaaaaaaaa \NC bbb \NC c \NC ddd \NR \stopmycases \stopformula \startformula \startaligned[left={\left.},right={\right\}}] \NC (\lambda + \mu ) \cdot a \NC = \NC \lambda \cdot a + \mu \cdot a \NR \NC \lambda ( a + b ) \NC = \NC \lambda \cdot a + \lambda \cdot b \NR \stopaligned \quad \text{(distributieve eigenschappen)} \stopformula \stopbuffer \starttext Test user defined math matrices without a section (with Aditya's fix) \blank Math matrix alignment works. \getbuffer \section{Test user defined math matrices but after a section (with Aditya's fix)} Math matrix alignment broken \getbuffer \section{Extra math symbols} \startformula \oiint \oiiint \ointctrclockwise \ointclockwise \varointctrclockwise \varointclockwise \iint \iiint \iiiint \idotsint \oiintctrclockwise \oiintclockwise \varoiintctrclockwise \varoiintclockwise \oiiintctrclockwise \oiiintclockwise \varoiiintctrclockwise \varoiiintclockwise \stopformula \startformula \alpha \beta \gamma \delta \mu \nu \eta \xi \sigma \epsilon \Gamma \Delta \stopformula \startformula {\scr{A} \scr{B} \scr{C} \scr{D} \scr{E} \scr{F} \scr{G} \scr{H} \scr{L}} \stopformula \type{\cal ABCDEFGHIJKLMNOPQRSTUVWXYZ} \startformula {\cal ABCDEFGHIJKLMNOPQRSTUVWXYZ} \stopformula \page \section{Default math characters} \showmathcharacters \stoptext