##// END OF EJS Templates
caches: use repo.lru based Dict cache. This LRUDict uses Timing Algo to not have to use locking...
caches: use repo.lru based Dict cache. This LRUDict uses Timing Algo to not have to use locking for the LRU implementation, this it's safer to use for dogpile. We used it before with beaker, so it's generally more stable.

File last commit:

r1490:658ff334 default
r2945:ec5716e4 default
Show More
default.js
1117 lines | 42.4 KiB | application/javascript | JavascriptLexer
mathJax: added resources to enable rendering of math formulas.
r1490 /* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/*************************************************************
*
* MathJax/config/default.js
*
* This configuration file is loaded when you load MathJax
* via <script src="MathJax.js?config=default"></script>
*
* Use it to customize the MathJax settings. See comments below.
*
* ---------------------------------------------------------------------
*
* Copyright (c) 2009-2016 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.
*/
/*
* This file lists most, but not all, of the options that can be set for
* MathJax and its various components. Some additional options are
* available, however, and are listed in the various links at:
*
* http://www.mathjax.org/resources/docs/?configuration.html#configuration-options-by-component
*
* You can add these to the configuration object below if you
* want to change them from their default values.
*/
MathJax.Hub.Config({
//
// A comma-separated list of configuration files to load
// when MathJax starts up. E.g., to define local macros, etc.
// The default directory is the MathJax/config directory.
//
// Example: config: ["local/local.js"],
// Example: config: ["local/local.js","MMLtoHTML.js"],
//
config: [],
//
// A comma-separated list of CSS stylesheet files to be loaded
// when MathJax starts up. The default directory is the
// MathJax/config directory.
//
// Example: styleSheets: ["MathJax.css"],
//
styleSheets: [],
//
// Styles to be defined dynamically at startup time.
//
// Example:
// styles: {
// ".MathJax_Preview": {
// color: "#888"
// }
// },
//
styles: {},
//
// A comma-separated list of input and output jax to initialize at startup.
// Their main code is loaded only when they are actually used, so it is not
// inefficient to include jax that may not actually be used on the page. These
// are found in the MathJax/jax directory. The choices include
//
// input/TeX
// input/MathML
// input/AsciiMath
//
// output/HTML-CSS
// output/NativeMML
// output/SVG
//
// If you change the input jax, you may need to include the appropriate
// preprocessor in the extensions array below.
//
jax: ["input/TeX", "output/HTML-CSS"],
//
// A comma-separated list of extensions to load at startup. The default
// directory is MathJax/extensions.
//
// Example: extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"],
//
// You may wish to include "mml2jax.js" if you are using "input/MathML" in the
// jax array above, and "asciimath2jax.js" if you using "input/AsciiMath".
// Include "jsmath2jax.js" if you are converting from using jsMath to MathJax.
//
extensions: ["tex2jax.js"],
//
// Patterns to remove from before and after math script tags. If you are not
// using one of the preprocessors (e.g., tex2jax), you need to insert something
// extra into your HTML file in order to avoid a bug in Internet Explorer. IE
// removes spaces from the DOM that it thinks are redundent, and since a SCRIPT
// tag usually doesn't add content to the page, if there is a space before and after
// a MathJax SCRIPT tag, IE will remove the first space. When MathJax inserts
// the typeset mathematics, this means there will be no space before it and the
// preceeding text. In order to avoid this, you should include some "guard characters"
// before or after the math SCRIPT tag; define the patterns you want to use below.
// Note that these are used as regular expressions, so you will need to quote
// special characters. Furthermore, since they are javascript strings, you must
// quote javascript special characters as well. So to obtain a backslash, you must
// use \\ (doubled for javascript). For example, "\\[" is the pattern \[ in the
// regular expression. That means that if you want an actual backslash in your
// guard characters, you need to use "\\\\" in order to get \\ in the regular
// expression, and \ in the actual text. If both preJax and postJax are defined,
// both must be present in order to be removed.
//
// See also the preRemoveClass comments below.
//
// Example:
// preJax: "\\\\\\\\", // makes a double backslash the preJax text
// or
// preJax: "\\[\\[", // jax scripts must be enclosed in double brackets
// postJax: "\\]\\]",
//
preJax: null,
postJax: null,
//
// The CSS class for a math preview to be removed preceeding a MathJax
// SCRIPT tag. If the tag just before the MathJax SCRIPT tag is of this
// class, its contents are removed when MathJax processes the SCRIPT
// tag. This allows you to include a math preview in a form that will
// be displayed prior to MathJax performing its typesetting. It also
// avoids the Internet Explorer space-removal bug, and can be used in
// place of preJax and postJax if that is more convenient.
//
// For example
//
// <span class="MathJax_Preview">[math]</span><script type="math/tex">...</script>
//
// would display "[math]" in place of the math until MathJax is able to typeset it.
//
preRemoveClass: "MathJax_Preview",
//
// This value controls whether the "Processing Math: nn%" message are displayed
// in the lower left-hand corner. Set to "false" to prevent those messages (though
// file loading and other messages will still be shown).
//
showProcessingMessages: true,
//
// This value controls the verbosity of the messages in the lower left-hand corner.
// Set it to "none" to eliminate all messages, or set it to "simple" to show
// "Loading..." and "Processing..." rather than showing the full file name and the
// percentage of the mathematics processed.
//
messageStyle: "normal",
//
// These two parameters control the alignment and shifting of displayed equations.
// The first can be "left", "center", or "right", and determines the alignment of
// displayed equations. When the alignment is not "center", the second determines
// an indentation from the left or right side for the displayed equations. When
// the alignment is "center", the indent allows you to shift the center to the right
// or left (negative is left).
//
displayAlign: "center",
displayIndent: "0",
//
// Normally MathJax will perform its starup commands (loading of
// configuration, styles, jax, and so on) as soon as it can. If you
// expect to be doing additional configuration on the page, however, you
// may want to have it wait until the page's onload hander is called. If so,
// set this to "onload".
//
delayStartupUntil: "none",
//
// Normally MathJax will typeset the mathematics on the page as soon as
// the page is loaded. If you want to delay that process, in which case
// you will need to call MathJax.Hub.Typeset() yourself by hand, set
// this value to true.
//
skipStartupTypeset: false,
//
// A list of element ID's that are the ones to process for mathematics
// when any of the Hub typesetting calls (Typeset, Process, Update, etc)
// are called with no element specified. This lets you restrict the
// processing to particular containers rather than scanning the entire
// document for mathematics. If none are supplied, the entire document
// is processed.
//
elements: [],
//
// Since typesetting usually changes the vertical dimensions of the
// page, if the URL contains an anchor position you may no longer be
// positioned at the correct position on the page, so MathJax can
// reposition to that location after it completes its initial
// typesetting of the page. This value controls whether MathJax will
// reposition the browser to the #hash location from the page URL after
// typesetting for the page.
//
positionToHash: true,
//
// These control whether to attach the MathJax contextual menu to the
// expressions typeset by MathJax. Since the code for handling
// MathPlayer in Internet Explorer is somewhat delicate, it is
// controlled separately via (showMathMenuMSIE). The latter is now
// deprecated in favor of the MathJax contextual menu settings for
// MathPlayer.
//
// These values used to be listed in the separate output jax, but
// have been moved to this more central location since they are shared
// by all output jax.
//
showMathMenu: true,
showMathMenuMSIE: true,
//
// The default settings for the MathJax contextual menu (overridden by
// the MathJax cookie when users change the menu settings).
//
menuSettings: {
zoom: "None", // when to do MathZoom
CTRL: false, // require CTRL for MathZoom?
ALT: false, // require Alt or Option?
CMD: false, // require CMD?
Shift: false, // require Shift?
discoverable: false, // make math menu discoverable on hover?
zscale: "200%", // the scaling factor for MathZoom
renderer: null, // set when Jax are loaded
font: "Auto", // what font HTML-CSS should use
context: "MathJax", // or "Browser" for pass-through to browser menu
locale: null, // the language to use for messages
mpContext: false, // true means pass menu events to MathPlayer in IE
mpMouse: false, // true means pass mouse events to MathPlayer in IE
texHints: true, // include class names for TeXAtom elements
FastPreview: null, // use PreviewHTML output as preview?
assistiveMML: null, // include hidden MathML for screen readers?
inTabOrder: true, // set to true if math elements should be included in the tabindex
semantics: false // add semantics tag with original form in MathML output
},
//
// The message and style for when there is a processing error handling
// the mathematics (something has gone wrong with the input or output
// jax that prevents it from operating properly).
//
errorSettings: {
message: ["[",["MathProcessingError","Math Processing Error"],"]"],
style: {color: "#CC0000", "font-style":"italic"} // style for message
},
//============================================================================
//
// These parameters control the tex2jax preprocessor (when you have included
// "tex2jax.js" in the extensions list above).
//
tex2jax: {
//
// The delimiters that surround in-line math expressions. The first in each
// pair is the initial delimiter and the second is the terminal delimiter.
// Comment out any that you don't want, but be sure there is no extra
// comma at the end of the last item in the list -- some browsers won't
// be able to handle that.
//
inlineMath: [
// ['$','$'], // uncomment this for standard TeX math delimiters
['\\(','\\)']
],
//
// The delimiters that surround displayed math expressions. The first in each
// pair is the initial delimiter and the second is the terminal delimiter.
// Comment out any that you don't want, but be sure there is no extra
// comma at the end of the last item in the list -- some browsers won't
// be able to handle that.
//
displayMath: [
['$$','$$'],
['\\[','\\]']
],
//
// This value determines whether tex2jax requires braces to be
// balanced within math delimiters (which allows for nested dollar
// signs). Set to false to get pre-v2.0 compatibility. When true,
//
// $y = x^2 \hbox{ when $x > 2$}$.
//
// will be properly handled as a single expression. When false, it
// would be interpreted as two searpate expressions, each with
// improperly balanced braces.
//
balanceBraces: true,
//
// This array lists the names of the tags whose contents should not be
// processed by tex2jax (other than to look for ignore/process classes
// as listed below). You can add to (or remove from) this list to prevent
// MathJax from processing mathematics in specific contexts.
//
skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],
//
// This is the class name used to mark elements whose contents should
// not be processed by tex2jax (other than to look for the
// processClass pattern below). Note that this is a regular
// expression, and so you need to be sure to quote any regexp special
// characters. The pattern is automatically preceeded by '(^| )(' and
// followed by ')( |$)', so your pattern will have to match full words
// in the class name. Assigning an element this class name will
// prevent `tex2jax` from processing its contents.
//
ignoreClass: "tex2jax_ignore",
//
// This is the class name used to mark elements whose contents SHOULD
// be processed by tex2jax. This is used to turn on processing within
// tags that have been marked as ignored or skipped above. Note that
// this is a regular expression, and so you need to be sure to quote
// any regexp special characters. The pattern is automatically
// preceeded by '(^| )(' and followed by ')( |$)', so your pattern
// will have to match full words in the class name. Use this to
// restart processing within an element that has been marked as
// ignored above.
//
processClass: "tex2jax_process",
//
// Set to "true" to allow \$ to produce a dollar without starting in-line
// math mode. If you uncomment the ['$','$'] line above, you should change
// this to true so that you can insert plain dollar signs into your documents
//
processEscapes: false,
//
// Controls whether tex2jax processes LaTeX environments outside of math
// mode. Set to "false" to prevent processing of environments except within
// math mode.
//
processEnvironments: true,
//
// Controls whether tex2jax processes \ref{...} commands outside
// of math mode. Set to "false" to prevent processing of \ref
// except within math mode.
//
processRefs: true,
//
// Controls whether tex2jax inserts MathJax_Preview spans to make a
// preview available, and what preview to use, when it locates in-line
// and display mathetics on the page. The default is "TeX", which
// means use the TeX code as the preview (until it is processed by
// MathJax). Set to "none" to prevent the previews from being
// inserted (the math will simply disappear until it is typeset). Set
// to an array containing the description of an HTML snippet in order
// to use the same preview for all equations on the page (e.g., you
// could have it say "[math]" or load an image).
//
// E.g., preview: ["[math]"],
// or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
//
preview: "TeX"
},
//============================================================================
//
// These parameters control the asciimath2jax preprocessor (when you have included
// "asciimath2jax.js" in the extensions list above).
//
asciimath2jax: {
//
// The delimiters that surround asciimath expressions. The first in each
// pair is the initial delimiter and the second is the terminal delimiter.
//
delimiters: [
['`','`']
],
//
// This array lists the names of the tags whose contents should not be
// processed by asciimath2jax (other than to look for ignore/process classes
// as listed below). You can add to (or remove from) this list to prevent
// MathJax from processing mathematics in specific contexts.
//
skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],
//
// This is the class name used to mark elements whose contents should
// not be processed by asciimath2jax (other than to look for the
// processClass pattern below). Note that this is a regular
// expression, and so you need to be sure to quote any regexp special
// characters. The pattern is automatically preceeded by '(^| )(' and
// followed by ')( |$)', so your pattern will have to match full words
// in the class name. Assigning an element this class name will
// prevent `asciimath2jax` from processing its contents.
//
ignoreClass: "asciimath2jax_ignore",
//
// This is the class name used to mark elements whose contents SHOULD
// be processed by asciimath2jax. This is used to turn on processing
// within tags that have been marked as ignored or skipped above.
// Note that this is a regular expression, and so you need to be sure
// to quote any regexp special characters. The pattern is
// automatically preceeded by '(^| )(' and followed by ')( |$)', so
// your pattern will have to match full words in the class name. Use
// this to restart processing within an element that has been marked
// as ignored above.
//
processClass: "asciimath2jax_process",
// Controls whether asciimath2jax inserts MathJax_Preview spans to make a
// preview available, and what preview to use, when it locates in-line
// and display mathetics on the page. The default is "AsciiMath", which
// means use the AsciiMath code as the preview (until it is processed by
// MathJax). Set to "none" to prevent the previews from being
// inserted (the math will simply disappear until it is typeset). Set
// to an array containing the description of an HTML snippet in order
// to use the same preview for all equations on the page (e.g., you
// could have it say "[math]" or load an image).
//
// E.g., preview: ["[math]"],
// or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
//
preview: "AsciiMath"
},
//============================================================================
//
// These parameters control the mml2jax preprocessor (when you have included
// "mml2jax.js" in the extensions list above).
//
mml2jax: {
//
// Controls whether mml2jax inserts MathJax_Preview spans to make a
// preview available, and what preview to use, when it locates
// mathematics on the page. The default is "mathml" which means use
// the <math> tag as the preview (until it is processed by MathJax).
// Set to "alttext", to use the <math> tag's alttext attribute as the
// preview, if the tag has one. Set to "none" to
// prevent the previews from being inserted (the math will simply
// disappear until it is typeset). Set to "altimg" to use an image
// described by the altimg* attributes of the <math> element.
// Set to an array containing the
// description of an HTML snippet in order to use the same preview for
// all equations on the page (e.g., you could have it say "[math]" or
// load an image).
//
// E.g., preview: ["[math]"],
// or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
//
preview: "mathml"
},
//============================================================================
//
// These parameters control the jsMath2jax preprocessor (when you have included
// "jsMath2jax.js" in the extensions list above).
//
jsMath2jax: {
//
// Controls whether jsMath2jax inserts MathJax_Preview spans to make a
// preview available, and what preview to use, when it locates
// mathematics on the page. The default is "TeX", which means use the
// TeX code as the preview (until it is processed by MathJax). Set to
// "none" to prevent the previews from being inserted (the math will
// simply disappear until it is typeset). Set to an array containing
// the description of an HTML snippet in order to use the same preview
// for all equations on the page (e.g., you could have it say "[math]"
// or load an image).
//
// E.g., preview: ["[math]"],
// or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
//
preview: "TeX"
},
//============================================================================
//
// These parameters control the TeX input jax.
//
TeX: {
//
// This specifies the side on which \tag{} macros will place the tags.
// Set to "left" to place on the left-hand side.
//
TagSide: "right",
//
// This is the amound of indentation (from right or left) for the tags.
//
TagIndent: "0.8em",
//
// This is the width to use for the multline environment
//
MultLineWidth: "85%",
//
// List of macros to define. These are of the form
// name: value
// where 'value' is the replacement text for the macro \name.
// The 'value' can also be [value,n] where 'value' is the replacement
// text and 'n' is the number of parameters for the macro.
// Note that backslashes must be doubled in the replacement string.
//
// E.g.,
//
// Macros: {
// RR: '{\\bf R}',
// bold: ['{\\bf #1}', 1]
// }
//
Macros: {},
//
// Equation numbering parameters.
//
equationNumbers: {
autoNumber: "none", // "AMS" for standard AMS environment numbering,
// or "all" to number all displayed equations
// formatNumber: function (n) {return n}, // format for equation number n
// formatTag: function (n) {return '('+n+')'}, // format for \tag and \eqref
// formatID: function (n) {return 'mjx-eqn-'+String(n).replace(/[:'"<>&]/g,"")},
// // element ID to use for reference
// formatURL: function (id,base) {return base+'#'+escape(id)},
// // URL to use for references
useLabelIds: true // make element ID's use \label name rather than equation number
},
//
// Controls the TeX/noErrors extension
//
noErrors: {
disabled: false, // set to true to return to original error messages
multiLine: true, // false to not include original line breaks
inlineDelimiters: ["",""], // or use ["$","$"] or ["\\(","\\)"] to put back delimiters
style: {
"font-size": "90%",
"text-align": "left",
"color": "black",
"padding": "1px 3px",
"border": "1px solid"
}
},
//
// Controls the TeX/noUndefined extension
//
noUndefined: {
disabled: false, // set to true to return to original error messages
attributes: { // attributes to set for the undefined control sequence
mathcolor: "red"
}
},
//
// Controls the TeX/unicode extension
unicode: {
fonts: "STIXGeneral,'Arial Unicode MS'" // the default font list for unknown characters
}
},
//============================================================================
//
// These parameters control the AsciiMath input jax.
//
AsciiMath: {
//
// Determines whether the unicode positions for phi and varphi are
// to be swapped or not. (Unicode originally had these reversed, and
// many fonts have them reversed as well.) When set to true, phi
// and varphi will correspond to the LaTeX macros of the same name.
//
fixphi: true,
//
// Determines whether the MathML should be marked so that the HTML-CSS
// and SVG output jax will use MathML spacing rules rather than TeX
// spacing rules. Since AsciiMath was designed for MathML output, the
// MathML rules are used by default.
//
useMathMLspacing: true,
//
// Determines whether limits are placed above and below operators,
// or next to them. (AsciiMath doesn't have separate in-line and
// display modes like TeX and MathML do, so this is the only control
// you have over its output)
//
displaystyle: true,
//
// The character to use for decimal places when scanning for a number.
// If you change it to ",", beware of things like "(1,2)" which would need
// to be changed to "(1, 2)" to be parsed correctly.
//
decimal: "."
},
//============================================================================
//
// These parameters control the MathML input jax.
//
MathML: {
//
// This specifies whether to use TeX spacing or MathML spacing when the
// HTML-CSS output jax is used.
//
useMathMLspacing: false
},
//============================================================================
//
// These parameters control the HTML-CSS output jax.
//
"HTML-CSS": {
//
// This controls the global scaling of mathematics as compared to the
// surrounding text. Values between 100 and 133 are usually good choices.
//
scale: 100,
//
// Don't allow the matching of math text to surrounding text to use a scaling
// factor smaller than this.
//
minScaleAdjust: 50,
//
// This is a list of the fonts to look for on a user's computer in
// preference to using MathJax's web-based fonts. These must
// correspond to directories available in the jax/output/HTML-CSS/fonts
// directory, where MathJax stores data about the characters available
// in the fonts. Set this to ["TeX"], for example, to prevent the
// use of the STIX fonts, or set it to an empty list, [], if
// you want to force MathJax to use web-based or image fonts.
//
availableFonts: ["STIX","TeX"],
//
// This is the preferred font to use when more than one of those
// listed above is available.
//
preferredFont: "TeX",
//
// This is the web-based font to use when none of the fonts listed
// above are available on the user's computer. Note that currently
// only the TeX font is available in a web-based form. Set this to
//
// webFont: null,
//
// if you want to prevent the use of web-based fonts.
//
webFont: "TeX",
//
// This is the font to use for image fallback mode (when none of the
// fonts listed above are available and the browser doesn't support
// web-fonts via the @font-face CSS directive). Note that currently
// only the TeX font is available as an image font. Set this to
//
// imageFont: null,
//
// if you want to prevent the use of image fonts (e.g., you have not
// installed the image fonts on your server). In this case, only
// browsers that support web-based fonts will be able to view your pages
// without having the fonts installed on the client computer. The browsers
// that support web-based fonts include: IE6 and later, Chrome, Safari3.1
// and above, Firefox3.5 and later, and Opera10 and later. Note that
// Firefox3.0 is NOT on this list, so without image fonts, FF3.0 users
// will be required to to download and install either the STIX fonts or the
// MathJax TeX fonts.
//
imageFont: "TeX",
//
// This is the font-family CSS value used for characters that are not
// in the selected font (e.g., for web-based fonts, this is where to
// look for characters not included in the MathJax_* fonts). IE will
// stop looking after the first font that exists on the system (even
// if it doesn't contain the needed character), so order these carefully.
//
undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif",
//
// This setting controls whether <mtext> elements will be typeset
// using the math fonts or the font of the surrounding text. When
// false, the mathvariant="normal" font will be used; when true,
// the font will be inherited from the surrounding paragraph.
//
mtextFontInherit: false,
//
// These values control how "chunky" the display of mathematical
// expressions will be.
//
// EqnChunk is the number of equations that will be typeset before
// they appear on screen. Larger values make for less visual flicker
// as the equations are drawn, but also mean longer delays before the
// reader sees anything.
//
// EqChunkFactor is the factor by which the EqnChunk will grow after each
// chunk is displayed.
//
// EqChunkDelay is the time (in milliseconds) to delay between chunks
// (to allow the browser to respond to other user interaction).
//
// Set EqnChunk to 1, EqnChunkFactor to 1, and EqnChunkDelay to 10 to get
// the behavior from MathJax v1.1 and below.
//
EqnChunk: 50,
EqnChunkFactor: 1.5,
EqnChunkDelay: 100,
//
// This option indicates whether MathJax should try to correct the
// x-height of equations to match the size of the surrounding text.
//
matchFontHeight: true,
//
// When true, MathJax will not measure the widths or heights of the
// subexpressions as it creates its output, but instead will rely on
// its internal calculautions based on teh bounding boxes of the
// characters it uses, and will only take measurements when it
// absolutely has to. Since measurements cause display reflows, they
// slows down MathJax considerably, so without them MathJax runs
// faster, but can produce slightly less accurate character placements,
// especially in width fractions or roots.
//
noReflows: true,
//
// These settings control automatic line breaking. It is off by
// default, so only explicit line breaks are performed (via
// linebreak="newline" attributes on <mo> and <mspace> elements). To
// perform automatic line breaking on line expressions, set
// 'automatic' to 'true' below. The line breaks will be applied via a
// penalty-based heuristic, which does well, but isn't perfect. You
// might need to use linebreak="goodbreak" or linebreak="badbreak" by
// hand in order to get better effects. It is also possible to modify
// the penalty values; contact the MathJax user's forum for details.
//
linebreaks: {
//
// This controls the automatic breaking of expressions:
// when false, only process linebreak="newline",
// when true, line breaks are inserted automatically in long expressions.
//
automatic: false,
//
// This controls how wide the lines of mathematics can be
//
// Use an explicit width like "30em" for a fixed width.
// Use "container" to compute the size from the containing element.
// Use "nn% container" for a portion of the container.
// Use "nn%" for a portion of the window size.
//
// The container-based widths may be slower, and may not produce the
// expected results if the layout width changes due to the removal
// of previews or inclusion of mathematics during typesetting.
//
width: "container"
},
//
// This allows you to define or modify the styles used to display
// various math elements created by MathJax.
//
// Example:
// styles: {
// ".MathJax .merror": {
// color: "#CC0000",
// border: "1px solid #CC0000"
// }
// }
//
styles: {},
//
// Configuration for <maction> tooltips
// (see also the #MathJax_Tooltip CSS in MathJax/jax/output/HTML-CSS/config.js,
// which can be overriden using the styles values above).
//
tooltip: {
delayPost: 600, // milliseconds delay before tooltip is posted after mouseover
delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout
offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position
}
},
//============================================================================
//
// These parameters control the NativeMML output jax.
//
NativeMML: {
//
// This controls the global scaling of mathematics as compared to the
// surrounding text. Values between 100 and 133 are usually good choices.
//
scale: 100,
//
// Don't allow the matching of math text to surrounding text to use a scaling
// factor smaller than this.
//
minScaleAdjust: 50,
// This option indicates whether MathJax should try to correct the
// x-height of equations to match the size of the surrounding text.
matchFontHeight: true,
//
// This allows you to define or modify the styles used to display
// various math elements created by MathJax.
//
// Example:
// styles: {
// ".MathJax_MathML": {
// color: "red" // MathML is in red
// }
// }
//
styles: {}
},
//============================================================================
//
// These parameters control the SVG output jax.
//
"SVG": {
//
// This controls the global scaling of mathematics as compared to the
// surrounding text. Values between 100 and 133 are usually good choices.
//
scale: 100,
//
// Don't allow the matching of math text to surrounding text to use a scaling
// factor smaller than this.
//
minScaleAdjust: 50,
//
// This specifies the font to use for SVG output (currently the only
// one available)
//
font: "TeX",
//
// This is the stroke width to use for all character paths (1em = 1000
// units). This is a cheap way of getting slightly lighter or darker
// characters
//
blacker: 10,
//
// This is the font-family CSS value used for characters that are not
// in the selected font. IE will stop looking after the first font
// that exists on the system (even if it doesn't contain the needed
// character), so order these carefully.
//
undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif",
//
// This setting controls whether <mtext> elements will be typeset
// using the math fonts or the font of the surrounding text. When
// false, the mathvariant="normal" font will be used; when true,
// the font will be inherited from the surrounding paragraph.
//
mtextFontInherit: false,
//
// This controls whether the MathML structure is retained and CSS
// classes are added to mark the original MathML elements (as in the
// HTML-CSS output). By default, the SVG output jax removes unneeded
// nesting in order to produce a more efficient markup, but if you
// want to use CSS to style the elements as if they were MathML, you
// might need to set this to true.
//
addMMLclasses: false,
//
// These values control how "chunky" the display of mathematical
// expressions will be.
//
// EqnChunk is the number of equations that will be typeset before
// they appear on screen. Larger values make for less visual flicker
// as the equations are drawn, but also mean longer delays before the
// reader sees anything.
//
// EqChunkFactor is the factor by which the EqnChunk will grow after each
// chunk is displayed.
//
// EqChunkDelay is the time (in milliseconds) to delay between chunks
// (to allow the browser to respond to other user interaction).
//
// Set EqnChunk to 1, EqnChunkFactor to 1, and EwnChunkDelay to 10 to get
// the behavior from MathJax v1.1 and below.
//
EqnChunk: 50,
EqnChunkFactor: 1.5,
EqnChunkDelay: 100,
// This option indicates whether MathJax should try to correct the
// x-height of equations to match the size of the surrounding text.
matchFontHeight: true,
//
// These settings control automatic line breaking. It is off by
// default, so only explicit line breaks are performed (via
// linebreak="newline" attributes on <mo> and <mspace> elements). To
// perform automatic line breaking on line expressions, set
// 'automatic' to 'true' below. The line breaks will be applied via a
// penalty-based heuristic, which does well, but isn't perfect. You
// might need to use linebreak="goodbreak" or linebreak="badbreak" by
// hand in order to get better effects. It is also possible to modify
// the penalty values; contact the MathJax user's forum for details.
//
linebreaks: {
//
// This controls the automatic breaking of expressions:
// when false, only process linebreak="newline",
// when true, line breaks are inserted automatically in long expressions.
//
automatic: false,
//
// This controls how wide the lines of mathematics can be
//
// Use an explicit width like "30em" for a fixed width.
// Use "container" to compute the size from the containing element.
// Use "nn% container" for a portion of the container.
// Use "nn%" for a portion of the window size.
//
// The container-based widths may be slower, and may not produce the
// expected results if the layout width changes due to the removal
// of previews or inclusion of mathematics during typesetting.
//
width: "container"
},
//
// These are the styles used for merror elements in SVG output. Note
// that only a limited number of style attributes are supported by
// SVG, but you can at least change the colors and borders.
//
//
merrorStyle: {
fontSize:"90%", color:"#C00", background:"#FF8",
border: "1px solid #C00", padding:"3px"
},
//
// This allows you to define or modify the styles used to display
// various math elements created by MathJax.
//
// Example:
// styles: {
// ".MathJax .merror": {
// color: "#CC0000",
// border: "1px solid #CC0000"
// }
// }
//
styles: {},
//
// Configuration for <maction> tooltips
// (see also the #MathJax_Tooltip CSS in MathJax/jax/output/SVG/config.js,
// which can be overriden using the styles values above).
//
tooltip: {
delayPost: 600, // milliseconds delay before tooltip is posted after mouseover
delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout
offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position
}
},
//============================================================================
//
// These parameters control the contextual menus that are available on the
// mathematics within the page (provided the showMathMenu value is true above).
//
MathMenu: {
//
// This is the hover delay for the display of submenus in the
// contextual menu. When the mouse is still over a submenu label for
// this long, the menu will appear. (The menu also will appear if you
// click on the label.) It is in milliseconds.
//
delay: 150,
//
// This is the URL for the MathJax Help menu item.
//
helpURL: "http://www.mathjax.org/help-v2/user/",
//
// These control whether the "Math Renderer", "MathPlayer", "Font
// Preferences", "Contextual Menu", and "Discoverable" menu items will
// be displayed or not.
//
showRenderer: true,
showMathPlayer: true,
showFontMenu: false,
showContext: false,
showDiscoverable: false,
//
// These are the settings for the Annotation menu. If the <math> root has
// a <semantics> child that contains one of the following annotation
// formats, the source will be available via the "Show Math As" menu.
// Each format has a list of possible encodings.
//
semanticsAnnotations: {
"TeX": ["TeX", "LaTeX", "application/x-tex"],
"StarMath": ["StarMath 5.0"],
"Maple": ["Maple"],
"ContentMathML": ["MathML-Content", "application/mathml-content+xml"],
"OpenMath": ["OpenMath"]
},
//
// These are the settings for the Show Source window. The initial
// width and height will be reset after the source is shown in an
// attempt to make the window fit the output better.
//
windowSettings: {
status: "no", toolbar: "no", locationbar: "no", menubar: "no",
directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes",
width: 100, height: 50
},
//
// This allows you to change the CSS that controls the menu
// appearance. See the extensions/MathMenu.js file for details
// of the default settings.
//
styles: {}
},
//============================================================================
//
// These parameters control the contextual menus that are available on the
// mathematics within the page (provided the showMathMenu value is true above).
//
MathEvents: {
//
// This is the time required for the mouse to be held still over a
// typeset equation in order for it to count as a hover (used when the
// zoom trigger is "Hover"). It is in milliseconds.
//
hover: 500
},
//============================================================================
//
// These parameters control the MMLorHTML configuration file.
// NOTE: if you add MMLorHTML.js to the config array above,
// you must REMOVE the output jax from the jax array.
//
MMLorHTML: {
//
// The output jax that is to be preferred when both are possible
// (set to "MML" for native MathML, "HTML" for MathJax's HTML-CSS output jax).
//
prefer: {
MSIE: "MML",
Firefox: "HTML",
Opera: "HTML",
Safari: "HTML",
Chrome: "HTML",
other: "HTML"
}
}
});
MathJax.Ajax.loadComplete("[MathJax]/config/default.js");