default.js 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117
  1. /* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */
  2. /* vim: set ts=2 et sw=2 tw=80: */
  3. /*************************************************************
  4. *
  5. * MathJax/config/default.js
  6. *
  7. * This configuration file is loaded when you load MathJax
  8. * via <script src="MathJax.js?config=default"></script>
  9. *
  10. * Use it to customize the MathJax settings. See comments below.
  11. *
  12. * ---------------------------------------------------------------------
  13. *
  14. * Copyright (c) 2009-2017 The MathJax Consortium
  15. *
  16. * Licensed under the Apache License, Version 2.0 (the "License");
  17. * you may not use this file except in compliance with the License.
  18. * You may obtain a copy of the License at
  19. *
  20. * http://www.apache.org/licenses/LICENSE-2.0
  21. *
  22. * Unless required by applicable law or agreed to in writing, software
  23. * distributed under the License is distributed on an "AS IS" BASIS,
  24. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  25. * See the License for the specific language governing permissions and
  26. * limitations under the License.
  27. */
  28. /*
  29. * This file lists most, but not all, of the options that can be set for
  30. * MathJax and its various components. Some additional options are
  31. * available, however, and are listed in the various links at:
  32. *
  33. * http://www.mathjax.org/resources/docs/?configuration.html#configuration-options-by-component
  34. *
  35. * You can add these to the configuration object below if you
  36. * want to change them from their default values.
  37. */
  38. MathJax.Hub.Config({
  39. //
  40. // A comma-separated list of configuration files to load
  41. // when MathJax starts up. E.g., to define local macros, etc.
  42. // The default directory is the MathJax/config directory.
  43. //
  44. // Example: config: ["local/local.js"],
  45. // Example: config: ["local/local.js","MMLtoHTML.js"],
  46. //
  47. config: [],
  48. //
  49. // A comma-separated list of CSS stylesheet files to be loaded
  50. // when MathJax starts up. The default directory is the
  51. // MathJax/config directory.
  52. //
  53. // Example: styleSheets: ["MathJax.css"],
  54. //
  55. styleSheets: [],
  56. //
  57. // Styles to be defined dynamically at startup time.
  58. //
  59. // Example:
  60. // styles: {
  61. // ".MathJax_Preview": {
  62. // color: "#888"
  63. // }
  64. // },
  65. //
  66. styles: {},
  67. //
  68. // A comma-separated list of input and output jax to initialize at startup.
  69. // Their main code is loaded only when they are actually used, so it is not
  70. // inefficient to include jax that may not actually be used on the page. These
  71. // are found in the MathJax/jax directory. The choices include
  72. //
  73. // input/TeX
  74. // input/MathML
  75. // input/AsciiMath
  76. //
  77. // output/HTML-CSS
  78. // output/NativeMML
  79. // output/SVG
  80. //
  81. // If you change the input jax, you may need to include the appropriate
  82. // preprocessor in the extensions array below.
  83. //
  84. jax: ["input/TeX", "output/HTML-CSS"],
  85. //
  86. // A comma-separated list of extensions to load at startup. The default
  87. // directory is MathJax/extensions.
  88. //
  89. // Example: extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"],
  90. //
  91. // You may wish to include "mml2jax.js" if you are using "input/MathML" in the
  92. // jax array above, and "asciimath2jax.js" if you using "input/AsciiMath".
  93. // Include "jsmath2jax.js" if you are converting from using jsMath to MathJax.
  94. //
  95. extensions: ["tex2jax.js"],
  96. //
  97. // Patterns to remove from before and after math script tags. If you are not
  98. // using one of the preprocessors (e.g., tex2jax), you need to insert something
  99. // extra into your HTML file in order to avoid a bug in Internet Explorer. IE
  100. // removes spaces from the DOM that it thinks are redundent, and since a SCRIPT
  101. // tag usually doesn't add content to the page, if there is a space before and after
  102. // a MathJax SCRIPT tag, IE will remove the first space. When MathJax inserts
  103. // the typeset mathematics, this means there will be no space before it and the
  104. // preceeding text. In order to avoid this, you should include some "guard characters"
  105. // before or after the math SCRIPT tag; define the patterns you want to use below.
  106. // Note that these are used as regular expressions, so you will need to quote
  107. // special characters. Furthermore, since they are javascript strings, you must
  108. // quote javascript special characters as well. So to obtain a backslash, you must
  109. // use \\ (doubled for javascript). For example, "\\[" is the pattern \[ in the
  110. // regular expression. That means that if you want an actual backslash in your
  111. // guard characters, you need to use "\\\\" in order to get \\ in the regular
  112. // expression, and \ in the actual text. If both preJax and postJax are defined,
  113. // both must be present in order to be removed.
  114. //
  115. // See also the preRemoveClass comments below.
  116. //
  117. // Example:
  118. // preJax: "\\\\\\\\", // makes a double backslash the preJax text
  119. // or
  120. // preJax: "\\[\\[", // jax scripts must be enclosed in double brackets
  121. // postJax: "\\]\\]",
  122. //
  123. preJax: null,
  124. postJax: null,
  125. //
  126. // The CSS class for a math preview to be removed preceeding a MathJax
  127. // SCRIPT tag. If the tag just before the MathJax SCRIPT tag is of this
  128. // class, its contents are removed when MathJax processes the SCRIPT
  129. // tag. This allows you to include a math preview in a form that will
  130. // be displayed prior to MathJax performing its typesetting. It also
  131. // avoids the Internet Explorer space-removal bug, and can be used in
  132. // place of preJax and postJax if that is more convenient.
  133. //
  134. // For example
  135. //
  136. // <span class="MathJax_Preview">[math]</span><script type="math/tex">...</script>
  137. //
  138. // would display "[math]" in place of the math until MathJax is able to typeset it.
  139. //
  140. preRemoveClass: "MathJax_Preview",
  141. //
  142. // This value controls whether the "Processing Math: nn%" message are displayed
  143. // in the lower left-hand corner. Set to "false" to prevent those messages (though
  144. // file loading and other messages will still be shown).
  145. //
  146. showProcessingMessages: true,
  147. //
  148. // This value controls the verbosity of the messages in the lower left-hand corner.
  149. // Set it to "none" to eliminate all messages, or set it to "simple" to show
  150. // "Loading..." and "Processing..." rather than showing the full file name and the
  151. // percentage of the mathematics processed.
  152. //
  153. messageStyle: "normal",
  154. //
  155. // These two parameters control the alignment and shifting of displayed equations.
  156. // The first can be "left", "center", or "right", and determines the alignment of
  157. // displayed equations. When the alignment is not "center", the second determines
  158. // an indentation from the left or right side for the displayed equations. When
  159. // the alignment is "center", the indent allows you to shift the center to the right
  160. // or left (negative is left).
  161. //
  162. displayAlign: "center",
  163. displayIndent: "0",
  164. //
  165. // Normally MathJax will perform its starup commands (loading of
  166. // configuration, styles, jax, and so on) as soon as it can. If you
  167. // expect to be doing additional configuration on the page, however, you
  168. // may want to have it wait until the page's onload hander is called. If so,
  169. // set this to "onload".
  170. //
  171. delayStartupUntil: "none",
  172. //
  173. // Normally MathJax will typeset the mathematics on the page as soon as
  174. // the page is loaded. If you want to delay that process, in which case
  175. // you will need to call MathJax.Hub.Typeset() yourself by hand, set
  176. // this value to true.
  177. //
  178. skipStartupTypeset: false,
  179. //
  180. // A list of element ID's that are the ones to process for mathematics
  181. // when any of the Hub typesetting calls (Typeset, Process, Update, etc)
  182. // are called with no element specified. This lets you restrict the
  183. // processing to particular containers rather than scanning the entire
  184. // document for mathematics. If none are supplied, the entire document
  185. // is processed.
  186. //
  187. elements: [],
  188. //
  189. // Since typesetting usually changes the vertical dimensions of the
  190. // page, if the URL contains an anchor position you may no longer be
  191. // positioned at the correct position on the page, so MathJax can
  192. // reposition to that location after it completes its initial
  193. // typesetting of the page. This value controls whether MathJax will
  194. // reposition the browser to the #hash location from the page URL after
  195. // typesetting for the page.
  196. //
  197. positionToHash: true,
  198. //
  199. // These control whether to attach the MathJax contextual menu to the
  200. // expressions typeset by MathJax. Since the code for handling
  201. // MathPlayer in Internet Explorer is somewhat delicate, it is
  202. // controlled separately via (showMathMenuMSIE). The latter is now
  203. // deprecated in favor of the MathJax contextual menu settings for
  204. // MathPlayer.
  205. //
  206. // These values used to be listed in the separate output jax, but
  207. // have been moved to this more central location since they are shared
  208. // by all output jax.
  209. //
  210. showMathMenu: true,
  211. showMathMenuMSIE: true,
  212. //
  213. // The default settings for the MathJax contextual menu (overridden by
  214. // the MathJax cookie when users change the menu settings).
  215. //
  216. menuSettings: {
  217. zoom: "None", // when to do MathZoom
  218. CTRL: false, // require CTRL for MathZoom?
  219. ALT: false, // require Alt or Option?
  220. CMD: false, // require CMD?
  221. Shift: false, // require Shift?
  222. discoverable: false, // make math menu discoverable on hover?
  223. zscale: "200%", // the scaling factor for MathZoom
  224. renderer: null, // set when Jax are loaded
  225. font: "Auto", // what font HTML-CSS should use
  226. context: "MathJax", // or "Browser" for pass-through to browser menu
  227. locale: null, // the language to use for messages
  228. mpContext: false, // true means pass menu events to MathPlayer in IE
  229. mpMouse: false, // true means pass mouse events to MathPlayer in IE
  230. texHints: true, // include class names for TeXAtom elements
  231. FastPreview: null, // use PreviewHTML output as preview?
  232. assistiveMML: null, // include hidden MathML for screen readers?
  233. inTabOrder: true, // set to true if math elements should be included in the tabindex
  234. semantics: false // add semantics tag with original form in MathML output
  235. },
  236. //
  237. // The message and style for when there is a processing error handling
  238. // the mathematics (something has gone wrong with the input or output
  239. // jax that prevents it from operating properly).
  240. //
  241. errorSettings: {
  242. message: ["[",["MathProcessingError","Math Processing Error"],"]"],
  243. style: {color: "#CC0000", "font-style":"italic"} // style for message
  244. },
  245. //============================================================================
  246. //
  247. // These parameters control the tex2jax preprocessor (when you have included
  248. // "tex2jax.js" in the extensions list above).
  249. //
  250. tex2jax: {
  251. //
  252. // The delimiters that surround in-line math expressions. The first in each
  253. // pair is the initial delimiter and the second is the terminal delimiter.
  254. // Comment out any that you don't want, but be sure there is no extra
  255. // comma at the end of the last item in the list -- some browsers won't
  256. // be able to handle that.
  257. //
  258. inlineMath: [
  259. // ['$','$'], // uncomment this for standard TeX math delimiters
  260. ['\\(','\\)']
  261. ],
  262. //
  263. // The delimiters that surround displayed math expressions. The first in each
  264. // pair is the initial delimiter and the second is the terminal delimiter.
  265. // Comment out any that you don't want, but be sure there is no extra
  266. // comma at the end of the last item in the list -- some browsers won't
  267. // be able to handle that.
  268. //
  269. displayMath: [
  270. ['$$','$$'],
  271. ['\\[','\\]']
  272. ],
  273. //
  274. // This value determines whether tex2jax requires braces to be
  275. // balanced within math delimiters (which allows for nested dollar
  276. // signs). Set to false to get pre-v2.0 compatibility. When true,
  277. //
  278. // $y = x^2 \hbox{ when $x > 2$}$.
  279. //
  280. // will be properly handled as a single expression. When false, it
  281. // would be interpreted as two searpate expressions, each with
  282. // improperly balanced braces.
  283. //
  284. balanceBraces: true,
  285. //
  286. // This array lists the names of the tags whose contents should not be
  287. // processed by tex2jax (other than to look for ignore/process classes
  288. // as listed below). You can add to (or remove from) this list to prevent
  289. // MathJax from processing mathematics in specific contexts.
  290. //
  291. skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],
  292. //
  293. // This is the class name used to mark elements whose contents should
  294. // not be processed by tex2jax (other than to look for the
  295. // processClass pattern below). Note that this is a regular
  296. // expression, and so you need to be sure to quote any regexp special
  297. // characters. The pattern is automatically preceeded by '(^| )(' and
  298. // followed by ')( |$)', so your pattern will have to match full words
  299. // in the class name. Assigning an element this class name will
  300. // prevent `tex2jax` from processing its contents.
  301. //
  302. ignoreClass: "tex2jax_ignore",
  303. //
  304. // This is the class name used to mark elements whose contents SHOULD
  305. // be processed by tex2jax. This is used to turn on processing within
  306. // tags that have been marked as ignored or skipped above. Note that
  307. // this is a regular expression, and so you need to be sure to quote
  308. // any regexp special characters. The pattern is automatically
  309. // preceeded by '(^| )(' and followed by ')( |$)', so your pattern
  310. // will have to match full words in the class name. Use this to
  311. // restart processing within an element that has been marked as
  312. // ignored above.
  313. //
  314. processClass: "tex2jax_process",
  315. //
  316. // Set to "true" to allow \$ to produce a dollar without starting in-line
  317. // math mode. If you uncomment the ['$','$'] line above, you should change
  318. // this to true so that you can insert plain dollar signs into your documents
  319. //
  320. processEscapes: false,
  321. //
  322. // Controls whether tex2jax processes LaTeX environments outside of math
  323. // mode. Set to "false" to prevent processing of environments except within
  324. // math mode.
  325. //
  326. processEnvironments: true,
  327. //
  328. // Controls whether tex2jax processes \ref{...} commands outside
  329. // of math mode. Set to "false" to prevent processing of \ref
  330. // except within math mode.
  331. //
  332. processRefs: true,
  333. //
  334. // Controls whether tex2jax inserts MathJax_Preview spans to make a
  335. // preview available, and what preview to use, when it locates in-line
  336. // and display mathetics on the page. The default is "TeX", which
  337. // means use the TeX code as the preview (until it is processed by
  338. // MathJax). Set to "none" to prevent the previews from being
  339. // inserted (the math will simply disappear until it is typeset). Set
  340. // to an array containing the description of an HTML snippet in order
  341. // to use the same preview for all equations on the page (e.g., you
  342. // could have it say "[math]" or load an image).
  343. //
  344. // E.g., preview: ["[math]"],
  345. // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
  346. //
  347. preview: "TeX"
  348. },
  349. //============================================================================
  350. //
  351. // These parameters control the asciimath2jax preprocessor (when you have included
  352. // "asciimath2jax.js" in the extensions list above).
  353. //
  354. asciimath2jax: {
  355. //
  356. // The delimiters that surround asciimath expressions. The first in each
  357. // pair is the initial delimiter and the second is the terminal delimiter.
  358. //
  359. delimiters: [
  360. ['`','`']
  361. ],
  362. //
  363. // This array lists the names of the tags whose contents should not be
  364. // processed by asciimath2jax (other than to look for ignore/process classes
  365. // as listed below). You can add to (or remove from) this list to prevent
  366. // MathJax from processing mathematics in specific contexts.
  367. //
  368. skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],
  369. //
  370. // This is the class name used to mark elements whose contents should
  371. // not be processed by asciimath2jax (other than to look for the
  372. // processClass pattern below). Note that this is a regular
  373. // expression, and so you need to be sure to quote any regexp special
  374. // characters. The pattern is automatically preceeded by '(^| )(' and
  375. // followed by ')( |$)', so your pattern will have to match full words
  376. // in the class name. Assigning an element this class name will
  377. // prevent `asciimath2jax` from processing its contents.
  378. //
  379. ignoreClass: "asciimath2jax_ignore",
  380. //
  381. // This is the class name used to mark elements whose contents SHOULD
  382. // be processed by asciimath2jax. This is used to turn on processing
  383. // within tags that have been marked as ignored or skipped above.
  384. // Note that this is a regular expression, and so you need to be sure
  385. // to quote any regexp special characters. The pattern is
  386. // automatically preceeded by '(^| )(' and followed by ')( |$)', so
  387. // your pattern will have to match full words in the class name. Use
  388. // this to restart processing within an element that has been marked
  389. // as ignored above.
  390. //
  391. processClass: "asciimath2jax_process",
  392. // Controls whether asciimath2jax inserts MathJax_Preview spans to make a
  393. // preview available, and what preview to use, when it locates in-line
  394. // and display mathetics on the page. The default is "AsciiMath", which
  395. // means use the AsciiMath code as the preview (until it is processed by
  396. // MathJax). Set to "none" to prevent the previews from being
  397. // inserted (the math will simply disappear until it is typeset). Set
  398. // to an array containing the description of an HTML snippet in order
  399. // to use the same preview for all equations on the page (e.g., you
  400. // could have it say "[math]" or load an image).
  401. //
  402. // E.g., preview: ["[math]"],
  403. // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
  404. //
  405. preview: "AsciiMath"
  406. },
  407. //============================================================================
  408. //
  409. // These parameters control the mml2jax preprocessor (when you have included
  410. // "mml2jax.js" in the extensions list above).
  411. //
  412. mml2jax: {
  413. //
  414. // Controls whether mml2jax inserts MathJax_Preview spans to make a
  415. // preview available, and what preview to use, when it locates
  416. // mathematics on the page. The default is "mathml" which means use
  417. // the <math> tag as the preview (until it is processed by MathJax).
  418. // Set to "alttext", to use the <math> tag's alttext attribute as the
  419. // preview, if the tag has one. Set to "none" to
  420. // prevent the previews from being inserted (the math will simply
  421. // disappear until it is typeset). Set to "altimg" to use an image
  422. // described by the altimg* attributes of the <math> element.
  423. // Set to an array containing the
  424. // description of an HTML snippet in order to use the same preview for
  425. // all equations on the page (e.g., you could have it say "[math]" or
  426. // load an image).
  427. //
  428. // E.g., preview: ["[math]"],
  429. // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
  430. //
  431. preview: "mathml"
  432. },
  433. //============================================================================
  434. //
  435. // These parameters control the jsMath2jax preprocessor (when you have included
  436. // "jsMath2jax.js" in the extensions list above).
  437. //
  438. jsMath2jax: {
  439. //
  440. // Controls whether jsMath2jax inserts MathJax_Preview spans to make a
  441. // preview available, and what preview to use, when it locates
  442. // mathematics on the page. The default is "TeX", which means use the
  443. // TeX code as the preview (until it is processed by MathJax). Set to
  444. // "none" to prevent the previews from being inserted (the math will
  445. // simply disappear until it is typeset). Set to an array containing
  446. // the description of an HTML snippet in order to use the same preview
  447. // for all equations on the page (e.g., you could have it say "[math]"
  448. // or load an image).
  449. //
  450. // E.g., preview: ["[math]"],
  451. // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
  452. //
  453. preview: "TeX"
  454. },
  455. //============================================================================
  456. //
  457. // These parameters control the TeX input jax.
  458. //
  459. TeX: {
  460. //
  461. // This specifies the side on which \tag{} macros will place the tags.
  462. // Set to "left" to place on the left-hand side.
  463. //
  464. TagSide: "right",
  465. //
  466. // This is the amound of indentation (from right or left) for the tags.
  467. //
  468. TagIndent: "0.8em",
  469. //
  470. // This is the width to use for the multline environment
  471. //
  472. MultLineWidth: "85%",
  473. //
  474. // List of macros to define. These are of the form
  475. // name: value
  476. // where 'value' is the replacement text for the macro \name.
  477. // The 'value' can also be [value,n] where 'value' is the replacement
  478. // text and 'n' is the number of parameters for the macro.
  479. // Note that backslashes must be doubled in the replacement string.
  480. //
  481. // E.g.,
  482. //
  483. // Macros: {
  484. // RR: '{\\bf R}',
  485. // bold: ['{\\bf #1}', 1]
  486. // }
  487. //
  488. Macros: {},
  489. //
  490. // Equation numbering parameters.
  491. //
  492. equationNumbers: {
  493. autoNumber: "none", // "AMS" for standard AMS environment numbering,
  494. // or "all" to number all displayed equations
  495. // formatNumber: function (n) {return n}, // format for equation number n
  496. // formatTag: function (n) {return '('+n+')'}, // format for \tag and \eqref
  497. // formatID: function (n) {return 'mjx-eqn-'+String(n).replace(/[:'"<>&]/g,"")},
  498. // // element ID to use for reference
  499. // formatURL: function (id,base) {return base+'#'+escape(id)},
  500. // // URL to use for references
  501. useLabelIds: true // make element ID's use \label name rather than equation number
  502. },
  503. //
  504. // Controls the TeX/noErrors extension
  505. //
  506. noErrors: {
  507. disabled: false, // set to true to return to original error messages
  508. multiLine: true, // false to not include original line breaks
  509. inlineDelimiters: ["",""], // or use ["$","$"] or ["\\(","\\)"] to put back delimiters
  510. style: {
  511. "font-size": "90%",
  512. "text-align": "left",
  513. "color": "black",
  514. "padding": "1px 3px",
  515. "border": "1px solid"
  516. }
  517. },
  518. //
  519. // Controls the TeX/noUndefined extension
  520. //
  521. noUndefined: {
  522. disabled: false, // set to true to return to original error messages
  523. attributes: { // attributes to set for the undefined control sequence
  524. mathcolor: "red"
  525. }
  526. },
  527. //
  528. // Controls the TeX/unicode extension
  529. unicode: {
  530. fonts: "STIXGeneral,'Arial Unicode MS'" // the default font list for unknown characters
  531. }
  532. },
  533. //============================================================================
  534. //
  535. // These parameters control the AsciiMath input jax.
  536. //
  537. AsciiMath: {
  538. //
  539. // Determines whether the unicode positions for phi and varphi are
  540. // to be swapped or not. (Unicode originally had these reversed, and
  541. // many fonts have them reversed as well.) When set to true, phi
  542. // and varphi will correspond to the LaTeX macros of the same name.
  543. //
  544. fixphi: true,
  545. //
  546. // Determines whether the MathML should be marked so that the HTML-CSS
  547. // and SVG output jax will use MathML spacing rules rather than TeX
  548. // spacing rules. Since AsciiMath was designed for MathML output, the
  549. // MathML rules are used by default.
  550. //
  551. useMathMLspacing: true,
  552. //
  553. // Determines whether limits are placed above and below operators,
  554. // or next to them. (AsciiMath doesn't have separate in-line and
  555. // display modes like TeX and MathML do, so this is the only control
  556. // you have over its output)
  557. //
  558. displaystyle: true,
  559. //
  560. // The character to use for decimal places when scanning for a number.
  561. // If you change it to ",", beware of things like "(1,2)" which would need
  562. // to be changed to "(1, 2)" to be parsed correctly.
  563. //
  564. decimal: "."
  565. },
  566. //============================================================================
  567. //
  568. // These parameters control the MathML input jax.
  569. //
  570. MathML: {
  571. //
  572. // This specifies whether to use TeX spacing or MathML spacing when the
  573. // HTML-CSS output jax is used.
  574. //
  575. useMathMLspacing: false
  576. },
  577. //============================================================================
  578. //
  579. // These parameters control the HTML-CSS output jax.
  580. //
  581. "HTML-CSS": {
  582. //
  583. // This controls the global scaling of mathematics as compared to the
  584. // surrounding text. Values between 100 and 133 are usually good choices.
  585. //
  586. scale: 100,
  587. //
  588. // Don't allow the matching of math text to surrounding text to use a scaling
  589. // factor smaller than this.
  590. //
  591. minScaleAdjust: 50,
  592. //
  593. // This is a list of the fonts to look for on a user's computer in
  594. // preference to using MathJax's web-based fonts. These must
  595. // correspond to directories available in the jax/output/HTML-CSS/fonts
  596. // directory, where MathJax stores data about the characters available
  597. // in the fonts. Set this to ["TeX"], for example, to prevent the
  598. // use of the STIX fonts, or set it to an empty list, [], if
  599. // you want to force MathJax to use web-based or image fonts.
  600. //
  601. availableFonts: ["STIX","TeX"],
  602. //
  603. // This is the preferred font to use when more than one of those
  604. // listed above is available.
  605. //
  606. preferredFont: "TeX",
  607. //
  608. // This is the web-based font to use when none of the fonts listed
  609. // above are available on the user's computer. Note that currently
  610. // only the TeX font is available in a web-based form. Set this to
  611. //
  612. // webFont: null,
  613. //
  614. // if you want to prevent the use of web-based fonts.
  615. //
  616. webFont: "TeX",
  617. //
  618. // This is the font to use for image fallback mode (when none of the
  619. // fonts listed above are available and the browser doesn't support
  620. // web-fonts via the @font-face CSS directive). Note that currently
  621. // only the TeX font is available as an image font. Set this to
  622. //
  623. // imageFont: null,
  624. //
  625. // if you want to prevent the use of image fonts (e.g., you have not
  626. // installed the image fonts on your server). In this case, only
  627. // browsers that support web-based fonts will be able to view your pages
  628. // without having the fonts installed on the client computer. The browsers
  629. // that support web-based fonts include: IE6 and later, Chrome, Safari3.1
  630. // and above, Firefox3.5 and later, and Opera10 and later. Note that
  631. // Firefox3.0 is NOT on this list, so without image fonts, FF3.0 users
  632. // will be required to to download and install either the STIX fonts or the
  633. // MathJax TeX fonts.
  634. //
  635. imageFont: "TeX",
  636. //
  637. // This is the font-family CSS value used for characters that are not
  638. // in the selected font (e.g., for web-based fonts, this is where to
  639. // look for characters not included in the MathJax_* fonts). IE will
  640. // stop looking after the first font that exists on the system (even
  641. // if it doesn't contain the needed character), so order these carefully.
  642. //
  643. undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif",
  644. //
  645. // This setting controls whether <mtext> elements will be typeset
  646. // using the math fonts or the font of the surrounding text. When
  647. // false, the mathvariant="normal" font will be used; when true,
  648. // the font will be inherited from the surrounding paragraph.
  649. //
  650. mtextFontInherit: false,
  651. //
  652. // These values control how "chunky" the display of mathematical
  653. // expressions will be.
  654. //
  655. // EqnChunk is the number of equations that will be typeset before
  656. // they appear on screen. Larger values make for less visual flicker
  657. // as the equations are drawn, but also mean longer delays before the
  658. // reader sees anything.
  659. //
  660. // EqChunkFactor is the factor by which the EqnChunk will grow after each
  661. // chunk is displayed.
  662. //
  663. // EqChunkDelay is the time (in milliseconds) to delay between chunks
  664. // (to allow the browser to respond to other user interaction).
  665. //
  666. // Set EqnChunk to 1, EqnChunkFactor to 1, and EqnChunkDelay to 10 to get
  667. // the behavior from MathJax v1.1 and below.
  668. //
  669. EqnChunk: 50,
  670. EqnChunkFactor: 1.5,
  671. EqnChunkDelay: 100,
  672. //
  673. // This option indicates whether MathJax should try to correct the
  674. // x-height of equations to match the size of the surrounding text.
  675. //
  676. matchFontHeight: true,
  677. //
  678. // When true, MathJax will not measure the widths or heights of the
  679. // subexpressions as it creates its output, but instead will rely on
  680. // its internal calculautions based on teh bounding boxes of the
  681. // characters it uses, and will only take measurements when it
  682. // absolutely has to. Since measurements cause display reflows, they
  683. // slows down MathJax considerably, so without them MathJax runs
  684. // faster, but can produce slightly less accurate character placements,
  685. // especially in width fractions or roots.
  686. //
  687. noReflows: true,
  688. //
  689. // These settings control automatic line breaking. It is off by
  690. // default, so only explicit line breaks are performed (via
  691. // linebreak="newline" attributes on <mo> and <mspace> elements). To
  692. // perform automatic line breaking on line expressions, set
  693. // 'automatic' to 'true' below. The line breaks will be applied via a
  694. // penalty-based heuristic, which does well, but isn't perfect. You
  695. // might need to use linebreak="goodbreak" or linebreak="badbreak" by
  696. // hand in order to get better effects. It is also possible to modify
  697. // the penalty values; contact the MathJax user's forum for details.
  698. //
  699. linebreaks: {
  700. //
  701. // This controls the automatic breaking of expressions:
  702. // when false, only process linebreak="newline",
  703. // when true, line breaks are inserted automatically in long expressions.
  704. //
  705. automatic: false,
  706. //
  707. // This controls how wide the lines of mathematics can be
  708. //
  709. // Use an explicit width like "30em" for a fixed width.
  710. // Use "container" to compute the size from the containing element.
  711. // Use "nn% container" for a portion of the container.
  712. // Use "nn%" for a portion of the window size.
  713. //
  714. // The container-based widths may be slower, and may not produce the
  715. // expected results if the layout width changes due to the removal
  716. // of previews or inclusion of mathematics during typesetting.
  717. //
  718. width: "container"
  719. },
  720. //
  721. // This allows you to define or modify the styles used to display
  722. // various math elements created by MathJax.
  723. //
  724. // Example:
  725. // styles: {
  726. // ".MathJax .merror": {
  727. // color: "#CC0000",
  728. // border: "1px solid #CC0000"
  729. // }
  730. // }
  731. //
  732. styles: {},
  733. //
  734. // Configuration for <maction> tooltips
  735. // (see also the #MathJax_Tooltip CSS in MathJax/jax/output/HTML-CSS/config.js,
  736. // which can be overriden using the styles values above).
  737. //
  738. tooltip: {
  739. delayPost: 600, // milliseconds delay before tooltip is posted after mouseover
  740. delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout
  741. offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position
  742. }
  743. },
  744. //============================================================================
  745. //
  746. // These parameters control the NativeMML output jax.
  747. //
  748. NativeMML: {
  749. //
  750. // This controls the global scaling of mathematics as compared to the
  751. // surrounding text. Values between 100 and 133 are usually good choices.
  752. //
  753. scale: 100,
  754. //
  755. // Don't allow the matching of math text to surrounding text to use a scaling
  756. // factor smaller than this.
  757. //
  758. minScaleAdjust: 50,
  759. // This option indicates whether MathJax should try to correct the
  760. // x-height of equations to match the size of the surrounding text.
  761. matchFontHeight: true,
  762. //
  763. // This allows you to define or modify the styles used to display
  764. // various math elements created by MathJax.
  765. //
  766. // Example:
  767. // styles: {
  768. // ".MathJax_MathML": {
  769. // color: "red" // MathML is in red
  770. // }
  771. // }
  772. //
  773. styles: {}
  774. },
  775. //============================================================================
  776. //
  777. // These parameters control the SVG output jax.
  778. //
  779. "SVG": {
  780. //
  781. // This controls the global scaling of mathematics as compared to the
  782. // surrounding text. Values between 100 and 133 are usually good choices.
  783. //
  784. scale: 100,
  785. //
  786. // Don't allow the matching of math text to surrounding text to use a scaling
  787. // factor smaller than this.
  788. //
  789. minScaleAdjust: 50,
  790. //
  791. // This specifies the font to use for SVG output (currently the only
  792. // one available)
  793. //
  794. font: "TeX",
  795. //
  796. // This is the stroke width to use for all character paths (1em = 1000
  797. // units). This is a cheap way of getting slightly lighter or darker
  798. // characters
  799. //
  800. blacker: 10,
  801. //
  802. // This is the font-family CSS value used for characters that are not
  803. // in the selected font. IE will stop looking after the first font
  804. // that exists on the system (even if it doesn't contain the needed
  805. // character), so order these carefully.
  806. //
  807. undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif",
  808. //
  809. // This setting controls whether <mtext> elements will be typeset
  810. // using the math fonts or the font of the surrounding text. When
  811. // false, the mathvariant="normal" font will be used; when true,
  812. // the font will be inherited from the surrounding paragraph.
  813. //
  814. mtextFontInherit: false,
  815. //
  816. // This controls whether the MathML structure is retained and CSS
  817. // classes are added to mark the original MathML elements (as in the
  818. // HTML-CSS output). By default, the SVG output jax removes unneeded
  819. // nesting in order to produce a more efficient markup, but if you
  820. // want to use CSS to style the elements as if they were MathML, you
  821. // might need to set this to true.
  822. //
  823. addMMLclasses: false,
  824. //
  825. // These values control how "chunky" the display of mathematical
  826. // expressions will be.
  827. //
  828. // EqnChunk is the number of equations that will be typeset before
  829. // they appear on screen. Larger values make for less visual flicker
  830. // as the equations are drawn, but also mean longer delays before the
  831. // reader sees anything.
  832. //
  833. // EqChunkFactor is the factor by which the EqnChunk will grow after each
  834. // chunk is displayed.
  835. //
  836. // EqChunkDelay is the time (in milliseconds) to delay between chunks
  837. // (to allow the browser to respond to other user interaction).
  838. //
  839. // Set EqnChunk to 1, EqnChunkFactor to 1, and EwnChunkDelay to 10 to get
  840. // the behavior from MathJax v1.1 and below.
  841. //
  842. EqnChunk: 50,
  843. EqnChunkFactor: 1.5,
  844. EqnChunkDelay: 100,
  845. // This option indicates whether MathJax should try to correct the
  846. // x-height of equations to match the size of the surrounding text.
  847. matchFontHeight: true,
  848. //
  849. // These settings control automatic line breaking. It is off by
  850. // default, so only explicit line breaks are performed (via
  851. // linebreak="newline" attributes on <mo> and <mspace> elements). To
  852. // perform automatic line breaking on line expressions, set
  853. // 'automatic' to 'true' below. The line breaks will be applied via a
  854. // penalty-based heuristic, which does well, but isn't perfect. You
  855. // might need to use linebreak="goodbreak" or linebreak="badbreak" by
  856. // hand in order to get better effects. It is also possible to modify
  857. // the penalty values; contact the MathJax user's forum for details.
  858. //
  859. linebreaks: {
  860. //
  861. // This controls the automatic breaking of expressions:
  862. // when false, only process linebreak="newline",
  863. // when true, line breaks are inserted automatically in long expressions.
  864. //
  865. automatic: false,
  866. //
  867. // This controls how wide the lines of mathematics can be
  868. //
  869. // Use an explicit width like "30em" for a fixed width.
  870. // Use "container" to compute the size from the containing element.
  871. // Use "nn% container" for a portion of the container.
  872. // Use "nn%" for a portion of the window size.
  873. //
  874. // The container-based widths may be slower, and may not produce the
  875. // expected results if the layout width changes due to the removal
  876. // of previews or inclusion of mathematics during typesetting.
  877. //
  878. width: "container"
  879. },
  880. //
  881. // These are the styles used for merror elements in SVG output. Note
  882. // that only a limited number of style attributes are supported by
  883. // SVG, but you can at least change the colors and borders.
  884. //
  885. //
  886. merrorStyle: {
  887. fontSize:"90%", color:"#C00", background:"#FF8",
  888. border: "1px solid #C00", padding:"3px"
  889. },
  890. //
  891. // This allows you to define or modify the styles used to display
  892. // various math elements created by MathJax.
  893. //
  894. // Example:
  895. // styles: {
  896. // ".MathJax .merror": {
  897. // color: "#CC0000",
  898. // border: "1px solid #CC0000"
  899. // }
  900. // }
  901. //
  902. styles: {},
  903. //
  904. // Configuration for <maction> tooltips
  905. // (see also the #MathJax_Tooltip CSS in MathJax/jax/output/SVG/config.js,
  906. // which can be overriden using the styles values above).
  907. //
  908. tooltip: {
  909. delayPost: 600, // milliseconds delay before tooltip is posted after mouseover
  910. delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout
  911. offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position
  912. }
  913. },
  914. //============================================================================
  915. //
  916. // These parameters control the contextual menus that are available on the
  917. // mathematics within the page (provided the showMathMenu value is true above).
  918. //
  919. MathMenu: {
  920. //
  921. // This is the hover delay for the display of submenus in the
  922. // contextual menu. When the mouse is still over a submenu label for
  923. // this long, the menu will appear. (The menu also will appear if you
  924. // click on the label.) It is in milliseconds.
  925. //
  926. delay: 150,
  927. //
  928. // This is the URL for the MathJax Help menu item.
  929. //
  930. helpURL: "http://www.mathjax.org/help-v2/user/",
  931. //
  932. // These control whether the "Math Renderer", "MathPlayer", "Font
  933. // Preferences", "Contextual Menu", and "Discoverable" menu items will
  934. // be displayed or not.
  935. //
  936. showRenderer: true,
  937. showMathPlayer: true,
  938. showFontMenu: false,
  939. showContext: false,
  940. showDiscoverable: false,
  941. //
  942. // These are the settings for the Annotation menu. If the <math> root has
  943. // a <semantics> child that contains one of the following annotation
  944. // formats, the source will be available via the "Show Math As" menu.
  945. // Each format has a list of possible encodings.
  946. //
  947. semanticsAnnotations: {
  948. "TeX": ["TeX", "LaTeX", "application/x-tex"],
  949. "StarMath": ["StarMath 5.0"],
  950. "Maple": ["Maple"],
  951. "ContentMathML": ["MathML-Content", "application/mathml-content+xml"],
  952. "OpenMath": ["OpenMath"]
  953. },
  954. //
  955. // These are the settings for the Show Source window. The initial
  956. // width and height will be reset after the source is shown in an
  957. // attempt to make the window fit the output better.
  958. //
  959. windowSettings: {
  960. status: "no", toolbar: "no", locationbar: "no", menubar: "no",
  961. directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes",
  962. width: 100, height: 50
  963. },
  964. //
  965. // This allows you to change the CSS that controls the menu
  966. // appearance. See the extensions/MathMenu.js file for details
  967. // of the default settings.
  968. //
  969. styles: {}
  970. },
  971. //============================================================================
  972. //
  973. // These parameters control the contextual menus that are available on the
  974. // mathematics within the page (provided the showMathMenu value is true above).
  975. //
  976. MathEvents: {
  977. //
  978. // This is the time required for the mouse to be held still over a
  979. // typeset equation in order for it to count as a hover (used when the
  980. // zoom trigger is "Hover"). It is in milliseconds.
  981. //
  982. hover: 500
  983. },
  984. //============================================================================
  985. //
  986. // These parameters control the MMLorHTML configuration file.
  987. // NOTE: if you add MMLorHTML.js to the config array above,
  988. // you must REMOVE the output jax from the jax array.
  989. //
  990. MMLorHTML: {
  991. //
  992. // The output jax that is to be preferred when both are possible
  993. // (set to "MML" for native MathML, "HTML" for MathJax's HTML-CSS output jax).
  994. //
  995. prefer: {
  996. MSIE: "MML",
  997. Firefox: "HTML",
  998. Opera: "HTML",
  999. Safari: "HTML",
  1000. Chrome: "HTML",
  1001. other: "HTML"
  1002. }
  1003. }
  1004. });
  1005. MathJax.Ajax.loadComplete("[MathJax]/config/default.js");