mathchoice.js 1.7 KB

12345678910111213
  1. /*
  2. * /MathJax/extensions/TeX/mathchoice.js
  3. *
  4. * Copyright (c) 2009-2013 The MathJax Consortium
  5. *
  6. * Part of the MathJax library.
  7. * See http://www.mathjax.org for details.
  8. *
  9. * Licensed under the Apache License, Version 2.0;
  10. * you may not use this file except in compliance with the License.
  11. *
  12. * http://www.apache.org/licenses/LICENSE-2.0
  13. */MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var c=MathJax.ElementJax.mml,b=MathJax.InputJax.TeX;b.Definitions.Add({macros:{mathchoice:"MathChoice"}},null,!0);b.Parse.Augment({MathChoice:function(a){var b=this.ParseArg(a),d=this.ParseArg(a),e=this.ParseArg(a);a=this.ParseArg(a);this.Push(c.TeXmathchoice(b,d,e,a))}});c.TeXmathchoice=c.mbase.Subclass({type:"TeXmathchoice",notParent:!0,choice:function(){if(null==this.selection){this.selection=0;var a=this.getValues("displaystyle","scriptlevel");this.selection=0<a.scriptlevel?Math.min(3,a.scriptlevel+1):a.displaystyle?0:1}return this.selection},selected:function(){return this.data[this.choice()]},setTeXclass:function(a){return this.selected().setTeXclass(a)},isSpacelike:function(){return this.selected().isSpacelike()},isEmbellished:function(){return this.selected().isEmbellished()},Core:function(){return this.selected()},CoreMO:function(){return this.selected().CoreMO()},toHTML:function(a){a=this.HTMLcreateSpan(a);a.bbox=this.Core().toHTML(a).bbox;a.firstChild&&a.firstChild.style.marginLeft&&(a.style.marginLeft=a.firstChild.style.marginLeft,a.firstChild.style.marginLeft="");return a},toSVG:function(){return this.Core().toSVG()}});MathJax.Hub.Startup.signal.Post("TeX mathchoice Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mathchoice.js");