2 * extensions/boldsymbol.js
4 * Part of the jsMath package for mathematics on the web.
6 * This file implements the \boldsymbol macro. You can activate it
9 * jsMath.Extension.Macro('boldsymbol');
11 * which will cause the extension to be loaded only when it is
12 * needed, or you can force it to be loaded via
14 * jsMath.Extension.Require('boldsymbol');
16 * once jsMath.js has been loaded.
18 * Note that you will need to install the cmmib10 and cmbsy10 fonts
19 * that are available from the jsMath extra font page at
21 * http://www.math.union.edu/locate/jsMath/download/extra-fonts/
23 * to make this work in image mode. Note that there is no unicode
24 * fallback for these fonts at the moment.
26 * ---------------------------------------------------------------------
28 * Copyright 2006-2007 by Davide P. Cervone
30 * Licensed under the Apache License, Version 2.0 (the "License");
31 * you may not use this file except in compliance with the License.
32 * You may obtain a copy of the License at
34 * http://www.apache.org/licenses/LICENSE-2.0
36 * Unless required by applicable law or agreed to in writing, software
37 * distributed under the License is distributed on an "AS IS" BASIS,
38 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
39 * See the License for the specific language governing permissions and
40 * limitations under the License.
43 /********************************************************************/
45 jsMath.Package(jsMath.Parser,{
47 macros: {boldsymbol: 'BoldSymbol'},
50 * Implement \boldsymbol{...}
52 BoldSymbol: function (name) {
53 var fam = jsMath.TeX.fam; var restart = 0;
54 var oldfam = [fam[0],fam[1],fam[2]];
55 fam[0] = "cmbx10"; fam[1] = "cmmib10"; fam[2] = "cmbsy10";
56 try{var box = this.ProcessArg(this.cmd+name)}
57 catch (e) {restart = (e == "restart")}
58 fam[0] = oldfam[0]; fam[1] = oldfam[1]; fam[2] = oldfam[2];
59 if (this.error) return; if (restart) {throw "restart"}
60 this.mlist.Add(jsMath.mItem.Atom('ord',box));