@@ -238,29 +238,33 @@ var CToP = {
238238 *
239239 * (function factory)
240240 */
241- bind : function ( name ) {
241+ bind : function ( name , argSeparator ) {
242242 return function ( parentNode , contentMMLNode , firstArg , args , bvars , qualifiers , precedence ) {
243243 var mrow = CToP . createElement ( 'mrow' ) ;
244244 CToP . appendToken ( mrow , 'mo' , name ) ;
245+ for ( var j = 0 ; j < bvars . length ; j ++ ) {
246+ var bvar = bvars [ j ] ;
247+ var children = CToP . children ( bvar ) ;
248+ if ( children . length ) {
249+ CToP . applyTransform ( mrow , children [ 0 ] , 0 ) ;
250+ }
251+ }
252+
253+ var conditions_mrow = CToP . createElement ( 'mrow' ) ;
245254 var conditions = false , children ;
246255 for ( var i = 0 ; i < qualifiers . length ; i ++ ) {
247256 if ( qualifiers [ i ] . localName == 'condition' ) {
248257 conditions = true ;
249258 children = CToP . children ( qualifiers [ i ] ) ;
250259 for ( var j = 0 ; j < children . length ; j ++ ) {
251- CToP . applyTransform ( mrow , children [ j ] , 0 ) ;
260+ CToP . applyTransform ( conditions_mrow , children [ j ] , 0 ) ;
252261 }
253262 }
254263 }
255- if ( ! conditions ) {
256- for ( var j = 0 ; j < bvars . length ; j ++ ) {
257- var bvar = bvars [ j ] ;
258- var children = CToP . children ( bvar ) ;
259- if ( children . length ) {
260- CToP . applyTransform ( mrow , children [ 0 ] , 0 ) ;
261- }
262- }
264+ if ( conditions ) {
265+ CToP . appendToken ( mrow , 'mo' , ',' ) ;
263266 }
267+ mrow . appendChild ( conditions_mrow ) ;
264268 for ( var i = 0 ; i < qualifiers . length ; i ++ ) {
265269 if ( qualifiers [ i ] . localName != 'condition' ) {
266270 CToP . appendToken ( mrow , 'mo' , '\u2208' ) ;
@@ -271,7 +275,7 @@ var CToP = {
271275 }
272276 }
273277 if ( bvars . length || children . length ) {
274- CToP . appendToken ( mrow , 'mo' , '.' ) ;
278+ CToP . appendToken ( mrow , 'mo' , argSeparator ) ;
275279 }
276280 for ( var i = 0 ; i < args . length ; i ++ ) {
277281 CToP . applyTransform ( mrow , args [ i ] , 0 ) ;
@@ -661,9 +665,9 @@ CToP.applyTokens = {
661665 "outerproduct" : CToP . infix ( '\u2297' , 2 ) ,
662666 "sum" : CToP . iteration ( '\u2211' ) ,
663667 "product" : CToP . iteration ( '\u220F' ) ,
664- "forall" : CToP . bind ( '\u2200' ) ,
665- "exists" : CToP . bind ( '\u2203' ) ,
666- "lambda" : CToP . bind ( '\u03BB' ) ,
668+ "forall" : CToP . bind ( '\u2200' , ',' ) ,
669+ "exists" : CToP . bind ( '\u2203' , '\u007c' ) ,
670+ "lambda" : CToP . bind ( '\u03BB' , '.' ) ,
667671
668672}
669673CToP . applyTokens [ 'tendsto' ] = function ( parentNode , contentMMLNode , firstArg , args , bvars , qualifiers , precedence ) {
0 commit comments