%D \module %D [ file=t-simplematrix, %D version=2014.02.18, %D title=\CONTEXT\ User Module, %D subtitle=Simple matrix, %D author=Aditya Mahajan, %D date=\currentdate, %D copyright=Aditya Mahajan, %D email=adityam ieee org, %D license=Simplified BSD License] \writestatus{loading}{Simple matrix (ver: 2014.02.18)} \startmodule[simplematrix] \unprotect \definenamespace [simplematrix] [ \c!type=module, \c!name=simplematrix, \c!command=\v!yes, setup=\v!list, \s!parent=simplematrix, ] \setupsimplematrix [ \c!distance=\emwidth, \c!mathstyle=, fence=bracket, \c!align= ] \appendtoks \setevalue{\currentsimplematrix}{\usesimplematrix[\currentsimplematrix]} \to \everydefinesimplematrix \newtoks\simplematrixtoks \define[1]\simplematrix_row {\processcommalist[#1]\simplematrix_col \appendtoks \NR \to \simplematrixtoks} \define[1]\simplematrix_col {\appendtoks \NC #1 \to \simplematrixtoks} \unexpanded\def\usesimplematrix {\dodoubleargument\usesimplematrix_indeed} \def\simplematrix_left {\edef\p_left{\namedmathfenceparameter{\simplematrixparameter{fence}}\c!left}% \normalleft\ifx\p_left\empty.\else\Udelimiter\plusfour\fam\p_left\relax\fi \,} \def\simplematrix_right {\edef\p_right{\namedmathfenceparameter{\simplematrixparameter{fence}}\c!right}% \, \normalright\ifx\p_right\empty.\else\Udelimiter\plusfive\fam\p_right\relax\fi} \def\usesimplematrix_indeed[#name][#options]#matrix% {\begingroup \edef\currentsimplematrix{#name}% \setupsimplematrix[#name][#options]% \simplematrixtoks\emptytoks \startusemathstyleparameter\simplematrixparameter \appendtoks \bgroup \startmathmatrix [ \c!distance=\simplematrixparameter\c!distance, \c!left=\simplematrix_left, \c!right=\simplematrix_right, \c!align=\simplematrixparameter\c!align, ] \to \simplematrixtoks \processlist[];\simplematrix_row[#matrix]% \appendtoks \stopmathmatrix \egroup \to \simplematrixtoks \the\simplematrixtoks \stopusemathstyleparameter \endgroup} \protect \stopmodule