default.js 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110
  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-2015 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. zscale: "200%", // the scaling factor for MathZoom
  223. font: "Auto", // what font HTML-CSS should use
  224. context: "MathJax", // or "Browser" for pass-through to browser menu
  225. mpContext: false, // true means pass menu events to MathPlayer in IE
  226. mpMouse: false, // true means pass mouse events to MathPlayer in IE
  227. texHints: true, // include class names for TeXAtom elements
  228. semantics: false // add semantics tag with original form in MathML output
  229. },
  230. //
  231. // The message and style for when there is a processing error handling
  232. // the mathematics (something has gone wrong with the input or output
  233. // jax that prevents it from operating properly).
  234. //
  235. errorSettings: {
  236. message: ["[",["MathProcessingError","Math Processing Error"],"]"],
  237. style: {color: "#CC0000", "font-style":"italic"} // style for message
  238. },
  239. //============================================================================
  240. //
  241. // These parameters control the tex2jax preprocessor (when you have included
  242. // "tex2jax.js" in the extensions list above).
  243. //
  244. tex2jax: {
  245. //
  246. // The delimiters that surround in-line math expressions. The first in each
  247. // pair is the initial delimiter and the second is the terminal delimiter.
  248. // Comment out any that you don't want, but be sure there is no extra
  249. // comma at the end of the last item in the list -- some browsers won't
  250. // be able to handle that.
  251. //
  252. inlineMath: [
  253. // ['$','$'], // uncomment this for standard TeX math delimiters
  254. ['\\(','\\)']
  255. ],
  256. //
  257. // The delimiters that surround displayed math expressions. The first in each
  258. // pair is the initial delimiter and the second is the terminal delimiter.
  259. // Comment out any that you don't want, but be sure there is no extra
  260. // comma at the end of the last item in the list -- some browsers won't
  261. // be able to handle that.
  262. //
  263. displayMath: [
  264. ['$$','$$'],
  265. ['\\[','\\]']
  266. ],
  267. //
  268. // This value determines whether tex2jax requires braces to be
  269. // balanced within math delimiters (which allows for nested dollar
  270. // signs). Set to false to get pre-v2.0 compatibility. When true,
  271. //
  272. // $y = x^2 \hbox{ when $x > 2$}$.
  273. //
  274. // will be properly handled as a single expression. When false, it
  275. // would be interpreted as two searpate expressions, each with
  276. // improperly balanced braces.
  277. //
  278. balanceBraces: true,
  279. //
  280. // This array lists the names of the tags whose contents should not be
  281. // processed by tex2jax (other than to look for ignore/process classes
  282. // as listed below). You can add to (or remove from) this list to prevent
  283. // MathJax from processing mathematics in specific contexts.
  284. //
  285. skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],
  286. //
  287. // This is the class name used to mark elements whose contents should
  288. // not be processed by tex2jax (other than to look for the
  289. // processClass pattern below). Note that this is a regular
  290. // expression, and so you need to be sure to quote any regexp special
  291. // characters. The pattern is automatically preceeded by '(^| )(' and
  292. // followed by ')( |$)', so your pattern will have to match full words
  293. // in the class name. Assigning an element this class name will
  294. // prevent `tex2jax` from processing its contents.
  295. //
  296. ignoreClass: "tex2jax_ignore",
  297. //
  298. // This is the class name used to mark elements whose contents SHOULD
  299. // be processed by tex2jax. This is used to turn on processing within
  300. // tags that have been marked as ignored or skipped above. Note that
  301. // this is a regular expression, and so you need to be sure to quote
  302. // any regexp special characters. The pattern is automatically
  303. // preceeded by '(^| )(' and followed by ')( |$)', so your pattern
  304. // will have to match full words in the class name. Use this to
  305. // restart processing within an element that has been marked as
  306. // ignored above.
  307. //
  308. processClass: "tex2jax_process",
  309. //
  310. // Set to "true" to allow \$ to produce a dollar without starting in-line
  311. // math mode. If you uncomment the ['$','$'] line above, you should change
  312. // this to true so that you can insert plain dollar signs into your documents
  313. //
  314. processEscapes: false,
  315. //
  316. // Controls whether tex2jax processes LaTeX environments outside of math
  317. // mode. Set to "false" to prevent processing of environments except within
  318. // math mode.
  319. //
  320. processEnvironments: true,
  321. //
  322. // Controls whether tex2jax processes \ref{...} commands outside
  323. // of math mode. Set to "false" to prevent processing of \ref
  324. // except within math mode.
  325. //
  326. processRefs: true,
  327. //
  328. // Controls whether tex2jax inserts MathJax_Preview spans to make a
  329. // preview available, and what preview to use, when it locates in-line
  330. // and display mathetics on the page. The default is "TeX", which
  331. // means use the TeX code as the preview (until it is processed by
  332. // MathJax). Set to "none" to prevent the previews from being
  333. // inserted (the math will simply disappear until it is typeset). Set
  334. // to an array containing the description of an HTML snippet in order
  335. // to use the same preview for all equations on the page (e.g., you
  336. // could have it say "[math]" or load an image).
  337. //
  338. // E.g., preview: ["[math]"],
  339. // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
  340. //
  341. preview: "TeX"
  342. },
  343. //============================================================================
  344. //
  345. // These parameters control the asciimath2jax preprocessor (when you have included
  346. // "asciimath2jax.js" in the extensions list above).
  347. //
  348. asciimath2jax: {
  349. //
  350. // The delimiters that surround asciimath expressions. The first in each
  351. // pair is the initial delimiter and the second is the terminal delimiter.
  352. //
  353. delimiters: [
  354. ['`','`']
  355. ],
  356. //
  357. // This array lists the names of the tags whose contents should not be
  358. // processed by asciimath2jax (other than to look for ignore/process classes
  359. // as listed below). You can add to (or remove from) this list to prevent
  360. // MathJax from processing mathematics in specific contexts.
  361. //
  362. skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],
  363. //
  364. // This is the class name used to mark elements whose contents should
  365. // not be processed by asciimath2jax (other than to look for the
  366. // processClass pattern below). Note that this is a regular
  367. // expression, and so you need to be sure to quote any regexp special
  368. // characters. The pattern is automatically preceeded by '(^| )(' and
  369. // followed by ')( |$)', so your pattern will have to match full words
  370. // in the class name. Assigning an element this class name will
  371. // prevent `asciimath2jax` from processing its contents.
  372. //
  373. ignoreClass: "asciimath2jax_ignore",
  374. //
  375. // This is the class name used to mark elements whose contents SHOULD
  376. // be processed by asciimath2jax. This is used to turn on processing
  377. // within tags that have been marked as ignored or skipped above.
  378. // Note that this is a regular expression, and so you need to be sure
  379. // to quote any regexp special characters. The pattern is
  380. // automatically preceeded by '(^| )(' and followed by ')( |$)', so
  381. // your pattern will have to match full words in the class name. Use
  382. // this to restart processing within an element that has been marked
  383. // as ignored above.
  384. //
  385. processClass: "asciimath2jax_process",
  386. // Controls whether asciimath2jax inserts MathJax_Preview spans to make a
  387. // preview available, and what preview to use, when it locates in-line
  388. // and display mathetics on the page. The default is "AsciiMath", which
  389. // means use the AsciiMath code as the preview (until it is processed by
  390. // MathJax). Set to "none" to prevent the previews from being
  391. // inserted (the math will simply disappear until it is typeset). Set
  392. // to an array containing the description of an HTML snippet in order
  393. // to use the same preview for all equations on the page (e.g., you
  394. // could have it say "[math]" or load an image).
  395. //
  396. // E.g., preview: ["[math]"],
  397. // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
  398. //
  399. preview: "AsciiMath"
  400. },
  401. //============================================================================
  402. //
  403. // These parameters control the mml2jax preprocessor (when you have included
  404. // "mml2jax.js" in the extensions list above).
  405. //
  406. mml2jax: {
  407. //
  408. // Controls whether mml2jax inserts MathJax_Preview spans to make a
  409. // preview available, and what preview to use, when it locates
  410. // mathematics on the page. The default is "mathml" which means use
  411. // the <math> tag as the preview (until it is processed by MathJax).
  412. // Set to "alttext", to use the <math> tag's alttext attribute as the
  413. // preview, if the tag has one. Set to "none" to
  414. // prevent the previews from being inserted (the math will simply
  415. // disappear until it is typeset). Set to "altimg" to use an image
  416. // described by the altimg* attributes of the <math> element.
  417. // Set to an array containing the
  418. // description of an HTML snippet in order to use the same preview for
  419. // all equations on the page (e.g., you could have it say "[math]" or
  420. // load an image).
  421. //
  422. // E.g., preview: ["[math]"],
  423. // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
  424. //
  425. preview: "mathml"
  426. },
  427. //============================================================================
  428. //
  429. // These parameters control the jsMath2jax preprocessor (when you have included
  430. // "jsMath2jax.js" in the extensions list above).
  431. //
  432. jsMath2jax: {
  433. //
  434. // Controls whether jsMath2jax inserts MathJax_Preview spans to make a
  435. // preview available, and what preview to use, when it locates
  436. // mathematics on the page. The default is "TeX", which means use the
  437. // TeX code as the preview (until it is processed by MathJax). Set to
  438. // "none" to prevent the previews from being inserted (the math will
  439. // simply disappear until it is typeset). Set to an array containing
  440. // the description of an HTML snippet in order to use the same preview
  441. // for all equations on the page (e.g., you could have it say "[math]"
  442. // or load an image).
  443. //
  444. // E.g., preview: ["[math]"],
  445. // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
  446. //
  447. preview: "TeX"
  448. },
  449. //============================================================================
  450. //
  451. // These parameters control the TeX input jax.
  452. //
  453. TeX: {
  454. //
  455. // This specifies the side on which \tag{} macros will place the tags.
  456. // Set to "left" to place on the left-hand side.
  457. //
  458. TagSide: "right",
  459. //
  460. // This is the amound of indentation (from right or left) for the tags.
  461. //
  462. TagIndent: "0.8em",
  463. //
  464. // This is the width to use for the multline environment
  465. //
  466. MultLineWidth: "85%",
  467. //
  468. // List of macros to define. These are of the form
  469. // name: value
  470. // where 'value' is the replacement text for the macro \name.
  471. // The 'value' can also be [value,n] where 'value' is the replacement
  472. // text and 'n' is the number of parameters for the macro.
  473. // Note that backslashes must be doubled in the replacement string.
  474. //
  475. // E.g.,
  476. //
  477. // Macros: {
  478. // RR: '{\\bf R}',
  479. // bold: ['{\\bf #1}', 1]
  480. // }
  481. //
  482. Macros: {},
  483. //
  484. // Equation numbering parameters.
  485. //
  486. equationNumbers: {
  487. autoNumber: "none", // "AMS" for standard AMS environment numbering,
  488. // or "all" to number all displayed equations
  489. // formatNumber: function (n) {return n}, // format for equation number n
  490. // formatTag: function (n) {return '('+n+')'}, // format for \tag and \eqref
  491. // formatID: function (n) {return 'mjx-eqn-'+String(n).replace(/[:'"<>&]/g,"")},
  492. // // element ID to use for reference
  493. // formatURL: function (id) {return '#'+escape(id)}, // URL to use for references
  494. useLabelIds: true // make element ID's use \label name rather than equation number
  495. },
  496. //
  497. // Controls the TeX/noErrors extension
  498. //
  499. noErrors: {
  500. disabled: false, // set to true to return to original error messages
  501. multiLine: true, // false to not include original line breaks
  502. inlineDelimiters: ["",""], // or use ["$","$"] or ["\\(","\\)"] to put back delimiters
  503. style: {
  504. "font-size": "90%",
  505. "text-align": "left",
  506. "color": "black",
  507. "padding": "1px 3px",
  508. "border": "1px solid"
  509. }
  510. },
  511. //
  512. // Controls the TeX/noUndefined extension
  513. //
  514. noUndefined: {
  515. disabled: false, // set to true to return to original error messages
  516. attributes: { // attributes to set for the undefined control sequence
  517. mathcolor: "red"
  518. }
  519. },
  520. //
  521. // Controls the TeX/unicode extension
  522. unicode: {
  523. fonts: "STIXGeneral,'Arial Unicode MS'" // the default font list for unknown characters
  524. }
  525. },
  526. //============================================================================
  527. //
  528. // These parameters control the AsciiMath input jax.
  529. //
  530. AsciiMath: {
  531. //
  532. // Determines whether the unicode positions for phi and varphi are
  533. // to be swapped or not. (Unicode originally had these reversed, and
  534. // many fonts have them reversed as well.) When set to true, phi
  535. // and varphi will correspond to the LaTeX macros of the same name.
  536. //
  537. fixphi: true,
  538. //
  539. // Determines whether the MathML should be marked so that the HTML-CSS
  540. // and SVG output jax will use MathML spacing rules rather than TeX
  541. // spacing rules. Since AsciiMath was designed for MathML output, the
  542. // MathML rules are used by default.
  543. //
  544. useMathMLspacing: true,
  545. //
  546. // Determines whether limits are placed above and below operators,
  547. // or next to them. (AsciiMath doesn't have separate in-line and
  548. // display modes like TeX and MathML do, so this is the only control
  549. // you have over its output)
  550. //
  551. displaystyle: true,
  552. //
  553. // The character to use for decimal places when scanning for a number.
  554. // If you change it to ",", beware of things like "(1,2)" which would need
  555. // to be changed to "(1, 2)" to be parsed correctly.
  556. //
  557. decimal: "."
  558. },
  559. //============================================================================
  560. //
  561. // These parameters control the MathML input jax.
  562. //
  563. MathML: {
  564. //
  565. // This specifies whether to use TeX spacing or MathML spacing when the
  566. // HTML-CSS output jax is used.
  567. //
  568. useMathMLspacing: false
  569. },
  570. //============================================================================
  571. //
  572. // These parameters control the HTML-CSS output jax.
  573. //
  574. "HTML-CSS": {
  575. //
  576. // This controls the global scaling of mathematics as compared to the
  577. // surrounding text. Values between 100 and 133 are usually good choices.
  578. //
  579. scale: 100,
  580. //
  581. // Don't allow the matching of math text to surrounding text to use a scaling
  582. // factor smaller than this.
  583. //
  584. minScaleAdjust: 50,
  585. //
  586. // This is a list of the fonts to look for on a user's computer in
  587. // preference to using MathJax's web-based fonts. These must
  588. // correspond to directories available in the jax/output/HTML-CSS/fonts
  589. // directory, where MathJax stores data about the characters available
  590. // in the fonts. Set this to ["TeX"], for example, to prevent the
  591. // use of the STIX fonts, or set it to an empty list, [], if
  592. // you want to force MathJax to use web-based or image fonts.
  593. //
  594. availableFonts: ["STIX","TeX"],
  595. //
  596. // This is the preferred font to use when more than one of those
  597. // listed above is available.
  598. //
  599. preferredFont: "TeX",
  600. //
  601. // This is the web-based font to use when none of the fonts listed
  602. // above are available on the user's computer. Note that currently
  603. // only the TeX font is available in a web-based form. Set this to
  604. //
  605. // webFont: null,
  606. //
  607. // if you want to prevent the use of web-based fonts.
  608. //
  609. webFont: "TeX",
  610. //
  611. // This is the font to use for image fallback mode (when none of the
  612. // fonts listed above are available and the browser doesn't support
  613. // web-fonts via the @font-face CSS directive). Note that currently
  614. // only the TeX font is available as an image font. Set this to
  615. //
  616. // imageFont: null,
  617. //
  618. // if you want to prevent the use of image fonts (e.g., you have not
  619. // installed the image fonts on your server). In this case, only
  620. // browsers that support web-based fonts will be able to view your pages
  621. // without having the fonts installed on the client computer. The browsers
  622. // that support web-based fonts include: IE6 and later, Chrome, Safari3.1
  623. // and above, Firefox3.5 and later, and Opera10 and later. Note that
  624. // Firefox3.0 is NOT on this list, so without image fonts, FF3.0 users
  625. // will be required to to download and install either the STIX fonts or the
  626. // MathJax TeX fonts.
  627. //
  628. imageFont: "TeX",
  629. //
  630. // This is the font-family CSS value used for characters that are not
  631. // in the selected font (e.g., for web-based fonts, this is where to
  632. // look for characters not included in the MathJax_* fonts). IE will
  633. // stop looking after the first font that exists on the system (even
  634. // if it doesn't contain the needed character), so order these carefully.
  635. //
  636. undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif",
  637. //
  638. // This setting controls whether <mtext> elements will be typeset
  639. // using the math fonts or the font of the surrounding text. When
  640. // false, the mathvariant="normal" font will be used; when true,
  641. // the font will be inherited from the surrounding paragraph.
  642. //
  643. mtextFontInherit: false,
  644. //
  645. // These values control how "chunky" the display of mathematical
  646. // expressions will be.
  647. //
  648. // EqnChunk is the number of equations that will be typeset before
  649. // they appear on screen. Larger values make for less visual flicker
  650. // as the equations are drawn, but also mean longer delays before the
  651. // reader sees anything.
  652. //
  653. // EqChunkFactor is the factor by which the EqnChunk will grow after each
  654. // chunk is displayed.
  655. //
  656. // EqChunkDelay is the time (in milliseconds) to delay between chunks
  657. // (to allow the browser to respond to other user interaction).
  658. //
  659. // Set EqnChunk to 1, EqnChunkFactor to 1, and EqnChunkDelay to 10 to get
  660. // the behavior from MathJax v1.1 and below.
  661. //
  662. EqnChunk: 50,
  663. EqnChunkFactor: 1.5,
  664. EqnChunkDelay: 100,
  665. //
  666. // This option indicates whether MathJax should try to correct the
  667. // x-height of equations to match the size of the surrounding text.
  668. //
  669. matchFontHeight: true,
  670. //
  671. // When true, MathJax will not measure the widths or heights of the
  672. // subexpressions as it creates its output, but instead will rely on
  673. // its internal calculautions based on teh bounding boxes of the
  674. // characters it uses, and will only take measurements when it
  675. // absolutely has to. Since measurements cause display reflows, they
  676. // slows down MathJax considerably, so without them MathJax runs
  677. // faster, but can produce slightly less accurate character placements,
  678. // especially in width fractions or roots.
  679. //
  680. noReflows: true,
  681. //
  682. // These settings control automatic line breaking. It is off by
  683. // default, so only explicit line breaks are performed (via
  684. // linebreak="newline" attributes on <mo> and <mspace> elements). To
  685. // perform automatic line breaking on line expressions, set
  686. // 'automatic' to 'true' below. The line breaks will be applied via a
  687. // penalty-based heuristic, which does well, but isn't perfect. You
  688. // might need to use linebreak="goodbreak" or linebreak="badbreak" by
  689. // hand in order to get better effects. It is also possible to modify
  690. // the penalty values; contact the MathJax user's forum for details.
  691. //
  692. linebreaks: {
  693. //
  694. // This controls the automatic breaking of expressions:
  695. // when false, only process linebreak="newline",
  696. // when true, line breaks are inserted automatically in long expressions.
  697. //
  698. automatic: false,
  699. //
  700. // This controls how wide the lines of mathematics can be
  701. //
  702. // Use an explicit width like "30em" for a fixed width.
  703. // Use "container" to compute the size from the containing element.
  704. // Use "nn% container" for a portion of the container.
  705. // Use "nn%" for a portion of the window size.
  706. //
  707. // The container-based widths may be slower, and may not produce the
  708. // expected results if the layout width changes due to the removal
  709. // of previews or inclusion of mathematics during typesetting.
  710. //
  711. width: "container"
  712. },
  713. //
  714. // This allows you to define or modify the styles used to display
  715. // various math elements created by MathJax.
  716. //
  717. // Example:
  718. // styles: {
  719. // ".MathJax .merror": {
  720. // color: "#CC0000",
  721. // border: "1px solid #CC0000"
  722. // }
  723. // }
  724. //
  725. styles: {},
  726. //
  727. // Configuration for <maction> tooltips
  728. // (see also the #MathJax_Tooltip CSS in MathJax/jax/output/HTML-CSS/config.js,
  729. // which can be overriden using the styles values above).
  730. //
  731. tooltip: {
  732. delayPost: 600, // milliseconds delay before tooltip is posted after mouseover
  733. delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout
  734. offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position
  735. }
  736. },
  737. //============================================================================
  738. //
  739. // These parameters control the NativeMML output jax.
  740. //
  741. NativeMML: {
  742. //
  743. // This controls the global scaling of mathematics as compared to the
  744. // surrounding text. Values between 100 and 133 are usually good choices.
  745. //
  746. scale: 100,
  747. //
  748. // Don't allow the matching of math text to surrounding text to use a scaling
  749. // factor smaller than this.
  750. //
  751. minScaleAdjust: 50,
  752. // This option indicates whether MathJax should try to correct the
  753. // x-height of equations to match the size of the surrounding text.
  754. matchFontHeight: true,
  755. //
  756. // This allows you to define or modify the styles used to display
  757. // various math elements created by MathJax.
  758. //
  759. // Example:
  760. // styles: {
  761. // ".MathJax_MathML": {
  762. // color: "red" // MathML is in red
  763. // }
  764. // }
  765. //
  766. styles: {}
  767. },
  768. //============================================================================
  769. //
  770. // These parameters control the SVG output jax.
  771. //
  772. "SVG": {
  773. //
  774. // This controls the global scaling of mathematics as compared to the
  775. // surrounding text. Values between 100 and 133 are usually good choices.
  776. //
  777. scale: 100,
  778. //
  779. // Don't allow the matching of math text to surrounding text to use a scaling
  780. // factor smaller than this.
  781. //
  782. minScaleAdjust: 50,
  783. //
  784. // This specifies the font to use for SVG output (currently the only
  785. // one available)
  786. //
  787. font: "TeX",
  788. //
  789. // This is the stroke width to use for all character paths (1em = 1000
  790. // units). This is a cheap way of getting slightly lighter or darker
  791. // characters
  792. //
  793. blacker: 10,
  794. //
  795. // This is the font-family CSS value used for characters that are not
  796. // in the selected font. IE will stop looking after the first font
  797. // that exists on the system (even if it doesn't contain the needed
  798. // character), so order these carefully.
  799. //
  800. undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif",
  801. //
  802. // This setting controls whether <mtext> elements will be typeset
  803. // using the math fonts or the font of the surrounding text. When
  804. // false, the mathvariant="normal" font will be used; when true,
  805. // the font will be inherited from the surrounding paragraph.
  806. //
  807. mtextFontInherit: false,
  808. //
  809. // This controls whether the MathML structure is retained and CSS
  810. // classes are added to mark the original MathML elements (as in the
  811. // HTML-CSS output). By default, the SVG output jax removes unneeded
  812. // nesting in order to produce a more efficient markup, but if you
  813. // want to use CSS to style the elements as if they were MathML, you
  814. // might need to set this to true.
  815. //
  816. addMMLclasses: false,
  817. //
  818. // These values control how "chunky" the display of mathematical
  819. // expressions will be.
  820. //
  821. // EqnChunk is the number of equations that will be typeset before
  822. // they appear on screen. Larger values make for less visual flicker
  823. // as the equations are drawn, but also mean longer delays before the
  824. // reader sees anything.
  825. //
  826. // EqChunkFactor is the factor by which the EqnChunk will grow after each
  827. // chunk is displayed.
  828. //
  829. // EqChunkDelay is the time (in milliseconds) to delay between chunks
  830. // (to allow the browser to respond to other user interaction).
  831. //
  832. // Set EqnChunk to 1, EqnChunkFactor to 1, and EwnChunkDelay to 10 to get
  833. // the behavior from MathJax v1.1 and below.
  834. //
  835. EqnChunk: 50,
  836. EqnChunkFactor: 1.5,
  837. EqnChunkDelay: 100,
  838. // This option indicates whether MathJax should try to correct the
  839. // x-height of equations to match the size of the surrounding text.
  840. matchFontHeight: true,
  841. //
  842. // These settings control automatic line breaking. It is off by
  843. // default, so only explicit line breaks are performed (via
  844. // linebreak="newline" attributes on <mo> and <mspace> elements). To
  845. // perform automatic line breaking on line expressions, set
  846. // 'automatic' to 'true' below. The line breaks will be applied via a
  847. // penalty-based heuristic, which does well, but isn't perfect. You
  848. // might need to use linebreak="goodbreak" or linebreak="badbreak" by
  849. // hand in order to get better effects. It is also possible to modify
  850. // the penalty values; contact the MathJax user's forum for details.
  851. //
  852. linebreaks: {
  853. //
  854. // This controls the automatic breaking of expressions:
  855. // when false, only process linebreak="newline",
  856. // when true, line breaks are inserted automatically in long expressions.
  857. //
  858. automatic: false,
  859. //
  860. // This controls how wide the lines of mathematics can be
  861. //
  862. // Use an explicit width like "30em" for a fixed width.
  863. // Use "container" to compute the size from the containing element.
  864. // Use "nn% container" for a portion of the container.
  865. // Use "nn%" for a portion of the window size.
  866. //
  867. // The container-based widths may be slower, and may not produce the
  868. // expected results if the layout width changes due to the removal
  869. // of previews or inclusion of mathematics during typesetting.
  870. //
  871. width: "container"
  872. },
  873. //
  874. // These are the styles used for merror elements in SVG output. Note
  875. // that only a limited number of style attributes are supported by
  876. // SVG, but you can at least change the colors and borders.
  877. //
  878. //
  879. merrorStyle: {
  880. fontSize:"90%", color:"#C00", background:"#FF8",
  881. border: "1px solid #C00", padding:"3px"
  882. },
  883. //
  884. // This allows you to define or modify the styles used to display
  885. // various math elements created by MathJax.
  886. //
  887. // Example:
  888. // styles: {
  889. // ".MathJax .merror": {
  890. // color: "#CC0000",
  891. // border: "1px solid #CC0000"
  892. // }
  893. // }
  894. //
  895. styles: {},
  896. //
  897. // Configuration for <maction> tooltips
  898. // (see also the #MathJax_Tooltip CSS in MathJax/jax/output/SVG/config.js,
  899. // which can be overriden using the styles values above).
  900. //
  901. tooltip: {
  902. delayPost: 600, // milliseconds delay before tooltip is posted after mouseover
  903. delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout
  904. offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position
  905. }
  906. },
  907. //============================================================================
  908. //
  909. // These parameters control the contextual menus that are available on the
  910. // mathematics within the page (provided the showMathMenu value is true above).
  911. //
  912. MathMenu: {
  913. //
  914. // This is the hover delay for the display of submenus in the
  915. // contextual menu. When the mouse is still over a submenu label for
  916. // this long, the menu will appear. (The menu also will appear if you
  917. // click on the label.) It is in milliseconds.
  918. //
  919. delay: 150,
  920. //
  921. // This is the URL for the MathJax Help menu item.
  922. //
  923. helpURL: "http://www.mathjax.org/help-v2/user/",
  924. //
  925. // These control whether the "Math Renderer", "MathPlayer", "Font
  926. // Preferences", "Contextual Menu", and "Discoverable" menu items will
  927. // be displayed or not.
  928. //
  929. showRenderer: true,
  930. showMathPlayer: true,
  931. showFontMenu: false,
  932. showContext: false,
  933. showDiscoverable: false,
  934. //
  935. // These are the settings for the Annotation menu. If the <math> root has
  936. // a <semantics> child that contains one of the following annotation
  937. // formats, the source will be available via the "Show Math As" menu.
  938. // Each format has a list of possible encodings.
  939. //
  940. semanticsAnnotations: {
  941. "TeX": ["TeX", "LaTeX", "application/x-tex"],
  942. "StarMath": ["StarMath 5.0"],
  943. "Maple": ["Maple"],
  944. "ContentMathML": ["MathML-Content", "application/mathml-content+xml"],
  945. "OpenMath": ["OpenMath"]
  946. },
  947. //
  948. // These are the settings for the Show Source window. The initial
  949. // width and height will be reset after the source is shown in an
  950. // attempt to make the window fit the output better.
  951. //
  952. windowSettings: {
  953. status: "no", toolbar: "no", locationbar: "no", menubar: "no",
  954. directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes",
  955. width: 100, height: 50
  956. },
  957. //
  958. // This allows you to change the CSS that controls the menu
  959. // appearance. See the extensions/MathMenu.js file for details
  960. // of the default settings.
  961. //
  962. styles: {}
  963. },
  964. //============================================================================
  965. //
  966. // These parameters control the contextual menus that are available on the
  967. // mathematics within the page (provided the showMathMenu value is true above).
  968. //
  969. MathEvents: {
  970. //
  971. // This is the time required for the mouse to be held still over a
  972. // typeset equation in order for it to count as a hover (used when the
  973. // zoom trigger is "Hover"). It is in milliseconds.
  974. //
  975. hover: 500
  976. },
  977. //============================================================================
  978. //
  979. // These parameters control the MMLorHTML configuration file.
  980. // NOTE: if you add MMLorHTML.js to the config array above,
  981. // you must REMOVE the output jax from the jax array.
  982. //
  983. MMLorHTML: {
  984. //
  985. // The output jax that is to be preferred when both are possible
  986. // (set to "MML" for native MathML, "HTML" for MathJax's HTML-CSS output jax).
  987. //
  988. prefer: {
  989. MSIE: "MML",
  990. Firefox: "HTML",
  991. Opera: "HTML",
  992. Safari: "HTML",
  993. Chrome: "HTML",
  994. other: "HTML"
  995. }
  996. }
  997. });
  998. MathJax.Ajax.loadComplete("[MathJax]/config/default.js");