12345678910111213141516171819202122232425 |
- /* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */
- /* vim: set ts=2 et sw=2 tw=80: */
- /*************************************************************
- *
- * MathJax/extensions/TeX/mathchoice.js
- *
- * Implements the \mathchoice macro (rarely used)
- *
- * ---------------------------------------------------------------------
- *
- * Copyright (c) 2009-2013 The MathJax Consortium
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */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");
|