158 lines
5.5 KiB
JavaScript
158 lines
5.5 KiB
JavaScript
/*
|
|
* jsMath-easy-load.js
|
|
*
|
|
* Part of the jsMath package for mathematics on the web.
|
|
*
|
|
* This file is used to load jsMath with one easy <SCRIPT>
|
|
* command in your HTML file. It is called by the files
|
|
* in the jsMath/easy/ directory. It expects that the jsMath.Easy
|
|
* array has been initialized before it is called.
|
|
*
|
|
* ---------------------------------------------------------------------
|
|
*
|
|
* Copyright 2007 by Davide P. Cervone
|
|
*
|
|
* 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.
|
|
*/
|
|
|
|
if (!window.jsMath) {window.jsMath = {}}
|
|
if (!jsMath.Easy) {jsMath.Easy = {}}
|
|
if (!jsMath.tex2math) {jsMath.tex2math = {}}
|
|
|
|
jsMath.tex2math.doubleDollarsAreInLine = jsMath.Easy.doubleDollarsAreInLine;
|
|
jsMath.tex2math.allowDisableTag = jsMath.Easy.allowDisableTag;
|
|
|
|
jsMath.safeHBoxes = jsMath.Easy.safeHBoxes;
|
|
|
|
if (jsMath.Easy.scale) {
|
|
if (!jsMath.Controls) {jsMath.Controls = {}}
|
|
if (!jsMath.Controls.cookie) {jsMath.Controls.cookie = {}}
|
|
jsMath.Controls.cookie.scale = jsMath.Easy.scale;
|
|
}
|
|
if (!jsMath.Easy.allowDoubleClicks) {
|
|
if (!jsMath.Click) {jsMath.Click = {}}
|
|
jsMath.Click.CheckDblClick = function () {};
|
|
}
|
|
if (!jsMath.Easy.showFontWarnings) {
|
|
if (!jsMath.Font) {jsMath.Font = {}}
|
|
jsMath.Font.Message = function () {};
|
|
}
|
|
|
|
if (!jsMath.Easy.allowGlobal) {
|
|
if (!jsMath.Controls) {jsMath.Controls = {}}
|
|
if (!jsMath.Controls.cookie) {jsMath.Controls.cookie = {}}
|
|
jsMath.Controls.cookie.global = 'never';
|
|
jsMath.noGoGlobal = 1;
|
|
jsMath.noChangeGlobal = 1;
|
|
jsMath.noShowGlobal = 1;
|
|
}
|
|
|
|
if (jsMath.Easy.noImageFonts) {
|
|
jsMath.noImgFonts = 1;
|
|
if (!jsMath.Font) {jsMath.Font = {}}
|
|
jsMath.Font.extra_message =
|
|
'Extra TeX fonts not found: <b><span id="jsMath_ExtraFonts"></span></b><br/>'
|
|
+ 'Using unicode fonts instead. This may be slow and might not print well.<br/>\n'
|
|
+ 'Use the jsMath control panel to get additional information.';
|
|
}
|
|
|
|
if (jsMath.Easy.processSingleDollars ||
|
|
jsMath.Easy.processDoubleDollars ||
|
|
jsMath.Easy.processSlashParens ||
|
|
jsMath.Easy.processSlashBrackets ||
|
|
jsMath.Easy.fixEscapedDollars) {
|
|
|
|
jsMath.Easy.findCustomSettings = {
|
|
processSingleDollars: jsMath.Easy.processSingleDollars,
|
|
processDoubleDollars: jsMath.Easy.processDoubleDollars,
|
|
processSlashParens: jsMath.Easy.processSlashParens,
|
|
processSlashBrackets: jsMath.Easy.processSlashBrackets,
|
|
processLaTeXenvironments: jsMath.Easy.processLaTeXenvironments,
|
|
fixEscapedDollars: jsMath.Easy.fixEscapedDollars,
|
|
custom: 0
|
|
}
|
|
}
|
|
|
|
if (!jsMath.Autoload) {jsMath.Autoload = {}}
|
|
jsMath.Autoload.root = jsMath.Easy.root+'/';
|
|
|
|
if (jsMath.Easy.autoload) {
|
|
jsMath.Autoload.findTeXstrings = 0;
|
|
jsMath.Autoload.findLaTeXstrings = 0;
|
|
jsMath.Autoload.findCustomStrings = jsMath.Easy.customDelimiters;
|
|
jsMath.Autoload.findCustomSettings = jsMath.Easy.findCustomSettings;
|
|
jsMath.Autoload.loadFiles = jsMath.Easy.loadFiles;
|
|
jsMath.Autoload.loadFonts = jsMath.Easy.loadFonts;
|
|
jsMath.Autoload.macros = jsMath.Easy.macros;
|
|
jsMath.Autoload.delayCheck = 1;
|
|
jsMath.Easy.autoloadCheck = 1;
|
|
document.write('<script src="'+jsMath.Autoload.root+'plugins/autoload.js"></script>');
|
|
|
|
} else {
|
|
jsMath.Easy.tex2math =
|
|
(jsMath.Easy.processSingleDollars ||
|
|
jsMath.Easy.processDoubleDollars ||
|
|
jsMath.Easy.processSlashParens ||
|
|
jsMath.Easy.processSlashBrackets ||
|
|
jsMath.Easy.processLaTeXenvironments ||
|
|
jsMath.Easy.fixEscapedDollars ||
|
|
jsMath.Easy.customDelimiters);
|
|
|
|
if (!jsMath.Setup) {jsMath.Setup = {}}
|
|
if (!jsMath.Setup.UserEvent) {jsMath.Setup.UserEvent = {}}
|
|
jsMath.Setup.UserEvent.onload = function () {
|
|
var easy = jsMath.Easy;
|
|
if (easy.tex2math) jsMath.Setup.Script("plugins/tex2math.js");
|
|
var i;
|
|
if (easy.loadFiles) {
|
|
for (i = 0; i < easy.loadFiles.length; i++)
|
|
jsMath.Setup.Script(easy.loadFiles[i]);
|
|
}
|
|
if (easy.loadFonts) {
|
|
for (i = 0; i < easy.loadFonts.length; i++)
|
|
jsMath.Font.Load(easy.loadFonts[i]);
|
|
}
|
|
if (easy.macros) {
|
|
for (i in easy.macros) {
|
|
if (typeof(easy.macros[i]) == 'string') {
|
|
jsMath.Macro(i,easy.macros[i]);
|
|
} else {
|
|
jsMath.Macro(i,easy.macros[i][0],easy.macros[i][1]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
document.write('<script src="'+jsMath.Easy.root+'/jsMath.js"></script>'+"\n");
|
|
}
|
|
|
|
jsMath.Easy.onload = function () {
|
|
if (jsMath.Easy.loaded) {return} else {jsMath.Easy.loaded = 1}
|
|
if (jsMath.Easy.autoloadCheck) jsMath.Autoload.Check();
|
|
if (jsMath.Easy.tex2math) {
|
|
jsMath.Synchronize(function () {
|
|
if (jsMath.Easy.findCustomSettings)
|
|
jsMath.tex2math.Convert(document,jsMath.Easy.findCustomSettings);
|
|
if (jsMath.Easy.customDelimiters) {
|
|
var s = jsMath.Easy.customDelimiters;
|
|
jsMath.tex2math.CustomSearch(s[0],s[1],s[2],s[3]);
|
|
jsMath.tex2math.ConvertCustom();
|
|
}
|
|
});
|
|
}
|
|
(jsMath[jsMath.Easy.method])();
|
|
}
|
|
|
|
if (window.addEventListener) {window.addEventListener("load",jsMath.Easy.onload,false)}
|
|
else if (window.attachEvent) {window.attachEvent("onload",jsMath.Easy.onload)}
|
|
else {window.onload = jsMath.Easy.onload}
|